水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 2008年のえび日記 > 2008年8月 > 2008年8月6日(水曜日)

2008年8月6日(水曜日)

SSL/TLSと信用

Firefox 3のSSL対応方針、どう思う? (slashdot.jp)

本家コメントでは、「SSLは暗号化のためだけにあるのではなく、「信用」という大事な役割も果たしているため、Seldon氏の主張では証明書発行の存在意義を否定してしまうことにならないか?」という意見や、「ユーザビリティの観点からいえばひどい仕様だ」といった意見が寄せられているが、/.Jerの皆はどのように考えるだろうか?

「信用」という言葉は誤解と混乱の元かもしれません。「信用できないサイト」と言われると、信用できない人が運営しているサイトであるというように言われている感じがしますが、SSL/TLSはそういう意味での「信用」とは無関係です。

証明書の警告が出ている状態というのは、「アクセスしようとしているサイトが本物かどうか確認できない」という状態です。https://example.com/ にアクセスしようとしたとき、通信相手が本当に example.com なのか、それとも example.com に成りすまそうとした誰かなのかを確認できなかったという話です。example.com の本来の運営者が信用できるかどうかは全く問題にしていません。「本物かどうか」ということと、「安心して利用できるかどうか」ということは別の話です。

※EV SSL の場合はもう少しがんばって、運営者の組織がちゃんと実在するということを保証しようとしていますが、それだけです。

で、もう一つ混乱を招きそうだと思うのが、「証明書のエラーが出ていても暗号化はされている」という話。

証明書のエラーを無視して通信すると、偽の相手と通信している可能性が否定できません。その場合、偽の相手と鍵を交換して、偽の相手に暗号文を送って、偽の相手に復号されることになります。これでは暗号化の努力には何の意味もありません。このような状態を「暗号化はされている」と言っても良いのかどうか……。

「電子証明書を確認してなりすましや中間者攻撃を防ぐ」ということをSSL/TLSの暗号化通信の機能の一部と考えれば、証明書が確認できない状態は、本来想定している手順での暗号化通信が行えていないという事になるでしょう。これで「暗号化はされている」というのは語弊がありすぎるように思います。あえて言うなら、「ブラウザは暗号化の努力をしている」(が、努力が無駄になっている可能性がある) という程度でしょうか。

ついでにもう一つ、Firefox の警告は自己署名を完全に否定しているわけではないはずです。自己署名証明書を安全に運用したいのであれば、何らかの安全な方法で証明書を相手に渡しておくなど、それなりの運用をすれば良いのです。

しかし、サイト上でいきなり証明書を受け入れさせる、などというやり方は非常に危険です。だから強く警告されます。まともなサイトがそのような危険な運用をするはずがありませんから (太字で断言)、危険な運用を勧めているのは攻撃者の偽サイトである可能性が高いと判断されるのでして。

関連する話題: セキュリティ / SSL/TLS

最近の日記

関わった本など