一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于标识密码体制的可验证安全外包计算方法及系统与流程

2022-03-30 10:03:07 来源:中国专利 TAG:


1.本发明属于信息安全技术领域,具体涉及一种用于标识密码体制的可验证安全外包计算方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.随着大数据和物联网技术的交叉融合、相互促进,物联网中的海量终端设备作为数据采集的重要手段,不断产生大量数据上传到数据中心,形成了一个万物互联、数据流通的网络基础设施。其中,海量物联网终端的设备身份认证,以及机密、敏感数据的传输加密等安全问题,正在变得越来越重要。
4.标识密码体制以设备身份信息为公钥,不需要颁发数字证书,非常适合于具有海量终端的物联网应用场景。
5.标识密码体制的类型,主要包括数据加密算法、数字签名算法、密钥协商协议等,其中基于标识的签密算法是将数据加密和数字签名二者集于一体的算法,既可以保护数据内容的机密性,又可以验证数据来源的合法性,是信息安全领域一个重要的研究课题。但是,标识密码体制包含了大量的复杂数学运算,比如双线性配对运算、椭圆曲线上的标量乘运算以及模幂运算等。对于计算资源非常有限的物联网终端设备,需要耗费很长的时间去完成这些运算。


技术实现要素:

6.本发明为了解决上述问题,提出了一种用于标识密码体制的可验证安全外包计算方法及系统,本发明可以用于基于标识的数据加密、数字签名、签密等算法的外包计算,能够节约物联网终端设备的运算时间。
7.根据一些实施例,本发明采用如下技术方案:
8.一种用于标识密码体制的可验证安全外包计算方法,在物联网终端设备处执行,包括以下步骤:
9.分若干次拆分标识密码体制中的机密参数,分别将一部分系统参数或/和私钥信息,以及一部分机密参数发送给第一服务器,将一部分系统参数或/和私钥信息,以及另一部分机密参数发送给第二服务器;
10.依次接收两个服务器计算反馈的结果;
11.分别利用本地存储的两部分机密参数相关的或与私钥信息相关的对应验证信息,验证两个服务器计算结果的正确性,验证成功之后,将两个服务器返回的计算结果进行计算,合成为完整计算结果;
12.根据若干次返回的计算结果,确定消息加密结果和签名结果,输出加密后的消息密文和签名结果。
13.作为可选择的实施方式,所述标识密码体制包括blmq签密算法。
14.作为可选择的实施方式,第一服务器和第二服务器的数据不产生交互,不互相共谋。
15.作为可选择的实施方式,第一次外包计算过程中,具体包括:拆分标识密码体制中的机密参数,将一部分系统参数和一部分机密参数作为第一加密参数发送给第一服务器,将所述系统参数和另一部分机密参数作为第二加密参数发送给第二服务器;
16.接收两个服务器计算反馈的结果,利用和两部分机密参数相关的本地存储的第一验证信息进行验证,验证成功之后,将两个服务器返回的计算结果进行相乘,得到完整的计算结果。
17.作为进一步的限定,所述机密参数为随机选择一随机数x,将x分解成两个数t1和t2之和,t1和t2满足t
1-t2=k1,k1为整数,将其作为第一验证信息。
18.作为可选择的实施方式,第二次外包计算过程中,具体包括:计算相关所述系统参数的双线性配对和消息的哈希值;
19.随机从双线性映射的群中选择两个点,并利用私钥信息、哈希值分别和所述点计算得到加密信息,选择本地随机数,根据本地随机数、原始的结果、哈希值计算第三加密参数,将两个加密信息和第三加密参数发送给第一服务器,将两个点和第三加密参数发送给第二服务器,利用本地随机数、私钥信息计算第二验证信息;
20.接收两个服务器计算反馈的结果,对其进行验证,若验证通过,利用本地存储的第二验证信息进行解密。
21.作为进一步的限定,随机从阶数为p的双线性映射的群g1中选择两个点a1和a2,并在本地计算和为私钥信息,所述本地随机数为随机数k2,计算y=x h k2,x为原始的结果,h为相关所述系统参数的双线性配对和消息的哈希值。
22.作为可选择的实施方式,第三次外包计算过程中,具体包括:将与消息接收者标识相关的信息进行分解,将分解后的一部分信息、一部分系统参数和一部分机密参数发送给第一服务器,将分解后的另一部分信息、所述系统参数和另一部分机密参数发送给第二服务器;
23.接收两个服务器计算反馈的结果,对其利用和两部分分解信息相关的本地存储的第三验证信息进行验证,若验证通过,对返回结果进行相加,计算出完整结果。
24.作为进一步的限定,将原始的结果x分解为t1和t2之和,将xh1(idb)分解成两个数t3和t4之和,且t3和t4满足t
3-t4=k3,其中k3是整数,idb是消息接收者的标识,k1和k3保存在本地,本地计算k3p和p和q
pub
是系统参数,将t1,t3,p和发送给第一服务器,将t2,t4,p和发送给第二服务器。
25.一种用于标识密码体制的可验证安全外包计算系统,包括:
26.物联网终端设备,被配置为拆分标识密码体制中的机密参数,利用一部分系统参数和一部分机密参数作为第一加密参数发送给第一服务器,将所述系统参数和另一部分机密参数作为第二加密参数发送给第二服务器;
27.接收两个服务器计算反馈的结果,利用和两部分机密参数相关的本地存储的第一
验证信息进行验证,验证成功之后,将两个服务器返回的计算结果进行相乘计算,得到完整的计算结果;
28.计算相关所述系统参数的双线性配对和消息的哈希值;
29.随机从双线性映射的群中选择两个点,并利用私钥信息、哈希值分别和所述点计算得到加密信息,选择本地随机数,根据本地随机数、原始的结果、哈希值计算第三加密参数,将两个加密信息和第三加密参数发送给第一服务器,将两个点和第三加密参数发送给第二服务器,利用本地随机数和私钥信息计算第二验证信息;
30.接收两个服务器计算反馈的结果,对其进行验证,若验证通过,利用本地存储的第二验证信息进行解密;
31.将与消息接收者标识相关的信息进行分解,将分解后的一部分信息、一部分系统参数和一部分机密参数发送给第一服务器,将分解后的另一部分信息、所述系统参数和另一部分机密参数发送给第二服务器;
32.接收两个服务器计算反馈的结果,对其利用和两部分分解信息相关的本地存储的第三验证信息进行验证,若验证通过,对返回结果进行相加,计算出完整结果;
33.根据三次返回结果,确定签名,输出加密后的消息和签名;
34.第一服务器,被配置为接收物联网终端设备发送的相应信息,并进行相应计算,将计算结果反馈给物联网终端设备;
35.第二服务器,被配置为接收物联网终端设备发送的相应信息,并进行相应计算,将计算结果反馈给物联网终端设备。
36.一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成上述方法中的步骤。
37.一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成上述方法中的步骤。
38.与现有技术相比,本发明的有益效果为:
39.本发明对需要进行外包的部分,物联网终端设备首先将每一步涉及到的机密参数进行拆分,之后将加密的参数和一些公开的参数分别发送给两个服务器进行计算。两个服务器在完成相应的计算之后,将计算结果返回给物联网终端设备,物联网终端设备利用拆分过程中生成的验证信息验证返回结果的正确性。如果验证通过,则物联网终端设备进行解密,恢复出真实的计算结果。能够大大节约物联网终端设备的计算资源,保证执行速度。
40.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
41.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
42.图1为本实施例的流程示意图。
具体实施方式:
43.下面结合附图与实施例对本发明作进一步说明。
44.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
45.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
46.如图1所示,本发明提供一种用于标识密码体制的安全外包计算方法,对于需要进行外包的部分,物联网终端设备首先将每一步涉及到的机密参数进行拆分,之后将加密的参数和一些公开的参数分别发送给两个服务器进行计算。两个服务器在完成相应的计算之后,将计算结果返回给物联网终端设备,物联网终端设备利用拆分过程中生成的验证信息验证返回结果的正确性。如果验证通过,则物联网终端设备进行计算,恢复出真实的计算结果。
47.为使本领域技术人员更加明白本发明的技术方案,以blmq签密算法(ieee std 1363.3标准)为例进行说明。但并不代表本发明仅能用于blmq签密算法。
48.blmq签密算法中的系统参数包括:其中g1,g2和g
t
是3个阶数为p的双线性映射的群,点q是群g2上的生成元,点p是群g1中的元素,且满足满足是一个映射函数。g=e(p,q)∈g
t
,其中e代表了一个双线性映射关系。物联网终端设备随机从中选择一个数s,并计算系统的公钥q
pub
=sq∈g2。物联网终端设备选择三个哈希函数和h3→
{0,1}n。
49.对于给定一个消息m∈{0,1}
*
,blmq签密方案中生成签名和加密消息的具体过程如下所示:
50.第一步:消息发送者从中随机选择一个整数x,并计算r=g
x
=e(p,q)
x
,之后计算
51.第二步:消息发送者计算h=h2(m,r);
52.第三步:消息发送者计算其中是发送者的私钥,ida是消息发送者的标识。
53.第四步:消息发送者计算其中idb是消息接收者的标识;
54.第五步:消息发送者输出加密的消息和签名(c,s,t)。
55.利用本发明的技术方案,具体执行如下:
56.第一步为第一次外包过程,对于其中的计算r=e(p,q)
x
,首先根据双线性性质进行一个转化,变成r=e(xp,q),将双线性配对e(p,q)与r的计算过程合并进行。点p和点q都是系统公开的参数,因而点p和点q可以直接发送给两个服务器,不需要进行额外的操作。对于x,是由物联网终端设备选择的,这是不能泄露给两个服务器的。因此,将x分解成两个数t1和t2之和,并且为了满足结果的可验证性,t1和t2满足t
1-t2=k1,其中k1是由物联网终端设
备从群中随机选择的一个小整数。分解完x之后,将参数t1,p,q和e发送给服务器1,将参数t2,p,q和e发送给服务器2,k1保存在本地。两个服务器分别进行计算并返回计算结果。物联网终端设备利用本地储存的k1进行验证。验证成功之后,将两个服务器返回的计算结果进行相乘,得到完整的计算结果。
57.其中,服务器1计算:r1=e(t1p,q),服务器1将r1返回给物联网终端设备端;
58.服务器2计算:r2=e(t2p,q),服务器2将r2返回给物联网终端设备端。
59.物联网终端设备在接收到服务器返回的结果之后,验证以下等式是否成立:
[0060][0061]
其中g=e(p,q)是一个公开的系统参数。如果以上等式成立,物联网终端设备计算r=e(p,q)
x
=r1r2,得到最后的结果。
[0062]
第二步中不涉及复杂运算,物联网终端设备在本地完成。
[0063]
第三步为第二次外包计算过程,计算第三步为第二次外包计算过程,计算中包含物联网终端设备的私钥信息,私钥信息是不能泄露给两个服务器的,因此需要保护和隐藏物联网终端设备随机从群g1中选择两个点a1和a2,并在本地计算另外x h是由物联网终端设备选择的,这也是不能泄露给服务器的。因此,物联网终端设备随机从群中随机选择一个较小整数k2并计算y=x h k2。完成之后,物联网终端设备将y,b1和b2发送给服务器1,将y,a1和a2发送给服务器2。物联网终端设备将k2存储在本地并计算两个服务器进行相应的计算并返回计算结果给物联网终端设备。物联网终端设备进行验证,若验证通过,则用本地存储的进行解密。
[0064]
其中,服务器1在接收到数据后进行计算:yb1和yb2,并将其返回给物联网终端设备;
[0065]
服务器2在接收到数据后进行计算:ya1和ya2,并将其返回给物联网终端设备。
[0066]
物联网终端设备验证以下等式是否成立:
[0067]
yb1 ya1=yb2 ya2[0068]
若成立,物联网终端设备进行解密得到原始结果。
[0069]
第四步为第三次外包计算过程,其中计算和第一步类似,点p和点q
pub
是系统公开的参数,因而点p和点可以直接发送给两个服务器,不需要进行额外的操作。对于x,和第一步一样,分解为t1和t2之和。对于xh1(idb),将xh1(idb)分解成两个数t3和t4之和,并且为了满足结果的可验证性,t3和t4满足t
3-t4=k3,其中k3是由物联网终端设备从随机选择的一个小整数。完成之后,k1和k3保存在本地,并且物联网终端设备在本地计算k3p和将t1,t3,p和发送给服务器1,将t2,t4,p和发送给服务器2。服务器进行计算并返回计算结果。物联网终端设备利用k3p和对返回结果进行验证。若验证通过,则将返回结果相加,得到完整计算结果。
[0070]
服务器1在接收到数据后进行计算:并将其返回给物联网终端设备;
[0071]
服务器2在接收到数据后进行计算:并将其返回给物联网终端设备。
[0072]
物联网终端设备以下等式是否成立:
[0073][0074]
若成立,则进行计算得到结果。
[0075]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0076]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0077]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0078]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0079]
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献