一种密态数据的索引方法及装置与流程
未命名
07-12
阅读:73
评论:0

1.本发明涉及密态计算技术领域,尤其涉一种密态数据的索引方法及装置。
背景技术:
2.密态计算是指将两个加密后的数据直接进行计算而无需解密。比如a=10,b=20,在对a和b进行加密后,a=!@#$,b=*&^%,对加密后的a和b进行一种同态算法(密态计算)后得到密文c,将c进行解密后,得到数字30。也就是说,这种同态算法(密态计算)能够对加密后的密文进行加法操作。这就是密态计算。
3.类似的密态计算算法除了加减乘除以外,在数据库领域常用的还有等值计算,比较计算等。
4.密态计算的优点是能够保证在计算机内存中的数据也是密文,不会被偷窥,即便在云环境下也能保证数据的安全。但是对于密文的索引是一个巨大问题。
5.如果对加密的数据进行解密,然后对解密后的明文进行索引,则建立索引的过程会在内存中出现明文,并且索引建立后索引本身会包含大量明文信息,使得整个系统不再安全。
6.如果对密文直接进行索引仍然不行。因为密文本身没有任何规律,无法进行大小比较。比如要检索id》5的数据,因为无法知道密文里哪些数据是》5的,所以只能对密文逐个解密后才能进行判断,索引变得毫无意义且性能低下,更严重的是因为出现了明文,整个系统变得不再安全。
技术实现要素:
7.本发明要解决的技术问题是,如何在密文(针对密态计算加密的数据)上创建索引,确保整个过程不会出现明文,并且密文可以被快速检索;有鉴于此,本发明提供一种密态数据的索引方法及装置。
8.本发明采用的技术方案是,一种密态数据的索引方法,包括:
9.步骤s1,将获取的初始明文数据进行加密处理,以获得密文数据;
10.步骤s2,将所述密文数据传入预先配置的密文索引中;
11.步骤s3,利用ope加密算法,确定所述密文数据在所述密文索引中的叶子节点的位置范围;
12.步骤s4,在所述位置范围中,利用det加密算法,确定所述密文数据在所述密文索引中的位置。
13.在一个实施方式中,所述将获取的初始明文数据进行加密处理,以获得密文数据,包括:
14.将所述初始明文数据分别利用ope加密算法以及det加密算法,获取对应的ope加密数据以及det加密数据,即所述密文数据。
15.在一个实施方式中,所述密文索引的配置过程,包括:
16.获取明文配置数据,用于对所述密文索引的配置;
17.对所述明文配置数据进行加密处理,以获取密文配置数据;
18.基于所述密文配置数据,构建密文索引,其中,所述密文索引为索引树形式,包括叶子节点以及非叶子节点,所述叶子节点用于存储所述密文配置数据,所述非叶子节点用于表征与其对应的所述叶子节点的密文数据的数值大小。
19.在一个实施方式中,对所述明文配置数据进行加密处理,以获取密文配置数据,包括:
20.将所述明文配置数据分别利用ope加密算法以及det加密算法,获取对应的ope加密配置数据以及det加密配置数据,以获取密文配置数据;
21.所述基于所述密文配置数据,构建密文索引的步骤之后,还包括:
22.对所述密文索引进行rnd加密处理。
23.在一个实施方式中,所述密文索引的配置过程,还包括对当前密文索引的进一步配置,包括:
24.遍历加密配置字段,所述加密配置字段用于对所述密文索引的进一步配置;
25.对所述加密配置字段进行rnd解密处理;
26.分别读取所述加密配置字段对应的ope密文以及det密文;
27.利用ope密文以及det密文,配置所述密文索引。
28.在一个实施方式中,所述利用ope密文以及det密文,配置所述密文索引,包括:
29.将所述ope密文以及所述det密文插入所述密文索引中;
30.当所述ope密文以及所述det密文插入所述密文索引后,未引起当前所述密文索引的索引树分裂,读取下一字段的ope密文以及det密文;
31.当所述ope密文以及所述det密文插入所述密文索引后,未引起当前所述密文索引的索引树分裂时,确定对应的数据位置是否由叶子节点转换为非叶子节点;
32.当对应的数据位置未由叶子节点转换为非叶子节点时,读取下一字段的ope密文以及det密文;
33.当对应的数据位置由叶子节点转换为非叶子节点时,增加ope密文至所述非叶子节点;
34.读取下一字段的ope密文以及det密文。
35.在一个实施方式中,将所述密文数据传入预先配置的密文索引中的步骤之前,所述方法还包括:
36.将所述密文索引进行rnd解密处理。
37.本发明的另一方面提供了一种密态数据的索引装置,包括:
38.加密单元,被配置为将获取的初始明文数据进行加密处理,以获得密文数据;
39.导入单元,被配置为将所述密文数据传入预先配置的密文索引中;
40.第一索引单元,被配置为利用ope加密算法,确定所述密文数据在所述密文索引中的叶子节点的位置范围;
41.第二索引单元,被配置为在所述位置范围中,利用det加密算法,确定所述密文数据在所述密文索引中的位置。
42.本发明的另一方面还提供了一种电子设备,所述电子设备包括:存储器、处理器及
存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上任一项所述的密态数据的索引方法的步骤。
43.本发明的另一方面还提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的密态数据的索引方法的步骤。
44.采用上述技术方案,本发明所提供的实施例可应用于数据库领域,能够对密文计算中的密文进行索引,提高对密文的检索性能。
45.并且,本实施例中索引的创建和使用过程中不会出现明文,无论内存还是磁盘中只会出现密文,并且是安全强度很高无法被破解的加密密文。
附图说明
46.图1为根据本发明实施例的密态数据的索引方法流程示意图;
47.图2为根据本发明实施例的明文数据加密过程状态示意图;
48.图3为根据本发明实施例的密文索引加密过程状态示意图;
49.图4为根据本发明实施例的密文索引结构示意图;
50.图5为根据本发明实施例的密文索引的配置过程示意图;
51.图6为根据本发明实施例的密态数据的另一个索引方法流程示意图;
52.图7为根据本发明实施例的密态数据的索引装置组成结构图;
53.图8为根据本发明实施例的电子设备结构示意图。
具体实施方式
54.为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
55.在附图中,为了便于说明,已稍微夸大了物体的厚度、尺寸和形状。附图仅为示例而并非严格按比例绘制。
56.还应理解的是,用语“包括”、“包括有”、“具有”、“包含”和/或“包含有”,当在本说明书中使用时表示存在所陈述的特征、整体、步骤、操作、元件和/或部件,但不排除存在或附加有一个或多个其它特征、整体、步骤、操作、元件、部件和/或它们的组合。此外,当诸如“...中的至少一个”的表述出现在所列特征的列表之后时,修饰整个所列特征,而不是修饰列表中的单独元件。此外,当描述本技术的实施方式时,使用“可以”表示“本技术的一个或多个实施方式”。并且,用语“示例性的”旨在指代示例或举例说明。
57.如在本文中使用的,用语“基本上”、“大约”以及类似的用语用作表近似的用语,而不用作表程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。
58.除非另外限定,否则本文中使用的所有用语(包括技术用语和科学用语)均具有与本技术所属领域普通技术人员的通常理解相同的含义。还应理解的是,用语(例如在常用词典中定义的用语)应被解释为具有与它们在相关技术的上下文中的含义一致的含义,并且将不被以理想化或过度正式意义解释,除非本文中明确如此限定。
59.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相
互组合。下面将参考附图并结合实施例来详细说明本技术。
60.本发明第一实施例,一种密态数据的索引方法,如图1所示,包括以下步骤:
61.步骤s1,将获取的初始明文数据进行加密处理,以获得密文数据;
62.步骤s2,将密文数据传入预先配置的密文索引中;
63.步骤s3,利用ope加密算法,确定密文数据在密文索引中的叶子节点的位置范围;
64.步骤s4,在位置范围中,利用det加密算法,确定密文数据在密文索引中的位置。
65.可参考图1或图6,下面将分步对本发明所提供的方法进行详细说明。
66.步骤s1,将获取的初始明文数据进行加密处理,以获得密文数据。
67.本实施例中,初始明文数据要根据其密态计算的种类而分别进行存储。举例来说,有一个字段id,其类型是整数型,我们对于id字段会进行两种计算,一是等值计算(如id=100),二是比较计算(如id》100)。那么对于id字段的数据,会进行两种加密,一种叫det(deterministicencryption,等值加密),它可以提供加密数据的等值计算,另一种叫ope(orderpreservingencoding,保序加密),它可以提供加密数据的比较计算。所以id这个字段会被进行两种加密,分别是det加密和ope加密,加密后的det密文和ope密文会被分别存放。
68.如图2所示,比如id字段一共有1-100共100个值,经过det加密后会生成100个det密文值,经过ope加密后会生成100个ope密文值,100个det密文值和100个ope密文值会分别进行保存。
69.步骤s2,将密文数据传入预先配置的密文索引中。
70.需要说明的是,在进行上述加密处理(det以及ope)后,密文的安全性仍然不够,因为其本身虽然经过了加密处理,无法得知其明文,但是通过对密文的大小比较仍然有可能推断出密文对应的明文。比如,攻击者无法知道
‘
密文d’的明文是多少,但是攻击者可以对数字3进行ope加密然后与
‘
密文d’进行比较,发现
‘
密文d’比3大。然后攻击者对数字5进行ope加密后与
‘
密文d’进行比较,发现
‘
密文d’比5小。然后攻击者就可以推断出
‘
密文d’的值是4。所以此时的加密数据并不安全。
71.基于此,本实施例引入新的一种加密算法rnd(randomizedencryption,随机加密),这是一种随机算法,采用对称加密算法并引入iv(随机向量),使得相同的明文加密后其密文结果不同,也就是说密文变得随机而毫无规律。为此我们对上述的加密字段det(id)和ope(id)再进行一次rnd加密,使其密文没有规律而确保安全。加密后的数据如图3所示。
72.本实施例中,为了提高安全性,密文索引在被保存到磁盘时,需要对索引整体进行rnd加密,每次要使用密文索引时,需要从磁盘读取密文索引,然后进行rnd解密后,放入内存中使用。
73.进一步地,本实施例对于密文索引的配置过程可以包括:
74.步骤x1,获取明文配置数据,用于对密文索引的配置;
75.步骤x2,对明文配置数据进行加密处理,以获取密文配置数据;
76.步骤x3,基于密文配置数据,构建密文索引,其中,密文索引为索引树形式,包括叶子节点以及非叶子节点,叶子节点用于存储所述密文配置数据,所述非叶子节点用于表征与其对应的所述叶子节点的密文数据的数值大小。
77.基于此配置方法所获得的密文索引的结构如图4所示,类似于b+树,但是又有一定
区别。此密文索引有如下几个特点:
78.1)该密文索引是一个树状结构,但仅有其叶子节点存放数据,其余节点仅仅用于搜索。
79.2)此密文索引中的所有节点上的数据都是高强度加密密文,没有明文,保证数学上安全。
80.3)对于叶子结点(图中det部分),存放的数据经过det加密,det是用于等值计算的加密。
81.4)对于所有非叶子节点(图中ope部分),存放的数据经过ope加密,ope是用于大小比较计算的加密。
82.5)此索引树的每个节点,可以存储n个数据(上图所示n=3),非叶子节点中的数据都会出现在叶子结点中,只不过其加密方式不同。举例来说,44,在非叶子节点中是以ope算法加密的,在叶子节点中是以det算法加密的。
83.6)此索引树的其它性质与b+树类似,比如每个节点代表其叶子结点的最大值;比如叶子节点会链接在一起,方便横向查找等。
84.可以理解的是,本领域技术人员可以根据实际需要,对该密文索引进行进一步配置,具体可以包括:
85.步骤n1,遍历加密配置字段,加密配置字段用于对所述密文索引的进一步配置;
86.步骤n2,对加密配置字段进行rnd解密处理;
87.步骤n3,分别读取加密配置字段对应的ope密文以及det密文;
88.步骤n4,利用ope密文以及det密文,配置密文索引。
89.具体地,可参考图5,步骤n4可以包括:
90.步骤n401,将ope密文以及所述det密文插入所述密文索引中;
91.步骤n402,当ope密文以及所述det密文插入所述密文索引后,未引起当前所述密文索引的索引树分裂,读取下一字段的ope密文以及det密文;
92.步骤n403,当ope密文以及所述det密文插入所述密文索引后,未引起当前所述密文索引的索引树分裂时,确定对应的数据位置是否由叶子节点转换为非叶子节点;
93.步骤n404,当对应的数据位置未由叶子节点转换为非叶子节点时,读取下一字段的ope密文以及det密文;
94.步骤n405,当对应的数据位置由叶子节点转换为非叶子节点时,增加ope密文至所述非叶子节点;
95.步骤n406,读取下一字段的ope密文以及det密文。
96.也就是说,首先遍历要加密的字段,读取其密文。比如对于字段id,读取其密文rnd(det(id))和rnd(ope(id))。
97.进一步地,对读取的密文进行脱层处理,即对最外层的rnd解密。以上述字段id为例,得到det(id)和ope(id)。
98.进一步地,用上述得到的det密文和ope密文,插入到密文索引树中。
99.如果插入动作引起索引树的节点分裂(因为某个节点的数据个数超过了n),则需要将树的节点分裂。分裂有可能会让叶子节点的数据出现在非叶子节点中,此时需要将此数据的ope密文添加到非叶子节点中。
100.进一步地,继续读取字段密文值,并插入到索引树中,直到全部字段密文读取完毕。
101.步骤s3,利用ope加密算法,确定密文数据在密文索引中的叶子节点的位置范围。
102.本实施例中,参考图6,可以使用ope(x)与索引树中的非叶子节点进行比较,然后找到x可能存在的叶子节点,如果经过比较发现x超过了此索引的值的范围,x根本不可能存在,则直接返回未找到。如果x可能存在,则找到可能存在x的叶子结点。
103.步骤s4,在位置范围中,利用det加密算法,确定密文数据在密文索引中的位置。
104.本实施例中,可以使用det(x)对此叶子结点里的每一个值进行比对,如果找到,则根据索引信息返回数据,否则返回未找到。
105.相较于现有技术,本实施例至少具备以下优点:
106.1)本实施例可应用于数据库领域,能够对密文计算中的密文进行索引,提高对密文的检索性能。
107.2)本实施例中,索引的创建和使用过程中不会出现明文,无论内存还是磁盘中只会出现密文,并且是安全强度很高无法被破解的加密密文。
108.3)本实施例采用高强度的加密等级,并保障了密文索引的高性能,让整个系统的安全性保持不变,不会因为索引降低安全性。
109.本发明第二实施例,与第一实施例对应,本实施例介绍一种密态数据的索引装置,如图7所示,包括以下组成部分:
110.加密单元,被配置为将获取的初始明文数据进行加密处理,以获得密文数据;
111.导入单元,被配置为将所述密文数据传入预先配置的密文索引中;
112.第一索引单元,被配置为利用ope加密算法,确定所述密文数据在所述密文索引中的叶子节点的位置范围;
113.第二索引单元,被配置为在所述位置范围中,利用det加密算法,确定所述密文数据在所述密文索引中的位置。
114.本实施例中,所述将获取的初始明文数据进行加密处理,以获得密文数据,包括:
115.将所述初始明文数据分别利用ope加密算法以及det加密算法,获取对应的ope加密数据以及det加密数据,即所述密文数据。
116.本实施例中,密文索引的配置过程,包括:
117.获取明文配置数据,用于对所述密文索引的配置;
118.对所述明文配置数据进行加密处理,以获取密文配置数据;
119.基于所述密文配置数据,构建密文索引,其中,所述密文索引为索引树形式,包括叶子节点以及非叶子节点,所述叶子节点用于存储所述密文配置数据,所述非叶子节点用于表征与其对应的所述叶子节点的密文数据的数值大小。
120.本实施例中,对所述明文配置数据进行加密处理,以获取密文配置数据,包括:
121.将所述明文配置数据分别利用ope加密算法以及det加密算法,获取对应的ope加密配置数据以及det加密配置数据,以获取密文配置数据;
122.所述基于所述密文配置数据,构建密文索引的步骤之后,还包括:
123.对所述密文索引进行rnd加密处理。
124.本实施例中,所述密文索引的配置过程,还包括对当前密文索引的进一步配置,包
括:
125.遍历加密配置字段,所述加密配置字段用于对所述密文索引的进一步配置;
126.对所述加密配置字段进行rnd解密处理;
127.分别读取所述加密配置字段对应的ope密文以及det密文;
128.利用ope密文以及det密文,配置所述密文索引。
129.本实施例中,所述利用ope密文以及det密文,配置所述密文索引,包括:
130.将所述ope密文以及所述det密文插入所述密文索引中;
131.当所述ope密文以及所述det密文插入所述密文索引后,未引起当前所述密文索引的索引树分裂,读取下一字段的ope密文以及det密文;
132.当所述ope密文以及所述det密文插入所述密文索引后,未引起当前所述密文索引的索引树分裂时,确定对应的数据位置是否由叶子节点转换为非叶子节点;
133.当对应的数据位置未由叶子节点转换为非叶子节点时,读取下一字段的ope密文以及det密文;
134.当对应的数据位置由叶子节点转换为非叶子节点时,增加ope密文至所述非叶子节点;
135.读取下一字段的ope密文以及det密文。
136.本实施例中,将所述密文数据传入预先配置的密文索引中的步骤之前,所述方法还包括:
137.将所述密文索引进行rnd解密处理。
138.本发明第三实施例,一种电子设备,如图8所示,可以作为实体装置来理解,包括处理器以及存储有处理器可执行指令的存储器,当指令被处理器执行时,执行如下操作:
139.步骤s1,将获取的初始明文数据进行加密处理,以获得密文数据;
140.步骤s2,将密文数据传入预先配置的密文索引中;
141.步骤s3,利用ope加密算法,确定密文数据在密文索引中的叶子节点的位置范围;
142.步骤s4,在位置范围中,利用det加密算法,确定密文数据在密文索引中的位置。
143.本发明第四实施例,本实施例的密态数据的索引方法的流程与第一、二或三实施例相同,区别在于,在工程实现上,本实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的方法可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台设备执行本发明实施例的方法。
144.通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
技术特征:
1.一种密态数据的索引方法,其特征在于,包括:将获取的初始明文数据进行加密处理,以获得密文数据;将所述密文数据传入预先配置的密文索引中;利用ope加密算法,确定所述密文数据在所述密文索引中的叶子节点的位置范围;在所述位置范围中,利用det加密算法,确定所述密文数据在所述密文索引中的位置。2.根据权利要求1所述的密态数据的索引方法,其特征在于,所述将获取的初始明文数据进行加密处理,以获得密文数据,包括:将所述初始明文数据分别利用ope加密算法以及det加密算法,获取对应的ope加密数据以及det加密数据,即所述密文数据。3.根据权利要求1所述的密态数据的索引方法,其特征在于,所述密文索引的配置过程,包括:获取明文配置数据,用于对所述密文索引的配置;对所述明文配置数据进行加密处理,以获取密文配置数据;基于所述密文配置数据,构建密文索引,其中,所述密文索引为索引树形式,包括叶子节点以及非叶子节点,所述叶子节点用于存储所述密文配置数据,所述非叶子节点用于表征与其对应的所述叶子节点的密文数据的数值大小。4.根据权利要求3所述的密态数据的索引方法,其特征在于,所述对所述明文配置数据进行加密处理,以获取密文配置数据,包括:将所述明文配置数据分别利用ope加密算法以及det加密算法,获取对应的ope加密配置数据以及det加密配置数据,以获取密文配置数据;所述基于所述密文配置数据,构建密文索引的步骤之后,还包括:对所述密文索引进行rnd加密处理。5.根据权利要求3所述的密态数据的索引方法,其特征在于,所述密文索引的配置过程,还包括对当前密文索引的进一步配置,包括:遍历加密配置字段,所述加密配置字段用于对所述密文索引的进一步配置;对所述加密配置字段进行rnd解密处理;分别读取所述加密配置字段对应的ope密文以及det密文;利用ope密文以及det密文,配置所述密文索引。6.根据权利要求5所述的密态数据的索引方法,其特征在于,所述利用ope密文以及det密文,配置所述密文索引,包括:将所述ope密文以及所述det密文插入所述密文索引中;当所述ope密文以及所述det密文插入所述密文索引后,未引起当前所述密文索引的索引树分裂,读取下一字段的ope密文以及det密文;当所述ope密文以及所述det密文插入所述密文索引后,未引起当前所述密文索引的索引树分裂时,确定对应的数据位置是否由叶子节点转换为非叶子节点;当对应的数据位置未由叶子节点转换为非叶子节点时,读取下一字段的ope密文以及det密文;当对应的数据位置由叶子节点转换为非叶子节点时,增加ope密文至所述非叶子节点;读取下一字段的ope密文以及det密文。
7.根据权利要求1所述的密态数据的索引方法,其特征在于,将所述密文数据传入预先配置的密文索引中的步骤之前,所述方法还包括:将所述密文索引进行rnd解密处理。8.一种密态数据的索引装置,其特征在于,包括:加密单元,被配置为将获取的初始明文数据进行加密处理,以获得密文数据;导入单元,被配置为将所述密文数据传入预先配置的密文索引中;第一索引单元,被配置为利用ope加密算法,确定所述密文数据在所述密文索引中的叶子节点的位置范围;第二索引单元,被配置为在所述位置范围中,利用det加密算法,确定所述密文数据在所述密文索引中的位置。9.一种电子设备,其特征在于,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的密态数据的索引方法的步骤。10.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的密态数据的索引方法的步骤。
技术总结
本发明提出了一种密态数据的索引方法及装置,方法包括:将获取的初始明文数据进行加密处理,以获得密文数据;将密文数据传入预先配置的密文索引中;利用OPE加密算法,确定密文数据在密文索引中的叶子节点的位置范围;在位置范围中,利用DET加密算法,确定密文数据在密文索引中的位置。本发明可应用于数据库领域,能够对密文计算中的密文进行索引,提高对密文的检索性能;并且,索引的创建和使用过程中不会出现明文,无论内存还是磁盘中只会出现密文,并且是安全强度很高无法被破解的加密密文。文。文。
技术研发人员:李鹏 吕新杰 苗健
受保护的技术使用者:瀚高基础软件股份有限公司
技术研发日:2023.03.31
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/