SSL/TLS
ニュースグループ: netscape.public.mozilla.cryptoメインテクニカルコンタクト: Nelson Bolyard
管理者に怒鳴り込もう: Bob Lord
NSS は、Secure Sockets Layer(SSL)v2 と v3、および Transport Layer Security(TLS)を実装します。このページでは、NSS 内の SSL/TLS についての情報をまとめます。
SSL プロトコルは、クライアントとサーバとの間で相互認証をできるようにし、認証され暗号化された接続を確立します。SSL は TCP/IP の上位で作動し、HTTP、LDAP、IMAP、NNTP、その他の上位レベルネットワークプロトコルの下位で作動します。SSL はもともと Netscape によって開発され、事実上のインターネット標準になりました。SSL 3.0 仕様(または SSL v3)をテキスト形式で参照する場合は、The SSL Protocol, Version 3.0 を参照してください。オリジナルの SSL 0.2 仕様(または SSL v2)については、The SSL 0.2 Specification を参照してください。
バージョンナンバーについての覚書:SSL2 および SSL3 の両者は、16 ビット(2 バイト)バージョンナンバーフィールドを持っています。SSL2 はこれを単一の 16 ビットの整数として解釈し、公式ナンバーは 2 となります(例:0x0002)。SSL3 は、2 バイトのバージョンナンバーを 1 バイトの「メジャー」ナンバーとして解釈し、1 バイトのバージョンナンバーを「マイナー」(または端数)ナンバーとして解釈します。そのため、0x0002 という値は SSL3 によって、2.0 ではなく、0.2 と解釈されます。
TLS は、IETF によって標準化された SSL ベースのプロトコルです。このプロトコルは、SSL 実装との後方互換性を保ちつつ、最終的には SSL に取って代わります。TLS プロトコル仕様のバージョン 1.0 については、The TLS Protocol を参照してください。
次に挙げる資料から、NSS によって提供される SSL/TLS API で作業をしようとする前に理解する必要のある背景情報を得ることができます:
- 公開鍵暗号化入門:NSS の基礎となる公開鍵暗号化の基本的なコンセプトを解説します。
- SSL 入門:SSL プロトコルへの入門。SSL によってサポートされている暗号化方式や SSL ハンドシェークに関わる手順を紹介します。
SSL 関連の NSS API を使用するにあたっての情報は、次を参照してください:
- Network Security Services 入門:NSS ライブラリや資料の紹介
- SSL レファレンス:SSL 操作を行う際に使用する API についての資料
- SSL サンプルコード:NSS API を使用した基本的な SSL クライアントおよびサーバの操作を例証するサンプルコードの HTML バージョン
SSL 実装のデバッグについての情報は、SSL 3.0 接続リハーサルを参照してください。
FIPS を用いた特殊な SSL 暗号スイートについての情報は、FIPS SSL CipherSuites を参照してください。