什么是SSL和TLS
- 安全套接字层SSL (Secure Socket Layer)。
- 运输层安全TLS (Transport Layer Security)
它们是运输层广泛使用的两种安全协议。
SSL协议是Netscape公司在1994开发的安全协议,广泛应用于各种网络应用。SSL作用在应用层的HTTP和运输层之间,在TCP之上建立起一个安全通道,为通过TCP传输的应用层数据提供安全保障。
1995年Netscape公司把SSL转交给IETF,希望能够把SSL进行标准化。于是IETF在SSL 3.0的基础上设计了TLS协议,为所有基于TCP的网络应用提供安全数据传输服务。
SSL是TLS的基础,也可以说TLS是标准化之后的SSL。
TLS 1.0与SSL 3.0的差异非常微小, 新版本的TLS 1.2、TLS 1.3已经发布了。
工作原理
在发送方,SSL接收应用层的数据,对数据进行加密,然后把加了密的数据送往TCP套接字。在接收方,SSL从TCP套接字读取数据,解密后把数据交给应用层。
应用层中使用SSL/TLS最多的就是HTTPS, 很多网站已经将http的替换或支持了https。协议名http后面加上的s代表security,表明现在使用的是提供安全服务的HTTP协议。现在基本所有浏览器都已支持了SSL和TLS, Chrome更是对未使用https的网站有了警告不安全的提示。
简要过程
SSL的工作简要过程:
(1) 协商加密算法。浏览器A向服务器B发送浏览器的SSL版本号和一些可选的加密算法,B从中选定自己所支持的算法,并告知A。
(2) 服务器鉴别。服务器B向浏览器A发送一个包含其RSA公钥的数字证书,A使用该证书的认证机构CA的公开发布的RSA公钥对该证书进行验证。
(3) 会话密钥计算。由浏览器A随机产生一个秘密数,用服务器B的RSA公钥进行加密后发送给B。双方根据协商的算法产生一个共享的对称会话密钥。
(4) 安全数据传输。双方用会话密钥加密和解密它们之间传送的数据并验证其完整性。
虽然SSL提升了数据传输的安全性性,但是仍然难以应对网络上出现的各种的欺骗行为。