加密保护协议

科技工作者之家 2020-11-17

在系统认证过程中,客户端发送一个消息到服务器,服务器以进行自认证的消息响应客户端。客户端和服务器完成额外的会话密钥交换,结束整个认证会话过程。当认证完成后,在服务器端与客户端使用在认证过程中建立的对称密钥的安全通信就被称为加密保护协议。

加密保护协议在系统认证过程中,客户端发送一个消息到服务器,服务器以进行自认证的消息响应客户端。客户端和服务器完成额外的会话密钥交换,结束整个认证会话过程。当认证完成后,在服务器端与客户端使用在认证过程中建立的对称密钥的安全通信就被称为加密保护协议。

常见的可用于加密保护协议的有TLS和SSL。

TLS/SSL当需要把机密数据发送到非信任网络时,就会遇到安全性问题。此时,可以使用 TLS/SSI( Transport Layer Security/ Secure Sockets Layer,传输层安全/安全套接字层)对服务器和客户端进行身份认证,同时还可以对通信双方的数据进行加密。SSL协议2.0/3.0版本和PCT( Private Communications Transport,专用通信传输)协议都是基于公钥加密技术的,是在 Schannel( Security Channel,安全通道)认证协议套件中提供的。所有安全通道协议都是基于客户端/服务器模式的。

说明:安全通道是微软安全程序包的一部分,提供身份认证服务,以便在容户和服务器之间提供安全的通信。 Windows安全程序包是实现安全套接字层(SSL)和输层安全(TLS)Internet标准身份认证协议的安全支持提供程序(SSP)。 Schannel技术支持以下公钥基础协议:SSL2.0/3.0、TLS1.0和PCT1.0。

TLS/SSL其实包括了两种协议,即TLS和SSL。TLS构建于公钥基础设施基础之上,使用公/私钥对来为数据提供加密和完整性检查,使用X.509证书进行身份认证。TLS协议目前最高版本为1.0,SSL的最高版本为3.0。TLS1.0是在SSL3.0基础上开发而成的。TLS1.0和SSL3.0主要功能和工作原理方面均基本相同。因为TLS是由IETF发布的公开标准,所以可以得到广泛的支持。将来会全面替代SSL许多安全协议,如 Kerberos v5是依据单个密钥对数据进行加解密的。所以,这些协议要依靠安全的密钥交换。在 Kerberos v5协议中,是通过从KDC(密钥分配中心)得到的令牌来实现的。这就要求每个使用 Kerberos协议的用户在KDC中注册,这对于像用户来自全球,拥有数百万用户的电子商务网站来说,是非常不切实际的。TLS信赖的是公钥基础设施(PKI),使用两个密钥对数据进行加密、解密。当使用其中一个进行加密时,就必须使用另一个来进行解密。这样的加密原理的好处就是不需要提供安全的密钥交换。

PKI中的私钥只能由注册者拥有,公钥则可以公布于众。如果某人要发送私密消息到密钥拥有者,则可以使用接收者的公钥对数据进行加密,然后接收者可以使用其私钥对数据进行解密。密钥对还可以用于进行数据完整性检查。密钥拥有者可以在发送数据前附上用白己私钥进行的签名。创建一个包括计算数据哈希,并用私钥加密数据的数字签名。任何拥有发送数据者公钥的人都可通过解密数据签名来验证数据是来自正确的发送者。另外,接收者可以使用与发送者相同的算法对接收到的数据进行哈希计算,如果计算的结果与附加在数据签名上的哈希一致,则接收者可以确认数据在传送过程中没有被修改。

在有多个服务器为客户端提供认证的情况下,TLS/SSL不需要在域控制器(如微软的 Windows活动目录服务)或者数据库中保存服务器密钥。客户端使用可信任的根证书颁发机构发的证书(在安装了 Windows Server2003系统后就自动装载)来确认服务器的可信任性,所以,除非用户需要由服务器来认证,用户在建立与服务器之间的安全连接前并不需要创建相应账户。

TLS和SSL协议广泛应用于Web览器和Web服务器之间(也就是通常所说的B/S模式,实际上就是客户端/服务器(C/S)模式)基于HTTPS协议的互联网安全传输。TLS/SSL也可以应用于其他应用层协议,如FTP、LDAP和SMTP协议。 TLS/SSI可以为像通过互联网这样的公共网络进行的网络通信提供服务器身份认证、客户端身份认证和数据完整性检查等安全措施。另外,它不仅可应用于有线网络,目前在WLAN无线网络传输中也有类似的扩展安全传输标准一WTLS。1

TLS与SSL的区别IEIF开发的TLS1.0是在网景公司开发的SSL3.0基础(实际上更接近SSL3.1)上开发的,是对SSL3.0的改进,所以它们之间存在紧密的联系。但SSL3.0和TLS1.0之间仍存在一些细微的差别。而且尽管差别很小,但两者仍不可完全互换。如果通信双方不能同时支持这两个协议,则他们会协商一个都支持的协议来实现安全通信。

TLS1.0相对SSL3.0的主要改进如下:在TLS中是以加密哈希的HMAC( Hash Message Authentication Code,哈希消息认证代码)算法替代了SSL消息的MAC( Message Authentication Code,消息认证代码)算法。HMAC比MAC更加安全,是在MAC基础上增强了完整性值的检查,而且哈希功能使得消息的破解难度更大;TLS是在RFC2246中定义的标准,SSL是网景公司开发的技术;在TS中添加了许多新的报警消息;在TS中,不总是需要包括来自根CA的证书,可以使用信任的第三方中间认证方式。因为SSL是网景公司开发的技术,不是通用标准,所以它只能使用来自根CA的证书;TLS需要指定与块密码算法一起使用的填充块值,但微软TLS中使用的RC4算法是一种流密码,所以这种修改也不是固定的;TLS RFC中不包括 Fortezza算法,因为 Fortezza算法还没有对公众开放。

说明:Fortezza是OSI协议簇的成员,它也有加密程序,但最少系用56位元编码密钥,较之SSL及PCT所用的40位元编码密钥安全得多。除此之外, Fortezza的优胜之处是加入了为验证过程而设的令牌( token)新功能。两者在一些消息字段中存在细微的差别。

相关概念电子商务Web站的SSL安全交易这是SSL在浏览器和Web服务器之间座用的一种典型应用。例如,在一个电子商务商店站点上,客户要提供他们的信用卡号。SSL协议首先要确保Web站点的证书是有效的,然后发送客户信用卡信息当作密码文本。在这种应用中,服务证书是网站自己的、可信任的,而通过证书进行的身份认证则仅对服务器进行。此时, TLS/SSL协议必须在Web页面上得到支持,如数据交易时所用的订单页面。

在SSL安全Web网站的客户端身份认证在这种应用中,客户端和服务器上CA发的证书首先要互信。在安全通道中,客户端证书可以一对一或者多对一地映射到可以由“ Active Directory用户和计算机”控制台管理的Windows Server2003用户或计算机账户上。这样,用户可以在Web站点上进行身份认证,而无需提供用户账户和密码。

多对一映射有多个用处,例如你有几个用户要进行商业机密访问,则可以创建一个组,把用户证书映射到这个组中,然后给予这个组适当的访问权限在一对一映射中,在客户登录时,服务器便具有客户端证书的副本,由服务器来对证书标识进行校验,一对一映射是个人保密的典型应用,如银行站点仅允许有权限的个体对当前账户进行浏览。2

远程访问在这种应用中,远程交换通常是使用安全通道的。当用户远程登录到你的 Windows系统或网络时,你可以使用 TLS/SSL技术提供身份认证和数据加密保护,用户可以更加安全地在家里、旅途中访问他们的邮件或者企业应用,降低泄露私密信息到互联网其他用户的风险。3

本词条内容贡献者为:

李宗秀 - 副教授 - 黑龙江财经学院

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。