Network Security Services

Network Security Services (以下NSS)は、セキュア通信を用いるソフトウェアの開発のためのクロスプラットフォームライブラリである。NSSは、クライアントサイド、サーバサイドの双方においてTransport Layer Security (TLS)、Secure Sockets Layer (SSL)およびS/MIMEを提供し、クライアントサイドではスマートカード、サーバサイドではSSLアクセラレータに対応している。NSSはオープンソース実装であり、AOL、レッドハット、サン・マイクロシステムズ、オラクル、Googleやその他の複数の企業、個々の貢献者が共同でNSSを開発している。Mozillaはソースコードレポジトリ、バグトラッキングシステム、メーリングリストなどを提供している。当初はMozilla Public License (MPL) 1.1、GNU General Public License (GPL)、GNU Lesser General Public License (LGPL)のトリプルライセンスで提供されていたが、他のMozillaプロジェクトと同様、現在ではMPL 2.0単独でライセンスされている。
歴史.
NSSは、Netscape社がSSLプロトコルのために開発したライブラリを起源としている。
FIPS 140認証とNISCC試験.
NSSモジュールは、FIPS 140セキュリティレベル1及び2について、1997年、1999年、2002年、2007年、2010年の5回にわたり認証を受けている。NSSはFIPS 140認証を受けた最初のオープンソースライブラリである。
また、NSSはNISCCのTLS/SSLおよびS/MIMEのテストスイートに合格している
アーキテクチャ.
NSSには、開発者がそれぞれのプラットフォームでの最適化のためのパッチを導入するためのフレームワークを有している。NSSは、オープンソースなクロスプラットフォームAPIであるNetscape Portable Runtime (NSPR)と協働して機能する。
ソフトウェア開発キット.
ライブラリやAPIに加えて、NSSはデバッグ、診断、証明書や鍵の管理、モジュール管理などのためのツールを提供している。さらに、APIレファレンス、manページ、サンプルコードなどのドキュメント類も同梱されている。
開発者は、NSSをソースとしても動的ライブラリとしても利用することができる。NSSは後方互換性が確保されており、再コンパイルや再リンクを行うことなくNSSのアップグレードが可能である。
相互運用性と標準規格.
NSSでサポートされているセキュリティ規格は以下の通りである
ハードウェアサポート.
NSSはPKCS #11のインターフェイスを介して、SSLアクセラレータやハードウェアセキュリティモジュール、スマートカードにアクセスすることが可能である。SafeNet社やタレス・グループといったハードウェアベンダーの多くがこのインターフェイスをサポートしており、NSSが組み込まれたアプリケーションはハードウェアによる高速な暗号処理を行い、スマートカードに保存された秘密鍵を利用することが可能である。NSS 3.13からはAES-NIに対応しており、一般向けのインテル製、AMD製のプロセッサでAESの高速処理が可能となった
Javaのサポート.
Network Security Services for Java (JSS)はNSSのJavaインターフェイスを提供する。NSSがサポートするほとんどのセキュリティ標準と暗号技術をサポートしている他、ASN.1形式およびBER/DER形式のエンコーディングに対応している。