无证书聚合签名的LTE-R网络群组认证密钥协商方法与流程

文档序号:18471098发布日期:2019-08-20 20:18阅读:303来源:国知局

本发明涉及一种lte-r网络群组认证密钥协商方法,尤其涉及一种无证书聚合签名的lte-r网络群组认证密钥协商方法。



背景技术:

lte-r(下一代铁路通信系统)中与列车运行控制无关的非关键通信业务,其核心目标是向乘客提供高质量的通信和网络服务。然而,高速铁路环境下的移动通信面临大规模乘客群体瞬时接入网络以及频繁的越区切换引起的信令拥塞等问题,严重影响了用户的通信和网络服务体验。

传统的lte-r网络架构由演进通用陆地无线接入网(e-utran)和演进分组核心网(epc)两部分组成。其中,演进分组核心网(epc)部分包括移动性管理实体(mme),服务网关(sgw)和分组数据网络网关(pgw)以及归属域用户服务器(hss)等网元。演进通用陆地无线接入网(e-utran)部分则包含用户设备(ue),演进型基站(enb)。当用户设备(ue)接入网络时,移动性管理实体(mme)将在归属域用户服务器(hss)的帮助下与用户设备(ue)进行双向身份认证并协商安全性实体管理密钥kasme,随后根据eps密钥导出规则生成用户设备(ue)与演进型基站(enb)间的会话密钥kenb及其它密钥,该过程遵循eps-aka(lte认证密钥协商协议)流程标准。随着用户位置的变更,用户设备(ue)将在相邻演进型基站(enb)间进行通信切换认证,由于相邻演进型基站(enb)间的通信方式有所差异,根据eps-aka标准,将切换认证分为三种情况:(1)情况一:当前基站和目标基站间基于x2接口的直接连接,在面临用户切换时,当前基站可为目标基站提供与用户设备(ue)的预共享密钥导出参数辅助用户设备(ue)和目标基站依据该参数计算出下阶段的会话密钥。(2)情况二:当前基站和目标基站间没有通过x2接口直接相连,但都属于同一移动性管理实体(mme)的管理之下时,基站间通信需要借助移动性管理实体(mme)来实现,并且目标基站需要移动性管理实体(mme)提供与用户设备(ue)的预共享密钥导出参数和下一跳参数才能计算出下阶段的会话密钥。(3)情况三:当前基站和目标基站间没有通过x2接口直接相连,且不属于同一移动性管理实体(mme)的管理之下时,基站间通信需要借助各自的归属移动性管理实体(mme)来实现。同样,目标基站需要移动性管理实体(mme)提供与用户设备(ue)的预共享密钥导出参数和下一跳参数才能计算出下阶段的会话密钥。

上述基于eps-aka的接入认证以及通信切换认证的方法,存在如下性能问题:

(1)通信切换认证场景复杂。根据上述分析,在用户设备(ue)进行通信切换认证时存在三种情况,且三种情况下,认证方式、需要传递的参数和生成密钥的方法不尽相同,缺乏一种统一的切换认证标准。

(2)远程认证向量增加通信时延。由于eps-aka协议采用了基于对称密码体制的挑战-应答认证方式,因此,移动性管理实体(mme)对用户设备(ue)进行认证时需要远程向归属域用户服务器(hss)请求认证向量,以实现用户设备和网络的相互认证,这种方式增加了通信带宽的消耗,并且,在lte-r网络中,乘客用户处于高速移动状态,需要进行频繁的通信切换认证,会加剧认证向量的消耗,增加通信时延。

(3)高速移动情况下,大规模用户群体接入认证以及频繁的切换认证容易产生信令拥塞。eps-aka标准协议针对单个用户设备(ue)接入网络认证和通信切换认证而设计,然而在lte-r网络环境下,乘客用户处于高速移动中,且用户的数量较多,大量用户在沿途基站间进行瞬时的通信切换认证极易发生认证信令拥塞的现象,影响用户的通信和网络服务体验。



技术实现要素:

本发明的目的就是提供一种无证书聚合签名的lte-r网络群组认证密钥协商方法,该方法能够有效实现lte-r网络下大规模乘客用户设备快速的网络接入认证以及高效的通信切换认证,信令开销小,安全性好。

本发明实现其发明目的所采用的技术方法是,一种无证书聚合签名的lte-r网络群组认证密钥协商方法,其步骤是:

a、系统建立及参与者注册:

a1、系统参数的构建:由集成在归属服务器(hss)上的密钥生成中心(kgc)构建一个阶数为q的椭圆曲线循环加法群g,其中阶数q为大于2的k次方的整数,k为大于160的整数;随后密钥生成中心(kgc)选择一随机值作为系统主密钥a,并安全保存;再以系统主密钥a与椭圆曲线循环加法群g上选出的一个生成元p进行点乘,得到系统公钥ppub;然后,密钥生成中心(kgc)选择出一个一型哈希函数h1和一个二型哈希函数h2;

最后,密钥生成中心(kgc)将安全参数k、椭圆曲线循环加法群g、生成元p、系统公钥ppub、一型哈希函数h1和二型哈希函数h2公开;

a2、用户设备注册:密钥生成中心(kgc)验证用户设备(uei)发来的用户身份标识idi;并选取出用户随机数ri,并将用户随机数ri和生成元p进行点乘运算得到用户公开承诺ri;再将用户公开承诺ri、用户身份标识idi通过一型哈希函数h1运算得到用户身份哈希hi;最后将系统主密钥a、用户身份哈希hi进行乘法运算,将乘积值与用户随机数ri相加得到用户部分私钥di;随后,密钥生成中心(kgc)将用户公开承诺ri和用户部分私钥di发送至用户设备(uei);其中,i表示用户设备的序号;

用户设备(uei)随机选取出用户秘密值xi,并将用户秘密值xi和用户部分私钥di构成用户私钥ski,然后,将用户秘密值xi和生成元p进行点乘运算得到用户秘密值承诺xi,再以用户秘密值承诺xi和用户公开承诺ri构成用户公钥pki;

a3、中继服务器注册:密钥生成中心(kgc)验证车载的中继服务器(mrn)发来的中继器身份标识idm,并选取出中继器随机数rm,并将中继器随机数rm和生成元p进行点乘运算得到中继器公开承诺rm;再将中继器公开承诺rm、中继器身份标识idm通过一型哈希函数h1运算得到中继器身份哈希hm;最后将系统主密钥a、中继器身份哈希hm进行乘法运算,将乘积值与中继器随机数rm相加得到中继器部分私钥dm;随后,密钥生成中心(kgc)将中继器公开承诺rm和中继器部分私钥dm发送至中继服务器(mrn);

中继服务器(mrn)随机选取出中继器秘密值xm,并将中继器秘密值xm和中继器部分私钥dm构成中继器私钥skm,然后,将中继器秘密值xm和生成元p进行点乘运算得到中继器秘密值承诺xm,再以中继器秘密值承诺xm和中继器公开承诺rm构成中继器公钥pkm;

a4、路旁基站注册:密钥生成中心(kgc)验证路旁基站(denb)发来的基站身份标识idd,随机选取出基站随机数rd,并将基站随机数rd和生成元p进行点乘运算得到基站公开承诺rd;再将基站公开承诺rd、基站身份标识idd通过一型哈希函数h1运算得到基站身份哈希hd;最后将系统主密钥a、基站身份哈希hd进行乘法运算,将乘积值与基站随机数rd相加得到基站部分私钥dd;随后,密钥生成中心(kgc)将基站公开承诺rd和基站部分私钥dd发送至路旁基站(denb);

路旁基站(denb)随机选取出基站秘密值xd,并将基站秘密值xd和基站部分私钥dd构成基站私钥skd,然后,将基站秘密值xd和生成元p进行点乘运算得到基站秘密值承诺xd,再以基站秘密值承诺xd和基站公开承诺rd构成基站公钥pkd;

b、初始接入认证:

b1、列车发车前,用户设备(uei)统一接入lte-r网络时,产生用户时戳θi和用户接入请求rai,然后,以用户时戳θi、用户接入请求rai和用户身份标识idi构成用户待签名消息mi;随后,用户设备(uei)随机选取出用户临时私钥ui,以以用户临时私钥ui、用户部分私钥di、用户秘密值xi和用户待签名消息mi、用户公开承诺ri、用户秘密值承诺xi为输入参数,执行签名算法后生成用户签名si和用户签名承诺ui,最后,用户设备(uei)将用户公钥pki、用户待签名消息mi、用户签名si和用户签名承诺ui发送给中继服务器(mrn);

b2、中继服务器(mrn)收到用户设备(uei)发送的消息后,产生中继器时戳θm和中继器接入请求ram,然后,将中继器时戳θm、中继器接入请求ram和中继器身份标识idm构成中继器待签名消息mm;随后,中继服务器(mrn)随机选取出中继器临时私钥um;再以中继器临时私钥um、中继器私钥skm和中继器待签名消息mm为输入参数,执行签名算法后生成中继器签名sm和中继器签名承诺um;

中继服务器(mrn)将所有的用户设备(uei)的用户签名si和中继器签名sm进行加法运算,即得到聚合签名sagg;然后将所有的用户设备(uei)的用户签名承诺ui和中继器签名承诺um进行级联运算,得到聚合承诺uagg;最后,中继服务器(mrn)将聚合签名sagg、聚合承诺uagg、中继器公钥pkm、中继器待签名消息mm、所有的用户公钥pki、用户待签名消息mi发送给当前距离最近的路旁基站(denb);

b3、路旁基站(denb)收到来自中继服务器(mrn)的消息后,以聚合签名sagg、聚合承诺uagg、中继器公钥pkm、中继器待签名消息mm、所有的用户公钥pki、所有的用户待签名消息mi作为输入参数,执行聚合签名验证,若验证不成功,则执行步骤d;否则,验证成功,表示路旁基站(denb)认证了中继服务器(mrn)和所有的用户设备(uei)的合法性;路旁基站(denb)生成接入请求确认ack,并在聚合承诺uagg提取出中继器签名承诺um;以接入请求确认ack、中继器签名承诺um,基站身份标识idd构成基站待签名消息md;

路旁基站(denb)随机选取出基站临时私钥ud,以基站临时私钥ud、基站私钥skd和基站待签名消息md为输入参数,执行签名算法后生成基站签名sd和基站签名承诺ud;最后,路旁基站(denb)将基站公钥pkd、基站待签名消息md、基站签名sd和基站签名承诺ud发送给中继服务器(mrn),并以基站临时私钥ud、基站部分私钥dd和基站秘密值xd进行加法运算,再将加法值与中继器签名承诺um进行点乘运算得到基站与中继器会话密钥kdm;

b4、中继服务器(mrn)收到来自路旁基站(denb)的消息后,以基站公钥pkd、基站待签名消息md、基站签名sd和基站签名承诺ud为输入参数,执行签名验证,若验证不成功,则执行步骤d;否则,验证成功,表示中继服务器(mrn)认证了路旁基站(denb)及用户设备(uei)的合法性;随后,中继服务器(mrn)将基站公钥pkd、基站待签名消息md、基站签名sd和基站签名承诺ud发送给用户设备(uei);

中继服务器(mrn)以中继器临时私钥um、中继器部分私钥dm和中继器秘密值xm进行加法运算,得到中继器加法值;将中继器加法值与基站签名承诺ud进行点乘运算得到中继器与基站会话密钥kmd;同时,将中继器加法值与用户签名承诺ui进行点乘运算得到中继器与用户会话密钥kmi;

b5、用户设备(uei)收到来自中继服务器(mrn)的消息后,以基站公钥pkd、基站待签名消息md、基站签名sd和基站签名承诺ud为输入参数,执行与b4步相同的签名验证,若验证不成功,则执行步骤d;否则,验证成功,表示用户设备(uei)认证了路旁基站(denb)及中继服务器(mrn)的合法性;随后,用户设备(uei)提取基站待签名消息md中的中继器签名承诺um,并以用户临时私钥ui、用户部分私钥di和用户秘密值xi进行加法运算,再将得到的加法值与中继器签名承诺um进行点乘运算得到用户与中继器会话密钥kim;完成初始接入认证;

c、切换认证:

c1、列车行驶途中,车载的中继服务器(mrn)离开当前的路旁基站进入新的路旁基站前,产生一个中继器切换时戳θhm和中继器切换请求rhm,然后,以中继器切换时戳θhm、中继器切换请求rhm和中继器身份标识idm构成中继器切换签名消息mhm;随后,随机选择出中继器切换临时私钥uhm,以中继器切换临时私钥uhm、中继器私钥skm和中继器切换签名消息mhm为输入参数,执行签名算法后生成中继器切换签名shm和中继器切换签名承诺uhm;最后,中继服务器(mrn)将中继器公钥pkm、中继器切换签名消息mhm、中继器切换签名shm和中继器切换签名承诺uhm发送给新的路旁基站(denb);

c2、路旁基站(denb)收到来自中继服务器(mrn)的消息后,以中继器公钥pkm、中继器切换签名消息mhm、中继器切换签名shm和中继器切换签名承诺uhm为输入参数,执行签名验证,若验证不成功,则执行步骤d;否则,验证成功,表示路旁基站(denb)认证了中继服务器(mrn)的合法性;随后,路旁基站(denb)产生一个基站时戳θd和基站切换确认hakd,然后,以基站时戳θd和基站切换确认hakd和基站身份标识idd构成基站切换签名消息mhd;

路旁基站(denb)随机选择出基站切换临时私钥uhd,以基站切换临时私钥uhd、基站私钥skd和基站切换签名消息mhd为输入参数,执行签名算法后生成基站切换签名shd和基站切换签名承诺uhd;最后,路旁基站(denb)将基站公钥pkm、基站切换签名消息mhd、基站切换签名shd和基站切换签名承诺uhd发送给中继服务器(mrn);

路旁基站(denb)以基站切换临时私钥uhd、基站部分私钥dd和基站秘密值xd进行加法运算,再将加法值与中继器切换签名承诺uhm进行点乘运算得到基站与中继器切换会话密钥khdm;

c3、中继服务器(mrn)收到来自路旁基站(denb)的消息后,以基站公钥pkd、基站切换签名消息mhd、基站切换签名shd、基站切换签名承诺uhd、生成员p和系统公钥ppub为输入参数,执行签名验证;若验证不成功,则执行步骤d;否则,验证成功,表示中继服务器(mrn)认证了路旁基站(denb)的合法性;随后,中继服务器(mrn)以中继器切换临时私钥uhm、中继器部分私钥dm和中继器秘密值xm进行加法运算,再将加法值与基站切换签名承诺uhd进行点乘运算得到中继器与基站切换会话密钥khmd;完成切换认证;

d、认证失败,终止操作。

与现有技术相比,本发明的有益效果是:

一、本发明采用了公钥密码体制,利用公钥体制下的签名算法实现了用户设备(uei)与路旁基站(denb)间的直接认证。比较于3gpp委员会制定的无公钥的基于对称密码体制的eps-aka标准,本发明能够大量节省信令资源的开销,同时缩减通信延迟。

二、本发明将中继服务器(mrn)概念引入到了lte-r网络中,中继服务器(mrn)部署于列车车厢顶部,作为用户设备(uei)和路旁基站(denb)间的通信中继。然后,基于这种通信模式,本发明引入了公钥密码体制下的无证书聚合签名算法,以中继服务器(mrn)作为签名聚合者,将用户设备(uei)群体产生的签名以及中继服务器(mrn)自身产生的签名进行聚合运算后发送给路旁基站(denb),路旁基站(denb)通过聚合签名验证算法即可一次性验证中继服务器(mrn)及同一中继服务器(mrn)上的大量用户设备(uei)的身份合法性;实现了大量用户设备(uei)对lte-r网络快速的接入认证。

三、在初始接入认证过程中,本发明通过引入椭圆曲线密钥交换算法(ecdh)在各个用户设备(uei)和中继服务器(mrn)间协商了共享密钥,在中继服务器(mrn)和路旁基站(denb)间协商了会话密钥,为各个实体间的无线通信安全提供了全面保护,提高了通信的安全性。

四、在切换认证阶段,本发明设计了统一的切换认证标准,即在列车行驶途中,用户设备(uei)与中继服务器(mrn)保持安全稳定的连接,通信切换认证仅仅发生在中继服务器(mrn)和路旁基站(denb)两者间,这两者通过无证书聚合签名来验证彼此的合法性并产生会话密钥,相比较于现有的eps-aka协议,大大简化了通信切换认证场景;由于用户设备(uei)不再直接参与到切换认证中,从而将原本eps-aka标准中n对1(n个用户设备(uei)对1个路旁基站(denb))的认证降低了到1对1(1个中继服务器(mrn)对1个路旁基站(denb))认证;大幅度的减少了信令的开销,提升了切换认证的效率。

五、本发明基于椭圆曲线公钥密码体制来构建系统公钥,在同等安全强度下,椭圆曲线公钥密码体制的密钥长度更短,利于存储和计算,效率更高。

进一步,本发明的步骤b1中,以用户临时私钥ui、用户部分私钥di、用户秘密值xi和用户待签名消息mi、用户公开承诺ri、用户秘密值承诺xi为输入参数,执行签名算法后生成用户签名si和用户签名承诺ui的具体方法是:

首先,将用户临时私钥ui、用户部分私钥di和用户秘密值xi进行加法运算,再将加法值与生成员p进行点乘运算得到用户签名承诺ui;然后,将用户待签名消息mi、用户签名承诺ui、用户公开承诺ri和用户秘密值承诺xi进行二型哈希运算h2得到用户签名哈希γi;最后,根据公式si=(γi+1)xi+2di+ui,计算生成用户签名si。

本发明的步骤b2中,以中继器临时私钥um、中继器私钥skm和中继器待签名消息mm为输入参数,执行签名算法后生成中继器签名sm和中继器签名承诺um的具体做法是:

首先,从中继器私钥skm提取出中继器部分私钥dm和中继器秘密值xm,再将中继器部分私钥dm、中继器秘密值xm和中继器临时私钥um进行加法运算,再将加法值与生成员p进行点乘运算得到中继器签名承诺um;然后,将中继器待签名消息mm、中继器签名承诺um、中继器公开承诺rm和中继器秘密值承诺xm进行二型哈希运算h2得到中继器签名哈希γm;最后,根据公式sm=(γm+1)xm+2dm+um,计算生成中继器签名sm。

本发明的步骤b3中,路旁基站(denb)以基站临时私钥ud、基站私钥skd和基站待签名消息md为输入参数,执行签名算法后生成基站签名sd和基站签名承诺ud的具体做法是:

首先,从基站私钥skd中提取出基站部分私钥dd和基站秘密值xd,再将基站部分私钥dd、基站秘密值xd和基站临时私钥ud进行加法运算,再将加法值与生成员p进行点乘运算得到基站签名承诺ud;然后,将基站待签名消息md、基站签名承诺ud、基站公开承诺rd和基站秘密值承诺xd进行二型哈希运算h2得到基站签名哈希γd;最后,根据公式sd=(γd+1)xd+2dd+ud,计算生成基站签名sd。

本发明的步骤c1中,以中继器切换临时私钥uhm、中继器私钥skm和中继器切换签名消息mhm为输入参数,执行签名算法后生成中继器切换签名shm和中继器切换签名承诺uhm的具体做法是:

首先,从中继器私钥skm中提取出中继器部分私钥dm和中继器秘密值xm,再将中继器部分私钥dm、中继器秘密值xm和中继器切换临时私钥uhm进行加法运算,再将加法值与生成员p进行点乘运算得到中继器切换签名承诺uhm;然后,将中继器切换签名消息mhm、中继器切换签名承诺uhm、中继器公开承诺rm和中继器秘密值承诺xm进行二型哈希运算h2得到中继器切换签名哈希γhm;最后,根据公式shm=(γhm+1)xm+2dm+uhm,计算生成中继器切换签名shm。

本发明的步骤c2中,以基站切换临时私钥uhd、基站私钥skd和基站切换签名消息mhd为输入参数,执行签名算法后生成基站切换签名shd和基站切换签名承诺uhd的具体做法是:

首先,从基站私钥skd中提取出基站部分私钥dd和基站秘密值xd,再将基站部分私钥dd、基站秘密值xd和基站切换临时私钥uhd进行加法运算,随后,将加法值与生成员p进行点乘运算得到基站切换签名承诺uhd;然后,将基站切换签名消息mhd、基站切换签名承诺uhd、基站公开承诺rd和基站秘密值承诺xd进行二型哈希运算h2得到基站切换签名哈希γhd;最后,根据公式shd=(γhd+1)xd+2dd+uhd,计算生成基站签名shd。

上述签名算法所产生的签名承诺将在后续过程用来产生会话密钥,其签名承诺的生成由长期私钥和临时私钥两部分决定,因此,能够抵抗临时私钥泄露攻击。

更进一步,本发明的步骤b4中,以基站公钥pkd、基站待签名消息md、基站签名sd和基站签名承诺ud为输入参数,执行签名验证的具体做法是:

中继服务器(mrn)从基站待签名消息md中提取出基站身份标识idd,再从基站公钥pkd中提取出基站公开承诺rd和基站秘密值承诺xd,随后,将基站公开承诺rd、基站身份标识idd,通过一型哈希函数h1运算得到基站身份哈希hd;然后,将基站待签名消息md、基站签名承诺ud、基站公开承诺rd和基站秘密值承诺xd进行二型哈希运算h2得到基站签名哈希γd;

最后,验证下式是否成立;若成立,则验证成功;否则,验证不成功;sd·p=γd·xd+hd·ppub+rd+ud。

本发明的步骤c2中,以中继器公钥pkm、中继器切换签名消息mhm、中继器切换签名shm和中继器切换签名承诺uhm为输入参数,执行签名验证的具体做法是:

路旁基站(denb)从中继器切换签名消息mhm中提取出中继器身份标识idm,再从中继器公钥pkm提取出中继器公开承诺rm、中继器秘密值承诺xm;再将中继器身份标识idm、中继器公开承诺rm通过一型哈希函数h1运算得到中继器身份哈希hm;随后,将中继器切换签名消息mhm、中继器切换签名承诺uhm、中继器公开承诺rm和中继器秘密值承诺xm进行二型哈希运算h2得到中继器切换签名哈希γhm;

最后,验证下式是否成立;若成立,则验证成功;否则,验证不成功;shm·p=γhm·xm+hm·ppub+rm+uhm。

本发明的步骤c3中,以基站公钥pkd、基站切换签名消息mhd、基站切换签名shd、基站切换签名承诺uhd、生成员p和系统公钥ppub为输入参数,执行签名验证的具体做法是:

中继服务器(mrn)从基站切换签名消息mhd中提取出基站身份标识idd,再从基站公钥pkd中提取出基站公开承诺rd和基站秘密值承诺xd,将基站身份标识idd、基站公开承诺rd,通过一型哈希函数h1运算得到基站身份哈希hd;随后,将基站切换签名消息mhd、基站切换签名承诺uhd、基站公开承诺rd和基站秘密值承诺xd进行二型哈希运算h2得到基站切换签名哈希γhd;

最后,验证下式是否成立;若成立,则验证成功;否则,验证不成功;shd·p=γhd·xd+hd·ppub+rd+uhd。

以上的无证书签名算法是基于无双线性对的无证书签名方法来构造的,与含有双线性对的无证书签名算法相比较来说,能够显著的提高计算效率;同时,无对的构造方法还能降低存储开销。

更进一步,本发明的步骤b3中,以聚合签名sagg、聚合承诺uagg、中继器公钥pkm、中继器待签名消息mm、所有的用户公钥pki、所有的用户待签名消息mi作为输入参数,执行聚合签名验证的具体方法是:

路旁基站(denb)从用户待签名消息mi中提取出用户身份标识idi,从所有的用户公钥pki中提取出所有的用户公开承诺ri、所有的用户秘密值承诺xi、将用户公开承诺ri、用户身份标识idi,通过一型哈希函数h1运算得到用户身份哈希hi;随后,从聚合承诺uagg中提取出用户签名承诺ui,再将用户待签名消息mi、用户签名承诺ui、用户公开承诺ri和用户秘密值承诺xi进行二型哈希运算h2得到用户签名哈希γi;

路旁基站(denb)从中继器待签名消息mm中提取中继器身份标识idm,从中继器公钥pkm中提取出中继器公开承诺rm、中继器秘密值承诺xm;再将中继器公开承诺rm、中继器身份标识idm通过一型哈希函数h1运算得到中继器身份哈希hm;随后,从聚合承诺uagg中提取出中继器签名承诺um,再将中继器待签名消息mm、中继器签名承诺um、中继器公开承诺rm和中继器秘密值承诺xm进行二型哈希运算h2得到中继器签名哈希γi;

将中继器公开承诺rm和所有的用户公开承诺ri进行加法运算得到公开承诺汇总r,再将所有的用户签名承诺ui和中继器签名承诺um进行加法运算得到签名承诺汇总u;

最后,验证下式是否成立;若成立,则验证成功;否则,验证不成功;

这样的无证书聚合签名算法是基于无双线性对的方法来构造的,与含有双线性对的无证书聚合签名算法相比较来说,能够显著的提高计算效率;同时,无对的构造方法还能降低存储开销。

下面结合具体实施方式对本发明作进一步的详细说明。

具体实施方式

实施例

本发明的一种具体实施方式是,一种无证书聚合签名的lte-r网络群组认证密钥协商方法,其步骤是:

a、系统建立及参与者注册:

a1、系统参数的构建:由集成在归属服务器(hss)上的密钥生成中心(kgc)构建一个阶数为q的椭圆曲线循环加法群g,其中阶数q为大于2的k次方的整数,k为大于160的整数;随后密钥生成中心(kgc)选择一随机值作为系统主密钥a,并安全保存;再以系统主密钥a与椭圆曲线循环加法群g上选出的一个生成元p进行点乘,得到系统公钥ppub;然后,密钥生成中心(kgc)选择出一个一型哈希函数h1和一个二型哈希函数h2;

最后,密钥生成中心(kgc)将安全参数k、椭圆曲线循环加法群g、生成元p、系统公钥ppub、一型哈希函数h1和二型哈希函数h2公开;

a2、用户设备注册:密钥生成中心(kgc)验证用户设备(uei)发来的用户身份标识idi;并选取出用户随机数ri,并将用户随机数ri和生成元p进行点乘运算得到用户公开承诺ri;再将用户公开承诺ri、用户身份标识idi通过一型哈希函数h1运算得到用户身份哈希hi;最后将系统主密钥a、用户身份哈希hi进行乘法运算,将乘积值与用户随机数ri相加得到用户部分私钥di;随后,密钥生成中心(kgc)将用户公开承诺ri和用户部分私钥di发送至用户设备(uei);其中,i表示用户设备的序号;

用户设备(uei)随机选取出用户秘密值xi,并将用户秘密值xi和用户部分私钥di构成用户私钥ski,然后,将用户秘密值xi和生成元p进行点乘运算得到用户秘密值承诺xi,再以用户秘密值承诺xi和用户公开承诺ri构成用户公钥pki;

a3、中继服务器注册:密钥生成中心(kgc)验证车载的中继服务器(mrn)发来的中继器身份标识idm,并选取出中继器随机数rm,并将中继器随机数rm和生成元p进行点乘运算得到中继器公开承诺rm;再将中继器公开承诺rm、中继器身份标识idm通过一型哈希函数h1运算得到中继器身份哈希hm;最后将系统主密钥a、中继器身份哈希hm进行乘法运算,将乘积值与中继器随机数rm相加得到中继器部分私钥dm;随后,密钥生成中心(kgc)将中继器公开承诺rm和中继器部分私钥dm发送至中继服务器(mrn);

中继服务器(mrn)随机选取出中继器秘密值xm,并将中继器秘密值xm和中继器部分私钥dm构成中继器私钥skm,然后,将中继器秘密值xm和生成元p进行点乘运算得到中继器秘密值承诺xm,再以中继器秘密值承诺xm和中继器公开承诺rm构成中继器公钥pkm;

a4、路旁基站注册:密钥生成中心(kgc)验证路旁基站(denb)发来的基站身份标识idd,随机选取出基站随机数rd,并将基站随机数rd和生成元p进行点乘运算得到基站公开承诺rd;再将基站公开承诺rd、基站身份标识idd通过一型哈希函数h1运算得到基站身份哈希hd;最后将系统主密钥a、基站身份哈希hd进行乘法运算,将乘积值与基站随机数rd相加得到基站部分私钥dd;随后,密钥生成中心(kgc)将基站公开承诺rd和基站部分私钥dd发送至路旁基站(denb);

路旁基站(denb)随机选取出基站秘密值xd,并将基站秘密值xd和基站部分私钥dd构成基站私钥skd,然后,将基站秘密值xd和生成元p进行点乘运算得到基站秘密值承诺xd,再以基站秘密值承诺xd和基站公开承诺rd构成基站公钥pkd;

b、初始接入认证:

b1、列车发车前,用户设备(uei)统一接入lte-r网络时,产生用户时戳θi和用户接入请求rai,然后,以用户时戳θi、用户接入请求rai和用户身份标识idi构成用户待签名消息mi;随后,用户设备(uei)随机选取出用户临时私钥ui,以以用户临时私钥ui、用户部分私钥di、用户秘密值xi和用户待签名消息mi、用户公开承诺ri、用户秘密值承诺xi为输入参数,执行签名算法后生成用户签名si和用户签名承诺ui,最后,用户设备(uei)将用户公钥pki、用户待签名消息mi、用户签名si和用户签名承诺ui发送给中继服务器(mrn);

b2、中继服务器(mrn)收到用户设备(uei)发送的消息后,产生中继器时戳θm和中继器接入请求ram,然后,将中继器时戳θm、中继器接入请求ram和中继器身份标识idm构成中继器待签名消息mm;随后,中继服务器(mrn)随机选取出中继器临时私钥um;再以中继器临时私钥um、中继器私钥skm和中继器待签名消息mm为输入参数,执行签名算法后生成中继器签名sm和中继器签名承诺um;

中继服务器(mrn)将所有的用户设备(uei)的用户签名si和中继器签名sm进行加法运算,即得到聚合签名sagg;然后将所有的用户设备(uei)的用户签名承诺ui和中继器签名承诺um进行级联运算,得到聚合承诺uagg;最后,中继服务器(mrn)将聚合签名sagg、聚合承诺uagg、中继器公钥pkm、中继器待签名消息mm、所有的用户公钥pki、用户待签名消息mi发送给当前距离最近的路旁基站(denb);

b3、路旁基站(denb)收到来自中继服务器(mrn)的消息后,以聚合签名sagg、聚合承诺uagg、中继器公钥pkm、中继器待签名消息mm、所有的用户公钥pki、所有的用户待签名消息mi作为输入参数,执行聚合签名验证,若验证不成功,则执行步骤d;否则,验证成功,表示路旁基站(denb)认证了中继服务器(mrn)和所有的用户设备(uei)的合法性;路旁基站(denb)生成接入请求确认ack,并在聚合承诺uagg提取出中继器签名承诺um;以接入请求确认ack、中继器签名承诺um,基站身份标识idd构成基站待签名消息md;

路旁基站(denb)随机选取出基站临时私钥ud,以基站临时私钥ud、基站私钥skd和基站待签名消息md为输入参数,执行签名算法后生成基站签名sd和基站签名承诺ud;最后,路旁基站(denb)将基站公钥pkd、基站待签名消息md、基站签名sd和基站签名承诺ud发送给中继服务器(mrn),并以基站临时私钥ud、基站部分私钥dd和基站秘密值xd进行加法运算,再将加法值与中继器签名承诺um进行点乘运算得到基站与中继器会话密钥kdm;

b4、中继服务器(mrn)收到来自路旁基站(denb)的消息后,以基站公钥pkd、基站待签名消息md、基站签名sd和基站签名承诺ud为输入参数,执行签名验证,若验证不成功,则执行步骤d;否则,验证成功,表示中继服务器(mrn)认证了路旁基站(denb)及用户设备(uei)的合法性;随后,中继服务器(mrn)将基站公钥pkd、基站待签名消息md、基站签名sd和基站签名承诺ud发送给用户设备(uei);

中继服务器(mrn)以中继器临时私钥um、中继器部分私钥dm和中继器秘密值xm进行加法运算,得到中继器加法值;将中继器加法值与基站签名承诺ud进行点乘运算得到中继器与基站会话密钥kmd;同时,将中继器加法值与用户签名承诺ui进行点乘运算得到中继器与用户会话密钥kmi;

b5、用户设备(uei)收到来自中继服务器(mrn)的消息后,以基站公钥pkd、基站待签名消息md、基站签名sd和基站签名承诺ud为输入参数,执行与b4步相同的签名验证,若验证不成功,则执行步骤d;否则,验证成功,表示用户设备(uei)认证了路旁基站(denb)及中继服务器(mrn)的合法性;随后,用户设备(uei)提取基站待签名消息md中的中继器签名承诺um,并以用户临时私钥ui、用户部分私钥di和用户秘密值xi进行加法运算,再将得到的加法值与中继器签名承诺um进行点乘运算得到用户与中继器会话密钥kim;完成初始接入认证;

c、切换认证:

c1、列车行驶途中,车载的中继服务器(mrn)离开当前的路旁基站进入新的路旁基站前,产生一个中继器切换时戳θhm和中继器切换请求rhm,然后,以中继器切换时戳θhm、中继器切换请求rhm和中继器身份标识idm构成中继器切换签名消息mhm;随后,随机选择出中继器切换临时私钥uhm,以中继器切换临时私钥uhm、中继器私钥skm和中继器切换签名消息mhm为输入参数,执行签名算法后生成中继器切换签名shm和中继器切换签名承诺uhm;最后,中继服务器(mrn)将中继器公钥pkm、中继器切换签名消息mhm、中继器切换签名shm和中继器切换签名承诺uhm发送给新的路旁基站(denb);

c2、路旁基站(denb)收到来自中继服务器(mrn)的消息后,以中继器公钥pkm、中继器切换签名消息mhm、中继器切换签名shm和中继器切换签名承诺uhm为输入参数,执行签名验证,若验证不成功,则执行步骤d;否则,验证成功,表示路旁基站(denb)认证了中继服务器(mrn)的合法性;随后,路旁基站(denb)产生一个基站时戳θd和基站切换确认hakd,然后,以基站时戳θd和基站切换确认hakd和基站身份标识idd构成基站切换签名消息mhd;

路旁基站(denb)随机选择出基站切换临时私钥uhd,以基站切换临时私钥uhd、基站私钥skd和基站切换签名消息mhd为输入参数,执行签名算法后生成基站切换签名shd和基站切换签名承诺uhd;最后,路旁基站(denb)将基站公钥pkm、基站切换签名消息mhd、基站切换签名shd和基站切换签名承诺uhd发送给中继服务器(mrn);

路旁基站(denb)以基站切换临时私钥uhd、基站部分私钥dd和基站秘密值xd进行加法运算,再将加法值与中继器切换签名承诺uhm进行点乘运算得到基站与中继器切换会话密钥khdm;

c3、中继服务器(mrn)收到来自路旁基站(denb)的消息后,以基站公钥pkd、基站切换签名消息mhd、基站切换签名shd、基站切换签名承诺uhd、生成员p和系统公钥ppub为输入参数,执行签名验证;若验证不成功,则执行步骤d;否则,验证成功,表示中继服务器(mrn)认证了路旁基站(denb)的合法性;随后,中继服务器(mrn)以中继器切换临时私钥uhm、中继器部分私钥dm和中继器秘密值xm进行加法运算,再将加法值与基站切换签名承诺uhd进行点乘运算得到中继器与基站切换会话密钥khmd;完成切换认证;

d、认证失败,终止操作。

本例的步骤b1中,以用户临时私钥ui、用户部分私钥di、用户秘密值xi和用户待签名消息mi、用户公开承诺ri、用户秘密值承诺xi为输入参数,执行签名算法后生成用户签名si和用户签名承诺ui的具体方法是:

首先,将用户临时私钥ui、用户部分私钥di和用户秘密值xi进行加法运算,再将加法值与生成员p进行点乘运算得到用户签名承诺ui;然后,将用户待签名消息mi、用户签名承诺ui、用户公开承诺ri和用户秘密值承诺xi进行二型哈希运算h2得到用户签名哈希γi;最后,根据公式si=(γi+1)xi+2di+ui,计算生成用户签名si。

本例的步骤b2中,以中继器临时私钥um、中继器私钥skm和中继器待签名消息mm为输入参数,执行签名算法后生成中继器签名sm和中继器签名承诺um的具体做法是:

首先,从中继器私钥skm提取出中继器部分私钥dm和中继器秘密值xm,再将中继器部分私钥dm、中继器秘密值xm和中继器临时私钥um进行加法运算,再将加法值与生成员p进行点乘运算得到中继器签名承诺um;然后,将中继器待签名消息mm、中继器签名承诺um、中继器公开承诺rm和中继器秘密值承诺xm进行二型哈希运算h2得到中继器签名哈希γm;最后,根据公式sm=(γm+1)xm+2dm+um,计算生成中继器签名sm。

本例的步骤b3中,路旁基站(denb)以基站临时私钥ud、基站私钥skd和基站待签名消息md为输入参数,执行签名算法后生成基站签名sd和基站签名承诺ud的具体做法是:

首先,从基站私钥skd中提取出基站部分私钥dd和基站秘密值xd,再将基站部分私钥dd、基站秘密值xd和基站临时私钥ud进行加法运算,再将加法值与生成员p进行点乘运算得到基站签名承诺ud;然后,将基站待签名消息md、基站签名承诺ud、基站公开承诺rd和基站秘密值承诺xd进行二型哈希运算h2得到基站签名哈希γd;最后,根据公式sd=(γd+1)xd+2dd+ud,计算生成基站签名sd。

本例的步骤c1中,以中继器切换临时私钥uhm、中继器私钥skm和中继器切换签名消息mhm为输入参数,执行签名算法后生成中继器切换签名shm和中继器切换签名承诺uhm的具体做法是:

首先,从中继器私钥skm中提取出中继器部分私钥dm和中继器秘密值xm,再将中继器部分私钥dm、中继器秘密值xm和中继器切换临时私钥uhm进行加法运算,再将加法值与生成员p进行点乘运算得到中继器切换签名承诺uhm;然后,将中继器切换签名消息mhm、中继器切换签名承诺uhm、中继器公开承诺rm和中继器秘密值承诺xm进行二型哈希运算h2得到中继器切换签名哈希γhm;最后,根据公式shm=(γhm+1)xm+2dm+uhm,计算生成中继器切换签名shm。

本例的步骤c2中,以基站切换临时私钥uhd、基站私钥skd和基站切换签名消息mhd为输入参数,执行签名算法后生成基站切换签名shd和基站切换签名承诺uhd的具体做法是:

首先,从基站私钥skd中提取出基站部分私钥dd和基站秘密值xd,再将基站部分私钥dd、基站秘密值xd和基站切换临时私钥uhd进行加法运算,随后,将加法值与生成员p进行点乘运算得到基站切换签名承诺uhd;然后,将基站切换签名消息mhd、基站切换签名承诺uhd、基站公开承诺rd和基站秘密值承诺xd进行二型哈希运算h2得到基站切换签名哈希γhd;最后,根据公式shd=(γhd+1)xd+2dd+uhd,计算生成基站签名shd。

本例的步骤b4中,以基站公钥pkd、基站待签名消息md、基站签名sd和基站签名承诺ud为输入参数,执行签名验证的具体做法是:

中继服务器(mrn)从基站待签名消息md中提取出基站身份标识idd,再从基站公钥pkd中提取出基站公开承诺rd和基站秘密值承诺xd,随后,将基站公开承诺rd、基站身份标识idd,通过一型哈希函数h1运算得到基站身份哈希hd;然后,将基站待签名消息md、基站签名承诺ud、基站公开承诺rd和基站秘密值承诺xd进行二型哈希运算h2得到基站签名哈希γd;

最后,验证下式是否成立;若成立,则验证成功;否则,验证不成功;sd·p=γd·xd+hd·ppub+rd+ud。

本例的步骤c2中,以中继器公钥pkm、中继器切换签名消息mhm、中继器切换签名shm和中继器切换签名承诺uhm为输入参数,执行签名验证的具体做法是:

路旁基站(denb)从中继器切换签名消息mhm中提取出中继器身份标识idm,再从中继器公钥pkm提取出中继器公开承诺rm、中继器秘密值承诺xm;再将中继器身份标识idm、中继器公开承诺rm通过一型哈希函数h1运算得到中继器身份哈希hm;随后,将中继器切换签名消息mhm、中继器切换签名承诺uhm、中继器公开承诺rm和中继器秘密值承诺xm进行二型哈希运算h2得到中继器切换签名哈希γhm;

最后,验证下式是否成立;若成立,则验证成功;否则,验证不成功;shm·p=γhm·xm+hm·ppub+rm+uhm。

本例的步骤c3中,以基站公钥pkd、基站切换签名消息mhd、基站切换签名shd、基站切换签名承诺uhd、生成员p和系统公钥ppub为输入参数,执行签名验证的具体做法是:

中继服务器(mrn)从基站切换签名消息mhd中提取出基站身份标识idd,再从基站公钥pkd中提取出基站公开承诺rd和基站秘密值承诺xd,将基站身份标识idd、基站公开承诺rd,通过一型哈希函数h1运算得到基站身份哈希hd;随后,将基站切换签名消息mhd、基站切换签名承诺uhd、基站公开承诺rd和基站秘密值承诺xd进行二型哈希运算h2得到基站切换签名哈希γhd;

最后,验证下式是否成立;若成立,则验证成功;否则,验证不成功;shd·p=γhd·xd+hd·ppub+rd+uhd。

本例的步骤b3中,以聚合签名sagg、聚合承诺uagg、中继器公钥pkm、中继器待签名消息mm、所有的用户公钥pki、所有的用户待签名消息mi作为输入参数,执行聚合签名验证的具体方法是:

路旁基站(denb)从用户待签名消息mi中提取出用户身份标识idi,从所有的用户公钥pki中提取出所有的用户公开承诺ri、所有的用户秘密值承诺xi、将用户公开承诺ri、用户身份标识idi,通过一型哈希函数h1运算得到用户身份哈希hi;随后,从聚合承诺uagg中提取出用户签名承诺ui,再将用户待签名消息mi、用户签名承诺ui、用户公开承诺ri和用户秘密值承诺xi进行二型哈希运算h2得到用户签名哈希γi;

路旁基站(denb)从中继器待签名消息mm中提取中继器身份标识idm,从中继器公钥pkm中提取出中继器公开承诺rm、中继器秘密值承诺xm;再将中继器公开承诺rm、中继器身份标识idm通过一型哈希函数h1运算得到中继器身份哈希hm;随后,从聚合承诺uagg中提取出中继器签名承诺um,再将中继器待签名消息mm、中继器签名承诺um、中继器公开承诺rm和中继器秘密值承诺xm进行二型哈希运算h2得到中继器签名哈希γi;

将中继器公开承诺rm和所有的用户公开承诺ri进行加法运算得到公开承诺汇总r,再将所有的用户签名承诺ui和中继器签名承诺um进行加法运算得到签名承诺汇总u;

最后,验证下式是否成立;若成立,则验证成功;否则,验证不成功;

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1