CN110914851B - 提高区块链网络与外部数据源之间的通信的完整性 - Google Patents

提高区块链网络与外部数据源之间的通信的完整性 Download PDF

Info

Publication number
CN110914851B
CN110914851B CN201980003365.0A CN201980003365A CN110914851B CN 110914851 B CN110914851 B CN 110914851B CN 201980003365 A CN201980003365 A CN 201980003365A CN 110914851 B CN110914851 B CN 110914851B
Authority
CN
China
Prior art keywords
data
relay system
request
hash value
blockchain network
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
CN201980003365.0A
Other languages
English (en)
Other versions
CN110914851A (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
Priority claimed from PCT/CN2019/079800 external-priority patent/WO2019120318A2/en
Priority claimed from PCT/CN2019/080478 external-priority patent/WO2019120325A2/en
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Publication of CN110914851A publication Critical patent/CN110914851A/zh
Application granted granted Critical
Publication of CN110914851B publication Critical patent/CN110914851B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

用于提高区块链网络安全性的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。实施例包括:生成针对来自数据源的数据的请求,请求包括明文数据和加密数据,加密数据包括访问数据和明文数据的哈希值;将请求发送到位于区块链网络外部的中继系统组件;从中继系统组件接收使用中继系统组件的私钥数字地签名的结果;以及,基于中继系统组件的公钥和结果的数字签名来验证结果的完整性。

Description

提高区块链网络与外部数据源之间的通信的完整性
技术领域
本文涉及从外部数据源向区块链网络提供数据。
背景技术
分布式账本系统(DLS),也可称为共识网络和/或区块链网络,使得参与的实体能够安全地且不可篡改地存储数据。在不参考任何特定用例的情况下,DLS通常被称为区块链网络。区块链网络的类型的示例可以包括提供给选择的实体组的联盟区块链网络,该实体组控制共识处理,并包括访问控制层。
智能合约是在区块链网络中执行的程序。在一些示例中,在区块链上运行的智能合约需要来自区块链外部的输入以评估预定义规则并执行相应的动作。但是,智能合约本身不能直接访问外部数据源。因此,可以使用中继代理来检索外部数据,并将数据提交给区块链以由智能合约进行处理。但是,此处理可能导致安全问题,例如安全信息的泄漏(例如,访问外部数据源可能需要的凭据)。
尽管已经提出了用于解决与从外部数据源检索数据相关的安全性问题的技术,但是解决所述安全性问题的更有效的解决方案将是有利的。
发明内容
本文描述了用于从外部数据源检索用于在区块链网络内进行处理的数据的技术。本文的实施例涉及一种系统,该系统协调从用户计算设备通过区块链网络到区块链网络外部的基于互联网的数据源的通信。更具体地,本文的实施例使得用户计算设备能够使用用于查询基于互联网的数据源的中继系统节点的公钥来对访问基于因特网的数据可能需要的机密信息进行加密。在一些实施例中,中继系统节点使用私钥对响应进行加密,并且该响应由用户计算设备使用公钥验证。在一些实施例中,中继系统节点执行可信执行环境(TEE),并且通过TEE的认证处理来提供公钥和私钥。
本文还提供了耦接到一个或多个处理器并且其上存储有指令的一个或多个非暂态计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器按照本文提供的方法的实施例执行操作。
本文还提供了用于实施本文提供的所述方法的系统。该系统包括一个或多个处理器以及耦接到所述一个或多个处理器并且其上存储有指令的计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将导致所述一个或多个处理器按照本文提供的方法的实施例执行操作。
应了解,依据本文的方法可以包括本文描述的方面和特征的任意组合。也就是说,根据本文的方法不限于本文具体描述的方面和特征的组合,还包括所提供的方面和特征的任意组合。
以下在附图和描述中阐述了本文的一个或多个实施例的细节。根据说明书和附图以及权利要求,本文的其他特征和优点将显现。
附图说明
图1是示出了可用于执行本文的实施例的环境示例的图示。
图2是示出了根据本文的实施例的概念性架构示例的图示。
图3是示出了根据本文的实施例的系统示例的图示。
图4是示出了根据本文的实施例的处理示例的信号流。
图5是示出了根据本文的实施例的系统示例的图示。
图6是示出了根据本文的实施例的处理示例的信号流。
图7是示出了可根据本文的实施例执行的处理示例的流程图。
图8是示出了根据本文的实施例的装置的模块示例的图示。
各附图中相同的附图标记和名称表示相同的元件。
具体实施方式
本文描述了用于从外部数据源检索用于在区块链网络内进行处理的数据的技术。本文的实施例涉及一种系统,该系统协调从用户计算设备通过区块链网络到区块链网络外部的基于互联网的数据源的通信。更具体地,本文的实施例使得用户计算设备能够使用用于查询基于互联网的数据源的中继系统节点的公钥来对访问基于因特网的数据可能需要的机密信息进行加密。在一些实施例中,中继系统节点使用私钥对响应进行加密,并且该响应由用户计算设备使用公钥验证。在一些实施例中,中继系统节点执行可信执行环境(TEE),并且通过TEE的认证处理来提供公钥和私钥。
本文中描述的技术产生若干技术效果。例如,本文的实施例确保了用户计算设备向中继系统节点提交的用于向区块链网络外部的数据源查询的请求的完整性。作为另一个示例,本文的实施例确保了从外部数据源提供回区块链网络的响应的完整性。因此,本公开的实施例通过区块链网络提高了用户计算设备与中继系统节点之间的通信的完整性。通过这种方式,可以减少恶意用户的潜在攻击渠道,从而提高安全性。
为本文的实施例提供进一步的背景,如上所述,分布式账本系统(DLS),其也可以称为共识网络(例如,由点对点节点组成)和区块链网络,使参与的实体能够安全地且不可篡改地进行交易和存储数据。尽管术语“区块链”通常与特定网络和/或用例相关联,但是在不参考任何特定用例的情况下,本文使用“区块链”来一般地指代DLS。
区块链是以交易不可篡改的方式存储交易的数据结构。因此,区块链上记录的交易是可靠且可信的。区块链包括一个或多个区块。链中的每个区块通过包含在链中紧邻其之前的前一区块的加密哈希值(cryptographic hash)链接到该前一区块。每个区块还包括时间戳、其自身的加密哈希值以及一个或多个交易。已经被区块链网络中的节点验证的交易经哈希处理并编入默克尔(Merkle)树中。Merkle树是一种数据结构,在该树的叶节点处的数据是经哈希处理的,并且在该树的每个分支中的所有哈希值在该分支的根处连接。此过程沿着树持续一直到整个树的根,在整个树的根处存储了代表树中所有数据的哈希值。声称是存储在树中的交易的哈希值可以通过确定其是否与树的结构一致而被快速验证。
区块链是用于存储交易的去中心化或至少部分去中心化的数据结构,而区块链网络是通过广播、验证和确认交易等来管理、更新和维护一个或多个区块链的计算节点的网络。如上所述,区块链网络可作为公有区块链网络、私有区块链网络或联盟区块链网络被提供。这里参考联盟区块链网络进一步详细描述了本文的实施例。然而,预期本文的实施例可以在任何适当类型的区块链网络中实现。
通常,联盟区块链网络在参与实体间是私有的。在联盟区块链网络中,共识处理由可以被称为共识节点的授权的节点集控制,一个或多个共识节点由相应的实体(例如,金融机构、保险公司)操作。例如,由十(10)个实体(例如,金融机构、保险公司)组成的联盟可以操作联盟区块链网络,每个实体操作联盟区块链网络中的至少一个节点。
在一些示例中,在联盟区块链网络内,提供全局区块链作为跨所有节点复制的区块链。也就是说,所有共识节点相对于全局区块链处于完全共识状态。为了达成共识(例如,同意向区块链添加区块),共识协议在联盟区块链网络内实施。例如,联盟区块链网络可以实施实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)共识,下面将进一步详细描述。
图1是示出了可用于执行本文的实施例的环境100的示例的图示。在一些示例中,环境100使得实体能够参与至联盟区块链网络102中。环境100包括计算系统106、108和网络110。在一些示例中,网络110包括局域网(LAN)、广域网(WAN)、因特网或其组合,并且连接网站、用户设备(例如,计算设备)和后端系统。在一些示例中,可以通过有线和/或无线通信链路来访问网络110。在一些示例中,网络110使得能够与联盟区块链网络102通信或在联盟区块链网络102内通信。通常,网络110表示一个或多个通信网络。在一些情况下,计算系统106、108可以是云计算系统(未示出)的节点,或者每个计算系统106、108可以是单独的云计算系统,其包括通过网络互连并且用作分布式处理系统的多个计算机。
在所描绘的示例中,计算系统106、108可以各自包括能够作为节点参与至联盟区块链网络102中的任何适当的计算设备。计算设备的示例包括(但不限于)服务器、台式计算机、笔记本电脑、平板电脑和智能手机。在一些示例中,计算系统106、108承载用于与联盟区块链网络102交互的一个或多个由计算机实施的服务。例如,计算系统106可以承载第一实体(例如,用户A)的由计算机实施的、例如交易管理系统的服务,第一实体使用该交易管理系统管理其与一个或多个其他实体(例如,其他用户)的交易。计算系统108可以承载第二实体(例如,用户B)的由计算机实施的、例如交易管理系统的服务,第二实体使用该交易管理系统管理其与一个或多个其他实体(例如,其他用户)的交易。在图1的示例中,联盟区块链网络102被表示为节点的点对点网络(Peer-to-Peer network),并且计算系统106、108分别提供参与至联盟区块链网络102中的第一实体和第二实体的节点。
图2描绘了根据本文的实施例的架构200的示例。示例性概念架构200包括分别对应于参与者A、参与者B和参与者C的参与者系统202、204、206。每个参与者(例如,用户、企业)参与到作为点对点网络提供的区块链网络212中,该点对点网络包括多个节点214,多个节点214中的至少一些节点将信息不可篡改地记录在区块链216中。如本文进一步详述,尽管在区块链网络212中示意性地描述了单个区块链216,但是在区块链网络212上提供并维护区块链216的多个副本。
在所描绘的示例中,每个参与者系统202、204、206分别由参与者A、参与者B和参与者C提供或代表参与者A、参与者B和参与者C,并且在区块链网络中作为各自的节点214发挥作用。如这里所使用的,节点通常是指连接到区块链网络212且使相应的参与者能够参与到区块链网络中的个体系统(例如,计算机、服务器)。在图2的示例中,参与者对应于每个节点214。然而,可以预期,一个参与者可以操作区块链网络212内的多个节点214,和/或多个参与者可以共享一个节点214。在一些示例中,参与者系统202、204、206使用协议(例如,超文本传输协议安全(HTTPS))和/或使用远程过程调用(RPC)与区块链网络212通信或通过区块链网络212进行通信。
节点214可以在区块链网络212内具有不同的参与程度。例如,一些节点214可以参与共识处理(例如,作为将区块添加到区块链216的矿工节点),而其他节点214不参与此共识处理。作为另一示例,一些节点214存储区块链216的完整副本,而其他节点214仅存储区块链216的部分副本。例如,数据访问特权可以限制相应的参与者在其相应的系统内存储的区块链数据。在图2的示例中,参与者系统202、204、206存储区块链216的相应的完整副本216'、216”和216”'。
区块链(例如,图2的区块链216)由一系列区块组成,每个区块存储数据。数据的示例包括表示两个或更多个参与者之间的交易的交易数据。尽管本文通过非限制性示例使用了“交易”,但是可以预期,任何适当的数据可以存储在区块链中(例如,文档、图像、视频、音频)。交易的示例可以包括(但不限于)有价物(例如,资产、产品、服务、货币)的交换。交易数据不可篡改地存储在区块链中。也就是说,交易数据不能改变。
在将交易数据存储在区块中之前,对交易数据进行哈希处理。哈希处理是将交易数据(作为字符串数据提供)转换为固定长度哈希值(也作为字符串数据提供)的过程。不可能对哈希值进行去哈希处理(un-hash)以获取交易数据。哈希处理可确保即使交易数据轻微改变也会导致完全不同的哈希值。此外,如上所述,哈希值具有固定长度。也就是说,无论交易数据的大小如何,哈希值的长度都是固定的。哈希处理包括通过哈希函数处理交易数据以生成哈希值。哈希函数的示例包括(但不限于)输出256位哈希值的安全哈希算法(SHA)-256。
多个交易的交易数据被哈希处理并存储在区块中。例如,提供两个交易的哈希值,并对它们本身进行哈希处理以提供另一个哈希值。重复此过程,直到针对所有要存储在区块中的交易提供单个哈希值为止。该哈希值被称为Merkle根哈希值,并存储在区块的头中。任何交易中的更改都会导致其哈希值发生变化,并最终导致Merkle根哈希值发生变化。
通过共识协议将区块添加到区块链。区块链网络中的多个节点参与共识协议,并竞相将区块添加到区块链中。这种节点称为共识节点。上面介绍的PBFT用作共识协议的非限制性示例。共识节点执行共识协议以将交易添加到区块链,并更新区块链网络的整体状态。
更详细地,共识节点生成区块头,对区块中的所有交易进行哈希处理,并将所得的哈希值成对地组合以生成进一步的哈希值,直到为区块中的所有交易提供单个哈希值(Merkle根哈希值)。将此哈希值添加到区块头中。共识节点还确定区块链中最新区块(即,添加到区块链中的最后一个区块)的哈希值。共识节点还向区块头添加随机数(nonce)值和时间戳。
通常,PBFT提供容忍拜占庭故障(例如,故障节点、恶意节点)的实用拜占庭状态机复制。这通过在PBFT中假设将发生故障(例如,假设存在独立节点故障和/或由共识节点发送的操纵消息)而实现。在PBFT中,以包括主共识节点和备共识节点的顺序提供共识节点。主共识节点被周期性地改变。通过由区块链网络内的所有共识节点对区块链网络的全局状态达成一致,将交易添加到区块链中。在该处理中,消息在共识节点之间传输,并且每个共识节点证明消息是从指定的对等节点(peer node)接收的,并验证在传输期间消息未被篡改。
在PBFT中,共识协议是在所有共识节点以相同的状态开始的情况下分多个阶段提供的。首先,客户端向主共识节点发送调用服务操作(例如,在区块链网络内执行交易)的请求。响应于接收到请求,主共识节点将请求组播到备共识节点。备共识节点执行请求,并且各自向客户端发送回复。客户端等待直到接收到阈值数量的回复。在一些示例中,客户端等待直到接收到f+1个回复,其中f是区块链网络内可以容忍的错误共识节点的最大数量。最终结果是,足够数量的共识节点就将记录添加到区块链的顺序达成一致,并且该记录或被接受或被拒绝。
在一些区块链网络中,用密码学来维护交易的隐私。例如,如果两个节点想要保持交易隐私,以使得区块链网络中的其他节点不能看出交易的细节,则这两个节点可以对交易数据进行加密处理。加密处理的示例包括但不限于对称加密和非对称加密。对称加密是指使用单个密钥既进行加密(从明文生成密文)又进行解密(从密文生成明文)的加密过程。在对称加密中,同一密钥可用于多个节点,因此每个节点都可以对交易数据进行加密/解密。
非对称加密使用密钥对,每个密钥对包括私钥和公钥,私钥仅对于相应节点是已知的,而公钥对于区块链网络中的任何或所有其他节点是已知的。节点可以使用另一个节点的公钥来加密数据,并且该加密的数据可以使用其他节点的私钥被解密。例如,再次参考图2,参与者A可以使用参与者B的公钥来加密数据,并将加密数据发送给参与者B。参与者B可以使用其私钥来解密该加密数据(密文)并提取原始数据(明文)。使用节点的公钥加密的消息只能使用该节点的私钥解密。
非对称加密用于提供数字签名,这使得交易中的参与者能够确认交易中的其他参与者以及交易的有效性。例如,节点可以对消息进行数字签名,而另一个节点可以根据参与者A的该数字签名来确认该消息是由该节点发送的。数字签名也可以用于确保消息在传输过程中不被篡改。例如,再次参考图2,参与者A将向参与者B发送消息。参与者A生成该消息的哈希值,然后使用其私钥加密该哈希值以提供作为加密哈希值的数字签名。参与者A将该数字签名附加到该消息上,并将该具有数字签名的消息发送给参与者B。参与者B使用参与者A的公钥解密该数字签名,并提取哈希值。参与者B对该消息进行哈希处理并比较哈希值。如果哈希值相同,参与者B可以确认该消息确实来自参与者A,且未被篡改。
在一些示例中,在区块链网络内执行的智能合约需要来自区块链网络外部的输入以评估预定义规则并执行相应的动作。作为非限制性示例,智能合约可能需要基于股票报价来做出决策,该股票报价来自区块链网络外部的数据源。作为另一个非限制性示例,智能合约可能需要基于在区块链网络外部维护的账户的账户信息来做出决策。但是,智能合约本身无法直接查询外部数据源。
传统方法包括使用中继代理来检索外部数据,并将数据提交到区块链以通过智能合约进行处理。但是,此过程可能导致安全问题,例如安全信息的泄漏(例如,访问外部数据源可能需要的凭据)。例如,传统方法可以使用TEE来证明中继代理已诚实地执行了指定的查询请求。但是,由于区块链的开放性,所有查询请求对于区块链网络中的所有用户(节点)都是可见的。因此,对于需要对需要访问控制(例如查询)的外部数据源进行访问的查询请求,存在权限泄漏的风险。例如,存在请求字符串可能被截取、修改和重放,从而导致信息泄漏或其他问题的风险。
在使用SGX的一种常规方法中,在围圈(enclave)(围圈程序)中执行的TA或TA的一部分充当中继节点,以访问外部数据源。例如,围圈程序可以将查询请求(例如,HTTPS请求)发送到基于互联网的数据源,并且可以将响应提供给发起请求的智能合约。在一些示例中,提供了隐私字段功能,该功能可以用于使用围圈的公钥对敏感信息(例如,访问凭证)进行加密。在一些示例中,中继节点使用围圈的私钥对隐私字段进行解密、调用HTTPS客户端以访问基于互联网的目标数据源、接收请求的数据并使用私钥对返回的数据进行数字签名。在数字签名后,数据将被返回到发起请求的智能合约。
然而,这种传统方法具有缺点。直接对隐私字段进行加密的示例性缺点是具有隐私字段密文的请求不具有完整性保护。例如,用户在请求中携带加密的API密钥字段,以请求基于互联网的数据源的所有授权信息。攻击者可以拦截该通信。尽管攻击者无法直接解密出API密钥信息的明文,但是攻击者可以修改该请求以使用相同的隐私字段来构建用于访问信息的请求,并将其发送到中继节点。这可能导致敏感信息(例如凭据)泄漏。
鉴于以上背景,本文的实施例涉及使用中继系统和TEE来查询外部数据源(例如,基于互联网的数据源)。更具体地,如本文中进一步详细描述的,本文的实施例提供了授权请求完整性检查,同时保护了敏感信息(例如,凭证)。以这种方式,如本文中进一步详细描述的,本文的实施例解决了常规方法的缺点,诸如防止用户权限泄漏。
图3是示出了根据本文的实施例的系统300的示例的图示。如图所示,系统300包括开发者服务器302、用户设备304、中继系统节点306、认证服务308和网络310(例如,互联网)。在一些实施例中,使用TEE技术(例如,英特尔SGX)来实现中继系统节点306。通常,认证服务308为用户设备304验证中继系统节点306的合法性。认证服务的示例包括如上所述的IAS。注意到,仅为了说明目的,系统300被示出为包括一个中继系统节点306。系统300可以包括任何合适数量的中继系统节点306。
开发者服务器302包括任何合适的服务器、计算机、模块或计算元件,以存储和处理与中继系统节点306有关的代码和/或数据。例如,开发者服务器302可以存储中继系统节点306的源代码和测量值(例如,中继系统节点306的初始状态的摘要)。如本文所述,开发者服务器302通信地耦接到用户设备304。例如,开发者服务器302可以根据请求将中继系统节点306的测量值发送到用户设备304。
用户设备304包括任何合适的计算机、处理器、模块或计算元件,以使客户端能够与开发者服务器302、中继系统节点306和认证服务308进行通信。例如,客户端可以使用用户设备304以从系统300的其他组件请求数据或服务。用户设备304可以包括用于客户端与用户设备304交互的图形用户界面(GUI)。在一些实施例中,用户设备304从中继系统节点306请求认证证据320。认证证据320指示中继系统节点306的合法性(例如,中继系统节点306是否是可信实体),并且包括测量值322、公钥324和签名326。测量值322可以包括中继系统节点306的初始状态的摘要(例如,哈希值)。公钥324与中继系统节点306相关联,并且可以与中继系统节点306的私钥一起随机地生成。签名326包括测量值322和利用中继系统节点306的认证密钥签名的公钥324。
在一些实施例中,中继系统节点306的认证密钥包括增强的隐私标识(EPID)私钥。EPID是英特尔(Intel)提供的一种用于认证可信系统同时保护隐私的算法。通常,网络的每个成员(例如,计算机或服务器)都分配有用于对认证证据进行签名的EPID私钥,并且网络中认证证据的验证者存储与网络的其他成员的EPID私钥配对的EPID公钥。每个成员都可以使用其自己的EPID私钥生成认证证据的签名,验证者可以使用EPID公钥来验证其他成员的签名。这样,EPID密钥可用于证明例如计算机或服务器的设备是真实设备。
中继系统节点306包括使用TEE技术(例如,英特尔SGX)实现的任何合适的服务器、计算机、模块或计算元件。中继系统节点306可以根据来自用户设备304的请求来生成认证证据320。中继系统节点306可以接收和处理来自用户设备304的数据和/或服务请求,并查询网络310中的外部数据源,例如,启用HTTPS的互联网服务。在一些实施例中,中继系统节点306被提供有公钥324和与公钥324配对的私钥。公钥324和配对的私钥可被中继系统节点306用来对与用户设备304的通信进行认证和加密。在一些实施例中,中继系统节点306进一步被提供有用于对认证证据320进行签名的认证密钥(例如,EPID私钥)。用EPID私钥签名的认证证据320可以由认证服务308使用EPID公钥来验证。
认证服务308包括用于验证认证证据320的合法性的任何合适的服务器、计算机、模块或计算元件。如上所述,认证证据320包括中继系统节点306的测量值322、公钥324和签名326。在接收到认证证据320时,认证服务308可以验证签名326并生成认证验证报告(AVR)330。
认证服务308使用认证密钥(例如,EPID公钥)来验证认证证据320中的签名326。在使用EPID公钥验证签名326之后,认证服务308生成AVR 330,该AVR 330包括认证证据320、指示认证证据320中的签名326是否有效的验证结果334、以及认证服务的签名336。
在一些实施例中,AVR 330包括不包括中继系统节点310的签名326的认证证据320。例如,AVR 330可以包括中继系统节点306的测量值322、公钥324、验证结果334和签名336。在一些实施例中,签名336包括使用报告签名密钥(例如,认证服务312用来对AVR进行签名的私钥)签名的认证证据320和验证结果334。
在操作中,用户设备304从开发者服务器302接收中继系统节点306的测量值322。用户设备304查询中继系统节点306、接收认证证据320并将认证证据320发送到认证服务308。认证服务308验证认证证据320,并将AVR发送到用户设备304。用户设备304基于AVR330中的签名336和测量值322来验证AVR 330。在成功验证AVR 330之后,用户设备304确定中继系统节点306是可信实体,并注册(例如,存储)中继系统节点306的公钥324。下面将参考图4更详细地讨论对认证证据320的验证。
图4描绘了根据本文的实施例的信号流400的示例。信号流400表示认证验证过程。为方便起见,该处理将被描述为由位于一个或多个位置并根据本文被适当地编程的一个或多个计算机的系统执行。例如,被适当编程的分布式系统(图3的系统300)可以执行该处理。
在图4的示例中,开发者服务器302根据来自用户设备304的请求,将中继系统节点306的测量值322发送(402)到用户设备304。例如,用户设备304可以向开发者服务器302发送针对一个或多个中继系统节点306的测量值322的请求。在验证用户设备的身份之后,开发者服务器302可以将请求的测量值322发送到用户设备304。
用户设备304向中继系统节点306发送(404)认证请求(例如,质询)。认证请求被发送到中继系统节点306,以请求指示中继系统节点306的合法性的认证证据320。在一些实施例中,认证证据320包括中继系统节点306的测量值322、公钥324和签名326。
响应于该认证请求,中继系统节点306生成(406)认证证据320。如上所述,认证证据320指示中继系统节点306的合法性,并且包括中继系统节点306的测量值322、公钥324和签名326。
在一些实施例中,测量值322可以包括中继系统节点306的初始状态的摘要。例如,测量值322可以包括在中继系统节点306上实现的处理代码的哈希值。公钥324可以与私钥一起由中继系统节点306使用例如,Rivest-Shamir-Adleman(RSA)算法的预定密钥生成算法随机生成。在一些示例中,公钥324被提供在认证证据320中并且被发送到用户设备304,并且可以被用于用户设备304与中继系统节点306之间的未来通信。例如,中继系统节点306可以使用其私钥来生成查询结果的签名,并且用户设备304可以使用公钥324来验证签名。认证证据320中的签名326包括使用中继系统节点306的认证密钥(例如,EPID私钥)签名的测量值322和公钥324。
响应于来自用户设备304的认证请求,中继系统节点306将如上生成的认证证据320发送(408)到用户设备304。
用户设备304将认证证据320从中继系统节点306转发(410)到认证服务308。在一些实施例中,用户设备304将认证验证请求发送到认证服务308。认证验证请求包括中继系统节点306的认证证据320以及一些补充信息,例如指示中继系统节点306是否使用SGX平台服务的描述符。
响应于接收到由用户设备304转发的认证证据320,认证服务308验证(412)认证证据320。如所指出的,认证证据320包括中继系统节点306的测量值322、公钥324和签名326。签名326包括使用中继系统节点306的认证密钥(例如,EPID私钥)签名的测量值322和公钥324。认证服务308可以通过使用认证服务308的认证密钥(例如,EPID公钥)验证认证证据320中的签名326,来验证认证证据320。
如果认证服务308确定认证证据320中的签名326有效,则认证服务308确定中继系统节点306是可信实体。如果认证服务308确定认证证据320中的签名326无效,则认证服务308确定中继系统节点306不是可信实体,并且可以拒绝来自中继系统节点306的任何后续数据和请求。
认证服务308基于对认证证据320的验证来生成(414)AVR 330。在一些实施例中,AVR 330可以包括认证证据320、认证验证结果334和认证服务308的数字签名336。在一些实施例中,AVR 330可以包括不包括中继系统节点310的签名326的认证证据320。例如,AVR330可以包括测量值322、公钥324、认证验证结果334和认证服务308的签名336。
AVR 330中的认证验证结果334指示认证证据320中的签名326是否有效。例如,认证验证结果330可以包括指示认证证据320中的签名326有效的值“valid”或“OK”,或指示签名326无效的值“invalid”。
在一些实施例中,AVR 330中的认证服务308的签名336包括使用报告签名密钥进行签名的认证证据320和认证验证结果334。报告签名密钥可以是认证服务308用来对AVR330进行签名的私钥。在一些实施例中,报告签名密钥是认证服务308使用预定的密钥生成算法生成的。例如,可以使用RSA安全哈希算法(SHA)256生成报告签名密钥。
在一些实施例中,认证服务308将AVR 330发送(416)到用户设备304。如上所述,AVR 330包括以加密方式签名的中继系统节点306的身份验证报告,并且可以包括认证证据320、认证验证结果335和认证服务308的数字签名336。
在一些实施例中,用户设备304在从认证服务308接收到AVR 330之后验证(418)AVR 330。例如,用户设备304可以验证AVR 330中的认证服务308的签名336。在一些实施例中,用户设备304使用报告签名证书来验证AVR 330中的签名336。报告签名证书可以是X.509数字证书。报告签名证书可以与认证服务312用来对AVR进行签名的报告签名密钥配对。如果用户设备304验证AVR 330中的认证服务308的签名336有效,则用户设备304确定AVR 330确实是由认证服务308发送的。如果用户设备304确定AVR 330中的签名336无效,则用户设备304确定AVR 330不是真实的,并且可以拒绝AVR 330。用户设备304可以进一步检查AVR 330中的认证验证结果334,以确定认证证据320中的签名326是否有效。
在一些实施例中,用户设备304还将认证证据320中的测量值322与先前从开发者服务器302获得的测量值322进行比较,以确定认证证据320是否有效。
响应于确定AVR 330是真实的,用户设备304将中继系统节点306注册(420)为可信实体。例如,如果AVR 330中的测量值322与先前从开发者服务器302获得的测量值322匹配、验证结果334指示签名326有效和/或签名336被验证为有效,则用户设备304可以认为中继系统节点306是可信的。用户设备304可以进一步存储包括在AVR 330中的认证证据320中的公钥324。公钥324将被用户设备304用来对用户设备304与中继系统节点306之间的未来通信进行认证和加密。
图5是示出了根据本文的实施例的系统500的示例的图示。如图所示,系统500包括用户设备502、区块链504、中继系统节点510和网络514(例如,互联网)。在所描绘的示例中,区块链504包括客户端智能合约506和中继系统智能合约508。在一些实施例中,中继系统节点510使用TEE技术(例如,英特尔SGX)来实现。通常,用户设备502请求来自网络512中的数据源的数据,并通过区块链504和中继系统节点510接收从该数据源检索到的数据,使得可以验证该请求和检索到的数据的完整性。图5的中继系统(例如,中继系统智能合约508、中继系统节点510)有助于避免用户设备502与中继系统节点之间的直接接触,从而避免暴露中继系统节点的位置或接入点。这样,中继系统节点不易于被恶意行动者在网络上使用例如分布式拒绝服务(DDoS)攻击而发现并攻击。这提高了中继系统节点的安全性,从而进一步提高了区块链与中继系统节点之间的通信的安全性。
用户设备502、中继系统节点510和网络512可以分别是与图3中描绘的用户设备304、中继系统节点306和网络310相同的组件。客户端智能合约506是一种用作链外客户端(例如,用户设备502)的请求者以请求来自网络512的数据或服务的智能合约。客户端智能合约304通信地耦接到区块链504中的中继系统智能合约508。中继系统智能合约508包括或用作用于处理和操作在客户端智能合约506和中继系统节点510之间传输的数据的应用程序接口(API)。客户端智能合约506、中继系统智能合约508和中继系统节点510一起用作中继系统,以将请求从用户设备502中继到网络512,并将请求结果从网络512中继到用户设备502。
在操作中,用户设备502生成请求,该请求将要通过客户端智能合约506和中继系统智能合约508被中继到中继系统节点510。该请求由用户设备502生成为包括加密的哈希值,使得中继系统节点510可以基于该加密的哈希值来验证该请求的完整性。下面将参考图6更详细地讨论对请求的验证。
图6描绘了根据本文的实施例的信号流600的示例。信号流600表示根据本公开的实施例的用于验证被发送到外部数据源的请求的处理。为方便起见,该处理将被描述为由位于一个或多个位置并根据本文被适当地编程的一个或多个计算机的系统执行。例如,被适当编程的分布式系统(例如,图1的区块链系统100;图5的系统500)可以执行该处理。
用户设备502生成(602)针对来自基于互联网的数据源512的数据或服务的请求。例如,该请求可以是针对客户端的账户的访问请求,并且客户端可以操作用户设备502以生成访问请求。访问请求可以包括例如网址的明文部分和例如用户502的账户凭据(例如,用户名、密码)的机密数据部分。可以对访问请求中的机密数据部分进行加密,使得网络上的恶意行为者不能获得用户账户的个人信息来渗透用户账户。然而,机密数据部分尽管仍被加密,但是仍可以由恶意行为者获得,并与例如第二网址的不同的明文部分组合。例如,第二网址可以位于第一网址的同一域下,并且加密的机密数据部分可以用于访问第二网址上的客户端的个人数据(例如,如果客户端在第二网址上使用与第一网址相同的用户名和密码,这样的攻击将是成功的)。
如本文所述,本文的实施例通过提高请求的完整性来减少这种攻击。在一些实施例中,为了提高请求的完整性和个人数据的安全性,由用户设备502生成的请求包括明文数据元素、以及机密数据元素和明文数据元素的哈希值的加密组合。例如,用户设备502可以计算出明文数据元素的哈希值并且将该哈希值级联(concatenate)到机密数据元素。用户设备502可以进一步使用由中继系统节点510先前生成并发送给用户设备502的公钥来对级联的哈希值和机密数据元素进行加密。例如:
R→[P,PKRSN(C||H)]
其中,
R是由用户的计算设备向区块链网络发出的请求;
P是明文部分(例如,要查询的数据源的URL);
PKRSN是查询数据源的中继系统节点的公钥;
C是用于访问数据源的机密信息(例如,凭证);
H是明文部分P的哈希值;以及
||表示C和H的级联,该级联使用PKRSN来进行加密。
哈希值和机密数据元素的加密级联可以由中继系统节点510使用与公钥配对的私钥来解密。
在一些实施例中,用户设备502使用公钥分别对哈希值和机密数据元素进行加密。例如,用户设备502可以使用公钥对哈希值进行加密,并且可以使用公钥对机密数据元素进行加密。用户设备502组合(例如,级联)加密的哈希值和加密的机密数据元素。例如:
R→[P,(PKRSN(C)||PKRSN(H))]
其中,
R是由用户的计算设备向区块链网络发出的请求;
P是明文部分(例如,要查询的数据源的URL);
PKRSN是查询数据源的中继系统节点的公钥;
C是用于访问数据源的机密信息(例如,凭证);
H是明文部分P的哈希值;以及
||表示加密的C和加密的H的级联,该加密的C和该加密的H各自使用PKRSN来进行加密。
级联的加密的哈希值和加密的机密数据元素可以由中继系统节点510使用与公钥配对的私钥来解密。
用户设备502将请求发送(604)到客户端智能合约506。例如,用户设备502可以将请求提交给区块链504,并且区块链504将请求分配给与用户设备502相关联的客户端智能合约506。在从用户设备502接收到请求之后,客户端智能合约506将请求转发(606)到中继系统智能合约508。在从客户端智能合约506接收到请求之后,中继系统智能合约508将请求转发(608)到中继系统节点510。
在一些实施例中,中继系统节点510使用中继系统节点510的私钥从请求中获得(610)机密数据元素和明文数据元素的哈希值。如上所述,请求包括明文数据元素、以及使用中继系统节点510的公钥加密的机密数据元素和明文数据元素的哈希值的组合。中继系统节点510存储与用户设备502用来对请求中的明文数据元素的哈希值和机密数据元素进行加密的公钥配对的私钥。中继系统节点510可以使用私钥来解密哈希值和机密数据元素的加密组合以获得明文数据元素的哈希值和机密数据元素。
中继系统节点510计算(612)请求中的明文数据元素的哈希值。例如,中继系统节点510可以获得请求中的明文数据元素,并且将预定的哈希函数应用于明文数据元素以计算明文数据元素的哈希值。中继系统节点510将在612确定的明文数据元素的哈希值与在610获得的明文数据元素的哈希值进行比较(614)。中继系统节点510确定两个哈希值是否匹配。如果哈希值匹配,则中继系统节点510确定请求中的明文数据元素未被篡改。如果两个哈希值不匹配,则中继系统节点510可以确定明文数据元素已被篡改(例如,被恶意行为者篡改)。
中继系统节点510基于在614执行的两个哈希值的比较来验证(616)该请求是否真实。例如,如果在612处确定的明文数据元素的哈希值与在610处获得的明文数据元素的哈希值匹配,则中继系统节点510确定该请求是完整的(例如,未被篡改)。如果两个哈希值不匹配,则中继系统节点510确定该请求已被篡改,或者是不完整的。如果中继系统节点510确定请求是不完整的,则中继系统节点510可以拒绝该请求,并且不会查询基于互联网的数据源512。
在一些实施例中,响应于确定该请求是完整的,中继系统节点510将该请求发送(618)到基于互联网的数据源512以获得请求结果。在一些实施例中,中继系统节点510构建包括明文数据元素和机密数据元素的新请求,并使用新请求来查询基于互联网的数据源512。例如,新请求可以包括:包括用户设备502要访问账户的网址的明文数据元素;以及包括用户设备502的用于登录账户的凭证(例如,用户名和密码)的机密数据元素。在一些示例中,基于互联网的数据源512处理(620)该请求,并将请求结果返回(622)到中继系统节点510。
中继系统节点510对从基于互联网的数据源512接收到的请求结果进行签名(624),并且将签名的请求结果发送(626)到中继系统智能合约508。例如,中继系统节点510可以生成签名,该签名包括使用中继系统节点510的私钥签名的请求结果。中继系统节点510用于对请求结果进行签名的私钥与中继系统节点510先前用于对请求中的加密机密数据元素和明文数据元素的哈希值进行解密的私钥相同。中继系统节点510可以将签名与请求结果组合(例如,级联),并将它们发送到中继系统智能合约508。在一些实施例中,中继系统节点510计算请求结果的哈希值,并使用中继系统节点510的私钥对该哈希值进行签名。中继系统节点510将请求结果与请求结果的签名的哈希值组合。以这种方式,用户设备502可以通过使用其公钥提取请求结果的哈希值、计算请求结果的哈希值并确定两个哈希值是否匹配来验证请求结果,如本文所述。
中继系统智能合约508将请求结果转发(628)到客户端智能合约506。客户端智能合约506将请求结果提供(630)给用户设备502。
在一些实施例中,用户设备502通过使用其公钥验证包括在签名的请求结果中的签名来验证(632)签名的请求。例如,如果签名的请求结果包括请求结果和请求结果的签名的哈希值,则用户设备502可以使用其公钥获得请求结果的哈希值、计算请求结果的哈希值并确定两个哈希值是否匹配。如果两个哈希值匹配,则用户设备502确定请求结果有效。如果两个哈希值不匹配,则用户设备502确定请求结果无效,并且可以拒绝该请求结果。
图7描绘了可根据本文的实施例执行的处理700的示例。在一些实施例中,示例性处理700可使用一个或多个计算机可执行程序来执行,所述一个或多个计算机可执行程序使用一个或多个计算设备来执行。在一些示例中,处理700可以由中继系统执行,用于检索区块链网络(例如,图5的客户端智能合约506、中继系统智能合约508和中继系统节点510)外部的数据。
接收请求(702)。例如,图5的中继系统节点510接收源自图5的用户设备502的请求。在一些示例中,如本文所述,用户设备502生成包括第一部分和第二部分的请求,第一部分包括明文数据,而第二部分包括加密数据,加密数据包括访问数据和第一哈希值,第一哈希值作为明文数据的哈希值是使用中继系统节点510的公钥而生成的。客户端智能合约506和中继系统智能合约508将请求转发到中继系统节点510。
确定明文(704)。例如,中继系统节点510使用其私钥对加密的数据进行解密以确定第一哈希值(作为明文)。计算哈希值(706)。例如,中继系统节点510处理第一部分的明文数据以提供第二哈希值。确定请求是否有效(708)。例如,中继系统节点510比较第一哈希值和第二哈希值。如果第一哈希值与第二哈希值相同,则该请求有效。即,确定请求的完整性是完整的。如果第一哈希值与第二哈希值不同,则该请求无效。即,确定请求的完整性已经受到损害。如果该请求无效,则指示错误(710),并且示例性处理700结束。
如果该请求有效,则将查询发送到数据源(712)。例如,中继系统节点510构建查询(例如,新请求),该查询包括其已接收到的请求(例如,原始请求)的明文数据元素和机密数据元素。例如,新请求可以包括:包括用户设备502要访问账户的网址的明文数据元素;以及包括用户设备502的用于登录账户的凭证(例如,用户名和密码)的机密数据元素。中继系统节点510使用该查询来查询基于互联网的数据源512。
从数据源接收结果(714)。在一些示例中,基于互联网的数据源512处理该请求,并将请求结果(例如,数据值)返回到中继系统节点510。准备响应(716),并且发送响应(718)。例如,中继系统节点510可以生成签名,该签名包括使用中继系统节点510的私钥签名的请求结果。中继系统节点510使用对请求结果进行签名的私钥与中继系统节点510先前用来对原始请求中的加密数据进行解密的私钥相同。中继系统节点510可以将签名与请求结果组合(例如,级联),并将它们发送到中继系统智能合约508。在一些实施例中,中继系统节点510计算请求结果的哈希值,并使用私钥对该哈希值进行签名。中继系统节点510将请求结果与请求结果的签名的哈希值组合。
计算哈希值(720)。例如,用户设备502基于请求结果来计算哈希值(例如,数据值)。确定响应是否有效(722)。例如,用户设备502使用公钥获得请求结果的哈希值,并确定该哈希值是否与计算出的哈希值匹配。如果两个哈希值匹配,则用户设备502确定请求结果有效。如果两个哈希值不匹配,则用户设备502确定请求结果无效,并且可以拒绝该请求结果。如果该请求无效,则指示错误(724),并且示例过程700结束。如果请求有效,则请求结果的完整性是完整的,并且将请求结果提供给用户设备502以进行进一步处理。
图8描绘了根据本文的实施例的装置800的模块的示例。装置800可以是用户计算设备的示例实施例。在一些示例中,用户计算设备向区块链网络外部的中继系统的一个或多个组件发布请求并从其接收响应,并且查询在区块链网络外部的数据源。
设备800可以对应于上述实施例,并且设备800包括以下:生成模块802,其生成针对来自数据源的数据的请求,该请求包括第一部分和第二部分,第一部分包括明文数据,而第二部分包括加密数据,加密数据包括访问数据和第一哈希值,该第一哈希值是由提交请求的用户计算设备生成为明文数据的哈希值;发送模块804,将请求发送至区块链网络外部的中继系统组件;接收模块806,其从中继系统组件接收结果,该结果包括结果数据和第二哈希值,结果数据是使用访问数据检索的,第二哈希值基于结果数据生成并使用中继系统组件的私钥进行数字签名;验证模块808,其基于中继系统组件的公钥、结果的数字签名和第二哈希值来验证结果的完整性。
在先前实施例中示出的系统、装置、模块或单元可以通过使用计算机芯片或实体来实现,或者可以通过使用具有特定功能的产品来实现。典型的实施例设备是计算机,计算机可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能手机、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或这些设备的任意组合。
对于装置中每个模块的功能和作用的实施例处理,可以参考前一方法中相应步骤的实施例处理。为简单起见,这里省略了细节。
由于装置实施例基本上对应于方法实施例,对于相关部分,可以参考方法实施例中的相关描述。先前描述的装置实施例仅是示例。被描述为单独部分的模块可以是或不是物理上分离的,并且显示为模块的部分可以是或不是物理模块,可以位于一个位置,或者可以分布在多个网络模块上。可以基于实际需求来选择一些或所有模块,以实现本文方案的目标。本领域的普通技术人员无需付出创造性劳动就能理解和实现本申请的实施例。
再次参见图8,它可以被解释为示出了区块链数据检索装置的内部功能模块和结构。区块链数据检索装置可以是用户计算设备的示例。执行主体本质上可以是电子设备,并且该电子设备包括以下:一个或多个处理器;以及被配置为存储一个或多个处理器的可执行指令的一个或多个计算机可读存储器。在一些实施例中,一个或多个计算机可读存储器耦接至一个或多个处理器且其上存储有编程指令,所述编程指令能够由所述一个或多个处理器执行以执行如本文中所述的算法、方法、函数、处理、流程和程序。
本文描述的技术产生了一个或多个技术效果。在一些实施例中,确保了由用户计算设备向中继系统节点提交的用于查询区块链网络外部的数据源的请求的完整性。在一些实施例中,确保了从外部数据源提供回区块链网络的响应的完整性。因此,本公开的实施例通过区块链网络提高了用户计算设备与中继系统节点之间的通信的完整性。通过这种方式,可以减少恶意用户潜在的攻击渠道,从而提高安全性。
所描述的主题的实施例可以包括单独或组合的一个或多个特征。响应于接收到请求,中继系统组件使用私钥对加密的数据进行解密以提供第一哈希值,基于包括在请求中的明文数据计算哈希值,以及将第一哈希值与该哈希值进行比较,以验证明文数据不存在任何更改;响应于验证请求,中继系统组件向数据源发送查询请求;中继系统组件包括中继系统节点,该中继系统节点接收来自在区块链网络内执行的中继系统智能合约的请求;明文数据包括数据源的统一资源定位符(URL);中继系统组件执行可信执行环境(TEE),并且中继系统组件的私钥和公钥是在TEE的认证处理期间提供的;用户计算设备通过中继系统节点和认证服务执行认证处理;以及数据源包括基于互联网的数据源。
本文中描述的主题、动作以及操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件中实现,包括本文中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本文中描述的主题的实施例可以实现为一个或多个计算机程序,例如,一个或多个计算机程序指令模块,编码在计算机程序载体上,用于由数据处理装置执行或控制数据处理装置的操作。例如,计算机程序载体可以包括一个或多个计算机可读存储介质,其上编码或存储有指令。载体可以是有形的非暂态计算机可读介质,诸如磁盘、磁光盘或光盘、固态驱动器、随机存取存储器(RAM),只读存储器(ROM)或其他类型的介质。可选地或附加地,载体可以是人工生成的传播信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息用于传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是或可以部分是可机读存储设备、可机读存储基板、随机或串行访问存储器设备或它们中的一个或多个的组合。计算机存储介质不是传播信号。
计算机程序也可以被称为或描述为程序、软件、软件应用程序、app、模块、软件模块、引擎、脚本或代码,可以以任何形式的编程语言编写,包括编译或演绎性语言、说明或程序性语言;它可以配置为任何形式,包括作为独立程序,或者作为模块、组件、引擎、子程序或适合在计算环境中执行的其他单元,该环境可包括由通信数据网络互联的在一个或多个位置的一台或多台计算机。
计算机程序可以但非必须对应于文件系统中的文件。计算机程序可以存储在:保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本;专用于所讨论的程序的单个文件;或者多个协调文件,例如,存储一个或多个模块、子程序或代码部分的多个文件。
用于执行计算机程序的处理器包括:例如,通用和专用微处理器两者,和任意种类的数字计算机的任意一个或多个处理器。通常,处理器将接收用于执行的计算机程序的指令以及来自耦接至处理器的非暂态计算机可读介质的数据。
术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或者多处理器或计算机。数据处理装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)或GPU(图形处理单元)。除了硬件,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中一个或多个的组合的代码。
本文中描述的处理和逻辑流程可由一台或多台计算机或处理器执行一个或多个计算机程序进行,以进行通过对输入数据进行运算并生成输出的操作。处理和逻辑流程也可以由例如FPGA、ASIC、GPU等的专用逻辑电路或专用逻辑电路与一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用和/或专用微处理器,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的元件可包括用于执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以补充有专用逻辑电路或集成在专用逻辑电路中。
通常,计算机还将包括或可操作地耦接至一个或多个存储设备,以从一个或多个存储设备接收数据或将数据传输到一个或多个存储设备。存储设备可以是例如,磁盘、磁光盘或光盘、固态驱动器或任何其他类型的非暂态计算机可读介质。但是,计算机不需要这样的设备。因此,计算机可以耦接至诸如一个或多个存储器的、本地的和/或远程的一个或多个存储设备。例如,计算机可以包括作为计算机集成组件的一个或多个本地存储器,或者计算机可以耦接至处于云网络中的一个或多个远程存储器。此外,计算机可嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,这里仅举几例。
组件可以通过例如直接地或通过一个或多个中间组件彼此电连接或光学连接通信地彼此“耦接”。如果其中一个组件集成到另一个组件中,组件也可以彼此“耦接”。例如,集成到处理器(例如,L2缓存组件)中的存储组件“耦接到”处理器。
为了提供与用户的交互,本文中描述的主题的实施例可以在计算机上实现或配置为与该计算机通信,该计算机具有:显示设备,例如,LCD(液晶显示器)监视器,用于向用户显示信息;以及输入设备,用户可以通过该输入设备向该计算机提供输入,例如键盘和例如鼠标、轨迹球或触摸板等的指针设备。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以接收来自用户的任何形式的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过向用户设备上的web浏览器发送web页面以响应从web浏览器收到的请求,或者通过与例如智能电话或电子平板电脑等的用户设备上运行的应用程序(app)进行交互。此外,计算机可以通过向个人设备(例如,运行消息应用的智能手机)轮流发送文本消息或其他形式的消息,并接收来自用户的响应消息来与用户交互。
本说明书使用与系统、装置和计算机程序组件有关的术语“配置为”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已经在其上安装了在运行中促使该系统执行所述操作或动作的软件、固件、硬件或它们的组合。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当被数据处理装置执行时促使该装置执行所述操作或动作的指令。对于被配置为执行特定操作或动作的专用逻辑电路,意味着该电路具有执行所述操作或动作的电子逻辑。
虽然本文包含许多具体实施例细节,但是这些不应被解释为由权利要求本身限定的对要求保护的范围的限制,而是作为对特定实施例的具体特征的描述。在本文多个单独实施例的上下文中描述的多个特定特征也可以在单个实施例中的组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从要求保护的组合中删除来自该组合的一个或多个特征,并且可以要求保护指向子组合或子组合的变体。
类似地,虽然以特定顺序在附图中描绘了操作并且在权利要求中叙述了操作,但是这不应该被理解为:为了达到期望的结果,要求以所示的特定顺序或依次执行这些操作,或者要求执行所有示出的操作。在一些情况下,多任务并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的划分不应被理解为所有实施例中都要求如此划分,而应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品或者打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程无需要求所示的特定顺序或次序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。

Claims (9)

1.一种计算机实现的用于从位于区块链网络外部的数据源检索数据的方法,所述方法包括:
由用户计算设备生成针对所述数据源的数据的请求,所述请求包括第一部分和第二部分,所述第一部分包括明文数据,所述第二部分包括加密数据,所述加密数据包括访问数据和第一哈希值,所述第一哈希值是由所述用户计算设备作为所述明文数据的哈希值而生成的;
由所述用户计算设备将所述请求发送至位于所述区块链网络外部的中继系统组件,以使所述中继系统组件使用所述中继系统组件的私钥对所述加密数据进行解密,以提供所述第一哈希值,并基于包括在所述请求中的所述明文数据计算所述明文数据的哈希值,以及将所述第一哈希值与计算得到的所述明文数据的哈希值进行比较,以验证所述明文数据没有任何更改;
由所述用户计算设备从所述中继系统组件接收结果,所述结果包括结果数据和第二哈希值,所述结果数据是使用所述访问数据检索的,所述第二哈希值基于所述结果数据生成并使用所述中继系统组件的私钥被数字地签名;以及
由所述用户计算设备基于所述中继系统组件的公钥从所述结果中获得所述第二哈希值,并计算所述结果数据的哈希值,以及确定所述第二哈希值与计算得到的所述结果数据的哈希值是否匹配,以验证所述结果的完整性。
2.如权利要求1所述的方法,其中,响应于验证所述请求,所述中继系统组件将查询请求发送至所述数据源。
3.如权利要求1所述的方法,其中,所述中继系统组件包括中继系统节点,所述中继系统节点接收从在所述区块链网络内执行的中继系统智能合约接收所述请求。
4.如权利要求1所述的方法,其中,所述明文数据包括所述数据源的统一资源定位符URL。
5.如权利要求1所述的方法,其中,
所述中继系统组件执行可信执行环境TEE,并且
所述中继系统组件的所述私钥和所述公钥是在所述TEE的认证处理期间提供的。
6.如权利要求1所述的方法,其中,所述用户计算设备利用所述中继系统节点和认证服务执行认证处理。
7.如前述任一项权利要求所述的方法,其中,所述数据源包括基于互联网的数据源。
8.一种用于从位于区块链网络外部的数据源检索数据的装置,所述装置包括用于执行权利要求1至7中任一项所述的方法的多个模块。
9.一种系统,包括:
一个或多个处理器;以及
耦接到所述一个或多个处理器且其上存储有指令的一个或多个计算机可读存储器,所述指令能由所述一个或多个处理器执行以执行权利要求1至7中任一项所述的方法。
CN201980003365.0A 2019-03-27 2019-07-15 提高区块链网络与外部数据源之间的通信的完整性 Active CN110914851B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
PCT/CN2019/079800 WO2019120318A2 (en) 2019-03-27 2019-03-27 Retrieving public data for blockchain networks using highly available trusted execution environments
CNPCT/CN2019/079800 2019-03-27
CNPCT/CN2019/080478 2019-03-29
PCT/CN2019/080478 WO2019120325A2 (en) 2019-03-29 2019-03-29 Retrieving access data for blockchain networks using highly available trusted execution environments
PCT/CN2019/096032 WO2019179542A2 (en) 2019-03-27 2019-07-15 Improving integrity of communications between blockchain networks and external data sources

Publications (2)

Publication Number Publication Date
CN110914851A CN110914851A (zh) 2020-03-24
CN110914851B true CN110914851B (zh) 2024-02-06

Family

ID=67988428

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201980003365.0A Active CN110914851B (zh) 2019-03-27 2019-07-15 提高区块链网络与外部数据源之间的通信的完整性
CN201980004249.0A Active CN111066287B (zh) 2019-03-27 2019-07-15 使用可信执行环境检索区块链网络的公开数据
CN201980003411.7A Active CN110832519B (zh) 2019-03-27 2019-07-15 提高区块链网络与外部数据源之间的通信的完整性
CN202211462165.1A Pending CN115967534A (zh) 2019-03-27 2019-07-15 使用可信执行环境检索区块链网络的公开数据

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN201980004249.0A Active CN111066287B (zh) 2019-03-27 2019-07-15 使用可信执行环境检索区块链网络的公开数据
CN201980003411.7A Active CN110832519B (zh) 2019-03-27 2019-07-15 提高区块链网络与外部数据源之间的通信的完整性
CN202211462165.1A Pending CN115967534A (zh) 2019-03-27 2019-07-15 使用可信执行环境检索区块链网络的公开数据

Country Status (6)

Country Link
US (4) US10803205B1 (zh)
EP (3) EP3685334B1 (zh)
CN (4) CN110914851B (zh)
SG (3) SG11202002774WA (zh)
TW (3) TWI734426B (zh)
WO (3) WO2019179542A2 (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11139956B2 (en) 2018-05-24 2021-10-05 Dapper Labs Inc. Decentralized computation system architecture based on node specialization
US11184437B2 (en) 2018-05-24 2021-11-23 Dapper Labs Inc. Decentralized computation system architecture based on node specialization
CN110914851B (zh) 2019-03-27 2024-02-06 创新先进技术有限公司 提高区块链网络与外部数据源之间的通信的完整性
US11379785B2 (en) 2019-03-28 2022-07-05 Ebay Inc. Decentralized shipping network using blockchains
US11159326B1 (en) * 2019-08-29 2021-10-26 Hiro Systems Pbc Client-side authentication system and associated method
US11444878B2 (en) * 2019-09-04 2022-09-13 Yahoo Ad Tech Llc Intelligent dataflow-based service discovery and analysis
US11288380B2 (en) * 2019-10-14 2022-03-29 Oracle International Corporation Securely sharing selected fields in a blockchain with runtime access determination
CN112862483B (zh) * 2019-11-12 2024-04-09 航天信息股份有限公司 一种基于智能合约的身份验证方法和装置
CN110944058B (zh) * 2019-12-04 2022-03-04 杭州复杂美科技有限公司 区块链内网节点中继连接方法
EP4055774A1 (en) * 2019-12-05 2022-09-14 Huawei Technologies Co., Ltd. System and method of establishing a trusted relationship in a distributed system
CN111092914B (zh) * 2020-03-18 2020-06-26 支付宝(杭州)信息技术有限公司 访问外部数据的方法及装置
CN111090888B (zh) * 2020-03-18 2020-07-07 支付宝(杭州)信息技术有限公司 验证合约的方法及装置
CN111092727B (zh) * 2020-03-18 2020-07-17 支付宝(杭州)信息技术有限公司 共享集群密钥的方法及装置
CN111555870B (zh) * 2020-04-29 2023-01-17 支付宝实验室(新加坡)有限公司 一种密钥运算方法及装置
KR20210142983A (ko) * 2020-05-19 2021-11-26 삼성에스디에스 주식회사 오프-체인 데이터 공유 시스템 및 그 방법
CN111597586B (zh) * 2020-05-26 2023-06-09 牛津(海南)区块链研究院有限公司 一种区块链隐私保护方法、系统及装置
US11947659B2 (en) 2020-05-28 2024-04-02 Red Hat, Inc. Data distribution across multiple devices using a trusted execution environment in a mobile device
US11971980B2 (en) 2020-05-28 2024-04-30 Red Hat, Inc. Using trusted execution environments to perform a communal operation for mutually-untrusted devices
CN111935075A (zh) * 2020-06-23 2020-11-13 浪潮云信息技术股份公司 一种基于区块链的数字身份签发方法、设备及介质
CN111859467B (zh) * 2020-07-23 2024-03-26 中国工商银行股份有限公司 一种基于sgx的云数据完整性审计方法及装置
US10965461B1 (en) * 2020-08-31 2021-03-30 Syniverse Technologies, Llc Method of verifying telecommunications messaging traffic based on decentralized identifiers
KR20220036569A (ko) * 2020-09-16 2022-03-23 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11848924B2 (en) 2020-10-12 2023-12-19 Red Hat, Inc. Multi-factor system-to-system authentication using secure execution environments
CN114422159A (zh) * 2020-10-13 2022-04-29 北京金山云网络技术有限公司 一种基于区块链的数据处理方法及装置
US11265169B1 (en) 2020-10-30 2022-03-01 Cch Incorporated Methods and systems for exchanging confidential information via a blockchain
WO2022109840A1 (en) * 2020-11-25 2022-06-02 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based trusted platform
CN112667730B (zh) * 2021-01-13 2023-04-07 永辉云金科技有限公司 一种外部数据验证方法、系统、设备及存储介质
TWI794740B (zh) * 2021-02-08 2023-03-01 宜鼎國際股份有限公司 資料上鏈系統及方法
CN112800453B (zh) * 2021-03-22 2021-08-13 上海众旦信息科技有限公司 一种基于多节点共识的可信查询方法及系统
CN113079020B (zh) * 2021-03-30 2022-05-06 桂林电子科技大学 一种基于门限签名决策体系的联盟链的多链取证方法
WO2022236406A1 (en) * 2021-05-14 2022-11-17 Dapper Labs, Inc. Decentralized computation system based on node specialization
CN113256289B (zh) * 2021-05-17 2023-06-30 网易(杭州)网络有限公司 区块链的判别方法、装置及电子设备
US20220383333A1 (en) * 2021-05-28 2022-12-01 Dell Products L.P. System and method of validating one or more components of an information handling system
CN113411330B (zh) * 2021-06-18 2022-02-01 国网电子商务有限公司 一种区块链网关切换方法及装置
CN113779621B (zh) * 2021-08-24 2023-08-22 浙江数秦科技有限公司 一种基于区块链的数据分享方法
CN114358764A (zh) * 2021-11-15 2022-04-15 深圳众联数字科技有限公司 基于区块链中智能合约的隐私计算方法及相关设备
GB2615820A (en) * 2022-02-22 2023-08-23 Nchain Licensing Ag Data exchange attestation method
US20220300617A1 (en) * 2022-06-01 2022-09-22 Intel Corporation Enhancement of trustworthiness of artificial intelligence systems through data quality assessment
WO2023233013A1 (en) * 2022-06-02 2023-12-07 Nchain Licensing Ag Methods and systems for freezing digital assets
US20230396619A1 (en) * 2022-06-03 2023-12-07 Apple Inc. Techniques for anonymous rate limiting for services
US20230421570A1 (en) * 2022-06-27 2023-12-28 Unstoppable Domains, Inc. Accessing data on a blockchain with proof of data verification
CN115150417A (zh) * 2022-07-01 2022-10-04 南方电网电力科技股份有限公司 一种基于区块链的数据存储方法及相关装置
US20240095404A1 (en) * 2022-09-15 2024-03-21 Advanced Micro Devices, Inc Offset Data Integrity Checks for Latency Reduction
CN115987524B (zh) * 2022-12-22 2023-06-27 钛信(上海)信息科技有限公司 一种用于堡垒机的多因子认证安全管理方法及装置
CN115913581B (zh) * 2023-02-27 2023-05-16 湖南半岛医疗科技有限公司 一种医疗数据管理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104392354A (zh) * 2014-11-05 2015-03-04 中国科学院合肥物质科学研究院 一种用于加密数字货币的公钥地址与用户账号的关联和检索方法及其系统
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN106295401A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 一种用于区块链的只读安全文件存储系统及其方法
WO2018032373A1 (zh) * 2016-08-13 2018-02-22 深圳市樊溪电子有限公司 一种用于区块链的安全网络附加装置及方法

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8069435B1 (en) 2003-08-18 2011-11-29 Oracle America, Inc. System and method for integration of web services
US7698398B1 (en) 2003-08-18 2010-04-13 Sun Microsystems, Inc. System and method for generating Web Service architectures using a Web Services structured methodology
US20060206616A1 (en) * 2005-03-14 2006-09-14 Gridiron Software, Inc. Decentralized secure network login
JP4788212B2 (ja) * 2005-07-13 2011-10-05 富士ゼロックス株式会社 デジタル署名プログラム及びデジタル署名システム
JP4640083B2 (ja) 2005-09-29 2011-03-02 セイコーエプソン株式会社 デバイス管理システム
US7623659B2 (en) * 2005-11-04 2009-11-24 Cisco Technology, Inc. Biometric non-repudiation network security systems and methods
JP5181094B2 (ja) 2006-05-05 2013-04-10 インターデイジタル テクノロジー コーポレーション 信頼される処理技術を使用したデジタル権利管理
US7860883B2 (en) 2006-07-08 2010-12-28 International Business Machines Corporation Method and system for distributed retrieval of data objects within multi-protocol profiles in federated environments
CN101207613B (zh) 2006-12-21 2012-01-04 松下电器产业株式会社 跨网域信息通信的认证方法、系统及其装置
US9077543B2 (en) * 2009-10-09 2015-07-07 Apple Inc. Methods and apparatus for digital attestation
US8601569B2 (en) 2010-04-09 2013-12-03 International Business Machines Corporation Secure access to a private network through a public wireless network
US8645701B2 (en) 2010-07-13 2014-02-04 Verisign, Inc. System and method for zone signing and key management in a DNS system
US9065637B2 (en) 2012-01-25 2015-06-23 CertiVox Ltd. System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
EP2817917B1 (en) 2012-02-20 2018-04-11 KL Data Security Pty Ltd Cryptographic method and system
CN103679436B (zh) 2013-12-17 2018-08-14 重庆邮电大学 一种基于生物信息识别的电子合同保全系统和方法
US9680872B1 (en) * 2014-03-25 2017-06-13 Amazon Technologies, Inc. Trusted-code generated requests
US9998449B2 (en) 2014-09-26 2018-06-12 Qualcomm Incorporated On-demand serving network authentication
EP3026557A1 (en) * 2014-11-28 2016-06-01 Thomson Licensing Method and device for providing verifying application integrity
US9537862B2 (en) * 2014-12-31 2017-01-03 Vivint, Inc. Relayed network access control systems and methods
WO2016181585A1 (ja) * 2015-05-08 2016-11-17 パナソニックIpマネジメント株式会社 認証方法、認証システムおよびコントローラ
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
CN106487765B (zh) 2015-08-31 2021-10-29 索尼公司 授权访问方法以及使用该方法的设备
KR101637854B1 (ko) * 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
US9832024B2 (en) 2015-11-13 2017-11-28 Visa International Service Association Methods and systems for PKI-based authentication
CN107181717B (zh) 2016-03-10 2020-05-15 阿里巴巴集团控股有限公司 一种风险终端检测方法及装置
US11727391B2 (en) * 2016-04-11 2023-08-15 Nchain Licensing Ag Computer-implemented methods and systems for validating tokens for blockchain-based cryptocurrencies
US10366388B2 (en) * 2016-04-13 2019-07-30 Tyco Fire & Security Gmbh Method and apparatus for information management
US10044701B2 (en) * 2016-05-24 2018-08-07 Vantiv, Llc Technologies for token-based authentication and authorization of distributed computing resources
US10447478B2 (en) 2016-06-06 2019-10-15 Microsoft Technology Licensing, Llc Cryptographic applications for a blockchain system
US11829998B2 (en) * 2016-06-07 2023-11-28 Cornell University Authenticated data feed for blockchains
US10560274B2 (en) 2016-06-09 2020-02-11 International Business Machines Corporation Credential-based authorization
US10108954B2 (en) 2016-06-24 2018-10-23 PokitDok, Inc. System and method for cryptographically verified data driven contracts
CN107579826B (zh) * 2016-07-04 2022-07-22 华为技术有限公司 一种网络认证方法、中转节点及相关系统
US10700861B2 (en) 2016-07-29 2020-06-30 Workday, Inc. System and method for generating a recovery key and managing credentials using a smart blockchain contract
US11088855B2 (en) 2016-07-29 2021-08-10 Workday, Inc. System and method for verifying an identity of a user using a cryptographic challenge based on a cryptographic operation
KR101950912B1 (ko) * 2016-08-01 2019-02-21 서강대학교산학협력단 블록체인 기반 트랜잭션 검증 시스템 및 그 방법
MX2019002385A (es) 2016-09-15 2019-06-20 Nuts Holdings Llc Transito y almacenamiento de datos de usuario encriptados.
JP6684930B2 (ja) 2016-09-18 2020-04-22 深▲セン▼前▲海▼▲達▼▲闥▼▲雲▼端智能科技有限公司Cloudminds (Shenzhen) Robotics Systems Co., Ltd. ブロックチェーンに基づくアイデンティティ認証方法、装置、ノード及びシステム
US20180089761A1 (en) 2016-09-26 2018-03-29 Shapeshift Ag System and method of providing a leader-follower multi-asset portfolio
US10749684B2 (en) * 2016-09-30 2020-08-18 Entrust, Inc. Methods and apparatus for providing blockchain participant identity binding
EP3542277A4 (en) * 2016-11-19 2020-08-05 Costanz, Mario A. SYSTEM AND METHOD OF CONCILIATION OF INTERACTION OBJECTS IN A LARGE PUBLIC BOOK BLOCKCHAIN ENVIRONMENT
EP3454238B1 (en) * 2016-12-23 2022-02-09 CloudMinds (Shanghai) Robotics Co., Ltd. Registration and authorization method, device and system
US11631077B2 (en) * 2017-01-17 2023-04-18 HashLynx Inc. System for facilitating secure electronic communications between entities and processing resource transfers
US10419225B2 (en) 2017-01-30 2019-09-17 Factom, Inc. Validating documents via blockchain
KR101816653B1 (ko) 2017-02-14 2018-02-21 주식회사 코인플러그 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
DE102018101307A1 (de) * 2017-02-22 2018-08-23 Intel Corporation Techniken für SGX-Enklaven-Fernauthentifizierung
US20180241572A1 (en) * 2017-02-22 2018-08-23 Intel Corporation Techniques for remote sgx enclave authentication
US20180254898A1 (en) 2017-03-06 2018-09-06 Rivetz Corp. Device enrollment protocol
DE102017204538A1 (de) * 2017-03-17 2018-09-20 Bundesdruckerei Gmbh Protokollieren von Zustandsdaten eines Fahrzeugs in einer Blockchain
EP3379447B1 (de) 2017-03-22 2022-04-27 Siemens Aktiengesellschaft Verfahren und vorrichtung zum manipulationssicheren speichern von informationen bezüglich objektbezogener massnahmen
US10489597B2 (en) 2017-03-28 2019-11-26 General Electric Company Blockchain verification of network security service
GB201706132D0 (en) 2017-04-18 2017-05-31 Nchain Holdings Ltd Computer-implemented system and method
US10742393B2 (en) 2017-04-25 2020-08-11 Microsoft Technology Licensing, Llc Confidentiality in a consortium blockchain network
US11321680B2 (en) * 2017-04-26 2022-05-03 Ashish Kumar System and method for processing and management of transactions using electronic currency
WO2018214133A1 (zh) * 2017-05-25 2018-11-29 深圳前海达闼云端智能科技有限公司 基于区块链的fido认证方法、装置及系统
US11030331B2 (en) 2017-06-01 2021-06-08 Schvey, Inc. Distributed privately subspaced blockchain data structures with secure access restriction management
US11055703B2 (en) 2017-06-19 2021-07-06 Hitachi, Ltd. Smart contract lifecycle management
CN107566337B (zh) 2017-07-26 2019-08-09 阿里巴巴集团控股有限公司 一种区块链节点间的通信方法及装置
CN107592293A (zh) 2017-07-26 2018-01-16 阿里巴巴集团控股有限公司 区块链节点间通讯方法、数字证书管理方法、装置和电子设备
CN107592292B (zh) 2017-07-26 2019-08-09 阿里巴巴集团控股有限公司 一种区块链节点间通信方法及装置
US10452776B2 (en) 2017-07-28 2019-10-22 International Business Machines Corporation Cognitive mediator for generating blockchain smart contracts
US10541804B2 (en) * 2017-08-18 2020-01-21 Intel Corporation Techniques for key provisioning in a trusted execution environment
US10554634B2 (en) 2017-08-18 2020-02-04 Intel Corporation Techniques for shared private data objects in a trusted execution environment
TWI636411B (zh) 2017-09-13 2018-09-21 現代財富控股有限公司 對非區塊鏈節點提供交易不可否認性之系統及其方法
US20190102163A1 (en) * 2017-10-04 2019-04-04 Dispatch Labs, LLC System and Method for a Blockchain-Supported Programmable Information Management and Data Distribution System
WO2019075234A1 (en) 2017-10-12 2019-04-18 Rivetz Corp. CERTIFICATE COMPRISING INTEGRATED ENCRYPTION KEYS
TWI650723B (zh) 2017-10-30 2019-02-11 天逸財金科技服務股份有限公司 資產證明授權查詢方法與系統
GB201720946D0 (en) * 2017-12-15 2018-01-31 Nchain Holdings Ltd Computer-implemented system and method
CN107896213B (zh) 2017-11-16 2021-07-20 重庆顺利科技有限公司 电子处方数据存储方法
US20190158275A1 (en) 2017-11-22 2019-05-23 Michael Beck Digital containers for smart contracts
EP3489874A1 (en) 2017-11-27 2019-05-29 Wipro Limited System and method for dual blockchain based validation of instrument reference data and transaction reporting
US10657261B2 (en) * 2017-11-30 2020-05-19 Mocana Corporation System and method for recording device lifecycle transactions as versioned blocks in a blockchain network using a transaction connector and broker service
WO2019109003A1 (en) * 2017-11-30 2019-06-06 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
CN108171083B (zh) 2017-12-18 2020-02-07 深圳前海微众银行股份有限公司 区块链可信数据管理方法、系统及计算机可读存储介质
CN108073829A (zh) 2017-12-29 2018-05-25 上海唯链信息科技有限公司 用于记录对象的运输数据的方法、介质、物联网设备、区块链平台和物联网系统
CN208335190U (zh) 2017-12-29 2019-01-04 上海唯链信息科技有限公司 记录对象的运输数据的物联网设备、区块链平台和物联网系统
EP3522088B1 (en) * 2018-02-05 2022-03-16 Nokia Technologies Oy Securing blockchain access through a gateway
US11100503B2 (en) 2018-02-07 2021-08-24 Mastercard International Incorporated Systems and methods for use in managing digital identities
TWM561279U (zh) 2018-02-12 2018-06-01 林俊良 用於處理金融資產之策略模型腳本之區塊鏈系統與節點伺服器
CA3035817A1 (en) 2018-03-06 2019-09-06 Michael Thomas Gillan System and method for decentralized authentication using a distributed transaction-based state machine
CN108305170A (zh) 2018-03-07 2018-07-20 物数(上海)信息科技有限公司 基于区块链的外部服务访问方法、系统、设备及存储介质
CN108600182B (zh) 2018-03-29 2021-03-19 深圳前海微众银行股份有限公司 区块链密钥管理方法、系统及密钥管理设备、存储介质
US20190305959A1 (en) * 2018-04-02 2019-10-03 Ca, Inc. Announcement smart contracts to announce software release
US20190303541A1 (en) 2018-04-02 2019-10-03 Ca, Inc. Auditing smart contracts configured to manage and document software audits
US10958642B2 (en) 2018-04-05 2021-03-23 The Toronto-Dominion Bank Dynamic biometric authentication based on distributed ledger data
US11728995B2 (en) * 2018-04-09 2023-08-15 American Express Travel Related Services Company, Inc. Reward point transfers using blockchain
CN108846776B (zh) 2018-04-19 2021-09-21 中山大学 一种基于区块链技术的数字版权保护方法
US10917234B2 (en) * 2018-05-03 2021-02-09 International Business Machines Corporation Blockchain for on-chain management of off-chain storage
GB2573750A (en) * 2018-05-09 2019-11-20 Centrica Plc System for controlling energy supply and processing energy transactions
CN108768988B (zh) * 2018-05-17 2021-01-05 深圳前海微众银行股份有限公司 区块链访问控制方法、设备及计算机可读存储介质
US11038672B2 (en) * 2018-06-01 2021-06-15 Duality Technologies, Inc. Secure and distributed management of a proxy re-encryption key ledger
CN108880794A (zh) 2018-06-15 2018-11-23 浙江华信区块链科技服务有限公司 跨链用户身份及其数字资产管理系统
US10243748B1 (en) 2018-06-28 2019-03-26 Jonathan Sean Callan Blockchain based digital certificate provisioning of internet of things devices
CN108846297B (zh) * 2018-07-16 2019-11-01 广州追溯信息科技有限公司 一种在具有对等节点的区块链网络上分发和检索数据的方法
CN109191108B (zh) 2018-08-07 2022-03-11 广东蓝蜜蜂信息技术有限公司 基于区块链的二维码聚合支付系统及其工作方法
US10601828B2 (en) 2018-08-21 2020-03-24 HYPR Corp. Out-of-band authentication based on secure channel to trusted execution environment on client device
CN109274837B (zh) * 2018-08-22 2020-04-03 北京航空航天大学 基于区块链技术的电话来源可追溯方法及装置
US10250395B1 (en) * 2018-08-29 2019-04-02 Accenture Global Solutions Limited Cryptologic blockchain interoperation
CN109327512B (zh) 2018-09-19 2021-04-13 广东微链科技有限公司 基于区块链hash寻址和重加密的游戏数据分区储存方法
CN108965342B (zh) 2018-09-28 2021-05-28 真相网络科技(北京)有限公司 数据请求方访问数据源的鉴权方法及系统
CN109345259A (zh) 2018-09-29 2019-02-15 腾讯科技(深圳)有限公司 基于区块链的虚拟资源转移方法、装置、介质及电子设备
US10778603B2 (en) 2018-10-11 2020-09-15 Citrix Systems, Inc. Systems and methods for controlling access to broker resources
CN109194466B (zh) * 2018-10-29 2021-07-06 南开大学 一种基于区块链的云端数据完整性检测方法及系统
CN109299338B (zh) 2018-10-31 2019-08-06 山东云溪网络科技有限公司 一种跨区块链数据管理系统及方法
US10671372B2 (en) 2018-11-01 2020-06-02 Dell Products L.P. Blockchain-based secure customized catalog system
CN109462588B (zh) 2018-11-13 2021-04-16 上海物融智能科技有限公司 一种基于区块链的去中心化数据交易方法及系统
US20200167770A1 (en) 2018-11-28 2020-05-28 Bank Of America Corporation Blockchain implementation across multiple organizations
BR112019014847A2 (pt) * 2018-12-13 2020-04-14 Alibaba Group Holding Ltd método implementado em computador, meio de armazenamento legível por computador não transitório e sistema para fornecer serviço de contrato inteligente
US10600009B1 (en) 2018-12-18 2020-03-24 Rokfin, Inc. Mint-and-burn blockchain-based feedback-communication protocol
CN110249307B (zh) * 2018-12-29 2022-05-31 创新先进技术有限公司 用于在区块链上执行原生合约的系统和方法
US10708068B2 (en) 2019-02-28 2020-07-07 Alibaba Group Holding Limited System and method for implementing blockchain-based digital certificates
CN110914851B (zh) 2019-03-27 2024-02-06 创新先进技术有限公司 提高区块链网络与外部数据源之间的通信的完整性
CN111741035B (zh) 2020-08-28 2020-11-24 支付宝(杭州)信息技术有限公司 电子合同的签署方法、装置及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104392354A (zh) * 2014-11-05 2015-03-04 中国科学院合肥物质科学研究院 一种用于加密数字货币的公钥地址与用户账号的关联和检索方法及其系统
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN106295401A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 一种用于区块链的只读安全文件存储系统及其方法
WO2018032373A1 (zh) * 2016-08-13 2018-02-22 深圳市樊溪电子有限公司 一种用于区块链的安全网络附加装置及方法
WO2018032377A1 (zh) * 2016-08-13 2018-02-22 深圳市樊溪电子有限公司 一种用于区块链的只读安全文件存储系统及其方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BCXP: Blockchain-Centric Network Layer for Efficient Transaction and Block Exchange over Named Data Networking;George Sedky 等;IEEE Xplore;全文 *
张亮 ; 刘百祥 ; 张如意 ; 江斌鑫 ; 刘一江 ; .区块链技术综述.《计算机工程》.2019,(第05期),全文. *
翟社平 ; 杨媛媛 ; 张海燕 ; 赵江明 ; .区块链中的隐私保护技术.《西安邮电大学学报》.2018,(第05期),全文. *

Also Published As

Publication number Publication date
CN111066287B (zh) 2022-11-18
US11080430B2 (en) 2021-08-03
US20200313903A1 (en) 2020-10-01
US20200313867A1 (en) 2020-10-01
EP3673617A2 (en) 2020-07-01
EP3673617A4 (en) 2021-01-13
US20200311312A1 (en) 2020-10-01
TWI737240B (zh) 2021-08-21
EP3685334A4 (en) 2020-10-07
TWI734426B (zh) 2021-07-21
WO2019179541A2 (en) 2019-09-26
EP3673617B1 (en) 2021-11-17
CN110832519A (zh) 2020-02-21
US10824763B2 (en) 2020-11-03
WO2019179543A3 (en) 2020-02-20
WO2019179543A2 (en) 2019-09-26
CN110832519B (zh) 2024-03-19
CN115967534A (zh) 2023-04-14
WO2019179542A3 (en) 2020-02-06
CN110914851A (zh) 2020-03-24
CN111066287A (zh) 2020-04-24
TWI730692B (zh) 2021-06-11
WO2019179542A2 (en) 2019-09-26
EP3685334B1 (en) 2021-11-24
EP3673435A2 (en) 2020-07-01
SG11202001944UA (en) 2020-04-29
WO2019179541A3 (en) 2020-02-06
TW202044087A (zh) 2020-12-01
US11449641B2 (en) 2022-09-20
SG11202002786UA (en) 2020-04-29
SG11202002774WA (en) 2020-04-29
US10803205B1 (en) 2020-10-13
US20210350028A1 (en) 2021-11-11
EP3673435B1 (en) 2022-05-25
TW202038221A (zh) 2020-10-16
EP3685334A2 (en) 2020-07-29
EP3673435A4 (en) 2020-10-07
TW202042171A (zh) 2020-11-16

Similar Documents

Publication Publication Date Title
CN110914851B (zh) 提高区块链网络与外部数据源之间的通信的完整性
US11323271B2 (en) Retrieving public data for blockchain networks using highly available trusted execution environments
US11405372B2 (en) Retrieving access data for blockchain networks using highly available trusted execution environments
AU2019204708A1 (en) Retrieving public data for blockchain networks using highly available trusted execution environments

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
TA01 Transfer of patent application right

Effective date of registration: 20200924

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

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40028139

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant