CN100449558C - 休眠保护 - Google Patents
休眠保护 Download PDFInfo
- Publication number
- CN100449558C CN100449558C CNB038148323A CN03814832A CN100449558C CN 100449558 C CN100449558 C CN 100449558C CN B038148323 A CNB038148323 A CN B038148323A CN 03814832 A CN03814832 A CN 03814832A CN 100449558 C CN100449558 C CN 100449558C
- Authority
- CN
- China
- Prior art keywords
- dormancy
- response
- attack
- content
- secret information
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
- G06F21/79—Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
Abstract
描述方法,装置,和机器可读介质,它们试图保护秘密免受休眠攻击。在某些实施例中,在进入休眠状态之前加密该秘密并卸除安全增强环境。在某些实施例中,响应于唤醒事件,还重建安全增强环境并解密该秘密。
Description
技术领域
本发明涉及计算机设备,尤其是,涉及一种能够使计算机设备免受休眠攻击的方法和系统。
背景技术
财经和个人事务越来越多地在计算设备上完成。然而,这种财经和个人事务的持续增长部分地取决于建立安全增强的环境(SE),该环境试图防止私密的丢失,数据的破坏,数据的误用。SE环境可以利用各种技术来防止不同类型的攻击或对受保护数据或秘密(如社会保障号、帐号、银行平衡帐、密钥、授权密码等)的非授权的访问。SE环境试图防止的一类攻击是休眠攻击。
例如,许多计算设备支持挂起到存储器的休眠状态,如在AdvancedConfiguration and Power Interface(ACPI-高级配置与电源接口)规范2000年7月27日的2.0版本中描述的S3休眠状态。在进入到挂起的存储器休眠状态之后,计算设备切断到计算设备的各种组件和/或子组件的电源,但继续向系统存储器供电,以保持系统存储器的内容。作为切断电源的结果,计算设备可能将给用于保护储存在系统存储器中秘密的线路的电源切断。在从休眠状态唤醒之后,计算设备能将电源返回给用于保护储存在系统存储器中的秘密的线路。然而,返回电源之后,保护线路可能处在复位状态,且实际上不能保护系统存储器中的秘密。攻击者可以在重建保护线路提供的保护之前成功地获得对存储的秘密的访问。
发明内容
根据本发明的一个方面,提供了一种用于防御休眠攻击的方法,所述休眠攻击在从休眠状态唤醒时试图访问秘密信息,所述方法包括:检测可能的休眠攻击;判定存储单元是否包含未加密的秘密信息;和响应于判定所述存储单元可能包含未加密的秘密信息,调用休眠攻击响应,所述休眠攻击响应保护秘密信息免受可能的休眠攻击。
根据本发明的另一个方面,提供了一种芯片组,其特征在于包括:休眠攻击检测逻辑单元,以检测休眠攻击,所述休眠攻击是在从休眠状态唤醒时试图访问秘密信息;秘密信息指示器,指示存储单元是否包含未加密的秘密信息;其中响应于检测到的休眠攻击以及存储单元包含未加密的秘密信息的指示,所述休眠攻击检测逻辑单元调用攻击响应。
根据本发明的另一个方面,提供了一个包括操作系统及位于更高特权级别的监视单元的系统;所述操作系统接收休眠事件,并将所述休眠事件的处理传输给所述监视单元;和响应于所述休眠请求,所述监视单元加密存储单元的一个或多个页面,并指示所述存储单元不包含未加密的秘密信息。
根据本发明的又一个方面,提供了一种用于防御休眠攻击的系统,所述休眠攻击是在从休眠状态唤醒时试图访问秘密信息,所述系统包括:易失存储器,包括安全增强区域;秘密信息存储器,指示所述易失存储器是否可能包含未加密的秘密信息;休眠使能存储器,指示进入休眠状态;处理器,响应于休眠事件而加密所述安全增强区域,并响应于加密所述安全增强区域而更新所述秘密信息存储器,以指示所述易失存储器不包含未加密的秘密信息;和休眠攻击检测逻辑单元,响应于所述休眠使能存储器被更新为指示进入休眠状态并响应于所述秘密信息存储器指示所述易失存储器可能包含未加密的秘密信息,而调用休眠攻击响应,所述休眠攻击响应保护秘密信息免受可能的休眠攻击。
根据本发明的还有一个方面,提供了一种用于防御休眠攻击的方法,所述休眠攻击是在从休眠状态唤醒时试图访问秘密信息,所述方法包括:响应休眠事件加密存储单元的内容;和产生证明所述存储单元的所述内容的内容证明。
同时,本发明也提供了对应上述方法的一种用于防御休眠攻击的系统。
附图说明
这里描述的本发明在附图中作为例子而不作为限制地示出。为说明的简单和清楚,在图中示出的单元不必须按比例画出。例如,为了清楚起见某些单元的尺寸相对于其他单元被夸大了。此外,在认为合适的地方,参照号在各图中重复使用,以表示对应的或类似的单元。
图1示出计算设备的实施例。
图2示出能由图1的计算设备建立的安全增强(SE)环境为实施例。
图3示出图1的计算设备的休眠方法的实施例。
图4示出图1的计算设备的唤醒方法的实施例。
具体实施方式
下面内容描述用于保护秘密免受休眠攻击的技术。在下面描述中,为提供本发明的更透彻的理解列出许多具体的细节,如逻辑工具,操作码,指定操作数的方法,资源划分/共享/复制工具,系统组件的类型和相互关系,和逻辑划分/集成选择等。然而本专业技术人员可以理解,即使没有上述这些具体细节,本发明还是可以实施。在其他情况,为了不模糊本发明,不详细示出控制结构,门线线路,和全部软件指令序列。用这里包括的描述,本专业技术人员能实现合适的功能而不必过多的实践。
在本说明中对“单个实施例”,“一个实施例”,“一个示例实施例”等的引用表明,所描述的实施例可以包括特定的特征,结构或特点,但不必要每个实施例都包括特定的特征,结构或特点。此外,这样的短语不必要关系到同一实施例。而且当结合一个实施例描述特定的特征,结构或特点时,应该理解在本专业的技术人员的知识范围中,可以结合其他实施例实现这样的特征结构或特点,,而无需是否明确描述。
这里对“对称”密码术,密钥,加密或解密的引用,指的是同一密钥用于加密和解密的密码技术。在1993年作为美国联邦信息处理标准FIPS PUB 46-2发布的众知的数据加密标准(DES)和在2001年作为FIPS PUB 197发布的高级加密标准(AES)是两个对称密码术的例子。这里对“非对称”密码术、密钥、加密或解密的引用指的是对加密和解密使用不同但有关的密钥的密码技术。包括众知的公开密钥算法(RSA-Rivest-Shamir-Adleman)技术的所谓“公开密钥”密码技术是非对称密钥术的例子。非对称密码系统的两个相关密钥之一在这里称为私有密钥(因为它通常保持秘密),另一密钥称为公开密钥(因为它通常免费可得)。在某些实施例中,私有或公开密钥均能用于加密,而另一密钥用于关联的解密。
这里使用的术语“对象”拟作为广义上的术语,它包括一个或多个位的任何组合而不管其结构,格式,或表示。而且动词“散列”及有关的格式在这里用于意指在操作数或消息上完成操作,以产生摘要值或“散列值”。理想上,散列操作生成摘要值,从该值在计算上不可能找到带有那个散列值的消息,且从该值人们不可能确定有关带有那个散列值的消息的任何有用信息。此外,散列操作理想上产生散列值,使得在计算上不可能确定产生同一散列值的两个消息。虽然散列操作理想上具有上述特征,实际上如Message Digest5函数(MD5)和Secure Hashing Algorithm1(SHA-1)那样的单向函数产生散列值,从它推导消息是困难的,计算量大的,和/或实际上不可行的。
本发明的实施例能以硬件、固件、软件、或其任何组合实现。本发明的实施例也能作为存储在机器可读介质上的指令实现,该介质能由一个或多个处理器读出并执行。机器可读介质是包括以机器(如计算设备)可读的形式存储或发送信息的任何机制。例如,机器可读介质能包括只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电、光、声或其他形式的传播信号(如载波、红线外信号、数字信号等)。
图1中示出计算设备100的示例实施例。计算设备100能包括通过处理器总线106连接芯片组104的一个或多个处理器102。芯片组104能包括一个或多个集成电路封装或芯片,它们将处理器102耦合到系统存储器108,权标(token)110,固件112,非易失存储器114(如硬盘、软盘、光盘、闪盘、可编程只读存储器等)和/或其他设备116(如鼠标、键盘、视频控制器等)。
处理器102能支持安全进入(SENTER)指令的执行,以起动建立SE环境,如图2中的示例SE环境。处理器102还能进一步支持安全退出(SEXIT)指令,以起动SE环境的卸除。在一个实施例中,处理器102能在处理器总线106上发出与SENTER、SEXIT和其他指令的执行关联的总线消息。
处理器102还能进一步包括密钥118,例如对称密码密钥、非对称密码密钥、或某些其他类型密钥。处理器102能使用处理器密钥118在执行认证代码(authentic code,AC)模块以前认证一认证代码(AC)模块。在一实施例中,处理器密钥118包括只有处理器102具有对其访问的非对称私有密钥。
处理器102能支持一个或多个操作模式,如实模式、保护模式、虚拟实模式、和虚拟机器模式(VMX模式)。此外,处理器102在每个支持的操作模式中能支持一个或多个特权级或环。一般而言,处理器102的操作模式和特权级定义了可用于执行的指令和执行这样的指令的效果。更具体而言,仅当处理器102处在合适的模式和/或特权级时,处理器102才被允许执行某些特权指令。
芯片组104包括一个或多个芯片或集成电路封装,它们将处理器102接口到计算设备100的各组件,如系统存储器108、权标110、非易失性存储器114,和其他设备116。在一个实施例中,芯片组104包括存储控制器120。然而,在另外实施例中,处理器102能包括整个或部分存储控制器120。一般而言,存储控制器120为计算设备100的各组件提供访问系统存储器108的接口。此外,芯片组104和/或处理器102的存储控制器120能将存储器108的某些区域定义为安全增强(SE)存储器122。在一个实施例中,处理器102在处于合适的操作模式(如保护模式)和特权级(如0P)时,只能访问SE存储器122。
此外,芯片组104能包括密钥124,它可用于在执行之前认证AC模块。类似于处理器密钥118,芯片组密钥124能包括对称密码密钥、非对称密码密钥、或某些其他类型密钥。在一个实施例中,芯片组密钥124包括只有芯片组104能对其访问的非对称私有密钥。在另一实施例中,芯片组104包括存储在计算设备100的另一组件中非对称芯片组密钥124的散列。芯片组104能检索芯片组密钥124,并使用该散列认证该密钥124。
芯片组104还能包括秘密存储器126以表明系统存储器108是否可能包含未经加密的秘密。在一实施例中,秘密存储器126能包括一标志,它能被置位以表明系统存储器108可能包含未经加密的秘密,并能清除以表明系统存储器108不包含未经加密的秘密。在另外实施例中,秘密存储器126能位于其他任何处,如权标110,处理器102,或计算设备100的其他组件。
在一实施例中,秘密存储器126能作为具有由电池支撑的后备电源的单个易失存储器位实现。由电池提供的后备电源经历系统复位,休眠事件,系统关闭,系统掉电,或其他电源移除/丢失事件时,保持秘密存储器126的内容。芯电组104还能包括电池检测线路(未示出),以检测由电池提供电源的中断。该线路还能更新秘密存储126,以表明响应检测电源中断,系统存储器108能包含秘密。在另外实施例中,秘密存储器126作为如闪存位那样的非易失存储器位实现,它不需要电池后备来经历电源移除/丢失事件而保持其内容。在一个实施例中,秘密存储器126用能置位或清除的单个存储器位实现。然而,另外实施例能包括具有不同存储容量和/或利用不同状态编码的秘密存储器126。
芯片组104还能保护秘密存储器126免遭未经授权的更新。在一实施例中,芯片组104包括处理器接口128来解码处理器总线106的事务和/或从处理器102接收消息。处理器104能响应执行请求芯片组104更新该秘密存储器126的一个或多条特权指令,产生总线事务和/或消息。处理器接口128接收总线事务和/或消息,并能根据解码的总线事务和/或消息更新秘密存储器126。在一实施例中,特权指令的有效的执行限于在特定处理器的特权级上的软件执行。例如,在一实施例中,特权指令的有效执行被限于在最高特权的处理器级上执行的监视程序(见图2)。
芯片组104还能允许秘密存储器126的非特权的更新。在一实施例中,响应于执行一条或多条特权指令,处理器102能产生总线事务和/或消息,它们请求芯片组104允许秘密存储器126的非特权更新。此外,响应于执行一条或多条非特权或特权指令,处理器102能产生总线事务和/或消息,它们请求芯片组104拒绝对秘密存储器126的非特权更新。响应于执行一条或多条非特权指令,处理器102能产生总线事务和/或消息,它们请求芯片组104更新秘密存储器126。处理器接口128能接收总线事务和/或消息,并根据解码的总线事务和/或消息能允许非特权更新,拒绝非特权更新,和/或更新秘密存储器126。在一实施例中,为请求非特权更新的特权指令的有效执行被限于在特定处理器特权级上的软件执行。例如,在一实施例中这些特权指令的有效执行被限于在最高特权处理级上执行的监视程序,从而允许监视程序授予选定的非特权代码(如AC模块)对秘密存储器126的写访问。
芯片组104还包括休眠控制器130,休眠类型存储器132,休眠使能存储器134。在一实施例中,休眠控制器130根据休眠类型存储器132和休眠使能存储器134可选地为组件和/或子组件供电。在一实施例中,值能存储在休眠类型存储器,以表明休眠控制器130将计算设备100置于哪个休眠状态(如ACPI休眠状态S1,S2,S3,S4)。休眠使能存储器134能被更新,以调用由休眠状态存储器132表明的休眠状态的入口。例如,休眠使能存储器134能包括一标志,响应于对其的置位,使休眠控制器130将计算设备100置于所请求的休眠状态。
芯片组104还能包括休眠攻击检测逻辑136,它检测可能的休眠攻击。在一实施例中,休眠方法更新秘密存储器126,以表明在更新休眠使能存储器到起动休眠进入过程之前,系统存储器108未包含没有加密的秘密。因而,在一个实施例中,休眠攻击检测逻辑136判断,休眠攻击可能响应于:(i)秘密存储器126表明系统存储器108可能包含未加密的秘密,和(ii)休眠使能存储器134请求调用休眠进入过程。响应于检测可能的休眠攻击,休眠攻击检测逻辑136起动休眠攻击响应,如产生系统复位事件、系统暂停事件、系统关闭事件、系统掉电事件、或某些其他响应,以保护存储在系统存储器108中的秘密。
在另外实施例中,休眠攻击检测逻辑136还根据拟进入的休眠状态判断,是否调用休眠攻击响应。例如,用于保护存储在SE存储器122的秘密的线路能在给定的休眠状态期间保持有效。因而,休眠攻击检测逻辑136或者能确定未发生休眠攻击,或确定若休眠类型存储器132表明处在SE存储器保护保持有效的休眠状态,则不调用休眠攻击响应。
芯片组104也能支持在I/O总线上的标准I/O操作,I/O总线如:外设部件互连(PCI)总线、图形加速端口(AGP)、通用串行总线(USB),低引脚计数(LPC-Low Pin Count)总线,或任何其他类型I/O总线(未示出)。尤其是,芯片组104能包括权标接口138,将芯片组104与包括一个或多个平台配置寄存器(PCR)140的权标110连接。在一个实施例中,权标接口138能包括LPC总线接口(LPC接口规范,Intel公司,1997年12月29日版本1.0)。
一般而言,权标110能以安全增强方式记录规格(metrics),以安全增强方式引用规格,能将秘密密封到特定环境(当前或未来的),且能将秘密解密封到它们以前被密封的环境。权标110能包括用于支持上述操作的一个或多个密钥142。权标密钥142能包括对称密钥,非对称密钥,和/或某种其他类型密钥。权标110还能包括一个或多个平台配置寄存器(PCR寄存器)140,以安全增强的方式记录和报告规格。在一个实施例中,权标110支持PCR扩充的操作,它以安全增强的方式在标识的PCR寄存器140中记录接收的规格。
权标110还能支持PCR引用操作,它返回被标识的PCR寄存器140的引用或内容。权标110还能支持密封操作和非密封操作。响应于密封操作,权标110产生包括密封到权标110的对象和规定的设备环境的密封的对象。相反,仅当一对象用权标110的密钥密封,且当前的设备环境满足对该密封的对象规定的环境准则时,权标110才能响应于未密封的操作返回密封对象的对象。在一实施例中,权标110能包括可信的平台模块(TPM-Trusted Platform Module),如在2001年12月1日发表的Trusted Computing Platform Alliance(TCPA)主规范版本1.1a或其变种所描述。
在一个实施例中,固件112包括基本输入/输出系统例程(BIOS)144。BIOS144能包括AC模块、休眠程序、唤醒程序、系统起动程序和/或结构。例如,BIOS 144能包括ACPI结构和ACPI源语言(ASL)代码,它能在休眠事件处理、唤醒事件处理、和/或计算设备初始化期间被访问和/或执行。
图2中示出SE环境200的一实施例。SE环境200能响应各种事件起动,如系统起动、应用程序请求、操作系统请求等。如图所示,SE环境200能包括可信的虚拟机内核或监视程序202、一个或多个标准虚拟机(标准VM)204。和一个或多个可信的虚拟机(可信的VM)206。在一实施例中,SE环境200的监视程序202在最高特权的处理器环(如0P)上以受保护的方式执行,以管理安全性并提供在虚拟机204、206之间的壁垒。
标准的VM 204还包括在VMX方式的最高特权的处理器环(如0D)处执行的操作系统208,和在VMX方式的较低特权的处理器环(如3D)处执行的一个或多个应用程序210。因为监视程序202执行的处理器环比操作系统208执行的处理器环具有更高特权,操作系统208不具有计算设备100无拘束(unfettered)的控制,而相反,受监视程序202的控制和限制。尤其是,监视程序202能防止操作系统208及其应用程序210直接访问SE存储器122和权标110。
监视程序202还能包括休眠逻辑212和一个或多个监视程序密钥214,来加密和/或保护信息。休眠逻辑212包括执行一个或多个休眠操作,如对存储器内容加密和加证明。监视程序密钥214能包括对称密码密钥、非对称密码密钥、或监视程序202对其具有独占控制的其他密钥。例如,监视程序密钥214能包括对称根密钥和一个或多个用该对称根密钥加密的非对称密钥。
监视程序202能执行对可信的内核216的一个或多个测量,如内核代码的散列,以获得一个或多个规格,能使权标110用该内核216的规格扩充PCR寄存器140,能在储存在SE存储器122中的有关PCR日志中记录该规格,监视程序202还能在SE存储器122中建立可信的VM 206,并在该已建立的可信的VM 206中起动可信的内核216。
类似地,可信的内核216能对小应用程序或应用程序218的一个或多个测量,例如小应用程序代码的散列,以获得一个或多个规格。然后经过监视程序202,可信的内核216能使物理权标(physical token)110用小应用程序218的规格扩充PCR寄存器140。可信的内核216还在储存在SE存储器122中的有关PCR日志中记录该规格。此外,可信的内核216能在SE存储器122的已建立的可信的VM 206中起动可信的小应用程序218。
响应于起动图2的SE环境200,计算设备100还在权标110的一个或多个PCR寄存器140中记录监视程序202和该计算设备100的硬件组件的规格。例如,处理器102能获得硬件标识符,如处理器族,处理器版本,处理器微代码版本,芯片组版本,和处理器102、芯片组104及物理权标110的物理权标的版本。然后,处理器102能在一个或多个PCR寄存器140中记录获得的硬件标识符。
现参考图3,示出进入休眠状态的方法的实施例。计算设备100能响应于休眠事件执行该方法。例如若设备和/或操作系统检测到一个设备在一段定长时间内保持空闲,响应于此以产生休眠事件。响应于该休眠事件,在块300中操作系统208确定是否当前建立SE环境200。响应于确定没有建立SE环境,在块302中计算设备100能调用休眠进入过程(下面详述),将计算设备100置于所请求的休眠状态。
响应于确定建立SE环境200的请求,在块304中监视程序202能对SE存储器122的内容加密和加证明。在一实施例中,监视程序202使用监视程序密钥214之一加密SE存储器122的页面,并用加密的页面替代那些页面。监视程序202能保留包含监视程序202的SE存储器的部分或含有监视程序202的休眠逻辑的SE存储器的部分而不加密,使得处理器102能继续执行休眠逻辑212。
在块304中,监视程序202还加证明到SE存储器122的内容。在一实施例中,监视程序202能通过将SE存储器122的加密的内容求散列值以获取存储器散列值,来产生内容的证明。在另外实施例中,监视程序202能通过只对在唤醒过程之后保留在SE存储器122的页面求散列来产生内容的证明。例如,唤醒过程能从非易失存储器114重新加载监视程序202和/或其他代码。因为SE存储器122的这些部分被重新加载,计算设备100能在进入休眠状态之前从系统存储器108擦除这些部分,和/或不将它们存入非易失存储器114。在另外实施例中,监视程序202能通过嵌入内容证明到SE存储器122经证实的内容中,来加证明到SE存储器122的内容,所述内容证明包括例如水印、签名、和/或其它信息。
在块306,监视程序202能产生和加证明到数据结构(如页面表、页面列表、区列表等中)以标识在块304中加密的系统存储器122的页面/段/区域。在一实施例中,监视程序202能通过对数据结构求散列以获得数据结构散列,来产生数据结构证明。在另外实施例中,监视程序202能通过在被加证明的数据结构中嵌入数据结构证明(如水印、签名、和/或其他信息)对数据结构加证明。
在块308中,监视程序202能密封内容证明、数据结构证明、和/或监视程序密钥214,以保护它们免受未经授权的访问和/或更改。在一实施例中,监视程序202通过一个或多个权标110的密封操作密封内容证明、数据结构证明和监视程序密钥214,以获取一个或多个密封的重续对象。在一实施例中,密封操作使用包含监视程序202的规格的PCR寄存器140,以有效地防止如诈骗监视程序那样的另外监视程序访问和/或更改密封的重续对象的非加密的内容。
在块310中,监视程序202卸除SE环境200。监视程序202能完成作为卸除过程的部分的各种操作。在一实施例中,监视程序202更新秘密存储器126,以表明系统存储器108不包含未加密的秘密。例如,监视程序208能清除秘密存储器126的标志,以表明系统存储器108不包含未加密的秘密。此外,监视程序202能关闭可信的虚拟机206并能退出VMX处理器方式。监视程序202还能擦除在唤醒过程中将要从非易失存储器114重新加载的系统存储器108的那些区域。
在块312中,计算设备100能停止监视程序202的执行,并回到操作系统208的执行。在一实施列中,作为返回到操作系统208的结果,监视程序202提供SE环境重续信息给操作系统208,SE环境重续信息标识响应被密封的重续对象的唤醒和其定位和大小拟执行的监控器202的位置和大小。然而,计算设备100能利用其他机制使操作系统208能在唤醒过程中检索监视程序202和密封的重续对象。例如,监视程序202和/或密封的重续对象能储存在预定位置或由BIOS 144设置的位置。
在块314,操作系统208能保存重续信息,使得它能成为唤醒过程的一部分而被检索。操作系统208能在系统存储器108的预定位置、由BIOS 144设置的位置、芯片组104的非易失寄存器、和/或其他位置存储SE环境恢复信息。在一实施例中,监视程序202在块312中将信息储存在合适的位置处,从而使操作系统208不必在块314保存该信息。
操作系统208和/或BIOS 144在块302中能完成休眠进入过程。例如,操作系统208和/或BIOS 144能将休眠类型标识符号写入休眠类型存储器132,以表明计算设备100进入哪个休眠状态,且能更新休眠使能存储器134,以调用进入该休眠状态的入口。在一实施例中,操作系统208和/或BIOS 144能使计算设备100进入不同于所请求的休眠状态的休眠状态。操作系统208和/或BIOS 144能为了各种理由选择改变休眠状态,例如由于计算设备100的一个或多个组件不支持所请求的休眠状态。响应于更新休眠类型存储器132和休眠使能存储器134,休眠控制器130能使计算设备100进入休眠状态,并能完成休眠过程。例如,休眠控制器130能切断计算设备100的组件和/或子组件电源,能要求组件和/或子组件进入低能耗操作模式,和/或能将系统存储器108的内容写入非易失存储器114。
现参考图4,示出从休眠状态唤醒的方法。计算设备100能响应唤醒事件执行唤醒方法。能响应各种激励源产生唤醒事件,如调制解调器检测振铃事件,网络控制器检测网络活动,键盘控制器检测键按下等。响应唤醒事件,在块400休眠控制器130能完成一个或多个唤醒操作,例如唤醒处理器102和将保存的状态信息从非易失存储器114传输到系统存储器108。在一实施例中,休眠控制器130能响应于执行BIOS 144的ASL和/或其他代码,完成一个或多个唤醒操作。在完成唤醒操作之后,休眠控制器130能将控制转移给操作系统208。在一实施例中,休眠逻辑212从由唤醒矢量标识的位置调用操作系统208的执行。
在块402中,操作系统208能完成一个或多个唤醒操作,如唤醒网络控制器、调制解调器、和/或计算设备100的其他设备。在块404,操作系统208判断是否根据储存的重续信息和/或在缺少储存的重续信息情况下恢复SE环境200。响应于确定恢复SE环境200,操作系统208完成各种操作。例如,操作系统208能加载、认证、和起动执行配置计算设备100和/或验证计算设备100的配置的AC模块。此外,在块406,操作系统208能加载和调用重续信息标识的监视程序202的执行。
在块408,监视程序202能通过权标110的一个或多个解密封操作,解密封被密封的重续对象,以获得内容的证明、数据结构的证明、和监视程序密钥214。响应于检测到解密封操作失败(块410),在块412中监视程序202调用休眠攻击响应,以解决可能的休眠攻击。在一实施例中,监视程序202通过写到芯片线104的复位寄存器调用系统复位,来调用休眠攻击响应。然而,监视程序202能以其他方式作出响应,例如,暂停处理器102,擦除系统存储器108,调用系统关闭,切断计算设备100电源,和/或保护秘密免受未授权的访问和/或更改的其他活动。
在块414,监视程序202根据数据结构的证明验证数据结构的可靠性。在一实施例中,监视程序202求数据结构的散列,以获得计算的数据结构的证明。监视程序202还将计算的数据结构与从密封的重续对象获得的数据结构证明进行比较,并响应于具有对未密封的证明的预定关系(如相等)计算的证明,来确定该数据结构是可靠的。响应于确定该数据结构是不可靠的或被更改的,在块412监视程序202调用休眠攻击响应以解决可能的休眠攻击。
在块416,监视程序202能解密系统存储器108的一部分,并将解密的部分存储在SE存储器122中。监视程序202能使用一个或多个未密封的监视程序密钥214,解密由数据结构标识的系统存储器108的诸部分。在块418,监视程序202能验证加密的或解密的SE存储器内容的可靠性。在一实施例中,监视程序202能对加到SE存储器122的解密内容求散列,以获得计算的内容证明。在另外实施例中,监视程序202能对拟加到SE存储器122的加密内容求散列,以获得计算的内容证明。监视程序202还能将计算的内容证明与未密封的内容证明进行比较,并能响应于具有对未密封的证明的预定关系(如相等)的计算的证明,确定该内容是可靠的(如未更改)。响应于确定该内容是不可靠的(如已更改),在块412监视程序202能对可能的休眠攻击调用攻击响应。相反,响应于制定该内容是可靠的,监视程序202通过调用操作系统208的执行完成唤醒过程。
休眠和唤醒方法的上述实施例帮助保护秘密免受攻击。然而,攻击者能试图绕过图3的休眠方法,将计算设备100置于休眠状态,在该休眠状态中,未加密的秘密驻留在系统存储器108和/或未保护的非易失存储器114中。为防止这种绕过,休眠攻击检测逻辑136能调用系统复位事件或另外的攻击响应,以响应检测到可能的休眠攻击。在图3的休眠方法的一实施例中,监视程序202更新秘密存储器126,以表明在更新休眠使能存储器134到起动休眠进入过程之前,系统存储器108未包含未加密的秘密。因而,若秘密存储器420表明系统存储器108能包含未加密的秘密,则休眠攻击检测逻辑136能调用休眠攻击响应,以响应休眠使能存储器134被更新。
在图3的休眠方法的另外实施例中,仅当请求的休眠状态导致SE存储器122未被保护时,监视程序202加密SE存储器122并更新秘密存储器126,以表明该系统存储器108未包含未加密的秘密。因此,若秘密存储器420表明系统存储器108可能包含未加密的秘密,且休眠类型存储器132表明处在SE存储器122映射中的休眠状态未被保护时,休眠攻击检测逻辑136能调用休眠攻击响应,以响应休眠使能存储器134被更新。
虽然参考示例实施例描述了本发明的某些特征,但上述描述并不是在限制的意义上解释。对与本发明有关的专业的技术人员显而易见的本发明的示例及其他实施例的各种修改,都被认为是在本发明的精神和范围之内。
Claims (30)
1.一种用于防御休眠攻击的方法,所述休眠攻击是在从休眠状态唤醒时试图访部秘密信息,所述方法包括:
检测可能的休眠攻击;
判定存储单元是否包含未加密的秘密信息;和
响应于判定所述存储单元可能包含未加密的秘密信息,调用休眠攻击响应,所述休眠攻击响应保护秘密信息免受可能的休眠攻击。
2.如权利要求1的方法,其特征在于,还包括:
响应休眠事件,判断存储单元是否可能包含秘密信息;和
响应于判定所述存储单元可能包括秘密信息,调用所述休眠攻击响应。
3.如权利要求1的方法,其特征在于,还包括:
响应休眠事件,加密存储单元的一个或多个部分中的内容。
4.如权利要求3的方法,其特征在于还包括:
产生内容证明,以证明所述存储单元的一个或多个部分中的内容。
5.如权利要求3的方法,其特征在于,还包括:
产生标识所述存储单元的一个或多个部分的结构;和
产生一个或多个证明,以证明所述结构和所述存储单元的一个或多个部分中的内容。
6.如权利要求5的方法,其特征在于,还包括:
将所述结构和所述一个或多个证明密封到计算设备的监视单元。
7.如权利要求1的方法,其特征在于,还包括:
响应于调用所述休眠攻击响应来产生系统复位。
8.一种芯片组,其特征在于包括:
休眠攻击检测逻辑单元,以检测休眠攻击,所述休眠攻击是在从休眠状态唤醒时试图访问秘密信息;
秘密信息指示器,指示存储单元是否包含未加密的秘密信息;
其中响应于检测到的休眠攻击以及存储单元包含未加密的秘密信息的指示,所述休眠攻击检测逻辑单元调用攻击响应。
9.如权利要求8的所述芯片组,其特征在于,还包括休眠使能存储器,所述休眠使能存储器用于指示进入休眠状态;
所述休眠攻击检测逻辑单元还根据所述休眠使能存储器指示进入休眠状态而检测休眠攻击。
10.如权利要求9的所述芯片组,其特征在于,还包括休眠类型存储器以指示所请求的休眠状态;
所述休眠攻击检测逻辑单元还根据所述休眠类型存储器指示特定休眠状态而检测休眠攻击。
11.如权利要求9的所述芯片组,其特征在于,还包括一接口,所述接口支持对秘密信息的可信核查。
12.如权利要求9的所述芯片组,其特征在于,还包括一接口,所述接口在允许更新所述秘密信息指示器之前需要接收一个或多个消息。
13.一个包括操作系统及位于更高特权级别的监视单元的系统;
所述操作系统接收休眠事件,并将所述休眠事件的处理传输给所述监视单元;和
响应于所述休眠事件,所述监视单元加密存储单元的一个或多个页面,并指示所述存储单元不包含未加密的秘密信息。
14.如权利要求13的系统,其特征在于,所述监视单元还更新一秘密信息存储器,以指示所述存储单元不包含未加密的秘密信息。
15.如权利要求13的系统,其特征在于,
所述监视单元将所述休眠事件的处理返回给所述操作系统;和
所述操作系统将存储单元的加密的和未加密的页面写到非易失存储器。
16.如权利要求13的系统,其特征在于,
所述监视单元将所述休眠事件的处理返回给所述操作系统;和
所述操作系统使所述系统进入休眠状态。
17.如权利要求16的系统,其特征在于,所述操作系统更新一休眠类型存储器以指示拟进入的所述休眠状态,并更新一休眠使能存储器以指示进入所述休眠状态。
18.如权利要求13的系统,其特征在于,所述监视单元还产生内容证明,所述内容证明是用于证明所述存储单元的所述加密的页面。
19.如权利要求18的系统,其特征在于,所述监视单元还产生标识所述加密的页面的结构,并产生用于证明所述结构的结构证明。
20.如权利要求19的系统,其特征在于,所述监视单元还向所述监视单元密封:所述内容证明、所述结构证明、和解密所述经加密页面的监视单元密钥。
21.一种用于防御休眠攻击的系统,所述休眠攻击是在从休眠状态唤醒时试图访问秘密信息,所述系统包括:
易失存储器,包括安全增强区域;
秘密信息存储器,指示所述易失存储器是否可能包含未加密的秘密信息;
休眠使能存储器,指示进入休眠状态;
处理器,响应于休眠事件而加密所述安全增强区域,并响应于加密所述安全增强区域而更新所述秘密信息存储器,以指示所述易失存储器不包含未加密的秘密信息;和
休眠攻击检测逻辑单元,响应于所述休眠使能存储器被更新为指示进入休眠状态并响应于所述秘密信息存储器指示所述易失存储器可能包含未加密的秘密信息,而调用休眠攻击响应,所述休眠攻击响应保护秘密信息免受可能的休眠攻击。
22.如权利要求21的系统,其特征在于,所述处理器还产生一证明安全增强区域的内容证明,并若所述内容证明指示所述安全增强区域不可靠时,响应于唤醒事件而调用休眠攻击响应。
23.如权利要求22的系统,其特征在于,所述处理器还将所述内容证明和解密所述安全增强区域的密钥密封到所述系统。
24.如权利要求23的系统,其特征在于,若解密封所述内容证明和所述密钥失败,所述处理器则响应于唤醒事件调用休眠攻击响应。
25.一种用于防御休眠攻击的方法,所述休眠攻击是在从休眠状态唤醒时试图访问秘密信息,所述方法包括:
响应休眠事件加密存储单元的内容;和
产生证明所述存储单元的所述内容的内容证明。
26.如权利要求25的方法,其特征在于,还包括:
响应于唤醒事件,使用所述内容证明来验证所述内容的可靠性;和
响应于判定所述存储单元的所述内容不可靠,调用休眠攻击响应。
27.如权利要求26的方法,其特征在于,还包括:
响应于休眠事件,将所述内容证明和解密所述存储单元的所述内容的密钥密封到一特定系统;
响应于唤醒事件解密封所述内容证明及所述密钥,且
响应于解密所述内容证明及所述密钥的失败,调用休眠攻击响应。
28.一种用于防御休眠攻击的系统,所述休眠攻击是在从休眠状态唤醒时试图访问秘密信息,所述系统包括:
用于响应休眠事件加密存储单元内容的装置;和
用于产生证明所述存储单元的所述内容的内容证明的装置。
29.如权利要求28的系统,其特征在于,还包括:
用于响应于唤醒事件,使用所述内容证明来验证所述内容的可靠性的装置;和
用于响应于判定所述存储单元的所述内容不可靠,调用休眠攻击响应的装置。
30.如权利要求29的系统,其特征在于,还包括:
用于响应于休眠事件,将所述内容证明和解密所述存储单元的所述内容的密钥密封到所述系统的装置;
用于响应于唤醒事件解密封所述内容证明及所述密钥的装置,且
用于响应于解密所述内容证明及所述密钥的失败,调用休眠攻击响应的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/185,887 | 2002-06-26 | ||
US10/185,887 US7392415B2 (en) | 2002-06-26 | 2002-06-26 | Sleep protection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1662869A CN1662869A (zh) | 2005-08-31 |
CN100449558C true CN100449558C (zh) | 2009-01-07 |
Family
ID=29779758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038148323A Expired - Fee Related CN100449558C (zh) | 2002-06-26 | 2003-06-20 | 休眠保护 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7392415B2 (zh) |
EP (1) | EP1516239A2 (zh) |
JP (1) | JP4660188B2 (zh) |
KR (3) | KR100823374B1 (zh) |
CN (1) | CN100449558C (zh) |
AU (1) | AU2003247595A1 (zh) |
TW (1) | TWI245182B (zh) |
WO (1) | WO2004003711A2 (zh) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7194092B1 (en) * | 1998-10-26 | 2007-03-20 | Microsoft Corporation | Key-based secure storage |
US7174457B1 (en) * | 1999-03-10 | 2007-02-06 | Microsoft Corporation | System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party |
US7476925B2 (en) * | 2001-08-30 | 2009-01-13 | Micron Technology, Inc. | Atomic layer deposition of metal oxide and/or low asymmetrical tunnel barrier interploy insulators |
JP2003218724A (ja) * | 2002-01-18 | 2003-07-31 | Nec Compound Semiconductor Devices Ltd | 半導体装置 |
US7890771B2 (en) * | 2002-04-17 | 2011-02-15 | Microsoft Corporation | Saving and retrieving data based on public key encryption |
US7487365B2 (en) * | 2002-04-17 | 2009-02-03 | Microsoft Corporation | Saving and retrieving data based on symmetric key encryption |
US7171663B2 (en) * | 2002-12-09 | 2007-01-30 | International Business Machines Corporation | External event interrupt for server-side programs |
US20050044408A1 (en) * | 2003-08-18 | 2005-02-24 | Bajikar Sundeep M. | Low pin count docking architecture for a trusted platform |
US7210009B2 (en) * | 2003-09-04 | 2007-04-24 | Advanced Micro Devices, Inc. | Computer system employing a trusted execution environment including a memory controller configured to clear memory |
US20050204155A1 (en) * | 2004-03-09 | 2005-09-15 | Nec Laboratories America, Inc | Tamper resistant secure architecture |
EP1870814B1 (en) * | 2006-06-19 | 2014-08-13 | Texas Instruments France | Method and apparatus for secure demand paging for processor devices |
US8639946B2 (en) * | 2005-06-24 | 2014-01-28 | Sigmatel, Inc. | System and method of using a protected non-volatile memory |
US8959339B2 (en) | 2005-12-23 | 2015-02-17 | Texas Instruments Incorporated | Method and system for preventing unauthorized processor mode switches |
GB2446658B (en) * | 2007-02-19 | 2011-06-08 | Advanced Risc Mach Ltd | Hibernating a processing apparatus for processing secure data |
US7945786B2 (en) * | 2007-03-30 | 2011-05-17 | Intel Corporation | Method and apparatus to re-create trust model after sleep state |
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 |
US8429085B2 (en) * | 2007-06-22 | 2013-04-23 | Visa U.S.A. Inc. | Financial transaction token with onboard power source |
US9324071B2 (en) | 2008-03-20 | 2016-04-26 | Visa U.S.A. Inc. | Powering financial transaction token with onboard power source |
US8117642B2 (en) * | 2008-03-21 | 2012-02-14 | Freescale Semiconductor, Inc. | Computing device with entry authentication into trusted execution environment and method therefor |
CN101562871B (zh) * | 2008-04-18 | 2011-09-28 | 鸿富锦精密工业(深圳)有限公司 | 移动台及其防攻击的方法 |
US8291415B2 (en) * | 2008-12-31 | 2012-10-16 | Intel Corporation | Paging instruction for a virtualization engine to local storage |
US8839000B2 (en) * | 2009-03-23 | 2014-09-16 | Hewlett-Packard Development Company, L.P. | System and method for securely storing data in an electronic device |
JP5493951B2 (ja) * | 2009-04-17 | 2014-05-14 | 株式会社リコー | 情報処理装置、正当性検証方法及びプログラム |
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 |
US8844025B2 (en) | 2010-03-26 | 2014-09-23 | Hewlett-Packard Development Company, L.P. | Storage device access authentication upon resuming from a standby mode of a computing device |
US8943329B2 (en) * | 2010-03-29 | 2015-01-27 | Lenovo (Singapore) Pte. Ltd. | Method and apparatus for sharing an integrity security module in a dual-environment computing device |
WO2012033496A1 (en) * | 2010-09-10 | 2012-03-15 | Hewlett-Packard Development Company, L.P. | Unlock a storage device |
US8503674B2 (en) | 2011-04-28 | 2013-08-06 | Microsoft Corporation | Cryptographic key attack mitigation |
WO2013100636A1 (ko) | 2011-12-30 | 2013-07-04 | 에스케이씨앤씨 주식회사 | 마스터 tsm |
WO2013100419A1 (ko) * | 2011-12-30 | 2013-07-04 | 에스케이씨앤씨 주식회사 | 애플릿 액세스 제어 시스템 및 방법 |
EP2817755B1 (en) * | 2012-02-20 | 2021-03-24 | Intel Corporation | Directed wakeup into a secured system environment |
GB2517101B (en) | 2012-05-29 | 2020-04-29 | Hewlett Packard Development Co | Hibernation based on page source |
US9811475B2 (en) * | 2012-06-29 | 2017-11-07 | Intel Corporation | Methods and apparatus for a secure sleep state |
EP2895935A4 (en) * | 2012-09-14 | 2016-05-11 | Intel Corp | METHOD AND DEVICE FOR PROTECTING MEMORY AREAS DURING LOW-POWER CONDITIONS |
JP6095330B2 (ja) * | 2012-11-13 | 2017-03-15 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
US9378342B2 (en) | 2013-11-08 | 2016-06-28 | Dell Products L.P. | Context analysis at an information handling system to manage authentication cycles |
US9235729B2 (en) * | 2013-11-08 | 2016-01-12 | Dell Products L.P. | Context analysis at an information handling system to manage authentication cycles |
KR101442539B1 (ko) * | 2013-12-31 | 2014-09-26 | 권용구 | 보안저장장치를 구비하는 저장 시스템 및 그 관리 방법 |
KR101416547B1 (ko) * | 2014-02-20 | 2014-07-09 | (주)지란지교소프트 | 중요 파일 자동 암복호화 방법 |
US10032029B2 (en) * | 2014-07-14 | 2018-07-24 | Lenovo (Singapore) Pte. Ltd. | Verifying integrity of backup file in a multiple operating system environment |
US9430407B2 (en) | 2014-10-31 | 2016-08-30 | Qualcomm Incorporated | Method and system for secure storage and retrieval of machine state |
US9910475B2 (en) * | 2014-12-23 | 2018-03-06 | Intel Corporation | Processor core power event tracing |
CN105847221B (zh) * | 2015-01-14 | 2019-10-11 | 宇龙计算机通信科技(深圳)有限公司 | 一种安全信息的管理方法、装置及终端 |
US10198274B2 (en) * | 2015-03-27 | 2019-02-05 | Intel Corporation | Technologies for improved hybrid sleep power management |
US10152599B2 (en) * | 2015-12-18 | 2018-12-11 | Intel IP Corporation | Security mechanisms for extreme deep sleep state |
CN108475316B (zh) * | 2016-03-08 | 2022-07-26 | 惠普发展公司,有限责任合伙企业 | 使数据安全 |
JP6316370B2 (ja) * | 2016-10-12 | 2018-04-25 | インテル・コーポレーション | 装置、方法、集積回路、プログラム、及び有形のコンピュータ可読記憶媒体 |
GB201700367D0 (en) * | 2017-01-10 | 2017-02-22 | Trustonic Ltd | A system for recording and attesting device lifecycle |
US10810297B2 (en) | 2017-05-02 | 2020-10-20 | Dell Products L.P. | Information handling system multi-touch security system |
US10586029B2 (en) | 2017-05-02 | 2020-03-10 | Dell Products L.P. | Information handling system multi-security system management |
EP3656183A4 (en) * | 2017-07-18 | 2021-02-24 | Hewlett-Packard Development Company, L.P. | DEVICE MANAGEMENT |
US10503898B2 (en) * | 2017-10-03 | 2019-12-10 | Grand Mate Co., Ltd. | Method for defending against malware |
JP6494143B2 (ja) * | 2018-03-27 | 2019-04-03 | インテル・コーポレーション | 装置、方法、集積回路、プログラム、及び有形のコンピュータ可読記憶媒体 |
TWI783410B (zh) * | 2021-03-16 | 2022-11-11 | 瑞昱半導體股份有限公司 | 電子裝置以及其休眠恢復方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5533123A (en) * | 1994-06-28 | 1996-07-02 | National Semiconductor Corporation | Programmable distributed personal security |
US6188257B1 (en) * | 1999-02-01 | 2001-02-13 | Vlsi Technology, Inc. | Power-on-reset logic with secure power down capability |
EP1085396A1 (en) * | 1999-09-17 | 2001-03-21 | Hewlett-Packard Company | Operation of trusted state in computing platform |
US6275933B1 (en) * | 1999-04-30 | 2001-08-14 | 3Com Corporation | Security system for a computerized apparatus |
US20010018736A1 (en) * | 2000-02-14 | 2001-08-30 | Kabushiki Kaisha Toshiba | Tamper resistant microprocessor |
WO2001063994A2 (en) * | 2000-02-23 | 2001-08-30 | Iridian Technologies, Inc. | Tamper proof case for electronic devices having memories with sensitive information |
Family Cites Families (106)
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 |
JPS5823570B2 (ja) * | 1978-11-30 | 1983-05-16 | 国産電機株式会社 | 液面検出装置 |
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 |
JPS59111561A (ja) * | 1982-12-17 | 1984-06-27 | Hitachi Ltd | 複合プロセツサ・システムのアクセス制御方式 |
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 | アドレス変換装置 |
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 |
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 |
JPH02171934A (ja) * | 1988-12-26 | 1990-07-03 | Hitachi Ltd | 仮想計算機システム |
JPH02208740A (ja) * | 1989-02-09 | 1990-08-20 | Fujitsu Ltd | 仮想計算機制御方式 |
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 |
US5319760A (en) * | 1991-06-28 | 1994-06-07 | Digital Equipment Corporation | Translation buffer for virtual machines with address space match |
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 |
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 | コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム |
US5627987A (en) * | 1991-11-29 | 1997-05-06 | Kabushiki Kaisha Toshiba | Memory management and protection system for virtual memory in computer system |
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 |
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 |
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. |
JPH06348867A (ja) * | 1993-06-04 | 1994-12-22 | Hitachi Ltd | マイクロコンピュータ |
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 |
US5978481A (en) * | 1994-08-16 | 1999-11-02 | Intel Corporation | Modem compatible method and apparatus for encrypting data that is transparent to software applications |
JPH0883211A (ja) * | 1994-09-12 | 1996-03-26 | Mitsubishi Electric Corp | データ処理装置 |
DE69534757T2 (de) * | 1994-09-15 | 2006-08-31 | International Business Machines Corp. | System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften |
US6058478A (en) | 1994-09-30 | 2000-05-02 | Intel Corporation | Apparatus and method for a vetted field upgrade |
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 |
JP3693721B2 (ja) * | 1995-11-10 | 2005-09-07 | Necエレクトロニクス株式会社 | フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法 |
JPH09204360A (ja) * | 1996-01-24 | 1997-08-05 | Toshiba Corp | 機密データの保護方法 |
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 |
KR200144911Y1 (ko) * | 1996-06-28 | 1999-06-15 | 양재신 | 모의충돌시험장치 |
US5740178A (en) * | 1996-08-29 | 1998-04-14 | Lucent Technologies Inc. | Software for controlling a reliable backup memory |
US6055637A (en) | 1996-09-27 | 2000-04-25 | Electronic Data Systems Corporation | System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential |
US5937063A (en) * | 1996-09-30 | 1999-08-10 | Intel Corporation | Secure boot |
US5844986A (en) * | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
US5935242A (en) * | 1996-10-28 | 1999-08-10 | Sun Microsystems, Inc. | Method and apparatus for initializing a device |
JPH10134008A (ja) * | 1996-11-05 | 1998-05-22 | Mitsubishi Electric Corp | 半導体装置およびコンピュータシステム |
US5852717A (en) * | 1996-11-20 | 1998-12-22 | Shiva Corporation | Performance optimizations for computer networks utilizing HTTP |
US5901225A (en) * | 1996-12-05 | 1999-05-04 | Advanced Micro Devices, Inc. | System and method for performing software patches in embedded systems |
US5757919A (en) * | 1996-12-12 | 1998-05-26 | Intel Corporation | Cryptographically protected paging subsystem |
US5953502A (en) * | 1997-02-13 | 1999-09-14 | Helbig, Sr.; Walter A | Method and apparatus for enhancing computer system security |
US6044478A (en) | 1997-05-30 | 2000-03-28 | National Semiconductor Corporation | Cache with finely granular locked-down regions |
US5987557A (en) | 1997-06-19 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU) |
US6035374A (en) | 1997-06-25 | 2000-03-07 | Sun Microsystems, Inc. | Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency |
US6014745A (en) | 1997-07-17 | 2000-01-11 | Silicon Systems Design Ltd. | Protection for customer programs (EPROM) |
US5978475A (en) * | 1997-07-18 | 1999-11-02 | Counterpane Internet Security, Inc. | Event auditing system |
US5919257A (en) * | 1997-08-08 | 1999-07-06 | Novell, Inc. | Networked workstation intrusion detection system |
US6233685B1 (en) * | 1997-08-29 | 2001-05-15 | Sean William Smith | Establishing and employing the provable untampered state of a device |
US5935247A (en) * | 1997-09-18 | 1999-08-10 | Geneticware Co., Ltd. | Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same |
US5970147A (en) * | 1997-09-30 | 1999-10-19 | Intel Corporation | System and method for configuring and registering a cryptographic device |
JP2001202167A (ja) * | 2000-01-20 | 2001-07-27 | Toyo Commun Equip Co Ltd | コンピュータ及びその制御方法 |
US20020120843A1 (en) * | 2001-02-21 | 2002-08-29 | Goodman Steven Dale | Method and system for preventing reset of a cryptographic subsystem when entering or recovering from a powered-off sleep state |
EP1271277A3 (en) * | 2001-06-26 | 2003-02-05 | Redstrike B.V. | Security system and software to prevent unauthorized use of a computing device |
-
2002
- 2002-06-26 US US10/185,887 patent/US7392415B2/en not_active Expired - Fee Related
-
2003
- 2003-06-20 CN CNB038148323A patent/CN100449558C/zh not_active Expired - Fee Related
- 2003-06-20 KR KR1020067027677A patent/KR100823374B1/ko not_active IP Right Cessation
- 2003-06-20 KR KR1020047020945A patent/KR100692348B1/ko not_active IP Right Cessation
- 2003-06-20 EP EP03761974A patent/EP1516239A2/en not_active Withdrawn
- 2003-06-20 WO PCT/US2003/019597 patent/WO2004003711A2/en active Application Filing
- 2003-06-20 KR KR1020067027679A patent/KR20070011623A/ko not_active Application Discontinuation
- 2003-06-20 JP JP2004517729A patent/JP4660188B2/ja not_active Expired - Fee Related
- 2003-06-20 AU AU2003247595A patent/AU2003247595A1/en not_active Abandoned
- 2003-06-25 TW TW092117304A patent/TWI245182B/zh not_active IP Right Cessation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5533123A (en) * | 1994-06-28 | 1996-07-02 | National Semiconductor Corporation | Programmable distributed personal security |
EP0965902A2 (en) * | 1994-06-28 | 1999-12-22 | National Semiconductor Corporation | Secure data processor with cryptography and tamper detection |
US6188257B1 (en) * | 1999-02-01 | 2001-02-13 | Vlsi Technology, Inc. | Power-on-reset logic with secure power down capability |
US6275933B1 (en) * | 1999-04-30 | 2001-08-14 | 3Com Corporation | Security system for a computerized apparatus |
EP1085396A1 (en) * | 1999-09-17 | 2001-03-21 | Hewlett-Packard Company | Operation of trusted state in computing platform |
US20010018736A1 (en) * | 2000-02-14 | 2001-08-30 | Kabushiki Kaisha Toshiba | Tamper resistant microprocessor |
WO2001063994A2 (en) * | 2000-02-23 | 2001-08-30 | Iridian Technologies, Inc. | Tamper proof case for electronic devices having memories with sensitive information |
Also Published As
Publication number | Publication date |
---|---|
CN1662869A (zh) | 2005-08-31 |
US7392415B2 (en) | 2008-06-24 |
AU2003247595A1 (en) | 2004-01-19 |
KR100823374B1 (ko) | 2008-04-17 |
TW200405963A (en) | 2004-04-16 |
TWI245182B (en) | 2005-12-11 |
WO2004003711A2 (en) | 2004-01-08 |
KR20070014208A (ko) | 2007-01-31 |
US20040003273A1 (en) | 2004-01-01 |
KR100692348B1 (ko) | 2007-03-09 |
KR20070011623A (ko) | 2007-01-24 |
EP1516239A2 (en) | 2005-03-23 |
AU2003247595A8 (en) | 2004-01-19 |
JP4660188B2 (ja) | 2011-03-30 |
KR20050008847A (ko) | 2005-01-21 |
WO2004003711A3 (en) | 2004-03-25 |
JP2005531086A (ja) | 2005-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100449558C (zh) | 休眠保护 | |
JP5537742B2 (ja) | 多ユーザ機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置 | |
CN102171704B (zh) | 用硬件加密存储设备进行外部加密和恢复管理 | |
CN102722675B (zh) | 提供安全执行环境的装置及其执行安全编码的方法 | |
JP4073913B2 (ja) | 開放型汎用耐攻撃cpu及びその応用システム | |
CN100456200C (zh) | 多令牌密封和解封 | |
CN109858265A (zh) | 一种加密方法、装置及相关设备 | |
CN110543764B (zh) | 片上系统内存防护方法、密码加速引擎及内存防护装置 | |
CN101441601B (zh) | 一种硬盘ata指令的加密传输的方法及系统 | |
US11727115B2 (en) | Secured computer system | |
Ling et al. | Secure boot, trusted boot and remote attestation for ARM TrustZone-based IoT Nodes | |
CN102024115B (zh) | 一种具有用户安全子系统的计算机 | |
CN101447009A (zh) | 软件安装方法、装置及系统 | |
CN101447013A (zh) | 软件运行方法、装置及系统 | |
CN104361280B (zh) | 一种通过smi中断实现对usb存储设备进行可信认证的方法 | |
CN103605934A (zh) | 一种可执行文件的保护方法及装置 | |
CN107563226A (zh) | 一种存储器控制器、处理器模块及密钥更新方法 | |
CN201845340U (zh) | 一种具有用户安全子系统的安全计算机 | |
CN109583196B (zh) | 一种密钥生成方法 | |
US9213864B2 (en) | Data processing apparatus and validity verification method | |
US20210111870A1 (en) | Authorizing and validating removable storage for use with critical infrastrcture computing systems | |
CN114816549B (zh) | 一种保护bootloader及其环境变量的方法及系统 | |
CN109598150B (zh) | 一种密钥使用方法 | |
CN117632798A (zh) | 内存防替换方法、电路、装置、终端及存储介质 | |
Wang et al. | A Practical Key Management Scheme in Software Layer and Its Applications |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090107 Termination date: 20100620 |