物联网平台、设备和方法与流程

文档序号:11450272阅读:375来源:国知局
物联网平台、设备和方法与流程



背景技术:

本发明整体涉及计算机系统领域。更具体地讲,本发明涉及用于安全连接网络装置的系统和方法的互联网。

相关领域描述

″物联网″是指互联网基础架构内可唯一识别的嵌入式装置的互连。最终,iot预期将导致新的种类广泛的应用,在这些应用中,几乎任何类型的物理事物可以提供关于其本身或其周围环境的信息和/或可以通过互联网经由客户端装置受到远程控制。

由于与连接性、功率和标准化缺乏有关的一些问题,物联网的开发和采用一直比较缓慢。例如,iot开发和采用所面临的一个障碍是没有标准平台允许开发人员设计和提供新的iot装置和服务。为了进入iot市场,开发人员必须从头开始设计整个iot平台,包括支持所需的iot实现需要的网络协议和基础架构、硬件、软件和服务。因此,iot装置的每一家提供商都使用专有技术来设计和连接iot装置,这使得对最终用户而言,采用多种类型的iot装置是一项繁重的工作。iot采用所面临的另一个障碍是与iot装置的连接和供电相关联的困难。例如,连接诸如冰箱、车库门开关、环境传感器、家用安防传感器/控制器等的电器需要电源来为每个连接的iot装置供电,并且此类电源通常定位不太方便。

附图说明

可结合下列附图从以下具体实施方式更好地理解本发明,其中:

图1a至图1b示出了iot系统架构的不同实施方案;

图2示出了根据本发明的一个实施方案的iot装置;

图3示出了根据本发明的一个实施方案的iot集线器;

图4示出了安全架构的一个实施方案的高层级视图;

图5示出了其中使用用户身份模块(sim)将密钥存储在iot装置上的架构的一个实施方案;

图6a示出了其中利用条形码或qr码注册iot装置的一个实施方案;

图6b示出了其中利用条形码或qr码进行配对的一个实施方案;

图7示出了使用iot集线器来对sim进行编程的方法的一个实施方案;

图8示出了用于向iot集线器和iot服务注册iot装置的方法的一个实施方案;并且

图9示出了对要传输到iot装置的数据加密的方法的一个实施方案。

具体实施方式

在下面的描述中,出于解释的目的,本文陈述了许多特定细节以便全面理解下文描述的本发明的实施方案。然而,本领域的技术人员将容易明白,可在没有这些特定细节中的一些的情况下实践本发明的实施方案。在其他情况下,为了避免模糊本发明的实施方案的基本原理,熟知的结构和装置以框图形式示出。

本发明的一个实施方案包括一种物联网(iot)平台,开发人员可以利用该平台来设计和构建新的iot装置和应用。具体地讲,一个实施方案包括用于iot装置的基础硬件/软件平台,该平台包括预定义的网络协议栈和iot集线器,iot装置通过该iot集线器耦接到互联网。此外,一个实施方案包括iot服务,可以通过该iot服务如下所述地访问和管理iot集线器和连接的iot装置。此外,iot平台的一个实施方案包括用以访问和配置iot服务、集线器和连接的装置的iot应用程序或web应用程序(例如,在客户端装置上执行)。现有的在线零售商和其他网站运营商可以利用本文所述的iot平台来容易地为现有用户群提供独特的iot功能。

图1a示出了其上可以实现本发明的实施方案的架构平台的概览。具体地讲,图示实施方案包括多个iot装置101至105,这些iot装置通过本地通信信道130通信地耦接到中央iot集线器110,该中央iot集线器本身通过互联网220通信耦接到iot服务120。iot装置101至105中的每一个最初可以(例如,使用下文描述的配对技术)与iot集线器110配对以使得能够实现本地通信信道130中的每一个。在一个实施方案中,iot服务120包括最终用户数据库122,以用于维持用户账户信息和从每个用户的iot装置收集的数据。例如,如果iot装置包括传感器(例如,温度传感器、加速度计、热传感器、运动探测器等),可以连续更新数据库122以存储由iot装置101-105收集的数据。存储在数据库122中的数据然后可以由最终用户经由安装于用户装置135上的iot应用或浏览器(或经由台式或其他客户端计算机系统)访问并且可以由网络客户端(例如,诸如订购iot服务120的网站130)访问。

iot装置101至105可以配备有各种类型的传感器,以收集关于自身及其周围环境的信息,并且经由iot集线器110将所收集的信息提供给iot服务120、用户装置135和/或外部网站130。iot装置101至105中的一些可以响应于通过iot集线器110发送的控制命令来执行指定的功能。下文提供由iot装置101至105收集的信息以及控制命令的多种具体示例。在下文描述的一个实施方案中,iot装置101是被设计为记录用户选择并将用户选择发送到iot服务120和/或网站的用户输入装置。

在一个实施方案中,iot集线器110包括蜂窝无线电装置,以经由诸如4g(例如,移动wimax、lte)或5g蜂窝数据服务的蜂窝服务115建立到互联网220的连接。另选地或除此之外,iot集线器110可以包括wifi无线电装置,以通过将iot集线器110耦接到互联网(例如,经由向最终用户提供互联网服务的互联网服务提供商)的wifi接入点或路由器116来建立wifi连接。当然,应当注意,本发明的基本原理不限于任何特定类型的通信信道或协议。

在一个实施方案中,iot装置101至105是能够使用电池电量长时间(例如,数年)运行的超低功率装置。为了节省功率,可以使用低功率无线通信技术诸如蓝牙低功耗(le)来实现本地通信信道130。在该实施方案中,iot装置101至105中的每一个和iot集线器110配备有蓝牙le无线电装置和协议栈。

如上所述,在一个实施方案中,该iot平台包括在用户装置135上执行以允许用户访问和配置所连接的iot装置101至105、iot集线器110和/或iot服务120的iot应用程序或web应用程序。在一个实施方案中,该应用程序或web应用程序可以由网站130的运营者设计为向其用户群提供iot功能。如图所示,该网站可以维护包含与每个用户相关的账户记录的用户数据库131。

图1b示出了用于多个iot集线器110至111,190的附加连接选项。在该实施方案中,单个用户可以在单个用户驻地180(例如,用户的家或工作地点)处现场安装有多个集线器110至111。可以这样做来例如扩展连接所有iot装置101至105所需的无线范围。如图所示,如果用户具有多个集线器110,111,则它们可以经由本地通信信道(例如,wifi、以太网、电力线网络等)连接。在一个实施方案中,集线器110至111中的每一个可以通过蜂窝连接115或wifi连接116(图1b中未明确示出)来建立与iot服务120的直接连接。另选地或除此之外,iot集线器中的一者诸如iot集线器110可以充当″主″集线器,其向用户驻地180上的所有其他iot集线器诸如iot集线器111提供连接性和/或本地服务(如连接iot集线器110和iot集线器111的虚线所示)。例如,主iot集线器110可以是建立与iot服务120的直接连接的唯一iot集线器。在一个实施方案中,只有″主″iot集线器110配备有蜂窝通信接口以建立与iot服务120的连接。这样,iot服务120和其他iot集线器111之间的所有通信将流经主iot集线器110。作为这个角色,主iot集线器110可以具有附加的程序代码,以对在其他iot集线器111和iot服务120之间交换的数据执行过滤操作(例如,在可能时,本地服务于一些数据请求)。

不管iot集线器110至111如何连接,在一个实施方案中,iot服务120将逻辑地将集线器与用户相关联,并且将所有附接的iot装置101至105组合在能够经由已安装有应用程序135的用户装置访问的单个综合性用户界面(和/或基于浏览器的界面)下。

在该实施方案中,主iot集线器110和一个或多个从属iot集线器111可以通过本地网络连接,该本地网络可以是wifi网络116、以太网和/或使用电力线通信(plc)网络(例如,其中网络的全部或部分通过用户的电力线运行)。另外,对于iot集线器110至111,iot装置101至105中的每一个可以使用诸如wifi、以太网、plc或蓝牙le的任何类型的本地网络信道与iot集线器110至111互连。

图1b还示出了安装在第二用户驻地181处的iot集线器190。几乎无限数量的此类iot集线器190可以被安装和配置,以收集来自世界各地的用户驻地处的iot装置191至192的数据。在一个实施方案中,可以为同一用户配置两个用户驻地180至181。例如,一个用户驻地180可以是用户的主要住宅,并且另一个用户驻地181可以是用户的度假屋。在这种情况下,iot服务120将逻辑地将iot集线器110至111,190与用户相关联,并且将所有附接的iot装置101至105,191至192组合在能够经由已安装有应用程序135的用户装置访问的单个综合性用户界面(和/或基于浏览器的界面)下。

如图2所示,iot装置101的一个示例性实施方案包括用于存储程序代码和数据201至203的存储器210、以及用于执行程序代码和处理数据的低功率微控制器200。存储器210可以是诸如动态随机存取存储器(dram)的易失性存储器,或者可以是诸如闪存存储器的非易失性存储器。在一个实施方案中,非易失性存储器可用于永久存储装置,并且易失性存储器可用于在运行时执行程序代码和数据。此外,存储器210可以集成在低功率微控制器200内,或者可以经由总线或通信结构耦接到低功率微控制器200。本发明的基本原理不限于存储器210的任何特定实现方式。

如图所示,程序代码可以包括定义要由iot装置201执行的一组应用程序特定的功能的应用程序代码203、以及包括可由iot装置101的应用程序开发人员利用的一组预定义构建块的库代码202。在一个实施方案中,库代码202包括实现iot装置所需的一组基本功能,诸如用于使得能够实现iot装置101中的每一个和iot集线器110之间的通信的通信协议栈201。如上所述,在一个实施方案中,通信协议栈201包括蓝牙le协议栈。在该实施方案中,蓝牙le无线电装置和天线207可以被集成在低功率微控制器200内。然而,本发明的基本原理不限于任何特定的通信协议。

图2中所示的具体实施方案还包括用以接收用户输入并向低功率微控制器提供该用户输入的多个输入装置或传感器210,低功率微控制器根据应用程序代码203和库代码202处理该用户输入。在一个实施方案中,输入装置中的每一个包括led209以向最终用户提供反馈。

另外,图示实施方案包括用于向低功率微控制器供电的电池208。在一个实施方案中,使用不可充电的纽扣电池。然而,在一个另选的实施方案中,可以使用集成的可充电电池(例如,通过将iot装置连接到交流电源(未示出)来充电)。

还提供用于生成音频的扬声器205。在一个实施方案中,低功率微控制器299包括用于解码压缩音频流(例如,诸如mpeg-4/高级音频编码(aac)流)以在扬声器205上生成音频的音频解码逻辑。另选地,低功率微控制器200和/或应用程序代码/数据203可以包括数字采样的音频片段,以在用户经由输入装置210输入选择时向最终用户提供言语反馈。

在一个实施方案中,基于iot装置101被设计用于的特定应用,可以在iot装置101上包括一个或多个其他/替代的i/o装置或传感器250。例如,可以包括环境传感器以测量温度、压力、湿度等。如果将iot装置用作安防装置,则可以包括安防传感器和/或门锁开启器。当然,这些示例仅仅是为了举例说明的目的而提供的。本发明的基本原理不限于任何特定类型的iot装置。事实上,考虑到配备有库代码202的低功率微控制器200的高可编程性质,应用程序开发人员可以容易地开发新的应用程序代码203和新的i/o装置250,以对于几乎任何类型的iot应用来与低功率微控制器交接。

在一个实施方案中,低功率微控制器200还包括用于存储由下述实施方案使用的加密密钥的安全密钥存储装置(参见例如图4至图6和/或相关联的文本)。另选地,密钥可以被保护在如下所述的用户身份模块(sim)中。

在一个实施方案中,包括唤醒接收器207以将iot装置从几乎不消耗功率的超低功率状态中唤醒。在一个实施方案中,唤醒接收器207被配置为响应于从如图3所示的配置在iot集线器110上的唤醒发射器307接收到的唤醒信号来使iot装置101退出该低功率状态。具体地讲,在一个实施方案中,发射器307和接收器207一起形成电谐振变压器电路,诸如特斯拉线圈。在操作中,当集线器110需要将iot装置101从极低功率状态唤醒时,能量经由射频信号从发射器307传输到接收器207。由于此能量传递,iot装置101可以被配置成在其处于低功率状态时几乎不消耗功率,因为它不需要连续地″监听″来自集线器的信号(如使用允许装置经由网络信号被唤醒的网络协议的情况那样)。更确切地说,iot装置101的微控制器200可以被配置为通过使用从发射器307电传输到接收器207的能量而在被有效地掉电之后被唤醒。

如图3所示,iot集线器110还包括用于存储程序代码和数据305的存储器317,以及用于执行程序代码并处理数据的硬件逻辑301诸如微控制器。广域网(wan)接口302和天线310将iot集线器110耦接到蜂窝服务115。另选地,如上所述,iot集线器110还可以包括本地网络接口(未示出),诸如wifi接口(和wifi天线)或以太网接口,以用于建立局域网通信信道。在一个实施方案中,硬件逻辑301还包括用于存储由下述实施方案使用的加密密钥的安全密钥存储装置(参见例如图4至图6和相关联的文本)。另选地,密钥可以被保护在如下所述的用户身份模块(sim)中。

本地通信接口303和天线311建立与iot装置101至105中的每一个的本地通信信道。如上所述,在一个实施方案中,本地通信接口303/天线311实施蓝牙le标准。然而,本发明的基本原理不限于用于建立与iot装置101至105的本地通信信道的任何具体协议。虽然在图3中被示出为单独的单元,但wan接口302和/或本地通信接口303可以嵌入与硬件逻辑301相同的芯片内。

在一个实施方案中,程序代码和数据包括通信协议栈308,该协议栈可以包括分开的栈以用于通过本地通信接口303和wan接口302进行通信。此外,可以将装置配对程序代码和数据306存储在存储器中以允许iot集线器与新的iot装置配对。在一个实施方案中,为每个新的iot装置101至105分配唯一的代码,在配对过程中该唯一代码被传送到iot集线器110。例如,该唯一代码可以嵌入iot装置上的条形码中,并且可以由条形码读取器106读取,或者可以通过本地通信信道130传送。在一个另选的实施方案中,该唯一id代码被磁性地嵌入iot装置上,并且iot集线器具有磁传感器诸如射频id(rfid)或近场通信(nfc)传感器,以在iot装置101在距离iot集线器110几英寸内移动时检测该代码。

在一个实施方案中,一旦已经传送该唯一id,iot集线器110就可以通过以下方式来验证该唯一id:查询本地数据库(未示出)、执行散列来验证该代码是否可接受、以及/或者与iot服务120、用户装置135和/或网站130通信来验证该id代码。在一个实施方案中,一旦经验证,iot集线器110就与iot装置101配对并且将配对数据存储在存储器317中(如上所述,该存储器可以包括非易失性存储器)。一旦配对完成,iot集线器110就可以与iot装置101连接以执行本文所述的各种iot功能。

在一个实施方案中,运行iot服务120的组织可以提供iot集线器110和基本硬件/软件平台,以允许开发人员容易地设计新的iot服务。具体地讲,除了iot集线器110之外,还可以为开发人员提供软件开发工具包(sdk)来更新在集线器110内执行的程序代码和数据305。另外,对于iot装置101,sdk可以包括针对基础iot硬件(例如,图2所示的低功率微控制器200和其他部件)设计的一组广泛的库代码202,以有利于设计各种不同类型的应用程序101。在一个实施方案中,sdk包括开发人员仅需要在其中为iot装置指定输入和输出的图形设计界面。已经为开发人员准备好了所有联网代码,包括允许iot装置101连接到集线器110和服务120的通信栈201。此外,在一个实施方案中,sdk还包括用于促进为移动装置(例如,iphone和android装置)设计应用程序的库代码基。

在一个实施方案中,iot集线器110管理iot装置101至105和iot服务120之间的连续双向数据流。在需要实时更新到iot装置101至105/从这些iot装置更新的情况下(例如,在用户需要查看安防装置或环境读数的当前状态的情况下),iot集线器可以保持打开的tcp套接字,以提供对用户装置135和/或外部网站130的定期更新。用于提供更新的具体联网协议可以根据底层应用程序的需求来进行调整。例如,在某些情况下,如果连续双向流可能没有意义,则可以使用简单的请求/响应协议来在需要时收集信息。

在一个实施方案中,iot集线器110和iot装置101至105均能够通过网络自动升级。具体地讲,当iot集线器110有新的更新可用时,它可以自动地从iot服务120下载并安装此更新。它可以首先将更新的代码复制到本地存储器中,运行并验证该更新,然后替换较旧的程序代码。类似地,当iot装置101至105中的每一个有更新可用时,最初可以由iot集线器110下载这些更新并将其推送到iot装置101至105中的每一个。然后,每个iot装置101至105可以类似于上述用于iot集线器的方式来应用更新,并将更新的结果报告回iot集线器110。如果更新成功,则iot集线器110可以从其存储器中删除此更新,并记录安装在每个iot装置上的最新的代码版本(例如,使得它可以继续检查每个iot装置是否有新的更新)。

在一个实施方案中,iot集线器110经由交流电源供电。具体地讲,iot集线器110可以包括具有变压器的供电单元390,该变压器用于将经由交流电源线提供的交流电压转换为较低的直流电压。

图4示出了高层级的架构,其使用公共密钥架构(pki)技术和/或对称密钥交换/加密技术来对iot服务120、iot集线器110和iot装置101-102之间的通信加密。

将首先描述使用公共/私有密钥对的实施方案,接着是使用对称密钥交换/加密技术的实施方案。具体而言,在使用pki的实施方案中,唯一的公共/私有密钥对与每个iot装置101-102、每个iot集线器110和iot服务120相关联。在一个实施方案中,在设立新的iot集线器110时,将其公共密钥提供给iot服务120,并且在设立新的iot装置101时,将其公共密钥提供给iot集线器110和iot服务120两者。下文描述用于在装置之间安全交换公共密钥的各种技术。在一个实施方案中,所有公共密钥都是由所有接收装置已知的主密钥签署的(即,一种形式的证书),使得任何接收装置都能够通过验证签名来验证公共密钥。于是,这些证书会被交换而非仅仅交换原始公共密钥。

如图所示,在一个实施方案中,每个iot装置101,102分别包括安全密钥存储装置401,403,以用于安全存储每个装置的私有密钥。安全性逻辑402,404然后利用安全存储的私有密钥来执行本文所述的加密/解密操作。类似地,iot集线器110包括安全存储装置411,以用于存储iot集线器私有密钥以及iot装置101-102和iot服务120的公共密钥;以及安全性逻辑412,以用于使用密钥来执行加密/解密操作。最后,iot服务120可以包括安全存储装置421,以用于安全地存储其自己的私有密钥、各iot装置和iot集线器的公共密钥,以及安全性逻辑413,以用于使用密钥来对与iot集线器和装置的通信加密/解密。在一个实施方案中,在iot集线器110从iot装置接收公共密钥证书时,它可以对其进行验证(例如,通过如上所述使用主密钥来对签名进行验证),然后从其中提取公共密钥并在其安全密钥存储装置411中存储该公共密钥。

例如,在一个实施方案中,在iot服务120需要向iot装置101传输命令或数据(例如,打开门锁的命令,读取传感器的请求,要由iot装置处理/显示的数据等)时,安全性逻辑413利用iot装置101的公共密钥来对数据/命令加密以生成加密的iot装置分组。在一个实施方案中,它然后利用iot集线器110的公共密钥对iot装置分组加密,以生成iot集线器分组,并向iot集线器110传输iot集线器分组。在一个实施方案中,服务120利用上述其私有密钥或主密钥来对加密的消息进行签名,使得装置101能够验证其正在从受信任的源接收未改变的消息。装置101然后可以利用对应于私有密钥和/或主密钥的公共密钥来验证签名。如上所述,可以使用对称密钥交换/加密技术来替代公共/私有密钥加密。在这些实施方案中,并非私密地存储一个密钥并向其他装置提供对应的公共密钥,而是可以为每个装置提供同一对称密钥的副本以用于加密并验证签名。对称密钥算法的一个示例是高级加密标准(aes),但本发明的基本原理不限于任何类型的特定对称密钥。

使用对称密钥实施方式,每个装置101进入安全密钥交换协议,以与iot集线器110交换对称密钥。安全密钥预置协议(诸如动态对称密钥预置协议(dskpp))可用于通过安全通信信道来交换密钥(例如,见意见征求稿(rfc)6063)。然而,本发明的基本原理不限于任何特定密钥预置协议。

一旦已经交换了对称密钥,就可以由每个装置101和iot集线器110使用它们来对通信加密。类似地,iot集线器110和iot服务120可以执行安全对称密钥交换,然后使用交换的对称密钥来对通信加密。在一个实施方案中,在装置101和集线器110之间以及在集线器110和iot服务120之间周期性交换新的对称密钥。在一个实施方案中,在装置101、集线器110和服务120之间与每个新的通信会话交换新的对称密钥(例如,针对每个通信会话生成并安全地交换新密钥)。在一个实施方案中,如果信任iot集线器中的安全模块412,服务120可以与集线器安全模块412协商会话密钥,然后安全模块412会与每个装置120协商会话密钥。来自服务120的消息然后会在集线器安全模块412中被解密并验证,之后被重新加密,以传输到装置101。

在一个实施方案中,为了防止影响集线器安全模块412,可以在安装时在装置101和服务120之间协商一次(持久)安装密钥。在向装置101发送消息时,服务120可以首先利用这一装置安装密钥来加密/mac,然后利用集线器的会话密钥来对其进行加密/mac。集线器110然后会验证并提取加密的装置团块并将其发送至装置。

在本发明的一个实施方案中,实施计数器机制以防止重播攻击。例如,可以为从装置101到集线器110(或反之亦然)的每个相继通信分配连续增大的计数器值。集线器110和装置101都将跟踪这个值并在装置之间的每次相继通信中验证该值正确。可以在集线器110和服务120之间实施相同的技术。通过这种方式使用计数器会使得对每个装置之间的通信进行欺骗更加困难(因为计数器值会是不正确的)。不过,即使没有这一措施,服务和装置之间的共享安装密钥也会防止所有装置受到网络(集线器)范围的攻击。

在一个实施方案中,在使用公共/私有密钥加密时,iot集线器110使用其私有密钥来对iot集线器分组解密并生成加密的iot装置分组,并将其传输到相关联的iot装置101。iot装置101然后使用其私有密钥来对iot装置分组解密,以生成源自iot服务120的命令/数据。它然后可以处理数据和/或执行命令。使用对称加密,每个装置会利用共享对称密钥进行加密和解密。在任一种情况下,每个传输装置都还可以利用其私有密钥对消息进行签名,使得接收装置能够验证其真实性。

可以使用不同组的密钥对来从iot装置101到iot集线器110并到iot服务120的通信加密。例如,利用公共/私有密钥布置,在一个实施方案中,iot装置101上的安全性逻辑402使用iot集线器110的公共密钥来对发送到iot集线器110的数据分组加密。iot集线器110上的安全性逻辑412然后可以利用iot集线器的私有密钥来对数据分组解密。类似地,iot装置101上的安全性逻辑402和/或iot集线器110上的安全性逻辑412可以利用iot服务120的公共密钥来对向iot服务120发送的数据分组加密(然后可以由iot服务120上的安全性逻辑413使用服务的私有密钥对其解密)。使用对称密钥,装置101和集线器110可以共享对称密钥,而集线器和服务120可以共享不同的对称密钥。

尽管在以上描述中阐述了特定具体细节,但应当指出,可以利用各种不同的加密技术来实施本发明的基本原理。例如,尽管上述一些实施方案使用不对称公共/私有密钥对,但替代实施方案可以使用在各iot装置101-102、iot集线器110和iot服务120之间安全交换的对称密钥。此外,在一些实施方案中,数据/命令自身未被加密,但使用密钥在数据/命令(或其他数据结构)上生成签名。然后接收人可以使用其密钥来验证签名。

如图5中所示,在一个实施方案中,利用可编程用户身份模块(sim)501来实现每个iot装置101上的安全密钥存储装置。在该实施方案中,iot装置101可以最初被提供给具有未编程sim卡501的最终用户,sim卡安置在iot装置101上的sim接口500内。为了利用一组一个或多个加密密钥来对sim进行编程,用户从sim接口500取出可编程sim卡501并将其插入iot集线器110上的sim编程接口502中。iot集线器上的编程逻辑525然后安全地对sim卡501编程,以向iot集线器110和iot服务120注册/配对iot装置101。在一个实施方案中,可以由编程逻辑525随机生成公共/私有密钥对,然后可以将密钥对的公共密钥存储在iot集线器的安全存储装置411中,同时可以将私有密钥存储于可编程sim501内。此外,编程逻辑525可以在sim卡501上存储iot集线器110、iot服务120和/或任何其他iot装置101的公共密钥(要由iot装置101上的安全性逻辑402用于对外出数据加密)。一旦对sim501编程,就可以使用sim作为安全标识符来为新的iot装置101提供iot服务120(例如,使用现有技术对使用sim的装置注册)。在提供之后,iot集线器110和iot服务120两者将安全地存储iot装置的公共密钥的副本,以在对与iot装置101的通信加密时使用。

上文结合图5描述的技术在向最终用户提供新的iot装置时提供了巨大灵活性。并非要求用户在销售/购买时直接向特定服务提供商注册每个sim(如当前所做),可以由最终用户经由iot集线器110直接对sim编程,并且可以将编程结果安全地传输到iot装置120。结果,可以在线或从本地零售商向最终用户销售新的iot装置101,并稍晚为其安全地提供iot服务120。

尽管上文在sim(用户身份模块)的具体语境内描述了注册和加密技术,但本发明的基本原理不限于″sim″装置。相反,可以利用任何类型的具有用于存储一组加密密钥的安全存储装置的装置来实施本发明的基本原理。此外,在以上实施方案包括可移除sim装置时,在一个实施方案中,sim装置不可移除,但iot装置自身可以插入iot集线器110的编程接口502内。

在一个实施方案中,并非要求用户对sim(或其他装置)编程,而是在分发到最终用户之前,将sim预编程到iot装置101中。在本实施方案中,在用户设立iot装置101时,可以使用本文描述的各种技术在iot集线器/iot服务120和新的iot装置101之间安全地交换加密密钥。

例如,如图6a中所示,可以利用唯一地标识iot装置101和/或sim401的条形码或qr码601来封装每个iot装置101或sim401。在一个实施方案中,条形码或qr码601包括用于iot装置101或sim401的公共密钥的编码表示。或者,条形码或qr码601可以由iot集线器110和/或iot服务120用于标识或生成公共密钥(例如,用作指向已经安全存储于安全存储装置中的公共密钥的指针)。条形码或qr码601可以印刷于独立的卡(如图6a中所示)上或可以直接印刷于iot装置自身上。不论条形码印刷在哪里,在一个实施方案中,都为iot集线器110装备条形码读取器206,以用于读取条形码并向iot集线器110上的安全性逻辑412和/或iot服务120上的安全性逻辑413提供所得数据。iot集线器110上的安全性逻辑412然后可以在其安全密钥存储装置411内存储用于iot装置的公共密钥,并且iot服务120上的安全性逻辑413可以在其安全存储装置421内存储公共密钥(要用于之后的加密通信)。

在一个实施方案中,也可以经由安装有由iot服务提供商设计的iot应用或基于浏览器的小应用的用户装置135(例如,诸如iphone或android装置)捕获条形码或qr码601中包含的数据。一旦捕获,就可以通过安全连接(例如,诸如安全套接字层(ssl)连接)向iot服务120安全地传送条形码数据。也可以通过安全本地连接(例如,通过本地wifi或bluetoothle连接)从客户端装置135向iot集线器110提供条形码数据。

可以利用硬件、软件、固件或其任意组合来实现iot装置101上的安全性逻辑402以及iot集线器110上的安全性逻辑412。例如,在一个实施方案中,在用于在iot装置101和iot集线器110之间建立本地通信信道130的芯片(例如,如果本地信道130为bluetoothle,则为bluetoothle芯片)内实施安全性逻辑402,412。不论安全性逻辑402,412的具体位置在哪里,在一个实施方案中,安全性逻辑402,412被设计成建立安全执行环境,以用于执行特定类型的程序代码。例如,这可以通过使用trustzone技术(可在一些arm处理器上获得)和/或可信执行技术(由intel设计)来实现这一目的。当然,本发明的基本原理不限于任何特定类型的安全执行技术。

在一个实施方案中,可以使用条形码或qr码601来将每个iot装置101与iot集线器110配对。例如,并非使用当前用于配对bluetoothle装置的标准无线配对过程,可以向iot集线器110提供嵌入条形码或qr码601内的配对代码以将iot集线器与对应的iot装置配对。

图6b示出了一个实施方案,其中iot集线器110上的条形码读取器206捕获与iot装置101相关联的条形码/qr码601。如上所述,条形码/qr码601可以直接印刷于iot装置101上或者可以印刷于与iot装置101一起提供的独立卡片上。在任一种情况下,条形码读取器206从条形码/qr码601读取配对代码,并将配对代码提供给本地通信模块680。在一个实施方案中,本地通信模块680是bluetoothle芯片和相关联的软件,但本发明的基本原理不限于任何特定协议标准。一旦接收到配对代码,就将其存储在包含配对数据685的安全存储装置中,并且iot装置101和iot集线器110被自动配对。每次iot集线器与新的iot装置以这种方式配对时,将针对该配对的配对数据存储于安全存储装置685内。在一个实施方案中,一旦iot集线器110的本地通信模块680接收到配对代码,它就可以使用该代码作为密钥来对通过本地无线信道与iot装置101的通信加密。

类似地,在iot装置101一侧,本地通信模块690在本地安全存储装置695内存储表示与iot集线器配对的配对数据。配对数据695可以包括条形码/qr码601中标识的预编程配对代码。配对数据695还可以包括从iot集线器110上的本地通信模块680接收的建立安全本地通信信道所需的配对数据(例如,用于对与iot集线器110的通信加密的附加密钥)。

于是,可以使用条形码/qr码601来以比当前无线配对协议远远更安全的方式进行本地配对,因为配对代码不是通过无线电传输的。此外,在一个实施方案中,用于配对的相同条形码/qr码601可以用于标识用于构建从iot装置101到iot集线器110以及从iot集线器110到iot服务120的安全连接的加密密钥。

图7中示出了根据本发明的一个实施方案的用于对sim卡编程的方法。该方法可在上述系统架构,但不限于任何特定系统架构内实施。

在701处,用户接收具有空白sim卡的新iot装置,并且在702处,用户将空白sim卡插入iot集线器中。在703处,用户利用一组一个或多个加密密钥来对空白sim卡编程。例如,如上所述,在一个实施方案中,iot集线器可以随机生成公共/私有密钥对,并且在sim卡上存储私有密钥以及在其本地安全存储装置中存储公共密钥。此外,在704处,至少将公共密钥传输到iot服务,使得可以将其用于标识iot装置,并与iot装置建立加密通信。如上所述,在一个实施方案中,可以使用除″sim″卡之外的可编程装置来执行与图7中所示方法中sim卡相同的功能。

图8中示出了将新的iot装置集成到网络中的方法。该方法可在上述系统架构,但不限于任何特定系统架构内实施。

在801处,用户接收已经预先分配了加密密钥的新iot装置。在802处,将密钥安全地提供给iot集线器。如上所述,在一个实施方案中,这涉及读取与iot装置相关联的条形码,以识别分配给该装置的公共/私有密钥对的公共密钥。条形码可以由iot集线器直接读取或者经由移动装置经由应用或浏览器捕获。在替代实施方案中,可以在iot装置和iot集线器之间建立安全通信信道,诸如bluetoothle信道、近场通信(nfc)信道或安全wifi信道,以交换密钥。无论如何传输密钥,一旦接收之后,就将其存储在iot集线器装置的安全密钥存储装置中。如上所述,可以在iot集线器上使用各种安全执行技术,以存储和保护密钥,诸如secureenclaves、trustedexecutiontechnology(txt)和/或trustzone。此外,在803处,将密钥安全地传输到iot服务,iot服务在其自己的安全密钥存储装置中存储密钥。它然后可以使用密钥来对与iot装置的通信加密。同样,可以利用证书/签名的密钥来实现交换。在集线器110内,尤其重要的是防止修改/增加/消除存储的密钥。

图9中示出了一种利用公共/私有密钥来向iot装置安全地传送命令/数据的方法。该方法可在上述系统架构,但不限于任何特定系统架构内实施。

在901处,iot服务利用iot装置公共密钥来对数据/命令加密,以产生iot装置分组。它然后利用iot集线器的公共密钥来对iot装置分组加密以产生iot集线器分组(例如,产生iot装置分组周围的iot集线器包裹器)。在902处,iot服务向iot集线器传输iot集线器分组。在903处,iot集线器利用iot集线器的私有密钥来对iot集线器分组解密以生成iot装置分组。在904处,它然后向iot装置传输iot装置分组,在905处,iot装置利用iot装置私有密钥来对iot装置分组解密,以生成数据/命令。在906处,iot装置处理数据/命令。

在使用对称密钥的实施方案中,可以在每个装置之间协商对称密钥交换(例如,在每个装置和集线器以及集线器和服务之间)。一旦完成密钥交换,每个传输装置在向接收装置传输数据之前利用对称密钥来对每次传输进行加密和/或签名。

本发明的实施方案可包括上文所述的各种步骤。这些步骤可体现为可用于致使通用处理器或专用处理器执行这些步骤的机器可执行指令。或者,这些步骤可由包含用于执行这些步骤的硬连线逻辑的特定硬件组件执行,或由编程的计算机部件和定制硬件部件的任何组合执行。

如本文所述,指令可指代特定硬件配置,诸如专用集成电路(asic),其被配置为执行某些特定操作或具有体现在非暂态计算机可读介质中的存储器中所存储的预定功能或软件指令。因此,可以使用在一个或多个电子装置(例如,终端站、网络元件等)上存储和执行的代码和数据来实现附图中所示的技术。此类电子装置使用计算机机器可读介质存储和传送(在内部和/或与网络上的其他电子装置)代码和数据,计算机机器可读介质诸如是非暂态计算机机器可读存储介质(例如,磁盘;光盘;随机存取存储器;只读存储器;闪存存储装置;相变存储器)和暂态计算机机器可读通信介质(例如,电学、光学、声学或其他形式的传播信号-诸如载波、红外信号、数字信号等)。此外,这类电子装置通常包括连接到一个或多个其他组件的一个或多个处理器的集合,所述其他组件诸如一个或多个存储装置(非暂态机器可读存储介质)、用户输入/输出装置(例如,键盘、触摸屏和/或显示器)以及网络连接。所述处理器集合和其他组件的耦接通常通过一个或多个总线和桥接器(也称为总线控制器)进行。存储装置和承载网络通信量的信号分别表示一个或多个机器可读存储介质和机器可读通信介质。因此,给定电子装置的存储装置通常将用于执行的代码和/或数据存储在该电子装置的一个或多个处理器的集合上。当然,可以使用软件、固件和/或硬件的不同组合来实现本发明的实施方案的一个或多个部分。

在整个具体实施方式中,出于解释的目的,陈述了许多特定细节以便透彻理解本发明。然而,本领域的技术人员将容易明白,可在没有这些特定细节中的一些的情况下实践本发明。在某些情况下,为免模糊本发明的主题,未详细描述众所周知的结构和功能。因此,应依据所附权利要求书确定本发明的范围和实质。

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