質問: ssl での 公開鍵、秘密鍵 gメールで、pop接続してメールを取り出すときは、 ssl(tls)での接続となります。 ここで、rsa暗号を使う場合の、公開鍵を秘密鍵のセットは 接続した瞬間に作成されるのでしょうか? それとも、既に作ってある公開鍵と秘密鍵のセットが選ばれるのでしょうか? もし、既に作ってあるセットの中から選ぶ場合には、 鍵のセットはサーバーの中に何セットくらい用意されているのでしょうか? wireshark で、ssl の暗号化を解読してパケットの中を見る方法があるとのことで、 すこし、気になっています。 お分かりの方よろしくお願いいたします。 参考: https://www.softbanktech.jp/yko/2010/07/001129.html
回答: > ここで、rsa暗号を使う場合の、公開鍵を秘密鍵のセットは > 接続した瞬間に作成されるのでしょうか? 理論上はそういうこともできるとは思いますが、そういう運用はしないですね。 優位な長さのセットを作るのはそれなりにcpuを使いますし、時間もかかりますから。 > それとも、既に作ってある公開鍵と秘密鍵のセットが選ばれるのでしょうか? > もし、既に作ってあるセットの中から選ぶ場合には、 > 鍵のセットはサーバーの中に何セットくらい用意されているのでしょうか? 複数セット持っておくということも理論上は可能だと思いますが、運用上は普通 1セットしか持たないのが普通です。 > wireshark で、ssl の暗号化を解読してパケットの中を見る方法があるとのことで、 > すこし、気になっています。 そのリンク先ですが、"5. rsa keys list の箇所にpemファイルの場所を入力。"と書いてませんか? この解説はrsa暗号を攻略して秘密鍵を見つけたのではなくて、rsa key listにサーバーの秘密鍵を予め登録しておくと、wiresharkがそれを使って復号して見せてくれるという話ですよね。 "秘密鍵さえあれば、もうこっちのものですよ。フフフ..."というのもそれを物語っていると思います。 そもそも、今推奨されている鍵長である2048 bitのrsa公開鍵は2030年くらいまでは安全だと考えられているようですが... http://ascii.jp/elem/000/000/550/550217/ 例えば、gmailで使われている公開鍵暗号はecc 256 bitですが、これはrsa 3072 bitに相当するみたいで、上の記事によると2050年くらいまでは安全そうですね。 https://www.verisign.co.jp/ssl/ecc-dsa/ ちなみに、そのgoogleの公開鍵の署名にはgeotrustの1024bit rsa証明書が使われているようですが、それですらそこら辺のpcで一瞬で解読できるような強度ではないです。 http://sehermitage.web.fc2.com/crypto/safety.html まあ、この手の公開鍵が攻略されると偽の署名を付けて偽googleサイトに誘導できるようになりますが、その時はすぐに遮断されそうですけどね。 http://www.itmedia.co.jp/enterprise/articles/1301/08/news029.html ついでに、sslのrfcでも見てみると面白いかもしれません。 http://www.ipa.go.jp/security/rfc/rfc2246-07ja.html#73