一种电子设备及其保护种子数据包的方法与流程

文档序号:22324943发布日期:2020-09-25 17:53阅读:142来源:国知局
一种电子设备及其保护种子数据包的方法与流程

本发明涉及信息安全领域,特别涉及一种电子设备及其保护种子数据包的方法。



背景技术:

目前,有些电子设备给某些数据接收方发送某些数据时,需要知道数据接收方的帐户地址,并使用帐户私钥对这些数据进行加密,然后才根据数据接收方的帐户地址向数据接收方发送加密后的数据;而这些帐户地址和帐户私钥是电子设备根据其公私钥生成的,这时就会有保护生成公私钥所用种子数据的需求。

但是,现有上位机与电子设备进行通信时,上位机可以通过指令来获取或者篡改电子设备中的种子数据,电子设备接收到上位机的指令后,仅仅对指令做一下简单解密验证,就会根据指令来更改电子设备中的种子数据或者向上位机返回种子数据,没办法防止恶意上位机获取或者篡改电子设备中的种子数据,安全性差;现亟需一种电子设备及其保护种子数据包的方法来解决这个问题。



技术实现要素:

为解决现有技术中的技术缺陷,本发明提出了一种电子设备及其保护种子数据包的方法。

本发明提供了一种电子设备保护种子数据包的方法,所述方法包括以下步骤:

步骤s01:当接收到上位机发送的管理数据指令时,电子设备从管理数据指令中获取管理指令标签数据;判断保存的授权数据块中是否包括所述管理指令标签数据,是则执行步骤s02;否则向上位机发送报错响应;

步骤s02:所述电子设备根据所述管理指令标签数据确定管理数据指令的类型,如为导入种子数据指令则执行步骤s03;如为生成随机数种子指令则执行步骤s05;如为导出种子数据指令则执行步骤s07;

步骤s03:所述电子设备根据管理数据指令执行验证pin码数据操作,如验证pin码数据成功则根据预置种子数据格式判断管理数据指令中种子数据包是否合法,是则执行步骤s04;否则向上位机发送报错响应;

步骤s04:所述电子设备检查当前钱包状态,如为可用状态则向上位机返回报错响应;否则将当前钱包状态设置为可用状态;设置导出状态;执行步骤s06;

步骤s05:所述电子设备根据管理数据指令执行验证pin码数据操作,如验证pin码数据成功则生成随机数作为随机数种子并保存至种子数据包;将当前钱包状态设置为可用状态;设置导出状态;执行步骤s06;

步骤s06:所述电子设备保存种子数据包;根据种子数据包和第一预置曲线得到根密钥;根据根密钥、第二预置曲线和保存的币种标识得到帐户公钥和帐户私钥,根据帐户公钥得到帐户地址,对应保存帐户地址和帐户私钥,并向上位机发送管理数据响应;

步骤s07:所述电子设备根据管理数据指令执行验证pin码数据操作,如验证pin码数据成功则确定种子数据包的导出状态,如为支持导出状态则获取种子数据包,根据种子数据包组织管理数据响应,向上位机发送管理数据响应;如为不支持导出状态则向上位机发送报错响应。

本发明又提出了一种电子设备,电子设备包括接收模块、第一获取模块、第一判断模块、第一确定模块、发送模块、第一验证模块、第二判断模块、检查模块、第一设置模块、第二设置模块、第二验证模块、生成保存模块、第三设置模块、第四设置模块、保存数据模块、生成密钥模块、第三验证模块、第二确定模块、第二获取模块和组织模块;

所述接收模块,用于接收上位机发送的管理数据指令;

所述第一获取模块,用于从所述接收模块接收的管理数据指令中获取管理指令标签数据;

所述第一判断模块,用于判断保存的授权数据块中是否包括所述第一获取模块获取的管理指令标签数据;

所述第一确定模块,用于如所述第一判断模块判断为是,根据所述第一获取模块获取的管理指令标签数据确定管理数据指令的类型;

所述发送模块,用于如所述第一判断模块判断为否,向上位机发送报错响应;

所述第一验证模块,用于如所述第一确定模块确定管理数据指令为导入种子数据指令,根据管理数据指令执行验证pin码数据操作;

所述第二判断模块,用于如所述第一验证模块验证pin码数据成功,根据预置种子数据格式判断管理数据指令中种子数据包是否合法;

所述发送模块,还用于如所述第二判断模块判断为否,向上位机发送报错响应;

所述检查模块,用于如所述第二判断模块判断为是,检查当前钱包状态;

所述发送模块,还用于如所述检查模块检查当前钱包状态为可用状态,向上位机发送报错响应;

所述第一设置模块,用于如所述检查模块检查当前钱包状态为不可用状态,将当前钱包状态设置为可用状态;

所述第二设置模块,用于如所述检查模块检查当前钱包状态为不可用状态,设置导出状态;

所述第二验证模块,用于如所述第一确定模块确定管理数据指令为生成随机数种子指令,根据管理数据指令执行验证pin码数据操作;

所述生成保存模块,用于如所述第二验证模块验证pin码数据成功,生成随机数作为随机数种子并保存至种子数据包;

所述第三设置模块,用于如所述第二验证模块验证pin码数据成功,将当前钱包状态设置为可用状态;

所述第四设置模块,用于如所述第二验证模块验证pin码数据成功,设置导出状态;

所述保存数据模块,用于如所述第二验证模块验证pin码数据成功,保存种子数据包;

所述生成密钥模块,用于根据所述保存数据模块保存的种子数据包和第一预置曲线得到根密钥;根据根密钥、第二预置曲线和保存的币种标识得到帐户公钥和帐户私钥,根据帐户公钥得到帐户地址,对应保存帐户地址和帐户私钥;

所述第三验证模块,用于如所述第一确定模块确定管理数据指令为导出种子数据指令,根据管理数据指令执行验证pin码数据操作;

所述第二确定模块,用于如所述第三验证模块验证pin码数据成功,确定种子数据包的导出状态;

所述第二获取模块,用于如所述第二确定模块确定导出状态为支持导出状态,获取种子数据包;

所述组织模块,用于根据所述第二获取模块获取的种子数据包组织管理数据响应;

所述发送模块,还用于向上位机发送所述组织模块组织的管理数据响应;

所述发送模块,还用于如所述第二确定模块确定导出状态为不支持导出状态,向上位机发送报错响应。

采用上述技术方案达到的有益效果如下:本发明提供了一种电子设备及其保护种子数据包的方法;所述方法中,如电子设备接收到上位机发送的管理数据指令,电子设备根据管理数据指令执行多次验证才可以通过导入种子数据包操作或者生成种子数据包操作更新电子设备中的种子数据,或者通过执行导出种子数据操作向上位机返回种子数据包,电子设备中种子数据包不容易泄露或被伪造篡改,安全性高。

附图说明

图1-1和图1-2是本发明实施例1提供的一种电子设备保护种子数据包的方法的流程图;

图2-1、图2-2、图2-3和图2-4是本发明实施例2提供的一种电子设备保护种子数据包的方法的流程图;

图3是本发明实施例3提供的一种电子设备的方框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式做进一步地详细描述。

实施例1

本实施例提供了一种电子设备保护种子数据包的方法;如图1-1和图1-2所示,包括以下步骤:

步骤101:当接收到上位机发送的管理数据指令时,电子设备从管理数据指令中获取管理指令标签数据;判断保存的授权数据块中是否包括管理指令标签数据,是则执行步骤102;否则向上位机发送报错响应;

步骤102:电子设备根据管理指令标签数据确定管理数据指令的类型,如为导入种子数据指令则执行步骤103;如为生成随机数种子指令则执行步骤105;如为导出种子数据指令则执行步骤107;

步骤103:电子设备根据管理数据指令执行验证pin码数据操作,如验证pin码数据成功则根据预置种子数据格式判断管理数据指令中种子数据包是否合法,是则执行步骤104;否则向上位机发送报错响应;

步骤104:电子设备检查当前钱包状态,如为可用状态则向上位机返回报错响应;否则将当前钱包状态设置为可用状态;设置导出状态;执行步骤106;

步骤105:电子设备根据管理数据指令执行验证pin码数据操作,如验证pin码数据成功则生成随机数作为随机数种子并保存至种子数据包;将当前钱包状态设置为可用状态;设置导出状态;执行步骤106;

步骤106:电子设备保存种子数据包;根据种子数据包和第一预置曲线得到根密钥;根据根密钥、第二预置曲线和保存的币种标识得到帐户公钥和帐户私钥,根据帐户公钥得到帐户地址,对应保存帐户地址和帐户私钥,并向上位机发送管理数据响应;

步骤107:电子设备根据管理数据指令执行验证pin码数据操作,如验证pin码数据成功则确定种子数据包的导出状态,如为支持导出状态则获取种子数据包,根据种子数据包组织管理数据响应,向上位机发送管理数据响应;如为不支持导出状态则向上位机发送报错响应。

可选地,步骤101之前,还包括:步骤m01:当接收到上位机发送的授权指令时,电子设备验证授权指令中上位机证书的合法性,如上位机证书合法则从授权指令中上位机证书中获取授权数据块并保存;如上位机证书不合法则向上位机发送报错响应;

进一步地,如上位机证书合法,还包括:电子设备判断保存的授权数据块是否等于第三预置数据,是则等待接收上位机发送的管理数据指令;当接收到上位机发送的管理数据指令时,从管理数据指令中获取管理指令标签数据,执行步骤102;否则执行步骤101。

可选地,步骤101中,还包括:电子设备判断保存的授权数据块是否等于第三预置数据,是则执行步骤102,否则判断保存的授权数据块中是否包括管理指令标签数据。

可选地,步骤101中,如判断为是时,还包括:电子设备判断预置授权管理列表中是否包括管理指令标签数据,如为是则执行步骤102;否则向上位机发送报错响应。

可选地,步骤104中,设置导出状态,具体为:电子设备根据管理数据指令中种子数据包确定导出状态,如种子数据包包括熵数据,则导出状态为支持导出状态;如种子数据包不包括熵数据,则导出状态为不支持导出状态;

进一步地,当确定导出状态为支持导出状态时,还包括:电子设备将导出状态标识设置为第六预置数据;当确定导出状态为不支持导出状态时,还包括:电子设备将导出状态标识设置为第七预置数据;

进一步地,步骤105中,设置导出状态,具体为:电子设备将导出状态标识设置为第七预置数据;

进一步地,步骤107中,确定种子数据包的导出状态,具体为:电子设备判断导出状态标识的类型,如为第六预置数据则获取自己保存的种子数据包,根据种子数据包组织管理数据响应,向上位机发送管理数据响应,如为第七预置数据则向上位机发送报错响应。

相应地,步骤107中,确定种子数据包的导出状态,具体为:电子设备判断自己保存的种子数据包中是否包括熵数据,如为是则导出状态为支持导出状态,如为否则导出状态为不支持导出状态。

可选地,步骤104中,设置导出状态,具体为:电子设备从种子数据包中获取导出状态数据,根据导出状态数据确定导出状态的类型,如导出状态数据为第一预置导出数据,则导出状态为支持导出状态;如导出状态数据为第二预置导出数据,导出状态为不支持导出状态;

进一步地,当确定导出状态为支持导出状态时,还包括:电子设备将导出状态标识设置为第六预置数据;当确定导出状态为不支持导出状态时,还包括:电子设备将导出状态标识设置为第七预置数据;

进一步地,步骤105中,设置导出状态,具体为:电子设备将导出状态标识设置为第七预置数据;

进一步地,步骤107中,确定种子数据包的导出状态,具体为:电子设备判断导出状态标识的类型,如为第六预置数据则获取自己保存的种子数据包,根据种子数据包组织管理数据响应,向上位机发送管理数据响应,如为第七预置数据则向上位机发送报错响应。

可选地,步骤106中,根据种子数据包和第一预置曲线得到根密钥;根据根密钥、第二预置曲线和保存的币种标识得到帐户公钥和帐户私钥,具体为:电子设备根据第一预置算法对种子数据包中种子数据和第一预置曲线进行计算得到根密钥;根据第二预置算法对根密钥、第二预置曲线和保存的币种标识进行计算得到帐户公钥和帐户私钥。

可选地,根据管理数据指令执行验证pin码数据操作具体为:电子设备从管理数据指令中获取第一pin码数据;获取自己保存的第二pin码数据;判断第二pin码数据是否等于第一pin码数据,是则验证pin码数据成功,否则验证pin码数据失败;

进一步地,根据管理数据指令执行验证pin码数据操作,还包括:电子设备判断保存的计数数据是否合法,是则更新计数数据,从管理数据指令中获取第一pin码数据;否则执行重置操作,向上位机返回报错响应;

进一步地,如验证pin码数据成功时,还包括:电子设备重置计数数据。

进一步地,重置操作具体为:电子设备重置计数数据;删除种子数据包;重置第二pin码数据,将当前钱包状态设置为不可用状态,向上位机返回报错响应。

可选地,步骤102中,还包括:如为更新pin码指令,则电子设备根据管理数据指令执行验证pin码数据操作;如验证pin码数据成功则从管理数据指令中获取第三pin码数据;将第三pin码数据作为新的第二pin码数据保存;向上位机发送管理数据响应。

可选地,步骤102中,还包括:如为重置指令,则电子设备重置计数数据;删除种子数据包;重置第二pin码数据,将当前钱包状态设置为不可用状态;向上位机发送管理数据响应。

可选地,步骤102中,还包括:如为更新应用指令,则电子设备根据管理数据指令执行验证pin码数据操作;如验证pin码数据成功,则使用管理数据指令中应用数据更新保存的应用数据,向上位机发送管理数据响应。

可选地,步骤102中,还包括:如为更新证书指令,则电子设备根据管理数据指令执行验证pin码数据操作;如验证pin码数据成功则使用管理数据指令中设备证书更新保存的设备证书,向上位机发送管理数据响应。

实施例2

本实施例提供了一种电子设备保护种子数据包的方法;如图2-1、图2-2、图2-3和图2-4所示,包括以下步骤:

步骤201:当接收到上位机发送的管理数据指令时,电子设备从管理数据指令中获取管理密文数据;使用会话密钥解密管理密文数据得到管理明文数据;从管理明文数据中获取管理指令标签数据;

可选地,本步骤中,从管理明文数据中获取管理指令标签数据,具体为:电子设备从管理明文数据中获取第一预置字节长度的数据作为管理指令标签数据。

可选地,本步骤之后,还包括:电子设备判断保存的授权数据块是否等于第三预置数据,是则执行步骤203;否则执行步骤202。

可选地,本步骤之前,还包括以下步骤:

步骤c01:当接收到上位机发送的授权指令时,电子设备解析授权指令得到上位机证书;从上位机证书获取授权数据块;向上位机发送授权响应;

进一步地,本步骤之前,还包括:上位机根据上位机证书组织授权指令;向电子设备发送授权指令;

例如,授权指令为0x802a1810ec7f2181e89310434552545f4150505f45434b41303031420d6a75626974657277616c6c65745f200d6a75626974657277616c6c6574950200805f2504202005255f2404202505245300bf200eef0c8d0a820182028203820482057f4946b041048fd3fab3907c5cc8cd193eb2b653ea179115b7f305c9e21de6d29c0736a3b82025b219f24bda86d80f5ae262521e124f4c6691a0c47b1fb72d95895e9312cb0df001005f3746304402204d75eaa2f09604a9597da905d680eb619b8adcf080e5ad6950e1dbf26195c9e2022067649afb4a8bc380b382520499c6f2bb350a8519b0ecdbe0b7374aa898826d0e;

进一步地,步骤c01中,从上位机证书获取授权数据块之后,还包括:电子设备保存授权数据块至缓存区;

例如,授权数据块为0xbf200eef0c8d0a82018202820382048205;

相应地,步骤202中,还包括:电子设备从缓存区获取授权数据块。

进一步地,步骤c01中,从上位机证书获取授权数据块之后,还包括步骤c11:电子设备判断保存的授权数据块是否等于第三预置数据,是则向上位机发送授权响应,执行步骤c12;否则向上位机发送授权响应;执行步骤201;

例如,第三预置数据为0x00;

步骤c12:当接收到上位机发送的管理数据指令时,电子设备从管理数据指令中获取管理指令标签数据;执行步骤203。

步骤c02:电子设备与上位机进行通信建立安全通道得到会话密钥;

进一步地,还包括:电子设备与上位机进行通信建立安全通道得到安全等级;

相应地,本步骤之后,还包括:电子设备判断安全等级的类型,当为会话密钥类型时,执行步骤203;当为会话mac类型时,执行会话mac操作,向上位机返回管理响应数据。

例如,管理数据指令为0x84cb800068ac9e99da82b08c2d2a74a0d518713c62766637b8747e55eb31193e7b825350b62552ae2674923070e58b0895aa04efbb5e86d1b7eb0230b05539e0a3fade3983be2351ccecbd82e6666613f9ecb8cab4119002286a6d6ecb36bb0c639566027d90c7ff0a91f4e711;

管理密文数据为0xac9e99da82b08c2d2a74a0d518713c62766637b8747e55eb31193e7b825350b62552ae2674923070e58b0895aa04efbb5e86d1b7eb0230b05539e0a3fade3983be2351ccecbd82e6666613f9ecb8cab4119002286a6d6ecb36bb0c639566027d90c7ff0a91f4e711;

管理明文数据为0xdffe5a820257043535353510042ba54a95b4e29e89a10f7bfa6f1166400ae3f096b7b0f46afecccb1b9b170ca02342cc4948ad9e9d2259262f28783fbdbe16af85228f9e0945923a4d65fdf5f549115d06e404ae6880048b745b2acbfc;

第一预置字节长度为0x02;

管理指令标签数据为0x8205;

步骤202:电子设备判断保存的授权数据块中是否包括管理指令标签数据,是则执行步骤203;否则执行步骤d21;

例如,授权数据块为0xbf200eef0c8d0a82018202820382048205;

管理指令标签数据为0x8205;

步骤203:电子设备判断预置授权管理列表中是否包括管理指令标签数据,是则执行步骤204;否则执行步骤d21;

例如,预置授权管理列表为0x82018202820382048205;

例如,管理指令标签数据为0x8205;

步骤204:电子设备根据管理明文数据中管理指令标签数据确定管理数据指令的类型,如为导入种子数据指令则步骤211;如为生成随机数种子指令则执行步骤221;如为导出种子数据指令则执行步骤231;

可选地,本步骤具体为:电子设备根据管理指令标签数据确定管理数据指令的类型,如管理指令标签数据为第一预置标签数据,则管理数据指令为导入种子数据指令,执行步骤211;如管理指令标签数据为第二预置标签数据,则管理数据指令为生成随机数种子指令,执行步骤221;如管理指令标签数据为第三预置标签数据,则管理数据指令为导出种子数据指令,执行步骤231;

例如,第一预置标签数据为0x8201;

第二预置标签数据为0x8203;

第三预置标签数据为0x8202;

步骤211:电子设备判断保存的计数数据是否合法,是则步骤213,否则执行步骤212;

可选地,本步骤具体为:电子设备判断保存的计数数据是否等于第四预置数据,如为是则计数数据不合法,执行步骤212,否则执行步骤213;

相应地,步骤212中和步骤214中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤213中,电子设备更新计数数据,具体为:电子设备将计数数据减去第八预置数据;

例如,计数数据为0x05;

默认计数数据为0x00;

第八预置数据为0x01;

第四预置数据为0x00。

其中,电子设备出厂时设置计数数据为默认计数数据;

可选地,本步骤具体为:电子设备判断保存的计数数据是否小于第五预置数据,如为是则计数数据合法,执行步骤213,否则执行步骤212;

相应地,步骤212中和步骤214中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤213中,电子设备更新计数数据,具体为:电子设备将计数数据加上第八预置数据;

例如,计数数据为0x05;

默认计数数据为0x00;

第八预置数据为0x01;

第五预置数据为0x0a。

其中,电子设备出厂时设置计数数据为默认计数数据。

可选地,本步骤具体为:电子设备判断保存的计数数据是否大于或等于第五预置数据,如为是则计数数据不合法,执行步骤212,否则执行步骤213;

相应地,步骤212中和步骤214中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤213中,电子设备更新计数数据,具体为:电子设备将计数数据加上第八预置数据;

其中,电子设备出厂时设置计数数据为默认计数数据。

步骤212:电子设备重置计数数据;删除种子数据包;重置第二pin码数据;将当前钱包状态设置为不可用状态;执行步骤d21;

可选地,本步骤中,重置第二pin码数据,具体为:电子设备将第二pin码数据设置为默认pin码数据;

例如,管理数据指令为0x84cb800068ac9e99da82b08c2d2a74a0d518713c62766637b8747e55eb31193e7b825350b62552ae2674923070e58b0895aa04efbb5e86d1b7eb0230b05539e0a3fade3983be2351ccecbd82e6666613f9ecb8cab4119002286a6d6ecb36bb0c639566027d90c7ff0a91f4e711;

种子数据包为0x10042ba54a95b4e29e89a10f7bfa6f1166400ae3f096b7b0f46afecccb1b9b170ca02342cc4948ad9e9d2259262f28783fbdbe16af85228f9e0945923a4d65fdf5f549115d06e404ae6880048b745b2acbfc;

第二pin码数据为0x35353535;

步骤213:电子设备更新计数数据;从管理明文数据获取第一pin码数据;获取自己保存的第二pin码数据;判断第二pin码数据是否等于第一pin码数据,是则执行步骤214;否则执行步骤d21;

例如,管理明文数据为0x80cb80005ddffe5a8202570435353535

10042ba54a95b4e29e89a10f7bfa6f1166400ae3f096b7b0f46afecccb1b9b170ca02342cc4948ad9e9d2259262f28783fbdbe16af85228f9e0945923a4d65fdf5f549115d06e404ae6880048b745b2acbfc;

第一pin码数据为0x35353535;

第二pin码数据为0x35353535;

步骤214:电子设备重置计数数据;根据预置种子数据格式判断管理明文数据中种子数据包是否合法,是则执行步骤215;否则执行步骤d21;

可选地,本步骤具体为:电子设备重置计数数据;判断管理明文数据中种子数据包是否符合预置种子数据格式,是则种子数据合法,执行步骤215;否则不合法,执行步骤d21;

例如,预置种子数据格式为种子数据的长度为64字节;

步骤215:电子设备检查当前钱包状态,如为可用状态则步骤d21;如为不可用状态则执行步骤216;

可选地,本实施例中,可以用钱包状态标识的置复位情况来标识当前钱包状态的可用情况;有两种表示方式:其一,钱包状态标识置位时,当前钱包状态为可用状态;钱包状态标识复位时,当前钱包状态为不可用状态;其二,钱包状态标识复位时,当前钱包状态为可用状态;钱包状态标识置位时,当前钱包状态为不可用状态;

如为第一种表示方式,本步骤具体为:电子设备检查钱包状态标识,如钱包状态标识置位,则当前钱包状态为可用状态,执行步骤d21;如钱包状态标识复位,则当前钱包状态为不可用状态,执行步骤216;

如为第二种表示方式,本步骤具体为:电子设备检查钱包状态标识,如钱包状态标识复位,则当前钱包状态为可用状态,执行步骤d21;如钱包状态标识置位,则当前钱包状态为不可用状态,执行步骤216。

步骤216:电子设备确定导出状态;设置导出状态;保存种子数据包;

可选地,本步骤包括以下步骤:

步骤c21:电子设备根据管理明文数据中种子数据包确定导出状态;如导出状态为支持导出状态,执行步骤c22;如导出状态为不支持导出状态,执行步骤c23;

步骤c22:电子设备将当前钱包状态从不可用状态更新为可用状态,且设置导出状态为支持导出状态;保存种子数据包;执行步骤217;

步骤c23:电子设备将当前钱包状态从不可用状态更新为可用状态,且设置导出状态为不支持导出状态,保存种子数据包;执行步骤217。

可选地,本步骤包括更以下步骤:

步骤c31:电子设备判断种子数据包中是否包括熵数据,如包括熵数据,则导出状态为支持导出状态,执行步骤c32;如不包括熵数据,导出状态为不支持导出状态,执行步骤c33;

例如,种子数据包为0x10042ba54a95b4e29e89a10f7bfa6f1166400ae3f096b7b0f46afecccb1b9b170ca02342cc4948ad9e9d2259262f28783fbdbe16af85228f9e0945923a4d65fdf5f549115d06e404ae6880048b745b2acbfc;

熵数据为0x042ba54a95b4e29e89a10f7bfa6f1166;

步骤c32:电子设备将当前钱包状态从不可用状态更新为可用状态,且设置导出状态为支持导出状态;保存种子数据包;执行步骤217;

步骤c33:电子设备将当前钱包状态从不可用状态更新为可用状态,且设置导出状态为不支持导出状态,保存种子数据包;执行步骤217。

可选地,本步骤包括更以下步骤:

步骤c41:电子设备从种子数据包中获取导出状态数据,根据导出状态数据确定导出状态的类型,如导出状态数据为第一预置导出数据,导出状态为支持导出状态,执行步骤c42;如导出状态数据为第二预置导出数据,导出状态为不支持导出状态,执行步骤c43;

步骤c42:电子设备将当前钱包状态从不可用状态更新为可用状态,且设置导出状态为支持导出状态;保存种子数据包;执行步骤217;

步骤c43:电子设备将当前钱包状态从不可用状态更新为可用状态,且设置导出状态为不支持导出状态,保存种子数据包;执行步骤217。

可选地,本步骤包括以下步骤:

步骤c51:电子设备根据管理明文数据中种子数据包确定导出状态;如导出状态为支持导出状态,将导出状态标识设置为第六预置数据,执行步骤c52;如导出状态为不支持导出状态,将导出状态标识设置为第七预置数据,执行步骤c53;

步骤c52:电子设备将当前钱包状态从不可用状态更新为可用状态,且设置导出状态为支持导出状态;保存种子数据包;执行步骤217;

步骤c53:电子设备将当前钱包状态从不可用状态更新为可用状态,且设置导出状态为不支持导出状态,保存种子数据包;执行步骤217;

进一步地,第六预置数据为置位且第七预置数据为复位;或者第六预置数据为复位且第七预置数据为置位。

步骤217:电子设备根据种子数据包和第一预置曲线得到根密钥;根据根密钥、第二预置曲线和保存的币种标识得到帐户公钥和帐户私钥,根据帐户公钥得到帐户地址,对应保存帐户地址和帐户私钥;根据预置的填充数据块组织第二明文数据;执行步骤d11;

例如,种子数据包为0x10042ba54a95b4e29e89a10f7bfa6f1166400ae3f096b7b0f46afecccb1b9b170ca02342cc4948ad9e9d2259262f28783fbdbe16af85228f9e0945923a4d65fdf5f549115d06e404ae6880048b745b2acbfc;

第一预置曲线为nist256p1;

根密钥为0x03b1a0077ccac9756d293c812d716ccbd74690a0dccbd851f2bc08d436e36683a7;

第二预置曲线为bitcoin;

币种标识为0;

帐户公钥为0x03d5c1375def423491ad6bed6db1b7d80ac2e725c2eaaa3ff8c052de2b8aa783ff;

帐户地址为1hgryp2pviwbrexbfc1znft8d2t95vkiwp;

帐户私钥为0xe27be0ea13d2b4a2a5c36d14ed1e93b67758518fe530ba03f514d79a142d0530;

填充数据块为0x80000000000000000000000000000000;

第二明文数据为0x80000000000000000000000000000000;

可选地,根据根密钥、第二预置曲线和币种标识得到帐户公钥和帐户私钥之前,包括:电子设备预先设置币种标识;其中,电子设备可以出厂时预先设置币种标识。

可选地,根据根密钥、第二预置曲线和币种标识得到帐户公钥和帐户私钥之前,还包括:如电子设备接收到上位机发送的第一指令,电子设备从第一指令中获取币种标识并保存。

步骤d11:电子设备使用会话密钥加密第二明文数据得到第二密文数据;根据第二密文数据和第二预置状态码得到管理数据响应,向上位机发送管理数据响应;

例如,会话密钥为0x0a5dee50149023e58130b4d12c32085c;

第二预置状态码为0x9000;

第二明文数据为0x80000000000000000000000000000000;

第二密文数据为0xa51a48710ca1dd9b066781cdc1f7708c;

管理数据响应为0xa51a48710ca1dd9b066781cdc1f7708cce0ccc4ccb3dede69000;

可选地,本步骤之后,还包括:上位机接收并解析管理数据响应得到第二预置状态码,当第二预置状态码为第二预置数据时,报错结束;

步骤d21:电子设备根据第一预置状态码组织错误响应,向上位机返回错误响应;

例如,第一预置状态码为0x6985;

错误响应为0x6985;

可选地,本步骤之后,还包括:上位机接收并解析错误响应得到第一预置状态码,当第一预置状态码为第一预置数据时,报错结束。

步骤221:电子设备判断保存的计数数据是否合法,是则步骤223,否则执行步骤222;

可选地,本步骤具体为:电子设备判断保存的计数数据是否等于第四预置数据,如为是则计数数据不合法,执行步骤222,否则执行步骤223;

相应地,步骤222中和步骤224中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤223中,电子设备更新计数数据,具体为:电子设备将计数数据减去第八预置数据;

例如,计数数据为0x05;

默认计数数据为0x00;

第八预置数据为0x01;

第四预置数据为0x00。

可选地,本步骤具体为:电子设备判断计数数据是否小于第五预置数据,如为是则计数数据合法,执行步骤223,否则执行步骤222;

相应地,步骤222中和步骤224中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤223中,电子设备更新计数数据,具体为:电子设备将计数数据加上第八预置数据;

例如,计数数据为0x05;

默认计数数据为0x00;

第八预置数据为0x01;

第五预置数据为0x0a。

可选地,本步骤具体为:电子设备判断计数数据是否大于或等于第五预置数据,如为是则计数数据不合法,执行步骤222,否则执行步骤223;

相应地,步骤222中和步骤224中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤223中,电子设备更新计数数据,具体为:电子设备将计数数据加上第八预置数据;

例如,计数数据为0x05;

默认计数数据为0x00;

第八预置数据为0x01;

第五预置数据为0x0a。

例如,如管理数据指令为生成随机数种子指令时,管理数据指令为0x84cb8000183c359b35b10ebf2857315e860831aa3b95ab8a5aa6e5f469;

管理明文数据为0x80cb80000bdffe088203050435353535;

计数数据为0x05;

默认计数数据为0x00;

第五预置数据为0x0a;

第八预置数据为0x01。

步骤222:电子设备重置计数数据;删除种子数据包;重置第二pin码数据;将当前钱包状态设置为不可用状态;执行步骤d21;

可选地,本步骤中,重置第二pin码数据,具体为:电子设备将第二pin码数据设置为默认pin码数据。

步骤223:电子设备更新计数数据;从管理明文数据获取第一pin码数据;获取自己保存的第二pin码数据;判断第二pin码数据是否等于第一pin码数据,是则执行步骤224;否则执行步骤d21;

例如,管理明文数据为0x80cb80000bdffe088203050435353535;

第一pin码数据为0x35353535;

第二pin码数据为0x35353535;

计数数据为0x05;

默认计数数据为0x00;

第五预置数据为0x0a;

第八预置数据为0x01。

步骤224:电子设备重置计数数据;生成随机数作为随机数种子并保存至种子数据包;将当前钱包状态设置为可用状态;设置导出状态;保存种子数据包;根据预置的填充数据块组织第二明文数据;执行步骤d11;

例如,随机数为0x10042ba54a95b4e29e89a10f7bfa6f1166400ae3f096b7b0f46afecccb1b9b170ca02342cc4948ad9e9d2259262f28783fbdbe16af85228f9e0945923a4d65fdf5f549115d06e404ae6880048b745b2acbfc;

随机数种子为0x10042ba54a95b4e29e89a10f7bfa6f1166400ae3f096b7b0f46afecccb1b9b170ca02342cc4948ad9e9d2259262f28783fbdbe16af85228f9e0945923a4d65fdf5f549115d06e404ae6880048b745b2acbfc;

种子数据包为0x10042ba54a95b4e29e89a10f7bfa6f1166400ae3f096b7b0f46afecccb1b9b170ca02342cc4948ad9e9d2259262f28783fbdbe16af85228f9e0945923a4d65fdf5f549115d06e404ae6880048b745b2acbfc;

填充数据块为0x80000000000000000000000000000000;

第二明文数据为0x80000000000000000000000000000000;

可选地,设置导出状态,具体为:电子设备设置导出状态为不支持导出状态。

可选地,设置导出状态,具体为:电子设备设置导出状态为支持导出状态。

可选地,设置导出状态,具体为:电子设备设置导出状态标识为第七预置数据;

可选地,设置导出状态,具体为:电子设备设置导出状态标识为第六预置数据;

进一步地,第六预置数据为置位且第七预置数据为复位;或者第六预置数据为复位且第七预置数据为置位。

可选地,如钱包状态标识的置复位情况来标识当前钱包状态的可用情况的表示方式为:钱包状态标识置位时,当前钱包状态为可用状态;钱包状态标识复位时,当前钱包状态为不可用状态;

相应地,将当前钱包状态设置为可用状态,具体为:电子设备置位可用状态标识。

可选地,如钱包状态标识的置复位情况来标识当前钱包状态的可用情况的表示方式为:钱包状态标识复位时,当前钱包状态为可用状态;钱包状态标识置位时,当前钱包状态为不可用状态;

相应地,将当前钱包状态设置为可用状态,具体为:电子设备复位可用状态标识。

步骤231:电子设备判断保存的计数数据是否合法,是则步骤233,否则执行步骤232;

可选地,本步骤具体为:电子设备判断保存的计数数据是否等于第四预置数据,如为是则计数数据不合法,执行步骤232,否则执行步骤233;

相应地,步骤232中和步骤234中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤233中,电子设备更新计数数据,具体为:电子设备将计数数据减去第八预置数据;

其中,电子设备出厂时设置计数数据为默认计数数据。

可选地,本步骤具体为:电子设备判断保存的计数数据是否小于第五预置数据,如为是则计数数据合法,执行步骤233,否则执行步骤232;

相应地,步骤232中和步骤234中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤233中,电子设备更新计数数据,具体为:电子设备将计数数据加上第八预置数据;

其中,电子设备出厂时设置计数数据为默认计数数据。

可选地,本步骤具体为:电子设备判断计数数据是否大于或等于第五预置数据,如为是则计数数据不合法,执行步骤232,否则执行步骤233;

相应地,步骤232中和步骤234中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤233中,电子设备更新计数数据,具体为:电子设备将计数数据加上第八预置数据;

其中,电子设备出厂时设置计数数据为默认计数数据。

例如,如管理数据指令为生成导出种子指令时,管理数据指令为0x84cb80001815a38d1227a74beec44a5f5e2b7622dddf91b77e0d3a37d8;

管理明文数据为0x80cb80000bdfff088202050435353535;

计数数据为0x05;

默认计数数据为0x00;

第四预置数据为0x00;

第五预置数据为0x0a;

第八预置数据为0x01。

步骤232:电子设备重置计数数据;删除种子数据包;重置第二pin码数据;将当前钱包状态设置为不可用状态;执行步骤d21;

可选地,本步骤中,重置第二pin码数据,具体为:电子设备将第二pin码数据设置为默认pin码数据。

步骤233:电子设备更新计数数据;从管理明文数据获取第一pin码数据;获取自己保存的第二pin码数据;判断第二pin码数据是否等于第一pin码数据,是则执行步骤234;否则执行步骤d21;

例如,第一pin码数据为0x35353535;

第二pin码数据为0x35353535;

步骤234:电子设备重置计数数据;确定种子数据包的导出状态,如为支持导出状态则执行步骤235;如为不支持导出状态则执行步骤d21;

可选地,本步骤具体为:电子设备设置计数数据为默认计数数据;获取自己保存的种子数据包,查询种子数据包的导出状态,如为支持导出状态则执行步骤235;如为不支持导出状态则执行步骤d21。

可选地,本步骤具体为:电子设备设置计数数据为默认计数数据;判断自己保存的种子数据包中是否包括熵数据,是则导出状态为支持导出状态,执行步骤235;否则导出状态为不支持导出状态,向上位机发送报错响应;

相应地,步骤235具体为:电子设备获取自己保存的种子数据包,根据种子数据包中熵数据和预置的填充数据块组织第二明文数据,执行步骤d11。

可选地,本步骤具体为:电子设备设置计数数据为默认计数数据;判断导出状态标识的类型,如为第六预置数据则执行步骤235;如为第七预置数据则向上位机发送报错响应;

进一步地,第六预置数据为置位且第七预置数据为复位;或者第六预置数据为复位且第七预置数据为置位。

相应地,步骤235具体为:电子设备获取自己保存的种子数据包,根据种子数据包和填充数据块组织第二明文数据,执行步骤d11。

步骤235:电子设备根据种子数据包和预置的填充数据块组织第二明文数据,执行步骤d11。

例如,种子数据包包括042ba54a95b4e29e89a10f7bfa6f1166;

填充数据块为0x80000000000000000000000000000000

第二明文数据为0x042ba54a95b4e29e89a10f7bfa6f116680000000000000000000000000000000;

第二密文数据为0xf109eefac9ff691585d7f31195ea749b02e4db7a3177b7a2bcbca115682ba325;

响应数据为0xf109eefac9ff691585d7f31195ea749b02e4db7a3177b7a2bcbca115682ba325b2ef1d0f0e11098e9000;

可选地,本实施例中,步骤204还包括:如为更新pin码指令则执行步骤241;

进一步地,如管理指令标签数据为第四预置标签数据,则管理数据指令为更新pin码指令,执行步骤241;

步骤241:电子设备判断保存的计数数据是否合法,是则步骤243,否则执行步骤242;

可选地,本步骤具体为:电子设备判断保存的计数数据是否等于第四预置数据,如为是则计数数据不合法,执行步骤242,否则执行步骤243;

相应地,步骤242中和步骤244中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤243中,电子设备更新计数数据,具体为:电子设备将计数数据减去第八预置数据。

可选地,本步骤具体为:电子设备判断计数数据是否小于第五预置数据,如为是则计数数据合法,执行步骤243,否则执行步骤242;

相应地,步骤242中和步骤244中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤243中,电子设备更新计数数据,具体为:电子设备将计数数据加上第八预置数据。

可选地,本步骤具体为:电子设备判断计数数据是否大于或等于第五预置数据,如为是则计数数据不合法,执行步骤242,否则执行步骤243;

相应地,步骤242中和步骤244中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤243中,电子设备更新计数数据,具体为:电子设备将计数数据加上第八预置数据。

步骤242:电子设备重置计数数据;删除种子数据包;重置第二pin码数据;将当前钱包状态设置为不可用状态;执行步骤d21;

可选地,本步骤中,重置第二pin码数据,具体为:电子设备将第二pin码数据设置为默认pin码数据。

步骤243:电子设备更新计数数据;从管理明文数据获取第一pin码数据;获取自己保存的第二pin码数据;判断第二pin码数据是否等于第一pin码数据,是则执行步骤244;否则执行步骤d21;

步骤244:电子设备重置计数数据;从管理明文数据获取第三pin码数据;根据预置pin码数据格式判断第三pin码数据是否合法,是则执行步骤245;否则执行步骤d21;

步骤245:电子设备将第三pin码数据作为新的第二pin码数据保存;根据预置的填充数据块组织第二明文数据,执行步骤d11;

可选地,本步骤中,将第三pin码数据作为新的第二pin码数据保存,具体为:电子设备对第三pin码数据进行哈希运算,将得到的哈希结果作为第二pin码数据保存。

可选地,本实施例中,步骤204还包括:如为重置指令则执行步骤251;

进一步地,如管理指令标签数据为第五预置标签数据,则管理数据指令为重置指令,执行步骤251;

步骤251:电子设备重置计数数据;删除种子数据包;重置第二pin码数据;将当前钱包状态设置为不可用状态;根据预置的填充数据块组织第二明文数据;执行步骤d11;

可选地,重置计数数据,具体为:电子设备将计数数据设置为默认计数数据。

可选地,重置第二pin码数据,具体为:电子设备将第二pin码数据设置为默认pin码数据并保存。

可选地,本实施例中,步骤204还包括:如为更新应用指令则执行步骤261;

如管理指令标签数据为第六预置标签数据,则管理数据指令为更新应用指令,执行步骤261;

步骤261:电子设备判断保存的计数数据是否合法,是则步骤263,否则执行步骤262;

可选地,本步骤具体为:电子设备判断保存的计数数据是否等于第四预置数据,如为是则计数数据不合法,执行步骤262,否则执行步骤263;

相应地,步骤262中和步骤264中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤263中,电子设备更新计数数据,具体为:电子设备将计数数据减去第八预置数据;

其中,电子设备出厂时设置计数数据为默认计数数据。

可选地,本步骤具体为:电子设备判断计数数据是否小于第五预置数据,如为是则计数数据合法,执行步骤263,否则执行步骤262;

相应地,步骤262中和步骤264中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤263中,电子设备更新计数数据,具体为:电子设备将计数数据加上第八预置数据;

其中,电子设备出厂时设置计数数据为默认计数数据。

可选地,本步骤具体为:电子设备判断计数数据是否大于或等于第五预置数据,如为是则计数数据不合法,执行步骤262,否则执行步骤263;

相应地,步骤262中和步骤264中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤263中,电子设备更新计数数据,具体为:电子设备将计数数据加上第八预置数据;

其中,电子设备出厂时设置计数数据为默认计数数据。

步骤262:电子设备重置计数数据;删除种子数据包;重置第二pin码数据;将当前钱包状态设置为不可用状态;执行步骤d21;

可选地,本步骤中,重置第二pin码数据,具体为:电子设备将第二pin码数据设置为默认pin码数据。

步骤263:电子设备更新计数数据;从管理明文数据获取第一pin码数据;获取自己保存的第二pin码数据;判断第二pin码数据是否等于第一pin码数据,是则执行步骤264;否则执行步骤d21;

步骤264:电子设备重置计数数据;使用管理明文数据中应用数据更新自己保存的应用数据;根据预置的填充数据块组织第二明文数据,执行步骤d11。

可选地,本实施例中,步骤204还包括:如为更新证书指令则执行步骤271;

如管理指令标签数据为第七预置标签数据,则管理数据指令为更新证书指令,执行步骤271;

步骤271:电子设备判断保存的计数数据是否合法,是则步骤273,否则执行步骤272;

可选地,本步骤具体为:电子设备判断保存的计数数据是否等于第四预置数据,如为是则计数数据不合法,执行步骤272,否则执行步骤273;

相应地,步骤272中和步骤274中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤273中,电子设备更新计数数据,具体为:电子设备将计数数据减去第八预置数据;

其中,电子设备出厂时设置计数数据为默认计数数据。

可选地,本步骤具体为:电子设备判断保存的计数数据是否小于第五预置数据,如为是则计数数据合法,执行步骤273,否则执行步骤272;

相应地,步骤272中和步骤274中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤273中,电子设备更新计数数据,具体为:电子设备将计数数据加上第八预置数据;

其中,电子设备出厂时设置计数数据为默认计数数据。

可选地,本步骤具体为:电子设备判断保存的计数数据是否大于或等于第五预置数据,如为是则计数数据不合法,执行步骤272,否则执行步骤273;

相应地,步骤272中和步骤274中,电子设备重置计数数据,具体为:电子设备将计数数据设置为默认计数数据;

相应地,步骤273中,电子设备更新计数数据,具体为:电子设备将计数数据加上第八预置数据;

其中,电子设备出厂时设置计数数据为默认计数数据。

步骤272:电子设备重置计数数据;删除种子数据包;重置第二pin码数据;将当前钱包状态设置为不可用状态;执行步骤d21;

可选地,本步骤中,重置第二pin码数据,具体为:电子设备将第二pin码数据设置为默认pin码数据。

步骤273:电子设备更新计数数据;从管理明文数据获取第一pin码数据;获取自己保存的第二pin码数据;判断第二pin码数据是否等于第一pin码数据,是则执行步骤274;否则执行步骤d21;

步骤274:电子设备重置计数数据;使用管理明文数据中电子设备设备证书更新自己保存的电子设备设备证书,根据预置的填充数据块组织第二明文数据;第二预置状态码组织第二明文数据,执行步骤d11;

可选地,本实施例中,电子设备可以是一种保护数字货币账户安全的硬件钱包。

实施例3

本实施例提供了一种电子设备,如图3所示,电子设备包括接收模块301、第一获取模块302、第一判断模块303、第一确定模块304、发送模块305、第一验证模块306、第二判断模块307、检查模块308、第一设置模块309、第二设置模块310、第二验证模块311、生成保存模块312、第三设置模块313、第四设置模块314、保存数据模块315、生成密钥模块316、第三验证模块317、第二确定模块318、第二获取模块319和组织模块320;

接收模块301,用于接收上位机发送的管理数据指令;

第一获取模块302,用于从接收模块301接收的管理数据指令中获取管理指令标签数据;

第一判断模块303,用于判断保存的授权数据块中是否包括第一获取模块302获取的管理指令标签数据;

第一确定模块304,用于如第一判断模块303判断为是,根据第一获取模块302获取的管理指令标签数据确定管理数据指令的类型;

发送模块305,用于如第一判断模块303判断为否,向上位机发送报错响应;

第一验证模块306,用于如第一确定模块304确定管理数据指令为导入种子数据指令,根据管理数据指令执行验证pin码数据操作;

第二判断模块307,用于如第一验证模块306验证pin码数据成功,根据预置种子数据格式判断管理数据指令中种子数据包是否合法;

发送模块305,还用于如第二判断模块307判断为否,向上位机发送报错响应;

检查模块308,用于如第二判断模块307判断为是,检查当前钱包状态;

发送模块305,还用于如检查模块308检查当前钱包状态为可用状态,向上位机发送报错响应;

第一设置模块309,用于如检查模块308检查当前钱包状态为不可用状态,将当前钱包状态设置为可用状态;

第二设置模块310,用于如检查模块308检查当前钱包状态为不可用状态,设置导出状态;

第二验证模块311,用于如第一确定模块304确定管理数据指令为生成随机数种子指令,根据管理数据指令执行验证pin码数据操作;

生成保存模块312,用于如第二验证模块311验证pin码数据成功,生成随机数作为随机数种子并保存至种子数据包;

第三设置模块313,用于如第二验证模块311验证pin码数据成功,将当前钱包状态设置为可用状态;

第四设置模块314,用于如第二验证模块311验证pin码数据成功,设置导出状态;

保存数据模块315,用于如第二验证模块311验证pin码数据成功,保存种子数据包;

生成密钥模块316,用于根据保存数据模块315保存的种子数据包和第一预置曲线得到根密钥;根据根密钥、第二预置曲线和保存的币种标识得到帐户公钥和帐户私钥,根据帐户公钥得到帐户地址,对应保存帐户地址和帐户私钥;

第三验证模块317,用于如第一确定模块304确定管理数据指令为导出种子数据指令,根据管理数据指令执行验证pin码数据操作;

第二确定模块318,用于如第三验证模块317验证pin码数据成功,确定种子数据包的导出状态;

第二获取模块319,用于如第二确定模块318确定导出状态为支持导出状态,获取种子数据包;

组织模块320,用于根据第二获取模块319获取的种子数据包组织管理数据响应;

发送模块305,还用于向上位机发送组织模块320组织的管理数据响应;

发送模块305,还用于如第二确定模块318确定导出状态为不支持导出状态,向上位机发送报错响应。

可选地,本实施例中的电子设备,还包括第四验证模块和第三获取模块;

相应地,接收模块301,还用于接收上位机发送的授权指令;

相应地,第四验证模块,用于验证接收模块301接收的授权指令中上位机证书的合法性;

相应地,第三获取模块,用于如第四验证模块验证上位机证书合法,从接收模块301接收的授权指令中上位机证书中获取授权数据块并保存;

相应地,发送模块305,还用于如第四验证模块验证上位机证书不合法,向上位机发送报错响应;

进一步地,本实施例中的电子设备,还包括第三判断模块和第四获取模块;接收模块301包括第一接收单元;

进一步相应地,第三判断模块,用于如第四验证模块验证上位机证书合法,判断保存的授权数据块是否等于第三预置数据;

进一步相应地,第四获取模块,用于如第三判断模块判断为是,等待接收上位机发送的管理数据指令;当接收到上位机发送的管理数据指令时,从管理数据指令中获取管理指令标签数据;否则触发第一接收单元;

进一步相应地,第一确定模块304,还用于如第四获取模块从管理数据指令中获取管理指令标签数据,根据第四获取模块获取的管理指令标签数据确定管理数据指令的类型;

进一步相应地,第一接收单元,用于接收上位机发送的授权指令。

可选地,本实施例中的电子设备还包括第四判断模块:

相应地,第四判断模块,用于判断保存的授权数据块是否等于第三预置数据;

相应地,第一判断模块303,具体用于如第四判断模块判断为是,判断保存的授权数据块中是否包括第一获取模块302获取的管理指令标签数据;

相应地,第一确定模块304,还用于如第四判断模块判断为否,根据第一获取模块302获取的管理指令标签数据确定管理数据指令的类型。

可选地,本实施例中的电子设备还包括第五判断模块;

相应地,第五判断模块,用于如第一判断模块303判断为是,判断预置授权管理列表中是否包括管理指令标签数据;

相应地,第一确定模块304,还用于如第五判断模块判断为是,根据第一获取模块302获取的管理指令标签数据确定管理数据指令的类型;

相应地,发送模块305,还用于如第五判断模块判断为否,向上位机发送报错响应。

可选地,第二设置模块310,具体用于如检查模块308检查当前钱包状态为不可用状态,判断管理数据指令中种子数据包中是否包括熵数据,如为是则导出状态为支持导出状态;如为否则导出状态为不支持导出状态;

相应地,第二确定模块318,具体用于如第三验证模块317验证pin码数据成功,判断自己保存的种子数据包中是否包括熵数据,如为是则导出状态为支持导出状态,如为否则导出状态为不支持导出状态;

进一步地,第二设置模块310,还用于如导出状态为支持导出状态,将导出状态标识设置为第六预置数据;如导出状态为不支持导出状态,将导出状态标识设置为第七预置数据;

进一步相应地,第四设置模块314,具体用于将导出状态标识设置为第七预置数据;

进一步相应地,第二确定模块318,具体用于如第三验证模块317验证pin码数据成功,判断导出状态标识的类型,如为第六预置数据则导出状态为支持导出状态,如为第七预置数据则导出状态为不支持导出状态。

可选地,所第二设置模块310,具体用于如检查模块308检查当前钱包状态为不可用状态,从种子数据包中获取导出状态数据,根据导出状态数据确定导出状态的类型,如导出状态数据为第一预置导出数据,则导出状态为支持导出状态;如导出状态数据为第二预置导出数据,则导出状态为不支持导出状态。

进一步地,第二设置模块310,还用于如导出状态为支持导出状态,将导出状态标识设置为第六预置数据;如导出状态为不支持导出状态,将导出状态标识设置为第七预置数据;

进一步相应地,第四设置模块314,具体用于将导出状态标识设置为第七预置数据;

进一步相应地,第二确定模块318,具体用于如第三验证模块317验证pin码数据成功,判断导出状态标识的类型,如为第六预置数据则导出状态为支持导出状态,如为第七预置数据则导出状态为不支持导出状态。

可选地,生成密钥模块316,具体用于根据第一预置算法对保存数据模块315保存的种子数据包中种子数据和第一预置曲线进行计算得到根密钥;根据第二预置算法对根密钥、第二预置曲线和保存的币种标识进行计算得到帐户公钥和帐户私钥。

可选地,第一验证模块306,具体用于如第一确定模块304确定管理数据指令为导入种子数据指令,从管理数据指令中获取第一pin码数据;获取自己保存的第二pin码数据;判断第二pin码数据是否等于第一pin码数据,是则验证pin码数据成功,否则验证pin码数据失败;

进一步地,第一验证模块306包括第一获取单元;第一验证模块306还包括第一判断单元、第一重置单元和第二重置单元;

进一步相应地,第一获取单元,用于从管理数据指令中获取第一pin码数据;

进一步相应地,第一判断单元,用于判断保存的计数数据是否合法,是则更新计数数据,触发第一获取单元;否则触发第一重置单元,向上位机返回报错响应;

进一步相应地,第一重置单元,用于如第一判断单元判断为否,执行重置操作;

更进一步地,第一重置单元,具体用于如第一判断单元判断为否,重置计数数据;删除种子数据包;重置第二pin码数据,将当前钱包状态设置为不可用状态,向上位机返回报错响应。

进一步相应地,发送模块305,还用于如第一判断单元判断为否,向上位机返回报错响应;

进一步相应地,第二重置单元,用于如第一验证模块306验证验证pin码数据成功,重置计数数据。

相应地,第二验证模块311,具体用于如第一确定模块304确定管理数据指令为生成随机数种子指令,从管理数据指令中获取第一pin码数据;获取自己保存的第二pin码数据;判断第二pin码数据是否等于第一pin码数据,是则验证pin码数据成功,否则验证pin码数据失败;

进一步相应地,第二验证模块311包括第二获取单元;第二验证模块311还包括第二判断单元、第三重置单元和第四重置单元;

进一步相应地,第二获取单元,用于从管理数据指令中获取第一pin码数据;

进一步相应地,第二判断单元,用于判断保存的计数数据是否合法,是则更新计数数据,触发第二获取单元;否则触发第三重置单元,向上位机返回报错响应;

进一步相应地,第三重置单元,用于如第二判断单元判断为否,执行重置操作;

更进一步地,第三重置单元,具体用于如第二判断单元判断为否,重置计数数据;删除种子数据包;重置第二pin码数据,将当前钱包状态设置为不可用状态,向上位机返回报错响应。

进一步相应地,发送模块305,还用于如第二判断单元判断为否,向上位机返回报错响应;

进一步相应地,第四重置单元,用于如第二验证模块311验证验证pin码数据成功,重置计数数据。

相应地,第三验证模块317,用于如第一确定模块304确定管理数据指令为导出种子数据指令,从管理数据指令中获取第一pin码数据;获取自己保存的第二pin码数据;判断第二pin码数据是否等于第一pin码数据,是则验证pin码数据成功,否则验证pin码数据失败;

进一步相应地,第三验证模块317包括第三获取单元;第三验证模块317还包括第三判断单元、第五重置单元和第六重置单元;

进一步相应地,第三获取单元,用于从管理数据指令中获取第一pin码数据;

进一步相应地,第三判断单元,用于判断保存的计数数据是否合法,是则更新计数数据,触发第三获取单元;否则触发第五重置单元,向上位机返回报错响应;

进一步相应地,第五重置单元,用于如第三判断单元判断为否,执行重置操作;

更进一步地,第五重置单元,具体用于如第三判断单元判断为否,重置计数数据;删除种子数据包;重置第二pin码数据,将当前钱包状态设置为不可用状态,向上位机返回报错响应。

进一步相应地,发送模块305,还用于如第三判断单元判断为否,向上位机返回报错响应;

进一步相应地,第六重置单元,用于如第三验证模块317验证验证pin码数据成功,重置计数数据。

可选地,本实施例中的电子设备还包括更新pin码模块:更新pin码模块,用于如第一确定模块304确定管理数据指令为更新pin码指令,根据管理数据指令执行验证pin码数据操作;如验证pin码数据成功则从管理数据指令中获取第三pin码数据;将第三pin码数据作为新的第二pin码数据保存;向上位机发送管理数据响应。

可选地,本实施例中的电子设备还包括重置模块:重置模块,用于如第一确定模块304确定管理数据指令为重置指令,重置计数数据;删除种子数据包;重置第二pin码数据,将当前钱包状态设置为不可用状态;向上位机发送管理数据响应。

可选地,本实施例中的电子设备还包括更新应用模块:更新应用模块,用于如第一确定模块304确定管理数据指令为更新应用指令,根据管理数据指令执行验证pin码数据操作;如验证pin码数据成功,则使用管理数据指令中应用数据更新保存的应用数据,向上位机发送管理数据响应。

可选地,本实施例中的电子设备还包括更新应用模块:更新应用模块,用于如第一确定模块304确定管理数据指令为更新证书指令,根据管理数据指令执行验证pin码数据操作;如验证pin码数据成功则使用管理数据指令中设备证书更新保存的设备证书,向上位机发送管理数据响应。

以上所述,仅为0x本发明较佳的具体实施方式,但本发明的电子设备及其保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的电子设备及其保护范围之内。因此,本发明的电子设备及其保护范围应该以权利要求的电子设备及其保护范围为0x准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1