chot Inc.

ちょっと株式会社 社員ブログ
Blog
  • ホーム
  • ブログ
  • それ,本当に SSL ですか?意外と知られていない昔話

それ,本当に SSL ですか?意外と知られていない昔話

ナレッジ・ノウハウ
それ,本当に SSL ですか?意外と知られていない昔話

SHARE

こんにちは,外部技術顧問の しけちあ です.今回は, SSL (Secure Socket Layer) をご紹介します.

SSL は 1995 年ごろに NetScape Communications において開発された[1],セキュアな E2E 通信を提供するためのプロトコルです. SSL 2.0 ,3.0 とバージョンアップを重ねていきましたが, 2011 年には SSL 3.0 の仕様が IETF RFC 6101 に Historical Document としてアーカイブされ[2],併せて IETF RFC 6176 では多数の脆弱性を持っていた[3] SSL 2.0 が Deprecated (非推奨) と定義されました.さらに,2014 年に POODLE という脆弱性が見つかったため[4] 2015 年には SSL 3.0 も RFC 7568 で Deprecated と定義されました[5].これ以降 SSL の新しいバージョンは発表されませんでした.

大事なことなのでもう一度述べます. SSL 3.0 は非推奨です.そして SSL 3 より先のバージョンはありません.言い換えればすでに SSL はすべて脆弱性が見つかったために非推奨と定義されています.そのため SSL 3.0 は現在ほとんどの Web サイトで使用されていません[6].では一体私たちは何を SSL と呼んでいるのでしょうか.

1999 年に IETF RFC 2246 で TLS 1.0 という規格が定義されました[7].これは SSL 3.0 の代替として開発されたもので,その違いについては以下のように述べられています:

The differences between this protocol and SSL 3.0 are not dramatic, but they are significant enough that TLS 1.0 and SSL 3.0 do not interoperate (although TLS 1.0 does incorporate a mechanism by which a TLS implementation can back down to SSL 3.0).


TLS 1.0 は革新的な規格でしたが, 2006 年に IETF RFC 4346 で TLS 1.1 が定義された[8] のち, 2008 年には TLS 1.2[9] , 2018 年には TLS 1.3[10] が定義され,機能追加や改善が盛り込まれました.ここでは TLS の各バージョンの説明はしませんが,新しいバージョンの普及とともに古いバージョンは徐々に使われなくなってきました

現在,どのバージョンがどのくらい使われているのかは,パケットを実際にキャプチャみると明確に分かります.以下は Wireshark を利用して SSL および TLS のハンドシェイクパケットを抽出した例です^説明の都合上,QUIC による TLS 1.3 ハンドシェイクは除外しています:


パケットキャプチャの結果からもわかる通り,現在私たちが使っているのでは SSL ではなく TLS であり,また,ほとんどが TLS 1.2 または TLS 1.3 です. TLS 1.3 はまだ新しい規格であるため,これから QUIC[11] とともに普及していくことが期待できます.人前で TLS のことを SSL と言ってしまうと, TLS のことを知らないと思われてしまう可能性がありますので,この機会にぜひ覚えてみてください.

余談ですが,ここまで SSL という名前は染み付いているのには, SSL の Deprecation が 2011 年と比較的最近であることに加えて OpenSSL というライブラリの存在があると感じます.いつの日か OpenTLS という名前に変更されることを祈願して,終わりのあいさつとします.

Cover photo by Towfiqu barbhuiya via Unsplash

しけちあ

技術顧問

なんでもエンジニア

関連記事

Copyright © 2022, chot inc.