SSL

読み:エスエスエル
外語:SSL: Secure Sockets Layer
品詞:名詞

セキュリティを要する通信で用いられる、代表的なプロトコルの一つ。

Netscape Communicationsにより開発された。

SSLは、SSL証明書を用いて、次の機能を実現する。

  • 通信内容の暗号化
  • 通信相手の証明
    • なりすましを防止する通信相手の認証
    • 伝送中にメッセージの改竄が無いかを調べる認証

暗号化によって安全な通信を実現すると共に、SSL証明書の認証による通信相手の実在性を保証する。

鍵の交換

認証は公開鍵暗号方式で行ない、通信の暗号化は慣用暗号方式で行なう。

二種類の暗号を併用しているのは理由がある。公開鍵暗号方式は優れた技術だが、慣用暗号方式に比べて処理が複雑で、計算に時間がかかる。これをWebのデータ転送用に使うのは些か無理がある。

しかし、慣用暗号方式を通信に使うとなると、そのの受渡方法に困ることになる。通信に危険があるから暗号が必要なのであって、その通信で生の鍵を送るのでは暗号の意味がない。

そこで、公開鍵暗号方式で慣用暗号方式の鍵を暗号化して送信し、実際の通信はその鍵を使って慣用暗号方式で行なう。両者を上手く組み合わせ、高速で安全な暗号化を実現している。

完全性の確認

伝送データの完全性は、データをメッセージダイジェスト関数(ハッシュ関数)に通して得られるMAC(Message Authentication Codes)と呼ばれる数値を比較する。これは、指紋(フィンガープリント)とも呼ばれる。

データに変更があればこの数値が変化するため、改竄を検知することができる。

バージョン

SSLには大きくSSLv2とSSLv3があり、現在はSSLv3が使用されている。

SSLv2は脆弱性があったため、殆ど使われなかった。

SSLバージョン2.0

セッション鍵交換
RSA
認証
RSA
セッション暗号化
RC4、RC2DES/3DESIDEA
メッセージ認証
MD5

SSLバージョン3.0

セッション鍵交換
RSA、Diffie-Hellman(DH)
認証
RSA、DSS/DSA
セッション暗号化
RC4、RC2、DES/3DES、IDEA
メッセージ認証
SHA-1、MD5

証明について

正しく用いれば、SSL証明書が本物のWebサイトかどうかを証明してくれる。

個人情報や、クレジットカード番号の入力などは、暗号化だけでなく、その先が本物かどうかも重要な要素であるため、証明は大切である。

しかし、SSL証明書の発行は非常にお粗末なのが実態で、挙句の果てには自分で自分を証明(?)したりした信頼性0のSSL証明書、通称「オレオレ証明書」を使うサイトまで登場した。

かくして、SSLの仕様上は「本物のSSL証明書」を使った偽サイト「フィッシングサイト」も登場することとなり、問題となった。

後継

SSL証明書の信頼性がなくなったため、現在は「EV SSL証明書」も使われる。