当前位置:首页 期刊杂志

基于混合加密技术的大众密码管理系统的设计与实现

时间:2024-07-29

施 勇

(淮南师范学院 计算机学院,安徽 淮南 232038)

随着计算机与网络技术的发展,各种网络平台摆在了用户面前,比如网上电子银行账户、支付宝账户、淘宝或京东账户、政务平台账户、学习管理平台、公积金与社保账户等,而这些平台的登录密码成为核实用户信息的主要途径,每位用户都会产生大量的账号和密码口令。密码的安全关系到用户信息的安全,如何妥善保管海量账号密码,并对非法入侵进行及时的管控,已经成为个人隐私安全的突出问题。

1 现状分析

近年来互联网频发网络安全事件,如2019年上半年国内250万人脸识别数据遭泄、2018年Facebook 8700多万用户数据遭泄露、2017年京东内部员工涉嫌窃取50亿条用户数据、2016年顺丰内部人员泄漏用户数据、2013年国内酒店2000万入住信息遭泄露等事件,其中不乏密码泄露事件,大量用户账户和密码信息面临潜在的安全风险,并且有的风险能够给大众带来巨大的打击。为消除或降低这些风险隐患,系统服务提供商和用户本身都采取了系列的对策。比如平台自身的多重防护与验证,用户本身的账户密码管理等。目前账户的安全和密码口令的安全极度需要安全管理。排除手机号、身份证号、QQ号等类似的账户,多数的账户的管理可以归属到密码口令的管理中去。本文主要针对用户密码口令的管理展开研究。

目前用户管理密码的方式主要是保存、使用、增删与修改密码。调查研究得出,常见大众密码管理包括以下几类。一是传统电子文本记忆,直接将明文密码记录在对应的电子文件中,此类风险最大也是目前使用率最高的一种密码管理途径;二是使用本地的密码管理工具,因为在本地进行管理需要多重安全机制进行防护,所以会出现操作与管理的复杂性,增加使用与管理的难度,日常使用的便捷性遭遇挑战;三是使用在线密码管理工具,用户的众多口令存储在云服务中,通过一个主口令进行管理,这对主口令的安全程度及云安全的要求更高[1-2]。并且本地管理和在线管理的软件较多要求用户进行软件本地安装,或采取C/S模式运行,这同时对用户的本地运行环境提出较高的要求。

面对本地管理的复杂性、在线管理的安全性及运行环境的高要求现状,本文采取本地管理与在线管理相结合的方式,描述开发轻量级的密码使用管理系统,从用户当前管理多口令的现状出发,使得大众用户方便在普通计算机或移动端中进行管理,提升大数据时代个人信息的综合安全防护能力,防范个人信息风险[3]。本研究团队开发的密码管理系统,可以为用户提供友好的管理界面,快捷的管理功能,方便、准确的记录用户名与密码,以及各种有效的信息。对于大众而言,账户密码口令管理更加安全、方便、快捷。

2 系统定位

2.1 使用本系统仅需要一个密码就可以记住平时日常使用的全部密码,采用MD5twithRSA双重保险,保证用户主密码安全,使用AES轻量级且安全度高的加密算法,极大的减轻了服务器负载。

2.2 提醒用户更换主密码,防止密码泄露,保证主密码安全,随即生成高复杂度的口令密码,满足用户口令复杂度要求,提升用户口令安全复杂级别。

2.3 目前大多数密码管理软件采用C/S架构,移动端则对应的是 APP/服务器[4]。占用电脑手机内存,且涉及侵犯用户个人隐私的权限,对用户生活带来了不便影响。本系统的定位是B/S架构,大众用户只需要从浏览器端登录即可管理,将系统功能实现的核心部分集中到服务器上,避免用户再去下载软件系统,简化了系统的开发、维护和使用。

3 设计与实现过程

3.1 技术支持

本系统的整体架构采用B/S框架,用户账号口令的主密码验证通道为MD5和RSA算法,运用AES算法和BASE64编码将用户的信息数据加密后存入Mysql数据库。系统页面搭建采用HTML5+CSS和Vue框架将用户存储信息呈现出来。为充分保证用户信息传输安全,搭建服务器所采用的是Tomcat 8.5.39中的SSL/TLS协议。

3.2 环境搭建

本系统测试环境由硬件环境和软件环境构成。服务器配置TOMCAT 8.5.39,操作系统WIN10,内存16G。

3.3 技术实现

为充分保障系统的长期使用性、稳定性和后期维护与升级的需要,遵循规范化的软件工程流程。因喷泉模型是一种支持面向对象的开发模型,具备迭代和无间隙的特征,本系统采用喷泉模型进行开发。经过多次反复的设计、代码加工、完善与修订,多个功能在每一次的迭代更新中即时调试系统,同时保障开发活动之间的边界可交叉、融合。

图1 系统模块

系统的核心功能模块有安全登录、数据加密、以及权限查看等模块(见图1)。在用户登录模块中,主要实现的功能是大众用户的身份识别与安全验证;在用户信息加密模块中,主要实现的功能是大众用户账户口令的加密及新操作信息的加密等。在显示模块中,主要实现的功能是可以直观简便的在屏幕上显示结果。

3.3.1 用户登陆认证

本系统采用MD5和RSA技术作为用户登陆的认证技术,系统会为用户服务器与数据库服务器生成RSA密钥对,其中用户服务器持有的是公钥,数据库服务器持有的是私钥。用户首次登入注册账户口令的时候,MD5数字摘要将会存储到数据库服务器中[5]。当用户请求登陆时,将数据库服务器用户账号信息通过私钥签名传入用户服务器中,用户服务器通过公钥验证后,与用户当前提交系统的账号和密码的MD5值对比,验证失败时的用户将会弹出拒绝提示,一旦对比成功后用户即可成功登陆系统进行操作。实现流程:

(1)初始化密钥对,生成RSA密钥对,其中RSAPublicKey作为公钥,RSAPrivateKey作为私钥。

(2)执行加密,数据库服务器中的数据将进行私钥加密传输,然后传递到服务器中。

(3)验证签名,用户服务器将数据库服务器中传来的数据通过公钥验证后与当前用户输入系统的信息比对是否一致。

3.3.2 自学习异地登陆

当用户登陆时,系统向服务器提交用户公网IP地址,并检查用户登陆地址是否在IP表中。若用户登陆的地址在IP表中允许用户登陆系统,并更改IP表中该地址的最后登陆时间。反之,需要用户输入在用户注册时系统生成的专属密钥,通过User表进行匹配密钥是否正确,如果匹配成功的话,用户即可登录本系统,并且IP地址将会增加到IP表中。如果遇到密钥匹配失败的情况,系统将会拒绝用户登录。IP表中通过时间字段判断当前时间和最后一次登陆时间是否超过一个月,当超过一个月时删除记录。这样既可以减少表的记录提升工作效率也可以间接加强了异地登陆安全认证问题。

3.3.3 数据加解密

本系统采用AES算法和BASE64编码将用户数据加密存入数据库,当用户需要查看时将数据进行解密显示在浏览器上,方便用户随时随地查看。

(1) 实现流程:为每个用户生成密钥串KeyGenerator.getInstace(“AES”)不同用户生成密钥存放在文本文件中保存起来,那么在操作管理的过程中,文本文件的数据将会被读出并且被重新生成新的密钥,方便不同的用户进行加密解密。

(2) 将用户数据加密:采用cipher.doFinal函数对用户信息进行加密成字节数组,将字节数组中信息采用BASE64编码转换成字符串存入数据库中。

(3)用户数据解密:将用户加密的数据从数据库中取出,采用BASE64解码生成字符数组,然后通过cipher.doFinal函数将数据解密,传到前端给用户显示数据。

3.3.4 用户数据增删与修改

前面主要围绕AES对数据的加解密展开论述,下文将阐述数据库对数据的存入与删除等步骤的管理实现。

(1) 用户添加

其中DoPost函数接受前台发来的信息。将用户从浏览器添加到账号信息经过封装好的AES加密函数加密后进行SQL语句查询,看用户需要存入的信息是否存入到了数据库。如果库中没有用户要存储到数据库的信息,采用sql语句的insert命令存入到数据库中;如果库中已经存在目前要存储到数据库的信息,则由前台提醒用户插入重复。这里本系统为用户提供复杂密码生成密钥算法,帮助用户设置更复杂的密码,极大的保证用户数据安全。

(2) 用户删除

将用户从浏览器上输入的要删除的账号信息,传入后台,经过AES加密进行加密,采用sql语句进行查询,进行匹配库中是否有用户要删除的数据。如果有采用sql的delete语句进行删除,假如库中没有用户要删除的账号信息,则由前台提醒用户删除失败,数据中没有要删除的数据。

(3) 用户基本信息修改

这个模块主要功能就是对用户录入系统的信息进行修改,避免用户进行删除插入的这种多余操作,方便用户使用。将用户前台传入的备注信息和账号信息传入后端服务器,有服务器将用户传入的数据进行AES加密,与数据库中匹配已存入用户的数据,如果匹配到用户存在的的信息,将用户修改的信息保存到数据库中,如果库中数据与用户需要修改的数据不匹配,由前台提醒用户数据不在系统中,修改出错。

3.3.5 用户查询

先将保存在服务器中的用户个人密钥取出,获取用户专属的AES密钥,用于下一步解密操作。采用SQL语句select语句将该用户存在数据库中的数据进行解密取出,由前台VUE框架进行显示让用户查看。

3.4 结果反馈

对每个主要功能模块,顺序操作,逐一实验,最终表明本系统操作简单明了,大众用户也可以很轻松容易的掌握本系统,具备安全性与普适性。

4 创新与展望

4.1 创新

创新访问架构方式。本系统采用B/S框架作为设计核心,现有的C/S架构的密码管理软件区分开,保证用户可以随时随地查看自己的信息,不需要安装客户端或APP占用电脑或手机的空间。也不需要客户端和APP的那样像让用户授权权限,让用户能够更好保护自己的隐私[6]。

创新加解密方式。本系统采用MD5和RSA加密,通过MD5数字签名将用户信息进行签名在采用RSA非对称加密进一步保护用户数据安全,为用户主账号信息上了双层锁,进一步保护用户安全。采用MD5withRSA加密会比多层MD5加密和RSA加密更加安全可靠;用户信息存储采用AES加密,这种轻量级且安全度高的加密会比非对称加密运算速度更快,且安全性高。

提升用户操作体验。使用本系统的用户,只需记住自己的主密码就可以,就可以进入系统进行账号密码管理,且系统提醒用户更换密码主密码安全。系统操作简单,将大量复杂加密数据交互操作封装到底层,真正做到面向大众用户,只需要会计算机基本操作,就可以对系统进行信息录入,修改和删除,自带复杂密码算法,更好的帮助用户保护自身账号。

4.2 展望

本系统拟在以后的研究与实验中计划能够结合硬件实现加密方式,形成一体化硬件与软件的密码管理工具箱,并不断地丰富与增加多种模块,更好地提升系统安全性与用户操作体验,为互联网环境下用户的隐私信息安全保驾护航。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!