【问题标题】:What do you call the different types of characters of a password when it is being validated?在验证密码时,您将密码的不同类型的字符称为什么?
【发布时间】:2014-10-28 17:04:49
【问题描述】:

我希望这个问题不是太迂腐,但是在验证密码时是否有不同“类别”的技术术语来表示密码的一部分? For example 必须满足的默认 AD 密码复杂性要求(微软称其为“categories”):

Passwords must contain characters from three of the following five **categories**: 

Uppercase characters of European languages (A through Z, with diacritic marks, Greek and Cyrillic characters)

Lowercase characters of European languages (a through z, sharp-s, with diacritic marks, Greek and Cyrillic characters)

Base 10 digits (0 through 9)

Nonalphanumeric characters: ~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/

Any Unicode character that is categorized as an alphabetic character but is not uppercase or lowercase. This includes Unicode characters from Asian languages.

安全工程师或密码学家是否使用过一个术语来指代这些“类别”?

【问题讨论】:

  • 据我所知,我认为没有通用术语。然而,一个术语是字符集/池,实际上更正确的方式来指代这些是“密码复杂性规则”。

标签: security passwords cryptography terminology


【解决方案1】:

这些没有任何官方术语。我倾向于称它为“字符类型”。

例如,Novell 的文档Creating Password Policies 中使用了这个术语:

密码必须包含大写、小写、数字和特殊四种字符中的三种中的至少一个字符

还有这个NIST document regarding Enterprise Password Management

【讨论】:

    【解决方案2】:

    AFAIK,在从事安全工作的 10 年中,没有为此给出最终和共享的命名法。 MS "Categories" 是一个很好的,可能是最常用的,但它并没有在每个上下文之间正式共享(即 Java 可以不同地调用它,PHP、OWASP、Oracle,...,可以有自己的)

    从学术上讲,它们只是扩大离线暴力攻击的基本字符集、彩虹表创建时间或避免琐碎的字典暴力破解的因素。蛮力复杂度大约为 2|C|^n,其中 n 是密码的预期长度,C 是选择的字符集,|C|是那里的元素数量。

    拥有更多类别会增加 |C| 的值- 所以它们应该被称为“密码字符集子集”而不是“类别”,但你明白为什么没有人在这里关心理论位,命名法不友好。

    如果您查找它并且找到了学者称呼他们的方式,请发布它,它总是有用的。

    【讨论】:

      猜你喜欢
      • 2022-12-10
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多