通过默默无闻,密码不是一种安全形式吗?

时间:2010-12-20 01:16:34

标签: security passwords security-by-obscurity

我知道通过默默无闻的安全性是不受欢迎的,并且被认为不是很安全,但是通过默默无闻的密码安全性不是?只要没有人发现它,它就是安全的。

这只是隐匿程度的问题吗? (即一个好的密码很好的盐渍和散列是不切实际的)

注意我不是在询问保存密码的过程(假设它们是正确的哈希和盐渍)。我问的是整个想法使用密码,这是一条信息,如果知道可能会损害一个人的帐户。

或者我误解了默默无闻的安全意味着什么?我想这就是我认为的意思,即存在一些信息,如果已知会危及系统(在这种情况下,系统被定义为密码意味着保护的任何信息)

8 个答案:

答案 0 :(得分:21)

你是对的,密码只有在模糊时才是安全的。但“通过默默无闻的安全”中的“晦涩”部分是指系统的默默无闻。使用密码时,系统是完全开放的 - 您知道用于解锁它的确切方法,但是不属于系统的密钥是未知的。

如果我们要概括,那么是的,所有安全都是通过默默无闻的方式。但是,“通过默默无闻的安全”这一短语并未提到这一点。

答案 1 :(得分:14)

通过查看某种意义上的相反 Auguste Kerckhoffs的第二原则(现在简单地说),可能更容易理解安全隐患的含义。通常被称为 Kerckhoffs的原则),于1883年在关于 La Cryptographie Militaire 的两篇文章中制定:

  

[密码]不能被要求保密,它必须能够毫无不便地落入敌人的手中。

Claude Shannon将其重新表述为:

  

敌人知道系统。

Eric Raymond:

  

任何不承认敌人拥有源代码的安全软件设计都已经不值得信任。

该原则的另一种表述是

  

系统的安全性必须仅依赖 密钥的保密性,而不是系统的保密性。

因此,我们可以简单地将Ob-Security安全性定义为不遵循该原则的任何系统,因此我们巧妙地定义了密码: - )

这个原则有两个基本原因:

  1. 密钥往往比系统小得多,因此更容易保护。
  2. 妥协密钥的保密性只会危及受该密钥保护的所有通信的保密性,危及系统的保密性会损害所有通信。
  3. 请注意,它并未说明您无法保密系统。它只是说你不应该依赖它。您可以使用安全隐藏作为附加防线,您不应该认为它确实有效。

    然而,一般情况下,加密是 hard ,加密系统很复杂,因此你几乎需要来发布它,以尽可能多地吸引眼球。在这个星球上,只有极少数组织真正拥有必要的智能人才来设计保密密码系统:在过去,当数学家是爱国者和政府富裕时,那些是NSA和KGB,现在它是IBM和从现在起几年,它将成为中国特勤局和国际犯罪集团。

答案 2 :(得分:5)

没有。让我们通过wikipedia

的默默无闻来看待安全性的定义
  

贬义是指安全工程中的一项原则,该原则试图使用保密(设计,实施等)来提供安全保障。

该短语指代码本身或系统的设计。另一方面,密码是用户必须识别自己的东西。它是一种身份验证令牌,而不是代码实现。

答案 3 :(得分:1)

密码是一种身份验证形式。它们旨在表明您正在与您应该与之互动的人进行互动。

这是安全性不同方面的一个很好的模型(我必须在我的安全课程中记住这一点)

http://en.wikipedia.org/wiki/File:Mccumber.jpg

密码是安全保密方面的一个方面。

虽然可能是较弱的身份验证形式(你知道的东西,你拥有的东西,你有的东西),但我仍然会说它不会通过默默无闻构成安全性。使用密码,您不会试图掩盖系统的一个方面,试图隐藏它。

编辑:

如果您遵循这样的理由,即密码也是“安全Throguh Obscurity”的一种手段,那么所有安全性,包括加密之类的东西,都是通过默默无闻的安全性。那意味着,唯一没有通过默默无闻保护的系统是一个被混凝土包围并沉入海底的系统,没有人被允许使用它。然而,这种推理不利于完成任何事情。因此,我们使用安全性通过模糊来描述不使用系统实现作为安全手段的实践。使用密码,实现是已知的。

答案 4 :(得分:1)

  

我知道通过默默无闻的安全性是不受欢迎的,并且被认为不是很安全,但是通过默默无闻的密码安全性不是?只要没有人发现它,它就是安全的。

为了回答这个问题,我们确实需要考虑为什么“通过默​​默无闻的安全性”被认为是有缺陷的。

通过默默无闻的安全性存在缺陷的一个重要原因是实际上很容易根据系统与外界的互动来对系统进行逆向工程。如果您的计算机系统坐在某处,愉快地对用户进行身份验证,我可以只查看它发送的数据包,查看模式,并弄清楚它是如何工作的。然后直接攻击它。

相反,如果您使用的是正确的开放式加密协议,那么无法通过电线嗅探来窃取密码

这基本上是为什么模糊系统存在缺陷,但模糊关键材料(假设安全系统)则不然。通过默默无闻的安全性永远不会本身保护一个有缺陷的系统,而了解您的系统不存在缺陷的唯一方法就是公开审查。

答案 5 :(得分:0)

不,他们不是。

通过默默无闻的安全意味着提供访问保护的过程只是安全的,因为其确切的详细信息不公开。

这里公开可用意味着每个人都知道该过程的所有细节,当然,除了构成密钥的随机部分。请注意,每个人都知道可以选择键的范围。

这样做的结果是可以证明,唯一需要保密的部分是密码本身,而不是过程的其他部分。或者相反,获得系统访问权限的唯一方法是以某种方式获取密钥。

在一个依赖其细节隐晦的系统中,你无法得到这样的保证。很可能是那些发现你正在使用什么算法的人可以找到它的后门(即没有密码访问系统的方法)。

答案 6 :(得分:0)

简短的回答是。密码本身并不是默默无闻的安全措施。

密码可以被认为类似于密码学中的密钥。如果您有密钥,则可以解码消息。如果你没有钥匙,你就不能。同样,如果您拥有正确的密码,则可以进行身份​​验证。如果你不这样做,你就不能。

默默无闻的隐蔽部分是指该计划的实施方式。例如,如果密码存储在明确的某个地方,并且它们的精确位置保密,这将是默默无闻的安全措施。假设我正在设计新操作系统的密码系统,我将密码文件放在/ etc / guy / magical_location中,并将其命名为“cooking.txt”,任何人都可以访问它并读取所有密码,如果他们知道它在哪里。有人最终会发现(例如通过逆向工程)密码存在,然后世界上所有的OS安装都将被破坏,因为我依靠默默无闻来保障安全。

另一个例子是密码存储在每个人都可以访问它们但是用“秘密”密钥加密的地方。有权访问密钥的任何人都可以获得密码。这也是默默无闻的安全。

“默默无闻”指的是保密的算法或方案的某些部分,如果是公共知识,该方案可能会受到损害。它不是指需要密钥或密码。

答案 7 :(得分:-2)

是的,你是对的,这是一个非常重要的实现。

太多人在不知道他们的意思的情况下说“通过默默无闻的安全”。在所有重要的事情中,你是正确的是解码任何给定实现的“复杂性”水平。用户名和密码只是它的复杂实现,因为它们大大增加了获取访问所需的信息量。

在任何安全性分析中要记住的一件重要事情是威胁模型:您是谁担心,为什么以及如何预防它们?你有什么不涵盖的?保持分析和批判性思维;它会很好地为你服务。