CN114024668A - 高效的无双线性对运算的无证书认证密钥协商方法及系统 - Google Patents

高效的无双线性对运算的无证书认证密钥协商方法及系统 Download PDF

Info

Publication number
CN114024668A
CN114024668A CN202111211115.1A CN202111211115A CN114024668A CN 114024668 A CN114024668 A CN 114024668A CN 202111211115 A CN202111211115 A CN 202111211115A CN 114024668 A CN114024668 A CN 114024668A
Authority
CN
China
Prior art keywords
key
user
public
public key
private
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111211115.1A
Other languages
English (en)
Other versions
CN114024668B (zh
Inventor
孙发军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202111211115.1A priority Critical patent/CN114024668B/zh
Publication of CN114024668A publication Critical patent/CN114024668A/zh
Application granted granted Critical
Publication of CN114024668B publication Critical patent/CN114024668B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

为了使认证的密钥协商过程在确保安全和可靠的基础上开销趋于最低,本发明公开了一种新的无证书无双线性对运算的认证密钥协商方法。利用公钥基础困难问题集成Schnorr签名的方式实现互认证密钥协商,只要攻击者不能同时获得某一方的长期用户私钥、部分私钥和临时私钥且在获得长期用户私钥、部分私钥后没有发起假冒、伪造攻击,该方法协商得到的会话密钥就是安全的,且通过添加密钥确认环节实现可靠密钥协商。还公布一个基于该方法的系统,基于ECC的实施例表明计算量只有3个标量乘的规模,协商阶段(不含密钥确认)每方需发送2个消息,但消息总量与同类协议相当。因而本发明提供了一种安全、可靠、高效的认证会话密钥协商方法及系统。

Description

高效的无双线性对运算的无证书认证密钥协商方法及系统
技术领域
本发明属于网络安全中的认证密钥协商技术领域,特别是涉及基于公钥的无证书认证或自认证的密钥协商(或分配、分发、交换)方法,可用于分布式网络中节点间安全高效地协商共享的会话密钥。
背景技术
随着下一代网络的不断发展应用,安全问题日益突显。为了实现开放互联计算机网络的安全通信,特别是实现无线网络的安全通信,我们需要在两个用户间利用公钥技术安全地构建一个会话用的对称密钥,即需要解决认证密钥协商(AKA,AuthenticatedKeyAgreement)问题。这方面最近主要有邓伦治、刘勇、涂航、Seung-HyunSeo、MutazElradiS.Saeed、何德标、周彦伟、孙海燕、熊虎等人的研究,其中以邓伦治等人的研究计算量最小且最安全。与本发明方法最相近的是熊虎等人的工作(H.Xiong,Q.Wu,Z.Chen,Towardpairing-freecertificateless authenticatedkeyexchanges,in:14thInternationalConferenceonInformationSecurity,LNCS,vol.7001,2011,pp.79–94),但他们的方案在某方临时密钥泄露时,会构成KCI攻击,且他们的方案需要7个标量乘点运算。下面就他们提出的方案所遭遇的KCI攻击描述如下:
假设某攻击者C若能有办法在协商中获得了B的临时私钥b,则可假冒A向其发起如下攻击:
C首先假冒A向B发送(IDA,upkA,RA)而发起密钥建立请求,等收到B的回复(IDB,upkB,RB)后,生成随机的
Figure BDA0003308970860000011
并计算
Figure BDA0003308970860000012
后将
Figure BDA0003308970860000013
发给B,同时B也会生成随机的
Figure BDA0003308970860000014
(假设攻击者此后通过某种手段获得了b),向A发送TB=b(RA+H1(IDA||RA)Ppub,同时B收到
Figure BDA0003308970860000015
后会计算:
Figure BDA0003308970860000016
得cP,从而可得
Figure BDA0003308970860000017
而攻击者C因已知b,c,故可计算出
Figure BDA0003308970860000018
进而攻击者C假冒A成功与B建立会话密钥如下:
Figure BDA0003308970860000021
其中有:
Figure BDA0003308970860000022
至此,从而形成了KCI攻击。
本发明公布的一种新的计算量更小的无证书认证密钥协商方法可以避免以上KCI攻击,而计算量只要用3个标量乘点运算,且和熊虎等人方案一样不需要对运算。
发明内容
本发明公布了一种计算量更小(使用ECC时只需要3个标量乘点)的认证密钥协商方法。
本发明的创新性主要体现在密钥协商过程中,假设密钥协商采用的公钥机制所基于的困难问题(集)为Prms,所适用的网络模型如图1所示,网络中有三类实体:KGC(可以离线方式工作)、合法用户、攻击者,要求共享密钥只在任何一对合法用户间建立。假设攻击者控制了整个网络通信,并可以利用他所获得的信息进行任何攻击,包括从网络窃听任何数据包进行分析、向网络弹入任何伪造复制等产生的数据包、修改合法用户间传递的数据包、阻断用户间发送的数据包等,攻击者还具有获得通信用户秘密的能力,除了以下两种情况外:
1)、攻击者不能同时获得协商某方的用户私钥、部分私钥和临时私钥;
2)、获得某用户用户私钥和部分私钥的攻击者不能进行假冒该用户、伪造该用户以其用户私钥和部分私钥生成的消息来攻击。
以上第2个假设是为了考察攻击者同时拿到某用户的用户私钥和部分私钥后,除了假冒该用户、伪造该用户以其用户私钥和部分私钥生成的消息来攻击(因为这是显然可进行的)外,是否还能进行其他攻击,如破获以前的会话密钥等,也即考察协议是否具有PFS、是否抗KCI攻击等等。
这是本发明的密钥协商方法能抵抗的攻击模型,本密钥协商方法可以在攻击者获得除以上情况以外任何秘密组合情况下仍是安全(包括完美前向安全等)的。
本发明的密钥协商建立在自证明公钥或无证书公钥的基础上,任何用户(IDi)在KGC为其分派安全参数(至少包括KGC的公钥Ppub)和自证明或无证书认证私/公钥对Pri/Pui(长期私/公钥对,随后文中未说明的地方均指长期)后,会话密钥协商过程包含以下步骤:
步骤1,参与协商的实体i将自己的身份标识IDi、其他可公开的安全参数Paramsi组成一个消息(IDi,Paramsi)发给参与协商的另一方,当对方不能通过互联网从公共发布区获取公钥时,Paramsi至少应包括自己的公钥。当安全参数Paramsi已预装而公钥可从公共发布区获取时,此步可省略。
步骤2,生成一对临时私/公钥ti/Ti,其中临时私钥ti为用户实体i生成的随机值,而Ti在公钥原语为ECC时计算为Ti=ciCi,在公钥原语为RSA时计算为
Figure BDA0003308970860000031
这里ci为临时私钥和长期私钥的线性组合值,Ci为对方含用户公钥和部分公钥的长期公钥和KGC公钥的组合值,且Ci中至少有一项的组合系数包含对方部分公钥及其对应用户身份的hash值;ti和Ti间的关系具体实现依所选用的公钥原语稍有不同,但至少由Ti计算ti因公钥机制所基于的困难问题Prms而不可行;随后将自己的身份标识IDi、临时公钥Ti组成一个消息(IDi,Ti)发给参与协商的另一方。
步骤3,每个用户在收到以上消息时都可按以下方法构建与对方共享的会话密钥:
步骤3.1,用其长期私钥和临时私钥线性组合(组合方式与步骤2中Ci的内部组合方式对应)作用于对方的临时公钥Ti而消去Ci中公钥里含的一个长期全部私钥而生成共享秘密数据K,使得K中包含协商实体双方的长期全部私钥和临时私钥。且此时从K中提取任一方任何私钥在困难问题Prms不可解时是不可行的;
步骤3.2,利用协商双方的ID、临时公钥、用户公钥、部分公钥、上一步生成的共享秘密数据K进行多项式时间内可结束且可确保运算结果与对方相等的运算(如异或、相加、哈希函数运算等),得到共享密钥sk。
步骤4,每个用户利用对称密钥sk与对方通过对称加/解密及Hash、MAC等操作进行确认(也可以在下次数据传输时进行携带确认)。若确认对方已经建立了与自己一样的密钥则保存该共享密钥;否则,可当成攻击者的攻击或传输错误而舍弃步骤3中计算出的共享密钥。
本发明还提供了一个高效的无双线性对运算的无证书认证密钥协商系统,包括以下模块:
模块S1:实现初始化。
本系统使用ECC做为公钥原语,选用的安全参数λ=192(可根据应用需要取更大的参数),根据最新SECG/NIST所推荐的安全曲线及参数确定椭圆曲线及相关参数,我们取椭圆曲线为E:y2=x3+ax+b(a,b为常数,4a3+27b2≠0),选择一个λ比特的大素数p,基于E/Fp构建一个阶为q的加法循环群G,并使q也是一个足够大的λ比特素数,从该循环群可确定一个生成元P;选取合适的哈希函数:
Figure BDA0003308970860000032
为KGC选取随机数
Figure BDA0003308970860000033
作为KGC的私钥,计算KGC公钥为Ppub=sP。构建系统公开参数集为:
Figure BDA0003308970860000041
此后KGC将params分发给网络内各通信用户或发布于某公布区。
模块S2:实现用户注册。
网络中各用户从KGC或公布区获得公共参数params后,根据收到的params中的安全参数先随机选择一个部分私钥
Figure BDA0003308970860000042
(假设用户身份为IDi),并由之计算公钥Pi=xiP,联系KGC向其发送(IDi,Pi)以进行用户注册。KGC确认用户身份后先生成一个
Figure BDA0003308970860000043
按公式Ri=riP,Qi=Pi+Ri,si=ri+sH1(IDi,Qi)(modq)1计算而得IDi的部分公/私钥对Qi/si,并将其发给用户。用户可以通过式
Figure BDA0003308970860000044
对所收到的公/私钥对Qi/si进行检验,检验通过后,用户则以(xi,si)作为其长期全部私钥,以(Pi,Qi)作为其长期全部公钥。这样用户A、B分别可得到他们的长期全部私钥分别为(xA,sA)、(xB,sB),长期全部公钥分别为(PA,QA)、(PB,QB),网络中其他用户类此。
模块S3:实现密钥协商。
每个用户都可作为密钥协商发起方,为方便说明,我们这里不妨按上面拟定以A为发起方、B为接收方来说明本模块的功能。
模块S3.1,A、B各向对方广播或单播自己的部分公钥及ID,如A发送消息MA1=(IDA,QA),而B也发送消息MB1=(IDB,QB)。当安全参数Paramsi已预装而公钥可从公共发布区获取时,此模块不被调用。
模块S3.2,在收到对方的ID及部分公钥后,A、B先各自计算如下两项hash值:
hA=H1(IDA,QA),hB=H1(IDB,QB)
然后,各自根据公共参数集params取随机数
Figure BDA0003308970860000045
作为其临时私钥,分别以公式TA=(hAtA+xA+sA)(QB+PpubhB)、TB=(hBtB+xB+sB)(QA+PpubhA)计算出对应的临时交换公钥,并各自构造以下消息向对方单播自己的临时交换公钥:
A:MA2=(IDA,TA) B:MB2=(IDB,TB)
模块S3.3,A、B各自收到对方的临时交换公钥信息包后,
A的共享密钥计算为:
KAB=(hAtA+xA+sA)(xA+sA)-1TB=(hAtA+xA+sA)(hBtB+xB+sB)P,
B的共享密钥计算为:
Figure BDA0003308970860000046
KBA=(hBtB+xB+sB)(xB+sB)-1TA=(hBtB+xB+sB)(hAtA+xA+sA)P。
显然:KAB=KBA。故若A与B是合法用户且消息无误地送达,则其一定建立了相同的共享秘密数据K=KAB=KBA。此时可以取KBA的x或y分量作为加密或签名用的对称密钥,或取其中一个分量或两个分量的组合、联接、异或等作为对称密钥,也可以用双方的协商信息及生成的K利用hash函数来生成对称密钥。
模块S3.4,为确保收到的消息不是攻击者发送的垃圾信息或重放消息,确认生成的会话密钥正确以及对方也生成了同样的会话密钥,需要向对方按以下步骤进行会话密钥确认,假设双方协定以K的x或y分量(设以K[x]和K[y]表示)的异或值作为对称密钥,即双方共享密钥取成
Figure BDA0003308970860000051
任何用户在建立密钥后都可作为发起者,以A表示发起者用户,B表示响应方用户:
模块S3.4.1,发起方A产生一随机数mA,发送
Figure BDA0003308970860000052
给响应方用户B;
模块S3.4.2,记B收到A的消息为
Figure BDA0003308970860000053
响应方B用自己在调用模块S3.3时产生的共享密钥skBA对收到的消息中的
Figure BDA0003308970860000054
进行解密,得到
Figure BDA0003308970860000055
后判断其是否与收到的消息中后半部分
Figure BDA0003308970860000056
相等,若相等,说明A已经建立了与自己同样的会话密钥,否则可能是传输出错或攻击,这时可向对方发送询问,等一定次数和一定时间后仍未能确认对方建立了与自己一样的共享密钥时,可当成攻击者的攻击或网络状况不佳而舍弃之前计算出的共享密钥。同样B也可作为发起者进行类似的确认过程。
本认证密钥协商方法及系统与现有方案相比具有以下优点:
第一,高安全性。首先,在攻击者不知双方用户的任何秘密时,协商的共享密钥是安全的;其次,在攻击者除了不能同时获得某个用户的用户私钥、部分私钥和临时私钥或在获得某方用户私钥和部分私钥时未进行假冒/伪造攻击(因为这显然对任何方案都是可进行的)的情况下,方案能确保协商的任何会话密钥在任何阶段基于困难问题的难解性都是安全的。特别地,本发明采用融入长期私钥的方法解决了背景技术中所述的KCI攻击问题。
第二,高可靠性。本发明通过设计的密钥确认机制对协商的会话密钥进行了确认,可确保密钥协商的高成功率,从而提高了可靠性。此外,会话密钥确认也提高了用户抗干扰攻击、抗重放攻击的能力。
第三,低计算量。本密钥协商方法不提倡使用双线性对运算,我们的实施例表明,本方法具有低计算量特性,每方只需要3个标量乘点或幂模运算。随后基于ECC的实施例中,密钥协商时使用的公钥计算每方只需要3个标量乘点操作,是目前同类方法中最低的。
第四,保持了较低的通信量。协商密钥时每方需要发送两条消息且确保只发送了必要的信息(用户身份ID、临时公钥、长期公钥),其他通信均为密钥确认环节所需且设计中也使其开销尽可能低,消息总量与类似协议基本相当。
第五,易实施性。本发明确保通信用户的对称性及收发信息的相互无依赖性,从而使得每个用户装载的协议及其实现是相同的,各用户计算共享密钥时不用考虑消息发送的先后次序来安排参数的先后,即使一同做发起者启动协商过程也可实现正确的密钥协商。
附图说明
图1是本发明所基于的网络模型。
图2是本发明的主体流程图。
图3是本发明实施例的整体流程图。
具体实施方式
本发明主要基于无证书认证/自认证公钥机制,提出了一种基于困难问题实现两方认证的会话密钥协商方法。本方法充分考虑了完美前向安全性,防范协商过程中的假冒伪造攻击、KCI攻击、重放攻击等问题,利用协商后的对称密钥确认阶段确保协商的可靠性。相比以往的方案,通过本发明进行认证的会话密钥协商更安全、更可靠,且协商过程更高效。
首先对本实施例中涉及的专业术语定义如下:
用户:合法的会话实体,网络中进行一次会话的参与主体,或说一次通信的消息发送/接收者,可能是一个进程,一台计算机,一个移动端或一个传感器节点等;
KGC:Key Generation Center,密钥生成中心,负责生成系统公共参数、主公/私钥对、每个用户的部分公/私钥对,为各用户分发公共参数及部分公/私钥对;
ECC:Elliptic Curve Cryptography,椭圆曲线密码学,一种构建椭圆曲线加密技术的理论;
λ:系统安全参数,它由使用本发明的应用者根据安全需求选取,建议至少不小于160;
p,q:两个大素数,由KGC选取,满足p≥2λ-1
Fp:阶(元素个数)为p的有限域;
G:q阶加法循环群,由KGC选取椭圆曲线E后基于E/Fp构建,并得生成元P;
Figure BDA0003308970860000071
小于q的正整数集{1,2,…,q-1};
Figure BDA0003308970860000072
哈希函数;
K[x],K[y]:K的x或y分量;
mod:模余运算;
Figure BDA0003308970860000073
异或运算,当运算量为椭圆曲线上的点这类非标量时表示先对各分量进行顺序联接后参加运算;
(m)K:以对称密钥K对m进行加密;
R:属于且为随机选择;
点分量:椭圆曲线上一点的x或y分量;
标量乘点:数乘椭圆曲线上一点的操作;
Hash:密码学哈希函数操作,如SHA-2系列函数等;
MAC:消息认证码生成操作;
ECDLP:椭圆曲线上的离散对数问题;
ECDHP:椭圆曲线上的Diffie-Hellman问题;
DCDHP:除法可计算的Diffie-Hellman问题;
用户私/公钥:由用户自己产生的部分私/公钥;
部分私/公钥:指由KGC为用户产生的部分私/公钥;
长期私/公钥:包括用户私/公钥和部分私/公钥两部分,亦称全部私/公钥;
临时私/公钥:由用户在协商密钥时产生的用于创建会话密钥的私/公钥,英文表述为Ephemeral private/public key。
本发明认证密钥协商方法的实施可以分成三个阶段进行(主体流程如图2所示):
阶段一(S1):初始化。
首先根据应用场景的需要选择公钥原语(如ECC、RSA等),并为相应公钥原语配备安全参数,如确定安全密钥长度λ的值,选择所使用的曲线及相关参数(包括曲线参数、大素数等),选择相关安全算法、Hash函数等。
随后生成KGC的私钥s及公钥Ppub,构建系统公开参数集params(至少包括KGC的公钥Ppub)并将其分发给网内各通信用户或发布于某公布区。
阶段二(S2):用户注册。
由各用户依据收到的params生成各自的部分私/公钥对xi/Pi,通常取Pi=xiP,将公钥Pi及身份信息传给KGC,经KGC确认身份及公钥的有效性后,采用类似Schnorr签名的线性组合方式为其生成KGC端配备的部分私/公钥对Pri/Pui,并将Pri/Pui以及安全参数通过安全通道(实际应用中可据需要不通过安全通道传输)发送给用户,用户可以利用公开信息对Pri/Pui进行有效性验证。验证通过后构建用户自己的全部私/公钥对(xi,Pri)/(Pi,Pui)。
阶段三(S3):密钥协商。
用户(身份标识为IDi)在完成用户注册后,会话密钥协商过程都包含以下步骤:
步骤1,参与协商的实体i将自己的身份标识IDi、其他可公开的安全参数Paramsi组成一个消息(IDi,Paramsi)发给参与协商的另一方,当对方不能通过互联网从公共发布区获取公钥时,Paramsi至少应包括自己的公钥。而安全参数Paramsi已预装且公钥可从公共发布区获取时,此步可省略。
步骤2,生成一对临时私/公钥ti/Ti,其中临时私钥ti为用户实体i生成的随机值,而Ti在公钥原语为ECC时计算为Ti=ciCi,在公钥原语为RSA时计算为
Figure BDA0003308970860000081
这里ci为临时私钥和长期私钥的线性组合值,Ci为对方含用户公钥和部分公钥的长期公钥和KGC公钥的组合值,且Ci中至少有一项的组合系数包含对方部分公钥及其对应用户身份的hash值;ti和Ti间的关系具体实现依所选用的公钥原语稍有不同,但至少由Ti计算ti因公钥机制所基于的困难问题Prms而不可行;随后将自己的身份标识IDi、临时公钥Ti组成一个消息(IDi,Ti)发给参与协商的另一方。
步骤3,每个用户在收到以上消息时都可按以下方法构建与对方共享的会话密钥:
步骤3.1,用其长期私钥和临时私钥线性组合(组合方式与步骤2中Ci的内部组合方式对应)作用于对方的临时公钥Ti而消去Ci中公钥里含的一个长期全部私钥而生成共享秘密数据K,使得K中包含协商实体双方的长期全部私钥和临时私钥,或包含双方的临时私钥和长期全部私钥中的一部分(但会因此降低安全性)。且此时从K中提取任一方任何私钥在困难问题Prms不可解时是不可行的;
步骤3.2,利用协商双方的ID、临时公钥、用户公钥、部分公钥、上一步生成的共享秘密数据K进行多项式时间内可结束且可确保运算结果与对方相等的运算(如异或、相加、哈希函数运算等,确保运算结果与对方的相等),得到共享密钥sk。
步骤4,每个用户利用对称密钥sk与对方通过以下方式进行确认:
步骤4.1,发起方产生一随机数m,发送(m)sk||m给对方;
步骤4.2,记B收到A的消息为
Figure BDA0003308970860000091
响应方用自己在步骤3产生的共享密钥sk对收到的消息中的
Figure BDA0003308970860000092
进行解密,得到
Figure BDA0003308970860000093
后判断其是否与收到的消息中后半部分
Figure BDA0003308970860000094
相等,若相等则可确认对方建立了与自己一样的密钥,若不相等或在一定时间内未收到对方的该消息时可向对方发送询问,一定次数和一定时间后仍未能确认对方建立了与自己一样的共享密钥时,可当成攻击者的攻击而舍弃步骤3中计算出的共享密钥。
本发明提供的方法能够适用于各类公钥原语,但优选ECC原语。如图3所示,以基于ECC原语认证密钥协商系统的构建为例对本发明认证密钥协商系统的实施进行一个具体的阐述,如下:
本实施例取Prms={ECDLP,ECDHP,DCDHP},即安全性建立在解ECDLP、ECDHP及DCDHP计算上不可行的基础上,本实施例系统中包括以下实体(以两个通信用户为例,更多通信用户构建方法类似):
1)、KGC:负责系统的初始化、为各用户生成KGC配备的部分公/私钥对并分发部分公/私钥对及参数给会话参与用户;
2)、用户A:代表会话参与的一方,如发起用户;
3)、用户B:代表会话参与的另一方,如响应用户。
此外,还有潜在的攻击者。
本实施例系统包括以下模块:
模块一(S1):初始化。
本实施例使用ECC做为公钥原语,选用的安全参数λ=192(可根据应用需要取更大的参数),根据最新SECG/NIST所推荐的安全曲线及参数确定椭圆曲线及相关参数,我们取椭圆曲线为E:y2=x3+ax+b(a,b为常数,4a3+27b2≠0),选择一个λ比特的大素数p,基于E/Fp构建一个阶为q的加法循环群G,并使q也是一个足够大的λ比特素数,从该循环群可确定一个生成元P;选取合适的哈希函数:
Figure BDA0003308970860000095
为KGC选取随机数
Figure BDA0003308970860000096
作为KGC的私钥,计算KGC公钥为Ppub=sP。构建系统公开参数集为:
Figure BDA0003308970860000097
此后KGC将params分发给网络内各通信用户或发布于某公布区。
模块二(S2):用户注册。
网络中各用户从KGC或公布区获得公共参数params后,根据收到的params中的安全参数先随机选择一个部分私钥
Figure BDA0003308970860000101
(假设用户身份为IDi),并由之计算公钥Pi=xiP,联系KGC向其发送(IDi,Pi)以进行用户注册。KGC确认用户身份后先生成一个
Figure BDA0003308970860000102
按公式Ri=riP,Qi=Pi+Ri,si=ri+sH1(IDi,Qi)(mod q)2计算而得IDi的部分公/私钥对Qi/si,并将其发给用户。用户可以通过式
Figure BDA0003308970860000103
对所收到的公/私钥对Qi/si进行检验,检验通过后,用户则以(xi,si)作为其长期全部私钥,以(Pi,Qi)作为其长期全部公钥。这样用户A、B分别可得到他们的长期全部私钥分别为(xA,sA)、(xB,sB),长期全部公钥分别为(PA,QA)、(PB,QB),网络中其他用户类此。
模块三(S3):密钥协商。
每个用户都可作为密钥协商发起方,为方便说明,我们这里不妨按上面拟定以A为发起方、B为接收方来说明密钥协商模块,包括以下子模块:
模块S3.1,A、B各向对方广播或单播自己的部分公钥及ID,如A发送消息MA1=(IDA,QA),而B也发送消息MB1=(IDB,QB)。当安全参数Paramsi已预装而公钥可从公共发布区获取时,此步可省略。
模块S3.2,在收到对方的ID及部分公钥后,A、B先各自计算如下两项hash值:
hA=H1(IDA,QA),hB=H1(IDB,QB)
然后,各自根据公共参数集params取随机数
Figure BDA0003308970860000104
作为其临时私钥,分别以公式TA=(hAtA+xA+sA)(QB+PpubhB)、TB=(hBtB+xB+sB)(QA+PpubhA)计算出对应的临时交换公钥,并各自构造以下消息向对方单播自己的临时交换公钥:
A:MA2=(IDA,TA) B:MB2=(IDB,TB)
模块S3.3,A、B各自收到对方的临时交换公钥信息包后,
A的共享密钥计算为:
KAB=(hAtA+xA+sA)(xA+sA)-1TB=(hAtA+xA+sA)(hBtB+xB+sB)P,
B的共享密钥计算为:
KBA=(hBtB+xB+sB)(xB+sB)-1TA=(hBtB+xB+sB)(hAtA+xA+sA)P。
显然:KAB=KBA。故若A与B是合法用户且消息无误地送达,则其一定建立了相同的
Figure BDA0003308970860000105
共享秘密数据K=KAB=KBA。此时可以取KBA的x或y分量作为加密或签名用的对称密钥,或取其中一个分量或两个分量的组合、联接、异或等作为对称密钥,也可以用双方的协商信息及生成的K利用hash函数来生成对称密钥。
模块S3.4,为确保收到的消息不是攻击者发送的垃圾信息或重放消息,确认生成的会话密钥正确以及对方也生成了同样的会话密钥,需要向对方按以下步骤进行会话密钥确认,假设双方协定以K的x或y分量(设以K[x]和K[y]表示)的异或值作为对称密钥,即双方共享密钥取成
Figure BDA0003308970860000111
我们以A为发起者为例(任何用户在建立密钥后都可作为发起者):
模块S3.4.1,发起方产生一随机数mA,发送
Figure BDA0003308970860000112
给响应方如B;
模块S3.4.2,记B收到A的消息为
Figure BDA0003308970860000113
响应方B用自己在调用模块S3.3时产生的共享密钥skBA对收到的消息中的
Figure BDA0003308970860000114
进行解密,得到
Figure BDA0003308970860000115
后判断其是否与收到的消息中后半部分
Figure BDA0003308970860000116
相等,若相等,说明A已经建立了与自己同样的会话密钥,否则可能是传输出错或攻击,这时可向对方发送询问,等一定次数和一定时间后仍未能确认对方建立了与自己一样的共享密钥时,可当成攻击者的攻击或网络状况不佳而舍弃之前计算出的共享密钥。同样B也可作为发起者进行类似的确认过程。
该实施例,不但能克服传统认证密钥协商机制中的复杂证书管理和密钥托管问题,不需要复杂的对运算,而且保证了安全性、可靠性和高效性。特别适用于资源受限的无线移动设备和网络,如车联网、IoT、WSN等。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (10)

1.一种高效的无双线性对运算的无证书认证密钥协商方法,其特征在于,密钥协商阶段包含以下步骤:
步骤2,生成一对临时私/公钥ti/Ti,其中临时私钥ti为用户实体i生成的随机值,而Ti在公钥原语为ECC时计算为Ti=ciCi,在公钥原语为RSA时计算为
Figure FDA0003308970850000011
这里ci为临时私钥和长期私钥的线性组合值,Ci为对方含用户公钥和部分公钥的长期公钥和KGC公钥的组合值,且Ci中至少有一项的组合系数包含对方部分公钥及其对应用户身份的hash值;ti和Ti间的关系具体实现依所选用的公钥原语稍有不同,但至少由Ti计算ti因公钥机制所基于的困难问题Prms而不可行;随后将自己的身份标识IDi、临时公钥Ti组成一个消息(IDi,Ti)发给参与协商的另一方;
步骤3,每个用户在收到以上消息时按以下方法构建与对方共享的会话密钥:
步骤3.1,用其长期私钥和临时私钥线性组合(组合方式与步骤2中Ci的内部组合方式对应)作用于对方的临时公钥Ti而消去Ci中公钥里含的一个长期全部私钥而生成共享秘密数据K,使得K中包含协商实体双方的长期全部私钥和临时私钥;且此时从K中提取任一方任何私钥在困难问题Prms不可解时是不可行的;
步骤3.2,利用协商双方的ID、临时公钥、用户公钥、部分公钥、上一步生成的共享秘密数据K进行多项式时间内可结束且可确保运算结果与对方相等的运算,得到共享密钥sk。
2.根据权利要求1所述的一种高效的无双线性对运算的无证书认证密钥协商方法,其特征在于,当安全参数Paramsi未预装或各用户的公钥不可从公共发布区获取时,在步骤2前还包括以下步骤:
步骤1,参与协商的实体i将自己的身份标识IDi、其他可公开的安全参数Paramsi组成一个消息(IDi,Paramsi)发给参与协商的另一方,当对方不能通过互联网从公共发布区获取公钥时,Paramsi至少包括自己的公钥。
3.根据权利要求1所述的一种高效的无双线性对运算的无证书认证密钥协商方法,其特征在于,该方法由初始化、用户注册、密钥协商三个阶段组成,密钥协商过程基于自证明或无证书认证技术,用户注册阶段为用户构建的全部公/私钥对是自证明或无证书认证的,且前两个阶段分别为:
初始化:包括确定公钥原语、选取安全参数、选择安全算法、生成KGC公/私钥对、分发参数;
用户注册:包括用户生成自己的部分公/私钥对、上传用户部分公钥后由KGC生成另一部分公/私钥对、利用KGC返回的信息及自己的部分公/私钥对构建全部公/私钥对。
4.根据权利要求1所述的一种高效的无双线性对运算的无证书认证密钥协商方法,其特征在于,密钥协商过程在步骤3.2后还包括:
步骤4,每个用户利用对称密钥sk与对方通过对称加/解密及Hash、MAC操作进行确认;若确认对方已经建立了与自己一样的会话密钥则保存该会话密钥;否则,可当成攻击者的攻击或传输错误而舍弃步骤3中计算出的会话密钥。
5.根据权利要求书1-4中所述的任一密钥协商方法,其特征在于,密钥协商过程中依序有交换长期公钥信息、构建临时公钥信息、交换临时公钥信息、生成会话密钥、密钥确认五个子过程,同时整个过程在满足以下安全需求情况下每方指数级的计算操作只需要3个:攻击者除了不能同时获得协商某方的用户私钥、部分私钥和临时私钥以及获得某用户用户私钥和部分私钥的攻击者不能进行假冒该用户、伪造该用户以其用户私钥和部分私钥生成的消息来攻击外可进行其他任何攻击。
6.一个高效的无双线性对运算的无证书认证密钥协商系统,其特征在于,密钥协商模块包括以下子模块,其中A为发起方用户、B为接收方用户:
模块S3.2,在收到对方的ID及部分公钥后,A、B先各自计算如下两项hash值:
hA=H1(IDA,QA),hB=H1(IDB,QB)
然后,各自根据公共参数集params取随机数
Figure FDA0003308970850000021
作为其临时私钥,分别以公式TA=(hAtA+xA+sA)(QB+PpubhB)、TB=(hBtB+xB+sB)(QA+PpubhA)计算出对应的临时交换公钥,并各自构造以下消息向对方单播自己的临时交换公钥:
A:MA2=(IDA,TA)B:MB2=(IDB,TB)
模块S3.3,A、B各自收到对方的临时交换公钥信息包后,
A的共享密钥计算为:
KAB=(hAtA+xA+sA)(xA+sA)-1TB=(hAtA+xA+sA)(hBtB+xB+sB)P,
B的共享密钥计算为:
KBA=(hBtB+xB+sB)(xB+sB)-1TA=(hBtB+xB+sB)(hAtA+xA+sA)P;
显然:KAB=KBA;故若A与B是合法用户且消息无误地送达,则其一定建立了相同的共享秘密数据K=KAB=KBA;以K的x或y分量(设以K[x]和K[y]表示)的异或值作为对称密钥,即双方共享密钥取成
Figure FDA0003308970850000031
7.根据权利要求6所述的一个高效的无双线性对运算的无证书认证密钥协商系统,其特征在于,当安全参数Paramsi未预装或公钥不可从公共发布区获取时,在模块S3.2前还包括以下子模块:
模块S3.1,A、B各向对方广播或单播自己的部分公钥及ID,如A发送消息MA1=(IDA,QA),而B也发送消息MB1=(IDB,QB)。
8.根据权利要求6或7所述的一个高效的无双线性对运算的无证书认证密钥协商系统,其特征在于,密钥协商模块的子模块后还包括以下子模块:
模块S3.4,为确保收到的消息不是攻击者发送的垃圾信息或重放消息,确认生成的会话密钥正确以及对方也生成了同样的会话密钥,需要向对方按以下步骤进行会话密钥确认;任何用户在建立密钥后都可作为发起者,以A表示发起者用户,B表示响应方用户:
模块S3.4.1,发起方A产生一随机数mA,发送
Figure FDA0003308970850000032
给响应方用户B;
模块S3.3.2,记B收到A的消息为
Figure FDA0003308970850000033
响应方B用自己在调用模块S3.3时产生的共享密钥skBA对收到的消息中的
Figure FDA0003308970850000034
进行解密,得到
Figure FDA0003308970850000035
后判断其是否与收到的消息中后半部分
Figure FDA0003308970850000036
相等,若相等,说明A已经建立了与自己同样的会话密钥,否则可能是传输出错或攻击,这时可向对方发送询问,等一定次数和一定时间后仍未能确认对方建立了与自己一样的共享密钥时,可当成攻击者的攻击或网络状况不佳而舍弃之前计算出的共享密钥;同样B也可作为发起者执行类似的确认模块。
9.根据权利要求书8中所述认证密钥协商系统,其特征在于,基于权利要求书1-5中所提出的认证密钥协商方法,采用ECC原语且使用无证书认证的方式;没有双线性对运算;包括初始化、用户注册、密钥协商三个模块;所述初始化模块中KGC先为自己生成一对私/公钥(s,Ppub=sP),且由KGC将包含有其公钥Ppub的参数params分发给网络内各通信用户或发布于某公布区。
10.根据权利要求书8中所述认证密钥协商系统,其特征在于,用户注册模块包括以下功能:用户自己生成部分私/公钥对为(xi,Pi),其中Pi=xiP,KGC为其生成的部分私/公钥对为(si,Qi),其中si=ri+sH1(IDi,Qi)(modq),Qi=riP+Pi
Figure FDA0003308970850000037
用户最终的长期全部私/公钥对为(xi,si)/(Pi,Qi)。
CN202111211115.1A 2021-10-18 2021-10-18 高效的无双线性对运算的无证书认证密钥协商方法及系统 Active CN114024668B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111211115.1A CN114024668B (zh) 2021-10-18 2021-10-18 高效的无双线性对运算的无证书认证密钥协商方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111211115.1A CN114024668B (zh) 2021-10-18 2021-10-18 高效的无双线性对运算的无证书认证密钥协商方法及系统

Publications (2)

Publication Number Publication Date
CN114024668A true CN114024668A (zh) 2022-02-08
CN114024668B CN114024668B (zh) 2023-01-31

Family

ID=80056645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111211115.1A Active CN114024668B (zh) 2021-10-18 2021-10-18 高效的无双线性对运算的无证书认证密钥协商方法及系统

Country Status (1)

Country Link
CN (1) CN114024668B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118400186A (zh) * 2024-06-25 2024-07-26 浙江之江数安量子科技有限公司 一种安全的密钥交换方式

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107437993A (zh) * 2016-05-26 2017-12-05 中兴通讯股份有限公司 一种基于无证书两方认证密钥协商方法和装置
CN110971401A (zh) * 2019-11-19 2020-04-07 武汉大学 一种基于交叉互锁机制的认证密钥协商方法及其实施装置
CN111314076A (zh) * 2020-03-31 2020-06-19 四川九强通信科技有限公司 一种支持双向认证的无证书密钥协商方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107437993A (zh) * 2016-05-26 2017-12-05 中兴通讯股份有限公司 一种基于无证书两方认证密钥协商方法和装置
CN110971401A (zh) * 2019-11-19 2020-04-07 武汉大学 一种基于交叉互锁机制的认证密钥协商方法及其实施装置
CN111314076A (zh) * 2020-03-31 2020-06-19 四川九强通信科技有限公司 一种支持双向认证的无证书密钥协商方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118400186A (zh) * 2024-06-25 2024-07-26 浙江之江数安量子科技有限公司 一种安全的密钥交换方式

Also Published As

Publication number Publication date
CN114024668B (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
CN110971401B (zh) 一种基于交叉互锁机制的认证密钥协商方法及其实施装置
CN111682938B (zh) 面向中心化移动定位系统的三方可认证密钥协商方法
Yeh et al. A batch-authenticated and key agreement framework for P2P-based online social networks
CN112713997B (zh) 密钥协商方法和系统
CN113572603B (zh) 一种异构的用户认证和密钥协商方法
CN112468490B (zh) 一种用于电网终端层设备接入的认证方法
CN102624528A (zh) 一种基于身份的认证密钥协商方法
CN117879833A (zh) 一种基于改进椭圆曲线的数字签名生成方法
CN115174209A (zh) 一种云辅助身份基群组密钥交换方法
CN114024668B (zh) 高效的无双线性对运算的无证书认证密钥协商方法及系统
CN112564923B (zh) 一种基于无证书的安全网络连接握手方法
Araz et al. Load-balanced key establishment methodologies in wireless sensor networks
CN110971404B (zh) 一种面向安全跨域通信的无证书群密钥协商方法
CN114021165B (zh) 一种认证密钥协商方法及系统
Wang et al. An improved signcryption with proxy re-encryption and its application
Xia et al. Breaking and repairing the certificateless key agreement protocol from ASIAN 2006
Porambage et al. Public key based protocols–ec crypto
CN112738038B (zh) 一种基于非对称口令认证的密钥协商的方法和装置
Yasmin et al. A pairing-free ID-based one-pass authenticated key establishment protocol for wireless sensor networks
Huixian et al. Mpkc-based threshold proxy signcryption scheme
Lu et al. Certificateless authenticated group key agreement scheme with privacy-preservation for resource-limited mobile devices
Reddi et al. Identity-based signcryption groupkey agreement protocol using bilinear pairing
Singh et al. A Novel Approach towards Mutual Authentication and Key Exchange Protocol based on Elliptic Curve
Wei et al. Paring-free certificateless security authentication scheme for WSN based on ECC
Ren et al. A certificateless-based one-round authenticated group key agreement protocol to prevent impersonation attacks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant