不能说的秘密——关于口令那些事

  来源:admin    发布时间:2018-02-26 

 

口令,又称密码,英语为PasswordPasscode。得益于其近乎零成本的优势,它是我们最常使用的安全工具。通常口令在我们在初始化账号和系统的时候设置,当再次进入系统的时候被提示并输入,从而让我们获得对系统的访问权限。根据其组成,口令包括文本口令、图形口令。文本口令由字符组成,使用键盘输入较方便;而图形口令由各种图形构成,使用触摸屏输入较方便。

一枚好的口令需要做到三点:好记、好输且难猜。好记,要求这枚口令尽可能简单;好输,要求这枚口令尽可能简短;而难猜,则要求这枚口令尽可能复杂而冗长。鉴于上述三点存在矛盾,要同时满足这三点并不容易。而且,如果考虑到当前一个人可能拥有大量的账户和口令,保障一个人拥有多枚好的口令则更为不容易。

为保障一枚好的口令,早期通常使用规则驱动的方式,譬如要求用户在创建口令时,确保口令必须由数字、大写字母、小写字母、特殊字符等不同字符类型组成,且一个口令必须包含两种或两种以上的不同种类的字符,并且口令的长度必须不少于8个字符;在不同账户中的口令必须不同。然而,当前的深入研究发现,实施上述四项规则并不能保证生成一枚平衡好记、好输且难猜这三点的好口令。因此,当前的主流研究通过口令猜测攻击的角度,建议用户使用非常少见的口令。这里的少见,既会要求非常复杂,又要求与其它已知口令比较,使得既不是重复出现的口令,也不是经过简单变形的口令。这里给研究人员出了一个难题:如何判定一枚口令在当前网络空间是“少见”的?为此,研究人员提出了数据驱动的方法:将已知口令作为训练集,训练一个口令猜测模型,对用户创建的口令进行猜测,如果猜测次数非常多或者猜不到,则判定为好口令。由于已知口令集数据量庞大,所训练出的模型也非常复杂,不适合直接放在用户浏览器或其他客户端。因此有两种方案用于这一基于数据驱动方式的对保障好口令的方案,一种是将模型预先训练好并进行有效压缩,然后放置在客户端对创建的口令进行猜测,这一方式响应速度快,且不需要传输用户口令;另一种是将创建的口令实时地安全传回服务端,由服务器端的模型进行判断,这一方式由于模型的完整能获得更准确的结果。

口令由人来创建,因此拥有强烈的个性属性。有的人喜欢字母输入,有的人喜欢数字输入,于是有了偏好字母和偏好数字两种口令;有的人喜欢用一段话或者一首诗词作为口令,有的人喜欢用电话号码作为口令,而更多的人则喜欢用自己或者亲人的生日作为口令。我们的研究表明,用户创建时,会由于生活习惯,文化氛围的不同,在创建口令时带有强烈的区域特征。譬如中国人喜欢用拼音,特别是全拼作为口令;中国人喜欢用数字来组成口令,而欧美用户更加乐意使用字母组成口令,尽管大家的键盘都是一样的。理解这些特点,对于我们创建和判断好的口令非常重要。

尽管当前已经对口令是否能够保护用户的系统安全提出各种疑问,但以其在保护系统安全方面的高性价比绝对优势,口令将持续存在,并有效保护用户在网络空间中的各类活动。