一种新型口令验证身份认证系统的设计
2022-08-31王振铎王振辉
王振铎 王振辉
摘要:身份认证作为信息系统的根本保障,对安全起关键作用。静态口令作为信息系统常用的认证方式,应用简便,但安全性不高。通过分析其安全问题,设计了一种客户端不仅认证口令還须验证登录设备的有效性,同时记录登录信息,以便事后安全审计的身份认证系统,并介绍了关键技术。该认证方式为进行信息系统安全性设计提供了借鉴。
关键词:信息安全;口令;验证码
中图分类号:TP393.08 文献标识码:A
文章编号:1009-3044(2022)17-0004-02
随着信息化技术的广泛普及和应用,企事业单位、政府部门应用了大量的信息系统处理各自的业务。同时,数据量逐年增长,数据管理难度加大,数据的安全问题凸显。如今,数据已经成为公认的财富,用好数据对于社会和单位的发展至关重要。另一方面,非法用户为了获取其他利益,窃取、破坏数据已经成为信息系统安全急需解决的问题。如何保护信息系统的安全,也一直是安全人士研究的热点问题。
俗话说“病从口入”,信息系统安全亦是如此。身份认证作为信息系统安全的首道屏障无疑是信息系统安全的关键。对于企业信息系统较安全需要高的金融、证券、税务等系统,均采用数字证书、Ukey、生物认证等额外的安全技术手段加以保护。而企业级信息系统采用的还是传统的静态口令验证方式,该方式的安全问题很多,造成企业信息系统安全频繁发生[1]。相关文献针对静态口令的安全性问题进行了研究和探讨,结合动态口令技术、生物识别技术、硬件设备加强静态口令的安全,解决了一定的问题,但增加了成本和降低了易用性[2-4]。本文旨在探讨如何加强静态口令认证方式的安全性,提出一种双认证的身份认证策略,在不增加任何硬件设备的情况下,增强信息系统身份认证的安全。
1 静态口令的安全问题
静态口令作为传统的身份认证方式,具有简便易用的优势,但经常会受到以下安全问题的困扰。
第一,静态密码,易被猜测、破解。在企业信息系统中,用户认证往往通过账号与密码的方式。其中,账号往往是员工号、邮箱号、手机号、身份证号等关键信息,这些信息在企业中存在不安全的因素。所以只剩下密码一个因素保证认证的安全,而有些用户往往采用易记的简单密码,形同虚设,黑客容易利用破解工具进行破解。
第二,盗库的风险。数据库已成为对手或者黑客的重点攻击目标。一旦数据库发生泄漏,并且数据库中用户私密信息以明文方式存储,攻击者不仅可以利用该用户的权限操作信息系统,还可以用该用户的账号和密码去其他网站尝试登录,一旦登录成功,就会造成很严重的后果。
第三,“内鬼”作案的风险。在信息系统面对的各种安全威胁中,内部威胁虽然数量上远不及外部攻击,但造成的损失和危害性更大。因为,内部员工要比外部人员更清楚哪些数据是值得窃取的。同时,内部员工的恶意操作更容易被企业组织所忽略,因此内部威胁问题,已逐步成为国内外安全专家重点研究的对象。
第四,单一管理方式。用户的账号、密码等私密数据保存在数据库服务器上。用户私有数据的安全性用户本人无法监管。用户无法确认个人私密数据的安全性以及谁在利用自己的账户信息进行操作。
2身份认证的安全需求
2.1客户端对利用自身账号登录操作的查询权限
客户端用户的登录、操作日志往往是服务器管理人员在数据库审计时才会关注的。这种情况造成了信息的不对称,若发生了安全问题,客户端不能主动知晓,而必须事后通过服务器管理人员告知。所以,若要保证客户端的安全和权益,必须提供客户端用户随时能看到自己登录的情况和使用情况,保证客户端和服务器端的信息对称。这个功能应该在开发的信息系统中加以提供。
2.2 客户端私密数据的加密存储
客户端用户对自己的私有数据,账号、密码、邮箱、手机号等重要身份信息的缺乏管理权限。这些数据存放在数据库中,对应企业级信息系统,多数仍以明文的方式存在。用户数据的管理权限在服务器,如果数据库遭遇黑客攻击以及企业内鬼作案,用户对自己的私有数据财产无任何保护能力。
3认证系统设计
3.1注册和登录功能
身份认证功能,由用户注册和用户登录实现。用户注册时,需要提供账号、密码、邮箱、手机号等个人私有数据。同时,服务器程序会提取能够确定客户端使用设备的唯一标识(例如硬盘、CPU、网卡)等的唯一标识,使得客户端人和设备的信息同时被提取保存到数据库中。杜绝了其他非法用户登录系统的可能性,因为需要人和设备二者完全匹配,用户可以在注册的时候,提供另外一台电脑的硬件地址作为更换电脑时的设备,以免后期更换设备时带来安全检测。
若合法用户更换了电脑,操作信息系统时,服务器会判断出设备是新设备,要求用户提供有效的邮箱或手机号,发送验证码后,验证为合法用户后,才能正常使用系统。其中用户表的主要信息如表1所示。
登录验证功能是系统的核心功能,程序流程如图1所示。
3.2用户操作审计功能
为了增加系统地安全性,在传统身份认证系统只有注册和登录功能的基础上,增加用户登录操作使用信息系统的操作审计功能。文献5中的登录审计功能,只是对用户登录的情况进行记录和设计。为了更全面地记录和审计登录者使用信息系统的情况,便于用户和管理员双方都能够查询系统使用情况,一旦发生安全事件,可以分辨是用户自己操作还是他人盗用用户账号非法操作的问题。有利于用户和管理员双方在信息对称的情况下,对安全问题进行追溯。用户操作审计表的信息包括使用的账号、登录时间、地理位置、操作的行为数据等。通过该日志表,可以浏览和统计某个用户时间段内登录次数、登录位置和操作记录信息。操作审计信息表设计如表2所示。
4 关键技术
4.1 客户端硬件设备唯一标识信息的获取
为了识别客户端使用设备的合法性,系统注册和登录时,均需要采集客户端硬件设备的唯一标识信息,这些信息可以来自硬盘、网卡、CPU等[5]。利用Javascript调用ActiveX插件即可讀取上述硬件信息。利用ActiveX获取客户端硬件标识信息的代码不少,读者可以自行测试,但非IE浏览器,必须按照相关的ActiveX插件方可正常获取。
4.2客户端登录地位
为了保障客户登录的安全性,用户可以在登录审计表中,查看到登录位置信息,确保是自己的登录位置,及时发现非法用户盗用自己账号进行登录,系统提供登录位置的查询功能。该功能采用Javascript采集用户的登录信息,需要调用JQuery库,调用高德地图的GetLocation库的getCurrentPostion获取精确的位置[6]。获得客户端的登录位置后,可以将该信息存入登录审计表,以便后期安全审计。
4.3服务器发送邮件验证码
在系统的“密码修改”“登录位置”变化等情况下,需要发送验证码进行个人身份验证。本文以JSP发送邮件为例。JSP发送邮件需要有JavaMail API,并且需要安装JavaBean Activation Framework。程序代码如下:
<%@ page import="java.io.*,java.util.*,javax.mail.*"%>
<%@ page import="javax.mail.internet.*,javax.activation.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%
String result;
// 收件人的电子邮件
String to = "XXX";
// 发件人的电子邮件
String from = "XXXX";
// 你发送电子邮件的主机
String host = "XXXXX";
// 获取系统属性对象
Properties properties = System.getProperties();
// 设置邮件服务器
properties.setProperty("mail.smtp.host", host);
// 获取默认的Session对象。
Session mailSession = Session.getDefaultInstance(properties);
// 创建一个默认的MimeMessage对象。
MimeMessage message = new MimeMessage(mailSession);
// 设置 From: 头部的header字段
message.setFrom(new InternetAddress(from));
// 设置 To: 头部的header字段
message.addRecipient(Message.RecipientType.TO,newInternetAddress(to));
// 设置 Subject: header字段
message.setSubject("This is the Subject Line!");
// 现在设置的实际消息(需要发送的验证码)
message.setText("登录的验证码信息");
// 发送消息
Transport.send(message);
result = "发送邮件成功";
5系统特点及应用效果
通过双认证方式身份认证方式的设计,总结出方案具有以下优点:
(1)纯软件方式,无须额为的硬件设备。
(2)增加了客户端对自己私有信息的监管度,同时,提升了客户端和服务器端的安全性。
(3)对用户更换电脑设备,操作信息系统进行了安全校验,阻止了黑客对系统的入侵。
本身份认证系统加入原有的MIS系统中,通过使用,用户可以清楚地了解自己使用系统的情况,提升了系统的安全性。
6结束语
信息系统安全与易用性二者本来就是矛盾的。若只考虑系统的易用性,势必会造成系统的安全性低,而系统的高安全性也是以牺牲便利性为代价的。所以,为了保证数据的安全,增加一些可行的安全性是必要的。一旦企业做好了用户数据的防护,不仅能够有效避免数据泄露的危害,还能够切实提升企业信息系统数据的安全性,大幅消除用户对于个人隐私泄露的疑虑。
参考文献:
[1] 张猛,尹其其.静态口令认证技术研究进展[J].网络空间安全,2018,9(7):11-14.
[2] 平林艳.基于人脸识别的身份认证系统的研究与应用[D].北京:华北电力大学(北京),2019.
[3] 王晨宇.基于口令的多因子身份认证协议研究[D].北京:北京邮电大学,2020.
[4] 尚旭哲,王润田,孙颖,等.口令破解与防范技术研究[J].网络空间安全,2020,11(5):98-103.
[5] 王振辉,王振铎.Android手机安全登录系统[J].计算机系统应用,2018,27(2):71-76.
[6] 王梦梅,刘浩.基于jQuery Mobile的温室智能控制系统[J].信息技术与信息化,2021(6):222-224.
收稿日期:2022-03-25
基金项目:陕西省教育厅2020年度自然科学研究项目(SGH18H526),西安思源学院2020年校级科研团队资助
作者简介:王振铎(1974—),男,硕士,副教授,主要研究方向为物联网技术、软件工程等;王振辉(1974—),男,硕士,副教授,主要研究方向为物联网技术、软件工程等。