吳少苓 岑宇森 陳元濱



0 引言
隨著網絡和信息技術的高速發展,現代社會已經進入了信息的隨時發布和迅速傳遞的時代。大量主客觀世界中的實體成為了信息的來源者、傳遞者和接收者。社會搜集和傳播隱私信息的成本越來越低,傳播的速度也越來越快。對網絡資源不加控制的訪問和傳播會造成大量敏感信息的泄露,因此,目前對數據的內容保護,尤其是對信息內容的隱私保護的需求十分迫切。
相對于傳統安全領域中的典型技術,例如身份認證技術、數據加密技術、訪問控制技術等,隱私保護技術更側重于對數據隱含信息的保護。關于隱私保護已經提出了許多新方法,例如對于數據發布的隱私問題,可以通過k匿名技術[1],數據混淆、泛化技術[2]等來實現。對信息系統的安全而言,隱私保護技術僅解決了部分的數據安全問題,還需要和傳統的技術一起來保證信息資源的整體安全性。
本文試圖在訪問控制模型和隱私保護技術基礎上,提出一種基于角色訪問控制的隱私保護方法,在傳統的RBAC(Role-Based Access Control)[3]基礎上,提供個性化的隱私數據訪問,并應用于教學管理系統實踐中。
1 RBAC與隱私等級保護的關系
訪問控制技術對所有已驗證身份的用戶所提出的對系統資源的訪問請求進行評估,判斷是否接受或拒絕該請求,以此來防止對信息的非法訪問,保證信息的機密性。作為傳統的系統安全技術之一,訪問控制技術得到了較為廣泛的研究和應用。訪問控制策略、訪問控制機制和訪問控制模型是研究和建立訪問控制技術的幾個主要的方向。文獻[4]所進行的調查表明,在大多數的機構中,訪問控制決策是基于用戶角色以及在機構中的職責所做出的。RBAC通過角色來控制對資源的訪問,已經被證明比較適合用來表達信息系統對用戶的安全需求,并得到了廣泛的應用。
在信息的隱私保護研究中,隱私是指自然人自身所享有的與公眾利益無關并不愿他人知悉的私人信息。在RBAC模型中,用戶通過被賦予角色,因角色所具有的權限而獲得對資源的有效操作。但是這只是控制了數據訪問的權限,沒有對數據內容做出保護。如果只是簡單地通過訪問控制來控制對信息的讀取,那么還是會在合法的訪問過程中泄露數據。因此,必須要將這兩種技術結合起來對數據提供綜合的保護。經過分析,我們發現在訪問過程中,信息對于被分配相同角色的用戶訪問而言,所表示出來的特性是一致的,因此,基于角色的訪問控制可用于對信息的分等級隱私保護,如圖1所示。
我們以教學管理系統為例,用戶可以被分配三種不同的角色:管理員、教師、學生。不同的角色可以對應系統中關于信息內容的不同的隱私保護等級。結合用戶需求,我們可以按照三個信息保護等級來為教學管理系統中的數據設計不同敏感程度的保護方案。
例如:根據最小權限分配原則,學生的權限最低,僅能訪問數據庫中有關成績統計及自身信息的一些資料,因此對應著信息保護初級等級,所訪問的統計信息可用匿名泛化的形式給出。學生不能查看其他同學精確的分數,但是可以知道自己在班級和專業中的排名,也可以了解同學經泛化處理后的成績。教師擁有高一級權限,可以查看學生的成績和個人信息,但是根據相應的隱私保護等級,限制他查看學生個人資料的詳細信息。同時,教師可以獲得教學活動所必須的個人信息的匿名統計信息。系統管理員雖然擁有最高權限,可以對系統進行維護,但是他對系統的管理體現在RBAC層面(例如添加用戶,分配權限等)。系統管理員不能訪問學生、教師的個人隱私數據。個人隱私數據在存放入數據庫之前要進行適當的加密,防止系統內容在內部出現信息的泄漏。系統管理員可以獲得學生、教師經隱私保護后的數據,得到數據的精確范圍低于前兩者,但是能滿足對系統的管理需要。
下面以教學管理系統為例來說明我們在設計時采用的系統結構、處理流程和關鍵技術。在我們的系統設計中將涉及到RBAC技術、匿名技術、泛化技術以及數據的加密技術。
2 系統設計和關鍵技術
其中,訪問控制執行點獲取訪問主體的請求,交由訪問控制決策點做出訪問控制決策。訪問控制策略和隱私等級設置模塊確定了訪問主體被分配的角色,以及該角色對應的隱私等級所需要執行的隱私保護策略。隱私保護執行點按照訪問控制點傳送回的對訪問客體權限及訪問客體應該執行的信息保護策略可對訪問客體進行合理的訪問。
2.1 角色-權限-匿名等級的設計
系統定義三個用戶角色:學生,教師,管理員,保存在角色表中。用戶登錄時,系統將根據用戶角色決定用戶是否有權進行數據項的訪問;當用戶訪問信息時,根據角色對應的隱私等級來調用相應的匿名算法。我們設置的關系如表1所示。
2.2 訪問信息中個人隱私數據的加密
對個人的關鍵數據字段進行加密,能防止數據的竊取、篡改,保證數據的完整性。我們在系統中采用對個體信息的重要屬性進行加密,并在需要時候進行解密的方法,可較方便地實現數據信息的保護。在目前的密碼學領域,加密技術主要可分為對稱加密與非對稱加密兩種。
對稱加密,是指采用單鑰密碼系統的加密方法。對稱加密算法的特點是算法公開、計算量較小、加密速度快、加密效率高,可在大量數據加密時使用。對稱加密算法在分布式網絡系統上使用較為困難,主要是因為密鑰管理困難,使用成本較高。對稱加密算法的安全性取決于加密密鑰的保存情況。
非對稱加密算法也稱為公鑰算法。如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。非對稱加密算法的保密性較好,它消除了用戶交換密鑰的需要,但加密和解密花費時間長、速度慢,主要用于對少量數據加密,并不適合對大數據量文件的加密。
本文采用對稱加密算法中的PBE加密技術[5],對個人的隱私數據進行保護。該算法利用一組隨機數和口令,來對用戶信息中標識符部分(即可直接推定用戶信息的屬性,如身份證號等)進行加密處理,用戶只有通過合法的訪問申請,才能得到口令及隨機數來進行解密工作。
2.3 隱私保護策略和K匿名模型
隱私保護處理經常采用隱匿和泛化方法。隱匿即移除單個屬性值或者一個元組的所有值。泛化即一個值被一個更不確切的值所替換,這個值比原來的值更一般。匿名的過程是對需要保密的數據進行泛化和隱匿的過程。通過這個過程就可以發布沒有信息泄露的數據。
本項目中隱私保護策略決定了怎樣對用戶的隱私信息進行保護。隱私保護策略是設計的核心。隱私策略的制定是參考角色的。用戶在訪問數據庫資料時,需要提供相應的訪問目的。系統對不同的用戶根據不同的訪問目的設定不同的隱私訪問策略,并根據用戶的訪問目的及用戶本身的角色來定義訪問等級,從而確定匿名哪些數據。本文實現的算法參考了K匿名模型(K-Anonymity)中[6]的逐級泛化方式。
K-Anonymity模型是1998年Samarati P和Sweeney L提出的一個防止鏈接攻擊造成信息泄露的隱私保護模型。K-Anonymity模型要求每個個體將敏感屬性隱藏在規模為K的群體中,使攻擊者不能判別出敏感屬性所屬的具體個體,從而防止了個人隱私的泄密。
定義:對于一個數據表T,如果經過匿名化處理后得到等價數據表,當且僅當在任一等價組內每一條記錄至少有k-1條記錄與它相對應。
用戶在訪問自身角色允許的目標時,系統將根據訪問目的與訪問目標的不同,確立相應的匿名等級,對照數據庫中相應的匿名表,進行匿名泛化處理。
3 教學管理系統中的RBAC_PL實現
3.1 系統功能和RBAC_PL流程設計
我們建立的高校教學管理系統主要實現學生、教師相關信息的檢索,可以簡單描述如下。
⑴ 個人資料查詢:可獲取經過匿名化處理的全部個人資料數據,可用于查詢統計分析。
⑵ 個人資料查詢(學院):可獲取與登錄學生或教師相關學院的經過匿名化處理的個人資料數據,用于查詢統計分析。
⑶ 績點信息查詢(全體):可獲取相關績點成績信息數據(績點信息經過低等級泛化處理),用于查詢統計分析。
⑷ 績點信息查詢(學院):可獲取與登錄學生或教師相關學院相關績點成績信息數據(績點信息經過低等級泛化處理),用于查詢統計分析。不同身份用戶獲取資料的匿名等級不同。
⑸ 用戶信息:顯示經過解密處理后的當前用戶的全部資料。
⑹ 信息添加:管理員身份用戶可對信息進行添加操作。標識符信息需經加密處理。
系統的整體處理流程如下:操作者(如教師)登錄系統后,按頁面操作,提出查詢請求,確定具體的訪問目標資源(如個人資料)。系統取得含有加密數據的請求信息,同時取得數據所有者關于此查看請求的相應權限信息,對照權限信息來進行相應的數據解密,之后進行相應的匿名泛化處理,再將信息返還給操作者。
3.2 系統實現和應用舉例
我們選擇Tomcat 6.0建立Web服務器,選用SQL SERVER 200作為數據庫建立教學管理系統。系統采用Java,HTML及JavaScript語言開發。
系統中加密密鑰分為口令和隨機數兩部分,口令存儲在數據庫中,隨機數預先制定。如圖3所示,為防止內部的信息泄露,對關鍵字段進行了加密。
假設有一個學生A想要查詢個人資料和績點信息,系統按照A對這些資料訪問的限制分配角色,確定他對哪些字段享有訪問權限。如果A被賦予可以查看全校個人資料的角色(如圖4(a)所示),那么他可以看到全校的個人資料;如果他僅被賦予可查看全院個人資料的角色(如圖4(b)所示),那么他所訪問的字段將受到限制。這兩種不同角色對應的隱私保護的等級不同,因此獲得的信息將經過不同的泛化。
4 結束語
我們在分析RBAC模型和隱私保護技術基礎上,設計和實現了基于角色的隱私保護技術原型,結合角色分配和數據內容的隱私保護策略,控制了用戶數據訪問權限及對敏感信息內容的訪問等級。通過將該原型系統部署于一個教學管理系統,實現并驗證了系統的可行性和有效性。
本系統所存在的主要問題是匿名化處理不夠完善,教學管理系統只局限于信息查詢管理,需要增加更多的訪問目的和訪問方式,使得新模型更加完善。在未來的工作中,我們將更深入地研究泛化算法與等級保護策略的自動化配置。
參考文獻:
[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] 柏文陽.安全數據庫的隱私保護和訪問控制集成研究[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