发明内容
为此,需要提供一种Android系统的分区挂载管控的技术方案,用以解决通过识别用户身份的方式来对分区挂载进行管控,无法保证系统安全的问题。
为实现上述目的,发明人提供了一种Android系统的分区挂载管控方法,包括步骤:
接收分区挂载指令,所述分区挂载指令包括一特征数据及对所述特征数据按预设加密算法做加密处理所得到的加密数据;
以预设加密算法对应的解密算法对所述加密数据做解密处理;
判断经解密处理所得数据是否符合所述特征数据,若是则执行所述分区挂载指令,否则不执行所述分区挂载指令。
进一步地,所述的Android系统的分区挂载管控方法中,所述分区挂载指令为预设分区的挂载指令。
进一步地,所述的Android系统的分区挂载管控方法中,所述特征数据包括随机生成的特征数据或预设的特征数据。
进一步地,所述的Android系统的分区挂载管控方法中,所述预设加密算法包括对称加密算法或非对称加密算法。
进一步地,所述的Android系统的分区挂载管控方法中,当判定经解密处理所得数据不符合所述特征数据时,发出异常提示。
发明人还提供了一种Android系统的分区挂载管控装置,包括指令接收单元、解密单元、判断单元和指令执行单元;
所述指令接收单元用于接收分区挂载指令,所述分区挂载指令包括一特征数据及对所述特征数据按预设加密算法做加密处理所得到的加密数据;
所述解密单元用于以预设加密算法对应的解密算法对所述加密数据做解密处理;
所述判断单元用于判断经解密处理所得数据是否符合所述特征数据;
当判断单元判定经解密处理所得数据符合所述特征数据时,指令执行单元执行所述分区挂载指令;否则指令执行单元不执行所述分区挂载指令。
进一步地,所述的Android系统的分区挂载管控装置中,所述分区挂载指令为预设分区的挂载指令。
进一步地,所述的Android系统的分区挂载管控装置中,所述特征数据包括随机生成的特征数据或预设的特征数据。
进一步地,所述的Android系统的分区挂载管控装置中,所述预设加密算法包括对称加密算法或非对称加密算法。
进一步地,所述的Android系统的分区挂载管控装置还包括提示单元,用于当判断单元判定经解密处理所得数据符合所述特征数据时发出异常提示。
区别于现有技术,上述技术方案通过对特征数据进行加解密的方法来判断分区挂载指令是否被执行,只有当经解密处理所得数据符合特征数据时,才执行分区挂载指令。这样,即使普通用户通过软件工具获得了管理员权限,也无法执行分区挂载指令,无法修改分区的读写权限,也就无法对分区内的数据文件进行增删操作,从而实现了对分区挂载的有效管控,弥补了原有通过识别用户身份的方式来判断是否执行分区挂载指令存在的弊端,进一步增强了系统安全,在软件系统安全技术领域具有广阔的市场前景。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,为本发明一实施方式所述安卓系统的分区保护方法的流程图;所述方法包括如下步骤:
S1、接收分区挂载指令,所述分区挂载指令包括一特征数据及对所述特征数据按预设加密算法做加密处理所得到的加密数据;
S2、以预设加密算法对应的解密算法对所述加密数据做解密处理;
S3、判断经解密处理所得数据是否符合所述特征数据;若是则进入步骤S4,否则进入步骤S5;
S4、执行所述分区挂载指令。
S5、不执行所述分区挂载指令。
本实施方式中,所述分区挂载指令即为mount指令,通过设定mount指令,使得mount函数在被调用时需要输入特征数据和加密数据,所述加密数据是对所述特征数据按预设加密算法做加密处理而得到。而后再以预设加密算法对应的解密算法对所述加密数据做解密处理,进而判断经解密处理所得数据是否符合所述特征数据,若经解密处理后所得数据符合所述特征数据,则执行分区挂载指令,否则不执行分区挂载指令。由于预设加密算法以及其对应的解密算法是事先设定于Android系统的内核框架中,因而只有预定义的合法用户(如init进程)才可知晓,进而使得预定义合法用户在调用mount函数时,输入的加密数据在经过预设加密算法对应的解密算法处理后,所得到的数据符合所述特征数据,进而执行所述分区挂载指令。而一旦是非法用户,例如通过root工具获得root权限用户(超级管理员用户),因为不知晓所预先设定的加密算法和解密算法,在其进行分区挂载操作时,输入的加密数据经过加密算法对应的解密算法处理后,所得到的数据将不会符合特征数据,系统也就不会执行分区挂载指令。简言之,只要是非法用户,由于不知晓预设的加密算法和解密算法,即使获得了管理员权限(如root权限),也无法执行分区挂载指令,从而使得非法用户获得的管理员权限无效,起到保护分区文件安全的作用。
本实施方式中,所述分区挂载指令为预设分区的挂载指令。预设分区即为受保护的分区,可以通过在预设分区的目录下建立一文件节点,在此文件节点中写入表明该预设分区为受保护分区的特定字符信息,也就是说,所述文件节点中的该特定字符信息是一种标识信息,所述标识信息用于表明所述分区为受保护分区。在其他实施方式中,对预设分区添加标识信息还可以是其他方案,如在预设分区的目录下建立文件节点,所述文件节点用于标识所述分区为受保护分区;或在预设分区的名称中添加标识信息,所述标识信息用于表明所述目录为受保护分区。简言之,就是对需要保护的分区做一定的标识信息添加处理,从而使得该分区具有可被系统辨识的特征,从而在实际操作过程中能根据该特征判断分区是否为需要保护的分区。系统在进行分区挂载操作时,首先需要扫描并判断分区是否有包括标识信息的文件节点,若是则认为需要保护该分区,当执行该分区挂载指令时,需要调用者输入特征数据及其对应的加密数据;若不是,则认为该分区不受保护,不需要调用者输入特征数据及其对应的加密数据,正常执行该mount指令所规定的操作。
所述特征数据包括随机生成的特征数据或预设的特征数据。特征数据可以为一串字符串,也可以为一个数值。本实施方式中,随机生成的特征数据为随机数,可以通过随机数生成函数或随机数生成软件得到,由于每次生成的随机数不尽相同,因而使得经过预设的加密算法进行加密处理后得到的加密数据也不尽相同,由加密数据经过加密算法对应的解密算法进行解密处理后得到的数据也不相同,从而提高了算法的安全性。预设的特征数据为系统事先预设的特征数据,只有预定义的合法用户(如init进程)才得以知晓,非法用户由于无法知晓预设特征数据,因而在调用mount函数时无法输入预设的特征数据,也就无法执行分区挂载指令。
所述预设加密算法包括对称加密算法或非对称加密算法。对称加密算法是指加密和解密采用同一密钥的加密算法,密钥不对外公开。在使用对称加密算法对特征数据进行加密处理时,系统只将密钥传输给合法用户,合法用户知晓密钥后可以用该密钥对加密数据进行解密处理,由于密钥是系统传输的,因而经过解密处理后的数据符合特征数据,进而执行分区挂载操作,而非法用户无法知晓该密钥,所输入的加密数据经过解密处理后得到的数据当然也就不符合特征数据,从而无法执行分区挂载操作。对称加密算法由于算法简单,因而在进行加密或解密操作时,速度较快,但由于需要传输密钥给合法用户,因而安全性较弱。因而在本实施方式中,预设加密算法为非对称加密算法。非对称加密算法是指加密和解密使用不同密钥的加密算法,通常包含有两个密钥:公钥和私钥,其中公钥对外公开,而私钥不对外公开。在使用非对称加密算法对特征数据进行加密处理时,由于公钥是对外公开,合法用户首先用系统的公钥对输入的特征数据进行加密,系统收到加密后的特征数据后,会用系统自己的私钥对加密后的特征数据进行解密,由于系统知晓自己的公钥和私钥,因而经过解密处理后的数据符合特征数据,进而执行分区挂载指令;而对于非法用户,由于无法知晓系统的私钥,因而经过解密处理后的数据将不符合特征数据,从而无法进行分区挂载指令。非对称加密算法复杂度高,避免了对称加密算法因为传输密钥而容易被截获的安全隐患,大大提高了算法的安全性,从而提高了分区的安全性。
在本实施方式中,当判定经解密处理所得数据不符合所述特征数据时,发出异常提示。如果经解密处理所得数据不符合所述特征数据,则可以判断出调用mount函数进行分区挂载操作的是非法用户,有可能是由于用户进行非法操作或病毒木马入侵而导致,系统将不执行分区挂载指令,同时发出异常提示,以便用户提高警惕,停止继续非法操作或者使用杀毒软件对分区进行扫描,从而排除系统的安全隐患,保护分区文件的安全。
挂载指令由于可以修改分区的读写权限,进而修改分区文件的内容,因而Android系统对挂载指令有严格的用户权限控制,一般只有管理员权限用户才可以调用mount函数,对分区进行挂载操作。然而一旦用户可以通过软件工具(如root工具)获取了管理员权限,就可以对Android系统分区进行重新挂载,修改分区的读写权限,如操作不当将影响系统的正常运作。不仅如此,一旦病毒木马获得管理员权限后,则可以肆意删改分区文件,这对Android系统来说无疑是灭顶之灾。
上述技术方案通过对特征数据进行加解密的方法来判断分区挂载指令是否被执行,只有当经解密处理所得数据符合特征数据时,才执行分区挂载指令。这样,即使普通用户通过软件工具获得了管理员权限,也无法执行分区挂载指令,无法修改分区的读写权限,也就无法对分区内的数据文件进行增删操作,从而实现了对分区挂载的有效管控,弥补了原有通过识别用户身份的方式来判断是否执行分区挂载指令存在的弊端,进一步增强了系统安全,在软件系统安全技术领域具有广阔的市场前景。
请参阅图2,为本发明一实施方式所述Android系统的分区挂载管控装置的结构示意图。所述装置包括指令接收单元1、解密单元2、判断单元3和指令执行单元4;
所述指令接收单元1用于接收分区挂载指令,所述分区挂载指令包括一特征数据及对所述特征数据按预设加密算法做加密处理所得到的加密数据;
所述解密单元2用于以预设加密算法对应的解密算法对所述加密数据做解密处理;
所述判断单元3用于判断经解密处理所得数据是否符合所述特征数据;
当判断单元3判定经解密处理所得数据符合所述特征数据时,指令执行单元4执行所述分区挂载指令;否则指令执行单元4不执行所述分区挂载指令。
具体地,所述安卓系统的分区保护装置执行安卓系统分区保护功能的方式步骤如下:
S1、接收分区挂载指令,所述分区挂载指令包括一特征数据及对所述特征数据按预设加密算法做加密处理所得到的加密数据;
S2、以预设加密算法对应的解密算法对所述加密数据做解密处理;
S3、判断经解密处理所得数据是否符合所述特征数据;若是则进入步骤S4,否则进入步骤S5;
S4、执行所述分区挂载指令。
S5、不执行所述分区挂载指令。
本实施方式中,所述分区挂载指令即为mount指令,通过设定mount指令,使得mount函数在被调用时需要输入特征数据和加密数据。在使用Android系统的分区挂载装置时,首先指令接收单元1接收分区挂载指令,所述分区挂载指令包括一特征数据及对所述特征数据按预设加密算法做加密处理所得到的加密数据,而后解密单元2以预设加密算法对应的解密算法对所述加密数据做解密处理,而后判断单元3判断经解密处理所得数据是否符合所述特征数据,当判断单元3判定经解密处理所得数据符合所述特征数据时,指令执行单元4执行所述分区挂载指令;否则指令执行单元4不执行所述分区挂载指令。由于预设加密算法以及其对应的解密算法是事先设定于Android系统的内核框架中,因而只有预定义的合法用户(如init进程)才可知晓,进而使得预定义合法用户在调用mount函数时,指令接收单元1接收的加密数据在经解密单元2处理后,判断单元3将判定所得到的数据符合所述特征数据,进而指令执行单元4执行所述分区挂载指令。而一旦是非法用户,例如通过root工具获得root权限用户(超级管理员用户),因为不知晓所预先设定的加密算法和解密算法,在其进行分区挂载操作时,指令接收单元1接收的加密数据在经解密单元2处理后,判断单元3将判定所得到的数据不符合特征数据,指令执行单元4也就不会执行分区挂载指令。简言之,只要是非法用户,由于不知晓预设的加密算法和解密算法,即使获得了管理员权限(如root权限),也无法执行分区挂载指令,从而使得非法用户获得的管理员权限无效,起到保护分区文件安全的作用。
本实施方式中,所述分区挂载指令为预设分区的挂载指令。预设分区即为受保护的分区,可以通过在预设分区的目录下建立一文件节点,在此文件节点中写入表明该预设分区为受保护分区的特定字符信息,也就是说,所述文件节点中的该特定字符信息是一种标识信息,所述标识信息用于表明所述分区为受保护分区。在其他实施方式中,对预设分区添加标识信息还可以是其他方案,如在预设分区的目录下建立文件节点,所述文件节点用于标识所述分区为受保护分区;或在预设分区的名称中添加标识信息,所述标识信息用于表明所述目录为受保护分区。简言之,就是对需要保护的分区做一定的标识信息添加处理,从而使得该分区具有可被系统辨识的特征,从而在实际操作过程中能根据该特征判断分区是否为需要保护的分区。系统在进行分区挂载操作时,首先需要扫描并判断分区是否有包括标识信息的文件节点,若是则认为需要保护该分区,当执行该分区挂载指令时,需要调用者输入特征数据及其对应的加密数据;若不是,则认为该分区不受保护,不需要调用者输入特征数据及其对应的加密数据,正常执行该mount指令所规定的操作。
所述特征数据包括随机生成的特征数据或预设的特征数据。特征数据可以为一串字符串,也可以为一个数值。本实施方式中,随机生成的特征数据为随机数,可以通过随机数生成函数或随机数生成软件得到,由于每次生成的随机数不尽相同,因而使得经过预设的加密算法进行加密处理后得到的加密数据也不尽相同,由加密数据经过加密算法对应的解密算法进行解密处理后得到的数据也不相同,从而提高了算法的安全性。预设的特征数据为系统事先预设的特征数据,只有预定义的合法用户(如init进程)才得以知晓,非法用户由于无法知晓预设特征数据,因而在调用mount函数时无法输入预设的特征数据,也就无法执行分区挂载指令。
所述预设加密算法包括对称加密算法或非对称加密算法。对称加密算法是指加密和解密采用同一密钥的加密算法,密钥不对外公开。在使用对称加密算法对特征数据进行加密处理时,系统只将密钥传输给合法用户,合法用户知晓密钥后可以用该密钥对加密数据进行解密处理,由于密钥是系统传输的,因而经过解密处理后的数据符合特征数据,进而执行分区挂载操作,而非法用户无法知晓该密钥,所输入的加密数据经过解密处理后得到的数据当然也就不符合特征数据,从而无法执行分区挂载操作。对称加密算法由于算法简单,因而在进行加密或解密操作时,速度较快,但由于需要传输密钥给合法用户,因而安全性较弱。因而在本实施方式中,预设加密算法为非对称加密算法。非对称加密算法是指加密和解密使用不同密钥的加密算法,通常包含有两个密钥:公钥和私钥,其中公钥对外公开,而私钥不对外公开。在使用非对称加密算法对特征数据进行加密处理时,由于公钥是对外公开,合法用户首先用系统的公钥对输入的特征数据进行加密,系统收到加密后的特征数据后,会用系统自己的私钥对加密后的特征数据进行解密,由于系统知晓自己的公钥和私钥,因而经过解密处理后的数据符合特征数据,进而执行分区挂载指令;而对于非法用户,由于无法知晓系统的私钥,因而经过解密处理后的数据将不符合特征数据,从而无法进行分区挂载指令。非对称加密算法复杂度高,避免了对称加密算法因为传输密钥而容易被截获的安全隐患,大大提高了算法的安全性,从而提高了分区的安全性。
在本实施方式中,当判定经解密处理所得数据不符合所述特征数据时,发出异常提示。如果经解密处理所得数据不符合所述特征数据,则可以判断出调用mount函数进行分区挂载操作的是非法用户,有可能是由于用户进行非法操作或病毒木马入侵而导致,系统将不执行分区挂载指令,同时发出异常提示,以便用户提高警惕,停止继续非法操作或者使用杀毒软件对分区进行扫描,从而排除系统的安全隐患,保护分区文件的安全。
挂载指令由于可以修改分区的读写权限,进而修改分区文件的内容,因而Android系统对挂载指令有严格的用户权限控制,一般只有管理员权限用户才可以调用mount函数,对分区进行挂载操作。然而一旦用户可以通过软件工具(如root工具)获取了管理员权限,就可以对Android系统分区进行重新挂载,修改分区的读写权限,如操作不当将影响系统的正常运作。不仅如此,一旦病毒木马获得管理员权限后,则可以肆意删改分区文件,这对Android系统来说无疑是灭顶之灾。
上述技术方案通过对特征数据进行加解密的方法来判断分区挂载指令是否被执行,只有当经解密处理所得数据符合特征数据时,才执行分区挂载指令。这样,即使普通用户通过软件工具获得了管理员权限,也无法执行分区挂载指令,无法修改分区的读写权限,也就无法对分区内的数据文件进行增删操作,从而实现了对分区挂载的有效管控,弥补了原有通过识别用户身份的方式来判断是否执行分区挂载指令存在的弊端,进一步增强了系统安全,在软件系统安全技术领域具有广阔的市场前景。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。