SSL/TLSは分かりづらいのでメモ
●SSLとTLS
Secure Sockets Layer
Transport Layer Security
SSLは既に廃止、プロトコルとしてはTLSのみ。呼称としてのみSSL。
●公開鍵暗号
公開鍵は暗号化
秘密鍵は復号化、公開鍵の生成。
※秘密鍵で暗号化というのは考えない。
●バージョン
Chromeデベロッパーツール>セキュリティ
●SSL/TLS
・サーバーは認証局に証明書を発行してもらう
CSRを認証局でハッシュ化し、それを署名生成鍵(秘密鍵)で暗号化。
CSR+暗号化されたハッシュ=署名済証明書
・サーバーに署名済証明書をインストール
※以下ハンドシェイク(TLSのバージョンによって違う)
・共通鍵生成
お互い、非公開パラメータと公開パラメータを生成し、公開パラメータを相手に送る。
・サーバーはクライアントに署名済証明書(中間CA証明書なども)を送付
・クライアントは署名済証明書に改ざんがないか検証
署名済証明書を検証鍵(公開鍵)で復号化し、CSRから計算したハッシュと、
復号化したハッシュを比較する。
※検証鍵はOS/ブラウザにインストールされている