用于网络的群组密钥分发的系统、装置和方法与流程

文档序号:13451421阅读:425来源:国知局
用于网络的群组密钥分发的系统、装置和方法与流程

相关申请的交叉引用

本申请要求2015年6月9日提交的美国临时专利申请第62/172,883号和2015年9月23日提交的题为“system,apparatusandmethodforgroupkeydistributionforanetwork(用于网络的群组密钥分发的系统、装置和方法)”美国专利申请第14/863,043号的优先权,上述申请的内容通过引用被并入本申请。



背景技术:

物联网(iot)网络包括多个受约束和无约束的设备,它们作为设备的集合(collection)或编组(grouping),自主地或半自主地运行。命令和控制通常在设备之间分发,并且可能不需要中央控制器。iot网络的安全运行正在成为问题。现有的密钥管理基础设施通常需要一个中央密钥服务器或认证权威机构来确保跨可能需要参与一些协作交换的计算机供应密钥。这样的系统可能被证实为对于iot网络来说是笨拙的。

此外,iot网络与内容网络(即,具有部署在整个因特网上的多个数据中心中的大型分布式服务器系统的网络)有区别,因为iot设备通常具有的受约束的环境缺乏用户凭证或缺乏征求用户凭证来对群组(group)密钥的交换进行认证和授权的能力。

附图说明

本发明的实施例的特征和优点将从所附权利要求、一个或多个示例性实施例的以下详细描述和相应的图中变得显而易见。在适当的情况下,图中已经重复了参考标签,以表明相应或相似的元素。

图1是实施例中的系统概述的框图。

图2是实施例中的群组密钥请求消息的图示。

图3是实施例中的群组密钥响应消息的图示。

图4是实施例中的群组密钥提取消息的图示。

图5是实施例中的群组密钥递送消息的图示

图6是根据实施例的系统的框图。

图7是根据另一个实施例的系统的框图。

图8是实施例中的配置入网工具(onboardingtool)的框图。

图9是实施例中的过程的流程图。

具体实施方式

在下面的描述中,阐述了许多具体细节,但是可以在没有这些具体细节的情况下实施本发明的实施例。众所周知的电路、结构和技术没有被详细地示出,以避免模糊对此描述的理解。“实施例”,“各种实施例”等指示如此描述的实施例可以包括特定特征、结构或特性,但是并不是每个实施例都必须包括该特定特征、结构或特性。一些实施例可以具有针对其他实施例描述的一些特征、全部特征或者不具有针对其他实施例描述的任何特征。“第一”、“第二”、“第三”等描述了一个共同的对象,并指示了正在引用的类似对象的不同实例。这样的形容词并不意味着所描述的对象必须按给定的顺序,无论是在时间上、空间上、排名上,还是以任何其他方式。

在各种实施例中,群组密钥管理架构可以被用来针对一组自主操作的iot设备分发密钥管理。在一个实施例中,可以使用简单密钥分发中心(skdc)来执行密钥管理,所述skdc是可以高效地实现自主的iot设备群组中的现有设备上的服务。设备被预期为将具有先前建立的用于设备到设备通信的成对密钥。托管skdc能力的设备被选择以使得自主编组内的所有设备与skdc设备共享成对密钥。当设备(a)希望与其他设备(b和c)共享内容时,设备遵循用于实例化在设备a,b和c之间共享的群组密钥(k1)的协议,其中a可以使用该群组密钥来加密可以被剩余的群组成员b和c消费的内容。

还指定了针对内容分发的“上下文”。这种上下文在本文中也称为信息交换的“主题(topic)”。也可以指定iot设备的自主编组,并将其称为设备的“领域”。skdc设备被认为是领域命名空间权威机构。领域名称可以通过管理和编著工具分配,该管理和编著工具具有用户界面并且可以支持用户账户。编著工具(authoringtool)可以进行对skdc设备的命名空间分配。可替代地,可以使用命名服务(例如由rfc6698-dns-basedauthenticationofnamedentities(dane)提出的服务)来保留与另一个自主iot设备编组相区分的领域名称,以确保领域命名空间不冲突。

当来自不同领域的设备要进行交互时,冲突的命名空间可能会带来安全问题。例如,如果领域r1中的设备d1要与领域r2中的设备d2进行交互,则领域和设备名称的组合使设备消歧(例如,分别为d1:r1和d2:r2)。如果要跨多个领域形成设备群组,则可以执行消歧(例如,群组g1=[d1:r1,d2:r1,d1:r2,d2:r2])。

基于diffie-hellman(dh)密钥在r1的skdc和r2的skdc之间的的动态交换,r1的skdc和r2的skdc可以交互从而动态地建立安全互操作(secureinteroperation)的上下文。共享群组密钥k1可以经由skdc:r1安全地分发到skdc:r2,因此r2中的设备不需要具有与r1的预共享密钥。设备d1:r1和d2:r1依赖于r1中的skdc用于群组密钥k1分配,并且设备d2:r2和d1:r2依赖于r2中的skdc用于涉及相同的群组密钥k1的群组密钥分配。

在一个实施例中,用于使用skdc请求群组密钥的协议可以以不同的方式来定义,例如通过简化的密钥交换协议来定义,例如,fluffy:simplifiedkeyexchangeforconstrainedenvironments(用于受约束环境的简化密钥交换),draft-hardjono-ace-fluffy-00(ietf规范草案,2015年3月23日,https://tools.ietf.org/id/draft-hardjono-ace-fluffy-00***txt)。协议消息如下所述。消息传递结构不依赖于另一种安全协议来实现完整性、机密性和重放保护。因此,这些消息可以在任何不安全的传输上使用。然而,在一个实施例中,这些密钥交换消息不被认证。

作为替代,设备认证可以通过使用设备配置入网工具来控制将设备引入到iot网络中的方法来实现。在这种情况下,每个设备接收标识(d1,d2等),以及与skdc设备共享的对称密钥。配置入网工具(on-boardingtool)断言设备的真实性,并供应设备专用密钥(例如,dk1→d1)。当进行对群组密钥的请求时,dk1可被skdc用来认证d1。

因此,实施例使得自主的iot网络能够使用由自主网络中的现有设备中的一个所运行的skdc服务来进行经认证的对群组密钥的请求,从而在自主网络内的多个设备之间共享内容。可以在由一个自主网络中的设备的子集和第二自主网络中的设备的子集组成的虚拟群组中实现跨领域设备参与。这可以通过各个领域的skdc服务(其执行dh交换以动态地建立可被用来在领域r1和r2之间建立安全信道的临时密钥t1,通过该安全信道可以由远程skdc进行对群组密钥的请求以将k1重新发布到远程设备)来实现。r2的远程设备不需要向第一skdc进行认证。可以使用dane服务对skdc领域命名空间进行消岐,dane服务建立领域名称以使得冒名顶替者无法断言已经合法分配给r1和r2的领域名称。例如,r1中的设备在寻求群组密钥之前可能依赖于来自dane服务的证书来与r2中的设备进行通信。

因此,实施例对分配给iot设备的群组密钥执行分布式密钥管理,而不引入对用户凭证的依赖关系。实施例还可以使用可由现有设备(或由专用于此目的的新设备)运行的skdc服务,来支持在领域内群组密钥(intra-realmgroupkeys)以内的自主操作。再另外,实施例支持动态建立虚拟领域/群组上下文,其中第一领域的设备使用公共群组与第二领域的设备进行交互。实施例可以使用dane服务来进一步支持消歧的领域命名空间,dane服务根据命名空间注册表来保留领域名称,但在此情况下注册表不被信任以知道群组密钥值或者向领域权威机构认证设备。因此,诸如托管dane服务的节点等服务器节点可以有助于命名领域和设备在不依赖于证书权威机构或中央密钥服务器的情况下完成对群组密钥的实际获取和分发。

在一个实施例中,设备的至少一个iot网络自主地且安全地操作。设备可以通过将内容及“命令和控制”消息在iot网络中的一些或所有设备之间共享,来进行交互。上述设备依赖于skdc功能,其可由现有的iot设备或由专用于此功能的新设备托管。skdc接受使用以下四个消息的组合创建群组密钥k1的请求:a)groupkeyrequest(群组密钥请求);b)groupkeyresponse(群组密钥响应);c)groupkeyfetch(群组密钥提取);和d)groupkeydeliver(群组密钥递送)。在下面描述这些消息中的每一个。

skdc使用由设备配置入网工具建立的预共享密钥来认证groupkeyrequest和groupkeyfetch消息,该设备配置入网工具证实设备安全能力并且建立设备名称以及预共享的共享密钥。配置入网工具可以为skdc供应所有设备的列表(名称,以及预共享密钥(psk)),以使得iot设备接下来能够进行群组密钥管理功能。psk是一个在需要使用它之前使用某安全信道在双方之间预先共享的共享秘密。同样地,可以为iot网络中的每个设备供应sdkc设备psk,以便可以由iot设备认证groupkeyresponse和groupkeydeliver消息。

在一个实施例中,skdc被分配了命名空间,也称为领域,从而领域名称和设备名称将领域r1中的设备与第二领域r2中的设备进行消歧。可以采用dane服务在通用注册表(其确保r1和r2不被给予相同的名称)中注册领域名称。名称消歧允许领域在动态的和特设(ad-hoc)的dh交换期间断言名称,该dh交换导致可被用来建立将领域r1和r2桥接起来的安全信道的临时密钥t1。可以向允许/拒绝r1和r2之间的skdc交互的给定skdc提供上下文提示或策略。

例如,酒店客人入住过程可能包括随客人的注册确认文件提供的酒店领域名称“hotel_nameroom100”。由dane认证的报告可能会将相同的名称呈现到iot网络内的显示设备上。客人可以验证由文件记录的名称和所显示的名称相匹配,从而授权skdc:r1←→skdc:r2交互。接下来,临时密钥t1可以用于保护将群组密钥k1递送给skdc:r2的交换,其中该交换对r2中的设备发布groupkeyfetech消息进行响应。

现在参考图1,示出的是系统概述的框图,其示出分发群组内容密钥k1的自主iot网络中的skdc。请注意,dane服务可以将领域名称分配给skdc。图9包括实施例中的过程900。关于图1和图9,框901包括将包括第一密钥管理设备的第一设备分配给第一领域,并将包括第二密钥管理设备的第二设备分配给第二领域。dane服务101可以发布关于将设备包括在领域内的证书110、111。例如,设备104、105、106中的每一个可以包括证明其被包括在第一领域102内的证书,并且设备107、108、109中的每一个可以包括证明其被包括在第二领域103内的证书。

框902包括给设备105供应对于该设备为唯一的第一成对密钥,以及给设备106供应对于该设备为唯一的第二成对密钥。框903包括为第一密钥管理设备104供应第一和第二成对密钥的实例。框904包括在第一密钥管理设备104中接收对群组密钥的请求。该请求可以来自设备105、106、107、108、109中的任一个,其中来自设备108、109的请求将经由设备107发送。

框905包括设备104利用第一和第二成对密钥的实例之一来认证该请求(如果该请求是来自设备105或106)。框906包括通过第一密钥管理设备104来响应第一请求。框907包括使用设备105、106中的一个来利用第一和第二成对密钥之一来认证该响应。

框908包括设备104获得群组密钥(例如,创建密钥或从存储取回先前制作的密钥)并将群组密钥提供给设备105、106中的一个或多个。框909包括建立要用于在第一密钥管理设备和第二密钥管理设备之间建立安全信道的密钥。框910包括经由安全信道从第一密钥管理设备104向第二密钥管理设备107提供群组密钥112(经由安全信道加密和发送)。

现在参考图2,示出的是根据实施例的群组密钥请求消息200的图示。群组密钥请求消息200源自请求设备(requestingdevice)(例如,设备105),并被发送到密钥管理设备(例如,设备104),在这里该消息指示密钥管理设备创建群组对称密钥,其中该密钥的上下文被提供在请求消息的正文内。该上下文可以包括请求创建群组密钥的客户端的标识,以及该客户端所属的领域。上下文可以包括多播群组名称和领域上下文、多播群组密钥将过期的到期日、以及可以应用于通过群组密钥来保护的数据的授权许可或涉及群组密钥的使用的许可。许可或权限可以包括例如read,write,copy,modify,delete,distribute和delegate权限。请求消息还可以包括认证符(authenticator)部分(205),其对skdc(104)加密(encryptedtoskdc),可以用于认证发送方(105)。请求正文(requestbody)还可以用与认证符相同的密钥来保护,并且可以包括用加密部分加密的正文的加密码散列(cryptographichash)。在另一个实施例中,认证符可被用非对称密钥进行数字签名。元素205可以包括客户端名称、客户端领域、客户端的时间戳。

消息200允许iot设备指定群组密钥细节,包括mcastname,另外也称为群组主题。群组主题可以包括例如上文所述的酒店房间示例并且使用该酒店房间示例,“房间设置”可以是这样的群组主题。例如,酒店房间中的恒温器和冰箱可以在r1中,酒店客人的移动计算节点(例如,智能手机和膝上型计算机)可以在r2中。所有这四个设备可能希望就与“房间设置”有关的事项进行沟通,范围从房间和冰箱温度到wifi设置。消息200中的其他值可以确保群组密钥具有有限的范围并且被保护以防重放和其他完整性攻击。认证符确立该请求设备对于skdc为已知。在图2中,该请求提供发布请求的设备的标识201、该设备的领域202、群组主题203和反应答规定(anti-replyprovisions)(例如,现时标志(nonce))204。认证符205包括许多与请求正文206相同、但是利用发送请求的设备的设备密钥进行加密的字段。

现在参考图3,示出的是根据实施例的群组密钥响应消息的图示。群组密钥响应消息用于确认在消息正文中对原始请求者进行标识的群组密钥请求消息200。它还可以包括使用仅原始请求者拥有的密钥来加密的收据部分。它可以包含群组密钥,该群组密钥是如原始请求中所指定地最初随上下文请求的、或是在发布时由skdc酌情修改的。根据在收据中作为上下文提供的许可限制,请求实体(105)可以使用密钥来保护旨在用于以多播名称命名的群组的内容。如所示,群组密钥响应消息固有地确认群组密钥请求的接收,然后创建群组密钥k1。由于可能存在k1的多个用户,因此微型票证(mini-ticket)不会作为响应的一部分而发布。然而,收据确实允许请求设备就该skdc在自主的iot网络的上下文内为已知的来进行认证。如果请求设备具有dane证书,则skdc领域名称可以被独立地验证。应答包括与该请求的各种字段类似的那些字段(例如,201-301;202-302,204-304,207-307)。

现在参考图4,示出的是根据实施例的群组密钥提取消息的图示。当iot设备准备好执行群组密钥操作时,无论是加密由群组密钥请求者最初发布的内容群组以供消费,还是解密先前发布的内容,设备都发布提取消息,该提取消息指示skdc返回群组密钥k1作为递送消息的一部分(在图5中寻址)。提取消息包括与该请求的各种字段类似的那些字段,包括诸如协议版本,客户端标识(例如,设备105),客户端领域(例如,领域102),多播群组标识,关于密钥到期的多个方面,反应答考虑(例如,现时标志(nonce))等项目。

现在参考图5,示出的是根据实施例的群组密钥递送消息的图示。递送消息返回由skdc和请求设备之间共享的成对psk加密的群组密钥k1。这认证了消息。k1可以被iot设备使用来加密/解密群组内容。主题(mcastname)被包括,以便组成员能够在使用密钥时保持适当的上下文。递送消息包括与该请求的各种字段类似的那些字段,包括诸如协议版本,客户端标识(例如,设备105),客户端领域(例如,领域102),多播群组标识,关于密钥到期的多个方面,反应答考虑(例如,现时标志(nonce))等项目。

原始请求者(其做出了图2的请求)是内容的发布者,而提取密钥的实体(图3)是内容的消费者。在各种请求(图2)、应答(图3)、提取(图4)和递送(图5)中的许可(未显示)可以根据设备的角色是发布者还是消费者而被不同地解释/应用。也就是说,发布者可能受到可能被发布的内容的类型和格式的限制,而消费者可能受到内容可能被消费和再分发的方式的限制。

请注意,如果iot设备d1来自不同的领域r2,则d1将从r2skdc中请求群组密钥。作为响应,skdc:r2发现该请求是针对外部skdc领域,其中代表skdc:r2对skdc:r1做出新的请求。设备可以使用dh密钥交换来建立t1,t1用于保护群组密钥管理消息的收据和认证符部分。dh交换可以应用若干种用于在对方实体(oppositeentity)中建立信任的技术,包括使用制造商密钥/证书(诸如intelepid、tcgtpm证明身份密钥(aik)或其他嵌入凭证)来对密钥交换消息进行签名。还可以使用先前协商的上下文(诸如pin或其他属性数据)来进一步建立,并且还可以利用设备的本地tee配置和存储器状态的证明散列(其可以与白名单进行交叉校验)的交换来进一步增强。随后,r2拥有k1,现在可以通过发出由skdc:r2密钥认证的groupkeydeliver消息来履行来自d1:r2的原始请求。

实施例使得能够由自主iot网络内的iot设备使用群组密钥管理器/skdc。skdc可以跨领域进行交互,以协商用于认证跨领域交互的动态特设密钥(ad-hockey)。可以使用上下文值/pin或命名空间批准来进一步认证skdc之间的跨领域交互。另外,可以使用dane服务来授权领域命名空间并将领域命名空间分配给iot网络中的skdc。

预共享密钥可以被skdc和iot设备使用,以向skdc认证设备,反之亦然。可以使用配置入网(on-boarding)过程来建立与psk相关联的iot设备名称,并且使用证明协议来收集设备可信度属性。

在一些实施例中,本文描述的技术可以在可信执行环境(tee)(例如sgx,memcore,cse,vt-x,带smack的iot-os,或armtrustzone等)内实现,以保护iot设备中的skdc服务。注意,群组密钥、skdc和多个领域可被用来形成能够交换加密群组内容(诸如传感器数据、流数据及“命令和控制”信号)的虚拟iot网络。

iot设备环境往往要求高度的自主性,以确保在不利的操作条件下的安全或可生存的操作,例如在建筑物火灾或其他自然灾害的情况下的撤离路线控制系统。在这种异常条件下,可能无法访问密钥管理服务器或证书权威机构。因此,可能需要为设备供应不依赖于中央服务来分发密钥或便于验证密钥的对称凭证。tee起到的作用是,保护这些凭证免受可能会引入虚假的紧急情况(例如,拉动火灾报警开关)的攻击者破坏而使系统切换到不那么安全但安全性被优化(lesssecurebutsafetyoptimized)的操作模式。然而,实施例确保操作模式开关保持安全,具有与tee的安全性相当或甚至更好的安全性。例如,一个实施例可以包括为了在“安全临界模式”中保护系统而在这种模式之外不被授权而发布的对称密钥“票证”。在授权使用该票证之前,tee可能会确保设备已正确检测到安全临界模式。发布者和订户都可以采用tee环境,其对密钥使用实施安全约束。

成对凭证的语义断言,如果设备a知道配对设备-b共享成对密钥,则只有设备a和b共享该密钥。通过断言“如果认证挑战不是由设备a创建的则只有设备b可能提供了该挑战”,设备a可以使用成对密钥的用途来认证设备b。成对密钥可用于在设备a和b之间建立安全通信,这保护数据的完整性和机密性。

关于“配置入网(on-boarding)”,该术语是指一个过程,经由该过程将设备808引入环境或领域。图8示出了在一个实施例中包括配置入网工具802的系统管理工具801。它还显示了几种其他对于供应iot系统有用的工具。该工具可以由几个不相干的或相组合的工具组成;设备配置入网工具(dot)802,系统编著工具(sat)803以及引导和供应工具(bpt)804。dot确定哪些物理设备(例如以下设备:806洗衣机,807机器臂)由系统805拥有并且对于系统对象模型809是可用的。sat提供用于设计设备之间的各种交互语义的用户界面。bpt通过发现需要供应的设备来建立与每个需要供应的设备的连接。可替代地,设备可以跟踪其供应状态并寻求bpt服务的供应。当连接建立时,设备的psk可用于建立安全连接。bpt可以供应在那时的安全相关资源,包括访问控制列表(acl)、凭证、以及其他配置数据。系统对象模型809的通知在系统805和设备808之间传送各种环境/领域细节,例如执行计划810、其他服务811、密钥管理(例如,用于系统内的密钥的算法或协议)812、以及系统访问控制规则813。执行计划810可以包括例如由iot设备d1的代码脚本和资源模型组成的分布式iot应用;用于第二iot设备d2的第二代码脚本和资源模型;以及以此类推的用于第三设备和第四设备或更多的设备的,使得脚本系统与各个设备的资源模型交互以实现规定的结果。服务811可以包括例如固件、os图像或应用图像软件更新服务;网络配置服务;证明/白名单/黑名单分析服务;声誉分析服务;全局威胁情报(gti)服务;企业政策编排(epo);和/或安全事故事件管理(siem)服务。系统访问控制规则813可以包括例如被配置和供应给要以本地方式强制实施的iot设备的acl,被集中管理和以本地方式强制实施的acl,和/或代表只能通过网关设备访问的iot设备由网关强制实施的acl。

关于psk的供应,在一个实施例中,安全资源供应在设备“配置入网”之后。设备供应目标(deviceprovisioningobjectives)使新设备能够与现有设备安全地进行交互。这涉及建立安全凭证,安全凭证用于将每个设备与其需要交互的每个其他设备进行认证。凭证包含密钥,该密钥用于建立安全信道并评估访问权限。在第一凭证当中,供应的是被用来促进供应活动的服务。供应服务使用具有预共享密钥的凭证,这些凭证转而用于保护通信信道,另外的供应活动可以通过通信信道继续进行。供应psk的方法有很多种,其中一些可能是基于这样的设备:其产生密钥,然后在dh协议下与skdc接合之后将密钥传送给skdc,以在两个节点之间生成安全路径。

现在参考图6,其示出了可以使用实施例的示例系统的框图。如所看到的,系统900可以是智能手机或其他无线通信器或任何其他的iot设备。基带处理器905被配置为对要从系统发送或接收的通信信号执行各种信号处理。接下来,除了诸如许多众所周知的社交媒体和多媒体应用之类的用户应用之外,基带处理器905耦合到应用处理器910,应用处理器910可以是系统的主cpu以执行os以及其他系统软件。应用处理器910还可以被配置为执行该设备的各种其他计算操作。

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

仍然参考图6,通用集成电路卡(uicc)940包括订户身份模块,其在一些实施例中包括用于存储安全用户信息的安全存储942。系统900还可以包括可以耦合到应用处理器910的安全处理器950(例如,可信平台模块(tpm))。包括一个或多个多轴加速度计的多个传感器925可以耦合到应用处理器910以使能输入各种感测信息,如运动和其他环境信息。此外,一个或多个认证设备995可以用于接收例如用于认证操作的用户生物特征输入。

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

功率管理集成电路(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标准的本地无线通信。

现在参考图7,示出了根据本发明的另一个实施例的系统的框图。如图7所示,多处理器系统1000是诸如服务器系统的点对点互连系统,并且包括经由点对点互连1050耦合的第一处理器1070和第二处理器1080。如图7所示,处理器1070和1080中的每一个可以是诸如soc的多核处理器,包括第一和第二处理器核(即,处理器核1074a和1074b以及处理器核1084a和1084b),但是处理器中可能存在更多的核。此外,处理器1070和1080各自可以包括安全引擎1075和1085,以执行安全操作,例如证明、iot网络配置入网等等。

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

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

实施例可以用在许多不同类型的系统中。例如,在一个实施例中,通信设备可被布置成执行本文描述的各种方法和技术。当然,本发明的范围不限于通信设备,相反地,其他实施例可以涉及其他类型的:用于处理指令的装置,或者包括响应于在计算设备上被执行而使得设备执行本文描述的一种或多种方法和技术的指令的一个或多个机器可读介质。

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

示例1a包括至少一个包括指令的计算机可读存储介质,所述指令在被执行时使得系统能够:在与第一领域相关联的第一自主网络的第一密钥管理设备中接收对群组密钥的请求,以使得能够在所述第一自主网络的一个或多个第一设备和与第二领域相关联的第二自主网络的一个或多个第二设备之间共享内容,所述第二自主网络具有第二密钥管理设备;从所述第一密钥管理设备获取所述群组密钥并将所述群组密钥提供给所述一个或多个第一设备;建立用于在所述第一密钥管理设备和所述第二密钥管理设备之间建立安全信道的临时密钥;以及经由所述安全信道从第一密钥管理设备向所述第二密钥管理设备提供群组密钥,以使得第二密钥管理设备能够向一个或多个第二设备提供群组密钥。

如本文所使用的,“接收”等包括推或拉动作。例如,skdc可以使得请求从设备被推送到该skdc,或者skdc可以从设备拉取该请求。“提供”等也是如此。提供密钥可以包括将密钥推送到设备或者使设备从skdc拉取密钥,或者甚至将设备引导到某个存储位置,在此该设备可以获得密钥。

在一个实施例中,在建立临时密钥之前,请注意第一和第二自主网络彼此独立。一个网络的任何成员与其他网络的任何成员之间没有配对或认证。

实施例不限于使用临时密钥来建立安全信道,并且在其他实施例中可以使用任何数量的对称密钥等。

如本文所使用的,“请求”和“应答”的示例包括“gsk-req”和“gsk-rep”,然而“gsk-fet”也可以被认为是请求,而“gsk-del”也可以被认为是应答。有关此类请求和应答的更多细节,请参见例如https://tools.ietf.org/id/draft-hardjono-ace-fluffy-00***txt。

在示例2a中,示例1a的主题可以可选地包括基于第一和第二密钥管理设备两者已知的上下文来建立临时密钥的指令。

例如,这种上下文可以包括个人识别号码(pin)。

在示例3a中,示例1a-2a的主题可以可选地是,其中,上下文基于第一和第二密钥管理设备的环境条件。

在示例4a中,示例1a-3a的主题可以可选地包括经由基于上下文的diffie-hellman协议来建立临时密钥的指令。

例如,这种环境条件可以是基于加速度计或音频感测,其提供通过附近设备之间的辅助信道建立的pin值(例如,具有基于辅助信道技术中体现的物理限制的物理接近度),然后基于共享值来彼此通信。这样的示例可以包括当两个设备在配对协议中彼此接触时进行的点击的“声音”。声音简档可以作为dh密钥交换的双方之间的共享值。参见例如转让给美国加利福尼亚州圣克拉拉市的英特尔公司的美国专利号8,903,315。上述例子是非限制性的,其他可能性包括例如超声波发射器/接收器通信;qr码显示/相机交互;触觉振动/运动传感器交互,近场通信(nfc)或(ir)红外通信,人体域网等。

在示例5a中,示例1a-4a的主题可以可选地包括从一个或多个第一设备之一接收请求的指令。

在示例6a中,示例1a-5a的主题可以可选地包括经由第二密钥管理设备从一个或多个第二设备之一接收请求的指令。

在实施例7a中,示例1a-6a的主题可以可选地包括,其中:所述一个或多个第一设备中的第一个包括对所述一个或多个第一设备中的第一个唯一的第一成对密钥;所述一个或多个第一设备中的第二个包括对所述一个或多个第一设备中的第二个唯一的第二成对密钥;第一密钥管理设备包括第一和第二成对密钥的实例;并且所述至少一个介质包括用于向所述第一密钥管理设备认证所述请求的指令:(a)在创建所述群组密钥之前,(b)基于所述第一和第二成对密钥,以及(c)响应于接收到所述请求;所述至少一个介质包括用于向给所述第一密钥管理设备相互认证所述一个或多个第一设备中的第一个和第二个的指令:(a)在创建所述群组密钥之前,(b)基于所述第一和第二成对密钥,以及(c)响应于接收到所述请求。

在示例7a的另一个版本中,示例1a-6a的主题可以可选地包括其中:所述一个或多个第一设备中的第一个包括对所述一个或多个第一设备中的第一个唯一的第一成对密钥;所述一个或多个第一设备中的第二个包括对所述一个或多个第一设备中的第二个唯一的第二成对密钥;第一密钥管理设备包括第一和第二成对密钥的实例;所述至少一个介质包括用于向所述第一密钥管理设备认证所述请求的指令:(a)在获得所述群组密钥之前,(b)基于所述第一和第二成对密钥中的至少一个,以及(c)响应于接收到请求;并且所述至少一个介质包括用于向所述第一密钥管理设备相互认证所述一个或多个第一设备中的第一个和第二个的指令:(a)在获得所述群组密钥之前,(b)基于所述第一和第二成对密钥,以及(c)响应于接收到请求。

相互认证包括向第一密钥管理设备认证一个或多个第一设备中的第一个和第二个,并且向一个或多个第一设备中的第一个和第二个认证第一密钥管理设备。

在示例8a中,示例1a-7a的主题可以可选地包括利用第一和第二成对密钥的实例之一来加密群组密钥、然后将加密的群组密钥提供给一个或多个第一设备中的第一个和第二个的指令。

在实施例9a中,示例1a-8a的主题可以可选地包括利用群组密钥加密内容并将加密的内容传送给第二设备中的一个或多个的指令。

在一个实施例中,其中群组密钥r1:d1可以直接与r2:d1通话,而不经过skdc。一旦组成员拥有对称群组密钥的副本,任何成员都可以加密和解密消息。实施例使用多个密钥,其允许每个参与者具有专用于加密的密钥(而订户仅解密)。这可以与以下实施例一起使用:例如存在很少几个发布者和许多订户以及其中订户未被授权给发布者。tee可以强制实施如由票证(ticket)或收据(receipt)上下文定义的密钥使用限制。

在示例10a中,示例1a-9a的主题可以可选地包括在没有第三方批准的情况下,将对应于第一领域的命名空间自行分配(self-assign)给第一密钥管理设备的指令。

iot设备可能涉及到这样的场景:其中客户端或服务器或这两个设备都是移动的,并且其中连接是本地的(例如,nfc,蓝牙,ir,超声波,触觉等)。对中央命名权威机构进行访问以注册动态选择的名称或验证动态选择的名称可能是不切实际的。实现设备交互的私密性的解决方案包括动态选择设备标识符。标识符重新协商仅当两个域都选择相同的名称时才需要进行。如果随机选择设备标识符,则在给定熵的真实来源的情况下,冲突概率较低。例如,公司的数字随机数生成器(drng)是已知具有低重复生成值概率的真正随机数生成器(rng)的示例。

在示例11中,示例1a-10a的主题可以可选地包括用于将自行分配的命名空间向第三方进行自主注册的指令。

在某些场景中,iot设备可能希望以众所周知的名称为人所知,以推销品牌,商标或口号。自行分配命名空间受益于第三方命名实体,这是通过允许命名实体检测重复的名称。它不同于诸如ca或dns服务的命名权威机构,因为它不分配或选择名称,它只测试以前的注册。

在示例12a中,示例1a-11a的主题可以可选地包括在没有第三方批准的情况下,经由作为命名空间权威机构的第一密钥管理设备来向一个或多个第一设备分配名称的指令。

命名空间权威机构确保在“用户”的网络的上下文中操作的设备使用在网络成员中已知是唯一的设备标识符。通过建立(例如,分配/审查)标识符,并与已知是网络中的参与者的其他设备标识符进行交叉校验,在网络上的设备的调试和停用期间可能涉及命名空间权威机构。检测到未知标识符构成安全威胁或可能的攻击。

在示例13a中,示例1a-12a的主题可以可选地包括,其中:创建群组密钥并将群组密钥提供给一个或多个第一设备包括创建群组密钥的多个实例并将群组密钥的多个实例提供给一个或多个第一设备;并且多个实例包括多个对称密钥并且不包括不对称密钥。

在一个实施例中,非对称密钥与对称密钥共存。epid是可以用于认证群组对称密钥的群组非对称密钥。这可以通过签署对称密钥来实现(意味着只有一个现有的组成员可能已经发起了密钥的使用),但是没有公开发起者的身份。这保留了群组内的匿名性,同时促进了群组内安全发布和订阅。

在示例14a中,示例1a-13a的主题可以可选地包括其中:第一密钥管理设备被包括在一个或多个第一设备中,并且第二密钥管理设备被包括在一个或多个第二设备中;所述至少一个介质包括以下指令:仅向所述第二密钥管理设备而不向其余的一个或多个第二设备中的任一个认证所述第一密钥管理设备而不认证其余的一个或多个第一设备中的任一个;所述一个或多个第一设备中的任一个均不具有与所述一个或多个第二设备中的任一个的预共享密钥。

这样的实施例大大减轻了必须在诸如但不限于不同领域的设备之间的设备之间发生的配对的量。

在示例15a中,示例1a-14a的主题可以可选地包括以下指令:基于在所述第一密钥管理设备和所述一个或多个第一设备中的所述一个之间分发的密钥对,向所述一个或多个第一设备中的一个认证所述第一密钥管理设备;以及响应于向所述一个或多个第一设备中的所述一个认证所述第一密钥管理设备,而接收所述请求。

在示例16a中,示例1a-15a的主题可以可选地包括其中:所述第一密钥管理设备包括具有带外(oob)非易失性第一存储器的第一安全处理器,所述oob非易失性第一存储器存储对于所述第一密钥管理设备的第一操作系统(os)不可见的临时密钥;并且所述方法包括在所述临时密钥是oob并且在所述第一安全处理器内的情况下利用所述临时密钥加密所述群组密钥。

在示例17a中,示例1a-16a的主题可以可选地包括,其中获得群组密钥包括创建群组密钥。

例如,获得密钥可以包括创建密钥,或者可能需要从例如安全处理器中的存储的存储中取回先前创建的密钥。

在示例18a中,示例1a-17a的主题可以可选地包括以下指令:在不依赖于证书权威机构或中央密钥服务器的情况下,从第一密钥管理设备获得群组密钥并且向一个或多个第一设备和第二密钥管理设备提供群组密钥。

换句话说,某些动作可能涉及诸如注册领域名称等的服务器,但是群组密钥的实际供应是在领域本身内完成的,其中所述领域可以包括一个或多个受约束设备。

在示例19a中,示例1a-18a的主题可以可选地包括以下指令:在不依赖于证书权威机构或中央密钥服务器的情况下,形成第一领域,并且将所述一个或多个第一设备包括在所述第一领域中。

这允许域作为域拥有的设备的星座或“网络”以紧密结合的方式来操作。域的创建、操作和删除可以自主进行,没有第三方监督和控制。

在示例20a中,示例1a-19a的主题可以可选地包括其中:基于所述一个或多个第一设备中的至少一个没有用户凭证,所述一个或多个第一设备中的至少一个是受约束的;基于第一自主网络不依赖于分布式服务器系统在第一领域内或与第二领域进行通信,第一自主网络是自主的并且不是内容递送网络;第一领域包括一个或多个第一设备的自主编组;并且临时密钥包括会话密钥。

如本文所使用的,“受约束”是指没有通常对于计算为必需的一个或多个关键资源(例如,存储器,存储,计算,网络容量)的执行环境。约束可以是基于阈值的,其中一些操作级的现有资源被耗尽,但是实现了有意义的功能/行为。生存性科学是跟随在计算资源的损失之后的有意义的计算的科学。某些设备可能默认地被制造为以“生存”模式运行。它们可以执行某些职责,但不能执行对设备原本所预期的全部职责。例如,受约束设备受到约束可能是因为,它可能由于凭证缓存和替换策略(其为了给更紧迫地使用的凭证找到资源,而删除了较少使用的凭证)从而缺少凭证。存储凭证的该约束要求设备更频繁地查询密钥管理服务以重新获取已删除的凭证。因此,受约束设备由于需要更频繁地访问存在于包括该设备的本地领域之外的凭证服务器,而导致丧失自主性或可能丧失安全性和隐私。

如本文所使用的,“领域”命名设备的编组(grouping),其中操作行为、交互语义和安全语义可能在考虑到群组内与群组间操作的情况下有所不同。它可能代表逻辑内容群组。

如本文所使用的,“自主”是指操作模式,其中设备或服务可以执行从开始到结束并且在没有外部交互或调解的情况下重新开始的生命周期组件的功能。自主促进动态会合、配对和/或发现,使得设备交互不需要遵循“主”或“中心”或“控制器”实体的规定的异常状态。

示例21a包括至少一个包括指令的计算机可读存储介质,该指令在被执行时使得系统能够:建立在与第一领域相关联的第一自主网络的第一设备和第一密钥管理设备之间的第一成对密钥;使用所述第一成对密钥中的一个来加密对群组密钥的请求;向所述第一密钥管理设备发送加密的对群组密钥的请求,以使得能够在所述第一自主网络的一个或多个第一设备和与第二领域相关联的第二自主网络的一个或多个第二设备之间共享内容,所述第二自主网络具有第二密钥管理设备;以及从所述第一密钥管理设备获得利用所述成对密钥中的一个来加密的所述群组密钥。

在示例22a中,示例21a的主题可以可选地包括经由第一密钥管理设备从第二密钥管理设备获得群组密钥的指令。

在示例23a中,示例21a-22a的主题可以可选地包括以下指令:在没有经由第一和第二密钥管理设备之一发送消息的情况下,从一个或多个第二设备之一接收消息;基于群组密钥解密消息;其中所述系统被包括在所述一个或多个第一设备中的一个中。

示例24a包括一种装置,包括:至少一个存储器;以及耦合到所述存储器的至少一个处理器,所述至少一个处理器执行包括以下的操作:在与第一领域相关联的第一自主网络的第一密钥管理设备中接收对群组密钥的请求,以使得能够在所述第一自主网络的一个或多个第一设备和与第二领域相关联的第二自主网络的一个或多个第二设备之间共享内容,所述第二自主网络具有第二密钥管理设备;从所述第一密钥管理设备获取所述群组密钥并将所述群组密钥提供给所述一个或多个第一设备;建立用于在所述第一密钥管理设备和所述第二密钥管理设备之间建立安全信道的临时密钥;以及经由所述安全信道从所述第一密钥管理设备向所述第二密钥管理设备提供所述群组密钥,以使得所述第二密钥管理设备能够向所述一个或多个第二设备提供所述群组密钥。

在示例23a中,示例21a-22a的主题可以可选地包括,其中操作包括经由第二密钥管理设备从一个或多个第二设备之一接收请求。

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

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