专利名称:基于不可信持久时间源的受保护时钟管理的制作方法
技术领域:
本发明属于平台管理领域。更具体地,本发明涉及用于基
于不可信但持久的时间源为受保护时钟保持可信时间的方法和装置。
背景技术:
计算机的应用和相对低成本计算机解决方案的开发导致在 用于个人和商业相关活动等许多方面对于计算机和网络资源的依赖。 例如,如远程办公、获取新闻和股票市场信息、交易、银行业务、购 物、航运、IP语音(VoiceIP)(参见国际电信联盟(ITU) 2000年11月 公布的题为"基于分组的多媒体通信系统"的推荐标准H.323,可从 "www.itu.int" ( "H.323规范")得到)和email形式的通信以及其 它服务这样的商业严重依赖于计算机。甚至对许多个人而言,个人计 算机是其谋生的基本工具。利用个人计算机通过网络进行商业交易的关键问题是精确 时间的维持。维持精确时间不但直接影响例如经由安全证书的交易安 全,而且直接影响维持计算机系统正确操作的能力。例如,Kerberos 是一种网络认证协议,其使用强大的密码技术,使得客户机能够经由 不安全的网络连接向服务器证明其身份,反之亦然。具体而言, Kerberos认证系统使用一系列加密消息,以向检验器证明客户机代表 特定用户在运行。检验器检查消息上的时间戳,以保证认证者是新的。 如果时间戳在规定时间窗口 (典型为以检验器上当前时间为中心的五 分钟范围)内,那么检验器可以接受消息为可靠的。然而,如果在例 如检验器或消息上的系统时间不准确,并且导致时间戳看起来在例如 五分钟之前,那么检验器将不认为消息是新的,并将拒绝消息。作为进一步的说明,系统管理员可以审査系统日志和出错
日志,以找到计算机系统上问题的源。然而,如果对于系统事件的时 间指示并不准确,更不用说精确,那么系统管理员将会更加困难地去 试图找出问题的源。这种情形在系统日志来自例如网络服务器、出错
日志来自工作站以及这两个日志中的一个或两个具有不准确的时间 戳时更加严重。因而,系统管理员可能不会把工作站处的事件与网络 服务器处的事件联系起来。随着计算机和网络快速增加而演变出的问题是诸如黑客的
不可信用户,其直接地或经由软件、病毒以及蠕虫远程地与计算机系 统交互。 一个普遍的策略是修改计算机网络中一个或多个系统的时 间。将工作站上的时间修改到若干年以前,可以允许黑客经由过期的 安全证书访问网络上的保密数据。这种攻击归类为渗透攻击。另一方面,将系统时间修改为若干年之后,能够导致系统 拒绝来自其它可信用户的有效证书。这种攻击通常称作拒绝服务攻 击,它们能够表面上冻结特定计算机系统的通信并且可能遍及整个网 络。例如,Kerberos认证协议要求彼此的时钟同步在几分钟内,所以 若攻击者能够将其中一个或两个时钟修改仅仅几分钟,则能够成功地 执行"拒绝服务攻击"。当前的解决方案包括阻止不可信用户经由直接通信、病毒 或蠕虫进行远程访问的安全措施,但是随着可用安全措施的改善,攻 击者实施更精密的策略来对付安全措施。解决方案还可以建立单一的 可信时间源。单一的可信时间源是针对网络而建立的,因为各个单独 工作站上的系统时间能够被其它不可信源修改,包括工作站的指定用 户可以有意或无意地访问系统时间。然而,建立单一的可信时间源来 访问用于验证证书和创建日志的时间指示,要求每个计算机系统每次 都访问时间源或至少经常访问时间源,以减少有关利用不可信时间源 的问题。让网络上每台计算机通过访问可信时间源的时间来验证安全 证书和创建日志,能够显著地影响带宽以及处理交易的延时。
本发明实施例的优点将在阅读以下详细描述并参考附图之
后变得显然,其中相同附图标记可以指示相似元件。其中
图l描绘了一个系统的实施例,该系统包括具有用于经由不可信 实时时钟(RTC)维持受保护时钟上可信时间的嵌入式可管理装置的计
算机;
图2描绘了一个具有管理固件和专用硬件的计算平台的实施例; 图3描述了用可信时间初始化受保护时钟的实施例的流程图4描绘了响应于对不可信时钟的时间设置的修改而更新受保 护时钟的实施例的流程图5描绘了在计算系统断电时导致受保护时钟掉电后,用可信时 间重设受保护时钟的实施例的流程图。
具体实施例方式以下详细描述附图所描绘的本发明的示例实施例。示例实 施例的详细程度以清楚表达本发明为准。然而,所提供的细节量并不 旨在限制实施例的预期变化,与此相反,本发明旨在涵盖所有属于如 随附权利要求所定义的本发明的精神和范围内的修改、等价以及替 代。下面的详细描述旨在使得实施例对于本领域的普通技术人员而言 是容易理解的。—般而言,提出了基于不可信但持久的吋间源保持受保护 时钟的可信时间的方法和装置。实施例可以包括可以是硬件、软件、 固件和/或其它逻辑的嵌入式装置,用于维持受保护时钟中的可信时 间。嵌入式装置可以通过从诸如网络服务器的可信时间源获得可信时 间来初始化受保护时钟。然后,嵌入式装置通过监测受保护时钟和不 可信但持久的系统时钟之间时间差,在受保护时钟掉电的情况下维持 可信时间。例如,在一些实施例中,嵌入式装置可以在不可信系统时 钟被修改时接收中断,并且作为响应,更新可信时间和系统时间之间 的时间差。然后,嵌入式装置将该时间差存储于非易失性存储器中, 以防掉电。许多实施例有利地利用没有备用电池的受保护时钟,以节 省制造成本和空间,但是在掉电情况下仍可以依靠用于不可信系统时
钟的备用电池来维持可信时间。具体而言,不可信系统时钟在这种掉 电情况下可能实质上是不能访问的,所以嵌入式装置只有在电力恢复 时才可以依靠系统时钟所指示的持久时间的精确度。虽然下列详细讨论中的某些部分参考嵌入式可管理装置和 管理固件描述了本发明的实施例,但是本领域的普通技术人员将认识 到可以通过例如限制对可信代码和/或装置的受保护时钟的访问的安 全分区或其它安全环境,来实现各种实施例。现在来看附图,图1描述一种系统100的实施例,系统100 包括具有用于经由不可信实时时钟(RTC)124维持受保护时钟130上 可信时间的嵌入式可管理装置126的计算机120。系统100包括计算 机120、计算机140、网络150、可信时间源160以及信息技术(IT) 控制台170。计算机120可以是诸如台式计算机或膝上型计算机的个人 计算机,用户IIO经由例如显示器、键盘以及鼠标来直接访问计算机 120。计算机120还可耦合到网络150,以使得用户访问电子邮件、 网络资源,以及在一些实施例中,由连接到网络150的其它计算机诸 如计算机140来远程访问。用户IIO可以通过直接访问时钟设置或通 过执行代码,来有意或无意地设置计算机120的系统时间。该时间设 置可以与连接到网络150的其它计算机所使用的时间源偏移,可以由 于计算机的时区差别而偏移、或相对于过去或将来的日期偏移。在任 何情况下,对于关联系统日志、验证安全证书和/或诸如此类的目的, RTC 124的时间指示可能是不精确的。计算机120可以包括用户接口 122、 RTC 124、嵌入式可管 理装置126、闪速存储器128以及受保护RTC 130。用户接口 122可 以是耦合到RTC 124的不可信接口,便于修改不可信时间源的系统时 间。例如,用户接口 122可以是可经由窗口访问的系统优选项,该窗 口允许用户110设置RTC 124的时间和日期。具体而言,用户接口 122可以包括存储于诸如动态随机访问存储器(DRAM)123或其它存 储器的存储器中的代码。该代码在被执行时,可以与用户110、计算 机140或其它不可信时间源交互,以为RTC 124确定新的时间。然后,
用户接口 122的硬件可以用新的时间来设置RTC 124。RTC 124是即使在计算机120关闭时仍跟踪时间的时钟, 因而维持持久时间。RTC 124依靠没有连接到正常电源的特殊电池或 其它储能装置运行。与此相反,诸如受保护RTC130的时钟,在计算 机关闭时不工作。在其它实施例中,RTC124可以由电池支持,并且 在正常电源可用时使用正常电源运行。嵌入式可管理装置126可以是具有固件的嵌入式装置,其 允许加密和持久的器材管理以及经由诸如IT管理控制台170的管理 控制台的远程诊断/恢复能力。在本实施例中,嵌入式可管理装置126 可以耦合到RTC 124,以确定来自RTC 124的系统时间和来自受保护 RTC 130的可信时间之间的可信时间差。那么,在受保护RTC 130发 生掉电的情况下,嵌入式可管理装置126可以基于系统时间和可信时 间差来设置可信时间。嵌入式可管理装置126可以将时间差存储在诸如闪速存储 器128的非易失性存储器中,并且设置受保护RTC 130的可信时间。 在多个实施例中,闪速存储器128和受保护RTC 130是由嵌入式可管 理装置126所管理的专用硬件。在另一个实施例中,闪速存储器128 和/或受保护的RTC 130是嵌入式可管理装置126的一部分。在其它实施例中,可以将闪速存储器128的一部分分配给 嵌入式可管理装置126,并且保护该部分使之免于经由计算机120的 安全环境被破坏。例如,计算机120的存储控制集线器可以便于经由 可信的或经认证的代码和/或经由诸如嵌入式可管理装置126的可信 组件,来访问分配给嵌入式可管理装置126的该部分闪速存储器。受保护RTC 130可以维持可信时间,并且嵌入式可管理装 置126可以管理与受保护RTC 130的通信,以防止不可信时间源对可 信时间的修改,该不可信时间源诸如用户110和如计算机140的远程 计算机。在许多实施例中,受保护RTC130没有备用电池,其优势是 节省了提供并维持与专用于RTC 124的特殊电池分开的专用电池所 消耗的空间和成本。例如,当计算机120第一次启动时,嵌入式可管 理装置126可以与可信时间源160通信,以获得可信时间。然后,嵌
入式可管理装置126可以用该可信时间来设置受保护RTC 130,并且 经由RTC 124的持久时间来维持可信时间。网络150是耦合计算机120和140、可信时间源160以及 IT管理控制台170的诸如局域网或广域网的网络连接,以便于通信。 在一些实施例中,网络150可以包括在办公室中经由以太网、像 OptiConnect —样的光学介质、无线网络等耦合的网络。在多个实施 例中,网络150还经由电缆调制解调器、数字用户线(DSL)、 Tl线、 T3线等耦合到因特网。在另一些实施例中,网络150可以包括临时 连接的网络,诸如经由电话系统连接。可信时间源160可以是安全源,其基于为嵌入式可管理装 置126配置的认证信息而与嵌入式可管理装置126成功认证。认证信 息可以是,例如,用作超文本传输协议(HTTP)认证一部分的用户名/ 密码对,或由嵌入式可管理装置126相信的根证书颁发机构(CA)签署 的传输层安全(TLS)客户机/服务器证书。TLS是一种系统,其保护利 用公/私密钥对和密码证书的因特网通信协议的安全,密码证书将可 信时间源的身份捆绑到公共密钥上。在一些实施例中,可信时间源 160可以是IT管理控制台170的一部分。信息技术(IT)控制台170可以维持诸如计算机120和140 的器材的清单和位置以及进行远程诊断,并且恢复诸如计算机120和 140的器材的操作。例如,嵌入式可管理装置126可以耦合到计算机 120的持久存储器,例如闪速存储器128,以即使在计算机120断电 时访问事件日志和出错日志。在多个实施例中,IT管理控制台170 可以经由嵌入式可管理装置126上电并启动计算机120,以例如安装 软件更新,为安装在计算机120上的软件编目录,以及为计算机120 内诸如存储卡、硬盘驱动器、光盘驱动器等的器材编清单。图2说明了一种计算平台200的实施例,该计算平台200 具有管理固件250和嵌入式装置硬件260,以基于不可信但持久的时 间源RTC244为受保护时钟260保持可信时间264。例如,平台200 可以是用于新公司工程任务的许多计算机之一。平台200 —旦连接到 工程场地处的内联网或局域网(LAN),就可与中央服务器通信,以经
内联网地址报告平台200的物理位置,接收用于标准工程软件的软件 更新,并且下载分配给该工程场地的特定软件。平台200还可以经由 LAN与可信时间源通信。在其它实施例中,因为在将平台200移动 到该新的工程场地时由电池248维持RTC 244的系统时间264,所以 平台200在启动时可以基于可信时间差272来简单地更新受保护时钟 262的可信时间264。计算平台200可以是诸如工作站或服务器的个人计算机, 并且可以包括宿主系统210、硬件240、管理固件250以及嵌入式装 置硬件260。宿主系统210可以包括作为用于用户的一个或多个应用 程序的宿主而操作的软件。具体而言,基本输入输出系统(BIOS 230) 可以执行基本功能,诸如对系统存储器的完整性检验和在向操作系统 225传输控制前的初始程序加载(IPL)。在许多实施例中,用户可以经 由BIOS 230的接口访问RTC 246,以在IPL之前或期间设置系统时 间244。RTC 244可以位于例如硬件240的输入输出(I/0)控制集线 器中,并且I/0控制集线器可以包括中断发生器242,用于响应于改 变系统时间246的请求而产生中断请求(IRQ)。例如,中断发生器242 可以产生IRQ,并且经由诸如INTEL 8259中断控制器或集成在芯 片组上的类似逻辑电路的中断控制器,传输IRQ到嵌入式装置固件 252。在其它实施例中,中断发生器242可以产生消息信号中断(MSI), 其以类似于写交易的方式将其传送到嵌入式装置固件252。在另一些 实施例中,中断发生器242可以位于其它硬件和/或软件中。操作系统225可以是大的、相对复杂的低级软件,其作为 用于应用程序220的硬件240的接口。例如,操作系统225可以是 Windows(95、 98、 NT、 ME、 2000、 XP)、 Macintosh OS X、 Li丽、 Unix(Solaris、 AIX、 HP-UX等)等等的版本。类似于BIOS 230,操作 系统225可以提供用户接口,以便于用户对系统时间246的修改。操 作系统225可以通过内嵌在操作系统225或应用程序220中的优选面 板(preference panels)提供用于系统时间246的接口。在一些实施例中,操作系统225可以在例如电池248耗尽
或没有充足的功率来维持RTC 244时,有利地利用可信时间264代替 系统时间246。在这个实施例中,嵌入式装置固件252或操作系统225 还可以产生指示电池248故障的报警。嵌入式装置固件252和/或操 作系统225可以把报警记录在出错日志中,经由网络接口 280发送该 报警到远程管理系统,和/或经由例如耦合到平台200的显示器上的 报警信息将该故障通知给用户。应用程序220是较高级软件,其为用户执行更复杂的功能, 诸如文字处理、图形说明、视频编辑以及其它高级功能。应用程序 220可以包括证书验证器222,其与受保护时钟262通信。具体而言, 证书验证器222可以基于可信时间264来验证安全证书,以提供远程 用户对例如硬盘驱动器或平台200上的其它数据存储器的访问。例 如,平台200可以维持与用于工程各阶段的预算估计有关的工程数 据,并且远程用户可以通过提供尚未过期的、可信的、经认证的安全 证书来访问预算数据。响应于这种请求,证书验证器222可以与嵌入 式装置固件252通信,以读取可信时间264来验证安全证书。管理固件250可以是安全环境,其限制与不可信软件或其 它代码的通信,也限制与可信经认证代码的通信,但是程度较轻。在 本实施例中,管理固件250包括嵌入式装置固件252,用于管理与嵌 入式装置硬件260的通信。在一些实施例中,嵌入式装置固件252可 以内嵌在嵌入式可管理装置中,该嵌入式可管理装置还可以包括嵌入 式装置硬件260的一些元件。例如,诸如操作系统225和证书验证器 222的不可信代码可以得到允许,以读取受保护时钟262的可信时间 264,但是可能无权改变可信时间264。另一方面,嵌入式装置固件 252是可信的经验证的代码,其可以在特定条件下修改可信时间264。嵌入式装置固件252可以包括初始时间设置器254、时钟 比较器256以及可信时间确定器258。初始时间设置器254经由网络 接口 280与可信时间源通信,以获得可信时间264,来设置平台200 第一次启动时的受保护时钟262。在一些实施例中,管理固件250可 以不允许初始时间设置器254用新的设置修改可信时间264,除非平 台200刚刚启动。
时钟比较器256对来自中断发生器242的中断做出响应, 该中断指示用户用新的系统吋间246来设置RTC244。在接收到中断 时,时钟比较器256可以基于可信时间264和新的系统时间246来更 新非易失性存储器270中的可信时间差272。例如,在新的工程场地 处,用户可以登录并将系统时间246修改两小时,这是平台200的原 始位置和新的工程场地之间时区的差别。中断发生器242在更新系统 时间246时发送中断请求到嵌入式装置固件252。响应于该中断请求, 时钟比较器256可以用新的系统时间244减去可信时间264,以确定 两小时的新的可信时间差272。然后,时钟比较器256可以将两小时 的指示存储在非易失性存储器270的可信时间差272中。可信时间确定器258可以是可信的经认证的代码,其被允 许在受保护时钟262掉电的情况下更新受保护时钟262的可信时间 264。具体而言,当正常电源266 (其为平台200的主电源)在掉电 后恢复并且平台200启动时,可信时间确定器258确定可信时间272。 为了确定可信时间272,可信时间确定器258可以在不可信源能够经 由BIOS 230建立访问以修改系统时间246前读取系统时间246。不 可信源可以是例如代码或用户。可信时间确定器258可以读取系统时 间246来确定可信时间272,因为系统时间246有利地是由电池248 在掉电期间维持的。然后,可信时间确定器258将非易失性存储器 270中的可信时间差272加到系统时间246上,以计算可信时间264。 因此,可信时间确定器258将用可信时间264设置受保护时钟262。嵌入式装置硬件260可以是由管理固件250管理的平台 200的硬件,用于嵌入式装置固件252使用。在一些实施例中,嵌入 式装置硬件260的部分或全部可以内嵌在嵌入式可管理装置中。嵌入式装置硬件260可以包括受保护时钟262、非易失性 存储器270以及网络接口 280。受保护时钟262可以是在经由正常电 源266供电时维持可信时间264的电路。非易失性存储器270可以是 任何形式的可写入存储器,其能够在没有供电情况下维持数据。例如, 非易失性存储器270可以包括闪速存储器、电可擦只读存储器和/或 其它等等。网络接口 280可以包括提供访问网络的端口。例如,网络 接口 280可以包括硬件连接或设备,以利用以太网电缆、光学介质、 无线网络等等来物理连接平台200。图3描绘了用可信时间初始化受保护时钟的实施例的流程 图300。具体而言,流程图300描述了诸如图2中平台200的计算机 的功能。流程图300开始于第一次启动计算机(要素310)。例如, 计算机可以刚到达,用户将计算机插到电源插口中并按下电源幵关。—旦计算机上电,嵌入式可管理装置可以发送用于受保护 时钟更新的请求到可信时间源(要素315)。可信时间源可以用通过 私钥加密的消息(包括可信时间)和安全证书来响应。安全证书包括 可信时间源的身份,并且由可信证书颁发机构签署。—旦接收到加密消息,嵌入式可管理装置通过用该可信时 间源的公钥解密该消息来认证该消息(要素320)。对消息进行解密 来获得可信时间。然后,嵌入式可管理装置可以读取来自系统时钟的系统时 间(要素325),并且基于可信时间和系统时间,确定可信时间差(要 素330)。在许多实施例中,嵌入式可管理装置用系统时间减去可信 时间,以确定可信时间差。然后,嵌入式可管理装置将可信时间差存 储在非易失性存储器中(要素335)。嵌入式可管理装置在确定可信时间差的同时,还可以基本 上同步地用可信时间设置受保护时钟(要素340)。在其它实施例中, 嵌入式可管理装置在确定和/或存储可信时间差之前或之后设置受保 护时钟。图4描绘了响应于对不可信系统时钟的时间设置的修改而 更新受保护时钟的实施例的流程图400。具体而言,流程图400描述 了诸如图2中嵌入式装置固件252的嵌入式可管理装置的功能。流程 图400开始于接收中断,该中断指示对系统时钟的已更新系统时间的 存储(要素410)。在其它实施例中,嵌入式可管理装置接收中断请 求之外的通信,其指示系统时间正在被修改。响应于接收到中断,嵌入式可管理装置读取已更新的系统
时间(要素415)。在一些实施例中,嵌入式可管理装置可以产生读
请求,以确定系统时钟的已更新系统时间。在其它实施例中,嵌入式 存储器装置可以有更直接的方法来确定已更新的系统时间。用已更新的系统时间,嵌入式可管理装置基于来自受保护 时钟的可信时间来确定新的可信时间差(要素420)。具体而言,嵌 入式可管理装置可以用可信时间减去已更新的系统时间,或反之亦 然,以确定可信时间差。在确定新的时间差后,嵌入式装置可以从非易失性存储器 读取当前的可信时间差(要素425)。如果新的时间差显著不同于当 前的时间差,那么嵌入式可管理装置可以将新的时间差写入到非易失 性存储器中。该差别的显著性与所维持的时间的粒度有关,例如为了 确定安全证书是否过期、维持出错日志和/或诸如此类等等所维持的 时间的粒度。例如,在一些实施例中,如果新的可信时间差和当前的 可信时间差之间的差别不超过诸如一个小时的阈值(要素430),那 么嵌入式可管理装置可以忽略该改变,以有利于延长非易失性存储器 的寿命。另一方面,如果新的可信时间差和当前的可信时间差之间 的差别超过阈值(要素430),那么嵌入式可管理装置可以用新的可 信时间差更新非易失性存储器中的时间差(要素435)。现在参照图5,示出了在计算系统断电的同时受保护时钟 发生掉电后,用可信时间来重设受保护时钟的实施例的流程图500。 流程图500可以描述诸如图1中计算机120的计算系统的功能。流程 图500开始于在掉电之后启动计算系统(要素510)。例如,用户可 以经电源板关闭系统,切断供给受保护时钟的功率。对于电池或其它 储能装置不支持受保护时钟的实施例而言,受保护时钟所维持的可信 时间丢失。然后,当用户准^"再次使用该系统工作时,用户可以重新 启动该系统。 '当BIOS加载时但是在用户能够访问BIOS来改变系统时 间之前,嵌入式可管理系统可以从系统时钟读取系统时间(要素515)。 例如,嵌入式可管理装置可以等待BIOS建立读取系统时钟的功能,然后,在不可信用户有时间向系统时钟写入新的时间之前读取系统时 钟。在其它实施例中,嵌入式可管理装置能够在BIOS加载前读取系 统时钟。在读取系统时间后,嵌入式可管理装置可以基于系统时间 和存储在非易失性存储器中的可信时间差来确定新的可信时间(要素 520)。换言之,嵌入式可管理系统读取掉电之前建立的可信时间差, 并且在恢复电力之后立刻基于系统时间计算新的可信时间,以确保由 系统时间精确反映掉电期间流逝的时间。因而,嵌入式可管理装置有 利地利用了系统时钟在系统断开电源时保持时间的能力。—旦通过系统时间和可信时间差确定了新的可信时间,嵌 入式可管理装置用新的可信时间设置受保护时钟(要素525)。例如, 嵌入式可管理装置可以将可信时间差加到系统时间上,以确定新的可 信时间。本发明的一个实施例实现为用于例如图1中所示系统100 的计算机系统的程序产品。程序产品中的程序定义了各种实施例的功 能(包括在此所述的方法),并且能够包含在各种信号承载介质上。 说明性的信号承载介质包括但不限于(i )永久存储在非可写存储介 质(如,计算机中的只读存储器装置,例如CD-ROM驱动器可读的 CD-ROM盘)上的信息;(ii)存储在可写存储介质(如,硬盘驱动器 或软盘驱动器内的软盘)上的可改变信息;以及(iii)通过包括无线通 信的通信媒介,例如通过计算机或电话网络,传送到计算机的信息。 后者的实施例特别包括从因特网和其它网络下载的信息。这种信号承 载介质在携带控制本发明功能的机器可存取指令时,代表本发明的实 施例。通常,实现本发明实施例所执行的例程可以是操作系统或 特定应用程序的一部分、组件、程序、模块、对象或指令序列。本发 明的计算机程序典型包括多条指令,其将由本地计算机翻译成机器可 存取格式,并且因此变成可执行指令。并且,程序包括变量和数据结 构,位于该程序本地中,或可在存储器或存储装置上找到。此外,在 此后所述的各种程序可以基于本发明特定实施例中实现这些程序所
对应的应用来识别。然而,应当理解的是,任何特殊的程序命名仅用 于方便起见,因而本发明并不限于仅仅在由这种命名所识别和/或暗 示的任何特定应用中使用。对于本领域受益于本公开的技术人员而言显而易见的是, 本发明提供了基于不可信但持久的时间源为受保护时钟保持可信时 间的系统和装置。应理解的是,详细描述和附图中所描述和显示的本 发明的形式仅作为实例。下面的权利要求旨在从广义上解释以包括所 公开实施例的全部变形。虽然本发明及其一些优点已经在一些实施例中进行了详细 描述,但是应理解的是,在不脱离所附权利要求所定义的本发明的精 神和范围的情况下,在此能够作出各种改变、替代和改造。虽然本发 明的实施例可以实现多个目的,但是并不是每个落在所附权利要求范 围内的实施例都将实现每个目的。此外,本申请的范围并不是旨在限 制说明书中所描述的作为特定实施例的过程、机器、制造、物质组成、 装置、方法以及步骤。因为本领域中普通技术人员从本发明的公开中 将容易理解,根据本发明可以利用目前存在或以后将开发的过程、机
器、制造、物质组成、装置、方法或步骤,来执行在此所述的相应实 施例实质上相同的功能或实现实质上相同的结果。因此,所附权利要 求旨在在其范围内包括这种过程、机器、制造、物质组成、装置、方 法或步骤。
权利要求
1、一种方法,包括将可信时间与持久时间进行比较,以确定可信时间差,所述持久时间可被不可信时间源访问;将所述时间差存储在非易失性存储器中,所述非易失性存储器受到保护使之不被所述不可信时间源修改;以及响应于由于受保护时钟掉电而丢失所述可信时间,用基于所述持久时间和所述可信时间差的所述可信时间来设置所述受保护时钟。
2、 根据权利要求1所述的方法,进一步包括响应于对所述持 久时间的修改而对所述可信时间差进行更新。
3、 根据权利要求2所述的方法,其中,对所述可信时间差进行更新包括基于来自系统时钟的修改的持久时间和来自所述受保护时钟的当前的可信时间,来确定新的时间差,并且将所述新的时间差存 储在所述非易失性存储器中。
4、 根据权利要求3所述的方法,其中,将所述新的时间差存储 在所述非易失性存储器中包括如果所述新的时间差超过阈值时间 差,那么存储所述新的时间差。
5、 根据权利要求1所述的方法,进一步包括当启动使用所述系统时钟的计算系统时、并在所述不可信源能够经由所述计算系统访 问所述系统时钟之前,确定所述可信时间差。
6、 根据权利要求1所述的方法,进一步包括响应于确定用于保持所述持久时间的储能装置已实质上耗尽,而产生报警消息。
7、 根据权利要求1所述的方法,进一步包括与可信时间源进行通信,以确定所述可信时间来初始设置所述受保护时钟。
8、 根据权利要求1所述的方法,进一步包括读取所述受保护 时钟,以验证安全证书。
9、 根据权利要求1所述的方法,进一步包括读取所述可信时 间,以产生事件日志的项。
10、 一种设备,其包括受保护时钟,其维持可信时间,所述受保护时钟受到保护使之不 被不可信时间源修改;时钟比较器,其耦合到系统时钟,以基于来自所述系统时钟的系 统时间和所述可信时间来确定可信时间差;非易失性存储器,其耦合到所述时钟比较器,以存储所述可信时间差;以及可信时间确定器,其响应于所述受保护时钟掉电,而基于所述系 统时间和所述可信时间差,来设置所述受保护时钟的所述可信时间。
11、 根据权利要求IO所述的设备,进一步包括初始时间设置 器,其耦合到网络接口,以与可信时间源通信,从而至少一次用所述 可信时间来设置所述受保护时钟。
12、 根据权利要求10所述的设备,进一步包括证书验证器, 其耦合到所述受保护时钟,其中,所述证书验证器基于所述可信时间 来验证安全证书。
13、 根据权利要求10所述的设备,其中,所述受保护时钟耦合 到正常电源,以维持所述可信时间。
14、 根据权利要求10所述的设备,其中,所述时钟比较器响应于指示用新的系统时间设置所述系统时钟的中断,基于所述可信时间 和所述新的系统时间来更新所述可信时间差。
15、 根据权利要求10所述的设备,其中,所述时钟比较器响应 于所述中断,以当所述新的系统时间和所述系统时间之间的差超过阈 值时间差时,更新所述可信时间差。
16、 根据权利要求10所述的设备,其中,所述可信时间确定器 当启动包含所述系统时钟的计算系统时、并在所述不可信时间源能够 经由所述计算系统访问所述系统时钟之前,确定所述可信时间差。
17、 一种系统,其包括 系统时钟,其维持持久时间;耦合到所述系统时钟的接口 ,其便于不可信时间源对所述持久时 间进行修改;耦合到所述接口的动态随机访问存储器,所述动态随机访问存储 器存储代码,其中,所述代码用于与所述不可信时间源交互,以确定 所述修改;中断发生器,其响应于所述修改而产生中断;以及 嵌入式装置,其维持可信时间并保护所述可信时间不被不可信时 间源修改;其响应于所述中断,以基于所述持久时间和所述可信时间 确定可信时间差;其存储所述可信时间差,其中所述可信时间差的存 储相对于所述嵌入式装置掉电而言是持久的;并且其响应于所述掉 电,而基于所述持久时间和所述可信时间差来设置所述可信时间。
18、 根据权利要求17所述的系统,其中,所述嵌入式装置包括 初始时间设置器,其当所述系统初始启动时与可信时间源通信,以设 置所述可信时间。
19、 根据权利要求18所述的系统,其中,所述嵌入式装置包括 网络接口 ,其耦合到所述初始时间设置器,以与所述可信时间源通信。
20、 根据权利要求17所述的系统,其中,所述嵌入式装置在所 述系统启动时、并在所述不可信源能够访问所述系统时钟之前,确定 所述可信时间差。
21、 一种包含指令的机器可访问介质,所述指令当由机器执行时 使所述机器执行以下操作,包括-将可信时间与系统时间进行比较,以确定可信时间差,所述系统 时间可被不可信时间源访问,其中,通过储能装置持久保持所述系统 时间;以及将所述时间差存储在非易失性存储器中,所述非易失性存储器受 到保护使之不被所述不可信时间源修改;响应于由于受保护时钟掉电而丢失所述可信时间,用基于所述系 统时间和所述可信时间差的所述可信时间来设置所述受保护时钟。
22、 根据权利要求21所述的机器可访问介质,其中,所述操作 进一步包括响应于对所述系统时间的修改,更新所述可信时间差。
23、 根据权利要求21所述的机器可访问介质,其中,所述操作 进一步包括当启动使用所述系统时钟的计算系统时、并在所述不可 信源能够经由所述计算系统访问所述系统时钟之前,确定所述可信时 间差。
24、 根据权利要求21所述的机器可访问介质,其中,更新所述 可信时间差包括基于修改的系统时间和当前的可信时间,确定新的 时间差,并且将所述新的时间差存储在所述非易失性存储器中。
25、 根据权利要求24所述的机器可访问介质,其中,将所述新的时间差存储在所述非易失性存储器中包括如果所述新的时间差超 过阈值时间差,则存储所述新的时间差。
全文摘要
公开了基于不可信但持久的时间源保持受保护时钟的可信时间的方法和装置。实施例可以包括可为硬件、软件、固件和/或其他逻辑的嵌入式装置,来维持受保护时钟的可信时间。嵌入式装置可以通过从诸如网络服务器的可信时间源获得可信时间,来初始化受保护时钟。然后嵌入式装置通过监测受保护时钟和不可信系统时钟之间的时间差,在受保护时钟掉电的情况下维持可信时间。许多实施例还采用没有备用电池的受保护时钟,以有利地节省制造成本和空间,并依靠用于不可信系统时钟的备用电池,在掉电情况下维持可信时间。还公开了其他实施例并相应地要求了权利。
文档编号G06F21/02GK101194266SQ200680020631
公开日2008年6月4日 申请日期2006年6月22日 优先权日2005年6月22日
发明者D·埃尔达, O·利维 申请人:英特尔公司