APP下载

无线传感器网络下多因素身份认证协议的内部人员攻击∗

2019-10-28李文婷

软件学报 2019年8期
关键词:智能卡口令攻击者

李文婷 , 汪 定 , 王 平,3

1(北京大学 软件与微电子学院,北京 102600)

2(北京大学 信息科学技术学院,北京 100871)

3(软件工程国家工程研究中心(北京大学),北京 100871)

1 引 言

无线传感器网络(wireless sensor network,简称WSN)历经智能传感器、无线智能传感器、无线传感器这3个阶段的发展,无线通信和信息交互能力日益增强,逐渐实现物与物的互联,感知触角深入世界各个角落[1−3].目前,无线传感器网络不仅是学术界关注的热点,在产业界的应用也遍布各个领域,如智慧城市[4]、环境监测[5]、医疗监测[6]等.这些应用往往要求较高的实时性,允许用户实时访问传感器节点.

此类应用环境通常包含3 类参与者:1 个或多个网关节点(GWN,或称作基站)、分布式节点及外部用户.通常,外部用户要访问传感器节点的信息有两种方式:(1) 用户向GWN 发送查询请求,GWN 查询相应节点,并回传用户请求的信息;(2) 用户直接登录传感器节点,与传感器节点建立实时通信.前者的安全性依赖WSN 的安全策略,但时延长,仅适于信息轮询或实时性要求不高的应用场景;后者具备较高的实时性,但如何确保用户的合法性、防止传感器节点数据泄漏变得至关重要.

1.1 相关工作

用户身份认证是保证WSN 环境安全和用户隐私的重要安全机制[7,8].相比于传统网络环境,由于无线传感器网络通常部署在无人监守的环境,但执行安全攸关的任务(如海洋大气监测[9]、精准农业温度监测[10]、健康状况监测[11]等),设计适于无线传感器网络的用户身份认证协议面临更严峻的挑战.

2006 年,基于Lamport[12]的口令认证协议和Das 等人[13]提出的“动态ID”技术,Wong 等人[14]首次提出了适于无线传感器网络的单因子(因子,亦称为因素)口令身份认证协议.该协议仅基于轻量级密码算法,允许合法用户直接访问传感器节点的数据.然而,在该协议提出不久,Tseng 等人[15]和Das 等人[16]分别指出Wong 等人的协议[14]不能抵抗重放攻击、窃取验证项攻击、仿冒攻击和节点捕获攻击,并进一步提出了改进协议[17].其中,Das等人[16]提出的新协议引入“智能卡”因子,开启了无线传感器网络环境下双因子认证的新篇章.

Das 等人的工作[14]得到了众多学者的跟踪(如图1 所示,图1 基于文献[18]中的图2,下划线表示协议易遭受内部攻击),一系列新的适于无线传感器网络环境的双因子认证协议被提出来,如文献[19,20].

然而不久之后,Khan 等人[21]、Chen 等人[22]和Yeh 等人[23]指出Das 等人的协议[14]存在一系列安全威胁,如易遭受仿冒攻击、离线口令猜测攻击、内部攻击和节点捕获攻击,且不能实现用户匿名性和前向安全性.随后,Khan 等人[21]、Chen 等人[22]和Yeh 等人[23]分别在Das 等人协议[14]的基础上提出改进协议.2012 年,鉴于传感器节点计算能力和存储容量有限,Kumar 等人[24]提出一个高效的适于远程医疗服务的无线传感器网络认证协议.2013 年,He 等人[25]指出Kumar 等人[24]的协议不能实现用户匿名性,且对离线口令猜测攻击和内部攻击是脆弱的,并进一步提出一个改进协议.

近期,Mir 等人[26]指出He 等人[25]的协议缺乏口令本地验证,且易遭受离线口令猜测攻击、用户仿冒攻击和违反匿名性攻击.与此同时,Fang 等人[27]指出,早期的WSN 环境下的安全协议均存在或多或少的问题,以Althobaiti 等人的协议[28]为例,分析协议中常见的节点捕获攻击、GWN 仿冒攻击、中间人攻击和内部攻击,并给出改进的适于无线传感器网络环境下的远程用户认证协议.

1.2 研究动机

尽管用户认证协议已经过30 多年的发展,设计安全高效的用户身份认证协议仍面临巨大挑战[3,26].众多安全威胁(如智能卡丢失攻击、仿冒攻击等)和设计难题(如安全性-可用性平衡等)被学者们揭示出来,但关注内部人员攻击的研究却很少.为实现实时访问,常见的无线传感器网络(WSN)应用(如智慧交通、智慧医疗等)允许用户一次登录多次访问,在此类应用环境中,避免内部人员威胁尤为重要.下文分析中,我们将网关节点GWN 视作传统C/S 架构下的服务器端.

在早期的单因子口令认证协议中,为实现用户认证,服务器端势必要存储口令相关的验证表项,则内部攻击不可避免.1991 年,Chang 等人[29]首次提出了基于智能卡的口令认证协议,用户的智能卡中需存储私密认证参数.2004 年以前,协议均基于智能卡抗窜扰假设,即智能卡内秘密参数不能被攻击者获取,因此,大多数协议(如文献[29,30])在智能卡中直接存储口令验证项.随着攻击技术的进展,智能卡内的参数可以被分析出来.2004 年,Ku等人[31]首次提出了基于非抗窜扰假设的“口令+智能卡”双因子认证协议.此后,协议设计者逐渐加强智能卡中存储数据的安全性和认证过程中服务器端存储数据的安全性,同时避免用户直接将口令明文发送给服务器,但却假设注册阶段的通信完全安全.而现实中往往存在内部攻击威胁,注册阶段,服务器并不完全可信,内部人员可通过窃取注册阶段的消息和用户智能卡中的数据猜测出用户口令.但这一类型的内部攻击被长期忽略,即使有协议设计者意识到此类内部攻击的威胁,也并未给出合理的解决方案.

1.3 本文贡献

本文深入分析了Mir 等人及Fang 等人的协议,发现这两个无线传感器网络环境下的身份认证协议都存在内部攻击威胁和前向安全性问题,并且对智能卡丢失攻击是脆弱的.

结合现实安全情况,提出了新的增强攻击者模型,指出了一种被长期忽略的内部攻击场景.本文以无线传感器网络为例对此类攻击进行说明,传统的C/S 网络、移动互联网等均存在此类攻击.需要指出的是:此类攻击场景要求攻击者首先在注册阶段监听用户和服务器的注册信息,当用户注册后,攻击者利用窃取的用户智能卡分析出智能卡内参数信息实施攻击;以Mir 等人和Fang 等人的协议为例,分析两种失效的解决方案.

基于我们对300 余个协议的分析经验,本文对文献中已有的解决方案进行分类总结,指出现有解决方案的不足,说明在用户注册阶段采用“加盐Hash”技术传输用户口令并且在智能卡中以某种方式保存用户选择的随机数的协议,无法抵抗内部攻击.最后,本文提出合理的解决方案抵抗内部攻击.

1.4 组织架构

第2 节描述本文采用的攻击者模型,指出一种被长期忽略的内部攻击场景.第3 节回顾Mir 等人提出的无线传感器网络环境下的高效身份认证协议.第4 节分析Mir 等人协议的安全性.第5 节描述Fang 等人提出的基于生物特征的三因子用户认证协议.第6 节指出该协议存在的安全问题.第7 节对现有文献中解决内部攻击的策略进行总结,并指出现有方案存在的问题,提出新的解决方案.最后,第9 节总结全文.

2 增强的攻击者模型及内部攻击场景

设计安全高效的远程用户口令认证协议离不开所基于的攻击者模型.1983 年,Dolev-Yao[32]提出了一个经典的敌手威胁模型,即攻击者可以任意侦听、截获、插入、删除或阻断流经公开信道中的消息.该模型细致地刻画了攻击者的行为能力,被广泛应用于安全协议的设计和分析中.然而,随着近几年边信道攻击技术的发展(如时间攻击、功耗攻击和软件漏洞攻击)[33,34],智能卡内秘密参数信息可以被攻击者分析出来,攻击能力显著增强,早期的模型已不足以刻画攻击者的现实能力.

2016 年,Wang 等人[35]提出一个严格(但实际)的多因素协议攻击者模型,如表1 中的C-1~C-4 所示.为评估系统终极失效时的强健性,该模型假设攻击者可以获知服务器长期私钥.该模型充分考虑了攻击者的现实能力,是迄今最严苛的攻击者模型之一.例如,用户口令服从Zipf 分布,且身份标识空间和口令空间有限,约为|Did|≤|Dpw|≤106[36];攻击者可能通过多种途径获得未及时擦除的,或协议公开的过期会话密钥等.Wang 等人[35]的模型全面揭示了敌手的攻击能力,其中,C-1 用以描述重放攻击、中间人攻击、平行会话攻击、异步攻击等,并辅助完成其他各类攻击;C-2 和C-3 刻画了口令猜测攻击和智能卡丢失攻击;C-4 用以分析前向安全性.该模型几乎涵盖所有攻击方式,在文献[7,17,18,37]中被广泛应用.

Table 1 Capabilites of the adversary表1 攻击者拥有的能力

然而现实生活中,服务器不应被视作可信实体.近年来,因配置错误、内存泄漏、恶意程序等问题,服务器数据泄漏事件及未授权端口被监听事件层出不穷.2018 年,安全研究人员Giovanni Collazo 通过Shodan 搜索引擎发现了2 284 个暴露在互联网上的etcd 服务器[38].2016 年,韩国著名购物网站Interpark 的服务器遭黑客攻击,1 000 万以上客户的个人信息被泄漏[39].文献[40−42]也明确假设服务器中存储的关键数据已经泄漏.在上述安全事件中,攻击者已经腐化服务器,该能力被Wang 等人[35]提出的攻击者模型所忽略.因此,为刻画此类威胁,我们增加C-5 攻击者能力:假设A可以腐化服务器S,侦听、窃取S在任意操作(注册、登录、认证阶段)中接收的消息是现实的.

为防止服务器获取口令明文,多数用户认证协议采用“加盐Hash”技术[43]辅助完成用户注册过程,即在注册阶段,用户向服务器提交使用随机数加盐的随机口令.随后,用户将该随机数写入智能卡中.在Dolev-Yao 模型和Wang 等人模型的假设下,由于服务器在注册阶段完全可信,此种注册方式是安全的.但在C-5 假设下,可能引起潜在的内部人员攻击.我们以2017 年Farash 等人[44]在Adhoc Networks 上提出的协议为例进行说明.该协议方便高效、简单易用,能抵御各种潜在攻击,如重放攻击、平行会话攻击、仿冒攻击等.我们选用Farash 等人的协议主要因为该协议的用户请求注册过程具备典型性和代表性.

在用户注册阶段,用户Ui选取身份标识IDi,口令PWi和随机数b,并计算RPWi=h(PWi⊕b).用户将{IDi,RPWi}发送给服务器,服务器完成基本的安全检查,比如IDi是否是已经注册过的用户等.然后,服务器计算特定安全参数,将包含安全参数的智能卡发送给用户.最终,Ui将b写入智能卡.根据攻击者能力C-5,A侦听通信信道,并获得用户随机口令RPWi,同时根据C-3,攻击者A可能无意中(拾取/窃取)获得用户Ui的智能卡,则A可以借助边信道攻击技术[33,34]提取智能卡内存储的随机数b.攻击者A可实施离线口令猜测,具体流程如下:

1) A从用户口令空间Dpw猜测可能的口令

由于用户口令空间|Dpw|十分有限(|Dpw|≤106[36]),上述攻击可以在多项式时间内完成.近期,Github[45]和Twitter[46]发现:由于口令重置功能中的系统漏洞,导致用户口令以明文格式记录在公司的内部日志中,少量特权内部员工有权访问记录用户口令的日志文件.Github 和Twitter 公司均采用“加盐Hash”技术存储和传输用户口令.这说明:即使在资本雄厚、以技术见长的组织中,针对认证系统的内部人员攻击也有潜在可能,需要纵深防御.但本文提到的内部攻击并未引起重视,鲜有文献明确描述此类攻击过程.需要指出的是,此类攻击场景需要攻击者首先在注册阶段监听到用户和服务器的交互信息;当用户注册后,窃取并分析出用户智能卡内参数信息.因此,这一攻击场景具有一定的局限性.不过,本攻击场景具有普适性,除无线传感器网络,也适于传统的C/S 架构、多服务器架构、移动互联网等.接下来,我们以Mir 等人的方案[26]和Fang 等人的方案[27]为例,分析被长期忽略的内部攻击问题以及协议设计中的常见安全问题.

3 Mir 等人的方案回顾

Mir 等人的方案[26]分为5 个阶段:用户注册、传感器节点注册、登录、认证和口令修改.系统初始化阶段,网关节点GWN 生成并安全存储主密钥d.方案中所使用的符号缩写及其含义见表2.

Table 2 Notations and abbreviations表2 符号及缩写

3.1 用户注册阶段

外部用户若要登录系统,则首先执行如下过程.

1) 用户Ui选取身份标识IDi、口令PWi,生成随机数ri,计算RPWi=h(PWi||ri).

2)Ui⇒GWN:{PWi,IDi}.

3) GWN 随机生成安全参数b,计算Xi=h(IDi||d),TCi=Xi⊕RPWi,Qi=h(RPWi||Xi||IDi).GWN 在数据库中存储{IDi⊕h(d||b)},同时,将{TCi,h(⋅),h(Qi)}写入智能卡.其中,d为系统主密钥.

4) GWN⇒Ui:智能卡.

5)Ui接收到智能卡,计算F=ri⊕h(IDi||PWi),将F写入智能卡.则此时,智能卡中包含参数{TCi,h(⋅),h(Qi),F}.

3.2 传感器注册阶段

首先,任意传感器节点Sj选择SIDj和随机数y,计算Vj=h(SIDj||y),将{Vj,SIDj}通过安全信道发送给GWN,完成以下注册过程.

1) GWN 计算TCj=h(d||SIDj)⊕Vj,将{SIDj,Vj⊕h(SIDj||b)}存入数据库.

2) GWN⇒Sj:{TCj}.

3)Sj接收到GWN 的返回信息后,计算G=TCj⊕Vj=h(d||SIDj),J=h(h(d||SIDj)||Vj),将J安全地写入内存中.

3.3 登录阶段

若用户Ui要直接访问传感器节点的资源,需进行如下操作.

1) 用户Ui在读卡器中插入智能卡,输入IDi和PWi.智能卡计算ri=F⊕h(IDi||PWi),RPWi=h(IDi||PWi||ri),Xi=TCi⊕RPWi=h(IDi||d),,并验证与存储的h(Qi)是否相等:如果不相等,则说明用户输入的IDi和PWi不正确,智能卡终止执行.

2) 智能卡生成随机数Ki,计算.其中,T1为当前时间戳.

3)Ui→GWN:{M}.

3.4 认证阶段

此阶段实现用户、网关节点、传感器节点的相互认证,并建立会话密钥.

1) GWN 收到来自用户的登录请求后,计算Xi=h(IDi||d),,验证(T2−T1)>ΔT是否成立(其中,T2表示当前时间戳).

➢ 如果成立,则表明收到的消息{M}超出最大时间间隔,GWN 终止用户的登录请求;

2) GWN 计算J=h(h(d||SIDj)||Vj),Hj=h(Ki||SIDj||IDi||T3||T1),Aj=EJ(IDi||SIDj||Ki||T1||Hj).其中,T3表示当前时间戳.

3) GWN→Sj:{Aj,T3}.

4)Sj接收到GWN 的信息后,首先验证(T4−T3)>ΔT是否在合理的时间间隔内:

➢ 如果成立,则终止协议;

➢ 反之,Sj用存储的主密钥J解密Aj=DJ(IDi||SIDj||Ki||T1||Hj),计算,验证是否相等:如果不相等,Sj终止协议;反之,Sj生成随机数Kj,计算SK=h(Ki||Kj||IDi||SIDj||T1),

6)Ui收到Sj的返回消息后,首先检查(T6−T5)>ΔT是否成立:

➢ 如果成立,则终止连接;

➢ 反之,Ui计算,并验证是否相等:如果不相等,Ui终止会话;反之,Ui认证Sj和GWN,且Ui和Sj之间建立新的通信,协商会话密钥SK=h(Ki||Kj||IDi||SIDj||T1).

4 Mir 等人的方案安全性分析

Mir 等人[26]发现:文献[25]中提出的无线传感器网络环境下的匿名用户认证方案不能实现前向安全性,且不能抵抗离线口令猜测攻击和仿冒攻击.因此,Mir 等人[26]给出了一个高效的适于WSN 环境的匿名双因子协议,声称该方案弥补了文献[25]的安全缺陷,且使用BAN 逻辑证明了改进协议的正确性.但经仔细分析,我们发现Mir 等人的方案[26]仍无法实现前向安全性这一理想属性,且对内部攻击和智能卡丢失攻击是脆弱的.

4.1 内部攻击

分析发现,文献[25]的方案无法抵抗内部攻击,但Mir 等人没有意识到该安全缺陷.尽管用户注册阶段略有改进,Mir 等人所提出的方案[26]仍继承了这一缺陷.根据第2 节的攻击者能力C-5,假设恶意的内部特权用户A侦听并截获用户注册阶段发送给GWN 的消息{RPWi,IDi}.同时,A可能以某种方式长期占有(窃取/拾取)用户Ui的智能卡,并(借助专业机构)通过边信道攻击[33,34]分析出智能卡内秘密参数信息{TCi,h(⋅),h(Qi),F},然后,A可通过以下方式离线猜测出用户口令.

1) A从用户口令空间Dpw猜测可能的口令

由于系统缺陷、代码漏洞等,用户提交的注册请求可能泄漏给有权访问系统日志的少数内部员工,故上述假设是合理的.当然,有些学者可能会建议采用更安全的信道执行注册阶段,例如面对面注册.这对安全性要求较高的服务是合理的,例如政府机关、军事机要组织等.但随着云计算、物联网、移动互联网的快速发展,普通大众成为网络服务的主要参与方,用户要访问的资源量明显增多,实时性要求进一步增强.为实现多用户远程实时访问,大多数系统允许用户远程注册,则上述内部攻击过程就不可避免.

此外,文献[25]中构造随机口令的方式与第2 节描述的经典方案相同,即RPWi=h(PWi||ri),且在智能卡中明文存储随机数ri.攻击者对此方法发起攻击的时间复杂度为O((Th+Txor)×|Dpw|),其中,Th为Hash 操作时间,Txor为异或操作时间,|Dpw|表示用户口令空间.文献[35,36]指出,实际用户口令服从Zipf 分布,空间大小十分有限,约|Dpw|≤106,故此攻击过程可在多项式时间内完成.Mir 等人[26]似乎意识到文献[25]的注册过程并不安全,但未明确指出.新提出的方案略有改进,其中,随机口令包含用户身份ID,在智能卡中以IDi和PWi的Hash 值保护随机数,即存储F=ri⊕h(IDi||PWi).但实际仅增加了一次Hash 操作的难度,攻击的时间复杂度为O((2Th+Txor)×|Dpw|),并没有实质性地增加攻击难度.除此之外,攻击者利用截获的RPWi和智能卡中提取的TCi,可直接计算出Xi,以此仿冒用户登录系统.故Mir 等人的方案仍易遭受内部攻击.

4.2 智能卡丢失攻击

在Mir 等人的方案[26]中,存在另一种获取用户口令的方法,即利用用户智能卡内存储的安全参数进行离线口令猜测.统计数据显示:近年来,智能卡丢失是带动智能卡销售的关键因素之一[47].在日常生活中,用户极易将智能卡遗落在读卡器上.一旦攻击者获得用户智能卡,就能通过(自行或求助专业机构)实施边信道攻击分析出智能卡内秘密参数信息{TCi,h(⋅),h(Qi),F}.值得一提的是:Mir 等人[26]在攻击文献[25]的方案及分析新方案的安全性时,明确假设“攻击者可能窃取或找到用户丢失的智能卡,并提取卡内秘密参数”.故而,攻击者A可通过以下方法离线猜测出用户口令PWi.

1) A从用户身份空间Did和口令空间Dpw猜测

上述口令猜测攻击的时间复杂度为O((4Th+2Txor)×|Did|×|Dpw|),其中,Txor为异或操作时间.现实中,异或运算的时间相对较短,可忽略不计.文献[39,48]皆指出,用户身份ID 通常遵循特定格式,评估非隐私安全时可视作公开信息.另一方面,第4.1 节提出的内部攻击中,用户ID 在注册阶段以明文传输,并保存在GWN 的验证表项里,可能由于管理员的疏忽或系统漏洞泄漏用户身份ID.则上述攻击的时间复杂度弱化为O((4Th+Txor)×|Dpw|),故攻击者可通过丢失的智能卡在多项式时间内猜测出用户口令.

不难发现,Mir 等人的协议存在内部攻击的本质原因是在智能卡内存储安全参数h(Qi),以验证用户输入的口令,实现“口令本地自由更新”,但此参数同时为攻击者提供了验证口令的预言机服务.为解决上述安全性和可用性平衡问题,可采用文献[35]中提出的“模糊验证因子”+“Honeywords”技术,即将Qi的计算方式修改为Qi=h(RPWi||Xi||IDi) modn,且GWN 维护用户尝试登录的Honeywords 列表.其中,n表示用户身份和口令(ID,PW)池容量的整数,一般满足24≤n≤28.若用户尝试登录次数达到阈值,则锁定该账号.

4.3 前向安全性问题

通常情况下,无线传感器网络均部署在无人监管的环境,且执行高安全性的任务,如战场环境监测、健康状况检测和交通监管等[3,4].一方面,传感器中存有敏感数据,易引起攻击者的注意;另一方面,相比于网关节点GWN,传感器节点的安全保护措施明显不足.因传感器节点内存容量和电池容量限制等因素,一般不配备防篡改硬件,这使得敌手更可能在物理上捕获传感器节点.一旦攻击者A捕获传感器节点Sj,则A可获得Sj的长期私钥J.同时,根据第2 节的攻击者能力C-1,A可侦听、截获任意合法用户Ui,GWN 和Sj之间的通信消息,则A可利用截获的通信消息和Sj的长期私钥推导出先前的会话密钥,具体过程如下.

1) A截获GWN 发送给Sj的消息{Aj,T3}.

2) A使用Sj存储的秘密参数J解密Aj=DJ(IDi||SIDj||Ki||T1||Hj),获得IDi,SIDj,Ki,T1,Hj.

3) A截获Sj回送给用户的消息

5) A推导出会话密钥SK=h(Ki||Kj||IDi||SIDj||T1).

可以看出:Ki,Kj,IDi,SIDj和T1均为截获或推导出的正确数值,攻击者可获得合法的会话密钥SK.除此之外,A能够获得访问过该服务器的所有用户的会话密钥.事实上,Ma 等人在文献[49]中证明了:为实现前向安全性,公钥密码技术不可或缺.此外,在服务器端至少进行两次模幂运算或椭圆曲线点乘运算[17].Mir 等人的方案[26]中未采用公钥密码技术,本质上无法实现前向安全性.故建议在Mir 等人的方案中引入Diffie-Hellman 密钥交换技术、椭圆曲线技术[50]、Chaotic Maps 技术[51]等轻量级公钥密码技术,以实现前向安全性.

5 Fang 等方案回顾

2018 年,Fang 等人[27]提出一个高效、实用的基于生物特征的三因子用户认证协议.该协议能抵抗各种潜在攻击,如仿冒攻击、重放攻击等,有效实现用户匿名性、口令和生物特征自由更新.Fang 等人的方案[27]包含4 个阶段:注册、登录、认证、口令和生物特征更新.

5.1 注册阶段

当用户Ui访问传感器网络时,需向GWN 完成如下注册过程.

1)Ui选择身份标识IDi和口令PWi,扫描生物特征Bi,生成随机数K,利用生物特征模糊提取函数Gen(⋅)计算Gen(Bi)=(σi,τi),生成Bi对应的密钥σi和公共参数τi,其中,σi仅为Ui所知.Ui进一步计算RPWi=h(PWi||K),选取keyi作为Ui与GWN 的共享密钥.

2)Ui⇒GWN:{RPWi,IDi,keyi}.

3) GWN 在数据库中存储keyi,利用主密钥XGWN计算ri=h(IDi||XGWN),将{ri,h(⋅)}写入智能卡.

4) GWN⇒Ui:智能卡.

5)Ui收到GWN 返回的智能卡后,计算ei=h(IDi||σi)⊕K,fi=h(IDi||RPWi||σi)⊕K,gi=h(IDi||σi)⊕keyi,li=ri⊕h(IDi||K)=h(IDi||XGWN)⊕h(IDi||K),并用li替换ri,同时在智能卡中存储参数{ei,fi,gi,Gen(⋅),Rep(⋅),τi}.

5.2 登录阶段

当用户Ui要登录传感器网络时,将进行以下操作.

1)Ui在读卡装置中插入SCi,输入IDi,PWi和生物特征.SCi计算,并验证是否相等:如果不相等,则终止操作.

2)SCi进一步计算keyi=gi⊕h(IDi||σi),C1=li⊕h(IDi||K)=h(IDi||XGWN),生成随机数RNi,选择将要访问的节点Sj,计算C2=C1+RNi=h(IDi||XGWN)⊕RNi,C3=h(IDi||SIDj||C1||RNi||T1).其中,T1表示当前时间戳.

5.3 认证阶段

GWN 收到来自用户登陆请求后,利用keyi解密,得到参数(SIDj,C2,C3,T1),继续执行以下操作.

1) 验证|T2−T1|≤ΔT是否成立:

➢ 如果不成立,则终止协议;

➢ 反之,GWN 计算C4=h(IDi||XGWN),C5=C2⊕h(IDi||XGWN)=h(IDi||XGWN)⊕RNi⊕h(IDi||XGWN)=RNi,C6=h(IDi||SIDj||C4||C5||T1),并验证C6=C3是否成立:若成立,表明Ui是合法用户;否则,GWN 终止操作.接下来,GWN 提取Sj的主密钥MKj,计算.其中,T3表示当前时间戳.

2) GWN⇒Sj:{SIDj,C7}.

3)Sj接收到来自GWN 的消息后,解密C7得到IDi,和|T4−T3|≤ΔT是否成立.其中,是解密所得,而SIDj是接收到的消息.如果上述两项均成立,则Sj成功认证Ui;若任意一项不成立,则终止操作.进一步,Sj生成随机数RNj,计算会话密钥SK=h(IDi||SIDj||h(C4)||C5||RNi||T1||T5),C8=h(SK),C9=C5⊕RNj⊕IDi=RNi⊕RNj⊕IDi.其中,T5表示当前时间戳.

4)Sj→Ui:{C8,C9,T5}.

5)Ui接收到Sj的返回消息后,首先检验|T6−T5|≤ΔT是否成立.

➢ 如果不成立,则终止连接;

➢ 反之,SCi计算C10=C9⊕RNi⊕IDi=RNj,SK=h(IDi||SIDj||h(C4)||RNi||C10||T1||T5),C11=h(SK),并验证C11=C8是否相等:如果相等,则Ui成功认证Sj;否则,Ui终止操作.Ui和Sj实现相互认证,并建立共享会话密钥SK.

6 Fang 等人方案安全性分析

近期,Fang 等人[27]指出,Althobaibi 等人的方案[28]无法抵抗节点捕获攻击,GWN 仿冒攻击和中间人攻击,并且对内部攻击是脆弱的,故提出改进方案.Fang 等人提出的改进方案[27]仅采用对称密码技术,简单高效,适于资源受限的无线传感器网络.然而经分析,Fang 等人的方案[27]仍无法实现所宣称的抗内部特权攻击和智能卡丢失攻击,且存在前向安全性问题.

6.1 内部攻击

分析发现,Fang 等人[27]企图引入生物因子弥补内部攻击的安全漏洞并不可取.

· 一方面,生物特征具有唯一性和稳定性,一旦丢失将不可挽回[52,53].近几年,生物信息泄漏时有发生.2016 年,美国人事管理办公室(OPM)和国防部发现在最近的OPM 数据泄露事故中,2 150 万人的敏感信息被盗,其中约560 万人的指纹记录被泄漏[54].

· 另一方面,指纹等生物信息易于伪造.现实生活中,简单使用透明胶带或指纹膜即可伪造指纹.

因此,假设攻击者通过某种途径(系统泄漏、伪造或窃取)获取用户生物信息是现实的.

值得一提的是,多因子安全性是多因素认证协议最基本的安全目标,即假设攻击者获取多因子中的n−1 个因子,仍不能推测出另一因子或仿冒用户.在Fang 等人[27]的三因子认证协议中,假设攻击者A获得:1) 用户口令;2) 智能卡内秘密参数;3) 用户生物特征.其中任意两因子,仍不能得到最后一个因子,即攻击者能力C-3.根据以上推断及第2 节中攻击者能力C-1,我们假设攻击者A通过侦听用户注册阶段,截获用户注册请求消息{RPWi,IDi,keyi},并以某种方式(如拾到智能卡和用指纹膜提取指纹信息)获得了用户智能卡和生物信息,A可离线猜测出用户口令.具体过程如下.

1) A通过边信道攻击技术[33]提取智能卡内敏感信息{li,ei,fi,gi,h(⋅),Gen(⋅),Rep(⋅),τi};

2) A从用户口令空间Dpw中猜测PWi*;

3) A计算K*=h(IDi||σi)⊕ei,其中,ei从智能卡中提取,IDi从传输信道中获得;

事实上,很多协议(如文献[48])允许用户在注册阶段直接将生物因子传输给服务器,恶意管理员可在远程传输的过程中截获或内部提取用户生物信息.故假设攻击者获得用户生物信息是合理的.在这一假设下,上述攻击方式与第4.1 节中提出的攻击方式一致,攻击者可在多项式时间内离线猜测出用户口令.

6.2 智能卡丢失攻击

用户会选择便于记忆的低熵口令,而且用户可能利用个人信息构造口令,或重用口令,这些用户行为都会显著降低攻击者猜测口令的难度.近期,Wang 等人在文献[53]中指出,对安全的三因子认证协议,假设攻击者获取了用户智能卡和生物特征,仍能保证用户口令的安全性.事实上,由于在线或离线字典攻击技术的发展,确保三因子安全性并非易事.在Fang 等人的协议[27]中,假设攻击者通过边信道攻击技术(如差分能耗分析[33]、逆向工程技术[34]等)获得受害者智能卡内敏感信息[17],并通过PC 或支付设备的恶意扫描器获得用户生物信息Bi,则可以发起离线口令猜测攻击.

1) A通过边信道攻击技术提取智能卡内敏感信息{li,ei,fi,gi,h(⋅),Gen(⋅),Rep(⋅),τi}.

2) A计算σi=Rep(Bi,τi),其中,Bi通过其他途径获得,例如从PC 或者刷脸支付设备中窃取.

3) A从用户身份空间Did和口令空间Dpw猜测

不难发现,存在上述攻击的根本原因是用户智能卡中存储了口令验证项fi.为实现用户口令本地自由更新,同时防止离线口令猜测攻击,仍建议采用Wang 等人[35]提出的“模糊验证因子”技术,修改fi的计算方式为fi=h(IDi||RPWi||σi) modn.假设|Did|≤|Dpw|≤106[36],24≤n≤28,则至少存在232个候选(ID,PW)阻碍攻击者猜测出正确的口令.

6.3 前向安全性问题

Fang 等人在文献[27]中指出,基于Dolev-Yao 攻击者拓展模型,Althobaiti 等人的协议[28]不能抵抗节点捕获攻击,故Althobaiti 等人的协议未实现前向安全性.Fang 等人[27]明确假设:一旦攻击者A捕获传感器节点Sj,即可获取Sj的长期私钥MKj,这与第2 节中攻击者能力C-5 一致.在此假设下,攻击者A可通过侦听、截获任意用户Ui和Sj通信的公开信道的消息,获取Ui和Sj的会话密钥,具体流程如下.

1) A侦听并截获GWN 发往Sj的消息{SIDj,C7}.

2) A利用Sj的主密钥解密C7得到IDi,SIDj,C5,h(C4),T1和T3.

3) A侦听并截获Sj回送给Ui的消息{C8,C9,T5},提取T5,并计算RNj=C9⊕C5⊕IDi.

4) A计算会话密钥SK=h(IDi||SIDj||h(C4)||C5||RNj||T1||T5).

最终,攻击者计算C8=h(SK),验证计算的C8是否与截获的C8相等:如果相等,则说明攻击者A获得了Ui和Sj先前的会话密钥,则A可利用该会话密钥和截获的通信消息,解密Ui和Sj的通信.可见,一旦传感器节点Sj被攻击者捕获,任意用户与Sj的通信将会完全暴露给攻击者.值得一提的是,为了实现上述攻击,A只需侦听通信信道中的消息,无需与GWN 交互,A实施攻击后,可在GWN 未察觉的情况下,重启节点Sj.

在Fang 等人的协议[27]中,会话密钥的安全性与传感器节点的主密钥唯一相关.而在开放的网络环境中,恶意管理员或外部攻击者可能腐化或控制传感器节点,因此应确保会话密钥与传感器节点主密钥之间的独立性.为此,可采用Diffie-Hellman 密钥交换技术将Fang 等人协议中的随机数RNi和RNj修改为,在会话密钥SK的计算中级联,且RNi和RNj无需传输.由于仅用户Ui和与之通信的传感器节点Sj知道随机数RNi和RNj,攻击者无法从通信消息中计算出会话密钥,则可确保会话密钥的安全性.

综上,我们根据文献[18]中提出的标准对Mir 等人的协议[26]和Fang 等人的协议[27]进行了综合性的评估,见表3.基于本文增强的攻击者能力假设,目前已有的多因素认证协议均未能实现C3,即服务器管理人员可能通过内部攻击获得用户口令.上文中已分析,Mir 等人的协议和Fang 等人的协议均无法实现标准C4,C5,C12.此外,两个协议中未提及智能卡撤销操作,即无法实现C6;且采用时间戳机制,则无法实现C8.

Table 3 A systematic evaluation of Mir,et al.’s protocol and Fang,et al.’s protocol表3 Mir 等人的协议和Fang 等人的协议综合性评估

7 改进策略

自1981 年Lamport[12]首次提出口令认证密钥交换协议(PAKE)以来,基于口令的认证协议获得长足发展.然而早期的仅口令认证的协议,由于服务器负责验证用户输入口令的正确性,服务器不可避免地要存储口令相关的验证表项,势必存在内部攻击问题.1991 年,Chang 等人[29]首次将智能卡引入用户身份认证协议,智能卡的出现,极大地缓解了内部攻击问题.智能卡代替服务器验证用户口令,尽管并未从根本上解决离线口令猜测攻击,但却有效缓解了服务器端口令泄漏风险.本节将分析现有研究中针对内部攻击的增强策略的不足之处,并提出合理的解决方案.

7.1 已有增强策略

文献[55−57]中提出了一种常见的内部攻击场景,即用户在注册阶段将明文口令PW发送给服务器(如文献[58−60],服务器内部人员可能尝试利用窃取的用户口令访问其他网站的服务.文献[35]中指出,由于用户需要管理大量帐号信息,而用户记忆力有限,口令重用现象十分明显,因此上述内部攻击是现实的.近几年,协议设计者意识到存在内部人员威胁,协议设计中已基本避免此种类型的攻击发生.然而,本文第2 节中提到的攻击场景并未引起广泛重视.

Amin 等人在文献[61]中指出,Xue 等人的协议[62]存在第2 节指出的内部攻击,即用户将随机数加盐的口令发送给服务器,内部人员可能通过窃听服务器的通信、窃取用户智能卡的方式离线猜测出用户口令.但在随后提出的新协议中,Amin 等人并未给出合理的解决方法.同样的攻击在文献[63]中也明确提及,但仍未给出解决策略.文献[64−69]中虽未明确说明,但作者考虑到可能存在这一攻击,故在设计新协议时采取了适当的修正措施.分析发现:存在此类型内部攻击的关键在于随机数的保存,由于攻击者能够通过边信道攻击等技术[33,34]从窃取的智能卡中获得随机数,才使得上述内部攻击得以实现.

基于300 余个用户身份认证协议的分析经验,本文将现有协议中抵抗第2 节提出的内部攻击的改进策略分为7 类,见表4.其中,方案I 应用最为广泛,如文献[61,64−66].其注册过程不变,即用户向服务器发送用随机数加盐的随机口令,但在智能卡中不存储随机数明文ri,而保存ri⊕h(IDi||PWi).从第4.1 节的分析中可以看出,此种方案仅给攻击者增加了一次Hash 的难度,并未阻止攻击者离线猜测用户口令.第6.1 节中给出了方案II 的实例分析.现实生活中,用户生物特征信息泄漏现象时有发生,且生物信息一旦泄漏将无法挽回.遗憾的是,就我们所知,大量文献(如[67−69])均基于生物信息安全可靠的假设,生物信息安全性缺乏应有的关注.根据第6.1 节的攻击实例可得,方案II 的攻击与方案I 的攻击难度相当,但涉及用户隐私泄漏,方案II 存在更大的安全威胁.

文献[70]中,Namasudra 等人提出一个基于Chebyshev 多项式的简单、高效的用户口令认证协议.该协议注册阶段允许任意用户Ui将身份标识IDi和随机口令RPWi=h(PWi||IDi)⊕ri发送给服务器.服务器计算Ai=h(IDi||x),Ci=Ai⊕RPWi,将Ci写入智能卡并传送给用户.其中,ri为用户选择的随机数,x为服务器主密钥.用户接收到智能卡后,计算d1=Ci⊕ri,d2=h(PWi||IDi),以d1,d2替换智能卡中的Ci.可以看出:随机数ri包含在d1中,而计算出d1的关键在于服务器的主密钥x,我们称这种保护随机数的方法为方案III.事实上,方案III 易遭受智能卡丢失攻击.假设攻击者A已获得智能卡内秘密参数信息,则A可以直接猜测合理的,计算,并验证计算的是否等于提取的d2:如果相等,则表明A猜测的是正确的.攻击过程无需侦听通信信道,针对方案III 的离线口令猜测攻击更易实施.

Table 4 A taxonomy of improvement strategies表4 改进策略分类

为防止智能卡丢失攻击和内部人员攻击,Wu 等人[74]给出另一种以服务器主密钥保护随机数的方案III.在注册阶段,用户向服务器发送{IDi,RPWi}.服务器选择随机数ei,计算,服务器将写入智能卡并发送给用户.用户收到智能卡后计算并用T1,T2替换.然而在Wu 等人的[74]方案中,由于智能卡无法获知服务器主密钥x,因此不能验证用户输入的口令是否正确.口令验证过程由服务器实现,则不能实现“口令本地自由更新”.

方案IV 也存在两种实现方法.

· 文献[71]中,Wang 等人提出一个高效的基于动态ID 的远程用户口令认证协议.该协议注册阶段仅将用户身份标识IDi发送给服务器,由服务器选择用户口令,并将口令PWi以明文发送给用户.可见,Wang 等人的协议[71]不支持用户自由选择口令,仍然存在内部攻击威胁.

· 文献[72]中,Amin 等人对方案IV 的实现方法略有改进.用户在注册阶段发送身份标识IDi,服务器返回智能卡后,用户再输入选择的PWi.经分析,Amin 等人的方案[72]缓解了上述内部攻击,但存在两种类型的智能卡丢失攻击:一是直接利用智能卡内存储的秘密参数进行口令猜测;另一种是借助智能卡内信息和公开信道中的消息进行口令猜测.因此,方案IV 也不可取.

与上述方案不同,文献[73]在注册阶段未选择随机数,用户计算HPWi=h(PWi||IDi),将IDi和HPWi发送给服务器.我们称此类方法为方案V.不难看出,内部攻击者可直接通过截获的通信消息猜测出用户口令,故方案V 未解决内部攻击问题.方案VI 与方案V 如出一辙,以用户生物特征替换IDi来计算HPWi.依据第6.1 节的实例分析,方案VI 仍存在内部攻击威胁.此外,由于用户将生物特征发送给服务器,还可能存在隐私泄露风险.

文献[55]中,Sood 等人提出一种基于公钥密码技术的口令认证协议.在系统初始化阶段,服务器选择公私钥对,并公开公钥PK.用户注册过程先选择会话密钥SS,以会话密钥加密用户自主选择的身份标识和口令,再以服务器公钥PK加密会话密钥SS,即用户将{(SS)PK,(IDi)SS,(PWi)SS}发送给服务器.

此类方案有效解决了传输消息的安全性,但假设恶意内部管理员有权解密用户注册请求或监听到服务器解密及计算过程,则依然能获得用户口令.

总之,第2 节中提到的内部攻击威胁并未引起广泛关注,文献[17,35,75]仍建议将随机数以明文保存在智能卡中.上述7 类解决方案对内部攻击威胁有适当的缓解作用,但可能引入新的安全问题,并未从根本上解决内部攻击问题.本文将弥补这一缺陷,提出合理的解决方案抵抗内部攻击.

7.2 内部攻击解决方案

为避免服务器获得口令明文和用户隐私泄漏,采用“加盐Hash”技术传输口令相比其他几种方式更简单、安全、高效[35].基于对300 余个用户认证协议的分析经验,我们发现大多数采用“加盐Hash”技术实现用户注册的协议均无法抵抗内部攻击,这是因为这些协议均有以下两条性质.

1.RPWi由IDi,PWi和ri确定;

2.ri可由用户IDi,PWi或SC计算出来.

其中,ri表示用户在注册过程中选择的随机数,SC表示用户智能卡.以下我们将会说明,具有这两条性质的协议无法抵抗内部攻击.因此,我们称其为内部攻击的简易判断标准.

说明1.常见的口令存储形式有3 种:明文、加密、哈希值.明文不可取,而加密和直接Hash 均易被服务器还原,因此,增加一个随机盐可以有效增加口令的安全性.近年来,“加盐Hash”技术广泛应用于现有的身份认证协议(如文献17,19,20,35,71,75]),用户在注册阶段选择随机数ri,计算RPWi=h(PWi||ri),将{IDi,RPWi}发送给服务器,此类方法有助于确保服务器不能获得口令明文,且不能直接猜测用户口令.

说明2.假设用户登录阶段使用RPWi进行验证,即智能卡无需计算出随机数ri,则可能存在内部攻击者仿冒用户攻击.否则,智能卡需计算出ri,以验证用户口令PWi的正确性.此外,假设随机口令RPWi与用户IDi,PWi无关,则只能与服务器主密钥相关,而服务器的目标是验证用户的合法性,若以服务器主密钥推算随机数ri,则服务器相当于一个预言机,将为攻击者提供仿冒用户或验证猜测口令正确性的预言机服务.

综上所述,任意协议在用户注册阶段采用了“加盐Hash”技术传输用户口令,并且在智能卡中以某种方式保存了用户选择的随机数,该协议将无法抵抗内部攻击.针对此问题,本文提出一种新的解决方案,在此只简述用户注册过程的基本思路,协议登录、认证过程可兼容现有的用户身份认证协议.

1) 用户Ui选取身份标识IDi,口令PWi,生成随机数ri,计算RPWi=h(PWi||ri).

2)Ui⇒S:{IDi,RPWi}.

3) 服务器S随机生成安全参数ai,计算Xi=h(h(IDi||x)⊕ai),Fi=h((h(IDi)⊕RPWi) modn),Di=Xi⊕RPWi.在数据库中存储{IDi,ai};同时,将{Di,Fi,n}写入智能卡.其中,x为系统主密钥,n表示(ID,PW)池容量的整数,24≤n≤28.

4)S⇒Ui:智能卡.

5)Ui接收到智能卡,计算Xi=Di⊕RPWi,重新生成随机数,计算替换智能卡中的Di,Fi,并将写入智能卡.

需要指出的是:服务器接收到的RPWi与智能卡中参与计算的并不相同,即使攻击者截获了注册过程中的RPWi,提取用户智能卡中的安全参数,也无法借助随机数猜测出用户口令.此外,通过引入“模糊验证因子”技术[35],如第4.2 节和第6.2 节所示,增加了攻击者猜测出正确口令的难度.因此,本文提出的方案可以有效解决第2 节的内部攻击,同时允许用户自主选择口令,保护用户隐私,实现口令本地自由更新.

8 结 语

无线传感器网络的身份认证面临严峻挑战:一方面由于传感器节点计算能力和存储容量有限,无法支撑复杂密码协议;另一方面,攻击者的攻击能力不断增强,先前安全的协议在新的攻击场景下将不再安全.本文以无线传感器网络环境下的两个代表性认证协议为例,分析一种实际存在的、但未引起广泛关注的内部攻击威胁,并且给出攻击者的具体攻击过程.

具体来说,本文首先回顾Mir 等人的协议,指出其不能抵抗内部攻击和智能卡丢失攻击,且不能实现前向安全性;然后分析Fang 等人的协议,指出其同样不能抵抗内部攻击和智能卡丢失攻击,且未实现所宣称的前向安全性属性.针对Mir 等人的协议和Fang 等人的协议的具体失误之处,提出相应解决方案.本文指出一种被长期忽略的内部攻击,基于300 余个协议分析经验,对现有尝试抵抗内部攻击的方案进行分类,指出现有解决方案的不足之处,进一步提出合理的解决方案.根据本文提出的抗内部攻击方法,设计更安全高效的用户身份认证协议,是下一步值得研究的方向.

猜你喜欢

智能卡口令攻击者
基于贝叶斯博弈的防御资源调配模型研究
高矮胖瘦
口 令
正面迎接批判
正面迎接批判
好玩的“反口令”游戏
澄天伟业 国内领先的智能卡生产企业
健身气功·五禽戏教学口令
巴黎智能卡暨身份识别技术工业展落户亚洲
智能卡抗DPA攻击的设计与实现