CN108763940A - 一种基于秘密共享的可检验数据库加密检索方法及系统 - Google Patents

一种基于秘密共享的可检验数据库加密检索方法及系统 Download PDF

Info

Publication number
CN108763940A
CN108763940A CN201810462182.2A CN201810462182A CN108763940A CN 108763940 A CN108763940 A CN 108763940A CN 201810462182 A CN201810462182 A CN 201810462182A CN 108763940 A CN108763940 A CN 108763940A
Authority
CN
China
Prior art keywords
data
server
attribute
attr
encrypted
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.)
Granted
Application number
CN201810462182.2A
Other languages
English (en)
Other versions
CN108763940B (zh
Inventor
李西明
梁晓健
郭玉彬
胡月明
杜治国
马莎
黄琼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China Agricultural University
Original Assignee
South China Agricultural University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China Agricultural University filed Critical South China Agricultural University
Priority to CN201810462182.2A priority Critical patent/CN108763940B/zh
Publication of CN108763940A publication Critical patent/CN108763940A/zh
Application granted granted Critical
Publication of CN108763940B publication Critical patent/CN108763940B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret 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
对于这个定理,建立一个映射方程对于任意一个数字y∈Zn都对应了k个数字
一般检验码设置,在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;
T3、服务器i根据chart(n×j)的分配值代入多项式,得到加密后的保序多项式:
T4、将得到的结果,上传到服务器i。
步骤S2,具体过程如下:
U1、数据拥有者确定用户是否拥有访问属性,产生一张chart(S×j)访问权限表,其中S为用户总数,j为属性个数总数;
U2、数据拥有者给数据访问者随机分配一个模数pi和密钥ki,其中数据访问者的模数两两互质;
U3、数据拥有者利用随机分配的模数pi和密钥ki,根据访问权限表格,对服务器i上属性对应的分配值通过中国剩余定理进行加密:
运算过程如下:
其中,i≥0,表示使用密钥ki对xi进行加密,E为一种加密方法;yi为加密后的分配向量;如果没有权限访问某一个属性,则不参与计算加密分配向量的计算;
U4、将产生的yi上传到服务器i,
步骤S3,具体过程如下:
V1、在每个服务器上,对加密后的数值都取对应属性的分配量的模,作为校验码:
其中,表示在服务器i中,对待加密表格的第j个属性的第k个检验码加密后的结果,同时也是服务器i中,加密后的数据表格的第j个属性的第k个数据;表示服务器i中第j个属性第k个校验码;
V2、使用中国剩余定理对校验码进行加密保护,即数据拥有者随机产生m个两两互质的数字pi',利用数据拥有者的私钥k0,对数据库中的每个属性attr(j)的校验码通过中国剩余定理产生并保存:
其中,表示服务器i中第j个属性的第k个数据,p'n为数模序列,n>1;
V3、把生成的服务器检验码VOi,上传到服务器i中,作为对应属性attr(j)的校验码。
步骤S4中,所述单服务器检验与纠错方法,具体如下:
Y1、数据拥有者取回利用自己的模数和密钥解出对应的
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、输出判断结果;
保留数据情况下的检验:
由校验码构造得:
其中,表示服务器i第j列第k个校验码是由服务器i第j列第k个加密后的数据对服务器i第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上的分配值;
既:
如果标号为j的服务器出错,我们可以用理论上的bt=0建立纠错的等式,来恢复数据。
对出错数据进行修改,具体如下:
如果标号为l的服务器出错,用理论上的bt=0建立纠错的等式来恢复数据:
对于两个服务器出错,假设出错的服务器为m和n,额外引入一个单服务器的检验结果正确的服务器,并依照只有一个服务器出错的情况对数据进行复原;
对于有n-t个或者以上的服务器出错,挑选出所有互质的xi的服务器,假设这些服务器刚好分别为第1,2,…,f个服务器,并且用中国剩余定理进行初步数据恢复:
然后使并且寻找满足下面等式的最小t来确定secret的原始值:
解出数据,具体过程如下:
全部解出数据:数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,若有权限,数据访问者从服务器中加密后分配和sharei(attr(j));其中,表示服务器i中第j个属性的加密后分配值;sharei(attr(j))表示为服务器i中第j个属性的数据;
数据使用者根据恒等式:
其中,D为解密算法,k为数据访问者拥有的密钥,p为数据访问者拥有的模数,为服务器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;
T3、服务器i根据chart(n×j)的分配值代入多项式,得到加密后的保序多项式:
T4、将得到的结果,上传到服务器i。
第二步:制定数据访问者权限表格,确定数据访问者权限,通过中国剩余定理进行处理,将数据访问者权限表格存入数据库,如图3所示;具体过程如下:
U1、数据拥有者确定用户是否拥有访问属性,产生一张chart(S×j)访问权限表,其中S为用户总数,j为属性个数总数;
U2、数据拥有者给数据访问者随机分配一个模数pi和密钥ki,其中数据访问者的模数两两互质;
U3、数据拥有者利用随机分配的模数pi和密钥ki,根据访问权限表格,对服务器i上属性对应的分配值通过中国剩余定理进行加密:
运算过程如下:
其中,i≥0,表示使用密钥ki对xi进行加密,E为一种加密方法;yi为加密后的分配向量;如果没有权限访问某一个属性,则不参与计算加密分配向量的计算;
U4、将产生的yi上传到服务器i,
第三步:对加密后的数据,进行求模处理,产生每一列属性对应的校验码;对数据进行处理,并上传到服务器上;具体过程如下:
V1、在每个服务器上,对加密后的数值都取对应属性的分配量的模,作为校验码:
其中,表示在服务器i中,对待加密表格的第j个属性的第k个检验码加密后的结果,同时也是服务器i中,加密后的数据表格的第j个属性的第k个数据;表示服务器i中第j个属性第k个校验码;
V2、使用中国剩余定理对校验码进行加密保护,即数据拥有者随机产生m个两两互质的数字pi',利用数据拥有者的私钥k0,对数据库中的每个属性attr(j)的校验码通过中国剩余定理产生并保存:
其中,表示服务器i中第j个属性的第k个数据,p'n为数模序列,n>1;
V3、把生成的服务器检验码VOi,上传到服务器i中,作为对应属性attr(j)的校验码。
第四步:当数据访问者访问服务器时,如图4所示,有权限的数据访问者能解出数据;没有权限的数据访问者不能解出数据;具体过程如下:
数据拥有者使用单服务器检测与纠错方法,如图5所示:
Y1、数据拥有者取回利用自己的模数和密钥解出对应的
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、输出判断结果;
保留数据情况下的检验:
由校验码构造得:
其中,表示服务器i第j列第k个校验码是由服务器i第j列第k个加密后的数据对服务器i第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上的分配值;
既:
如果标号为j的服务器出错,我们可以用理论上的bt=0建立纠错的等式,来恢复数据。
对出错数据进行修改,具体如下:
如果标号为l的服务器出错,用理论上的bt=0建立纠错的等式来恢复数据:
对于两个服务器出错,假设出错的服务器为m和n,额外引入一个单服务器的检验结果正确的服务器,并依照只有一个服务器出错的情况对数据进行复原;
对于有n-t个或者以上的服务器出错,挑选出所有互质的xi的服务器,假设这些服务器刚好分别为第1,2,…,f个服务器,并且用中国剩余定理进行初步数据恢复:
然后使并且寻找满足下面等式的最小t来确定secret的原始值:
解出数据,具体过程如下:
全部解出数据:数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,若有权限,数据访问者从服务器中加密后分配和sharei(attr(j));其中,表示服务器i中第j个属性的加密后分配值;sharei(attr(j))表示为服务器i中第j个属性的数据;
数据使用者根据恒等式:
其中,D为解密算法,k为数据访问者拥有的密钥,p为数据访问者拥有的模数,为服务器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中如下表所示:
如果数据访问者1需要访问学生2的成绩。首先,数据访问者1先从3个服务器中获取 然后利用数据访问者1的k1和p1。通过下列的恒等式解出:
然后,在3个服务器上获取,学生2的成绩数据,最后,通过拉格朗日插值法,从而计算出学生2的真实成绩。
而如果数据访问者1需要访问学生2的身体质量指数。显然,数据访问者1是没有访问身体质量指数的权限。但是,数据访问者1一样可以不遵循访问权限表,非法获取3个服务器中获取 然后利用恒等式计算:
从构造yBMI的恒等式中可知:
即:
数据访问者2无法正确解出即使数据访问者2可以获取3个服务器上,学生2的身体质量指数数据。但是也无法利用拉格朗日插值法正确得出学生2真实的身体质量指数。
校验和纠错方法:
在每个服务器上,对每个加密的数值都取属性对应的分配量的模,并且保存起来作为校验码,即利用公式构造:
在服务器1中保存的校验码主要是如下表所示:
当然,如果以这种形式存储校验码,肯定是不可行的。第一,存储校验码需要大量的空间,无疑会使存储的有效利用率下降;第二,如果校验码没有经过保护处理,一旦落入其他人之手,对手很快就可以得出该服务器对应的分配量,从而轻而易举攻地获得真实的数据信息。
校验码的保护方法:
主要用中国剩余定理来对构造的验证码进行加密保护处理。首先,数据拥有者需要随机产生n个两两互质的数字pi',然后利用数据拥有者的私钥k0,对每个数据库中的每个属性attr(j)的校验码利用中国剩余定理进行处理,生产并且保存起来。其中的产生公式如下:
然后,把所生成的上传到服务器i中,作为属性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)的数据校验码的集合;
通过恒等式:即校验的时候重新计算校验码,再与之前保存的校验码进行比较,判断数据是否有误;
输出判断结果;
保留数据情况下的检验:
由校验码构造得:
其中,表示服务器i第j列第k个校验码是由服务器i第j列第k个加密后的数据对服务器i第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上的分配值;
既:
如果标号为j的服务器出错,我们可以用理论上的bt=0建立纠错的等式,来恢复数据。
对出错数据进行修改,具体如下:
如果标号为l的服务器出错,用理论上的bt=0建立纠错的等式来恢复数据:
对于两个服务器出错,假设出错的服务器为m和n,额外引入一个单服务器的检验结果正确的服务器,并依照只有一个服务器出错的情况对数据进行复原;
对于有n-t个或者以上的服务器出错,挑选出所有互质的xi的服务器,假设这些服务器刚好分别为第1,2,…,f个服务器,并且用中国剩余定理进行初步数据恢复:
然后使并且寻找满足下面等式的最小t来确定secret的原始值:
解出数据,具体过程如下:
全部解出数据:数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,若有权限,数据访问者从服务器中加密后分配和sharei(attr(j));其中,表示服务器i中第j个属性的加密后分配值;sharei(attr(j))表示为服务器i中第j个属性的数据;
数据使用者根据恒等式:
其中,D为解密算法,k为数据访问者拥有的密钥,p为数据访问者拥有的模数,为服务器i中第j个属性对应的分配值;
得到再使用拉格朗日插值法,还原多项式,恢复数据;
若数据访问者没有权限访问,则终止操作;
搜索解出数据:数据使用者需要搜索数据为s,数据的属性是attr(j),数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,
数据使用者根据恒等式:
得到
利用数据和计算出数据在服务器中的取值范围,在服务器中找到满足的数据并下载,再使用拉格朗日插值法,还原多项式,恢复数据。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种基于秘密共享的可检验数据库加密检索方法,其特征在于,包括以下步骤:
S1、将待加密数据存入数据库,并通过秘密共享进行加密;
S2、制定数据访问者权限表格,确定数据访问者权限,通过中国剩余定理进行处理,将数据访问者权限表格存入数据库;
S3、对加密后的数据,进行求模处理,产生每一列属性对应的校验码;对数据进行处理,并上传到服务器上;
S4、当数据访问者访问服务器时,数据拥有者使用单服务器或多服务器检验与纠错方法,有权限的数据访问者能解出数据;没有权限的数据访问者不能解出数据。
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;
T3、服务器i根据chart(n×j)的分配值代入多项式并整理,得到加密后的保序多项式:
T4、将得到的结果,上传到服务器i。
4.根据权利要求1所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,所述步骤S2,具体过程如下:
U1、数据拥有者确定用户是否拥有访问属性,产生一张chart(S×j)访问权限表,其中S为用户总数,j为属性个数总数;
U2、数据拥有者给数据访问者随机分配一个模数pi和密钥ki,其中数据访问者的模数两两互质;
U3、数据拥有者利用随机分配的模数pi和密钥ki,根据访问权限表格,对服务器i上属性对应的分配值通过中国剩余定理进行加密:
运算过程如下:
其中,i≥0,表示使用密钥ki对xi进行加密,E为一种加密方法;yi为加密后的分配向量;如果没有权限访问某一个属性,则不参与计算加密分配向量的计算;
U4、将产生的yi上传到服务器i,
5.根据权利要求1所述的一种基于秘密共享的进而检验数据库加密检索方法,其特征在于,所述步骤S3,具体过程如下:
V1、在每个服务器上,对加密后的数值都取对应属性的分配量的模,作为校验码:
其中,表示在服务器i中,对待加密表格的第j个属性的第k个检验码加密后的结果,同时也是服务器i中,加密后的数据表格的第j个属性的第k个数据;表示服务器i中第j个属性第k个校验码;
V2、使用中国剩余定理对校验码进行加密保护,即数据拥有者随机产生m个两两互质的数字p′i,利用数据拥有者的私钥k0,对数据库中的每个属性attr(j)的校验码通过中国剩余定理产生并保存:
其中,表示服务器i中第j个属性的第k个数据,p′n为数模序列,n>1;
V3、把生成的服务器检验码VOi,上传到服务器i中,作为对应属性attr(j)的校验码。
6.根据权利要求1所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,步骤S4中,所述单服务器检验与纠错方法,具体如下:
Y1、数据拥有者取回利用自己的模数和密钥解出对应的
Y2、取回sharei(s)和对应的利用数模序列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、输出判断结果;
保留数据情况下的检验:
由校验码构造得:
其中,表示服务器i第j列第k个校验码是由服务器i第j列第k个加密后的数据对服务器i第j列的分配值进行取模运算;
并且
既有:
其中,(attr(j),k)表示待加密表格的第j个属性的第k个数据;
把(attr(j),k)记为s,把记为xi,把记为yi,把记为voi,把VOi attr(j)记为VO,在保留原始数据s的情况下,利用恒等式s mod xi=sharei(s)mod xi=voi判断出错数据,并对出错数据进行修改。
7.根据权利要求6所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,所述对出错数据进行修改,具体如下:
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;而准确的修复还是需要利用到多服务器进行检验和纠错。
8.根据权利要求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个服务器,并且用中国剩余定理进行初步数据恢复:
然后使并且寻找满足下面等式的最小t来确定secret的原始值:
9.根据权利要求1所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,所述解出数据,具体过程如下:
全部解出数据:数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,若有权限,数据访问者从服务器中加密后分配和sharei(attr(j));其中,表示服务器i中第j个属性的加密后分配值;sharei(attr(j))表示为服务器i中第j个属性的数据;
数据使用者根据恒等式:
其中,D为解密算法,k为数据访问者拥有的密钥,p为数据访问者拥有的模数,为服务器i中第j个属性对应的分配值;
得到再使用拉格朗日插值法,还原多项式,恢复数据;
若数据访问者没有权限访问,则终止操作;
搜索解出数据:数据使用者需要搜索数据为s,数据的属性是attr(j),数据使用者根据权限表判断自己是否有权限访问属性attr(j)的数据,
数据使用者根据恒等式:
得到
利用数据和计算出数据在服务器中的取值范围,在服务器中找到满足的数据并下载,再使用拉格朗日插值法,还原多项式,恢复数据。
10.一种基于秘密共享的可检验数据库加密检索系统,用于实现权利要求1至9所述的一种基于秘密共享的可检验数据库加密检索方法,其特征在于,包含通过网络连接的数据拥有者、数据访问者、服务器;
所述数据拥有者能上传数据,能授予其他用户访问数据的权限,负责数据的检验和维护;
所述数据访问者为访问数据的用户,受数据拥有者管理,且受只能访问到权限之内的数据;
所述服务器为一个以上,用于存储加密处理后的数据。
CN201810462182.2A 2018-05-15 2018-05-15 一种基于秘密共享的可检验数据库加密检索方法及系统 Active CN108763940B (zh)

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 true CN108763940A (zh) 2018-11-06
CN108763940B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276207A (zh) * 2019-06-27 2019-09-24 华南农业大学 一种基于量子隐形传态的加密方法
WO2022141056A1 (zh) * 2020-12-29 2022-07-07 杭州趣链科技有限公司 基于中国剩余定理的数据传输优化方法、装置和系统
CN117454435A (zh) * 2023-12-22 2024-01-26 北京天润基业科技发展股份有限公司 基于秘密多项式的跨数据库统计方法、系统及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
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 贵州大学 公开可验证的数据容错安全存储方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
S. SARKAR等: "Chinese Remainder Theorem-Based RSA-Threshold Cryptography in MANET Using Verifiable Secret Sharing Scheme", 《2009 IEEE INTERNATIONAL CONFERENCE ON WIRELESS AND MOBILE COMPUTING, NETWORKING AND COMMUNICATIONS》 *
陈振华等: "一种高效的具有无条件安全可验证性的秘密共享方案", 《小型微型计算机系统》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276207A (zh) * 2019-06-27 2019-09-24 华南农业大学 一种基于量子隐形传态的加密方法
CN110276207B (zh) * 2019-06-27 2020-12-11 华南农业大学 一种基于量子隐形传态的加密方法
WO2022141056A1 (zh) * 2020-12-29 2022-07-07 杭州趣链科技有限公司 基于中国剩余定理的数据传输优化方法、装置和系统
CN117454435A (zh) * 2023-12-22 2024-01-26 北京天润基业科技发展股份有限公司 基于秘密多项式的跨数据库统计方法、系统及电子设备
CN117454435B (zh) * 2023-12-22 2024-03-15 北京天润基业科技发展股份有限公司 基于秘密多项式的跨数据库统计方法、系统及电子设备

Also Published As

Publication number Publication date
CN108763940B (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
KR100960578B1 (ko) 식별자 기반 키 생성 방법 및 장치
CN103609059B (zh) 用于安全数据共享的系统和方法
CN103178965B (zh) 使用多因素或密钥式分散对数据进行保护的系统和方法
CN103270516B (zh) 用于安全保护虚拟机计算环境的系统和方法
CN106534092B (zh) 基于消息依赖于密钥的隐私数据加密方法
CN107634829A (zh) 基于属性的可搜索加密电子病历系统及加密方法
CN103636160B (zh) 安全文件共享方法与系统
CN109583885A (zh) 回合控制可重写区块链
CN109417479A (zh) 密码逻辑可重写区块链
CN107864139A (zh) 一种基于动态规则的密码学属性基访问控制方法与系统
CN107948146A (zh) 一种混合云中基于属性加密的连接关键词检索方法
CN105024802B (zh) 云存储中基于双线性对的多用户多关键词可搜索加密方法
CN103229165A (zh) 用于数据的安全远程存储的系统和方法
CN103563325A (zh) 用于保护数据的系统和方法
CN106230872A (zh) 对移动中数据进行保护的系统和方法
CN106452737A (zh) 用于安全多租户数据存储的系统和方法
KR20150052131A (ko) 블룸 필터를 숨기는 콘텐츠에 의한 안전한 개인 데이터베이스 쿼링
CN103039057A (zh) 对移动中数据进行保护的系统和方法
CN108763940A (zh) 一种基于秘密共享的可检验数据库加密检索方法及系统
CN109740364A (zh) 可控搜索权限的基于属性的密文搜索方法
CN106888081A (zh) 白盒实施方案内中间值的宽编码
Huang et al. Outsourced private information retrieval
CN110390203A (zh) 一种可验证解密权限的策略隐藏属性基加密方法
CN110413652A (zh) 一种基于边缘计算的大数据隐私化检索方法
CN106326666A (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