CN1451117A - 采用安全存储器分区来实现安全执行的方法和装置 - Google Patents

采用安全存储器分区来实现安全执行的方法和装置 Download PDF

Info

Publication number
CN1451117A
CN1451117A CN01814609A CN01814609A CN1451117A CN 1451117 A CN1451117 A CN 1451117A CN 01814609 A CN01814609 A CN 01814609A CN 01814609 A CN01814609 A CN 01814609A CN 1451117 A CN1451117 A CN 1451117A
Authority
CN
China
Prior art keywords
instruction
processor
security
subregion
data
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
CN01814609A
Other languages
English (en)
Other versions
CN100350394C (zh
Inventor
M·米塔尔
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 CN1451117A publication Critical patent/CN1451117A/zh
Application granted granted Critical
Publication of CN100350394C publication Critical patent/CN100350394C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/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/72Protecting 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 cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • 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
    • 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/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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2125Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation

Landscapes

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

Abstract

一种能够安全执行的处理器。处理器包括执行单元和保护存储器中分区的安全分区逻辑。处理器还包括与执行单元相连、对安全数据和代码进行加密和解密的密码逻辑。

Description

采用安全存储器分区来实现安全执行的方法和装置
发明领域
本发明的实施例涉及处理器中的安全执行。具体地说,本发明涉及一种采用安全存储器分区来实现安全执行的方法和装置。
背景技术
计算机互连性的巨大增长已经增加了健壮的安全体系结构的重要性。计算机系统的安全特征可用于防止未授权的访问(例如来自因特网)。保持交易的保密性和完整性的安全执行环境对使用基于因特网的商务来说是很重要的。安全执行环境还可用于为存储于如数字多用途光盘(DVD)或小型光盘只读存储器(CD-ROM)之类媒体中的出版软件或内容(如电影)提供复制保护。
安全执行包括保证执行的完整性和保证代码和数据的保密性。多种类型的威胁会有损系统的完整性或保密性。例如,恶意软件可能会利用操作系统中的弱点。直接存储器访问装置能够不需要处理器支持来读取物理存储器。可采用逻辑分析器来观察处理器和存储器之间的通信量。还可利用处理器的内置调试模式或探测模式来进行攻击,或者物理地修改系统中各部件的互连性以便观察和修改部件之间的通信来进行攻击。攻击者还可使硬件处于异常的电压、温度或频率下,从而损害系统的执行并可能使硬件“泄露”秘密。另外,攻击者还可选择性地除去处理层以暴露出隐藏有秘密的装置结构,或者采用离子束来检查装置内的信号流。
一些安全方案、如基于公开密钥/秘密密钥密码术的方案采用需要保密的专用数据或代码。在一些情况中,所使用的编码算法是公知的,而密码强度在于使密钥保密。中间数据、如程序的控制流信息应当不被暴露,因为这可能使得更容易确定秘密密钥。在此方面,可采用处理器体系结构的条件分配能力来消除秘密数据的转移,然而很难设计出代码来满足此要求。对于一些应用,一部分密码强度是在算法本身的保密性中。在这种情况下,执行环境需要保证甚至是执行代码以及输入数据和所有中间结果都保密。
在一些系统中,采用特殊的安全协处理器来保护主处理器的代码和数据。已知的系统没有为主处理器提供有效的装置来保护主处理器内的专用代码或数据(如密钥)不受攻击,例如采用恶意软件、直接存储器访问装置、逻辑分析器,利用系统的调试/探测模式,或者修改硬件来泄露秘密,从而进行攻击。
附图描述
图1是根据本发明一个实施例的可实现安全执行的计算机系统的部分框图。
图2是根据本发明一个实施例的具有安全执行部件的处理器和具有安全分区的存储器的部分框图。
图3是虚拟和物理存储器分区的部分框图。
图4表示根据本发明一个实施例的处理指令的方法的流程图。
图5表示根据本发明一个实施例的处理指令的另一方法的流程图。
具体描述
本发明的实施例通过将敏感代码和数据存储在安全存储器分区中而实现安全执行。敏感代码和数据可包括用于验证经网络接收的传输的可靠性和完整性的代码和数据,并可包括存储在如DVD或CD-ROM等媒体中的内容。安全存储器分区可由体系结构定义为处理器的通用地址空间内的地址范围。分区可以是虚拟存储单元或物理存储单元的地址范围。地址范围可由基址和范围来指定。安全存储器分区可具有固定的入口点。在另一实施例中,敏感代码和数据在写到存储器中之前由处理器上的硬件加密,并在其被读回到处理器中之后被解密,从而保护敏感代码和数据免于泄露。本发明的不同实施例提供了针对不同级别威胁的保护。实施例提供了针对基于恶意软件和智能输入/输出装置的攻击、采用逻辑分析器的攻击以及包括将处理器从插槽中拔出然后将其放到完整性受损的平台上的硬件攻击的高度保护。
安全执行系统的实施例
图1是根据本发明一个实施例的可实现安全执行的计算机系统的部分框图。计算机100包括部件101,其中可包括处理器110、芯片组102、系统存储器120、网络接口卡103、非易失性大容量存储器104、输入/输出(I/O)装置107和基本输入/输出系统(BIOS)ROM108。处理器110可与芯片组102相连。用语“相连”包括直接连接、间接连接和间接通信等。芯片组102还可与系统存储器120、网络接口卡103、非易失性大容量存储器104、输入/输出装置107和BIOSROM 108相连。这些装置可通过总线如系统总线、外围部件接口(PCI)总线等与芯片组102相连。网络接口卡103可与网络130相连。计算机100还可包括其它部件,例如协处理器、调制解调器等。
处理器110可以是通用微处理器,例如由California,Santa Clara的Intel公司生产的PENTIUM类处理器。在另一实施例中,处理器可以是专用集成电路(ASIC)、控制器、微控制器等。芯片组102可以是一个或多个集成电路芯片,用作在处理器和计算机系统的其它部件之间进行数据传送的集线器或核心。在一个实施例中,芯片组102包括执行所谓的“北桥功能”的存储器控制集线器(MCH)和执行所谓的“南桥功能”的输入/输出控制集线器(ICH)。系统存储器120是适合于存储数字信息的任何装置,例如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等、或者它们的任何组合。在一个实施例中,系统存储器120是易失性存储器。处理器110、芯片组102、系统存储器120和BIOS ROM 108可以安装在计算机100的系统主板上。
网络接口卡103可包含逻辑以采用标准网络协议进行通信。网络130可以是局域或广域计算机网络,例如可以为内部网或因特网。非易失性大容量存储器104可以是适合于存储数字信息的任何装置,例如闪速存储器、硬盘、光学数字存储装置、磁电存储装置、DVD、CD-ROM等、或者它们的任何组合。图1表示的非易失性大容量存储器104包括光存储器105和软盘驱动器106。输入/输出装置107可以是键盘、鼠标、显示屏、打印机等或者它们的任何组合。BIOS ROM108可包含用于控制外围设备如键盘、显示屏、盘驱动器、串行通信接口的代码。BIOS ROM 108还可包含用于执行其它杂项功能的代码。
图2是根据本发明一个实施例的具有安全执行部件的处理器和带有安全分区的存储器的部分框图。图2表示了处理器210和系统存储器220,作为计算机系统、如图1所示计算机系统100的一部分。处理器210和系统存储器220可以与图1所示的处理器110和系统存储器120相同。处理器210可例如通过芯片组、如图1所示芯片组102与系统存储器220相连。
处理器210可包括执行单元211、如算术逻辑单元,它可与寄存器文件212相连。寄存器文件212可包括多个寄存器,诸如通用寄存器、标志寄存器、指令指针、变址寄存器等、或者它们的组合。寄存器文件212可包括安全分区寄存器214。执行单元211可与片上基本输入/输出系统(BIOS)215、处理器密钥存储元件216和随机数发生器(RNG)单元217相连。片上BIOS 215可包含烧写的逻辑,供处理器用来与其它系统部件、如系统存储器120进行通信,并可包含在处理器启动(引导)时运行的逻辑。此逻辑可包括如下所述的引导安全性逻辑241。另外,片上BIOS 215可包括在系统启动时将来自BIOSROM 108的指令装入系统存储器的逻辑(如固件、微码等)。处理器密钥存储元件216包含秘密密钥,处理器210可采用秘密密钥来验证和鉴别从其它系统部件和从其它计算机系统接收的信息。处理器密钥可烧写到处理器密钥存储元件216中。随机数发生器单元217可以是采用任何随机化函数的硬件随机数发生器。在一个实施例中,随机数发生器单元217利用物理器件中的统计现象(例如热噪声)来提供随机数。
在此实施例中,执行单元211还可与包含管理如下所述的存储器中安全分区的逻辑的安全分区实施逻辑218相连。在另一实施例中,安全分区实施逻辑218与密码逻辑219相连,后者对要存储在安全分区中的信息加密,并对从安全分区读出的信息进行解密。密码逻辑219可以是实现如数据加密标准(DES)、Rivest-Shamir-Adleman(RSA)或数字信号标准(DSS)加密之类算法的硬件逻辑。在一个实施例中,密码逻辑219采用平台指定密钥而不是存储在处理器密钥存储元件216中的处理器密钥。安全分区实施逻辑218和密码逻辑219可以与翻译旁视缓冲器(TLB)213相连,TLB 213可用于将处理器210的地址空间内的虚拟地址映射到系统存储器220和其它可由处理器210存取的存储器中的物理存储器地址。
图2还表示了包括安全存储器分区223的系统存储器220。安全存储器分区223可以是只能被驻留在安全分区内的代码访问的物理存储器或虚拟存储器的一部分。在一个实施例中,安全分区223由两个安全分区寄存器214定义。例如,安全分区223由指定虚拟存储器中的安全分区开头的安全分区虚拟地址基址寄存器和指定安全分区大小的安全分区虚拟地址范围寄存器来定义。在图2中,所示的安全分区223映射到系统存储器220中的物理存储器地址。安全存储器分区223可包含安全数据部分225和安全代码部分226。安全代码部分226例如可存储信任的验证实施指令242,用于应用密码算法和验证经网络接收的传输(或者存储在媒体、如DVD或CD-ROM中的内容)的可靠性和完整性。安全数据部分225可包含由安全代码使用的数据,例如秘密密钥和中间数据(例如安全指令的控制流信息)。安全代码部分226可具有入口点228,如下所述地使用。
图2所示的实施例可如下操作。处理器210通过采用引导安全逻辑来验证BIOS代码(例如BIOS ROM 108中的代码),从而保证平台的完整性,引导安全逻辑例如为处理器微码或片上BIOS验证固件代码,在图2中表示为引导安全逻辑241。然后安全BIOS 108又确认芯片组中任何其它保护机制的存在。根据一个实施例,当处理器210被启动时,它可以通过扫描存储器并确定安全分区的位置来创建安全分区。然后处理器可以编制安全分区基址寄存器和安全分区范围寄存器来定义安全分区。这些寄存器可以是一次写入寄存器。在其它实施例中,可采用其它机制来创建安全分区。然后处理器可将验证实施指令242和相关数据、如密钥复制到系统存储器220的安全存储器分区223中。在另一实施例中,在处理器引导过程中将验证实施指令242从非易失性大容量存储器、如硬盘驱动器复制到安全存储器分区223中。在此实施例中,处理器210可采用存储在片上BIOS215中的引导安全逻辑241和存储在处理器密钥存储元件216中的密钥数据来验证复制到安全存储器分区223中的验证实施指令242和数据的可靠性和完整性。此验证可确定存储在非易失性存储器中的验证实施指令242是否已经被攻击所破坏或损坏。将引导安全逻辑241存储在处理器中和将验证实施指令242存储在非易失性存储器中比将验证实施指令242烧写在处理器本身中的成本更低。
在一个实施例中,安全分区实施逻辑218监测由处理器210进行的对存储器的任何访问。这种访问可包括执行存储在存储器中的指令,或者执行可操作存储器中数据的指令。当指令读取存储在存储单元中的数据或向此存储单元写入数据时,指令操作存储器中的该存储单元中的数据。在此实施例中,安全分区实施逻辑218在处理器210执行指令之前检查各指令。如果指令是向安全存储器分区223内除分区入口点228外的存储单元的转移,那么安全分区实施逻辑确定不应执行此指令。在这种情况下,分区指令逻辑将转移到中断处理器。安全分区实施逻辑218允许执行从分区内存储单元到分区内另一存储单元的转移,并允许执行到分区入口点228的转移。入口点228可包含验证例程的起点,此例程验证跳转到安全分区的软件的可靠性。因此,例如,此例程可防止未授权或恶意的程序执行安全代码。另外,通过为安全代码226强加入口点,安全分区实施逻辑218可防止未授权或恶意代码绕过验证例程。在另一实施例中,当指令未存储在分区入口点且先前执行的指令为分区开头之前的指令时,安全分区实施逻辑确定不执行此指令。因此,如果分区入口点228不是分区中的第一指令,那么安全分区实施逻辑218将防止处理器随后进入到安全分区中入口点以外的点处。
在此实施例中,当指令位于安全分区之外并尝试在安全分区内的存储单元进行操作(例如从中读出或写入)时,安全分区实施逻辑确定不执行此指令。因此,只有安全代码部分226中可信任的指令才能对安全存储器分区223的安全数据部分225内的数据进行操作。在此实施例中,安全数据不能被位于安全分区内的代码存取接受。在另一实施例中,安全分区中的代码可访问安全分区之外的数据。在另一实施例中,如果指令不具有适当的读/写权限,那么安全分区实施逻辑218可确定不执行试图对分区的安全数据部分225内的数据进行操作的指令。在另一实施例中,当安全分区之外的指令试图对安全分区内的存储单元进行操作时,安全分区实施逻辑218可转移到中断处理器。当一个指令试图对安全数据部分内的数据进行操作而没有适当的读/写权限时,也可以转移到中断处理器。
在一个实施例中,安全存储器分区223可以是虚拟存储器中的分区。在一个实施例中,处理器的地址空间是虚拟存储器地址空间,并且所有指令根据虚拟地址来对存储器进行寻址。在此实施例中,安全分区在处理器210中由虚拟地址、如虚拟地址基址寄存器和虚拟地址范围寄存器所指定。通过根据虚拟地址来指定安全分区,安全分区实施逻辑可更早地位于流水线中。翻译旁视缓冲器213可将这些虚拟地址转换为物理地址。用于安全分区的虚拟地址到物理地址的映射可通过信赖的机制来完成。
图3是虚拟和物理存储器分区的部分框图。图3表示具有小应用程序空间367和核心空间365的虚拟存储器360。小应用程序空间367和核心空间365映射到物理存储器320内的安全分区323。安全分区323中的信息可被调出到非易失性存储器340中的安全非易失性空间345中。非易失性存储器340可以是闪速存储器。在一个实施例中,安全非易失性空间345只包括安全分区323中的一小部分代码或数据。
在一个实施例中,验证实施指令242和相关数据以加密形式存储在安全分区223中,从而在从处理器210到存储器的传送或在存储在存储器中时保护代码和数据不会泄露。根据此实施例,安全代码和数据在它们从存储器中的安全分区传送到处理器210中之后被密码逻辑219解密,使得执行单元211可对代码和数据起作用。相反,安全代码和数据在它们从处理器210中传送到存储器中的安全分区之前被密码逻辑219加密。这样就可以保护安全代码和数据免受通过例如直接存储器访问、逻辑分析器或离子束进行的攻击。如果采用足够强度的加密,即使攻击者可确定安全分区的内容,也无法确定安全代码或数据。在一个实施例中,可采用共享密码算法、如Diffi Helman方法来对安全代码和数据进行加密和解密。在这样的实施例中,可采用覆盖密钥来覆盖数据,此覆盖密钥不是共享的。覆盖密钥可通过启动逻辑来产生。在另一实施例中,系统具有多个处理器,覆盖密钥由系统处理器共享。
在另一实施例中,计算机系统具有在非易失性大容量存储器、如硬盘中的安全分区。非易失性大容量存储器中的安全分区也可以是易失性大容量存储器中的安全分区的补充。根据此实施例,非易失性存储器中的分区只可由安全代码寻址。
可采用随机数发生器217来执行密码算法或产生新密钥。处理器可采用安全的非易失性(NV)存储器来保持当前的单调值。
图4表示根据本发明一个实施例的处理指令的方法的流程图。此指令例如可以是将由处理器、如图1和2所示的处理器110或210执行的汇编语言指令。在执行之前检查指令(401)。当指令是对虚拟存储器的存储单元分区中某一单元的未授权访问时,作出不执行此指令的决定。在一个实施例中,当指令操作分区内存储单元中的数据且指令并不存储在分区中时,作出不执行此指令的决定(402)。在另一实施例中,当指令是从分区外存储单元到分区内的分区入口点以外的存储单元的转移时,作出不执行此指令的决定(403)。根据另一实施例,当指令未存储在分区入口点并且先前执行的指令为紧接分区开头之前的指令时,作出不执行此指令的决定(404)。如果作出指令经过授权的判决,则执行此指令(405)。例如,当指令从分区内的存储单元转移到分区内的另一存储单元时以及当指令从分区外的存储单元转移到分区入口点时,可以执行此指令。根据一个实施例,此方法包括当作出不执行此指令的决定时转移到中断处理器(406)。
图5表示根据本发明一个实施例的处理指令的另一方法的流程图。根据一个实施例,从存储器中的安全分区将加密指令读到处理器中(501)。指令已经采用了任何密码技术进行加密。所读取的指令例如采用如图2所示的密码逻辑219进行解密(502)。然后执行所解密的指令。在一个实施例中,如果指令是从安全分区中读出数据的指令(503),那么从安全分区中读出数据,对所读取的数据进行解密(504)。在另一实施例中,如果指令是将数据写入安全分区的存储单元中的指令(505),那么对数据进行加密,且将加密数据写入安全分区(506)。在另一实施例中,确定指令是否为从安全分区中读取数据或向安全分区中的存储单元写入数据的指令包括将数据的虚拟地址与安全分区的边界进行比较。
安全特权级别(SPL)
在一个实施例中,定义了两个“安全特权级别”。一个特权级别称为安全核心特权级别,可用于只执行原始安全函数/服务。第二特权级别可定义成用于执行处理器或第三方提供的安全代码。此第二特权级别可称为小应用程序特权级别。新的安全特权级别(SPL)可与执行的特权级别的现有概念正交。因此在这个实施例中,用于给定虚拟地址范围的访问(执行/读/写)特权不仅成为当前特权级别(CPL)的函数,而且成为当前SPL(CSPL)的函数。CSPL表明了与当前执行有关的安全特权级别。CSPL的缺省值可为3。在这种情况下,当CSPL为3时,此执行模型可称为缺省执行模型。当CSPL为缺省值以外的其它值时,执行模型可称为“隐藏执行”模型。
两个特权级别可称为为0的SPL(对核心来说)和为1的SPL(对小应用程序来说)。复合特权级别可称为环x,y,其中x为当前执行的CPL,而y为当前执行的CSPL。因此,如果当前执行的特权级别为3.3,这就意味着当前应用在缺省环3下执行。然而,如果当前特权级别为3.0,这就意味着执行的当前特权级别为环3,并具有与安全核心特权级别相关的访问权限。在一个实施例中,CSPL在实模式下总为3,在这种情况下不存在对实模式中隐藏执行的支持。
核心特权级别
该体系结构可定义用于核心特权级别的新的虚拟地址范围。新的虚拟地址范围可由虚拟地址基址寄存器核心(VABRk)和虚拟地址范围寄存器核心(VARRk)来定义。由VABRk和VARRk所指定的虚拟地址范围可定义成具有与之相关的核心级别安全访问权限,可称为安全核心空间或核心的安全存储器分区。
在一个实施例中,只有安全核心空间内的代码才可在此空间内读或写。在这种情况下,安全核心空间内的数据和代码的完整性和保密性不会被位于此空间之外的代码所损坏。在另一实施例中,安全核心空间内的代码可从任何虚拟地址空间内读取数据或向其中写入数据,只要这种存取是被允许的,这例如可通过现有的分段和分页保护机制来进行。在另一实施例中,定义了只有在安全核心特权级别下才可执行的指令。在另一实施例中,核心虚拟地址空间可自由地再定位。在另一实施例中,安全分区的大小在引导时间是固定的,并不受通用系统软件的控制。例如,只有预装操作系统固件或片上微码能够写入虚拟地址范围寄存器中。在这种情况下,虚拟地址范围寄存器或者完全不能由软件写入(它由处理器微码写入),或者可在复位后只写一次(如果由固件写入的话)。
在另一实施例中,存在着到安全核心空间的固定入口点,并且从这个空间外部转移到安全核心空间中除入口点的预定义偏移量以外的偏移量是非法的。可通过任何控制转移机制从具有缺省安全特权的地址空间进入安全核心空间,只要它是到固定入口点。在另一实施例中,在核心安全特权级别下代码所请求的核心服务可以是请求者的当前特权级别的函数。在此实施例中,进入安全核心空间的入口点处的代码检查调用者的当前特权级另和当前安全特权级别,以便确定是否允许所请求的服务。在一个实施例中,安全核心地址空间可通过任何控制转移机制退出到具有x.3的当前安全特权级别的空间。在安全核心采用调用/返回机制以改变程序流的情况下,安全核心可能需要管理其安全栈空间以及安全和非安全应用栈空间之间的转移。
小应用程序特权级别
此体系结构可定义处理器的通用虚拟地址空间内的新的虚拟地址范围。此虚拟地址范围可由两个寄存器来定义:虚拟地址基址寄存器小应用程序(VABRa)和虚拟地址范围寄存器小应用程序(VARRa)。由VABRa和VARRa定义的地址范围具有小应用程序级别,可具有与之相关的安全访问权限,并可称为安全小应用程序空间。
在一个实施例中,对于与小应用程序安全特权级别相对应的虚拟地址空间来说,读写访问权限被限于在地址范围内执行且带有小应用程序或核心安全特权级别的代码。在一个实施例中,定义安全小应用程序空间的应用必须还在相同处理的上下文中的相同当前特权级别下定义安全核心空间。在一个实施例中,核心或小应用程序的隐藏执行代码以外的任何代码都不能在安全小应用程序空间内进行读或写。因此,安全小应用程序地址空间内数据和代码的完整性和保密性不会被不具有安全访问权限(即当前安全特权级别为3)的代码所损坏。在这个实施例中,安全小应用程序空间内的代码不能读或写安全核心地址空间内的数据,并且安全小应用程序空间内的代码可以读和/或写安全核心空间以外的任何其它地址范围,只要它是现有分段和分页保护机制所允许的。安全小应用程序空间可自由地再定位。分区的大小在引导时间是固定的,并且不受通用系统软件的控制。在这个实施例中,只有预装操作系统固件或片上微码能够写入VARRa寄存器中。因此,寄存器VARRa完全不能由软件写入(在其由处理器微码写入的情况下),或者可在复位后只写一次(如果由固件写入的话)。
在一个实施例中,只能从安全核心空间进入安全小应用程序空间中。在这个实施例中,从缺省安全空间转移到安全小应用程序空间中是非法的,但是对从安全核心空间到安全小应用程序空间中的入口点却无限制。在这个实施例中,从具有缺省安全特权的地址空间调用安全小应用程序空间中的函数需要到安全核心空间中的固定入口点的控制转移,并且需要用于请求当前安全小应用程序空间内的函数的适当“凭证”。安全小应用程序地址空间可通过任何控制转移机制退到当前安全特权级别为3的空间。然而,如果小应用程序想调用具有缺省安全性的空间内的函数,则它通过到其安全核心空间的函数调用来实现此目的。
在一个实施例中,安全小应用程序空间和安全核心空间之间的转移与具有缺省安全性的地址空间和安全核心空间之间的转移相似,只是小应用程序被允许调用其它的安全核函数。在这个实施例中,安全小应用程序空间可采用任何控制转移机制来控制安全小应用程序空间内的转移,但所有中断会导致从安全小应用程序空间中离开。只有安全核心支持安全小应用程序栈空间的管理以及安全和非安全应用栈空间之间的转移时,安全小应用程序空间才可使用调用/返回机制。在安全核心内对这种能力的支持是可选的。
安全物理存储器(RAM和非易失性)分区
在一个实施例中,安全扩展在物理存储器中定义一个“安全”分区。如果处理器只实现安全核心特权级别,那么安全物理空间的大小等于或大于安全核心空间的大小。如果处理器支持安全核心和小应用程序特权级别,那么物理分区的大小可等于或大于安全核心和小应用程序空间之和。安全物理存储器分区可由物理地址基址寄存器(PABR)和物理地址范围寄存器(PARR)来定义。在一个实施例中,安全物理存储器分区的基址和范围在引导时间都是固定的,因此不受通用系统软件的控制。只有预装操作系统固件可写入PABR或PARR寄存器中。因此这些寄存器只能在复位后写入一次。
可采用物理地址分区在虚拟地址机制启用(如处理器在受保护模式下执行)时为安全虚拟地址分区提供物理存储器。当虚拟地址机制禁用(如处理器处于实模式)时,处理器硬件可能不允许任何对安全物理存储器分区的访问,并且在实模式中任何对安全物理存储器分区的访问会导致非法的操作陷阱。
在一个实施例中,安全物理存储器分区可作为处理器芯片、即同一封装中的单独芯片中的物理存储器或者作为外部系统存储器的一部分而设置。在安全物理存储器分区作为外部系统存储器的一部分来实现的情况下,如果存储器控制器也实现一对与PABR和PARR相似的寄存器,并且保证此地址空间不会被DMA装置访问,这是有利的。预装操作系统BIOS可验证芯片组中适当保护机制的存在。安全物理存储器的一部分可与非易失性存储器相对应。用于NV物理存储器分区的基址可与PABR相同。还设置了额外的范围寄存器、即NV存储器范围寄存器或NMRR,定义了安全NV存储器分区的大小且只能由SPL 0代码写入。安全NV存储器空间可属于同一封装中的单独芯片,或者是外部部件的一部分。在一个实施例中,只有请求是安全核心空间内运行的代码发起的,此NV存储器才可被访问。
在一个实施例中,在安全地址空间内存在四个体系结构分区:1)安全小应用程序空间,2)与小应用程序地址空间相关的用于执行小应用程序所请求的安全核函数的安全物理存储器,3)用于核心代码和数据的安全物理存储器,以及4)安全NV存储器。用于小应用程序空间的安全物理存储器和与小应用程序执行相关的一部分安全核心空间可以是基于每次处理的资源。安全核心空间可实现函数以保存安全小应用程序物理地址空间的内容的加密版本,以及为从安全小应用程序代码中调用的安全核函数而保留的一部分安全核心空间。安全核心地址空间还可实现函数以恢复安全小应用程序物理存储器和与小应用程序空间相关的一部分安全核心空间。这些函数实现安全小应用程序物理存储器和与几次处理之间的小应用程序空间相关的核心内存的“虚拟化”。通过保持与安全NV存储器中的交换状态相关的散列值,以及与这个保存状态的示例相对应的“独特标记”,可以提供换出状态的完整性。
在一个实施例中,可提供足够的安全核心物理存储器来实现同时执行几个核函数,不需要允许在执行中间换出由安全驱动器所启动的核函数。在另一实施例中,一旦为执行安全函数分配的安全核心空间正在使用,那么对核心安全函数的任何其它请求均被阻止,直到先前执行的安全函数完成为止。
处理器密钥
在一个实施例中,处理器除独特ID之外还具有秘密/公开密钥对。密钥对可以是RSA密钥对、DSS密钥对或者一些其它密钥对,其中RSA密钥对最有利。秘密密钥可“烧写”在处理器中,并只能与特定的核心安全函数一起使用。这些安全函数只能在特权级别cp1.0(因此在核心安全空间内)执行。公开密钥也可设置在处理器中并带有相关的认证。片上NV存储器可设置用于整个秘密和公开密钥。这足以为构成公开和秘密密钥的足量分量提供存储空间,使得处理器在上电时能够采用片上微码或核心代码来计算整个密钥而不会泄露秘密密钥。与密钥的带符号值相对应的一部分公开密钥认证也应设置在片上NV存储器中。在一个实施例中,用于1024位秘密密钥的RSA密钥对需要处理器上隐藏NV存储器中的1344位:512位用于P分量,512位用于Q分量,320位用于公开密钥认证(假定认证中的签名为DSS签名)。
除秘密和公开密钥之外,处理器还可具有片上NV单元中的DES密钥的56位(或者应具有对三重DES的支持)。此密钥还可为处理器保密,并且只用于执行DES函数以对外部安全物理存储器进行存储/读出。在一个实施例中,采用平台指定DES密钥来代替处理器指定DES密钥。
安全特权级别和处理器操作模式的交互作用
在一个实施例中,缺省处理器执行和当前安全特权级别之间存在最小的交互作用。在另一实施例中,当虚拟翻译机制关闭(即处理器处于实模式)时,CSPL强制为3(即缺省模式),访问安全物理地址分区是非法的。此安全机制可对实模式或虚拟模式禁用。在这个实施例中,当虚拟翻译机制起作用(即处理器处于受保护模式)时,任何对安全虚拟地址分区的访问的TLB漏失均直接由处理器采用新的翻译算法来处理。TLB漏失可能不会导致任何与TLB相关的错误。
在一个实施例中,用于安全地址空间的虚拟-物理映射的页转换入口格式这样定义,使得在安全地址空间内,访问权限只由CSPL控制。当执行来自任一安全虚拟分区的代码时,性能监测能力无效。在存在着由中断或外部中断引起的安全核心或小应用程序空间的转出的情况下,可将适当的寄存器保存在安全核心空间内的预定义块中。在存在着用于将临时值保存在寄存器中的外部系统存储器的情况下,在将安全地址空间内的数据写入外部存储器之前,处理器可采用平台指定的“覆盖密钥”通过片上DES单元来自动对这些值加密。在将这些寄存器保存在安全物理存储器中后,相应处理的寄存器值可变成一些合法但无意义的值。例如,大多数数据/地址寄存器可变成全“零”,但EIP可变成一些固定的合法值。
转移出安全地址空间可由核心安全虚拟地址分区内的片上微码或中断机制来处理。在外部存储器用于安全物理地址分区的情况下,一些实现可支持采用DES并用平台的“覆盖密钥”来从安全虚拟地址分区中获得指令流的加密版本。
在一个实施例中,可以定义新的安全转移(TSR)。根据此实施例,任何将程序控制从其它空间转到安全核心空间内的控制转移机制提供在此寄存器中的调用者的CPL和CSPL。在安全核心空间中的入口点的代码可检查这些位和所请求的服务,从而确定是否允许所请求的服务。例如,几项安全服务只能由CPL为0的代码(即安全驱动器)来请求。在一个实施例中,TSR寄存器只能由硬件或安全核心代码(CSPL为0)来更新。
在一个实施例中,存在着安全核心空间的固定入口点。在此实施例中,到任何其它偏移地址的转移都是非法的。寄存器之一可指定将在安全或应用地址空间内执行的函数号。一些函数可能需要额外的参数如输入操作数、将用于解密目标代码/数据的密钥等。在一个实施例中,不允许从具有缺省安全性(CSPL为3)的地址空间到安全小应用程序空间的控制转移。在另一实施例中,预定义用于安全虚拟地址空间的高速缓存控制位,选择安全物理存储器空间的“反写”属性。
安全指令
可提供安全指令来实现本发明的函数。这些指令可分类成支持安全函数所需的指令,或者用于提高安全函数或不同特权级别之间转移的性能的指令。在一个实施例中,最小本机安全函数需要此实现能支持“逻辑分析器”威胁级的核心安全特权级别。可用于支持此函数级别的指令为:(1)在cp1.0特权级别下读取处理器秘密密钥的指令,(2)在cp1.0特权级别下写入平台“覆盖”密钥和另一模型指定寄存器中的指令,(3)在任何CPL或CSPL下读取处理器的公开密钥及其认证的指令,以及(4)在任何CPL或CSPL下读取RNG的指令。
还可定义其它指令来便于实现,并加速带有不同安全特权的地址空间之间的转移。这些可包括转移“提示”指令,它指明即将到来的控制转移指令实际上包含当前安全特权级别的改变。此指令可以如下指令来实现:将控制转移到安全小应用程序空间中的代码的指令、将控制转移到安全核心空间的指令、和/或将控制转移到缺省安全特权级别的指令。可采用的另一指令是用于存储到安全NV存储器中的指令。通过使在设计的前端而不是后端就知道当前存储指向NV存储器,可帮助实现此指令。
软件模式
存在着可能的实现安全核心空间的大量选项。在一个实施例中,安全核心只能实现一个安全函数。在另一实施例中,安全核心可通过简单地以宏码实现其它函数来支持其它函数。在另一实施例中,安全核心可实现允许安全驱动器一次只调用一个函数的策略。在这种情况下,先前的安全函数应当在任何其它安全函数执行启动之前完成。在另一实施例中,安全核心只可支持其资源内的一个活函数,但允许由安全驱动器进行安全核心空间的虚拟化。这种方法会导致显著的开销,用于加密部分执行的函数的状态并执行新加载函数的完整性检查。另一实施例在安全核心空间中提供了足够的空间,允许多个安全函数同时起作用,并且不支持此空间的“虚拟化”。
在一个实施例中,当CSPL为3的应用想调用核心安全函数时,应当通过在CPL为0和CSPL为3时运行的安全驱动器作出请求。出于性能原因,该体系结构可允许应用调用在其相关安全小应用程序中的函数,并且不会有通过安全驱动器调用的开销。CSPL为3的应用可通过安全核心空间来作出这种请求,只要按照对进入安全核心空间的入口点的限制。在固定入口点的安全核心代码可负责验证调用者是否具有请求指定服务的适当特权级别(PL和SPL)。为此,可以定义新的寄存器、即转移状态寄存器(TSR),以便提供到安全核心和小应用程序空间中调用者的PL和SPL。
出于性能原因,可允许安全小应用程序通过控制转移指令将控制转移回应用中。为了保持执行的保密性,只有安全核心为安全栈提供支持,小应用程序才应采用调用指令来将控制转移给应用。在一个实施例中,不在安全核心空间上增加验证调用者的负担,而是通过安全驱动器只允许从应用到安全小应用程序空间的控制请求的转移。在一个实施例中,基础结构还允许安全小应用程序通过直接控制转移指令来调用核心空间中的安全函数,只要按照对入口点的限制。安全核心空间可仅提供与当前安全小应用程序相关的足够空间,以便支持每次进行一个活安全函数调用。在一个实施例中,即使可从任何CPL和任何CSPL进入安全核心空间,在入口点的安全核心代码确保从给定的PL和SPL只能进行允许的安全核心服务请求。在入口点的安全核心代码可检查转移状态寄存器(TSR)中的请求者的特权级别,以便作出决定。
寄存器
可采用寄存器来管理安全分区机制。这些寄存器可包括用于安全核心虚拟地址空间、小应用程序虚拟地址空间、物理存储器地址空间和非易失性存储器地址空间的基址寄存器和范围寄存器。寄存器还可设置成用以存取各种处理器密钥。这些寄存器可包括用于处理器秘密密钥的寄存器、用于具有与认证对应的签名的处理器公开密钥的寄存器、以及处理器DES“覆盖密钥”。寄存器可以是只读寄存器。
其它寄存器可包括转移状态寄存器,它提供要转移到安全地址空间中的调用者的PL和SPL。另外,独特标记号寄存器可保持分配给隐藏执行的特定示例的标记号。可采用中断安全特权级别寄存器来记录安全特权级别。这些寄存器可以是读/写寄存器。
安全核心和小应用程序虚拟地址空间管理
在一个实施例中,安全核心和小应用程序地址空间只在虚拟-物理翻译机制启用时才定义。安全能力可以不依靠操作系统的存储器管理程序来提供安全虚拟地址分区到安全物理存储器的映射。可在安全虚拟地址分区和安全物理存储器分区之间定义固定的映射。可以不对安全虚拟地址空间的访问和修改故障作出规定,高速缓存控制位可设置为“反写”模式。在一个实施例中,无需操作系统服务来建立安全虚拟地址空间和安全物理存储器地址空间之间的链接。在另一实施例中,不存在关于这些虚拟地址分区的缺页故障的概念。
安全虚拟空间可采用固定线性映射来映射到安全物理空间。页转换可以是PABR和VARRk寄存器的功能。可以预定义访问权限。这些访问权限可允许用于所有CPL的执行/读/写权限,因此使虚拟安全分区能够驻留在任何CPL。在此实施例中,一旦在入口点的安全核心代码允许到安全地址空间的转移,则在安全分区内对于给定虚拟地址的访问许可只由CSPL控制。
在一个实施例中,安全虚拟地址空间可自由地再定位。在此实施例中,安全虚拟分区无论在何时再定位,此再定位的安全虚拟分区的所有先前的有效映射均为无效。这样,无论何时作出到新的安全虚拟分区的转移,都存在为此新分区建立的新的有效TLB入口。在另一实施例中,增强用于具有缺省安全性的虚拟地址空间的TLB机制,以便确保用于这些PTE的物理存储器页面地址不会与安全物理存储器空间重叠。潜在的重叠可能会导致非法操作故障。
中断
在一个实施例中,用于核心和小应用程序地址的隐藏执行可由软件和/或通过外部中断来中断。体系结构机制可设置成允许保存处理的上下文,此处理可处于核心或小应用程序安全特权级别下的隐藏执行的中间。即使在安全特权级别之一中执行时处理由于单步执行而中断,硬件和软件机制也可确保执行的保密性和完整性一直保持到威胁模型。用于处理中断的机制依赖于处理器体系结构的特征。在一个实施例中,如果在安全特权级别中执行的代码被中断,则在现有中断微码中添加例程以解决安全问题。在另一实施例中,定义了新的安全中断向量表来处理这些中断。在此实施例中,当程序在安全特权级别中执行时任何中断将被重定向到安全核心地址空间中的处理程序。此安全中断处理程序可执行关键函数以确保中断代码的保密性和完整性,然后转移回到具有所有正确相关的中断状态信息的缺省中断向量。
安全级别说明
不同的实现可提供对不同威胁级别的保护。例如,一些实现只提供针对软件、智能IO和逻辑分析器(仅观察模式)攻击的保护,而其它实现可提供针对包括来自离子束攻击的威胁的所有威胁模型的保护。针对威胁类别保护的能力定义了安全级别。所有安全级别应当提供针对简单硬件攻击的保护,这些硬件攻击包括将处理器拔出插槽并将其放到完整性受损的平台上,以便绕过对建立安全物理空间的高完整性BIOS的信赖。在一种实现中,通过采用处理器微码或片上BIOS验证固件代码来验证BIOS,处理器确保平台的完整性。在这种情况下,BIOS代码可确认在芯片组中是否存在任何所需的安全特征。
在安全级别1(SL-1)模型的一个实施例中,采用了用于映射安全虚拟地址分区的外部系统存储器和系统NV(闪速)存储器的受保护分区。在一个实施例中,采用公共平台密钥来对隐藏执行的代码进行加密,并将其以加密形式保存在受保护的物理存储器中。关于对装置的秘密密钥操作的一些函数,可采取预防措施以确保这些函数不具有任何依赖于装置的秘密密钥的各位的转移。这可通过采用条件转移指令或预测性能来实现。在一个实施例中,所有中间计算数据以明码形式只保存在处理器寄存器和片上高速缓存中。在一个实施例中,无论安全地址范围中的数据在何时需要被存储在外部受保护的物理存储器分区中,输出的数据均采用总线接口单元中的DES单元来加密。可能存在单独的DES单元或者可共享公共DES单元,用于对来自安全物理地址空间的输入数据和代码进行解密。如果DES单元采用至少一个56位DES密钥,这是有利的。一些实现可采用更大的密钥(在采用三重DES的情况下)。
对所有隐藏执行来说,安全级别1可解决直到逻辑分析器(观察模式)的安全威胁。当安全物理空间中的代码是加密形式时,通过主动修改外部总线信号来获得对处理器/平台秘密的访问是非常困难的。然而,此安全级别不会提供对这种攻击的任何担保。在另一实施例中,采用抗窜改软件来进行“已知文本”攻击均匀硬件。安全级别1模型还可提供一些保护,防止采用实现检测模式和调试挂钩来获得对实现指定状态的访问,以便对专用数据进行解密。另外,SL1模型可采用一些有限量的保护,防止用电压和频率窜改技术来使处理器的动作不正确以获得对专用数据的访问。
在SL-1模型中,物理存储器的安全分区的保护可通过虚拟-物理转换机制、处理器中的DES加密并经存储控制器中的物理存储器类型寄存器来提供。在SL-1模型中,可通过只在处理器存储装置内操作秘密数据来保证秘密数据的保密性。无论安全物理存储器地址范围内的数据何时写出到总线上,它都采用BIU中的DES单元来加密。对于一些系统来说,希望可用于从安全物理存储器中加密/解密数据/代码的DES单元采用平台指定的密钥而不是处理器指定的密钥。
由于在SL-1模型中,安全物理地址空间中的所有外部代码和数据可以用平台密钥来加密,因此无法通过只用逻辑分析器察看外部总线信号来对代码或数据进行解密。处理器/平台的秘密密钥可被保护在更高级别的威胁模型。由于外部代码被加密,因此很难知道函数中的哪些指令在访问秘密密钥,或者如何修改输入指令比特流以使处理器结束写出明码存储器中的专用数据。SL-1模型还可提供适度的保护,以防止采用处理器实现指定调试和机器检查机制以及电压和频率窜改技术来获得对处理器/平台秘密的访问。
安全级别2(SL-2)模型的实施例将安全级别提升到SL-1之上,这是通过为片上物理存储器提供至少一部分安全物理存储器分区来实现的。在这种情况下,所有安全NV存储器分区仍驻留在平台中。一些易失性安全物理存储器也可驻留在外部系统存储器中。对作为外部系统存储器的一部分的一部分安全易失性存储器的安全保护与SL-1级别相似。在SL-2安全模型中,可以从外部存储器中以加密形式下载用于隐藏执行的代码。然后对代码解密,并采用处理器片上存储器验证完整性。然后在处理器的片上存储器之外执行解密的代码。所有专用数据也可以明码形式保存在片上存储器中。
根据此模型的一个实施例,片上存储器是由安全驱动器管理的共享处理器资源。一部分片上存储器可由不同处理共享。片上存储器的此共享部分的虚拟化可由驱动器来完成。存在驱动器可用以提供加密和保存这部分片上存储器的能力的安全核函数。还存在一种可用以解密和恢复片上物理存储器先前保存的分区的安全核函数。专用数据到外部NV存储器的任何存储还可用相同DES来加密。SL-2模型可提供更高级别的保护,防止采用处理器实现指定的探测模式或调试挂钩以及通过电压和频率窜改的攻击。
在SL-2模型中,通过虚拟-物理转换机制、片上物理存储器并通过采用对作为外部系统存储器的一部分的那部分安全物理空间的DES加密,可提供对物理易失性存储器的安全分区的保护。与SL-1模型相比,SL-2模型可提升装置/平台秘密密钥和处理器隐藏执行的安全级别。如果外部物理存储器中的所有关键代码和数据以加密形式保存,并且只在片上物理存储器中以明码形式保存,那么攻击者无法通过只用逻辑分析器察看外部总线信号来对代码或数据进行解密。而且,在对片上存储器中的下载检查完整性时,隐藏执行的完整性不会由于采用逻辑分析器来驱动外部总线信号而损坏。SL-2模型还可提供更多的保护,以防止使用实现探测和调试挂钩来获得对实现指定状态的访问以对专用数据解密。SL-2模型还可采用另外的保护,防止利用电压和频率窜改技术来使处理器的操作不正确以获得对专用数据的访问。
安全级别3(SL-3)模型的实施例将安全级别提升到SL-2之上,这是通过设置片上安全NV存储器或在与处理器芯片相同的封装内引入安全NV存储器分区来实现的。在一个实施例中,一些易失性和非易失性存储器仍可作为系统存储器和系统NV存储器的一部分而保留。另外,此安全级别可提供更高级别的保护,以防止采用实现调试挂钩、机器检查机制、各种实现窜改方案以及采用辐射攻击。一些实现可提供盖在处理器和NV存储器硅上的保护芯片,以及处理器和安全NV存储器芯片之间的互连上的保护芯片,以便防止离子束攻击。对于易失性和非易失性存储器的分区处于系统资源中的情况,这些实现提供了至少仍到SL-1级别的安全性。
在SL-3模型的实施例中,物理易失性安全分区和NV存储器的保护通过虚拟-物理转换机制和片上物理存储器的组合来提供。此模型通过只在处理器存储器内操作秘密数据而确保了秘密数据的保密性。与SL-2模型相比,此模型可提升装置/平台秘密密钥和处理器隐藏执行的安全级别。在SL-3模型中,隐藏执行中涉及的所有存储器可设置在一个封装内。这就防止了在计算引擎和用于隐藏执行的存储器之间的任何内部信号的暴露。另外,在此模型中,片上(或相同封装)NV存储器还可允许针对任何硬件重放攻击的保护。SL-3模型可提供针对通过实现指定的探测和调试挂钩而泄露专用数据的保护。该模型还可提供针对各种窜改方法的保护,这些方法可导致处理器产生故障并且可能以明码形式将专用数据写出到外部总线上。一些实现还可提供覆盖在处理器和秘密存储区域上的保护性芯片,使得无法采用离子束攻击来获得对专用数据的访问。
安全核心地址空间内的宏函数
可在安全核心地址空间内实现的一些宏函数为验证函数、密钥管理函数、嵌入验证核心、符号函数、检验函数、载入小应用程序函数、加密保存小应用程序、加密恢复小应用程序以及小应用程序空间内函数的调用。
结论
本发明的实施例涉及采用安全存储器分区来实现安全执行的方法和装置。本发明提供了相对于具有特殊安全协处理器以保护主处理器的代码和数据的现有系统的若干优点。本发明由于无需协处理器而有效地降低了成本。另外,本发明是一种更高性能的解决方案,因为安全代码可在更高性能的通用处理器中执行。此外,本发明是一种更有效的解决方案,因为没有协处理器数据传送的开销。
在这里具体地说明和/或描述了本发明的几个实施例。然而可以理解,在不脱离本发明的精神和预期范围的前提下,上述说明覆盖了本发明的修改和变化并在所附权利要求的范围内。例如,存储器分区可在虚拟存储器或物理存储器中实现。作为另一示例,实施例可包括符合SL-1、SL-2或SL-3安全模型的特征。

Claims (19)

1.一种处理器,它包括:
i.执行单元;
ii与所述执行单元相连的安全分区实施逻辑;以及
iii.与所述执行单元相连的密码逻辑。
2.如权利要求1所述的处理器,其特征在于,所述处理器还包括多个安全分区寄存器。
3.如权利要求2所述的处理器,其特征在于,所述安全分区寄存器包括分区入口点寄存器。
4.如权利要求3所述的处理器,其特征在于,所述处理器还包括与所述密码逻辑相连的翻译旁视缓冲器,所述安全分区实施逻辑连接在所述执行单元和所述翻译旁视缓冲器之间。
5.一种计算机系统,它包括:
i.第一存储器;以及
ii.处理器,它与所述第一存储器相连,并且包括安全分区实施逻辑,用以建立虚拟存储单元的分区。
6.如权利要求5所述的计算机系统,其特征在于,所述处理器还包括密码逻辑。
7.如权利要求6所述的计算机系统,其特征在于,所述计算机系统还包括非易失性存储器,所述安全分区逻辑还在所述非易失性存储器中建立存储单元的安全分区。
8.如权利要求6所述的计算机系统,其特征在于,所述非易失性存储器存储了验证实施指令,所述处理器还包括引导安全逻辑,用以检验所述验证实施指令的可靠性。
9.如权利要求6所述的计算机系统,其特征在于,所述处理器还包括分区入口点寄存器,用以存储所述第一存储器中的分区入口点。
10.一种处理指令的方法,它包括:
i.在执行指令之前检查所述指令;以及
ii当所述指令是对虚拟存储器中存储单元的分区内的存储单元的未授权访问时,决定不执行所述指令。
11.如权利要求10所述的方法,其特征在于,所述决定不执行所述指令的步骤还包括转移到中断处理器。
12.如权利要求10所述的方法,其特征在于,当所述指令操作所述分区内的存储单元中的数据并且所述指令未存储在所述分区内时,所述指令是未授权的访问。
13.如权利要求10所述的方法,其特征在于,当所述指令是从所述分区外的存储单元的转移,所述转移是到所述分区内的存储单元,并且所述转移不是到分区入口点时,所述指令是未授权的访问。
14.如权利要求13所述的方法,其特征在于,当所述指令未存储在所述分区入口点并且先前执行的指令是紧接在所述分区开头之前的指令时,所述指令也是未授权的访问。
15.如权利要求14所述的方法,其特征在于,所述方法还包括:
i.当所述指令从所述分区内的存储单元转移到所述分区内的另一存储单元时,执行所述指令;以及
ii当所述指令从所述分区外的存储单元转移到分区入口点时,执行所述指令。
16.一种处理指令的方法,所述方法包括:
i.从存储器中的安全分区将加密指令读入处理器;
ii对所读取的指令进行解密;以及
iii.执行所述解密的指令。
17.如权利要求16所述的方法,其特征在于,执行所述解密的指令包括:
i.确定所述指令是否为从所述安全分区读取数据的指令;以及
ii如果所述指令是从所述安全分区读取数据的指令,则从所述安全分区读取数据并对所读取的数据进行解密。
18.如权利要求16所述的方法,其特征在于,执行所述解密的指令包括:
i.确定所述指令是否为将数据写入所述安全分区中的存储单元内的指令;以及
ii如果所述指令是将数据写入所述安全分区中的指令,则对所述数据进行加密并将所述数据写入所述安全分区中的所述存储单元。
19.如权利要求17所述的方法,其特征在于,所述确定所述指令是否为从所述安全分区读取数据的指令的步骤包括将所述数据的虚拟地址与安全分区边界进行比较。
CNB018146090A 2000-06-30 2001-06-07 用于安全执行指令的方法、处理器和计算机系统 Expired - Lifetime CN100350394C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/608,439 2000-06-30
US09/608,439 US6986052B1 (en) 2000-06-30 2000-06-30 Method and apparatus for secure execution using a secure memory partition

Publications (2)

Publication Number Publication Date
CN1451117A true CN1451117A (zh) 2003-10-22
CN100350394C CN100350394C (zh) 2007-11-21

Family

ID=24436506

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018146090A Expired - Lifetime CN100350394C (zh) 2000-06-30 2001-06-07 用于安全执行指令的方法、处理器和计算机系统

Country Status (7)

Country Link
US (13) US6986052B1 (zh)
EP (1) EP1314091A2 (zh)
JP (2) JP2004523015A (zh)
CN (1) CN100350394C (zh)
AU (1) AU2001269759A1 (zh)
TW (1) TW552505B (zh)
WO (1) WO2002003208A2 (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100334519C (zh) * 2005-03-23 2007-08-29 联想(北京)有限公司 建立可信输入输出通道的方法
CN102521166A (zh) * 2011-12-05 2012-06-27 苏州希图视鼎微电子有限公司 信息安全协处理器及其内部存储空间的管理方法
CN102541673A (zh) * 2010-12-27 2012-07-04 北京中电华大电子设计有限责任公司 一种cpu取指令异常的安全处理方法和电路
CN104040510A (zh) * 2011-12-21 2014-09-10 英特尔公司 安全的直接存储器访问
CN104268448A (zh) * 2014-10-11 2015-01-07 中颖电子股份有限公司 采用快闪存储器的微处理器的程序代码保护方法
CN106462718A (zh) * 2014-03-20 2017-02-22 微软技术许可有限责任公司 存储设备的快速数据保护
CN106650499A (zh) * 2016-12-28 2017-05-10 江苏神州信源系统工程有限公司 一种基于安卓系统的外部数据安全保护方法
CN107924433A (zh) * 2015-09-10 2018-04-17 高通股份有限公司 由受控制的加密密钥管理保护的软件模块的安全进入和退出
CN109308163A (zh) * 2017-07-26 2019-02-05 英业达科技有限公司 非挥发性记忆体磁区规划方法
CN109643344A (zh) * 2016-09-30 2019-04-16 英特尔公司 用于共享安全性元数据存储器空间的方法和装置
CN109697028A (zh) * 2017-10-23 2019-04-30 美光科技公司 虚拟分区管理
CN110348204A (zh) * 2019-06-17 2019-10-18 海光信息技术有限公司 一种代码保护系统、认证方法、装置、芯片及电子设备
CN110569205A (zh) * 2018-06-06 2019-12-13 旭景科技股份有限公司 安全系统单芯片及其操作方法
CN112214758A (zh) * 2019-07-09 2021-01-12 意法半导体(大西部)公司 用于管理经加密的软件应用的设备和方法
CN112380503A (zh) * 2021-01-14 2021-02-19 北京东方通软件有限公司 一种保护核心程序及内存的方法
CN112400170A (zh) * 2018-06-24 2021-02-23 海克斯伍安全公司 配置、实施和监控可信执行环境的分离

Families Citing this family (231)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
BR0112170A (pt) * 2000-07-05 2004-07-27 Ernst & Young Llp Aparelho provendo um ou mais serviços de computador para diversos clientes, combinação de um primeiro aparelho e um segundo aparelho substancialmente idêntico ao citado primeiro aparelho, e, processos para prover um ou mais serviços de computador para diversos clientes, para operar um computador real em nome de diversos clientes, e para prover, para diversos clientes, um ou mais serviços de computador
GB2371125A (en) * 2001-01-13 2002-07-17 Secr Defence Computer protection system
US20060174352A1 (en) * 2001-07-25 2006-08-03 Seagate Technology Llc Method and apparatus for providing versatile services on storage devices
US7925894B2 (en) 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
FI115257B (fi) * 2001-08-07 2005-03-31 Nokia Corp Menetelmä informaation käsittelemiseksi elektroniikkalaitteessa, järjestelmä, elektroniikkalaite ja suoritinlohko
EP1331539B1 (en) * 2002-01-16 2016-09-28 Texas Instruments France Secure mode for processors supporting MMU and interrupts
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US8074081B2 (en) * 2002-04-15 2011-12-06 Infineon Technologies Ag Method for replacing contents of a data storage unit
DE60311441T2 (de) * 2002-04-18 2007-11-08 Advanced Micro Devices Inc., Sunnyvale Initialisierung eines rechnersystems mit einem für einen sicheren ausführungsmodus geeigneten prozessor
US20030226014A1 (en) * 2002-05-31 2003-12-04 Schmidt Rodney W. Trusted client utilizing security kernel under secure execution mode
US7266658B2 (en) * 2002-09-12 2007-09-04 International Business Machines Corporation System, method, and computer program product for prohibiting unauthorized access to protected memory regions
US7171539B2 (en) 2002-11-18 2007-01-30 Arm Limited Apparatus and method for controlling access to a memory
US7149862B2 (en) 2002-11-18 2006-12-12 Arm Limited Access control in a data processing apparatus
AU2003278350A1 (en) 2002-11-18 2004-06-15 Arm Limited Secure memory for protecting against malicious programs
GB2396034B (en) 2002-11-18 2006-03-08 Advanced Risc Mach Ltd Technique for accessing memory in a data processing apparatus
US7586855B1 (en) * 2002-12-05 2009-09-08 Cisco Technology, Inc. System and method to detect non-native storage components to manage configuration in a communications network
US8892878B2 (en) * 2003-05-09 2014-11-18 Oracle America, Inc. Fine-grained privileges in operating system partitions
US7725740B2 (en) * 2003-05-23 2010-05-25 Nagravision S.A. Generating a root key for decryption of a transmission key allowing secure communications
US7681046B1 (en) 2003-09-26 2010-03-16 Andrew Morgan System with secure cryptographic capabilities using a hardware specific digital secret
US7694151B1 (en) 2003-11-20 2010-04-06 Johnson Richard C Architecture, system, and method for operating on encrypted and/or hidden information
US8156343B2 (en) * 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US7450959B2 (en) * 2003-12-31 2008-11-11 Qualcomm Incorporated Wireless multiprocessor system-on-chip with unified memory and fault inhibitor
US20050198461A1 (en) * 2004-01-12 2005-09-08 Shaw Mark E. Security measures in a partitionable computing system
KR20070008653A (ko) * 2004-04-02 2007-01-17 마츠시타 덴끼 산교 가부시키가이샤 실행장치
EP1870814B1 (en) * 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
JP2005338942A (ja) * 2004-05-24 2005-12-08 Freescale Semiconductor Inc レジスタユニット
US20090055597A1 (en) * 2004-06-09 2009-02-26 Javier Canis Robles Method and Device for Sharing Information Between Memory Parcels In Limited Resource Environments
US7475431B2 (en) * 2004-06-10 2009-01-06 International Business Machines Corporation Using security levels to improve permission checking performance and manageability
US7549174B1 (en) * 2004-07-27 2009-06-16 Sun Microsystems, Inc. Multi-file cryptographic keystore
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
JP4794269B2 (ja) * 2004-11-08 2011-10-19 パナソニック株式会社 セキュアデバイスおよび中継端末
WO2006056988A2 (en) * 2004-11-24 2006-06-01 Discretix Technologies Ltd. System, method and apparatus of securing an operating system
US7774596B2 (en) 2005-02-02 2010-08-10 Insyde Software Corporation System and method for updating firmware in a secure manner
KR100670005B1 (ko) * 2005-02-23 2007-01-19 삼성전자주식회사 모바일 플랫폼을 위한 메모리의 무결성을 원격으로 확인하는 확인장치 및 그 시스템 그리고 무결성 확인 방법
US8619971B2 (en) * 2005-04-01 2013-12-31 Microsoft Corporation Local secure service partitions for operating system security
US7930738B1 (en) * 2005-06-02 2011-04-19 Adobe Systems Incorporated Method and apparatus for secure execution of code
US8037474B2 (en) 2005-09-27 2011-10-11 Sony Computer Entertainment Inc. Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution
US20070061535A1 (en) * 2005-09-12 2007-03-15 Microsoft Corporation Processing unit enclosed operating system
US20070074046A1 (en) * 2005-09-23 2007-03-29 Czajkowski David R Secure microprocessor and method
US20100191959A1 (en) * 2005-09-23 2010-07-29 Space Micro Inc. Secure microprocessor and method
US7975269B2 (en) 2005-09-27 2011-07-05 Sony Computer Entertainment Inc. Parallel processor methods and apparatus
US8316220B2 (en) 2005-09-27 2012-11-20 Sony Computer Entertainment Inc. Operating processors over a network
US7734827B2 (en) 2005-09-27 2010-06-08 Sony Computer Entertainment, Inc. Operation of cell processors
US8141076B2 (en) 2005-09-27 2012-03-20 Sony Computer Entertainment Inc. Cell processor methods and apparatus
US20100132053A1 (en) * 2005-10-04 2010-05-27 Nec Corporation Information processing device, information processing method and program
US7496727B1 (en) 2005-12-06 2009-02-24 Transmeta Corporation Secure memory access system and method
US8595747B2 (en) 2005-12-29 2013-11-26 Sony Computer Entertainment Inc. Efficient task scheduling by assigning fixed registers to scheduler
US7594101B2 (en) * 2006-02-06 2009-09-22 Stmicroelectronics S.A. Secure digital processing unit and method for protecting programs
US20070234330A1 (en) * 2006-03-01 2007-10-04 Microsoft Corporation Prevention of executable code modification
US7539890B2 (en) * 2006-04-25 2009-05-26 Seagate Technology Llc Hybrid computer security clock
US8429724B2 (en) * 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
US8028166B2 (en) * 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
CN101438290B (zh) * 2006-05-01 2011-10-05 联发科技股份有限公司 用于包括处理器和缓存虚拟存储器的系统中的安全语境切换的方法和装置
US20070297606A1 (en) * 2006-06-27 2007-12-27 Tkacik Thomas E Multiple key security and method for electronic devices
US8108670B2 (en) * 2006-07-13 2012-01-31 Intel Corporation Client apparatus and method with key manager
US20080028180A1 (en) * 2006-07-31 2008-01-31 Newman Alex P Inappropriate access detector based on system segmentation faults
US7950001B2 (en) * 2006-09-08 2011-05-24 International Business Machines Corporation Method and apparatus for instrumentation in a multiprocessing environment
US9860274B2 (en) 2006-09-13 2018-01-02 Sophos Limited Policy management
KR20080029687A (ko) * 2006-09-29 2008-04-03 한국전자통신연구원 암호화 기능이 내장된 메모리를 이용한 고속 대용량의암호화 장치 및 그 구현 방법
WO2008045824A2 (en) * 2006-10-09 2008-04-17 Texas Instruments Incorporated Monitor mode integrity verification
US8185952B2 (en) * 2007-01-03 2012-05-22 Texas Instruments Incorporated Static and dynamic firewalls
US8296581B2 (en) * 2007-02-05 2012-10-23 Infineon Technologies Ag Secure processor arrangement having shared memory
US8561204B1 (en) 2007-02-12 2013-10-15 Gregory William Dalcher System, method, and computer program product for utilizing code stored in a protected area of memory for securing an associated system
US8069279B2 (en) 2007-03-05 2011-11-29 Apple Inc. Data flow control within and between DMA channels
US8276201B2 (en) * 2007-03-22 2012-09-25 International Business Machines Corporation Integrity protection in data processing systems
US20080240230A1 (en) * 2007-03-29 2008-10-02 Horizon Semiconductors Ltd. Media processor with an integrated TV receiver
EP1978447B1 (en) * 2007-04-05 2011-02-16 STMicroelectronics (Research & Development) Limited Integrated circuit with restricted data access
US20080263256A1 (en) 2007-04-20 2008-10-23 Motorola, Inc. Logic Device with Write Protected Memory Management Unit Registers
US20090328238A1 (en) * 2007-06-29 2009-12-31 David Duncan Ridewood Glendinning Disabling encrypted data
US8079084B1 (en) 2007-08-10 2011-12-13 Fortinet, Inc. Virus co-processor instructions and methods for using such
US8375449B1 (en) 2007-08-10 2013-02-12 Fortinet, Inc. Circuits and methods for operating a virus co-processor
US8286246B2 (en) 2007-08-10 2012-10-09 Fortinet, Inc. Circuits and methods for efficient data transfer in a virus co-processing system
US20090119744A1 (en) * 2007-11-01 2009-05-07 Microsoft Corporation Device component roll back protection scheme
US8607034B2 (en) * 2008-05-24 2013-12-10 Via Technologies, Inc. Apparatus and method for disabling a microprocessor that provides for a secure execution mode
US8819839B2 (en) * 2008-05-24 2014-08-26 Via Technologies, Inc. Microprocessor having a secure execution mode with provisions for monitoring, indicating, and managing security levels
US8478973B2 (en) * 2008-05-30 2013-07-02 Infineon Technologies Ag System and method for providing a secure application fragmentation environment
US9513695B2 (en) 2008-06-24 2016-12-06 Virident Systems, Inc. Methods of managing power in network computer systems
US8417873B1 (en) 2008-06-24 2013-04-09 Virident Systems, Inc. Random read and read/write block accessible memory
US9286080B2 (en) * 2008-07-02 2016-03-15 Hewlett-Packard Development Company, L.P. Memory management for hypervisor loading
EP2151763A1 (en) * 2008-07-28 2010-02-10 Nagravision S.A. Method and apparatus for obfuscating virtual to physical memory mapping
US8484486B2 (en) * 2008-08-06 2013-07-09 Silver Spring Networks, Inc. Integrated cryptographic security module for a network node
US8843742B2 (en) * 2008-08-26 2014-09-23 Hewlett-Packard Company Hypervisor security using SMM
US8281169B2 (en) * 2008-08-27 2012-10-02 Wireless Silicon Group, Inc. Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)
US20100070776A1 (en) * 2008-09-17 2010-03-18 Shankar Raman Logging system events
DE102008048066B4 (de) * 2008-09-19 2018-02-01 Texas Instruments Deutschland Gmbh Zugriffssteuerschaltung zur Verwendung mit einer Überwachungs-Logikschaltungsanordnung in einem Verfahren zum Schutz von Software für eingebettete Anwendungen vor unerlaubtem Zugriff
US8132267B2 (en) 2008-09-30 2012-03-06 Intel Corporation Apparatus and method to harden computer system
US20100083365A1 (en) * 2008-09-30 2010-04-01 Naga Gurumoorthy Apparatus and method to harden computer system
US8266708B2 (en) * 2008-12-09 2012-09-11 Broadlands Technologies Llc Privacy protection system
US8844024B1 (en) * 2009-03-23 2014-09-23 Symantec Corporation Systems and methods for using tiered signing certificates to manage the behavior of executables
US8516264B2 (en) * 2009-10-09 2013-08-20 Lsi Corporation Interlocking plain text passwords to data encryption keys
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US8219772B2 (en) 2009-07-02 2012-07-10 Stmicroelectronics (Research & Development) Limited Loading secure code into a memory
US9495190B2 (en) * 2009-08-24 2016-11-15 Microsoft Technology Licensing, Llc Entropy pools for virtual machines
FR2955189B1 (fr) * 2009-11-12 2012-03-09 St Microelectronics Rousset Procede securise de traitement d'un contenu memorise au sein d'un composant, et composant correspondant
GB2482811B (en) * 2009-12-16 2017-07-05 Intel Corp Providing integrity verification and attestation in a hidden execution environment
US8510569B2 (en) 2009-12-16 2013-08-13 Intel Corporation Providing integrity verification and attestation in a hidden execution environment
WO2011082082A1 (en) * 2009-12-31 2011-07-07 Psi Systems, Inc. System and method for securing data
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US8468365B2 (en) * 2010-09-24 2013-06-18 Intel Corporation Tweakable encryption mode for memory encryption with protection against replay attacks
CN101989242B (zh) * 2010-11-12 2013-06-12 深圳国微技术有限公司 一种提高soc系统安全的总线监视器及其实现方法
US8819225B2 (en) 2010-11-15 2014-08-26 George Mason Research Foundation, Inc. Hardware-assisted integrity monitor
US8495323B1 (en) * 2010-12-07 2013-07-23 Symantec Corporation Method and system of providing exclusive and secure access to virtual storage objects in a virtual machine cluster
US8903705B2 (en) 2010-12-17 2014-12-02 Microsoft Corporation Application compatibility shims for minimal client computers
WO2012127266A1 (en) 2011-03-23 2012-09-27 Sandisk Il Ltd. Storage device and method for updating data in a partition of the storage device
US20120254526A1 (en) * 2011-03-28 2012-10-04 Advanced Micro Devices, Inc. Routing, security and storage of sensitive data in random access memory (ram)
US8495386B2 (en) * 2011-04-05 2013-07-23 Mcafee, Inc. Encryption of memory device with wear leveling
US8756434B2 (en) * 2011-04-08 2014-06-17 Apple Inc. System and method for executing an encrypted binary from a memory pool
US8745408B2 (en) * 2011-04-08 2014-06-03 Infineon Technologies Ag Instruction encryption/decryption arrangement and method with iterative encryption/decryption key update
US8914876B2 (en) 2011-05-05 2014-12-16 Ebay Inc. System and method for transaction security enhancement
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
US9298910B2 (en) 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
JP5287938B2 (ja) * 2011-06-24 2013-09-11 ブラザー工業株式会社 デバイス制御システム及びプログラム
US9098608B2 (en) 2011-10-28 2015-08-04 Elwha Llc Processor configured to allocate resources using an entitlement vector
US8930714B2 (en) 2011-07-19 2015-01-06 Elwha Llc Encrypted memory
US9471373B2 (en) 2011-09-24 2016-10-18 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9558034B2 (en) 2011-07-19 2017-01-31 Elwha Llc Entitlement vector for managing resource allocation
US9465657B2 (en) 2011-07-19 2016-10-11 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9460290B2 (en) 2011-07-19 2016-10-04 Elwha Llc Conditional security response using taint vector monitoring
US8955111B2 (en) 2011-09-24 2015-02-10 Elwha Llc Instruction set adapted for security risk monitoring
US9798873B2 (en) * 2011-08-04 2017-10-24 Elwha Llc Processor operable to ensure code integrity
US9575903B2 (en) 2011-08-04 2017-02-21 Elwha Llc Security perimeter
US9298918B2 (en) 2011-11-30 2016-03-29 Elwha Llc Taint injection and tracking
US8813085B2 (en) 2011-07-19 2014-08-19 Elwha Llc Scheduling threads based on priority utilizing entitlement vectors, weight and usage level
US9170843B2 (en) 2011-09-24 2015-10-27 Elwha Llc Data handling apparatus adapted for scheduling operations according to resource allocation based on entitlement
US9443085B2 (en) 2011-07-19 2016-09-13 Elwha Llc Intrusion detection using taint accumulation
US20130061328A1 (en) * 2011-09-06 2013-03-07 Broadcom Corporation Integrity checking system
US9489541B2 (en) * 2011-09-09 2016-11-08 Nvidia Corporation Content protection via online servers and code execution in a secure operating system
JP5796447B2 (ja) * 2011-10-07 2015-10-21 株式会社リコー 情報処理装置、正当性検証方法、正当性検証プログラム
US9389933B2 (en) * 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9596082B2 (en) * 2011-12-15 2017-03-14 Intel Corporation Secure debug trace messages for production authenticated code modules
US9208319B2 (en) 2011-12-15 2015-12-08 Microsoft Technology Licensing, Llc Code base partitioning system
WO2013101208A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Hardware enforced memory access permissions
US8954755B2 (en) * 2012-01-23 2015-02-10 International Business Machines Corporation Memory address translation-based data encryption with integrated encryption engine
US8751830B2 (en) 2012-01-23 2014-06-10 International Business Machines Corporation Memory address translation-based data encryption/compression
KR101897605B1 (ko) * 2012-02-24 2018-09-12 삼성전자 주식회사 휴대 단말기의 무결성 보호 방법 및 장치
KR101869059B1 (ko) 2012-02-28 2018-06-20 삼성전자주식회사 저장 장치 및 그것의 메모리 컨트롤러
US9927486B2 (en) 2012-07-09 2018-03-27 Ultrasoc Technologies Ltd. Debug architecture
GB2500074B (en) * 2012-07-09 2014-08-20 Ultrasoc Technologies Ltd Debug architecture
US9378572B2 (en) 2012-08-17 2016-06-28 Intel Corporation Shared virtual memory
US9122873B2 (en) 2012-09-14 2015-09-01 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9135446B2 (en) * 2012-09-28 2015-09-15 Intel Corporation Systems and methods to provide secure storage
JP2014089652A (ja) 2012-10-31 2014-05-15 Toshiba Corp 情報処理装置
US9092617B2 (en) * 2012-11-08 2015-07-28 Intel Corporation Protecting systems from unauthorized access to system resources using browser independent web page technology
KR102139327B1 (ko) 2012-11-15 2020-07-29 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
US9881161B2 (en) 2012-12-06 2018-01-30 S-Printing Solution Co., Ltd. System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof
KR20140073384A (ko) * 2012-12-06 2014-06-16 삼성전자주식회사 보안 부팅을 수행하는 칩 시스템과 이를 이용하는 화상형성장치 및 그 보안 부팅 방법
US9244840B2 (en) 2012-12-12 2016-01-26 International Business Machines Corporation Cache swizzle with inline transposition
US20140173392A1 (en) * 2012-12-19 2014-06-19 Advanced Micro Devices, Inc. Hardware enforced protection of software data structures
US8935781B1 (en) 2013-02-01 2015-01-13 Google Inc. Native code module security for arm 64-bit instruction set architectures
US9158942B2 (en) 2013-02-11 2015-10-13 Intel Corporation Securing display output data against malicious software attacks
US8931108B2 (en) * 2013-02-18 2015-01-06 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
TWI498737B (zh) * 2013-03-29 2015-09-01 Mstar Semiconductor Inc 用於主機板控制模組之除錯權限判斷方法及相關主機板控制模組
US9396360B2 (en) * 2013-06-27 2016-07-19 Advanced Micro Devices, Inc. System and method for secure control over performance state
US10061940B2 (en) 2013-07-09 2018-08-28 Andes Technology Corporation Secure protection processor and method including comparing an instruction security attribute of an instruction and a security attribute of an operational event
KR102167393B1 (ko) * 2013-08-16 2020-10-19 삼성전자 주식회사 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법
JP6117068B2 (ja) * 2013-09-20 2017-04-19 株式会社東芝 情報処理装置、およびプログラム
KR102183852B1 (ko) * 2013-11-22 2020-11-30 삼성전자주식회사 전자 장치의 무결성 검증을 위한 방법, 저장 매체 및 전자 장치
US9436823B1 (en) * 2013-12-17 2016-09-06 Google Inc. System and method for detecting malicious code
CN105723377B (zh) * 2013-12-17 2019-06-04 英特尔公司 供内核模式应用使用的安全区域
US9448950B2 (en) * 2013-12-24 2016-09-20 Intel Corporation Using authenticated manifests to enable external certification of multi-processor platforms
US9389793B2 (en) * 2014-03-06 2016-07-12 Freescale Semiconductor, Inc. Trusted execution and access protection for embedded memory
US9607178B2 (en) 2014-03-20 2017-03-28 Qualcomm Incorporated Protection against key tampering
US9372996B2 (en) 2014-05-15 2016-06-21 International Business Machines Corporation Protecting data owned by an operating system in a multi-operating system mobile environment
US9678760B2 (en) 2014-08-01 2017-06-13 Samsung Electronics Co., Ltd. Memory card and storage system having authentication program and method for operating thereof
US9767324B2 (en) 2014-11-22 2017-09-19 Intel Corporation Transparent execution of secret content
US9703720B2 (en) * 2014-12-23 2017-07-11 Intel Corporation Method and apparatus to allow secure guest access to extended page tables
US9904803B2 (en) 2015-03-25 2018-02-27 Intel Corporation Technologies for hardening data encryption with secure enclaves
US9959418B2 (en) * 2015-07-20 2018-05-01 Intel Corporation Supporting configurable security levels for memory address ranges
JP2017033149A (ja) * 2015-07-30 2017-02-09 株式会社東芝 情報処理装置、コントローラ、及び、情報処理装置の制御方法
US10102391B2 (en) 2015-08-07 2018-10-16 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
US9767320B2 (en) 2015-08-07 2017-09-19 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
US9578054B1 (en) 2015-08-31 2017-02-21 Newman H-R Computer Design, LLC Hacking-resistant computer design
US9870466B2 (en) 2015-09-26 2018-01-16 Mcafee, Inc. Hardware-enforced code paths
US10546131B2 (en) * 2015-10-22 2020-01-28 Mcafee, Llc End-point visibility
US20170169213A1 (en) * 2015-12-14 2017-06-15 Lenovo (Beijing) Limited Electronic device and method for running applications in different security environments
US10102370B2 (en) 2015-12-21 2018-10-16 Intel Corporation Techniques to enable scalable cryptographically protected memory using on-chip memory
CN108292340A (zh) * 2016-02-19 2018-07-17 惠普发展公司,有限责任合伙企业 在运行时间期间向安全数据存储设备安全地写入数据
US20210026950A1 (en) * 2016-03-07 2021-01-28 Crowdstrike, Inc. Hypervisor-based redirection of system calls and interrupt-based task offloading
JP6274623B2 (ja) * 2016-03-24 2018-02-07 インテル・コーポレーション 安全なダイレクトメモリアクセス
ES2918011T3 (es) 2016-04-14 2022-07-13 Sequent Software Inc Sistema y método para la generación, almacenamiento, administración y uso de uno o más secretos digitales en asociación con un dispositivo electrónico portátil
US20180004946A1 (en) * 2016-07-01 2018-01-04 Intel Corporation Regulating control transfers for execute-only code execution
US10261919B2 (en) * 2016-07-08 2019-04-16 Hewlett Packard Enterprise Development Lp Selective memory encryption
CN105978913A (zh) * 2016-07-15 2016-09-28 柳州健科技有限公司 网络服务系统
CN106060081A (zh) * 2016-07-16 2016-10-26 柳州健科技有限公司 具有数据监控功能的网络服务平台
CN106060083A (zh) * 2016-07-16 2016-10-26 柳州健科技有限公司 具有数据监控功能的网络服务系统
CN106101024A (zh) * 2016-07-16 2016-11-09 柳州健科技有限公司 具有数据监控功能的局域网络数据系统
CN106060082A (zh) * 2016-07-16 2016-10-26 柳州健科技有限公司 基于局域网的具有数据监控功能的网络服务平台
US10721067B2 (en) * 2016-08-10 2020-07-21 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Secure processor for multi-tenant cloud workloads
US10389693B2 (en) * 2016-08-23 2019-08-20 Hewlett Packard Enterprise Development Lp Keys for encrypted disk partitions
US20180081830A1 (en) * 2016-09-20 2018-03-22 Advanced Micro Devices, Inc. Hardware supervision of page tables
US11405201B2 (en) 2016-11-10 2022-08-02 Brickell Cryptology Llc Secure transfer of protected application storage keys with change of trusted computing base
US10855465B2 (en) 2016-11-10 2020-12-01 Ernest Brickell Audited use of a cryptographic key
US11398906B2 (en) 2016-11-10 2022-07-26 Brickell Cryptology Llc Confirming receipt of audit records for audited use of a cryptographic key
US10498712B2 (en) 2016-11-10 2019-12-03 Ernest Brickell Balancing public and personal security needs
US10394711B2 (en) * 2016-11-30 2019-08-27 International Business Machines Corporation Managing lowest point of coherency (LPC) memory using a service layer adapter
KR20180066601A (ko) * 2016-12-09 2018-06-19 삼성전자주식회사 메모리 시스템의 구동 방법
US10223531B2 (en) 2016-12-30 2019-03-05 Google Llc Secure device state apparatus and method and lifecycle management
US10417433B2 (en) 2017-01-24 2019-09-17 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Encryption and decryption of data owned by a guest operating system
EP3583538A4 (en) * 2017-02-20 2020-11-04 Newman H-R Computer Design, LLC HACKING RESISTANT COMPUTER DESIGN
US10348706B2 (en) 2017-05-04 2019-07-09 Ernest Brickell Assuring external accessibility for devices on a network
US10652245B2 (en) 2017-05-04 2020-05-12 Ernest Brickell External accessibility for network devices
US10482289B2 (en) * 2017-08-24 2019-11-19 Qualcomm Incorporated Computing device to provide access control to a hardware resource
US11017102B2 (en) * 2017-09-12 2021-05-25 Sophos Limited Communicating application information to a firewall
KR102416501B1 (ko) * 2017-09-20 2022-07-05 삼성전자주식회사 전자 장치 및 그의 제어 방법
US10116436B1 (en) * 2017-09-26 2018-10-30 Intel Corporation Techniques for preventing memory timing attacks
US10318438B1 (en) * 2017-12-07 2019-06-11 Nuvoton Technology Corporation Secure memory access using memory read restriction
US10757087B2 (en) * 2018-01-02 2020-08-25 Winbond Electronics Corporation Secure client authentication based on conditional provisioning of code signature
US10970390B2 (en) * 2018-02-15 2021-04-06 Intel Corporation Mechanism to prevent software side channels
IL258368B2 (en) 2018-03-26 2024-04-01 Kazuar Advanced Tech Ltd Secure computer system
US10649911B2 (en) * 2018-03-29 2020-05-12 Intel Corporation Supporting memory paging in virtualized systems using trust domains
CN110490008B (zh) * 2018-05-14 2021-08-10 英韧科技(上海)有限公司 安全装置及安全芯片
US11030112B2 (en) 2018-05-25 2021-06-08 Red Hat, Inc. Enhanced address space layout randomization
DE102018213616A1 (de) * 2018-06-20 2019-12-24 Robert Bosch Gmbh Kryptografiemodul und Betriebsverfahren hierfür
US11741196B2 (en) 2018-11-15 2023-08-29 The Research Foundation For The State University Of New York Detecting and preventing exploits of software vulnerability using instruction tags
CN112292678A (zh) * 2019-01-04 2021-01-29 百度时代网络技术(北京)有限公司 用于验证将要由主机系统的数据处理加速器执行的内核对象的方法与系统
US11063747B2 (en) * 2019-03-25 2021-07-13 Micron Technology, Inc. Secure monitoring using block chain
US11948008B2 (en) 2019-04-30 2024-04-02 Hewlett-Packard Development Company, L.P. System management memory coherency detection
TWI693600B (zh) * 2019-05-08 2020-05-11 慧榮科技股份有限公司 具安全性擴充的資料儲存裝置以及非揮發式記憶體控制方法
US11372780B2 (en) 2019-05-30 2022-06-28 Synaptics Incorporated Granular access control for secure memory
US11645425B2 (en) 2019-07-03 2023-05-09 Beyond Semiconductor, d.o.o. Systems and methods for data-driven secure and safe computing
CN112749397A (zh) 2019-10-29 2021-05-04 阿里巴巴集团控股有限公司 一种系统和方法
KR20210142820A (ko) 2020-05-19 2021-11-26 삼성전자주식회사 공개키와 비밀키를 저장하는 비휘발성 메모리 장치, 전자 장치 및 서비스 제공자
US11561907B2 (en) 2020-08-18 2023-01-24 Micron Technology, Inc. Access to data stored in quarantined memory media
US11880718B2 (en) 2020-09-15 2024-01-23 Renesas Electronics Corporation System and method for generating secure partition regions in open and secure processor environments
US11720504B2 (en) * 2021-04-15 2023-08-08 Apple Inc. Secure storage of datasets in a thread network device
US11709786B2 (en) * 2021-04-29 2023-07-25 Renesas Electronic Corporation Device and method of secure decryption by virtualization and translation of physical encryption keys
WO2024043935A1 (en) * 2022-08-25 2024-02-29 MatterFi Crypto currency hardware wallet

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2258112A5 (zh) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
US4238854A (en) 1977-12-05 1980-12-09 International Business Machines Corporation Cryptographic file security for single domain networks
JPS5781650A (en) 1980-11-07 1982-05-21 Mitsubishi Electric Corp Data processor
JPS5783850A (en) 1980-11-12 1982-05-25 Mitsubishi Electric Corp Data processing device
US4573119A (en) * 1983-07-11 1986-02-25 Westheimer Thomas O Computer software protection system
ZA857137B (en) 1984-09-21 1986-04-30 Int Computers Ltd Data transfer system
US5146575A (en) * 1986-11-05 1992-09-08 International Business Machines Corp. Implementing privilege on microprocessor systems for use in software asset protection
JPS6421637A (en) 1987-07-17 1989-01-25 Fujitsu Ltd Communication system between microprocessor and memory or peripheral lsi
US5237609A (en) * 1989-03-31 1993-08-17 Mitsubishi Denki Kabushiki Kaisha Portable secure semiconductor memory device
US5065429A (en) * 1989-04-03 1991-11-12 Lang Gerald S Method and apparatus for protecting material on storage media
US4987595A (en) * 1989-09-11 1991-01-22 Motorola, Inc. Secure cryptographic processor arrangement
US5029206A (en) * 1989-12-27 1991-07-02 Motorola, Inc. Uniform interface for cryptographic services
EP0473913A3 (en) 1990-09-04 1992-12-16 International Business Machines Corporation Method and apparatus for providing a service pool of virtual machines for a plurality of vm users
JP2514292B2 (ja) * 1991-04-25 1996-07-10 インターナショナル・ビジネス・マシーンズ・コーポレイション オペランドペ―ジメモリ及び命令ペ―ジメモリを有するコンピュ―タシステム
JPH04348434A (ja) 1991-05-27 1992-12-03 Hitachi Ltd 仮想計算機システム
DE4120398A1 (de) * 1991-06-20 1993-01-07 Standard Elektrik Lorenz Ag Datenverarbeitungsanlage
US5627987A (en) 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5875464A (en) * 1991-12-10 1999-02-23 International Business Machines Corporation Computer system with private and shared partitions in cache
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
EP0600112A1 (de) 1992-11-30 1994-06-08 Siemens Nixdorf Informationssysteme Aktiengesellschaft Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
US5493665A (en) * 1992-12-21 1996-02-20 Base 10 Systems, Inc. Portable memory device and method of securing the integrity of stored data therein utilizing a starting address and a stored memory cycle number
US5870520A (en) * 1992-12-23 1999-02-09 Packard Bell Nec Flash disaster recovery ROM and utility to reprogram multiple ROMS
US5379342A (en) * 1993-01-07 1995-01-03 International Business Machines Corp. Method and apparatus for providing enhanced data verification in a computer system
US5892944A (en) 1993-07-20 1999-04-06 Kabushiki Kaisha Toshiba Program execution and operation right management system suitable for single virtual memory scheme
US5706407A (en) 1993-12-28 1998-01-06 Kabushiki Kaisha Toshiba System for reallocation of memory banks in memory sized order
US5734858A (en) * 1994-10-24 1998-03-31 Microsoft Corporation Method and apparatus for simulating banked memory as a linear address space
US5717942A (en) * 1994-12-27 1998-02-10 Unisys Corporation Reset for independent partitions within a computer system
JP2924705B2 (ja) * 1995-04-10 1999-07-26 富士ゼロックス株式会社 メモリ管理方法およびオブジェクト管理方法
US5668973A (en) 1995-04-14 1997-09-16 Ascom Hasler Mailing Systems Ag Protection system for critical memory information
US5675645A (en) * 1995-04-18 1997-10-07 Ricoh Company, Ltd. Method and apparatus for securing executable programs against copying
US5559960A (en) * 1995-04-21 1996-09-24 Lettvin; Jonathan D. Software anti-virus facility
JPH08305558A (ja) * 1995-04-27 1996-11-22 Casio Comput Co Ltd 暗号化プログラム演算装置
US5692170A (en) * 1995-04-28 1997-11-25 Metaflow Technologies, Inc. Apparatus for detecting and executing traps in a superscalar processor
US5592616A (en) * 1995-06-07 1997-01-07 Dell Usa, Lp Method for performing efficient memory testing on large memory arrays using test code executed from cache memory
JP2002515765A (ja) 1995-06-29 2002-05-28 シリコン・ゲーミング・インコーポレーテッド 優れた遊技機能と認証およびセキュリティを有する電子的カジノゲームシステム
KR100281869B1 (ko) 1995-07-28 2001-02-15 윤종용 보안 기능을 갖는 개인용 컴퓨터, 그의 보안 방법 및 그 보안 장치의 설치 및 제거방법
FR2739737B1 (fr) 1995-10-09 1997-11-21 Inside Technologies Perfectionnements aux cartes a memoire
JPH09160831A (ja) 1995-12-08 1997-06-20 Hitachi Ltd 情報処理装置
JP3747520B2 (ja) * 1996-01-30 2006-02-22 富士ゼロックス株式会社 情報処理装置及び情報処理方法
IL117085A (en) 1996-02-08 2005-07-25 Milsys Ltd Secure computer system
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5845129A (en) 1996-03-22 1998-12-01 Philips Electronics North America Corporation Protection domains in a single address space
US5883956A (en) * 1996-03-28 1999-03-16 National Semiconductor Corporation Dynamic configuration of a secure processing unit for operations in various environments
US5761716A (en) * 1996-05-01 1998-06-02 International Business Machines Corporation Rate based memory replacement mechanism for replacing cache entries when the cache is full
US5802592A (en) * 1996-05-31 1998-09-01 International Business Machines Corporation System and method for protecting integrity of alterable ROM using digital signatures
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
US6138236A (en) * 1996-07-01 2000-10-24 Sun Microsystems, Inc. Method and apparatus for firmware authentication
US5841869A (en) * 1996-08-23 1998-11-24 Cheyenne Property Trust Method and apparatus for trusted processing
US6052780A (en) * 1996-09-12 2000-04-18 Open Security Solutions, Llc Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information
US5937063A (en) * 1996-09-30 1999-08-10 Intel Corporation Secure boot
US6029247A (en) * 1996-12-09 2000-02-22 Novell, Inc. Method and apparatus for transmitting secured data
US6148401A (en) 1997-02-05 2000-11-14 At&T Corp. System and method for providing assurance to a host that a piece of software possesses a particular property
JPH10228421A (ja) 1997-02-14 1998-08-25 Nec Ic Microcomput Syst Ltd メモリアクセス制御回路
JP3558813B2 (ja) 1997-02-28 2004-08-25 三菱電機株式会社 映像監視システム
EP0970411B1 (en) 1997-03-27 2002-05-15 BRITISH TELECOMMUNICATIONS public limited company Copy protection of data
US5859911A (en) * 1997-04-16 1999-01-12 Compaq Computer Corp. Method for the secure remote flashing of the BIOS of a computer
JP3293760B2 (ja) * 1997-05-27 2002-06-17 株式会社エヌイーシー情報システムズ 改ざん検知機能付きコンピュータシステム
US6064989A (en) * 1997-05-29 2000-05-16 Pitney Bowes Inc. Synchronization of cryptographic keys between two modules of a distributed system
US6584565B1 (en) 1997-07-15 2003-06-24 Hewlett-Packard Development Company, L.P. Method and apparatus for long term verification of digital signatures
US6105113A (en) * 1997-08-21 2000-08-15 Silicon Graphics, Inc. System and method for maintaining translation look-aside buffer (TLB) consistency
US5987572A (en) * 1997-09-29 1999-11-16 Intel Corporation Method and apparatus employing a dynamic encryption interface between a processor and a memory
US6003117A (en) * 1997-10-08 1999-12-14 Vlsi Technology, Inc. Secure memory management unit which utilizes a system processor to perform page swapping
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
US6085296A (en) 1997-11-12 2000-07-04 Digital Equipment Corporation Sharing memory pages and page tables among computer processes
US5991399A (en) * 1997-12-18 1999-11-23 Intel Corporation Method for securely distributing a conditional use private key to a trusted entity on a remote system
US6029000A (en) 1997-12-22 2000-02-22 Texas Instruments Incorporated Mobile communication system with cross compiler and cross linker
US6219787B1 (en) 1997-12-22 2001-04-17 Texas Instruments Incorporated Method and apparatus for extending security model to native code
US6157398A (en) * 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
US6141756A (en) 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
GB9812836D0 (en) * 1998-06-16 1998-08-12 Ncr Int Inc Data security arrangement
US6212633B1 (en) * 1998-06-26 2001-04-03 Vlsi Technology, Inc. Secure data communication over a memory-mapped serial communications interface utilizing a distributed firewall
JP4933693B2 (ja) 1998-08-24 2012-05-16 マイクロユニティ システムズ エンジニアリング インコーポレイテッド ワイド・オペランド・アーキテクチャを含むシステムおよび方法
JP2000076139A (ja) 1998-08-28 2000-03-14 Nippon Telegr & Teleph Corp <Ntt> 携帯型情報記憶媒体
US6378074B1 (en) * 1998-10-05 2002-04-23 Sentry Technologies Pte Ltd Method for security partitioning of a computer system
FI107860B (fi) * 1999-02-09 2001-10-15 Sonera Smarttrust Oy Menetelmä ja järjestelmä tietoliikennejärjestelmässä ja tilaajaidentiteettimoduuli
EP1030237A1 (en) 1999-02-15 2000-08-23 Hewlett-Packard Company Trusted hardware device in a computer
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
CA2368858A1 (en) 1999-04-12 2000-10-19 Digital Media On Demand, Inc. Secure electronic commerce system
EP1056014A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company System for providing a trustworthy user interface
EP1055989A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company System for digitally signing a document
US6971022B1 (en) * 1999-06-15 2005-11-29 Matsushita Electric Industrial Co., Ltd. Cryptographic apparatus for performing cryptography on a specified area of content data
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
GB9923802D0 (en) 1999-10-08 1999-12-08 Hewlett Packard Co User authentication
GB9923804D0 (en) 1999-10-08 1999-12-08 Hewlett Packard Co Electronic commerce system
US6711675B1 (en) * 2000-02-11 2004-03-23 Intel Corporation Protected boot flow
US6983374B2 (en) * 2000-02-14 2006-01-03 Kabushiki Kaisha Toshiba Tamper resistant microprocessor
US6507904B1 (en) 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US6795905B1 (en) 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US20020062452A1 (en) 2000-08-18 2002-05-23 Warwick Ford Countering credentials copying
EP1384126A2 (en) 2001-04-24 2004-01-28 Hewlett-Packard Company An information security system
US20030126454A1 (en) 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
AU2003278350A1 (en) * 2002-11-18 2004-06-15 Arm Limited Secure memory for protecting against malicious programs

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100334519C (zh) * 2005-03-23 2007-08-29 联想(北京)有限公司 建立可信输入输出通道的方法
CN102541673A (zh) * 2010-12-27 2012-07-04 北京中电华大电子设计有限责任公司 一种cpu取指令异常的安全处理方法和电路
CN102521166B (zh) * 2011-12-05 2015-02-11 晶门科技(深圳)有限公司 信息安全协处理器及其内部存储空间的管理方法
CN102521166A (zh) * 2011-12-05 2012-06-27 苏州希图视鼎微电子有限公司 信息安全协处理器及其内部存储空间的管理方法
CN104040510B (zh) * 2011-12-21 2017-05-17 英特尔公司 具备安全的直接存储器访问的计算设备及相应方法
CN104040510A (zh) * 2011-12-21 2014-09-10 英特尔公司 安全的直接存储器访问
CN106462718A (zh) * 2014-03-20 2017-02-22 微软技术许可有限责任公司 存储设备的快速数据保护
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
CN106462718B (zh) * 2014-03-20 2019-06-28 微软技术许可有限责任公司 存储设备的快速数据保护
CN104268448A (zh) * 2014-10-11 2015-01-07 中颖电子股份有限公司 采用快闪存储器的微处理器的程序代码保护方法
CN107924433A (zh) * 2015-09-10 2018-04-17 高通股份有限公司 由受控制的加密密钥管理保护的软件模块的安全进入和退出
CN107924433B (zh) * 2015-09-10 2021-09-07 高通股份有限公司 由受控制的加密密钥管理保护的软件模块的安全进入和退出
CN109643344A (zh) * 2016-09-30 2019-04-16 英特尔公司 用于共享安全性元数据存储器空间的方法和装置
CN109643344B (zh) * 2016-09-30 2023-09-05 英特尔公司 用于共享安全性元数据存储器空间的方法和装置
CN106650499A (zh) * 2016-12-28 2017-05-10 江苏神州信源系统工程有限公司 一种基于安卓系统的外部数据安全保护方法
CN109308163A (zh) * 2017-07-26 2019-02-05 英业达科技有限公司 非挥发性记忆体磁区规划方法
CN109697028A (zh) * 2017-10-23 2019-04-30 美光科技公司 虚拟分区管理
CN109697028B (zh) * 2017-10-23 2022-05-13 美光科技公司 操作存储器装置的方法、存储器装置及电子系统
US11340836B2 (en) 2017-10-23 2022-05-24 Micron Technology, Inc. Virtual partition management in a memory device
US11789661B2 (en) 2017-10-23 2023-10-17 Micron Technology, Inc. Virtual partition management
CN110569205A (zh) * 2018-06-06 2019-12-13 旭景科技股份有限公司 安全系统单芯片及其操作方法
CN112400170A (zh) * 2018-06-24 2021-02-23 海克斯伍安全公司 配置、实施和监控可信执行环境的分离
CN110348204A (zh) * 2019-06-17 2019-10-18 海光信息技术有限公司 一种代码保护系统、认证方法、装置、芯片及电子设备
CN112214758A (zh) * 2019-07-09 2021-01-12 意法半导体(大西部)公司 用于管理经加密的软件应用的设备和方法
CN112380503A (zh) * 2021-01-14 2021-02-19 北京东方通软件有限公司 一种保护核心程序及内存的方法
CN112380503B (zh) * 2021-01-14 2021-04-30 北京东方通软件有限公司 一种保护核心程序及内存的方法

Also Published As

Publication number Publication date
US20150121090A1 (en) 2015-04-30
WO2002003208A3 (en) 2003-03-20
AU2001269759A1 (en) 2002-01-14
US20150154424A1 (en) 2015-06-04
JP5249399B2 (ja) 2013-07-31
WO2002003208A2 (en) 2002-01-10
US20130298251A1 (en) 2013-11-07
TW552505B (en) 2003-09-11
US20150154423A1 (en) 2015-06-04
US8347072B2 (en) 2013-01-01
JP2004523015A (ja) 2004-07-29
US9323954B2 (en) 2016-04-26
US20110131402A1 (en) 2011-06-02
US20150121087A1 (en) 2015-04-30
US9619672B2 (en) 2017-04-11
US20150113289A1 (en) 2015-04-23
US9507962B2 (en) 2016-11-29
US20060015749A1 (en) 2006-01-19
US20150113288A1 (en) 2015-04-23
US6986052B1 (en) 2006-01-10
US7822979B2 (en) 2010-10-26
US20110047376A1 (en) 2011-02-24
US10572689B2 (en) 2020-02-25
JP2012053898A (ja) 2012-03-15
US9971909B2 (en) 2018-05-15
US9305183B2 (en) 2016-04-05
US8549275B2 (en) 2013-10-01
EP1314091A2 (en) 2003-05-28
US20190042798A1 (en) 2019-02-07
US8627053B2 (en) 2014-01-07
US9547779B2 (en) 2017-01-17
CN100350394C (zh) 2007-11-21
US20110093700A1 (en) 2011-04-21
US9507963B2 (en) 2016-11-29

Similar Documents

Publication Publication Date Title
CN100350394C (zh) 用于安全执行指令的方法、处理器和计算机系统
US10360411B2 (en) Secure processing unit systems and methods
US8473754B2 (en) Hardware-facilitated secure software execution environment
EP1396778B1 (en) Semiconductor device including encryption section, semiconductor device including external interface, and content reproduction method
US20040003273A1 (en) Sleep protection
CN107563226B (zh) 一种存储器控制器、处理器模块及密钥更新方法
Kemerlis et al. Enhancing Security by Diversifying Instruction Sets

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20071121