HTTPS
Webサイトからショッピングやバンキングができるようになるに伴い、個人情報の漏洩が問題視されてきた。対策として、データを守る仕組みである「HTTPS(HTTP over SSL/TLS)」が開発された。
HTTP通信において、暗号化方式である**SSL(Secure Sockets Layer)やTLS(Transport Layer Security)**を利用することでWebサイトを安全に使うことができる。
安全確保の仕組み
SSL/TLSでは以下の3つの仕組みによりWebサイトの安全性を確保する。
盗聴防止(暗号化通信)
Webサイト閲覧には何台ものサーバーを経由するため、第三者は比較的簡単に通信内容を傍受できる。万が一傍受されても内容を解読されないようデータを暗号化して送ることにより、第三者からの盗聴を防ぐ。
改ざん防止
ネットショッピングにおいて商品の個数を書き換えるなどのデータ改ざん対策として、「メッセージダイジェスト」が利用される。メッセージダイジェストは、あるデータから一意の短いデータ(ハッシュ値)を取り出す計算のことである。これにより、データの送受信時にハッシュ値を比較して改ざんを検知できる。
なりすまし防止
Webサーバーに「SSLサーバー証明書」という電子証明書を配置しておき、接続時に検証することでWebサイト運営者の身元を確認できる。
また、この証明書は発行を認められた「認証局」による運営者の認証作業を経る必要がある。信頼できない発行元の証明書が利用されている場合はWebブラウザ上に警告画面が表示される。
HTTPSのやりとり
HTTPSでの通信を開始するには、大きく分けて以下の4つのフェーズのやりとりをする必要がある。
1. 暗号化方式の決定
暗号化方式は複数あるため、WebブラウザとWebサーバーがともに利用可能な暗号化方式を決める必要がある。TLSのバージョンやメッセージダイジェストの方式も同時に決定する。
2. 通信相手の証明
Webブラウザが通信しているWebサーバーが正しい相手なのかをSSLサーバー証明書により確認する。確認できなかった場合は、Webブラウザ上に警告が表示される。
3. 鍵の交換
データ転送時に利用する「鍵」を交換する。鍵はデータを転送する際の暗号化、解読時の復号化に利用される。
4. 暗号化方式の確認
実際に利用する暗号化方式の最終確認作業を行う。このフェーズが完了すると暗号化通信が開始される。
HTTPSにおけるこれら4つのフェーズのやりとりは、「SSL/TLSハンドシェイク」と呼ばれる。