美文网首页
HTTPS的加密原理

HTTPS的加密原理

作者: 努力做一个最懒的程序员 | 来源:发表于2020-03-28 21:08 被阅读0次

HTTPS为了兼顾安全与效率,同时使用了对称加密和非对称加密。数据是被对称加密传输的用来提高效率;对称加密的秘钥传输过程使用了非对称加密,保证了秘钥的安全可靠性。

1、客户端启动,发送请求到服务端,服务端用RSA算法生成一对公钥和私钥,我们简称为pubkey1,prikey1,将公钥pubkey1返回给客户端。

CA证书:
①、服务端在将Public Key进行分发证书之前需要向CA机构申请给将要分发的公钥进行数字签名。(服务器公钥负责加密,服务器私钥负责解密)
②、生成数字签名公钥证书:对于CA机构来说,其也有两个密钥,我们暂且称之为CA私钥和CA公钥。CA机构将服务端的Public Key作为输入参数将其转换为一个特有的Hash值。然后使用CA私钥将这个Hash值进行加密处理,并与服务端的Public Key绑定在一起,生成数字签名证书。其实数字签名证书的本质就是服务端的公钥+CA私钥加密的Hash值。(CA私钥负责签名,CA公钥负责验证)
③、服务器获取到这个已经含有数字签名并带有公钥的证书,将该证书发送给客户端。当客户端收到该公钥数字证书后,会验证其有效性。大部分客户端都会预装CA机构的公钥,也就是CA公钥。客户端使用CA公钥对数字证书上的签名进行验证,这个验证的过程就是使用CA公钥对CA私钥加密的内容进行解密,将解密后的内容与服务端的Public Key所生成的Hash值进行匹配,如果匹配成功,则说明该证书就是相应的服务端发过来的。否则就是非法证书。

2、客户端用RSA算法生成一对公钥和私钥,我们简称为pubkey2,prikey2,并将公钥pubkey2通过公钥pubkey1加密,加密之后传输给服务端。

3、此时服务端收到客户端传输的密文,用私钥prikey1进行解密,因为数据是用公钥pubkey1加密的,通过解密就可以得到客户端生成的公钥pubkey2。

4、然后自己在生成对称加密,使用AES加密key,生成了这个key之后我们就用公钥pubkey2进行加密,返回给客户端,因为只有客户端有pubkey2对应的私钥prikey2,只有客户端才能解密,客户端得到数据之后,用prikey2进行解密操作,得到AES的加密key,最后就用加密key进行数据传输的加密,至此整个流程结束。

相关文章

  • HTTPS加密原理

    博文出处:HTTPS加密原理,欢迎大家关注我的博客,谢谢! Header HTTP、HTTPS在我们日常开发中是经...

  • Https加密原理

    Cryptography can be a hard subject to understand. It’s fu...

  • https加密原理

    http(超文本传输协议) 一种属于应用层的协议 缺点: 通信使用明文(不加密),内容可能会被窃听 不验证通信方的...

  • https加密原理

    http/https最大的差异在于https使用了加密传输数据。 https 基于tcl/ssl加密,大致上是先使...

  • HTTPS加密原理

    引言 HTTPS的使用越来越广泛,淘宝、京东、当当等大型网站几乎全站采用HTTPS。本文参考了若干文章并结合自己理...

  • https加密原理

    1.简介 万维网服务器使用SSL默认服务端口443来取代普通万维网服务的80端口,且该安全网页URL中的协议标识用...

  • HTTPS 加密原理

    加密 加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然...

  • HTTPS加密原理

    前言:HTTP 如何保证安全性呢?基本上所有的人都会脱口而出:使用 HTTPS 协议。99.9% 的人都知道 HT...

  • https加密原理

    数字签名: http://www.ruanyifeng.com/blog/2011/08/what_is_a_di...

  • HTTPS的加密原理

    1.常见的三种加密算法及区别 2.加密算法在HTTPS中的应用3.MD5的实现原理 http明文传输 明文传...

网友评论

      本文标题:HTTPS的加密原理

      本文链接:https://www.haomeiwen.com/subject/rrteuhtx.html