简析共享文件加密存储分级访问控制方案的实现
1 引言
在信息化办公的现在,企业在日常办公、产品研发、开会讨论等活动中会产生大量文件,这些文件往往需要共享。传统的共享方式是文件由产生者保存,需要使用文件的员工使用移动硬盘、U 盘等复制,但这样存在很大的安全隐患。一方面,大量的文件存储在客户端计算机中容易造成信息丢失;另一方面,使用移动存储设备可能会因为丢失、携带计算机病毒等因素造成信息泄露。FTP 服务器作为广泛使用的手段之一,也因为存储空间有限、扩容麻烦、安全性低、账户间无关联、不支持在线编辑、分享、自动同步等功能而逐渐被云存储代替。企业网盘就是基于云计算理念推出的企业数据网络存储和管理解决方案,利用互联网后台数据中心的海量计算和存储能力为企业提供数据汇总分发、存储备份和管理等服务。它是一个企事业单位私有的专用网盘系统,具有强大和简单易用的文档在线编辑预览、协同办公、部门文件共享、自动定时备份、历史资料归档等丰富功能。也正是因为这诸多功能,企业网盘受到了众多企业的青睐。
但是,这些网盘在提供更多服务功能的同时,对安全性却重视不足。主要体现在以下几方面。
1) 文件明文存储在服务器端,可能会因服务器受到攻击、服务器管理者无意的失误或有意的窃密而造成信息泄露。
2) 文件传输过程中没有加密或者仅使用SSL 等网络协议加密技术。文件明态传输自然会面临很大的危险,而仅使用网络协议加密技术也是不够可靠的,因为这些加密技术是公开的,时刻都有人在研究这些技术中的♛漏洞,使用这些方法将面临一些已知或未知的威胁,如目前已知的OpenSSL 中的心脏滴血漏洞、SSL 3.0中的Poodle 漏洞等。
3) 访问控制不够严格,多数采用自主访问控制,由资源所有者或管理员自主设定访问主体对资源的访问权限,存在信息泄露的隐患,没有体现人员权限的分级。
为此,有必要研究文件共享中存在的安全问题,针对这些问题提出一种行之有效的解决方案,切实地保护共享文件的安全。本文设计了一种文件加密存储分级访问控制方案,有效保护了文件共享时的机密性,同时实现基★于角色的分级访问控制,有利于企业根据不同级别的人员分工进行不同权限级别文件的共享。
2 相关研究
目前,国内外已有多家公司提供企业文件共享的平台,国内比较有名的有云盒子、亿方云、Dell 等,国外的有Share File、DropBox 等。它们的关注点在于提供尽可能多的服务功能,如在线浏览分享的文件、提供群聊功能等。同时,它们的权限设置方法与在Windows上分享文件的权限设置相似,即由文件发布者指定某一个人对该文件具有哪些访问权限,如读取、修改、写入等。这种权限设置自主性过高,容易因设置者的失误造成文件的不当扩散。与当前在云存储中存在的问题类似,平台提供者普遍忽略了对存储在云端的文件机密性保护,增大了服务器端泄密的风险。伴随着移动计算、云计算等新型计算模式的出现,访问控制技术从最早的自主访问控制、强制访问控制到基于角色的访问控制模型,逐渐向细粒度、分层次发展。
目前,云存储安全性的研究重点是如何将广泛应用于分布式系统的分级加密访问控制应用于云存储系统。分级加密访问控制的基本思想是将文件分类加密存储在云端,同时将系统内的人员分为若干安全类,通过一定方法,高安全类的人员可以推导出本安全类的密钥和低安全类人员持有的密钥,从而能够访问本级和低级别的文件。第一个分级加密访问控制方案是由Akl 和Taylor提出的,其思想是由CA 为每个安全类分配整数,并且有偏序关系的2 个安全类中,低安全等级持有的整数被高安全等级持有的整数整除。这种方案容易被人理解,但在应用中存在2 个主要问题:一是存储的整数量过大,极大地消耗内存;二是每次更新都必须更新整个系统,计算资源消耗过大。此后,一系列的改进方案被提出。Harn 等提出一种基于大数难分解的方案,其方法与Akl方案相反,减少了生成公开令牌所消耗的时间,但需要的整数总量不变。Hwang 等结合Akl 方案和Harn 的数学思想于2003 年提出一个减少整数选择过程的方案。Jung 等于2011 年提出混合使用独立密钥和非独立密钥进行密钥分配的方案,在一定程度上提高了系统的执行效率,但也存在公共参数逐级递增变大的问题。程芳权等提出一种基于全局逻辑层次图GLHG的密钥推导机制的密钥管理方法,提高密钥管理执行效率。这些研究都试图通过对数据密钥的安全共享和管理实现对不同用户的选择性数据访问授权控制。
应用方案的实现多数是在基于角色的访问控制基础上进行的改进,通过给角色加入不同的属性和角色的分级处理,实现细粒度的访问控制。2007 年提出双层分级模型和数据重加密管理用户权限的云存储加密访问控制方案,但是计算消耗巨大。吕智泉等采用基于密文策略的属性加密实现了对密文的访问控制;熊厚仁等针对现有角色访问控制研究存在因角色设置单一带来适应性差、多域环境下角色或权限冗余、对资源管理关注不够等问题,提出支持资源管理的基于双层角色和组织的访问控制模型。池亚平等针对电子政务云跨域访问中用户资源共享访问控制细粒度不足的安全问题,提出一种基于用户等级的跨域访问控制方案,通过身份和访问控制管理,实现了基于用户等级的断言属性认证,消除了用户在资源共享中由于异构环境带来的阻碍。郝小龙通过在传统基于角色的访问控制RBAC中引入GROUPS属性,对其进行层次化,实现了电网视频监控系统中大规模授权的分级管理。本文提出的访问控制方案,针对企业共享文件的管理,根据人员实际职权范围的分级½,引入分级密钥,通过分级密钥加密共享文件以及基于密码卡的加解密实现技术,实现文件的存储安全和分享安全。
3 分级访问控制策略
在本文所提方案中,人员、文件、密钥均需要分ช级管理,且文件、人员、密钥的级别一一对应。访问主体为用户和授权管理单位,客体为服务器端加密存储的文件。人员、文件、密钥的分级管理阐述如下。
1) 人员的分级管理。人员级别由应用场景决定,根据人员在单位中的实际职权范围由授权管理单位确定人员级别,假设人员划分为A、B、C、D 4 个等级,其反映了被定级人员的权限,也决定了其能够访问的文件范围。A 级为最高等级,可以访问A、B、C、D 等级的文件;B 级次之,可以访问B、C、D 等级的文件;C 级更次之,可以访问C、D 等级的文件;D级仅可以访问D 级别的文件。
2) 文件的分级管理。文件☿的级别反映出文件的共享范围,根据文件的内容由授权管理单位确定文件级别,文件等级与人员等级一致,划分为A、B、C、D 4 个等级。
3) 密钥的分级管理。不同等级的文件在存储时采用不同的等级密钥加密,等级密钥由授权管理单位决定。密钥等级划分与文件等级一致,其中,A 等级密钥用于A级别文件的加解密,B 等级密钥用于B级别文件的加解密,C 等级密钥用于C级别文件的加解密,D 等级密钥用于D级别文件的加解密。
4 结束语
本文方案通过给用户、文件一定的等级分类,采用一定的分级访问控制策略,实现了对共享文件的分级访问控制,在一定程度上解决了共享文件权限控制自主性过高的问题;通过文件按文件等级的加密存储,保证了文件在服务器端的安全性;通过基于公私钥对的会话密钥加密,保证了文件在传输过程中的安全性。密码卡的使用使文件的加解密操作得以快速执行,减轻了服务器端的压力,也在一定程度上提高了用户的使用体验。方案实现中,本文采用PC 机模拟服务器和客户端,采用ARM+FPGA 体系架构的芯片ZYNQ-7000实现密码卡的功能,其中,FPGA逻辑部分实现密码算法IP核,ARM 部分实现与PC机的通信,验证了此方案的可行性。后期将进一步研究分级访问控制策略的细化以及如何提高多用户交叉访问场景下的快速访问控制方案。