网络安全服务(Network Security Services,简称NSS)是一组支持
跨平台开发安全客户端与服务器应用程序的
程序库,它提供服务器侧硬件TLS/SSL加速和客户端侧智能卡的可选支持。NSS提供了支持TLS/
SSL及
S/MIME的完全
开源实现。早前以多许可方式授权在Mozilla公共许可证 1.1、
GNU通用公共许可证和
GNU宽通用公共许可证,但从3.14版本开始升级到GPL兼容的
MPL 2.0许可证。
FIPS 140验证和NISCC测试:NSS软件加密模块已5次通过验证(1997年、1999年、2002年、2007年和2010年),匹配FIPS 140的安全层级1和2。NSS是首个通过FIPS 140验证的开源的加密程序库。NSS程序库也已通过NISCC TLS/SSL和S/MIME测试包(160万无效数据输入的测试)。
AOL、Red Hat、Sun微系统/Oracle公司、
Google及其他公司和个人贡献者协作参与了NSS的开发。
Mozilla提供了开源代码库、缺陷跟踪系统和邮件列表及讨论组这些基础设施。有许多款产品中使用了NSS,以下是部分产品:
NSS包含一个框架,开发者和OEM厂商可以贡献补丁,例如优化在其特定平台性能的
汇编代码。Mozilla已认证NSS 3.x可用于18种平台。NSS制作了一个Netscape便携式运行时(NSPR),一个无关平台的开源
API,便于跨平台开发和完成系统功能设计。NSS、NSPR等已被多种产品大量使用。
除了程序库和API,NSS还提供了调试、诊断及证书和密钥管理、加密模块管理及其他开发任务所需的安全工具。NSS配有广泛且持续增长的文档,包括介绍材料、API参考、命令行工具的man页面、示例代码。
程序员可以使用NSS作为源代码和作为共享(动态)程序库。每个NSS发布版本都对此前的版本有向后兼容性,允许NSS用户直接升级到新的NSS共享程序库,无须重新编译或重新链接他们的应用程序。
Cryptographic Message Syntax,使用在
S/MIME(RFC 2311和RFC 2633)中。IETF消息标准(基于流行的互联网
MIME标准)提供了一个一致的方法来发送和接收签名并已加密的MIME数据。
PKIX证书和CRL配置(RFC 3280)。按IETF的
公钥基础设施(X.509)工作组(也称PKIX)为互联网的公钥基础设施开发的四个标准的部分内容组成。
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接口的源代码。