提供受限设备之间的安全通信的方法和装置与流程

文档序号:14213261阅读:150来源:国知局
提供受限设备之间的安全通信的方法和装置与流程

相关申请

本申请要求于2015年7月21日提交的、发明人为timothye.moses的、标题为“methodandapparatusforprovidingsecurecommunicationamongconstraineddevices”的临时申请序列号62/195,032的优先权,通过引用将该申请结合进本文中。



背景技术:

本公开涉及用于提供网络中的设备(诸如受限设备)之间安全通信的方法和装置。

在所提出的用于为物联网提供安全性的模型中,存在两个提出的认证基础架构,其中任一个或两者可以使用公钥基础架构(pki)技术和证书。例如,当经由互联网将多个设备连接到网络(或相互连接)时,第一安全基础架构可以将唯一地识别每个设备的凭证安装在设备中。这些识别凭证从安全角度来看可以是不受管理的并且独立于使用领域的。例如,当制造可以连接到网络的设备(诸如将被安装在大型建筑物的多个楼层中的温度传感器和恒温器)时,制造商可以具有服务器或者使用第三方的服务器作为根证书服务器并且为该制造商生产的每个设备生成识别证书。因此,在制造期间,可以创建具有将设备的唯一标识符与由根证书授权机构签名的证书相关联的条目的数据库。以这种方式,当设备被开启时,它可以经由网络向根授权机构或另一个证书授权机构进行认证。

但是,可以使用不同的安全基础架构来管理设备在安装时的配置。因此,需要在系统或网络中添加通用设备作为新设备,然后需要将该设备配置为以与系统或网络的需求一致的特定方式进行操作。例如,可以使用另一个授权基础架构来管理授权(诸如哪些设备在网络上被授权、哪些设备被授权与某些其它设备通信、哪些设备可以向网络中的哪些其它设备的哪些接口发送哪些命令,以及它们的配置设置)。随着越来越多的设备必须被安装在更大的网络(诸如建筑物网络、路边基础架构、制造设施以及其它环境)中,每个设备在第二基础架构的数据库中注册(enroll)。

随着密码分析能力的提高,并且某些密码算法对于它们的目的而言不再足够安全,需要持续更新在使用中的密码算法和密钥,同时继续支持尚未更新其算法的网络的部分。这提出了一个问题,因为通信的双方必须使用相同的算法,但同时更新所有设备102-102n是不切实际的。这个问题通常是通过在接受连接和消息的设备中支持一系列算法来解决的,甚至是过时的算法。发起连接和消息的设备必须只支持与其通信的其它方所支持的算法中的任何一种。这个解决方案所付出的成本是,接受连接和消息的所有方都必须支持多种算法并且具有适于与每种算法使用的密钥。在受限设备的网络中,这个成本可能是不可接受的。如本文所使用的受限设备是在存储器中为每个密码功能存储一个密码算法代码模块的设备。如本文所使用的代码模块是所存储的可执行指令,当由一个或多个处理器执行时该可执行指令,使一个或多个处理器执行由所存储的代码模块的指令决定的操作。

参考图1,系统100被示为具有多个设备102和102n,这些设备将被添加在网络(诸如采用互联网104的网络)中。设备可以是可以与互联网或其它网络联网传感器、致动器、路边基础架构元件或者任何其它的合适设备。设备102-102n通常可以在中央位置的批处理中完成注册,然后被运送以进行安装。管理员将需要查看整个系统的计划并尝试了解如何配置设备。

在这个示例中,作为安全管理基础架构(在这种情况下是pki基础架构)的一部分的安全管理设备106或授权服务器通过在作为设备106的一部分的服务器或其它计算机处的管理员接口利用发布设备配置证书所需的数据填充数据库108,其中该设备配置证书被随后发布到设备102-102n,以将设备配置为按照网络的要求进行操作。传感器和致动器的网络可以使用控制形成网络的设备的特权的授权服务器(决定哪些设备被允许访问哪些其它设备上的哪些功能)。

每个设备具有合适的网络接口来与网络通信以及相互通信,并且在这个示例中该网络接口包括ip地址或url。在一个示例中,安全管理设备106可以生成如证书110所示的、在能力证书模型中的设备配置证书和/或如证书112所示的、基于设备许可证书模型的设备配置证书。如本领域中已知的,设备配置证书可以被存储在证书数据库114中。基于能力证书模型的设备配置证书的示例将是例如由安全管理设备106或其它合适的证书授权机构签名的证书。基于设备能力证书的设备配置证书将包括例如设备id(诸如序列号、ip地址、url或其它标识符),以及表示特定设备可以发布的命令以及哪些设备被授权与网络中的其它设备进行通信的数据。基于设备许可证书112的设备配置证书可以通过许可模型生成包括相同类型的设备id信息和识别设备可以接受什么命令的数据的证书。数据库108可以包括例如网络中的每个设备的设备id和每个设备位置(诸如设备在系统内的位置)。例如,如果设备是多个管道中的一个管道中的传感器,那么必须由管理员确定其在特定管道中相对于管道的特定接合点的位置或其它位置信息。数据库108还可以包括其它设备信息,诸如设备的型号和序列号以及由可以通过安全管理设备106的合适的用户接口来设置参数的管理员设置的设备的能力。替代地,如果使用许可模型,那么可以针对特定的设备集合存储许可或规则。然后无论发布的设备配置证书是基于能力模型的还是许可模型的,在生成或发布后所发布的设备配置证书都被发送到每个相应的设备,以使得通过基于公共密钥基础架构的安全系统安全地管理它们的配置。因此,设备102-102n将仅在它可以核实证书是由受信任的根授权机构签名的时候才接受证书,并且只能经由安全管理设备106对设备的配置进行改变。

存在对采用受限设备的系统维持设备周围的安全通信的需求。

附图说明

当结合以下附图(并且其中相同的附图标记表示相同的元件)并考虑以下描述,将更容易理解实施例,其中:

图1是示出现有技术系统的一个示例的框图;

图2是示出根据本公开中阐述的一个示例的系统的一个示例的框图;

图3是示出根据本公开中阐述的一个示例的、用于受限设备之间的安全通信的方法的一个示例的流程图;

图4是示出根据本公开中阐述的一个示例的、用于受限设备之间的安全通信的方法的一个示例的流程图;

图5是示出根据本公开中阐述的一个示例的、以用于多个受限设备的数字证书或令牌的形式的发布的密码通信的权利的一个示例的图;

图6是示出根据本公开中阐述的一个示例的授权服务器的一个示例的框图;以及

图7是示出根据本公开中阐述的一个示例的受限设备的一个示例的框图。

具体实施方式

一般而言,诸如授权服务器的装置和用于受限设备之间的安全通信的方法在多个受限设备之间发布密码通信的权利。多个受限设备中的每一个包括对于每个密码功能不多于一个密码算法代码模块。该方法包括响应于密码算法更新请求,接收与多个受限设备中的至少第一受限设备相关联的密码通信的权利请求,并且包括提供响应,该响应包括多个受限设备中具有与识别出的第一受限设备密码通信的权利的该多个受限设备中的子集的标识。然后软件更新服务器更新多个受限设备的子集中的密码代码模块。

在一个示例中,装置和方法还可以通过基于由授权服务器授权的授权通信权利来确定多个受限设备中哪一些具有与识别出的第一受限设备密码通信的权利来提供响应,该响应包括多个受限设备中具有密码通信的权利的子集的标识。

该方法还可以包括响应于密码算法更新请求,由软件更新服务器向具有与多个受限设备中识别出第一受限设备共同的密码通信的权利的多个受限设备中的子集供应替换密码代码模块,其中替换密码代码模块包括以下至少一个:数据加密代码模块、密钥加密代码模块、数据签名代码模块、密钥协商代码模块和数据摘要代码模块。数据摘要代码模块可以例如执行本领域已知的sha-1或sha-2密码操作,或本领域已知的任何其它合适的数据摘要操作。

装置和方法还可以通过向多个受限设备发布基于非对称密钥的配置证书或基于对称密钥的票证来在多个受限设备之间发布密码通信的权利,其中配置证书向多个受限设备中的每一个分配通信权,以允许多个受限设备在多个受限设备之间以密码方式交换信息。

图2示出了包括通过网络(诸如互联网104或任何其它一个或多个合适的通信网络)相互通信的授权服务器202、网络管理设备204(诸如服务器)、软件更新服务器206及受限设备209-210的系统200的一个示例。如果期望,那么可以采用如图所示并且如本领域中已知的网关。授权服务器202可以包括安全管理设备106(图1)的功能和/或还可以包括如本文所述的附加逻辑。在这个示例中,授权服务器202还包括类似于数据库114的数据库214,除了附加信息可以被结合为数字证书(诸如多个受限设备之间的密码通信的权利)。例如,证书可以指示受限设备209可以与网络中其它指定的受限设备210或不受限的设备(未示出)进行通信。每个受限设备209-210具有指示其密码通信的权利的对应证书或令牌。

例如,密码通信的权利指示特定设备可以采用哪些密码功能。不同的密码功能可以包括(作为示例而不是限制)数据加密功能、密钥加密功能、数据签名功能、密钥协商功能和数据摘要功能。所存储的与每个密码功能对应的软件模块在本文被称为密码代码模块。可以针对每个密码功能在每个受限设备中存储单个密码代码模块。因此,多个受限设备209-210中的每一个包括对于每个密码功能不多于一个密码算法代码模块。该功能可以采用任何合适的密码格式(诸如椭圆曲线密码(ecc)、rsa或任何其它合适的格式)。设备209和210是受限的,使得它们不为每个密码功能存储多于单个密码算法代码模块。

数据库214可以是存储在任何合适的存储器(诸如dram、rom、ram或存储数字信息的任何其它合适的存储介质)中的任何合适的分布式数据库或本地数据库。授权服务器202检查被允许相互进行通信的所有受限设备都用兼容的密码算法和对应的密钥进行编程。如果出于各种原因(诸如算法对于特定应用不再足够强大或者出于任何其它原因)必须更新特定的密码算法,那么网络管理设备可以暂停受限设备209-210的子集,并且软件更新服务器可以更新它们相应的密码算法和密钥,然后网络管理设备可以解除暂停。以这种方式,所有通信方都可以确保它们始终具有兼容的密码算法和密钥。

还参考图3和图5,如方框302中所示,用于受限设备之间的安全通信的方法包括由授权服务器202在多个受限设备209-210之间发布密码通信的权利(诸如证书或票证或其它密码令牌),其中多个受限设备中的每一个包括对于每个密码功能不多于一个密码算法代码模块。用于受限设备209的证书的示例被示为证书500,其中该证书包括表示密码通信的权利(示出了受限设备a被授权与受限设备b以及不受限设备1进行通信)的数据。在这个示例中,密码通信的权利500还包括设备a的认证公钥以及设备a能够使用的密码算法的标识符。类似地,为其它受限设备(诸如设备b、设备d、设备g和设备h)(为了简化的目的,这些设备未在图2中示出)提供密码通信的权利502、504、506和508。因此,在这个示例中,授权服务器202发布由授权服务器或其它根认证者签名的公钥证书,该公钥证书表示主体(subject)受限设备的公钥和其能力。在这种情况下,主体是向其发布了证书的受限设备的标识符。客体(object)(诸如主体被允许与其通信的其它设备,并且如果期望的话,主体被允许对客体执行动作)。虽然这个示例采用公钥密码技术,但是如果期望的话也可以采用对称密钥技术。

密码通信的权利也可以被表示为具有许可的证书,其中证书识别客体并且许可识别主体以及主体被允许执行的动作。受限设备可以通过名称(诸如dns名)或地址(诸如ipv6地址)或者任何其它合适的标识符来识别。授权服务器202证明所分配的权利并且因此知道哪些受限设备(以及不受限设备,如果它们在网络中的话)被允许在网络中相互交谈。然后授权服务器202能够识别,如果任何身份替换其密码算法代码模块,哪条密码通信链路将会被破坏。

在图5中所示的示例中,由授权服务器202通过查看基于包括在任何证书中的主体(设备id)的每个证书来确定密码通信的权利链。举例而言,设备a被授权与设备b进行密码通信(意味着它们都具有用于相应密码功能的相同密码模块),并且设备b被授权与受限设备d、g和h进行密码通信,并且受限设备d、g和h各自被授权与受限设备a进行通信。因此,必须更新用于设备a的密码代码模块将需要更新驻留在受限设备b、d、g和h中的、从密码的角度来看用于让这些设备相互正确通信的相同密码代码模块。因此,授权服务器202利用用于基于受限设备的密码通信的权利来识别不兼容的密码算法供应的方法。如上面所指出的,为了最小化存储密码代码所需的存储器的量,每个密码代码模块为每个密钥使用或每个密码功能实现不多于一个算法。也被称为密码功能的密钥使用包括但不限于如上面所指出的数据加密、密钥加密、数据签名生成、密钥协商和数据摘要。

回来参考图3,如方框304中所示的方法包括由授权服务器202接收密码通信的权利请求220,密码通信的权利请求220查找需要共同的密码模块进行通信的受限设备的列表。在这个示例中,网络管理设备204发送请求220。如所指出的,这个请求220请求授权服务器202提供受对密码代码模块的必要的更新影响的设备的列表。密码算法更新请求222可以被用于发起密码代码模块更新(即,软件更新)。这个密码算法更新请求222可以由软件更新服务器或网络管理设备204接收。举例来说,更新请求222可以通过需要提高的安全级别(并且因此密钥尺寸的升级)或区分密码算法(诸如rsa到椭圆曲线算法)的管理员终端而到达。密码算法更新请求222也可以如期望地根据另一个服务器或另一个处理自动生成。因此,作为一个示例,可以由软件更新服务器响应于软件更新服务器接收到密码算法更新请求而进行密码通信的权利请求的发布。同样,作为另一个示例,可以由网络管理设备响应于网络管理设备接收到密码算法更新请求而进行密码通信的权利请求的发布。

如方框306中所示,该方法包括由授权服务器202提供响应224,该响应224包括多个受限设备中具有与这多个受限设备中识别出的第一受限设备共同的密码通信的权利的子集的标识。例如,如果第一设备是设备a,那么来自授权服务器202的响应224将发送针对设备a的响应,该响应列出通过使用相同的密码代码模块而使得设备a具有与其通信的密码通信的权利的其它受限设备和不受限设备。在这个示例中,它将包括设备b、设备d、设备g和设备h(参见图5)。这个设备列表可以是例如作为到网络管理设备的响应224的一部分的设备id的列表。这在方框306中示出。

参考图2和图4,在两个图中都示出了所描述的通信。一旦具有设备列表224的响应被发送到网络管理设备204,网络管理设备204就可以向软件更新服务器206发送命令400,该命令指示软件更新服务器206更新设备列表中列出的每个受限设备中的相应密码代码模块。然后,软件更新服务器206将密码代码模块供应(由通信402示出)给设备列表中列出的每个受限设备。这些受限设备是网络中受限设备的总数的子集。如前面所指出的,这可以包括暂停这些设备直到软件更新完成,并且随后允许受限设备在网络中重新确定(reassert)它们自己。可以通过来自网络管理设备的命令来将设备置于“静音”模式,在这种模式下,设备既不发起也不接受来自网络管理设备以外的设备的消息。将认识到,本文描述的操作可以取决于网络的期望的拓扑而适当地分布在网络中的各种设备之间。

图4中还示出了示出可能在受限设备与软件更新服务器之间周期性地发生的操作的虚线404和406。受限设备可以向软件更新服务器发起软件更新请求404并且,如果网络管理设备204已经向软件更新服务器206发送指示软件更新服务器206更新相应密码代码模块的命令400,那么软件更新服务器可以随后向发出请求的设备发送具有新密码代码模块的响应406。

再次参考图5,响应224包括多个受限设备中具有共同的密码通信的权利的子集的标识。该方法包括基于由授权服务器授权的授权通信权利来确定多个受限设备中的哪一些具有与识别出的第一受限设备共同的密码通信的权利。这是通过例如如图5中所示的评估识别共同的受限设备的证书链来进行的,。用于密钥证书的标准格式的示例包括x.509、pgp、pem、pki、pkcs#7、publickeylnfo和sha-1以及本领域中已知的其它合适格式。

例如,如上面所指出的,该方法还包括由软件更新服务器响应于密码算法更新请求222而供应替换密码代码模块,以使得该供应是针对多个受限设备中具有与这多个受限设备中识别出的第一受限设备共同的密码通信的权利的子集。

在一个示例中,授权服务器通过向多个受限设备发布基于非对称密钥的配置证书或基于对称密钥的票证来发布多个受限设备之间的密码通信的权利(证书、票证或其它令牌)。配置证书或对称密钥票证将通信权利分配给多个受限设备中的每一个,以允许多个受限设备在这多个受限设备之间以密码方式交换信息,并该信息由授权服务器进行密码签名。

图6示出了授权服务器202的框图,该授权服务器202可以包括逻辑,诸如一个或多个处理器600(诸如cpu、dsp或者任何其它合适的一个或多个处理器)以及可以由处理器600通过如本领域中已知的任何合适的总线结构604访问的存储器602。存储器602可以是任何合适的存储器,包括通过网络分布的存储器和/或以ram、dram、rom、eprom或任何其它合适的存储器的形式的本地存储器。在这个示例中,存储器602包含在被执行时使得处理器600执行本文描述的操作的指令。处理器600被用作在执行所存储的代码时可被操作为执行功能的逻辑。该逻辑还可以以任何其它合适的方式来实现,诸如专用集成电路、状态机或者硬件和所存储的软件的任何适当组合。如本领域中已知的,授权服务器还包括合适的接口606,以提供到网络的接口、用户接口或授权服务器所需的任何其它合适的接口。如本领域中已知的,软件更新服务器和网络管理服务器可以包括一个或多个处理器、存储器和接口,以相互通信。但是,将认识到的是,由每个服务器执行的功能可以根据期望在一个或多个服务器上组合或者在一个或多个服务器之间分布。

图7示出了受限设备202的框图,该受限设备包括控制器700(诸如微处理器、状态机、数字信号处理器或任何其它合适的逻辑)、与其它受限设备进行通信的射频收发器702,并且在这个示例中还包括向控制器提供传感器信息706的传感器704(诸如温度传感器、压力传感器或者其它传感器),然后控制器可以根据期望并且如本领域中已知的那样通过rf收发器向网络提供信息。如果期望,那么密码引擎708可以是控制器700的一部分或者是控制器700自身的硬件,并执行受限设备所需的密码操作(诸如本文描述的密码功能)。这个示例中的密码引擎执行存储在存储器710中的密码代码模块并且是可编程处理器。但是,如上面所指出的,也可以采用任何合适的逻辑。例如,代码更新器712(作为在控制器700上的执行软件)利用供应的密码代码模块改变或覆写当前的密码代码模块,以更新受限设备上的密码代码模块。可以采用任何合适的软件更新应用或操作。

除了其它优点之外,还可以识别需要共同的密码模块软件更新的受限设备的子集。受限设备可以是具有单个密码功能操作的低成本设备,以改进网络成本。系统有效地检查被允许相互通信的所有设备都用兼容的密码算法和密钥进行编程。当从受限设备中弃用特定的密码算法时,授权服务器暂停网络中导致密码算法和密钥的子集更新的受限设备的子集,然后解除暂停。以这种方式,授权服务器可以确保所有通信方始终都具有兼容的密码算法和密钥。

本发明的以上详细描述和其中描述的示例仅仅是为了说明和描述的目的而给出的,而不是限制。因此,可以设想,本发明覆盖落入上面公开以及在本文要求保护的基本底层原理的精神和范围内的任何和全部修改、变化或等同物。

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