我似乎找不到可靠的非对称加密解决方案来保护基于 python 的服务器应用程序和开放数据通道上的客户端之间的数据。
我的客户需要某种方法来防止中间人通过开放数据通道进行攻击,我当前的交换让我向我的客户发送一个令牌,他们使用它来验证他们正在与我的服务器应用程序交谈,方法是检查令牌是否有效我的网站上的 php 脚本。这远非理想,并且很容易通过等待发送令牌并将其传递给另一个用户而受到损害。
我已经尝试过 as3crypto 的 rsa 加密,但它是一个旧的实现,许多库不支持它并且具有已知的漏洞。
我真的很想要一个解决方案,让我将公钥/私钥硬编码到客户端和服务器中,以防止此类事情发生。
问问题
189 次
3 回答
0
由于反编译 swf 内容对于有经验的黑客来说不是主要问题,因此我强烈建议不要对密钥进行硬编码。您是否考虑过使用 SSL?
于 2011-02-09T16:44:30.080 回答
0
如果有人真的计划攻击,硬编码它们的公钥对你没有帮助,因为 SWF 本身是通过不安全的通道传输的,因此可以交换密钥,就像它们是单独传输一样。
基本上你无法阻止中间人的攻击,你只能让他们更难。我认为 HTTPS 是你能得到的最好的,它也是一个相当简单的解决方案。
于 2011-02-09T16:52:20.177 回答
0
在做了一些研究之后,我决定从头开始编写我需要的 rsa 部分。我找到了一些 python 代码,可以生成任意长度的原始整数键,并查看了 rsa 算法的工作原理。
T^P = X (mod R) 加密
X^Q = T (mod R) 解密
其中 T 是起始数据,X 是结束数据,P 是密钥的公共部分,Q 是密钥的私有部分,R 是密钥的共享部分(所有整数)。
数据将尽可能有一个 nonice 以防止重放攻击,并且整个消息将被转换为一个长整数以防止传统的逐位密码分析。
于 2011-02-15T01:33:29.550 回答