[关闭]
@killa 2016-01-12T07:39:05.000000Z 字数 1551 阅读 1327

A Large-Scale Empirical Analysis of Chinese Web Passwords

论文阅读笔记

课程 计算机系统安全分析


这篇文章主要讨论了使用中文作为第一语言的用户(以下简称中文用户)的密码设计和使用情况,通过根据现有数据建立模型来推测用户可能采用的密码。


Abstract & Introduction

业内很少有人系统性地分析中文用户的密码使用习惯,所以作者收集了近一亿的中文用户使用的密码,通过使用上下文无关随机文法(PCFG)进行分析预测,同时对比英文用户使用的密码,发现中文用户的密码更加难猜。

除此之外,作者还提供了两种预测密码的有效方法,并对这两种方法进行了分别实验和对比。


Analysis

Dataset

中文用户密码

英文用户密码

从这些网站获得到的账户信息经过筛选处理后,共得到105836958个密码。

Comparision

总体上来说,不论是中文用户还是英文用户都喜欢使用纯数字作为自己的密码。所有的密码中,中文用户密码使用最多的占4.14%,而英文用户占1.69%。对比结果如图:
中英文用户常用密码对比结果1
中英文用户常用密码对比结果2

Keyboard Patterns

作者观察发现用户在选取密码的时候可能跟键盘布局有关系。所以作者将密码的键盘布局分为三类:

统计后发现这三类密码的分布如下表:
密码键盘分布统计结果

Chinese Pinyin and English Words

中文用户很多习惯使用汉语拼音作为密码,相应地,英文用户更习惯使用英文单词或短语作为自己的密码。

作者统计了中文用户最常使用的几个拼音和英文用户最常使用的单词,结果如下表:
中英文用户密码常用词统计

数据集中各个网站对拼音和英文单词的使用情况如下表:
拼音和英文单词的使用情况

鉴别密码是拼音还是英文单词的过程中,作者使用了Trie树进行分析,并且英文常用单词词库从牛津词典中抽取。

作者得到的结论是:


Prediction

作者使用了两种方法来推测用户密码,一种是通过使用预先定义的矩阵来进行统计和推断,另一种是使用上下文无关随机文法(PCFG),利用机器学习的技术进行密码预测。

基于矩阵的密码预测

第一种方法的效果一般,作者分别对同一个网站内部进行预测和跨网站进行预测两种预测方式进行了测试和评估,效果分别如下:

网站内进行预测:
网站内进行预测

跨网站预测:
跨网站预测

基于PCFG的密码预测

使用上下文无关随机文法的效果要比前一种好很多,作者在训练文法的时候通过对中英文用户密码数据集进行交叉组合,生成了四个训练集:

使用以上训练集得到的上下文无关随机文法对密码进行预测的结果如下图:
PCFG预测结果


Conclusion

这篇论文第一次通过大量的数据进行实验,讨论了中文网站中用户密码的分布情况,使用了超过一亿个密码的大量数据,建立了两种不同的模型来预测不同情况下的密码可能概率。最终提高了预测准确率达34%。

在进一步的改进中,论文提到了根据现有网站的不同密码规则来创建不同的密码预测模型,同时可以分析密码的语义,以此提高预测准确性。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注