面向离散存储电子文件的访问控制策略研究与设计
2021-02-24刘义红
刘 磊, 刘义红
(淮南师范学院 计算机学院,安徽 淮南 232038)
随着信息技术的飞速发展,人们越来越重视数据安全,尤其在一些特殊的应用场景,需要更加开放的网络环境,此时离散存储在终端节点上的数据对传统的集中式数据安全防护方案提出了更高的要求。电子文件作为一种数据载体,在数据结构、完整性、存储形式多样性等方面与非结构化数据有所不同,但传统的数据安全防护方案依然具有一定的参考意义。
目前,主流数据安全保护技术主要以密码学为主,以数据加密算法和数据访问控制策略为代表。这些技术侧重于数据存储、分发和授权的安全问题。其中,经典的数据加密算法分为对称加密算法和非对称加密算法。为了解决开放网络环境下的数据共享问题,研究者提出了多种数据加密方案,例如代理重加密算法和基于身份的加密算法。近年来,越来越多的研究人员关注基于属性基的数据加密算法,这种算法可以灵活控制用户的解密能力,为实现对数据的细粒度访问控制奠定了基础。这种算法可以满足电子文件在存储和分发方面的安全防护需求。而在数据访问控制方面,传统的访问控制模型分为三种:自由访问控制、强制访问控制和基于角色的访问控制。近年来,基于属性基加密的访问控制策略不仅可以满足数据安全管理系统的细粒度访问控制需求,而且支持用户的大规模动态扩展,因此是一种理想的数据访问控制方案。
这些研究成果能够满足电子文件在存储、分发和访问控制过程中的安全防护需求。但是,如图1所示,传统方案主要采用集中式数据管理模式,方案依托服务器端解决数据和密钥在存储阶段,以及数据在访问控制阶段的安全问题,终端节点(即客户端)仅对用户的访问行为控制承担较少的业务负载。但在一些特定的应用场景中,一些系统配置文件和数据库文件等电子文件需要离散存储在终端节点上,这使得仅通过提升服务器端的安全性已无法满足对电子文件的安全防护需求,系统主要的安全防护业务进而转移至客户端处理。针对此类问题,研究关注的重点已不再是数据的集中式安全存储和分发,而是在客户端承担主要业务负载的情况下,如何解决数据在客户端上的安全存储、密钥安全管理及安全访问控制等问题。
图1 传统方案与本研究所提方案对比图
对此,本研究以基于属性基加密的访问控制策略为基础,提出了一种面向离散存储电子文件的访问控制策略,该方案以客户端为业务负载核心,通过引入密钥分离管理算法和混合对称加密算法改进了基于属性基加密的访问控制策略的数据加密流程,使其能够满足离散存储电子文件场景下的数据安全防护需求。因此,本研究所提方案不仅继承了基于属性基加密的访问控制策略所具备的细粒度访问控制特点,并设计了基于客户端的轻量化数据及密钥安全防护算法,以“化整为零”的方式降低了服务器端的业务负载,并有效提升了系统的整体运行效率。
1 材料与方法
1.1 安全框架设计
本研究所提方案的安全框架主要包括3个实体:主服务器(服务器端)、授权服务器(服务器端)和客户机(客户端),三者关系如图2所示。该框架在传统数据安全防护技术基础上,通过将系统的加/解密、电子文件分发等核心业务迁移至客户机,不仅能够满足离散存储的电子文件的安全访问需求,而且允许主服务器仅处理授权验证及信息更新等轻量化业务,从而有效地降低其业务负载压力。
图2 访问控制策略框架图
1.1.1 主服务器 主服务器主要负责:验证用户身份信息;管理客户机信息及电子文件信息;维护电子文件加密密钥的随机部分。其主要维护两张信息表:客户机信息列表Listc和电子文件信息列表Listf。
Listc:{客户机编号,客户机基本信息}。其中,客户机编号是客户机在初始注册时由主服务器分配,是客户机唯一性标识;客户机基本信息包括客户机注册时间,客户机型号,客户机操作系统及客户机用途等。
Listf:{文件编号,文件基本信息,文件属性集合,文件敏感等级}。其中,文件基本信息包括文件用途,文件创建时间,文件大小等;文件属性集合是一组描述文件特性的属性集合,主要用于与用户属性进行门限比对,从而实现文件的细粒度访问控制。主服务器保存的Listfa为所有客户机上的电子文件信息总列表,客户机分别保存自有的Listfs是各自客户机上电子文件信息子列表。电子文件等级分为Level1、Level2、Level3。Level1指最高敏感级别电子文件,Level2指中级敏感级别电子文件,Level3指一般敏感级别电子文件,根据文件敏感等级不同,对应的用户操作控制权限也不同。
1.1.2 授权服务器 授权负责器主要负责:对用户进行注册授权,生成用户属性证书;对客户机进行注册授权,管理客户机的公/私钥;管理电子文件的操作权限,生成用户操作控制策略。
1.1.3 客户机 客户机主要负责:维护电子文件加密密钥的固定部分;加密和解密电子文件;用户访问控制。其中,Sm、Sr、Client、Vser和File分别表示主服务器、授权服务器、客户机、用户和文档表1为所涉及的相关参数的定义信息。
表1 逻辑对象定义参照表
1.2 密钥分离管理算法
既有方案中,密钥主要由授权服务器集中进行管理,其中用户的密钥对(包括公钥和私钥)是在申请阶段生成,后期采用静态管理方法,一般不会更改。而如前文所述,由于将业务负载转移至客户端,客户端也将承担对密钥的管理业务。加之本研究将使用轻量化的对称加密算法对电子文件进行加/解密,这种方案能够有效提高数据的加/解密效率,但对称加密算法在密钥安全保护方面较弱,因此本研究设计了一种基于服务器端和客户端协同管理的密钥管理机制——密钥分离管理算法。该算法的核心思想是将文件加密密钥分为两部分(Kc1和Kc2)进行管理,分别由主服务器和客户机在加密或解密文件时动态生成。其中,Kc1是密钥的固定部分,由客户机根据本地设备的硬件信息生成;Kc2是密钥的随机部分,由主服务器根据特定算法生成并定期更新。该算法通过在主服务器和客户机上,以密钥分离式的管理方式分别管理文件密钥的不同组成部分,使客户机每次在进行文件的加/解密操作时,均需从主服务器获取Kc2部分,而Kc2由主服务器随机生成并定期更新,使得非法用户很难同时获取Kc1和Kc2,从而能够有效地提高密钥安全性。算法流程如图3所示。
图3 密钥分离算法流程图Fig.3 Key separation management algorithm flowchart图4 混合对称加密算法流程图Fig.4 Hybrid symmetric encryption algorithm flowchart
1.3 混合对称加密算法
一方面,由于离散存储的电子文件主要存储于客户机上,其数据加/解密业务只能由客户机独立完成。而基于属性基的数据加密算法属于非对称数据加密算法,此类算法加/解密过程相对复杂,对于数据量较大的文件加/解密速率相对较慢,而客户机往往系统资源有限。另一方面,面向电子文件的加密算法区别于传统文本密算法,需要在文件系统层面考虑对数据的加密操作,加密内容不是电子文件中的明文内容,而是将文件作为一个独立对象进行加密,需要综合考虑文件结构和数据量等因素。综上两方面原因,本研究对密钥这种数据量较小的文件依然采用非对称加密算法进行加密,而对于存储与客户机上的电子文件设计了一种混合对称加密算法。该算法在综合考虑了电子文件在分块、分组及数据流方面的特殊数据结构,以1MB大小的分块数据对文件进行规格化处理,并采用RC4和AES两种对称加密算法相结合的方式对分块后的数据依次进行流加密和分组加密。两种加密算法加密秘钥长度均为128位,且密钥文件分别对应Kc1和Kc2两个部分。算法流程如图4所示。
1.4 改进的基于属性基加密的访问控制策略
近些年针对基于属性基加密的访问控制策略的研究较多,由于其灵活的属性匹配模式能够对用户实现细粒度访问控制。然而如前文所述,基于属性基的数据加密算法已经不适合本研究中电子文件离散存储于客户机的应用场景,但本研究依然保留了方案中用于访问控制的Ac和Au等内容,并继承了方案通过属性门限对比方式实现对数据的访问控制。同时,结合密钥分离管理算法和混合对称加密算法,本研究提出了一种改进的基于属性基加密的访问控制策略。
1.4.1 具体实现
1.4.1.1 系统初始化
(a)系统在初始化阶段,主服务器会监听与授权服务器及各个客户机之间的连接状态,并将最新的Listfa和Listc发送给授权服务器进行更新,操作如下:
Sm
→Sr
:List
_f
_a
||List
_c
(1)
(b)如果有新的客户机纳入系统进行安全监控,需要完成客户机的注册申请。首先,由客户机向主服务器发送IDc进行身份验证并提出注册申请。
Client
→sm
:IDc
||req
(authorization
)(2)
(c)如果验证成功,主服务器向授权服务器发送IDc,授权服务器生成客户机的SKc和PKc,并将SKc给主服务器,PKc发给客户机。
(3)
(d)主服务器根据业务所需生成客户机上的List
f
s
和Kc
2,并用PKc
加密后发送给客户机。Sm
→CLient
:E
_PKc
(List
_f
_s
∥Kc
2)(4)
(e)客户机根据Kc
1和Kc
2对List
f
s
中的电子文件进行加密。其中,Kc
1是利用客户机CPU
编号、硬盘编号、网卡MAC地址等信息通过特定算法处理后得到的MD5值。加密算法采用了一种综合了RC4和AES两种对称加密算法的混合对称加密算法,这种加密算法能够满足基于电子文件的数据安全加密需求,详细内容见2.3节。Cf
=Client
:E
1+2(File
,{File
∈List
_f
_s
}(5)
1.4.1.2 用户注册
(a)用户向主服务器提出注册申请,发送的信息包括IDc和IDu。
User
→Sm
:req
(register
)∥IDu
∥IDc
(6)
(b)主服务器收到注册申请后首先验证IDc,即必须在已注册的客户机上才能进行用户注册。若验证通过,则主服务器将IDu发送给授权服务器,否则拒绝申请。
(7)
(c)授权服务器根据用户基本信息,为用户颁发用户属性证书,用户属性证书内容除常规证书外还包括Au,Au由多个能够描述用户角色的属性值组成。
Sr
→User
:Au
(8)
1.4.1.3 用户申请访问文件
(a)用户在申请访问文件前,主服务器需要对用户是否在被授权的客户机登陆情况进行验证。若通过,则继续进行用户属性证书合法性验证,否则,拒绝访问。
(9)
(b)授权服务器负责验证用户属性证书Au的合法性。若通过,则系统继续等待文件访问申请,否则,拒绝访问。
(10)
(c)用户提出文件访问申请,由用户登录所在客户机向主服务器发送包含IDc、IDf及Kc2请求。
User
→Client
:req
(IDf
)(11)
Client
→Sm
:req
(IDc
∥IDf
∥Kc
2)(12)
(d)主服务器首先根据Listfa验证客户机和文件的对应关系,即请求文件是否在客户机上。若通过,则主服务器向授权服务发送文件解密密钥Kc2。
(13)
(e)授权服务器根据Listfa中待访问文件的文件敏感等级Level设置Ru。授权服务器对Ru、Ac及Kc2使用客户机公钥加密后,发回给客户机。
Sr
:Ru
=(IDc
∥IDf
∥User
_op
∥User
_t
∥User
_c
)(14)
Sr
→Client
:D
=E
_PKc
(Ru
∥Ac
∥Kc
2)(15)
1.4.1.4 文件访问控制 数据分组D在发回客户机后,由客户机对用户访问行为进行实时监控,一方面通过文件解密控制和文件使用控制实现对电子文件的访问控制;另一方面,客户机将用户操作状态实时发动给主服务器进行远端监测。
(a)客户机首先对接收到的数据进行解密,首先从数据分组D中解析并验证IDc和IDf,若通过则继续,否则拒绝访问。
Sr
→Client
:D
=E
_PKc
(Ru
∥Ac
∥Kc
2)(16)
(17)
(b)客户机从D中解析Ac,根据Au,检验用户属性集合和文件属性集合相交的属性值数量是否满足系统规定的访问控制门限值d,若满足,则允许用户访问并进行文件使用控制,否则关闭文件。
(18)
(c)客户端计算Kc1,并根据解析到的Kc2采用混合对称加密算法对加密文件解密,得到明文。
File
=D
_(Kc
1+Kc
2) (Cf
)(19)
1.4.1.5 文件访问结束 用户在完成电子文件访问后,客户机会再次向主服务器提出加密申请,主服务器会更新文件对应的随机密钥Kc2为Kc2’,并由授权服务器发回给客户机,客户机结合固定密钥Kc1完成对文件的加密操作,具体过程如下。
Client
→Sm
:req
(IDc
∥IDf
∥State
(over
) )(20)
Sm
→Sr
:Kc
2^'=Sm
:Generate
(IDc
∥IDf
)(21)
Sr
→Client
:E
_PKc
(Kc
2^' )(22)
Client
:E
_(Kc
1+Kc
2^' ) (File
)(23)
2 结果与分析
2.1 用户访问控制实验
本研究设计并研发了原型系统来检验策略的可用性。测试方案模拟某公司系统运维部的服务器运维管理场景,运维管理人员分为合法用户和非法用户两类,其中,合法用户须同时拥有用户身份认证的账户信息,以及授权服务器颁发的用户属性证书,其他情况为均为非法用户。在此场景中规定,所有用户均需通过原型系统管理服务器上的电子文件。
如表2所示,测试方案中设计了6名用户,用户的属性证书中属性集合Au包括了科室编号、职称级别和工作年限3个属性值。其中,前4名用户(UserA~UserD)为系统运维部的合法用户,其访问行为均发生在公司局域网内部;另外2名(UserE~UserF)为非法用户,通过非法途径获取用户UserA的身份信息。其中,UserE为本公司其他部门人员,仅获取到UserA的账户信息;UserF为非公司人员,不仅获取到UserA的账户信息并伪造了UserA的属性证书UserAAu’。这里假设授权服务器具有可靠的安全性,其生成的用户属性证书无法在内容级层面被破解,因此UserAAu和UserAAu’是不同的。
表2 用户基本信息表
用户待访问的电子文件信息如表3所示。其中,属性集合Ac也是电子文件的访问控制策略,内容包括文件的属性值集合与访问控制门限值d,属性值集合中的3个属性值需要满足的条件分别是=“科室编号”、≥“职称级别”、≥“工作年限”;敏感等级是系统根据电子文件重要性进行设定的,用以确定用户操作控制策略Ru{文件操作权限,允许访问时限,授权客户机IP范围}。本例中FileA的敏感等级为Level2,其Ru为{读取,8:00-18:00,10.19.185.*};FileB的敏感等级为Level3,其Ru为{读取/修改,8:00-18:00,10.19.185.*}。
表3 电子文件信息表
表4 用户访问文件操作信息表
为了验证本研究设计的原型系统是否能够在用户身份验证、文件访问控制及用户操作控制3个阶段实现对电子文件的数据安全防护。在测试方案中,用户对文件的详细访问行为如表4所示。其中,UserA~UserF每位用户均对FileA与FileB两个文件发起了访问请求,而对于操作集合中的useop、uset和usec,其对用户的操作控制是等价的,其中任意一项不满足条件均会触发中断访问的机制。因此,为了减少重复试验次数,本测试方案中仅对useop取不同值。
用户访问文件的结果如表5所示。结合表3~5可以得出结论,系统会在用户访问过程的不同阶段对其进行全流程监控,一旦发现用户存在越权访问行为,系统会立刻阻断相关文件的访问操作。因此,通过本研究设计的原型系统,能够实现对用户的电子文件访问及操作行为进行访问前及访问过程中的实时监测和控制。通过实验测试结果可以证明,本研究设计的面向离散存储的电子文件的访问控制策略在可用性方面是可行的。
表5 用户访问结果信息表
2.2 功能与性能分析
功能方面:本研究对所提方案在数据加密、数据解密、密钥管理和数据传输各环节中,主服务器、授权服务器及客户端在业务负载方面进行了分析。与传统公钥密码体制(PKI)相比,一方面,本研究所提方案主要涉及主服务器和客户端,因此在服务器端的授权服务器节点上业务负载二者几乎无差别;另一方面,由于方案将数据加解密业务由服务器端的主服务器节点转移至客户端节点,因此在主服务器节点业务负载会有明显降低,而客户端节点的业务负载会有一定的增加。这种结果正符合本研究所提方案的初衷,即将系统的业务负载以“化整为零”的方式进行分散转移,从而提升系统的整体性能。
性能方面:在本研究所提方案中,客户端仅需承担用户的访问控制业务和一定的数据加解密业务,因此系统资源消耗较少;而在服务器端,由于主服务器负责管理各客户端的业务请求,并承担数据系统协调控制任务,是整个系统的业务负载核心所在,因此用户数量直接影响主服务器的系统资源消耗。对此,本研究针对主服务器在不同客户端数量下的系统资源占用情况进行了实验分析。可以看到,本实验中随着用户数量的增加,主服务器的CPU和内存的资源占用比均提升较快,尤其在用户数量达到35时,内存资源几乎消耗殆尽。当前,本方案对大量客户端的使用场景支持较差,主要是因为本实验中主服务器使用的是一般的个人电脑,系统资源有限。因此,可以通过采用专业的硬件服务器以及优化客户端接入管理等方式提升系统整体性能,以满足多用户使用需求。
2.3 安全性分析
2.3.1 文件机密性 本研究针对电子文件的数据结构特征引入了混合对称加密算法,通过两种通用对称加密算法实现对文件的流加密和分组加密,这种方式不仅有效地提升数据了内容的安全性,而且具备轻量化特性。同时,本研究采用密钥分离管理管理机制,通过主服务器和客户机分别管理密钥的随机和固定部分的方式实现对密钥的分离管理。由于密钥的固定部分是由客户机硬件参数通过特殊算法所得,且仅在执行文件加/解密操作时生成,非法用户很难获取。而密钥的随机部分由主服务器随机生成并定期更新,客户机也不会存储。因此,非法用户无法获取完整的文件密钥解密客户机上的电子文件。
2.3.2 文件访问控制 本研究借鉴了基于属性基加密的访问控制策略的优点,通过对文件及用户对象设定合理的属性值集合,并制定访问控制门限值、设定门限条件约束用户对文件的访问权限,能够实现对文件的细粒度访问控制。这种技术有别于传统基于角色权限的访问控制方法,此系统无需设计繁杂的基于角色授权机制,仅在客户机端验证用户属性集合是否满足门限条件,通过分别对用户和文件对象设定属性值集合,并由用户属性证书和主服务器分别存储管理,非法用户即使破解了用户属性证书,获取到用户的属性值集合,但在没有确定文件属性集合及访问控制门限值的情况下非法用户不能够进行文件破解操作。
3 结论
针对离散存储的电子文件数据安全防护需求,本研究通过引入密钥分离管理算法及混合对称数据加密算法,提出一种基于属性基加密的数据访问控制策略,该方案具有以下优点:本研究设计了密钥分离管理算法,通过将密钥分别在服务端和客户端进行独立管理,并采用密钥定期更新及动态生成方法,有效提升了密钥的安全性;本研究设计了混合对称加密算法,通过数据流加密及数据分组加密相结合的方法,实现了一种面向电子文件的轻量化且高安全性的数据安全加密方案;通过设计功能完备的客户机程序,将主要安全防护业务转移至客户端,大大地降低了主服务器的工作负载,提高系统整体效率。因此,该解决方案具有一定的应用推广价值。