一次对“电报”开发人员的加密挑战

这周早些时候,一家叫做“电报”的公司发布了一种“安全”移动信息产品。多安全呢?用他们在常见问题解答中的话来说,“非常安全”。出于好奇,为了了解更多,我查看了他们的协议,然后立即产生了一些问题和担忧。然而,当触及技术细节时,他们用开发人员的学历(数学博士)来回答,而不是进行一次更讲道理的对话。他们同时谢绝了我以任何形式与之合作的尝试。

最近,他们选择了用一次加密破解挑战赛对安全社区的忧虑作出回应!

 

加密测试的谬误

一如既往,这些东西都是不好的信号。通过用他们的方式设计的测试,“电报”开发人员正利用一个作弊的挑战来欺骗公众。他们没有花费时间更新他们的常见问题解答,以说明他们举办的比赛是他们绝对安全的坚实证据,即便这基本上已毫无意义。

所以,“电报”开发人员们,作为一种回应,我为你们准备了我自己的加密破解测试。下面展示一个极差的“安全”协议,它在实际环境中面对攻击连一秒都不能坚持,但是在与“电报”挑战赛完全一样的测试框架中却变得“牢不可破”。

  1. Alice使用了一个美国国家安全局(NSA)有后门的随机数生成器,叫做Dual_EC_DRBG,并用它生成一段随机的32字节值作为超级密钥,叫做super_secret
  2. Alice向Bob发送一条消息请求他的公钥。
  3. Bobbob_public——一个896bit的RSA公钥——来回复。没有签名,没有验证,我们仅寄希望于不会有中间人攻击。
  4. Alicebob_public作为公钥,采用“教科书RSA”(译者注:主要与生产环境中更安全的“部署用RSA”相比,这种RSA有明显弱点)加密super_secret,然后发送给Bob。没有任何随机填充,仅仅是全零填充。e=65537。
  5. AliceBob现在用super_secret计算出短信密码 message_key=MD2(super_secret)(我们知道你们喜欢过时的加密方式,所以我们觉得你们应该会喜欢用MD2作哈希函数)。
  6. Alice给Bob发信息时,这样计算密文:ciphertext = message xor message_key。陈旧到完美的方案,我们的异或加密方式甚至比你们的70年代加密方式更古老,那么现在会发生什么呢?

这样,我们就构建了一个信息协议,它使用了NSA有后门的随机数生成器(Dual_EC_DRBG),弱公钥算法(896位RSA,没有填充,没有签名,没有认证),尽可能最差的加密哈希函数(MD2),以及用异或作为加密算法。AliceBob之间通信的全部副本在下面附录中,Alice每天都会把同一条信息发给Bob一次(正如“电报”公司的测试一样)。

测试框架完全与“电报”的一样(没有中间人攻击,没有已知明文攻击,没有选择明文攻击,没有选择密文攻击,没有篡改,没有重放,等等)。如果“电报”想要证明他们的协议比这个绝对的垃圾协议更好,那么我质疑他们能否发布Alice信息中的明文。如果他们使用他们建立的框架,不能在这个明显残缺的协议中展示一次破解,那么,我们就会明白他们的测试在胡说。

按照他们的逻辑,这个测试“证明”了这个残缺协议令人费解的安全,尽管他所能证明的只是这样的测试不过是用于骗人的工具。

 

对于我们其余的人

让我们来把这件事做好,并且建立一个真正的开源安全异步信息传输解决方案,使它不只是骗人的万灵油或营销噱头。

我们在OpenWhisperSystems开发了开源应用TextSecure,并使用了我们认为能够代表当今安全异步信息传输解决方案的精髓。我们已经与Cyanogen公司合作,将TextSecure协议,透明的集成到他们的产品CyanogenMod中,这给了我们1000万脱离了像“电报”这样不诚信开发者的用户。

请加入我们这次集体开源的努力。加入邮件列表并帮助开发,设计或者编写文档的工作。如果你想要赞助我们,你可以资助我们的BitHub实例,这会给任何无偿贡献者一个获得赞助的机会,同时我们会提供机会让你能够精确的查看你的钱是怎么花的。

不论多少,任何你能提供的帮助都使我们向着一个真正的隐私信息传输解决方案更进一步,这会让如“电报”这样的骗子更容易消失于大众视野。这需要我们所有人。

 

附录——测试传输日志

收藏 3 评论

关于作者:50infivedays

(新浪微博:@50infivedays) 个人主页 · 我的文章

相关文章

可能感兴趣的话题



直接登录
最新评论
跳到底部
返回顶部