吳少苓 岑宇森 陳元濱
0 引言
隨著網(wǎng)絡和信息技術(shù)的高速發(fā)展,現(xiàn)代社會已經(jīng)進入了信息的隨時發(fā)布和迅速傳遞的時代。大量主客觀世界中的實體成為了信息的來源者、傳遞者和接收者。社會搜集和傳播隱私信息的成本越來越低,傳播的速度也越來越快。對網(wǎng)絡資源不加控制的訪問和傳播會造成大量敏感信息的泄露,因此,目前對數(shù)據(jù)的內(nèi)容保護,尤其是對信息內(nèi)容的隱私保護的需求十分迫切。
相對于傳統(tǒng)安全領(lǐng)域中的典型技術(shù),例如身份認證技術(shù)、數(shù)據(jù)加密技術(shù)、訪問控制技術(shù)等,隱私保護技術(shù)更側(cè)重于對數(shù)據(jù)隱含信息的保護。關(guān)于隱私保護已經(jīng)提出了許多新方法,例如對于數(shù)據(jù)發(fā)布的隱私問題,可以通過k匿名技術(shù)[1],數(shù)據(jù)混淆、泛化技術(shù)[2]等來實現(xiàn)。對信息系統(tǒng)的安全而言,隱私保護技術(shù)僅解決了部分的數(shù)據(jù)安全問題,還需要和傳統(tǒng)的技術(shù)一起來保證信息資源的整體安全性。
本文試圖在訪問控制模型和隱私保護技術(shù)基礎(chǔ)上,提出一種基于角色訪問控制的隱私保護方法,在傳統(tǒng)的RBAC(Role-Based Access Control)[3]基礎(chǔ)上,提供個性化的隱私數(shù)據(jù)訪問,并應用于教學管理系統(tǒng)實踐中。
1 RBAC與隱私等級保護的關(guān)系
訪問控制技術(shù)對所有已驗證身份的用戶所提出的對系統(tǒng)資源的訪問請求進行評估,判斷是否接受或拒絕該請求,以此來防止對信息的非法訪問,保證信息的機密性。作為傳統(tǒng)的系統(tǒng)安全技術(shù)之一,訪問控制技術(shù)得到了較為廣泛的研究和應用。訪問控制策略、訪問控制機制和訪問控制模型是研究和建立訪問控制技術(shù)的幾個主要的方向。文獻[4]所進行的調(diào)查表明,在大多數(shù)的機構(gòu)中,訪問控制決策是基于用戶角色以及在機構(gòu)中的職責所做出的。RBAC通過角色來控制對資源的訪問,已經(jīng)被證明比較適合用來表達信息系統(tǒng)對用戶的安全需求,并得到了廣泛的應用。
在信息的隱私保護研究中,隱私是指自然人自身所享有的與公眾利益無關(guān)并不愿他人知悉的私人信息。在RBAC模型中,用戶通過被賦予角色,因角色所具有的權(quán)限而獲得對資源的有效操作。但是這只是控制了數(shù)據(jù)訪問的權(quán)限,沒有對數(shù)據(jù)內(nèi)容做出保護。如果只是簡單地通過訪問控制來控制對信息的讀取,那么還是會在合法的訪問過程中泄露數(shù)據(jù)。因此,必須要將這兩種技術(shù)結(jié)合起來對數(shù)據(jù)提供綜合的保護。經(jīng)過分析,我們發(fā)現(xiàn)在訪問過程中,信息對于被分配相同角色的用戶訪問而言,所表示出來的特性是一致的,因此,基于角色的訪問控制可用于對信息的分等級隱私保護,如圖1所示。
我們以教學管理系統(tǒng)為例,用戶可以被分配三種不同的角色:管理員、教師、學生。不同的角色可以對應系統(tǒng)中關(guān)于信息內(nèi)容的不同的隱私保護等級。結(jié)合用戶需求,我們可以按照三個信息保護等級來為教學管理系統(tǒng)中的數(shù)據(jù)設(shè)計不同敏感程度的保護方案。
例如:根據(jù)最小權(quán)限分配原則,學生的權(quán)限最低,僅能訪問數(shù)據(jù)庫中有關(guān)成績統(tǒng)計及自身信息的一些資料,因此對應著信息保護初級等級,所訪問的統(tǒng)計信息可用匿名泛化的形式給出。學生不能查看其他同學精確的分數(shù),但是可以知道自己在班級和專業(yè)中的排名,也可以了解同學經(jīng)泛化處理后的成績。教師擁有高一級權(quán)限,可以查看學生的成績和個人信息,但是根據(jù)相應的隱私保護等級,限制他查看學生個人資料的詳細信息。同時,教師可以獲得教學活動所必須的個人信息的匿名統(tǒng)計信息。系統(tǒng)管理員雖然擁有最高權(quán)限,可以對系統(tǒng)進行維護,但是他對系統(tǒng)的管理體現(xiàn)在RBAC層面(例如添加用戶,分配權(quán)限等)。系統(tǒng)管理員不能訪問學生、教師的個人隱私數(shù)據(jù)。個人隱私數(shù)據(jù)在存放入數(shù)據(jù)庫之前要進行適當?shù)募用埽乐瓜到y(tǒng)內(nèi)容在內(nèi)部出現(xiàn)信息的泄漏。系統(tǒng)管理員可以獲得學生、教師經(jīng)隱私保護后的數(shù)據(jù),得到數(shù)據(jù)的精確范圍低于前兩者,但是能滿足對系統(tǒng)的管理需要。
下面以教學管理系統(tǒng)為例來說明我們在設(shè)計時采用的系統(tǒng)結(jié)構(gòu)、處理流程和關(guān)鍵技術(shù)。在我們的系統(tǒng)設(shè)計中將涉及到RBAC技術(shù)、匿名技術(shù)、泛化技術(shù)以及數(shù)據(jù)的加密技術(shù)。
2 系統(tǒng)設(shè)計和關(guān)鍵技術(shù)
其中,訪問控制執(zhí)行點獲取訪問主體的請求,交由訪問控制決策點做出訪問控制決策。訪問控制策略和隱私等級設(shè)置模塊確定了訪問主體被分配的角色,以及該角色對應的隱私等級所需要執(zhí)行的隱私保護策略。隱私保護執(zhí)行點按照訪問控制點傳送回的對訪問客體權(quán)限及訪問客體應該執(zhí)行的信息保護策略可對訪問客體進行合理的訪問。
2.1 角色-權(quán)限-匿名等級的設(shè)計
系統(tǒng)定義三個用戶角色:學生,教師,管理員,保存在角色表中。用戶登錄時,系統(tǒng)將根據(jù)用戶角色決定用戶是否有權(quán)進行數(shù)據(jù)項的訪問;當用戶訪問信息時,根據(jù)角色對應的隱私等級來調(diào)用相應的匿名算法。我們設(shè)置的關(guān)系如表1所示。
2.2 訪問信息中個人隱私數(shù)據(jù)的加密
對個人的關(guān)鍵數(shù)據(jù)字段進行加密,能防止數(shù)據(jù)的竊取、篡改,保證數(shù)據(jù)的完整性。我們在系統(tǒng)中采用對個體信息的重要屬性進行加密,并在需要時候進行解密的方法,可較方便地實現(xiàn)數(shù)據(jù)信息的保護。在目前的密碼學領(lǐng)域,加密技術(shù)主要可分為對稱加密與非對稱加密兩種。
對稱加密,是指采用單鑰密碼系統(tǒng)的加密方法。對稱加密算法的特點是算法公開、計算量較小、加密速度快、加密效率高,可在大量數(shù)據(jù)加密時使用。對稱加密算法在分布式網(wǎng)絡系統(tǒng)上使用較為困難,主要是因為密鑰管理困難,使用成本較高。對稱加密算法的安全性取決于加密密鑰的保存情況。
非對稱加密算法也稱為公鑰算法。如果用私有密鑰對數(shù)據(jù)進行加密,那么只有用對應的公開密鑰才能解密。非對稱加密算法的保密性較好,它消除了用戶交換密鑰的需要,但加密和解密花費時間長、速度慢,主要用于對少量數(shù)據(jù)加密,并不適合對大數(shù)據(jù)量文件的加密。
本文采用對稱加密算法中的PBE加密技術(shù)[5],對個人的隱私數(shù)據(jù)進行保護。該算法利用一組隨機數(shù)和口令,來對用戶信息中標識符部分(即可直接推定用戶信息的屬性,如身份證號等)進行加密處理,用戶只有通過合法的訪問申請,才能得到口令及隨機數(shù)來進行解密工作。
2.3 隱私保護策略和K匿名模型
隱私保護處理經(jīng)常采用隱匿和泛化方法。隱匿即移除單個屬性值或者一個元組的所有值。泛化即一個值被一個更不確切的值所替換,這個值比原來的值更一般。匿名的過程是對需要保密的數(shù)據(jù)進行泛化和隱匿的過程。通過這個過程就可以發(fā)布沒有信息泄露的數(shù)據(jù)。
本項目中隱私保護策略決定了怎樣對用戶的隱私信息進行保護。隱私保護策略是設(shè)計的核心。隱私策略的制定是參考角色的。用戶在訪問數(shù)據(jù)庫資料時,需要提供相應的訪問目的。系統(tǒng)對不同的用戶根據(jù)不同的訪問目的設(shè)定不同的隱私訪問策略,并根據(jù)用戶的訪問目的及用戶本身的角色來定義訪問等級,從而確定匿名哪些數(shù)據(jù)。本文實現(xiàn)的算法參考了K匿名模型(K-Anonymity)中[6]的逐級泛化方式。
K-Anonymity模型是1998年Samarati P和Sweeney L提出的一個防止鏈接攻擊造成信息泄露的隱私保護模型。K-Anonymity模型要求每個個體將敏感屬性隱藏在規(guī)模為K的群體中,使攻擊者不能判別出敏感屬性所屬的具體個體,從而防止了個人隱私的泄密。
定義:對于一個數(shù)據(jù)表T,如果經(jīng)過匿名化處理后得到等價數(shù)據(jù)表,當且僅當在任一等價組內(nèi)每一條記錄至少有k-1條記錄與它相對應。
用戶在訪問自身角色允許的目標時,系統(tǒng)將根據(jù)訪問目的與訪問目標的不同,確立相應的匿名等級,對照數(shù)據(jù)庫中相應的匿名表,進行匿名泛化處理。
3 教學管理系統(tǒng)中的RBAC_PL實現(xiàn)
3.1 系統(tǒng)功能和RBAC_PL流程設(shè)計
我們建立的高校教學管理系統(tǒng)主要實現(xiàn)學生、教師相關(guān)信息的檢索,可以簡單描述如下。
⑴ 個人資料查詢:可獲取經(jīng)過匿名化處理的全部個人資料數(shù)據(jù),可用于查詢統(tǒng)計分析。
⑵ 個人資料查詢(學院):可獲取與登錄學生或教師相關(guān)學院的經(jīng)過匿名化處理的個人資料數(shù)據(jù),用于查詢統(tǒng)計分析。
⑶ 績點信息查詢(全體):可獲取相關(guān)績點成績信息數(shù)據(jù)(績點信息經(jīng)過低等級泛化處理),用于查詢統(tǒng)計分析。
⑷ 績點信息查詢(學院):可獲取與登錄學生或教師相關(guān)學院相關(guān)績點成績信息數(shù)據(jù)(績點信息經(jīng)過低等級泛化處理),用于查詢統(tǒng)計分析。不同身份用戶獲取資料的匿名等級不同。
⑸ 用戶信息:顯示經(jīng)過解密處理后的當前用戶的全部資料。
⑹ 信息添加:管理員身份用戶可對信息進行添加操作。標識符信息需經(jīng)加密處理。
系統(tǒng)的整體處理流程如下:操作者(如教師)登錄系統(tǒng)后,按頁面操作,提出查詢請求,確定具體的訪問目標資源(如個人資料)。系統(tǒng)取得含有加密數(shù)據(jù)的請求信息,同時取得數(shù)據(jù)所有者關(guān)于此查看請求的相應權(quán)限信息,對照權(quán)限信息來進行相應的數(shù)據(jù)解密,之后進行相應的匿名泛化處理,再將信息返還給操作者。
3.2 系統(tǒng)實現(xiàn)和應用舉例
我們選擇Tomcat 6.0建立Web服務器,選用SQL SERVER 200作為數(shù)據(jù)庫建立教學管理系統(tǒng)。系統(tǒng)采用Java,HTML及JavaScript語言開發(fā)。
系統(tǒng)中加密密鑰分為口令和隨機數(shù)兩部分,口令存儲在數(shù)據(jù)庫中,隨機數(shù)預先制定。如圖3所示,為防止內(nèi)部的信息泄露,對關(guān)鍵字段進行了加密。
假設(shè)有一個學生A想要查詢個人資料和績點信息,系統(tǒng)按照A對這些資料訪問的限制分配角色,確定他對哪些字段享有訪問權(quán)限。如果A被賦予可以查看全校個人資料的角色(如圖4(a)所示),那么他可以看到全校的個人資料;如果他僅被賦予可查看全院個人資料的角色(如圖4(b)所示),那么他所訪問的字段將受到限制。這兩種不同角色對應的隱私保護的等級不同,因此獲得的信息將經(jīng)過不同的泛化。
4 結(jié)束語
我們在分析RBAC模型和隱私保護技術(shù)基礎(chǔ)上,設(shè)計和實現(xiàn)了基于角色的隱私保護技術(shù)原型,結(jié)合角色分配和數(shù)據(jù)內(nèi)容的隱私保護策略,控制了用戶數(shù)據(jù)訪問權(quán)限及對敏感信息內(nèi)容的訪問等級。通過將該原型系統(tǒng)部署于一個教學管理系統(tǒng),實現(xiàn)并驗證了系統(tǒng)的可行性和有效性。
本系統(tǒng)所存在的主要問題是匿名化處理不夠完善,教學管理系統(tǒng)只局限于信息查詢管理,需要增加更多的訪問目的和訪問方式,使得新模型更加完善。在未來的工作中,我們將更深入地研究泛化算法與等級保護策略的自動化配置。
參考文獻:
[1] L.Sweeney. K-anonymity: a model for protecting privacy[J].
International Journal on Uncertainty,Fuzziness and Knowledge-
based Systems,2002.10(5):557-570
[2] C. Clifton, M. Kantarcioglou, X. Lin, M.Y. Zhu. Tools for privacy
preserving distributed data mining. ACM SIGKDD Explorations,2002.4(2):28-34
[3] Sandhu R, Coyne E, Feinstein H, et al. Role-based access control
models[J].IEEE computer,1996.29(2):38-47
[4] Ferraiolo D. F., Gilbert D. M., Lynch N. An examination of federal
and commercial access control policy needs[A].Proceedings of the 16th National Computer Security Conference[C].Baltimore,MaryLand:NIST-NCSC,1993:107-116
[5] 柏文陽.安全數(shù)據(jù)庫的隱私保護和訪問控制集成研究[J].計算機應用
研究,2010.10:3876-3879
[6] L.Sweeney. Achieving K-anonymity privacy protection using
generalization and suppression. International Journal on Uncertainty, Fuzziness and Knowledge-based Systems,2002.10(5):571-588