CN109937557B - 用于信息保护的系统和方法 - Google Patents

用于信息保护的系统和方法 Download PDF

Info

Publication number
CN109937557B
CN109937557B CN201880004148.9A CN201880004148A CN109937557B CN 109937557 B CN109937557 B CN 109937557B CN 201880004148 A CN201880004148 A CN 201880004148A CN 109937557 B CN109937557 B CN 109937557B
Authority
CN
China
Prior art keywords
transaction
key
commitment
sender
combination
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.)
Active
Application number
CN201880004148.9A
Other languages
English (en)
Other versions
CN109937557A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Publication of CN109937557A publication Critical patent/CN109937557A/zh
Application granted granted Critical
Publication of CN109937557B publication Critical patent/CN109937557B/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/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • 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/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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/3236Cryptographic 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/3239Cryptographic 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
    • 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/3247Cryptographic 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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/04Masking or blinding
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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

Abstract

一种计算机实现的方法包括:用承诺方案承诺交易的交易金额以获得交易承诺值,所述承诺方案至少包括交易盲因子;生成对称密钥对的第一密钥;用所述第一密钥加密所述交易盲因子和所述交易金额t的组合;以及向与所述交易的接收方相关联的接收方节点发送所述交易承诺值T和所述加密的组合,以便所述接收方节点验证所述交易。

Description

用于信息保护的系统和方法
技术领域
本公开总体上涉及用于信息保护的方法和设备。
背景技术
隐私对于各种用户之间的通信和数据传输是重要的。在没有保护的情况下,用户暴露于身份盗窃、非法转移或其它潜在损失的风险中。当在线实现通信和传送时,由于对在线信息的自由访问,风险甚至变得更大。
发明内容
本发明的各种实施例包括用于信息保护的系统、方法和非暂时性计算机可读介质。
根据一个方面,用于信息保护的计算机实现方法包括:用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;生成对称密钥对的第一密钥;用第一密钥加密交易盲因子r_t和交易金额t的组合;以及向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合,以便接收方节点验证交易。
在一些实施例中,生成第一密钥包括:根据Diffie-Hellman(DH)密钥交换协议,基于交易的发送方的私钥SK_A和交易的接收方的公钥PK_B,生成第一密钥。
在一些实施例中,承诺方案包括佩德森(Pedersen)承诺,所述Pedersen承诺至少基于交易盲因子r_t并且具有作为被承诺值的交易金额t。
在一些实施例中,交易盲因子r_t和交易金额t的组合包括交易盲因子r_t和交易金额t的级联。
在一些实施例中,向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合以便接收方节点验证所述交易包括向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合,使得接收方节点:基于交易的接收方的私钥SK_B和交易的发送方的公钥PK_A生成对称密钥对的第二密钥;用由接收节点生成的第二密钥解密加密的组合,获得交易盲因子r_t和交易金额t;以及至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易。
在一些实施例中,使接收方节点至少基于交易承诺值T、交易盲因子r_t和交易金额t验证交易包括使接收方节点:响应于基于交易盲因子r_t确定交易承诺值T与交易金额t的承诺方案不匹配,拒绝所述交易;以及响应于基于交易盲因子r_t确定交易承诺值T与交易金额t的承诺方案匹配,通过对交易签名生成待返回至与发送方相关联的发送方节点的接收方签名SIGB以批准所述交易。
在一些实施例中,在向与接收方相关联的接收方节点发送加密的组合之前,所述方法还包括:用承诺方案承诺交易的找零y以获得找零承诺值Y,所述承诺方案至少包括找零盲因子r_y,其中找零y是交易动用的发送方的一个或多个资产减去交易金额t;基于发送方的私钥SK_A和发送方的公钥PK_A生成另一密钥;以及用另一密钥加密找零盲因子r_y和找零y的另一组合。
在一些实施例中,所述方法还包括:响应于接收到接收方签名SIGB,通过对交易签名生成发送方签名SIGA以批准所述交易;以及向区块链网络中的一个或多个节点提交包括加密的组合、加密的另一组合、交易承诺值T、找零承诺值Y、发送方签名SIGA和接收方签名SIGB的交易,以便一个或多个节点验证所述交易。
在一些实施例中,向区块链网络中的一个或多个节点提交包括加密的组合、加密的另一组合、交易承诺值T、找零承诺值Y、发送方签名SIGA和接收方签名SIGB的交易,以便一个或多个节点验证所述交易,包括:向所述区块链网络中的一个或多个节点提交包括加密的组合、加密的另一组合、交易承诺值T、找零承诺值Y、发送方签名SIGA和接收方签名SIGB的交易,使得所述一个或多个节点响应于成功验证所述交易,向接收方发布交易金额t,消除为所述交易动用的一个或多个资产,以及向所述发送方发布找零y。
根据另一方面,非暂时性计算机可读存储介质存储待由处理器执行以使所述处理器执行操作的指令,所述操作包括:用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;生成对称密钥对的第一密钥;用第一密钥加密交易盲因子r_t和交易金额t的组合;以及向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合,以便接收方节点验证所述交易。
根据另一方面,用于信息保护的系统包括处理器和耦合至所述处理器的非暂时性计算机可读存储介质,所述存储介质存储待由所述处理器执行以使所述系统执行操作的指令,所述操作包括:用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;生成对称密钥对的第一密钥;用第一密钥加密交易盲因子r_t和交易金额t的组合;以及向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合,以便接收方节点验证所述交易。
根据另一方面,用于信息保护的计算机实现方法包括:用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;生成对称密钥对的第一密钥;用第一密钥加密交易盲因子r_t和交易金额t的组合;以及向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合,以便所述接收方节点:基于接收方的私钥SK_B和发送方的公钥PK_A生成对称密钥对的第二密钥,用由接收方节点生成的第二密钥解密加密的组合,以获得交易盲因子r_t和交易金额t,以及至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易。
根据另一方面,非暂时性计算机可读存储介质存储待由处理器执行以使所述处理器执行以下操作的指令,所述操作包括:用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;生成对称密钥对的第一密钥;用第一密钥加密交易盲因子r_t和交易金额t的组合;以及向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合,以便所述接收方节点:基于接收方的私钥SK_B和发送方的公钥PK_A生成对称密钥对的第二密钥,用由接收方节点生成的第二密钥对解密加密的组合,以获得交易盲因子r_t和交易金额t,以及至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易。
根据另一方面,用于信息保护的系统包括处理器和耦合至所述处理器的非暂时性计算机可读存储介质,所述存储介质存储待由所述处理器执行以使所述系统执行操作的指令,所述操作包括:用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;生成对称密钥对的第一密钥;用第一密钥加密交易盲因子r_t和交易金额t的组合;以及向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合,以便所述接收方节点:基于接收方的私钥SK_B和发送方的公钥PK_A生成对称密钥对的第二密钥,用由接收方节点生成的第二密钥解密加密的组合,以获得交易盲因子r_t和交易金额t,以及至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易。
根据另一方面,用于信息保护的计算机实现方法包括:用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;生成对称密钥对的第一密钥;用第一密钥加密交易盲因子r_t和交易金额t的组合;以及向交易的接收方相关联的接收节点发送交易承诺值T和加密的组合,以便所述接收节点:基于接收方的私钥SK_B和发送方的公钥PK_A生成对称密钥对的第二密钥,用由接收方节点生成的第二密钥解密加密的组合,以获得交易盲因子r_t和交易金额t,以及至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易。
根据另一方面,非暂时性计算机可读存储介质存储待由处理器执行以使所述处理器执行操作的指令,所述操作包括:用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;生成对称密钥对的第一密钥;用第一密钥加密交易盲因子r_t和交易金额t的组合;以及向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合,以便所述接收方节点:基于接收方的私钥SK_B和发送方的公钥PK_A生成对称密钥对的第二密钥,用由接收方节点生成的第二密钥解密加密的组合,以获得交易盲因子r_t和交易金额t,以及至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易。
根据另一方面,用于信息保护的系统包括处理器和耦合至所述处理器的非暂时性计算机可读存储介质,所述存储介质存储待由所述处理器执行以使所述系统执行操作的指令,所述操作包括:用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;生成对称密钥对的第一密钥;用第一密钥加密交易盲因子r_t和交易金额t的组合;以及向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合,以便所述接收节点:基于接收方的私钥SK_B和发送方的公钥PK_A生成对称密钥对的第二密钥,用由接收方节点生成的第二密钥解密加密的组合,以获得交易盲因子r_t和交易金额t,以及至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易。
根据另一方面,用于信息保护的计算机实现方法包括:获取用对称密钥对的第一密钥加密的交易盲因子r_t和交易金额t的组合,并获取交易承诺值T,其中,由与交易的发送方相关联的发送方节点用承诺方案承诺交易金额t,以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;生成对称密钥对的第二密钥;用由与交易的接收方相关联的接收方节点生成的第二密钥解密所获得的组合,以获得交易盲因子r_t和交易金额T;以及至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易。
根据另一方面,非暂时性计算机可读存储介质存储待由处理器执行以使所述处理器执行操作的指令,所述操作包括:获取用对称密钥对的第一密钥加密的交易盲因子r_t和交易金额t的组合,并获取交易承诺值T,其中,由与交易的发送方相关联的发送方节点用承诺方案承诺交易金额t,以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;生成对称密钥对的第二密钥;用与交易的接收方相关联的接收方节点生成的第二密钥解密所获得的组合,以获得交易盲因子r_t和交易金额t;以及至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易。
根据另一方面,用于信息保护的系统包括处理器和耦合至所述处理器的非暂时性计算机可读存储介质,所述存储介质存储待由所述处理器执行以使所述系统执行操作的指令,所述操作包括:获取用对称密钥对的第一密钥加密的交易盲因子r_t和交易金额t的组合,并获取交易承诺值T,其中,由与交易的发送方相关联的发送方节点用承诺方案承诺交易金额t,以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;生成对称密钥对的第二密钥;用与交易的接收方相关联的接收方节点生成的第二密钥解密所获得的组合,以获得交易盲因子r_t和交易金额T;以及至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易。
在参考附图考虑以下描述和所附权利要求书之后,本文公开的系统、方法和非暂时性计算机可读介质的这些特征和其它特征,以及操作方法和结构的相关元件的功能以及部件的组合和制造的经济性将变得更加明显,所有附图形成本说明书的一部分,其中在各个附图中,相同的附图标记表示对应的部件。然而,应当清楚地理解,附图仅用于说明和描述的目的,而不意图作为对本发明的限制的定义。
附图说明
本技术的各种实施例的某些特征在所附权利要求中具体阐述。通过参考以下阐述了利用本发明原理的示例性实施例的详细说明以及附图,将获得对本技术的特征和优点的更好理解,其中,
图1示出了根据各种实施例的用于信息保护的示例性系统。
图2示出了根据各种实施例的交易发起和验证的示例性步骤。
图3A示出了根据各种实施例的用于信息保护的示例性方法的流程图。
图3B示出了根据各种实施例的用于信息保护的示例性方法的流程图。
图4A示出了根据各种实施例的用于信息保护的示例性方法的流程图。
图4B示出了根据各种实施例的用于信息保护的示例性方法的流程图。
图5示出了可实现本文所描述的任何实施例的示例性计算机系统的框图。
具体实施方式
因为操作由网络中的各个节点(例如,计算设备)执行,区块链可以被认为是去中心化的数据库,通常被称为分布式账本。任何信息都可以被写入并被保存至区块链中或从区块链被读取。任何人都可以建立服务器并作为节点加入区块链网络。任何节点都可以通过执行诸如哈希计算的复杂计算以向当前区块链添加区块,从而对维持区块链贡献计算能力,并且所添加的区块可以包含各种类型的数据或信息。可以用代币(例如,数字货币单位)对为所添加的区块贡献计算能力的节点进行奖励。由于区块链没有中心节点,所以每个节点是等同的,并且保存整个区块链数据库。
节点是例如支持区块链网络并保持其平稳运行的计算设备或大型计算机系统。有两种类型的节点,全量节点和轻量节点。全量节点保存区块链的完整副本。区块链网络上的全量节点验证它们接收的交易和区块,并将这些交易和区块中继到连接的对等点,以提供交易的共识验证。另一方面,轻量节点仅下载区块链的一小部分。例如,轻量节点用于数字货币交易。当轻量节点想要进行交易时,轻量节点将与全量节点通信。
这种去中心化属性可以帮助防止处于控制位置的管理中心出现。例如,比特币区块链的维护是由运行区域中(装有)比特币软件的通信节点组成的网络执行。本公开使用一个或多个区块链或数字货币,例如比特币和以太币。本领域普通技术人员应当理解,本公开中公开的技术方案可以使用或应用于其他类型的区块链和数字货币。也就是说,取代传统意义上的银行、机构或管理员,多个中间角色以执行比特币软件的计算机服务器的形式存在。这些计算机服务器形成经由因特网连接的网络,其中任何人都可能加入该网络。网络所容纳的交易可以具有以下形式:“用户A想要将Z个比特币发送给用户B”,其中使用容易获得的软件应用程序将交易广播至网络。计算机服务器用作比特币服务器,该比特币服务器可操作以验证这些金融交易,并将这些金融交易的记录添加至其账本的副本中,接着向网络的其它服务器广播这些账本添加操作。
维护区块链被称为“挖矿”,并且进行这种维护的人被用如上所述的新创造的比特币和交易费进行奖励。例如,节点可以基于区块链网络已经同意的一组规则确定交易是否有效。矿工可位于任何大陆上,并通过验证每一交易是有效的以及将该交易添加至区块链中来处理支付。通过由多个矿工提供的共识实现这种验证,并且假定不存在系统串通。最后,所有数据将是一致的,因为计算必须满足某些要求才是有效的,并且所有节点将被同步以确保区块链是一致的。因此,数据可以被一致地存储在区块链节点的分布式系统中。
通过挖矿过程,交易诸如资产转移被网络节点验证并被添加至区块链的区块的增长链中。通过遍历整个区块链,验证可包括例如付款方是否有权访问转账资产、资产是否以前已经被花费、转账金额是否正确等。例如,在由发送方签发的假设交易(例如,根据UTXO(未被花费的交易输出)模型的比特币交易,根据账户/余额模型的以太币交易)中,提出的交易可被广播至区块链网络以便挖矿。矿工需要根据区块链历史检查交易是否有资格被执行。如果根据现有的区块链历史,发送方的钱包余额具有足够的资金,则认为交易是有效的,并且可以将该交易添加至区块中。资产转移一旦被验证,其可以被包含于下一个待被添加至区块链的区块中。
区块非常像数据库记录。每次写入数据时创建一个区块。这些区块被链接并使用密码术被保护以成为互连的网络。每个区块都连接至前一区块,这也是名称“区块链”的起源。每个区块通常包含前一区块的加密哈希值、生成时间和实际数据。例如,每个区块包含两个部分:记录当前区块的特征值的区块头,以及记录实际数据(例如,交易数据)的主体。区块的链通过区块头链接。每个区块头可以包含多个特征值,例如版本、前一区块哈希值、默克尔(Merkle)根、时间戳、难度目标和随机数。前一区块哈希值不仅包含前一区块的地址,而且包含前一区块内部的数据的哈希值,从而使得区块链不可变。随机数是当被包括时产生具有指定数量的前导零位的哈希值的数。
为了挖矿,节点获取新区块的内容的哈希值。随机数(例如,随机字符串)被附加到该哈希值,从而获得新字符串。新字符串被再次进行哈希处理。然后,将最终的哈希值与难度目标(例如,级别)进行比较,并确定最终的哈希值是否实际小于难度目标。如果最终的哈希值不小于难度目标,则改变随机数,并且再次重复该过程。如果最终的哈希值小于难度目标,则将所述区块添加至链中,更新公开账本并提醒所述添加。负责成功添加的节点获得比特币奖励,例如,通过向新区块添加对自身的奖励交易(称为造币生成)。
即,对于每个输出“Y”,如果k是从最小熵(min-entropy)高的分布中选择的,则不可能找到输入x以使得H(k|x)=Y,其中K是随机数,x是区块的哈希值,Y是难度目标,并且“|”表示级联(concatenation)。由于加密哈希值基本上是随机的,由于加密哈希值的输出不能从其输入预测,仅存在一种找到随机数的已知方法:一个接一个地尝试整数,例如1、然后2、然后3、等等,这可以被称为蛮力。前导零的数量越大,找到必需的随机数Y所花费的平均时间就越长。在一个示例中,比特币系统不断地调整前导零的数量,使得找到随机数的平均时间约为十分钟。这样,由于计算硬件的处理能力随着时间提高,接下来几年,比特币协议将只需要更多的前导零位,以使得实现挖矿总是花费大约十分钟的持续时间。
如上所述,哈希处理是区块链的重要基础。可以将哈希算法理解为将任何长度的消息压缩成固定长度消息摘要的函数。MD5和SHA是更常使用的。在一些实施例中,区块链的哈希值长度是256位,这意味着无论原始内容是什么,最终都计算256位的二进制数。并且只要原始内容不同,就可以保证相应的哈希值是唯一的。例如,字符串“123”的哈希值是a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(十六进制),其当被转换为二进制时具有256位,并且仅“123”具有这个哈希值。区块链中的哈希算法是不可逆的,即,正向计算是容易的(从“123”至a8fdc205a9f19cc1c7507a60c4f01b1c7507a60c4f01b13d11d7fd0),并且即使耗尽所有计算资源,也不能完成逆向计算。因此,区块链的每个区块的哈希值是唯一的。
此外,如果区块的内容改变,则其哈希值也将改变。区块和哈希值一一对应,并且针对区块头具体计算每个区块的哈希值。即,连接区块头的特征值以形成长字符串,然后为所述字符串计算哈希值。例如,“哈希值=SHA256(区块头)”是区块哈希值计算公式,SHA256是应用于区块头的区块链哈希算法。哈希值由区块头而不是区块主体唯一地确定。如上所述,区块头包含许多内容,包括当前区块的哈希值和前一区块的哈希值。这意味着如果当前区块的内容改变,或者如果前一区块的哈希值改变,则将导致当前区块中的哈希值改变。如果黑客修改了区块,则所述区块的哈希值改变。由于下一区块必须包含前一区块的哈希值,为了使后面的区块连接至被修改的区块,黑客必须依次修改所有随后的区块。否则,被修改的区块将脱离区块链。由于设计原因,哈希值计算是耗时的,几乎不可能在短时间内修改多个区块,除非黑客已经掌握了整个网络51%以上的计算能力。因此,区块链保证了其自身的可靠性,并且一旦数据被写入,数据就不能被篡改。
一旦矿工找到了新区块的哈希值(即,合格的签名或解决方案),矿工就将该签名广播至所有其它矿工(区块链中的节点)。现在,其它矿工依次验证所述解决方案是否与发送方的区块的问题相对应(即,确定哈希值输入是否实际上导致所述签名)。如果所述解决方案是有效的,则其它矿工将确认该解决方案,并同意可将新区块添加至区块链。因此,达成了新区块的共识。这也被称为“工作量证明”。已经达成共识的区块现在可以被添加至区块链中,并且与其签名一起被广播至网络上的所有节点。只要区块内的交易在所述时间点正确地对应于当前钱包余额(交易历史),节点就将接受该区块并将保存该区块于节点的交易数据。每当在所述区块的顶部添加新的区块时,所述添加还可算作为对其之前的区块的另一“确认”。例如,如果交易被包括在区块502中,并且区块链有507个区块,这意味着交易具有五个确认(对应于区块507至区块502)。交易具有越多的确认,攻击者就越难改变。
在一些实施例中,示例性区块链资产系统利用公钥密码术,其中生成两个密钥,一个公钥和一个私钥。可认为公钥是账号,而可认为私钥是所有权凭证。例如,比特币钱包是公钥和私钥的集合。可以用属于资产地址的私钥的知识来证明与该地址相关联的资产(例如,数字货币、现金资产、股票、股权、债券)的所有权。例如,比特币钱包软件,有时称为“比特币客户软件”,允许给定用户交易比特币。钱包程序生成并存储私钥,并与比特币网络上的对等点通信。
在区块链交易中,通过付款人和收款人的公钥在区块链中识别付款人和收款人。例如,大多数当代比特币转移是从一个公钥到不同的公钥。实际上,这些密钥的哈希值被用于区块链中,并且被称为“比特币地址”。原则上,如果使用用户的比特币地址而不是他们的名字,假想的攻击者个人S可以通过简单地向区块链账本添加像“个人A向个人S支付100个比特币”一样的交易从个人A偷钱。比特币协议通过要求每次转账都用付款人的私钥进行数字签名防止这种盗窃,并且只有经签名的转账可以被添加至区块链账本中。由于个人S不能伪造个人A的签名,因此个人S不能通过向区块链添加相当于“个人A向个人S支付200个比特币”的条目来欺骗个人A。同时,任何人都可以使用他/她的公钥来验证个人A的签名,并因此在他/她是付款人的情况下验证他/她已经授权了区块链中的任何交易。
在比特币交易的情况下,为了向用户B转移一些比特币,用户A可以构造包含关于通过节点的交易的信息的记录。该记录可以签有用户A的签名密钥(私钥),并且包含用户A的公共验证密钥和用户B的公共验证密钥。签名用于确认交易来自用户A,并且一旦发布交易,还防止该交易被任何人更改。该记录与在新区块中的同一时间窗口中发生的其它记录一起可以被广播至全量节点。在接收到记录时,全量节点可以将记录合并到区块链系统中曾经发生的所有交易的账本中,通过上述挖矿过程将新区块添加至先前接受的区块链,并且针对网络的共识规则验证所添加的区块。
UTXO(未被花费的交易输出)模型和账户/余额模型是用于实现区块链交易的两个示例性模型。UTXO是区块链对象模型。根据UTXO,资产由尚未被花费的区块链交易的输出表示,所述输出可以用作新交易中的输入。例如,用户A的待转移的资产可以是UTXO的形式。为了花费(交易)资产,用户A必须用私钥签名。比特币是使用UTXO模型的数字货币的示例。在有效的区块链交易的情况下,未被花费的输出可用于实现进一步的交易。在一些实施例中,在进一步的交易中可以仅使用未被花费的输出,以防止双花和欺诈。为此,区块链上的输入在交易发生时被删除,同时创建UTXO形式的输出。这些未被花费的交易输出可以(由私钥持有者,例如,具有数字货币钱包的人)用于未来交易。
另一方面,账户/余额模型(或称为基于账户的交易模型)保持跟踪每个账户的余额作为全局状态。检查账户余额,以确定账户余额大于或等于花费的交易金额。以下提供了账户/余额模型如何在以太坊中工作的示例:
1.Alice通过挖矿获得5个以太币。在该系统中记录Alice具有5个以太币。
2.Alice想给Bob 1个以太币,因此系统将首先从Alice的账户中扣除1个以太币,因此Alice现在具有4个以太币。
3.然后,系统给Bob的账户增加1个以太币。该系统知道Bob本来有2个以太币,因此Bob的余额增加到3个以太币。
以太坊的记账方式可以与银行中的记账方式相似。类比是使用ATM/借记卡。银行跟踪每张借记卡有多少钱,当Bob需要花钱时,银行在批准交易之前检查其记录以确保Bob具有足够的余额。
由于区块链和其它类似的账本是完全公开的,因此区块链本身没有隐私保护。P2P网络的公开特性意味着尽管使用它的人不是通过名字来识别的,但是将交易链接至个人和公司是可行的。例如,在跨境汇款中或在供应链中,交易金额具有极高级别的隐私保护值,这是因为使用交易金额信息可以推断交易方的特定位置和身份。交易的主题可以包括例如金钱、代币、数字货币、合同、契据、医疗记录、客户详细资料、股票、债券、权益或可以以数字形式描述的任何其他资产。尽管UTXO模型可以例如通过门罗币(Monero)中的环签名(ringsignature)和零知识密码术大零币(Zcash)使得交易金额不公开,但是交易金额在账户/余额模型下仍然是不受保护的。因此,本公开所解决的技术问题是如何保护在线信息诸如交易金额的隐私。这样的交易可以采用账户/余额模型。
一些现有技术提出使用佩德森(Pedersen)承诺方案加密交易金额并替换账户/余额模型。在该方案下,发送方通过区块链之外的安全通道向收款人发送交易金额和对应于交易金额的Pedersen承诺的随机数。收款人验证随机数与交易承诺是否匹配,并执行本地存储。例如,根据账户/余额模型,账户可被视为用于保存被汇总但未被合并的资产的钱包(账户)。每个资产可以对应于资产类型(例如,加密货币),并且账户的余额是资产价值的总和。即使是同一类型的资产也不被合并。在交易期间,可以指定转移资产的接收方,并且可以从钱包中移除相应资产以便为交易提供资金。区块链节点验证支付钱包是否具有足以覆盖交易的资产,然后节点从支付钱包中删除转移的资产,并将相应的资产添加至接收方钱包。
然而,这种方案仍然存在限制。首先,所述方案要求用户在本地维护永久存储器,以管理与加密账户余额对应的随机数和明文余额,管理实现是复杂的;其次,存储在单个本地节点中的与“Pedersen资产”对应的盲因子(如随机数)和明文余额容易丢失或损坏,且由于账户余额频繁变化,多节点备份存储难以实现。
本公开中所提出的系统和方法可以克服上述限制,并且实现对承诺方案中的交易金额、资产价值和盲因子的稳健隐私保护。为此,可以使用通过迪菲-赫尔曼(Diffie-Hellman,DH)密钥交换协议获得的对称密钥来加密/解密随机数和明文余额,从而提供方便的管理。此外,将加密信息存储在区块链中确保了承诺方案中的交易金额、资产价值和盲因子不容易丢失或被篡改。
在讨论本公开的附图之前,以下描述了Pedersen承诺和Diffie-Hellman(DH)密钥交换协议。
在一些实施例中,承诺方案(例如,Pedersen承诺)可以加密某个值a(例如,交易金额、资产价值、关键参数)如下:
PC(a)=r×G+a×H
其中,r是提供隐藏的随机盲因子(或者称为盲因子),G和H是达成共识的椭圆曲线的生成元/基点,并且可以是随机选择的,sn是承诺的值,C(sn)是用作承诺并被给予对方的曲线点,并且H是另一曲线点。也就是说,G和H可以是被节点已知的参数。可通过利用从一个点映射到另一个点的哈希函数(H=哈希(G))对基点G进行哈希处理,生成H的“空袖数(nothing up my sleeve)”。H和G是给定系统的公共参数(例如,椭圆曲线上的随机生成的点)。尽管以上提供了椭圆曲线形式的Pedersen承诺的示例,但是可以替代地使用各种其它形式的Pedersen承诺或其它承诺方案。
承诺方案保持数据保密但承诺数据使得数据的发送方稍后不能改变数据。如果一方仅知道承诺值(例如,PC(a)),则它们不能确定哪些底层数据值(例如,a)已经被承诺。数据(例如,a)以及盲因子(例如,r)稍后可以(例如,由发起方节点)显露,承诺的接收方(例如,共识节点)可以运行该承诺,并验证该承诺的数据与所显露的数据相匹配。之所以存在这种盲因子,是因为如果没有这种盲因子,有人可能试图猜测数据。
承诺方案是发送方(承诺方)承诺一值(例如,a)使得承诺的值保持私有,但是可以在当承诺方透露承诺过程的必要参数的稍后时间显示该承诺的值的一种方式。强承诺方案可以是信息隐藏和计算绑定。隐藏是指给定值a和该值的承诺PC(a)应该是不相关的这一概念。即,PC(a)不应显露关于a的信息。在已知PC(a)、G和H的情况下,因为随机数r,几乎不可能知道a。如果几乎不存在使得两个不同的值可以导致相同承诺的方式,则承诺方案是绑定的。Pedersen承诺在离散对数假设下是完全隐藏和计算绑定的。此外,在已知r、G、H和PC(a)的情况下,可以通过确定PC(a)=r×G+a×H是否成立来验证PC(a)。
Pedersen承诺具有加法属性:可以将承诺相加,并且一组承诺的总和与对数据总和的承诺相同(其中盲因子设置为盲因子的总和):
PC(r1,data1)+PC(r2,data2)==PC(r1+r2,data1+data2);
PC(r1,data1)-PC(r1,data1)==0。
换句话说,承诺保留了加法并且交换属性适用,即,Pedersen承诺是相加同态的,因为底层数据可以进行数学运算,就像它没有被加密一样。
在一个实施例中,用于加密输入值的Pedersen承诺可以使用椭圆曲线点来构造。传统上,椭圆曲线密码(ECC)公钥是通过将用于群(G)的生成元与密钥(r)相乘来创建的:Pub=rG。结果可以被序列化为33字节阵列。ECC公钥可以服从前面关于Pedersen承诺所提到的相加同态属性。即:Pub1+Pub2=(r1+r2(mod n))G。
可以通过为所述群挑选附加的生成元(H,在下面的等式中)来创建用于输入值的Pedersen承诺,使得没有人知道第二生成元H相对于第一生成元G的离散对数(反之亦然),这意味着没有人知道使得xG=H的x。这可以例如通过使用G的加密哈希挑选H来完成:
H=to_point(SHA256(ENCODE(G)))。
给定两个生成元G和H,加密输入值的示例性承诺方案可以被定义为:承诺=rG+aH。这里,r可以是秘密盲因子,a可以是被承诺的输入值。因此,如果sn被承诺,则可以获得上述承诺方案PC(a)=r×G+a×H。Pedersen承诺在信息理论上是私有的:对于任何承诺,存在使一数值与该承诺匹配的盲因子。因为任意映射是不可计算的,Pedersen承诺可以从计算上对抗虚假承诺。
承诺该值的一方(节点)可以通过公开原始值a和完成承诺等式的因子r来公开该承诺。然后,希望公开值PC(a)的一方将再次计算承诺,以验证共享的原始值确实与最初接收的承诺PC(a)相匹配。因此,可以通过将资产类型信息映射至唯一的序列号,然后通过Pedersen承诺对其进行加密来保护资产类型信息。当生成承诺时选择的随机数r使得任何人几乎不可能根据承诺值PC(a)推断出承诺的资产类型的类型。
在一些实施例中,Diffie-Hellman(DH)密钥交换可以用作用于通过公共信道安全地交换密码密钥的方法。DH密钥交换,也称为指数密钥交换,是一种数字加密方法,该方法使用提升至特定幂的数,以基于从不直接传送的组件产生解密密钥,使得潜在的代码破解者的任务在数学上是压倒性的。
在实现Diffie-Hellman(DH)密钥交换的示例中,两个终端用户Alice和Bob在通过他们已知是私有的信道通信时相互对正整数p和q达成共识,即p是素数、q是p的生成元。生成元q是如下的数:当该数被提升至小于p的正整数幂时,任何两个整数都不会产生相同的结果。p的值可以是大的,但是q的值通常是小的。即,q是模p的原根。
一旦Alice和Bob私下对p和q达成共识,他们就选择正整数个人密钥a和b,两者都小于素数模p,并且两者都可以随机生成。用户不向任何人透露他们的个人密钥,并且理想地,他们记住这些数字并且不将它们写在或存储在任何地方。接下来,Alice和Bob根据公式基于他们的个人密钥计算公钥a*和公钥b*
a*=qa mod p
b*=qb mod p
两个用户可以通过假定不安全的通信介质、诸如因特网或公司广域网(WAN)共享其公钥a*和公钥b*。根据这些公钥,任一用户可以基于他们自己的个人密钥生成数字k1。
Alice使用下式计算k1:k1=(b*)a mod p
Bob使用下式计算k1:k1=(a*)b mod p
根据上述两个式中的任一个,k1的值被证明是相同的。然而,在K1的计算中关键的个人密钥a和个人密钥b没有通过公共介质传送。即使已知p、q、a*和b*,仍然很难计算a和b。因为k1是大的、明显随机的数字,所以即使在强大的计算机的帮助下进行数百万次试验,潜在的黑客也几乎没有机会正确地猜测k1。因此,理论上,两个用户可以使用解密密钥k1用他们选择的加密方法通过公共介质进行私下通信。
在实现Diffie-Hellman(DH)密钥交换的另一示例中,所有计算都发生在足够规模的离散群中,其中Diffie-Hellman问题被认为是难的,通常乘法群以大素数(例如,对于经典DH)或椭圆曲线群(例如,对于Diffie-Hellman椭圆曲线)为模。
对于交易双方,每一方选择私钥a或私钥b。
每一方计算相应的公钥aG或公钥bG。
每一方将公钥aG或公钥bG发送给另一方。
每一方使用接收到的公钥连同其自己的私钥计算新的共享的秘密a(bG)=b(aG),这可以被称为对称密钥对的对称密钥。
如稍后所述,所述示例性方法可用于生成对称密钥abG和baG。所述密钥交换的结果是共享的秘密,该结果之后可以与密钥导出函数(例如,加密函数E(),其使用双方已知的其他输入、诸如随机数和资产价值的级联)一起用于导出对称加密方案的密钥集。或者,可以使用各种其它计算方法,例如,通过生成公钥ga和公钥gb以及共享密钥gab或共享密钥gba
在交易期间,信息保护对于保护用户隐私是重要的,并且交易金额是一种缺乏保护的信息类型。图1示出了根据各种实施例的用于信息保护的示例性系统100。如图所示,区块链网络可以包括多个节点(例如,在服务器、计算机等中实现的全量节点)。对于某些区块链平台(例如,NEO),具有某级别投票权的全量节点可称为共识节点,共识节点承担交易验证的责任。在本公开中,全量节点、共识节点或其它等效节点可验证交易。
此外,如图1所示,用户A和用户B可以使用作为轻量节点的相应设备、诸如膝上型计算机和移动电话等执行交易。例如,用户A可能想要通过将用户A的账户中的某些资产转移到用户B的账户来与用户B交易。用户A和用户B可以使用安装有适当的交易用区块链软件的相应设备。用户A的设备可以称为发起方节点A,发起方节点A发起与被称为接收方节点B的用户B的设备的交易。节点A可以通过与节点1的通信访问区块链,而节点B可以通过与节点2的通信访问区块链。例如,节点A和节点B可以通过节点1和节点2向区块链提交交易,以请求向区块链添加交易。除了区块链,节点A和节点B可以具有其它通信信道(例如,不经过节点1和节点2的常规因特网通信)。
图1中的每个节点可以包括处理器和存储待由处理器执行以使得节点(例如,处理器)执行本文所述的用于信息保护的各种步骤的指令的非暂时性计算机可读存储介质。每个节点可以安装有软件(例如,交易程序)和/或硬件(例如,有线、无线连接)以与其它节点和/或其它设备通信。稍后参考图5描述节点硬件和软件的进一步细节。
图2示出了根据各种实施例的发送方节点A、接收方节点B以及一个或多个验证节点之间的交易和验证的示例性步骤。下面给出的操作旨在说明。取决于实现方式,示例性步骤可以包括以各种顺序执行的或并行执行的附加的、较少的或替代的步骤。
在各种实施例中,交易方(发送方用户A和接收方用户B)的账户被配置用于账户/余额模型。用户A和用户B可以执行以下步骤以经由一个或多个设备(例如他们的膝上型计算机、移动电话等)执行交易。这些设备可以安装有用于执行各种步骤的适当软件和硬件。每个账户可以与加密私钥(密钥)-公钥对相关联。私钥可以表示为SK=x,公钥可以表示为PK=xG,其中G是群的生成元。每个账户可以包含各种资产,每个资产表示为:(V=PC(r,v),E(K,r,v)),其中v表示资产的面值,V表示面值v的Pedersen承诺,r是盲因子(例如,随机数),PC()是Pedersen承诺算法,E()是加密算法(例如,对称密钥加密算法),并且K是加密密钥。在一个示例中,每个资产可以表示为(V=PC(r,v),E(K,r||v)),其中||表示级联。每个资产还可以包括除了所列出的信息之外的信息,例如资产的源信息。
在一个示例中,在用户A在区块链验证的交易中成功地向用户B交易金额t之前,A的账户和B的账户中的资产的地址如下:
对于A的账户(账户A):
地址:(SK_A=a,PK_A=aG)
值a_1至值a_m的资产A_1至资产A_m分别表示为:
(A_1=PC(r_{a_1},a_1),E(K_A,r_{a_1}||a_1)),
(A_2=PC(r_{a_2},a_2),E(K_A,r_{a_2}||a_2)),
...
(A_m=PC(r_{a_m},a_m),E(K_A,r_{a_m}||a_m))
对于B的账户(账户B):
地址:(SK_B=b,PK_B=bG)
值b_1至值b_n的资产B_1至资产B_n分别表示为:
(B_1=PC(r_{b_1},b_1),E(K_B,r_{b_1}||b_1)),
(B_2=PC(r_{b_2},b_2),E(K_B,r_{b_2}||b_2)),
...
(B_n=PC(r_{b_n},b_n),E(K_B,r_{b_n}||b_n))
在一些实施例中,对于账户/余额模型下的每个账户,可以基于椭圆曲线ecp256k1生成密钥。例如,在以太坊ecp256k1上,1至2256-1之间的任何数字可以是有效私钥SK。在考虑足够的随机性的情况下,良好的库生成私钥。以太坊要求私钥SK长度为256位。使用ECC密码术的群运算完成公钥生成。为了导出公钥PK,私钥可以乘以G。用于导出公钥PK的乘法是不同于常规乘法的ECC乘法(椭圆曲线点乘法)。G是作为ECC密码术的域参数之一的生成元点。针对ecp256k1,G可以具有固定值。所述地址可以是例如公钥PK的哈希值的最后20字节。
在一些实施例中,在步骤201处,节点A可以发起与节点B的交易。例如,用户A和用户B可以协商从用户A的账户A到用户B的账户B的交易金额t。账户A和账户B可以对应于本文描述的“钱包”。账户A可具有一个或多个资产。资产可以包括例如货币、代币、数字货币、合同、契约、医疗记录、客户详细资料、股票、债券、权益或能够以数字形式描述的任何其它资产。账户B可以具有一个或多个资产或者不具有资产。每个资产可以与存储在区块链的区块中的各种区块链信息相关联,所述区块链信息包括例如表示资产类型的NoteType、表示资产的唯一标识的NoteID、表示资产价值的承诺(例如,Pedersen承诺)值的承诺值、随机数和资产价值的加密等。
如针对账户A所描述的,在一些实施例中,资产A_1至资产A_m分别对应于资产价值a_1至资产价值a_m和随机数r_1至随机数r_m。基于随机数r_1至随机数r_m,节点A可将账户A中的资产价值交给承诺方案(例如,Pedersen承诺)以获得加密的承诺值。例如,加密的承诺值可以是PC_1至PC_m,其中PC_i=PC(r_{a_i},a_i)=r_{a_i}×G+a_i×H,其中G和H是已知参数,i为1至m。除了第一字段PC(…)之外,每个资产还与第二字段E(…)相关联,如前所述。第二字段E(…)可以表示用密钥K_A对相应的随机数和资产价值进行的加密。例如,加密可以是E(K_A,r_{a_i}||a_i))。每个资产的PC(…)和E(…)可以从先前的交易继承。同一机制可以应用于账户B及其资产。
在一些实施例中,K_A可包括各种类型的加密密钥。例如,K_A可以是下面进一步描述的a*PK_A=aaG,K_B可以是下面进一步描述的a*PK_B=abG,其中a、b和G可以乘以ECC乘法。
在一些实施例中,为了满足交易金额t,用户A可以从账户A动用汇总价值至少为t的一个或多个资产。例如,参考图1,节点A可以选择用于所述交易的资产A_1和资产A_2。节点A可以从节点1读取资产PC(r_1,a_1)和PC(r_2,a_2)。在节点A已知随机数r_1和随机数r_2的情况下,节点A可以解密所读取的资产PC(r_1,a_1)和PC(r_2,a_2),获得资产价值a_1和资产价值a_2,以保证a_1和a_2之和不小于交易金额t。可以基于各种费率彼此兑换账户内不同的资产。
在一些实施例中,如果所选资产价值的金额超过t,则设置y作为找零。例如,节点A可确定找零y=a_1+a_2-t。节点A可以选择随机数r_t和随机数r_y作为盲因子,以生成针对t和y的Pedersen承诺:
T=PC(r_t,t),Y=PC(r_y,y)。
也就是说,节点A可针对t生成随机数r_t,针对y生成随机数r_y。节点A可将t和r_t交给承诺方案(例如,同态加密)以获得承诺值T=PC(r_t,t),并将y和r_y交给承诺方案(例如,同态加密)以获得承诺值Y=PC(r_y,y)。
此外,在一些实施例中,节点A生成对称密钥对的第一密钥a*PK_B=abG,并且生成另一密钥a*PK_A=aaG。节点A使用第一密钥abG加密(r_t||t),这产生了加密E(abG,r_t||t),并且使用密钥aaG来加密(r_y||y),产生加密E(aaG,r_y||y)。图3A和图3B可以遵循所述示例。作为通过节点A获得加密E(abG,r_t||t)的替代,用户A可以将r_t和t连同交易信息一起发送至节点B,从而使得节点B生成用于加密(r_t||t)的对称密钥对的第二密钥b*PK_A=baG。节点B向节点A发送密文以允许节点A验证。图4A和图4B可以遵循所述示例。尽管在本公开的各种示例中使用了级联,但是输入、输出或其他参数的替换组合可以用于加密函数或其他操作。
此外,在一些实施例中,如果PC(r_t,t)的值和PC(r_y,y)的值各自在有效范围内,则节点A可生成范围证据RP以向区块链节点进行证明。例如,为了使PC(r_t,t)具有有效值,交易金额t可以在有效范围[0,2n-1]内;并且为了使PC(r_y,y)具有有效值,找零y可以在有效范围[0,2n-1]内。在一个实施例中,节点A可使用区块证明技术,生成与(r_y,y,Y,r_t,t,T)相关的范围证据RP,以供区块链节点(例如,共识节点)在稍后的步骤中基于范围证据来验证交易金额t和找零y是否在有效范围内。所述范围证据可以包括例如防弹(Bulletproofs)、博罗米尔(Borromean)环签名等。
在步骤202处,节点A可以将交易信息发送至节点B(例如,通过区块链之外的安全信道)。所发送的交易信息可以包括例如承诺值T=PC(r_t,t)、承诺值Y=PC(r_y,y)、加密E(abG,r_t||t)、加密E(aaG,r_y||y)、范围证据RP等。承诺值Y=PC(r_y,y)、加密E(aaG,r_y||y)和范围证据RP可以是可选的,因为节点B可以不关心发送回账户A的找零。在一些实施例中,经由区块链外的通信信道的交易可防止交易信息被记录在区块链中并防止除发送方节点A和接收方节点B之外的节点获得交易信息。E(aaG,r_y||y)可能不需要被发送至节点B,但是由于所述找零y将被返回至账户A,因此用户A未来可能需要花费找零y。
在步骤203处,节点B可以验证随机数r_t、交易金额t和承诺值T。在一些实施例中,节点B可以生成对称密钥对的第二密钥b*PK_A=baG,并且使用第二密钥baG解密加密E(abG,r_t||t)以获得r_t||t。从r_t||t中,节点B可以获得r_t和t,然后验证r_t及t与T=PC(r_t,t)是否匹配。也就是说,节点B可以根据Pedersen承诺算法,基于随机数r_t和交易金额t验证承诺值T=PC(r_t,t)是否正确。如果匹配/验证失败,则节点B可以拒绝所述交易;如果匹配/验证成功,则在步骤204处,节点B可以对交易签名以答复节点A。
在步骤204处,节点B可以用用户B的私钥SK_B对交易签名,从而生成签名SIGB。该签名可以遵循数字签名算法(DSA),例如椭圆曲线数字签名算法(ECDSA),由此签名的接收方可以用签名人的公钥来验证签名,从而认证经签名的数据。签名SIGB指示接收方节点B同意所述交易。
在步骤205处,节点B可以将经签名的交易与签名SIGB一起发送回节点A。
在步骤206处,如果SIGB未被成功验证,则节点A可以拒绝所述交易。如果SIGB被成功验证,则节点A可以用用户A的私钥SK_A对交易签名,从而生成签名SIGA。类似地,该签名可以遵循数字签名算法(DSA)。在一个实施例中,节点A可以用用户A的私钥对(E(abG,r_t||t);E(aaG,r_y||y);Y;T;RP)签名,从而生成签名SIGA。
在步骤207处,节点A可以向区块链提交交易,使得区块链节点验证交易并确定是否将所述交易添加至区块链。在一个实施例中,节点A可以经由节点1向区块链提交交易(E(abG,r_t||t);E(aaG,r_y||y);Y;T;RP;SIGA;SIGB)以执行该交易。该交易可以包括附加参数,或者可以不包括所有列出的参数。该交易可以被广播至区块链中的一个或多个节点(例如,共识节点)用于验证。如果验证成功,则将所述交易添加至区块链。如果验证失败,则拒绝将所述交易添加至区块链。
在步骤208至步骤213处,一个或多个节点(例如,共识节点)对所提交交易的签名、范围证据和其它信息进行验证。如果验证失败,则节点拒绝所述交易。如果验证成功,则节点接受所述交易,分别更新用户A的账户和用户B的账户。
在一些实施例中,为了执行交易,可由各个区块链节点验证交易信息。交易信息可以包括交易地址TXID、签名、输入和输出。TXID可以包括交易内容的哈希值。签名可以包括发送方和接收方的密钥签名。输入可以包括发送方账户在区块链中的地址、从发送方的区块链账户为交易所动用的一个或多个资产等。输出可以包括接收方账户在区块链中的地址、接收方资产的资产类型、接收方资产的承诺值等。输入和输出可包括表格形式的索引信息。在一些实施例中,NoteID值的值可以是“TXID+输出中的资产的索引”。
在一些实施例中,区块链的一个或多个节点可以验证所提交的交易(E(abG,r_t||t);E(aaG,r_y||y);Y;T;RP;SIGA;SIGB)。
在步骤208处,节点可以使用防双花机制或防重放攻击机制验证是否已经执行所述交易。如果所述交易已经被执行,则节点可以拒绝所述交易;否则,所述方法可进入步骤209。
在步骤209处,节点可以检查签名SIGA和签名SIGB(例如,分别基于A的公钥和B的公钥)。如果任何签名是不正确的,则节点可以拒绝所述交易;否则,所述方法可进入步骤210。
在可选步骤210处,节点可以验证资产类型是否一致。例如,节点可以验证针对A_1至A_2的NoteType中的资产类型是否与交易金额t的资产类型一致。如果任何资产类型不一致,则节点可以拒绝所述交易;否则,所述方法可进入步骤211。在一些实施例中,钱包中的原始资产类型可能已经基于兑换汇率被转换为另一类型,可以跳过所述步骤。
在步骤211处,节点可检查范围证据RP以验证PC(r_t,t)的值和PC(r_y,y)的值。在一个实施例中,节点可检查范围证据RP,以验证交易金额t是否不小于零以及找零y是否不小于零。如果验证失败,则节点可以拒绝所述交易;否则,所述方法可进入步骤212。
在步骤212处,节点可以检查交易的输入和输出是否一致。如果检查失败,则节点可以拒绝所述交易;否则,所述方法可进入步骤213。
在步骤213处,节点可以验证节点A是否具有为交易动用的资产。在一个实施例中,节点可以基于存储在区块链中的信息,诸如对应于账户A的信息,执行所述验证。所述信息可以包括所有资产的先前交易信息。因此节点可以确定账户A是否具有用于交易的交易资产。如果确定结果为否,则节点可以拒绝所述交易;否则,所述方法可进入步骤214。
在步骤214处,节点可以更新账户A和账户B。例如,节点可以从账户A中移除金额为t的交易资产,并且将其添加至账户B。基于同态属性,由于Y=PC(r_y,y)、且节点1知道r_y并可以从区块链访问承诺值Y,因此节点1可以解密Y以获得找零y并且将其返回至账户A。节点2在步骤202处从节点1获得随机数r_t,并且节点2可以从区块链获得承诺值T。因此,节点2可以解密T以获得资产价值t,并将其添加至账户B。
在一个示例中,在更新账户A和账户B之后,账户A接收针对所动用的资产的找零y,并接收其未动用的资产。例如,被动用的资产可以是A_1和A_2,它们在交易中被移除,找零y被返回至账户A,并且未被动用的资产是A_3、…、A_m。账户B接收交易金额t并接收其原始资产(例如,B_1、…、B_n)。A的账户和B的账户中的资产如下:
对于A的账户(账户A),更新的资产被表示为:
(Y=PC(r_y,y),E(aaG,r_y||y)),
...
(A_m=PC(r_{a_m},a_m),E(K_A,r_{a_m}||a_m))
对于B的账户(账户B),更新的资产被表示为:
(B_1=PC(r_{b_1},b_1),E(K_B,r_{b_1}||b_1)),
(B_2=PC(r_{b_2},b_2),E(K_B,r_{b_2}||b_2)),
...
(B_n=PC(r_{b_n},b_n),E(K_B,r_{b_n}||b_n)),
(T=PC(r_t,t),E(abG,r_t||t))
尽管本公开使用节点A/用户A和节点B/用户B分别示出发送方和接收方,但是发送方和接收方可以是同一节点/用户。例如,交易的找零y(账户A中的被动用的总资产减去交易金额)可以被发送回交易的发送方。因此,如本文所述的由节点B执行的各种步骤可以替代地由节点A执行。
图3A示出了根据本公开的各种实施例的用于信息保护的示例性方法300的流程图。方法300可由图1的系统100的一个或多个组件(例如,节点A、节点1、节点A和节点1的组合)实现。方法300可由包括处理器和非暂时性计算机可读存储介质(例如,存储器)的系统或装置(例如,计算机、服务器)实现,所述存储介质存储将由处理器执行以使系统或装置(例如,处理器)执行方法300的指令。下面给出的方法300的操作旨在说明。取决于实现方式,示例性方法300可包括以各种顺序或并行执行的附加的、较少的或替代的步骤。
框301包括:用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t。例如,如前所述,T=PC(r_t,t)。在一些实施例中,该承诺方案包括Pedersen承诺,Pedersen承诺至少基于交易盲因子r_t并且具有作为被承诺值的交易金额t。
框302包括:生成对称密钥对的第一密钥。例如,如前所述,SK_A=a、PK_B=bG,第一密钥可以是a*PK_B=abG。在一些实施例中,生成第一密钥和第二密钥包括:根据Diffie-Hellman(DH)密钥交换协议,基于交易的发送方的私钥SK_A和接收方的公钥PK_B,生成第一密钥和第二密钥。
框303包括:用第一密钥加密交易盲因子r_t和交易金额t的组合(例如,级联)。例如,如前所述,节点A可以使用第一密钥abG加密(r_t||t),这产生加密E(abG,r_t||t)。
框304包括:向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合,以便接收方节点验证所述交易。在一些实施例中,向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合,以便接收方节点验证所述交易包括,向与交易的接收方相关联的接收方节点发送交易承诺值T和加密的组合,使得接收方节点:基于接收方的私钥SK_B和发送方的公钥PK_A生成对称密钥对的第二密钥;使用由接收方节点生成的第二密钥对加密的组合进行解密,以获得交易盲因子r_t和交易金额t;以及至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易。参见,例如,步骤203。例如,如前所述,接收方节点可以独立地生成第二密钥b*PK_A=baG。密钥abG和baG是对称且相等的。也就是说,接收方节点可以不从发送方节点接收第一密钥abG,而是接收方节点独立地生成作为abG的等价物的第二密钥baG。
在一些实施例中,使接收方节点至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易包括使接收方节点:响应于基于交易盲因子r_t确定交易承诺值T与交易金额t的承诺方案不匹配,拒绝所述交易;以及响应于基于交易盲因子r_t确定交易承诺值T与交易金额t的承诺方案匹配,通过对所述交易签名来生成待返回至与发送方相关联的发送方节点的接收方签名SIGB,从而批准所述交易。
在一些实施例中,在向与接收方相关联的接收方节点传送加密的组合之前(框304),所述方法还包括:用承诺方案承诺交易的找零y以获得找零承诺值Y,该承诺方案至少包括找零盲因子r_y,该找零y是交易动用的发送方的一个或多个资产减去交易金额t;基于发送方的私钥SK_A和发送方的公钥PK_A生成另一密钥;以及用该另一密钥加密找零盲因子r_y和找零y的这另一组合。例如,如前所述,Y=PC(r_y,y)、PK_A=a,节点A可以生成密钥a*PK_A=aaG并使用密钥aaG加密(r_y||y),这产生加密E(aaG,r_y||y)。
在一些实施例中,所述方法还包括:响应于接收到接收方签名SIGB,通过对交易签名来生成发送方签名SIGA,从而批准交易;以及向区块链网络中的一个或多个节点提交包括加密的组合、加密的另一组合、交易承诺值T、找零承诺值Y、发送方签名SIGA和接收方签名SIGB的交易,以便所述一个或多个节点验证所述交易。以上参考步骤208至213描述了更多细节。
在一些实施例中,向区块链网络中的一个或多个节点提交包括加密的组合、加密的另一组合、交易承诺值T、找零承诺值Y、发送方签名SIGA和接收方签名SIGB的交易,以便所述一个或多个节点验证所述交易,包括:向区块链网络中的一个或多个节点提交包括加密的组合、加密的另一组合、交易承诺值T、找零承诺值Y、发送方签名SIGA和接收方签名SIGB的交易,使得所述一个或多个节点响应于成功验证所述交易,向所述接收方发布交易金额t、消除为所述交易动用的一个或多个资产、并向所述发送方发布找零y。以上参考步骤214描述了更多细节。
图3B示出了根据本公开的各种实施例的用于信息保护的示例性方法400的流程图。方法400可由图1的系统100的一个或多个组件(例如,节点B、节点2、节点B和节点2的组合等)实现。方法400可以由包括处理器和非暂时性计算机可读存储介质(例如,存储器)的系统或装置(例如,计算机、服务器)实现,所述存储介质存储将由处理器执行以使系统或装置(例如,处理器)执行方法400的指令。下面给出的方法400的操作旨在说明。取决于实现方式,示例性方法400可以包括以各种顺序或并行执行的附加的、较少的或替代的步骤。
框401包括:获取用对称密钥对的第一密钥加密的交易盲因子r_t和交易金额t的组合,并获取交易承诺值T。由与交易的发送方相关联的发送方节点用承诺方案承诺交易金额t来获得交易承诺值T,该承诺方案至少包括交易盲因子r_t。在一些实施例中,第一密钥由发送方节点基于交易的发送方的私钥SK_A和交易的接收方的公钥PK_B生成。
框402包括:生成对称密钥对的第二密钥。在一些实施例中,生成对称密钥对的第二密钥包括:根据Diffie-Hellman(DH)密钥交换协议,基于交易的接收方的私钥SK_B和发送方的公钥PK_A,生成对称密钥对的第二密钥。
框403包括:用与接收方相关联的接收方节点生成的第二密钥对所获得的组合进行解密,以获得交易盲因子r_t和交易金额t。
框404包括:至少基于交易承诺值T、交易盲因子r_t和交易金额t验证所述交易。
替代在节点A处加密诸如(r_t||t)的组合(r_t,t),节点A可以将(r_t,t)发送至节点B,使得节点B加密组合(r_t,t),如下面参考图4A和图4B所描述的。图1至图3B的其它步骤和说明可类似地应用于图4A和图4B。
图4A示出了根据本公开的各种实施例的用于信息保护的示例性方法440的流程图。方法440可以由图1的系统100的一个或多个组件(例如,节点A、节点1、节点A和节点1的组合)实现。方法440可以由包括处理器和非暂时性计算机可读存储介质(例如,存储器)的系统或装置(例如,计算机、服务器)实现,所述存储介质存储将由处理器执行以使系统或装置(例如,处理器)执行方法440的指令。下面给出的方法440的操作旨在说明。取决于实现方式,示例性方法440可以包括以各种顺序或并行执行的附加的、较少的或替代的步骤。
框441包括:用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t。
框442包括:向与交易的接收方相关联的接收方节点发送交易金额t、交易盲因子r_t和交易承诺值T,以便接收方节点验证所述交易、并用对称密钥对的第二密钥加密交易盲因子r_t和交易金额t。例如,节点B可以验证T=PC(r_t,t)是否成立,并且节点B可以用密钥baG加密所述组合以获得E(baG,r_t||t)。
框443包括:从接收方节点获得交易盲因子r_t和交易金额t的加密的组合(例如,E(baG,r_t||t))。
框444包括:产生对称密钥对的第一密钥以对加密的组合进行解密,从而验证所述交易。例如,节点A可以生成第一密钥abG以解密E(baG,r_t||t),并验证r_t和t是否正确。一旦r_t和t由发送方节点和接收方节点进行了相互验证,则可以向区块链提交所述交易以便验证。
图4B示出了根据本公开的各种实施例的用于信息保护的示例性方法450的流程图。方法450可由图1的系统100的一个或多个组件(例如,节点B、节点2、节点B和节点2的组合等)实现。方法450可由包括处理器和非暂时性计算机可读存储介质(例如,存储器)的系统或装置(例如,计算机、服务器)实现,所述存储介质存储将由处理器执行以使系统或装置(例如,处理器)执行方法450的指令。下面给出的方法450的操作旨在说明。取决于实现方式,示例性方法450可以包括以各种顺序或并行执行的附加的、较少的或替代的步骤。
框451包括:获取交易的交易金额t、交易盲因子r_t和交易承诺值T。
框452包括:基于所获得的交易金额t、所获得的交易盲因子r_t和所获得的交易承诺值T验证所述交易。
框453包括:响应于成功地验证所述交易,用对称密钥对的第二密钥加密交易盲因子r_t和交易金额t以获得加密的组合(例如,E(baG,r_t||t))。
框454包括:向与交易的发送方相关联的发送方节点发送加密的组合。
如图所示,可以通过计算技术的各种改进保护交易金额的隐私。例如,账户结构包括一个或多个字段,诸如与资产价值的Pedersen承诺相关联的第一字段(例如,第一字段是PC(r_{a_i},a_i),其中i为1至m),以及与Pedersen承诺的随机数及资产价值相关联的第二字段(例如,第二字段是E(…))。第一字段和第二字段也用于交易步骤,并存储在区块链中。
对于另一个例子,对称密钥用于加密每个Pedersen承诺的随机数和相应的资产价值,并且将包括加密的随机数和资产价值的交易存储在区块链中。这种方式避免了对这种随机数的本地管理,并且基于分布式且共识的区块链存储提高了安全性。
此外,在DH密钥交换协议或替换协议下,即使没有直接通信,用户A和用户B也共享用于对承诺的随机数和资产价值进行加密/解密的共有密钥(对称密钥对abG和baG)。由于对称密钥对是从相应账户的公私密钥对获得的,因此可以通过区块链有效地存储用于承诺的随机数,且无需进一步添加加密密钥。
对于又一示例,范围证据用于证明交易的预先存在的资产与新资产和该交易是相平衡的,以及每个新资产的价值在合理范围内。此外,交易各方可以通过安全的区块链外信道向接收方发送承诺的随机数和新资产的价值,以验证承诺的值是否与交易资产的价值相匹配。
这样,可以方便地管理Pedersen承诺的随机数,且没有出错的风险,并且不会导致附加的密钥管理负担。因此,可以彻底地保护交易隐私,并且可以将交易金额保持为秘密。
本文描述的技术由一个或多个专用计算设备实现。专用计算设备可以是台式计算机系统、服务器计算机系统、便携式计算机系统、手持设备、联网设备或任何其他设备,或包括硬连线和/或程序逻辑以实现所述技术的设备的组合。计算设备通常由操作系统软件控制和协调。传统的操作系统控制和调度用于执行的计算机进程,执行存储器管理,提供文件系统、联网、I/O服务,并提供用户界面功能、例如图形用户界面(GUI)等等。
图5是示出了可以在其上实现本文描述的任何实施例的计算机系统500的框图。系统500可以在本文描述的任何节点中实现,并且被配置为执行用于信息保护方法的相应步骤。计算机系统500包括总线502或用于传送信息的其它通信机制、与总线502耦合的用于处理信息的一个或多个硬件处理器504。硬件处理器504可以是例如一个或多个通用微处理器。
计算机系统500还包括耦合至总线502的用于存储信息和要由处理器504执行的指令的主存储器506,诸如随机存取存储器(RAM)、高速缓存和/或其他动态存储设备。主存储器506还可以用于存储在执行指令期间要由(一个或多个)处理器504执行的临时变量或其它中间信息。当这些指令被存储在处理器504可访问的存储介质中时,这些指令使计算机系统500呈现为专用机器,所述专用机器被定制为执行指令中所指定的操作。计算机系统500还包括耦合至总线502的用于存储用于处理器504的静态信息和指令的只读存储器(ROM)508或其他静态存储设备。诸如磁盘、光盘或USB拇指驱动器(闪存驱动器)等的存储装置510被提供并耦合至总线502,用于存储信息和指令。
计算机系统500可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑实现本文描述的技术,所述固件和/或程序逻辑与计算机系统相结合使得计算机系统500成为专用机器或将计算机系统500编程为专用机器。根据一个实施例,计算机系统500响应于处理器504执行包含在主存储器506中的一个或多个指令的一个或多个序列,执行本文描述的操作、方法和过程。这些指令可以从另一存储介质诸如存储装置510读入主存储器506。执行包含在主存储器506中的指令序列使得处理器504执行本文描述的处理步骤。在替代实施例中,可以使用硬连线电路代替软件指令,或将硬连线电路与软件指令组合使用。
主存储器506、ROM 508和/或存储装置510可以包括非暂时性存储介质。如本文所使用的术语“非暂时性介质”和类似术语指的是存储用以使机器以特定方式操作的数据和/或指令的介质,所述介质不包括瞬态信号。这种非暂时性介质可包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储装置510。易失性介质包括动态存储器,例如主存储器506。非暂时性介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存储芯片或存储盒、以及它们的联网版本。
计算机系统500还包括耦合至总线502的网络接口518。网络接口518提供耦合至一个或多个网络链路的双向数据通信,所述一个或多个网络链路连接至一个或多个本地网络。例如,网络接口518可以是综合业务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器或提供至相应类型的电话线的数据通信连接的调制解调器。作为另一示例,网络接口518可以是提供至兼容局域网(LAN)(或与WAN通信的WAN组件)的数据通信连接的LAN卡。无线链路也可以被实现。在任何这样的实现方式中,网络接口518发送和接收承载表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。
计算机系统500可以通过网络、网络链路和网络接口518发送消息并接收数据,包括程序代码。在因特网示例中,服务器可以通过因特网、ISP、本地网络和网络接口518传输所请求的用于应用程序的代码。
所接收的代码可以在被接收时由处理器504执行,和/或存储在存储装置510或其他非易失性存储设备中以供稍后执行。
在前述部分中描述的每个过程、方法和算法可以在由一个或多个计算机系统或包括计算机硬件的计算机处理器执行的代码模块中实现,并且是完全自动化或部分自动化的。过程和算法可以在专用电路中部分或全部地被实现。
上述各种特征和过程可彼此独立地使用,或者可以各种方式组合。所有可能的组合和子组合都将落入本公开的范围内。另外,在一些实现方式中可以省略某些方法或过程框。本文描述的方法和过程也不限于任何特定次序,且与其相关的框或状态可以以其它适当的次序来执行。例如,所描述的框或状态可以以不同于具体公开的顺序来执行,或者多个框或状态可以被组合在单个框或状态中。示例性框或状态可以串行、并行或以一些其它方式执行。可以向所公开的示例性实施例添加框或状态或从所公开的示例性实施例中移除框或状态。本文所述的示例性系统和组件可与所述的不同地构造。例如,与所公开的示例性实施例相比,可以添加、去除或重新布置元件。
本文描述的示例性方法的各种操作可以至少部分地由算法执行。所述算法可以包括在存储在存储器(例如,上述的非暂时性计算机可读存储介质)中的程序代码或指令中。这种算法可以包括机器学习算法。在一些实施例中,机器学习算法可以不显式地编程计算机以执行功能,但可以从训练数据中学习以建立执行所述功能的预测模型。
本文描述的示例性方法的各种操作可以至少部分地由(例如,通过软件)被临时配置或永久地配置为执行相关操作的一个或多个处理器执行。无论是临时配置还是永久配置,这样的处理器可以构成操作以执行本文描述的一个或多个操作或功能的处理器实现的引擎。
类似地,本文描述的方法可以至少部分地由处理器实现,其中特定的一个或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或多个处理器或者处理器实现的引擎来执行。此外,一个或多个处理器还可操作以支持“云计算”环境中的相关操作的性能,或作为“软件即服务”(SaaS)操作。例如,至少一些操作可以由一组计算机(例如,包括处理器的机器)执行,这些操作可以经由网络(例如,因特网)并经由一个或多个适当的接口(例如,应用程序接口(API))被访问。
某些操作性能可以分布在处理器之间,不仅驻留在单个机器内,而且跨多个机器部署。在一些示例性实施例中,处理器或处理器实现的引擎可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其它示例性实施例中,处理器或处理器实现的引擎可以分布在多个地理位置上。
在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。尽管将一个或多个方法的各个操作示出并描述为单独的操作,但是这些单个操作中的一个或多个可以同时执行,并且不要求这些操作按所示顺序执行。在示例性配置中作为单独组件呈现的结构和功能可以被实现为组合结构或组件。类似地,作为单个组件呈现的结构和功能可以被实现为单独的组件。这些和其它变化、修改、添加和改进都落入本文的主题的范围内。
尽管已经参考具体的示例性实施例描述了主题的概述,但是在不脱离本发明的实施例的更广范围的情况下,可以对这些实施例进行各种修改和改变。如果实际上公开了不只一个公开内容或概念,主题的这些实施例在本文中可单独或共同地由术语“发明”指代,这仅仅是为了方便,而不是旨在主动将本申请的范围限制到任何单个公开内容或概念。不应以限制性意义来理解具体实施方式,且各种实施例的范围仅由所附权利要求书连同所述权利要求书有权获得的等效物的全部范围来界定。

Claims (21)

1.一种计算机实现的用于信息保护的方法,包括:
用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;
生成对称密钥对的第一密钥;
用所述第一密钥加密所述交易盲因子r_t和所述交易金额t的组合;以及
向与所述交易的接收方相关联的接收方节点发送所述交易承诺值T和所述加密的组合,使得所述接收方节点:
生成所述对称密钥对的第二密钥;
用由所述接收方节点生成的所述第二密钥对所述加密的组合进行解密,获得所述交易盲因子r_t和所述交易金额t;以及
响应于基于所述交易盲因子r_t确定所述交易承诺值T与所述交易金额t的所述承诺方案不匹配,拒绝所述交易;响应于基于所述交易盲因子r_t确定所述交易承诺值T与所述交易金额t的所述承诺方案匹配,通过对所述交易签名来生成待返回至与发送方相关联的发送方节点的接收方签名SIGB,从而批准所述交易。
2.如权利要求1所述的方法,其中,生成所述第一密钥包括:
根据迪菲-赫尔曼DH密钥交换协议,基于所述交易的发送方的私钥SK_A和所述接收方的公钥PK_B,生成所述第一密钥。
3.如权利要求1所述的方法,其中,
所述承诺方案包括佩德森承诺,
所述佩德森承诺至少基于所述交易盲因子r_t,并且具有作为被承诺值的所述交易金额t。
4.如权利要求1所述的方法,其中,所述交易盲因子r_t和所述交易金额t的组合包括所述交易盲因子r_t和所述交易金额t的级联。
5.如权利要求1所述的方法,其中,生成所述对称密钥对的第二密钥包括:
基于所述接收方的私钥SK_B和所述交易的发送方的公钥PK_A,生成所述对称密钥对的第二密钥。
6.如权利要求1所述的方法,在向与所述接收方相关联的所述接收方节点发送所述加密的组合之前,还包括:
用所述承诺方案承诺所述交易的找零y以获得找零承诺值Y,所述承诺方案至少包括找零盲因子r_y,所述找零y是所述交易动用的所述发送方的一个或多个资产减去所述交易金额t;
基于所述发送方的私钥SK_A和所述发送方的公钥PK_A生成另一密钥;以及
用所述另一密钥加密所述找零盲因子r_y和所述找零y的另一组合。
7.如权利要求6所述的方法,还包括:
响应于接收到所述接收方签名SIGB,通过对所述交易签名来生成发送方签名SIGA,从而批准所述交易;以及
向区块链网络中的一个或多个节点提交包括所述加密的组合、所述加密的另一组合、所述交易承诺值T、所述找零承诺值Y、所述发送方签名SIGA和所述接收方签名SIGB的所述交易,以便所述一个或多个节点验证所述交易。
8.如权利要求7所述的方法,其中,向所述区块链网络中的所述一个或多个节点提交包括所述加密的组合、所述加密的另一组合、所述交易承诺值T、所述找零承诺值Y、所述发送方签名SIGA和所述接收方签名SIGB的所述交易,以便所述一个或多个节点验证所述交易,包括:
向所述区块链网络中的所述一个或多个节点提交包括所述加密的组合、所述加密的另一组合、所述交易承诺值T、所述找零承诺值Y、所述发送方签名SIGA和所述接收方签名SIGB的所述交易,使得所述一个或多个节点:响应于成功验证所述交易,向所述接收方发布所述交易金额t、消除为所述交易动用的一个或多个资产、并向所述发送方发布所述找零y。
9.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储待由处理器执行以使所述处理器执行操作的指令,所述操作包括:
用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;
生成对称密钥对的第一密钥;
用所述第一密钥加密所述交易盲因子r_t和所述交易金额t的组合;以及
向与所述交易的接收方相关联的接收方节点发送所述交易承诺值T和所述加密的组合,使得所述接收方节点:
生成所述对称密钥对的第二密钥;
用由所述接收方节点生成的所述第二密钥对所述加密的组合进行解密,获得所述交易盲因子r_t和所述交易金额t;以及
响应于基于所述交易盲因子r_t确定所述交易承诺值T与所述交易金额t的所述承诺方案不匹配,拒绝所述交易;响应于基于所述交易盲因子r_t确定所述交易承诺值T与所述交易金额t的所述承诺方案匹配,通过对所述交易签名来生成待返回至与发送方相关联的发送方节点的接收方签名SIGB,从而批准所述交易。
10.如权利要求9所述的存储介质,其中,生成所述第一密钥包括:
根据迪菲-赫尔曼DH密钥交换协议,基于所述交易的发送方的私钥SK_A和所述接收方的公钥PK_B生成所述第一密钥。
11.如权利要求9所述的存储介质,其中,
所述承诺方案包括佩德森承诺,
所述佩德森承诺至少基于所述交易盲因子r_t,并且具有作为被承诺值的所述交易金额t。
12.如权利要求9所述的存储介质,其中,所述交易盲因子r_t和所述交易金额t的组合包括所述交易盲因子r_t和所述交易金额t的级联。
13.如权利要求9所述的存储介质,其中,生成所述对称密钥对的第二密钥包括:
基于所述接收方的私钥SK_B和所述交易的发送方的公钥PK_A,生成所述对称密钥对的第二密钥。
14.如权利要求9所述的存储介质,在向与所述接收方相关联的所述接收方节点发送所述加密的组合之前,所述操作还包括:
用所述承诺方案承诺所述交易的找零y以获得找零承诺值Y,所述承诺方案至少包括找零盲因子r_y,所述找零y是所述交易动用的所述发送方的一个或多个资产减去所述交易金额t;
基于所述发送方的私钥SK_A和所述发送方的公钥PK_A,生成另一密钥;以及
用所述另一密钥加密所述找零盲因子r_y和所述找零y的另一组合。
15.如权利要求14所述的存储介质,其中,所述操作还包括:
响应于接收到所述接收方签名SIGB,通过对所述交易签名来生成发送方签名SIGA,从而批准所述交易;以及
向区块链网络中的一个或多个节点提交包括所述加密的组合、所述加密的另一组合、所述交易承诺值T、所述找零承诺值Y、所述发送方签名SIGA和所述接收方签名SIGB的所述交易,以便所述一个或多个节点验证所述交易。
16.如权利要求15所述的存储介质,向所述区块链网络中的所述一个或多个节点提交包括所述加密的组合、所述加密的另一组合、所述交易承诺值T、所述找零承诺值Y、所述发送方签名SIGA和所述接收方签名SIGB的所述交易,以便所述一个或多个节点验证所述交易,包括:
向所述区块链网络中的所述一个或多个节点提交包括所述加密的组合、所述加密的另一组合、所述交易承诺值T、所述找零承诺值Y、所述发送方签名SIGA和所述接收方签名SIGB的所述交易,使得所述一个或多个节点:响应于成功验证所述交易,向所述接收方发布所述交易金额t、消除为所述交易动用的一个或多个资产、并向所述发送方发布所述找零y。
17.一种用于信息保护的系统,包括处理器和耦合至所述处理器的非暂时性计算机可读存储介质,所述存储介质存储待由所述处理器执行以使所述系统执行操作的指令,所述操作包括:
用承诺方案承诺交易的交易金额t以获得交易承诺值T,所述承诺方案至少包括交易盲因子r_t;
生成对称密钥对的第一密钥;
用所述第一密钥加密所述交易盲因子r_t和所述交易金额t的组合;以及
向与所述交易的接收方相关联的接收方节点发送所述交易承诺值T和加密的组合,使得所述接收方节点:
生成所述对称密钥对的第二密钥;
用由所述接收方节点生成的所述第二密钥对所述加密的组合进行解密,获得所述交易盲因子r_t和所述交易金额t;以及
响应于基于所述交易盲因子r_t确定所述交易承诺值T与所述交易金额t的所述承诺方案不匹配,拒绝所述交易;响应于基于所述交易盲因子r_t确定所述交易承诺值T与所述交易金额t的所述承诺方案匹配,通过对所述交易签名来生成待返回至与发送方相关联的发送方节点的接收方签名SIGB,从而批准所述交易。
18.一种计算机实现的用于信息保护的方法,包括:
获取用对称密钥对的第一密钥加密的交易盲因子r_t和交易金额t的组合,并获取交易承诺值T,其中,由与交易的发送方相关联的发送方节点用承诺方案承诺所述交易金额t来获得所述交易承诺值T,所述承诺方案至少包括所述交易盲因子r_t;
生成所述对称密钥对的第二密钥;
用由与所述交易的接收方相关联的接收方节点生成的所述第二密钥对所述获取的组合进行解密,以获得所述交易盲因子r_t和所述交易金额t;以及
响应于基于所述交易盲因子r_t确定所述交易承诺值T与所述交易金额t的所述承诺方案不匹配,拒绝所述交易;响应于基于所述交易盲因子r_t确定所述交易承诺值T与所述交易金额t的所述承诺方案匹配,通过对所述交易签名来生成待返回至与所述发送方相关联的发送方节点的接收方签名SIGB,从而批准所述交易。
19.如权利要求18所述的方法,其中,
生成所述对称密钥对的第二密钥包括:根据迪菲-赫尔曼DH密钥交换协议,基于所述接收方的私钥SK_B和所述发送方的公钥PK_A,生成所述对称密钥对的所述第二密钥;以及
所述承诺方案包括佩德森承诺,所述佩德森承诺至少基于所述交易盲因子r_t并且具有作为被承诺值的交易金额t。
20.一种非暂时性计算机可读存储介质,存储待由处理器执行以使所述处理器执行操作的指令,所述操作包括:
获取用对称密钥对的第一密钥加密的交易盲因子r_t和交易金额t的组合,并获取交易承诺值T,其中,由与交易的发送方相关联的发送方节点用承诺方案承诺所述交易金额t来获得所述交易承诺值T,所述承诺方案至少包括所述交易盲因子r_t;
生成所述对称密钥对的第二密钥;
用由与所述交易的接收方相关联的接收方节点生成的所述第二密钥对所述获取的组合进行解密,以获得所述交易盲因子r_t和所述交易金额t;以及
响应于基于所述交易盲因子r_t确定所述交易承诺值T与所述交易金额t的所述承诺方案不匹配,拒绝所述交易;响应于基于所述交易盲因子r_t确定所述交易承诺值T与所述交易金额t的所述承诺方案匹配,通过对所述交易签名来生成待返回至与所述发送方相关联的发送方节点的接收方签名SIGB,从而批准所述交易。
21.一种用于信息保护的系统,包括处理器和耦合至所述处理器的非暂时性计算机可读存储介质,所述存储介质存储待由所述处理器执行以使所述系统执行操作的指令,所述操作包括:
获取用对称密钥对的第一密钥加密的交易盲因子r_t和交易金额t的组合,并获取交易承诺值T,其中,由与交易的发送方相关联的发送方节点用承诺方案承诺所述交易金额t来获得所述交易承诺值T,所述承诺方案至少包括所述交易盲因子r_t;
生成所述对称密钥对的第二密钥;
用由与所述交易的接收方相关联的接收方节点生成的所述第二密钥对所述获取的组合进行解密,以获得所述交易盲因子r_t和所述交易金额T;以及
响应于基于所述交易盲因子r_t确定所述交易承诺值T与所述交易金额t的所述承诺方案不匹配,拒绝所述交易;响应于基于所述交易盲因子r_t确定所述交易承诺值T与所述交易金额t的所述承诺方案匹配,通过对所述交易签名来生成待返回至与所述发送方相关联的发送方节点的接收方签名SIGB,从而批准所述交易。
CN201880004148.9A 2018-11-27 2018-11-27 用于信息保护的系统和方法 Active CN109937557B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/117552 WO2019072276A2 (en) 2018-11-27 2018-11-27 INFORMATION PROTECTION SYSTEM AND METHOD

Publications (2)

Publication Number Publication Date
CN109937557A CN109937557A (zh) 2019-06-25
CN109937557B true CN109937557B (zh) 2022-02-22

Family

ID=66100013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880004148.9A Active CN109937557B (zh) 2018-11-27 2018-11-27 用于信息保护的系统和方法

Country Status (18)

Country Link
US (2) US11277389B2 (zh)
EP (2) EP3549303B1 (zh)
JP (1) JP6724249B2 (zh)
KR (1) KR102170346B1 (zh)
CN (1) CN109937557B (zh)
AU (1) AU2018327218B2 (zh)
BR (1) BR112019007727A2 (zh)
CA (1) CA3040601C (zh)
ES (1) ES2875581T3 (zh)
MX (1) MX2019004202A (zh)
MY (1) MY193900A (zh)
PH (1) PH12019500556A1 (zh)
PL (1) PL3549303T3 (zh)
RU (1) RU2719423C1 (zh)
SG (1) SG11201902778UA (zh)
TW (1) TWI706275B (zh)
WO (1) WO2019072276A2 (zh)
ZA (1) ZA201902470B (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201805633D0 (en) * 2018-04-05 2018-05-23 Nchain Holdings Ltd Computer implemented method and system
CN109377215B (zh) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CN110419053B (zh) 2018-11-27 2023-12-01 创新先进技术有限公司 用于信息保护的系统和方法
US11218455B2 (en) 2018-11-27 2022-01-04 Advanced New Technologies Co., Ltd. System and method for information protection
EP3552158B1 (en) 2018-11-27 2021-02-17 Advanced New Technologies Co., Ltd. INFORMATION PROTECTION SYSTEM AND PROCEDURE
SG11201903419WA (en) 2018-11-27 2019-05-30 Alibaba Group Holding Ltd System and method for information protection
CN109937557B (zh) 2018-11-27 2022-02-22 创新先进技术有限公司 用于信息保护的系统和方法
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
US10764029B1 (en) * 2019-04-02 2020-09-01 Carey Patrick Atkins Asymmetric Encryption Algorithm
EP3639232B1 (en) * 2019-04-26 2021-07-07 Advanced New Technologies Co., Ltd. Anti-replay attack authentication protocol
GB2587773A (en) * 2019-05-24 2021-04-14 Nchain Holdings Ltd Streaming portions of data over a side channel
CN110399735A (zh) * 2019-06-21 2019-11-01 深圳壹账通智能科技有限公司 加密数据大小关系证明方法、装置、设备及存储介质
CN112150281B (zh) * 2019-06-28 2023-09-26 北京国盾量子信息技术有限公司 一种数字货币的交易方法、装置及系统
CN111030821B (zh) * 2019-08-27 2022-07-12 杭州云象网络技术有限公司 一种基于双线性映射技术的联盟链的加密方法
CN110706101B (zh) * 2019-08-30 2021-06-29 创新先进技术有限公司 在区块链中并发执行交易的方法和装置
CN110545279A (zh) * 2019-09-05 2019-12-06 国网区块链科技(北京)有限公司 兼具隐私和监管功能的区块链交易方法、装置及系统
CN112465500A (zh) 2019-09-09 2021-03-09 本田技研工业株式会社 用于在区块链内保护私钥交易的系统和方法
CN110781503B (zh) * 2019-09-18 2022-05-17 深圳壹账通智能科技有限公司 数据调用方法、装置及计算机可读存储介质
JP7372527B2 (ja) * 2019-09-26 2023-11-01 富士通株式会社 通信中継プログラム、中継装置、及び通信中継方法
CN112769548B (zh) * 2019-11-05 2022-09-20 深圳市迅雷网络技术有限公司 一种区块链数值信息传输方法、系统、装置及计算机介质
CN111475849B (zh) * 2019-11-08 2024-03-12 支付宝(杭州)信息技术有限公司 基于区块链账户的隐私数据查询方法及装置
CN110933045A (zh) * 2019-11-08 2020-03-27 中国电子科技网络信息安全有限公司 一种基于承诺的区块链数字资产隐私保护方法
CN113055178B (zh) * 2019-12-27 2022-08-16 深圳市迅雷网络技术有限公司 区块链系统及数值信息传输方法、系统、装置、介质
CN111340489B (zh) * 2020-02-21 2023-11-14 数据通信科学技术研究所 可监管的交易接收者保护方法和装置
CN111523894A (zh) * 2020-05-06 2020-08-11 杭州复杂美科技有限公司 数据延时公布方法、设备和存储介质
CN111600703B (zh) * 2020-05-12 2023-08-04 京东科技信息技术有限公司 基于sm2的签名方法、系统、电子设备及存储介质
CN111709738B (zh) * 2020-05-18 2023-08-01 杜晓楠 区块链系统中隐藏交易金额的方法、计算机可读存储介质和区块链系统
CN111936995A (zh) 2020-06-08 2020-11-13 支付宝实验室(新加坡)有限公司 海关清关数据的分布式存储
EP3844655B1 (en) * 2020-06-08 2023-05-03 Alipay Labs (Singapore) Pte. Ltd. Managing user authorizations for blockchain-based custom clearance services
EP3844699A4 (en) 2020-06-08 2021-08-18 Alipay Labs (Singapore) Pte. Ltd. BLOCKCHAIN-BASED PROCESSING OF IMPORT CLEARANCE DATA
WO2020169125A2 (en) * 2020-06-08 2020-08-27 Alipay Labs (singapore) Pte. Ltd. Blockchain-based document registration for custom clearance
SG11202102366SA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd User management of blockchain-based custom clearance service platform
WO2020169123A2 (en) 2020-06-08 2020-08-27 Alipay Labs (singapore) Pte. Ltd. Blockchain-based smart contract pools
CN113014384B (zh) * 2021-03-16 2022-07-15 平安付科技服务有限公司 基于dh密钥交换算法的数据比较方法、装置、计算机设备及存储介质
US11849032B2 (en) * 2021-05-14 2023-12-19 Verizon Patent And Licensing Inc. Systems and methods for blockchain-based secure key exchange
CN113706150B (zh) * 2021-10-27 2022-02-08 深圳前海微众银行股份有限公司 一种区块确认方法及装置
CN114565382A (zh) * 2022-03-01 2022-05-31 汪泽希 一种交易账户匿名支付方法及系统
JP2024022912A (ja) 2022-08-08 2024-02-21 富士通株式会社 情報秘匿化プログラム、情報秘匿化方法及び情報管理装置
CN115809482B (zh) * 2023-02-01 2023-05-16 上海金仕达软件科技股份有限公司 基于随机数混淆的数据聚合计算方法、装置、介质及设备
CN116389164B (zh) * 2023-05-26 2023-09-12 建信金融科技有限责任公司 数据的检测方法及装置

Family Cites Families (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926480A (en) 1983-08-22 1990-05-15 David Chaum Card-computer moderated systems
US7107246B2 (en) * 1998-04-27 2006-09-12 Esignx Corporation Methods of exchanging secure messages
JP2000207466A (ja) 1999-01-18 2000-07-28 Nippon Telegr & Teleph Corp <Ntt> 電子商取引文書を媒介とした電子商取引方法および電子商取引手段、ならびにプログラムを記録した記録媒体。
JP2000299683A (ja) * 1999-02-10 2000-10-24 Nippon Telegr & Teleph Corp <Ntt> 複数公開鍵保存方法、その装置およびそのプログラム記録媒体
US7716484B1 (en) 2000-03-10 2010-05-11 Rsa Security Inc. System and method for increasing the security of encrypted secrets and authentication
AU2001250824A1 (en) 2000-03-10 2001-09-24 Absolutefuture, Inc. Method and system for coordinating secure transmission of information
WO2001080479A1 (en) 2000-04-14 2001-10-25 Wu Wen Delayed commitment scheme to prevent attacks based on compromised certificates
EP1205889A1 (en) 2000-11-10 2002-05-15 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Returning of change in an electronic payment system
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7509498B2 (en) 2001-06-29 2009-03-24 Intel Corporation Digital signature validation
GB2378282A (en) 2001-07-31 2003-02-05 Hewlett Packard Co Automated multivariate negotiation using convertable undeniable signatures
US7260720B2 (en) 2001-10-19 2007-08-21 Matsushita Electric Industrial Co., Ltd. Device authentication system and method for determining whether a plurality of devices belong to a group
US20070116283A1 (en) 2003-11-03 2007-05-24 Koninklijke Philips Electronics N.V. Method and device for efficient multiparty multiplication
US8156029B2 (en) 2005-02-24 2012-04-10 Michael Gregory Szydlo Process for verifiably communicating risk characteristics of an investment portfolio
ES2380026T3 (es) 2005-05-10 2012-05-07 Dts Ltd. Procedimiento de transación y procedimiento de verificación
JP4435076B2 (ja) 2005-11-18 2010-03-17 フェリカネットワークス株式会社 携帯端末,データ通信方法,およびコンピュータプログラム
US7725446B2 (en) 2005-12-19 2010-05-25 International Business Machines Corporation Commitment of transactions in a distributed system
CN101375286B (zh) 2006-01-25 2012-06-27 松下电器产业株式会社 终端装置、服务器装置及事务处理方法以及数字内容分发系统
TW200820108A (en) 2006-05-24 2008-05-01 Ibm Method for automatically validating a transaction, electronic payment system and computer program
US20090177591A1 (en) 2007-10-30 2009-07-09 Christopher Thorpe Zero-knowledge proofs in large trades
US20090281949A1 (en) 2008-05-12 2009-11-12 Appsware Wireless, Llc Method and system for securing a payment transaction
US8543091B2 (en) 2008-06-06 2013-09-24 Ebay Inc. Secure short message service (SMS) communications
US8281131B2 (en) 2008-08-28 2012-10-02 International Business Machines Corporation Attributes in cryptographic credentials
US8744077B2 (en) 2008-10-28 2014-06-03 International Business Machines Corporation Cryptographic encoding and decoding of secret data
JP5264450B2 (ja) 2008-12-02 2013-08-14 日本電信電話株式会社 ビットコミットメント検証システム、ビットコミットメント装置、検証装置、ビットコミットメント検証方法、ビットコミットメント方法、検証方法、ビットコミットメントプログラム、検証プログラム
ZA200909042B (en) 2008-12-23 2011-05-25 Mtn Mobile Money Sa (Pty) Ltd Method of and system for securely processing a transaction
US8762741B2 (en) 2009-01-29 2014-06-24 Microsoft Corporation Privacy-preserving communication
US8825555B2 (en) 2010-06-30 2014-09-02 International Business Machines Corporation Privacy-sensitive sample analysis
US8527777B2 (en) 2010-07-30 2013-09-03 International Business Machines Corporation Cryptographic proofs in data processing systems
US8661240B2 (en) 2011-04-29 2014-02-25 International Business Machines Corporation Joint encryption of data
US20120317034A1 (en) 2011-06-13 2012-12-13 Microsoft Corporation Transparent virtual currency using verifiable tokens
US9858401B2 (en) 2011-08-09 2018-01-02 Biogy, Inc. Securing transactions against cyberattacks
SG10201903265PA (en) 2011-09-29 2019-05-30 Amazon Tech Inc Parameter based key derivation
JP5364141B2 (ja) 2011-10-28 2013-12-11 楽天株式会社 携帯端末、店舗端末、送信方法、受信方法、決済システム、決済方法、プログラムおよびコンピュータ読み取り可能な記憶媒体
EP2634738A1 (en) 2012-03-02 2013-09-04 Alcatel Lucent Decentralized electronic transfer system
FR2993382B1 (fr) 2012-07-13 2015-07-03 Oberthur Technologies Entite electronique securisee pour l'autorisation d'une transaction
GB201310084D0 (en) 2013-06-06 2013-07-17 Mastercard International Inc Improvements to electronic authentication systems
US9853819B2 (en) 2013-08-05 2017-12-26 Guardtime Ip Holdings Ltd. Blockchain-supported, node ID-augmented digital record signature method
US11055707B2 (en) 2014-06-24 2021-07-06 Visa International Service Association Cryptocurrency infrastructure system
KR20160024185A (ko) 2014-08-25 2016-03-04 아이보 (주) SE(Secure element)를 이용한 암호화폐 관리 시스템 및 그 방법
GB201419016D0 (en) 2014-10-24 2014-12-10 Visa Europe Ltd Transaction Messaging
CA2981511C (en) 2015-03-31 2018-08-28 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
CA2981952A1 (en) 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
US9397985B1 (en) 2015-04-14 2016-07-19 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
US9870562B2 (en) 2015-05-21 2018-01-16 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
US10026082B2 (en) 2015-05-21 2018-07-17 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts
WO2016200885A1 (en) 2015-06-08 2016-12-15 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US11080665B1 (en) * 2015-06-08 2021-08-03 Blockstream Corporation Cryptographically concealing amounts and asset types for independently verifiable transactions
EP3318003B1 (en) 2015-06-30 2022-03-23 Visa International Service Association Confidential authentication and provisioning
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
US20170085555A1 (en) 2015-07-14 2017-03-23 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
US20180331832A1 (en) 2015-11-05 2018-11-15 Allen Pulsifer Cryptographic Transactions System
WO2017091530A1 (en) 2015-11-24 2017-06-01 Gartland & Mellina Group Blockchain solutions for financial services and other transaction-based industries
KR20180101355A (ko) 2015-11-30 2018-09-12 쉐이프시프트 아게 블록체인 자산의 거래소에 있어서 보안을 개선하는 시스템 및 방법
US10013573B2 (en) 2015-12-16 2018-07-03 International Business Machines Corporation Personal ledger blockchain
US11354658B2 (en) 2016-02-11 2022-06-07 Mastercard International Incorporated Method and system for offline blockchain exchanges
US20170243193A1 (en) 2016-02-18 2017-08-24 Skuchain, Inc. Hybrid blockchain
CN114282928A (zh) 2016-02-23 2022-04-05 恩链控股有限公司 基于区块链系统结合钱包管理系统的加密密钥存储和转移
CN109314636B (zh) 2016-02-23 2022-01-11 区块链控股有限公司 用于从区块链中安全提取数据的密码方法和系统
PL3268914T3 (pl) * 2016-02-23 2018-12-31 nChain Holdings Limited Określanie wspólnego sekretu dla bezpiecznej wymiany informacji i hierarchicznych, deterministycznych kluczy kryptograficznych
CA3015697C (en) 2016-02-29 2022-11-22 Securekey Technologies Inc. Systems and methods for distributed identity verification
CN117151853A (zh) 2016-04-11 2023-12-01 区块链控股有限公司 用于区块链上的安全点对点通信的方法
CN107306183B (zh) 2016-04-22 2021-12-21 索尼公司 客户端、服务端、方法和身份验证系统
KR101780635B1 (ko) 2016-04-28 2017-09-21 주식회사 코인플러그 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버
US10046228B2 (en) 2016-05-02 2018-08-14 Bao Tran Smart device
US10447478B2 (en) 2016-06-06 2019-10-15 Microsoft Technology Licensing, Llc Cryptographic applications for a blockchain system
KR101802655B1 (ko) 2016-06-10 2017-11-29 인하대학교 산학협력단 원격 서버를 이용한 안전한 소프트웨어 기반 일회용 비밀번호 생성 방법
US11062366B2 (en) 2016-06-24 2021-07-13 Raise Marketplace Inc. Securely processing exchange items in a data communication system
US20180006823A1 (en) 2016-07-01 2018-01-04 Qualcomm Incorporated Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms
KR101795695B1 (ko) 2016-07-14 2017-12-01 주식회사 코인플러그 메신저 서비스를 통하여 송수신하는 데이터에 대한 기록 서비스 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버
EP3485448B1 (en) 2016-07-15 2023-02-01 Visa International Service Association Digital asset distribution by transaction device
EP3273635B1 (en) * 2016-07-20 2019-10-30 Mastercard International Incorporated Secure channel establishment
EP3491572B1 (en) 2016-07-26 2021-09-01 NEC Corporation Method for controlling access to a shared resource
US10067810B2 (en) 2016-07-28 2018-09-04 Cisco Technology, Inc. Performing transactions between application containers
GB201613176D0 (en) 2016-07-29 2016-09-14 Eitc Holdings Ltd Computer-implemented method and system
JP6971019B2 (ja) * 2016-09-26 2021-11-24 Gmoインターネット株式会社 データ管理システム、情報処理装置、プログラム、及び、データ管理方法
US10769600B2 (en) 2016-09-26 2020-09-08 International Business Machines Corporation Cryptocurrency transactions using debit and credit values
CN106549749B (zh) 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
US20180167198A1 (en) 2016-12-09 2018-06-14 Cisco Technology, Inc. Trust enabled decentralized asset tracking for supply chain and automated inventory management
EP3563521A1 (en) 2016-12-30 2019-11-06 INTEL Corporation Service provision to iot devices
CN106911470B (zh) 2017-01-23 2020-07-07 北京航空航天大学 一种比特币交易隐私增强方法
CN106845960B (zh) 2017-01-24 2018-03-20 上海壹账通区块链科技有限公司 基于区块链的安全交易方法及系统
US11082418B2 (en) 2017-02-13 2021-08-03 Avalanche Cloud Corporation Privacy ensured brokered identity federation
CN107025602A (zh) 2017-02-24 2017-08-08 杭州象链网络技术有限公司 一种基于联盟链的金融资产交易系统构建方法
JP6961960B2 (ja) 2017-03-13 2021-11-05 ソニーグループ株式会社 情報処理装置および情報処理方法
JP6719410B2 (ja) 2017-03-17 2020-07-08 Kddi株式会社 生成装置、検証装置、及びプログラム
US20180293576A1 (en) 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. System for custom currency transaction based on blockchain and operating method thereof
US11095432B2 (en) 2017-04-05 2021-08-17 Samsung Sds Co., Ltd. System for processing data based on blockchain and operating method thereof
GB201705621D0 (en) 2017-04-07 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201705749D0 (en) 2017-04-10 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201705858D0 (en) 2017-04-11 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201706132D0 (en) 2017-04-18 2017-05-31 Nchain Holdings Ltd Computer-implemented system and method
US10320758B2 (en) 2017-04-25 2019-06-11 International Business Machines Corporation Cryptography using multi-factor key system and finite state machine
US10198949B2 (en) 2017-04-28 2019-02-05 Mastercard International Incorporated Method and system for parking verification via blockchain
US10560270B2 (en) 2017-05-03 2020-02-11 International Business Machines Corporation Optimal data storage configuration in a blockchain
GB201707168D0 (en) 2017-05-05 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
GB201707296D0 (en) 2017-05-08 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
US11165589B2 (en) 2017-05-11 2021-11-02 Shapeshift Ag Trusted agent blockchain oracle
CN107451175B (zh) 2017-05-23 2020-01-31 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
CN107239951A (zh) 2017-06-07 2017-10-10 北京天德科技有限公司 一种基于第三代区块链的可扩展央行数字货币交易方法
CN110771088B (zh) 2017-06-14 2024-04-19 区块链控股有限公司 用于解决在网络故障情况下与区块链外通道相关出现的安全性相关漏洞的系统和方法
GB201710283D0 (en) 2017-06-28 2017-08-09 Nchain Holdings Ltd Computer-implemented system and method
US10333710B2 (en) 2017-09-12 2019-06-25 Qed-It Systems Ltd. Method and system for determining desired size of private randomness using Tsallis entropy
TWI636411B (zh) 2017-09-13 2018-09-21 現代財富控股有限公司 對非區塊鏈節點提供交易不可否認性之系統及其方法
US10361870B2 (en) 2017-09-14 2019-07-23 The Toronto-Dominion Bank Management of cryptographically secure exchanges of data using permissioned distributed ledgers
CN111316258A (zh) 2017-09-29 2020-06-19 杠杆岩石有限责任公司 公共分布式账本系统中的交易隐私
CN107679857B (zh) 2017-10-10 2021-04-27 马晶瑶 区块链的跨链交易方法和存储介质
CN108062671A (zh) 2017-11-03 2018-05-22 深圳市轱辘车联数据技术有限公司 数据交易方法、区块链节点服务器及数据提交终端
EP3718069B1 (en) 2017-11-30 2024-04-17 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
CN108418689B (zh) 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
US10831764B2 (en) 2017-12-02 2020-11-10 International Business Machines Corporation Query processing and access control in a blockchain network
US11227284B2 (en) 2017-12-13 2022-01-18 Mastercard International Incorporated Method and system for consumer-initiated transactions using encrypted tokens
CN108282459B (zh) 2017-12-18 2020-12-15 中国银联股份有限公司 基于智能合约的数据传递方法及系统
US11544708B2 (en) 2017-12-29 2023-01-03 Ebay Inc. User controlled storage and sharing of personal user information on a blockchain
TWM561861U (zh) 2018-01-11 2018-06-11 網家金融科技股份有限公司 網路支付轉帳系統
US10445965B2 (en) 2018-01-29 2019-10-15 Accenture Global Solutions Limited Blockchain-based cryptologic ballot organization
US10373129B1 (en) 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US20210089676A1 (en) 2018-02-16 2021-03-25 Ecole Polytechnique Fédérale De Lausanne Epfl-Tto Methods and systems for secure data exchange
CN108512650B (zh) 2018-02-28 2021-03-09 南京思利华信息科技有限公司 面向区块链的动态哈希计算方法、装置、节点及存储介质
CN108320228A (zh) 2018-03-07 2018-07-24 物数(上海)信息科技有限公司 跨区块链资产交易方法、平台、设备及存储介质
CN108288159A (zh) 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、系统、设备及存储介质
US11159306B2 (en) 2018-04-24 2021-10-26 Duvon Corporation Autonomous exchange via entrusted ledger token and transaction management
US10708243B2 (en) 2018-04-24 2020-07-07 Capital One Services, Llc Message encryption using public keychains
CN108711105A (zh) 2018-05-16 2018-10-26 四川吉鼎科技有限公司 一种基于区块链的安全交易验证方法及系统
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
CN108683669B (zh) 2018-05-19 2021-09-17 深圳市图灵奇点智能科技有限公司 数据验证方法和安全多方计算系统
CN108876332B (zh) 2018-06-04 2020-09-22 清华大学 一种基于生物特征标记认证的区块链安全交易方法及装置
CN109003184A (zh) 2018-06-22 2018-12-14 中链科技有限公司 区块链资产管理方法及装置
US11032068B2 (en) * 2018-06-29 2021-06-08 International Business Machines Corporation Leakage-deterring encryption for message communication
US10917233B2 (en) 2018-10-16 2021-02-09 International Business Machines Corporation Selective exchange of transaction data
JP6956062B2 (ja) 2018-10-30 2021-10-27 株式会社Crypto Garage 取引方法、プログラム、検証装置及び生成方法
US11240001B2 (en) 2018-11-06 2022-02-01 International Business Machines Corporation Selective access to asset transfer data
RU2727552C1 (ru) 2018-11-07 2020-07-22 Алибаба Груп Холдинг Лимитед Ситема цепочек блоков, поддерживающая открытые и закрытые транзакции согласно моделям счетов
CN109937557B (zh) 2018-11-27 2022-02-22 创新先进技术有限公司 用于信息保护的系统和方法
SG11201903419WA (en) 2018-11-27 2019-05-30 Alibaba Group Holding Ltd System and method for information protection
US11218455B2 (en) 2018-11-27 2022-01-04 Advanced New Technologies Co., Ltd. System and method for information protection

Also Published As

Publication number Publication date
EP3549303A2 (en) 2019-10-09
TW202020710A (zh) 2020-06-01
BR112019007727A2 (pt) 2019-11-12
EP3866382B1 (en) 2023-06-21
SG11201902778UA (en) 2019-05-30
US20200120074A1 (en) 2020-04-16
RU2719423C1 (ru) 2020-04-17
CN109937557A (zh) 2019-06-25
MX2019004202A (es) 2019-08-05
EP3549303A4 (en) 2020-02-26
AU2018327218B2 (en) 2020-07-16
PL3549303T3 (pl) 2021-11-22
ES2875581T3 (es) 2021-11-10
JP2019537744A (ja) 2019-12-26
PH12019500556A1 (en) 2019-12-16
US11277389B2 (en) 2022-03-15
US11102184B2 (en) 2021-08-24
JP6724249B2 (ja) 2020-07-15
CA3040601A1 (en) 2019-04-18
AU2018327218A1 (en) 2020-01-30
ZA201902470B (en) 2021-06-30
WO2019072276A3 (en) 2019-09-19
EP3549303B1 (en) 2021-05-26
US20190268312A1 (en) 2019-08-29
CA3040601C (en) 2021-03-30
EP3866382A1 (en) 2021-08-18
TWI706275B (zh) 2020-10-01
WO2019072276A2 (en) 2019-04-18
KR20200066257A (ko) 2020-06-09
KR102170346B1 (ko) 2020-10-28
MY193900A (en) 2022-10-31

Similar Documents

Publication Publication Date Title
CN109937557B (zh) 用于信息保护的系统和方法
CN110089069B (zh) 用于信息保护的系统和方法
CN110337665B (zh) 用于信息保护的系统和方法
US11080694B2 (en) System and method for information protection
AU2019101582A4 (en) System and method for information protection
AU2019101590A4 (en) System and method for information protection

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: 40011077

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant