一种基于区块链的设备调试方法和系统转让专利

申请号 : CN202110519941.6

文献号 : CN112948790B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王嘉诚张少仲

申请人 : 神威超算(北京)科技有限公司

摘要 :

本发明涉及一种基于区块链的设备调试方法和系统,该方法包括:在终端设备节点关闭ADB调试的状态时,终端设备节点将身份验证请求保存到区块链中,并确定保存身份验证请求的地址信息;终端设备节点对地址信息进行加密,并将加密后的地址信息随机地发送给区块链中的至少一个验证节点;将对加密后的地址信息验证通过的验证节点确定为目标验证节点,目标验证节点从区块链中获取身份验证请求;目标验证节点在对身份验证请求验证通过后,向终端设备节点发送第一密钥和第一控制命令;终端设备节点利用第一密钥对第一控制命令中携带的第二密钥进行解密,以在解密成功后进行ADB调试。本发明的方案能够提高终端设备在调试时的信息安全性。

权利要求 :

1.一种基于区块链的设备调试方法,其特征在于,包括:在终端设备节点关闭ADB调试的状态时,所述终端设备节点将身份验证请求保存到区块链中,并确定保存所述身份验证请求的地址信息;

所述终端设备节点对所述地址信息进行加密,并将加密后的所述地址信息随机地发送给区块链中的至少一个验证节点;

将对加密后的所述地址信息验证通过的验证节点确定为目标验证节点,所述目标验证节点从所述区块链中获取所述身份验证请求;

所述目标验证节点在对所述身份验证请求验证通过后,向所述终端设备节点发送用于终端动态调试的第一密钥和用于打开ADB调试的第一控制命令;其中,所述第一控制命令中携带有第二密钥,所述第一密钥和所述第二密钥互为一个密钥对;

所述终端设备节点利用所述第一密钥对所述第一控制命令中携带的第二密钥进行解密,以在解密成功后进行ADB调试;

所述对所述地址信息进行加密,包括:利用哈希加密算法对所述地址信息进行加密,得到目标哈希值;其中,在对所述地址信息进行加密时,能够获取到在加密时的时间戳和与所述身份验证请求相对应的目标标签;

所述对加密后的所述地址信息验证,包括:判断当前验证节点是否存在与所述目标哈希值相同的哈希值,如果不存在,则判断当前时间和在加密时的时间戳的差值是否小于预设的时间阈值;

如果小于预设的时间阈值,则判断所述目标标签是否为当前验证节点关注的标签;

如果是当前验证节点关注的标签,则对加密后的所述地址信息验证通过;

如果满足如下至少一个条件,则对加密后的所述地址信息验证不通过,并使当前验证节点将加密后的所述地址信息继续随机地发送给下一个验证节点;其中,所述条件包括:当前验证节点存在与所述目标哈希值相同的哈希值;当前验证节点不存在与所述目标哈希值相同的哈希值,且当前时间和在加密时的时间戳的差值不小于预设的时间阈值;当前验证节点不存在与所述目标哈希值相同的哈希值,当前时间和在加密时的时间戳的差值小于预设的时间阈值,且所述目标标签不是当前验证节点关注的标签。

2.根据权利要求1所述的方法,其特征在于,在所述利用哈希加密算法对所述地址信息进行加密,得到目标哈希值之后,还包括:所述终端设备节点向所述验证节点发送用于对所述地址信息进行加密的加密密钥。

3.根据权利要求2所述的方法,其特征在于,所述终端设备节点向所述验证节点发送用于对所述地址信息进行加密的加密密钥,包括:通过所述验证节点的公钥对所述加密密钥进行加密,得到经所述验证节点的公钥加密后的所述加密密钥;

所述终端设备节点向所述验证节点发送经所述验证节点的公钥加密后的所述加密密钥。

4.根据权利要求1‑3中任一项所述的方法,其特征在于,所述身份验证请求携带有用于表征所述终端设备节点的设备信息;

所述设备信息是通过如下方式确定的:对所述终端设备节点的硬件参数进行哈希编码,得到编码后的设备密码;

将编码后的设备密码作为所述设备信息。

5.根据权利要求1‑3中任一项所述的方法,其特征在于,还包括:所述终端设备节点接收由所述目标验证节点发来的用于关闭ADB调试的第二控制命令;其中,所述第二控制命令中携带有所述第二密钥;

所述终端设备节点利用所述第一密钥对所述第二控制命令中携带的第二密钥进行解密,以在解密成功后关闭ADB调试。

6.根据权利要求1‑3中任一项所述的方法,其特征在于,还包括:在所述目标验证节点对所述身份验证请求验证通过后,所述目标验证节点向所述终端设备节点发送设备鉴权参数;

所述终端设备节点在检查到联网时,向所述目标验证节点发起动态检查当前调试状态的请求;其中,所述动态检查当前调试状态的请求中携带有所述设备鉴权参数;

所述终端设备节点在所述目标验证节点基于所述设备鉴权参数确定当前调试状态后,接收由所述目标验证节点发来的对应当前调试状态的相关控制命令。

7.一种基于区块链的设备调试系统,其特征在于,包括:终端设备节点和至少一个验证节点;

所述终端设备节点,用于在关闭ADB调试的状态时,将身份验证请求保存到区块链中,并确定保存所述身份验证请求的地址信息;以及对所述地址信息进行加密,并将加密后的所述地址信息随机地发送给区块链中的至少一个验证节点;

所述验证节点,用于将对加密后的所述地址信息验证通过的验证节点确定为目标验证节点,所述目标验证节点从所述区块链中获取所述身份验证请求;以及所述目标验证节点在对所述身份验证请求验证通过后,向所述终端设备节点发送用于终端动态调试的第一密钥和用于打开ADB调试的第一控制命令;其中,所述第一控制命令中携带有第二密钥,所述第一密钥和所述第二密钥互为一个密钥对;

所述终端设备节点,还用于利用所述第一密钥对所述第一控制命令中携带的第二密钥进行解密,以在解密成功后进行ADB调试;

所述终端设备节点在执行所述对所述地址信息进行加密时,用于利用哈希加密算法对所述地址信息进行加密,得到目标哈希值;其中,在对所述地址信息进行加密时,能够获取到在加密时的时间戳和与所述身份验证请求相对应的目标标签;

所述验证节点在执行所述对加密后的所述地址信息验证时,用于判断当前验证节点是否存在与所述目标哈希值相同的哈希值,如果不存在,则判断当前时间和在加密时的时间戳的差值是否小于预设的时间阈值;如果小于预设的时间阈值,则判断所述目标标签是否为当前验证节点关注的标签;如果是当前验证节点关注的标签,则对加密后的所述地址信息验证通过;如果当前验证节点存在与所述目标哈希值相同的哈希值,或如果当前验证节点不存在与所述目标哈希值相同的哈希值且当前时间和在加密时的时间戳的差值不小于预设的时间阈值,或如果当前验证节点不存在与所述目标哈希值相同的哈希值、且当前时间和在加密时的时间戳的差值小于预设的时间阈值、且所述目标标签不是当前验证节点关注的标签,则对加密后的所述地址信息验证不通过,并使当前验证节点将加密后的所述地址信息继续随机地发送给下一个验证节点。

8.根据权利要求7所述的系统,其特征在于,所述终端设备节点,还用于向所述验证节点发送用于对所述地址信息进行加密的加密密钥。

说明书 :

一种基于区块链的设备调试方法和系统

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及基于区块链的设备调试方法和系统。

背景技术

[0002] 相关技术中,终端设备中占份额比较多的是基于安卓(Android)系统的设备,由于研发和售后的需要,该类设备往往采用安卓调试桥(Android Debug Bridge,ADB)的方式进
行调试。
[0003] 然而,采用这种ADB调试方式,由于黑产用户很容易接管并获得该终端设备的调试权限。因此,这种ADB调试方式的破解成本低,一旦被黑产用户攻击且破解后,将会大大降低
终端设备的信息安全性。
[0004] 因此,针对以上不足,需要提供一种基于区块链的设备调试方法和系统。

发明内容

[0005] 本发明要解决的技术问题在于终端设备在调试时的信息安全性不高,针对现有技术中的缺陷,提供一种基于区块链的设备调试方法和系统。
[0006] 为了解决上述技术问题,本发明提供了一种基于区块链的设备调试方法,包括:
[0007] 在终端设备节点关闭ADB调试的状态时,所述终端设备节点将身份验证请求保存到区块链中,并确定保存所述身份验证请求的地址信息;
[0008] 所述终端设备节点对所述地址信息进行加密,并将加密后的所述地址信息随机地发送给区块链中的至少一个验证节点;
[0009] 将对加密后的所述地址信息验证通过的验证节点确定为目标验证节点,所述目标验证节点从所述区块链中获取所述身份验证请求;
[0010] 所述目标验证节点在对所述身份验证请求验证通过后,向所述终端设备节点发送用于终端动态调试的第一密钥和用于打开ADB调试的第一控制命令;其中,所述第一控制命
令中携带有第二密钥,所述第一密钥和所述第二密钥互为一个密钥对;
[0011] 所述终端设备节点利用所述第一密钥对所述第一控制命令中携带的第二密钥进行解密,以在解密成功后进行ADB调试。
[0012] 在一种可能的实现方式中,所述对所述地址信息进行加密,包括:
[0013] 利用哈希加密算法对所述地址信息进行加密,得到目标哈希值;其中,在对所述地址信息进行加密时,能够获取到在加密时的时间戳和与所述身份验证请求相对应的目标标
签;
[0014] 所述对加密后的所述地址信息验证,包括:
[0015] 判断当前验证节点是否存在与所述目标哈希值相同的哈希值,如果不存在,则判断当前时间和在加密时的时间戳的差值是否小于预设的时间阈值;
[0016] 如果小于预设的时间阈值,则判断所述目标标签是否为当前验证节点关注的标签;
[0017] 如果是当前验证节点关注的标签,则对加密后的所述地址信息验证通过;
[0018] 如果满足如下至少一个条件,则对加密后的所述地址信息验证不通过,并使当前验证节点将加密后的所述地址信息继续随机地发送给下一个验证节点;其中,所述条件包
括:当前验证节点存在与所述目标哈希值相同的哈希值;当前验证节点不存在与所述目标
哈希值相同的哈希值,且当前时间和在加密时的时间戳的差值不小于预设的时间阈值;当
前验证节点不存在与所述目标哈希值相同的哈希值,当前时间和在加密时的时间戳的差值
小于预设的时间阈值,且所述目标标签不是当前验证节点关注的标签。
[0019] 在一种可能的实现方式中,在所述利用哈希加密算法对所述地址信息进行加密,得到目标哈希值之后,还包括:
[0020] 所述终端设备节点向所述验证节点发送用于对所述地址信息进行加密的加密密钥。
[0021] 在一种可能的实现方式中,所述终端设备节点向所述验证节点发送用于对所述地址信息进行加密的加密密钥,包括:
[0022] 通过所述验证节点的公钥对所述加密密钥进行加密,得到经所述验证节点的公钥加密后的所述加密密钥;
[0023] 所述终端设备节点向所述验证节点发送经所述验证节点的公钥加密后的所述加密密钥。
[0024] 在一种可能的实现方式中,所述身份验证请求携带有用于表征所述终端设备节点的设备信息;
[0025] 所述设备信息是通过如下方式确定的:
[0026] 对所述终端设备节点的硬件参数进行哈希编码,得到编码后的设备密码;
[0027] 将编码后的设备密码作为所述设备信息。
[0028] 在一种可能的实现方式中,还包括:
[0029] 所述终端设备节点接收由所述目标验证节点发来的用于关闭ADB调试的第二控制命令;其中,所述第二控制命令中携带有所述第二密钥;
[0030] 所述终端设备节点利用所述第一密钥对所述第二控制命令中携带的第二密钥进行解密,以在解密成功后关闭ADB调试。
[0031] 在一种可能的实现方式中,还包括:
[0032] 在所述目标验证节点对所述身份验证请求验证通过后,所述目标验证节点向所述终端设备节点发送设备鉴权参数;
[0033] 所述终端设备节点在检查到联网时,向所述目标验证节点发起动态检查当前调试状态的请求;其中,所述动态检查当前调试状态的请求中携带有所述设备鉴权参数;
[0034] 所述终端设备节点在所述目标验证节点基于所述设备鉴权参数确定当前调试状态后,接收由所述目标验证节点发来的对应当前调试状态的相关控制命令。
[0035] 本发明还提供了一种基于区块链的设备调试系统,包括:终端设备节点和至少一个验证节点;
[0036] 所述终端设备节点,用于在关闭ADB调试的状态时,将身份验证请求保存到区块链中,并确定保存所述身份验证请求的地址信息;以及对所述地址信息进行加密,并将加密后
的所述地址信息随机地发送给区块链中的至少一个验证节点;
[0037] 所述验证节点,用于将对加密后的所述地址信息验证通过的验证节点确定为目标验证节点,所述目标验证节点从所述区块链中获取所述身份验证请求;以及所述目标验证
节点在对所述身份验证请求验证通过后,向所述终端设备节点发送用于终端动态调试的第
一密钥和用于打开ADB调试的第一控制命令;其中,所述第一控制命令中携带有第二密钥,
所述第一密钥和所述第二密钥互为一个密钥对;
[0038] 所述终端设备节点,还用于利用所述第一密钥对所述第一控制命令中携带的第二密钥进行解密,以在解密成功后进行ADB调试。
[0039] 在一种可能的实现方式中,所述终端设备节点在执行所述对所述地址信息进行加密时,用于利用哈希加密算法对所述地址信息进行加密,得到目标哈希值;其中,在对所述
地址信息进行加密时,能够获取到在加密时的时间戳和与所述身份验证请求相对应的目标
标签;
[0040] 所述验证节点在执行所述对加密后的所述地址信息验证时,用于判断当前验证节点是否存在与所述目标哈希值相同的哈希值,如果不存在,则判断当前时间和在加密时的
时间戳的差值是否小于预设的时间阈值;如果小于预设的时间阈值,则判断所述目标标签
是否为当前验证节点关注的标签;如果是当前验证节点关注的标签,则对加密后的所述地
址信息验证通过;如果当前验证节点存在与所述目标哈希值相同的哈希值,或如果当前验
证节点不存在与所述目标哈希值相同的哈希值且当前时间和在加密时的时间戳的差值不
小于预设的时间阈值,或如果当前验证节点不存在与所述目标哈希值相同的哈希值、且当
前时间和在加密时的时间戳的差值小于预设的时间阈值、且所述目标标签不是当前验证节
点关注的标签,则对加密后的所述地址信息验证不通过,并使当前验证节点将加密后的所
述地址信息继续随机地发送给下一个验证节点。
[0041] 在一种可能的实现方式中,所述终端设备节点,还用于向所述验证节点发送用于对所述地址信息进行加密的加密密钥。
[0042] 实施本发明的基于区块链的设备调试方法和系统,具有以下有益效果:
[0043] 本发明所提供的技术方案,终端设备节点通过在关闭ADB调试的状态时将身份验证请求发送给至少一个验证节点,当目标验证节点对身份验证请求验证通过后,才会向终
端设备节点发送用于动态调试的密钥,如此可以对单个终端设备或单个调试用户进行调试
授权,从而可以做到动态的一机一密,而且上述验证过程是在区块链中进行,因此可以提高
终端设备在调试时的信息安全性。此外,由于验证节点仅是参与地址信息的验证,而不会直
接访问地址信息,从而可以大大降低验证节点的计算量,有利于快速确定出目标验证节点。

附图说明

[0044] 图1是本发明一个实施例提供的基于区块链的设备调试方法的流程图;
[0045] 图2是本发明另一个实施例提供的基于区块链的设备调试方法的流程图;
[0046] 图3是本发明一个实施例提供的基于区块链的设备调试系统的示意图。

具体实施方式

[0047] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人
员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048] 图1示出根据一个实施例的基于区块链的设备调试方法的流程图。
[0049] 参见图1,该方法包括:
[0050] 步骤101:在终端设备节点关闭ADB调试的状态时,终端设备节点将身份验证请求保存到区块链中,并确定保存身份验证请求的地址信息。
[0051] 在步骤101中,为了提高终端设备在调试时的信息安全性,可以考虑先将终端设备节点调整为关闭ADB调试的状态,从而可以有效防止黑产用户接管并获得该终端设备的调
试权限。进一步地,为了验证当前终端设备的使用者的身份,可以考虑由终端设备节点将该
身份验证请求保存到区块链中,如此可以提高身份验证的安全性。其中,该身份验证请求可
以携带有用于表征该终端设备节点的设备信息,区块链的节点包括终端设备节点和至少一
个验证节点。
[0052] 在一些实施方式中,设备信息是通过如下方式确定的:
[0053] 对终端设备节点的硬件参数进行哈希编码,得到编码后的设备密码;
[0054] 将编码后的设备密码作为设备信息。
[0055] 在本实施例中,可以基于终端设备节点的硬件参数进行身份验证,从而可以提高安全性。
[0056] 步骤102:终端设备节点对地址信息进行加密,并将加密后的地址信息随机地发送给区块链中的至少一个验证节点。
[0057] 此外,在现有的基于区块链的地址信息的验证方案中,区块链中的验证节点需要遍历该区块链中所有存在的地址信息,每次都要判断当前地址信息是否属于该验证节点。
假设,区块链中有N个验证节点,每秒钟产生M个地址信息,则N个节点总共要进行N*M次的地
址信息验证,这不利于减小区块链在验证地址信息过程中的计算量。
[0058] 为了解决该技术问题,可以考虑使每一个验证节点只是起到对地址信息的验证作用,而不用直接访问地址信息,从而可以大大降低验证节点的计算量,有利于快速确定出目
标验证节点。
[0059] 在一些实施方式中,对地址信息进行加密,包括:
[0060] 利用哈希加密算法对地址信息进行加密,得到目标哈希值;其中,在对地址信息进行加密时,能够获取到在加密时的时间戳和与身份验证请求相对应的目标标签。
[0061] 在本实施例中,由于每一个验证节点是随机地发送下一个验证节点的发送方式,因此有一些验证节点可能会重复收到同一个加密后的地址信息,为了尽快验证当前验证节
点是否接收到过该加密后的地址信息,可以考虑利用哈希加密算法对地址信息进行加密,
得到目标哈希值,并记录该目标哈希值。在进行判断时,如果当前验证节点收到过该加密后
的地址信息,则只需继续执行随机发送给下一个验证节点的操作;如果当前验证节点未收
到过该加密后的地址信息,则记录该目标哈希值。
[0062] 目前在区块链中信息存储中都是以明文形式存在,无法保护节点的信息隐私问题,也是区块链技术中亟待解决的热点。现有技术中的密钥交换方案一般实现了两端的临
时密钥协商,如上述Https和ECDH方案都是针对服务端和客户端两端实现了临时会话密钥
协商,这样导致无法在多方之间协商产生一个共享的公共密钥。同时经过两端协商实现的
是临时会话密钥,一次协商之后便失效了,也无法完成密钥持久化。在区块链隐私保护应用
场景中,无法解决会话密钥持久化保存就没办法完成通过密钥加密实现区块链隐私保护问
题。
[0063] 为了解决该技术问题,在一些实施方式中,在利用哈希加密算法对地址信息进行加密,得到目标哈希值之后,还包括:
[0064] 终端设备节点向验证节点发送用于对地址信息进行加密的加密密钥。
[0065] 在本实施方式中,可以在终端设备节点和验证节点之间协商生成加密密钥后,先用加密密钥加密地址信息,并将加密后的地址信息上传至区块链中(即在区块链中的各个
验证节点之间传播),从而实现了该加密后的地址信息在区块链中的存储,且能够保证信息
传播的安全性。
[0066] 进一步地,在一些实施方式中,终端设备节点向验证节点发送用于对地址信息进行加密的加密密钥,包括:
[0067] 通过验证节点的公钥对加密密钥进行加密,得到经验证节点的公钥加密后的加密密钥;
[0068] 终端设备节点向验证节点发送经验证节点的公钥加密后的加密密钥。
[0069] 在本实施例中,通过验证节点的公钥对加密密钥进行加密,得到经验证节点的公钥加密后的加密密钥,以使各个验证节点可以通过各自的公钥对该加密后的地址信息进行
解密,从而得到该地址信息,实现了地址信息在区块链中的有效快速地传播。
[0070] 步骤103:将对加密后的地址信息验证通过的验证节点确定为目标验证节点,目标验证节点从区块链中获取身份验证请求。
[0071] 在一些实施方式中,对加密后的地址信息验证,包括:
[0072] 判断当前验证节点是否存在与目标哈希值相同的哈希值,如果不存在,则判断当前时间和在加密时的时间戳的差值是否小于预设的时间阈值;
[0073] 如果小于预设的时间阈值,则判断目标标签是否为当前验证节点关注的标签;
[0074] 如果是当前验证节点关注的标签,则对加密后的地址信息验证通过;
[0075] 如果满足如下至少一个条件,则对加密后的所述地址信息验证不通过,并使当前验证节点将加密后的所述地址信息继续随机地发送给下一个验证节点;其中,所述条件包
括:当前验证节点存在与目标哈希值相同的哈希值;当前验证节点不存在与目标哈希值相
同的哈希值,且当前时间和在加密时的时间戳的差值不小于预设的时间阈值;当前验证节
点不存在与目标哈希值相同的哈希值,当前时间和在加密时的时间戳的差值小于预设的时
间阈值,且目标标签不是当前验证节点关注的标签。
[0076] 在本实施例中,通过对地址信息的验证过程规定时间的限制要求,更进一步增加了信息的安全性。只有满足上述方案的时间阈值的要求,才能证明该加密后的地址信息是
安全的,否则说明是无效的(或不安全的)。进一步地,通过对每个验证节点设定关注的标签
类型(例如空调、冰箱、洗衣机等),如果当前验证节点获取到的标签没有该验证节点关注的
标签,则可以直接转发给其它验证节点,从而可以进一步提高各个验证节点对接收到的加
密后的地址信息的处理速度。
[0077] 步骤104:目标验证节点在对身份验证请求验证通过后,向终端设备节点发送用于终端动态调试的第一密钥和用于打开ADB调试的第一控制命令。
[0078] 在步骤104中,第一控制命令中携带有第二密钥,第一密钥和第二密钥互为一个密钥对(例如采用私钥加密,公钥解密;或采用公钥加密,私钥解密)。
[0079] 在一些实施方式中,除了上述调试密钥,还可以基于验证节点下发的其它调试密钥或其它调试密码,只要可以实现满足终端设备正常调试需求的基础且同时提高终端设备
的安全性的方案,都在本申请的保护范围之内。
[0080] 步骤105:终端设备节点利用第一密钥对所述第一控制命令中携带的第二密钥进行解密,以在解密成功后进行ADB调试。
[0081] 在开启ADB调试之后,即允许终端设备和调试用户之间建立通信,以授权该调试用户可以进行正常的ADB调试。
[0082] 可见,在上述图1所示过程中,终端设备节点通过在关闭ADB调试的状态时将身份验证请求发送给至少一个验证节点,当目标验证节点对身份验证请求验证通过后,才会向
终端设备节点发送用于动态调试的密钥,如此可以对单个终端设备或单个调试用户进行调
试授权,从而可以做到动态的一机一密,而且上述验证过程是在区块链中进行,因此可以提
高终端设备在调试时的信息安全性。此外,由于验证节点仅是参与地址信息的验证,而不会
直接访问地址信息,从而可以大大降低验证节点的计算量,有利于快速确定出目标验证节
点。
[0083] 在一些实施方式中,上述方法还包括:
[0084] 终端设备节点接收由目标验证节点发来的用于关闭ADB调试的第二控制命令;其中,第二控制命令中携带有第二密钥;
[0085] 终端设备节点利用第一密钥对第二控制命令中携带的第二密钥进行解密,以在解密成功后关闭ADB调试。
[0086] 在本实施例中,除了可以在上述调试打开中提高信息安全性,还可以基于同样的原理,即终端设备节点利用第一密钥对第二控制命令中携带的第二密钥进行解密,以在解
密成功后关闭ADB调试,从而也可以提高信息安全性。
[0087] 在一些实施方式中,上述方法还包括:
[0088] 在目标验证节点对身份验证请求验证通过后,目标验证节点向终端设备节点发送设备鉴权参数;
[0089] 终端设备节点在检查到联网时,向目标验证节点发起动态检查当前调试状态的请求;其中,动态检查当前调试状态的请求中携带有设备鉴权参数;
[0090] 终端设备节点在目标验证节点基于设备鉴权参数确定当前调试状态后,接收由目标验证节点发来的对应当前调试状态的相关控制命令。
[0091] 在本实施例中,可以基于该设备鉴权参数确定当前调试状态,而该设备鉴权参数与调试状态查询相关,从而可以对当前调试状态及时掌握,以提高信息安全性。在实现动态
的安全调式时,通过上述方案可以实现一旦发现调试状态不对,即可回收调试权限,从而提
高了信息安全性。
[0092] 图2示出根据另一个实施例的基于区块链的设备调试方法的流程图。参见图2,该方法包括:
[0093] 步骤201:在终端设备节点关闭ADB调试的状态时,终端设备节点将身份验证请求保存到区块链中,并确定保存身份验证请求的地址信息。
[0094] 步骤202:终端设备节点对地址信息进行加密,并将加密后的地址信息随机地发送给区块链中的至少一个验证节点。
[0095] 步骤203:将对加密后的地址信息验证通过的验证节点确定为目标验证节点,目标验证节点从区块链中获取身份验证请求。
[0096] 步骤204:目标验证节点在对身份验证请求验证通过后,向终端设备节点发送用于终端动态调试的第一密钥和用于打开ADB调试的第一控制命令。
[0097] 步骤205:终端设备节点利用第一密钥对第一控制命令中携带的第二密钥进行解密,以在解密成功后进行ADB调试。
[0098] 步骤206:终端设备节点接收由目标验证节点发来的用于关闭ADB调试的第二控制命令。
[0099] 步骤207:终端设备节点利用第一密钥对第二控制命令中携带的第二密钥进行解密,以在解密成功后关闭ADB调试。
[0100] 步骤208:在目标验证节点对身份验证请求验证通过后,目标验证节点向终端设备节点发送设备鉴权参数。
[0101] 步骤209:终端设备节点在检查到联网时,向目标验证节点发起动态检查当前调试状态的请求。
[0102] 步骤210:终端设备节点在目标验证节点基于设备鉴权参数确定当前调试状态后,接收由目标验证节点发来的对应当前调试状态的相关控制命令。
[0103] 如图3所示,本发明实施例提供了一种基于区块链的设备调试系统。该系统包括:终端设备节点301和至少一个验证节点302;
[0104] 终端设备节点301,用于在关闭ADB调试的状态时,将身份验证请求保存到区块链中,并确定保存身份验证请求的地址信息;以及对地址信息进行加密,并将加密后的地址信
息随机地发送给区块链中的至少一个验证节点302;
[0105] 验证节点302,用于将对加密后的地址信息验证通过的验证节点确定为目标验证节点,目标验证节点从区块链中获取身份验证请求;以及目标验证节点在对身份验证请求
验证通过后,向终端设备节点发送用于终端动态调试的第一密钥和用于打开ADB调试的第
一控制命令;其中,第一控制命令中携带有第二密钥,第一密钥和第二密钥互为一个密钥
对;
[0106] 终端设备节点301,还用于利用第一密钥对第一控制命令中携带的第二密钥进行解密,以在解密成功后进行ADB调试。
[0107] 在本发明的一个实施例中,终端设备节点301在执行对地址信息进行加密时,用于利用哈希加密算法对地址信息进行加密,得到目标哈希值;其中,在对地址信息进行加密
时,能够获取到在加密时的时间戳和与身份验证请求相对应的目标标签;
[0108] 验证节点302在执行对加密后的地址信息验证时,用于判断当前验证节点是否存在与目标哈希值相同的哈希值,如果不存在,则判断当前时间和在加密时的时间戳的差值
是否小于预设的时间阈值;如果小于预设的时间阈值,则判断目标标签是否为当前验证节
点关注的标签;如果是当前验证节点关注的标签,则对加密后的地址信息验证通过;如果满
足如下至少一个条件,则对加密后的所述地址信息验证不通过,并使当前验证节点将加密
后的所述地址信息继续随机地发送给下一个验证节点;其中,所述条件包括:当前验证节点
存在与目标哈希值相同的哈希值;当前验证节点不存在与目标哈希值相同的哈希值,且当
前时间和在加密时的时间戳的差值不小于预设的时间阈值;当前验证节点不存在与目标哈
希值相同的哈希值,当前时间和在加密时的时间戳的差值小于预设的时间阈值,且目标标
签不是当前验证节点关注的标签。
[0109] 在本发明的一个实施例中,终端设备节点301,还用于向验证节点302发送用于对地址信息进行加密的加密密钥。
[0110] 在本发明的一个实施例中,终端设备节点301在执行向验证节点302发送用于对地址信息进行加密的加密密钥时,还用于通过验证节点的公钥对加密密钥进行加密,得到经
验证节点的公钥加密后的加密密钥;以及向验证节点发送经验证节点的公钥加密后的加密
密钥。
[0111] 在本发明的一个实施例中,身份验证请求携带有用于表征终端设备节点的设备信息;
[0112] 设备信息是通过如下方式确定的:
[0113] 对终端设备节点的硬件参数进行哈希编码,得到编码后的设备密码;
[0114] 将编码后的设备密码作为设备信息。
[0115] 在本发明的一个实施例中,终端设备节点,还用于接收由目标验证节点发来的用于关闭ADB调试的第二控制命令;其中,第二控制命令中携带有第二密钥;以及利用第一密
钥对第二控制命令中携带的第二密钥进行解密,以在解密成功后关闭ADB调试。
[0116] 在本发明的一个实施例中,目标验证节点,用于对身份验证请求验证通过后,向终端设备节点发送设备鉴权参数;
[0117] 终端设备节点,还用于在检查到联网时,向目标验证节点发起动态检查当前调试状态的请求;其中,动态检查当前调试状态的请求中携带有设备鉴权参数;以及在目标验证
节点基于设备鉴权参数确定当前调试状态后,接收由目标验证节点发来的对应当前调试状
态的相关控制命令。
[0118] 本发明实施例还提供了一种基于区块链的设备调试装置,包括:至少一个存储器和至少一个处理器;
[0119] 至少一个存储器,用于存储机器可读程序;
[0120] 至少一个处理器,用于调用机器可读程序,执行本发明任一实施例中的基于区块链的设备调试方法。
[0121] 本发明实施例还提供了一种计算机可读介质,存储用于使一计算机执行如本文的基于区块链的设备调试方法的指令。具体地,可以提供配有存储介质的方法或者装置,在该
存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该方法或者
装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
[0122] 在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0123] 用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD‑ROM、CD‑R、CD‑RW、DVD‑ROM、DVD‑RAM、DVD‑RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,
可以由通信网络从服务器计算机上下载程序代码。
[0124] 此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作方法等来完成部分或者全部的实际操作,从而
实现上述实施例中任意一项实施例的功能。
[0125] 此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程
序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而
实现上述实施例中任一实施例的功能。
[0126] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修复,或者对其中部分技术特征进行等同替换;
而这些修复或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。