認証付き暗号 – AES-GCMによるデータ保護
標準化された方式で機密性と完全性を同時に満たす
はじめに
データの暗号化は現代ITの基盤である。しかし暗号化だけでは不十分である。機密性に加え、データが改ざんされないことも保証する必要がある。
そのため現代の暗号方式では、暗号化と完全性保護を一つのアルゴリズムにまとめる。これを認証付き暗号(authenticated encryption)という。
広く使われている代表例がAES-GCMである。
機密性と完全性
従来の暗号は主に機密性のみを守る。攻撃者は暗号文を改ざんできる。例えば次のような操作が可能である。
- ビットの反転
- ブロックの入れ替え
- データの付加
システムがその変化を検知できなければ、重大な結果を招く。
認証付き暗号
認証付き暗号は次の二つを組み合わせる。
- ペイロードの暗号化
- 完全性の検証
その結果として認証タグが得られる。タグが正しくなければ復号は拒否される。
AES – 対称暗号の標準
AES(Advanced Encryption Standard)は現在最も重要なブロック暗号である。NISTにより標準化され、多くの用途で使われている。
- TLS
- VPN
- ディスク暗号化
- 安全なストレージ
AESは128ビットのブロック長と複数の鍵長を持つ。最も一般的なのはAES-256である。
数値で見るAESの強度
AESの安全性は鍵長に依存する。特にAES-256が重要である。
AES-256の鍵は次の通りである。
- 2256通りの取りうる値
- およそ1.16 × 1077通りの鍵
比較のため、極めて高速な計算機が毎秒1兆(1012)個の鍵を試せたとしても、総当たりに要する時間は約3.6 × 1057年程度のオーダーである。
宇宙の年齢は約138億年(1.38 × 1010年)である。したがってAES-256への総当たり攻撃は実質不可能である。
ではリスクはどこにあるか
実務ではAESは計算力で破られるのではなく、利用や実装の誤りで破られる。
典型的な弱点は次のとおりである。
- ノンスの再利用(AES-GCMでは特に致命的)
- 弱い鍵や不適切な鍵生成
- 不安全な実装
- サイドチャネル攻撃(タイミング、消費電力解析など)
- 認証付き暗号の誤用
AES-GCMでは特に:ノンスを再利用すると安全性が崩壊する。
量子コンピュータの影響
量子コンピュータがAESを脅かすかという問いに対し、Groverの算法により実効的なビット強度はおおよそ半分になる。AES-256は理想的な量子攻撃者に対してAES-128程度の強度に相当する、とみなせる。
結論:実装が正しければ、AES-256は量子時代においても実用上十分安全とみなされる。
なぜAES-GCMが標準か
AES単体は機密性のみを保つ。AES-GCMはさらに次を提供する。
- 改ざん対策(認証タグ)
- 正しく使えばリプレイや偽造への耐性
そのためAES-GCMは次のような場面で使われる。
- HTTPS(TLS 1.2 / 1.3)
- VPN
- クラウドストレージ
- 現代的なAPI
Galois/Counterモード(GCM)
GCMはAESのモードであり、二つの要素を組み合わせる。
- カウンタモード:AESを高速なストリーム暗号に近い形で使う。
- ガロア体上の認証:ガロア体上の演算で完全性を検証する。
結果として128ビットの認証タグが得られる。
追加認証データ(AAD)
AES-GCMはAADを扱える。暗号化されないが完全性検証には含まれる。
典型例は次のとおりである。
- メタデータ
- プロトコル情報
- ヘッダ
これらが改ざんされれば認証は失敗する。
AES-GCMの利点
- 高速
- 並列化しやすい
- 完全性保護が一体化している
- 標準実装が豊富
そのため多くの現代プロトコルで採用されている。
用途
認証付き暗号は多くのシステムで使われている。
- 安全なストレージ
- クラウドストレージ
- パスワードマネージャ
- 通信プロトコル
まとめ
AESは暗号学的に非常に強い。実際の攻撃の多くは実装ミスや誤用を狙う。ノンスと鍵を正しく扱えばAES-GCMは安全である。
AES-GCMは機密性と完全性を同時に満たす強力な方式である。AES暗号化と数学的認証の組み合わせは、現代アプリケーションにとって堅牢なセキュリティ設計となる。
一言で:問題になりやすいのはAESそのものではなく、使い方である。
著者: Ruedi von Kryentech
作成: 2026年4月6日 · 最終更新: 2026年4月6日
最終更新時点の技術的内容。