APP下载

基于TePA的并行密钥隔离机制研究*

2018-09-29张振华张广驰张秋镇

通信技术 2018年9期
关键词:私钥公钥攻击者

林 凡,张振华,,成 杰,张广驰,崔 苗,张秋镇

(1.广州杰赛科技股份有限公司 创新创业中心(技术中心),广东 广州 510310;2.广东工业大学 信息工程学院,广东 广州 510006)

0 引 言

1976年,Diffie等人[1]首先提出公钥加密算法机制。目前,最常用的RSA加密机制由Ron Rivest等人[2]提出。在公钥加密算法机制中,通信两端拥有一对公钥和私钥,公钥用于发送端对明文进行加密,相匹配的私钥用于接收端对接收所得的密文进行解密。因此,该机制中必须确保密钥的真实性和有效性。1984年,Shamir[3]首先提出了基于身份的加密(IBE)机制,针对公钥认证问题,用户可以直接将设备的身份信息作为公钥,系统中的密钥生成中心(KGC)根据用户身份和系统密钥值通过哈希函数的计算生成用户的私钥。

此后,大批基于非对称秘钥算法的物联网系统被建立起来[4-10]。2006年,Hanaoka等人[11]提出了并行密钥隔离(PKIE)机制,使用两个彼此独立的协助器交替更新用户私钥;2017年,何粒波等人[6]提出无证书并行密钥隔离加密机制,将PKIE机制和CL-PKE机制相结合,形成了新机制CL-PKIE。

其中,文献[4]提出的三元对等鉴别(TePA)机制在物联网系统上得以应用。该项鉴别机制在通信实体A与实体B之外引入了可信第三方,并使用可信第三方分别鉴别实体A与实体B的身份信息。在实体A与实体B互不信任且在不泄露身份信息的情况下,该鉴别机制有效解决了实体之间的对等鉴别。实际应用中,TePA架构得到了大量应用。该架构的智能设备中使用预分配认证密钥或通过密钥生成中心更新认证密钥。前者使用固定密钥,降低了系统的安全性;后者则存在明显的系统私钥泄露问题。同时,密钥托管问题成为最大的挑战。

因此,本文在TePA机制里加入并行密钥隔离机制,以解决物联网系统中的密钥托管问题。尽管攻击者能够窃听密钥生成中心生成的部分私钥,但部分私钥并不是窃听通信过程中的密文信息,此时结合TePA的架构机制,可以更好地解决物联网系统的安全性问题。

1 TePA架构的身份校验机制

本文将TePA架构应用于物联网系统,通过在物联网系统上的传感设备节点部分与网络服务管理平台部分加入对等身份校验功能,同时引入认证服务器对传感设备节点和网络服务管理平台进行身份信息鉴别,从而建立三者初次建立连接时必须进行多次握手的对等身份校验。

TePA架构体系中,身份校验流程如图1所示。每次身份校验由NSP发起,向REQ发送挑战认证请求。REQ将加密后的校验信息经过NSP发送到AS。在中转REQ的校验信息时,NSP也将自身的加密校验信息一并发送至AS。AS将前两者的校验信息进行解密并进行身份校验,最终将REQ的校验结果使用NSP的公钥进行加密发送至NSP,并将NSP校验结果使用的REQ的公钥进行加密发送至REQ。其中,校验结果信息的报文中也携带AS的身份校验信息,从而实现了REQ、NSP和AS的对等鉴别。本文主要将CL-PKIE引入TePA架构,提出了新型基于并行密钥隔离的TePA架构。在通信和身份鉴别过程中,物联网系统能够实现安全密钥更新,并有效防止内部节点攻击等。

图1 TePA架构的身份校验协议流程

2 基于TePA的并行密钥隔离安全模型

基于TePA的并行密钥隔离方案主要是在系统初次建立时完成REQ、NSP以及AS的密钥协商。整个协商过程包括系统初始化和生成密钥两个阶段。系统初始化阶段,系统网络的各个节点设定安全参数K,并生成系统密钥参数。密钥生成阶段,基于并行密钥隔离机制的密钥生成过程,AS通过协助器生成协助器密钥、主密钥等部分私钥,通过TePA的协议信息进行参数传输。NSP与REQ则分别根据接收的部分私钥与自身节点上的部分私钥生成完整私钥,进一步生成公钥,并向系统网络进行广播。

2.1 系统初始化

AS中预先设定一个安全参数k∈Z+,并进一步实现初始化。

(1)根据安全参数生成两个k位的素数p和q,其中q|p-1,并设定Z*p的生成元P。

(2)随机获取x∈Z*p,进一步得到Ppub=x·P。

(3)系统各个节点统一选择加密算法中哈希函数 H1、H2、H3和 H4:

其中l0,l1∈N。

(4)令master-key,help-key都为x。

AS公开密钥参数:

(5)由于在并行密钥隔离机制中密钥生成中心(KGC)与协调器隔离,本系统将协调器设置在各个网络节点。协助器密钥生成通过params、系统当前的时间周期i∈{1,2,…,n-1}、自身设定的网络节点信息IDAS和校验过程获取的节点信息IDREQ进行运算:

①计算 φ=x(H2(ID,i)-H2(ID,i-1));

②令HKID,i=φ,并返回HKID,i。

2.2 密钥生成阶段

一旦完成系统初始化,系统将进入密钥生成阶段,具体架构如图2所示。其中,NREQ表示随机实数,PKREQ表示REQ的公钥,IREQ为REQ的身份校验信息,IREQ包括节点身份信息和信息的数字签名。

图2 系统身份校验机构

(a)AS将当前密钥参数params、PKAS发送至NSP。NSP根据自身的身份信息IDNSP、密钥参数params,通过给定的秘密值生成算法输出秘密值xNSP∈Zq,并等待新的REQ加入。

(b)当新的REQ加入系统网络,NSP进行挑战询问REQ的身份信息,NSP向REQ发送挑战询问分组{params,PKAS}。

REQ接收到该请求分组后进行如下操作:

①REQ识别分组的密钥参数params,并通过秘密值生成算法计算秘密值xREQ∈Zq;

②REQ根据自身身份信息IDREQ、密钥参数params,通过初始密钥生成算法计算初始私钥。该算法随机选择s∈Zp,计算部分公钥PID=s·P,并进行如下运算:

③REQ根据params和秘密值xREQ,通过公钥生成算法计算U=xREQ·P,然后输出公钥PKREQ=(Ω,U)。

(c)REQ构建接入请求分组{NREQ,PKREQ,IREQ},并使用PKAS对身份校验信息进行加密,运算如下:

②随机选择σ∈{0,1}l1,计算r=H3(M,σ),其中M为校验信息明文。

③计算c1=r·P,c2=H4(k1,k2)⊕(M||σ)和k1=r·P,k2=r·ΓIDAS

④输出身份校验信息的密文C=(i,c1,c2),其中M为身份校验信息的明文。

(d)NSP接收到来自AS的密钥参数{params,PKAS}后,通过秘密值生成算法计算秘密值xNSP∈Zq,通过公钥生成算法和初始密钥生成算法计算NSP的公钥私钥,进一步使用PKNSP对{NNSP,PKNSP,INSP}进行加密。NSP将接入请求分组与自身的身份信息合并,构建校验申请分组{NREQ,NNSP,PKREQ,PKNSP,IREQ,INSP},将校验申请分组发送至AS。

(e)AS接收到校验申请分组后进行密文C=(i,c1,c2)解密,解密算法操作如下:

①计算 M||σ=H4(xAS·c1,i·c1)⊕ c2。

②获得M、σ后进行校验等式H3(M,σ)·P=c1是否成立,若成立,则完成校验返回明文M;否则,判断密钥无法配对,并结束校验。

先根据明文M={PKREQ,PKNSP,IREQ,INSP}识别并鉴别NSP和REQ的身份信息,同时记录其对应的公钥。一旦完成对NSP和REQ的身份鉴别,AS计算当前HKIDAS,i值,并通过私钥更新算法进行私钥更新,运算如下:

同时更新私钥为SAS,i。

然后,构建校验申请响应:

并根据响应的发送目标使用相应公钥进行加密。其中,RES为AS对目标节点的身份校验结果,随机数NX=N。最后,AS进行将响应报文发送到NSP,删除 SAS,i-1和 HKIDAS,i。

(f)NSP识别并解密校验申请响应中对REQ的校验结果信息{NNSP,RESREQ,IAS-NSP},根据RESREQ判定REQ的身份信息。若不安全,则判定当前REQ校验失败;反之,则构建{NREQ,RESNSP,NSPREQ,IAS-REQ,INSP-REQ}接入请求响应并向REQ发送。

(g)REQ识别并解密校验申请响应中对NSP的校验结果信息{NREQ,RESNSP,NSPREQ,IAS-REQ,INSP-REQ},根据RESNSP判定NSP的身份信息。若安全,则判定系统各个节点为安全的;反之,则判定校验失败。

3 协议逻辑证明

本节根据扩展GYN逻辑[12]对提出的身份认证协议进行分析证明,证明中数学符号说明如表1所示,其中R表示REQ,NS表示NSP,A表示AS。

表1 协议交互过程的GNY逻辑表示

其中,*X表示X不是由此首发的;◁表示被告之;~表示被传输过;#X表示X是新鲜的;)(Xφ表示X是可识别的;|≡表示相信;(X,Y)表示X、Y的合取式;XP*◁表示P接收到X且相信X是新鲜的。P |≡#X表示P相信X是新鲜的,协议执行过程中P是第一次见到X;P|~X表示P曾经发送给X,X可以是消息本身,也可以是对某个消息重新计算得到的结果;表示告知规则,即如果某一个公式告知了P,那么说明P是被告知了该公式的全部组成部分;表示识别规则,如果P相信X可识别可认证,则包含X的组合消息以及所有关于X的计算函数F(X),P相信都可识别可认证;表示新鲜规则,如果P相信X是新鲜的,则包含X的组合消息以及所有关于X的计算的函数F(X)值,P相信都是新鲜的。

本文方案协议最终实现NSP与REQ的身份对等校验。因此,协议的目标可表示为:

初始条件为:

(1)由 N S | ≡ϕparams 和识别规则,得:

因NS◁*(NRPKRR),根据告知规则,可得:

又因 N S|≡# NR,根据新鲜性,可得:

结合:

可得:

(2)因A | ≡ϕ(NRIRNNSINS),由识别规则,得:

因上述证明,得A | ≡#(NNSNR)。

由新鲜规则,有:

由:

可证:

(3)由上述证明,得:

由初始条件:

结合新鲜规则和识别规则,可得:

又因为:

可证:

4 协议分析

4.1 安全性分析

本节从以下几方面对本文方案进行安全性分析。

假冒攻击。在本方案的认证过程中,各个分组中包含随机数NX。假设攻击者获取系统中上一次的认证信息并进行假冒攻击,由于无法获取当前认证过程中的随机数,当NSP向AS发送校验申请分组{NREQ,NNSP,PKREQ,PKNSP,IREQ,INSP}时,AS首先检验分组信息中是否存在随机数NXold=NX。是,则过滤该分组信息。若攻击者更改上次认证信息中的随机数,则AS进一步比较分组中的数字签名I=H(N||PK||I)。若不等,AS则判定该认证信息XXD已被非法篡改。同理,REQ与NSP根据随机数以及数字签名有效抵抗攻击者的假冒攻击。

重放攻击。假设攻击者窃取认证过程中的分组信息,并对本系统进行重放攻击。由于每次分组信息都携带一个当前认证过程产生的随机数NX,引入随机数机制保证分组信息的新鲜性,且结合过滤机制,通过比较当前随机数NX与以往认证过程中的随机数NXold,可有效识别攻击者对系统实施的重放攻击。

安全密钥更新。本方案通过引入并优化并行密钥隔离算法,在系统初始化时根据系统初始值生成初始私钥SREQ,0。系统进行密钥更新时,协调器产生协助器密钥HKID,i,并通过密钥更新算法由前一时刻的种子私钥和协助器密钥计算下一时刻的私钥SAS,i。不依赖密钥生成中心的条件下,各个节点实现安全的自主密钥更新。

防止内部攻击。假设攻击者窃取到某一节点的私钥,尽管在该密钥更新周期内攻击者能窃听到该节点的通信数据,但下一更新周期,节点根据自身的协调器生成的协助器密钥HKID,i进行私钥更新,攻击者无法获取相应的协助器密钥,将无法实现私钥更新。另外,假设密钥生成中心被攻击者入侵并获取各个节点的初始数据。由于系统引入了安全密钥更新体制,一定时间后可实现私钥的更新,而密钥生成中心无法获取系统节点的私钥,本系统将能够有效抵御攻击者的内部攻击。

伪造攻击。假设攻击者对本系统进行伪造攻击,攻击者需要获取新的随机数NX和公钥PKX,构造新的分组数据替换原节点的认证信息,并进一步通过认证。本方案的认证过程中,随机数NX是随机产生的,而分组信息中包含各个节点的校验信息IX。由于节点使用的私钥不断更新,攻击者无法获取对应的IX,导致攻击者无法获取正确的校验信息通过身份认证。因此,本方案有效抵抗了伪造攻击。

双向认证。双向认证为本方案中REQ、NSP、AS三元之间的两两认证。AS接收到来自NSP的分组信息{NREQ,NNSP,PKREQ,PKNSP,IREQ,INSP},首先检测NREQ与NREQold。若NREQ=NREQold,则过滤REQ相应的认证信息;否则,进行对REQ的身份认证。比较分组信息中的数字签名,判断是否存在I=H(N||PK||I)=I。若相等,进一步判断REQXXIDSig

的身份信息IREQID是否合法。若检测存在AS记录信息FIREQ=F(IREQ),则判定REQ为合法。REQ接收到AS认证后的响应分组信息{NESNSP,NSPREQ,IAS-REQ,INSP-REQ},首先比较 N。若 N与NREQ不等,则过滤当前认证信息;相等,则校验数字签名IAS-REQ与INSP-REQ的合法性,最终检测并接收AS对NSP和NSP对REQ的认证合法性。同理,NSP能够对等识别出AS对REQ的身份合法性。

表2中给出了改进协议与现有的物联网系统认证安全性对比。可见,改进协议具有更好的安全性能。

表2 引用协议的安全性比较

4.2 性能分析

4.2.1 计算开销

将目前基于物联网系统的TePA机制与文中方案进行比较,主要从信息加密、数字签名以及签名校验方面的消耗给予讨论。仅当传感器节点新加入系统网络时,新节点需要进行公钥、秘密值与初始密钥的生成,此时增加了系统的计算开销。相比现有基于TePA系统的密钥机制,本方案的计算开销与TePA安全方案[4]几乎一样。同时,通过加入PKIE机制,本方案提供了更强的安全性。而身份校验过程中传感器节点的计算消耗比较如表3所示。

表3 传感器节点在校验机制过程中的计算开销

在计算成本的定义中,设定p、q都是1 024位的素数,密钥长度160Bit,签名算法使用椭圆曲线签名算法,将符号Th定义为哈希运算时间,TPA表示点乘运算时间,TE作为Zp和Zq中的幂运算时间,P为双线性对运算。定义ECC机制下密钥为160Bit的加密运算时间为2TECC[12]。其中,由于本文方案与龙昭华等人的方案都基于椭圆曲线的离散对数困难问题,于是有TECC=3TE,则ECC加密运算时间签名验证时间为6TE,解密运算时间和签名生成时间为3TE。计算开销中,哈希运算复杂度远小于循环群的幂运算,因此本文方案中哈希运算和群上的加法、点乘运算被忽略不计。

4.2.2 储存消耗

新的传感器节点加入到系统网络时,只需预存储身份ID。身份校验阶段,该节点所需保存的信息有:(1)身份校验参数{NREQ,NNSP,DREQ,DNSP};(2)秘密值、自身的公钥和当前时间周期的私钥、NSP和AS的公钥。身份校验阶段结束后,该节点仅将当前时间周期的私钥存储下来。所以,本校验机制中,传感器节点仅在身份校验阶段增加了一定的存储消耗,在校验结束后只需保存当前周期的私钥。

5 结 语

为了解决在实际不安全的通信环境中的私钥泄漏问题,本文给出了基于并行密钥隔离机制的TePA协议,提高了TePA协议系统抵御密钥泄漏的能力,结合并行密钥隔离机制与TePA协议机制,增强了身份校验协议的安全性。本文给出基于CL-PKIE的TePA系统的安全模型,并给出系该安全模型相应的具体方案,最后在安全性能、系统开销方面进行方案分析,证明了本方案的可认证性和机密性,在提高安全性能的同时,保证了合理的系统开销。

猜你喜欢

私钥公钥攻击者
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
案例教学法在公钥密码体制难点教学中的应用——以ssh服务中双向认证为例
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
神奇的公钥密码
正面迎接批判
正面迎接批判
一种基于虚拟私钥的OpenSSL与CSP交互方案
国密SM2密码算法的C语言实现
P2X7 receptor antagonism in amyotrophic lateral sclerosis