CN101937498A - 用于共享外包数据库的数据完整性验证方法 - Google Patents

用于共享外包数据库的数据完整性验证方法 Download PDF

Info

Publication number
CN101937498A
CN101937498A CN2010102790800A CN201010279080A CN101937498A CN 101937498 A CN101937498 A CN 101937498A CN 2010102790800 A CN2010102790800 A CN 2010102790800A CN 201010279080 A CN201010279080 A CN 201010279080A CN 101937498 A CN101937498 A CN 101937498A
Authority
CN
China
Prior art keywords
data
dsp
real
integrity verification
query
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
CN2010102790800A
Other languages
English (en)
Other versions
CN101937498B (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.)
Wuhan Dream Database Co ltd
Original Assignee
Wuhan Dameng Database Co Ltd
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 Wuhan Dameng Database Co Ltd filed Critical Wuhan Dameng Database Co Ltd
Priority to CN2010102790800A priority Critical patent/CN101937498B/zh
Publication of CN101937498A publication Critical patent/CN101937498A/zh
Application granted granted Critical
Publication of CN101937498B publication Critical patent/CN101937498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种用于共享外包数据库的数据完整性验证方法,具体为:采用多项式将数据值分解为多个数据分片,并分别存储在多个数据库服务提供商DSP中,多项式以DSP编号为变量,其系数值由以数据值为变量的单调递增函数计算得到。查询时,通过将匹配数据值按照相同方式进行分解,进而将查询转换为对多个DSP的查询,依据查询结果和被查询DSP的编号构建基于上述多项式形式的一次线性方程组,求解方程组,验证求解得到的多项式系数和合成数据值是否满足前述单调递增函数关系,若满足,则完整性验证通过,否则不通过。本发明通过判断合成数据与多项式系数之间是否保持原有的单调递增函数关系,可确定数据的完整性是否遭到破坏,从而保障数据的完整性。

Description

用于共享外包数据库的数据完整性验证方法
技术领域
本发明属于计算机中的数据库应用技术领域,具体涉及一种用于共享外包数据库的数据完整性验证方法。
背景技术
随着信息技术的迅速发展,为了提高工作效率,越来越多的企业为了管理内部大量的数据,需要购买软、硬件设备,聘请专业技术人员维护数据,因此带来了人力资源成本和企业运营成本的上升。鉴于传统数据管理的成本问题,越来越多的企业倾向于新的数据管理模式——外包数据库,即企业将自己的数据交给数据库服务提供商实行数据托管。根据支撑一个应用所需数据库服务器提供商的数量分为传统外包数据库和共享外包数据库。
在外包数据库模式下,企业内部的数据脱离了企业自己的管理视线,可能被服务提供商恶意地查询、修改、删除和插入数据,而企业数据中往往含有企业的商业秘密,一旦泄密将给企业带来不良后果,甚至威胁企业生存。因此,在新型数据管理模式下,数据的保密性和数据的完整性是重要的问题。
传统外包数据库采用加密算法对数据进行加密,利用一个远程服务器实现对数据的存储和管理。共享外包数据库采用数据分解的方法实现一定程度的数据保密,即将一个数据分解为多个数据分片,存储在多个远程数据库服务提供商所提供的数据库服务器中,由多个远程服务器管理数据。共享外包数据库模式下的数据分解方法虽然在一定程度上解决了数据保密性问题,但是当数据被恶意修改、删除和插入后,仍然缺少一种机制来检验用户查询到的数据是否被恶意修改或者删除过,同时发现是被哪个数据库服务提供商修改过的。
发明内容
本发明的目的在于提出一种用于共享外包数据库数据的完整性验证方法,能够发现哪些数据被恶意篡改,从而保障数据的完整性。
用于共享外包数据库的数据完整性验证方法,对涉及的N个数据库服务提供商DSP进行编号,将数据值real按如下方式分解并存储:构建以DSP编号xi为变量的多项式g(xi)=a1xi k-1+a2xi k-2+…+ak-1xi+real,将各DSP的编号分别代入多项式g(xi)得到对应各DSP应存储的数值,其中系数aj=fj(real),fj(real)为单调递增函数,j=1,2,…,k-1,k<N;
验证方法具体如下:任意选择k个DSP构成组合供查询用,对于查询条件中的匹配数据值D,按照上述数据值分解和存储方式获得D对应的在这k个DSP应存储的数值,进而将查询转换为对这k个DSP的查询,利用这k个查询结果和k个DSP的编号构建基于多项式g(xi)′=a1′xi k-1+a2′xi k-2+…+ak-1′xi+real′形式的k元一次线性方程组,求解得到系数aj′和real′值,验证求取的aj′和real′值是否满足aj′=fj(real′),若满足,则完整性验证通过,否则不通过。
作为优化,若完整性验证不通过,重新选择k个DSP构成组合进行验证,直到完整性验证通过,将通过验证的DSP组合与没有通过验证的DSP组合比较,以确定被篡改的DSP。
本发明由于在利用k-1次多项式进行数据分解的过程中,设计了一种安全的系数生成方法,利用k-1个单调递增函数,以待分解数据值作为单调递增函数的自变量,生成k-1次多项式的系数,使得系数与原始数据保持一定的关系,因此在完整性验证过程中,通过判断合成数据与合成多项式系数之间是否保持原有的单调递增函数关系,可确定数据的完整性是否遭到破坏。本发明提供了一种快速判断数据完整性并确定篡改数据所在服务器的方法。
附图说明
图1为本发明方法流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述,但该实施例不应理解为对本发明的限制。
本发明分三个步骤实施:
在数据库中定义基本表Tablel(coll int),在N=5个数据库服务提供商的数据库服务器中创建同名的表,用于保存分解后的数据分片。假设此时K=3,其中(X1,X2,X3,X4,X5)=(10,5,3,7,2),即将5个DSP分别编号为10,5,3,7,2。分解原始数据的多项式为:a1xi 2+a2xi+real(i=1,…,5),其中real为真值,xi取值为DSP服务器的编号。a1系数采用单调递增函数f(x)=2x+5生成,a2系数用单调递增函数g(x)=|_logx_|+6生成,变量x=real。
系统运行阶段,若需要将三条元组20,40,50存入5个DSP中,则分别用多项式45xi 2+10xi+20、多项式85xi 2+11xi+40和多项式105xi 2+11xi+50分解这三条元组,然后保存在5个DSP中,存放形式如图2所示。
图2:数据20,40,50在分解多项式45xi 2+10xi+20、85xi 2+11xi+40和105xi 2+11xi+50下得到的在5个DSP中的保存的数据。
现在假设DSP2(编号为5)上的数据2220被篡改为2000,这个篡改可以是数据库管理员利用管理工修改也可以是其它用户修改的。
当用户发出查询请求:select*from Tablel where coll>30时,使用65xi 2+10xi+30分解数值30,任意选择5个DSP中的3个完成这个查询请求,如选择查询编号为2,3,5的DSP,则将上述查询语句转换为以下三条查询语句:
Select*from Tablel where coll>310order by coll;
Select*from Tablel where coll>645order by coll;
Select*from Tablel where coll>1770order by coll;
将这三条语句分别发往编号为2,3,5的DSP,得到的查询结果集可能有两种情况:(1)查询得到的三个结果集内数据个数不相等,此时即可判断查询到的结果发生了完整性错误,即这三个DSP中的数据被插入或者删除过;(2)查询到的三个结果集内数据个数完全相等,则需要采用求解线性方程组的方法,还原真值数据和多项式系数,并判断进一步判断多项式系数与真值数据是否满足单调递增增函数关系,若满足则完整性检查通过,否则说明数据被篡改过。针对本例,分别得到的查询结果集分别为402、492,838、1028和2000、2730,三个结果集的数据个数相等,说明需要进一步判断。另外,在查询时通过在指定的列上进行排序,如本例中在coll列上排序,在正常情况下保证分别从三个结果集中每次按序取得一个数据,而得到的三个数据值即是可以在恢复时还原原始数据的数据组。针对本例,可以分两次按序取得两组数据集合{402,838,2000}、{492,1028,2730}。利用这两组数据集合和分解多项式a1xi 2+a2xi+real(其中xi是DSP的编号,针对本例xi=2,3,5)解下列两组线性方程组,合成真实数据-180和50,并计算两组多项式系数分别为145/3、583/3和105、11。
线性方程组(1):a1*22+a2*2+real=402
               a1*32+a2*3+real=838
               a1*52+a2*5+real=2000
线性方程组(2):a1*22+a2*2+real=492
               a1*32+a2*3+real=1028
               a1*52+a2*5+real=2730
由于a1=105,a2=11和真实值50之间满足单调递增函数f(x)=2x+5和单调递增函数g(x)=|_logx_|+6关系,因此判定合成的真实数据50没有被恶意篡改过。
由于a1=145/3,a2=583/3和真实值-180之间不满足单调递增函数f(x)=2x+5和单调递增函数g(x)=|_logx_|+6关系,因此判定合成的真实数据-180被恶意篡改过。需要重新选择DSP的组合进行上述查询,例如选择查询编号为2,3,7的DSP,重新转换查询语句:select*from Tablel where coll>30,使用65xi 2+10xi+30分解数值30,将查询语句转换为以下三条查询语句:
Select*from Tablel where coll>310order by coll;
Select*from Tablel where coll>645order by coll;
Select*from Tablel where coll>3285order by coll;
将这三条语句分别发往编号为2,3,7的DSP,分别得到的查询结果集分别为402、492,838、1028和4282、5272,利用这三个结果集解线性方程组,合成真实数据。例如针对402,838和4282,解线性方程组(3),并计算多项式系数分别为85和11。
线性方程组(3):a1*22+a2*2+real=402
               a1*32+a2*3+real=838
               a1*72+a2*7+real=4282
由于a1=85,a2=11和真实值40之间满足单调递增函数f(x)=2x+5和单调递增函数g(x)=|_logx_|+6关系,因此判定合成的真实数据40没有被恶意篡改过。根据上次选择的DSP组合(编号为2,3,5的DSP)在检查查询结果时出现完整性检验错误,而这次选择的DSP组合(编号为2,3,7的DSP)没有发生完整性错误,于是可以判定引起出错的DSP是DSP2,即编号为5的DSP上的数据被篡改过。
对于字符类型数据,可以取字符串中的每个字符,若为英文字符则取其ASCII码作为一个数值,若为中文字符,则取其Unicode编码(或者其他中文编码)作为一个数值,按照前述方法进行分解,再重新形成新的英文字符串或者中文字符串。例如对于字符串’abc’,若保存在本例编号为10的DSP中,则分别将字符’a’、’b’、’c’的ASCII码作为三个数值,分别利用多项式199xi 2+12xi+97、201xi 2+12xi+98、203xi 2+12xi+99转换为数值:20117(相当于两个字符’Nò’)、20318(相当于两个字符’O^’)、20519(相当于两个字符’P′’),将这三个数值转换的字符串串接起来即是’NòO^P′’保存。进行查询和完整性验证的方法与数值数据的查询和完整性验证方法相同,在这里不再详述。

Claims (2)

1.用于共享外包数据库的数据完整性验证方法,对涉及的N个数据库服务提供商DSP进行编号,将数据值real按如下方式分解并存储:构建以DSP编号xi为变量的多项式g(xi)=a1xi k-1+a2xi k-2+…+ak-1xi+real,将各DSP的编号分别代入多项式g(xi)得到对应各DSP应存储的数值,其中系数aj=fj(real),fj(real)为单调递增函数,j=1,2,…,k-1,k<N;
验证方法具体如下:任意选择k个DSP构成组合供查询用,对于查询条件中的匹配数据值D,按照上述数据值分解和存储方式获得D对应的在这k个DSP应存储的数值,进而将查询转换为对这k个DSP的查询,利用这k个查询结果和k个DSP的编号构建基于多项式g(xi)′=a1′xi k-1+a2′xi k-2+…+ak-1′xi+real′形式的k元一次线性方程组,求解得到系数aj′和real′值,验证求取的aj′和real′值是否满足aj′=fj(real′),若满足,则完整性验证通过,否则不通过。
2.根据权利要求1所述的数据完整性验证方法,其特征在于,若完整性验证不通过,重新选择k个DSP构成组合进行验证,直到完整性验证通过,将通过验证的DSP组合与没有通过验证的DSP组合比较,以确定被篡改的DSP。
CN2010102790800A 2010-09-13 2010-09-13 用于共享外包数据库的数据完整性验证方法 Active CN101937498B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102790800A CN101937498B (zh) 2010-09-13 2010-09-13 用于共享外包数据库的数据完整性验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102790800A CN101937498B (zh) 2010-09-13 2010-09-13 用于共享外包数据库的数据完整性验证方法

Publications (2)

Publication Number Publication Date
CN101937498A true CN101937498A (zh) 2011-01-05
CN101937498B CN101937498B (zh) 2012-06-13

Family

ID=43390821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102790800A Active CN101937498B (zh) 2010-09-13 2010-09-13 用于共享外包数据库的数据完整性验证方法

Country Status (1)

Country Link
CN (1) CN101937498B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271409A (zh) * 2018-11-08 2019-01-25 成都索贝数码科技股份有限公司 一种基于容器资源分配的数据库分片执行方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040054665A1 (en) * 2002-09-12 2004-03-18 Yoo Jae Jun Apparatus for sharing and storing mass video data in video geographic information system and management method thereof
CN1808389A (zh) * 2006-02-20 2006-07-26 南京联创科技股份有限公司 帐务后台内存数据库中共享内存的自治锁方法
CN101158871A (zh) * 2007-11-12 2008-04-09 浙江大学 集散控制系统操作员站内存数据库结构存储的同步方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040054665A1 (en) * 2002-09-12 2004-03-18 Yoo Jae Jun Apparatus for sharing and storing mass video data in video geographic information system and management method thereof
CN1808389A (zh) * 2006-02-20 2006-07-26 南京联创科技股份有限公司 帐务后台内存数据库中共享内存的自治锁方法
CN101158871A (zh) * 2007-11-12 2008-04-09 浙江大学 集散控制系统操作员站内存数据库结构存储的同步方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271409A (zh) * 2018-11-08 2019-01-25 成都索贝数码科技股份有限公司 一种基于容器资源分配的数据库分片执行方法
CN109271409B (zh) * 2018-11-08 2021-11-02 成都索贝数码科技股份有限公司 一种基于容器资源分配的数据库分片执行方法

Also Published As

Publication number Publication date
CN101937498B (zh) 2012-06-13

Similar Documents

Publication Publication Date Title
US10868674B2 (en) Decentralized database optimizations
EP3096258B1 (en) System for anonymizing and aggregating protected information
CA2887191C (en) Secure linkage of databases
CN103338208B (zh) 一种sql注入防御的方法和系统
EP2876573A1 (en) Encrypted in-memory column-store
EP3485421A1 (en) Fragmenting data for the purposes of persistent storage across multiple immutable data structures
CN101694672B (zh) 一种分布式安全检索系统
US20130212131A1 (en) Symbolic hyper-graph database
US9037525B2 (en) Correlating data from multiple business processes to a business process scenario
AU2014265125A1 (en) System for anonymizing and aggregating protected health information
CN102867064B (zh) 关联字段查询装置和关联字段查询方法
Su et al. Smartsupply: smart contract based validation for supply chain blockchain
CN106484734A (zh) 一种数据查询缓存方法及系统
CN112231283B (zh) 基于多源异构数据统一实体标识码的生成管理方法及系统
US20130318098A1 (en) Method and system to analyze email addresses
CN109947411A (zh) 分布式软件生成唯一id主键的方法
US20230328154A1 (en) System and Method for Asset Management and Integration
US11531724B2 (en) Entity centric database
US10313120B2 (en) Method for storing data in a relational database and relational database server
CN109522320B (zh) 一种服务于数据库同态加密的优化方法
CN101937498B (zh) 用于共享外包数据库的数据完整性验证方法
ES2900746T3 (es) Sistemas y métodos para distribuir eficazmente mensajes de alerta
US10680974B2 (en) Method and device for monitoring data processing status
JP2010266952A (ja) メンバ管理装置、メンバ管理システム、メンバ管理プログラム、および、メンバ管理方法
US20200019722A1 (en) System and method for data security grading

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Data integrity verification method for shared outscored database

Effective date of registration: 20170421

Granted publication date: 20120613

Pledgee: Guanggu Branch of Wuhan Rural Commercial Bank Co.,Ltd.

Pledgor: WUHAN DAMENG DATABASE Co.,Ltd.

Registration number: 2017420000010

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20180328

Granted publication date: 20120613

Pledgee: Guanggu Branch of Wuhan Rural Commercial Bank Co.,Ltd.

Pledgor: WUHAN DAMENG DATABASE Co.,Ltd.

Registration number: 2017420000010

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Data integrity verification method for shared outscored database

Effective date of registration: 20180329

Granted publication date: 20120613

Pledgee: Guanggu Branch of Wuhan Rural Commercial Bank Co.,Ltd.

Pledgor: WUHAN DAMENG DATABASE Co.,Ltd.

Registration number: 2018420000015

PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20190325

Granted publication date: 20120613

Pledgee: Guanggu Branch of Wuhan Rural Commercial Bank Co.,Ltd.

Pledgor: WUHAN DAMENG DATABASE Co.,Ltd.

Registration number: 2018420000015

PC01 Cancellation of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Data integrity verification method for shared outscored database

Effective date of registration: 20190328

Granted publication date: 20120613

Pledgee: Guanggu Branch of Wuhan Rural Commercial Bank Co.,Ltd.

Pledgor: WUHAN DAMENG DATABASE Co.,Ltd.

Registration number: 2019420000008

CB03 Change of inventor or designer information

Inventor after: Han Zhuzhong

Inventor after: Xu Gang

Inventor after: Fu Quan

Inventor after: Cai Chang

Inventor before: Han Zhuzhong

Inventor before: Xu Gang

Inventor before: Fu Quan

Inventor before: Cai Chang

CB03 Change of inventor or designer information
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 430073 Hubei city of Wuhan province Kuanshan Road No. 1 Optics Valley Software Park Building 5 layer C6

Patentee after: Wuhan dream database Co.,Ltd.

Address before: 430073 Hubei city of Wuhan province Kuanshan Road No. 1 Optics Valley Software Park Building 5 layer C6

Patentee before: WUHAN DAMENG DATABASE Co.,Ltd.

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20210315

Granted publication date: 20120613

Pledgee: Guanggu Branch of Wuhan Rural Commercial Bank Co.,Ltd.

Pledgor: WUHAN DAMENG DATABASE Co.,Ltd.

Registration number: 2019420000008

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220909

Address after: 430073 16-19 / F, building C3, future science and technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee after: Wuhan dream database Co.,Ltd.

Patentee after: HUAZHONG University OF SCIENCE AND TECHNOLOGY

Address before: 430073 5 / F, building C6, optical valley software park, special 1, Guanshan 1st Road, Wuhan City, Hubei Province

Patentee before: Wuhan dream database Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20230731

Address after: 16-19/F, Building C3, Future Science and Technology Building, No. 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province, 430206

Patentee after: Wuhan dream database Co.,Ltd.

Address before: 430073 16-19 / F, building C3, future science and technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee before: Wuhan dream database Co.,Ltd.

Patentee before: HUAZHONG University OF SCIENCE AND TECHNOLOGY

TR01 Transfer of patent right