利用工作证明对资源受限环境中的可信代理的测量的执行

文档序号:144465 发布日期:2021-10-22 浏览:22次 >En<

阅读说明:本技术 利用工作证明对资源受限环境中的可信代理的测量的执行 (Execution of measurements on trusted agents in resource-constrained environments using proof of operation ) 是由 S·索姆 B·C·特尔弗 于 2020-02-25 设计创作,主要内容包括:在客户端计算设备的可信执行环境(TEE)内操作的可信代理被配置有复杂的计算难题(例如,散列函数或其他工作证明难题),以供远程服务在可信代理执行操作之前解决。可信代理可以具有与难题相关联的策略,其中该策略限定了难题被解决的统计上限定的时间段。统计上限定的时间段通过控制难题的复杂性的参数来被实现。试图滥用可信代理的恶意软件或不良行为者被限制,直到远程服务解决难题为止,该难题被配置有花费统计上限定的时间段的复杂性水平。(A trusted agent operating within a Trusted Execution Environment (TEE) of a client computing device is configured with complex computational challenges (e.g., hash functions or other working certification challenges) for remote services to resolve before the trusted agent performs operations. The trusted agent may have a policy associated with the puzzle, where the policy defines a statistically defined period of time for which the puzzle is resolved. The statistically defined time period is achieved by a parameter that controls the complexity of the puzzle. Malware or malicious actors attempting to abuse a trusted agent are limited until the remote service solves a problem configured with a level of complexity that takes a statistically defined period of time.)

利用工作证明对资源受限环境中的可信代理的测量的执行

背景技术

客户端计算设备(诸如膝上型计算机、个人计算机和具有传感器和网络连接以报告数据的物联网(IoT)使能的设备)可以被配置有可信执行环境(TEE),可信执行环境(TEE)具有执行各种操作的一个或多个可信代理。可信代理可能通过恶意软件和其他技术被不可信方滥用,其中不可信方可以重复利用由可信代理提供的操作。例如,如果可信代理负责提供登录或授权令牌,则恶意软件可以持续获取或用尽令牌供其自己使用,或者将它们传递给其他未授权方。

发明内容

在客户端计算设备的可信执行环境(TEE)内操作的可信代理被配置有复杂的计算难题或挑战(例如,散列函数或其他工作证明难题),以供远程服务在可信代理执行操作之前解决。将客户端计算设备操作与难题的解决绑定可以限制客户端计算设备可以执行的操作的数目,从而防止不良行为者恶意增加使用量。使用与难题相关联的参数,针对可信代理的难题的复杂性以及因此解决难题所需的统计上限定的时间段,是可调整的。复杂计算难题的利用提供了以下好处:保护可信代理的资源、处理器以及在客户端计算设备上操作的可信代理和应用之间共享的其他系统资源。

提供本发明内容以便以简化的形式介绍一些概念,这些概念将在下面的详细描述中进一步被描述。本发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中指出的任何或所有缺点的实现。应当理解,上述主题可以被实现为计算机控制的装置、计算机进程、计算系统,或者诸如一个或多个计算机可读存储介质等制品。通过阅读以下

具体实施方式

并且查看相关联的附图,这些和各种其他特征将是清楚的。

附图说明

图1示出了说明性环境,其中客户端计算设备的可信代理在从远程服务接收到工作证明时提供对操作请求的授权;

图2示出了客户端计算设备的说明性架构,其被配置有富执行环境(REE)和可信执行环境(TEE);

图3示出了富执行环境和可信执行环境的说明性硬件架构;

图4示出了说明性的图,其中独特且唯一的难题与每个可信代理相关联;

图5示出了计算难题的说明性分类法;

图6示出了说明性环境,其中难题的参数可以基于策略中的统计上限定的时间段而变化;

图7示出了说明性环境,其中操作请求被限制,直到难题的工作证明被验证为止;

图8示出了难题被周期性地评估的说明性环境;

图9示出了客户端计算设备确定工作证明是否过时的说明性环境;

图10-图12示出了由客户端计算设备和远程服务中的一个或两个执行的说明性方法的流程图;

图13是说明性客户端计算设备的简化框图,其可以至少部分地用于利用工作证明实施对资源受限环境中的可信代理的目前的测量的执行;以及

图14是说明性远程服务器或计算机系统的简化框图,其可以部分地用于利用工作证明实施对资源受限环境中的可信代理的目前的测量的执行。

附图中相同的附图标记指示相同的元件。除非另有说明,否则元素未按比例绘制。

具体实施方式

客户端计算设备利用和提供复杂的计算难题或挑战(例如,散列函数或其他工作证明难题),以供远程服务在客户端计算设备的可信执行环境(TEE)内的可信代理可以执行操作之前解决。远程服务可以是请求可信代理的服务(例如,授权令牌),或者可以是由客户端计算设备利用的分开的可信服务。可信代理向远程服务提供用于解决的难题,以适应通常与TEE相关联的资源受限环境,诸如配置有传感器和网络连接以生成和传送遥测数据的物联网(IoT)使能的设备。将难题的解决置换到远程服务可以节省客户端计算设备的TEE内的处理器使用、存储器等。TEE不会浪费资源解决难题或存储令牌使用信息,而是可以通过验证工作证明来验证远程服务解决了难题。验证工作证明比解决难题的功能使用更少的资源,向客户端计算设备证明难题被解决,以及触发可信代理的操作。

可信代理被配置有策略,策略包括针对难题的解决的统计上限定的时间段和针对难题的参数。统计上限定的时间段可以是在上限和下限之间限定的时间段(例如,10分钟-15分钟),或者可以是预期解决难题的平均时间(例如,10分钟、1小时等)。通过设置针对难题的复杂性水平,参数可以实现在策略内限定的统计上限定的时间段。复杂性水平可以有效地增加或减少远程服务解决难题所需的时间。操作被远程服务解决可信代理提供给它的难题的能力所限制,因为可信代理的每个操作被绑定到难题的解决。根据针对可信代理的设置时间表限制操作,可以防止恶意软件或不良行为者试图持续访问或累积可信代理的操作。难题的利用和验证针对难题的工作证明使得能够真正计量可信代理的使用。虽然远程服务可以连续尝试提前解决来自可信代理的难题,但远程服务最终将被策略限定的统计时间段约束。例如,如果远程服务在五分钟内解决了统计上需要七分钟的难题,那么下一难题可以在统计上被配置成需要十分钟来解决。

策略被配置成调节相应可信代理操作的使用(例如,令牌使用)。针对TEE内的每个可信代理,该策略可以变化。一个可信代理可以具有一个策略,该策略具有用于在统计上需要十分钟来解决的难题的参数,而另一可信代理可能有一个策略,该策略具有用于在统计上需要五分钟来解决的难题的参数。

难题可以被跟踪以验证它们在时间段到期时被解决,并且工作证明没有过时。客户端计算设备的TEE知道远程服务可以在特定时间段内解决相应的难题,因此客户端计算设备可以设置远程服务以工作证明进行响应的最大时间。如果可信代理在设置时间到期时没有接收到远程服务的针对难题的工作证明,则可信代理可以无视任何未来的工作证明。时间段到期之后接收的工作证明可以指示不良行为者正试图解决难题。

策略可以被周期性地重新评估,以解决遇到的潜在问题。例如,远程策略服务可以用于存储针对可信代理的记录,以评估远程服务解决难题的结果。如果策略服务确定相应可信代理的难题中的一些难题在统计上被解决得太快,则可以利用具有不同复杂性的新难题来重新配置策略,以根据统计上限定的时间段来限制可信代理的操作。此外,过快解决的难题可以指示不良行为者正试图渗透系统。可以每天、每周、在检测到问题时或通过其他指标来重新评估难题。

利用计算工作证明难题来限制可信代理操作可以增强TEE、一般计算设备和具有有限资源的操作的安全性。通过实施配置有参数的工作证明难题,该参数实现针对可信代理操作的统计上限定的时间段),可以牵制不良行为者或恶意软件试图增加可信代理的使用的场景。这提供了保护可信代理的资源、处理器和在客户端计算设备上操作的可信代理和应用中间共享的其他系统资源的好处。限制操作使管理员能够在抑制恶意攻击的同时,根据普通和预期的使用来操作可信代理。

现在转向附图,图1示出了说明性环境,其中与客户端计算设备105相关联的可信代理120在执行操作之前经受测量的执行。外部服务150向在客户端计算设备的可信执行环境145内操作的可信代理120发起操作请求115。虽然该操作的执行示出了与外部服务进行通信,但在其他实施例中,该操作可以由客户端计算设备本地触发。可信代理120被限制执行请求的操作,直到远程服务110解决计算难题130或挑战,并且向可信代理提供可验证的工作证明135(例如,答案)为止。可信代理在验证了工作证明时授权并且执行操作(例如,提供授权令牌),如由附图标记140说明性示出的。

图2示出了客户端计算设备105的说明性架构,其具有与可信执行环境(TEE)145并行运行的富执行环境(REE)205。REE可以面向公众,并且因此经受附加暴露和安全风险。相比之下,TEE可以在与REE隔离的情况下安全地操作,以执行更敏感性质的操作。这种敏感操作可以包括处理机密个人信息、银行数据或提供用于访问远程服务或账户的访问或授权令牌。

如图2中说明性示出的,REE和TEE具有常规的计算配置来操作。在简化形式中,REE和TEE均包括应用、操作系统和硬件层(统一由附图标记210和215表示),尽管TEE被隔离并且其中的硬件和软件被认为是可信的。TEE和REE可以根据标准颁布的规范来被配置,尽管也可以利用其他方法和/或标准来被配置。TEE可以至少满足最低要求,其中计算设备具有唯一的安全身份,TEE内部的任何代码都是操作者授权的(例如,以便可以使用硬件强制执行TEE,以使尝试经由缓冲区溢出被注入到TEE中的恶意软件不能被安全处理器执行),并且TEE内部的任何数据都不能被TEE外部的代码读取。

应用层支持一个或多个可信代理120和由操作系统可执行的应用。面向公众的应用层可以支持诸如浏览器、消息应用等的应用,而TEE中的应用层可以支持可信操作。可信代理可以执行客户端计算设备本地的各种功能和操作,或者可以与外部服务互操作。

可信代理可以保护和提供授权或访问令牌,以使客户端计算设备登录由远程服务支持的账户,或者访问由远程服务提供的解决方案。物联网(IoT)使能的客户端计算设备(例如,诸如恒温器和冰箱的家用电器、诸如起重机和挖掘机的工业机械等)可以使用来自可信代理的授权令牌来周期性地访问IoT中心,该IoT中心为IoT设备提供特定的解决方案。IoT解决方案可以包括被配置成支持特定IoT设备功能并且与其互操作的软件,诸如人工智能和机器学习算法和过程、分析工具、自动化操作和数据存储等等。利用TEE内部的可信代理来提供访问令牌可以促进可信授权程序,以使未授权的用户不能访问或使用IoT解决方案或可信代理的操作。

操作系统层可以管理硬件和应用层在其中操作的系统操作。在REE中,操作系统(OS)可以包括而TEE可以运行与公共OS并行运行的安全OS。OS层均可以支持提供两种环境的互操作性的TEE应用编程接口(API)220。即,REE中的客户端TEE API可以用于开始与TEE的会话,并且从而允许TEE内部的可信代理120执行操作。

如图2中所描绘的,硬件层支持处理器和存储器。虽然REE和TEE被说明性地示为彼此不同地操作,但是各种硬件组件可以被分区,以使硬件的一部分专用于公共操作,并且硬件的一部分仅专用于可信操作。组件和系统的这种分区提供了由TEE提供的安全隔离。

图3示出了利用REE 205和TEE 145的计算设备105的示例性硬件。如所示的,硬件组件可以被分区以将TEE与REE隔离。REE和TEE均包括类似的组件,它们与其他环境不同地操作。如说明性所示的,各种组件包括随机存取存储器305、只读存储器310、外围设备315(例如,输入/输出设备)、(多个)处理核320、一次性密码(OTP)字段325、密码加速器330和总线360以进行通信。在一个示例性实施例中,REE可以利用外部易失性存储器335和外部非易失性存储器345,并且存储器的一部分可以具有排他性地专用于TEE的受保护区域,如由附图标记340和350代表性地图示的。图2和图3中图示的图仅是说明性的,并且满足TEE提供的安全环境的其他配置也是可能的。

图4示出了说明性环境,在其中客户端计算设备的TEE 145被配置有多个可信代理120。每个可信代理可以被配置成执行离散操作405,包括与其他应用或外部服务互操作、执行事务、提供访问或授权令牌,或者执行其他功能。例如,可信代理可以用于通过提供由相应可信代理保护的访问或授权令牌,来支持对不同远程服务(例如,IoT解决方案、用于膝上型计算机的账户服务等)的访问。

每个计算难题130对于可信代理可以是唯一的,包括难题的类型和配置、以及如下所述的与难题相关联的策略。图5示出了可以由给定可信代理120实现的计算难题130的说明性和非穷尽的分类法,包括散列函数510和整数因式分解515。

图6示出了在其中可以控制和利用难题130的复杂性605的水平,来实现针对难题解决的统计上限定的时间段610的说明性图。基于可信代理的操作或使用,为相应难题限定的策略对于可信代理可以是唯一的。每个难题可以具有限定统计上限定的时间段(例如,平均预期时间)的设置策略615,在该统计上限定的时间段上难题可以被解决以限制可信代理操作。统计上限定的时间段可以是在上限和下限之间限定的时间段(例如,10分钟-15分钟),或者可以是预期解决难题的平均时间(例如,10分钟、1小时等)。

针对难题的参数620可以用于配置难题的复杂性,并且从而调整用于解决的统计上限定的时间段。例如,取决于计算机可以检查以标识目标散列的可能解决方案的数目(或随机值),使用SHA-256的加密散列函数可以更加困难。在示例性实施例中,使用SHA-256,难题可以被配置成使得存在一百万个可能的解决方案(例如,从X0到X1000000)来标识目标散列。计算机可以尝试每种可能的解决方案(例如X0、X1、X2等),直到与目标散列的匹配被标识为止。

通过增加可能的解决方案的数目(例如,增加到1亿个可能的解决方案)或者减少可能的解决方案的数目(例如,减少到1000个可能的解决方案),可以分别促进增加或减小散列难题的难度。图6示出了以滑动比例形式描绘的三个示例,其中针对难题的参数可以被配置成规定复杂性605的水平,并且从而实现策略615内设置的统计上限定的时间段610。每个示例包括难题的复杂性水平相对于更大数目的解决方案625和更少数目的解决方案630的变化的放置。

参数和相关联的复杂性水平取决于策略内的统计上限定的时间段。增加针对解决的策略的限定的时间段可以通过增加针对难题的可能的解决方案的数目来被促进,并且减少针对解决的策略的限定的时间段可以通过减少针对难题的可能的解决方案的数目来被促进。虽然解决不同难题的时间量可能变化,但是远程服务解决多个难题的总时间段可以平均为策略内的统计上限定的时间段。例如,对于一个难题,比统计上限定的时间段更早地猜测出目标散列的值的计算机,对于解决后续难题可以超过统计上限定的时间段,从而符合策略。

返回参考图1,在接收操作请求115时,可信代理将难题130传送到远程服务以供解决。操作请求可以来自外部服务、客户端计算设备的REE或TEE中的本地应用或者其他源。远程服务解决难题所需的时间量可以取决于难题的复杂性,难题的复杂性取决于由策略规定的统计上限定的时间段(图6)。在解决难题时,远程服务将工作证明135传送到可信代理以进行验证。工作证明的验证相对容易,因为对于散列函数,可信代理检查从工作证明值的输出的散列与目标散列相对应。计算难题和工作证明的利用可以防止单个不良行为者或恶意软件持续使用可信代理的所有资源,并且使能了用于标识问题的用户时间。

图7示出了说明性环境,在其中操作请求705被限制,直到工作证明被可信代理120验证为止。在该示例中,操作请求由恶意软件或不良行为者715发起,恶意软件或不良行为者715可能正试图持续利用可信代理的资源或操作。可信代理为登录或证明过程提供授权令牌的场景可能使恶意软件或不良行为者能够持续取回授权令牌、执行未授权的使用或者将使用传递给第三方。如图7中所示,操作请求的每个实例被限制,直到工作证明被可信代理验证710为止。可信代理被配置成:在验证了针对单个难题的工作证明时,执行单个操作。每个难题被连续解决,使得后续难题不被可信代理传送或解决,直到待决的难题被可信代理解决和验证为止。虽然多个操作可以被请求提交给可信代理并且在可信代理处待决,但是可信代理一次只能外包单个难题。

将计算难题外包给远程服务使客户端计算设备105能够在其资源受限的环境中节省资源。例如,在TEE和客户端计算设备处的处理器和分配的存储器通常可能是有限的。将计算难题外包给远程服务使客户端计算设备能够节省资源,而同时增加安全性和限制操作使用。通过不必在本地执行计算和不存储先前难题的记录,客户端计算设备可以节省处理器使用和存储器。存储难题解决的先前记录是不必要的,因为策略规定了解决难题的时间段。

图8示出了在其中难题解决实例805被远程策略服务810评估的说明性环境。策略服务可以维持可信代理的策略615以及策略的相关联参数620和统计上限定的时间段610的记录815,并且同样可以周期性地接收针对难题解决的结果840。结果可以包括远程服务解决相应难题花费的持续时间。

策略服务可以对记录执行策略评估820,以确定结果是否满足当前策略的阈值限制或在当前策略的阈值限制内。当结果在统计上限定的时间段内或在针对统计上限定的时间段的具有上限和下限的设置的阈值内时,策略的满足可能发生。如果结果不符合当前策略,策略服务可以重新配置针对难题的参数。策略服务可以通过调整针对难题的参数,来增加或降低难题的复杂性(图6)。在难题的评估完成之后,策略服务可以将难题130传送回可信代理120,其中根据评估的结果,可以重新配置830或维持835所传送的难题。策略评估过程可以周期性(诸如每天、每周、在检测到问题时或其他指标)地发生,如由附图标记825说明性所示的。

图9示出了说明性图,在其中可信代理120设置到期时间,通过到期时间来确定所接收的工作证明135是否过时。可以根据时间段(例如,20分钟、24小时、一周等)910或日期/时间(例如,2019年04月05日下午12:00)915来设置905到期时间。使用设置的到期时间,可信代理可以确定所接收的工作证明是否过时,如在判决框920处所示。如果工作证明在设置的到期时间之前被接收,则可信代理授权并且执行操作,如框925中所示。如果工作证明由于在设置的到期时间之后被接收而过时,则可信代理可以无视工作证明并且拒绝操作的执行,如框930中所示。

图10-图12示出了可以由客户端计算设备或远程服务中的一个或两个实现的说明性方法的流程图。除非特别说明,否则流程图中示出和随附文本中描述的方法或步骤不限于特定顺序或次序。此外,一些方法或其步骤可以同时发生或被执行,并且并非所有方法或步骤必须以给定的实施方式被执行,这取决于这种实施方式的要求,并且一些方法或步骤可以可选地被利用。

图10是由客户端计算设备执行的说明性方法1000的流程图。在步骤1005中,客户端计算设备配置具有一个或多个可信代理的可信执行环境(TEE),每个可信代理被配置成执行操作。在步骤1010中,客户端计算设备建立针对可信代理的挑战,其中该挑战具有根据在与策略相关联的策略中限定的参数的复杂性水平。在步骤1015中,可信代理将挑战传送到远程服务以进行解决。在步骤1020中,可信代理从远程服务接收针对挑战的工作证明。在步骤1025中,客户端计算设备验证所接收的工作证明的准确性。在步骤1030中,如果工作证明被验证为正确,则可信代理授权操作的执行。

图11是由客户端计算设备执行的说明性方法1100的流程图。在步骤1105中,客户端计算设备在可信代理处接收挑战,其中所接收的挑战被配置有参数,该参数实现针对挑战解决的统计上限定的时间段。在步骤1110中,客户端计算设备接收由可信代理执行操作的请求。在步骤1115中,响应于所接收的请求,可信代理传送挑战以供解决。在步骤1120中,可信代理接收挑战已被解决的工作证明。在步骤1125中,在验证了工作证明时,授权由可信代理执行所请求的操作。

图12是由客户端计算设备执行的说明性方法1200的流程图。在步骤1205中,客户端计算设备利用被配置成用于在客户端计算设备内执行可信操作的TEE。在步骤1210中,一个或多个可信代理被暴露给TEE。一个或多个可信代理被配置成在TEE内执行离散操作。在步骤1215中,由一个或多个可信代理进行的离散操作的执行通过在操作执行之前实施供解决的挑战来被限制。

图13示出了用于诸如膝上型计算机或个人计算机的客户端计算设备的说明性架构1300,用于利用工作证明对资源受限环境中可信代理的目前的测量的执行。图13中所图示的架构1300包括一个或多个处理器1302(例如,中央处理单元、专用人工智能芯片、图形处理单元等)、系统存储器1304(包括RAM(随机存取存储器)1306和ROM(只读存储器)1308)),以及在操作上和功能上耦合架构1300中组件的系统总线1310。包含有助于诸如在启动过程中在架构1300内的元素之间传递信息的基本例程的基本输入/输出系统通常存储在ROM 1308中。架构1300还包括用于存储被利用以实现应用、文件系统和操作系统的软件代码或其他计算机执行的代码的大容量存储设备1312。大容量存储设备1312通过连接到总线1310的大容量存储控制器(未示出)连接到处理器1302。大容量存储设备1312及其相关联的计算机可读存储介质为架构1300提供了非易失性存储。尽管本文中包含的计算机可读存储介质的描述是指大容量存储设备,诸如硬盘或CD-ROM驱动器,但是本领域技术人员应当理解,计算机可读存储介质可以是架构1300可以访问的任何可用的存储介质。

作为示例而非限制,计算机存储介质可以包括用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性的、可移除和不可移除介质。例如,计算机可读介质包括但不限于RAM、ROM、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、闪存或其他固态存储技术、CD-ROM、DVD、HD-DVD(高清DVD)、蓝光或其他光学存储设备、盒式磁带、磁带、磁盘存储设备或其他磁性存储设备,或者可以用于存储期望信息并且可以由架构1300访问的任何其他介质。

根据各种实施例,架构1300可以使用通过网络到远程计算机的逻辑连接在联网环境中操作。架构1300可以通过连接到总线1310的网络接口单元1316连接到网络。应当理解,网络接口单元1316也可以被利用以连接到其他类型的网络和远程计算机系统。架构1300还可以包括输入/输出控制器1318,以用于接收和处理来自很多其他设备的输入,包括键盘、鼠标、触摸板、触摸屏、控制设备(诸如按钮和开关)或电子笔(图13中未示出)。类似地,输入/输出控制器1318可以将输出提供给显示屏、用户接口、打印机或其他类型的输出设备(在图13中也未被示出)。

应当理解,本文中描述的软件组件在被加载到处理器1302中并且被执行时可以将处理器1302和整个架构1300从通用计算系统转换成被定制为促支持本文中介绍的功能的专用计算系统。处理器1302可以由任何数目的晶体管或其他分立电路元件(其可以单独或共同地呈现任何数目的状态)构成。更具体地,处理器1302可以响应于包含在本文中公开的软件模块内的可执行指令而作为有限状态机进行操作。这些计算机可执行指令可以通过指定处理器1302如何在状态之间转换来对处理器1302进行转换,从而对构成处理器1302的晶体管或其他分立的硬件元件进行转换。

对本文中提出的软件模块进行编码还可以转换本文中提出的计算机存储可读介质的物理结构。在本说明书的不同实现中,物理结构的特定转换可以取决于各种因素。这样的因素的示例可以包括但不限于用于实现计算机存储可读介质的技术,无论计算机存储可读介质被表征为主要存储还是辅助存储等。例如,如果计算机存储可读介质被实现为基于半导体的存储器,则可以通过转换半导体存储器的物理状态来将本文中公开的软件编码在计算机存储可读介质上。例如,软件可以转换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。软件还可以转换这些组件的物理状态,以便在其上存储数据。

作为另一示例,本文中公开的计算机可读存储介质可以使用磁性或光学技术来实现。在这样的实现中,当软件被编码在其中时,本文中提出的软件可以转换磁性或光学介质的物理状态。这些转换可以包括改变给定磁性介质内特定位置的磁性特性。这些转换还可以包括改变给定光学介质内特定位置的物理特征或特性,以改变这些位置的光学特性。在不背离本说明书的范围和精神的情况下,物理介质的其他转换是可能的,提供前述示例仅是为了促进该讨论。

架构1300还可以包括一个或多个传感器1314或电池或电源1320。传感器可以耦合到架构以拾取关于环境或组件的数据,包括温度、压力等。示例性传感器可以包括温度计、加速度计、烟雾或气体传感器、压力传感器(气压或物理)、光传感器、超声波传感器、陀螺仪等。电源可以采用AC电源线或电池,诸如用于便携性的可充电电池。

鉴于以上所述,应当理解,在架构1300中发生了很多类型的物理转换,以便存储和执行本文中提出的软件组件。还应当理解,架构1300可以包括其他类型的计算设备,包括可穿戴设备、手持计算机、嵌入式计算机系统、智能电话、PDA,以及本领域技术人员已知的其他类型的计算设备。还可以预期,架构1300可以并非包括图13中所示的所有组件,可以包括图13中未明确示出的其他组件,也可以采用与图13中所示架构完全不同的架构。

图14是说明性计算机系统1400(诸如PC或服务器)的简化框图,利用该系统可以利用工作证明在资源受限环境中实施可信代理的目前的测量的执行。计算机系统1400包括处理器1405、系统存储器1411和系统总线1414,该系统总线1414将包括系统存储器1411在内的各种系统组件耦合到处理器1405。系统总线1414可以是使用各种总线架构中的总线架构的几种总线结构中的任何总线结构,包括存储器总线、存储器控制器、外围总线或本地总线。系统存储器1411包括只读存储器(ROM)1417和随机存取存储器(RAM)1421。包含有助于诸如在启动期间在计算机系统1400内的元件之间传递信息的基本例程的基本输入/输出系统(BIOS)1425存储在ROM 1417中。计算机系统1400还可以包括:硬盘驱动器1428,用于读取和写入内部布置的硬盘(未示出);磁盘驱动器1430,用于读取或写入可移除磁盘1433(例如,软盘);以及光盘驱动器1438,用于读取或写入可移除光盘1443,诸如CD(压缩盘)、DVD(数字通用盘)或其他光学介质。硬盘驱动器1428、磁盘驱动器1430和光盘驱动器1438分别通过硬盘驱动器接口1446、磁盘驱动器接口1449和光盘驱动器接口1452连接到系统总线1414。驱动器及其相关联的计算机可读存储介质为计算机系统1400提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。尽管该说明性示例包括硬盘、可移除磁盘1433和可移除光盘1443,但是可以存储由计算机可访问的数据的其他类型的计算机可读存储介质(诸如磁带、闪存卡、数字视频磁盘、数据盒带、随机存取存储器(RAM)、只读存储器(ROM)等)也可以用于可信代理在利用工作证明的资源受限环境中的目前的测量的执行的一些应用中。此外,如本文中使用的,术语计算机可读存储介质包括介质类型的一个或多个实例(例如,一个或多个磁盘、一个或多个CD等)。出于本说明书和权利要求的目的,短语“计算机可读存储介质”及其变型旨在覆盖非暂态实施例,并且不包括波、信号和/或其他暂态和/或无形的通信介质。

多个程序模块可以被存储在硬盘、磁盘1433、光盘1443、ROM 1417或RAM 1421上,包括操作系统1455、一个或多个应用程序1457、其他程序模块1460和程序数据1463。用户可以通过诸如键盘1466等输入设备和诸如鼠标等指示设备1468向计算机系统1400中输入命令和信息。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏板、卫星天线、扫描仪、轨迹球、触摸板、触摸屏、触敏设备、语音命令模块或设备、用户动作或用户手势捕获设备等。这些输入设备和其他输入设备通常通过耦合到系统总线1414的串行端口接口1471连接到处理器1405,但是也可以通过诸如并行端口、游戏端口或通用串行总线(USB)等其他接口连接。监视器1473或其他类型的显示设备也经由诸如视频适配器1475等接口连接到系统总线1414。除了监视器1473,个人计算机通常包括其他外围输出设备(未示出),诸如扬声器和打印机。图14中所示的说明性示例还包括主机适配器1478、小型计算机系统接口(SCSI)总线1483和连接到SCSI总线1483的外部存储设备1476。

计算机系统1400使用与一个或多个远程计算机(诸如远程计算机1488)的逻辑连接而在联网环境中可操作。可以将远程计算机1488选择为另一个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且通常包括上面相对于计算机系统1400所描述的很多或所有元素,尽管在图14中仅示出了单个代表性的远程存储器/存储设备1490。图14中描绘的逻辑连接包括局域网(LAN)1493和广域网(WAN)1495。这样的联网环境通常部署在例如办公室、企业范围的计算机网络、内联网和互联网中。

当在LAN联网环境中被使用时,计算机系统1400通过网络接口或适配器1496连接到局域网1493。当在WAN联网环境中使用时,计算机系统1400通常包括宽带调制解调器1498、网络网关,或用于通过广域网1495建立通信的其他方式(诸如互联网)。可以是内部的或外部的宽带调制解调器1498经由串行端口接口1471连接到系统总线1414。在联网环境中,与计算机系统1400有关的程序模块或其一部分可以存储在远程存储器存储设备1490中。注意,图14中所示的网络连接是说明性的,并且根据可信代理在利用工作证明的资源受限环境中的目前的测量的执行的应用的特定要求,可以使用用于在计算机之间建立通信链路的其他方式。

现在通过说明的方式而不是作为所有实施例的详尽列表,来呈现可信代理利用工作证明在资源受限环境中的目前的测量的执行的各种示例性实施例。一个示例包括一种方法,方法由客户端计算设备执行,以测量和调节可信代理的执行,该方法包括:配置具有一个或多个可信代理的客户端计算设备的可信执行环境(TEE),每个代理均被配置以执行操作;建立针对可信代理的挑战,其中挑战具有根据参数的复杂性水平,参数被配置以实现用于解决挑战的统计上限定的时间段,并且其中参数被限定在与挑战相关联的策略中;由可信代理将挑战传送至远程服务以供解决;从远程服务接收针对挑战的工作证明;验证所接收的工作证明的准确性;以及如果工作证明被验证为正确,则授权由可信代理执行操作。

在另一示例中,在验证了工作证明时,可信代理为用户提供用于访问账户或服务的授权或登录令牌。在另一个示例中,挑战是散列函数。在另一示例中,根据策略内包含的每个可信代理的统计上限定的时间段,针对相应可信代理的挑战参数是唯一的。在另一示例中,客户端计算设备还被配置有富执行环境(REE),并且TEE内部的操作与REE分叉。在另一示例中,方法还包括:确定所接收的工作证明是否过时;以及当工作证明过时时,无视工作证明。在另一示例中,当工作证明在设置的日期和时间没有被接收到或者在时间段到期之后被接收时,工作证明过时。在另一示例中,当结果指示挑战在统计上限定的时间段之外被解决时,针对挑战的参数被重新配置。在另一示例中,方法还包括:接收用于可信代理执行操作的多个请求,并且响应于每个工作证明验证而执行单个操作。

另外的示例包括客户端计算设备,客户端计算设备被配置有富执行环境(REE)和可信执行环境(TEE),该客户端计算设备包括:一个或多个处理器,至少部分地与TEE相关联;以及一个或多个基于硬件的存储器设备,至少部分地与TEE相关联并且存储计算机可读指令,计算机可读指令在由一个或多个处理器执行时,使客户端计算设备:在TEE内操作的可信代理处接收挑战,其中所接收的挑战被配置有参数,参数实现针对要被解决挑战的统计上限定的时间段;接收由可信代理执行操作的请求;响应于所接收的请求,传送挑战以供解决;接收挑战被解决了的工作证明;以及在验证了工作证明时,授权由可信代理执行请求的操作。

在另一示例中,远程策略服务评估在其中针对可信代理的挑战被解决的实例,并且响应于评估,针对挑战的参数被维持或重新配置。在另一示例中,实例周期性地被评估。在另一示例中,如果挑战解决的实例指示挑战根据由与挑战相关联的策略限定的统计上限定的时间段被解决,则维持参数。在另一示例中,如果挑战解决的实例指示挑战在由与挑战相关联的策略限定的统计上限定的时间段之外被解决,则重新配置参数。在另一示例中,恶意软件至少间接地暴露于TEE内的可信代理,并且恶意软件的影响由用于解决挑战的统计上限定的时间段而被至少部分地限制。在另一示例中,可信代理在执行操作之前,验证在设置的到期时间内接收到工作证明。

另外的示例包括一个或多个基于硬件的非暂态计算机可读存储器设备,其存储指令,该指令在由布置在客户端计算设备中的一个或多个处理器执行时,使客户端计算设备:利用被配置以用于执行可信操作的可信执行环境(TEE),TEE与关联于客户端计算设备的富执行环境分离;将一个或多个可信代理暴露于TEE,一个或多个可信代理被配置以用于在TEE内执行离散操作;以及通过在相应的可信代理执行操作之前,实现供解决的挑战来限制由一个或多个可信代理对离散操作的执行,其中一个或多个可信代理中的每个可信代理与唯一的挑战相关联,其中每个挑战与实现针对挑战解决的统计上限定的时间段的参数相关联。

在另一示例中,所执行的指令还使客户端计算设备:在可信代理处接收指示挑战已被解决的工作证明,确定工作证明的准确性,以及在工作证明被确定正确时执行操作。在另一示例中,TEE相对于客户端计算设备的富执行环境是资源受限的。在另一示例中,由一个或多个可信代理执行的离散操作是用于使能和支持对信息或资源的访问的。

虽然主题已经以结构特征和/或方法动作特定的语言进行了描述,但是应当理解,所附权利要求中限定的主题不一定限于上述特定特征或动作。相反,上述特定特征和动作被公开为实施权利要求的示例形式。

27页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:设备状态驱动的加密密钥管理

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类