如何让消息在网络中安全的传输?
终极方案:一次一密,协商密钥
在每次通信之前,我们让客户端和服务端协商密钥,而且每次密钥都会不同。协商密钥的过程中并不是只有一个密钥产生,而是会随机产生三次密钥,其中两次是非对称加密密钥(公钥、私钥),一次对称加密密钥,建立安全信道的三次握手。
- 服务端先随机生成公私钥对(公钥1,私钥1),将公钥1传输给客户端。
- 客户端得到公钥1后,也生成公私钥对(公钥2,私钥2)并将公钥2使用公钥1加密后,传输给服务端。
- 服务端收到通过公钥1加密的公钥2的密文后,使用私钥1进行解密并得到公钥2。
- 随后,服务端生成对称加密密钥(KeyA),使用公钥2进行加密后传输给客户端。
- 客户端收到KeyA密文后,使用私钥2解密,得到KeyA。
转自: