一 首先在传输中,为了加快加密和解密的速度,我们一般选用对称加密
在AtoB模型中,对称加密足够了
二 但是具体到BS模型中,以为是一对多关系,所以S对A的加密算法被B轻松拿到.
所以S针对不同不用采用不同加密算法
也就是说,在真正加密之前要协商具体用哪种加密算法,这个过程叫做:协商
三 如果保证的协商的安全,如果继续加密又会产生鸡生蛋蛋生鸡的问题,所以要靠非对称加密来解决
非对称加密: 服务器是私钥,用户拿的是公钥,私钥加密的所有东西公钥都可以解开,公钥加密的东西只有私钥可以解开.
四 那么如何让客户端安全的拿到公钥?
我们不能直接将服务器的公钥传递给客户端(中间人掉包又产生鸡蛋问题),而是第三方机构使用它的私钥对我们的公钥进行加密后,再传给客户端。客户端再使用第三方机构的公钥进行解密。
第一版“数字证书”,证书中只有服务器交给第三方机构的公钥,而且这个公钥被第三方机构的私钥加密了:如果能解密,就说明这个公钥没有被中间人调包。因为如果中间人使用自己的私钥加密后的东西传给客户端,客户端是无法使用第三方的公钥进行解密的。