更新时间:2022-08-25 18:50
网络安全服务(Network Security Services,简称NSS)是一组支持跨平台开发安全客户端与服务器应用程序的程序库,它提供服务器侧硬件TLS/SSL加速和客户端侧智能卡的可选支持。NSS提供了支持TLS/SSL及S/MIME的完全开源实现。早前以多许可方式授权在Mozilla公共许可证 1.1、GNU通用公共许可证和GNU宽通用公共许可证,但从3.14版本开始升级到GPL兼容的MPL 2.0许可证。
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万无效数据输入的测试)。
NSS包含一个框架,开发者和OEM厂商可以贡献补丁,例如优化在其特定平台性能的汇编代码。Mozilla已认证NSS 3.x可用于18种平台。NSS制作了一个Netscape便携式运行时(NSPR),一个无关平台的开源API,便于跨平台开发和完成系统功能设计。NSS、NSPR等已被多种产品大量使用。
除了程序库和API,NSS还提供了调试、诊断及证书和密钥管理、加密模块管理及其他开发任务所需的安全工具。NSS配有广泛且持续增长的文档,包括介绍材料、API参考、命令行工具的man页面、示例代码。
程序员可以使用NSS作为源代码和作为共享(动态)程序库。每个NSS发布版本都对此前的版本有向后兼容性,允许NSS用户直接升级到新的NSS共享程序库,无须重新编译或重新链接他们的应用程序。
NSS支持一系列安全标准,包括如下所示:
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、Camellia、IDEA、SEED、DES、RC2、RC4、SHA-1、SHA-256、SHA-384、SHA-512、MD2、MD5、HMAC:公钥和对称密钥加密中的常用算法。
FIPS186-2伪随机数生成器。
NSS支持PKCS #11接口访问加密设备,例如SSL加速器、HSM-s和智能卡。自从大多数设备供应商(例如SafeNet和Thales)也支持此接口,使用NSS的应用程序可以使用加密硬件高速运作,以及使用驻留在智能卡上的私钥,只要设备供应商提供了必要的中间件。NSS 3.13及更高版本中支持高级加密标准新指令(AES-NI)。
Network Security Services for Java(JSS)包含一个指向NSS的Java接口。它由NSS提供,支持大多数安全标准和加密技术。JSS也提供一个纯Java接口用于ASN.1类型和BER/DER编码。Mozilla CVS树提供了指向NSS的Java接口的源代码。