首页 / 专利库 / 电脑编程 / 计算机程序 / 在物联网(IOT)的网络上建立安全通信

物联网(IOT)的网络上建立安全通信

阅读:298发布:2024-01-17

专利汇可以提供物联网(IOT)的网络上建立安全通信专利检索,专利查询,专利分析的服务。并且一种方法,包括由在网络中实现的至少一个主机实体执行:接收由密钥 服务器 生成的加密密钥和与所述加密密钥相关联的密钥标识符;生成标头,所述标头包括与要被保护的信息相关联的信息标识符、与密钥服务器对应的设备标识符和与加密密钥相关联的密钥标识符;使用所述加密密钥对所述信息进行加密,并将标头与该经加密的信息相关联,将所述经加密的信息和与所述经加密的信息相关联标头发送至接收用实体,并将授权信息、所述密钥标识符和所述标头发送至密钥服务器。此外,响应于对接收用实体被授权 访问 经加密的信息的确定,该接收用实体使用从密钥服务器接收的解密密钥对经加密的信息进行解密。,下面是物联网(IOT)的网络上建立安全通信专利的具体信息内容。

1.一种方法,所述方法包括:
由在网络中实现的一个或多个主机实体中的至少一个主机实体的一个或多个处理器执行:
存储多个设备标识符,每个设备标识符与连接在所述网络中的多个设备中的一个设备相对应,以允许所述多个设备之间的访问并且允许在所述多个设备之间共享信息,所述多个设备包括所述一个或多个主机实体、一个或多个客户实体以及一个或多个密钥服务器
存储所述多个设备中的一个或多个设备之间的关联,所述关联被表示为与在所述网络中通过通信链路连接的所述一个或多个设备相对应的设备标识符的配对
响应于由所述至少一个主机实体向从所述一个或多个密钥服务器选择的密钥服务器进行的加密密钥请求,接收由所述密钥服务器生成的加密密钥和与所述加密密钥相关联的密钥标识符;生成标头,所述标头包括:与要被保护的信息相关联的信息标识符、与所述密钥服务器相对应的所述设备标识符、以及与所述加密密钥相关联的所述密钥标识符;
使用所述加密密钥对所述信息进行加密并将所述标头与经加密的信息相关联;
将所述经加密的信息和相关联的所述标头发送至至少一个接收用实体,所述至少一个接收用实体选自所述一个或多个主机实体和通过通信链路连接至所述至少一个主机实体的所述一个或多个客户实体;以及
将授权信息、所述密钥标识符和所述标头发送至所述密钥服务器,所述授权信息指示被授权访问所述信息的一组接收用实体。
2.根据权利要求1所述的方法,其中,在从所述至少一个主机实体接收到所述加密密钥请求时,所述密钥服务器生成包括所述加密密钥和解密密钥的密钥对、将所述密钥标识符分配给所述加密密钥并将所述加密密钥和所述密钥标识符发送至所述至少一个主机实体。
3.根据权利要求1所述的方法,其中,在将所述授权信息、所述密钥标识符和所述标头发送至所述密钥服务器时,所述密钥服务器将所述授权信息、所述至少一个主机实体的所述设备标识符和所述标头作为记录存储在数据库中。
4.根据权利要求3所述的方法,其中,在将所述经加密的信息和相关联的所述标头发送至所述至少一个接收用实体时,所述至少一个接收用实体:
从所述标头提取所述密钥标识符和与所述密钥服务器相对应的所述设备标识符;
通过将所述密钥标识符发送至所述密钥服务器来向所述密钥服务器请求解密密钥;
响应于对所述至少一个接收用实体被授权访问所述经加密的信息的确定,从所述密钥服务器接收所述解密密钥;以及
使用所接收到的所述解密密钥对所述经加密的信息进行解密。
5.根据权利要求4所述的方法,其中,对所述至少一个接收用实体被授权访问所述信息的所述确定是通过对与所述密钥标识符相对应的记录进行匹配并验证来自与经匹配的记录相关联的授权信息的授权来执行的。
6.根据权利要求1所述的方法,其中,所述授权信息还授权所述一个或多个客户实体中的至少一个客户实体向所述至少一个主机实体发送信息。
7.根据权利要求6所述的方法,其中,所述至少一个客户实体在从所述至少一个主机实体接收到控制消息时发送所述信息。
8.根据权利要求1所述的方法,其中,所述授权信息呈矩阵的形式,所述矩阵包括被授权访问所述信息的所述一组接收用实体中的每个接收用实体的设备标识符。
9.根据权利要求8所述的方法,其中,所述矩阵还包括附条件授权信息,所述附条件授权信息包括:就所述一组接收用实体中的每个接收用实体能够做出所述请求的次数而言的阈值以及所述一组接收用实体中的每个接收用实体能够做出所述请求的时间段。
10.根据权利要求9所述的方法,其中,基于对所述附条件授权信息进行的验证,所述至少一个接收用实体接收解密密钥。
11.根据权利要求2所述的方法,其中,所述密钥对使用非对称密钥方案或对称密钥方案中的任意者来生成。
12.根据权利要求1所述的方法,其中,所述一个或多个客户实体选自位置传感器、运动传感器、定位传感器、环境传感器或电光执行器。
13.一种系统,所述系统包括:
在网络中实现的一个或多个主机实体中的至少一个主机实体的一个或多个处理器;以及
存储器,所述存储器耦接至所述一个或多个处理器,并且包括在所述存储器中收录的计算机可读程序代码,所述计算机可读程序代码能够由所述一个或多个处理器中的至少一个处理器实施从而执行:
存储多个设备标识符,每个设备标识符与连接在所述网络中的多个设备中的一个设备相对应,以允许所述多个设备之间的访问并且在所述多个设备之间共享信息,所述多个设备包括所述一个或多个主机实体、一个或多个客户实体和一个或多个密钥服务器;
存储所述多个设备中的一个或多个设备之间的关联,所述关联被表示为与在所述网络中通过通信链路连接的所述一个或多个设备相对应的设备标识符的配对;
响应于由所述至少一个主机实体向从所述一个或多个密钥服务器选择的密钥服务器进行的加密密钥请求,接收由所述密钥服务器生成的加密密钥和与所述加密密钥相关联的密钥标识符;
生成标头,所述标头包括:与要被保护的信息相关联的信息标识符、与所述密钥服务器相对应的所述设备标识符、以及与所述加密密钥相关联的所述密钥标识符;
使用所述加密密钥对所述信息进行加密并将所述标头与经加密的信息相关联;
将所述经加密的信息和相关联的所述标头发送至至少一个接收用实体,所述至少一个接收用实体选自所述一个或多个主机实体和通过通信链路连接至所述至少一个主机实体的所述一个或多个客户实体;以及
将授权信息、所述密钥标识符和所述标头发送至所述密钥服务器,所述授权信息指示被授权访问所述信息的一组接收用实体。
14.根据权利要求13所述的系统,其中,在从所述至少一个主机实体接收到所述加密密钥请求时,所述密钥服务器生成包括所述加密密钥和解密密钥的密钥对、将所述密钥标识符分配给所述加密密钥并将所述加密密钥和所述密钥标识符发送至所述至少一个主机实体。
15.根据权利要求13所述的系统,其中,在将所述授权信息、所述密钥标识符和所述标头发送至所述密钥服务器时,所述密钥服务器将所述授权信息、所述至少一个主机实体的所述设备标识符和所述标头作为记录存储在数据库中。
16.根据权利要求15所述的系统,其中,在将所述经加密的信息和相关联的所述标头发送至所述至少一个接收用实体时,所述至少一个接收用实体:
从所述标头提取所述密钥标识符和与所述密钥服务器相对应的所述设备标识符;
通过将所述密钥标识符发送至所述密钥服务器来向所述密钥服务器请求解密密钥;
响应于对所述至少一个接收用实体被授权访问所述经加密的信息的确定,从所述密钥服务器接收所述解密密钥;以及
使用所接收到的所述解密密钥对所述经加密的信息进行解密。
17.根据权利要求16所述的系统,其中,对所述至少一个接收用实体被授权访问所述信息的所述确定是通过对与所述密钥标识符相对应的记录进行匹配并验证来自与经匹配的记录相关联的授权信息的授权来执行的。
18.根据权利要求13所述的系统,其中,所述授权信息呈矩阵的形式,所述矩阵包括被授权访问所述信息的所述一组接收用实体中的每个接收用实体的设备标识符。
19.根据权利要求18所述的系统,其中,所述矩阵还包括附条件授权信息,所述附条件授权信息包括就所述一组接收用实体中的每个接收用实体能够做出所述请求的次数而言的阈值以及所述一组接收用实体中的每个接收用实体能够做出所述请求的时间段。
20.一种计算机程序产品,所述计算机程序产品包括:
非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质包括在所述介质中收录的计算机可读程序代码,所述计算机可读程序代码能够由在网络中实现的一个或多个主机实体中的至少一个主机实体的一个或多个处理器实施从而执行:
存储多个设备标识符,每个设备标识符与连接在所述网络中的多个设备中的一个设备相对应,以允许所述多个设备之间的访问并且在所述多个设备之间共享信息,所述多个设备包括所述一个或多个主机实体、一个或多个客户实体以及一个或多个密钥服务器;
存储所述多个设备中的一个或多个设备之间的关联,所述关联被表示为与在所述网络中通过通信链路连接的所述一个或多个设备相对应的设备标识符的配对;
响应于由所述至少一个主机实体向从所述一个或多个密钥服务器选择的密钥服务器进行加密密钥请求,接收由所述密钥服务器生成的加密密钥和与所述加密密钥相关联的密钥标识符;
生成标头,所述标头包括:与要被保护的信息相关联的信息标识符、与所述密钥服务器相对应的所述设备标识符、以及与所述加密密钥相关联的所述密钥标识符;
使用所述加密密钥对所述信息进行加密并将所述标头与经加密的信息相关联;
将所述经加密的信息和相关联的所述标头发送至至少一个接收用实体,所述至少一个接收用实体选自所述一个或多个主机实体和通过通信链路连接至所述至少一个主机实体的所述一个或多个客户实体;以及
将授权信息、所述密钥标识符和所述标头发送至密钥服务器,所述授权信息指示被授权访问所述信息的一组接收用实体。

说明书全文

物联网(IOT)的网络上建立安全通信

技术领域

[0001] 本公开总体上涉及通信系统,更具体地,本公开提供用于在物联网(IoT)的网络上建立安全通信的方法、系统和计算机程序产品。

背景技术

[0002] 在物联网(IoT)网络中,各种电子设备和计算用设备相互连接并能够彼此之间相互通信。使用物联网网络实现的大量此类设备被设计为可在没有直接人工干预的情况下远程地和/或自主地运行。物联网领域的进步极大地提高了各种设备之间的数据交换速率,从而使物联网网络的安全性成为重要的考虑因素。安全性可以与防止可能将病毒、蠕虫和其他恶意数据注入IoT网络的未经授权的访问相关。
[0003] 与使用Internet嵌入的IoT网络相关的安全问题非常具有挑战性。包含服务器、移动平台和远程传感器的IoT设备的松散连接的网络通常无法获得企业级防火墙保护,因此容易受到恶意攻击。此外,诸如传感器或执行器的简单的低成本计算用设备不能处理提供在更复杂的计算机网络中实现的提供数据发送保护的复杂的通信协议。此外,远程无人值守的设备会遭受网络钓鱼、物理攻击以禁用或替换或被黑客攻击。
[0004] 因此,在本领域中需要在IoT网络中实现的各种设备之间提供有效且更安全的通信技术。发明内容
[0005] 本公开的实施方式提供了用于在物联网(IoT)的网络上建立安全通信的方法、系统和计算机程序产品。
[0006] 根据本公开的一方面,一种方法包括:由在网络中实现的一个或多个主机实体中的至少一个主机实体的至少一个或多个处理器执行以下操作:存储多个设备标识符,每个设备标识符与连接在网络中的多个设备相对应,以允许多个设备之间的访问并且在多个设备之间共享信息,所述多个设备包括一个或多个主机实体、一个或多个客户实体以及一个或多个密钥服务器;存储该多个设备中的一个或多个设备之间的关联,该关联被表示为与在网络中的通过通信链路连接的一个或多个设备相对应的设备标识符的配对;响应于所述至少一个主机实体向从一个或多个密钥服务器选择的密钥服务器进行的加密密钥请求,接收由密钥服务器生成的加密密钥和与所述加密密钥相关联的密钥标识符;生成标头,所述标头包括:与要被保护的信息相关联的信息标识符、与密钥服务器对应的设备标识符、以及与加密密钥相关联的密钥标识符;使用所述加密密钥对所述信息进行加密,并将标头与经加密的信息相关联;将所述经加密的信息和相关联的标头发送至至少一个接收用实体,所述至少一个接收用实体选自一个或多个主机实体和通过通信链路连接到至少一个主机实体的一个或多个客户实体;以及将指示被授权访问该信息的一组接收用实体的授权信息、所述密钥标识符和所述标头发送至密钥服务器。
[0007] 在一个实施方式中,在从至少一个主机实体接收到加密密钥请求时,密钥服务器生成包括加密密钥和解密密钥的密钥对、将密钥标识符分配给加密密钥并将所述加密密钥和所述密钥标识符发送至至少一个主机实体。
[0008] 在一个实施方式中,在将所述授权信息、所述密钥标识符和所述标头发送至密钥服务器时,密钥服务器将授权信息、至少一个主机实体的设备标识符和标头作为记录存储在数据库中。
[0009] 在一个实施方式中,在将所述经加密的信息和与所述经加密的信息相关联的标头发送至至少一个接收用实体时,所述至少一个接收用实体:从所述标头中提取所述密钥标识符和与所述密钥服务器相对应的设备标识符;通过将密钥标识符发送至所述密钥服务器,向密钥服务器请求解密密钥;响应于对至少一个接收用实体被授权访问经加密的信息的确定,而从密钥服务器接收解密密钥;并使用所接收到的解密密钥对经加密的信息进行解密。
[0010] 在一个实施方式中,密钥服务器通过对与密钥标识符相对应的记录进行匹配并验证来自与经匹配的记录相关联的授权信息的授权来执行对至少一个接收用实体被授权访问信息的确定。
[0011] 在一个实施方式中,授权信息还授权一个或多个客户实体中的至少一个客户实体向至少一个主机实体发送信息。至少一个客户实体在从至少一个主机实体接收到控制消息时发送信息。
[0012] 在一个实施方式中,授权信息是呈矩阵的形式,该矩阵包括被授权访问该信息的一组接收用实体中的每个接收用实体的设备标识符。
[0013] 在一个实施方式中,矩阵还包括附条件授权信息,该附条件授权信息包括:一组接收用实体中的每个接收用实体可以做出请求的时间段以及一组接收用实体中的每个接收用实体可以做出请求的次数的阈值
[0014] 在一个实施方式中,基于对附条件授权信息进行的验证,至少一个接收用实体接收解密密钥。
[0015] 在一个实施方式中,使用非对称密钥方案或对称密钥方案中的任何一者来生成密钥对。
[0016] 在一个实施方式中,一个或多个客户实体选自位置传感器、运动传感器、定位传感器、环境传感器或电光执行器。
[0017] 根据本公开的另一方面,一种系统包括:在网络中实现的一个或多个主机实体中的至少一个主机实体的一个或多个处理器;以及与所述一个或多个处理器耦接的存储器,并包括在所述存储器中收录的计算机可读程序代码,所述计算机可读程序代码可由处理器实施,以执行以下操作:存储多个设备标识符,每个设备标识符与连接在网络中的多个设备中的一个设备相对应,以允许多个设备之间的访问并且在多个设备之间共享信息,所述多个设备包括一个或多个主机实体、一个或多个客户实体以及一个或多个密钥服务器;存储该多个设备中的一个或多个设备之间的关联,该关联被表示为:与在网络中的通过通信链路连接的一个或多个设备相对应的设备标识符的配对;响应于至少一个主机实体向从一个或多个密钥服务器中选择的密钥服务器请求加密密钥,接收由密钥服务器生成的加密密钥和与所述加密密钥相关联的密钥标识符;生成标头,所述标头包括:与要被保护的信息相关联的信息标识符、与密钥服务器对应的设备标识符、以及与加密密钥相关联的密钥标识符;使用所述加密密钥对所述信息进行加密,并将标头与经加密的信息相关联;将所述经加密的信息和相关联的标头发送至至少一个接收用实体,所述至少一个接收用实体选自一个或多个主机实体和通过通信链路连接到至少一个主机实体的一个或多个客户实体;将指示被授权访问该信息的一组接收用实体的授权信息、所述密钥标识符和所述标头的发送至密钥服务器。
[0018] 根据本公开的又一方面,一种计算机程序产品,所述计算机程序产品包括非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质包括在该介质中收录的计算机可读程序代码,所述计算机可读程序代码可由在网络中实现的一个或多个主机实体中的至少一个主机实体的一个或多个处理器实施,以执行以下操作:存储多个设备标识符,每个设备标识符与连接在网络中的多个设备中的一个设备相对应,以允许多个设备之间的访问并在多个设备之间共享信息,所述多个设备包括一个或多个主机实体、一个或多个客户实体以及一个或多个密钥服务器;存储该多个设备中的一个或多个设备之间的关联,该关联被表示为:与在网络中的通过通信链路连接的一个或多个设备相对应的设备标识符的配对;响应于至少一个主机实体向从一个或多个密钥服务器中选择的密钥服务器请求加密密钥,接收由密钥服务器生成的加密密钥和与所述加密密钥相关联的密钥标识符;生成标头,所述标头包括:与要被保护的信息相关联的信息标识符、与密钥服务器对应的设备标识符、以及与加密密钥相关联的密钥标识符;使用所述加密密钥对所述信息进行加密,并将标头与经加密的信息相关联;将所述经加密的信息和相关联的标头发送至至少一个接收用实体,所述至少一个接收用实体选自一个或多个主机实体和通过通信链路连接到至少一个主机实体的一个或多个客户实体;将指示被授权访问该信息的一组接收用实体的授权信息、所述密钥标识符和所述标头发送至密钥服务器。
[0019] 通过以下对优选实施方式的详细描述以及附图,本发明主题的各种目的、特征、方面和优点将变得更加显而易见,在附图中,相同的附图标记表示相同的部件。

附图说明

[0020] 在附图中,相似的部件和/或特征可以具有相同的附图标记。此外,可以通过在参考标签之后加上第二标签来区分相同类型的各种部件,该第二标签在相似部件之间进行区分。如果在说明书中仅使用第一参考标签,则该描述适用于具有相同的第一参考标签的任何类似部件中的任何一者,而与第二参考标签无关。
[0021] 图1示出了根据本公开的实施方式的理想IoT网络的示例性体系结构。
[0022] 图2示出了根据本公开的实施方式的IoT网络的示例性分层拓扑。
[0023] 图3是示出根据本发明的实施方式的使得能够在IoT网络内进行安全通信的系统的功能单元的模图。
[0024] 图4A示出了根据本公开的实施方式的由主机实体生成的示例性标头。
[0025] 图4B示出了根据本公开的实施方式的存储在密钥服务器的数据库中的示例性密钥记录。
[0026] 图5A-图5B示出了根据本公开的实施方式的实现系统的网络体系结构的示例。
[0027] 图6是示出根据本公开的实施方式的在主机实体处的信息加密的流程图
[0028] 图7是示出根据本公开的实施方式的在接收用实体处的信息解密的流程图。
[0029] 图8是示出根据本公开的实施方式的从客户实体到控制用主机实体的信息发送的流程图。

具体实施方式

[0030] 在以下描述中,阐述了许多具体细节以便提供对本发明的实施方式的透彻理解。对于本领域技术人员将显而易见的是,可以在没有这些具体细节中的一些的情况下实践本发明的实施方式。
[0031] 本发明的实施方式包括各种步骤,这些步骤将在下面进行描述。这些步骤可以由硬件部件执行,或者可以体现在机器可执行指令中,该机器可执行指令可以用于使得用指令进行编程的通用处理器或专用处理器来执行这些步骤。可替代地,可以通过硬件、软件固件的组合和/或由人类操作员来执行步骤。
[0032] 本发明的实施方式可以被提供为计算机程序产品,其可以包括在其上有形地体现指令的机器可读存储介质,该指令可以用于对计算机(或其他电子设备)进行编程以执行处理。机器可读介质可以包括但不限于固定(硬盘)驱动器、磁带、软盘、光盘、光盘只读存储器(CD-ROM)和磁光盘、半导体存储器、例如ROM、PROM、随机存取存储器(RAM)、可编程只读存储器(PROM)、可擦PROM(EPROM)、电可擦PROM(EEPROM)、闪存、磁卡或光卡或其他类型的适用于存储电子指令(例如计算机程序代码,例如软件或固件)的媒体/机器可读介质。
[0033] 通过将包含根据本发明的代码的一种或多种机器可读存储介质与适当的标准计算机硬件组合以执行机器可读存储介质中所包含的代码,可以实践本文描述的各种方法。用于实施本发明的各种实施方式的设备可以包括一个或多个计算机(或单个计算机内的一个或多个处理器)和存储系统,该存储系统包含或具有访问根据本文所述的各种方法编码的计算机程序的网络,本发明的方法步骤可以通过计算机程序产品的模块、例程、子例程或子部分来实现。
[0034] 如果规范指出部件或特征“可以”、“能够”、“能”或“可能”被包括或具有特性,则不需要包括该特定部件或特征或该特定部件或特征不需要具有该特性。
[0035] 除非上下文另外明确指出,如本文的说明书和随后的整个权利要求书中所使用的“一”、“一种”和“所述”的含义包括复数引用。而且,除非上下文另外明确指出,如本文的说明书中所使用的,“在…...中”的含义包括“在…...内“和“在…...上”。
[0036] 现在将在下文中参考附图更完整地描述示例性实施方式,在附图中示出了示例性实施方式。然而,本发明可以以许多不同的形式来实施,并且不应被解释为限于在此阐述的实施方式。提供这些实施方式是为了使本发明更加彻底和完整,并将本发明的范围充分传达给本领域的普通技术人员。此外,本文中引用本发明的实施方式的所有陈述及其具体示例旨在涵盖其结构和功能上的等同物。另外,旨在这样的等同物包括当前已知的等同物以及将来开发的等同物(即,开发的执行相同功能(而不管结构如何)的任何元件)。
[0037] 尽管已经图示和描述了本发明的实施方式,但是将清楚的是,本发明不仅限于这些实施方式。在不脱离如权利要求中所描述的本发明的精神和范围的情况下,许多修改、改变、变化、替换和等同物对于本领域技术人员将是显而易见的。
[0038] 本公开的实施方式提供用于在物联网(IoT)网络上建立安全通信的方法、系统和计算机程序产品。
[0039] 根据本公开的一方面,一种方法包括由网络中实现的一个或多个主机实体中的至少一个主机实体的一个或多个处理器执行以下操作:存储多个设备标识符,每个设备标识符对应于在网络中连接的以允许多个设备之间的访问并在多个设备之间共享信息的多个设备的其中一个,所述多个设备包括一个或多个主机实体、一个或多个客户实体和一个或多个密钥服务器;存储该多个设备中的一个或多个设备之间的关联,该关联被表示为与通过网络中的通信链路连接的一个或多个设备相对应的设备标识符的配对;响应于至少一个主机实体对从一个或多个密钥服务器中选择的密钥服务器的加密密钥请求,接收由密钥服务器生成的加密密钥和与所述加密密钥相关联的密钥标识符;生成包括与要被保护信息相关联的信息标识符、与密钥服务器对应的设备标识符以及与加密密钥相关联的密钥标识符的标头;使用所述加密密钥对所述信息进行加密,并将标头与经加密的信息相关联;向至少一个接收用实体发送所述经加密的信息和与所述经加密的信息相关联的标头,所述至少一个接收用实体是从一个或多个主机实体以及通过通信链路连接到至少一个主机实体的一个或多个客户实体中选择的;以及将指示一组接收用实体被授权访问该信息的授权信息、所述密钥标识符和所述标头发送至密钥服务器。
[0040] 在一个实施方式中,密钥服务器在从至少一个主机实体接收到加密密钥请求时,生成包括加密密钥和解密密钥的密钥对,将密钥标识符分配给加密密钥,并将所述加密密钥和所述密钥标识符发送至至少一个主机实体。
[0041] 在一个实施方式中,在将所述授权信息、所述密钥标识符和所述标头发送至密钥服务器时,所述密钥服务器将授权信息、至少一个主机实体的设备标识符和标头作为记录存储在数据库中。
[0042] 在一个实施方式中,在将所述经加密的信息和相关联的标头发送至所述至少一个接收用实体时,所述至少一个接收用实体:从所述标头中提取所述密钥标识符和与所述密钥服务器相对应的设备标识符;通过将密钥标识符发送至所述密钥服务器,向所述密钥服务器请求解密密钥;响应于对至少一个接收用实体被授权访问经加密的信息的确定,从密钥服务器接收解密密钥;并使用接收到的解密密钥来解密所述经加密的信息。
[0043] 在一个实施方式中,密钥服务器通过匹配与密钥标识符相对应的记录并验证来自与经匹配的记录相关联的授权信息中的授权来执行对至少一个接收用实体被授权访问信息的确定。
[0044] 在一个实施方式中,授权信息还授权一个或多个客户实体中的至少一个客户实体向该至少一个主机实体发送信息。至少一个客户实体在从至少一个主机实体接收到控制消息时发送信息。
[0045] 在一个实施方式中,授权信息呈矩阵的形式,该矩阵包括被授权访问该信息的一组接收用实体中的每个接收用实体的设备标识符。
[0046] 在一个实施方式中,矩阵还包括附条件授权信息,该附条件授权信息包括一组接收用实体的每个接收用实体可以做出请求的时间段以及一组接收用实体的每个接收用实体可以做出请求的次数的阈值。
[0047] 在一个实施方式中,至少一个接收用实体以对附条件授权信息进行的验证接收解密密钥。
[0048] 在一个实施方式中,使用非对称密钥方案或对称密钥方案中的任何一者来生成密钥对。
[0049] 在一个实施方式中,一个或多个客户实体选自位置传感器、运动传感器、位置传感器、环境传感器或电光执行器。
[0050] 根据本公开的另一方面,一种系统包括在网络中实现的一个或多个主机实体中的至少一个主机实体的一个或多个处理器;以及与所述一个或多个处理器耦接的存储器,并且包括可由处理器实施的在所述存储器中收录的计算机可读程序代码,以执行以下操作:存储多个设备标识符,每个设备标识符对应于网络中连接的多个设备中的一个,以允许多个设备之间的访问并在多个设备之间共享信息,所述多个设备包括一个或多个主机实体、一个或多个客户实体以及一个或多个密钥服务器;存储该多个设备中的一个或多个设备之间的关联,该关联被表示为与通过网络中的通信链路连接的一个或多个设备相对应的设备标识符的配对;响应于至少一个主机实体向从一个或多个密钥服务器选择的密钥服务器进行的加密密钥请求,接收由密钥服务器生成的加密密钥和与所述加密密钥相关联的密钥标识符;生成包括与要被保护信息相关联的信息标识符、与密钥服务器对应的设备标识符以及与该加密密钥相关联的密钥标识符的标头;使用所述加密密钥对所述信息进行加密,并将标头与经加密的信息相关联;向至少一个接收用实体发送所述经加密的信息和相关联的标头,所述至少一个接收用实体是从一个或多个主机实体以及通过通信链路连接到至少一个主机实体的一个或多个客户实体中选择的;以及将指示一组接收用实体被授权访问该信息的授权信息、所述密钥标识符和所述标头的发送至密钥服务器。
[0051] 根据本公开的又一方面,一种计算机程序产品,该计算机程序产品包括非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质包括在该介质中收录的计算机可读程序代码,该计算机可读程序代码可由在网络中实现的一个或多个主机实体的至少一个主机实体的一个或多个处理器实施,以执行以下操作:存储多个设备标识符,每个设备标识符与网络中连接的多个设备中的一个相对应,以允许多个设备之间的访问并在多个设备之间共享信息,所述多个设备包括一个或多个主机实体、一个或多个客户实体以及一个或多个密钥服务器;存储该多个设备中的一个或多个设备之间的关联,该关联被表示为与通过网络中的通信链路连接的一个或多个设备相对应的设备标识符的配对;响应于至少一个主机实体向从一个或多个密钥服务器选择的密钥服务器进行的加密密钥请求,接收由密钥服务器生成的加密密钥和与所述加密密钥相关联的密钥标识符;生成包括与要被保护的信息相关联的信息标识符、与密钥服务器对应的设备标识符以及与加密密钥相关联的密钥标识符的标头;使用所述加密密钥对所述信息进行加密,并将标头与经加密的信息相关联;向至少一个接收用实体发送所述经加密的信息和与所述经加密的信息相关联的标头,所述至少一个接收用实体是从一个或多个主机实体以及通过通信链路连接到至少一个主机实体的一个或多个客户实体中选择的;以及将指示被授权访问该信息的一组接收用实体的授权信息、所述密钥标识符和所述标头发送至密钥服务器。
[0052] 图1示出了根据本公开的实施方式的理想IoT网络的示例性体系结构。
[0053] 参照图1,在IoT网络的示例性体系结构中,可以将诸如移动设备、个人计算机、计算平台、智能物理传感器、智能执行器等的多个电子设备和计算用设备彼此连接。例如,如图所示,计算用设备110至160可以全部彼此连接以形成网络100。网络100可以是独立网络、或者可以形成嵌入在不同类型的网络中的一种类型的网络的一部分,例如内联网、局域网(LAN)、广域网(WAN)、互联网(Internet)等。此外,网络100可以是专用网络或共享网络。共享网络可以表示可以使用各种协议(例如超文本传输协议(HTTP)、传输控制协议/Internet协议(TCP/IP)、无线应用协议(WAP)和类似的协议)的不同类型的网络的关联。
[0054] 本领域技术人员将理解,在N个计算用设备的网络中,允许的连接的最大数量为N(N-1)/2。因此,包括6个设备的网络100最多可具有15个连接。同样,对于包含大量设备的网络,最大连接数可以近似为N﹡N/2。尽管可能的连接数可能比网络中的设备数要多得多,但是,在实际实现中,由于设备通常布置在分层拓扑中,在该分层拓扑中一个或多个主机实体可以控制多个客户实体,因此,网络内的互连数要少得多。
[0055] 图2示出了根据本公开的实施方式的IoT网络的示例性分层拓扑。
[0056] 现在参考图。参照图2,示例性网络200的计算用设备可以被分类为三个类别,即密钥服务器205、210和215,主机实体220、225和230以及客户实体235、240、245、250、255和260。所述类别可以基于在网络200中连接的设备的相应功能。
[0057] 在一个实施方式中,密钥服务器205、210和215可以生成诸如加密密钥和解密密钥之类的安全密钥,并且可以将所述密钥存储在相应的数据库中。密钥服务器205、210和215可以是网络200中的独立安全服务器,安全服务器可以嵌入网络200中的任何设备、网络200外部的远程计算机节点或驻留在设备外部的虚拟机(例如云存储)中。
[0058] 主机实体220、225和230可以是诸如便携式计算机、个人数字助理手持设备、工作站等的计算用设备,其可以具有足够的处理能和存储器,并且可以与用户界面(UI)工作地耦合以允许人类交互。在替代实施方式中,主机实体可以是可以位于云平台中的虚拟机(VM)设备。此外,客户实体235、240、245、250、255和260可以是具有有限计算能力和存储器并且可以被主机实体220、225和230控制的设备。因此,客户实体235、240、245、250,255和260可能不需要UI。
[0059] 在一个实施方式中,客户实体235、240、245、250、255和260能够报告位置。在示例中,来自传感器的位置数据可以与印时戳组合以跟踪客户实体的运动。此外,嵌入式多轴加速度计可以提供有关运动性质的多信息。此外,全球定位系统(GPS)可以提供室外位置,而实时定位系统(RTLS)可以提供实时室内地点/位置。
[0060] 在另一个实施方式中,客户实体235、240、245、250、255和260可以配备有各种各样的环境传感器,以覆盖各种类型的频谱,例如音频、视频、电磁等。此外,来自客户实体235、240、245、250、255和260的数据可以流式发送至主机实体220、225和230进行分析和存储。主机实体220、225和230可以基于对从客户实体235、240、245、250、255和260导出的数据的分析来做出可行的决定。
[0061] 在又一个实施方式中,客户实体235、240、245、250、255和260可以配备有机电执行器或电光执行器,以执行实际的物理动作。例如,在家庭中,所述执行器可以用于控制照明设备、空调和其他器具的开关。在工业单位中,客户实体235、240、245、250、255和260可以是嵌入在多个机器人机器人手臂中的执行器,可以对这些执行器进行控制以最大程度地减少人为操作。
[0062] 在另一个实施方式中,客户实体235、240、245、250、255和260在执行设计的功能一段固定时间后可以是一次性的。例如,在医疗设备中,一次性传感器可用于长期监测或交叉污染险高的情况。此外,客户实体235、240、245、250、255和260可以配置有多个传感器和执行器,以通过单个设备实现多种任务。
[0063] 网络200的设备能够在彼此之间持续地发送信息。可以在最一般的意义上定义该信息,以包括设备之间的控制消息(即计算机指令)以及网络200的常规操作的任何形式的数字化数据。
[0064] 本领域技术人员将理解,密钥服务器205、210和215、主机实体220、225和230以及客户实体235、240、245、250、255和260可以是虚拟化的通用设备,其可以代表广泛的各种计算用设备、传感设备和执行器设备。在一个实施方式中,在不同的配置下,一个设备可以被分类成不同的类型。例如,移动设备可以在一种网络配置中充当主机实体,可以在另一种配置中充当密钥服务器,并且可以在又一种配置中充当客户实体。此外,在另一个实施方式中,可以将多个功能组合在单个设备中。例如,计算用设备可以用作集成的密钥服务器和主机实体。此外,本公开的实施方式提供了灵活性,以允许网络200在其工作寿命期间对其自身进行重新配置,使得用于建立安全通信的技术可以适应于不同的网络配置。
[0065] 根据一个实施方式,在实际的实现中,网络200中的连接数量将远小于最大可能连接数。如图所示,在示例性体系结构中,主机实体220和225可以访问密钥服务器205和210。主机实体230可以仅连接到一个密钥服务器215,而不能访问密钥服务器205和210。主机实体220、225和230中的每个可以控制多个客户实体235、240、245、250、255和260。主机实体
220可以控制客户实体235、240、245和250。主机实体225可以控制客户实体250、255和260。
主机实体230可以控制客户实体255和260。客户实体245和250可以由主机实体220和225共享和控制。同样,客户实体255可以连接至主机实体225和230或可以由主机实体225和230控制,而客户实体260可以由主机实体230单独控制。本领域技术人员将理解,网络配置可以扩展到任意数量的密钥服务器和主机实体以及多个主机实体可以共享单个客户实体的控制权。
[0066] 根据一个实施方式,密钥服务器205、210和215可以将安全密钥提供给主机实体220、225和230以及与主机实体220、225和230连接的客户实体235、240、245、250、255和260。
在任何信息被发送之前,其可以通过加密密钥来加密,并通过来自同一密钥服务器的解密密钥在目的地进行解密。主机实体只能从与该主机实体连接的密钥服务器请求密钥。例如,主机实体230只能从密钥服务器215请求密钥。在替代实施方式中,网络可以包括单个密钥服务器,单个密钥服务器可以向所有与其连接的主机实体提供密钥。在一方面,客户实体只能从与控制该客户实体的主机实体连接的密钥服务器请求密钥。例如,客户实体235可以由主机实体220控制,该主机实体220又连接到密钥服务器205和210。因此,客户实体235可以从密钥服务器205和210两者请求密钥,而不是从密钥服务器215请求密钥。
[0067] 在一个实施方式中,当客户实体235请求密钥时,该请求可以通过主机实体220发送至密钥服务器205,并且可以使用相同的所述密钥服务器205通过主机实体220来提供密钥,因此,客户实体235和密钥服务器205之间需要单独连接的需求可以通过与主机实体220集成在一起来满足。
[0068] 图3是示出根据本发明的实施方式的使得能够在IoT网络内进行安全通信的系统的功能单元的模块图。
[0069] 如图所示,可以代表主机实体的系统300可以包括一个或多个处理器302。一个或多个处理器302可以被实现为一个或多个微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、逻辑电路和/或根据操作指令操纵数据的任何设备。在其他功能中,一个或多个处理器302被配置为获取并执行存储在系统300的存储器304中的计算机可读指令。存储器304可以存储一个或多个计算机可读指令或例程,该计算机可读指令或例程被获取并执行以通过网络服务创建或共享数据单元。存储器304可以包括任何非暂时性存储设备,该非暂时性存储设备包括例如易失性存储器(诸如RAM)或非易失性存储器(诸如EPROM、闪存等)。在示例实施方式中,存储器304可以是本地存储器或可以是远程定位的,诸如服务器、文件服务器、数据服务器和云。
[0070] 系统300还可以包括接口306。接口306可以包括各种接口,例如,用于数据输入和输出设备(指的是I/O设备、存储设备和类似的设备)的接口,接口306可以促进系统300与耦接到系统300的各种设备的通信。接口306还可以为系统300的一个或多个部件提供通信路径。这些部件的示例包括但不限于:处理用引擎310和数据308。
[0071] 引擎310可以被实现为硬件和软件或固件编程(例如,可编程指令)的组合,以实现引擎310的一个或多个功能。在本文描述的示例中,硬件和软件或固件编程的这种组合可以通过几种不同的方式实现。例如,用于引擎的编程可以是存储在非暂时性机器可读存储介质上的可用处理器执行的指令,并且用于引擎310的硬件可以包括处理资源(例如,一个或多个处理器),以执行此类指令。在示例中,机器可读存储介质可以存储指令,该指令在由处理资源执行时实现引擎310。在这样的示例中,系统300可以包括存储指令的机器可读存储介质和执行指令的处理资源,或者机器可读存储介质可以是单独的,但是可由系统300和处理资源访问。在其他示例中,引擎310可以由电子电路实现。数据308可以包括通过引擎310的任何部件实现功能而得到的被存储或生成的数据。
[0072] 在一个示例中,处理用引擎310可以包括网络属性维护模块312、通信模块314、标头生成模块316、加密模块318和其他模块320。其他模块320可以实现对由系统300或处理用引擎310执行的应用或功能进行补充的功能。
[0073] 在一个实施方式中,系统300可以在主机实体中实现。网络属性维护模块312可以限定网络的范围和边界。在网络的实现中,可以在网络的每个设备中配置应用程序。该应用程序可以是一个简单的程序,该简单的程序包含预定义的应用程序编程接口(API),该应用程序编程接口可指示网络中的所有设备如何实现设备之间的通信。
[0074] 控制器局域网络属性维护模块312使得能够存储包括在网络中连接的密钥服务器、主机实体和客户实体的所有设备的设备标识符。此外,网络属性维护模块312还可以存储网络的各种设备之间的关联,该关联可以完全指定网络的设备之间的交互。该关联可以以与通过通信链路连接到的设备相对应的设备标识符的配对的形式存储。
[0075] 在一个示例中,参照图2,网络属性维护模块312可以存储以下内容:
[0076] a.密钥服务器205、210和215的设备标识符;
[0077] b.主机实体220、225和230的设备标识符;
[0078] c.分配给每个主机实体的一个或多个密钥服务器的设备标识符。主机实体220具有已分配的密钥服务器205和210。主机实体225具有已分配的密钥服务器205和210。主机实体230仅具有一个已分配的密钥服务器215;
[0079] d.客户实体235、240、245、250、255和260的设备标识符;以及
[0080] e.一个或多个主机实体的设备标识符即已分配的客户实体。例如,客户端235、240、245和250被分配给主机实体220,客户实体250和255被分配给主机实体225,并且客户实体255和260被分配给主机实体230。因此,客户实体250被两个主机实体220和225共享,客户实体255由主机实体225和230共享;
[0081] 在一个实施方式中,网络属性维护模块312可以使设备标识符的存储和各种设备的关联以成对的设备标识符的形式存在于配置文件中,该配置文件可以使用用户生成的信息来创建并且可以是用户可编辑的IoT配置文件。在一个实施方式中,配置文件或网络的属性可以由网络管理员在初始化期间提供给主机实体,并且可以使用通信模块214立即提供给网络的每个指定的密钥服务器和每个指定的主机实体。同样,当网络属性由网络管理员编辑和批准时,可以停止网络操作,并可以使用通信模块214将编辑立即更新到各个以及每个关键服务器和主机实体。
[0082] 在一个实施方式中,网络的关键服务器还可以包括:存储器,在存储器中可以存储机器可执行指令;以及连接到该存储器的一个或多个处理器,该处理器用于执行可以存储在存储器中的机器可执行指令,以实施多个功能。在一个实施方式中,网络的属性可以由网络的任何关键服务器来限定,并且所述属性可以被提供给网络的主机实体的网络属性维护模块312,使得网络属性维护模块312可以使所述属性存储在相应的主机实体中。
[0083] 本领域技术人员将理解,可以通过更新或编辑网络属性或配置文件来重新配置网络,但是,这种重新配置可能受到网络的各种设备的计算能力、UI功能、通信带宽和存储容量的限制。重新配置可以是:物理重新配置,例如,设备的添加或删除;逻辑重新配置,例如允许或不允许密钥服务器与主机实体之间以及主机实体与客户实体之间进行通信,或者重新配置任何设备的操作模式,例如将主机实体配置为密钥服务器,或者将密钥服务器与主机实体组合,或者将客户端功能添加到主机实体。
[0084] 在一个实施方式中,在发送每个信息或数据之前,网络属性维护模块312可以维护授权信息,该授权信息指示被授权访问所传送的信息的接收用实体。接收用实体可以是从实现系统300的主机实体向其传送信息的任何主机实体或客户实体。例如,授权信息可以以矩阵的形式维护,该矩阵可以通过使用发送主机实体的网络属性维护模块312来生成和更新。在一个实现中,矩阵可以在第一次发送之前生成一次,并且可以在后续发送保持不变。在另一实施方式中,可以在每次从主机实体发送信息之前改变矩阵的内容。
[0085] 参照图2,由主机实体220生成的矩阵可以通过指定网络中的其他主机实体和客户实体的标识符来指示授权信息,可以允许该其他主机实体和客户实体的标识符向主机实体220发送的信息请求解密密钥。因此,由主机实体220授权的多个主机实体和客户实体可以最大地包括主机实体225和客户实体235、240、245和250。但是,由主机实体220生成的矩阵可以将一个设备列入为单独的端到端发送的名单。因此,矩阵可以赋予主机实体220很大的灵活性,以控制发送的预期接收器。应当理解,授权接收方设备可以被配置文件约束,因此,由于配置文件不允主机实体220和主机实体230之间的连接,所以主机实体220可以发送至主机实体225,而不是主机实体230。
[0086] 在一个实施方式中,矩阵还可以包括附条件授权信息,例如可以向密钥服务器请求密钥的时间段、此后可以删除经解密的信息的时间段以及每个主机实体或客户实体可以向密钥服务器请求发送和访问的次数的阈值。
[0087] 在一个实施方式中,可以由主机实体控制的客户实体可以被存储在配置文件中,矩阵可以进一步指定客户实体何时以及在什么情况下可以发起数据通信。例如,当控制用主机实体需要用于分析或存储的传感器数据时,可以通过控制用主机实体指定来自客户实体的信息或数据的发送,可以生成矩阵。参考图2,主机实体220可以控制客户实体235、240、245和250。在客户实体235、240、245和250中,矩阵可以通过选择性地阻止来自某些设备的发送来指定被允许发送数据的客户实体。在示例中,当客户实体250根据配置文件与主机实体220和225配对时,但是由主机实体220生成的矩阵可以进一步指定客户实体250可以仅向主机实体220发送数据或仅向主机实体225发送数据或向主机实体220和225二者发送数据。
[0088] 在一个实施方式中,矩阵还可以指定附条件授权信息,用于将信息从客户实体发送至指定的主机实体。例如,所述授权信息可以包括主机实体可以从客户实体接收数据的时间段以及客户实体的指定的主机实体可以请求客户实体发送数据的次数的阈值。
[0089] 在一个实施方式中,在从主机实体发送信息之前,主机实体可以使用通信模块314从密钥服务器请求加密密钥。密钥服务器可以选自网络中配置的一个或多个密钥服务器。例如,参考图2,发送用主机实体是230,其可以向唯一分配的密钥服务器215请求加密密钥,另一方面,如果发送用主机实体为220,则可以从密钥服务器205或密钥服务器210请求加密密钥。在一个实施方式中,可以基于网络的安全策略来选择提供加密密钥的密钥服务器,并且可以取决于网络考虑因素(例如密钥服务器的负载平衡、密钥服务器的即时可用性等)来选择提供加密密钥的密钥服务器。因此,在可以在任何给定时间为请求用主机实体提供加密密钥的多个密钥服务器中,可以基于网络策略确定密钥服务器的选择。
[0090] 在一个实施方式中,在从系统300的通信模块314接收到请求时,密钥服务器可以生成密钥对,该密钥对可以包括加密密钥和解密密钥。密钥服务器还可以生成密钥标识符,并且可以将所述密钥标识符与加密密钥相关联,从而可以通过通信模块314将密钥标识符和加密密钥提供给系统300。
[0091] 在一个实施方式中,在接收到所述加密密钥和所述密钥标识符时,标头生成模块316可以生成可以包括信息标识符、密钥标识符以及提供加密密钥的密钥服务器的设备标识符的标头,所述信息标识符可以是与在发送之前要被保护的信息相关联的随机文件ID。
标头还可以包括其他参数,例如加密的时间和日期、密钥服务器的GPS位置、密钥服务器210或220的互联网协议地址等。
[0092] 在一个实施方式中,加密模块318可以对在发送之前需要被保护的信息进行加密。加密模块318可以使用接收到的加密密钥来加密信息,并且可以将所生成的标头与经加密的信息相关联。另外,加密模块318可以在执行加密之前为信息生成散列(Hash,哈希)。该技术在验证将由接收用实体接收的信息的完整性方面将是有用的。
[0093] 在一个实施方式中,通信模块314可以将经加密的信息连同与所述经加密的信息相关联的标头发送至旨在接收信息的接收用实体。此外,通信模块314可以将矩阵形式的授权信息、与加密密钥相关联的密钥标识符和生成的标头发送至密钥服务器。
[0094] 如上所述,密钥服务器还可以包括:存储器;以及连接到该存储器的一个或多个处理器,机器可执行指令可以存储在所述存储器中,所述处理器用于执行可以存储在存储器中的机器可执行指令,以实施多种功能。在一个实施方式中,密钥服务器在接收到对加密密钥的请求时,可以生成包括加密密钥和解密密钥的密钥对,并且可以将密钥标识符与所述密钥对相关联,使得在接收到请求时,密钥服务器可以将加密密钥和关联的密钥标识符发送回主机实体。应当理解,密钥服务器可以利用本领域已知的合适技术来生成密钥对。在示例中,可以采用诸如RSA方案或椭圆密钥方案之类的非对称密钥方案,该非对称密钥方案生成包括通过数学关系连接的加密密钥和解密密钥的密钥对。在另一个示例中,可以采用对称密钥方案,其中单个密钥可以执行加密和解密操作。因此,密钥对的加密密钥和解密密钥将相同。
[0095] 在一个实施方式中,在接收到矩阵形式的授权信息、与加密密钥相关联的密钥标识符以及由主机实体的系统300的标头生成模块316生成的标头时,密钥服务器可以将主机实体的设备标识符与标头和矩阵绑定并且将所组合的主机实体的设备标识符、矩阵和标头作为密钥记录存储在可以与密钥服务器工作地耦合的数据库中。
[0096] 在一个实施方式中,在通过通信模块314将经加密的信息和与所述经加密的信息相关联的标头发送至接收用实体时,该接收用实体从接收到的标头中提取密钥标识符和与密钥服务器相对应的设备标识符。此外,该接收用实体可以向密钥服务器请求解密密钥,密钥服务器通过从标头获得的设备标识符来标识。可以使用通过将密钥标识符发送至所述密钥服务器来产生对解密密钥的请求。此外,密钥服务器然后可以使用矩阵来确定客户实体是否被授权访问信息。而且,响应于对客户实体被授权访问经加密的信息的确定,接收用实体可以从密钥服务器接收解密密钥,并且可以使用接收到的解密密钥和接收到的标头来解密经加密的信息。参照图7进一步详细说明接收用实体的解密过程。
[0097] 图4A示出了根据本公开的实施方式的由主机实体生成的示例性标头。
[0098] 在一方面,经加密的信息410可以与标头420相关联。标头可以包含由文件ID表示的信息标识符和由密钥ID表示的密钥标识符,这两者可以是随机生成的并且因此在数学上是唯一的。另外,标头420可以包括密钥服务器的设备标识符,即可以被接收用实体用来追溯密钥服务器的密钥服务器ID。
[0099] 图4B示出了根据本公开实施方式的存储在密钥服务器的数据库中的示例性密钥记录。
[0100] 在一个实施方式中,密钥服务器可包括数据库460以存储可用于信息发送的记录。示例性密钥记录470可以包括:发送信息的主机实体的设备标识符,该设备标识符由主机ID表示;由主机实体生成并发送至密钥服务器的标头的散列,该标头的散列由标头散列表示;
由主机实体提供的关联信息,该关联信息由主机实体生成的矩阵和标头表示。存储在数据库中的多个密钥记录可以提供网络内各种设备如何生成、操纵和操作信息的完整历史。在一个实施方式中,来自各种密钥服务器的数据库的数据可以应用于大数据分析,其中可以提供密钥服务的时间历史以及所有矩阵的历史作为对大数据分析的输入,以评估网络的效率。
[0101] 图5A-图5B示出了根据本公开的实施方式的实现系统的网络体系结构的示例。
[0102] 图5A示出了根据本公开的实施方式的为建立安全通信的在移动设备中的系统的示例性实现。在一个实施方式中,网络500可以用于允许两个用户之间的安全电话通信。网络500可以包括密钥服务器505、可以用作主机实体的两个移动设备510和515、以及可以用作客户实体的两个无线头戴式机520和525。用户可以使用无线耳机进行说话和收听。当第一用户对耳机520讲话时,语音数据可以在520中原位转换为数字脉冲编码调制(PCM)。移动设备510可以从密钥服务器505请求加密密钥来加密语音文件并可以擦除明文语音文件。经加密的语音文件可以被发送至移动设备515。接收用移动电话515可以接收该经加密的语音文件,并将其无线地发送至无线耳机525。无线耳机525可以从密钥服务器505请求解密密钥,并且可以解密语音文件并可以将其播放给移动电话515的用户。可以重复此过程以允许安全对话。出于记录的目的,只能存储经加密的信息,并且可以擦除未加密文语音文件。
[0103] 图5B示出了根据本公开的实施方式的用于控制多个传感器的系统的示例性实施方式。在示例性实施方式中,主机实体560可以是家庭网关,其可以访问、控制和收集来自可以安装在用户的住宅内的多个传感器和执行器575-1、575-2,……,575-N的数据。传感器和执行器575-1、575-2,……,575-N可以是可以从主机实体560接收命令的客户实体。一方面,传感器收集的数据可以路由到主机实体560并由主机实体560进行汇总。可将经汇总的数据发送至主机实体565以进行大数据分析。在一个实施方式中,云平台570可以存储由565发送的数据。应当理解,存储在云平台570中的数据将采用加密形式,并且解密密钥存储在密钥服务器555中,从而确保所存储的数据的安全性。在一方面,密钥服务器555可以将加密密钥/解密密钥提供给设备,并且还可以用于对提供和存储密钥的操作历史进行存档。提供给客户实体575-1、575-2,……,575-N的所有密钥可以通过主机实体560来路由。在一个实施方式中,在路由到网关560之前,对来自客户端设备的传感器数据进行加密。
[0104] 图6是示出根据本公开的实施方式的在主机实体处的信息的加密的流程图。
[0105] 在一个实施方式中,可以在框602处发起对主机实体处的数据进行加密的过程,在框602处,主机实体向密钥服务器请求加密密钥。可以基于网络的安全策略从连接到主机实体的一个或多个密钥服务器中选择密钥服务器。应当理解,密钥服务器的设备标识符,即密钥服务器ID将被绑定到加密密钥和加密文件两者,从而确保当接收用设备需要解密信息时,该接收用设备可以知道向哪个密钥服务器请求解密密钥。密钥服务器在接收到来自主机实体的请求时,可以根据预选算法来生成包括加密密钥和解密密钥的密钥对。密钥服务器还可以生成随机且唯一的密钥标识符,并将生成的密钥标识符与加密密钥相关联。此外,密钥服务器可以将加密密钥和与该加密密钥相关联的密钥标识符发送至主机实体。
[0106] 在一个实施方式中,在框604处,主机实体可以从密钥服务器接收加密密钥和相关联的密钥标识符。此外,在框606处,主机实体可以生成标头,该标头可以包括密钥标识符、从密钥服务器接收加密密钥的该密钥服务器的设备标识符、以及与要被保护的信息相关联的信息标识符,例如随机文件ID。标头还可以包含参数,例如加密的时间和日期、密钥服务器的GPS位置、密钥服务器的Internet协议(IP)地址等。此外,主机实体可以为要加密的信息生成散列,该散列可以用来在接收端验证经解密的文件的完整性。
[0107] 在一个实施方式中,在框608处,主机实体可以使用所接收到的加密密钥来加密信息,并且可以将所生成的标头与经加密的信息相关联。在框610处,主机实体可以将经加密的信息和与所述经加密的信息相关联的标头发送至接收用实体。在框612处,主机实体可以将与用于加密信息的加密密钥相关联的密钥标识符和标头以及授权信息发送至密钥服务器。授权信息可以是指示接收用实体的矩阵的形式,该接收用实体被授权访问所发送的信息。在一个实现中,主机实体可以将标头散列而不是标头发送至密钥服务器。此外,密钥服务器可以将标头与主机实体的设备标识符和授权信息绑定在一起,并且可以将所组合的信息作为一个记录存储在与密钥服务器工作地耦合的数据库中。最后,可以擦除主机实体中的原始信息,以便仅经加密的信息可用于进一步使用。
[0108] 图7是示出根据本公开的实施方式的在接收用实体处的信息解密的流程图。
[0109] 在一个实施方式中,可以在框702处发起在接收用实体处解密信息的过程,其中,接收用实体可以接收经加密的信息以及与该经加密的信息相关联的标头。在框704处,接收用实体可以从标头中提取密钥标识符和密钥服务器的设备标识符,使得可以在框706处对具有所提取的设备标识符的对应密钥服务器请求解密密钥。在框706处,通过将提取的密钥标识符发送至密钥服务器,可以向密钥服务器请求解密密钥。在框706处,密钥服务器在接收到密钥标识符时,可以使用密钥标识符来查找密钥记录,从而,密钥服务器可以检查指示授权信息的矩阵以确定接收用实体是否被授权访问该信息。密钥服务器可以根据基于矩阵的多个准则做出所述确定,以批准或不批准将解密密钥释放给接收用实体。多个准则可以包括:接收用实体是否在主机实体提供的已批准的接收用实体的列表中;请求是否不超过解密密钥可以释放到接收用设备的次数的阈值;以及解密密钥的释放是否在批准的时间内。响应于对接收用实体被授权访问经加密的信息的确定,密钥服务器释放解密密钥,并且接收用实体接收可用于解密经加密的信息的解密密钥。可替代地,在框710处,接收用实体可以从密钥服务器接收解密密钥以及标头散列。在一个实现中,接收用实体可以接收可以包括标头散列和散列方法的标头散列信息,接收方可以使用该散列方法生成新的标头散列,并将新的标头散列和所接收的来自密钥服务器的标头散列信息中的标头散列进行比较,以便验证与经加密的信息相关联的标头的完整性。因此,在框712处,通过对要求保护的信息进行散列处理,在接收用实体已接收到经加密的信息的情况下,接收用实体可以从标头中重新生成散列以与所接收到的散列进行比较。在框714处,接收用实体可以确定散列是否匹配。两个散列的匹配可以表明经加密的信息是正确的信息且未被损坏。进一步在框716处,将对所述经加密的信息进行解密。此外,可以在矩阵中指示的特定时间段内保留经解密的信息,并且在框718处,可以擦除该经解密的信息。在一个实施方式中,如果经解密的信息是用于诸如客户实体之类的接收用实体执行某些任务的计算机指令,则该信息可以在由客户实体执行之后被删除。然后,自动地确定擦除经解密的信息的时间界限。在适当的时间界限后擦除经解密的信息的技术可确保在网络中驻留最少的数据量。可替代地,两个散列匹配失败可以将接收用设备720切换为无操作NOP状态,使得接收用实体可以等待来自主机设备的进一步指令。
[0110] 本领域技术人员将理解,参照图6和图7详细地说明的过程可以适当地找到用于命令客户实体系统地打开执行器、报告位置并执行对传感器数据进行收集的应用程序,然而,最终可能需要将来自客户实体的信息发送回主机设备以进行存储和分析。
[0111] 图8是示出根据本公开的实施方式的从客户实体到控制用主机实体的信息发送的流程图。
[0112] 在一个实施方式中,在框802处,可以发起由接收用设备(例如由主机设备控制的客户实体)进行的发送和加密过程,其中,客户实体可以从主机设备接收经加密的信息和与所述经加密的信息相关联的标头,该经加密的信息可以是用于发送信息的经加密的控制消息指令。主机实体可以建立矩阵,以便向客户实体提供经授权的访问。在框804处,客户实体可以通过提取密钥服务器的设备标识符和密钥标识符来解密经加密的信息,从而对经加密的控制消息进行解密。由于控制消息是客户实体发送信息的指令。因此,客户实体现在可以被用作发送用实体,并且可以遵循与由主机实体执行加密的过程相似的过程。在框806处,客户实体可以向与从标头提取的设备标识符相对应的密钥服务器请求加密密钥。在框808处,客户实体可以从密钥服务器接收加密密钥和与该加密密钥相关联的密钥标识符。在框810处,客户实体可以生成包括信息标识符、密钥标识符和密钥服务器的设备标识符的标头。标头还可以包含其他参数,例如加密的时间和日期、GPS或RTLS位置等。同样,客户实体可以为要加密的信息生成散列。此外,客户实体可以对信息进行加密,并且可以将经加密的信息与标头相关联。在框812处,客户实体可以将经加密的信息和与所述经加密的信息相关联的标头发送至接收用设备,该接收用设备可以是发布经加密的控制消息的主机实体。进一步在框814处,实体可以将密钥标识符和标头或标头散列发送至密钥服务器。密钥服务器可以检索由主机实体生成的矩阵,并且可以绑定所述矩阵、客户实体的设备标识符、标头,并将它们存储为密钥记录。
[0113] 应当理解,在参考图8描述的过程中,主机实体向客户实体发送控制消息以发送信息,并且随后客户实体和密钥服务器都遵守由主机实体生成的矩阵。因此,在三个设备即主机实体、密钥服务器和客户实体之间存在逻辑连接。由于客户实体无法独立运行且主机实体对客户实体进行合法控制,因此需要遵守密钥服务和标头以及密钥记录协议。因此,本公开的实施方式提供了一种技术,该技术可以允许网络的设备长时间地自主操作。
[0114] 根据一种实现,在网络初始化或网络重启期间,主机实体将指令发送至客户实体是重要的。根据由主机实体生成的矩阵,来自主机实体的第一条指令将让客户实体知道报告用主机实体,并且通过推理,当客户实体接收到发送指令时,知道应向哪个密钥服务器请求以从其中接收加密密钥。而且,根据一种实现,在主机实体向报告用的频率发送详细指令之后,客户实体可以做出未经提示的状态报告,该报告用的频率可以存储在客户实体的存储器中。
[0115] 本领域技术人员将认识到,根据本公开的各种实施方式,可以对网络内的各种设备之间的所有敏感数据流进行加密。所有控制消息(例如计算机命令指令)都可以被加密,除非控制消息被成功解密,否则任何设备都不允许执行计算机指令。因此,本公开提供了网络的各种设备之间的安全通信。
[0116] 本公开的实施方式可以完全以硬件、完全以软件(包括固件、驻留软件、微代码等)来实现、或者以软件和硬件的结合来实现,在此可以将它们全部统称为“电路”、“模块”、“部件”或“系统”。此外,本公开的各方面可以采取计算机程序产品的形式,该计算机程序产品包括在其上包含有计算机可读程序代码的一个或多个计算机可读介质。
[0117] 因此,本领域普通技术人员将理解,这些图、示意图、图示等表示实现本发明的系统和方法的概念图或过程。附图中所示的各种元件的功能可以通过使用专用硬件以及能够执行相关软件的硬件来提供。类似地,图中所示的任何交换仅是概念上的。它们的功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互来实现。甚至手动来实现它们的功能,具体技术可通过实现本发明的实体来选择。本领域普通技术人员进一步理解,本文描述的示例性硬件、软件、过程、方法和/或操作系统是出于说明性目的,因此并不旨在限于任何特定的名称。
[0118] 如本文所使用的,并且除非上下文另有指示,否则术语“耦合至”旨在包括直接耦合(其中彼此耦合的两个元件彼此接触)和间接耦合(其中至少一个附加元件位于两个元件之间)。因此,术语“耦合到”和“与……耦合”同义地使用。在本文档的上下文中,术语“耦合到”和“与……耦合”也被委婉地用来表示通过网络“通信耦合”,其中两个或多个设备能够通过网络彼此交换数据,两个或多个设备可能经由一个或多个中间设备能够通过网络彼此交换数据。
[0119] 对于本领域技术人员显而易见的是,在不背离本文的发明构思的前提下,除了已经描述的修改之外,还可以进行更多修改。因此,除了所附权利要求的精神,本发明的主题不受限制。此外,在解释说明书和权利要求书时,应以与上下文一致的尽可能广泛的方式解释所有术语。特别地,术语“包括”和“包含”应被解释为以非排他性的方式指代元件、部件或步骤,指示所引用的元件、部件或步骤可以存在、被利用或与其他元件组合。其中,在说明书和权利要求书中引用了某物的至少一者是从A、B、C……和N中选择的。则该文本应解释为仅需要组中的一个元件,而不是A加N或B加N等。
[0120] 尽管前述内容描述了本发明的各种实施方式,但是在不脱离本发明的基本范围的情况下,可以设计本发明的其他和进一步的实施方式。本发明的范围由所附权利要求书确定。本发明不限于所描述的实施方式、形式或示例,其被包括在使本领域普通技术人员在与本领域普通技术人员可获得的信息和知识相结合时能够制造和使用本发明的范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈