SSL(secure socket layer,安全套接层)协议应电子商务的安全而生,由网景通信公司(Netscape communications corporation)开发。电子商务通常采用B/S(browser/server,浏览器/服务器)架构,用户通过浏览器访问商务网站,进行电子支付以购买商品。网景公司最为知名的产品是同名的网络浏览器,开发SSL协议是用于保护其Web相关的应用安全。虽然SSL协议是应电子商务安全的需求而设计,但它最终成为一个通用的传输层安全协议,能够为所有基于传输层协议构建的应用提供安全支撑。SSL协议有2个版本(SSLv2和SSLv3)获得了广泛的应用。这两个版本的协议存在较大差别。2011年3月,国际互联网工程任务组(IETF)明确规定禁止使用SSLv2,所以现在所说的SSL协议是指SSLv3。
SSL协议
一种用于增强传输层安全的加密通信协议。
- 英文名称
- SSL protocol
- 所属学科
- 计算机科学技术
如图1所示,在启动SSL协议流程之前,首先通过TCP(transmission control protocol,传输控制协议)3次握手建立连接。SSL启动后,通过协商建立安全通道(即进行身份认证、密钥生成和算法协商),随后用协商好的安全参数保护数据并进行数据传输,最后断开安全通道。具体步骤为:
① 算法协商。客户端用ClientHello消息向服务器发送自己建议的算法列表和随机数,服务器从中选取算法、确定会话ID(标识)、产生随机数,并将这些信息通过ServerHello消息返回给客户端。其中会话ID用以标识本次协商获取的所有安全参数,随机数用于生成密钥。经过这个步骤,算法协商完成。
② 身份认证。在SSL协议中,客户端需要认证服务器的身份,而服务器不一定需要认证客户端的身份,因为在电子商务等应用场合,向服务器进行电子支付时,服务器身份认证更为重要。服务器通过Certificate消息向客户端发送自己的证书,以便客户端认证自己的身份并获取自己的公钥。如果服务器需要认证客户端身份,则向其发送CertificateRequest消息,请求客户端证书。随后,服务器发送ServerHelloDone消息表示自己的请求已发送完成。客户端则通过证书验证服务器身份,并根据服务器要求通过Certificate消息向其返回自己的证书,由此实现客户端身份认证。
③ 密钥生成。即生成通信双方用于保护数据的会话密钥。客户端用随机数作为输入生成预主密钥,并用服务器公钥加密后发送给服务器。服务器用自己的私钥解密以获取预主密钥。随后,通信双方各自在本地将随机数以及预主密钥作为输入以生成主密钥,并按密码算法所需要的密钥长度对主密钥进行分组以生成客户端到服务器这个通信方向的加密和认证密钥以及反方向的加密和认证密钥,即会话密钥。这个过程称为密钥导出。
④ 更改密码规范。通信双方互相交换ChangeCipherSpec消息以通告对等端协商已完成,可启用安全参数保护随后通信数据。
⑤ 协商消息认证。通信双方交换Finished消息,其中包含了之前所有协商消息的认证信息,以确保协商消息未被篡改。
⑥ 安全数据通信。通信双方将通信数据分片,对每个分片加入认证数据,并对原始数据和认证数据一起进行加密处理以形成SSL记录,在TCP通道上进行安全传输。
⑦ 断开安全通道。通信双方互相交换Close_notify消息以断开连接。这个消息中包含了认证数据,可以有效防止用户非法断连。
SSL协议流程完成后,断开TCP连接,通信过程终止。
SSL协议由4个协议组成:握手协议、更改密码规范协议、记录协议和警告协议。握手协议是协商协议,包括算法协商、身份认证、密钥协商、协商消息认证等;更改密码规范协议仅包含ChangeCipherSpec消息;记录协议对应安全数据通信;警告协议则用于错误和异常通告以及断开安全通道。SSL位于TCP和高层应用协议之间,它将高层应用数据封装为记录形式在TCP连接上进行安全传输,如图2所示。
最早的版本是1994年的SSL第1版,它是网景通信公司内部的版本,并未公布。1994年11月,SSL第2版公布并获得了广泛应用。在此基础上网景通信公司聘请了知名的安全专家B.克奇(Paul Kocher)与另外两位专家一起设计了SSL第3版并于1995年公布。虽然IETF将SSL第3版标注为BCP78,但它一直未成为标准。读者在打开淘宝网站时,网站地址为“https://www.taobao.com/”,这意味着该网站使用了HTTPS(hyper text transfer protocol over secure socket layer,基于SSL的HTTP)来确保电子商务交易安全,而HTTPS就是基于SSL构建的。
条目图册
扩展阅读
- 艾瑞克,瑞斯考拉.SSL与TLS.崔凯,译.北京:中国电力出版社,2002.
- 寇晓蕤,王清贤.网络安全协议:原理、结构与应用.第2版.北京:高等教育出版社,2016.