【技术实现步骤摘要】
一种部分私公钥对构建方法、认证密钥协商方法及系统
[0001]本专利技术属于网络安全中的认证密钥协商
,特别是涉及一种基于公钥的无证书认证或自认证的密钥协商(或分配、分发、交换)方法及系统,可用于物联网、分布式网络特别是低配网络如传感器网络中节点间安全高效地协商共享的会话密钥。
技术介绍
[0002]随着信息技术的不断发展,计算机网络研究和应用正逐步从局域网、广域网、互联网向移动互联网、物联网等下一代网络拓展。传感器网络作为物联网的一个重要组成部分,其研究也得到了前期很多学者的关注,但离应用尚有一定距离,最关键的是其中的安全问题还亟待解决。为了实现开放互联网络的安全通信,特别是实现无线网络的安全通信,通常需要在两个用户间利用公钥技术安全地构建一个会话用的对称密钥,即需要解决认证密钥协商(AKA,AuthenticatedKeyAgreement)问题,这在低配、开放、自组的无线传感器网络中尤为重要。这方面高效的方法最近主要有孙发军、邓伦治等人的研究,他们二者的研究都是需要4个标量乘点运算,效率相当,但邓伦治等人的方法(见DengL,GaoR.Certificatelesstwo
‑
partyauthenticatedkeyagreementschemeforsmartgrid.InformationSciences,2020,543)具有更好的安全性。不过邓等人的方法仍存在些许问题,还不完全适合于传感器网络,本专利技术专利正是基于其方法进行改进、完善而提出。邓等人方法的主要步骤是:
[
【技术保护点】
【技术特征摘要】
1.一种部分私公钥对构建方法,其特征在于:密钥生成中心KGC为用户生成部分私/公钥对时,部分私钥由一随机数r
i
和密钥生成中心KGC的私钥s进行线性组合来构建,至少有一项的组合系数包含部分公钥及公钥所对应用户身份的hash值,而部分公钥由用户公钥及以r
i
利用生成元生成的公钥线性组合来生成,各组合系数为非0数;用户收到密钥生成中心KGC为其生成的部分私/公钥对后,能利用公开信息及私钥对其进行有效性验证;所述以r
i
利用生成元生成的公钥,用ECC原语时为r
i
P,而用RSA原语时为其中,P、g为相应公钥系统的生成元。2.一种认证密钥协商方法,其特征在于:由初始化、用户注册、密钥协商三个阶段组成:所述初始化,包括确定安全参数、生成密钥生成中心KGC私/公钥对、分发参数;所述用户注册,包括用户生成自己的部分私/公钥对、上传用户部分公钥后由密钥生成中心KGC生成另一部分私/公钥对、构建全部私/公钥对;所述密钥协商,包括以下步骤:步骤1:生成一个临时私/公钥对t
i
/T
i
,其中t
i
和T
i
间的关系由所选用的公钥原语决定,且至少由T
i
计算t
i
因公钥机制所基于的困难问题Prms而不可行,并将自己的身份标识ID
i
、临时公钥T
i
、其他可公开的安全参数Params
i
组成一个消息(ID
i
,T
i
,Params
i
)发给参与协商的另一方,当对方不能通过互联网从公共发布区获取公钥时,Params
i
至少应包括自己的公钥;步骤2:每个用户在收到以上消息时都按以下方法构建与对方共享的会话密钥:步骤2.1:用其长期私钥和临时私钥进行线性组合,至少有一项的组合系数包含长期公钥、临时公钥及公钥所对应用户身份的hash值,并基于Prms作用于对方的长期公钥和临时公钥的线性组合而得到双方共享的秘密数据K;所述线性组合至少有一项的组合系数包含长期公钥、临时公钥及公钥所对应用户身份的hash值;步骤2.2:利用协商双方的ID、临时公钥、用户公钥、部分公钥、上一步生成的共享秘密数据K进行多项式时间内可结束且可确保运算结果与对方相等的运算,得到共享密钥sk。3.根据权利要求书2所述的认证密钥协商方法,其特征在于:密钥协商过程基于自证明或无证书认证技术,用户注册阶段为用户构建的全部私/公钥对是自证明或无证书认证的,且部分私/公钥对采用以下方法由密钥生成中心KGC构建:密钥生成中心KGC为用户生成部分私/公钥对时,部分私钥由一随机数r
i
和密钥生成中心KGC的私钥s进行线性组合来构建,至少有一项的组合系数包含部分公钥及公钥所对应用户身份的hash值,而部分公钥由用户公钥及以r
i
利用生成元生成的公钥线性组合来生成,各组合系数为非0数,且用户收到密钥生成中心KGC为其生成的部分私/公钥对后,能利用公开信息及私钥对其进行有效性验证;所述以r
i
利用生成元生成的公钥,用ECC原语时为r
i
P,而用RSA原语时为其中,P、g为相应公钥系统的生成元。4.根据权利要求书2或3所述的认证密钥协商方法,其特征在于:密钥协商阶段还包含以下步骤:步骤3:每个用户利用对称密钥sk与对方通过以下方式进行确认:步骤3.1:发起方产生一随机数m,发送(m)
sk
||m给对方;其中,(m)
sk
表示以对称密钥sk对m进行加密;
步骤3.2:记响应方收到的消息为则响应方用自己在步骤2产生的共享密钥sk对收到的消息中的进行解密,得到m
**
后判断其是否与收到的消息中后半部分m
*
相等,若相等则可确认对方建立了与自己一样的密钥,若不相等或在一定时间内未收到对方的该消息时可向对方发送询问,一定次数和一定时间后仍未能确认对方建立了与自己一样的共享密钥时,可当成攻击者的攻击而舍弃步骤2中计算出的共享密钥。5.一种认证密钥协商系统,其特征在于:包括密钥协商模块,该模块包括以下子模块:模块S3.1:用于发起方用户A根据公共参数集Params取随机数作为其临时私钥,并以公式T
A
=t
A
P计算出对应的临时公钥,以身份ID
A
、长期公钥Q
A
、临时公钥T
A
构建协商消息M
A
=(ID
A
,Q
A
,T
A
),并将该消息发送给要协商密钥的用户;同样,响应方用户B也根据Params取随机数作为其临时私钥,并以公式T
B
=t
B
P计算出对应的临时公钥,以身份、长期公钥、临时公钥构建协商消息M
B
=(ID
B
,Q
B
,T
B
),并将该消息发送给要与其协商密钥的用户;模块S3.2:用于用户A、B各自收到以上消息后,执行以下子模块:模块S3.2.1:用于进行如下计算:A用户:h
B
=H1(ID
B
,Q
B
),h
TA
=H2(ID
A
,Q
A
,T
A
),h
TB
=H2(ID
B
,Q
B
,T
B
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。