APP下载

一种新型移动数据库终端身份认证方案

2012-01-29嫣,刘颖,李

中州大学学报 2012年4期
关键词:终端设备口令身份

王 嫣,刘 颖,李 健

(1.中州大学 信息工程学院,郑州450044;2.信息工程大学电子技术学院,郑州450004)

1.引言

移动数据库是能够支持移动式计算环境的数据库,它是分布式数据库的扩展和延伸。[1]与传统计算环境相比,移动计算环境具有频繁的断接性、网络条件多样性、系统规模庞大、系统可靠性差、系统资源有限以及网络通信的非对称性等特点。[2]与之相应,一般要求移动数据库具有内核微小化、便于移植、支持断接操作等多种特点,并对其数据一致性处理、事务处理以及安全性提出了更高的要求。

随着移动数据库的发展,其安全问题成为人们关注的焦点。国内外学者开展了广泛而深入的研究。曾文英等[3]指出移动数据库应该采用移动主机身份认证,以防止非法主机接入,采用无线链路数据加密,以防止攻击者窃听。郭旭展等[4]指出应该使用对称加密算法和非对称加密算法相结合的策略以及严格的审计和访问控制来提高移动数据库系统的安全性。骆成樑[5]提出了一种三重加密验证方法用于验证用户的身份并对通信信息进行加密保护。但是这些论文中并没有对这些机制进行具体的研究。孟小峰等[6]指出移动数据库容易遭受位置隐私攻击并给出了抵抗这类攻击的几种典型方法。针对位置隐私攻击,Mokbel[7]和潘晓等[8]分别分析了位置隐私的攻击原理并概括了现有的位置隐私保护方法。Michael[9],Bugra Gedik 等[10]和 A.J.Solon等[11]分别给出了位置隐私攻击的实例。由此可见确保移动数据库系统能够抵抗位置隐私攻击对于移动数据库的安全具有重要意义。

移动数据库终端认证包括终端用户的身份认证和终端设备的身份认证,它是移动数据库系统安全的前提和关键点。对于移动环境的身份认证,除满足普通环境的安全需求外,还要求认证协议的计算和存储开销尽量小。针对移动商务计算环境,王洪莹[12]提出了一种动态身份认证方案,实现了客户机与服务器的双向认证,但是该方案难以抵抗中间人攻击。冯楠等[13]提出一种基于哈希链的身份认证方案,但是该方案的认证过程较为复杂。谭利平[14]等提出了一种基于公钥加密的动态口令身份认证方案,该方案能够抵抗重放攻击、中间人攻击并能实现双向认证,但是该方案认证消息的传输次数较多,认证效率较低。

为了有效地解决移动数据库终端认证的安全问题和效率问题,本文首先依据移动数据库的典型结构建立了三级身份认证模型,然后依据该模型,设计了一种移动数据库终端身份认证方案,并对方案的性能和安全性进行了分析比较。

2.三级认证模型建立

依据移动数据库典型系统结构以及对移动数据库身份认证的功能需求的分析,设计了移动数据库三级认证模型,如图1所示。

模型中认证实体包括认证客户端(Authentica-tion Client,简称AC)、认证支持节点(Authentication Support Station,简称ASS)和认证服务器(Authentication Server,简称AS)三部分。其中AC是运行在移动客户端上的认证程序,它是认证协议的发起方。ASS是运行在移动支持节点上的认证程序,ASS维护着一个用户和移动设备身份的副本,它可以直接或通过AS完成对AC的认证。AS是运行在认证服务器上的程序,每个移动数据库系统有一个认证服务器,该服务器存储着全部注册用户和设备的身份信息以及ASS的身份信息。AS可以对ASS的身份进行认证并能够接受ASS对移动用户和设备身份信息的查询和更新。

图1 移动数据库三级身份认证模型

在用户使用移动客户机访问数据库之前,用户需要输入其身份信息,AC利用用户身份信息和本地设备的身份信息向ASS发起认证。ASS接收到认证信息后,首先查找本地数据库,如果存在请求认证的用户和设备的身份信息,则直接进行认证,否则向AS发起认证服务请求。AS提供认证服务之前,首先要对ASS进行认证,以确定ASS身份合法。一旦ASS对AC认证完成后,则ASS在本地数据库中保存当前用户和设备身份的备份,以备下一次认证。认证过程完成后,AC、ASS和AS依据具体的协议可以对当前用户和设备的身份信息进行同步更新。

3.终端认证方案设计

3.1 终端注册

移动数据库终端注册包括终端用户注册和终端设备注册。

用户注册要求在安全环境下进行,首先由用户设定用户名IDu及口令p,然后AS按如下步骤完成用户注册:

(1)随机选取注册因子;

(2) 计算 x=H(s,IDu,p);

(3)计算V=x·G,该计算为椭圆曲线上的点乘运算;

(4)AS判断V是否为无穷远点,如果不是则注册完成,否则返回(1)。

注册成功后,用户记住其用户名IDu及口令p,AS丢弃用户私钥x,为用户保存其注册信息(IDu,s,V)。

终端设备注册要求在安全环境下进行,其注册过程如下:

(1)设备选定其私钥e;

(2)设备计算d=e·G并发送给AS;

(3)AS检查d是否被占用,如果被占用则返回(1),否则继续执行;

(4)AS为设备分配设备名IDc和初始位置隐私保护因子k。

注册完成后,设备中存储其身份参数(IDc,e,k),AS 中存储设备认证信息(IDc,d,k,H(IDc,k))。

3.2 身份认证协议

本文在进行身份认证协议设计时参考了SRP-6(Security Remote Password,安全远程口令)协议。[15]该协议是目前主流商用数据库最常用的一种身份认证方法。SRP-6协议的一个显著特点是客户机和服务器在进行身份认证的过程中不用在网络上传输用户口令的明文或密文,从而能够有效地保护用户口令的机密性。观察SRP-6协议可以发现,如果直接移植SRP-6协议会存在以下几方面的问题。

首先,SRP-6协议的交互次数较多。由于无线信道具有开放性和弱连接性,通信过程容易受到攻击和干扰,这就要求身份认证协议应该具有较少的交互次数。分析SRP-6协议的执行过程可以发现,其第(1)步和第(3)步没有依存关系,第(2)步和第(4)步也没有依存关系,可以将这两步合并从而减少其交互步骤。

其次,在SRP-6协议中,用户名固定且明传,这种方式极易遭到位置隐私攻击,即攻击者可以通过监听用户的多次认证过程来推测用户的位置及位置变化。一种有效的解决方法是使用假名方案,终端在每次认证时都只发送用户的假名给ASS。保证各次使用假名的弱联系性以及ASS能够对假名进行正确识别是设计该方案的关键。

最后,无法进行设备认证。SRP-6协议是专门为用户认证所设计的,它保证了用户只使用用户名和口令的方式就能完成认证过程。该协议中用户负担的减小是以安全强度的降低为代价的,因此不能将这种方式直接移植到设备认证中去。终端设备具有一定的存储空间和计算能力,因此可以支持更加复杂但安全的认证协议。

通过上述分析,本文以SRP-6协议为基础,设计如下身份认证协议,以满足移动数据库系统对身份认证的功能需求和安全需求。协议执行分四个步骤,如图2所示。

User+AC ASs(1) IDP=H(IDc,k)D=Ee(IDc‖IDu‖k)A=a·G■■■■) 验证 IDc,检查 IDu对应的s和V IDp,D,A→(2) s=Ee(t)⊕k t,←■B t=Ed(s⊕k)B=V+b·G(3) x=H(s,IDu,p)u=H(A,B)S=(a+ux)·(B-x·G)M1=H(A,B,S)■1 u=H(A,B)S=b·(A+u·V)验证M M→1(4) 验证M2 M←■2 M2=H(A,M1,S)

(1)用户向移动终端输入用户名IDu和口令p,设备查找当前的位置隐私保护因子k,计算设备临时名IDp=H(IDc,k)以及用户和设备的联合签名D=Ee(IDc‖k),设备产生用户临时私钥a,计算其临时公钥A=a·G,然后设备将IDp、D和A一起发送给ASS。

(2)ASS依据接收到的设备临时名查找其真实设备名IDc、设备公钥d和位置隐私保护因子k。如果没找到则拒绝本次认证,否则计算Ed(D),还原设备名、用户名和位置隐私保护因子。如果还原出的设备名、位置隐私保护因子与查表得到的设备名、位置隐私保护因子不相同,则确认设备身份不合法,认证失败。如果相同则查找IDu对应的s和V,计算t=Ed(s⊕k),然后生成临时私钥b,计算临时公钥B=V+b·G并将t和B一同发送给设备终端。

(3) 设备终端依次计算 x=H(s,IDu,p)、u=H(A,B)和S=(a+ux)· (B -x·G),然后计算挑战参数M1=H(A,B,S)并发送给ASS。ASS依次计算u=H(AmB)、S=b·(A+uV)、M′1=H(A,B,S)并验证M1与M′1是否相等,如果不相等则认证失败,退出认证过程。

(4)ASS 计算 M2=H(A,M1,S)并发送给设备终端。设备终端根据本地产生的S计算M′2=H(A,M1,S),验证 M2与 M′2是否相等,如果不相等则ASS身份不合法,认证失败,否则认证成功,身份认证过程结束。

认证完成以后,设备和ASS按照以下公式更新位置隐私保护因子:

3.3 终端注销

终端注销包括终端设备注销和用户注销。当终端设备或者用户不再使用时,便应该执行终端注销策略。终端注销是保证系统安全的重要步骤。本系统终端设备注销和用户注销的步骤相似,其过程如下:

(1)AS 删除终端设备注册信息(IDc,d,k,H(IDc,k))或者用户注册信息(IDu,s,V);

(2)AS以广播的形式通知所有的ASS设备名为IDc的终端设备或者用户名为IDu的用户已经注销;

(3)ASS接收到广播后,查看本地设备身份信息表或者用户身份信息表中是否存在该设备或者用户,如果存在则删除。

4.方案分析

4.1 性能分析

下面从交互次数、用户存储开销、设备存储开销、计算量等四个方面对方案的性能进行分析。其中交互次数是指认证过程中通信双方发送数据的次数,用户存储开销是指用户需要存储或者记忆的秘密参数的大小,设备存储开销是指终端设备需要存储的秘密参数的大小,计算量是指认证双方在一次认证过程中一共需要执行各类密码学运算的次数。假设r代表一次随机数生成运算,h代表一次杂凑运算,m代表一次对称加密运算,g代表一次大数模运算,e代表一次椭圆曲线运算。为简化对比,假设各个方案所使用的密钥、随机数及其他参数的长度相同并且设为u,用户名和口令长度都为p。各方案的性能比较如表1所示。

表1 各方案性能比较

由表1可以看出,本文方案认证双方在一次认证过程中只需要发送四次数据,为同类方案最少。由于本文方案同时实现了用户认证和设备认证,需要用户和设备均存储一定数量的认证参数,其中用户存储开销为2p,设备存储开销为3u,均与同类方案相仿。在计算量方面,本文方案共用到了三类密码学算法,分别为随机数生成运算、哈希运算和ECC运算,在一次认证过程中的计算量是2r+8h+8e,在算法数量和运算次数方面均优于文献中所设计的方案,与SRP-6方案相仿。综上所述,本文方案以较小的通信、存储和计算代价实现了用户身份和设备身份的双重认证。

4.2 安全性分析

本方案的安全性前提是协议所使用的ECC算法和杂凑算法是安全的,下面从以下几个方面对方案的安全性进行说明。

(1)支持用户认证和设备认证。

本方案需要用户记录用户名IDu及口令p,设备中存储其身份信息(IDc,e,k),认证服务器分别为用户和设备存储身份信息(IDu,s,V) 和(IDc,d,k,H(IDc,k)),在认证协议中用户和设备全部参与,只有ASS验证用户和设备的身份全部合法,才允许该用户通过此设备继续访问数据库,因此本文方案支持用户和设备的双重认证。

(2)抗重放攻击。

本方案在认证过程中通过无线信道传输的参数IDp,D,A,t,B,M1,M2是由 a、b 或者 k 计算而来,由于a和b是临时产生的随机数,k每次认证后都更新一次,因此上述参数在每次认证时都不同。假设攻击者截获了终端某次认证时发送给ASS的所有参数IDp,D,A,M1,之后希望通过重放上述参数再次通过ASS的认证,由于上次认证之后k已经更新,所以设备临时名IDp已经变化,ASS会发现上次截获的IDp为不合法设备临时名,无法通过设备认证。同时,由于ASS每次认证都随机产生b,两次认证产生相同的b的概率很小,因此使用上次截获的M1也无法通过用户认证。同理,如果攻击者截获了某次认证时ASS发送给终端的所有参数t,B,M2,也无法对终端实施重放攻击。终上所述,本方案能够有效地抵抗重放攻击。

(3)抗中间人攻击。

在本文方案的身份认证协议中,设备私钥由设备唯一拥有,任何人都无法伪造设备的签名。每个用户拥有一个口令p,同时认证服务器为它存储一个口令认证因子V,用户和认证服务器分别利用p和V通过不同方式计算M1和M2,任何攻击者在不知道P和V的前提下伪造M1和M2都等同于解决一个椭圆曲线上的离散对数问题,因此本文方案能够有效抵抗中间人攻击。

(4)抗伪装主机攻击。

由认证协议的执行过程可以看出,在主机验证用户和设备身份的同时,设备也需要检验主机身份是否合法。只有主机拥有正确的V、d和k等秘密参数,它才能计算产生正确的M2,而协议的成功是以移动设备验证M2正确为标志的,因此本文方案能够抵抗伪装主机攻击。

(5)抗位置隐私攻击。

在本文方案的认证过程中,设备名IDc和用户名IDu都没有直接发送给ASS。在每次认证开始时,设备计算一个临时名IDp发送给ASS,而IDp是由IDc和k通过杂凑运算所得,由于k在每次认证结束后都发生变化,因此IDp在每次认证时也各不相同。IDu与设备名以及位置隐私保护因子k一起经过设备的私钥签名后才发送给ASS,由于该签名中也加入了k,因此每次认证所发送的签名也各不相同。协议中发送的其他参数均为随机数或者由随机数运算产生的参数,因此这些参数在每次认证时也不相同。又因为在协议中使用了ECC算法和杂凑算法,攻击者由一次认证截获的参数计算出下次认证使用的参数在计算上不可行的,因此本文方案能够抵抗位置隐私攻击。

本文方案与其他方案在安全性方面的比较如表2所示。由该表可以看出,本文方案不仅实现了用户身份和设备身份的双重认证,而且能够抵抗重放攻击、中间人攻击、伪装主机攻击、位置隐私攻击等多种攻击行为。与其他同类方案相比,本文方案具有更高的安全性。

表2 各方案安全性比较

5.结束语

安全问题已经成为制约移动数据库技术推广应用的瓶颈。本文提出并设计了一种移动数据库终端身份认证方案,对移动数据库系统终端用户和终端设备的注册、认证和注销过程进行了详细的说明。与其他同类方案相比,本文的方案具有较高的安全性和执行效率。本文的研究成果对于提高移动数据库系统的安全性和拓展移动数据库在高安全领域的应用具有一定的意义。

[1]移动数据库[EB/OL].Available from http://baike.baidu.com/view/1851800.htm.2011.

[2]丁治明.移动数据库关键技术研究[D].北京:中国科学院研究生院,2002.

[3]曾文英,赵跃龙,宋玮.移动数据库关键技术研究[J].计算机工程与应用,2009,45(14):25 -29.

[4]郭旭展,尤磊.企业移动数据库安全技术研究[J].福建电脑,2010(6):10.

[5]骆成樑.移动数据库的安全策略研究[J].科技经济市场,2007(4):148-149.

[6]孟小峰,丁治明.移动数据管理概念与技术[M].北京:清华大学出版社,2009.

[7]Mokbel M F.Privacy in location-based services:State-of-the- Art and Research Directions[C].MDM ’07 Proceedings of the 2007 Inte.

[8]潘晓,肖珍,孟小峰.位置隐私研究综述[J].计算机科学与探索,2007,1(3):268 -281.

[9]Michael S.Companies increasingly use GPS - enabled cell phones to track employees.Weblogsinc[EB/OL].Available from http://wifi.weblogsinc.com/2004/09/24/companies-increasingly-use-GPS-enabled-cell-phones-totrack/,2004.

[10]Bugra Gedik,Ling Liu.Protecting Location Privacy with Personalized k-Anonymity:Architecture and Algorithms[J].IEEE Transactions on Mobile Computing,2008,7(1):1-18.

[11]Solon A J,Callaghan M J,Harkin J.Case Study on the Bluetooth Vulnerabilities in Mobile Devices[J].International Journal of Computer Science and Network Security,2006,6(4):125-129.

[12]王洪莹.移动商务身份认证系统的研究与设计[D].北京交通大学,2007.

[13]冯楠,铁岭,李建华.基于哈希链表的HAWAII微移动协议认证方案[J].信息安全与通信保密,2006,1:42-46.

[14]谭利平,李方伟.移动通信系统中的认证与密钥协商协议[J].计算机应用,2007,27(6):1343 -1344.

[15]Wu T.SRP -6:Improvements and refinements to the secure remote password protocol[EB/OL].Available from http://srp.stanford.edu,2002.

猜你喜欢

终端设备口令身份
基于MAC 认证的终端网络准入控制系统方案*
高矮胖瘦
视频监视系统新型终端设备接入方案
口 令
好玩的“反口令”游戏
跟踪导练(三)(5)
妈妈的N种身份
身份案(下)
行车记录仪通信连接方法、行车记录仪及终端设备
电网终端设备信息安全研究