SSL的工作原理及详细的握手过程详情
发布时间:2023-08-17 13:41:06 所属栏目:经验 来源:
导读:互联网传统方式的通讯采用 HTTP 通信协议,该协议全部过程开放且易遭截取与篡改,同时也由于 HTTP 通信中缺乏有效的身份识别机制,使得诈骗网站有了漏洞。装上SSL证书将升级为HTTPS加密协议,今天分享下SSL的工作原理
互联网传统方式的通讯采用 HTTP 通信协议,该协议全部过程开放且易遭截取与篡改,同时也由于 HTTP 通信中缺乏有效的身份识别机制,使得诈骗网站有了漏洞。装上SSL证书将升级为HTTPS加密协议,今天分享下SSL的工作原理及详细的握手过程。 一、什么是 SSL SSL代表安全套接字层,是指用于加密、保护和验证互联网上之通信的协议。尽管SSL在一段时间前已被称为 TLS(传输层安全性)的更新协议代替,但“SSL”仍是该技术的常用术语。 SSL/TLS 的主要用例是保护客户端和服务器之间的通信安全,但它也可以保护不安全网络上的电子邮件、VoIP 和其他通信。 二、什么是SSL证书 SSL证书是一种用于在Web服务器和客户端浏览器之间建立加密连接的数字证书。通过配置和应用SSL证书启用HTTPS协议,可实现对网站真实性的确认和信息传输过程的加密处理,有效保障数据传输的安全性。许多证书颁发机构对SSL证书收费,目前国内各大云服务器商都有免费SSL证书可申请。 三、SSL / TLS 以及 SSL / TLS 握手的概念 SSL 和 TLS 协议可以为通信双方提供识别和认证通道,从而保证通信的机密性和数据完整性。TLS 协议是从Netscape SSL 3.0协议演变而来的,不过这两种协议并不兼容,SSL 已经逐渐被 TLS 取代,所以下文就以 TLS 指代安全层。TLS 握手是启动 HTTPS 通信的过程,类似于 TCP 建立连接时的三次握手。在 TLS 握手的过程中,通信双方交换消息以相互验证,相互确认,并确立它们所要使用的加密算法以及会话密钥(用于对称加密的密钥)。可以说,TLS 握手是 HTTPS 通信的基础部分。 HTTP与HTTPS通信过程的不同 四、SSL的工作原理 当客户端向一个https网站发起请求时,服务器会将SSL证书发送给客户端进行校验,SSL证书中包含一个公钥。校验成功后,客户端会生成一个随机串,并使用受访网站的SSL证书公钥进行加密,然后再发送给网站服务器。 网站服务器收到加密的随机串后,会利用自己的私钥进行解密,得到由客户端生成的随机串。服务器使用这一随机串,开始与客户端进行对称加密通信,客户端使用随机串对服务器发来的信息进行加密。 从这个过程中可以看出,SSL证书同时使用了非对称加密和对称加密,使用非对称加密运送一把“钥匙”给服务器,保证“钥匙”的安全性,服务器得到“钥匙”后,使用这把“钥匙”对信息进行加密,整个传输过程都处于加密状态,有效保障了信息的完整性、准确性和安全性。 五、SSL / TLS 握手详细过程 1、"client hello"消息:客户端通过发送"client hello"消息向服务器发起握手请求,该消息包含了客户端所支持的 TLS 版本和密码组合以供服务器进行选择,还有一个"client random"随机字符串。 2、"server hello"消息:服务器发送"server hello"消息对客户端进行回应,该消息包含了数字证书,服务器选择的密码组合和"server random"随机字符串。 3、验证:通过客户端对合法合规的服务器发来的证书进行二次验证,从而确保对方的合法服务器身份,验证过程可以细化为以下几个步骤: ① 检查数字签名 ② 验证证书链 (这个概念下面会进行说明) ③ 检查证书的有效期 ④ 检查证书的撤回状态 (撤回代表证书已失效) 4、"premaster secret"字符串:客户端向服务器发送另一个随机字符串"premaster secret (预主密钥)",这个字符串是经过服务器的公钥加密过的,只有对应的私钥才能解密。 5、使用私钥:服务器使用私钥解密"premaster secret"。 6、生成共享密钥:客户端和服务器均使用 client random,server random 和 premaster secret,并通过相同的算法生成相同的共享密钥 KEY。 7、客户端就绪:客户端发送经过共享密钥 KEY 加密过的"finished"信号。 8、服务器就绪:服务器发送经过共享密钥 KEY 加密过的"finished"信号。 9、达成安全通信:握手完成,双方使用对称加密进行安全通信。这样,即使在不同的计算机之间也能实现安全通信。 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐