浙江省委宣传部副部长、省委网信办主任赵磊:守正创新 辩证施策 全力推动网络生态治理工作迈上新台阶
2026-02-10
美创产品全面入围中直机关2025年网络设备框架协议采购项目
2026-02-04
连续5年!美创再获中国网络安全产业联盟“先进会员单位”表彰
2026-01-21
每周安全速递³⁷¹ | 勒索软件攻击导致心理健康机构超11万人数据泄露
2026-01-06
四年同行,韧性共铸:西南某商行携手美创科技再度通过年度容灾大考
2025-12-26
存储域
数据库加密 诺亚防勒索访问域
数据库防水坝 数据库防火墙 数据库安全审计 动态脱敏流动域
静态脱敏 数据水印 API审计 API防控 医疗防统方运维服务
数据库运维服务 中间件运维服务 国产信创改造服务 驻场运维服务 供数服务安全咨询服务
数据出境安全治理服务 数据安全能力评估认证服务 数据安全风险评估服务 数据安全治理咨询服务 数据分类分级咨询服务 个人信息风险评估服务 数据安全检查服务01
前言
可能很多人都听过这种类似的建议,但抱着:这么多人都在用,怎么会偏偏攻击我又猜中我的密码呢,不存在、不存在的心态,真正愿意去修改自己密码的人寥寥无几。为什么?麻烦呗,复杂的密码用起来不方便也记不住,还不如用自己熟悉的密码。安全性?我的密码规则可只有我知道,才不会告诉你是某某的生日呢。但是你的密码真的安全吗,安全的密码应该怎么设,本期美创安全实验室将为大家介绍关于“密码“,那些你需要知道的事。
02
强密码?弱密码?
但是这也不是绝对的,例如你使用一个“Pa55word!1“这样的密码,虽然满足了三种类型,但是依据现有的破解技术,很有可能在3天之内就被破译出来。但是如果你使用”correct horse battery staple“这种全由英文组成的摸不着头脑的短语,大约需要550年来破解!!!
从上面的例子我们可以看出,强密码、弱密码的定义是很模糊的。满足了不同类型的密码依然有可能是弱密码,而采用单一类型的密码也有可能是强密码。其本质原因是什么呢,其实无论是弱密码还是强密码其区分的关键在于是否容易被攻破,如果是很容易的就被攻破的密码那么毫无疑问是弱密码,而那些很难被攻破的密码自然就是强密码了。
可能这里很多人会有疑问,有人觉得越多人用的密码才算是弱密码,其实也正确,因为这跟我们宏观的感受有区别。我们认为那些大多数人都在用的,密码协会每年公布的那些top10的密码,甚至是黑客的密码字典上的密码才算是弱密码。这么说也没错,但跟我们的论点并不矛盾。因为这其中的逻辑是:一个密码的使用率越高导致这个密码越容易被攻破从而我们认为这个密码是弱密码。所以使用率并不是弱密码的决定因素,健壮性才是密码的决定性因子。那么健壮性又是怎么定义的呢,别急我们往下看。
03
密码的健壮性是什么?
众所周知,现今的密码爆破采用的都是穷举法,即把所有可能出现的结果全都列举出来然后一一尝试,虽然效率慢但是在合适的策略下是十分有效的。就像某人说的:在圆周率里你能找到所有人的银行卡密码。因为我们每个人的密码最终是一定会被穷举出来的,而我们唯一能做的就是尽可能让自己的密码不那么容易被穷举出来,换句话说就是增加攻击者的攻击成本。因此,我们可以有这么一个合理推论:一个攻击成本很大的密码可能是健壮的,一个攻击成本低下的密码可能是不健壮的。
目前我们所能使用的密码,其组成部分都是ASCII码表中的可显示字符,它包含了我们所有人密码的组成,从数字0~1,小写字母a~z,大写字母A~Z,以及一些可供选择的特殊字符加一起一共有95个。也就是说无论这个密码多长多复杂,总是这95个字符组成的。
例如一个由N个纯数字组成的密码,可能包含的密码种类共:9 * 10^(N-1)个
一个由N个数字加字母组成的密码,可能包含的密码种类共:61 * 62^(N-1)个
而一个由N个大小写、数字加特殊字符组成的密码,可能包含的密码种类竟高达:94 * 95^(N-1)个
可能你对上面的这个公式没什么太大的感觉,别急我们拿几个数字来说明一下。QQ密码的设置标准是8-16位,假设你的QQ密码是由8位随机纯数字组成的那么一共有9 * 10^7 = 90000000种可能,以当前计算机的算力水平(每秒进行253次组合运算)来计算大约需要355731秒 ≈ 4天左右的时间完全破译。而若是采用了大小写字母+数字+特殊字符完全随机的8位密码一共有 94 * 95^7 = 6564370583281250 种可能,而这需要大概
25946128787672秒,这是什么概念,大约是80万年左右。。。。。。80万年,别说这个程序还在不在跑,连电脑存不存在都是个问题。
好了,话题拉回正轨。上面的例子从某种程度上佐证了我们的推论,接下来我们换另一个角度继续验证这个推论是否正确。在信息论或者通信原理中有这么一个概念:信息熵。它是由著名大师香农提出来的。信息熵表示了一个信息的混乱程度,当一个信息的不确定性越大混乱程度也就越大,故而熵增;当一个信息的不确定性越小混乱程度也越小,故而熵减。
看似十分拗口,但当我们把他拿到密码上就会清晰很多。一个密码的熵(以下简称密码熵)代表了该密码的混乱程度和不确定性。当密码熵较小时,我们说该密码的不确定性很小,很容易被猜解。当密码熵较大时,我们说该密码的不确定性很大,无法轻易猜解。因此,我们可以很轻易的得出下面的公式:
S ∝ H(x)
即密码强度S与密码熵H(x)成正比。而密码熵的大小同时也决定了一个密码被攻破可能性的大小。而密码被攻破可能性的大小又决定了一个密码的攻击成本的大小。绕了这么一大圈结论终于出来了,密码强度的大小与该密码的攻击成本成正比。换句话说:一个攻击成本很大的密码可能是健壮的,一个攻击成本低下的密码可能是不健壮的。
04
越复杂的密码越安全吗?
通过第三点我们可以达成一个基本没什么争议的观点:攻击成本是对密码安全性最直观的反馈。我们说到一个密码的健壮性与密码熵有关,那么熵又跟什么有关呢?想想一个密码的组成,答案大致就清楚了。密码熵最直接的两个因子:长度(Length)和复杂度(Complexity)。那么密码熵究竟该如何计算呢?首先我们给出密码熵的计算公式:
H = L * log N

所以我们可以看出,在都满足特殊字符、大小写字母、数字组成的密码中,密码强度是与长度成正比关系,而与复杂度无关。因为log N = log 95 ≈ 6.5699是一个固定的值。但是当一个由纯数字组成的密码与标准强密码做对比的时候,纯数字密码的强度H = 3.3219 * L;标准强密码的强度H = 6.5699 * L;这其中大概有两倍的差距。什么意思?举个简单的例子来说。
一个8位标准强密码与一个16位纯密码的强度几乎相同。
一个8位数字弱密码与一个8位随机数密码的强度几乎相同。
因此我们可以得出,密码的强度在组成密码的种类相同的情况下取决于长度,在长度相同的情况下取决于组成密码的种类。这其中大概是两倍的关系。简而言之,当一个密码的长度越长且种类数多越安全。所以,我们建议:你的密码能设多长就设多长。
05
你的密码规则真的安全吗?
另外也请不要重复使用密码,在该调查中还显示只有5%的受访者是真的不知道一个安全的密码需要包括的元素,剩下的绝大多数人都知道安全的密码应该同时包括大、小写字母,数字和特殊符号。此外,有91%的受访者知道重复使用密码会带来一定的风险,但其中61%的人依旧多次使用相同或者类似的密码,其中又有超过一半(55%)的受访人在完全知道密码泄露后果的情况下,还在继续使用相同的密码。
那么究竟怎样的密码设置策略算是一个优秀的策略呢。互联网上的一个网站中有一篇文
章提出了一些密码设置上的参考建议,里面提到“用统一规则记住多个不同密码”是一个不错的选择. 毕竟记住一个规则比记住一串杂乱无序的字符要容易多了,也可以实现“一把钥匙开一扇门” 的策略。
例如,你的gmail邮箱是zhangsan@gmail.com那我们可以设置如下的密码生成策略:密码 = (小写用户名缩写)+ (用户名长度)+ 【#】+(大写网站标识符)+(大写用户名缩写)+(用户名长度)+【.】+(小写网站标识符)因此你的密码就变成了:zs8#GMZS8.gm
最后想请读者弄清楚,万事没有绝对,一个优秀的密码可以帮你尽可能的降低风险,但它永远不可能将风险化为0。结尾附上一则网络上的小漫画,请大家开心一笑的同时,继续关注美创第59号安全实验室。我们下期再见!
