首页 / 专利库 / 电信 / 迭代 / 一种代理重签名的方法、服务器及终端设备

一种代理重签名的方法、服务器及终端设备

阅读:368发布:2021-09-19

专利汇可以提供一种代理重签名的方法、服务器及终端设备专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种代理重签名的方法及 服务器 、终端设备,用于提高重签名的安全性。其中的代理重签名的方法包括:采用群生成器生成群组,其中,所述群组包括至少两个群,输入所述群生成器的参数包括安全参数、第一参数和第二参数,所述第一参数用于指示待签名消息的比特长度,所述第二参数用于指示用户身份信息的比特长度;从所述群组中选择第一生成元,并将所述第一生成元发送给终端,其中,所述第一生成元指示所述待签名消息和所述用户身份信息,使得所述终端及代理签名设备基于该第一生成元生成重签名,一个群包括至少一个生成元。,下面是一种代理重签名的方法、服务器及终端设备专利的具体信息内容。

1.一种代理重签名的方法,其特征在于,包括:
采用群生成器生成群组,其中,所述群组包括至少两个群,输入所述群生成器的参数包括安全参数、第一参数和第二参数,所述第一参数用于指示待签名消息的比特长度,所述第二参数用于指示用户身份信息的比特长度;
从所述群组中选择第一生成元,并将所述第一生成元发送给终端,其中,所述第一生成元指示所述待签名消息和所述用户身份信息,使得所述终端及代理签名设备基于该第一生成元生成重签名,一个群包括至少一个生成元。
2.如权利要求1所述的方法,其特征在于,在从所述群组中选择第一生成元之后,还包括:
从第一整数群选取L对元素,并根据所述L对元素计算第一群元素,其中,L的值与所述第一参数的值相同,所述第一整数群为不包括所述群组的阶数的整数群;
从所述第一整数群选取N对元素,并根据所述N对元素计算第二群元素,其中,N的值与所述第二参数的值相同;
其中,所述第一群元素、所述第二群元素和所述第一生成元用于所述终端及所述代理签名设备生成重签名。
3.如权利要求2所述的方法,其特征在于,在从所述群组中选择第一生成元之后,还包括:
获取消息与用户身份的函数H(I,M),其中,I用于指示所述用户身份信息,M用于指示所述待签名消息;
将所述H(I,M)进行双线性配对映射至所述群组,其中,所述映射后的H(I,M)与所述第一生成元及所述第一群元素和所述第二群元素用于所述终端及所述代理签名设备生成重签名:
当i∈{2,...,n}时,
当i∈{n+1,...,n+l=k}时,
其中,n表示所述第一参数的值,l表示所述第二参数的值, 为所述用户身份信息I的第n个比特位对应的所述第二群元素,id1为所述用户身份信息I的第n个比特位,为所述待签名消息的第l个比特位对应的所述第一群元素,mi-n为所述待签名消息的第l个比特位。
4.一种代理重签名的方法,其特征在于,包括:
接收服务器发送的系统参数,所述系统参数包括第一生成元,所述第一生成元为服务器根据用户身份信息及待签名消息生成的群组中确定的,所述群组至少包括两个群;
对所述第一生成元进行加密,并将加密后的所述第一生成元和接收的代理签名设备生成的所述待签名消息的重签名发送给验证服务器,使得所述验证服务器基于加密后的第一生成元对所述重签名进行验证;
接收所述验证服务器对所述重签名的验证值,并根据所述验证值判断所述重签名是否有效。
5.如权利要求4所述的方法,其特征在于,根据所述验证值判断所述重签名是否有效,包括:
基于计算因子对待签名消息与用户身份信息的函数H(I,M)进行迭代计算,获得结果值,其中,I用于指示所述用户身份信息,M用于指示所述待签名消息,所述计算因子为从不包括所述群组的阶数的整数群中随机选择的一个值;
比较所述结果值与所述验证值,若确定所述结果值与所述验证值相同,则确定所述重签名有效。
6.一种服务器,其特征在于,包括:
生成单元,用于采用群生成器生成群组,其中,所述群组包括至少两个群,输入所述群生成器的参数包括安全参数、第一参数和第二参数,所述第一参数用于指示待签名消息的比特长度,所述第二参数用于指示用户身份信息的比特长度;
选择单元,用于从所述群组中选择第一生成元,并将所述第一生成元发送给终端,其中,所述第一生成元指示所述待签名消息和所述用户身份信息,使得所述终端及代理签名设备基于该第一生成元生成重签名,一个群包括至少一个生成元。
7.一种服务器,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1-3任一项所述的方法。
8.一种终端设备,其特征在于,包括:
接收单元,用于接收服务器发送的系统参数,所述系统参数包括第一生成元,所述第一生成元为服务器根据用户身份信息及待签名消息生成的群组中确定的,所述群组至少包括两个群;
加密单元,用于对所述第一生成元进行加密,并将加密后的所述第一生成元和接收的代理签名设备生成的所述待签名消息的重签名发送给验证服务器,使得所述验证服务器基于加密后的第一生成元对所述重签名进行验证;
验证单元,用于接收所述验证服务器对所述重签名的验证值,并根据所述验证值判断所述重签名是否有效。
9.一种终端设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求4或5所述的方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8或9-10任一项所述的方法。

说明书全文

一种代理重签名的方法、服务器及终端设备

技术领域

[0001] 本发明涉及信息安全技术领域,特别涉及一种代理重签名的方法、服务器及终端设备。

背景技术

[0002] 目前的代理重签名的实现是通过系统参数生成算法输入一个安全参数,输出系统参数和主密钥。再通过密钥提取算法输入主密钥和一个用户身份信息,获得用户的私钥。再通过重签名密钥生成算法输入受托者的身份和私钥,委托者即用户的身份和私钥,输出代理者的重签名密钥。接着通过签名生成算法给定一个身份的私钥和一个消息,输出在该消息上的签名。如果签名是有效签名,则通过重签名生成算法根据重签名密钥输出委托者在该消息上的重签名。
[0003] 而目前终端或代理服务器生成重签名的实现所基于系统参数是根据用户身份信息产生的一个群所选择的元素,这样生成的重签名较为简单,从而导致安全性较低。
[0004] 可见,目前的代理重签名方法得到的重签名的安全性较低。

发明内容

[0005] 本发明实施例提供一种代理重签名的方法、服务器及终端设备,用于提高重签名的安全性。
[0006] 第一方面,提供了一种代理重签名的方法,该方法包括:
[0007] 采用群生成器生成群组,其中,所述群组包括至少两个群,输入所述群生成器的参数包括安全参数、第一参数和第二参数,所述第一参数用于指示待签名消息的比特长度,所述第二参数用于指示用户身份信息的比特长度;
[0008] 从所述群组中选择第一生成元,并将所述第一生成元发送给终端,其中,所述第一生成元指示所述待签名消息和所述用户身份信息,使得所述终端及代理签名设备基于该第一生成元生成重签名,一个群包括至少一个生成元。
[0009] 采用本发明实施例提供的代理重签名方法可以基于待签名消息的比特长度和用户身份信息的比特长度及安全参数通过群生成器生成至少两个群,而每个群包括至少一个生成元,再从这至少两个群所包含的生成元中选择第一生成元,发送给终端。终端及代理签名设备基于第一生成元生成重签名。由于第一生成元是从待签名消息和用户身份信息生成的至少两个群中选择的一个,相较于现有技术从固定的一个群里面选择,可选择的范围较广,因此,根据第一生成元生成的重签名相较于现有技术中的重签名的复杂度就较高,从而提高了重签名的安全性。
[0010] 可选的,在从所述群组中选择第一生成元之后,还包括:
[0011] 从第一整数群选取L对元素,并根据所述L对元素计算第一群元素,其中,L的值与所述第一参数的值相同,所述第一整数群为不包括所述群组的阶数的整数群;
[0012] 从所述第一整数群选取N对元素,并根据所述N对元素计算第二群元素,其中,N的值与所述第二参数的值相同;
[0013] 其中,所述第一群元素、所述第二群元素和所述第一生成元用于所述终端及所述代理签名设备生成重签名。
[0014] 这种可选的方式描述了本发明实施例综合考虑了用户身份信息和待签名信息,从而分别确定第一群元素和第二群元素,相较于现有技术中只根据用户身份信息确定的一种群元素来说,可以构成的重签名的组合更多,因此,提高了重签名的安全性。另外,本发明实施例中的服务器根据随机选取的多维L对元素计算第一群元素,根据随机选取的多维N对元素计算第二群元素,因此计算过程涉及到多线性运算,相较于现有技术中是通过双线性运算获得群元素,本发明实施例中服务器的计算速率较高,从而提高了整个代理重签名的效率。
[0015] 可选的,在从所述群组中选择第一生成元之后,还包括:
[0016] 获取消息与用户身份的函数H(I,M),其中,I用于指示所述用户身份信息,M用于指示所述待签名消息;
[0017] 将所述H(I,M)进行双线性配对映射至所述群组,其中,所述映射后的H(I,M)与所述第一生成元及所述第一群元素和所述第二群元素用于所述终端及所述代理签名设备生成重签名:
[0018] 当i∈{2,...,n}时,
[0019] 当i∈{n+1,...,n+l=k}时,
[0020] 其中,n表示所述第一参数的值,l表示所述第二参数的值, 为所述用户身份信息I的第n个比特位对应的所述第二群元素,id1为所述用户身份信息I的第n个比特位,为所述待签名消息的第l个比特位对应的所述第一群元素,mi-n为所述待签名消息的第l个比特位。
[0021] 这种可选的方式描述了如何将H(I,M)进行映射。本发明实施例考虑到涉及用户身份信息和待签名的消息两种元素,因此,在将H(I,M)进行双线性配对映射至群组时分成两个过程,分别对应待签名消息和用户身份信息,终端及代理签名设备根据映射后的H(I,M)生成重签名也较为复杂,从而进一步提高了重签名的安全性。而现有技术中在对H(I,M)进行映射时只是一个过程,对待签名消息和用户身份信息来说,都是同样的过程,终端及代理签名设备根据映射后的H(I,M)生成重签名相对较为简单。
[0022] 第二方面,提供了一种代理重签名的方法,该方法包括:
[0023] 接收服务器发送的系统参数,所述系统参数包括第一生成元,所述第一生成元为服务器根据用户身份信息及待签名消息生成的群组中确定的,所述群组至少包括两个群;
[0024] 对所述第一生成元进行加密,并将加密后的所述第一生成元和接收的代理签名设备生成的所述待签名消息的重签名发送给验证服务器,使得所述验证服务器基于加密后的第一生成元对所述重签名进行验证;
[0025] 接收所述验证服务器对所述重签名的验证值,并根据所述验证值判断所述重签名是否有效。
[0026] 采用本发明实施例提到的代理签名方法,终端在验证重签名是否有效时,可以通过验证服务器进行一部分的运算,与传统代理重签名方案即终端承担全部的验证运算相比,终端的运算量减少了,对终端的配置要求降低,也减轻了终端的负担,提高了验证效率。
[0027] 可选的,根据所述验证值判断所述重签名是否有效,包括:
[0028] 基于计算因子对待签名消息与用户身份信息的函数H(I,M)进行迭代计算,获得结果值,其中,I用于指示所述用户身份信息,M用于指示所述待签名消息,所述计算因子为从不包括所述群组的阶数的整数群中随机选择的一个值;
[0029] 比较所述结果值与所述验证值,若确定所述结果值与所述验证值相同,则确定所述重签名有效。
[0030] 这种可选的方式具体描述了终端如何验证重签名是否有效。
[0031] 第三方面,提供了一种服务器,该服务器包括:
[0032] 生成单元,用于采用群生成器生成群组,其中,所述群组包括至少两个群,输入所述群生成器的参数包括安全参数、第一参数和第二参数,所述第一参数用于指示待签名消息的比特长度,所述第二参数用于指示用户身份信息的比特长度;
[0033] 选择单元,用于从所述群组中选择第一生成元,并将所述第一生成元发送给终端,其中,所述第一生成元指示所述待签名消息和所述用户身份信息,使得所述终端及代理签名设备基于该第一生成元生成重签名,一个群包括至少一个生成元。
[0034] 可选的,所述选择单元还用于:
[0035] 在从所述群组中选择第一生成元之后,从第一整数群选取L对元素,并根据所述L对元素计算第一群元素,其中,L的值与所述第一参数的值相同,所述第一整数群为不包括所述群组的阶数的整数群;
[0036] 从所述第一整数群选取N对元素,并根据所述N对元素计算第二群元素,其中,N的值与所述第二参数的值相同;
[0037] 其中,所述第一群元素、所述第二群元素和所述第一生成元用于所述终端及所述代理签名设备生成重签名。
[0038] 可选的,所述服务器还包括映射单元,用于:
[0039] 在从所述群组中选择第一生成元之后,获取消息与用户身份的函数H(I,M),其中,I用于指示所述用户身份信息,M用于指示所述待签名消息;
[0040] 将所述H(I,M)进行双线性配对映射至所述群组,其中,所述映射后的H(I,M)与所述第一生成元及所述第一群元素和所述第二群元素用于所述终端及所述代理签名设备生成重签名:
[0041] 当i∈{2,...,n}时,
[0042] 当i∈{n+1,...,n+l=k}时,
[0043] 其中,n表示所述第一参数的值,l表示所述第二参数的值, 为所述用户身份信息I的第n个比特位对应的所述第二群元素,id1为所述用户身份信息I的第n个比特位,为所述待签名消息的第l个比特位对应的所述第一群元素,mi-n为所述待签名消息的第l个比特位。
[0044] 本申请提供的服务器的技术效果可以参见上述第一方面的各个实现方式的技术效果,此处不再赘述。
[0045] 第四方面,提供了一种服务器,该服务器包括:
[0046] 至少一个处理器,以及
[0047] 与所述至少一个处理器连接的存储器
[0048] 其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面任一项所述的方法。
[0049] 本申请提供的服务器的技术效果可以参见上述第一方面的各个实现方式的技术效果,此处不再赘述。
[0050] 第五方面,提供了一种终端设备,该终端设备包括:
[0051] 接收单元,用于接收服务器发送的系统参数,所述系统参数包括第一生成元,所述第一生成元为服务器根据用户身份信息及待签名消息生成的群组中确定的,所述群组至少包括两个群;
[0052] 加密单元,用于对所述第一生成元进行加密,并将加密后的所述第一生成元和接收的代理签名设备生成的所述待签名消息的重签名发送给验证服务器,使得所述验证服务器基于加密后的第一生成元对所述重签名进行验证;
[0053] 验证单元,用于接收所述验证服务器对所述重签名的验证值,并根据所述验证值判断所述重签名是否有效。
[0054] 可选的,所述验证单元具体用于:
[0055] 基于计算因子对待签名消息与用户身份信息的函数H(I,M)进行迭代计算,获得结果值,其中,I用于指示所述用户身份信息,M用于指示所述待签名消息,所述计算因子为从不包括所述群组的阶数的整数群中随机选择的一个值;
[0056] 比较所述结果值与所述验证值,若确定所述结果值与所述验证值相同,则确定所述重签名有效。
[0057] 本申请提供的终端设备的技术效果可以参见上述第二方面的各个实现方式的技术效果,此处不再赘述。
[0058] 第六方面,提供了一种终端设备,该终端设备包括:
[0059] 至少一个处理器,以及
[0060] 与所述至少一个处理器连接的存储器;
[0061] 其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第二方面任一项所述的方法。
[0062] 本申请提供的终端设备的技术效果可以参见上述第二方面的各个实现方式的技术效果,此处不再赘述。
[0063] 第七方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第二方面任一项所述的方法。
[0064] 本发明实施例提供的代理重签名方法可以基于待签名消息的比特长度和用户身份信息的比特长度及安全参数通过群生成器生成群组,也就是至少两个群。每个群包括至少一个生成元,再从这至少两个群中选择一个生成元,即第一生成元,并将第一生成元发送给终端,以使得终端及代理签名设备生成重签名。由于第一生成元是从根据待签名消息和用户身份信息生成的至少两个群中选择的一个,相较于现有技术从固定的一个群里面选择,可选择的范围较广,因此,根据第一生成元生成的重签名相较于现有技术中的重签名的复杂度就较高,从而提高了重签名的安全性。附图说明
[0065] 图1是本发明实施例提供的代理重签名方法的流程示意图;
[0066] 图2为本发明实施例提供的服务器的一种结构示意图;
[0067] 图3为本发明实施例提供的服务器的一种结构示意图;
[0068] 图4为本发明实施例提供的终端设备的一种结构示意图;
[0069] 图5为本发明实施例提供的终端设备的一种结构示意图。

具体实施方式

[0070] 为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0071] 为了便于理解,下面介绍代理重签名的流程:
[0072] 代理重签名体制中,存在一个半可信赖的代理者,使用自己的重签名秘钥将委托者Alice在消息m上的签名转换成受托者Bob在m上的签名,代理者在此过程中不能知道签名秘钥的信息,也不能代替Alice和Bob在任意消息上签名。具体地,主要涉及6个算法,分别为参数生成算法、密钥生成算法、重签名密钥生成算法、签名生成算法、重签名生成算法以及签名验证算法。其中,服务器通过系统参数生成算法用于根据用户身份信息获得系统参数和主密钥,并通过密钥生成算法根据用户的身份信息和主密钥获得输出用户的私钥。终端设备通过重签名密钥生成算法根据用户的私钥和身份信息,委托者的身份信息和私钥,获得代理者的重签名密钥。终端设备通过签名生成算法根据用户身份信息和私钥及一个消息m,输出用户在消息m上的签名σ。代理签名设备通过重签名生成算法根据重签名密钥,σ是受托者在消息m上的签名,输出委托者在消息m上的重签名σ'。终端设备通过签名验证算法根据用户身份信息和消息m上的签名σ,验证重签名是否有效。
[0073] 目前终端或代理服务器生成重签名的实现所基于系统参数是根据用户身份信息产生的一个群所选择的生成元,这样生成的重签名较为简单,从而导致安全性较低。鉴于此,本发明实施例提供的代理重签名方法、服务器及终端设备,旨在提高重签名的安全性。
[0074] 下面结合说明书附图介绍本发明实施例提供的技术方案。
[0075] 请参见图1,本发明实施例提供了一种代理重签名的方法,该方法的具体流程描述如下。
[0076] 在步骤S101中,服务器可以采用群生成器生成群组,其中,群组包括至少两个群,输入群生成器的参数包括安全参数、第一参数和第二参数,第一参数用于指示待签名消息的比特长度,第二参数用于指示用户身份信息的比特长度。
[0077] 终端和代理签名设备也就是代理服务器生成重签名是根据服务器生成的系统参数实现的。系统参数一般是服务器基于用户相关信息例如用户身份信息等生成的,包括根据用户身份信息生成的群,群包括的生成元等。现有技术中服务器根据系统参数生成算法输入安全参数λ,生成系统参数,只考虑到用户身份信息生成的一个群,而从这个群里面选择一个生成元,选择范围较窄,因此,通过该生成元获得的重签名的可能性的概率较低,从而导致安全性较低。本发明实施例中的服务器可以采用群生成器生成群组,输入群生成器的参数包括安全参数、第一参数和第二参数,第一参数用于指示待签名消息的比特长度,第二参数用于指示用户身份信息的比特长度,其中,群组包括至少两个群,也即本发明实施例中的服务器根据用户身份信息和待签名消息获得的是至少两个群,而一个群包括至少一个生成元,那么生成元的选择范围就更广。
[0078] 具体地,本发明实施例中的服务器可以通过系统参数生成算法运行群生成器Γ(1λ,k=l+n),其中,1λ表示安全参数,l指示待签名消息的比特长度,n指示用户身份信息的比特长度,群生成器Γ运行后可以输出阶数为p的群组G=(G1,...,Gk),Gk表示第K个群。每个群包括至少一个生成元,本发明实施例中生成元用g表示,例如g1,...,gk分别是群组G中的生成元。
[0079] 服务器生成群组后,在步骤S102中,可以从群组中选择一个生成元作为第一生成元,并将第一生成元发送给终端,使得终端及代理签名设备基于第一生成元生成重签名。由于第一生成元是从用户身份信息和待签名消息生成的群组中选择的,所以第一生成元就可以指示待签名消息和用户身份信息,所以终端或者待签名设备根据第一生成元生成的重签名也就指示了待签名消息和用户身份信息。
[0080] 服务器可以从群组包括的生成元中选择第一生成元g=g1,在从群组中选择第一生成元之后,服务器还可以从第一整数群分别选取L对元素和N对元素,并根据L对元素计算第一群元素,根据N对元素计算第二群元素,其中,第一群元素和第二群元素用于终端及代理签名设备生成重签名,L的值与第一参数的值相同,N的值与第二参数的值相同。其中,选取的L对元素的数量是待签名消息的比特长度,因此第一群元素是与待签名消息的比特长度相关的。其中,选取的N对元素的数量是用户身份信息的比特长度,因此第二群元素是与用户身份信息的比特长度相关的。第一整数群为不包括群组的阶数的整数群。如果群生成器生成的是阶数为P的群组,那么第一整数群就是不包括P的整数群。
[0081] 具体地,本发明实施例中的服务器可以从第一整数群中随机选取l对元素,例如,其中,(an,0,an,1)用于指示第n对元素, 用于指示不包括P的第一整数群。服务器根据选择的l对元素计算群元素,获得第一群元素,例如其中,A用于指示第一群元
素,每个第一群元素包括从第一整数群选取的元素和第一生成元生成的元素,例如就是由第l对元素和第一生成元计算获得的。同样地,本发明实施例中
的服务器可以从第一整数群中随机选取n对元素,例如, 其
中,(bn,0,bn,1)用于指示第n个元素, 用于指示不包括P的第一整数群。服务器根据选择的n对元素计算群元素,获得第二群元素,例如:
[0082] 且,本发明实施例中的终端或者代理签名设备根据第一群元素、第二群元素和第一生成元生成重签名,涉及到两种群元素,相较于现有技术中只根据用户身份信息确定的一种群元素来说,可以构成的重签名的组合更多,因此,提高了重签名的安全性。另外,本发明实施例中的服务器根据随机选取的多维l对元素计算第一群元素,根据随机选取的多维n对元素计算第二群元素,因此计算过程涉及到多线性运算,相较于现有技术中是通过双线性运算获得群元素,本发明实施例中服务器的计算速率较高,从而提高了整个代理重签名的效率。
[0083] 本发明实施例中的服务器在从群组中选择第一生成元之后,服务器还可以获取消息与用户身份的函数H(I,M),并将H(I,M)进行双线性配对映射至群组。其中,I用于指示用户身份信息,M用于指示待签名消息,映射后的H(I,M)用于终端及代理签名设备生成重签名。
[0084] 其中,消息与用户身份的函数H(I,M)可以是H(I,M):{0,1}n×{0,1}l→Gk,即将{0,1}n×{0,1}l作运算并映射至Gk,其中,Gk表示第K个群,l指示待签名消息的比特长度,n指示用户身份信息的比特长度。考虑到第一群元素和第二群元素分别指示不同的信息,本发明实施例中的服务器在将H(I,M)进行双线性配对映射至群组时,考虑到第一群元素和第二群元素,具体映射可以通过以下公式实现:
[0085] 当i∈{2,...,n}时,
[0086] 当i∈{n+1,...,n+l=k}时,
[0087] 其中,n表示第一参数的值,l表示第二参数的值, 为用户身份信息I的第n个比特位对应的第二群元素,id1为用户身份信息I的第n个比特位, 为待签名消息的第l个比特位对应的第一群元素,mi-n为待签名消息的第l个比特位。
[0088] 现有技术中在对H(I,M)进行映射时只是一个过程,对待签名消息和用户身份信息来说,都是同样的过程,终端及代理签名设备根据映射后的H(I,M)生成重签名相对较为简单。而本发明实施例中的服务器在将H(I,M)进行双线性配对映射至群组时分成两个过程,分别对应待签名消息和用户身份信息,终端及代理签名设备根据映射后的H(I,M)生成重签名也较为复杂,从而进一步提高了重签名的安全性。
[0089] 服务器可以将获得的群组、生成元,第一群元素和第二群元素打包成系统参数发送给终端,当然系统参数还可以包括待签名消息的比特长度,用户身份信息的比特长度,群组的阶数等。例如系统参数可以为{G1,...,Gk,g1,...,gk,k,l,n,p,H,(A1,0,A1,1),(A2,0,A2,1)...,(Al,0,Al,1),...(B1,0,B1,1),...,(Bn,0,Bn,1)}。
[0090] 服务器通过系统参数生成算法输入安全参数还可以生成主密钥,本发明实施例中的服务器可以令主密钥MSK为{(b1,0,b1,1),...,(bn,0,bn,1)},服务器将系统参数及主密钥MSK发送给终端。终端可以通过密钥提取算法对确定用户输入的用户身份信息及主密钥MSK进行运算,获得与用户对应的私钥。例如,用户身份信息I=(id1,...,idn)∈{0,1}n,其中,id1为用户身份信息I的第n个比特位,输出对应的私钥 其中,g为第一生成元, 为第二群元素, 为主密钥。终端获得用户的私钥SKI之后,可以将用户身份信息和私钥发送给代理签名设备,代理签名设备可以重签名密钥生成算法获得代理这段重签名密钥。
[0091] 例 如 ,终 端发 送给 代理 签 名设 备受 托者 也就 是 用户身 份信 息和私钥 及委托者的身份信息和私钥 代理签名设备通过重
签名密钥生成算法输出代理者的重签名密钥
其中, 指示重签名密钥,g为第一生成元,函数e用于指示双线性运算, 用于指示受托者的私钥, 用于指示委托者私钥。
[0092] 代理签名设备在生成重签名之前,终端可以基于用户身份信息在消息M上生成签l名:例如待签名消息M=(m1,...,ml)∈{0,1} ,为消息M的l个比特位,受托者IA的私钥令 计算 i∈[l],获得待签名消息M的签名
其中,Gn-1+i表示第n-1+i个群组, 表示受托者第i个
比特位对应的群元素,函数e用于指示双线性运算。
[0093] 终端将待签名消息M的签名σ发送给代理签名设备,代理签名设备基于受托者的签名和重签名密钥,生成代理重签名。具体地,给定受托者IA对于待签名 消 息 M的签 名σA,重签名密钥 代理签名设备生成M的重签名其中,
σB指示M的重签名。
[0094] 代理签名设备生成重签名之后,可以将重签名发送给终端,终端验证重签名是否合法。具体地,请继续参见图1,本发明实施例中,在步骤S201中,终端可以接收服务器发送的系统参数,系统参数包括第一生成元,第一生成元为服务器根据用户身份信息和待签名消息生成的群组中确定的,群组至少包括两个群。在步骤S202中,终端可以对第一生成元进行加密,并将加密后的第一生成元和接收的代理签名设备生成的待签名消息的重签名发送给验证服务器,使得验证服务器基于加密后的第一生成元对重签名进行验证。具体地,终端r可以从不包括群组阶数P的整数群中随机选取一个元素 并计算R=g ,生成字符串VString=(r,R),即加密后的第一生成元。
[0095] 终端将(σ,R)发送给验证服务器,验证服务器接收(σ,R)基于VString,用户身份信息I和待签名消息的签名对(m,σ)对重签名进行验证。验证服务器计算K1=e(σ,R),其中函数e表示进行双线性运算,K1表示对重签名进行验证得到的验证值。验证服务器将K1发送给终端,以使得终端确定重签名是否有效。在步骤S203,终端可以接收验证服务器对重签名的验证值,并根据验证值判断所述重签名是否有效。具体地,终端计算消息与用户身份的函数H(I,M),具体地,K2=H(I,M)r,其中,r为从不包括群组阶数P的整数群中随机选取一个元素K2为终端对重签名的验证值,如果终端确定K1=K2则确定重签名是有效的,否则,若K1≠K2,则可以确定重签名无效。
[0096] 由于终端在验证重签名是否有效时,可以通过验证服务器进行一部分的运算,与传统代理重签名方案即终端承担全部的验证运算相比,终端的运算量减少了,对终端的配置要求降低,也减轻了终端的负担,提高了验证效率。
[0097] 综上所述,本发明实施例提供的代理重签名方法可以基于待签名消息的比特长度和用户身份信息的比特长度及安全参数通过群生成器生成群组,也就是至少两个群。每个群包括至少一个生成元,再从这至少两个群中选择一个生成元,即第一生成元,并将第一生成元发送给终端,以使得终端及代理签名设备生成重签名。由于第一生成元是从根据待签名消息和用户身份信息生成的至少两个群中选择的一个,相较于现有技术从固定的一个群里面选择,可选择的范围较广,因此,根据第一生成元生成的重签名相较于现有技术中的重签名的复杂度就较高,从而提高了重签名的安全性。
[0098] 下面结合说明书附图介绍本发明实施例提供的设备。
[0099] 请参见图2,基于同一发明构思,本发明一实施例提供一种服务器,该服务器可以包括生成单元201和选择单元202。其中,生成单元用于支持服务器执行图1中的步骤S101。选择单元用于支持服务器执行图1中的步骤S102。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模的功能描述,在此不再赘述。
[0100] 可选的,选择单元还用于:
[0101] 在从群组中选择第一生成元之后,从第一整数群选取L对元素,并根据L对元素计算第一群元素,其中,L的值与第一参数的值相同,第一整数群为不包括群组的阶数的整数群;
[0102] 从第一整数群选取N对元素,并根据N对元素计算第二群元素,其中,N的值与第二参数的值相同;
[0103] 其中,第一群元素、第二群元素和第一生成元用于终端及代理签名设备生成重签名。
[0104] 可选的,服务器还包括映射单元203,用于:
[0105] 在从群组中选择第一生成元之后,获取消息与用户身份的函数H(I,M),其中,I用于指示用户身份信息,M用于指示待签名消息;
[0106] 将H(I,M)进行双线性配对映射至群组,其中,映射后的H(I,M)与第一生成元及第一群元素和第二群元素用于终端及代理签名设备生成重签名:
[0107] 当i∈{2,...,n}时,
[0108] 当i∈{n+1,...,n+l=k}时,
[0109] 其中,n表示第一参数的值,l表示第二参数的值, 为用户身份信息I的第n个比特位对应的第二群元素,id1为用户身份信息I的第n个比特位, 为待签名消息的第l个比特位对应的第一群元素,mi-n为待签名消息的第l个比特位。
[0110] 在使用集成单元的情况下,请参见图3,基于同一发明构思,本发明一实施例提供一种服务器,该服务器可以包括:至少一个处理器301,处理器301用于执行存储器中存储的计算机程序时实现本发明实施例提供的如图1所示的代理重签名方法的步骤。
[0111] 可选的,处理器301具体可以是中央处理器、特定应用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路。
[0112] 可选的,该服务器还包括与至少一个处理器连接的存储器302,存储器302可以包括只读存储器(英文:Read Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)和磁盘存储器。存储器302用于存储处理器301运行时所需的数据,即存储有可被至少一个处理器301执行的指令,至少一个处理器301通过执行存储器302存储的指令,执行如图1所示的方法。其中,存储器302的数量为一个或多个。其中,存储器302在图3中一并示出,但需要知道的是存储器302不是必选的功能模块,因此在图3中以虚线示出。
[0113] 其中,生成单元201、选择单元202和映射单元203所对应的实体设备均可以是前述的处理器301。该服务器可以用于执行图1所示的实施例所提供的方法。因此关于该设备中各功能模块所能够实现的功能,可参考图1所示的实施例中的相应描述,不多赘述。
[0114] 请参见图4,基于同一发明构思,本发明一实施例提供一种终端设备,该终端设备可以包括接收单元401、加密单元402和验证单元403。其中,接收单元用于支持终端设备执行图1中的步骤S201。加密单元用于支持终端设备执行图1中的步骤S202。验证单元用于支持终端设备执行图1中的步骤S203。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
[0115] 在使用集成单元的情况下,请参见图5,基于同一发明构思,本发明一实施例提供一种终端设备,该终端设备可以包括:至少一个处理器501,处理器501用于执行存储器中存储的计算机程序时实现本发明实施例提供的如图1所示的代理重签名方法的步骤。
[0116] 可选的,处理器501具体可以是中央处理器、特定应用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路。
[0117] 可选的,该终端设备还包括与至少一个处理器连接的存储器502,存储器502可以包括只读存储器(英文:Read Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)和磁盘存储器。存储器502用于存储处理器501运行时所需的数据,即存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,执行如图1所示的方法。其中,存储器502的数量为一个或多个。其中,存储器502在图5中一并示出,但需要知道的是存储器502不是必选的功能模块,因此在图5中以虚线示出。
[0118] 其中,接收单元401、加密单元402和验证单元403所对应的实体设备均可以是前述的处理器501。该服务器可以用于执行图1所示的实施例所提供的方法。因此关于该设备中各功能模块所能够实现的功能,可参考图1所示的实施例中的相应描述,不多赘述。
[0119] 本发明实施例还提供一种计算机存储介质,其中,计算机存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如图1所述的方法。
[0120] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0121] 在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0122] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0123] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0124] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(Universal Serial Bus flash disk)、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0125] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈