APP下载

物联网环境下基于身份匿签密的认证方法研究

2023-05-05赵宗渠郭小杰殷明辉汤永利

关键词:智能卡密钥身份

赵宗渠,郭小杰,殷明辉,汤永利

(河南理工大学 计算机科学与技术学院,河南 焦作 454000)

0 引 言

物联网[1](internet of things, IoT)是集成了射频识别、传感器、全球定位系统等信息传感设备,将物、人、系统等资源与互联网连接并进行信息交互的一种泛在网络。在物联网应用领域中,存在分布式网络和集中式网络两种网络架构[2]。本文重点研究分布式网络中终端用户与传感器节点之间的认证。

现阶段分布式物联网包括智能医疗和智慧交通等多种典型应用场景。在智能医疗系统中,传感器节点负责连续或按需测量患者的心率、血压及体温等相关健康数据,并将其传输给智能设备等用户终端,医生或护士可以作为终端用户访问传感器节点,实时诊断患者病情或检查患者的健康状况。智慧交通系统利用传感器监测交通状况并收集违章驾驶、车流等数据,为终端用户及时疏通车流和处理交通事故带来了极大的便利。物联网的发展为终端用户通过现有网络基础设施远程控制或访问传感器节点提供了更多的适用场景[3]。

由于终端用户和传感器节点通信信道的开放性,攻击者易截获、修改或重放信道上传输的消息,从而带来各种安全问题和隐私威胁。此外,物联网中用于收集数据的传感器节点属于资源受限设备,其计算与通信能力有限,一般以电池方式供电,能量补充较为困难[4]。因此,如何在节省传感器节点能耗的前提下实现安全通信是物联网环境下身份认证机制研究的重点。

尽管很多学者对物联网环境下身份认证方法进行了深入研究并取得了丰硕成果,但物联网具有应用环境复杂多变、传感器节点资源有限等特性,传统成熟有效的认证方法无法直接应用。基于此,本文提出一种身份隐藏认证方法,具备如下3个特点。

1)实现包括隐藏与可否认的身份隐私安全性。方法的运行记录不泄漏用户和传感器节点的任何身份信息。传感器节点根据用户请求消息生成与其不可区分的认证消息,任何第三方在获得传感器节点转发的认证消息时,无法判断消息的真正来源。

2)实现包括机密性及完整性的通信数据安全。未经授权的参与者无法破解用户或传感器节点传输的数据,确保发送或接收的数据没有被恶意修改。

3)适应物联网的计算和通信效率。利用对称双线性群构造的IBHigncryption加密机制实现双重身份认证,使用较少的双线性对运算,通信轮数优化至两轮,使节点的通信/计算开销和能耗明显下降。

1 相关工作

为提高端到端认证的安全性和执行效率,文献[5]提出适用于物联网环境的用户认证方法,使用RSA(Rivent-Shamir-Adleman)公钥加密算法构建,完成通信会话需要多次消息传输,对传感器节点而言负担过重。文献[2]提出一种基于椭圆曲线加密(elliptic curve cryptography, ECC)的认证密钥协商方法,使用较小的密钥实现相似的安全性,将节点的计算成本实现最小化,适用于分布式物联网。虽然ECC与其他公钥加密算法相比需要较少内存和较低计算能力,但易受到侧信道攻击[6]。

首个基于双线性对的智能卡认证方法由文献[7]提出,智能卡的使用提高了方法的安全级别,但无法抵抗假冒攻击[8]。文献[9]提出新的基于双线性对的匿名认证和密钥协商方法,解决了用户匿名性的安全要求,但存在无法抵抗假冒攻击和效率不高等缺陷[10]。文献[11]提出一种适用于无线传感器网络的安全和隐私保护认证方法,将部分认证消息存储在智能卡中,通过基于双线性对的加密机制完成认证,能抵抗离线口令猜测攻击、假冒攻击等常见攻击。文献[12]针对文献[11]存在被盗智能卡攻击、离线口令猜测攻击和数据泄露攻击等问题,提出相应的改进方法。大多数物联网资源受限,要求用户认证方法必须有较低的计算量和通信量,但易于被敌手攻破[13]。

基于身份的密码(identity-based cryptography, IBC)体制概念由Shamir在1984年首次提出[14],包括基于身份的签名机制(identity-based signature, IBS)和基于身份的加密机制(identity-based encryption, IBE)。2001年,文献[15]提出实用且功能完备的IBE密码系统,使用双线性对实现数据的加/解密,并证明了系统的安全性。随着移动设备的快速发展和大规模应用,研究者们已经集中精力设计出轻量级的密码机制[16]。文献[17]利用双线性对提出一种基于IBE的双向认证方法,降低了通信开销,但不满足匿名性和不可追溯性[18]。

2 背景知识

根据文献[16]可知,Gap-BDH和Gap-SBDH是等价的问题。

定义2(IBHigncryption机制) IBHigncryption是一种实现公钥加密、实体认证和身份隐藏的认证加密机制。IBHigncryption机制由以下4个算法组成。

1)Setup:输入安全参数κ,该算法输出系统所需公共参数params和主密钥msk,主密钥是私密的。

2)KeyGen:将参数params、主密钥msk和实体身份ID输入,算法输出与实体身份所对应的私钥SK。

3)IBHigncrypt:输入系统公共参数,发送者Alice的公私钥对(IDA,SKA),接收者Bob的身份标识IDB,明文消息M←{0,1}*及对应相关信息H←{0,1}*,输出相应的IBHigncrypt密文(C)或失败标识⊥。

4)UnIBHigncrypt:输入系统公共参数,C和接收者Bob的公私钥对(IDB,SKB),若认证成功,输出有效明文(M,IDB),否则输出⊥。

正确性:对于任意足够大的安全参数κ,密钥对(IDA,SKA)、(IDB,SKB),其中SKA/B←KeyGen(params,msk,IDA/B),以及∀H,M∈{0,1}*,有UnIBHigncrypt(params,SKA,IDA,IDB,H,M)=(IDA,M)式子成立,此时IBHigncrypt(params,SKA,IDA,IDB,H,M)≠⊥,则IBHigncryption满足正确性。

参与方法的两个实体:用户、传感器节点,分别作为IBHigncryption的发送方和接收方。

3 方法构造

3.1 系统初始化

本阶段,可信第三方(TTP)使用安全参数K按如下步骤执行系统初始化,生成系统所需的公共参数和主密钥。

1)选择两个拥有相同素数阶q的乘法线性映射组G1=和GT,构造双线性映射e:G1×G1→GT。

4)输出参数Δ={q,G1,GT,e,g,h1,h2}。

3.2 系统注册

3.2.1 传感器节点SN注册

1)SN选择身份IDj←(R){0,1}*,将{IDj}通过安全信道发送给TTP,其中←(R)表示随机选取。

2)TTP收到注册消息后,检查IDj是否被注册。已被注册,则终止会话;否则TTP输入参数Δ和主密钥s,计算TPKj=h1(IDj)s和vR=h2(s),生成共享密钥KRS=(vR⊕IDj⊕IDR),IDR为TTP的身份标识。

3)TTP将请求响应{KRS,TPKj}发送给SN。

3.2.2 用户注册

1)用户U选择IDi←(R){0,1}*和口令PWi,生成随机数ri并计算RU=h2(PWi,ri),将{IDi,RU}发送给TTP。

3)U将随机数{ri}存入智能卡。

3.3 认证与密钥协商

假设通信双方在公开信道上执行身份认证与会话密钥协商,认证密钥协商阶段如图1所示。

图1 认证与密钥协商流程

3.4 正确性

U计算的会话密钥skU=h2(WU‖PSU‖TDj),WU、PSU的计算式为

由SN计算的会话密钥skS=h2(WS‖PSS‖TDj),

WS=X⊕KRS⊕IDj=

h1(IDi)x⊕(vR⊕IDj⊕IDR)⊕IDj=

h1(IDi)x⊕vR⊕IDR

(3)

PSS=e(X,TPKj)=e(h1(IDi)x,h1(IDj)s)=

e(h1(IDi),h1(IDj))xs

(4)

由(1)—(4)式可知,等式WU=WS和PSU=PSS成立,时间戳TDj相同,故用户和传感器节点生成相同的会话密钥,满足正确性。

4 安全分析

4.1 安全模型

方法的参与者为用户U和传感器节点SN,用户均拥有从身份空间ID={0,1}*、口令空间X中随机选择的身份IDi和口令PWi,保存包含秘密值{ri,ARU}的智能卡。SN维护{KRS,TPKj}列表项,其中包含由TTP生成的共享密钥和服务器身份对应的私钥。

假设概率多项式时间(PPT)敌手A可控制IoT网络中的公共信道,截获通信中明文信息,修改甚至伪造消息。用P表示所有协议参与方的集合,A可以实现访问以下查询与实例模拟交互。

hi(m):A对消息m发起哈希查询hi(m)(i=1,2),模拟器C检查哈希列表Lh是否存在条目(m,hi(m))。若存在,将hi(m)返回给A;否则C在hi(·)值域内选择随机数R并设置hi(m)=R。最后,C将(m,R)添加到Lh列表并将响应值hi(m)返回给A。

语义安全:A攻破语义安全的优势定义为AdvP=|2Pr[Succ]-1|,Pr[Succ]为敌手赢得游戏的概率。对任意概率多项式时间的敌手A,若AdvP值是可忽略的,则称所提方法具有语义安全性。

4.2 形式化证明

证明:通过游戏Gamei(i=[0,3])模拟A发起的各项攻击。事件Succi表示A成功猜测Test查询中的比特值并赢得游戏Gamei的情况。

Game0:这个游戏模拟A发起的真实攻击。首先,b值被随机选择。依据定理,存在

Adv=2Pr[Succ0]-1

(5)

生成skU需要用户提供正确的身份、口令以及智能卡,A无法同时提供这些秘密值。因此,窃听传输信道的消息无法增加A赢得游戏的机会,有

Pr[Succ0]=Pr[Succ1]

(6)

|Pr[Succ1]-Pr[Succ2]|≤

(7)

随机数x使每次会话计算的参数PSU、PSS不同;在口令和传感器身份未知时,敌手拥有智能卡也无法恢复出WU和WS。此外,系统通常限制认证失败的次数远小于|X|,若敌手在智能卡丢失/被盗情况下发起在线字典攻击,成功的概率仍可忽略。

用户口令PWi未知时,从智能卡的参数ARU中恢复有用信息或者伪造用户/传感器节点完成认证是困难的。Game3和Game2是不可区分的,即

(8)

所有的预言机都被模拟,敌手A只能通过查询Test预言机来猜测b的值,即A在区分真正会话密钥和随机会话密钥方面没有优势,有

(9)

因此,从(5)—(9)式可得

|Pr[Succ0]-Pr[Succ1]|+|Pr[Succ1]-

Pr[Succ2]|+|Pr[Succ2]-Pr[Succ3]|≤

4.3 身份隐藏及其他安全性分析

1)身份隐藏和可追溯性。交互消息{X,C1,TDi}被拦截时,参数X=h1(IDi)x由抗碰撞哈希函数和随机数x计算所得,隐藏用户身份IDi。即使A获得X和IDi,在x未知时,X=h1(IDi)x成立的等价性无法确认。

C1=EnckU(IDi‖WU‖x)使用临时密钥kU加密用户身份,A得到kU才能恢复用户身份。而计算kU=KDF(PSU,X‖IDj),需获取参数值PSU=e(TPKi,h1(IDj)x)和X=h1(IDi)x。主密钥s的秘密性保证参数TPKi安全,使A无法恢复PSU和X。

消息M2传递参数C2=EnckS(WS‖PSS),A需计算kS=KDF(PSS,X‖IDj)来获取身份,参数KRS的秘密性同样使A无法计算出正确的参数{PSS,WS}。

2)不可链接性和可否认性。消息{M1,M2}是动态生成的,参数均包含随机数、当前时间戳和单向哈希函数值,A无法确定验证消息是否属于同一用户,即不能被敌手链接。SN接收消息M1后,能生成与用户相同的秘密值kS=kU,模拟与用户端相同的认证消息,使第三方无法确定消息的真正来源。

若A利用参数{kU,kS}假冒用户/传感器节点,须正确计算出{PSU,PSS}。而参数{TPKi,TPKj}由可信第三方私钥计算所得,并秘密存储,无法假冒。

4)随机值泄露保护。假设最多一个随机值x泄露给敌手,A试图利用该值伪造合法的消息。

计算kU=KDF(PSU,X‖IDj)的关键在于PSU。由于TPKi值由私钥s计算所得,即使A获取随机值x,也无法伪造参数TPKi,同时PSU也不会被泄露。计算WU需获取口令PWi和智能卡内参数{ri,ARU},显然这是困难的,故A无法伪造值{kU,WU}。同样,A伪造密文C2也是困难的,即A无法建立有效消息M2={C2,TDj},因此随机值泄露不会影响安全性。

表1 安全性质比较

5 效率分析

本节比较分析所提方法、文献[10]、文献[17]和文献[18]的方法在认证与密钥协商阶段的通信、计算开销和传感器节点能耗开销。在物联网实际应用场景中,用户端能源相对充足,传感器节点作为资源受限设备,被部署在无人监管的环境,消耗的资源难以得到实时补充,只支持较低的通信开销与计算量,本文主要分析传感器节点的通信能耗和计算能耗。

采用crossbow公司开发的MICAz无线测量传感器节点,MICAz平台硬件指标分别设置为工作电流8.0 mA、工作电压3.0 V、接收数据电流19.7 mA、发送数据电流17.4 mA、数据传输速率250 kbit/s。依据上述硬件指标和文献[20]提出的性能评估模型可得,执行1 ms计算、发送1 bit数据和接收1 bit数据的能耗分别为0.024 mJ、0.000 21 mJ和0.000 24 mJ。

假设以下条件成立:①随机数、时间戳、身份标识、双线性映射输出的位长度均为128 bit;②哈希函数均使用SHA-1,哈希值输出的位长度为160 bit;③所有对称加密均使用128 bit AES加密系统,加/解密输出的位长度为128 bit。从以上假设可知,用户的通信开销为160+128+128=416 bit,传感器节点的通信开销和能耗分别为128+128=256 bit、0.054 mJ,故总通信开销为416+256=672 bit。文献[10,17-18]的总通信开销分别是800、1 248和1 344 bit。表2是本文方法与其他同类研究[10,17-18]通信开销的比较结果。由表2可得,所提方法降低了传感器节点的通信开销和能耗,只需两轮通信便可完成认证与密钥协商,总通信开销也低于同类方法。因此,相比于文献[10,17-18],本文方法的通信效率明显较高。

表2 通信开销比较

计算开销主要取决于模幂运算、双线性对操作、对称加/解密以及哈希运算所消耗的时间。表3列出了计算开销的比较结果。其中,Tex、Tbp、Ts和Th分别表示模幂运算、双线性映射运算、对称加/解密和哈希函数,其他运算的计算时间可忽略不计。为公平评估计算开销,本文参考文献[21]的配置:2.20 GHz Intel Pentium Dual CPU处理器,2 GB运行内存,32位Ubuntu 17.04.1 LTS 操作系统下。Tex、Tbp、Ts、Th的计算时间分别为3.85、5.811、0.004 6和0.002 3 ms。

表3 计算开销比较

由表3可知,用户端执行时间为13.527 1 ms,传感器节点执行时间和计算能耗分别为9.674 8 ms、0.232 2 mJ,总执行时间为23.201 9 ms。文献[10]的总执行时间为27.049 6 ms,文献[17]的总执行时间为34.877 5 ms,文献[18]的总执行时间为30.996 9 ms。从计算开销分析可知,方法中传感器节点的计算开销和能耗明显下降,总计算开销低于同类方法。

6 结束语

本文使用双线性对映射算法和基于身份匿签密,提出一种可证安全的适用于物联网应用场景的身份隐藏认证方法,利用用户口令和智能卡完成双向认证和会话密钥协商,满足会话密钥的语义安全性;通过与同类方法在安全特性、通信开销和计算开销方面的对比分析评估了所提方法的性能。结果表明,所提方法提供身份隐私和通信数据的安全性,能够抵抗已知的物联网攻击;同时,传感器节点的计算量和通信量明显下降,符合物联网应用场景的实际需求。

猜你喜欢

智能卡密钥身份
密码系统中密钥的状态与保护*
东方磁卡李晓东:进击的智能卡研发巨子
一种对称密钥的密钥管理方法及系统
基于STC89 单片机的非接触智能卡读写机设计
跟踪导练(三)(5)
基于ECC的智能家居密钥管理机制的实现
身份案(下)
他们的另一个身份,你知道吗
临沂机顶盒智能卡升级方案介绍
放松一下 隐瞒身份