从我有限的googling中,我注意到许多主流的加密消息应用程序都是(或组合的!)封闭源,通过不受控制的第三方服务器运行,使用专有算法,或者使用过时的算法.在我看来,这是完全不能接受的。
我的计划是构建一个开源框架应用程序来实现一个基本的消息传递用户界面,然后构建一个通过开源插件处理自定义加密算法的系统。
我希望通过使用插件系统,用户可以自由选择使用哪种算法,并且插件本身也将面临一般安全社区的严格审查。
为什么我在这里发布这个:我目前对如何正确处理加密数据知之甚少。这一实施的弱点是什么?如何执行开源插件?
一般性说明:
发布于 2016-05-18 21:44:17
你在重塑方向盘。我不认为最新的技术真的值得从头开始创建一个新的应用程序(OTOH,如果你出于其他原因想这样做,比如练习创建一个应用程序,那就去做吧)。
请注意,使用安全加密,第三方服务器将无法窥探会话(尽管它将能够记录元数据)。如果它是开源的,那么您可以很容易地用自己的服务器替换服务器。
有趣的是,您按照放弃它们的原因详细介绍了您所评估的应用程序,因为我怀疑全景图并没有那么糟糕。
我希望通过使用插件系统,用户可以自由选择使用哪种算法,并且插件本身也将面临一般安全社区的严格审查。
你需要基线。你很容易就会因为用户选择不兼容的插件而导致用户分裂。人们也普遍认为,大多数外行人做出糟糕的安全决策。
您建议的是正确的设计,但您可以提供一个单一的安全算法,然后升级与一个更强大的应用程序时,需要。
如果用户可以将应用程序指向自己选择的服务器,他们将如何通信?每个人都需要设置相同的服务器吗?如果我有几个不相交的联系人呢?你打算设计一个联邦服务吗?
在sms之上工作有一些不错的特性,但这也意味着您必须在SMS上安装所有的东西,跟踪安装了程序的联系人,因此应该对通信进行加密。而且他们没有卸载它或者改变终端。当人们更换终端时,这对TextSecure (最终删除了加密短信)甚至黑莓来说都是个问题。
上面提到的自定义服务器实现可以用于远程身份验证。
我在您的问题中没有提到用于远程身份验证的自定义服务器实现,但我应该指出,远程身份验证是大多数这些消息应用程序中最薄弱的部分(与它们的加密本身不同,它们具有端到端加密),因为服务器可以很容易地为完全不同的人提供担保。
使用电话号码以外的ids (如密钥指纹)会稍微令人讨厌,但在安全性和隐私方面都更可取。
https://security.stackexchange.com/questions/123667
复制相似问题