浏览器原理之HTTPS浅析

748 阅读2分钟

概述

历史

第一版:使用对称加密

第二版:使用非对称加密

第三版:对称加密和非对称加密搭配使用

  • pre-master 是经过公钥加密之后传输的,所以黑客无法获取到 pre-master,这样黑客就无法生成密钥,也就保证了黑客无法破解传输过程中的数据了。

第四版:添加数字证书

  • 通过引入数字证书,我们就实现了服务器的身份认证功能,这样即便黑客伪造了服务器,但是由于证书是没有办法伪造的,所以依然无法欺骗用户。

数字证书的申请和验证

例子

这里我们结合实际生活中的一个例子,比如你要买房子,首先你需要给房管局提交你买房的材料,包括银行流水、银行证明、身份证等,然后房管局工作人员在验证无误后,会发给你一本盖了章的房产证,房产证上包含了你的名字、身份证号、房产地址、实际面积、公摊面积等信息。

在这个例子中,你之所以能证明房子是你自己的,是因为引进了房管局这个权威机构,并通过这个权威机构给你颁发一个证书:房产证。

申请

  • 客户端准备一套私钥公钥私钥留着自己使用

  • CA验证信息真实性

    • 公司是否存在

    • 企业是否合法

    • 域名是否归属该企业

  • 签发认证的数字证书

    • 公钥

    • 组织信息

    • 权威机构称为CA(Certificate Authority)** **的信息

    • 有效时间

    • 证书序列号

    • CA 生成的签名

    通过数字签名来验证是否是该 CA 颁发的

免费证书申请地址:

中文:freessl.cn/

英文:www.freessl.com/

验证

  • 读取证书明文信息:读取证书中相关的明文信息

  • Hash解密摘要:采用 CA 签名时相同的 Hash 函数来计算并得到信息摘要 A

  • 公钥解密摘要:然后再利用对应 CA 的公钥解密签名数据,得到信息摘要 B;

  • 对比摘要:对比信息摘要 A 和信息摘要 B,如果一致,则可以确认证书是合法的,即证明了这个服务器是极客时间的;同时浏览器还会验证证书相关的域名信息、有效时间等信息。

参考

《浏览器原理》

更好的阅读地址:HTTPS