ネットワーク セキュリティ サービス(NSS)
メイン テクニカル コンタクト: Bob Relyea
管理人:Wan-Teh Chang
ネットワーク セキュリティ サービス (Network Security Services: NSS)とは、セキュリティ強化可能なクライアントやサーバアプリケーションのクロスプラットフォーム開発を支援するように設計されたライブラリーの一式です。NSS と共にビルドされたアプリケーションは、 SSL v2 および v3、 TLS、 PKCS #5、 PKCS #7、 PKCS #11、 PKCS #12、 S/MIME、 X.509 v3 証明書、 その他のセキュリティ規格をサポートします。サポートされている規格についての詳細情報は、NSS 概観 をご覧ください。
NSS は Mozilla Public License、GNU General Public License、または GNU Lesser General Public License のもとで利用できます。tar 形式で NSS リリースをダウンロードする際の情報は、PKI ソースをダウンロードする をご覧ください。
NSS について現在行われている技術的な議論に参加するには、irc.mozilla.org サーバーの #mozcrypto IRC チャンネルをご利用ください。
プロジェクト情報
S/MIME ツールキットモジュール
SSL/TLS モジュール
ドキュメント
Mozilla CVS 情報
プロジェクト情報
NSS 3.10 がリリースされました。
現在は NSS 3.11 に向けた作業をしています。
2005年 5月 19日:NSS 3.10 リリース
NSS 3.10 は 2005年 4月 27日に完成しました。CVS タグは NSS_3_10_RTM です。このリリースは、DBM ライブラリー (mozilla/dbm および mozilla/security/dbm) が NSS ソースツリーの一部となった初めてのものです。NSS 3.10 は NSPR 4.5.1 (CVS タグは NSPR_4_5_1_RTM) 以降で利用できます。間もなくリリースノートを掲載する予定です。2005年 5月 19日:NSS 3.9.5 リリース
NSS 3.9.5 は NSS 3.9 の最新パッチリリースです。CVS タグは NSS_3_9_5_RTM です。2004年 1月 8日:NSS 3.9 リリース
NSS 3.9 の新機能と拡張機能には、GeneralizedTime のサポート、RFC 3280 互換をもつ名前制約、そして複数トークンでの重複証明書インスタンスを一覧表示する機能があります。NSS 3.9 は、クラッシュもメモリーリークもすることなく、すべての NISCC SSL/TLS および S/MIME テスト(valid なインプットデータを用いた 160 万回のテストケース)を通過します。NSS を利用しているカスタマーには、次回発表するリリースで NSS 3.9 へとアップグレードすることをお勧めします。詳細は NSS 3.9 リリースノート を御覧ください。2003年 6月 20日:NSS 3.7.7 がリリース
NSS 3.7.7 は NSS 3.7 用のパッチリリースです。NSS 3.7.7 で修正されたバグの一覧は、NSS 3.7.7 リリースノート をご覧ください。2003年 5月 21日:NSS 3.7.5 がリリース
NSS 3.7.5 は NSS 3.7 用のパッチリリースです。NSS 3.7.5 で修正されたバグの一覧は、NSS 3.7.5 リリースノート をご覧ください。2003年 4月 10日:NSS 3.8 がリリース
NSS 3.8 の新機能や機能強化には、SHA-256、SHA-384、そして SHA-512 アルゴリズム、拡張されたスマートカードサポート、さらに Sun Labs から提供された楕円関数暗号コード(ディフォルトではコンパイルされていません)が含まれています。詳しくは NSS 3.8 リリースノート をご覧ください。2003年 3月 20日:NSS 3.7.3 がリリース
NSS 3.7.3 は NSS 3.7 用のパッチリリースです。NSS 3.7.3 で修正されたバグのリストは、NSS 3.7.3 リリースノート をご覧ください。2003年 3月 10日:NSS 3.7.2 がリリース
NSS 3.7.2 は NSS 3.7 用のパッチリリースです。NSS 3.7.2 で修正されたバグのリストは、NSS 3.7.2 リリースノート をご覧ください。2003年 3月 4日:NSS 3.4.3 がリリース
NSS 3.4.3 は NSS 3.4 用のパッチリリースです。NSS 3.4.3 で修正されたバグのリストは、NSS 3.4.3 リリースノート をご覧ください。2003年 2月 27日:セキュリティの脆弱性:CBC モードブロック暗号への Vaudenay タイミング攻撃
最近 CBC モードブロック暗号スイートの SSL/TLS 実装に対してタイミングベースの攻撃が明らかにされました。現時点では SSL および TLS の実装は、この攻撃方法に対して無防備な状態です。通常このタイプの脆弱性はサーバ側で明らかになりますが、この欠陥は機密データの受取人側で起こるものです。この攻撃がサーバ側で問題となるのは、次の全てが実装されている時に限ります:
- (NSS 2.8 以降でサポートされている)TLS;
- ブロック暗号を使用する暗号スイート;
- パスワードなどの機密データを、単一のクライアントから複数のメッセージと共に全く同時に受信する可能性があるアプリケーションプロトコル。
すでに対策は取られており、近く NSS パッチをリリースする予定です。更新された NSS が利用できるようになるまで、次の対策をお奨めします:
- Netscape/Mozilla ブラウザのユーザは対策をする必要はありません。脆弱性を抱えたサーバへの予防処置として TLS を無効にするか、CBC モードブロック暗号スイートを無効にすることもできます。
- NSS 2.8 以降を利用しているサーバまたは TLS を利用可能にしているサーバの管理者は対策が必要です。TLS を無効にするか、CBC モードブロック暗号スイートを無効にしてください。
詳細情報は、セキュリティ欠陥についての私たちの記事 を参照してください。
2003年 1月 29日:NSS 3.7.1 がリリース
NSS 3.7.1 は NSS 3.7 のためのパッチリリースです。NSS 3.7.1 でフィックスされたバグの一覧は、NSS 3.7.1 リリースノート をご覧ください。2002年 12月 20日:NSS 3.7 がリリース
NSS 3.7 の新しい機能や拡張機能には、大きな CRL や証明書の題名のための複数電子メールアドレスのサポートが含まれます。詳細は、NSS 3.7 リリースノート をご覧ください。2002年 12月 4日:NSS 3.6.1 がリリース
NSS 3.6.1 は NSS 3.6 のためのパッチリリースです。NSS 3.6.1 でフィックスされたバグの一覧は、NSS 3.6.1 リリースノート をご覧ください。2002年 10月 18日:NSS 3.6 がリリース
NSS 3.6 の新しい機能および拡張機能には、新しい証明書処理機能、SSL 機能、改良された証明書パス機構、格段に改良された CRL パフォーマンスおよびメモリ使用、改良された SSL クライアント認証パフォーマンス、そして PKCS #11 セッションログ機能があります。詳細情報は、NSS 3.6 リリースノート をご覧ください。2002年 7月:NSS 3.5 がリリース
NSS 3.5 は、Mozilla 1.0.1 および Netscape 7 用に作成された、暫定的なリリースです。その他の NSS クライアントは、NSS 3.6 にアップグレードすることをお奨めします。2002年 7月 10日:NSS 3.4.2 がリリース
NSS 3.4.2 は、NSS 3.4 のためのパッチリリースです。NSS 3.4.2 でフィックスされたバグの一覧は、NSS 3.4.2 リリースノート をご覧ください。2002年 5月 6日:NSS 3.4.1 リリース
NSS 3.4.1 は NSS 3.4 用のパッチリリースです。NSS 3.4.1 でフィックスされているバグのリストは、NSS 3.4.1 リリースノート をご覧ください。2002年 5月 6日:NSS 3.4 リリース
NSS 3.4 には NSS 4.0 (コードネーム:Stan)の中心部分が一部組み込まれています。これは新しい TLS AES 暗号化スイートをサポートします。詳細情報は、NSS 3.4 リリースノート をご覧ください。2001年 12月 12日:NSS 3.3.2 リリース
NSS 3.3.2 は NSS 3.3 に関連したパッチです。NSS 3.3.2 でフィックスされたバグのリストは、NSS 3.3.2 リリースノート をご覧ください。2001年 11月 9日:NSS 3.3.1 リリース
NSS 3.3.1 は NSS 3.3 に関連したパッチです。NSS 3.3.1 でフィックスされたバグのリストは、 NSS 3.3.1 リリースノート をご覧ください。 .2001年 7月 26日:NSS 3.3 リリース
NSS 3.3 リリースでは、 JSS(3.1 以降)が NSS の共有ライブラリを利用することができるようになっており、クライアント向けには SSL/TLS 用の 5 つの新しい DHE 暗号スイートが実装されています。詳細情報は NSS 3.3 リリースノート をご覧ください。
NSS の Java インターフェースのためのソースコードが Mozilla CVS ツリーで利用可能です。詳細情報は Java のためのネットワークセキュリティサービス をご覧ください。
NSS 3.3 ソースが CVS 経由 で利用可能です。またhttp://lxr.mozilla.org/mozilla/source/security/nss/ で HTML (LXR ルーツ経由)で見ることができます。
2001年 4月 6日:NSS 3.2.1 リリース
NSS 3.2.1 では改良された SSL パフォーマンスやバグフィックスが pk12util に、また証明書請求操作が部分的に提供されます。詳細は、 NSS 3.2.1 リリースノート をご覧ください。
NSS 3.2.1 はまた、より解りやすくなったビルドインストラクションを備えています。詳細は、 NSS 3.2.1 リリースのためのビルドガイド をご覧ください。ビルドシステムや将来の開発への提案については、The NSS Build System: History and Future Directions をご覧ください。
2001年 3月 2日:NSS 3.2 リリース
NSS 3.2 は初めて共有ライブラリーをサポートします。詳細は、NSS 3.2 リリースノート をご覧ください。
NSS 3.2 DLL からエクスポートされた NSS 3.2 Public Functions のみを利用するアプリケーションは、将来発表されるバージョンの共有ライブラリーでも作動することが保証されています。
S/MIME ツールキットモジュール
S/MIME を利用したアプリケーションのクロスプラットフォーム開発をサポートするようにデザインされた NSS ライブラリについての情報は、S/MIME ツールキット をご覧ください。これらライブラリは、もともと Communicator 4.x およびパーソナルセキュリティマネージャ(PSM)で S/MIME をサポートするように作成され、S/MIME アプリケーションのクロスプラットフォーム開発のための新しい S/MIME ツールキットの基礎をなします。
SSL/TLS モジュール
SSL や TSL を利用可能にしたアプリケーションのクロスプラットフォーム開発をサポートするようにデザインされた NSS ライブラリについての情報は、SSL/TLS をご覧ください。これらライブラリは SSL モジュールの基礎を形成します。
参考文献
背景を説明した情報:
- NSS 概観:NSS とその機能の簡単なまとめ。
- NSS FAQ:NSS についての基本的な質問の答え。
- 公開鍵暗号入門:NSS を基礎にした公開鍵暗号化の基本的な概念についての説明。
- SSL 入門:SSL プロトコル入門。SSL によってサポートされている暗号鍵や SSL ハンドシェークの手順が含まれます。
歴史:
- NSS の歴史: NSS の略歴。
- NSS プロジェクトプラン: NSS 3.0 以降のリリースのためのプロジェクトプランへのリンク。
- NSS リリースノート: NSS 3.0 移行のリリースノートへのリンク。
- NSS への貢献者 では、 NSS プロジェクトへの主だった貢献者のリストを掲載しています。
NSS API:
- ネットワークセキュリティサービス入門: NSS 3.2 ライブラリやライブラリを利用する際に知っておく必要のある事項についての概観。
- NSS 3.4 Public Functions は、NSS 3.4 共有ライブラリからエクスポートされた API について間単に解説します。 これら API は将来の NSS 3.4 ライブラリと共に動作することが保証されています。
- SSL リファレンス: SSL 操作を呼び出すために使われる API。
- NSS API ガイドライン: ライブラリやコードがどのように整理されているのか、また開発コード (ネーミングコンベンション、エラー処理、スレッドセーフティ、など) について解説します。
- NSS テクニカルノート:NSS テクニカルノートへのリンクです。新しい NSS 機能についての最新情報や、NSS を利用したプログラミングに関する高度な話題についての補足的な資料を提供します。
ツール、テスト、およびその他の技術情報:
- NSS のビルドガイド(リンクの情報は NSS リリースノート をご覧ください): NSS リリースのチェックアウトおよびビルド方法の解説。
- NSS ツール: 開発用、デバッグ、そして NSS を利用するアプリケーションの管理。
- NSS 3.2 テストスィート: 標準的な NSS テストをどう行うかを解説します。
- NSS パフォーマンスレポート: NSS 3.2 とそれ以降のパフォーマンスレポートへのリンク。
- NSS 3.9 で利用可能な暗号技術 には、 NSS 3.9 で利用されている暗号アルゴリズムの一覧があります。
- NSS 3.1 ロード可能なルート証明書 では、ルート CA 証明書をロードする新しい仕組みを解説します。
- cert7.db: cert7.db データベースの一般フォーマットについて。
- 証明書データベースのコンテンツバージョン番号: cert7.db 内のコンテンツバージョン番号に関しての情報。
暗号化モジュールの実装のための PKCS #11 情報:
- NSS のために PKCS #11 を実装する
- PKCS #11 FAQ
- PKCS #11 暗号化モジュールをインストールするために JAR インストレーションマネジャーを利用する
- PKCS #11 適合性テスト
NSS は、Netscape Portable Runtime (NSPR) を基礎にしており、 NSS を利用している開発者は、何らかの NSPR 機能を呼び出さなければなりません。 NSPR の情報は、次をご覧ください:
- Netscape Portable Runtime: NSPR のプロジェクトページ。
- NSPR リファレンス: NSPR API ドキュメント。
Mozilla CVS 情報
さまざまな NSS リリースに付いている CVS タグは NSS リリースノート に示されています。
NSS ソースコードは mozilla/security/coreconf/ および mozilla/security/nss/ ディレクトリ内にあります。