APP下载

概论Hadoop平台的安全问题及改进措施

2018-01-20王家骐于海霞

电脑知识与技术 2018年31期
关键词:安全机制身份认证

王家骐 于海霞

摘要:Apache Hadoop 是被广泛使用的一种云计算框架,但是由于其安全机制的薄弱,也是阻碍其发展的中心问题。本文概论了Hadoop平台的安全认证机制、访问控制机制及数据传输和数据加密机制的欠缺问题,同时提出了基于PKI的身份认证、基于角色的访问控制和基于身份认证的分级加密等相应的改进措施。

关键词:Hadoop平台;安全机制;身份认证;分级加密

中图分类号:TP311        文献标识码:A        文章编号:1009-3044(2018)31-0047-02

1 Hadoop平台的安全问题

在初期Hadoop平台是以数据处理的数量和速度为研究中心,数据处理的效率是首位,未细致设计和考虑平台的安全问题,存在着诸如缺乏用户和服务的身份认证、数据的隐私设计等安全隐患。虽然后续的Hadoop平台由于业务需求,增加了HDFS文件访问权限及ACL的审计和授权机制,但依旧缺乏身份验证机制等安全机制,故恶意用户可以使用身份伪装的方式轻易绕过Hadoop的安全方案。Hadoop平台的安全现状主要体现在以下几个方面。

1)安全认证机制的欠缺

Hadoop平台有两类安全认证机制,一类是Hadoop平台服务器集群间的认证机制,另一类是Hadoop平台与用户间的认证机制。在第一类模式下,破坏者利用伪装手段,伪装为集群里任一合法Task Tracker或Data Node服务器,然后实施对其他服务器的攻击,或伪装为任一合法者,从而接受Job Tracker或Name Node服务器发布的数据和任务。在第二类模式下,恶意用户可以伪装为合法用户,使用非法的方式访问HDFS或 Map Reduce服务器;甚至可以实施一些如篡改他人用户作业、修改HDFS上他人用户数据、恶意提交作业等非法活动。

即使在后继的版本中,使用Kerberos进行身份认证,为每个任务进行KDC认证,提高了安全性。但若当Hadoop集群为同时运行的成百上千个任务进行认证时,KDC的负载会瞬时急剧增大,从而影响整个集群的性能。且在KDC向客户端发送其申请的授权票据信息时,信息是不安全的,会造成信息的泄露。

2)访问控制机制的欠缺

在Hadoop早期版中,对于存储在HDFS上的资源,采用的是“比特位权限判定”访问控制模型,共有9个比特位。权限类型包含读(r)、写(w)、执行(x)共三种,访问HDFS的用户有user、group和other共三类。当用户提交文件至Hadoop集群时,需要通过hadoop fs -chmod指令来设定提交文件的访问权限。

Hadoop早期版中访问控制机制里的授权管理有着明显的缺陷,即不能针对单独用户进行访问控制授权。如:系统中某other类别的用户操作没有写入权限的某文件,若此用户申请获得该文件的写权限,则系统就需开放other类的权限,可放开了other权限后,所有的other类用户就具备了对此文件的写权限,这显然是访问控制机制中授权管理的不合理、不安全部分。

在后继的版本中,使用ACL进行访问控制机制。但是高权限用户能够很容易地修改服务器端的ACL访问控制列表,因而也存在着不安全的因素。

3)数据传输和数据加密机制的欠缺

在 Hadoop的早期版中,集群的各节点间(如:Master和Slave间、Client和服务器间)的数据传输由于采用的是基于TCP/IP协议的数据明文传输,为经过加密处理,因此用户的隐私数据和系统的敏感数据在传输过程中极易被窃取和篡改。另外,由于集群服务器的内存和外部存储器存储的数据未经加密处理和存储保护,非常容易导致存储的用户数据和关键信息的泄密。

在后继的版本里,由于考虑到集群的大量并行计算的资源开销,为了提高系统的计算处理速度,而未考虑传输和存储过程的数据保护机制,导致了无法避免的安全隐患。也有的第三方版本在TCP/IP层应用了SSL协议,能够满足一定条件下的部分安全需求。

2 Hadoop平台的安全对策改进

针对上述的Hadoop平台安全现状,在实际的生产实践中,可以采用基于PKI的身份认证、基于角色的访问控制和基于身份认证的分级加密等方法解决安全认证机制欠缺、访问控制机制欠缺和数据传输及数据加密机制欠缺的问题。

2.1 基于PKI的身份认证方法

PKI(Public Key Infrastructure)即公钥基础设施,是一种利用非对称密钥加密技术,采用公钥理论技术实现身份认证、数字签名等功能,同时实现了公钥和证书的高效管理。

由CA(认证中心)、RA(注册机构)、LDAP(数字证书库)、密钥备份和恢复系统、证书撤销系统及PKI应用接口等部分组成了一个完整的PKI系统。

一个用户获得身份证书的具体过程如下:

l 用户通过浏览器向PKI应用接口提出證书申请;

l 由PKI应用接口向RA注册中心提交申请数据;

l 由RA注册中心向CA认证中心提交申请数据或拒绝申请,用户申请证书失败;

l CA认证中心通过申请认证,产生数字证书并反馈至RA注册中心,用户获得认证的身份。或拒绝申请,用户申请证书失败;

l RA注册中心接收通过认证的数字证书,并更新LDAP服务器的数字证书库;

l 用户通过浏览器从LDAP服务器查询和下载数字证书。

2.2 基于角色的访问控制方法

其工作原理是Hadoop平台不再将具体的权限直接授予用户,而是改变将权限授予某类角色,当用户进入Hadoop平台时,Hadoop平台会根据用户信息分配对应的角色,用户从而获得相应的权限,从而实现了具体权限和用户间直接联系的隔离。

这种访问控制方法特别适用与多用户和分布式的Hadoop平台。当Hadoop平台中不断有新用户注册时,只需要为用户分配具体的角色(因为平台中角色相对稳定,不需要频繁变更权限),则这些用户就拥有了相应的权限,因而不需要重复为用户反复分配权限;由于角色的权限是分配到众用户,故此种访问控制方法能有效缩小ACL的访问控制列表存储空间,还可以节约系统资源,及加快判定权限的速度。

2.3 基于身份认证的分级加密方法

该方法的参与角色有三个,分别是:客户端、服务器端和第三方认证中心AC。其中AC认证中心作用是实现角色的身份认证及分级加密密钥的分发。当AC认证中心接收到客户端的请求,判定其为合法用户,就发送身份认证令牌;同时分级加密密钥分发模块基于AC的可信任身份,结合用户的具体情况,生成和发布分级加密密钥,并存储用户和Hadoop服务器使用的公开密钥。客户端通过AC认证中心的认证后能够获得分级加密密钥从而实现数据加密传输/存储的安全服务。服务器端接收和处理经过AC认证中心认证后的认证用户提交的加密数据,并判断该用户是否被赋予相关的权限。

该方法的实现需要经过身份认证、分级加密和服务校验共三个阶段。在身份认证阶段,经过身份认证申请和服务认证申请两个步骤能够有效保证密钥颁发的安全性以及云数据的安全传输;在分级加密阶段,AC认证中心根据客户端申请具体需求(如文件类型及大小)选择适合的加密策略并反馈给客户端,客户端再根据加密策略上传文件至服务器端,从而使分级加密机制和身份认证机制有效结合在一起;在服务校验阶段,当服务器端接收到客户端传来的加密文件之后,首先要启动校验服务进行数据传输合法性校驗,若校验结果为合法就将加密文件提交给HDFS处理保存,若校验结果为不合法则认为当前传输的数据存在安全问题,拒绝数据的存储。

3 结束语

随着Hadoop平台应用的越来越广泛,以及人们越来越重视数据的安全性,因此对Hadoop平台的安全性研究就变得越来越重要。本文通针对Hadoop平台的安全认证机制、访问控制机制及数据传输和数据加密机制的欠缺问题,提出了相应的改进措施,它们分别是:基于PKI的身份认证、基于角色的访问控制和基于身份认证的分级加密等方法。通过这些改进措施能为Hadoop平台提供安全性更强的解决方案。

参考文献:

[1] 史文浩,江国华,秦小麟,等.基于用户信任值的HDFS访问控制模型研究[J].计算机科学与探索,2016,10(1):25-35.

[2] 陈贞.HDFS环境下的访问控制技术研究[D].重庆:重庆大学,2014.

[3] 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.

[4] 林钇霖.基于PKI的身份认证系统研究[D].重庆:重庆理工大学,2013.

[5] 盛宇伟.云计算环境下CA认证中心的研究与设计[D].北京:北京邮电大学,2013.

[6] White T.Hadoop权威指南[M].2版.北京:清华大学出版社,2011.

猜你喜欢

安全机制身份认证
云电子身份管理与认证系统中的关键技术优化改进
港口安全生产管理问题及对策研究
铁路信号设备维护与安全机制分析
论10kV配电线路接地故障分析及预防