在一个不安全的公共网络上有两个陌生人A,B ,A和B可以进行私密通信吗?
网络安全方面的问题,我觉得如果有三方服务器来认证他们两个的身份,并为他们的通信加密则可以。如果没有三方服务器辅助。则a和b不能进行安全的私密通信,不知道对不对啊?求dalao指点
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
网络安全方面的问题,我觉得如果有三方服务器来认证他们两个的身份,并为他们的通信加密则可以。如果没有三方服务器辅助。则a和b不能进行安全的私密通信,不知道对不对啊?求dalao指点
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
首先,公共网络的特性之一就是不安全,只要你是在公共网络中,肯定就是不安全的。然后,第三方服务器也是需要通过A和B传递相关的信息进行认证的,你如何保证这部分信息是安全传递的呢,没被拦截伪造?
个人觉得,完全可以采用 不对称加密/解密 的安全传输机制。如果追求逻辑简易,可以使用 RSA,如果还要考虑性能,则可以模仿 SSL 生成一个用于对称加解密的 session_key 。
1、以 A 作为主来说,A 存放着 B 的公钥
2、B 与 A 通信时,B 将自身的公钥发送给 A,A在确认 B 的公钥已在本机注册的情况下,进行3,否则拒绝通信
3、A 随机生成一串用于对称加解密的 session_key,使用 B 的公钥加密后 session_key_enc 发送给 B
4、B 用自己的私钥将 session_key_enc 解密后拿到 session_key
5、A B 此后使用 session_key 进行数据的加解密传输
session_key 始终是在A B 之间加密传输的,所以是安全的。session_key 从未暴露在公网上,即便有人劫持,通过请求伪造模拟 B 请求 与 A 通信,但没有 B 的私钥,拿到 session_key_enc 也没有任何意义。如果要做对等通信同时在 B 注册 A 的公钥就可以了。
A和B通信关第三方服务器什么关系呢?
直接使用RSA算法进行通行即可。