CN110069316A - 实体的完整性验证 - Google Patents

实体的完整性验证 Download PDF

Info

Publication number
CN110069316A
CN110069316A CN201910057627.3A CN201910057627A CN110069316A CN 110069316 A CN110069316 A CN 110069316A CN 201910057627 A CN201910057627 A CN 201910057627A CN 110069316 A CN110069316 A CN 110069316A
Authority
CN
China
Prior art keywords
entity
file
container
measurement result
integrity report
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.)
Granted
Application number
CN201910057627.3A
Other languages
English (en)
Other versions
CN110069316B (zh
Inventor
L·E·P·N·雅坎
H·阿塔克
奈杰尔·爱德华兹
G·D·C·马加良斯
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN110069316A publication Critical patent/CN110069316A/zh
Application granted granted Critical
Publication of CN110069316B publication Critical patent/CN110069316B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • 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/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • General Factory Administration (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及实体的完整性验证。示例涉及完整性报告。在实现中,启动实体以执行功能,该实体操作一个或多个文件用于执行该功能。响应于启动实体,生成实体图像完整性报告,对于由实体操作的一个或多个文件,该实体图像完整性报告包括对第一完整性报告中的文件测量结果的引用,该第一完整性报告包含可在一个或多个实体中操作的多个文件的测量结果。替代地,响应于启动实体,生成实体完整性报告,该实体完整性报告包括由实体操作的每个文件的文件测量结果。

Description

实体的完整性验证
背景技术
无服务器计算涉及云计算模型,其通过按需组装期望功能来提供创建服务的能力。在无服务器计算中,服务器供应商动态地管理机器资源的分配,并且可以对软件应用程序的开发者或操作者隐藏服务器管理决策。
无服务器计算可以包括运行程序并同时向多个客户端提供功能的主机。可以构建应用程序以在无服务器计算环境中运行,其中应用程序可以在需要时启用并且在不再需要时移除。这些应用程序可以被打包成自包含的实体,这些实体在服务器上提供的软件之上运行。术语“容器”可以用于指代对一组过程进行分组的实体的示例。期望能够确定这些应用程序的完整性。
附图说明
以下参照附图进一步描述本公开的示例,其中:
图1是示出用于对实体的完整性进行验证的示例系统的系统架构图;
图2是示出用于实现实体的验证的示例方法的流程图;
图3是示出在单个系统完整性报告被存储在系统中的情况下执行相关功能以生成容器图像完整性报告(IR)的模块的示例的逻辑图;
图4是示出在单个系统完整性报告被存储在系统中的情况下执行相关功能以验证容器的模块的示例的逻辑图;
图5是示出对于系统中启动的每个容器执行相关功能以生成容器完整性报告的模块的示例的逻辑图;以及
图6是示出在对于系统中启动的每个容器存在已启动容器完整性报告的情况下执行相关功能以验证容器的模块的示例的逻辑图。
具体实施方式
在无服务器计算中,可以通过按需组装期望功能来创建服务。容器可以被用于执行功能。容器是其中一个或多个过程的集合例如由操作系统OS被分组在一起的实体的示例。在一些情况下,分组机制使得所有过程共享旨在约束并因此包含过程行为的一个或多个操作系统工件(artifact)。这些操作系统工件的示例包括但不限于:过程命名空间、安装命名空间和网络命名空间。
容器提供可能不由替代计算范例提供的快速启动能力。然而,本领域技术人员将理解,诸如虚拟机、FreeBSD jails(监狱)或Solaris区域等替代方案可受益于本文所讨论的方法。具体地,本文给出的测量和验证示例可广泛应用于容器或类似实体之外。尽管本文结合某些示例涉及无服务器计算,但这是为了提供合适的计算环境的示例。在各种计算环境中可以需要验证文件,无论文件是由无服务器计算系统中的容器操作,还是以其他方式操作。
应用程序开发者可以通过开发应用程序的软件并将其提供给无服务器计算提供者来部署应用程序。然后可以根据对应用程序的需求来调用或执行应用程序。当应用程序的需求增加时,可以采用无服务器计算和容器的组合来快速扩展资源,因为可以根据需求在新容器中生成应用程序的新实例。还可以创建容器以执行单个相关联的功能,并且可以对存储在系统中的文件子集进行操作以执行该功能。
可以需要验证应用程序的完整性。当应用程序在容器内运行时,这也可以被称为容器验证,或者更一般地可以被称为证实,并且术语验证和证实(及其衍生物在本文中可互换使用,意义上没有预期的差异)。验证或证实过程可能涉及检查文件已更新为正确的版本,已使用正确的文件,以及文件未被损坏或未被篡改。这旨在确保应用程序按预期运行。证实是认证其完整性以证明其正确且未被篡改的程序的过程。
用于验证应用程序的系统的示例包括应用层、操作系统(OS)层以及硬件层。在应用层处,系统可以创建一个或多个实体用于执行一个或多个功能。实体可以是容器,其可以对一个或多个文件操作以执行功能。文件可以被存储在任何合适的储存器(例如服务器上的硬件驱动器)中,并且可以由OS使用。
可以响应于执行与容器相关联的功能的请求来创建并启动容器。在无服务器计算环境中,可以在由无服务器计算提供者所提供的硬件上管理并启动容器。
OS层可以包括OS。OS负责管理系统资源并且可以为运行在应用层中的应用程序提供公用服务或功能。OS可以通过应用层和硬件层之间的接口来实现在应用层中运行应用程序。大多数商用计算设备由OS操作。存在被编程以表现并被不同地操作的一系列商用OS。此外,可以针对不同类型的设备不同地设计一些OS。本领域技术人员应了解,可以在支持文件测量的任何OS上执行本文所讨论的方法和设备。
OS层中的OS还可以对运行在应用层中的应用程序执行完整性检查。完整性检查可以由完整性测量系统(IMS)执行,其可以形成OS的一部分,并且可以测量文件以获得用于与文件的已知值或预期值比较的数值。执行文件的测量的示例可以是IMS用于执行散列函数以生成文件的散列值。
来自测量的散列值可以被存储在系统中的储存器中。测量结果可被录入在全系统日志或寄存器中,其中包含系统中所有文件的测量结果。在替代示例中,IMS可以生成系统中的特定文件组的日志,其可以不包括系统中的所有文件。例如,IMS可以生成包含在多个相关容器上操作或者与多个相关容器相关联的文件的测量结果的日志。
可以执行文件的测量并将文件的测量结果存储在全系统完整性寄存器或系统日志中的OS的示例是Linux OS。在Linux OS的一些实现中,可以在第一次访问文件时对系统中的所有文件进行测量。该文件测量结果可以被存储在全系统完整性寄存器(也称为保护寄存器)中,该寄存器可以包括系统中所有文件的测量结果。例如,Linux内核可以包括支持文件命名空间的完整性测量扩展。
系统日志可以由硬件层中的硬件保护。例如,可以使用可信平台模块(TPM)来保护系统日志。TPM是可信计算的示例性实现。可信计算是一种开发用于确保设备以预期方式运行的技术。这通过基于硬件的实施来实现。通常,基于可信计算的设备将包括使用存储在其中的唯一加密密钥创建的硬件,其对于系统的剩余部分是不可访问的。可信计算或更具体地TPM的实现的示例可以在无服务器计算环境中,其中服务器或主机平台可以包括TPM以保护存储在服务器上的数据。由于服务器的操作可以包括启动共享环境中的应用程序时,因此TPM提供的保护是期望的。此密钥在制造时创建并且无法改变。计算环境中可信计算的使用旨在减轻基于软件的对系统的攻击。加密密钥可以在其制造期间被存储在TPM中,并且对于TPM可以是唯一的。通过在存在正确的软件和硬件组合时验证数据,这可用于保护数据免受基于软件的攻击。可信计算允许程序的远程证实,其中系统可以生成关于其文件和程序的证据并且将证据呈现给远程方。
硬件层还可以是包括TPM的嵌入式设备。TPM可以包括用于存储测量值的平台配置寄存器(PCR),其是上述保护寄存器的示例。将数值存储到PCR的过程可被称为扩展PCR。PCR可以是TPM中的存储器位置,其中由相关联的散列算法确定可以在PCR中存储的数值的大小。
扩展PCR可以包括对文件状态的测量结果执行单向散列,使得测量结果可以被保管在TPM中并且不能被移除。PCR的扩展可以包括使用TPM扩展操作扩展现有的存储值,之后可以对结果进行散列以生成要存储在PCR中的新值。
现在描述容器验证或证实过程的示例。可请求应用。作为响应,可以在应用层中创建并启动用于执行应用功能的实体,例如容器。实体可以对至少一个文件进行操作以执行功能。实体可以请求访问由TPM保护的系统日志中的文件的测量结果。
可以由OS控制IMS以测量在启动实体时由实体操作的至少一个文件。可以将由IMS获得的测量结果与系统日志进行比较。如果在系统日志中找不到文件的测量结果,则可以使用该测量结果来更新系统日志。如果文件测量结果存在于系统日志中但该文件测量结果已经改变,则可以使用新测量结果来更新系统日志。
可以在单个服务器上启动多个容器。在该情况下,容器可以对彼此共用的文件进行操作。因此,当启动容器时,如果之前启动的容器已经对最近启动的容器操作的所有文件进行操作,则可能不会使用由最近启动的容器操作的文件的测量结果来更新系统日志。
然后,在系统日志已经改变的情况下,可以将系统日志更新到TPM。
系统可以通过验证或证实系统日志来验证容器。作为示例,这可以在容器被生成或者由远程验证者或监控工具请求时执行。例如,当容器被生成时,可以初始化证实过程。可以由专用证实程序来执行证实。证实程序可以请求容器所使用的所有文件的测量结果,并且在适当的情况下使用新的测量结果更新包含文件的测量结果的系统日志。可以由TPM的加密密钥保护测量结果。证实程序可以通过验证TPM的签名、并随后将测量结果与文件的已知值或预期值进行比较来验证文件。例如可以在数据库中查找文件的预期值。
如果系统日志中的文件的测量结果匹配预期值,则实体被验证并且操作者知道实体将按预期运行以执行功能。
图1说明了用于对分组一组过程的实体的完整性进行验证的计算设备的系统架构的示例。图1的系统架构包括应用层102、OS内核层104和硬件层106。由图1表示的系统的类型的示例是无服务器计算提供者的服务器或主机平台。可以采用无服务器计算提供者的服务器来同时管理和扩展多个应用或容器的计算资源。因此,无服务器计算提供者的服务器可以被称为证实对象(attestee);运行需要验证的容器的服务器。
本领域技术人员将理解,图1中所示的计算设备以及与计算设备的每个部分相关联的过程和功能可以被形成为单个设备,或者可以是系统,其中例如用于运行容器的服务器与单独的证实服务器或监控工具通信。
图1的示例系统包括用于控制系统功能的主处理器126以及用于为系统提供存储器的主存储器128。
在图1的示例中,硬件层106包括安全协处理器122,该安全协处理器122例如可以是或可以包括TPM。安全协处理器122可以保护和/或存储保护寄存器(PR)124。保护寄存器是与上面讨论的可信计算术语中的PCR相对应的通用术语。保护寄存器124可以是为了测量系统日志120中存储的系统文件而提供的安全储存器。也就是说,存储在系统日志120中的文件测量结果的值可以在内部被散列和/或存储在保护寄存器124中的储存器中。在替代示例中,文件测量结果可以被存储在主存储器128中。存储在主存储器128中的文件可以通过诸如加密等机制保护。当系统日志120被改变时,安全协处理器122可以更新保护寄存器124。
系统日志120在本文中还可以被称为系统完整性报告或第一完整性报告。作为存储关于系统中所有文件的测量结果的全系统日志的替代,第一完整性报告可以包含文件子集的测量结果。例如,可以生成第一完整性报告,该第一完整性报告包含由特定容器组108或所有容器使用的文件(但不包括落在容器外部或不由容器操作的文件)的测量结果。
在图1的示例中,保护寄存器124由诸如安全协处理器122等硬件模块保护。然而,本领域技术人员将易于理解,保护寄存器124可以通过其他手段来保护。例如,可以采用虚拟TPM(vTPM)或其他基于软件的安全储存器。vTPM的一些实现可以允许多个虚拟TPM实例的创建和销毁。在一个示例实现中,vTPM可以被集成到管理程序环境中,使得TPM功能可应用于虚拟机。TPM的虚拟化可以基于将信任链从物理TPM扩展到vTPM的每个实例。TPM的虚拟化可以使单个系统中的多个实体表现得仿佛每个实体在具有每个实体的物理TPM的系统中操作,尽管可以存在单个物理TPM。
在图1的示例中,基于系统日志120的保护寄存器124被示出为由安全协处理器122(其可以是TPM)保护。
系统日志120可以被包括作为OS内核层104的一部分。系统日志120可以由完整性测量系统(IMS)118管理。IMS118可以测量系统中的文件并使用文件的新测量结果更新系统日志120。例如,这可以在容器108第一次访问文件时或者在服务器的开机时刻而执行。当容器108被启动时,IMS118可以测量文件。当在系统日志120中未找到文件的测量结果时或者当文件已经被改变时,IMS118可以更新系统日志120。
系统日志120可以包括由IMS118获得的系统中的每个文件的或者系统中的文件子集的文件测量结果。
文件的测量结果可以基于例如散列过程。包含系统中的文件的测量结果的系统日志120可以被存储在系统中的储存器中,并且可以通过各种技术(包括基于TPM的技术,如上所讨论的)保管。
应用层可以包括若干容器108。可以存在多个容器以提供过程,不限于图1中所示的两个容器的示例。还可以存在单个容器108。诸如容器108的容器是为了执行功能而对一组过程进行分组的实体的示例。容器108可以操作一个或多个文件用于执行功能。在所提供的图中,容器(C)可以被编号为C1…CN,其中N是整数计数器。
容器108可以由容器引擎(CE)116管理。容器引擎116可以根据容器108功能的请求而创建并启动容器108。这在图1的示例中未示出,图1的示例限于与完整性验证有关的处理流程。容器引擎116可以是在运行容器108的服务器或其他主机平台上安装和操作的软件。容器引擎可以是商用的,但是图1的示例系统不限于任何特定的容器管理实现。图1的容器引擎116可以表示能够启动或管理容器、或者创建或更新容器日志的任何软件或硬件元件。
容器引擎116可响应于运行由容器108执行的功能的请求来启动容器108。当容器108已经完成其相关联的功能的执行时,该容器108可以被删除。
容器引擎116还可以为每个容器108生成容器日志112。与容器C1相关联的容器日志112可以由符号“C1L”标识。容器日志112还可以被称为容器图像完整性报告(或容器图像IR)或者实体图像完整性报告(或实体图像IR)。容器日志112可以记录哪些文件由容器108操作并且包含对系统日志(SL)120中的每个文件测量结果的条目的引用(系统完整性报告)。也就是说,可以为每个容器108生成容器日志112,并且对于由与容器日志112相关联的容器108操作的文件,容器日志112可以包含对系统日志120中的文件测量结果的引用。容器日志112可以不存储测量值自身,而是可以替代地存储指向系统日志120中的用于特定文件的测量的条目的引用。如果系统日志120中没有文件的文件测量结果,则可以由IMS118测量该文件并且测量结果可以被存储在系统日志120中或者直接地存储在容器日志112中。
在替代示例中,可以使用未由IMS118存储在系统日志120内的、由容器108操作的文件的测量结果来更新容器日志112。例如,在一些操作系统中,可能无法测量特定类型的文件,或者可能无法测量未使用的文件,并且因此某些文件的测量结果可能不会存储在系统日志120中。IMS118可以测量系统中的任何文件并且测量结果可以被存储在容器日志112中。作为另一示例,容器日志112可以存储由容器108操作的所有文件的测量结果。
当容器108被启动时,容器引擎116可以为每个容器108创建容器日志112。容器日志112可以在容器引擎116启动容器108的相同系统或设备中本地保存,或者可以远程保存。可能需要保存容器日志112,因为容器日志112能够在已经终止容器108之后执行容器108的验证。替代地,可以在容器108被破坏之后的任何时间销毁或丢弃容器日志112。
可以通过将容器日志112与预期由容器108操作的文件的列表进行比较来对容器108执行证实。例如,可以将容器日志112与容器108的已知良好状态进行比较。可以从单独的数据库访问已知的良好状态,图1中未示出。将由容器108操作的文件与预期由容器108操作的文件的列表进行比较允许验证者验证容器108已经操作正确的文件。
可以通过首先验证系统日志120(如上所述,可以将称为系统完整性报告或第一完整性报告)来验证容器108的完整性。为了验证系统日志120,验证者可以将系统日志120中的每个文件的测量结果与相同文件的已知或可信版本的测量结果进行比较。这可以被存储在单独的数据库中并被查找,或者可以被存储在相同设备中。
执行系统日志120的验证以验证具有存储在系统日志120中的文件测量结果的多个文件是否正确。一旦已经执行了该操作,就可以执行单个容器108的证实而不重复由容器108操作每个单个文件的测量。与测量由容器操作的每个文件的过程相比,这减少了用于验证容器的处理开销。这种益处与其中多个容器108可以被启动的无服务器计算的本质相结合,其中容器108可以对公共文件进行操作。
验证者还可以单独验证容器108,作为容器日志112充当容器108已经使用哪些文件的记录的结果。如果容器日志112没有被创建,则为了验证容器108,验证者可能首先需要验证整个平台,因为如果在第一次使用文件时产生文件的测量结果,则如果文件已被之前容器使用,则可能不对容器108操作的文件进行文件测量。例如,如果容器C1对文件F1进行操作,容器C2对文件F2进行操作,以及容器C3对文件F1和F2进行操作,那么如果在已经运行C1和C2之后执行C3,则不会向系统日志添加任何内容,因为已经测量了由C3操作的所有文件。
可以本地或远程地执行证实。当由容器引擎116启动或者按需由验证者或监控工具启动容器108时,证实可以被执行。
图2是说明用于生成容器日志112的示例方法的流程图。
在编号202处,请求容器引擎116来开启容器N(CN)。
在204处,容器引擎116启动容器CN并创建与容器CN相关联的容器日志CNL。如图1,在图2的示例中,容器日志CNL可以包含对存储在单独的系统日志或系统完整性报告中的测量结果的引用。图2的容器日志CNL可以另外被称为容器图像IR或实体图像IR。
在206处,容器CN对文件进行操作。例如,容器CN可以请求访问文件(例如文件foo)或请求执行该文件,该文件可以被存储在服务器或主机平台上。每个容器108可以对文件的预定选集进行操作以便执行与容器108相关联的功能。
在208处,IMS118对由容器CN操作的文件进行测量,并确定文件的测量结果是否存在在系统日志120中。文件的测量结果可以与文件状态的加密记录相对应。在图2所示的示例中,文件的测量结果可以指示之前是否已经测量了文件,因为测量结果自身可以指示文件在系统日志120中。
如果在系统日志120中未找到文件的测量结果,在210处,方法进一步包括将文件的测量结果录入在系统日志120中。如果自从之前测量了文件以来文件已经改变,则文件的测量结果也可以被录入系统日志120中。
图2的示例方法开始于请求容器引擎116来启动容器108的阶段。在此之前,包含系统中文件的测量结果的系统日志120可能已经被生成,或者在由其他容器访问之后,文件可能已经被测量。然而,如果不存在系统日志120或第一完整性报告(第一IR),则在208处,IMS可以生成将被存储在系统中的系统日志120或第一IR。
在212处,确定系统日志120是否已经改变。如果系统日志120已经改变,则系统日志120的完整性被存储在第一保护寄存器PR 124中。将系统日志120的完整性存储在第一保护寄存器PR中可以包括通过扩展PCR来保护TPM中的系统日志。
本领域技术人员将理解,TPM是保管或保护系统日志120的数据和文件测量结果的示例,并且这可以由替代手段来实现。
在214处,如果在系统日志120中找到了文件的测量结果,则不更新系统日志120。
在216处,使用对系统日志120中文件的测量结果的引用或指针来更新容器日志CNL 112。这可以被执行而不管系统日志120是否已经被更新或者是否在系统日志120中找到文件的测量结果。
容器日志112中录入的引用可以不是测量结果的值,但是可以是将验证者指引到包含该文件的测量结果的系统日志120的正确部分的标志。在替代示例中,容器日志112还可以存储测量值。
容器日志112可以由IMS118或容器引擎116更新。本领域技术人员将理解,容器日志112可以由具有对容器日志112的访问的系统的任何合适部分来更新。
当容器108被终止时,可以终止图2的流程图的示例方法。如果容器108在容器108的寿命期间对任何新文件进行操作,则新文件可以由IMS测量并且测量结果被存储在系统日志120、容器日志112或者两者中。可以使用对系统日志120或第一IR中的新文件的测量结果的引用来更新容器日志112。
在图2的示例中,如果系统日志120已经改变,则由于IMS118获得的、之前未存在于系统日志120中的文件的测量结果,保护寄存器PR被更新。当获得新测量结果时访问或更新保护寄存器,可以减小系统的处理开支。在一些示例中,这可能是期望的,例如本文公开的那些示例中的一些,其中保护寄存器由诸如TPM等硬件保护,因为TPM可以不是面向性能的。特别地,这在执行证实时可能是期望的,因为结合使用容器日志112,验证者可以单独地验证容器108而不会引起与TPM相关联的性能损失。
在替代示例中,替代每次在图2的208处测量文件,系统或IMS118可以例如访问数据库,其中记录已知已经测量的文件的列表以确定是否之前已经测量特定文件foo。
图3和图4分别是示出示例完整性报告IR生成和容器证实过程的逻辑图。在图3和图4中,缩写IR应被解释为意味着完整性报告。以下所述的系统IR 320对应于图1和图2的系统日志120。类似地,以下所述的容器图像IR 306对应于图1和图2的容器日志112。在每种情况下,“容器”在例如由OS分组在一起的一组过程意义上是更广义术语“实体”的具体示例。图3和图4与稍后讨论的图5和图6不同,主要在于它们说明了在其中生成单个第一IR或系统IR且各自单个TPM可用的情况下完整性报告IR生成和容器证实的过程,以及对在第一IR中存储的测量结果的引用被录入在容器图像IR中。
转到图3,容器引擎302可以启动308第一容器310。本领域技术人员将理解,容器310被提供为对一组过程进行分组的实体的示例。
图3说明了用于对分组一组过程的容器进行完整性验证的示例方法。方法包括启动容器310以执行功能。容器310操作一个或多个文件用于执行功能。响应于启动容器310,生成容器图像完整性报告306。对于由容器310操作的一个或多个文件,容器图像完整性包括对系统完整性报告320中的文件测量结果的引用。系统完整性报告320包含可在一个或多个容器中操作的多个文件的测量结果。
容器310可以请求314对来自OS的文件的访问。OS可以包括用于执行完整性相关过程的组件,例如IMS118。OS完整性模块316对文件进行测量并将新的测量结果录入318在系统完整性报告IR 320中。系统IR 320包括单个第一IR,其可以由多个容器图像IR引用。如上所述,系统IR 320可以包括系统中所有文件的测量结果,或者可以仅包括系统中文件子集的测量结果。
OS完整性模块316还可以使用新的测量结果来扩展322TPM 324中的保护寄存器,例如PCR。如上所述,这可以基于散列函数来执行。散列函数可以用于使用新的测量结果来更新已经存储在TPM内的关于之前存储在系统IR 320内的测量结果的散列。尽管图3涉及物理TPM 324,但是本领域技术人员将理解,可以利用任何其它基于硬件或软件的保护或存储。例如,测量结果可以以基于软件的机制来加密。
图3的容器引擎302还可以将容器图像IR保持304在容器图像IR 306的集合中。容器图像IR可以包含对系统IR 320中的文件的测量结果的引用。
容器310可以访问新文件。可以将新文件事件312通知容器引擎302并且可以使用关于新文件的信息来更新容器图像IR。也就是说,容器引擎302可以引用存储在系统IR 320中新的文件测量结果来更新容器图像IR,该新的文件测量结果对应于在新文件事件312中由容器310操作的文件。
转到图4,说明了示例证实过程。图4的证实过程是在其中存在例如由图3的逻辑图生成的单个系统完整性报告IR(第一IR)的情况下的证实过程的示例。
在图4中,OS证实客户端402可以从TPM 404接收406PCR存储的测量结果。OS证实客户端402可以从OS完整性模块408接收410系统完整性报告IR。OS证实客户端402可以从容器图像IR 412的群组接收414特定容器的容器图像完整性报告IR。
图4的容器图像IR包括对由容器操作的文件的文件测量结果的引用,其中文件测量结果被存储在系统IR 410中。图4的容器图像IR可以另外被称为实体图像IR。
如上所述,提供系统IR作为示例,但是替代地OS完整性模块408可以生成第一完整性报告IR并将第一完整性报告IR提供给OS证实客户端402,该第一完整性报告IR包括与系统IR 410的那些文件不同的文件集合的测量结果。例如,第一IR可以包括由特定容器或容器群组操作的文件子集的测量结果。
OS证实客户端402可以与证实服务器418通信并可以将IR和PCR测量结果传送416到证实服务器418。
OS证实客户端402可以是用于执行证实过程的软件。由证实服务器证实的实体可以被称为证实对象。OS证实客户端402可以被实施在运行待验证的容器310的服务器上。OS证实客户端402可以在可以保护测量结果和完整性报告IR的系统硬件与系统的软件元件之间进行接口。替代地,可以使用基于软件的技术来保护测量结果和IR。
证实服务器418可以是启动并运行容器的设备的单独设备、运行OS证实客户端402的设备,或者两者。替代地,这些都可以是单个计算设备的一部分。
证实服务器418可以通过将系统IR和PCR进行比较420来证实422系统IR(证实对象)。作为示例,可以通过散列函数来处理系统IR以获得值。可以将该值与存储在PCR中的值进行比较。基于该比较,证实服务器418可以决定系统中的文件的系统IR中的测量结果是否正确。
证实服务器418还可以通过将容器图像IR(证实对象)与系统IR进行比较424来证实426容器文件。证实服务器418可以将容器图像IR与系统IR进行比较来检查容器是否已经对已经通过证实系统IR而验证过的文件进行操作。如果容器使用的文件全部通过证实系统IR而被验证,则容器图像IR可以被验证。
证实服务器418还可以通过将容器图像IR中引用的文件与容器要操作的预期文件的列表进行比较来证实426容器文件。例如,证实服务器418可以将容器操作的文件与容器的已知良好状态进行比较。例如,可以从存储在容器集线器上的容器的图像来生成容器的已知良好状态。容器的已知良好状态可包含有关容器预期将要操作哪些文件的信息。作为从不同设备接收与已知良好状态有关的信息的替代,证实服务器418可以存储信息自身,或者可以将容器图像IR传送到另一设备以执行比较。
图5是示出执行相关功能以生成容器引擎502启动的容器1的容器完整性报告IR的模块的示例的逻辑图,其中容器IR可包括由容器操作的文件的文件测量结果。遍及图5和图6的描述,缩写IR涉及完整性报告。应理解,可以为多个启动的容器复制图5的过程。本领域技术人员将理解,容器506被提供作为对一组过程进行分组的实体的示例。
图5说明了用于对分组一组过程的容器进行完整性验证的示例方法。方法包括启动容器506以执行功能。容器506操作一个或多个文件用于执行功能。响应于启动容器506,生成与启动的容器506相对应的容器完整性报告524,容器完整性报告524包括由容器操作的每个文件的文件测量结果。
在图5的示例中,容器IR 524可包含由容器操作的文件的测量结果,并且不包含其他文件测量结果。图5的容器IR可以另外被称为实体IR。在图5的示例中,容器IR可以被用作图3和图4的容器图像IR和系统IR的替代。在这方面,容器IR 524执行与图3的系统IR 320类似的角色,因为该容器IR 524存储了关于由特定容器访问的那些文件的实际测量结果,不同之处在于对于每个容器可以存在单独的容器IR来存储那些测量结果。在其他示例中,实体(容器)IR可以不包括除了由各自实体(容器)操作的文件之外的其他文件的文件测量结果。因此,应理解,实体IR不同于上面结合图3和图4讨论的第一IR或系统IR,该第一IR或系统IR存储了可由多个容器访问或影响的文件的文件测量结果,使得可以包括与由任何给定容器操作的文件集合不相关的测量结果。
在图5中,容器引擎502启动504容器506。可以响应于用于由容器506执行特定功能的请求来启动容器506。该请求可源于对功能的需求的增大,例如,或者使用服务器的操作者的期望计算资源的改变。
容器506可以从操作系统OS请求文件访问508。OS可以包括用于执行完整性相关过程的组件,例如IMS118。OS完整性模块510可以执行容器506访问的文件的测量。
OS完整性模块510关于启动的容器506而生成容器IR 524。如上所述,容器IR用于存储由该容器访问的文件的实际文件测量结果520。OS完整性模块510还可以通过使用新的测量结果而扩展516虚拟PCR(vPCR 10,例如,尽管本领域技术人员将理解可以使用任何vPCR)来更新虚拟TPM 518。更新vPCR的过程可以与上面结合图3的步骤322描述的过程相同。
OS完整性模块510进一步使用关于容器506访问的文件的文件测量结果520来更新pPCR 11日志522。也就是说,pPCR 11日志522还存储文件测量结果,但是与容器IR 524不同之处在于,pPCR 11日志522存储关于多个(或所有)容器访问的文件的文件测量结果。在这方面,pPCR 11日志522可以被视为形成第一IR或系统IR并且如此等同于图3的系统IR 320。OS完整性模块510还可以通过将新测量结果扩展512到物理PCR(pPCR 11,例如,尽管本领域技术人员将理解可以使用任何pPCR)来更新TPM 514。也就是说,存储在TPM 514中的pPCR11可以包括存储在pPCR 11日志522中文件测量结果的散列。
可以单独使用或组合使用物理PCR和虚拟PCR。本领域技术人员将理解,提供的物理和虚拟TPM和PCR的示例不应是限制性的,因为可以为此目的使用任何合适的数据保护手段。系统还可以使用虚拟TPM 518和物理TPM 514两者。
附图参考特定的vPCR和pPCR标号,但是这被提供为示例。本领域技术人员将理解可以使用任何vPCR和pPCR。
根据示例,对于每个容器,存在容器完整性报告524和虚拟TPM 518以及pPCR11日志和物理TPM。与图3不同,容器IR 524不包括对另一IR的显式引用,但是隐含地,容器IR524中的每个文件测量结果也存在于pPCR 11日志522中(并且由存储在TPM 514中pPCR 11保护)。当证实容器文件时(下面结合图6更详细地描述),第一步骤包括通过检查针对物理PCR的聚合完整性值来验证存储在pPCR 11日志522中的测量结果。如果被验证,则容器IR与PCR日志交叉引用并且还使用虚拟TPM验证。如果容器IR是一致的,最后,容器IR中的文件测量结果条目被用于通过检查已知良好状态数据库来验证容器文件是否是正确的。
在图5的示例中,每个容器存在一容器IR和一虚拟TPM,其中容器IR可以包括由容器506操作的文件的文件测量结果。附加地,根据每个虚拟TPM扩展命令(由OS完整性510触发的文件测量),相同的测量结果可以被复制到物理TPM514以便使用硬件组件来确保测量结果。具体地,TPM pPCR保持来自多个vTPM(vPCR)的测量结果。
图6是示出执行相关功能以在为每个容器生成单独的IR(容器完整性报告,IR)的情况下验证或证实容器的模块的示例的逻辑图。
可以在图5的上下文中考虑图6,因为文件的测量、测量结果的存储和保护以及容器IR 524的创建可以在执行图6的方法之前发生。
与图5一样,在图6的示例中,容器IR包含由容器操作的文件的测量结果,并且不包含其他文件测量结果。图5的容器IR可以另外被称为实体IR。
在图6的示例逻辑图中,OS证实客户端614从OS完整性模块606接收608容器IR 524和PCR日志522。作为示例,在图6中,从OS完整性模块606接收PCR 11日志。OS证实客户端614可以从TPM 602接收604pPCR。OS证实客户端614可以从虚拟TPM 610接收612vPCR。
OS证实客户端614可以是用于执行证实过程的软件。OS证实客户端614可以被实现在运行待验证的容器506的服务器上。OS证实客户端614可以在可以保护测量结果和IR的系统的硬件与系统的软件元件之间进行接口。替代地,可以使用基于软件的技术来保护测量结果和IR。
OS证实客户端614可以将IR和PCR传输616到证实服务器618。证实服务器618可以是用于在运行在另一设备或系统上的实体上远程执行证实的设备或系统。替代地,证实服务器618可以被实施为运行待验证的实体或容器506的相同设备或系统的一部分。
证实服务器618可以通过首先检查620PCR值与来自PCR日志的最终完整性值来证实物理PCR 622。然后,证实服务器618可以验证每个容器IR条目唯一地存在于PCR日志中并且具有相同的完整性值,这意味着容器日志也是完整的。
证实服务器618可以基于容器IR和vPCR 624来证实626容器文件。vPCR 624作为图6中的示例而提供,并且本领域技术人员将容易理解,可以由本领域技术人员已知的任何机制(包括pPCR)来保护容器IR。证实服务器618可以通过将文件测量结果和预期值进行比较来证实626容器文件。例如,已知的测量结果可以被存储在证实服务器618中,或者从单独的数据库检索。证实服务器618可以从另一设备接收已知的文件测量结果,并且执行比较,或者证实服务器618可以将容器IR中的文件测量结果输出到另一设备以执行比较。证实服务器618可以使用第一IR来交叉检查容器IR中引用的文件,以验证容器已经对预期文件进行操作并且文件处于期望的状态或正确的状态。
验证者可以基于上述证实过程来验证容器。如果证实过程是成功的,则如所预期的,验证者可以确信容器正在运行或过去在运行。
在上面给出的示例中,每个被启动的容器生成容器图像完整性报告或容器完整性包括。然而,作为另一替代,容器可以以任何方式分组,使得可以存在单个容器图像IR或用于一组两个或多个容器的容器IR,同时允许存在多个容器图像IR或容器IR。不排除将组合使用容器图像IR和容器IR的混合的选项。也就是说,图3和图4以及图5和图6的各自示例不是相互排斥的。
在一个示例中,用于对分组一组过程的实体进行完整性验证的计算设备可以包括:处理器,用于:启动实体以执行功能,该实体操作一个或多个文件用于执行该功能;以及响应于启动实体:生成实体图像完整性报告,对于由实体操作的一个或多个文件,该实体图像完整性报告包括对第一完整性包括中的文件测量结果的引用,第一完整性报告包含可在一个或多个实体中操作的多个文件的测量结果;或者生成与启动的实体相对应的实体完整性报告,该实体完整性报告包括由实体操作的每个文件的文件测量结果。
本说明书(包括任何所附权利要求、摘要和附图)中公开的所有特征可以以任何组合进行组合,除了其中一些这样的特征是互斥的组合。
除非另外明确说明,否则本说明书(包括任何所附权利要求、摘要和附图)中公开的每个特征可以由用于相同、等同或类似目的的替代特征代替。因此,除非另外明确说明,否则所公开的每个特征是一系列等同或类似特征的一个示例。
本教导不限于任何前述示例的细节。可以设想本说明书(包括任何所附权利要求、摘要和附图)中公开的特征的任何新颖组合。权利要求不应被解释为仅涵盖前述示例,而是还涵盖落入权利要求范围内的任何变型。

Claims (19)

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.一种用于对实体进行完整性验证的方法,所述实体对一组过程进行分组,所述方法包括:
启动所述实体以执行功能,所述实体操作一个或多个文件用于执行所述功能;以及
响应于启动所述实体:
生成实体图像完整性报告,对于由所述实体操作的一个或多个文件,所述实体图像完整性报告包括对第一完整性报告中的文件测量结果的引用,所述第一完整性报告包含能在一个或多个实体中操作的多个文件的测量结果;或者
生成与所启动的实体相对应的实体完整性报告,所述实体完整性报告包括由所述实体操作的所述文件中的每个文件的文件测量结果。
17.根据权利要求16所述的方法,其中所述实体是容器。
18.根据权利要求16所述的方法,进一步包括可信平台模块保护所述第一完整性报告或所述实体完整性报告。
19.根据权利要求16所述的方法,进一步包括:
当所述实体完整性报告被生成时,通过将所述实体完整性报告与预期由所述实体使用的一个或多个文件进行比较来验证所述实体;
其中如果所述实体完整性报告中的所述文件测量结果与预期由所述实体使用的所述文件的所述文件测量结果匹配,则所述实体被验证;或者
当所述实体图像完整性报告被生成时,通过将所述实体图像完整性报告与预期由所述实体使用的一个或多个文件进行比较来验证所述实体;
其中如果所述实体图像完整性报告中引用的所述文件与预期由所述实体使用的所述文件匹配,则所述实体被验证。
CN201910057627.3A 2018-01-22 2019-01-22 实体的完整性验证 Active CN110069316B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/876,370 US10853090B2 (en) 2018-01-22 2018-01-22 Integrity verification of an entity
US15/876,370 2018-01-22

Publications (2)

Publication Number Publication Date
CN110069316A true CN110069316A (zh) 2019-07-30
CN110069316B CN110069316B (zh) 2023-11-17

Family

ID=65279398

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910057627.3A Active CN110069316B (zh) 2018-01-22 2019-01-22 实体的完整性验证

Country Status (3)

Country Link
US (1) US10853090B2 (zh)
EP (1) EP3514714B1 (zh)
CN (1) CN110069316B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111111209A (zh) * 2019-12-23 2020-05-08 福建天晴在线互动科技有限公司 一种游戏客户端完整性校验和修复的方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11330441B2 (en) * 2019-05-14 2022-05-10 T-Mobile Usa, Inc. Systems and methods for remote device security attestation and manipulation detection
US11528194B2 (en) * 2019-09-06 2022-12-13 Jpmorgan Chase Bank, N.A. Enterprise control plane for data streaming service
US11334670B2 (en) 2020-01-28 2022-05-17 Hewlett Packard Enterprise Development Lp Integrity verification for a software stack or part of a software stack
CN111698091B (zh) * 2020-05-26 2022-08-19 东南大学 一种基于可信计算的Docker平台动态防护方法
US11367499B2 (en) * 2020-08-28 2022-06-21 Rockwell Collins, Inc. Mitigating single-event upsets using containerization
US11874926B2 (en) 2020-12-07 2024-01-16 Hewlett Packard Enterprise Development Lp Measuring containers

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000054126A1 (en) * 1999-03-05 2000-09-14 Hewlett-Packard Company Smartcard user interface for trusted computing platform
US20060015717A1 (en) * 2004-07-15 2006-01-19 Sony Corporation And Sony Electronics, Inc. Establishing a trusted platform in a digital processing system
US20080015808A1 (en) * 2006-05-02 2008-01-17 The Johns Hopkins University Methods and system for program execution integrity measurement
CN101504704A (zh) * 2009-03-17 2009-08-12 武汉大学 由星型信任链支持的嵌入式平台应用程序完整性验证方法
CN102103673A (zh) * 2009-12-16 2011-06-22 英特尔公司 在隐藏执行环境中提供完整性验证和证明
CN102342141A (zh) * 2009-03-05 2012-02-01 交互数字专利控股公司 用于H(e)NB完整性验证和确认的方法和装置
CN103038745A (zh) * 2010-05-21 2013-04-10 惠普发展公司,有限责任合伙企业 扩展完整性测量
CN103765427A (zh) * 2011-09-07 2014-04-30 英特尔公司 检验设备的固件完整性

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2392262A (en) * 2002-08-23 2004-02-25 Hewlett Packard Co A method of controlling the processing of data
US7669239B2 (en) * 2003-09-15 2010-02-23 Jpmorgan Chase Bank, N.A. Secure network system and associated method of use
US20050132122A1 (en) * 2003-12-16 2005-06-16 Rozas Carlos V. Method, apparatus and system for monitoring system integrity in a trusted computing environment
US20050283601A1 (en) * 2004-06-22 2005-12-22 Sun Microsystems, Inc. Systems and methods for securing a computer boot
CN1904916A (zh) * 2005-07-29 2007-01-31 鸿富锦精密工业(深圳)有限公司 快速获取新旧主板材料变更的系统及方法
US20080134321A1 (en) * 2006-12-05 2008-06-05 Priya Rajagopal Tamper-resistant method and apparatus for verification and measurement of host agent dynamic data updates
US8468356B2 (en) * 2008-06-30 2013-06-18 Intel Corporation Software copy protection via protected execution of applications
CN102662871B (zh) 2012-03-29 2016-05-11 山东超越数控电子有限公司 一种基于可信密码模块的虚拟磁盘完整性保护系统及方法
US9081843B2 (en) * 2012-11-06 2015-07-14 Tibco Software Inc. Data replication protocol with steady state data distribution and quorum formation
MY188366A (en) * 2012-12-05 2021-12-06 Mimos Berhad A system and method for establishing trustworthiness of an application
US9582513B2 (en) * 2013-12-08 2017-02-28 Microsoft Technology Licensing, Llc Accessing data in a compressed container through dynamic redirection
CN105069353B (zh) 2015-08-11 2017-10-24 武汉大学 一种基于Docker的可信容器安全加固方法
CN109416718B (zh) 2015-12-24 2023-05-12 英特尔公司 云数据中心中应用容器的可信部署
US10228924B2 (en) * 2016-04-19 2019-03-12 International Business Machines Corporation Application deployment and monitoring in a cloud environment to satisfy integrity and geo-fencing constraints
US10528740B2 (en) * 2017-06-15 2020-01-07 International Business Machines Corporation Securely booting a service processor and monitoring service processor integrity
US10460130B1 (en) * 2017-09-18 2019-10-29 Amazon Technologies, Inc. Mechanism to protect a distributed replicated state machine
US10635821B2 (en) * 2017-10-13 2020-04-28 Baidu Usa Llc Method and apparatus for launching a device
US10033756B1 (en) * 2017-10-26 2018-07-24 Hytrust, Inc. Methods and systems for holistically attesting the trust of heterogeneous compute resources

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000054126A1 (en) * 1999-03-05 2000-09-14 Hewlett-Packard Company Smartcard user interface for trusted computing platform
US20060015717A1 (en) * 2004-07-15 2006-01-19 Sony Corporation And Sony Electronics, Inc. Establishing a trusted platform in a digital processing system
US20080015808A1 (en) * 2006-05-02 2008-01-17 The Johns Hopkins University Methods and system for program execution integrity measurement
CN102342141A (zh) * 2009-03-05 2012-02-01 交互数字专利控股公司 用于H(e)NB完整性验证和确认的方法和装置
CN104918252A (zh) * 2009-03-05 2015-09-16 交互数字专利控股公司 用于对wtru执行完整性验证的方法及wtru
CN101504704A (zh) * 2009-03-17 2009-08-12 武汉大学 由星型信任链支持的嵌入式平台应用程序完整性验证方法
CN102103673A (zh) * 2009-12-16 2011-06-22 英特尔公司 在隐藏执行环境中提供完整性验证和证明
CN103038745A (zh) * 2010-05-21 2013-04-10 惠普发展公司,有限责任合伙企业 扩展完整性测量
CN103765427A (zh) * 2011-09-07 2014-04-30 英特尔公司 检验设备的固件完整性

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
XIAO YUELEI: "A Mutual Integrity Reporting Scheme for Remote Attestation", 《CHINA COMMUNICATIONS》 *
徐国愚等: "基于时间的平台完整性证明", 《计算机工程》 *
徐国愚等: "基于时间的平台完整性证明", 《计算机工程》, no. 06, 20 March 2009 (2009-03-20) *
陈新: "可信计算中的动态完整性度量方法研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111111209A (zh) * 2019-12-23 2020-05-08 福建天晴在线互动科技有限公司 一种游戏客户端完整性校验和修复的方法
CN111111209B (zh) * 2019-12-23 2022-04-26 福建天晴在线互动科技有限公司 一种游戏客户端完整性校验和修复的方法

Also Published As

Publication number Publication date
EP3514714A1 (en) 2019-07-24
US20190227810A1 (en) 2019-07-25
EP3514714B1 (en) 2021-05-26
CN110069316B (zh) 2023-11-17
US10853090B2 (en) 2020-12-01

Similar Documents

Publication Publication Date Title
CN110069316A (zh) 实体的完整性验证
US10338946B1 (en) Composable machine image
US10218696B2 (en) Targeted secure software deployment
CN107679393B (zh) 基于可信执行环境的Android完整性验证方法和装置
CN106796641A (zh) 针对运行已验证软件的硬件的端到端安全性
CN111222176B (zh) 基于区块链的云存储持有性证明方法、系统及介质
US11886593B2 (en) Verification of a provisioned state of a platform
Jayaram et al. Trustworthy geographically fenced hybrid clouds
CN106911814A (zh) 大规模数据分布式存储方法
CN107135223A (zh) 海量数据管理系统的数据持久化方法
Jean-Louis et al. SGXonerate: Finding (and Partially Fixing) Privacy Flaws in TEE-based Smart Contract Platforms Without Breaking the TEE
AU2010336503B2 (en) Securing execution of computational resources
EP4054115A1 (en) Optimizing docker image encryption - kubernetes using shamir secrets to enforce multiple constraints in container runtime environment
CN112115101B (zh) 一种云存储中数据的确定性删除方法及系统
Jenkins Defense in Depth of Resource-Constrained Devices
Beri et al. Dynamic software component authentication for autonomous systems using slack space
EP4182826B1 (en) A method of attesting a state of a computing environment
EP4182820B1 (en) Computing device for establishing a trusted execution environment
KR102369874B1 (ko) 무결성 검증 대상 디바이스에 대한 os 및 무결성 정보의 통합 업데이트 방법 및 원격 검증 시스템, os 배포 서버 및 무결성 검증 대상 디바이스
US20230049131A1 (en) Corruption determination of data items used by a build server
CN117390655B (zh) 一种基于数据库的数据加密方法及系统
US20240111876A1 (en) K-anonymous vulnerability detection
US20230280912A1 (en) A storage module for storing a data file and providing its hash
CN110348246B (zh) 一种验证信息的生成方法、装置、终端设备和介质
Lee et al. Application Integrity Assurance System: Using Blockchain for Securing Application Package Integrity

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant