首页 > Web开发 > 详细

HTTPS原理

时间:2019-05-29 22:04:18      阅读:105      评论:0      收藏:0      [点我收藏+]

对此加密:加密和解密用同一个秘钥

非对称加密:加密和解密不是用同一个秘钥,公钥加密的用私钥解密、私钥加密的用公钥加密

非对称加密相比于对称加密的一大缺点是性能低。

 

为了网络传输安全,需要对发送的数据进行加密。加密可用对称加密、非对称加密,但单纯地使用它们都可能存在秘钥泄漏的情况从而导致安全问题。所以网络安全传输要解决的本质上就是如何在客户端和服务端间安全地协商秘钥。

网络安全传输的技术演进:

  1. 对称加密:服务端发送 对称秘钥 给客户端,之后两者间用该对称秘钥加密数据。问题:秘钥泄露就裸奔,持有秘钥的攻击者可以对客户端服务端间的数据解密获取
  2. 非对称加密:服务端发 公钥 给客户端,客户端加密数据发给服务端、服务端用 私钥 解密,服务端用私钥加密数据发给客户端、客户端用公钥解密。问题:非对称加密效率很低;公钥同样会泄露从而服务端发给客户端的数据可被解密获取。
  3. 两者结合:服务端发公钥给客户端,客户端用公钥加密对称秘钥给服务端,之后客户端和服务端间用该对称秘钥加密数据。问题:无法应对中间人攻击(攻击人对客户端冒充服务器、对服务端冒充客户端)
  4. HTTPS:解决中间人攻击的问题。HTTPS=HTTP + SSL/TLS (SSL即Secure Socket Layer,标准化后改叫Transport Layer Security),在HTTP和TCP间加入一层SSL/TLS。SSL/TLS的核心思想就是由权威的认证机构(即CA)来颁发身份证明(即所谓的证书)给一个站点,进行交互时服务端首先发送证书给客户端,客户端浏览器通常预置了CA的信息,因此可以根据该信息对证书进行合法性验证。

如何验证证书有效性?

证书内容:CA颁发的证书包含证书版本、有效期、颁给的站点域名、颁发的CA机构、颁发的机构的公钥等信息,此外对这些信息计算摘要信息并用对应的私钥加密摘要信息得到签名以使内容被篡改时可发现。

客户端:客户端浏览器包含权威CA机构的信息,如CA机构、摘要算法、公钥等。因此拿到服务端出示的证书后进行的操作与上述对应——先用摘要算法进行同样的计算得到摘要信息L,再用公钥解密签名得到摘要信息R,对比R、L一样则说明证书未被篡改,可靠。

 

参考资料:

https://www.cnblogs.com/sujing/p/10927569.html

 

HTTPS原理

原文:https://www.cnblogs.com/z-sm/p/10946145.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!