CN109784045B - 双系统通信访问控制方法及计算机可读存储介质 - Google Patents
双系统通信访问控制方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109784045B CN109784045B CN201711123650.5A CN201711123650A CN109784045B CN 109784045 B CN109784045 B CN 109784045B CN 201711123650 A CN201711123650 A CN 201711123650A CN 109784045 B CN109784045 B CN 109784045B
- Authority
- CN
- China
- Prior art keywords
- client program
- program
- client
- priority table
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种双系统通信访问控制方法及计算机可读存储介质,方法包括:当客户端程序访问服务端程序时,判断所述客户端程序是否已记录在第一优先级表中;若未记录,则将客户端程序记录至第一优先级表中,并将对应的禁止标志位设置为不禁止,之后加入至等待队列;若已记录,且对应的禁止标志位为不禁止,则将客户端程序加入至等待队列中;从等待队列中确定一客户端程序;若服务端程序对一客户端程序验证不通过,则将一客户端程序对应的无效访问次数加一;若对应的无效访问次数超过预设的第一阈值,则将对应的禁止标志位设置为禁止;将一客户端程序从等待队列中删除。本发明可降低非法程序的恶意访问所带来的风险。
Description
技术领域
本发明涉及通信安全技术领域,尤其涉及一种双系统通信访问控制方法及计算机可读存储介质。
背景技术
ARM trustzone技术是ARM处理器上的一个安全扩展,可以把处理器划分成两个运行环境:安全环境和非安全环境。环境包括软件环境和硬件环境,运行在安全环境的软件系统可以访问处理器上的所有资源,而非安全环境上的软件系统只能访问非安全环境下的资源。基于trustzone技术的处理器上可以运行两个操作系统,一个运行在安全环境下,称为安全操作系统Secure OS,一个运行在非安全环境下,称为普通操作系统Normal OS。在单核处理器上安全操作系统和普通操作系统轮流切换进行运行,对于多核处理器,两个系统可以并行运行。
把运行在普通操作系统的程序称为客户端程序,把运行在安全操作系统中的程序称为服务端程序,服务端程序的功能是用于响应来自客户端程序的请求。目前客户端程序和服务端程序的通信是使用统一的系统调用接口,并通过底层的共享数据管道进行数据交换,数据管道只有一个,且一个时间段内只能允许一个进程访问这个管道,如图1所示,系统所引出的调用接口GPTEE Client API是公共的,任何客户端程序都可以调用这些接口,但是这会导致一些恶意程序使用这些接口来暴力访问底层通信驱动模块Normal-Driver,调用一次Normal-Driver模块就会引起一次从普通操作系统到安全操作系统的系统切换,其结果是频繁的调用底层驱动会引起双系统的切换过于频繁从而降低了整个双系统工作的效率,并且长时间占用底层驱动会导致正常的客户端程序的请求不能得到快速的响应,虽然恶意程序通过Client API无法获取到安全操作系统的数据,但是暴力访问同样是一种潜在的威胁。
发明内容
本发明所要解决的技术问题是:提供一种双系统通信访问控制方法及计算机可读存储介质,可降低非法程序的恶意访问所带来的风险。
为了解决上述技术问题,本发明采用的技术方案为:一种双系统通信访问控制方法,包括:
当客户端程序访问服务端程序时,判断所述客户端程序是否已记录在第一优先级表中,所述第一优先级表用于记录客户端程序的标识符、无效访问次数和禁止标志位;
若未记录,则将所述客户端程序记录至第一优先级表中,并将所述客户端程序对应的禁止标志位设置为不禁止,之后将所述客户端程序加入至等待队列中;
若已记录,且第一优先级表中所述客户端程序对应的禁止标志位为不禁止,则将所述客户端程序加入至等待队列中;
从所述等待队列中的各客户端程序中确定一客户端程序;
所述一客户端程序访问对应的服务端程序;
若所述服务端程序对所述一客户端程序验证不通过,则将第一优先级表中所述一客户端程序对应的无效访问次数加一;
若所述一客户端程序对应的无效访问次数超过预设的第一阈值,则将所述一客户端程序对应的禁止标志位设置为禁止;
将所述一客户端程序从所述等待队列中删除。
本发明还涉及一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
当客户端程序访问服务端程序时,判断所述客户端程序是否已记录在第一优先级表中,所述第一优先级表用于记录客户端程序的标识符、无效访问次数和禁止标志位;
若未记录,则将所述客户端程序记录至第一优先级表中,并将所述客户端程序对应的禁止标志位设置为不禁止,之后将所述客户端程序加入至等待队列中;
若已记录,且第一优先级表中所述客户端程序对应的禁止标志位为不禁止,则将所述客户端程序加入至等待队列中;
从所述等待队列中的各客户端程序中确定一客户端程序;
所述一客户端程序访问对应的服务端程序;
若所述服务端程序对所述一客户端程序验证不通过,则将第一优先级表中所述一客户端程序对应的无效访问次数加一;
若所述一客户端程序对应的无效访问次数超过预设的第一阈值,则将所述一客户端程序对应的禁止标志位设置为禁止;
将所述一客户端程序从所述等待队列中删除。
本发明的有益效果在于:通过设置禁止标志位表示客户端程序是否被允许访问安全操作系统;通过设置无效访问次数,当客户端程序访问服务端程序失败时,则累计无效访问次数,当无效访问次数达到一定设定值时,则将该客户端程序的禁止标志位设置为禁止,使其失去访问安全操作系统的资格,从而降低非法客户端程序的恶意访问给合法客户端程序造成的影响,同时可以禁止非法客户端程序的进一步访问。本发明可降低非法程序的恶意访问所带来的风险,减少恶意程序的暴力访问所带来的双系统切换,从而保证双系统的工作效率,并保证正常的客户端程序的请求能得到快速地响应。
附图说明
图1为现有技术中双系统通信原理示意图;
图2为本发明一种双系统通信访问控制方法的流程图;
图3为本发明实施例一的双系统通信原理示意图;
图4为本发明实施例一的方法流程图一;
图5为本发明实施例一的方法流程图二。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明最关键的构思在于:记录无效访问次数,当其达到一定限定值时则禁止访问;设置时间标志位记录不访问安全操作系统的时间间隔,当其达到一定限定值时则从第一优先级表中删除;设置优先级调度策略,使客户端程序在请求上有先后缓急之分。
名词解释:
Normal-Driver:普通操作系统下的底层通信驱动模块,管理着所有客户端进程对安全操作系统的访问控制;
Secure-Driver:安全操作系统下的底层通信驱动模块,和Normal-Driver模块进行数据通信;
GPTEE Client API:普通操作系统下的客户端系统调用接口,普通操作系统的软件可以调用这个接口来完成和安全操作系统的通信;
GPTEE Internal API:安全操作系统下的系统调用接口,服务端可以调用这些接口和普通操作系统进行通信。
请参阅图2,一种双系统通信访问控制方法,包括:
当客户端程序访问服务端程序时,判断所述客户端程序是否已记录在第一优先级表中,所述第一优先级表用于记录客户端程序的标识符、无效访问次数和禁止标志位;
若未记录,则将所述客户端程序记录至第一优先级表中,并将所述客户端程序对应的禁止标志位设置为不禁止,之后将所述客户端程序加入至等待队列中;
若已记录,且第一优先级表中所述客户端程序对应的禁止标志位为不禁止,则将所述客户端程序加入至等待队列中;
从所述等待队列中的各客户端程序中确定一客户端程序;
所述一客户端程序访问对应的服务端程序;
若所述服务端程序对所述一客户端程序验证不通过,则将第一优先级表中所述一客户端程序对应的无效访问次数加一;
若所述一客户端程序对应的无效访问次数超过预设的第一阈值,则将所述一客户端程序对应的禁止标志位设置为禁止;
将所述一客户端程序从所述等待队列中删除。
从上述描述可知,本发明的有益效果在于:可降低非法程序的恶意访问所带来的风险,减少恶意程序的暴力访问所带来的双系统切换,从而保证双系统的工作效率,并保证正常的客户端程序的请求能得到快速地响应。
进一步地,所述第一优先级表还用于记录客户端程序的时间标志位;还包括:
按照预设的时间周期扫描第一优先级表,并将第一优先级表中的各客户端程序的时间标志位加一;
若第一优先级表中的一客户端程序的时间标志位超过预设的第二阈值,则在第一优先级表中删除所述一客户端程序。
进一步地,所述“所述一客户端程序访问对应的服务端程序”之后,进一步包括:
若所述服务端程序对所述一客户端程序验证通过,则将第一优先级表中所述一客户端程序对应的时间标志位清零。
由上述描述可知,通过设置时间标志位,将长时间不访问安全操作系统的客户端程序从第一优先级表中删除。
进一步地,所述第一优先级表还用于记录客户端程序的初始优先级值、递减值和当前优先级值;
所述“所述一客户端程序访问对应的服务端程序”之后,进一步包括:
若所述服务端程序对所述一客户端程序验证通过,则返回预设的所述服务端程序对应的初始优先级值和递减值;
若所述一客户端程序为首次访问,则根据所述返回的初始优先级值和递减值,更新第一优先级表中所述一客户端程序对应的初始优先级值、递减值和当前优先级值;
若所述一客户端程序不为首次访问,则更新第一优先级表中所述一客户端程序对应的当前优先级值。
进一步地,所述等待队列用于记录等待访问的客户端程序的标识符及其当前优先级值;
所述“从所述等待队列中的各客户端程序中确定一客户端程序”具体为:
根据等待队列中各客户端程序的当前优先级值,获取当前优先级值最大的一客户端程序;
若当前优先级值一致,则获取最先加入到等待队列的一客户端程序。
进一步地,所述“若所述一客户端程序对应的无效访问次数超过预设的第一阈值,则将所述一客户端程序对应的禁止标志位设置为禁止”具体为:
若所述一客户端程序对应的无效访问次数超过预设的第一阈值且初始优先级值仍为预设的初始值,则将所述一客户端程序对应的禁止标志位设置为禁止。
由上述描述可知,通过设置优先级调度策略,保证客户端程序在请求上有先后缓急之分,同时非法的恶意访问由于一直拥有最低的优先级,所以可以降低恶意访问给合法客户端程序造成影响,同时访问次数的限制可以禁止恶意程序的进一步访问。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
当客户端程序访问服务端程序时,判断所述客户端程序是否已记录在第一优先级表中,所述第一优先级表用于记录客户端程序的标识符、无效访问次数和禁止标志位;
若未记录,则将所述客户端程序记录至第一优先级表中,并将所述客户端程序对应的禁止标志位设置为不禁止,之后将所述客户端程序加入至等待队列中;
若已记录,且第一优先级表中所述客户端程序对应的禁止标志位为不禁止,则将所述客户端程序加入至等待队列中;
从所述等待队列中的各客户端程序中确定一客户端程序;
所述一客户端程序访问对应的服务端程序;
若所述服务端程序对所述一客户端程序验证不通过,则将第一优先级表中所述一客户端程序对应的无效访问次数加一;
若所述一客户端程序对应的无效访问次数超过预设的第一阈值,则将所述一客户端程序对应的禁止标志位设置为禁止;
将所述一客户端程序从所述等待队列中删除。
进一步地,所述第一优先级表还用于记录客户端程序的时间标志位;还包括:
按照预设的时间周期扫描第一优先级表,并将第一优先级表中的各客户端程序的时间标志位加一;
若第一优先级表中的一客户端程序的时间标志位超过预设的第二阈值,则在第一优先级表中删除所述一客户端程序。
进一步地,所述“所述一客户端程序访问对应的服务端程序”之后,进一步包括:
若所述服务端程序对所述一客户端程序验证通过,则将第一优先级表中所述一客户端程序对应的时间标志位清零。
进一步地,所述第一优先级表还用于记录客户端程序的初始优先级值、递减值和当前优先级值;
所述“所述一客户端程序访问对应的服务端程序”之后,进一步包括:
若所述服务端程序对所述一客户端程序验证通过,则返回预设的所述服务端程序对应的初始优先级值和递减值;
若所述一客户端程序为首次访问,则根据所述返回的初始优先级值和递减值,更新第一优先级表中所述一客户端程序对应的初始优先级值、递减值和当前优先级值;
若所述一客户端程序不为首次访问,则更新第一优先级表中所述一客户端程序对应的当前优先级值。
进一步地,所述等待队列用于记录等待访问的客户端程序的标识符及其当前优先级值;
所述“从所述等待队列中的各客户端程序中确定一客户端程序”具体为:
根据等待队列中各客户端程序的当前优先级值,获取当前优先级值最大的一客户端程序;
若当前优先级值一致,则获取最先加入到等待队列的一客户端程序。
进一步地,所述“若所述一客户端程序对应的无效访问次数超过预设的第一阈值,则将所述一客户端程序对应的禁止标志位设置为禁止”具体为:
若所述一客户端程序对应的无效访问次数超过预设的第一阈值且初始优先级值仍为预设的初始值,则将所述一客户端程序对应的禁止标志位设置为禁止。
实施例一
请参照图3-5,本发明的实施例一为:一种双系统通信访问控制方法,如图3所示,本方法是在图1所使用的方法上进行改进,在普通操作系统上的底层通信驱动模块Normal-Driver内增加一个第一优先级表、一个等待队列和一个时间管理模块;在安全操作系统的服务器管理模块内增加一个第二优先级表。
具体地,如表1所示,第一优先级表的每一个单元由七部分组成:客户端程序名称tname、初始优先级值initpri、递减值decpri、当前优先级值curpri、无效访问次数num、禁止标志位flag和时间标志位time。
表1:
其中,无效访问次数num用于记录一个客户端程序访问安全操作系统失败的次数,当次数超过一定设定值后,禁止标志位flag会被设置成true。禁止标志位为false时,表示允许客户端程序访问安全操作系统,禁止标志位为true时,表示禁止客户端程序访问安全操作系统。
时间标志位time用于记录一个客户端程序没有访问安全操作系统的时间间隔,如果一个客户端程序一段时间内没有访问安全操作系统,则把这个客户端程序对应的优先级单元从第一优先级表中删除,客户端程序每次成功访问安全操作系统后,都会把这个时间标志位time清零。
每一个访问Normal-Driver的客户端程序,Normal-Driver都会为其创建一个优先级单元,这些优先级单元组成一个优先级表。刚创建的优先级单元的初始优先级值、递减值、当前优先级值、无效访问次数、时间标志位time均为0,禁止标志位为false。当前优先级值数字越大,优先级越高,优先级越高的客户端程序可以优先访问安全操作系统。
如表2所示,第二优先级表的每一单元由三部分组成:服务端程序名称sname、优先级初始值initpri和递减值decpri。
表2:
程序名称sname | 初始优先级值initpri | 递减值decpri |
安全操作系统的每一个服务端程序都有一个对应的初始优先级值和相应的递减值,当一个普通操作系统的客户端程序第一次成功访问这个服务端程序时,Normal-Driver会把这个服务端程序的初始优先级值和递减值及客户端程序信息记录在Normal-Driver模块中的第一优先级表中。因此,普通操作系统中的客户端程序的初始优先级值和递减值都是由第二优先级表决定的。其中,递减值可以为0。
如表3所示,等待队列的每一单元由两部分组成:程序名称tname和当前优先级值curpri。
表3:
程序名称tname | 当前优先级值curpri |
所有需要访问共享数据管道的客户端程序,都要进入等待队列排队进行排队等待,每一个队列单元代表一个需要访问的客户端程序,根据队列单元的当前优先级值来确定下一个具有访问数据管道权限的客户端程序,当前优先级值是从上述的第一优先级表中获取的。当前优先级值curpri最大的,具有优先访问权利,当前优先级值一样的,最先进入等待队列的客户端程序具有优先访问权。
时间管理模块为一个定时器模块,每间隔一定时间运行一次,比如1秒运行一次,每一次运行就把第一优先级表中所有优先级单元的时间标志位time加1,当有优先级单元的时间标志位time超过一定值时,则把该优先级单元从第一优先级表中删除。
如图4所示,本方法包括如下步骤:
S101:当客户端程序需访问服务端程序时,判断所述客户端程序是否已记录在第一优先级表中,若否,则执行步骤S102,若是,则执行步骤S103。
客户端程序访问服务端程序时,要先通过系统调用接口GPTEE Client API进入底层通信驱动模块Normal-Driver,Normal-Driver搜索第一优先级表,若当前客户端程序的信息已记录在第一优先级表中,则执行步骤S103,否则执行步骤S102。
S102:将所述客户端程序记录至第一优先级表中,并将所述客户端程序对应的禁止标志位设置为不禁止;执行步骤S103。进一步地,标识符可以为名称,其他信息都设置为初始值,例如,初始优先级值、递减值、当前优先级值、无效访问次数和时间标志尾都设置为0。
具体地,Normal-Driver在第一优先级表中创建新的优先级信息单元,并使这个单元的初始优先级值、递减值、当前优先级值、无效访问次数和时间标志尾都设置为0,禁止标志位设置为false,并把当前客户端程序的名称填充到这个单元中。
S103:判断第一优先级表中所述客户端程序对应的禁止标志位是否为禁止,若否,则执行步骤S104,若是,则执行步骤S105。即Normal-Driver在第一优先级表中查看当前客户端程序对应的禁止标志位是否为禁止。
S104:将所述客户端程序加入至等待队列中。具体地,Normal-Driver在等待队列中创建一个新的等待队列单元,并从第一优先级表中拷贝当前客户端程序的名称和当前优先级值到所述新的等待队列单元,并使当前客户端程序进入休眠等待。
S105:客户端程序退出底层通信驱动模块Normal-Driver。
S106:从所述等待队列中的各客户端程序中确定一客户端程序;具体地,获取等待队列中当前优先级值最大的一客户端程序;若当前优先级值一致,则获取最先加入到等待队列的一客户端程序。即底层通信驱动模块Normal-Driver选取当前优先级值最大的客户端程序,若当前优先级值一致,则选取其中最先进入等待队列的客户端程序,并唤醒所选取的客户端程序。
S107:所述一客户端程序访问对应的服务端程序;具体地,唤醒后的所述一客户端程序将请求数据通过数据管道发送至对应的服务端程序,所述请求数据包括访问的服务端程序的编号、自身的身份信息和请求命令,以及其他一些必要数据。进一步地,客户端程序将请求数据写入到数据管道中,安全操作系统把客户端程序的请求数据转发到对应的服务端程序。如果找不到对应的服务端程序,则直接返回访问失败信息到普通操作系统。
S108:所述服务端程序对所述一客户端程序的身份信息进行验证,判断是否验证通过,若是,则表示访问成功,执行步骤S109,若否,则表示访问失败,返回访问失败信息,执行步骤S114。
S109:所述服务端程序处理请求命令,并返回处理结果以及第二优先级表中所述服务端程序的初始优先级值和递减值。
S110:判断所述一客户端程序是否首次访问成功,若是,则执行步骤S111,若否,则执行步骤S112。具体地,若第一优先级表中所述一客户端程序对应的初始优先级值为0,则判定为首次访问成功。
S111:根据所述返回的初始优先级值和递减值,更新第一优先级表中所述一客户端程序对应的初始优先级值、递减值和当前优先级值;即将第一优先级表中所述一客户端程序对应的初始优先级值、递减值分别设置为服务端程序返回的初始优先级值、递减值,将当前优先级值设置为服务端程序返回的初始优先级值。执行步骤S113。
S112:更新第一优先级表中所述一客户端程序对应的当前优先级值。具体地,将第一优先级表中所述一客户端程序原来的当前优先级值减去递减值,即得到更新后的当前优先级值。进一步地,当前优先级值小于等于0后,重新恢复为初始优先级值。执行步骤S113。
S113:将第一优先级表中所述一客户端程序对应的时间标志位清零。只要客户端程序成功访问了服务端程序,即将其对应的时间标志位清零。执行步骤S117。
S114:将第一优先级表中所述一客户端程序对应的无效访问次数加一;执行步骤S115。
S115:判断所述一客户端程序对应的无效访问次数是否超过预设的第一阈值,且初始优先级值仍为0,若是,则表示该客户端程序是属于恶意访问,执行步骤S116,若否,则执行步骤S117。优选地,所述第一阈值为10。
S116:将所述一客户端程序对应的禁止标志位设置为禁止(true)。禁止标志位被置位后,该客户端程序不能继续访问Normal-Driver模块。
S117:将所述一客户端程序从等待队列中删除。更新完第一优先级表后,Normal-Driver将所述该客户端程序从等待队列中删除,并继续从等待队列中选取下一个客户端程序,即返回执行步骤S106。进一步地,该客户端程序完成访问,返回自己的工作空间,当其再次访问服务端程序时,需重新执行步骤S101-S105。
其中,上述步骤S111、S112、S114,均为Normal-Driver根据返回的结果数据更新第一优先级表的操作。
进一步地,时间管理模块用于把长时间不访问安全操作系统的客户端程序对应的优先级单元从第一优先级列表中删除,即按照预设的时间周期扫描第一优先级表,并将第一优先级表中的各客户端程序的时间标志位加一;若第一优先级表中的一客户端程序的时间标志位超过预设的第二阈值,则在第一优先级表中删除所述一客户端程序。优选地,所述第二阈值为100。
具体地,如图5所示,包括如下步骤:
S201:定时扫描第一优先级表。Normal-Driver设置一个定时器,每隔一定时间中断一次,比如1秒钟产生一次中断,每次产生中断后,时间管理模块运行一次;运行后,扫描第一优先级表。
S202:从第一优先级表中依次取出一个优先级单元,作为当前优先级单元,并把当前优先级单元的时间标志位time加1,直至遍历完第一优先级表中的所有优先级单元。
S203:判断当前优先级单元的时间标志位time是否超过了限定值,若是,则执行步骤S204,若否,则从第一优先级表中取出下一个优先级单元,即执行步骤S202。
S204:从第一优先级表中删除当前优先级单元;继续执行步骤S202。
当第一优先级表中没有优先级单元或已扫描完所有的优先级单元后,退出时间管理模块,等待下一个定时运行周期。
本实施例通过设置禁止标志位表示客户端程序是否被允许访问安全操作系统;通过设置无效访问次数,当客户端程序访问服务端程序失败时,则累计无效访问次数,当无效访问次数达到一定设定值时,则将该客户端程序的禁止标志位设置为禁止,使其失去访问安全操作系统的资格;通过设置优先级调度策略,保证客户端程序在请求上有先后缓急之分,同时非法的恶意访问由于一直拥有最低的优先级,所以可以降低恶意访问给合法客户端程序造成影响,同时访问次数的限制可以禁止恶意程序的进一步访问。通过设置时间标志位,将长时间不访问安全操作系统的客户端程序从第一优先级表中删除。
本实施例可降低非法程序的恶意访问所带来的风险,减少恶意程序的暴力访问所带来的双系统切换,从而保证双系统的工作效率,并保证正常的客户端程序的请求能得到快速地响应。
实施例二
本实施例是对应上述实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
当客户端程序访问服务端程序时,判断所述客户端程序是否已记录在第一优先级表中,所述第一优先级表用于记录客户端程序的标识符、无效访问次数和禁止标志位;
若未记录,则将所述客户端程序记录至第一优先级表中,并将所述客户端程序对应的禁止标志位设置为不禁止,之后将所述客户端程序加入至等待队列中;
若已记录,且第一优先级表中所述客户端程序对应的禁止标志位为不禁止,则将所述客户端程序加入至等待队列中;
从所述等待队列中的各客户端程序中确定一客户端程序;
所述一客户端程序访问对应的服务端程序;
若所述服务端程序对所述一客户端程序验证不通过,则将第一优先级表中所述一客户端程序对应的无效访问次数加一;
若所述一客户端程序对应的无效访问次数超过预设的第一阈值,则将所述一客户端程序对应的禁止标志位设置为禁止;
将所述一客户端程序从所述等待队列中删除。
进一步地,所述第一优先级表还用于记录客户端程序的时间标志位;还包括:
按照预设的时间周期扫描第一优先级表,并将第一优先级表中的各客户端程序的时间标志位加一;
若第一优先级表中的一客户端程序的时间标志位超过预设的第二阈值,则在第一优先级表中删除所述一客户端程序。
进一步地,所述“所述一客户端程序访问对应的服务端程序”之后,进一步包括:
若所述服务端程序对所述一客户端程序验证通过,则将第一优先级表中所述一客户端程序对应的时间标志位清零。
进一步地,所述第一优先级表还用于记录客户端程序的初始优先级值、递减值和当前优先级值;
所述“所述一客户端程序访问对应的服务端程序”之后,进一步包括:
若所述服务端程序对所述一客户端程序验证通过,则返回预设的所述服务端程序对应的初始优先级值和递减值;
若所述一客户端程序为首次访问,则根据所述返回的初始优先级值和递减值,更新第一优先级表中所述一客户端程序对应的初始优先级值、递减值和当前优先级值;
若所述一客户端程序不为首次访问,则更新第一优先级表中所述一客户端程序对应的当前优先级值。
进一步地,所述等待队列用于记录等待访问的客户端程序的标识符及其当前优先级值;
所述“从所述等待队列中的各客户端程序中确定一客户端程序”具体为:
根据等待队列中各客户端程序的当前优先级值,获取当前优先级值最大的一客户端程序;
若当前优先级值一致,则获取最先加入到等待队列的一客户端程序。
进一步地,所述“若所述一客户端程序对应的无效访问次数超过预设的第一阈值,则将所述一客户端程序对应的禁止标志位设置为禁止”具体为:
若所述一客户端程序对应的无效访问次数超过预设的第一阈值且初始优先级值仍为预设的初始值,则将所述一客户端程序对应的禁止标志位设置为禁止。
综上所述,本发明提供的一种双系统通信访问控制方法及计算机可读存储介质,通过设置禁止标志位表示客户端程序是否被允许访问安全操作系统;通过设置无效访问次数,当客户端程序访问服务端程序失败时,则累计无效访问次数,当无效访问次数达到一定设定值时,则将该客户端程序的禁止标志位设置为禁止,使其失去访问安全操作系统的资格;通过设置优先级调度策略,保证客户端程序在请求上有先后缓急之分,同时非法的恶意访问由于一直拥有最低的优先级,所以可以降低恶意访问给合法客户端程序造成影响,同时访问次数的限制可以禁止恶意程序的进一步访问。通过设置时间标志位,将长时间不访问安全操作系统的客户端程序从第一优先级表中删除。本发明可降低非法程序的恶意访问所带来的风险,减少恶意程序的暴力访问所带来的双系统切换,从而保证双系统的工作效率,并保证正常的客户端程序的请求能得到快速地响应。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种双系统通信访问控制方法,其特征在于,包括:
当客户端程序访问服务端程序时,判断所述客户端程序是否已记录在第一优先级表中,所述第一优先级表用于记录客户端程序的标识符、无效访问次数和禁止标志位;
若未记录,则将所述客户端程序记录至第一优先级表中,并将所述客户端程序对应的禁止标志位设置为不禁止,之后将所述客户端程序加入至等待队列中;
若已记录,且第一优先级表中所述客户端程序对应的禁止标志位为不禁止,则将所述客户端程序加入至等待队列中;
从所述等待队列中的各客户端程序中确定一客户端程序;
所述一客户端程序访问对应的服务端程序;
若所述服务端程序对所述一客户端程序验证不通过,则将第一优先级表中所述一客户端程序对应的无效访问次数加一;
若所述一客户端程序对应的无效访问次数超过预设的第一阈值,则将所述一客户端程序对应的禁止标志位设置为禁止;
将所述一客户端程序从所述等待队列中删除;
把运行在普通操作系统的程序称为客户端程序,把运行在安全操作系统中的程序称为服务端程序。
2.根据权利要求1所述的双系统通信访问控制方法,其特征在于,所述第一优先级表还用于记录客户端程序的时间标志位;还包括:
按照预设的时间周期扫描第一优先级表,并将第一优先级表中的各客户端程序的时间标志位加一;
若第一优先级表中的一客户端程序的时间标志位超过预设的第二阈值,则在第一优先级表中删除所述一客户端程序。
3.根据权利要求2所述的双系统通信访问控制方法,其特征在于,所述“所述一客户端
程序访问对应的服务端程序”之后,进一步包括:
若所述服务端程序对所述一客户端程序验证通过,则将第一优先级表中所述一客户端程序对应的时间标志位清零。
4.根据权利要求1所述的双系统通信访问控制方法,其特征在于,所述第一优先级表还用于记录客户端程序的初始优先级值、递减值和当前优先级值;
所述“所述一客户端程序访问对应的服务端程序”之后,进一步包括:
若所述服务端程序对所述一客户端程序验证通过,则返回预设的所述服务端程序对应的初始优先级值和递减值;
若所述一客户端程序为首次访问,则根据所述返回的初始优先级值和递减值,更新第一优先级表中所述一客户端程序对应的初始优先级值、递减值和当前优先级值;
若所述一客户端程序不为首次访问,则更新第一优先级表中所述一客户端程序对应的当前优先级值。
5.根据权利要求4所述的双系统通信访问控制方法,其特征在于,所述等待队列用于记录等待访问的客户端程序的标识符及其当前优先级值;
所述“从所述等待队列中的各客户端程序中确定一客户端程序”具体为:
根据等待队列中各客户端程序的当前优先级值,获取当前优先级值最大的一客户端程序;
若当前优先级值一致,则获取最先加入到等待队列的一客户端程序。
6.根据权利要求4所述的双系统通信访问控制方法,其特征在于,所述“若所述一客户端程序对应的无效访问次数超过预设的第一阈值,则将所述一客户端程序对应的禁止标志位设置为禁止”具体为:
若所述一客户端程序对应的无效访问次数超过预设的第一阈值且初始优先级值仍为预设的初始值,则将所述一客户端程序对应的禁止标志位设置为禁止。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现以下步骤:
当客户端程序访问服务端程序时,判断所述客户端程序是否已记录在第一优先级表中,所述第一优先级表用于记录客户端程序的标识符、无效访问次数和禁止标志位;
若未记录,则将所述客户端程序记录至第一优先级表中,并将所述客户端程序对应的禁止标志位设置为不禁止,之后将所述客户端程序加入至等待队列中;
若已记录,且第一优先级表中所述客户端程序对应的禁止标志位为不禁止,则将所述客户端程序加入至等待队列中;
从所述等待队列中的各客户端程序中确定一客户端程序;
所述一客户端程序访问对应的服务端程序;
若所述服务端程序对所述一客户端程序验证不通过,则将第一优先级表中所述一客户端程序对应的无效访问次数加一;
若所述一客户端程序对应的无效访问次数超过预设的第一阈值,则将所述一客户端程序对应的禁止标志位设置为禁止;
将所述一客户端程序从所述等待队列中删除;
把运行在普通操作系统的程序称为客户端程序,把运行在安全操作系统中的程序称为服务端程序。
8.根据权利要求7所述的计算机可读存储介质,其特征在于,所述第一优先级表还用于记录客户端程序的时间标志位;还包括:
按照预设的时间周期扫描第一优先级表,并将第一优先级表中的各客户端程序的时间标志位加一;
若第一优先级表中的一客户端程序的时间标志位超过预设的第二阈值,则在第一优先级表中删除所述一客户端程序。
9.根据权利要求8所述的计算机可读存储介质,其特征在于,所述“所述一客户端程序访问对应的服务端程序”之后,进一步包括:
若所述服务端程序对所述一客户端程序验证通过,则将第一优先级表中所述一客户端程序对应的时间标志位清零。
10.根据权利要求7所述的计算机可读存储介质,其特征在于,所述第一优先级表还用于记录客户端程序的初始优先级值、递减值和当前优先级值;
所述“所述一客户端程序访问对应的服务端程序”之后,进一步包括:
若所述服务端程序对所述一客户端程序验证通过,则返回预设的所述服务端程序对应的初始优先级值和递减值;
若所述一客户端程序为首次访问,则根据所述返回的初始优先级值和递减值,更新第一优先级表中所述一客户端程序对应的初始优先级值、递减值和当前优先级值;
若所述一客户端程序不为首次访问,则更新第一优先级表中所述一客户端程序对应的当前优先级值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711123650.5A CN109784045B (zh) | 2017-11-14 | 2017-11-14 | 双系统通信访问控制方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711123650.5A CN109784045B (zh) | 2017-11-14 | 2017-11-14 | 双系统通信访问控制方法及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109784045A CN109784045A (zh) | 2019-05-21 |
CN109784045B true CN109784045B (zh) | 2023-08-22 |
Family
ID=66493482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711123650.5A Active CN109784045B (zh) | 2017-11-14 | 2017-11-14 | 双系统通信访问控制方法及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109784045B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114039800A (zh) * | 2022-01-10 | 2022-02-11 | 中建电子商务有限责任公司 | 基于设备指纹的访问控制方法、装置、服务器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725141A (zh) * | 2004-11-25 | 2006-01-25 | 杭州华为三康技术有限公司 | 系统bootrom安全访问方法 |
CN103838997A (zh) * | 2012-11-20 | 2014-06-04 | 海尔集团公司 | 一种单片机密码验证方法及装置 |
CN105100070A (zh) * | 2015-06-29 | 2015-11-25 | 北京奇虎科技有限公司 | 防止对接口服务进行恶意攻击的方法及装置 |
CN106790107A (zh) * | 2016-12-26 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种访问控制方法和服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818520B2 (en) * | 2007-02-23 | 2010-10-19 | Inventec Corporation | Method of specifying access sequence of a storage device |
-
2017
- 2017-11-14 CN CN201711123650.5A patent/CN109784045B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725141A (zh) * | 2004-11-25 | 2006-01-25 | 杭州华为三康技术有限公司 | 系统bootrom安全访问方法 |
CN103838997A (zh) * | 2012-11-20 | 2014-06-04 | 海尔集团公司 | 一种单片机密码验证方法及装置 |
CN105100070A (zh) * | 2015-06-29 | 2015-11-25 | 北京奇虎科技有限公司 | 防止对接口服务进行恶意攻击的方法及装置 |
CN106790107A (zh) * | 2016-12-26 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种访问控制方法和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN109784045A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7346720B2 (en) | Systems and methods for managing concurrent access requests to a shared resource | |
JP5462254B2 (ja) | コンピューティングプロセスのための最小特権アクセスの付与 | |
WO2019080429A1 (zh) | 电子装置、访问请求控制方法和计算机可读存储介质 | |
US8195798B2 (en) | Application server scalability through runtime restrictions enforcement in a distributed application execution system | |
EP1693748A2 (en) | Method and system for resource management | |
US20050172083A1 (en) | Selection of a resource in a distributed computer system | |
US8260816B1 (en) | Providing limited access to a file system on shared storage | |
US8843673B2 (en) | Offloading input/output (I/O) completion operations | |
US11593480B2 (en) | Predictive scheduled anti-virus scanning | |
CN104735091A (zh) | 一种基于Linux系统的用户访问控制方法和装置 | |
US20080244118A1 (en) | Method and apparatus for sharing buffers | |
JP2019523476A (ja) | セキュリティレベル及びアクセス履歴に基づくipアドレスアクセス | |
CN105718474A (zh) | 用于对MySQL数据库的并发操作进行控制的方法及装置 | |
US8943590B2 (en) | Concurrent and delayed processing of malware with reduced I/O interference | |
US20180204016A1 (en) | Mandatory access control method and apparatus, and physical host | |
CN109784045B (zh) | 双系统通信访问控制方法及计算机可读存储介质 | |
EP3516570B1 (en) | Apparatus and method for tracking access permissions over multiple execution environments | |
US7979865B2 (en) | Identifying separate threads executing within a single process | |
KR101198400B1 (ko) | 메모리 관리 장치 및 방법 | |
CN113282626A (zh) | 基于Redis的缓存数据的方法、装置、计算机设备及存储介质 | |
EP3249540B1 (en) | Method for writing multiple copies into storage device, and storage device | |
CN113791898B (zh) | 一种基于TrustZone的可信微内核操作系统 | |
US20220255970A1 (en) | Deploying And Maintaining A Trust Store To Dynamically Manage Web Browser Extensions On End User Computing Devices | |
CN110347517B (zh) | 双系统的通信方法及计算机可读存储介质 | |
CN111259375A (zh) | 应用于物联网操作系统的访问请求的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |