传输层安全

王朝百科·作者佚名  2010-01-29
窄屏简体版  字體: |||超大  

传输层安全

安全套接层(SSL)及其新继任者传输层安全(TLS)是在互联网上提供保密安全信道的加密协议,为诸如网站、电子邮件、网上传真等等数据传输进行保密。SSL 3.0和TLS 1.0有轻微差别,但两种规范其实大致相同。

SSL利用密钥算法在互联网上提供端点身份认证与通讯保密。在典型例子中,只有服务器被可靠身份认证(即其验证被确保),客户端踪迹不一定经可靠认证;相互间的身份认证需要公钥基础设施(PKI)设置于客户端中。协议的设计在某种程度上能够使客户端/服务器应用程序通讯本身预防窃听、Tampering、和消息伪造。

SSL包含三个基本阶段:

对等协商密钥算法支持

基于公钥密码的密钥交换和基于证书的身份认证

基于对称密钥的数据传输保密

在第一阶段,客户端与服务器协商所用密码算法。当前广泛实现的算法选择如下:

公钥密码系统:RSA、Diffie-Hellman、DSA及Fortezza;

对称密钥系统:RC2、RC4、IDEA、DES、Triple DES及AES;

单向散列函数:MD5及SHA。

首先,SSL的记录层(Record layer)用于封装更高层的HTTP等协议。记录层数据可以被随意压缩、加密,与消息验证码(MAC)打包在一起。每个记录层包都有一个content_type段用以记录更上层用的协议。

客户端要收发几个握手信号:

发送一个ClientHello消息,说明它支持的密码算法列表、压缩方法及最高协议版本,也发送稍後将被使用的随机字节。

然後收到一个ServerHello消息,包含服务器选择的连接参数,源自客户端初期所提供的ClientHello。

当双方知道了连接参数,客户端与服务器交换证书(依靠被选择的公钥系统)。这些证书通常基于X.509,不过已有草案支持以OpenPGP为基础的证书。

服务器能够请求得到来自客户端的证书,所以连接可以是相互的身份认证。

客户端与服务器通过加密信道协商一个共同的"主密钥"(and the client- and server-generated random values),这通过精心谨慎设计的伪随机数函数实现。结果可能使用Diffie-Hellman交换,或简单的公钥加密,双方各自用私钥解密。所有其他关键数据的加密均使用这个"主密钥"。

TLS/SSL有多样的安全保护措施:

所有的记录层数据均被编号,序号用在消息验证码(MAC)中。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航