买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种用于NFC的匿名安全认证与密钥协商方法_电子科技大学_201810053887.9 

申请/专利权人:电子科技大学

申请日:2018-01-19

公开(公告)日:2020-11-17

公开(公告)号:CN108199850B

主分类号:H04L9/32(20060101)

分类号:H04L9/32(20060101);H04L9/30(20060101);H04L9/08(20060101);H04W4/80(20180101);H04W12/04(20090101);H04W12/06(20090101)

优先权:

专利状态码:有效-授权

法律状态:2020.11.17#授权;2018.07.17#实质审查的生效;2018.06.22#公开

摘要:本发明提供一种用于NFC的匿名安全认证与密钥协商方法。本发明在认证与密钥协商过程中,双方使用自己的私钥、对方的身份信息和协议过程中交换的随机值进行一种双线性变换,计算出双方共享的一个安全秘密值E来作为构建双方会话密钥的重要参数;该秘密值的安全性基于交互双方各自私钥的保密性,即使攻击者为内部设备,也将不能计算该秘密值,所以内部不诚实设备将不能实施冒充攻击。同时,协议交互过程中传递的所有消息都具有随机性与匿名性,攻击者不能从中得到设备的信息。本发明在成功阻止内部冒充攻击的同时,也为设备提供了较强的匿名性保护,把NFC认证协议的安全保护提高到了一个新的等级。

主权项:1.一种用于NFC的匿名安全认证与密钥协商方法,其特征在于,包括以下步骤:1初始化步骤:1-1首先可信服务管理机构TSM为近场通信NFC设备规定在进行匿名认证与密钥协商时使用的参数:p阶椭圆曲线上的加法群G1、G1上的一个基点G、p阶有限域上的乘法群G2、模p的乘法群NFC系统密钥分发函数KDF、安全哈希函数f、安全哈希函数H和双线性映射其中,安全哈希函数H映射为H:{0,1}*→G1,表示把普通0,1二进制数据映射为群G1上的元素;双线性映射且有如下三个性质,其中X1,X2,Y1,Y2皆为G1上的元素:1双线性:如果X1,X2,Y1,Y2∈G1,则有和2非退化性:存在X1∈G1,使3可计算性:对于任意的X1,Y1∈G1,存在有效算法计算1-2新NFC设备在TSM处进行注册:各需要注册的NFC设备把自己的公钥ID告知TSM;TSM从乘法群中选取一个随机数dTSM作为自己的私钥,并计算PTSM=dTSMG作为自己的公钥;TSM使用自己的私钥与NFC设备的ID为每个NFC设备计算一个对应私钥d=dTSMHID,并通过安全信道传输给各相应设备,设备通过TSM的公钥计算并判断是否成立来验证自己所收到的私钥的合法性,如是,则为合法私钥,该设备向其他设备公布自己的ID,否则,该设备向TSM重新申请私钥;1-3各设备注册完后,每个合法设备都会存储其他合法设备的ID;2NFC设备认证与密钥协商步骤:2-1NFC设备A需要与NFC设备B进行通信时,设备A选择一个随机数计算一个中间数RIDA=raHIDA发送给设备B;2-2设备B收到A发送的中间数RIDA后,选择一个随机数计算一个中间数RIDB=rbHIDB发送给设备A;2-3当设备A收到中间数RIDB后,使用除自己以外的所有合法设备公钥分别计算n-1个秘密值n为合法设备总数,X表示各合法设备,X=B,C…,dA为设备A的私钥;再计算n-1个身份认证消息MactagAX=fRIDA,IDA,EAX,RIDB,IDX,将发送给所有的n-1个身份认证信息发送给设备B;2-4当设备B收到设备A发送的身份认证信息后,首先使用除自己以外的所有合法设备公钥计算n-1个秘密值X=A,C…,dB为设备B的私钥;然后计算n-1个验证值fRIDA,IDX,EBX,RIDB,IDB,然后将n-1个身份标志MactagAX与n-1个验证值fRIDA,IDX,EBX,RIDB,IDB作对比,如果有一个MactagAX和fRIDA,IDA,EBA,RIDB,IDB相等,则确定出请求通信方为设备A,设备B认证设备A成功,利用认证成功确定的公钥IDA来计算会话密钥SKB=KDFIDA,IDB,RIDA,RIDB,EBA与身份认证信息MactagBA=fRIDB,IDB,EBA,RIDA,IDA,将MactagBA发送给A;如否,设备B认证设备A不成功,设备B终止通信;2-5设备A收到身份标志MactagBA后,首先使用除自己以外的所有合法设备公钥计算n-1个秘密值X=B,C…,然后计算n-1个验证值fRIDB,IDX,EAX,RIDA,IDA,进而判断n-1个验证值fRIDB,IDX,EAX,RIDA,IDA中是否存在一个值与MactagBA相等,如果MactagBA等于验证值fRIDB,IDA,EAB,RIDA,IDA,则设备A认证设备B成功,设备A利用认证成功得的公钥到IDB来计算会话密钥SKA=KDFIDA,IDB,RIDA,RIDB,EAB,共享会话密钥SK协商完毕,SK=SKA=SKB;如否,设备A认证设备B失败,设备A终止通信。

全文数据:_种用于NFG的匿名安全认证与密钥协商方法技术领域[0001]本发明属于通信技术,具体的说涉及用于NFC的匿名安全认证与密钥协商协议。背景技术[0002]近场通信NearFieldCommunication,NFC技术由非接触式射频识别RFID演变而来,其基础是RFID及互连技术。NFC是一种短距高频的无线电技术,其在单一芯片上结合感应式读卡器、感应式卡片和点对点的功能,能在短距离内与兼容设备进行识别和数据交换。NFC系统中没有RFID技术中阅读器与标签的之分,所有标准的NFC设备既可以作为阅读器使用,也可以作为标签使用,同时NFC设备在实际应用中可以与兼容的RFID阅读器或者标签进行通信。[0003]NFC技术主要利用13.56MHz进行无线通信,通信的距离一般在IOcm左右,与RFID技术不同的是,当通信两端都是具有一定计算能力的NFC设备时,NFC设备之间可以进行交互通信,这与传统的RFID技术有着明显的区别。同时NFC设备通过利用传统RFID技术提供的RF射频场来完成NFC设备之间的通信,通信可以是主动的,也可以是被动的,使用什么模式进行通信由发起者在发送第一条协议消息时进行选择。主动模式中,通信发起者与接受者之间是相互对等的,发起者在发起对目标设备的通信的同时会产生一个RF射频场,若目标接收设备准备应答,则其也需要在应答的同时产生自己RF射频场从而实现对发起设备的应答;而在被动模式中,则不需要目标设备提供射频场进行应答,目标设备主要通过利用负载调制技术完成对发起者的应答。[0004]IS0IEC18092:2013NFCIP-1NearFieldCommunicationInterfaceandProtocoI,NFC接口与协议是ISO的第一个NFC标准,也是目前许多大公司所使用的标准。当两个NFC设备需要通信时,由发起者生成RF射频场并发送NFCIP-I协议初始信息给接收者,接收者根据发送者的信息选择被动或是主动通信。NFC-SECNFCIP-lSecurityServicesandProtocol,NFCIP-1安全服务与协议)定义了用于NFCIP-1的SSESharedSEcretservice,秘密共享服务)和SCHSecureCHannelservice,安全信道服务)。同时,NFC-SEC定义了SSE中使用ECSDVP-DHEllipticCurveSecretValueDerivationPrimitive,Diffie-HeIImanversion椭圆曲线私钥导出原语,Diffie-HelIman版本来进行密钥协商的过程,以此为NFC设备之间的SCH服务协商密钥。[0005]然而在NFC-SEC中,设备之间使用TSMTrustServerManager,可信服务管理)颁发的固定公钥作为明文传输,来进行会话密钥协商,并没提供相互的认证和设备的匿名性保护。因此,如果攻击者根据设备的公钥收集历史通信消息,就可以发现消息之间的关联关系,设备的隐私就会被侵犯。为了增强在密钥协商中对设备隐私的保护,近年来一些研究者对NFC的密钥协商协议做了研究与改进。[0006]VangaOdelu等人的文章SEAP:SecureandEffcientAuthenticationProtocolforNFCApplicationsUsingPseudonyms,《IEEETransactionsonConsumerElectronics》,2016,62I:30-38是已知最新有关NFC认证与密钥协商协议的文章,他们在文章中提出的方案用随机化的伪身份为NFC密钥协商协议增强了对设备的隐私保护,也在密钥协商同时隐含了对设备双方的认证,认证流程如图1所示。[0007]上述方法使用TSM颁发的伪身份的计数,因为伪身份的随机性,如果处理不当,内部不诚实的设备很容易实施冒充攻击,攻击者可以冒充系统内部的一个合法设备去欺骗另一个合法设备,并与之完成相互认证与密钥协商。认证双方A和B协商的秘密值主要是KA和KB。认证的时候验证对方的标志Mactag是否正确。计算中间值Ra的时候设备A会使用设备B的公钥IDb,但实际情况是设备A并不知道对面谁,所以他会使用IDc,IDd,IDe....所有合法设备的公钥去计算多个Ra的值发送给通讯的另一方,其中有一个Ra跟IDb,的有关。由于设备A在计算秘密值Ka时依赖Ra,所以不诚实设备C可以向设备A发送自己的编码PID,从接收的中间值Ra中选择一个与设备B身份有关的公钥IDb进行不诚实的计算得到标志MactagB,从而达到伪装B与A通讯的目的。不诚实设备C只要猜测对设备A计算的与IDb身份相关的中间值Ra,就能冒充设备B与设备A通信。[0008]所以,如何抵抗内部用户冒充攻击是目前对于NFC认证密钥协商协议研究的主要问题。发明内容[0009]本发明所要解决的技术问题是,提供一种在保证设备匿名性的同时又能有效的防御内部不诚实设备冒充攻击的用于NFC的匿名安全认证与密钥协商方法。[0010]本发明为解决上述技术问题所采用的技术方案是,一种用于NFC的匿名安全认证与密钥协商方法,包括以下步骤:[0011]1初始化步骤:[0012]1-1首先可信服务管理机构TSM为近场通信NFC设备规定在进行匿名认证与密钥协商时使用的参数:P阶椭圆曲线上的点加法群G1X1上的一个基点G、p阶有限域上的乘法群G2、模p的乘法群NFC系统密钥分发函数KDF、安全哈希函数f、安全哈希函数H和双线性映射h其中,安全哈希函数H映射为H:UUr^G1,表示把普通0,1二进制数据映射为群G1I的元素;双线性映射,且有如下三个性质,其中X1,X2,Y1,Y2皆为上的元素:[0013]1-2新NFC设备在TSM处进行注册:各需要注册的NFC设备把自己的公钥ID告知TSM;TSM从乘法群中选取一个随机数dTSM作为自己的私钥,并计算PTSM=dTSMG作为自己的公钥;TSM使用自己的私钥与NFC设备的ID为每个NFC设备计算一个对应私钥d=dTSMHID,并通过安全信道传输给各相应设备,设备通过TSM的公钥计算并判断I是否成立来验证自己所收到的私钥的合法性,如是,则为合法私钥,该设备向其他设备公布自己的ID,否则,该设备向TSM重新申请私钥;[0014]1-3各设备注册完后,每个合法设备都会存储其他合法设备的ID;[0015]2NFC设备认证与密钥协商步骤:[0016]2-1NFC设备A需要与NFC设备B进行通信时,设备A选择一个随机数,计算一个中间数RIDa=raHIDa发送给设备B;[0017]2-2设备B收到A发送的中间数RIDa后,选择一个随机数;,计算一个中间数RIDb=rbHIDb发送给设备A;[0018]2-3当设备A收到中间数RIDb后,使用除自己以外的所有合法设备公钥分别计算n-1个秘密值_,n为合法设备总数,X表示各合法设备,X=B,C···,dA为设备A的私钥;再计算n-1个身份认证消息MactagM=fRIDa,IDa,Eax,RIDb,IDx,将发送给所有的n-1个身份认证信息发送给设备B;[0019]2-4当设备B收到设备A发送的身份认证信息后,首先使用除自己以外的所有合法设备公钥计算n-1个秘密值,Χ=Α,0··,1Β为设备B的私钥;然后计算n-1个验证值fRIDa,IDx,Ebx,RIDb,IDb,然后将n-1个身份标志MactagAx与n-1个验证值fRIDa,IDx,Ebx,RIDb,IDb作对比,如果有一个MactagAx和fRIDa,IDa,Eba,RIDb,IDb相等,则确定出请求通信方为设备A,设备B认证设备A成功,利用认证成功确定的公钥IDa来计算会话密钥SKb=KDFIDa,IDb,RIDa,RIDb,Eba与身份认证信息MactagBA=fRIDb,IDb,Eba,RIDa,IDa,将MactagBA发送给A;如否,设备B认证设备A不成功,设备B终止通信;[0020]2-5设备A收到身份标志MactagBA后,首先使用除自己以外的所有合法设备公钥计算n-1个秘密值),X=B,C···,然后计算n-1个验证值fRIDB,IDx,Eax,RIDa,IDa,进而判断n-1个验证值fRIDb,IDx,Eax,RIDa,IDa中是否存在一个值与MactagBA相等,如果MactagBA等于验证值fRIDb,IDa,Eab,RIDa,IDa,贝Ij设备A认证设备B成功,设备A利用认证成功得的公钥到IDb来计算会话密钥SKa=KDFIDa,IDb,RIDA,RIDb,EAB,共享会话密钥SK协商完毕,SK=SKa=SKb;如否,设备A认证设备B失败,设备A终止通信。[0021]本发明在认证与密钥协商过程中,双方使用自己的私钥、对方的身份信息和协议过程中交换的随机值进行一种双线性变换,计算出双方共享的一个安全秘密值E来作为构建双方会话密钥的重要参数;该秘密值的安全性基于交互双方各自私钥的保密性,即使攻击者为内部设备,也将不能计算该秘密值,所以内部不诚实设备将不能实施冒充攻击。同时,协议交互过程中传递的所有消息都具有随机性与匿名性,攻击者不能从中得到设备的信息。[0022]本发明的有益效果是,在成功阻止内部冒充攻击的同时,也为设备提供了较强的匿名性保护,把NFC认证协议的安全保护提高到了一个新的等级。附图说明[0023]图1为现有随机化的伪身份为NFC密钥协商协议示意图;[0024]图2为本发明匿名安全认证与密钥协商流程示意图。具体实施方式[0025]下面详细描述本发明的技术方案:[0026]初始化的具体方法为:[0027]a.TSM选取如下参数并公布,p阶椭圆曲线的加法群G1,G1上的一个基点G、p阶有限域上的乘法群G2、模p的乘法群、NFC系统密钥分发函数KDF、安全哈希函数f、安全哈希函数H和双线性映射έ其中H有如下映射H:{Ο,ΐΓ—Gul有如下映射,并有如下性质,双线性:如果Xi,X2,Yi,Y2eGi,则有和^.._.非退化性:存在X1EG1J^;可计算性:对于任意的X1,Y1eG1,存在有效算法计算[0028]根据初始化步骤a中所描述的双线性对έ的性质,对密钥协商过程中所使用的公式推导如下:[0029][0030]MactagAB=fRIDa,IDa,Eab,RIDb,IDb=fRIDa,IDa,Eba,RIDb,IDb[0031]MactagBA=fRIDb,IDb,Eba,RIDa,IDa=fRIDb,IDb,Eab,RIDa,IDa[0032]SKa=KDFIDa,IDb,RIDa,RIDb,Eab=KDFIDa,IDb,RIDa,RIDb,Eba=SKbb.TSM从中随机选取一个dTSM作为自己的私钥,并计算Ptsm=dTSMG作为自己的公钥;以NFC设备A为例,当A在TSM处进行注册时,TSM计算dA=cItsmHIDa作为NFC设备A的私钥,通过安全信道将dA发送给NFC设备A。设备A计算并判断是否)来验证收到的私钥dA的合法性。如果丨,则证明收到的私钥dA合法,A向其他设备公布自己的身份IDa作为自己公钥;否则A向TSM重新申请私钥。[0033]c.注册完后,每个合法设备都会存储其他合法的设备公钥以备用。假定有η个合法设备,则A会存储{IDb,IDc......}等n_l个公钥,设备B会存储{IDa,IDc......}等n_l个公钥,依次类推。[0034]NFC设备认证与密钥协商的具体方法为:[0035]a.当NFC设备A靠近NFC设备B,希望与B通信时,A选择一个随机数.然后计算一个RIDa=raHIDa发送给B;[0036]b.当B收至IjA发送的RIDA=raHIDA后,B选择一个随枳,然后计算一个RIDb=rbHIDb发送给A;[0037]c.当A收到RIDB=rbHIDB后,使用除自己以外的所有合法设备公钥IDb,IDc,......共η-1个,分别计算如下η-1个值,其中.,个,然后计算η-1个身份确认消息MactagAB=fRIDa,IDa,Eab,RIDb,IDb,MactagAc=fRIDa,IDa,Eac,RIDb,IDc,......共n_l个,并将所有的Mactag发送给B;[0038]d.当B收到A发送的消息后,首先使用除自己以外的所有合法设备公钥IDa,IDc,......共n-1个计算如下n-1个值,•….·共n-1个,然后再计算n-1个验证值[0039]fRIDa,IDa,Eba,RIDb,IDb、fRIDa,IDc,Ebc,RIDb,IDb、……,然后将n_1个身份标志MactagAx与n-1个验证值fRIDa,IDx,Ebx,RIDb,IDb作对比,如果有一个MactagAx和fRIDa,IDa,Eba,RIDb,IDb相等,则确定请求通信一方的身份为A,得到A的公钥,那么B认证A成功;如否则,则B认证A不成功,B将终止通信。认证成功后,B计算会话密钥SKb=KDFIDa,IDb,RIDa,RIDb,Eba,随后B计算身份确认信息MactagBA=fRIDb,IDb,Eba,RIDa,IDa发送给A0[0040]e.当A收到MactagBA后,使用除自己以外的所有合法设备公钥IDb,IDc,......共η-1个计算n-1个秘密值…,然后计算n-1个验证值fRIDb,IDb,Eab,RIDa,IDa、fRIDb,IDc,Eac,RIDa,IDa…,进而判断是否存在有一个验证值与身份标志MactagBA相等,如果MactagBA等于验证值fRIDb,IDa,Eab,RIDa,IDa,设备A认证设备B成功,设备A利用认证成功得的公钥到IDb来计算会话密钥SKa=KDFIDa,IDb,RIDa,RIDb,Eab,共享会话密钥SK协商完毕,SK=SKa=SKb;如否,设备A认证设备B失败,设备A终止通信。[0041]上述协议可以抵抗伪造攻击、篡改攻击、中间人攻击、重放攻击和内部冒充攻击。亦即,在本发明所述的协议中,任何一个敌手不能通过伪造一个合法NFC设备发送的消息来欺骗另一个合法NFC设备;任何一个敌手不能通过篡改一个合法NFC设备发送的消息来欺骗另一个NFC合法设备;任何一个敌手不能以中间人的形式,通过截取和篡改NFC设备之间的会话信息来获取合法NFC设备的信任,与合法的双方完成认证与会话密钥协商;任何一个敌手不能通过重放一个合法NFC设备之前进行认证时的所发送的信息来欺骗另外的NFC合法设备;任何一个内部合法NFC设备不能冒充其他合法设备与另外的合法设备成功进行认证与密钥协商。与此同时,本发明的协议能够提供设备匿名性,在两个NFC设备交互过程中,任何一个敌手都不能够通过截获NFC设备之间的交互信息来确定交互双方的身份,这在很大程度上保证了NFC设备的隐私信息。

权利要求:1.一种用于NFC的匿名安全认证与密钥协商方法,其特征在于,包括以下步骤:1初始化步骤:1-1首先可信服务管理机构TSM为近场通信NFC设备规定在进行匿名认证与密钥协商时使用的参数:P阶椭圆曲线上的点加法群G^G1上的一个基点G、p阶有限域上的乘法群G2、模P的乘法群系统密钥分发函数KDF、安全哈希函数f、安全哈希函数H和双线性映射幻其中,安全哈希函数H映射为,表示把普通〇,1二进制数据映射为群G1上的元素;双线性映射^G1XGeG2,且有如下三个性质,其中皆为上的元素:1-2新NFC设备在TSM处进行注册:各需要注册的NFC设备把自己的公钥ID告知TSM;TSM从乘法群中选取一个随机数dTSM作为自己的私钥,并计算Ptsm=dTSMG作为自己的公钥;TSM使用自己的私钥与NFC设备的ID为每个NFC设备计算一个对应私钥d=dTSMHID,并通过安全信道传输给各相应设备,设备通过TSM的公钥计算并判断是否成立来验证自己所收到的私钥的合法性,如是,则为合法私钥,该设备向其他设备公布自己的ID,否则,该设备向TSM重新申请私钥;1-3各设备注册完后,每个合法设备都会存储其他合法设备的ID;2NFC设备认证与密钥协商步骤:2-1NFC设备A需要与NFC设备B进行通信时,设备A选择一个随机数计算一个中间藝发送给设备B;2-2设备B收到A发送的中间数RIDa后,选择一个随机数计算一个中间数RIDb=rbHIDb发送给设备A;2-3当设备A收到中间数RIDb后,使用除自己以外的所有合法设备公钥分别计算n-1个秘密值为合法设备总数,X表示各合法设备为设备A的私钥;再计算n-1个身份认证消息,将发送给所有的n-1个身份认证信息发送给设备B;2-4当设备B收到设备A发送的身份认证信息后,首先使用除自己以外的所有合法设备公钥计算n-1个秘密值为设备B的私钥;然后计算n-1个验证值然后将n-1个身份标志MactagAx与n-1个验证值f作对比,如果有一个MactagAx和1相等,贝1J确定出请求通信方为设备A,设备B认证设备A成功,利用认证成功确定的公钥IDa来计算会话密钥与身份认证信息IDa,将MactagBA发送给A;如否,设备B认证设备A不成功,设备B终止通信;2-5设备A收到身份标志MactagBA后,首先使用除自己以外的所有合法设备公钥计算n-1个秘密值然后计算n-1个验证值fRIDb,IDx,Eax,RIDa,IDa,进而判断n-1个验证{I中是否存在一个值与MactagBA相等,如果MactagBA等于验证信则设备A认证设备B成功,设备A利用认证成功得的公钥到IDb来计算会话密钥....,共享会话密钥SK协商完毕如否,设备A认证设备B失败,设备A终止通信。

百度查询: 电子科技大学 一种用于NFC的匿名安全认证与密钥协商方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。