胡前偉,李子臣,閆璽璽
1.北京印刷學(xué)院 信息工程學(xué)院,北京 102600
2.河南理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,河南 焦作 454003
等級訪問控制下密文數(shù)據(jù)庫密鑰管理方案研究*
胡前偉1,2+,李子臣1,閆璽璽2
1.北京印刷學(xué)院 信息工程學(xué)院,北京 102600
2.河南理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,河南 焦作 454003
HU Qianwei,LI Zichen,YAN Xixi.Research on key management scheme for hierarchical access control in database.Journal of Frontiers of Computer Science and Technology,2017,11(6):921-931.
針對等級體制下用戶權(quán)限管理和訪問密文數(shù)據(jù)庫的問題,提出了基于橢圓曲線密碼體制的密鑰管理方案。該方案中每個用戶都可以獨立選擇自己的用戶密鑰,并安全傳送給可信中心,可信中心在收集完密鑰參數(shù)之后使用橢圓曲線密碼體制計算出具有偏序關(guān)系的用戶關(guān)系參數(shù)。高級別用戶利用關(guān)系參數(shù)和用戶密鑰便可以安全有效地推導(dǎo)出低級別用戶的密鑰信息,然后利用密鑰信息解密低級別用戶的密文數(shù)據(jù)庫。方案中還考慮了偏序關(guān)系變化后密文數(shù)據(jù)庫的更新方法。實驗表明,安全等級的密鑰推導(dǎo)和訪問數(shù)據(jù)庫具有較高的效率和安全性。
密文數(shù)據(jù)庫;密鑰管理;橢圓曲線密碼體制;偏序關(guān)系;用戶分級
近年來數(shù)據(jù)庫安全技術(shù)迅速發(fā)展,數(shù)據(jù)庫加密技術(shù)就是其中眾人認可的一項安全技術(shù)。加密之后的數(shù)據(jù)足以抵擋入侵者的大部分攻擊和破壞,安全可行的密鑰管理方案可以提高整個系統(tǒng)的效率和安全性。合理可靠、安全穩(wěn)定的數(shù)據(jù)庫加密技術(shù)是眾多學(xué)者的研究方向,并且具有一定的深度和廣度,不僅要考慮數(shù)據(jù)庫加密層次、加密算法的選擇、加密粒度的選擇和密鑰管理方案的構(gòu)思等問題,還要考慮同態(tài)技術(shù)、數(shù)字水印、格、量子力學(xué)等技術(shù)是否能與之結(jié)合來滿足人們對數(shù)據(jù)庫不同方面的需求。等級體制下數(shù)據(jù)庫加密技術(shù)就是其中一種,而等級體制是將用戶按照安全等級分成不同的等級組,高級別用戶可推導(dǎo)出低級別用戶的密鑰信息,反之則不成立。在等級這個環(huán)境下構(gòu)造和實施數(shù)據(jù)庫加密技術(shù),可以應(yīng)用在企業(yè)部門、軍事部門和政府機關(guān)等各類組織機構(gòu)中提升數(shù)據(jù)的安全性和可靠性。
在等級訪問控制下,要對每個用戶分配等級屬性密鑰,也就需要管理這些密鑰,而密文數(shù)據(jù)庫中同樣需要管理密鑰,那么在等級訪問控制條件下實施數(shù)據(jù)庫加密技術(shù)就要考慮如下幾個問題:
(1)如何構(gòu)造等級用戶之間安全高效的密鑰管理方案;
(2)如何實施數(shù)據(jù)庫加密技術(shù),如何解決各類密鑰在生命周期內(nèi)的生成、分配、更換和注銷等問題;
(3)等級用戶訪問密文數(shù)據(jù)庫,如何解決等級訪問控制下數(shù)據(jù)庫密鑰管理方案的安全性、高效性、完整性等問題。
考慮到上述問題,本文結(jié)合等級系統(tǒng)和密文數(shù)據(jù)庫,提出了基于橢圓曲線的密文數(shù)據(jù)庫密鑰管理方案。本文方案使用橢圓曲線密碼體制構(gòu)造輔助參數(shù),高級別用戶可以安全有效地推導(dǎo)出低級別用戶的密鑰信息,然后利用密鑰信息解密低級別用戶的密文數(shù)據(jù)庫,得到明文數(shù)據(jù)。等級密鑰管理方案與密文數(shù)據(jù)庫密鑰管理方案有機結(jié)合,可有效解決等級體制下用戶權(quán)限管理和訪問密文數(shù)據(jù)庫的問題。
(1)等級訪問控制下的密鑰管理
早在1983年,Akl等人[1]考慮到等級系統(tǒng)下密鑰管理問題,高級別用戶可以推導(dǎo)出低級別用戶的密鑰信息,反之不可行,而這種思想一直貫穿于后來眾多研究當(dāng)中。Lin在文獻[2]中提出了基于動態(tài)密鑰管理的訪問控制方案,該方案中的密鑰推導(dǎo)基于求解離散對數(shù)問題。后來的等級密鑰管理方案有基于中國剩余定理(Chinese remainder theorem,CRT)[3]、基于單向散列函數(shù)(one-way Hash function)[4]等。如Zych等人[5]提出的強制訪問控制下密鑰管理方案,每個用戶存儲一個Key值,可以有效計算出所請求訪問數(shù)據(jù)的密鑰,方案中密鑰推導(dǎo)基于Diffie-Hellman。又如Zhang等人[6]提出了等級密鑰管理方案中基于大素數(shù)因式分解困難性問題,在管理秘密密鑰時使用了中國剩余定理和單向散列函數(shù),減少了公共參數(shù)的存儲空間。近年來的研究中,針對線性等級訪問控制(linear hierarchical access control),Odelu等人[7]提出的動態(tài)密鑰管理方案中,主要使用對稱加密算法AES(advanced encryption standard)來解決動態(tài)等級訪問控制問題,方案中減少了安全等級的密鑰存儲開銷。而Basu等人[8]提出的等級訪問控制下的動態(tài)密鑰管理方案是改進了Wu等人[9]的密鑰管理方案,使用橢圓曲線(elliptic curve cryptosystem,ECC)、AES和HASH的混合加密方案,減少了Wu方案中多余的計算。在Hwang-Yang[10]方案的基礎(chǔ)上張建民等人[11]提出了一個新的基于等級系統(tǒng)的訪問控制方案,該方案不僅利用中國剩余定理解決了Hwang-Yang方案中的安全問題,而且所需的存儲空間更少,密鑰的生成和導(dǎo)出效率更高。在文獻[12]中,孫佳思提出了一種新的基于ECC算法的等級密鑰管理方案,該方案解決了在多項式時間內(nèi)敵手利用求根算法進行攻擊的安全漏洞問題。
(2)密文數(shù)據(jù)庫下的密鑰管理
密文數(shù)據(jù)庫及密鑰管理在這些年一直是被研究的熱點,如Mahajan[13]和Shmueli等人[14]提出的數(shù)據(jù)庫安全加密技術(shù)中都使用數(shù)據(jù)庫Cache技術(shù)。前者的方案注重數(shù)據(jù)加解密效率,卻忽略了系統(tǒng)安全性的提高。后者兼顧了性能和安全性,在數(shù)據(jù)庫管理系統(tǒng)(database management software,DBMS)中的數(shù)據(jù)庫Cache里設(shè)置一個加密模塊,其選擇的加密粒度是數(shù)據(jù)項,在加密數(shù)據(jù)時連同數(shù)據(jù)項的坐標也要加密。而Zhou等人[15]提出的數(shù)據(jù)庫加密技術(shù)方案同樣兼顧安全性和效率,在加密數(shù)據(jù)的同時生成B+樹索引,并使用Kerberos協(xié)議保護索引的安全,考慮了系統(tǒng)的完整性。在Sarfraz等人[16]提出的針對密文數(shù)據(jù)庫細粒度的訪問控制方案中使用了屬性集訪問控制(attribute based access control,ABAC)模型,在密鑰管理上使用了AB-GKM(broadcast group key management)方案和OCBE(oblivious commitment based envelope)協(xié)議,提高了訪問數(shù)據(jù)的靈活性。針對密文數(shù)據(jù)庫中密鑰管理問題,Sun等人[17]提出的基于中國剩余定理的密鑰管理方案中使用身份認證機制提高了用戶、DBA(database administrator)和數(shù)據(jù)Creators之間的安全度和信任度。文獻[18]中戴一奇等人提出了密鑰轉(zhuǎn)換表方案,使用兩級轉(zhuǎn)換表的方式實現(xiàn)對數(shù)據(jù)的解密,但是該方案可靠性不理想。文獻[19]中肖飛等人提出了基于密文角色的密鑰管理方案,使用角色方便對用戶權(quán)限的管理,但是該方法忽略了一個角色對應(yīng)多個數(shù)據(jù)項問題,解密時需要多次操作,不可避免地影響了效率。
無論是等級訪問控制下的密鑰管理,還是密文數(shù)據(jù)庫下的密鑰管理,都要考慮方案的統(tǒng)一性、全面性,要兼顧系統(tǒng)的性能和安全。
3.1 形式化定義
密鑰管理方案中,可以使用一些基本模型來描述密文數(shù)據(jù)庫及用戶。數(shù)據(jù)庫就是一個集合D= {d1,d2,…,dn},di表示安全性要求相同且可用同一數(shù)據(jù)密鑰加密的一類數(shù)據(jù),它可以是表、記錄、字段、數(shù)據(jù)項的一種。對應(yīng)的密鑰集KD={kd1,kd2,…,kdn},它有加解密算法(E,D),密文數(shù)據(jù)庫C={c1,c2,…,cn},其中ci=E(kdi,di),i∈[1,n]。
在密文數(shù)據(jù)庫中,各個用戶實體之間都有安全等級,假設(shè)用戶實體集合為U={u1,u2,…,un},那么用戶ui和uj之間存在等級關(guān)系,這種關(guān)系可以用偏序進行描述。
定義1設(shè)L?U×U且U≠?,如果L具有自反性、反對稱性和傳遞性,則稱L是U上的偏序關(guān)系,將這種偏序關(guān)系記為≤,若x與y存在偏序關(guān)系,則記為x≤y。
定義2在一個有序二元組
定義3在有向無環(huán)圖
根據(jù)有向無環(huán)圖的特點,假設(shè)節(jié)點代表用戶實體,有向邊代表用戶實體之間的偏序關(guān)系,那么有向邊連接的是父節(jié)點和子節(jié)點,比如ui≤uj,uj是父節(jié)點,而ui是子節(jié)點,也就意味著uj的等級權(quán)限高于ui的等級權(quán)限,那么uj可以訪問到更多的資源。在密文數(shù)據(jù)庫中,每個等級用戶都會使用自己的密鑰加密數(shù)據(jù)庫中的數(shù)據(jù),等級高的用戶也就有權(quán)限解密或者查看等級低的用戶的數(shù)據(jù)。如果用戶ui的密鑰為ski,而用戶uj的密鑰為skj,且ui≤uj,那么密鑰skj可以推導(dǎo)出ski,反之一定不成立。
3.2 密鑰構(gòu)造
在密文數(shù)據(jù)庫的密鑰管理方案中,首先每個用戶uj可以自主選擇用戶密鑰ukj。將ukj安全地傳送給可信中心TC(trusted center),在收集完密鑰參數(shù)之后計算出具有偏序關(guān)系的用戶的關(guān)系參數(shù),具體步驟如下。
步驟1可信中心TC在GF(p)中選擇橢圓曲線Ep(a,b)和基點G,p是大素數(shù),n為點G的階,并公布Ep(a,b)、G和n。
步驟2uj選取[1,n-1]之間的隨機參數(shù)rj,并計算Ψj=rj?G,H(ukj||rj)=Θj,H表示hash函數(shù),最后公布參數(shù)Ψj和Θj。
步驟3TC為該用戶選取隨機整數(shù)dj,dj∈[1,n-1],計算Ζj=dj?G,skj=H(Zj||Θj),skj是用戶訪問數(shù)據(jù)庫時需要的密鑰,也是等級用戶之間推導(dǎo)的密鑰,下面使用SK表示,將skj秘密傳送給數(shù)據(jù)庫服務(wù)器。
步驟4對于所有的等級用戶ui只要滿足ui≤uj,1≤i≤n,TC就計算Cji=di?Ψj,將Cji作為關(guān)系參數(shù),如圖1所示。TC創(chuàng)建三元組
Fig.1 Key management scheme圖1 密鑰管理方案
3.3 密鑰推導(dǎo)
等級高的用戶uj才可以有權(quán)限推導(dǎo)出低等級用戶ui的用戶密鑰信息,例如ui≤uj,密鑰構(gòu)造過程中會產(chǎn)生關(guān)系參數(shù)Cji,用戶uj利用該參數(shù)計算出ui的密鑰信息ski,步驟如下所示。
步驟1uj希望獲得與ui的關(guān)系參數(shù),向可信中心TC發(fā)送查詢請求,TC通過三元組
步驟2uj得到Cji,然后計算di?G=Zi,就可以得到ski=H(Zi||Θi),用戶uj得到ui的密鑰ski便可以訪問用戶ui的密文數(shù)據(jù)庫。
在用戶實體和等級權(quán)限構(gòu)成的有向無環(huán)圖中,TC為所有的具有偏序關(guān)系的兩個等級用戶構(gòu)造關(guān)系參數(shù),高級別用戶便可以推導(dǎo)出低級別用戶的密鑰信息。
3.4 訪問密文數(shù)據(jù)庫
當(dāng)高級別用戶獲取到低級別用戶的密鑰信息后,就可以訪問密文數(shù)據(jù)庫。目前針對密文數(shù)據(jù)庫的密鑰管理方案中以多級密鑰管理為主,本文訪問密文數(shù)據(jù)庫的過程中涉及到兩種密鑰:系統(tǒng)主密鑰和工作密鑰。其中,工作密鑰就是對數(shù)據(jù)庫中的數(shù)據(jù)進行加解密的密鑰,它可以是表密鑰、字段密鑰、行密鑰和數(shù)據(jù)項密鑰,本方案中是對數(shù)據(jù)項進行加密,那么工作密鑰也就是數(shù)據(jù)項密鑰;而系統(tǒng)主密鑰就是用來保護工作密鑰的。在密鑰構(gòu)造和密鑰推導(dǎo)過程中,使用到的僅僅是用戶密鑰,有了用戶密鑰,就可以解密出系統(tǒng)主密鑰,接著解密出數(shù)據(jù)項密鑰,用數(shù)據(jù)項密鑰解密密文,便可以看到明文數(shù)據(jù)。如圖2所示。
圖2中,u1與u2表示等級用戶,它們的用戶密鑰分別是uk1和uk2,Kmaster_1、Kmaster_2表示系統(tǒng)主密鑰,Kwork_1、Kwork_2表示工作密鑰,D1、D2表示密文數(shù)據(jù)。TD是可信中心,C12是u1、u2的關(guān)系參數(shù)。過程(Ⅰ)表示用戶u1訪問自己的密文數(shù)據(jù)庫的過程,過程(Ⅱ)表示u1訪問u2的密文數(shù)據(jù)庫的過程。這兩個過程的具體步驟如下。
Fig.2 Accessing encrypted database圖2 訪問密文數(shù)據(jù)庫
步驟1每個等級用戶都有自己的密文數(shù)據(jù)庫,都可以加解密數(shù)據(jù)。如圖2,在密鑰構(gòu)造階段會產(chǎn)生密鑰sk1發(fā)送DBMS,在加密完數(shù)據(jù)庫后,使用密鑰sk1加密系統(tǒng)主密鑰,并且加密后的系統(tǒng)主密鑰由單獨的硬件安全模塊(hardware security module,HSM)存儲[20]保護。
其中,Z1=d1?G,Θ1=H(uk1||r1),d1和r1分別是用戶和TC選擇的,且d1,r1∈[1,n-1]。
那么當(dāng)用戶訪問密文數(shù)據(jù)庫時,需要解密出系統(tǒng)主密鑰。
步驟2系統(tǒng)主密鑰保護數(shù)據(jù)項密鑰,有了系統(tǒng)主密鑰就可以解密出數(shù)據(jù)項密鑰。本方案中數(shù)據(jù)項密鑰是以表的形式存放到數(shù)據(jù)庫中的,表結(jié)構(gòu)比較簡單,如表1所示。
Table 1 Data item key table表1 數(shù)據(jù)項密鑰表
在數(shù)據(jù)庫當(dāng)中由系統(tǒng)主密鑰加密上述的數(shù)據(jù)項密鑰表,考慮到加解密的效率,精簡了數(shù)據(jù)項密鑰表,提高了密文數(shù)據(jù)庫的效率。其中,d_ID是數(shù)據(jù)項標志;d_K是數(shù)據(jù)項密鑰,是在數(shù)據(jù)加密時生成的;ξ表示加密數(shù)據(jù)項的個數(shù)。數(shù)據(jù)庫中每張數(shù)據(jù)表都有表密鑰T_K,并且數(shù)據(jù)庫中每個記錄都有行參數(shù)Ri(i∈[1,n]),每個屬性都有列參數(shù)Fj(j∈[1,m])。當(dāng)用戶選擇要加密的數(shù)據(jù)項dij時,可以判定數(shù)據(jù)所在的行及列,找出行參數(shù)Ri和列參數(shù)Fj,然后可計算d_ID_τ=f1(Ri,Fj),d_K_τ=f2(T_K,Ri,Fj),τ∈[1,ξ],f1和f2分別為生成數(shù)據(jù)項標志函數(shù)、生成數(shù)據(jù)項密鑰函數(shù)。將d_ID_τ和d_K_τ存入數(shù)據(jù)項密鑰表中,當(dāng)用戶加密完數(shù)據(jù)后,由系統(tǒng)主密鑰Kmaster加密整張數(shù)據(jù)項密鑰表。解密時,需要用系統(tǒng)主密鑰解密數(shù)據(jù)項表,然后選擇要解密的數(shù)據(jù)項。因為數(shù)據(jù)庫的數(shù)據(jù)項是有序加密的,所以同樣可以獲取到行參數(shù)Ri和列參數(shù)Fj,計算d_ID_τ=f1(Ri,Fj),在數(shù)據(jù)項密鑰表中查詢出對應(yīng)的數(shù)據(jù)項密鑰,解密該數(shù)據(jù)項。
當(dāng)上級用戶要訪問下級用戶的密文數(shù)據(jù)庫時,也即要完成圖2中過程(Ⅱ),首先需要推導(dǎo)出下級用戶的SK密鑰,然后按照上述的步驟訪問數(shù)據(jù)庫即可。
3.5 動態(tài)管理
在實際當(dāng)中,用戶實體是處于變動的,會出現(xiàn)用戶修改密鑰,增加等級關(guān)系,刪除等級關(guān)系和增加新的等級用戶的問題,這些用戶實體及等級的變化都會對密文數(shù)據(jù)庫產(chǎn)生相應(yīng)的影響。下面將具體研究這4種情況下密文數(shù)據(jù)庫的密鑰管理問題。
(1)修改用戶密鑰
當(dāng)用戶uj將用戶密鑰ukj修改為ukj′時,需要將新密鑰重新發(fā)送給可信中心TC,若ui是其后驅(qū)節(jié)點,則計算過程為:
步驟1uj重新選擇隨機參數(shù)rj′∈[1,n-1],計算重新發(fā)布
步驟2TD重新選取隨機整數(shù)dj′,dj′∈[1,n-1],計算將作為關(guān)系參數(shù),并將重新發(fā)送給數(shù)據(jù)庫服務(wù)器。
由于系統(tǒng)主密鑰被SK密鑰skj加密保護,用戶密鑰更改后,則需要先用SK密鑰解密系統(tǒng)主密鑰,再將新用戶密鑰加密系統(tǒng)主密鑰
(2)增加等級關(guān)系
如圖1所示,如果用戶u1與用戶u5之間存在偏序關(guān)系,也即u5成為u1的后驅(qū)節(jié)點,那么可信中心TC只需要計算C15=d5?Ψ1,d5是TC為用戶u5選取的隨機整數(shù),Ψ1是用戶u1公布的參數(shù)。此時,用戶u1和用戶u5的密文數(shù)據(jù)庫不做任何變化。如果用戶實體之間的等級關(guān)系被刪除,則可信中心TC直接刪除它們之間的關(guān)系參數(shù)即可,密文數(shù)據(jù)庫也不做任何變化。
(3)增加新的等級用戶
當(dāng)要增加新的等級用戶時,則需要判斷增加的等級用戶的前驅(qū)節(jié)點和后驅(qū)節(jié)點,也即判斷新增用戶與哪些用戶有從屬關(guān)系,有了從屬關(guān)系,便要計算兩者之間的關(guān)系參數(shù),密文數(shù)據(jù)庫不做任何變化。
(4)刪除等級用戶
如圖3所示,用戶u3被刪除后,與其關(guān)聯(lián)的所有等級關(guān)系都被刪除,且用戶u3的密文數(shù)據(jù)庫也要做相應(yīng)的操作,具體處理步驟為:
Fig.3 Deleting hierarchy user圖3 刪除等級用戶
步驟1用u3的SK密鑰sk3解密其密文數(shù)據(jù)庫中的系統(tǒng)主密鑰,再用其上級用戶u1的SK密鑰sk3加密該系統(tǒng)主密鑰,此時,u3的密文數(shù)據(jù)庫完全由u1管理。
步驟2判斷被刪除等級用戶是否有后驅(qū)節(jié)點,若沒有,則結(jié)束,若有,如圖3所示的情況,則將這些等級用戶與上級用戶建立等級關(guān)系,在u1和u6及u1和u7之間分別建立等級關(guān)系,并由TC構(gòu)造關(guān)系參數(shù)C16、C17。
本文提出的密鑰管理方案兼顧了等級訪問控制和密文數(shù)據(jù)庫特征,解決了密文數(shù)據(jù)庫中等級用戶之間的權(quán)限管理和動態(tài)訪問密文數(shù)據(jù)庫的問題。下面將從安全和性能兩方面來分析本文的方案。
4.1 安全性分析
(1)反向攻擊
橢圓曲線密碼體制的安全性,依賴于橢圓曲線離散問題的難解性。反向攻擊也就是低級別用戶ui想推導(dǎo)出高級別用戶uj的密鑰信息skj,那么也就需要解決橢圓曲線離散對數(shù)問題(elliptic curve discrete logarithm problem,ECDLP),證明過程如下:
Ep(a,b),G,n?可以計算出2p,3p,…,np,且有np=ο。橢圓曲線離散對數(shù)問題描述了給定一個橢圓曲線E,考慮本原元P和另一個元素T。則DL問題是找到整數(shù)d(1≤d≤n),滿足:
假設(shè)可以求出skj。其中skj=H(Zj||Θj),Θj是公開參數(shù),相當(dāng)于可以求解出Zj,而Zj=dj?G,G是公開參數(shù),那么相當(dāng)于可以求解出dj,這與橢圓曲線離散對數(shù)問題相矛盾,故ui推導(dǎo)不出skj。
(2)內(nèi)部收集攻擊
假設(shè)存在一個低級別用戶ui有m個父節(jié)點uj,uj+1,…,uj+m-1,并收集了關(guān)系參數(shù)Cji,C(j+1)i,…,C(j+m-1)i,攻擊者試圖推導(dǎo)出其中一個父節(jié)點的用戶密鑰skε,ε∈[j,j+m-1],內(nèi)部收集攻擊可以轉(zhuǎn)換為求解下列方程組的過程。求證過程如下:
①在(1)中可知Zj=di?Gdi
由①可知,在方程組②中,?ε,ε∈[j,j+m-1],Cεi=di?Ψε=di?rε?Grε。
由③和④可知用戶推導(dǎo)不出任何一個上級的密鑰信息,因此這種攻擊沒有效果。
(3)外部收集攻擊
類似第二種攻擊,在圖4中如果外部敵手收集到幾個關(guān)系參數(shù)C25、C36、C37。因為不知道上級用戶u2、u3的用戶密鑰及秘密參數(shù),所以不可能計算出下級用戶u5、u6、u7的密鑰信息。分析如下:
Fig.4 Exterior collecting attacks圖4 外部收集攻擊
分析關(guān)系參數(shù)C25可知C25=d5?Ψ2,sk5=H(Z5||Θ5),攻擊者需要求解它們。
①在密鑰構(gòu)造過程中TC秘密計算出Z5
由①、②、③可知用戶計算不出sk5,那么同理可知攻擊者也不可能計算出u6和u7的密鑰信息。
(4)同謀攻擊和兄弟攻擊
如圖4所示,u3有兩個低級別用戶u6、u7,現(xiàn)在這兩個用戶一起攻擊u3,攻擊過程會遇到橢圓曲線離散對數(shù)問題。求證過程如下:
①在(1)中可知Zj=di?Gdi
由①和②可知:
首先攻擊者不知道uk3,其次由③和④可知攻擊者計算不出sk3。如果圖4中u6攻擊同級別的u7,獲取其密鑰信息,便構(gòu)成兄弟攻擊。他不僅需要反向攻擊上級用戶u3,還要竊取關(guān)系參數(shù)C37,而反向攻擊很難實施,因此兄弟攻擊無效。
(5)唯密文攻擊和密文統(tǒng)計攻擊
攻擊者試圖從數(shù)據(jù)庫中相同的密文以及明文統(tǒng)計信息來破解其中的明文。本方案中對不同數(shù)據(jù)使用不同的密鑰,那么加密后結(jié)果就不會相同,即使相同的數(shù)據(jù)在用不同密鑰加密后,密文數(shù)據(jù)仍不一樣,密文統(tǒng)計攻擊在密文數(shù)據(jù)庫中是不會成功的。分析過程如下:
在密文數(shù)據(jù)庫加密過程中,使用密鑰生成函數(shù)來生成工作密鑰,d_k=ET_K(Ri)⊕ET_K(Fj),E是分塊加密算法。在n行m列的數(shù)據(jù)庫表中,行和列的參數(shù)有如下規(guī)則:
4.2 性能分析
可信中心TD生成關(guān)系參數(shù),等級用戶進行密鑰推導(dǎo)都需要一定的計算開銷和存儲開銷。下面主要針對等級系統(tǒng)中的時間開銷及存儲開銷和密文數(shù)據(jù)加解密效率進行測試,并與其他幾個方案進行對比分析,得到如下結(jié)果。
Basu方案[8]、Morteza方案[21]和孫方案[17]提出的等級系統(tǒng)中的密鑰管理方案都使用了橢圓曲線密碼,但是這些方案中用戶都不能自主選取用戶密鑰,需要可信第三方生成,并且Basu方案中將AES加密方法用于等級用戶之間密鑰的推導(dǎo),略比Morteza方案復(fù)雜。而本方案中用戶可以自主選取用戶密鑰,也是實現(xiàn)動態(tài)密鑰管理。表2列舉了性能分析所需要的符號定義,并且每種操作所需要的時間可以轉(zhuǎn)換為相應(yīng)TMUL時間[8,21],如表3所示。
本文方案基于橢圓曲線密碼體制,在密鑰構(gòu)造階段有3次ECC乘法和2次哈希運算,故需要的時間為在密鑰推導(dǎo)過程中有1次求模運算、1次ECC乘法運算和1次哈希運算,所需時間為Morteza方案[21]的密鑰構(gòu)造過程中有3次ECC乘法和1次哈希運算,所需時間為(2TECC_MUL+THASH)+(vi+1)TECC_MUL=[2 400.36+1 200(vi+1)]TMUL,而密鑰推導(dǎo)過程所需時間同本方案一樣。同樣可計算出Basu方案[8]和孫方案[17]的密鑰構(gòu)造和密鑰推導(dǎo)過程的時間花銷。
Table 2 Symbol definition of performance comparison表2 性能比較的符號定義
Table 3 Operation time conversion表3 操作時間轉(zhuǎn)換
在這兩個過程中都需要存儲相關(guān)的數(shù)據(jù),會占用一定的空間。在橢圓曲線密碼體制中,為保證密碼的安全性,參數(shù)的選取大小一般大于或等于163 bit。Basu方案[8]中,可信中心TC需要存儲的有私鑰dTC及公共區(qū)域中的參數(shù),而私鑰大小是163 bit,公共區(qū)域中有公鑰Qi和公共參數(shù)mij,存儲空間為Morteza方案[21]對認證中心CA沒有要保密的參數(shù),公共區(qū)域內(nèi),僅僅需要存儲個公共參數(shù),因此需要2n×163的空間。而本文方案中不僅需要存儲個參數(shù),還需要存儲128bit的哈希參數(shù)。孫方案[17]中在公共區(qū)域需要的存儲空間為(3n+4)×163,而等級用戶也僅需要163 bit的空間。
如表4、表5所示,本文方案的存儲及時間開銷都低于Basu方案[8]、孫方案[17]和Morteza方案[21],并且這兩個方案中用戶沒有自己選取用戶密鑰的權(quán)限,只能由可信第三方來生成。本文方案改進了這一缺陷,用戶不僅需要隨機選取用戶密鑰,還可以動態(tài)管理密鑰。在測試密文數(shù)據(jù)庫時,方案中使用了不同的加密算法來加密數(shù)據(jù)表中的數(shù)據(jù)項,并且不同數(shù)據(jù)項使用不同的密鑰,以保證加密后的數(shù)據(jù)不會重復(fù),避免統(tǒng)計攻擊。在測試密文數(shù)據(jù)庫中,以C#為開發(fā)環(huán)境,其中的數(shù)據(jù)項標志函數(shù)為d_ID=hash512(Ri||Fj),數(shù)據(jù)項密鑰生成函數(shù)為d_K=ET_K(Ri)⊕ET_K(Fj),E是AES加密算法。
Table 4 Time cost comparison表4 時間開銷比較
Table 5 Storage overhead comparison表5 存儲開銷比較
圖5~圖8是密文數(shù)據(jù)庫中的數(shù)據(jù)項加密和解密的時間對比圖,實驗中選取了AES、3DES和IDEA加密算法。從圖5、圖6可知,在密文數(shù)據(jù)庫中,對數(shù)據(jù)項加密時,選取不同的加密算法會直接影響數(shù)據(jù)加解密效率,針對不同大小的數(shù)據(jù)項進行加解密時,IEDA使用的時間都比較少,且加解密的時間差不大。當(dāng)選取不同數(shù)量的數(shù)據(jù)項進行加解密時,出現(xiàn)的情況如圖7、圖8所示,每種加密算法的效果基本上相差不大,IDEA和3DES的加解密效率低于AES。從這些比較中可以得知,針對單個數(shù)據(jù)項的加解密可以選擇IEDA算法,但是加解密多個數(shù)據(jù)項時這3種算法都可以使用。
4.3 實現(xiàn)比較
表6匯總了幾種方案的實現(xiàn),比較了使用技術(shù)、方案結(jié)構(gòu)、訪問類型、自定義密鑰以及是否能與密文數(shù)據(jù)庫結(jié)合。其中樹結(jié)構(gòu)是有向無環(huán)圖的特定形式,但靈活性不夠。直接訪問是高級別用戶可訪問任何低級別用戶密鑰信息,而間接訪問模式中高級別用戶只能訪問其直接后繼。自定義密鑰也就是用戶是否具有自主選擇用戶密鑰的能力,它直接影響到是否能應(yīng)用到密文數(shù)據(jù)庫中。在密文數(shù)據(jù)庫密鑰管理方案中,每個用戶只能保存、更換或刪除自己的密鑰,有了自定義密鑰的能力,也就可將等級訪問控制應(yīng)用到密文數(shù)據(jù)庫中。
Fig.5 Encryption time comparison of different sizes of data items圖5 不同大小的數(shù)據(jù)項加密時間比較
Fig.6 Decryption time comparison of different sizes of data items圖6 不同大小的數(shù)據(jù)項解密時間比較
Fig.7 Encryption time comparison of different number of data items圖7 不同數(shù)量的數(shù)據(jù)項加密時間比較
Fig.8 Decryption time comparison of different number of data items圖8 不同數(shù)量的數(shù)據(jù)項解密時間比較
Table 6 Comparison of different schemes表6 方案實現(xiàn)比較
將密文數(shù)據(jù)庫應(yīng)用到等級環(huán)境中,可以滿足等級用戶之間訪問密文數(shù)據(jù)庫的需求,特別是在企業(yè)部門、軍事部門和政府機關(guān)等各類組織機構(gòu)中,一方面它具備等級特性,另一方面它可以對數(shù)據(jù)進行加密存儲。本文方案考慮到這種特定需求,研究出基于橢圓曲線密碼體制的密鑰管理方案,等級用戶在密鑰構(gòu)造和密鑰推導(dǎo)后可以訪問密文數(shù)據(jù)庫中數(shù)據(jù)。方案分析顯示,它可以抵抗相應(yīng)的攻擊,占用較小的空間和時間開銷,密文數(shù)據(jù)庫的測試中使用不同的加密算法對數(shù)據(jù)項進行加密。下一步將考慮在等級環(huán)境中對密文數(shù)據(jù)庫的表、屬性和記錄進行加密測試,改進密鑰構(gòu)造、密鑰推導(dǎo)以及密文數(shù)據(jù)庫中的密鑰管理方案,進一步提高密鑰管理方案的效率和安全性,并應(yīng)用到實際需求當(dāng)中。
[1]Akl S G,Taylor P D.Cryptographic solution to a problem of access control in a hierarchy[J].ACM Transactions on Computer Systems,1983,1(3):239-248.
[2]Lin C H.Research:dynamic key management schemes for access control in a hierarchy[J].Computer Communications,1997,20(15):1381-1385.
[3]Xu Yanyan,Xu Zhengquan,Chen Xi.A hierarchical key management scheme using Chinese remainder theorem[J].Journal of Huazhong University of Science and Technology: Natural Science Edition,2010,38(12):65-68.
[4]Han Xinhui,Long Qin,Si Duanfeng,et al.A practical hierarchical key management scheme based on one-way Hash function[J].Acta Scientiarum Naturalium Universitatis Pekinensis,2008,44(4):527-536.
[5]Zych A,Petkovi? M,Jonker W.Efficient key management for cryptographically enforced access control[J].Computer Standards&Interfaces,2008,30(6):410-417.
[6]Zhang Jianmin,Li Jian,Liu Xiande.An efficient key management scheme for access control in a user hierarchy[C]// Proceedings of the 2009 International Conference on Information Technology and Computer Science,Kiev,Ukraine, Jul 25-26,2009.Piscataway,USA:IEEE,2009:550-553.
[7]Odelu V,Das A K,Goswami A.LHSC:an effective dynamic key management scheme for linear hierarchical access control[C]//Proceedings of the 5th International Conference on Communication Systems and Networks,Bangalore,India, Jan 7-10,2013.Piscataway,USA:IEEE,2013:1-9.
[8]Basu A,Sengupta I.Improved secure dynamic key management scheme with access control in user hierarchy[C]//Proceedings of the 2nd International Conference on Digital Information&Communication Technology&Its Applications, Bangkok,Thailand,May 16-18,2012.Piscataway,USA: IEEE,2012:220-225.
[9]Wu Shuhua,Chen Kefei.An efficient key-management scheme for hierarchical access control in E-medicine system[J].Journal of Medical Systems,2012,36(4):2325-2337.
[10]Hwang M S,Yang Weipang.Controlling access in large partially ordered hierarchies using cryptographic keys[J].The Journal of Systems and Software,2003,67(2):99-107.
[11]Zhang Jianmin,Liu Xiande,Xu Haifeng.New scheme for access control in hierarchy security systems[J].Computer Engineering andApplications,2007,43(16):156-158.
[12]Sun Jiasi.Research on key management method based on elliptic curve cryptosystem[D].Hohhot:Inner Mongolia University,2011.
[13]Mahajan S,Katti J,Walunj A,et al.Designing a databaseencryption technique for database security solution with cache[C]//Proceedings of the 2015 International Advance Computing Conference,Bangalore,India,Jun 12-13,2015. Piscataway,USA:IEEE,2015:357-360.
[14]Shmueli E,Vaisenberg R,Gudes E,et al.Implementing a database encryption solution,design and implementation issues[J].Computers&Security,2014,44(2):33-50.
[15]Zhou Xing,Liu Jun.A novel efficient database encryption scheme[C]//Proceedings of the 9th International Conference on Fuzzy Systems and Knowledge Discovery,Chongqing,China,May 29-31,2012.Piscataway,USA:IEEE, 2012:1610-1614.
[16]Sarfraz M I,Nabeel M,Cao Jianneng,et al.DBMask:finegrained access control on encrypted relational databases [C]//Proceedings of the 5th ACM Conference on Data and Application Security and Privacy,San Antonio,USA,Mar 2-4,2015.New York:ACM,2015:1-11.
[17]Sun Xiaohan.A secure scheme of key management for database encryption[M]//Advances in Technology and Management.Berlin,Heidelberg:Springer,2012:315-319.
[18]Dai Yiqi,Shang Jie,Chen Wei,et al.New key management scheme in database encryption[J].Journal of Tsinghua University:Science and Technology,1995,35(4):43-47.
[19]Xiao Fei,Huang Zhengdong,Wang Guanghua.Key management for database encryption in distributed environment [J].Computer Systems&Applications,2011,20(1):124-127.
[20]Mattsson U T.Key management for enterprise data encryption[J/OL].(2007)[2016-02-26].https://ssrn.com/abstract= 1051481.
[21]Nikooghadam M,Zakerolhosseini A,Moghaddam M E. Efficient utilization of elliptic curve cryptosystem for hierarchical access control[J].Journal of Systems&Software, 2010,83(10):1917-1929.
附中文參考文獻:
[3]徐彥彥,徐正全,陳曦.一種基于中國余數(shù)定理的等級密鑰管理方案[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2010,38 (12):65-68.
[4]韓心慧,龍勤,司端鋒,等.一個基于單向散列函數(shù)的實用等級密鑰管理方案[J].北京大學(xué)學(xué)報:自然科學(xué)版,2008, 44(4):527-536.
[11]張建民,劉賢德,徐海峰.等級安全系統(tǒng)中的一種新型訪問控制方案[J].計算機工程與應(yīng)用,2007,43(16):156-158.
[12]孫佳思.基于橢圓曲線密碼體制的密鑰管理方法研究[D].呼和浩特:內(nèi)蒙古大學(xué),2011.
[18]戴一奇,尚杰,陳衛(wèi),等.一種新的數(shù)據(jù)庫加密密鑰管理方案[J].清華大學(xué)學(xué)報:自然科學(xué)版,1995,35(4):43-47.
[19]肖飛,黃正東,王光華.數(shù)據(jù)庫中基于密文角色的密鑰管理方案[J].計算機系統(tǒng)應(yīng)用,2011,20(1):124-127.
HU Qianwei was born in 1991.He is an M.S.candidate at College of Computer Science and Technology,Henan Polytechnic University.His research interests include network information security and cryptography,etc.
胡前偉(1991—),男,河南信陽人,河南理工大學(xué)計算機學(xué)院碩士研究生,主要研究領(lǐng)域為網(wǎng)絡(luò)信息安全,密碼學(xué)等。
李子臣(1965—),男,河南溫縣人,北京郵電大學(xué)博士,北京印刷學(xué)院教授、博士生導(dǎo)師,主要研究領(lǐng)域為信息安全,電子商務(wù),密碼學(xué)等。主持或參與了國家973計劃、國家自然科學(xué)基金等項目的研究工作,發(fā)表學(xué)術(shù)論文40余篇,有20多篇被SCI、EI和ISTP檢索。
YAN Xixi was born in 1985.She received the Ph.D.degree in cryptology from Beijing University of Posts and Telecommunications in 2012.Now she is a lecturer at Henan Polytechnic University.Her research interests include networks and information security,digital rights management and digital content security,etc.She published more than 10 scientific research papers,and most of the papers are included by EI and ISTP.
閆璽璽(1985—),女,河南靈寶人,2012年于北京郵電大學(xué)獲得博士學(xué)位,現(xiàn)為河南理工大學(xué)講師,主要研究領(lǐng)域為網(wǎng)絡(luò)與信息安全,數(shù)字版權(quán)管理,數(shù)字內(nèi)容安全等。發(fā)表學(xué)術(shù)論文10多篇,多數(shù)論文被EI、ISTP收錄。
Research on Key Management Scheme for HierarchicalAccess Control in Database*
HU Qianwei1,2+,LI Zichen1,YAN Xixi2
1.College of Information Engineering,Beijing Institute of Graphic Communication,Beijing 102600,China
2.College of Computer Science and Technology,Henan Polytechnic University,Jiaozuo,Henan 454003,China
+Corresponding author:E-mail:huqianwei908@163.com
This paper presents a key management scheme based on elliptic curve cryptosystem to solve the problem of rights management among hierarchical users and access the encrypted database.In the proposed scheme,each user can independently choose own user key,and securely transfer it to trusted center.The trusted center calculates the relational parameters of the user having the partially ordered relation by using the elliptic curve cryptosystem after collecting the secret key parameters.The higher-privileged class will have the right to derive the key information created or owned by a user in a lower-privileged class,and then take advantage of it to decrypt the encrypted database which is also created by the lower-privileged class.The update method of the encrypted database is also considered after the partially ordered relation is changed.Experiments show that key generation,key derivation and access database have high efficiency and security.
was born in 1965.He
the Ph.D.degree from Beijing University of Posts and Telecommunications.Now he is a professor and Ph.D.supervisor at Beijing Institute of Graphic Communication.His research interests include information security,electronic commerce and cryptography,etc.He published more than 40 papers,and more than 20 papers are included by EI,SCI and ISTP.
A
TP393
*The National Natural Science Foundation of China under Grant Nos.61300216,61370188(國家自然科學(xué)基金);the Science and Technology Research Project of Henan Province under Grant No.132102210123(河南省科技攻關(guān)項目);the Doctoral Funds of Henan Polytechnic University under Grant No.B2013-043(河南理工大學(xué)博士基金);the Science and Technology Key Project of Beijing under Grant No.KZ20150015015(北京市自然科學(xué)基金重點項目B類);the Science and Technology Project of Beijing Municipal Education Commission under Grant Nos.KM201510015009,KM201410015006(北京市教委科技計劃項目);the Natural Science Foundation of Beijing under Grant No.4142016(北京市自然科學(xué)基金).
Received 2016-04,Accepted 2016-10.
CNKI網(wǎng)絡(luò)優(yōu)先出版:2016-10-18,http://www.cnki.net/kcms/detail/11.5602.TP.20161018.1622.002.html
Key words:encrypted database;key management;elliptic curve cryptosystem;partially ordered relation;user hierarchy