対称暗号化 とは?
対称暗号化は、暗号化と復号の両方に同じ秘密鍵を使用する暗号方式です。送信者と受信者の両方がデータを暗号化・復号するために同一の鍵を持つ必要があります。
別名: symmetric-key encryption, shared-key encryption, secret-key encryption
対称暗号化は最も古く最も直感的な暗号形式です。同じ鍵でデータをロック・アンロックします。AES のような現代の対称アルゴリズムは非常に高速で、ハードウェアアクセラレーションにより 1 秒あたり数ギガバイトを暗号化でき、適切な鍵長と動作モードで使用した場合に強力なセキュリティ保証を提供します。
対称暗号化の主な課題は鍵配送です。盗聴者に傍受されることなく、意図した受信者に秘密鍵を安全に共有するにはどうすればよいのか。これは鍵配送問題として知られており、非対称(公開鍵)暗号の発明を促しました。実際には、ハイブリッドシステムが非対称暗号を使って対称鍵を交換し、その対称鍵でバルクデータの実際の暗号化を行います。
対称暗号アルゴリズムは、ブロック暗号(AES のような固定サイズのデータブロックを暗号化するもの)またはストリーム暗号(1 ビットまたは 1 バイトずつデータを暗号化するもの)に分類されます。GCM モードの AES は事実上、ブロック暗号の上に構築されたストリーム暗号として動作し、AES のセキュリティと Galois/Counter Mode の柔軟性および認証を組み合わせています。
Vaulted における 対称暗号化 の使われ方
Vaulted は対称暗号化のみを使用します。具体的には AES-256-GCM です。各シークレットに対してブラウザでランダムな対称鍵が生成されます。鍵配送問題は、共有可能なリンクの URL フラグメントに鍵を埋め込むことで解決されます。送信者がリンクを共有し、受信者はそれを受け取ることで復号に必要な対称鍵を持ちます。リンク自体が鍵配送メカニズムであるため、非対称暗号や鍵交換プロトコルは必要ありません。