一种权限白名单管理方法、装置、设备、服务器及介质与流程

文档序号:32108877发布日期:2022-11-09 05:01阅读:202来源:国知局
一种权限白名单管理方法、装置、设备、服务器及介质与流程

1.本发明涉及移动通信设备领域,具体涉及一种权限白名单管理方法、装置、设备、服务器及介质。


背景技术:

2.在工业应用领域设备的使用往往无人值守或无显示设备进行人机交互;基于特殊使用场景或环境,不同设备允许root权限的程序也不一样,且设备的网络环境也不是必须或实时有效。当前,现市面上的终端厂商为了保障普通用户的设备安全,在设备出厂时,大多不会开放root权限,用户若是想要对智能终端的系统进行差异化定制,则需要获取root权限;其只能使用第三方root工具进行root操作,但第三方工具一旦root权限打开,系统对所有应用都是开放root权限的,即第三方root工具进行root之后,设备就永久性root,而第三方root操作会涉及到操作系统的底层核心,可能导致系统不稳定,甚至奔溃,而且第三方的root工具可能存在病毒,盗取用户的个人信息,安全性差的情况出现,这样会存在较大安全隐患,而且第三方root工具在使用后,会修改或者替换系统的部分文件,使系统稳定性也会存在影响。
3.有鉴于此,提出本技术。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种权限白名单管理方法、装置、设备、服务器及介质,能够有效解决现有技术中的第三方root操作容易出现病毒,盗取用户的个人信息,安全性差的情况,进而影响系统的安全和稳定性的问题。
5.本发明提供了一种权限白名单管理方法,包括:
6.将文件保护命令添加至su程序中,并在检测到连网状态正常时,上传设备的标识信息至服务器;
7.接收并保存所述服务器基于所述标识信息生成的反馈信息;
8.对所述反馈信息进行签名验证,生成验证结果,并根据所述验证结果判断到反馈信息未被篡改时,获取应用程序包的文件名;
9.对所述文件名进行运算,并生成运算结果;
10.在判断到所述运算结果与所述反馈信息相互匹配时,授予所述应用程序包root权限。
11.优选地,对所述反馈信息进行签名验证,生成验证结果,具体为:
12.对所述签名文件进行解析,生成签名信息数据,其中,所述反馈信息包括配置文件和签名文件;
13.使用密钥对所述签名信息数据进行验证,判断所述签名信息数据是否与设备系统的签名信息匹配;
14.若是,所述反馈信息未被篡改;
15.若否,所述反馈信息被篡改。
16.优选地,对所述文件名进行运算,并生成运算结果,具体为:
17.将所述计算结果与所述配置文件进行匹配;
18.若所述配置文件不存在,或所述配置文件存在,且所述配置文件中不存在对应程序名单,则匹配不成功;
19.若所述配置文件存在,且所述配置文件中存在对应程序名单,则匹配成功。
20.本发明还提供了一种权限白名单管理方法,包括:
21.获取所述设备上报的标识信息;
22.将所述标识信息与数据库就行对比识别,生成识别结果,并判断所述识别结果是否具备权限功能;
23.若是,推送与所述标识信息对应的所述配置文件和所述签名文件至设备;
24.若否,不做所述配置文件和所述签名文件的推送。
25.优选地,在获取所述设备上报的标识信息之前,还包括:
26.获取所述设备上报的标识信息;
27.生成配置文件和签名文件,并将所述配置文件进行默认保存,其中,所述配置文件的格式为json格式;
28.使用公钥对所述配置文件进行签名,生成签名结果,并将所述签名结果保存在所述签名文件中。
29.本发明还提供了一种root权限白名单管理装置,包括:
30.数据上传单元,用于将文件保护命令添加至su程序中,并在检测到连网状态正常时,上传设备的标识信息至服务器;
31.数据接收单元,用于接收并保存所述服务器基于所述标识信息生成的反馈信息;
32.数据验证单元,用于对所述反馈信息进行签名验证,生成验证结果,并根据所述验证结果判断到反馈信息未被篡改时,获取应用程序包的文件名;
33.数据运算单元,用于对所述文件名进行运算,并生成运算结果;
34.权限授予单元,用于在判断到所述运算结果与所述反馈信息相互匹配时,授予所述应用程序包root权限。
35.本发明还提供了一种权限白名单管理装置,包括:
36.信息获取单元,用于获取所述设备上报的标识信息;
37.对比识别单元,用于将所述标识信息与数据库就行对比识别,生成识别结果,并判断所述识别结果是否具备权限功能;
38.文件推送单元,用于推送与所述标识信息对应的所述配置文件和所述签名文件至设备;
39.文件保管单元,用于不做所述配置文件和所述签名文件的推送。
40.本发明还提供了一种权限白名单管理设备,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上任意一项所述的一种权限白名单管理方法。
41.本发明还提供了一种服务器,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上任意一
项所述的一种权限白名单管理方法。
42.本发明还提供了一种可读存储介质,存储有计算机程序,所述计算机程序能够被该存储介质所在设备的处理器执行,以实现如上任意一项所述的一种权限白名单管理方法。
43.综上所述,本实施例提供的一种权限白名单管理方法、装置、设备、服务器及介质,root权限白名单在服务器上保存管理,并将白名单与设备标识信息绑定,在设备连接网络后,将不的root白名单配置文件同步推送到对应的设备上;root权限白名单管理通过公钥签名验证确保root白名单配置文件安全有效之后进行离线管理及root权限申请验证。可以根据不同的应用场景灵活配置对应的白名单,达到既不泄露也不被篡改,更能保证系统的安全性。从而解决现有技术中的第三方root操作容易出现病毒,盗取用户的个人信息,安全性差的情况,进而影响系统的安全和稳定性的问题。
附图说明
44.图1是本发明实施例提供的权限白名单管理方法的第一流程示意图。
45.图2是本发明实施例提供的权限白名单管理方法的第二流程示意图。
46.图3是本发明实施例提供的权限白名单管理装置的第一模块示意图。
47.图4是本发明实施例提供的权限白名单管理装置的第二模块示意图。
具体实施方式
48.为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
49.以下结合附图对本发明的具体实施例做详细说明。
50.本发明公开了一种权限白名单管理方法、装置、设备、服务器及介质,至少在一定程度上解决了现有技术的不足。
51.请参阅图1,本发明第一实施例提供了一种权限白名单管理方法,其可由权限白名单管理设备(以下简称第一管理设备)来执行,特别的,由第一管理设备内的一个或者多个处理器来执行,以实现如下步骤:
52.s101,将文件保护命令添加至su程序中,并在检测到连网状态正常时,上传设备的标识信息至服务器;
53.在本实施例中,所述第一管理设备可为用户终端设备(如智能手机、智能电脑或者其他智能设备),该用户终端设备可与云端的服务器建立通讯连接,以实现数据的交互。
54.现市面上的传统android系统使用的第三方root工具进行root操作存在以下两点缺陷:第一,第三方工具一旦root权限打开,系统对所有应用都是开放root权限的,存在较
大安全隐患,而且第三方root工具使用后会修改或替换系统的部分文件,使系统稳定性也会存在影响;第二,第三方工具在执行root系统及app应用程序root权限申请时,需要实时联网向服务器发起root请求,且需要人机交互确认,并不适用于无人值守的使用场景。工业应用领域设备往往在无人值守或者无显示设备时,进行人机交互;基于特殊使用场景或环境,不同设备允许root权限的程序也不一样,且设备的网络环境也不是必须或实时有效。而采用第三方root操作容易出现病毒,盗取用户的个人信息,安全性差的情况,进而影响系统的安全和稳定性的问题。
55.具体地,在本实施例中,在系统固件打包时,将linux文件系统的文件保护命令chattr+i添加至预制改造过的su程序中,增加其属性,通过文件属性约束,以确保su文件不能被删除、改名、设定链接关系,同时不能写入或新增内容,从而阻止第三方程序或者root工具软件篡改系统预置的su文件。其中,所述su程序文件是指,应用程序如果要使用系统root权限,通过运行系统中的su程序可向系统申请获取root权限。
56.在本实施例中,所述第一管理设备实时检测设备连网状态,当所述第一管理设备连接网络后,会自动将所述第一管理设备的标识信息上报至服务器,其中,所述标识信息包括设备的imei、sn、版本、型号等。
57.s102,接收并保存所述服务器基于所述标识信息生成的反馈信息;
58.s103,对所述反馈信息进行签名验证,生成验证结果,并根据所述验证结果判断到反馈信息未被篡改时,获取应用程序包的文件名;
59.具体地,步骤s103包括:对所述签名文件进行解析,生成签名信息数据,其中,所述反馈信息包括配置文件和签名文件;
60.使用密钥对所述签名信息数据进行验证,判断所述签名信息数据是否与设备系统的签名信息匹配;
61.若是,所述反馈信息未被篡改;
62.若否,所述反馈信息被篡改。
63.具体地,在本实施例中,对所述签名文件中的base64压缩信息进行解析,还原生成签名信息数据;使用密钥验证签名信息是否与设备系统的签名信息匹配。服务器保存的私钥和预置在终端设备中的公钥是匹配的,在进行验证的过程中,通过两者的匹配来进行验证;如果签名验证失败则所述第一管理设备的程序主动移除服务器已推送下发到所述第一管理设备上的配置文件和签名文件,以防止第三方服务器或程序使用篡改的配置文件导入到设备上使用,从而保证配置文件的安全性和有效性
64.在本实施例中,app会发起root请求,运行改造过的su程序,su程序通过读取proc目录下当前进程pid状态信息获取应用程序包名,并发送广播到所述第一管理设备请求权限。
65.s104,对所述文件名进行运算,并生成运算结果;
66.具体地,步骤s104包括:将所述计算结果与所述配置文件进行匹配;
67.若所述配置文件不存在,或所述配置文件存在,且所述配置文件中不存在对应程序名单,则匹配不成功;
68.若所述配置文件存在,且所述配置文件中存在对应程序名单,则匹配成功。
69.s105,在判断到所述运算结果与所述反馈信息相互匹配时,授予所述应用程序包
root权限。
70.具体地,在本实施例中,所述第一管理设备对app应用程序包名进行sha256计算,将计算结果在所述配置文件中进行查找,并对查找结果进行处理。若设备无配置文件,拒绝授权并在系统ui上提示白名单未配置;若已推送过配置文件,且在配置文件中存在对应程序名单,则授予root权限;若已推送过配置文件,但在配置文件中不存在对应程序名单则拒绝授予root权限,并在系统ui上提示应用不在白名单中无法使用root权限。所述第一管理设备只需通过已经验证过的配置文件进行root权限的管理而无须联网验证,即配置文件经过验证后本地保存,root权限申请管理时只须与本地配置文件比较验证无须联网,也无须人机交互确认,保证app应用程序root申请的及时验证和反馈,提高方法运行的稳定性和及时性。
71.请参阅图2,本发明的第二实施例提供了一种权限白名单管理方法,其可由root权限白名单管理设备(以下简称第二管理设备)来执行,特别的,由第二管理设备内的一个或者多个处理器来执行,以实现如下步骤:
72.s201,获取所述设备上报的标识信息;
73.在本实施例中,所述第二管理设备可为位于云端的服务器,该云端的服务器可与用户终端设备(如智能手机、智能电脑或者其他智能设备)建立通讯连接,以实现数据的交互。
74.特别的,在本实施例中,所述服务器内可存储有用于进行管理的数据,用户终端可通过向服务器发送标识信息来获取对应的反馈信息以对系统root权限进行管理。
75.s202,将所述标识信息与数据库就行对比识别,生成识别结果,并判断所述识别结果是否具备权限功能;
76.s203,若是,推送与所述标识信息对应的所述配置文件和所述签名文件至设备;
77.s204,若否,则不做所述配置文件和所述签名文件的推送。
78.具体地,在本实施例中,服务器通过上报的设备标识信息与服务器上的数据库对比识别当前设备是否具备root白名单权限功能,如设备具备root白名单权限功能,则服务器主动推送对应的root白名单配置文件package.conf和签名文件package.conf.sign到设备中并存储到指定路径;如设不具备,则服务器不做配置文件推送。
79.在本发明一个可能的实施例中,在获取所述设备上报的标识信息之前,还包括:
80.获取所述设备上报的标识信息;
81.生成配置文件和签名文件,并将所述配置文件进行默认保存,其中,所述配置文件的格式为json格式;
82.使用公钥对所述配置文件进行签名,生成签名结果,并将所述签名结果保存在所述签名文件中。
83.具体地,在本实施例中,所述配置文件使用json格式,且文件中的每一条,表示允许root的app应用程序包名的sha256 hash值;即所述配置文件内容使用app应用程序包名的sha256 hash值的方式存储,表示允许root的应用程序包名,而不直接使用app应用程序包名,以降低所述配置文件的直接可读性,防止app应用程序名单泄漏。在进行app应用程序的白名单配置时使用sha256 hash算法直接生成hash值比较,在一定程度上提高了对所述配置文件的查找匹配效率。
84.在本实施例中,将所述配置文件默认保存在服务器上,服务器使用公钥对所述配置文件进行rsa-sha256签名,需要签名验证,确保package.conf不会被篡改,达到既不泄露也不被篡改,更能保证系统的安全性;签名结果以base64格式保存在所述签名文件中,将上传的所述配置文件在服务器上配置绑定对应设备的标识信息,服务器通过维护所述配置文件及设备的标识信息达到对线下设备的root权限管理。
85.综上,所述第一管理设备连接网络后,将设备的标识信息发送至服务器,根据获取的标识信息,服务器主动推送对应的配置文件和签名文件至设备中并存储。通过对签名文件进行签名验证,确保配置文件没有被篡改。对应用程序包名进行sha256计算,将计算结果在配置文件中进行查找,判断hash值是否在,若存在,则授予root权限。若不存在,则拒绝授予root权限;实现了一种稳定又安全的root功能,在无人值守和设备离线状态下也能保证有效的运行,同时改造过的su可以拒绝第三方root工具对系统造成的破坏,还可以根据不同的应用场景灵活配置对应的白名单,达到既不泄露也不被篡改,更能保证消息的安全性。其中,终端设备上传标识信息到服务器,服务器下发对应的配置文件,增加服务器端的灵活性和可操作性;匹配白名单的应用程序可以获取root权限,其他应用程序只做系统ui提示不受影响,提高系统安全性。
86.请参阅图3,本发明的第三实施例提供了一种权限白名单管理装置,包括:
87.数据上传单元101,用于将文件保护命令添加至su程序中,并在检测到连网状态正常时,上传设备的标识信息至服务器;
88.数据接收单元102,用于接收并保存所述服务器基于所述标识信息生成的反馈信息;
89.数据验证单元103,用于对所述反馈信息进行签名验证,生成验证结果,并根据所述验证结果判断到反馈信息未被篡改时,获取应用程序包的文件名;
90.数据运算单元104,用于对所述文件名进行运算,并生成运算结果;
91.权限授予单元105,用于在判断到所述运算结果与所述反馈信息相互匹配时,授予所述应用程序包root权限。
92.请参阅图4,本发明的第四实施例提供了一种权限白名单管理装置,包括:
93.信息获取单元201,用于获取所述设备上报的标识信息;
94.对比识别单元202,用于将所述标识信息与数据库就行对比识别,生成识别结果,并判断所述识别结果是否具备权限功能;
95.文件推送单元203,用于推送与所述标识信息对应的所述配置文件和所述签名文件至设备;
96.文件保管单元204,用于不做所述配置文件和所述签名文件的推送。
97.本发明的第五实施例提供了一种权限白名单管理设备,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上任意一项所述的一种权限白名单管理方法。
98.本发明的第六实施例提供了一种服务器,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上任意一项所述的一种权限白名单管理方法。
99.本发明的第七实施例提供了一种可读存储介质,存储有计算机程序,所述计算机
程序能够被该存储介质所在设备的处理器执行,以实现如上任意一项所述的一种权限白名单管理方法。
100.示例性地,本发明第五实施例、第六实施例和第七实施例中所述的计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述实现一种权限白名单管理设备中的执行过程。例如,本发明第三实施例和第四实施例中所述的装置。
101.所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种权限白名单管理方法的控制中心,利用各种接口和线路连接整个所述实现对一种权限白名单管理方法的各个部分。
102.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现一种权限白名单管理方法的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
103.其中,所述实现的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
104.需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置
实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
105.以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1