本發(fā)明屬于分布式數(shù)據(jù)庫安全技術(shù)領(lǐng)域,尤其是涉及一種分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理方法及裝置。
背景技術(shù):
分布式數(shù)據(jù)庫是指利用高速計(jì)算機(jī)網(wǎng)絡(luò)將物理上分散的多個(gè)數(shù)據(jù)存儲單元連接起來組成一個(gè)邏輯上統(tǒng)一的數(shù)據(jù)庫。分布式數(shù)據(jù)庫的基本思想是將原來集中式數(shù)據(jù)庫中的數(shù)據(jù)分散存儲到多個(gè)通過網(wǎng)絡(luò)連接的數(shù)據(jù)存儲節(jié)點(diǎn)上,以獲取更大的存儲容量和更高的并發(fā)訪問量。近年來,隨著數(shù)據(jù)量的高速增長,分布式數(shù)據(jù)庫技術(shù)也得到了快速的發(fā)展,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫開始從集中式模型向分布式架構(gòu)發(fā)展,基于關(guān)系型的分布式數(shù)據(jù)庫在保留了傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)模型和基本特征下,從集中式存儲走向分布式存儲,從集中式計(jì)算走向分布式計(jì)算。
目前,數(shù)據(jù)庫在實(shí)現(xiàn)訪問控制時(shí),都是在數(shù)據(jù)庫內(nèi)核由特定的訪問控制模塊對訪問者的權(quán)限進(jìn)行審查或者對比。該種訪問控制模型稱為自主訪問控制,這種訪問控制模型存在兩方面的不足。一是數(shù)據(jù)庫管理員有很大特權(quán),能夠?qū)?quán)限進(jìn)行更改,從而使得非法用戶能夠獲取機(jī)密信息的訪問權(quán)限。二是非法用戶能夠通過SQL注入等方式篡改權(quán)限列表,從而獲得機(jī)密信息的訪問權(quán)限,因而分布式數(shù)據(jù)庫的自主訪問控制模型無法滿足大數(shù)據(jù)環(huán)境在細(xì)粒度訪問控制和加密安全通訊方面的安全需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理方法及裝置,以解決現(xiàn)有技術(shù)中無法滿足大數(shù)據(jù)環(huán)境在細(xì)粒度訪問控制和加密安全通訊方面的安全需求的技術(shù)問題。
一方面,本發(fā)明實(shí)施例提供了一種分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理方法,包括:
在用戶修改分布式數(shù)據(jù)庫時(shí),對用戶的訪問控制權(quán)限進(jìn)行檢查;
在用戶具有訪問控制權(quán)限時(shí),獲取用戶的讀寫權(quán)限;
在所述讀寫權(quán)限通過驗(yàn)證時(shí),接收用戶寫入的數(shù)據(jù)。
進(jìn)一步的,所述接收用戶寫入的數(shù)據(jù)包括:
采用對稱算法將數(shù)據(jù)進(jìn)行加密。
進(jìn)一步的,所述采用對稱算法將數(shù)據(jù)進(jìn)行加密,包括:
通過公開途徑獲得需要配置有權(quán)限用戶的屬性加密算法和公開參數(shù),并依此構(gòu)建訪問權(quán)限結(jié)構(gòu);
通過非對稱加密算法加密對稱算法密鑰;
根據(jù)所述對稱算法加密所述數(shù)據(jù)。
更進(jìn)一步的,所述方法還包括:
用戶具有訪問權(quán)限時(shí),根據(jù)用戶輸入的用戶私鑰和可信第三方發(fā)布的公鑰、對稱密鑰密文以及訪問結(jié)構(gòu)樹計(jì)算得到對稱密鑰;
利用對稱密鑰解密所述加密數(shù)據(jù)。
另一方面,本發(fā)明實(shí)施例還提供了一種分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理裝置,包括:
檢查單元,用于在用戶修改分布式數(shù)據(jù)庫時(shí),對用戶的訪問控制權(quán)限進(jìn)行檢查;
獲取單元,用于在用戶具有訪問控制權(quán)限時(shí),獲取用戶的讀寫權(quán)限;
接收單元,用于在所述讀寫權(quán)限通過驗(yàn)證時(shí),接收用戶寫入的數(shù)據(jù)。
進(jìn)一步的,所述接收單元包括:
加密單元,用于采用對稱算法將數(shù)據(jù)進(jìn)行加密。
進(jìn)一步的,所述加密單元用于:
通過公開途徑獲得需要配置有權(quán)限用戶的屬性加密算法和公開參數(shù),并依此構(gòu)建訪問權(quán)限結(jié)構(gòu);
通過非對稱加密算法加密對稱算法密鑰;
根據(jù)所述對稱算法加密所述數(shù)據(jù)。
更進(jìn)一步的,所述裝置還包括:
計(jì)算單元,用于在用戶具有訪問權(quán)限時(shí),根據(jù)用戶輸入的用戶私鑰和可信第三方發(fā)布的公鑰、對稱密鑰密文以及訪問結(jié)構(gòu)樹計(jì)算得到對稱密鑰;
解密單元,用于利用對稱密鑰解密所述加密數(shù)據(jù)。
本發(fā)明實(shí)施例通過屬性加密技術(shù)將訪問控制和存儲加密完美結(jié)合,實(shí)現(xiàn)由數(shù)據(jù)擁有者定義訪問權(quán)限,只有具備訪問權(quán)限的用戶才能獲取密鑰,解密密文數(shù)據(jù)進(jìn)行訪問,從而避免管理員權(quán)限過大、惡意攻擊等帶來的危害。屬性加密機(jī)制可被看作廣播加密的一種變形,能夠使一個(gè)密文被滿足條件的多個(gè)不同用戶密鑰所解密,也能夠使一個(gè)用戶密鑰解密多個(gè)不同的密文。滿足大數(shù)據(jù)環(huán)境在細(xì)粒度訪問控制和加密安全通訊方面的安全需求。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例一提供的分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理方法的流程示意圖;
圖2是本發(fā)明實(shí)施例二提供的分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理方法的流程示意圖;
圖3是本發(fā)明實(shí)施例三提供的分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
圖1為本發(fā)明實(shí)施例一提供的分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理方法的流程圖,本實(shí)施例可適用于分布式數(shù)據(jù)庫系統(tǒng)中大數(shù)據(jù)環(huán)境系統(tǒng)權(quán)限管理的情況,該方法可以由分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理裝置來執(zhí)行,該裝置可由軟件/硬件方式實(shí)現(xiàn),并可集成于分布式數(shù)據(jù)庫系統(tǒng)中。
示例性的,本發(fā)明實(shí)施例中的分布式數(shù)據(jù)庫由三部分組成:第一部分為一個(gè)可信第三方服務(wù)器,用于用戶的統(tǒng)一身份屬性管理和密鑰相關(guān)的管理,包括屬性加密算法的生成、用戶私鑰的生成,基于密文的屬性加密算法,使用對稱算法加密機(jī)密數(shù)據(jù),非對稱加密算法對加密機(jī)密數(shù)據(jù)的對稱密鑰進(jìn)行加密,另外通過可信第三方配置工具來完成用戶屬性及權(quán)限的配置;第二部分為數(shù)據(jù)庫服務(wù)器,用于向用戶提供框架中的分布式數(shù)據(jù)庫服務(wù),包括存儲和訪問服務(wù)。包含的核心功能為:數(shù)據(jù)庫的DDL指定表或字段加密功能,數(shù)據(jù)庫支持屬性加密的訪問控制功能(提供了加密數(shù)據(jù)的存儲和訪問服務(wù)),數(shù)據(jù)庫支持保存加密數(shù)據(jù)和對稱密鑰的密文功能;第三部分為數(shù)據(jù)庫用戶,包括數(shù)據(jù)擁有者及訪問者應(yīng)用程序,數(shù)據(jù)擁有者使用數(shù)據(jù)庫的存儲服務(wù),以及數(shù)據(jù)訪問者使用數(shù)據(jù)庫的訪問服務(wù),數(shù)據(jù)的加解密在用戶端完成。
參見圖1,所述分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理方法,包括:
S110,在用戶修改分布式數(shù)據(jù)庫時(shí),對用戶的訪問控制權(quán)限進(jìn)行檢查。
進(jìn)行數(shù)據(jù)庫自主訪問控制的檢查,如果沒有權(quán)限直接返回。
S120,在用戶具有訪問控制權(quán)限時(shí),獲取用戶的讀寫權(quán)限。
示例性的,可以從可信第三方服務(wù)器獲得屬性集合和數(shù)據(jù)庫對象的讀寫權(quán)限,然后進(jìn)行讀寫權(quán)限的認(rèn)證,沒權(quán)限直接返回,有權(quán)限繼續(xù)
S130,在所述讀寫權(quán)限通過驗(yàn)證時(shí)通過公開途徑獲得需要配置有權(quán)限用戶的屬性加密算法和公開參數(shù),并依此構(gòu)建訪問權(quán)限結(jié)構(gòu)。
首先采用對稱算法將數(shù)據(jù)進(jìn)行加密(數(shù)據(jù)擁有者擁有對稱加密算法的密鑰),形成機(jī)密數(shù)據(jù)密文,然后通過公開途徑獲得需要配置有權(quán)限用戶的屬性加密算法和公開參數(shù),并依此構(gòu)建訪問權(quán)限結(jié)構(gòu),通過非對稱加密算法加密對稱算法密鑰。訪問權(quán)限是一個(gè)樹狀訪問結(jié)構(gòu),訪問結(jié)構(gòu)樹的內(nèi)部節(jié)點(diǎn)代表關(guān)系,葉子節(jié)點(diǎn)代表身份屬性要求。例如可配置科技局級別在6(假設(shè)代表副處)以上的人員或者所有級別在9(假設(shè)代表為局級)以上的人員具有訪問權(quán)限。
S140,通過非對稱加密算法加密對稱算法密鑰。
將對稱密鑰密文和機(jī)密數(shù)據(jù)密文一同發(fā)送到數(shù)據(jù)庫進(jìn)行存儲。
S150,根據(jù)所述對稱算法加密所述數(shù)據(jù)。
使用對稱算法加密機(jī)密數(shù)據(jù),屬性加密算法加密對稱密鑰的原因在于,對稱加密算法的運(yùn)算速度要遠(yuǎn)遠(yuǎn)超過屬性加密算法的數(shù)據(jù)加密的速度,因此,當(dāng)機(jī)密數(shù)據(jù)的規(guī)模遠(yuǎn)大于對稱算法密鑰時(shí),能夠同時(shí)保證安全性和運(yùn)行效率。
本實(shí)施例通過屬性加密技術(shù)將訪問控制和存儲加密完美結(jié)合,實(shí)現(xiàn)由數(shù)據(jù)擁有者定義訪問權(quán)限,只有具備訪問權(quán)限的用戶才能獲取密鑰,解密密文數(shù)據(jù)進(jìn)行訪問,從而避免管理員權(quán)限過大、惡意攻擊等帶來的危害。
實(shí)施例二
圖2是本發(fā)明實(shí)施例二提供的分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理方法的流程示意圖,本發(fā)明實(shí)施例以上述實(shí)施例為基礎(chǔ),進(jìn)一步的,所述方法還包括如下步驟:用戶具有訪問權(quán)限時(shí),根據(jù)用戶輸入的用戶私鑰和可信第三方發(fā)布的公鑰、對稱密鑰密文以及訪問結(jié)構(gòu)樹計(jì)算得到對稱密鑰;利用對稱密鑰解密所述加密數(shù)據(jù)。
參見圖2,所述分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理方法,包括:
S210,在用戶修改分布式數(shù)據(jù)庫時(shí),對用戶的訪問控制權(quán)限進(jìn)行檢查。
S220,在用戶具有訪問控制權(quán)限時(shí),獲取用戶的讀寫權(quán)限。
S230,在所述讀寫權(quán)限通過驗(yàn)證時(shí)通過公開途徑獲得需要配置有權(quán)限用戶的屬性加密算法和公開參數(shù),并依此構(gòu)建訪問權(quán)限結(jié)構(gòu)。
S240,通過非對稱加密算法加密對稱算法密鑰。
S250,根據(jù)所述對稱算法加密所述數(shù)據(jù)。
S260,用戶具有訪問權(quán)限時(shí),根據(jù)用戶輸入的用戶私鑰和可信第三方發(fā)布的公鑰、對稱密鑰密文以及訪問結(jié)構(gòu)樹計(jì)算得到對稱密鑰。
在用戶希望訪問某項(xiàng)數(shù)據(jù)時(shí),首先進(jìn)行數(shù)據(jù)庫自主訪問控制的檢查,如果沒有權(quán)限直接返回,如果擁有自主訪問控制的權(quán)限則繼續(xù)執(zhí)行。然后數(shù)據(jù)庫服務(wù)器從可信第三方服務(wù)器獲得屬性集合和數(shù)據(jù)庫對象的讀寫權(quán)限,然后進(jìn)行讀寫權(quán)限的認(rèn)證,沒權(quán)限直接返回。再有權(quán)限時(shí),數(shù)據(jù)庫服務(wù)器然后將對稱密鑰密文發(fā)送給該用戶,用自己的用戶私鑰和可信第三方發(fā)布的公鑰、對稱密鑰密文以及訪問結(jié)構(gòu)樹作為輸入,通過解密算法解密出對稱密鑰。
S270,利用對稱密鑰解密所述加密數(shù)據(jù)。
申請數(shù)據(jù)密文,利用對稱密鑰解密出機(jī)密數(shù)據(jù)明文。當(dāng)數(shù)據(jù)庫用戶在不符合訪問控制結(jié)構(gòu)樹的身份要求而強(qiáng)行解密對稱密鑰密文時(shí),由于身份信息不符,因此其相關(guān)的用戶私鑰無法解密得到正確的對稱密鑰。
本實(shí)施例通過增加如下步驟:用戶具有訪問權(quán)限時(shí),根據(jù)用戶輸入的用戶私鑰和可信第三方發(fā)布的公鑰、對稱密鑰密文以及訪問結(jié)構(gòu)樹計(jì)算得到對稱密鑰;利用對稱密鑰解密所述加密數(shù)據(jù)。能夠使一個(gè)密文被滿足條件的多個(gè)不同用戶密鑰所解密,也能夠使一個(gè)用戶密鑰解密多個(gè)不同的密文。滿足大數(shù)據(jù)環(huán)境在細(xì)粒度訪問控制和加密安全通訊方面的安全需求。
實(shí)施例三
圖3是本發(fā)明實(shí)施例三提供的分布式數(shù)據(jù)庫系統(tǒng)權(quán)限管理裝置的結(jié)構(gòu)示意圖,如圖3所示,所述裝置包括:
檢查單元310,用于在用戶修改分布式數(shù)據(jù)庫時(shí),對用戶的訪問控制權(quán)限進(jìn)行檢查;
獲取單元320,用于在用戶具有訪問控制權(quán)限時(shí),獲取用戶的讀寫權(quán)限;
接收單元330,用于在所述讀寫權(quán)限通過驗(yàn)證時(shí),接收用戶寫入的數(shù)據(jù)。
進(jìn)一步的,所述接收單元包括:
加密單元,用于采用對稱算法將數(shù)據(jù)進(jìn)行加密。
進(jìn)一步的,所述加密單元用于:
通過公開途徑獲得需要配置有權(quán)限用戶的屬性加密算法和公開參數(shù),并依此構(gòu)建訪問權(quán)限結(jié)構(gòu);
通過非對稱加密算法加密對稱算法密鑰;
根據(jù)所述對稱算法加密所述數(shù)據(jù)。
更進(jìn)一步的,所述裝置還包括:
計(jì)算單元,用于在用戶具有訪問權(quán)限時(shí),根據(jù)用戶輸入的用戶私鑰和可信第三方發(fā)布的公鑰、對稱密鑰密文以及訪問結(jié)構(gòu)樹計(jì)算得到對稱密鑰;
解密單元,用于利用對稱密鑰解密所述加密數(shù)據(jù)。
本發(fā)明實(shí)施例通過屬性加密技術(shù)將訪問控制和存儲加密完美結(jié)合,實(shí)現(xiàn)由數(shù)據(jù)擁有者定義訪問權(quán)限,只有具備訪問權(quán)限的用戶才能獲取密鑰,解密密文數(shù)據(jù)進(jìn)行訪問,從而避免管理員權(quán)限過大、惡意攻擊等帶來的危害。屬性加密機(jī)制可被看作廣播加密的一種變形,能夠使一個(gè)密文被滿足條件的多個(gè)不同用戶密鑰所解密,也能夠使一個(gè)用戶密鑰解密多個(gè)不同的密文。滿足大數(shù)據(jù)環(huán)境在細(xì)粒度訪問控制和加密安全通訊方面的安全需求。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。