網路安全服務（Network Security Services，簡稱 NSS）是一組支援跨平臺開發安全客戶端與伺服器應用程式的程式庫，它提供伺服器側硬體 TLSSSL 加速和客戶端側智慧卡的可選支援。NSS 提供了支援 TLSSSL 及 SMIME 的完全開源實現。早前以多許可方式授權在 Mozilla 公共許可證 11、GNU 通用公共許可證和 GNU 寬通用公共許可證，但從 314 版本開始升級到 GPL 相容的 MPL 20 許可證。 歷史 NSS 的開發源自 Netscape 開發時 SSL 安全協議的發明。 FIPS 140 驗證和 NISCC 測試 NSS 軟體加密模組已 5 次透過驗證（1997 年、1999 年、2002 年、2007 年和 2010 年），符合 FIPS 140 的安全層級 1 和 2。NSS 是首個透過 FIPS 140 驗證的開源的加密程式庫。NSS 程式庫也已透過 NISCC TLSSSL 和 SMIME 測試套件（160 萬無效資料輸入的測試）。 使用 NSS 的應用程式 AOL、Red Hat、Sun 微系統 Oracle 公司、Google 及其他公司和個人貢獻者協作參與了 NSS 的開發。Mozilla 提供了開原始碼庫、缺陷跟蹤系統和郵件列表及討論組這些基礎設施。有許多款產品中使用了 NSS，以下是部分產品： Mozilla 客戶端產品，包括 Firefox、Thunderbird、SeaMonkey 和 Firefox for mobile（Fennec） 。 AOL Communicator 和 AOL Instant Messenger（AIM） Opera 開源客戶端程式，例如 Evolution、Pidgin、OpenOfficeorg 20 及更高版本，以及 Apache OpenOffice。 Red Hat 的伺服器產品：Red Hat Directory Server Red Hat Certificate System 以及 Apache 網頁伺服器的 mod nss SSL 模組。 Sun Java Enterprise System 的 Sun 伺服器產品，包括 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，目錄伺服器的開源版本 OpenDS。 Libreswan IKEIPsec 需要 NSS。它是 Openswan 的一個分支，其中可選使用 NSS。 Google Chrome 和 Chromium 曾使用 NSS，但現在它們使用 BoringSSL。 架構 NSS 包含一個框架，開發者和 OEM 廠商可以貢獻補丁，例如最佳化在其特定平臺效能的彙編程式碼。Mozilla 已認證 NSS 3x 可用於 18 種平臺。NSS 製作了一個 Netscape 行動式執行時（NSPR） 一個無關平臺的開源 API，便於跨平臺開發和完成系統功能設計。NSS、NSPR 等已被多種產品大量使用。 軟體開發工具包 除了程式庫和 API，NSS 還提供了除錯、診斷及證書和金鑰管理、加密模組管理及其他開發任務所需的安全工具。NSS 配有廣泛且持續增長的文件，包括介紹材料、API 參考、命令列工具的 man 頁面、示例程式碼。 程式設計師可以使用 NSS 作為原始碼和作為共享（動態）程式庫。每個 NSS 釋出版本都對此前的版本有向後相容性，允許 NSS 使用者直接升級到新的 NSS 共享程式庫，無須重新編譯或重新連結他們的應用程式。 互操作性和開放標準 NSS 支援一系列安全標準，包括如下所示 NSS 323 release notes ： TLS 10（RFC 2246）、11（RFC 4346）和 12（RFC 5246）。傳輸層安全（TLS）協議來自 IETF 取代的 SSL v30，並保持了對 SSL v3 實現的向後相容性。 SSL 20 和 30。安全套階層（SSL）協議允許客戶端與伺服器互相認證身份並建立一個經身份驗證且加密的連線。 DTLS 10（RFC 4347）和 12（RFC 6347）。 DTLSSRTP（RFC 5764）。 下列 PKCS 標準： PKCS 1。RSA 標準，約定基於 RSA 演算法的公鑰加密演算法實現。 PKCS 3。RSA 標準，約定 DiffieHellman 金鑰協議的實現。 PKCS 5。RSA 標準，約定基於密碼的加密法，例如加密儲存裝置上的私鑰。 PKCS 7。RSA 標準，約定加密資料的應用程式，例如數字簽名和數字信封。 PKCS 8。RSA 標準，約定私鑰的儲存和加密。 PKCS 9。RSA 標準，約定選擇的屬性型別，包括 PKCS 7。PKCS 8 和 PKCS 10 的使用。 PKCS 10。RSA 標準，約定證書請求的語法。 PKCS 11。RSA 標準，約定加密令牌的通訊（例如硬體加速器和智慧卡）並允許應用程式獨立於特定演算法和實現。 PKCS 12。RSA 標準，約定儲存或傳輸私鑰、證書和其他秘密材料的格式。 Cryptographic Message Syntax，使用在 SMIME（RFC 2311 和 RFC 2633）中。IETF 訊息標準（基於流行的網際網路 MIME 標準）提供了一個一致的方法來發送和接收簽名並已加密的 MIME 資料。 X509 v3。ITU 標準，公鑰加密中用於身份驗證的證書的格式。 OCSP（RFC 2560）。線上證書狀態協議（OCSP）提供即時的證書有效性確認服務。 PKIX 證書和 CRL 配置（RFC 3280）。按 IETF 的公鑰基礎設施（X509）工作組（也稱 PKIX）為網際網路的公鑰基礎設施開發的四個標準的部分內容組成。 RSA、DSA、ECDSA、DiffieHellman、EC DiffieHellman、AES、Triple DES、Camellia、IDEA、SEED、DES、RC2、RC4、SHA1、SHA256、SHA384、SHA512、MD2、MD5、HMAC：公鑰和對稱金鑰加密中的常用演算法。 FIPS 1862 偽隨機數生成器。 硬體支援 NSS 支援 PKCS 11 介面訪問加密裝置，例如 SSL 加速器、HSMs 和智慧卡。自從大多數裝置供應商（例如 SafeNet 和 Thales）也支援此介面，使用 NSS 的應用程式可以使用加密硬體高速運作，以及使用駐留在智慧卡上的私鑰，只要裝置供應商提供了必要的中介軟體。NSS 313 及更高版本中支援高階加密標準新指令（AESNI）。 Java 支援 Network Security Services for Java（JSS）包含一個指向 NSS 的 Java 介面。它由 NSS 提供，支援大多數安全標準和加密技術。JSS 也提供一個純 Java 介面用於 ASN1 型別和 BERDER 編碼。Mozilla CVS 樹提供了指向 NSS 的 Java 介面的原始碼。 另見 資訊安全 TLS 的應用對比 OpenSSL MatrixSSL 參考資料 外部連結 Network Security Services Network Security Services JSS toolkit Category 加密軟體 Category 電子商務 Category 網際網路標準 Category 網際協議 CategoryMozilla CategoryNetscape Category 保密通訊 Category 傳輸層安全協議