Cryptography-attacks-on-cryptosystems

提供:Dev Guides
移動先:案内検索

暗号システムへの攻撃

現在の時代では、ビジネスだけでなく、人間の生活のほぼすべての側面が情報によって推進されています。 したがって、攻撃などの悪意のあるアクティビティから有用な情報を保護することが不可欠になっています。 一般的に情報がさらされる攻撃の種類を考えてみましょう。

攻撃は通常、攻撃者が実行したアクションに基づいて分類されます。 したがって、攻撃は*パッシブ*または*アクティブ*になります。

パッシブ攻撃

受動的攻撃の主な目標は、*情報への不正アクセス*を取得することです。 たとえば、通信チャネルでの傍受や盗聴などのアクションは、受動的攻撃と見なすことができます。

これらのアクションは、情報に影響を与えたり、通信チャネルを混乱させたりしないため、本質的に受動的です。 受動的攻撃は、多くの場合、「盗む」情報と見なされます。 物理的な商品を盗むことと情報を盗むことの唯一の違いは、データの盗難が依然としてその所有者にそのデータを所有しているということです。 したがって、情報の盗難は所有者に気付かれない可能性があるため、受動的な情報攻撃は商品を盗むよりも危険です。

パッシブ攻撃

積極的な攻撃

積極的な攻撃には、情報に対して何らかのプロセスを実行することにより、何らかの方法で情報を変更することが含まれます。 例えば、

  • 不正な方法で情報を変更します。
  • 情報の意図しない送信または不正な送信を開始する。
  • 発信者名や情報に関連付けられたタイムスタンプなどの認証データの変更
  • データの不正削除。
  • 正当なユーザーの情報へのアクセスの拒否(サービス拒否)。

アクティブな攻撃

暗号化は、上記の攻撃のほとんどを防ぐことができる暗号システムを実装するための多くのツールとテクニックを提供します。

攻撃者の仮定

私たちはこれらのシステムを破壊するために採用された攻撃の種類が続く暗号システムの周りの一般的な環境を見てみましょう-

暗号システムを取り巻く環境

暗号システムへの攻撃の可能性を考慮しながら、暗号システム環境を知る必要があります。 環境に関する攻撃者の仮定と知識が彼の能力を決定します。

暗号化では、セキュリティ環境と攻撃者の能力に関して次の3つの仮定が行われます。

暗号化スキームの詳細

暗号化システムの設計は、次の2つの暗号化アルゴリズムに基づいています-

  • パブリックアルゴリズム-このオプションを使用すると、アルゴリズムのすべての詳細はパブリックドメインにあり、すべての人に知られています。
  • 独自のアルゴリズム-アルゴリズムの詳細は、システム設計者とユーザーのみが知っています。

独自のアルゴリズムの場合、セキュリティはあいまいさによって保証されます。 プライベートアルゴリズムは社内で開発されているため、最も強力なアルゴリズムではない場合があり、脆弱性について広範囲に調査されていない場合があります。

第二に、彼らは閉じたグループ間でのみ通信を許可します。 したがって、それらは、人々が多数の既知または未知のエンティティと通信する現代の通信には適していません。 また、Kerchkhoffの原則によれば、アルゴリズムは_key_にある暗号化の強度で公開されることが望ましいです。

したがって、セキュリティ環境に関する最初の仮定は、*暗号化アルゴリズムが攻撃者に知られている*ことです。

暗号文の可用性

平文が暗号文に暗号化されると、安全でない公開チャネル(電子メールなど)に送信されます。 したがって、攻撃者は、*暗号システムによって生成された暗号文に*アクセスできると明らかに推測できます。

平文と暗号文の可用性

この仮定は、他ほど明白ではありません。 ただし、攻撃者がプレーンテキストおよび対応する暗号テキストにアクセスできる場合があります*。 いくつかのそのような可能な状況は-

  • 攻撃者は送信者に影響を与え、選択した平文を変換し、暗号文を取得します。
  • 受信者は、平文を意図せずに攻撃者に漏らす可能性があります。 攻撃者は、オープンチャネルから収集された対応する暗号文にアクセスできます。
  • 公開キー暗号システムでは、暗号化キーはオープンドメインにあり、潜在的な攻撃者に知られています。 このキーを使用して、彼は対応する平文と暗号文のペアを生成できます。

暗号攻撃

攻撃者の基本的な意図は、暗号システムを破り、暗号文から平文を見つけることです。 アルゴリズムはすでにパブリックドメインにあるため、プレーンテキストを取得するには、攻撃者は秘密の復号化キーを見つけるだけで済みます。

したがって、彼は暗号システムで使用されている秘密鍵を見つけることに最大限の努力を払っています。 攻撃者がキーを特定できると、攻撃されたシステムは_broken_または_compromised_と見なされます。

使用される方法論に基づいて、暗号システムへの攻撃は次のように分類されます-

  • 暗号文のみの攻撃(COA)-この方法では、攻撃者は暗号文のセットにアクセスできます。 彼は、対応する平文にアクセスできません。 COAは、暗号文の特定のセットから対応する平文を決定できる場合に成功すると言われます。 場合によっては、この攻撃から暗号化キーを決定できます。 最新の暗号システムは、暗号文のみの攻撃から保護されています。
  • 既知の平文攻撃(KPA)-この方法では、攻撃者は暗号文の一部の平文を知っています。 タスクは、この情報を使用して暗号文の残りを復号化することです。 これは、キーを決定するか、他の方法で行うことができます。 この攻撃の最良の例は、ブロック暗号に対する「線形暗号解析」です。
  • * Chosen Plaintext Attack(CPA)*-この方法では、攻撃者は選択したテキストを暗号化します。 したがって、彼は自分が選択した暗号文と平文のペアを持っています。 これにより、暗号化キーを決定する彼のタスクが簡素化されます。 この攻撃の例は、ブロック暗号とハッシュ関数に対して適用される「差分暗号化分析」です。 一般的な公開鍵暗号システムであるRSAは、選択平文攻撃に対しても脆弱です。
  • 辞書攻撃-この攻撃には多くの変種があり、そのすべてが「辞書」のコンパイルを伴います。 この攻撃の最も簡単な方法では、攻撃者は、一定期間にわたって学習した暗号文と対応する平文の辞書を作成します。 将来、攻撃者は暗号文を取得すると、辞書を参照して対応する平文を見つけます。
  • ブルートフォースアタック(BFA)-この方法では、攻撃者はすべての可能なキーを試すことでキーを特定しようとします。 キーの長さが8ビットの場合、可能なキーの数は2 ^ 8 ^ = 256です。 攻撃者は暗号文とアルゴリズムを知っているため、256個すべてのキーを1つずつ解読しようとします。 キーが長い場合、攻撃を完了するまでの時間が非常に長くなります。
  • 誕生日攻撃-この攻撃は、ブルートフォース手法の変形です。 暗号化ハッシュ関数に対して使用されます。 クラスの生徒に誕生日について尋ねると、答えは可能な365日の1つになります。 最初の生徒の生年月日が8月3日だと仮定しましょう。 次に、生年月日が8月3日である次の学生を見つけるには、1.25 ^ * ^?√365≈25人の学生に問い合わせる必要があります。 +同様に、ハッシュ関数が64ビットのハッシュ値を生成する場合、可能なハッシュ値は1.8x10 ^ 19 ^です。 異なる入力に対して関数を繰り返し評価することにより、約5.1x10 ^ 9 ^のランダムな入力の後に同じ出力が得られることが期待されます。 +攻撃者が同じハッシュ値を与える2つの異なる入力を見つけることができる場合、それは*衝突*であり、そのハッシュ関数は壊れていると言われます。
  • 中間者攻撃(MIM)-この攻撃のターゲットは、主に通信が行われる前に鍵交換が行われる公開鍵暗号システムです。
  • ホスト_A_はホスト_B_と通信したいので、_B_の公開鍵を要求します。
  • 攻撃者はこのリクエストを傍受し、代わりに自分の公開鍵を送信します。
  • したがって、ホスト_A_がホスト_B_に送信するものは何でも、攻撃者は読み取ることができます。
  • 通信を維持するために、攻撃者は公開鍵で読み取った後、データを再暗号化し、_B_に送信します。
  • 攻撃者は自分の公開鍵を_A_の公開鍵として送信し、_B_が_A_から取得しているように取得します。
  • * Side Channel Attack(SCA)*-このタイプの攻撃は、特定のタイプの暗号システムまたはアルゴリズムに対するものではありません。 代わりに、暗号システムの物理的な実装の弱点を悪用するために起動されます。
  • タイミング攻撃-プロセッサでの計算には、異なる計算が異なる時間を要するという事実を利用します。 このようなタイミングを測定することにより、プロセッサが実行している特定の計算について知ることができます。 たとえば、暗号化に時間がかかる場合は、秘密鍵が長いことを示しています。
  • 電力解析攻撃-これらの攻撃は、基礎となる計算の性質に関する情報を取得するために電力消費量が使用されることを除いて、タイミング攻撃に似ています。
  • 障害分析攻撃-これらの攻撃では、暗号システムにエラーが誘発され、攻撃者は有用な情報の結果出力を調査します。

攻撃の実用性

ここで説明する暗号システムへの攻撃は、アカデミックコミュニティからの攻撃が大半を占めるため、高度にアカデミックです。 実際、多くの学術的な攻撃には、攻撃者の能力だけでなく、環境に関する非常に非現実的な仮定が含まれます。 たとえば、選択された暗号文攻撃では、攻撃者は非現実的な数の意図的に選択された平文と暗号文のペアを必要とします。 完全に実用的ではないかもしれません。

それでも、特に攻撃手法に改善の可能性がある場合、攻撃が存在するという事実が懸念の原因となるはずです。