HTTPS 加密传输原理
在面试后端、Java 开发、网络安全时HTTPS 加密过程几乎是必考题。很多同学能说出 “加密”但一深入到对称加密、非对称加密、数字证书、公钥私钥就开始混乱。这篇文章用最通俗、最直白、最适合面试的方式带你彻底搞懂 HTTPS 到底是怎么加密的。一、HTTPS 是什么HTTPS HTTP SSL/TLSHTTP明文传输不安全数据容易被窃听、篡改、伪造HTTPS在 HTTP 下层加入加密层保证传输安全一句话总结HTTPS 不是新协议而是给 HTTP 穿了一件 “加密防弹衣”。二、先搞懂两种加密对称 非对称HTTPS 之所以安全是因为它同时使用了两种加密各司其职。1. 对称加密加密、解密用同一个密钥优点速度极快适合大量数据传输缺点密钥在网络上传输不安全一旦被截获就全泄露2. 非对称加密公钥 私钥一对钥匙公钥公开、私钥自己留规则公钥加密 → 只能私钥解密私钥加密 → 只能公钥解密数字签名优点极其安全私钥永不传输缺点速度慢不适合大量数据三、HTTPS 最核心思想混合加密面试必背这句话HTTPS 使用非对称加密安全交换对称密钥之后全程使用对称密钥加密传输数据。简单理解非对称加密只负责 “安全递暗号”对称加密负责 “真正聊天加密”四、HTTPS 完整加密流程面试直接背1. 客户端发起 HTTPS 请求浏览器访问https://xxx.com告诉服务器我支持哪些加密套件。2. 服务器返回数字证书服务器下发数字证书里面包含服务器的公钥域名、有效期CA 机构的数字签名防伪造3. 客户端验证证书浏览器使用系统内置的CA 公钥验证证书签名验证通过 → 公钥可信验证失败 → 提示 “不安全”4. 客户端生成随机对称密钥浏览器生成一个临时对称密钥这是后续真正加密数据的密钥。5. 用服务器公钥加密对称密钥客户端使用服务器公钥加密对称密钥发送给服务器。6. 服务器用私钥解密服务器使用自己的私钥解密得到对称密钥。7. 双方使用对称密钥通信从这一步开始所有网页、图片、接口数据全部使用对称密钥加密传输速度快、安全性高五、数字证书到底有什么用如果没有证书黑客可以伪造公钥发给你你用假公钥加密黑客直接用私钥解密这叫中间人攻击。数字证书 网站公钥的身份证由权威机构 CA 颁发证明这个公钥真的属于这个网站浏览器验证 CA 签名确保不被掉包六、面试终极总结背会这一段HTTPS 采用对称加密与非对称加密结合的方式服务器通过下发数字证书证明身份客户端验证证书后获取合法公钥使用公钥加密对称密钥完成安全交换后续通信全程使用对称密钥加密数据既保证了密钥传输的安全性又保证了数据传输的效率实现防窃听、防篡改、防伪造。七、高频面试题HTTPS 用的是对称加密还是非对称加密→ 混合加密。非对称交换密钥对称加密数据。公钥和私钥在 HTTPS 里的作用→ 公钥加密对称密钥私钥解密对称密钥。数字证书的作用→ 证明公钥真实有效防止中间人攻击。为什么不直接用非对称加密传所有数据→ 速度太慢对称加密效率更高。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2424159.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!