web-dev-qa-db-ja.com

HSMを使用してKey-Encryption-Keyを処理または管理する方法

2つの暗号化キーについて考えてみましょう。

1.Data-Encryption-Key(DEK)

2.Key-Encryption-Key(KEK)

KEKはHSMに安全に保存され、マスターキーを使用して暗号化されます。データ暗号化キーは、KEKを使用して復号化されます。

上記の概念に基づいて、私の疑問は:

暗号化されたDEKを復号化するためにHSMに送信する必要がありますか、またはKEKを復号化してHSMから取得する必要がありますか?

HSMを使用しながら、キーの暗号化と復号化のプロセスフローを知りたいだけです。

役立つリンクも提供します。

2
RajeshKannan

HSMでデータの暗号化/復号化が行われている場合、KEKはDEKを復号化して暗号化/復号化操作を実行します。すべてのキー管理、キーストレージ、および暗号化はHSM内で行われます。

データの暗号化/復号化がアプリケーションで行われている場合、HSMとインターフェースしてDEKを抽出し、アプリケーションで暗号化を行うことができます。暗号化操作はアプリケーションサーバーで処理されますが、すべてのキー管理とストレージはHSM内に残ります。

アプリケーションでデータの暗号化/復号化が行われていて、アプリケーションがKEKで保護されたDEKを保持している場合、HSMからKEKを取得し、DEKを復号化して暗号化を行うことができます。すべてのキー管理とストレージはHSMとアプリケーション間で処理され、暗号化操作はアプリケーションサーバーで処理されます。

HSMを使用できますが、要件に最適です。

3
AndyMac