基于指静脉识别技术的云计算安全身份认证

2017-11-01 17:14
计算机应用与软件 2017年10期
关键词:帐户用户名身份

杨 雄

(福州大学至诚学院 福建 福州 350002)

基于指静脉识别技术的云计算安全身份认证

杨 雄

(福州大学至诚学院 福建 福州 350002)

随着云计算环境的推广和大规模应用,基于云计算环境系统数据的安全性就显得尤为重要,而云计算身份认证也在整个安全领域中占有首要位置。针对当前云计算的安全需求,提出一种基于指静脉识别技术的云计算身份认证方案。在具体实现上,将Windows登录模型和指静脉认证方式的安全性相结合,提高了对用户身份认证的安全性。基于该认证方案的原形系统的实现,表明该方案具有一定的可行性和可用性。

云计算 指静脉 云计算安全

0 引 言

云计算凭借其便捷、经济和高扩展性等亮点吸引了越来越多公司的关注,云计算可以减少他们的信息技术基础设施管理和维护的投资,从而把更多的人力和物力集中在他们的核心业务上,获取更高的利润。云计算的核心理念是将业务数据迁移到云中,这意味着云提供者要分担数据安全的责任,同时远程使用IT资源需要将云用户的信任边界扩展至外部,尤其是在公有云的环境下。

指静脉识别技术采集的是人体的手指静脉图像,它是近年来发展起来的一种便携、安全的身份认证技术。它对比传统的密码和智能卡的认证方式,不会遗失、不会被盗、无密码记忆,而且能够有效解决密码泄露和智能卡硬件信息被内存扫描和网络拦截所带来的风险,从而提高身份认证体系的安全性。手指的静脉图像是人的活体特征,它除了伪造难外,成年人每个手指的静脉图像不仅不会再发生变化,而且还是独一无二的。因此将指静脉识别技术应用到云计算的身份认证体系中,可有效解决以往身份认证方式中所存在的部分安全性问题,显著提高对云用户身份认证的安全性。

1 基于指静脉识别的身份认证方案

1.1 基于指静脉识别的云计算身份认证方案

本文提出一种云计算身份认证方案,是将用户指静脉图像特征值作为每个用户在登录证明其身份的唯一标志。在实现的原型系统中,云终端是基于Linux操作系统的终端设备,云计算资源为Windows Server 2012R2虚拟机操作系统,认证服务器是基于Windows Server 2012 R2的服务器,如图1所示。

图1 原形系统架构和身份认证流程

身份认证具体流程如下:

1) 用户通过云终端访问云计算资源,云终端通过虚拟化协议RDP与云计算资源中的虚拟机建立连接。

2) 虚拟机的登录程序接收到RDP远程登录请求后,获取云终端的IP等相关信息;并向云计算资源中的认证服务器发送认证请求Q,该认证请求包里包含了登录用户名和云终端的IP信息。

3) 认证服务器接收到虚拟机的认证请求Q后,根据请求包里的云终端IP信息向指定的用户云终端发送提取指静脉图像请求V。

4) 云终端收到的取指静脉图像请求V后,完成提取用户指静脉图像操作,并将包含指静脉图像的数据包W加密后传输给认证服务器。

5) 认证服务器将云终端返回的数据进行解密后,提取其中指静脉图像的特征值,与数据库中对应用户名的指静脉特征进行匹配,将认证结果和帐户信息返回虚拟机。

6) 虚拟机接收来自认证服务器的认证结果,若认证失败,则拒绝用户登录,若认证成功,则将用户帐户信息交给LSA认证,完成系统登录。

1.2 云终端

云终端在与虚拟机操作系统建立远程连接前,首先检测指静脉仪设备的连接状态,确保指静脉仪设备已经连接至云终端的USB接口后,再对其进行初始化。初始化成功后在云终端上展示登录界面,当用户点击登录按钮后,就通过RDP协议与虚拟机操作系统建立连接。云终端登录和提取用户指用脉图像流程如图2所示。

图2 云终端登录和提取指静脉流程

云终端上的软件主要包含三个模块:Web服务模块、 指静脉提取模块和加/解密模块。

1) Web服务模块

Web服务模块是核心模块,它的主要功能是接收来自认证服务器的请求和控制各模块之间的数据流向,协调各模块完成操作。当接收到认证服务器的提取指静脉请求时,该模块首先需要甄别消息是否来自合法的认证服务器,它是通过解密模块来验证的,然后通过指静脉提取模块采集用户的指静脉图像,最后将加密模块加密好的数据包传输给认证服务器。该模块是基于Python实现的Https服务器,通过继承BaseServer类实现。

2) 指静脉提取模块

该模块的主要功能是提取用户的指静脉图像,将采集的图像数据传输给Web服务模块。在本方案中,指静脉仪使用的是索尼的Mofiria FVA-U3SX型号。在Linux操作系统上,对指静脉仪的操作需要使用Mofiria提供的相关动态库,操作流程如图3所示。

图3 指静脉仪操作流程

3) 加/解密模块

该模块的主要功能是对来自认证服务器的消息做合法性验证以及完成通信报文的加解密操作,它是采用成熟的HMAC-SHA256 消息摘要算法。首先,云终端和认证服务器拥有相同的密钥K,认证服务器利用密钥K对请求消息做HMAC-SHA256摘要处理生成摘要信息,然后将两者组包一同发送给云终端;云终端收到消息后,使用HMAC-SHA256算法和密钥K对消息做摘要计算,通过判断其计算结果是否和接收到的摘要信息一致,来验证消息是否来自合法的认证服务器。同理,认证服务器也是采用相同办法来判断云终端的合法性。

1.3 虚拟机操作系统

虚拟机操作系统Windows Server 2012R2中需要实现自定义的登录模块,用来监听云终端的RDP远程连接请求和对用户帐户信息进行认证。

从Windows 7/Vista系统开始,微软引入了凭证提供(Credential Provider)登录模型,它是一个COM组件,可以实现自定义的身份认证方式。具体是通过凭据提供程序继承LogonUI组件的ICredentialProvider Credential接口,并向LogonUI提供对应的用户身份信息来实现的。所以凭证提供程序通过LogonUI与Winlogon进行通信,再由Winlogon与LSA进行通信,如图4所示。

图4 Windows 7凭据提供程序登录流程

我们将通过注册新的COM库的方式将实现的凭证提供程序注册到操作系统中,并去除原有的用户名和密码认证方式,即用户在登录界面只能使用指静脉识别的登录方式。

自定义的Windows凭证提供登录程序需要实现的基本功能包括用户登录界面和用户帐户信息提交。本方案中实现的用户界面包括了一个文本框、一张位图、一个下拉框和一个登录按钮 。文本框用于输入用户的登录名,下拉框可以选择登录方式,目前仅有指静脉登录,后续可基于此扩展出其他的登录方式。提交用户帐户信息前需要发起指静脉提取操作,然后通过用户指静脉信息得到用户帐户信息。所以凭据提供程序需要监听云终端的RDP连接请求,然后展现登录界面,提示用户输入用户名;当用户名输入完成,点击登录按钮后,它就向认证服务器发起认证请求,并及时接收由认证服务器返回的认证结果数据包。若结果为认证失败,比如用户名不正确或者指静脉特征值不匹配,则拒绝用户登录请求,断开RDP连接;若认证失败,则将认证结果数据包里包含的用户帐户信息通过Logon和Winlogon提交给LSA认证,完成系统登录。实现的凭证提供程序流程如图5所示。

图5 Windows Server 2012 R2凭证提供程序流程

1.4 认证服务器

认证服务器上实现的软件功能主要包含指静脉采集模块、Web服务模块和指静脉匹配模块三部分。

Web服务模块是认证服务器的核心,它首先接收来自虚拟机的认证请求Q,该认证请求数据包主要包括:云终端的IP地址和虚拟机登录时的用户名,数据使用JSON发送,规格如下:

JSON Object

{

“version” : string,

“username”: string,

“ipaddress”: string,

“type”: string,

“timestamp” : long,

“checksum” : string,

}

然后该模块通过IP地址向指定的用户云终端发起提取指静脉请求V,规格如下:

JSON Object

{

“version” : string,

“operation”: string,

“type”: string,

“timestamp” : long,

“checksum” : string,

}

云终端将包含指静脉图像的数据包W返回给认证服务器,数据规格如下:

JSON Object

{

“version” : string,

“rtnCode”: long,

“type”: string,

“veinData”: string,

“timestamp” : long,

“checksum” : string,

“errmsg” : string

}

接着该模块向指静脉匹配模块发起用户身份验证请求X,其规格如下:

JSON Object

{

“version” : string,

“username”: string,

“veinData”: string,

“type”: string,

“timestamp” : long,

“checksum” : string,

}

最后Web服务模块将指静脉匹配模块返回的认证结果Z返回给虚拟机操作系统,数据规格如下:

JSON Object

{

“version” : string,

“rtnCode”: long,

“type”: string,

“username”: string,

“password”: string,

“timestamp” : long,

“checksum” : string,

“errmsg” : string

}

具体认证流程如图6所示。

图6 认证流程

指静脉匹配模块的功能主要是查询数据库中指定用户名的指静脉图像特征值,然后判断其与云终端采集的用户指静脉图像的特征值是否一致。若一致,则认证成功并将查询到的用户帐户信息传输给Web服务模块;若不一致,则认证失败。

指静脉管理模块的功能是管理用户的帐户信息和指静脉特征信息。当注册新用户时,需要将新用户的指静脉图像特征值和其帐户信息一起储存到指静脉数据库中;更新用户时,需要同步更新数据库的记录。

2 登录系统实现效果图

基于以上的设计,我们实现了一个基于指静脉识别的云计算身份认证系统。云终端上的实现效果如图7所示。

图7 云终端登录界面

云终端上不需要输入用户名和密码等信息,用户直接点击“登录”按钮后,会在虚拟机Windows Server 2012R2操作系统上看到专用的登录界面,实现效果如图8所示。

图8 虚拟机Window Server 2012R2登录界面

用户输入用户名点击登录按键后,弹出提示框,提醒用户将手指放在指静脉仪上采集手指静脉图像。通过采集到的用户手指静脉图像特征值进行用户身份的认证,那这样的身份认证过程就不需要再记忆密码和输入密码了。如图9所示。

图9 虚拟机Window Server 2012R2指静脉采集提示界面

3 安全性分析

基于指静脉识别的身份认证方案可有效地抵御账户风险和内部攻击风险。

1) 帐户风险。它可分为两种:

(1) 外部攻击。本方案中通过外部攻击非法登录云服务器,需要攻击者使用假的生物特征,但由于指静脉几乎无法伪造,而且是人体活体特征,显然非法登录服务器的概率要比传统用户名和密码的方式要小很多。

(2) 重放攻击。首先认证服务器和云终端之间的通信是采用HTTPS通信,在认证服务器和每台云终端内部都默认内置了HTTPS通信所需要的证书。云终端采用封闭系统,不提供对外接口,保证了其通信证书不会被攻击者获取到,一定程度保护了认证服务器和云终端之间通信的安全。其次认证服务器和云终端都要同步到一个相同的时间认证服务器或时钟源,每次认证服务器和云终端的通信消息中都会包含系统当前时间,无论是云终端还是认证服务器都会计算接收到消息的时间与消息中附加时间的差距,通过判断时间差是否在有效范围内来验证消息的合法性。所以,本方案可以可以很好地抵御重放攻击。

2) 云计算的内部攻击风险。内部攻击是指合法用户在已登录虚拟机的情况下,对系统实施非法攻击的行为,它是云计算下合法用户的不合法操作所引起的,在本方案中主要是篡改存储指静脉特征的数据库。为了与查询特征进行匹配, 需要对预先将用户的指静脉特征值进行保存, 攻击者有可能对保存模板的数据库进行篡改。在本方案中认证服务器上在物理上与用户虚拟机进行隔离,并对认证服务器进行严格的安全策略控制。而且用户虚拟机都是在云中,可对它们进行监控并及时采取相应的措施,所以将数据库部署在认证服务器上是安全的,可有效地抵御云计算的内部攻击风险。

资源的虚拟化和共享是云计算的根本,但是,这种共享并不是没有代价的。最为典型的代价就是安全上的不足。如当物理主机内存被一台虚拟机使用后又被重新分配给另一台虚拟机时,可能会发生数据泄露。攻击者可以利用一台虚拟机在很长一段时间内攻击相同主机的其他虚拟机,因为虚拟机之间的流量无法被标准IDS/IPS软件程序所检测。

事实上,通过单一的技术手段来保证云计算的安全是很难实现的,还需要法律和监管的介入,才能够建立起完整有效的安全体系。

4 结 语

本文提出的基于指静脉识别技术的云计算安全身份认证方案, 相比传统的口令认证和智能卡认证,可有效解决密码易遗忘、 盗窃或泄露风险,可显著提高云计算对云用户身份认证的安全性。这种方式的主要特色在于使用不可伪造的且唯一的生物特征指静脉作为用户身份的唯一标志,进一步提高了在公开信道上访问云计算资源的安全性。针对当前云计算的发展,由于用户信息和数据是通过固定密钥加密后存储在云中,如果该密钥被破解,有可能用户的帐户信息就会被泄露。因此该方案还有进一步完善之处,比如将指静脉图像特征做为主体身份的加密技术,利用该技术对用户信息和数据进行加密处理后再存储和传输,能够起到一定的保护作用。

[1] 王帅,常朝稳,魏彦芬.基于云计算的USB Key身份认证方案[J].计算机应用研究,2014,31(7):2130-2134.

[2] 刘建华,刘意先.基于指纹识别的Windows系统登录模块的设计[J].西安邮电大学学报,2009,14(5):77-78.

[3] 曹阳.基于OTP认证方式的云计算安全身份认证[J].宜宾学院学报,2012(6):81-83.

[4] 魏红宇.海洋环境信息云计算身份认证技术研究[D].中中国海洋大学,2011.

[5] 贾如春.基于云计算声纹身份认证安全体系的设计与研究[J].信息化建设,2015(12):111.

[6] 刘杨.基于iOS的Base64和3DES加密的研究和实现[J].计算机安全,2012(12):28-33.

[7] 齐鹏,李隐峰,宋玉伟.基于Python的Web数据采集技术[J].电子科技,2012,25(11):118-120.

[8] 肖宾杰.基于独立成分分析的指静脉识别研究[J].电子测量与仪器学报,2012,26(10):841-845.

AUTHENTICATIONSCHEMEOFCLOUDCOMPUTINGSECURITYBASEDONFINGERVEINIDENTIFICATION

Yang Xiong

(ZhichengCollege,FuzhouUniversity,Fuzhou350002,Fujian,China)

With the popularization and large-scale application of cloud computing environment, the security of system data based on cloud computing environment is particularly important, and cloud authentication is also the first place in the whole security field. Aiming at the current security requirements of cloud computing, this paper proposes an identity authentication scheme for cloud computing based on finger vein recognition technology. In the specific implementation, the windows login model and finger vein authentication method of security have combined to improve the security of user authentication. The realization of the prototype system based on the authentication scheme shows that the scheme has certain feasibility and usability.

Cloud computing Finger vein Cloud computing security

TP3

A

10.3969/j.issn.1000-386x.2017.10.058

2016-10-27。杨雄,工程师,主研领域:嵌入式应用,云计算。

猜你喜欢
帐户用户名身份
《护士进修杂志》投稿程序
《护士进修杂志》投稿程序
断开Windows10和微软帐户链接
《护士进修杂志》投稿程序
机智的快递员
跟踪导练(三)(5)
妈妈的N种身份
身份案(下)
Analysis of Strategies and Procedures Employed in Translating Literary and Non—literary Texts from the Perspective of Functionalist Theory
放松一下 隐瞒身份