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

基于同态加密的匿踪数据核验方法及系统与流程

2022-07-17 00:40:17 来源:中国专利 TAG:


1.本技术涉及数据安全技术、隐私保护技术领域,特别是涉及一种基于同态加密的匿踪数据核验方法及系统。


背景技术:

2.三要素核验是指通过比对姓名、身份证号、手机号,核验用户身份信息真伪,主要用于网络平台对入驻或者使用产品权限的用户进行身份核验,查询方提供用户三要素(身份证、姓名、手机号)查询信息向运营商机构发起查询核验,与运营商的数据库进行比对,返回核验结果,从而判断待查三要素是否与运营商存储的数据一致,进而帮助查询方进行业务层面的决策,从源头上规避欺诈行为。
3.现有的三要素核验方法包括以下两种:1.直接核验:查询方提供三元素的明文,或对应的哈希值,由服务端(被查询方)进行直接匹配,并返回查询结果。
4.这种方法的优点:没有特殊的计算过程,仅进行明文匹配或哈希值计算后的字符串匹配,查询效率高。
5.这种方法的缺点:没有任何隐私保护措施,查询方的三要素信息会暴露给被查询方。
6.2.基于不经意传输协议的核验:查询方对待查三要素进行随机编码,通过与被查询方执行不经意传输(oblivious transfer,ot)协议,确定待查三要素是否存在。
7.这种方法的优点:可以包含查询方的三要素信息,即被查询方只能返回查询结果,但不知道查询方所查询的三要素具体内容。
8.这种方法的缺点:通信轮数大,通信开销大,对网络环境要求苛刻,对于海量数据的情况,难以满足对查询性能的要求。


技术实现要素:

9.本技术实施例的目的在于提供一种基于同态加密的匿踪数据核验方法及系统,在保护双方隐私信息的前提下,实现高效的数据核验。
10.具体技术方案如下:为实现上述目的,本技术实施例提供了一种基于同态加密的匿踪数据核验方法,所述方法包括:查询方计算待核验数据的目标特征值,按照被查询方对数据特征值的分桶规则,计算所述目标特征值所属目标分桶的桶编号,并确定该目标分桶包含的数据特征值的第一数目;所述查询方基于预先选定的编码长度对所述目标特征值进行切分,并基于所述第一数目,对切分结果进行复制,得到查询向量;所述查询方对所述查询向量进行同态加密,得到加密查询向量,并将同态加密的
公钥、所述桶编号、所述编码长度和所述加密查询向量发送至所述被查询方;所述被查询方确定所述桶编号对应的分桶特征值,所述分桶特征值由所述第一数目的数据特征值组成;所述被查询方根据所述编码长度对所述分桶特征值中的每一数据特征值进行切分,得到明文向量;所述被查询方根据所述公钥,在同态加密下计算所述加密查询向量与所述明文向量的差值,并在同态加密下将所述差值乘以随机掩码,得到密文查询结果向量,将所述密文查询结果向量发送至所述查询方;所述查询方根据同态加密的私钥对所述密文查询结果向量进行解密,得到明文查询结果向量,根据所述明文查询结果向量判断所述待核验数据是否正确。
11.可选的,所述对所述查询向量进行同态加密,得到加密查询向量的步骤,包括:采用单指令多数据技术,对所述查询向量进行预设类型的同态加密计算,得到加密查询向量。
12.可选的,所述根据所述明文查询结果向量判断所述待核验数据是否正确的步骤,包括:以所述编码长度为单位遍历所述明文查询结果向量中的元素,如果存在连续所述编码长度个元素均为零,确定所述待核验数据正确。
13.可选的,所述方法还包括:所述被查询方预先将存储的数据转换为数据特征值,并按照预设的分桶规则对所述数据特征值进行分桶,得到多个分桶特征值,并将每个分桶特征值包含的数据特征值的数目发送至所述查询方。
14.可选的,所述被查询方确定所述桶编号对应的分桶特征值之后,还包括:对所述桶编号对应的分桶特征值包含的数据特征值进行随机重排序。
15.可选的,所述数据特征值是对数据进行哈希运算得到的哈希值。
16.可选的,所述待核验数据是包含姓名、身份证号和手机号的三要素数据。
17.为实现上述目的,本技术实施例还提供了一种基于同态加密的匿踪数据核验系统,所述系统包括:查询方和被查询方;所述查询方,用于计算待核验数据的目标特征值,按照被查询方对数据特征值的分桶规则,计算所述目标特征值所属目标分桶的桶编号,并确定该目标分桶包含的数据特征值的第一数目;所述查询方,还用于基于预先选定的编码长度对所述目标特征值进行切分,并基于所述第一数目,对切分结果进行复制,得到查询向量;所述查询方,还用于对所述查询向量进行同态加密,得到加密查询向量,并将同态加密的公钥、所述桶编号、所述编码长度和所述加密查询向量发送至所述被查询方;所述被查询方,用于确定所述桶编号对应的分桶特征值,所述分桶特征值由所述第一数目的数据特征值组成;所述被查询方,还用于根据所述编码长度对所述分桶特征值中的每一数据特征值进行切分,得到明文向量;所述被查询方,还用于根据所述公钥,在同态加密下计算所述加密查询向量与所
述明文向量的差值,并在同态加密下将所述差值乘以随机掩码,得到密文查询结果向量,将所述密文查询结果向量发送至所述查询方;所述查询方,还用于根据同态加密的私钥对所述密文查询结果向量进行解密,得到明文查询结果向量,根据所述明文查询结果向量判断所述待核验数据是否正确。
18.本技术实施例有益效果:应用本技术提供的基于同态加密的匿踪数据核验方法及系统,引入了同态加密技术,把待核验数据经过特征值运算后编码为可计算的整型值,通过同态加密技术进行加密计算,并构造密文状态下的查询函数来计算数据核验结果,整个查询过程不会暴露查询方的数据隐私,能够实现匿踪数据核验。同时,查询方只能获取待核验数据的最终核验结果,并不能获取被查询方的其他额外信息,从而保护了双方的数据隐私。
19.并且,被查询方在同态加密下进行数据核验时,只需要对向量中的元素进行对应位置的加法和乘法操作,取消了大量的连乘运算,最终查询方通过判断向量中是否存在零元素来确定三要素核验结果,大大提升了查询效率。
20.此外,整个数据核验过程,查询方与被查询方之间通信的轮数较少,相比于基于不经意传输协议的核验过程,大幅降低了通信开销,在海量数据的场景下,也能保证较好的查询性能。
21.当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
22.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
23.图1为本技术实施例提供的基于同态加密的匿踪数据核验方法的一种流程示意图;图2为本技术实施例提供的基于同态加密的匿踪数据核验方法的一种示意图。
具体实施方式
24.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本技术保护的范围。
25.为了解决现有的数据核验方法中,没有隐私保护措施或通信轮数大、通信开销大导致难以处理海量数据的技术问题,本技术实施例提供了一种基于同态加密的匿踪数据核验方法及系统。
26.参见图1,图1为本技术实施例提供的基于同态加密的匿踪数据核验方法的一种流程示意图,方法可以包括以下步骤:s101:查询方计算待核验数据的目标特征值,按照被查询方对数据特征值的分桶
规则,计算目标特征值所属目标分桶的桶编号,并确定该目标分桶包含的数据特征值的第一数目。
27.为了便于理解,下面对匿踪数据核验进行简要介绍。匿踪数据核验可以理解为保护隐私信息的数据核验,是指查询方隐藏被查询对象关键词,被查询方提供匹配的查询结果却无法获知具体对应哪个查询对象。
28.本技术实施例中,查询方可以是需要对数据进行核验的电子设备或服务器,例如,网络平台中验证用户信息的服务器;被查询方是指存储有大量真实数据的电子设备或服务器,例如运营商机构中存储用户信息的服务器或数据库。而待核验数据可以是用于验证用户身份的数据。
29.本技术的一种实施例中,待核验数据是包含姓名、身份证号和手机号的三要素数据。
30.作为一个示例,网络平台对入驻或者使用产品权限的用户进行身份核验,网络平台的服务器可以作为查询方,向运营商机构的服务器发起查询核验,即运营商机构的服务器作为被查询方。通过查询核验,判断查询方需要核验的三要素数据是否与运营商机构存储的数据一致,从而帮助查询方进行业务层面的决策。
31.本步骤中,查询方对待核验数据进行特征值运算,得到目标特征值。
32.本技术的一种实施例中,特征值运算可以是哈希运算,相应的,数据特征值是对数据进行哈希运算得到的哈希值。
33.然后按照被查询方对数据特征值的分桶规则,计算目标特征值所属目标分桶的桶编号。
34.其中,被查询方可以预先将自身对数据特征值的分桶规则发送至查询方。
35.具体的,本公开的一个实施例中,被查询方预先将存储的数据转换为数据特征值,然后按照预设的分桶规则对数据特征值进行分桶,得到多个分桶特征值。
36.由于被查询方存储有大量数据,为了避免每次数据核验时都要与整个数据库进行比对,被查询方可以预先将存储的数据进行分桶。
37.作为一个示例,分桶规则可以表示为:作为一个示例,分桶规则可以表示为:表示分桶的编号,表示三要素的哈希值,表示取余运算,表示预设的分桶的数目。
38.被查询方可以将分桶的规则、分桶的数目、每个分桶包含的数据特征值的数目预先发送至查询方。
39.因此,查询方可以按照被查询方对数据特征值的分桶规则,计算目标特征值所属目标分桶的桶编号,并确定该目标分桶包含的数据特征值的第一数目。
40.值得说明的是,由于被查询方引入了基于哈希模运算的分桶技术,使得被查询方可以根据业务需求确定分桶的数目,以实现隐私保护强度以及查询性能之间的动态平衡。
41.具体的,被查询方能够确定查询方的待核验数据所属的目标分桶,因此在总数量一定的情况下,分桶的数目越少,每个分桶包含的数据量越多,这样被查询方不容易猜到待核验数据,因此对查询方的隐私保护越好,但每次查询都要遍历的数据量也较多,会对查询
性能产生一定负面影响。
42.反之,分桶的数目越多,每个分桶包含的数据量越少,这样被查询方更容易猜到待核验数据,不利于保护查询方的隐私,但每次查询需要遍历的数据量也较少,有助于提升查询性能。
43.可见,本技术实施例中,引入基于整数模运算的分桶策略,在数据预处理时对被查询方的数据进行分桶,同时查询方和被查询方共用同一个分桶规则,能够通过调整分桶策略来平衡查询性能以及隐私保护强度,从而实现对不同场景下数据核验需求的支持。
44.s102:查询方基于预先选定的编码长度对目标特征值进行切分,并基于第一数目,对切分结果进行复制,得到查询向量。
45.具体的,设编码长度为k,那么对目标特征值进行切分,是指将目标特征值切分为k份,得到k个元素。
46.随后,为了与被查询方的目标分桶内的数据量保持一致,可以根据上述第一数目,对切分结果进行复制,得到查询向量。
47.作为一个示例,如果目标分桶包含的数据特征值的第一数目为m,则将目标特征值复制为m份,得到查询向量。由于目标特征值已经被切分为k个元素,因此查询向量中共包含k*m个元素。
48.s103:查询方对查询向量进行同态加密,得到加密查询向量,并将同态加密的公钥、桶编号、编码长度和加密查询向量发送至被查询方。
49.本技术实施例中,查询方可以按照预设的同态加密算法,对查询向量进行加密。
50.作为一个示例,同态加密过程可以用如下公式表示:其中,表示加密查询向量,表示同态加密算法,表示查询向量,表示同态加密的公钥。
51.在对查询向量进行同态加密,得到加密查询向量后,查询方可以将同态加密的公钥、桶编号、编码长度和加密查询向量发送至被查询方。
52.s104:被查询方确定桶编号对应的分桶特征值,分桶特征值由第一数目的数据特征值组成。
53.如上文所述,被查询方预先对数据进行特征值运算及分桶运算。因此,被查询方根据桶编号确定目标分桶,即可确定目标分桶对应的分桶特征值,该分桶特征值由第一数目的数据特征值组成,每个数据特征值都对应一份原始的数据。例如,每个数据特征值对应原始的一份三要素数据。
54.s105:被查询方根据编码长度对分桶特征值中的每一数据特征值进行切分,得到明文向量。
55.承接上例,编码长度为k,第一数目为m,则被查询方根据编码长度k对分桶特征值中的每一数据特征值进行切分,同样得到k*m个元素,这些元素组成了明文向量,可以记为向量。
56.可见,加密查询向量中元素数目和明文向量中的元素数目相同。
57.s106:被查询方根据公钥,在同态加密下计算加密查询向量与明文向量的差值,并
在同态加密下将差值乘以随机掩码,得到密文查询结果向量,将密文查询结果向量发送至查询方。
58.本技术实施例中,对传统的数据核验方法中,所构造的查询函数进行了改进。
59.为了便于理解,对传统的函数构造进行说明,传统的函数构造可以如下表示:其中,为表征查询结果的函数值,为被查询方的三要素数据,为查询方提供的待查数据,如果存在于待查数据库中,则有,表示三要素核验成功,否则一定有,表示核验失败。
60.存在的问题是:由于上述函数需要在同态加密状态下进行求解,因此连乘的过程中有可能出现中间结果过大导致数据溢出,但由于是密文状态,无法实时进行判断。此外,同态加密下的连乘操作会消耗大量的计算时间,从而导致查询速度降低。
61.本技术实施例中,上述函数的每一项进行拆分,得到向量:其中,为表征查询结果的向量,如果存在于待查数据库中,则中一定有某个元素为0。但是向量会泄露被查询方数据内容,因此被查询方需要生成随机掩码,对于中每一个元素,计算:如果存在于待查数据库中,必然中一定有某个元素为0,否则,中的元素均为随机数,通过添加掩码的方式,保护了被查询方的隐私。
62.基于上述查询函数的构造原理,本技术实施例中,被查询方的数据核验计算过程具体如下:首先,被查询方根据公钥,在同态加密下计算加密查询向量与明文向量的差值。
63.具体的,密文查询向量和明文向量中元素数目是相同的,在计算差值时,用对应位置的元素进行相减,由于密文查询向量是经过同态加密的,因此无法直接进行差值运算,需要根据公钥,在同态加密下计算加密查询向量和明文向量的差值。
64.可以用如下公式表示:其中,表示同态加密下计算的密文查询向量和明文向量之间的差值,表示加密查询向量,表示明文向量。
65.本技术实施例中,为了保护被查询方的隐私,被查询方可以生成随机掩码,并在同态加密下,将上述差值乘以随机掩码,得到密文查询结果向量,并反馈至查询方。
66.随机掩码可以表示为,即k*m个掩码,在同态加密下,将每个掩码与中对应的元素相乘,得到密文查询结果向量,可以用如下公式表示:
其中,表示密文查询结果向量。
67.可见,本技术实施例中,在同态加密下计算加密查询向量与明文向量的差值,并在同态加密下将差值乘以随机掩码,通过这种方式得到密文查询结果向量,相比于上述通过连乘操作进行数据核验的方式,避免中间结果过大导致数据溢出,且大幅降低了计算消耗。
68.s107:查询方根据同态加密的私钥对密文查询结果向量进行解密,得到明文查询结果向量,根据明文查询结果向量判断待核验数据是否正确。
69.查询方收到密文查询结果向量后,可以根据同态加密的私钥对其解密,得到明文查询结果向量。
70.容易理解的,明文查询结果向量同样包含m*k个元素,且每个元素的值为:查询向量与明文向量的对应元素的差值基础上,乘以对应的随机掩码。
71.如果待核验数据是正确的,那么该待核验数据对应的查询向量中的连续k个元素、被查询方的明文向量中对应的连续k个元素必然是相同的,经过相减后,结果为零,再乘以对应的随机掩码,结果仍然为零。
72.因此,本公开的一个实施例中,查询方以编码长度k为单位遍历明文查询结果向量中的元素,如果存在连续k个元素均为零,表示待核验数据存在于被查询方,即待核验数据是正确的。
73.可见,被查询方通过添加随机掩码的方式,保护被查询方的隐私,查询方无法获知随机掩码,但被查询方添加的随机掩码并不会影响查询方对结果的判断。
74.应用本技术提供的基于同态加密的匿踪数据核验方法,引入了同态加密技术,把待核验数据经过特征值运算后编码为可计算的整型值,通过同态加密技术进行加密计算,并构造密文状态下的查询函数来计算数据核验结果,整个查询过程不会暴露查询方的数据隐私,能够实现匿踪数据核验。同时,查询方只能获取待核验数据的最终核验结果,并不能获取被查询方的其他额外信息,从而保护了双方的数据隐私。
75.并且,被查询方在同态加密下进行数据核验时,只需要对向量中的元素进行对应位置的加法和乘法操作,取消了大量的连乘运算,最终查询方通过判断向量中是否存在零元素来确定三要素核验结果,大大提升了查询效率。
76.此外,整个数据核验过程,查询方与被查询方之间通信的轮数较少,相比于基于不经意传输协议的核验过程,大幅降低了通信开销,在海量数据的场景下,也能保证较好的查询性能。
77.本技术的一种实施例中,对查询向量进行同态加密,得到加密查询向量的步骤,具体可以包括:采用单指令多数据技术,对查询向量进行预设类型的同态加密计算,得到加密查询向量。
78.具体的,采用单指令多数据(single instruction multiple data,simd)技术,能够对查询向量进行simd编码,实现在同一个同态加密密文中打包多份待计算数值信息,实现并行的密态计算。
79.可见,本技术实施例中,引入基于单指令多数据的编码技术,实现对查询向量中元素的打包以及批量计算,大大提高了计算性能,同时大幅降低通信开销。
80.本技术的一种实施例中,被查询方确定桶编号对应的分桶特征值之后,还包括:对
桶编号对应的分桶特征值包含的数据特征值进行随机重排序。
81.具体的,被查询方在确定目标分桶后,将目标分桶中的分桶特征值进行随机重排序,得到新的特征值序列,从而进一步保护被查询方的隐私。
82.为了便于理解,下面结合附图对本技术实施例提供的基于同态加密的匿踪数据核验方法进行进一步介绍。
83.参见图2,图2是本技术实施例提供的基于同态加密的匿踪数据核验方法的一种示意图。
84.如图2所示,数据核验过程可以分别初始化阶段和核验阶段。其中初始化阶段是服务启动时一次性执行,不占用数据核验过程的计算和通信资源。
85.在初始化阶段,查询方生成同态加密的公钥、私钥,将公钥发送至被查询方;被查询方对数据进行哈希运算,得到哈希值,根据哈希值进行数据分桶,将分桶规则、每个分桶的数据规模发送至查询方。
86.在核验阶段,查询方计算待核验三要素数据的哈希值,根据哈希值计算目标分桶,根据编码长度切分哈希值,并根据目标分桶的数据规模进行复制,得到查询向量,对查询向量进行同态加密。
87.查询方将目标分桶的桶编号、编码长度和加密查询向量发送至被查询方。
88.被查询方根据编码长度,对目标分桶中哈希值进行切分,得到明文向量。根据公钥,在同态加密下计算加密查询向量与明文向量的差值,并乘以随机掩码,得到密文查询结果向量,将密文查询结果向量发送至查询方。
89.查询方根据同态加密的私钥,对密文查询结果向量进行解密,得到明文查询结果向量,以编码长度为单位遍历明文查询向量中的元素,如果存在连续k个元素均为零,表示数据正确。
90.引入了同态加密技术,把待核验数据经过特征值运算后编码为可计算的整型值,通过同态加密技术进行加密计算,并构造密文状态下的查询函数来计算数据核验结果,整个查询过程不会暴露查询方的数据隐私,同时,查询方只能获取待核验数据的最终核验结果,并不能获取被查询方的其他额外信息,从而保护了双方的数据隐私。
91.并且,被查询方在同态加密下进行数据核验时,只需要对向量中的元素进行对应位置的加法和乘法操作,取消了大量的连乘运算,最终查询方通过判断向量中是否存在零元素来确定三要素核验结果,大大提升了查询效率。
92.此外,整个数据核验过程,查询方与被查询方之间通信的轮数较少,相比于基于不经意传输协议的核验过程,大幅降低了通信开销,在海量数据的场景下,也能保证较好的查询性能。
93.本技术实施例还提供了一种基于同态加密的匿踪数据核验系统,系统包括:查询方和被查询方。
94.所述查询方,用于计算待核验数据的目标特征值,按照被查询方对数据特征值的分桶规则,计算所述目标特征值所属目标分桶的桶编号,并确定该目标分桶包含的数据特征值的第一数目;所述查询方,还用于基于预先选定的编码长度对所述目标特征值进行切分,并基于所述第一数目,对切分结果进行复制,得到查询向量;
所述查询方,还用于对所述查询向量进行同态加密,得到加密查询向量,并将同态加密的公钥、所述桶编号、所述编码长度和所述加密查询向量发送至所述被查询方;所述被查询方,用于确定所述桶编号对应的分桶特征值,所述分桶特征值由所述第一数目的数据特征值组成;所述被查询方,还用于根据所述编码长度对所述分桶特征值中的每一数据特征值进行切分,得到明文向量;所述被查询方,还用于根据所述公钥,在同态加密下计算所述加密查询向量与所述明文向量的差值,并在同态加密下将所述差值乘以随机掩码,得到密文查询结果向量,将所述密文查询结果向量发送至所述查询方;所述查询方,还用于根据同态加密的私钥对所述密文查询结果向量进行解密,得到明文查询结果向量,根据所述明文查询结果向量判断所述待核验数据是否正确。
95.应用本技术提供的基于同态加密的匿踪数据核验系统,引入了同态加密技术,把待核验数据经过特征值运算后编码为可计算的整型值,通过同态加密技术进行加密计算,并构造密文状态下的查询函数来计算数据核验结果,整个查询过程不会暴露查询方的数据隐私,能够实现匿踪数据核验。同时,查询方只能获取待核验数据的最终核验结果,并不能获取被查询方的其他额外信息,从而保护了双方的数据隐私。
96.并且,被查询方在同态加密下进行数据核验时,只需要对向量中的元素进行对应位置的加法和乘法操作,取消了大量的连乘运算,最终查询方通过判断向量中是否存在零元素来确定三要素核验结果,大大提升了查询效率。
97.此外,整个数据核验过程,查询方与被查询方之间通信的轮数较少,相比于基于不经意传输协议的核验过程,大幅降低了通信开销,在海量数据的场景下,也能保证较好的查询性能。
98.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
99.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于基于同态加密的匿踪数据核验系统实施例而言,由于其基本相似于基于同态加密的匿踪数据核验方法实施例,所以描述的比较简单,相关之处参见基于同态加密的匿踪数据核验方法实施例的部分说明即可。
100.以上所述仅为本技术的较佳实施例,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
再多了解一些

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

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

相关文献