HTTPS加密(握手)过程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTPS加密(握手)过程相关的知识,希望对你有一定的参考价值。
参考技术A参考 HTTPS的加密流程 | 一篇文章读懂HTTPS及其背后的加密原理 | HTTPS协议详解 | Https加密过程 | Https握手过程
HTTPS (全称: Hypertext Transfer Protocol Secure, 超文本传输安全协议 ),是以安全为目标的HTTP通道,简单讲是 HTTP 的安全版。
具体是如何进行加密,解密,验证的,且看下图。
HTTPS加密请求(一次握手)过程
客户端和服务端之间的加密机制:
TLS协议是基于TCP协议之上的,图中第一个蓝色往返是TCP的握手过程,之后两次橙色的往返,我们可以叫做TLS的握手。握手过程如下:
这里可能要提一下什么是对称加密和非对称加密:
一般的对称加密像这样:
也就是说加密和解密用的是同一个秘钥。而非对称加密是这样的:
加密和解密是需要不同的秘钥的。
经过这几次握手成功后,客服端和服务端之间通信的加密算法和所需要的密钥也就确定下来了,之后双方的交互都可以使用对称加密算法加密了。
HTTPS为了追求性能,又要保证安全,采用了共享密钥加密和公开密钥加密混合的方式进行报文传输。
还是拿上面的锁和箱子的例子来说明。现在我们嫌弃每次加锁都要造个新的锁效率太慢了。我们现在有两个箱子,一个箱子用于方我们要给大傻的东西,并且
这个箱子加上了锁。另一个箱子用于存放那把锁的钥匙。我们这时候找大傻拿到钥匙A造了一把锁后将那个存放钥匙的箱子锁起来,然后将这个箱子给大傻,
大傻拿到箱子使用钥匙B开锁拿到钥匙。这时候我们将那个存放了东西的箱子给大傻,大傻就可以通过这把钥匙开锁拿到东西了。这样以后我们就可以一直通过
这把锁和箱子互相给东西了,而不用发一次数据造一次锁了。
就是说采用共有密钥加密方式传输共享密钥,当共享密钥安全到达服务端后往后的数据就都采用该密钥进行加密解密。
以上是关于HTTPS加密(握手)过程的主要内容,如果未能解决你的问题,请参考以下文章