楽しい楽しいお勉強日記

IT系の勉強や読書記録を書きます。勉強大好き!(自己暗示)

WebサーバをHTTPS化するまでの知識のアウトプットの練習

WebサーバをHTTPS化するまでの流れ

1 HTTPS化したい(SSLを入れたい)サーバで鍵ペア(秘密鍵と公開鍵)とCSRを作成する

公開鍵はCSRの中に含まれている

f:id:NiLkun:20200314010910p:plain

2 CSRと作成した公開鍵を認証局に送る

f:id:NiLkun:20200314010931p:plain

3 認証局秘密鍵CSRに署名する。これがディジタル署名ディジタル署名とサーバの公開鍵と所有者情報を含めたのがディジタル証明書。

f:id:NiLkun:20200314011004p:plain

4 認証局HTTPS化したいサーバに、作成したディジタル証明書を送る。これでHTTPS化したいサーバの準備オッケー

f:id:NiLkun:20200314011023p:plain

5 PCのブラウザからWebサーバにアクセス

f:id:NiLkun:20200314011057p:plain

6 WebサーバからPCにディジタル証明書を送る

f:id:NiLkun:20200314011141p:plain

7.認証局の公開鍵を使ってディジタル署名電子署名を検証する(信頼された認証機関が作ったディジタル証明書かどうかを確認するため)

f:id:NiLkun:20200314011228p:plain

認証局の公開鍵は主要なブラウザにデフォルトで用意されている。 プライベートで立てた認証局の場合は、手動でブラウザに証明書をインストールする必要がある。

8 AES等で共通鍵を作り、サーバの公開鍵で暗号化してWebサーバへ送付

f:id:NiLkun:20200314011319p:plain

9 Webサーバは保管していた秘密鍵で暗号化された共通鍵を取り出す。

f:id:NiLkun:20200314011348p:plain

10 お互いの共通鍵で安全に、高速に通信できる。

f:id:NiLkun:20200314011412p:plain

CSR作成までの流れ

  1. 暗号(RSA [x]bit)で秘密鍵を作成
  2. 秘密鍵から公開鍵を作成
  3. 証明書要求情報をハッシュ関数ハッシュ値化する
  4. ハッシュ値秘密鍵で暗号化する
  5. 暗号化されたハッシュ値と公開鍵を組み合わせてCSRを作成する

f:id:NiLkun:20200314011519p:plain

たくさん暗号があってどの暗号がどういう時に使われるのかあまりよくわかってないので、 SSL/TLS暗号設定ガイドラインを参考に次回まとめます。

参考サイト