Good Morning, and in case I don’t see you, good afternoon, good evening, and good night! ——The Truman Show
- HTTP + SSL = HTTPS
对称加密
- 只有一个密钥,一旦泄漏了就很危险
非对称加密
公钥加密的密文只能用私钥解密,私钥加密的密文只能用公钥解密
过程:
如果中间人假装服务器把自己的公钥发给客户端,信息就泄露了
为了防止中间人篡改公钥,就有了数字证书
摘要(digest)
一段信息,经过摘要算法得到一串哈希值,就是摘要(dijest)。常见的摘要算法有MD5、SHA1、SHA256、SHA512等。
摘要算法
- 摘要算法,是把任意长度的信息,映射成一个定长的字符串。
- 摘要算法,两个不同的信息,是有可能算出同一个摘要值的。
- 摘要算法与加密算法不同,不存在解密的过程。
- 摘要算法不用于数据的保密,而是用于数据的完整性校验。
数字签名
摘要经过私钥的加密后,便有了一个新的名字 – 数字签名。
数字证书
数字证书是由权威机构——CA机构统一来进行发行,我们绝对信任这个机构
数字证书内容
- 签发证书的机构;
- 鲍勃的加密算法;
- 鲍勃所使用的Hash算法;
- 鲍勃的公钥;
- 证书到期时间;
- 等等;
数字签名
验证过程
- 首先,当爱丽丝开启一个新的浏览器第一次去访问鲍勃的时候,会先让爱丽丝安装一个数字证书,这个数字证书里包含的主要信息就是CA机构的公钥。
- 鲍勃发送来了CA机构颁发给自己的数字证书,爱丽丝通过第一步中已经得到的公钥解密CA用私钥加密的Hash-a(这个过程就是非对称加密),然后再用传递过来的HASH算法(摘要算法)生成一个Hash-b,如果Hash-a === Hash-b就说明认证通过,确实是鲍勃发过来的。
折中
对称加密效率高,非对称加密更安全。实际中,通信双方通过对称加密来加密密文,然后使用非对称加密的方式来传递对称加密所使用的密钥。这样效率和安全就都能保证了。
SSL的握手过程
如今的SSL已经由TLS代替,但后者通常还是使用SSL这个称呼
- 爱丽丝给出支持SSL协议版本号,一个客户端随机数(Client random,请注意这是第一个随机数),客户端支持的加密方法等信息
- 鲍勃收到信息后,确认双方使用的加密方法,并返回数字证书,一个服务器生成的随机数(Server random,注意这是第二个随机数)等信息
- 爱丽丝确认数字证书的有效性,然后生成一个新的随机数(Premaster secret),然后使用数字证书中的公钥,加密这个随机数,发给鲍勃
- 鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premaster secret);(第三、四步就是非对称加密的过程了)
- 爱丽丝和鲍勃通过约定的对称加密方法(通常是AES算法),使用前面三个随机数,生成对话密钥,用来加密接下来的通信内容
本文作者:
Bano
本文链接: https://bano247.com/2021/11/02/SSL协议之数据加密过程详解/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://bano247.com/2021/11/02/SSL协议之数据加密过程详解/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!