ネットワークセキュリティ
 Computer >> コンピューター >  >> ネットワーキング >> ネットワークセキュリティ

CPA攻撃(選択平文攻撃)とは?ネットワークセキュリティにおける暗号解読攻撃の基礎知識

CPA攻撃(選択平文攻撃)とは

CPA攻撃(Chosen Plaintext Attack:選択平文攻撃)とは、攻撃者が任意の平文を自由に選択し、それが暗号化された結果として得られる暗号文を観察できる状況で行われる暗号解読攻撃です。攻撃者はこの手法を通じて、暗号方式の安全性を損なう秘密情報の獲得を目指します。

本記事では、CPA攻撃の仕組みや定義、類似する攻撃手法との違い、そしてAESやDESといった具体的な暗号方式への影響について詳しく解説します。

CPAセキュリティとCCAセキュリティの違い

CPA攻撃では、攻撃者は自分で選んだ平文をオラクル(暗号化装置)に送り、返ってくる暗号文を受け取ります。一方、CCA攻撃(選択暗号文攻撃)では、攻撃者が自分で用意した暗号文をオラクルに送信し、何らかの平文を取得しようとします。つまり、両者の違いは「平文を渡すか」「暗号文を渡すか」という点にあります。

選択平文攻撃の仕組み

選択平文攻撃では、攻撃者はランダムにペアとなる平文を選んで暗号化させ、それらに対応する暗号文を入手できます。この情報をもとに、攻撃者は暗号スキームの安全性を低下させる秘密情報を推測しようとします。

選択平文攻撃の定義

これは、攻撃者が任意の平文Pを選択し、その対応する暗号文Cを閲覧できるという特殊なタイプの攻撃です。攻撃の基本原則は、事前に考え込みすぎないこととされます。攻撃前に深く考えすぎると、成功の可能性が下がるためです。

既知平文攻撃と選択平文攻撃の違い

既知平文攻撃(Known Plaintext Attack)では、攻撃者は平文とそれに対応する暗号文の両方をすでに知っている状態で攻撃を行います。一方、選択平文攻撃では、攻撃者自身が選んだメッセージをターゲットの鍵で暗号化してもらい、その結果得られる暗号文を読み取ることができます。後者の方が攻撃者にとって有利な立場にあると言えます。

既知平文攻撃の仕組み

既知平文攻撃は、既知の平文と暗号文のペアを利用して、特定メッセージの暗号文を解読したり、秘密鍵を推測したり、あるいは将来のあらゆるメッセージを復号できるアルゴリズムを開発することを目的とします。

線形暗号解読との関係

既知平文を用いた線形暗号解読(Linear Cryptanalysis)は、現代暗号学において標準的な手法とされています。攻撃者は、平文・暗号文・秘密鍵の間に存在する確率的な線形関係(線形近似と呼ばれる)を分析することで、平文へのアクセスを得ようとします。

暗号解読攻撃(クリプトアナリシス)とは

暗号攻撃とは、コード、暗号、暗号プロトコル、鍵管理システムなどに存在する弱点を特定することで、暗号システムのセキュリティを回避する手法の総称です。この一連のプロセスは暗号解読(Cryptanalysis)と呼ばれます。

差分暗号解読法

差分暗号解読法(Differential Cryptanalysis)は、ブロック暗号に対する代表的な選択平文攻撃です。単一の平文ではなく平文のペアを評価することで、解析者は異なる種類のデータに対してアルゴリズムがどのように振る舞うかを推測できます。

選択平文攻撃の具体例

現代暗号における選択平文攻撃の典型例としては、前述の差分暗号解読法やキーフレーズリストの利用などが挙げられます。また、テキストのペアを扱う際に、選択平文攻撃から既知平文攻撃へ変換できる数少ない手法の一つでもあります。

CCAセキュリティとは

CCA(選択暗号文攻撃)は、暗号解読者が情報を収集する目的で、自ら選んだ暗号文を復号させる2種類の暗号解読攻撃を指します。選択暗号文攻撃に対する安全性は、Michael LubyやMihir Bellareらによって形式化されました。

CCAセキュリティはCPAセキュリティを含意するか

結論から言えば、含意します。より強い定義での安全性は、弱い定義での安全性を必然的に保証します。具体的には以下の通りです。

  • IND-CCA1安全な方式は、IND-CPA安全でもある
  • IND-CCA2安全な方式は、IND-CCA1およびIND-CPAの両方で安全である

つまり、最も強力な安全性の定義はIND-CCA2であると言えます。

AESとCPA耐性

AESはIND-CPA安全か

AESをCBCモードのようにランダムなIVと組み合わせて使用する場合、あるいはCTRモードのように一意のノンスを使用する構成であれば、一般的にCPA耐性があると見なされています。なお、鍵長は調整可能な要素ではなく、各モードには固有の鍵サイズが定められています。

サイドチャネル攻撃としてのCPA

注意が必要なのは、「CPA」には別の意味もあるという点です。相関電力分析(Correlation Power Analysis:CPA)と呼ばれるサイドチャネル攻撃(SCA)では、攻撃者はチップの電源電流のシグネチャや電磁波(EM)の放出を検出することで、AESなどの暗号回路に埋め込まれた鍵の値を解読できる可能性があります。

平文(プレーンテキスト)とは

平文とは、暗号アルゴリズムに入力される暗号化されていない情報のことです。通常、暗号化アルゴリズムに入力される前の未処理データを指します。また「クリアテキスト(in clear)」という用語は、暗号化せずに送信または保存されている情報を意味することが一般的です。

DESに対する既知平文攻撃

DESは平文を用いてデータを暗号化する暗号アルゴリズムです。ひとつのDES鍵で暗号化した後に、別の鍵で再度暗号化する処理に関連する攻撃が知られています。しかし、複数のDES鍵を使用しても、単一の鍵を使う場合と比べて安全性が実質的に向上しないケースがあります。これに関連するのが、攻撃者が中間に位置するミーティング・イン・ザ・ミドル攻撃と呼ばれる手法です。

まとめ

CPA攻撃は、攻撃者が平文の選択権を持つという強力な前提条件のもとで行われる暗号解読攻撃です。CCA攻撃との違い、既知平文攻撃との比較、そして実際の暗号方式(AES・DES)への影響を理解することは、安全な暗号設計と運用において不可欠な知識となります。特に、IND-CCA2レベルの安全性を備えた暗号方式を採用することが、現代のネットワークセキュリティでは推奨されています。

  1. ネットワークセキュリティにおけるマスカレード(なりすまし)攻撃とは?仕組み・事例・対策を徹底解説

    マスカレード(Masquerade)とは何か「マスカレード」とは、直訳すると「仮面舞踏会」や「変装」を意味する言葉ですが、ネットワークセキュリティの分野では「正規のユーザーやシステムになりすます攻撃手法」を指します。日本語では「なりすまし攻撃」「偽装攻撃」などとも呼ばれます。日常的な意味では、誰か別人のふりをして振る舞うことを指し、例えば親切で優しい人物を装って周囲に印象を与えるような行為もマスカレードの一種と言えます。しかし、サイバーセキュリティの文脈では、この「別人になること」が悪意を持って利用されるのです。マスカレード攻撃の仕組みマスカレード攻撃では、攻撃者が正規のユーザーや信頼できる情

  2. ネットワークセキュリティにおけるテールゲーティングとは?手口と事例を徹底解説

    テールゲーティング(Tailgating)は、物理的セキュリティにおける代表的なソーシャルエンジニアリング攻撃の一つです。不正な人物が、正当なアクセス権を持つ従業員の後ろに付き従って建物内に侵入する手口で、「ピギーバッキング(Piggybacking)」とも呼ばれます。本記事では、テールゲーティングの定義、具体的な手口、関連する攻撃手法について詳しく解説します。 テールゲーティングの具体例 最も典型的な例は、配達員になりすます手口です。攻撃者は両手に荷物を抱えてオフィスビルの入り口で待ち伏せし、セキュリティの許可を得てドアを開けた従業員に「ドアを押さえておいてもらえませんか」と頼みます。親切心