4

対称暗号化/復号化に使用する定義済みの平文キーのセットがあります。これらのキーは、PC に接続されたハードウェア デバイスとの暗号化通信に使用されます。CNG キー ストレージ プロバイダーを使用してこれらのキーを安全に保存したいと考えています。暗号化と復号化は、CNG の外部で行う必要があります。必要なのは、定義済みのプレーンテキスト キーを格納する安全な場所と、そこから取得する場所だけです。ここ数日、CNG 関数のリファレンスを調べましたが、名前で識別される平文の対称キーを CNG キー コンテナーにインポート/エクスポートする方法が見つかりませんでした。

CryptoAPI がセッション キーをインポート/エクスポートする機能を提供していることは知っています。しかし、この古い API は永続的な (セッション) キーを提供せず、キー コンテナー内で名前でキーを選択/識別する方法がありません。

どんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1

4

残念ながら、CNG キー ストレージ プロバイダーは現在非対称キーをサポートしていますが、対称キーをサポートしていないため、直接的な解決策を得ることができませんでした。プリミティブ プロバイダーのみが対称キーをサポートします。

このモデルは、非対称鍵を長期的に保護する必要があるものを対象としており、対称鍵は 1 つのセッションでのみ使用され、その後は破棄されます。これらの対称鍵は、Diffie-Hellman や ECDH などの非対称鍵から派生する場合があります。

キーを安全に保存したいが、暗号化/復号化は CNG の外部で行われると言います。防御しようとしている脅威によっては、これが適切なアプローチではない場合があります。通常、キー ストレージ プロバイダーにキーを格納している場合、キー ストレージ プロバイダー内で暗号化操作を実行し、キーを (別のキーによって暗号化された場合を除いて) プロバイダーから離れないようにする必要があります。攻撃者。

ただし、これが確実に必要な場合は、キー ストレージ プロバイダーで RSA キーを生成し、それを使用して対称キーを暗号化および復号化することもできます。暗号化された対称キー ブロブは、ファイル システムなどの別の場所に保存します。

于 2015-01-23T15:25:16.653 に答える