密码管理器系统的设计
2020-02-03吴一尘
吴一尘
摘要:随着计算机网络在人们的日常生活中所占的比重越来越大,输出信息环境的安全就变得至关重要。在信息交流传输中,常面临信息被截获,中断,篡改,伪造的威胁。为保障信息安全,密码加密因而出现,把明文通过密匙加密变成密文传送的方法就更加安全。为了使加密的安全系数更高,更多的密码算法不断的被创造,与此同时,密码被破解的威胁就变得越来越普遍。针对这种现象,人们采取加入字母字符、用繁杂的方式组合密码等方法,为自己的讯息创造更高的安全系数。这也让密码的组合方式更加多样,而记忆密码的负担也愈发沉重,一个方便记忆、设置密码的工具就变得帮助巨大。本文以人们丢失密码的具体情境为出发点,设计一个既可以记忆密码又可以保证安全的密码管理器以解决这一问题。
Abstract: With the increasing proportion of computer networks in people's daily lives, the security of the output information environment becomes critical. In the exchange of information, we often face the threat of interception, interruption, tampering and forgery of information. In order to ensure the security of information, password encryption has emerged. It is more secure to convert the plain text into encrypted text by encrypting it with a key. In order to make the encryption more secure, more cryptographic algorithms have been continuously created, and at the same time, the threat of password cracking has become increasingly common. In response to this phenomenon, people have adopted methods such as adding alphabetic characters and combining passwords in a complicated manner to create a higher security factor for their own messages. This also makes the combination of passwords more diverse, and the burden of remembering passwords is getting heavier. A tool that is convenient to remember and set passwords has become hugely helpful. This article takes the specific situation where people lose their passwords as a starting point, and designs a password manager that can both remember passwords and ensure security to solve this problem.
關键词:密码;密码安全;应用密码;密码管理器
Key words: password;password security;application password;password manager
中图分类号:TP311.1 文献标识码:A 文章编号:1006-4311(2020)02-0202-03
0 引言
随着时代的不断发展,信息化的进程也在不断地加快,人们对各种信息通讯工具的使用愈发频繁,安全,则是随之而来最重要的问题。密码是安全的核心,而各大软件、网站为了保障用户安全,在限定密码数字的同时,常常还会要求大小写字母,字符,这也就加大了记忆的难度。随着人们的生活日益丰富,所需要设置记住的密码越来越多。单一密码安全系数不高,而不同网站设置不同的密码所需要的记忆量越来越大,通常用记忆力记住这些密码是最为常见的方法,显著的弊端便是记混或遗忘带来的不必要的麻烦。而在本子上记则更为麻烦。这时,有一个辅助的工具就会方便许多。现实中常用密码管理软件作为辅助,但密码管理软件的一大缺陷是当在别的电脑上需要登录时,还需再下载一个密码管理软件,很不方便。本文主要介绍了一种新式的便携式密码管理器,该密码管理器侧重于实际应用,会解决密码复杂却安全系数不高,记忆量大等实际问题,且简单方便,便于操作。
1 密码概述
1.1 什么是密码
密码在字典里的定义有两种,一是在约定的人中间使用的特别编定的秘密电码或号码(区别于“明码”),二是对他人保密的号码。而此处的密码更偏向于二者的结合定义。在应用密码学上,密码作为一种混淆视听的技术,使用者希望将正常的(可识别的)信息转变为无法识别的信息。但这种无法识别的信息部分是可以再加工并恢复和破译的。密码在中文里是“口令”(password)的通称[1]。密码就是把用公开的、标准的信息编码表示的信息通过一种变换手段,将其变为除通信双方以外其他人所不能读的信息编码,其是按特定法则编成,用以对通信双方的信息进行明密变换的符号,这种独特的信息编码就是密码[2]。密码有着悠久的历史,在很早以前就用于秘密信息的传递。在近代战争中,信息传递中使用密码则更为常见普遍。在现代,随着计算机技术和信息革命的深入发展,使用密码的应用领域也更加广泛,在数据信息签名和安全认证等方面也会应用到密码。这样,密码的应用也不再只局限于军事战斗等传统方面,而是已经出现了密码应用的社会化和个人化趋势。
1.2 密码学及其相关概念
密码学是研究编制密码和破译密码的技术科学。探究密码变化的规律,研究各种加密方案。编码学是主要应用于编制密码来保证通信安全的一门学科;而在不知道密码的情况下,通过解析技术破译密码的,属于密码解析,即通俗所称“破译”,这两方面总称密码学。两者相互支持,相互依靠,密不可分。密码学的基本思想则是通过改变顺序,或用字符替代,使原始有规律的信息变成杂乱无章的代码,以保证信息传输过程中的安全因素[3]。因为双方事先都了解了加密方式,所以可以对加密后的信息进行恢复。而随着技术的不断革新,密码学的应用也不仅限于信息的加密,逐步扩展到了对身份的识别和电子认证等方面。在密码学范畴里,原始消息称之为明文,加密后的消息称之为密文,从明文到密文的变化过程称之为加密,从密文到明文的转换过程称之为解密。适用于加密解密的广义函数称之为密码算法。
2 密码管理器
当前市面上已经有密码生成器,密码查看器等等,而我们所设计的密码管理器还更类似于二者的一个结合。密码管理器与之前相比主要有三个优点,一是其体积不大,方便携带,且操作简单;二是在初次注册时,在密码管理器打开的界面上,有一个强制更改输入且需要记住的主密码,双重保障。成功更改后,密码管理器会不断地进行后台监测,一方面有账号登录需要密码就可以立即检测到,另一方面如果在公共场所使用时可以检测到电脑本身是否携带病毒,如果本身电脑环境危险,就会弹出窗口提示不要登陆。另外,如果各软件网页的密码设置超过一个月,就会弹出小窗提示是否重置;三是不需要大量的记忆就可以确保安全系数高的密码,在日常生活中省去了很多麻烦。其外形大小类似于一个U盘,有些不同于现今的许多需要下载的密码管理软件,它主要以一个便携的硬件形式存在,使用时只需接入电脑的插口。
3 密码管理器系统的实现
3.1 系统功能设计
在初次使用時,会强行要求修改出厂设置的主密码,修改时限制了重置密码必须十六位且包含数字、字符、大小写字母,确保安全性。其主密码的加密解密采用透明加密技术,即只有在插入密码管理器硬件的条件下,输入主密码才能将其解密,打开软件主界面。比传统的对称加密技术更为安全有保障。插入后密码管理器会不断检测软件和网页的打开,并判断是否有多个网页或软件打开,其网页或软件是否存在多个账号需要选择。当初次打开有设置密码需要时,便会自动弹出窗口,询问是否填入密码,只需点击确定按键,就可以自动填入。下一次打开再次需要输入密码时,密码管理器就会自动输入。其具体流程图如1所示。
3.1.1 软件主界面
在修改主密码后进入密码管理器的主界面(图2),主要包括登录模块、分组管理模块、记录信息模块和历史信息模块。
3.1.2 初始登录模块
该模块包括初次使用密码管理器时,主密码的重置,以及找回主密码问题的设置。在初次使用密码管理器时,会强制要求重置主密码(其中要求包括十六位的字母、数字、符号)。系统会检测是否符合要求,检测符合要求后,可以选择设置找回密码问题或与手机账号绑定的方法来维护主密码安全。全部操作完成后,会进入到主界面。一系列操作的具体流程如图3所示。
3.1.3 分组管理模块
在打开一个有设置密码需要的网页或软件之后,在分组管理模块会自动生成该网页或软件对应的空白文件夹,方便分类存储。分组管理模块的分类文件夹储存避免了密码储存过多的混乱,使密码有序排列,方便查找。其在分组信息模块生成的空白文件夹中,再分组储存不同网页账号密码经过加密后的密文,使得之后的登录操作更加简单和快捷。
3.1.4 记录信息模块
此模块主要是在记录各软件网页设置的密码账号,按分组管理模块在之前分好的组进行储存。并且还可以便于在下一次登录时直接复制链接网址和密码,点击过后直接登录,不必再去搜索网址和麻烦密码管理器检测。
3.1.5 历史信息模块
此模块的主要功能是查看之前不同网页软件的历史登录时间、方式、所使用设备。对历史信息的查看,可以在主界面上双击历史信息一栏,在查看时一旦发现异常,就可以在第一时间更改密码,保证信息安全。
3.2 数据库设计
通过对密码管理器的工作流程分析,分析数据库存储结构。在数据库中,主密码和记录信息是最为重要的两个模块,主密码包括标识、创建时间、密码;记录信息则包括标识、创建时间、帐号和密码。主密码只是在第一次登陆时强制更改,之后如无特殊更改不会变化。为方便找回,除此主密码保护还可以设置一个找回问题及答案或绑定手机接收验证码。在记录信息中储存密文,每三个月都会弹出窗口建议修改密码,如果选择确定,会自动更改重置,重新储存并清空原先储存。
4 总结与展望
密码管理器在我们的日常生活中发挥着重要的作用,省去了记忆大量密码的脑力劳动时间,又保证了用户使用时的方便快捷和充分的密码安全,给日常生活带来了很大的便利。本文主要介绍了密码管理器的基本构想,其具体的软件界面和各个模块的作用、操作流程。密码管理器虽然改进了之前普通应用密码设置的不足,但也存在着很多不足。例如密码管理器在手机上的实现应用仍比较困难,密码算法的变换不够灵活,难解的算法储存将是之后提升的方向。
参考文献:
[1]卢开澄,计算机密码学[M].清华大学出版社,1990.
[2]邓安文.密码学[M].中国水利水电出版社,2006.
[3]江媛.密码学在计算机网络安全中的应用分析[J].2017:83-84.
[4]温继芳.构建属于自己的密码体系[J].电脑报,2018.
[5]冯登国.国内外密码学研究现状及发展趋势[J].通信学报,2002.
[6]雷栋.基于Android密码管理器的安全输入法研究与实现[J].信息技术,2017.
[7]曹珍富.密码学的新发展[J].四川大学学报,2015.
[8]丁云骢,李曦,王钰鹭.密码学综述[J].研究探讨.