设置密码策略
通过 Hub 身份验证模块,可以设置每次用户创建或更改其 Hub 帐户密码时强制执行的密码策略。
为 Hub 设置密码策略,可以提高系统的整体安全性:
遵循应用程序、系统或组织定义的最低密码要求。
保护 Hub 实例及其连接的服务免受暴力破解攻击。
为用户提供帮助他们创建既强又易记密码的指导原则。
背景信息
计算机用户需要记住多个应用程序的多个密码。 您可能已多次被告知需要创建唯一且符合特定要求的密码。 和大多数人一样,您会选择一种下次登录时能记住的规律。 遗憾的是,这些规律对于密码破解者来说同样显而易见。
Hub 支持的密码策略有助于防止用户设置以下类似弱密码:
密码 | 问题 |
|---|---|
letmein | 包含常用作密码的单词或短语。 |
aaaa1 | 包含重复字符。 |
abc123 | 包含有逻辑顺序的字符。 |
1qaz2wsx | 包含键盘上有规律排列的字符。 |
P@ssw0rd1 | 包含可预测的替换形式,例如 3 代替 e、0 代替 o、@ 或 4 代替 a(l33t 语)。 |
用熵来衡量密码强度
设置密码策略时,您可以确定通过 Hub 身份验证登录的用户需创建的密码的最低信息熵。 信息熵越高,密码越强。
信息熵表示破解密码需要的猜测次数的估算值,单位为位(bits)。 密码每增加一位的信息熵,就会使所需猜测次数增加一倍。
下表展示了基于密码信息熵,暴力破解攻击所需的指数级努力。
分数 | 猜测次数(最小) | 信息熵(最小) | 猜测密码所需时间(最小) (在线,每秒 10 次猜测) | 猜测密码所需时间(最小) (离线,每秒 10,000 次猜测) |
|---|---|---|---|---|
弱 | 一百万 | 20 位 | 27 小时 | 1.5 分钟 |
好 | 一亿 | 26 位 | 3 个月 | 2.5 小时 |
非常强 | 一百亿 | 33 位 | 32 年 | 11 天 |
对于在线暴力破解攻击,可以看到强密码极大提升了系统的安全性。 非常强的密码需要几十年才能被破解,而弱密码在数小时内就会被发现。 如果该密码属于一个可让攻击者访问数据库的帐户,则可在更短时间内通过离线分析破解该密码。
一个弱密码就可能让未经授权的人员进入系统。 当您对密码设置更高的要求时,这道门就会被关闭。
创建强密码的指南
Hub 用户可以遵循以下建议提升密码强度:
创建由多个单词组成的密码。
若密码仅基于词典中可查到的单词,无论字母大小写或字符替换如何变化,其强度提升有限。 通过使用无关单词组合成顺序出人意料的字符串,即便没有特殊字符,也能大大提高密码的信息熵。
为原本已经很强的密码再添加一个单词,可能需要数百年才能被猜出。
添加一些不可预测的替换字符或在单词中间插入特殊字符,使单词难以辨认。 更改单词顺序,避免存在逻辑规律。
有策略地包含大写、小写字母、数字和符号。 例如,可以每隔四个字符大写一次而不是每个单词首字母大写。
密码长度建议不少于 12~14 个字符。
避免使用重复字符、键盘规律、词典单词、字符或数字序列、用户名、亲属或宠物名字,以及个人信息。
避免使用与账户用户相关的信息,例如生日或纪念日。
用户在 Hub 设置或更改密码时,系统会将密码与 3 万多个常见密码、名字、姓氏及流行英文单词数据库进行比对。 若密码包含上述内容,或存在此处描述的问题,Hub 会识别出来并提供创建更强密码的建议。
Hub 使用 zxcvbn 开发的现实密码强度估算方法来衡量密码强度。 您可以 在相关文章中了解更多信息。
指令
可以为 Hub 身份验证模块配置密码策略,界定用户帐户所需的最低密码强度。
