4

次の点について、説明とアドバイスをいただければ幸いです。

私のプロジェクトでは、Nodejs 環境で対称データ暗号化 (AES を使用) を使用して、データベース (mongodb) 上のデータを保護する必要があります。理想的には、次のようにこれを行いたいと思います。

対称キーを Azure Key Vault にキーとして格納し、ボールトに対して "暗号化" 呼び出しを行い、キーを使用してデータに対して AES 暗号化を実行します。暗号化されたデータはアプリへの応答で送信され、暗号化された形式でデータベースに保存されます。

MS Azure のドキュメントと関連するブログ投稿を読んだ後、私は混乱しています。一部のソースでは、対称キー暗号化がサポートされていると主張していますが、これに関する公式ドキュメントはありません。

これが Azure の Key Vault でサポートされているすべてのキーの種類とアルゴリズムの完全なリストであるかどうか、誰かアドバイスできますか? https://msdn.microsoft.com/en-us/library/azure/dn903623.aspx#BKMK_KeyTypes

また、これはオプション ( http://www.nuget.org/packages/Microsoft.Azure.KeyVault.extensions ) のようですが、.NET 上の環境のみです。Nodejsが好きですか?

実際に対称キー/暗号化が現在サポートされていない場合、上記の私のアプローチに代わる手段を誰かが提供できますか?

ありがとうございました。

4

1 に答える 1

6

ドキュメント/ブログがこのトピックについて少し混乱しているように見えることに同意します. 私の理解では、キー コンテナーは現在、対称暗号化をまだサポートしていません。最も近い方法は、対称キーをシークレットとして保存し、vault の外で使用することだと思います。

この記事では、そのようなことについて説明します。見出しが「Key Vault シークレットの使用」であるセクションを参照してください

あなたが node.js を使用していることは理解しています。その例は powershell にあり、シークレットを使用した対称暗号化の例を説明しようとしています。明らかに、暗号操作はボールトの外で行われます。そのため、保管中のキーはより安全ですが、操作が発生するたびにメモリに公開されます。

それが役立つことを願っています。

SymmetricKey として使用できる Key Vault でシークレットを作成する PowerShell の例を次に示します。

SymmetricKey sec = (SymmetricKey) cloudResolver.ResolveKeyAsync(
"https://contosokeyvault.vault.azure.net/secrets/TestSecret2/",
CancellationToken.None).GetAwaiter().GetResult();
于 2016-01-29T14:41:14.220 に答える