哦,男孩,从哪里开始。
最大的肯定是黑匣子。加密研究人员对诸如随机Oracle模型的不稳定性问题之类的事情大惊小怪。安全研究人员则处于另一个极端,他们希望一切都可以用作黑匣子,而不仅仅是哈希函数。这是一个持续的紧张根源。
为了说明这一点,如果您查看安全协议的形式分析,例如BAN逻辑,您将看到对称加密被视为“理想的分组密码”。这里有一个细微的区别-BAN逻辑(和其他协议分析技术)并不声称是安全证明;相反,它们是发现缺陷的技术。因此,这里理想的密码模型并不是严格意义上的。但是,根据经验,大多数安全分析倾向于局限于形式模型,因此效果是相同的。
我们甚至还没有谈论过从业者。这些家伙通常甚至不知道加密原语不打算成为黑匣子,而且我怀疑这种情况是否会改变-数十年来试图将其打入头脑并没有改变。
要了解问题的严重性,请考虑有关API签名可伪造性的安全公告。该错误部分是由于Merkle-Damgard结构中的长度扩展攻击(这确实是非常基本的),并影响了Flickr,DivShare,iContact,Mindmeister,Myxer,RememberTheMilk,Scribd,Vimeo,Voxel,Wizehhive和Zoomr。作者注意,这不是完整列表。
我确实认为从业者应该为这种悲惨的状况承担最大的责任。另一方面,也许加密理论家也需要重新考虑他们的立场。他们的话是:“黑匣子是不可能建立的;我们甚至不会尝试。” 我要说的是,既然很明显您的构造无论如何都会被用作(黑匣子)黑匣子,为什么不至少设法使其尽可能接近黑匣子呢?
本文梅克尔-Damgard再访是什么我谈论的一个很好的例子。他们研究了以下安全性概念:“当将固定长度的构建块视为随机预言或理想的分组密码时,任意长度的哈希函数H必须表现为随机预言”。这种理论研究在实践中具有巨大的潜力。
现在让我们来看一下电路评估的例子。我不同意你的推理。并不是像您将已编译的二进制文件盲目地变成电路一样。相反,您仅将电路评估应用于基础比较功能,这通常非常简单。Fairplay是电路评估的一种实现。我的一位与之合作的同事告诉我,它出奇的快。效率确实是电路评估的一个问题(我确实知道在现实世界中出于这个原因而被拒绝的情况),但它远没有达到顶峰。
我不同意的第二个原因是,如果您考虑一些典型的现实生活场景,您可能会想在其中进行遗忘的电路评估-例如,当两家公司正在考虑是否合并时-计算成本与整体人力和预算相比,所涉及的成本微不足道。
那么,为什么在实践中没有人使用通用安全功能评估呢?好问题。这使我想到了理论与实践之间的第二个区别:信任实际上存在于实践中!并非偏执狂模型中的所有事情都需要做。人们实际上想要使用密码解决的问题集比密码学家想象的要小得多。
我知道有人开了一家公司,试图向企业客户出售安全的多方计算服务。猜猜是什么-没有人想要它。他们解决这些问题的方式是签订合同,指定可以使用和不能使用的数据,并且在将数据用于预期目的后将销毁数据。在大多数情况下,这很好。
我在理论和实践之间的最终区别是关于PKI。加密纸经常在某处加上一个句子,说“我们假设使用PKI”。不幸的是,针对最终用户的数字证书(与公司环境中的网站或员工相对,自然层次结构)从未实现。这篇经典论文描述了当您要求普通人使用PGP时会发生的欢闹。有人告诉我,此后该软件已得到了很大的改进,但是如今在底层设计和体系结构问题以及人为限制方面并没有太大区别。
我不认为由于缺乏现实世界的PKI,密码学家应该做任何不同的事情,除非要意识到它限制了密码协议在现实世界中的适用性。我把它扔进去,因为这是我要解决的问题。