質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • セキュリティー

    541questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

公開鍵基盤を用いない,公開鍵暗号の中間者攻撃対策

受付中

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 992

Nzc

score 250

現在,公開鍵暗号方式について勉強を進めております.

中間者攻撃が存在し,
かつ,公開鍵基盤を利用しない,
また,信頼境界内でやりとりすることができる機会がある

という前提で,安全性を確保できる方法について考えています.
思いつく限りの,以下の3つに強度の違いはあるのでしょうか.
また,これ以外に第三者の攻撃に対して強度を上げる手法はあるのでしょうか.

  1. 公開鍵暗号方式で通信し,平文に"直接会って合意したパスフレーズ"を追加して暗号化する.

  2. 共通鍵暗号方式で通信し,暗号化に"直接会って合意したパスフレーズ"を用いる.

  3. 公開鍵暗号方式で通信し,公開鍵を"直接会って渡しておく".

1において,攻撃者はパスフレーズを手に入れた後,中間者攻撃を狙う必要がある.
2において,攻撃者はパスフレーズを手に入れた後,中間者攻撃やその他の攻撃.
3において,攻撃者は公開鍵を手に入れた後,中間者攻撃を狙う.
総当たり攻撃に対しての強度なども気になります.共通鍵暗号の方が強度が高いとどこかで見た記憶がありますが,どうなのでしょうか.

【追記】秘密鍵について---
秘密鍵は,ローカルストレージに保管します.
ローカルストレージに保管する際,個人で決めたパスワードで暗号化します.
そのパスワードは,保管せず,その個人で覚えておくものにするつもりです.
【追記終わり】---

知恵をお貸しいただければ幸いです.

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Stripe

    2016/02/01 23:57

    ちなみに、あなたは秘密鍵について、どう考えているんですか?

    キャンセル

回答 3

+1

3. 公開鍵暗号方式で通信し,公開鍵を"直接会って渡しておく". 

通常こういう方式は行いません。
公開鍵暗号は計算量が非常に大きいため、実用の通信には重すぎるからです。
そこでどうするかというと、通信の本体部分は共通鍵暗号を用いることにして、その共通鍵を伝送するためだけに公開鍵暗号を用いるというやり方が一般的です。
つまり、 2. 「共通鍵暗号方式で通信し,暗号化に"直接会って合意したパスフレーズ"を用いる」の直接会うところを公開鍵暗号で代替しているということ。
もちろんその公開鍵暗号通信にあたって公開鍵がMITMされたら元も子もありませんので、結局直接会って公開鍵を渡すことになります。
えっ、それじゃあ最初から直接会って共通鍵を交換すればいいじゃないって?
そう、だから公開鍵暗号に公開鍵基盤が必須になるのです。

2と3の関係はこれでよろしいでしょうか。
1については、どういう通信を想定しておられるのかちょっと読み取れませんでした。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/02/02 13:24

    ご回答ありがとうございます.
    はい.ハイブリッド暗号と呼ばれるものですね.
    やはり会わずに渡すには,公開鍵基盤が必要なのですね.

    公開鍵と共通鍵の暗号解読性の差異が気になりました.
    ビット数が大きい公開鍵暗号の方が,総当たり攻撃に強いと思っていますが,
    実際の解読可能性はどちらが大きいのでしょうか.

    1.については,「Wikipedia-中間者攻撃」の「中間者攻撃に対する防御」項において,"パスワード (低い情報量の秘密)"という記述があったため,合意したパスワードを暗号化する前に加えておけば,そのパスワードを知らない中間者攻撃が,偽装することができなくなると考えました.受信側で,平文に合意したパスワードが含まれているか確認することで,中間者攻撃を発見できるはずです.
    それとも,このWikipediaの記述は,信頼境界内で合意できるならば,公開鍵暗号より共通鍵暗号を使うべきという意味なのでしょうか.

    キャンセル

0

公開鍵暗号方式は、秘密鍵の秘密を保つことでセキュリティを確保する方式です。
別途平文にパスフレーズを埋め込んだり、公開鍵を秘密裏にやり取りする意味はありません。
また、公開鍵暗号方式の鍵は、素数しか使えないためビット数が多くなっているだけなので、共通鍵暗号方式よりも強度が高い訳ではありません。

セキュリティ強度を高めたければ、定期的に鍵を作り直してください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/02/02 20:23

    ご回答ありがとうございます.
    >別途平文にパスフレーズを埋め込んだり、公開鍵を秘密裏にやり取りする意味はありません。
    平文にパスフレーズを埋め込むことで,復号化した際に,パスフレーズが正しいか確認でき,(秘密鍵とパスフレーズを知らない)中間者攻撃を防ぎ,検知できると思ったのですが,正しくないのでしょうか.

    >セキュリティ強度を高めたければ、定期的に鍵を作り直してください。
    まことにその通りかと思います.PKIでもそのような方式ですね.留意します.ありがとうございました.

    キャンセル

  • 2016/02/03 01:31

    攻撃者に暗号文を破壊されたかどうかかを検知するなら、パスフレーズよりもハッシュ(メッセージダイジェスト、チェックサム)の方が有効です。

    キャンセル

0

【総当たり攻撃への耐性について】
仰るとおり、総当たり攻撃に対する耐性は鍵長に依存します。
なので(公開鍵暗号だからという理由ではなく)ビット数が大きい方が総当たり攻撃には強いです。
しかし実際の解読可能性となると話が変わり、用いる暗号化アルゴリズムに強く依存します。
新しい攻撃手法が日進月歩で開発、提案されてどんどん計算量が落ちていっているので、各アルゴリズムの安全性についてはこれといったことが言えません...スミマセン

「信頼境界内でやりとりすることができる機会がある」という前提がある時点で、
「そこで共通鍵/公開鍵を安全に交換できるから中間者攻撃は成り立たないじゃん!」と思ってしまったのは浅はかだったでしょうか^^;

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/02/09 15:43

    ご回答ありがとうございます.
    自分でも調べた際,ビット数だけでなく,鍵として利用可能な個数も重要だと認識しました.RSAやECCなどの公開鍵暗号方式では,ビット数が同じだと,DESやAESなどの共通鍵方式に比べ,使える鍵が少なくなってしまいますね.ありがとうございます.
    暗号化アルゴリズムの強度についてはまだまだ情報を集めて質問しなおしたいと思います.

    質問の意図としては,中間者攻撃から守ることが可能な手法のうちで,強いものを検討しておりました.ご回答ありがとうございました.

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • セキュリティー

    541questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。