WordPress 中文文档
传输层安全
From WordPress Chinese
(重定向自SSL)
安全套接层(Secure Sockets Layer,SSL)及其新继任者传输层安全(Transport Layer Security,TLS)是在互联网上提供保密安全通道的加密协议,为诸如网站、电子邮件、网上传真等等数据传输进行保密。SSL 3.0和TLS 1.0有轻微差别,但两种规范其实大致相同。
[编辑]
介绍
SSL利用密钥算法在互联网上提供端点身份认证与通讯保密。在典型例子中,只有服务器被可靠身份认证(即其验证被确保),客户端踪迹不一定经可靠认证;相互间的身份认证需要公钥基础设施(PKI)设置于客户端中。协议的设计在某种程度上能够使客户端/服务器应用程序通讯本身预防窃听、Tampering、和消息伪造。
SSL包含三个基本阶段:
在第一阶段,客户端与服务器协商所用密码算法。 当前广泛实现的算法选择如下:
[编辑]
它如何工作?
首先,SSL的记录层(Record layer)用于封装更高层的HTTP等协议。记录层数据可以被随意压缩、加密,与消息验证码(MAC)打包在一起。每个记录层包都有一个content_type段用以记录更上层用的协议。
客户端要收发几个握手信号:
- 发送一个ClientHello消息,说明它支持的密码算法列表、压缩方法及最高协议版本,也发送稍后将被使用的随机字节。
- 然后收到一个ServerHello消息,包含服务器选择的连接参数,源自客户端初期所提供的ClientHello。
- 服务器能够请求得到来自客户端的证书,所以连接可以是相互的身份认证。
- 客户端与服务器通过加密通道协商一个共同的"主密钥"(and the client- and server-generated random values),这通过精心谨慎设计的伪随机数函数实现。结果可能使用Diffie-Hellman交换,或简单的公钥加密,双方各自用私钥解密。所有其他关键数据的加密均使用这个"主密钥"。
TLS/SSL有多样的安全保护措施:
- 所有的记录层数据均被编号,序号用在消息验证码(MAC)中。
