一种区块链密钥测试方法及装置转让专利

申请号 : CN202010299439.4

文献号 : CN111445250B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 贾琳梁亮李婷姝袁媛翁晴晴朱伟伟王玉婷郝玉飞

申请人 : 中国银行股份有限公司

摘要 :

本申请实施例公开了一种区块链密钥测试方法及装置,具体地,监测设备首先获取第一设备向第二设备发送的第一交易数据,并利用预先存储的第一加密密钥对第一交易数据进行数字签名,获得第二交易数据,其中,第二交易数据包括第一数字签名和第一交易数据,第一数字签名为监测设备利用第一加密密钥对第一交易数据进行数字签名获得的。同时,监测设备从第二设备获取第三交易数据,该第三交易数据包括第二数字签名和第一交易数据,其中,第二数字签名是第二设备利用第二加密密钥对第一交易数据进行数字签名获得的。监测设备根据第二交易数据和第三交易数据判断第一加密密钥和第二加密密钥是否相同,进而验证第二设备所存储的第二加密密钥是否正确。

权利要求 :

1.一种区块链密钥测试方法,其特征在于,所述方法包括:

监测设备从第一设备获取第一交易数据,所述第一交易数据为第一设备向第二设备发送的交易数据;

所述监测设备利用第一加密密钥对所述第一交易数据进行数字签名,获得第二交易数据,所述第二交易数据包括第一签名数据和所述第一交易数据,所述第一签名数据为所述监测设备利用第一加密密钥对所述第一交易数据进行数字签名获得的;

所述监测设备从所述第二设备获取第三交易数据,所述第三交易数据包括第二签名数据和所述第一交易数据,所述第二签名数据为所述第二设备利用第二加密密钥对所述第一交易数据进行数字签名获得的;

所述监测设备根据所述第二交易数据和所述第三交易数据获取第一测试结果,所述第一测试结果表示所述第一加密密钥和所述第二加密密钥是否相同。

2.根据权利要求1所述的方法,其特征在于,所述监测设备根据所述第二交易数据和所述第三交易数据获取第一测试结果,包括:所述监测设备比较所述第二交易数据中的第一签名数据和所述第三交易数据中的第二签名数据是否一致;

当所述第一签名数据和所述第二签名数据相同时,所述监测设备确定所述第一加密密钥和所述第二加密密钥相同;

当所述第一签名数据和所述第二签名数据不相同时,所述监测设备确定所述第一加密密钥和所述第二加密密钥不相同。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

所述监测设备从第三设备获取第四交易数据,所述第四交易数据为所述第三设备利用第二解密密钥对所述第三交易数据进行数字签名验证后获得的交易数据;

所述监测设备利用第一解密密钥对所述第三交易数据进行数字签名验证,获得第五交易数据;

所述监测设备根据所述第四交易数据和所述第五交易数据获取第二测试结果,所述第二测试结果表示所述第一解密密钥和所述第二解密密钥是否相同。

4.根据权利要求3所述的方法,其特征在于,所述监测设备根据所述第四交易数据和所述第五交易数据获取第二测试结果,包括:当所述第四交易数据和所述第五交易数据相同时,所述监测设备确定所述第一解密密钥和所述第二解密密钥相同;

当所述第四交易数据和所述第五交易数据不相同时,所述监测设备确定所述第一解密密钥和所述第二解密密钥不相同。

5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:所述监测设备根据所述第一交易数据和所述第四交易数据获取第三测试结果,所述第三测试结果表示交易数据在传输过程中的完整性。

6.根据权利要求1所述的方法,其特征在于,所述第一设备为客户端设备,所述第二设备为服务端设备,第三设备为区块链端设备。

7.根据权利要求1所述的方法,其特征在于,所述第一加密密钥包括用户私钥和/或交易机构私钥,所述第二加密密钥包括用户私钥和/或交易机构私钥。

8.根据权利要求3所述的方法,其特征在于,所述第一解密密钥包括用户公钥和/或交易机构公钥,所述第二解密密钥包括用户公钥和/或交易机构公钥。

9.一种区块链密钥测试装置,其特征在于,所述装置设于监测设备,包括:第一获取单元,用于从第一设备获取第一交易数据,所述第一交易数据为所述第一设备向第二设备发送的数据;

签名单元,用于利用第一加密密钥对所述第一交易数据进行数字签名,获得第二交易数据,所述第二交易数据包括第一数字签名和所述第一交易数据,所述第一数字签名为所述监测设备利用第一加密密钥对所述第一交易数据进行数字签名获得的;

第二获取单元,用于从所述第二设备获取第三交易数据,所述第三交易数据包括第二数字签名和所述第一交易数据,所述第二数字签名为所述第二设备利用第二加密密钥对所述第一交易数据进行数字签名获得的;

第三获取单元,用于根据所述第二交易数据和所述第三交易数据获取第一测试结果,所述第一测试结果表示所述第一加密密钥和所述第二加密密钥是否相同。

10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现权利要求1至8中任一项所述的区块链密钥测试方法。

11.一种用于区块链密钥测试的设备,其特征在于,所述设备包括存储器和处理器,所述存储器用于存储一个或者一个以上的程序,所述处理器用于调用所述存储器中的程序,以执行权利要求1至8中任一项所述的区块链密钥测试方法。

说明书 :

一种区块链密钥测试方法及装置

技术领域

[0001] 本申请涉及密钥处理技术领域,具体涉及一种区块链密钥测试方法及装置。

背景技术

[0002] 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库。区块链通过多种密码学机制进行数据加解密,所有权验证机制的基础是非对称加密算法,区块链中非对称加密的公私钥对是构建整个信任体系的基石:公钥用于表达地址,私钥用于对交易进行签名。
[0003] 然而,在实际应用中,可能会存在公私钥对保管不当等问题,导致丢失私钥控制权的情况。如何确保区块链中各个节点所存储的公钥或私钥的正确性是急需解决的问题。

发明内容

[0004] 有鉴于此,本申请实施例提供一种区块链密钥测试方法及装置,以确保各节点所存储密钥的正确性。
[0005] 为解决上述问题,本申请实施例提供的技术方案如下:
[0006] 在本申请实施例第一方面,提供了一种区块链密钥测试方法,所述方法包括:
[0007] 所述监测设备从第一设备获取第一交易数据,所述第一交易数据为第一设备向第二设备发送的交易数据;
[0008] 所述监测设备利用第一加密密钥对所述第一交易数据进行数字签名,获得第二交易数据,所述第二交易数据包括第一签名数据和所述第一交易数据,所述第一签名数据为所述监测设备利用第一加密密钥对所述第一交易数据进行数字签名获得的;
[0009] 所述监测设备从所述第二设备获取第三交易数据,所述第三交易数据包括第二签名数据和所述第一交易数据,所述第二签名数据为所述第二设备利用第二加密密钥对所述第一交易数据进行数字签名获得的;
[0010] 所述监测设备根据所述第二交易数据和所述第三交易数据获取第一测试结果,所述第一测试结果表示所述第一加密密钥和所述第二加密密钥是否相同。
[0011] 在一种可能的实现方式中,所述监测设备根据所述第二交易数据和所述第三交易数据获取第一测试结果,包括:
[0012] 所述监测设备比较所述第二交易数据中的第一签名数据和所述第三交易数据中的第二签名数据是否一致;
[0013] 当所述第一签名数据和所述第二签名数据相同时,所述监测设备确定所述第一加密密钥和所述第二加密密钥相同;
[0014] 当所述第一签名数据和所述第二签名数据不相同时,所述监测设备确定所述第一加密密钥和所述第二加密密钥不相同。
[0015] 在一种可能的实现方式中,所述方法还包括:
[0016] 所述监测设备从第三设备获取第四交易数据,所述第四交易数据为所述第三设备利用第二解密密钥对所述第三交易数据进行数字签名验证后获得的交易数据;
[0017] 所述监测设备利用第一解密密钥对所述第三交易数据进行数字签名验证,获得第五交易数据;
[0018] 所述监测设备根据所述第四交易数据和所述第五交易数据获取第二测试结果,所述第二测试结果表示所述第一解密密钥和所述第二解密密钥是否相同。
[0019] 在一种可能的实现方式中,所述监测设备根据所述第四交易数据和所述第五交易数据获取第二测试结果,包括:
[0020] 当所述第四交易数据和所述第五交易数据相同时,所述监测设备确定所述第一解密密钥和所述第二解密密钥相同;
[0021] 当所述第四交易数据和所述第五交易数据不相同时,所述监测设备确定所述第一解密密钥和所述第二解密密钥不相同。
[0022] 在一种可能的实现方式中,所述方法还包括:
[0023] 所述监测设备根据所述第一交易数据和所述第四交易数据获取第三测试结果,所述第三测试结果表示交易数据在传输过程中的完整性。
[0024] 在一种可能的实现方式中,所述第一设备为客户端设备,所述第二设备为服务端设备,第三设备为区块链端设备。
[0025] 在一种可能的实现方式中,所述第一加密密钥包括用户私钥和/或交易机构私钥,所述第二加密密钥包括用户私钥和/或交易机构私钥。
[0026] 在一种可能的实现方式中,所述第一解密密钥包括用户公钥和/或交易机构公钥,所述第二解密密钥包括用户公钥和/或交易机构公钥。
[0027] 在本申请实施例第二方面,提供了一种区块链密钥测试装置,所述装置设于监测设备,包括:
[0028] 第一获取单元,用于从第一设备获取第一交易数据,所述第一交易数据为所述第一设备向第二设备发送的数据;
[0029] 签名单元,用于利用第一加密密钥对所述第一交易数据进行数字签名,获得第二交易数据,所述第二交易数据包括第一数字签名和所述第一交易数据,所述第一数字签名为所述监测设备利用第一加密密钥对所述第一交易数据进行数字签名获得的;
[0030] 第二获取单元,用于从所述第二设备获取第三交易数据,所述第三交易数据包括第二数字签名和所述第一交易数据,所述第二数字签名为所述第二设备利用第二加密密钥对所述第一交易数据进行数字签名获得的;
[0031] 第三获取单元,用于根据所述第二交易数据和所述第三交易数据获取第一测试结果,所述第一测试结果表示所述第一加密密钥和所述第二加密密钥是否相同。
[0032] 在本申请实施例第三方面,提供了一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的区块链密钥测试方法。
[0033] 在本申请实施例第四方面,提供了一种用于区块链密钥测试的设备,所述设备包括存储器和处理器,所述存储器用于存储一个或者一个以上的程序,所述处理器用于调用所述存储器中的程序,以执行第一方面所述的区块链密钥测试方法。
[0034] 由此可见,本申请实施例具有如下有益效果:
[0035] 本申请实施例监测设备首先获取第一设备向第二设备发送的第一交易数据,并利用预先存储的第一加密密钥对第一交易数据进行数字签名,获得第二交易数据,其中,第二交易数据包括第一数字签名和第一交易数据,第一数字签名为监测设备利用第一加密密钥对第一交易数据进行数字签名获得的。同时,监测设备从第二设备获取第三交易数据,该第三交易数据包括第二数字签名和第一交易数据,其中,第二数字签名是第二设备利用第二加密密钥对第一交易数据进行数字签名获得的。监测设备根据第二交易数据和第三交易数据判断第一加密密钥和第二加密密钥是否相同,进而验证第二设备所存储的第二加密密钥是否正确,确保密钥的安全性。

附图说明

[0036] 图1为本申请实施例提供的一种区块链密钥管理系统结构图;
[0037] 图2为本申请实施例提供的一种区块链密钥测试方法流程图;
[0038] 图3为本申请实施例提供的测试框架图;
[0039] 图4为本申请实施例提供的一种区块链密钥测试装置结构图。

具体实施方式

[0040] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
[0041] 为便于理解本申请实施例提供的技术方案,下面将先对本申请实施例涉及的技术进行说明。
[0042] 区块链密钥管理系统包括客户端、服务端以及区块链端,如图1所示。其中,区块链密钥管理系统是利用区块链技术实现密钥管理和交易数据存储的系统。客户通过客户端发起交易,服务端根据客户私钥和/或交易机构私钥依次对交易数据进行数字签名,区块链端则使用客户私钥对应的客户公钥和/或交易机构私钥对应的交易机构公钥验证交易数据的数字签名,并存储客户的交易数据。
[0043] 为验证服务端对交易数据进行数字签名所使用的客户私钥、交易结构私钥为正确的密钥以及验证区块链端进行数字签名验证时所使用的客户公钥、交易机构公钥为正确的密钥,本申请实施例提供了一种测试方法,具体为,在客户端设置接口1、在服务端设置接口2以及在区块链端设置接口3,监测设备可以分别通过接口1、接口2以及接口3获取客户端发送的交易数据,并使用客户私钥和/或交易机构私钥对交易数据进行数字签名以及使用客户私钥和/或交易机构公钥对已进行数字签名的交易数据进行验证,通过各端所对应的交易数据一致性测试服务端所存储的私钥以及区块链端所存储的公钥是否正确。
[0044] 另外,数字签名和验证数字签名的过程具体为,发送文本(交易数据)时,发送方用一个哈希函数从文本中生成文本摘要,然后用发送方的私钥对这个摘要进行加密,这个加密后的摘要将作为文本的数字签名和文本一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始文本中计算出文本摘要,接着再用接收方的公钥来对文本附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。
[0045] 数字签名有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的完整性。因为数字签名的特点是它代表了文本的特征,文本如果发生改变,文本摘要的值也将发生变化,不同的文本将得到不同的文本摘要。一次数字签名涉及到一个哈希函数、接收者的公钥、接收者的私钥。
[0046] 为便于理解本申请实施例所提供的技术方案,参见图2所示一种区块链密钥测试方法流程图,如图2所示,该方法可以包括:
[0047] S201:监测设备从第一设备获取第一交易数据。
[0048] 本实施例中,当第一设备向第二设备发送第一交易数据时,监测设备可以通过对应的接口从第一设备获取第一交易数据,并存储该第一交易数据,以利用该第一交易数据进行后续的测试。
[0049] S202:监测设备利用第一加密密钥对第一交易数据进行数字签名,获得第二交易数据。
[0050] 当监测设备获取第一交易数据后,利用内置的第一加密密钥对第一交易数据进行数字签名,获得第二交易数据。其中,第二交易数据包括第一签名数据和第一交易数据。
[0051] 其中,监测设备利用第一加密密钥对第一交易数据进行数字签名获得第二交易数据具体过程,监测设备对第一交易数据进行哈希计算获得该第一交易数据对应的摘要,然后利用第一加密密钥对该摘要进行加密,得到第一签名数据,监测设备再根据第一签名数据和第一交易数据生成第二交易数据。其中,第一加密密钥为监测设备预先内置的客户私钥和/或交易机构私钥,具体地,监测设备可以仅利用客户私钥对第一交易数据进行加密或者仅利用交易机构私钥对第一交易数据进行加密,也可以先利用客户私钥对第一交易数据进行第一次加密,获得密文数据,再利用交易机构私钥对密文数据进行加密,获得第一签名数据。
[0052] S203:监测设备从第二设备获取第三交易数据,其中,第三交易数据包括第二数字签名和第一交易数据。
[0053] 本实施例中,当第一设备将第一交易数据发送至第二设备后,第二设备利用预先存储的第二加密密钥对第一交易数据进行数字签名,获得第二签名数据,并根据第二签名数据和第一交易数据生成第三交易数据。其中,第二加密密钥可以为客户私钥和/或交易机构私钥,关于第二设备利用第二加密密钥获取第二签名数据的过程可以参见S202,本实例在此不再赘述。
[0054] 需要说明的是,其中,监测设备利用第一加密密钥对第一交易数据进行数字签名的方式和第二设备利用第二加密密钥对第一交易数据进行数字签名的方式相同。而且,监测设备获取第一交易数据的摘要所采用的哈希算法和第二设备获取第一交易数据的摘要所采用的哈希算法相同。其中,哈希算法可以包括SHA1、SHA2。
[0055] S204:监测设备根据第二交易数据和第三交易数据获取第一测试结果。
[0056] 本实施例中,当监测设备分别获取到第二交易数据和第三交易数据,将第二交易数据和第三交易数据进行比对校验,获得第一测试结果,该第一测试结果可以表示第一加密密钥和第二加密密钥是否相同。
[0057] 具体地,监测设备可以比较第二交易数据中第一签名数据和第三交易数据中的第二签名数据是否一致;如果第一签名数据和第二签名数据相同,则确定第一加密密钥和第二加密密钥相同,表明第二设备中所存储的第二加密密钥为正确的密钥。由于第一签名数据是由监测设备利用第一加密密钥对第一交易数据进行数字签名获得,第二签名数据是由第二设备利用第二加密密钥对第一交易数据进行数字签名获得,由于监测设备所内置的第一加密密钥为正确密钥,当第一签名数据和第二签名数据相同时,则可以确定第二设备中所保存的第二加密密钥是正确的。当第一签名数据和第二签名数据不相同时,监测设备确定第一加密密钥和第二加密密钥不相同,表明第二设备所存储的第二加密密钥与第一加密密钥不同,可能存在密钥被篡改的风险。
[0058] 可见,监测设备通过比对第二交易数据和第三交易数据的比对,实现对服务端数字签名的功能进行测试。
[0059] 在一些实施例中,监测设备还可以对区块链端的数字签名验证功能进行测试,具体地可以通过以下步骤实现:
[0060] 1)监测设备从第三设备获取第四交易数据。
[0061] 本实施例中,监测设备可以通过预先设置的接口从第三设备获取第四交易数据,该第四交易数据为第三设备利用第二解密密钥对第三交易数据进行数字签名验证后获得的交易数据。具体地,当第二设备生产第三交易数据后,可以将该第三交易数据发送给第三设备,第三设备利用预先保存的第二解密密钥对第三交易数据进行数字签名验证。可以理解的是,第二加密密钥和第二解密密钥为密钥对,具体地,第二加密密钥为私钥,第二解密密钥为公钥。
[0062] 其中,第三设备利用第二解密密钥对第三交易数据进行数字签名验证的过程为,第三设备利用第二解密密钥对第三交易数据中的第二签名数据进行解密,获得第一摘要。同时,第三设备对第三交易数据中第一交易数据进行哈希运算获得第二摘要,如果第一摘要和第二摘要相同,则验证通过;如果第一摘要和第二摘要不相同,则验证不通过。
[0063] 2)监测设备利用第一解密密钥对第三交易数据进行数字签名验证,获得第五交易数据。
[0064] 本实施例中,监测设备在从第二设备获取第三交易数据后,利用第一解密密钥对第三交易数据数字签名验证,以获取第五交易数据。也就是,在本实施例中,监测设备将模拟第二设备对第三交易数据进行验签。其中,第一加密密钥和第一解密密钥为密钥对,具体地,第一加密密钥为私钥,第一解密密钥为公钥。
[0065] 其中,监测设备利用第一解密密钥对第三交易数据进行数字签名验证的具体实现可以参见第三设备利用第二解密密钥对第三交易数据进行数字签名验证实现。
[0066] 3)监测设备根据第四交易数据和第五交易数据获取第二测试结果。
[0067] 本实施例中,监测设备将从第三设备获取的第四交易数据和自身验证的第五交易数据进行比对,以获得第二测试结果。具体地,当第四交易数据和第五交易数据相同时,监测设备确定第一解密密钥和第二解密密钥相同;当第四交易数据和第五交易数据不相同时,监测设备确定第一解密密钥和第二解密密钥不相同。
[0068] 可见,监测设备通过第二测试结果可以对区块链端验证数字签名的功能进行测试,从而查看区块链端的功能。
[0069] 在一些实施例中,监测设备还可以对区块链系统的交易过程是否出现数据篡改进行检测,具体地,监测设备根据第一交易数据和第四交易数据获取第三测试结果,该第三测试结果表示交易数据在传输过程中的完整性。
[0070] 为便于理解本申请实施例,参见图3所示框架图,如图3所示,一个内置测试客户的私钥、对应的公钥和测试交易机构的私钥、对应的公钥的测试装置;设置接口1的客户端;设置接口2的服务端和设置接口3的区块链端。
[0071] 步骤1、测试装置通过接口1模拟测试客户发起交易,并记录交易数据,记为交易数据1。
[0072] 步骤2、测试装置使用内置的与发起交易时相同的该测试客户的同一私钥、该测试交易机构的同一私钥对交易数据1进行数字签名,经过数字签名的交易数据记为交易数据2。
[0073] 步骤3、测试装置在接口2接收经过服务端数字签名的交易数据,记为交易数据3。测试装置将交易数据3与交易数据2进行比对校验,记为校验结果1。
[0074] 步骤4、测试装置在接口3接收存储于区块链端的交易数据,记为交易数据4。
[0075] 步骤5、测试装置使用内置的与发起交易时相同的该测试客户的同一公钥、该测试交易机构的同一公钥验证交易数据3的数字签名,形成交易数据5。测试装置将交易数据5与交易数据4进行比对校验,记为校验结果2。
[0076] 步骤6、将交易数据4与交易数据1进行比对校验,记为校验结果3。
[0077] 其中,校验结果1是对区块链密钥管理系统服务端对交易数据进行数字签名的功能进行测试的结果。校验结果2是对区块链密钥管理系统区块链端验证数字签名的功能进行测试的结果。校验结果3是对使用区块链密钥管理系统进行交易的功能进行测试的结果。
[0078] 基于上述方法实施例,本申请实施例还提供了区块链密钥测试装置,如图4所示,该装置设于监测设备,具体地,该装置可以包括:
[0079] 第一获取单元401,用于从第一设备获取第一交易数据,所述第一交易数据为所述第一设备向第二设备发送的数据;
[0080] 签名单元402,用于利用第一加密密钥对所述第一交易数据进行数字签名,获得第二交易数据,所述第二交易数据包括第一数字签名和所述第一交易数据,所述第一数字签名为所述监测设备利用第一加密密钥对所述第一交易数据进行数字签名获得的;
[0081] 第二获取单元403,用于从所述第二设备获取第三交易数据,所述第三交易数据包括第二数字签名和所述第一交易数据,所述第二数字签名为所述第二设备利用第二加密密钥对所述第一交易数据进行数字签名获得的;
[0082] 第三获取单元404,用于根据所述第二交易数据和所述第三交易数据获取第一测试结果,所述第一测试结果表示所述第一加密密钥和所述第二加密密钥是否相同。
[0083] 在一种可能的实现方式,所述第三获取单元,包括:
[0084] 比较子单元,用于比较所述第二交易数据中的第一签名数据和所述第三交易数据中的第二签名数据是否一致;
[0085] 第一确定子单元,用于当所述第一签名数据和所述第二签名数据相同时,确定第一加密密钥和所述第二加密密钥相同;
[0086] 第二确定子单元,用于当所述第一签名数据和所述第二签名数据不相同时,确定第一加密密钥和所述第二加密密钥不相同。
[0087] 在一种可能的实现方式中,所述装置还包括:
[0088] 第四获取单元,用于从第三设备获取第四交易数据,所述第四交易数据为所述第三设备利用第二解密密钥对所述第三交易数据进行数字签名验证后获得的交易数据;
[0089] 验证单元,用于利用第一解密密钥对所述第三交易数据进行数字签名验证,获得第五交易数据;
[0090] 第五获取单元,用于根据所述第四交易数据和所述第五交易数据获取第二测试结果,所述第二测试结果表示所述第一解密密钥和所述解密密钥是否相同。
[0091] 在一种可能的实现方式中,所述第五获取单元,具体包括:
[0092] 第三确定子单元,用于当所述第四交易数据和所述第五交易数据相同时,确定所述第一解密密钥和所述第二解密密钥相同;
[0093] 第四确定子单元,用于当所述第四交易数据和所述第五交易数据不相同时,确定所述第一解密密钥和所述第二解密密钥不相同。
[0094] 在一种可能的实现方式中,所述装置还包括:
[0095] 第六获取单元,用于根据所述第一交易数据和所述第四交易数据获取第三测试结果,所述第三测试结果表示交易数据在传输过程中的完整性。
[0096] 在一种可能的实现方式中,所述第一设备为客户端设备,所述第二设备为服务端设备,第三设备为区块链端设备。
[0097] 在一种可能的实现方式中,所述第一加密密钥包括用户私钥和/或交易机构私钥,所述第二加密密钥包括用户私钥和/或交易机构私钥。
[0098] 在一种可能的实现方式中,所述第一解密密钥包括用户公钥和/或交易机构公钥,所述第二解密密钥包括用户公钥和/或交易机构公钥。
[0099] 需要说明的是,本实施例中各个单元的实现可以参见上述方法实例,本实施例在此不再赘述。
[0100] 另外,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行所述的区块链密钥测试方法。
[0101] 本申请实施例提供了一种用于区块链密钥测试的设备,所述设备包括存储器和处理器,所述存储器用于存储一个或者一个以上的程序,所述处理器用于调用所述存储器中的程序,以执行所述的区块链密钥测试方法。
[0102] 通过上述可知,监测设备首先获取第一设备向第二设备发送的第一交易数据,并利用预先存储的第一加密密钥对第一交易数据进行数字签名,获得第二交易数据,其中,第二交易数据包括第一数字签名和第一交易数据,第一数字签名为监测设备利用第一加密密钥对第一交易数据进行数字签名获得的。同时,监测设备从第二设备获取第三交易数据,该第三交易数据包括第二数字签名和第一交易数据,其中,第二数字签名是第二设备利用第二加密密钥对第一交易数据进行数字签名获得的。监测设备根据第二交易数据和第三交易数据判断第一加密密钥和第二加密密钥是否相同,进而验证第二设备所存储的第二加密密钥是否正确,确保密钥的安全性。
[0103] 需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0104] 应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0105] 还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0106] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD‑ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0107] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。