TLS (Transport Layer Security)とは
TLS (Transport Layer Security)とは、 TCP/IPを使ったさまざまなサーバとクライアントの通信で、 セキュアなチャンネル(通信路)を利用できるようにする仕組みです。 TLSはアプリケーション・プロトコルとは独立していて、 HTTP (Hyper Text Transfer Protocol)やSMTP (Simple Mail Transfer Protocol)、 IMAP (Internet Message Access Protocol)といった、 いろいろなプロトコルで利用できるようになっています。
以前はSSL (Secure Sockets Layer)と呼ばれていましたが、 IETFでRFC2246*1として標準化される際に、 名称を変更してTLSと呼ばれるようになりました。 ただ、現在でも「SSL/TLS」と呼称されたり、「SSLサーバ証明書」などのように、 「TLS」を省いて呼称されたりすることもあります。
SSLは、Webのビジネス利用が注目され始めた1994年に開発されたもので、 開発当時は通信データのプライバシー保護に主眼が置かれていました。
TLSが提供するセキュアなチャンネルでは、
- 通信データを暗号化することで盗聴しても内容が分からないようにする
- 通信データが伝送される途中で改ざんされた時にそれを検出する
- 通信相手が正しいということを確認できる
という、三つの機能を提供します。 ただし、3.はTLSプロトコルそのものではなく、TLSで使用する電子証明書に含まれる公開鍵と、 電子証明書の有効性のチェックを併用することで行われます。
脆弱性のあるプロトコルや、強度が低くなったアルゴリズムの利用を避けるために、 SSLについてはすべてのバージョンが、 TLSについてはバージョン1.0および1.1の利用が推奨されなくなっています*2。 2018年6月時点で最新のバージョンであるTLS1.3では、 サーバーとクライアントの双方が利用する暗号アルゴリズムなどを決めるためのやり取りである、 ハンドシェイクを改善し、接続の高速化を図る0-RTTや、 通信データが将来解読されてしまうのを防ぐPFS (Perfect Forward Secrecy)を必須化する、 といった改良が行われています。
*1 "The TLS Protocol", RFC2246, January 1999,
https://www.ietf.org/rfc/rfc2246.txt
*2 "Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)", RFC7525, May 2015,
https://tools.ietf.org/html/rfc7525
■参考
JPNICニュースレター No.59 (2015年3月発行)
インターネット10分講座「SSL/TLS 20年の歩みと動向」
https://www.nic.ad.jp/ja/newsletter/No59/0800.html