专利名称:一种松散耦合角色授权的类型实施访问控制方法及其系统的制作方法
技术领域:
本发明主要涉及到操作系统安全访问控制领域,特指一种结合角色授权与类型实施的操作系统安全访问控制策略及控制系统。
背景技术:
当前,随着信息技术的不断发展和大规模应用,信息安全成为越来越突出的问题。 其中,操作系统安全为信息系统安全提供强有力的保障。访问控制通过控制操作系统内主体对客体的访问权限,从而有效控制主体的行为,保护信息安全。类型实施(Type Enforcement)安全策略将操作系统中具有相同安全属性的对象划分为一个类型,通过规定类型之间的访问权限来达到访问控制目的,具有访问控制粒度细、访问控制规则配置灵活度高等特点,有利于实现基于应用的操作系统安全域隔离。TE模型为每个进程绑定称为“域”的安全属性,而给每个客体绑定称为“类型”的属性,对具有相同域的进程同等对待,对具有相同类型的客体也同等对待。在此基础上,模型定义了访问矩阵,用于指定域如何访问类型以及域之间如何互操作。TE模型定义的规则主要有访问决策规则和标记决策规则。访问控制规则基于一对给定的主客体安全类型对以及访问操作类型来确定访问是否许可,用于在系统中进行细粒度的访问控制;标记决策规则则主要为一个新对象确定安全属性,为执行流程控制和安全隔离提供了基础。为了在多安全策略下,实现操作系统安全策略控制的灵活性,目前安全操作系统大多使用内核访问控制框架技术进行多安全策略的集成。内核访问控制框架将安全实施与安全决策分离,从而支持多安全策略以及灵活的策略改变。访问控制框架由客体管理系统、 安全服务器与访问控制信息组成。客体管理系统分散在内核各模块中,负责管理进程、文件等主客体。该系统嵌入安全实施代码,负责向安全服务器提交安全决策请求,接收决策结果并做出相应处理;安全服务器则接收客体管理系统的安全请求,在安全策略模块中根据请求包含的主客体标记计算访问决策,返回访问决策结果。访问控制信息则用于存储主客体的安全属性,用于在不同策略下计算访问决策。当前类型实施安全策略实现基本均作为一个安全策略模块,挂载在安全访问控制框架之下,从而专注于类型实施系统本身的开发与配置,而无需过多涉及操作系统的内部访问细节。随着操作系统的用户多样性发展,不同的用户使用操作系统的权限可能也不同, 为解决这一问题,需要在TE策略的基础上,引入用户角色的概念,不同角色的用户在操作系统中对应的安全类型也可能不同。因此,有从业者研究带角色授权的类型实施控制方法, 将用户角色与类型实施相结合,更好的体现最小特权和职责分离是操作系统中两个重要的安全原则。在目前主流安全操作系统中,主要采取基于角色访问控制(Role Based Access Control, RBAC)与类型实施策略层次性紧耦合的结合方式,利用类型实施策略来实现RBAC 中的角色——权限分配关系。经典的RBAC模型包括用户、角色、权限3个主要概念,以及用户-角色分配(UA)和角色-权限分配(PA) 两种关系。用户只有以特定的角色才能访问特定的对象。RBAC与 TE层次性紧耦合的结合方式保留了传统RBAC中的UA,但是用TE模型来实现PA,即把一个域集合作为角色的权限集。一个角色拥有一个域也称为该角色能进入(enter)这个域。同时该方式提供了角色间的层次关系定义,用于实现角色的继承。使用独立于传统Unix用户标识符的用户身份标识,系统中用户标识在策略文件中定义,与角色、类型共同构成了一个 {id, role, type)三元组标识的主客体安全上下文。一个用户可以有多个角色,但是在任何特定时间内只能激活其中的一个。这种组合方式的优点在于具有很好的层次关系,RBAC位于中间层,负责将TE规则与系统实际用户联系起来;TE模型是面向单个应用的,并不关心那些角色可以进入该应用的域;角色则负责统筹TE模型在每个应用中的权限分配,使之与系统用户相联系。然而,RBAC与TE的这种结合方式同时也导致策略分析必须在TE和RBAC两个不同层次上进行,既要保证TE策略的正确性,又要在此基础上分析角色的授权策略,大大增加在策略分析上的复杂性。并且,这种做法导致类型实施策略与用户角色紧密耦合,系统添加新的角色时,需要同时检查系统中已有的TE安全配置;策略规则数目庞大,策略描述语言的语法和语义都较为复杂,规则的制定和管理都需要对策略语言非常熟悉,否则很容易出错。因此,此类安全策略的配置工作多为系统研究人员进行,配置语言语法及规则都很复杂,不能灵活变更,用户无法根据角色变化情况对安全策略配置进行灵活调整。此外,随着控制系统规则配置数量的增加,对系统运行性能影响大。根据安全操作系统的使用经验,系统中最重要的用户角色为系统管理员,负责系统日常管理与配置,涉及系统绝大部分应用,具有最高权限;安全管理员、审计管理员等职能角色主要负责与本职能相关的应用,应用类型比较集中;此外,普通用户登录系统时一般使用缺省角色,如果要根据实际使用情况来区分角色,该角色涉及的应用也比较单一。由此得出,从实际应用出发,类型实施策略与角色授权的结合可以以类型实施对系统进行安全域控制为主,辅以不同角色对系统中特定应用的控制,因此,研究一种松散耦合角色授权关系的类型实施策略具有实际意义。
发明内容
本发明要解决的技术问题就在于针对现有技术存在的技术问题,本发明提供一种可减少用户角色配置更改对类型实施规则系统的影响、降低安全配置难度、方便用户根据实际使用情况灵活配置的松散耦合角色授权的类型实施访问控制方法及系统。为解决上述技术问题,本发明采用以下技术方案
一种松散耦合角色授权的类型实施访问控制方法,其特征在于在类型实施访问控制方法的基础上增加用户角色关联关系,并添加与用户角色相关的进程类型转换规则定义以及相应的类型转换判定机制;在系统进程类型发生转换时,根据进程类型转换规则,判断是否根据用户当前角色而发生与角色相关的类型转换,以改变用户进程执行流,进入用户角色特定的安全域。作为本发明的进一步改进 上述方法的具体步骤为
①构建类型实施安全控制系统,类型实施安全控制系统用来接收来自访问控制框架的访问控制请求,然后根据当前访问策略配置得出安全决策; ②进行类型实施安全管理
2. 1定义类型实施安全策略的规则,包括安全访问控制规则、一般类型转换规则与角色相关类型转换规则;定义用户与角色的关联关系一个用户只允许关联一种角色,配置完成后,用户登录系统以后的进程都具有该角色;
2. 2完成类型实施安全控制系统的初始化,转入运行模式,接收来自访问控制框架的请求,按照上述类型实施安全策略的规则,给出决策结果;如接收到访问控制决策请求,转至步骤2. 3 ;如接收到进程类型迁移请求,转至步骤2. 4 ;如接收到确定客体类型的请求,转至步骤2. 5 ;
2. 3接收来自访问控制框架的访问控制决策请求,根据主、客体的类型,查询安全访问控制规则表,得出是否允许访问继续;如果策略允许访问执行,则向访问控制框架返回允许;否则就返回禁止;
2. 4接收来自访问控制框架的进程类型迁移请求,确定进程改变执行映像后,其安全类型是否发生改变,以及改变的结果;
2. 5接收来自访问控制框架的确定客体类型的请求,确定客体的类型。所述安全访问控制规则为主体对客体访问时所具有的权限集合,该安全访问控制规则包括主客体规则、主体通配规则以及客体通配规则。所述一般类型转换规则为主体或客体发生类型转换的条件及结果,所述一般类型转换规则包括主体类型转换规则和客体类型转换规则。所述角色相关类型转换规则为在用户以具体角色登录的情况下,进程类型可能发生的与角色相关的类型转换规则。所述步骤2. 2的具体步骤为
(1)调用内核访问控制框架的模块初始化函数,向访问控制框架注册该模块;
(2)操作系统root文件系统挂载后,访问策略配置文件,生成各策略规则的内部表示,分别为系统安全类型链表、访问控制规则链表、一般类型转换链表、角色相关类型转换链表以及用户角色对应关系链表;
(201)构建系统安全类型链表读取系统安全类型配置文件,以安全类型名、安全类型 ID这2元组为表项,生成系统安全类型链表;
(202)构建访问控制规则链表读取访问控制规则配置文件,以主体安全类型ID、客体安全类型ID、访问控制权限集这3元组为表项,生成访问控制规则链表;
(203)构建一般类型转换链表读取一般类型转换规则配置文件,以主体安全类型ID、 客体安全类型ID、process/file、新安全类型ID这4元组为表项,生成一般类型转换规则链表;
(204)构建角色相关类型转换链表读取角色相关类型转换规则配置文件,以角色ID、 客体安全类型ID、pr0CesS、主体新安全类型ID这4元组为表项,生成角色相关类型转换规则链表;
(205)构建用户角色对应关系链表读取用户角色关联关系配置文件,以用户ID、角色 ID这2元组为表项,生成用户角色对应关系链表;
(3)设置0号进程与1号进程的安全类型为proC_def_t;(4)遍历在挂载root文件系统之前生成的文件inode,从文件系统中获取该文件的安全属性,并设置到inode上。本发明进一步还包括安全策略的维护,所述用户通过用户命令的方式对系统规则进行配置。本发明 进一步还提供一种松散耦合角色授权的类型实施访问控制系统,其特征在于包括运行于操作系统内核的类型实施访问控制策略模块、运行于操作系统用户层的策略安全配置模块以及位于文件系统中的策略规则配置模块,所述类型实施访问控制策略模块主要接收来自访问控制框架的访问控制请求,并根据当前访问策略配置得出安全决策, 发往访问控制框架;所述策略安全配置模块以命令行的方式为用户提供类型实施安全策略维护的手段,通过类型实施内核模块提供的系统调用对类型实施策略进行安全配置,所述安全配置命令将同时修改内存中的策略规则以及保存在文件系统中的策略规则配置模块。所述类型实施访问控制策略模块包括策略初始化、主体安全类型迁移、客体安全类型迁移、访问权限检查、策略规则配置管理5个子模块,所述策略初始化模块主要负责向访问控制框架注册安全模块,以及系统安全策略配置、系统进程初始安全类型设置等初始化工作;所述访问权限检查模块负责根据框架提供的主、客体安全标记以及访问操作类型, 得出决策是否允许访问发生;所述主体安全类型迁移主要完成在用户进程改变执行映像时,判断是否发生主体类型的迁移;所述客体安全类型迁移主要完成在用户新创建文件客体时,得出新生成客体的安全类型。与现有技术相比,本发明的优点在于
1、采用本发明能够在普通类型实施安全控制中加入角色控制,根据不同用户角色控制用户进程类型的转换,从而改变用户进程的执行流,使不同角色用户执行相同程序时可以根据角色的不同进入不同的安全域,进行安全隔离,从而实现操作系统的最小特权与安全隔离;
2、采用本发明能极大地保证策略配置的灵活性,提高访问控制效率。结合角色的类型转换判断仅在类型转换发生的第一步进行,无需在每次进程类型转换时都判断角色信息, 极大地降低的TE策略与角色控制的耦合度,降低因角色变更而对系统配置带来的影响。此夕卜,由于无需每次判断角色规则,大大提高进程类型迁移决策的效率;
3、采用本发明能够极大提高访问控制决策工作的效率。在访问控制决策过程中,提供了多种通配访问规则,并实现系统缺省配置、主体通配匹配、客体通配匹配与一般访问控制规则相结合,对访问控制决策判断过程进行优化;同时,用户可以通过多种通配规则进行访问控制规则配置,降低配置难度;
4、本发明不依赖于特定的操作系统,支持平台的多样性,具有通用性。对于任何操作系统的经典类型实施控制系统实现,仅需添加角色类型转换规则与相应判断机制,均可使类型实施机制具有角色控制功能,实现基于角色的系统权限划分。
图1为本发明基于访问控制框架构建的类型实施系统结构图; 图2为本发明中第二步的系统初始化流程图3为本发明中第三步的访问控制决策流程图;图4为本发明中 第四步的主体类型转换流程图5为本发明中第五步的客体安全类型确定流程图,其中5a为已存在客体安全属性的确定流程,5b为新创建客体安全属性的确定流程。
具体实施例方式以下将结合说明书附图和具体实施例对本发明做进一步详细说明。如图1所示,是本发明基于操作系统访问控制框架构件的类型实施系统结构图。 本发明所构建的类型实施控制系统以安全模块的形式挂接在操作系统安全访问控制框架之下,主要接收来自访问控制框架的访问控制请求,然后根据当前访问策略配置得出安全决策。系统主要包括策略初始化、主体安全类型迁移、客体安全类型迁移、访问权限检查、 策略规则配置管理5个子模块。策略初始化模块主要负责向访问控制框架注册安全模块, 以及系统安全策略配置、系统进程初始安全类型设置等初始化工作;初始化结束后,系统将接收并处理来自访问控制框架的请求,具体分工为访问权限检查模块负责根据框架提供的主、客体安全标记以及访问操作类型,得出决策是否允许访问发生;主体安全类型迁移主要完成在用户进程改变执行映像时,判断是否发生主体类型的迁移;客体安全类型迁移主要完成在用户新创建文件客体时,得出新生成客体的安全类型。此外,用户通过策略规则配置管理模块对策略的配置进行修改。类型实施安全策略的核心是用户配置的安全控制规则,本发明定义的安全控制规则有安全访问控制规则、一般类型转换规则与角色相关类型转换规则3类,此外,还需要指定用户与角色的对应关系,以上各类配置分别保存在相应的安全配置文件中
1.1定义安全访问控制规则定义主体对客体访问时所具有的权限集合。该类规则包括制定主客体规则和主/客体通配规则三类
1)指定主客体规则,即规则的主客体类型都是具体指定的,规则具体形式为 <安全类型Typel,安全类型Type2,访问控制权限集Perml〉。其含义为安全类型为Typel的主体访问安全类型为Type2的客体时,允许的操作集合为Perml。只有该主体对该客体的访问在Perml中显示许可,操作才能继续,否则不允许操作进行。2)主体通配规则,即无论主体为何种类型,对该指定客体都具有Perm2集合所规定的权限,其具体形式为
<wildcard_t,安全类型Type,访问控制权限集Perm2>
3)客体通配规则,即无论客体为何种类型,该指定主体对客体均具有Perm3集合所规定的权限,其具体形式为
<安全类型Type,wildcard_t,访问控制权限集Perm3>
1.2定义一般类型转换规则定义主体或客体发生类型转换的时机及结果。具体有两种形式
1)主体类型转换规则定义主体在执行过程中的类型转换规则。具体形式为 <安全类型Typel,安全类型Type2,process,安全类型Type3> 其含义为安全类型为Typel的进程执行安全类型为Type2的客体时,进程类型将转换为 Type3 ;2)客体类型转换规则定义主体在生成新客体时,新客体的安全类型如何确定。具体形式为
<安全类型 Typel,安全类型Type2,file,安全类型Type3>
其含义为安全类型为Typel的进程在安全类型为Type2的目录下生成的文件等客体, 其安全类型为Type3 ;
1.3定义角色相关类型转换规则定义在用户以具体角色登录的情况下,进程类型可能发生的与角色相关的类型转换规则。具体形式为
<用户角色RID1,安全类型Type2,process,安全类型Type3> 其含义为当前用户的角色为RID1,进程类型为缺省进程类型pr0C_def_t,执行安全类型为Type2的客体时,进程的类型将转换为Tyep3。1.4定义用户与角色的对应关系,表示用户登录系统后所具有的角色。具体形式为
〈用户ID,角色ID>
为方便起见,每个用户只可以关联一种角色,即用户仅可以以一种角色登录系统。系统预设的角色有sysadm (系统管理员Xsecadm (安全管理员)与def_role (缺省角色)三类。 sysadm角色与root用户关联;secadm与安全管理员用户关联;如果未显式的设置某用户的角色关联关系,则该用户的角色为def_r0le。图2是本发明第二步的系统初始化流程示意图,具体按照如下方法完成系统的初始化工作
2. 1调用内核访问控制框架的模块初始化函数,向访问控制框架注册该模块; 2.2操作系统root文件系统挂载后,访问策略配置文件,生成各策略规则的内部表示,分别为系统安全类型链表、访问控制规则链表、一般类型转换链表和角色相关类型转换链表以及用户角色对应关系链表。2. 2. 1构建系统安全类型链表读取系统安全类型配置文件,以 < 安全类型名;安全类型ID>2元组为表项,生成系统安全类型链表。2. 2. 2构建访问控制规则链表读取访问控制规则配置文件,以 < 主体安全类型 ID,客体安全类型ID,访问控制权限集>3元组为表项,生成访问控制规则链表;
2. 2. 3构建一般类型转换链表读取一般类型转换规则配置文件,以 < 主体安全类型 ID,客体安全类型IDjrocess/file,新安全类型IDM元组为表项,生成一般类型转换规则链表;
2. 2. 4构建角色相关类型转换链表读取角色相关类型转换规则配置文件,以 < 角色 ID,客体安全类型ID,process,主体新安全类型IDM元组为表项,生成角色相关类型转换规则链表;
2. 2. 5构建用户角色对应关系链表读取用户角色关联关系配置文件,以〈用户ID,角色ID>2元组为表项,生成用户角色对应关系链表;
2. 3设置0号进程与1号进程的安全类型为proC_def_t ;
2. 4遍历在挂载root文件系统之前生成的文件inode,从文件系统中获取该文件的安全属性,并设置到inode上。图3为本发明第三步的访问控制决策流程图,具体按照如下方法处理来自访问控制框架的访问控制 决策请求
第三步,接收来自访问控制框架的访问控制决策请求,根据主客体的类型,查询访问控制规则表,得出是否允许访问继续。如果策略允许访问执行,则向访问控制框架返回允许; 否则返回禁止。3. 1获取主体、客体的安全类型id ;假设主体类型为tid_s,客体类型为tid_o ; 3. 2以tid_s、tid_o为关键字,查询访问控制规则表,若存在匹配的表项,则按如下方
法处理,否则转3.3步
3. 2. 1获取表项指定的权限集合perml ;
3.2.2查询当前操作是否属于perml,如是,则向访问控制框架返回允许;否则,返回
禁止;
3.3判断客体类型是否为unlabelecLt,如是,则向访问控制框架返回允许,否则,转 3. 4 步;
3. 4以tid_s为关键字,查询客体通配规则,若存在匹配的表项,则按如下方法处理, 否则转3. 5步
3. 4. 1获取表项指定的权限集合perm2 ;
3.4.2查询当前操作是否属于perm2,如是,则向访问控制框架返回允许;否则,转3.5
止
少;
3. 5以tid_o为关键字,查询主体通配规则,若存在匹配的表项,则按如下方法处理, 否则向访问控制框架返回禁止
3.5. 1获取表项指定的权限集合perm3 ;
3.5.2查询当前操作是否属于perm3,如是,则向访问控制框架返回允许;否则,向访问控制框架返回禁止;
图4为本发明第四步的主体类型转换流程图,具体按照如下方法处理来自访问控制框架的访问控制决策请求
第四步,接收来自访问控制框架的请求,按照如下方法确定进程改变执行映像后,其安全类型是否发生改变,以及改变的结果。4. 1获取主体、客体的安全类型id ;假设主体类型为tid_s,客体类型为tid_o ;
4.2按照缺省情况,先将进程新类型tid_n赋值为tid_s ;
4. 3判断tid_s是否为proC_def_t,如果是,则按如下方法计算用户进程新类型;否贝1J,转4.4步;
4. 3. 1获取当前用户ID ;
4.3.2以当前用户ID为关键字,查询用户角色对应关系列表。如存在匹配表项,则以对应关系指定的角色为当前角色;否则,当前角色为def_role ;
4. 3. 3以用户当前角色、tid_o为关键字,查询角色相关类型转换规则; 4. 3. 4若存在匹配的规则,则设置tid_n为规则指定的结果类型,转4. 5步; 4.3.5若不存在匹配的规则,转4.4步;
4.4以tid_s与tis_o为关键字,查询一般类型类型转换规则。按如下方法计算进程新类型
4. 4. 1若存在匹配的规则,则设置tid_n为规则指定的结果类型,转4. 5步;4. 4. 2若不存在匹配的规则,转4. 5步;
4.5向访问控制框架返回tid_n,作为进程的新类型。图5为第五步描述的客体安全类型的确定流程图。其中,5a描述的是已存在的客体如何确定其安全属性;5b描述的是对于新创建的客体,如何确定其安全属性。具体流程如下所示
5.1如果所查询的客体已经在文件系统中存在,则直接获取该文件的安全类型,此时分为两种情况
5. 1. 1若该客体已经被设置了具体的安全类型,则返回该类型; 5. 1. 2若该客体没有设置具体的安全类型,则返回imlabelecLt作为该文件的缺省安全类型;
5. 2如果是新创建客体,此时需要根据客体类型转换规则,计算得出新客体的安全类型,具体按照如下方法实施
5. 2. 1获取当前进程的安全类型tid_p ;
5. 2. 2获取被创建客体所在父目录的安全类型tid_d ;
5.2.3以tid_p与tid_d为关键字,查询客体类型转换规则,如存在匹配的规则,返回规则指定的类型作为新客体的类型;否则,返回imlabelecLt作为新客体的类型。第六步,安全策略的维护。安全策略是类型实施访问控制进行安全决策的准则。类型实施访问控制的最大特点就是所有安全类型、访问控制规则等都可以由用户进行配置, 提供了最大的灵活度。因此,安全策略的配置与维护是系统的重要组成部分。本发明设计用户(一般是安全管理员)通过用户命令的方式对系统规则进行配置,具体方法如下
6.1系统安全类型配置包括系统安全类型的添加与删除,按照如下方法来完成配
置
6. 1. 1通过系统调用,在内核中对系统安全类型表做出相应修改; 6. 1. 2在用户层,修改系统安全类型配置文件;
6.2安全访问控制规则配置包括主客体规则和主、客体通配规则的添加、删除与修改,按照如下方法来完成配置
6. 2. 1通过系统调用,在内核中对安全访问控制规则表做出相应修改; 6. 2. 2在用户层,修改系统安全访问控制规则配置文件;
6.3 一般类型转换规则配置包括主体类型转换规则和客体类型转换规则的添加、删除与修改,按照如下方法来完成配置
6. 3. 1通过系统调用,在内核中对一般类型转换规则表做出相应修改; 6. 3. 2在用户层,修改系统一般类型转换规则配置文件;
6.4角色相关类型转换规则配置包括对角色相关类型转换规则的添加、删除与修改, 按照如下方法来完成配置
6. 4. 1通过系统调用,在内核中对角色相关类型转换规则表做出相应修改; 6. 4. 2在用户层,修改系统角色相关类型转换规则配置文件; 6.5系统用户角色对应关系配置包括系统用户角色对应关系的的添加、删除与修改, 按照如下方法来完成配置
6. 5. 1通过系统调用,在内核中对用户角色对应关系链表做出相应修改;6.5.2在用户层,修改用户角色对应关系配置文件;
参见图1,本发明进一步提供一种松散耦合角色授权的类型实施访问控制系统,它包括运行于操作系统内核的类型实施访问控制策略模块、运行于操作系统用户层的策略安全配置命令模块以及保存在文件系统中的策略规则配置模块。类型实施访问控制策略模块运行在操作系统内核中,以安全模块的形式挂接在操作系统安全访问控制框架之下。对系统的对象管理与访问控制实施均由操作系统访问控制框架负责,类型实施策略模块主要接收来自访问控制框架的访问控制请求,然后根据当前访问策略配置得出安全决策,发往访问控制框架。类型实施策略模块主要包括策略初始化、主体安全类型迁移、客体安全类型迁移、访问权限检查、策略规则配置管理5个子模块。 策略初始化模块主要负责向访问控制框架注册安全模块,以及系统安全策略配置、系统进程初始安全类型设置等初始化工作;初始化结束后,系统将接收并处理来自访问控制框架的请求,具体分工为访问权限检查模块负责根据框架提供的主、客体安全标记以及访问操作类型,得出决策是否允许访问发生;主体安全类型迁移主要完成在用户进程改变执行映像时,判断是否发生主体类型的迁移;客体安全类型迁移主要完成在用户新创建文件客体时,得出新生成客体的安全类型。此外,用户通过策略规则配置管理模块对策略的配置进行修改。策略安全配置命令为用户以命令行的方式为用户提供类型实施安全策略维护的手段,主要通过类型实施内核模块提供的系统调用对类型实施策略模块进行安全配置。安全配置命令将同时修改内存中的策略规则以及保存在文件系统中的策略规则配置文件。以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
权利要求
1.一种松散耦合角色授权的类型实施访问控制方法,其特征在于在类型实施访问控制方法的基础上增加用户角色关联关系,并添加与用户角色相关的进程类型转换规则定义以及相应的类型转换判定机制;在系统进程类型发生转换时,根据角色相关进程类型转换规则,判断是否根据用户当前角色而发生与角色相关的类型转换,以改变用户进程执行流, 进入用户角色特定的安全域。
2.根据权利要求1所述的松散耦合角色授权的类型实施访问控制方法,其特征在于步骤为①构建类型实施安全控制系统,类型实施安全控制系统用来接收来自访问控制框架的访问控制请求,然后根据当前访问策略配置得出安全决策;②进行类型实施安全管理2. 1定义类型实施安全策略的规则,包括安全访问控制规则、一般类型转换规则与角色相关类型转换规则;定义用户与角色的关联关系一个用户只允许关联一种角色,配置完成后,用户登录系统以后的进程都具有该角色;2. 2完成类型实施安全控制系统的初始化,转入运行模式,接收来自访问控制框架的请求,按照上述类型实施安全策略规则,给出决策结果;如接收到访问控制决策请求,转至步骤2. 3 ;如接收到进程类型迁移请求,转至步骤2. 4 ;如接收到确定客体类型的请求,转至步骤 2. 5 ;2. 3接收来自访问控制框架的访问控制决策请求,根据主、客体的类型,查询安全访问控制规则表,得出是否允许访问继续;如果策略允许访问执行,则向访问控制框架返回允许;否则就返回禁止;2. 4接收来自访问控制框架的进程类型迁移请求,确定进程改变执行映像后,其安全类型是否发生改变,以及改变的结果;2.5接收来自访问控制框架的确定客体类型的请求,确定客体的类型。
3.根据权利要求2所述的松散耦合角色授权的类型实施访问控制方法,其特征在于 所述安全访问控制规则为主体对客体访问时所具有的权限集合,该安全访问控制规则包括主客体规则、主体通配规则以及客体通配规则。
4.根据权利要求2所述的松散耦合角色授权的类型实施访问控制方法,其特征在于 所述一般类型转换规则为主体或客体发生类型转换的条件及结果,所述一般类型转换规则包括主体类型转换规则和客体类型转换规则。
5.根据权利要求2所述的松散耦合角色授权的类型实施访问控制方法,其特征在于 所述角色相关类型转换规则为在用户以具体角色登录的情况下,进程类型可能发生的与角色相关的类型转换规则。
6.根据权利要求2所述的松散耦合角色授权的类型实施访问控制方法,其特征在于所述步骤2. 2的具体步骤为(1)调用内核访问控制框架的模块初始化函数,向访问控制框架注册该模块;(2)操作系统root文件系统挂载后,访问策略配置文件,生成各策略规则的内部表示,分别为系统安全类型链表、访问控制规则链表、一般类型转换链表、角色相关类型转换链表以及用户角色对应关系链表;(201)构建系统安全类型链表读取系统安全类型配置文件,以安全类型名、安全类型 ID这2元组为表项,生成系统安全类型链表;(202)构建访问控制规则链表读取访问控制规则配置文件,以主体安全类型ID、客体安全类型ID、访问控制权限集这3元组为表项,生成访问控制规则链表;(203)构建一般类型转换链表读取一般类型转换规则配置文件,以主体安全类型ID、 客体安全类型ID、process/file、新安全类型ID这4元组为表项,生成一般类型转换规则链表;(204)构建角色相关类型转换链表读取角色相关类型转换规则配置文件,以角色ID、 客体安全类型ID、pr0CesS、主体新安全类型ID这4元组为表项,生成角色相关类型转换规则链表;(205)构建用户角色对应关系链表读取用户角色关联关系配置文件,以用户ID、角色 ID这2元组为表项,生成用户角色对应关系链表;(3)设置0号进程与1号进程的安全类型为proC_def_t; (4)遍历在挂载root文件系统之前生成的文件inode,从文件系统中获取该文件的安全属性,并设置到inode上。
7.根据权利要求1-6中任意一项所述的松散耦合角色授权的类型实施访问控制方法,其特征在于还包括安全策略的维护,所述用户通过用户命令的方式对系统规则进行配置。
8.一种松散耦合角色授权的类型实施访问控制系统,其特征在于包括运行于操作系统内核的类型实施访问控制策略模块、运行于操作系统用户层的策略安全配置模块以及位于文件系统中的策略规则配置模块,所述类型实施访问控制策略模块主要接收来自访问控制框架的访问控制请求,并根据当前访问策略配置得出安全决策,发往访问控制框架;所述策略安全配置模块以命令行的方式为用户提供类型实施安全策略维护的手段,通过类型实施内核模块提供的系统调用对类型实施策略进行安全配置,所述安全配置命令将同时修改内存中的策略规则以及保存在文件系统中的策略规则配置模块。
9.根据权利要求8所述的松散耦合角色授权的类型实施访问控制系统,其特征在于 所述类型实施访问控制策略模块包括策略初始化、主体安全类型迁移、客体安全类型迁移、 访问权限检查、策略规则配置管理5个子模块,所述策略初始化模块主要负责向访问控制框架注册安全模块,以及系统安全策略配置、系统进程初始安全类型设置等初始化工作;所述访问权限检查模块负责根据框架提供的主、客体安全标记以及访问操作类型,得出决策是否允许访问发生;所述主体安全类型迁移主要完成在用户进程改变执行映像时,判断是否发生主体类型的迁移;所述客体安全类型迁移主要完成在用户新创建文件客体时,得出新生成客体的安全类型。
全文摘要
一种松散耦合角色授权的类型实施访问控制方法及其系统,该方法为在类型实施访问控制方法的基础上增加用户角色关联关系,并添加与用户角色相关的进程类型转换规则定义以及相应的类型转换判定机制;在系统进程类型发生转换时,根据进程类型转换规则,判断是否根据用户当前角色而发生与角色相关的类型转换,以改变用户进程执行流,进入用户角色特定的安全域。该系统包括运行于操作系统内核的类型实施访问控制策略模块、运行于操作系统用户层的策略安全配置模块以及位于文件系统中的策略规则配置模块。本发明具有可减少用户角色配置更改对类型实施规则系统的影响、降低安全配置难度、方便用户根据实际使用情况灵活配置等优点。
文档编号G06F12/14GK102222191SQ20111016202
公开日2011年10月19日 申请日期2011年6月16日 优先权日2011年6月16日
发明者丁滟, 何连跃, 吴庆波, 唐晓东, 戴华东, 陈松政, 魏立峰 申请人:中国人民解放军国防科学技术大学