基于用户信任值的HDFS访问控制模型研究*

2016-03-19 05:46史文浩江国华秦小麟胜南京航空航天大学计算机科学与技术学院南京210016
计算机与生活 2016年1期
关键词:云存储访问控制

史文浩,江国华,秦小麟,王 胜南京航空航天大学计算机科学与技术学院,南京210016

* The National Natural Science Foundation of China under Grant Nos. 61373015, 61300052, 41301047 (国家自然科学基金); the Priority Academic Development Program of Jiangsu Higher Education Institutions (江苏高校优势学科建设工程资助项目); the Innovation Program for Graduate Education of Jiangsu Province under Grant No. SJZZ_0043 (江苏省研究生培养创新工程).

Received 2015-03,Accepted 2015-05.

CNKI网络优先出版:2015-05-29, http://www.cnki.net/kcms/detail/11.5602.TP.20150529.1137.001.html

ISSN 1673-9418 CODEN JKYTA8

Journal of Frontiers of Computer Science and Technology

1673-9418/2016/10(01)-0025-11



基于用户信任值的HDFS访问控制模型研究*

史文浩+,江国华,秦小麟,王胜
南京航空航天大学计算机科学与技术学院,南京210016

* The National Natural Science Foundation of China under Grant Nos. 61373015, 61300052, 41301047 (国家自然科学基金); the Priority Academic Development Program of Jiangsu Higher Education Institutions (江苏高校优势学科建设工程资助项目); the Innovation Program for Graduate Education of Jiangsu Province under Grant No. SJZZ_0043 (江苏省研究生培养创新工程).

Received 2015-03,Accepted 2015-05.

CNKI网络优先出版:2015-05-29, http://www.cnki.net/kcms/detail/11.5602.TP.20150529.1137.001.html

ISSN 1673-9418 CODEN JKYTA8

Journal of Frontiers of Computer Science and Technology

1673-9418/2016/10(01)-0025-11

E-mail: fcst@vip.163.com

http://www.ceaj.org

Tel: +86-10-89056056

摘要:目前,越来越多的用户使用云存储来保存或备份数据,以增强数据的可移动性,但针对云存储的安全性问题,研究人员主要关注隐私泄露、数据容灾、副本消除等方面,对访问控制的研究较少。在前人研究的基础上,提出了一种基于用户信任值的HDFS(Hadoop distributed file system)访问控制模型。该模型结合可信book=26,ebook=30赖第三方认证系统Kerberos实现对用户的认证,并为每个用户设定一个信任值,通过信任值与信任值阈值的比较动态控制用户对HDFS的访问。实验结果表明,该模型不仅可以克服HDFS访问控制上的缺陷,而且能够动态、有效地控制用户对HDFS中资源的访问。

关键词:云存储;HDFS;访问控制;信任值

1 引言

云存储[1]是指通过集群、网格和分布式文件系统等技术,将网络中各种不同类型的存储设备通过软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一种新兴的存储模式,用户根据需要付费就可以从云存储服务提供商处获得任意大小的存储空间和企业级别的服务质量。但云存储的推广并非一帆风顺,Twinstrata公司2012年的云存储应用调查显示:只有20%的人愿意将自己的私有数据放在云存储中,大约有50%的人愿意使用云存储来进行数据备份、归档存储以及灾难恢复等操作[2]。这主要源于在云存储中,存储数据的物理介质不属于云存储用户所有,当用户将数据提交给云存储服务提供商后,具有数据优先访问权限的并不是相应的用户,而是云存储服务提供商。同时,在云存储平台中用户的数据处于共享环境,在这种情况下如何保证用户数据的安全是人们非常关注的问题[3]。

云存储的核心实际上是一个分布式文件系统[4],因此云存储的数据安全性问题实际上就是分布式文件系统的安全性问题。Hadoop[5]云平台作为当前最流行的云平台之一,已经得到广泛应用,而HDFS[6](Hadoop distributed file system)作为Hadoop的核心模块,所有的Hadoop应用都使用HDFS提供的分布式存储服务,因此研究云存储的安全性问题实质上就是研究HDFS的安全性问题。

目前对HDFS安全机制的研究工作还很少,这是因为HDFS在最初设计时假定其运行在封闭的环境之中,且集群中的所有节点都是值得信赖的,无需进行验证,而HDFS实际的应用环境是一个开放且非安全的复杂环境,若不采取相应的安全措施将面临诸多挑战。本文提出了一种基于用户信任值的HDFS访问控制模型,首先将可信赖第三方认证系统Kerberos[7]与HDFS相结合,解决了HDFS的安全认证问题,但其实现的仅是关口控制,仍存在合法用户后期行为可信性缺陷。因此进一步引入用户信任值的概念,通过为每个用户设定一个信任值,并根据用户行为记录实时更新其信任值,实现了一种细粒度的可靠灵活的访问控制机制,满足了对用户访问的动态控制需求。

本文组织结构如下:第2章介绍相关工作;第3章对所提模型的原理及实现等方面展开讨论;第4章通过实验证明本文模型的可行性与实用性;第5章对文章进行总结,并介绍未来工作。

2 相关工作

近年来,随着云计算技术的快速发展,Hadoop已经在大批互联网公司、企业机构得到了成功的应用,成为当前最流行的云平台之一,并受到国内外产业界和学术界的广泛关注,但目前对Hadoop特别是HDFS的安全机制研究工作还很少。这是因为HDFS最初的设计是假定其运行在安全的封闭环境中,集群内的所有节点都是可靠且值得信赖的,并提供给一组相互合作的用户使用[8],所以HDFS在设计之初主要考虑大规模数据存储的性能问题,分布式计算环境中的安全性问题并未得到充分关注[9]。

Yahoo!的O’Malley等人提出Hadoop的安全设计[10],通过为Hadoop加入安全模块,增强了其安全性。但这里所实现的访问控制措施实质上是一种门限式的控制管理,用户一旦通过最初的认证获得权限,其后期的行为将不再受到监控,若用户在这段时间里进行非法操作,将不被集群发觉。

Yu等人提出采用基于属性加密(attribute-based encryption,ABE)方案对云端的数据进行加密[11],用户在上传数据之前先用属性作为公钥对数据进行加密,能对数据进行访问的用户必须拥有K个属性才能对数据进行解密,其中K为能解密该数据的属性个数阈值。该方案保证了数据的安全存储,同时服务器也无需为每个用户保存一份公钥。但该方案只支持粗粒度的访问控制,在细粒度访问控制方面仍存在局限性。

我国台湾高雄大学的Bao等人基于Hadoop云平台的安全性问题,提出并设计了一种将指纹鉴定和人脸识别技术应用于Hadoop集群中用户接入部分的方法[12],来实现用户的身份验证。但他们并未设计出与上述身份验证方法相匹配的权限管理措施,忽略了访问控制中非常关键的权限授予过程,导致该模型仍存在一定的安全隐患。

Kerberos[13-15]作为一种基于可信赖第三方的认证系统,由麻省理工学院提出,它提供了一种在开放式网络环境下进行身份认证的方法,使网络上的用户可以相互证明自己的身份,用户在对应用服务器进行访问前,必须先从第三方服务器(Kerberos KDC)获取该应用服务器的访问许可证(Ticket)。目前关于Kerberos的研究已趋于成熟,但是却未应用到分布式计算环境中。

为克服上述缺点,本文结合Kerberos和用户信任值的概念,提出了一种基于用户信任值的HDFS访问控制模型,不仅实现了用户授权的动态管理,同时增强了访问控制机制的安全性及灵活性。

3 基于用户信任值的HDFS访问控制模型

首先介绍基于用户信任值的访问控制模型的结构,然后对模型中相关数据结构及规则定义展开描述,最后通过模型的执行流程图阐述模型的实现细节。

3.1模型结构

图1为基于用户信任值的访问控制模型的结构。

图1中涉及的Client、Kerberos KDC、Token、Session、Operation、HDFS、Confidencethreshold、Permission In Cluster等实体的具体解释如下:

(1)Client即HDFS集群中用户的集合,指代可以独立访问HDFS集群的主体。Client={client1,client2,client3,…,clientn},某一client可以属于某个组。

Fig.1 Model structure图1 模型结构

(2)Kerberos KDC即密钥分发管理器,指代搭建安全模型下的HDFS集群所使用的可信赖第三方服务器。KDC由两部分组成:认证服务器(authentication server,AS)和票据授予服务器(ticket granting server,TGS),用于实现对Client的身份认证。

(3)Token即模型中各种令牌的集合,表示用户授权过程所使用的访问令牌,Token={TD-Token,TB-Token}。

①TD-Token是NameNode节点为用户颁发的授权令牌,在用户请求使用集群中的HDFS服务时使用。该令牌的使用,在一定的期限内实现了用户在申请HDFS服务时,不再是每次都去KDC上申请认证,其格式如下:

TD-Token={TokenIDD,TokenAuthenticatorD}

其中,TokenIDD={ownerIDD,renewerID,issueDate,maxDate,sequenceNumber}。ownerIDD表示授权令牌所属用户;renewerID表示对授权令牌具有更新操作权限的用户;issueDate表示授权令牌的发布时间;maxDate表示授权令牌的最大使用时间;sequenceNumber表示为实现系统中每个授权令牌的唯一性而加入其中的随机数。TokenAuthenticatorD=HMAC-SHA1(masterKey,TokenIDD),masterKey是由NameNode节点随机选择的一个密钥,用于授权令牌的生成,周期性地被更新,并且存储在NameNode的磁盘上。

②TB-Token是用户请求使用集群中HDFS存储服务时,在证实用户所提供的TD-Token合法有效的前提下,NameNode节点给予用户颁发的块访问授权令牌,该令牌的颁发过程实质上就是HDFS存储服务的授权过程。在DataNode节点上没有文件的概念,因此不能独立地设置文件许可,只能通过块访问授权令牌实现对集群中Block的访问授权管理,该令牌格式如下:

TB-Token={TokenIDB,TokenAuthenticatorB}

其中,TokenIDB={ownerIDB,expirationDate,keyID,BlockID,Confidence,accessModes}。ownerIDB表示块访问授权令牌所属的用户;expirationDate表示块访问授权令牌的过期时间;keyID表示NameNode节点所选择的用于生成块访问授权令牌的密钥;BlockID表示块访问授权令牌是针对哪个块生成的;Confidence表示用户当前的信任值;accessModes是访问模式,可以是读、写、拷贝、替换中各个操作的任意组合。TokenAuthenticatorB=HMAC-SHA1(keyB,TokenIDB),keyB表示NameNode和DataNode之间关于构造块访问授权令牌的一个共享密钥。

(4)Session即会话,表示某一个Client和其所申请获取的服务对应着的一系列令牌,具体表示为一个用户获得其某一组服务访问令牌的过程。

(5)Operation即操作,表示用户在HDFS集群中可以执行的操作集合,Operation={read,write,copy,replace}。

(6)Confidencethreshold即信任值阈值,表示用户可以获得服务的信任值阈值条件,在模型中,用户要获得HDFS的服务,其信任值必须大于或等于信任值阈值。

(7)Permission In Cluster即集群中的权限,表示用户对HDFS集群提供的服务进行可信访问的许可。在本模型中,将权限定义为pic=(C,S,Op,Confidencethreshold)。其中,C∈Client,代表集群用户,是获取HDFS服务的权限主体;S∈Service,代表服务,是HDFS提供的具体某一种服务;Op∈Operation,代表操作,对应于某一种服务的具体访问方式。

3.2模型中相关数据结构及规则定义

当一个用户访问HDFS时,由系统根据其用户信息,通过可信赖第三方认证系统Kerberos检查其身份是否合法,用户通过身份检查后向NameNode节点申请HDFS服务,NameNode节点通过存储在行为数据库中的用户行为记录计算得到用户当前的信任值,并与系统设定的信任值阈值相比较,最终来判断其是否有合法的访问权限。下面给出信任值结构体的定义以及用户信任值更新公式和算法。

定义1(信任值结构体)信任值结构体是一个二元组Confidence=(ConfidenceID,ConfidenceBody)。其中,ConfidenceID=(clientID,clientIP),表示信任值标识字段,clientID表示信任值是对某一具体用户的行为信任描述,clientIP表示访问集群服务时的具体IP地址;ConfidenceBody=(initConfidence,cf),表示信任值主体字段,initConfidence字段表示用户的初始信任值或历史信任值,是一个0~1之间的数值,其取值大小在初始状态根据用户身份而定,后期随着每一次信任值更新而改变,cf表示用户当前信任值,存放使用信任值更新算法得到的用户信任值,也是一个0~1之间的数值。

信任值更新公式为:

其中,cf表示用户最新信任值;initConfidence表示用户的初始信任值或历史信任值;NOB、NRB、NDB分别表示普通行为、风险行为、危险行为这3类用户行为各自的记录总数;α、β、γ为系统赋予每种行为类别的信任值评估权重,且满足α+β+γ=1的关系。

从上述公式可以看出,用户执行普通行为可以提高用户信任值,执行风险行为或危险行为则会降低用户信任值。

用户信任值更新算法ConfidenceUpdate(clientID)的描述如下。

算法1信任值更新算法

算法1中第1~4行主要判断参数clientID是否为空,若为空则返回FALSE;第5行调用函数readConfidence(clientID)读取系统中存储的用户信任值结构体,并存储到结构体实例Confidence中;第6~8行当信任值结构体中字段cf为空时,将初始信任值initConfidence赋予cf;第9~19行通过遍历用户行为数据库,判断用户行为属于恶意行为还是正常行为,若遍历到恶意行为,则调用函数reduceConfidence(cf,punishCf)降低用户信任值,若遍历到正常行为,则调用函数increase-Confidence(cf,awardCf)增加用户信任值;第20~23行将更新完成的用户信任值写入到信任值数据库中,并返回该值。

为分析算法的时间复杂度,定义访问数据库读取数据的时间开销为Tread,遍历行为数据库的时间开销为Ttraverse。在Hadoop中,Tread为固定常数,而Ttraverse与数据库的大小及存储方式有关。算法1中第5、20行访问数据库,第10行遍历行为数据库,因此算法1的时间复杂度为O(T1)=2Tread+Ttraverse。因为Tread是固定常数,所以可以确定时间复杂度O(T1)是数据库遍历时间Ttraverse的线性函数。

为了更好地对模型进行描述,给出访问控制的规则及算法。

定义2(访问控制规则)

(1)CP规则(ConfidenceFulfilled-Permission):当用户身份合法,服务票据合法且信任值大于等于信任值阈值条件时,允许其访问HDFS中的资源,这一规则的约束表达式如下:

(2)CR规则(ConfidenceInsufficient-Refusal):当用户身份非法,或服务票据非法,或信任值小于信任值阈值时,系统拒绝用户访问HDFS中的资源,这一规则的约束表达式如下:

其中,user为用户信息;tick为用户访问NameNode节点的服务票据;cf为用户最新信任值;Confidencethreshold为信任值阈值;ACCEPT为允许本次访问操作;DENY为拒绝本次访问操作。

下面给出基于用户信任值的HDFS访问控制算法。

算法2访问控制算法

算法2中第1~4行主要判断参数clientID是否为空,若为空则返回拒绝提供服务信息DENY;第5~7行调用函数hasKDC(user)判断用户身份是否合法,若用户身份合法则调用函数getTicks(KDC)为用户授予服务票据Tick;第8~13行调用函数hasTicks(tick,Tick)判断服务票据是否合法,若合法则调用函数ConfidenceUpdate(clientID)计算得到用户最新的信任值,并与信任值阈值比较,当用户最新信任值大于等于信任值阈值,即满足CP规则时,返回接受服务请求的信息ACCEPT;第14~20行是用户满足CR规则时,返回拒绝提供服务信息DENY。

算法2中第5、8行遍历数据库,第10行访问数据库并写入数据,因此算法2的时间复杂度为O(T2)= Tread+2Ttraverse,时间复杂度O(T2)是数据库遍历时间Ttraverse的线性函数。

3.3模型的执行流程

在HDFS中实施基于用户信任值的访问控制模型,首先要在相应的权限表ACL中添加信任值阈值,这个信任值阈值由服务提供者设定。具体执行流程如图2所示。

详细的步骤描述如下:

KDC服务器用于生成并分发Client-KDC间的共享密钥K1、NameNode-KDC间的共享密钥K2、Client-NameNode间的共享密钥K3。

(1)Client将自己的身份认证信息用K1加密后发送给KDC请求进行身份认证。

(2)KDC验证Client身份合法有效,给予颁发票据授权票据TGT,并用K1加密后回传给Client。

(3)Client持TGT向KDC发送服务请求,请求内容用K1加密。

(4)KDC接收请求,并且产生服务票据Ticket={K3,用户名,IP,地址,服务名,有效期,时间戳}。

(5)KDC用K1加密K3,用K2加密Ticket后一并回传给Client。

Fig.2 Execution flow chart of model图2 模型的执行流程图

(6)Client解密得到与NameNode节点之间的会话密钥K3,并生成Authenticator={(用户名,IP)K3}。

(7)Client将步骤5中从KDC获取到的用K2加密的Ticket连同步骤6中生成的Authenticator,以格式{(Ticket)K2,Authenticator}发送给NameNode节点,申请NameNode节点上的身份认证。

(8)NameNode节点对所接收到的内容进行解密,验证Client是否属于合法用户。

(9)NameNode节点验证Client身份合法之后,生成TD-Token并颁发给Client。

(10)Client持TD-Token向NameNode节点申请HDFS服务,NameNode节点使用所接收到的TokenIDD和本地的masterkey计算出TokenAuthenticatorD,在本地再次构建一个TD-Token。若NameNode重建的TD-Token在NameNode本地内存中具有相同的版本,则认定该用户身份合法有效。

(11)查询用户行为数据库,并通过信任值更新算法得到用户当前的信任值。

(12)若用户信任值满足要求,则NameNode节点为用户生成块访问授权令牌TB-Token。令牌中的AccessModes字段存放当前用户可以对Block执行的操作,实际上就是用户所具有的权限。该字段的取值设定由各个操作自身规定的信任值阈值来决定:①若步骤11中计算所得信任值大于等于某个操作所规定的信任值阈值,字段AccessModes取值加入该操作;②若步骤11中计算所得信任值小于某个操作所规定的信任值阈值,字段AccessModes取值为空,不加入该操作。

(13)当用户满足CP规则时,NameNode节点将生成的TB-Token分发给Client。

(14)Client持TB-Token向NameNode节点告知的所有DataNode节点请求所需服务。

(15)DataNode节点接收到Client的请求后,首先判断TB-Token是否合法有效,再决定是否给用户提供AccessModes字段所规定的操作。

(16)Client从DataNode节点获取AccessModes字段规定的操作,或者当用户满足CR规则时,给用户发送拒绝提供服务的提示信息。

(17)DataNode节点在最近的下一次心跳中,将Client在其上面的所有操作行为记录反馈给NameNode节点。

(18)NameNode节点将反馈得到的用户操作行为记录保存到行为数据库中。

综上所述,基于用户信任值的访问控制模型,在用户通过Kerberos的身份认证后,向NameNode节点申请HDFS服务,NameNode节点在为用户生成TB-Token时通过读取信任值数据库中存储的该用户的信任值信息,并与配置文件中集群所设定的各种操作的信任值阈值相比较,从而判断是否为其生成具有有效AccessModes字段的令牌。用户信任值是通过读取行为数据库中用户行为记录来实时计算得到的,而这些用户行为记录都是伴随DataNode节点的心跳进行更新的,因此信任值也随之实现更新,一旦集群获取到用户的非法操作行为,其信任值必定快速下降。因此,结合用户信任值的概念实现了一种实时动态、更细粒度、更加灵活的访问控制机制,能够更加安全、合理地为用户分配合适的权限。

4 实验结果及分析

本章主要对所提模型进行功能验证和性能评估。首先介绍实验环境及实验设计,然后通过3组实验对模型的访问控制能力和对系统的性能影响展开测试评估。

4.1实验环境

开发环境为Cent OS 6.4+Eclipse 4.4.1,在该平台上进行实验,并对Hadoop-2.3.0代码实施改进。测试平台为宿主计算机+VMware Workstation 10.01+客户计算机,其中宿主计算机为ThinkServer RD630,客户计算机为1个master节点,60个slave节点。

本实验以用户访问一个搭建好的Hadoop集群,向集群提交作业,在作业的处理过程中,对集群中HDFS服务进行访问的过程来说明该模型的具体应用,如图3所示。

本实验主要用于验证在用户访问Hadoop集群所提供的HDFS服务时,在几种常用命令ls、mkdir、cat、put执行的过程中,该模型实现的访问控制机制所起到的作用。其中,各命令对应的用户行为及行为类别如表1所示。

Fig.3 Model of experimental application图3 实验应用模型

Table 1 Comparison table of common commands and user behaviors表1 常用命令与用户行为对照表

表中,read、write、copy、replace分别表示用户对HDFS内部Block文件块的4种操作行为,收集到的用户行为记录根据模型定义保存到行为数据库中,并将计算得到的用户信任值存储到信任值数据库中。

针对用户访问服务的具体操作行为,通过对比实验来对用户的信任值阈值进行设置。

(1)由于read操作行为属于普通行为,将其信任值阈值区间设为0.10~0.40,并通过用户成功访问HDFS的次数百分比进行对比实验,选出最佳的信任值阈值为0.30,对比实验的结果如图4所示。

Fig.4 Comparison of trust value threshold for read behavior图4 read操作行为的信任值阈值比较

信任值阈值的具体格式如下:

表示当Client所申请的服务包含有对HDFS内部的Block文件块进行read操作时,其当前的信任值必须保证大于或等于0.30,才具有权限执行该操作。

(2)由于write操作行为属于危险行为,将其信任值阈值区间设为0.70~0.95,并通过用户成功访问HDFS的次数百分比进行对比实验,选出最佳的信任值阈值为0.90,对比实验的结果如图5所示。

信任值阈值的具体格式如下:

表示当Client所申请的服务包含有对HDFS内部的Block文件块进行write操作时,其当前的信任值必须保证大于或等于0.90,才具有权限执行该操作。

Fig.5 Comparison of trust value threshold for write behavior图5 write操作行为的信任值阈值比较

由于在配置文件中,关于每个信任值阈值的规定实现到每一个服务操作行为上,数量较多,这里不再一一列举。

4.2实验设计

本实验通过改进Hadoop-2.3.0的程序源码,在其分布式文件系统HDFS上实现了基于用户信任值的访问控制模型,具体涉及如下改进工作。

(1)在hadoop/hdfs目录下面添加3个xml文件,作为模型的关键配置文件。

①user-behavior-database.xml,存储用户行为监控数据;

②confidence-policy.xml,存储集群为各种行为操作设定的信任值阈值;

③user-confidence-database.xml,存储计算得到的用户信任值。

(2)功能测试实验设计。本实验首先在相同的虚拟机环境下,搭建3种集群,分别是common cluster(普通集群)、safe cluster(安全模式的集群)、trust cluster(加入用户信任值的集群)。以下是本实验具体设置的3种实验情景:

①在上述trust cluster中,设置配置文件userconfidence-database.xml与confidence-policy.xml,主要对用户的初始信任值和信任值阈值进行设置,使得用户当前信任值小于信任值阈值,读取存放在HDFS文件系统中的文件/test/example.txt,检查shell终端是否给出程序所设定的提示信息;

②设置配置文件confidence-policy.xml,主要是对其中操作行为的信任值阈值进行设置,保证用户当前的信任值不小于信任值阈值,使得上述3种集群在相同的条件下,各自正常运行一段时间,收集在这段时间内执行cat命令所需的时间并进行对比;

③设置配置文件confidence-policy.xml,主要是对其中操作行为的信任值阈值进行设置,保证用户当前的信任值不小于信任值阈值,收集在上述3种集群里运行4个常用命令ls、mkdir、put、cat的执行时间并进行对比。

4.3实验结果及分析

当用户当前信任值小于系统设定的信任值阈值即满足CR规则时,执行cat命令欲读取并显示存放在HDFS文件系统中的文件/test/example.txt的内容,在shell终端给出的提示信息如图6所示。由图中内容可知,基于用户信任值的访问控制模型能成功地阻止信任度不够高的用户访问HDFS中的文件,并且能够根据访问需求给出特定的提示信息。

Fig.6 Prompt message of access failure图6 访问失败提示信息

在HDFS中cat命令在相同条件下运行在3种集群内的执行时间对比如图7,此时用户满足CP规则,因cat命令执行的结果是对HDFS中某个Block块的访问,其中涉及到TB-Token的申请与使用过程。由图中结果可知:未启用安全机制模块来运行的common cluster,其命令运行效率明显高于加入了安全机制的集群,因此加入信任值检测模块会带来一定的时间消耗及效率损失,但是与safe cluster相比,在可以接受的范围内。

Fig.7 Execution time comparison of cat command图7 cat命令执行时间对比

图8所示在HDFS中执行4个常用命令ls、mkdir、put、cat,并对比它们各自在3种集群中的执行时间。从图中mkdir命令的执行时间统计可以发现,该命令在具有信任值验证的trust cluster中的执行时间略大于其在safe cluster中的执行时间,从而可以证明,基于用户信任值的访问控制模型不会对集群带来严重的运行负担。

Fig.8 Execution time comparison of 4 common commands图8 4个常用命令的执行时间对比

5 结束语

本文的主要贡献是针对HDFS访问控制薄弱的问题,提出了一种基于用户信任值的访问控制模型。本文模型结合可信赖第三方认证系统Kerberos实现对用户的认证,并在此基础上加入用户信任值的概念,对用户访问实现了动态控制,提高了HDFS访问控制机制的安全性。实验结果表明,本文模型能够实时地监控和收集用户行为,并根据用户行为记录算得用户信任值,再通过用户信任值与信任值阈值的比较来动态控制用户对集群的访问,并且不会对集群的性能造成严重影响。本文模型适用于采用云存储的分布式系统,如Hadoop、OpenStack等,也可将信任模型进行改进,应用于其他传统数据库的访问控制中。

Kerberos KDC服务器作为密钥分发管理的中心服务器,当用户请求增多,服务器压力增大时,其处理能力会减弱,因此Kerberos KDC服务器在性能方面会成为瓶颈。下一步研究工作将针对Kerberos KDC单服务器的性能瓶颈问题提出优化解决方案。

References:

[1] Wang Cong, Chow S S M, Wang Qian, et al. Privacy-preserving public auditing for secure cloud storage[J]. IEEE Transactions on Computers, 2013, 62(2): 362-375.

[2] Twinstrata[EB/OL]. (2012-05-10)[2015-01-28]. http://twinstrata.com.

[3] Hou Qinghua, Wu Yongwei, Zheng Weimin, et al. A method on protection of user data privacy in cloud storage platform[J]. Journal of Computer Research and Development, 2011, 48(7): 1146-1154.

[4] Ghemawat S, Gobioff H, Leung ST.The Google file system[C]// Proceedings of the 19th ACM Symposium on Operating Systems Principles, Lake George, USA, Oct 2003. New York, USA:ACM, 2003: 29-43.

[5] White T. Hadoop: the definitive guide[M]. Sebastopol, CA, USA: O'Reilly Media, Inc, 2012: 43-79.

[6] Shvachko K V. HDFS scalability: the limits to growth[J]. Login, 2010, 35(2): 6-16.

[7] Yang Xiaojie. Secure analysis of Kerberos protocol[J]. Computer Security, 2013(6): 17-21.

[8] Shvachko K, Kuang H, Radia S, et al. The Hadoop distributed file system[C]//Proceedings of the 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies. Piscataway, USA: IEEE, 2010: 1-10.

[9] Wang Yijie, Sun Weidong, Zhou Song, et al. Key technologies of distributed storage for cloud computing[J]. Journal of Software, 2012, 23(4): 962-986.

[10] O’Malley O, Zhang Kan, Radia S, et al. Hadoop security design[R]. Yahoo, Inc, 2009: 1-19.

[11] Yu Shucheng, Wang Cong, Ren Kui, et al. Achieving secure, scalable, and fine-grained data access control in cloud computing[C]//Proceedings of the 2010 IEEE Conference on Computer Communications (INFOCOM), San Diego, USA, Mar 14-19, 2010. Piscataway, USA: IEEE, 2010: 1-9.

[12] Chang B R, Tsai H F, Lin Z Y, et al. Access security on cloud computing implemented in Hadoop system[C]//Proceedings of the 5th International Conference on Genetic and Evolutionary Computing, Xiamen, China, Aug 29-Sep 1, 2011. Piscataway, USA: IEEE, 2011: 77-80.

[13] Kumari A, Kushwaha D S. Kerberos style authentication and authorization through CTES model for distributed systems[C]// Computer Networks and Intelligent Computing: Proceedings of the 5th International Conference on Information Processing, Bangalore, India, Aug 5-7, 2011. Berlin, Heidelberg: Springer, 2011: 457-462.

[14] Nair S, Gautam N, Choudhary M. Using Kerberos with digital signature and AES encryption to provide data security in cloud computing[J]. International Journal of Computer Applications, 2014, 95(18): 25-29.

[15] Woo J L T, Tripunitara M V. Composing Kerberos and multimedia internet keying (MIKEY) for authenticated transport of group keys[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(4): 898-907.

附中文参考文献:

[3]侯清铧,武永卫,郑纬民,等.一种保护云存储平台上用户数据私密性的方法[J].计算机研究与发展, 2011, 48(7): 1146-1154.

[7]杨晓婕. Kerberos协议安全性分析[J].计算机安全, 2013 (6): 17-21.

[9]王意洁,孙伟东,周松,等.云计算环境下的分布存储关键技术[J].软件学报, 2012, 23(4): 962-986.

SHI Wenhao was born in 1988. He is an M.S. candidate at College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics. His research interests include access control and cloud computing, etc.史文浩(1988—),男,河北衡水人,南京航空航天大学计算机科学与技术学院硕士研究生,主要研究领域为访问控制,云计算技术等。

JIANG Guohua was born in 1963. He is an associate professor and M.S. supervisor at Nanjing University of Aeronautics and Astronautics. His research interests include software testing and Internet of things engineering, etc.

江国华(1963—),男,江西婺源人,南京航空航天大学副教授、硕士生导师,主要研究领域为软件测试,物联网工程等。

QIN Xiaolin was born in 1953. He is a professor and Ph.D. supervisor at Nanjing University of Aeronautics and Astronautics, and the senior member of CCF. His research interests include spatial and spatio-temporal databases, data management and security in distributed environment, etc.

秦小麟(1953—),男,江苏南京人,南京航空航天大学教授、博士生导师,CCF高级会员,主要研究领域为空间与时空数据库,分布式环境数据管理与安全等。

WANG Sheng was born in 1991. He is an M.S. candidate at College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics. His research interests include database amd cloud computing, etc.

王胜(1991—),男,湖北黄冈人,南京航空航天大学计算机科学与技术学院硕士研究生,主要研究领域为数据库,云计算技术等。

Access Control Model Research for HDFS Based on User Trust Value*

SHI Wenhao+, JIANG Guohua, QIN Xiaolin, WANG Sheng
College of Computer Science and Technology, Nanjing University ofAeronautics andAstronautics, Nanjing 210016, China
+ Corresponding author: E-mail: shiwh0707@foxmail.com

SHI Wenhao, JIANG Guohua, QIN Xiaolin, et al. Access control model research for HDFS based on user trust value. Journal of Frontiers of Computer Science and Technology, 2016, 10(1):25-35.

Abstract:At present, more and more people employ cloud storage to store or backup data in order to enhance the data removability. For the security of cloud storage, researchers mainly focus on privacy disclosure, data disaster tolerance, duplication eliminating and so on. However, few researchers pay attention to access control technology. On the basis of previous research, this paper proposes an access control model for HDFS (Hadoop distributed file system) based on user trust value. The model uses the trusted third party authentication system Kerberos for user authentication, sets a trust value for each user, and controls user access to HDFS dynamically by comparing the trust value and trust threshold. The experimental results show that the model overcomes the shortages of HDFS access control, furthermore, it can also control user access to the HDFS resources dynamically and effectively.

Key words:cloud storage; Hadoop distributed file system (HDFS); access control; trust value

文献标志码:A

中图分类号:TP311

doi:10.3778/j.issn.1673-9418.1503027

猜你喜欢
云存储访问控制
一种跨策略域的林业资源访问控制模型设计
内外网隔离中ACL技术的运用
云计算访问控制技术的运用及论述
云计算访问控制技术研究综述
基于云存储的气象数字化图像档案存储研究
试论云存储与数字版权的冲突、法制与协同
云存储出版服务的版权侵权责任风险分析
云存储技术的起源与发展
基于云存储的数据库密文检索研究
浅析龙岩烟草业务数据与监控数据中的云存储与大数据