HTTPS 的加密流程

HTTPS是在HTTP的基础上,引入加密层(SSL),HTTP是明文传输(不安全的)。之前就出现了,运营商劫持等等问题,因此就引入了HTTPS,解决安全问题,最核心的要点,就是"加密",主要分为了俩点:1. 对称加密 2. 非对称加密

1. 引入对称加密

简单来说对称加密就是加密和解密,使用的是同一个密钥。这里引入的加密是对传输数据进行保护,主要就是针对header和body 进行加密。主要通过对称加密的方式,针对传输数据进行加密操作。

  1. 对称加密的时候,客户端和服务器需要使用同一个密钥。

  2. 不同的客户端,需要使用不同的密钥。(如果这里所有的客户端密钥都相同,加密形式虚设,黑客就很容易拿到密钥)。

总结: 这就意味着,每个客户端连接到服务器的时候,都需要自己生成一个随机的密钥,并且这个密钥告知服务器。(也不一定非得客户端生成,服务器生成也行,也是需要告诉客户端的)。

这就是问题的关键!!密钥需要传输给对方的,一旦黑客拿到了这个密钥,意味着加密操作就无意义了。需要考虑,针对咋们的密钥,也进行密文传输。假设使用对称加密,引入key2 针对key进行key进行加密,意味着就需要把key2也传输给服务器,服务器才能解密到可以,但是在传输过程中还是肯被黑客拿到的。

2. 引入非对称加密

简单来说,非对称加密,使用的是俩个密钥。这俩个密钥,k1,k2是成对的。俩个密钥,就可以一个公开出去,称为"公钥",另一个自己保存好,称为"私钥"。

引入它主要就是针对 对称密钥的传输,进行加密。 (由于非对称加密系统开销,远远大于对称加密。针对大规模的数据加密,不太合适使用非对称加密。)

服务器生成一对非对称密钥,私钥服务器自己持有,公钥可以告任何的客户端。

1.客户端在连上服务器之后,就需要先从服务器这边拿到公钥,(公钥本身就可以公开出去,不需要加密传输)客户端生成对称密钥,拿着公钥针对对称密钥加密。2.此时就可以把加密之后的密文进行传输了,由于想要解密,必须通过私钥,而且私钥只有服务器自己知道,此时这样的加密数据就可以比较安全的到达服务器。3.服务器通过私钥解密之后得到了对称密钥,接下来和客户端之间的通信就通过对称加密来完成了。

SSL内部完成的工作是上图的连线,使用HTTPS的时候,层底也是TCP,先进行 TCP三次我输,TCP连通之后,就要进行SSL的握手了(交换密钥的过程)后面才是真正传输业务数据。

而且这个办法不是百分之一百安全的,就例如: 服务器可以创建出一对公钥和私钥,黑客也可以按照同样的方式,创建出一对公钥和私钥,冒充自己是服务器。如图:

那针对上述问题,如何解决???

最关键的一点,客户端拿到公钥的时候,要有办法验证,这个公钥是否 是真的,而不是黑客伪造的。要求服务器这边提供一个"证明",证书是一个结构化的数据(里面包含很多属性,最终以字符串的形式提供)证书中汇报一系列的信息,比如:服务器的主域名,公钥,证书有效期....证书是搭建服务器的人,要从第三方的公正机构进行申请的。(申请的时候当然要提交材料,人家要审核)。

客户端拿到证书之后,主要的俩件事:

  1. 按照同样的校验和算法,把证书的其他字段都重新算一遍,得到校验和1

  2. 使用系统中内置的公正机构公钥,对证书中的签名进行解密,得到校验和2

此时,就可以比对,看着俩校验和是否一致!如果一致,说明证书是没有被修改过的,就是原版证书。如果不一致说明证书被别人篡改过了。(比如黑客如果替换了自己的公钥,此时算出来的校验和一定发生改变),此时客户端就能识别出来了(此时浏览器这边会弹出一个告警页面,告诉用户你访问的网站有风险)。

黑客无法修改证书的内容,因为:

1.如果黑客直接修改公钥,不修改签名,此时客户端验证的校验和是一定不一样的,就识别出来了。

  1. 如果黑客修改公钥,也尝试重新生成签名,由于黑客不知道公证机构的私钥,所以黑客无法重新生成佳明的签名,如果黑客拿自己的私钥加密呢??客户端这边拿着公证机构的公钥加密也会失败。
相关推荐
飞行增长手记15 小时前
什么是高匿代理IP?安全吗?怎么选?
网络协议·tcp/ip·安全
上海云盾安全满满20 小时前
高防 IP 是如何帮助数藏行业防刷
网络·网络协议·tcp/ip
吠品21 小时前
免费SSL证书自动化申请:DNS代理验证
网络协议·自动化·ssl
捷米研发三部1 天前
CC-Link转Modbus TCP协议转换网关实现三菱 PLC与传感器通讯在快递分拣中心的应用案例
网络·网络协议
嵌入式-小王1 天前
每天掌握一个网络协议----ARP协议
网络·网络协议·arp
阿珊和她的猫1 天前
HTTP 状态码 301 和 302 的区别与使用场景
网络·网络协议·http
让学习成为一种生活方式1 天前
植物中验证蛋白相互作用的Pull-down和Co-IP技术--文献精读181
网络·网络协议·tcp/ip
普普通通的南瓜1 天前
IP证书在关键信息基础设施安全防护中的实践与挑战
网络·数据库·网络协议·tcp/ip·安全·ssl
YFLICKERH1 天前
【加密协议】SSL/TLS 协议工作流程
网络协议·ssl/tls
6***94151 天前
报错The default superclass, “jakarta.servlet.http.HttpServlet“(已经配置好tomcat)
http·servlet·tomcat