わからないこと
TLSのハンドシェイク初期に、悪意ある中間者がLet's Encryptなどで署名された独自の証明書を挟めた場合、ユーザーの機密情報漏洩を、サイト管理者はどのように防ぐことができますか。
調べたこと
- ChromeではLet's Encryptの署名は警告を出さないこと。
- ユーザー側でドメインを確認してもらうことで防げること。
- ユーザー側で証明書を確認してもらうことで防げること。
追記 2019/06/13 13:31
mikkameさん、maisumakunさんが回答していただいた後の追記となります。前提覆るかもしれませんが、申し訳ございません。
ここでの証明書を中間者独自のサイトのドメインを使った証明書ということにすると、どうでしょうか。
つまり、中間者のサイト自体は悪意あるかどうかは別として、証明書の検証やドメイン所有のチェックにかかる問題はないことを想定します。
したがってブラウザ上部に表記されるドメインは厳密には別のドメインになっているものと思われます。
TLSのハンドシェイク初期について私の想定する懸念は、以下の通りです。
- クライアントがhttps://examplebank.comにアクセスする
- examplebank.comで解決されるサーバーがサーバ証明書を送付する
2.evil. ここで中間者がevilexamplebank.com証明書を注入
3. クライアントがevilexamplebank.com証明書の公開鍵を確認し、共通鍵を作成、送付
4. 中間者が共通鍵を復号
->その後、中間者がサイトの内容を偽装する形でクライアントと通信。
調べた内容は、申し訳ありませんが、他にありません。
追記 2019/06/13 13:56
maisumakunさんよりコメントいただきまして、
アクセスするurlと証明書の間でコモンネームを確認することを念頭に置いていませんでした。
解決しました。ご迷惑おかけしました。
回答2件
あなたの回答
tips
プレビュー