概要

SSL は簡単に言うと,データを暗号化してやり取りするやり方の決まりです.Secure Socket Layer の略で,暗号化された安全な通信を提供します.
SSL では,公開鍵暗号 (RSA) と秘密鍵暗号を併用しています. 公開鍵暗号を使った暗号化・復号には時間がかかるので, より高速な秘密鍵暗号の鍵 (key) を公開鍵暗号で渡すようにしています.

SSL を使うには

Netscape Communicator や Internet Explorer など,SSL に対応したブラウザがあれば OK です.
SSL を使うために特別の設定をする必要はありません. 対応しているブラウザを使っていれば, デフォルトの設定のままで必要なときには自動的に SSL が使われます.

このSSL対応ページの場合、ブラウザのコマンドバーに次のような表示を確認することができます。
(Microsoft(R) InternetExplorer5.0による表示)
 この表示が確認できるページはSSL対応ページです。また、SSLのページはURLアドレスが"https"で始まります。


暗号の必要性

インターネットでは現在 IPv4 というプロトコル(通信手順)が使われていますが, 暗号化が全く規定されていないため, 回線にラインモニタやパソコンなどを挿入すると非常に簡単に中身を覗くことができます.
インターネットは各サイトの相互接続によって成り立っていますので, 接続先が遠ければ遠いほど中継サイトが増えます. 自分が全く知らないところを通ることも少なくありません. そうなってくると,パケットを覗かれる可能性も次第に増えていきます. 安心できるかどうかは, 通り道になっているサイト全てをどこまで信用するかにかかってきます.
インターネットはどこにどんな人がつながっているかわかりませんから, クレジットカード番号などの大切な情報を送る場合には用心したほうが良いわけです.

安全性

絶対に不正解読不能な暗号というのは存在しません. もちろん,暗号文を正しく復号するには正しい鍵を知る必要がありますが, 鍵の種類は有限なので, すべての鍵を順に試して行けばいつか必ず正しい鍵にたどり着けます. しかし,正しい鍵にいき着くまでに非常に長い時間(たとえば 1000 年)かかるなら, 暗号の目的は十分達成できることになります.
一般に,鍵の長さが n [bit] ある場合の 鍵の種類は 2n ですから, 鍵が長ければ長いほど種類が増えて解読が困難に(解読に時間がかかるように)なっていきます. たとえば 40 ビットの長さの鍵なら最大で約 1 兆通り, 56 ビットなら約 7 京通り, 64 ビットなら約 1844 京通り試すといった具合です.
暗号化の方式の一つに RC4 というのがありますが, 日本で広く普及しているブラウザでは鍵の長さを 40 ビットにした RC4-40 というのがよく使われています. この RC4-40 で暗号化された文書は, しらみつぶしに鍵を調べていった場合解読に平均 64 [MIPS 年] かかると言われています. [MIPS 年] というのは計算量の単位で,計算機の性能 [MIPS] と動かし続けた時間 [年] を掛け合わせたものです. 例えば 64 [MIPS 年] なら 1 [MIPS] の性能の計算機を 64 [年],あるいは 32 [MIPS] の性能の計算機を 2 [年] 動かし続ける,といった具合です.
200 [MHz] の MMX テクノロジ Pentium プロセッサを搭載したパソコンがだいたい 300 [MIPS] 程度の性能ですから, これだと不正解読に二ヶ月半くらいかかりそうな計算になります.

関連情報

SSL や暗号化に関するさらに詳しい情報は, 以下のサイトから得ることができます.
Netscape Navigator ハンドブック
Navigator/Communicator のメニューバーの 「ヘルプ | ハンドブック(H)」から辿れます.
Q&A の中に,セキュリティに関する説明が若干あります.
Netscape Security Solutions (Netscape 社/英語)
Navigator/Communicator のメニューバーの 「ヘルプ | セキュリティについて(O)」から辿れます.
Verisign Japan
日本ベリサイン社による SSL の図解です.
RSA Labs Frequently Asked Questions (英語)
RSA Data Security 社の FAQ 集です. 日本 RSA 社の FAQ World (日本語)もあります.
IETF(英語)
SSL の次の規格と目される TLS (Transport Layer Security) の Working Group があります.
その他(英語)
OpenSSL | Fortify | Cryptozilla

※ご注意‥‥この文書は単にお客様に情報を提供するために作成されたもので,特定のソフトウエア製品の使用または不使用を推奨,要請,あるいは強要するものではありません.