基于SELinux的开机安全等级选择方法、装置及终端设备的制造方法

文档序号:10725522阅读:611来源:国知局
基于SELinux的开机安全等级选择方法、装置及终端设备的制造方法
【专利摘要】本发明公开了一种基于SELinux的开机安全等级选择方法、装置及终端设备。该安全等级选择方法包括:当终端设备被启动时,显示安全等级显示界面,所述安全等级显示界面包括对应不同的安全等级的选项;接收用户对不同的所述安全等级的选择;以及根据用户对不同的所述安全等级的选择,加载预先指定的相应的SELinux策略文件。该安全等级选择方法能够由用户对安全等级进行选择,增加安全控制的灵活性。
【专利说明】
基于SEL i nux的开机安全等级选择方法、装置及终端设备
技术领域
[0001]本发明涉及终端设备安全技术领域,具体而言,涉及一种基于SELinux的开机安全等级选择方法、装置及终端设备。
【背景技术】
[0002]SELi nux (Security-Enhanced Linux,安全增强 Linux)是一种美国国家安全局(NSA)制定的对于强制访问控制(MAC)的实现方法,是Linux操作系统中新的安全子系统。当终端设备加载了 SELinux安全子系统后,能够极大地提高其操作系统的安全等级。
[0003]SELinux作为一种强制访问控制机制,其用于将系统中的资源分密级和类进行管理,以保证每个用户只能访问到被标明可以由其访问的资源。简单而言,在强制访问控制下,进程(或其他主体)与文件(或其他客体)都被标记了固定的安全策略(如安全级别、访问权限等),在每次访问发生时,系统检测安全策略以确定一个用户是否有权访问一个文件。也即强制访问是由系统控制,用户不能直接感知或进行控制。这种细粒度的保护机制可以使系统安全性更高。
[0004]但在实际应用时,用户可能对安全等级有不同的需求,例如在需要非常安全的使用环境下,希望仅允许终端设备的部分应用程序或功能被使用。但目前的SELinux机制无法实现该功能。
[0005]在所述【背景技术】部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。

【发明内容】

[0006]有鉴于此,本发明提供一种基于SELinux的开机安全等级选择方法、装置及终端设备,能够由用户对安全等级进行选择,增加安全控制的灵活性。
[0007]本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
[0008]根据本发明的一方面,提供了一种基于SELinux的开机安全等级选择方法,包括:当终端设备被启动时,显示安全等级显示界面,所述安全等级显示界面包括对应不同的安全等级的选项;接收用户对不同的所述安全等级的选择;以及根据用户对不同的所述安全等级的选择,加载预先指定的相应的SELinux策略文件。
[0009]根据本发明的一实施方式,当所述终端设备被启动时,上述方法还包括:采用基于硬件的可信度量机制度量所述终端设备的完整性;以及当所述终端设备的完整性度量通过时,显示所述安全等级显示界面。
[0010]根据本发明的一实施方式,所述安全等级包括:高安全等级、普通安全等级及无安全等级;其中在所述高安全等级下,仅允许高安全应用被使用,所述高安全应用包括:支付应用及拨打保密电话;在所述普通安全等级下,基于相应的所述SELinux策略文件,允许所有应用被使用;在所述无安全等级下,不加载所述SELinux策略文件。
[0011]根据本发明的一实施方式,所述可信度量机制为基于TrustZone技术的可信硬件度量机制。
[0012]根据本发明的一实施方式,所述方法实施于所述终端设备操作系统的开机引导程序Systemd中。
[0013]根据本发明的另一方面,提供了一种基于SELinux的开机安全等级选择装置,包括:界面显示模块,用于当终端设备被启动时,显示安全等级显示界面,所述安全等级显示界面包括对应不同的安全等级的选项;选择接收模块,用于接收用户对不同的所述安全等级的选择;以及策略加载模块,用于根据用户对不同的所述安全等级的选择,加载预先指定的相应的SELinux策略文件。
[0014]根据本发明的一实施方式,上述装置还包括:完整性度量模块,用于当所述终端设备被启动时,采用基于硬件的可信度量机制度量所述终端设备的完整性;所述界面显示模块还用于当所述终端设备的完整性度量通过时,显示所述安全等级显示界面。
[0015]根据本发明的一实施方式,所述安全等级包括:高安全等级、普通安全等级及无安全等级;其中在所述高安全等级下,仅允许高安全应用被使用,所述高安全应用包括:支付应用及拨打保密电话;在所述普通安全等级下,基于相应的所述SELinux策略文件,允许所有应用被使用;在所述无安全等级下,不加载所述SELinux策略文件。
[0016]根据本发明的一实施方式,所述可信度量机制为基于TrustZone技术的可信硬件度量机制。
[0017]根据本发明的一实施方式,所述装置实施于所述终端设备操作系统的开机引导程序Systemd中。
[0018]根据本发明的再一方面,提供了一种终端设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中所述处理器配置为经由执行所述可执行指令来执行以下操作:当终端设备被启动时,显示安全等级显示界面,所述安全等级显示界面包括对应不同的安全等级的选项;接收用户对不同的所述安全等级的选择;以及根据用户对不同的所述安全等级的选择,加载预先指定的相应的SELinux策略文件。
[0019]根据本发明的基于SELinux的开机安全等级选择方法,可以在开机启动的时候由用户选择需要进入的不同安全等级,从而可以适应不同的安全环境,增加了 SELinux强制访问控制的灵活性。
[°02°]另外,根据一些实施例,本发明的基于SELinux的开机安全等级选择方法,进一步采用基于硬件的可信度量机制度量终端设备的完整性,从而保证了内核的安全,使得该开机安全等级选择方法是高安全的,即使使用超级管理员权限对终端设备的操作系统进行了修改,也即终端设备的操作系统被root了,也不会造成威胁。
[0021]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
【附图说明】
[0022]通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
[0023]图1是根据一示例性实施方式示出的一种基于SELinux的开机安全等级选择方法的流程图。
[0024]图2是根据一示例性实施方式示出的另一种基于SELinux的开机安全等级选择方法的流程图。
[0025]图3是根据一示例性实施方式示出的一种基于SELinux的开机安全等级选择装置的框图。
[0026]图4是根据一示例性实施方式示出的另一种基于SELinux的开机安全等级选择装置的框图。
【具体实施方式】
[0027]现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0028]此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
[0029]图1是根据一示例性实施方式示出的一种基于SELinux的开机安全等级选择方法的流程图。如图1所示,该方法10包括:
[0030]在步骤S102中,当终端设备被启动时,显示安全等级显示界面,以供用户选择不同的安全等级。
[0031]该安全等级显示界面中包括对应不同的安全等级的选项,安全等级例如可以包括:高安全等级、普通安全等级及无安全等级。
[0032]在该安全等级显示界面中,可以仅显示不同安全等级的选项,也可以显示不同安全等级的帮助信息。例如,当用户不能确定该选择哪种安全等级时,用户例如可以通过选择帮助选项,为用户显示不同安全等级的详细信息,如在高安全等级下,仅允许哪些功能/应用被执行,从而辅助用户对安全等级进行选择。
[0033]在步骤S104中,接收用户对不同安全等级的选择。
[0034]通过检测用户对不同安全等级选项的触碰或按压操作,确定并接收用户对不同安全等级的选择。
[0035]在步骤S106中,根据用户对不同安全等级的选择,加载预先制定的相应的SELinux策略文件。
[0036]SELinux是一套基于策略的安全系统。在其安全策略中,通过标签的设定来实现主体对客体的控制。其中主体可以为终端设备中运行的每个进程,客体则为系统中的所有资源,包括:文件系统、目录、文件、文件启动指示符、端口、消息接□和网络接口等。每个进程都拥有自己的标签,而每个客体对象也都拥有自己的标签。通过编写的SELinux安全策略,来控制进程标签可以对客体对象标签进行访问,如文件访问、读写及SOCKET操作等。例如,通过策略配置,允许标签为A的进程对标签为B的文件进行读写操作;或者,允许标签为C的进程对标签为D的消息接口进行SOCKET通信等。在终端设备被启动时,将SELinux策略文件导入到内核中,从而实现后续SELinux的强制访问控制。
[0037]针对不同的安全等级,事先会准备不同的SELinux策略文件,SELinux策略文件例如为二进制的文件。如高安全等级是用户在需要非常安全的状态时候使用的,如在支付应用、拨打保密电话、进入保密单位时候,仅允许与支付应用、拨打保密电话或进入保密单位相对应的功能/应用的使用,而对于其他功能/应用则禁止使用。也即在高安全等级下,仅允许高安全应用被使用,高安全应用包括:支付应用、拨打保密电话等。其可以通过制定SELinux策略来控制。对于允许使用的功能/应用,策略文件配置为允许这些功能/应用的进程访问相应的客体对象,例如如上所述为进程和客体对象设置匹配的标签;而对于不允许使用的功能/应用,则将策略文件配置为不允许这些功能/应用的进程访问相应的客体对象。
[0038]对于普通安全等级,则不影响用户的正常使用,即对于用户普通使用的功能/应用,通过策略文件的配置,执行相应的强制访问控制。而无需如高安全等级中,强制关闭部分功能/应用的使用。
[0039]对于无安全等级,则可以不加载任何的SELinux策略文件,从而对于任何功能/应用的进程对系统中资源的访问,不受SELinux的限制。
[°04°] 在一些实施例中,在上述方法可以实施在Systemd系统启动引导程序中。Systemd弓丨导程序是Linux操作系统的一种启动方式,其可以加快Linux系统的启动速度。
[0041]本发明实施方式的基于SELinux的开机安全等级选择方法,可以在开机启动的时候由用户选择需要进入的不同安全等级,从而可以适应不同的安全环境,增加了SELinux强制访问控制的灵活性。
[0042]应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。
[0043]图2是根据一示例性实施方式示出的另一种基于SELinux的开机安全等级选择方法的流程图。如图2所示,该方法20包括:
[0044]在步骤S202中,当终端设备被启动时,采用基于硬件的可信度量机制度量终端设备的完整性,从而保证内核的安全。
[0045]SELinux策略文件需要加载到系统内核中使用,因此保证内核安全,进一步增加了SELinux安全机制的安全性。
[0046]上述可信度量机制引导例如可以基于TrustZone技术。TrustZone是ARM针对电子设备安全所提出的一种硬件架构,该硬件架构是整个系统设计过程中安全体系的扩展,目标是防范电子设备可能遭受到的多种威胁。
[0047]TrustZone技术关键在于引入了可信执行环境和普通执行环境,其可以把普通执行环境隔离,创建可信启动(trusted boot)的可信执行环境。可信启动在启动普通执行环境操作系统之前初始化可信执行环境操作系统。之后,可以将身份认证、密钥及密码管理等可信应用配置在可信执行环境中运行。
[0048]TrustZone的可信启动将终端设备重置到安全环境中,通过只读取内存的形式从不可变硬件进行启动,并且访问可信的硬件资源(如硬件唯一密钥、随机数字生成器、计数器、计时器和可信内存等KTrustZone技术周全设计的、经验证的可信启动流程是确保设备完整性的基础。可信执行环境操作系统会作为可信启动流程的一部分先行启动,然后引导普通执行环境的操作系统启动。
[0049]在步骤S204中,当完整性度量通过时,显示安全等级显示界面,以供用户选择不同的安全等级。
[0050]安全等级例如可以包括:高安全等级、普通安全等级及无安全等级。
[0051 ]在步骤S206中,接收用户对不同安全等级的选择。
[0052]在步骤S208中,根据用户对不同安全等级的选择,加载预先制定的相应的SELinux策略文件。
[0053]需要说明的是,本实施方式中的步骤S204?S208与方法10中的步骤S102?S106相同,在此不再赘述。
[0054]本发明实施方式的基于SELinux的开机安全等级选择方法,进一步采用基于硬件的可信度量机制度量终端设备的完整性,从而保证了内核的安全,使得该开机安全等级选择方法是高安全的,即使使用超级管理员权限对终端设备的操作系统进行了修改,也即终端设备的操作系统被root了,也不会造成威胁。
[0055]本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被(PU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
[0056]此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0057]下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
[0058]图3是根据一示例性实施方式示出的一种基于SELinux的开机安全等级选择装置的框图。如图3所示,该装置30包括:界面显示模块302、选择接收模块304及策略加载模块306。
[0059]界面显示模块302用于当终端设备被启动时,显示安全等级显示界面,所述安全等级显示界面包括对应不同的安全等级的选项。
[0060]在一些实施例中,所述安全等级包括:高安全等级、普通安全等级及无安全等级;其中在所述高安全等级下,仅允许高安全应用被使用,所述高安全应用包括:支付应用及拨打保密电话;在所述普通安全等级下,基于相应的所述SELinux策略文件,允许所有应用被使用;在所述无安全等级下,不加载所述SELinux策略文件。
[0061]选择接收模块304用于接收用户对不同的所述安全等级的选择。
[0062]策略加载模块306用于根据用户对不同的所述安全等级的选择,加载预先指定的相应的SELinux策略文件。
[0063]在一些实施例中,该装置30实施于所述终端设备操作系统的开机引导程序Systemd中。
[0064]本发明实施方式的基于SELinux的开机安全等级选择装置,可以在开机启动的时候由用户选择需要进入的不同安全等级,从而可以适应不同的安全环境,增加了SELinux强制访问控制的灵活性。
[0065]图4是根据一示例性实施方式示出的另一种基于SELinux的开机安全等级选择装置的框图。如图4所示,该装置40包括:界面显示模块402、选择接收模块404、策略加载模块406及完整性度量模块408。
[0066]完整性度量模块408用于当所述终端设备被启动时,采用基于硬件的可信度量机制度量所述终端设备的完整性。
[0067]在一些实施例中,所述可信度量机制为基于TrustZone技术的可信硬件度量机制。
[0068]界面显示模块402用于当所述终端设备的完整性度量通过时,显示所述安全等级显示界面。
[0069]选择接收模块404用于接收用户对不同的所述安全等级的选择。
[0070]在一些实施例中,所述安全等级包括:高安全等级、普通安全等级及无安全等级;其中在所述高安全等级下,仅允许高安全应用被使用,所述高安全应用包括:支付应用及拨打保密电话;在所述普通安全等级下,基于相应的所述SELinux策略文件,允许所有应用被使用;在所述无安全等级下,不加载所述SELinux策略文件。
[0071]策略加载模块406用于根据用户对不同的所述安全等级的选择,加载预先指定的相应的SELinux策略文件。
[0072]在一些实施例中,该装置40实施于所述终端设备操作系统的开机引导程序Systemd中。
[0073]本发明实施方式的基于SELinux的开机安全等级选择装置,进一步采用基于硬件的可信度量机制度量终端设备的完整性,从而保证了内核的安全,使得该开机安全等级选择方法是高安全的,即使使用超级管理员权限对终端设备的操作系统进行了修改,也即终端设备的操作系统被root了,也不会造成威胁。
[0074]需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0075]通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。
[0076]以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
【主权项】
1.一种基于SELinux的开机安全等级选择方法,其特征在于,包括: 当终端设备被启动时,显示安全等级显示界面,所述安全等级显示界面包括对应不同的安全等级的选项; 接收用户对不同的所述安全等级的选择;以及 根据用户对不同的所述安全等级的选择,加载预先指定的相应的SELinux策略文件。2.根据权利要求1所述的方法,其特征在于,当所述终端设备被启动时,还包括: 采用基于硬件的可信度量机制度量所述终端设备的完整性;以及 当所述终端设备的完整性度量通过时,显示所述安全等级显示界面。3.根据权利要求2所述的方法,其特征在于,所述安全等级包括:高安全等级、普通安全等级及无安全等级;其中在所述高安全等级下,仅允许高安全应用被使用,所述高安全应用包括:支付应用及拨打保密电话;在所述普通安全等级下,基于相应的所述SELinux策略文件,允许所有应用被使用;在所述无安全等级下,不加载所述SELinux策略文件。4.根据权利要求2所述的方法,其特征在于,所述可信度量机制为基于TrustZone技术的可信硬件度量机制。5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法实施于所述终端设备操作系统的开机引导程序Systemd中。6.一种基于SELinux的开机安全等级选择装置,其特征在于,包括: 界面显示模块,用于当终端设备被启动时,显示安全等级显示界面,所述安全等级显示界面包括对应不同的安全等级的选项; 选择接收模块,用于接收用户对不同的所述安全等级的选择;以及策略加载模块,用于根据用户对不同的所述安全等级的选择,加载预先指定的相应的SELinux策略文件。7.根据权利要求6所述的装置,其特征在于,还包括:完整性度量模块,用于当所述终端设备被启动时,采用基于硬件的可信度量机制度量所述终端设备的完整性;所述界面显示模块还用于当所述终端设备的完整性度量通过时,显示所述安全等级显示界面。8.根据权利要求7所述的装置,其特征在于,所述安全等级包括:高安全等级、普通安全等级及无安全等级;其中在所述高安全等级下,仅允许高安全应用被使用,所述高安全应用包括:支付应用及拨打保密电话;在所述普通安全等级下,基于相应的所述SELinux策略文件,允许所有应用被使用;在所述无安全等级下,不加载所述SELinux策略文件。9.根据权利要求7所述的装置,其特征在于,所述可信度量机制为基于TrustZone技术的可信硬件度量机制。10.根据权利要求6-9任一项所述的装置,其特征在于,所述装置实施于所述终端设备操作系统的开机引导程序Systemd中。11.一种终端设备,其特征在于,包括: 处理器;以及 存储器,用于存储所述处理器的可执行指令; 其中所述处理器配置为经由执行所述可执行指令来执行以下操作: 当终端设备被启动时,显示安全等级显示界面,所述安全等级显示界面包括对应不同的安全等级的选项;接收用户对不同的所述安全等级的选择;以及根据用户对不同的所述安全等级的选择,加载预先指定的相应的SELinux策略文件。
【文档编号】G06F21/57GK106096418SQ201610389141
【公开日】2016年11月9日
【申请日】2016年6月2日 公开号201610389141.6, CN 106096418 A, CN 106096418A, CN 201610389141, CN-A-106096418, CN106096418 A, CN106096418A, CN201610389141, CN201610389141.6
【发明人】兰书俊
【申请人】北京元心科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1