web-dev-qa-db-ja.com

Azure Key Vaultのキーとシークレットの違いは何ですか?

知るのは素晴らしいことです

  • 彼らは何ですか、
  • 彼らは何のために使われますか
  • なぜ一方が他方を好むのか。
27
Bohdan

非常に簡単な答え:

キー

JWK(JSON Web Key)として表される暗号化キー

例:公開鍵と秘密鍵のペアを含む.pfx証明書ファイルを保存します

秘密

KVは任意の値を受け入れ、バイナリとして保存します(最大サイズの制限があります)

例:パスワードまたはAPIキー


参考文献

30
Bishoy

Key Vaultキー:

Azure Key Vaultのキーは、秘密キーをコンシューマー(ユーザー\サービス)にリリースせずに情報を暗号化するために使用される「暗号化キー」です。 RSA algotithm を使用してコンテンツを暗号化および復号化するブラックボックスのように機能します。

RSAアルゴリズムには、公開鍵と秘密鍵が含まれます。公開鍵は誰でも知ることができます。メッセージの暗号化に使用されます。公開鍵を使用して暗号化されたメッセージは、秘密鍵でのみ復号化できます。

シナリオ:

顧客CreditCardを保存する必要があると仮定します。DBに保存する安全な方法は、それを暗号化して保存することです。ほとんどの場合、ソフトウェア構成の一部として保存されている暗号化キーを保護する方法は気にしません。攻撃者または従業員がキーにアクセスできる場合、情報はもはや安全ではありません。

Key Vaultキーを使用して、CreditCard情報をKeyVaultに送信すると、情報が暗号化され、暗号化された値が発信者に返されます。高パフォーマンスのシナリオでは、KeyVaultから公開キーを取得し、それを使用してアプリケーション側から情報を暗号化し、KVにデータを送信せずに既に暗号化されたDBに保存できます。実際のデータを取得する唯一の方法は、暗号化されたデータをKVに送信し、そこで復号化されたCreditCardを返すことです。

鍵保管庫の秘密

Azure Key Vaultのシークレットは、それぞれ最大サイズが25kbのオクテットシーケンスです。格納されているデータ型を気にしないため、オクテットとして記述されます。唯一の制限は25kbのサイズです。データを送信すると、暗号化されて保存され、許可がある場合はいつでも取得できます。アプリケーション設定、トークン、および接続文字列、パスワードなどをデータベース化するかどうかなどの情報を保存するために使用されます。

Key Vault Secretsの良い面は、Expiration/NotBefore値を定義する定義済みの回転値を使用できることです。したがって、指定された期間にローテーションされる一時的な値を登録できます。リーダーはGet権限でKey Vaultにアクセスできますが、現在の値のみを読み取ることができますが、将来の値は既に定義されており、操作を取得します。

18
Diego Mendes