https://pages.nist.gov/800-63-3/sp800-63b.html#-511-memorized-secretsNIST 给出的记忆秘密认证法(即密码( password passphrase PIN )登录)指导方案。列举重要几条如下:
(必须=SHALL,应该=SHOULD,可以=MAY,不得=SHALL NOT,不应=SHOULD NOT )
对于自选密码:
**必须**至少 8 字符
**应该**能支持至少 64 字符
**应该**支持 Unicode 密码,每个码位均**必须**视为一个字符,**应当**进行归一化
**可以**将连续空格替换为一个空格,前提是替换后的结果仍然有 8 位以上
对于机选密码( CSP ):
**必须**至少 6 字符
**必须**采用被核准的生成器
对于任何密码:
**不得**允许存储密码提醒
生成/改变密码时,**必须**先验证该密码是否在一个(常用密码)列表中。该列表**可以**包括但不限于:从前泄漏过的密码、字典词、重复的或者有规律的字符、上下文有关字符。(根据译者的理解,是密码的全文而非密码内存在此种字符,简单地说就是系统自备一个暴破字典)如果密码在列表内,那么**必须**告知用户需要使用不同的密码,并告知被回绝的原因,并要求一个新密码。
**应该**提供设置强密码的指示,比如密码强度量计
**必须**提供一个限流措施,限制错误登录的次数
**不应**包含任何其他限制。
**不应**任意要求修改密码(包括定期),但是,**必须**在有证据表明该密码已泄漏时要求修改密码。
**应当**允许 “粘贴” 密码,以促进密码管理器的使用,这很常见并在多数情况下用户会更可能使用更强的密码。