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プロトコルのために開発したライブラリを起源としている。 NSSモジュールは、FIPS 140セキュリティレベル1及び2について、1997年、1999年、2002年、2007年、2010年の5回にわたり認証を受けている。NSSはFIPS 140認証を受けた最初のオープンソースライブラリである。 また、NSSはNISCCのTLS/SSLおよびS/MIMEのテストスイートに合格している Mozillaソフトウェア (Mozilla Firefox、Thunderbird、SeaMonkey、Firefox for Mobile AOL Communicator、AOL Instant Messenger (AIM) Android版およびOS X版を除くGoogle ChromeおよびChromium、Opera その他クライアントソフト：Evolution、Pidgin、OpenOffice.orgなど Red Hat Directory Server、Red Hat Certificate System mod nss SSL module Sun Java Enterprise System、Sun Java System Web Server、Sun Java System Directory Server、Sun Java System Portal Server、Sun Java System Messaging Server、Sun Java System Application Server NSSには、開発者がそれぞれのプラットフォームでの最適化のためのパッチを導入するためのフレームワークを有している。NSSは、オープンソースなクロスプラットフォームAPIであるNetscape Portable Runtime (NSPR)と協働して機能する。 ライブラリやAPIに加えて、NSSはデバッグ、診断、証明書や鍵の管理、モジュール管理などのためのツールを提供している。さらに、APIレファレンス、manページ、サンプルコードなどのドキュメント類も同梱されている。 開発者は、NSSをソースとしても動的ライブラリとしても利用することができる。NSSは後方互換性が確保されており、再コンパイルや再リンクを行うことなくNSSのアップグレードが可能である。 NSSでサポートされているセキュリティ規格は以下の通りである SSL 2.0, 3.0 TLS 1.0 (RFC 2246), 1.1 (RFC 4346), 1.2 (RFC 5246), TLS 1.3 (草稿) DTLS 1.0 (RFC 4347), 1.2 (RFC 6347) DTLS-SRTP (RFC 5764) 以下のPKCS標準 PKCS #1. RSA暗号標準 PKCS #3. Diffie-Hellman鍵共有標準 PKCS #5. パスワードに基づく暗号化の標準 PKCS #7. 暗号メッセージ構文標準 PKCS #8. 秘密鍵情報構文の標準 PKCS #9. 選択された属性タイプ PKCS #10. 証明書署名要求 PKCS #11. 暗号トークンインタフェース PKCS #12. 個人情報交換構文の標準 S/MIME (RFC 2311, RFC 2633) X.509 v3 OCSP (RFC 2560) PKIX Certificate and CRL Profile (RFC 3280) RSA, DSA, ECDSA, Diffie–Hellman, EC Diffie–Hellman, AES, トリプルDES, Camellia, IDEA, SEED, DES, RC2, RC4, SHA-1, SHA-256, SHA-384, SHA-512, MD2, MD5, HMAC FIPS 186-2 疑似乱数生成器 NSSはPKCS #11のインターフェイスを介して、SSLアクセラレータやハードウェアセキュリティモジュール、スマートカードにアクセスすることが可能である。SafeNet社やタレス・グループといったハードウェアベンダーの多くがこのインターフェイスをサポートしており、NSSが組み込まれたアプリケーションはハードウェアによる高速な暗号処理を行い、スマートカードに保存された秘密鍵を利用することが可能である。NSS 3.13からはAES-NIに対応しており、一般向けのインテル製、AMD製のプロセッサでAESの高速処理が可能となった Network Security Services for Java (JSS)はNSSのJavaインターフェイスを提供する。NSSがサポートするほとんどのセキュリティ標準と暗号技術をサポートしている他、ASN.1形式およびBER/DER形式のエンコーディングに対応している。 ^ a b “Release notes for recent versions of NSS” (2021年5月13日). 2021年7月18日閲覧。 ^ “FIPS Validation”. Mozilla Foundation (2011年11月11日). 2013年8月11日閲覧。 ^ a b “Overview of NSS”. Mozilla Foundation (2013年5月16日). 2013年8月11日閲覧。 ^ “Does Fennec use NSS?”. mozilla.dev.security.policy newsgroup (April 2010). 2013年8月11日閲覧。 ^ “External: Chrome, NSS, and OpenSSL” (2014年1月26日). 2014年6月22日閲覧。 ^ “The Chromium Project: BoringSSL”. 2015年3月7日閲覧。 ^ “Encryption Technologies Available in NSS 3.11”. Mozilla (2007年2月26日). 2013年8月11日閲覧。 ^ “AES-NI enhancements to NSS on Sandy Bridge systems” (2012年5月2日). 2013年8月11日閲覧。 ポータル FLOSS Transport Layer Security TLS実装の比較 Network Security Services JSS toolkit