本文へスキップ
ecdsa.com

TLS(Transport Layer Security)

サーバー(および任意でクライアント)を認証し、両者の間のバイトストリームを暗号化する IETF のプロトコルで、HTTPS、メール、API をはじめ、その他ほとんどのインターネットプロトコルで使われています。現行バージョンは 1.3 です。
別表記Transport Layer SecuritySSLSSL/TLSHTTPS

TLS 接続では、まずハンドシェイク(バージョン、暗号スイート、鍵交換グループのネゴシエーション、キーシェアの交換、証明書と署名による認証、鍵の導出)を行い、次にレコードプロトコルでアプリケーションデータを AEAD で暗号化します。TLS 1.3 は現在 RFC 9846(2026年7月)で規定されています。RFC 9846 は RFC 8446 に加えて RFC 5246(TLS 1.2)も廃止し、TLS 1.2 の実装に対する要件を追加しています。TLS 1.0 と 1.1 は RFC 8996(2021年)で非推奨になりました。

歴史:SSL 2.0(1995年)と 3.0(1996年)は Netscape によるもので、その後 TLS 1.0(1999年)、1.1(2006年)、1.2(2008年)、1.3(2018年)が続きました。世代ごとに破られた構成が取り除かれ、最終的に TLS 1.3 では、前方秘匿性のある鍵交換のみ、AEAD のみの暗号スイート、暗号化されたハンドシェイクという形になりました。

派生形:データグラム向けの DTLS(DTLS 1.3、RFC 9147)、TLS 1.3 のハンドシェイクを組み込んだ QUIC、クライアントも証明書を提示する mTLS があります。ポスト量子への移行は鍵交換(X25519MLKEM768 などのハイブリッドグループ)で進み、その後は証明書でも行われます。「SSL」は名前としてだけ残っています。SSL 証明書、OpenSSL、ssl_ で始まる設定ディレクティブなどです。

規格と参考文献

すべての用語