大规模数据中心的存储安全访问控制

大规模数据中心的存储安全访问控制
引言
存储安全作为数据安全的“最后一道屏障”,受到业界的广泛关注。在过去的几十年中,从最初的单机磁盘非共享加密文件系统到今天的网络安全文件系统,存储安全的研究伴随着存储设备的更替得到了长足发展[1]。
访问控制是存储系统的基本安全措施,决定了谁能够访问系统,访问系统的何种资源以及如何使用这些资源。适当的访问控制能够阻止未经允许的用户有意或无意地获取数据。访问控制的手段包括登录控制、权限授予与回收、权限核查、日志和审计等。
大规模数据中心的存储安全
随着互联网和网络应用的普及和飞速发展,大规模数据中心的存储安全技术取得了长足的进步,同时也面临巨大的挑战,例如用户数量日益增加,数据分布的地域空间更加广阔,数据存储量爆炸性增长,数据可靠性要求越来越高以及访问数据的设备种类日益增多等。从早期以远程文件访问为目的的客户机/服务器模式到今天提供数据存储和业务访问功能的云存储模式,大规模存储系统的网络化和分
铂热电阻布式共享结构,以及它所面对的需求和所处的网络环境使其面临着以下挑战。
防范更多的安全入侵
目前,存储系统自身越来越网络化,使得大规
关键词:大规模数据中心 存储 安全访问控制
模数据中心更容易受到攻击。存储系统的元数据服务器易成为系统性能瓶颈和故障中心点,遭受拒绝服务(denial of service ,DOS )攻击,而与客户网络直接相连的存储设备由于失去了传统文件服务器的保护,面临着来自网络的各种安全威胁,如网络窃听、数据篡改、消息重放等,存储设备必须能够阻止这些攻击。
高效认证成千上万的用户
随着面向互联网的存储应用的发展,更多的存储系统处于开放的网络环境中,为成千上万的用户提供并发的存储服务。这些用户可能来自不同的组织,可能具有不同的标识。大规模存储系统必须能够有效地标识用户的身份,为用户提供简单高效的认证方式。
简化复杂的安全管理
安全管理的复杂性源于数据的爆炸性增长,为支持更多并发客户和各种新的应用,以及保证存储服务的连续性和灾难恢复,越来越多的磁盘和磁带系统被添加到存储系统中。系统管理员需要管理日益复杂的存储系统。对于很多数据中心来说,安全管理的主要任务是维护用户的身份信息和访问权限信息。通常,这些身份信息被存储在本地用户数据库,而访问权限信息以访问控制列表形式进行组织。随着存储系统规模的扩大,用户数据库和访问控制列表将变得庞大和复杂,难以经济有效地维护
周 可1 李春花1 牛中盈2  1
华中科技大学2
北京计算机技术与应用研究所
和操作。
维护大量敏感的数据
数学竞赛之窗
随着数字信息的快速增长和个人与企业对这些信息依赖性的不断增加,确保这些数据在传输和存储中的安全性对保护个人隐私、数据安全和知识产权变得至关重要。大规模数据中心不但要确保企业敏感数据和私密数据的机密性,还要确保数据的完整性和可用性,为企业和个人客户提供24小时不间断的高可靠服务。
传统存储安全访问控制存在的问题
传统的访问控制一般采用访问控制列表(ac-cess control list ,ACL )来管理用户的访问权限。用户
经过ACL 授权来获取访问权限。用户存放在存储端的数据一般是加密的数据,如何管理和分发加/解密文件需要的密钥,是访问控制技术必须处理的难题之一。最简单的方式是把密钥存放在可信的认证端,通过查询ACL ,确认用户具有文件访问权限后,把证书和密钥通过安全通道一起发送给用户。但是在大规模的存储环境中,由于一个文件对应一个由系统随机生成的加/解密文件密钥,文件数量的迅猛增长,必然带来密钥数目的膨胀,查询和管理密钥的开销将是巨大的,因此将会降低大规模存储系统的访问效率。
当前广泛应用的存储安全访问控制方法是基于权能证书的访问控制[2](credential-based access control ,CBAC ),如图1所示。其主要思想是在元数据服务器上集中维护访问控制列表。用户在访问存储设备前,在元数据服务器上进行身份认证,获取元数据信息和对I/O 进行授权的权能证书,权能证书由元数据服务器的公钥签名或使用元数据服务器与存储设备间的共享密钥计算HMAC [3]进行保护。随后,用户将权能证书随I/O 请求一起发送给存储设备。存储设备只需验证该权能证书并依据包含在权
能证书中的用户访问权限进行I/O 访问控制。采用集中式访问控制,易于维护访问控制列表,降低存储设备的复杂性,使存储设备可以专注于繁忙的数据I/O 而不必关心用户是如何被认证的以及访问控制列表是如何实现的。基于权能证书的访问控制的缺点是:请求权能证书的操作发生在I/O 过程中,对元数据服务器性能的要求高,元数据服务器除提供认证服务(确认用户身份)外,还要提供文件系
统的授权服务,易成为系统的性能瓶颈。基于证书的访问控制模型可以为小规模存储系统提供较好的访问控制,但不适用于大规模数据中心的存储。具体来讲,它存在以下几个方面的问题。
性能瓶颈
传统存储安全访问控制大多采用集中式访问控制方式。它的主要思想是在集中式的服务器上维护访问控制列表,可以使访问控制列表的维护更加容易并降低存储设备的复杂性。然而,集中式访问控制存在扩展性不足和使用受限的问题,对于云环境中大量用户的并发和突发访问,容易造成单点瓶颈,严重影响存储系统的访问效率。
复杂的访问控制流程
在大规模存储系统中,用户数据被分配到多个
图1 基于权能证书的访问控制
应用客户
共享密钥
存储设备
1.请求权能证书
2.权能证书
3.I/O请求&权能证书幻想曲古筝
什么是gsp
4.I/O响应
元数据服务器
存储设备上以获取较高的并行性。在访问存储设备前,客户从元数据服务器获取必要的元数据信息,然后直接与存储设备交互。将元数据和数据分离导致存储设备不再具有访问权限信息,权限信息存储在元数据服务器上。为了确保I/O 安全,元数据服务器必须将授权信息传送给存储设备,这使得访问控制流程较为复杂,不利于系统实现。
访问效率低
传统存储安全访问控制是在集中的服务器上进行访问控制后,给用户颁发相应权能证书,存储设备只计算机科学与探索
需对权能证书进行简单的安全检验就可进行访问控制。在大多数情况下,客户可以在获取对象元数据(如对象位置信息)的同时以很小的加密开销获取权能证书,然而对于分布在上百甚至上千个设备上的大文件或热点数据而言,用户打开一个简单文件需要元数据服务器生成上百甚至上千个权能证书。此外,为了安全,权能证书通常被指定一个尽可能短的有效期,而元数据服务器和存储设备间的共享密钥也定期刷新。一旦正在使用的权能证书由于过期或密钥刷新而失效,客户将不得不额外发送请求至元数据服务器以获取新的证书。
因此,一个简单、灵活、高效、高可扩展性和高安全性的访问控制方案成为大规模存储系统的迫切需求。
存储安全访问控制方法
目前有两种比较有代表性的适用于大规模存储系统的安全访问控制方法:基于身份的访问控制方法和基于属性的访问控制方法。
基于身份的访问控制
针对大规模并行文件系统I/O 认证与访问控制需求,文献[4]提出了一种身份认证与文件服务相分离的分布式认证机制,采用基于身份的密码技术(IBE )解决大规模用户的标识和认证问题,结合非集中
式访问控制,为海量存储系统提供了一种可扩展的基于身份的访问控制方法。该方法适用于大规模高性能存储系统,实验系统提供标准的对象接口和端到端的加密存储及数据完整性保护,在保持现有的海量存储系统结构和文件布局的同时,使在存储设备上产生的安全检验开销较小。
如图2所示,对象存储系统采用基于身份的认证来简化认证过程,并将存储于元数据服务器上的访问权限信息下放到存储设备上,将授权过程(即权能证书的生成与分发)从I/O 关键路径上移除出来,同时,采用强加密存储方案提供数据的完整性和机密性保护。
基于身份的访问控制方法采用基于身份的认证算法对用户身份进行认证,要求每一个用户和组件从可信中心(trust authority ,TA )获取身份证书,在访问系统资源前,客户(client )与元数据服务器(meta data server ,MDS
伯克)和希望访问的对象存
建立起会话密钥;
7 Client 向OSD 发送对某一对象的操作请求;OSD 响应Client 的数据请求;Client 获取数据(加密了的对象数据用加密密钥解密)。
基于身份的访问控制可解决大规模存储系统安全管理的复杂性和可扩展性问题,降低访问控制开销,为用户提供数据访问控制安全、数据完整性和机密性保护。
基于属性的访问控制
基于属性的访问控制方法采用CP-ABE 算法[5],其主要原理是:文件的访问控制策略由文件属主制定,属性密钥由文件属主负责生成,由认证端负责管理,其他用户根据自身条件或者属性从认证端得到相关密钥,使用密钥解密或加密文件,密文对应于一个访问结构,而密钥对应于一个属性集合。当用户要求访问存储端的资源时,必须先向认证端提供自已的用户属性进行验证,然后认证端根据用户属性、文件属性和文件操作类型来判断用户是否具有文件操作类型的权限,并为具有权限的用户分发属性密钥。
用户对文件的操作权限有五种:创建、读、写、删除和授予。一般来说,文件的属主具有回收所有用户关于该文件的所有权限;若某个用户的授予或其他权限被回收了,那么由该用户授予的其他
用户的所有权限也应该全部撤销。
下面以用户Alice 创建文件为例详细描述基于属性的访问控制流程。
1 Alice 通过客户端发起创建请求Request ,连同用户属性User_attrs 、文件属性File_attrs 、原子子策略Attrs 和对应的属性密钥KAS 一起通过安全通道发往认证端。其中,属性密钥KAS 是采用属性密码机制的Keygen ,是使
用原子子策略生成的;
2 认证端收到客户端的请求,判断该用户是否具有文件操作权限,然后更新文件属性库和属性密钥库,并
储设备(object-based storage device ,OSD )互相认证,并采用基于身份的经认证的密钥协商协议与MDS 、OSD 分别协商一个会话密钥。该会话密钥用于接下来的会话加密和指令保护。MDS 以数据库记录的形式将访问控制列表存储于轻量级目录访问协议(lightweight directory access protocol ,LDAP )数据库中。该全局访问控制列表用于维护存储设备上的访问控制列表的一致性,而OSD 上的对象访问控制列表被作为对象的属性存储。因此,创建和删除访问控制列表可以与元数据操作同时进行,而所有的修改权限操作将首先发往MDS ,MDS 再转发到相应的OSD 保持与ACL 信息的同步。系统操作流程如下:
1
Client 首先向TA 注册,由TA 产生私钥和颁发身份证书;
2 Client 向MDS 发送元数据请求,并附上自己的身份证书,对请求用私钥签名;
3 MDS 结合TA 提供的撤销用户列表验证Client 的身份,验证成功后,返回Client 请求的元数据;
4 Client 从MDS 获得元数据;
5 Client 向OSD 发送会话请求,并附上自己的身份证书,对请求用私钥签名;
6 OSD 结合TA 提供的撤销用户列表验证Client 的身份,验证成功后向Client 发送自己的身份信息和会话密钥参数;Client 验证OSD 的身份,验证成功后图3 基于属性的访问控制流程——创建文件过程
且返回客户端的更新结果;
3 客户端为Alice随机生成对称密钥Kf和完整性校验密钥Ks,使用Kf加密待创建文件得到加密文件Ef(F),然后对加密文件使用基于密钥的哈希函数Ks 进行签名得到签名文件S(F)。Alice输入文件的访问控制策略,客户端采用属性密码机制的Encrypt,并使用该策略对Kf和Ks进行加密得到EAS(Kf,Ks),把Request、Attrs、Ef(F)、S(F)、EAS(Kf,Ks)以及公共参数PK一起发送到存储端;
4 存储端收到客户端的文件信息,判断此次请求的合法性,然后存储文件信息,最后选择用户和文件相关属性拼成Attrs,将其和存储结果一起返回给客户端。
假定文件属主Alice为文件制定如下的访问控制策略:
(“博士”o r“硕士”)a n d(“计算机系”or“光电系”)and“写”
首先,出该策略的所有原子子策略。原子子策略是在所有满足访问控制策略的子策略集合中不能
到其真子集的子策略。子策略是由数个构成访问控制策略的属性值组成,并能够满足文件访问控制策略的属性值组合。例如,给定访问控制策略(“博士”or“硕士”)and“写”,集合A{“博士”,“硕士”,“写”},集合B{“博士”,“写”}和集合C{“硕士”,“写”}均是满足访问控制策略的所有子策略。集合B是集合A的一个子集,那么集合A不是原子字符串。集合B和集合C满足给定访问控制字符串的所有子字符串中不能到其子集的子字符串,那么它们均是原子子策略。所以原子子策略从形式上来说是能满足访问控制策略的最小子策略。
如图4所示,可分两步来完成原子子策略生成:(1)生成访问控制树;(2)按非叶子节点取值来遍历访问控制树,得到4个原子子策略。
然后,使用属性密码机制的Keygen(MK,PK,S)为每个原子子策略生成属性密钥KAS,把所有的原子子策略和对应的属性密钥KAS一起发送给认证端进行管理和分发。
访问控制策略T加密后的密文,使用上述的4个原子子策略对应的任意一把KAS可以解开密文得到明文。在实现中,可以采用访问控制策略来加密对称密钥Kf和完整性校验密钥Ks,这两把密钥都是与加密文件相关的密钥。
当认证端收到文件的原子子策略和对应的属性密钥后,使用文件属性库来存储和管理文件对应的
图5 文件/
文件1文件2文件3文件N 文件属性库
图4 原子子策略生成示意图

本文发布于:2024-09-22 01:50:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/100063.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:访问控制   用户   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议