欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于角色和用戶(hù)信任值的hdfs訪(fǎng)問(wèn)控制方法

文檔序號(hào):9219777閱讀:434來(lái)源:國(guó)知局
一種基于角色和用戶(hù)信任值的hdfs訪(fǎng)問(wèn)控制方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于角色和用戶(hù)信任值的HDFS訪(fǎng)問(wèn)控制方法,屬于計(jì)算機(jī)云存 儲(chǔ)訪(fǎng)問(wèn)控制領(lǐng)域。
【背景技術(shù)】
[0002] 隨著云存儲(chǔ)技術(shù)的快速發(fā)展,越來(lái)越多的用戶(hù)和企業(yè)使用云存儲(chǔ)來(lái)保存數(shù)據(jù)或備 份數(shù)據(jù),以增強(qiáng)數(shù)據(jù)的可移動(dòng)性,然而由此帶來(lái)的安全性問(wèn)題卻未得到有效解決。云存儲(chǔ)的 核心實(shí)際上是一個(gè)分布式文件系統(tǒng),所以云存儲(chǔ)的數(shù)據(jù)安全性問(wèn)題實(shí)際上就是分布式文件 系統(tǒng)的數(shù)據(jù)安全性問(wèn)題。
[0003] Hadoop最初的設(shè)計(jì)是假定HDFS運(yùn)行在安全的封閉環(huán)境中,集群內(nèi)的所有節(jié)點(diǎn)都 是可靠的、值得信賴(lài)的,并提供給一組相互合作的用戶(hù)使用,所以HDFS在設(shè)計(jì)之初主要考 慮的是大規(guī)模數(shù)據(jù)存儲(chǔ)的性能問(wèn)題,并沒(méi)有太多地關(guān)注分布式計(jì)算環(huán)境中的安全問(wèn)題。
[0004] 隨著云存儲(chǔ)的發(fā)展和廣泛應(yīng)用,Hadoop分布式文件系統(tǒng)HDFS的安全受到了極大 的威脅。HDFS在用戶(hù)與服務(wù)之間并沒(méi)有提供足夠的安全認(rèn)證,默認(rèn)情況下,HDFS通過(guò)正 在運(yùn)行進(jìn)程的用戶(hù)名和用戶(hù)組來(lái)唯一確定客戶(hù)端的標(biāo)識(shí),但由于客戶(hù)端是遠(yuǎn)程的,用戶(hù)可 以簡(jiǎn)單地在遠(yuǎn)程系統(tǒng)上以自己的名義創(chuàng)建一個(gè)賬戶(hù),導(dǎo)致用戶(hù)可以偽裝成任何身份,從而 繞過(guò)HDFS的權(quán)限驗(yàn)證,隨意訪(fǎng)問(wèn)HDFS中的數(shù)據(jù)。此外,由于DataNode節(jié)點(diǎn)對(duì)客戶(hù)端的 訪(fǎng)問(wèn)不強(qiáng)制實(shí)施任何訪(fǎng)問(wèn)控制措施,這可能導(dǎo)致一個(gè)未經(jīng)授權(quán)的客戶(hù)端只要知道數(shù)據(jù)塊的 BlockID就可以直接讀取數(shù)據(jù)塊,繞過(guò)與NameNode節(jié)點(diǎn)的通信驗(yàn)證,同時(shí)也可使得任何 人都可以向DataNode節(jié)點(diǎn)寫(xiě)入任意的數(shù)據(jù)塊,或者冒充成合法的DataNode節(jié)點(diǎn)來(lái)接收 NameNode節(jié)點(diǎn)的任務(wù)和數(shù)據(jù)。雖然HDFS本身支持權(quán)限控制,但提供的僅是簡(jiǎn)單自主訪(fǎng)問(wèn) 控制,使用9-bit位來(lái)表示,支持較弱,存在較大的安全隱患。

【發(fā)明內(nèi)容】

[0005] 為了克服HDFS現(xiàn)有訪(fǎng)問(wèn)控制機(jī)制的不足,本發(fā)明提出了一種基于角色和用戶(hù)信 任值的HDFS訪(fǎng)問(wèn)控制方法。本發(fā)明的目的在于實(shí)現(xiàn)一種實(shí)時(shí)動(dòng)態(tài)、粒度更細(xì)、更加靈活的 訪(fǎng)問(wèn)控制機(jī)制,能夠更加安全、合理地為用戶(hù)分配合適的權(quán)限。
[0006] 本發(fā)明為解決其技術(shù)問(wèn)題采用如下技術(shù)方案:
[0007] 一種基于角色和用戶(hù)信任值的HDFS訪(fǎng)問(wèn)控制方法,包括如下步驟:
[0008] 步驟一、用戶(hù)訪(fǎng)問(wèn)HDFS之前,首先向角色管理服務(wù)器申請(qǐng)用戶(hù)角色,角色管理服 務(wù)器為用戶(hù)分配角色,并將角色證書(shū)和共享密鑰頒發(fā)給用戶(hù)。
[0009] 步驟二、用戶(hù)持角色證書(shū)和共享密鑰訪(fǎng)問(wèn)可信賴(lài)第三方認(rèn)證系統(tǒng)Kerberos,申請(qǐng) 身份認(rèn)證,若用戶(hù)身份合法,則授予用戶(hù)訪(fǎng)問(wèn)HDFS的服務(wù)票據(jù)Ticket。
[0010] 步驟三、用戶(hù)持Ticket向NameNode節(jié)點(diǎn)請(qǐng)求服務(wù),通過(guò)查詢(xún)存儲(chǔ)在行為數(shù)據(jù)庫(kù) 中的用戶(hù)行為記錄,并利用信任值更新算法計(jì)算得到用戶(hù)當(dāng)前信任值,若用戶(hù)當(dāng)前信任值 大于等于系統(tǒng)所設(shè)定的信任值閾值TrustthreshaLd,則NameNode節(jié)點(diǎn)為用戶(hù)頒發(fā)塊訪(fǎng)問(wèn)授權(quán) 令牌BlockAccessToken,用戶(hù)持BlockAccessToken連接NameNode節(jié)點(diǎn)告知的所有DataNode節(jié)點(diǎn),獲取所需服務(wù)。
[0011] 所述步驟一中,角色管理服務(wù)器是實(shí)現(xiàn)角色分配管理的核心,作為可信機(jī)構(gòu)參與 訪(fǎng)問(wèn)控制過(guò)程,其主要由角色管理模塊、密鑰管理模塊、證書(shū)管理模塊、用戶(hù)接口模塊、網(wǎng)絡(luò) 通信模塊5個(gè)模塊組成。當(dāng)用戶(hù)向角色管理服務(wù)器提出訪(fǎng)問(wèn)請(qǐng)求(包括用戶(hù)名、密碼及所 申請(qǐng)的角色),角色管理服務(wù)器根據(jù)用戶(hù)身份,查詢(xún)用戶(hù)和角色數(shù)據(jù)庫(kù),為用戶(hù)分配相應(yīng)的 角色,并同密鑰管理模塊生成的角色密鑰一起生成角色證書(shū),發(fā)送給用戶(hù)。
[0012] 所述步驟二中,Kerberos作為可信賴(lài)第三方認(rèn)證系統(tǒng)實(shí)現(xiàn)對(duì)用戶(hù)的身份認(rèn)證,用 戶(hù)在對(duì)應(yīng)用服務(wù)器進(jìn)行訪(fǎng)問(wèn)之前,必須先從Kerberos服務(wù)器獲取該應(yīng)用服務(wù)器的訪(fǎng)問(wèn)許 可證Ticket。Kerberos服務(wù)器由2部分組成:認(rèn)證服務(wù)器(AuthenticationServer,AS) 和票據(jù)授予服務(wù)器(TicketGrantingServer,TGS),通過(guò)認(rèn)證服務(wù)器判斷用戶(hù)在不在密鑰 數(shù)據(jù)庫(kù)中,如果在則發(fā)布一個(gè)票據(jù)授權(quán)票據(jù)(TicketGrantingTicket,TGT),并將TGT用 會(huì)話(huà)密鑰K1加密后發(fā)送給用戶(hù);如果用戶(hù)不在密鑰數(shù)據(jù)庫(kù)中,則停止服務(wù)。
[0013] 用戶(hù)持密鑰K1解密信息,并將自己的唯一標(biāo)識(shí)用K1加密后和TGT-起發(fā)送給 TGS,TGS在驗(yàn)證TGT的有效性后,為其生成一個(gè)服務(wù)票據(jù)Ticket,Ticket包含會(huì)話(huà)密鑰K3、 用戶(hù)名、IP、地址、服務(wù)名、有效期、時(shí)間戳,且Ticket用密鑰K2進(jìn)行加密,K3用K1進(jìn)行加 密后一起發(fā)送給用戶(hù),由于用戶(hù)不知道密鑰K2,所以無(wú)法篡改Ticket中的信息;用戶(hù)持密 鑰K1解密信息得到密鑰K3,從而獲得與HDFS交互的密鑰。
[0014] 所述步驟三中,行為數(shù)據(jù)庫(kù)和信任值數(shù)據(jù)庫(kù)均設(shè)置在NameNode節(jié)點(diǎn)上,當(dāng)用戶(hù)持 Ticket訪(fǎng)問(wèn)NameNode節(jié)點(diǎn)時(shí),通過(guò)查詢(xún)行為數(shù)據(jù)庫(kù)中的用戶(hù)行為記錄,并利用信任值更 新算法計(jì)算得到用戶(hù)信任值,信任值更新算法如公式(1)所示:
[0015]

[0016] 其中cf?表示用戶(hù)最新信任值,initTrust表示用戶(hù)初始信任值或歷史信任值,Not、 N^Ndb分別表示普通行為、風(fēng)險(xiǎn)行為、危險(xiǎn)行為這三類(lèi)用戶(hù)行為各自的記錄總數(shù),a、0、Y 為系統(tǒng)賦予每種行為類(lèi)別的信任值評(píng)估權(quán)重,且滿(mǎn)足a+0+y= 1的關(guān)系。
[0017] 當(dāng)用戶(hù)滿(mǎn)足用戶(hù)身份合法,服務(wù)票據(jù)合法且信任值大于等于信任值閾值條件時(shí), 允許其訪(fǎng)問(wèn)HDFS中的資源,這一訪(fǎng)問(wèn)控制規(guī)則的約束表達(dá)式如下:
[0018]
(2)
[0019] 當(dāng)用戶(hù)身份非法或服務(wù)票據(jù)非法或信任值小于信任值閾值時(shí),系統(tǒng)拒絕用戶(hù)訪(fǎng)問(wèn) HDFS中的資源,這一訪(fǎng)問(wèn)控制規(guī)則的約束表達(dá)式如下:
[0020]
(3)
[0021] 其中,user為用戶(hù)信息,tick為用戶(hù)訪(fǎng)問(wèn)Name Node節(jié)點(diǎn)的服務(wù)票據(jù),cf為用戶(hù) 最新信任值,Trustthresh()ldS信任值閾值,ACCEPT為允許本次訪(fǎng)問(wèn)操作,DENY為拒絕本次訪(fǎng) 問(wèn)操作。
[0022] 當(dāng)用戶(hù)滿(mǎn)足CP規(guī)則時(shí),NameNode節(jié)點(diǎn)為用戶(hù)頒發(fā)BlockAccessToken,用戶(hù) 持BlockAccessToken訪(fǎng)問(wèn)DataNode節(jié)點(diǎn),獲取所需服務(wù);當(dāng)用戶(hù)滿(mǎn)足CR規(guī)則時(shí),Name Node節(jié)點(diǎn)向用戶(hù)發(fā)送拒絕提供服務(wù)的提示信息。
[0023] 本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下有益效果:
[0024] (1)本發(fā)明結(jié)合基于角色的訪(fǎng)問(wèn)控制策略RBAC實(shí)現(xiàn)了用戶(hù)與權(quán)限的隔離,減少了 HDFS授權(quán)管理的復(fù)雜性和管理開(kāi)銷(xiāo),提高了授權(quán)管理的靈活性。
[0025] (2)本發(fā)明利用可信賴(lài)第三方認(rèn)證系統(tǒng)Kerberos實(shí)現(xiàn)了對(duì)用戶(hù)的安全認(rèn)證,解決 了惡意用戶(hù)偽裝成合法用戶(hù)獲取HDFS的文件權(quán)限,以及惡意用戶(hù)在得知BlockID后繞過(guò) NameNode節(jié)點(diǎn)直接訪(fǎng)問(wèn)DataNode節(jié)點(diǎn)的缺陷。
[0026] (3)本發(fā)明引入用戶(hù)信任值的概念,通過(guò)為每個(gè)用戶(hù)設(shè)定一個(gè)信任值,并根據(jù)用戶(hù) 行為實(shí)時(shí)更新其信任值,實(shí)現(xiàn)了一種細(xì)粒度的、可靠的、靈活的訪(fǎng)問(wèn)控制機(jī)制,滿(mǎn)足了對(duì)用 戶(hù)訪(fǎng)問(wèn)的動(dòng)態(tài)控制需求,解決了合法用戶(hù)后期行為可信性問(wèn)題。
【附圖說(shuō)明】
[0027] 圖1是本發(fā)明的模型結(jié)構(gòu)示意圖。
[0028] 圖2是本發(fā)明的訪(fǎng)問(wèn)控制方法流程示意圖。
[0029] 圖3是基于角色的HDFS訪(fǎng)問(wèn)控制流程示意圖。
[0030] 圖4是基于用戶(hù)彳目任值的HDFS訪(fǎng)問(wèn)控制流程不意圖。
[0031] 圖5是簡(jiǎn)化的基于用戶(hù)信任值的HDFS訪(fǎng)問(wèn)控制核心流程示意圖。
【具體實(shí)施方式】
[0032] 以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步詳細(xì)說(shuō)明:
[0033] 實(shí)施例一
[0034] 為了解決Hadoop分布式文件系統(tǒng)HDFS的訪(fǎng)問(wèn)控制問(wèn)題,本發(fā)明提供了一種基于 角色和用戶(hù)信任值的HDFS訪(fǎng)問(wèn)控制方法,具體流程如圖2所示,該方法包括:
[0035] 當(dāng)用戶(hù)發(fā)出操作請(qǐng)求時(shí),角色管理服務(wù)器首先驗(yàn)證操作請(qǐng)求的完整性,然后檢查 用戶(hù)操作的權(quán)限,檢查通過(guò)后,角色管理服務(wù)器根據(jù)用戶(hù)身份查詢(xún)用戶(hù)和角色數(shù)據(jù)庫(kù),為用 戶(hù)分配相應(yīng)的角色,并將角色證書(shū)和共享密鑰一起發(fā)送給用戶(hù)。
[0036] 用戶(hù)將自己的明文用戶(hù)信息發(fā)送給Kerberos的密鑰分發(fā)管理器(Key DistributionCenter,KDC),KDC服務(wù)器通過(guò)認(rèn)證服務(wù)器(AS)判斷用戶(hù)是否在密鑰數(shù)據(jù) 庫(kù)中,如果在則產(chǎn)生一個(gè)票據(jù)授權(quán)票據(jù)(TGT),并用會(huì)話(huà)密鑰K1加密后返回給用戶(hù),用戶(hù) 持密鑰K1解密信息,并將自己的唯一標(biāo)識(shí)用K1加密后和TGT-起發(fā)送給票據(jù)授予服務(wù)器 (TGS),TGS在驗(yàn)證TGT的有效性后,為其生成一個(gè)服務(wù)票據(jù)Ticket,Ticket包含會(huì)話(huà)密鑰 K3、用戶(hù)名、IP、地址、服務(wù)名、有效期、時(shí)間戳,且Ticket用密鑰K2進(jìn)行加密,K3用K1進(jìn)行 加密后一起發(fā)送給用戶(hù),由于用戶(hù)不知道密鑰K2,所以無(wú)法篡改Ticket中的信息,用戶(hù)持 密鑰K1解密信息得到密鑰K3,從而獲得與HDFS交互的密鑰。
[0037] 用戶(hù)持密鑰K3加密用戶(hù)名、IP,并與K2加密的Ticket-同發(fā)送給NameNode節(jié) 點(diǎn),申請(qǐng)NameNode節(jié)點(diǎn)上的身份認(rèn)證,若用戶(hù)身份合法,則NameNode節(jié)點(diǎn)頒發(fā)授權(quán)令牌 DelegationToken給用戶(hù),用戶(hù)持DelegationToken向NameNode節(jié)點(diǎn)申請(qǐng)HDFS服務(wù);NameNode節(jié)點(diǎn)通過(guò)查詢(xún)用戶(hù)行為數(shù)據(jù)庫(kù),并利用信任值更新算法計(jì)算得到用戶(hù)當(dāng)前的信 任值,若用戶(hù)當(dāng)前信任值大于等于系統(tǒng)所設(shè)定的信任值閾值,則NameNode節(jié)點(diǎn)為用戶(hù)生成 塊訪(fǎng)問(wèn)授權(quán)令牌BlockAccessToken,用戶(hù)持BlockAccessToken訪(fǎng)問(wèn)NameNode節(jié)點(diǎn) 告知的所有DataNode節(jié)點(diǎn)請(qǐng)求所需服務(wù),若用戶(hù)當(dāng)前信任值小于系統(tǒng)所設(shè)定的信任值閾 值,貝NameNode節(jié)點(diǎn)向用戶(hù)發(fā)送拒絕提供服務(wù)的提示信息;DataNode節(jié)點(diǎn)在最近的下一 次心跳中,將記錄在行為緩沖區(qū)中的用戶(hù)操作行為記錄反饋給NameNode節(jié)點(diǎn),NameNode 節(jié)點(diǎn)將反饋得到的用戶(hù)操作行為記錄保存到行為數(shù)據(jù)庫(kù)中,以便用戶(hù)下次訪(fǎng)問(wèn)HDFS時(shí)計(jì) 算用戶(hù)信任
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
渑池县| 丘北县| 从化市| 漳浦县| 屯昌县| 襄汾县| 齐齐哈尔市| 新津县| 汝城县| 鲁甸县| 历史| 博客| 灵宝市| 南开区| 兴国县| 望奎县| 民丰县| 隆昌县| 富裕县| 宣恩县| 久治县| 当阳市| 炉霍县| 克山县| 疏勒县| 富宁县| 阆中市| 巴里| 锡林浩特市| 永平县| 克山县| 柘城县| 修水县| 娱乐| 承德县| 呼和浩特市| 南昌县| 敖汉旗| 扶风县| 襄樊市| 两当县|