【计算机网络高频】- HTTPS是如何加密的?
发布日期:2021-06-29 15:36:39 浏览次数:2 分类:技术文章

本文共 550 字,大约阅读时间需要 1 分钟。

共享密钥加锁(对称密钥加密):加密和解密同用一个密钥。加密时就必须将密钥传送给对方。

公开密钥加锁(非对称密钥加密):公开密钥加密使用一对非对称的密钥。一把叫做私有密钥,一把叫做公开密钥。私有密钥不能让其它人任何人知道,而公开密钥则可以随意发布,任何人都可以获得。

但公开密钥比共享密钥要慢,所以需要综合一下两者的优缺点,这也是HTTPS采用的加密方式。在交换密钥阶段使用非对称加密,之后建立通信交换报文阶段则使用共享密钥加密方式。

  • 某网站拥有用于非对称加密的公钥A和私钥A’
  • 游览器向服务器发送请求,服务器把公钥A明文传输给游览器;
  • 游览器随机生成一个用于对称加密的密钥X,用公钥A加密后传输给服务器;
  • 服务器拿到后用私钥A‘,解密得到密钥X;
  • 这样通信双方都拥有密钥X,且别人无法知道。之后双方所有数据都通过密钥X加密解密即可。

但这里有一问题,就是如何证明公开密钥是货真价实的公开密钥。如正准备和某台服务器建立公开密钥加密方式下的通信时,如何证明收到的公开密钥就是原本预想的那台服务器发行的公开密钥。或许在公开密钥传输过程中,真正的公开密钥密钥已经被攻击者替换掉了。为了解决这个问题,可以使用由数字证书认证结构(CA,Certificate Authoriy)和其它相关机构颁发的公开密钥证书。

转载地址:https://codingchaozhang.blog.csdn.net/article/details/116723323 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【计算机网络面试高频】- IP数据报的组成部分有哪些?
下一篇:【Linux命令面试高频】-Linux命令查看某个进程下的线程数量

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月16日 03时23分37秒