SSLの歴史

文 :
Write :

概要

現在,通信路の暗号化の手段として,SSL(Secure Socket Layer)やTLS(Transport Layer Security)が広く使われています.
ソケットライブラリによる実装のため,上位のレイヤーであるアプリケーション層のプロトコルに依存しないため,既存のプロトコルを簡単に暗号化できます.
代表的な利用例として,HTTP(Hyper Text Transport Protocol)をSSL化したHTTPS,POP3(Post Office Protocol version 3)をSSL化したPOP3Sなどがあります.

SSL1.0

SSLは,Webサーバとブラウザの大手ベンダーであったNetscape社が,Webサーバとブラウザ間の通信を暗号化する目的で開発しました.
SSL1.0は仕様書という形で存在しますが,実際の実装例や製品は存在しません.(ブラウザでもSSL1.0の項目は無いはずです)

SSL2.0

1994年に実際のSSLの実装例としてNetscape Navigator 2や,Microsoft Internet Explorer 3といった製品で採用されました.

SSL3.0

SSL2.0には,乱数ジェネレータの実装に実装上のバグがあり,Man-in-the-Middle攻撃(中間者攻撃)という手法で,第3者が通信を傍受したり,成りすましたりすることができるため,1996年にこれを改善したSSL3.0が提案されました.
当初,米国政府によるCrypto export rules(暗号輸出規制)のため,米国外に40bitを超える共通鍵暗号方式,512bitを超える公開鍵暗号方式を実装したハードウェア,ソフトウェアの輸出を規制していたため,米国外の国では,40bitのDES共通鍵暗号方式,512bitのRSA公開鍵暗号方式による実装となりました.その後,一部規制緩和で一部金融機関向けなどに限りDES56bitが,秘密鍵を第3者機関に提出することで,DES128bitの輸出が可能になりました.
これは,米国外で犯罪への悪用が行われた際,米国政府によるBrute Force Attack(総当り攻撃)による暗号解読が40bitを超えると不可能であったためと言われています.ちなみに当時,100万ドル程度の汎用コンピュータでは40bitのDES共通鍵暗号は30分程度で解読できたと言われています.
その後,2000年に規制が緩和され,米国外でも128bit以上の共通鍵暗号方式の実装が可能になり,ブラウザなどではパッチなどによるアップデートで対応する形となりました.
余談ですが,40bitを超える暗号化実装のソースコードを,言論の自由を理由に米国外に持ち出し,それを用いた実装などが一部では行われていました.

TLS1.0

SSL3.0の次世代規格として1999年に提案されたのが,TLS1.0です.実装的にはSSL3.1といった形となっています.
規格策定などが,SSLのNetscape社から,IETF(Internet Engineering Task Force)に移りました.
SSL3.0とほとんど差異はありませんが,データの改ざんなどをチェックする,MAC(Message Authentication Code)の仕様などが一部変更されています.

TLS1.1

現在,次世代規格としてTLS1.1の規格策定作業が行われています.

サーバの対応状況

SSL/TLSは,HTTPSを使ったwww(World Wide Web)の仕組みの中で使われることが多いですが,wwwサーバで圧倒的なシェアのApacheでは,mod_sslという形でSSL2.0,SSL3.0,TLS1.0に対応しています.
また,多くのソフトで使われるOpenSSLライブラリでも,同様にSSL2.0,SSL3.0,TLS1.0に対応しています.
Welcome spammers. If you are spammer, please mail to honeypot@bitcoffee.com. Thanks your spam!!