CN110999255B - 检索区块链网络的访问数据的方法及装置 - Google Patents

检索区块链网络的访问数据的方法及装置 Download PDF

Info

Publication number
CN110999255B
CN110999255B CN201980003257.3A CN201980003257A CN110999255B CN 110999255 B CN110999255 B CN 110999255B CN 201980003257 A CN201980003257 A CN 201980003257A CN 110999255 B CN110999255 B CN 110999255B
Authority
CN
China
Prior art keywords
relay system
node
key
authentication
management node
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
CN201980003257.3A
Other languages
English (en)
Other versions
CN110999255A (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.)
Ant Chain Technology 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 CN110999255A publication Critical patent/CN110999255A/zh
Application granted granted Critical
Publication of CN110999255B publication Critical patent/CN110999255B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Landscapes

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

Abstract

提供了用于从外部数据源检索数据以在区块链(302)网络内进行处理的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。所述方法之一包括:接收对于包括加密数据的数据的请求,该加密数据包括使用密钥管理节点(310)的服务公钥加密的访问数据;从共享密钥管理节点(310)的服务私钥的多个中继系统节点(308)中选择中继系统节点(308);将该请求发送至中继系统节点(308);接收从中继系统节点(308)提供的响应,该响应包括结果数据和数字签名,其中该数字签名是基于结果数据和密钥管理节点(310)的服务私钥生成的;以及将该响应发送至客户端(314)。

Description

检索区块链网络的访问数据的方法及装置
技术领域
本申请涉及从外部数据源向区块链网络提供数据。
背景技术
分布式账本系统(DLS)使参与实体能够安全且永久地存储数据。在不引用任何特定用例的情况下,DLS也可被称为共识网络或者区块链网络。区块链网络的示例可以包括为一组选定实体提供的联盟区块链网络。联盟区块链网络包括访问控制层。
智能合约是在区块链网络上执行的程序。智能合约包含一组预先定义的规则,在所述规则下智能合约的各方同意彼此交互。在一些情形下,在区块链网络上运行的智能合约需要来自区块链网络外部的输入来评估预先定义的规则并执行相应的操作。然而,智能合约本身不能直接访问外部数据源。因此,中继代理可被用来检索外部数据并将数据提交给区块链网络以由智能合约进行处理。但是,此处理可能会导致诸如潜在的攻击向量(例如,分布式拒绝服务(DDoS)攻击)的安全问题。
尽管为了解决与从外部数据源的数据检索相关的安全问题已经提出了多种技术,但解决安全问题的更有效方案将是有利的。
发明内容
本文描述了用于从外部数据源检索数据以在区块链网络内进行处理的技术。这些技术通常涉及通过密钥管理节点向多节点集群中的多个中继系统节点提供共享的服务私钥,使得客户端在通过中继系统节点从数据源请求数据时可以避免执行中继系统节点的重复认证。在一些实施例中,对密钥管理节点执行远程认证,该远程认证生成密钥管理节点的服务密钥对(服务公钥,服务私钥)。服务公钥在远程认证期间由客户端获得和存储。密钥管理节点使用可信执行环境(TEE)操作。密钥管理节点的远程认证可以被公开审核,从而消除了单个客户端重复远程认证的需要。在一些实施例中,密钥分发处理由多节点集群中的多个中继系统节点的密钥管理节点执行,该密钥分发处理使相同的服务私钥分发到每个中继系统节点。每个客户端请求由中继系统智能合约分配给多节点群集中的可用中继系统节点以查询外部数据源。使用服务私钥对包括查询结果的响应进行数字签名。响应可以由客户端使用服务公钥来验证。
本文还提供了耦接到一个或多个处理器并且其上存储有指令的一个或多个非暂态计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,促使所述一个或多个处理器执行根据本文提供的方法的实施例的操作。
本文还提供了用于实施本文提供的所述方法的系统。该系统包括一个或多个处理器以及耦接到所述一个或多个处理器并且其上存储有指令的计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,促使所述一个或多个处理器执行根据本文提供的方法的实施例的操作。
应了解,依据本文的方法可以包括本文描述的方面和特征的任意组合。也就是说,根据本文的方法不限于本文具体描述的方面和特征的组合,还包括所提供的方面和特征的任意组合。
在以下附图和描述中阐述了本文的一个或多个实施例的细节。根据说明书和附图以及权利要求,本文的其他特征和优点将显现。
附图说明
图1是示出可用于执行本文的实施例的环境的示例的图示。
图2是示出根据本文的实施例的结构的示例的图示。
图3是示出根据本文的实施例的系统的示例的图示。
图4是示出根据本文的实施例的系统的示例的图示。
图5描绘了根据本文的实施例的信号流的示例。
图6是示出根据本文的实施例的系统示例的图示。
图7描绘了根据本文的实施例的信号流的示例。
图8是示出根据本文的实施例的系统示例的图示。
图9描绘了根据本文的实施例的信号流的示例。
图10描绘了根据本文的实施例的处理的示例。
图11描绘了根据本文的实施例的设备的模块的示例。
在不同的附图中相同的附图标记和标识表示相同的元件。
具体实施方式
本文描述了用于从外部数据源检索数据以在区块链网络内进行处理的技术。这些技术通常涉及通过密钥管理节点向多节点集群中的多个中继系统节点提供共享的服务私钥,使得客户端在通过中继系统节点从数据源请求数据时,可以避免对中继系统节点执行重复认证。在一些实施例中,对密钥管理节点执行远程认证,该远程认证生成密钥管理节点的服务密钥对(服务公钥、服务私钥)。服务公钥在远程认证期间由客户端获得和存储。密钥管理节点使用可信执行环境(TEE)进行操作。密钥管理节点的远程认证可以被公开审核,从而消除了单个客户端重复远程认证的需要。在一些实施例中,密钥分发处理由密钥管理节点对多节点集群中的多个中继系统节点执行,密钥分发处理使相同的服务私钥被分发到每个中继系统节点。每个客户端请求由中继系统智能合约分配给多节点群集中的可用中继系统节点,以查询外部数据源。使用服务私钥对包括查询结果的响应进行数字签名。该响应可由客户端使用服务公钥进行验证。
如在特定实施例中提供的,本文中所述的主题实现以下技术效果中的一个或多个。在一些实施例中,提供了用于将服务私钥分配给多个中继系统节点的密钥管理节点。如本文所述,可以对密钥管理节点执行远程认证,从而消除了针对每个客户端单独执行中继系统节点的远程认证的需要。这通常缓解了由来自每个客户端的中继系统节点的个人认证引起的网络瓶颈。此外,提供了一种用于从多个中继系统节点中选择可用中继系统节点的中继系统智能合约。如本文所述,当中继系统节点被部署在集群中时,中继系统智能合约可以将客户端请求自动分配给集群中的可用中继系统节点,从而减少由于单个中继系统节点故障而导致的服务不可用性。因此,本文的实施例提高了用于查询互联网数据源的中继系统节点的整体服务可用性。在一些实施例中,中继系统智能合约有助于避免客户端和中继系统节点之间的直接接触,从而避免暴露中继系统节点的位置或接入点。因此,中继系统节点不太可能被网络上的恶意参与者以诸如分布式拒绝服务(DDoS)攻击的多种形式发现和攻击。这提高了中继系统节点的安全性,从而进一步提高了客户端与中继系统节点之间通信的安全性。
为本文的实施例提供进一步的背景,如上所述,分布式账本系统(DLS),也可称为共识网络(例如,由对等节点组成)和区块链网络,使参与实体能够安全且不可篡改地进行交易和存储数据。尽管术语区块链通常与特定网络和/或用例相关联,但是在不参考任何特定用例的情况下,本文中使用的区块链通常是指DLS。
区块链是以交易不可篡改的方式存储交易的数据结构。因此,区块链上记录的交易是可靠且可信的。区块链包括一个或多个区块。链中的每个区块通过包含在链中紧邻其之前的前一区块的加密哈希值(cryptographic hash)链接到该前一区块。每个区块还包括时间戳、自身的加密哈希值以及一个或多个交易。已经被区块链网络中的节点验证的交易经哈希处理并被编入默克尔(Merkle)树中。Merkle树是一种数据结构,在该树的叶节点处的数据是经哈希处理的,并且在该树的每个分支中的所有哈希值在该分支的根处连接。此过程沿着树持续一直到整个树的根,在整个树的根处存储了代表树中所有数据的哈希值。声称是存储在树中的交易的哈希值可以通过确定其是否与树的结构一致而被快速验证。
然而,区块链是用于存储交易的去中心化或至少部分去中心化的数据结构,区块链网络是通过广播、验证和认证交易等管理、更新和维护一个或多个区块链的计算节点网络。如上所述,区块链网络可以被提供为公共区块链网络、私有区块链网络或联盟区块链网络。在本文中,本文的实施例参考联盟区块链网络进一步详细描述。然而,可预期的是,本文的实施例可以在任何适当类型的区块链网络中实现。
一般而言,联盟区块链网络是参与实体之间私有的。在联盟区块链网络中,共识处理由授权的一组节点控制,所述节点可以称为共识节点,一个或多个共识节点由各自的实体(例如,金融机构、保险公司)操作。例如,十(10)个实体(例如,金融机构、保险公司)的联盟可以运行一个联盟区块链网络,每个实体操作联盟区块链网络中的至少一个节点。
在一些示例中,在联盟区块链网络内,全球区块链被提供为跨所有节点复制的区块链。也就是说,所有共识节点关于全球区块链都处于完美的状态共识。为了达成共识(例如,同意向区块链添加区块),联盟区块链网络内实施共识协议。例如,联盟区块链网络可以实施实际拜占庭容错(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表示为节点的对等网络,计算设备106、108分别提供参与联盟区块链网络102中的第一实体和第二实体的节点。
图2是示出根据本文的实施例的结构200的示例的图示。概念结构200包括分别对应于参与者A、参与者B和参与者C的参与者系统202、204、206。每个参与者(例如,用户、企业)参与作为包括多个节点214的对等网络提供的区块链网络212,其中至少一些节点在区块链216中永久记录信息。尽管示意性地描绘了单个区块链216在区块链网络212中,但区块链216的多个副本被提供并在整个区块链网络212中维护,如本文中进一步详细描述的。
在所描述的示例中,每个参与者系统202、204、206分别由参与者A、参与者B和参与者C提供,或代表参与者A、参与者B和参与者C,并作为区块链网络中的各个节点214工作。如本文中所使用的,节点通常指连接到区块链网络212并使各自参与者能够参与到区块链网络中的单个系统(例如,计算机、服务器)。在图2的示例中,参与者对应于每个节点214。然而,可以预期的是,参与者可以在区块链网络212内操作多个节点214,和/或多个参与者可以共享一个节点214。在一些示例中,参与者系统202、204、206使用协议(例如,超文本传输协议安全(HTTPS))和/或使用远程进程调用(RPCs)与区块链网络212通信或通过区块链网络212通信。
节点214在区块链网络212内可以有不同程度的参与。例如,一些节点214可以参与共识处理(例如,作为向区块链216添加区块的矿工节点),而其他节点214不参与共识处理。作为另一示例,一些节点214存储区块链216的完整副本,而其他节点214只存储区块链216的部分副本。例如,数据访问特权可以限制各参与者在其各自系统内存储的区块链数据。在图2的示例中,参与者系统202、204分别存储区块链216的完整副本216'、216”。
区块链(例如,图2的区块链216)由区块的链组成,每个区块存储数据。数据的示例包括代表两个或更多个参与者之间的交易的交易数据。虽然本文中以非限制性示例的方式使用交易,但可以预期的是,任何适当的数据都可以存储在区块链中(例如,文档、图像、视频、音频)。交易的示例可以包括但不限于交换有价值的东西(例如,资产、产品、服务、货币)。交易数据不变地存储在区块链内。也就是说,交易数据不能更改。
在存储到区块中之前,交易数据被哈希处理。哈希处理是将交易数据(作为字符串数据提供的)转换为固定长度哈希值(也作为字符串数据提供的)的过程。无法逆哈希处理哈希值以获得交易数据。哈希处理确保即使交易数据中的微小变化也会导致完全不同的哈希值。此外,如上所述,哈希值具有固定长度。也就是说,不管交易数据的大小,哈希值的长度都是固定的。哈希处理包括通过哈希函数处理交易数据以生成哈希值。哈希函数的示例包括但不限于安全哈希算法(SHA-256),其输出256位哈希值。
多笔交易的交易数据经哈希处理并存储在区块中。例如,两笔交易的哈希值被提供并其本身经哈希处理以提供另一哈希值。此过程重复进行,直到为要存储在区块中的所有交易提供单个哈希值为止。这个哈希值被称为merkle根哈希值并存储在区块头中。任何交易的改变都将导致其哈希值的改变,并最终导致merkle根哈希值的改变。
区块通过共识协议添加到区块链。区块链网络中的多个节点参与到共识协议中并执行工作以将区块添加到区块链。这些节点被称为共识节点。上文介绍的PBFT被用作共识协议的非限制性示例。共识节点执行共识协议以向区块链添加交易并更新区块链网络的整体状态。
更详细地,共识节点生成区块头,哈希处理区块中的所有交易,并成对组合哈希值以生成进一步的哈希值,直到为区块中的所有交易(Merkle根哈希值)提供单个哈希值。此哈希值被添加到区块头。共识节点还确定区块链中最新区块的哈希值(即,添加到区块链的最后区块)。共识节点还向区块头添加随机值(nonce value)和时间戳。
通常,PBFT提供实际拜占庭状态机复制,其容许拜占庭错误(例如,故障节点、恶意节点)。这在PBFT中是通过假设故障会发生来实现的(例如,假设存在独立节点故障,和/或由共识节点发送的操纵消息)。在PBFT中,共识节点按照包括主共识节点和备份共识节点的顺序来提供。主共识节点周期性改变。交易通过区块链内的所有共识节点就区块链网络的世界状态达成一致来添加到区块链。在这个过程中,消息在共识节点之间传输,每个共识节点证明消息是从指定的对等节点接收,并验证消息在传输过程中没有被修改。
在PBFT中,共识协议分多个阶段提供,所有共识节点都从同一状态开始。首先,客户端向主共识节点发送请求以调用服务操作(例如,在区块链网络内执行交易)。为了响应接收请求,主共识节点将请求多播到备份共识节点。备份共识节点执行请求,每个节点都向客户端发送回复。客户端等待,直到接收到阈值数量的回复。在一些示例中,客户端等待接收f+1回复,其中f是区块链网络内可以容许的错误共识节点的最大数量。最终结果是,足够数量的共识节点就要添加到区块链的记录的顺序达成一致,记录或者被接受,或者被拒绝。
在一些区块链网络中,实施加密以维护交易的私密性。例如,如果两个节点想要保持交易私密,使得区块链网络中的其他节点不能识别该交易的细节,则所述节点可以对该交易数据进行加密。密码术的示例包括但不限于对称加密和非对称加密。对称加密是指使用单个密钥进行加密(从明文生成密文)和解密(从密文生成明文)的加密处理。在对称加密中,同一密钥可用于多个节点,因此每个节点都可以加密/解密交易数据。
非对称加密使用密钥对,每个密钥对包括私钥和公钥,私钥仅为各自节点所知,公钥为区块链网络中的任何或所有其他节点所知。一个节点可以使用另一节点的公钥对数据进行加密,而加密的数据可以使用另一节点的私钥进行解密。例如,再次参考图2,参与者A可以使用参与者B的公钥对数据进行加密,并将加密的数据发送给参与者B。参与者B可以使用其私钥对加密的数据(密文)进行解密,并提取原始数据(明文)。使用某一节点的公钥加密的消息只能使用该节点的私钥进行解密。
非对称加密被用于提供数字签名,其使交易中的参与者能够确认交易中的其他参与者以及交易的有效性。例如,某一节点可以对一条消息进行数字签名,另一节点可以基于参与者A的数字签名来确认该消息是由该节点发送。数字签名还可以被用于确保消息在传输中没有被篡改。例如,再次参考图2,参与者A将向参与者B发送消息。参与者A生成该消息的哈希值,然后使用其私钥对该哈希值进行加密以提供作为加密哈希值的数字签名。参与者A将数字签名附加到消息上,并将带有数字签名的消息发送给参与者B。参与者B使用参与者A的公钥对数字签名进行解密,并提取哈希值。参与者B对消息进行哈希处理并比较哈希值。如果哈希值相同,参与者B可以确认消息确实来自参与者A,并且没有被篡改。
在一些实施例中,区块链网络的节点和/或与区块链网络通信的节点可以使用TEE来操作。在高层,TEE是硬件(一个或多个处理器、存储器)中与硬件的操作环境(例如,操作系统(OS)、基本输入/输出系统(BIOS))隔离的可信环境。更详细地,TEE是处理器的独立、安全的区域(其确保代码执行以及主处理器中加载的数据的机密性和完整性)。在处理器中,TEE和OS并行运行。至少部分所谓的可信应用程序(TA)在TEE内执行,并且可以访问处理器和存储器。通过TEE,TA被保护不受主OS中运行的其他应用程序影响。此外,TEE以加密方式将TEE内的TA彼此隔离。
TEE的示例包括由美国加利福尼亚州圣克拉拉的英特尔公司提供的软件保护扩展(SGX)。尽管本文以示例的方式讨论了SGX,但可以预期的是,可以使用任何适合的TEE来实现本文的实施例。
SGX提供基于硬件的TEE。在SGX中,可信硬件是中央处理器(CPU)的死区,物理存储器的一部分被隔离以保护选择的代码和数据。存储器的隔离部分被称为围圈(enclave)。更具体地,在存储器中围圈作为围圈页面缓存(EPC)被提供,并映射到应用程序地址空间。存储器(例如,DRAM)包括用于SGX的保留随机存储器(PRM)。PRM是最低BIOS级别的连续存储器空间并且不能被任何软件访问。每个EPC是由OS分配以在PRM中加载应用程序数据和代码的存储器集(例如,4KB)。EPC元数据(EPCM)是各个EPC的入口地址,并且确保每个EPC只能由一个围圈共享。也就是说,单个围圈可以使用多个EPC,而EPC专用于单个围圈。
在TA的执行期间,处理器在访问围圈中存储的数据时以所谓的围圈模式操作。围圈模式下的操作对每个存储器访问强制执行额外的硬件检查。在SGX中,TA被编译为可信部分和不可信部分。可信部分是通过例如OS、BIOS、特权系统代码、虚拟机管理器(VMM)、系统管理模式(SMM)等等不可访问的。在操作中,TA运行并在存储器的PRM内创建围圈。由围圈内的可信部分执行的可信函数被不可信部分调用,在围圈内执行的代码将数据视为明文数据(未加密),并且拒绝对数据的外部访问。可信部分提供对调用的加密响应,TA继续执行。
认证处理可被执行以验证预期代码(例如,TA的可信部分)在提供SGX的TEE内安全执行。通常,认证处理包括TA接收来自质询者(例如,区块链网络中的另一节点,或区块链网络的密钥管理系统(KMS))的认证请求。作为响应,TA要求其围圈生成远程认证,也称为引用(quote)。生成远程认证包括将本地认证从围圈发送到所谓的引用围圈,其验证本地认证并且通过使用非对称认证密钥对本地认证进行签名而将本地认证转换为远程认证。远程认证(引用)被提供给质询者(例如,区块链网络的KMS)。
质询者使用认证验证服务来验证远程认证。对于SGX,Intel提供Intel认证服务(IAS),其接收来自质询者的远程认证并验证远程认证。更具体地,IAS处理远程认证并提供指示远程认证是否经验证的报告(例如,认证验证报告(AVR))。如果未经验证,则可以指示错误。如果经过验证(预期代码在TEE中安全地执行),则质询者可以启动或继续与TA交互。例如,为了响应验证,KMS(作为质询者)可以向执行TEE的节点(例如,通过密钥交换处理,例如椭圆曲线Diffie-Hellman(ECDH))发布非对称加密密钥(例如,公钥和私钥对),以使节点能够与其他节点和/或客户端安全通信。
在一些区块链网络中,可以执行所谓的智能合约。智能合约可以被描述为具有影响各方的合约条款的现实世界法律合约的数字表示。在示例背景下,智能合约在联盟区块链网络内被实施、存储、更新(根据需要)和执行。与智能合约相关的合约方(例如,买方和卖方)被表示为联盟区块链网络中的节点。在一些示例中,合约方可以包括与智能合约相关(例如,作为智能合约的当事方)的实体(例如,企业)。
更详细地,智能合约作为在区块链上执行的计算机可执行程序(例如,区块链网络内的节点)提供。智能合约包含一组预先定义的规则,在所述规则下智能合约的各方同意彼此交互。如果智能合约的预定义规则被满足,则智能合约中定义的协议被自动执行。智能合约通常是防篡改的,并且促进、验证和执行协议或交易的谈判或履行。
在一些情况下,在区块链网络内执行的智能合约需要来自区块链网络外部的输入来评估预先定义的规则并执行相应的操作。通过非限制性示例的方式,智能合约可能需要股票报价,以便基于来自区块链网络外部数据源的股票报价做出决定。作为另一非限制性示例,智能合约可能需要位于区块链网络外部维护的账号的账号信息以便基于该账号信息做出决定。但是,智能合约本身可能无法直接查询外部数据源。
在一些实施例中,中继代理可以被用来检索外部数据,并将数据提交给区块链以由智能合约进行处理。但是,此处理可能导致诸如安全信息泄漏(例如,访问外部数据源可能需要的凭据)的安全问题。在一些情况下,TEE可以被用来证明中继代理已经诚实地执行了指定的查询请求。然而,由于区块链的开放性,所有查询请求对区块链网络中的所有用户(节点)都是可见的。因此,存在请求字符串可被截取、修改和重放的风险,从而导致信息泄漏和其他安全问题。
在一些情况下,SGX、TA或TA的一部分可用作中继节点在围圈(围圈程序)中执行以访问外部数据源。例如,围圈程序可以向基于互联网的数据源发送查询请求(例如,HTTPS请求),并可以对发起请求的智能合约提供响应。在一些示例中,提供了隐私字段功能,其可用于使用围圈的公钥对敏感信息(例如,访问凭据)进行加密。在一些示例中,中继节点使用围圈的私钥对隐私字段进行解密,调用HTTPS客户端访问基于互联网的目标数据源,接收请求的数据,并使用私钥对返回的数据进行数字签名。在数字签名后,数据返回到启动所述请求的智能合约。
在一些示例中,实施围圈程序的中继系统节点在远程认证处理期间被验证。每个客户端请求都可以由经验证的中继系统节点处理,以从数据源检索数据。
然而,这种方法可能具有缺点。使用特定中继系统节点进行数据检索的示例性缺点是,如果中继系统节点出现故障或无法访问,则客户端请求不能被正确处理,从而导致服务不可用性。
在一些实施例中,外部数据源(例如,基于互联网的数据源)可以由共享服务私钥和TEE的多个中继系统节点中的任一个来查询。因此,每个客户端不必单独地执行中继系统节点的远程认证,从而减轻了由从每个客户端对中继系统节点的个人认证所造成的网络瓶颈,并减少了服务器或计算机用于处理认证的工作量。此外,中继系统节点可以被部署在集群中,每个客户端请求可被自动分配到集群中的可用中继系统节点。通过这种方式,可以提高服务可用性,因为单个中继系统节点故障不会导致服务不可用性。
图3是示出根据本文的实施例的系统300的示例的图示。如所示,系统300包括区块链302、形成多节点集群的多个中继系统节点308、密钥管理节点310、网络312(例如,互联网)和客户端314(例如,客户端计算设备)。在所描述的示例中,区块链302包括客户端智能合约304和中继系统智能合约306。在一些实施例中,中继系统节点308和密钥管理节点310使用TEE技术(例如,Intel SGX)来实现。通常,中继系统智能合约306、中继系统节点308和中继管理节点310提供使区块链302外部的数据能够被从互联网数据源314检索并被用于区块链302内的中继系统。
客户端智能合约304是从网络312上的数据源请求数据或服务的智能合约。中继系统智能合约306是中继系统内充当区块链302的前端的智能合约。中继系统智能合约306实现客户端智能合约304的应用程序接口(API),用于处理数据以及将数据从客户端智能合约304中继到中继系统的其他组件(例如,中继系统节点308),反之亦然。
中继系统节点308可在任何适合的服务器、计算机、模块或计算元件上实现,以响应来自区块链302的数据请求,从网络312中的外部数据源检索数据。例如,中继系统节点308可以接收和处理来自客户端智能合约304的链外数据或服务请求,并查询网络312中的外部数据源,例如,启用HTTPS的互联网服务。
密钥管理节点310可以在任何适合的服务器、计算机、模块或计算元件上实现,以用于管理用于从外部数据源检索数据的加密密钥。如本文所讨论的,加密密钥包括由密钥管理节点310生成的服务公钥和服务私钥,其中服务私钥可用于对请求结果进行签名,服务公钥可用于对请求结果进行认证。
通常,数据检索处理可以包括三个阶段。第一阶段包括远程认证处理,其中客户端314对密钥管理节点310进行认证,并获得密钥管理节点310的认证密钥(例如,服务公钥)。在第二阶段,密钥管理节点310将签名密钥(例如,服务私钥)分配给多节点集群中的每个中继系统节点308,使得所有中继系统节点308共享相同的签名密钥。第三阶段包括数据请求处理,其中客户端314通过中继系统从外部数据源获得授权数据。在第三阶段,数据由中继系统节点308通过中继系统获得,中继系统节点308查询网络312并使用其服务私钥对请求结果进行签名,客户端314可以使用其服务公钥对请求结果进行认证。三个阶段将在下面参考图4-10进一步详细讨论。
图4是示出根据本文的实施例的系统400的示例的图示。如所示,系统400包括开发者402(例如,开发者服务器)、客户端404(例如,客户端计算设备)、密钥管理节点406、认证服务408和网络410(例如,互联网)。客户端404、密钥管理节点406和互联网410可以分别是与如图3中所示的客户端314、密钥管理节点310和网络312相同的组件。客户端404可以质询密钥管理节点406,以获得认证证据420,认证证据420可由认证服务408验证以确定密钥管理节点406的合法性。认证服务408的示例包括上文所述的IAS。
开发者402可以是被编程为执行本文所述的方法的任何适合的服务器、计算机、模块或计算元件。在一些示例中,开发者402可以存储和处理与密钥管理节点406相关的程序和/或数据。例如,开发者402可以存储密钥管理节点406的源代码和测量值(例如,初始状态的摘要)。开发者402可以根据请求将密钥管理节点406的测量值发送给客户端404。
对于指示密钥管理节点406的合法性的认证证据420,客户端404可以向密钥管理节点406发送请求(质询)。在一些示例中,认证证据420被用于确定密钥管理节点406是否是合法的TEE节点。客户端404可以向认证服务408提供认证证据420,并从认证服务408接收认证验证报告(AVR)430。在一些实施例中,客户端404验证AVR 430以确定认证证据420是否有效。在一些示例中,客户端404从密钥管理节点406获得测量值422,并将其与从开发者402获得的另一测量值422进行比较。如果对AVR 430的验证成功并且两个测量值422匹配,客户端404可以确定密钥管理节点406是合法的TEE节点,因此是值得信赖的。
密钥管理节点406可以根据来自客户端404的请求生成认证证据420。在一些实施例中,密钥管理节点406配置有可被客户端404用于未来通信的认证和加密的服务公钥424和服务私钥。在一些实施例中,密钥管理节点406进一步设置有认证私钥,例如增强隐私ID(EPID)私钥,用于对认证证据420进行签名。使用EPID私钥签名的认证证据420可由认证服务408使用EPID公钥进行验证。EPID是由Intel提供的用于可信系统认证同时保护隐私的算法。通常,网络的每个成员(例如,计算机或服务器)都被分配用于对认证证据进行签名的EPID私钥,网络中的认证证据的验证方存储与网络的其他成员的EPID私钥配对的EPID公钥。每个成员都可以使用其自己的EPID私钥生成认证证据的签名,验证方可以使用EPID公钥验证其他成员的签名。因此,EPID密钥可用于证明诸如计算机或服务器的设备是可信赖的设备。
在一些示例中,认证证据420指示密钥管理节点406的合法性(例如,密钥管理节点406是否是值得信赖的实体),并包括测量值422(例如,摘要)、服务公钥424和密钥管理节点406的数字签名426。测量值422可以包括密钥管理节点406的初始状态的摘要(例如,哈希值)。服务公钥424可由密钥管理节点406和服务私钥使用预定的密钥生成算法(例如,Rivest-Shamir-Adleman(RSA))随机生成。签名426是基于测量值422和服务公钥424使用密钥管理节点406的认证私钥(例如,EPID私钥)生成的。
认证服务408可在任何适合的服务器、计算机、模块或计算元件上实施,以验证认证证据420的有效性。如上所述,认证证据420包括测量值422、服务公钥424和密钥管理节点406的签名426。在接收到认证证据420时,认证服务408可以验证签名426并生成AVR 430。
在一些示例中,认证服务408可以使用认证公钥(例如,EPID公钥)验证认证证据420中的签名426。在验证签名426后,认证服务408可以生成包括认证证据420的AVR 430、指示认证证据420中的签名426是否有效的验证结果434和认证服务408的签名436。
在一些实施例中,AVR 430包括将密钥管理节点406的签名426排除在外的认证证据420。例如,AVR 430可以包括密钥管理节点406的测量值422、服务公钥424、验证结果434和签名436。在一些示例中,签名436是使用报告签名密钥(例如,私钥)基于认证证据420和验证结果434生成的。
在操作中,客户端404从开发者402获得密钥管理节点406的测量值422。客户端404查询(质询)密钥管理节点406,接收认证证据420,并将认证证据420发送至认证服务408。认证服务408验证认证证据420并将AVR 430发送至客户端404。客户端404基于AVR 430中的签名436和测量值422验证AVR 430。在成功验证AVR 430时,客户端404确定密钥管理节点406是值得信赖的实体,并登记(例如,存储)密钥管理节点406的服务公钥424。下文将参考图5详细讨论对认证证据420和AVR 430的验证。
图5绘出根据本文的实施例的信号流500的示例。信号流500表示密钥管理节点(例如,密钥管理节点406)的认证验证处理。为方便起见,该处理将被描述为由位于一个或多个位置并根据本文适当编程的一台或多台计算机的系统执行。例如,适当编程的分布式系统(图4中的系统400)可以执行该处理。
在图5的示例中,开发者402根据来自客户端404的请求将密钥管理节点406的测量值422发送(502)至客户端404。例如,客户端404可以将针对密钥管理节点406的测量值422的请求发送至开发者服务器402。在验证客户端404的身份后,开发者服务器402可以将请求的测量值422发送至客户端404。客户端404存储密钥管理节点406的测量值422以供将来使用。
客户端404将认证请求(例如,质询)发送(504)至密钥管理节点406。认证请求被发送到密钥管理节点406,以请求可用于确定密钥管理节点406的合法性的认证证据420。
响应于认证请求,密钥管理节点406生成(506)认证证据420。在一些示例中,认证证据420包括测量值422、服务公钥424和密钥管理节点406的数字签名426。在一些实施例中,测量值422可以包括密钥管理节点406的初始状态的摘要。例如,测量值422可以包括在密钥管理节点406上实现的进程代码的哈希值。服务公钥424可以由密钥管理节点406连同服务私钥一起使用预定的密钥生成算法(例如,RSA)随机生成。签名426可以是使用密钥管理节点406的认证私钥(例如,EPID私钥)基于测量值422和服务公钥424生成的。
密钥管理节点406响应于认证请求将认证证据420发送(508)至客户端404。客户端404将认证证据420转发给认证服务408。在一些实施例中,客户端404将认证验证请求发送至认证服务408。认证验证请求可以包括密钥管理节点406的认证证据420和一些补充信息,例如,指示密钥管理节点406是否使用SGX平台服务的描述符。
认证服务408,响应于从客户端404接收认证证据420,验证(512)认证证据420。如所述,认证证据420包括测量值422、服务公钥424和密钥管理节点406的签名426。如所述,签名426可以是使用密钥管理节点406的认证私钥(例如,EPID私钥)基于测量值422和服务公钥424生成的。在一些示例中,认证服务408被提供有可用于验证认证证据420中的签名426的认证公钥(例如,EPID公钥)。
如果认证服务408确定认证证据420中的签名426有效,认证服务408可以确定密钥管理节点406是可信实体。如果认证服务408确定签名426无效,则认证服务408可以确定密钥管理节点406不是可信实体,并且可以标记错误并拒绝来自密钥管理节点406的任何后续数据和请求。
认证服务408基于认证证据420的验证生成(514)AVR 430。在一些实施例中,AVR430可以包括认证证据420、认证验证结果434和认证服务408的数字签名436。在一些实施例中,AVR 430可以包括将密钥管理节点406的签名426排除在外的认证证据420。例如,AVR430可以包括测量值422、服务公钥424、认证验证结果434和认证服务408的签名436。
AVR 430中的认证验证结果434指示认证证据420中的签名426是否有效。例如,认证验证结果430可包括指示认证证据420中的签名426有效的值“valid”或“OK”,或者表示签名426无效的值“invalid”。
在一些实施例中,AVR 430中的签名436是使用报告签名密钥基于认证证据420和认证验证结果434生成的。报告签名密钥可以是认证服务408用于对AVR 430进行签名的私钥。在一些示例中,报告签名密钥由认证服务408使用预定的密钥生成算法而生成。例如,报告签名密钥可以使用RSA安全哈希算法(SHA)256生成。
认证服务408将AVR 430发送(516)至客户端404。在一些实施例中,客户端404在接收到AVR 430时验证(518)AVR 430。在一些示例中,客户端404可以使用报告签名证书验证AVR 430中的签名436。报告签名证书可以是X.509数字证书。如果客户端404验证AVR 430中的签名436有效,客户端404可以确定AVR 430确实是由认证服务408发送的。如果客户端404确定AVR 430中的签名436无效,则客户端404可以确定AVR 430不是可信的,并且可以拒绝AVR 430。客户端404可以进一步检查AVR 430中的认证验证结果434,以确定认证证据420是否被认证服务408成功验证。
在一些实施例中,客户端404将AVR 430中认证证据420中的测量值422与先前从开发者402获得的测量值422进行比较,以确定认证证据420是否有效。
响应于确定AVR 430是可信的,客户端404将密钥管理节点406注册为可信实体。例如,如果AVR 430中的测量值422与先前从开发者服务器402获得的测量值422匹配,验证结果434表明签名426有效、签名436被验证有效、或者其组合,则客户端404可以认为密钥管理节点406是可信的。客户端404可以进一步存储在AVR 430的认证证据420中包括的服务公钥424。
图6是示出根据本文的实施例的系统600的示例的图示。如所示,系统600包括管理员602(例如,管理计算设备)、密钥管理节点604、多个中继系统节点606、认证服务608和网络610(例如,互联网)。通常,密钥管理节点604针对中继系统节点606的认证证据质询每个中继系统节点606,该认证证据可以由认证服务608就中继系统节点606的合法性进行验证。在成功验证中继系统节点606时,密钥管理节点604可以将签名密钥(例如,服务私钥)发送至每个中继系统节点606,使得所有中继系统节点606共享相同的签名密钥。
管理员602可以在任何适合的服务器、计算机、模块或计算元件上实现,以执行本文讨论的算法。在一些示例中,管理员602查询密钥管理节点604以验证中继系统节点606。在一些示例中,管理员602向密钥管理节点604发送包括要验证的中继系统节点606的网络地址(例如,URL)的请求。
密钥管理节点604可以针对认证证据质询中继系统节点606,并将认证证据发送至认证服务608,以验证认证证据是否有效。在一些示例中,密钥管理节点604接收来自管理员602的请求,其包括要验证的中继系统节点606的URL。密钥管理节点604可以使用中继系统节点606的URL针对认证证据查询中继系统节点604。在一些示例中,密钥管理节点604接收来自中继系统节点606的认证证据,其包括测量值、公钥和中继系统节点606的签名。密钥管理节点604可以将中继系统节点606的认证证据发送至认证服务608,以验证认证证据是否有效。密钥管理节点604可以接收来自认证服务608的AVR,该AVR包括认证证据、认证证据的认证验证结果和认证服务608的签名。密钥管理节点604可以基于认证证据中的测量值、验证结果和认证服务608的签名验证AVR。例如,密钥管理节点604可以将AVR中认证证据中的中继系统节点606的测量值与预存储在密钥管理节点604中的另一测量值进行比较,以查看它们是否匹配。密钥管理值604可以检查认证验证结果,以查看认证证据是否被认证服务608成功验证。密钥管理值604可以验证认证服务608的签名,以确定AVR是否确实由认证服务608发送。在一些示例中,如果密钥管理节点604确定AVR中认证证据中的中继系统节点606的测量值与预存储在密钥管理节点604中的另一测量值相匹配,并且认证验证结果表明认证证据有效、认证服务608的签名有效、或者其组合,则密钥管理节点604可以确定AVR有效。
密钥管理节点604在验证AVR有效后可以获得并存储AVR中的认证证据中包括的中继系统节点606的公钥。密钥管理节点604可以进一步使用中继系统节点606的公钥对其服务私钥进行加密,并将加密的服务私钥发送至中继系统节点606。在密钥管理节点604将其服务私钥分配给多个中继系统节点606的一些示例中,密钥管理节点604可以使用每个中继系统节点的相应公钥对其服务私钥进行加密。
中继系统节点606可以对来自密钥管理节点604的加密的服务私钥进行解密,并获得密钥管理节点604的服务私钥。例如,每个中继系统节点606可以使用其各自的私钥获得使用中继系统节点606的公钥加密的服务私钥。中继系统节点606存储密钥管理节点604的服务私钥以供将来使用。如所述,多个中继系统节点606共享密钥管理节点604的同一服务私钥。
认证服务608可以验证中继系统节点606的认证证据是否有效。如所述,中继系统节点606的认证证据包括测量值、公钥和中继系统节点606的签名。在一些示例中,中继系统节点606的签名使用中继系统节点606的认证私钥(例如,EPID私钥)生成。认证服务608可以使用认证公钥(例如,EPID公钥)验证中继系统节点606的签名,并基于签名的验证确定认证证据是否有效。在验证认证证据时,认证服务608可以将AVR发送至密钥管理节点604。如所述,AVR可以包括认证证据、认证证据的认证验证结果和认证服务608的签名。
在操作中,管理员602将待验证的中继系统节点606的网络地址发送至密钥管理节点604。密钥管理节点604使用该网络地址向中继系统节点606发起远程认证请求。中继系统节点606随机生成包括公钥和私钥的密钥对,并将公钥包括在返回给密钥管理节点604的认证证据中。密钥管理节点604将中继系统节点606的认证证据提交至认证服务608,以验证认证证据的有效性。认证服务608验证来自密钥管理节点604的认证证据,并返回AVR。密钥管理节点604验证AVR以确定中继系统节点606是否为合法的TEE节点。在一些示例中,密钥管理节点604确定AVR中认证证据中包括的测量值是否与预期的测量值一致。在成功验证AVR时,密钥管理节点604使用认证证据中包括的中继系统节点606的公钥对其服务私钥进行加密。密钥管理节点604将加密的服务私钥发送到中继系统节点606。在从密钥管理节点接收到加密的服务私钥时,中继系统节点606使用其私钥获得服务私钥。因此,密钥管理节点604可以将其服务私钥分发给经验证合法的中继系统节点606。下面将参考图7更详细地讨论服务私钥的分发。
图7描绘了根据本文的实施例的信号流700的示例。信号流700表示签名密钥(例如,服务私钥)分发处理。为方便起见,该处理将被描述为由位于一个或多个位置并根据本文适当编程的一台或多台计算机的系统执行。例如,适当编程的分发系统(图6中的系统600)可以执行该处理。
在图7的示例中,管理员602向密钥管理节点604发送(702)请求,以确定中继系统节点606是否为合法的TEE节点。在一些示例中,该请求包括待验证的中继系统节点606的网络地址(例如,URL)。
密钥管理节点604使用该网络地址向中继系统节点606发送(704)远程认证请求。在一些示例中,针对指示中继系统节点606的合法性的认证证据的远程认证请求被发送到中继系统节点606。认证证据可以包括测量值(例如,初始状态的哈希值)、公钥和待验证的中继系统节点606的签名。
响应于认证请求,中继系统节点606生成(706)认证证据。如所述,认证证据包括测量值、公钥和中继系统节点606的数字签名。在一些实施例中,测量值可以包括中继系统节点606的初始状态的摘要。例如,测量值可以包括在中继系统节点606上实现的处理代码的哈希值。公钥可以使用预定的密钥生成算法(例如,RSA)由中继系统节点606连同私钥一起随机被生成。签名可以使用中继系统节点606的认证私钥(例如,EPID私钥)基于测量值和公钥被生成。
响应于认证请求,中继系统节点606将认证证据发送(708)至密钥管理节点604。密钥管理节点604将认证证据转发(710)至认证服务608。在一些实施例中,密钥管理节点604向认证服务608发送认证验证请求。认证验证请求可以包括中继系统节点606的认证证据和一些补充信息,例如,指示中继系统节点606是否使用SGX平台服务的描述符。
认证服务608验证(712)认证证据。如所述,认证证据包括测量值、公钥和中继系统节点606的签名。签名是使用中继系统节点606的认证私钥(EPID私钥)基于测量值和公钥生成的。在一些示例中,认证服务608被提供有可用于验证认证证据中的签名的认证公钥(EPID公钥)。
如果认证服务608确定认证证据中的签名有效,认证服务608可以确定中继系统节点606是可信实体。如果认证服务608确定签名无效,认证服务608可以确定中继系统节点606不是可信实体,并且可以标记错误并拒绝来自中继系统节点606的任何后续数据和请求。
认证服务608基于认证证据的验证而生成(714)AVR。在一些实施例中,AVR可以包括认证证据、认证验证结果和认证服务608的数字签名。在一些实施例中,AVR可以包括将中继系统节点606的签名排除在外的认证证据。在一些示例中,AVR的签名是使用报告签名密钥(私钥)基于证明证据和认证验证结果生成的。
认证服务608向密钥管理节点604发送(716)AVR。在一些实施例中,密钥管理节点604验证(718)来自认证服务608的AVR。在一些示例中,密钥管理节点604使用报告签名证书(公钥)验证AVR的签名。在一些实施例中,密钥管理节点604将认证证据中的测量值与预存储在密钥管理节点604中的另一测量值进行比较,以确定认证证据是否有效。在成功验证AVR和测量值时,密钥管理节点604存储中继系统节点606的公钥。
密钥管理节点604使用中继系统节点606的公钥对其服务私钥进行加密(720),并将加密的服务私钥发送(722)至中继系统节点606。
在从密钥管理节点604接收到加密的服务私钥时,中继系统节点606使用其私钥获得密钥管理节点的服务私钥(724)。中继系统节点606可以存储服务私钥以供将来使用。
图8是示出根据本文的实施例的系统800的示例的图示。如所示,系统800包括客户端802(例如,客户端计算设备)、区块链804、形成多节点集群的多个中继系统节点810和网络812(例如,互联网)。在所描述的示例中,区块链804包括客户端智能合约806和中继系统智能合约808。在一些实施例中,中继系统节点810使用TEE技术(例如,Intel SGX)实现。
通常,客户端802请求来自网络812中的数据源的数据,并通过区块链804和中继系统节点810接收从数据源检索到的数据,使得请求和检索到的数据的完整性可以被验证。
在操作中,客户端802构建包括明文部分和机密数据部分的请求,其中机密数据部分由客户端802使用先前从密钥管理节点(例如,密钥管理节点406和604)获得的服务公钥加密。客户端802将请求提交至区块链804内的客户端智能合约806。客户端智能合约806将请求转发至中继系统智能合约808。中继系统智能合约806将请求转发至多节点集群中的中继系统节点810。在一些示例中,中继系统智能合约808随机选择可用的中继系统节点810。在一些示例中,中继系统智能合约808通过日志消息发送请求。中继系统节点810接收请求,并使用先前从密钥管理节点获得的服务私钥获得机密数据部分。中继系统节点810将明文部分和机密数据部分组合成数据请求。中继系统节点810随后将数据请求提交给互联网数据源812。中继系统节点810接收来自互联网数据源812的请求结果,并使用服务私钥对请求结果进行签名。中继系统节点810将签名的请求结果提交至中继系统智能合约808,签名的请求结果通过客户端智能合约806进一步转发至客户端802。客户端802接收签名的请求结果,并使用服务公钥验证签名的请求结果。在成功验证签名的请求结果时,客户端802可以使用该结果。
图9描绘了根据本文的实施例的信号流900的示例。为方便起见,处理900将被描述为由位于一个或多个位置并根据本文适当编程的一台或多台计算机的系统执行。例如,适当编程的分布式系统(例如图1的区块链系统100和图8的系统800)可以执行处理900。
对于来自基于互联网的数据源812的数据或服务,客户端802生成(902)请求。在一些示例中,请求可以是对于客户端802的账号的访问请求。访问请求可以包括明文部分(例如,网址)和机密数据部分(例如,客户端账号的凭据(例如,用户名、密码))。在一些示例中,访问请求中的机密数据部分可以被加密,使得网络上的恶意参与者不能获得用户账号的个人信息来潜入用户账号。在一些示例中,机密数据部分由客户端802使用在先前的认证处理中从密钥管理节点获得的服务公钥进行加密。
客户端802向客户端智能合约806发送(904)请求。客户端智能合约806将请求转发(906)到中继系统智能合约808。
中继系统智能合约808将请求转发(908)到中继系统节点810。在一些实施例中,中继系统智能合约808从密钥管理节点周期性地接收多节点集群中在先前的密钥分发处理中被验证为合法的中继系统节点810的列表。中继系统智能合约808可以随机选择经验证的中继系统节点810,或者可以从列表中选择具有最少工作负荷的经验证的中继系统节点810。在一些示例中,中继系统智能合约808通过日志消息向所选的中继系统节点810发送请求。
在一些实施例中,中继系统节点810使用在先前的密钥分发处理中获得的服务私钥从请求获得(910)机密数据部分。例如,中继系统节点810可以使用服务私钥对加密的机密数据部分进行解密。如所述,多节点集群中的中继系统节点810获得并共享相同的服务私钥。每个经验证的中继系统节点810都可以使用相同的服务私钥处理加密的机密数据部分。
中继系统节点810将明文部分和机密数据部分组合(912)成数据请求。新数据请求可被中继系统节点810用来查询互联网数据源812。例如,新数据请求可以包括明文部分和机密数据部分,明文部分包括客户端802想要访问账号的网址,机密数据部分包括用于登录账号的凭据(例如,用户名和密码)。
中继系统节点810向互联网数据源812提交(914)数据请求。互联网数据源812处理(916)数据请求并向中继系统节点810返回(918)请求结果。
中继系统节点810处理(920)请求结果以提供响应。根据本文的实施例,中继系统节点810使用其服务私钥对结果进行签名以提供响应。更详细地,结果或结果的至少一部分(例如,数据)由中继系统节点810通过哈希函数进行处理,以提供哈希值。哈希函数的示例包括但不限于SHA-256。中继系统节点810基于哈希值和服务私钥生成数字签名。例如,哈希值和服务私钥通过提供数字签名的签名算法进行处理。中继系统节点810提供包括结果(例如,数据)和数字签名的响应。中继系统节点810向中继系统智能合约808发送(922)所述响应。
中继系统智能合约808将所述响应转发(924)至客户端智能合约806。客户端智能合约806将所述响应提供(926)给客户端802。
在一些实施例中,客户端802验证(928)所述响应中的签名请求结果。在一些示例中,客户端802使用其服务公钥验证签名的请求结果中的签名。客户端802使用哈希函数处理所述响应中的请求结果以计算第一哈希值。然后,客户端802使用服务公钥处理请求结果的签名以获得签名中包括的第二哈希值。然后,客户端802将第一哈希值与第二哈希值进行比较。如果两个哈希值匹配,客户端802可以确定请求结果并使用该请求结果。如果两个哈希值不匹配,客户端802可以确定请求结果无效并标记错误。
图10是用于从位于区块链网络外部的外部数据源检索数据的处理1000的示例的流程图。为方便起见,处理1000将被描述为由位于一个或多个位置并根据本文适当编程的一台或多台计算机的系统执行。例如,适当编程的分布式系统,例如,图3的分布式系统300,可以执行处理1000。
在1002,在区块链网络内执行的中继系统智能合约从客户端智能合约接收用于从外部数据源检索数据的请求。在一些实施例中,该请求包括加密数据。加密数据包括使用密钥管理节点的服务公钥加密的用于访问外部数据源的访问数据。在一些实施例中,密钥管理节点位于区块链网络外部。
在1004,中继系统智能合约从位于区块链网络外部的多个中继系统节点选择中继系统节点。在一些实施例中,多个中继系统节点与密钥管理节点的服务私钥一起被分发。
在1006,中继系统智能合约将所述请求发送至选择的中继系统节点。
在1008,中继系统智能合约接收所选择的中继系统节点响应于所述请求返回的结果。在一些实施例中,返回结果包括从外部数据源检索并由中继系统节点获得的数据和数字签名。在一些实施例中,数字签名是基于从外部数据源检索到的数据和密钥管理节点的服务私钥生成的。
在1010,中继系统智能合约将返回结果发送至客户端智能合约。
图11是根据本文的实施例的设备1100的模块示例的图示。设备1100可以是配置为从外部数据源检索数据的区块链网络节点的实施例的示例,其中智能合约在区块链网络节点内执行。设备1100可以对应于上述实施例,设备1100包括以下:接收模块1102,其从客户端智能合约接收用于从外部数据源检索数据的请求,该请求包括加密数据,该加密数据包括用于访问外部数据源的访问数据,该访问数据被使用位于区块链网络外部的密钥管理节点的服务公钥加密;选择模块1104,其从位于区块链网络外部的多个中继系统节点选择中继系统节点,其中多个中继系统节点与密钥管理节点的服务私钥一起分布;发送模块1106,其将所述请求发送到中继系统节点;接收模块1108,其接收中继系统节点响应于所述请求而返回的结果,该返回结果包括由中继系统节点从外部数据源获得的数据和数字签名,其中数字签名是基于从外部数据源检索到的数据和密钥管理节点的服务私钥生成的;发送模块1110,其将返回结果发送给客户端智能合约。
在可选实施例中,密钥管理节点的服务私钥和服务公钥通过密钥管理节点的认证处理提供。
在可选实施例中,客户端设备与密钥管理节点和认证服务执行认证处理;在认证处理中,密钥管理节点的服务公钥由客户端设备获得。
在可选实施例中,返回结果被客户端设备使用密钥管理节点的服务公钥验证有效。
在可选实施例中,多个中继系统节点各自执行可信执行环境(TEE)。
在可选实施例中,所述请求被第一中继系统节点使用密钥管理节点的服务私钥进行解密以获得访问数据。
在可选实施例中,密钥管理节点与多个中继系统节点中的每个中继系统节点和认证服务执行认证处理。
在可选实施例中,密钥管理节点与多个中继系统节点执行密钥分发处理,该密钥分发处理导致密钥管理节点的服务私钥被分发到多个中继系统节点。
在先前实施例中示出的系统、装置、模块或单元可以通过使用计算机芯片或实体来实现,或者可以通过使用具有特定功能的产品来实现。典型的实施设备是计算机,计算机可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或这些设备的任意组合。
对于装置中每个模块的功能和角色的实施过程,可以参考前一方法中相应步骤的实施过程。为简单起见,这里省略了细节。
由于装置实施基本上对应于方法实施,对于相关部分,可以参考方法实施中的相关描述。先前描述的装置实施仅是示例。被描述为单独部分的模块可以是或不是物理上分离的,并且显示为模块的部分可以是或不是物理模块,可以位于一个位置,或者可以分布在多个网络模块上。可以基于实际需求来选择一些或所有模块,以实现本文的方案的目标。本领域普通技术人员无需付出创造性劳动就能理解和实现本申请的实施例。
再次参考图11,其可以视为示出区块链数据检索装置的内部功能模块和结构。区块链数据检索装置可以是执行智能合约的区块链节点的示例,该智能合约配置为从外部数据源检索数据。执行体本质上可以是电子设备,电子设备包括以下:一个或多个处理器;以及存储器,配置为存储一个或多个处理器的可执行指令。
本文的实施例实现超过传统系统的一种或多种技术效果。在一些实施例中,提供了用于将服务私钥分配给多个中继系统节点的密钥管理节点。如本文所述,对于密钥管理节点可以执行远程认证,这消除了每个客户端独立执行中继系统节点的远程认证的需要。这通常减轻了由从每个客户端的中继系统节点的单独认证引起的网络瓶颈。此外,提供了用于从多个中继系统节点选择可用中继系统节点的中继系统智能合约。如本文所述,通过将中继系统节点部署在集群中,中继系统智能合约可以将客户端请求自动分配至集群中的可用中继系统节点,从而避免由于单个中继系统节点故障而导致服务不可用性。因此,本文的实施例提高了用于查询网络数据源的中继系统节点的整体服务可用性。在一些实施例中,中继系统智能合约避免客户端与中继系统节点之间的直接接触,从而避免暴露中继系统节点的位置或接入点。因此,中继系统节点不太可能被网络上的恶意参与者以多种形式发现和攻击,例如,DDoS攻击。这提高了中继系统节点的安全性,从而进一步提高客户端与中继系统节点之间通信的安全性。
主题的所述实施例可以单独地或以组合的形式包括一个或多个特征。例如,在第一实施例中,用于从外部数据源检索数据的方法包括中继系统智能合约从区块链网络内执行的客户端智能合约接收从外部数据源检索数据的请求,该请求包括加密数据,该加密数据包括用于访问外部数据源的访问数据,该访问数据被使用区块链网络外部的密钥管理节点的服务公钥加密;中继系统智能合约从位于区块链网络外部的多个中继系统节点选择中继系统节点,其中多个中继系统节点被分发有密钥管理节点的服务私钥;中继系统智能合约将请求发送到中继系统节点;中继系统智能合约从中继系统节点接收响应于该请求的返回结果,该返回结果包括通过中继系统节点从外部数据源获得的数据和数字签名,其中数字签名是基于从外部数据源检索的数据和密钥管理节点的服务私钥生成的;以及中继系统智能合约将返回结果发送给客户端智能合约。
以上和其他所述实施例可各自可选地包括一个或多个以下特征:
第一特征,可与以下特征中的任一项结合,指定密钥管理节点的服务公钥和服务私钥通过密钥管理节点的认证处理被提供。
第二特征,可与以下特征中的任一项结合,指定客户端设备与密钥管理节点和认证服务执行认证处理;以及密钥管理节点的服务公钥由客户端设备在认证处理期间获得。
第三特征,可与以上或以下特征中的任一项结合的,指定返回结果被客户端设备使用密钥管理节点的服务公钥验证有效。
第四特征,可与以上或以下特征中的任一项结合的,指定多个中继系统节点各自执行可信执行环境(TEE)。
第五特征,可与以上或以下特征中的任一项结合的,指定所述请求被第一中继系统节点使用密钥管理节点的服务私钥进行解密以获得访问数据。
第六特征,可与以上或以下特征中的任一项结合的,指定密钥管理节点与多个中继系统节点中的每个中继系统节点和认证服务执行认证处理。
第七特征,可与以上或以下特征中的任一项结合的,指定密钥管理节点与多个中继系统节点执行密钥分发处理,该密钥分发处理使得密钥管理节点的服务私钥被分发至多个中继系统节点。
本文中描述的主题的实施例以及动作和操作可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件中实现,包括本文中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本文中描述的主题的实施可以实现为一个或多个计算机程序,例如,在计算机程序载体上编码的、用于由数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。例如,计算机程序载体可以包括具有编码在其上或者存储在其上的指令的一个或多个计算机可读存储介质。载体可以是有形的非暂态计算机存储介质,诸如磁盘、磁光盘或光盘、固态驱动器、随机存取存储器(RAM)、只读存储器(ROM)或其他类型的介质。可选地或附加地,载体可以是人工生成的传播信号,例如,机器生成的电信号、光信号或电磁信号,该信号被生成以编码信息,用于传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是或部分是机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备或它们中的一个或多个的组合。计算机存储介质不是传播信号。
计算机程序也可以被称为或描述为程序、软件、软件应用程序、app、模块、软件模块、引擎、脚本或代码,可以以任何形式的编程语言编写,包括编译或演绎性语言、说明或程序性语言;它可以配置为任何形式,包括作为独立程序,或者作为模块、组件、引擎、子程序或适合在计算环境中执行的其他单元,该环境可包括在一个或多个位置上由通信数据网络互联的一台或多台计算机。
计算机程序可以但非必须对应于文件系统中的文件。计算机程序可以存储在:保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本;专用于所讨论的程序的单个文件;或者多个协调文件,例如,存储一个或多个模块、子程序或代码部分的多个文件。
例如,用于执行计算机程序的处理器包括通用微处理器和专用微处理器二者以及任何种类的数字计算机的任何一种或多种处理器。通常,处理器将接收用于执行的计算机程序的指令以及来自耦接至处理器的非暂态计算机可读介质的数据。
术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或者多处理器或计算机。数据处理装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)或GPU(图形处理单元)。除了硬件,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。
本文中描述的处理和逻辑流程可由一台或多台计算机或执行一个或多个计算机程序以执行通过对输入数据进行运算并生成输出的操作的处理器执行。处理和逻辑流程也可以由例如FPGA、ASIC、GPU等的专用逻辑电路或专用逻辑电路与一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或二者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器接收指令和数据。计算机的元件可包括用于执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以补充有专用逻辑电路或集成在专用逻辑电路中。
通常,计算机还将包括或可操作地耦接至一个或多个存储设备,以从一个或多个存储设备接收数据或将数据传输到一个或多个存储设备。存储设备可以是例如,磁盘、磁光盘或光盘或固态驱动器、或任何其他类型的非暂态计算机可读介质。但是,计算机不需要具有这样的设备。因此,计算机可以耦接至本地和/或远程的一个或多个存储设备,诸如一个或多个存储器。例如,计算机可以包括作为计算机的组成部分的一个或多个本地存储器,或者计算机可以耦接至云网络中的一个或多个远程存储器。此外,计算机可以嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
部件可以通过可交换地诸如彼此电连接或者光连接,直接地或者经由一个或多个中间部件而彼此“耦接”。如果部件中的一个集成到另一个之中,部件也可以彼此“耦接”。例如,集成到处理器(例如,L2缓存部件)中的存储部件“耦接至”处理器。
为了提供与用户的交互,本文中描述的主题的实施例可以在计算机上实现或配置为与计算机通信,该计算机具有:显示设备,例如,LCD(液晶显示器)监视器,用于向用户显示信息;以及输入设备,用户可以通过该输入设备向该计算机提供输入,例如键盘和例如鼠标、轨迹球或触摸板等的指针设备。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以接收来自用户的任何形式的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过向用户设备上的web浏览器发送web页面以响应从web浏览器收到的请求,或者通过与例如智能电话或电子平板电脑等的用户设备上运行的应用程序(app)进行交互。此外,计算机可以通过向个人设备(例如,运行消息应用的智能手机)轮流发送文本消息或其他形式的消息并接收来自用户的响应消息来与用户交互。
本文使用与系统、装置和计算机程序组件有关的术语“配置为”。对于被配置为执行特定操作或动作的一台或多台计算机的系统,意味着系统已经在其上安装了在运行中促使该系统执行所述操作或动作的软件、固件、硬件或它们的组合。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当被数据处理装置执行时促使该装置执行所述操作或动作的指令。对于被配置为执行特定操作或动作的专用逻辑电路,意味着该电路具有执行所述操作或动作的电子逻辑。
虽然本文包含许多具体实施细节,但是这些不应被解释为由权利要求本身限定的对要求保护的范围的限制,而是作为对特定实施例的具体特征的描述。在本文中多个单独实施例的上下文中描述的多个特定特征也可以在单个实施例中的组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从要求保护的组合中删除来自该组合的一个或多个特征,并且可以要求保护指向子组合或子组合的变体。
类似地,虽然以特定顺序在附图中描绘了操作并且在权利要求中叙述了操作,但是这不应该被理解为:为了达到期望的结果,要求以所示的特定顺序或依次执行这些操作,或者要求执行所有示出的操作。在一些特定情况下,多任务并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的划分不应被理解为所有实施例中都要求如此划分,而应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品或者打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程无需要求所示的特定顺序或次序来实现期望的结果。在一些情况下,多任务并行处理可能是有利的。

Claims (10)

1.一种计算机实现的用于从位于区块链网络外部的外部数据源检索数据的方法,所述方法包括:
在所述区块链网络内执行的中继系统智能合约从客户端智能合约接收用于从所述外部数据源检索数据的请求,所述请求包括加密数据,所述加密数据包括用于访问所述外部数据源的访问数据,所述访问数据被使用位于所述区块链网络外部的密钥管理节点的服务公钥加密;
所述中继系统智能合约从位于所述区块链网络外部的多个中继系统节点选择中继系统节点,其中,所述多个中继系统节点被分发有所述密钥管理节点的服务私钥,由所述密钥管理节点向所述多个中继系统节点提供共享的服务私钥;
所述中继系统智能合约将所述请求发送至所述中继系统节点;
所述中继系统智能合约从所述中继系统节点接收响应于所述请求的返回结果,所述返回结果包括由所述中继系统节点获得的从所述外部数据源检索的所述数据和数字签名,其中,所述数字签名是基于从所述外部数据源检索到的所述数据和所述密钥管理节点的所述服务私钥生成的;以及
所述中继系统智能合约将所述返回结果发送至所述客户端智能合约。
2.根据权利要求1所述的计算机实现方法,还包括:
所述密钥管理节点的认证处理提供所述密钥管理节点的所述服务私钥和所述服务公钥。
3.根据权利要求2所述的计算机实现方法,还包括:
客户端设备与所述密钥管理节点和认证服务执行所述认证处理;以及
在所述认证处理期间,所述客户端设备获得所述密钥管理节点的所述服务公钥。
4.根据权利要求3所述的计算机实现方法,其中,所述返回结果被所述客户端设备使用所述密钥管理节点的所述服务公钥验证有效。
5.根据前述任一权利要求所述的计算机实现方法,其中,所述多个中继系统节点各自执行可信执行环境TEE。
6.根据权利要求1所述的计算机实现方法,其中,所述请求被所述中继系统节点使用所述密钥管理节点的所述服务私钥进行解密以获得所述访问数据。
7.根据权利要求1所述的计算机实现方法,还包括:
所述密钥管理节点与所述多个中继系统节点中的每个中继系统节点和认证服务执行认证处理。
8.根据权利要求7所述的计算机实现方法,其中,所述密钥管理节点与所述多个中继系统节点执行密钥分发处理,所述密钥分发处理使得所述密钥管理节点的所述服务私钥被分发至所述多个中继系统节点。
9.一种区块链中继系统,包括:
一个或多个处理器;以及
耦接至所述一个或多个处理器并且其上存储有指令的一个或多个计算机可读存储器,所述指令能够由所述一个或多个处理器执行以执行根据权利要求1-8中的任一项所述的方法。
10.一种用于从位于区块链网络外部的外部数据源检索数据的装置,所述装置包括用于执行根据权利要求1-8中的任一项所述的方法的多个模块。
CN201980003257.3A 2019-03-29 2019-03-29 检索区块链网络的访问数据的方法及装置 Active CN110999255B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/080478 WO2019120325A2 (en) 2019-03-29 2019-03-29 Retrieving access data for blockchain networks using highly available trusted execution environments

Publications (2)

Publication Number Publication Date
CN110999255A CN110999255A (zh) 2020-04-10
CN110999255B true CN110999255B (zh) 2021-12-21

Family

ID=66994283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980003257.3A Active CN110999255B (zh) 2019-03-29 2019-03-29 检索区块链网络的访问数据的方法及装置

Country Status (10)

Country Link
US (3) US10757084B1 (zh)
EP (2) EP3610624B1 (zh)
JP (1) JP6865850B2 (zh)
KR (1) KR102274294B1 (zh)
CN (1) CN110999255B (zh)
AU (1) AU2019204725B2 (zh)
CA (1) CA3058244C (zh)
SG (1) SG11201908983WA (zh)
TW (1) TWI707245B (zh)
WO (1) WO2019120325A2 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535833B (zh) * 2019-08-07 2020-06-09 中国石油大学(北京) 一种基于区块链的数据共享控制方法
KR102124942B1 (ko) * 2019-10-07 2020-06-19 신호열 블록체인 데이터 검색 방법
EP4055774A1 (en) * 2019-12-05 2022-09-14 Huawei Technologies Co., Ltd. System and method of establishing a trusted relationship in a distributed system
JP7162634B2 (ja) 2019-12-12 2022-10-28 株式会社bitFlyer Blockchain 証明書データをデジタルに利用可能にするための装置、方法及びそのためのプログラム
US11121864B1 (en) 2020-03-13 2021-09-14 International Business Machines Corporation Secure private key distribution between endpoint instances
CN111507719B (zh) * 2020-04-22 2023-04-28 北京众享比特科技有限公司 一种中心化方式动态更新联盟链验证节点的方法和系统
CN111555870B (zh) * 2020-04-29 2023-01-17 支付宝实验室(新加坡)有限公司 一种密钥运算方法及装置
DE102020205993B3 (de) * 2020-05-13 2021-09-16 Volkswagen Aktiengesellschaft Konzept zum Austausch von kryptographischen Schlüsselinformationen
CN113691570A (zh) * 2020-05-18 2021-11-23 山东浪潮质量链科技有限公司 一种基于多层级区块链的跨组织交流方法、设备及介质
KR20210142983A (ko) * 2020-05-19 2021-11-26 삼성에스디에스 주식회사 오프-체인 데이터 공유 시스템 및 그 방법
CN113742766A (zh) * 2020-05-27 2021-12-03 北京北信源软件股份有限公司 一种基于可信硬件的区块链系统和数据存储方法
CN111401903B (zh) * 2020-06-03 2020-09-11 腾讯科技(深圳)有限公司 区块链消息处理方法、装置、计算机以及可读存储介质
CN111914230B (zh) * 2020-07-17 2023-06-23 中国联合网络通信集团有限公司 基于区块链的身份验证方法、系统、终端设备及存储介质
CN112000632B (zh) * 2020-07-31 2024-05-14 天翼电子商务有限公司 密文的分享方法、介质、分享客户端及系统
JP6935662B1 (ja) * 2020-08-19 2021-09-15 株式会社chaintope 記録が変更されていないことを証明するシステム
CN112153040B (zh) * 2020-09-21 2021-12-21 中国电子科技网络信息安全有限公司 一种区块链系统应用智能合约安装部署管理方法
CN111934990B (zh) 2020-09-25 2021-02-09 支付宝(杭州)信息技术有限公司 消息传输方法及装置
CN113079082B (zh) 2020-09-25 2022-02-18 支付宝(杭州)信息技术有限公司 消息传输方法及装置
CN111934999B (zh) 2020-09-25 2021-01-22 支付宝(杭州)信息技术有限公司 消息传输方法及装置
CN111935000B (zh) 2020-09-25 2021-01-08 支付宝(杭州)信息技术有限公司 消息传输方法及装置
CN111935314B (zh) * 2020-09-25 2021-01-12 支付宝(杭州)信息技术有限公司 区块链系统、消息传输方法及装置
CN111934997B (zh) 2020-09-25 2021-01-12 支付宝(杭州)信息技术有限公司 消息传输方法及装置
CN111934996B (zh) 2020-09-25 2021-01-12 支付宝(杭州)信息技术有限公司 消息传输方法及装置
CN112968967B (zh) 2020-09-25 2023-05-19 支付宝(杭州)信息技术有限公司 区块同步方法及装置
US11615074B2 (en) 2020-10-01 2023-03-28 Bank Of America Corporation System and methods for intelligent path selection of enhanced distributed processors
CN114422159B (zh) * 2020-10-13 2024-08-20 北京金山云网络技术有限公司 一种基于区块链的数据处理方法及装置
CN112380549A (zh) * 2020-11-13 2021-02-19 国网福建省电力有限公司经济技术研究院 一种基于区块链的电网工程项目投资统计数据管理方法
CN112532733B (zh) * 2020-12-02 2024-02-02 东软集团股份有限公司 智能合约调用外部数据的方法、装置、存储介质及电子设备
CN112835974B (zh) * 2021-01-07 2022-06-17 杭州链城数字科技有限公司 一种链外数据可信获取与存证方法及装置
CN113079014A (zh) * 2021-03-08 2021-07-06 朔州市驭通智能家居科技有限公司 一种基于区块链技术的智能家居平台
JP7478440B2 (ja) 2021-03-25 2024-05-07 国立研究開発法人産業技術総合研究所 情報処理方法及び情報処理システム
US11811865B2 (en) 2021-04-08 2023-11-07 International Business Machines Corporation Blockchain declarative descriptor for cross-network communication
CN113591098B (zh) * 2021-06-11 2024-03-26 浙江大学 一种基于sgx的远程安全异构计算方法和系统
CN113393225B (zh) * 2021-06-30 2022-10-28 杭州链网科技有限公司 数字货币加密支付方法及系统
CN113726733B (zh) * 2021-07-19 2022-07-22 东南大学 一种基于可信执行环境的加密智能合约隐私保护方法
TWI788989B (zh) * 2021-09-01 2023-01-01 中華電信股份有限公司 一種基於區塊鏈的行動支付整合系統、方法及其電腦可讀媒介
WO2023049080A1 (en) * 2021-09-24 2023-03-30 The Ethical Identity Company System and method for operating a secure database
CN113852469B (zh) * 2021-09-24 2024-03-22 成都质数斯达克科技有限公司 区块链节点间数据传输方法、装置、设备及可读存储介质
CN113923044B (zh) * 2021-10-29 2023-10-03 博雅正链(北京)科技有限公司 一种基于可信执行环境的跨链系统及方法
CN114142995B (zh) * 2021-11-05 2023-08-22 支付宝(杭州)信息技术有限公司 面向区块链中继通信网络的密钥安全分发方法及装置
CN114143038A (zh) * 2021-11-05 2022-03-04 支付宝(杭州)信息技术有限公司 面向区块链中继通信网络的密钥安全分发方法及装置
CN114358764A (zh) * 2021-11-15 2022-04-15 深圳众联数字科技有限公司 基于区块链中智能合约的隐私计算方法及相关设备
CN115174126B (zh) * 2022-09-08 2022-12-09 山东省计算中心(国家超级计算济南中心) 基于区块链和sgx的外包数据密文搜索方法及系统
CN115913581B (zh) * 2023-02-27 2023-05-16 湖南半岛医疗科技有限公司 一种医疗数据管理方法及系统
CN116405327B (zh) * 2023-06-08 2023-08-22 天津市津能工程管理有限公司 一种数据处理方法、装置、电子设备和存储介质
CN116886444B (zh) * 2023-09-05 2023-12-05 腾讯科技(深圳)有限公司 跨链数据处理方法、装置、计算机、存储介质及程序产品

Family Cites Families (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8069435B1 (en) 2003-08-18 2011-11-29 Oracle America, Inc. System and method for integration of web services
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
CN102982257B (zh) 2006-05-05 2016-06-22 交互数字技术公司 在re和te间执行平台完整性和drm软件完整性检查的方法
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
EP2594035A4 (en) * 2010-07-13 2016-09-07 Verisign Inc SYSTEM AND METHOD FOR ZONE SIGNATURE AND KEY MANAGEMENT IN DNS
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
AU2013200916B2 (en) 2012-02-20 2014-09-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
EP3297206B1 (en) 2015-05-08 2020-04-22 Panasonic Intellectual Property Management Co., Ltd. Authentication method, authentication system, and controller
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
US11126976B2 (en) 2016-02-23 2021-09-21 nChain Holdings Limited Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts
EP3420669B1 (en) * 2016-02-23 2021-03-24 Nchain Holdings Limited Cryptographic method and system for secure extraction of data from a blockchain
CN107181717B (zh) * 2016-03-10 2020-05-15 阿里巴巴集团控股有限公司 一种风险终端检测方法及装置
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
CN109643285B (zh) 2016-09-15 2023-12-08 美商纳兹控股有限责任公司 加密的用户数据传输及储存
CN107079037B (zh) 2016-09-18 2018-10-23 深圳前海达闼云端智能科技有限公司 基于区块链的身份认证方法、装置、节点及系统
WO2018058105A1 (en) * 2016-09-26 2018-03-29 Shapeshift Ag System and method of managing trustless asset portfolios
US10749684B2 (en) 2016-09-30 2020-08-18 Entrust, Inc. Methods and apparatus for providing blockchain participant identity binding
US11115418B2 (en) 2016-12-23 2021-09-07 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 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
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
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
GB201705749D0 (en) * 2017-04-10 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
US10742393B2 (en) * 2017-04-25 2020-08-11 Microsoft Technology Licensing, Llc Confidentiality in a consortium blockchain network
JP2020522796A (ja) 2017-06-01 2020-07-30 シュヴェイ, インク. ディー/ビー/エー アクソーニSCHVEY, INC. d/b/a AXONI 安全なアクセス制限を管理する分散型のプライベートにサブスペース化されたブロックチェーン・データ構造
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
US20190116038A1 (en) * 2017-10-12 2019-04-18 Rivetz Corp. Attestation With Embedded Encryption Keys
TWI650723B (zh) 2017-10-30 2019-02-11 天逸財金科技服務股份有限公司 資產證明授權查詢方法與系統
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
EP3718069B1 (en) 2017-11-30 2024-04-17 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
CN108171083B (zh) 2017-12-18 2020-02-07 深圳前海微众银行股份有限公司 区块链可信数据管理方法、系统及计算机可读存储介质
CN108073829B (zh) 2017-12-29 2024-10-15 巍乾全球技术有限责任公司 用于记录对象的运输数据的方法、介质、物联网设备、区块链平台和物联网系统
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 林俊良 用於處理金融資產之策略模型腳本之區塊鏈系統與節點伺服器
US20190281028A1 (en) 2018-03-06 2019-09-12 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
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
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
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
AU2018347199B2 (en) 2018-12-13 2021-07-01 Advanced New Technologies Co., Ltd. Off-chain smart contract service based on trusted execution environment
US11720913B2 (en) 2018-12-18 2023-08-08 Rokfin, Inc. Cryptographic-token minting scheduler
PL3542494T3 (pl) 2018-12-29 2021-08-23 Advanced New Technologies Co., Ltd. System i sposób realizacji umowy wewnętrznej w łańcuchu bloków
WO2019101227A2 (en) * 2019-02-28 2019-05-31 Alibaba Group Holding Limited System and method for implementing blockchain-based digital certificates
AU2019204708B2 (en) 2019-03-27 2020-08-20 Advanced New Technologies Co., Ltd. Retrieving public data for blockchain networks using highly available trusted execution environments
CN111741035B (zh) 2020-08-28 2020-11-24 支付宝(杭州)信息技术有限公司 电子合同的签署方法、装置及设备

Also Published As

Publication number Publication date
SG11201908983WA (en) 2019-10-30
AU2019204725B2 (en) 2020-11-26
TWI707245B (zh) 2020-10-11
CA3058244A1 (en) 2019-06-27
US10757084B1 (en) 2020-08-25
JP2020527298A (ja) 2020-09-03
US20200366659A1 (en) 2020-11-19
WO2019120325A3 (en) 2020-01-23
EP3910907B1 (en) 2023-08-02
AU2019204725A1 (en) 2019-06-27
CN110999255A (zh) 2020-04-10
TW202040398A (zh) 2020-11-01
KR102274294B1 (ko) 2021-07-08
WO2019120325A2 (en) 2019-06-27
KR20200116013A (ko) 2020-10-08
US11405372B2 (en) 2022-08-02
EP3910907A1 (en) 2021-11-17
EP3610624B1 (en) 2021-07-07
CA3058244C (en) 2021-04-27
EP3610624A4 (en) 2020-06-17
JP6865850B2 (ja) 2021-04-28
EP3610624A2 (en) 2020-02-19
US20210377235A1 (en) 2021-12-02
US11095629B2 (en) 2021-08-17

Similar Documents

Publication Publication Date Title
CN110999255B (zh) 检索区块链网络的访问数据的方法及装置
KR102136960B1 (ko) 고 가용성의 신뢰 실행 환경을 사용하여 블록체인 네트워크에 대한 공용 데이터를 리트리빙하는 방법
CN111095256B (zh) 在可信执行环境中安全地执行智能合约操作
AU2019204708A1 (en) Retrieving public data for blockchain networks using highly available trusted execution environments
CN110914851A (zh) 提高区块链网络与外部数据源之间的通信的完整性
KR20200116012A (ko) 다중키 쌍 시그너처를 사용한 프로그램 실행 및 데이터 증명 체계

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

Effective date of registration: 20201012

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

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.

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40032120

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240920

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Ant Chain Technology Co.,Ltd.

Country or region after: Singapore

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

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands