CN111386673A - 用于基于区块链系统的加密密钥管理的方法和设备 - Google Patents
用于基于区块链系统的加密密钥管理的方法和设备 Download PDFInfo
- Publication number
- CN111386673A CN111386673A CN201980005812.6A CN201980005812A CN111386673A CN 111386673 A CN111386673 A CN 111386673A CN 201980005812 A CN201980005812 A CN 201980005812A CN 111386673 A CN111386673 A CN 111386673A
- Authority
- CN
- China
- Prior art keywords
- key
- signature
- transaction data
- request
- user
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0827—Key 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) involving distinctive intermediate devices or communication paths
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 cryptographic hash functions
- H04L9/3239—Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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 time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Lock And Its Accessories (AREA)
Abstract
本文公开了用于管理加密密钥的方法、装置、包括存储在计算机可读介质上的计算机程序。所述方法之一包括:接收针对交易数据的签名的请求;分配与所述请求相对应的密钥管理器;所述密钥管理器获得对所述交易数据的签名和加密密钥,其中,所述加密密钥为公钥,并且对所述交易数据的签名是基于与所述公钥相对应的私钥获得的。
Description
技术领域
本文总体上涉及计算机技术,更具体地,涉及用于基于区块链系统的加密密钥管理的方法和设备。
背景技术
区块链系统,也称为分布式账本系统(DLS)或共识系统,可以使参与实体安全且不可篡改地存储数据。在不参考任何特定用例的情况下,区块链系统可以包括任何DLS并且可以用于公有区块链网络、私有区块链网络和联盟区块链网络。公有区块链网络向所有实体开放使用系统,并开放参与共识处理。私有区块链网络为特定实体提供,该特定实体集中控制读写权限。联盟区块链网络针对选择的实体组群提供,该实体组群控制共识处理,并且联盟区块链网络包括访问控制层。
区块链系统维护一个或多个区块链。区块链是用于存储诸如交易的数据的数据结构,其可以防止恶意方篡改和操纵数据。
基于区块链的交易通常需要来自与交易相关的签名机构的一个或多个数字签名。可以使用加密密钥来提供数字签名。在常规的加密密钥管理系统中,用户可以使用用户选择的密码在中央中介(例如,中心化密钥管理服务)中创建账户,并且中央中介可以为用户管理加密密钥。
发明内容
在一个实施例中,提供了一种计算机实现的用于管理加密密钥的方法,该方法包括:接收针对交易数据的签名的请求;分配与该请求相对应的密钥管理器;所述密钥管理器获得对所述交易数据的签名和加密密钥,其中,所述加密密钥为公钥,并且对所述交易数据的签名是基于与所述公钥相对应的私钥获得的。
在另一实施例中,提供一种用于管理加密密钥的设备,所述设备包括:一个或多个处理器;耦接到所述一个或多个处理器且其上存储有指令的一个或多个计算机可读存储器,当所述指令由所述一个或多个处理器执行时,以接收针对交易数据的签名的请求;分配与该请求相对应的密钥管理器;获得对所述交易数据的签名和加密密钥,其中,所述加密密钥为公钥,并且对所述交易数据的签名是基于与所述公钥对应的私钥获得的。
在另一实施例中,提供了一种其中存储有指令的非暂态计算机可读介质,当所述指令由设备的处理器执行时,使得所述设备执行用于管理加密密钥的方法,所述方法包括:接收针对交易数据的签名请求;分配与该请求相对应的密钥管理器;所述密钥管理器获得对所述交易数据的签名和加密密钥,其中,所述加密密钥为公钥,并且对所述交易数据的签名是基于与所述公钥相对应的私钥获得的。
附图说明
包含在本文中并构成本文一部分的附图示出了实施例。在下列参考了附图的说明中,除非另有所示,不同附图中的相同标号表示相同或类似的元素。
图1是根据实施例的区块链系统的示意图。
图2是根据实施例的用于管理加密密钥并获得对交易数据的签名的系统的示意图。
图3是根据实施例的用于管理加密密钥并获得对交易数据的签名的设备的示意图。
图4是根据实施例的用于管理加密密钥并获得对交易数据的签名的方法的示意图。
图5是根据实施例的用于管理加密密钥并获得对交易数据的签名的方法的流程图。
图6是根据实施例的用于响应于签名请求分配密钥管理器的方法的流程图。
图7是根据实施例的用于管理加密密钥并获得对交易数据的签名的方法的流程图。
图8是根据实施例的用于管理加密密钥并获得对交易数据的签名的设备的示意图。
具体实施方式
本文的实施例提供了用于管理加密密钥并获得对交易数据的签名的方法和设备。在这些方法中,计算机系统可以接收针对交易数据的签名的请求,分析包括在请求中的参数,并基于该分析分配唯一的密钥管理器。所分配的密钥管理器可以从签名机构获得对交易数据的签名和加密密钥。该计算机系统可以进一步重新格式化所获得的签名,使得该签名可以与任何类型的区块链系统以及该区块链系统中的任何格式的智能合约兼容。计算机系统可以将重新格式化的签名上传到区块链系统,以便可以在区块链系统中验证该签名。所述计算机系统可以进一步基于所述签名和加密密钥来更新用户账户数据库。
本文中公开的实施例具有一个或多个技术效果。在一些实施例中,所述方法和设备可以为用户管理加密密钥并获得对交易数据的签名。这允许用户执行交易并使用用户选择的密码访问该用户的账户,而无需维护加密密钥,从而为用户提供便利并促进交易。在一些实施例中,可以在区块链系统中而不是通过中央实体来验证所获得的对交易数据的签名。这允许交易的去中心化,从而增强了交易的安全性。在一些实施例中,所述方法和设备根据区块链系统的类型和区块链系统中的智能合约的格式来重新格式化所获得的对交易数据的签名。这允许在任何类型的区块链系统中或在该区块链系统中的任何格式的智能合约中执行签名验证,从而增强了交易的灵活性。在一些实施例中,所述方法和设备可以通过采用幂等控制协议(idempotent control protocol)来向交易分配唯一的密钥管理器。这防止了多个密钥管理器对签名请求进行不必要的处理,从而进一步提高了交易的安全性和效率。
区块链是以交易不可篡改并随后可被验证的方式存储数据(例如,交易)的数据结构。区块链包括一个或多个区块。每个区块通过包括紧邻其之前的前一区块的加密哈希值(cryptographic hash)链接到该前一区块。每个区块还可以包括时间戳、自身的加密哈希值以及一个或多个交易。通常已经被区块链系统中的节点验证的交易可以被哈希并编入诸如默克尔(Merkle)树的数据结构中。在Merkle树中,叶节点处的数据是经哈希处理的,并且在该树的每个分支中的所有哈希值可以在该分支的根处级联(concatenate)。此处理沿着树持续一直到整个树的根,在整个树的根处存储了代表树中所有数据的哈希值。可通过确定哈希值是否与树的结构一致而可快速验证该哈希值是否为存储在该树中的交易的哈希值。
区块链系统包括管理、更新和维护一个或多个区块链的计算节点的网络。所述网络可以是公有区块链网络、私有区块链网络或联盟区块链网络。在公有区块链网络中,共识处理由共识网络的节点控制。例如,许多实体,诸如数百、数千或甚至数百万个实体可以在公有区块链网络中操作,并且每个实体操作公有区块链网络中的至少一个节点。因此,公有区块链网络可被认为是关于参与的实体的公有网络。有时,大多数实体(节点)必须对每个区块签名才能使该区块被验证并被添加到区块链网络的区块链中。公有区块链网络的示例包括利用被称为区块链的分布式账本的特定点对点(peer-to-peer)支付网络。
通常,公有区块链网络可以支持公开交易。公开交易为公有区块链网络内的所有节点共享,并存储在全局区块链中。全局区块链是跨所有节点复制的区块链,并且所有节点都与全局区块链达成共识。为了达成共识(例如,同意向区块链添加区块),在公有区块链网络中实施共识协议。共识协议的示例包括工作量证明(POW)(例如,在一些加密货币网络中实现)、权益证明(POS)和权威证明(POA)。
通常,可以为特定实体提供私有区块链网络,该特定实体集中控制读写权限。该实体控制哪些节点能参与到该区块链网络中。因此,私有区块链网络通常被称为权限网络,其限制允许谁参与网络,以及它们的参与级别(例如,仅在某些交易中)。可以使用各种类型的访问控制机制(例如,现有参与者投票添加新实体,监管机构可以控制准入)。
通常,联盟区块链网络在参与的实体之间是私有的。在联盟区块链网络中,共识处理由一组被授权的节点控制,一个或多个节点由相应实体(例如,金融机构、保险公司)操作。例如,由十(10)个实体(例如,金融机构、保险公司)组成的联盟可以操作联盟区块链网络,每个实体操作联盟区块链网络中的至少一个节点。因此,关于参与的实体,联盟区块链网络可以被认为是私有网络。在一些示例中,每个区块必须经每个实体(节点)签名才能有效并被添加到区块链中。在一些示例中,每个区块必须经至少实体(节点)的子集(例如,至少7个实体)签名才能有效并被添加到区块链中。
图1示出了根据实施例的区块链系统100的示意图。参考图1,区块链系统100可以包括被配置为在区块链120上操作的多个节点(例如节点102-110)。节点102-110可以形成网络112,例如点对点(P2P)网络。节点102-110中的每个可以是被配置为存储区块链120的副本的计算设备(例如,计算机或计算机系统),或者可以是在计算设备上运行的软件(诸如进程或应用)。节点102-110中的每一个可以具有唯一标识。节点102-110可以通过有线或无线通信彼此通信。这种通信可以采用可靠的协议,例如传输控制协议/网际协议(TCP/IP)。
区块链120可以包括为例如图1中的区块B1-B5的数据区块形式的记录的增长列表。区块B1-B5中的每个可以包括时间戳、前一区块的加密哈希值,以及当前区块的数据,该数据可以是诸如货币交易的交易。例如,如图1所示,区块B5可以包括时间戳、区块B4的加密哈希值和区块B5的交易数据。此外,例如,可以对前一区块执行哈希操作以生成前一区块的加密哈希值。哈希操作可以通过诸如SHA-256的哈希算法将各种长度的输入转换为固定长度的加密输出。
节点102-110可以被配置为对区块链120执行操作。例如,当节点(例如,节点102)想要将新数据存储到区块链120上时,该节点可以生成要被添加到区块链120的新区块,并将该新区块广播到网络112中的例如节点104-110的其他节点。基于新区块的合法性,例如,其签名和交易的有效性,其他节点可以确定接受该新区块,使得节点102和其他节点可以将该新区块添加到它们各自的区块链120的副本中。重复该处理,可以将越来越多的数据区块添加到区块链120。
在一实施例中,区块链系统100可以根据一个或多个智能合约操作。每个智能合约可以是以计算机代码形式的计算机协议,其被纳入到区块链120中,以促进、验证或强制合约的协商或执行。例如,区块链系统100的用户可以使用诸如C++、Java、Solidity、Python等编程语言将商定的条款编程为智能合约,并且当满足条款时,可以由区块链系统100自动执行智能合约,例如执行交易。又例如,智能合约可以包括多个子例程或函数,每个子例程或函数可以是执行指定任务的一系列程序指令。智能合约可以是在完全或部分没有人工交互的情况下执行的操作代码。
图2是示出根据实施例的用于管理加密密钥并获得对交易数据的签名的密钥管理系统200的示意图。参考图2,密钥管理系统200可以包括密钥管理设备210、会员账户数据库220、用户接口系统230和签名机构250。密钥管理系统200可以与区块链系统100通信(图1)。在一些实施例中,密钥管理系统200可以作为区块链系统100的节点操作。在其他实施例中,密钥管理系统200可以不作为区块链系统100的节点操作。
在一些实施例中,用户接口系统230可以被实现为用户240的交易系统,并且密钥管理设备210可以是管理包括用户240的多个用户的加密密钥的第三方代理。在这些实施例中,用户接口系统230还可包括获得并记录用户240的交易数据的记账系统。会员账户数据库220可以在密钥管理设备210中实现。
在其他实施例中,用户接口系统230可以是管理包括用户240的多个用户的交易数据的第三方交易数据系统。用户240可以使用用户选择的密码在用户接口系统230中创建账户。密钥管理设备210可以在用户接口系统230中实现,或者可以独立于用户接口系统230。会员账户数据库220可以在密钥管理设备210或用户接口系统230中实现。
用户240可以是任何实体,例如但不限于涉及交易的个人、公司、公司代表、金融机构、研究机构或政府实体。用户接口系统230可以获得、聚合和维护用户240的交易数据。
签名机构250可以是被授权在交易数据上提供完整签名或部分签名的一方。签名机构250可以是任何实体,例如但不限于涉及交易的个人、公司、公司代表、金融机构、研究机构或政府实体。签名机构250可以与用户240有关或无关。签名机构250可以包括彼此独立的多个签名机构。
在一个实施例中,用户240可以执行交易,并且交易数据需要由签名机构250签名。用户接口系统230可以聚合交易数据,并将交易数据和对签名的请求发送给密钥管理设备210。在一些实施例中,签名请求可以包括与用户240有关的参数。所述参数可以包括但不限于密钥管理设备210中的用户240的账户信息、用户240的银行账户的信息、用户240的加密密钥管理系统的信息以及用户240与密钥管理服务的关联等。在一个实施例中,密钥管理服务可以是为例如用户240的多个用户管理加密密钥的第三方代理。
在一个实施例中,在从用户接口系统230接收到签名请求时,密钥管理设备210可以分析包括在签名请求中的参数。密钥管理设备210可以进一步确定用户240是密钥管理设备210的现有用户还是新用户。如果用户240是新用户,则密钥管理设备210可以通过为用户240开设会员账户来更新会员账户数据库220。在一个实施例中,密钥管理设备210可以使用用户240提供的身份证明(identification)和密码来为用户240开设会员账户。另一方面,如果用户240是密钥管理设备210的现有用户,则密钥管理设备210可以从会员账户数据库220中提取关于用户240的信息。
在一个实施例中,密钥管理设备210可以包括能够处理签名请求的多个密钥管理器(未示出)。例如,每个密钥管理器可以包括子例程或函数,子例程或函数可以是执行特定任务的一系列程序指令。基于对包括在签名请求中的参数的分析,密钥管理设备210可以分配用于处理签名请求的适当的密钥管理器。在一些实施例中,分配的密钥管理器可以是能够从签名机构250获得签名和加密密钥的密钥管理器。在其他实施例中,分配的密钥管理器可以是能够生成模拟加密密钥(mock cryptographic key)并使用所生成的模拟加密密钥对交易数据进行签名的密钥管理器。在一个实施例中,密钥管理设备210不是签名机构,并且生成模拟加密密钥及提供模拟签名是出于测试密钥管理设备210的目的。加密密钥可以包括单个密钥(例如,公钥)或多个密钥(例如,私钥和公钥)。
在一个实施例中,密钥管理设备210可以通过采用幂等控制协议将向用户的交易数据分配唯一的密钥管理器。在该实施例中,当密钥管理设备210对伴随交易数据的签名请求进行分析时,密钥管理设备210可以总是向该交易数据或针对该用户分配相同的密钥管理器。这防止了多个密钥管理器对交易数据的处理以及受到欺骗而获得无效签名,从而提高了交易的安全性和效率。
在一个实施例中,分配的密钥管理器可以发起与签名机构250的联系以获得签名和加密密钥。在获得签名之后,密钥管理设备210可以重新格式化签名,使得签名可以适应于用户偏好的区块链系统类型或区块链系统中特定格式的智能合约。在一些实施例中,密钥管理设备210基于会员账户数据库220中的用户240的记录来确定区块链系统的类型或智能合约的格式。在其他实施例中,区块链系统的类型或智能合约的格式被包括在从用户接口系统230发送的签名请求中。重新格式化签名允许用户240在验证区块链系统上的签名时方便地选择区块链系统的类型或智能合约的格式,从而为用户提供便利并增强交易的灵活性。
在一个实施例中,密钥管理设备210可以将重新格式化的签名和加密密钥发送到用户接口系统230。在一些实施例中,密钥管理设备210可以生成具有重新格式化的签名、原始签名和加密密钥的有效载荷数据,并将该有效载荷数据发送给用户接口系统230。
在一个实施例中,在接收到签名和加密密钥(或有效载荷数据)后,用户接口系统230可以在区块链系统100中创建账户并将签名(或有效载荷数据)上传到区块链系统100,使得签名可以在区块链系统中被验证。在一个实施例中,除了签名之外,交易数据的准确性也可以在区块链系统100中被验证。在一个实施例中,可以基于区块链系统100中的智能合约执行对签名的验证。
在一个实施例中,基于提供包括私钥和公钥的密钥对的加密算法可以执行对签名的验证。私钥可以与特定方相关联并且可以对数据进加密以形成签名。公钥可以被提供给区块链系统中的另一方以对该加密的数据进行解密,以验证交易是否确实被该特定方授权。解密也可以被称为签名验证。在一个实施例中,区块链系统100可以支持多种加密算法,例如RSA(Rivest-Shamir-Adleman)算法、椭圆曲线数字签名算法(Elliptic CurveDigital Signature Algorithm,ECDSA)、SM2算法等。
在一个实施例中,上传到区块链系统100的签名可以由区块链系统100中的其他方验证,并且可以将由用户接口系统230获得的加密密钥(例如,公钥)提供给其他方以用于验证。通过在区块链系统中而不是由中央实体验证获得的签名,实现了交易数据处理的去中心化,从而提高了交易的安全性和效率。
在一个实施例中,密钥管理设备210可以通过将所获得的签名和加密密钥记录在会员账户数据库220中来更新会员账户数据库220中用户240的账户。密钥管理设备210还可以记录发送到用户接口系统230的重新格式化签名的格式。以这种方式,密钥管理设备210可以为用户240创建和维护知识库。
在一个实施例中,区块链系统100可以通过广播或通过向用户接口系统230发送消息来通知验证结果。用户接口系统230可以进一步向用户240通知签名请求的处理结果。在一个实施例中,用户接口系统230还可以向用户240通知用户接口系统230中的用户账户的信息,例如,在处理交易数据之后,用户240的账户中的任意剩余余额。这允许用户240仅使用密码来方便地管理账户,而无需维护针对交易数据的加密密钥。
在一个实施例中,密钥管理设备210可以包括存储在计算机系统中的指令。该计算机系统可以执行指令以执行密钥管理设备210的功能。用户接口系统230可以或可以不在该计算机系统中实现。在一个实施例中,分配密钥管理设备210的密钥管理器可以包括指定与该密钥管理器相对应的指令的地址。
在一个实施例中,密钥管理设备210可以是独立的硬件,其包括可以与任何用户接口系统兼容的集成电路和存储设备。例如,密钥管理设备210可以与任何其他用户接口系统对接。
图3是根据实施例的用于管理加密密钥并获得对交易数据的签名的设备300的示意图。设备300可以采用任何形式,包括但不限于台式计算机、膝上型计算机、服务器计算机、平板电脑、智能手机或智能手表,或任何其他形式。设备300可以包括处理器310、存储器320、用户接口330以及通过总线350彼此通信的通信接口340。
处理器310可以包括一个或多个专用处理单元、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或各种其他类型的处理器或处理单元。处理器310与存储器320耦接,并且可以执行存储在存储器320中的指令。
通信接口340可以促进设备300与用户接口系统和签名机构(例如图2所示用户接口系统210和签名机构250)之间的通信。在一个实施例中,通信接口340可以从用户接口系统接收签名请求和交易数据。通信接口340还可以向签名机构发送对签名的请求,从签名机构接收加密密钥和签名,并且将所获得的签名和加密密钥发送给用户接口系统。
在一个实施例中,通信接口340可以支持一个或多个通信标准,诸如包括TCP/IP和TLS/SSL协议、综合业务数字网(ISDN)标准等的互联网标准或协议。在一个实施例中,通信接口340可以包括以下中的一个或多个:局域网(LAN)卡、电缆调制解调器、卫星调制解调器、数据总线、电缆、无线通信通道、无线电通信通道、蜂窝通信通道、基于互联网协议(IP)的通信设备或用于有线和/或无线通信的其他通讯设备。在一实施例中,通信接口340可以基于公有云基础设施、私有云基础设施和混合公有/私有云基础设施。
存储器320可以包括存储会员账户数据322的存储器。存储器320还可以存储处理器可执行的指令和数据。计算机可执行的指令和数据可以包括密钥管理器分配器324和多个密钥管理器326。当密钥管理器分配器324由处理器310执行时,允许设备300提取和分析包括在从用户接口系统接收的签名请求中的参数,并基于该分析分配适当的密钥管理器。在一个实施例中,分配适当的密钥管理器可以包括指定该密钥管理器的地址。当所分配的密钥管理器由处理器310执行时,允许设备300发起与签名机构的联系以获得加密密钥和交易数据的签名。
存储器320可以是任何类型的易失性或非易失性存储器设备或其组合,例如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘。
用户接口330可以包括显示器和向处理器310发送用户命令的输入设备等。显示器可以显示交易数据、上传进度和区块链系统的状态等。显示器可以包括但不限于用于向用户显示信息的阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)、气体等离子体、触摸屏或其他图像投影设备。输入设备可以是用于从用户向处理器310提供数据和控制信号的任何类型的计算机硬件设备。输入设备可以包括但不限于键盘、鼠标、扫描仪、数码相机、操纵杆、轨迹球、光标方向键、触摸屏监控器或音频/视频命令器等。
在一个实施例中,设备300可以包括用户接口系统,诸如图2的用户接口系统230,使得处理器310和用户接口330是用户接口系统的一部分。
图4是示出了根据实施例的用于管理加密密钥并获得对交易数据的签名的方法400的示意图。参照图2至图4,用户240可以在用户接口系统230中创建账户(步骤412)。例如,用户240可以通过提供用户选择的密码来创建账户。在另一实施例中,用户接口系统230可以是用户240的交易数据系统,并且不需要用户240在用户接口系统230中创建账户。用户接口系统230可以获得用户240的交易数据、为用户240聚合交易数据以及维护交易数据。用户接口系统230可以进一步向密钥管理设备210发送针对加密密钥和对交易数据的签名的请求(步骤414)。在一个实施例中,该请求可以包括与用户240有关的交易数据和参数。参数可以包括但不限于密钥管理设备210中的用户240的账户信息、用户240的银行账户的信息、用户240的加密密钥管理系统的信息以及用户240与密钥管理服务的关联等。在接收该到请求之后,密钥管理设备210可以发送接受该请求的确认(步骤416)。
密钥管理设备210可以进一步提取并分析包括在请求中的参数,并分配适当的密钥管理器(步骤418)。在一个实施例中,密钥管理设备210可以通过采用幂等控制协议来为交易数据分配唯一的密钥管理器,使得当密钥管理设备210分析参数时,密钥管理设备210可以总是将相同的密钥管理器分配给该交易数据。所分配的密钥管理器可以将针对加密密钥和签名的请求转发到签名机构250(步骤420)。签名机构250可以生成针对交易数据的签名,并将所请求的加密密钥和签名返回给密钥管理设备210(步骤422)。
在接收到加密密钥和签名之后,密钥管理设备210可以广播该加密密钥和该签名(步骤422)。在一个实施例中,在广播加密密钥和签名之前,密钥管理设备210可以重新格式化签名以适应于特定类型的区块链系统或区块链系统中的特定格式的智能合约。
在一个实施例中,用户接口系统230可以接收广播的加密密钥和签名(步骤424)。用户接口系统230可以在区块链系统100中创建账户并且将签名上传到区块链系统100以进行验证(步骤426)。在一个实施例中,用户接口系统230还可以将具有签名的交易数据(经签名的交易数据)上传到区块链系统,以验证准确性。在一个实施例中,用户接口系统230可以接收由原始签名和重新格式化的签名形成的有效载荷数据,并将该有效载荷数据上传到区块链系统以进行验证。区块链系统100可以将对创建账户和所述上传的确认发送到用户接口系统230(步骤428)。用户接口系统230可以将对创建账户和所述上传的确认发送给用户240(步骤430)。
在上述方法400中,密钥管理设备210管理加密密钥并获得用户240的交易数据的签名。此外,用户接口系统230处理获得的签名和加密密钥,并通知用户240。这允许用户240仅使用密码来执行交易和访问用户的账户,而无需维护加密密钥,从而实现方便且有效的交易。密钥管理设备210可以向给定的交易数据分配唯一的密钥管理器。这防止了多个密钥管理器对交易数据的处理以及欺骗性地获得签名,从而提高了交易的安全性和效率。密钥管理设备210可以重新格式化所获得的签名,以使得可以在任何类型的区块链系统中验证签名,而不管其原始格式如何,从而增强了交易的灵活性。此外,交易的去中心化是通过在区块链系统中而不是通过任何中央中介来验证所获得的签名来实现的,从而进一步提高了交易的安全性和效率。
图5是根据一个实施例的用于管理加密密钥并获得对交易数据的签名的方法500的流程图。方法500可以由诸如密钥管理设备210(图2)的密钥管理设备执行。密钥管理设备可以包括可以处理签名请求的多个密钥管理器。密钥管理设备还可以包括记录密钥管理设备的用户的信息的会员账户数据库。
参照图5,密钥管理设备可以接收用户的交易数据的输入和针对该交易数据的签名的请求(步骤502)。在一个实施例中,密钥管理设备可以使用幂等控制协议来处理签名请求,以确保将交易数据分配给唯一的密钥管理器并由其进行处理(步骤504)。在一个实施例中,密钥管理设备可以包括将一组参数映射到特定密钥管理器的幂等控制表。利用该表,密钥管理设备可以分析包括在签名请求中的参数和会员账户数据库中的用户信息(步骤506)。基于该分析,密钥管理设备可以针对交易数据分配所述唯一密钥管理器(例如,signOperator)(步骤508)。
在一个实施例中,所分配的唯一密钥管理器可以为相应的签名机构聚合签名请求参数(例如,signOperator.buildRequest())(步骤510),以从该签名机构获得签名。可以将该参数聚合为该签名机构要求的格式。然后执行签名请求(例如,signOperator.sign())并将其发送到相应的签名机构(步骤512)。
在一个实施例中,密钥管理设备可以确定签名请求是否被成功处理(步骤514)。如果密钥管理设备确定签名请求被成功处理(步骤516),则密钥管理设备可以进一步更新会员账户数据库、登记超时任务、以及处理签名之后的操作(例如signOperator.afterSign())(步骤518)。在一个实施例中,当签名机构在预定时间段内未返回所请求的签名时,发生超时任务。在这种情况下,可能需要手动干预。在一个实施例中,签名之后的操作可以包括:对获得的签名进行重新格式化,以及利用原始签名和重新格式化的签名来生成有效载荷数据。
在一个实施例中,通过输出所获得的签名和加密密钥,将处理结果返回给用户(步骤520)。例如,加密密钥可以是公钥,并且可以通过应用与该公钥相对应的私有来获得签名。另一方面,如果密钥管理设备确定签名请求没有被成功处理(步骤522),则密钥管理设备可以更新会员账户数据库(步骤524),并且将签名请求处理失败的消息发送给用户(步骤520)。
通过采用幂等控制协议,当交易数据由密钥管理设备处理时,交易数据可以总是分配给相同的密钥管理器。这防止了多个密钥管理器不必要地处理签名请求,从而进一步防止了获得无效签名,从而提高了交易的安全性和效率。
图6是根据实施例的用于响应于签名请求分配密钥管理器的方法600的流程图。方法600可以由诸如密钥管理设备210(图2)的密钥管理设备执行。参照图6,密钥管理设备可以接收包括针对交易数据的签名请求的输入数据(步骤602)。在一个实施例中,该签名请求可以从用户接口设备(例如,与用户相对应的用户接口设备230(图2))发送。在接收到签名请求时,密钥管理设备可以分析包括在签名请求中的参数并且确定该参数是否与内部测试账户匹配(步骤604)。在一个实施例中,内部测试账户被设置用于测试密钥管理设备的功能性。如果密钥管理设备确定参数与内部测试账户匹配,则密钥管理设备确定该请求需要本地处理(步骤606),并分配类型1密钥管理器(步骤608)。在一个实施例中,类型1密钥管理器是模拟密钥管理器,其可以在本地生成加密密钥并在交易上提供模拟签名。
另一方面,在步骤604,如果密钥管理设备确定所述参数与内部测试账户不匹配,则密钥管理设备可以进一步确定所述参数是否包括用户的银行账户信息(步骤610)。在一些实施例中,用户的银行账户信息可以被包括在输入数据中。在其他实施例中,如果用户在密钥管理设备中具有会员账户,则密钥管理设备可以从其数据库中提取银行账户信息。如果密钥管理设备识别出用户的银行账户信息,则密钥管理设备确定需要使用用户的USB密钥(“Ukey”将签名请求发送到外部签名机构(步骤612)并分配类型2密钥管理器(步骤614)。在一个实施例中,密钥管理设备可以基于用户的角色类型和用户的银行ID信息来分配类型2密钥管理器。在一个实施例中,与类型2密钥管理器相对应的签名机构可以是通过网络与诸如企业的用户连接的网络银行。Ukey可以通过USB(通用串行总线)直接连接到计算机,并且Ukey可以发挥密码验证功能。类型2密钥管理器可以使用用户的Ukey通过网络从网络银行获得签名和加密密钥(例如,公钥)。在一个实施例中,利用网络银行服务的企业可以是中型或大型企业。
另一方面,在步骤610,如果密钥管理设备识别用户的银行账户信息失败,则密钥管理设备可以进一步确定用户是否是具有自己的加密密钥管理系统的独立企业(步骤616)。在一个实施例中,独立企业可以是在其系统中维护其加密密钥的大型核心企业或金融机构。如果密钥管理设备确定用户是独立企业,则密钥管理设备可以理解需要通过应用编程接口(API)连接器向外部发送签名请求(步骤618),并分配类型3密钥管理器。(步骤620)。在一个实施例中,类型3密钥管理器可以通过API连接器发起与独立企业的连接,并获得签名和加密密钥(例如,公钥)。
另一方面,在步骤616,如果密钥管理设备确定用户不是独立企业,则密钥管理设备可以理解用户可以利用密钥管理服务(步骤622)并分配类型4密钥管理器(步骤624)。在一个实施例中,类型4密钥管理器可以代表用户从密钥管理服务请求加密密钥。例如,类型4密钥管理器可以请求一对私钥/公钥,并生成针对交易数据的签名。
在一个实施例中,密钥管理设备可以格式化从不同签名机构获得的签名,以使签名可以具有相同的格式,而不论它们来自不同源的原始格式。这样,密钥管理设备可以获得并提供签名,该签名具有与任何类型的区块链系统或区块链系统中的任何格式的智能合约兼容的格式,从而提高了交易的灵活性和效率。
图7是根据实施例的用于管理加密密钥并获得对交易数据的签名的方法700的流程图。例如,方法700可以由诸如图2所示的密钥管理设备210之类的密钥管理设备执行。参照图7,密钥管理设备可以接收针对交易数据的签名的请求(步骤702)。在一些实施例中,所述签名请求可以包括交易数据和与交易用户有关的参数。
密钥管理设备可以提取并分析包括在签名请求中的参数(步骤704)。基于该分析,密钥管理设备可以针对交易数据识别并分配唯一的密钥管理器(步骤706)。在一个实施例中,密钥管理设备可以基于方法600(图6)来分配密钥管理器。所分配的密钥管理器可以发起与相应签名机构的联系,并从该签名机构获得签名和加密密钥(步骤708)。在接收到签名和加密密钥之后,密钥管理设备可以广播所获得的签名和加密密钥(步骤710),使得发送签名请求的用户接口系统可以接收广播的签名和加密密钥。密钥管理设备可以进一步基于所获得的签名和加密密钥来更新会员账户数据库中的用户信息(步骤712)。
在一个实施例中,所分配的密钥管理器对于交易或所分析的参数可以是唯一的,使得当密钥管理设备对参数进行分析时,密钥管理设备可以始终针对该交易数据分配相同的密钥管理器。在一个实施例中,可以通过方法500(图5)来确保该唯一的分配。通过唯一地分配密钥管理器,可以防止多个密钥管理器对签名请求进行不必要的处理。
图8是根据实施例的用于管理加密密钥并获得交易数据的签名的装置800的示意图。例如,装置800可以是软件处理的实现,并且可以对应于方法700(图7)。参照图8,装置800可以包括接收模块810、分配模块820、请求模块830、广播模块840和更新模块850。
接收模块810接收针对交易数据的签名请求。分配模块820分析签名请求中的参数,并基于该分析针对交易数据分配密钥管理器。在分配的密钥管理器中实现的请求模块830从相应的签名机构请求签名和加密密钥。广播模块840在接收到签名和加密密钥之后,广播所获得的签名和加密密钥。更新模块850基于所获得的签名和加密密钥来更新数据库中的用户信息。
上述模块中的每一个可以实现为软件或硬件、或软件和硬件的组合。例如,可以使用执行存储在存储器中的指令的处理器来实施上述模块中的每一个。而且,例如,每个上述模块可以使用一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子组件来实施以执行所描述的方法。进一步地,例如,上述模块中的每一个可以通过使用计算机芯片或实体来实施,或者通过使用具有特定功能的产品来实施。在一个实施例中,装置800可以是计算机,并且计算机可以是个人计算机、膝上型计算机、蜂窝电话、照相手机、智能手机、个人数字助理、媒体播放器、导航设备、电子邮件接收和发送设备、游戏台、平板电脑、可穿戴设备或这些设备的任何组合。
对于装置800中每个模块的功能和角色的实施过程,可以参考上述方法中的相应步骤。为简单起见,这里省略了细节。
在实施例中,还提供了一种计算机程序产品。该计算机程序产品可以包括非暂态计算机可读存储介质,其上具有计算机可读程序指令,用于使处理器执行上述方法。
计算机可读存储介质可以是有形设备,其可以存储供指令执行设备使用的指令。计算机可读存储介质可以是但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或上述任何适当的组合。计算机可读存储介质的更具体示例的非详尽列表包括以下内容:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、记忆棒、软盘、例如在其上记录有指令的凹槽中的穿孔卡或凸起结构的机械编码设备,以及前述的任何合适的组合。
用于执行上述方法的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,该编程语言包括面向对象的编程语言和传统的过程编程语言。计算机可读程序指令可以完全在计算设备上作为独立软件包执行,或者部分在第一计算设备上执行、部分在远离第一计算设备的第二计算设备上执行。在后一种情况下,第二远程计算设备可以通过包括局域网(LAN)或广域网(WAN)的任何类型的网络连接到第一计算设备。
所述计算机可读程序指令可以被提供给通用或专用计算机的处理器或其他可编程数据处理装置以产生机器,使得这些指令经由计算机的处理器或其他可编程数据处理装置执行时,创建用于实现上述方法的装置。
附图中的流程图和框图示出了根据本文的各种实施例的设备、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的框可以表示软件程序、代码的段或部分,其包括用于实现特定功能的一个或多个可执行指令。还应注意,在一些可选实施例中,框中提到的功能可以不按图中所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图的每个框以及框图和流程图中的框的组合可以由执行特定功能或动作的专用基于硬件的系统或者专用硬件和计算机指令的组合来实现。
应当理解,为了清楚起见,在单个实施例的上下文中描述的说明书的某些特征也可以在单个实施例中组合提供。相反,为了简洁起见,在单个实施例的上下文中描述的本文的各种特征也可以单独提供或者以任何合适的子组合提供,或者在本文的任何其他描述的实施例中合适地提供。除非另有说明,否则在各种实施例的上下文中描述的某些特征不是那些实施例的必要特征。
尽管已经结合本文的具体实施例描述了本文,但显然许多替代、修改和变化对于本领域技术人员来说是显现的。因此,以下权利要求包含落入权利要求的范围内的所有这些替代、修改和变体。
Claims (15)
1.一种计算机实现的用于管理加密密钥的方法,所述方法包括:
接收对交易数据签名的请求;
分配与所述请求相对应的密钥管理器;以及
所述密钥管理器获得对所述交易数据的签名和加密密钥,其中,所述加密密钥为公钥,并且对所述交易数据的签名是基于与所述公钥相对应的私钥获得的。
2.根据权利要求1所述的方法,其中,分配与所述请求相对应的密钥管理器还包括:
确定所述请求是否包括内部账户信息;以及
响应于确定所述请求包括所述内部账户信息,分配生成所述加密密钥的第一密钥管理器。
3.根据权利要求2所述的方法,其中,分配与所述请求相对应的密钥管理器还包括:
响应于确定所述请求不包括所述内部账户信息,确定所述请求是否包括银行账户信息;以及
响应于确定所述请求包括所述银行账户信息,分配从银行获得对所述交易数据的签名和所述加密密钥的第二密钥管理器。
4.如权利要求3所述的方法,其中,分配与所述请求相对应的密钥管理器还包括:
响应于确定所述请求不包括所述银行账户信息,确定所述请求是否包括拥有加密管理系统的独立企业的信息;以及
响应于确定所述请求包括所述独立企业的信息,分配从所述独立企业获得对所述交易数据的签名和所述加密密钥的第三密钥管理器。
5.根据权利要求4所述的方法,其中,分配与所述请求相对应的密钥管理器还包括:
响应于确定所述请求不包括所述独立企业的信息,分配从密钥管理服务获得所述加密密钥的第四密钥管理器。
6.根据前述任一项权利要求中所述的方法,还包括:
重新格式化所获得的对所述交易数据的签名。
7.根据前述任一项权利要求中所述的方法,还包括:
广播所获得的对所述交易数据的签名和所获得的所述加密密钥;以及
更新会员账户数据库。
8.根据权利要求7所述的方法,还包括:
识别并登记超时任务,
其中,所述超时任务出现在当在预定时间段内未获得对所述交易数据的签名时。
9.根据权利要求3所述的方法,其中,所述第二密钥管理器使用用户的USB密钥从所述银行获得对所述交易数据的签名和所述加密密钥。
10.根据权利要求4所述的方法,其中,所述第三密钥管理器通过应用编程接口连接器从所述独立企业获得对所述交易数据的签名和所述加密密钥。
11.根据前述任一项权利要求中所述的方法,还包括:
在区块链系统中创建账户;以及
将所获得的对所述交易数据的签名上传至所述区块链系统以进行验证。
12.根据前述任一项权利要求中所述的方法,其中,分配与所述请求相对应的密钥管理器是基于幂等控制协议来执行的。
13.一种用于管理加密密钥的设备,包括:
一个或多个处理器;以及
耦接到所述一个或多个处理器且其上存储有指令的一个或多个计算机可读存储器,所述指令能够由所述一个或多个处理器执行以执行权利要求1至12中任一项所述的方法。
14.一种用于管理加密密钥的装置,所述装置包括多个模块,所述多个用于执行如权利要求1-12任一项所述的方法。
15.一种存储有指令的非暂态计算机可读介质,所述指令在由设备的处理器执行时,促使所述设备执行权利要求1至12中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/121942 WO2020098815A2 (en) | 2019-11-29 | 2019-11-29 | Methods and devices for cryptographic key management based on blockchain system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111386673A true CN111386673A (zh) | 2020-07-07 |
Family
ID=70733019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980005812.6A Pending CN111386673A (zh) | 2019-11-29 | 2019-11-29 | 用于基于区块链系统的加密密钥管理的方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11477013B2 (zh) |
EP (1) | EP3777006B1 (zh) |
CN (1) | CN111386673A (zh) |
SG (1) | SG11202009924RA (zh) |
TW (1) | TWI768403B (zh) |
WO (1) | WO2020098815A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112712357A (zh) * | 2020-12-30 | 2021-04-27 | 普华云创科技(北京)有限公司 | 一种多机构多链多币种多账户的私钥管理方法与系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235278B (zh) * | 2020-10-10 | 2022-03-25 | 杭州溪塔科技有限公司 | 一种监管交易者地址信息的方法、装置及电子设备 |
CN112819467B (zh) * | 2021-02-23 | 2024-09-06 | 中国信息通信研究院 | 一种隐私交易方法、装置及系统 |
CN113259493B (zh) * | 2021-07-07 | 2021-10-15 | 深圳高灯计算机科技有限公司 | 基于Ukey机柜的Ukey信息获取方法、装置、设备和存储介质 |
CN114614991B (zh) * | 2022-03-11 | 2023-12-26 | 国网浙江省电力有限公司电力科学研究院 | 适用于小微负荷聚合响应的区块链自动结算方法及系统 |
CN115086041A (zh) * | 2022-06-16 | 2022-09-20 | 北京天融信网络安全技术有限公司 | 账号管理方法、装置、电子设备和计算机可读存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08297638A (ja) * | 1995-04-26 | 1996-11-12 | Nippon Telegr & Teleph Corp <Ntt> | 利用者認証方式 |
US20040098589A1 (en) * | 2002-11-14 | 2004-05-20 | Identicrypt, Inc. | Identity-based encryption system |
CN1859086A (zh) * | 2005-12-31 | 2006-11-08 | 华为技术有限公司 | 一种内容分级访问控制系统和方法 |
CN104065477A (zh) * | 2013-03-20 | 2014-09-24 | 东方斯泰克信息技术研究院(北京)有限公司 | 一种cpk用户id卡生成机的设计与实现方法 |
US20160127128A1 (en) * | 2014-10-31 | 2016-05-05 | Hewlett-Packard Development Company, L.P. | Management of cryptographic keys |
CN108476139A (zh) * | 2015-11-10 | 2018-08-31 | 株式会社艾码立得 | 匿名通信系统及用于向该通信系统加入的方法 |
US20190180275A1 (en) * | 2017-12-13 | 2019-06-13 | Mastercard International Incorporated | Method and system for consumer-initiated transactions using encrypted tokens |
CN110020857A (zh) * | 2019-02-27 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种存储、调用区块链账户私钥的方法及装置 |
US20190280864A1 (en) * | 2015-07-14 | 2019-09-12 | Fmr Llc | Seed Splitting and Firmware Extension for Secure Cryptocurrency Key Backup, Restore, and Transaction Signing Platform Apparatuses, Methods and Systems |
WO2019179534A2 (en) * | 2019-07-02 | 2019-09-26 | Alibaba Group Holding Limited | System and method for creating decentralized identifiers |
WO2019218055A1 (en) * | 2018-05-15 | 2019-11-21 | Kelvin Zero Inc. | Systems, methods, and devices for secure blockchain transaction and subnetworks |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
JP3629516B2 (ja) * | 2000-11-02 | 2005-03-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プロキシサーバ、電子署名システム、電子署名検証システム、ネットワークシステム、電子署名方法、電子署名検証方法及び記憶媒体 |
CN101552018A (zh) | 2002-04-17 | 2009-10-07 | 松下电器产业株式会社 | 信息输入/输出以及密钥管理的系统和装置 |
US7328243B2 (en) * | 2002-10-31 | 2008-02-05 | Sun Microsystems, Inc. | Collaborative content coherence using mobile agents in peer-to-peer networks |
GB2415064B (en) * | 2004-06-10 | 2008-01-09 | Symbian Software Ltd | Computing device with a process-based keystore and method for operating a computing device |
US7627125B2 (en) * | 2005-06-23 | 2009-12-01 | Efunds Corporation | Key loading systems and methods |
CN103797500A (zh) * | 2011-06-03 | 2014-05-14 | 维萨国际服务协会 | 虚拟钱包卡选择装置、方法及系统 |
US9710807B2 (en) * | 2011-08-18 | 2017-07-18 | Visa International Service Association | Third-party value added wallet features and interfaces apparatuses, methods and systems |
US20140254796A1 (en) * | 2013-03-08 | 2014-09-11 | The Chinese University Of Hong Kong | Method and apparatus for generating and/or processing 2d barcode |
US20150120569A1 (en) * | 2013-10-31 | 2015-04-30 | Bitgo, Inc. | Virtual currency address security |
JP2015065495A (ja) | 2013-09-24 | 2015-04-09 | ルネサスエレクトロニクス株式会社 | 暗号鍵供給方法、半導体集積回路および暗号鍵管理装置 |
US11164164B2 (en) * | 2014-05-15 | 2021-11-02 | Uphold Global Foundation | System and method for converting cryptocurrency to virtual assets whose value is substantiated by a reserve of assets |
CN104850795B (zh) | 2015-05-25 | 2018-08-21 | 上海柯力士信息安全技术有限公司 | 一种密钥管理系统及变更账户信息的方法 |
US20180191503A1 (en) * | 2015-07-14 | 2018-07-05 | Fmr Llc | Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US10461940B2 (en) * | 2017-03-10 | 2019-10-29 | Fmr Llc | Secure firmware transaction signing platform apparatuses, methods and systems |
US10257171B2 (en) * | 2015-09-04 | 2019-04-09 | Ca, Inc. | Server public key pinning by URL |
EP3348019A1 (en) * | 2015-09-11 | 2018-07-18 | Aware, Inc. | Biometric verification of a blockchain database transaction contributor |
KR101637854B1 (ko) * | 2015-10-16 | 2016-07-08 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법 |
US10643203B2 (en) * | 2016-04-12 | 2020-05-05 | Digicash Pty Ltd. | Secure transaction controller for value token exchange systems |
US10346618B1 (en) | 2017-03-24 | 2019-07-09 | Amazon Technologies, Inc. | Data encryption for virtual workspaces |
US11551195B2 (en) * | 2017-07-18 | 2023-01-10 | Tata Consultancy Services Limited | Systems and methods for providing services to smart devices connected in an IoT platform |
JP6852003B2 (ja) * | 2018-03-07 | 2021-03-31 | 株式会社東芝 | 情報管理装置、認証装置、情報管理システム、情報管理方法、およびコンピュータプログラム |
CN108647105B (zh) * | 2018-05-22 | 2022-02-01 | 创新先进技术有限公司 | 系统切换过程中的幂等控制方法、装置及系统 |
CN109063027A (zh) * | 2018-07-16 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 一种业务处理方法和装置 |
TWM584934U (zh) * | 2019-05-02 | 2019-10-11 | 歐生全科技股份有限公司 | 智能錢包裝置 |
TWM583081U (zh) * | 2019-05-31 | 2019-09-01 | 叡廷股份有限公司 | 兼容金鑰管理系統 |
-
2019
- 2019-11-29 EP EP19884849.1A patent/EP3777006B1/en active Active
- 2019-11-29 CN CN201980005812.6A patent/CN111386673A/zh active Pending
- 2019-11-29 SG SG11202009924RA patent/SG11202009924RA/en unknown
- 2019-11-29 WO PCT/CN2019/121942 patent/WO2020098815A2/en unknown
-
2020
- 2020-07-14 TW TW109123720A patent/TWI768403B/zh active
- 2020-11-17 US US16/950,380 patent/US11477013B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08297638A (ja) * | 1995-04-26 | 1996-11-12 | Nippon Telegr & Teleph Corp <Ntt> | 利用者認証方式 |
US20040098589A1 (en) * | 2002-11-14 | 2004-05-20 | Identicrypt, Inc. | Identity-based encryption system |
CN1859086A (zh) * | 2005-12-31 | 2006-11-08 | 华为技术有限公司 | 一种内容分级访问控制系统和方法 |
CN104065477A (zh) * | 2013-03-20 | 2014-09-24 | 东方斯泰克信息技术研究院(北京)有限公司 | 一种cpk用户id卡生成机的设计与实现方法 |
US20160127128A1 (en) * | 2014-10-31 | 2016-05-05 | Hewlett-Packard Development Company, L.P. | Management of cryptographic keys |
US20190280864A1 (en) * | 2015-07-14 | 2019-09-12 | Fmr Llc | Seed Splitting and Firmware Extension for Secure Cryptocurrency Key Backup, Restore, and Transaction Signing Platform Apparatuses, Methods and Systems |
CN108476139A (zh) * | 2015-11-10 | 2018-08-31 | 株式会社艾码立得 | 匿名通信系统及用于向该通信系统加入的方法 |
US20190180275A1 (en) * | 2017-12-13 | 2019-06-13 | Mastercard International Incorporated | Method and system for consumer-initiated transactions using encrypted tokens |
WO2019218055A1 (en) * | 2018-05-15 | 2019-11-21 | Kelvin Zero Inc. | Systems, methods, and devices for secure blockchain transaction and subnetworks |
CN110020857A (zh) * | 2019-02-27 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种存储、调用区块链账户私钥的方法及装置 |
WO2019179534A2 (en) * | 2019-07-02 | 2019-09-26 | Alibaba Group Holding Limited | System and method for creating decentralized identifiers |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112712357A (zh) * | 2020-12-30 | 2021-04-27 | 普华云创科技(北京)有限公司 | 一种多机构多链多币种多账户的私钥管理方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3777006A4 (en) | 2021-03-17 |
WO2020098815A3 (en) | 2020-10-08 |
US11477013B2 (en) | 2022-10-18 |
TW202129522A (zh) | 2021-08-01 |
US20210167952A1 (en) | 2021-06-03 |
TWI768403B (zh) | 2022-06-21 |
EP3777006A2 (en) | 2021-02-17 |
WO2020098815A2 (en) | 2020-05-22 |
EP3777006B1 (en) | 2022-08-24 |
SG11202009924RA (en) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3639182B1 (en) | Methods and devices for validating transaction in blockchain system | |
US11341493B2 (en) | Methods and devices for providing transaction data to blockchain system for processing | |
US11410145B2 (en) | Blockchain-implemented method for control and distribution of digital content | |
CN110785783B (zh) | 对用于区块链系统的签名验证进行测试的方法和设备 | |
TWI768403B (zh) | 基於區塊鏈系統之用於加密金鑰管理的方法和設備 | |
US10880383B2 (en) | Methods and devices for establishing communication between nodes in blockchain system | |
WO2020182234A2 (en) | Methods and devices for transaction matching based on blockchain system | |
CN113179169B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40032935 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200707 |