【发布时间】:2018-10-04 18:06:02
【问题描述】:
构建端到端加密服务的正确方法是什么?
我的思考过程——
为用户创建公钥和私钥,在握手阶段(当两个用户聊天发起聊天时)使用公钥与接收者共享密钥
一旦双方都获得了密钥,我想pycrypto库可以用来加密Tx端消息,同样可以在Rx端使用第一步共享的密钥解密。
我的问题 - 如何实现 DH 密钥交换?我们在 python 中有库吗?
PS:应用正在使用 gRPC 构建,
谢谢
【问题讨论】:
-
您的上述架构很容易受到中间人的攻击。
-
您能否帮助简要解释一下,我需要一个密钥以加密方式发送给其他客户端。我想,DH 会帮助安全地共享密钥,不是吗?
-
这就是您应该使用 TLS 的原因 - 设计您自己的协议通常最终会变得不安全。你的也不例外。
-
DH 通常容易受到 MITM 的攻击。我建议您阅读密钥交换算法及其工作原理。
-
投票范围太广,这个网站不是设计安全传输协议的好起点。
标签: python python-3.x encryption public-key-encryption grpc