CN110622161A - 可重新配置装置比特流密钥认证 - Google Patents

可重新配置装置比特流密钥认证 Download PDF

Info

Publication number
CN110622161A
CN110622161A CN201780090859.8A CN201780090859A CN110622161A CN 110622161 A CN110622161 A CN 110622161A CN 201780090859 A CN201780090859 A CN 201780090859A CN 110622161 A CN110622161 A CN 110622161A
Authority
CN
China
Prior art keywords
bitstream
secure
storage area
security key
remotely
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201780090859.8A
Other languages
English (en)
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN110622161A publication Critical patent/CN110622161A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

电子处理系统的实施例可以包括处理器、与处理器通信地耦接的永久性存储介质、通过物理地隔离的可信通信信道通信地耦接到处理器的可重新配置装置、通信地耦接到处理器和可重新配置装置以用于提供安全存储区域并将远程生成的比特流安全密钥安全地存储在所提供的安全存储区域中的安全配给器,和用于使用远程生成的比特流和远程生成的比特流安全密钥来配置可重新配置装置的设备配置器。公开并要求保护其他实施例。

Description

可重新配置装置比特流密钥认证
技术领域
实施例通常与可重新配置装置有关。更具体地,实施例与可重新配置装置比特流密钥认证有关。
背景技术
诸如现场可编程门阵列(FPGA)的可重新配置装置,可以重新配置以提供不同的硬件功能。在某些环境中,提供围绕此类重新配置的安全性可能很重要。
附图说明
通过阅读以下说明书和所附权利要求书,并参考以下附图,这些实施例的各种优点将相对于本领域技术人员将变得明显。
图1是根据实施例的电子处理系统的示例的框图;
图2A是根据一个实施例的可配置设备的示例的框图;
图2B是根据一个实施例的可配置设备的另一个示例的框图;
图3A至3C是根据一个实施例配置设备的方法示例的流程图;
图4A是根据一个实施例的云计算环境示例的框图;
图4B是根据一个实施例的比特流的示例的说明图;
图4C是根据一个实施例配置FPGA的方法示例的流程图;
图5A是根据一个实施例准备安全的FPGA比特流的方法示例的流程图;
图5B是根据一个实施例安全地配置FPGA的方法的示例的流程图;
图6是根据一个实施例的计算设备的示例的框图;
图7是根据一个实施例的处理器的示例的框图;并且
图8是根据一个实施例的计算系统的示例的框图。
具体实施方式
下面参考图1,电子处理系统10的一个实施例可以包括处理器11;永久存储介质12,通信地耦接到处理器11;可重新配置装置13,通过物理地隔离的可信通信信道通信地耦接到处理器11;安全配给器(secure provisioner)14,通信地耦接到处理器11和可重新配置装置13以提供一个安全的存储区域并在提供的安全的存储区域安全地存储远程生成的比特流安全密钥;和设备配置器15,使用远程生成的比特流和远程生成的比特流安全密钥配置可重新配置装置13。在某些实施例中,可以将安全配给器14进一步配置成为安全存储区域划分飞地(enclave),将飞地标识符与该飞地相关联,并通过物理地隔离的可信通信路径为可重新配置装置13提供飞地标识符。例如,可重新配置装置13可以包括一个FPGA设备,并且可以使用飞地标识符对远程生成的比特流进行编码,并使用远程生成的比特流安全密钥进行加密。
可以在硬件、软件或任何其适当的组合中实施上述处理器11、永久存储介质12、可重新配置装置13、安全配给器14、设备配置器15以及电子处理系统10的其他部件中的每一个的实施例。例如,硬件实施可能包括可配置的逻辑,例如可编程逻辑阵列(PLA)、FPGA、复杂的可编程逻辑设备(CPLD)、或使用例如集成电路(ASIC)、互补金属氧化物半导体(CMOS)或在晶体管-晶体管逻辑(TTL)技术或其任何组合的电路技术的固定功能的逻辑硬件上。替代地或附加地,这些部件的一些操作方面可以在一个或多个模块中实现为存储在机器或计算机可读存储介质(例如RAM,只读存储器(ROM),可编程ROM(PROM),固件,闪存等)将由处理器或计算设备执行的一组逻辑指令。例如,执行部件操作的计算机程序代码可以用一种或多种操作系统适用/适当的编程语言编写,操作系统适用/适当的编程语言包括面向对象的编程语言,如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等和常规过程编程语言,例如“C”编程语言或类似的编程语言。
在各种实施例中,系统10可能包括一个或多个应用程序处理器和/或一个或多个图形处理器。系统10可以是单个处理器台式机系统、多处理器工作站系统或具有大量处理器或处理器核的服务器系统。在某些实施例中,系统10可能是集成在芯片上系统(SoC)集成电路中的处理平台,以供在移动、手持、可穿戴或嵌入式设备中使用。
下面参考图2A,可配置设备20的实施例可以包括可配置装置21;安全地提供器22,可通信地耦接至可配置装置21以提供安全存储区域并将远程生成的比特流安全密钥安全地存储在提供的安全存储区域中;安全通信器23,可通信地耦接到可配置装置21和安全配给器22以在所提供的安全存储区域和可配置装置21之间建立可信通信路径,以及设备配置器24,可通信地耦接到可配置装置21以使用远程生成的比特流和远程生成的比特流安全密钥配置可配置装置21。例如,安全配给器22可以进一步被配置成划分用于安全存储区域的飞地,将飞地标识符与飞地相关联,并通过可信通信路径将飞地标识符提供给可配置装置21。在一些实施例中,安全通信器23可以进一步配置成为可信通信路径提供物理隔离的通信信道。
下面参考图2B,可配置设备25的实施例可以包括目标系统26,其与具有相同附图标记的上述内容相似,具有可配置装置21、安全配给器22、安全通信器23和设备配置器24的。装置25可以进一步包括源系统27,配置成在源系统27和安全配给器22之间建立安全通信信道,以在用于远程生成的比特流安全密钥的源系统27处远程生成比特流安全密钥,并且通过安全通信信道将远程生成的比特流安全密钥提供给安全配给器22。例如,源系统27还可以包括:比特流编码器28,用于在源系统27处利用飞地标识符对比特流进行远程编码;和比特流加密器29,用于在源系统27处利用比特流安全密钥对比特流进行远程加密。在本文的任何实施例中,可配置装置21可以包括可重新配置装置。例如,可重新配置装置可以包括FPGA设备(和/或PLA、CPLD等)。
可以以多种方式实例化各种安全部件(例如,安全配给器22、安全通信器23等)。例如,安全部件可能在物理地和/或在逻辑上与不可信的主机隔离。可以通过例如,INTEL虚拟化技术(VT)或ARM TRUSTZONE的虚拟化或分离技术在逻辑上隔离安全部件。附加或可替代地,安全部件可以在单独的、离散的硅片上实施,这些硅片不仅在同一裸芯片上物理地隔离,而且还通过总线隔离。
在一些实施例中,例如,如果装置的安全部件和其他部件共享相同的裸芯片或封装,则可以信任路径和/或信道,从而使得该路径/信道较不容易受到插入者攻击。如果安全部件和其他部件位于单独的裸芯片/封装上,如果受到密码保护,则可以信任路径/信道。可以利用各种认证技术来对包括例如未来安全架构(SAFE)的加密算法、高级加密标准(AES)算法等的各种安全部件/可执行文件进行加密和签名。
以上可配置装置21、安全配给器22、安全通信器23、设备配置器24、目标系统26、源系统27,比特流编码器28、比特流加密器29以及可配置设备20、25的其他部件中的每一个的实施例可以是以硬件、软件或其任何合适的组合来实现。例如,硬件实施方式可以包括可配置逻辑,例如PLA、FPGA、CPLD、或者在使用例如ASIC、CMOS或TTL技术或其任何组合的电路技术的固定功能逻辑硬件中。替代地或另外地,这些部件的一些操作方面可以在一个或多个模块中实现为存储在机器或计算机可读存储介质(例如RAM,ROM,PROM,固件,闪存等)中由处理器或计算设备执行的一组逻辑指令。例如,执行部件操作的计算机程序代码可以以一种或多种操作系统适用/适当的编程语言编写,操作系统适用/适当的编程语言包括面向对象的编程语言,如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等和常规过程编程语言,例如“C”编程语言或类似的编程语言。
下面参考图3A至图3C,配置装置的方法30的实施例可以包括:在步骤31处设置安全存储区域;在步骤32处将远程生成的比特流安全密钥安全地存储在所设置的安全存储区域中;在步骤33处建立所提供的安全存储区域和可配置装置之间的可信通信路径;和在步骤34处,用远程生成的比特流和远程生成的比特流安全密钥配置可配置装置。方法30可以进一步包括在步骤35处为安全存储区域划分飞地;在步骤36处将飞地标识符与飞地相关联;和在步骤37处在受信通信路径上将飞地标识符提供给可配置装置。例如,一些实施例还可包括在步骤38处为受信通信路径提供物理隔离的通信信道。
方法30的一些实施例可以进一步包括:在步骤41中,在源系统和安全存储区域之间建立安全通信信道;在步骤42中,在用于远程生成比特流安全密钥的源系统处远程生成比特流安全密钥;和在步骤43中,通过安全通信信道将远程生成的比特流安全秘钥提供给安全存储区域。方法30还可以包括在步骤44中,在源系统处用飞地标识符远程编码比特流。和在步骤45中,在源系统处使用比特流安全密钥远程加密比特流。在一些实施例中,在步骤46中,可配置装置可以包括可重新配置装置。例如,在步骤47中,可重新配置装置可以包括现场可编程门阵列装置。
方法30的实施例可以在电子处理系统或可配置设备中实现,例如本文所述的那些。更具体而言,方法30的硬件实现可以包括可配置逻辑,例如PLA、FPGA、CPLD,或者在使用例如ASIC、CMOS或TTL技术的电路技术的固定功能逻辑硬件中,或者它们的任何组合。替代地或附加地,方法30可以在一个或多个模块中实现为存储在机器或计算机可读存储介质(例如RAM、ROM、PROM、固件、闪存等)中用于由处理器或计算设备执行的一组逻辑指令。例如,执行部件操作的计算机程序代码可以以一种或多种操作系统适用/适当的编程语言编写,操作系统适用/适当的编程语言包括面向对象的编程语言,如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等和常规过程编程语言,例如“C”编程语言或类似的编程语言。例如,方法30的实施例可以在如下面结合示例18至24所描述的计算机可读介质上实现。
某些实施例可以有利地为云中的FPGA比特流认证密钥提供和管理提供一种方法和/或装置。例如,FPGA设备可以用作云计算中的通用加速器。FPGA可以提供灵活的定制、并行计算优势以及足够的接口支持。云服务提供器可以例如通过将FPGA计算能力作为一种服务提供(有时将其称为FPGA即服务(FaaS)),而将FPGA设备用于下一代云基础设施。
FPGA比特流加密可以帮助保护FPGA的设计防止被复制、被改变或反向工程。某些FPGA设备可以既可以使用可由小型外部连接电池(BBRAM)备份的专用的RAM,也可以使用只能编程一次的熔丝寄存器(例如eFUSE)在内部存储比特流解密密钥。在用户可能需要远程和/或频繁地生成或更新比特流安全密钥的云计算环境中,这种类型的FPGA安全性可能是麻烦的或不切实际的。此外,由于云可能不是一个可信的环境,因此用户可能希望将其密钥提供给FPGA,同时减少其他例如主机方其他用户或管理员的监听的安全风险。
有利地,一些实施例可以在云计算环境中提供安全的FPGA服务。特别地,一些实施例可以利用两个不同的安全性增强中的一者或两者来在云计算环境中配置FPGA。根据一些实施例的第一安全性增强可以包括在目标平台中提供安全存储区域,并利用该安全存储区域来交换安全信息,例如比特流安全密钥。可以从安全存储区域通过内部总线将比特流安全密钥提供给FPGA,以禁止监听。根据一些实施例的另一安全性增强可以包括在目标平台侧上生成认证标识符,并将认证标识符提供给源系统以嵌入到比特流中。例如,认证标识符可以被存储在安全存储区域中以由源系统安全地访问。认证标识符也可以通过内部总线提供给FPGA。然后,源系统可以在比特流中嵌入或编码认证标识符,以使得在解密比特流之前,可以将比特流认证标识符与存储在FPGA中的认证标识符进行比较,以在配置FPGA之前对比特流进行认证。利用认证标识符可以抑制试图用恶意比特流代替预期比特流的伪造的密钥攻击,(例如,因为恶意比特流将不包含安全交换的认证标识符)。
下面参考图4A,云计算环境50可以包括通过网络53连接到源系统52的一个或多个服务器51。服务器51可以包括耦接到处理器55的DRAM 54。处理器55可以包括容纳中央处理器单元(CPU)56和FPGA 57两者的多芯片封装(MCP)。CPU 56可以物理地耦接到MCP内的FPGA57,使得CPU 56和FPGA 57之间的通信路径58可能难以探测或监听。服务器51可以包括各种安全特征。一种这样的安全性特征可以包括为DRAM 54中的安全存储区域59提供相关联的标签或标识符的能力。
可以(例如由终端用户)生成秘密比特流安全密钥60以在源系统52处对比特流61进行加密。在将比特流61提供给目标平台(例如服务器51)以配置FPGA 57之前可以在源系统52和目标平台上的安全存储区域59之间的网络53上建立安全信道62。然后可以通过安全信道62将比特流安全密钥60从源系统52提供给安全存储区域59。可以通过安全信道62将与安全存储区域59相关联的标签提供给源系统52。标签可以在用比特流安全密钥60加密比特流61之前嵌入到比特流61中,或者添加到包含加密比特流61的传输包中。然后,可以将加密比特流61提供给目标平台并存储在DRAM 54中。
CPU 56可从安全存储器区域59加载密钥60,并将密钥60提供给FPGA57。CPU56还可将与安全存储器59相关联的标签提供给FPGA57。通信路径58可以包括芯片内和/或封装内总线以为整个业务提供安全信道(例如,很难在总线上监听业务)。安全信道和安全存储区域59可以保护秘密密钥60免受恶意软件或管理员的任何监听攻击。关联的标签可以与嵌入在比特流中的标签相同(例如,被消息认证代码(MAC)覆盖,但被密码覆盖),并用作认证ID,以禁止或防止伪造密钥攻击,并且可以保证仅可以使用正确的比特流来配置FPGA57。有利地,一些实施例可以提供用于远程比特流部署的安全技术。根据一些实施例,即使FPGA 57位于不可信的公共云环境中,云用户或云运营商也可以远程且安全地提供和更新FPGA比特流并保护密钥。
一些实施例可以有利地为云计算环境中的异构CPU和FPGA平台提供灵活和安全的密钥提供。例如,各种云计算环境可以利用异构处理器,例如将CPU和FPGA封装在同一套接口中的INTEL XEON+FPGA MCP。该封装可有利地用于在物理套接口内的CPU和FPGA之间建立安全信道。例如,CPU可以利用INTEL QUICKPATH INTERCONNECT(QPI)点对点处理器互连通过总线耦接到FPGA。
一些实施例可以进一步利用英特尔软件保护扩展(SGX)技术来支持用于这种异构平台的远程安全密钥提供技术,并为云计算环境提供可伸缩/灵活的密钥提供技术。SGX可能会保护所选的代码和数据不被披露或修改。开发人员可以将应用程序划分为CPU加固的飞地(例如,即使在受到破坏的平台上也可以提高安全性的受保护执行区域)。SGX可以提供安全的远程证明特性,该特性使开发人员可以挑战远程飞地并将秘密信息安全地提供到远程目标系统中。SGX可能非常适合为远程目标系统提供安全的存储区域,某些实施例可利用该存储区域来交换比特流安全密钥和/或认证标识符。在一些实施例中,套接口中的总线可以提供可信的CPU到FPGA的安全信道,并且与SGX存储器业务相关联的标签可以帮助识别安全环境(例如,分区的飞地)。
在一些实施例中,可以将比特流安全密钥保存在SGX飞地中(例如,在存储器中加密),并经由物理安全套接口内部总线将其推送到FPGA。飞地标识符可以与SGX飞地相关联,并提供给终端用户以嵌入到比特流中。比特流可以被MAC认证,并且其安全密钥可以通过具有飞地标识符的总线业务被推送通过内部总线,以进一步认证比特流的身份。然后,只有已认证的比特流才能被FPGA中正确的已认证安全密钥解密。所有或大多数这些业务都可以安全地在包括SGX飞地以及CPU和FPGA套接口的可信的区域内发生。有利地,系统管理员或其他恶意用户被禁止或阻止监听和破解该过程。
下面参见图4B,用于比特流70的说明性结构的实施例可以包括报头71,其后是认证标识(ID)72,其后是主体部分73,然后是页脚74和消息认证码(MAC)75。比特流70的第一部分76可以被加密。例如,比特流70的主体部分73可以用比特流安全密钥加密。在一些实施例中,加密的第一部分76可以包括比特流70的其他部分,包括报头71、认证ID 72、页脚74等。可以对比特流70的第二部分77进行认证。例如,报头71、认证ID 72、主体部分73和页脚74可以由比特流70的MAC 75部分中的代码认证。
终端用户可以生成比特流安全密钥以对比特流70进行加密。终端用户还可以将SGX飞地标识符(例如,从目标平台提供)的哈希值插入到比特流70的头部71之中或之后以作为认证ID72。在目标平台上,当CPU加载SGX飞地时,CPU可以确定SGX飞地标识符的哈希值,并将该哈希值存储到CPU寄存器中,该寄存器仅对软件可读。随后,哈希值可以用作与安全存储器相关联的标签,并与比特流70中的认证ID 72进行比较,以标识哪个SGX飞地持有比特流70的比特流安全密钥。
下面参考图4C,配置FPGA的方法80可以包括如上所述的在开发环境和目标平台之间的初步设置。例如,用户可以使用在目标平台上运行的SGX飞地设置安全信道,并经由安全信道将比特流安全密钥推送进入目标SGX飞地。在目标平台中,SGX飞地代码可以将比特流安全密钥安全地导入到CPU中。CPU可以经由例如QPI总线的内部硬件连接将密钥推送到FPGA。与秘钥推送指令一起,CPU可以将安全存储器相关的标签提供给FPGA,该标签可以是在SGX飞地被划分时由CPU确定的SGX飞地标识符的哈希值。该哈希值还可以由用户在开发环境中脱机独立地计算,并在将加密的比特流提供给目标平台之前嵌入到比特流的认证ID中。当目标平台的CPU加载SGX飞地时,它可能会重新计算SGX飞地标识符的当前哈希值,并将其存储到无法通过软件访问的SGX飞地控制结构(SECS)中。
CPU可以加载加密的比特流(例如,使用软件开发工具包(SDK)工具),并且从比特流中提取认证ID(例如,SGX飞地标识符的哈希值)。在步骤81中,FPGA可以检查由CPU推送进入FPGA中的SGX飞地标识符是否与从比特流提取的认证ID匹配。如果在步骤81中通过了检查,则在步骤82中可以在密钥寄存器中临时提供比特流安全密钥。否则,FPGA的重新配置可以中止。
如果在步骤81中未终止重新配置,则FPGA可以在步骤83中使用密钥来认证比特流的MAC值,并在步骤84处验证所计算的MAC值。如果MAC被成功验证,则密钥有效。否则,FPGA的重新配置可能会中止。如果在步骤84中重新配置未终止,则FPGA可以在步骤85中使用密钥对比特流进行解密,并在步骤86中将解密后的比特流下载到FPGA逻辑中。
下面参考图5A,准备比特流的方法100的实施例可以包括:在步骤101中开发FPGA逻辑;在步骤102中请求飞地密钥配置飞地(key provisioning enclave);以及在步骤103中,在报头中用飞地密钥配置飞地的哈希值制作比特流文件。例如,步骤101、102和103中的每一个可以发生在开发环境104中。
下面参考图5B,配置设备的方法120的实施例可以包括:在步骤122中在目标平台121上设置飞地密钥配置飞地,并在步骤123中对目标平台121进行远程认证。如果在步骤124中认证无效,则可以中止重新配置。如果在步骤124中认证有效,则方法120可以在步骤125中继续在飞地和远程开发环境之间建立安全信道,在步骤126中将比特流的秘密密钥提供到飞地中,并且在步骤127中CPU可以加载加密的比特流到目标平台上。
然后,在步骤128中,CPU然后可以将与SECS中的飞地相对应的确定的哈希值(hashvalue)加载为安全存储关联标签(secure memory associated tag),并且在步骤129中将秘密比特流密钥连同关联安全存储标签一起推送进入FPGA密钥寄存器中。在步骤130中,FPGA可以将来自比特流的认证ID与标签进行比较。如果在步骤131中,该比较无效,则可以终止重新配置。如果在步骤131处比较有效,则在步骤132中FPGA可以使用秘密密钥来认证比特流。如果在步骤133中认证是无效的,则可以终止重新配置。如果在步骤133中认证是有效的,则在步骤134中FPGA可以解密比特流主体并使用解密的比特流配置用户逻辑。例如,步骤130至134可以全部发生在FPGA 135内部,并且步骤128至134可以全部发生在处理器封装136内部。
图6示出了可以容易地替代已描述过的各种系统、装置、平台和/或环境的一个或多个部件的计算设备158。在所示的示例中,设备158包括时间源160(例如,晶体振荡器、时钟)、向设备158供电的电池162、收发器164(例如,无线或有线)、显示器166和大容量存储器168(例如,硬盘驱动器/HDD、固态磁盘/SSD、光盘、闪存)。设备158还可包括具有集成存储器控制器(IMC)172的主机处理器170(例如,CPU),其可与系统存储器174通信。系统存储器174可包括例如配置为一个或多个存储器模块的动态随机存取存储器(DRAM),存储器模块例如是双列直插式存储器模块(DIMM)、小尺寸DIMM(SODIMM)等。所示设备158还包括在半导体裸芯片178上与处理器170一起实现的输入输出(IO)模块176作为芯片上系统(SoC),其中IO模块176用作主机设备,并且可以与例如显示器166、收发器164、大容量存储器168等通信。大容量存储器168可以包括存储一个或多个密钥(例如,MAC生成密钥、加密密钥)的非易失性存储器(NVM)。
计算设备158可以包括使半导体裸芯片178用作例如本文所述的各种实施例的可配置装置的逻辑180。因此,逻辑180可以使计算设备158提供安全存储区域,将远程生成的比特流安全密钥安全地存储在所提供的安全存储区域中,在所提供的安全存储区域和可配置装置之间建立可信通信路径,并且使用远程生成的比特流和远程生成的比特流安全密钥配置可配置装置。逻辑180还可以使计算设备158为安全存储区域划分飞地,将飞地标识符与飞地相关联,并通过可信通信路径将飞地标识符提供给可配置装置。例如,在一些实施例中,逻辑180还可以使计算设备158为可信通信路径提供物理地隔离的通信信道。
此外,逻辑180还可以使计算设备158在源系统和安全存储区域之间建立安全通信信道,在用于远程生成的比特流安全密钥的源系统处远程生成比特流安全密钥,以及通过安全通信信道将远程生成的比特流安全密钥提供给安全存储区域。逻辑180还可以使计算设备158在源系统处用飞地标识符远程编码比特流,并在源系统处用比特流安全密钥远程加密比特流。在一些实施例中,可配置装置可以包括可重新配置装置。例如,可重新配置装置可以包括FPGA。在一个示例中,时间源160是自主控制的/独立于控制器的,以便增强安全性(例如,防止控制器篡改节奏、频率、等待时间和/或时间戳数据)。逻辑180也可以和计算设备158独立地实现。
图7示出了根据一个实施例的处理器核200。处理器核200可以是用于例如,微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或其他执行代码的设备的任何类型的处理器的核。尽管在图7中仅示出了一个处理器核200,但是,处理元件可替代地包括一个以上的图7所示的处理器核200。处理器核200可以是单线程核,或者对于至少一个实施例,处理器核200可以是多线程的,其中每个核可以包括一个以上的硬件线程环境(或“逻辑处理器”)。
图7还示出了耦接至处理器核200的存储器270。存储器270可以是本领域技术人员已知或以其他方式可获得的各种存储器中的任何一种(包括存储器层次结构的各个层)。存储器270可以包括将由处理器核200执行的一个或多个代码213指令,其中代码213可以实现已描述的方法30(图3A至图3C)。处理器核200遵循由代码213指示的指令的程序序列。每个指令可以进入前端部分210并且由一个或多个解码器220进行处理。解码器220可以生成诸如以预定义的格式的固定宽度的微操作的微操作为其输出,或者可以生成反映原始代码指令的其他指令、微指令或控制信号。所示的前端部分210还包括寄存器重命名逻辑225和调度逻辑230,它们通常分配资源并使与转换指令相对应的操作排队以便执行。
处理器核200被示为包括具有一组执行单元255-1至255-N的执行逻辑250。一些实施例可以包括专用于特定功能或功能集的多个执行单元。其他实施例可以仅包括一个执行单元或可以执行特定功能的一个执行单元。所示的执行逻辑250执行由代码指令指定的操作。
在完成由代码指令指定的操作的执行之后,后端逻辑260退出代码213的指令。在一个实施例中,处理器核200允许无序执行,但是要求按顺序退出指令。退出逻辑265可以采用本领域技术人员已知的多种形式(例如,重新排序缓冲器等)。以这种方式,至少在关于解码器生成的输出、寄存器重命名逻辑225所利用的硬件寄存器和表以及由执行逻辑250修改的任何寄存器(未示出)方面,处理器核200在代码213的执行期间变换。
尽管在图7中未示出,处理元件可能包括带有处理器核200的芯片上的其他元件。例如,一个处理元件可能包括与处理器核200一起的内存控制逻辑。处理元件可能包括I/O控制逻辑和/或可能包括与内存控制逻辑集成的I/O控制逻辑。处理元件可能还包括一个或多个缓存。
下面参考图8,示出了根据实施例的计算系统1000实施例的框图。图8所示是包括第一处理元件1070和第二处理元件1080的多处理器系统1000。虽然示出了两个处理元件1070和1080,但是应当理解,系统1000的实施例也可以仅包括一个这样的处理元件。
系统1000被示为点对点互连系统,其中第一处理元件1070和第二处理元件1080经由点对点互连1050耦接。应该理解,任何或全部图8中所示的互连可以实现为多点总线来替代点对点互连。
如图8所示,每个处理元件1070和1080可以是包括第一处理器核和第二处理器核的多核处理器(即,处理器核1074a和1074b以及处理器核1084a和1084b)。这样的核1074a、1074b、1084a、1084b可以配置成以类似于以上结合图7所讨论的方式来执行指令代码。
每个处理元件1070、1080可以包括至少一个共享高速缓存1896a、1896b。共享高速缓存1896a、1896b可以分别存储由例如核1074a、1074b和1084a、1084b的处理器的一个或多个部件利用的数据(例如,指令)。例如,共享高速缓存1896a、1896b可以本地缓存存储在存储器1032、1034中的数据,以供处理器的部件更快地访问。在一个或多个实施例中,共享高速缓存1896a、1896b可包括一个或多个中间级别的缓存,例如级别2(L2)、级别3(L3)、级别4(L4)或其他级别的缓存、最后级别缓存(LLC)和/或其组合。
尽管仅示出了两个处理元件1070、1080,但是应当理解,实施例的范围不限于此。在其他实施例中,给定处理器中可以存在一个或多个附加处理元件。替代地,处理元件1070、1080中的一个或多个可以是除处理器之外的元件,例如加速器或现场可编程门阵列。例如,附加处理元件可以包括与第一处理器1070相同的附加处理器、与第一处理器1070异构或不对称的附加处理器、加速器(例如,图形加速器或数字信号处理(DSP)单元)、现场可编程门阵列或任何其他处理元件。就包括架构、微架构、热、功耗特性等的一系列择优指标而言,处理元件1070、1080之间可以有多种差异。这些差异可以有效地在处理元件1070、1080之间表现出自身的不对称性和异构性。对于至少一个实施例,各种处理元件1070、1080可以驻留在相同的裸芯片封装中。
第一处理元件1070可以进一步包括存储器控制器逻辑(MC)1072以及点对点(P-P)接口1076和1078。类似地,第二处理元件1080可以包括MC 1082以及P-P接口1086和1088。如图8所示,MC 1072和1082将处理器耦接到相应的存储器,即存储器1032和存储器1034,存储器可以是本地附接到相应处理器的主存储器的一部分。尽管将MC1072和1082示出为集成到处理元件1070、1080中,但是对于替代实施例,MC逻辑可以是处理元件1070、1080外部的离散逻辑,代替集成在其中。
第一处理元件1070和第二处理元件1080可以分别经由P-P互连1076、1086耦接到I/O子系统1090。如图8所示,I/O子系统1090包括P-P接口1094和1098。此外,I/O子系统1090包括接口1092以将I/O子系统1090与高性能图形引擎1038耦接。在一个实施例中,可以使用总线1049将图形引擎1038耦接到I/O子系统1090。或者,点对点互连可以耦接这些部件。
反过来,I/O子系统1090可以通过接口1096耦接到第一总线1016。在一个实施例中,第一总线1016可以是外围部件互连(PCI)总线,或可以是诸如PCI Express总线的总线或其他第三代I/O互连总线的总线,然而实施例的范围不限于此。
如图8所示,各种I/O设备1014(例如,生物特征扫描仪、扬声器、相机、传感器)可以与可以将第一总线1016耦接到第二总线1020的总线桥接器1018一起耦接到第一总线1016。在实施例中,第二总线1020可以是低引脚数(LPC)总线。多种设备可以耦接到第二总线1020,包括例如键盘/鼠标1012、通信装置1026和数据存储单元1019,数据存储单元1019例如是在一个实施例中可以包括代码1030的磁盘驱动器或其他大容量存储设备。所示的代码1030可以实现已描述的方法30(图3A至3C),并且可以类似于已描述的代码213(图7)。此外,音频I/O 1024可以耦接到第二总线1020,并且电池端口1010可以向计算系统1000供电。
注意到可以构想其他实施例。例如,代替图8的点对点架构,系统可以实现多点总线或另一种这样的通信拓扑。同样,图8的元件也可替换地使用比图8所示更多或更少的集成芯片来划分。
附加说明和示例
示例1可以包括电子处理系统,该电子处理系统包括处理器、与处理器通信地耦接的永久性存储介质、通过物理地隔离的可信通信信道通信地耦接到处理器的可重新配置装置、通信地耦接到处理器和可重新配置装置以用于提供安全存储区域并将远程生成的比特流安全密钥安全地存储在所提供的安全存储区域中的安全配给器,和用于使用远程生成的比特流和远程生成的比特流安全密钥来配置可重新配置装置的设备配置器。
示例2可以包括示例1的系统,其中安全配给器进一步为安全存储区域划分飞地,将飞地标识符与飞地相关联,并通过物理隔离的可信通信路径将飞地标识符提供给可重新配置装置。
示例3可以包括示例2的系统,其中,可重新配置装置包括现场可编程门阵列装置,并且其中,远程生成的比特流使用飞地标识符编码,并使用远程生成的比特流安全密钥加密。
示例4可能包括可配置设备,可配置设备包括可配置装置、通信地耦接到可配置的设备以提供安全存储区域并将远程生成的比特流安全密钥安全地存储在所提供的安全存储区域的安全配给器、通信地耦接到可配置装置和安全配给器以在所提供的安全存储区域和可配置装置之间建立可信通信路径的安全通信器,和通信地耦接到可配置装置以使用远程生成的比特流和远程生成的比特流安全密钥来配置可配置装置的设备配置器。
示例5可以包括示例4的设备,其中安全配给器还为安全存储区域划分飞地,将飞地标识符与飞地相关联,并通过可信通信路径将飞地标识符提供给可配置装置。
示例6可能包括示例5的设备,其中安全通信器进一步为可信通信路径提供物理隔离的通信信道。
示例7可以包括示例4的设备,还包括:源系统,用于在源系统和安全配给器之间建立安全通信信道,在用于远程生成比特流安全密钥的源系统处远程生成比特流安全密钥,并通过安全通信信道将远程生成的比特流安全密钥提供给安全配给器。
示例8可以包括示例7的设备,其中,源系统还包括:比特流编码器,用于在源系统处使用飞地标识符对比特流进行远程编码;和比特流加密器,用于在源系统处使用比特流安全密钥对比特流进行远程加密。
示例9可能包括示例4到8中任何一个的设备,其中可配置装置包含一个可重新配置装置。
示例10可能包括示例9的设备,其中可重新配置装置包括一个现场可编程门阵列装置。
示例11可以包括一种配置设备的方法,该方法包括:提供安全存储区域;将远程生成的比特流安全密钥安全地存储在所提供的安全存储区域中;在所提供的安全存储区域和可配置装置之间建立可信通信路径,并使用远程生成的比特流和远程生成的比特流安全密钥配置可配置装置。
示例12可以包括示例11的方法,该方法还包括:为安全存储区域划分飞地,将飞地标识符与飞地相关联,以及通过可信通信路径将飞地标识符提供给可配置装置。
示例13可以包括示例12的方法,该方法还包括为可信通信路径提供物理地隔离的通信信道。
示例14可能包括示例11的方法,该方法还包括在源系统和安全存储区域之间建立安全的通信信道,并在用于远程生成比特流安全密钥的源系统上远程生成比特流安全密钥,并通过安全通信信道将远程生成的比特流安全密钥提供到安全存储区域。
示例15可能包括示例14的方法,该方法还包括在源系统处使用飞地标识符远程编码比特流,并在源系统处使用比特流安全密钥远程加密比特流。
示例16可以包括示例11至示例15中的任何一个的方法,其中可配置装置包括可重新配置装置。
示例17可以包括示例16的方法,其中,可重新配置装置包括现场可编程门阵列装置。
示例18可以包括至少一个计算机可读介质,该计算机可读介质包括一组指令,当由计算设备执行该指令时,该指令使计算设备提供安全存储区域,将远程生成的比特流安全密钥安全地存储在所提供的飞地域中存储区域中,在所提供的安全存储区域和可配置装置之间建立可信通信路径,并使用远程生成的比特流和远程生成的比特流安全密钥配置可配置装置。
示例19可以包括示例18的至少一个计算机可读介质,其包括另一组指令,该指令在由计算设备执行时使计算设备为安全存储区域划分飞地,并将飞地标识符与飞地相关联,并通过可信通信路径将飞地标识符提供给可配置装置。
示例20可以包括示例19的至少一个计算机可读介质,其包括另一组指令,该指令在由计算设备执行时使计算设备为可信通信路径提供物理隔离的通信信道。
示例21可以包括示例18的至少一个计算机可读介质,包括至少一组指令,该指令在由计算设备执行时使计算设备在源系统与安全存储区域之间建立安全通信信道,在用于远程生成的比特流安全密钥的源系统处远程生成比特流安全密钥,并通过安全通信信道将远程生成的比特流安全密钥提供给安全存储区域。
示例22可以包括示例21的至少一个计算机可读介质,其包括另一组指令,该指令在由计算设备执行时使计算设备在源系统处使用飞地标识符对比特流进行远程编码,并在源系统处使用比特流安全密钥远程加密比特流。
示例23可以包括示例18至22中任一示例的至少一个计算机可读介质,其中,可配置装置包括可重新配置装置。
示例24可以包括示例23的至少一种计算机可读介质,其中,可重新配置装置包括现场可编程门阵列装置。
示例25可以包括配置设备,配置设备包括:用于提供安全存储区域的装置、用于在所提供的安全存储区域中安全地存储远程生成的比特流安全密钥的装置,用于在所提供的安全存储区域和可配置装置之间建立可信通信路径的装置,以及用于使用远程生成的比特流和远程生成的比特流安全密钥来配置可配置装置的装置。
示例26可以包括示例25的设备,该装置还包括:用于为安全存储区域划分飞地的装置;用于将飞地标识符与飞地相关联的装置;以及用于通过可信通信路径将飞地标识符提供给可配置装置的装置。
示例27可以包括示例26的设备,该装置还包括用于为可信通信路径提供物理地隔离的通信信道的装置。
示例28可能包括示例25的设备,还包括用于在源系统和安全存储区域之间建立安全通信信道的装置,在用于远程生成比特流安全密钥的源系统上远程生成比特流安全密钥的装置,用于通过安全通信信道为安全存储区域提供远程生成的比特流安全密钥的装置。
示例29可以包括示例28的设备,该装置还包括:用于在源系统处使用飞地标识符对比特流进行远程编码的装置;以及用于在源系统处使用比特流安全密钥对比特流进行远程加密的装置。
示例30可以包括示例25到29中的任何一个的设备,其中,可配置装置包括可重新配置装置。
示例31可能包括示例30的设备,其中可重新配置装置包括一个现场可编程门阵列装置。
实施例适用于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片组部件、PLA、存储芯片、网络芯片、片上系统(SoC)、SSD/NAND控制器ASIC等。另外,在一些附图中,信号导线用线表示。一些信号导线可能不同,以指示更多的组成信号路径,一些信号导线具有数字标签,以指示组成信号路径的数量,和/或一些信号导线在一个或多个末端具有箭头,以指示主要信息流的方向。然而,这不应以限制的方式来解释。而是,可以将这种增加的细节与一个或多个示例性实施例结合使用,以促进对电路的更容易的理解。任何表示的信号线,无论是否具有附加信息,实际上都可以包括一个或多个可以在多个方向传播的信号,并且可以用任何合适类型的信号方案来实现,例如用差分对、光纤线和/或单端线实现数字或模拟线。
可能已经给出了示例尺寸/模型/值/范围,但是实施例不限于此。随着制造技术(例如,光刻法)随着时间的变成熟,期望可以制造更小尺寸的器件。另外,为了简化图示和讨论,并且不使实施例的某些方面不清楚,在图中可能会或可能不会显示与IC芯片和其他部件的众所周知的电源/接地连接。此外,可以以框图形式示出布置,为了避免混淆实施例,并且还鉴于以下事实:关于这种框图布置的实现的细节高度地取决于要在其中实现该实施例的平台,即,这些细节应该完全在本领域技术人员的能力范围内。在阐述具体细节(例如,电路)以便描述示例实施例的情况下,对于本领域技术人员应当显而易见的是,可以在没有这些具体细节的情况下或以这些具体细节的变化来实践实施例。因此,该描述应被认为是说明性的而不是限制性的。
术语“耦接”在本文中可以用来指所讨论的部件之间的任何类型的直接或间接的关系,并且可以应用于电、机械、流体、光学、电磁、机电或其他连接。另外,术语“第一”、“第二”等在本文中仅可用于便于讨论,并且除非另外指出,否则不具有特定的时间或顺序意义。
如在本申请和权利要求书中使用的,由术语“一个或多个”连接的术语列表可以表示所列出术语的任何组合。例如,短语“A、B或C中的一个或多个”可以表示A、B、C;A和B;A和C;B和C;或A、B和C。
从前文的描述中,本领域技术人员将理解,可以以各种形式来实现实施例的宽泛的技术。因此,尽管已经结合实施例的特定示例描述了实施例,但是实施例的真实范围不应受到如此限制,因为在研究附图、说明书和所附权利要求书之后,其他修改对本领域技术人员将变得显而易见。

Claims (24)

1.一种电子处理系统,包括:
处理器;
永久性存储介质,与所述处理器通信地耦接;
可重新配置装置,通过物理地隔离的受信通信信道通信地耦接到所述处理器;
安全配给器,通信地耦接到所述处理器和所述可重新配置装置,以提供安全存储区域并将远程生成的比特流安全密钥安全地存储在所提供的安全存储区域中;以及
设备配置器,用于使用远程生成的比特流和所述远程生成的比特流安全密钥配置所述可重新配置装置。
2.根据权利要求1所述的系统,其中,所述安全配给器还用于:
为所述安全存储区域划分飞地;
将飞地标识符与所述飞地相关联;以及
通过物理隔离的可信通信路径将飞地标识符提供给所述可重新配置装置。
3.根据权利要求2所述的系统,其中,所述可重新配置装置包括现场可编程门阵列装置,并且其中,所述远程生成的比特流用所述飞地标识符编码,并且用所述远程生成的比特流安全密钥加密。
4.一种可配置的设备,包括:
可配置装置;
安全配给器,通信地耦接到所述可配置装置,以提供安全存储区域,并将远程生成的比特流安全密钥安全地存储在所提供的安全存储区域中;
安全通信器,通信地耦接到所述可配置装置和所述安全配给器,以在所提供的安全存储区域和所述可配置装置之间建立可信通信路径;以及
设备配置器,通信地耦接到所述可配置装置,以使用远程生成的比特流和所述远程生成的比特流安全密钥来配置所述可配置装置。
5.根据权利要求4所述的设备,其中,所述安全配给器还用于:
为所述安全存储区域划分飞地;
将飞地标识符与所述飞地相关联;以及
通过可信通信路径将所述飞地标识符提供给可配置装置。
6.根据权利要求5所述的设备,其中,所述安全通信器还为所述可信通信路径提供物理地隔离的通信信道。
7.根据权利要求4所述的设备,还包括源系统,用于:
在所述源系统和所述安全配给器之间建立安全通信信道;
在用于远程生成比特流安全密钥的所述源系统处远程生成比特流安全密钥;以及
通过所述安全通信信道将所述远程生成的比特流安全密钥提供给所述安全配给器。
8.根据权利要求7所述的设备,其中,所述源系统还包括:
比特流编码器,用于在所述源系统处使用所述飞地标识符对所述比特流进行远程编码;以及
比特流加密器,用于在所述源系统处使用所述比特流安全密钥对所述比特流进行远程加密。
9.根据权利要求4至8中的任一项所述的设备,其中,所述可配置装置包括可重新配置装置。
10.根据权利要求9所述的装置,其中所述可重新配置装置包括现场可编程门阵列装置。
11.一种配置设备的方法,包括:
提供安全存储区域;
将远程生成的比特流安全密钥安全地存储在所提供的安全存储区域中;
在所提供的安全存储区域和可配置装置之间建立可信通信路径;和
使用远程生成的比特流和所述远程生成的比特流安全密钥配置所述可配置装置。
12.根据权利要求11所述的方法,还包括:
为所述安全存储区域划分飞地;
将飞地标识符与所述飞地相关联;和
通过所述可信通信路径将飞地标识符提供给所述可配置装置。
13.根据权利要求12所述的方法,还包括:
为所述可信通信路径提供物理地隔离的通信信道。
14.根据权利要求11所述的方法,还包括:
在所述源系统和所述安全存储区域之间建立安全通信信道;
在用于远程生成比特流安全密钥的所述源系统处远程生成比特流安全密钥;以及
通过所述安全通信信道将所述远程生成的比特流安全密钥提供给所述安全存储区域。
15.根据权利要求14所述的方法,还包括:
在所述源系统处使用所述飞地标识符对所述比特流进行远程编码;以及
在所述源系统处使用所述比特流安全密钥对所述比特流进行远程加密。
16.根据权利要求11至15中的任一项所述的方法,其中,所述可配置装置包括可重新配置装置。
17.根据权利要求16所述的方法,其中,所述可重新配置装置包括现场可编程门阵列装置。
18.一种可配置的设备,包括:
用于提供安全存储区域的装置;
用于将远程生成的比特流安全密钥安全地存储在所提供的安全存储区域中的装置;
用于在所提供的安全存储区域和可配置装置之间建立可信通信路径的装置;和
用于使用远程生成的比特流和所述远程生成的比特流安全密钥配置所述可配置装置的装置。
19.根据权利要求18所述的设备,还包括:
用于为所述安全存储区域划分飞地的装置;
用于将飞地标识符与所述飞地相关联的装置;和
用于通过所述可信通信路径将飞地标识符提供给所述可配置装置的装置。
20.根据权利要求19所述的设备,还包括:
用于为所述可信通信路径提供物理地隔离的通信信道的装置。
21.根据权利要求18所述的设备,还包括:
用于在源系统和所述安全存储区域之间建立安全通信信道的装置;
用于在用于远程生成的比特流安全密钥的所述源系统处远程生成比特流安全密钥的装置;以及
用于通过所述安全通信信道将所述远程生成的比特流安全密钥提供给所述安全存储区域的装置。
22.根据权利要求21所述的设备,还包括:
在源系统上用飞地标识符对比特流进行远程编码的装置;以及
用于在源系统用比特流安全密钥远程加密比特流的装置。
23.根据权利要求18至22中的任一项所述的设备,其中,所述可配置装置包括可重新配置装置。
24.根据权利要求23所述的设备,其中所述可重新配置装置包括现场可编程门阵列装置。
CN201780090859.8A 2017-06-16 2017-06-16 可重新配置装置比特流密钥认证 Pending CN110622161A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/088551 WO2018227518A1 (en) 2017-06-16 2017-06-16 Reconfigurable device bitstream key authentication

Publications (1)

Publication Number Publication Date
CN110622161A true CN110622161A (zh) 2019-12-27

Family

ID=64658937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780090859.8A Pending CN110622161A (zh) 2017-06-16 2017-06-16 可重新配置装置比特流密钥认证

Country Status (4)

Country Link
US (1) US11494520B2 (zh)
CN (1) CN110622161A (zh)
DE (1) DE112017007643T5 (zh)
WO (1) WO2018227518A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10250572B2 (en) * 2016-09-29 2019-04-02 Amazon Technologies, Inc. Logic repository service using encrypted configuration data
US10162921B2 (en) 2016-09-29 2018-12-25 Amazon Technologies, Inc. Logic repository service
US10642492B2 (en) 2016-09-30 2020-05-05 Amazon Technologies, Inc. Controlling access to previously-stored logic in a reconfigurable logic device
US11115293B2 (en) 2016-11-17 2021-09-07 Amazon Technologies, Inc. Networked programmable logic service provider
US10673439B1 (en) * 2019-03-27 2020-06-02 Xilinx, Inc. Adaptive integrated programmable device platform
US11212085B2 (en) * 2019-03-29 2021-12-28 Intel Corporation Technologies for accelerated hierarchical key caching in edge systems

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9930145D0 (en) * 1999-12-22 2000-02-09 Kean Thomas A Method and apparatus for secure configuration of a field programmable gate array
US20070288765A1 (en) * 1999-12-22 2007-12-13 Kean Thomas A Method and Apparatus for Secure Configuration of a Field Programmable Gate Array
US7058177B1 (en) * 2000-11-28 2006-06-06 Xilinx, Inc. Partially encrypted bitstream method
GB0114317D0 (en) * 2001-06-13 2001-08-01 Kean Thomas A Method of protecting intellectual property cores on field programmable gate array
US7162644B1 (en) * 2002-03-29 2007-01-09 Xilinx, Inc. Methods and circuits for protecting proprietary configuration data for programmable logic devices
US7191342B1 (en) * 2002-06-04 2007-03-13 Xilinx, Inc. Methods and circuits for allowing encrypted and unencrypted configuration data to share configuration frames
US6894527B1 (en) * 2003-05-12 2005-05-17 Xilinx, Inc. Evolved circuits for bitstream protection
US7606362B1 (en) * 2005-01-25 2009-10-20 Altera Corporation FPGA configuration bitstream encryption using modified key
US7716497B1 (en) * 2005-06-14 2010-05-11 Xilinx, Inc. Bitstream protection without key storage
US7675313B1 (en) * 2006-08-03 2010-03-09 Lattice Semiconductor Corporation Methods and systems for storing a security key using programmable fuses
US20160248588A1 (en) * 2006-09-07 2016-08-25 Altera Corporation Security ram block with multiple partitions
CN101854243B (zh) * 2010-04-30 2012-12-12 株洲南车时代电气股份有限公司 一种电路系统设计加密电路及其加密方法
US8516268B2 (en) * 2010-08-23 2013-08-20 Raytheon Company Secure field-programmable gate array (FPGA) architecture
US8972746B2 (en) * 2010-12-17 2015-03-03 Intel Corporation Technique for supporting multiple secure enclaves
US8539601B2 (en) * 2012-01-17 2013-09-17 Lockheed Martin Corporation Secure data storage and retrieval
US20140344581A1 (en) * 2013-05-16 2014-11-20 Cisco Technology, Inc. Secure Upgrades for Field Programmable Devices
US20150304736A1 (en) * 2013-06-04 2015-10-22 Reshma Lal Technologies for hardening the security of digital information on client platforms
US9672385B2 (en) * 2013-10-07 2017-06-06 Microsemi SoC Corporation Method of improving FPGA security using authorization codes
US9225695B1 (en) * 2014-06-10 2015-12-29 Lockheed Martin Corporation Storing and transmitting sensitive data
US9847980B2 (en) * 2015-06-17 2017-12-19 Microsoft Technology Licensing, Llc Protecting communications with hardware accelerators for increased workflow security
US20170093572A1 (en) * 2015-09-25 2017-03-30 Mcafee, Inc. Systems and methods for utilizing hardware assisted protection for media content
US9940483B2 (en) * 2016-01-25 2018-04-10 Raytheon Company Firmware security interface for field programmable gate arrays
CN105955783A (zh) 2016-05-09 2016-09-21 浙江大学 一种基于fpga控制的远程fpga逻辑代码的下载方法
US11405177B2 (en) * 2017-01-24 2022-08-02 Microsoft Technology Licensing, Llc Nested enclave identity
US11036875B2 (en) * 2017-01-24 2021-06-15 Microsoft Technology Licensing, Llc Dependent enclave binaries

Also Published As

Publication number Publication date
US20210012035A1 (en) 2021-01-14
DE112017007643T5 (de) 2020-05-20
WO2018227518A1 (en) 2018-12-20
US11494520B2 (en) 2022-11-08

Similar Documents

Publication Publication Date Title
US11720503B2 (en) Technologies for secure authentication and programming of accelerator devices
JP7416775B2 (ja) 周辺デバイス
US11088846B2 (en) Key rotating trees with split counters for efficient hardware replay protection
US11494520B2 (en) Reconfigurable device bitstream key authentication
US11789625B2 (en) Managing privileges of different entities for an integrated circuit
KR102168984B1 (ko) 보안 디바이스 페어링
CN109416718B (zh) 云数据中心中应用容器的可信部署
TWI715619B (zh) 用於硬體強制單向密碼學的處理器、方法及系統
US10877806B2 (en) Method and apparatus for securely binding a first processor to a second processor
US8856504B2 (en) Secure virtual machine bootstrap in untrusted cloud infrastructures
TWI493951B (zh) 保護對稱加密鑰的系統及方法
US10990687B2 (en) System and method for user managed encryption recovery using blockchain for data at rest
Liu et al. Study of secure boot with a FPGA-based IoT device
US9678894B2 (en) Cache-less split tracker architecture for replay protection trees
EP2947594A2 (en) Protecting critical data structures in an embedded hypervisor system
US10552638B2 (en) Integrity protection of a mandatory access control policy in an operating system using virtual machine extension root operations
Oh et al. MeetGo: A trusted execution environment for remote applications on FPGA
US11803644B2 (en) Security hardened processing device
KR101656092B1 (ko) 비동기적인 인증을 갖는 보안 컴퓨팅 시스템
KR20170138412A (ko) 장치의 시스템 온 칩의 보안 모듈로의 복수의 액세스를 관리하기 위한 디바이스
US20240143363A1 (en) Virtual machine tunneling mechanism
US20220103516A1 (en) Secure encrypted communication mechanism
Zhang Sharcs: Secure Hierarchical Adaptive Reliable Cloud Storage Systems

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