複製鏈接
請複製以下鏈接發送給好友

網絡安全服務

鎖定
網絡安全服務Network Security Services,簡稱NSS)是一組支持跨平台開發安全客户端與服務器應用程序的程序庫,它提供服務器側硬件TLS/SSL加速和客户端側智能卡的可選支持。NSS提供了支持TLS/SSLS/MIME的完全開源實現。早前以多許可方式授權在Mozilla公共許可證 1.1、GNU通用公共許可證GNU寬通用公共許可證,但從3.14版本開始升級到GPL兼容的MPL 2.0許可證。
中文名
網絡安全服務
外文名
Network Security Service
簡    稱
NSS
性    質
程序庫
參與公司
AOL、Red HatGoogle
領    域
網絡安全

網絡安全服務歷史

NSS的開發源自Netscape開發時SSL安全協議的發明。
FIPS 140驗證和NISCC測試:NSS軟件加密模塊已5次通過驗證(1997年、1999年、2002年、2007年和2010年),匹配FIPS 140的安全層級1和2。NSS是首個通過FIPS 140驗證的開源的加密程序庫。NSS程序庫也已通過NISCC TLS/SSL和S/MIME測試包(160萬無效數據輸入的測試)。 [1] 

網絡安全服務使用NSS的應用程序

AOL、Red Hat、Sun微系統/Oracle公司、Google及其他公司和個人貢獻者協作參與了NSS的開發。Mozilla提供了開源代碼庫、缺陷跟蹤系統和郵件列表及討論組這些基礎設施。有許多款產品中使用了NSS,以下是部分產品:
  • Mozilla客户端產品,包括FirefoxThunderbirdSeaMonkey和Firefox for mobile(Fennec)。
  • AOL Communicator和AOL Instant Messenger(AIM)
  • 開源客户端程序,例如EvolutionPidgin、OpenOffice.org 2.0及更高版本,以及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 IKE/IPsec需要NSS。它是Openswan的一個分支,其中可選使用NSS。
  • Google ChromeChromium曾使用NSS,但它們使用BoringSSL。 [1] 

網絡安全服務架構

NSS包含一個框架,開發者和OEM廠商可以貢獻補丁,例如優化在其特定平台性能的彙編代碼。Mozilla已認證NSS 3.x可用於18種平台。NSS製作了一個Netscape便攜式運行時(NSPR),一個無關平台的開源API,便於跨平台開發和完成系統功能設計。NSS、NSPR等已被多種產品大量使用。 [2] 

網絡安全服務軟件開發工具包

除了程序庫和API,NSS還提供了調試、診斷及證書和密鑰管理、加密模塊管理及其他開發任務所需的安全工具。NSS配有廣泛且持續增長的文檔,包括介紹材料、API參考、命令行工具的man頁面、示例代碼。
程序員可以使用NSS作為源代碼和作為共享(動態)程序庫。每個NSS發佈版本都對此前的版本有向後兼容性,允許NSS用户直接升級到新的NSS共享程序庫,無須重新編譯或重新鏈接他們的應用程序。 [2] 

網絡安全服務互操作性和開放標準

NSS支持一系列安全標準,包括如下所示:
  • TLS1.0(RFC 2246)、1.1(RFC 4346)和1.2(RFC 5246)。傳輸層安全(TLS)協議來自IETF取代的SSL v3.0,並保持了對SSL v3實現的向後兼容性。
  • SSL2.0和3.0。安全套階層(SSL)協議允許客户端與服務器互相認證身份並創建一個經身份驗證且加密的連接。
  • DTLS 1.0(RFC 4347)和1.2(RFC 6347)。
  • DTLS-SRTP(RFC 5764)。
  • 下列PKCS標準:
    • PKCS #1。RSA標準,約定基於RSA算法的公鑰加密算法實現。
    • PKCS #3。RSA標準,約定Diffie–Hellman密鑰協議的實現。
    • 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,使用在S/MIME(RFC 2311和RFC 2633)中。IETF消息標準(基於流行的互聯網MIME標準)提供了一個一致的方法來發送和接收簽名並已加密的MIME數據。
  • X.509 v3。ITU標準,公鑰加密中用於身份驗證的證書的格式。
  • OCSP(RFC 2560)。在線證書狀態協議(OCSP)提供實時的證書有效性確認服務。
  • PKIX證書和CRL配置(RFC 3280)。按IETF的公鑰基礎設施(X.509)工作組(也稱PKIX)為互聯網的公鑰基礎設施開發的四個標準的部分內容組成。
  • RSA、DSA、ECDSA、Diffie–Hellman、EC Diffie–Hellman、AES、Triple DES、CamelliaIDEA、SEED、DES、RC2、RC4、SHA-1、SHA-256、SHA-384、SHA-512、MD2、MD5HMAC:公鑰和對稱密鑰加密中的常用算法。
  • FIPS186-2偽隨機數生成器。 [2] 

網絡安全服務硬件支持

NSS支持PKCS #11接口訪問加密設備,例如SSL加速器、HSM-s和智能卡。自從大多數設備供應商(例如SafeNet和Thales)也支持此接口,使用NSS的應用程序可以使用加密硬件高速運作,以及使用駐留在智能卡上的私鑰,只要設備供應商提供了必要的中間件。NSS 3.13及更高版本中支持高級加密標準新指令(AES-NI)。 [2] 

網絡安全服務Java支持

Network Security Services for Java(JSS)包含一個指向NSS的Java接口。它由NSS提供,支持大多數安全標準和加密技術。JSS也提供一個純Java接口用於ASN.1類型和BER/DER編碼。Mozilla CVS樹提供了指向NSS的Java接口的源代碼。 [2] 
參考資料
  • 1.    NSS 3.14 release notes. MDN. Mozilla Developer Network. [2015-09-01]. The NSS license has changed to MPL 2.0. Previous releases were released under a MPL 1.1/GPL 2.0/LGPL 2.1 tri-license.
  • 2.    Network Security Services. Mozilla. 2013-05-16