李雪瑤
關鍵詞:云計算;數(shù)據(jù)庫;安全控制策略
1引言
傳統(tǒng)的數(shù)據(jù)庫安全控制策略主要使用底層物理隔離的方式實現(xiàn)對不同用戶的數(shù)據(jù)隔離,通過每個用戶使用獨立儲存服務器的方式建立物理屏障,在此基礎上搭建應用服務器、OS和APP等,所以用戶和用戶之間的數(shù)據(jù)存儲方式為垂直獨立儲存,不會產(chǎn)生交叉混淆,用戶隱私安全風險較低。但云計算的應用將原本獨立的儲存服務器集成為一個統(tǒng)一的儲存集群,同日寸供給多個用戶進行使用,隔離方式從傳統(tǒng)的物理隔離被迫轉變?yōu)檫壿嫺綦x。這種一對多的數(shù)據(jù)存儲方式雖然能夠節(jié)約儲存服務器、提升數(shù)據(jù)處理效率,但在多用戶同時使用過程中難免會出現(xiàn)數(shù)據(jù)交叉混淆的情況,由此導致大量用戶隱私數(shù)據(jù)暴露在公共區(qū)域下,頻繁的數(shù)據(jù)存取勢必會成為造成用戶隱私安全隱患的潛在因素,所以如何在保留云計算便捷、迅速等優(yōu)勢的同時,提升數(shù)據(jù)庫安全性能,成為當前的熱門課題。
目前,主流的云計算數(shù)據(jù)庫安全控制策略分為數(shù)據(jù)加密和數(shù)據(jù)混淆兩種,其中數(shù)據(jù)加密是將傳統(tǒng)的數(shù)據(jù)庫安全控制策略套用到云計算數(shù)據(jù)庫中,通過較為復雜的加密方法對數(shù)據(jù)庫進行編輯,再給云計算用戶發(fā)放進入數(shù)據(jù)庫的專屬密鑰,這種數(shù)據(jù)庫安全控制策略雖然安全性較高,但加解密操作較為煩瑣,需要大量的計算,并且使用密鑰控制的方式給用戶帶來較多的冗余操作,與云計算的應用優(yōu)勢相悖。數(shù)據(jù)混淆是使用匿名和泛化的方式,隱藏暴露在公共區(qū)域的用戶隱私數(shù)據(jù),進而實現(xiàn)對數(shù)據(jù)的保護,這種方式雖然計算速度較快,但在用戶讀取數(shù)據(jù)時,需要花費大量時間進行數(shù)據(jù)重構,與云計算的應用優(yōu)勢相悖。針對這種現(xiàn)象,本文同時考慮數(shù)據(jù)隱私保護和數(shù)據(jù)使用效率兩方面,提出一種無需加密、匿名和泛化的主動隱私保護數(shù)據(jù)庫安全控制策略,對信息熵大的屬性進行主動保護。
2總體方案
本文提出的主動隱私保護的數(shù)據(jù)庫安全控制策略主要分為兩部分,一部分是對數(shù)據(jù)庫中的用戶數(shù)據(jù)表進行劃分,另一部分是以劃分信息熵作為判斷條件,實現(xiàn)主動因素保護的策略,總體方案如圖1所示。
3主動隱私保護數(shù)據(jù)庫安全控制策略的實現(xiàn)
3.1劃分目標
數(shù)據(jù)庫中每個用戶的數(shù)據(jù)都集中存放在同一個數(shù)據(jù)表中,即劃分目標,如表1所列。
受傳統(tǒng)物理隔離的數(shù)據(jù)庫安全控制策略影響,傳統(tǒng)方式會將數(shù)據(jù)表進行行式劃分存放,能夠通過保留數(shù)據(jù)的完整性來提升數(shù)據(jù)存取效率,使用行式劃分表1中的數(shù)據(jù)后可以得到表2和表3。
根據(jù)表2和表3可以得知,行式劃分后的數(shù)據(jù)較為完整,僅對用戶進行區(qū)分,一旦數(shù)據(jù)庫受到攻擊,攻擊者能夠通過行式劃分后的數(shù)據(jù)表輕松得到一個用戶的全部信息,所以行式劃分方式的用戶隱私安全風險較高。針對這種現(xiàn)象,本文提出列式劃分方法,通過列式劃分表1中的數(shù)據(jù)可以得到表4和表5。
根據(jù)表4和表5可以得知,列式劃分將同一用戶的多種信息進行切割劃分,這樣即使攻擊者得到部分劃分表格,也無法獲得用戶的完整信息,大幅度提升用戶隱私安全性。根據(jù)列式劃分的理念,將同一用戶的信息劃分得越細,用戶隱私安全性越高,但用戶調用信息的效率會越來越低。所以用戶隱私安全和信息調用效率之間的平衡是列式劃分的關鍵,找到平衡需要注意以下幾點規(guī)則。
(1)列式劃分需要在保證數(shù)據(jù)穩(wěn)定的前提下進行劃分,避免由于觸碰SLA(Service-LevelAgreement,服務等級協(xié)議)導致用戶數(shù)據(jù)丟失。
(2)列式劃分后的數(shù)據(jù)應當保持待響應狀態(tài),用戶能夠立即調用獲取、重構原有數(shù)據(jù)。
(3)列式劃分的數(shù)據(jù)屬性不能存在相交狀態(tài),在劃分過程中應當對數(shù)據(jù)表中的用戶信息屬性進行深人發(fā)掘,獲得緊密關聯(lián)的信息屬性集合,為后續(xù)的主動保護判定提供數(shù)據(jù)基礎。
3.2相關定義
3.2.1隱私約束
隱私約束從約束內容上可以分為三種,分別是組合隱私約束、值隱私約束和依賴隱私約束。其中,組合隱私約束代表兩個基本用戶信息能夠組成關鍵的用戶隱私,如用戶的姓名和用戶的身份證號碼,兩個用戶信息的單獨出現(xiàn)對攻擊者沒有意義,當組合出現(xiàn)時則能夠泄露用戶的身份信息;值隱私約束代表用戶信息中的某一個取值是關鍵用戶隱私,例如用戶的所在地信息,其中所在城市、所在區(qū)信息對攻擊者的價值較低,但所在小區(qū)、所在單元等具體所在地信息對攻擊者的價值較高:依賴隱私約束代表能夠根據(jù)兩個基礎信息的關聯(lián),推斷出用戶的關鍵隱私,例如老師的主教學科和學生姓名放在一起,就能推斷出學生的所學專業(yè)。
3.2.2隱私屬性劃分
根據(jù)上述組合隱私約束、值隱私約束和依賴隱私約束三種隱私約束,本文將隱私屬性劃分為多個子集,子集的唯一要求就是不違背隱私約束。
3.2.3屬性關聯(lián)度
屬性關聯(lián)度代表兩個或兩個以上用戶信息之間的關系,可以通過用戶訪問的頻次進行表示,用戶連續(xù)訪問的頻次越高,代表用戶信息之間的屬性關聯(lián)度越高,反之越低。統(tǒng)計用戶訪問頻次需要建立一個操作頻次統(tǒng)計表,通過歷史操作記錄、操作中的屬性集合、操作次數(shù)進行頻率統(tǒng)計,具體如表6所列。
3.3主動保護策略
根據(jù)克勞德·艾爾伍德·香農(nóng)提出的香農(nóng)熵(Shannonentropy)定義,表示某一系統(tǒng)的復雜度、香農(nóng)熵越大,系統(tǒng)越復雜。所以系統(tǒng)中劃分出的信息熵越大,說明該信息的價值越高,那么根據(jù)信息取值情況,確立一個信息熵閾值,當信息熵超過閾值時主動進行數(shù)據(jù)安全保護,就能實現(xiàn)主動隱私保護的數(shù)據(jù)庫安全控制策略。信息熵的取值根據(jù)兩個維度確定,第一個維度是該用戶信息本身的價值,本身價值越高,信息熵越高,反之越低,例如用戶的“身份證信息”,屬于一一對應的關鍵信息,通過一項信息就能標識一個人,所以“身份證信息”的價值較高、信息熵較高。第二個維度是該用戶信息的范圍,范圍越廣泛,信息熵越高、反之越低,例如用戶的“就業(yè)狀態(tài)信息”,其中包括“已就業(yè)”“未就業(yè)”“即將結業(yè)”“未畢業(yè)”等多種狀態(tài),“已就業(yè)”更可以劃分為“教師”“企事業(yè)單位”“個體”等不同職業(yè),當攻擊者獲取用戶的“就業(yè)狀態(tài)信息”后,可以通過對信息的細化分析,推斷出用戶的就業(yè)隱私,所以“就業(yè)狀態(tài)信息”的價值較高、信息熵較高。
根據(jù)上述兩種信息熵的取值維度,本文提出數(shù)據(jù)庫用戶屬性信息熵,來表示眾多用戶屬性信息的重要程度,設定信息熵閾值。并對數(shù)據(jù)庫用戶屬性信息熵超過閾值的信息進行主動保護,將數(shù)據(jù)庫用戶屬性信息熵較大的信息進行獨立劃分或者分區(qū)劃分。基于此,設數(shù)據(jù)庫用戶屬性信息熵為S,計算方法如下:
(1)根據(jù)式(1)計算數(shù)據(jù)庫中每個用戶屬性信息熵取值。
(2)根據(jù)式(2)判斷每個用戶屬性信息熵是否超過閾值。
(3)若用戶屬性信息熵低于閾值,則按照普通的隱私約束規(guī)則進行列式劃分:若用戶屬性信息熵高于閾值,則利用式(3)中的隔離因子a把包含該屬性的操作對應的值減去buffering的值,設包含該屬性的信息熵值為x1,則隔離后的信息熵值為x2,如下:
3.4劃分方法
通過上述方法設定信息熵的閾值,并計算出數(shù)據(jù)庫中用戶信息屬性的信息熵取值后,可以初步實現(xiàn)數(shù)據(jù)庫主動保護策略,但對數(shù)據(jù)存取的效率具有一定影響,沒有達到用戶隱私安全和信息調用效率之間的平衡,所以需要建立劃分算法,通過屬性關聯(lián)度,計算出統(tǒng)一數(shù)據(jù)庫中關聯(lián)程度較高的用戶屬性信息,再通過列式劃分方法將此類屬性信息劃分到同一數(shù)據(jù)表中,進而實現(xiàn)信息調用效率的提升。需要注意的是劃分到同一數(shù)據(jù)表需要通過隱私約束規(guī)則,具體算法步驟如表7所列。
3.5算例分析
本文以某云計算用戶數(shù)據(jù)庫為例,該數(shù)據(jù)庫中的某個用戶的屬性集為{A,B,C,D,E},按照上述算法計算出該屬性集的頻繁項集如表8所列。
根據(jù)表8可以得知,該用戶的操作頻繁項,用戶的隱私約束確認用戶屬性A和用戶屬性B互為依賴隱私約束,所以用戶屬性A和用戶屬性B不能劃分到同一數(shù)據(jù)表中。將同時包含用戶屬性A和用戶屬性B的候選項集進行刪除后得到表9。
通過式(1)計算后得出用戶屬性A的信息熵為0.6、用戶屬性B的信息熵為0.7、用戶屬性C的信息熵為1.7、用戶屬性D的信息熵為0.8、用戶屬性E的信息熵為1.3;信息熵為1;隔離因子a設備10。計算后得到用戶屬性C和用戶屬性E超過信息熵閾值,所以需要對用戶屬性C和用戶屬性E進行隔離劃分,隔離后的頻繁項集如表10所列。
根據(jù)表10可以得知,應該將屬性{B,C,D}劃分到一個數(shù)據(jù)中進行存儲,剩余的用戶屬性A和用戶屬性E之間沒有屬性約束,則將用戶屬性A和用戶屬性E合并放人一個數(shù)據(jù)劃分表中進行存儲。這樣的劃分方式既能避免將屬性信息熵高的屬性劃分到一個表中,又對屬性隱私進行了主動保護。由此驗證本文控制策略的有效性。
4結束語
本文基于云計算對數(shù)據(jù)庫安全控制策略展開分析,提出一種主動隱私保護的數(shù)據(jù)庫安全控制策略,首先闡述總體設計方案,再從四個方面說明本文數(shù)據(jù)庫安全控制策略的實現(xiàn)路徑,并以算例分析驗證本文控制策略的有效性。在云計算多用戶共享同一個儲存服務器集群的場景下,使用本文的主動隱私保護數(shù)據(jù)庫安全控制策略,能夠達成數(shù)據(jù)庫用戶安全和用戶信息存取效率的平衡,避免傳統(tǒng)數(shù)據(jù)庫安全控制策略對用戶使用舒適度的損害。