基于角色 — 任务的警用执法办案系统访问控制模型研究
2014-09-21李华刚吴薇
李华刚 吴薇
(1.福州大学福建省空间信息工程研究中心,福州 350002;2.武夷学院数学与计算机学院,福建 武夷山 354300)
警用执法办案信息系统改变了传统的办案方式,实现了办案过程的数字化处理。执法业务具有时效性、保密性要求,整个执法办案系统应严格控制访问,即对访问的用户要防止权限滥用,实现职责分离,案卷流转的每一个节点需要时效性约束[2]。针对以上管理需求,在本研究中采用基于角色的访问控制(Role-based Access Control,RBAC)技术,将每一个案卷的流转看成一次任务执行过程,授权角色一定的访问权限并加入时间约束[3]。
1 访问控制基本概念
访问控制是保障系统安全的重要组成部分。目前的访问控制模式DAC(Discretionary Access Control)和MAC(Mandatory Access Control)均有不足之处。有研究者提出职责分离(SoD,Separation of Duty)的概念,并将角色(Role)作为一个管理权限的实体单独抽象化。1992年,有学者提出RBAC模型。之后,由于RBAC在管理大型网络应用安全时所表现出来的灵活性和经济性,2004年被美国国家标准委员会(ANSI)和IT国际标准委员会(INCITS)接纳为 ANSI INCITS 359 -2004 标准[4]。
在传统的RBAC模型中,用户(User)被赋予角色(Role),角色被授予权限(Permission),用户通过担任某些角色来获得权限。角色是根据组织内为完成不同的任务需要而设定的,是一个或一群用户在组织内可执行的操作的集合。约束是对访问控制的限制条件,即对角色 —权限的分配、用户 —角色的分配等限制。因此RBAC中角色是沟通用户和权限间联系的中介[5]。一个用户可以承担多个角色,一个角色也可以分配给多个用户,用户和角色实现职责分离。
2 基于角色—任务的执法办案系统访问控制模型
2.1 核心思想
在笔者提出的基于角色—任务的执法办案系统访问控制模型(T-RBAC)中,每个案件公文的流转被视为一次任务。流程内每个环节为任务中的一个节点,角色权限的授予发生在执行某个任务的子任务(节点)的时效内[6]。角色获得该任务允许访问客体的权限后将权限通过角色分配给用户。用户通过角色来获得权限,并完成相对应的子任务的执行。同时,加入的时效为时态约束,表示只能在某个时间段内执行该任务的节点,这样保证了授权有效时间和节点执行时间同步。同时,当子任务执行结束并提交时,通过事件驱动机制把该任务角色的状态改为未激活,相关的权限被收回。
2.2 模型定义及形式化描述
定义1:令 U={ui|i=1,2...m} ,表示用户集合,这里为能登陆执法系统的所有警务工作者用户。
定义2:令 R={ri|i=1,2...n} ,表示角色集合,包括各案件主办人、办案单位的法制员、办案单位领导、法制部门民警以及局领导等角色。
定义3:令 OP={opi|i=1,2...p} ,表示操作集合,包括立案、审批、侦办、查询、结案、调档等操作。
定义 4:令 OBJ={obji|i=1,2...q} ,表示客体集合,包括受案登记表、接受刑事案件登记表、呈请立案报告、案件处结报告等。
定义5:令二元组P{OP,OBJ},表示权限集合。
定义6:令UR⊆U×R,表示用户到角色的指派关系。
定义7:令Ti(t0,tn)表示一个时间区间,其中t0≤tn,t0为一个时间下界,tn为一个时间上界。
定义 8:令二元组 WT={(wti,Ti),i=1,2...n},表示一个任务,则wti为任务的一个节点,即表示在Ti(t0,tn)的这个时间段内执行某个子任务。
定义 9:令三元组 UWT={(u,wti,Ti),i=1,2...n},表示用户U在Ti(t0,tn)时间段内被授权执行子任务wti,即tn时间到,权限被收回。
定义10:令RWT⊆R×WT,表示角色到任务的指派关系。
定义11:令PWT⊆P×WT,表示权限到任务的指派关系。
定义12:令Is_Permitted⊆U×WT,表示用户U被允许操作WT任务。
定 义 13:令 Assign_users={u∈ U|Is_Permitted(u,WT)},表示能允许执行任务WT的用户集合。
授权规则:如果在t0≤t≤tn时间段,指派给任务WT(wti,Ti)的客体OBJ到达,则允许用户U对其进行操作,u∈Assign_users。
2.3 T-RBAC的角色层次及审批流程图
角色按照岗位和职能分为5个层次,包括办案单位办案民警(案件主办人)、办案单位法制员、办案单位领导(刑侦、经侦、禁毒、派出所等部门)、法制部门民警、局领导等。各角色在系统中的作用如图1所示。
2.4 T-RBAC的实施框架
基于角色—任务的执法办案系统访问控制实施框架如图2所示,系统通过应用程序接口访问T—RBAC子系统。用户执行某一案卷公文流转子任务时,激活对应的任务角色,然后将该角色所拥有的权限添加到用户的临时表中;公文流转子任务执行结束并提交时,改对应的任务角色为未激活状态,并从临时表中删除该角色拥有的权限;用户退出执法办案系统时,删除存放用户权限的临时表。
图1 执法办案系统案件审批流程图
图2 基于角色—任务的执法办案系统访问控制实施框架
2.5 T-RBAC的管理模块
T-RBAC的管理模块主要包括用户管理、角色管理、权限管理、任务管理和冲突管理。
用户管理:实现用户的增加、查询、修改、删除操作;实现用户-角色关系的分配、查询、修改、删除操作。
角色管理:实现各类角色的增加、查询、修改、删除操作;实现各类权限 —角色关系的分配、查询、修改、删除操作;实现角色层次关系的创建、查询、修改、删除操作。
权限管理:实现数据、操作和权限的增加、查询、修改、删除操作。
任务管理:实现任务的增加、查询、修改、删除操作。
冲突管理:实现各类冲突关系(冲突的用户、冲突的角色、冲突的子任务、冲突的权限)的增加、查询、修改、删除操作。
另外,静态约束是在管理模块中对各元素及关系的操作进行限制,而动态约束是对角色激活、公文流转子任务的执行进行限制。
3 结语
通过在警用执法办案系统中采用基于角色—任务的安全访问控制,使得系统的权限管理更加高效、简单。时态约束作为一个单独要素引入角色授权机制,保证了整个授权管理和任务执行的时间同步。这样,更符合公安部门对执法办案系统中业务管理的规范要求,进一步降低了系统的风险性,保障了系统服务和数据的安全。
[1]曹连安.警用执法办案信息系统技术研究与实现[D].天津:天津大学,2009.
[2]褚建立,张洪星,李洪燕,等.基于角色的用户权限管理在技侦管理系统中的应用[J].网络安全技术与应用,2007(7):51-53.
[3]邢光林,洪帆.基于角色和任务的工作流访问控制模型[J].计算机工程与应用,2005(2):210 -222.
[4]李帆,郑纬民.基于角色与组织的访问控制模型[J].计算机工程与设计,2005(8):2136-2140.
[5]吴薇,余文森.操作系统内核的安全访问控制模型研究[J].武夷学院学报,2012(5):23 -26.
[6]吴薇,余文森.基于角色-任务的办公自动化系统访问控制模型研究[J].重庆科技学院学报:自然科学版,2012,14(6):158 -189.