次の方法で共有


スマート カード ミニドライバー

スマート カード ミニドライバーは、カード ミニドライバーの開発者から複雑な暗号化操作の大部分をカプセル化することで、従来の暗号化サービス プロバイダー (CSP) の開発に対するより簡単な代替手段を提供します。

スマート カード ミニドライバーの仕様については、スマート カード ミニドライバーの仕様に関するページを参照してください。

Windows Vista 以降、アプリケーションでは、スマート カードベースの暗号化サービスとして Microsoft Cryptography API: Next Generation (CNG) を使用できます。 Windows Vista で導入された楕円曲線暗号 (ECC) の取り組みの一環として、ECC スマート カードは新しい暗号化フレームワークの中でサポートされます。 従来の CAPI サブシステムを介して既存の Rivest-Shamir-Adleman (RSA) カード ミニドライバーと対話するアプリケーションやインターフェイスは、引き続き変更なしで動作します。

RSA スマート カード ミニドライバーは、CNG インターフェイスを介して呼び出すことができるように、スマート カード キー記憶域プロバイダー (KSP) に登録することもできます。 デュアルモード ECC/RSA 要求と ECC 専用要求は、KSP を経由して適切なカード ミニドライバーにルーティングされます。 Windows Vista ベースのクライアントの場合、ECC 専用モードと ECC/RSA デュアルモードのカードは、Windows スマート カード フレームワークを使用してサポートされています。 デュアルモードのカードには、主に RSA 専用機能を公開する CAPI を介してアクセスすることもできます。

アプリケーションは、スマート カードベースの暗号化サービスに CAPI を使用します。 次に CAPI は、これらの要求を該当する CSP にルーティングし、暗号化要件を処理します。

Microsoft Smart Card Base CSP および KSP は、カード ベンダーごとに変更が必要な実装の詳細から、一般的に必要とされる CAPI ベースの CSP 機能と CNG ベースの KSP 機能をそれぞれ切り離す改良版のアーキテクチャです。

Base CSP はミニドライバーを使用することによってのみスマート カードの RSA 機能を使用できますが、CNG ベースの KSP は、Windows Vista 以降のバージョンの Windows では ECC 専用モードだけでなく ECC/RSA デュアルモードのスマート カードもサポートします。

最終的には、新しいアーキテクチャがすべての新しいスマート カード (RSA、ECC やこれに続くものなど) をサポートすることを目指しています。 CSP の実装は、次の 2 つの部分に分割されます。

  • Base CSP/KSP (共通部分) には、個人識別番号 (PIN) のエントリとキャッシュに加えて、ハッシュ キー、対称キー、公開キーの暗号化操作を行う機能が含まれます。
  • "カード ミニドライバー" と呼ばれる一連のプラグインは、特定のスマート カードの特性を、すべてのスマート カードに対応する同じ統一されたインターフェイスに変換します。 カード ミニドライバーは、スマート カード リソース マネージャー (SCRM) のサービスを使用して、さまざまなスマート カード リーダーの特性を同様に抽象化することで、カードと通信します。

スマート カード ベンダーに残された部分は、カード ミニドライバー、Base CSP/KSP にカードの抽象化を提供し、ファイル システムとして構成される合理的に制限されたインターフェイス レイヤー、および一連のプリミティブ機能を実装することです。 キャッシュ (カード上の異なるファイルに一貫性のあるコンテンツがあることを確認する) や名前付けの競合の処理といった上位の機能は、カード ミニドライバーの外部の、より高いレベルで処理されます。

次の図は、カード ミニドライバーと CAPI ベースのアプリケーションの間のインターフェイスを示しています。

interfaces between card minidrivers and capi-based applications.

次の図は、カード ミニドライバーと CAPI2 ベースのアプリケーションの間のインターフェイスを示しています。

interfaces between card minidrivers and capi2-based applications.

開発者は、ミニドライバーが実行する暗号化操作用に Microsoft から提供されている豊富なライブラリ セットを利用することをお勧めします。 これにより、開発者は、重要なセキュリティ更新プログラムの配布に Microsoft Windows Update インフラストラクチャを利用できます。