【技术实现步骤摘要】
一种支持密文数据操作的关系型数据库安全外包数据处理方法
本专利技术涉及一种支持密文数据操作的关系型数据库安全外包数据处理方法,属云计算安全和数据库安全领域。
技术介绍
目前,将私有的关系型数据库外包至云服务供应商,可以为商业团体以及个人用户带来巨大的便捷和收益,然而与此同时,外包数据库的安全和隐私问题日益严峻。云计算用户的敏感信息(例如金融交易记录、个人医疗档案等)正面临着不同程度的滥用和泄露。公有云环境通常使用云端驱动的数据库加密技术抵御外部攻击者的恶意入侵,但是依然难以阻止不可信云服务供应商的内部攻击。因此,为避免云端加密可能会带来的隐私泄露的问题,云数据库加密应完全由数据库拥有者实施,从而真正地实现“加密后外包与查询后解密”的服务模式。客户端加密主要面临两项难题:其一,选用何种加密算法对关系型数据库进行加密;其二,如何对加密后的密文关系型数据库执行数据操作。相关的研究已经取得了一系列重要的成果,包括全同态加密技术、部分同态加密技术等。更多的工作则围绕密文域等值查询、范围查询、聚合查询以及模糊查询中的一种或者多种而展开,然而其所支持的数据操作种类十分有限。某些综合的密文数据库查询方案能够支持部分基于SQL的查询操作,但是存在以下四点不足:(1)不同类型的SQL语句需调用不同的加密技术以完成解释,导致数据库服务性能降低;(2)云服务供应商无法直接执行SQL语句,云服务模式难以彻底摆脱对可信代理的依赖;(3)云服务供应商执行数据操作前需获知解密密钥,尚未完全克服云端加密的安全风险;(4)终端用户的数据库访问模式以及云数据库的关系结构被迫发生变化。专利技术内 ...
【技术保护点】
一种支持密文数据操作的关系型数据库安全外包数据处理方法,其步骤为:(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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。