暗号化プロバイダーの種類

暗号化の分野は大きく成長しています。 さまざまな標準データ形式とプロトコルがあります。 これらは一般的にグループまたはファミリに編成され、それぞれに独自のデータ形式のセットと操作方法があります。 2 つのファミリが同じアルゴリズム (たとえば、RC2 block 暗号) を使用する場合でも、多くの場合、異なる パディング スキーム、異なるキーの長さ、および異なる既定のモードが使用されます。 CryptoAPI は、CSP プロバイダーの種類が特定のファミリを表すよう設計されています。

アプリケーションが特定の種類の CSP に接続すると、各 CryptoAPI 関数は、既定では、その CSP の種類に対応するファミリによって規定された方法で動作します。 アプリケーションのプロバイダーの種類を選択すると、次の項目が指定されます。

アイテム 説明
キー交換アルゴリズム 各プロバイダーの種類では、1 つだけのキー交換アルゴリズムを指定します。 特定の種類のすべての CSP がこのアルゴリズムを実装する必要があります。 アプリケーションは、適切なプロバイダーの種類の CSP を選択して、使用するキー交換アルゴリズムを指定します。
デジタル署名アルゴリズム 各プロバイダーの種類は、デジタル署名アルゴリズムを 1 つだけ指定します。 特定の種類のすべての CSP がこのアルゴリズムを実装する必要があります。 アプリケーションは、適切なプロバイダーの種類の CSP を選択して、使用するデジタル署名アルゴリズムを指定します。
キー BLOB 形式 入力の種類によって、キー BLOB の形式が決まります。キー BLOBは、CSP からキーをエクスポートし、CSP にキーをインポートするために使用されます。
デジタル署名形式 プロバイダーの種類によって、デジタル署名の形式が決定します。 これにより、特定のプロバイダーの種類の CSP によって生成された署名を、同じプロバイダーの種類の任意の CSP によって検証できるようになります。
セッション キー派生スキーム プロバイダーの種類は、ハッシュからセッション キーを派生させるために使用されるメソッドを決定します。
キーの長さ 一部のプロバイダーの種類では、公開/秘密キーのペアの長さとセッション キーが指定されます。
既定モード プロバイダーの種類では、多くの場合、ブロック暗号化の暗号化モードまたはブロック暗号化パディング メソッドなど、さまざまなオプションの既定のモードが指定されます。

 

一部の高度なアプリケーションは一度に複数の CSP に接続できますが、ほとんどのアプリケーションでは通常、1 つの CSP のみを使用します。

現在、定義済みのプロバイダーの種類は多数あります。 次のセクションでは、以下のプロバイダーの種類に関する情報を提供しています。

一部の CSP の種類は他の CSP と部分的に互換性がある場合がありますが、キーと暗号化されたメッセージを交換する必要がある 2 つ以上のアプリケーションでは、同じ種類の CSP を使用する必要があります。

カスタム CSP ライターでは、新しいプロバイダーの種類を定義できます。 ただし、CSP ライターは、新しいプロバイダーの種類を使用するすべてのアプリケーションの作成者に配布する役割を担うことになります。 カスタム CSP の作成の詳細については、「暗号化サービス プロバイダー」を参照してください。