首页 百科知识 基于硬件指纹的密码生成系统

基于硬件指纹的密码生成系统

时间:2022-10-05 百科知识 版权反馈
【摘要】:尤其是在2011年12月21日CSDN网站600万用户资料被公开之后,个人密码体系的安全性就更加值得重视。2011年12月21日, 国内最大的程序员社区CSDN中600万用户资料被公开, 黑客公布的文件中包含有用户的邮箱账号和密码。在算法上采用SHA-512进行密码的生成, 保证了输入字符串的微小变化可以使得生成密码发生很大不同, 再对SHA-512生成的串进行后期的处理, 在特定位置上实现了字符的修改和替换, 使得密码的强度进一步提高。

北京航空航天大学 彦晓宇 李胜曦 白 璐

指导老师: 金 天

摘 要

当登录不同的网站时, 为了便于记忆, 用户要么使用一个或者两个强度较高的密码, 要么使用多个弱密码, 因此, 如果网站数据库被泄露之后, 用户不得不更改其他应用场合的密码,2011年年底CSDN网站密码以明文形式泄露就是一个典型的例子。 针对于此, 本作品结合用户独有硬件指纹利用SHA-512单向散列函数的特性, 用户只需记忆简单字符串, 通过简单改变, 就可以生成不同的高强度密码,应用在不同场合, 保证泄露一个不至于影响个人全部密码, 提高了互联网时代个人密码体系的安全性。

关键词: 硬件指纹; 密码生成; SHA-512; 密码强度

Password Generation System Using Hardware Fingerprint

Abstract

When login different websites, users would like to use one complex password or use several simple passwords,in order to remember. Therefore, users have to modify the other similar passwords if one of their passwords has been leaked, for a typical example, the CSDN website's database being leaked in the year-end of 2011. Aiming at this situation, using the one-way hash feature of SHA-512, our project combines the initial password, special words and hardware fingerprint to generate a medium password, and then cut, join in and replace some bits of the medium password in order to meets user's requirements according to a rule. On the other words, users only need to remember simple initial password, and then, different complex passwords can be generated when a little change has been done. Naturally, strength of the personal password system in the Internet era has been improved.

Key words: hardware fingerprint; password generation; SHA-512; password strength

在我国,随着人们生活水平的不断提高,互联网应用在人们的生活之中扮演着越来越重要的角色。 在使用不同的互联网服务时,使用者往往需要注册账号。但是当使用者需要注册的账号越来越多时, 如何保证个人密码的安全性就显得尤为重要。 尤其是在2011年12月21日CSDN网站600万用户资料被公开之后,个人密码体系的安全性就更加值得重视。作者以硬件指纹结合相关函数, 设计出一种可用于提高个人密码体系安全性的系统,针对目前个人用户的密码体系缺陷进行修补,从而提高个人密码体系的安全性。

1 常见的个人密码体系分析及系统综述

1.1 CSDN网站密码泄露事件分析

2011年12月21日, 国内最大的程序员社区CSDN中600万用户资料被公开, 黑客公布的文件中包含有用户的邮箱账号和密码。 与此同时, 人人网、 开心网等诸多网站也要求用户更改密码。 在当前的个人密码体系之下, 如果某个网站受到攻击或者因为其他原因, 使得其用户数据被公开, 用户的账号也就随之泄露, 账号中用户的个人信息很容易在各种渠道被传播。

1.2 常见的个人密码体系

在当今这个网络时代, 每个用户都会拥有很多网络账户和密码。 大多数用户为了便于管理和记忆,习惯只用一个常用的网络用户名、 邮箱和密码; 或者使用某些简单的弱密码, 即位数较短、 包含符号较为单一的密码, 来登录一些用户认为不是很重要的网站。 这样, 如果其中的任一网站泄露用户的常用复杂密码, 所有的网站账户都面临着安全威胁。 同时, 如果使用简单易记的密码, 则容易被字典攻击; 如果使用多个复杂的密码, 则很难记忆。

综合个人对密码需求的分析, 可以得出一组较安全的用户密码的特征为:

(1) 便于使用者记忆;

(2) 复杂程度高, 即密码位数长、 包含字符种类多;

(3) 这一组密码相互之间差别大;

(4) 不慎丢失密码后可以找回;

(5) 具有隐私性, 不含有包括使用者个人电子邮箱或身份证号等信息。

1.3 系统综述

针对上述个人密码的安全问题, 设计出基于ARM的个人密码加强系统。 该系统具有以下特色:

(1) 软件植入硬件中, 保证了系统本身的安全性;

(2) 创新了一种个人密码保护体系, 使用者只需记住一个密码 (A串), 体系可以在不同网站生成不同密码, 提高了安全性;

(3) 通过读取U盘ID, 保证了只有U盘的持有者才能生成具有U盘特征的密码;

(4) 安全中心具有数据备份、恢复的功能,数据备份是指在可信任终端之上,以加密形式存储备份U盘ID的数据。数据恢复是指当U盘丢失之后,可进入可信任终端,读取备份文件并更改绑定的U盘;

(5) 安全中心具有强度测试的功能, 绑定的数据库中存储着常见的弱密码以及CSDN中的用户密码, 通过强度测试可以给出相关的密码设定建议。

2 系统方案设计

本系统通过用户输入简单的记忆串, 选择所需登录的网站, 以及U盘ID的识别, 将这三者作为初始值, 通过安全散列算法——SHA-512生成加强的密码, 这是本系统的登录端。 同时本系统的安全中心具有备份、 还原、 密码强度测试等功能。 安全中心的备份功能将U盘ID以AES加密的形式存储。 还原功能在U盘丢失后发挥作用, 还原功能可以自动填写U盘ID, 从而使用户登录网站后, 用新的U盘生成新的密码, 将原密码修改成新的密码。 密码强度测试功能基于本系统所捆绑的数据库, 该数据库中存储着大量的常见密码, 如果用户的密码与数据库中的密码有重复的, 则提供相应的建议。

在算法上采用SHA-512进行密码的生成, 保证了输入字符串的微小变化可以使得生成密码发生很大不同, 再对SHA-512生成的串进行后期的处理, 在特定位置上实现了字符的修改和替换, 使得密码的强度进一步提高。 这样, 就可以通过记忆简单的字符串, 生成复杂的、 无规律的、 高强度的密码。 同时硬件指纹的引入可以保证在简单字符串泄露的情况下, 仍然保证别人无法生成原有密码。 密码的恢复功能通过在可信任设备上应用AES256加密存储硬件指纹, 可以在硬件丢失的时候, 完成密码恢复工作。

2.1 纯电脑端系统方案

2.1.1 纯电脑端生成密码的实现方法

1) 将初始密码和特征串, 以及插入硬件的硬件指纹相拼接。

2) 对拼接好的字符串进行SHA-512散列运算, 生成原始密码串。

3) 对生成的原始密码串进行字符替换, 并根据设置实现是否添加特殊字符。

4) 显示生成的最终密码。

2.1.2 纯电脑端备份硬件指纹以及恢复密码的实现方法

1) 在电脑上插入硬件并提取插入硬件的硬件序列号, 通过AES加密存储在可信任设备上。

2) 恢复密码时, 先将加密存储的硬件指纹解密, 再与初始密码和特征串拼接。

3) 重复密码生成和处理过程。

2.2 ARM板系统方案

2.2.1 结合ARM板的密码生成的实现方法

1) 电脑上将输入的初始密码和特征串拼接, 确定生成位数和是否包含特殊符号。

2) 电脑端软件通过串口通信将生成密码所需要的信息发送至ARM板, ARM板将其上插入硬件的硬件指纹提取, 并和传输来的数据进行拼接。

3) ARM板端软件通过SHA-512进行计算和处理。

4) ARM板通过串口将生成的密码传输到电脑。

5) 电脑接收并显示生成的密码, 并自动复制到剪贴板。

2.2.2 结合ARM板的备份硬件指纹以及恢复密码的实现方法

1) 在ARM板上插入硬件并提取插入硬件的硬件序列号, 通过AES加密存储在可信任的设备上。

2) 恢复密码时, 先将加密存储的硬件指纹解密, 再与电脑端传输的初始密码和特征串拼接。

3) 重复密码生成和处理的过程。

4) ARM板通过串口将生成的密码传输到电脑。

5) 电脑接收并显示生成的密码, 并自动复制到剪贴板。

3 系统软硬件实现

3.1 密码生成的实现过程

3.1.1 PC端生成密码过程

当用户打开登录端后, 会有三个文本框, 分别为初始密码, 网站特征码, 生成结果。 初始密码栏要求用户输入6~32位的密码, 网站密码栏要求用户输入与网站相关的数字或字母, 若这两者中的任一者的输入值不符合要求, 点击生成密码按钮时,都会相应地弹出对话框, 提示用户初始密码或网站特征码太短, 需要重新输入。 除此之外, 生成密码还需要插入U盘以读取U盘ID, 如果没有插入U盘, 就点击了生成密码按钮, 则会弹出对话框, 提醒用户插入U盘。

3.1.2 ARM板生成密码过程

当用户在PC端输入初始密码,网站特征码, 生成的位数, 是否有特征字符串等信息, 通过串口通信,将信息传给ARM板, ARM板将以上信息以及读取到的移动设备ID综合起来,生成最终的密码。 再通过串口通信将生成的密码传给PC端, PC端接收到信息后将密码显示在界面中。

生成密码的过程如图1所示。

图1 PC+ARM端生成密码流程图

3.2 备份、 恢复功能的实现过程

备份和恢复功能是为了避免当用户丢失移动设备后, 无法读取移动设备的ID而导致无法生成密码。当用户打开安全中心, 点击备份硬件指纹按钮时, 系统会读取移动设备的ID并以AES加密的形式存储。而当用户丢失移动设备后, 进入安全中心, 点击恢复密码按钮, 则会弹出恢复密码的对话框, 恢复密码的界面利用已存储的硬件指纹恢复用户密码。 其中的初始密码、 网站特征码需要输入, 而在恢复功能下, 不需要插入移动设备, 在恢复密码界面中, 点击恢复密码按钮后, 系统会自动读取以加密形式存储的移动设备的ID并进行解密, 解密出的移动设备的ID与初始密码、 网站特征码一起生成最终的SHA-512加密的密码。

备份以及恢复功能的流程图如图2和图3所示。

图2 备份功能流程图

图3 恢复功能流程图

4 测试结果与分析

测试设备为Window操作系统笔记本1台, ARM板一块, 数据线一条, SD卡两个, U盘一个。 测试环境如图4所示。

图4 测试环境示意图

最终测试结果列表如表1和表2所示。

表1 纯电脑端密码生成测试结果

表2 PC+ARM端密码生成测试结果

5 总结

5.1 作品特色

1) 本作品组合应用SHA-512算法和AES-256算法。 SHA-512算法是安全散列算法, 为一种单向散列函数, 由输出不太可能推算出输入, 这就保证了由最终密码无法得到初始密码。 另一方面, 以现今最为强大的计算机为标准, 破解AES密钥的时间约为几十亿年, 这保证了加密数据的安全性。

2) 本作品结合了硬件指纹, 将硬件指纹作为原始串的一部分, 硬件设备可以作为身份的象征, 确保了本系统的安全性。

3) 将网站特征码作为原始串的一部分, 这样对应于不同的登录网站或者登录软件, 可以生成不同的高强度的密码, 实现了一个简单串衍生出多个复杂强密码的功能。

4) 可以进行碰撞测试, 保证密码的安全性; 为用户提供了多达60多万条的弱密码, 以防止最终的密码是一个弱密码, 进一步确保了密码的强度。 建立起一套比较完备的密码生成体系。

5) 用户只需要记忆简单的字符串, 便于用户使用, 系统的易用性很强。

6) 本作品有两个版本, 可以在只有电脑的环境下使用, 也可以将电脑与ARM开发板结合生成密码, 在只有电脑的环境下使用安全性不强, 电脑上的程序可能被黑客进行代码分析、 破解。 所以另一版本将系统移植到ARM板中, 以硬件为媒介确保了系统的安全性。

5.2 应用前景分析

本系统主要可用于以下三个方面:

1) 用于加强个人密码体系, 对于个人而言, 使用本系统用户可以针对不同网站和应用程序, 通过改变特征串, 生成不同密码, 防止一个密码泄露后全部个人密码泄露, 用户只需记住一个简单串, 就足以保证每个网站的密码都足够复杂并且有很大的区分度。

2) 用于保密单位的密码更换, 保密单位要求每十四天更换一次密码, 并且对密码强度有较高的要求。 无疑增加了员工的记忆负担。 而使用本系统, 通过特定硬件和输入, 可以生成完全无规律的、 差异很大的密码, 同时便于记忆。 为保密单位提供方便、 足够复杂的密码保护。

3) 防御字典攻击, 本系统可以对最后生成的密码进行评价并与CSDN库进行碰撞, 保证生成的密码不会是弱密码达到防御字典攻击的目的。

本系统的备份与恢复功能保证了SD卡或者U盘等硬件设备丢失后仍可以登录账户,使整个体系更加全面。

就未来的应用前景而言, 可以将本系统开发为一个嵌入在手机中的应用系统, 将手机的存储卡的序列号作为硬件指纹, 方便使用。

专家点评

作品针对传统个人密码易于泄露问题, 利用SHA-512单向散列函数的特性, 将初始密码、 特征码和硬件指纹相组合, 应用SHA-512算法生成初步的字符串和对字符串进行剪切拼接和字符替换处理,生成符合用户需求的密码, 并给出生成密码强度的评价。

本作品完成的系统通过AES-256加密算法在可信任的设备上存储硬件指纹, 解密之后配合相关生成信息进行密码恢复, 可以避免硬件丢失或损坏造成硬件指纹无法提取。 系统引入ARM板部件, 使得密码生成模块和安全中心模块均有纯电脑版和PC+ARM版。

作品对提高个人密码体系的安全性具有实际应用价值意义。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈