CN110716728A - Fpga逻辑的可信更新方法及装置 - Google Patents

Fpga逻辑的可信更新方法及装置 Download PDF

Info

Publication number
CN110716728A
CN110716728A CN201910914123.9A CN201910914123A CN110716728A CN 110716728 A CN110716728 A CN 110716728A CN 201910914123 A CN201910914123 A CN 201910914123A CN 110716728 A CN110716728 A CN 110716728A
Authority
CN
China
Prior art keywords
fpga
configuration file
circuit logic
logic configuration
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910914123.9A
Other languages
English (en)
Other versions
CN110716728B (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN201910914123.9A priority Critical patent/CN110716728B/zh
Publication of CN110716728A publication Critical patent/CN110716728A/zh
Priority to PCT/CN2020/100935 priority patent/WO2021057182A1/zh
Application granted granted Critical
Publication of CN110716728B publication Critical patent/CN110716728B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书一个或多个实施例提供一种FPGA逻辑的可信更新方法及装置,该方法可以包括:FPGA结构接收来自客户端的加密后新版电路逻辑配置文件,所述FPGA结构包含FPGA芯片;所述FPGA结构将所述加密后新版电路逻辑配置文件读入所述FPGA芯片上的解密模块进行解密,所述解密模块由所述FPGA芯片基于所述FPGA结构上已部署的旧版电路逻辑配置文件而形成;所述FPGA结构基于解密得到的新版电路逻辑配置文件进行更新部署,以使所述FPGA结构实现为所属的区块链节点上的可信执行环境。

Description

FPGA逻辑的可信更新方法及装置
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种FPGA逻辑的可信更新方法及装置。
背景技术
区块链技术构建在传输网络(例如点对点网络)之上。传输网络中的网络节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。
目前企业级的区块链平台技术上最大的两个挑战就是隐私和性能,往往这两个挑战很难同时解决。大多解决方案都是通过损失性能换取隐私,或者不大考虑隐私去追求性能。常见的解决隐私问题的加密技术,如同态加密(Homomorphic encryption)和零知识证明(Zero-knowledge proof)等复杂度高,通用性差,而且还可能带来严重的性能损失。
可信执行环境(Trusted Execution Environment,TEE)是另一种解决隐私问题的方式。TEE可以起到硬件中的黑箱作用,在TEE中执行的代码和数据操作系统层都无法偷窥,只有代码中预先定义的接口才能对其进行操作。在效率方面,由于TEE的黑箱性质,在TEE中进行运算的是明文数据,而不是同态加密中的复杂密码学运算,计算过程效率没有损失,因此与TEE相结合可以在性能损失较小的前提下很大程度上提升区块链的安全性和隐私性。目前工业界十分关注TEE的方案,几乎所有主流的芯片和软件联盟都有自己的TEE解决方案,包括软件方面的TPM(Trusted Platform Module,可信赖平台模块)以及硬件方面的Intel SGX(Software Guard Extensions,软件保护扩展)、ARM Trustzone(信任区)和AMDPSP(Platform Security Processor,平台安全处理器)。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种FPGA逻辑的可信更新方法及装置。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种FPGA逻辑的可信更新方法,包括:
FPGA结构接收来自客户端的加密后新版电路逻辑配置文件,所述FPGA结构包含FPGA芯片;
所述FPGA结构将所述加密后新版电路逻辑配置文件读入所述FPGA芯片上的解密模块进行解密,所述解密模块由所述FPGA芯片基于所述FPGA结构上已部署的旧版电路逻辑配置文件而形成;
所述FPGA结构基于解密得到的新版电路逻辑配置文件进行更新部署,以使所述FPGA结构实现为所属的区块链节点上的可信执行环境。
根据本说明书一个或多个实施例的第二方面,提出了一种FPGA逻辑的可信更新装置,包括:
接收单元,使FPGA结构接收来自客户端的加密后新版电路逻辑配置文件,所述FPGA结构包含FPGA芯片;
解密单元,使所述FPGA结构将所述加密后新版电路逻辑配置文件读入所述FPGA芯片上的解密模块进行解密,所述解密模块由所述FPGA芯片基于所述FPGA结构上已部署的旧版电路逻辑配置文件而形成;
更新单元,使所述FPGA结构基于解密得到的新版电路逻辑配置文件进行更新部署,以使所述FPGA结构实现为所属的区块链节点上的可信执行环境。
根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
附图说明
图1是一示例性实施例提供的一种FPGA逻辑的可信更新方法的流程图。
图2是一示例性实施例提供的一种区块链节点的结构示意图。
图3是一示例性实施例提供的一种在FPGA芯片上形成功能模块的示意图。
图4是一示例性实施例提供的一种对FPGA板卡进行可新更新的示意图。
图5是一示例性实施例提供的一种FPGA逻辑的可信更新装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。而且,各参与者(即节点)可自由加入以及退出网络,并进行相关操作。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
不论是公有链、私有链还是联盟链,区块链网络中的节点出于隐私保护的目的,均可能通过区块链与TEE(Trusted Execution Environment,可信执行环境)相结合的解决方案,在TEE内执行收到的交易。TEE是基于CPU硬件的安全扩展,且与外部完全隔离的可信执行环境。TEE最早是由Global Platform提出的概念,用于解决移动设备上资源的安全隔离,平行于操作系统为应用程序提供可信安全的执行环境。ARM的Trust Zone技术最早实现了真正商用的TEE技术。伴随着互联网的高速发展,安全的需求越来越高,不仅限于移动设备,云端设备,数据中心都对TEE提出了更多的需求。TEE的概念也得到了高速的发展和扩充。现在所说的TEE相比与最初提出的概念已经是更加广义的TEE。例如,服务器芯片厂商Intel,AMD等都先后推出了硬件辅助的TEE并丰富了TEE的概念和特性,在工业界得到了广泛的认可。现在提起的TEE通常更多指这类硬件辅助的TEE技术。
以Intel SGX技术为例,SGX提供了围圈(enclave,也称为飞地),即内存中一个加密的可信执行区域,由CPU保护数据不被窃取。以第一区块链节点采用支持SGX的CPU为例,利用新增的处理器指令,在内存中可以分配一部分区域EPC(Enclave Page Cache,围圈页面缓存或飞地页面缓存),通过CPU内的加密引擎MEE(Memory Encryption Engine)对其中的数据进行加密。EPC中加密的内容只有进入CPU后才会被解密成明文。因此,在SGX中,用户可以不信任操作系统、VMM(Virtual Machine Monitor,虚拟机监控器)、甚至BIOS(BasicInput Output System,基本输入输出系统),只需要信任CPU便能确保隐私数据不会泄漏。因此,围圈就相当于SGX技术下产生的TEE。
不同于移动端,云端访问需要远程访问,终端用户对硬件平台不可见,因此使用TEE的第一步就是要确认TEE的真实可信。例如,相关技术中提供了针对上述SGX技术的远程证明机制,以用于证明目标设备上的SGX平台与挑战方部署了相同的配置文件。但是,由于相关技术中的TEE技术是以软件或软硬件结合的方式实现,使得即便通过远程证明方式可以在一定程度上表明TEE内所部署的配置文件未经篡改,但是TEE本身所依托的运行环境却无法被验证。例如,在需要实现隐私功能的区块链节点上,TEE内需要配置用于执行智能合约的虚拟机,该虚拟机所执行的指令并非直接执行,而是实际上执行了对应的若干条X86指令(假定目标设备采用X86架构),从而造成了一定程度上的安全性风险。
为此,本说明书提出了一种基于FPGA实现的硬件TEE技术,FPGA通过加载电路逻辑配置文件而实现硬件TEE。由于电路逻辑配置文件的内容可以被预先查看与检验,并且FPGA完全基于电路逻辑配置文件中记载的逻辑而配置运行,因而可以确保FPGA所实现的硬件TEE具有相对更高的安全性。但是,相关技术中未提供相应的防范机制,以避免针对FPGA中的电路逻辑配置文件实施有意或无意的不可信更新操作。
以下结合实施例说明本说明书提供的一种FPGA逻辑的可信更新方法,以提升安全性。
图1是一示例性实施例提供的一种FPGA逻辑的可信更新方法的流程图。如图1所示,该方法应用于FPGA结构,可以包括以下步骤:
步骤102,FPGA结构接收来自客户端的加密后新版电路逻辑配置文件,所述FPGA结构包含FPGA芯片。
用户可以通过客户端向FPGA结构提供加密后新版电路逻辑配置文件,该用户具体可以为个人或团体(如企业),本说明书并不对此进行限制。其中,客户端可以远程将加密后新版电路逻辑配置文件发送至FPGA结构;或者,客户端可以与FPGA结构位于同一地点,以在本地或局域网内实现对加密后新版电路逻辑配置文件的传输。
客户端可以直接与FPGA结构建立连接,并将加密后新版电路逻辑文件直接发送至FPGA结构。或者,客户端可以与FPGA结构所属的区块链节点(相当于FPGA结构对应的Host主机)建立连接,并将加密后新版电路逻辑文件发送至该区块链节点后,由该区块链节点提供至FPGA结构。
步骤104,所述FPGA结构将所述加密后新版电路逻辑配置文件读入所述FPGA芯片上的解密模块进行解密,所述解密模块由所述FPGA芯片基于所述FPGA结构上已部署的旧版电路逻辑配置文件而形成。
FPGA芯片上包含若干可编辑的硬件逻辑单元,这些硬件逻辑单元经由电路逻辑配置文件进行配置后,可以实现为相应的功能模块,以用于实现相应的逻辑功能。具体的,该电路逻辑配置文件可以基于比特流的形式被烧录至FPGA结构。例如,上述的解密模块即为通过旧版电路逻辑配置文件而形成,而通过进一步部署形成用于实现加密、虚拟机等逻辑的功能模块,可以将FPGA结构配置为区块链节点上的硬件TEE。由于这些功能模块完全由电路逻辑配置文件进行配置而形成,因而通过检查电路逻辑配置文件即可确定由此配置得到的功能模块所实现的逻辑等各方面的信息,确保功能模块能够按照完全用户的需求而形成和运行。
旧版电路逻辑配置文件是指FPGA结构上预先已部署的电路逻辑配置文件。相比于上述的新版电路逻辑配置文件而言,由于旧版电路逻辑配置文件被配置于FPGA结构的时刻相对靠前,因而通过“新版”、“旧版”予以区分,而并非表明相应的电路逻辑配置文件所实现的逻辑或功能上必然实现版本迭代。
新版电路逻辑配置文件可由客户端基于配置文件部署密钥进行加密后,得到上述的加密后新版电路逻辑配置文件。同时,由于FPGA结构维护了该配置文件部署密钥,使得上述的解密模块可以基于该配置文件部署密钥对加密后新版电路逻辑配置文件进行解密,以得到上述的新版电路逻辑配置文件。
配置文件部署密钥可以预先生成后,被分别部署于客户端和FPGA结构。或者,配置文件部署密钥可由客户端与区块链节点进行远程协商得到,然后由区块链节点将协商得到的该配置文件部署密钥传输至FPGA结构,由FPGA结构进行维护;而出于更高的安全性需求,避免配置文件部署密钥被区块链节点取得,可由FPGA结构直接与客户端进行远程协商。
以FPGA结构与客户端进行远程协商上述的配置文件部署密钥为例。远程协商过程至可以采用诸如SM2或其他算法,本说明书并不对此进行限制。客户端与FPGA结构需要在协商过程中实施至少一次信息交互,例如:客户端可以在本地生成一密钥Ka-1、FPGA结构可以在本地生成一密钥Kb-1,且客户端可以基于密钥Ka-1计算得到密钥协商信息Ka-2、FPGA结构可以基于密钥Kb-1计算得到密钥协商信息Kb-2,然后客户端将密钥协商信息Ka-2发送至FPGA结构、FPGA结构将密钥协商信息Kb-2发送至客户端,使得客户端可以基于密钥Ka-1与密钥协商信息Kb-2生成一秘密值(或称,主密钥),而FPGA结构可以基于密钥Kb-1与密钥协商信息Ka-2生成相同的秘密值。那么,上述的配置文件部署密钥可以为该秘密值;或者,该配置文件部署密钥可由客户端与FPGA结构分别通过密钥导出函数(Key DerivationFunction,简称KDF)从上述的秘密值导出得到。
FPGA结构上可以预先部署有认证根密钥,该认证根密钥可以被预置于FPGA结构中,或者该认证根密钥可由客户端或其他对象在离线安全环境下部署至FPGA结构中。该认证根密钥属于非对称密钥。那么,在客户端与FPGA结构远程协商上述配置文件部署密钥的过程中,FPGA结构可以采用认证根密钥对自身所发送的信息(比如上述的密钥协商信息Kb-2等)进行签名,而客户端可以通过验证签名而确定收到的信息是否确实来自于FPGA结构且传输过程中未经篡改,而未通过签名验证的信息将不会被客户端信任和采纳。其中,认证根密钥的公钥可以由认证服务器管理且不公开,那么客户端可以通过将收到的信息发送至该认证服务器,由该认证服务器通过维护的公钥进行签名验证;然后,认证服务器可以向客户端提供验证结果,该验证结果由认证服务器进行签名,且该验证结果包含认证服务器的证书或者该认证服务器的公钥可以被公开,使得客户端可以验签以确定验证结果的有效性。或者,认证根密钥的公钥可以被公开,使得客户端可以自行基于该公钥对来自FPGA结构的信息进行签名验证,而无需经由认证服务器,这样可以减少签名验证过程所经历的交互环节,从而提升验证效率、降低更多交互环节所导致的安全性风险。
上述的认证根密钥可以被基于旧版电路逻辑配置文件部署至FPGA结构。那么,尤其是在旧版电路逻辑配置文件与新版电路逻辑配置文件并非同一用户生成和部署的情况下,旧版电路逻辑配置文件在烧录至FPGA结构之前可能被其他用户查看或检验,导致旧版电路逻辑配置文件所含的认证根密钥被其他用户获知,存在一定的安全性风险。因此,新版电路逻辑配置文件中可以包含新版认证根密钥,以用于对FPGA结构上已部署的认证根密钥进行更新,确保该新版认证根密钥仅有部署的用户获知,以消除上述的安全性风险。以及,后续可以基于该新版认证根密钥与客户端协商配置文件部署密钥或其他密钥,并且可以确保这些密钥具有足够的安全性。
FPGA结构可以避免将认证根密钥从相应的电路逻辑配置文件中取出,使得FPGA结构在将该电路逻辑配置文件加载至FPGA芯片后,可以获知相应的认证根密钥。或者,FPGA结构可以包含独立于FPGA芯片的密钥管理芯片,且FPGA结构可以将认证根密钥从所属的电路逻辑配置文件中取出后维护于密钥管理芯片中,使得认证根密钥仅存在于密钥管理芯片中,而不会再出现于FPGA结构上部署的电路逻辑配置文件中,以提升认证根密钥的安全性。
步骤106,所述FPGA结构基于解密得到的新版电路逻辑配置文件进行更新部署,以使所述FPGA结构实现为所属的区块链节点上的可信执行环境。
基于旧版电路逻辑配置文件在FPGA芯片上形成的解密模块,以及FPGA结构上维护的上述配置文件部署密钥,使得只有获知该配置文件部署密钥的用户才能够针对FPGA结构上的旧版电路逻辑配置文件进行更新,以确保针对该旧版电路逻辑配置文件所实施的更新操作为可信更新操作。
FPGA结构上可以部署有客户端对应的公钥或者预置证书。客户端可以针对新版电路逻辑配置文件进行签名后发送至FPGA结构,使得FPGA结构可以针对收到的新版电路逻辑配置文件进行签名验证,并将签名通过验证作为允许部署该新版电路逻辑配置文件的条件之一。其中,客户端对应的公钥或证书可由旧版电路逻辑配置文件部署于FPGA结构。因此,基于对新版电路逻辑配置文件进行签名验证,可以进一步提升新版电路逻辑配置文件的可信度,以确保对FPGA结构上的电路逻辑配置文件实现可信更新。其中,FPGA结构可以将加密后新版电路逻辑配置文件读入FPGA芯片上的验签模块进行签名验证。与前述解密模块相类似的,该验签模块可由FPGA芯片基于旧版电路逻辑配置文件而形成。
FPGA结构在部署电路逻辑配置文件时,可以将电路逻辑配置文件直接读取并配置于FPGA芯片内。但是,FPGA芯片具有易失性,断电后部署的电路逻辑配置文件就会丢失,使得重新上电后需要客户端重新部署电路逻辑配置文件。因此,为了减少客户端的部署次数,FPGA结构可以进一步包含存储器,该存储器与FPGA芯片相连,使得电路逻辑配置文件被部署于存储器中,且FPGA芯片从存储器中读取电路逻辑配置文件以实现相关功能;其中,存储器具有非易失性,即便断电仍然可以保存电路逻辑配置文件,而重新上电后只需重新从存储器读入FPGA芯片即可,无需客户端重新部署。存储器可以具有多种形式,比如闪存等可重复擦写的非易失性存储器,再比如熔丝存储器等不可重复擦写的存储器等,本说明书并不对此进行限制。因此,当旧版电路逻辑配置文件被部署于存储器时,FPGA结构可以基于新版电路逻辑配置文件对该存储器进行更新部署,使得存储器中已部署的旧版电路逻辑配置文件被更新为新版电路逻辑配置文件。
FPGA结构可以针对更新部署的新版电路逻辑配置文件生成认证结果,该认证结果包含与新版电路逻辑配置文件相关的内容。然后,FPGA结构可以基于前述更新部署的新版认证根密钥对认证结果进行签名,并将签名后的认证结果返回客户端。客户端可以针对收到的认证结果进行签名验证,以及客户端可以基于自身维护的新版电路逻辑文件生成相关的内容,那么:在认证结果通过签名验证且认证结果中包含的“与新版电路逻辑配置文件相关的内容”与客户端生成的内容一致的情况下,客户端可以确认新版电路逻辑配置文件在FPGA结构上部署成功。其中,上述与新版电路逻辑配置文件相关的内容可以为新版电路逻辑配置文件的哈希值或该哈希值的衍生值。例如,FPGA结构可以基于新版认证根密钥与客户端重新协商得到新版配置文件部署密钥,而FPGA结构可以分别生成新版电路逻辑配置文件的哈希值、新版配置文件部署密钥的哈希值,并通过诸如sm3算法或其他算法对这两个哈希值进行计算,得到的计算结果可以被作为上述与新版电路逻辑配置文件相关的内容;相应地,基于认证结果可使客户端确定:新版电路逻辑配置文件在FPGA结构上成功部署,且客户端与FPGA结构之间成功协商得到了新版配置文件部署密钥。
图2是一示例性实施例提供的一种区块链节点的结构示意图。基于本说明书的技术方案,可以在区块链节点上添加FPGA结构以实现硬件TEE,譬如该FPGA结构可以为如图2所示的FPGA板卡。FPGA板卡可以通过PCIE接口连接至区块链节点上,以实现FPGA板卡与区块链节点之间的数据交互。FPGA板卡可以包括FPGA芯片、Flash芯片和密管芯片等结构;当然,在一些实施例中除了包含FPGA芯片之外,可能仅包含剩余的Flash芯片和密管芯片等中的部分结构,或者可能包含更多结构,此处仅用于举例。
在初始阶段,FPGA芯片上并未烧录用户定义的任何逻辑,相当于FPGA芯片处于空白状态。用户可以通过向FPGA芯片上烧录电路逻辑配置文件,以在FPGA芯片上形成相应的功能或逻辑。在首次烧录电路逻辑配置文件时,FPGA板卡不具有安全防护的能力,因而通常需要外部提供安全环境,比如用户可以在离线环境下实施对电路逻辑配置文件的烧录以实现物理安全隔离,而非在线上实施远程烧录。
针对用户所需实现的功能或逻辑,可以通过FPGA硬件语言形成相应的逻辑代码,并进而对该逻辑代码进行镜像化处理,即可得到上述的电路逻辑配置文件。在烧录至FPGA板卡之前,用户可以针对上述的逻辑代码进行检查。尤其是,当同时涉及到多个用户时,多个用户可以分别对上述的逻辑代码进行检查,以确保FPGA板卡最终能够满足所有用户的需求,防止出现安全性风险、逻辑错误、欺诈等异常问题。
在确定代码无误后,用户可以在上述的离线环境下,将电路逻辑配置文件烧录至FPGA板卡上。具体的,电路逻辑配置文件被从区块链节点传入FPGA板卡,进而部署至如图2所示的Flash芯片中,使得即便FPGA板卡发生掉电,Flash芯片仍然能够保存上述的电路逻辑配置文件。
图3是一示例性实施例提供的一种在FPGA芯片上形成功能模块的示意图。通过将Flash芯片中所部署的电路逻辑配置文件加载至FPGA芯片,可以对FPGA芯片所含的硬件逻辑单元进行配置,从而在FPGA芯片上形成相应的功能模块,譬如所形成的功能模块可以包括如图3所示的密钥协商模块、解密验签模块、加解密模块、明文计算模块等。同时,电路逻辑配置文件还可以用于向FPGA板卡传输需要存储的信息,比如可以将预置证书存储于FPGA芯片上、将认证根密钥存储于密管芯片中(认证根密钥也可以存储于FPGA芯片上)等。
基于FPGA芯片上所形成的密钥协商模块,以及部署于FPGA板卡上的认证根密钥,使得FPGA板卡可以与用户实现远程的密钥协商,该密钥协商过程可以采用相关技术中的任意算法或标准来实现,本说明书并不对此进行限制。举例而言,密钥协商过程可以包括:用户可以在本地的客户端生成一密钥Ka-1、密钥协商模块可以在本地生成一密钥Kb-1,且客户端可以基于密钥Ka-1计算得到密钥协商信息Ka-2、密钥协商模块可以基于密钥Kb-1计算得到密钥协商信息Kb-2,然后客户端将密钥协商信息Ka-2发送至密钥协商模块、密钥协商模块将密钥协商信息Kb-2发送至客户端,使得客户端可以基于密钥Ka-1与密钥协商信息Kb-2生成一秘密值,而密钥协商模块可以基于密钥Kb-1与密钥协商信息Ka-2生成相同的秘密值,最后由客户端、密钥协商模块分别基于密钥导出函数从该相同的秘密值导出相同的配置文件部署密钥,该配置文件部署密钥可以存在FPGA芯片或密管芯片。在上述过程中,虽然密钥协商信息Ka-2、密钥协商信息Kb-2是经由区块链节点在客户端与密钥协商模块之间传输,但是由于密钥Ka-1由客户端掌握、密钥Kb-1由密钥协商模块掌握,因而可以确保区块链节点无法获知最终得到的秘密值和配置文件部署密钥,避免可能造成的安全性风险。
除了配置文件部署密钥之外,秘密值还用于导出业务秘密部署密钥;例如,秘密值可以导出32位数值,可以将前16位作为配置文件部署密钥、后16位作为业务秘密部署密钥。用户可以通过业务秘密部署密钥向FPGA板卡部署业务密钥,譬如该业务密钥可以包括节点私钥和业务根密钥。例如,用户可以在客户端上采用业务秘密部署密钥对节点私钥或业务根密钥进行签名、加密并发送至FPGA板卡,使得FPGA板卡通过解密验签模块进行解密、验签后,对得到的节点私钥或业务根密钥进行部署。
基于部署的节点密钥、业务根密钥和FPGA芯片上的加解密模块、明文计算模块,使得FPGA板卡可以实现为区块链节点上的TEE,以满足隐私需求。例如,当区块链节点收到一笔交易时,如果该交易为明文交易,区块链节点可以直接处理该明文交易,如果该交易为隐私交易,区块链节点将该隐私交易传入FPGA板卡进行处理。
明文交易的交易内容为明文形式,并且交易执行后所产生的合约状态等同样采用明文形式进行存储。隐私交易的交易内容为密文形式,由交易发起方对明文交易内容进行加密而得到,且交易执行后产生的合约状态等需要采用密文形式进行存储,从而确保交易隐私保护。例如,交易发起方可以随机或基于其他方式生成一对称密钥,同样上述的业务私钥对应的业务公钥被公开,那么交易发起方可以基于该对称密钥和业务公钥对明文交易内容进行数字信封加密:交易发起方通过对称密钥加密明文交易内容,并通过业务公钥对该对称密钥进行加密,得到的两部分内容均被包含于上述的隐私交易中;换言之,隐私交易中包含两部分内容:采用对称密钥加密的明文交易内容、采用业务公钥加密的对称密钥。
因此,FPGA板卡在收到区块链节点传入的隐私交易后,可由加解密模块通过业务私钥对采用业务公钥加密的对称密钥进行解密、得到对称密钥,然后由加解密模块通过对称密钥对采用对称密钥加密的明文交易内容进行解密、得到明文交易内容。隐私交易可以用于部署智能合约,那么明文交易内容的data字段可以包含待部署的智能合约的合约代码;或者,隐私交易可以用于调用智能合约,那么明文交易内容的to字段可以包含被调用的智能合约的合约地址,而FPGA板卡可以基于该合约地址调取相应的合约代码。
FPGA芯片上形成的明文计算模块用于实现相关技术中的虚拟机逻辑,即明文计算模块相当于FPGA板卡上的“硬件虚拟机”。因此,基于上述明文交易内容确定出合约代码后,可以将该合约代码传入明文计算模块中,以由该明文计算模块执行该合约代码。执行完毕后,合约代码所涉及的合约状态可能发生更新。如果合约状态需要存储至FPGA芯片之外,那么可由加解密模块通过前述的业务根密钥或其衍生密钥对发生更新的合约状态进行加密,并对加密后合约状态进行存储,以确保与隐私交易相关的数据仅在FPGA芯片内处于明文状态、在FPGA芯片之外均处于密文状态,从而保证数据的安全性。
基于一些原因,用户可能希望对FPGA板卡上部署的电路逻辑配置文件进行版本更新,比如该电路逻辑配置文件所含的认证根密钥可能被风险用户获知、再比如用户希望对FPGA板卡上部署的功能模块进行升级等,本说明书并不对此进行限制。为了便于区分,可以将上述过程中已部署的电路逻辑配置文件称之为旧版电路逻辑配置文件,而将需要部署的电路逻辑配置文件称之为新版电路逻辑配置文件。
与旧版电路逻辑配置文件相类似的,用户可以通过编写代码、镜像化等过程生成新版电路逻辑配置文件。进一步的,用户可以通过自身持有的私钥对新版电路逻辑配置文件进行签名,然后通过上文协商出的配置文件部署密钥对签名后的新版电路逻辑配置文件进行加密,得到加密后新版电路逻辑配置文件。在一些情况下,可能同时存在多名用户,那么旧版电路逻辑配置文件需要将这些用户对应的预置证书均部署至FPGA板卡中,且这些用户需要分别采用自身持有的私钥对新版电路逻辑配置文件进行签名。
用户可以通过客户端远程将加密后新版电路逻辑配置文件发送至区块链节点,并由区块链节点进一步将其传入FPGA板卡。图4是一示例性实施例提供的一种对FPGA板卡进行可新更新的示意图。如图4所示,前述过程中在FPGA芯片上形成的解密验签模块位于PCIE接口与Flash芯片之间的传输通路上,使得加密后新版电路逻辑配置文件必然需要优先经过解密验签模块的成功处理后,才能够被传入Flash芯片以实现可信更新,无法绕过解密验签的过程而直接对Flash芯片进行更新。
解密验签模块在收到加密后新版电路逻辑配置文件后,首先通过FPGA板卡上部署的配置文件部署密钥进行解密,如果解密成功则解密验签模块进一步基于FPGA芯片上部署的预置证书,对解密后的新版电路逻辑配置文件进行签名验证。如果解密失败或者签名验证未通过,则说明收到的文件并非来自上述用户或者遭到篡改,解密验签模块将触发终止本次的更新操作;而在解密成功且验签通过的情况下,可以确定得到的新版电路逻辑配置文件来自上述用户且传输过程中未遭到篡改,可以将该新版电路逻辑配置文件进一步传输至Flash芯片,以针对Flash芯片中的旧版电路逻辑配置文件进行更新部署。
新版电路逻辑配置文件被加载至FPGA芯片后,同样可以在该FPGA芯片上形成诸如上述的密钥协商模块、解密验签模块,以及向FPGA芯片存入预置证书、向密管芯片存入认证根密钥等信息。其中,所形成的密钥协商模块、解密验签模块等,所实现的功能逻辑可以发生变化和升级,所存入部署的预置证书、认证根密钥等信息也可能区别于更新前的信息。那么,FPGA板卡可以基于更新后的密钥协商模块、认证根密钥等,与用户进行远程协商得到新的配置文件部署密钥,该配置文件部署密钥可以被用于下一次的可新更新过程。类似地,可以据此不断实现针对FPGA板卡的可信更新操作。
在完成更新部署后,FPGA板卡可以针对新版电路逻辑配置文件生成认证结果。例如,上述的密钥协商模块可以通过诸如sm3算法或其他算法对新版电路逻辑配置文件的哈希值、基于新版电路逻辑配置文件协商得到的配置文件部署密钥的哈希值进行计算,得到的计算结果可以被作为上述的认证结果,并由密钥协商模块将该认证结果发送至用户。相应地,用户可以在客户端上基于所维护的新版电路逻辑配置文件和据此协商的配置文件部署密钥对认证结果进行验证,如果验证成功则表明新版电路逻辑配置文件在FPGA板卡上成功部署,且用户与FPGA板卡之间据此成功协商得到了一致的配置文件部署密钥,从而确认成功完成了针对电路逻辑配置文件的更新部署。
图5是一示例性实施例提供的一种FPGA逻辑的可信更新装置的示意结构图。请参考图5,在软件实施方式中,该FPGA逻辑的可信更新装置可以包括:
接收单元501,使FPGA结构接收来自客户端的加密后新版电路逻辑配置文件,所述FPGA结构包含FPGA芯片;
解密单元502,使所述FPGA结构将所述加密后新版电路逻辑配置文件读入所述FPGA芯片上的解密模块进行解密,所述解密模块由所述FPGA芯片基于所述FPGA结构上已部署的旧版电路逻辑配置文件而形成;
更新单元503,使所述FPGA结构基于解密得到的新版电路逻辑配置文件进行更新部署,以使所述FPGA结构实现为所属的区块链节点上的可信执行环境。
可选的,还包括:
协商单元504,使所述FPGA结构基于已部署的认证根密钥与所述客户端进行远程协商,以协商得到配置文件部署密钥;
其中,所述加密后新版电路逻辑配置文件被所述FPGA结构基于所述配置文件部署密钥在所述解密模块中进行解密。
可选的,所述已部署的认证根密钥被基于所述旧版电路逻辑配置文件部署至所述FPGA结构。
可选的,所述已部署的认证根密钥被维护于所述FPGA结构包含的密钥管理芯片中。
可选的,所述新版电路逻辑配置文件中包括:新版认证根密钥,以用于对所述已部署的认证根密钥进行更新。
可选的,还包括:
签名单元505,使所述FPGA结构通过所述新版认证根密钥对认证结果进行签名,所述认证结果包含与所述新版电路逻辑配置文件相关的内容;
返回单元506,使所述FPGA结构将签名后的所述认证结果返回所述客户端,以使所述客户端在所述认证结果通过签名验证且所述认证结果包含与所述新版电路逻辑配置文件相关的内容的情况下,确认所述新版电路逻辑配置文件在所述FPGA结构上部署成功。
可选的,
还包括:验证单元507,使所述FPGA结构将所述加密后新版电路逻辑配置文件读入所述FPGA芯片上的验签模块进行签名验证,所述验签模块由所述FPGA芯片基于所述旧版电路逻辑配置文件而形成,且所述FPGA结构上已部署所述客户端对应的预置证书;
所述更新单元503具体用于:使所述FPGA结构在签名验证成功的情况下,基于所述新版电路逻辑配置文件进行更新部署。
可选的,所述FPGA结构还包含所述FPGA芯片之外的存储器;所述更新单元503具体用于:
使所述FPGA结构基于所述新版电路逻辑配置文件对所述存储器进行更新部署。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (11)

1.一种FPGA逻辑的可信更新方法,包括:
FPGA结构接收来自客户端的加密后新版电路逻辑配置文件,所述FPGA结构包含FPGA芯片;
所述FPGA结构将所述加密后新版电路逻辑配置文件读入所述FPGA芯片上的解密模块进行解密,所述解密模块由所述FPGA芯片基于所述FPGA结构上已部署的旧版电路逻辑配置文件而形成;
所述FPGA结构基于解密得到的新版电路逻辑配置文件进行更新部署,以使所述FPGA结构实现为所属的区块链节点上的可信执行环境。
2.根据权利要求1所述的方法,还包括:
所述FPGA结构基于已部署的认证根密钥与所述客户端进行远程协商,以协商得到配置文件部署密钥;
其中,所述加密后新版电路逻辑配置文件被所述FPGA结构基于所述配置文件部署密钥在所述解密模块中进行解密。
3.根据权利要求2所述的方法,所述已部署的认证根密钥被基于所述旧版电路逻辑配置文件部署至所述FPGA结构。
4.根据权利要求2所述的方法,所述已部署的认证根密钥被维护于所述FPGA结构包含的密钥管理芯片中。
5.根据权利要求2所述的方法,所述新版电路逻辑配置文件中包括:新版认证根密钥,以用于对所述已部署的认证根密钥进行更新。
6.根据权利要求5所述的方法,还包括:
所述FPGA结构通过所述新版认证根密钥对认证结果进行签名,所述认证结果包含与所述新版电路逻辑配置文件相关的内容;
所述FPGA结构将签名后的所述认证结果返回所述客户端,以使所述客户端在所述认证结果通过签名验证且所述认证结果包含与所述新版电路逻辑配置文件相关的内容的情况下,确认所述新版电路逻辑配置文件在所述FPGA结构上部署成功。
7.根据权利要求1所述的方法,
还包括:所述FPGA结构将所述加密后新版电路逻辑配置文件读入所述FPGA芯片上的验签模块进行签名验证,所述验签模块由所述FPGA芯片基于所述旧版电路逻辑配置文件而形成,且所述FPGA结构上已部署所述客户端对应的预置证书;
所述FPGA结构基于解密得到的新版电路逻辑配置文件进行更新部署,包括:所述FPGA结构在签名验证成功的情况下,基于所述新版电路逻辑配置文件进行更新部署。
8.根据权利要求1所述的方法,所述FPGA结构还包含所述FPGA芯片之外的存储器;所述FPGA结构基于解密得到的新版电路逻辑配置文件进行更新部署,包括:
所述FPGA结构基于所述新版电路逻辑配置文件对所述存储器进行更新部署。
9.一种FPGA逻辑的可信更新装置,包括:
接收单元,使FPGA结构接收来自客户端的加密后新版电路逻辑配置文件,所述FPGA结构包含FPGA芯片;
解密单元,使所述FPGA结构将所述加密后新版电路逻辑配置文件读入所述FPGA芯片上的解密模块进行解密,所述解密模块由所述FPGA芯片基于所述FPGA结构上已部署的旧版电路逻辑配置文件而形成;
更新单元,使所述FPGA结构基于解密得到的新版电路逻辑配置文件进行更新部署,以使所述FPGA结构实现为所属的区块链节点上的可信执行环境。
10.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-9中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-9中任一项所述方法的步骤。
CN201910914123.9A 2019-09-25 2019-09-25 Fpga逻辑的可信更新方法及装置 Active CN110716728B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910914123.9A CN110716728B (zh) 2019-09-25 2019-09-25 Fpga逻辑的可信更新方法及装置
PCT/CN2020/100935 WO2021057182A1 (zh) 2019-09-25 2020-07-08 Fpga逻辑的可信更新方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910914123.9A CN110716728B (zh) 2019-09-25 2019-09-25 Fpga逻辑的可信更新方法及装置

Publications (2)

Publication Number Publication Date
CN110716728A true CN110716728A (zh) 2020-01-21
CN110716728B CN110716728B (zh) 2020-11-10

Family

ID=69210929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910914123.9A Active CN110716728B (zh) 2019-09-25 2019-09-25 Fpga逻辑的可信更新方法及装置

Country Status (2)

Country Link
CN (1) CN110716728B (zh)
WO (1) WO2021057182A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021057182A1 (zh) * 2019-09-25 2021-04-01 支付宝(杭州)信息技术有限公司 Fpga逻辑的可信更新方法及装置
CN112765586A (zh) * 2021-01-12 2021-05-07 湖北宸威玺链信息技术有限公司 一种基于区块链的部署文件分发方法、设备和存储介质
US11379125B1 (en) 2021-03-31 2022-07-05 International Business Machines Corporation Trusted field programmable gate array
CN114756880A (zh) * 2022-04-14 2022-07-15 电子科技大学 一种基于fpga的信息隐藏方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272240A (zh) * 2007-03-21 2008-09-24 华为技术有限公司 一种会话密钥的生成方法、系统和通信设备
US20180082083A1 (en) * 2016-09-16 2018-03-22 Intel Corporation Technologies for secure boot provisioning and management of field-programmable gate array images
US20180191560A1 (en) * 2016-12-28 2018-07-05 T-Mobile Usa, Inc. Uicc update via trusted execution environment
CN109543435A (zh) * 2018-11-29 2019-03-29 郑州云海信息技术有限公司 一种fpga加密保护方法、系统及服务器
WO2019120315A2 (en) * 2019-03-26 2019-06-27 Alibaba Group Holding Limited Field-programmable gate array based trusted execution environment for use in a blockchain network
CN209086901U (zh) * 2018-12-07 2019-07-09 苏州中科安源信息技术有限公司 安全在线多重配置信号处理板卡

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2424557A (en) * 2005-03-24 2006-09-27 Sony Uk Ltd FPGA with hardware decryptor for configuration programme which adds second key to itself before re-encrypting and overwriting itself in memory when run
US10546156B2 (en) * 2017-01-19 2020-01-28 Intel Corporation MRC training in FPGA-in-memory-controller
CN110086659A (zh) * 2019-04-12 2019-08-02 苏州浪潮智能科技有限公司 一种fpga配置文件的安全更新系统与方法
CN110716728B (zh) * 2019-09-25 2020-11-10 支付宝(杭州)信息技术有限公司 Fpga逻辑的可信更新方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272240A (zh) * 2007-03-21 2008-09-24 华为技术有限公司 一种会话密钥的生成方法、系统和通信设备
US20180082083A1 (en) * 2016-09-16 2018-03-22 Intel Corporation Technologies for secure boot provisioning and management of field-programmable gate array images
US20180191560A1 (en) * 2016-12-28 2018-07-05 T-Mobile Usa, Inc. Uicc update via trusted execution environment
CN109543435A (zh) * 2018-11-29 2019-03-29 郑州云海信息技术有限公司 一种fpga加密保护方法、系统及服务器
CN209086901U (zh) * 2018-12-07 2019-07-09 苏州中科安源信息技术有限公司 安全在线多重配置信号处理板卡
WO2019120315A2 (en) * 2019-03-26 2019-06-27 Alibaba Group Holding Limited Field-programmable gate array based trusted execution environment for use in a blockchain network

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021057182A1 (zh) * 2019-09-25 2021-04-01 支付宝(杭州)信息技术有限公司 Fpga逻辑的可信更新方法及装置
CN112765586A (zh) * 2021-01-12 2021-05-07 湖北宸威玺链信息技术有限公司 一种基于区块链的部署文件分发方法、设备和存储介质
US11379125B1 (en) 2021-03-31 2022-07-05 International Business Machines Corporation Trusted field programmable gate array
CN114756880A (zh) * 2022-04-14 2022-07-15 电子科技大学 一种基于fpga的信息隐藏方法及系统
CN114756880B (zh) * 2022-04-14 2023-03-14 电子科技大学 一种基于fpga的信息隐藏方法及系统

Also Published As

Publication number Publication date
WO2021057182A1 (zh) 2021-04-01
CN110716728B (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
CN110992027B (zh) 在区块链中实现隐私保护的高效交易方法及装置
CN110690963B (zh) 基于fpga的密钥协商方法及装置
CN110716728B (zh) Fpga逻辑的可信更新方法及装置
CN111541724B (zh) 区块链一体机及其节点自动加入方法、装置
CN111541552B (zh) 区块链一体机及其节点自动加入方法、装置
CN110717203B (zh) 基于fpga实现隐私区块链的方法及装置
CN110245947B (zh) 结合交易与用户类型的条件限制的收据存储方法和节点
CN110750329B (zh) 基于fpga实现虚拟机运算的方法及装置
CN110264192B (zh) 基于交易类型的收据存储方法和节点
CN110750488B (zh) 在fpga中实现外部调用的方法及装置
CN110704368B (zh) 基于fpga的安全智能合约处理器的高效运算方法及装置
WO2021057124A1 (zh) 基于fpga实现隐私区块链的方法及装置
CN110738567B (zh) 基于fpga的安全智能合约处理器的交易处理方法及装置
CN112927077B (zh) 基于fpga实现合约调用的方法及装置
WO2021057273A1 (zh) 在fpga上实现高效合约调用的方法及装置
WO2021057221A1 (zh) 基于fpga实现状态更新的方法及装置
CN110750303B (zh) 基于fpga的流水线式指令读取方法及装置
CN115758332A (zh) 一种交易分组方法和区块链节点
CN114866409B (zh) 基于密码加速硬件的密码加速方法及装置
CN115758333A (zh) 一种交易分组方法和区块链节点

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40021474

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant