使用基于密钥的加入协议的物联网组形成的制作方法

文档序号:13426491
使用基于密钥的加入协议的物联网组形成的制作方法

本申请要求于2015年3月10日提交的美国非临时专利申请No.14/643,964的优先权的权益。

技术领域

实施例总体上涉及设备组的形成。更具体地,实施例涉及使用基于密钥的加入协议的物联网(IoT)设备组形成。



背景技术:

物联网(IoT)可以涉及诸如恒温器、洗衣机/烘干机等的家用设备,它们交互式地向房主、公共事业公司和其它分析服务报告操作数据。但是,传统的IoT方法可能引起对隐私、安全性和保密性的顾虑。例如,从隐私的角度来看,操作数据的开放共享会使其他人能够精确地知道事件何时正在家里发生。另外,当非预期的设备交互导致故障和/或意外的操作时,安全性可能受到负面影响。此外,当被盗用的IoT设备用于获取对家中的其它IoT设备的控制时,保密性会被削弱。

附图说明

通过阅读以下说明书和所附权利要求书,以及通过参照以下附图,实施例的各种优点将对本领域技术人员而言变得显而易见,在附图中:

图1是根据实施例的组形成、协同和交互架构的示例的框图;

图2A是根据实施例的形成设备组的方法的示例的流程图;

图2B是根据实施例的共享操作数据的方法的示例的流程图;

图3是根据实施例的加入协议会话的示例的信号图;

图4是根据实施例的西格玛协议会话的示例的信号图;

图5是根据实施例的设备的示例的框图;

图6是根据实施例的家用设置中组形成、协同和交互方法的示例的说明;

图7是根据实施例的处理器的示例的框图;以及

图8是根据实施例的计算系统的示例的框图。

具体实施方式

现在转到图1,示出了组形成、协同和交互架构,其中,诸如例如恒温器、洗衣机/烘干机、空调、烟雾报警器、智能灯开关、遮光窗帘控制器、相机等数据生成设备10动态地加入设备组以便与一个或多个动态组检验器(DGV)12(诸如例如,公共事业公司、云分析服务、另一个数据生成设备或其它数据处理实体)交换数据。在示出的示例中,组管理服务(GMS)14通过参与与动态组检验器12的组登记和验证通信16以及参与与设备10的组加入通信18来促进设备组的创建。组管理服务14可以运行于用户设备(诸如例如,台式计算机、笔记本计算机、平板计算机、转换式平板、智能手机、个人数字助理(PDA)、移动互联网设备(MID)、可穿戴计算机等)上的物联网(IoT)的本地域中。

更具体地,给定IoT设备的主人网络,可以将组管理服务14的操作上下文绑定到对保护隐私感兴趣的“主人”实体上。换言之,可能不存在对充当组管理服务14的受信任第三方的需求。而是,主人可以与动态组检验器12协商以设置隐私条款、确定组操作并根据这些要求实例化组。

组登记和验证通信16可以因此涉及从动态组检验器12接收组形成请求,其中,组加入通信18可以涉及响应于组形成请求为设备10提供密钥(例如,非对称加密系统中的私人/秘密密钥)。此外,设备10可以使用所提供的密钥与动态组检验器12进行组协同和交互通信20以便于报告操作和保密性上下文数据,诸如例如,温度测量和/或设置、激活状态信息、图像、历史使用信息等。设备10可以以该方式加入并且与若干不同组共享操作和保密性上下文数据。如将更详细讨论的,使用基于密钥的加入协议可以避免关于隐私、安全性和/或保密性的许多顾虑。

在示出的示例中,任意组成员可以以动态组检验器12的身份发挥作用以及可以充当数据生成设备10。根据组中实例的数量,这些角色并非限制性的。实际上,组成员资格可以变动/波动以使得其随着时间增大和缩小。加入协议可以定义成员资格如何增加。由密码系统定义的撤销方法可以定义成员资格如何减少,其中撤销方法可以使用要被组“避开”的曾经加入的成员的先前的签名,通过将该成员的签名置于签名撤销列表(SigRL)上。所有组成员可以扮演动态组检验器12的角色,并且还可以拒绝与被“避开”的或被撤销的设备进行交互。

图2A示出了操作诸如例如设备10(图1)的设备的方法22。可以将方法22实施为模块或相关组件,以存储在诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪速存储器等的机器或计算机可读存储介质中的逻辑指令集的形式,以诸如例如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)的可配置逻辑的形式,以使用诸如例如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术的电路技术的固定功能性硬件逻辑的形式,或其任意组合。例如,可以以一个或多个编程语言的任意组合来编写执行在方法22中示出的操作的计算机程序代码,其包括诸如JAVA、SMALLTALK、C++等的面向对象的编程语言以及诸如“C”编程语言或相似编程语言的传统过程编程语言。

示出的处理框24提供了确定与第一组相关联的第一密钥,其中在框26可以确定针对设备的关于第一组的第一资源暴露策略。资源暴露策略可以识别,例如,设备的哪些资源对于组中其它成员是可见的。因此,如果设备是恒温器,则资源暴露策略可以指示什么程度的恒温器设置、温度测量和/或相应的当日时间信息能够由特定动态组检验器或者与第一组相关联的其它设备来访问。在另一方面,如果设备是烟雾报警器则资源暴露策略可以指示什么程度的电池寿命信息、历史激活信息、化学测量和/或相应的当日时间信息能够由相关联的动态组检验器和/或其它设备来访问。框28可以确定与第二组相关联的第二密钥,其中在框30可以确定针对设备的关于第二组的第二资源暴露策略。根据情况,可以对于任意数量的组重复进行密钥和暴露策略确定。

在一个示例中,方法22还在框31提供了识别设备上的第三密钥,其中第三密钥是增强隐私标识符(EPID)。通常,在设备或其组件(例如,处理器、控制器、芯片集)的装配期间,设备中的至少一部分的制造者可以将EPID存储(例如,在现场可编程熔丝或其它一次写入存储器中)到设备上的受信任的执行环境(TEE)。实际上,制造者可以针对与单个公共密钥对应的产品线生成许多这样的密钥,其中每个EPID本质上是其中制造者是组名称的EPID加密系统的实例。示出的框图33在加入协议会话期间使用第三密钥来证实设备在第三组中的成员资格,其中第三组对应于制造者。

因此,继续参照图1和2A,诸如动态组检验器12(例如,DGV-1、DGV-2等)的动态组检验器可以使用制造者EPID(例如,EPID-i)作为TEE环境的证据,在TEE环境中设备10是受保护的。EPID-i证据可以声明TEE是合法构建的端点并且动态EPID(例如,EPID-1、EPID-2等)是使用合法制造者TEE来保护的。组登记和验证通信16可以因此包括设备10中的TEE的EPID-i签名(如果经请求)以向动态组检验器12证明EPID实际上是由合法制造者TEE保护的。在EPID-i认证会话的上下文内进行组加入通信18以及组登记和验证通信16可以使得制造者EPID上下文的语义能够由动态EPID组上下文继承。换言之,组-1EPID可以声明在组-1中的成员资格以及通过合法制造者TEE对组-1的保护。

现在转向图2B,示出了共享操作数据的方法32。可以通常在诸如例如已讨论过的设备10(图1)的数据生成设备中实施方法32。更具体地,可以将方法32实施为模块或相关组件,以存储在诸如RAM、ROM、PROM、固件、闪速存储器等的机器或计算机可读存储介质中的逻辑指令集的形式,以诸如例如PLA、FPGA、CPLD的可配置逻辑的形式,以使用诸如例如ASIC、CMOS或TTL技术的电路技术的固定功能性硬件逻辑的形式,或其任意组合。

在示出的示例中,处理框34提供了使用第一密钥根据第一资源暴露策略将第一操作和保密性上下文数据发送到第一动态组检验器。例如,如果设备是恒温器,则框34可以涉及向房主报告包括恒温器设置、温度测量和相应的当日时间信息的所有数据。在框36可以进行关于是否已检测到本地上下文变化的确定。本地上下文变化可以包括,例如,对来自不同动态组检验器的数据请求的接收,计时器的到期(例如,与周期性报告要求相关联)等。

如果已检测到本地上下文变化,则示出的框38根据第二资源暴露策略使用第二密钥将第二操作和保密性上下文数据发送到第二动态组检验器。因此,在恒温器示例中,框38可以涉及报告平均温度测量(例如,日平均、周平均)但是保留恒温器设置和相应的当日时间信息。如果检测到没有本地上下文变化,则设备可以继续根据第一资源暴露策略报告操作数据。简而言之,第一和第二密钥可以使得设备能够同时在多个组中建立上下文。结果,无论什么时候接收到与第一组成员相关联的消息且设备目前正服务于来自第二组成员的消息,在确保不与第二组的上下文共享与第一组相关联的资源的情况下设备可以执行上下文切换。因此,示出的方法32使得IoT和其它数据生成设备能够展示不同的行为以便满足用户/房主建立的隐私、安全性和保密性约束。如将更详细地讨论的,数据传输框34和38可以涉及在设备和动态组检验器之间进行西格玛协议会话。

图3示出了IoT设备42和组管理服务44之间的加入协议会话40的信号图,其中,加入协议会话40可以是诸如组加入通信18(图1)的组加入通信的一部分,IoT设备42可以与数据生成设备10(图1)相似并且组管理服务44可以与组管理服务14(图1)相似,这已讨论过。因此,加入协议会话40可以由IoT设备42使用以进行密钥确定框24和28(图2A),这已讨论过。在示出的示例中,关于在设备42上提供的私人密钥,设备42通常充当“签名者”而组管理服务44通常充当“发布者”。

更具体地,设备42在框46可以生成随机密钥“f”(例如,本地秘密)并且将第一消息48(例如,“JoinP”)发送到组管理服务44,其中第一消息48根据知识协议的零知识证明被结构化。更具体地,第一消息48可以在事实上没有向组管理服务44泄露f的情况下证明f的知识。一旦接收到第一消息48,示出的组管理服务44在框50基于第一消息48确定和/或计算包括公共密钥(包括,例如,组标识符“A”和证明响应值“x”)的组证书并且在第二消息52中将组证书发送到设备42。因此,组证书可以是凭证或者建立无歧义的组名称的其它证书。设备42可以使用组证书和本地秘密以在框54构建/生成私人密钥(例如,“f,A,x”),其中私人密钥与IoT设备42加入的特定组相关联。由框54产生的私人密钥可以是维持在设备42的受信任的执行环境(TEE)中的增强隐私标识符(EPID)密钥。

图4示出了IoT设备58和动态组检验器60之间的西格玛协议会话56的信号图,其中西格玛协议会话56可以是诸如组协同和交互通信20(图1)的通信的一部分,IoT设备58可以与设备10(图1)相似并且动态组检验器60可以与动态组检验器12(图1)相似,这已讨论过。因此,因为其与Σ形状的相似性而被命名的西格玛协议会话56可由设备58使用以进行数据传输框34和38(图2B),这已讨论过。通常,设备58可以在动态组检验器60与每个组成员的西格玛协议会话56的上下文中建立包括成对对称会话密钥和一个或多个对称组密钥的对称会话密钥集合。在示出的示例中,设备58通常充当“平台A”而动态组检验器60通常充当“服务器B”。在一个示例中,设备58和动态组检验器60在西格玛协议会话56期间使用Diffie-Hellman交换来建立对称会话密钥集合。

更具体地,设备58可以发送第一消息62,其包括设备参数(例如,“ga”)与组标识符(例如,“GID”)连结以获得表达式:

ga||GID (1)

动态组检验器60可以将服务器参数(例如,“gb”)、服务器凭证(例如,“CertB”)、基名(例如,“bsn”)以及设备参数和服务器参数的签名连结(例如,“SigB(gb||ga)”)连结在一起,使用会话密钥(例如,“SMK”)对结果进行签名并且将经签名的信息与签名撤销列表(例如,“SigRL”)连结以获得表达式:

[gb||CertB||bsn||SigB(gb||ga)]SMK||SigRL. (2)

其中密钥导出函数(KDF)可以定义会话密钥SK、MK(例如,秘密性密钥、介质访问控制/MAC密钥)的集合。动态组检验器60可以因此将结果作为第二消息64发送到设备58。设备58可以依次将设备参数、组标识符、会话标识符(例如,“Session-ID”,其表示受信任的执行环境的哈希)以及设备参数和服务器参数的签名连结(例如,“EPIDSigA(gb||ga)”)连结在一起,并且使用会话密钥对结果进行签名以获得表达式:

[ga||GID||Session-ID||EPIDSigA(ga||gb)]SMK. (3)

设备58可以将结果作为第三消息66发送到动态组检验器。因此,结果产生的会话密钥可以特定于设备58,而私人密钥仅声明在组中的成员资格。因此,在西格玛协议会话56期间设备58可以保持相对匿名。如果删除会话密钥并创建新的会话密钥,则动态组检验器60将不能将先前的会话关联于随后的会话。因此,动态组检验器60可能多少受限于其创建相互关联事务的综合数据库的能力。此外,会话密钥可以用于协商设备58的临时标识符并且在短于设备组标识符使用期的使用期中追踪设备58。换言之,由会话密钥促成的临时标识符在组的上下文中可以是有意义的,并且可以具有当设备组标识符证书期满时期满的使用期。

更具体地,临时标识符(例如,D1,D2,…Dn,见下文)可以与在西格玛协议会话56的上下文中生成的成对对称密钥相关联,以使得保密性、证据和隐私上下文(例如,由组等建立的)是对称密钥所固有的。对称密钥的随后使用可以带有利用西格玛协议会话56建立的保密性、证据和隐私上下文但是不具有西格玛协议会话56的性能开销。

此外,可以存在在支持安全多播消息传递(secure multi-cast messaging)的组成员之间共享的经协商的第二(或第三)对称会话密钥。例如,诸如XMPP(可扩展通讯和表示协议,互联网工程任务组)和MQTT(前消息队列遥测传输)的IP(互联网协议)多播、广播和聊天消息传递。在该上下文中,共享的对称会话密钥不具有作为成对秘密的Diffie-Hellman值。相反,共享的对称会话密钥可以使用包括诸如组名称的所有成员已知的属性的密钥导出函数(KDF)。组管理服务可以选择随机数,或者可以使用更复杂的组对称密钥生成算法,其接受来自每个组成员的随机值并且在将新成员添加到组中时要求更新密钥。

对称组密钥协商协议(SGKNP)可以采用以下形式:

1、D1,D2,…,Dn每个生成随机数(R1,R2,…,Rn)。

2、GMS生成针对每个参加的组成员(D1,D2,…,Dn)的n个当前值N1,N2,…,Nn。并且通过建立的成对对称密钥所保护的会话将当前Nx发送到每个成员。

3、每个设备D1使用EPID组密钥G1对其(Rx,Nx)元组进行签名并将该元组发送到GMS。

4、GMS检验每个Nx同时检测重演和重复(具有不同的R值)。

5、GMS然后生成RandG=KDF(R1,R2,…,Rn)。

6、对称组密钥SGK=KDF(RandG,“GroupName”,“Multicast-group-name”)。

7、GMS然后将SGK分配给每个组成员。

8、使用SGK执行随后的m-cast和pub/sub交互。

图5示出了设备68,诸如例如,恒温器、洗衣机/烘干机、空调、烟雾报警器、智能灯开关、遮光窗帘控制器、相机或者能够配置为IoT设备的其它数据生成设备。设备68可以因此容易地替代设备10(图1)、设备42(图3)和/或设备58(图4),这已讨论过。在示出的示例中,组登记器70(70a-70d)确定与第一组相关联的第一密钥、与第二组相关联的第二密钥等。相似地,策略管理器72可以确定针对设备的关于第一组的第一资源暴露策略,针对设备的关于第二组的第二资源暴露策略等。

设备68还可以包括使用第一密钥根据第一资源暴露策略将第一操作数据发送到第一动态组检验器的数据报告器74(74a、74b)。此外,上下文监测器76可以检测本地上下文变化(例如,来自不同动态组检验器的数据请求的接收,计时器的到期),其中响应于本地上下文变化,数据报告器74可以根据第二资源暴露策略使用第二密钥将第二操作数据发送到第二动态组检验器。组和相应密钥的数量可以根据情况而改变。

在一个示例中,组登记器70包括加入会话管理器70a用于进行与组管理服务的加入协议会话,以及证书处理机70b用于在加入协议会话期间从组管理服务接收组证书(例如,建立无歧义的组名称)。密钥生成器70c可以基于组证书和与加入协议相关联的本地秘密生成第一密钥。如已讨论的,可以利用知识协议的零知识证明来进行加入协议会话,并且组证书可以包括组公共密钥和组标识符。组登记器70还可以包括证据组件70d以识别设备上的第三密钥,其中第三密钥是EPID,并且在加入协议会话期间使用第三密钥以证实设备在第三组中的成员资格。第三组可以与设备68中的至少一部分的制造者相对应。此外,示出的数据报告器74包括收集会话管理器74a和标识符管理器74b,收集会话管理器74a在与动态组检验器的西格玛协议会话期间建立对称会话密钥集合,标识符管理器74b可选地使用该对称会话密钥集合来协商设备68的临时标识符。

此外,可以将第一组信息78(例如,第一对称会话密钥集合、第一密钥、第一资源暴露策略等)和第二组信息80(例如,第二对称会话密钥集合、第二密钥、第二资源暴露策略等)维持在设备68上的受信任的执行环境82中。示出的设备68还包括第一组软件84(例如,应用、固件)以定义特定于第一组的接口和行为,以及第二组软件86(例如,应用、固件)以定义特定于第二组的接口和行为。采用诸如例如RSDL(RESTful服务描述语言)、AIDL(ANDROID接口定义语言)等的接口定义语言使用过程调用,可以嵌入或动态提供接口定义作为组形成的一部分。设备68还可以包括一个或多个传感器和控制器88以生成共享的数据(例如,测量、设置),以及一个或多个驱动器90以与传感器和控制器88进行接口。

现在转到图6,示出了家用设置中的组形成、协同和交互方法的示例的说明。在示出的示例中,IoT设备92(92a-92e)集合包括恒温器92a、温度传感器92b、烟雾报警器92c、遮光窗帘控制器92d和灯开关92e。可以将IoT设备92形成到诸如例如“ITC”组、“CAS”组等的多个不同组中,其中组具有不同的资源暴露策略。在示出的示例中,动态组检验器94(例如,运行在云域中)向组管理服务96(例如,运行在本地域中)发出(例如,“操作0”)形成CAS组的请求。组管理服务96然后可以提供(例如,“操作1”,使用发现服务、多播发现协议等)密钥(例如,EPIDpr1…pr3)到作为CAS组成员的设备92a、92b、92e中的每个设备。组管理服务96还可以发布(例如,“操作2”)组凭证(例如,CertCAS)以用于CAS组。因此,操作0和操作2可以是诸如组登记和验证通信16(图1)的组登记和验证通信的一部分,以及操作1可以是诸如组加入通信18(图1)的组加入通信的一部分,这已讨论过。

针对CAS组中的每个设备,动态组检验器94通常可以进行示出的操作3-9。更具体地,动态组检验器94可以发起(例如,“操作3”)设备对于CAS组的能力的发现。设备然后可以发送(例如,“操作4”)西格玛协议会话的第一消息(例如,“S1”)到动态组检验器94,其中动态组检验器94可以用西格玛协议会话的第二消息(例如,“S2”)应答(例如,“操作5”),接着设备发送(例如,“操作6”)西格玛协议会话的第三消息(“S3”)到动态组检验器94。一旦成功完成西格玛协议会话,设备可以发送(例如,“操作7”)其能力(例如,TEIDCAS:C1…Cn)到动态组检验器94。此外,动态组检验器94可以发起(例如,“操作8”)对针对CAS组的数据的收集,连同可选提供组策略、组密钥等。示出的方法用根据适当的资源暴露策略的对操作数据的收集(例如,“操作9”)来结束。

特别注意的是,在示出的示例中,恒温器92a和温度传感器92b协商允许随时间追踪具体的温度读数的临时设备标识符(例如,TEID)。但是,示出的灯开关92e在组内保持匿名,并且可能仅报告总的开/关每月数据而不是暴露灯什么时候处于开或关位置的详细日志。同时,在本地域中的组管理服务96可以利用全追踪细节监测和控制所有设备(例如,在ITC组中)以及访问所有设备接口。本文中描述的设备92的类型和组策略仅为了便于讨论并且可以根据情况而改变。

图7示出了根据一个实施例的处理器核200。处理器核200可以是用于任意类型的处理器的核,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或者执行代码的其它设备。虽然图7中示出了仅一个处理器核200,但是处理元件可以替代地包括多于一个的在图7中示出的处理器核200。处理器核200可以是单线程核或者,针对至少一个实施例,处理器核200可以是多线程的因为其可以包括每个核多于一个的硬件线程上下文(或“逻辑处理器”)。

图7还示出了耦合到处理器核200的存储器270。存储器270可以是对于本领域技术人员而言已知的或者以其他方式可获得的任意多种存储器(包括存储器层级的各种层)。存储器270可以包括将由处理器核200执行的一条或多条代码213指令,其中代码213可以实施方法22(图2A)和/或方法32(图2B),这已讨论过。处理器核200遵循代码213指示的指令的程序顺序。每条指令可以进入前端部分210并且由一个或多个解码器220处理。解码器220可以生成诸如以预先定义格式的固定宽度微操作的微操作作为其输出,或者可以生成反映原始代码指令的其它指令、微指令或控制信号。所示出的前端部分210还包括寄存器重命名逻辑225和调度逻辑230,其通常分配资源以及使对应于转换指令的操作排入队列以供执行。

示出了包括具有执行单元集合(255-1到255-N)的执行逻辑250的处理器核200。一些实施例可以包括专用于特别功能或功能集的许多执行单元。其它实施例可以包括仅一个执行单元或者可执行特定功能的一个执行单元。所示出的执行逻辑250执行由代码指令指定的操作。

在完成由代码指令指定的操作的执行之后,后端逻辑260引退代码213的指令。在一个实施例中,处理器核200允许无序执行但是要求按照顺序引退指令。引退逻辑265可以采用对本领域技术人员而言已知的各种形式(例如,重排序缓冲器等)。以该方式,处理器核200在代码213的执行期间至少依据以下方面被改变:解码器生成的输出、寄存器重命名逻辑225利用的硬件寄存器和表、以及执行逻辑250修改的任意寄存器(未示出)。

虽然未在图7中示出,但是处理元件可以包括与处理器核200一起的在芯片上的其它元件。例如,处理元件可以包括连同处理器核200的存储器控制逻辑。处理元件可以包括I/O控制逻辑和/或可以包括与存储器控制逻辑一起集成的I/O控制逻辑。处理元件还可以包括一个或多个高速缓存。

现在参考图8,所示出的是根据实施例的计算系统1000实施例的框图。在图8中示出的是包括第一处理元件1070和第二处理元件1080的多处理器系统1000。当示出两个处理元件1070和1080时,应该理解的是,系统1000的实施例还可以包括仅一个这样的处理元件。

将系统1000示出为点-对-点互连系统,其中第一处理元件1070和第二处理元件1080经由点-对-点互连1050而耦合。应该理解的是,可以将图8中示出的任意或所有的互连作为多跳总线而不是点-对-点互连实施。

如图8中所示,处理元件1070和1080中的每个可以是多核处理器,其包括第一和第二处理器核(即,处理器核1074a和1074b以及处理器核1084a和1084b)。这样的核1074a、1074b、1084a、1084b可被配置为以类似于以上结合图7所讨论的方式执行指令代码。

每个处理元件1070、1080可以包括至少一个共享的高速缓存1896a、1896b。共享的高速缓存1896a、1896b可以分别存储由处理器的一个或多个组件(诸如核1074a、1074b和1084a、1084b)利用的数据(例如,指令)。例如,共享的高速缓存1896a、1896b可以在本地高速缓存存储在存储器1032、1034的数据以用于处理器的组件进行更快的存取。在一个或多个实施例中,共享的高速缓存1896a、1896b可以包括诸如二级(L2)、三级(L3)、四级(L4)的一个或多个中级高速缓存、或者其它等级的高速缓存、末级高速缓存(LLC)、和/或其组合。

虽然仅示出两个处理元件1070、1080,但是将应该理解的是,实施例的范围并非如此受限。在其它实施例中,可以在给定的处理器中存在一个或多个额外的处理元件。替代地,处理元件1070、1080中的一个或多个可以是除处理器以外的元件,诸如加速器或现场可编程门阵列。例如,额外的处理元件可以包括与第一处理器1070相同的额外处理器、异构于或非对称于处理器第一处理器1070的额外处理器、加速器(诸如例如,图形加速器或数字信号处理(DSP)单元)、现场可编程门阵列或任意其它处理元件。依据包括架构、微架构、热量、功耗特性等的指标度量谱,处理元件1070、1080之间可存在各种差别。这些差别可以有效地表明它们自己在处理元件1070、1080之间为非对称和异构。针对至少一个实施例,各种处理元件1070、1080可以驻留于相同的管芯封装中。

第一处理元件1070可以另外包括存储器控制器逻辑(MC)1072和点-对-点(P-P)接口1076和1078。相似地,第二处理元件1080可以包括MC 1082以及P-P接口1086和1088。如图8中所示,MC 1072和1082将处理器耦合到各自的存储器,也就是存储器1032和存储器1034,其可以是主存储器中本地附接到各自的处理器的部分。虽然将MC 1072和1082示出为集成到处理元件1070、1080中,但是对于可替代的实施例而言,MC逻辑可以是在处理元件1070、1080之外而不是被集成到其中的离散逻辑。

第一处理元件1070和第二处理元件1080可以经由P-P互连1076、1086分别耦合到I/O子系统1090。如图8中所示,I/O子系统1090包括P-P接口1094和1098。此外,I/O子系统1090包括接口1092以用于耦合I/O子系统1090与高性能图形引擎1038。在一个实施例中,总线1049可以用于将图形引擎1038耦合到I/O子系统1090。替代地,点-对-点互连可以耦合这些组件。

依次地,I/O子系统1090可以经由接口1096耦合到第一总线1016。在一个实施例中,第一总线1016可以是外围组件互连(PCI)总线、或者诸如PCI快速总线的总线、或者另一个第三代I/O互连总线,尽管实施例的范围并非限于此。

如图8中所示,可以将各种I/O设备1014(例如,扬声器、相机、传感器)耦合到第一总线1016,以及总线桥1018,其可以将第一总线1016耦合到第二总线1020。在一个实施例中,第二总线1020可以是低引脚计数(LPC)总线。可以将各种设备耦合到第二总线1020,这些设备例如包括键盘/鼠标1012、通信设备1026以及诸如磁盘驱动器或其它大容量存储设备的数据存储单元1019,在一个实施例中,该数据存储单元可以包括代码1030。所示出的代码1030可以实施已讨论过的方法22(图2A)和/或方法32(图2B),并且可以类似于已讨论过的代码213(图7)。此外,可以将音频I/O 1024耦合到第二总线1020,并且电池1010可以向计算系统1000供电。

应该注意的是,可以预期到其它实施例。例如,系统可以实施多跳总线或者另一个这样的通信拓扑而不是图8的点-对-点架构。此外,可以使用相较于图8中所示更多或者更少的集成芯片替代地划分图8的元件。

额外的注释和示例:

示例1可以包括一种数据生成设备,其包括组登记器用于确定与第一组相关联的第一密钥,策略管理器用于确定针对设备的关于第一组的第一资源暴露策略,以及数据报告器用于使用第一密钥根据第一资源暴露策略将第一操作数据发送到第一动态组检验器。

示例2可以包括示例1的设备,进一步包括上下文监测器用于检测本地上下文变化,其中组登记器用于确定与第二组相关联的第二密钥,策略管理器用于确定针对设备的关于第二组的第二资源暴露策略,以及数据报告器用于使用第二密钥,响应于本地上下文变化,根据第二资源暴露策略将第二操作数据发送到第二动态组检验器。

示例3可以包括示例1的设备,进一步包括加入会话管理器用于与组管理服务进行加入协议会话,证书处理机用于在加入协议会话期间从组管理服务接收组证书,以及密钥生成器用于基于组证书和与加入协议相关联的本地秘密生成第一密钥作为成对密钥。

示例4可以包括示例3的设备,其中加入协议会话是根据知识协议的零知识证明进行的。

示例5可以包括示例3的设备,其中组证书包括组公共密钥和组标识符。

示例6可以包括示例1至5中的任意一项的设备,进一步包括收集会话管理器用于在动态组检验器与每个组成员的西格玛协议会话的上下文中建立包括成对对称会话密钥以及一个或多个对称组密钥的对称会话密钥集合。

示例7可以包括示例6的设备,进一步包括标识符管理器用于使用对称会话密钥集合来协商设备的临时标识符。

示例8可以包括示例6的设备,进一步包括受信任的执行环境,其中设备用于将对称会话密钥集合、第一密钥和第一资源暴露策略维持在受信任的执行环境中。

示例9可以包括一种操作设备的方法,其包括确定与第一组相关联的第一密钥,确定针对设备的关于第一组的第一资源暴露策略,以及使用第一密钥根据第一资源暴露策略将第一操作数据发送到第一动态组检验器。

示例10可以包括示例9的方法,进一步包括确定与第二组相关联的第二密钥,确定针对设备的关于第二组的第二资源暴露策略,检测本地上下文变化,以及使用第二密钥,响应于本地上下文变化,根据第二资源暴露策略将第二操作数据发送到第二动态组检验器。

示例11可以包括示例9的方法,其中确定第一密钥包括与组管理服务进行加入协议会话,在加入协议会话期间从组管理服务接收组证书,以及基于组证书和与加入协议会话相关联的本地秘密生成第一密钥。

示例12可以包括示例11的方法,其中加入协议会话是根据知识协议的零知识证明进行的。

示例13可以包括示例11的方法,其中组证书包括组公共密钥和组标识符。

示例14可以包括示例11的方法,进一步包括识别设备上的第三密钥,其中第三密钥是增强隐私标识符,在加入协议会话期间使用第三密钥来证实设备在第三组中的成员资格,其中第三组对应于设备的制造者。

示例15可以包括示例9至14中的任意一项的方法,进一步包括在动态组检验器与每个组成员的西格玛协议会话的上下文中建立包括成对对称会话密钥以及一个或多个对称组密钥的对称会话密钥集合。

示例16可以包括示例15的方法,进一步包括使用对称会话密钥集合来协商设备的临时标识符。

示例17可以包括示例15的方法,进一步包括将对称会话密钥集合、第一密钥和第一资源暴露策略维持到设备上的受信任的执行环境。

示例18可以包括至少一种计算机可读存储介质,其包括指令集,当由设备执行时,该指令集使得设备确定与第一组相关联的第一密钥,确定针对设备的关于第一组的第一资源暴露策略,以及使用第一密钥根据第一资源暴露策略将第一操作数据发送到第一动态组检验器。

示例19可以包括示例18的至少一种计算机可读存储介质,其中当执行该指令时,使设备确定与第二组相关联的第二密钥,确定针对设备的关于第二组的第二资源暴露策略,检测本地上下文变化,以及使用第二密钥响应于本地上下文变化,根据第二资源暴露策略将第二操作数据发送到第二动态组检验器。

示例20可以包括示例18的至少一种计算机可读存储介质,其中当执行该指令时,使设备与组管理服务进行加入协议会话,在加入协议会话期间从组管理服务接收组证书,以及基于组证书和与加入协议会话相关联的本地秘密生成第一密钥。

示例21可以包括示例20的至少一种计算机可读存储介质,其中加入协议会话是根据知识协议的零知识证明进行的。

示例22可以包括示例20的至少一种计算机可读存储介质,其中组证书将包括组公共密钥和组标识符。

示例23可以包括示例18至22中的任意一项的至少一种计算机可读存储介质,其中当执行该指令时,使设备在动态组检验器与每个组成员的西格玛协议会话的上下文中建立包括成对对称会话密钥以及一个或多个对称组密钥的对称会话密钥集合。

示例24可以包括示例23的至少一种计算机可读存储介质,其中当执行该指令时,使设备使用对称会话密钥集合来协商设备的临时标识符。

示例25可以包括示例23的至少一种计算机可读存储介质,其中当执行该指令时,使设备将对称会话密钥集合、第一密钥和第一资源暴露策略维持在设备上的受信任的执行环境中。

示例26可以包括一种数据生成设备,其包括用于确定与第一组相关联的第一密钥的模块,用于确定针对设备的关于第一组的第一资源暴露策略的模块,以及用于使用第一密钥根据第一资源暴露策略将第一操作数据发送到第一动态组检验器的模块。

示例27可以包括示例26的设备,进一步包括用于确定与第二组相关联的第二密钥的模块,用于确定针对设备的关于第二组的第二资源暴露策略的模块,用于检测本地上下文变化的模块,以及用于使用第二密钥响应于本地上下文变化,根据第二资源暴露策略将第二操作数据发送到第二动态组检验器的模块。

示例28可以包括示例26的设备,其中用于确定第一密钥的模块包括用于与组管理服务进行加入协议会话的模块,用于在加入协议会话期间从组管理服务接收组证书的模块,以及用于基于组证书和与加入协议会话相关联的本地秘密生成第一密钥的模块。

示例29可以包括示例28的设备,其中加入协议会话是根据知识协议的零知识证明进行的。

示例30可以包括示例28的设备,其中组证书包括组公共密钥和组标识符。

示例31可以包括示例28的设备,进一步包括用于识别设备上的第三密钥的模块,其中第三密钥是增强隐私标识符,用于在加入协议会话期间使用第三密钥来证实设备在第三组中的成员资格的模块,其中第三组对应于设备的制造者。

示例32可以包括示例26至31中的任意一项的设备,进一步包括用于在动态组检验器与每个组成员的西格玛协议会话的上下文中建立包括成对对称会话密钥以及一个或多个对称组密钥的对称会话密钥集合的模块。

示例33可以包括示例32的设备,进一步包括用于使用对称会话密钥集合来协商设备的临时标识符的模块。

示例34可以包括示例32的设备,进一步包括用于将对称会话密钥集合、第一密钥和第一资源暴露策略维持到设备上的受信任的执行环境的模块。

因此,本文中所描述的技术可以提供可链接到特定组密钥的资源暴露策略以使得可以在每组基础上控制数据可见性/粒度(例如,避免隐私问题)。此外,可以通过使用EPID密钥(例如,区别组从属关系)和组划分以消除非预期的设备交互并且防止被盗用的设备获取对其它设备的控制,增强安全性和保密性。此外,可以存在绑定到EPID密钥(组上下文)的额外的组上下文,其包括不同的设备标识符(针对其中设备必须根据可区别的设备标识符进行交互的情景)和不同的设备资源配置文件。

此外,相对于可用于划分具有多操作系统的网关、个人计算机和笔记本电脑的常规虚拟化解决方法,本文中所描述的技术可以被认为是“轻量级的”(例如,具有低处理开销和资源使用)。这些技术还可以使得特定的分析服务提供者能够被给予“拥有”IoT设备的错觉,同时另一个分析服务提供者可以被给予相同的错觉,以使得两位服务提供者不需要合作。

实际上,可以避免对于这些分析服务提供者之间的共谋的顾虑。例如,诸如组划分和分离组上下文信息(例如,利用组内的设备ID以及用户在IoT设备组的定义和管理中发挥作用的能力)的本文中描述的隐私保护对策可以使得尝试的合谋无效。这些性质还可以在IT(信息技术)和云网络中从PC(个人计算机)和服务器配置中区分出IoT设备组。

实施例可应用于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但是不限于处理器、控制器、芯片集组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、片上系统(SoC)、SSD/NAND控制器ASIC等。此外,在一些附图中,用线表示信号导线。一些信号导线可能会不同以便指示更多成分信号路径,一些信号导线可能具有数字标注以便指示许多成分信号路径,和/或一些信号导线可能在一个或多个末端具有箭头以指示主要信息流方向。但是不应以限制性的方式对此进行解释。相反,可以结合一个或多个示例性实施例使用这种添加的细节以便促进更容易地理解电路。无论是否具有额外的信息,任意被表示的信号线实际上可以包括一个或多个信号,该信号可以沿多个方向传播,并且可以使用任意适合类型的信号方案(例如,使用差分对、光纤线和/或单端线来实施的数字或者模拟线)来实施。

虽然可能已经给定了示例的尺寸/模型/值/范围,但是实施例不限于相同的。随着制造技术(例如,光刻)日趋成熟,期待的是可以制造出更小尺寸的设备。此外,为了说明和讨论的简便以及为了不使实施例的某些方面难以理解,公知的IC芯片的电源/接地连接和其它组件可以或者可以不在附图内示出。此外,布置可以以框图的形式示出以便避免使实施例难以理解,以及还考虑到关于这种框图布置的实施的细节是高度依赖在其内实施例将被实施的计算系统的事实,即这种细节应该完全在本领域技术人员的认知范围内。在为了描述示例性的实施例而阐述具体细节(例如,电路)的情况下,对于本领域技术人员而言应该显而易见的是,可以在没有这些具体细节或者具体细节有变化的情况下对实施例进行实施。描述因此将被当作是说明性的而不是限制性的。

在本文中术语“耦合”可以用于指示讨论中的组件之间的任意类型的关系(直接或者间接),并且可以应用到电的、机械的、流体的、光的、电磁的、电动机械的或者其它的连接。此外,术语“第一”、“第二”等在本文中仅用于促进讨论,并且除非另外指示,这些术语不带有特定的时间或者时序意义。

如本申请中和权利要求中所使用的,与术语“中的一个或多个”连接的一列项目可以意味所列术语的任意组合。例如,短语“A、B或者C中的一个或多个”可以意味A;B;C;A和B;A和C;B和C;或者A、B和C。

根据先前的描述本领域技术人员将意识到的是,可以以各种形式对实施例的宽泛的技术进行实施。因此,尽管已经结合实施例的特定的示例对实施例进行描述,但实施例真正的范围不应该限于此,因为根据对附图、说明书和所附权利要求的学习其它修改对于本领域技术人员而言将变得显而易见。

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