CN1659497B - 保护内存不受复位之后的攻击 - Google Patents

保护内存不受复位之后的攻击 Download PDF

Info

Publication number
CN1659497B
CN1659497B CN038136953A CN03813695A CN1659497B CN 1659497 B CN1659497 B CN 1659497B CN 038136953 A CN038136953 A CN 038136953A CN 03813695 A CN03813695 A CN 03813695A CN 1659497 B CN1659497 B CN 1659497B
Authority
CN
China
Prior art keywords
memory
internal memory
secret
indication
covert
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
CN038136953A
Other languages
English (en)
Other versions
CN1659497A (zh
Inventor
D·格垃洛克
D·普斯纳
J·萨顿二世
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 CN1659497A publication Critical patent/CN1659497A/zh
Application granted granted Critical
Publication of CN1659497B publication Critical patent/CN1659497B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • 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/1433Protection 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 module or a part of a module
    • 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/2143Clearing memory, e.g. to prevent the data from being stolen

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)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

尝试保护秘密不受系统复位攻击的方法、装置和计算可读媒体。在一些实施例中,在系统复位后锁定内存并在解除锁定内存之前将秘密从内存中去除。

Description

保护内存不受复位之后的攻击
技术领域
本申请涉及信息保护,尤其涉及系统复位之后对存储器的保护。
背景技术
在本地或远程计算设备上进行的财政和个人交易的比率越来越高。然而,这些财政和个人交易的持续增长部分依赖于尝试防止损失私密性、破坏数据和滥用数据等的安全加强(SE)环境的建立。
SE环境可运用各种技术来防止不同种类的攻击或对保护数据或秘密的未经授权的访问(例如:社会安全号、帐号、银行存款余额、密码、授权密钥等等)。这种攻击中的一种是系统复位攻击。计算设备常支持用于启动系统复位的机构。例如:可以通过复位按钮、LAN控制器、对芯片集寄存器的写入、或功率损失等等来启动系统复位。计算设备可能会运用可因系统复位而导致无效的处理器、芯片集和/或其它硬件保护。然而,系统存储器可以保留其全部或部分内容(攻击者在系统复位事件之后可能尝试访问的内容)。
发明内容
本申请试图解决系统复位之后的存储器安全问题。
根据本发明的一种方法,其特征在于,包括:在系统复位事件之后,响应于确定内存可能包含秘密,锁定内存以拒绝对内存的不可信访问;和写入锁定的内存,以重写内存可能包含的秘密。
根据本发明的另一种方法,其特征在于,包括:在系统复位事件之后锁定内存;从锁定内存中去除数据;及在数据从内存中去除后,解除锁定内存。
根据本发明的一种装置,其特征在于,包括:指示内存是否被锁定的内存锁定存储器;和内存控制器,用于在系统复位事件之后响应于指示内存被锁定的内存锁定存储器,拒绝对内存的不可信访问和允许对内存的可信访问的。
根据本发明的一种装置,其特征在于,包括:存储秘密的存储器;指示内存是否被锁定的内存锁定存储器;响应于指示内存已被锁定的内存锁定存储器,拒绝对内存的不可信访问的内存;和响应于确定内存可能包含秘密,在系统复位后更新内存锁定存储器的处理器。
附图说明
这里通过附图作为示例来例示而非限定本发明。为了简化和清楚说明,图中所示的元件不一定按比例绘制。例如:为了清楚,可能会将一些元件的尺寸相对于其它元件夸大。另外,在认为合适的地方,在图中重复使用参考号来指示相应的或类似的元件。
图1示出计算设备的一个实施例。
图2示出可由图1的计算设备建立的安全增强(SE)环境的一个实施例。
图3示出建立和解除图2的SE环境的方法的实施例。
图4示出可由图1的计算设备用来保护存储在系统存储器中的秘密不受系统复位攻击的方法的实施例。
具体实施例
以下说明描述用于保护存储在计算设备的内存中的秘密不受系统复位攻击的技术。在以下说明中,为了提供对本发明的更完整的理解,列出了许多具体的细节,例如:逻辑实施(logic implementation)、操作码、指定操作数的方法、资源分割/共享/复制实施、系统部件的类型和相互关系以及逻辑划分/集成选择。然而本领域的技术人员会理解不用这些具体细节也可以实施本发明。在其它例子中,为了使本发明清楚,没有详细示出控制结构、门电平电路和完整的软件指令序列。本领域的普通技术人员用所含的说明不必多余的实验就能实施合适的功能。
说明书中的对“一个实施例”、“一实施例”和“一示例实施例”等的引用指所述实施例可包括特定特征、结构或特性,但每个实施例可不一定包括特定的特征、结构或特性。另外,这些措词不必指同一实施例。另外,当结合实施例描述特定的特征、结构或特性时,不论清楚地说明与否,都应认为结合其它实施例实现这一特征、结构或特性属于本领域技术人员的常识。
在此对“对称”密码系统、密钥、加密或解密等的引用指用同一密钥加密和解密的密码技术。公知的于1993年作为联邦信息处理标准FIPS PUB 46-2公布的数据加密标准(DES)和于2001作为FIPS PUB 197公布的高级加密标准(AES)是对称密码系统的例子。这里对“非对称”密码系统、密钥、加密或解密的引用指分别用不同但相关的密钥加密和解密的密码技术。包括众所周知的Rivest-Shamir-Adleman(RSA)技术在内的所谓的“公共密钥”密码技术是非对称密码系统的例子。这里将非对称密码系统的两个相关的密钥之一称为私钥(因为它通常是保密的),而将其它密钥称为公共密钥(因为它通常是可以自由使用的)。在一些实施例中,可以用私钥或公共密钥来加密而将另一密钥用于相关联的解密。
这里将“散列(hash)”这一动词及相关的形式用于指根据操作数或消息执行一个操作,以产生摘要值或“散列”。理想地,散列操作生成一摘要值,计算上不可能从该摘要值中找到具有该散列的消息,而且不能从摘要值中确定任何与具有该散列的消息有关的有用信息。另外,散列操作理想地生成散列以使得在计算上不可能确定两个产生同一散列的消息。尽管散列操作理想地具有上述特性,在实践中,很难、计算上密集、和/或实际上不可能从诸如消息摘要5函数和安全散列算法1(SHA-1)之类的单向函数生成的散列值中推出消息。
可以在硬件、固件、软件或任何它们的组合中实施本发明的实施例。也可以将本发明的实施例作为存储在机器可读媒体(可以由至少一个处理器读取和执行以执行这里所述的操作)上的指令来实施。机器可读媒体可包括用于以可由机器(例如:计算设备)读取的形式存储或传送信息的任何机构。例如:机器可读媒体可包括只读存储器(ROM);随机存储器(RAM);磁盘存储媒体;光存储媒体;闪存设备;电、光声或其它形式的传播信号(例如:载波、红外信号、数字信号等)等等。
图1示出计算设备100的一个示例实施例。计算设备100可包括一个或多个通过处理器总线106耦合到芯片集104的处理器102。芯片集104可包括一个或多个将处理器102耦合到系统内存108、权标110、固件112和/或计算设备100的其它I/O设备114(例如:鼠标、键盘、盘驱动器、视频控制器等)的集成电路块或芯片。
处理器102可支持安全进入(SENTER)指令的执行以启动诸如:图2的SE环境之类的SE环境的建立。处理器102还可以支持安全退出(SEXIT)指令的执行以启动SE环境的解除。在一个实施例中,处理器102可将总线消息发送到与SENTER、SEXIT及其它指令的执行相关联的处理器总线106上。在其它实施例中,处理器102还可以包括对系统内存108进行访问的内存控制器(未示出)。
另外,一个或多个处理器102可包括专用内存116和/或具有对专用内存116的访问权,以支持鉴定码(AC)模块的执行。专用内存116可以用允许处理器102执行AC模块和防止其它处理器102和计算设备100的部件改变AC模块或干扰AC模块的执行的方式存储AC模块。在一个实施例中,专用内存116可以位于处理器102的高速缓冲内存中。在另一个实施例中,专用内存116可以位于与其高速缓冲内存分开的处理器102内部的内存区域。在其它实施例中,专用内存可以位于通过分离的专用总线与处理器102相耦合的分开的内部内存中。在另一些实施例中,专用内存116可以位于系统内存108中。在该实施例中,芯片集104和/或处理器102可以将系统内存108的专用内存116区域限制在特定操作模式的特定处理器102中。在另一些实施例中,专用内存116可以位于与耦合到芯片集104的专用内存控制器(未示出)的系统内存108相分离的内存中。
处理器102还可以包括诸如对称密钥、非对称密钥之类的密钥118、或其它类型的密钥。处理器102可以用处理器密钥118在执行AC模块之前来验证AC模块。
处理器102可以支持一个或多个诸如实模式、保护模式、虚拟现实模式及虚拟机器模式(VMX模式)之类的操作模式。另外,处理器102可以在各受支持的操作模式中支持一个或多个特权级或环。通常,处理器102的操作模式和特权级定义可以用于执行的指令及执行这些指令的结果。具体来说,只有当处理器102处于合适的模式和/或特权级中时,处理器102才可以被许可执行某些特权指令。
处理器102还可以支持开始和结束AC模式的执行。在一示例实施例中,处理器102可以支持ENTERAC指令的执行,该指令从专用内存116中加载、验证并启动执行AC模块。然而,处理器102可以支持使处理器102加载、验证和/或启动执行AC模块的附加或不同的指令。这些其它指令可以是ENTERAC指令变体或可涉及其它操作。例如:SENTER指令可以启动执行一个或多个帮助建立SE环境的AC模块。
在一示例实施例中,处理器102还支持EXITAC指令的执行,该指令结束执行AC模块并启动后AC代码。然而,处理器102可以支持使处理器102结束执行AC模块并启动后AC模块代码的附加或不同的指令。这些其它指令可以是EXITAC指令的变体或可涉及其它操作。例如:SEXIT指令可以启动执行一个或多个帮助解除SE环境的AC模块。
芯片集104可包括将处理器102连接至与计算设备100的诸如系统内存108、权标110、和其它I/O设备114之类的部件接口的一个或多个芯片或集成电路块。在一个实施例中,芯片集104包括内存控制器120。然而,在其它实施例中,处理器102可包括所有或部分内存控制器120。
通常,内存控制器120为计算设备100的其它部件提供接口,以访问系统内存108。另外,芯片集104的内存控制器120和/或处理器102可以将内存108的某些区域定义成安全增强(SE)内存122。在一个实施例中,在处于合适的操作模式(保护模式)和特权级(例如:OP)时,处理器102可仅访问SE内存122。
内存控制器120还可以包括指示系统内存108是锁定还是未锁定的内存锁定存储器(memory locked store)124。在一个实施例中,内存锁定存储器124包括一标记,可以设置该标记以指示系统内存108加了锁,或清零该标记以指示系统内存108未锁定。在一个实施例中,内存锁定存储器124还提供一个将内存控制器放在内存锁定状态或内存未锁定状态的接口。在内存锁定状态中,内存控制器120拒绝对系统内存108的不可信访问。相反,在内存未锁定状态中,内存控制器120允许对系统内存108可信或不可信访问。在其它实施例中,可以将内存锁定存储器124更新成仅对系统内存108的SE内存122部分锁定或解除锁定。在一个实施例中,可信访问包括由执行可信代码产生的访问和/或由特权指令产生的访问。
另外,芯片集104可包括在执行之前可被处理器用来验证AC模块的密钥126。与处理器102的密钥118相似,密钥126可包括对称密钥、非对称密钥或一些其它类型的密钥。
芯片集104还可以包括具有由电池130提供的备用电源的实时时钟(RTC)128。RTC128可包括电池故障存储器132和秘密存储器134。在一个实施例中,电池故障存储器132指示电池130是否已停止对RTC128供电。在一个实施例中,电池故障存储器132包括一个标记,可以清零该标记以指示正常操作,或设置该标记以指示电池故障。另外,秘密存储器134可以指示系统内存108是否可能包含秘密。在一个实施例中,秘密存储器134可含一个标记,可以设置该标记以指示系统内存108可能包含秘密,或清零该标记以指示系统内存108不包含秘密。在其它实施例中,可以将秘密存储器134和电池故障存储器132放在诸如权标110、处理器102、芯片集104的其它部分或计算设备的其它部件之类的其它地方。
在一个实施例中,秘密存储器134是作为具有由电池130提供的备用电源的单个易失内存位实施的。由电池提供的备用电源在经过系统复位时维持秘密存储器。在另一实施例中,秘密存储器134是作为诸如闪存位之类的不需要备用电源在经过系统复位时维持其内容的非易失内存位实施的。在一个实施例中,用可设置和清零的单个内存位来各自实施秘密存储器134和电池故障存储器132。然而,其它实施例可包括具有不同存储能力和/或使用不同状态编码的秘密存储器134和/或电池故障存储器132。
芯片集104还可以支持在诸如:外设部件互连(PCI)、加速图形接口(AGP)、通用串行总线(USB)、低引线数(LPC)总线或任何其它种类的I/O总线之类的I/O总线(未示出)上的标准I/O操作。可以将权标接口136用于将芯片集104与包括一个或多个平台配置寄存器(PCR)138的权标相连。一个实施例中,权标接口136可以是LPC总线(低引线数(LPC)接口规范,英特尔公司1997年12月29日,版本1.0)。
权标110可包括一个或多个密钥140。密钥140可包括对称密钥、非对称密钥、和/或一些其它类型的密钥。权标110还可以包括一个或多个平台配置寄存器(PCR寄存器)138以记录和报告规格。权标110可以支持PCR引用操作,该操作返回标识的PCR寄存器138的引用或内容。权标110还可以支持对在标识的PCR寄存器138中接收到的规格进行记录的PCR扩展操作。在一个实施例中,权标110可包括如2001年12月1日,1.1a版本,可信计算平台联盟(TCPA)主规范中详细说明的可信平台模块(TPM)或其变体。
权标110还可以包括指示系统内存108是否包含或曾包含秘密的有秘密存储器142。在一个实施例中,有秘密存储器142可包含一个标记,可以将该标记设置成指示系统内存108在计算设备100的某一历史时间含有秘密,也可以清零该标记以指示在计算设备100的历史中从未含有秘密。在一个实施例中,有秘密存储器142包括一个单个的、非易失的、开始被清零的一次写入的内存位(一旦设置了就不可以再清零)。非易失、一次写入存储位可以用各种内存技术,例如:闪存、PROM(可编程只读存储器)、EPROM(可擦可编程只读存储器)、EEPROM(电可擦可编程只读存储器),或其它技术来实施。在其它实施例中,有秘密存储器142包含响应于更新有秘密存储器142以指示系统内存108包含秘密而熔固的熔化的内存位置。
有秘密存储器142可以用其它方式实施。例如:权标110可以提供允许更新有秘密存储器142以指示系统内存108包含秘密,并防止更新有秘密存储器142以指示系统内存108从未包含秘密的接口。在其它实施例中,有秘密存储器142位于其它地方,例如:在芯片集104、处理器102、或计算设备100的其它部件中。另外,有秘密存储器142可以有不同的存储容量和/或利用不同的状态编码。
在另一实施例中,标记110可提供一个或多个命令,以用安全增强方式来更新有秘密存储器142。在一个实施例中,如果请求部件提供合适的密钥或其它认证,则权标110提供写命令来改变有秘密存储器142的状态(只更新有秘密存储器142的状态)。在此实施例中,为了指示系统内存108是否有秘密,计算设备100可以用安全增强的方式多次更新有秘密存储器142。
在一实施例中,固件112包括基本输入/输出系统例程(BIOS)144和安全清洁(SCLEAN)模块146。BIOS144通常提供处理器102在系统启动期间执行的低等级例程,以初始化计算设备100的部件和启动操作系统的执行。在一个实施例中,BIOS144的执行导致计算设备100在系统内存108可能包含秘密时,锁定系统内存108并启动执行SCLEAN146模块。当系统内存108被锁定时,执行SCLEAN模块146使计算设备100擦除系统内存108,从而将秘密从系统内存108中擦除。在一个实施例中,虽然系统内存108被锁定,内存控制器120允许诸如SCLEAN模块146之类的可信代码读写系统内存108的所有位置。然而,当锁定时,不可信代码,例如,操作系统被禁止访问系统内存108。
SCLEAN模块可包括内存控制器120专用的代码。因此,SCLEAN模块146可以来自计算设备100的处理器102、芯片集104、主机板、或底板的制造商。在一个实施例中,制造商散列化SCLEAN模块146,以获取SCLEAN模块146的被称为“摘要”的值。然后,制造商可以用与处理器密钥118、芯片集密钥126、权标密钥140、或计算设备100的其它密钥相对应的非对称密钥以数字方式签署计数地标记摘要和SCLEAN模块146。随后,计算设备100用处理器密钥118、芯片集密钥126、权标密钥140、或计算设备100的其它与用于签署SCLEAN模块146的密钥相对应的权标来验证SCLEAN模块的真实性。
图2示出SE环境200的一个实施例。可以响应于例如:系统启动、应用请求、操作系统请求等等之类的各种条件来启动SE环境200。如图所示,SE环境200可包括可信虚拟机器核心程序或监控器202、一个或多个标准虚拟机器(标准VM)204及一个或多个可信虚拟机器(可信VM)206。在一个实施例中,操作环境200的监控器202在最特权的处理器环(例如:OP)以保护模式执行,以管理安全及在虚拟机器204、206之间提供屏障。
标准VM204可包括在VMX模式的最特权处理器环(例如:0D)执行的操作系统208,及一个或多个在VMX模式的较低特权处理器环(例如:3D)执行的应用程序210。因为监控器202在其中执行的处理器环比操作系统208在其中执行的处理器环更有特权,操作系统208不具有计算设备100的自由控制,而是受监控器202的控制和限制。具体来说,监控器202可以防止操作系统208及其应用程序直接访问SE内存122和权标110。
监控器202可以执行一个或多个诸如核心程序代码的散列之类的可信核心程序212的测量,以获取一个或多个度量,可以使权标110用核心程序212的度量来扩展PCR寄存器138,并且可以将度量记录在存储在SE内存122中相关联的PCR日志中。另外,监控器202可以在SE内存122中建立可信VM206并在建立的可信VM206中开始可信核心程序212。
类似地,可信核心程序212可以采用诸如小应用程序代码的散列之类的小应用程序或应用程序214的一个或多个测量结果来获取一个或多个度量。经监控器202的可信核心程序212随后可以使物理权标110用小应用程序214的度量来扩展PCR寄存器138。可信核心程序212还可以将度量记录在与存储在SE内存122中的相关联的PCR日志中。另外,可信核心程序212可以在SE内存122的建立的可信VM206中开始可信小应用程序214。
响应于启动图2的SE环境,计算设备100还将计算设备100的监控器202和硬件构件的度量记录在权标110的PCR寄存器138中。例如:处理器102可以诸如:处理器族、处理器版本、处理器微码版本、芯片集版本和处理器102、芯片集104和物理权标110的物理权标版本之类的硬件标识符。然后,处理器102可以在一个或多个PCR寄存器138中记录获取的硬件标识符。
现参见图3,它示出建立SE环境200的简化的方法。在块300中,处理器102启动建立SE环境200。在一个实施例中,处理器102执行安全进入(SENTER)指令以启动建立SE环境200。计算设备100可响应于启动建立SE环境200,执行多个操作。例如:计算设备100可以使处理器102同步并验证所有的处理器102加入了SE环境200。计算设备100可以测试计算设备100的配置。计算设备100还可以测量SE环境200的软件构件和硬件构件以获取度量,可以从该度量作出可信判定。计算设备100可以将这些度量记录在权标110的PCR寄存器138中,从而随后检索和验证该度量。
响应于启动建立SE环境200,处理器102可以在处理器总线106上发布一个或多个总线消息。芯片集104可以响应于一个或多个这些总线消息,在块302中更新有秘密存储器142并在块304中更新秘密存储器134。在一个实施例中,块302中的芯片集104通过权标接口136发送一个命令,使权标110更新有秘密存储器142,以指示计算设备100已启动建立SE环境200。在一个实施例中,块304中的芯片集104可更新秘密存储器134,以指示系统内存108有可能包含秘密。
在上述实施例中,有秘密存储器142和秘密存储器134指示系统内存108有能包含或可能已包含秘密。在另一实施中,计算设备100响应于将一个或多个秘密存储在系统内存108中,更新有秘密存储器142和秘密存储器134。因此,在此实施例中,有秘密存储器142和秘密存储器134指示系统内存108实际上是否包含或曾包含秘密。
在SE环境200建立之后,计算设备100可执行块306中的可信操作。例如:计算设备100可以加入与需要在SE环境中执行交易的金融机构的交易。计算设备100可以响应于执行可信操作,将秘密存储在SE内存122中。
在块308中,计算设备100可以启动去除或解除SE环境200。例如:计算设备100可响应于系统关闭事件、系统复位事件、操作系统请求等,启动解除SE环境200。在一个实施例中,处理器102之一执行安全退出(SEXIT)指令,以启动SE环境200的解除。
响应于启动解除SE环境200,计算设备100可执行许多操作。例如:计算系统100可以关闭可信虚拟机器206。在块310中的监控器202可以擦除系统内存108中所有包含秘密或可能包含秘密的区域。在擦除系统内存108后,计算设备100可更新块312中的秘密存储器134,以指示系统内存108不包含秘密。在另一实施例中,监控器202用秘密存储器134跟踪系统内存108是否包含秘密并仅仅在系统内存108包含秘密时擦除系统内存108。在另一实施例中,监控器202用秘密存储器134跟踪系统内存108是否包含秘密并仅仅在系统内存108包含秘密时擦除系统内存108。
在另一实施例中,块312中的计算设备100还更新有秘密存储器142,以指示系统内存108不再有秘密。在一个实施例中,计算设备100将封闭在SE环境200中的密钥提供给权标110的写命令,并通过写命令更新有秘密存储器142,以指示系统内存108不包含秘密。通过要求封闭在SE环境200中的密钥更新有秘密存储器142,SE环境200有效地证实有秘密存储器142的准确性。
图4示出擦除系统内存108以保护秘密不受系统复位攻击的方法。在块400中,计算设备100经历系统复位事件。许多事件可以触发系统复位。在一个实施例中,计算设备100可以包含一物理按钮,可以驱动该按钮来启动电源循环复位(例如:去除电源,然后重接电源)或使芯片集104的系统复位输入被执行。在另一实施例中,芯片集104可以响应于检测对特定内存位置或控制寄存器的写入,启动系统复位。在另一实施例中,芯片集104可以响应于通过诸如网络接口控制器或调制解调器之类的通信接口接收到的复位请求,启动系统复位。在另一实施例中,芯片集104可以响应于节电条件或其它电源故障减少在阈值以下,电源提供给芯片集电源104的OK或其它输入启动系统复位。
响应于系统复位,计算设备100可以将BIOS144作为接通电源、引导、或系统初始化过程的一部分执行。如上所述,在一个实施例中的计算设备100响应于解除SE环境200,从系统内存108中去除秘密。然而,系统复位事件可能会妨碍计算设备100完成解除过程。在一个实施例中,BIOS144的执行使计算设备100在块402中确定系统内存108是否有可能包含秘密。在一个实施例中,计算设备100可以响应于确定秘密存储器134的标记已设置,确定系统内存108有可能包含秘密。在另一实施例中,计算设备100可以响应于确定电池故障存储器132的标记和有秘密存储器142的标记已设置,确定系统内存108可能有秘密。
响应于确定系统内存108不包含秘密,计算设备100可以在块404中为系统内存108解除锁定,并在块406中继续其通电、引导、或系统初始化过程。在一个实施例,计算设备100通过清零内存锁定存储器124来解除锁定系统内存108。
在块408中,计算设备100可以响应于确定系统内存108可能包含秘密,锁定系统内存108免于不可信访问。在一个实施例中,计算设备100通过设定内存锁定存储器124的标记来锁定系统内存108。在一个实施例中,BIOS144通过由每个以下伪码片段更新内存锁定存储器124来使计算设备100锁定/解除锁定系统内存108:
IF BatteryFail THEN
  IF HadSecrets THEN
     MemLocked:=SET
  ELSE
     MemLocked:=CLEAR
  End
Else
  IF Secrets THEN
     MemLocked:=SET
ELSE
     MemLocked:=CLEAR
  End
END
在一个实施例中,当设置了秘密存储器134、电池故障存储器132、有秘密存储器142、和内存锁定存储器124的各个标记时,Secrets(秘密)、BatteryFail(电池故障)、HadSecrets(有秘密)、和MemLocked(存储器锁定)变量各具有TRUE逻辑值,而当清零了各标记时,它们各具有FALSE逻辑值。
在一示例实施例中,先清零秘密存储器134和有秘密存储器142的标记并仅仅响应于建立SE环境200设置它们。见图3和相关说明。因此,如果计算设备100不支持SE环境200的建立,秘密存储器134和有秘密存储器142的标记将保持清零。如果BIOS144由以上伪码片段或由类似的模式更新内存锁定存储器124,由于BI0S144锁定系统内存108,不会使不支持和从未支持过SE环境200的计算设备100不可操作。
响应于确定系统内存108可能包含秘密,在块410中,计算设备100加载、认证和调用SCLEAN模块的执行。在一个实施例中,BIOS144使处理器102执行一个进入鉴定码(ENTERAC)指令,使处理器102将SCLEAN模块加载到其专用内存116中,认证SCLEAN模块,并响应于确定SCLEAN模块是真的,开始执行来自其专用内存116的SCLEAN模块。可以用若干不同的方式认证SCLEAN模块;然而,在一个实施例中,ENTERAC指令使处理器102认证如2001年12月31日递交的美国专利申请号:10/039,961,¥名称:Processor SupportingExecution of an Anthenticated Code Instruction中所述的SCLEAN模块。
在一个实施例中,计算设备100响应于确定SCLEAN不为真,生成系统复位事件。在另一实施例中,计算设备100隐含地相信BIOS144和SCLEAN模块146为真,并因此不明确地测试SCLEAN模块的真实性。
SCLEAN模块的执行导致在块412中计算设备100为擦除操作配置内存控制器120。在一个实施例中,计算设备100配置内存控制器120,以允许对系统内存108的所有可能包含秘密的位置的可信写入和读取访问。在一个实施例中,尽管系统内存108被锁定,诸如SLEAN模块之类的可信代码可以访问系统内存108。然而,当锁定时,诸如操作系统208之类的不可信代码禁止访问系统内存108。
在一个实施例中,计算设备100配置内存控制器120,以访问系统内存108的完整地址空间,从而允许将秘密从系统内存108中的任何位置擦除。在另一实施例中,计算设备100配置内存控制器120,以对诸如SE内存122之类的系统内存108的选定区域进行访问,从而允许从选定的区域中擦除秘密。另外,在一个实施例中的SCLEAN模块使计算设备100配置内存控制器120直接访问系统内存108。例如:SCLEAN模块可以使计算设备100丧失高速缓存、缓冲的能力和其它可引起不直接访问系统内存108而进行读写服务的性能增强特征。
在块414中,SCLEAN模块使计算设备100擦除系统内存108。在一个实施例中,计算设备100将诸如零的数据样式(pattern)写入系统内存108以重写系统内存108,然后返回所写入的数据样式以确保数据样式真的写入了系统内存108中。在块416中,计算设备100可根据写入的和从系统内存108读取的模式确定擦除操作是否成功。响应于确定擦除操作失败,SCLEAN模块可以使计算设备100返回至块412,以试图重新配置内存控制器(很有可能是不同的配置)并再次擦除系统内存108。在另一实施例中,SCLEAN可以使计算设备100关闭电源或可以响应擦除操作失败引起系统复位事件。
响应于确定擦除操作成功,在块418中,计算设备100解除锁定系统内存108。在一个实施例中,计算设备100通过清零内存锁定存储器124解除锁定系统内存108。在解除锁定系统内存108之后,在块420中,计算设备100退出SCLEAN模块并继续其引导、开电源、和/或初始化过程。在一个实施例中,处理器102执行SCLEAN模块的退出鉴定码(EXITAC)指令,使处理器102终止SCLEAN模块的执行,并启动BIOS144的执行,以便完成引导、上电和/或系统初始化过程。
尽管已参照示例实施例描述了本发明的某些特征时,但该说明并不旨在限制。示例实施例以及本发明的其它实施例的对本发明所属领域的技术人员来说很明显的各种变化被认为在本发明的精神和范围内。

Claims (28)

1.一种保护内存不受攻击的方法,其特征在于,包括:
在系统复位事件之后,响应于确定内存可能包含秘密,锁定内存以拒绝对内存的不可信访问;和
写入锁定的内存,以重写内存可能包含的秘密。
2.如权利要求1所述的方法,其特征在于,还包括:
在系统引导过程中确定内存可能包含秘密。
3.如权利要求1所述的方法,其特征在于,还包括:
更新存储器,使其指示内存是否可能包含秘密;和
响应于存储器指示内存可能包含秘密,锁定内存。
4.如权利要求3所述的方法,其特征在于,所述更新包括:
响应于建立安全增强环境,更新存储器,以指示内存可能包含秘密;和
响应于解除安全增强环境,更新存储器,以指示内存不包含秘密。
5.如权利要求1所述的方法,其特征在于,还包括:
更新存储器,使其指示内存已经包含秘密;和
响应于存储器指示内存已经包含秘密,锁定内存。
6.如权利要求5所述的方法,其特征在于,还包括:
响应于建立安全增强环境,更新存储器,以指示内存已包含秘密;和
在更新存储器之后,防止存储器被清零。
7.如权利要求1所述的方法,其特征在于,还包括:
更新具有备用电源的第一存储器,以指示内存是否可能包含秘密;
更新第二存储器,以指示备用电源是否故障;
响应于启动安全增强环境,更新一次更新的第三存储器以指示内存可能包含秘密;和
响应于第一状况或第二状况而锁定内存,其中第一状况对应于第一存储器指示内存可能包含秘密,第二状况对应于第二存储器指示备用电源故障且第三存储器指示内存可能包含秘密。
8.如权利要求1所述的方法,其特征在于,其中:
所述锁定包括锁定对内存的不可信访问;和
所述写入包括通过可信访问写入锁定内存的每个位置。
9.如权利要求1所述的方法,其特征在于,其中:
所述锁定包括锁定对部分内存的不可信访问;和
所述写入包括写入内存的锁定部分。
10.如权利要求1所述的方法,其特征在于,还包括:
在秘密被重写之后,解除锁定内存。
11.如权利要求1所述的方法,其特征在于,所述写入锁定的内存包括写入内存的每个物理位置,以重写数据。
12.如权利要求10所述的方法,其特征在于,所述重写包括:
将一个或多个数据样式写入内存中;并
从内存读出该一个或多个数据样式,以验证该一个或多个数据样式已写入内存。
13.如权利要求12所述的方法,其特征在于,其中:
所述锁定包括锁定对内存的不可信访问;和
所述写入包括通过可信访问写入内存的每个位置。
14.如权利要求12所述的方法,其特征在于,其中:
所述锁定包括锁定对部分内存的不可信访问;及
所述写入包括写入内存的锁定部分。
15.如权利要求1所述的方法,其特征在于,所述写入锁定的内存包括写入可能包含秘密的部分内存。
16.一种保护内存不受攻击的装置,其特征在于,包括:
存储秘密的存储器;
指示内存是否被锁定的内存锁定存储器;
响应于内存锁定存储器指示内存已被锁定,拒绝对内存的不可信访问的内存控制器;和
响应于确定内存可能包含秘密,在系统复位后更新内存锁定存储器以锁定内存的处理器。
17.如权利要求16所述的装置,其特征在于,还包括:指示内存是否可能包含秘密的秘密存储器。
18.如权利要求17所述的装置,其特征在于,还包括:
指示向秘密存储器供电的电池是否已经故障的电池故障存储器。
19.如权利要求16所述的装置,其特征在于,还包括:指示内存是否可能包含秘密的秘密标记,所述处理器响应于建立安全增强环境,更新秘密标记,以指示内存可能包含秘密,并响应于解除安全增强环境,更新秘密标记,以指示内存不包含秘密。
20.如权利要求16所述的装置,其特征在于,还包括:指示内存是否可能包含秘密的秘密标记,所述处理器响应于一个或多个秘密被存储在内存中,更新秘密标记,以指示内存可能包含秘密,并响应于一个或多个秘密被从内存去除,更新秘密标记,以指示内存不包含秘密。
21.如权利要求16所述的装置,其特征在于,还包括:
指示内存是否有可能包含秘密的秘密标记;
为秘密标记供电的电池;及
指示电池是否故障的电池故障存储器。
22.如权利要求16所述的装置,还包括权标,其特征在于,所述权标包括:
指示内存是否已经包含秘密的有秘密存储器;及
只有在接收到合适的鉴别密钥时才更新有秘密标记的接口。
23.如权利要求21所述的装置,其特征在于,还包括:
指示内存是否曾包含秘密的有秘密存储器,
在更新指示内存已经包含秘密之后,所述有秘密存储器是不可改变的。
24.如权利要求23所述的装置,其特征在于,所述处理器在系统复位之后,根据秘密标记、电池故障存储器和有秘密存储器更新内存锁定标记。
25.如权利要求23所述的装置,其特征在于,所述有秘密存储器是非易失性一次写入内存,用于指示内存从未包含秘密,并且所述非易失性一次写入内存可以被更新以指示内存曾包含秘密。
26.如权利要求25所述的装置,其特征在于,其中:
所述有秘密存储器包括在更新存储器时熔固的熔化内存位置。
27.如权利要求25所述装置,其特征在于,所述有秘密存储器还包括:
允许更新标记以指示内存已经包含秘密并防止更新标记以指示内存从未包含秘密的接口。
28.如权利要求25所述装置,其特征在于,所述有秘密存储器还包括:
响应于接收到授权密钥,允许更新标记以指示内存已经包含秘密并允许更新标记以指示内存不包含秘密的接口。
CN038136953A 2002-04-15 2003-04-10 保护内存不受复位之后的攻击 Expired - Fee Related CN1659497B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/123,599 2002-04-15
US10/123,599 US20030196100A1 (en) 2002-04-15 2002-04-15 Protection against memory attacks following reset
PCT/US2003/011346 WO2003090051A2 (en) 2002-04-15 2003-04-10 Protection against memory attacks following reset

Publications (2)

Publication Number Publication Date
CN1659497A CN1659497A (zh) 2005-08-24
CN1659497B true CN1659497B (zh) 2010-05-26

Family

ID=28790758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038136953A Expired - Fee Related CN1659497B (zh) 2002-04-15 2003-04-10 保护内存不受复位之后的攻击

Country Status (7)

Country Link
US (1) US20030196100A1 (zh)
EP (1) EP1495393A2 (zh)
KR (1) KR100871181B1 (zh)
CN (1) CN1659497B (zh)
AU (1) AU2003223587A1 (zh)
TW (1) TWI266989B (zh)
WO (1) WO2003090051A2 (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797729B2 (en) * 2000-10-26 2010-09-14 O2Micro International Ltd. Pre-boot authentication system
US7000249B2 (en) * 2001-05-18 2006-02-14 02Micro Pre-boot authentication system
WO2004015553A1 (en) * 2002-08-13 2004-02-19 Nokia Corporation Computer architecture for executing a program in a secure of insecure mode
US7154628B2 (en) * 2002-12-17 2006-12-26 Xerox Corporation Job secure overwrite failure notification
CA2527160A1 (en) * 2003-06-02 2005-01-06 Disney Enterprises, Inc. System and method of video player commerce
WO2005002198A2 (en) * 2003-06-02 2005-01-06 Disney Enterprises, Inc. Video playback image processing
KR101130368B1 (ko) * 2003-06-02 2012-03-27 디즈니엔터프라이지즈,인크. 소비자용 비디오 플레이어를 위한 프로그램된 윈도우 제어 시스템 및 방법
AU2004246672B2 (en) * 2003-06-02 2009-02-26 Disney Enterprises, Inc. System and method of interactive video playback
US7469346B2 (en) * 2003-06-27 2008-12-23 Disney Enterprises, Inc. Dual virtual machine architecture for media devices
EP1644802B1 (en) * 2003-06-27 2016-11-23 Disney Enterprises, Inc. Dual virtual machine and trusted platform module architecture for next generation media players
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
KR100969966B1 (ko) * 2003-10-06 2010-07-15 디즈니엔터프라이지즈,인크. 비디오 플레이어의 재생 및 특징을 제어하는 방법 및 시스템
US20050228938A1 (en) * 2004-04-07 2005-10-13 Rajendra Khare Method and system for secure erasure of information in non-volatile memory in an electronic device
US7325167B2 (en) * 2004-09-24 2008-01-29 Silicon Laboratories Inc. System and method for using network interface card reset pin as indication of lock loss of a phase locked loop and brownout condition
US7752436B2 (en) * 2005-08-09 2010-07-06 Intel Corporation Exclusive access for secure audio program
US8380987B2 (en) * 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes
US8898412B2 (en) * 2007-03-21 2014-11-25 Hewlett-Packard Development Company, L.P. Methods and systems to selectively scrub a system memory
US9053323B2 (en) * 2007-04-13 2015-06-09 Hewlett-Packard Development Company, L.P. Trusted component update system and method
US7991932B1 (en) 2007-04-13 2011-08-02 Hewlett-Packard Development Company, L.P. Firmware and/or a chipset determination of state of computer system to set chipset mode
JP4890613B2 (ja) * 2007-06-04 2012-03-07 富士通株式会社 パケットスイッチ装置
CN101493877B (zh) * 2008-01-22 2012-12-19 联想(北京)有限公司 数据处理方法及系统
US9274573B2 (en) * 2008-02-07 2016-03-01 Analog Devices, Inc. Method and apparatus for hardware reset protection
US20090222635A1 (en) * 2008-03-03 2009-09-03 David Carroll Challener System and Method to Use Chipset Resources to Clear Sensitive Data from Computer System Memory
US8312534B2 (en) * 2008-03-03 2012-11-13 Lenovo (Singapore) Pte. Ltd. System and method for securely clearing secret data that remain in a computer system memory
US20100070776A1 (en) * 2008-09-17 2010-03-18 Shankar Raman Logging system events
US8392985B2 (en) * 2008-12-31 2013-03-05 Intel Corporation Security management in system with secure memory secrets
GB2491774B (en) * 2010-04-12 2018-05-09 Hewlett Packard Development Co Authenticating clearing of non-volatile cache of storage device
US9600291B1 (en) * 2013-03-14 2017-03-21 Altera Corporation Secure boot using a field programmable gate array (FPGA)
US20150006911A1 (en) * 2013-06-28 2015-01-01 Lexmark International, Inc. Wear Leveling Non-Volatile Memory and Secure Erase of Data
CN105468126B (zh) * 2015-12-14 2019-10-29 联想(北京)有限公司 一种设备控制方法、装置及电子设备
US10313121B2 (en) 2016-06-30 2019-06-04 Microsoft Technology Licensing, Llc Maintaining operating system secrets across resets
US10917237B2 (en) * 2018-04-16 2021-02-09 Microsoft Technology Licensing, Llc Attestable and destructible device identity

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1146813A (zh) * 1994-03-01 1997-04-02 美国综合技术公司 对于数据安全系统的预引导保护
CN1193168A (zh) * 1997-02-27 1998-09-16 精工爱普生株式会社 半导体装置及电子机器
US6167519A (en) * 1991-11-27 2000-12-26 Fujitsu Limited Secret information protection system
US6304970B1 (en) * 1997-09-02 2001-10-16 International Business Mcahines Corporation Hardware access control locking
EP1193601A2 (en) * 2000-09-29 2002-04-03 Sony Corporation Memory apparatus and memory access restricting method

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699532A (en) * 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) * 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) * 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4247905A (en) * 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) * 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5576447A (en) * 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4307447A (en) * 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4307214A (en) * 1979-12-12 1981-12-22 Phillips Petroleum Company SC2 activation of supported chromium oxide catalysts
US4319323A (en) * 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) * 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) * 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) * 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) * 1980-09-13 1982-04-22 Robert Bosch Gmbh, 7000 Stuttgart Auslesesicherung bei einchip-mikroprozessoren
US4521852A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
US4759064A (en) * 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
FR2592510B1 (fr) * 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
FR2601525B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique
FR2601535B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission
FR2601476B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire
FR2618002B1 (fr) * 1987-07-10 1991-07-05 Schlumberger Ind Sa Procede et systeme d'authentification de cartes a memoire electronique
US5007082A (en) * 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US5079737A (en) * 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
US5434999A (en) * 1988-11-09 1995-07-18 Bull Cp8 Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal
FR2640798B1 (fr) * 1988-12-20 1993-01-08 Bull Cp8 Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable
JPH02171934A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) * 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5442645A (en) * 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JP2590267B2 (ja) * 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5022077A (en) * 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2825550B2 (ja) * 1989-09-21 1998-11-18 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
CA2010591C (en) * 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
CA2027799A1 (en) * 1989-11-03 1991-05-04 David A. Miller Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
US5075842A (en) * 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US5108590A (en) * 1990-09-12 1992-04-28 Disanto Dennis Water dispenser
US5230069A (en) * 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5317705A (en) * 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5287363A (en) * 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
US5437033A (en) * 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5255379A (en) * 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5453003A (en) * 1991-01-09 1995-09-26 Pfefferle; William C. Catalytic method
US5522075A (en) * 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5319760A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5455909A (en) * 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
JPH06236284A (ja) * 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
US5574936A (en) * 1992-01-02 1996-11-12 Amdahl Corporation Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5486529A (en) * 1992-04-16 1996-01-23 Zeneca Limited Certain pyridyl ketones for treating diseases involving leukocyte elastase
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5796835A (en) * 1992-10-27 1998-08-18 Bull Cp8 Method and system for writing information in a data carrier making it possible to later certify the originality of this information
JP2765411B2 (ja) * 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
US5668971A (en) * 1992-12-01 1997-09-16 Compaq Computer Corporation Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5469557A (en) * 1993-03-05 1995-11-21 Microchip Technology Incorporated Code protection in microcontroller with EEPROM fuses
FR2703800B1 (fr) * 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
FR2704341B1 (fr) * 1993-04-22 1995-06-02 Bull Cp8 Dispositif de protection des clés d'une carte à puce.
JPH06348867A (ja) * 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
FR2706210B1 (fr) * 1993-06-08 1995-07-21 Bull Cp8 Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants.
US5555385A (en) * 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5459869A (en) * 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
US5684881A (en) * 1994-05-23 1997-11-04 Matsushita Electric Industrial Co., Ltd. Sound field and sound image control apparatus and method
US5539828A (en) * 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
JPH0883211A (ja) * 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
FR2725537B1 (fr) * 1994-10-11 1996-11-22 Bull Cp8 Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe
US5606617A (en) * 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5564040A (en) * 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5560013A (en) * 1994-12-06 1996-09-24 International Business Machines Corporation Method of using a target processor to execute programs of a source architecture that uses multiple address spaces
US5555414A (en) * 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5615263A (en) * 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US5764969A (en) * 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
US5717903A (en) * 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
JP3451595B2 (ja) * 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5684948A (en) * 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
US5633929A (en) * 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
US5737760A (en) * 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
US5657445A (en) * 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a 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
US5809546A (en) * 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US5729760A (en) * 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5740178A (en) * 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US5844986A (en) * 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5852717A (en) * 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US6260120B1 (en) * 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
US7149854B2 (en) * 2001-05-10 2006-12-12 Advanced Micro Devices, Inc. External locking mechanism for personal computer memory locations
US6646912B2 (en) * 2001-06-05 2003-11-11 Hewlett-Packard Development Company, Lp. Non-volatile memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167519A (en) * 1991-11-27 2000-12-26 Fujitsu Limited Secret information protection system
CN1146813A (zh) * 1994-03-01 1997-04-02 美国综合技术公司 对于数据安全系统的预引导保护
CN1193168A (zh) * 1997-02-27 1998-09-16 精工爱普生株式会社 半导体装置及电子机器
US6304970B1 (en) * 1997-09-02 2001-10-16 International Business Mcahines Corporation Hardware access control locking
EP1193601A2 (en) * 2000-09-29 2002-04-03 Sony Corporation Memory apparatus and memory access restricting method

Also Published As

Publication number Publication date
AU2003223587A1 (en) 2003-11-03
KR100871181B1 (ko) 2008-12-01
EP1495393A2 (en) 2005-01-12
US20030196100A1 (en) 2003-10-16
WO2003090051A2 (en) 2003-10-30
CN1659497A (zh) 2005-08-24
TW200404209A (en) 2004-03-16
KR20040106352A (ko) 2004-12-17
TWI266989B (en) 2006-11-21
WO2003090051A3 (en) 2004-07-29

Similar Documents

Publication Publication Date Title
CN1659497B (zh) 保护内存不受复位之后的攻击
CN108055133B (zh) 一种基于区块链技术的密钥安全签名方法
CN111723383B (zh) 数据存储、验证方法及装置
CN101894224B (zh) 保护客户端平台上的内容
KR100692348B1 (ko) 휴면 보호
CN101965570B (zh) 具有安全启动机制的计算机系统
US7010684B2 (en) Method and apparatus for authenticating an open system application to a portable IC device
US5949882A (en) Method and apparatus for allowing access to secured computer resources by utilzing a password and an external encryption algorithm
CN101458743A (zh) 一种保护计算机系统安全的方法
US20060036851A1 (en) Method and apparatus for authenticating an open system application to a portable IC device
MX2013006157A (es) Dispositivo y metodo de gestion de datos sensibles.
CN107092495A (zh) 平台固件铠装技术
JP2007058869A (ja) セキュアリモートアクセスシステム
WO2001065366A1 (en) System and method for process protection
CN102171704A (zh) 用硬件加密存储设备进行外部加密和恢复管理
US10146941B2 (en) PC protection by means of BIOS/(U)EFI expansions
NO335189B1 (no) Sikkert databehandlingssystem
US20080278285A1 (en) Recording device
CN101983375A (zh) 将密码模块绑定到平台
JP7113115B2 (ja) シリコンデバイスファームウェア上のロールバック攻撃を防止するセキュリティシステム、および、方法
CN102792308B (zh) 用于自动提款机中的一致性软件堆栈中的个人识别号输入的方法和处理
CN107832589A (zh) 软件版权保护方法及其系统
CN101799852A (zh) 用于银行柜面敏感数据保护的硬件密码模块及方法
CN107563226A (zh) 一种存储器控制器、处理器模块及密钥更新方法
EP1811460B1 (en) Secure software system and method for a printer

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100526

Termination date: 20150410

EXPY Termination of patent right or utility model