李甲帥,彭長根,朱義杰,馬海峰
(1.貴州大學(xué)計算機科學(xué)與技術(shù)學(xué)院,貴州 貴陽 550025;2.貴州大學(xué)密碼學(xué)與數(shù)據(jù)安全研究所,貴州 貴陽 550025;3.貴州大學(xué)理學(xué)院,貴州 貴陽 550025)
面向Hadoop的風(fēng)險訪問控制模型
李甲帥1,2,彭長根2,3,朱義杰1,2,馬海峰1,2
(1.貴州大學(xué)計算機科學(xué)與技術(shù)學(xué)院,貴州 貴陽 550025;2.貴州大學(xué)密碼學(xué)與數(shù)據(jù)安全研究所,貴州 貴陽 550025;3.貴州大學(xué)理學(xué)院,貴州 貴陽 550025)
傳統(tǒng)的訪問控制機制難以約束授權(quán)用戶的惡意行為,使得采用這種訪問控制機制的Hadoop平臺面臨著大數(shù)據(jù)隱私泄露的風(fēng)險。提出了一種基于風(fēng)險的訪問控制模型,該模型通過對主體和客體標(biāo)簽的設(shè)定,根據(jù)用戶的歷史行為記錄構(gòu)造信息熵風(fēng)險值計算函數(shù),并進一步建立風(fēng)險值波動的追蹤鏈,通過風(fēng)險值及其波動幅度動態(tài)調(diào)整用戶的訪問權(quán)限。將該模型應(yīng)用于Hadoop的Kerberos認(rèn)證協(xié)議的改進,結(jié)合訪問令牌及風(fēng)險監(jiān)測實現(xiàn)大數(shù)據(jù)隱私保護風(fēng)險訪問控制機制。最后,針對醫(yī)療大數(shù)據(jù)進行應(yīng)用仿真,實驗表明該模型可以有效約束大數(shù)據(jù)應(yīng)用平臺中授權(quán)用戶的訪問行為。
風(fēng)險訪問控制;Hadoop;隱私保護;信息熵;大數(shù)據(jù)
大數(shù)據(jù)時代,數(shù)據(jù)的增長帶來了迫切的分析需求,而Hadoop平臺快速處理大量數(shù)據(jù)帶來了非常大的便利,它可以通過分布式計算提供高性能的并行數(shù)據(jù)計算,并基于分布式文件系統(tǒng)(HDFS)來實現(xiàn)海量數(shù)據(jù)的可靠存儲。然而,Hadoop基于Kerberos的訪問控制機制并不能有效地保護用戶的隱私數(shù)據(jù),和原有的訪問控制模型類似,基于訪問令牌的訪問控制模型是通過對用戶身份進行驗證,當(dāng)用戶的身份認(rèn)證通過時,持系統(tǒng)頒發(fā)的訪問令牌就可以對Hadoop集群進行訪問,而其在集群中的操作便不受監(jiān)管。針對此,劉莎等[1]提出了基于信任的訪問控制模型,通過對用戶的行為記錄結(jié)合信任值計算算法用于Hadoop訪問模型來限制用戶的訪問行為,但只考慮到了用戶的操作行為,并沒有對隱私數(shù)據(jù)的保護提供一種有效的保護措施。
近年來,有學(xué)者提出了基于風(fēng)險訪問控制模型,即在無法準(zhǔn)確為用戶指定其所可以訪問的數(shù)據(jù)下又能保持?jǐn)?shù)據(jù)流通程度最大。2007年,IBM研究中心的Cheng等[2]就模糊多層次的風(fēng)險訪問控制進行了理論研究;2010年,美國普渡大學(xué)的Ni等[3]在Cheng等的工作基礎(chǔ)上分析了模糊風(fēng)險訪問控制的最優(yōu)模糊策略;2012年,Kirkpatrick 等[4]針對訪問控制過程中服務(wù)器作為訪問評估的角色進行了研究;同年,Pashalidis等[5]通過模糊策略的風(fēng)險訪問控制實現(xiàn)了隱私和效用的平衡;2014年,馮登國等[6]指出風(fēng)險訪問控制可以用于大數(shù)據(jù)隱私保護,在此方面Wang等[7]做了有益探索,將風(fēng)險訪問控制應(yīng)用于醫(yī)療數(shù)據(jù)的隱私保護。本文在此基礎(chǔ)上,建立一種面向Hadoop平臺的風(fēng)險訪問控制模型,先對訪問主體和客體進行訪問標(biāo)簽的設(shè)定,通過收集歷史行為記錄,并比較用戶信息量和平均信息量之差來建立風(fēng)險值計算函數(shù);其次,建立追蹤鏈來對風(fēng)險值的波動幅度進行檢測;最終實現(xiàn)基于風(fēng)險的訪問控制模型。
傳統(tǒng)的訪問控制模型都是基于關(guān)口的訪問控制模型,對于授予權(quán)限的用戶的后期行為并沒有進行有效的監(jiān)管,從而導(dǎo)致系統(tǒng)中隱私數(shù)據(jù)的泄露。
在本文的訪問控制模型中,基于歷史訪問行為記錄,引進信息熵的方法計算用戶訪問系統(tǒng)得到的信息量,以及系統(tǒng)中所有用戶因為相同目的訪問得到的平均信息量,進而計算風(fēng)險值,并對風(fēng)險值進行存儲,通過追蹤鏈對風(fēng)險值變化波動幅度進行周期性的跟蹤。本文的風(fēng)險訪問控制模型生成的詳細(xì)步驟如下:
1)對訪問主體和客體進行標(biāo)簽的設(shè)定;
2)基于信息熵計算風(fēng)險值;
3)風(fēng)險值追蹤鏈的建立。
2.1對訪問主體和客體設(shè)定標(biāo)簽
用戶的每一次訪問都會對訪問主體即用戶設(shè)定一定的標(biāo)簽,在醫(yī)療系統(tǒng)中,可以以醫(yī)生的訪問目的等信息來作為其訪問的標(biāo)簽;對于訪問客體也要設(shè)定標(biāo)簽,如病人的敏感數(shù)據(jù),就可以通過國際疾病分類ICD-10來設(shè)定標(biāo)簽。
2.2風(fēng)險值計算
系統(tǒng)會定期對用戶的訪問行為記錄進行分析,并計算風(fēng)險值。在對用戶iu的訪問行為進行分析時,將每一個用戶相同的訪問目的標(biāo)簽
同樣,也可以在系統(tǒng)的歷史數(shù)據(jù)行為記錄中,得到相同的訪問目的gi的所有用戶uall的訪問記錄,并得到allu的平均信息量表示allu的信息量總和,表示系統(tǒng)中這些用戶的數(shù)量,通過比較用戶 ui和 uall的信息量,就可以得到在相同訪問目的gj之下的差值,即風(fēng)險值
在系統(tǒng)中,周期性地對用戶所有的訪問目的進行求和,就可以得到用戶的風(fēng)險值為
從中可以看出,在相同的訪問目的下,當(dāng)用戶得到的信息量相比系統(tǒng)中所有的用戶得到的信息量偏大時,用戶的風(fēng)險值也會隨之增加,因而通過這種方式,系統(tǒng)就可以對已經(jīng)授權(quán)訪問數(shù)據(jù)用戶的訪問行為通過風(fēng)險值進行約束,當(dāng)其風(fēng)險值大于系統(tǒng)設(shè)定的閾值時,系統(tǒng)就會限制其訪問,從而可以防止一些惡意訪問等帶來的隱私數(shù)據(jù)的泄露。
最后,設(shè)定系統(tǒng)會周期性根據(jù)每一個用戶的身份信息等設(shè)定一定的風(fēng)險閾值,并且風(fēng)險閾值會在用戶訪問時由于用戶的風(fēng)險值的增加而減小,其從而得到風(fēng)險訪問控制的判斷函數(shù)為
2.3風(fēng)險值追蹤鏈
考慮到風(fēng)險是根據(jù)用戶的歷史訪問行為記錄進行計算的,因而在風(fēng)險值的產(chǎn)生和訪問過程中有可能存在一定的窗口期,在此期間,用戶有可能會一次性地將分配給他的風(fēng)險閾值用完,繼而產(chǎn)生一定程度的隱私泄露,為了將此隱私泄露的程度降到可控的范圍之內(nèi),對風(fēng)險值的波動程度進行追蹤,并最后設(shè)定系統(tǒng)的波動可以容忍的波動閾值,如果用戶的波動范圍超過該閾值,則系統(tǒng)禁止其訪問。
首先,建立一個追蹤鏈S用來存儲系統(tǒng)中所有訪問用戶的風(fēng)險值,表示用戶一段時間內(nèi)的風(fēng)險值,且其中,表示用戶在時間的風(fēng)險值波動幅度,且其值為用表示用戶這段時間的波動幅度,則
其次,規(guī)定系統(tǒng)可以容忍的波動幅度為θ,得到用戶和系統(tǒng)容忍度的一個判斷函數(shù)
2.4風(fēng)險訪問控制模型
結(jié)合風(fēng)險值的計算以及風(fēng)險值的波動范圍來對系統(tǒng)中的敏感數(shù)據(jù)進行保護,當(dāng)用戶的風(fēng)險閾值小于0時,系統(tǒng)會禁止其訪問系統(tǒng)中的數(shù)據(jù),另外,由于風(fēng)險值的計算系統(tǒng)中會存在一定的窗口期,因而會定時地跟蹤風(fēng)險值的波動幅度,當(dāng)其超過系統(tǒng)規(guī)定的幅度時,系統(tǒng)同樣也會禁止其訪問,從中可以看出,當(dāng)用戶訪問系統(tǒng)時
當(dāng)access=2時,系統(tǒng)允許其訪問系統(tǒng)中的數(shù)據(jù),當(dāng)access<2時,可以判斷出用戶可能是風(fēng)險閾值小于0或者其風(fēng)險值的波動范圍超過了系統(tǒng)容忍范圍從而導(dǎo)致其小于2,因此對于這些授權(quán)用戶的訪問行為進行了約束。具體的風(fēng)險訪問控制模型如圖1所示。
圖1 風(fēng)險訪問控制模型
基于Kerberos認(rèn)證協(xié)議的Hadoop訪問控制模型是一種關(guān)口式的訪問控制,根據(jù)用戶的身份,系統(tǒng)會頒發(fā)票據(jù),用戶持此票據(jù)便可以訪問Hadoop集群,并對集群中的數(shù)據(jù)進行分布式讀取和計算,但對于用戶在集群中的操作行為并沒有進行監(jiān)控,這樣就會導(dǎo)致授權(quán)用戶在集群中的操作不受約束,本文基于此,將風(fēng)險的訪問控制模型結(jié)合Kerberos協(xié)議用于Hadoop的訪問控制模型中,來實現(xiàn)對已經(jīng)授權(quán)用戶的訪問行為進行約束,進而達到對平臺中隱私數(shù)據(jù)的進一步保護。
3.1基于Kerberos認(rèn)證協(xié)議的Hadoop訪問控制模型
Hadoop1.0.0版本之后,才在其中加入了基于Kerberos認(rèn)證的訪問控制,在集群運行時,集群內(nèi)的節(jié)點使用密鑰進行認(rèn)證,只有通過認(rèn)證之后才能正常訪問節(jié)點,這種認(rèn)證確保了Hadoop集群的可靠安全。
Kerberos機制解決了客戶端到服務(wù)器和服務(wù)器到服務(wù)器端的認(rèn)證,在其KDC上會產(chǎn)生客戶端、主節(jié)點和子節(jié)點之間相互通信的密鑰Keytab,通過這些Keytab,節(jié)點之間就可以進行互相的認(rèn)證,并提供相應(yīng)的服務(wù),防止了被冒充的可能性。具體的訪問控制分為兩級:服務(wù)層授權(quán)控制(service level authorization)為系統(tǒng)級,用于控制用戶是否可以訪問集群;另一級包括控制mapred隊列權(quán)限訪問(access control on job queues)和控制文件權(quán)限訪問(DFSPermmision),分別用于控制Hadoop平臺中的mapreduce計算和文件的讀取權(quán)限。在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驗證通過,則允許用戶的計算任務(wù)放入到計算序列中,等待mapreduce的計算,圖2給出具體的訪問控制流程。
3.2Hadoop平臺加入風(fēng)險的訪問控制新模型
基于原有的Hadoop訪問控制模型,結(jié)合本論文講述的風(fēng)險訪問控制模型用于其中,當(dāng)用戶訪問集群時,持訪問令牌訪問集群,master節(jié)點不再僅僅充當(dāng)驗證身份的作用,還可以通過信任值數(shù)據(jù)庫計算用戶的風(fēng)險值,并結(jié)合追蹤鏈中的風(fēng)險值的波動幅度,來判斷用戶是否可以訪問系統(tǒng)中的數(shù)據(jù),由于對風(fēng)險值的計算是根據(jù)用戶的歷史訪問行為,因而可以充分利用Hadoop的心跳機制來實現(xiàn)對用戶操作行為的收集。其中關(guān)于標(biāo)簽的設(shè)定以及相關(guān)的算法定義如下。
圖2 基于Kerberos的Hadoop訪問控制模型
算法1用戶的訪問行為記錄收集算法(behavior collecting)
該算法首先會判斷有沒有用戶訪問集群,有用戶訪問集群,根據(jù)訪問目的和訪問數(shù)據(jù)的標(biāo)簽,結(jié)合系統(tǒng)中時間,會在Hadoop集群中相關(guān)的slave節(jié)點生成一條訪問記錄,繼而通過心跳機制,可以將這些訪問記錄周期性地傳送到master節(jié)點,master節(jié)點在收集到這些信息后,會將其寫入到信任值數(shù)據(jù)庫。
算法2風(fēng)險訪問判斷算法(risk computing)
該算法首先是從信任值數(shù)據(jù)庫中遍歷用戶的訪問行為,如果是第一次訪問集群,則對用戶的風(fēng)險閾值進行初始化,如果不是,則計算用戶的風(fēng)險值,更新風(fēng)險閾值,并將此次訪問中的風(fēng)險閾值和風(fēng)險值存儲到追蹤鏈s中,最后,通過AccessCheck(risk)和RiskCheck(clientID)2個判斷函數(shù)分別對用戶的風(fēng)險值和波動幅度進行檢驗,如果驗證通過,則用戶可以繼續(xù)訪問集群。圖3是風(fēng)險訪問控制模型用于Hadoop現(xiàn)有的訪問控制機制。
4.1實驗設(shè)置
在實驗中,以醫(yī)療數(shù)據(jù)用于Hadoop平臺來實現(xiàn)對醫(yī)療數(shù)據(jù)的隱私保護,這里的數(shù)據(jù)來源于真實的醫(yī)療數(shù)據(jù),包括對1500個病人的訪問事件,在本實驗中,醫(yī)生分為誠實者和惡意者,在Hadoop平臺中,信任值數(shù)據(jù)庫中存儲的是每一個醫(yī)生的訪問記錄,對于每一個訪問記錄,包括用戶的信息、問主體標(biāo)簽(通過醫(yī)生所在的科室)和數(shù)據(jù)標(biāo)簽,對于每一個訪問主體標(biāo)簽的產(chǎn)生,都會對應(yīng)一系列的數(shù)據(jù)標(biāo)簽,病人的數(shù)據(jù)標(biāo)簽可以通過ICD-10疾病編碼進行設(shè)定,在這里,設(shè)定醫(yī)生表示因為某一個訪問目的訪問數(shù)據(jù)的疾病編碼,另外用和來表示在疾病代碼中屬于的主類和子類,因而并且D表示所有的疾病代碼集合,如表1所示。
圖3 加入風(fēng)險之后的Hadoop訪問控制模型
最后,根據(jù)醫(yī)生的訪問記錄通過風(fēng)險訪問控制模型來對風(fēng)險值進行計算,每一個用戶的風(fēng)險值即根據(jù)用戶所屬的科室(訪問目的)和ICD10(數(shù)據(jù)標(biāo)簽)之間的關(guān)系結(jié)合信息量來進行確定。
4.2實驗結(jié)果
實驗設(shè)置500個醫(yī)生,500個醫(yī)生都可以授權(quán)訪問集群,即每一個醫(yī)生都持有合法的訪問令牌訪問集群,并設(shè)定其中10%的醫(yī)生為惡意醫(yī)生,這些惡意醫(yī)生的定義為以超過5%的概率來訪問系統(tǒng)中不屬于自己主類的數(shù)據(jù),通過對平臺中的信任值數(shù)據(jù)庫進行風(fēng)險值的計算,可以得出其中誠實醫(yī)生和惡意醫(yī)生的平均風(fēng)險值如表2所示。
表1 疾病代碼及醫(yī)生科室關(guān)系
表2 誠實醫(yī)生與惡意醫(yī)生的平均風(fēng)險值
從表2可以看出,誠實醫(yī)生比惡意醫(yī)生的風(fēng)險值明顯要低,即在系統(tǒng)允許所有醫(yī)生訪問集群的情況下,通過風(fēng)險值的計算,可以發(fā)現(xiàn)惡意醫(yī)生平均的風(fēng)險值明顯大于誠實的醫(yī)生,即將風(fēng)險的訪問控制用于Hadoop大數(shù)據(jù)平臺,可以有效地降低授權(quán)用戶進行不合法的操作。
本文提出了一種基于風(fēng)險的訪問控制模型,并將其用于現(xiàn)有的Hadoop平臺的訪問控制框架中,其優(yōu)點在于:
1)通過設(shè)置訪問控制中主體和客體的標(biāo)簽,并基于用戶的歷史行為操作記錄,利用信息熵的計算方法來計算出用戶的風(fēng)險值,使該訪問控制模型不再是一個“關(guān)口模式”,而是一種動態(tài)的、更加細(xì)粒度的模型;
2)在用戶允許訪問的同時,系統(tǒng)會通過風(fēng)險值追蹤鏈來實時記錄風(fēng)險值的變化幅度,使用戶在訪問系統(tǒng)和風(fēng)險值計算的窗口期期間,有效地降低系統(tǒng)中數(shù)據(jù)隱私泄露;
3)基于Hadoop原有的訪問控制模型,以及master節(jié)點通過心跳機制實時收集每一個slave節(jié)點的信息,可以有效地收集用戶的操作記錄,實現(xiàn)了將基于風(fēng)險的訪問控制模型用于Hadoop大數(shù)據(jù)平臺中,在master節(jié)點驗證完身份之后,基于風(fēng)險值的計算及風(fēng)險值幅度的變化,驗證用戶的訪問風(fēng)險,從而在合法的用戶可以進入到Hadoop集群的前提下,能對授權(quán)用戶的訪問行為進行進一步約束,繼而可以保護平臺中的隱私數(shù)據(jù)。
本文由于實驗數(shù)據(jù)所限,因而對實驗誤差會有一定的影響;另外,在風(fēng)險訪問控制模型的基礎(chǔ)上,如何對風(fēng)險閾值和風(fēng)險值波動容忍度進行合理的設(shè)定是下一步研究重點。
算機科學(xué),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].計算機學(xué)報, 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].電子學(xué)報,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融合:基于風(fēng)險 purpose的隱私查詢訪問控制[J].計算機學(xué)報,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
國家自然科學(xué)基金資助項目(No.61262073,No.61363068);全國統(tǒng)計科學(xué)研究計劃基金資助項目(No.2013LZ46);貴州省統(tǒng)計科學(xué)研究課題基金資助項目(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-),男,山西運城人,貴州大學(xué)碩士生,主要研究方向為密碼學(xué)與可信計算。
彭長根(1963-),男,侗族,貴州錦屏人,博士,貴州大學(xué)教授、博士生導(dǎo)師,主要研究方向為密碼學(xué)、信息安全。
朱義杰(1989-),男,山東臨沂人,貴州大學(xué)碩士生,主要研究方向為密碼學(xué)與可信計算。
馬海峰(1990-),男,四川樂山人,貴州大學(xué)碩士生,主要研究方向為密碼學(xué)與可信計算。