普通にWebシステムを使う分には
「httpsはhttpを暗号化したプロトコルで、盗聴・なりすまし・中間者攻撃の対策になる。認証等の機密性の高いやりとりをWeb上で行う時に使用する。」
というレベルの認識で十分なのですが、応用情報技術者ではもう少し正確な理解が必要な問題が出題されているので、あえて記事にしてみます。
【そもそもhttp・httpsとは】
・http
クライアントとWebサーバが通信する際のプロトコル。
非暗号化通信であり、情報が平文でやりとりされる。
・https
httpを暗号化した通信。
クライアントとWebサーバの間の通信が暗号化される。
Webサーバ内で処理される通信内容は平文の状態である。
→どこが暗号化されるのか理解していないと解けない問題が出題されています。
(応用情報技術者 平成29年春午前問44)
【httpsの暗号化方式】
共通鍵暗号方式と公開鍵暗号方式を組み合わせた方式を採用しています。
以下の手続きにより暗号化通信を実現します。
①クライアントはWebサーバからクライアント証明書を取得する
②クライアント証明書内にある公開鍵を取り出す
③クライアントは共通鍵を生成し、公開鍵で暗号化する
④クライアントは、暗号化した共通鍵をWebサーバへ送信する
⑤Webサーバでは、秘密鍵で暗号化された共通鍵を複合する
⑥両者で共有された共通鍵を用いて、暗号化通信を行う
暗号化方式について多少の知識がないとこの文章では理解できないと思うので、その場合は以下のページを見るのをお勧めします。
httpsとは?httpとの違いとSSL暗号化通信の仕組み
https://www.ssl.ph/compare/ssl/datalibrary/contents06.html
----------------------
目次