题记
七年前的五月,Intel Security 受到安全研究人员启发,为了提升大众对口令安全的认识,把五月的第一个星期四作设定为“World Password Day”。今天,我们就与大家聊一聊“口令”。
图 | 网络
01丨身份认证
口令是身份认证的一种方式。无论在互联网世界或是在区块链系统中,身份认证是保障系统安全的重要手段之一。身份认证是识别和确认数据或者实体真实性的一种行为。按照认证因素来看,一般常用的有以下三类:
- 基于知识(knowledge)的认证:即用户所知道的。口令以及 PIN 码和安全问题等都属于这一类;
- 基于所有权(ownership)的认证:即用户所拥有的。身份证件、不同类型的各种令牌、数字证书都是属于此类的认证方式;
- 基于生物学特征(inherence)的认证:即利用用户的生物特征或者行为特征等进行认证。比如,指纹、声纹、虹膜、步态以及 DNA 序列等都属于此类。
图 | 网络
02丨口令以及口令安全
我们目前所知的计算机口令,由图灵奖获得者 Fernando Corbató 博士在上世纪六十年代改进分时系统的过程中发明。在分时系统中,Fernando 博士用口令来保护个人用户文件不被随意访问。这也是最早的计算机安全机制之一。和其它认证方式相比,无论是从部署的简易性和部署成本上看,还是从可撤销和可更改性等安全方面看,口令都具有一定的优势。因此,自从互联网普及以来,口令成为了一种广泛应用的身份认证方式。
图 | 网络
在实际使用中,互联网应用爆发增长,海量的互联网服务依赖于口令作为身份认证方式,这又要求用户需要记忆大量复杂的口令。但从生物学上看,人类不太可能记住很多复杂的口令。这导致了同一个口令在不同服务中重复使用的情况出现以及很多弱口令的存在。这大大降低了口令的强度,影响了口令的安全性。
一方面,口令的安全性受限于用户选择口令的强度。口令需要具备一定的强度,即具有较高的信息熵。但一般来说,在没有指导的情况下,口令的选择具有偏向性,会偏好于特定的组成和长度,如常见的姓名生日组合。据知名分析公司 SlashData 等调查,“123456”、“qwerty”以及“password”等都是常见的弱密码。其中“123456”更是弱密码排行榜上长居榜首。弱口令几乎等同于没有口令,很容易被在线/离线猜测攻击攻破。
常见弱口令示例,来自维基百科
另一方面,口令的安全性受限于服务提供商的安全性。服务提供商一般需要设置用户口令生成策略用以指导用户生成具备一定强度的口令。另外,服务提供商对口令如何处理和保存也是影响安全的重要因素。加盐保存以及加密传输是保护口令的基础手段。另外,对口令的脱库和撞库攻击也屡见不鲜。因此,如何防止被脱库也是服务提供商应该考虑的安全目标。
03丨如何保证口令安全?
对于普通用户来说,首先避开姓名生日组合、“123456”等弱口令,选择一定强度的口令。一般来说,挑选一定长度随机字符值来作为口令会使得口令强度大大增加。另外,在不同网站上应该采用不同的口令。由于随机口令难以被记忆,用户可以使用口令管理器来管理口令。
图 | 网络
其次,用户在可能的情况下应采用双因子认证(2-FA)甚至是多因子认证。双因子认证在口令认证的基础上还需要通过另外一种方式的认证,比如 Google Authenticator 的认证令牌、短信验证码以及邮件验证码等,这大大降低了身份认证被攻破的可能性。
04丨结语
虽然今天 FIDO 等组织致力于改进身份认证方式,但目前来看口令是身份认证广泛应用的一种重要方法。很多时候,用户会根据服务提供商的不同来决定口令强度,例如在 ONTO 钱包上会采用强度很高的口令,而在 WIFI 设置上可能会选择“244466666”或者“meiyoukouling”这样的口令。
图 | 网络
希望各位聪明的小伙伴们都能够提高对口令安全的认识,切实保护数字资产的安全。小伙伴也可以私信我们,讲讲你们设置过什么有趣的口令。当然,请不要把保护数字资产的口令告诉我们,我们会假装看不到的。
最后的最后,世界密码日快乐!