TLS [読み方:てぃーえるえす]
Transport Layer Securityを表す。トランスポート層(下位はIPのネットワーク層、上位はアプリケーション層)の安全性(セキュリティ)を高めるためのプロトコルで、TCPとアプリケーション(例えばWWWにおけるHTTP、H.323テレビ会議システムにおけるH.225.0呼制御)の間に位置する。TLSの機能は、通信相手が真正であることを確かめる認証、第三者による盗聴の防止、メッセージの改ざん検出である。
通信相手の認証は、認証局発行のサーバ証明書による。盗聴防止は秘密鍵によりメッセージを暗号化して行う。改竄有無の検出は、通信すべきメッセージに秘密鍵とメッセージ内容に依存するメッセージ認証コード(MAC: Message Authentication Code)を付けて送り、秘密鍵を知らないなりすまし者が改竄メッセージを作ったとしても認証コードが違うため改竄が検出できる。
それぞれの機能には、複数のツールが用意され、いずれを使うかはTLSに備えられたネゴシエーション機能で決定する。TLSを適用したときの通信の流れは次の通り。
- クライアントが暗号鍵生成に使う乱数、暗号化ツールのリスト、データ圧縮ツールのリスト、などを示して通信を開始する。
- サーバが自らの乱数、選択した暗号化ツール、選択したデータ圧縮ツールなどを示して応答する。
- サーバはクライアントに公開鍵証明書を送り、クライアントが真正な相手であることを認証して、秘密鍵を共有する。秘密鍵はサーバとクライアントが提供する乱数に基づき決定される。
- 秘密鍵を用いてメッセージを暗号化する。
現行TLSプロトコルはIETF RFC 5246(2008年8月発行)で規定されている第1.2版で、Netscape社開発のSSL 3.0に基づいている。セキュリティを強化した第1.3版は2018年8月、RFC 8446として公開された。