Network Security Services

Network Security Services (NSS) は、セキュアな通信を必要とするソフトウェア開発のためのクロスプラットフォームライブラリです。クライアントサイド、サーバーサイドの両方で、Transport Layer Security (TLS)、Secure Sockets Layer (SSL)、S/MIME を提供し、クライアントサイドではスマートカード、サーバーサイドではSSLアクセラレータに対応しています。

NSSはオープンソースで開発されており、AOLレッドハットサン・マイクロシステムズ、オラクル、Google、そして多くの個人貢献者が共同で開発を行っています。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は、以下のソフトウェアで利用されています。

Mozilla Firefox、Thunderbird、SeaMonkeyFirefox for Mobile
AOL Communicator、AOL Instant Messenger (AIM)
Android版およびOS X版を除くGoogle ChromeおよびChromiumOpera
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は、開発者がそれぞれのプラットフォームでの最適化のためのパッチを導入するためのフレームワークを提供しています。また、オープンソースなクロスプラットフォーム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 #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に対応し、Intel製やAMD製のプロセッサでAESの高速処理が可能になりました。

Javaのサポート



Network Security Services for Java (JSS) は、NSSのJavaインターフェースを提供します。NSSがサポートするほとんどのセキュリティ標準と暗号技術をサポートしているほか、ASN.1形式およびBER/DER形式のエンコーディングに対応しています。

脚注



関連項目
Transport Layer Security
TLS実装の比較
外部リンク
Network Security Services
JSS toolkit

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。