云计算网络中的安全计数
文献发布时间:2023-06-19 11:35:49
背景技术
云计算环境(也被称为“云计算网络”、“分布式计算系统”或被简称为“云”)通常通过广域网(诸如互联网)向本地计算设备提供处理和存储资源。云计算网络大体上从可配置计算资源(诸如网络、服务器、存储设备、应用和软件服务)的共享池提供按需可用的资源,并且所提供的资源通常可以在来自用户的相对少的管理工夫的情况下被快速地供应和释放。通过基于云的计算网络而被交付的服务的提供方可以使用开源或以他方式服从许可协议或适用法规和法律向客户公开的软件。服务提供方希望避免出现客户仅复制软件并违反许可条款使用软件的情境。
发明内容
诱因被提供以使客户将其计算设备定期连接到服务提供方,并报告用法,该用法使用对云操作(诸如分组路由、容器实例化、虚拟机(VM)利用、对服务或应用的调用等)的请求的计数而被表达。计数信息使用公私钥对密码术在安全上下文(诸如受信执行环境(TEE))内被报告,通过该公私钥对密码术,密钥派生取决于某种形式的计数。例如,受制于用法许可的客户计算设备对操作计数进行加密并将其报告给服务提供方。
服务提供方可以对来自计算设备的消息解密,因此安全计数充当计算设备受信并受制于服务提供方的许可条款的证据。报告的安全计数中的工作证据还使服务提供方能够验证计算设备在其许可或其他适用策略的范围内操作。例如,单调增计数过程可以被利用,并且当计数超过某个阈值时,服务提供方可以禁用计算设备的某些功能或使得客户能够获得计算设备可能使用的附加计数以继续在许可下操作。
安全计数可以被用于例如使用预付费、后付费和其他基于订阅的模型的增计数和减计数过程来实施各种许可情境。例如,在预付费许可下,客户计算设备可以被加载具有预付费计数。计算设备执行返回给服务提供方的加密消息中的工作证据,由此对许可操作减计数。当计数变为零时,客户需要获得附加计数以继续利用服务提供方的云计算平台来操作计算设备。
计数被执行并被提供应服务提供方的频率可以因实施方式、计算设备类型和数目、服务类型、云计算网络特性、应用等而异。更频繁的计数和报告使得许可基本上实时地被实现,而较不频繁的报告可能适合其他情境,诸如批量许可或年度许可。不管频率如何,计数报告都是在TEE的上下文中通过密码术过程被进行硬件强制执行的,且因此所报告的计数的完整性被确保,并且由此使得服务提供方能够检测不当动作或由不良行为者进行的平台滥用。
用于客户报告的诱因可以包括客户接收收益的积极因素和在客户未能连接回到服务提供方的情况下本地计算设备的平台功能性被减少或被禁用的消极因素两者。积极诱因的说明性示例包括供应安全更新、应用补丁以及使用例如受信插件启用附加计算设备或平台功能性。消极诱因可以使用基于硬件的看门狗被实现,这些基于硬件的看门狗会禁用计算设备的平台功能性,除非客户在某种商定的基础上向服务提供方报告回去。服务提供方可能要求例如客户计算设备连接到服务并提供计数作为对计算设备运行时状态的常规完整性检查的一部分。如果计算设备没有连接回并且提供工作证据,那么所请求的动作使用看门狗而被禁用,这是因为计算设备的安全性可能被损害。
在各种说明性示例中,当前安全计数提供要针对受信计算设备被实现的可变配置。计算设备通常具有一定范围的硬件能力,这些硬件能力可以根据许可条款被选择地启用或禁用。服务提供方可以构建单个计算平台,通过允许客户只为所利用的功能性付费,量身定制的客户解决方案在该计算平台上可配置。
安全计数可以被用于对计算设备操作和数据传输节流。工作证据可以被任意制作是冗长的和/或难以防止计算设备被不良行为者共同选择。附加地,由于安全计数在TEE内操作,因此设备可以通过经由适用策略被“锁定”或被禁用所选择的时间段来在安全计数报告期间被有效地节流。
安全计数可以被用于管理来自计算设备的非结构化数据的耗尽。通过安全计数来实施密码证明,健康认证可以针对所有计算设备和从给定企业或域被发出的数据而被生成。这样的证明使得能够按源过滤数据,并且还可以通过在数据被收集时跟踪设备状态来支持辩论分析。
安全计数可以启用对私有数据和专有代码的保护。在使用专用本地硬件的系统(诸如医院的医疗成像设备)中,某些私有数据无法合法地离开本地环境。一些图像分析代码——可能是专有的而不是开源的——因此通常需要在本地运行,而其他数据/代码(诸如人工智能中所使用的训练模型)可以在云中被存储和执行。在针对安全计数所实施的TEE中,专有代码可以被加密,然后在本地实例化的受信插件中被运行。在受信的上下文中的安全计数的报告中,代码可以作为密码消息交换的一部分被下载到本地设备。
安全计数可以被用于验证计算设备或一组设备上的事件日志记录。安全计数可以被单调执行,因此安全计数与在计算平台或环境中发生的事件(例如诸如传出消息的传输)之间存在预期的对应性。安全计数与消息日志记录之间的差异可以被分析以确保计算设备的完整性并且增强云服务的安全性。例如,单调计数器与消息日志之间的不匹配可以向系统管理员升起红旗。
安全计数的利用使提供方能够有效地管理针对客户的云服务以及这些服务在其上操作的基础计算平台和网络基础设施。服务的安全性被改善,这是因为提供方可以很容易地检测由无法以安全计数提供工作证据的未经授权和恶意行为者进行的连接尝试。基于云的服务提供方还通过安全计数被启用以监测对许可协议和策略的遵守,这些许可协议和策略适用于使用服务的计算设备。有效实施的策略强制执行通过减少安全漏洞并保护资源免受易受攻击或不兼容的计算设备的影响来使客户受益。附加地,损坏或不恰当操作的计算设备可以使用安全计数被检测,使得这些计算设备可以被维修或停止使用以保持数据完整性。
安全计数还使基于云的服务提供方能够跟踪经许可的并且基于用法的服务,使得资源和服务被恰当地配置,以提高可靠性和可用性来满足需求。安全计数还通过提供许可更新或向上销售新的特征和服务来使服务提供方有机会将不合规的计算设备带回经许可的操作中。基于云的服务提供方也可以提供量身定制的解决方案
本发明内容被提供以按照简化形式介绍构思的选择,这些构思在下文具体实施方式中被进一步描述。本发明内容既不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在被用于辅助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中所提到的任何或所有缺点的实施方式。应了解,上文所描述的主题可以被实现为计算机控制的装置、计算机过程、计算系统或被实现为制品,诸如一个或多个计算机可读存储介质。这些和各种其他特征将通过阅读以下具体实施方式并且回顾相关联的附图而变得明显。
附图说明
图1示出了说明性计算环境,其中各个计算设备通过通信网络与服务交互;
图2和图3示出了在受信执行环境(TEE)中操作的说明性计算设备和基于云的服务提供方;
图4示出了说明性计算设备,其以安全计数的形式向基于云的服务提供方提供工作证据;
图5和图6示出了在计算设备上操作的说明性看门狗;
图7示出了用以支持计算设备的可变配置的安全计数的说明性实施方式;
图8示出了用以提供计算设备的操作和/或数据节流的安全计数的说明性实施方式;
图9示出了用以提供用于计算设备的数据耗尽管理的安全计数的说明性实施方式;
图10示出了用以提供对私有数据的保护的安全计数的说明性实施方式;
图11示出了用以提供对在计算设备或一组设备上的事件日志记录的验证的安全计数的说明性实施方式;
图12、图13和图14是说明性方法的流程图;
图15示出了具有富执行环境(REE)和受信执行环境(TEE)的说明性架构;
图16示出了富执行环境和受信执行环境的说明性硬件架构;
图17是说明性计算设备的框图,该说明性计算设备可以至少部分地被用于实施云计算网络中的当前安全计数;
图18是说明性数据中心的框图,该说明性数据中心可以至少部分地被用于实施云计算网络中的当前安全计数;以及
图19是说明性计算设备的简化框图,该说明性计算设备可以至少部分地被用于实施云计算网络中的当前安全计数。
在附图中,相似的附图标记指示相似的元件。除非以其他方式指示,否则元件未按比例绘制。
具体实施方式
图1示出了说明性计算环境100,其中相同或不同的客户和/或用户105可以采用各种计算设备110,这些计算设备通过通信网络115通信以访问被本地服务130、基于云的服务125和web服务120的提供方中的一个或多个提供方支持的服务、应用和数据。计算设备可以单独地、与其他计算设备组合地或与服务组合地利用本地实施的操作和/或数据存储或远程实施的操作和/或数据存储。计算设备可以被个别用户105利用或被组织为企业的一部分,其中用户是企业的成员或雇员。一些计算设备可能是大型企业、设备或机器的一部分,或可以被用于过程或操作中。例如,计算设备可以在整个制造设施中或工业过程中被使用。一些计算设备可以被其他设备、系统和过程操作,和/或不一定被用户直接控制。
除了各种其他特征之外,计算设备110还可以支持双向通信和数据消耗应用,诸如web浏览和多媒体(例如音乐、视频等)消耗。计算设备可以包括例如用户经常利用来进行和接收语音和/或多媒体(即视频)呼叫、参与消息传递(例如文本发送)和电子邮件通信、使用应用和访问利用数据的服务、浏览万维网等的用户装备、移动电话、蜂窝电话、功能型电话、平板计算机和智能电话。
其他类型的电子设备也可能在环境100内可用,包括手持式计算设备、PDA(个人数字助理)、便携式媒体播放器、使用头戴式耳机和耳机的设备(例如蓝牙兼容设备)、平板设备(例如组合智能手机/平板设备)、可穿戴式计算设备(诸如头戴式显示器(HMD)系统和智能手表),导航设备(诸如GPS(全球定位系统)系统、膝上型PC(个人计算机)、智能扬声器、IoT(物联网)设备、智能家电、联网汽车设备、智能家居集线器和控制器、台式计算机、多媒体控制台、游戏系统等。IoT设备可以包括家用设备(诸如家电)以及工业设备(诸如传感器、阀门、致动器、机器等)。在随后的讨论中,术语“计算设备”的使用旨在覆盖执行一些计算操作的所有设备,无论它们是在本地、远程还是通过本地和远程存储装置的组合被实现。
环境100中的各种计算设备110可以支持不同的特征、功能性和能力。给定计算设备上所支持的一些特征可能与其他设备上所支持的特征相似,而其他特征可能对于给定计算设备而言是独特的。在各种计算设备上所支持的特征之中的重叠和/或区别性的程度可以因实施方式而异。例如,一些计算设备可以支持触摸控制、手势识别和语音命令,而其他计算设备可以启用更加受限的用户接口,或可以根本不提供用户接口。一些计算设备可以支持视频消费和互联网浏览,而其他计算设备可以支持更加受限的媒体处置和网络接口特征。
计算设备110通常可以利用通信网络115来访问和/或实施各种功能性。网络可以包括呈各种组合或子组合形式的各种网络类型和网络基础设施中的任一种,包括局域网(LAN)、广域网(WAN)、蜂窝网络、卫星网络、IP(互联网协议)网络(诸如根据IEEE 802.11的Wi-Fi和根据IEEE 802.3的以太网网络)、公共交换电话网(PSTN)和/或短距离网络,诸如
通信网络115可以利用互联网的部分(未示出)或包括支持与互联网的连接的接口,使得计算设备110可以访问数据或内容和/或渲染由各种远程或基于云的服务125和web服务120所提供的用户体验。基于云的服务125和web服务120可以支持多种特征、服务和/或用户体验。
图2和图3示出了在相应的受信执行环境(TEE)205和受信执行环境210中操作的说明性计算设备110和基于云的服务提供方125。TEE通常被配置为提供硬件(或在一些实施方式中为软件)的经隔离区域,该硬件的经隔离区域确保数据在信任的上下文内关于机密性和完整性被存储、处理和保护。TEE的说明性实施方式在下文中在伴随图15和图16的文本中被描述。在该说明性示例中,计算设备在许可250、策略或覆盖可以被执行的各种操作的其他协议(被统称为“许可”)的条款下与服务提供方互操作,这些操作可以被执行以例如实施一些功能性或特征。示例性许可可能覆盖如下工厂中的IoT设备,该IoT设备连接到IoT解决方案以在某个时间段内每小时报告一次遥测数据。遥测数据可以被服务提供方存储在云中,并使用人工智能被分析,以验证工厂过程在可接受的设计限制内操作。
如图2中所示出,计算设备110可以向基于云的服务提供方125做出对操作的请求215。在基于令牌的访问被服务提供方用于将计算设备鉴别为可信的那些实施方式中,令牌220可以与请求一起被呈现或可以表达请求。所请求的操作可以包括例如但不限于分组路由、容器实例化、虚拟机(VM)利用、对服务或应用的调用等。给定的所请求的操作可能涉及代码、应用或过程的本地执行(如通过附图标记225所指示)、远程执行230或本地执行和远程执行的组合。
如图3中所示出,操作请求可以包括访问被基于云的服务提供方支持的一个或多个受信资源310的请求300。与操作请求一样,资源请求可以使用访问令牌305或使用该访问令牌305被表达。在没有限制的情况下,资源可以说明性地包括应用315、数据320、补丁325、更新330、安全修复335、插件340或某一其他资源345。在一些情况下,资源请求的实现可以包括计算设备从服务提供方下载可以在本地被操作的代码和/或数据。在其他一些情况下,资源实现可能涉及远程代码执行或本地代码执行和远程代码执行的组合。
操作和资源的类别可以被限定以在一些实施方式中提供一些重叠。因此,例如,计算设备对资源的请求可能涉及某一操作的执行,且反之亦然。对于对操作的请求和对资源的请求,基于云的服务提供方125通常被激励以确保计算设备110在许可250的约束内动作。这可以通过如下被实现:计算设备110连接回到服务提供方125以报告对操作和资源的请求的计数。
如图4中所示出,计算设备110执行操作计数,如框420中所示出,并在框425中对计数加密。加密可以使用公钥密码术(也被称为非对称密码术)被执行,其中秘密私钥被计算设备使用,并且公钥被共享给基于云的服务提供方125。公钥和私钥在数学上被链接。利用公钥被加密的数据只能利用私钥解密,并且利用私钥被签名的数据只能利用公钥被验证。在使用受信平台模块(TPM)或其他嵌入式硬件技术的TEE实施方式中,计算设备可以创建密码密钥并对其加密,使得其只能通过TPM被解密。
在框430中,在被TEE 205和TEE 210支持的受信上下文内,当安全计数405被发送给基于云的服务提供方125时,该安全计数作为工作证据410由请求计算设备110操作。因为基于云的服务提供方可以在框435处对安全计数解密,所以它可以将计算设备的身份确认为被许可250覆盖。安全计数还提供由计算设备对提供方的服务的消耗的测量。因此,在决定框440处,服务提供方可以确定所报告的安全计数是否满足许可250的适用条款。如果计数指示计算设备符合许可条款,那么在框445处,基于云的服务提供方可以使计算设备能够继续在现有许可条款下操作。然而,如果计数指示计算设备不合规,那么在框450处,操作被禁用,或者许可可以被更新或替换,使得设备可以继续操作。
基于云的服务提供方125的客户被鼓励使用可能包括积极或消极诱因或两者的系统来将其计算设备110配置为利用安全计数405连接回到提供方。积极诱因可以包括基于云的服务提供方,从而使资源(诸如补丁、更新和插件)对计算设备可用。消极诱因是阻止不遵守适用许可条款和策略的诱因。例如,当安全计数指示计算设备已达到如通过许可或策略所限定的操作限制时,功能性可以在云中、计算设备中或在两个位置中被选择性地禁用。
图5和图6示出了在计算设备110上操作的说明性看门狗505,其可以被用于实施功能性的选择性禁用。在图5中,设备将安全计数510报告给基于云的服务提供方125。如果安全计数指示计算设备在许可条款或策略内操作,那么提供方可以利用附加计数515进行响应,以使计算设备能够继续执行操作,诸如执行代码、传输和接收数据等。附加计数可以例如使用令牌520或其他可以被用于驱逐看门狗的适合元素被表达,如通过附图标记525所指示。驱逐525使设备能够继续经许可的操作,这些经许可的操作可以在本地和/或远程被执行,如分别通过附图标记550和560所指示。
如图6中所示出,如果看门狗505没有通过附加计数的供应而被驱逐,那么它将在计算设备110上实施超时605。超时工作以禁用计算设备上的功能性,使得在适用的许可条款或策略之外的操作被防止。禁用可以在服务提供方125处的本地计算设备和远程云操作两者处发生。看门狗也可以被称为“看门狗计时器”或“失能开关”。在TEE中,除非适合的工作证据被供应给基于云的服务提供方,否则看门狗是可以使用被配置为执行设备功能性的选择性禁用的硬件、软件、固件或其组合而被实现的受信元件。
当计算设备110更新许可以获得附加计数,或以其他方式提供工作证据以表明遵守适用的许可条款或策略时,看门狗505可以移除超时。因此,计算设备功能性可以被选择性地启用。计算设备连接回到服务提供方125的频率可以因实施方式而异。在一些情境中,令牌可能具有很短的寿命,并且因此仅表示少量的附加计数。因此,计算设备将需要经常报告回给服务提供方,以提供安全计数并接收附加计数作为交换。这样的频繁连接可能有用,例如,在以下情境中:服务需求是高度动态的,并且跨资源的负载平衡可以通过频繁或实时报告被更有效地执行。
在看门狗505上的计时器被设置了相对长的持续时间的情况下,其他情境可能会利用对安全计数的不太频繁的报告。例如,一些计算设备可以具有相对低的利用率,或者可能受制于自由许可条款和策略。在一些情况下,出于除许可和策略强制执行之外的目的(诸如应用和服务开发、网络基础设施维护和部署以及来自客户的利用数据可以受益的其他区域),安全计数可能对服务提供方有帮助。计算设备可能落在针对客户的企业的例如被每年更新的大量/批量(bulk/volume)许可下。即使如此,基于云的服务提供方125仍然为计算设备提供连接回以作为受信设备的诱因,因为所报告的安全计数可以作为证明而操作以用于一系列目的,如下文所描述。
云计算网络中的当前安全计数可以在各种情境和应用中被利用,如下文在伴随图7至图12的文本中所描述。图7示出了支持计算设备110的可变配置的安全计数的说明性实施方式。计算设备包括可以被用于支持可变计算平台配置的硬件和软件,如通过附图标记705
在处于第一视频编辑配置时,计算设备110可以向基于云的服务提供方125报告操作的安全计数710。服务提供方可以响应于所报告的计数而返回附加计数715或令牌720。类似地,当计算设备处于第二配置时,该计算设备可以连接回到服务提供方以报告与数据挖掘和分析相关联的操作的安全计数725。作为响应,服务提供方可以向设备发送附加计数730或令牌735。
计算设备110可以使用由基于云的服务提供方返回的令牌来驱逐相应看门狗740和看门狗745,以使得能够在任一配置或两种配置中继续进行操作。如上所述,如果看门狗未被驱逐,它将发布超时以选择性地禁用某个设备功能性。例如,如果针对第一配置的安全计数指示设备已用完其当前的计数分配,那么看门狗时间实施超时,以防止设备继续执行视频编辑。当附加计数例如通过更新适用的许可被获得时,功能性可以被重新启用。
安全计数使得客户能够为他们选择时所使用的功能性付费。在一些情境中,功能性可以视需要被启用和禁用,以向客户提供灵活和可定制的解决方案。在其他情境中,许可可以“浮动”,并且因此可以在不同时间被应用于不同的计算设备。因此,例如,使用第一计算设备的视频编辑器可以在一天中关于一个项目工作。另一编辑器可以在第二天使用不同的计算设备来继续关于该项目工作。
图8示出了用以提供计算设备110的操作和/或数据节流的安全计数的说明性实施方式。计算设备可以将操作的安全计数805(如通过附图标记804和806所指示)附加到每个请求810,每个请求810是向基于云的服务提供方125对操作或资源的每个请求810。操作可以涉及本地执行和处理以及远程执行和处理或其组合,如通过附图标记804和806所指示。当计算设备向基于云的服务提供方发送数据820时,安全计数815也可以被报告。请求和数据的传输可以通过使安全计数基础的加密过程变得任意困难而被节流,如通过附图标记830所指示。备选地,或除了使加密变得任意困难之外,安全计数的发送还可以在时间约束的基础上被实现,其中计算设备在等待某个规定的时间间隔之后向服务提供方传输,如通过附图标记835所示出。等待周期可以使用TEE中的受信的过程和/或受信的时间源被实现和强制执行。
对请求和数据施加节流可以使客户105和基于云的服务提供方125有效地管理资源。客户可能具有在资源可能稀缺和/或昂贵的环境中操作的计算设备。例如,IoT设备可以被电池供电,并使用无线电链路被连接到服务提供方,以供应遥测数据。通过限制无线电发射器被启动的实例,电池功率可以被保留。服务提供方可以依靠安全计数作为计算设备遵守商定的报告时间的证据。节流使服务提供方能够基于已知和可预测的业务模式来部署资源。经预测的模式之外的数据业务可以向服务提供方指示计算设备可能正在发生故障或已被恶意行为方损害。
图9示出了用以提供单个设备或一组计算设备110的数据耗尽管理的安全计数的说明性实施方式。在该说明性示例中,一组计算设备(诸如IoT设备)被部署为企业905的一部分。企业中的计算设备可以与公共域控制器910或另一适合的设备相关联或被其管理。计算设备可以在物理上被共同定位或不同地定位。计算设备110和域控制器各自使用受信插件915和受信插件920的实例,受信插件被配置为提供针对相应设备或一组计算设备的健康认证925和健康认证930。如所示出,健康认证伴随操作的安全计数935和安全计数940(如通过附图标记902、904和906所指示),但是在一些实施方式中可以被分别传输给基于云的服务提供方125。认证也可以针对所发出的数据或所发出的数据的批次被提供,并可以与数据发出一起被传输,或被提供有对操作和/或资源的请求。
每个受信插件915和920监测相应的计算设备或一组设备110,以发布提供设备健康的证明的认证925和认证930。例如,认证可以通过验证启动时被加载的组件的数字签名来证明计算设备已使用受信代码被启动。备选地,受信插件可以查看由基于硬件的TPM或可以被用于实施TEE的类似组件所创建的启动日志和其他审计跟踪,以确认设备开始使用被TPM保护的代码和/或数据。
每个认证925和930还可以包括计算设备状态的记录以及其他可以支持对计算设备和/或数据耗尽的分析的元数据或信息。在数据耗尽包括非结构化数据的情况下,基于云的服务提供方可以利用健康认证来按源过滤数据。例如,如果基于云的服务提供方125支持在工厂过程中分析温度数据的人工智能系统,那么元数据可以被分析以确定在数据被收集时IoT温度传感器的状态。如果设备状态指示所接受的参数之外的错误操作,那么来自该传感器的数据耗尽可以被忽略。这样的过滤对于移除将以其他方式被注入系统中的噪声可以是有用的,这可能会使系统输出的准确性或可靠性降低。
受信插件915和920是受信的组件的示例,基于云的服务提供方125可以将这些受信的组件用作给定TEE内的资源310(图3)。受信插件也可能被第三方提供方支持,这些第三方提供方可以发布认证以证明插件中运行的代码可以被信任。受信插件通常被配置为独立于计算设备操作系统而工作,并且可以提供各种不同的功能性以满足特定的实施方式要求。例如,不同的受信插件可以各种各样地执行操作、实施特征和功能、执行监测和报告、强制执行策略、通过密钥管理和托管(escrow)服务来实施和操作TEE、等等。每种类型的受信插件都被布置成使用密码证明过程报告回服务提供方,从而在TEE的上下文内操作。
图10示出了用以提供对私有数据的保护的安全计数的说明性实施方式。例如,私有医学成像数据1002可以使用具有专用成像硬件1010和受信插件1015的计算设备110在医学成像设施1005处被生成。私有数据可能通过法律或覆盖患者隐私的协议的操作被约束以免离开设施的边界。为了保护它在被用于分析数据的专有人工智能模型中的利益,基于云的服务提供方125可以提供可以在受信插件1015中本地执行的专有代码1020,如通过附图标记1025所指示。在一些实施方式中,训练数据1030可以在服务提供方125处被远程利用,以训练在本地医学成像中所使用的人工智能模型。
受信插件1015可以连接回到基于云的服务提供方125,以提供操作的安全计数1035。操作可以包括与专有代码执行相关联的本地操作。在一些情况下,如果远程操作1040不涉及私有数据1002,那么服务提供方处的这些操作也可以被利用并且被计数。专有代码1020被计算设备110以加密形式下载,受信插件可以在执行之前对该私有代码进行解密。在计算设备110作为开放平台操作的备选实施方式中,专有代码可以被明文传输给计算设备110。然而,代码将仅在TEE的受控环境内在受信插件上执行。
在同时启用基于云的服务提供方125保护其专有代码时,使用计算设备110上的TEE中的受信插件1015来使用经训练的人工智能模型来执行医学成像使患者的私有数据1002能够保持在设施1005本地。附加地,安全计数1035使服务提供方能够强制执行可适用于代码的本地利用的许可条款和策略。例如,当安全计数在许可限制内时,受信插件1015可以从服务提供方接收令牌,插件可以使用这些许可限制来驱逐看门狗,如先前所描述。
目前的安全计数可以被用于验证在计算设备或一组设备上的事件日志记录。图11示出了一组IoT设备被部署在企业1105中的说明性示例。企业中的计算设备可以与公共域控制器1110或另一适合的设备相关联或被其管理。计算设备可以在物理上被共同定位或不同地定位。域控制器跟踪在企业中发生的事件,诸如传出消息的传输,这些事件被存储在事件日志1115中。在备选实施方式中,事件日志记录可以针对单个计算设备并且由该单个计算设备执行。
域控制器1110连接回到基于云的服务提供方125,以提供对操作的请求的安全计数1120。如上文所描述,服务提供方可以将安全计数与适用的许可条款相比较,以确定是启用继续操作(如通过附图标记1122和1124所指示)还是禁用操作。
在该说明性示例中,域控制器1110通过对操作单调计数(例如向上计数)来执行安全计数1120,如在框1130处所示出。计数在框1135处被加密,并在框1140处被报告给服务提供方125。在框1145处,将安全计数1120与事件日志1115相比较。由于安全计数被单调地执行,因此通常期望安全计数与企业1105中的日志记录事件之间的对应性。安全计数与事件日志之间的差异可以被分析,以验证计算设备110或企业1105的完整性。在框1150处,单调安全计数与事件日志之间的不匹配可以向管理员1160发出警报1155。在备选实施方式中,框1130至框1150中的步骤可以由在企业中的域控制器1110或另一计算设备上运行的受信插件执行。
图12是用于操作本地计算设备的说明性方法1200的流程图,该本地计算设备具有与由远程服务提供方所操作的服务的网络连接性。除非特别说明,否则流程图中所示出和随附文本中所描述的方法或步骤不被限于特定的顺序或序列。附加地,方法或其步骤中的一些可以同时发生或被同时执行,并且并非所有方法或步骤都必须在给定的实施方式中取决于这样的实施方式的要求被执行,并且一些方法或步骤可以被可选地利用。
在步骤1205中,计算设备被配置为在TEE中操作。在步骤1210中,计算设备对与服务相关联的操作计数。在步骤1215中,操作计数使用非对称密码术被加密以创建安全计数。在步骤1220中,安全计数通过网络被报告给服务提供方,由此安全计数是可操作的,以向服务提供方提供工作证据。在步骤1225中,当所报告的安全计数在预定限制内时,与服务相关联的操作的执行在计算设备上被启用。在步骤1230中,当所报告的安全计数在预定限制之外时,与服务相关联的操作的执行在计算设备上被禁用。
图13是可以通过基于云的服务提供方125(图1)被执行的说明性方法1300的流程图。在步骤1305中,来自公私钥对的密钥被接收,其中公私钥对被利用以至少部分地建立针对计算设备和计算机服务器中的每个的受信执行环境,计算设备和计算机服务器在预定条款下互操作。在步骤1310中,操作计数的经加密报告从计算设备被接收,操作计数与至少部分地使用计算机服务器被实施的服务的利用相关联,服务由服务提供方操作。在步骤1315中,服务提供方尝试使用接收到的密钥来对操作计数的经加密报告解密,其中成功的解密用于利用服务鉴别计算设备。在步骤1320中,如果所报告的操作计数符合互操作的条款,那么附加操作计数被提供给计算设备以继续在条款下与服务互操作。在步骤1325中,如果所报告的操作计数不符合互操作的条款,那么服务提供方使得能够终止计算设备对服务的利用。例如,如果服务提供方扣留被用于驱逐看门狗的令牌,那么服务被终止。
图14是可以由计算设备执行的说明性方法1400的流程图。在步骤1405中,计算设备通过使用密码术过程在设置的限制下与由远程服务提供方操作的服务通信,来在受信执行环境中操作。在步骤1410中,一个或多个密码术过程在被安装在计算设备上的受信插件中被执行。在步骤1415中,计算设备对服务的利用计数。在步骤1420中,所计数的服务利用被报告给服务提供方。在步骤1425中,只要所计数的服务利用在设置的限制内,受信插件就利用服务被操作。
TEE的说明性细节现在被呈现。图15示出了具有与TEE 1510平行运行的富执行环境(REE)(在下文中被称为“公共环境”)1515的计算设备110的说明性架构1500。公共环境可能经历暴露和安全风险。相反,TEE可以与公共环境隔离地安全地操作以执行具有更敏感性质的操作,与公共环境,以执行具有更敏感性质的操作。这样的敏感操作可以包括但不限于处置机密个人信息、私有数据、医疗数据、银行和金融数据、以及金融交易的执行和系统的控制(诸如关键基础设施)。
如说明性地示出,公共环境和TEE包括执行各种操作的常规计算配置。以简化的形式,公共环境和TEE各自包括应用、操作系统和硬件层(由数字1520和1525来共同表示),但TEE是隔离的,并且其中的硬件和软件被认为是受信的。TEE和公共环境可以根据
应用层支持由操作系统可执行的各种应用。面向公众的应用层可以支持应用(诸如浏览器、消息传递应用),而TEE中的应用层可以支持例如受信的应用和插件。
操作系统层可以管理硬件和应用层在其中进行操作的系统操作。在公共环境中,操作系统(OS)可以包括
硬件层支持处理器和存储器。尽管公共环境和TEE被说明性地示出为彼此不同地操作,但是各种硬件组件可以被划分,以使得硬件的部分仅专用于公共操作,而硬件的部分仅专用于受信操作。组件和系统的该划分提供了TEE所提供的安全隔离。
图16示出了利用公共环境(即富执行环境1515)和TEE 1510的计算设备110的示例性硬件。如所示出,硬件组件可以被划分,以将TEE与公共环境隔离。公共环境和TEE各自包括与其他环境不同地操作的类似组件。如说明性示出,各种组件包括随机存取存储器1605、只读存储器1610、外围1615(例如输入/输出设备)、(多个)处理核1620、一次性密码(OTP)字段1625和密码加速器1630。在说明性示例中,公共环境可以利用外部易失性存储器1635和外部非易失性存储器1645,并且存储器的一部分可以具有专用于TEE的受保护区域,如由数字1640和1650代表性地图示。图15和图16中所图示的图仅是说明性的,并且满足TEE所提供的安全环境的其他配置也是可能的。
图17示出了用于设备(诸如服务器)的说明性架构1700,该设备能够执行本文中所描述的各种组件以用于云计算网络中的安全计数。图17中所图示的架构1700包括一个或多个处理器1702(例如中央处理单元、专用人工智能芯片、图形处理单元等)、包括RAM(随机存取存储器)1706和ROM(只读存储器)1708的系统存储器1704、以及在操作上和功能上耦合架构1700中的组件的系统总线1710。基本输入/输出系统通常被存储在ROM 1708中,该基本输入/输出系统包含有助于在架构1700内的元件之间(诸如在启动期间)传递信息的基本例程。架构1700还包括大容量存储设备1712,以用于存储被用于实施应用、文件系统和操作系统的软件代码或其他计算机执行的代码。大容量存储设备1712通过被连接到总线1710的大容量存储控制器(未示出)被连接到处理器1702。大容量存储设备1712及其相关联的计算机可读存储介质提供针对架构1700的非易失性存储。尽管本文中所包含的计算机可读存储介质的描述是指大容量存储设备,诸如硬盘、固态硬盘或光学驱动,但应该了解,计算机可读存储介质可以是可以被架构1700访问的任何可用的存储介质。
通过示例,但非限制性的,计算机可读存储介质可以包括在任何用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的方法或技术中所实施的易失性和非易失性、可移除和不可移除介质。例如,计算机可读介质包括但不限于RAM、ROM、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、闪速存储器或其他固态存储器技术、CD-ROM、DVD、HD-DVD(高清DVD)、蓝光或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁性存储设备,或可以被用于存储期望的信息并且可以被架构1700访问的任何其他介质。
根据各种实施例,架构1700可以使用通过网络与远程计算机的逻辑连接在联网环境中操作。架构1700可以通过被连接到总线1710的网络接口单元1716连接到网络。应了解,网络接口单元1716也可以被用于连接到其他类型的网络和远程计算机系统。架构1700还可以包括输入/输出控制器1718,以用于接收和处理来自几个其他设备的输入,这些输入/输出控制器包括键盘、鼠标、触摸板、触摸屏、诸如按钮和开关的控制设备或电子笔(在图17中未被示出)。类似地,输入/输出控制器1718可以向显示屏、用户接口、打印机或其他类型的输出设备(在图17中也未被示出)提供输出。
应该了解,本文中所描述的软件组件在被加载到处理器1702中并且被执行时可以将处理器1702和整体架构1700从通用计算系统转换成为了支持本文中所呈现的功能性而被定制的专用计算系统。处理器1702可以由任何数目的晶体管或其他离散电路元件构造,这些晶体管或其他离散电路元件可以单独地或共同地假定任何数目的状态。更具体地,响应于本文中所公开的软件模块内所包含的可执行指令,处理器1702可以作为有限状态机操作。这些计算机可执行指令可以通过指定处理器1702如何进行状态之间的转换来转换处理器1702,从而转换构成处理器1702的晶体管或其他离散硬件元件。
对本文中所呈现的软件模块进行编码也可以转换本文中所呈现的计算机可读存储介质的物理结构。在本说明书的不同实施方式中,物理结构的具体转换可以取决于多种因素。这样的因素的示例可以包括但不限于被用于实施计算机可读存储介质的技术、计算机可读存储介质是被表征为主存储装置或还是辅存储装置等。例如,如果计算机可读存储介质被实现为基于半导体的存储器,那么本文中所公开的软件可以通过转换半导体存储器的物理状态而被编码在计算机可读存储介质上。例如,软件可以转换构成半导体存储器的晶体管、电容器或其他离散电路元件的状态。软件还可以转换这样的组件的物理状态以便将数据存储在其上。
作为另一示例,本文中所公开的计算机可读存储介质可以使用磁技术或光学技术被实现。在这样的实施方式中,当软件被编码在磁介质或光学介质中时,本文中所呈现的软件可以转换磁介质或光学介质的物理状态。这些转换可以包括更改在给定磁介质内的特定位置的磁特性。这些转换还可以包括更改在给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。利用仅被提供来支持本讨论的前述示例,在不脱离本说明书的范围和精神的情况下,物理介质的其他转换是可能的。
鉴于上文,应该了解,在架构1700中发生了许多类型的物理转换以便存储和执行本文中所呈现的软件组件。还应该了解,架构1700可以包括其他类型的计设备,包括可穿戴式设备、手持式计算机、嵌入式计算机系统、智能电话、PDA和本领域的技术人员所已知的其他类型的计算设备。还可以设想的是,架构1700可以不包括图17中所示出的所有组件,可以包括在图17中未被明确示出的其他组件,或可以利用与图17中所示出的架构完全不同的架构。
图18是提供云计算服务或分布式计算服务的说明性数据中心1800的高级框图,该云计算服务或分布式计算服务可以被用于实施云计算网络中的当前安全计数。数据中心1800可以并入基于云的服务提供方所提供的特征。多个服务器1801被数据中心管理控制器1802管理。负载均衡器1803将请求和计算工作量分布在服务器1801上,以避免其中单个服务器可能变得不堪重负的情形。负载均衡器1803使数据中心1800中的资源的可用容量和性能最大化。路由器/交换机1804经由外部网络1805(其例如可以是局域网(LAN)或互联网)来支持服务器1801之间以及数据中心1800与外部资源和用户(未示出)之间的数据业务。
服务器1801可以是单机计算设备,和/或它们可以被配置为一个或多个服务器设备的机架中的各个刀片。服务器1801具有管理与其他数据库实体的通信的输入/输出(I/O)连接器1806。每个服务器1801上的一个或多个主机处理器1807运行支持多个虚拟机(VM)1809的主机操作系统(O/S)1808。每个VM 1809可以运行其自己的O/S,使得服务器上的每个VM O/S 1810是不同的或相同的或两者的混合。VM O/S 1810可以是例如相同O/S的不同版本(例如运行
数据中心1800提供池化资源,客户或租户可以在这些池化资源上根据需要动态地供应和扩展应用,而不必添加服务器或附加联网。这允许租户获得其所需的计算资源,而不必在每个应用的临时基础上取得、供应和管理基础设施。云计算数据中心1800允许租户动态地放大或缩小资源以满足其商业的当前需求。附加地,数据中心操作方可以向租户提供基于用法的服务,以使得这些租户当其需要使用资源时仅为其使用的资源付费。例如,租户最初可以使用服务器1801
数据中心1800可以提供有保证的可用性、灾难恢复和备份服务。例如,数据中心可以将服务器1801
域名系统(DNS)服务器1814将域名和主机名分解为数据中心1800中所有角色、应用和服务的IP地址。DNS日志1815维护域名已经通过角色被分解的记录。应该理解,DNS在本文中被用作示例,并且其他名称分解服务和域名日志记录服务可以被用于标识相关性。例如,在其他实施例中,IP或分组嗅探、代码检测或代码跟踪。
数据中心健康监测1816监测数据中心1800中的物理系统、软件和环境的健康。当数据中心1800中的服务器、刀片、处理器或应用的问题被检测到或当网络带宽或通信问题出现时,健康监测1816向数据中心管理器提供反馈。
接入控制服务1817确定用户是否可以访问数据中心1800上的特定连接和服务。目录和身份管理服务1818鉴别数据中心1800上的租户的用户凭据。
图19是说明性计算机系统1900(诸如PC、客户端机器或服务器)的简化框图,云计算网络中的当前安全计数可以利用该说明性计算机系统被实现。计算机系统1900包括处理器1905、系统存储器1911和系统总线1914,该系统总线将包括系统存储器1911的各种系统组件联接到处理器1905。系统总线1914可以是几种类型的总线结构中的任一种,包括使用各种总线架构中的任一种的存储器总线或存储器控制器、外围总线或本地总线。系统存储器1911包括只读存储器(ROM)1917和随机存取存储器(RAM)1921。基本输入/输出系统(BIOS)1925被存储在ROM 1917中,该基本输入/输出系统包含有助于在计算机系统1900内的元件之间(诸如在启动期间)传递信息的基本例程。计算机系统1900还可以包括:硬盘驱动1928,用于从内部安置的硬盘(未示出)读取和写入该内部安置的硬盘;磁盘驱动1930,用于从可移除磁盘1933(例如软盘)读取或写入该可移除磁盘;以及光盘驱动1938,用于从可移除光盘1943(诸如CD(光碟)、DVD(数字化通用磁盘)或其他光学介质)读取或写入该可移除光盘。硬盘驱动1928、磁盘驱动1930和光盘驱动1938分别通过硬盘驱动接口1946、磁盘驱动接口1949和光盘驱动接口1952被连接到系统总线1914。驱动及其相关联的计算机可读存储介质为计算机系统1900提供了计算机可读指令、数据结构、程序模块和其他数据的非易失性存储装置。尽管该说明性示例包括硬盘、可移除磁盘1933和可移除光盘1943,但是其他类型的计算机可读存储介质(其可以存储可由计算机访问的数据,诸如磁带盒、闪速存储器卡、数字视频光盘、数据磁带盒、随机存取存储器(RAM)、只读存储器(ROM)等)也可以在当前安全计数的一些应用中被使用。附加地,如本文中所使用,术语计算机可读存储介质包括介质类型的一个或多个实例(例如一个或多个磁盘、一个或多个CD等)。出于本说明书和权利要求书的目的,短语“计算机可读存储介质”及其变型旨在涵盖非瞬态实施例,并且不包括波、信号和/或其他瞬态和/或无形的通信介质。
多个程序模块可以被存储在硬盘、磁盘1933、光盘1943、ROM 1917或RAM 1921上,包括操作系统1955、一个或多个应用程序1957、其他程序模块1960和程序数据1963。用户可以通过输入设备(诸如键盘1966)和指向设备1968(诸如鼠标)将命令和信息键入计算机系统1900中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏垫、卫星天线、扫描仪、轨迹球、触摸板、触摸屏、触敏设备、语音命令模块或设备、用户运动或用户手势捕获设备等。这些和其他输入设备通常通过被联接到系统总线1914的串行端口接口1971被连接到处理器1905,但是可以通过其他接口(诸如并行端口、游戏端口或通用串行总线(USB))被连接。监测器1973或其他类型的显示设备还经由接口(诸如视频适配器1975)被连接到系统总线1914。除了监测器1973之外,个人计算机通常包括其他外围输出设备(未示出),诸如扬声器和打印机。图19中所示出的说明性示例还包括主机适配器1978、小型计算机系统接口(SCSI)总线1983和被连接到SCSI总线1983的外部存储设备1976。
计算机系统1900可使用与一个或多个远程计算机(诸如远程计算机1988)的逻辑连接在联网环境中操作。远程计算机1988可以被选择为另一个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且通常包括上文相对于计算机系统1900所描述的许多或所有元件,但仅单个代表性的远程存储器/存储设备1990在图19中被示出。图19中所描绘的逻辑连接包括局域网(LAN)1993和广域网(WAN)1995。这样的联网环境通常被部署在例如办公室、企业范围计算机网络、内联网和互联网中。
当在LAN联网环境中被使用时,计算机系统1900通过网络接口或适配器1996被连接到局域网1993。当在WAN联网环境中被使用时,计算机系统1900通常包括宽带调制解调器1998、网络网关或用于通过广域网1995(诸如互联网)来建立通信的其他部件。宽带调制解调器1998(其可以是内部的或外部的)经由串行端口接口1971被连接到系统总线1914。在联网环境中,与计算机系统1900相关的程序模块或其部分可以被存储在远程存储器存储设备1990中。应注意,图19中所示出的网络连接是说明性的,并且在计算机之间建立通信链路的其他手段可以取决于云计算网络中的当前安全计数的应用的特定要求被使用。
云计算网络中的当前安全计数的各种示例性实施例现在通过说明而不是所有实施例的详尽列表被呈现。示例包括一种用于操作本地计算设备的方法,该计算设备具有与由远程服务提供方操作的服务的网络连接性,该方法包括:将计算设备配置为在受信执行环境中操作;对与服务相关联的操作计数;使用非对称密码术对操作计数加密以创建安全计数;通过网络向服务提供方报告安全计数,由此安全计数是可操作的,以向服务提供方提供工作证据;当所报告的安全计数在预定限制内时,在计算设备上启用与服务相关联的操作的执行;以及当所报告的安全计数在预定限制之外时,在计算设备上禁用与服务相关联的操作的执行。
在另一示例中,预定限制包括由许可、策略或协议中的一项限定的操作计数。在另一示例中,工作证据由计算设备可操作来作为计算设备值得被服务提供方信任的证明。在另一示例中工作证据使服务提供方能够将计算设备识别为被如下许可或策略覆盖,许可或策略至少部分地由服务提供方可强制执行。在另一示例中,安全计数通过如下被实现:与适于计算设备和服务的预付费许可或后付费许可中的一项相关联地对操作增计数或对操作减计数。在另一示例中,操作包括由服务提供方进行的远程操作中的一个或多个远程操作,远程操作包括:数据分组处置、虚拟机利用、或对在一个或多个计算机服务器上可操作的由服务提供方操作的应用或服务的功能调用。在另一示例中,操作至少部分地通过在计算设备上执行本地处理而被实现。在另一示例中,计算设备在不同配置下可操作,并且还包括针对不同配置中的每个配置报告操作的安全计数。在另一示例中,方法还包括向服务提供方提供健康认证,健康认证包括元数据,元数据在与被计数的操作中的一个或多个操作相关联的时间描述计算设备的操作状态。在另一示例中,方法还包括对计数或报告节流,使得计算设备被选择性地禁用预定时间段。在另一示例中,操作通过驱逐在计算设备上被实例化的看门狗而被启用。在另一示例中,从服务提供方接收到的令牌被用于驱逐看门狗。在另一示例中,操作通过对计算设备上的看门狗的操作而被禁用。在另一示例中,计数被单调地执行,并且还包括:将单调计数与事件日志比较,以标识所日志记录的事件与所计数的操作之间的不匹配。
另一示例包括存储计算机可执行指令的一个或多个非瞬态计算机可读存储器设备,这些计算机可执行指令在由计算机服务器中的一个或多个处理器执行时使计算机服务器:从公私钥对接收密钥,其中公私钥对被利用以至少部分地建立针对计算设备和计算机服务器中的每个的受信执行环境,计算设备和计算机服务器在预定条款下互操作;从计算设备接收操作计数的经加密报告,操作计数与至少部分地使用计算机服务器被实现的服务的利用相关联,服务由服务提供方操作;尝试使用接收到的密钥来对操作计数的经加密报告解密,其中成功的解密用于利用服务鉴别计算设备;如果所报告的操作计数符合互操作的条款,那么向计算设备提供附加操作计数以继续在条款下与服务互操作;以及如果所报告的操作计数不符合互操作的条款,那么使得能够终止计算设备对服务的利用。
在另一示例中,指令还使计算机服务器当利用服务时接收描述计算设备的状态的元数据,并且还使用元数据过滤来自计算设备的数据耗尽。在另一示例中,指令还使计算机服务器使资源对计算设备是可用的,用于下载或利用,可用性取决于对来自计算设备的操作计数报告的接收。
另一示例包括一种计算设备,包括:一个或多个处理器;以及至少一个非瞬态计算机可读存储器,其上存储有计算机可执行指令,这些计算机可执行指令当被一个或多个处理器执行时使计算设备:通过使用密码术过程在设置的限制下与由远程服务提供方操作的服务进行通信,来在受信执行环境中操作;在被安装在计算设备上的受信插件中执行一个或多个密码术过程;对服务的利用计数;向服务提供方报告所计数的服务利用;以及只要所计数的服务利用在设置的限制内,就利用服务来操作受信插件。
在另一示例中,计算设备还包括受信平台模块(TPM),该受信平台模块存储与密码术过程相关联的一个或多个密钥。在另一示例中,所执行的指令还使计算设备操作插件以运行与具有受信执行环境的应用相关联的代码,插件提供与操作系统以及在计算设备上执行的其他应用和过程的隔离。
尽管本主题已经针对结构特征和/或方法动作被语言描述,但是应理解,所附权利要求书中所定义的主题不必被限于上文所描述的特定特征或动作。相反,上文所描述的特定特征和动作作为实施权利要求书的示例形式被公开。
- 云计算网络中的安全计数
- 云计算网络中的安全事件分析方法及系统