AES暗号化とその仕組みとは?2025年も本当に最強?

発行日: 2025年1月13日
ファクトチェッカー:Kate Davidson
アナ・ヨヴァノヴィッチ アナ・ヨヴァノヴィッチ
発行日: 2025年1月13日 編集者
ファクトチェッカー:Kate Davidson

AES暗号化はデジタル情報を守る手段として非常に信頼されています。厳しい選択プロセスを経て2001年にアメリカ政府が初めて導入して以来、AES(Advanced Encryption Standard:高度暗号化標準)はスピード、信頼性、セキュリティの面で世界的な基準となっています。

AES暗号化は機密データを窃取や改ざんから守るのに不可欠な存在です。安全性があまりにも高いため、最速のスーパーコンピュータを使って力ずくで解読しようとしても数十億年かかると言われています。他の暗号化より強度がはるかに高く、オンラインバンキングから政府のファイルの保護まで、幅広い場面でサイバーセキュリティの土台となっています。

AES暗号化は私たちが日常的に使う製品にも導入されています。例えば、1PasswordなどのパスワードマネージャーやExpressVPNなどの仮想プライベートネットワーク(VPN)はパスワードや金融情報、プライベートメッセージの安全を守るためにAESを採用しています。では、今日のデジタル社会においてAES暗号化が不可欠な理由を見ていきましょう。

編集者から:ExpressVPNおよび当サイトは同じ企業グループに属しています。

AES暗号化の仕組みは?

AES暗号化は、データを意味不明な文字列に変換し、正しい鍵がなければ元のデータを読み取れないようにします。複雑な処理を数回繰り返し、その過程で暗号化されたデータを復号するのがどんどん困難になっていきます。

AESの仕組みをステップごとに説明します。

ステップ1. データをブロックに分ける。AESではデータを128ビットのブロックで処理します。入力データが128ビットより大きい場合、128ビット単位で区切ります。最後のブロックが128ビットより小さい場合は128ビットになるようにパディングが追加されます。

AES暗号化の仕組みは?

ステップ2. 鍵を拡張する。鍵スケジュールに従って最初のAES鍵(鍵の長さは128、192、256ビットのいずれか)が複数の鍵に拡張されます。拡張された鍵は暗号化プロセスの各ラウンドで使用されるため、ラウンド鍵と呼ばれます。この例では、「conservationists」をラウンド鍵として使うことにします。

ステップ3. ラウンド鍵を追加する。AES暗号化の最初のラウンドでは、「XOR」というブーリアン代数演算を用いて、最初のデータブロックと最初のラウンド鍵を組み合わせます。XORは「Exclusive Or」の頭文字を取ったもので、日本語では「排他的論理和」と言います。XOR演算では、2つの入力値が異なる場合のみ「真」が出力されます。

AES暗号化の仕組みは?

ステップ4. バイト変換。このステップでは、Rijndael Sボックス(substitution box)という固定されたルックアップテーブルを使ってデータの各バイトを別のバイトに置き換えます。

AES暗号化の仕組みは?

ステップ5. 行をシフトする。データ行列の行をずらします。1行目はそのまま、2行目は1つ、3行目は2つ、4行目は3つだけ位置をずらします。

AES暗号化の仕組みは?

ステップ6. 列を混合する。データ行列の各列を混合します。この処理は、有限体(ガロア域)のなかで行列の乗法を通して行われます。

ステップ7. ラウンド鍵をもう一度追加する。データを混合した後、XOR演算をもう一度行うことでデータにラウンド鍵を再度追加します(ステップ3と同じです)。このときのラウンド鍵は最初のラウンド鍵とは異なります。

ステップ8. 上記ステップを数回繰り返す。AES-128の場合、このプロセス(ステップ4~7)を9回繰り返します。同様に、AES-192では11回、AES-256では13回繰り返します。最終ラウンドでは列の混合(ステップ6)をスキップしますが、ほかの処理は同じように行われます。

AES鍵長

AES暗号化において、暗号鍵の長さは3つあり、それぞれセキュリティレベルが異なります。128-bitでは鍵の組み合わせが数十億個ありますが、192-bit鍵はそれより多く、256-bit鍵は莫大な数の組み合わせがあるため、解読は実質的に不可能です。

最強なのはAES-256ですが、コンピュータのリソース(電力や処理能力)を多く必要とし、バッテリーや暗号化の所要時間がいくらか影響を受けます。しかし、必要なリソースはAES-128と大差ないため、パスワードマネージャーVPNなど多くのサイバーセキュリティツールはより安全なAES-256を採用しています。また、128-bit AESを使用している製品もありますが、この暗号化も非常に安全で、これまでに解読されたことはありません。

AESの復号

暗号文を復号する処理は暗号化処理の逆です。まず、XOR演算を用いて最後のラウンド鍵を暗号文に適用し、行のシフト、バイト変換、列の混合などの各ステップを逆順に行っていきます。鍵の拡張も逆順に適用されます。各ラウンドで拡張済みの鍵を使ってデータを元の状態に変換するわけです。

AESの復号において、ラウンド数は暗号化のときと同じですが、処理は逆の順番で行われます。AES-128、AES-192、AES-256のいずれもプロセスを指定された回数繰り返し、最後のラウンドで列の混合は飛ばします。

すべてのラウンドが完了すると元の平文データが出力されます。正しい復号鍵を使えば無意味な暗号文を元に戻せるわけです。正しい鍵がなければ暗号化された情報をアンロックできませんから、データの安全を保てるのです。

AES暗号化の利用目的

サイバーセキュリティにおいて、AES暗号化は機密データを守るために広く使用されています。ここでは、AES暗号化の主な応用シーンを紹介します。

  • VPN:一流VPNは256-bit AES暗号化を用いてインターネット通信を保護し、公共Wi-Fiを利用する際にハッカーがデータを傍受できないようにします。こうすることで、パスワードやメール、金融情報などの機密情報を不正アクセスから守るわけです。
  • パスワードマネージャー:Dashlaneをはじめとするパスワードマネージャーは256-bit AES暗号化を用いてログイン情報を安全に保存、保護しています。AESの仕組み上、保存されたパスワードを復号してアクセスできるのは正しいマスターパスワードを知っているあなただけですから、セキュリティが強化されます。
  • オンラインバンキング:取引を行う際、銀行などの金融機関はAESを用いて機密情報を暗号化し、個人情報や支払いに関するデータが公開されないようにします。AESは口座への不正アクセスを防ぎ、なりすましや詐欺などからあなたを守ります。
  • 政府機関の通信。AESは、機密情報を防御し、安全にコミュニケーションを取るために世界各国の政府によって導入されています。AESは強度が高いことから、国の安全に関するデータを守ったり、高度なサイバー攻撃による不正アクセスを防いだりするために応用されているのです。
  • メールの暗号化:多くのメールサービスはAES暗号化を使ってメールの内容を保護し、送受信の際にプライベートなメッセージが傍受されないようにします。覗き見を防ぎ、意図した相手しかメッセージを読めないようにしているわけです。
  • ファイルの暗号化:AESはファイルやドキュメントを暗号化するために広く使用されています。デバイス上のファイルはもちろん、ファイルを転送する際もAESが活躍します。契約書や法的文書、個人情報などの機密ファイルを不正アクセスから守ります。
  • クラウドストレージ:クラウドサービス事業者はクラウドに保存されたファイルを守るためにAES暗号化を使用しています。写真、業務文書、バックアップなどを保存する際、デバイスから送信される前にAESでデータを暗号化することで漏えいや盗取を防いでいるわけです。
  • モバイルデバイス:スマホやタブレットでは、連絡先やメッセージ、アプリデータなどのユーザーデータを守るためにAES暗号化が使用されることが多いです。万一デバイスを失くしたり盗まれたりしても個人情報は保護され、他人が機密データに不正アクセスすることはできません。

AESとDES(Data Encryption Standard:データ暗号化標準)の違い

旧式のDESと比べ、AESのほうがはるかに強力で安全です。主な違いのひとつは鍵長で、AESは128、192、256ビットの鍵長に対応していますが、DESの鍵は56ビットのみとなっています。DESの鍵は短いためモダンなパソコンなら簡単に解読できてしまいますが、AESは解読が困難です。

また、AESのほうが高速で効率良くデータを暗号化します。DESではデータを64ビットのブロックで処理しますが、AESでは128ビットで処理するため、大量の情報をより効率的に処理できるのです。

現在、AESは安全な暗号化の標準として世界中で使用されています。安全なインターネット通信のために使われていたSecure Sockets Layer(SSL)が衰退し、Transport Layer Security(TLS)が普及したのと同じですね。

AESとRSAの違い

AESとRSAはどちらも人気のある暗号方式ですが、仕組みと利用目的が異なります。AESは暗号化と復号に同じ鍵を使う「対称暗号方式」です。高速で効率が良いため、ファイルや通信などの大量のデータを暗号化する際に使われることが多いです。

一方、RSA(Rivest–Shamir–Adleman)は2つの鍵を使う「非対称暗号方式」です。暗号化には公開鍵を、復号には秘密鍵を使います。処理速度はAESより遅いものの、RSAは鍵を安全に交換したり、デジタル署名を作成したりするなど、送信者の本人確認が必要な場面で役立ちます。多くの場合、AESとRSAは一緒に使います。RSAでAES鍵を暗号化し、AES鍵を使ってデータを暗号化する流れです。このように組み合わせることで、安全な鍵交換と効率の良いデータ暗号化が可能になるのです。

AES暗号化の弱点

AESは安全性の高い暗号方式ですが、デメリットもあります。1つはパフォーマンスです。強度の高い暗号方式(AES-256など)を行うには処理能力を多く必要とするため、スマホやIoT端末のようにリソースの少ないデバイスでは動作が重くなる可能性があります。例えば、古いスマホで暗号化を多用するアプリを使うと、動作が極端に遅くなるかもしれません。

もう1つの課題は鍵の管理です。AESの安全性は暗号鍵がどれだけ適切に保存・保護されているかに左右されます。データ漏えいなどで鍵が盗まれたり紛失したりすると、暗号化はいとも簡単に回避できてしまいます。例えば、セキュリティ対策が不十分なデバイスに攻撃者が侵入し、鍵の保管場所にアクセスした場合、機密データを解読される恐れがあるのです。

また、AESはサイドチャネル攻撃に弱い場合があります。「サイドチャネル攻撃」とは、ソフトウェアの脆弱性を直接狙うのではなく、タイミング情報、電力消費、周囲に漏れ出る電磁放射線、音声電波など、システムの物理的または動作的な特性を分析して抽出した機密情報を悪用するサイバーセキュリティ攻撃です。

つまり、AESアルゴリズム自体は安全でも、攻撃者はシステムが暗号化を処理する仕組みに存在する弱点を突くことができるわけです。例えば、消費電力やタイミングの差異から鍵に関する情報が分かってしまう場合があります。AESが導入されて以来、暗号化処理を行うときの電力消費パターンを監視することで攻撃者はAES鍵を推測できることが多くのサイバーセキュリティ研究者によって実証されています。

最後に、AESを正しく実装しないと脆弱性が生まれる可能性があります。AESは強力なアルゴリズムですが、弱い鍵や欠陥のある暗号化ルーチンを使うなど、設定を間違えてしまうと、攻撃者は暗号化を回避できます。例えば、ハードコードされた鍵を使ったり、鍵を適切にランダム化しなかったりするとシステムが攻撃を受けやすくなります。

よくある質問

当社は、当サイトに掲載されている製品の提供企業から報酬を受け取っており、一部製品は当社の親会社が共同所有しているものです。これらの要因は、ランキングと製品の表示方法に影響します。 
詳しくはこちら
著者について
アナ・ヨヴァノヴィッチ
発行日: 2025年1月13日

著者について

SafetyDetectivesの編集者。編集、校正、事実確認、書き直しなどを行っています。10年近く前から多数のサイトでさまざまな話題のコンテンツを扱ってきました。セキュリティソフトやVPN、ペアレンタルコントロール、パスワード管理ツールの専門サイトも2つ担当しています。SafetyDetectiveに入社する前は、サイバーセキュリティや金融、ITなどのニッチのSEOコンテンツ編集長として活躍していました。活字メディア・書籍出版業界で編集者・翻訳者として働いた経験もあります。プライベートでは、読書や料理、植物を育てることが趣味で、自宅には100以上の植物があるそうです。

コメントする