logo hsb.horse
← 用語集一覧に戻る

Glossary

エンベロープ暗号化(Envelope Encryption)

エンベロープ暗号化は、データ本体をDEKで暗号化し、DEK自体をKEKで暗号化する二段階方式。鍵管理とローテーション効率を高める。

公開日: 更新日:

エンベロープ暗号化は、データを暗号化する鍵(DEK)と、
そのDEKを暗号化する鍵(KEK)を分離する二段階の暗号化方式。

用語

  • DEK(Data Encryption Key): データ本体を暗号化する鍵
  • KEK(Key Encryption Key): DEKを暗号化する鍵(KMSで管理する鍵など)

基本フロー

保存時

  1. DEKを生成
  2. DEKでデータ本体を暗号化
  3. KEKでDEKを暗号化
  4. 保存
    1. 暗号化済みデータ本体
    2. 暗号化済みDEK

参照時

  1. 暗号化済みデータ本体と暗号化済みDEKを取得
  2. KEKでDEKを復号
  3. DEKでデータ本体を復号

鍵ローテーションで有利な点

データ本体を直接KEKで暗号化していると、KEK更新時に大量データの再暗号化が必要になる。
エンベロープ暗号化なら、主に暗号化済みDEKの扱いで更新を進められるため負荷を抑えやすい。

大規模運用では、既存データを一括で再処理せず、新規書き込みから新KEKへ切り替える
遅延ローテーション(段階移行)を採ることが多い。