CN106169042A - 管理权限的方法及装置 - Google Patents
管理权限的方法及装置 Download PDFInfo
- Publication number
- CN106169042A CN106169042A CN201610513621.9A CN201610513621A CN106169042A CN 106169042 A CN106169042 A CN 106169042A CN 201610513621 A CN201610513621 A CN 201610513621A CN 106169042 A CN106169042 A CN 106169042A
- Authority
- CN
- China
- Prior art keywords
- connection request
- authorization
- root
- client
- side program
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种管理权限的方法及装置,该方法包括:在用户模式下,使具有Root权限的服务进程监听客户端程序是否有发起连接请求,连接请求中包括Root权限的操作请求;若监听并接收到客户端程序发起的连接请求,则判断连接请求是否具有Root操作权限;若连接请求具有Root操作权限,则使具有Root权限的服务进程执行Root权限的操作请求。通过上述方式,本发明能够在用户模式下,可以执行一些只能在Root权限下才能进行的操作,并可控制地执行Root权限的操作请求。
Description
技术领域
本发明涉及移动终端安全技术领域,特别是涉及一种管理权限的方法及装置。
背景技术
安卓(Android)系统是Google公司领导开发的一种基于Linux的开源操作系统,主要适用于移动终端,如智能手机、平板电脑等。Android采用层次化系统架构,它基于Linux内核,由底层往上分为4个主要的功能层,分别是Linux内核层、系统运行库层、应用程序框架层以及应用程序层。Root是Linux系统中的超级用户,它拥有对整个系统的最高权限。厂商出售给最终消费者的手机、平板等移动终端,出于安全考虑,一般都是限制用户权限的。用户权限基本不能修改系统应用,不能修改系统的配置,也不能卸载或删除系统固化的应用。但是获取了Root权限后,可以直接修改系统应用,甚至替换系统用户界面(SystemUI)等。
移动终端厂商的工程师在开发设备的时候,使用Eng开发模式,该模式下能够使用Root权限进行一些操作。但出厂的时候,厂商都会发布User模式的系统镜像,这种情况下设备处于User模式。厂商为了保护自己的系统,不开放Root权限。
但是有时候第三方开发者拿厂商的发布设备进行二次开发,以及做一些系统定制化的修改。第三方客户用厂家设备定制开发时候,一般都希望拿到系统是最终面向终端客户发布版本的系统,但又希望厂商能够提供一些特殊接口,供他们执行一些只能在Root权限下才能进行的操作。
发明内容
本发明主要解决的技术问题是提供一种管理权限的方法及装置,能够在用户模式下,能够在用户模式下,可以执行一些只能在Root权限下才能进行的操作,并可控制地执行Root权限的操作请求。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种管理权限的方法,所述方法包括:在用户模式下,使具有Root权限的服务进程监听客户端程序是否有发起连接请求,所述连接请求中包括Root权限的操作请求;若监听并接收到所述客户端程序发起的连接请求,则判断所述连接请求是否具有Root操作权限;若所述连接请求具有Root操作权限,则使所述具有Root权限的服务进程执行所述Root权限的操作请求。
其中,所述若监听并接收到所述客户端程序发起的连接请求,则判断所述连接请求是否具有Root操作权限的步骤之前,所述方法还包括:使所述客户端程序接收第三方应用程序或用户发起的所述Root权限的操作请求,并向所述具有Root权限的服务进程发起所述连接请求。
其中,所述若所述连接请求具有Root操作权限,则使所述具有Root权限的服务进程执行所述Root权限的操作请求的步骤之后,所述方法还包括:使所述具有Root权限的服务进程将执行结果返回给所述客户端程序,以使得所述客户端程序将所述执行结果转发给所述第三方应用程序或提示给所述用户。
其中,所述若监听并接收到所述客户端程序发起的连接请求,则判断所述连接请求是否具有Root操作权限的步骤,包括:若发起所述连接请求的是所述第三方应用程序,则获取所述第三方应用程序对应的进程名和用户标识符值;判断所述第三方应用程序对应的进程名和用户标识符值是否在白名单程序列表中;若在所述白名单程序列表中,则确定所述连接请求具有Root操作权限,若不在所述白名单程序列表中,则判断所述连接请求是否拥有使用所述客户端程序的授权许可;若所述连接请求拥有使用所述客户端程序的授权许可,且所述授权许可在授权有效期内,则确定所述连接请求具有Root操作权限,若所述连接请求不拥有使用所述客户端程序的授权许可,或所述授权许可不在授权有效期内,则确定所述连接请求不具有Root操作权限。
其中,所述判断所述连接请求是否拥有使用所述客户端程序的授权许可的步骤,包括:若存在授权许可文件,则判断所述连接请求拥有使用所述客户端程序的授权许可,否则,判断所述连接请求不拥有使用所述客户端程序的授权许可;利用所述授权许可文件对应的公钥对所述授权许可文件进行解密;从解密后的授权许可文件中读取设备序列号、授权有效期以及剩余的授权使用次数;若所述设备序列号与移动终端本身的序列号匹配,且所述授权有效期未过期、所述剩余的授权使用次数大于0,则判断所述授权许可文件为有效的授权许可文件,所述连接请求拥有使用所述客户端程序的授权许可,否则,判断所述授权许可文件为无效的授权许可文件,所述连接请求不拥有使用所述客户端程序的授权许可。
其中,所述若存在授权许可文件,则判断所述连接请求拥有使用所述客户端程序的授权许可之前,所述方法还包括:利用非对称加密方法,通过私钥对移动终端的设备序列号、预定的授权有效期以及预定的授权使用次数组成的字符串进行加密;将加密后的数据保存在一文件中,所述保存有加密后的数据的文件即为所述授权许可文件。
其中,所述若监听并接收到所述客户端程序发起的连接请求,则判断所述连接请求是否具有Root操作权限的步骤,包括:若发起所述连接请求的是所述第三方应用程序,则获取所述第三方应用程序对应的进程名和用户标识符值;判断所述第三方应用程序对应的进程名和用户标识符值是否在黑名单程序列表中;若在所述黑名单程序列表中,则确定所述连接请求不具有Root操作权限。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种管理权限的装置,所述装置包括:监听模块,用于在用户模式下,使具有Root权限的服务进程监听客户端程序是否有发起连接请求,所述连接请求中包括Root权限的操作请求;判断模块,用于在监听并接收到所述客户端程序发起的连接请求时,判断所述连接请求是否具有Root操作权限;执行模块,用于在所述连接请求具有Root操作权限时,使所述具有Root权限的服务进程执行所述Root权限的操作请求。
其中,所述装置还包括:接收与发起模块,用于使所述客户端程序接收第三方应用程序或用户发起的所述Root权限的操作请求,并向所述具有Root权限的服务进程发起所述连接请求。
其中,所述装置还包括:返回模块,用于使所述具有Root权限的服务进程将执行结果返回给所述客户端程序,以使得所述客户端程序将所述执行结果转发给所述第三方应用程序或提示给所述用户。
其中,所述判断模块包括:第一获取单元,用于在发起所述连接请求的是所述第三方应用程序时,获取所述第三方应用程序对应的进程名和用户标识符值;第一判断单元,用于判断所述第三方应用程序对应的进程名和用户标识符值是否在白名单程序列表中;第一确定单元,用于若在所述白名单程序列表中,则确定所述连接请求具有Root操作权限,若不在所述白名单程序列表中,则判断所述连接请求是否拥有使用所述客户端程序的授权许可;第二确定单元,用于若所述连接请求拥有使用所述客户端程序的授权许可,且所述授权许可在授权有效期内,则确定所述连接请求具有Root操作权限,若所述连接请求不拥有使用所述客户端程序的授权许可,或所述授权许可不在授权有效期内,则确定所述连接请求不具有Root操作权限。
其中,所述第一确定单元还包括:判断子单元,用于若存在授权许可文件,则判断所述连接请求拥有使用所述客户端程序的授权许可,否则,判断所述连接请求不拥有使用所述客户端程序的授权许可;解密子单元,用于利用所述授权许可文件对应的公钥对所述授权许可文件进行解密;读取子单元,用于从解密后的授权许可文件中读取设备序列号、授权有效期以及剩余的授权使用次数;判断结果子单元,用于若所述设备序列号与移动终端本身的序列号匹配,且所述授权有效期未过期、所述剩余的授权使用次数大于0,则判断所述授权许可文件为有效的授权许可文件,所述连接请求拥有使用所述客户端程序的授权许可,否则,判断所述授权许可文件为无效的授权许可文件,所述连接请求不拥有使用所述客户端程序的授权许可。
其中,所述装置还包括:加密模块,用于利用非对称加密方法,通过私钥对移动终端的设备序列号、预定的授权有效期以及预定的授权使用次数组成的字符串进行加密;授权许可文件获得模块,用于将加密后的数据保存在一文件中,所述保存有加密后的数据的文件即为所述授权许可文件。
其中,所述判断模块包括:第二获取单元,用于若发起所述连接请求的是所述第三方应用程序,则获取所述第三方应用程序对应的进程名和用户标识符值;第二判断单元,用于判断所述第三方应用程序对应的进程名和用户标识符值是否在黑名单程序列表中;第三确定单元,用于若在所述黑名单程序列表中,则确定所述连接请求不具有Root操作权限。
本发明的有益效果是:区别于现有技术的情况,本发明在用户模式下,使具有Root权限的服务进程监听客户端程序是否有发起连接请求,连接请求中包括Root权限的操作请求;若监听并接收到客户端程序发起的连接请求,则判断连接请求是否具有Root操作权限;若连接请求具有Root操作权限,则使具有Root权限的服务进程执行Root权限的操作请求。由于在用户模式下,通过客户端程序向具有Root权限的服务进程发起携带Root权限的操作请求的连接请求,在连接请求具有Root操作权限时,具有Root权限的服务进程执行Root权限的操作请求,通过这种方式,能够在用户模式下,可以执行一些只能在Root权限下才能进行的操作,并可控制地执行Root权限的操作请求。
附图说明
图1是本发明管理权限的方法一实施方式的流程图;
图2是本发明管理权限的方法的基本架构示意图;
图3是本发明管理权限的方法另一实施方式的流程图;
图4是本发明管理权限的方法又一实施方式的流程图;
图5是本发明管理权限的方法又一实施方式的流程图;
图6是本发明管理权限的方法又一实施方式的流程图;
图7是本发明管理权限的方法又一实施方式的流程图;
图8是本发明管理权限的方法又一实施方式的流程图;
图9是本发明管理权限的装置一实施方式的结构示意图;
图10是本发明管理权限的装置另一实施方式的结构示意图;
图11是本发明管理权限的装置又一实施方式的结构示意图;
图12是本发明管理权限的装置又一实施方式的结构示意图;
图13是本发明管理权限的装置又一实施方式的结构示意图;
图14是本发明管理权限的装置又一实施方式的结构示意图;
图15是本发明管理权限的装置又一实施方式的结构示意图。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明。
参阅图1,图1是本发明管理权限的方法一实施方式的流程图,该方法包括:
步骤S101:在用户模式下,使具有Root权限的服务进程监听客户端程序是否有发起连接请求,连接请求中包括Root权限的操作请求。
参见图2,图2是本发明管理权限的方法的基本架构示意图。
在用户模式下的移动终端系统中,首先,可以在终端上设置一个具有Root权限的服务进程,移动终端在系统启动的时候,启动该服务进程.
在Android系统init.rc中定义很多服务进程Service,具体定义格式可以参考《Android Platform Developer’s Guide》中的“Android Init Language”。init.rc中定义的服务进程Service将会被init进程创建,这样该创建的服务进程将可以获得Root权限,因此,该具有Root权限的服务进程可以是预先在init.rc中定义并被init进程创建的服务进程,当然,Root权限的服务进程创建必须是Android系统开发人员,否则无法修改init.rc文件。
由于该服务进程设置的权限是具有Root权限,因此,该服务进程可以执行Root权限的操作请求。
客户端程序是一些执行Root权限的命令、操作、参数等的集合,用于与具有Root权限的服务进程进行交互。设置好该客户端程序后,用户可以通过在客户端程序上执行Root权限的命令或者操作;用户移动终端上的其他第三方应用程序也可以通过在软件里执行shell脚本或命令的方法,把需要执行的Root权限操作作为参数传递给该客户端程序,客户端程序接收到后,然后和具有Root权限的服务进程通信,把用户的上述Root权限的操作请求转发给该具有Root权限的服务进程去执行。
其中,这里客户端程序和具有Root权限的服务进程通信的方法可以有很多种,常见的进程间通信方法都可以使用,包括管道、socket等。
如果需要执行Root权限的操作请求,用户或第三方应用程序可以通过客户端程序向该服务进程发起连接请求,连接请求中携带Root权限的操作请求。因此,在用户模式下,可以使该服务进程监听客户端程序是否有发起连接请求,连接请求中包括Root权限的操作请求。
步骤S102:若监听并接收到客户端程序发起的连接请求,则判断连接请求是否具有Root操作权限。
如果服务进程监听到客户端发起的连接请求,请接收到该连接请求,则需要判断该连接请求是否具有Root操作权限,以实现在用户模式下,对Root权限的操作请求的管控,防止Root权限的操作请求被恶意使用、被滥用或过度使用等所带来的安全隐患问题。
步骤S103:若连接请求具有Root操作权限,则使具有Root权限的服务进程执行Root权限的操作请求。
如果该连接请求具有Root操作权限,说明该连接请求是被授权的、是被允许的、是受控制的具有Root操作权限的请求,此时,可以使具有Root权限的服务进程执行Root权限的操作请求。
本发明实施方式在用户模式下,使具有Root权限的服务进程监听客户端程序是否有发起连接请求,连接请求中包括Root权限的操作请求;若监听并接收到客户端程序发起的连接请求,则判断连接请求是否具有Root操作权限;若连接请求具有Root操作权限,则使具有Root权限的服务进程执行Root权限的操作请求。由于在用户模式下,通过客户端程序向具有Root权限的服务进程发起携带Root权限的操作请求的连接请求,在连接请求具有Root操作权限时,具有Root权限的服务进程执行Root权限的操作请求,通过这种方式,能够在用户模式下,可以执行一些只能在Root权限下才能进行的操作,并可控制地执行Root权限的操作请求。
其中,参见图3,步骤S102之前,该方法还包括:
步骤S104:使客户端程序接收第三方应用程序或用户发起的Root权限的操作请求,并向具有Root权限的服务进程发起连接请求。
用户或第三方应用程序向客户端程序发起Root权限的操作请求,客户端程序接收到Root权限的操作请求后,向具有Root权限的服务进程发起连接请求。
参见图4,步骤S103之后,该方法还包括:
步骤S105:使具有Root权限的服务进程将执行结果返回给客户端程序,以使得客户端程序将执行结果转发给第三方应用程序或提示给用户。
当具有Root权限的服务进程执行Root权限的操作请求之后,可以将执行结果通过客户端程序返回给第三方应用程序或用户,从而使得第三方应用程序或用户得知执行的结果,进而增加用户体验。
参见图5,步骤S102具体可以包括:子步骤S1021、子步骤S1022、子步骤S1023、子步骤S1024、子步骤S1025以及子步骤S1026。
子步骤S1021:若发起连接请求的是第三方应用程序,则获取第三方应用程序对应的进程名和用户标识符值。
子步骤S1022:判断第三方应用程序对应的进程名和用户标识符值是否在白名单程序列表中。
为了对第三方应用程序通过客户端程序调用具有Root权限的服务进程进行限制,在移动终端中可以设置白名单程序列表,白名单程序列表上保存具有调用具有Root权限的服务进程的第三方应用程序对应的进程名和用户标识符值。在移动终端启动时,初始化白名单程序列表。如果是第三方应用程序发起的连接请求,则读取该第三方应用程序对应的进程名和用户标识符值,查找白名单程序列表,看读取的进程名和用户标识符值是否在白名单程序列表中。
进一步地,白名单程序列表中的程序可以进行增、删等操作,以使得用户可以随时设定应用程序哪些可以调用具有Root权限的服务进程,具有相应的Root权限。
由于Root权限关系到用户的数据安全和隐私安全,因此在用户增加白名单程序列表中的程序时,可以提示用户,这是比较危险的操作行为,以便提示用户使之具有足够的安全防护意识。在白名单程序列表中删除应用程序时,可不提示。
子步骤S1023:若在白名单程序列表中,则确定连接请求具有Root操作权限。
子步骤S1024:若不在白名单程序列表中,则判断连接请求是否拥有使用客户端程序的授权许可。
如果在,则表明该第三方应用程序可以调用具有Root权限的服务进程,该连接请求具有Root操作权限;如果不在,则不管发起连接请求的是第三方应用程序还是用户,均继续判断该连接请求是否拥有使用客户端程序的授权许可。
子步骤S1025:若连接请求拥有使用客户端程序的授权许可,且授权许可在授权有效期内,则确定连接请求具有Root操作权限。
子步骤S1026:若连接请求不拥有使用客户端程序的授权许可,或授权许可不在授权有效期内,则确定连接请求不具有Root操作权限。
通过上述方式,可以很好地管控连接请求是否具有Root操作权限,从而保证有限制地开放Root操作权限。
其中,参见图6,在子步骤S1024中,判断连接请求是否拥有使用客户端程序的授权许可的步骤,包括:子步骤S10241、子步骤S10242、子步骤S10243以及子步骤S10244。
子步骤S10241:若存在授权许可文件,则判断连接请求拥有使用客户端程序的授权许可,否则,判断连接请求不拥有使用客户端程序的授权许可。
子步骤S10242:利用授权许可文件对应的公钥对授权许可文件进行解密。
子步骤S10243:从解密后的授权许可文件中读取设备序列号、授权有效期以及剩余的授权使用次数。
子步骤S10244:若设备序列号与移动终端本身的序列号匹配,且授权有效期未过期、剩余的授权使用次数大于0,则判断授权许可文件为有效的授权许可文件,连接请求拥有使用客户端程序的授权许可,否则,判断授权许可文件为无效的授权许可文件,连接请求不拥有使用客户端程序的授权许可。
参见图7,子步骤S10241之前,该方法还包括:步骤S201和步骤S202。
步骤S201:利用非对称加密方法,通过私钥对移动终端的设备序列号、预定的授权有效期以及预定的授权使用次数组成的字符串进行加密。
步骤S202:将加密后的数据保存在一文件中,保存有加密后的数据的文件即为授权许可文件。
参见图8,步骤S102还可以包括:子步骤S1025、子步骤S1026以及子步骤S1027。
子步骤S1025:若发起连接请求的是第三方应用程序,则获取第三方应用程序对应的进程名和用户标识符值。
子步骤S1026:判断第三方应用程序对应的进程名和用户标识符值是否在黑名单程序列表中。
子步骤S1027:若在黑名单程序列表中,则确定连接请求不具有Root操作权限。
移动终端设置黑名单程序列表,有些危害性较大的程序可能在后台私自调用具有Root权限的服务进程,因此可以在黑名单程序列表中添加予以禁止,在移动终端启动时,初始化黑名单程序列表。
同样地,黑名单程序列表也可以进行增、删等操作,还可以是系统自动收集后台私自去调用具有Root权限的服务进程的应用程序信息,更新添加到该黑名单程序列表中;可以对黑名单程序列表中某些调用具有Root权限的服务器进程的频率较高的(例如超过某一设定的阈值),或者,还可以从网络获取恶意应用程序目录,添加到该黑名单程序列表中,在用户从该黑名单应用程序列表中删除这些应用程序时,还可以对用户进行提示,提示用户该应用程序使用Root权限的风险,以便用户充分了解,即时做好预防。
参见图9,图9是本发明管理权限的装置一实施方式的结构示意图,本实施方法的装置可以执行上述方法中的步骤,相关内容的详细说明请参见上述方法部分,在此不再赘叙。
该装置包括:监听模块101、判断模块102以及执行模块103。
监听模块101用于在用户模式下,使具有Root权限的服务进程监听客户端程序是否有发起连接请求,连接请求中包括Root权限的操作请求。
判断模块102用于在监听并接收到客户端程序发起的连接请求时,判断连接请求是否具有Root操作权限。
执行模块103用于在连接请求具有Root操作权限时,使具有Root权限的服务进程执行Root权限的操作请求。
本发明实施方式在用户模式下,使具有Root权限的服务进程监听客户端程序是否有发起连接请求,连接请求中包括Root权限的操作请求;若监听并接收到客户端程序发起的连接请求,则判断连接请求是否具有Root操作权限;若连接请求具有Root操作权限,则使具有Root权限的服务进程执行Root权限的操作请求。由于在用户模式下,通过客户端程序向具有Root权限的服务进程发起携带Root权限的操作请求的连接请求,在连接请求具有Root操作权限时,具有Root权限的服务进程执行Root权限的操作请求,通过这种方式,能够在用户模式下,可以执行一些只能在Root权限下才能进行的操作,并可控制地执行Root权限的操作请求。
参见图10,该装置还包括:接收与发起模块104。
接收与发起模块104用于使客户端程序接收第三方应用程序或用户发起的Root权限的操作请求,并向具有Root权限的服务进程发起连接请求。
参见图11,该装置还包括:返回模块105。
返回模块105用于使具有Root权限的服务进程将执行结果返回给客户端程序,以使得客户端程序将执行结果转发给第三方应用程序或提示给用户。
参见图12,判断模块102可以包括:第一获取单元1021、第一判断单元1022、第一确定单元1023以及第二确定单元1024。
第一获取单元1021用于在发起连接请求的是第三方应用程序时,获取第三方应用程序对应的进程名和用户标识符值。
第一判断单元1022用于判断第三方应用程序对应的进程名和用户标识符值是否在白名单程序列表中。
第一确定单元1023用于若在白名单程序列表中,则确定连接请求具有Root操作权限,若不在白名单程序列表中,则判断连接请求是否拥有使用客户端程序的授权许可。
第二确定单元1024用于若连接请求拥有使用客户端程序的授权许可,且授权许可在授权有效期内,则确定连接请求具有Root操作权限,若连接请求不拥有使用客户端程序的授权许可,或授权许可不在授权有效期内,则确定连接请求不具有Root操作权限。
其中,参见图13,第一确定单元1023可以包括:判断子单元10231、解密子单元10232、读取子单元10233以及判断结果子单元10234。
判断子单元10231用于若存在授权许可文件,则判断连接请求拥有使用客户端程序的授权许可,否则,判断连接请求不拥有使用客户端程序的授权许可。
解密子单元10232用于利用授权许可文件对应的公钥对授权许可文件进行解密。
读取子单元10233用于从解密后的授权许可文件中读取设备序列号、授权有效期以及剩余的授权使用次数。
判断结果子单元10234用于若设备序列号与移动终端本身的序列号匹配,且授权有效期未过期、剩余的授权使用次数大于0,则判断授权许可文件为有效的授权许可文件,连接请求拥有使用客户端程序的授权许可,否则,判断授权许可文件为无效的授权许可文件,连接请求不拥有使用客户端程序的授权许可。
参见图14,该装置还包括:加密模块201和授权许可文件获得模块202。
加密模块201用于利用非对称加密方法,通过私钥对移动终端的设备序列号、预定的授权有效期以及预定的授权使用次数组成的字符串进行加密。
授权许可文件获得模块202用于将加密后的数据保存在一文件中,保存有加密后的数据的文件即为授权许可文件。
参见图15,判断模块102还可以包括:第二获取单元1025、第二判断单元1026以及第三确定单元1027。
第二获取单元1025用于若发起连接请求的是第三方应用程序,则获取第三方应用程序对应的进程名和用户标识符值。
第二判断单元1026用于判断第三方应用程序对应的进程名和用户标识符值是否在黑名单程序列表中。
第三确定单元1027用于若在黑名单程序列表中,则确定连接请求不具有Root操作权限。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (14)
1.一种管理权限的方法,其特征在于,所述方法包括:
在用户模式下,使具有Root权限的服务进程监听客户端程序是否有发起连接请求,所述连接请求中包括Root权限的操作请求;
若监听并接收到所述客户端程序发起的连接请求,则判断所述连接请求是否具有Root操作权限;
若所述连接请求具有Root操作权限,则使所述具有Root权限的服务进程执行所述Root权限的操作请求。
2.根据权利要求1所述的方法,其特征在于,所述若监听并接收到所述客户端程序发起的连接请求,则判断所述连接请求是否具有Root操作权限的步骤之前,所述方法还包括:
使所述客户端程序接收第三方应用程序或用户发起的所述Root权限的操作请求,并向所述具有Root权限的服务进程发起所述连接请求。
3.根据权利要求2所述的方法,其特征在于,所述若所述连接请求具有Root操作权限,则使所述具有Root权限的服务进程执行所述Root权限的操作请求的步骤之后,所述方法还包括:
使所述具有Root权限的服务进程将执行结果返回给所述客户端程序,以使得所述客户端程序将所述执行结果转发给所述第三方应用程序或提示给所述用户。
4.根据权利要求2或3所述的方法,其特征在于,所述若监听并接收到所述客户端程序发起的连接请求,则判断所述连接请求是否具有Root操作权限的步骤,包括:
若发起所述连接请求的是所述第三方应用程序,则获取所述第三方应用程序对应的进程名和用户标识符值;
判断所述第三方应用程序对应的进程名和用户标识符值是否在白名单程序列表中;
若在所述白名单程序列表中,则确定所述连接请求具有Root操作权限,若不在所述白名单程序列表中,则判断所述连接请求是否拥有使用所述客户端程序的授权许可;
若所述连接请求拥有使用所述客户端程序的授权许可,且所述授权许可在授权有效期内,则确定所述连接请求具有Root操作权限,若所述连接请求不拥有使用所述客户端程序的授权许可,或所述授权许可不在授权有效期内,则确定所述连接请求不具有Root操作权限。
5.根据权利要求4所述的方法,其特征在于,所述判断所述连接请求是否拥有使用所述客户端程序的授权许可的步骤,包括:
若存在授权许可文件,则判断所述连接请求拥有使用所述客户端程序的授权许可,否则,判断所述连接请求不拥有使用所述客户端程序的授权许可;
利用所述授权许可文件对应的公钥对所述授权许可文件进行解密;
从解密后的授权许可文件中读取设备序列号、授权有效期以及剩余的授权使用次数;
若所述设备序列号与移动终端本身的序列号匹配,且所述授权有效期未过期、所述剩余的授权使用次数大于0,则判断所述授权许可文件为有效的授权许可文件,所述连接请求拥有使用所述客户端程序的授权许可,否则,判断所述授权许可文件为无效的授权许可文件,所述连接请求不拥有使用所述客户端程序的授权许可。
6.根据权利要求5所述的方法,其特征在于,所述若存在授权许可文件,则判断所述连接请求拥有使用所述客户端程序的授权许可之前,所述方法还包括:
利用非对称加密方法,通过私钥对移动终端的设备序列号、预定的授权有效期以及预定的授权使用次数组成的字符串进行加密;
将加密后的数据保存在一文件中,所述保存有加密后的数据的文件即为所述授权许可文件。
7.根据权利要求2或3所述的方法,其特征在于,所述若监听并接收到所述客户端程序发起的连接请求,则判断所述连接请求是否具有Root操作权限的步骤,包括:
若发起所述连接请求的是所述第三方应用程序,则获取所述第三方应用程序对应的进程名和用户标识符值;
判断所述第三方应用程序对应的进程名和用户标识符值是否在黑名单程序列表中;
若在所述黑名单程序列表中,则确定所述连接请求不具有Root操作权限。
8.一种管理权限的装置,其特征在于,所述装置包括:
监听模块,用于在用户模式下,使具有Root权限的服务进程监听客户端程序是否有发起连接请求,所述连接请求中包括Root权限的操作请求;
判断模块,用于在监听并接收到所述客户端程序发起的连接请求时,判断所述连接请求是否具有Root操作权限;
执行模块,用于在所述连接请求具有Root操作权限时,使所述具有Root权限的服务进程执行所述Root权限的操作请求。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
接收与发起模块,用于使所述客户端程序接收第三方应用程序或用户发起的所述Root权限的操作请求,并向所述具有Root权限的服务进程发起所述连接请求。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
返回模块,用于使所述具有Root权限的服务进程将执行结果返回给所述客户端程序,以使得所述客户端程序将所述执行结果转发给所述第三方应用程序或提示给所述用户。
11.根据权利要求9或10所述的装置,其特征在于,所述判断模块包括:
第一获取单元,用于在发起所述连接请求的是所述第三方应用程序时,获取所述第三方应用程序对应的进程名和用户标识符值;
第一判断单元,用于判断所述第三方应用程序对应的进程名和用户标识符值是否在白名单程序列表中;
第一确定单元,用于若在所述白名单程序列表中,则确定所述连接请求具有Root操作权限,若不在所述白名单程序列表中,则判断所述连接请求是否拥有使用所述客户端程序的授权许可;
第二确定单元,用于若所述连接请求拥有使用所述客户端程序的授权许可,且所述授权许可在授权有效期内,则确定所述连接请求具有Root操作权限,若所述连接请求不拥有使用所述客户端程序的授权许可,或所述授权许可不在授权有效期内,则确定所述连接请求不具有Root操作权限。
12.根据权利要求11所述的装置,其特征在于,所述第一确定单元还包括:
判断子单元,用于若存在授权许可文件,则判断所述连接请求拥有使用所述客户端程序的授权许可,否则,判断所述连接请求不拥有使用所述客户端程序的授权许可;
解密子单元,用于利用所述授权许可文件对应的公钥对所述授权许可文件进行解密;
读取子单元,用于从解密后的授权许可文件中读取设备序列号、授权有效期以及剩余的授权使用次数;
判断结果子单元,用于若所述设备序列号与移动终端本身的序列号匹配,且所述授权有效期未过期、所述剩余的授权使用次数大于0,则判断所述授权许可文件为有效的授权许可文件,所述连接请求拥有使用所述客户端程序的授权许可,否则,判断所述授权许可文件为无效的授权许可文件,所述连接请求不拥有使用所述客户端程序的授权许可。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
加密模块,用于利用非对称加密方法,通过私钥对移动终端的设备序列号、预定的授权有效期以及预定的授权使用次数组成的字符串进行加密;
授权许可文件获得模块,用于将加密后的数据保存在一文件中,所述保存有加密后的数据的文件即为所述授权许可文件。
14.根据权利要求9或10所述的装置,其特征在于,所述判断模块包括:
第二获取单元,用于若发起所述连接请求的是所述第三方应用程序,则获取所述第三方应用程序对应的进程名和用户标识符值;
第二判断单元,用于判断所述第三方应用程序对应的进程名和用户标识符值是否在黑名单程序列表中;
第三确定单元,用于若在所述黑名单程序列表中,则确定所述连接请求不具有Root操作权限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610513621.9A CN106169042A (zh) | 2016-06-30 | 2016-06-30 | 管理权限的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610513621.9A CN106169042A (zh) | 2016-06-30 | 2016-06-30 | 管理权限的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106169042A true CN106169042A (zh) | 2016-11-30 |
Family
ID=58066077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610513621.9A Pending CN106169042A (zh) | 2016-06-30 | 2016-06-30 | 管理权限的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106169042A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603436A (zh) * | 2016-12-01 | 2017-04-26 | 美的智慧家居科技有限公司 | 一种用于智能设备连接到网络的方法和系统 |
CN107068150A (zh) * | 2017-05-03 | 2017-08-18 | 安利军 | 一种Android智能语音控制方法及系统 |
CN107392010A (zh) * | 2017-06-19 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 执行Root操作的方法及装置、终端设备、存储介质 |
CN107491669A (zh) * | 2017-02-16 | 2017-12-19 | 东软集团股份有限公司 | 超级用户权限的获取方法及装置 |
CN108170574A (zh) * | 2017-12-25 | 2018-06-15 | 深圳豪客互联网有限公司 | 一种网址信息处理方法及装置 |
CN109543392A (zh) * | 2018-11-26 | 2019-03-29 | 广州鲁邦通物联网科技有限公司 | 一种嵌入式linux设备中临时开放root shell的方法和单元 |
CN109840421A (zh) * | 2017-11-24 | 2019-06-04 | 深圳市优必选科技有限公司 | 一种操作系统的权限管理方法、装置及终端 |
CN111182010A (zh) * | 2018-11-09 | 2020-05-19 | 杭州海康威视数字技术股份有限公司 | 一种本地服务提供方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970587A (zh) * | 2012-12-02 | 2013-03-13 | 北京中科大洋科技发展股份有限公司 | 一种适用于ott互联网电视的多用户账号实现方法 |
KR20130043909A (ko) * | 2011-10-21 | 2013-05-02 | 엘지전자 주식회사 | 이동 단말기의 루팅 판단 방법, 그 이동 단말기 및 장치, 이를 위한 기록매체 |
CN103747433A (zh) * | 2013-12-02 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | 一种通过厂商服务器实现root请求管理的方法及移动终端 |
CN103747028A (zh) * | 2013-11-27 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | 一种授予用户临时root权限的方法 |
CN103826215A (zh) * | 2014-02-11 | 2014-05-28 | 北京奇虎科技有限公司 | 一种在终端设备上进行Root权限管理的方法和装置 |
-
2016
- 2016-06-30 CN CN201610513621.9A patent/CN106169042A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130043909A (ko) * | 2011-10-21 | 2013-05-02 | 엘지전자 주식회사 | 이동 단말기의 루팅 판단 방법, 그 이동 단말기 및 장치, 이를 위한 기록매체 |
CN102970587A (zh) * | 2012-12-02 | 2013-03-13 | 北京中科大洋科技发展股份有限公司 | 一种适用于ott互联网电视的多用户账号实现方法 |
CN103747028A (zh) * | 2013-11-27 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | 一种授予用户临时root权限的方法 |
CN103747433A (zh) * | 2013-12-02 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | 一种通过厂商服务器实现root请求管理的方法及移动终端 |
CN103826215A (zh) * | 2014-02-11 | 2014-05-28 | 北京奇虎科技有限公司 | 一种在终端设备上进行Root权限管理的方法和装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603436A (zh) * | 2016-12-01 | 2017-04-26 | 美的智慧家居科技有限公司 | 一种用于智能设备连接到网络的方法和系统 |
CN107491669A (zh) * | 2017-02-16 | 2017-12-19 | 东软集团股份有限公司 | 超级用户权限的获取方法及装置 |
CN107491669B (zh) * | 2017-02-16 | 2020-06-05 | 东软集团股份有限公司 | 超级用户权限的获取方法及装置 |
CN107068150A (zh) * | 2017-05-03 | 2017-08-18 | 安利军 | 一种Android智能语音控制方法及系统 |
CN107392010A (zh) * | 2017-06-19 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 执行Root操作的方法及装置、终端设备、存储介质 |
CN107392010B (zh) * | 2017-06-19 | 2020-10-30 | 创新先进技术有限公司 | 执行Root操作的方法及装置、终端设备、存储介质 |
CN109840421A (zh) * | 2017-11-24 | 2019-06-04 | 深圳市优必选科技有限公司 | 一种操作系统的权限管理方法、装置及终端 |
CN108170574A (zh) * | 2017-12-25 | 2018-06-15 | 深圳豪客互联网有限公司 | 一种网址信息处理方法及装置 |
CN108170574B (zh) * | 2017-12-25 | 2021-04-20 | 深圳Tcl新技术有限公司 | 一种网址信息处理方法及装置 |
CN111182010A (zh) * | 2018-11-09 | 2020-05-19 | 杭州海康威视数字技术股份有限公司 | 一种本地服务提供方法及装置 |
CN111182010B (zh) * | 2018-11-09 | 2023-04-07 | 杭州海康威视数字技术股份有限公司 | 一种本地服务提供方法及装置 |
CN109543392A (zh) * | 2018-11-26 | 2019-03-29 | 广州鲁邦通物联网科技有限公司 | 一种嵌入式linux设备中临时开放root shell的方法和单元 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106169042A (zh) | 管理权限的方法及装置 | |
CN109815683B (zh) | 权限验证方法及相关装置 | |
CN102981835B (zh) | 安卓应用程序永久获取Root权限的方法 | |
CN105339923B (zh) | 混合行动应用程序的情境感知权限控制 | |
EP2909775B1 (en) | Mobile application management | |
US8769305B2 (en) | Secure execution of unsecured apps on a device | |
CN104572263B (zh) | 一种页面数据交互方法、相关装置及系统 | |
US20140040622A1 (en) | Secure unlocking and recovery of a locked wrapped app on a mobile device | |
CN102347941B (zh) | 一种基于开放平台的安全应用控制方法 | |
CN102804194A (zh) | 用于提供应用安全性的方法、装置和计算机程序 | |
KR20140016897A (ko) | 디바이스 상의 앱들의 보안화 및 관리 | |
CN104427089B (zh) | 移动终端及移动终端权限管理方法 | |
CN104869099A (zh) | 一种基于指纹账户的多网络帐号登录方法及系统 | |
CN105656860A (zh) | Android系统的安全管控方法、装置及其系统 | |
CN104462997B (zh) | 一种保护移动终端上工作数据的方法、装置和系统 | |
CN113110864B (zh) | 应用程序更新方法、装置及存储介质 | |
CN105843653A (zh) | 一种安全应用配置方法及装置 | |
CN107888589A (zh) | 一种调用可信应用的方法及其系统 | |
CN104717648A (zh) | 一种基于sim卡的统一认证方法和设备 | |
CN103036852B (zh) | 一种实现网络登录的方法以及装置 | |
CN107862091A (zh) | 实现网页访问的控制方法及装置 | |
CN103778379B (zh) | 管理设备上的应用执行和数据访问 | |
CN105635124A (zh) | 流量控制方法和装置 | |
CN103034811B (zh) | 一种文件处理的方法、系统及装置 | |
CN104883341A (zh) | 应用管理装置、终端及应用管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161130 |