一种支持密文数据操作的关系型数据库安全外包数据处理方法技术

技术编号:15792391 阅读:87 留言:0更新日期:2017-07-10 00:28
本发明专利技术公开了一种支持密文数据操作的关系型数据库安全外包数据处理方法。本方法为:1)数据库拥有者利用私有密钥对待外包数据库进行加密后生成外包密文数据库,并将其发送至云服务供应商;2)已获授权的终端用户以SQL语句的形式向该数据库拥有者提交明文数据操作请求;3)该数据库拥有者将该数据操作请求的明文SQL语句转换为密文SQL语句集合发送至该云服务供应商;4)该云服务供应商在该外包密文数据库上直接执行该密文SQL语句;若为查询请求,则将得到的密文查询结果返回至该数据库拥有者;5)该数据库拥有者接收并解密该密文查询结果,向该终端用户返回明文记录。本发明专利技术保障了外包关系型数据库的数据机密性和有效利用。

【技术实现步骤摘要】
一种支持密文数据操作的关系型数据库安全外包数据处理方法
本专利技术涉及一种支持密文数据操作的关系型数据库安全外包数据处理方法,属云计算安全和数据库安全领域。
技术介绍
目前,将私有的关系型数据库外包至云服务供应商,可以为商业团体以及个人用户带来巨大的便捷和收益,然而与此同时,外包数据库的安全和隐私问题日益严峻。云计算用户的敏感信息(例如金融交易记录、个人医疗档案等)正面临着不同程度的滥用和泄露。公有云环境通常使用云端驱动的数据库加密技术抵御外部攻击者的恶意入侵,但是依然难以阻止不可信云服务供应商的内部攻击。因此,为避免云端加密可能会带来的隐私泄露的问题,云数据库加密应完全由数据库拥有者实施,从而真正地实现“加密后外包与查询后解密”的服务模式。客户端加密主要面临两项难题:其一,选用何种加密算法对关系型数据库进行加密;其二,如何对加密后的密文关系型数据库执行数据操作。相关的研究已经取得了一系列重要的成果,包括全同态加密技术、部分同态加密技术等。更多的工作则围绕密文域等值查询、范围查询、聚合查询以及模糊查询中的一种或者多种而展开,然而其所支持的数据操作种类十分有限。某些综合的密文数据库查询方案能够支持部分基于SQL的查询操作,但是存在以下四点不足:(1)不同类型的SQL语句需调用不同的加密技术以完成解释,导致数据库服务性能降低;(2)云服务供应商无法直接执行SQL语句,云服务模式难以彻底摆脱对可信代理的依赖;(3)云服务供应商执行数据操作前需获知解密密钥,尚未完全克服云端加密的安全风险;(4)终端用户的数据库访问模式以及云数据库的关系结构被迫发生变化。专利技术内容针对现有技术中存在的问题,本专利技术的目的在于提供一种支持密文数据操作的关系型数据库安全外包数据处理方法。这种方法保护了关系型数据库在外包过程中的数据机密性及有效数据利用。所采用的客户端加密技术从根本上解决了云端加密的安全问题。图1是本专利技术的模块设计与总体架构。本专利技术解决其技术问题所用的技术方案是:一种支持密文数据操作的关系型数据库安全外包数据处理方法(包括查询请求、插入请求、更新请求和删除请求)。该方法作用于终端用户、数据库拥有者和云服务供应商三者之间。关系型数据库在外包前由数据库拥有者负责加密,然后由云服务供应商在外包密文数据库上直接执行基于SQL的全类型数据操作,返回的查询结果则由数据库拥有者代替终端用户进行解密。具体地,本专利技术的方法流程为:1.数据库拥有者将关系型数据库安全外包至云服务供应商:(1)数据库拥有者生成私有密钥;(2)数据库拥有者经密码模块对待外包数据库进行加密后生成外包密文数据库,并发送至云服务供应商;(3)云服务供应商接收并原地存储该外包密文数据库;(4)数据库拥有者在云服务供应商处创建用户自定义函数。2.终端用户请求对关系型数据库进行隐私保护的数据操作:(1)终端用户登录数据库系统,并向数据库拥有者提交明文SQL语句;(2)数据库拥有者依据访问控制策略,判断查询请求是否已得到授权,如若非法访问,则拒绝操作;(3)数据库拥有者经转换模块将明文SQL语句转换为密文SQL语句集合,发送至云服务供应商;(4)云服务供应商调用用户自定义函数,在密文数据库中执行密文SQL语句,并将密文查询结果返回至数据库拥有者;(5)数据库拥有者接收并解密查询结果集,向终端用户返回明文记录。本专利技术的安全外包数据处理方法包括以下的五大模块:(1)密码模块(OPEA算法),用于加密或解密外包数据库。OPEA算法的加密函数具有保序性和可加性,能够最大限度地保留数据的可操作性。将OPEA算法密文域划分为多个按照先后顺序排列的密文分区,图2是该密码模块的映射结构,第i个密文分区的上下边界被分别定义为Ui和Li。具体来看,图中所采用的一对多的映射结构将单一的明文值映射为某个密文分区内的多个密文值,用于构造OPEA算法的加密函数,从而改善密码模块的安全性以抵御惟密文攻击、统计攻击以及弱选择明文攻击。(2)转换模块(SQL-Translator解释器),用于转换待请求的明文SQL语句,同时确保经转换后得到的密文SQL语句可以在密文数据库中正常执行。图3是该转换模块的处理流程。(3)用户自定义函数,部署在云服务供应商,主要用于云端的等值比较、聚合比较、和值计算和字符串分割等操作。(4)加密规则,整型数据直接使用OPEA算法进行加密;加密浮点型数据时,按明文空间的最小精度来划分密文空间;字符型数据按终端用户选定的最小匹配单元转为整型后依次加密、填充并拼接。具体到外包关系型数据库而言,明文空间就是数据库中全部数据组成的有限集合。(5)访问控制,选用不同的密钥加密具有不同保密级别的数据表或数据字段;已取得合法访问授权的终端用户可以通过共享用户口令登录数据库系统;数据库拥有者依据目前已登录用户的数据访问权限获取相应的加解密密钥。本专利技术的有益效果是:(1)本专利技术解决了客户端加密的两项主要难题,保障了外包关系型数据库的数据机密性和有效利用。(2)本专利技术的总体架构适用于MicrosoftWindowsAzureSQLDatabase等未经修改的商业化云数据库平台。(3)本专利技术仅需单次加密数据库,故存储开销更低,且数据访问模式与云数据库关系结构得以保留。(4)本专利技术密码模块的OPEA算法能够抵御惟密文攻击、统计攻击以及弱选择明文攻击。其简化边界生成子算法、加密子算法和解密子算法的平均时间复杂度分别达到O(T),O(1)和O(logT),T是明文域的最大值,基本优于主流的对称密码算法。此外,OPEA算法的比较操作用时和网络通信开销忽略不计。密文域的噪声增长问题可通过调整密钥在常量级时间内得到有效控制。(5)本专利技术转换模块支持目前最多种类的SQL数据操作,涵盖等值查询、范围查询、聚合查询、模糊查询、插入、更新、删除等数据操作语句。SQL-Translator解释器的转换用时在微秒量级以内,并满足任意类型和长度的数据转换需求。(6)本专利技术直接执行密文查询而无需解密外包数据,查询结果准确,无误判,无漏判。相同查询精度下,客户端后处理开销较低,总体查询效率较高。附图说明图1为系统总体架构图。给出了本专利技术的模块设计、数据流向和参与者的作用范围。图2为密码模块映射结构图。给出了OPEA算法的分区、间隔的划分方法以及明文域至密文域的映射关系。图3为转换模块处理流程图。给出了SQL-Translator解释器的工作流程,包含核心转换模块和子转换模块。图4为待外包数据库示例;图5为外包密文数据库示例;图6为密文查询结果示例;图7为解密后的明文查询结果示例。具体实施方式下面结合附图对本专利技术作进一步说明。图1是系统总体架构图,主要涉及密码模块、转换模块和用户自定义函数三大核心服务模块。具体方法包括下列步骤:1.图2是密码模块映射结构图。密码模块的实现方法包括:(1)设计并实现具有可加性的保序加密算法OPEA,离散密文域由顺序密文分区构成,其加密函数E:X→Y满足下述两个条件(X和Y分别是OPEA的明文与密文空间;具体到外包数据库应用,明文空间是指明文数据库中全部数据组成的集合,密文空间是指密文数据库中全部数据组成的集合):a)b∈X,a<b当且仅当E(a)<E(b);b)b,c∈X,若a+本文档来自技高网...
一种支持密文数据操作的关系型数据库安全外包数据处理方法

【技术保护点】
一种支持密文数据操作的关系型数据库安全外包数据处理方法,其步骤为:(1)数据库拥有者利用私有密钥对待外包数据库进行加密后生成外包密文数据库,并将其发送至云服务供应商;(2)终端用户通过其口令登录数据库系统,并以SQL语句的形式向该数据库拥有者提交明文数据操作请求;(3)该数据库拥有者依据访问控制策略,判断该数据操作请求是否已得到授权,如若非法访问,则拒绝操作;若为合法访问,则将该数据操作请求的明文SQL语句转换为密文SQL语句集合,并发送至该云服务供应商;(4)该云服务供应商在该外包密文数据库上直接执行该密文SQL语句;若为查询请求,则将得到的密文查询结果返回至该数据库拥有者;(5)该数据库拥有者接收并解密该密文查询结果,向该终端用户返回明文记录。

【技术特征摘要】
1.一种支持密文数据操作的关系型数据库安全外包数据处理方法,其步骤为:(1)数据库拥有者利用私有密钥对待外包数据库进行加密后生成外包密文数据库,并将其发送至云服务供应商;(2)终端用户通过其口令登录数据库系统,并以SQL语句的形式向该数据库拥有者提交明文数据操作请求;(3)该数据库拥有者依据访问控制策略,判断该数据操作请求是否已得到授权,如若非法访问,则拒绝操作;若为合法访问,则将该数据操作请求的明文SQL语句转换为密文SQL语句集合,并发送至该云服务供应商;(4)该云服务供应商在该外包密文数据库上直接执行该密文SQL语句;若为查询请求,则将得到的密文查询结果返回至该数据库拥有者;(5)该数据库拥有者接收并解密该密文查询结果,向该终端用户返回明文记录。2.如权利要求1所述的方法,其特征在于,步骤(1)中,对待外包数据库进行加密的方法为:设计并实现具有可加性的保序加密算法OPEA,对待外包数据库中的全部数据项进行加密,并使用抗碰撞哈希函数或者对称密码技术对待外包数据库中的数据表名、列名进行加密;其中,该保序加密算法OPEA中采用顺序密文分区构成离散密文域,其加密函数E:X→Y满足条件a)和b);X和Y分别是OPEA算法的明文与密文空间;a)当且仅当E(a)<E(b);b)若a+b<c,则有E(a)+E(b)<E(c)。3.如权利要求2所述的方法,其特征在于,该保序加密算法OPEA包括边界生成子算法、加密子算法和解密子算法,其中:a)边界生成子算法为:输入随机非负整数集R={Ri}和随机正整数σ>max1≤i≤T{Ri}-R1作为密钥,设定首个密文分区[L1,U1],满足L[1]=σ且U[1]=L[1]+R1;随后迭代地划定后续密文分区的边界值,满足L[t]=max1≤i<t{U[i]+U[t-i]}且U[t]=L[t]+Rt,输出密文域的密文分区下边界集L={Li}={L[i]}和上边界集U={Ui}={U[i]};其中,1≤i≤T,2≤t≤T,T是明文域的最大值;Ri是集合R中的第i个元素,Li和L[i]是第i个密文分区的下边界,Ui和U[i]是第i个密文分区的上边界;b)加密子算法为:输入边界集L、U和正整数明文m,输出密文c=E(m);在加密明文值m时,采用一对多的映射结构,根据密文分区的边界集L和U,加密函数E(·)将会从集合{L[m],L[m]+1,…,U[m]}中选择并返回一个随机整数作为密文值c;c)解密子算法为:输入边界集L、U和密文c,借助折半查找算法输出密文c所属密文分区的编号作为明文值。4.如权利要求3所述的方法,其特征在于,简化OPEA算法的边界生成子算法为:令密钥Ri(1≤i≤T)以非降序排列,得到其线性边界函数U[t]=L[t]+Rt,1≤t≤T;然后利用该线性边界函数生成边界集L和U。5.如权利要求3所述的方法,其特征在于,扩展OPEA算法的边界生成子算法为:令密钥σ>3·max1≤i≤T{Ri},设定首个密文分区U’[1]=σ且L’[1]=U’[1]-R1,后续密文分区应满足上边界U’[t]=min1≤i<t{L’[i]+L’[t-i]}且下边界L’[t]=U’[t]-Rt(Rt<U’[t]-U’[t-1]);其线性边界函数为L’[t]=U’[t]-Rt,1≤t≤T;得到扩展上边界集U’={U’[i]}和扩展下边界集L’={L’[i]},其中,2≤t≤T,1≤i≤T;OPEA扩展算法的加密函数为E’:X→Y’,满足条件a)和b);X和Y’分别是OPEA扩展算法的明文与密文空间;a)当且仅当E’(a)<E’(b);b)若a+b>c,则有E’(a)+E’(b)>E’(c)。6.如权利要求2或3所述的方法,其特征在于,该保序加密算法OPEA的加密规则为:整型数据直接加密;加密浮点型数据时,按明文空间的最小精度来划分密文空间;字符型数据按最小匹配单元转为整型后依次加密、填充并拼接。7.如权利要...

【专利技术属性】
技术研发人员:王晓菲张玉清伍前红
申请(专利权)人:中国科学院大学北京航空航天大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1