对于由四拨号组合锁保护的某些资源,我负有部分责任,例如: />

将所有数字重置为0,以便该组合读取0000,或者
在表盘上四处乱码,以便组合读取其他内容。 />我很强烈地感觉到两者之间没有功能上的区别,但我鼓励我制定最佳实践。因此,假设锁具有随机密码,并且在没有输入正确密码的情况下几乎是牢不可破的,那么哪种方法更安全?

评论

使用凯文·米特尼克(Kevin Mitnick)的“锁定拨片名片”(我有两张,一张还没被删除)中的一张票,并观看视频以了解操作方法,任何人都可以在几秒钟内拿到175d ....不用担心如何重置拨盘。

如果组合为0000,请勿将所有数字重置为0! ;-)

将其清零并将组合设置为0000。可靠的方法。

如果您实际上负责宝贵的资源,请立即删除该糟糕的锁,根据其值,用适当的高质量防篡改挂锁或适当的保险箱来代替它。使用糟糕的锁没有意义,任何人都可以在30分钟内将其破坏。更糟糕的是,如克里斯·约翰斯(Chris Johns)在他的回答中所描绘的那样,如果知道如何,许多这样的密码锁可以在1分钟内损坏。

这些锁(通常是组合锁)非常不安全,通常是由于与猜测组合无关的漏洞利用。

#1 楼

从理论上讲,调零或任何预定的顺序都将更安全,从理论上猜测某人可能会将拨盘移动多远。拨盘在足够不同的场合被锁定时,如果每次都以类似的方式将其重置,则可以缩小可能的组合的范围。

实际上,这可能有点牵强,任何带有密码锁的东西都可能引起更大的关注,例如,密码被太多人知道​​,或者1950年至2018年之间的任何数字加上出生年份

已经说过,将组合设置为零可能具有操作上的优势,因为它给出了明确的准则,并且很容易从视觉上检查锁定无需检查的人就可以知道密码是否安全,特别是如果实际检查锁是否实际存在问题,例如打开锁会发出警报。您也可能会争辩说,添加额外的清零步骤会创建更多例程,因此,人们几乎不会忘记设置锁,尽管这是值得商de的。

例如,如果您有一个夜间保安,则可以要求他们检查所有锁是否都设置为0000,这既易于操作又可验证。

它还可以给出(当然较弱)的检查,以确保锁没有被篡改,在这种情况下,更任意的顺序会更好。当您回来时,情况就会有所不同,您知道有人一直在与他们打扰。

您还应该意识到,某些类型的组合式拨盘锁选择起来很琐碎,因为通过快速循环每个拨盘或从外部探测,当每个拨盘接合时,您经常会感到。同样,一个4转盘锁只有10,000(10 ^ 4)个可能的组合,您通常可以非常快速地系统地进行组合。

评论


这个答案是最好的,因为它考虑了实际的安全性,而不仅仅是数字本身的密码安全性。

– NH。
18年4月13日在20:56

4拨盘锁要花很长时间才能完成所有组合,市场上大多数锁是3拨盘,只需系统地检查所有组合即可快速打开。除儿童游戏外,不得将3个拨号锁用于任何其他用途。当然,任何拨号锁都不是很安全。

–Tero Lahtinen
18年4月14日在7:08

@RedwolfPrograms:您可能应该重做数学。拨号锁通常在系统中具有一定的容忍度,因此拨打相邻号码通常仍然可以使用。

– Lie Ryan
18年4月16日在0:35

@TeroLahtinen,尤其是如果您的4个拨号锁设置为连续5次失败后会引爆所有东西!

–卡尔·威索夫特
18年4月16日在15:46

@TeroLahtinen某些拨号锁存在漏洞,同时尝试拨号和打开锁会提供一些反馈,告诉您单个拨号盘的位置是否正确。这样可以比蛮力更快地打开锁。

–卡巴斯德
18年4月18日在21:07

#2 楼

我建议将其设置为0000或其他指定的组合(实际上无关紧要)。

“绕转盘混搭”有点含糊,但基于我自己的行为,我猜测人们会倾向于一次移动大部分或全部拨盘,这将在当前密码和锁密码之间产生强烈的关联。例如,如果锁组合为1234,则有人可能会将其更改为5678(可能不完全相同,但距离足够近,攻击者可以优先考虑他们尝试的组合)。

人类也倾向于思考当某些事情实际上削弱了安全性时,它们似乎更加安全。有人可能会尝试将其设置为从锁组合看似“更进一步”的组合,例如将1234更改为6578而不是2142,因为2142距离锁组合太近。这可能使攻击者可以优先考虑他们尝试组合的顺序。指定常数值进行设置可以避免此类问题。

评论


而且如果组合为1234,则在改组后可能没人会把它设为x2xx。攻击者一次又一次地在锁定上记录数字,并可以基于该数字创建可能的数字的配置文件。

–ThoriumBR
18年4月13日在15:25

@ThoriumBR如此。大多数人甚至可能故意避免显示部分代码。我只需要看着您旋转锁六次以精确缩小所使用的4个数字,那么我只有4 * 3 * 2 * 1 = 24个组合可以测试。由于您对安全性的错误认识,您刚刚完全破坏了安全性。

–尼尔森
18年4月13日在16:38



简短的版本:RNG中的人类甚至比计算机还差,即使我们认为不是这样。

–卡米尔·达卡里(Kamil Drakari)
18年4月13日在18:27

在现实世界中,这两种选择基本上是等效的,因为如果有人确实非常想违反法律,那么他们就不会进行统计或花费数小时尝试每种组合。他们将使用撬棍或钻头。

– BlueRaja-Danny Pflughoeft
18年4月13日在18:32



实际上,设置0000可能更好,因为它将向攻击者表明他们应该继续前进到更容易的目标。即使攻击者没有破解您的代码,您也不想遇到他们的尝试。

–麋鹿男孩
18年4月13日在19:26

#3 楼

没关系。

锁可以提供三种形式的保护: br />提供篡改的证据
阻止潜在的攻击者进行攻击

正如在所有答案和评论中所讨论的那样,它并没有在延迟攻击者方面做很多事情。锁可以很容易地用工具切断,例如这把10美元的断线钳。正如CGCampbell的评论所指出的那样,可以很容易地用工具来选择它。其他答案指出,即使没有挑选工具,它也很容易被击败。因此,它也确实失败了。

这唯一的价值就是心理收益。它传达的信息是里面的贵重物品并不是无限制的进入,这会劝阻那些道德观念或害怕被抓住会阻止他们进行任何尝试的人。

表盘上的东西几乎具有与其防御能力零相关。结果,您需要其他防御机制来实现您的安全目标,前提是这些防御机制包括心理影响之外的任何东西。如果需要,监视(视频或亲自观看)将为您提供更可靠的篡改证据;如果那不可行,还有其他方法可以实现。如果您的目的是保护自己免受坚定的攻击者,则还需要其他保护措施。

评论


锁通常用于篡改证据,而不仅仅是提供物理安全性。在这种情况下,攻击者可能没有那么严格的时间限制,但是无法物理破坏锁(因为这会留下证据)。

–森林
18年4月14日在1:09



请参阅@CGCampbell对原始问题的评论。该锁甚至不提供篡改证据。知道花样的人可以用简单的工具打开该锁,比知道该密码的人可以拨入它更快。用该工具打开它几乎没有任何证据。

–所罗门慢
18年4月14日在16:13



或切开锁,打开[容器]替换为备用锁-谁在乎密码是否错误...

–巴尔德里克
18年4月16日在12:35

@forest谢谢。我更新了我的答案以包含这种可能性。

– jpmc26
18年4月19日在22:20

#4 楼

归零。也许需要做更多的工作,但是您不会冒为多个拨盘旋转太少或旋转相同数量的风险。不管哪种情况,攻击者几乎都不会继续进行攻击...大多数人不会考虑这一点。两者之间的实际安全性可能大致相等。如果将其归零,他们将无所事事,养成这样的习惯是很好的。

评论


可能没有更多的工作。如果将其设置为0000,则可以将1234的组合想像成:1在第一个拨盘上单击,2在第二个拨盘上单击,依此类推,而不必进行减法来算出要移动多远每个拨盘。之后再重置时,可以向后进行相同的操作。甚至更容易!

– Guy Schalnat
18年4月13日在16:13

关键是将其重置为相同的样式,这样重置就不能用作攻击的载体,然后您可以使用这种一致性来打开外观而不会产生视觉冲击……甚至可以提高安全性。

–尼尔森
18年4月13日在16:40

我认为这个答案是正确的,但需要注意的是,如果额外的安全性值得进行额外的工作,那么您可能使用的锁太弱了。但这可能不受您的控制。

–史蒂夫·杰索普(Steve Jessop)
18年4月13日在16:50

该锁看起来像我几十年前使用过的锁-如果是的话,我相信它的停止阻止了它回退到零以上,使其比零更容易打乱。

– Bill K
18年4月13日在18:39

好的攻击者并不是“大多数人”-像往常一样,威胁模型必须包括您要防御的对手的级别。

– Toby Speight
18年4月19日在11:47

#5 楼

回答此问题时,需要考虑一些事项。 。 (我没有计数,因为那是我没有的计算。这就像在拉斯维加斯所要求的随机洗牌数量被认为是随机的。)
如果您从从安全性的角度来看,然后将其设置为特定数字是更好的答案(其中0000可以是该特定数字)。更好的答案的原因已在其他帖子中提及,但总而言之,它要求锁定锁的人“思考”以确保已对其进行了拨号。它不随时间提供统计信息来猜测运动。它允许定期“发现”篡改(甚至移动数字)。如果您将数字设置为0000,则篡改部分的效力可能会降低,因为有人在玩它可能会记得将其重新设置为0000。

不幸的是,如果试图打开锁的人知道他们在做什么。有经验的人可以在不到30秒的时间内打开这些4位数的组合锁,如图所示。如果他们的垫片很薄,甚至更快...只是一个典型的示例视频(如何使用更多暴露的拨盘)https://www.youtube.com/watch?v=ABKsUNitXqw或https:// www .youtube.com / watch?v = jmhSSuCIdPI。在DefCon工作了几年之后,坐在经过精心挑选的村庄里呆了几分钟,看着年轻人在不到15分钟的训练后迅速弹出这些东西,真是令人惊讶。

知道这些是多么容易流行,而且您可能担心篡改的事实,上面的第二条是长期的方法。

评论


(+1)除“ 1.”外,我大部分都同意您的回答:对于这种类型的密码锁,(#1)“旋转”(任意或全部)拨号不止一次不会提高安全性。问题在于,锁定锁的人(或稍后对其进行验证)应确保所有拨盘均已从打开组合中移出。问题是,应该将它们移动到特定的(不正确的)位置(例如0-0-0-0)还是一些随机的位置。每个拨盘上的一个动作应该足够,可以移动到特定位置或随机位置。在任一方向上移动拨盘两次(或多次)可以将其移回到打开位置。

–凯文·费根(Kevin Fegan)
18年4月15日在20:20

将每个拨盘分别移动到一个随机的位置,但不会将其打开,这会将有关代码的信息泄漏给可以随时间观察锁定的观察者。

– Peter Green
18年4月16日在15:24

只要某些表盘可以处于“打开”位置,就可以了,只要不是全部都可以。这样,每次观察最多只能减少一个代码。

– cHao
18年4月19日在15:19

至于统计数据,真正的随机性意味着向前旋转0到9个位置,每个刻度盘彼此独立的机会相等。我不会为此而依靠肌肉记忆。使用RNG。

– Mathieu K.
18年4月23日在2:01

“随着时间的流逝没有统计信息” —我猜测那些正确数字最远离0的表盘中的额外磨损最终将可被检测到。

– Mathieu K.
18年4月23日在2:06

#6 楼

要增加额外的安全性,可以将两个方向均等用于清零,或者始终将所有方向都旋转到一个方向,以保留相等数量的指纹。人们倾向于选择一个数字并记住它。从零到(或接近)正确组合的路径可能会在紫外线下显示出来。

我认为这比猜测显示的非零组合是盲目旋转还是手工采摘更容易:记住与尝试进行0000-9999相比,尝试过的时间和工作量可能要大得多。而且一旦被盗,时间和组合就变得无关紧要了:我将注意力集中在当您不愿透露秘密的情况下可能转身面临的威胁。

评论


路径为零不是打开时使用的从零开始的反向路径吗?因此,以自然的方式将锁旋转回去应该可以使上下指纹均匀。

– Toby Speight
18年4月19日在11:49

向前滚动0-1 -...- 7与向后滚动7-6 -...- 0留下了相同的轨迹,而7-8-9-0在所有数字上留下了指纹。

– Esa Jokinen
18年4月19日在11:54

嗯,我想我明白您的意思-我在想的是壳体上的磨损方式要多于车轮的磨损方式!

– Toby Speight
'18 Apr 19在13:00



#7 楼

从理论上讲,将其设置为0000是更好的选择,因为不可能与之前的内容建立任何关联。实际上,它略胜一筹,因为您可以检查是否符合要求,而任何需要足够随机化的指定程序都无法轻易地检查出人们是否真正遵循了协议,而不是随意刷牙

但更实际的是,完全依靠这种锁来严格保护自己是愚蠢的。如果值得进行这种分析,那么值得的不是玩具而是一把锁。断线钳规则。

评论


好吧,与之前的内容相关的机率是10/10000 = 0.1%,因为可能是1111、2222等。

–安德鲁·利奇(Andrew Leach)
18年4月15日在12:35

@AndrewLeach这不是一个关联。您的目标与任何给定的正确组合之间将存在关联。换句话说,这将与“正确的组合”相关,而不是与“ 1111”相关。

–森林
18年4月16日在12:31



#8 楼

有关将结果归零的更多信息,这是我推荐的方法。这是理论上的答案。

假设攻击者知道如何通过清零,设置为任何固定值或对数字进行加扰来重置锁定,他们仍应保持零知识以了解正确的组合,因此匹配随机组合的可能性相等。

可以用“混搭”来打破,因为没有人是随机来源的理想来源。实际上,它们可能是最糟糕的。通常,人类会应用数字模式来减少可能寻找的值。例如,通常情况下,人们会“随机”在卷轴上滑动手指,以使其指向另一根手指。或按大脑想要保留的顺序移动转轴。

这将导致已知的纯文本攻击尝试次数不断增加(再次,这是理论上的答案),并将提供有关攻击者不应具有的组合的更多信息。

强调额外的意思是什么?即使攻击者成功确定一个数字肯定是错误的猜测,他们也只是将所需的蛮力攻击降低了1000次。添加更多数字以限制攻击面。到任何预定义的值会使每种组合的几率相同

#9 楼

从实际意义上讲,这并不重要,要想消除盲目混乱,将比仅摇动表盘并获得锁感要困难。只需转动表盘并感觉一下它的反应,就很容易打开密码锁。像这样的密码锁只能起到轻微的威慑作用。

评论


消除盲目争夺不一定那么困难。我已经有了一个4盘锁,并设法通过一次移动每个转盘(出于某种原因将其保存在最左边)并每次尝试打开它来解锁。它在不到一分钟的时间内完成了工作。

–森林
18年4月20日在4:01

#10 楼

例如,您还可以修复另一个随机数3234,并在锁定后将其恢复为该数字,因此可以更轻松地知道是否已使用它,而不是0000

评论


每个人都必须记住两个密码,然后有人会混淆它们。

–djechlin
18年4月17日在22:41

这似乎更像是评论而不是答案。

–森林
18年8月7日在2:35

#11 楼

要求每个人都使用全0实际上是一个非常糟糕的主意,因为要求全0都是非常麻烦的安全性工作。鼓励我制定最佳实践。


最佳实践应该是人们始终如一地遵循和遵循的,并且您的团队理解的重要性。当有人忘记将其全部设置为0或感觉不到是琐碎的时候会出现的参数。当然,您团队中的其他所有人都知道这没有任何区别,至少没有任何以“技术上很好”开头的区别。马上回到他们身上。如果人们真的不高兴,您可能会期望找到地面上设置为全0的锁,并有一天安全打开,就像管理层希望的那样。

#12 楼

从理论上讲,它们同样是(不安全的)。
如果其中之一更安全(例如,盲目地旋转表盘),那么攻击者也将知道它,并将锁设置为“ 0000”以降低复杂性,相反,反之亦然。 ,但据我所知,有些锁就是这样)。因此,如果您确实想引入一些随机元素,则最好自己提出一个随机数,确保它与正确的数字不太接近,然后将锁定设置为该数字

评论


-1以确保它与正确的数字不太接近,因为它本身是一个相关性,并且也很强。其他一些答案也指出了这一点。

–森林
18年4月22日在9:54

@forest如果我们用抽象的术语来谈论,我会同意你的。但实际上,还有更多的事情在起作用,包括机械和心理方面。首先,许多人忘记了重设锁,因此锁选择器将更有可能在尝试暴力破解之前尝试将锁设置为该号码(及其相邻号码)。其次,某些便宜的锁的设计方式是,通过随机旋转其拨盘,您将比其他任何人更可能获得正确的数字。清单继续。

– Undercat为Monica鼓掌
18-4-22在11:11