CN111709060A - 一种电子设备及其保护种子数据包的方法 - Google Patents

一种电子设备及其保护种子数据包的方法 Download PDF

Info

Publication number
CN111709060A
CN111709060A CN202010840499.2A CN202010840499A CN111709060A CN 111709060 A CN111709060 A CN 111709060A CN 202010840499 A CN202010840499 A CN 202010840499A CN 111709060 A CN111709060 A CN 111709060A
Authority
CN
China
Prior art keywords
data
module
state
instruction
pin code
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.)
Granted
Application number
CN202010840499.2A
Other languages
English (en)
Other versions
CN111709060B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN202010840499.2A priority Critical patent/CN111709060B/zh
Publication of CN111709060A publication Critical patent/CN111709060A/zh
Application granted granted Critical
Publication of CN111709060B publication Critical patent/CN111709060B/zh
Priority to US17/791,318 priority patent/US20230353364A1/en
Priority to PCT/CN2021/108955 priority patent/WO2022037379A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种电子设备及其保护种子数据包的方法,特别涉及信息安全领域。所述电子设备包括接收模块、第一获取模块、第一判断模块、第一确定模块、发送模块、第一验证模块、第二判断模块、检查模块、第一设置模块、第二设置模块、第二验证模块、生成保存模块、第三设置模块、第四设置模块、保存数据模块、生成密钥模块、第三验证模块、第二确定模块、第二获取模块和组织模块。

Description

一种电子设备及其保护种子数据包的方法
技术领域
本发明涉及信息安全领域,特别涉及一种电子设备及其保护种子数据包的方法。
背景技术
目前,有些电子设备给某些数据接收方发送某些数据时,需要知道数据接收方的帐户地址,并使用帐户私钥对这些数据进行加密,然后才根据数据接收方的帐户地址向数据接收方发送加密后的数据;而这些帐户地址和帐户私钥是电子设备根据其公私钥生成的,这时就会有保护生成公私钥所用种子数据的需求。
但是,现有上位机与电子设备进行通信时,上位机可以通过指令来获取或者篡改电子设备中的种子数据,电子设备接收到上位机的指令后,仅仅对指令做一下简单解密验证,就会根据指令来更改电子设备中的种子数据或者向上位机返回种子数据,没办法防止恶意上位机获取或者篡改电子设备中的种子数据,安全性差;现亟需一种电子设备及其保护种子数据包的方法来解决这个问题。
发明内容
为解决现有技术中的技术缺陷,本发明提出了一种电子设备及其保护种子数据包的方法。
本发明提供了一种电子设备保护种子数据包的方法,所述方法包括以下步骤:
步骤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准。

Claims (32)

1.一种电子设备保护种子数据包的方法,其特征在于,所述方法包括以下步骤:
步骤S01:当接收到上位机发送的管理数据指令时,电子设备从管理数据指令中获取管理指令标签数据;判断保存的授权数据块中是否包括所述管理指令标签数据,是则执行步骤S02;否则向上位机发送报错响应;
步骤S02:所述电子设备根据所述管理指令标签数据确定管理数据指令的类型,如为导入种子数据指令则执行步骤S03;如为生成随机数种子指令则执行步骤S05;如为导出种子数据指令则执行步骤S07;
步骤S03:所述电子设备根据管理数据指令执行验证PIN码数据操作,如验证PIN码数据成功则根据预置种子数据格式判断管理数据指令中种子数据包是否合法,是则执行步骤S04;否则向上位机发送报错响应;
步骤S04:所述电子设备检查当前钱包状态,如为可用状态则向上位机返回报错响应;否则将当前钱包状态设置为可用状态;设置导出状态;执行步骤S06;
步骤S05:所述电子设备根据管理数据指令执行验证PIN码数据操作,如验证PIN码数据成功则生成随机数作为随机数种子并保存至种子数据包;将当前钱包状态设置为可用状态;设置导出状态;执行步骤S06;
步骤S06:所述电子设备保存种子数据包;根据种子数据包和第一预置曲线得到根密钥;根据根密钥、第二预置曲线和保存的币种标识得到帐户公钥和帐户私钥,根据帐户公钥得到帐户地址,对应保存帐户地址和帐户私钥,并向上位机发送管理数据响应;
步骤S07:所述电子设备根据管理数据指令执行验证PIN码数据操作,如验证PIN码数据成功则确定种子数据包的导出状态,如为支持导出状态则获取种子数据包,根据种子数据包组织管理数据响应,向上位机发送管理数据响应;如为不支持导出状态则向上位机发送报错响应。
2.如权利要求1所述的方法,其特征在于,所述步骤S01之前,还包括:
步骤M01:当接收到上位机发送的授权指令时,所述电子设备验证授权指令中上位机证书的合法性,如上位机证书合法则从授权指令中上位机证书中获取授权数据块并保存;如上位机证书不合法则向上位机发送报错响应。
3.如权利要求2所述的方法,其特征在于,如上位机证书合法,还包括:所述电子设备判断保存的授权数据块是否等于第三预置数据,是则等待接收上位机发送的管理数据指令;当接收到上位机发送的管理数据指令时,从管理数据指令中获取管理指令标签数据,执行步骤S02;否则执行步骤S01。
4.如权利要求1所述的方法,其特征在于,所述步骤S01中,还包括:所述电子设备判断保存的授权数据块是否等于第三预置数据,是则执行步骤S02,否则判断保存的授权数据块中是否包括所述管理指令标签数据。
5.如权利要求1所述的方法,其特征在于,所述步骤S01中,如判断为是时,还包括:所述电子设备判断预置授权管理列表中是否包括所述管理指令标签数据,如为是则执行步骤S02;否则向上位机发送报错响应。
6.如权利要求1所述的方法,其特征在于,所述步骤S04中,所述设置导出状态,具体为:所述电子设备根据管理数据指令中种子数据包确定导出状态,如种子数据包包括熵数据,则导出状态为支持导出状态;如种子数据包不包括熵数据,则导出状态为不支持导出状态;
所述步骤S07中,所述确定种子数据包的导出状态,具体为:所述电子设备判断自己保存的种子数据包中是否包括熵数据,如为是则导出状态为支持导出状态,如为否则导出状态为不支持导出状态。
7.如权利要求1所述的方法,其特征在于,所述步骤S04中,所述设置导出状态,具体为:所述电子设备从种子数据包中获取导出状态数据,根据导出状态数据确定导出状态的类型,如导出状态数据为第一预置导出数据,则导出状态为支持导出状态;如导出状态数据为第二预置导出数据,导出状态为不支持导出状态。
8.如权利要求6或7所述的方法,其特征在于,当确定导出状态为支持导出状态时,还包括:所述电子设备将导出状态标识设置为第六预置数据;当确定导出状态为不支持导出状态时,还包括:所述电子设备将导出状态标识设置为第七预置数据;
所述步骤S05中,设置导出状态,具体为:所述电子设备将导出状态标识设置为第七预置数据;
所述步骤S07中,所述确定种子数据包的导出状态,具体为:所述电子设备判断导出状态标识的类型,如为第六预置数据则获取自己保存的种子数据包,根据种子数据包组织管理数据响应,向上位机发送管理数据响应,如为第七预置数据则向上位机发送报错响应。
9.如权利要求1所述的方法,其特征在于,所述步骤S06中,所述根据种子数据包和第一预置曲线得到根密钥;根据根密钥、第二预置曲线和保存的币种标识得到帐户公钥和帐户私钥,具体为:所述电子设备根据第一预置算法对种子数据包中种子数据和第一预置曲线进行计算得到根密钥;根据第二预置算法对根密钥、第二预置曲线和保存的币种标识进行计算得到帐户公钥和帐户私钥。
10.如权利要求1所述的方法,其特征在于,所述根据管理数据指令执行验证PIN码数据操作具体为:所述电子设备从管理数据指令中获取第一PIN码数据;获取自己保存的第二PIN码数据;判断第二PIN码数据是否等于第一PIN码数据,是则验证PIN码数据成功,否则验证PIN码数据失败。
11.如权利要求10所述的方法,其特征在于,所述根据管理数据指令执行验证PIN码数据操作,还包括:所述电子设备判断保存的计数数据是否合法,是则更新计数数据,从管理数据指令中获取第一PIN码数据;否则执行重置操作,向上位机返回报错响应;
如验证PIN码数据成功时,还包括:所述电子设备重置计数数据。
12.如权利要求11所述的方法,其特征在于,所述重置操作具体为:所述电子设备重置计数数据;删除种子数据包;重置第二PIN码数据,将当前钱包状态设置为不可用状态,向上位机返回报错响应。
13.如权利要求1所述的方法,其特征在于,所述步骤S02中,还包括:如为更新PIN码指令,则所述电子设备根据管理数据指令执行验证PIN码数据操作;如验证PIN码数据成功则从管理数据指令中获取第三PIN码数据;将第三PIN码数据作为新的第二PIN码数据保存;向上位机发送管理数据响应。
14.如权利要求1所述的方法,其特征在于,所述步骤S02中,还包括:如为重置指令,则所述电子设备重置计数数据;删除种子数据包;重置第二PIN码数据,将当前钱包状态设置为不可用状态;向上位机发送管理数据响应。
15.如权利要求1所述的方法,其特征在于,所述步骤S02中,还包括:如为更新应用指令,则所述电子设备根据管理数据指令执行验证PIN码数据操作;如验证PIN码数据成功,则使用管理数据指令中应用数据更新保存的应用数据,向上位机发送管理数据响应。
16.如权利要求1所述的方法,其特征在于,所述步骤S02中,还包括:如为更新证书指令,则所述电子设备根据管理数据指令执行验证PIN码数据操作;如验证PIN码数据成功则使用管理数据指令中设备证书更新保存的设备证书,向上位机发送管理数据响应。
17.一种电子设备,其特征在于,电子设备包括接收模块、第一获取模块、第一判断模块、第一确定模块、发送模块、第一验证模块、第二判断模块、检查模块、第一设置模块、第二设置模块、第二验证模块、生成保存模块、第三设置模块、第四设置模块、保存数据模块、生成密钥模块、第三验证模块、第二确定模块、第二获取模块和组织模块;
所述接收模块,用于接收上位机发送的管理数据指令;
所述第一获取模块,用于从所述接收模块接收的管理数据指令中获取管理指令标签数据;
所述第一判断模块,用于判断保存的授权数据块中是否包括所述第一获取模块获取的管理指令标签数据;
所述第一确定模块,用于如所述第一判断模块判断为是,根据所述第一获取模块获取的管理指令标签数据确定管理数据指令的类型;
所述发送模块,用于如所述第一判断模块判断为否,向上位机发送报错响应;
所述第一验证模块,用于如所述第一确定模块确定管理数据指令为导入种子数据指令,根据管理数据指令执行验证PIN码数据操作;
所述第二判断模块,用于如所述第一验证模块验证PIN码数据成功,根据预置种子数据格式判断管理数据指令中种子数据包是否合法;
所述发送模块,还用于如所述第二判断模块判断为否,向上位机发送报错响应;
所述检查模块,用于如所述第二判断模块判断为是,检查当前钱包状态;
所述发送模块,还用于如所述检查模块检查当前钱包状态为可用状态,向上位机发送报错响应;
所述第一设置模块,用于如所述检查模块检查当前钱包状态为不可用状态,将当前钱包状态设置为可用状态;
所述第二设置模块,用于如所述检查模块检查当前钱包状态为不可用状态,设置导出状态;
所述第二验证模块,用于如所述第一确定模块确定管理数据指令为生成随机数种子指令,根据管理数据指令执行验证PIN码数据操作;
所述生成保存模块,用于如所述第二验证模块验证PIN码数据成功,生成随机数作为随机数种子并保存至种子数据包;
所述第三设置模块,用于如所述第二验证模块验证PIN码数据成功,将当前钱包状态设置为可用状态;
所述第四设置模块,用于如所述第二验证模块验证PIN码数据成功,设置导出状态;
所述保存数据模块,用于如所述第二验证模块验证PIN码数据成功,保存种子数据包;
所述生成密钥模块,用于根据所述保存数据模块保存的种子数据包和第一预置曲线得到根密钥;根据根密钥、第二预置曲线和保存的币种标识得到帐户公钥和帐户私钥,根据帐户公钥得到帐户地址,对应保存帐户地址和帐户私钥;
所述第三验证模块,用于如所述第一确定模块确定管理数据指令为导出种子数据指令,根据管理数据指令执行验证PIN码数据操作;
所述第二确定模块,用于如所述第三验证模块验证PIN码数据成功,确定种子数据包的导出状态;
所述第二获取模块,用于如所述第二确定模块确定导出状态为支持导出状态,获取种子数据包;
所述组织模块,用于根据所述第二获取模块获取的种子数据包组织管理数据响应;
所述发送模块,还用于向上位机发送所述组织模块组织的管理数据响应;
所述发送模块,还用于如所述第二确定模块确定导出状态为不支持导出状态,向上位机发送报错响应。
18.如权利要求17所述的电子设备,其特征在于,还包括第四验证模块和第三获取模块;
所述接收模块,还用于接收上位机发送的授权指令;
所述第四验证模块,用于验证所述接收模块接收的授权指令中上位机证书的合法性;
所述第三获取模块,用于如所述第四验证模块验证上位机证书合法,从所述接收模块接收的授权指令中上位机证书中获取授权数据块并保存;
所述发送模块,还用于如第四验证模块验证上位机证书不合法,向上位机发送报错响应。
19.如权利要求18所述的电子设备,其特征在于,还包括第三判断模块和第四获取模块;所述接收模块包括第一接收单元;
所述第三判断模块,用于如第四验证模块验证上位机证书合法,判断保存的授权数据块是否等于第三预置数据;
所述第四获取模块,用于如第三判断模块判断为是,等待接收上位机发送的管理数据指令;当接收到上位机发送的管理数据指令时,从管理数据指令中获取管理指令标签数据;否则触发所述第一接收单元;
所述第一确定模块,还用于如所述第四获取模块从管理数据指令中获取管理指令标签数据,根据所述第四获取模块获取的管理指令标签数据确定管理数据指令的类型;
所述第一接收单元,用于接收上位机发送的授权指令。
20.如权利要求17所述的电子设备,其特征在于,还包括第四判断模块:
所述第四判断模块,用于判断保存的授权数据块是否等于第三预置数据;
所述第一判断模块,具体用于如第四判断模块判断为是,判断保存的授权数据块中是否包括所述第一获取模块获取的管理指令标签数据;
所述第一确定模块,还用于如第四判断模块判断为否,根据所述第一获取模块获取的管理指令标签数据确定管理数据指令的类型。
21.如权利要求17所述的电子设备,其特征在于,还包括第五判断模块;
所述第五判断模块,用于如第一判断模块判断为是,判断预置授权管理列表中是否包括所述管理指令标签数据;
所述第一确定模块,还用于如第五判断模块判断为是,根据第一获取模块获取的管理指令标签数据确定管理数据指令的类型;
所述发送模块,还用于如第五判断模块判断为否,向上位机发送报错响应。
22.如权利要求17所述的方法,其特征在于,所述第二设置模块,具体用于如所述检查模块检查当前钱包状态为不可用状态,判断管理数据指令中种子数据包中是否包括熵数据,如为是则导出状态为支持导出状态;如为否则导出状态为不支持导出状态;
所述第二确定模块,具体用于如第三验证模块验证PIN码数据成功,判断自己保存的种子数据包中是否包括熵数据,如为是则导出状态为支持导出状态,如为否则导出状态为不支持导出状态。
23.如权利要求17所述的方法,其特征在于,所第二设置模块,具体用于如所述检查模块检查当前钱包状态为不可用状态,从种子数据包中获取导出状态数据,根据导出状态数据确定导出状态的类型,如导出状态数据为第一预置导出数据,则导出状态为支持导出状态;如导出状态数据为第二预置导出数据,则导出状态为不支持导出状态。
24.如权利要求22或23所述的方法,其特征在于,所述第二设置模块,还用于如导出状态为支持导出状态,将导出状态标识设置为第六预置数据;如导出状态为不支持导出状态,将导出状态标识设置为第七预置数据;
所述第四设置模块,具体用于将导出状态标识设置为第七预置数据;
所述第二确定模块,具体用于如第三验证模块验证PIN码数据成功,判断导出状态标识的类型,如为第六预置数据则导出状态为支持导出状态,如为第七预置数据则导出状态为不支持导出状态。
25.如权利要求17所述的电子设备,其特征在于,所述生成密钥模块,具体用于根据第一预置算法对所述保存数据模块保存的种子数据包中种子数据和第一预置曲线进行计算得到根密钥;根据第二预置算法对根密钥、第二预置曲线和保存的币种标识进行计算得到帐户公钥和帐户私钥。
26.如权利要求17所述的电子设备,其特征在于,所述第一验证模块,具体用于如所述第一确定模块确定管理数据指令为导入种子数据指令,从管理数据指令中获取第一PIN码数据;获取自己保存的第二PIN码数据;判断第二PIN码数据是否等于第一PIN码数据,是则验证PIN码数据成功,否则验证PIN码数据失败;
所述第二验证模块,具体用于如所述第一确定模块确定管理数据指令为生成随机数种子指令,从管理数据指令中获取第一PIN码数据;获取自己保存的第二PIN码数据;判断第二PIN码数据是否等于第一PIN码数据,是则验证PIN码数据成功,否则验证PIN码数据失败;
所述第三验证模块,用于如所述第一确定模块确定管理数据指令为导出种子数据指令,从管理数据指令中获取第一PIN码数据;获取自己保存的第二PIN码数据;判断第二PIN码数据是否等于第一PIN码数据,是则验证PIN码数据成功,否则验证PIN码数据失败。
27.如权利要求26所述的电子设备,其特征在于,所述第一验证模块包括第一获取单元;所述第一验证模块还包括第一判断单元、第一重置单元和第二重置单元;
所述第一获取单元,用于从管理数据指令中获取第一PIN码数据;
所述第一判断单元,用于判断保存的计数数据是否合法,是则更新计数数据,触发所述第一获取单元;否则触发所述第一重置单元,向上位机返回报错响应;
所述第一重置单元,用于如所述第一判断单元判断为否,执行重置操作;
所述发送模块,还用于如所述第一判断单元判断为否,向上位机返回报错响应;
所述第二重置单元,用于如所述第一验证模块验证验证PIN码数据成功,重置计数数据;
所述第二验证模块包括第二获取单元;所述第二验证模块还包括第二判断单元、第三重置单元和第四重置单元;
所述第二获取单元,用于从管理数据指令中获取第一PIN码数据;
所述第二判断单元,用于判断保存的计数数据是否合法,是则更新计数数据,触发所述第二获取单元;否则触发所述第三重置单元,向上位机返回报错响应;
所述第三重置单元,用于如所述第二判断单元判断为否,执行重置操作;
所述发送模块,还用于如所述第二判断单元判断为否,向上位机返回报错响应;
所述第四重置单元,用于如所述第二验证模块验证验证PIN码数据成功,重置计数数据;
所述第三验证模块包括第三获取单元;所述第三验证模块还包括第三判断单元、第五重置单元和第六重置单元;
所述第三获取单元,用于从管理数据指令中获取第一PIN码数据;
所述第三判断单元,用于判断保存的计数数据是否合法,是则更新计数数据,触发所述第三获取单元;否则触发所述第五重置单元,向上位机返回报错响应;
所述第五重置单元,用于如所述第三判断单元判断为否,执行重置操作;
所述发送模块,还用于如第三判断单元判断为否,向上位机返回报错响应;
所述第六重置单元,用于如所述第三验证模块验证验证PIN码数据成功,重置计数数据。
28.如权利要求27所述的电子设备,其特征在于,所述第一重置单元,具体用于如所述第一判断单元判断为否,重置计数数据;删除种子数据包;重置第二PIN码数据,将当前钱包状态设置为不可用状态,向上位机返回报错响应;
所述第三重置单元,具体用于如所述第二判断单元判断为否,重置计数数据;删除种子数据包;重置第二PIN码数据,将当前钱包状态设置为不可用状态,向上位机返回报错响应;
所述第五重置单元,具体用于如所述第三判断单元判断为否,重置计数数据;删除种子数据包;重置第二PIN码数据,将当前钱包状态设置为不可用状态,向上位机返回报错响应。
29.如权利要求17所述的电子设备,其特征在于,还包括更新PIN码模块:所述更新PIN码模块,用于如所述第一确定模块确定管理数据指令为更新PIN码指令,根据管理数据指令执行验证PIN码数据操作;如验证PIN码数据成功则从管理数据指令中获取第三PIN码数据;将第三PIN码数据作为新的第二PIN码数据保存;向上位机发送管理数据响应。
30.如权利要求17所述的电子设备,其特征在于,还包括重置模块:所述重置模块,用于如所述第一确定模块确定管理数据指令为重置指令,重置计数数据;删除种子数据包;重置第二PIN码数据,将当前钱包状态设置为不可用状态;向上位机发送管理数据响应。
31.如权利要求17所述的电子设备,其特征在于,还包括更新应用模块:所述更新应用模块,用于如所述第一确定模块确定管理数据指令为更新应用指令,根据管理数据指令执行验证PIN码数据操作;如验证PIN码数据成功,则使用管理数据指令中应用数据更新保存的应用数据,向上位机发送管理数据响应。
32.如权利要求17所述的电子设备,其特征在于,还包括更新应用模块:所述更新应用模块,用于如所述第一确定模块确定管理数据指令为更新证书指令,根据管理数据指令执行验证PIN码数据操作;如验证PIN码数据成功则使用管理数据指令中设备证书更新保存的设备证书,向上位机发送管理数据响应。
CN202010840499.2A 2020-08-20 2020-08-20 一种电子设备及其保护种子数据包的方法 Active CN111709060B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010840499.2A CN111709060B (zh) 2020-08-20 2020-08-20 一种电子设备及其保护种子数据包的方法
US17/791,318 US20230353364A1 (en) 2020-08-20 2021-07-28 Electronic device and method for protecting seed data packet thereof
PCT/CN2021/108955 WO2022037379A1 (zh) 2020-08-20 2021-07-28 一种电子设备及其保护种子数据包的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010840499.2A CN111709060B (zh) 2020-08-20 2020-08-20 一种电子设备及其保护种子数据包的方法

Publications (2)

Publication Number Publication Date
CN111709060A true CN111709060A (zh) 2020-09-25
CN111709060B CN111709060B (zh) 2020-11-24

Family

ID=72547178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010840499.2A Active CN111709060B (zh) 2020-08-20 2020-08-20 一种电子设备及其保护种子数据包的方法

Country Status (3)

Country Link
US (1) US20230353364A1 (zh)
CN (1) CN111709060B (zh)
WO (1) WO2022037379A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022037379A1 (zh) * 2020-08-20 2022-02-24 飞天诚信科技股份有限公司 一种电子设备及其保护种子数据包的方法
CN114726505A (zh) * 2021-01-05 2022-07-08 广汽埃安新能源汽车有限公司 一种车辆远程安全认证方法、装置、存储介质及终端设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063450A (zh) * 2018-07-13 2018-12-21 王刚 一种安全存储介质的控制方法、安全存储介质及系统
CN109146470A (zh) * 2018-08-24 2019-01-04 北京小米移动软件有限公司 生成付款码的方法及装置
US20190280866A1 (en) * 2018-03-09 2019-09-12 Coolbitx Ltd. Method of creating and recovering digital wallet
CN110310105A (zh) * 2019-06-28 2019-10-08 飞天诚信科技股份有限公司 一种安全的恢复硬件钱包主密钥的实现方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008122906A1 (en) * 2007-04-05 2008-10-16 Koninklijke Philips Electronics N.V. Wireless sensor network key distribution
CN101719826B (zh) * 2009-05-13 2013-01-02 北京宏基恒信科技有限责任公司 具有种子密钥更新功能的动态令牌及其种子密钥的更新方法
CN103607281B (zh) * 2013-11-12 2016-09-28 飞天诚信科技股份有限公司 一种安全设备的解锁方法和系统
WO2018076365A1 (zh) * 2016-10-31 2018-05-03 美的智慧家居科技有限公司 密钥协商方法及装置
CN107480986B (zh) * 2017-08-14 2019-08-09 飞天诚信科技股份有限公司 一种利用硬件实现数字货币钱包的方法及硬件钱包
CN109257332B (zh) * 2018-08-15 2020-06-02 飞天诚信科技股份有限公司 数字货币硬件钱包应用更新的安全通道的创建方法及装置
CN111709060B (zh) * 2020-08-20 2020-11-24 飞天诚信科技股份有限公司 一种电子设备及其保护种子数据包的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190280866A1 (en) * 2018-03-09 2019-09-12 Coolbitx Ltd. Method of creating and recovering digital wallet
CN109063450A (zh) * 2018-07-13 2018-12-21 王刚 一种安全存储介质的控制方法、安全存储介质及系统
CN109146470A (zh) * 2018-08-24 2019-01-04 北京小米移动软件有限公司 生成付款码的方法及装置
CN110310105A (zh) * 2019-06-28 2019-10-08 飞天诚信科技股份有限公司 一种安全的恢复硬件钱包主密钥的实现方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022037379A1 (zh) * 2020-08-20 2022-02-24 飞天诚信科技股份有限公司 一种电子设备及其保护种子数据包的方法
CN114726505A (zh) * 2021-01-05 2022-07-08 广汽埃安新能源汽车有限公司 一种车辆远程安全认证方法、装置、存储介质及终端设备
CN114726505B (zh) * 2021-01-05 2024-05-31 广汽埃安新能源汽车有限公司 一种车辆远程安全认证方法、装置、存储介质及终端设备

Also Published As

Publication number Publication date
CN111709060B (zh) 2020-11-24
US20230353364A1 (en) 2023-11-02
WO2022037379A1 (zh) 2022-02-24

Similar Documents

Publication Publication Date Title
CN112688784B (zh) 一种数字签名、验证方法、装置及系统
US11689870B2 (en) Hearing device and method of updating a hearing device
US10454674B1 (en) System, method, and device of authenticated encryption of messages
US8131996B2 (en) Distributed management of a certificate revocation list
CN106790156B (zh) 一种智能设备绑定方法及装置
CN109088865B (zh) 用户身份认证方法、装置、可读存储介质和计算机设备
CN101378582B (zh) 用户识别模块、鉴权中心、鉴权方法及系统
KR101837000B1 (ko) 이메일 수발신 증명 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 기록매체에 저장된 프로그램
US20040015692A1 (en) Authentication in a mobile communications network
US20110271330A1 (en) Solutions for identifying legal user equipments in a communication network
CN111709060B (zh) 一种电子设备及其保护种子数据包的方法
CN104092545B (zh) 一种集成多种动态口令的认证系统及其工作方法
CN104216693B (zh) 一种提供设备标识的方法及装置
CN111970122B (zh) 识别官方app的方法、移动终端及应用服务器
CN106454826B (zh) 一种ap接入ac的方法和装置
CN110610360B (zh) 一种硬件钱包绑定授权的方法及装置
EP1594251B1 (en) Distributed management of a certificate revocation list
CN114978519A (zh) 报文发送方法、签名信息的生成方法及设备
CN111130772A (zh) 一种终端设备及其管理服务器证书的方法
CN115412362B (zh) 基于碳排放的数据采集方法、服务器和终端
US20240106820A1 (en) Generation and verification of a temporary authentication value for use in a secure transmission
EP3113516A1 (en) Hearing device and method of updating security settings of a hearing device
CN115860017A (zh) 一种数据处理方法和相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant