CN103124973B - 证明引导过程期间交互式组件的使用 - Google Patents

证明引导过程期间交互式组件的使用 Download PDF

Info

Publication number
CN103124973B
CN103124973B CN201180045663.XA CN201180045663A CN103124973B CN 103124973 B CN103124973 B CN 103124973B CN 201180045663 A CN201180045663 A CN 201180045663A CN 103124973 B CN103124973 B CN 103124973B
Authority
CN
China
Prior art keywords
input
trust
interactive
response
subsequently
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.)
Active
Application number
CN201180045663.XA
Other languages
English (en)
Other versions
CN103124973A (zh
Inventor
J.W.沃克
D.N.麦金托什
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103124973A publication Critical patent/CN103124973A/zh
Application granted granted Critical
Publication of CN103124973B publication Critical patent/CN103124973B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一种证明引导过程期间交互式组件的使用的方法,包含如下步骤:响应于确定交互式组件的使用,读取相关联交互式输入;确定是否应该信任该输入;以及响应于确定应该信任该输入,处理该输入以便创建信任密值,进一步包含:响应于读取的随后交互式输入,将随后交互式输入与一个或多个信任密值匹配,以便确定是否信任随后交互式输入。

Description

证明引导过程期间交互式组件的使用
技术领域
本发明涉及证明引导过程期间交互式组件的使用的方法。
背景技术
信任引导是在计算系统中引导和建立信任链的过程。参照图1的环境(100),系统管理员提取服务器(受管理系统(120))并着手安装系统软件。受管理系统(120)包含安全设备(125),例如,TPM(信任平台模块)。一旦系统(120)被配置和引导,受管理系统(120)的每个组件(硬件和/或软件)就加密地测量另一个组件,并且可以将测量值“扩展”(但不是直接写入)到TPM(125)的平台配置寄存器(PCR)。每个组件也可操作来访问事件日志,以便将与组件的测量相关联的数据写入与事件日志相关联的条目中。
管理员信任该配置,并将这些初始测量值当作信任的。假设在安装/配置之前和在记录测量值之后没有人破坏系统。
测量可以通过含有为每个受管理系统的组件存在预期证明值的数据库(115)的管理系统(105)远程证明。这些值通常与描述这些值是什么意思的一些元数据一起存储。管理系统(105)包含,例如,将测量与这些值相比较的TPM模拟器(110)。远程证明过程本身可以由管理或受管理系统启动。
对受管理系统(120)的改变可以通过随后的信任引导和远程证明过程来检测。
上述过程描述在,例如,如下文献的第4部分中:the Trusted ComputingGroup(TCG)Specification Architecture Overview;Specification;版本1.4;2007年8月2日;以及如下文献的第2部分中:the TCG Infrastructure Working groupArchitecture Part II-Integrity Management;Specification;Version1.0;版本1.0;2006年11月17日。
上面所述的信任引导过程和远程证明过程在良好定义引导过程时,例如,在具有简单非交互式引导过程的游戏控制台中工作良好。在更先进的计算系统,例如,POWER(POWER是国际商用机器公司(IBM)的注册商标)服务器中,引导过程可以因交互式组件的可选介入(involvement)而复杂化,从而可以使低级固件转向交互式组件。在许多服务器系统中,交互式组件通常包含OF(开放固件)提示符和Intel(Intel、Intel logo、Intel Inside、Intel Insidelogo、Intel Centrino、Intel Centrino logo、Celeron、Intel Xeon、Intel SpeedStep、Itanium和Pentium是美国或其他国家的英特尔公司或其子公司的商标或注册商标)系统,交互式组件通常包含EFI(可扩展固件接口)提示符。交互式组件不是物理系统特有的—虚拟机也可以含有交互式组件。
例如,系统的用户可以具有在引导时,例如,通过按下功能键,输入交互式组件中的选项。交互式组件通常被呈现为命令提示符或菜单,并且可以允许用户在将控制转到下一个被测量引导组件之前改变设置和运行代码。交互式组件的使用可以针对合法管理使用,例如,管理员可以使用交互式组件和执行任务,例如,运行预定命令来进行系统配置和诊断;输入将执行的代码。因此,应该认为不信任交互式组件的使用的一般判定在实际中没有良好地工作。然而,交互式组件的使用对恶意攻击是开放的,例如,通常,可以从交互式组件读取存储器以及可以将存储器写入交互式组件中,甚至可能重写固件驻留的存储器。
注意,保证信任引导过程的安全在某些环境中,例如,在云计算环境中尤其重要,从而可以将应用,例如,银行业应用(和相关联虚拟机)移植到云内的共享资源。信任引导过程除了被虚拟机使用之外,也可以应用于共享资源。
发明内容
注意,信任引导过程对即使有也变化很小的给定系统和每个组件遵循严格执行路径的给定系统工作良好,其中对组件(诸如操作系统)的任何改变都伴随着来自组件拥有者的、改变的组件的测量的信任值(例如,生产操作系统的更新的公司也提供与更新相关联的一个或多个信任值)。这允许可以事先生成用于各种组件(因此,例如,整个系统)的测量的信任值的数据库。受管理系统的任何组件因此必须匹配与测量的信任值相关联的现有条目,要不然它们是不能信赖的隐含性。
优选实施例公开了这样的解决方案,其允许检测在信任引导过程期间交互式组件的使用,并确定是否信任在交互式组件的使用期间执行的动作。
优选实施例处理了这样的事实:即使在未变化引导组件的情况下,也可能存在可以允许恶意用户危及系统的交互式组件(诸如命令提示符)。优选实施例提供了一种机制,其通过使用管理系统特别对待的指定PCR,在交互式组件的使用期间记录用户的动作的。实际上,指定PCR被认为比其他PCR更易失,并且可能呈现许多信任值的任一。有利的是,即使与组件相关联的测量值与信任值不匹配,与测量值相关联的输入也可能与可以被接受和记录以备将来参考的新信任输入良好地相关联。
按照第一方面,提供了证明引导过程期间交互式组件的使用的方法,其包含如下步骤:响应于确定交互式组件的使用,读取相关联交互式输入;确定是否应该信任该输入;以及响应于确定应该信任该输入,处理该输入以便创建信任密值,进一步包含:响应于读取的随后交互式输入,将随后交互式输入与一个或多个信任密值匹配,以便确定是否信任随后交互式输入。
按照第二方面,提供了证明引导过程期间交互式组件的使用的装置,其包含:响应于确定交互式组件的使用,读取相关联交互式输入的部件;确定是否应该信任该输入的部件;以及响应于确定应该信任该输入,处理该输入以便创建信任密值的部件,进一步包含:响应于读取的随后交互式输入,将随后交互式输入与一个或多个信任密值匹配,以便确定是否信任随后交互式输入的部件。
按照第三方面,提供了包含存储在计算机可读介质上的计算机程序代码的计算机程序,当该计算机程序代码被加载到计算机系统中并在其上被执行时,使得所述计算机系统执行上述方法的所有步骤。
附图说明
现在,如下图所例示,将参照本发明的优选实施例,只通过例子的方式对本发明加以描述。
图1是示出进行信任引导和远程证明过程的已知系统的框图;
图2是示出已知受管理系统的组件的的框图;
图3是示出进行信任引导和远程证明过程的已知系统的更详细视图的框图;
图4是示出已知远程证明过程所涉及的操作步骤的流程图;
图5是示出按照优选实施例的信任引导过程所涉及的操作步骤的流程图;以及
图6是示出按照优选实施例的远程证明过程所涉及的操作步骤的流程图。
具体实施方式
现在将给出已知信任引导和远程证明过程的更详细说明。
参照图2,更详细地示出了受管理系统(200)。在信任引导过程中,受管理系统(200)的每个组件加密地测量(例如,使用安全散列算法(SHA)来创建诸如软件文件、模型、编制(make)、组件的序列号等的信息的散列,以便创建测量值)另一个引导组件。
在一个例子中,信任测量核根(Core Root of Trust for Measurement,CRTM)组件(220),例如BIOS,是在引导期间给予控制的第一段代码,并且由于不可改变而必须隐含地信任。CRTM(220)加密地测量引导过程中的下一个组件(例如,固件215));随后,固件(215)测量引导过程中的下一个组件(例如,操作系统(210));以及随后,操作系统(210)在将控制转移到用户空间程序(205)之前测量任何用户空间程序(205)。
每个组件可以在将控制转移到所测量组件之前,将测量值“扩展”(但不是直接写入)到TPM(225)的平台配置寄存器(PCR)(230)。扩展操作包含PCR的值与测量值的加密组合。
每个组件也可操作来访问事件日志(235),以便将与组件的测量相关联的数据(例如,诸如组件标识符和事件的元数据;以及相关联测量值)写入与事件日志(235)相关联的条目中。
注意,CRTM(220)在通常其不能访问事件日志(235)的受限环境中运行。还要注意,尽管用户空间程序(205)可操作来使用TPM(225)和事件日志(235),但由于用户空间程序(205)不倾向于装载其他软件组件本身,所以是否这样做是可选的。
注意,如果交互式组件(诸如命令提示符或菜单)是可用的,则在转移到操作系统(210)之前的不定时段控制将用固件(215)保持。
一旦受管理系统(200)运行,则将如本文所述,可以使用远程证明过程,例如DAA(直接匿名证明),通过远程系统(305)提取与“信任链”相关联的数据用于检查。
参照图3的系统(300),示出了受管理系统(200)和相关联TPM(225)、PCR(230)、以及包含一个或多个测量值和相关联元数据的事件日志(235)。证明过程通常涉及受管理系统(200)将用于所测量组件的当前PCR值(230)(即,从扩展操作中得出)与事件日志(235)一起发送给管理系统(305)。
现在将参照图4描述在管理系统(305)上执行的证明过程的简化例子。
在步骤400,检索接收的当前PCR值(230)以及事件日志(235)。在步骤405,从数据库(325)中检索与受管理系统(200)的组件相关联的预期证明值。在步骤410,管理系统(305)的模拟器(310)将接收的当前PCR值(230)与预期证明值相比较。应该明白,管理系统(305)的许多其他组件可以执行比较逻辑。
如果对于每个PCR值都发生匹配,则认为信任受管理系统(200)(步骤415),并且没有进一步的工作进行。
如果对于每个PCR值未发生匹配,则管理系统(305)分析(步骤420)事件日志(235),依次检查每个条目,以判定包含在与讨论的所测量组件相关联的条目中的测量值是否有效。
如果每个事件日志(235)条目都表现为有效(步骤425的肯定结果),则认为信任受管理系统(200)(步骤415),并且没有进一步的工作进行。
如果事件日志条目都表现为无效(步骤425的否定结果),则不认为信任受管理系统(200)(步骤430)——优选地,在转移到“系统不信任”退出状态之前发出安全警报。
现在将描述上述过程的示范性实现。
通常,受管理系统(200)的组件的制造商提供与组件相关联的测量值的(大)列表(例如,参考清单)——这些测量值可以当作“信任的”。进一步,通常,信任引导过程是高度确定的,并且出现在事件日志(235)中的相关联事件遵循严格的模式。在CRTM(200)测量固件(215),固件(215)又测量操作系统(210)的例子中,事件日志(235)通常包含两个事件,即,“测量固件”和“测量操作系统”。即使改变了固件(215)和/或操作系统(210)(例如,更新),在未来的引导过程期间,也将以相同次序发生相同的两个事件,并且只有相关联测量值将不同。
在一个例子中,将每个测量值与相同的PCR相关联。在该例子中,管理系统(305)保持指示最后一次引导受管理系统(200)时,其使用固件(例如,具有测量M1的版本X)和操作系统(例如,具有测量M2的版本Y)的记录,其中M1和M2分别是固件引导组件和操作系统引导组件的SHA摘要。两个事件以及测量值,即,“测量固件:SHA(M1)”和“测量操作系统:SHA(M2)”当被扩展到PCR时,给出当前PCR值“Z”。将当前PCR值“Z”作为固件(215)和操作系统(210)的预期证明值记录在管理系统(305)的数据库(325)中。
在随后的证明过程期间,管理系统(305)检索(步骤400)接收的当前PCR值(230)以及事件日志(235),并从数据库(325)中检索(步骤405)预期证明值。
在步骤410,模拟器(310)将接收的当前PCR值的值与预期证明值相比较—如果发生匹配,则确定(步骤415)受管理系统(200)正在使用预期固件(215)和操作系统(210)。
如果未发生匹配(即,接收的当前PCR值不是“Z”),则管理系统(305)分析(步骤420)事件日志(235)以找出相关联条目。管理系统(305)将第一事件和测量值相比较,即,“测量固件:SHA(M1)”与固件的具体制造商提供的信任值列表,并将第二事件和测量值相比较,即,“测量操作系统:SHA(M2)”与操作系统的具体制造商提供的信任值列表。
如果任一组件具有制造商未列为“信任”的测量值,则假设(步骤430)受管理系统(200)受到破坏。
如果两个组件都具有制造商列为“信任”的测量值,则假设(步骤415)信任受管理系统(200),并且可以将测量值与在受管理系统(200)的下一个证明过程期间使用的新预期证明值相关联。
现在将参照图5和6描述支持交互式组件的优选实施例的信任引导和远程证明过程。
优选地,为了接收与用户向交互式组件的输入(例如,键击)相关联的测量值保留PCR(例如,“7”)。通常预期PCR(7)具有初始“通电”状态(例如,零),因为任何其他值都指示已经使用了交互式组件。
现在将参照图5描述当发生交互式组件的使用时,捕获与输入相关联的值的方法。
在步骤500,例如,固件(215)接收来自CRTM(220)的控制。如果引导过程未转向交互式组件(步骤505的否定结果),则固件(215)测量(步骤510)信任引导过程中的下一个组件(例如,操作系统(210))。由固件(215)将测量值扩展到PCR,由固件(215)将相关联元数据加入(步骤515)事件日志(235)中,并将控制转移到(步骤520)操作系统(210)。
如果信任引导过程转向交互式组件(步骤505的肯定结果),则在步骤525,固件(215)读取用户输入的输入(例如,键击、菜单选择、命令)。固件(215)将每个输入散列化(步骤530)(例如,各个字符的散列化或将每个离散序列散列化),并创建(步骤530)与输入相关联的元数据(例如,输入的标识符、输入的类型)。由固件(215)利用散列值扩展(步骤535)PCR(7),并且由固件(215)将元数据加入(步骤535)事件日志(235)中。
在步骤540,执行输入(例如,特定键击),随后,关于是否已经输入任何进一步的输入作出确定(步骤545)。如果已经输入进一步的输入,则该过程转到步骤525。如果还未输入进一步的输入,则该过程转到步骤510,从而固件(215)测量操作系统(210)。
有利的是,可以扩展PCR(7)以提供与输入的输入相关联的唯一散列值,进一步,可以将相关联元数据存储在事件日志(235)中——输入和相关联散列值的例子在下表1中示出。
表1
优选地,在使用本发明的系统之前,关于什么样的输入应该认为“信任”作出判定。例如,管理员确定是否接受特定输入(因此,特定散列值)作为信任的(例如,通过使用与来自其他信任系统的已知输入相关联的元数据)。优选地,管理员可以将与输入相关联的信任散列值列表分配给其他管理系统。
注意,在其他实现中,提供交互式组件的固件(215)可能不操作来使用事件日志(235),使得不能将与输入相关联的事件存储在事件日志(235)中。因此,例如,管理系统(305)将不能确定在受管理系统(200)上输入的输入。
如果正是这种情况,则优选地,管理员与引导过程异步地手动检索输入(例如,成批地)。可替代地,管理员可以与受管理系统(200)的用户接触,请求用户在引导过程期间意图使用的输入。管理员确定是否接受特定输入作为信任的(例如,通过使用与来自其他信任系统的已知输入相关联的元数据),并使用管理系统(305)的模拟器(310)计算输入的信任散列值。
现在将参照图6描述优选实施例的远程证明过程。
在步骤600,检索当前PCR值(230)以及事件日志(235)。在步骤605,从数据库(325)中检索预期证明值。在步骤610,管理系统(305)的模拟器(310)将接收的当前PCR值(230)与预期证明值相比较。
如果对于每个PCR值都发生匹配,则认为信任受管理系统(200)(步骤630),并且没有进一步的工作进行。
如果对于每个PCR值未发生匹配,则在步骤615作出检查以确定PCR(7)值是否是非零。
如果PCR(7)值不是非零(指示未使用交互式组件),则管理系统(305)通过依次检查每个条目(参照参考清单)来分析(步骤620)事件日志(235),以判定讨论的所测量组件是否有效(上面参照图4描述了一种实现)。
如果每个事件日志条目表现为有效(步骤625的肯定结果),则认为信任受管理系统(200)(步骤630),并且没有进一步的工作进行。
如果事件日志条目表现为无效(步骤625的否定结果),则不认为信任受管理系统(200)(步骤635)。
如果PCR(7)值是非零(指示使用了交互式组件),则检索与输入相关联的信任散列值(步骤640),并将PCR(7)值与信任散列值相比较(步骤645)。
如果PCR(7)值与信任散列值的任一匹配,则将PCR(7)设置(步骤655)成零,并且在任何其他PCR值也不同的情况下重试值比较逻辑(步骤610)。
如果在步骤645,确定PCR(7)值未与任何信任散列值匹配,则使用(步骤650)事件日志(235)来分析与输入相关联的元数据(例如,确定已经使用了什么特定键击或菜单选择)。这是与分析整个事件日志(235)相比非常简单的过程,因为只需要读取PCR(7)的事件。
在步骤660,关于是否可以信任输入作出确定。例如,通过对照不信任输入的已知列表或信任输入的已知列表检查输入来作出确定。
例如,与受管理系统(200)相关联的严格策略可能要求从不使用交互式命令提示符和只有菜单导航是有效的。在这样的情况下,信任输入将包含,例如,不导致交互式命令提示符被调用的一组键击。例如,如果通过使用数字字符“9”会发生交互式命令提示符的调用,则如果将元数据与除了数字字符“9”之外的其他键击相关联,则在步骤660,确定信任输入。
在另一个例子中,倘若用户从不尝试将值写入存储器中,则与受管理系统(200)相关联的较不严格的策略可能允许使用交互式命令提示符。如果通常使用“!”字符将值存储在存储器中,以及如果元数据未与“!”字符相关联,则在步骤660,确定信任输入。
如果作出可以信任输入的确定,则将与PCR(7)相关联的输入的测量值加入(步骤665)信任散列值列表中——因此,将来,使用特定输入将不会不必要地引发警报。随后,将PCR(7)设置(步骤655)成零,并且在任何其他PCR值也不同的情况下重试值比较逻辑(步骤610)。
如果作出不能信任输入的确定,则认为不信任受管理系统(200)(步骤635)。
对于本领域的普通技术人员来说是清楚的,本发明的优选实施例的整个或部分方法可以适当地和有用地在一个或多个逻辑装置中实施,该逻辑装置包含安排成执行该方法的步骤的逻辑元件,这样的逻辑元件可以包含硬件组件、固件组件或它们的组合。
对于本领域的技术人员来说同样是清楚的,按照本发明的优选实施例的整个或部分逻辑安排可以适当地在逻辑装置中实施,该逻辑装置包含执行该方法的步骤的逻辑元件,这样的逻辑元件可以包含诸如例如可编程逻辑阵列或专用集成电路中的逻辑门的组件。这样的逻辑安排可以进一步在使能元件中实施,该使能元件用于使用例如虚拟硬件描述语言在这样的阵列或电路中临时或永久地建立逻辑结构,该虚拟硬件描述语言可以使用固定或可传输承载介质来存储和传输。
将认识到,上面所述的方法和安排也可能适合地完全或部分在运行在一个或多个处理器(在图中未示出)上的软件中实现,该软件可以以一个或多个计算机程序元件的形式提供,该计算机程序元件承载在诸如磁盘或光盘等的任何适当数据载体(在图中也未示出)上。传输数据的信道同样可以包含所有描述的存储介质以及诸如有线或无线信号承载介质的信号承载介质。
本发明可以进一步适合地实施成供在计算机系统使用的计算机程序产品。这样的实现可以包含一系列计算机可读指令,该计算机可读指令固定在诸如计算机可读介质(例如,磁盘、CD-ROM、ROM或硬盘)的有形介质上,或者通过有形介质(包括但不限于光或模拟通信线)或使用无线技术(包括但不限于微波、红外或其他传输技)无形地,经由调制解调器或其他接口设备可传输给计算机系统。该一系列计算机可读指令实施本文前面所述的所有或部分功能。
本领域的技术人员将认识到,这样的计算机可读指令可以用供许多计算机架构或操作系统使用的许多编程语言编写。进一步,这样的指令可以使用包括但不限于半导体、磁、或光的当前或将来的任何存储技术来存储,或使用包括但不限于光、红外、或微波的当前或将来的任何通信技术来传输。可以设想,这样的计算机程序产品可以分发具有伴随印刷或电子文档的可移除介质,例如收缩包装软件,利用计算机系统预装载在例如系统ROM或固定盘上,或者通过例如互联网或万维网的网络从服务器或电子公告板分发。
在一种替代中,本发明的优选实施例可以以部署服务的计算机实现方法的形式实现,该服务包含部署计算机程序代码的步骤,该计算机程序代码可操作为当被部署在计算机基础设施中以及在其上被执行时,使所述计算机系统执行所述方法的所有步骤。
对于本领域的技术人员来说是清楚的,可以不偏离本发明的范围地对上述示范性实施例作出许多改进和修改。

Claims (12)

1.一种证明引导过程期间交互式组件的使用的方法,其包含如下步骤:
响应于确定交互式组件的使用,读取相关联交互式输入;
确定是否应该信任该输入;以及
响应于确定应该信任该输入,处理该输入以便创建信任密值,其进一步包含:
响应于读取的随后交互式输入,将随后交互式输入与所述信任密值匹配,以便确定是否信任随后交互式输入;
响应于随后交互式输入与信任密值不匹配,分析相关联事件日志条目;以及
将所述事件日志条目与已知输入的数据结构匹配;
响应于事件日志条目与已知输入的数据结构不匹配,确定不信任与交互式组件相关联的系统。
2.如权利要求1所述的方法,进一步包含如下步骤:
对该输入指定平台配置寄存器PCR;以及
利用该输入扩展指定的PCR。
3.如权利要求1所述的方法,进一步包含如下步骤:
生成与信任密值相关联的元数据。
4.如权利要求1所述的方法,进一步包含如下步骤:
响应于随后交互式输入与信任密值匹配,确定信任与交互式组件相关联的系统。
5.如权利要求1所述的方法,进一步包含如下步骤:
响应于事件日志条目与已知的信任输入的数据结构匹配,将与随后交互式输入相关联的密值加入包含信任密值的数据结构中。
6.如前面任何一项权利要求所述的方法,其中确定是否应该信任该输入的步骤进一步包含如下步骤:
将该输入与已知输入的数据结构相比较。
7.一种用于证明引导过程期间交互式组件的使用的系统,其包含如下装置:
用于响应于确定交互式组件的使用,读取相关联交互式输入的装置;
用于确定是否应该信任该输入的装置;以及
用于响应于确定应该信任该输入,处理该输入以便创建信任密值的装置,其进一步包含:
用于响应于读取的随后交互式输入,将随后交互式输入与所述信任密值匹配,以便确定是否信任随后交互式输入的装置;
用于响应于随后交互式输入与信任密值不匹配,分析相关联事件日志条目的装置;以及
用于将所述事件日志条目与已知输入的数据结构匹配的装置;
用于响应于事件日志条目与已知输入的数据结构不匹配,确定不信任与交互式组件相关联的系统的装置。
8.如权利要求7所述的系统,进一步包含如下装置:
用于对该输入指定平台配置寄存器PCR的装置;以及
用于利用该输入扩展指定的PCR的装置。
9.如权利要求7所述的系统,进一步包含如下装置:
用于生成与信任密值相关联的元数据的装置。
10.如权利要求7所述的系统,进一步包含如下装置:
用于响应于随后交互式输入与信任密值匹配,确定信任与交互式组件相关联的系统的装置。
11.如权利要求7所述的系统,进一步包含如下装置:
用于响应于事件日志条目与已知的信任输入的数据结构匹配,将与随后交互式输入相关联的密值加入包含信任密值的数据结构中的装置。
12.如前面任何一项权利要求所述的系统,其中所述用于确定是否应该信任该输入的装置,进一步包含如下装置:
用于将该输入与已知输入的数据结构相比较的装置。
CN201180045663.XA 2010-09-22 2011-08-31 证明引导过程期间交互式组件的使用 Active CN103124973B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10178162.3 2010-09-22
EP10178162 2010-09-22
PCT/EP2011/064979 WO2012038211A1 (en) 2010-09-22 2011-08-31 Attesting use of an interactive component during a boot process

Publications (2)

Publication Number Publication Date
CN103124973A CN103124973A (zh) 2013-05-29
CN103124973B true CN103124973B (zh) 2015-09-30

Family

ID=44514764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180045663.XA Active CN103124973B (zh) 2010-09-22 2011-08-31 证明引导过程期间交互式组件的使用

Country Status (5)

Country Link
US (1) US9342696B2 (zh)
EP (1) EP2619701B1 (zh)
JP (1) JP5745061B2 (zh)
CN (1) CN103124973B (zh)
WO (1) WO2012038211A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103124973B (zh) 2010-09-22 2015-09-30 国际商业机器公司 证明引导过程期间交互式组件的使用
US8869264B2 (en) 2010-10-01 2014-10-21 International Business Machines Corporation Attesting a component of a system during a boot process
US20120131334A1 (en) 2010-11-18 2012-05-24 International Business Machines Corporation Method for Attesting a Plurality of Data Processing Systems
CN103201747B (zh) 2010-11-18 2015-11-25 国际商业机器公司 用于验证多个数据处理系统的方法和设备
JP5932837B2 (ja) 2011-01-19 2016-06-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation コードを更新および認証するための方法およびシステム、プログラムの完全性を試験する方法およびシステム
CN103488937B (zh) * 2013-09-16 2017-02-22 华为技术有限公司 一种度量方法、电子设备及度量系统
CN103501303B (zh) * 2013-10-12 2017-02-22 武汉大学 一种针对云平台虚拟机度量的主动远程证明方法
US9405912B2 (en) * 2013-11-14 2016-08-02 Microsoft Technology Licensing, Llc Hardware rooted attestation
CN104268461B (zh) * 2014-09-16 2018-03-06 华为技术有限公司 一种可信度量方法及装置
US9547773B2 (en) * 2014-12-31 2017-01-17 Google Inc. Secure event log management
US9537833B2 (en) 2014-12-31 2017-01-03 Google Inc. Secure host communications
US9760727B2 (en) 2014-12-31 2017-09-12 Google Inc. Secure host interactions
US10528739B2 (en) 2016-04-20 2020-01-07 Sophos Limited Boot security
US10482034B2 (en) * 2016-11-29 2019-11-19 Microsoft Technology Licensing, Llc Remote attestation model for secure memory applications
DE102017204081A1 (de) * 2017-03-13 2018-09-13 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Überprüfung der Integrität von in einem vorbestimmten Speicherbereich eines Speichers gespeicherten Daten
US11263326B2 (en) 2017-06-02 2022-03-01 Apple Inc. Method and apparatus for secure system boot
US10417429B2 (en) 2017-06-02 2019-09-17 Apple Inc. Method and apparatus for boot variable protection
WO2019112972A1 (en) * 2017-12-07 2019-06-13 Apple Inc. Method and apparatus for boot variable protection
GB2578628B (en) * 2018-11-01 2021-09-15 Trustonic Ltd Device attestation techniques

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1703014A (zh) * 2005-02-28 2005-11-30 联想(北京)有限公司 一种对被管理设备进行监控的方法
CN1954288A (zh) * 2004-05-08 2007-04-25 英特尔公司 固件接口运行时环境保护字段
EP1980970A2 (en) * 2007-04-13 2008-10-15 Hewlett-Packard Development Company, L.P. Dynamic trust management

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9302225D0 (en) 1993-02-05 1993-03-24 Int Computers Ltd Data processing system
US6539480B1 (en) 1998-12-31 2003-03-25 Intel Corporation Secure transfer of trust in a computing system
US6546392B1 (en) 1999-06-25 2003-04-08 Mediaone Group, Inc. Self service gateway
GB2376765B (en) 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments with verifiable environment identities
US7191464B2 (en) 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
US7490250B2 (en) 2001-10-26 2009-02-10 Lenovo (Singapore) Pte Ltd. Method and system for detecting a tamper event in a trusted computing environment
US6928526B1 (en) 2002-12-20 2005-08-09 Datadomain, Inc. Efficient data storage system
US7269747B2 (en) 2003-04-10 2007-09-11 Lenovo (Singapore) Pte. Ltd. Physical presence determination in a trusted platform
US7275263B2 (en) * 2003-08-11 2007-09-25 Intel Corporation Method and system and authenticating a user of a computer system that has a trusted platform module (TPM)
US7313679B2 (en) 2003-10-17 2007-12-25 Intel Corporation Extended trusted computing base
US7533274B2 (en) 2003-11-13 2009-05-12 International Business Machines Corporation Reducing the boot time of a TCPA based computing system when the core root of trust measurement is embedded in the boot block code
US20050132031A1 (en) 2003-12-12 2005-06-16 Reiner Sailer Method and system for measuring status and state of remotely executing programs
US8161197B2 (en) 2003-12-19 2012-04-17 Broadcom Corporation Method and system for efficient buffer management for layer 2 (L2) through layer 5 (L5) network interface controller applications
US7222062B2 (en) * 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
JP4144880B2 (ja) 2004-04-09 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション プラットフォーム構成測定装置、プログラム及び方法、プラットフォーム構成認証装置、プログラム及び方法、プラットフォーム構成証明装置、プログラム及び方法、並びに、プラットフォーム構成開示装置、プログラム及び方法
US7380119B2 (en) 2004-04-29 2008-05-27 International Business Machines Corporation Method and system for virtualization of trusted platform modules
US7480804B2 (en) * 2004-04-29 2009-01-20 International Business Machines Corporation Method and system for hierarchical platform boot measurements in a trusted computing environment
EP1617587A1 (en) 2004-07-12 2006-01-18 International Business Machines Corporation Method, system and computer program product for privacy-protecting integrity attestation of computing platform
US7716494B2 (en) 2004-07-15 2010-05-11 Sony Corporation Establishing a trusted platform in a digital processing system
US7143287B2 (en) 2004-10-21 2006-11-28 International Business Machines Corporation Method and system for verifying binding of an initial trusted device to a secured processing system
JP4433401B2 (ja) 2004-12-20 2010-03-17 レノボ シンガポール プライヴェート リミテッド 情報処理システム、プログラム、及び情報処理方法
EP2194476B1 (en) 2005-03-22 2014-12-03 Hewlett-Packard Development Company, L.P. Method and apparatus for creating a record of a software-verification attestation
US7770000B2 (en) 2005-05-02 2010-08-03 International Business Machines Corporation Method and device for verifying the security of a computing platform
US7571312B2 (en) 2005-05-13 2009-08-04 Intel Corporation Methods and apparatus for generating endorsement credentials for software-based security coprocessors
US8074262B2 (en) 2005-05-13 2011-12-06 Intel Corporation Method and apparatus for migrating virtual trusted platform modules
US7613921B2 (en) 2005-05-13 2009-11-03 Intel Corporation Method and apparatus for remotely provisioning software-based security coprocessors
US20070079120A1 (en) * 2005-10-03 2007-04-05 Bade Steven A Dynamic creation and hierarchical organization of trusted platform modules
US8190916B1 (en) * 2006-07-27 2012-05-29 Hewlett-Packard Development Company, L.P. Methods and systems for modifying an integrity measurement based on user authentication
US8522018B2 (en) * 2006-08-18 2013-08-27 Fujitsu Limited Method and system for implementing a mobile trusted platform module
US8201216B2 (en) 2006-09-11 2012-06-12 Interdigital Technology Corporation Techniques for database structure and management
US8117429B2 (en) 2006-11-01 2012-02-14 Nokia Corporation System and method for a distributed and flexible configuration of a TCG TPM-based local verifier
US8433924B2 (en) 2006-12-18 2013-04-30 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for authentication of a core root of trust measurement chain
US7840801B2 (en) 2007-01-19 2010-11-23 International Business Machines Corporation Architecture for supporting attestation of a virtual machine in a single step
US20080235754A1 (en) 2007-03-19 2008-09-25 Wiseman Willard M Methods and apparatus for enforcing launch policies in processing systems
US20080244746A1 (en) 2007-03-28 2008-10-02 Rozas Carlos V Run-time remeasurement on a trusted platform
US8151262B2 (en) * 2007-03-30 2012-04-03 Lenovo (Singapore) Pte. Ltd. System and method for reporting the trusted state of a virtual machine
US20080281654A1 (en) 2007-05-09 2008-11-13 Novell, Inc. Data center life cycle management
US8032741B2 (en) 2007-08-22 2011-10-04 Intel Corporation Method and apparatus for virtualization of a multi-context hardware trusted platform module (TPM)
US20090204964A1 (en) 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
US8620708B2 (en) 2007-11-09 2013-12-31 Hitachi-Ge Nuclear Energy, Ltd. Progress status management method, program, and progress status management device
US7921286B2 (en) 2007-11-14 2011-04-05 Microsoft Corporation Computer initialization for secure kernel
US8032942B2 (en) 2007-12-31 2011-10-04 Intel Corporation Configuration of virtual trusted platform module
US8042190B2 (en) * 2007-12-31 2011-10-18 Intel Corporation Pre-boot protected memory channel
EP2255561A2 (en) 2008-02-19 2010-12-01 Interdigital Patent Holdings, Inc. A method and apparatus for secure trusted time techniques
CN101960464B (zh) 2008-02-25 2013-01-16 松下电器产业株式会社 信息处理装置
US7953778B2 (en) 2008-05-20 2011-05-31 International Business Machines Corporation Efficient support of consistent cyclic search with read-copy update and parallel updates
US8943491B2 (en) 2008-06-26 2015-01-27 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Systems and methods for maintaining CRTM code
US20100083002A1 (en) 2008-09-30 2010-04-01 Liang Cui Method and System for Secure Booting Unified Extensible Firmware Interface Executables
GB2466071B (en) * 2008-12-15 2013-11-13 Hewlett Packard Development Co Associating a signing key with a software component of a computing platform
US8738932B2 (en) 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
JP5287980B2 (ja) 2009-03-31 2013-09-11 富士通株式会社 情報処理装置,情報処理装置の起動制御方法及び起動プログラム
CN103124973B (zh) 2010-09-22 2015-09-30 国际商业机器公司 证明引导过程期间交互式组件的使用
US8869264B2 (en) 2010-10-01 2014-10-21 International Business Machines Corporation Attesting a component of a system during a boot process
US20120131334A1 (en) 2010-11-18 2012-05-24 International Business Machines Corporation Method for Attesting a Plurality of Data Processing Systems
CN103201747B (zh) 2010-11-18 2015-11-25 国际商业机器公司 用于验证多个数据处理系统的方法和设备
TW201241662A (en) 2010-12-21 2012-10-16 Ibm Virtual machine validation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1954288A (zh) * 2004-05-08 2007-04-25 英特尔公司 固件接口运行时环境保护字段
CN1703014A (zh) * 2005-02-28 2005-11-30 联想(北京)有限公司 一种对被管理设备进行监控的方法
EP1980970A2 (en) * 2007-04-13 2008-10-15 Hewlett-Packard Development Company, L.P. Dynamic trust management

Also Published As

Publication number Publication date
EP2619701A1 (en) 2013-07-31
EP2619701B1 (en) 2015-04-22
CN103124973A (zh) 2013-05-29
US20130212369A1 (en) 2013-08-15
US9342696B2 (en) 2016-05-17
JP2013538404A (ja) 2013-10-10
WO2012038211A1 (en) 2012-03-29
JP5745061B2 (ja) 2015-07-08

Similar Documents

Publication Publication Date Title
CN103124973B (zh) 证明引导过程期间交互式组件的使用
US9436827B2 (en) Attesting a component of a system during a boot process
CN110765437B (zh) 将资产安全地提供给目标设备的模块
US11861372B2 (en) Integrity manifest certificate
JP5398824B2 (ja) セキュア処理システムのアプリケーション空間において信頼性を実現するための一時的pcr利用
CN103201747B (zh) 用于验证多个数据处理系统的方法和设备
CN1801091B (zh) 用可信处理模块安全地引导计算机的系统和方法
CN103329093A (zh) 更新软件
US20120198553A1 (en) Secure auditing system and secure auditing method
US9075994B2 (en) Processing attestation data associated with a plurality of data processing systems
JP2019008376A (ja) ファイル管理装置及びファイル管理方法
US20220253297A1 (en) Automated deployment of changes to applications on a cloud computing platform
US11232190B2 (en) Device attestation techniques
CN109117643A (zh) 系统处理的方法以及相关设备
CN105701405B (zh) 对软件程序集的本机图像进行防病毒检查的系统和方法
US9965625B2 (en) Control system and authentication device
CN104636250A (zh) 云端自动测试系统及方法
US11580225B2 (en) Determine whether to perform action on computing device based on analysis of endorsement information of a security co-processor
Akram et al. An introduction to the trusted platform module and mobile trusted module
US20240171613A1 (en) Security policy selection based on calculated uncertainty and predicted resource consumption
US20230297682A1 (en) Computing device quarantine action system
JP7058687B2 (ja) システム、通信デバイス、プログラム、及び通信方法
US20240195635A1 (en) Roots of trust in intellectual property (ip) blocks in a system on a chip (soc)
US20220366035A1 (en) Execution control system, execution control method, and program
JP6369333B2 (ja) ソフトウェア導入判定プログラム、ソフトウェア導入判定方法、およびソフトウェア導入判定装置

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