密码学比看起来难

在时间旅行中,给杂志写专栏总是一种锻炼。我在十二月初写这些词。你会在二月份读到它们。这意味着,在我写这篇文章的时候,任何新闻在两个月后都会过时。在我写这篇文章的时候,任何对你来说是新闻的事情都还没有发生。

去年11月,一组研究人员在一个加密协议中发现了一些严重的漏洞,也许你们大多数人,定期使用。该组织通知了供应商,世卫组织目前正在努力更新协议并修补漏洞。这个消息可能会在二月中旬公布于众。除非供应商成功地请求更多的时间来完成他们的安全补丁。在那之前,我同意不谈细节。

我现在写这篇文章是因为这些漏洞说明了关于加密的两个非常重要的事实,以及当前关于为安全产品添加后门的争论:

  1. 密码学比看起来更难。
  2. 复杂性是安全的最大敌人。

这些不是新的真理。我写了1997年的第一篇和1999年的第二篇。我已经和他们谈过了秘密和谎言(2000)和实际的加密(2003)。他们一次又一次被证明是真的,由于加密系统后在加密系统中发现了安全漏洞。直到今天,它们仍然是正确的。

密码学比看起来难,主要是因为它看起来像数学。算法和协议都可以被精确定义和分析。这不容易,还有很多不安全的密码,但我们密码学家在这方面做得很好。然而,数学没有代理权;它实际上不能保护任何东西。要使密码学起作用,它需要用软件编写,嵌入到更大的软件系统中,由操作系统管理,在硬件上运行,连接到一个网络,由用户配置和操作。每一个步骤都会带来困难和弱点。

虽然密码学为防御者提供了固有的数学优势,计算机和网络安全更加平衡。一次又一次我们发现基础数学中没有弱点,但在所有这些事情上。攻击者利用系统中的漏洞来绕过密码学要比破坏数学容易得多。几十年来一直如此,这是爱德华·斯诺登重申的教训之一。

第二个真理是,复杂性仍然是安全的最大敌人。一个系统越复杂,代码行越多,与其他系统的交互,配置选项,脆弱性是存在的。实施密码学需要把一切都做好,越复杂,越有可能出错。

漏洞来自于系统中的选项,系统之间的相互作用,用户和系统之间的接口——无处不在。如果良好的安全性来自对规范的仔细分析,源代码,和系统,那么一个复杂的系统分析起来就会更加困难和昂贵。除了最简单的系统之外,我们根本不知道如何安全地设计任何东西。

我经常引用这句话,有时被认为是爱因斯坦,有时被认为是约吉·贝拉:“理论上,理论和实践是一致的。在实践中,它们不是。”

这些真理直接关系到当前关于为加密产品添加后门的争论。从中国到美国和英国,许多政府都希望能够在用户不知情或未经用户同意的情况下解密数据和通信。几乎所有的计算机安全专家都有两个理由反对这个想法:首先,添加这个后门使系统容易受到所有攻击者的攻击,不仅为“好人”提供秘密访问,而且第二,创建这种访问大大增加了底层系统的复杂性,指数级增加了安全错误和引入新漏洞的可能性。

回到2月中旬你们会学到的新的脆弱性,首席研究员写信给我:“如果有人告诉你[供应商]可以稍微“调整”系统以增加密钥托管或中间人特定用户,他们需要花几天时间观察[客户端设备/软件]和无数服务器之间的身份验证舞蹈,这些服务器仅仅是为了登录到网络。坦白地说,我很惊讶,你付不起足够的钱来篡改其中任何一个。”这是一个重要的智慧。

这个系统的设计者不是新手。他们是一个经验丰富的团队,拥有该领域最好的安全工程师。如果这些人不能得到安全保障,试想一下,如果没有这个团队的专业知识和资源,对于小公司来说情况会有多糟糕。现在想象一下,如果你增加一个政府授权的后门,情况会更糟。有更多的机会让安全出错,还有更多的工程团队没有时间和专业知识来做好。这不是安全的秘诀。

不像今天很多政治辞令所说的,强大的密码技术对我们的信息安全至关重要。这是我们如何保护我们的信息和网络不受黑客攻击,罪犯,外国政府、和恐怖分子。安全漏洞,无论是故意的后门访问机制还是意外的缺陷,让我们都不那么安全。确保安全比看起来要难,我们最好的机会是让密码学尽可能的简单和公开。

本文以前出现过IEEE安全与隐私,的更新我写的东西在1997年。

我在文章中提到的弱点是IMessage缺陷.

发表于3月24日,2016年上午6:37•30评论188滚球网站

188滚球网站评论

弗里3月24日2016年14日

这是一些基于硬件的程序证明专家发明的时候:
——一个CPU
一个操作系统
——一个键盘
——一个屏幕
-串口

它们都不复杂。所有与证明。所有的开源。理想情况下,操作系统将以CPU的本地汇编语言编写。演出将是80年代,但这是要付出的代价。

弗里3月24日2016年52点

我的文章是对以上段落的一个解决方案,我现在引用:

第二个事实是,复杂性仍然是安全的最大敌人。一个系统越复杂,代码行越多,与其他系统的交互,配置选项,脆弱性是存在的。实施密码学需要把一切都做好,越复杂,越有可能出错。

绿色的松鼠3月24日2016点9:24

我在十二月初写这些词。你会在二月份读到它们。

我们正在阅读三月底的博客评论版本。

沃尔什3月24日2016上午9:43

“我们的密码学专家已经非常擅长把这一部分弄对了。”

不,你没有。

你所做的只是简单的部分,然后把困难的部分留给软件开发人员。就像一个傲慢的手术刀制造商声称他们做了艰难的部分和愚蠢的外科医生是事情出错的原因。有趣,你所谓的专家已经有二十年没修好任何东西了。你所做的就是聊天聊天。

史提夫国王3月24日2016年远点

你听说过设计汽车的密码专家吗?

如果你在右转时听错了电台,挡风玻璃就会突然爆炸。如果你在时速超过100公里时,曾把乘客侧车窗放下,那是这个月的第一个星期二,发动机的垫圈坏了。

老板抱怨,人死亡。

密码学家的反应是“他们不应该这么做。”设计汽车很难。当车速超过100公里/小时时,不要降低乘客侧车窗,如果是这个月的第一个星期二。我们把它放在手册里了。你没看手册吗?愚蠢的人。

然后密码学家们都去参加了一个会议告诉大家设计汽车是多么的困难以及它是多么的复杂和不可能让任何人都做对除了他们,即使是火箭工程师也不够好。

细胞凋亡3月24日2016上午10点10分

再一次,你不必完美,你必须对那些试图干涉你合法隐私权的毫无价值的政府征税寄生虫太过严厉。

像联邦调查局一样是谁挑起了他们的调查,然后通过他们的牙齿说谎说只有苹果可以帮助他们。这帮坏蛋说了19次谎。科米对国会撒谎。他的FBI探员在法庭上撒谎。

https://www.emptywheel.net/2016/03/22/dojs-pre-ass-handing-capitution/

你可以用腐烂13来阻止这些混蛋。手表,笨蛋斯特灵大卫·艾伦现在要给他们树桩。

科米甚至不关心这个死人的电话。他想要这个法庭命令这样他就可以杀死黑人生命物质组织的领导人,MLK-style。

史提夫国王3月24日2016上午10时18分

如果医疗技术由NIST管理,花上1000亿美元,你就能得到一本如何去除创可贴的手册。再花上几千亿美元,美国国家安全局就可以部署技术,阻止你阅读如何去掉创可贴的手册。

杰克3月24日2016上午11:03

@Security哲学家

说清楚,“好加密”=“安全”…所以…如果好的加密是非法的,只有罪犯才是安全的,其他人都会不安全。

@ Gary Walsh,沃尔什

哇,小心,你的肩膀看起来有点脱臼,上面有块芯片。

“不,你没有。”

我猜你是说密码学家连最简单的部分都没弄懂,对吧?制造商们还在设计恐怖的手术刀?如果这么简单,你为什么不做得更好呢?

尼克P3月24日2016年十一21点

@ FoLi

CPU的证明已经做了几次:fm9000,汉堡的计划CPU、洛克尔·柯林斯的AAMP5G,AAM7G以及Verisoft的鞋面处理器。只要系统能够捕捉到这些信息,其他的就可能是不可靠的。所以,您需要证明I/O接口。耶鲁弗林特集团做了很多。唯一让这种工作放慢速度的是缺少人来做。大量的工作实例可供借鉴。所以,跳进去。

雅库布纳夫斯基3月24日2016年下午'

读一本剪报芯片的历史,你可以注意到,也就是说,任何后门系统都必须确保不绕过它……这是(正如Clipper chip short history所显示的)不容易做到的。

所以后门会:1)让我们都很脆弱,2.)不会帮助打击恐怖分子/恋童癖者/有组织犯罪/罪犯/逃税者。不管怎样。

KT3月24日下午1:50 2016

他们真的应该使用正式验证的技术来编写加密软件。至少,他们应该有一个非正式的证明(或解释)为什么他们的软件是正确的。

我们已经看到,在openssl(和其他)中,他们甚至不想去想任何可能出错的事情:他们只是想让它工作(它,在安全软件,意味着它看起来只起作用。

克莱夫·罗宾逊3月24日2016下午1:58

数学的一个问题是它在实际的理论设计和实际的实现方面所做的和不涉及的事情。

例如,在某些有限的方面,AES似乎在理论上是安全的,然而,在早期的实现中,它非常不安全。这是因为理论工作忽略了基于时间的旁道和其他因素。

但更进一步,大多数加密算法在加密模式中都被用作子算法。有些模式不能很好地与一些加密算法一起工作。部分原因是加密算法的设计和数学证明没有考虑使用这种模式。

但随着协议栈的增加,问题变得更严重,证据经常不重叠,因此,它们有内在的安全漏洞。

一个简单的事实是,目前我们知道的还不够多,还没有机会把数学方面做好,更不用说实际的实现了。

在我们开始考虑硬件安全问题之前。

作记号3月24日2016年53秒点

考虑到“Wassenaar安排”带来的影响:http://www.wassenaar.org/participating-states/全球地,不排除澳大利亚现在正被澳大利亚政府控制的情况:http://www.defense.gov.au/deco//u master/docs/australian_export_controls_and_ict.pdf,不难看出,政府对软件设计和发布的影响和控制将是毋庸置疑的,彻底消灭安全产品。

密码学软件设计不是关于数学的,它是关于正确设计编程算法,以确保安全性。

这可能是一个静音点,但http://www.foocrypt.net/

网址:https://www.gofundme.com/foocrypt生活需要资金。

J。3月25日,AM 2016

一个加密协议,也许你们大多数人,定期使用。”
我赌的是Badlock,即将发布的Microsoft Windows/SAMBA问题。

谁?3月25日,2016点6:50

@克莱夫·罗宾逊

数学的一个问题是它在实际的理论设计和实际的实现方面所做的和不涉及的事情。

完全同意。

例如,在某些有限的方面,AES似乎在理论上是安全的,然而,在早期的实现中,它非常不安全。这是因为理论工作忽略了基于时间的旁道和其他因素。

密码学的数学很强,通常失败的是实现本身。正如你提到的,定时攻击是针对第一个AES实现的有用的侧通道攻击。

但更进一步,大多数加密算法在加密模式中都被用作子算法。有些模式不能很好地与一些加密算法一起工作。部分原因是加密算法的设计和数学证明没有考虑使用这种模式。

比如电子码本(ECB)加密模式的弱点。

您认为这些是NIST采用AES作为标准的原因吗?我同意,AES很难纠正,完成后,选择错误的加密模式是有风险的。因此,在部署AES加密时,我们必须与坏的实现和糟糕的设计选择作斗争。

但随着协议栈的增加,问题变得更严重,证据经常不重叠,因此,它们有内在的安全漏洞。

恐怕我没有完全明白你在这里说什么。

一个简单的事实是,目前我们知道的还不够多,还没有机会把数学方面做好,更不用说实际的实现了。

所以,你认为我们应该在AES上标上一个大大的“here be dragons”(这里有龙)的标记,并尽可能避免吗?

在我们开始考虑硬件安全问题之前。

不要开始讨论硬件安全问题。我担心我们根本没有机会赢得这场战斗。我们应该接受我们的大部分硬件要么是备份的,要么至少是足够弱到可以备份(即使从硬件制造商的角度来看是无意的)。

以布鲁斯的第二点为例(“复杂性是安全的最大敌人”),即使当前的硬件没有后门,它的设计非常复杂,必须有多个类似于后门的bug,这些bug将在某个时候被发现(和利用)。

我们唯一的机会,在硬件层面,信任简单的设备(如alix/apu板,旧的个人电脑,或者是基于ARM的设备)来构建我们网络的边界。

一个爱国者3月25日,2016年32点

政府认为它可以保密后门的钥匙,但它甚至不能保密我的SSN。

克莱夫·罗宾逊3月25日,2016上午11:05

“谁?”

所以,你认为我们应该在AES上标上一个大大的“here be dragons”(这里有龙)的标记,并尽可能避免吗?

是的,艾斯需要一个“这里是龙”,但大多数加密技术也是如此。因此,就像一箱硝酸甘油一样,所有的crypro都应该谨慎对待。

虽然AES在最初的决赛中不是最强的,因为各种原因,每个人都想与之合作,因此,避免这样做既不可取也不实际。

恐怕我没有完全明白你在这里说什么。

当你能把它形象化的时候,这很容易理解。我们经常说系统是由层组成的,我们很少提到的是,各个层不是由一个单元组成的,而是由许多有效独立的单元组成的。因此,就像盒子里的一层橙子或苹果。假设该层是满的,并且没有空隙。不幸的是,情况并非如此。进一步说到证明,在每个独立的单元上,证明的覆盖范围往往小于单位的功能覆盖范围。因此,它们的差距不仅来自于缺少的单位,有单位的证明往往不重叠,甚至是靠近。结果常常是一层中的间隙对齐,或者可以使其与其他层中的间隙对齐。并不是说证据是不相关的,只是保险范围有漏洞,安全漏洞。

我们刚刚看到了IMessage问题。压缩函数使用线性CRC,它可以检测特定类型的通信错误,但并非所有错误。CRC没有保护的是某些位翻转攻击,它利用了CRC没有检测到的错误类型。单凭这一点并不足以使进攻成功,然而在另一层,侧通道成为可能,因为附件有效地超出了频带。在其他层面上,结果是,有知识的攻击者可以调整漏洞,并通过整个系统的安全性。

我们应该承认,我们的大部分硬件要么是备份的,要么至少是足够弱,足以备份……

是的,简单的事实是,攻击级别越低,通常破坏性越大。

几年前我意识到这一点并开始寻找解决这个问题的方法,我做得很成功。通过再次查看所有细节,可以通过使用多个硬件单元设置缓解策略,并检测“缺陷硬件”。

黄昏3月25日,2016年十二11点

不,不是,甚至我也有一个想法。

本质上,信息本身会对其进行加密,然而,它可能不是一个新的存在。

持怀疑态度的3月29日,2016年一下午


几乎所有的计算机安全专家都有两个理由反对这个想法:首先,添加这个后门使系统容易受到所有攻击者的攻击,不仅为“好人”提供秘密访问,而且第二,创建这种访问大大增加了底层系统的复杂性,指数级增加了安全错误和引入新漏洞的可能性。

好吧,有几件事。第一,我想知道这个复杂性问题是不是太重了(我将解释我的意思),第二,我想知道的是,您是否没有考虑到特定政策对安全的全面影响,因为您没有考虑到该政策是如何构建关键参与者的激励和行为的。

所以,首先,我对复杂性的部分看法——就其本身而言——是它证明了太多。有时,我们会找到改善系统的方法,也包括简化系统——当然,如果复杂性本身是一个问题的话,这可能是对系统进行的一种重要改进——但通常改进涉及更大的复杂性。

显然,复杂性是一个非常普遍的问题,尤其是在信息技术领域。

所以我们设计了管理这种复杂性的方法,即使我们一路上犯了不可预见的错误,我们构建了复杂的系统,这些系统仍然能够按照预期安全运行。

你说这很难。当然,是很困难的。我们为改进系统所做的很多事情都很困难。它们不容易算出来,即使我们认为我们有一个解,设计能够完全满足我们要求的测试可能并不容易。

但在发出警告(嘿,我们要认真考虑如何做到这一点,我们需要期待某些失败,在实施之前,我们需要做很多测试,等)或批评某一具体建议(例如这是行不通的,因为在低温条件下,o形环不会膨胀,以填满它们原本要填满的不断变化的空间体积)简单地采取一般立场反对增加任何复杂性,不管测试有多容易,如果发生某些故障,无论损害有多么有限,不管其他选择。

地狱,加密本身给通信系统增加了巨大的复杂性——我想如果我们不研究如何设计和概念化加密,使其易于理解和测试,至于我们如何将信号失真或丢失的概率限制在可接受的范围内,等。,在某些情况下使用它可能是一个坏主意。

的确,12月7日早上,1941,一架海军飞机在0700时击沉了一艘潜艇,距离珍珠港大约一英里。飞行员用代码传达了这个信息,这意味着一个延迟(相当大的延迟,在这种情况下)在被接收的编码通信之间,以及其中包含的信息被解码并分发给需要了解这些信息的各方。稍微不那么引人注目,在使用加密的好处和成本与所使用的加密类型之间的权衡,显然在今天仍然是一个非常活跃的因素。

现在,显然,在许多情况下,强加密是一件至关重要的好事。我不怀疑很难纠正,而且很难实现。我们坚持认为我们最珍贵的信息是经过强加密的,尽管复杂性和风险不断增加。正如加密本身会使通讯系统更加复杂,同样,任何试图既保护系统不受某些类型的访问尝试的攻击,又允许在涉及特定用户以外的各方的特定环境下进行访问的设计也会更加复杂。

在不牺牲太多期望的好处的情况下,有不同的方法来改善强加密的不期望成本。一种可能是使合法准入机制所涉及的进程多样化,模糊的,测试的一致焦点。

在许多方面,我更希望美国政府和不同的公司一起合作,而不是相互对抗。我更希望苹果公司能配合援助请求,美国政府帮助苹果公司保护该设备免受非法访问。如果苹果提供了请求的帮助,双方都有动机保护所设计的机制,并设计出确定其他人何时也可能发现它们的方法。

这种类型的系统促进为共同目的进行信息共享和合作。

否则——你想谈谈引入复杂性——你让美国政府在决定是否向公司披露漏洞的同时,平衡股权,同时寻求发现这些漏洞,以履行其作为政府的职责。

如果我们要讨论整个安全问题,那更广泛,必须考虑对有关各方的动机和行为的系统性影响。如果我们鼓励最有权势和知识渊博的行动者不要在安全问题上合作,并寻求破解安全的方法(而不是寻求添加一种设计好的授权访问方式),然后我们降低了设备的安全性,其他条件都相等。

所以从工程的角度来看,我不知道反对意见是否过于广泛;从战略的角度来看,我想知道你是否已经考虑过其他玩家的行动和激励措施会对安全产生怎样的影响,不管合法访问的复杂性——无论是否局限于狭窄的条件——给设备或系统的安全设计带来了什么挑战。

德克Praet3月29日,2016年27点

怀疑论者

所以从工程的角度来看,我不知道反对意见是否过于广泛;从战略的角度来看,我想知道你是否考虑过其他玩家对苹果这样的立场的反应会如何影响安全

像往常一样,你又一次长篇大论,雄辩地论证了你的例外政府准入问题。所以,让我再次总结一下,为什么我们中的许多人坚信这是一个真正的坏主意。

  • 技术:绝大多数的主题专家都认为,没有办法提供一个技术上可靠的,这样做的安全和可扩展的方式。我还在等待第一个政府机构或支持者提出一个有效的建议。反复呼吁建立一个新的阿拉莫项目,或者让每个人都更加努力地思考,都不会改变这一点。你也可以向数学社区大声疾呼,他们终于要想出圆的求积的方法了。
  • 哲学的:从时代开始,加密的整个理念就是保持忙碌的人,罪犯和政府都是通过特权通讯。甚至你们的一些开国元勋也用它来对英国人和邮政署长隐瞒他们的一些秘密。我想没有人会争辩说当时的英国政府也有充分的理由要求政府提供后门。
  • 法律:尽管你一直认为司法部在利用AWA迫使私营公司协助政府规避解密方面有自己的法律支持,我们很多人,包括法官,律师和法律学者-见重要的法律和宪法障碍,以这种特殊的途径。称我们是有偏见的白痴并不能改变这样一个事实:最终决定这件事的不是你,而是斯考特斯。
  • 经济当前位置强制政府访问将不可避免地以多种方式损害美国科技行业,并将强大的加密产品移出美国。
  • 政治的:与你,我们中的许多人并不支持政府和企业紧密合作,以便在出示“有效”搜查令后,对普通公民的一举一动和每一次通信进行24/7的跟踪。这是一个反乌托邦小说中的场景,也是暴政的主要推动者,不管出于什么原因,一个领导人或政府总是走到了尽头。民主社会中的任何政府都不应拥有这样的权力,我宁愿冒险与破坏安全和加密的第三方合作,也不愿让任何政府这么做。
  • 社会:科米的“黑暗”指控是歇斯底里的。历史上从未有过LE/IC拥有如此庞大的法律和技术手段来追踪,监视并定罪。没有人否认今天的一些调查受到加密的阻碍,但我不知道任何重大案件中,破坏它对于防止对国家安全的明显和迫在眉睫的威胁至关重要。圣贝纳迪诺的案子当然不是,更重要的是,最终,联邦调查局(尽管宣誓证词相反)甚至不需要苹果进入那部手机。

    直到Le提出可信的统计数字,即加密正在阻碍大量的调查,严重影响公共或国家安全,社会作为一个整体,通过不可破解的加密比接受政府授权的后门削弱的加密带来的许多风险更安全。

另一次4月15日,2016年一37点

我已经读腻了这个谎言:“再加上这个。
门使系统容易受到所有攻击者的攻击”。

是的,赢得争论是很有用的,但这显然不是真的。

也,如果有人想要一个后门而不搞复杂的话,他们所需要做的就是使用不对称技术(魔法)生成一个prng,他们可以解密他们想要的任何东西,其他人都不能,因为他们没有必要的密钥。

哦,等等。他们已经这么做了。它叫FIPS。

留下你的评论188滚球网站

允许HTML:

布鲁斯·施耐尔的照片。188滚球网站

188滚球网站施耐尔的安全是一个个人网站。表达的意见不一定是……的意见IBM弹性.