SSL/TLS メモ

SSL/TLSは分かりづらいのでメモ

●SSLとTLS
Secure Sockets Layer
Transport Layer Security

SSLは既に廃止、プロトコルとしてはTLSのみ。呼称としてのみSSL。

●公開鍵暗号
公開鍵は暗号化
秘密鍵は復号化、公開鍵の生成。
※秘密鍵で暗号化というのは考えない。

●バージョン

Chromeデベロッパーツール>セキュリティ

●SSL/TLS証明書発行プロセス

サーバー管理者は、CSR(証明書署名要求)生成し、CA(認証局)に送付。
CSRには、公開鍵、組織情報などがDERエンコードされて含まれる。

CAは、CSRをSHA-256でハッシュ化

ハッシュに対して、中間CAの秘密鍵で署名※ルート証明書は直接使用しない

CSRにデジタル署名を付加してサーバー証明書(X.509)を生成する。

サーバーは、
・サーバー証明書(X.509) / .crt
・中間証明書 / .crt
・秘密鍵※CSR生成時、CSRに含まれる公開鍵とペアの秘密鍵 / .key
をインストール

※以下ハンドシェイク(TLSのバージョンによって違う)

・共通鍵生成
お互い、非公開パラメータと公開パラメータを生成し、公開パラメータを相手に送る。

・サーバーはクライアントに署名済証明書(中間CA証明書なども)を送付

・クライアントは署名済証明書に改ざんがないか検証
署名済証明書を検証鍵(公開鍵)で復号化し、CSRから計算したハッシュと、
復号化したハッシュを比較する。
※検証鍵はOS/ブラウザにインストールされている