HTTPS的加密流程总共分为四个部分
用语言解释一下:客户端这边直接再给服务器通过网络传输发送一个密文,然后服务器拿到密文之后,就可以直接使用共同的一个钥匙进行解密,注意:此时客户端和服务器用的是同一把钥匙进行加密和解密所以,这样子就非常不安全,就很容易让黑客拿到这把钥匙,那么有什么办法可以改善一下呢?那么就有第二种加密方式:非对称加密
注意:公钥加密的密文,只能用私钥解开
语言描述一下这个过程:客户端先问服务器要到公钥,然后用公钥对密文进行加密,又因为公钥只能用私钥解开,这样子黑客就得不到这个密文啦~~ **但是!!!**黑客可以记住这个公钥,然后对公钥进行替换,黑客又可以得到密文了,这样的过程称为:中间商劫持
黑客也可以产生一对公钥和密钥,它就可以进行偷换,这样就会得到客户端发送的密文了
语言描述一下这个过程:客户端先问服务器要到公钥,然后黑客偷偷把这个公钥给记住,但是它传输公钥给服务器的时候是自己的那个公钥,**客户端并不知道黑客把公钥给换了!!!**这样客户端还会像之前一样,给密文用公钥加密,传送给黑客(注意这里用的是黑客给的公钥),黑客在拿到密文之后,又把之前服务器给客户端要发送的公钥一换,再传送给服务器,这样服务器也发现不了;那么如何改善这个问题呢?服务器可以向官方部门申请一个证书,这个证书里面包含自己的公钥 ,还有一个特别重要的
加密签名 这个签名只能官方部门修改!!!:这个就叫做引入证书
举个栗子:如果黑客生成了一个pub3,并且把pub3传给了客户端,但是客户端在验证签名的时候就会报错,因为签名只能看不能改!!!