Geotoday

今日地质

一种矢量地理空间数据文件细粒度访问控制模型

引言

当前,地理空间数据安全问题日益受到关注,地理空间数据访问控制成为了国内外学者的研究热点。然而现有的研究多侧重于地理空间数据库的访问控制,其中基于角色访问控制模型进行时空扩展是目前研究的主要方向。该类模型主要是结合地理空间数据特征,从模型的主体、客体以及 上下文等方面进行时空约束扩展,以满足地理空间数据访问控制的需求,但由于此类模型实现机制复杂,灵活性差,无法直接用于地理空间数据文件访问控制。同时,目前地理空间数据文件访问控制研究多为基于访问控制策略的技术实现,其主要分为两类,一是基于内控安全的地理空间数据使用控制方法,主要通过加密、文件系统控制、网络控制、计算机硬件端口封锁等方法,控制地理空间数据的使用环境,使数据无法脱离内网。二是数据打包的方法,主要是将地理空间数据和相应的密钥文进行打包,在数据使用端由数据解包软件控制数据的使用情况,在突破了内网限制的同时,满足了网络化办公环境对数据安全的初步要求。但以上方法均缺少相关理论模型的支持,没有统一的形式化标准,导致策略表达不完善,使得策略冲突、数据泄密时有发生,且控制粒度仅为文件级的粗粒度控制。

针对上述问题,本研究结合地理空间数据文件的特点,通过引入元属性及加解密机制,提出一种基于属性的地理空间数据文件访问控制模型(Attribute-Based Access Control for Geospatial Data File,GDF-ABAC),该模型支持多种粒度的访问控制,具有较好的灵活性与可扩展性。最后以Shape file格式为例,证明了 GDF-ABAC模型的有效性与实用性。

1 GDF-ABAC模型定义

基于属性的访问控制方式实现了细粒度和动态的访问授权,适合地理空间数据文件访问控制在多使用域环境中对授权粒度与策略的灵活性及可扩展性需求。因此,本研究结合地理空间数据文件的特点,引入元属性及加解密操作,构建基于属性的地理空间数据文件访问控制模型——GDF-ABAC。该模型具体定义如下:


其中,S表示主体(Subject),可指用户或某一进程;R表示资源(Resources),在此主要指地理空间数据文件;OP表示操作(Operation);E表示环境 (Environment);A表示属性(Attribute);APPR表示属性分配(Attribute Assignment);MA表示元属性(Meta Attribute);En表示加密(Encryption);De表示解密(Decryption),为了保证地理空间数据文件的安全性,文件必须以密文形式存在,因此模型中需包含加解密。各元素之间的关系见图1。


图1描述了主体的权限是由主体、资源、环境、操作等 属性以及元属性共同确定的。其中,SA、RA、OPA、EA、MA分别为主体属性、资源属性、环境属性、操作属性以及元属性。虽然模型中没有涉及权限,但权限可表示为P=OP|OPA∧R|RA,表示对满足RA属性条件的资源(R)进行具有OPA属性的操作(OP)。可见该模型可以依据资源属性与操作属性对用户权限进行细分,实现了资源访问内容的细粒度控制,符合最小特权原则,有助于增强地理空间数据文件的安全性。

1.1 属性的定义

GDF-ABAC模型中定义的主体、资源、环境、操作4类主要实体的属性,称之为实体属性。此外,该模型还定义了元属性,用于描述资源实体属性的属性。

(1)主体属性。主体是指访问操作的发起者,可以是某一用户或进程。主体属性是与用户或进程相关的特征,例如用户ID、名称、部门、职位、进程名称、进程号等,在地理空间数据文件访问控制中,为了控制与跟踪文件的使用,往往需要获得用户所使用地理信息软件的相关信息,此时进程名称、进程号等就显得尤为重要。此外,由于在文件访问中,需要访问控制系统执行加解密操作策略,因此将访问控制系统本身作为一类特殊主体,以Sys表示。

(2)资源属性。资源是指操作的对象,在此主要指地理空间数据文件。资源属性是与地理空间数据文件相关的特征,对于矢量地理空间数据文件而言,该特征即为几何对象的属性,如道路的名称、矿产储量、土地利用类型等属性信息。

(3)操作属性。在GDF-ABAC模型中将操作分为两大类:一类是用户操作,如对资源进行打开、浏览、编辑、删除等操作,用OPA表示该类操作属性的集合;另一类则是系统操作,包括加密、解密两种操作,该类操作属性的集合SOPA={En,De}。

(4)环境属性。环境属性是指访问控制中发生的环境信息,如访问的时间、访问过程中产生的上下文信息等。环境属性对于地理空间数据文件的访问控制尤为重要,如访问的时间可以用来约束文件的使用期限。此外,在地理空间数据文件提供使用时,提供者预设了相关的控制策略,当使用者单位内部也需要对该文件设置控制策略时,后者设置的访问控制策略能否实施,需取决于预设控制策略的评估是否为permit。

(5)元属性。元属性是指用于描述属性的属性,例如属性的数据类型、属性所在数据库、属性的权属等。本研究对元属性的引入是为了描述地理空间数据文件的加密标识、对应的策略地址、时空尺度、图层信息、使用期限、版权以及元属性自身存储位置的映射标识等信息。

定义2 

实体属性和元属性都具有一定的值,即属性值,属性值的取值范围称为域(domain)。

定义3 属性(A)可形式化表示为T(N,V),T代表属性类型(Type),其中T∈{SA,RA,OPA,EA,MA},N为描述该类型属性的属性变量的有限集合,V为N中属性变量的域。将T(N,V)称为属性模式。若某类属性有M个属性变量,TA(1≤m≤M)则表示该类的第m个属性。

用ATTR(S)、ATTR(R)、ATTR(M)、ATTR(OP)、ATTR(E)分别表示主体、资源、元属性、操作以及环境的分配关系:


式中:H、I、J、K、L分别表示每类属性的个数。

定义4 属性实例是属性的具体实现,对于属性实例e,T(e)表示该实例的属性类型,a(e)Ni表示该实例的第i个属性变量,v(e)Vi表示该实例的第i个属性变量的值(1≤i≤n,n为属性变量的总个数)。

定义

5  属性赋值

(attr)是将属于某类属性实例的属性变量赋予属性值的过程,形式化表示为:对于某个实例e∈S∪R∪OP∪E∪P∪MA,若T(e)∈T,a(e)Ni∈N,v(e)Vi∈V,则a(e)Ni=v(e)Vi

将属性模式简化描述为 T(t.a,t.a,…,t.a),其中T为属性类型,t.a,t.a,…,t.a为属性名称,而实例化后的属性值用元组<t.v,t.v,…,t.v>表示,即属性名称的属性值分别为v,v,…,v。在整个地理空间数据文件的流通环境中,为了统一描述属性,制定策略,属性模式一般是静态不变的,而其实例化后的属性值则是动态变化的。

用attr(s)、attr(r)、attr(op)、attr(e)、attr(m)分别表示主体、资源、操作、环境的属性以及元属性的赋值:


1.2 访问控制规则与策略

访问控制规则与策略是管理者为了保护资源的安全而制定的,是访问控制系统判定请求者是否能够访问的依据,是访问控制的核心。下面介绍GDF-ABAC模型的访问控制规则与策略。

定义6 GDF-ABAC访问控制规则(Rule)分为两类:一类是针对访问控制系统设置的规则,称之为强制类S-Rule,用于保证地理空间数据文件是在安全环境下使用;它是一个六元组(Sys,<s.v,s.v,…,s.v>,<ma.v′,ma.v′,…,ma.v′>,R,<sop.v′>,EA),表示在符合用户属性为s.v,s.v,…,s.v和元属性为v′,v′,…,v′,且满足环境属性集合EA的条件下,访问控制系统对资源R进行v′操作。另一类是针对一般用户,称之为控制类U-Rule,用于实现对地理空间数据文件访问的细粒度控制;它是一个五元组(<s.v,s.v,…,s.v>,<r.v′,r.v′,…,r.v′>,<op.v″,op.v″,…,op.v″>,±,EA),表示在满足环境属性集合EA的条件下,允许(+)或禁止(-)属性为v,v,…,v的主体,对属性为v′,v′,…,v′的资源,实施属性值为v″,v″,…,v″的操作。

定义7 GDF-ABAC的策略(Policy)形式为:


其中,@为策略关联标识,用于关联策略与受控文件;C为策略类型,GDF-ABAC模型中,将策略分为两类,一类是强制类(S-Policy),即组成该策略的规则均属于S-Rule,一类是主控类(M-Policy),即组成该策略的规则均由地理空间数据版权所有者制定;po为策略号,在同一个关联标识及同类策略类型下,po具有唯一性,一个文件的一类策略类型的全部策略记为PO;rulec1,rulec2,…,rulecn为规则。将针对某一文件制定的所有策略的集合称为策略集(Policy Set),Policy Set ={S-Policy,M- Policy}。其中S-Policy不可为空,为了数据的细粒度控制,M-Policy原则上亦不可为空。

定义

8 GDF-ABAC的访问控制策略判定是一个布尔函数,其结果集为{permit,deny}。


对于任意的策略Policy∈Policy Set,如果Policy内部的每一个规则判定均为permit,则can_do(s,m,r,op,e)=permit,表示允许主体s在环境e下,对元属性为m的资源r进行op操作。如果存在一个或一个以上的规则判定为deny,则can_do(s,m,r,op,e)=deny,表示禁止主体s在环境e下对元属性为m的资源r进行op操作。

2 GDF-ABAC基本框架模型

GDF-ABAC基本框架(图2)是对GDF-ABAC模型实现的逻辑概述,该框架模型描述了对用户的访问控制过程。


AA为属性权威(Attribute Authority),负责主体、环境以及地理空间数据文件的属性和元属性的创建与管理,同时为策略的创建提供属性信息。因此,AA不仅是一个逻辑实体,它还具备用于存储属性的属性库。此外,AA还负责属性的分配与赋值,在GDF-ABAC框架中具有重要的作用。PEP为决策执行点(Policy Enforcement Point),主要负责处理用户发来的访问请求,并执行访问控制判定模块返回的决策信息。PDP为策略判定点(Policy Decision Point),其职责是依据经PEP处理后的用户访问请求中包含的主体、环境、操作、地理空间数据文件的属性及其元属性,选择合适的策略进行有效的评估,并返回评估结果。PAP为策略管理点(Policy Administration Point),负责创建和管理访问控制策略,为PDP提供相应的策略支持。

3 基于GDF-ABAC模型Shape file文件细粒度访问控制实现

3.1 Shape file格式文件与元属性存储

(1)Shape file文件格式分析。Shape file格式主要由SHP、DBF及SHX3个文件组成。SHP文件是一个直接存取可变长度记录的文件,其中每一条记录描述了一个由一系列坐标点组成的空间几何图形。DBF文件存储空间几何图形的属性信息,每一条记录对应一个空间几何图形。SHX文件也是以记录的形式存取文件,其每一条记录包含了其对应SHP文件记录的记录长度及其距SHP文件头的偏移量。

对于GDF-ABAC模型而言,SHP文件是主要的客体对象,它是整个Shape file文件的核心;DBF文件为GDF-ABAC模型提供控制对象的属性信息;而SHX文件是实现细粒度访问控制的关键,有助于快速定位某一空间几何要素在SHP文件中的位置,当用户读取SHP文件时,可进而获得该空间几何要素在内存中的位置,通过对该段内存的控制,即可实现访问控制目的。因此除了对SHP文件进行保护外,还要防止对DBF与SHX文件的恶意篡改。

(2)元属性的存储。由GDF-ABAC模型的属性定义可知,元属性主要是指地理空间数据文件的加密标识、对应的策略地址、时空尺度、图层信息、使用期限、版权以及元属性自身存储位置的映射标识等信息。一些元属性必须保存在地理空间数据文件中,而其他则存在属性数据库中,并通过映射标识与文件进行关联。本系统中包含在地理空间数据文件中的元属性主要有文件加密标识、使用期限、版权信息以及其他元属性的位置映射标识等。

对于文件加密标识及位置映射标识的存放,多选择在文件内部存储,按照其存储位置,可分为文件头标识、文件尾标识以及文件内标识(图3)。


从图3可以看到,对于文件头标识和文件尾标识而言,均增加了文件的长度,在文件访问时,则必须要设置偏移以获取文件的真实长度,但其具有较高的兼容性。而对于文件内标识,一般利用文件内部位置固定的预留字段存储文件标识,这种方式需要知道该文件格式结构,且具有位置固定的预留字段,兼容性较差。但其保持文件长度不变,省去了偏移设置及获取文件真实长度的过程,比前两种方法效率高。由于SHP文件头5-24字节位置没有被使用,本研究利用这些位置存储文件加密标识、使用期限以及版权等元属性信息。

3.2 系统架构

在GDF-ABAC模型框架下实现的Shape file格式文件细粒度访问控制系统,在操作系统的运行层次上可分为应用层与内核层,其主要由位于应用层的访问控制系统应用层模块和位于内核层的文件过滤驱动模块所组成(图4)。由于在应用层较容易实现属性库与策略库的读取及策略的判定,因此,将请求处理及策略判定部分置于应用层实现。


3.3 系统实现过程

(1)访问控制管理。由于GDF-ABAC模型要求地理空间数据文件必须为密文存储,因此,管理员首先需要对Shape file格式文件进行加密,并在文件中嵌入一些重要的元属性,如文件加密标识、版权、使用期限以及元属性地址映射标识等信息,以保证在文件级、粗粒度的安全控制,同时还要负责对主体属性、操作属性、环境属性、元属性管理以及策略的设置,其实现过程见图5。


(2)用户访问控制。对于一般用户的访问控制,系统的实现过程为:1)由用户发起访问请求,进入地理空间数据识别过程,判断所访问文件中是否包含加密标识,若不包含(false),则直接执行该访问请求并返回访问信息;若包含(true),则进入身份验证过程,验证用户ID及获取上下文信息,这里的上下文信息亦指环境属性。2)进入信息查找过程,由策略执行点(PEP)根据请求信息,查找对应的属性,如依据用户ID查找对应的主体属性,依据所访问对象查找该对象的属性及元属性。3)将原始访问请求转换成基于属性的访问请求,传递给策略决策点(PDP),由策略决策点基于相关属性,查找合适的访问控制策略(主要包含强制控制策略和主控制策略)。4)进入访问控制过程,由策略决策点首先依据强制访问控制策略,做出访问判定:若结果为deny,则返回失败消息;若结果为permit,则依据主控制策略,做出访问判定:若结果为deny,则返回失败消息;若结果为permit,由策略执行点(PEP)执行访问请求,然后给用户返回访问信息。该控制过程见图6。


系统通过将强制策略控制与主控策略控制相互结合(前者实现粗粒度的控制,主要保证文件的保密性,后者主要实现细粒度的访问控制),在保证文件安全的情况下,实现了矢量地理空间数据文件的细粒度访问控制。其中对使用期限的控制,实现了文件级粗粒度控制。图7是对某一受控属性的访问控制,由于该用户的访问权限未达到受控属性的权限要求,使得用户无法访问该属性所对应的地理空间要素(图7b中为空白区域),实现了要素级别的细粒度访问控制。


4 结语

本研究提出的GDF-ABAC模型与地理空间数据文件特征紧密结合,考虑了地理空间数据的时空尺度特征、属性特征以及分层显示等特点,将时空尺度、图层信息、使用期限等作为元属性,用于强制访问控制策略的表达,可支持多种形式的文件级粗粒度控制;同时,充分利用地理空间数据的属性特征,实现了要素对象级的细粒度控制,具有良好的访问控制策略表达能力。基于GDF-ABAC模型,以Shape file格式文件为例,利用文件过滤驱动技术实现了要素级控制粒度的访问控制系统,验证了模型的有效性与实用性。系统采用文件过滤驱动技术,在操作系统的内核层实现了文件的透明加解密,对于应用层的相关空间操作(如空间分析等)不会产生任何影响,并对于用户而言,整个访问控制的过程是透明的。同时,由于地理空间文件经过加密处理,必须安装本系统才能进行访问操作,使得本系统不仅可以在内网实现访问控制,也可以将数据与软件打包外发,在保证安全的前提下实现地理空间数据的共享。

地质科技信息


主办:江苏省有色金属华东地质勘查局 科技信息处    电子信箱:ecetech@china-ece.com    联系人:刘乃勇    联系电话:(025)84688262

声明:严禁将《地质科技信息》用于任何商业用途或者其他营利性用途。

如用于读者个人学习、研究目的的单篇信息稿件,应注明版权信息和来源。