SSL/TLSの概要
SSL(Secure Sockets Layer)/TLS(Transport Layer Security)とは、インターネット上の通信を暗号化し、データ改ざんやなりすましを防ぐことができるプロトコルです。
代表的な使用例として、HTTP通信を暗号化するHTTPS(HTTP over SSL/TLS)が挙げられます。このブログもそうですがURLがhttps://~となっているサイトではインターネット通信が暗号化されていることになります。
また、それ以外の使用例としてファイル転送を暗号化するFTPS(FTP over SSL/TLS)やメール通信を暗号化するSMTPS(SMTP over SSL/TLS)、リモートアクセスVPNの暗号化にSSL技術を使用したSSL-VPNなどがあります。
SSLとTLSの違い
SSLとTLSの違いって何?って最初は感じるかもしれないですが、TLSはSSLの次の規格であり大枠としては同じようなものです。
SSL/TLSのバージョンはSSL1.0、SSL2.0、SSL3.0、TLS1.0、TLS1.1、TLS1.2、TLS1.3が存在します。
SSL3.0の次にTLS1.0がリリースされました。TLS1.1以下のバージョンは脆弱性があり使用しないように呼びかけられています。
もともとSSLという呼び方が一般的だったため、TLSが主流になった今でもSSL/TLSという表記をされることが多いです。
SSLの仕組み
SSL/TLSを使用した通信は以下のようなフローで行われます。
①通信の開始
クライアントからWebサーバに通信の要求を開始します。

②サーバー証明書の送付と確認
サーバーはサーバー証明書をクライアントに送ります。
クライアントはサーバー証明書が正しいかを確認します。
サーバー証明書の階層を辿っていきクライアントに登録されているルート証明書を照合します。
認証局の公開鍵でサーバー証明書のディジタル署名を複合して正規のサーバーであることを確認します。

③共通鍵の生成と送付
クライアントは共通鍵を生成します。
正確には共通鍵の基となる情報(プリマスターシークレット)を生成。
クライアントはサーバー証明書に含まれていた公開鍵を使用して共通鍵を暗号化してサーバーに送付します。
サーバー側は送られてきた暗号化ファイルを秘密鍵で複合して共通鍵を取り外します。

④SSL通信
以降の通信は共通鍵を使って暗号化通信を行います。

SSL/TLSで使用されている技術
このページではSSL/TLSの概要や通信フローについて記載しました。
通信に使用されている技術ついては以下のページをご覧ください。