一种数据库SQL字符串操作隐私保护方法及系统技术方案

技术编号:36690792 阅读:37 留言:0更新日期:2023-02-27 19:57
本发明专利技术公开了一种数据库SQL字符串操作隐私保护方法及系统,其方法包括步骤:对数据库隐私字段的字符串数据执行同态加密;根据隐私字段字符串信息和同态加密信息计算辅助信息;根据加密后的数据和辅助信息构建密文数据表;识别涉及隐私字段的字符串操作类型;根据字符串操作类型使用数乘同态和/或加法同态和/或减法同态计算隐私字段字符串操作后的密文结果;根据隐私字段字符串操作后的密文结果和非隐私字段的查询结果得到用户的最终查询结果。本发明专利技术解决了相关技术中不能支持对数据库的隐私字段字符串数据进行大部分标准SQL字符串操作的问题。操作的问题。操作的问题。

【技术实现步骤摘要】
一种数据库SQL字符串操作隐私保护方法及系统


[0001]本专利技术属于信息安全
,特别是涉及一种数据库SQL字符串操作隐私保护方法及系统。

技术介绍

[0002]随着云服务器的发展,越来越多的企业和个人把数据外包到公有云的数据库系统上进行管理。但是,云服务器数据泄露事件时有发生,数据安全成为用户采用云计算和云数据库的重大顾虑。
[0003]在数据库加密隐私保护领域,早年的技术手段是使用DES、AES等对称加密算法,但由于对称加密本身要求密文分布足够随机,无法对于密文再做一定的同态操作,故数据库服务器执行查询时仍然需要解密再做明文查询,这在一定程度上降低了隐私保护的强度。近年来,应用同态加密的技术手段被以增加数据库服务器直接对密文进行操作的能力的技术手段开始使用,有效提升隐私保护的强度。但是由于密码算法本身的特点,现有的数据库同态加密隐私保护方案几乎都是对数值类型的数据有较为完整的解决方案,例如数值加法、减法、乘法等等。无法适用于字符型的数据和操作类型占比更重的字符型数据库。
[0004]为了支持对数据库的隐私字段字符串数本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据库SQL字符串操作隐私保护方法,其特征在于,包括:对数据库隐私字段的字符串数据执行同态加密;根据隐私字段字符串信息和同态加密信息计算辅助信息;根据加密后的数据和辅助信息构建密文数据表;识别涉及隐私字段的字符串操作类型;根据字符串操作类型使用数乘同态和/或加法同态和/或减法同态计算隐私字段字符串操作后的密文结果;根据隐私字段字符串操作后的密文结果和非隐私字段的查询结果得到用户的最终查询结果。2.根据权利要求1所述的数据库SQL字符串操作隐私保护方法,其特征在于,所述对数据库隐私字段的字符串数据执行同态加密,包括步骤:生成数据库中所需的明文二维表Table_P;设Table_P表共有m条数据与n个字段;用户指定其中的t个字段为隐私字段,分别为PF1,

,PFt;选取随机的1024

bit的素数p和q,计算模数N=p
·
q;令g=N+1,λ=(p

1)
·
(q

1),计算μ=λ
‑1mod N;计算所持Paillier公钥为pk=(N,g),私钥为sk=(λ,μ);令i=1,2,

,t,j=1,2,

,m,使用Paillier公钥pk同态加密所有隐私字段的字符串数据PF
i
_Data
j
,即在(0,N)中选取随机数r,满足r与N互素,计算密文PF
i
_Data
j
_C=(g^Int(PF
i
_Data
j
))
·
(r^N)mod N2,其中Int(PF
i
_Data
j
)表示字符串数据PF
i
_Data
j
在ASCII编码下转为的对应的大整数。3.根据权利要求2所述的数据库SQL字符串操作隐私保护方法,其特征在于,所述根据隐私字段字符串信息和同态加密信息计算辅助信息,包括步骤:使用Paillier公钥pk加密PF
i
_Data
j
的每个单字符;计算字符串数据PF
i
_Data
j
的字符串长度,记为l;在(0,N)中选取l个不同的随机数r1,r2,

,r
l
,满足r1,r2,

,r
l
均与N互素,对于k=1,2,

,l,计算PF
i
_Data
j
的每个单字符的密文PF
i
_Data
j
_s
k
_C=(g^Int(PF
i
_Data
j
_s
k
))*(r
k
^N)mod N2;将每个单字符的密文PF
i
_Data
j
_s
k
_C和字符串长度l拼合成列表PF
i
_Data
j
_Aux作为辅助信息。4.根据权利要求3所述的数据库SQL字符串操作隐私保护方法,其特征在于,所述根据加密后的数据和辅助信息构建密文数据表,包括步骤:在明文数据表Table_P中,用密文数据PF
i
_Data
j
_C代替明文数据PF
i
_Data
j
;新增t个字段,其中第i字段的第j行储存字符串PF
i
_Data
j
的辅助信息PF
i
_Data
j
_Aux,组成密文数据表Table_C;上传密文数据表Table_C至数据库服务器进行储存。5.根据权利要求4所述的数据库SQL字符串操作隐私保护方法,其特征在于,所述识别涉及隐私字段的字符串操作类型,包括步骤:用户提交涉及隐私字段的字符串操作SQL语句,记为SQL_State;数据库服务器DBS分析语句SQL_State,确定隐私字段的字符串操作类型;所述字符串
操作类型包括CONCAT(PF1,PF2)连接操作、SUBSTR(PF,start,len)取子串操作、POSITION(str in PF)返回位置操作、TRIM(char from PF)删除字符操作、UPPER(PF)转大写操作、LOWER(PF)转小写操作、INITCAP(PF)首字母转大写操作。6.根据权利要求5所述的数据库SQL字符串操作隐私保护方法,其特征在于,所述根据字符串操作类型使用数乘同态和/或加法同态和/或减法同态计算隐私字段字符串操作后的密文结果,包括步骤:识别字符串操作类型所对应的整数操作;利用辅助信息将整数操作转化为同态操作并以此计算隐私字段字符串操作后的密文结果。7.根据权利要求6所述的数据库SQL字符串操作隐私保护方法,其特征在于,所述识别字符串操作类型所对应的整数操作,包括:所述CONCAT(PF1,PF2)连接操作是连接隐私字段PF1和PF2的对应字符串,其整数操作:Comp=Int(PF1)*256^Len(PF2)+Int(PF2);所述SUBSTR(PF,start,len)取子串操作是截取隐私字段PF字符串从start开始,长度为len的子串的对应字符串,其整数操作:Comp=Int(s
start+len
‑1)*256^0+

+Int(s
start
)*256^(len

1),其中s
i
指的是隐私字段PF字符串中的第i个字符;所述POSITION(...

【专利技术属性】
技术研发人员:胡耿然刘博徐龙华袁国平严军荣莫凡
申请(专利权)人:杭州安恒信息技术股份有限公司
类型:发明
国别省市:

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

1