刘飞飞,刘宴兵
(重庆邮电大学计算机科学与技术学院,重庆 400065)
移动互联网是当前信息领域的研究热点,同时也是国家所关注的焦点。各种在线服务极大地提高了移动终端用户体验,越来越多的人们通过手机等移动终端接入网络,完成各种操作。但对于银行帐号,个人信息,公司数据等私密信息的接入必须进行安全审查。传统的授权,认证方式主要通过输入密码实现,其安全性受到密码复杂性的影响。但是由于手机输入方式的限制,当安全性与方便性发生冲突时,人们更倾向于选择方便性(即简单的密码)[1]。因此,移动终端和在线服务提供商对于既安全又方便的认证、授权机制的需求更加迫切。
本文通过分析社交网络结构,提出一种基于社交网络的智能手机轻型安全认证协议(lightweight social authentication protocol,LSAP)解决手机面临的安全认证问题,并使用BAN逻辑形式化证明其达到期望目标。
一般用户在使用手机接入如邮件、手机银行或在线购物时,系统要求用户必须提供足够的证据证明自己的身份,传统的方式是使用用户名和密码确认用户身份。但是移动终端拥有自身的特点,目前对于手机安全认证方式的研究主要从用户行为、社交网络和生物特征3个方面提取认证用户身份的信息。Mauro Conti等[2]提出了基于用户接电话动作的移动终端认证方式,将用户点击接听键至开始通话的间隔时间作为识别用户依据。XI Kai等[3]提出了基于指纹特征的移动设备认证协议,将指纹作为识别依据生成加密密钥用于认证和加密消息。Richard C等[4]提出了一种云环境中基于用户行为的移动终端认证框架,其中,考虑了终端的资源受限特性,将大部分计算任务转移到云服务器中,但没有解决认证数据在传输中的安全问题。以上均是通过运用移动终端自身特性来解决安全认证问题,使得智能手机的安全认证方式相对于PC更加简单,同时提高认证的安全性。Soleymani B等[5]提出了一种基于社交网络分析的智能手机认证协议(social authentication protocol for mobile phones,SAP),通过将用户的通信网络看作社交网络,从社交网络角度提出一种手机的认证协议。但是其提出的认证协议并未考虑移动终端的资源受限特性。由于SAP是基于PKI的非对称密钥加密认证协议,在一次认证过程中手机端需要进行多次非对称密钥的加密与解密。对于较为繁忙的用户(认证次数多)或者对安全性要求较高(票据更新快,票据需求量大)的用户,需要频繁的执行非对称密钥的加密/解密过程。但是非对称加密/解密方式是属于计算密集型任务,对于计算资源需求量大,执行过程时间长。对于计算资源有限的智能手机,非对称密钥的缺点表现得尤其明显。首先,严重影响手机电池的续航时间;其次,影响系统对用户操作的反映时间。由此看来,计算资源需求低、安全性高、执行过程时间短的对称加密方式显然比非对称加密/解密方式更适合于资源受限的终端设备。
因此,本文提出的 LSAP使用 Kerberos协议[6]完成用户间共享对称密钥的安全传输,从而实现在认证消息中使用对称加密方式代替SAP中的非对称加密方式。最终达到降低功耗、电池续航时间的最小化及对系统反映时间影响的目的。但在规模较大网络中,使用对称加密存在分发和管理密钥的数量爆炸式增长问题,本文将通过数据分析说明对称密钥加密方式在LSAP中的适用性。
基于社交网络的认证协议基本思想是将用户的联系人当作用户的关联节点,一次交互事件当作一条边。从而将用户使用手机的行为转化为一种用户关联的社交网络,并从社交网络角度认证用户的合法性。
本文提出的LSAP的认证协议框架如图1所示。LSAP由智能手机用户群(分为认证主体和好友群);认证服务器;Kerberos协议服务器组成。LSAP通过Kerberos协议分发对称密钥[6],认证过程使用对称加密方式替换SAP的非对称加密方式,从而减轻移动终端的计算负担,提高安全认证协议的可用性。
图1 LSAP结构图Fig.1 Structure of LSAP
LSAP流程如图2所示。系统中所有用户(A,B)都分别与S共享对称密钥,这些密钥已经从物理途径或其他安全途径进行分发。当用户与好友之间要传输认证票据时,若他们之间没有共享对称密钥,系统则通过密钥分发协议为其分发密钥,以此保证每一用户与其所有好友之间都存在一对共享对称密钥。若他们之间共享了密钥,则使用共享的对称密钥保证票据的安全性。本文LSAP中使用的符号意义如表1所示。轻型安全认证协议详细描述如下。
1)当A与好友B交互行为符合认证模型[5]要求时,B 生成证明票据 {A,Lv,Tvalid}Kbs,并添加时间戳,最后,用与A的共享密钥加密整个信息后发送给A。
2)当A需要进行身份认证的时候,A取出收集到的所有证明票据,添加时间戳和自己的身份标识A,最后用与S的共享密钥加密后发送给中心认证服务器S。
3)S 接受到认证请求后,计算:{{{A,Lv,Tvalid}Kbs,L,Tas,A}Kas}Das后,当验证 Tas有效时,计算:{{A,Lv,Tvalid}Kbs}Dbs。然后比较获得的2个A值,当2个A值相同时,进一步验证Tvalid的有效性,否则认证失败。当Tvalid有效时,A的一张身份证明票据有效,否则此张票据失效。类似计算其他的认证票据,当有效的认证票据数量达到一定门限时,则认定A的身份认证成功,否则为认证失败。认证服务器根据认证结果确定下一步操作。
通过以上步骤,可以使服务器S相信用户A的好友B是否认可用户A身份的合法性。通过累计这样的信任获得对用户A身份的信任度,最终达到认证用户A的身份的目的。
图2 LSAP消息流程图Fig.2 Flowchart of LSAP
表1 LSAP协议中符号意义Tab.1 Symbolic meanings of the LSAP
BAN逻辑[7]在安全协议形式化分析研究中占有十分重要位置。BAN逻辑是一种基于信念的模态逻辑,在BAN逻辑推理过程中,参加协议的主体信念随消息变化而不断的演进。本文采用BAN逻辑对LSAP议进行形式化证明,证明其可以达到协议的安全目标。其BAN逻辑的符号意义如表2所示。
表2 BAN逻辑的符号意义Tab.2 Symbolic meanings of the BAN logic
我们使用BAN逻辑对轻型认证协议进行形式化证明。A和B是参与用户,A是认证主体,且B是A的好友,S表示认证服务器,K表示共享的密钥。我们主要证明服务器S要相信好友B及认证主体A是合法的用户。对于LSAP需要实现的目标如下。
目标:
我们首先将LSAP中的消息进行简化,其中,1-4步是使用Kerberos协议为用户分发密钥,5-6步是LSAP的认证消息。
按照BAN逻辑的规则对协议进行理想化:
因为明文在逻辑推理中不能传递任何信任,所以,我们忽略了明文传输的消息。并且按照实际情况加入合理的信任消息。这是BAN逻辑中协议理想化步骤所做的主要工作。
BAN逻辑中为了证明所提出的目标,必须要有一定的假设前提。所以,我们给出的基本假设如下。
基本假设:
目标证明:
Kerberos协议证明部分省略,详细过程请参考文献[7]。通过 Kerberos协议我们可以获得目标T1,T2,T3,T4的证明。以下证明剩余目标:
通过消息I4,由已获得证明的T1,T2和X11为条件,基于新鲜性规则和消息意义规则得
联合R1,R2,基于新鲜值验证规则和裁定规则得:
通过消息I5,由 X1,X3,X15为条件,基于新鲜性规则和消息意义规则得
联合R5,R7,基于新鲜值验证规则和裁定规则得
由 R6,X2,X4,X14 为条件,基于新鲜性规则和消息意义规则得
至此,证明结束。R4=T5,R8=T6,R10=T7,R13=T8目标已证明完毕。
证明了LSAP的有效性,并分析了其安全性。本章首先通过数据分析说明LSAP使用Kerberos协议分发对称密钥的合理性,其次,通过实验验证LSAP协议对终端资源的消耗情况。
VAST 2008通话数据集是由2008VAST竞赛提供的人工合成数据集,其中,包括了2006年6月的10天的通话数据,描述了Catalano社会网络的通话结构。其中包括9 834条记录、400个节点和961条边[9]。
用户好友的数量直接关系到LSAP系统的密钥分发规模,所以,对VAST数据集分析,我们主要关注于用户的好友数量。我们通过分析获得用户的联系人数(包括呼入,呼出)如图3所示,其平均联系人数为4.58人。平均联系人数量不大于5的人数占了总量的82%。当系统设定好友数上限为20时,可满足98.25%的用户需求。当上限为10时,可满足93.75%的用户需求。
图3 用户联系人数量(主动和被动)Fig.3 Number of contacts(active and passive)
由此,我们可以确定大部分用户的联系人数量是在较小范围内。只有少量用户的联系人数量较多,然而,在LSAP中并非要求将用户的所有联系人都设置为好友。当联系人数量较多时,可以选取其中最常用的部分联系人作为好友,以此来减少系统复杂性的同时增加终端的安全性。用户选取好友的数量以满足系统分发票据的需求为标准。所以,当用户和好友间通信使用对称加密方式时,每个终端所需保存的对称密钥数量也在较小范围内,终端性能并不会因为需要保存和管理大量密钥而严重降低。
对于规模为N;平均好友数为AFN的通讯网络;基于PKI的SAP的中心服务器共需要处理密钥数量为N;终端需要保存的密钥数量为AFN。基于Kerberos的LSAP的中心服务器共需要处理密钥数量为AFN×N/2,终端需要保存的密钥数量为AFN。即当认证系统采用LSAP时,其服务器要处理的密钥数量是采用SAP时的AFN/2倍。
图4 用户平均联系人数量Fig.4 The average number of contacts
一般情况下,在现实生活中个人的常用联系人数量是在一定范围中的。由图4可以看出,随着通讯网络的规模迅速增加,网络中的AFN却增加得非常缓慢,且AFN的增长是在较小的范围内。另一方面,当系统设置用户最大好友数时,就确定了AFN的最大值。可知,系统采用LSAP所需处理的密钥数量是采用SAP的常数倍,其实际倍数取决于系统中用户的实际平均好友数AFN。所以,基于Kerberos的LSAP中密钥分发数量并不会随着系统规模的扩大而迅速增长,更会不像在计算机网络中密钥数量会随着网络规模的二次方增长。因此,我们提出的基于Kerberos的LSAP并不会引起大规模密钥分发及管理问题。
本节主要考虑协议运行对终端资源的消耗。在对比实验中我们忽略了终端的通讯开销,且只关注终端的资源消耗情况,与SAP对比如表3所示。
表3 SAP和LSAP对比Tab.3 Comparisons between SAP and LSAP
其中,符号意义:Tps表示非对称加密或解密所消耗的时间;Tk表示对称加密或解密所消耗的时间。
由于非对称加密或解密对资源的需求要大于对称加密或解密的方式。在一般情况下,对称加密/解密速度比非对称加密/解密的速度至少快100倍[9]。由表3可以看出,在每一次消息处理过程中LSAP对资源的请求都比SAP少。
因为在2种协议中,终端产生票据时需求的计算资源最多。每张认证票据需进行2次加密操作,所以,实验采用在后台持续的对同一明文进行2次加密模拟协议中的认证票据的产生过程,观察其对移动终端的影响。实验通过android编程实现加密,参数如表4所示,使用Android 2.3.7系统,CPU主频为600 MHz,512 MByte内存的中兴V880手机作为实验平台。获得的结果如表5所示。
表4 产生认证票据参数Tab.4 Parameters of generating authentication notes
表5 实验结果Tab.5 Experimental result
LSAP不但利用了手机用户间的通信操作所隐含的相互认证信息,而且加入了用户通信网络中用户间通信操作的网络特征,减轻了终端的计算负担。在加密安全性方面,实验中采用的密钥长为128位的AES加密安全性高于密钥长为512位的RSA加密方式。若SAP采用1 024位的RSA,对终端资源的需求将更大。LSAP和SAP的安全性都还依赖认证票据更新的频率,认证票据更新越快,认证安全性越高。这就要求终端要频繁的生成和更新认证票据。从表5中得到,终端产生LSAP票据的速度是SAP票据的55倍,同时每张票据对电池的消耗量SAP是LSAP的54倍。我们可以看出,对同样票据需求量使用LSAP的终端续航时间更长。所以,LSAP相对于SAP安全性和用户体验都获得一定的提高,更加适合于资源受限的智能手机。
本文针对智能手机安全认证协议未考虑终端缺陷问题,提出了轻型认证协议LSAP,利用手机通话网络中存在的用户联系人数量小,联系对象稳定的特点,使用对称加密方式代替非对称加密方式保证消息的安全性。通过实验验证了LSAP对移动终端资源需求少,运行速度快。但本文提出的方法没有考虑到好友的权重问题及其他社交特性,这将是下一步工作。
[1]STEVEN F,NATHAN C,SEVASTI K.Beyond the pin:Enhancing user authentication for mobile devices[J].Computer Fraud and Security,2008,2008(8):12-17.
[2]MAURO C,IRINA Z Z,BRUNO C.Mind how you answer me!transparently authenticating the user of a smartphone when answering or placing a call[C]//Proceeding of the 6th ACM Symposium on Information,Computer and lommunications Security,ASIACCS 2011,Hong Kong,China:ACM Press,2011:249-259.
[3]XI Kai,AHMAD T,HAN F.A fingerprint based biocryptographic security protocol designed for client/server authentication in mobile computing environment[J].Security Comm Networks,2010,4(5):487-499.
[4]RICHARD C,MARKUS J.Authentication in the Clouds:A Framework and its Application to Mobile Users[C]//Proceedings of the 2010 ACM workshop on cloud computing security workshop.New york,Ny,USA:ACM,2010:1-6.
[5]SOLEYMANI B,MAHESWARAN M.Social Authentication Protocol for Mobile Phones.IEEE Computational Science and Engineering[C]//IEEE Computer Society International Conference on Vancouver,Canada:IEEE conference publications,2009:436-441.
[6]NEUMAN B C,TO'S T.Kerberos:an authentication service for computer networks[J].Communications Magazine,IEEE,1994,32(9):33-38.
[7]BURROWS M,ABADI M,NEEDHAM H.A logic of authentication[J].ACM Transactions on Computer Systems,1990,8(1):18-36.
[8]YE Qi,ZHU Tian,HU Deyong,et al.Cell phone mini challenge award:Social network accuracy exploring temporal communication in mobile call graphs[C]//IEEE Symposium on Visual Analytics Science and Technology.Columbus,Ohio,USA:IEEE conference publications,2008:207-208.
[9]LEE Jungsan,LIN Peiyu,CHANG Chinchen.Lightweight Secure Roaming Mechanism Between GPRS/UMTS and Wireless LANs[J].Wireless Personal Communications,2010,53(4):569-580.