李甲帥,彭長根,朱義杰,馬海峰
(1.貴州大學計算機科學與技術學院,貴州 貴陽 550025;2.貴州大學密碼學與數(shù)據(jù)安全研究所,貴州 貴陽 550025;3.貴州大學理學院,貴州 貴陽 550025)
面向Hadoop的風險訪問控制模型
李甲帥1,2,彭長根2,3,朱義杰1,2,馬海峰1,2
(1.貴州大學計算機科學與技術學院,貴州 貴陽 550025;2.貴州大學密碼學與數(shù)據(jù)安全研究所,貴州 貴陽 550025;3.貴州大學理學院,貴州 貴陽 550025)
傳統(tǒng)的訪問控制機制難以約束授權用戶的惡意行為,使得采用這種訪問控制機制的Hadoop平臺面臨著大數(shù)據(jù)隱私泄露的風險。提出了一種基于風險的訪問控制模型,該模型通過對主體和客體標簽的設定,根據(jù)用戶的歷史行為記錄構造信息熵風險值計算函數(shù),并進一步建立風險值波動的追蹤鏈,通過風險值及其波動幅度動態(tài)調整用戶的訪問權限。將該模型應用于Hadoop的Kerberos認證協(xié)議的改進,結合訪問令牌及風險監(jiān)測實現(xiàn)大數(shù)據(jù)隱私保護風險訪問控制機制。最后,針對醫(yī)療大數(shù)據(jù)進行應用仿真,實驗表明該模型可以有效約束大數(shù)據(jù)應用平臺中授權用戶的訪問行為。
風險訪問控制;Hadoop;隱私保護;信息熵;大數(shù)據(jù)
大數(shù)據(jù)時代,數(shù)據(jù)的增長帶來了迫切的分析需求,而Hadoop平臺快速處理大量數(shù)據(jù)帶來了非常大的便利,它可以通過分布式計算提供高性能的并行數(shù)據(jù)計算,并基于分布式文件系統(tǒng)(HDFS)來實現(xiàn)海量數(shù)據(jù)的可靠存儲。然而,Hadoop基于Kerberos的訪問控制機制并不能有效地保護用戶的隱私數(shù)據(jù),和原有的訪問控制模型類似,基于訪問令牌的訪問控制模型是通過對用戶身份進行驗證,當用戶的身份認證通過時,持系統(tǒng)頒發(fā)的訪問令牌就可以對Hadoop集群進行訪問,而其在集群中的操作便不受監(jiān)管。針對此,劉莎等[1]提出了基于信任的訪問控制模型,通過對用戶的行為記錄結合信任值計算算法用于Hadoop訪問模型來限制用戶的訪問行為,但只考慮到了用戶的操作行為,并沒有對隱私數(shù)據(jù)的保護提供一種有效的保護措施。
近年來,有學者提出了基于風險訪問控制模型,即在無法準確為用戶指定其所可以訪問的數(shù)據(jù)下又能保持數(shù)據(jù)流通程度最大。2007年,IBM研究中心的Cheng等[2]就模糊多層次的風險訪問控制進行了理論研究;2010年,美國普渡大學的Ni等[3]在Cheng等的工作基礎上分析了模糊風險訪問控制的最優(yōu)模糊策略;2012年,Kirkpatrick 等[4]針對訪問控制過程中服務器作為訪問評估的角色進行了研究;同年,Pashalidis等[5]通過模糊策略的風險訪問控制實現(xiàn)了隱私和效用的平衡;2014年,馮登國等[6]指出風險訪問控制可以用于大數(shù)據(jù)隱私保護,在此方面Wang等[7]做了有益探索,將風險訪問控制應用于醫(yī)療數(shù)據(jù)的隱私保護。本文在此基礎上,建立一種面向Hadoop平臺的風險訪問控制模型,先對訪問主體和客體進行訪問標簽的設定,通過收集歷史行為記錄,并比較用戶信息量和平均信息量之差來建立風險值計算函數(shù);其次,建立追蹤鏈來對風險值的波動幅度進行檢測;最終實現(xiàn)基于風險的訪問控制模型。
傳統(tǒng)的訪問控制模型都是基于關口的訪問控制模型,對于授予權限的用戶的后期行為并沒有進行有效的監(jiān)管,從而導致系統(tǒng)中隱私數(shù)據(jù)的泄露。
在本文的訪問控制模型中,基于歷史訪問行為記錄,引進信息熵的方法計算用戶訪問系統(tǒng)得到的信息量,以及系統(tǒng)中所有用戶因為相同目的訪問得到的平均信息量,進而計算風險值,并對風險值進行存儲,通過追蹤鏈對風險值變化波動幅度進行周期性的跟蹤。本文的風險訪問控制模型生成的詳細步驟如下:
1)對訪問主體和客體進行標簽的設定;
2)基于信息熵計算風險值;
3)風險值追蹤鏈的建立。
2.1對訪問主體和客體設定標簽
用戶的每一次訪問都會對訪問主體即用戶設定一定的標簽,在醫(yī)療系統(tǒng)中,可以以醫(yī)生的訪問目的等信息來作為其訪問的標簽;對于訪問客體也要設定標簽,如病人的敏感數(shù)據(jù),就可以通過國際疾病分類ICD-10來設定標簽。
2.2風險值計算
系統(tǒng)會定期對用戶的訪問行為記錄進行分析,并計算風險值。在對用戶iu的訪問行為進行分析時,將每一個用戶相同的訪問目的標簽
同樣,也可以在系統(tǒng)的歷史數(shù)據(jù)行為記錄中,得到相同的訪問目的gi的所有用戶uall的訪問記錄,并得到allu的平均信息量表示allu的信息量總和,表示系統(tǒng)中這些用戶的數(shù)量,通過比較用戶 ui和 uall的信息量,就可以得到在相同訪問目的gj之下的差值,即風險值
在系統(tǒng)中,周期性地對用戶所有的訪問目的進行求和,就可以得到用戶的風險值為
從中可以看出,在相同的訪問目的下,當用戶得到的信息量相比系統(tǒng)中所有的用戶得到的信息量偏大時,用戶的風險值也會隨之增加,因而通過這種方式,系統(tǒng)就可以對已經授權訪問數(shù)據(jù)用戶的訪問行為通過風險值進行約束,當其風險值大于系統(tǒng)設定的閾值時,系統(tǒng)就會限制其訪問,從而可以防止一些惡意訪問等帶來的隱私數(shù)據(jù)的泄露。
最后,設定系統(tǒng)會周期性根據(jù)每一個用戶的身份信息等設定一定的風險閾值,并且風險閾值會在用戶訪問時由于用戶的風險值的增加而減小,其從而得到風險訪問控制的判斷函數(shù)為
2.3風險值追蹤鏈
考慮到風險是根據(jù)用戶的歷史訪問行為記錄進行計算的,因而在風險值的產生和訪問過程中有可能存在一定的窗口期,在此期間,用戶有可能會一次性地將分配給他的風險閾值用完,繼而產生一定程度的隱私泄露,為了將此隱私泄露的程度降到可控的范圍之內,對風險值的波動程度進行追蹤,并最后設定系統(tǒng)的波動可以容忍的波動閾值,如果用戶的波動范圍超過該閾值,則系統(tǒng)禁止其訪問。
首先,建立一個追蹤鏈S用來存儲系統(tǒng)中所有訪問用戶的風險值,表示用戶一段時間內的風險值,且其中,表示用戶在時間的風險值波動幅度,且其值為用表示用戶這段時間的波動幅度,則
其次,規(guī)定系統(tǒng)可以容忍的波動幅度為θ,得到用戶和系統(tǒng)容忍度的一個判斷函數(shù)
2.4風險訪問控制模型
結合風險值的計算以及風險值的波動范圍來對系統(tǒng)中的敏感數(shù)據(jù)進行保護,當用戶的風險閾值小于0時,系統(tǒng)會禁止其訪問系統(tǒng)中的數(shù)據(jù),另外,由于風險值的計算系統(tǒng)中會存在一定的窗口期,因而會定時地跟蹤風險值的波動幅度,當其超過系統(tǒng)規(guī)定的幅度時,系統(tǒng)同樣也會禁止其訪問,從中可以看出,當用戶訪問系統(tǒng)時
當access=2時,系統(tǒng)允許其訪問系統(tǒng)中的數(shù)據(jù),當access<2時,可以判斷出用戶可能是風險閾值小于0或者其風險值的波動范圍超過了系統(tǒng)容忍范圍從而導致其小于2,因此對于這些授權用戶的訪問行為進行了約束。具體的風險訪問控制模型如圖1所示。
圖1 風險訪問控制模型
基于Kerberos認證協(xié)議的Hadoop訪問控制模型是一種關口式的訪問控制,根據(jù)用戶的身份,系統(tǒng)會頒發(fā)票據(jù),用戶持此票據(jù)便可以訪問Hadoop集群,并對集群中的數(shù)據(jù)進行分布式讀取和計算,但對于用戶在集群中的操作行為并沒有進行監(jiān)控,這樣就會導致授權用戶在集群中的操作不受約束,本文基于此,將風險的訪問控制模型結合Kerberos協(xié)議用于Hadoop的訪問控制模型中,來實現(xiàn)對已經授權用戶的訪問行為進行約束,進而達到對平臺中隱私數(shù)據(jù)的進一步保護。
3.1基于Kerberos認證協(xié)議的Hadoop訪問控制模型
Hadoop1.0.0版本之后,才在其中加入了基于Kerberos認證的訪問控制,在集群運行時,集群內的節(jié)點使用密鑰進行認證,只有通過認證之后才能正常訪問節(jié)點,這種認證確保了Hadoop集群的可靠安全。
Kerberos機制解決了客戶端到服務器和服務器到服務器端的認證,在其KDC上會產生客戶端、主節(jié)點和子節(jié)點之間相互通信的密鑰Keytab,通過這些Keytab,節(jié)點之間就可以進行互相的認證,并提供相應的服務,防止了被冒充的可能性。具體的訪問控制分為兩級:服務層授權控制(service level authorization)為系統(tǒng)級,用于控制用戶是否可以訪問集群;另一級包括控制mapred隊列權限訪問(access control on job queues)和控制文件權限訪問(DFSPermmision),分別用于控制Hadoop平臺中的mapreduce計算和文件的讀取權限。在Hadoop平臺中,包括master節(jié)點和slave節(jié)點,master節(jié)點根據(jù)用戶的訪問令牌完成身份的驗證工作;slave節(jié)點分為Datanode節(jié)點和Jobtarcker節(jié)點,分別完成分布式計算和分布式讀取數(shù)據(jù)的驗證,在Datanode節(jié)點,用戶持有block access token訪問令牌來對數(shù)據(jù)進行數(shù)據(jù)的讀取等操作,如果DFSPermmision驗證通過,則可以進行數(shù)據(jù)的讀取操作,在Jobtarcker節(jié)點,用戶持有job token進行數(shù)據(jù)的計算等操作,如果access control on job queues驗證通過,則允許用戶的計算任務放入到計算序列中,等待mapreduce的計算,圖2給出具體的訪問控制流程。
3.2Hadoop平臺加入風險的訪問控制新模型
基于原有的Hadoop訪問控制模型,結合本論文講述的風險訪問控制模型用于其中,當用戶訪問集群時,持訪問令牌訪問集群,master節(jié)點不再僅僅充當驗證身份的作用,還可以通過信任值數(shù)據(jù)庫計算用戶的風險值,并結合追蹤鏈中的風險值的波動幅度,來判斷用戶是否可以訪問系統(tǒng)中的數(shù)據(jù),由于對風險值的計算是根據(jù)用戶的歷史訪問行為,因而可以充分利用Hadoop的心跳機制來實現(xiàn)對用戶操作行為的收集。其中關于標簽的設定以及相關的算法定義如下。
圖2 基于Kerberos的Hadoop訪問控制模型
算法1用戶的訪問行為記錄收集算法(behavior collecting)
該算法首先會判斷有沒有用戶訪問集群,有用戶訪問集群,根據(jù)訪問目的和訪問數(shù)據(jù)的標簽,結合系統(tǒng)中時間,會在Hadoop集群中相關的slave節(jié)點生成一條訪問記錄,繼而通過心跳機制,可以將這些訪問記錄周期性地傳送到master節(jié)點,master節(jié)點在收集到這些信息后,會將其寫入到信任值數(shù)據(jù)庫。
算法2風險訪問判斷算法(risk computing)
該算法首先是從信任值數(shù)據(jù)庫中遍歷用戶的訪問行為,如果是第一次訪問集群,則對用戶的風險閾值進行初始化,如果不是,則計算用戶的風險值,更新風險閾值,并將此次訪問中的風險閾值和風險值存儲到追蹤鏈s中,最后,通過AccessCheck(risk)和RiskCheck(clientID)2個判斷函數(shù)分別對用戶的風險值和波動幅度進行檢驗,如果驗證通過,則用戶可以繼續(xù)訪問集群。圖3是風險訪問控制模型用于Hadoop現(xiàn)有的訪問控制機制。
4.1實驗設置
在實驗中,以醫(yī)療數(shù)據(jù)用于Hadoop平臺來實現(xiàn)對醫(yī)療數(shù)據(jù)的隱私保護,這里的數(shù)據(jù)來源于真實的醫(yī)療數(shù)據(jù),包括對1500個病人的訪問事件,在本實驗中,醫(yī)生分為誠實者和惡意者,在Hadoop平臺中,信任值數(shù)據(jù)庫中存儲的是每一個醫(yī)生的訪問記錄,對于每一個訪問記錄,包括用戶的信息、問主體標簽(通過醫(yī)生所在的科室)和數(shù)據(jù)標簽,對于每一個訪問主體標簽的產生,都會對應一系列的數(shù)據(jù)標簽,病人的數(shù)據(jù)標簽可以通過ICD-10疾病編碼進行設定,在這里,設定醫(yī)生表示因為某一個訪問目的訪問數(shù)據(jù)的疾病編碼,另外用和來表示在疾病代碼中屬于的主類和子類,因而并且D表示所有的疾病代碼集合,如表1所示。
圖3 加入風險之后的Hadoop訪問控制模型
最后,根據(jù)醫(yī)生的訪問記錄通過風險訪問控制模型來對風險值進行計算,每一個用戶的風險值即根據(jù)用戶所屬的科室(訪問目的)和ICD10(數(shù)據(jù)標簽)之間的關系結合信息量來進行確定。
4.2實驗結果
實驗設置500個醫(yī)生,500個醫(yī)生都可以授權訪問集群,即每一個醫(yī)生都持有合法的訪問令牌訪問集群,并設定其中10%的醫(yī)生為惡意醫(yī)生,這些惡意醫(yī)生的定義為以超過5%的概率來訪問系統(tǒng)中不屬于自己主類的數(shù)據(jù),通過對平臺中的信任值數(shù)據(jù)庫進行風險值的計算,可以得出其中誠實醫(yī)生和惡意醫(yī)生的平均風險值如表2所示。
表1 疾病代碼及醫(yī)生科室關系
表2 誠實醫(yī)生與惡意醫(yī)生的平均風險值
從表2可以看出,誠實醫(yī)生比惡意醫(yī)生的風險值明顯要低,即在系統(tǒng)允許所有醫(yī)生訪問集群的情況下,通過風險值的計算,可以發(fā)現(xiàn)惡意醫(yī)生平均的風險值明顯大于誠實的醫(yī)生,即將風險的訪問控制用于Hadoop大數(shù)據(jù)平臺,可以有效地降低授權用戶進行不合法的操作。
本文提出了一種基于風險的訪問控制模型,并將其用于現(xiàn)有的Hadoop平臺的訪問控制框架中,其優(yōu)點在于:
1)通過設置訪問控制中主體和客體的標簽,并基于用戶的歷史行為操作記錄,利用信息熵的計算方法來計算出用戶的風險值,使該訪問控制模型不再是一個“關口模式”,而是一種動態(tài)的、更加細粒度的模型;
2)在用戶允許訪問的同時,系統(tǒng)會通過風險值追蹤鏈來實時記錄風險值的變化幅度,使用戶在訪問系統(tǒng)和風險值計算的窗口期期間,有效地降低系統(tǒng)中數(shù)據(jù)隱私泄露;
3)基于Hadoop原有的訪問控制模型,以及master節(jié)點通過心跳機制實時收集每一個slave節(jié)點的信息,可以有效地收集用戶的操作記錄,實現(xiàn)了將基于風險的訪問控制模型用于Hadoop大數(shù)據(jù)平臺中,在master節(jié)點驗證完身份之后,基于風險值的計算及風險值幅度的變化,驗證用戶的訪問風險,從而在合法的用戶可以進入到Hadoop集群的前提下,能對授權用戶的訪問行為進行進一步約束,繼而可以保護平臺中的隱私數(shù)據(jù)。
本文由于實驗數(shù)據(jù)所限,因而對實驗誤差會有一定的影響;另外,在風險訪問控制模型的基礎上,如何對風險閾值和風險值波動容忍度進行合理的設定是下一步研究重點。
算機科學,2014,41(5):155-163.LIU S,TAN L.A access control model based on trust in Hadoop cloud platform[J].JournalofComputerScience,2014,41(5):155-163.
[2]CHENG P C,ROHATGI P,KESER C,et al.Fuzzy multi-level security:an experiment on quantified risk-adaptive access control[C]// IEEE Symposium on Security and Privacy.c2007:222-230.
[3]NI Q,BERTINO E,LOBO J.Risk-based access control systems built on fuzzy inferences[C]//The 5th ACM Symposium on Information,Computer and Communications Security.c2010: 250-260.
[4]KIRKPATRICK M S,GHINITA G,BERTINO E.Privacy-preserving enforcement of spatially aware RBAC[C]//IEEE Transactions on Dependableand Secure Computing.c2012:627-640.
[5]PASHALIDIS A,PRENEEL B.Evaluating tag-based preference obfuscation systems[C]//IEEE Transactions on Knowledge and Data Engineering.c2012:1613-1623.
[6]馮登國,張敏,李昊.大數(shù)據(jù)安全與隱私保護[J].計算機學報, 2014,37(1):246-258.FENG D G,ZHANG M,LI H.Big date security and privacy protection[J].Journal of Computers,2014,37(1):246-258.
[7]WANG Q,JIN H.Quantified risk-adaptive access control for patient privacy protection in health information systems[C]//The 6th ACM Symposium on Information, Computer and Communications Security.c2011:406-410.
[8]李鳳華,蘇铓,史國振,等.訪問控制模型研究進展及發(fā)展趨勢[J].電子學報,2012,40(4):805-813.LI F H,SU M,SHI G Z,et al.Research progress and developing trends of access control model[J].Journal of Electronics,2012, 40(4):805-813.
[9]劉逸敏,周浩峰,王智慧,等.Purpose融合:基于風險 purpose的隱私查詢訪問控制[J].計算機學報,2010(8):1339-1348.LIU Y M,ZHOU H F,WANG Z H,et al.The purpose convergence: privacy query access control based on risk purpose[J].Journal of Computers,2010,(8):1339-1348.
[1]劉莎,譚良.Hadoop云平臺中基于信任的訪問控制模型[J].計
Risk access control model for Hadoop
LI Jia-shuai1,2,PENG Chang-gen2,3,ZHU Yi-jie1,2,MAHai-feng1,2
(1.College of Computer Science&Information,Guizhou University,Guiyang 550025,China; 2.Institute of Cryptography&Data Security,Guizhou University,Guiyang 550025,China; 3.College of Science,Guizhou University,Guiyang 550025,China)
Traditional access control models are hard to restrain the malicious behavior of authorized users.Accordingly,Hadoop platform with this access control model is difficult to prevent the risk of privacy disclosure.A model of access control based on risk was proposed.A risk function of information entropy was designed from users’historical behavior based on setting the tags of subject and object.Furthermore,the tracking chain of risk was built,which could adjust the users’access authority dynamically according to the risk value and its volatility.Combining with access token and risk supervision,the risk access control mechanism for big data privacy protection was realized,which could be applied to enhance the security of Hadoop Kerberos protocol.Finally,the experiment result shows that the model can constrain the authorized users’access behavior effectively.
risk access control,Hadoop,privacy protection,information entropy,big data
TP309
A
10.11959/j.issn.2096-109x.2016.00015
2015-11-03;
2015-12-02。通信作者:彭長根,peng_stud@163.com
國家自然科學基金資助項目(No.61262073,No.61363068);全國統(tǒng)計科學研究計劃基金資助項目(No.2013LZ46);貴州省統(tǒng)計科學研究課題基金資助項目(No.201511)
Foundation Items:The National Natural Science Foundation of China(No.61262073,No.61363068),The National Statistical Scientific Research Project(No.2013LZ46),The Guizhou Province Statistical Scientific Research Project(No.201511)
李甲帥(1989-),男,山西運城人,貴州大學碩士生,主要研究方向為密碼學與可信計算。
彭長根(1963-),男,侗族,貴州錦屏人,博士,貴州大學教授、博士生導師,主要研究方向為密碼學、信息安全。
朱義杰(1989-),男,山東臨沂人,貴州大學碩士生,主要研究方向為密碼學與可信計算。
馬海峰(1990-),男,四川樂山人,貴州大學碩士生,主要研究方向為密碼學與可信計算。