论文部分内容阅读
随着社会信息化进程的不断推进,互联网在人们的日常生活中发挥越来越重要的作用。很多时候,人们都是都通过输入用户名、密码的认证方式来登陆相关应用,如果用户的密码失窃,用户的私密数据就会被泄露。因此,对用户密码的保护显得非常重要。而用户的密码通常会首先被哈希函数哈希,然后存储在服务器的密码文件中。但是,近些年,服务器中的密码文件经常被攻击者窃取,加之随着计算机计算能力的显著增强,攻击者能够相比以前更加轻松地对密码哈希值进行破解,从而大量的用户的密码数据遭到了泄露。在这种情况下,怎样来保护用户的密码数据?本文中,我们设计了一个分布式的密码保护系统,命名为Phoney。Phoney假设用户使用用户名、密码进行认证的情形下,研究怎样保护服务器中的密码数据。Phoney使用门限秘密共享来对用户的密码哈希值进行加密,从而存储在服务器上的值不是原始的哈希值,攻击者不能使用原来的套路来破解出密码。门限加密系统需要一定权限的用户来解密,如果攻击者通过某种方法攻破了门限加密系统,此时,Phoney应用伪密码来迷惑攻击者,使得攻击者攻击成功的概率大大降低。本文首先概述了密码保护领域的相关背景和研究现状,分析了各种方法的优劣。接着重点介绍了门限秘密共享的基本思想、概念和原理,举了一些例子,为后面门限加密系统的理解打好了基础。然后介绍了伪密码技术,着重讲述了Ari Juels提出的Honeywords的具体方法。随后,我们利用门限加密系统和伪密码技术设计了Phoney,分析了Phoney的系统机构,怎样进行数据存储、用户怎样认证、加密系统怎样进行解锁以及怎样创建用户和修改密码等。接着,用Python编程设计了一个原型系统,分析了设计的大致过程,关键技术等等。最后,对这个原型系统进行了时间开销和存储开销方面的分析,对它的安全性进行了详细分析。根据实验结果,可以看到,Phoney在大大提高安全性的同时,时间开销和存储开销并没有显著提高。