APP下载

面向数据跨域流转的延伸访问控制机制

2019-07-26谢绒娜郭云川李凤华史国振王亚琼耿魁

通信学报 2019年7期
关键词:跨域访问控制客体

谢绒娜,郭云川,李凤华,,3,史国振,王亚琼,耿魁

(1. 西安电子科技大学网络与信息安全学院,陕西 西安 710071;2. 中国科学院信息工程研究所,北京 100093;3. 中国科学院大学网络空间安全学院,北京 100049;4. 北京电子科技学院电子与通信工程系,北京 100070)

1 引言

复杂网络环境中,运行着各种各样的大型应用系统,如专用系统、应急指挥系统、电子政务系统、电子商务系统等。这些大型应用系统为完成某项任务,往往需要多个子系统协同运作。比如专用系统中,一个简单的业务处理可能会涉及认证系统、业务系统、监管系统等子系统。数据需要在认证系统、业务系统、监管系统之间相互流转和共享。这些子系统大部分属于不同管理域,部署在不同地域。数据跨系统跨域流转已成为复杂网络环境数据共享的趋势,如何确保数据跨系统跨域流转后的受控共享是访问控制面临的重大挑战。

复杂网络环境下,数据在不同实体、不同系统、不同域之间流动形成了数据流。数据跨系统、跨域流转中的延伸访问控制是数据流转和共享过程中急需解决的问题。以专用系统为例,当数据在同一个子系统中的不同实体之间流转,或者从一个子系统流转到另一个子系统、一个域流转到另一个域时形成了数据流。在数据流转过程中,数据所有者一旦将数据发送给其他实体,就失去了对数据的控制。数据接收者在得到数据后,可以对数据进行任意修改和转发。

数据或信息在不同系统、不同域之间的流动形成了数据流或信息流。针对数据流或信息流的访问控制,早期的文献[1-4]大多是针对软件程序、操作系统或应用系统中信息流的控制。Bell等[5]和Biba等[6]分别提出的BLP(Bell and LaPadula)和Biba访问控制模型解决了多级安全系统中信息流机密性和完整性问题。Zeldovich等[7]将信息流控制从单个系统引入网络环境中,实现了多个不可信服务系统之间的信息流控制。She等[8]将基于角色的访问控制与起源数据相结合,利用起源数据对数据可信度进行评估,根据信任值评估结果对信息流进行访问控制。为提高信息流转的效率,She等[9]提出服务组合协议,通过在信息流转前服务组合阶段对候选的服务器进行评估和访问控制策略的验证,改善了由于服务失效导致信息流转效率降低的问题。上述模型没有解决数据流转过程中的延伸控制问题。Asuquo等[10]为了解决时延/中断容忍网络(DTN,delay/disruption tolerant network)在数据转发过程中的访问控制问题,提出了分布式信任管理模型评估中间节点的可信性,从而实现了对数据转发的访问控制。Li等[11]提出了强制性基于内容访问控制机制,实现了数据中心网络数据流转过程中间节点对数据缓存权限的控制。上述文献只是针对特殊应用场景,没有对延伸控制操作进行细粒度延伸控制。

数据在全生命周期流转过程中,来源于不同域、不同系统中的不同实体对数据各部分进行不同的操作,最终生成数据和数据流。数据跨系统、跨域流转过程中共享延伸授权的访问控制面临如下挑战。

1) 延伸授权的访问控制

对数据跨域流转的访问控制,不仅需要在访问请求前判断访问请求实体是否有访问的权限,还需要考虑访问请求实体得到访问权限后对数据资源进一步的延伸控制问题。对数据进行共享延伸的访问控制,访问请求实体不仅要考虑对数据本身的访问权限,还需要考虑对数据在整个流转过程中起源数据的访问权限。

2) 跨域流转的隐私泄露

为了实现跨域访问控制,很多文献采用基于角色或基于属性的访问控制机制。当数据在2个不同域之间流转时,不同域之间需要进行角色或属性的映射,这样势必会存在映射关系复杂、映射表维护成本高和隐私泄露的问题。如何降低数据跨域流转中隐私泄露问题是数据跨域流转延伸访问控制中急需解决的问题。

针对上述问题,本文提出了面向数据跨域流转的延伸访问控制机制,主要贡献如下。

1) 提出了面向数据跨域流转的延伸访问控制机制,并给出了形式化描述。该机制将访问控制分为约束访问控制和传播访问控制2类。其中,约束访问控制用于解决访问请求实体在访问请求前对数据资源的访问授权问题,传播访问控制用于解决访问请求实体得到数据资源访问授权后进一步的延伸控制问题。

2) 面向数据跨域流转的延伸访问控制机制基于访问请求实体和客体的属性进行访问授权,并把数据流转过程的起源数据作为客体的属性,实现访问请求实体对数据流的间接访问控制。在数据跨域流转时,不同域访问请求实体和客体通过属性映射,实现域内局部属性与全局属性的映射,进而实现不同域之间属性映射,避免了不同域之间直接进行属性映射造成的属性映射维护成本高、扩展性差的问题,同时降低了不同域之间属性映射导致的隐私泄露的风险。

3) 对面向数据跨域流转的延伸访问控制机制的安全性和有效性进行了分析,并通过电子发票全生命周期的流转过程展示了数据跨域流转的延伸访问控制机制实施方法。安全性和性能分析表明,该机制有效解决了数据跨域随机流转过程中的延伸授权问题,并在保证安全性的前提下,有效提高了访问控制的效率。

2 相关工作

数据或信息在不同系统、不同域之间的流动形成了数据流或信息流,其中,信息代表有一定意义的数据。关于数据流或信息流访问控制,早期的文献大多集中在信息流访问控制。对于信息流的访问控制,部分文献采用起源数据进行访问授权。本节从信息流访问控制和基于起源的访问控制2个方面讨论数据跨域流转访问的研究进展。

2.1 信息流访问控制

对于信息流控制,早期的文献[1-4]大多是针对软件程序、操作系统或应用系统中信息流的控制,保证敏感信息不能输出到公共端口,并且关键的计算组件不能受到外部信息的影响。BLP访问控制模型[5]将主体和客体分成不同的安全等级,通过“下读上写”的安全策略解决了多级安全系统中信息流机密性。参考BLP模型,Biba访问控制模型[6]将主体和客体赋予不同完整性标记属性,通过“上读下写”安全策略实现了多级安全系统的完整性。Zeldovich等[7]将信息流访问控制从单个系统引入网络环境中,实现了多个不可信服务系统之间的信息流控制。Groef等[12]设计开发了一个Web浏览器,通过浏览器实现灵活准确的信息流控制。但上述文献大多是在执行过程的访问控制,对于信息流动前不同服务器组合时期的访问控制问题很少考虑,影响了信息流访问控制执行的效率。针对上述问题,She等[9,13-14]提出了服务组合协议,将服务组合分成 3个阶段进行服务器评估和访问控制策略的验证,从而实现了可信服务器组合,提高了访问控制的效率;同时,引入了转移因子(TF, transformation factor)的概念,提高了中间服务器访问控制执行的效率。但其没有考虑信息流转过程中的延伸控制。针对特殊应用场景下信息流的访问控制问题,近期不少文献提出了针对性的解决方案。为了解决时延容忍网络数据转发过程的访问控制问题。Asuquo等[10]提出分布式信任管理模型,通过直接信任评估和间接信任评估相结合的方式实现对数据转发节点的可信性进行动态评估,从而实现对数据转发的访问控制,但只是针对 DTN特殊网络环境,同样没有考虑数据流转过程延伸访问控制问题。Li等[11]针对数据中心网络中的安全和隐私问题,提出了强制性基于内容的访问控制机制,内容提供者根据不同内容定义不同的安全标签,实现数据发送时中间节点对发送内容进行缓存的权限控制,虽然考虑了部分延伸控制问题,但只是针对数据中心网络这种特殊应用场景,中间节点对数据缓存及其他延伸操作没有进行进一步的细粒度控制。

2.2 基于起源的访问控制

起源数据主要用来跟踪、记录数据的生成过程,即记录谁在什么条件下对数据进行了什么操作。目前,不少文献利用起源数据进行数据流的访问控制。Park等[15]提出了基于起源的访问控制模型,利用起源数据实现访问控制。为提高访问控制策略描述和执行的效率,Sun等[16-17]设计了类型化的起源模型及其解释器,将起源数据当做一种特殊的属性进行访问控制。She等[8]针对服务导向架构(SOA, service-oriented architecture)中的数据流跨域流转中的安全性和可信性问题,将基于角色的访问控制与起源数据相结合,根据起源数据对数据进行可信性评估,并根据信任值评估结果对数据流进行访问控制,通过域间角色的映射实现数据流跨域的访问控制,但存在映射表维护复杂以及域间角色映射造成的隐私泄露问题。李凤华等[18]提出了资源传播链来记录数据在不同实体之间的流转过程,实现了数据受控二次/多次分发,在一定程度上解决了数据资源的延伸控制问题,但没有给出延伸控制形式化的定义。

上述文献对数据跨域流转共享延伸访问控制问题都没有解决。

3 数据流模型

3.1 数据跨域流转的系统模型

数据跨域流转的系统模型如图1所示,包括多个不同类型的域。不同域包括各种实体(E, entity)、客体(O, object)、数据容器(DC, data container)、安全授权管理服务(SA, security authority)。其中,实体包括使用者、软件、硬件,客体包括各种数据资源(data),数据容器可以为文件夹、数据库、硬盘等,安全授权管理服务负责访问控制策略管理、不同域间属性映射、访问控制判定和授权。

图1 数据跨域流转系统模型

定义1 数据跨域流转的系统包括域集合其中,N*为自然数集合。一个域Di为四元组其中,实体集合客体集合数据容器集合为域Di的授权管理服务,管理域内和域间的访问控制策略集合

3.2 数据流模型

不同实体、不同系统和不同域之间随机访问、生成和转发各种数据,形成了数据交互,如图 2所示。

图2 数据交互

域内的实体e接收其他实体发来的数据并作为自己的输入e.In,将输入的数据e.In和本地的数据e.L通过函数e.F生成输出数据e.Out,实体e对输出数据进行传播操作e.G,发送给其他实体。数据流模型如图3所示。

定义2 数据流模型Q为五元组<e. I n,e.L,e.Out,e.F,e.G>,其中,e.In为输入数据的集合,e. I N = {e. i nk|k∈N*},输入数据可以是本域内的实体发来的数据,也可以是其他域实体发来的数据;e.L为本域内数据集合,e.L= {e.lk|k∈N*};e.Out为输出数据的集合,e. O ut= {e. o utk|k∈N*};e.F为实体e对输入数据和本地数据进行的操作,包括读、写、主体行为等,e. O ut =e.F(e. I n,e.L);e.G为实体e对函数e.F输出数据e.Out进行的传播操作,包括保存、备份、删除、转发等。

图3 数据流模型

数据在不同实体之间的传播生成一个数据流(data flow)或数据传播链(data chain)。

定义3 抽象的数据传播链 <q1,… ,qi, … ,qn> ,其中,q1为数据传播链的起点,qn为数据传播链的终点,qi=<ei. In,ei.L,ei. Out,ei.F,e.G>。其中,ei.In为第i个实体输入数据;ei.L为第i个实体从本地数据容器中获得的数据资源;ei. Out 为第i个实体输出数据,ei. Out =ei.F(ei.In,ei.L);ei.F为第i个实体对数据进行的操作;ei.G为第i个实体对输出数据ei.Out进行的传播操作。

3.3 基于属性的访问控制模型

面向数据跨域流转的延伸访问控制机制中,基于实体属性和客体属性进行访问授权。

实体属性包括实体的通用属性、安全属性、环境属性。令实体EATT = {< e attu, eatts, eattc> |eattu∈EAttU, eatts∈EAttS,eattc∈ E AttC}。其中,EAttU表示实体的通用属性集合,包括实体类别(人、软件、硬件)、实体角色、运行的平台等;EAttS表示实体的安全属性集合,包括实体的安全等级、安全域等;EAttC表示实体的环境属性集合,包括时间、位置等。

客体属性包括数据资源的通用属性、安全属性、环境属性。令客体OATT = {< o attu,oatts,oattc>|oattu∈ O AttU,oatts∈OAttS,oattc∈ O AttC}。其中,OAttU表示客体的通用属性集合,包括客体生成者、生成客体所进行的操作、客体起源数据等,客体起源数据用于表示客体生成过程中所有涉及的相关客体及其属性,客体o的起源数据o.P= {<o1,o1.att>,<o2,o2.att>,… , <on,on.att>} ;OAttS表示客体的安全属性集合,包括客体的安全等级、安全域等;OAttC表示客体的环境属性集合,包括客体生成的时间、设备等。

在进行延伸授权的访问控制时,除了考虑主体和客体属性外,还需要考虑数据容器的属性。令数据容器属性DCATT = {< d cattu,dcatts, dcattc>|dcattu∈ D CAttU,dcatts∈DCAttS,dcattc∈ D CAttC}。其中,DCAttU表示数据容器的通用属性集合,包括数据容器位置、数据容器IP地址、数据库名、视图名等;DCAttS表示数据容器的安全等级、安全域等;DCAttC表示容器的环境属性集合。

面向数据跨域流转的延伸访问控制机制中,在实体和客体的众多属性中,有一部分属性是全局属性,如时间等;还有一部分属性是域内的局部属性,如位置、角色、身份等。域内的数据流转可以采用域内的局部属性直接进行访问控制,这样一方面可以保护隐私性,另一方面可以避免属性转化带来的空间和时间开销。在多域的环境中,跨域的访问控制是不可避免的。为了实现数据跨域安全流转和访问,每个域都存在一个或多个属性映射函数,实现域内属性与全局属性映射。在进行跨域访问时,例如A域数据流转到B域,首先调用A域的属性映射函数,将本域属性映射为全局属性,当数据流转到B域时,再调用B域的属性映射函数,将全局属性映射为B域的域内属性。这样每个域只需要维护本域与全局属性映射关系,提高了属性映射的效率,不同域间的属性互相不可知,降低了隐私泄漏的风险。

4 面向数据跨域流转的延伸访问控制机制

本文提出的面向数据跨域流转的延伸访问控制机制根据数据流转过程中的起源数据进行访问授权,并将访问控制分为约束访问控制和传播访问控制两类。约束访问控制主要解决实体在何种条件下能够对数据进行何种操作的问题,也就是控制上述数据传播链中e.F函数的操作。传播访问控制用于解决实体得到数据后,在何种条件下能进行何种传播操作的问题,也就是e.G函数的操作。通过约束访问控制和传播访问控制解决数据跨域延伸访问控制的问题。

4.1 约束访问控制

在约束访问控制中,实体可以进行操作集合OP主要包括读、写、主体行为,即OP={read,write,useactions}。

权限 perms:实体到操作的映射。perms={<e, op>|e∈E,op ∈ O P}。

授权函数auth:根据实体属性、客体属性和对应的访问控制策略分配实体对应的权限。

auth=perms ×o= {<e, op,o> |e∈E, op ∈ O P,o∈O}

在判断实体对数据资源的读访问权限时,不仅考虑直接读权限,还需要考虑数据流转过程中所有涉及的数据间接读权限,即

auth(e, read,o) ⇔ auth(e, read,o) ∧ auth(e, read,o.P)⇔auth(e, read,o) ∧ auth(e, read,oi.P),i= 1,… ,n

其中,数据资源o的起源数据为o.P= {<o1,o1.att>,<o2,o2.att>,… ,<on,on.att>}。

写操作与读操作类似,同样需要考虑数据流转过程中所有涉及的数据写权限,即

用户行为(useactions)是实体对客体进行的一些特殊行为,如加密、签名、验签、计算摘要、隐私保护、噪声干扰等操作都属于用户行为。不同的操作对应的访问控制策略不同,在实际应用中,根据具体的行为类型和安全需求制定对应的访问控制策略。

4.2 传播访问控制

访问请求实体在得到数据访问权限后,数据的管理权和所有权就产生了分离。访问请求实体可以在本地任意留存、备份,留存的时间、备份的份数也没有限制;还可以将得到的数据任意转发给其他访问实体或系统。传播访问控制主要解决访问请求实体得到数据后进一步的权限管理问题,用于判断控制访问请求实体在得到数据的访问权限后,在什么条件下可以进一步对数据进行哪些传播操作。传播访问控制中,访问请求实体进行的操作集合主要包括保存、备份、删除、接收、发送、转发等操作,即OP = {save,backup,delete,receive,send,forward}。

访问请求实体在得到数据访问授权后,将数据保存在数据容器 dc中。在对保存操作进行访问控制判断时,不仅需要考虑访问请求实体是否对数据有保存的权限,还需要考虑保存数据的数据容器的属性是否满足数据保存的条件,以及保存的时间等。此外,还需要考虑整个数据流转过程中所有涉及的数据保存权限。

其中,数据o的起源数据o.P= {<o1,o1.att>,<o2,o2.att>, … ,<on,on.att>};dc.att指数据容器的属性,只有数据容器的属性满足保存条件时,数据容器才可以保存数据,例如只有数据容器安全等级大于或等于数据的安全等级时,才可以保存数据;time表示数据在数据容器中保存的时间。

为防止数据丢失,经常将数据备份在数据容器中。

其中,Number为备份的份数,Number=1时可以省略不写。数据可以备份在不同的容器中,同一个容器可以备份多份数据。

对接收、保存和备份的数据资源,到了一定时间期限需要执行删除操作。

接收操作涉及不同实体之间数据流转以及流转的路径。在进行访问控制时,不仅要考虑数据本身和接收数据的实体,还需要考虑发送数据的实体、发送的方式和经过的路径等因素,同时还需要考虑数据流转过程中所有涉及的数据。接收操作可表示为

其中,ei.Out表示第i+1个实体接收第i个实体输出的数据资源;ei.manner为接收的方式,ei. manner ∈MANNER,MANNER为数据传输的方式,可以通过网络传输,也可以通过光盘、U盘或纸质文件传输;ei.path为发送的路径,ei. path ∈ P ATH,PATH为数据传输的路径集合,包括数据在不同网络节点传播时形成的传播路径,或通过光盘、U盘或纸质文件传输等人工传播时形成的传播路径。

其中,ei.Out.P为第i个实体输出的数据ei.Out的起源数据。

对于发送操作同样要考虑发送数据的实体、发送的方式、经过的路径、接收的实体以及数据流转过程中所有涉及的数据。第i个实体将自己输出的数据资源ei.Out发送给第i+1个实体的发送操作可表示为

其中,ei. manner 为发送的方式,ei. path 为发送的路径。

如果发送的数据是从上一个实体转发来的,在进行转发控制时,需要增加转发的次数。转发操作表示为

数据转发时,需要判断转发次数是否超过上界,转发成功后,转发次数加1。

在对数据进行跨域延伸的访问控制时,对于域内流转直接采用域内的属性进行授权判断;对于跨不同域的数据流转通过属性映射函数实现域内属性全局属性的映射,进而实现域间不同实体和客体的属性映射,提高访问控制效率,降低隐私泄露的风险。

4.3 安全性分析

现有访问控制机制重点考虑访问请求实体e得到数据资源o前的访问权限的控制。当访问请求实体e得到数据资源o后,资源所有者就失去了对数据资源o的控制权限,访问请求实体e可以对数据资源o进行任意操作,如保存、备份、删除等操作,甚至转发给其他访问请求实体,例如访问请求实体e转发给e1,e1再转发给e2,不同实体之间任意转发造成资源的任意扩散。为解决上述问题,本文提出的跨域延伸访问控制机制从约束控制和传播控制2个方面进行访问控制,不仅考虑读、写等操作,还进一步考虑访问请求实体得到资源后延伸控制,分别从保存、备份、删除、转发等操作进行细粒度延伸控制。在对保存和备份操作进行控制时,不仅考虑实体对资源是否有保存的权限,同时考虑保存的容器属性是否满足条件。对资源备份时,还需要考虑备份的份数等条件。对于转发操作,不仅考虑发送实体和接收实体,同时考虑资源转发的路径、方式和次数,保证资源在受控的实体范围内通过受控的方式和平台进行消息发布和共享。利用延伸授权的访问控制机制有效解决了上述数据资源在不同实体之间任意扩散的情况。同时,在实体得到数据资源后,也不可以对数据资源任意修改、删除和保存,有效限制了数据资源在传播过程失真的情况。文献[8]分别从发送和接收 2种不同操作限制数据传播,在一定程度上解决了数据流转过程中的访问控制问题,但该文献只考虑发送和接收2个单独动作,没有考虑数据整个流转过程,对数据在不同实体之间的多次转发造成的泄露问题不能有效解决。

另一方面,现有访问控制重点考虑对数据资源o的直接访问控制,但数据资源o通常由不同实体通过对不同数据资源进行各种不同操作得到。假设数据资源o由实体e1、e2、e3分别对数据资源o1、o2、o3进行不同操作得到。假设实体e有对数据资源o读的访问权限,但对数据资源o1、o2没有读的权限,而资源o是由o1、o2组成的,那么e通过o得到了o1、o2的读权限,导致数据资源o1、o2的间接泄露。本文利用数据传播链(或者数据流)记录了数据的起源信息,在进行访问控制判断时,不仅判断对数据资源本身是否有访问权限,同时考虑对整个数据传播链中所有参与数据资源的生成和传播的数据资源和实体的访问权限,有效降低了数据资源在不同实体之间流转造成的间接泄露风险。文献[15]利用OPM(open provenance model)记录起源数据,并利用起源数据进行访问控制判断,但存在起源数据过于复杂,并且在数据跨域流转过程中由于起源数据过于复杂导致访问控制效率低。本文利用数据传播链(或者数据流)记录了数据的起源数据,不考虑数据生成过程中不同实体对数据组成部分进行的操作以及不同实体与数据组成部分的关系,简化了起源数据,提高了访问控制效率。

5 用例分析

本节通过电子发票全生命周期的流转过程给出数据跨域流转延伸访问控制机制的实现方法。

5.1 电子发票数据流分析

电子发票数据流转过程如图4所示,共有6个实体。

图4 电子发票数据流转过程

税务机构(e1)。税务机构从电子发票模板库中提取要颁发的电子发票模板(e1.in1),然后生成空白发票的 ID号、有效期等相关数据e1.l1,以及销售方名称等销售方的相关数据e1.l2。为了保证空白发票的合法性,税务机构使用自己的私钥ske1=e1.l3调用签名算法 sig,对空白发票相关数据

(e1. in1e1.l1e1.l2) 进行签名,得到税务机构的签名sige1(e1.l4) ,sige1=sig(ske1,e1. in1e1.l1e1.l2)。税务机构将空白发票相关数据和税务机构签名一起生成空白电子发票e1.out,e1. out =e1. in1e1.l1e1.l2e1.l4,并将生成的空白电子发票发送给销售方。

销售方(e2)。销售方得到税务机构颁发的空白电子发票e1.out后,首先使用税务机构的公钥pke1(e2.in1)调用签名验证算法verify验证税务机构的签名,即 verify(pke1,e1.out),验证通过说明该空白发票为合法发票。销售方生成销售数据e2.l1,为了保证销售数据的真实性,销售方使用自己的私钥ske2=e2.l2调用签名算法对销售数据和空白电子发票进行签名,得到销售方的签名 s ige2(e2.l3) ,e2.l3= s ige2= s ig(ske2,e2.l1| |e1.out)。销售方将空白电子发票、销售数据、销售方签名一起生成有效电子发票e2. out =e1. out||e2.l1||e2.l3,发送给买方(个人/企业)。

个人/企业(e3)。个人/企业得到有效电子发票e2.out后,首先使用税务机构的公钥pke1(e3.in1)和销售方公钥 pke2(e3.in2)验证电子发票的合法性和真实性,即 verify(pke1,e1.out)与 verify(pke2,e2.out)。验证通过后,根据电子发票生成电子发票记账凭证e3.l1,并将有效电子e2.out和电子记账凭证e3.l1一起发送给财务部门进行报销,即e3. out =e2. out||e3.l1。

财务部门(e4)。财务部门根据有效电子发票e2.out和电子记账凭证e3.l1对电子发票进行报销,并生成账单数据e4.l1=e4. out1发送给银行;根据下一步银行生成的划账数据e5. out =e4. in1生成电子发票报销数据e4.l2,并将有效电子发票e2.out、电子记账凭证e3.l1和电子发票报销数据e4.l2存档保存,根据需要接受审计部门的审查。

银行(e5)。银行根据财务部门生成的账单数据e4.l1=e4. out1对个人/企业划账,生成电子发票划账数据e5.out,发送给财务部门。

审计部门(e6)。审计部门从财务部门调取电子发票、电子发票记账凭证和电子发票报销e4.out2,e4. out2=e2. oute3.l1e4.l2,进行财务审计,生成审计结果e6.out。

电子发票模板库是一个数据容器,存放各种电子发票模板。税务机构根据需要从电子发票模板库调用电子发票模板。

为简化,本文假设税务机构属于域 A,销售方都属于域B,个人/企业和各自的财务部门属于域 C,银行属于域 D,审计机构属于域 E,假设电子发票流转过程中,所有的实体已经完成了身份认证。

5.2 电子发票流转中的访问控制需求和访问控制策略

下面从电子发票流转过程中的访问控制需求解释数据跨域延伸的访问控制机制的实施方法。

约束访问控制需求。在上述电子发票流转过程中,各个实体对输入数据和本地数据有读和写的需求。如税务机构对电子发票模板和税务机构私钥有读的需求;销售方需要根据空白电子发票、销售数据和销售方的签名生成有效电子凭据,销售方有对上述数据写的需求。此外,各个实体有进行主体行为的需求,如税务机构需要对空白电子发票进行签名,电子发票流转过程中的主体行为包括签名和验证签名、生成销售数据和电子记账凭证等。

传播访问控制需求。各个实体在得到数据后还需要进一步进行传播操作,如各个实体有接收输入数据的需求,对生成的输出数据有发送需求。部分实体对输入数据和生成的数据有保存的需求,比如销售方从税务机构拿到空白的电子发票后有保存的权限,但保存空白电子发票的数据容器有一定安全要求,空白电子发票只能保存在特殊的数据容器内。空白电子发票有一定的使用期限,超过使用期限,销售方需要将空白电子发票返还给税务机构,而且销售方没有备份空白电子发票的权限。

针对上述约束访问控制需求和传播访问控制需求,生成下述约束访问控制策略和传播访问控制策略。

1) 约束访问控制

根据约束访问控制,电子发票流转过程中各个实体读和写的访问控制策略为

进行读、写访问授权判断时,不仅需要判断直接访问权限,还需要根据起源数据判断间接访问权限。

本实例中的主体行为主要涉及签名和验签操作。在执行签名和验签操作前,访问请求实体对所有输入数据有读权限、对输出数据有写权限。

2) 传播访问控制

在传播访问控制中,接收和发送的访问控制策略为

5.3 电子发票流转实例

本节通过销售方保存空白电子发票,财务部门接收、保存、备份有效电子发票和电子记账凭证具体实例,详细解释传播控制访问控制中保存、接收操作的访问控制实现。

销售方将空白电子发票保存在自己的数据容器 dc2中,销售方保存空白电子发票的访问控制策略可以表示为

其中,dc2.att保存空白电子发票的数据容器的属性,假设规定只有安全等级大于2级的数据容器才可以保存空白电子发票,那么销售方要保存空白电子发票,需要dc2.att.securitylevel>2。假设空白电子发票的有效期为[t1,t2],在有效期内销售方才可以保存空白电子发票;如果不在有效期内,销售方将保存的空白电子发票返回给税务机构。

财务部门接收个人或企业有效电子发票和电子记账凭证e3.out = e2. out e2. l1,审核通过后对有效电子发票进行报销。财务部份接收有效电子发票和电子记账凭证的访问控制策略为

其中,有

在数据接收时,需要考虑数据传送的方式和传送的路径。比如,有的财务部门规定只能使用域内网络进行相关数据的发送和接收,财务部门在接收数据时,可以拒绝接收通过外网发送来的有效电子发票和电子记账凭证。本文假设个人或企业和财务部门属于同一个安全域,在进行数据发送和接收时,不需要进行属性的映射,可以直接使用域内属性进行访问控制判断。财务部门把相关数据发送给银行或审计部门时,其属于不同的安全域,需要进行跨域的属性映射,可以通过全局属性映射实现域间不同实体和客体的属性映射。

报销结束后,财务部门会对e3.Out进行保存和备份。假设财务部门将有效电子发票和电子记账凭证保存和备份在自己的数据容器 dc4中,且只备份一份。财务部门保存有效电子发票和电子记账凭证的访问控制策略为

备份有效电子发票和电子记账凭证的访问控制策略为

对于备份多份的情况,可以对不同的数据容器采用上述策略单独考虑。

6 结束语

数据跨系统跨域流转已成为复杂网络环境中数据共享的趋势,如何确保数据跨系统跨域流转后的受控共享是访问控制的重大挑战。现有访问控制机制主要解决访问请求前的访问控制问题,而对于访问请求实体得到访问权限后进一步延伸控制的研究很少。针对上述问题,本文提出了面向数据跨域流转的延伸访问控制机制,将访问控制分为约束访问控制和传播访问控制2类,根据数据流转过程中的起源数据进行访问授权,解决数据跨域共享延伸授权的问题。安全性和性能分析表明,所提机制解决了数据跨域流转过程中的延伸控制问题,在保证安全性的前提下,有效提高了访问控制的效率,并通过电子发票全生命流转过程展示了数据跨域流转的延伸访问控制机制实施方法。

未来还需要在以下方面进一步研究:结合不同的应用背景,给出面向数据跨域流转的延伸访问控制机制实施方法和访问控制执行效率优化措施。

猜你喜欢

跨域访问控制客体
一种跨策略域的林业资源访问控制模型设计
基于多标签协同学习的跨域行人重识别
社会公正分配客体维度与道德情绪的双向互动
为群众办实事,崂山区打出“跨域通办”组合拳
混合跨域神经网络的草图检索算法
G-SRv6 Policy在跨域端到端组网中的应用
浅议犯罪客体
浅议犯罪客体
内外网隔离中ACL技术的运用
云计算访问控制技术研究综述