検索
連載

“安全な暗号”とは何か――「強秘匿性」「頑強性」という概念クラウド時代の暗号化技術論(2)(2/2 ページ)

前回に引き続き、暗号化手法の一つ「ElGamal暗号」を学びます。そして攻撃に強く、「安全な暗号」に必要な要素とは何かを考えてみます。

Share
Tweet
LINE
Hatena
前のページへ |       

攻撃の種類と安全な公開鍵暗号

 それでは一体、どのような暗号だと安全なのでしょうか。その説明の前にまず、攻撃者の能力について解説しましょう。

 前回、RSA暗号で紹介した選択平文攻撃(CPA)の他に、選択暗号文攻撃(CCA:Chosen Ciphertext Attack)というのを想定します。CCAにはその攻撃能力に応じて2種類あります。

 攻撃したい暗号文をcとします。

  • 選択平文攻撃(CPA):暗号文cを受け取る前後に、自分で選んだ平文に対応する暗号文を得られる
  • 選択暗号文攻撃(CCA1):暗号文cを受け取る前に、自分で選んだc以外の暗号文に対応する平文を得られる
  • 適応的選択暗号文攻撃(CCA2):暗号文cを受け取る前後に、自分で選んだc以外の暗号文に対応する平文を得られる

 CCAの「c以外の暗号文に対応する平文を得られる」とはどういう意味でしょうか。攻撃者にわざわざ「答え」を教えるような状況は考えにくいです。しかし1998年、ダニエル・ブライヘンバッハー(Daniel Bleichenbacher)は「CCAが現実的にあり得る攻撃である」ということを示します。RSA暗号の標準フォーマット(PKCS #1)の扱いの不備を使って、サーバーの返答情報から平文の一部の情報を取り出したのです。そのため、現在はCCAを想定した暗号理論を構築しています。

 ここでたとえ話をすると、CCA1というのは試験前に、自分で作った例題の答えを先生に聞いたら教えてくれる(ただし先生が試験に出すのと同じ問題は答えてくれない)状況です。CCA2は試験が始まってからも、試験中に、問題文そのもの以外の問題について質問すると先生が答えを教えてくれる状況です。これは受験者にとって有利ですね。先生としては、そんな状況でも解けない難しい問題を考えないといけないのです。

攻撃者と挑戦者の関係で見る「CCA1」「CCA2」

 より厳密に言うと次のようになります。秘密鍵を持っている人を挑戦者といいます。そして、攻撃者が好きな暗号文ciを選んで、挑戦者にそれを復号してもらうことを何度か繰り返します。そのあと2個の平文m1、m2を選び、挑戦者に送ります。挑戦者はどちからの平文を暗号化して、c=Dec(mi)を攻撃者に渡します。

 CCA2ではそのあとさらに、cとは異なる暗号文を選んで挑戦者に復号してもらうことができます。CCA1ではこのフェーズはありません。

 そうやって攻撃者はたくさんの情報を集めてから、cがm1とm2のどちらを暗号化したものだったのかを当てるのです。これがでたらめにやって当たる確率、1/2よりも有為に高い場合攻撃者の勝ちとします。


図2 攻撃者と挑戦者の関係で見る「CCA1」「CCA2」

 そしてElGamal暗号は、CCA2に対して安全ではないことが知られています。なぜなら攻撃者がc=Enc(m)を攻撃しようとします。攻撃者はCCA2の能力を持っているので、2cという暗号文の答えを教えてくれと頼みます。するとElGamal暗号ではその暗号文に対応するのは2mという平文なので、2mという答えが返ってきます。攻撃者は2mが分かればmが分かり、攻撃が成功します。

 このように暗号は、攻撃者の能力に応じて安全性が変わります。現在の暗号理論は、「ある暗号が、どういう仮定のもとで、どういう攻撃に対して、どうなったとき安全なのか」という精緻な論理を展開します。現在考えられている最も安全な公開鍵暗号は、CCA2に対して強秘匿性を持った暗号で「IND-CCA2安全」と呼ばれます。

 そして「IND-CCA2安全な暗号は、頑強性も備え持つ」という重要な定理があります。ある暗号がCCA2というとても強い“仮想の敵”に対しても情報を漏らさなければ、攻撃者はその暗号を改変することもできないということです。

 IND-CCA2安全な暗号の例として、RSA暗号を改良したRSA-OAEP、ElGamal暗号を改良したCramer-Shoup暗号が知られています。RSA-OAEPの安全性が厳密に証明されたのは2001年です。初めてRSAが登場したのが1977年ですから、意外と最近なことに驚かれるかもしれません。

今回のまとめ

  • 暗号文から平文の情報が漏れないという安全性について、「一方向性」「強秘匿性」「頑強性」の三つのレベルがあり、後者ほど安全である
  • 攻撃者の能力について、CPA、CCA1、CCA2の三つのレベルがあり、後者ほど強力である
  • 最も安全な公開鍵暗号に「RSA-OAEP」や「Cramer-Shoup」暗号がある

光成滋生(みつなり しげお)

サイボウズ・ラボ株式会社

 サイボウズ・ラボ株式会社にてセキュリティとインフラ周りの研究開発に携わる。「数論アルゴリズムとその応用」研究部会(JANT)幹事。

  • 2004年放送型暗号の実装でIPA未踏スーパークリエータ認定
  • 2005年ストリーム暗号Toyocryptの解読で情報化月間推進会議議長表彰
  • 2010年ベクトル分解問題についての論文で電子情報通信学会論文賞受賞
  • 2015年 Microsoft MVPアワード Developer Securityを受賞

 近著に「応用数理ハンドブック」(朝倉書店、2013:楕円曲線暗号、ペアリング暗号の項目担当)、「クラウドを支えるこれからの暗号技術」(秀和システム、2015)がある。


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       

Security & Trust 記事ランキング

  1. 「SMSは認証に使わないで」 米CISA、モバイル通信を保護する8つのベストプラクティスを公開
  2. 2025年に押さえるべきセキュリティの重要論点をガートナーが発表 新しいリスク、脅威、環境の変化、法規制などの動きを把握する指標に使える
  3. 経営層の約7割が「セキュリティ対策は十分」一方で6割以上がインシデントを経験、1位の要因は?
  4. “ゼロトラスト”とトラスト(信頼性)ゼロを分かつものとは――情報セキュリティ啓発アニメ「こうしす!」監督が中小企業目線で語る
  5. よく聞く「複雑化するサイバー攻撃」は具体的にどう複雑なのか? 一例を医療系企業のランサム事例とともに解説
  6. 終わらせましょう。複雑過ぎるKubernetes/クラウドネイティブが生む心理的安全性の低下を――無料でクラウドセキュリティの勘所が分かる130ページの電子書籍
  7. 3割程度のSaaS事業者が標準的なセキュリティ対策をしていない アシュアードがSaaS事業者を調査
  8. 中小企業の20%の経営層は「自社はサイバー攻撃に遭わない」と信じている バラクーダネットワークス調査
  9. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  10. 増える標的型ランサムウェア被害、現場支援から見えてきた実態と、脆弱性対応が「限界」の理由
ページトップに戻る