APP下载

基于USBKey的增强型登录认证系统的设计与实现

2015-03-03张小莉

关键词:增强型客户端密码

张小莉

(山西轻工职业技术学院,山西 太原 030013)

基于USBKey的增强型登录认证系统的设计与实现

张小莉

(山西轻工职业技术学院,山西 太原 030013)

分析了Windows操作系统自登录方式的安全隐患,对Windows的身份认证机制进行深入研究,给出基于USBKey的增强型登录认证系统方案,最后通过C++编程实现.系统可以阻止非法用户登录Windows操作系统,增加了系统的安全性,提高了用户信息的保密性.

USBKey ; C++;登录认证系统;安全性

0 引言

本文就目前使用的Windows桌面操作系统自登录方式存在安全隐患的问题,提出了基于USBKey的Windows操作系统增强型登录认证系统,并用C++程序实现了该系统.

USBKey实际上是一种直接使用在个人电脑USB接口上的智能存储卡设备,由于其携带方便,安全性高,应用广泛,运算能力强等特点,使其成为现在电子商务以及电子政务领域广泛使用的加密设备.研究和设计一套基于USBKey的Windows操作系统增强型登录认证系统有着极高的市场价值和应用前景.

1 Windows身份认证机制

是一种使用Windows系统的安全用户及远程安全主体计算机通过一些诸如保存的口令字,登记的指纹等秘密信息来进行安全主体合法身份的认证机制.Windows系统支持本地身份认证和网络身份认证两种方式.其中用Winlogon进程,GINA图形化登录窗口与LSASS服务通过协作来完成本地身份认证过程.

2 系统结构设计

2.1 系统功能分析

系统主要由三部分组成:控制端,客户端和DLL(动态库).本系统实现的登录Windows操作系统的方式也有三种,第一种是Windows自登录方式,第二种是使用硬件USB设备的登录方式,第三种是使用PIN码的登录方式.

2.2 系统流程图

控制端获取USBKey设备ID和验证码将其写入该USB设备进行注册,并将注册的信息传送到客户端,客户端把该信息人写入配置文件保存, Windows操作系统加载读取了配置文件信息的DLL模块,且提示用户需要注销客户端计算机使程序生效(注意:当第一次加载DLL模块时需要重新启动客户端计算机,以后只需要注销客户端计算机即可).

Windows操作系统启动过程中加载SSRUsbkeygina.dll文件,该文件会替换系统安装目录文件下自带的Msgina.dll.Windows操作系统调用DLL模块中的所有接口,读取配置文件并判断动态链接库的运行模式.

当返回值为“0”时,DLL模块不启用任何模式操作,Windows操作系统选择自己的默认登录方式;当返回值为“1”时,DLL模块启用Usbkey身份认证登录模式;当返回值为“2”时,DLL模块启用双重密码认证登录模式.即在弹出的SSR密码登录框输入密码,如果验证通过,则弹出系统自带的密码登录框,如果SSR验证信息失败,则一直停留在SSR密码登录框界面,(动态库)程序流程图如图1所示.

图1 DLL(动态库)程序流程图

3 系统实现

3.1 系统运行环境

系统对计算机的CPU及硬盘要求不高,使用的USBKey可以支持任何一款普通移动设备,该系统只支持本地登录方式,不支持远程登录.

3.2 系统中使用的部分函数

见表1.

表1 WINAPI LoggedOut函数功能

3.3 增强型登录认证系统的执行过程

系统采用当今流行语言C++加以实现,由于客户端和DLL模块都是后台运行程序,所以没有实现界面.控制端实现界面如图2所示,具体实现步骤如下所述.

图2 控制端实现界面

1)选择第一项“windows默认登录方式”,此时只需输入系统“用户名+密码”即登录Windows操作系统.

2)选择第二项“增强型USBKEY登录方式”,系统管理员登录时需要插入安全管理配发的USBKey.此时“配发USBKey”按钮和“删除选中”按钮成为可用状态.点击“配发USBKey”按钮进行配发USBKey(如果已经有配发的USBKey可以直接进行提交).然后在控制端界面中输入持有者姓名并选择已有USB设备,然后点击“配发”按钮完成操作.此时Windows操作系统打开自带的用户名+密码界面,用户正确输入即可进入Windows操作系统.

3)选择第三项“增强型组合密码登录方式”,系统管理员登录Windows操作系统前需要先获取本系统配发的PIN码.此时“配发PIN码”按钮和“删除选中”按钮成为可用状态,点击“配发PIN码”按钮配发PIN码(如果已经有配发的PIN码可以直接进行提交),然后在配发PIN界面输入持有者和PIN码点击配发按钮完成操作.Windows操作系统打开自带的用户名+密码界面,用户正确输入即可正常进入Windows操作系统.

4)点击“提交”按钮实现将用户选中的登录方式、配发增强型硬件USB信息、增强型组合密码即PIN码发送到客户端并写入配置文件功能,且在提交配置信息时进行检测.如果用户选择了“增强型硬件USBKEY登陆方式”或者“增强型组合密码登陆方式”但是未配发USBKey或者PIN码,则出现提示返回界面.

5)点击“初始状态”按钮自动修改为“windows默认登录方式”,所有配发的USBKey信息和配发的PIN码都将被清空.

3.4 USBKey登录认证的实现代码

由于篇幅的限制,我们仅列举其中登录认证的部分代码,大部分代码没有列出.

int WINAPI aLoggedOutSAS(

PVOID paContext,

DWORD dwSasType,

PLUID pAuthenticationId,

PSID pLogonSid,

PDWORD pdwOptions,

PHANDLE phToken,

PA_MPR_NOTIFY_INFO pNprNotifyInfo,

PVOID* pProfile)

{int iMode=GetIniData();

if(0==iMode)

{……}

if ( 1 == iMode )

{ …… }

if ( 2 == iMode )

{……}

if ( NULL != p)

{

return (p)( paContext, dwSasType, pAuthenticationId,

pLogonSid, pdwOptions, phToken,

pNprNotifyInfo, pProfile);

}

return FALSE;

}

4 系统安全性分析

本Windows增强型登录认证系统目前已应用于各大企业单位,安装该系统Windows启动时根据用户选择进入相应密级的Windows安全增强系统界面进行对Windows操作系统的登录控制管理.本系统具有以下特点:

4.1 增强型双重身份认证机制

系统管理员选择增强型硬件USBKEY登陆方式时,只插入USBKey设备而未输入持有者信息将不允许登录操作系统进行操作;当选择增强型组合密码即PIN码登录方式时,只有PIN码而未输入持有者信息也将不允许登录操作系统.只有是合法的USBKey设备持有者或者合法的PIN码持有者才可以登录Windows操作系统.即使丢失USBKey设备但不是合法的持有者,也将不能登录操作系统,保证了操作系统的安全性和隐私性.

4.2 带有安全存储空间

USBKey有较大的数据存储空间,可以存储大量用户密钥和数字证书等机密数据.只有登录系统才能对该存储空间进行读写操作,其中除了点击“配发”按钮能够得到合法的USBKey设备信息和PIN码外,其他途径均无效,杜绝了登录身份信息被复制的可能性.

5 结语

Windows操作系统的登录认证问题由来已久,其安全问题也层出不穷[10].本文提出的基于USBKey的Windows增强型身份认证机制能够有效弥补Windows操作系统“用户名+密码”的身份认证安全漏洞,提高了系统安全性能,有效阻止用户机密信息的外泄,保护了用户隐私.通过在众多网络安全信息系统中的实际应用证明了该系统能满足操作系统安全性的需要,有较高的市场应用价值.

[1] 蒋毅娜.Windows登录安全增强系统的设计与实现.北京:北京邮电大学,2009:2-20

[2] 曹 喆,王以刚.基于USBKey的身份认证机制的研究与实现.计算机应用与软件,2011,28(2):284-286

[3] 朱 诚,左 辉.利用KMDF驱动程序实现USB设备的功耗控制.计算机应用与软件,2012,29(12):252-254

[4] 李伟为.基于ASP.NET2.0的在线考试系统的设计与实现.计算机应用与软件,2013,28(9):163-165,224

[5] 徐照兴,刘 武.基于B/S模式的高职毕业生就业数据管理系统的设计与实现.计算机应用与软件,2013,29(9):297-300

[6] 杨佳丽,黎敬涛.基于PHP的一个家庭理财系统的设计与实现.计算机应用与软件,2014,30(2):259-262

[7] 谭 萌,王金磊,杨丽芬,等.基于World Wind Java的海底电缆管道业务管理信息系统设计与实现.海岸工程,2015,2:10-15[8] 卫 琳,SQL Server 2012数据库应用与开发教程.3版.北京:清华大学出版社,2014:100-150

[9] 邵冬华.Web数据库设计项目教程.北京:中国人民大学出版社,2015:62-64

[10] 陈家骏,郑 滔.程序设计教程:用C++语言编程.3版.北京:机械工业出版社,2015:50-100

Enhanced Login Authentication System Design And Implementation Based On USBkey

ZHANG Xiaoli

(Shanxi Light Industry College of Vocational and Technical, Taiyuan 030013, China)

After analyzing the login security trouble in Windows operating system and having studied some mechanisms of Windows’ identity authentication, we propose an enhanced login authentication system scheme based on USBKey. Then it realized by C++ programming. The system can prevent illegal user login the Windows operating system and increase the security of the system and improve the confidentiality of user information.

USBKey;C++;login authentication system; security

2015-10-16

张小莉(1982-),女, 山西兴县人,硕士,山西轻工职业技术学院讲师,主要从事计算机应用及计算机网络研究.

1672-2027(2015)04-0070-04

TP302.1

A

猜你喜欢

增强型客户端密码
密码里的爱
“东方红”四号增强型平台
如何看待传统媒体新闻客户端的“断舍离”?
密码抗倭立奇功
增强型MSTP设备在高速公路中的应用
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
一种基于STC增强型单片机的大电容测量
密码藏在何处