[发明专利]入侵回弹的不可拆分数字签名方法有效

专利信息
申请号: 201711330710.0 申请日: 2017-12-13
公开(公告)号: CN108011723B 公开(公告)日: 2020-11-03
发明(设计)人: 史扬;张清;傅晓巍 申请(专利权)人: 同济大学
主分类号: H04L9/32 分类号: H04L9/32;H04L9/16;H04L29/06
代理公司: 上海科律专利代理事务所(特殊普通合伙) 31290 代理人: 叶凤
地址: 200092 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 入侵 回弹 不可 拆分 数字签名 方法
【权利要求书】:

1.一种入侵回弹的不可拆分数字签名方法,其特征在于,它包括十一个步骤具体如下:

步骤1.在一台权威认证的可信机构服务器Server上,根据规定好的安全级别下输入需要的安全指数k,算法1,生成全局参数并输出公共参数和轮常数链,算法定义如下:

算法1,密钥生成算法IRKGen(1k):

1.1.输入总共的时间片段数T和1k,为自然数,为一个安全参数,算法首先生成全局参数:Ω中均是阶为q的乘法循环群;G、P是各自的固定生成元;是一个线性映射,将中的元素先做笛卡儿积,然后映射到中的元素上;和是两个哈希映射,作用是将任意二进制数值分别映射到和上,其中是以质数q为阶且无零元的整数加法群;

1.2.调用任一基于离散对数的数字签名方案中的密钥生成算法KG生成两对公钥、私钥对:PK,sk←KG(1k)以及〈PK*,sk*←KG(1k);其中,PK=Gsk,PK*=Gsk*,G是群的生成元;

1.3.从BLS签名方案的密钥池D中均匀随机地选一个初始密钥元素:

1.4.调用BLS签名方案中的任一指数运算计算初始时间段内t=1的轮常数:R(1)←Gk(t)

1.5.循环计算其他时间段内的轮常数:k(t)←H1(k(t-1)),并删除所有轮的密钥元素,并生成轮常数链R=R(1),…,R(T)

1.6.以sk为私钥调用BLS签名算法Sign为R和PK*签名:σpub=(H2(R,PK*))sk,并删除签名所用的私钥sk,输出公共参数R,PK,PK*及签名σpub

1.7.将另一私钥sk*发送给基地;

步骤2.随后基地算法2输入当前时间片t、链R和私钥sk*,然后算法2,实现基地的密钥升级,输出当前时间段的初始基地密钥SKBt,0,其定义如下:

算法2,基地密钥升级算法UB:

2.1.输入t,R,从R中读取当前时间段的轮常数:R(t)←R;

2.2.调用密钥生成算法KG生成当前时间段内的公钥、私钥对:PKt,skt←KG(1k),其中

2.3.以sk*为私钥调用BLS签名算法Sign构造当前时间段的签名:σt=(H2(t,PKt)+R(t))sk*,其中R(t)用来与H2(t,PKt)相加;

2.4.生成当前时间段内的公钥证书CERTt=σt,t,PKt以及当前时间段t的初始基地密钥SKBt,0=⊥,skt

2.5.删除前一时间段的初始基地密钥SKBt-1,0,并发送密钥升级消息SKUt-1=CERTt给客户端进行下一步;

步骤3.客户端为签名者,接收到密钥升级消息SKUt-1,将其作为算法3的输入,初始化当前时间段的签名密钥,其定义如下:

算法3,签名密钥升级算法US:

3.1.输入密钥升级消息SKUt-1

3.2.输出时间段t内的初始签名密钥SKSt,0=⊥,SKUt-1,删除前一时间段的初始签名密钥SKSt-1,0

步骤4.基地,再次通过向算法4输入当前时间片t,当前轮数r,表示某时间段t内,基地密钥刷新算法和签名密钥刷新算法各要运行Round(t)次,以及前一轮的基地密钥SKBt,r-1,刷新得到时间段t内第r轮的基地密钥SKBt,r;1≤r≤Round(t),Round(t);

具体定义如下:

算法4,基地密钥刷新算法RB:

4.1.输入t,r以及SKBt,r-1

4.2.从SKBt,r-1中提取私钥skt:skt←I2,2(SKBt,r-1),其中Ia,b代表从a元组中提取第b个元素;

4.3.调用BLS方案中的密钥生成算法KG生成当前时间段t内第r轮的公钥、私钥对:PKt,r,skt,r←KG(1k);

4.4.以skt为私钥调用BLS签名算法Sign构造当前时间段t内第r轮的签名:

4.5.生成当前时间段t内第r轮的公钥证书certt,r=σt,r,t,r,PKt,r,以及时间段t内第r轮的基地密钥SKBt,r=skt,r,skt

4.6.删除前一轮的基地密钥SKBt,r-1,并发送密钥刷新消息SKRt,r-1=skt,r,certt,r〉给客户端进行下一步;

步骤5.客户端,签名者以接收到的密钥刷新消息SKRt,r-1以及时间段t内前一轮的签名密钥SKSt,r-1作为算法5的输入,定义如下:

算法5,签名密钥刷新算法RS:

5.1.输入SKRt,r-1以及前一轮签名密钥SKSt,r-1

5.2.生成时间段t内第r轮的签名密钥SKSt,r=SKRt,r-1,I2,2(SKSt,r-1),删除前一轮签名密钥SKSt,r-1

步骤6.在客户端,签名者完成交易,准备发送移动代理进行交易;

步骤7.在客户端,签名者在获取当前的签名密钥SKSt,r之后,将此密钥与REQ_C||IDc作为输入算法6,其定义如下:

算法6,不可拆分签名方法的生成算法IRUndFunGen:

6.1.从签名密钥SKSt,r中获取当前时间段内当前轮数生成的私钥skt,r及两个证书:

skt,r←I2,1(I2,1(SKSt,r)),certt,r←I2,2(I2,1(SKSt,r)),CERTt←I2,2(SKSt,r);

6.2.以skt,r为私钥调用BLS签名算法Sign对REQ_C||IDc进行签名:首先利用哈希函数H2将二进制变量REQ_C||IDc转换为群上的元素H←H2(REQ_C||IDc),再得到

6.3.生成不可拆分签名方法对:x为任一待签名消息;

6.4.输出fIRSign(x)=t,r,f(x),fSign(x),certt,r,CERTt,使代理携带;

步骤8.随后客户端算法7为代理中的敏感数据签名,输入为当前敏感数据Msg、当前时间片t、当前轮数r、以及当前签名密钥SKSt,r,输出代理携带的签名,算法定义如下:

算法7,基于离散对数的普通签名算法Sign:

7.1.从签名密钥SKSt,r中获取当前时间段内当前轮数生成的私钥skt,r及两个证书:

skt,r←I2,1(I2,1(SKSt,r)),certt,r←I2,2(I2,1(SKSt,r)),CERTt←I2,2(SKSt,r);

7.2.以skt,r为私钥为敏感数据Msg签名:

7.3.输出sig=t,r,certt,r,CERTtsig,由代理携带,进行下一步;

步骤9.商店接受到代理以及代理携带的签名,先用算法8检验代理的合法性,即验证步骤8中的生成的签名σ是否合法;输入为系列公共参数R,PK,PK*,σpub及代理携带敏感数据Msg及签名,验证算法定义如下:

算法8,基于离散对数的普通验证算法yrfy:

8.1.t,r,certt,r,CERTtsig←sig,σt,t,PKt←CERTt,σt,r,t,r,PKt,r←certt,r

8.2.首先验证公共签名σpub,检验轮常数链R的合法性:若输出0,算法结束;否则进行下一步;

8.3.验证证书CERTt的合法性,若输出0,算法结束;否则进行下一步;

8.4.验证证书certt,r的合法性,PKt←I2,2(I2,2(CERTt)),若输出0,算法结束;否则进行下一步;

8.5.验证签名σsig的合法性,PKt,r←I3,3(I2,2(certt,r)),若输出0,算法结束;否则输出1;

如果输出为0,退出交易;如果输出为1,判断代理是否继续在商店间迁移,如果需要,则新商店需要重复步骤9验证步骤;否则进行步骤10;

步骤10.在此,商店已经做出最终决策完成交易,那么生成CONTRACT和其他交易信息M作为输入,同时利用代理携带的不可拆分签名方法对f(x),fSign(x)算法9,得到最终的不可拆分签名undsig,算法定义如下:

算法9,不可拆分签名算法IRUndSign:

9.1.f(x),fSign(x)←I5,3(fIRsign(x)),certt,r←I5,4(fIRsign(x)),CERTt←I5,5(fIRsign(x));

9.2.以CONTRACT||M作为不可拆分方法fSign(x)的输入生成不可拆分签名:

σundsig=fSign(CONTRACT||M);

9.3.输出undsig=t,r,σundsig,certt,r,CERTt,保存至代理中,然后使代理迁移返回客户端,进行下一步;

步骤11.最后客户端收到交易完成的代理,以不可拆分签名undsig、交易消息CONTRACT||M、约束条件REQ_C||IDc及公共参数R,PK,PK*,σpub为输入运行不可拆分签名验证算法,验证不可拆分签名的合法性,输出0或1,算法定义如下:

算法10,不可拆分签名验证算法IRUndVrfy:

10.1.t,r,certt,r,CERTt,σundsig←undsig,σt,t,PKt←CERTt,σt,r,t,r,PKt,r←certt,r

10.2.首先验证公共签名σpub,检验轮常数链R的合法性:若输出0,算法结束;否则进行下一步;

10.3.验证证书CERTt的合法性,若输出0,算法结束;否则进行下一步;

10.4.验证证书certt,r的合法性,PKt←I2,2(I2,2(CERTt)),若输出0,算法结束;否则进行下一步;

10.5.验证签名σundsig的合法性,PKt,r←I3,3(I2,2(certt,r)),若输出0,算法结束;否则输出1;如果输出为0,退出交易;如果输出为1,完成交易。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同济大学,未经同济大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711330710.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top