CN104813335B - 保护在处理器封装之间的数据传输 - Google Patents

保护在处理器封装之间的数据传输 Download PDF

Info

Publication number
CN104813335B
CN104813335B CN201380060399.6A CN201380060399A CN104813335B CN 104813335 B CN104813335 B CN 104813335B CN 201380060399 A CN201380060399 A CN 201380060399A CN 104813335 B CN104813335 B CN 104813335B
Authority
CN
China
Prior art keywords
processor
storage address
data
agreement
encryption
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.)
Expired - Fee Related
Application number
CN201380060399.6A
Other languages
English (en)
Other versions
CN104813335A (zh
Inventor
S·约翰逊
A·达斯
C·罗扎斯
U·萨瓦高恩卡
R·布朗肯希普
K·帕德威卡
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 CN104813335A publication Critical patent/CN104813335A/zh
Application granted granted Critical
Publication of CN104813335B publication Critical patent/CN104813335B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding

Landscapes

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

Abstract

公开了用于保护在处理器封装之间的传输的发明的各实施例。在一种实施例中,一种装置包括加密单元,其加密要直接通过点对点链路从装置传输给处理器封装的第一内容。

Description

保护在处理器封装之间的数据传输
背景
1.领域
本公开内容涉及信息处理的领域,且尤其涉及信息处理系统中的安全的领域。
2.相关领域的描述
恶意攻击是对信息处理系统的安全的严重威胁。已经开发了多种技术来防止这些攻击,但是随着信息处理系统开发的继续,还需要更多技术。
附图简述
作为示例而非限制在附图中阐释本发明。
图1阐释一种系统,其中根据本发明的一种实施例在处理器封装之间的数据传输可以受到保护。
图2阐释根据本发明的一种实施例的处理器。
图3阐释根据本发明的一种实施例的加密委托代理(encryption proxy agent)。
图4阐释根据本发明的一种实施例用于保护在处理器封装之间的数据传输的方法。
详细描述
描述用于保护在处理器封装之间的数据传输的发明的各实施例。在本描述中,可以陈述诸如组件和系统配置之类的众多特定细节,以便提供对本发明的更透彻的理解。然而,本领域中的技术人员应明白,无需这样的特定细节就可以实践本发明。另外,没有详细示出一些众所周知的结构、电路和其他特征,以免不必要地模糊本发明。
在下列描述中,对“一个实施例”、“实施例”、“示例实施例”、“各种实施例”等等的引用表示这样描述的本发明的(多个)实施例可以包括具体的特征、结构或特性,但是多于一种实施例可以包括且并非每一实施例必定包括这些具体的特征、结构或特性。进一步,一些实施例可以拥有针对其他实施例所描述的特征中的一些、全部,或者没有这些特征。
如权利要求中所使用的,除非另外指出,否则,使用顺序形容词“第一”、“第二”、“第三”等等来描述元素仅仅表示提及元素的具体实例或类似元素的不同实例,且不旨在暗示这样描述的元素必须遵守具体的序列,无论是时间上、空间上、排名上还是以任何其他方式。
图1阐释系统100,系统100是本发明的一种实施例可以在其中出现和/或操作的信息处理系统。系统100可以表示任何类型的信息处理系统,例如服务器、台式计算机、便携式计算机、机顶盒、手持式设备或嵌入式控制系统。系统100包括处理器封装110、封装间链路(inter-package link)120、处理器封装130、存储器接口140、系统存储器150和信息存储设备160。处理器封装110和处理器封装130通过封装间链路120相互耦合。处理器封装130和系统存储器150通过存储器接口140相互耦合。实施本发明的系统可以包括任何数量的这些组件和任何其他组件或其他元素中的每一种,例如信息存储设备、外围设备和输入/输出设备。除非另外指出,这一系统实施例或任何系统实施例中的组件或其他元素中的任何或全部,例如存储设备160,可以通过任何数量的总线、点对点或其他有线或无线接口或连接来连接、耦合或以另外方式相互通信。
处理器封装110可以包括被封装在单个封装内的一个或多个处理器,其中的每一个都可以包括以任何组合的多个线程和/或多个执行核。每一处理器可以是任何类型的处理器,包括通用微处理器,例如处理器系列、 处理器系列、或来自公司的其他处理器系列中的处理器,或者是来自另一公司的另一处理器、或专用处理器或微控制器。
处理器封装110包括缓存代理(caching agent)111、高速缓冲存储器(cachememory)112、存储器控制器113、加密委托代理114和链路单元115。缓存代理111可以表示上面所陈述的任何处理器,在这一实施例中它充当用于本描述的目的的缓存代理。高速缓冲存储器112可以表示系统100的存储器分层结构中以静态随机存取存储器或任何其他存储器技术实现的任何一级或多级高速缓冲存储器。高速缓冲存储器112可以包括根据在信息处理系统中缓存的任何已知方法的、专用于在处理器封装110内的任何一个或多个执行核或处理器或者在它们当中共享的高速缓冲存储器的任何组合。
加密委托代理114可以包括执行一种或多种加密算法和相应的解密算法的任何逻辑、电路或其他硬件。链路单元115可以包括处理器封装110可以借助其通过点对点链路与系统100中的另一处理器封装通信的任何电路或其他硬件。
封装间链路120可以表示点对点接口,它可以是根据任何系统互连架构的互连织物中的点对点链路,例如快速通道互连,或者在于2012年10月22日提交的、标题为“用于高性能互连架构的方法、装置、系统(Apparatus,System for a High PerformanceInterconnect Architecture)”的共同待决的美国专利申请第61/717,091号中描述的高性能互连的实施例,该专利申请通过引用合并于此。根据任何这样的架构的协议,可以在分组中把数据、控制信息或其他信息从处理器封装110传输或发送给处理器封装130。
处理器封装130包括归属代理131、高速缓冲存储器132、存储器控制器133、加密委托代理134和链路单元135。归属代理131可以表示上面所陈述的任何处理器。在这一实施例中它充当用于本描述的目的的归属代理。高速缓冲存储器132可以表示系统100的存储器分层结构中以静态随机存取存储器或任何其他存储器技术实现的任何一级或多级高速缓冲存储器。高速缓冲存储器132可以包括根据在信息处理系统中缓存的任何已知方法的、专用于在处理器封装130内的任何一个或多个执行核或处理器或者在它们当中共享的高速缓冲存储器的任何组合。
加密委托代理134可以包括执行一种或多种加密算法和相应的解密算法并且提供下面描述的其他功能的任何逻辑、电路或其他硬件。链路单元135可以包括处理器封装130可以借助其通过点对点链路与系统100中的另一处理器封装通信的任何电路或其他硬件。
存储器接口140可以表示在存储器和处理器之间的任何类型的接口。系统存储器150可以包括可由处理器110和/或130访问的动态随机存取存储器和/或任何其他类型的介质,且可以被用来存储由处理器110、处理器130和/或任何其他组件使用或产生的数据和/或指令。存储器接口140被示出为处于处理器封装130和系统存储器150之间;然而,系统存储器150可以表示更大的系统存储器的一部分,其中可以通过存储器接口140把该部分本地附加到处理器封装130。类似地,也可以通过存储器接口140和/或未示出的另一存储器接口把更大的系统存储器的一部分本地附加到处理器封装110。信息存储设备160可以表示任何类型的非易失性信息存储设备,例如哈希存储器或硬盘驱动器。
图1也阐释安全软件模块116和136,它们可以是分别在缓存代理111和归属代理131上或者在其中运行、执行、加载或出现的安全软件或固件。安全软件模块116可以用密钥编程加密委托代理114,且安全软件模块136可以用相同的或相应的密钥编程加密委托代理134,以使得加密委托代理134可以解密由加密委托代理114加密的数据,且反之亦然。在本发明的范围内可以使用任何类型的密钥或密钥。本发明的各实施例可以包括使用由安全软件模块提供的第一密钥或其他数据来导出用于加密和解密的第二密钥。
图2阐释处理器200,处理器200的实施例可以充当缓存代理111,且缓存代理111的实施例可以充当系统100中的归属代理131。处理器200可以包括指令单元210、执行单元220、处理器存储230、处理器控制单元240和安全飞地(enclave)单元250。处理器200也可以包括图2中未示出的任何其他电路、结构或逻辑。例如,分别可以充当高速缓冲存储器112或132、存储器控制器113或133、加密委托代理114或134以及链路单元115或135的实施例的高速缓冲存储器、存储器控制器、加密委托代理和/或链路单元可以被集成在处理器200的衬底上。
指令单元210可以表示诸如用于提取、接收、解码和/或调度指令的指令解码器之类的任何电路、结构或其他硬件。可以在本发明的范围内使用任何指令格式;例如,指令可以包括操作码和一个或多个操作数,其中操作码可以被解码成一个或多个微指令或微操作以供由执行单元220执行。
执行单元220可以包括诸如用于处理数据和执行指令、微指令和/或微操作的运算单元、逻辑单元、浮点单元、移位器等等的任何电路、结构或其他硬件。
处理存储230可以表示在处理器200内的可用于任何目的的任何类型的存储;例如,它可以包括任何数量的数据寄存器、指令寄存器、状态寄存器、配置寄存器、控制寄存器、其他可编程或硬编码寄存器或寄存器堆、或任何其他存储结构。
处理器控制单元240可以包括任何逻辑、电路、硬件或其他结构,包括微代码、静态编程逻辑或可编程逻辑,以便控制处理器200的各单元和其他元素的操作以及在处理器200内、进入处理器200和离开处理器200的数据传输。例如,通过引起处理器200执行由指令单元210接收到的指令和从由指令单元210接收到的指令导出的微指令或微操作,处理器控制单元240可以引起处理器200执行本发明的各方法实施例或参与本发明的各方法实施例的执行,例如下面描述的方法实施例。
安全飞地单元250可以表示用于创建和维护安全的、受保护的或隔离的环境的任何逻辑、电路、硬件或其他结构,例如在此描述的安全飞地,在诸如系统100之类的信息处理系统内应用或其他软件可以在安全飞地中运行、执行、加载或存在。对于本描述的目的,这样的环境的每一实例都可以被称为安全飞地,但本发明的各实施例不限于把安全飞地用作安全的、受保护的或隔离的环境的那些。在一种实施例中,可以使用处理器系列或来自 公司的其他处理器系列中的处理器的指令集中的指令来创建和维护安全飞地。
安全飞地单元120的全部或部分可以被包括在处理器200的任何一个或多个其他单元中,例如对应于指令单元210、执行单元220、处理器存储230和处理器控制单元240的那些单元。安全飞地单元250可以包括加密单元252,加密单元252可以包括执行一种或多种加密算法和相应的解密算法的任何逻辑、电路或其他硬件,且可以包括与诸如加密委托代理114和/或134之类的另一加密单元共享的逻辑、电路或其他硬件。
可以在系统存储器150支持的系统存储器空间内给在系统100内创建的每一安全飞地分配安全的或受保护的空间。安全存储器152表示一个或多个这样的安全的或受保护的存储器空间。可以使用已知的虚拟存储器、安全飞地或其他系统存储器编址技术来创建、分配和维护每一个这样的存储器空间,以使得可以在各个时刻把在每一个这样的存储器空间内的信息存储在信息存储设备160、系统存储器150、高速缓冲存储器112和/或132中的任何、由处理器存储230表示的缓存代理110和/或归属代理130中的任何处理器存储和/或在信息处理系统100内的任何其他存储器或存储区域的任何组合内。
安全存储器152可以包括被称为处理器保留存储器(PRM)的一个或多个物理上邻近的存储器范围。在一种实施例中,PRM自然对齐,且具有2的整数幂的大小。诸如基本输入/输出系统之类的系统固件可以保留PRM,例如通过设置一对型号专用寄存器(MSR),两者一起被称为PRM范围寄存器(PRMRR)。在图2的实施例中,安全飞地逻辑250可以包括PRMRR254,PRMRR 254的实施例可以充当图1中的PRMRR 116和PRMRR 136。PRMRR 116可以被用来为缓存代理111保留PRM 154,且PRMRR 136可以被用来为归属代理131保留PRM 156。
安全飞地单元250也可以包括访问控制单元256,访问控制单元256可以包括使用PRMRR 254来强加加载和访问限制的任何逻辑、电路、硬件或其他结构,以使得在安全飞地的存储器空间内信息仅可由在该安全飞地中运行的应用访问。例如,在存储到系统存储器150、信息存储设备150或处理器200外的任何其他存储器或存储中之前,可以由加密单元252加密在被分配给安全飞地的存储器页面上的信息。尽管被存储在处理器200之外,但该信息受到加密和完整性检查技术的保护。在存储器页面由应用或进程(该应用或进程在处理器110上、在该页面被分配到其中的安全飞地内运行)加载到处理器的高速缓冲存储器时,由加密单元152解密它,然后,未加密信息仅可由在安全飞地内运行的应用或进程访问。
图3阐释加密委托代理(EPA)300,其实施例可以充当系统100中的EPA 114和EPA134。在一种实施例中,EPA 300中的硬件是专用的或非共享的,这意味着不与相同的衬底或相同的封装上的任何处理器执行核中的硬件共享。在其他实施例中,可以在EPA和一个或多个处理器核之间共享硬件。
EPA 300可以包括执行一种或多种加密算法和相应的解密算法的加密单元310。在本发明的范围内可以使用任何一种或多种密码算法。加密单元310可以包括传输单元312,以便加密要直接通过点对点链路以一个或多个分组从一个处理器封装传输或发送给另一处理器封装的内容。加密单元310也可以包括接收单元314,以便解密直接通过点对点链路以一个或多个分组从一个处理器封装接收到另一处理器封装的内容。加密单元310也可以包括安全密钥存储316,以便存储要使用的密钥,以便加密和解密要直接通过点对点链路以一个或多个分组从一个处理器封装传输或发送给另一处理器封装的内容。加密单元350也可以包括密钥导出单元318,以便从第一密钥或EPA 300所接收的其他数据导出第二密钥。
EPA 300也可以包括认证单元320,以便认证直接通过点对点链路在处理器封装之间传输的数据或其他信息。在本发明的范围内可以使用任何认证技术。认证单元320可以包括传输单元322,以便产生认证元数据,例如头部或签名,并将其追加或以其他方式提供给要直接通过点对点链路以一个或多个分组从一个处理器封装传输或发送给另一处理器封装的内容。认证单元320也可以包括接收单元324,以便验证直接通过点对点链路以一个或多个分组由一个处理器封装从另一处理器封装接收的内容的真实性。
EPA 300也可以包括重放(replay)保护单元330,以便防止直接通过点对点链路在处理器封装之间传输的重放攻击数据或其他信息。在本发明的范围内可以使用任何重放保护技术。重放保护单元320可以包括传输单元332,以便产生重放保护信息,例如单调计数器值、随机数和/或完整性检查值,并将其追加或以其他方式提供给直接通过点对点链路以一个或多个分组从一个处理器封装传输或发送给另一处理器封装的内容。重放保护单元320也可以包括接收单元334,以便验证直接通过点对点链路以一个或多个分组由一个处理器封装从另一处理器封装接收的内容的重放保护信息。
EPA 300也可以包括EPA控制单元340,EPA控制单元340可以包括控制EPA 300的各单元和其他元素的操作的任何逻辑、电路、硬件、固件、其他结构、微代码、状态机逻辑和/或可编程逻辑。EPA控制单元340可以引起EPA 300执行本发明的各方法实施例或参与本发明的各方法实施例的执行,例如下面所描述的各方法实施例。
图4阐释根据本发明的一种实施例用于保护在处理器封装之间的数据传输的方法400。尽管本发明的各方法实施例不限于在这一方面,但可对图1、2和3的元素进行引用,以便帮助描述图4的方法实施例。
在框410,安全软件模块116用密钥编码EPA 114。在框412,安全软件模块136用相同的或相应的密钥编程EPA 134,以使得EPA 134可以解密由EPA 114加密的数据,且反之亦然。
在方法400的框420,在处理器封装110内的处理器的操作产生要存储在第一存储器地址的数据。在框422,缓存代理111执行高速缓存请求,以便判断第一存储器地址是否在高速缓冲存储器112内。在框424,高速缓存请求未命中,这是因为第一存储器地址不是在高速缓冲存储器112内。在框426,响应于未命中的高速缓存请求,发起把数据写到系统存储器150的存储器请求。
在框430,判断存储器请求是安全存储器请求还是非安全存储器请求。例如,使用PRMRR 116,可以判断第一存储器地址是否在安全存储器152的地址范围内,在这种情况中,判断该存储器请求是安全存储器请求。如果存储器请求是安全存储器请求,那么,方法400在框440继续。如果存储器请求是非安全存储器请求,那么,方法400在框432继续。
在框432,存储器请求被路由到链路单元115。在框434,链路单元115产生包括经加密的数据的一个或多个分组以便传输。离开框434,方法400继续进行到框452。
在框440,存储器请求被路由到EPA 154。在框442,EPA 114加密数据。在框444,EPA114把认证元数据追加到经加密的数据。在框446,EPA 114把防重放(anti-replay)值追加到经加密的数据。在框448,存储器请求被路由到链路单元155。在框450,链路单元115产生包括表示经加密的数据、认证元数据和防重放值的内容的一个或多个分组以便传输。
在框452,通过封装间链路120传输一个或多个分组。在框454,由链路单元135接收一个或多个分组。在框456,链路单元135判断一个或多个分组对应于存储器请求。在框458,判断存储器请求是安全存储器请求还是非安全存储器请求。例如,通过使用PRMRR 136,可以判断存储器请求是否针对在安全存储器152的地址范围内的地址,在这种情况中判断该存储器请求是安全存储器请求。如果存储器请求是安全存储器请求,那么,方法400在框460继续,如果存储器请求是非安全存储器请求,那么,方法400在框470继续。
在框460,存储器请求被路由到EPA 134。在框462,EPA 134使用认证数据来验证存储器请求的可信性。在框464,EPA 134使用防重放值来验证存储器请求不与重放攻击相关联。在框466,EPA 134解密经加密的数据。
在框470,存储器请求被路由到归属代理131。在框472,归属代理131向系统存储器150传输存储器请求。
在本发明的各种实施例中,可以以不同的次序执行图4中所阐释的方法,且可以组合或省略所阐释的框,且可以添加额外的框,或者带有重新排序的、组合的、省略的或附加的框的组合。例如,可以在框442之前执行框444和/或446,以使得也可以加密认证元数据和/或防重放值。此外,在本发明的范围内,多种其他方法实施例也是可能的,包括保护从归属代理到高速缓存代理的数据传输、在高速缓存代理之间的数据传输、在任何其他类型的代理之间的数据传输和对应于读取或其他事务的数据传输的实施例。
如上所述,本发明的各实施例或各实施例的部分可以被存储在任何形式的机器可读介质上。例如,可以以被存储在处理器200和/或EPA 300可读的介质上的软件或固件指令实现方法200的全部或部分,在由处理器200和/或EPA 300执行时,这些软件或固件指令引起处理器200和/或EPA 300执行本发明的一种实施例。而且,可以以被存储在机器可读介质上的数据实现本发明的各方面,其中该数据表示可用于制造处理器200和/或EPA 300的全部或部分的设计或其他信息。
因而,已经描述了用于保护在处理器封装之间的数据传输的发明的各实施例。尽管已经描述且在附图中示出了某些实施例,但应理解,这样的实施例仅仅是说明而非限制广泛的发明,且本发明不限于所示出和描述的特定的构造和布置,这是由于本领域中的普通技术人员在研读本公开内容后可以看出各种其他修改。在快速发展且不容易预测进一步的进展的诸如本领域的技术领域中,可以容易地在布置和细节方面修改所公开的各实施例,通过允许不偏离本公开内容的原理或所附权利要求的范围的技术进步,可以促进这一点。

Claims (22)

1.一种用于保护在处理器封装之间的数据传输的装置,包括:
第一加密委托代理,所述第一加密委托代理包括安全软件用于在其中存储密钥的第一密钥存储,以及用于通过使用所述密钥来加密未加密的数据以生成经加密的数据的加密电路;
高速缓冲存储器;
缓存代理,所述缓存代理包括处理器电路,所述处理器电路用于确定存储器地址是否在所述高速缓冲存储器内,用于确定所述存储器地址是否在安全存储器地址范围内,并且如果所述存储器地址不在高速缓冲存储器或所述安全存储器地址范围内,则将未加密的数据路由至第一链路单元,并且如果所述存储器地址不在高速缓冲存储器内但在所述安全存储器地址范围内,则将所述未加密的数据路由至所述第一加密委托代理;以及
所述第一链路单元,所述第一链路单元包括链路电路,所述链路电路用于:如果所述存储器地址不在高速缓冲存储器或所述安全存储器地址范围内,则接收来自所述缓存代理的未加密数据并生成要传送至第二链路单元的第一多个分组,并且如果如果所述存储器地址不在高速缓冲存储器内但在所述安全存储器地址范围内,则接收来自所述第一加密委托代理的经加密的数据并生成要传送至所述第二链路单元并且将被第二加密委托代理解密的第二多个分组,其中所述第二加密委托代理包括所述安全软件用于在其中存储所述密钥的第二密钥存储。
2.如权利要求1所述的装置,其特征在于,在一个或多个分组中传输所述经加密的数据。
3.如权利要求1所述的装置,进一步包括用于把认证元数据追加到所述经加密的数据的认证单元。
4.如权利要求1所述的装置,进一步包括用于把防重放值追加到所述经加密数据的重放保护单元。
5.如权利要求1所述的装置,其特征在于,所述加密电路也解密直接通过点对点链路从所述处理器封装接收的数据。
6.如权利要求3所述的装置,其特征在于,所述认证单元也验证所接收数据的真实性。
7.如权利要求4所述的装置,其特征在于,所述重放保护单元也保护第二内容免遭重放攻击。
8.如权利要求1所述的装置,其特征在于,进一步包括用于确定所接收数据与安全存储器请求相关联的逻辑。
9.如权利要求1所述的装置,其特征在于,进一步包括被用来确定所述存储器地址是否在安全存储器地址范围内的范围寄存器。
10.一种用于保护在处理器封装之间的数据传输的方法,包括:
由安全软件将密钥存储在第一处理器封装内的第一加密委托代理中的第一密钥存储中;
由所述由安全软件将所述密钥存储在第二处理器封装内的第二加密委托代理中的第二密钥存储中;
确定存储器地址是否在所述第一处理器封装中的高速缓冲存储器内;
确定所述存储器地址是否在安全存储器地址范围内;
如果所述存储器地址不在高速缓冲存储器或所述安全存储器地址范围内,则将未加密数据路由至第一链路单元;
如果所述存储器地址不在高速缓冲存储器内但在所述安全存储器地址范围内,则将所述未加密的数据路由至所述第一加密委托代理;
如果所述存储器地址不在高速缓冲存储器或所述安全存储器地址范围内,则接收来自缓存代理的未加密数据并生成要传送至第二链路单元的第一多个分组;
如果所述存储器地址不在高速缓冲存储器或所述安全存储器地址范围内,则接收来自第一加密委托代理的经加密数据并生成要传送至所述第二链路单元并且将被所述第二加密委托代理解密的第二多个分组。
11.如权利要求10所述的方法,其特征在于,进一步包括在加密所述数据之前确定所述数据与安全存储器请求相关联。
12.如权利要求11所述的方法,其特征在于,进一步包括通过点对点链路在一个或多个分组中传输所述经加密的数据。
13.如权利要求12所述的方法,其特征在于,进一步包括把认证元数据追加到所述经加密的数据。
14.如权利要求12所述的方法,其特征在于,进一步包括把防重放值追加到所述经加密的数据。
15.如权利要求12所述的方法,其特征在于,进一步包括在所述第二处理器封装内解密所述经加密的数据。
16.如权利要求13所述的方法,其特征在于,进一步包括在所述第二处理器封装内使用所述认证元数据来验证经解密的数据的真实性。
17.如权利要求14所述的方法,其特征在于,进一步包括在所述第二处理器封装内使用所述防重放值来验证接收经解密的数据不与重放攻击相关联。
18.一种用于保护在处理器封装之间的数据传输的系统,包括;
第一处理器封装;
第二处理器封装;
在所述第一处理器封装和所述第二处理器封装之间的点对点链路;
其中,所述第一处理器封装包括:
第一加密委托代理,所述第一加密委托代理包括安全软件用于在其中存储密钥的第一密钥存储,以及用于通过使用所述密钥加密未加密的数据以生成经加密的数据的第一加密电路,
高速缓冲存储器;
缓存代理,所述缓存代理包括处理器电路,所述处理器电路用于确定存储器地址是否在所述高速缓冲存储器内,用于确定所述存储器地址是否在安全存储器地址范围内,并且如果所述存储器地址不在高速缓冲存储器或所述安全存储器地址范围内,则将未加密的数据路由至第一链路单元,并且如果所述存储器地址不在高速缓冲存储器内但在所述安全存储器地址范围内,则将未加密的数据路由至所述第一加密委托代理;
所述第一链路单元,所述第一链路单元包括链路电路,所述链路电路用于:如果所述存储器地址不在高速缓冲存储器或所述安全存储器地址范围内,则接收来自所述缓存代理的未加密数据以生成要传送至第二链路单元的第一多个分组,并且如果如果所述存储器地址不在高速缓冲存储器内但在所述安全存储器地址范围内,则接收来自所述第一加密委托代理的经加密的数据并生成要传送至所述第二链路单元并且将被第二加密委托代理解密的第二多个分组;以及
其中,所述第二处理器封装包括第二加密委托代理,其中所述第二加密委托代理包括所述安全软件用于在其中存储所述密钥的第二密钥存储以及用于使用所述密钥解密所述经加密的内容的第二加密电路。
19.如权利要求18所述的系统,其特征在于,所述第一处理器封装也包括:
用于确定所述内容与来自所述缓存代理的安全存储器请求相关联的逻辑。
20.如权利要求18所述的系统,其特征在于,所述第二处理器封装也包括:
归属代理;以及
用于确定经解密内容与对所述归属代理的安全存储器请求相关联的逻辑。
21.一种或多种其上存储有指令的计算机可读介质,所述指令当由计算机处理器执行时使所述处理器执行如权利要求10至17中任一项所述的方法。
22.一种用于保护在处理器封装之间的数据传输的设备,包括用于执行如权利要求10至17中任一项所述的方法的装置。
CN201380060399.6A 2012-12-19 2013-06-24 保护在处理器封装之间的数据传输 Expired - Fee Related CN104813335B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/719,939 US9729309B2 (en) 2012-12-19 2012-12-19 Securing data transmission between processor packages
US13/719,939 2012-12-19
PCT/US2013/047279 WO2014098998A1 (en) 2012-12-19 2013-06-24 Securing data transmissions between processor packages

Publications (2)

Publication Number Publication Date
CN104813335A CN104813335A (zh) 2015-07-29
CN104813335B true CN104813335B (zh) 2018-11-16

Family

ID=50932403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380060399.6A Expired - Fee Related CN104813335B (zh) 2012-12-19 2013-06-24 保护在处理器封装之间的数据传输

Country Status (3)

Country Link
US (1) US9729309B2 (zh)
CN (1) CN104813335B (zh)
WO (1) WO2014098998A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9164924B2 (en) 2011-09-13 2015-10-20 Facebook, Inc. Software cryptoprocessor
US9477603B2 (en) 2013-09-05 2016-10-25 Facebook, Inc. System and method for partitioning of memory units into non-conflicting sets
US9983894B2 (en) 2013-09-25 2018-05-29 Facebook, Inc. Method and system for providing secure system execution on hardware supporting secure application execution
US10049048B1 (en) * 2013-10-01 2018-08-14 Facebook, Inc. Method and system for using processor enclaves and cache partitioning to assist a software cryptoprocessor
US9747450B2 (en) 2014-02-10 2017-08-29 Facebook, Inc. Attestation using a combined measurement and its constituent measurements
US9734092B2 (en) 2014-03-19 2017-08-15 Facebook, Inc. Secure support for I/O in software cryptoprocessor
US9952887B2 (en) * 2014-06-23 2018-04-24 Vmware, Inc. Device simulation in a secure mode supported by hardware architectures
US10389690B2 (en) * 2015-04-28 2019-08-20 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for managing communications in a system comprising a receiver entity, a sender entity, and a network entity
US9710401B2 (en) 2015-06-26 2017-07-18 Intel Corporation Processors, methods, systems, and instructions to support live migration of protected containers
US10664179B2 (en) 2015-09-25 2020-05-26 Intel Corporation Processors, methods and systems to allow secure communications between protected container memory and input/output devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180270A1 (en) * 2005-02-04 2007-08-02 Seiko Epson Corporation Encryption/decryption device, communication controller, and electronic instrument
US20120084573A1 (en) * 2010-09-30 2012-04-05 Numonyx B.V. Security protection for memory content of processor main memory
US20120174216A1 (en) * 2010-12-29 2012-07-05 Vojislav Vukovic Security protocol processing for anti-replay protection

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650510B2 (en) 2002-04-30 2010-01-19 General Dynamics Advanced Information Systems, Inc. Method and apparatus for in-line serial data encryption
US7370210B2 (en) * 2002-11-18 2008-05-06 Arm Limited Apparatus and method for managing processor configuration data
GB2396930B (en) * 2002-11-18 2005-09-07 Advanced Risc Mach Ltd Apparatus and method for managing access to a memory
CA2534919C (en) 2003-08-08 2011-04-05 T.T.T. Kabushikikaisha Transport layer encryption for extra-security ip networks
US8914618B2 (en) 2005-12-29 2014-12-16 Intel Corporation Instruction set architecture-based inter-sequencer communications with a heterogeneous resource
EP1841122A1 (en) 2006-03-31 2007-10-03 Alain Schumacher Encryption method for highest security applications
US7600080B1 (en) * 2006-09-22 2009-10-06 Intel Corporation Avoiding deadlocks in a multiprocessor system
US7836144B2 (en) * 2006-12-29 2010-11-16 Intel Corporation System and method for a 3-hop cache coherency protocol
EP2397963A1 (en) 2009-02-16 2011-12-21 Panasonic Corporation Tampering monitoring system, control device, and tampering control method
CN103299290B (zh) * 2011-01-20 2015-11-25 惠普发展公司,有限责任合伙企业 复合处理器
CN103370717B (zh) * 2011-12-22 2017-01-18 英特尔公司 始终可用的嵌入式盗窃反应子系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180270A1 (en) * 2005-02-04 2007-08-02 Seiko Epson Corporation Encryption/decryption device, communication controller, and electronic instrument
US20120084573A1 (en) * 2010-09-30 2012-04-05 Numonyx B.V. Security protection for memory content of processor main memory
US20120174216A1 (en) * 2010-12-29 2012-07-05 Vojislav Vukovic Security protocol processing for anti-replay protection

Also Published As

Publication number Publication date
WO2014098998A1 (en) 2014-06-26
CN104813335A (zh) 2015-07-29
US20140173275A1 (en) 2014-06-19
US9729309B2 (en) 2017-08-08

Similar Documents

Publication Publication Date Title
CN104813335B (zh) 保护在处理器封装之间的数据传输
CN107851163B (zh) 用于i/o数据的完整性、防重放和真实性保证的技术
US11088846B2 (en) Key rotating trees with split counters for efficient hardware replay protection
TWI715619B (zh) 用於硬體強制單向密碼學的處理器、方法及系統
US10007793B2 (en) Secure object having protected region, integrity tree, and unprotected region
US9690704B2 (en) Paging in secure enclaves
CN103221961B (zh) 包括用于保护多用户敏感代码和数据的架构的方法和装置
CN112149149A (zh) 基于指针的数据加密
CN101430747B (zh) 基于可信嵌入式平台的移动设备及其安全存储方法
CN110658986A (zh) 用于验证跨多个存储器区的存储器完整性的技术
TWI576698B (zh) 跨電源週期維持安全處理環境
CN114692131A (zh) 带有分解式存储器的密码式计算
CN105320895B (zh) 用于联机加密处理的高性能自主硬件引擎
CN114692176A (zh) 基于已编码指针的数据加密
NL2029792A (en) Cryptographic computing including enhanced cryptographic addresses
TWI608378B (zh) 裝置與安全處理環境之間的介面
KR101653193B1 (ko) 보안 처리 환경으로부터의 기능의 오프로딩
CN116260606A (zh) 与遗留外围设备的密态计算
Wen et al. Multi-processor architectural support for protecting virtual machine privacy in untrusted cloud environment
EP4202748A1 (en) Data oblivious cryptographic computing
Tseng et al. Encrypted Data Processing
US20240073013A1 (en) High performance secure io
Cheng et al. Research and Implementation of a Trusted Removable USB Flash Device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181116

Termination date: 20210624