WebサーバをHTTPS化するまでの知識のアウトプットの練習
WebサーバをHTTPS化するまでの流れ
1 HTTPS化したい(SSLを入れたい)サーバで鍵ペア(秘密鍵と公開鍵)とCSRを作成する
公開鍵はCSRの中に含まれている
3 認証局の秘密鍵でCSRに署名する。これがディジタル署名。ディジタル署名とサーバの公開鍵と所有者情報を含めたのがディジタル証明書。
4 認証局がHTTPS化したいサーバに、作成したディジタル証明書を送る。これでHTTPS化したいサーバの準備オッケー
5 PCのブラウザからWebサーバにアクセス
6 WebサーバからPCにディジタル証明書を送る
7.認証局の公開鍵を使ってディジタル署名の電子署名を検証する(信頼された認証機関が作ったディジタル証明書かどうかを確認するため)
認証局の公開鍵は主要なブラウザにデフォルトで用意されている。 プライベートで立てた認証局の場合は、手動でブラウザに証明書をインストールする必要がある。
8 AES等で共通鍵を作り、サーバの公開鍵で暗号化してWebサーバへ送付
9 Webサーバは保管していた秘密鍵で暗号化された共通鍵を取り出す。
10 お互いの共通鍵で安全に、高速に通信できる。
CSR作成までの流れ
- 暗号(RSA [x]bit)で秘密鍵を作成
- 秘密鍵から公開鍵を作成
- 証明書要求情報をハッシュ関数でハッシュ値化する
- ハッシュ値を秘密鍵で暗号化する
- 暗号化されたハッシュ値と公開鍵を組み合わせてCSRを作成する
たくさん暗号があってどの暗号がどういう時に使われるのかあまりよくわかってないので、 SSL/TLS暗号設定ガイドラインを参考に次回まとめます。