【技術(shù)實(shí)現(xiàn)步驟摘要】
一種數(shù)據(jù)庫(kù)SQL字符串操作隱私保護(hù)方法及系統(tǒng)
[0001]本專利技術(shù)屬于信息安全
,特別是涉及一種數(shù)據(jù)庫(kù)SQL字符串操作隱私保護(hù)方法及系統(tǒng)。
技術(shù)介紹
[0002]隨著云服務(wù)器的發(fā)展,越來(lái)越多的企業(yè)和個(gè)人把數(shù)據(jù)外包到公有云的數(shù)據(jù)庫(kù)系統(tǒng)上進(jìn)行管理。但是,云服務(wù)器數(shù)據(jù)泄露事件時(shí)有發(fā)生,數(shù)據(jù)安全成為用戶采用云計(jì)算和云數(shù)據(jù)庫(kù)的重大顧慮。
[0003]在數(shù)據(jù)庫(kù)加密隱私保護(hù)領(lǐng)域,早年的技術(shù)手段是使用DES、AES等對(duì)稱加密算法,但由于對(duì)稱加密本身要求密文分布足夠隨機(jī),無(wú)法對(duì)于密文再做一定的同態(tài)操作,故數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行查詢時(shí)仍然需要解密再做明文查詢,這在一定程度上降低了隱私保護(hù)的強(qiáng)度。近年來(lái),應(yīng)用同態(tài)加密的技術(shù)手段被以增加數(shù)據(jù)庫(kù)服務(wù)器直接對(duì)密文進(jìn)行操作的能力的技術(shù)手段開(kāi)始使用,有效提升隱私保護(hù)的強(qiáng)度。但是由于密碼算法本身的特點(diǎn),現(xiàn)有的數(shù)據(jù)庫(kù)同態(tài)加密隱私保護(hù)方案幾乎都是對(duì)數(shù)值類型的數(shù)據(jù)有較為完整的解決方案,例如數(shù)值加法、減法、乘法等等。無(wú)法適用于字符型的數(shù)據(jù)和操作類型占比更重的字符型數(shù)據(jù)庫(kù)。
[0004]為了支持對(duì)數(shù)據(jù)庫(kù)的隱私字段字符串?dāng)?shù)據(jù)進(jìn)行大部分標(biāo)準(zhǔn)的SQL字符串操作,提出一種數(shù)據(jù)庫(kù)SQL字符串操作隱私保護(hù)方法及系統(tǒng)。
技術(shù)實(shí)現(xiàn)思路
[0005]本專利技術(shù)實(shí)施例提出一種數(shù)據(jù)庫(kù)SQL字符串操作隱私保護(hù)方法及系統(tǒng),以至少解決相關(guān)技術(shù)中不能支持對(duì)數(shù)據(jù)庫(kù)的隱私字段字符串?dāng)?shù)據(jù)進(jìn)行大部分標(biāo)準(zhǔn)的SQL字符串操作的問(wèn)題。
[0006]根據(jù)本專利技術(shù)的一個(gè)實(shí)施例,提出一種數(shù)據(jù)庫(kù)SQL字符串操作隱私保護(hù) ...
【技術(shù)保護(hù)點(diǎn)】
【技術(shù)特征摘要】
1.一種數(shù)據(jù)庫(kù)SQL字符串操作隱私保護(hù)方法,其特征在于,包括:對(duì)數(shù)據(jù)庫(kù)隱私字段的字符串?dāng)?shù)據(jù)執(zhí)行同態(tài)加密;根據(jù)隱私字段字符串信息和同態(tài)加密信息計(jì)算輔助信息;根據(jù)加密后的數(shù)據(jù)和輔助信息構(gòu)建密文數(shù)據(jù)表;識(shí)別涉及隱私字段的字符串操作類型;根據(jù)字符串操作類型使用數(shù)乘同態(tài)和/或加法同態(tài)和/或減法同態(tài)計(jì)算隱私字段字符串操作后的密文結(jié)果;根據(jù)隱私字段字符串操作后的密文結(jié)果和非隱私字段的查詢結(jié)果得到用戶的最終查詢結(jié)果。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫(kù)SQL字符串操作隱私保護(hù)方法,其特征在于,所述對(duì)數(shù)據(jù)庫(kù)隱私字段的字符串?dāng)?shù)據(jù)執(zhí)行同態(tài)加密,包括步驟:生成數(shù)據(jù)庫(kù)中所需的明文二維表Table_P;設(shè)Table_P表共有m條數(shù)據(jù)與n個(gè)字段;用戶指定其中的t個(gè)字段為隱私字段,分別為PF1,
…
,PFt;選取隨機(jī)的1024
?
bit的素?cái)?shù)p和q,計(jì)算模數(shù)N=p
·
q;令g=N+1,λ=(p
?
1)
·
(q
?
1),計(jì)算μ=λ
?1mod N;計(jì)算所持Paillier公鑰為pk=(N,g),私鑰為sk=(λ,μ);令i=1,2,
…
,t,j=1,2,
…
,m,使用Paillier公鑰pk同態(tài)加密所有隱私字段的字符串?dāng)?shù)據(jù)PF
i
_Data
j
,即在(0,N)中選取隨機(jī)數(shù)r,滿足r與N互素,計(jì)算密文PF
i
_Data
j
_C=(g^Int(PF
i
_Data
j
))
·
(r^N)mod N2,其中Int(PF
i
_Data
j
)表示字符串?dāng)?shù)據(jù)PF
i
_Data
j
在ASCII編碼下轉(zhuǎn)為的對(duì)應(yīng)的大整數(shù)。3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)庫(kù)SQL字符串操作隱私保護(hù)方法,其特征在于,所述根據(jù)隱私字段字符串信息和同態(tài)加密信息計(jì)算輔助信息,包括步驟:使用Paillier公鑰pk加密PF
i
_Data
j
的每個(gè)單字符;計(jì)算字符串?dāng)?shù)據(jù)PF
i
_Data
j
的字符串長(zhǎng)度,記為l;在(0,N)中選取l個(gè)不同的隨機(jī)數(shù)r1,r2,
…
,r
l
,滿足r1,r2,
…
,r
l
均與N互素,對(duì)于k=1,2,
…
,l,計(jì)算PF
i
_Data
j
的每個(gè)單字符的密文PF
i
_Data
j
_s
k
_C=(g^Int(PF
i
_Data
j
_s
k
))*(r
k
^N)mod N2;將每個(gè)單字符的密文PF
i
_Data
j
_s
k
_C和字符串長(zhǎng)度l拼合成列表PF
i
_Data
j
_Aux作為輔助信息。4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)庫(kù)SQL字符串操作隱私保護(hù)方法,其特征在于,所述根據(jù)加密后的數(shù)據(jù)和輔助信息構(gòu)建密文數(shù)據(jù)表,包括步驟:在明文數(shù)據(jù)表Table_P中,用密文數(shù)據(jù)PF
i
_Data
j
_C代替明文數(shù)據(jù)PF
i
_Data
j
;新增t個(gè)字段,其中第i字段的第j行儲(chǔ)存字符串PF
i
_Data
j
的輔助信息PF
i
_Data
j
_Aux,組成密文數(shù)據(jù)表Table_C;上傳密文數(shù)據(jù)表Table_C至數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行儲(chǔ)存。5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)庫(kù)SQL字符串操作隱私保護(hù)方法,其特征在于,所述識(shí)別涉及隱私字段的字符串操作類型,包括步驟:用戶提交涉及隱私字段的字符串操作SQL語(yǔ)句,記為SQL_State;數(shù)據(jù)庫(kù)服務(wù)器DBS分析語(yǔ)句SQL_State,確定隱私字段的字符串操作類型;所述字符串
操作類型包括CONCAT(PF1,PF2)連接操作、SUBSTR(PF,start,len)取子串操作、POSITION(str in PF)返回位置操作、TRIM(char from PF)刪除字符操作、UPPER(PF)轉(zhuǎn)大寫操作、LOWER(PF)轉(zhuǎn)小寫操作、INITCAP(PF)首字母轉(zhuǎn)大寫操作。6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)庫(kù)SQL字符串操作隱私保護(hù)方法,其特征在于,所述根據(jù)字符串操作類型使用數(shù)乘同態(tài)和/或加法同態(tài)和/或減法同態(tài)計(jì)算隱私字段字符串操作后的密文結(jié)果,包括步驟:識(shí)別字符串操作類型所對(duì)應(yīng)的整數(shù)操作;利用輔助信息將整數(shù)操作轉(zhuǎn)化為同態(tài)操作并以此計(jì)算隱私字段字符串操作后的密文結(jié)果。7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫(kù)SQL字符串操作隱私保護(hù)方法,其特征在于,所述識(shí)別字符串操作類型所對(duì)應(yīng)的整數(shù)操作,包括:所述CONCAT(PF1,PF2)連接操作是連接隱私字段PF1和PF2的對(duì)應(yīng)字符串,其整數(shù)操作:Comp=Int(PF1)*256^Len(PF2)+Int(PF2);所述SUBSTR(PF,start,len)取子串操作是截取隱私字段PF字符串從start開(kāi)始,長(zhǎng)度為len的子串的對(duì)應(yīng)字符串,其整數(shù)操作:Comp=Int(s
start+len
?1)*256^0+
…
+Int(s
start
)*256^(len
?
1),其中s
i
指的是隱私字段PF字符串中的第i個(gè)字符;所述POSITION(...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:胡耿然,劉博,徐龍華,袁國(guó)平,嚴(yán)軍榮,莫凡,
申請(qǐng)(專利權(quán))人:杭州安恒信息技術(shù)股份有限公司,
類型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。