网络传输加密及https

mac2024-05-27  52

借鉴:https://blog.csdn.net/m0_37907797/article/details/102759257

名词解释

公钥:钥匙是公开的(全世界知道都没关系) 私钥:钥匙则是保密的(只有自己本人才知道)

对称加密

可能出现的问题:密钥在传输过程中被截取了就和明文一样了

非对称加密

问题:安全性比对称加密高,但是效率比对称加密低的多

对称加密+非对称加密

处理方式:服务器把公钥传给客户端,客户端利用公钥生成密钥(对称加密用的),然后使用公钥加密密钥传给服务器,服务器再利用公钥解密得到密钥 公钥三次作用:

利用公钥生成密钥使用公钥加密密钥使用公钥解密得到密钥

存在的问题:

数字证书

对称加密会不安全的原因是客户端不知道这把公钥是否是服务器的,因此,我们需要找到一种策略来证明这把公钥就是服务器的,而不是别人冒充的。 我们需要找到一个拥有公信力、大家都认可的认证中心(CA)。 服务器在给客户端传输公钥的过程中,会把公钥以及服务器的个人信息通过Hash算法生成信息摘要。如图: 为了防止信息摘要被人调换,服务器还会用CA提供的私钥对信息摘要进行加密来形成数字签名。如图:

并且,最后还会把原来没Hash算法之前的个人信息以及公钥 和 数字签名合并在一起,形成数字证书。如图

当客户端拿到这份数字证书之后,就会用CA提供的公钥来对数字证书里面的数字签名进行解密来得到信息摘要,然后对数字证书里服务器的公钥以及个人信息进行Hash得到另外一份信息摘要。最后把两份信息摘要进行对比,如果一样,则证明这个人是服务器,否则就不是。如图:

这样,就可以保证服务器的公钥安全着交给客户端了。 其实,(有些)服务器一开始就向认证中心申请了这些证书了(有没有看过没有证书的网站在地址栏会被标出警告?),而客户端是,也会内置这些证书。如图: 当客户端收到服务器传输过来的数据数字证书时,就会在内置的证书列表里,查看是否有解开该数字证书的公钥,如果有则…,如果没有则…

最新回复(0)