https(2)

作者: xandone | 来源:发表于2017-07-25 16:36 被阅读6次

一、共享密钥加密(对称密钥加密)
客户端和服务端采用同一个密钥加密进行传输,传输的内容加密和解密用同一套密钥
在传递该“密钥”的过程中若被第三方截获,第三方用密钥进行解密,则传输的数据仍然处于不安全状态。
二、公开密钥加密(非对称加密)
客户端持有自己的一套公钥和私钥,服务端也持有自己的一套公钥和私钥。公钥是公开状态的,所有人都能看得到,但是通过公钥加密的数据,只能和之配套的私钥才能解密。
客户端将公钥发送给服务端,服务端用该公钥对数据进行加密,客户端接到数据后用对应的私钥进行解密,这个过程只有客户端自己保存了私钥,避免了私钥向外传输的风险。
三、虽说非对称加密解决了私钥传输的风险,但是使用非对称加密效率过低,因此Https结合了两种加密方式,使用非对称加密的方式将对称加密的“密钥”传递给对方,这样就避免了第三方的劫持,然后采用对称加密的方式记性数据传输,解决效率上面的问题。
四、貌似所有的安全问题都解决了,但是其实还是有风险存在的,那就是公钥的传输,虽说公钥是公开的,但是会存在这种情况:
1.客户端发送公钥
2.第三方截获公钥
3.第三方更换成自己的公钥
4.第三方发送自己的公钥
5.服务器接收第三方的公钥,误以为这就是客户端发来的公钥
6.服务器用第三方的公钥加密发送数据
7.第三方截获该数据数据用自己的私密解密
8.第三方用客户端的公钥加密发送给客户端
9.客户端接收到数据
简直神不知鬼不觉,第三方既扮演了客户端也扮演了服务端,数据就这样被窃取了。
五、这时候CA机构就出现,他向外提供自己的数字证书,服务端申请获得CA机构签名处理的公钥和公钥证书绑定在一起,简称数字证书,将数字证书发送给客户端,客户端使用CA的公钥对数字证书的签名进行验证,即可知道该数字证书是否为服务端一致的证书,若一致,则当前公钥是安全的,没有被篡改。

相关文章

  • https(2)

    一、共享密钥加密(对称密钥加密)客户端和服务端采用同一个密钥加密进行传输,传输的内容加密和解密用同一套密钥在传递该...

  • 站点HTTP-2-HTTPS

    申请的域名备案下来了,然后将自己的博客地址挂上了域名。使用Chrome打开,发现Chrome显示为不安全的网站,这...

  • nginx + https(tomcat2)

    nginx 配置 tomcat (1,2)配置 单台Tomcat(HTTPS):

  • 2、HTTP和HTTPS区别

    超文本传输协议HTTP协议被用于在WEB浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何...

  • 6月19日

    1、https://www.jianshu.com/p/61eb2fceceb2[https://https://...

  • https VS https

    HTTPS=SSL+HTTPHTTP协议传输的数据是未加密的 ,也就是明文,因此使用HTTP协议传输隐私信息非常不...

  • 配置适合自己的终端(iterm2 + Oh My Zsh)

    1, 下载item2 地址: https://iterm2.com/[https://iterm2.com/] 2...

  • Mac终端配置指南

    安装 iTerm2:https://www.iterm2.com/[https://www.iterm2.com/...

  • mac java 环境安装note

    iterm2 https://iterm2.com/downloads.html[https://iterm2.c...

  • SpringBoot2 http转https

    在SpringBoot1.5的http转https见: https://www.cnblogs.com/xxt19...

网友评论

      本文标题:https(2)

      本文链接:https://www.haomeiwen.com/subject/fbzwkxtx.html