当前位置首页 > 百科> 正文

网路安全服务

2020-02-13 23:33:00 百科

网路安全服务

网路安全服务Network Security Services,简称NSS)是一组支持跨平台开发安全客户端与伺服器应用程式的程式库,它提供伺服器侧硬体TLS/SSL加速和客户端侧智慧卡的可选支持。NSS提供了支持TLS/SSL及S/MIME的完全开源实现。早前以多许可方式授权在Mozilla公共许可证 1.1、GNU通用公共许可证和GNU宽通用公共许可证,但从3.14版本开始升级到GPL兼容的MPL 2.0许可证。

基本介绍

  • 中文名:网路安全服务
  • 外文名:Network Security Service
  • 简称:NSS
  • 性质:程式库
  • 参与公司:AOL、Red Hat、Google等
  • 领域:网路安全

历史

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的应用程式

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、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 Chrome和Chromium曾使用NSS,但现在它们使用BoringSSL。

架构

NSS包含一个框架,开发者和OEM厂商可以贡献补丁,例如最佳化在其特定平台性能的彙编代码。Mozilla已认证NSS 3.x可用于18种平台。NSS製作了一个Netscape携带型运行时(NSPR),一个无关平台的开源API,便于跨平台开发和完成系统功能设计。NSS、NSPR等已被多种产品大量使用。

软体开发工具包

除了程式库和API,NSS还提供了调试、诊断及证书和密钥管理、加密模组管理及其他开发任务所需的安全工具。NSS配有广泛且持续增长的文档,包括介绍材料、API参考、命令行工具的man页面、示例代码。
程式设计师可以使用NSS作为原始码和作为共享(动态)程式库。每个NSS发布版本都对此前的版本有向后兼容性,允许NSS用户直接升级到新的NSS共享程式库,无须重新编译或重新连结他们的应用程式。

互操作性和开放标準

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、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)。

Java支持

Network Security Services for Java(JSS)包含一个指向NSS的Java接口。它由NSS提供,支持大多数安全标準和加密技术。JSS也提供一个纯Java接口用于ASN.1类型和BER/DER编码。Mozilla CVS树提供了指向NSS的Java接口的原始码。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net