公开/公告号CN112311551A
专利类型发明专利
公开/公告日2021-02-02
原文格式PDF
申请/专利权人 诺基亚技术有限公司;
申请/专利号CN202010651099.7
发明设计人 马泰奥·西诺里尼;马泰奥·蓬泰科尔维;
申请日2020-07-08
分类号H04L9/32(20060101);H04L29/06(20060101);G06F9/455(20060101);
代理机构11655 北京启坤知识产权代理有限公司;
代理人赵晶
地址 芬兰埃斯波
入库时间 2023-06-19 09:46:20
技术领域
本发明的主题内容总体上涉及针对虚拟机的网络和信息安全领域。
背景技术
虚拟化已经改造了提供远程/线上服务的方式。云服务提供商可以提供多样的虚拟机,所述虚拟机可以在不同的物理机器之间被创建/杀死/移动而不会影响顾客的体验。但是特别在物联网领域,顾客可能需要知道他们的虚拟机正运行在什么硬件上。作为一个实例,顾客可能要求对于某种医疗或工业装备具有虚拟访问权。于是能够远程地访问特定资源的所有权就变得极为重要。
物理的不可克隆功能(有时也被称作物理不可克隆功能)或“PUF”是在物理方面定义的“数字指纹”,其充当用于诸如微处理器之类的半导体设备的独有身份。PUF是基于在半导体制造过程中自然发生的独有物理变化。PUF是具体实现在物理结构中的物理实体。现今,PUF通常被实施在集成电路中,并且通常被使用在具有高安全性要求的应用中,更具体来说是密码术。基于PUF的设备指纹可以被用来实施强健的识别方案。
PUF可以通过对虚拟机运行在其上的硬件进行数字加水印而帮助解决前述问题。但是这样的数字水印的取回过程(被称作PUF挑战)可能会受到不同攻击的威胁:
-恶意软件可能会被注入在客户端应用内,从而使得PUF挑战不是在真实的机器上被执行,而是被重定向到不同的机器;
-“模糊提取器”组件(其润色从PUF获得的输出,并且产生可以被长时间使用的稳定输出)可能会被侵入,从而提供假的或者不同的PUF响应;
-关于“模糊提取器”,PUF驱动程序或虚拟机监视器(其被用来访问虚拟机内的驱动程序)可能会被嵌入,从而提供假的或不同的PUF响应。
由于虚拟化环境的行为对于主机是未知的,并且由于诸如DMA(直接存储器存取)之类的技术提供了一种在不使用任何虚拟化驱动程序的情况下从虚拟机跳跃到硬件空间的方式,因此从虚拟机内挑战PUF更难作假。但是一种名为“语义自省”的技术允许“部分地理解”虚拟机的内容。这种攻击尽管更难实现,但是可以复制前面所列出的相同攻击,从而使得远程“资源所有权证据”变弱。
因此,需要击败可以在至少其中一些虚拟机上使用语义自省的那些攻击。
发明内容
提供本概要是为了介绍与本发明的主题内容有关的概念。本概要不意图标识出所要求保护的主题内容的必要特征,也不意图用来确定或限制所要求保护的主题内容的范围。
在一种实现方式中,提供一种用于在主机设备上保护可证明的资源所有权的方法,其中所述主机设备已衍生出为客户端设备提供服务的虚拟机集合,所述方法包括主机设备中的以下步骤:
对于每一个虚拟机接收来自客户端设备的挑战请求,所述挑战请求包含物理不可克隆功能PUF挑战和过滤器规则;
用PUF挑战对主机设备的PUF组件进行挑战,从而对于每一个虚拟机获得PUF响应;
根据过滤器规则,在对应于每一个虚拟机的PUF过滤响应中对PUF响应进行过滤;
把对应于每一个虚拟机的PUF过滤响应发送到客户端设备。
有利的是,提供了一种并行地通过多个虚拟机来利用PUF的新的方式,从而使得攻击者对识别过程(即PUF响应)作假要难得多。现在如果攻击想要成功,则攻击者必须能够闯入远程用户所衍生的所有虚拟机。因此,远程/线上服务有可能验证其正运行在哪一个物理设备上。作为一个小例子,这对于远程外科手术服务是极为重要的,其中的装备所必须满足的具体特性必须得到顾客/客户端的远程验证。
在一个实施例中,初始地用多个数值对主机设备的PUF组件进行挑战,以便创建挑战-响应数据库。
在一个实施例中,由客户端设备取回挑战-响应数据库。
在一个实施例中,由客户端设备的用户根据硬件规范来规定虚拟机的数目。
在一个实施例中,过滤器规则对应于PUF响应的关于虚拟机的标识符的所选部分。
在一个实施例中,PUF响应的所选部分取决于虚拟机的数目。
在一个实施例中,过滤器规则对应于PUF响应的所选异或部分,并且PUF响应的所选异或部分取决于虚拟机的数目和在输入中接收到的异或数值。
在一种实现方式中,提供一种用于在主机设备上保护可证明的资源所有权的方法,其中所述主机设备已衍生出为客户端设备提供服务的虚拟机集合,所述方法包括客户端设备中的以下步骤:
向每一个虚拟机发送挑战请求,所述挑战请求包含物理不可克隆功能PUF挑战和过滤器规则;
从每一个虚拟机接收PUF过滤响应,所述PUF过滤响应是根据过滤器规则经过过滤并且通过用PUF挑战对主机设备的PUF组件进行挑战而获得的PUF响应;
根据过滤器规则把各个PUF过滤响应组合成重建PUF;如果重建PUF对应于挑战-响应数据库中的预期响应,则确认虚拟机集合正有效地运行在正确的主机设备上。
在另一种实现方式中,提供一种设备,其用于在已衍生出为客户端设备提供服务的虚拟机集合的所述设备上保护可证明的资源所有权,所述设备包括:
用以与网络进行通信的一个或多个网络接口;
耦合到网络接口并且被配置来执行一个或多个进程的处理器;以及
被配置来存储可由处理器执行的进程的存储器,所述进程在被执行时可操作来:
对于每一个虚拟机接收来自客户端设备的挑战请求,所述挑战请求包含物理不可克隆功能PUF挑战和过滤器规则;
用PUF挑战对所述设备的PUF组件进行挑战,从而对于每一个虚拟机获得PUF响应;
根据过滤器规则,在对应于每一个虚拟机的PUF过滤响应中对PUF响应进行过滤;
把对应于每一个虚拟机的PUF过滤响应发送到客户端设备。
在另一种实现方式中,提供一种设备,其用于在已衍生出为客户端设备提供服务的虚拟机集合的主机设备上保护可证明的资源所有权,所述设备包括:
用以与网络进行通信的一个或多个网络接口;
耦合到网络接口并且被配置来执行一个或多个进程的处理器;以及
被配置来存储可由处理器执行的进程的存储器,所述进程在被执行时可操作来:
向每一个虚拟机发送挑战请求,所述挑战请求包含物理不可克隆功能PUF挑战和过滤器规则;
从每一个虚拟机接收PUF过滤响应,所述PUF过滤响应是根据过滤器规则经过过滤并且通过用PUF挑战对主机设备的PUF组件进行挑战而获得的PUF响应;
根据过滤器规则把各个PUF过滤响应组合成重建PUF;
如果重建PUF对应于挑战-响应数据库中的预期响应,则确认虚拟机集合正有效地运行在正确的主机设备上。
在另一种实现方式中,提供一种具体实现有计算机程序的计算机可读介质,所述计算机程序用于执行一种在主机设备上保护可证明的资源所有权的方法,其中所述主机设备已衍生出向客户端设备提供服务的虚拟机集合。所述计算机程序包括实施根据本发明的方法的各个步骤的指令。
附图说明
下面将参照附图来描述具体实施方式部分。在附图中,附图标记的最左侧的(多位)数字标识出该附图标记第一次出现在其中的附图。在各图中始终使用相同的附图标记来指代类似的特征和组件。现在将仅以举例的方式参照附图来描述根据本发明的主题内容的实施例的系统和/或方法的一些实施例,其中:
图1示出了根据本发明的一个实施例的用于保护可证明的资源所有权的通信系统的示意性方块图。
图2示出了根据本发明的一个实施例的用于保护可证明的资源所有权的方法的流程图。
相同的附图标记在所有附图上都表示相同的单元或相同类型的单元。
本领域技术人员应当认识到,本文中的任何方块图表示具体实现本发明的主题内容的原理的说明性系统的概念视图。类似地将会认识到,任何流程图、程序图、状态转换图、伪代码等等表示可以基本上被表示在计算机可读介质中并且因此由计算机或处理器执行的各种进程,而不管这样的计算机或处理器是否被明确地示出。
具体实施方式
附图和后面的描述说明了本发明的特定的示例性实施例。因此应当认识到,本领域技术人员将能够设想出各种安排,所述安排虽然没有在这里被明确地描述或示出,但是具体实现了本发明的原理并且被包括在本发明的范围内。此外,本文中所描述的任何实例都是意图帮助理解本发明的原理,并且应当被解释成不受限于这样的具体引述的实例和条件。因此,本发明不受限于后面所描述的具体实施例或实例,而是由权利要求及其等效表述限制。
参照图1,主机设备HD可以通过电信网络TN与制造商服务器MS和客户端设备CD进行通信。
电信网络TN可以是有线或无线网络,或者是有线和无线网络的组合。电信网络TN可以与分组网络相关联,例如因特网或内联网之类的IP(“互联网协议”)高速网络,或者甚至是特定于公司的私有网络。
电信网络TN例如是GPRS(通用分组无线电服务)、UMTS(通用移动电信系统)、CDMA(码分多址)类型、LTE(长期演进)或者甚至5G(第五代)类型的数字蜂窝无线电通信网络。此外,无线电信网络TN可以由移动设备通过无线链路进行访问,比如Wi-Fi网络或蓝牙连接。
在另一个实例中,电信网络TN是有限范围的公共无线网络,比如WLAN(无线局域网)或遵循802.1x标准,或者具有根据WiMAX(全球微波接入互操作性)协议的中等范围。
此外,电信网络TN可以根据第四代或第五代无线通信协议等等以及可能在未来开发出的类似无线通信协议进行操作。
制造商服务器MS由主机设备HD的制造商操作,并且负责计算包含对应于主机设备HD的数字指纹的原始挑战-响应数据库CRDB。制造商服务器MS还负责对来自其他实体(比如客户端设备)的针对挑战-响应数据库的请求进行签名。
主机设备HD为客户端设备CD提供一些线上/远程服务。主机设备HD的所有者能够从制造商服务器下载原始挑战-响应数据库CRDB的签名版本,并且在需要时将其发送到客户端设备CD。
客户端设备CD运行控制由主机设备HD主管的虚拟应用的远程客户端应用RCA,并且能够在提供服务的同时检查什么硬件正在使用主机设备。客户端设备CD实施存储挑战-响应数据库CRDB的远程硬件评估模块RHAM,并且能够请求PUF挑战和分析PUF响应。
主机设备HD可以是适于执行应用和/或虚拟机VM的任何类型的计算设备。举例来说,主机设备HD可以是适于在数据中心或某种其他操作环境内执行一个或多个虚拟机VM的服务器。虚拟机VM可以是指主机设备的软件实现方式。举例来说,虚拟机VM可以被配置来像物理机器那样执行软件。相同的主机设备可以执行相同类型的虚拟机VM或者不同类型的虚拟机VM。举例来说,主机设备上的其中一个虚拟机VM可以运行第一操作系统,而主机设备上的另一个虚拟机VM则可以运行第二操作系统。在一些实例中,主机设备可以是数据中心的一部分。举例来说,主机设备可以被配置来提供远程存储、处理或者某种其他类型的服务。虚拟机VM可以被配置来执行一个或多个应用。举例来说,主机设备HD可以执行运行单个应用的一个虚拟机VM,并且可以执行运行多个应用的另一个虚拟机VM。
物理不可克隆功能(PUF)是具体实现在物理设备(例如集成电路(IC)或芯片)中的物理实体,其利用物理设备中固有的过程变化来产生易于由PUF计算但是对于PUF外部的实体则难以预测的响应。此外,预期单独的PUF是易于制造的,但是即使重复制作出PUF的制造过程也实际上不可能复制,这是因为例如温度等各种参数在制造过程中可能会有所不同,并且材料杂质等也会对各个单独的PUF造成不同影响。关于术语应当提到的是,“物理不可克隆功能”在文献中也常被称为“物理的不可克隆功能”,所述术语常常可以被互换使用。但是严格来说,存在产生克隆功能的非物理方式(正如将会描述到的那样),因此在本文中使用“物理不可克隆功能”表明不存在通过物理手段产生克隆功能的(已知)方式。
PUF已被提出作为用于设备识别、挑战-响应认证以及秘密密钥生成的一种低成本密码原语。与基于存储器的传统密钥存储方法相比,PUF据称提供了针对入侵攻击的更高等级的抗篡改。迄今为止所开发出来的大多数PUF IC可以被分成两个类别:基于延迟(例如环形振荡器PUF和仲裁器PUF)和基于存储器(例如静态随机存取存储器(SRAM)PUF)。
主机设备HD包含基于存储器的PUF IC。所述PUF IC是实施在内核空间中的静态随机存取存储器(SRAM)PUF。主机设备HD的每一个虚拟机VM在用户空间中实施PUF挑战器PC、反向模糊提取器模块RFEM和SRAM驱动程序SD。
PUF挑战器PC被实施在虚拟用户空间中,接收来自客户端设备CD的PUF挑战。反向模糊提取器模块RFEM能够润色从PUF IC获得的输出,并且产生可以被长时间使用的稳定输出。PUF挑战器PC和反向模糊提取器模块RFEM通过专用的套接字进行通信。SRAM驱动程序SD对PUF IC进行查询以获得PUF挑战的输出,并且与反向模糊提取器模块RFEM进行合作以便对所述输出进行润色并且提供PUF响应。
SRAM驱动程序SD还能够提供PUF过滤响应,所述PUF过滤响应是根据PUF挑战器PC所接收到的针对PUF挑战的请求的内容而选择的PUF响应的一部分。
参照图2,根据本发明的一个实施例的用于保护可证明的资源所有权的方法包括步骤S1到S10。
在步骤S1中,由操纵制造商服务器MS的公司制造主机设备HD。位于主机设备上的PUF被制造商服务器MS登记。在登记过程中,用多个数值对包含在主机设备HD中的PUF IC进行挑战,从而创建并且存储挑战-响应数据库CRDB。后者包含当用某些特定数值进行挑战时的PUF IC的预期行为,并且是用以识别特定硬件元件(即特定设备)的唯一方式。随后主机设备HD可以被递送(即装运或租赁或销售)到通过实施在主机设备中的虚拟机来向客户端设备CD提供线上/远程服务的公司。
在步骤S2中,主机设备HD的所有者通过提供线上/远程服务的公司的服务器向制造商服务器MS发送针对取回挑战-响应数据库CRDB的请求,所述请求包含主机设备的公共密钥。制造商服务器MS对包含挑战-响应数据库CRDB以及主机设备的公共密钥(其被用来把数据库与该特定的主机设备相关联)的消息进行签名,并且将其发送给主机设备HD的所有者。
在步骤S3中,客户端设备CD的用户希望使用由具有主机设备HD的硬件规范的物理机器所提供的服务。客户端设备CD的远程客户端应用RCA通过客户端设备的标识符和硬件规范向主机设备HD的所有者要求账户创建。主机设备HD的所有者确认账户创建,这是通过根据硬件规范保留主机设备HD和资源,并且通过向远程客户端应用RCA发送材料以便安装专用于通过PUF挑战来保护可证明的资源所有权的远程硬件评估模块RHAM。根据硬件规范的资源保留对应于客户端设备CD的用户所规定的虚拟机的数目。
在步骤S4中,远程硬件评估模块RHAM对主机设备HD的所有者(公司的服务器)进行查询或者直接对主机设备进行查询,以便取回对应于主机设备HD的挑战-响应数据库CRDB并且存储后者。挑战-响应数据库CRDB是每个主机设备所独有的,并且在不具有对于原始PUF IC的访问权的情况下几乎不可能复制/重新计算/伪造另一个挑战-响应数据库。
在步骤S5中,主机设备HD根据硬件规范衍生出客户端设备CD的用户所规定的数目的虚拟机。客户端设备CD随后准备好发起验证主机设备HD正根据硬件规范在正确的设备上运行虚拟机的协议。
在步骤S6中,远程硬件评估模块RHAM向运行在主机设备HD上的每一个虚拟机发送挑战请求ReqC。挑战请求ReqC包含PUF挑战、硬件规范以及表明如何对PUF响应进行过滤的过滤器规则。
在步骤S7中,每一个虚拟机通过PUF挑战器PC接收挑战请求ReqC,并且通过SRAM驱动程序SD对PUF IC进行挑战以获得PUF响应。
在步骤S8中,根据挑战请求ReqC的过滤器规则和过滤器输入在PUF过滤响应中对每一个虚拟机的PUF响应进行过滤,并且发送到客户端设备CD。过滤器规则对应于PUF响应的关于虚拟机的标识符的所选部分,过滤器输入则对应于所选部分的串(string)。PUF响应的所选部分取决于虚拟机的数目,并且可以通过多种方式进行。在一个实例中,过滤器输入对应于与所选部分进行异或的串。
在步骤S9中,远程硬件评估模块RHAM接收对应的虚拟机的PUF过滤响应,并且关于过滤器规则把各个PUF过滤响应组合成重建PUF响应。远程硬件评估模块RHAM可以在每一次用户希望检查主机设备时对于该主机设备创建过滤器规则,并且随后知道如何组合接收自各个虚拟机的不同的PUF过滤响应。
举例来说,挑战请求ReqC以及异或数值被发送到三个虚拟机,从而产生以下PUF响应“100101110”(对于每一个虚拟机是相同的)。第一虚拟机把PUF响应过滤为“100”,第二虚拟机把PUF响应过滤为“101”,并且第三虚拟机把PUF响应过滤为“110”。以异或数值“010101010”为例,经过异或的PUF部分将分别得到“110”、“000”和“100”。重建PUF响应对应于过滤之前的PUF响应,也就是具有以下形式“110000100”。
在步骤S10中,远程硬件评估模块RHAM把重建PUF响应与挑战-响应数据库CRDB中的对于相应的PUF挑战的预期响应进行比较。如果存在匹配,则客户端设备确认虚拟机正有效地运行在正确的主机设备上。
由于客户端设备将无法重新计算PUF响应,因此把虚拟机从主机设备HD卸载到不同的物理机器是不可能的。
位于主机设备侧的攻击者不可能拦截PUF挑战并且用存储在CRDB内的数值作出应答。实际上,VM对网卡的使用是直接的而不是虚拟化的。因此,去往/来自VM的任何通信不会经过虚拟机监视器,而是直接去到网卡。
位于主机设备侧的攻击者几乎不可能对每一个虚拟机的内容和动作进行语义解释以便安装可以拦截PUF挑战并且提供假的/伪造的响应的恶意软件。
一个实施例包括一种装置形式下的客户端设备CD或主机设备HD,所述装置包括一个或多个处理器、(多个)I/O接口以及耦合到(多个)处理器的存储器。所述(多个)处理器可以被实施为一个或多个微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路以及/或者基于操作指令来操纵信号的任何设备。所述(多个)处理器可以是单个处理单元或若干单元,所有单元还可以包括多个计算单元。除了其他能力之外,所述(多个)处理器被配置来获取和执行存储在存储器中的计算机可读指令。
可以通过使用专用硬件以及与适当的软件相关联的能够执行软件的硬件来提供处理器所实现的功能。当由处理器提供时,所述功能可以由单个专用处理器提供,由单个共享处理器提供,或者由其中一些可以被共享的多个单独的处理器提供。此外,对于术语“处理器”的明确使用不应当被解释成排他地指代能够执行软件的硬件,而是可以隐含地包括(而不限于)数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)以及非易失性存储装置。还可以包括其他传统的和/或定制的硬件。
存储器可以包括本领域内已知的任何计算机可读介质,例如包括易失性存储器和/或非易失性存储器,易失性存储器比如有静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM),非易失性存储器比如有只读存储器(ROM)、可擦写可编程ROM、闪存、硬盘、光盘和磁带。存储器包括模块和数据。模块包括施行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等等。数据特别充当用于存储由其中一个或多个模块处理、接收和生成的数据的存储库。
本领域技术人员将很容易认识到,前面所给出的方法可以由已编程计算机施行。在本文中,一些实施例还意图涵盖程序存储设备,例如机器或计算机可读并且编码机器可执行或计算机可执行指令程序的数字数据存储介质,其中所述指令施行所描述的方法的其中一些或所有步骤。程序存储设备例如可以是数字存储器、磁性存储介质(比如磁盘和磁带)、硬盘驱动器或者光学可读数字数据存储介质。
机译: 通过仲裁和所有权保护分布式系统资源
机译: 例如ritoribu可能的令牌(智能卡)是资源联合所有权,在内部独立的执行环境中,应用程序之间的安全性受到保护
机译: 通过仲裁和所有权保护分布式系统资源