代码之家  ›  专栏  ›  技术社区  ›  ilya n.

5位PIN码比大多数密码好吗?

  •  36
  • ilya n.  · 技术社区  · 15 年前

    这是困扰我多年的问题:为什么大多数在线服务 ,引用它作为安全措施,并在用户选择密码时强制执行?

    看完报纸后,我决定提出这个问题 "Do Strong Web Passwords Accomplish Anything?" classic Dilbert cartoon

    在线站点的典型策略是要求至少6位或8位的大写+小写+数字密码。该长度与暴力攻击的难度(例如,从散列恢复密码)有一定关系。但在线猜测的典型方式是有人试图登录服务器,经过几次尝试后,服务器可以自由拒绝。

    例如,让我们想象一下,我们正在使用全数字PIN保护某个中型服务。 人们会立即想到4位数或6位数的PIN码,但这可能不是一个好主意,因为太多人会被诱惑进入他们孩子的生日,这基本上是一个公共知识。

    5位PIN码 建议我为每个用户保留一个“可能的攻击”标志。

    1. 用户正确登录->好啊
    2. 用户登录->好啊
    3. 否则,允许再进行2次尝试,并在之前休息5分钟
    4. 用户登录->好啊
    5. 用户中断会话->立旗
    6. 用户中断会话但稍后正常登录:向用户显示对话框并允许清除标志
    7. 用户用尽以上尝试:用链接发送电子邮件;允许清除标志
    8. 如果一个月内总共有100多个标志,则设置全局“可能的攻击”标志,该标志要求没有cookie的人回答安全问题

    让我们假设用户名以某种方式是已知的(请注意,对于大多数网站来说这不是真的)。对一个用户进行暴力攻击是没有希望的——您尝试了5次后被锁定,因此您有1/200000的机会。如果你试图在一个月内猜密码超过200次,则该标志将熄灭,而你将一无所获。如果您尝试<每月200个用户,一年后您拥有<有1%的几率破坏一个用户;网络钓鱼、病毒、社会工程或其他任何东西都会让你受益匪浅。

    网站的大小仅在不出现误报的情况下才有意义,即用户真正忘记了密码(比如说每月1%),恢复密码,但不清除标志(比如说1%),以及无法自动清除标志(比如10%)。这使得每月每10个月有10个预期的假阳性标志 6. 用户——这意味着一个中等规模的网站进入“恐慌”模式的概率相当低,这也没那么糟糕。

    我相信这个计划是非常实际的。以下是一些显而易见的事实 :

    • 利益 :PIN更容易记住。我相信这是一个很大的好处,因为现在可以要求用户记住您生成的密码。我相信大多数人记住5个随机数字比记住任何其他类型的随机密码要好得多。
    • 权衡 了解你的腌制过程。然而,我相信标准密码熵在这种情况下也没有帮助。
    • 利益 :人们记住随机的5位数比记住随机的字母数字密码要快乐得多;因此,更容易要求我们生成密码,而不是用户。这消除了字典/个人数据攻击。

    我的问题是:

    1. 与我描述的典型方案相比,我的方案还有哪些权衡/好处?
    2. 大多数中型网站和组织使用我的密码方案不是更好吗?

    当前位置我不主张总是使用短密码。我自己的网络密码通常由密码管理器随机生成和加密( 1Password )具有12个字符的高熵密码。但我认为,上述方案往往比我们实际采用的方案要好。

    13 回复  |  直到 15 年前
        1
  •  42
  •   mmcdole    15 年前

    然后,对于一个5位数的PIN码,它太短了,无法用哈希保护。有彩虹表(甚至谷歌搜索),如果有人得到了散列,他们就可以找回密码。

        2
  •  14
  •   merkuro    15 年前

    OpenID 没有选择?

    使现代化

    4 letters all lowercase (26^4 = 456.976) => abcd
    3 letters with mixed cases (52^3 = 140.608) => aBc
    3 letters lowercase + numbers (36^3 = 46.656) => ab1
    
        3
  •  2
  •   Juergen    15 年前

    当心会话处理

    特别是,“用户仍有会话”和“用户中断会话”(您的第7项)之间的区别是没有意义的。这只是一个可忽略的区别,也可能成为一个安全漏洞。

    记住并不容易

    你还说,记住5个数字更容易。这可能适用于您的信用卡或银行卡(在德国,我们有4位PIN)安全号码,但对于网站,您总是会遇到问题,许多网站都有密码。记住几十个5位数的数字就像记住很多密码一样困难。

        4
  •  2
  •   John Rasch    15 年前

    我还是不明白为什么人们会限制密码长度。对我来说,记住一个句子或短语不是更容易吗?例如,我可能希望我的密码为“ this is my stackoverflow password “。如果我忘记了这一点,我会有一些严重的内存问题。它的长度是34个字符,只使用27个字符的字母表,但基本上仍然无法反转哈希(4.6 x 10) 可能的排列)。

    结合您关于“攻击标志”的想法和适当的盐析/哈希技术,我认为这将是一个理想的解决方案。

        5
  •  1
  •   Matthew Whited    15 年前

        6
  •  1
  •   Bob    15 年前

    我曾经提出过一个类似于你过去的方案,因为我见过很多情况,用户只是简单地将密码写在显示器旁边的便笺上,因为共谋太难记住。我认为密码并不重要,因为黑客更容易在系统中发现其他漏洞,无论是通过应用程序还是简单的社会工程。

    我认为有些人,尤其是技术经理,他们没有完全理解你所说的话,比如安全感。大而复杂的密码让人感觉很强。有点像盒子上的保证,它让你感觉很好。有点像牙仙

    RSA SecurId 这是我们大家能够达成一致的。

        7
  •  1
  •   Instance Hunter    15 年前

    我认为更容易记住“密码短语随时都可以打别针!”,这将在大约400万亿年内经受住暴力攻击。

        8
  •  1
  •   Nosredna    15 年前

    真正的问题是什么?人

    我知道一个学区有4个密码:1111223333和4444。为什么?用户们聚在一起,同意这样做,这样当工作人员生病在家时,他们就可以随时进去。当午餐工人生病的时候,进入一个锁着的午餐钱计算机太痛苦了。

    哦,是的,我多次看到午餐电脑无人值守。是的,你可以要求把你的余额兑换成现金 随时都可以。

    用户是疯狂的。

        9
  •  1
  •   Marsh Ray    15 年前

    根据这种逻辑,如果5个数字比8个字符更容易记住,但包含足够的熵,那么一个数字和三个不区分大小写的字母应该更容易记住!

    10**5 = 100,000
    26**3 * 10 = 175,760
    

    现在只有四个小人物,但他们传达了更多的熵!

    我不知道这证明了什么,只是在反讽和讽刺之间有一个模糊的灰色地带。

        10
  •  1
  •   Mukesh Singh    9 年前

        11
  •  0
  •   BakerTheHacker    15 年前

    PIN vs密码,密码胜出,不是完美的,但具有强大的策略,远远优于PIN。

    谁说很多人不把密码写在便笺上,对很多人来说,记住一个单词组合比记住一个5位数的数字更容易,就我个人而言,我记住数字最容易,因此我的密码更多的是数字而不是字母。

        12
  •  0
  •   user1239087 user1239087    13 年前

    我也在尝试PIN和密码。这取决于您试图构建的应用程序的整体安全性,但如果您加入一些密码安全检查,则密码通常每次都会获胜。据我所知,一个至少14个以上字符的好密码可能比一个“典型”密码更好。它允许人们输入一些他们可以很容易记住的东西,但在攻击中很难复制的东西。仅仅是纯粹的字符数量就很难破解。

    如果您将密码短语与上述锁定方法相结合,您可能拥有一个更安全的系统。

        13
  •  0
  •   David    7 年前

    另一个要考虑的因素是容易进入。PIN码很容易在数字键盘上快速输入,当您追求极大的复杂性时,输入的方便性就会下降。轻松取决于设备。在带有触摸输入的标准键盘上,我可以轻松地输入符号和UC。在智能手机上,我发现很难可靠地输入小写字母,而且由于键盘较小,输入符号既困难又缓慢。输入数字PIN码很快,我可以很容易地记住并输入一长串数字。如果输入速度慢,并且使用不寻常的动作泄露输入的内容,人类观察者会发现更容易获取密码。