高度暗号化規格(AES)は、両端で同じ秘密鍵を使用し、データを固定の128ビットブロック単位で暗号化および復号する対称鍵ブロック暗号です。2001年にNISTによって採用され、米国連邦政府の暗号化規格としてDESに取って代わり、現在では世界中でIPsec、TLS、およびDTLSトンネルのセキュリティを確保するためのデフォルトの暗号として使用されています。
主なポイント
- AESは、暗号化と復号に同じ鍵を使用する対称ブロック暗号です。
- 鍵長は128、192、または256ビットであり、AES-256が最も高いセキュリティマージンを提供します。
- CBCモードには別のハッシュが必要ですが、GCMは暗号化と完全性検証を組み合わせています。
- AESには、現時点で実用上破られる例は知られておらず、その強度は鍵の長さやモードによって決まります。
- VersaのIKE、IPsec、TLS、およびDTLSの各トランスフォームでは、すべてAESベースの暗号方式が提供されています。
このページの内容: その重要性仕組み種類AES およびVersaよくある質問
AESはなぜ重要なのでしょうか?
AESは、現代のインターネットを支える暗号化方式です。VPNトンネル、ディスク暗号化、無線ネットワーク、そしてニッチな暗号方式を使用していないほぼすべてのTLS接続のセキュリティを確保しています。というのも、20年にわたる公開解読の試みにもかかわらず、AESは未だに破られておらず、ほぼすべての最新プロセッサにハードウェアアクセラレーションが組み込まれているため、ラインレートでトラフィックを暗号化するのに十分な速度で動作するからです。
この「実証済みのセキュリティ」と「オーバーヘッドがほぼゼロ」という組み合わせこそが、AESがそれ以前の独自規格や短鍵暗号に取って代わった理由です。AESは、政府の規格や、2000年代半ば以降に策定されたほぼすべてのVPN、無線、TLSの仕様において、必須またはデフォルトとして採用されています。保存中のデータや転送中のデータを何が暗号化しているかと尋ねれば、その答えはたいていAESです。
AESとは何ですか?
AESは対称鍵ブロック暗号であり、同じ秘密鍵を用いて暗号化と復号を行い、データを連続したストリームとしてではなく、固定の128ビットブロック単位で処理します。 内部的には、NISTが公募を通じて選定し、2001年にFIPS 197として標準化したRijndael設計に由来する、置換、順列、混合、および鍵加算の各ステップからなる固定数の変換ラウンドを適用します。
鍵の長さは128、192、または256ビットに設定可能です。鍵が長くなるほど、わずかな計算コストでラウンド数が増加し、探索空間も広がります。 AESは固定サイズのブロックのみを暗号化するため、動作モードによって、より長いメッセージの処理方法や、データの認証を行うかどうかが決まります。これが、アルゴリズムとしての「AES」と、IPsecやTLSなどのプロトコルが実際に設定する変換(例:AES-256-GCM)との違いです。
AESの種類
鍵の長さが強度の決め手となる:AES-128はほとんどの導入環境においてデフォルトとして採用されている。AES-192は実運用ではほとんど使用されていない。AES-256は、わずかなパフォーマンスの低下を伴うものの、高度なセキュリティが求められる環境において余裕を持たせる。
動作モードは、AESがマルチブロックメッセージをどのように処理するかを定義します。CBC(Cipher Block Chaining)は、各ブロックを前のブロックの暗号文に連結し、完全性確保のために個別のハッシュ(通常はSHA)を必要とします。これは、従来のIPsecおよびTLSにおける標準的な組み合わせです。GCM(Galois/Counter Mode)は認証モードであり、1回のパスで暗号化と整合性タグの計算を同時に行います。AESアクセラレーション対応ハードウェア上で高速に動作し、IPsecおよびTLSにおける現代のデフォルトモードとしてCBCに取って代わりました。CTR(Counter Mode)はAESをストリーム暗号として機能させ、一部のIPsec ESPトランスフォームで使用されますが、これもまた別のハッシュ関数と組み合わせて使用されます。 ブロックごとに独立して暗号化する従来のECB(Electronic Codebook)モードは、1ブロックを超える範囲では安全性が確保できないため、新しい構成では使用すべきではありません。
AES &Versa
Versaの「Secure Access Service」設定では、トンネル暗号化が設定されている場所すべてでAESが直接使用されます。 セキュアアクセスサーバーまたはSASE クライアントプロファイルのIKEトランスフォームは、鍵交換チャネルにおいてAES 128ビットまたは256ビット暗号化と、MD5、SHA-1、SHA-256、SHA-384、またはSHA-512のいずれかのハッシュを組み合わせたものであり、実質的には独立したMACを備えたAES-CBCとなります。 IPsec (ESP) トランスフォームでは、トラフィックを伝送するデータプレーン・トンネルに対して、前述の AES-CBC 組み合わせに加え、AES-GCM および AES-CTR モードも提供されます。
また、AESは、セキュアアクセスポータルやSASE クライアントセッション向けに提供されるTLSおよびDTLSの暗号スイートの基盤となっています。例えば、 TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384 AES-256-GCMとECDHE鍵交換、およびSHA-384を組み合わせます。これらの設定は、Secure SD-WAN 、一般的なセキュアアクセス、およびNGFWを前面に配置した展開環境において一貫しています。相手側が対応している場合は、AES-CBCよりもAES-GCMを優先してください。GCMでは個別のハッシュ処理が不要となり、最新のハードウェアではより高いパフォーマンスを発揮するからです。
よくある質問
AES-128とAES-256の違いは何ですか?
AES-128は128ビットの鍵と10ラウンドを採用しており、AES-256は256ビットの鍵と14ラウンドを採用しています。実用上、いずれも未だ解読されていません。AES-128は処理速度が速く、ほとんどの導入環境において十分なセキュリティを提供しますが、AES-256は、高いセキュリティが求められるユースケースにおいて、より大きな安全マージンを確保します。
AES-CBCとAES-GCMの違いは何ですか?
AES-CBCはデータを暗号化しますが、完全性を検証するにはSHAなどの別のハッシュ関数が必要であり、データに対して2回の処理が行われます。一方、AES-GCMは暗号化と完全性検証を1回の処理で統合しているため、最新のハードウェアでは処理速度が速く、新しいIPsecやTLSの導入において推奨されるモードとなっています。
AESはこれまでに破られたことはあるのでしょうか?
どのような鍵長であっても、AES全体を破る実用的な攻撃は存在しません。ラウンド数を削減した変種や欠陥のある実装に対しては理論上の攻撃が存在しますが、20年にわたる公開暗号解析を経てもなお、このアルゴリズムの安全性は保たれています。だからこそ、AESは政府や産業界におけるデフォルトの標準として定着しているのです。
AES-NIとは何ですか?
AES-NIは、ほぼすべての最新プロセッサに搭載されているCPU命令セットであり、ハードウェア上で直接AESの暗号化および復号化を実行します。これにより、AESはソフトウェア実装よりもはるかに高速に動作するため、AES-GCMは目立ったパフォーマンスの低下を招くことなく、ラインレートでトラフィックを暗号化することができます。
AESは対称暗号化ですか、それとも非対称暗号化ですか?
AESは対称暗号です。つまり、暗号化と復号化には同じ秘密鍵が使用されます。これにより処理が高速になりますが、通信の両端で事前に鍵を共有しておく必要があります。IKEのようなプロトコルでは、まずディフィー・ヘルマンや証明書といった非対称方式を用いて共有鍵を確立し、その後、実際のデータの処理にはAESに切り替えます。
AESに関する詳細
さらに詳しく知りたい場合は、私たちが信頼している情報源を以下にご紹介します。
| RFC 3602: AES-CBC 暗号アルゴリズムおよび IPsec におけるその利用 | RFC 4106: IPsec ESP における GCM の使用 |
|---|---|
| AES-CBCがIPsec ESPとどのように統合されるかを定義したIETF仕様書。これには、鍵長や初期化ベクトルなどが含まれる。 | IPsec ESP向けの認証付き暗号化トランスフォームとしてAES-GCMを定義するIETF仕様書。これは、1回の処理で暗号化と完全性検証を組み合わせたものである。 |
関連用語
AESについてお読みなら、次はこれらもぜひチェックしてみてください。
| セキュア・ハッシュ・アルゴリズム | ガロア/カウンターモード | データグラム型トランスポート層セキュリティ |
|---|---|---|
| ハッシュ関数AESは、CBCモードのIPsecやTLSトランスフォームと組み合わせて、個別の完全性チェックを行うために最も頻繁に使用されます。 | AESを、機密性と完全性を同時に提供するシングルパス暗号に変える認証モード。 | TLSと同様に、データチャネル用のAESベースの暗号をネゴシエートする暗号スイートを備えた、UDPベースのトンネルプロトコル。 |