9月3日(火)1、2コマ目

今日、やったこと

  • [確認テスト]Webサーバー構築にまつわる内容
  • SSL/TLS

今日のホワイトボード

httpとhttps(HTTPとHTTPS)

Webアクセスに使うプロトコルのhttpは非暗号化通信。

httpsは暗号化通信。最近ではほとんどhttps。

図 httpとhttps

HTTPS

HTTPSはHTTP over SSL/TLSで、HTTPをSSL/TLSを使って暗号化したもの。HTTPSというプロトコルがあるわけでない。
図 HTTPS
暗号化を担っているのがSSL。よって、暗号化されるのはTCPヘッダよりあとのHTTP部のみ。

[おさらい]共通鍵暗号方式

同じ鍵を使って暗号化、復号する。
送信側、受信側で鍵を安全に受け渡す方法が必要。
図 [おさらい]共通鍵暗号方式

[おさらい]公開鍵暗号方式

鍵は秘密鍵と公開鍵のペア。
秘密鍵で暗号化 -> 公開鍵のみ復号可。
公開鍵で暗号化 -> 非罪鍵のみ復号可。
図 [おさらい]公開鍵暗号方式

ざっくりとSSLのながれを説明すると

本文の暗号化通信は共通鍵暗号方式を使う。(下図の④)
この共通鍵の元を公開鍵暗号方式で暗号化して受け渡す。(下図の②)
図 ざっくりとSSLのながれ

SSL/TLSハンドシェイク

お互いの暗号方式の確認、決定や共通鍵の元の受け渡しなどをするがSSL/TLSハンドシェイク。
図 SSL/TLSハンドシェイク
SSL/TLSハンドシェイクの前にはTCPのコネクション確立を行う。
SSL/TLSハンドシェイクのあと、HTTPのやり取りが行われる。このやり取りのパケットはTCPヘッダよりあと(HTTP部)は暗号化されている。

サーバー証明書の役割

「確かにこのサーバーは本物のサーバーです」と証明するのがサーバー証明書。
だれが証明するかと言えば、認証局(CA)。
認証局はサーバー(の持ち主)から依頼を受けてサーバーを証明する。
証明には認証局の審査がある。
図 サーバー証明書
図のようにexample.comを語る偽物がいても、利用者にはわからない。認証局がドメインexample.comのサーバーはこれですと証明するのがサーバー証明書。
よって、サーバー証明書は正当なドメインの持ち主であることを証明する。

認証局

認証局は民間企業で、1つだけではない。
中間認証局と呼ばれる認証局はルート認証局によって証明された認証局。よって、中間認証局の認証局証明書はルート認証局が署名する。
ルート認証局は最上位の認証局。ルート認証局の認証局証明書は自分自身で署名。
安全性が保障されない危険があるが、ルート認証局は絶大な信頼性を売りにしているため、おそらく間違いはないだろうで運用されている。
図 認証局の階層

WebサーバーをSSL化する手順(サーバー証明書を発行してもらうには)

  1. 秘密鍵と公開鍵のペアを作成し、証明依頼のcsrファイルを生成。
  2. 公開鍵とcsrファイルを認証局に提出(お金も払う)。
  3. 審査がパスすればサーバー証明書が発行される。
なお、サーバー証明書には有効期限がある。よって、毎年お金を払う。
図 サーバー証明書取得までのながれ

練習問題

問1

各選択肢の解説。
図 [SSL/TLS練習問題]問1

問3

サーバー証明書はCAによる署名がある。
この署名はCAの秘密鍵で暗号化 -> CAの公開鍵で復号できればCAが署名したことがわかる。
署名の中身はサーバー証明書のハッシュ値。->比較することで改ざんの検知ができる。
図 [SSL/TLS練習問題]問3

次回は

SSL/TLSのテストをします。今日、やった練習問題のような問題を出題予定。







 

このブログの人気の投稿

7月16日(火)4コマ目

6月10日(月)1コマ目

6月5日(水)1コマ目