网络安全之你的密码真的强吗?

131 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第19天,点击查看活动详情

在密码学中,密码(英语:cipher,或cypher),是一种用于执行加密解密算法——一系列可以作为一个过程来遵循的定义明确的步骤。另一个不太常见的术语是加密(encipherment)。加密或编码(encode)的目的是将明文的信息转换为密文(密码或代码)。

通常的说法中,“密码”(cipher)与“代码”(code)是同义的,因为它们都是一组加密消息的步骤;然而,它们在密码学中的概念是不同的,特别是在经典密码学中。

虽然现在大部分使用密码的场景变少了,连github都不推荐使用密码,而是密钥。在国内大部分软件都支持验证码登陆,这是因为相较于其他验证方式,短信验证码是一种动态密码,是有时效限制的,也是随机更换的,安全系数大大提高!但是这不能说明密码没人使用,今天就来说说如何设置一个好的密码。

老规矩,避免出问题的前提是知道会有哪些问题。

1、必须避免使用以下密码

看看这里有没有你使用的密码:

!@#$%^
P@ssw0rd
taylor21
qwerty
abcdefgh
iloveyou7
123456
123456789
buddy123

在 Rockyou 等公共暴力词汇表中提供了许多类似的密码。Rockyou提供了一个关于密码强度的一个共识

E = log2(Rᴸ)

这个公式告诉我们,最好能将大写和小写与特殊字符和数字混合使用,但越长越好。 8 个字符,即使是复杂的组合,仍然可以比一长串的 22 个小写字母快得多。使用蛮力猜测密码的必要时间将成倍增加。

下面是一些自认为不错的例子

还没有网络安全意识的人可能有有趣但不安全的方法。例如,他们可能故意使用弱密码,并认为黑客不会尝试这种微不足道的组合。他不知道,黑客使用口令字典早就包含最基本密码和词汇。

安全策略也会产生误导

许多网站和应用程序都破坏了密码策略。其中一些将用户推向非常可预测的策略,例如,通过禁止特殊字符或将总长度限制为 8。

然而,即使是看似强有力的政策也可能导致意想不到的结果:

至少 1 个小写字母 至少 1 个大写字母 至少 1 个数字 至少 1 个特殊字符 至少 8 个字符 虽然上述规则看起来合法,但用户仍然可以设置容易猜到的密码。

例如,我的名字是李小白。我可以进入Lixiaobai$7,这符合政策,但在安全性方面很糟糕。

黑客只需要一个包含我的名字的候选名单,剩下的工作就交给 John the Ripper 等免费工具。

7个有效的技巧

  • 设置长密码(如果可能,超过 16* 个字符)
  • 不要重复使用密码(1 个登录名,1 个密码)
  • 不要在浏览器中保存密码或确保使用主密码等加密
  • 定期更改密码
  • 使用密码管理器
  • 使用haveibeenpwned判断您的密码是否泄露
  • 尽可能启用 2FA/MFA

最后,16位,因为大多数安全策略将最小长度设置为 8 个字符。我并不是说这是防弹密码的神奇数字。如果您可以设置更长的密码,例如 22、23、24 个字符,那就太好了。*