- 从对称加密到CA的逻辑演变过程
对称加密
- 两边同时使用密钥进行文件的加解密
- 由于不可能每个客户端都有独立的密钥(那表示服务端也要对应生成一份),所以服务端的密钥和客户端的密钥是唯一的,因此黑客也有相同的密钥可以进行拦截
- 假设都是不唯一的,私钥需要传输,黑客可以作为中间用户,拦截到私钥,再用自己的私钥给到客户端,进行中间商的转换
非对称加密
- 客户端向服务端请求公钥,服务端给到公钥之后,客户端使用公钥对数据进行加密,再传输给服务端,服务端使用私钥解密,非对称加密只有私钥和公钥是不同的,公钥加密过的数据只有私钥能够解密,相反也是。
- 客户端传送给服务端的数据是安全的,因为只有私钥能够解密,但是服务端传给客户端的数据是不安全的,因为公钥大家都是一样的。黑客也可以解密
- 再者,依然是存在黑客作为中间商,在服务端将公钥发给客户端的过程中进行拦截,黑客生成自己的公钥和私钥,将自己的公钥发给客户端,客户端使用黑客的公钥加密并返回被拦截,黑客用自己的私钥进行解密,然后再用服务端的公钥进行加密发给服务端,进行中间商攻击
混合加密
- 使用非对称加密将对称加密的私钥进行传输的原理,客户端向服务端请求公钥,服务端返回公钥,客户端生成自己的私钥,并用公钥对私钥进行加密传送回服务端,服务端使用私钥解密获取客户端的私钥,两者使用这个私钥进行对称加密
- 同样会有中间商的问题,黑客拦截后使用自己的非对称公钥发给用户端,和上述非对称加密被拦截的过程是一致的
CA
- 解决中间拦截的问题,那么只要确定这个公钥是被认可的而不是黑客那种不被认可的公钥就行
- CA认证机构为第三方机构,服务端将自己的公钥给到CA认证机构,CA用自己的私钥对服务端公钥进行加密生成证书,这个过程为签名过程,服务端将这个证书进行存储
- 客户端向服务端申请公钥,服务端将证书发送给客户端,客户端的操作系统中有内置的CA公钥(该公钥修改的权限非常高,黑客修改不了)使用该公钥对CA私钥加密过的证书解密就能得到服务端的公钥,这时候就能保证公钥可靠性,再用该公钥对生成的客户端私钥进行加密,剩下的及时混合加密的过程了,两边最终以私钥进行通信
本文由 RukyLi 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。