FIPS 140-2二级认证USB记忆棒破裂

有点像愚蠢的错误:

有问题的USB驱动器通过几乎不可破解的AES 256位硬件加密系统加密存储的数据。因此,访问存储在驱动器上的纯文本数据的主要攻击点是密码输入机制。在分析相关的Windows程序时,SySS安全专家发现了一个相当明显的缺陷,该缺陷已经很明显地从测试人员的网络中漏掉了。在成功授权过程中,无论密码如何,程序都会在执行各种加密操作后始终向驱动器发送相同的字符串,这种情况适用于所有此类USB闪存驱动器。

因此,破解驱动器非常简单。SySS专家为活动密码输入程序的RAM编写了一个小工具,该工具始终确保将适当的字符串发送到驱动器,而不考虑输入的密码,因此可以立即访问驱动器上的所有数据。易受攻击的设备包括Kingston DataTraveler BlackBox、SanDisk Cruzer Enterprise FIPS Edition和Verbatim Corporate Secure FIPS Edition。

很好的分析工作。

文章继续质疑FIPS认证的价值:

然而,真正的问题仍然没有答案——如何才能为显示出如此严重安全漏洞的USB闪存驱动器授予加密设备最高证书之一?更重要的是,如果认证没有检测到这些漏洞,那么它的价值是什么?

问题是,没有人真正理解FIPS 140-2认证的含义。相反,他们认为:“这个加密货币是经过认证的,所以它必须是安全的。”事实上,FIPS 140-2 2级认证唯一的手段使用了某些好的算法,并且具有一定程度的防篡改性和篡改证据。安全营销部门利用了这种混淆——不仅是FIPS 140,还有所有的安全标准——并鼓励他们的客户将符合标准等同于安全。

因此,当这种等价被证明是错误的时,人们会感到惊讶。

发布于2010年1月8日上午7:24102条评论

评论

瑞奇鲍比2010年1月8日上午7:28

过去有多种方式破坏了加密,包括通过冷却内存来对笔记本电脑进行加密。

然而,我仍然相信这些加密技术在95%的情况下仍然有效。因为,并不是每家公司都有这样的风险,即有这样的人才会破坏他们的软件。世界上有多少人可以实施这一举措?如果有其他选择,我不会现在就买,但它在大多数情况下仍然有效。

xxx个2010年1月8日上午7:39

@里基·鲍比:

两个谬误:

  1. 只需要打开它并提供工具的人。我们其他人可以下载该工具使用它没有理解细节。

  2. 与您提到的漏洞不同,这是一个相当明显的错误:密码未用于加密。

约翰2010年1月8日上午7:49

和往常一样,被破解的不是加密本身,而是被利用的实现中的弱点。

约翰2010年1月8日上午8:04

我的主要问题是,相同的缺陷是如何出现在3家不同公司的产品中的?这是因为这三家公司都外包给同一家第四公司吗?还是他们在遵循行业标准?或者参与设计的人是不是从一家公司搬到另一家公司?但是的,这真的是一个愚蠢的错误。

吠陀2010年1月8日上午8:05

“文章继续质疑FIPS认证的价值”

也许FIPS应该重新检查其非对称密钥长度的认证/建议:

这是Lenstra的一篇论文,演示了RSA 768位的因子分解,并预测1024位的RSA应该很快就会下降

http://eprint.iacr.org/2010/006

瑞奇鲍比2010年1月8日上午8:13

@xxx个

那么你认为这对一所小学来说仍然是一个巨大的威胁吗?

D类2010年1月8日上午8:21

@维达尔语:

你没抓住要点。这些设备通过了算法使用认证,但并不是算法被破坏了。破坏(认证根本没有解决)的是他们没有使用密码生成密钥。

E类2010年1月8日上午8:36

@D类
将密码用作加密密钥的一部分是不明智的决定。在这种情况下,您必须使用旧密钥解密,并使用新密钥重新加密设备上的数据。

瑞奇鲍比2010年1月8日上午8:38

@比利斯威夫特

同意

风险最小。没有多少安全专家或其他有知识的人在偷这些物品。通常是人们试图快速赚钱。这是有风险的,但如果我的工作范围内已经有了这个产品,我可以接受这个风险

与笔记本电脑加密黑客一样,典型的窃贼会偷一台笔记本电脑并冻结你的内存,然后破坏加密?

hnn公司2010年1月8日上午8:45

安全标准也是如此。(例如我不幸与EN 61508一起工作)没有人理解他们。很少有人会真正追随他们,即使他们声称如此(如果他们这样做,那也没什么关系)。每个人都认为手册中的“SIL 3”可以神奇地确保一切安全。可能弊大于利。

尼克2010年1月8日上午8:46

Lexar jump驱动器V1甚至将密码存储在驱动器上——或者用固定字符串进行异或。

普通用户无法评估某个东西的真正安全程度–这就是为什么安全分析师和发布他们的结果是至关重要的

戴夫2010年1月8日上午8:53

请不要再说加密没有问题,只是实现有问题。这就像说他们非常健康,只是他们的心脏停止了跳动。

所有加密实现都有问题。

那些说风险很低并且愿意承担风险的人,实际上,你承担风险是因为你没有实际的选择。人们一直在驾驶不安全的车辆,他们只是不想听。你是说如果有更好的东西出现,你就不会开始使用它吗?

弗农2010年1月8日上午8:56

从阅读链接的报告来看,这绝对是可怕的。使用相同的字符串进行加密,而不是使用输入的密码进行加密——这比无能更糟糕,有人可能会争辩说这是设计造成的。

此外,Sandisk和Verbatim的回应是不够的。如果人们确实使用修补过的软件重写数据,这是可以的,但问题是已经编写的数据很容易受到攻击,许多人可能不会费心重写数据。至少金斯顿的回应清楚地表明,该系统存在故障,并且正在妥善修复。

托德2010年1月8日上午8:59

@里克·鲍比

普通人的风险最小。典型的窃贼不会偷笔记本电脑、冻结内存并破坏加密,但普通人不需要经过安全认证的加密笔记本电脑。

另一方面,需要经过认证的安全笔记本电脑和FIPS 2级认证的USB的人可能就是被破解加密的窃贼瞄准的同一个人。对那个人来说,这次休息很重要。

现在我为什么在乎,我不需要那种安全感?嗯,认证安全笔记本电脑上的敏感信息可能是社会安全号码、财务数据或信用卡号码,其中一些与我有关。

帕特里克·G。2010年1月8日上午8:59

@里基·鲍比

你的USB记忆棒(三个品牌之一)被盗/丢失,任何有点知识和动力的人都可以从记忆棒上取下你的数据。
没有电脑,没有密码,没有破解或任何加密。

这比任何具有“密码保护”的压缩工具提供的安全性都要低,需要额外支付120美元。

确实很小…

约翰2010年1月8日上午9:06

@戴夫:“请不要再说加密没有什么问题,只是实现有问题。这就像说他们非常健康,只是心跳停止了。”


你的类比很好,但你的结论是错误的。这个类比很好,因为一个有缺陷的重要器官会杀死整个有机体。结论是错误的,因为这并不意味着其他器官有任何问题。

加密没有被破解,实现被利用。这是事实。保持相同的加密,修复实现。

你本来很好的类比被错误地总结为基本上说我们永远不能捐献器官,毕竟我们不能说肾脏没有任何问题,因为这个人在心脏停止跳动时死亡。

瑞奇鲍比2010年1月8日上午9:17

@帕特里克·G

别误会我,这太可怕了,但在大多数领域,实现这种黑客攻击的风险非常小。

这是这里每个人都喜欢说的典型“电影情节”。说每个偷窃笔记本电脑或usb棒的人都有能力/知识破解加密以获取数据。99%的时候都不会发生。在政府层面上,这是一种不应该存在的风险,但在其他地方,风险最小。

瑞奇鲍比2010年1月8日上午9:22

同时,如果我刚买了这些,发现了这一点,我也会非常不高兴。

布莱恩2010年1月8日上午9:34

@约翰

你的观点是什么?如果数据被泄露,攻击者如何获取数据并不重要。

我能看到的唯一区别是:

如果实现被破坏,那么只有以这种方式实现的设备才容易受到攻击。

如果加密技术或算法被破坏,则只有使用该技术或算法的设备易受攻击。

后者可能是一个更大的群体。

由于布鲁斯帖子的标题是针对该设备的,我不理解你的评论的意义。

约翰2010年1月8日上午9:39

@E…将密码用作加密密钥的一部分是不明智的决定。

实际上,明智的决定是使用一个随机主密钥来加密驱动器上的数据,并在通过密码生成的密钥加密后将主密钥存储在驱动器上。实际上,您可以使用密码获取用于加密主密钥的密钥。

因此,更改密码既快捷又简单。然而,如果没有密码,就无法获得主加密密钥。

文章中实际提到的加密是在转移注意力。他们实际上拥有的是一个系统,在这个系统中,计算机上运行的程序只告诉USB驱动器:“是的。这个人知道密码,所以你可以解锁自己”。在那之后再提到加密是没有意义的。

杰克2010年1月8日上午9:40

@弗农

想想这个。如果Kingston正在召回驱动器,您可能会遇到这样的情况,即他们发送回的驱动器上的数据被暴露……最好应用一个修补程序并修复它。此修补程序修复了错误。这件事在这家公司里经常发生。不需要太激动。只要供应商按时做出反应(他们确实这样做了),我完全可以接受。

约翰2010年1月8日上午9:41

@布莱恩:你的意思是什么?如果数据被泄露,攻击者是如何获得的并不重要。由于Bruce帖子的标题是针对该设备的,我不理解你的评论的意义。


我同意一点(不管他怎么得到它,它都是脆弱的)。

我的观点是,就防御和解决而言,了解实际情况至关重要。如果没有这种理解,有些人可能会错误地认为加密本身有缺陷,需要纠正什么,但事实并非如此。它是如何实施的。

很抱歉,你看不到它的明显意义。

约翰2010年1月8日上午9:51

@布莱恩,2010年1月8日上午9:34

我真的应该把它留在我最后的评论中,但你的逻辑真的让我感到困惑。(老实说,我想你以前用另一个名字和我对质过)

谈论发生了什么事的细节和原因并没有什么不切实际的。如果人们只能笼统地发布准确的标题,那将是一个非常无用的博客。

约翰2010年1月8日上午9:54

复杂的安全系统偶尔会出现意外的、令人尴尬的故障,无论它们的设计和测试有多好。这就是为什么持续的同行审查是当今安全矩阵的重要组成部分。

这也是我们阅读这些帖子的原因——从他人的错误中学习(希望如此),并尝试改进和/或修复我们自己的产品、服务、程序,甚至用户教育。

毕竟,犯错是人之常情。这三家供应商都采取了迅速而积极的行动,传达了他们的安全公告并发布了相应的修复程序(原文中的链接)。谢天谢地,这些更新很少。向他们致敬。

我更担心的是那些从不沟通安全问题、从不更新固件或软件、从不承认犯错的供应商。

戴夫2010年1月8日上午10:03

@约翰-人们通常说一次性垫子代表完美的安全性。问题是它们非常不切实际,而且没有办法解决。一次性密码簿是从哪里来的,远端方是如何让您的一次性密码簿对密码文本进行XOR运算的?你把一次性垫子放在哪里,因为它同样敏感?它和原始明文一样大!永远不要像二战后苏联那样重复使用一个,并被摧毁。

关键是,没有办法绕过不切实际的问题。你可以重复一千次:高斯源与明文异或不能被破坏。那又怎么样?你无法逃避它的不切实际。

从你的帖子来看,我怀疑你只是为了争论而争论。但我愿意解释其他原因。当我说到这一点时,我身边有很多人。

使用加密时不可避免地存在不切实际的问题。是的,有更好的实现,也有更糟糕的实现——我想这是你唯一的观点,真的。那么,怎么了。您无法避免密钥管理、密钥生成、密钥存储方面的问题,以及如何与远程用户共享使用一个密钥加密的文件?您是否使用具有多个密钥的加密层?哎哟。如果密钥基于您的密码,那么它并不比您的密码好。无论算法是什么,您本质上是在交换明文的敏感度和密钥的敏感度。加密实现还有许多其他严重问题。

不要把它当回事。

Scroob总统2010年1月8日上午10:09

……绳子是“12345”,和我行李上的一样。

此外,约翰是对的,正确的处理方法是:

根据哈希验证密码。
用于解密密钥的密码。
用于解密数据的密钥。

由于密码是在软件中输入的,密钥是在硬件中完成的,我还建议登录程序将密码发送到使用共享密钥(更容易被黑客攻击)或公钥(更安全)加密的驱动器,而不是纯文本加密的驱动器。

杰格里科2010年1月8日上午10:17

@约翰

“复杂的安全系统偶尔会出现意外且令人尴尬的故障,无论它们的设计和测试有多好。这就是为什么持续的同行评审是当今安全矩阵的重要组成部分。”

这里的问题是供应商完全缺乏任何有意义的测试。这个设计太死板了,我想把它归为恶意,因为想到有人会这么蠢,我很痛苦。

我必须说,我不太愿意对那些第一次如此戏剧性地失败的人表扬,然后在别人指出之后再承认自己的失败。这似乎把门槛定得有点低。

约翰2010年1月8日上午10:18

@戴夫:从你的帖子上看,我怀疑你只是为了争论而争论。但我愿意解释其他原因。当我说到这一点时,我身边有很多人。


当然不是这样,如果我这么说,我道歉。

事实上,我喜欢你的类比。我只是不同意这个结论,没有恶意或冒犯的意图。我的观点是,人们可能会误解为什么会发生这种情况,并因此实施错误的解决方案。

杰格里科2010年1月8日上午10:26

@Dave,2010年1月8日上午10:03

这里没有人认为绝对安全是切实可行的,甚至在现实世界中也是存在的。

然而,认为这里使用的加密技术在某种程度上负有责任显然是荒谬的。由于设备的实现方式,加密甚至没有被使用出于所有意图和目的。

这是一个实现问题的教科书示例,而不是加密问题。你给这个事实蒙上阴影,对任何人都没有好处。

直到2010年1月8日上午10:49

一次性垫子在某些用例中工作得非常好。德国的每家银行都使用TAN;为了进行网上交易,他们会通过蜗牛邮件将一份6位数字的清单装在一个安全的信封里发给你。对于每笔交易,您必须输入其中一个数字。当你情绪低落时,他们会再给你一次。

这有点让人头疼,但也意味着任何试图窃取你密码的人只能查看你的银行账户,而不能接触任何东西。这是一种非常简单、低技术、有效地使用一次性密码的方法。

显然,并不是每个加密方案都可以嵌入到每个情况中。但这几乎不需要说明。

鲍勃2010年1月8日上午11:01

FIPS是一个对现实安全毫无意义的笑话。

上次我查看时,操作系统的最高级别FIPS标准假定被测试的系统是在一个孤立的网络上运行的,在这个网络上,周围只有具有正常用户权限的白帽。所以他们真正测试的是:“如果每个有权访问键盘或网络的人都有良好的意图,并且没有管理员密码,那么意外地把系统搞坏怎么会很难呢?”

这是一个很有说服力的观点,古老的、臭名昭著的恶意软件防范版本的Windows都是通过了FIPS认证的,而显然安全的Mac OS X、Linux和*BSD版本都没有——主要是因为微软愿意支付实验室费用,让他们盖上FIPS橡皮图章,而苹果等公司却没有。

因此,这就是为什么我们的政府和商界在市场上最不安全的操作系统上运行其安全关键基础设施的原因。当他们被黑客攻击时,任何被叫到账户的人都会大喊大叫,“哦,但这是FIPS认证的!”

当然,有人讨论过更高的FIPS级别,这实际上意味着一些现实的东西,但最后我检查过,他们没有去任何地方。我不确定最大的原因是负责定义测试协议的人无法理解如何做琐碎之外的事情,还是供应商极力反对提高标准。

约翰2010年1月8日上午11:11

@Bob,2010年1月8日上午11:01

我一直认为,如果政府能够:
1) 退出立法/推广标准和方法的行业;
2) 相反,立法对某些类型的披露进行处罚。

通过惩罚/制裁/法律等让企业感到担忧,并让真正了解自己在做什么的人找到解决方案。

有点像限速。他们还没有通过法律,要求每个人都使用巡航控制,或者在超过一定速度时发出警报,或者我们甚至必须有一个准确的速度表。如果我们过度违反限速规定,他们只会给我们开罚单,让我们想办法遵守法律。

我知道这不像限速那么简单,但我想这一点仍然是正确的。

没有人2010年1月8日上午11:12

@鲍勃
NT著名通过的FIPS(橙色书籍C2)甚至比这还要糟糕。它不要求仅记录某些尝试就可以阻止入侵。
一个通过C2的著名操作系统甚至没有提取日志的方法——显然,C2不要求可以读取日志,只要求创建日志。

约翰2010年1月8日上午11:17

@没有人:“显然C2并不要求可以读取日志,只要求创建日志。”


我认识一位审计师,他曾被要求根据州法律验证实体通过IDS路由的所有流量。他发现了一个IDS盒,它已关闭,侧面有钻孔,电缆穿过……该实体解释说:“我们无法让它工作,但法律只是规定它必须通过IDS,而不是说必须打开。”

我们笑得很开心,但那些负责人显然无能为力。

戴夫2010年1月8日上午11:27

我认为假设“好的,所以有人发现了这里的漏洞,做得很好。但他们会修复它,然后我们就没事了,对吧?”是错误的。我们永远不会“没事”。硬件和操作系统等总是在变化。每次有人搬动家具都会带来新的漏洞。

想象一下,一家公司设计了一辆汽车,但无论出于何种原因,如果你在错误的时间按错了按钮,下一个转弯时方向盘就会锁定。然后想象一下,每当有人被杀时,制造商都会回答:“哦,又是一个白痴。这不是我们的错。我们警告他们不要在错误的时间碰那个按钮。这是他们的错。”

人们总是说“这只是一个糟糕的实现”。但是,不实现良好安全性的困难是加密工作方式固有的。我没有给任何事情蒙上阴影。加密有许多突出的问题,甚至没有人指出,因为这是所有人都知道的。人们经常忽略的一点是,一旦对文件进行加密,密文就会永远与所使用的密钥绑定在一起。你可能会丢失密文,并对自己说“没关系,它是加密的。”但有人可以随时保存你的密文,甚至可以在几个月后从完全不同的事件中获得密钥。算法不是秘密。如果你后来还记得“哎呀,我加密了一个WinZip文件”,那就太糟糕了。这些弱点是存在的,你无法挽回它们。你无法阻止某人解密密文,你可能永远不知道他们是否解密了。如今,整个驱动器都是用一个密码/密钥加密的。哎呀!

安全性不像防撕裂尼龙,它更像土豆片袋子的侧面。一旦撕裂开始,它就会沿着袋子的侧面飞奔而下。如果有人拿到了钥匙,谁在乎他们是怎么做的,他们就会得到一切。它还不止于此。然后,他们可以使用该驱动器来渗透整个网络。你认为当这种情况发生时,你会首先知道吗?你可能永远不会知道。许多公司都遭到了破坏,但都不知道。那么我们该怎么说——“噢,这只是又一次糟糕的实施?”

人们需要工作,也需要工具来完成这项工作。他们需要访问文件,还需要将信息远离对手。这就是人们想要和需要的。他们不需要担心“呃……不知道这东西在哪里存储我的密钥?”他们不需要担忧是否有人监听他们的击键,因为他们所有文件的所有安全性以及整个业务的完整性都取决于一个小小的字符串“johnny_ran_home_88”。他们不需要人们每天告诉他们“不要忘记选择一个十英里长的密码,不要忘记每两周更改一次,因为如果你不这样做,那就是你的错。”

不要告诉我这与加密无关。

戴夫2010年1月8日上午11:36

注意:有人会丢失一台笔记本电脑,但因为它是用FIPS批准和认证的端点安全软件加密的,公司不会报告它。然后有人会闯入它,未报告的信息将被公开。

约翰2010年1月8日上午11:54

戴夫,

从技术上讲,目前所有的加密方案都是一次性的。基本上,像AES或RC4这样的加密算法是一个带有种子值的伪随机数生成器,但其状态受连续的重设值流(明文)的影响。我们生成整个明文大小的随机数据流,在明文上对其进行异或运算,并获得输出。

这太简单了。然而,为了回答您的问题“我们如何传输一次性键盘”,我们当前的模型是发布一个算法,该算法在给定相同输入或正确输出以及相同密钥的情况下生成相同的一次性键盘。一些算法使用相同输入可以产生多个随机输出的方法,但每一个都会衰减回正确的输入(欢迎使用模块化算法);但基本上是相同的想法。

杰格里科2010年1月8日上午11:55

@Dave,2010年1月8日上午11:27

你说的话在这里通常被认为是常识。每个人都知道,如果你有一个密文,以及用来解密它的密钥,那么你可以恢复明文。所有这些观点都是真实的、显而易见的,我不会反对它们。

我不同意的是你所有观点与文章。AES没有任何缺陷导致这起事件。这个设备中最薄弱的环节不是使用的密码,而是用于解锁的“秘密敲门”。很明显,这是一个实施问题。

杰格里科2010年1月8日12:00 PM

@戴夫

“但不实现良好安全性的困难是加密工作方式固有的。”

我不知道如何用一种有意义的方式来分析这个句子,所以我忽略了它。

*你是想说很难不正确地实现加密吗?这根本没有任何意义。我不认为这只是你强调的“不”的意外双重否定。

保罗2010年1月8日12:06 PM

从技术上讲,目前所有的加密方案都是一次性的。基本上,像AES或RC4这样的加密算法是一个带有种子值的伪随机数生成器,但其状态受连续的重设值流(明文)的影响。我们生成整个明文大小的随机数据流,在明文上对其进行异或运算,并获得输出。

对由流或分组密码生成的数据流进行异或运算不是一次性的。它不符合随机性要求,就像使用随机数生成器而不是密码一样。

因此,从技术上讲,不,我们现在不使用一次性垫子。有些人可能会,但到目前为止,这只是少数病例。

杰格里科2010年1月8日12:08 PM

@约翰

我担心你可能过于简单化了。根据定义,如果您正在使用一种算法来重新创建平板,那么您就没有使用OTP。

OTP是可证明安全的,而流密码则不是,这是一个重要的区别。

保罗2010年1月8日12:12 PM

对不起,第一段是我引用约翰的话。我太习惯接受有限HTML的博客了。

FIPS NIST Mishmash公司2010年1月8日下午1:02

你认为他们建立这个后门是为了支持那些因为忘记密码而打电话进来的客户吗?我总是想知道供应商是否有后门进入我表面上“加密”的设备。

说到这里,我想买一个外置硬盘。我想知道是应该用硬件加密还是只使用TrueCrypt。这是为了备份,因为我厌倦了将数据刻录到多张DVD上。我还没有买,因为我担心实现中的这些缺陷。

约翰2010年1月8日下午1:39

@戴夫

有很多汽车销售商召回被证明有缺陷或存在安全问题的汽车的事例。最近,一家大型日本汽车制造商在整个美国市场上都这样做了,IIRC因此赢得了强烈的客户反馈。

几十年前,福特平托(Ford Pinto)的安全问题被以截然不同的方式处理,导致了大量客户的强烈反对。这是理所当然的。

换句话说:做得好,认真对待,供应商实际上可以获得商誉。如果做得不好(或者根本不做),天堂就会帮助他们。

@克里斯

“有趣的是,IronKey没有这个问题……”

……然而。
据我们所知。
…说是谁?

偏执狂?莫伊?

约翰2010年1月8日下午1:40

@FIPS NIST Mishmash:“你认为他们建立这个后门是为了支持那些因为忘记密码而来电的客户吗?我总是想知道供应商是否有后门进入我表面上“加密”的设备。”


这是可能的,但我觉得不太可能,原因有二:
1) 这将是一个蓄意的弱点,使它们不仅面临公众的尴尬和审查,还面临潜在的法律责任。如果他们声称数据“只能”用密码检索,但知道这不是真的,那么他们可能会受到其他许多指控。
2) 如果我是他们,我宁愿说:“嘿,如果你丢失了密码,我们帮不了你。我们的产品非常安全,一旦你保护了数据,我们甚至都看不到你的数据。”这样做可以缩短服务时间,而不是让客户远离自己。

但是,我承认这是可能的。

公斤2010年1月8日下午1:54

一开始看起来很傻。FIPS140-2的关键增量要求是篡改证据。一个主要威胁是物理损失/盗窃的设备,获得认证让我觉得是滥用营销。它遭受致命的实现缺陷并不令人惊讶。

这似乎类似于出售一个带肩带的2小时保险箱。即使它真的经过了2小时的认证,该设计也避免了明显的目标(除非只有少数用户能够很好地理解适当的应用程序)。

吉米·D2010年1月8日下午2:11

@里基·鲍比
“通常是人们试图快速赚钱。”“他说,每个偷窃笔记本电脑或usb棒的人都有能力/知识破解加密以获取数据。这种情况99%都不会发生。”

你有“99%的时间”统计数据的来源吗?

我一次又一次地听说,没有人在窃取数据设备,而只是为了出售硬件。虽然这在某些情况下可能是真的,但我怀疑真的有任何方法可以真正知道。

一旦未加密的数据(或本例中易受攻击的加密数据)超出您的控制范围,您就必须得出它已被泄露的结论。否则就太愚蠢了。

袋鼠2010年1月8日下午2:31

@里克·鲍比(Rick Bobby):“他说,每个偷窃笔记本电脑或usb棒的人都有能力/知识破解加密以获取数据。这种情况99%的时候都不会发生。”

这不是加密的“黑客”!如果这种“加密”足以满足您的使用需求(也就是说,您不希望攻击者费心下载一些免费软件来提取您的数据),那么为什么要加密呢?

仅仅使用一个不寻常的文件系统就可以更便宜、更快、更充分。下载软件在你的Doze电脑上使用ext3,并使用常规棒。或者将其拆分为两个分区,在反转位的同时将分区a复制到b,然后擦除a,这将是一个很小的程序。或者给分区一个磁盘标签,并将分区放在该分区内,这样您就需要知道一点来安装内部分区。或者在1:1映射上重命名所有文件,这是一个非常模糊的程序。

你根本不需要加密——你只需要稍微模糊一下系统,就要付出金钱和计算上的代价。十分钟内,你应该能够想出20个比加密更好的解决方案。

另一个过程过度思考的例子。这就是安全失败的地方——人们不知道他们在说什么。我打赌“瑞克”负责学校的所有电脑,甚至是学区的IT主管!

违约2010年1月8日下午2:32

@戴夫
“注意:有人会丢失一台笔记本电脑,但因为它是用FIPS批准和认证的端点安全软件加密的,公司不会报告它。然后有人会闯入它,未报告的信息将被公开。”

更糟糕的是,由于违规报告要求仅规定笔记本电脑/数据必须加密,用户的密码可以写在笔记本电脑上(使加密变得毫无意义),但公司将不必报告,因为笔记本电脑/信息已经加密。

市场营销演讲2010年1月8日下午3:10

@布鲁斯
“问题是没有人真正理解FIPS 140-2认证意味着什么。”“安全营销部门利用了这种混乱……”

我不得不预计,许多人都被这一点误导了。NIST对FIPS使用了很多术语(即验证、认证、合规性)。FIPS验证(导致认证)针对的是加密模块,而不是消费者级产品。所需要做的就是以编程方式调用FIPS验证/认证的加密模块(即RSA BSafe或MS CryptoAPI)来声明FIPS顺从这并没有说明使用经过FIPS验证的加密模块的应用程序、进程等的实际安全性(正如我们在这些USB闪存供应商那里发现的那样)。

来自FIPS 140-2验证证书:
“只要产品在其整个生命周期中继续使用本证书中规定的加密模块的验证版本,使用上述识别的密码模块的产品可能会被标记为符合FIP 140-2的要求。验证报告包含有关测试结果的其他详细信息结果。没有进行可靠性测试,两家机构对产品没有明示或暗示的保证。

Veracitor公司2010年1月8日下午4:07

我不相信Ironkey。阅读他们的文档(在他们的网站上公开)…他们的USB驱动器将加载用Ironkey公司私钥签名的任何固件或密钥更新,如果你仔细阅读,他们不会可信地承诺不为第三方签名。事实上,他们吹嘘自己与字母机构的密切关系。他们详细地解释了他们的技术设计,以表明它不是适当的安全性——用户无法保证他必须从外部提供唯一的密钥材料来解密存储在内部的数据。

*我不是指绝对意义上的保证;显然,用户将无法检测到Ironkey可能选择隐藏在设备中的任何后门。我的意思是保证,如果设备正确执行规范,它将保护用户。Ironkey规范为Ironkeye提供了一个适用于所有客户设备的“主密钥”,因此从设计上来说,该设备对Ironkey是不安全的。

Furshugginer公司2010年1月8日下午4:14

现在我们知道了为什么Sandisk和其他公司拒绝记录主机到驱动器协议以允许实现Linux驱动程序。一旦Linux驱动程序编写者发现所有USB驱动器都使用同一个密钥,游戏就结束了。

推论:任何设备如果没有足够的文档来编写Linux驱动程序,都是不可信的。

格伦·梅纳德2010年1月8日下午5:15

复杂的安全系统偶尔会出现意外的、令人尴尬的故障,无论它们的设计和测试有多好。这就是为什么持续的同行审查是当今安全矩阵的重要组成部分。

就安全系统而言,这些非常简单。但是的,造成这种尴尬的一个主要原因是硬件制造商坚持关闭驱动程序的来源。

对加密的USB存储设备进行身份验证是否没有标准协议?如果有,这种故障会严重得多——应该有标准的USB测试线束来验证驱动程序是否正常工作。

如果没有这方面的标准,那么这是另一个主要的潜在问题。将其标准化将允许用户使用可验证的第三方开源驱动程序。除此之外(无论出于何种原因,Windows中的开源驱动程序都很少见),这意味着Windows可能会为这些设备提供通用的内置驱动程序。这将是一个重大的进步——不是因为微软正在编写驱动程序,而是因为他们将比单个第三方受到更严格的审查,即使没有源代码。

哇哦2010年1月8日下午7:09

令人惊讶的是,有多少安全网站的关注者似乎没有“得到”这个缺陷——所有涉及“使用相同的访问密钥”的usb密钥——几乎忽略了客户输入的密码。这太愚蠢了。
这就好比销售了10万把钥匙都一样的门锁,但却吹嘘门锁的内部机制有多好。

似乎也有类似数量的追随者提倡通过默默无闻来保障安全。

关键是,这些都是作为安全的USB密钥出售的,它们一点都不安全。你不妨省下钱,买一个普通的未加密U盘。

一个人是否需要一个真正安全加密的USB闪存驱动器是另一个问题,但如果你支付安全费用,你应该得到安全保障。。

trsm.mckay公司2010年1月8日下午8:34

总的来说,我认为FIPS 140提供了一些价值,但这次最新的攻击指出了它的巨大弱点。我以前在这里评论过这个问题,比如几年前迈克尔·邦德攻击IBM4758上的十进制表。

在我讨论这个实际的弱点之前,让我们定义一些术语来帮助明确问题所在(借用通用标准):保护配置文件(PP)、评估级别(EAL)和评估目标(TOE)。可能是因为FIPS 140早于CC,它将PP和EAL结合在一起,分为4个级别(1到4)。顺便说一句,我最讨厌的是营销人员提到EAL,但没有关于PP或TOE的详细信息。关于WindowsNT的Orange图书评级的投诉说明了这一点,PP和TOE不包括网络,因此它没有太大的现实价值。在撇开这一点之前,如果我没有指出最新的Windows Vista认证确实包括网络和许多其他组件,那我将是失职的。

因此,我对FIPS 140的真正抱怨是,TOE往往太小,PP没有通过足够的逻辑安全。我最喜欢的例子是用于基于主机的PKCS#11实现的TRSM(防篡改响应/防篡改安全模块)。FIPS 140非常擅长确保您正确实现了PKCS#11(正确的算法、良好的RNG等)。但它遗漏的是,直接的PKCS#11对于服务器应用程序来说并不是很好。

考虑到PKCS#11最初是为小型令牌(如智能卡)设计的,用户可以出示这些令牌进行加密计算。令牌通常被锁定,在用户提供密码之前不会执行任何敏感计算。在用户为有限事务(如登录或批准敏感操作)提供令牌的情况下,只要您能够确保密码不会被缓存或捕获,这种方法就非常有效。

但一旦你开始使用PKCS#11作为服务器,整个事情就会崩溃。令牌不再是由用户带入系统的(部分),而是永久安装在服务器上。而且,提供密码的不再是真正的人,而是应用程序,每次需要进行敏感操作时,都必须存储密码并将其提供给TRSM(库存实现-明确)。显然,任何能够监控通信通道的人都可以恢复密码,并不正确地执行敏感操作。远程黑客可以捕获应用程序存储的密码,并误用它们。简而言之,用于主机系统的库存PKCS#11令牌无法防止内部攻击——这正是FIPS 140级别3和4应该确保的。

那么,为什么公司会获得基于主机外形尺寸PKCS#11的TRSM的3级和4级认证?这是因为TOE设置得太小,PP没有通过足够的测试(要么需要额外的测试,要么需要更大的TOE)。

您会注意到,这个PKCS#11漏洞(我过去在这个博客上多次描述过)与对USB令牌的攻击非常相似。我还没有阅读详细信息,但问题听起来如此相似,我想知道这些代币是否使用了库存PKCS#11?

最后,让我重申一下FIPS 140实际上做得正确。他们有一个广泛的物理保护PP(并且实验室有测试它所需的派生测试用例)。不知道有任何其他公共标准可以做到这一点。PP还擅长确保正确实现算法和RNG。失败之处在于没有评估更大的系统如何使用这些测试组件。

trsm.mckay公司2010年1月8日9:01 PM

@xxx写道:1。它只需要打开它并提供工具的人。我们其他人可以下载这个工具使用它没有理解细节。

当使用硬件安全时,事情变得更加微妙。硬件安全设计师(或至少好的设计师)始终意识到,只要有足够的时间、权限和资源,就可以破解产品。诀窍是设计一些东西,以便对手每次想要有价值的东西时都必须承担破解硬件的费用。显然,根据成本、所需工具和所需知识,存在一系列安全问题;执行特定攻击。

@bob写道:上次我查看时,操作系统的最高级别FIPS标准假定被测试的系统是在一个孤立的网络上运行的,在这个网络上,周围只有具有正常用户权限的白帽。

绝对不是,您将几个不同的标准和问题混淆在一起。级别3+的FIPS 140旨在抵抗所有外部攻击者和知识渊博的内部人士,直到某些共谋点(例如,如果您需要五个人中的三个人来执行操作,那么需要三个不诚实的员工才能渗透到评估中的系统)。

@kg写道:FIPS140-2的关键增量要求是篡改证据。

3级需要篡改证据(例如,在没有留下证据的情况下不能篡改)。第4级需要篡改响应(检测篡改并在泄露之前安全删除所有机密)。我不知道你在文章的其余部分是什么意思。

trsm.mckay公司2010年1月8日9:15 PM

重读@bob的话,他谈到的是FIPS和操作系统标准;也许我需要澄清一下。现在NIST有很多标准(FIPS发布的),其中一些确实适用于操作系统。我想他们中的一些人可能会像他提到的那样工作,但这几乎是不可能的。

我认为他主要记得Windows NT Orange图书认证(我在之前的帖子中提到过),顺便提一下,这是国防部的认证,而不是FIPS的认证。但即使考虑到NT评估没有网络,这也不是一个准确的说法。Orange book需要控制特权用户,而Windows NT就是这样做的。

如前所述,这是一个很好的例子,说明为什么选择合适的PP和TOE比EAL更重要。

尼克·P2010年1月8日11:05 PM

我只是对这些评论感到惊讶。这可能是我在这个博客上见过的最没有效率的评论部分。我看到一些常客试图把它引导到一个好的方向,所以这是我的两分钱。克莱夫·罗宾逊(Clive Robinson)和我在前一篇文章中已经很好地实现了安全驱动器加密。如果有人正在构建硬件,那么很可能是一个内联媒体加密器。对于想要设计一款的人来说,以下是一个开始:

  1. 强制红黑分离。明文不得接触与密文端共享的任何资源。加密组件通常会在双方之间架起桥梁,并使用周期处理(数据清理)和内存分区来确保这一点。
  2. 在明文端保持界面简单。实现应该分层以允许验证,可能是正式的。
  3. 使用久经考验的方法。使协议尽可能简单。
  4. 该设备包括一个TRNG并生成所有密钥,同时具有自检功能。
  5. 如果可能,设备应使用双因素身份验证。

  6. 设备必须具有“可信路径”。这是一种确保用户输入仅发送到加密处理器的方法。在我的设计中,我通常有一个微型键盘或类似于SafeNet的东西,可以直接连接到加密机。即使是PIN键盘也是不错的,如果可能的话,用于显示状态或请求的LCD也更好。外置硬盘是这类东西的理想选择,因为预计它们会比USB稍大一些。

  7. 在我的设计中,我使用用户提供的密码和机载(或USB存储)密钥的组合创建加密密钥,并在多次迭代中与SHA-2混合。

  8. 如果必须故意销毁数据,例如机密信息,则应包括“擦除”按钮或命令&主密钥应位于可预测的位置。擦除应首先覆盖主密钥数次,然后覆盖所有明文(红色)缓冲区,然后尝试将随机数据刻录到包含用户特定密钥的闪存中。如果时间还剩下,请对RAM和存储进行进一步消毒。如果使用了强密码并且覆盖了红色数据,则密文是不可恢复的(假设加密良好)。如果密码很弱,那么还必须擦除用户特定的密钥。所有这些都可能在几秒钟内发生。我的策略是按下按钮,把它扔得尽可能高。等到敌人抓住它的时候,事情就会明朗了。😉

  9. 隐蔽通道分析。如果使用MILS体系结构&分离内核,那么设计一个没有隐蔽存储通道的系统非常容易,尽管很乏味。外面有很多人。定时通道更为复杂,需要定时输入和输出,并防止定时不一致。还应使用形式化方法在逻辑级别捕获它们。有些可以消除,但许多只能测量。不要忽视这些的重要性:现实世界中的“侧面”通道攻击是基于利用隐蔽通道。如果需要高鲁棒性,那么隐蔽信道分析也是如此。

  10. 欧洲证券交易委员会。如果您的设备被视为高保证,而不是中等,那么您还需要Emanation Security。设计应至少满足TEMPEST 2级标准,并防止被动和主动电磁辐射。许多人认为TEMPEST不切实际。错了!它已经被多次用于对抗美国,(Cambrige?)研究人员最近的一次攻击使用主动发射将RNG的熵从32位降至8位左右。高保证驱动器加密需要TEMPEST保护。

今晚很累,所以可能遗漏了一些东西。希望这能帮助你们设计安全的驱动器加密。最重要的部分是:红色/黑色;验证设计;久经考验的真实战胜了整洁和新鲜;加密密钥=车载生成的密钥(最好存储在设备外)+用户密码;可信路径。最后一个功能对于安全的分布式系统至关重要,可以防止这种攻击。尽情享受吧!

奥利弗2010年1月9日上午5:24

有人见过一张证书,它比打印在上面的纸还值钱吗?

就我0.02美元🙂

尼克·P2010年1月9日下午1:26

@奥利弗

事实上,有些证书相当不错。例如,一个CISSP告诉你,这个人有一定的常识,也许对某个主题有一些经验。Red Hat认证工程师通常非常有能力使用Red Hat.box。等等。有很多好的证书。泛泛地认为认证对功能或安全毫无用处是愚蠢的。

在安全/加密领域,通常是Orange Book、C&A、Common Criteria或NSA评估。通用标准在较低级别上几乎没有用处。一个有意义的证书的例子是Green Hill的INTEGRITY-178B RTOS被认证为“高鲁棒性”,具有EAL6+评级。该操作系统就像一个EAL7应用程序一样,针对一个实际的保护配置文件进行开发,经过数学证明一直到代码,并在NSA对源代码的测试中生存了数月。所以,多亏了他们的证书,如果他们的安全目标说它可以做点什么,我相信它可能会做。另一方面,如果他们说了一些保护配置文件中没有的话(“我们的虚拟化方案阻止了所有攻击者”),那么我不会接受。

约拉姆2010年1月9日下午2:02

适当的认证是一件很好的事情,但FIPS认证主要用于市场营销,但对其他方面用处不大。

一个好的认证过程将对产品进行实际攻击。这只发生在通用标准中,而不是FIPS中。

另一个问题是,CC认证产品比未认证产品更可能是成熟产品。这有助于淘汰不成熟的产品,即使这并不一定意味着更安全的产品。

彼得·希利尔2010年1月9日下午3:36

对于那些评论通用标准认证产品可能更成熟的人来说,请注意,至少有一种SanDisk产品,尤其是SanDisk FIPS 140-2产品,也通过了进行FIPS测试的澳大利亚实验室的EAL-2认证!

尼克·P2010年1月9日11:25 PM

@彼得

EAL 2是通用标准中排名第二的最低级别。安全目标和/或保护配置文件告诉您产品声称具有哪些安全特性。然后,实验室根据这些索赔对产品进行评估,并提供一定程度的保证。在这种情况下,对产品中的声明进行了与EAL2中相同的功能和结构测试。EAL2不需要检查源代码,甚至不需要对每个组件进行“系统”评估。换句话说,他们打开它,尝试了一些事情,确保文书工作井然有序,然后在上面盖上EAL2。成熟度在这个层面上并不是一个真正的问题,这强化了你的观点。

然而,从EAL4开始,我同意Yoram的观点,即评估的产品可能更成熟。即使是FIPS 140-2在其算法要求中也有一些价值:有多少产品因使用基于异或的hombrew密码而被破坏?因此,这有点帮助,对于那些真正了解它们的人来说,安全目标和EAL有助于比较和对比不同的产品。我仍然认为,根据通用标准证书,EAL5以下认证的任何产品都不应该宣称自己是安全的。

通用标准信息,特别是安全目标和类似文件
http://en.wikipedia.org/wiki/Common_Criteria

EAL2保证水平信息
http://en.wikipedia.org/wiki/Evaluation_Assurance_Level

彼得·希利尔2010年1月10日上午9:46

@尼克·P

我完全理解区别并同意你的观点,但在这种情况下,考虑到FIPS 140-2证书已经到位,你认为棍子的保护配置文件会改变什么吗?

尼克·P2010年1月10日下午1:16

@彼得

我们已经讨论了FIPS 140-2证书的不足之处。它主要关注加密,而CC证书则关注整个系统。这一点很重要:这次攻击是针对SanDisk设备信任的独立系统。所以,我想你的问题是:CC认证有任何可能表明攻击是可能的吗?简短回答:肯定。

我查看了产品的CC文档。在澳大利亚,这种东西没有保护配置文件,所以它们的功能在安全目标中。重要的部分是在2.4.1.25中,它表示可以在它和PC上的特定应用程序之间建立可信路径,但这“不包括在TOE中”。TOE是正在评估的内容,而身份验证系统不在其中。因此,不可能在其中发现缺陷。同样奇怪的是,考虑到软件的风险很高。

这里真正的问题是可信路径的问题,这在商品操作系统中是不可能的,并且缺乏源代码级审查。在EAL4和EAL5-7出现之前,您甚至不需要查看软件或源代码,NSA会获得用于测试的源代码。这个错误是如此明显,我相信NSA会发现它,所以EAL5-7证书和往常一样,意味着产品非常安全。如果通过源代码审查增强,或者如果操作系统具有可信路径,如BAE XTS-400、INTEGRITY Workstation或Turaya Desktop,EAL4可能会发现它。

如果有什么不同的话,我认为这些产品在任何安全认证过程中都适用于开源(或至少经过评估的源代码)软件。此外,它强化了我们需要一个安全桌面平台的想法,因为大多数加密攻击都是从基本操作系统的设计缺陷开始的。上述产品允许我们隔离密码输入应用程序,并确保只有它接收用户输入。它还可以确保只有该应用程序与设备通信,这意味着即使软件设计糟糕,攻击也会失败。问题是,当前操作系统的TCB太大了,在其上运行的任何产品都无法确保正常工作或实现其安全目标。

SanDisk文档
http://www.dsd.gov.au/infosec/evaluation_services/epl/data_protection/SanDiskCruzerEnterpriseFIPS.html

Turaya台式机数据丢失预防解决方案
http://www.teletrust.de/fileadmin/files/Workshops/070205_RSA-WS/RSA-07_Dt-WS_Portr8_ifis-Pohlmann.pdf

基于EAL6+RTOS的INTEGRITY桌面
http://www.ghs.com/products/rto/INTEGRITY_workstation.html

戴夫·艾恩基2010年1月10日下午2:30

@Veracitor公司

您关于IronKey安全体系结构的许多陈述都是不正确的。

这是100%不正确的:“Ironkey规范为Ironkey提供了一个适用于所有客户设备的“主密钥”,因此从设计上来说,该设备对Ironkeys是不安全的。”

没有后门,也没有“主秘密”。这样的设计从根本上来说是荒谬的,而且完全无法销售。你真的认为IronKey企业和政府客户没有花很多年时间对架构甚至实现的源代码进行深入的安全分析吗???

我们的设计文档,包括我们的FIPS 140-2 Level 3安全配置文件,清楚地解释了AES密钥生成是如何完成的,AES密钥是如何受到保护的(即使用密码散列进行加密),以及密码验证和暴力保护是如何实现的。这些设计既有程序上的安全性(即存储在加密芯片中的暴力计数器),也有加密安全性(例如,没有密码就无法解密AES密钥)。此外,用于验证密码和解密AES密钥的哈希也是不同的(AES密钥有多个带salt的哈希)。

此外,整个产品是经过FIPS验证的,而不是子组件模块。

http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1149.pdf

我不知道你从哪里得到我们“不可信地承诺不为第三方签名。”为什么我们要为任何人签名自定义固件???第一,开发和维护多个固件成本高昂,第二,我们为什么要冒品牌和产品完整性的风险???

戴夫·艾恩基2010年1月10日下午2:36

@Nick P.关于通用标准的精彩帖子。我听说美国政府正在为硬件加密的便携式存储设备开发保护配置文件。

最近发生的这些事件再次表明,安全认证很重要,但它本身并不能保证产品的安全。买方和供应商本身都需要确切地了解哪些组件已经过验证,以及它们是否正在根据一组标准的安全要求进行验证,或者只是“验证”以执行供应商所说的操作,即使这意味着存在安全漏洞。

trsm.mckay公司2010年1月11日12:46 AM

@尼克写道:一个好的认证过程会对产品造成实际的攻击。这只发生在通用标准中,而不是FIPS中。

认证FIPS 140产品的实验室包括各种物理渗透测试。也许你指的是比“产品”更广泛的东西?

@约拉姆写道:这只发生在通用标准中,而不是FIPS中。

你能指出涵盖加密硬件的CC标准PP吗?大约5年前,我进行了广泛的搜索,但只找到了一些比FIPS 140少得多的智能卡PP。当然,我可能忽略了一些东西,或者可能出现了一个新标准?除非有一个可比较的PP(和一组派生测试),否则这种关于CC优越性的说法只是理论上的。除非你相信个别实体会以某种方式自己想出一个合适的PP?

@Dave Ironkey写道:我听说美国政府正在为硬件加密的便携式存储设备开发一个保护配置文件。

我认为这可能很好,但我不会屏住呼吸直到我看到它(因为我第一次听说这个计划是在90年代末🙂 . 显而易见的好处是将FIPS 140的好部分转化为可以用作其他CC PP的子组件的形式。

最后,Nick P对PP弱点的评论是正确的。无论EAL有多好,EAL所确定的是产品的运行方式与设计所说的一样。如果你想知道设计是否真的安全,那就是PP的用武之地(当然要正确选择TOE)。

史蒂芬2010年1月11日凌晨3:33

这些硬件加密设备似乎每隔一个月就会被不同的团队破解。这是一个令人担忧的趋势,因为硬件加密正在被推向笔记本电脑——我当然希望中国制造商不要像我们自己的制造商那样粗心大意。

除此之外,我不明白为什么除了消费者之外,还有其他人会购买这些昂贵但有缺陷的单点解决方案,而现在有更多功能强大的软件解决方案,只需花费一小部分成本。软件保护至少适用于所有设备,如外部硬盘和存储卡,而不仅仅是usb棒。

我们目前正在为员工筛选不同的解决方案,最有希望的技术之一似乎是Envault的系统;保护所有现有驱动器比让所有用户使用硬件加密驱动器更容易、更便宜。此外,根本没有用户密码,因此这些密码都不可能失败,而且保护方法中内置了远程禁用和审核功能。

特威利特2010年1月11日上午6:01

FIPS-140的四个注意事项:

(1) 它测试您的算法是否(统计上可能)正确执行。

(2) 它确保您的关键安全参数(密钥、其他机密值)受到保护,不会被泄露。

(3) 它验证您的实现是否按照其公共规范执行。

(4) 它验证您的硬件是否提供了公共规范中声明的保护级别。

金斯顿设备的公共规范为http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp929.pdf.

CMVP已验证该设备按文件规定工作,并且文件符合所用算法和密钥管理原则方面的某些要求。

它不会验证设备是否工作如预期的那样被营销信息误导的最终用户。这不是FIPS-140的重点。

托比2010年1月12日上午8:58

嗯,值得记住的是,虽然“邪恶少女”攻击可以用于完全加密的计算机,但可以对所有这些加密的usb棒进行更简单的攻击。只要安装一个USB转储设备的副本,每次将USB插入受损的计算机时,您就会得到一份USB数据的副本。

USB转储
“USB闪存驱动器转储,无需查询
2010年1月11日Kategorie:Portable Program,Software&Co,Windows 2010年1月份11日类别:Portable programs,Software&Co.,Windows

2006年,habe ich malüber die Software USB Dumper gebloggt。2006年,我曾在博客上写过一篇关于USB转储软件的文章。Diese Software kopierte unschtbar jeglichen Inhalts eines USB-Sticks auf die Festplatte软件kopierte-unschtbar-jeglichin吸入了一种USB-Stcks。任何将U盘复制到磁盘的内容都看不到该软件。Ohne Abfrage–einfach im Hintergrund。没有查询——只是在后台。Das Tool von 2006 läuft nicht mehr unter Windows Vista/7,deshalb habe ich Bene gebeten“mal eben”etwas neues zu basteln。2006年的工具不再在WindowsVista/7上运行,所以我问Bene“修补时间只是”一些新的东西
http://stadt-bremerhaven.de/usb-sticks-ohne-abfrage-dumpen/

约翰2010年1月12日上午10:13

@Tobby于2010年1月12日上午8:58
@2010年1月11日上午6:01


是的。

如果可以绕过加密,加密的强度无所谓。

正如我之前试图指出的那样,除非真正的利用被误解,否则决策者可能会实施错误的解决方案,这是浪费资源(更糟糕的是,可能行不通)。

Dave对汽车做了一个很好的类比,关于一个有故障的零件如何会毁掉整个汽车,这是绝对正确的。然而,与购买或制造一辆全新的汽车相比,修理故障部件通常要便宜得多,而且效果也一样好。

Veractor公司2010年1月12日下午3:20

@戴夫·艾恩基

您的公司似乎已经删除了“Ironkey Enterprise”文档,该文档解释了Ironkey设备如何从其网站上信任Ironkey的固件更新。为什么?

此外,正如Furshlugginer指出的那样,由于您不会告诉任何人编写Linux驱动程序所需的知识(即记录主机到Ironkey的通信协议),因此您的设备是不可信的。当你说“用户必须安装不透明的、专有的、仅限Windows的驱动程序”时,你是在说“不要相信我们的设备。”

最后,您公司的文档明显是在伪造声明,比如说Ironkey公司的管理员必须拥有Ironkey设备。这是市场营销,而不是技术,因为管理员的“Ironkey”显然可以在软件中模仿(假设您的公司签署了相关的公钥)。

gh0秒2010年1月12日下午4:41

他们可能使用Vinetto这一著名的取证工具从闪存驱动器中恢复了Thumbs.db,并发现其中存储了解密散列。他们并没有说这是他们所做的,但这是一种可能,或者说这是我自己会尝试的。

gh0秒2010年1月12日下午5:17

@戴夫

“没有后门,也没有“主秘密”。这样的设计从根本上来说是荒谬的,而且完全无法销售。你真的认为IronKey企业和政府客户没有花很多年时间对架构甚至实现的源代码进行深入的安全分析吗?”

然后,该设备将不允许向任何消费者进行全面销售。如果没有办法破坏您产品的安全性,那么您将被拒绝重新销售所述产品。

在英国,2000年的《调查权力管理法》(RIP)将向政府扣留加密密钥定为犯罪。美国有一段限制民用军事加密的历史。克林顿政府期间,有人提议立法要求在加密软件中内置政府后门。这些提议之所以失败,是因为商业上的反对和抗议认为禁止加密根本行不通。公众对9/11后的立法的愤怒,表面上是为了“国土防御”,已经提高了人们对加密技术的认识。因此,政府和执法机构重新关注限制公众对强加密的访问。

咖啡馆2010年1月12日下午8:09

似乎没有其他人注意到所描述的算法也将密钥减少到有效的64位。

我也是非常很想知道这些假定的软件补丁是如何解决这个问题的&至少它看起来仍然容易受到离线猜测攻击。

gh0秒2010年1月13日凌晨3:14

@咖啡馆

对Rijndael(AES)密码唯一可行的“攻击”被称为“暴力”。但我离题了,如果可以编写应用程序,通过使用相同的暴力方法,使用随机数据包和熵数据从WEP中有效地攻击和恢复密钥,那么可以编写使用类似方法恢复和暴力个人私密加密密钥的应用程序。

当我看到正在销售的商业加密产品时,我总是避开它们,并将它们标记为不可信。如果它说在CBC(密码块链)中使用8126位Sapphire 2和Serpent的OTP加密,那么我会考虑将其实现作为一个安全产品。

所以最后,我能说的是,如果你不想和你的Stash一起被破解,那就做个嬉皮士,把Hash藏起来!

第0天2010年1月13日4:34 AM

还记得国家安全局向大家保证DES是牢不可破的吗?IBM坚称没有后门。。然而相比之下,今天用开膛手约翰打破DES需要多长时间!?!有人撒了一大堆谎。

路易斯2010年1月13日上午5:17

“FIPS 104-2 2级认证…”<-一个明显的拼写错误,但似乎没有人注意到?

这不应该是“FIPS 140-2二级认证”吗?

杰格里科2010年1月13日上午9:07

@gh0秒

“当我看到正在销售的商业加密产品时,我总是避免使用它们,并将它们标记为不可信。如果它在CBC(密码区块链)中说使用8126位Sapphire 2&Serpent的OTP加密,那么我会考虑将其实现为安全产品。”

有趣的是,如果我看到一个产品声称使用OTP加密,我会知道他们很可能根本不知道自己在说什么,我会跑,而不是走开。

“还记得国家安全局向大家保证DES是牢不可破的吗?IBM坚持认为没有后门。然而,相比之下,今天用开膛手约翰打破DES需要多长时间!?!有人撒了一大堆谎。”

我怀疑你甚至不知道开膛手约翰是干什么的,很明显你不知道它是怎么工作的。开膛手约翰是密码破解者,而不是DES破解者。它快速猜测密码,对其进行散列,然后将其与试图破解的散列密码进行比较。DES中不涉及“后门”。

现在不使用普通的旧DES的原因是因为它的键大小太小了,这是我们一直怀疑的。

有点偏执总是有益的,但要保持合理,并保持事实的正确性。

约翰2010年1月13日下午2:25

SANS研究所表示:

–USB缺陷提示NIST审查加密模块认证过程(2010年1月8日和11日)国家标准与技术研究所(NIST)正在调查几个被认为安全的品牌USB驱动器的安全缺陷。据报道,攻击者可以利用该漏洞读取受256位高级加密标准保护的驱动器上的数据。漏洞不在加密模块中,而在授权解密的软件中。NIST将考虑是否应该改变其验证过程,因为有问题的USB驱动器都符合标准。闪迪、Verbatim和Kingston这三家承认其设备存在漏洞的公司已经发布了该问题的修复程序。
http://isc.sans.org/dailary.html?storyid=7894

尼克·P2010年1月14日凌晨3:06

@幽灵

8126位蓝宝石2!?哇,这听起来像是严重的加密!绝对优于微不足道的256位ECC或2048位RSA或256位AES。它的比特数是AES的32倍,这意味着它应该更难破解!注册我!

@杰格里科

这次我和你在一起。营销人员通常不了解加密货币的技术细节,当装腔作势的人试图冒充工程师时,这一点就会显现出来。这家伙真是太夸张了。回到主题,加密USB驱动器上的FIPS和CC对于定义安全性来说是不够的,需要改进。蓝宝石10000000+比特或其他可能不会改变这一点…。(歇斯底里地笑)

罗伯特·万恩2010年1月14日上午6:57

上述SySS报告开发了一个内存补丁程序,将其插入主机PC内存(主可执行程序ExmpSrv.exe 2.0.5.32版本所在的内存),以完全绕过密码验证过程。在密码重置过程中识别出32字节的签名块数据,无论多次更改密码或重新格式化驱动器,在所有受影响的USB闪存驱动器上都是相同的。使用32字节签名块和内存补丁程序可以有效绕过用户的密码验证,从而允许访问受影响的USB闪存驱动器。请注意,SySS报告披露的32字节签名块数据是使用正确的密码作为密钥的AES ECB 256位解密结果。

在所有受影响的USB驱动器上找到的32字节签名块的十六进制:
00 00 00 00 | B5 D3 68 DC | 8A 4D A5 B1 | FD 2E 68 84|
4D F2 0D 52|1E 2B F9 CD|00 00 00|00 00 00 00

然而,该报告未能解决所有用户数据块是否确实使用产品声称的机密AES密钥进行AES 256位加密的问题,就好像用户密码用于解密相同的32字节签名块数据,而32字节签名板看起来不像是有效的机密256位AES密钥,可能根本就没有秘密AES密钥,或者像XOR算法这样简单的东西能做到这一点吗?或者签名块可能用于解密实际的256位AES密钥?Bruce可以帮助与SySS进行对话以进一步查找吗?

恩达雷思2010年1月20日11:14 PM

@gh0秒
“在英国,2000年的《调查权力管理法》(RIP)将向政府扣留加密密钥定为犯罪。”

我对RIP法案的理解(诚然有限)是,它旨在迫使加密软件的实际用户交出加密密钥,与要求产品中的某种后门绕过加密无关。

“因此,政府和执法机构重新关注限制公众对强加密的访问。”

政府试图限制访问,这是一个重大的进步,他们强制要求加密设备有后门。特别是当该设备(在本例中为IronKey)部分由政府资助并由美国政府和军方广泛使用时。有些事情告诉我,美国政府不会太高兴使用他们知道有安全缺陷的设备。

克莱夫·罗宾逊2010年1月21日凌晨4:01

@恩达雷斯,

“有些事情告诉我,美国政府不会太乐意使用他们知道有安全缺陷的设备。”

实际上,有一段使机器“字段密码”在设计上有缺陷或过于脆弱的历史。

美国国家安全局(NSA)在什么时候做了这件事,有一个假设的原因,它总是归结为“针对美国的再利用”。

如果你认为密码是一种可以用来对付你的武器,那么如果你能设计出足够强大的密码来对付你,但当它被用来对付你时,它会在你的敌人面前爆炸…

在后来的分析中发现了一台早期的机械机器(Haglin C34使用“硬币计数器”),它有许多弱键,只有几个强键(可以知道哪个是哪个,但并不明显或简单)。

因此,弱键的设计逻辑如下:,

爱丽丝在设计和制造设备时充分意识到了这个问题。

爱丽丝为她发放机器的人“发放钥匙”。

3、爱丽丝只从较强的钥匙发出钥匙。

4,Bob对安排感到满意,因为他(可能)只对设备和少量钥匙损失负责。

5、在某些时候,正如所有现场系统所预期的那样,Eve捕获了一个设备,有时还捕获了有限数量的按键材料。

到目前为止,这让你达到了“敌人知道系统”的程度。

然而…

伊芙可能会想,

爱丽丝用的是这台设备,除了获取关键材料外,我找不到其他方法破解他们的信息,所以我也将使用我的现场密码的设计。

还有一大堆例子,人们要么使用捕获的设备,要么根据爱丽丝的系统构建自己相同或非常相似的系统。

因此,让我们对密钥空间进行以下假设

A、 5%–非常强劲
B、 10%–强
C、 20%–中等
D、 50%–较弱
E、 15%–非常弱

爱丽丝只使用前三个,

C–用于前线“狐狸洞”到指挥所的流量。
B–用于指挥并发布到部门总部。
A–用于从师到旅等。

爱丽丝的大部分流量都是战术流量,因此可能有几天的使用寿命,使用中等强度的按键。由于流量大,并且假设Eve有一台捕获的机器,随着时间的推移,alice将获得一些低级战术信息。

然而,伊芙确实获得的信息要么是伊芙通过自己更及时的命令现场报告已经知道的,要么是几乎没有用处的。也就是说,它已经过了保质期,或者只有单元和命令指示符会改变。

对于强密钥和非常强密钥,存在类似的流量水平和生存期假设。

也就是说,伊芙只掌握低端战术,很少掌握指挥权等。

现在想想伊芙什么时候重新使用这个系统…

如果她几乎不知道大多数钥匙(80%)是弱的,她可能会随机向所有级别的部队发放钥匙。

这给了爱丽丝一个愉快的日子…

因此,Alice有80%的机会阅读任何流量,包括最高级别的流量。

现在,让我们看看伊恩,他是爱丽丝或鲍伯在战争边缘的一些不太值得信任的盟友之一。

出于各种原因,伊恩决定改变立场。但是,由于他有爱丽丝发放的装备,而且他的部队已经习惯了使用这些装备,因此他仍将继续使用这些装备。

他或伊芙现在发放要使用的钥匙。好吧,他实际上与伊芙处于同一位置,除非他“重新使用”爱丽丝之前发布的关键材料(出于明显原因,这是一个主要的否)。

1973年,弗雷德·温特伯顿(Fred P.Winterbottom)因各种索赔和反索赔,揭穿了四分之一世纪前美国和英国在机械密码机方面所做的丑事。到1980年,机械密码机确实在中毒的酒杯所在地变得明朗起来。因此,大多数国家缺乏与一家小型瑞士公司Crypto AG相关的能力。现在Crypto公司有一个习惯,就是提供具有“示例密钥生成系统”的brochers20世纪90年代,发现Crypto AG显然与米德堡的bods保持着密切联系(美国国家安全局研究办公室😉 预计AG将向北约国家提供加密套件。

然而,1973年在许多方面都是一个有趣的年份,它标志着非大公司电子数据处理的开始,在那里,那些有趣的数据通信小实验正在进行,从而催生了互联网。噢,还有一位荷兰电视工程师开始四处转播人们电视屏幕的图片,看看PO电视授权货车是否真的能做到。一年内,英特尔生产了第一批微型计算机芯片,密码技术的问题就摆在了墙上。

国家安全局有点承认,他们在DES上“弄错了”,他们没有意识到软件会以多快的速度使定制的加密芯片过时。

这让我们转向制造脆弱的系统。国家安全局意识到,正如人们使用DES一样,他们会制作带有“变体”的软件版本。因此,必须采取措施。

某处有人想出了用玻璃建造房屋的设计理念。只要你用一种方法,它就很强大,任何变化都会使它异常微弱。

这导致了厄运的快船芯片和压顶石项目,该项目在比尔·克林顿任期结束时被终止。

除了国家安全局之外,没有人知道国家安全局实际上在做什么,但是……老习惯死得很难,不仅仅是大象的习惯有很长的记忆。

但美国国家安全局的作用是否已经很好了?是的。

他们的任务不仅是保护美国政府,还保护美国人民,包括那些穿着制服的人。

他们和伊拉克和阿富汗的集市推销员一样清楚,美国军方人员失去了在市场上出售“秘密和一切”的拇指驱动器。

然而,敌人已经改变了,他们不是政府资助的组织,规模很小。据说,在伊拉克丢失加密拇指驱动器的数量超过了叛乱分子的数量…

因此,加密作为一种战争武器重新摆上了桌面,敌人正在使用美国设备对抗美国人员。

AES可能很安全,但密钥呢?

特别是密钥生成和密钥处理。

商业需要的应急关键复苏,美国和其他国家的情报界也是如此…

因此,您现在可能不太惊讶为什么FIPS会这样工作,而NSA仍然生产“密码”加密器。

欢迎来到20世纪的“伟大游戏”,问题是什么是21世纪的“大游戏”…

汤姆·科文2010年1月26日上午9:34

我知道我对此反应有点晚,但由于没有其他人发表评论:

@直到“One-time pads在某些用例中发挥了神奇的作用。德国的每家银行都使用TAN;为了进行在线交易,他们会通过蜗牛邮件将一个6位数的数字列表放在一个安全的信封中发送给你。对于每个交易,你必须输入其中一个数字。当你的资金不足时,他们会再发送一个数字给你。”

一次性密码(OTP)与一次性密码不同。

一次性密码对于保护凭据免受键盘嗅探器等攻击非常有用,但这与加密无关。

OTP是完全不同的东西。

埃德温2010年1月26日11:40 PM

标准规定了可重复性。标准并不能确保某些东西是否适合工作。

黑人僧侣2010年2月17日上午10:39

约翰提出了最有趣的问题,到目前为止还没有人对此发表评论。

“三家不同公司的产品是如何出现同样的缺陷的?这是因为这三家公司都外包给了同一家第四家公司吗?还是因为他们遵循了行业标准?还是参与设计的人从一家公司搬到了另一家公司?”

如果知道pw在所有设备上是否都相同,那将是一件很有趣的事情。

阿尔比恩·泽林2010年8月19日上午10:04

人们对FIPS验证的局限性进行了大量讨论。在接受之前,我总是询问任何验证的细节。我认为整个设备的验证要比特定模块高得多。

然而,这里有一个更基本的问题。如果正确应用,体系结构本身可以提供什么样的保护。我已经调查并拒绝了多个依赖主机驱动程序进行加密和指纹锁定的“安全”USB驱动器。如果没有硬件强制(如Ironkey)或单独的密钥存储(如Pointsec),加密就无法利用比密码本身提供的更多的熵(位)。

硬件保护并不完美,但它可以显著提高标准。使用单独的密钥传输通道可以提高标准。但更大的风险是主机本身的妥协。考虑所有的风险,而不仅仅是简单的风险。

斯蒂芬·图桑2010年9月4日11:31 PM

读过《秘密与谎言》……谢谢。
像你这样的独立研究激发了我们的灵感
我的工作。因此我征求你的意见。有没有比在没有调制解调器或无线电路的PC上运行的原始DOS 3.0软盘更安全的操作系统环境作为一个独立的计算环境来接收键盘PT消息。并将CT文本文件放在3.5英寸软盘上,手动传送到另一个系统进行电子邮件交换?

哈维·帕里西恩2010年9月15日下午1:11

IRONKEY的人们。COM声称已经构建了一个FIPS 140-2 Level 3 USB密钥,与您在这里评论的密钥非常相似。现在,洛克希德·马丁公司已将此产品作为其新产品之一。将您最初的评论和研究扩展到当前的变体,这将很有意思。在我看来,它仍然可能同样脆弱。

罗伊2012年12月22日上午8:57

作者:Dave•2010年1月8日上午8:53

请不要再说加密没有问题,只是实现有问题。

这就像说他们非常健康,只是他们的心脏停止了跳动。


这并不是说它比所有其他加密设备都好,因为有一个“特殊点”供特殊人在上面写密码。

我们并不是说“加密没有什么问题”,NIST是这样说的;他们将其测试为“2级”。接下来你会说,你可以把它放在盒子里,不要把它插入任何东西,它会超出你的期望(以及它的测试目的)。

阅读:http://en.wikipedia.org/wiki/FIPS_140-2_Level_4#安全级别看看你得到了什么。

这是唯一提出的要求。如果你想要3级、4级或两轮AES-256,那么就换成这样。如果您需要“身份验证”,那么这就是您需要的。如果您需要通用标准认证,请购买。加密算法实现正确,其他担保适用。

阿农2014年5月18日下午5:48

FIPS是指“密钥托管”。我刚刚修改了源代码中的RNG,以返回真正的随机数,FIPS测试现在失败了。追溯原因–您的“随机”数字必须是NSA托管密钥的输出,否则FIPS将无法验证。

FIPS的存在主要是为了确保没有美国政府雇员能够创建美国国家安全局无法轻易读取的密文,当然,也是为了帮助他们了解世界上任何愚蠢到也会使用FIPS的人。

留下评论

所有评论现在都被保留下来,以进行适度调整。有关详细信息,请参阅此博客帖子.

登录

允许的HTML•<a href=“URL”>•<em><cite><i>•<strong><b>•<sub><sup>•<ul><ol><li>•<blockquote><pre>额外降价语法通过https://michelf.ca/projects/php-markdown/extral/

Joe MacInnis拍摄的Bruce Schneier的侧栏照片。