SSL中公钥不是serverA生成的嘛

来源:2-4 kubernetes认证的密码学原理

慕尼黑3055997

2019-05-21

老师好,课程中有一处我不太明白,在SSL/TSL中,对称加密的公钥不是ServerA生成,然后ServerA用非对称加密的公钥加密,ServerB用非对称加密的私钥解密,之后ServerA ServerB用对称加密来通讯,这样不就可以了嘛,为什么老师您讲 ServerB会将对称加密的私钥又会传给ServerA呢??直接用对称加密的私钥通信 黑客怎么会知道呢??

写回答

2回答

qq_青年早报_0

2019-06-21

如果你了解https的加密过程,这个就非常好理解

  1. 第一次使用非对称加密协商密钥为secret

  2. 第二次以后,都使用对称加密的方式进行通信,密钥为secret


非对称加密,通信双方都会产生一个密钥对。私钥自己保存,公钥可以公布出去。


自己公钥加密的数据,只能自己私钥解密。


所以,第一次ServerA获取到ServerB的公钥,用其加密数据,只有拥有ServerB的私钥才能解密,而ServerB的私钥是私有的,自己保存的,所以即使中间有人截取了数据,因为没有ServerB的私钥也不能解密。


同理,当ServerB要向ServerA发送数据的时候,也需要使用ServerA的公钥加密,对应,只有ServerA密钥的服务器才能完成解密动作。


为了保证获取公钥,以及其它数据传输等过程数据不被篡改,可以使用数字签名技术来保证数据的完整性

2
0

刘果国

2019-05-21

亲 没太理解你的意思呢,我大概描述一下,首先对称加密不分私钥公钥,只有秘钥。如果只用对称加密通信,首先得把密钥告知对方。这个过程是可能被窃取的。因为网络假设是不安全的。所以把秘钥放在非对称加密的盒子里面,传递给对方,然后再用对称加密通信。

0
0

Kubernetes生产落地全程实践

一个互联网公司落地Kubernetes全过程点点滴滴

2293 学习 · 2216 问题

查看课程