使用组加密密钥的用于大规模可伸缩动态多点虚拟私有网络的系统、装置和方法与流程

文档序号:16811020发布日期:2019-02-10 13:38阅读:221来源:国知局
使用组加密密钥的用于大规模可伸缩动态多点虚拟私有网络的系统、装置和方法与流程

实施例涉及增强网络环境中的安全性。



背景技术:

在当前网络环境中创建动态安全网络组在技术上具有挑战性,这是因为专用基础设施通常用于针对多个计算设备支持组成员资格。该专用基础设施为组成员执行密钥管理活动,以便允许他们安全地通信。

建立虚拟私有网络(vpn)的基础设施动态保护隧道的常用方法是经由动态多点vpn(dmvpn)。关于该实施方式的复杂性的一个问题是密钥管理协议,其使用密钥管理服务器作为专用基础设施来处理成员之间的认证密钥以及消息完整性和机密性密钥的分发。该中央密钥管理方法增加了复杂性并暴露了中心故障点。因为动态成员-成员隧道的创建,所以系统实际上包括指数的(o(n2))不同的连接,这可能会不期望地增加复杂性。

附图说明

图1是根据本发明的实施例的网络的框图。

图2是根据本发明的一个实施例的方法的流程图。

图3是根据本发明另一实施例的方法的流程图。

图4是根据本发明又一实施例的方法的流程图。

图5是利用其实施例可以被使用的示例性系统的框图。

图6是根据本发明另一实施例的系统的框图。

图7是根据本发明另一实施例的系统的框图。

具体实施方式

在各种实施例中,可以使用组密钥经由对等模型来实现设备网络内的密钥管理活动,而不是基于多个辐条-集线器(spoke-hub)通信的仲裁密钥管理。更具体而言,组认证密钥管理方案可以用于建立设备组(并且在一些实施例中,由这样的设备内的功能形成的组),并且提供组密钥材料以使得能够认证组中的成员资格(在许多情况下同时保护个体设备的隐私)。在本文描述的特定实施例中,组密钥可以基于增强型隐私标识符(epid)系统。以该方式,基于对等的密钥生成模型允许组成员全部使用相同的组公钥来直接验证成员之间的消息认证代码,而无需参考中央实体,例如证书目录/仲裁者。然而,每个组成员拥有唯一的组私钥,以确保每个成员的消息的组不可否认性。

虽然本发明的范围不限于此,但是实施例适用于许多不同类型的计算网络。在一些情况下特别感兴趣的是物联网(iot)网络,其中,各种不同的计算设备、一些可能最低限度地计算密集设备(例如,传感器和致动器等)在给定网络或其部分中耦合在一起。特别是在这样的iot设备之间通信的实施例中,组成员资格以及因此认证技术可以至少部分地基于设备类型或类,以便验证器理解配套设备的预期行为。在特定实施例中,设备组可以与设备中的每一个设备可以执行的特定功能相关联。这样,个体iot设备可以被包括在多个组中,其中,这样的设备包括多个功能,而每个这样的组与这些功能中的不同功能相关联。进一步理解,在其他情况下,设备可以灵活且动态地加入和退出组,并且实施例预期了来自给定组的设备的动态添加/减去以及相关联密钥或其他证书的对应撤销。

作为一个特定实施方式示例,加热通风空调(hvac)控制器关注特定房间或位置中的温度传感器正在感测温度,而不是其具有特定的唯一身份。无论是在信标、时钟收音机、可穿戴设备还是其他设备上被发现的,任何温度传感器都可以是足够的。实施例可以将组与该温度感测功能相关联,但是许多不同的设备类型可以提供该功能。这样,网络或其部分内的多个不同设备可以是epid组的成员,以使得hvac控制器可以认证其参与hvac控制活动的相关性。因为该能力,所以每个成员具有单个证实证书(validationcertificate),这移除了分发或查询个体证书的需要。用该能力,证书管理开销的总体复杂性可以被简化。情况是这样,这是因为验证器可以为发送签名的消息的所有设备存储/高速缓存单个证书。相比之下,当每个设备具有其自己的证书时,没有实施例的证书管理可能更具挑战性。在该情况下,每个验证器获得(或缓存)用于从其接收通信的每个设备的证书。如果数据消息大小是小的,则为每条消息提供证书可能是不切实际的。

不需要用于公共组的成员的个体证书使得组成员能够与对等方直接协商例如业务加密密钥,而如本文描述的不涉及中央实体(例如,集线器服务器)(超出初始组密钥生成)。协商的对称密钥可以是时间的。然而,在信息消费者或订户(例如,hvac控制器)与一组信息提供者或发布者(例如,每个房间中的温度传感器)之间可能存在天然的集线器与辐条关系,以使得现有的成对密钥可以被定期刷新。在一些实施例中,与使用epid组的临时密钥的频繁重新协商相比,对称密钥刷新可以是优选的。在本文描述的实施例中,可以通过将n的大小减小成更小的组来简化o(n2)复杂度。换言之,任何给定组的大小可以小于给定网络实体中的设备数量,这是因为分组可以是根据功能(相对于唯一身份)的。以该方式,可以存在多组小的n,以使得密钥管理的复杂性接近o(nlogn2)。这样,实现了线性复杂性,而不是中央密钥管理系统的指数复杂性。这里,对中央基础设施的实时依赖性限于新辐条的初始加入,或者在一些实施例中,没有任何加入操作。在所有情况下,这移除了所有后续的辐条-集线器交互。

使用本发明的实施例,性能可以增加,这是因为通过消除通过集线器前进直到另一方检索成员特定证书的初始业务来减少创建新辐条-辐条隧道的时间。在存在多个具有短期实时会话的成员的情况下,这样的性能增强可以是特别显著的。这样的短期实时会话的示例包括实时内容通信(例如,音频和视频)、用于企业用例的基于云的协作、以及其他延时敏感的业务类型,所述业务类型在尚未具有与发送辐条的安全关联的辐条上朝向接收者遍历vpn环境。

实施例还可以提供关于可伸缩性的增强,这是因为单个公共社区密钥可以支持是相同vpn域的一部分的任何数量的主机。更进一步地,实施例增强了网络布置,这是因为对集线器状态和去往/来自集线器的通信的依赖性仅与新成员加入相关(或根本不相关)。除初始组密钥供应之外,现有成员完全自治。这样,使用实施例,对安全对等通信不存在实时依赖性,因此管理实体不在关键路径中。

为了实现本发明的实施例,首先可以执行组密钥供应过程,其中,使用密钥管理服务向每个组成员供应组(例如,epid)私钥。在不同的实施例中,成员之一可以出于此目的而充当epid组长,或者公共服务器可以被识别为组长。在一个实施例中,组长(gl)可以采用epid加入协议,以向每个成员提供dmvpn组私钥。注意,在一些实施例中,如果要在ipv6多播vpn上发生dmvpn交互,则可以选择组名称来与互联网协议版本6(ipv6)多播地址重叠。可以通过将组名(例如,多播地址)指派给epid组名来证明组公钥。换言之,dmvpn的组名和多播地址可以是同义的。该证书确保组长被授权以该容量运作。注意,使用多播地址与epid组名同义的组策略简化了组策略管理,以使得知道epid组的任何人也知道如何配置ip多播;或者如果多播地址已知,则设备已经知道要从组长获得哪个epid组证书。

在该组密钥供应过程之后,该组(包括该组的子集)的成员可以进入到一个或多个组对称密钥交换中。例如,发布-订阅组或组内的子集可以执行对称密钥交换协议以建立用于通信公布的安全信道。这样,组成员可以通过执行密钥交换协议来获得用于消息完整性和/或机密性的组对称密钥。可以使用密钥加密密钥(kek)来包装该对称完整性和/或机密性密钥,如以下描述的。

该整个消息可以在组多播信道上进行多播。以该方式,该初始消息(m0)的任何接收者都可以向该组认证kek,并且随后重新发送消息而不会失去真实性。例如,如果原始发送者是休眠的节点,则网关设备可以在发起者进入到休眠状态中的同时向订户重新发送消息。以该方式,低功率设备可以唤醒以执行(例如,感测功能)、传送感测到的数据、然后返回睡眠状态。

在实施例中,接收初始消息m0的每个节点可以使用其中包含的对称密钥来配置ip层多播vpn。此后,可以在组特定的dmvpn内发送无限数量的后续消息(m1-mn)。在本文的实施例中,该dmvpn对于组内交换是非常高效的,这是因为从这一点开始使用对称密码体制。即使睡眠的节点也可以唤醒到dmvpn上下文中而不会产生密钥交换开销。

由于极端可伸缩性,所以较低级别的实体设备(例如,服务器pod或甚至单个服务器级别)可以执行组密钥管理活动,以使得实施例可以用于虚拟化环境中。使用如本文描述的组密钥,可以避免集线器-辐条交换,增加性能并减少延时。另外的实施例通过使用组密钥替换每个成员密钥来降低dmvpn中涉及的复杂性、增加可伸缩性、稳定性和性能。

现在参考图1,示出了根据本发明的实施例的网络的框图。使用dmvpn配置来实现网络100,以使得能够在各种不同设备之间建立动态多点vpn。更具体而言,如本文描述的,可以将设备收集到子集或组中,其中,组中的每个设备与设备中的每一个设备能够执行的共同功能相关联。应当理解,在一些实施例中,取决于设备中的每一个设备内提供的功能,不同设备可以是多个组的成员。

参考图1,应当理解,网络100可以是任何类型的计算设备网络的全部或一部分,范围从小型本地网络,例如,局域网(lan)、无线lan(wlan)、微微网或例如iot设备的其他本地无线网络。在其他情况下,网络100内设备中的至少一些设备可以远程定位并且例如经由互联网连接在一起。

应当理解,不同类型的设备可能在网络100内。具体而言,示出了集线器系统110。集线器系统110可以被配置为充当组长。在不同的情况下,集线器系统110可以是云服务提供者的公共服务器,例如给定的多租户数据中心。在其他情况下,集线器系统110可以是给定组的选举的组长(例如,如由域或组所有者配置的),并且可以被实现为服务器计算机、桌上型计算机、膝上型计算机、平板计算机、便携式设备或被配置为执行如本文描述的组长功能的其他计算设备。

如示出的,集线器系统110耦合到多个计算设备1201-120n。更具体而言,一次性连接125可以在集线器系统110和设备120中的每一个设备之间发生,以执行如本文描述的密钥供应过程。此后,在集线器系统110和设备120之间的连接可以继续或不继续。通过出于如本文描述的组密钥供应布置的目的而提供设备的一次性耦合,提高的效率被实现,这是因为例如在实现与其他设备的给定交互之前可以避免与集线器系统110通信的延时和其他开销。在已经发生组密钥供应过程以使得设备120包括组密钥之后,在dmvpn内的设备120之间的交互可以通过dmvpn隧道130发生,而不进一步涉及集线器系统。(注意,在一些情况下,集线器系统110本身可以是组成员,以使得可以通过dmvpn隧道的方式发生在给定设备120和集线器系统110之间的交互;然而,这样的交互不涉及集线器系统110的组密钥供应逻辑。)

这样,在图1所示的布置的情况下,组中的设备120进行的组对称密钥交换可以在不与集线器系统110进一步交互的情况下发生。并且响应于这样的对称密钥供应,设备120可以例如根据发布-订阅技术进行通信而没有与集线器的任何进一步的交互。应当理解,虽然在图1中示出了有限数量的设备,但如本文描述的dmvpn可以容适非常大量的设备。此外,可以实现多个独立的dmvpn,其中,不同数量的设备在给定的dmvpn中耦合在一起,例如,根据其中所有组设备具有用于识别或关联该组的共同功能的组。

注意,在一些实施例中,图1所示的设备可以包括可信执行环境(tee),其中,可以执行本文描述的安全操作。为此,在至少一些实施例中,包括在不同计算设备中的给定处理器或片上系统(soc)(或其一部分)可以包括单独的安全电路(或可以被配置)以在安全模式下操作。这样的安全模式提供与非安全硬件/软件/固件隔离的tee。在示例性实施例中,设备的tee可以利用软件保护扩展(sgx)、memcore、融合安全引擎(cse)、虚拟化技术(vt-x)、具有smack的iot-os、armtrustzone或任何其他安全环境。在一些情况下,tee可以在安全协处理器或硬件安全模块中实现。

现在参考图2,示出了根据本发明一个实施例的方法的流程图。如图2所示,方法200可以由根据本发明实施例的集线器服务器执行。更具体而言,集线器服务器可以被配置有硬件、软件、固件和/或其组合以执行方法200。应当理解,在给定实施例中,集线器服务器可以包括一个或多个处理器,例如多核处理器或其他soc,其可以包括用于执行图2的方法200的通用和/或专用电路。注意,给定的集线器服务器可以是域所有者的私有服务器或其他计算设备,所述域所有者例如给定的企业、建筑物、家庭、企业等。在其他情况下,集线器服务器可以是公共数据中心的基于云的服务器,其提供如本文描述的组密钥供应服务。

在任何情况下,方法200开始于为组建立dmvpn组公钥(框210)。应当理解,该组可以被形成以用于执行共同功能的设备的集合。出于讨论的目的,假设该共同功能是温度感测功能。在框220处,组成员可以与组长进行交互以建立dmvpn组私钥。应当理解,在框220处的这样的操作可以在每当设备要加入组(例如,使用epid加入协议)的时候发生。接下来,控制传递到框230,其中,可以为组成员供应dmvpn组公钥和组私钥。注意,dmvpn组密钥的该供应可以作为在集线器服务器和该组的对应设备之间的一次性事件来执行,并且可以在静态隧道外部发生以耦合集线器服务器和设备(因为根据这里的实施例不需要设置这样的静态隧道)。关于图2还应当注意,在集线器系统和给定组成员之间执行该组密钥供应过程之后,设备之间不会发生进一步的通信。然而,在一些情况下,可以向加入成员提供组对称密钥,如以下描述的。

注意,dmvpn组私钥可以用于认证密钥交换协议,所述密钥交换协议建立可以用于经由ip安全(ipsec)协议保护分组的组对称密钥。可以在多播地址上定义ipsec协议,以使得单个发送者可以同时向多个接收者引起受保护的(加密的/密钥-散列消息认证码(hmac)完整性保护的)消息。使用加密的ipsec分组,只有是该组的成员的接收者才接收用于解密分组的预共享的密钥(psk)。即使多播订户是路由的分组而没有组成员资格,这样的订户也不能解密分组。此外,对于完整性保护的分组,非成员接收者可以读取分组内容,但是可以是无法拥有用于将分组认证为来源于组成员的hmac密钥的,因此发送者保持高度否认。

现在参考图3,示出了根据本发明另一实施例的方法的流程图。更具体而言,图3所示的方法300可以由组的给定成员执行,如在任何类型的设备中实现的,例如在特定组内供应的iot或其他计算设备。为此,给定计算设备可以包括一个或多个处理器,例如多核处理器或其他soc,其可以包括用于执行方法300的通用和/或专用电路。如示出的,方法300开始于建立与集线器服务器的连接,以建立dmvpn组私钥,例如通过epid加入协议的方式(框310)。接下来在框320处,在静态隧道外部设备接收dmvpn组公钥,如以上描述的。

如图3进一步所示,接下来在菱形330处,可以确定该设备是否将是用于发送受保护的消息的发起者。例如,给定设备可以是发布者设备,例如具有传感器的设备,所述传感器用于发送例如来自设备的一个或多个传感器(或其他功能)的监测信息。在其他情况下,设备可以是发布-订阅模型中的另一类型的消息发起者。如果该设备将是发起者,则控制传递到框340,其中,密钥交换协议被执行以生成组对称密钥。应当理解,该密钥交换协议可以在该发起者设备和至少一个接收者设备之间发生。这些组对称密钥可以用于消息完整性和/或机密性的目的。在一个示例中,发送者使用随机数生成器(rng)来本地生成对称密钥。在另一示例中,然后可以将本地生成的对称密钥发送到密钥分发中心(例如,kerberos系统)。信令可以使组成员请求密钥(例如,经由fluffy机制,基于“fluffy:simplifiedkeyexchangeforconstrainedenvironments,draft-hardjono-ace-fluffy-00”(草案ietf规范2015年3月23日))。消息可以被加密并向密钥分发机构异步发送。在其他示例中,应用组密钥交换协议,例如使用相同的ga和gb使用diffie-hellman交换,以使得对称密钥值对于每个成员是相同的。用该选项,可以实现完美的前向保密(pfs),这是因为当前密钥的折衷(compromise)不会危及过去会话密钥的安全性。

仍然参考图3,控制接下来传递到框350,其中,可以包装该组对称密钥。更具体而言,在实施例中,组对称密钥可以用kek包装。例如,kek可以是rivestshamiradleman(rsa)或从错误中学习(learningwitherrors)(lwe)kek。此外,可以使用发起者设备的dmvpn组私钥来对该包装的组对称密钥进行签名。

注意,在其他情况下,可以从组长提供至少一些预先建立的kek。换言之,在一些实施例中,可以存在用于组成员之间的kek分发的不同方法。第一方法允许每个组成员拥有不同的非对称kek对,其中,公共kek值在成员加入组时被传送给组长。作为响应,所有先前加入的成员的kek公钥被返回给新成员,并且包含新成员公共kek的多播消息使用本文的实施例而被创建并被发送到所有现有成员,以安全地向该组发送消息。

第二方法依赖于共享的对称kek密钥,其中,使用诸如diffie-hellman信道、简单密码指数密钥交换(speke)或密码认证密钥交换(pake)协议之类的直接安全信道来向新成员供应共享的密钥。一旦被供应,组对称密钥就可以使用共享的对称kek来包装。该方法具有组密钥针对所有成员被包装一次的优点;然而,任何组成员都可能被非成员折衷,以允许非成员产生加密的/hmac的消息。为了降低该风险,kek可以定期改变;因此,成员可以定期向组长登记以获取更新的密钥。

仍然参考图3,控制接下来传递到框360,其中,可以向组发送初始消息。更具体而言,该初始消息包括包装的组对称密钥。当然,这样的消息中还可以包括另外的信息,例如,包括配置信息,其用于使得初始消息的接收者能够使用对称密钥和消息的其他信息(包括在保护与组成员交换的分组时将被使用的多播地址)来配置dmvpn的ip层。最后,仍参考图3,控制传递到框370,其中,可以将一个或多个另外的消息发送到组。应当理解,可以使用组对称密钥来加密诸如监测信息等的这些另外的消息,以使得可以在使得接收设备能够获得基础消息内容的同时发生与dmvpn中的不同设备的安全通信。应当理解,虽然在图3的实施例中以该高级别示出,但许多变化和替代是可能的。

现在参考图4,示出了根据本发明又一实施例的方法的流程图。更具体而言,图4所示的方法400可以由网关设备执行。在实施例中,这样的网关设备可以充当在给定设备与dmvpn中的一个或多个其他设备之间的中介。例如,网关设备可以是移动终端或其他便携式计算设备。在一个实施例中,这样的网关设备可以包括用于执行方法400(例如,在可管理性引擎上(其可以是处理器的一部分或不同实施例中的单独协处理器))的具有主动管理技术(amt)的处理器。

为了能够高效地发布来自发起者设备的消息(所述发起者设备可以是低功率的或仅偶尔活动和/或连接到网络的其他设备),网关设备可以充当重新发送源以从一个或多个设备接收输入的消息并且向给定组的适当成员重新发送消息。

为此,方法400开始于在网关设备中从发起者接收消息(框410)。接下来,在菱形420处确定是否要重新发送消息。例如,消息报头可以通过重新发送指示符的方式来指示是否要重新发送消息。在其他情况下,消息的目的地标识符可以指示消息是旨在仅用于网关设备还是要向给定组的选择或所有成员发送的多播或广播消息。如果消息不是用于重新发送的,则控制传递到框430,其中,消息被本地处理。例如,消息可以是用于网关设备的配置消息或旨在仅用于网关设备内的消费的一些其他消息。

仍然参考图4,如果确定消息用于重新发送的目的,则控制传递到框440,其中,可以识别与消息相关联的组。作为一个示例,网关设备可以包括表格或其他存储装置,其包括组的列表和组的对应成员。然后,至少部分地基于消息的组指示符,网关设备可以识别相关联的组。此后,控制传递到框450,其中,可以向组的一个或多个订户重新发送消息。例如,网关设备可以在相同的表格或不同的表格结构内存储网关设备要向其重新发送消息的组成员的列表。例如,这样的设备可以是本地接近网关设备的设备的集合。相反,出于进一步重新发送的目的,第一网关设备可以依次耦合到一个或多个其他网关设备,然后所述其他网关设备可以向组的另外的成员推送消息。应当理解,虽然在图4的实施例中以该高级别示出,但许多变化和替代是可能的。

如以上描述的,在一个实施例中,成员可以使用epid加入协议来与发出者交互以获得唯一的epid私钥,以使得发出者不知道成员的私钥。注意,发出者可以通过其他机制对成员进行认证。在一个实施例中,加入协议具有以下步骤:

1.集线器服务器(发出者)为dmvpn选择epid组。让gid是所选的组id。让(gid,h1,h2,w)(其中,h1和h2是g1中的元素,并且w是g2的元素,用于生成组公钥)是组公钥并且(gid,gamma)(其中,gamma是在[1,p-1]之间的整数)是发出私钥的组。可以选择gid为对应于多播地址的128位值。如果地址较短,则用零填充。

2.让ni是由发出者选择的256位新鲜值。

3.成员在[1,p-1]之间选择随机证书或从一些种子值在[1,p-1]之间导出f。该步骤在本说明书的范围之外。

4.成员运行joinp进程以创建加入请求(f,c,s)(其中,c和s是在[1,p-1]之间的整数)。joinp进程在以下被指定。

5.成员向发出者发送加入请求(f,c,s)。

6.发出者运行joini进程以创建成员资格证书(gid,a,x)(其中,a是g1的元素,并且x是用于成员的在[1,p-1]之间的整数)。joini进程在以下被指定。

7.发出者向成员发送成员资格证书(gid,a,x)。

8.成员将接收的成员资格证书(gid,a,x)和在步骤3中生成的f值连接成epid私钥(gid,a,x,f)。成员可以证实私钥,例如,如由pki服务器指定的。

在表格1中指定了根据本发明实施例的joinp算法的细节:

表格1

输入

(gid,hi,h2,w):epid组公钥

f:在[1,p-1]之间的整数

ni:256位字符串

输出

(f,c,s):加入请求

步骤

使用以下变量f、r(g1的元素)和r、c、s(256位整数)。

1.成员从[1,p-1]中选择随机整数r。

2.成员计算f=g1.sscmexp(hl,f)。

3.成员计算r=g1.sscmexp(hl,r)。

4.成员计算c=fp.hash(p||g1||g2||h1||h2||w||f||r||ni)。

5.成员计算s=(r+c·f)modp。

6.输出加入请求是(f,c,s)。

表2中指定了根据本发明实施例的joini算法的细节:

表2

输入

(gid,hi,h2,w):epid组公钥

(gid,gamma):对应于公钥的发出私钥

ni:256位字符串

(f,c,s):加入请求

输出

(gid,a,x):成员资格证书

步骤

使用以下变量r、t3、a(g1的元素)和nc、x、t1、t2(256位整数)。

1.发出者验证gl.ingroup(f)为真。

2.发出者验证s在[0,p-1]中。

3.发出者计算nc=(-c)modp。

4.发出者计算r=g1.multiexp(hl,s,f,nc)。

5.发出者验证c=fp.hash(p||g1||g2||hi||h2||w||f||r||ni)。

6.如果以上验证中的任何一个失败,则加入请求无效,并且发出者中止并输出失败。

7.发出者从[1,p-1]中随机选择x。

8.发出者计算整数t1=(gamma+x)modp。

9.发出者计算整数t2=inverse(t1)modp,tl的倒数模p。

10.发出者计算t3=g1.mul(g1,f)。

11.发出者计算a=g1.exp(t3,t2)。

12.输出成员资格证书是(gid,a,x)。

现在参考图5,示出了利用其实施例可以被使用的示例性系统的框图。系统900可以是作为成员至少临时被包括在dmvpn中的给定客户端。在示例中,系统900可以是智能手机或其他无线通信器或任何其他iot设备。基带处理器905被配置为关于要从系统发送的或由系统接收的通信信号执行各种信号处理。接着,基带处理器905耦合到应用处理器910,除了诸如许多众所周知的社交媒体和多媒体app的用户应用之外,所述应用处理器910还可以是系统的用于执行os和其他系统软件的主cpu。应用处理器910还可以被配置为设备执行各种其他计算操作。

接着,应用处理器910可以耦合到用户接口/显示器920,例如触摸屏显示器。另外,应用处理器910可以耦合到包括非易失性存储器(即,闪速存储器930)和系统存储器(即,dram935)的存储器系统。在一些实施例中,闪速存储器930可以包括其中存储秘密和其它敏感信息的安全部分932。如进一步看到的,应用处理器910还耦合到捕获设备945,例如可以记录视频和/或静止图像的一个或多个图像捕获设备。

仍然参考图5,通用集成电路卡(uicc)940包括订户识别模块,在一些实施例中所述订户识别模块包括用于存储安全用户信息的安全存储装置942。系统900还可以包括安全处理器950,其可以实现tee,并且其可以耦合到应用处理器910。此外,应用处理器910可以实现安全操作模式,例如对给定指令集架构的sgx扩展以及托管tee的电路。安全处理器950和/或应用处理器910可以被配置为组成员,并且基于与集线器服务器的交互来接收组公钥并生成组私钥,如本文描述的,以使得系统900能够与dmvpn中的其他设备交互。更进一步地,安全处理器950和/或应用处理器910可以被配置为在没有与集线器服务器的进一步交互的情况下执行与dmvpn中的一个或多个对等设备的对称密钥交换。包括一个或多个多轴加速度计的多个传感器925可以耦合到应用处理器910,以使得能够输入各种感测的信息,例如运动和其他环境信息。另外,一个或多个认证设备995可以用于接收例如用于认证操作中的用户生物识别输入。

如进一步示出的,提供了近场通信(nfc)非接触式接口960,其经由nfc天线965在nfc近场中进行通信。虽然在图5中示出了单独的天线,但应当理解,在一些实施方式中,可以提供一个天线或不同的天线集以实现各种无线功能。

功率管理集成电路(pmic)915耦合到应用处理器910以执行平台级功率管理。为此,pmic915可以向应用处理器910发出功率管理请求以如期望的进入特定低功率状态。此外,基于平台约束,pmic915还可以控制系统900的其他组件的功率级别。

为了使得通信能够例如在一个或多个iot网络中发送和接收,各种电路可以在基带处理器905和天线990之间耦合。具体而言,可以存在射频(rf)收发器970和无线局域网(wlan)收发器975。通常,rf收发器970可以用于根据给定的无线通信协议(例如,3g或4g无线通信协议,例如,根据码分多址(cdma)、全球移动通信系统(gsm)、长期演进(lte)或其他协议)来接收和发送无线数据和呼叫。另外,可以存在gps传感器980,其中,当要上下文信息将在配对过程中被使用时,位置信息被提供给安全处理器950以如本文描述的使用。还可以提供其他无线通信,例如无线电信号的接收或发送,例如am/fm和其他信号。另外,经由wlan收发器975,还可以实现例如根据bluetoothtm或ieee802.11标准的本地无线通信。

现在参考图6,示出了根据本发明另一实施例的系统的框图。如图6所示,多处理器系统1000是诸如服务器系统之类的点对点互连系统,并且包括经由点对点互连1050耦合的第一处理器1070和第二处理器1080。在实施例中,系统1000可以是集线器服务器,其可以实现为公共云服务,或者作为具有用于充当如本文描述的组长的的给定实体或其他域所有者的专用系统。如图6所示,处理器1070和1080中的每一个可以是多核处理器(例如,soc),包括第一和第二处理器核心(即,处理器核心1074a和1074b以及处理器核心1084a和1084b),但是在处理器中可以存在更多的核心。另外,处理器1070和1080均可以包括安全引擎1075和1085,其用于执行组密钥生成(例如,使用至少部分地基于子网ip地址的组id)和组私有成员资格证书生成操作(如本文描述的)以及其他操作。

仍然参考图6,第一处理器1070还包括存储器控制器中心(mch)1072和点对点(p-p)接口1076和1078。类似地,第二处理器1080包括mch1082和p-p接口1086和1088。如图6所示,mch1072和1082将处理器耦合到相应的存储器,即存储器1032和存储器1034,它们可以是本地附接到相应处理器的主存储器(例如,dram)的一部分。第一处理器1070和第二处理器1080可以分别经由p-p互连1052和1054耦合到芯片组1090。如图6所示,芯片组1090包括p-p接口1094和1098。

此外,芯片组1090包括用于通过p-p互连1039将芯片组1090与高性能图形引擎1038耦合的接口1092。接着,芯片组1090可以经由接口1096耦合到第一总线1016。如图6所示,各种输入/输出(i/o)设备1014可以连同总线桥1018耦合到第一总线1016,所述总线桥1018将第一总线1016耦合到第二总线1020。各种设备可以耦合到第二总线1020,所述各种设备包括例如键盘/鼠标1022、通信设备1026和数据存储单元1028,例如非易失性存储装置或其他大容量存储设备。如看到的,在一个实施例中,数据存储单元1028可以包括代码1030。如进一步看到的,数据存储单元1028还包括可信存储装置1029,其用于存储要保护的敏感信息。此外,音频i/o1024可以耦合到第二总线1020。

实施例可以用于其中iot设备可以包括可穿戴设备或其他小形状因子iot设备的环境中。现在参考图7,示出了根据另一实施例的可穿戴模块1300的框图。在一个特定实施方式中,模块1300可以是curietm模块,其包括在单个小模块内适配的多个组件,所述小模块可以被实现为可穿戴设备的全部或一部分。模块1300可以被配置为被包括在dmvpn中的客户端设备,如本文描述的。如看出的,模块1300包括核心1310(当然在其他实施例中,可以存在多于一个核心)。这样的核心可以是相对低复杂度的有序核心,例如基于intelquartm设计。在一些实施例中,核心1310可以实现如本文描述的tee。核心1310耦合到包括传感器集线器1320的各种组件,所述传感器集线器1320可以被配置为与多个传感器1380交互,所述传感器1380例如一个或多个生物识别、运动环境或其他传感器。存在功率递送电路1330以及非易失性存储装置1340。在实施例中,该电路可以包括可再充电电池和再充电电路,其在一个实施例中可以无线地接收充电电力。可以存在一个或多个输入/输出(io)接口1350,例如与usb/spi/i2c/gpio协议中的一个或多个协议兼容的一个或多个接口。另外,存在无线收发器1390,其可以是bluetoothtm低能量或其他短程无线收发器,所述无线收发器1390用于实现如本文描述的无线通信。应当理解,在不同的实施方式中,可穿戴模块可以采用许多其他形式。与典型的通用cpu或gpu相比,可穿戴和/或iot设备具有小形状因子、低功率要求、有限指令集、相对慢的计算吞吐量或以上各项中的任何一项。

以下示例涉及另外的实施例。

在示例1中,一种系统,包括:硬件处理器,其具有用于执行指令的至少一个核心;以及集线器逻辑,其用于:为与多个设备的功能相关联的dmvpn组供应多个组私钥,向所述多个设备提供用于所述dmvpn组的组公钥,以及向所述多个设备中的一个设备供应所述多个组私钥中的每一个组私钥,以使得所述多个设备的一个或多个子集能够在不与所述系统交互的情况下协商业务加密密钥。

在示例2中,所述集线器逻辑用于为所述dmvpn组选择组名,所述组名至少部分地对应于所述dmvpn的多播地址。

在示例3中,所述系统还包括:网络接口电路,其用于将所述系统耦合到所述多个设备,其中,所述网络接口电路用于与所述多个设备传送所述组公钥和协议消息,以使得能够向静态隧道外部的所述多个设备供应所述多个组私钥。

在示例4中,所述集线器逻辑用于:为与所述多个设备的至少一部分的第二功能相关联的第二dmvpn组供应多个第二组私钥,向所述多个设备的至少所述一部分提供用于所述第二dmvpn组的第二组公钥,以及向所述多个计算设备的所述至少一部分中的一个计算设备供应所述多个第二组私钥中的每一个组私钥。

在示例5中,所述系统包括数据中心的云服务,所述数据中心独立于所述多个设备的所有者。

在示例6中,所述集线器逻辑用于经由一次性连接向所述多个计算设备供应所述多个组私钥。

在示例7中,所述系统包括集线器服务器,其用于经由集线器-辐条连接耦合到所述多个设备,并且所述多个设备的所述一个或多个子集用于经由辐条对辐条交换来协商所述业务加密密钥。

在示例8中,以上示例中的一个或多个示例所述的集线器逻辑用于:从所述多个设备中的第一设备接收第一非对称密钥,并且将所述第一非对称密钥存储在密钥表中;以及响应于所述多个设备中的第二设备加入所述dmvpn组,向所述第二设备发送所述第一非对称密钥。

在示例9中,示例8的所述集线器逻辑用于向所述多个设备中的至少一些设备发送多播消息,以向所述至少一些设备提供所述第一非对称密钥。

在示例10中,一种方法,包括:从组管理器获得dmvpn组公钥,其中,所述组管理器用于管理包括多个计算设备的组;用所述组管理器来执行dmvpn组私钥协议,以供应dmvpn组私钥;用所述组中的至少一个计算设备来执行密钥加密协议,以生成组对称密钥;以及经由所述dmvpn内的点对点连接来向所述组中的所述至少一个计算设备发送具有所述组对称密钥的第一消息。

在示例11中,所述方法还包括用密钥加密密钥来包装所述组对称密钥。

在示例12中,示例11的所述方法还包括用所述dmvpn组私钥来对所包装的组对称密钥进行签名。

在示例13中,以上示例中的一个或多个示例所述的方法还包括发送所述第一消息并且此后进入到睡眠状态中,其中,所述至少一个计算设备包括网关设备,所述网关设备用于在所述系统在所述睡眠状态中的同时向所述组中的一个或多个其他计算设备重新发送所述第一消息。

在示例14中,所述方法还包括:从所述多个计算设备中的第二计算设备接收第二消息,所述第二消息包括第二组对称密钥;以及至少部分地基于所述第二消息来配置所述系统和所述第二计算设备之间的dmvpn隧道。

在示例15中,示例14的方法还包括:从所述第二计算设备接收第三消息,所述第三消息是用所述第二组对称密钥加密的;以及使用所述第二组对称密钥来对所述第三消息进行解密。

在另一示例中,一种包括指令的计算机可读介质,所述指令用于执行以上示例中任一示例所述的方法。

在另一示例中,一种包括数据的计算机可读介质,所述数据用于由至少一个机器使用以制造用于执行以上示例中的任一示例所述的方法的至少一个集成电路。

在又一示例中,一种装置,包括用于执行以上示例中的任一示例所述的方法的单元。

在示例16中,一种系统,包括:多个计算设备,其中,所述多个计算设备包括与组相关联的功能;以及供应服务器,其耦合到所述多个计算设备,其中,所述供应服务器用于:生成用于所述组的组公钥并且为所述多个计算设备供应多个组私钥,向所述多个计算设备提供所述组公钥并且向所述多个计算设备中的一个计算设备供应所述多个组私钥中的每一个组私钥,其中,所述多个计算设备中的至少一些计算设备用于在没有所述供应服务器的参与的情况下使用对应的组私钥来执行一个或多个点对点对称密钥交换协议。

在示例17中,所述供应服务器用于选择所述组公钥以对应于dmvpn的ip地址的至少一部分。

在示例18中,所述多个计算设备经由所述dmvpn耦合。

在示例19中,所述多个计算设备中的至少一些计算设备还经由第二dmvpn耦合,所述第一dmvpn与所述组相关联并且所述第二dmvpn与第二组相关联,所述第二组与被包括在所述多个计算设备中的所述至少一些设备中的第二功能相关联。

在示例20中,所述供应服务器用于:从所述多个计算设备中的第一设备接收第一非对称密钥并且将所述第一非对称密钥存储在密钥表中,并且响应于所述多个计算设备中的第二计算设备加入所述组,向所述第二计算设备发送所述第一非对称密钥;以及向所述多个计算设备中的至少一些计算设备发送多播消息以向所述至少一些计算设备提供所述第一非对称密钥。

在示例21中,一种系统,包括:用于执行指令的核心单元;用于为与多个设备的功能相关联的dmvpn组供应多个组私钥的单元;用于向所述多个设备提供用于所述dmvpn组的组公钥的单元;以及用于向所述多个设备中的一个设备供应所述多个组私钥中的每一个组私钥的单元,以使得所述多个设备的一个或多个子集能够在没有与所述系统的交互的情况下协商业务加密密钥。

在示例22中,所述系统还包括:用于为所述dmvpn组选择组名的单元,所述组名至少部分地对应于所述dmvpn的多播地址。

在示例23中,所述系统还包括:用于将所述系统耦合到所述多个设备的网络接口单元,其中,所述网络接口单元用于将所述组公钥和协议消息与所述多个设备进行通信,以使得能够向静态隧道外部的所述多个设备供应所述多个组私钥。

在示例24中,所述系统还包括:用于为与所述多个设备的至少一部分的第二功能相关联的第二dmvpn组供应多个第二组私钥的单元;用于向所述多个设备的至少所述一部分提供用于所述第二dmvpn组的第二组公钥的单元;以及用于向所述多个计算设备的所述至少一部分中的一个计算设备供应所述多个第二组私钥中的每一个组私钥的单元。。

应当理解以上示例的各种组合是可能的。

注意,术语“电路”和“电路系统”在本文中可互换地使用。如本文使用的,这些术语和术语“逻辑”用于指代单独或任意组合的模拟电路、数字电路、硬连线电路、可编程电路、处理器电路、微控制器电路、硬件逻辑电路、状态机电路和/或任何其他类型的物理硬件组件。实施例可以用于许多不同类型的系统中。例如,在一个实施例中,通信设备可以被布置为执行本文描述的各种方法和技术。当然,本发明的范围不限于通信设备,相反,其他实施例可以指向用于处理指令的其他类型的装置,或者包括指令的一个或多个机器可读介质,所述指令响应于在计算设备上执行使得设备执行本文描述的方法和技术中的一个或多个。

实施例可以用代码实现,并且可以存储在其上存储有指令的非暂时性存储介质上,所述指令可以用于对系统进行编程以执行指令。实施例还可以用数据实现,并且可以存储在非暂时性存储介质上,所述数据如果由至少一个机器使用,则使至少一个机器制造用于执行一个或多个操作的至少一个集成电路。另外的实施例可以在包括信息的计算机可读存储介质中实现,所述信息在被制造成soc或其他处理器时,将配置soc或其他处理器来执行一个或多个操作。存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、固态驱动器(ssd)、压缩盘只读存储器(cd-rom)、可重写压缩盘(cd-rw)以及磁光盘、半导体器件(例如,只读存储器(rom)、随机存取存储器(ram),例如动态随机存取存储器(dram)、静态随机存取存储器(sram))、可擦除可编程只读存储器(eprom)、闪速存储器、电可擦除可编程只读存储器(eeprom))、磁卡或光卡、或适于存储电子指令的任何其他类型的介质。

虽然已经关于有限数量的实施例描述了本发明,但是本领域技术人员将从中领会许多修改和变化。所附权利要求旨在覆盖落入本发明的真实精神和范围内的所有这样的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1