CN100456200C - 多令牌密封和解封 - Google Patents

多令牌密封和解封 Download PDF

Info

Publication number
CN100456200C
CN100456200C CNB038041472A CN03804147A CN100456200C CN 100456200 C CN100456200 C CN 100456200C CN B038041472 A CNB038041472 A CN B038041472A CN 03804147 A CN03804147 A CN 03804147A CN 100456200 C CN100456200 C CN 100456200C
Authority
CN
China
Prior art keywords
key
token
sealed
seal
tolerance
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
CNB038041472A
Other languages
English (en)
Other versions
CN1678967A (zh
Inventor
戴维·克劳罗克
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 CN1678967A publication Critical patent/CN1678967A/zh
Application granted granted Critical
Publication of CN100456200C publication Critical patent/CN100456200C/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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

Abstract

在此描述了用于对两个或更多令牌密封对象的方法、装置和计算机可读介质。还描述了解封已对两个或更多令牌密封的对象的方法、装置和计算机可读介质。

Description

多令牌密封和解封
技术领域
本发明涉及多令牌密封和解封。
背景技术
现有的基于软件的安全服务都隐含地假设计算设备或平台都是可信任的。假定它们在安全的环境中执行,在此前提下它们提供应用级的安全性。这种假设对于保证现有的商务模型所需的安全级别而言是成立的,但是当前的安全功能已在提供最高级别的保护,这些级别的保护无需额外的硬件支持就能实现。
到目前为止,可信平台计算联盟(TPCA)在2001年12月发布的TCPA主规范,版本1.1中描述了一种可信平台模块(TPM)或物理令牌,其提供了更大的可信度,并且实现了现有服务的增强和新服务。TPM支持对软件过程、平台引导完整性、文件完整性和软件许可的记帐(audit)和写日志(log)。TPM提供了一个受保护的存储库,其中的信息项可被保护起来以免泄漏或被不当使用,并可提供用于验证的身份。这些特征鼓励着第三方授予平台对某些信息的访问权,而在不具有上述特征的情况下,平台将被拒绝访问这些信息。
TPM包含单独的计算引擎,由于该引擎的过程无法更改,所以这些过程可被信任。这些过程以及该子系统到平台的绑定,它们结合起来能够可靠地量度并报告平台内部主计算环境的状态。TPM为平台的引导提供了信任的根基。向平台提供安全的操作系统是所有者的责任,一旦OS被加载,它就可以在不可信的软件被加载之前向TPM报告不可信软件的加载情况。TPM因此可以报告量度数据,这些数据指示出平台中主软件环境的当前状态。本地或远程实体可以仅仅查询TPM就可靠地获得这些量度结果,并判断平台的行为是否使得它对于预期目的而言是可信任的。因为TPM可以证实操作系统的当前状态,所以软件加载中的可信度增大了。
TPM对密封数据可以起到入口的作用,并且只有在访问权和软件环境的特定组合下才会允许这种数据的公开或使用。当然,TPM的受保护存储库可用于任何敏感数据,而不仅仅是身份信息。TPM可将这些服务输出到系统级的软件安全服务(例如IPSec),所述系统级的软件安全服务自身也被通常的应用程序作为服务而调用。这种布置带来了对平台身份的更大信任,并且如果需要可同时允许平台匿名。因此,可以更加信任地来使用调用身份验证的任何应用程序,并可授予这些应用程序更大的权限。
发明内容
本发明公开了一种方法,包括:请求第一令牌解封多令牌密封对象的第一密封部分,以获得一个密钥;请求第二令牌解封所述多令牌密封对象的第二密封部分,以获得一个加密对象,以及使用所述密钥和所述加密对象以从所述多令牌密封对象获得一个对象。
本发明还公开了一种方法,包括:请求第一令牌解封多令牌密封对象的第一密封部分;响应于所述第一令牌解封所述第一密封部分而接收第一密钥;请求第二令牌解封所述多令牌密封对象的第二密封部分;响应于所述第二令牌解封所述第二密封部分而接收第二密钥;使用所述第一密钥和所述第二密钥来生成解密密钥;以及通过使用所述解密密钥来解密所述多令牌密封对象的加密对象,获得所述多令牌密封对象的解密对象。
本发明还公开了一种方法,包括:请求多个令牌解封多令牌密封对象的多个密封部分;响应于解封所述多令牌密封对象的多个密封部分而接收密钥,以及使用所述密钥和加密对象来获得对象。
本发明还公开了一种方法,包括:请求计算设备的第一令牌相对于第一环境标准来密封多令牌密封对象的第一部分,以及请求计算设备的第二令牌相对于第二环境标准来密封所述多令牌密封对象的第二部分。
本发明还公开了一种设备,包括:虚拟令牌,其包含一个或多个配置寄存器以及一个或多个处理单元,所述配置寄存器记录了设备环境的度量,所述处理单元用于生成包含对第一环境标准密封的第一密钥的第一密封密钥;物理令牌,其包含一个或多个配置寄存器以及一个或多个处理单元,所述配置寄存器记录了所述设备环境的度量,所述处理单元用于生成包含对第二环境标准密封的第二密钥的第二密封密钥;以及密封组件,用于基于所述第一密钥和所述第二密钥生成第三密钥,使用所述第三密钥来加密一个对象以获得加密对象,请求所述虚拟令牌密封所述第一密钥以获得所述第一密封密钥,并请求所述物理令牌密封所述第二密钥以获得所述第二密封密钥。
本发明还公开了一种设备,包括:芯片集;耦合到该芯片集的处理器;耦合到所述芯片集的存储器,该存储器包含多条指令,所述指令被所述处理器执行时使得该处理器实现一个虚拟令牌,该虚拟令牌记录了设备环境的度量,接收用于生成解密密钥的第一密钥,并响应于接收到密封操作请求而密封所述第一密钥以符合所述虚拟令牌记录的一个或多个度量;以及耦合到所述芯片集的物理令牌,该物理令牌用于记录所述设备环境的度量,接收用于生成所述解密密钥的第二密钥,并响应于接收到密封操作请求而密封所述第二密钥以符合所述物理令牌记录的一个或多个度量。
附图说明
在附图中以示例的方式而不是以限制的方式图示了这里所描述的发明。为简单和清楚起见,附图中所示的元件未必是按照比例绘制的。例如,为了清楚起见,某些元件的尺寸可以相对于其它元件被夸大。此外,在合适的地方,在附图中用相同的标号来表示对应的或类似的元件。
图1示出了包括物理令牌和虚拟令牌的计算设备的例子。
图2示出了图1中的物理令牌和虚拟令牌的例子。
图3示出了可由图1中的计算设备来实现的可信运行环境的例子。
图4示出了图1的计算设备的密封(seal)操作的例子。
图5示出了图1的计算设备的解封(unseal)操作的例子。
图6示出了图1的计算设备的多令牌密封操作的例子。
图7示出了图1的计算设备的多令牌解封操作的例子。
图8示出了图1的计算设备的多令牌密封操作的另一个例子。
图9示出了图1的计算设备的多令牌解封操作的另一个例子。
具体实施方式
在下面的详细描述中,描述了很多具体的细节以充分地理解本发明。然而,没有这些具体细节也可以实现本发明。此外,没有具体地描述公知的方法、过程、组件和电路,以免模糊本发明。而且,给出了示例性的尺寸/模型/值/范围,但是本发明不限于这些具体的示例。
在说明书中引用“一个实施例”、“实施例”、“示例性实施例”等都表示所描述的实施例可以包括特定的特点、结构或特征,但不是每个实施例都要包括这些特定的特点、结构或特征。而且,这些短语指的不一定是同一个实施例。此外,当关于某个实施例来描述特定的特点、结构或特征时,我们认为无论是否做出明确的描述,都可以将这样的特点、结构或特征应用到其它实施例中,这种做法属于本领域技术人员的知识范围之内。
图1中所示的示例性计算设备100可以包括一个或多个处理器110。处理器110可支持一种或多种工作模式,例如实模式、保护模式、虚拟8086模式和虚拟机器模式(VMX模式)。此外,在每一种支持的工作模式中,处理器110可支持一个或多个特权级别或环。总之,处理器110的工作模式和特权级别决定了可用于执行的指令以及执行这些指令的效果。更具体地说,只有当处理器110处于适当的模式和/或特权级别时,才允许处理器110执行某些具有特权的指令。
芯片集120可包括一个或多个集成电路封装或芯片,它们将处理器110耦合到存储器130、网络接口140、物理令牌150、虚拟令牌160和计算设备100的其它I/O设备170,例如鼠标、键盘、盘驱动器、视频控制器等。芯片集120可包括存储器控制器(未示出),用于将数据写入存储器130或从中读出数据。此外,芯片集120和/或处理器110可将存储器130的某些区域定义为受保护存储器132,这些区域只有当处于特定的工作模式(例如保护模式)和特权级别(例如,0P)时才可由处理器110进行访问。
网络接口140通常为计算设备100提供通信机制,以经由网络180与一个或多个远程代理190(例如认证机构、零售商、金融机构等)通信。例如,网络接口140可包括10Mb或100Mb的以太网控制器、有线调制解调器、数字用户线(DSL)调制解调器、普通老式电话业务(POTS)调制解调器等,从而将计算设备100耦合到一个或多个远程代理190。
总的来说,计算设备100的物理令牌150包括用于各种度量、密钥和机密的受保护存储库,并可响应于来自处理器110和芯片集120的请求执行各种完整性功能。具体地说,物理令牌150可以可信方式来存储各种度量,可以可信方式来引用度量,可将机密对于特定的环境(当前的或以后的)施行密封,并可将机密对于以前施行密封的环境进行解封。
虚拟令牌160以和计算设备100的物理令牌150相类似的方式来操作。然而,由于虚拟令牌160可利用存储器130和受保护存储器132的存储能力来存储度量、密钥和机密,所以虚拟令牌160可包括更多的用于度量、密钥和机密的受保护存储库。此外,由于虚拟令牌160可以利用处理器110的处理能力来执行完整性操作,所以虚拟令牌160相比物理令牌150而言,可以更快地执行这些完整性操作。
如图2所示,物理令牌150可包括一个或多个处理单元210,它们可为计算设备100执行完整性功能。物理令牌150还可以根据非对称密码算法例如RSA密码算法来生成固定私钥220和对应的固定公钥222。在一个示例性的实施例中,物理令牌150生成固定私有/公开密钥对220、222,使得固定私钥220和对应的公钥222是独一无二的,并且一旦激活就不可改变。
也可以将物理令牌150附接到计算设备100上或合并到计算设备100当中,以向远程代理190提供某种保证,确保物理令牌150仅与一个计算设备100相关联。例如,物理令牌150可合并到芯片集120的多个芯片之一中,和/或表面安装到计算设备100的主板上。由于固定物理令牌150的独一无二性,并且它还合并到计算设备100中,所以远程代理190可以基于物理令牌150的固定公钥222而有一定把握地识别计算设备100。
除了固定私钥/公钥对220、222之外,物理令牌150还可以根据非对称密码算法来生成一个或多个辅助私有/公开密钥对230、232。在一个示例性的实施例中,尽管固定私有/公开密钥对220、222是不可改变的,但是计算设备100可以根据需要生成辅助私有/公开密钥对230、232。由此,计算设备100一般仅向一小组可信实体例如认证机构提供固定公钥222。此外,计算设备100一般使用它的辅助私有/公开密钥对230、232来进行其它大部分加密、解密和数字签名操作,以减少固定公钥222的暴露。
物理令牌150还包括一个或多个平台配置寄存器(PCR寄存器)240、242、244,它们可被用来以可信方式记录并报告度量。处理单元210可支持一种PCR引文操作,该操作返回所标识的PCR寄存器240、242、244的引文或内容。处理单元210也可以支持PCR扩展操作,所述操作在所标识的PCR寄存器240、242、244中记录接收到的度量。具体地说,PCR扩展操作可以(i)将接收到的度量联接或附加到存储在所标识的PCR寄存器240、242、244中所存储的一个度量上,以获得一个附加后的度量,(ii)散列(hash)所述附加后的度量,以获得一个更新后的度量,其代表了接收到的度量和先前由所标识的PCR寄存器240、242、244记录的度量,以及(iii)将更新后的度量存储在PCR寄存器240、242、244中。
物理令牌150的处理单元210还可支持密封和解封操作。响应于密封操作,物理令牌150生成一个密封的对象,该对象包括一个对物理令牌150密封的对象以及一个指定的设备环境。反过来说,只有当一个对象是用物理令牌150的密钥加密的并且当前的设备环境满足为该密封对象指定的环境标准时,物理令牌150才可响应于解封操作返回该密封对象的对象。
用在这里,术语“对象”应被理解为一个广义的术语,包括一个或多个位的任何组合而不论其结构、格式或表示。而且,动词“散列”以及相关的形式在此使用时指的是对一个操作数或消息执行运算,以产生一个值或一个“散列值”。理想情况下,散列操作生成一个散列值,要想从该散列值中找到具有这个散列值的消息,在计算上是不可行的,并且也不可能从该散列值中确定出与具有这个散列值的消息有关的任何有用信息。此外,散列操作在理想情况下生成散列值,使得要确定两个产生同一散列值的消息在计算上是不可能实现的。散列操作在理想情况下具有以上性质,在实际当中,单向函数例如Message Digest 5函数(MD5)和SecureHashing Algorithm(SHA-1)生成一些散列值,要想从中推导出所述消息是很困难的,在计算上是很密集的和/或在现实中是不可行的。
可用多种不同的方式来实现物理令牌150。例如,遵循可信平台模块(TPM)的规范来实现物理令牌150,所述规范在可信计算平台联盟(TCPA)主规范,版本1.1,2001年7月31日中做了详细描述。
还是参考图2,虚拟令牌160可提供虚拟结构或软件结构,这些结构提供与物理令牌150类似的功能。具体地说,虚拟令牌160可以包括一个或多个虚拟处理单元250,这些单元可为计算设备100执行完整性功能。虚拟令牌160还可以根据非对称密码算法生成固定私钥260和对应的固定公钥262,使得固定私钥260和对应的公钥262是独一无二的,并且一旦激活就不可改变。
除了固定私钥/公钥对260、262之外,虚拟令牌160也可以根据非对称密码算法生成一个或多个辅助私有/公钥对270、272。虚拟令牌160还可以包括一个或多个虚拟PCR寄存器280,这些寄存器可被用于以可信的方式来记录并报告各种度量。
图3中示出了示例性的可信运行环境300。计算设备100可以利用处理器110的工作模式和特权级别来建立可信的运行环境300。如图所示,可信运行环境300可以包括可信虚拟机内核或监控器310、一个或多个标准虚拟机(标准VM)320和一个或多个可信虚拟机(可信VM)330。运行环境300的监控器310运行在最高特权的处理器环(例如0P)上的受保护模式中,以管理虚拟机320、330之间的安全屏障和特权屏障。此外,监控器310可包括实现虚拟令牌160的功能的代码。或者,可用单独的VT软件模块来实现虚拟令牌160。
标准VM 320可包括操作系统322和一个或多个应用程序324,所述操作系统322在VMX模式的最高特权处理器环(例如0D)上运行,所述应用程序324在VMX模式的较低特权处理器环(例如3D)上运行。因为监控器310运行所在的处理器环比操作系统322运行所在的处理器环具有更高的特权,所以操作系统322不具有对计算设备100的随意控制,相反,却受到监控器310的控制和约束。具体地说,监控器310可以防止操作系统322及其应用程序324访问受保护的存储器132和物理令牌150。
监控器310可以对可信内核332执行一种或多种量度,例如内核代码的散列,以获得一个或多个度量,可使得物理令牌150能用内核332的度量来扩展所标识的PCR寄存器244,并可将所述度量记录在存储于受保护存储器132中的关联PCR日志中。而且,监控器310可在受保护存储器132中建立可信VM 330,并在建立起来的可信VM 330中启动可信内核332。
类似地,可信内核332可对小应用程序(applet)或应用程序334进行一种或多种量度,例如对小应用程序的代码进行散列,以获得一个或多个度量。可信内核332接着通过监控器310使得物理令牌150用小应用程序334的度量来扩展所标识的PCR寄存器244。可信内核332还可以将所述度量记录在存储于受保护存储器132中的关联PCR日志中。而且,可信内核332可在受保护存储器132中已建立的可信VM 330中启动可信小应用程序334。
如果启动了图3中的可信运行环境300,则计算设备100可响应于此,也将对监控器310和虚拟令牌160的度量记录在监控器PCR寄存器240中,还将对硬件的度量记录在可信支持(TS)PCR寄存器242中。可响应于各种事件而启动可信运行环境300,例如系统启动、应用程序请求、操作系统请求等。
在一个示例性的实施例中,计算设备100如下所述地获得并记录对监控器310和虚拟令牌160的度量。处理器110散列监控器软件模块,以获得监控器度量。然后,处理器110使得物理令牌150利用所述监控器度量来扩展监控器PCR寄存器240,并将所述监控器度量记录在存储于受保护存储器132中的监控器PCR日志当中。此外,如果虚拟令牌(VT)功能被实现为单独的软件模块,则处理器110散列该VT软件模块,以获得VT度量。然后,处理器110使得物理令牌150利用所述VT度量来进一步扩展监控器PCR寄存器240,并将所述VT度量记录在监控器PCR日志中。监控器PCR寄存器240现在包括了一个既代表监控器310又代表虚拟令牌160的值。
计算设备100还可以将对硬件的度量记录在TS PCR寄存器242中,以提供对可信运行环境的硬件支持的记录。在一个示例性的实施例中,处理器110可以获得硬件标识符,例如处理器110、芯片集120和物理令牌150的处理器系列、处理器版本、处理器微代码版本、芯片集版本和物理令牌版本。然后,处理器110可以利用所获得的硬件标识符来扩展TSPCR寄存器242,并将所述硬件标识符记录在存储于受保护的存储器132中的TS PCR日志中。或者,处理器110可使用多于一个的PCR寄存器来记录硬件标识符。例如,处理器110可将每个所获得的硬件标识符存储到各个PCR寄存器240、242、244中。
现在参考图4,其中示出了示例性的密封操作。密封操作一般会使得一个密封组件(例如监控器310、内核332、可信小应用程序334、操作系统322、应用324、物理令牌150和/或虚拟令牌160)生成对某个令牌(例如物理令牌150或虚拟令牌160)来说是密封的密封对象SObj。
在方框410,密封组件请求一个令牌(例如物理令牌150或虚拟令牌160)执行密封操作。在方框414,该密封组件指定用于该密封操作的公开令牌密钥SK(例如公钥222、232、262、272)。密封组件向令牌提供要密封的对象Obj(方框418),并指定对象Obj要对之密封的环境标准(方框422)。例如,在方框422,密封组件可以通过标识出该令牌对当前设备环境的一个或多个方面具有度量的一个或多个PCR寄存器(例如PCR寄存器240、242、244、280),从而指定所述环境标准。在向令牌提供上述信息之后,在方框424,密封组件请求令牌完成密封操作。
响应于完成密封操作的请求,在方框426,所述令牌生成一个密封记录SealRec,该记录指定了对象Obj对之密封的环境标准(例如PCR寄存器240、242、244、280的引文)。在一个示例性实施例中,令牌生成的密封记录SealRec中包含了该令牌固有的唯一标识符。在方框430,令牌对对象Obj和密封记录SealRec进行散列,以获得可验证对象Obj和密封记录SealRec的完整性的摘要值DV。在方框434,令牌使用非对称加密算法和公开令牌密钥SK对对象Obj、密封记录SealRec和摘要值DV进行加密,生成密封对象SObj。在方框438,令牌向密封组件提供密封对象SObj,其包括用公开令牌密钥SK加密的对象Obj、密封记录SealRec以及摘要值DV。
现在参考图5,其中示出了示例性的解封操作。解封操作一般会使得一个解封组件(例如监控器310、内核332、可信小应用程序334、操作系统322、应用324、物理令牌150和/或虚拟令牌160)获取已对某个令牌(例如物理令牌150或虚拟令牌160)密封的对象Obj。
在方框510,解封组件请求一个令牌(例如物理令牌150或虚拟令牌160)执行解封操作。在方框514,解封组件指定用于解封操作的私有令牌密钥UK(例如私钥220、230、260、270)。在方框518,解封组件向令牌提供要解封的密封对象SObj。在方框522,解封组件请求令牌完成解封操作。
在方框526,令牌使用解封组件在方框514中指定的私有令牌密钥UK,解封所述密封组件SObj。如果所述私有令牌密钥UK对应于用于对密封对象SObj进行密封的公开令牌密钥SK,则在方框526,令牌就获得了对象Obj、密封记录SealRec以及摘要值DV。否则,令牌遇到错误条件和/或获得对象Obj、密封记录SealRec和摘要值DV的混乱表示。
在方框530,令牌散列所获得的对象Obj和密封记录SealRec以获得所计算的摘要值CDV。在方框534,令牌确定所获得的对象Obj和密封记录SealRec是否已被扰乱。例如,响应于所计算的摘要值CDV和所述摘要值DV之间具有预定关系(例如不相等),令牌可确定对象Obj、密封记录SealRec和/或摘要值DV已被扰乱。
响应于确定对象Obj、密封记录SealRec和/或摘要值DV已被扰乱,在方框538,令牌异常终止(abort)解封操作,并从该令牌中删除对象Obj、密封记录SealRec、摘要值DV以及所计算的摘要值CDV。否则,在方框542,令牌确定当前的设备环境是否满足为密封对象SObj指定的环境标准。例如,如果令牌由密封记录SealRec指定的PCR寄存器(例如PCR寄存器240、242、244、280)的引文和密封记录SealRec的引文具有预定关系(例如相等),并且如果从密封记录SealRec获得的唯一标识符和令牌固有的唯一标识符具有预定关系(例如相等),则令牌可确定当前的设备环境满足所述环境标准。
响应于确定当前设备环境不满足所述环境标准,在方框538,令牌异常终止解封操作,并从该令牌中删除对象Obj、密封记录SealRec、摘要值DV以及所计算的摘要值CDV。否则,在方框546,令牌向解封组件提供对象Obj。
上述示例性密封和解封操作通过非对称加密算法,使用公钥SK来密封对象Obj,并使用私钥UK来解封对象Obj。然而,令牌也可使用对称加密算法,利用单个密钥SUK对一个对象Obj进行密封和解封。例如,令牌可包括用于通过对称加密算法(例如DES、3DES、AES等等)来密封和解封对象的嵌入式密钥SUK。
图6中示出了一个示例性多令牌密封操作。所述多令牌密封操作一般会使得一个密封组件(例如监控器310、内核332、可信小应用程序334、操作系统322、应用324、物理令牌150和/或虚拟令牌160)生成对两个或更多令牌(例如物理令牌150或虚拟令牌160)密封的多令牌密封对象MSObj。下面的示例性多令牌密封操作是一个组件在相对于示例性计算设备100的物理令牌150和虚拟令牌160而密封对象Obj的上下文中进行描述的。然而,应该认识到所述密封组件也可对多于两个的令牌来密封对象Obj,并且该密封组件也可对不同的令牌组合(例如两个物理令牌)密封对象Obj。
在方框610,密封组件使用随机数生成器生成包含随机唯一性的密钥K。应注意,所述随机数生成器可生成伪随机数,因此使得密钥K包含伪随机唯一性。之后,通用术语“随机”用来同时表示真随机性和伪随机性。在方框620,密封组件使用密钥K和对称加密算法来加密对象Obj,以获得加密对象EObj。
为了获得密封的加密对象SEObj,在方框630,密封组件请求虚拟令牌160使用虚拟令牌160的指定密钥SK,将加密对象EObj针对于所指定的环境标准进行密封。例如,密封组件可通过标识出虚拟令牌160的一个或多个PCR寄存器280来指定所述环境标准,并可请求虚拟令牌160使用其辅助公钥272来密封所述加密对象EObj。响应于该请求,示例性实施例中的虚拟令牌160以与上述图4相类似的方式执行密封操作。例如虚拟令牌160可响应于密封请求而生成一个密封的加密对象SEObj,其包含所述加密对象EObj、密封记录SealRec以及可验证加密对象EObj和密封记录SealRec的完整性的摘要值DV,并将密封的加密对象SEObj提供给密封组件。
为了获得密封密钥SealK,在方框640,密封组件请求物理令牌150使用物理令牌150的指定密钥SK,将密钥K对所指定的环境标准进行密封。例如,密封组件可通过标识物理令牌150的一个或多个PCR寄存器240、242、244来指定所述环境标准,并可请求物理令牌150使用其辅助公钥232来密封密钥K。在一个示例性实施例中,密封组件至少指定了包含虚拟令牌160的度量的监控PCR寄存器240,以防止密钥K被公开到不包含正确的虚拟令牌160的运行环境中。响应于所述请求,示例性实施例中的物理令牌150以与上述图4类似的方式执行密封操作。例如,物理令牌150可以响应于所述密封操作请求,生成包含密钥K、密封记录SealRec以及可验证密钥K和密封记录SealRec的完整性的摘要值DV在内的密封密钥SealK,并将密封的密钥SealK提供给密封组件。
作为请求上述密封操作的结果,密封组件获得了一个多令牌密封对象MSObj,其包含两个密封部分:密封的加密对象SEObj和密封密钥SealK。在方框650,密封组件可存储多令牌密封对象MSObj的密封部分。例如,密封组件可将密封的加密对象SEObj和密封的密钥SealK存储到机器可读介质中,例如存储器130、I/O设备170的本地硬盘,或者通过网络控制器140存储到远程网络存储设备。
图7中示出了示例性多令牌解封操作。所述多令牌解封操作一般会使得一个解封组件(例如监控器310、内核332、可信小应用程序334、操作系统322、应用324、物理令牌150和/或虚拟令牌160)获取已对两个或更多令牌(例如物理令牌150或虚拟令牌160来说)密封的对象Obj。下述示例性多令牌解封操作是在一个组件在对一个已对示例性计算设备100的物理令牌150和虚拟令牌160密封的对象Obj进行解封的上下文中描述的。然而,应认识到该解封组件也可解封已对多于两个的令牌密封的对象Obj,并且该解封组件也可解封已对令牌的不同组合(例如两个物理令牌)密封的对象Obj。
在方框710,解封组件接收密封的加密对象SEObj和对应的密封密钥SealK。例如,解封组件可响应于从机器可读介质(例如存储器130、本地硬盘或远程网络存储设备)中获取密封的加密对象SEObj和对应的密封密钥SealK而接收它们。
为了获得加密对象EObj,在方框720,解封组件将密封的加密对象SEObj提供给虚拟令牌160,并请求虚拟令牌160解封所述密封的加密对象SEObj。响应于所述请求,示例性实施例中的虚拟令牌160以与图5类似的方式执行解封操作。具体地说,只有当当前设备环境满足为密封的加密对象SEObj指定的环境标准时,示例性实施例中的虚拟令牌160才向解封组件提供加密对象EObj。
为了获得密钥K,在方框730,解封组件向物理令牌150提供密封密钥SealK,并请求物理令牌150解封所述密封密钥SealK。响应于该请求,示例性实施例中的物理令牌150以和图5类似的方式执行解封操作。具体地说,只有在当前设备环境满足为密封密钥SealK指定的环境标准时,示例性实施例中的物理令牌150才向解封组件提供密钥K。
在方框740,解封组件使用密钥K和对称加密算法来解密所述加密对象EObj。作为解密该加密对象的结果,解封组件获得了对物理令牌150和虚拟令牌160密封的对象Obj。
图6和7中上述示例性多令牌密封和解封操作使用了单个对称密钥K和对称加密算法来加密对象Obj并解密对象Obj。然而,所述多令牌密封和解封操作也可使用公钥PubK来加密该对象,并使用私钥PrivK来解密对象Obj。例如,在方框610,令牌可生成私钥PrivK和对应的公钥PubK,并可将公钥PubK提供给密封组件。在方框620,密封组件可使用公钥PubK来加密对象Obj。然后,在方框640,密封组件可请求物理令牌150密封与公钥PubK对应的私钥PrivK,然后在方框740,解封组件可使用私钥PrivK来解密加密对象EObj。
而且,密封组件可将加密对象EObj对多于两个的令牌进行密封。例如,密封组件可将加密对象EObj划分成两个或更多的部分,并可将所述部分针对不同的虚拟令牌和/或物理令牌进行密封。密封组件可类似地将所述密钥进行划分以将加密对象EObj(例如对称密钥K或非对称私钥PrivK)解密成两个或更多的部分,并将所述部分对不同虚拟令牌和/或物理令牌进行密封。或者,密封组件可将对象Obj划分成多个对象Obj。密封组件然后用不同的密钥K来对每个Obj对象进行加密,以获得一组加密对象EObj,并可对不同的令牌组来密封每个加密对象EObj和关联密钥K。
图8示出了另一种示例性多令牌密封操作。所述多令牌密封操作一般会使得一个密封组件(例如监控器310、内核332、可信小应用程序334、操作系统322、应用324、物理令牌150和/或虚拟令牌160)生成对两个或更多令牌(例如物理令牌150或虚拟令牌160)密封的多令牌密封对象MSObj。下面的示例性多令牌密封操作是一个组件在相对于示例性计算设备100的物理令牌150和虚拟令牌160来密封对象Obj的上下文中进行描述的。然而,应该认识到所述密封组件也可对多于两个的令牌来密封对象Obj,并且该密封组件也可对不同的令牌组合(例如两个物理令牌)密封对象Obj。
在方框810,密封组件使用随机数生成器生成第一密钥K1和第二密钥K2,密钥K1和K2都具有随机唯一性。在方框820,密封组件基于第一密钥K1、第二密钥K2和密钥生成算法而生成第三密钥K3。例如,密封组件可通过对第一密钥K1和第二密钥K2进行按位的异或(XOR)运算,从而生成第三密钥K3。然而,密封组件可使用其他密钥生成算法来从密钥K1、K2获得第三密钥K3。在方框825,密封组件使用第三密钥K3和对称加密算法来加密对象Obj,以获得加密对象EObj。
为了获得第一密封密钥SealK1,在方框830,密封组件请求虚拟令牌160使用虚拟令牌160的指定密钥SK来对于所指定的环境标准密封第一密钥K1。例如,密封组件可通过标识出虚拟令牌160的一个或多个PCR寄存器280来指定所述环境标准,并请求虚拟令牌160使用其辅助公钥272来密封第一密钥K1。响应于所述请求,示例性实施例中的虚拟令牌160以和上述图4类似的方式执行密封操作,并将包含第一密钥K1、密封记录SealRec以及可验证第一密钥K1和密封记录SealRec的完整性的摘要值DV在内的第一密封密钥SealK1提供给所述密封组件。
为了获得第二密封密钥SealK2,在方框840,密封组件请求物理令牌150使用物理令牌150的指定密钥SK来对于所指定的环境标准密封第二密钥K2。例如,密封组件可通过标识出物理令牌150的一个或多个PCR寄存器240、242、244来指定所述环境标准,并请求物理令牌150使用其辅助公钥232来密封第二密钥K2。在一个示例性实施例中,密封组件至少指定了包含虚拟令牌160的度量的PCR寄存器240,以防止向不包含正确的虚拟令牌160的运行环境公开第二密钥K2。响应于所述请求,示例性实施例中的物理令牌150以和上述图4类似的方式执行密封操作,以获得第二密封密钥SealK2。物理令牌150还将包含第二密钥K2、密封记录SealRec以及可验证第二密钥K2和密封记录SealRec的完整性的摘要值DV在内的第二密封密钥SealK2提供给所述加密对象。
密封组件现在具有了一个多令牌密封对象MSObj,其包括3个密封部分:加密对象EObj、第一密封密钥SealK1和第二密封密钥SealK2。在方框850,密封组件可存储多令牌密封对象MSObj的多个密封部分。例如,密封组件可将加密对象EObj、第一密封密钥SealK1和第二密封密钥SealK2存储到机器可读介质例如存储器130、I/O设备170的本地硬盘中,或通过网络控制器140存储到远程网络存储设备。
图9中示出了一种示例性多令牌解封操作。所述多令牌解封操作一般会使得一个解封组件(例如监控器310、内核332、可信小应用程序334、操作系统322、应用324、物理令牌150和/或虚拟令牌160)获取已对两个或更多令牌(例如物理令牌150或虚拟令牌160来说)密封的对象Obj。下述示例性多令牌解封操作是在一个组件在对个已对示例性计算设备100的物理令牌150和虚拟令牌160密封的对象Obj进行解封的上下文中描述的。然而,应认识到该解封组件也可对已对多于两个的令牌密封的对象Obj进行解封,并且该解封组件也可对已对令牌的不同组合(例如两个物理令牌)密封的对象Obj进行解封。
在方框910,解封组件接收包括加密对象EObj、第一密封密钥SealK1和第二密封密钥SealK2在内的多令牌密封对象MSObj。例如,解封组件可响应于从机器可读介质例如存储器130、本地硬盘或远程网络存储设备中获取加密对象EObj和密封密钥SealK1、SealK2,从而接收它们。
在方框920,解封组件将第一密封密钥SealK1提供给虚拟令牌160,并请求虚拟令牌160解封第一密封密钥SealK1。响应于该请求,示例性实施例中的虚拟令牌160以和上述图5类似的方式进行解封操作。具体地说,只有在当前设备环境满足为第一密封密钥SealK1指定的环境标准时,示例性实施例中的虚拟令牌160才向解封组件提供第一密钥K1。
在方框930,解封组件将第二密封密钥SealK2提供给物理令牌150,并请求物理令牌150解封第二密封密钥SealK2。响应于该请求,示例性实施例中的物理令牌150以和上述图5类似的方式进行解封操作。具体地说,只有在当前设备环境满足为第二密封密钥SealK2指定的环境标准时,示例性实施例中的物理令牌150才向解封组件提供第二密钥K2。
在方框940,密封组件基于第一密钥K1、第二密钥K2和密钥生成算法而生成第三密钥K3。例如,密封组件可通过对第一密钥K1和第二密钥K2进行按位的异或(XOR)运算,从而生成第三密钥K3。然而,密封组件可使用其他密钥生成算法来从密钥K1、K2获得第三密钥K3。
在方框950,解封组件使用第三密钥K3和对称加密算法来解密加密对象EObj。作为加密对象EObj的解密结果,解封组件获得了以前对物理令牌150和虚拟令牌160密封的对象Obj。
图8和图9中上述多令牌密封和解封操作是在对两个令牌来密封对象Obj的上下文中描述的。然而,密封组件还可对多于两个的令牌来密封所述对象。例如,在方框810,密封组件可生成3个或更多的密钥,并在方框820由所生成的密钥生成加密密钥。在方框825,密封组件可使用在方框820中生成的加密密钥来加密所述对象。密封组件还可对计算设备100的各种令牌来密封用于生成所述加密密钥的密钥。
计算设备100可响应于执行机器可读介质的指令,执行密封/解封操作(图4和5)和/或多令牌密封/解封操作(图6-9)中的全部或一部分,所述机器可读介质例如是只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存器件和/或电、光、声或其他形式的传播信号例如载波、红外信号、数字信号、模拟信号。而且,尽管图4-9被示出为操作序列,但是计算设备100可并行或以不同顺序来执行所示出的密封/解封操作(图4和5)和/或多令牌密封/解封操作(图6-9)。
尽管已参考示例性实施例对本发明的某些特征进行了说明,但是所述说明不应被理解成限制性的。对本发明所属领域的技术人员来说可对所述示例性实施例以及本发明的其他实施例作出许多修改,这些修改都被认为是位于本发明的精神和范围之内。

Claims (36)

1.一种方法,包括
请求第一令牌解封多令牌密封对象的第一密封部分,以获得一个密钥,
请求第二令牌解封所述多令牌密封对象的第二密封部分,以获得一个加密对象,以及
使用所述密钥和所述加密对象以从所述多令牌密封对象获得一个对象。
2.如权利要求1所述的方法,还包括通过使用所述密钥来解密所述加密对象,从而获得所述多令牌密封对象的所述对象。
3.一种方法,包括
请求第一令牌解封多令牌密封对象的第一密封部分,
响应于所述第一令牌解封所述第一密封部分而接收第一密钥,
请求第二令牌解封所述多令牌密封对象的第二密封部分,
响应于所述第二令牌解封所述第二密封部分而接收第二密钥,
使用所述第一密钥和所述第二密钥来生成解密密钥,以及
通过使用所述解密密钥来解密所述多令牌密封对象的加密对象,获得所述多令牌密封对象的解密对象。
4.如权利要求3所述的方法,其中
获得所述多令牌密封对象的解密对象包括使用所述解密密钥和非对称加密算法来解密所述多令牌密封对象的加密对象。
5.如权利要求3所述的方法,还包括
只有当所述第一令牌确定当前设备环境满足为所述第一密封部分指定的环境标准时,才响应于所述第一令牌解封所述第一密封部分而接收第一密钥,
只有当所述第二令牌确定所述当前设备环境满足为所述第二密封部分指定的环境标准时,才响应于所述第二令牌解封所述第二密封部分而接收第二密钥。
6.如权利要求3所述的方法,还包括
只有当从所述第一密钥和所述第一密封部分的第一密封记录计算出的第一值和所述第一密封部分的第一摘要值具有预定关系时,才响应于所述第一令牌解封所述第一密封部分而接收所述第一密钥,以及
只有当从所述第二密钥和所述第二密封部分的第二密封记录计算出的第二值和所述第二密封部分的第二摘要值具有预定关系时,才响应于所述第二令牌解封所述第二密封部分而接收所述第二密钥。
7.如权利要求3所述的方法,还包括
只有所述第一令牌生成了所述第一密封部分时,才响应于所述第一令牌解封所述第一密封部分而接收第一密钥,
只有所述第二令牌生成了所述第二密封部分时,才响应于所述第二令牌解封所述第二密封部分而接收第二密钥。
8.一种方法,包括
请求多个令牌解封多令牌密封对象的多个密封部分,
响应于解封所述多令牌密封对象的多个密封部分而接收一个密钥,以及
使用所述密钥和一个加密对象来获得一个对象。
9.如权利要求8所述的方法,其中“获得”包括
使用所述密钥来解密所述加密对象,以获得所述对象。
10.如权利要求8所述的方法,其中“获得”包括
使用所述密钥和对称加密算法来解密所述加密对象,以获得所述对象。
11.如权利要求10所述的方法,还包括:只有在当前设备环境满足为所述多个密封部分指定的设备标准时,才解封所述多个密封部分。
12.如权利要求10所述的方法,还包括:只有当所述多个令牌生成了所述多个密封部分时,才解封所述多个密封部分。
13.一种方法,包括
请求计算设备的第一令牌相对于第一环境标准来密封多令牌密封对象的第一部分,以及
请求计算设备的第二令牌相对于第二环境标准来密封所述多令牌密封对象的第二部分。
14.如权利要求13所述的方法,还包括
使用对称加密算法和密钥来加密一个对象,以获得加密对象,
响应于所述第一令牌密封包含所述加密对象的所述第一部分,接收密封的加密对象,以及
响应于所述第二令牌密封包含所述密钥的所述第二部分,接收密封密钥。
15.如权利要求13所述的方法,还包括
使用非对称加密算法和非对称密钥对的加密密钥来加密一对象,以获得加密对象,
响应于所述第一令牌密封包含所述加密对象的所述第一部分,接收密封的加密对象,以及
响应于所述第二令牌密封包含所述非对称密钥对的解密密钥的所述第二部分,接收密封的解密密钥。
16.如权利要求13所述的方法,还包括
接收由所述第一令牌使用其第一密钥而加密的第一密封部分,所述第一密封部分包括所述第一密钥、包含由所述第一环境标准指定的一个或多个度量的第一密封记录、以及可验证所述第一密钥和所述第一密封记录的完整性的第一摘要值,以及
接收由所述第二令牌使用其第二密钥而加密的第二密封部分,所述第二密封部分包括所述第二密钥、包含由所述第二环境标准指定的一个或多个度量的第二密封记录、以及可验证所述第二密钥和所述第二密封记录的完整性的第二摘要值。
17.如权利要求16所述的方法,其中
所述第一密封记录包括所述第一令牌的第一唯一标识符,并且
所述第二密封记录包括所述第二令牌的第二唯一标识符。
18.如权利要求13所述的方法,还包括
使用基于第一密钥和第二密钥而生成的密钥来加密一对象,
响应于所述第一令牌密封包含所述第一密钥的所述第一部分,接收第一密封密钥,以及
响应于所述第二令牌密封包含所述第二密钥的所述第二部分,接收第二密封密钥。
19.如权利要求18所述的方法,还包括
通过使用所述第一令牌的第一密钥来加密所述第一部分和由所述第一环境标准指定的度量,生成第一密封部分,以及
通过使用所述第二令牌的第二密钥来加密所述第二部分和由所述第二环境标准指定的度量,生成第二密封部分。
20.如权利要求19所述的方法,其中
所述第一令牌包括虚拟令牌,并且
所述第二令牌包括物理令牌。
21.如权利要求20所述的方法,还包括
通过标识出所述物理令牌的至少一个包含所述虚拟令牌的度量的配置寄存器,指定所述第二环境标准。
22.如权利要求13所述的方法,还包括
通过标识出所述第一令牌记录了所述计算设备的度量的一个或多个配置寄存器,指定所述第一环境标准,以及
通过标识出所述第二令牌记录了所述计算设备的度量的一个或多个配置寄存器,指定所述第二环境标准。
23.如权利要求22所述的方法,其中
“指定所述第二环境标准”包括标识出所述第二令牌的至少一个包含了所述第一令牌的度量的配置寄存器。
24.如权利要求23所述的方法,其中
所述第一令牌包括虚拟令牌,并且
所述第二令牌包括物理令牌。
25.一种设备,包括
虚拟令牌,其包含一个或多个配置寄存器以及一个或多个处理单元,所述配置寄存器记录了设备环境的度量,所述处理单元用于生成包含对第一环境标准密封的第一密钥的第一密封密钥,
物理令牌,其包含一个或多个配置寄存器以及一个或多个处理单元,所述配置寄存器记录了所述设备环境的度量,所述处理单元用于生成包含对第二环境标准密封的第二密钥的第二密封密钥,以及
密封组件,用于基于所述第一密钥和所述第二密钥生成第三密钥,使用所述第三密钥来加密一个对象以获得加密对象,请求所述虚拟令牌密封所述第一密钥以获得所述第一密封密钥,并请求所述物理令牌密封所述第二密钥以获得所述第二密封密钥。
26.如权利要求25所述的设备,其中所述密封组件通过标识出对之密封了所述第一密钥的所述虚拟令牌的一个或多个配置寄存器,从而指定所述第一环境标准,并通过标识出对之密封了所述第二密钥的所述物理令牌的一个或多个配置寄存器,从而指定所述第二环境标准。
27.如权利要求26所述的设备,其中,所述密封组件指定了用来密封所述第一密钥的所述虚拟令牌的第一公钥,并指定了用来密封所述第二密钥的所述物理令牌的第二公钥。
28.如权利要求27所述的设备,其中
所述虚拟令牌通过使用所述第一公钥来加密所述第一密钥、包含由所述第一环境标准指定的度量的第一密封记录、以及可验证所述第一密钥和所述第一密封记录的完整性的第一摘要值,生成所述第一密封密钥,并且
所述物理令牌通过使用所述第二公钥来加密所述第二密钥、包含由所述第二环境标准指定的度量的第二密封记录、以及可验证所述第二密钥和所述第二密封记录的完整性的第二摘要值,生成所述第二密封密钥。
29.如权利要求25所述的设备,还包括一个解封组件,用于请求所述虚拟令牌解封所述第一密封密钥以获得所述第一密钥,请求所述物理令牌解封所述第二密封密钥以获得所述第二密钥,基于所述第一密钥和所述第二密钥生成第三密钥,并使用所述第三密钥来解密所述加密对象。
30.如权利要求29所述的设备,其中
只有在所述虚拟令牌的一个或多个配置寄存器的度量满足所述第一环境标准时,所述虚拟令牌的处理单元才会解封所述第一密封密钥并将所述第一密钥提供给所述解封组件,并且
只有在所述物理令牌的一个或多个配置寄存器的度量满足所述第二环境标准时,所述物理令牌的处理单元才会解封所述第二密封密钥,并将用来解密所述加密对象的第二密钥提供给所述解封组件。
31.如权利要求30所述的设备,其中
所述虚拟令牌通过使用所述虚拟令牌的第一私钥来解密所述第一密封密钥,以获得所述加密对象、第一密封记录以及可验证所述加密对象和所述第一密封记录的完整性的第一摘要值,从而解封所述密封对象,并且
所述物理令牌通过使用所述物理令牌的第二私钥来解密所述第二密封密钥,以获得所述第二密钥、第二密封记录以及可验证所述第二密钥和所述第二密封记录的完整性的第二摘要值,从而解封所述密封密钥。
32.如权利要求29所述的设备,其中
只有在所述第一密封密钥的第一摘要值与从所述第一密封密钥的所述第一密钥和第一密封记录计算出的值具有预定关系时,所述虚拟令牌的处理单元才会将所述第一密钥提供给所述解封组件,并且
只有在所述第二密封密钥的第二摘要值与从所述第二密封密钥的所述第二密钥和第二密封记录计算出的值具有预定关系时,所述物理令牌的处理单元才会将所述第二密钥提供给所述解封组件。
33.一种设备,包括
芯片集,
耦合到该芯片集的处理器,
耦合到所述芯片集的存储器,该存储器包含多条指令,所述指令被所述处理器执行时使得该处理器实现一个虚拟令牌,该虚拟令牌记录了设备环境的度量,接收用于生成解密密钥的第一密钥,并响应于接收到密封操作请求而密封所述第一密钥以符合所述虚拟令牌记录的一个或多个度量,以及
耦合到所述芯片集的物理令牌,该物理令牌用于记录所述设备环境的度量,接收用于生成所述解密密钥的第二密钥,并响应于接收到密封操作请求而密封所述第二密钥以符合所述物理令牌记录的一个或多个度量。
34.如权利要求33所述的设备,其中所述物理令牌记录的所述一个或多个度量包含虚拟令牌度量,并且所述物理令牌密封所述第二密钥以至少符合所述虚拟令牌度量。
35.如权利要求33所述的设备,其中所述物理令牌记录的所述一个或多个度量包含对导致所述处理器实现所述虚拟令牌的多条指令的度量,并且所述物理令牌密封所述第二密钥以至少符合所述多条指令的度量。
36.如权利要求33所述的设备,其中
所述多条指令执行时使得所述处理器生成包含所述第一密钥和所述虚拟令牌的第一唯一标识符的第一密封密钥,并且
所述物理令牌生成包含所述第二密钥和所述物理令牌的第二唯一标识符的第二密封密钥。
CNB038041472A 2002-02-22 2003-02-05 多令牌密封和解封 Expired - Fee Related CN100456200C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/082,600 US7480806B2 (en) 2002-02-22 2002-02-22 Multi-token seal and unseal
US10/082,600 2002-02-22

Publications (2)

Publication Number Publication Date
CN1678967A CN1678967A (zh) 2005-10-05
CN100456200C true CN100456200C (zh) 2009-01-28

Family

ID=27753130

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038041472A Expired - Fee Related CN100456200C (zh) 2002-02-22 2003-02-05 多令牌密封和解封

Country Status (8)

Country Link
US (1) US7480806B2 (zh)
EP (1) EP1540440A2 (zh)
JP (1) JP2005527019A (zh)
KR (1) KR100611687B1 (zh)
CN (1) CN100456200C (zh)
AU (1) AU2003216179A1 (zh)
TW (1) TWI236594B (zh)
WO (1) WO2003073245A2 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US7085931B1 (en) * 1999-09-03 2006-08-01 Secure Computing Corporation Virtual smart card system and method
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
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
EP1639462B1 (en) * 2003-06-27 2022-05-11 Oracle America, Inc. Hybrid system implementing distinct and co-existing application execution environments and methods for implementing the same
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
US7421588B2 (en) * 2003-12-30 2008-09-02 Lenovo Pte Ltd Apparatus, system, and method for sealing a data repository to a trusted computing platform
US7590867B2 (en) * 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
EP1632907B1 (en) * 2004-08-24 2019-10-30 Canon Kabushiki Kaisha Data-processing system and method for controlling same, computer program, and computer-readable recording medium
US7568225B2 (en) * 2004-09-08 2009-07-28 Hewlett-Packard Development Company, L.P. System and method for remote security enablement
US7653819B2 (en) * 2004-10-01 2010-01-26 Lenovo Singapore Pte Ltd. Scalable paging of platform configuration registers
US8037318B2 (en) * 2004-11-17 2011-10-11 Oracle America, Inc. System and methods for dependent trust in a computer system
US8539587B2 (en) * 2005-03-22 2013-09-17 Hewlett-Packard Development Company, L.P. Methods, devices and data structures for trusted data
US8429629B2 (en) * 2005-11-30 2013-04-23 Red Hat, Inc. In-kernel virtual machine for low overhead startup and low resource usage
US8612970B2 (en) * 2005-11-30 2013-12-17 Red Hat, Inc. Purpose domain for low overhead virtual machines
US8104034B2 (en) 2005-11-30 2012-01-24 Red Hat, Inc. Purpose domain for in-kernel virtual machine for low overhead startup and low resource usage
US7900059B2 (en) * 2005-12-13 2011-03-01 International Business Machines Corporation Sealing of data for applications
US8566606B2 (en) * 2006-04-21 2013-10-22 Interdigital Technology Corporation Apparatus and method for performing trusted computing integrity measurement reporting
GB0615015D0 (en) * 2006-07-28 2006-09-06 Hewlett Packard Development Co Secure use of user secrets on a computing platform
GB2443264A (en) * 2006-10-27 2008-04-30 Ntnu Technology Transfer As Integrity checking method for a device in a computer network, which controls access to data; e.g. to prevent cheating in online game
US8935771B2 (en) * 2006-11-06 2015-01-13 Safenet, Inc. System, method, and computer security device having virtual memory cells
US8738531B1 (en) * 2008-07-08 2014-05-27 InfoWatch Cryptographic distributed storage system and method
US8122514B2 (en) * 2008-07-30 2012-02-21 Microsoft Corporation Software enhanced trusted platform module
US8161285B2 (en) * 2008-09-26 2012-04-17 Microsoft Corporation Protocol-Independent remote attestation and sealing
KR101224717B1 (ko) * 2008-12-26 2013-01-21 에스케이플래닛 주식회사 소프트웨어 라이센스 보호 방법과 그를 위한 시스템, 서버,단말기 및 컴퓨터로 읽을 수 있는 기록매체
CN101483513B (zh) * 2009-02-09 2011-01-19 上海爱数软件有限公司 一种网络备份系统及其数据备份和数据恢复方法
US20110035808A1 (en) * 2009-08-05 2011-02-10 The Penn State Research Foundation Rootkit-resistant storage disks
US8774190B2 (en) * 2010-02-08 2014-07-08 Qualcomm Incorporated Enhanced resequencing of data received over a wireless communication system
US8353019B2 (en) * 2010-03-26 2013-01-08 Canon Kabushiki Kaisha Security token destined for multiple or group of service providers
US8479017B2 (en) * 2010-06-21 2013-07-02 Intel Corporation System and method for N-ary locality in a security co-processor
US8804158B2 (en) 2011-05-26 2014-08-12 Hewlett-Packard Development Company, L.P. Token generation from a printer
US8910161B2 (en) * 2012-07-13 2014-12-09 Vmware, Inc. Scan systems and methods of scanning virtual machines
US8995658B2 (en) * 2013-02-13 2015-03-31 Honeywell International Inc. Physics-based key generation
US9465960B2 (en) 2013-12-04 2016-10-11 Honeywell International Inc. Physics-based authentication
US9503433B2 (en) * 2014-03-27 2016-11-22 Intel Corporation Method and apparatus for cloud-assisted cryptography
US9641337B2 (en) * 2014-04-28 2017-05-02 Nxp B.V. Interface compatible approach for gluing white-box implementation to surrounding program
US10417634B1 (en) * 2014-08-29 2019-09-17 Amazon Technologies, Inc. On-line transaction verification service and apparatus
US10776808B2 (en) * 2017-03-21 2020-09-15 Paypal, Inc. Utilizing payment tokens to track rewards

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1116339A (zh) * 1994-08-01 1996-02-07 英特尔公司 在计算机系统中进行总线事项处理的方法和设备
WO1999063707A1 (en) * 1998-06-05 1999-12-09 Intel Corporation Method of controlling usage of software components
EP1056014A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company System for providing a trustworthy user interface
EP1055989A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company System for digitally signing a document
WO2001027723A1 (en) * 1999-10-08 2001-04-19 Hewlett-Packard Company Trusted computing platform with biometric authentication
US20020023032A1 (en) * 2000-08-18 2002-02-21 Hewlett-Packard Company Trusted system

Family Cites Families (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699532A (en) * 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) * 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) * 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4247905A (en) * 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) * 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5576447A (en) * 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4307447A (en) * 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4307214A (en) * 1979-12-12 1981-12-22 Phillips Petroleum Company SC2 activation of supported chromium oxide catalysts
US4319323A (en) * 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) * 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) * 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) * 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) * 1980-09-13 1982-04-22 Robert Bosch Gmbh, 7000 Stuttgart Auslesesicherung bei einchip-mikroprozessoren
US4521852A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
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
US4799258A (en) * 1984-02-13 1989-01-17 National Research Development Corporation Apparatus and methods for granting access to computers
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
FR2592510B1 (fr) * 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
FR2601476B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire
FR2601535B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission
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
FR2618002B1 (fr) * 1987-07-10 1991-07-05 Schlumberger Ind Sa Procede et systeme d'authentification de cartes a memoire electronique
US5007082A (en) * 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US5079737A (en) * 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
US5434999A (en) * 1988-11-09 1995-07-18 Bull Cp8 Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal
FR2640798B1 (fr) * 1988-12-20 1993-01-08 Bull Cp8 Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable
JPH02171934A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) * 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5442645A (en) * 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JP2590267B2 (ja) * 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5008935A (en) * 1989-06-30 1991-04-16 At&T Bell Laboratories Efficient method for encrypting superblocks of data
US5022077A (en) * 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2825550B2 (ja) * 1989-09-21 1998-11-18 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
CA2010591C (en) * 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
CA2027799A1 (en) * 1989-11-03 1991-05-04 David A. Miller Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
US5075842A (en) * 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US5108590A (en) * 1990-09-12 1992-04-28 Disanto Dennis Water dispenser
US5230069A (en) * 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5317705A (en) * 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5287363A (en) * 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
US5437033A (en) * 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5255379A (en) * 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5453003A (en) * 1991-01-09 1995-09-26 Pfefferle; William C. Catalytic method
US5522075A (en) * 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5319760A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5455909A (en) * 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
JPH06236284A (ja) * 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
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
US5486529A (en) * 1992-04-16 1996-01-23 Zeneca Limited Certain pyridyl ketones for treating diseases involving leukocyte elastase
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5796835A (en) 1992-10-27 1998-08-18 Bull Cp8 Method and system for writing information in a data carrier making it possible to later certify the originality of this information
JP2765411B2 (ja) * 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
US5668971A (en) * 1992-12-01 1997-09-16 Compaq Computer Corporation Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5469557A (en) * 1993-03-05 1995-11-21 Microchip Technology Incorporated Code protection in microcontroller with EEPROM fuses
FR2703800B1 (fr) * 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
FR2704341B1 (fr) * 1993-04-22 1995-06-02 Bull Cp8 Dispositif de protection des clés d'une carte à puce.
JPH06348867A (ja) * 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
FR2706210B1 (fr) * 1993-06-08 1995-07-21 Bull Cp8 Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants.
US5555385A (en) * 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US5825880A (en) 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5459869A (en) * 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
FR2717286B1 (fr) 1994-03-09 1996-04-05 Bull Cp8 Procédé et dispositif pour authentifier un support de données destiné à permettre une transaction ou l'accès à un service ou à un lieu, et support correspondant.
US5684881A (en) 1994-05-23 1997-11-04 Matsushita Electric Industrial Co., Ltd. Sound field and sound image control apparatus and method
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
JPH0883211A (ja) * 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
FR2725537B1 (fr) 1994-10-11 1996-11-22 Bull Cp8 Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe
US5903752A (en) 1994-10-13 1999-05-11 Intel Corporation Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
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
FR2731536B1 (fr) 1995-03-10 1997-04-18 Schlumberger Ind Sa Procede d'inscription securisee d'informations dans un support portable
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
US5768390A (en) * 1995-10-25 1998-06-16 International Business Machines Corporation Cryptographic system with masking
JP3693721B2 (ja) 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
US5657445A (en) * 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5809546A (en) 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US5729760A (en) * 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5740178A (en) * 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US6012144A (en) * 1996-10-08 2000-01-04 Pickett; Thomas E. Transaction security method and apparatus
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
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US6754820B1 (en) * 2001-01-30 2004-06-22 Tecsec, Inc. Multiple level access system
GB9905056D0 (en) * 1999-03-05 1999-04-28 Hewlett Packard Co Computing apparatus & methods of operating computer apparatus
GB0020488D0 (en) * 2000-08-18 2000-10-11 Hewlett Packard Co Trusted status rollback
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
US20020152392A1 (en) * 2001-04-12 2002-10-17 Motorola, Inc. Method for securely providing encryption keys
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7318235B2 (en) * 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US7421588B2 (en) * 2003-12-30 2008-09-02 Lenovo Pte Ltd Apparatus, system, and method for sealing a data repository to a trusted computing platform

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1116339A (zh) * 1994-08-01 1996-02-07 英特尔公司 在计算机系统中进行总线事项处理的方法和设备
WO1999063707A1 (en) * 1998-06-05 1999-12-09 Intel Corporation Method of controlling usage of software components
EP1056014A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company System for providing a trustworthy user interface
EP1055989A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company System for digitally signing a document
WO2001027723A1 (en) * 1999-10-08 2001-04-19 Hewlett-Packard Company Trusted computing platform with biometric authentication
US20020023032A1 (en) * 2000-08-18 2002-02-21 Hewlett-Packard Company Trusted system

Also Published As

Publication number Publication date
WO2003073245A3 (en) 2005-04-21
TW200400434A (en) 2004-01-01
WO2003073245A2 (en) 2003-09-04
US20030163711A1 (en) 2003-08-28
CN1678967A (zh) 2005-10-05
TWI236594B (en) 2005-07-21
US7480806B2 (en) 2009-01-20
KR20040094724A (ko) 2004-11-10
JP2005527019A (ja) 2005-09-08
EP1540440A2 (en) 2005-06-15
AU2003216179A1 (en) 2003-09-09
KR100611687B1 (ko) 2006-08-14

Similar Documents

Publication Publication Date Title
CN100456200C (zh) 多令牌密封和解封
CN100566243C (zh) 使用固定令牌和可移动令牌两者的计算设备及其方法
CN100335985C (zh) 将虚拟令牌连接到物理令牌
JP4498735B2 (ja) オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム
JP4660188B2 (ja) スリープ状態における攻撃からの保護
US8014530B2 (en) Method and apparatus for authenticated, recoverable key distribution with no database secrets
CN103221961B (zh) 包括用于保护多用户敏感代码和数据的架构的方法和装置
CN101251879B (zh) 用于保护数据的方法和装置
KR100996784B1 (ko) 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
US20050021968A1 (en) Method for performing a trusted firmware/bios update
US20050283826A1 (en) Systems and methods for performing secure communications between an authorized computing platform and a hardware component
US20020073316A1 (en) Cryptographic system enabling ownership of a secure process
AU2020244511B2 (en) Balancing public and personal security needs
EP1837789A2 (en) Method and apparatus for temporarily accessing content using temporary license
Khan et al. A protocol for preventing insider attacks in untrusted infrastructure-as-a-service clouds
CN114816549B (zh) 一种保护bootloader及其环境变量的方法及系统
EP3539010B1 (en) Balancing public and personal security needs
KR20070019790A (ko) 배포 cd를 사용하는 장치에 서명 그룹의 다이렉트 증명개인 키들을 전달하는 방법
Sarmenta et al. Virtual monotonic counters and count-limited objects using a TPM without a trusted OS (extended version)
CN117828557A (zh) 一种基于一次性程序的外包计算结果保护方法
Batten Trusted execution: applications and verification

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: 20090128

Termination date: 20190205