集美网站建设,酒店营销策略,wordpress js手工合并,网站建设是设目录
一#xff0c;HTTPS是什么
二#xff0c;两种加密方式
三#xff0c;HTTPS的加密过程
3.1 引入对称加密
3.2 引入非对称加密
3.3 引入证书 一#xff0c;HTTPS是什么
HTTPS也是一个应用层协议#xff0c;它是在HTTP协议的基础上引入了一个加密层。因为HTTP协议…目录
一HTTPS是什么
二两种加密方式
三HTTPS的加密过程
3.1 引入对称加密
3.2 引入非对称加密
3.3 引入证书 一HTTPS是什么
HTTPS也是一个应用层协议它是在HTTP协议的基础上引入了一个加密层。因为HTTP协议的内容都是按照文本的方式明文传输的这就导致了在传输过程中会出现被篡改的情况。
也就是说使用HTTP协议进行网络传输是不安全的所以现在使用HTTPS协议来进一步确保用户的信息安全。
二两种加密方式
加密就是把明文通过一系列的变换生成密文解密就是把密文再通过一系列的变换还原成明文 加密的两种方式 1对称加密加密和解密使用的密钥是同一个密钥 明文 密钥 密文密文 密钥 明文。 2非对称加密加密和解密使用的密钥是一对密钥分为公钥和私钥这两者是可以互换的使用公钥加密就使用私钥解密使用私钥加密就使用公钥解密 明文 公钥 密文 / 明文 私钥 密文密文 私钥 明文 / 密文 公钥 明文 三HTTPS的加密过程
3.1 引入对称加密 仔细思考上面的模型还存在一个重大问题服务器不是只和一个客户端通信那么这些客户端使用的密钥是相同的吗很明显每个客户端的密钥必须是不同的这样彼此之间才不知道对方的密钥是啥。
既然要求每个客户端的密钥都不相同那么就需要在每个客户端与服务器建立连接的时候把密钥生成出来(这里涉及到一些随机数机制来确保密钥互不相同)然后客户端再把生成出来的密钥通过网络发给服务器。
但是这里又出现了一个问题客户端发送给服务器的密钥也是没有加密的也就是说密钥是可以被黑客截获的这样就又回到了最初的问题如何加密所以这时我们就引入了另一种加密方式 —— 非对称加密。 3.2 引入非对称加密 通过上述过程客户端生成的密钥就不会被黑客获取到接下来就可以通过密钥来进行通信了。这时候就会有人问了既然可以使用非对称密钥加密那为什么还要使用对称加密直接全部使用非对称加密不就行了吗
这是因为非对称加密/解密运算成本是很高的运算速度也比较慢而对称加密/解密运算成本低速度快。所以非对称加密通常是在一些比较关键的环节使用(传递密钥)成本就比较可控后续传输大量的业务数据都是使用效率更高的对称加密。这样整体的传输效率也会得到提高。
但是上述流程还存在一个漏洞画个图理解一下 在上述流程中客户端的对称密钥就会被黑客获取到之后客户端与服务器之间的通信也就会一览无余了。那么要如何解决这种 中间人 问题呢这时候就需要引入第三方公正机构。
3.3 引入证书
会发生上述 中间人 问题的原因是客户端无法区分这个公钥究竟是不是黑客伪造的因此在这里就要引入第三方即一个被大家信任的公正机构如果公正机构说这个公钥是正确的不是被伪造的我们就可以使用这个公钥进行加密。
将这个流程画个图理解一下 公正机构针对证书中的各个属性计算出来的一个校验和并对这个校验和进行加密就得到了数字签名这里的加密是指公正机构使用自己生成的一对非对称密钥加密公正机构会使用自己持有的私钥对校验和进行加密公钥会发布到各个客户端设备中往往公钥是内置到系统中安装了系统就会自导公正机构的公钥。
当客户端拿到数字签名就可以通过系统内置的公正机构的公钥进行解密得到最初的校验和然后客户端在重新计算一遍校验和看看和解密出来的校验和是否一样如果一致就说明证书没有被篡改公钥是可信的。 在上述机制下黑客就无法对证书内容进行篡改了或者说篡改了也会被发现 如果黑客篡改了里面服务器的公钥替换成自己的那么客户端在进行校验和验证的时候就会发现校验和不一致客户端就认为公钥被篡改了如果黑客不止替换了公钥还将数字签名给替换了那么由于黑客没有私钥无法对其篡改后的数据进行加密或者说使用自己的私钥加密后客户端无法对其进行解密而公正机构的公钥是客户端系统自带的黑客无法替换如果黑客自己申请一个证书完全替换掉服务器的证书呢这也是行不通的因为申请证书是需要提交材料的其中就有网站的主域名认证机构会对这个域名是否归你所有进行认证。 综上所述只要通过证书的检验就说明公钥是服务器的公钥了