TLS
TLS(Transport Layer Security)はトランスポート層で暗号化・完全性・認証を提供する。SSL を置き換え、HTTPS や SMTPS などの基盤となる。
目的
信頼できないネットワーク上にセキュアなチャネルを構築し、盗聴・改ざん・偽装を防ぐ。
メカニズム
ハンドシェイクフェーズでは TLS バージョンと暗号スイートを交渉し、サーバは証明書を提示し(必要ならクライアント証明書を要求)、ECDHE でセッション鍵を合意し、証明書を検証する。レコード層では、アプリケーションデータを合意した共通鍵で暗号化し、HMAC/AEAD で完全性を保証する。TLS 1.3 は 1-RTT ハンドシェイクに簡素化した。
ユースケース
- HTTPS の Web 暗号化
- SMTPS/IMAPS のメール
- FTPS によるファイル転送
- TLS を使った gRPC
例
- 入力
TLS 1.3 + AES-GCMOutputAn encrypted channelThe 1-RTT handshake
よくあるエラー
- Relying on outdated TLS 1.0/1.1
- Enforce TLS 1.2 or later; 1.3 preferred
関連用語
SSL
SSL(Secure Sockets Layer)は Netscape が設計した初期のセキュリティプロトコルである。TLS に置き換えられたが、名前は口語で残っている。 用語集
HTTPS
HTTPS は TLS 上の HTTP である。トランスポート層で HTTP 通信を暗号化し、機密性・完全性・サーバー認証を提供する、現代の Web 標準である。 用語集
X.509 Certificate
X.509 証明書は、公開鍵を識別情報に紐付けるものであり、検証のために CA が署名し、有効期間、発行者、サブジェクト、拡張フィールドを含む。 用語集
TLS Pinning
TLS 証明書ピン留めは、期待される証明書の公開鍵やハッシュをクライアントに埋め込み、それ以外の証明書をすべて拒否する。正規 CA が発行した偽造証明書を含む中間者攻撃を防ぐ。 用語集