CN100374977C - 受信系统时钟 - Google Patents

受信系统时钟 Download PDF

Info

Publication number
CN100374977C
CN100374977C CNB2003101170726A CN200310117072A CN100374977C CN 100374977 C CN100374977 C CN 100374977C CN B2003101170726 A CNB2003101170726 A CN B2003101170726A CN 200310117072 A CN200310117072 A CN 200310117072A CN 100374977 C CN100374977 C CN 100374977C
Authority
CN
China
Prior art keywords
system clock
attack
described system
system timer
timer
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
CNB2003101170726A
Other languages
English (en)
Other versions
CN1514324A (zh
Inventor
大卫·I·波伊斯尼尔
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 CN1514324A publication Critical patent/CN1514324A/zh
Application granted granted Critical
Publication of CN100374977C publication Critical patent/CN100374977C/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

Abstract

本发明描述了一种尝试增加由系统时钟提供的系统时间的受信度的方法和装置。在一些实施例中,检测器检测可能与对系统时钟的攻击相关联的活动。基于检测器是否检测到对系统时钟的可能的攻击,计算设备可以确定是否信任由系统时钟提供的系统时间。

Description

受信系统时钟
技术领域
本发明一般地涉及系统时钟。更具体而言,本发明涉及操作系统中的可以保持正确时间的受信系统时钟。
背景技术
操作系统可以包括系统时钟,以提供用于测量小的时间增量(例如1毫秒的增量)的系统时间。系统时钟可以响应于某个系统定时器所产生的周期性的中断而更新系统时钟,所述系统定时器例如是Intel 8254事件定时器、Intel高性能事件定时器(HPET)或实时时钟事件定时器。操作系统可以使用系统时间来给文件打上时间戳,产生周期性中断,产生基于时间的单触发(one-shot)中断,以及调度进程等等。一般而言,系统时钟可以在计算设备运行的同时保持系统时间,但是一旦将计算设备断电或置于睡眠状态,则一般不能保持系统时间。因此,操作系统可以使用参考时钟来在系统启动或系统苏醒时将系统时钟的系统时间初始化。此外,系统时钟容易漂移离开正确的时间。因此,操作系统可以使用参考时钟来周期性地更新系统时钟的系统时间。
一种这样的参考时钟是硬件实时时钟(RTC)。计算设备一般包括RTC和当计算设备处于低功耗(power down)状态时给RTC供电的电池。由于电池的电源,即使将计算设备断电或置于睡眠状态,RTC也能够维持实际时间(real time)或壁钟时间(wall time),并且一般能比系统时钟更精确地保持时间。除了设有用于获得壁钟时间的接口以外,RTC还设有一个接口,例如可以用来设置或改变RTC时间的一个或多个寄存器。如本领域技术人员所知,壁钟时间指的是真正的实际时间(例如,2002年12月4日,星期五,下午12:01),该时间可以包括例如当前的秒、分、小时、星期几、日、月和年。壁钟时间的名字来源于挂在墙上的传统时钟所提供的时间,并且通常用于与CPU时间相区分,所述CPU时间代表了处理器执行处理所花费的秒数。由于多任务和多处理器系统,执行一个处理的CPU时间可能大大不同于执行该处理的壁钟时间。
计算设备可以使用系统时钟和/或RTC时钟来实施用于时间敏感数据的策略。具体而言,计算设备可以在数据上设置基于时间的访问限制。例如,计算设备可以在从发送起经过了一段时间(例如一个月)之后禁止读取电子邮件消息。计算设备还可以防止读取托管维护的源代码,直到特定日期的到来。作为另一个例子,计算设备可以防止给财务事务指定早于当前日期和/或时间的日期和/或时间。但是,为了使这些基于时间的访问限制有效,计算设备必须相信,系统时钟能抵抗为对攻击者有利而可能变更系统时间的攻击。
发明内容
本发明的一个目的在于提供一种用于指示出对系统时钟的攻击的方法和装置。
根据本发明的第一方面,提供了一种和保持系统时间的系统时钟一起使用以指示出对所述系统时钟的攻击的方法,包括存储一个指示,用于指示出有对系统时间的更新等待解决,基于在所存储的指示指示出仍有对系统时间的更新等待解决的同时接收到系统定时器中断而检测对所述系统时钟的攻击,以及更新状态存储装置,以指示出对所述系统时钟的攻击。
根据本发明的第二方面,提供了一种用于指示出对系统时钟的攻击的芯片组,包括:状态存储装置,以指示是否检测到对系统时钟的攻击;检测器,以检测对所述系统时钟的攻击,并基于是否检测到对所述系统时钟的攻击来更新所述状态存储装置;以及更新存储装置,以存储一个指示,用于指示出是否有对系统时钟的更新等待解决,其中所述检测器基于如下情况的发生来检测对系统时钟的攻击:在接收到用于更新所述系统时钟的系统定时器中断时,所述更新存储装置所存储的指示指示出有对系统时钟的更新等待解决。
根据本发明的第三方面,提供了一种用于指示出对系统时钟的攻击的计算设备,包括:存储器,以存储用于系统定时器中断的中断服务例程;系统定时器,以产生引发所述中断服务例程的执行的系统定时器中断;处理器,以响应于执行所述中断服务例程,更新系统时钟的系统时间;更新存储装置,以存储一个指示,用于指示出是否有对系统时钟的更新等待解决;和检测器,以基于如下情况的发生来检测对所述系统时钟的攻击:在接收到系统定时器中断时,所述更新存储装置所存储的指示指示出有对系统时钟的更新等待解决。
根据本发明的第四方面,提供了一种用于指示出对系统时钟的攻击的装置,包括:更新存储装置,以存储一个指示,用于指示出是否有对系统时钟的更新等待解决;和检测逻辑,以基于所述更新存储装置所存储的指示和一个或多个用于引发所述系统时钟的更新的系统定时器中断,检测对所述系统时钟的攻击,其中如果在所述更新存储装置指示出有对系统时钟的更新等待解决的同时接收到系统定时器中断,则所述检测逻辑确定已发生对系统时钟的攻击。
附图说明
在附图中,以举例而非限制的方式示出了本文中所描述的本发明。为图示简单和清楚起见,图中所示的元件不一定按比例绘制。例如,为清楚起见,可能将一些元件的尺寸相对于其它元件进行扩大。此外,在认为合适的地方,在图形之间用重复的标号来指示相应的或相似的元件。
图1图示了计算设备的实施例;
图2图示了图1中的计算设备的检测器的实施例,其检测对系统时钟可能的攻击;
图3图示了可以由图1的计算设备建立的安全性增强(SE)环境的实施例;
图4图示了系统时钟响应可能的攻击的方法的示例实施例。
具体实施方式
以下说明描述了多种技术,用于保护系统时钟的系统时间免于为了获得对时间敏感数据的未授权访问和/或执行未授权的时间敏感操作而被改变。为了更彻底地理解本发明,在以下说明中阐明了许多具体细节,如逻辑实现、操作码(opcode)、指定操作数的方式、资源划分/共享/复制的实现、系统组件的类型和相互关系以及逻辑划分/集成选择。但是,本领域技术人员应该认识到,没有这些具体细节也可以实施本发明。在其它情况下,未详细示出一些控制结构、门级电路和完整的指令序列,以免混淆本发明。利用所包括的说明,本领域普通技术人员将无需过多的实验就能够实现适当的功能。
在本说明书中,提到“一个实施例”、“实施例”、“示例实施例”等,指示所描述的实施例可能包括特定的特征、结构或特性,但每个实施例可能不一定包括该特定的特征、结构或特性。此外,这样的词语不一定指相同的实施例。另外,当结合实施例描述了特定的特征、结构或特性时,无论是否明示,都认为结合其它实施例对这种特定的特征、结构或特性的实现是在本领域技术人员的知识范围之内。
在图1中,示出了计算设备100的示例实施例。计算设备100可以包括经由处理器总线106耦合到芯片组104上的一个或多个处理器102。芯片组104可以包括以下部件:将处理器102耦合到系统存储器108的一个或多个集成电路封装或芯片、令牌(token)110、固件112和/或计算设备100的其它I/O设备114(例如,鼠标、键盘、磁盘驱动器、视频控制器等)。
处理器102可以支持安全进入(SENTER)指令的执行,以开始创建安全性增强(SE)环境,例如图3的示例SE环境。处理器102还可以支持安全退出(SEXIT)指令,以开始解除SE环境。在一个实施例中,处理器102可以在处理器总线106上发出与SENTER、SEXIT及其它指令的执行相关联的总线消息。在其它实施例中,处理器102还可以包括存储器控制器(未示出),以访问系统存储器108。
处理器102还可以支持一个或多个操作模式,例如,实模式、保护模式、虚拟实模式和虚拟机扩展模式(VMX模式)。此外,处理器102在所支持的每一个操作模式中都可以支持一个或多个优先级或环(ring)。一般而言,处理器102的操作模式和优先级限定了可用于执行的指令和执行这样的指令的效果。更具体而言,仅当处理器102处于适当的模式和/或优先级中时,才可以允许处理器102执行具有一定优先权的指令。
固件112可以包括基本输入/输出系统例程(BIOS)。BIOS可以提供低级例程,在系统启动期间,处理器102可以执行所述低级例程,以启动计算设备100的多个组件,从而开始执行操作系统。令牌110可以包括一个或多个加密密钥和用来记录和报告度量值的一个或多个平台配置寄存器(PCR寄存器)。令牌110可以支持PCR引用(quote)操作,该引用操作返回已标识的PCR寄存器的引用或内容。令牌110还可以支持PCR扩展操作,该扩展操作将接收到的度量值记录在已标识的PCR寄存器中。在一个实施例中,令牌110可以包括受信平台模块(Trusted PlatformModule,TPM),该模块在2001年12月的Trusted Computing PlatformAlliance(TCPA)Main Specification 1.1a版或其他版本中有详细描述。
芯片组104可以包括将处理器102接口到计算设备100的组件的一个或多个芯片或集成电路封装,所述组件例如是计算设备100的系统存储器108、令牌110和其它I/O设备114。在一个实施例中,芯片组104包括存储器控制器116。但是,在其它实施例中,处理器102可以包括存储器控制器116的全部或部分。存储器控制器116可以为计算设备100的其它组件提供访问系统存储器108的接口。此外,芯片组104的存储器控制器116和/或处理器102可以将存储器108的某些区域定义为安全性增强(SE)存储器118。
在一个实施例中,处理器102在处于适当的操作模式(例如保护模式)和优先级(例如0P)的时候只能访问SE存储器118。而且,SE存储器118可以包括受信系统时钟120以保持系统时间。受信系统时钟120可以包括响应系统定时器中断而由处理器102执行的中断服务例程。中断服务例程可能基于系统定时器中断产生的速率来增加受信系统时钟120的系统时间。例如,如果以每毫秒一个系统定时器中断的速率来产生系统定时器中断,中断服务例程可能以每产生一个系统定时器中断就增加一毫秒来增加受信系统时钟120的系统时间。计算设备100可以使用受信系统时钟120的系统时间来给文件打上时间戳,产生周期性中断,产生基于时间的单触发中断,以及调度进程等。此外,计算设备可以使用受信系统时钟来实施用于时间敏感数据的策略。具体地说,计算设备可以对数据实施基于时间的访问限制。例如,计算设备可以在从发送起经过了一段时间(例如一个月)之后禁止读取电子邮件消息。计算设备还可以防止读取托管维护的源代码,直到某特定日期到来。作为另一个例子,计算设备可以防止向财务事务指定早于当前日期和/或时间的日期和/或时间。然而,为了让这些基于时间的访问限制有效,计算设备必须相信系统时钟能抵抗为对攻击者有利而可能变更系统时间的攻击。
芯片组104还可以支持I/O总线上的标准I/O操作,所述I/O总线例如是外围组件互连(PCI)、加速图形端口(AGP)、通用串行总线(USB)、低引脚数(LPC)总线或任何其它种类的I/O总线(未示出)。令牌接口122可以用来将芯片组104与包括一个或多个平台配置寄存器(PCR)的令牌110相连接。在一个实施例中,令牌接口122可以是LPC总线(Low Pin Count(LPC)Interface Specification,英特尔公司,修订版1.0,1997年12月29日)。
芯片组104还可以包括实时时钟(RTC)124以保持壁钟时间,所述壁钟时间包括例如秒、分钟、小时、星期几、日、月和年。RTC 124还可以从电池126接收电源以使得即使当计算设备100处于低功耗状态(例如断电、睡眠状态等)时RTC 124也可以保持壁钟时间。RTC 124还可以基于由外部振荡器128提供的振荡信号来每秒一次地频率更新其壁钟时间。例如,振荡器128可以提供具有32.768千赫兹频率的振荡信号,而RTC124可以将此振荡信号分频以获得具有1赫兹频率的更新信号,用来更新RTC 124的壁钟时间。
芯片组104还可以包括系统定时器103,其以可编程的速率产生用来驱动受信系统时钟120的系统定时器中断。为此,系统定时器130可以包括可被编程来以特定速率产生系统定时器中断的英特尔8254事件定时器、英特尔高性能事件定时器(HPET)或者实时时钟事件定时器。在一个实施例中,系统定时器130可以包括可能用计数值编程的计数器,并且系统定时器130可以在按振荡器132提供的振荡信号的每个周期来更新(例如减二)该计数值。此外,在每次当计数值具有对预定值(例如0)的预定关系(例如相等)时,系统定时器130可以使系统定时器中断(例如IRQ0)在激活状态和禁止状态之间转换。系统定时器130还可以在转换系统定时器中断后重新装入计数值。因此,系统定时器130可以产生一种周期性系统定时器中断,其具有由计数值和振荡器132的频率定义的速率或频率。系统定时器130还可以包括接口134,以对系统定时器中断的速率编程并获得系统定时器中断的速率。在一个实施例中,接口134可以包括一个或多个寄存器,为了获得计数值以及由此获得系统定时器中断的速率,处理器102可以从所述寄存器中读取数据,并且为了设置系统定时器中断的速率,处理器102可以向所述寄存器中写入计数值。在另一个实施例中,处理器102可以通过处理器总线106向接口134提供命令或消息以获得系统定时器中断的速率和/或对系统定时器中断的速率编程。
芯片组104还可以包括系统定时器锁136。当被激活时,系统定时器锁136可以防止系统定时器130的速率被变更。例如,系统定时器锁136可以防止可能改变速率的写入、命令和/或消息到达接口134,或者可以使得接口134忽略这些写入、命令和/或消息。锁136可以位于芯片组104的安全增强(SE)空间(未示出)中。在一个实施例中,处理器102只可以通过执行一个或多个特权指令来改变SE空间的内容。因此,SE环境可以防止处理器102通过非受信代码来变更锁136的内容,其中处理器102是通过将非受信代码分配到不能成功执行此类特权指令的处理器环中来试图变更锁136的内容的。
状态存储装置138可以包括一个位或多个位,可用来存储是否检测到可能的系统时钟攻击的指示。例如,状态存储装置138可以包括单个的位,所述单个的位可以被激活以指示检测到对系统时钟的可能的攻击,也可以被禁止以指示没有检测到可能的系统时钟攻击。在另一个实施例中,状态存储装置138可以包括具有多个位(例如32位)的计数器来存储计数。计数值的改变可以用来指示可能的系统时钟攻击。在另一个实施例中,状态存储装置138可以包括多个位或者多个计数器,它们用来不但确定检测到可能的系统时钟的攻击,还可以指示所检测到的系统时钟攻击的类型。状态存储装置138还可以位于芯片组104的SE空间中,以防止非受信代码变更状态存储装置138的内容。
芯片组104的检测器140可以检测攻击者对受信系统时钟120发起攻击的一个或多个方式,并可以报告是否发生了可能的系统时钟攻击。攻击者可能攻击受信系统时钟120的一个方式是通过接口134改变系统定时器130产生系统定时器中断的速率。尽管一个实施例包括锁136以防止非受信代码改变系统定时器130的速率,但是检测器140仍可以检测通过接口134改变速率的企图。例如,响应于检测到数据被写入到用来对系统定时器130的速率编程的系统定时器接口134的寄存器中,寄存器140可以更新状态存储装置138,以指示已发生可能的系统时钟攻击。类似地,响应于检测到接口134接收到可能使系统定时器130改变其发出系统定时器中断的速率的一个或多个命令或消息,寄存器140可以更新状态存储装置138,以指示可能的系统时钟攻击。在另一实施例中,如果锁136被禁止,检测器140可以确定对接口134的此类访问不是系统时钟攻击,因此让接口134不被锁定。
攻击者可能攻击受信系统时钟120的另一个方式是增大或减小振荡器132的振荡信号的频率或者从系统定时器130去除振荡信号。攻击者可以增大振荡信号的频率,以使得受信系统时钟120走快并指示出超前于正确的壁钟时间的系统时间。类似地,攻击者可以减小振荡信号的频率,以使得受信系统时钟120走慢并指示出滞后于正确的壁钟时间的系统时间。此外,攻击者可以去除振荡信号或者将振荡信号减小至零赫兹,以使得系统时钟120停止更新其系统时间。在一个实施例中,响应于检测到振荡器132的振荡信号不存在,检测器140可以更新状态存储装置138,以指示可能的系统时钟攻击。在另一个实施例中,响应于检测到振荡信号的频率具有对预定值域的预定关系(例如小于一个值、大于一个值和/或不在两个值之间),检测器140可以更新状态存储装置138,以指示可能的系统时钟攻击。为此,检测器140可以包括提供参考振荡信号的自由运行的振荡器,检测器140可以从所述参考振荡信号来确定由振荡器132提供的振荡信号的频率是否具有对预定值域的预定关系。
攻击者可能攻击受信系统时钟120的另一个方式是防止处理器102响应每个系统定时器中断而更新受信系统时钟120的系统时间,由此有效地使得受信系统时钟120走慢或者停止。为此,检测器140可以包括检测受信系统时钟120是否响应每个系统定时器中断而更新的逻辑。此逻辑的实施例如图2中所示。如图所示,检测器140可以包括更新存储装置200以指示是否有受信系统时钟120的更新等待处理。此外,更新存储装置200可以位于芯片组104的SE空间中,以允许受信代码改变更新存储装置200的状态,并防止非受信代码改变更新存储装置200的状态。检测器140还可以包括检测逻辑202,以基于更新存储装置200和产生的系统定时器中断来检测可能的系统时钟攻击。
在一个实施例中,更新存储装置200可以包括单个的位,所述单个的位可以被激活以指示有更新等待解决,并且所述位可以被禁止以指示没有更新等待解决。检测器140可以响应于每个产生的系统定时器中断而激活更新存储装置200,以指示有受信系统时钟120的更新等待解决。此外,在更新受信系统时钟120的系统时间后,受信系统时钟120的中断服务例程可以禁止更新存储装置200以指示更新完成。然后,当更新存储装置200指示更新仍然等待解决时,检测逻辑202可以响应于所发出的系统定时器中断而确定已发生可能的系统时钟攻击。
在另一个实施例中,更新存储装置200可以包括具有计数值的计数器,所述计数值指示从上次更新系统时钟120起已经产生的系统定时器中断的数目。响应于每个所产生的系统定时器中断,检测器140可以增大更新存储装置200的计数器的值,以指示等待解决的系统时钟更新的数目。此外,受信系统时钟120的中断服务例程可以响应于系统定时器中断而从更新存储装置200获得计数值,并且可以基于所获得的计数值来更新受信系统时钟120的系统时间。在更新受信系统时钟120后,中断服务例程还可以相应地更新计数值。例如,中断服务例程可以按照受信系统时钟120的更新所服务的系统定时器中断的数目来减小计数器的值。然后,当更新存储装置200的计数值具有对预定的等待解决的系统时钟更新的数目(例如5)的预定关系(例如超出)时,响应于所发出的系统定时器中断,检测逻辑202可以确定已发生可能的系统时钟攻击。
图3示出了SE环境300的实施例。可以响应于各种事件来启动SE环境300,所述事件例如是系统启动、应用程序请求、操作系统请求等。如图所示,SE环境300可以包括以下部件:受信虚拟机内核或监控器302、一个或多个标准虚拟机(标准VM)304和一个或多个受信虚拟机(受信VM)306。在一个实施例中,操作环境300的监控器302在最优先的处理器环(例如0P)的保护模式中执行,以管理安全性并在虚拟机304、306之间设置屏障。
标准VM 304可以包括操作系统308,该操作系统在VMX模式的最优先的处理器环(例如0D)中执行,标准VM 304还包括一个或多个应用程序310,所述应用程序在VMX模式的较低优先级的处理器环(例如3D)中执行。由于监控器302在其中执行的处理器环比操作系统308在其中执行的处理器环更为优先,所以操作系统308不能自由地控制计算设备100,而是受到监控器302的控制和约束。具体而言,监控器302可以防止诸如操作系统308和应用程序310之类的非受信代码对SE存储器118和令牌110进行直接访问。此外,监控器302可以防止非受信代码直接变更系统定时器130的速率,还可以防止非受信代码变更状态存储装置138和更新存储装置200。
监控器302可以对受信内核312进行一个或多个测量,例如内核代码的加密哈希散列(例如消息摘要5(Message Digest 5,MD 5)、安全哈希散列算法1(Secure Hash Algorithm 1,SHA-1)等),以获取一个或多个度量值,可以使令牌110用内核312的度量值来扩展PCR寄存器,并且可以将所述度量值记录在存储于SE存储器118中的关联PCR日志中。此外,监控器302可以在SE存储器118中建立受信VM 306,并在所建立的受信VM 306中启动受信内核312。
类似地,受信内核312可以对小应用程序(applet)或应用程序314进行一个或多个测量,例如小应用程序代码的加密哈希散列,以获取一个或多个度量值。然后,受信内核312可以经由监控器302来使令牌110用小应用程序314的度量值来扩展PCR寄存器。受信内核312还可以将所述度量值记录在存储于SE存储器118中的关联PCR日志中。此外,受信内核312可以在SE存储器118的所建立的受信VM 306中启动受信小应用程序314。
受信内核312还可以包括受信系统时钟120。如上所述,受信系统时钟120可以包括响应于系统定时器中断而由处理器102执行的中断服务例程。受信系统时钟120可以增大其系统时间,增大量基于系统定时器130周期性地产生系统定时器中断的速率。应当了解到,受信系统时钟120可以位于SE环境300的另一受信模块中。例如,监控器302可以包括受信系统时钟120。在另一个实施例中,受信系统时钟120可以包括位于监控器302中的系统时钟块(system clock nub)316。处理器102可以响应于系统定时器中断而执行系统时钟块316。此外,系统时钟块316可以产生一个或多个中断、信号和/或消息,所述一个或多个中断、信号和/或消息使得处理器102执行受信内核312更新受信系统时钟120的系统时间的代码。系统时钟块316的所述一个或多个中断、信号和/或消息还可以使得处理器102执行操作系统308的代码,所述代码更新非受信操作系统308的非受信系统时钟318。
响应于图3的SE环境300的启动,计算设备100还将监控器302和计算设备100的硬件组件的度量值记录在令牌110的PCR寄存器中。例如,处理器102可以获取硬件标识符,例如处理器102、芯片组104和令牌110的处理器系列、处理器版本、处理器微代码版本、芯片组版本和令牌版本。然后,处理器102可以将所获取的硬件标识符记录在一个或多个PCR寄存器中。
在图4中,示出了响应对受信系统时钟120可能的攻击的示例方法。在方框400中,检测器140可以检测到发生了可能的系统时钟攻击。例如,响应于确定了振荡器132的频率与预定范围具有预定关系、以可能已改变了系统定时器130发送系统定时器中断的速率的方式访问了系统定时器接口134、和/或对受信系统时钟120的等待解决的更新数目与等待解决更新的预定数目具有预定关系,检测器140可以确定发生了可能的系统时钟攻击。在方框402中,检测器140可以更新状态存储装置138,以指示发生了可能的系统时钟攻击。在一个实施例中,检测器140可以通过将状态存储装置138的一个位激活来指示可能的系统时钟攻击。在另一个实施例中,检测器140可以通过更新(例如,增大、减小、设置、重置)状态存储装置138的计数值来指示可能的系统时钟攻击。
在方框404中,监控器302可以基于状态存储装置138来确定是否发生了系统时钟攻击。在一个实施例中,监控器302可以响应于状态存储装置138的一个位的激活而确定发生了系统时钟攻击。在另一个实施例中,监控器302可以响应于状态存储装置138的计数值与期望计数值具有预定关系(例如相等),确定发生了系统时钟攻击。例如,监控器302可以保持在系统复位、系统低功耗或SE环境关闭期间也被保持的期望计数值。监控器302可以将状态存储装置138的计数值与期望计数值相比较,以确定自监控器302上次更新其期望计数值以来,检测器140是否检测到了一次或多次可能的系统时钟攻击。
除了状态存储装置138之外,监控器302还可以基于信任策略来确定是否发生了系统时钟攻击。信任策略可以允许对受信系统时钟120的系统时间的某种调整或改变,否则所述调整或改变会被检测器140标记为可能的系统时钟攻击。例如,状态存储装置138可以指示系统定时器130的速率经由接口134而被改变了。但是,信任策略可以允许处理器102不超过预定量地增加或减小系统定时器130的速率,而不将其定义为系统时钟攻击。虽然信任策略可以允许改变系统定时器130的速率,但是如果在预定时间段内(例如每天、每周、每次系统复位/低功耗)经由接口134进行了超过预定次数(例如1次、2次)的改变,则信任策略可以将这样的改变定义为系统时钟攻击。
在方框406中,监控器302可以响应所检测到的系统时钟攻击。在一个实施例中,监控器302可以基于信任策略进行响应。在一个实施例中,信任策略可以指示SE环境300不包含时间敏感数据和/或当前未在进行时间敏感操作。因此,监控器302可以简单地忽略可能的系统时钟攻击。在另一个实施例中,策略可以指示出监控器302要响应于检测到某些类型的系统时钟攻击而将计算设备100复位或关闭SE环境300,所述某些类型的系统时钟攻击例如是检测到振荡信号的频率具有对预定值域的预定关系,或系统定时器130的速率具有对预定值域的预定关系。在另一个实施例中,监控器302可以给感兴趣的一方提供验证和/或改变受信系统时钟120的系统时间的机会。例如,监控器302可以将受信系统时钟120的系统时间提供给计算设备100的用户和/或时间敏感数据的所有者,并且可以让所述的用户和/或所有者来验证系统时间是正确的和/或将系统时间更新为正确的壁钟时间。
在方框408中,监控器302可以更新状态存储装置138,以去除可能的系统状态攻击的指示。在一个实施例中,监控器302可以禁止状态存储装置138的一个位,以清除可能的RTC攻击的指示。在另一个实施例中,监控器302可以更新其期望计数值和/或状态存储装置138的计数值,以使得所述的期望计数值和状态存储装置138的计数值具有指示未检测到系统时钟攻击的关系。
计算设备100可以响应于机器可读介质的执行指令来执行图4的示例方法的全部或其子集,所述介质例如是只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光学存储介质;闪存设备;和/或电、光、声或其它形式的传播信号,例如载波、红外线信号、数字信号、模拟信号。此外,虽然将图4的示例方法图示为操作序列,但是一些实施例中的计算设备100可以并行地或以不同的顺序执行所述方法的各种所图示的操作。
虽然已经参考示例实施例对本发明的某些特征进行了描述,但是以上说明不应被解释为具有限制意义。那些对本领域技术人员是显而易见的对所述的示例实施例的各种修改,以及本发明的其它实施例都被认为落入本发明的精神和范围之内。

Claims (29)

1.一种和保持系统时间的系统时钟一起使用,以指示出对所述系统时钟的攻击的方法,包括
存储一个指示,用于指示出有对系统时间的更新等待解决,
基于在所存储的指示指示出对所述系统时间的更新仍等待解决的同时接收到系统定时器中断,检测对所述系统时钟的攻击,以及
更新状态存储装置,以指示出对所述系统时钟的攻击。
2.如权利要求1所述的方法,还包括响应于确定了系统时钟以不适当速率被更新,检测对所述系统时钟的攻击。
3.如权利要求1所述的方法,还包括
响应于系统定时器中断,更新所述系统时间,和
响应于检测到改变所述系统定时器中断产生的速率的企图,检测对所述系统时钟的攻击。
4.如权利要求1所述的方法,还包括
响应于系统定时器中断,更新所述系统时间,和
响应于检测到可能改变所述系统定时器发出所述系统定时器中断的速率的、对所述系统定时器的接口的一个或多个访问,检测对所述系统时钟的攻击。
5.如权利要求1所述的方法,还包括
响应于由系统定时器发送的系统定时器中断,更新所述系统时间,和
响应于检测到与所述系统定时器相关的振荡器的频率具有对预定值域的预定关系,检测对所述实时时钟的攻击。
6.如权利要求1所述的方法,还包括
响应于检测到对所述系统时钟的攻击,将所述状态存储装置的一个位激活,和
防止非受信软件禁止所述状态存储装置的所述位。
7.如权利要求1所述的方法,还包括
响应于检测到对所述系统时钟的攻击,更新所述状态存储装置的计数器的计数,以及
防止非受信软件变更所述计数器的计数。
8.如权利要求1所述的方法,还包括
响应于由系统定时器发送的系统定时器中断,更新所述系统时间,和
响应于确定了对所述系统定时器发送所述系统定时器中断的速率的调整具有对预定值域的预定关系,确定未发生攻击。
9.如权利要求1所述的方法,还包括
响应于由系统定时器发送的系统定时器中断,更新所述系统时间,和
响应于确定了已对所述系统定时器发送所述系统定时器中断的速率进行了超过预定次数的调整,确定发生了攻击。
10.一种用于指示出对系统时钟的攻击的芯片组,包括
状态存储装置,以指示是否检测到对系统时钟的攻击,和
检测器,以检测对所述系统时钟的攻击,并基于是否检测到对所述系统时钟的攻击来更新所述状态存储装置,以及
更新存储装置,以存储一个指示,用于指示出是否有对所述系统时钟的更新等待解决,其中所述检测器基于如下情况的发生来检测对所述系统时钟的攻击:在接收到用于更新所述系统时钟的系统定时器中断时,所述更新存储装置所存储的指示指示出有对所述系统时钟的更新等待解决。
11.如权利要求10所述的芯片组,还包括系统定时器以产生中断,其中所述检测器响应于确定了所述系统时钟正以不适当速率被更新,检测到对所述系统时钟的攻击。
12.如权利要求10所述的芯片组,其中所述更新存储装置位于安全性增强空间中,所述安全性增强空间防止非受信代码更新所述更新存储装置。
13.如权利要求10所述的芯片组,其中
所述状态存储装置包括一个位,防止非受信代码禁止所述位,而允许安全性增强环境的受信代码禁止所述位,并且
响应于检测到对所述系统时钟的攻击,所述检测器激活所述状态存储装置的所述位。
14.如权利要求10所述的芯片组,其中
所述状态存储装置包括计数器,防止非受信代码更新所述定时器,而允许安全性增强环境的受信代码禁止所述计数器,并且
响应于检测到对所述系统时钟的攻击,所述检测器更新所述定时器的计数。
15.如权利要求10所述的芯片组,还包括系统定时器锁,响应于被激活,所述系统定时器锁防止所述系统定时器产生所述系统定时器事件的速率被变更。
16.如权利要求15所述的芯片组,其中所述系统定时器锁位于安全性增强空间中,所述安全性增强空间防止非受信代码变更所述系统定时器锁的状态。
17.一种用于指示出对系统时钟的攻击的计算设备,包括
存储器,以存储用于系统定时器中断的中断服务例程,
系统定时器,以产生引发所述中断服务例程的执行的系统定时器中断,
处理器,以响应于执行所述中断服务例程,更新系统时钟的系统时间,
更新存储装置,以存储一个指示,用于指示出是否有对所述系统时钟的更新等待解决,和
检测器,以基于如下情况的发生来检测对所述系统时钟的攻击:在接收到系统定时器中断时,所述更新存储装置所存储的指示指示出有对所述系统时钟的更新等待解决。
18.如权利要求17所述的计算设备,还包括状态存储装置,以指示出是否检测到对所述系统时钟的攻击,其中
所述检测器更新所述状态存储装置,以指示出对所述系统时钟的攻击。
19.如权利要求17所述的计算设备,还包括一个位,以指示出是否检测到对所述系统时钟的攻击,其中
所述检测器将所述位激活,以指示出对所述系统时钟的攻击。
20.如权利要求19所述的计算设备,其中所述位位于安全性增强空间中,所述安全性增强空间防止非受信代码变更所述位的内容。
21.如权利要求17所述的计算设备,还包括外部振荡器,以向所述系统定时器提供振荡信号,其中
所述系统定时器以第一速率产生所述系统定时器事件,所述第一速率基于所述振荡信号的频率,并且
所述检测器响应于确定了所述振荡信号的频率具有对预定值域的预定关系,检测到对所述系统时钟的攻击。
22.如权利要求17所述的计算设备,还包括系统定时器锁,响应于被激活,所述系统定时器锁防止所述系统定时器产生所述系统定时器事件的速率被变更。
23.如权利要求22所述的计算设备,其中所述系统定时器锁位于安全性增强空间中,所述安全性增强空间防止非受信代码变更所述系统定时器锁的状态。
24.如权利要求17所述的计算设备,其中所述中断服务例程包括系统时钟块,其引发一个或多个系统时钟的更新。
25.一种用于指示出对系统时钟的攻击的装置,包括
更新存储装置,以存储一个指示,用于指示出是否有对系统时钟的更新等待解决,和
检测逻辑,以基于所述更新存储装置所存储的指示和一个或多个用于引发所述系统时钟的更新的系统定时器中断,检测对所述系统时钟的攻击,
其中如果在所述更新存储装置所存储的指示指示出有对所述系统时钟的更新等待解决的同时接收到系统定时器中断,则所述检测逻辑确定已发生对所述系统时钟的攻击。
26.如权利要求25所述的装置,其中
所述更新存储装置包括一个位,所述位可以被激活以指示有更新等待解决,并且所述位可以被禁止以指示没有更新等待解决,以及
如果当所述更新存储装置的所述位是激活的同时接收到系统定时器中断,所述检测逻辑确定已发生对所述系统时钟的攻击。
27.如权利要求26所述的装置,其中所述更新存储装置位于安全性增强空间中,所述安全性增强空间防止非受信代码变更所述更新存储装置的内容并允许受信代码变更所述更新存储装置的内容。
28.如权利要求25所述的装置,其中
所述更新存储装置包括计数值,所述计数值表明等待解决的更新的数目,以及
如果所述计数值具有对预定值的预定关系,所述检测逻辑确定已发生对所述系统时钟的攻击。
29.如权利要求28所述的装置,其中所述更新存储装置位于安全性增强空间中,所述安全性增强空间防止非受信代码变更所述更新存储装置的内容并允许受信代码变更所述更新存储装置的内容。
CNB2003101170726A 2002-12-31 2003-12-03 受信系统时钟 Expired - Fee Related CN100374977C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/334,954 2002-12-31
US10/334,954 US7076802B2 (en) 2002-12-31 2002-12-31 Trusted system clock

Publications (2)

Publication Number Publication Date
CN1514324A CN1514324A (zh) 2004-07-21
CN100374977C true CN100374977C (zh) 2008-03-12

Family

ID=32655211

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101170726A Expired - Fee Related CN100374977C (zh) 2002-12-31 2003-12-03 受信系统时钟

Country Status (10)

Country Link
US (1) US7076802B2 (zh)
EP (1) EP1579294B1 (zh)
JP (1) JP4095067B2 (zh)
KR (1) KR100806444B1 (zh)
CN (1) CN100374977C (zh)
AT (1) ATE413656T1 (zh)
AU (1) AU2003293531A1 (zh)
DE (1) DE60324593D1 (zh)
HK (1) HK1076883A1 (zh)
WO (1) WO2004061631A1 (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3563721B2 (ja) 2001-09-21 2004-09-08 株式会社東芝 情報処理装置および同装置で使用される時計表示制御方法
WO2004109455A2 (en) * 2003-05-30 2004-12-16 Privaris, Inc. An in-circuit security system and methods for controlling access to and use of sensitive data
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
US20050133582A1 (en) * 2003-12-22 2005-06-23 Bajikar Sundeep M. Method and apparatus for providing a trusted time stamp in an open platform
US7895448B1 (en) * 2004-02-18 2011-02-22 Symantec Corporation Risk profiling
US7577991B2 (en) * 2004-07-22 2009-08-18 International Business Machines Corporation Method to enhance platform firmware security for logical partition data processing systems by dynamic restriction of available external interfaces
US8327448B2 (en) * 2005-06-22 2012-12-04 Intel Corporation Protected clock management based upon a non-trusted persistent time source
JP4699842B2 (ja) * 2005-09-06 2011-06-15 株式会社日立製作所 ストレージ装置及びデータ移動方法
US7779289B2 (en) * 2006-02-15 2010-08-17 Stmicroelectronics S.A. Methods and data processing systems for sharing a clock between non-secured and secured tasks
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
WO2009094371A1 (en) * 2008-01-22 2009-07-30 Authentium, Inc. Trusted secure desktop
US8959618B2 (en) * 2008-02-05 2015-02-17 Red Hat, Inc. Managing password expiry
GB0802741D0 (en) * 2008-02-14 2008-03-26 Wolfson Microelectronics Plc Secure Clock
DE102008062692B4 (de) * 2008-12-17 2013-11-14 Texas Instruments Deutschland Gmbh Eingebettetes Mikrocontrollersystem und Verfahren zur Konfiguration eines eingebetteten Mikrocontrollersystems mit gesteuertem Schaltmodus
US8490195B1 (en) * 2008-12-19 2013-07-16 Symantec Corporation Method and apparatus for behavioral detection of malware in a computer system
US7996548B2 (en) 2008-12-30 2011-08-09 Intel Corporation Message communication techniques
US8645596B2 (en) * 2008-12-30 2014-02-04 Intel Corporation Interrupt techniques
US8214653B1 (en) 2009-09-04 2012-07-03 Amazon Technologies, Inc. Secured firmware updates
US10177934B1 (en) 2009-09-04 2019-01-08 Amazon Technologies, Inc. Firmware updates inaccessible to guests
US8887144B1 (en) 2009-09-04 2014-11-11 Amazon Technologies, Inc. Firmware updates during limited time period
US9565207B1 (en) 2009-09-04 2017-02-07 Amazon Technologies, Inc. Firmware updates from an external channel
US8601170B1 (en) * 2009-09-08 2013-12-03 Amazon Technologies, Inc. Managing firmware update attempts
US8102881B1 (en) 2009-09-08 2012-01-24 Amazon Technologies, Inc. Streamlined guest networking in a virtualized environment
US8971538B1 (en) 2009-09-08 2015-03-03 Amazon Technologies, Inc. Firmware validation from an external channel
US8300641B1 (en) 2009-09-09 2012-10-30 Amazon Technologies, Inc. Leveraging physical network interface functionality for packet processing
US8640220B1 (en) 2009-09-09 2014-01-28 Amazon Technologies, Inc. Co-operative secure packet management
US8959611B1 (en) 2009-09-09 2015-02-17 Amazon Technologies, Inc. Secure packet management for bare metal access
US8381264B1 (en) 2009-09-10 2013-02-19 Amazon Technologies, Inc. Managing hardware reboot and reset in shared environments
US8886957B2 (en) * 2009-11-09 2014-11-11 3Dlabs Inc. Ltd. Systems, methods, software, and components using tamper-proof real-time clock
US9654467B1 (en) * 2013-03-14 2017-05-16 EMC IP Holding Company LLC Time synchronization solutions for forward-secure one-time authentication tokens
US8813240B1 (en) * 2012-05-30 2014-08-19 Google Inc. Defensive techniques to increase computer security
US9015838B1 (en) * 2012-05-30 2015-04-21 Google Inc. Defensive techniques to increase computer security
CN104573509B (zh) * 2013-10-21 2019-10-29 研祥智能科技股份有限公司 系统时间防护方法和装置
EP2983102A1 (en) * 2014-08-07 2016-02-10 EM Microelectronic-Marin SA Integrated circuit with distributed clock tampering detectors
TWI588638B (zh) * 2015-11-09 2017-06-21 智原科技股份有限公司 電壓調整器的防鎖死電路及其相關電源系統
US10395754B2 (en) * 2016-03-21 2019-08-27 Nandext Srl Method for decoding bits in a solid state drive, and related solid state drive
EP3236383A1 (en) * 2016-04-20 2017-10-25 Gemalto Sa Method for managing a real-time clock in a portable tamper-resistant device
CN106341238A (zh) * 2016-08-10 2017-01-18 深圳奥尼电子股份有限公司 时间控制装置和时间控制方法
CN113009899B (zh) * 2019-12-20 2023-05-16 金卡智能集团股份有限公司 用于计量仪表高精度计时的rtc时钟校准方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148082A (en) * 1998-01-14 2000-11-14 Skystream Corporation Scrambling and descrambling control word control in a remultiplexer for video bearing transport streams
US6393126B1 (en) * 1999-06-23 2002-05-21 Datum, Inc. System and methods for generating trusted and authenticatable time stamps for electronic documents
EP1229424A2 (en) * 2001-02-01 2002-08-07 Chrysalis- ITS Inc. Method and apparatus for synchronizing real-time clocks of time stamping cryptographic modules

Family Cites Families (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US621635A (en) * 1899-03-21 Emerson davis
US18892A (en) * 1857-12-22 Nut-machine
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
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 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
US5001752A (en) * 1989-10-13 1991-03-19 Fischer Addison M Public/key date-time notary facility
CA2010591C (en) * 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
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
US5446904A (en) 1991-05-17 1995-08-29 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor
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 コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
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
US5489095A (en) 1992-07-01 1996-02-06 U.S. Philips Corporation Device for protecting the validity of time sensitive information
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 マイクロコンピュータ
US5444780A (en) 1993-07-22 1995-08-22 International Business Machines Corporation Client/server based secure timekeeping system
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
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5533123A (en) * 1994-06-28 1996-07-02 National Semiconductor Corporation Programmable distributed personal security
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
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
US6269392B1 (en) * 1994-11-15 2001-07-31 Christian Cotichini Method and apparatus to monitor and locate an electronic device using a secured intelligent agent
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
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
US6093213A (en) 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
IL116708A (en) * 1996-01-08 2000-12-06 Smart Link Ltd Real-time task manager for a personal computer
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
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
US5805870A (en) * 1996-06-28 1998-09-08 International Business Machines Corporation System and method for correcting clock drift in multiprocessor systems
US6199152B1 (en) 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5740178A (en) 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US5935242A (en) 1996-10-28 1999-08-10 Sun Microsystems, Inc. Method and apparatus for initializing a device
US6446092B1 (en) * 1996-11-01 2002-09-03 Peerdirect Company Independent distributed database system
DE19649292A1 (de) * 1996-11-28 1998-06-04 Deutsche Telekom Ag Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems
US5901225A (en) * 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
US5818939A (en) * 1996-12-18 1998-10-06 Intel Corporation Optimized security functionality in an electronic system
US6412035B1 (en) * 1997-02-03 2002-06-25 Real Time, Inc. Apparatus and method for decreasing the response times of interrupt service routines
JP4000654B2 (ja) 1997-02-27 2007-10-31 セイコーエプソン株式会社 半導体装置及び電子機器
US6557104B2 (en) * 1997-05-02 2003-04-29 Phoenix Technologies Ltd. Method and apparatus for secure processing of cryptographic keys
US6044478A (en) 1997-05-30 2000-03-28 National Semiconductor Corporation Cache with finely granular locked-down regions
US6175924B1 (en) 1997-06-20 2001-01-16 International Business Machines Corp. Method and apparatus for protecting application data in secure storage areas
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
US5978475A (en) 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
US6212635B1 (en) * 1997-07-18 2001-04-03 David C. Reardon Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place
US5919257A (en) 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
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
US6357004B1 (en) * 1997-09-30 2002-03-12 Intel Corporation System and method for ensuring integrity throughout post-processing
US6061794A (en) * 1997-09-30 2000-05-09 Compaq Computer Corp. System and method for performing secure device communications in a peer-to-peer bus architecture
US5970147A (en) * 1997-09-30 1999-10-19 Intel Corporation System and method for configuring and registering a cryptographic device
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US6108644A (en) 1998-02-19 2000-08-22 At&T Corp. System and method for electronic transactions
US6131166A (en) 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
US6374286B1 (en) * 1998-04-06 2002-04-16 Rockwell Collins, Inc. Real time processor capable of concurrently running multiple independent JAVA machines
US6173417B1 (en) 1998-04-30 2001-01-09 Intel Corporation Initializing and restarting operating systems
US6421702B1 (en) * 1998-06-09 2002-07-16 Advanced Micro Devices, Inc. Interrupt driven isochronous task scheduler system
US6363485B1 (en) * 1998-09-09 2002-03-26 Entrust Technologies Limited Multi-factor biometric authenticating device and method
US6463535B1 (en) * 1998-10-05 2002-10-08 Intel Corporation System and method for verifying the integrity and authorization of software before execution in a local platform
US6327652B1 (en) 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6609199B1 (en) 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6330670B1 (en) * 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6445797B1 (en) * 1998-12-16 2002-09-03 Secure Choice Llc Method and system for performing secure electronic digital streaming
US6463537B1 (en) * 1999-01-04 2002-10-08 Codex Technologies, Inc. Modified computer motherboard security and identification system
US6282650B1 (en) 1999-01-25 2001-08-28 Intel Corporation Secure public digital watermark
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6560627B1 (en) 1999-01-28 2003-05-06 Cisco Technology, Inc. Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore
US6188257B1 (en) 1999-02-01 2001-02-13 Vlsi Technology, Inc. Power-on-reset logic with secure power down capability
US6553496B1 (en) * 1999-02-01 2003-04-22 Koninklijke Philips Electronics N.V. Integration of security modules on an integrated circuit
US6615278B1 (en) 1999-03-29 2003-09-02 International Business Machines Corporation Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment
US6389537B1 (en) * 1999-04-23 2002-05-14 Intel Corporation Platform and method for assuring integrity of trusted agent communications
US6275933B1 (en) 1999-04-30 2001-08-14 3Com Corporation Security system for a computerized apparatus
US6633981B1 (en) * 1999-06-18 2003-10-14 Intel Corporation Electronic system and method for controlling access through user authentication
US6529909B1 (en) 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
JP2001148344A (ja) * 1999-09-09 2001-05-29 Nikon Corp 露光装置、エネルギ源の出力制御方法、該方法を用いるレーザ装置、及びデバイス製造方法
US6535988B1 (en) * 1999-09-29 2003-03-18 Intel Corporation System for detecting over-clocking uses a reference signal thereafter preventing over-clocking by reducing clock rate
US6507904B1 (en) * 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US6633963B1 (en) * 2000-03-31 2003-10-14 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US20030018892A1 (en) * 2001-07-19 2003-01-23 Jose Tello Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148082A (en) * 1998-01-14 2000-11-14 Skystream Corporation Scrambling and descrambling control word control in a remultiplexer for video bearing transport streams
US6393126B1 (en) * 1999-06-23 2002-05-21 Datum, Inc. System and methods for generating trusted and authenticatable time stamps for electronic documents
EP1229424A2 (en) * 2001-02-01 2002-08-07 Chrysalis- ITS Inc. Method and apparatus for synchronizing real-time clocks of time stamping cryptographic modules

Also Published As

Publication number Publication date
DE60324593D1 (de) 2008-12-18
JP2006512677A (ja) 2006-04-13
ATE413656T1 (de) 2008-11-15
WO2004061631A1 (en) 2004-07-22
JP4095067B2 (ja) 2008-06-04
US20040128549A1 (en) 2004-07-01
CN1514324A (zh) 2004-07-21
KR20050087875A (ko) 2005-08-31
US7076802B2 (en) 2006-07-11
HK1076883A1 (en) 2006-01-27
EP1579294A1 (en) 2005-09-28
AU2003293531A1 (en) 2004-07-29
KR100806444B1 (ko) 2008-02-21
EP1579294B1 (en) 2008-11-05

Similar Documents

Publication Publication Date Title
CN100374977C (zh) 受信系统时钟
CN1248083C (zh) 受信实时时钟
US11809544B2 (en) Remote attestation for multi-core processor
CA2509579C (en) Systems and methods for detecting a security breach in a computer system
US20180373878A1 (en) Secure boot for multi-core processor
TW201437916A (zh) 用以執行保全嵌入式容器之處理器擴充技術(二)
EP3646224B1 (en) Secure key storage for multi-core processor
US20150089213A1 (en) Information processing apparatus, information processing system, and computer program product
KR20140054003A (ko) Arm? trustzone™ 구현을 위한 펌웨어 기반 신뢰 플랫폼 모듈
WO2013101248A1 (en) Hardware protection of virtual machine monitor runtime integrity watcher
JP7112449B2 (ja) 強制自己認証機能を備えたコンピューターシステム
Heins Device Design

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

Granted publication date: 20080312

Termination date: 20181203