helloworlds

色々試してみたくなっちゃうエンジニア 基礎をコツコツ (文系エンジニア) 師匠ほしい!w

【SSL/TLS通信】Tips

SSL通信(SSL/TLS通信)

SSL通信とは、PKI (Public Key Infrastructure)認証方式の仕組みで実現されている、 公開鍵暗号方式を使ったインターネット上で安全にやり取りを行う公開基盤のことです。

三者機関である認証局(Certification Authority)が電子証明書を発行しています。

1度は絶対聞いたことがあるかと思うので、図は割愛します。

私がこれまで業務を行ってきた中でよくSSL通信をつかっていたのは、ログインや課金などのページが多かったと思います。 ネットサーフィンをしていると、そのような認証ページで使用されていることが多いでしょう。 いや、近年だと一般的にセキュリティ強化ですべての通信でSSL通信が使用されていることの方が多いかもしれません。

  1. ブラウザから https:// でリクエス
  2. 有効なSSLサーバ証明書があれば、WebサーバからブラウザにSSLサーバ証明書が送られる。 有効なSSLサーバ証明書がなければ、一時的に生成された公開鍵が送られる。
  3. ブラウザは(インストールされているルート認証で)SSLサーバ証明書を照合する。
  4. 照合されたらルート認証局の公開鍵でSSLサーバ証明書を復号化しWebサーバの公開鍵を取得する。
  5. ブラウザは共通鍵を作成し、Webサーバの公開鍵で共通鍵を暗号化し、Webサーバに送る。
  6. Webサーバは受け取った暗号メッセージを自身の秘密鍵で復号化し共通鍵として取り出す。
  7. これで共通鍵を使用したブラウザとWebサーバ間の暗号化通信が行われる。

SSLサーバ証明書

公開鍵と秘密鍵のbit数が長いほど、暗号の強度が高いと言える。 現在では2048bitの鍵長が多いでしょう。

たまにブラウザのアドレスバーで緑色になっているものがありますが、 それはEV SSLサーバ証明書という厳格に審査を行って発行されたSSLサーバ証明書なのです。

今回は短いですが、以上です。 SSL/TSL通信について詳しく知りたいのであれば、ググった方がはやいですww 大まかな流れだけ一旦頭に入れておけば大丈夫でしょう。 必要になった時に調べて対応できるくらいだと思います。