应用于物联网操作系统的访问请求的处理方法及装置与流程

专利2022-06-29  91


本发明涉及计算机领域,具体而言,涉及一种应用于物联网操作系统的访问请求的处理方法及装置。



背景技术:

目前的物联网操作系统包含硬件层、内核层、设备驱动层和用户应用层等。内核是操作系统的核心部分,用于完成如进程调度、内存管理等主要功能。对于物联网设备而言,其操作系统本身就十分简洁,绝大多数功能均通过内核来实现,例如μc/os-ii实时内核等。这些内核提供的基本功能包含任务管理、任务通信、时间管理和内存管理等,但在安全方面考虑较少。

对于物联网设备而言,一方面需要对使用和传输的隐私数据进行严格保护,另一方面需要对物联网设备的关键程序操作也进行实时的监控,在异常行为最终执行之前采取对应的处理措施,设计安全内核对于物联网操作系统安全构建显得十分重要。因此,如何构建应用于物联网操作系统的安全内核,是目前需要解决的技术问题。

访问控制是目前实现操作系统安全的现有技术之一。访问控制技术包含自主访问控制(dac)、强制访问控制(mac)。自主访问控制是基于访问者身份或所属工作组来进行访问控制的一种手段。访问自主是指,具有某种访问权限的访问者可以向其他访问者传递该种访问许可。

强制访问控制就是将系统中所有的主客体资源按其敏感程度高低赋予不同的安全级别,当进程访问资源时,首先要做的是系统安全机制根据两者的安全级别和具体的访问方式进行的决策,然后才能决定这次访问的通过与否。由于系统中所有主客体的安全级别都是按照严格的规则来设置的,并且在系统运行期间固定不变,因此能有效地避免了自主访问控制所带来的安全隐患。现有的访问控制技术对操作系统的访问需要依次进行安全决策的判定,每个判定过程都需要频繁的访问主客体的安全属性所对应的信息,耗时较长,从而导致现有的访问控制技术不能满足物联网操作系统对于实时性、低延迟的性能要求。

针对相关技术中的上述问题,目前尚未存在有效的解决方案。



技术实现要素:

本发明实施例提供了一种应用于物联网操作系统的访问请求的处理方法及装置,以至少解决相关技术中对操作系统的访问需要依次进行安全决策的判定,每个判定过程都需要频繁的访问主客体的安全属性所对应的信息导致耗时较长的问题。

根据本发明的一个实施例,提供了一种访问请求的处理方法,包括:接收由主体发送的用于访问客体的访问请求,其中,所述访问请求中携带有所述主体和所述客体的属性信息;将所述属性信息与预存储的属性信息进行比较;在比较结果为一致的情况下,确定与所述属性信息对应的所述访问请求的访问权限,并根据所述访问权限确定是否允许所述主体执行下一步访问操作。

根据本发明的另一个实施例,提供了一种访问请求的处理装置,包括:接收模块,用于接收由主体发送的用于访问客体的访问请求,其中,所述访问请求中携带有所述主体和所述客体的属性信息;比较模块,用于将所述属性信息与预存储的属性信息进行比较;处理模块,用于在比较结果为一致的情况下,确定与所述属性信息对应的所述访问请求的访问权限,并根据所述访问权限确定是否允许所述主体执行下一步访问操作。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,将由主体发送的用于访问客体的访问请求中携带的属性信息与预存储的属性信息进行比较,在比较结果为一致的情况下,确定与属性信息对应的访问请求的访问权限,并根据访问权限确定是否允许主体执行下一步访问操作,即只需要根据属性信息来确定访问权限,简化了操作提高了效率,从而解决了相关技术中对操作系统的访问需要依次进行安全决策的判定,每个判定过程都需要频繁的访问主客体的安全属性所对应的信息导致耗时较长的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的应用于物联网操作系统的访问请求的处理方法的流程图;

图2是根据本发明实施例的操作系统的结构示意图;

图3是根据本发明实施例的应用于物联网操作系统的访问请求的处理装置的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本申请中涉及到的主体、客体、安全上下文(或称为安全属性)定义如下:

主体:发起访问请求的实体被称为主体,主体在系统中一般以进程和任务的形式存在,其中,具体细分为以下三个主体类型:

1)调用可信主体,只有最高优先级的任务才可以获得,主要用于系统中其它子任务及相关客体资源的创建,但获得该主体的进程只可在进行创建调用时才可以不受相关规则的约束;

2)读可信主体,主要用于审计进程,虽然该主体对任何客体的读访问都可以不受相关规则的约束,但除了作为系统中最低优先级的审计进程外其它任何进程都不可获得;

3)普通任务主体,主要用于系统中的所有子任务进程,规定获得该主体的进程在任何情况下访问任何客体都要受到系统中所有规则的约束。

客体:被主体访问的资源,其中,客体类型包括以下四种:

1)进程客体,主要指系统中可被当前进程临时调用的其他进程,其相关函数保存在文件中;

2)时间客体,主要是对系统时间相关变量及任务延时用定时器资源的管理;

3)内存客体,包括内存分区和内存块两种;

4)通信资源客体,是系统中客体资源的主体,包括了系统中各任务间通信所使用的各种数据结构,有信号量、互斥型信号量、事件标志组、消息邮箱、消息队列等。

主体、客体的安全属性:由用户、角色、强制类型和安全等级4个属性组成。系统、应用程序可以通过安全属性来获得策略中的控制信息。

实施例1

在本实施例中提供了一种应用于物联网操作系统的访问请求的处理方法,图1是根据本发明实施例的访问请求的处理方法的流程图,如图1所示,该流程包括如下步骤:

步骤s102,接收由主体发送的用于访问客体的访问请求,其中,访问请求中携带有主体和客体的属性信息;

步骤s104,将属性信息与预存储的属性信息进行比较;

步骤s106,在比较结果为一致的情况下,确定与属性信息对应的访问请求的访问权限,并根据访问权限确定是否允许主体执行下一步访问操作。

通过上述步骤s102至步骤s106,将由主体发送的用于访问客体的访问请求中携带的属性信息与预存储的属性信息进行比较,在比较结果为一致的情况下,确定与属性信息对应的访问请求的访问权限,并根据访问权限确定是否允许主体执行下一步访问操作,即只需要根据属性信息来确定访问权限,简化了操作提高了效率,从而解决了相关技术中对操作系统的访问需要依次进行安全决策的判定,每个判定过程都需要频繁的访问主客体的安全属性所对应的信息导致耗时较长的问题。

在本实施例的可选实施方式中,对于本实施例中的步骤s102中涉及到的接收由主体发送的用于访问客体的访问请求的方式,进一步可以是:接收由主体发送的用于访问客体的访问请求,其中,访问请求中的属性信息包括:主体的安全标识符,客体的安全标识符,客体的类型信息。

也就是说,本实施例中的属性信息是与主体和客体相关的信息,而进一步需要说明的是安全标识符是用于标识主体和客体的唯一代码,这个代码是固定的,并且安全标识符和安全属性是一一对应的。

在本实施例的另一个可选实施方式中,对于步骤s104中涉及到的将属性信息与预存储的属性信息进行比较的方式,进一步可以是:将属性信息与预设链表中节点所关联的属性信息进行比较,其中,预设链表中每一个节点所关联的属性信息包括:主体的安全标识符,客体的安全标识符,客体的类型信息;每一个节点预存储有用于与属性信息对应的访问权限的记录。

通过上述步骤s104可知,是需要将属性信息中的主体的安全标识符,客体的安全标识符,客体的类型信息均进行比较,只有所有信息均一致才能是比较结果一致。

进一步地,在本实施例的可选实施方式中,在将属性信息与预存储的属性信息进行比较之前,本实施例的方法还包括:

步骤s11,获取系统中未被使用的缓存空间;

步骤s12,将获取到的缓存空间连接成一个链表,并用指针指向链表的头节点;

步骤s13,为链表的每一个节点配置对应的属性信息;

步骤s14,将属性信息和与属性信息对应的访问权限写入记录。

通过上述步骤s11至步骤s14可知,在具体应用场景中可以是:在系统启动进行初始化时,预分配一定大小的未使用缓存空间,然后对这些空间进行初始化。预先分配好的缓存可以减少不必要的等待时间,如果每保存一次仲裁记录都需要重新申请一个缓存空间,这势必会增加工作的等待时间,增加仲裁服务器的开销,并且会造成系统实时性的下降。初始化结束时需要将所有空白缓存连接成一个单链表,并用指针指向该单链表的头节点,从头节点开始分配系统所需的缓存块,在与键值为<主体安全标识符,客体安全标识符,客体类型>的组合配合的链表节点写入仲裁记录,另外还将对应的访问权限写入记录中。

需要说明的是,在本实施例中还需要对链表中的节点进行更新,具体更新的方法步骤为:

步骤s21,在链表中的每一个节点均已存在记录,且有新的属性信息和与新的属性信息对应的访问权限待写入记录的情况下,获取链表中被比较次数最少的节点;

步骤s22,释放被比较次数最少的节点中的记录,并将新的属性信息和与新的属性信息对应的访问权限待写入被比较次数最少的节点的记录中。

通过上述步骤s21至步骤s22可知,由于链表中缓存的节点是一定的,因此,在所有节点均被写入记录之后,则之后新的待写入的记录则无法写入链表了,因此,为了满足该需求将链表中被比较次数最少,也即使用次数最少的节点进行释放,将新的记录写入,在满足节点更新的同时又尽量的不影响链表的功能。

在本实施例的另一个可选实施方式中,对于步骤s106中涉及到的确定与属性信息对应的访问请求的访问权限,并根据访问权限确定是否允许主体执行下一步访问操作的方式,进一步可以是:

步骤s106-11,在记录中匹配是否存在与属性信息对应的访问请求的访问权限;

步骤s106-12,在匹配结果为一致的情况下,确定允许主体执行下一步访问操作;

步骤s106-13,在匹配结果不一致的情况下,在预设访问权限集中查找与访问请求中的属性信息的访问权限;

步骤s106-14,在预设访问权限集中查找到的访问权限指示为允许访问的情况下,确定允许主体执行下一步访问操作;

步骤s106-15,在预设访问权限集中查找到的访问权限指示为不允许访问的情况下,停止调用访问请求。

由上述步骤s106-11至步骤s106-15可知,在属性信息一致的情况,先通过记录中的所记录的该属性信息所对应的访问权限来确定是否进行下一步访问操作,也就是说,该访问请求如果之前已经访问过,则可以通过记录就能确定其访问权限,如果之前没有被访问过,则需要进一步判断该访问请求的访问权限,通过该方式提高了访问的效率。

在本实施例的另一个可选实施方式中,在将属性信息与预存储的属性信息进行比较之前,本实施例的方法还包括:

步骤s31,确定与客体对应的用于访问控制接口的开关是否开启;

步骤s32,在开关开启的情况下,根据访问请求直接访问客体资源;

步骤s33,在开关关闭的情况下,执行将属性信息与预存储的属性信息进行比较的操作。

通过上述步骤s31至步骤s33可知,该开关便于用户在应用程序中直接通过开关访问控制接口,从而使整个系统更加精简,保证实时操作系统的性能。访问控制器在进行安全检查时,如果被访问的客体资源的对应开关为开启,表示该资源必须进行强制访问控制,否则直接访问客体资源。

在本实施例的另一个可选实施方式,本实施例的方法还可以包括:

步骤s108,对每执行的一个操作记录与操作相关的信息。

下面结合本实施例的可选实施例对本申请进行举例说明;

本可选实施例以一种安全内核及包含该安全内核的物联网操作系统为例,对访问请求的处理进行举例说明,其中,该操作系统包含硬件层、设备驱动层、安全内核层和应用程序层,系统架构如图2所示。

其中,安全内核包含访问控制器、决策缓存模块、仲裁服务器、安全审计模块和系统api。

访问控制器,用于对所有主体提出的访问请求进行监控和拦截,会根据请求去查询决策缓存模块中的记录,如果没能在决策缓存模块中查找到该请求的仲裁记录,则将访问请求提交给仲裁服务器进行仲裁,随后将这一条请求的仲裁信息存放到决策缓存模块中以便下一次遇到相同请求时就可以直接做出仲裁。

在实际使用系统时,并不是所有系统资源都会被使用或者并不希望对每种资源的访问都受到强制访问控制。因此,访问控制器为每种客体资源的访问控制接口增加一个开关m,便于用户在应用程序中直接通过开关访问控制接口,从而使整个系统更加精简,保证实时操作系统的性能。访问控制器在进行安全检查时,如果被访问的客体资源的对应开关m为开启,表示该资源必须进行强制访问控制,否则直接访问客体资源,不必进行随后的仲裁;

仲裁服务器包括:访问策略仲裁器和策略数据库,其中,策略仲裁器用于根据访问请求中主体和客体的安全标识符在策略数据库中查找对应的访问权限集,并作出相应的仲裁。策略数据库包括:安全属性表和策略规则库,其中,安全属性表用于存储主体、客体的安全属性和安全标识符,安全标识符是用来标识主体或客体的唯一代码,这个代码是固定的,并且安全标识符和安全属性是一一对应的;策略规则库中存储了了主体、客体的安全属性和安全标识符,以及安全标识符对应的访问权限集。

决策缓存模块是以hash表的形式存储在系统中,表中的存储节点包含键值为<主体安全标识符,客体安全标识符,客体类型>的组合,以及与该组合对应的仲裁记录。

其中,决策缓存的实现方法步骤包括:

步骤s41,决策缓存初始化;

其中,在系统启动进行初始化的同时进行对决策缓存模块的初始化。在进行初始化时,预分配一定大小的未使用缓存空间,然后对这些空间进行初始化。预先分配好一点大小的缓存可以减少不必要的等待时间,如果每保存一次仲裁记录都需要重新申请一个缓存空间,这势必会增加工作的等待时间,增加仲裁服务器的开销,并且会造成系统实时性的下降。初始化结束时需要将所有空白缓存连接成一个单链表,并用指针指向该单链表的头节点,从头节点开始分配系统所需的缓存块。

步骤s41,在与键值为<主体安全标识符,客体安全标识符,客体类型>的组合配合的链表节点写入仲裁记录。

步骤s43,释放缓存节点;

其中,如果决策缓存所有节点都已经被写入了仲裁记录,同时又有新的记录等待被写入,此时则需要将决策缓存节点中被查询次数最少的节点释放掉,为新的仲裁记录提供空白节点。

步骤s44,查找与请求匹配节点;

其中,访问控制器查找决策缓存模块中查询与<主体安全标识符,客体安全标识符,客体类型>三元组匹配的节点,然后会根据匹配节点中的仲裁记录来判定主体访问请求的权限是否与其相匹配,如果相匹配,则允许主体进行下一步的访问操作,否则由访问控制器将该请求提交给仲裁服务器进行仲裁。

安全审计模块主要功能是对系统中的访问主体的相关访问活动进行检查和记录,并根据需要做出相应的分析和审计。安全审计模块主要提供以下两方面的审计记录:

1)对客体访问的审计:主要是强制访问控制失败部分的审计,将记录存在于客体安全信息库中的受保护客体被访问的情况。记录的内容包括访问请求时间、主体名,客体名,操作类型和错误类型。

2)为安全系统自我保护进行的审计:为了对任何破坏系统本身的行为加以追查跟踪,记录事件安全模块的加载,卸载,对所有安全系统配置文件以及对客体访问记录,也可以把它看成强制访问控制审计的一部分。

安全审计机制的关键是如何保证所有安全相关事件都能被审计,在本系统中,由于在内核所有的系统调用都要经过访问控制器,所以可以把访问控制器作为入口,在访问控制器中设置一个审计点,记录所有系统调用事件,安全核的初始化等。同时策略行为也是安全管理的依据,所以在决策缓存模块和仲裁服务器中各需设置一个审计点。

基于本可选实施例中的操作系统,本可选实施例提供了一种基于上述物联网操作系统的安全访问方法,该方法的步骤包括:

步骤s51,系统初始化,为新建的主体(任务或进程)和客体(文件、信号量、消息队列等)分配一个与之对应的安全标识符,加载安全策略;

步骤s52,访问控制器调用系统api接口;

步骤s53,暂停任务执行,系统进行安全检查;

步骤s54,访问控制器查找决策缓存模块中查询与<主体安全标识符,客体安全标识符,客体类型>三元组匹配的节点,然后会根据匹配节点中的仲裁记录来判定主体访问请求的权限是否与其相匹配,如果相匹配,则允许主体进行下一步的访问操作,否则由访问控制器将该请求提交给仲裁服务器进行仲裁。

步骤s55,仲裁服务器将仲裁结果返回访问控制器。仲裁结果为允许访问,则允许主体进行下一步的访问操作。仲裁结果为不允许访问,返回error结束调用。

在本实施例的可选实施例中,决策缓存模块的提出是为了减少不必要的策略服务器仲裁开销,优化强制访问控制器的工作效率。策略服务器会将仲裁成功的访问请求以<主体安全标识符,客体安全标识符,客体类型>的三元组形式存放到决策缓存模块中,以后在对访问请求进行拦截时,访问控制器会首先查询决策缓存模块中是否有相同的仲裁记录,若能在决策缓存模块中查询到相关仲裁记录,则不再将访问请求提交给策略服务器进行仲裁这种方式减少了不必要的系统开销,提高了安全内核的仲裁速度。

此外,策略仲裁器通过安全标识符查找访问请求对应的权限,提高了仲裁服务器的工作效率,且具体的安全属性始终存放在策略数据库内部的安全属性表中以供查询,实现了与其他系统模块的隔离(其他系统模块需要获取相应的权限才能访问),提高了安全性能。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在本实施例中还提供了一种应用于物联网操作系统的访问请求的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明实施例的访问请求的处理装置的结构框图,如图3所示,该装置包括:

(1)接收模块32,用于接收由主体发送的用于访问客体的访问请求,其中,访问请求中携带有主体和客体的属性信息;

(2)比较模块34,用于将属性信息与预存储的属性信息进行比较;

(3)处理模块36,用于在比较结果为一致的情况下,确定与属性信息对应的访问请求的访问权限,并根据访问权限确定是否允许主体执行下一步访问操作。

可选地,本实施例中的接收模块32,还用于接收由主体发送的用于访问客体的访问请求,其中,访问请求中的属性信息包括:主体的安全标识符,客体的安全标识符,客体的类型信息。

可选地,本实施例中的比较模块34,还用于将属性信息与预设链表中节点所关联的属性信息进行比较,其中,预设链表中每一个节点所关联的属性信息包括:主体的安全标识符,客体的安全标识符,客体的类型信息;每一个节点预存储有用于与属性信息对应的访问权限的记录。

可选地,本实施例的装置还包括:第一获取模块,用于在将属性信息与预存储的属性信息进行比较之前获取系统中未被使用的缓存空间;连接模块,用于将获取到的缓存空间连接成一个链表,并用指针指向链表的头节点;配置模块,用于为链表的每一个节点配置对应的属性信息;第一写入模块,用于将属性信息和与属性信息对应的访问权限写入记录。

可选地,本实施例的装置还可以包括:第二获取模块,用于在链表中的每一个节点均已存在记录,且有新的属性信息和与新的属性信息对应的访问权限待写入记录的情况下,获取链表中被比较次数最少的节点;第二写入模块,用于释放被比较次数最少的节点中的记录,并将新的属性信息和与新的属性信息对应的访问权限待写入被比较次数最少的节点的记录中。

可选地,本实施例中的处理模块36,进一步还可以包括:匹配单元,用于在记录中匹配是否存在与属性信息对应的访问请求的访问权限;第一确定单元,用于在匹配结果为一致的情况下,确定允许主体执行下一步访问操作;查找单元,用于在匹配结果不一致的情况下,在预设访问权限集中查找与访问请求中的属性信息的访问权限;第二确定单元,用于在预设访问权限集中查找到的访问权限指示为允许访问的情况下,确定允许主体执行下一步访问操作;停止单元,用于在预设访问权限集中查找到的访问权限指示为不允许访问的情况下,停止调用访问请求。

可选地,本实施例的装置还可以包括:确定模块,用于将属性信息与预存储的属性信息进行比较之前,确定与客体对应的用于访问控制接口的开关是否开启;访问模块,用于在开关开启的情况下,根据访问请求直接访问客体资源;执行模块,用于在开关关闭的情况下,执行将属性信息与预存储的属性信息进行比较的操作。

可选地,本实施例的装置还可以包括:记录模块,用于对每执行的一个操作记录与操作相关的信息。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例3

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,接收由主体发送的用于访问客体的访问请求,其中,访问请求中携带有主体和客体的属性信息;

s2,将属性信息与预存储的属性信息进行比较;

s3,在比较结果为一致的情况下,确定与属性信息对应的访问请求的访问权限,并根据访问权限确定是否允许主体执行下一步访问操作。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,接收由主体发送的用于访问客体的访问请求,其中,访问请求中携带有主体和客体的属性信息;

s2,将属性信息与预存储的属性信息进行比较;

s3,在比较结果为一致的情况下,确定与属性信息对应的访问请求的访问权限,并根据访问权限确定是否允许主体执行下一步访问操作。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。


技术特征:

1.一种访问请求的处理方法,其特征在于,包括:

接收由主体发送的用于访问客体的访问请求,其中,所述访问请求中携带有所述主体和所述客体的属性信息;

将所述属性信息与预存储的属性信息进行比较;

在比较结果为一致的情况下,确定与所述属性信息对应的所述访问请求的访问权限,并根据所述访问权限确定是否允许所述主体执行下一步访问操作。

2.根据权利要求1所述的方法,其特征在于,所述接收由主体发送的用于访问客体的访问请求包括:

接收由所述主体发送的用于访问所述客体的访问请求,其中,所述访问请求中的属性信息包括:所述主体的安全标识符,所述客体的安全标识符,所述客体的类型信息。

3.根据权利要求1所述的方法,其特征在于,所述将所述属性信息与预存储的属性信息进行比较,包括:

将所述属性信息与预设链表中节点所关联的属性信息进行比较,其中,所述预设链表中每一个节点所关联的属性信息包括:主体的安全标识符,客体的安全标识符,客体的类型信息;每一个所述节点预存储有用于与所述属性信息对应的访问权限的记录。

4.根据权利要求3所述的方法,其特征在于,在将所述属性信息与预存储的属性信息进行比较之前,所述方法还包括:

获取系统中未被使用的缓存空间;

将获取到的缓存空间连接成一个链表,并用指针指向所述链表的头节点;

为所述链表的每一个节点配置对应的属性信息;

将所述属性信息和与所述属性信息对应的访问权限写入所述记录。

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

在所述链表中的每一个节点均已存在所述记录,且有新的属性信息和与新的属性信息对应的访问权限待写入所述记录的情况下,获取所述链表中被比较次数最少的节点;

释放所述被比较次数最少的节点中的记录,并将新的属性信息和与新的属性信息对应的访问权限待写入所述被比较次数最少的节点的记录中。

6.根据权利要求3所述的方法,其特征在于,确定与所述属性信息对应的所述访问请求的访问权限,并根据所述访问权限确定是否允许所述主体执行下一步访问操作,包括:

在所述记录中匹配是否存在与所述属性信息对应的所述访问请求的访问权限;

在匹配结果为一致的情况下,确定允许所述主体执行下一步访问操作;

在匹配结果不一致的情况下,在预设访问权限集中查找与所述访问请求中的属性信息的访问权限;

在所述预设访问权限集中查找到的访问权限指示为允许访问的情况下,确定允许所述主体执行下一步访问操作;

在所述预设访问权限集中查找到的访问权限指示为不允许访问的情况下,停止调用所述访问请求。

7.根据权利要求1所述的方法,其特征在于,将所述属性信息与预存储的属性信息进行比较之前,所述方法还包括:

确定与所述客体对应的用于访问控制接口的开关是否开启;

在所述开关开启的情况下,根据所述访问请求直接访问所述客体资源;

在所述开关关闭的情况下,执行将所述属性信息与预存储的属性信息进行比较的操作。

8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:

对每执行的一个操作记录与所述操作相关的信息。

9.一种访问请求的处理装置,其特征在于,包括:

接收模块,用于接收由主体发送的用于访问客体的访问请求,其中,所述访问请求中携带有所述主体和所述客体的属性信息;

比较模块,用于将所述属性信息与预存储的属性信息进行比较;

处理模块,用于在比较结果为一致的情况下,确定与所述属性信息对应的所述访问请求的访问权限,并根据所述访问权限确定是否允许所述主体执行下一步访问操作。

10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至8任一项中所述的方法。

11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至8任一项中所述的方法。

技术总结
本发明提供了一种应用于物联网操作系统的访问请求的处理方法及装置,其中,该方法包括:接收由主体发送的用于访问客体的访问请求,其中,所述访问请求中携带有所述主体和所述客体的属性信息;将所述属性信息与预存储的属性信息进行比较;在比较结果为一致的情况下,确定与所述属性信息对应的所述访问请求的访问权限,并根据所述访问权限确定是否允许所述主体执行下一步访问操作。通过本发明,解决了相关技术中对操作系统的访问需要依次进行安全决策的判定,每个判定过程都需要频繁的访问主客体的安全属性所对应的信息导致耗时较长的问题。

技术研发人员:徐静;沈顺厚;崔九梅;王守峰;唐洁
受保护的技术使用者:青岛海尔科技有限公司
技术研发日:2020.01.09
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-22255.html

最新回复(0)