临时授权Root实现调试的方法和装置

文档序号:1521098 发布日期:2020-02-11 浏览:27次 >En<

阅读说明:本技术 临时授权Root实现调试的方法和装置 (Method and device for realizing debugging by temporarily authorizing Root ) 是由 髙陆林 张泽远 李阳 刘文明 郭晗 于 2019-10-09 设计创作,主要内容包括:本发明提供一种临时授权Root实现调试的方法和装置,其中方法包括:调试设备与授权卡进行数据交互,所述授权卡中的数据包括用于加密的用户身份信息、设备信息和调试时间;调试设备对授权卡中的数据进行身份认证和数据完整性校验;调试设备对授权卡中的数据进行调试时间和产品序列号校验;如果授权卡中的数据身份认证、数据完整性、调试时间和产品序列号都通过校验,调试设备开启临时Root权限,进入具有Root权限的系统。本发明能够提高设备调试过程时提高临时授权Root的安全性。(The invention provides a method and a device for realizing debugging by temporarily authorizing Root, wherein the method comprises the following steps: the debugging equipment carries out data interaction with an authorization card, and data in the authorization card comprises encrypted user identity information, equipment information and debugging time; the debugging equipment carries out identity authentication and data integrity verification on the data in the authorization card; the debugging equipment checks the debugging time and the product serial number of the data in the authorization card; and if the data identity authentication, the data integrity, the debugging time and the product serial number in the authorization card pass the verification, the debugging equipment starts the temporary Root authority and enters a system with the Root authority. The invention can improve the security of the temporary authorization Root during the debugging process of the equipment.)

临时授权Root实现调试的方法和装置

技术领域

本发明实施方式涉及终端应用技术领域,尤其涉及一种临时授权Root实现调试的方法和装置。

背景技术

安卓(Android)的Root权限具有系统中所有的权限,如启动或停止一个进程,删除或增加用户,增加或者禁用硬件等,也可以访问和修改Android系统文件及用户文件(不包括ROM)。

为了对生产版本的Android设备进行调试,一般会采取重新刷调试系统进行调试,或者对设备进行Root操作进行调试。但是,为了临时调试设备重新刷调试版本,操作麻烦,且重新刷机之后设备存储的所有信息都会被清空。如果是定位bug,往往只能在调试版本中复现出bug然后才能定位,而由于设备的环境改变了,测试结果也不能准确证明生产版本也有问题。为了临时调试设备开放临时Root权限,因为Root权限具有系统中所有的权限,这样做会给系统安全性带来破坏。

此外,目前常用的临时Root权限方法还有:移动终端向云端服务器发送下载可执行程序文件的下载请求;从云端服务器下载可执行程序文件;运行可执行程序文件,通过可执行程序文件将当前用户的ID级别修改为预设级别,以获取临时Root权限;判断移动设备是否重新启动;如果移动设备已经重新启动,则在移动设备侧还原当前用户的ID级别为非Root级别,以取消当前用户的临时Root权限。一方面,临时Root权限可以避免多次弹出授权提醒的问题,给用户的使用带来极大的方便;另一方面,在移动设备重新启动后,临时Root权限会自动消失。但是,设备身份识别和网络交互中信息可靠性校验都无法得到保证,变相的增加了设备不安全性。

应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。

发明内容

针对上述问题,本发明实施方式的目的在于提供一种临时授权Root实现调试的方法和装置,能够提高设备调试过程时提高临时授权Root的安全性。

为实现上述目的,本发明实施方式提供一种临时授权Root实现调试的方法,包括:调试设备与授权卡进行数据交互,所述授权卡中的数据包括用于加密的用户身份信息、设备信息和调试时间;调试设备对授权卡中的数据进行身份认证和数据完整性校验;调试设备对授权卡中的数据进行调试时间和产品序列号校验;如果授权卡中的数据身份认证、数据完整性、调试时间和产品序列号都通过校验,调试设备开启临时Root权限,进入具有Root权限的系统。

进一步地,所述调试设备与授权卡进行数据交互之前,还包括:服务端接收调试设备的临时授权调试请求,所述调试请求中包括用户身份信息和设备信息;服务端对用户身份信息进行校验;如果校验通过,接受调试设备的临时授权调试请求,根据用户身份信息和设备信息制作授权卡,并对授权卡设置调试时间。

进一步地,根据用户身份信息和设备信息,使用加密算法对用户身份信息和设备信息进行第一次加密,将加密数据存储到制作的授权卡中;将可执行程序写入授权卡,对可执行程序代码做第二次加密操作;对授权卡设置调试时间,在所述调试时间内能够开启临时授权Root。

进一步地,所述授权卡***相应地调试设备并重启调试设备,调试设备对授权卡中加密数据进行第一次解密校验,并对可执行程序代码进行第二次解密操作,将解密的用户身份信息和设备信息发送到服务器,进行身份认证、数据完整性、调试时间和产品序列号校验。

进一步地,如果授权卡中数据的身份认证、数据完整性、调试时间和产品序列号都通过校验,调试设备将Root标志和调试时间传到内核,在调试时间内开启临时Root权限,调试设备正常启动后进入具有Root权限的Android系统;如果授权卡中数据的身份认证、数据完整性、调试时间和产品序列号中的任一项没有通过验证,调试设备不会被授予临时Root权限,正常进入Android系统。

进一步地,从调试设备中拔出授权卡后系统自动重启退出临时Root权限;或者,通过内核监控当前时间是否在调试时间内,如果当前时间超出调试时间,则系统自动重启退出临时Root权限。

本发明实施方式还提供一种临时授权Root的调试装置,包括:授权卡交互模块,用于与授权卡进行数据交互,所述授权卡中的数据包括用于加密的用户身份信息、设备信息和调试时间;Root权限模块,用于在授权卡中的数据身份认证、数据完整性、调试时间和产品序列号都通过校验后,开启临时Root权限,进入具有Root权限的系统。

本发明实施方式中,通过特制的授权卡可以实现对指定的调试设备授予临时Root权限,而且,对授权卡中的数据做了特殊的加密处理,在与调试设备交互过程中也加入了数据完整性校验、签名、时间和SN的校验,安全上提供了更大的保证。

附图说明

为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中需要要使用的附图逐一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施方式提供的临时授权Root实现调试的方法中制作授权卡的流程示意图;

图2为本发明实施方式提供的临时授权Root实现调试的方法的开启临时Root权限的流程示意图;

图3为本发明实施方式提供的临时授权Root的调试装置的结构示意图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。此外,在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该” 也旨在包括多数形式,除非上下文清楚地表示其他含义。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本技术领域的人员更好地理解本发明方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明实施方式提供一种临时授权Root实现调试的方法,本发明和现有临时Root权限的不同在于,通过预先制作授权卡来提高设备调试过程时提高临时授权Root的安全性。如图1所示,预先制作授权卡的方法包括:

S101,服务端接收调试设备的临时授权调试请求,所述调试请求中包括用户身份信息和设备信息。

S102,服务端对用户身份信息进行校验,如果校验通过,进入步骤S103,如果校验不通过,进入步骤S104。

在本步骤中,用户身份信息包括联络号码(例如手机号),服务端发信验证码到用户联络终端(例如用户手机),如果用户能够正确提供验证码到服务器,则校验通过。

S103,接受调试设备的临时授权调试请求,根据用户身份信息和设备信息制作授权卡,并对授权卡设置调试时间。

在本步骤中,如果用户身份信息校验通过,则服务端接受调试设备的临时授权调试请求,根据用户身份信息和设备信息,使用加密算法(例如RSA+DES+MD5混合加密算法)对用户身份信息和设备信息进行第一次加密,将加密数据存储到制作的授权卡中,并将可执行程序(例如bin程序)写入授权卡,对可执行程序代码做第二次加密(例如MD5信息-摘要算法加密)操作,以进一步防止被非法篡改。此外,对授权卡设置调试时间,在该调试时间之内,可以开启临时授权Root,而超过调试时间,则退出临时Root权限。

S104,拒绝调试设备的临时授权调试请求。

在制作好授权卡后,本发明实施方式提供的临时授权Root实现调试的方法,如图2所示,还包括以下步骤:

步骤S201,调试设备与授权卡进行数据交互,所述授权卡中的数据包括用于加密的用户身份信息、设备信息和调试时间。

在该步骤中,用户将授权卡***相应地调试设备并重启调试设备。调试设备重启后,与授权卡进行数据交互。

步骤S202,调试设备对授权卡中的数据进行身份认证和数据完整性校验,如果通过,进入步骤S203,如果未通过,进入步骤S205。

在该步骤中,调试设备对授权卡中加密数据进行第一次的解密校验,同时对可执行程序代码进行第二次的MD5解密操作,将解密的用户身份信息和设备信息发送到服务器进行校验。

服务器校验包括:身份认证,用于对数据的来源进行确认;以及数据完整性校验,用于防止数据被篡改。其中,可以使用证书进行身份认证;可以使用哈希算法和密钥进行数据完整性校验。

步骤S203,调试设备对授权卡中的数据进行调试时间和产品序列号(SN,SerialNumber)校验,如果通过,进入步骤S203,如果未通过,进入步骤S205。

在本步骤中,对授权卡中的数据完整性和签名进行校验通过后,服务器还进一步对授权卡数据中的调试时间和产品序列号进行校验,保证时间有效性和本机有效性。具体地,如果当前时间在调试时间范围内并且序列号与解密的设备信息中的序列号一致,则校验通过。

步骤S204,如果授权卡中数据的身份认证、数据完整性、调试时间和产品序列号都通过校验,调试设备开启临时Root权限,进入具有Root权限的Android系统。

在本步骤中,在校验全部都通过后,调试设备将Root标志和调试时间传到内核(kernel),在调试时间内开启临时Root权限,调试设备正常启动后进入具有Root权限的Android系统。

此外,从调试设备中拔出授权卡后系统自动重启退出临时Root权限。或者,通过内核监控当前时间是否在调试时间内,如果当前时间超出调试时间,则系统自动重启退出临时Root权限。

步骤S205,如果授权卡中数据的身份认证、数据完整性、调试时间和产品序列号中的任一项没有通过验证,调试设备不会被授予临时Root权限,正常进入Android系统。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

进一步参考图3,本发明实施例还提供一种临时授权Root实现调试的装置,包括:

授权卡交互模块301,用于与授权卡进行数据交互,所述授权卡中的数据包括用于加密的用户身份信息、设备信息和调试时间;

Root权限模块302,用于在授权卡中的数据身份认证、数据完整性、调试时间和产品序列号都通过校验后,开启临时Root权限,进入具有Root权限的系统。

其中授权卡交互模块,具体用于:授权卡***后重启调试设备对授权卡中加密数据进行第一次解密校验,并对可执行程序代码进行第二次解密操作,将解密的用户身份信息和设备信息发送到服务器,进行身份认证、数据完整性、调试时间和产品序列号校验。

其中Root权限模块,具体用于:如果授权卡中数据的身份认证、数据完整性、调试时间和产品序列号都通过校验,调试设备将Root标志和调试时间传到内核,在调试时间内开启临时Root权限,调试设备正常启动后进入具有Root权限的Android系统;如果授权卡中数据的身份认证、数据完整性、调试时间和产品序列号中的任一项没有通过验证,调试设备不会被授予临时Root权限,正常进入Android系统;当授权卡交互模块确定授权卡拔出后,触发系统自动重启退出临时Root权限,或者,通过内核监控当前时间是否在调试时间内,如果当前时间超出调试时间,触发系统自动重启退出临时Root权限。

上述的涉及到的临时授权Root实现调试的装置具体技术细节和临时授权Root实现调试的方法中类似,在临时授权Root实现调试的装置的实施方式中所能达到的技术效果在临时授权Root实现调试的方法的实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,在临时授权Root实现调试的装置的实施方式中提到的相关技术细节也可应用在临时授权Root实现调试的方法的实施方式中。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。

最后应说明的是:上面对本发明的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本发明的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本发明旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于电子设备的方向性触摸解锁

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类