CN108763940B - 一种基于秘密共享的可检验数据库加密检索方法及系统 - Google Patents
一种基于秘密共享的可检验数据库加密检索方法及系统 Download PDFInfo
- Publication number
- CN108763940B CN108763940B CN201810462182.2A CN201810462182A CN108763940B CN 108763940 B CN108763940 B CN 108763940B CN 201810462182 A CN201810462182 A CN 201810462182A CN 108763940 B CN108763940 B CN 108763940B
- Authority
- CN
- China
- Prior art keywords
- data
- server
- attribute
- attr
- authority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000004364 calculation method Methods 0.000 claims abstract description 4
- 238000012937 correction Methods 0.000 claims description 18
- 239000013598 vector Substances 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 9
- 241001155961 Baris Species 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 8
- 238000007689 inspection Methods 0.000 claims description 5
- XHCLAFWTIXFWPH-UHFFFAOYSA-N [O-2].[O-2].[O-2].[O-2].[O-2].[V+5].[V+5] Chemical compound [O-2].[O-2].[O-2].[O-2].[O-2].[V+5].[V+5] XHCLAFWTIXFWPH-UHFFFAOYSA-N 0.000 claims description 4
- 230000014759 maintenance of location Effects 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 229910001935 vanadium oxide Inorganic materials 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 229910052720 vanadium Inorganic materials 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于秘密共享的可检验数据库加密检索方法,包括以下步骤:建立数据库;将待加密数据存入数据库,通过秘密共享进行加密;制定数据访问者权限表格,确定数据访问者权限,通过中国剩余定理处理,将数据访问者权限表格存入数据库;对加密后的数据求模,产生每一列属性对应的校验码并上传到服务器上;数据访问者访问服务器,有权限数据访问者能解出数据,没有权限的不能解出数据;本发明结合秘密共享和中国剩余定理,把每个数据对分配值取模的余数作为校验码,在不重构f(x)的基础上,单独对服务器上的信息进行检验;当部分信息出现错误的时候,也可以联合其他服务器,指出哪个服务器出错,并且对出错的信息进行快速简单的纠错。
Description
技术领域
本发明涉及数据库加密检索的研究领域,特别涉及一种基于秘密共享的可检验数据库加密检索方法及系统。
背景技术
秘密共享技术是一种对一组参与者进行分配一个秘密的方法。在这种处理之下,某单一的分享值是没有意义的,要对密码进行重构必须使用参与者的分享值的一些子集。
沙米尔提出的(t,n)秘密共享,主要是这样的:需要处理秘密值s;首先,随机生成t-1个系数,分别为:a0,a1...at-1;然后,利用这些系数,构造一个多项式f(x)=at-1xt-1+at- 2xt-2+..+a1x1+a0,其中a0=s;接着,对n个服务器,都分配一个xi,把xi代入到f(x)中,得到一个f(xi),最终把f(xi)存到服务器上面。其实这样的处理过程,相当于对每一个服务器都存储二维空间上的一个点(xi,f(xi))。当需要取回某个秘密值s的时候,可以根据拉格朗日插值法,利用二维空间上的t个点,重构出t-1次的多项式f(x)。
目前发展比较成熟,得到普遍认可的秘密共享的模型是Emekciet al.在2014年论证了一种可靠的可搜索的秘密共享;而Mohammad et al.在2015年提出了一种拥有访问控制的秘密共享。
可搜索的秘密共享,share(s)=at-1xt-1+at-2xt-2+..+a1x1+s,如果随机生成的系数a1,a2,..,at-1和s呈正相关,使得任意s1>s2,恒有share(s1)>share(s2),这样就不破坏数据有序性,从而使得数据是可搜索的。Emekci et al主要提出了,给每个系数ai定义一个域然后根据s的数据域的大小k,平均分成k块。每一个数据对应中一个块,构造多项式时,根据秘密值s,让每个系数ai在s对应的块中随机产生一个数。这样就可以构造出具有保序性的多项式,达到了可搜索的目的。
拥有访问控制的秘密共享,利用中国剩余定理实现权限访问,由中国剩余定理,提供了一个映射方程在2015年,Mohammad利用这个性质提出了一种实现权限访问的秘密共享。它并不是直接给用户提供分配向量而是用户需要根据自身的权限解出从而得到原始数据。首先,它给每个用户分配一个密钥kj和模数pj。然后,通过中国剩余定理根据访问权限表对分配向量进行处理,生成而用户需要访问数据的时候,用户需要获取数据库中的和利用密钥kj和模数pj来解出分配向量从而实现权限访问。
中国剩余定理的内容是这样的:对于k个两两互质的整数n1,n2,..,nk。当给定k个整数a1,a2,..,ak,当它们像下式同余时,得到一个独特的解y。其中有0≤y<N=n1×n2×..×nk。
一般检验码设置,在2015年,Mohammad et al,提出了把所有信息划分为三种类型:可查询数据,可检验信息,普通信息。对于相对比较重要的可检验信息,可以基于其他信息构造一个有序的双向链表,然后链表中每个结点的信息加入构建的f(x)=idnxt+idprx·x+v′·x2+v·x3+a1·x4+...+at-4·xt-1中,其中idnxt是链表的后继,idprx是链表的前驱,v′其他的信息,v是可以检验的信息。然而,这种构造的方法十分繁琐,同时检验的时候也十分麻烦,效率比较低下。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于秘密共享的可检验数据库加密检索方法。
本发明的另一目的在于提供一种基于秘密共享的可检验数据库加密检索系统。
本发明的目的通过以下的技术方案实现:
一种基于秘密共享的可检验数据库加密检索方法,包括以下步骤:
S1、将待加密数据存入数据库,并通过秘密共享进行加密;
S2、制定数据访问者权限表格,确定数据访问者权限,通过中国剩余定理进行处理,将数据访问者权限表格存入数据库;
S3、对加密后的数据,进行求模处理,产生每一列属性对应的校验码;对数据进行处理,并上传到服务器上;
S4、当数据访问者访问服务器时,数据拥有者使用单服务器或多服务器检验与纠错方法,有权限的数据访问者能解出数据;没有权限的数据访问者不能解出数据。
步骤S1中,所述数据库接入服务器,所述服务器为多个。
步骤S1,具体过程如下:
T1、数据拥有者对服务器i中的某个属性h,随机产生一个分配值生成一张chart(n×j)原始分配表,产生分配值对于任意一个服务器U和V,恒有其中j为属性个数总数,1≤i≤n,U<i,V<i,2≤j;所述原始分配表包含服务器的数量和待加密表格属性的数量;
T2、根据可搜索秘密共享,对待加密表格的每个数据s,产生一个保序多项式:
f(x)=at-1xt-1+at-2xt-2+...+a1x1+s;
T4、将得到的结果,上传到服务器i。
步骤S2,具体过程如下:
U1、数据拥有者确定用户是否拥有访问属性,产生一张chart(S×j)访问权限表,其中S为用户总数,j为属性个数总数;
U2、数据拥有者给数据访问者随机分配一个模数pi和密钥ki,其中数据访问者的模数两两互质;
U3、数据拥有者利用随机分配的模数pi和密钥ki,根据访问权限表格,对服务器i上属性对应的分配值通过中国剩余定理进行加密:
运算过程如下:
步骤S3,具体过程如下:
V1、在每个服务器上,对加密后的数值都取对应属性的分配量的模,作为校验码:
步骤S4中,所述单服务器检验与纠错方法,具体如下:
Y2、取回sharei(s)和对应的VOi attr(j)利用数模序列p'n,n>1,求解:
voi attr(j)=(voi attr(j),1,voi attr(j),2...voi attr(j),n),
其中,voi attr(j)为属性位attr(j)的数据校验码的集合;
Y3、输出判断结果;
保留数据情况下的检验:
由校验码构造得:
并且
既有:
其中,(attr(j),k)表示待加密表格的第j个属性的第k个数据;
把(attr(j),k)记为s,把记为xi,把记为yi,把记为voi,把VOi attr(j)记为VO,在保留原始数据s的情况下,利用恒等式s modxi=sharei(s)modxi=voi判断出错数据,并对出错数据进行修改。
对出错数据进行修改,具体如下:
1)当检测到s modxi=sharei(s)modxi=voi时,直接认为数据正常,没有错误;
2)当检测到s modxi=sharei(s)modxi≠voi时,认为只有VO出错,在这种错误之下,直接用s modxi产生新的voi,然后再通过中国剩余定理重新构造VO,并且代替错误的VO;vo为针对一个数据的,VO为针对同一属性数据的;
3)当检测到smodxi=voi≠sharei(s)modxi,认为只有sharei(s)出错,在这种错误之下,检测的条件是如果是可搜索的秘密共享,通过秘密值和f(x)中的每个系数的域直接构造出f(x),或者通过多服务器进行检验和纠错;
4)当检测到s modxi≠sharei(s)modxi≠voi时,认为只有yi出错,也就是说只有xi出错,首先利用s modxi=sharei(s)modxi,在一定范围之内确定可能的xi,如果xi的值有一个以上,检测attr(')中的所有的voi,确定所有xi中最小满足xi>max{voi},就是丢失的xi;而准确的修复还是需要利用到多服务器进行检验和纠错。
多服务器检测与纠错方法:
每次检验的时候,都要用t+1个点进行拉格朗日插值,重构一个t次多项式:
F(x)=btxt+bt-1xt-1+...+b1x1+b0,
每次计算xt对应的bt来检验,计算出bt为零,则认为数据没有出错,反之,如果计算出bt不为零,必然至少有一个服务器的数据出错;
对于bt不为零的情况,首先要利用单服务器的检验与纠错方法,确定哪一个服务器的数据有问题,假设这t+1个服务器为D,当只有一个服务器出错的情况下,利用拉格朗日插值定理有:
其中,yi表示的是服务器i上加密后的数据,xi表示的是服务器i上的分配值;
既:
对出错数据进行修改,具体如下:
如果标号为l的服务器出错,用理论上的bt=0建立纠错的等式来恢复数据:
对于两个服务器出错,假设出错的服务器为m和n,额外引入一个单服务器的检验结果正确的服务器,并依照只有一个服务器出错的情况对数据进行复原;
对于有n-t个或者以上的服务器出错,挑选出所有互质的xi的服务器,假设这些服务器刚好分别为第1,2,…,f个服务器,并且用中国剩余定理进行初步数据恢复:
解出数据,具体过程如下:
全部解出数据:数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,若有权限,数据访问者从服务器中加密后分配和sharei(attr(j));其中,表示服务器i中第j个属性的加密后分配值;sharei(attr(j))表示为服务器i中第j个属性的数据;
数据使用者根据恒等式:
若数据访问者没有权限访问,则终止操作;
搜索解出数据:数据使用者需要搜索数据为s,数据的属性是attr(j),数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,
数据使用者根据恒等式:
利用数据和计算出数据在服务器中的取值范围,在服务器中找到满足的数据并下载,再使用拉格朗日插值法,还原多项式,恢复数据。
本发明的另一目的通过以下技术方案实现:
一种基于秘密共享的可检验数据库加密检索系统:包含通过网络连接的数据拥有者、数据访问者、服务器;
所述数据拥有者能上传数据,能授予其他用户访问数据的权限,负责数据的检验和维护;
所述数据访问者为访问数据的用户,受数据拥有者管理,且受只能访问到权限之内的数据;
所述服务器为一个以上,用于存储加密处理后的数据。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明结合秘密共享技术和中国剩余定理,在不重构f(x)的基础之上,可以单独对每个服务器上的信息进行检验。当部分信息出现错误的时候,也可以联合其他服务器,指出哪个服务器出错,并且对出错的信息进行快速简单的纠错。
2、本发明使用了一种全新的思路,把每个数据对分配值取模的余数作为校验码以不依赖其他服务器实现检验,在单服务器上,可以在不解密的情况下,直接对加密后的值进行求模检验,并且在保留原始数据的情况下,还可以对错误数据进行快速的纠错;在多服务器上,也可以利用这个验证码,快速检测数据有误的服务器,并且能在众多服务器出错的情况之下,依然可以用中国剩余定理推断出原始的数据。
附图说明
图1是本发明方法的流程图。
图2是本发明方法的数据加密流程图。
图3是本发明方法的用户权限管理流程图。
图4是本发明方法的访问数据流程图。
图5是本发明方法的单服务器检验流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1所示,一种基于秘密共享的可检验数据库加密检索方法方法,包括以下步骤:
第一步:将待加密数据存入数据库,并通过秘密共享进行加密,如图2所示;具体过程如下:
T1、数据拥有者对服务器i中的某个属性h,随机产生一个分配值生成一张chart(n×j)原始分配表,产生分配值对于任意一个服务器U和V,恒有其中j为服务器的属性个数总数,1≤i≤n,j≥1;所述原始分配表包含服务器的数量和待加密表格属性的数量;
T2、根据可搜索秘密共享,对待加密表格的每个数据s,产生一个保序多项式:
f(x)=at-1xt-1+at-2xt-2+...+a1x1+s;
T4、将得到的结果,上传到服务器i。
第二步:制定数据访问者权限表格,确定数据访问者权限,通过中国剩余定理进行处理,将数据访问者权限表格存入数据库,如图3所示;具体过程如下:
U1、数据拥有者确定用户是否拥有访问属性,产生一张chart(S×j)访问权限表,其中S为用户总数,j为属性个数总数;
U2、数据拥有者给数据访问者随机分配一个模数pi和密钥ki,其中数据访问者的模数两两互质;
U3、数据拥有者利用随机分配的模数pi和密钥ki,根据访问权限表格,对服务器i上属性对应的分配值通过中国剩余定理进行加密:
运算过程如下:
第三步:对加密后的数据,进行求模处理,产生每一列属性对应的校验码;对数据进行处理,并上传到服务器上;具体过程如下:
V1、在每个服务器上,对加密后的数值都取对应属性的分配量的模,作为校验码:
第四步:当数据访问者访问服务器时,如图4所示,有权限的数据访问者能解出数据;没有权限的数据访问者不能解出数据;具体过程如下:
数据拥有者使用单服务器检测与纠错方法,如图5所示:
Y2、取回sharei(s)和对应的VOi attr(j),利用数模序列p'n,n>1,求解:
voi attr(j)=(voi attr(j),1,voi attr(j),2...voi attr(j),n),
其中,voi attr(j)为属性位attr(j)的数据校验码的集合;
Y3、输出判断结果;
保留数据情况下的检验:
由校验码构造得:
并且
既有:
其中,(attr(j),k)表示待加密表格的第j个属性的第k个数据;
把(attr(j),k)记为s,把记为xi,把记为yi,把记为voi,把VOi attr(j)记为VO,在保留原始数据s的情况下,利用恒等式s modxi=sharei(s)modxi=voi判断出错数据,并对出错数据进行修改。
对出错数据进行修改,具体如下:
1)当检测到s modxi=sharei(s)modxi=voi时,直接认为数据正常,没有错误;
2)当检测到s modxi=sharei(s)modxi≠voi时,认为只有VO出错,在这种错误之下,直接用s modxi产生新的voi,然后再通过中国剩余定理重新构造VO,并且代替错误的VO;vo为针对一个数据的,VO为针对同一属性数据的;
3)当检测到smodxi=voi≠sharei(s)modxi,认为只有sharei(s)出错,在这种错误之下,检测的条件是如果是可搜索的秘密共享,通过秘密值和f(x)中的每个系数的域直接构造出f(x),或者通过多服务器进行检验和纠错;
4)当检测到s modxi≠sharei(s)modxi≠voi时,认为只有yi出错,也就是说只有xi出错,首先利用s modxi=sharei(s)modxi,在一定范围之内确定可能的xi,如果xi的值有一个以上,检测attr(')中的所有的voi,确定所有xi中最小满足xi>max{voi},就是丢失的xi;而准确的修复还是需要利用到多服务器进行检验和纠错。
多服务器检测与纠错方法:
每次检验的时候,都要用t+1个点进行拉格朗日插值,重构一个t次多项式:
F(x)=btxt+bt-1xt-1+...+b1x1+b0,
每次计算xt对应的bt来检验,计算出bt为零,则认为数据没有出错,反之,如果计算出bt不为零,必然至少有一个服务器的数据出错;
对于bt不为零的情况,首先要利用单服务器的检验与纠错方法,确定哪一个服务器的数据有问题,假设这t+1个服务器为D,当只有一个服务器出错的情况下,利用拉格朗日插值定理有:
其中,yi表示的是服务器i上加密后的数据,xi表示的是服务器i上的分配值;
既:
对出错数据进行修改,具体如下:
如果标号为l的服务器出错,用理论上的bt=0建立纠错的等式来恢复数据:
对于两个服务器出错,假设出错的服务器为m和n,额外引入一个单服务器的检验结果正确的服务器,并依照只有一个服务器出错的情况对数据进行复原;
对于有n-t个或者以上的服务器出错,挑选出所有互质的xi的服务器,假设这些服务器刚好分别为第1,2,…,f个服务器,并且用中国剩余定理进行初步数据恢复:
解出数据,具体过程如下:
全部解出数据:数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,若有权限,数据访问者从服务器中加密后分配和sharei(attr(j));其中,表示服务器i中第j个属性的加密后分配值;sharei(attr(j))表示为服务器i中第j个属性的数据;
数据使用者根据恒等式:
若数据访问者没有权限访问,则终止操作;
搜索解出数据:数据使用者需要搜索数据为s,数据的属性是attr(j),数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,
数据使用者根据恒等式:
利用数据和计算出数据在服务器中的取值范围,在服务器中找到满足的数据并下载,再使用拉格朗日插值法,还原多项式,恢复数据。
一种基于秘密共享的可检验数据库加密检索系统:包括通过网络连接的数据拥有者、数据访问者、服务器;
所述数据拥有者能上传数据,能授予其他用户访问数据的权限,负责数据的检验和维护;
所述数据访问者为访问数据的用户,受数据拥有者管理,且受只能访问到权限之内的数据;
所述服务器为多个,用于存储加密处理后的数据。
实施例:
使用n=3,t=2的秘密共享,处理一份学生信息表,如下表所示:
然后,服务器随机生成一个原始分配向量表:
同时,对于同一种属性的数据attr,如果attri>attrj,该数据对应的多项式的系数a,必然也有ai>aj;然后,生成下面的多项式,如下表所示:
之后,根据原始分配向量表,实现不同服务器上的数据加密。例如:服务器1的分配向量为(2,3,3),所有,服务器1中主要存储以下的内容(其他服务器同理),如下表所示:
数据拥有者上传一份关于用户的访问权限表,把原始分配进行加密,并且上传到不同的服务器上。
现在主要有3个用户,访问权限表是如下表所示的,其中0是数据拥有者。
然后数据拥有者对数据访问者发送一个模数pi和私钥ki,然后根据上面的访问权限表的内容,对原始分配向量表进行加密:
然后,再把对原始分配量xi加密后的yi,存储在不同服务器上面。在服务器1中如下表所示:
然后,在3个服务器上获取,学生2的成绩数据,最后,通过拉格朗日插值法,从而计算出学生2的真实成绩。
从构造yBMI的恒等式中可知:
即:
校验和纠错方法:
在每个服务器上,对每个加密的数值都取属性对应的分配量的模,并且保存起来作为校验码,即利用公式构造:
在服务器1中保存的校验码主要是如下表所示:
当然,如果以这种形式存储校验码,肯定是不可行的。第一,存储校验码需要大量的空间,无疑会使存储的有效利用率下降;第二,如果校验码没有经过保护处理,一旦落入其他人之手,对手很快就可以得出该服务器对应的分配量,从而轻而易举攻地获得真实的数据信息。
校验码的保护方法:
主要用中国剩余定理来对构造的验证码进行加密保护处理。首先,数据拥有者需要随机产生n个两两互质的数字pi',然后利用数据拥有者的私钥k0,对每个数据库中的每个属性attr(j)的校验码利用中国剩余定理进行处理,生产并且保存起来。其中的产生公式如下:
现在对服务器1的验证码进行保护。首先随机产生3个两两互质的数:15,13,17。然后下面公式的处理:
然后,把VO分别上传到服务器上面,并且保存。最终服务器1的主要的存储形式,如下表所示:
服务器的检验与纠错:
取回sharei(s)和对应的VOi attr(j),利用数模序列p'n,n>1,求解:
voi attr(j)=(voi attr(j),1,voi attr(j),2...voi attr(j),n),
其中,voi attr(j)为属性位attr(j)的数据校验码的集合;
输出判断结果;
保留数据情况下的检验:
由校验码构造得:
并且
既有:
其中,(attr(j),k)表示待加密表格的第j个属性的第k个数据;
把(attr(j),k)记为s,把记为xi,把记为yi,把记为voi,把VOi attr (j)记为VO,在保留原始数据s的情况下,利用恒等式s modxi=sharei(s)modxi=voi判断出错数据,并对出错数据进行修改。
对出错数据进行修改,具体如下:
1)当检测到s modxi=sharei(s)modxi=voi时,直接认为数据正常,没有错误;
2)当检测到s modxi=sharei(s)modxi≠voi时,认为只有VO出错,在这种错误之下,直接用s modxi产生新的voi,然后再通过中国剩余定理重新构造VO,并且代替错误的VO;vo为针对一个数据的,VO为针对同一属性数据的;
3)当检测到smodxi=voi≠sharei(s)modxi,认为只有sharei(s)出错,在这种错误之下,检测的条件是如果是可搜索的秘密共享,通过秘密值和f(x)中的每个系数的域直接构造出f(x),或者通过多服务器进行检验和纠错;
4)当检测到s modxi≠sharei(s)modxi≠voi时,认为只有yi出错,也就是说只有xi出错,首先利用s modxi=sharei(s)modxi,在一定范围之内确定可能的xi,如果xi的值有一个以上,检测attr(')中的所有的voi,确定所有xi中最小满足xi>max{voi},就是丢失的xi;而准确的修复还是需要利用到多服务器进行检验和纠错。
多服务器检测与纠错方法:
每次检验的时候,都要用t+1个点进行拉格朗日插值,重构一个t次多项式:
F(x)=btxt+bt-1xt-1+...+b1x1+b0,
每次计算xt对应的bt来检验,计算出bt为零,则认为数据没有出错,反之,如果计算出bt不为零,必然至少有一个服务器的数据出错;
对于bt不为零的情况,首先要利用单服务器的检验与纠错方法,确定哪一个服务器的数据有问题,假设这t+1个服务器为D,当只有一个服务器出错的情况下,利用拉格朗日插值定理有:
其中,yi表示的是服务器i上加密后的数据,xi表示的是服务器i上的分配值;
既:
对出错数据进行修改,具体如下:
如果标号为l的服务器出错,用理论上的bt=0建立纠错的等式来恢复数据:
对于两个服务器出错,假设出错的服务器为m和n,额外引入一个单服务器的检验结果正确的服务器,并依照只有一个服务器出错的情况对数据进行复原;
对于有n-t个或者以上的服务器出错,挑选出所有互质的xi的服务器,假设这些服务器刚好分别为第1,2,…,f个服务器,并且用中国剩余定理进行初步数据恢复:
解出数据,具体过程如下:
全部解出数据:数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,若有权限,数据访问者从服务器中加密后分配和sharei(attr(j));其中,表示服务器i中第j个属性的加密后分配值;sharei(attr(j))表示为服务器i中第j个属性的数据;
数据使用者根据恒等式:
若数据访问者没有权限访问,则终止操作;
搜索解出数据:数据使用者需要搜索数据为s,数据的属性是attr(j),数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,
数据使用者根据恒等式:
利用数据和计算出数据在服务器中的取值范围,在服务器中找到满足的数据并下载,再使用拉格朗日插值法,还原多项式,恢复数据。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (9)
1.一种基于秘密共享的可检验数据库加密检索方法,其特征在于,包括以下步骤:
S1、将待加密数据存入数据库,并通过秘密共享进行加密;
S2、制定数据访问者权限表格,确定数据访问者权限,通过中国剩余定理进行处理,将数据访问者权限表格存入数据库;
S3、对加密后的数据,进行求模处理,产生每一列属性对应的校验码;对数据进行处理,并上传到服务器上;
S4、当数据访问者访问服务器时,数据拥有者使用单服务器或多服务器检验与纠错方法,有权限的数据访问者能解出数据;没有权限的数据访问者不能解出数据;
所述单服务器检验与纠错方法,具体如下:
Y2、取回sharei(s)和对应的VOi attr(j),利用数模序列p′n,n>1,求解:
voi attr(j)=(voi attr(j),1,voi attr(j),2...voi attr(j),n),
其中,voi attr(j)为属性位attr(j)的数据校验码的集合;sharei(s)为明文s在第i个服务器上的密文;VOi attr(j)为s对应的数据校验码的密文;
Y3、输出判断结果;
保留数据情况下的检验:
由校验码构造得:
并且
既有:
其中,(attr(j),k)表示待加密表格的第j个属性的第k个数据;t为秘密共享中预设的参数,表示加密中多项式的次数,随机生成t-1个系数,分别为:a0,a1...at-1,对n个服务器,都分配一个xi,即at-1xt-1为多项式第一项,at-2xt-2为多项式第二项;
2.根据权利要求1所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,步骤S1中,所述数据库接入服务器,所述服务器数量为n,n≥2。
3.根据权利要求1所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,所述步骤S1,具体过程如下:
T1、数据拥有者对服务器i中的某个属性h,随机产生一个分配值生成一张chart(n×j)原始分配表,产生分配值对于任意一个服务器U和V,恒有其中j为服务器的属性个数总数,1≤i≤n,j≥1;所述原始分配表包含服务器的数量和待加密表格属性的数量;
T2、根据可搜索秘密共享,对待加密表格的每个数据s,产生一个保序多项式:
f(x)=at-1xt-1+at-2xt-2+...+a1x1+s;
f(xi)=at-1xi t-1+at-2xi t-2+...+a1xi 1+s;
T4、将得到的结果,上传到服务器i。
4.根据权利要求1所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,所述步骤S2,具体过程如下:
U1、数据拥有者确定用户是否拥有访问属性,产生一张chart(S×j)访问权限表,其中S为用户总数,j为属性个数总数;
U2、数据拥有者给数据访问者随机分配一个模数pi和密钥ki,其中数据访问者的模数两两互质;
U3、数据拥有者利用随机分配的模数pi和密钥ki,根据访问权限表格,对服务器i上属性对应的分配值通过中国剩余定理进行加密:
运算过程如下:
5.根据权利要求1所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,所述步骤S3,具体过程如下:
V1、在每个服务器上,对加密后的数值都取对应属性的分配量的模,作为校验码:
6.根据权利要求1所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,所述对出错数据进行修改,具体如下:
1)当检测到s mod xi=sharei(s)mod xi=voi时,直接认为数据正常,没有错误;
2)当检测到s mod xi=sharei(s)mod xi≠voi时,认为只有VO出错,在这种错误之下,直接用s mod xi产生新的voi,然后再通过中国剩余定理重新构造VO,并且代替错误的VO;vo为针对一个数据的,VO为针对同一属性数据的;
3)当检测到s mod xi=voi≠sharei(s)mod xi,认为只有sharei(s)出错,在这种错误之下,检测的条件是如果是可搜索的秘密共享,通过秘密值和f(x)中的每个系数的域直接构造出f(x),或者通过多服务器进行检验和纠错;
4)当检测到s mod xi≠sharei(s)mod xi≠voi时,认为只有yi出错,也就是说只有xi出错,首先利用s mod xi=sharei(s)mod xi,在一定范围之内确定可能的xi,如果xi的值有一个以上,检测attr(′)中的所有的voi,确定所有xi中最小满足xi>max{voi},就是丢失的xi;而准确的修复还是需要利用到多服务器进行检验和纠错。
7.根据权利要求1所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,所述步骤S4中,数据拥有者使用多服务器检测与纠错方法:
每次检验的时候,都要用t+1个点进行拉格朗日插值,重构一个t次多项式:
F(x)=btxt+bt-1xt-1+...+b1x1+b0,
每次计算xt对应的bt来检验,计算出bt为零,则认为数据没有出错,反之,如果计算出bt不为零,必然至少有一个服务器的数据出错;
对于bt不为零的情况,首先要利用单服务器的检验与纠错方法,确定哪一个服务器的数据有问题,假设这t+1个服务器为D,当只有一个服务器出错的情况下,利用拉格朗日插值定理有:
其中,yi表示的是服务器i上加密后的数据,xi表示的是服务器i上的分配值;
既:
对出错数据进行修改,具体如下:
如果标号为l的服务器出错,用理论上的bt=0建立纠错的等式来恢复数据:
对于两个服务器出错,假设出错的服务器为m和n,额外引入一个单服务器的检验结果正确的服务器,并依照只有一个服务器出错的情况对数据进行复原;
对于有n-t个或者以上的服务器出错,挑选出所有互质的xi的服务器,假设这些服务器刚好分别为第1,2,…,f个服务器,并且用中国剩余定理进行初步数据恢复:
8.根据权利要求1所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,所述解出数据,具体过程如下:
全部解出数据:数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,若有权限,数据访问者从服务器中加密后分配和sharei(attr(j));其中,表示服务器i中第j个属性的加密后分配值;sharei(attr(j))表示为服务器i中第j个属性的数据;
数据使用者根据恒等式:
若数据访问者没有权限访问,则终止操作;
搜索解出数据:数据使用者需要搜索数据为s,数据的属性是attr(j),数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,
数据使用者根据恒等式:
利用数据和计算出数据在服务器中的取值范围,在服务器中找到满足的数据并下载,再使用拉格朗日插值法,还原多项式,恢复数据。
9.一种基于秘密共享的可检验数据库加密检索系统,用于实现权利要求1至8任一权利要求所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,包含通过网络连接的数据拥有者、数据访问者、服务器;
所述数据拥有者能上传数据,能授予其他用户访问数据的权限,负责数据的检验和维护;
所述数据访问者为访问数据的用户,受数据拥有者管理,且受只能访问到权限之内的数据;
所述服务器为一个以上,用于存储加密处理后的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810462182.2A CN108763940B (zh) | 2018-05-15 | 2018-05-15 | 一种基于秘密共享的可检验数据库加密检索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810462182.2A CN108763940B (zh) | 2018-05-15 | 2018-05-15 | 一种基于秘密共享的可检验数据库加密检索方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108763940A CN108763940A (zh) | 2018-11-06 |
CN108763940B true CN108763940B (zh) | 2022-03-25 |
Family
ID=64007712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810462182.2A Active CN108763940B (zh) | 2018-05-15 | 2018-05-15 | 一种基于秘密共享的可检验数据库加密检索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108763940B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276207B (zh) * | 2019-06-27 | 2020-12-11 | 华南农业大学 | 一种基于量子隐形传态的加密方法 |
WO2022141056A1 (zh) * | 2020-12-29 | 2022-07-07 | 杭州趣链科技有限公司 | 基于中国剩余定理的数据传输优化方法、装置和系统 |
CN117454435B (zh) * | 2023-12-22 | 2024-03-15 | 北京天润基业科技发展股份有限公司 | 基于秘密多项式的跨数据库统计方法、系统及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016148281A1 (ja) * | 2015-03-19 | 2016-09-22 | 日本電気株式会社 | 秘匿文字列計算システム及び方法と装置並びにプログラム |
CN106095937A (zh) * | 2016-06-12 | 2016-11-09 | 华南农业大学 | 一种动态可配置的模块化生成的信息发布平台 |
CN106127081A (zh) * | 2016-07-18 | 2016-11-16 | 贵州大学 | 公开可验证的数据容错安全存储方法 |
-
2018
- 2018-05-15 CN CN201810462182.2A patent/CN108763940B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016148281A1 (ja) * | 2015-03-19 | 2016-09-22 | 日本電気株式会社 | 秘匿文字列計算システム及び方法と装置並びにプログラム |
CN106095937A (zh) * | 2016-06-12 | 2016-11-09 | 华南农业大学 | 一种动态可配置的模块化生成的信息发布平台 |
CN106127081A (zh) * | 2016-07-18 | 2016-11-16 | 贵州大学 | 公开可验证的数据容错安全存储方法 |
Non-Patent Citations (2)
Title |
---|
Chinese Remainder Theorem-Based RSA-Threshold Cryptography in MANET Using Verifiable Secret Sharing Scheme;S. Sarkar等;《2009 IEEE International Conference on Wireless and Mobile Computing, Networking and Communications》;20091110;第258-262页 * |
一种高效的具有无条件安全可验证性的秘密共享方案;陈振华等;《小型微型计算机系统》;20150630;第36卷(第6期);第1301-1305页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108763940A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106534092B (zh) | 基于消息依赖于密钥的隐私数据加密方法 | |
CN103563325B (zh) | 用于保护数据的系统和方法 | |
CN103229450B (zh) | 用于安全多租户数据存储的系统和方法 | |
CN101939946B (zh) | 使用多因素或密钥式分散对数据进行保护的系统和方法 | |
CN110337649A (zh) | 用于搜索模式未察觉的动态对称可搜索加密的方法和系统 | |
CN107864139A (zh) | 一种基于动态规则的密码学属性基访问控制方法与系统 | |
CN108763940B (zh) | 一种基于秘密共享的可检验数据库加密检索方法及系统 | |
CN105871543A (zh) | 多数据拥有者背景下基于属性的多关键字密文检索方法 | |
CN110457930A (zh) | 策略隐藏的可追踪撤销恶意用户的属性基加密方法及系统 | |
CN106230872A (zh) | 对移动中数据进行保护的系统和方法 | |
CN106603246A (zh) | 一种sm2数字签名分割生成方法及系统 | |
CN107222483A (zh) | 一种多访问级别的电子文档网络存储管理的方法 | |
US11245680B2 (en) | Garbled circuit for device authentication | |
KR20130064701A (ko) | 프라이버시―보존 협력 필터링 | |
CN110866135B (zh) | 一种基于响应长度隐藏的k-NN图像检索方法及系统 | |
EP1374464A1 (en) | Method and apparatus for camouflaging of data, information and functional transformations | |
CN106059760B (zh) | 一种从用户端密码模块调用系统私钥的密码系统 | |
CN109740364A (zh) | 可控搜索权限的基于属性的密文搜索方法 | |
CN108197499A (zh) | 一种可验证的密文数据范围查询方法 | |
CN106941400A (zh) | 一种基于sram‑puf的模糊保险箱认证方法 | |
CN108197496A (zh) | 云计算环境下数据安全增强方法 | |
CN116318617A (zh) | 基于rfid和区块链的医疗救援物资慈善捐助方法 | |
CN108259606B (zh) | 云计算公有云文件存储及检索方法 | |
CN109936562A (zh) | 一种面向雾计算的可扩展访问控制方法 | |
CN108269610A (zh) | 基于云计算的数据可靠性验证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |