技术领域
本专利申请属于安卓设备管控技术领域,更具体地说,是涉及一种基于内核定制实现安卓系统设备管控的方法。
背景技术
安卓(Android)系统作为开放源码的操作系统,目前大量应用于如智能手机、平板电脑等各类智能设备,用智能设备拍照、录音更是成为人们日常生活、工作不可缺少的一部分。一般手机安卓系统都具备拍照、录音、定位、蓝牙等功能,很多第三方APP也具备拍照、录音功能。但在国防、安全、科研等领域,出于安全保密、知识产权保护等需要,都会禁止拍照录音,甚至禁止联网、定位、蓝牙等功能。随着安卓智能设备软硬件功能的不断丰富,其应用日益广泛,针对安卓系统的病毒、攻击也更加频繁,如何有效、安全地对安卓智能设备进行功能管控,减少失泄密隐患,成为有关单位的迫切需求。
现有技术的缺点为:
现有技术中,主流的智能手机所提供的设备管控方式,一般都需要用户手动禁止,APP升级更新还会要求获取权限,还需用户进行设置,操作效率低且管控效果不可靠。
中国公开的专利中,“一种针对安卓智能手机麦克风的管控方法”(公开号:CN107302626 A)涉及一种基于设备管理器对安卓智能手机麦克风进行管控的方法,“一种基于设备管理器实现安卓智能设备摄像头的管控方法”(公开号:CN 107239692 A)涉及一种基于设备管理器对安卓智能手机摄像头进行管控的方法,这两个专利都是基于安卓应用框架层的设备管理器服务进行设备管控,分别实现了安卓手机麦克风、摄像头的管控。基于设备管理器进行管控设备的步骤如图1所示:激活设备管理器,并获取设备管理器实例;获取设备策略管理器实例;检查设备管理器对指定设备的控制权限是否激活,没有的话需要用户确认激活权限;使用设备策略管理器实例调用指定设备的管控接口,即可打开或者关闭指定设备。
中国还公开了一个专利“一种基于Android系统实现设备管控的方法”(公开号:CN110188535 A)提出一套设备管控接口标准,由设备厂商据此完成应用框架层的接口定制,如图2所示,并结合云端服务器实现设备管控策略下发与远程管控功能。
前述技术,基本可以满足普通用户的设备管控需求,也都是基于应用框架层接口实现设备管控,但随着人们对安卓系统的理解不断深入,各类系统、应用程序漏洞持续增加,上层设备管控APP相对容易被恶意程序劫持,无法实现安全可靠的设备管控。
发明内容
本发明需要解决的技术问题是提供一种基于内核定制实现安卓系统设备管控的方法,该方法可以进一步增强安卓系统设备管控的可靠性,同时保证管控方式有足够的灵活性。
为了解决上述问题,本发明所采用的技术方案是:
一种基于内核定制实现安卓系统设备管控的方法,包括基于安卓系统的架构,对安卓系统进行深度定制,也就是在安卓系统底层的Linux内核层集成定制的设备管控模块,并在该设备管控模块内的设备管控策略文件中预置管控策略,实现对有关设备功能的安全管控,避免因潜在的上层漏洞造成信息泄露问题。
其中:设备管控模块在设备初始化期间,通过以下步骤完成设备管控工作:
步骤S1:检测设备管控策略文件是否存在,如存在,则将其中的设备信息加入管控列表;
步骤S2:依次设置管控列表的设备;
步骤S3:获取管控列表内有关设备的管控策略,管控策略包括预置策略、用户定制策略:
S31、预置策略为系统默认启用的管控策略,如相机、蓝牙,对于存在较高安全风险的设备,可以默认禁用该策略;
S32、用户定制策略为用户自定义的管控策略,当用户需求不同于预置策略,可以通过安卓系统上层的设备管控客户端进行策略调整,比如因特殊安全需要,禁用手机话筒等;
步骤S4:判断有关设备是否可以初始化,执行A或B;
A、如果有关设备已设置为不可用,则不需对该设备进行初始化,该设备不可用;
B、如果有关设备设置为可用,则正常进行设备初始化,初始化完成后设备可用;
步骤S5:继续配置其他设备。
其中:S32中,通过安卓系统上层的设备管控客户端进行策略调整是指,在安卓系统上层的用户空间内还设置有设备管控客户端,将上层的设备管控客户端与底层的设备管控模块结合部署,满足用户自定义设备管控工作的需求,从而为用户提供一种灵活且可靠的设备管控措施。
其中:上层的设备管控客户端与底层的设备管控模块结合部署是指,设备管控模块向设备管控客户端的调用程序提供了两个接口,通过接口下发策略分别用于添加、删除设备信息到管控列表。
其中:上层的设备管控客户端的工作步骤如下:
步骤一:初始化底层的设备管控模块;
步骤二:检查并设置设备管控策略,并调用接口下发策略给设备管控模块;
步骤三:设备管控模块根据管控策略,判断有关设备是否可以初始化,执行A或B;
A、如果有关设备已设置为不可用,则不需对该设备进行初始化,该设备不可用;
B、如果有关设备设置为可用,则正常进行设备初始化,初始化完成后设备可用;
步骤四:设备管控模块通过对应的接口,将执行结果反馈给上层的设备管控客户端。然后执行其他设备。
由于采用了上述技术方案,本发明取得的有益效果是:
1)管控可靠性高
在本发明中,通过内核定制,预置管控策略,可在系统底层完成设备禁用,有效杜绝用户及各类应用访问已禁用设备,避免因潜在上层应用或系统漏洞造成的信息泄露。
2)管控方式灵活
如果需要实施严格设备管控策略,且不会频繁更改策略的用户,只需集成定制内核和预置的管控策略,即可实施设备管控;对于需要定制管控策略的用户,可同时为其集成上层管控客户端,这样用户可以使用管控客户端启用或停用有关设备。
附图说明
图1为本发明提到的现有技术的管控步骤示意图一;
图2为本发明提到的现有技术的管控步骤示意图二;
图3为本发明涉及到的安卓系统整体架构图;
图4为本发明的技术方案管控步骤示意图。
具体实施方式
下面结合实施例对本发明做进一步详细说明。
本发明公开了一种基于内核定制实现安卓系统设备管控的方法,是基于对安卓系统架构进行的。在介绍本方法前,先介绍一下安卓系统的整体架构,如图3所示:包括Linux内核层、硬件抽象层、系统库层、应用框架层、应用程序层。
Linux内核层:Android系统的底层基于Linux内核,内核层提供了操作系统的各种基本功能,各种硬件设备就是由这一层的驱动程序驱动的。
硬件抽象层:主要目的在于将硬件抽象化,隐藏特定平台的硬件接口细节,为上层提供固定统一的接口。
系统库层:包含libc、WebKit等各类核心库以及Android运行时库,为应用框架层提供支持。
应用框架层:提供了构建应用程序时可能用到的各种应用程序接口API,包括相机服务、蓝牙服务、位置服务、USB服务、NFC服务、WIFI服务、设备策略管理服务等。
应用程序层:各类APP都是处于这个层次,如WIFI、相机、位置、录音机、NFC、蓝牙、外部存储设备等。
如前所述,现有的各类设备管控技术,主要是基于应用框架层已有的设备管控接口,或者对有关接口进行定制以满足自身需求,已经越来越不能满足用户的需求了,短板效应明显。
本发明提供了一种基于内核定制的安卓系统设备管控方法,基于对安卓系统架构的理解,研发人员对安卓系统进行了深度定制(下文简称定制系统),如图4所示,通过在定制系统底层的Linux内核层集成定制的设备管控模块,并在设备管控策略文件中预置管控策略,实现对有关设备(自定义设备)功能的安全管控,避免因潜在的上层漏洞造成信息泄露问题。底层内核定制与上层的设备管控客户端结合部署,可以为用户提供一种灵活且可靠的设备管控措施。
如图4所示,本发明技术方案主要由两部分构成:处于安卓系统底层的定制内核空间(包括设备管控模块),位于上层用户空间的设备管控客户端。内核的设备管控模块向上层的设备管控客户端程序提供了两个接口,通过接口下发策略分别用于添加、删除设备信息到管控列表,接口函数功能如下表所示;
表1:内核的设备管控模块接口函数功能说明
为了便于对本发明有进一步了解,下面参照附图详细介绍本发明的技术方案及有益效果。
如图4所示,本发明通过对安卓系统进行深度定制,从内核层实现硬件设备管控,可以抵御潜在的上层漏洞攻击,相对于其他现有技术更为安全可靠。
对于预置设备管控策略的定制系统,在设备初始化期间,内核空间的设备管控模块通过以下步骤完成设备管控工作:
步骤S1:检测设备管控策略文件是否存在,如存在,则将其中的设备信息加入管控列表;
步骤S2:依次设置管控列表的设备;
步骤S3:获取管控列表内有关设备的设备管控策略,设备管控策略包括预置策略、用户定制策略,具体为:
A、预置策略为系统默认启用的管控策略,对于存在较高安全风险的设备,如相机、蓝牙等,可以默认禁用;
B、用户定制策略为用户自定义的管控策略,如用户需求不同于预置策略,可通过安卓系统上层的设备管控客户端进行策略调整,比如因特殊安全需要,禁用手机话筒等;
步骤S4:判断设备是否可以初始化,执行A或B;
A、如果有关设备已设置为不可用,则不需对该设备进行初始化,该设备不可用;
B、如果有关设备设置为可用,则正常进行设备初始化,初始化完成后设备可用;
步骤S5:继续配置其他设备。
对于用户需自定义设备管控策略的情况,可在定制系统的上层部署设备管控客户端,如图4“用户空间”所示。将上层的设备管控客户端与底层的设备管控模块结合部署,满足用户自定义设备管控工作的需求,从而为用户提供一种灵活且可靠的设备管控措施。
上层的设备管控客户端与底层的设备管控模块结合部署是指,设备管控模块向设备管控客户端的调用程序提供了两个接口,通过接口下发策略分别用于添加、删除设备信息到管控列表。
设备管控客户端提供了各种设备的控制开关,用户可根据需要启用/禁用有关设备。
上层的设备管控客户端的工作步骤如下:
步骤一:初始化底层的设备管控模块,检查设备管控策略文件;
步骤二:检查并设置设备D的管控策略,并调用接口下发策略给设备管控模块;
步骤三:设备管控模块根据管控策略,判断有关设备是否可以初始化,执行A或B;
A、如果设备D已设置为不可用,则不需对该设备D进行初始化,该设备D不可用;
B、如果设备D设置为可用,则正常进行设备初始化,初始化完成后设备D可用;
步骤四:设备管控模块通过对应的接口,将执行结果反馈给上层设备管控客户端,并继续配置其他设备,直到完成所有设备的管控。
因此,本发明在Linux内核层集成设备管控模块,实现对系统设备安全管控;同时底层内核定制与上层管控客户端结合,提供了一种灵活可靠的设备管控措施。
机译: 基于安卓系统和手机的功能查询模块的实现方法和系统
机译: 基于安卓系统的红外遥控器的实现方法和装置
机译: 一种用于制造具有用于存储应用程序和库的可重编程非易失性存储器的可定制便携式电子设备的方法,一种可定制便携式电子设备以及用于定制具有非易失性存储器的电子设备的便携式电子设备定制系统。