CN113923052A - 用于在物联网(IoT)系统中建立安全通信信道的设备和方法 - Google Patents

用于在物联网(IoT)系统中建立安全通信信道的设备和方法 Download PDF

Info

Publication number
CN113923052A
CN113923052A CN202111442470.XA CN202111442470A CN113923052A CN 113923052 A CN113923052 A CN 113923052A CN 202111442470 A CN202111442470 A CN 202111442470A CN 113923052 A CN113923052 A CN 113923052A
Authority
CN
China
Prior art keywords
iot
data packet
service
iot device
iot service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111442470.XA
Other languages
English (en)
Inventor
乔·布里特
奥马尔·扎卡里亚
斯科特·齐默尔曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Afero Inc
Original Assignee
Afero Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/791,373 external-priority patent/US9699814B2/en
Priority claimed from US14/791,371 external-priority patent/US9729528B2/en
Application filed by Afero Inc filed Critical Afero Inc
Publication of CN113923052A publication Critical patent/CN113923052A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/14WLL [Wireless Local Loop]; RLL [Radio Local Loop]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Abstract

本发明描述了用于在物联网IoT系统中建立安全通信信道的设备和方法。例如,一种计算机执行的方法包括:通过IoT中心建立IoT服务和IoT装置之间的通信;通过IoT服务生成包括IoT服务序列号和IoT服务公共密钥的第一数据包,并且使用由IoT服务的制造商和/或IoT装置实现的工厂公共/私有密钥对中的工厂私有密钥来签署第一数据包;将所签署的第一数据包从IoT服务传输到IoT装置;通过IoT装置使用工厂公共密钥来验证所签署的第一数据包;通过IoT服务生成包括IoT装置序列号和IoT装置公共密钥的第二数据包,并使用工厂私有密钥签署第二数据包;将所签署的第二数据包从IoT装置传输到IoT服务;以及通过IoT服务使用工厂公共密钥来验证所签署的第二数据包。

Description

用于在物联网(IoT)系统中建立安全通信信道的设备和方法
分案申请信息
本申请是申请日为2016年7月1日、申请号为“201680038597.6”、发明名称为“用于在物联网(IoT)系统中建立安全通信信道的设备和方法”的发明专利申请的分案申请。
技术领域
本发明整体涉及计算机系统领域。更具体地讲,本发明涉及用于在IoT系统中建立安全通信信道的设备和方法。
背景技术
“物联网”是指互联网基础架构内可唯一识别的嵌入式装置的互连。最终,IoT预计将导致新的种类广泛的应用程序,在这些应用程序中,几乎任何类型的物理事物可以提供关于其本身或其周围环境的信息和/或可以通过互联网上的客户端装置受到远程控制。
由于与连接性、功率和标准化缺乏有关的一些问题,物联网的开发和采用一直比较缓慢。例如,IoT开发和采用所面临的一个障碍是,没有标准平台允许开发人员设计和提供新的IoT装置及服务。为了进入IoT市场,开发人员必须从头开始设计整个IoT平台,包括支持所需的IoT实现需要的网络协议和基础架构、硬件、软件和服务。因此,IoT装置的每一家提供商都使用专有技术来设计和连接IoT装置,这使得对最终用户而言,采用多种类型的IoT装置是一项繁重的工作。IoT采用所面临的另一个障碍是与IoT装置的连接和供电有关的困难。例如,连接诸如冰箱、车库门开关、环境传感器、家用安防传感器/控制器等的电器需要电源来为每个连接的IoT装置供电,并且这个电源通常定位不太方便。
存在的另一个问题是用于互连IoT装置的无线技术(诸如蓝牙LE)通常是短程技术。所以,如果用于实施IoT的数据收集中心处于IoT装置的范围之外,则IoT装置将无法将数据传输到IoT中心(反之亦然)。因此,需要允许IoT装置将数据提供到范围之外的IoT中心(或其他IoT装置)的技术。
发明内容
提供了用于在IoT系统中建立安全通信信道的各种设备和方法。
其中,根据一些实施例,提供了一种计算机执行的方法,所述方法包括:通过物联网IoT中心建立物联网服务和IoT装置之间的通信;通过所述IoT服务生成包括IoT服务序列号和IoT服务公共密钥的第一数据包,并且使用由所述IoT服务的制造商和/或所述IoT装置实现的工厂公共/私有密钥对中的工厂私有密钥来签署所述第一数据包;将所签署的第一数据包从所述IoT服务传输到所述IoT装置;通过所述IoT装置使用所述工厂公共/私有密钥对中的工厂公共密钥来验证所签署的第一数据包;通过所述IoT服务生成包括IoT装置序列号和IoT装置公共密钥的第二数据包,并使用所述工厂私有密钥签署所述第二数据包;将所签署的第二数据包从所述IoT装置传输到所述IoT服务;以及通过所述IoT服务使用所述工厂公共密钥来验证所签署的第二数据包。
附图说明
可结合下列附图从以下具体实施方式更好地理解本发明,其中:
图1A至图1B示出了IoT系统架构的不同实施方案;
图2示出了根据本发明的一个实施方案的IoT装置;
图3示出了根据本发明的一个实施方案的IoT中心;
图4A至图4B示出了本发明用于控制和收集来自IoT装置的数据并且生成通知的实施方案;
图5示出了本发明用于收集来自IoT装置的数据并且生成来自IoT中心和/或IoT服务的通知的实施方案;
图6示出了中间移动装置收集来自固定IoT装置的数据并将该数据提供给IoT中心的系统的一个实施方案;
图7示出了本发明的一个实施方案中实施的中间连接逻辑;
图8示出根据本发明的一个实施方案的方法;
图9A示出了向IoT装置提供程序代码和数据更新的实施方案;
图9B示出了向IoT装置提供程序代码和数据更新的方法的实施方案;
图10示出了安全架构的一个实施方案的高级视图;
图11示出了其中使用用户身份模块(SIM)来在IoT装置上存储密钥的架构的一个实施方案;
图12A示出了其中使用条形码或QR代码来注册IoT装置的一个实施方案;
图12B示出了其中使用条形码或QR代码进行配对的一个实施方案;
图13示出了用于使用IoT中心对SIM进行编程的方法的一个实施方案;
图14示出了用于向IoT中心和IoT服务注册IoT装置的方法的一个实施方案;并且
图15示出了用于加密要发送给IoT装置的数据的方法的一个实施方案;
图16A至图16B示出了本发明用于在IoT服务和IoT装置之间加密数据的不同实施方案;
图17示出了本发明用于执行安全密钥交换、生成公共密码、并使用该密码生成密钥流的实施方案;
图18示出根据本发明的一个实施方案的数据包结构;
图19示出了在一个实施方案中所采用的在不与IoT装置正式配对的情况下向IoT装置写入数据/从IoT装置读取数据的技术;
图20示出了在本发明的一个实施方案中采用的一组示例性命令包;
图21示出了使用命令包的交易的示例性序列;
图22示出根据本发明的一个实施方案的方法;并且
图23A至图23C示出了根据本发明的一个实施方案的用于安全配对的方法。
具体实施方式
在下面的描述中,出于解释的目的,本文陈述了许多特定细节以便透彻理解下文描述的本发明的实施方案。然而,本领域的技术人员将容易明白,可在没有这些特定细节中的一些的情况下实践本发明的实施方案。在其他情况下,为避免模糊本发明的实施方案的基本原理,已熟知的结构和装置以框图形式示出。
本发明的一个实施方案包括一种物联网(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装置最初可以(例如,使用下文描述的配对技术)与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装置可以响应于通过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装置和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中心诸如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中的每个IoT装置可以使用诸如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处理该用户输入。在一个实施方案中,输入装置中的每个输入装置包括用于向最终用户提供反馈的LED 209。
另外,图示实施方案包括用于向低功率微控制器供电的电池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还包括安全密钥存储装置,以用于存储用于加密通信和/或生成签名的加密密钥。作为另外一种选择,密钥可以被保护在用户识别模块(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还包括安全密钥存储装置,以用于存储用于加密通信和生成/验证签名的加密密钥。作为另外一种选择,密钥可以被保护在用户识别模块(SIM)中。
本地通信接口303和天线311建立与IoT装置101至105中的每个IoT装置的本地通信信道。如上所述,在一个实施方案中,本地通信接口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,其中变压器用于将通过交流电源线提供的交流电压转换为较低的直流电压。
图4A示出了本发明使用IoT系统执行通用远程控制操作的一个实施方案。具体地讲,在该实施方案中,一组IoT装置101-103分别配备有红外(IR)和/或射频(RF)发射器401-403,用于发送远程控制代码以控制各种不同类型的电子设备,包括空调/加热器430、照明系统431和视听设备432(仅举几例)。在图4A所示的实施方案中,IoT装置101-103也分别配备有传感器404-406,以用于检测它们控制的装置的操作,如下所述。
例如,IoT装置101中的传感器404可以是用于感测当前温度/湿度的温度和/或湿度传感器,并且响应地基于当前所需的温度来控制空调/加热器430。在该实施方案中,空调/加热器430是被设计为经由远程控制装置(通常是其本身具有嵌入其中的温度传感器的遥控器)来控制的空调/加热器。在一个实施方案中,用户经由安装在用户装置135上的应用程序和浏览器向IoT中心110提供所需的温度。在IoT中心110上执行的控制逻辑412接收来自传感器404的当前温度/湿度数据,并且响应地向IoT装置101发送命令,以根据所需的温度/湿度来控制IR/RF发射器401。例如,如果温度低于所需温度,则控制逻辑412可以经由IR/RF发射器401向空调/加热器发送命令以升高温度(例如,通过关闭空调或者打开加热器)。该命令可以包括存储在IoT中心110上的数据库413中的必要远程控制代码。作为另外一种选择或除此之外,IoT服务421可以实施控制逻辑421,以基于指定的用户偏好和所存储的控制代码422来控制电子设备430-432。
所示示例中的IoT装置102被用于控制照明431。具体而言,IoT装置102中的传感器405可以是光电传感器或光电检测器,其被配置为检测由灯具431(或其他照明设备)产生的光的当前亮度。用户可以经由用户装置135向IoT中心110指定所需的照明水平(包括开或关的指示)。作为响应,控制逻辑412将向IR/RF发射器402发送命令以控制灯431的当前亮度水平(例如,如果当前亮度太低则增加照明,或者如果当前亮度太高则减少照明;或者只是打开灯或关闭灯)。
所示示例中的IoT装置103被配置为控制视听设备432(例如,电视机、A/V接收器、有线/卫星接收器、AppleTVTM等等)。IoT装置103中的传感器406可以是用于检测当前环境音量水平的音频传感器(例如,麦克风和相关联的逻辑)和/或基于电视机产生的光来检测电视机的开启关闭情况的光电传感器(例如,通过测量特定光谱内的光)。作为另外一种选择,传感器406可包括连接到视听设备的温度传感器,以基于所检测的温度来检测音频设备的开启关闭情况。再次,响应于经由用户装置135的用户输入,控制逻辑412可以经由IoT装置103的IR发射器403向视听设备发送命令。
应该指出的是,以上仅是本发明的一个实施方案的例示性示例。本发明的基本原理不限于由IoT装置控制的任何特定类型的传感器或设备。
在IoT装置101-103经由蓝牙LE连接而耦接到IoT中心110的实施方案中,传感器数据和命令通过蓝牙LE信道发送。然而,本发明的基本原理不限于蓝牙LE或任何其他通信标准。
在一个实施方案中,控制每个电子设备所需的控制代码被存储在IoT中心110上的数据库413中和/或IoT服务120上的数据库422中。如图4B所示,控制代码可以从用于IoT服务120上所维护的不同设备的控制代码422的主数据库被提供给IoT中心110。最终用户可以指定要通过在用户装置135上执行的应用程序和浏览器来控制的电子(或其他)设备的类型,并且作为响应,IoT中心上的远程控制代码学习模块491可以检索来自IoT服务120上的远程控制代码数据库492的所需IR/Rf代码(例如,用唯一的ID来识别每个电子设备)。
另外,在一个实施方案中,IoT中心110配备有IR/RF接口490,以允许远程控制代码学习模块491直接从与电子设备一起提供的原始远程控制器495“学习”新的远程控制代码。例如,如果远程控制数据库中不包括用于与空调430一起提供的原始远程控制器的控制代码,则用户可以经由用户装置135上的应用程序/浏览器与IoT中心110进行交互,以教导IoT中心110由原始远程控制器产生的各种控制代码(例如,增加温度、降低温度等)。一旦获知远程控制代码,它们就可以存储在IoT中心110上的控制代码数据库413中,并且/或者被发送回IoT服务120,以便被包括在中央远程控制代码数据库492中(并且随后被具有相同空调单元430的其他用户使用)。
在一个实施方案中,每个IoT装置101-103具有非常小的外形,并且可以使用双面胶带、小钉子、磁性附件等附接在它们各自的电子设备430-432上或附近。为了控制某件设备(诸如空调430),需将IoT装置101放置得足够远以使得传感器404能够准确地测量家中的环境温度(例如,若将IoT装置直接放置在空调上,则当空调运行时温度测量值会太低,而当加热器运行时温度测量值会太高)。相比之下,用于控制照明的IoT装置102可以放置在传感器405的照明器具431上或其附近,以检测当前照明水平。
除了提供所述总体控制功能之外,IoT中心110和/或IoT服务120的一个实施方案向最终用户发送与每个电子设备的当前状态相关的通知。该通知可以是文本消息和/或特定于应用程序的通知,其继而可以被显示在用户的移动装置135的显示器上。例如,如果用户的空调已经打开了一段较长时间但是温度没有发生变化,则IoT中心110和/或IoT服务120可以向用户发送空调未正常工作的通知。如果用户不在家(这可以通过运动传感器来检测,或基于当前检测到的用户位置来检测),并且传感器406指示视听设备430开启或者传感器405指示灯开启,则可向用户发送通知,询问用户是否想要关闭视听设备432和/或灯431。针对任何设备类型都可以发送相同类型的通知。
一旦用户接收到通知,他/她就可以通过用户装置135上的应用程序或浏览器来远程地控制电子设备430-432。在一个实施方案中,用户装置135是触摸屏装置,并且应用程序和浏览器显示出带有用于控制设备430-432的用户可选按钮的远程控制器图像。用户收到通知后,可以打开图形远程控制器,关闭或调整各种不同的设备。如果通过IoT服务120连接,则用户的选择可以从IoT服务120转发到IoT中心110,然后将通过控制逻辑412来控制设备。作为另外一种选择,用户输入可以从用户装置135直接发送到IoT中心110。
在一个实施方案中,用户可以对IoT中心110上的控制逻辑412进行编程,以对电子设备430-432执行各种自动控制功能。除了如上所述保持所需的温度、亮度水平和音量水平之外,如果检测到某些条件,则控制逻辑412可以自动关闭电子设备。例如,如果控制逻辑412检测到用户不在家并且空调未工作,则可以自动关闭空调。类似地,如果用户不在家,并且传感器406指示视听设备430开启或者传感器405指示灯开启,则控制逻辑412可以经由IR/RF发射器403和402分别自动发送命令,以关闭视听设备和灯。
图5示出了配备有用于监视电子设备530-531的传感器503-504的IoT装置104-105的另外的实施方案。具体地讲,本实施方案的IoT装置104包括温度传感器503,其可以放置在炉灶530上或炉灶附近,以检测炉灶何时仍然开着。在一个实施方案中,IoT装置104将由温度传感器503测量的当前温度发送到IoT中心110和/或IoT服务120。如果检测到炉灶打开超过阈值时间段(例如,基于所测量的温度),则控制逻辑512可以向最终用户的装置135发送通知,告知用户炉530处于开启状态。另外,在一个实施方案中,IoT装置104可以包括控制模块501,以响应于接收到来自用户的指令而关闭炉灶或自动地(如果控制逻辑512被用户编程为这样做)关闭炉灶。在一个实施方案中,控制逻辑501包括切断炉灶530的电力或供气的开关。然而,在其他实施方案中,控制逻辑501可被集成在炉灶内。
图5还示出了具有运动传感器504的IoT装置105,以用于检测某些类型的电子设备(诸如,洗衣机和/或烘干机)的运动。可用到的另一种传感器是用于检测环境音量水平的音频传感器(例如,麦克风及逻辑)。如同上述其他实施方案一样,如果满足某些指定的条件(例如,如果检测到运动进行了一段较长时间,指示洗衣机/烘干机未关闭),则该实施方案可以向最终用户发送通知。虽然未在图5中示出,IoT装置105还可以配备有控制模块,以自动地和/或响应于用户输入来关闭洗衣机/烘干机531(例如,通过关断电/气)。
在一个实施方案中,具有控制逻辑和开关的第一IoT装置可以被配置为关闭用户家中的所有电力,而具有控制逻辑和开关的第二IoT装置可以被配置为关闭用户家中的所有供气。然后可以将具有传感器的IoT装置设置在用户家中的供电设备或供气设备之上或附近。如果用户被通知存在特定的设备(例如,炉灶530)未关断,则用户随后可以发送关断家中所有电力或供气的命令,以防止造成损坏。作为另外一种选择,IoT中心110和/或IoT服务120中的控制逻辑512可以被配置为在这种情况下自动关断电力或供气。
在一个实施方案中,IoT中心110和IoT服务120以周期性的间隔进行通信。如果IoT服务120检测到与IoT中心110的连接已丢失(例如,在指定的持续时间内未能从IoT中心接收到请求或响应),则其将该信息发送给最终用户的设备135(例如通过发送文本消息或特定于应用程序的通知)。
用于通过中间装置传送数据的设备和方法
如上所述,因为用于互连IoT装置的无线技术(诸如蓝牙LE)通常是短程技术,所以如果用于实施IoT的中心处于IoT装置的范围之外,则IoT装置将无法将数据传输到IoT中心(反之亦然)。
为了克服这项缺陷,本发明的一个实施方案提供了一种用于IoT装置的机构,其处于IoT中心的无线范围之外,以便当一个或多个移动装置在范围内时周期性地与所述一个或多个移动装置连接。一旦建立连接,IoT装置就可以将需要提供给IoT中心的任何数据传输到移动装置,移动装置然后将数据转发到IoT中心。
如图6所示,一个实施方案包括IoT中心110、超出IoT中心110的范围的IoT装置601,和移动装置611。超出范围的IoT装置601可以包括能够收集和传送数据的任何形式的IoT装置。例如,IoT装置601可以包括配置在冰箱内的数据收集装置,以监视冰箱中可食用的食品、食用这些食品的用户以及当前温度。当然,本发明的基本原理不限于任何特定类型的IoT装置。本文所述的技术可以使用任何类型的IoT装置来实施,包括那些用于收集和传输用于以下家电的数据的装置:智能仪表、炉灶、洗衣机、烘干机、照明系统、HVAC系统和视听设备(仅举几例)。
此外,在操作中的移动装置、图6所示的IoT装置611可以是能够传送数据和存储数据的任何形式的移动装置。例如,在一个实施方案中,移动装置611是其上安装有应用程序的智能手机,以有利于本文所述的技术。在另一个实施方案中,移动装置611包括可穿戴设备,诸如贴在项链或手镯上的通信令牌、智能手表或健身装置。可穿戴令牌对于老年用户或未拥有智能手机装置的其他用户可能特别有用。
在操作中,超出范围的IoT装置601可以周期性地或连续地检查与移动装置611的连通性。在建立起连接时(例如,作为用户在冰箱附近移动的结果),IoT装置601上所收集的任何数据605被自动发送到移动装置611上的临时数据储存库615。在一个实施方案中,IoT装置601和移动装置611使用低功率无线标准(诸如BTLE)来建立本地无线通信信道。在这样的情况下,最初可以使用已知的配对技术将移动装置611与IoT装置601配对。
一旦已将数据传输到临时数据储存库,移动装置611就将在与IoT中心110建立起通信时(例如,当用户在IoT中心110的范围内走动时)传输数据。IoT中心然后可以将数据存储在中央数据储存库413中,并且/或者通过因特网将数据发送到一个或多个服务和/或其他用户装置。在一个实施方案中,移动装置611可以使用不同类型的通信信道来将数据提供给IoT中心110(可能是更高功率的通信信道,诸如WiFi)。
超出范围的IoT装置601、移动装置611和IoT中心都可以用程序代码和/或逻辑来配置,以实施本文所述的技术。如图7所示,例如,IoT装置601可以被配置有中间连接逻辑和/或应用程序,移动装置611可以被配置有中间连接逻辑/应用程序,并且IoT中心110可以被配置有中间连接逻辑/应用程序721,以执行本文所述的操作。每个装置上的中间连接逻辑/应用程序可以用硬件、软件或其任何组合来实现。在一个实施方案中,IoT装置601的中间连接逻辑/应用程序701搜索并建立与移动装置上的中间连接逻辑/应用程序711(其可以被实施为装置应用程序)的连接,以将数据传输到临时数据储存库615。移动装置611上的中间连接逻辑/应用程序701然后将数据转发到IoT中心上的中间连接逻辑/应用程序,后者将数据存储在中央数据储存库413中。
如图7所示,每个装置上的中间连接逻辑/应用程序701、711、721可以基于当前应用程序来配置。例如,对于冰箱而言,连接逻辑/应用程序701可能仅需要周期性地发送几个数据包。对于其他应用程序(例如,温度传感器),连接逻辑/应用程序701可能需要传送更频繁的更新。
在一个实施方案中,IoT装置601(而非移动装置611)可以被配置为建立与位于IoT中心110的范围内的一个或多个中间IoT装置的无线连接。在该实施方案中,IoT中心范围之外的任何IoT装置601可以通过使用其他IoT装置形成“链”而链接到该中心。
另外,尽管为了简单起见,图6至图7仅示出了单个移动装置611,然而在一个实施方案中,不同用户的多个此类移动装置可以被配置为与IoT装置601进行通信。而且,可以对多个其他IoT装置实施相同的技术,从而在整个家中形成中间装置数据收集系统。
此外,在一个实施方案中,本文所述的技术可以用于收集各种不同类型的相关数据。例如,在一个实施方案中,每当移动装置611与IoT装置601连接时,所收集的数据605就可包括用户的身份。这样一来,IoT系统可以被用来跟踪家中不同用户的行为。例如,如果在冰箱内使用该系统,则所收集的数据605可包括经过冰箱的每个用户的身份、打开冰箱的每个用户的身份,以及每个用户所食用的特定食物。可以从其他类型的IoT装置收集不同类型的数据。通过使用该数据,系统能够确定例如哪个用户洗了衣服、哪个用户在给定的日子看了电视、每个用户入眠和醒来的时间等等。所有这些来源于人群的数据然后可以在IoT中心的数据储存库413内得到编译和/或被转发到外部服务或用户。
本文所述的技术的另一有益应用程序为用于监视可能需要帮助的老年用户。对于该应用程序,移动装置611可以是由老年用户佩戴的非常小的令牌,以收集用户家中不同房间里的信息。例如,每当用户打开冰箱时,该数据将与所收集的数据605会一起得以包括,并且经由令牌传输到IoT中心110。然后,IoT中心可以将数据提供给一个或多个外部用户(例如,照顾老年用户的儿童或其他个人)。如果在指定的时间段内(例如12小时)没有收集到数据,那么这意味着老年用户没有在家中移动和/或没有打开冰箱。然后,IoT中心110或连接到IoT中心的外部服务可以向这些其他个人发送警报通知,通知他们应该查看老年用户的情况。另外,所收集的数据605可以包括其他相关信息,诸如用户正在食用的食物、以及是否需要去一趟杂货店、老年用户是否正在看电视以及老年用户看电视的频率、老年人用户洗衣服的频率等。
在另一个具体实施中,如果洗衣机、冰箱、HVAC系统等电子设备存在问题,则所收集的数据可以包括对需要更换的部件的指示。在这种情况下,可能会向技术人员发送通知,请求解决问题。技术人员然后带着所需的更换部件去往这户人家。
图8中示出根据本发明的一个实施方案的方法。该方法可在上述架构的环境内实施,但不限于任何具体架构。
在801处,在超出IoT中心的范围的IoT装置处周期性地收集数据(例如,打开冰箱门、食用的食品等)。在802处,IoT装置周期性或连续地检查与移动装置的连通性(例如,使用标准本地无线技术来建立连接,诸如BTLE标准所指定的连接)。如果建立了与移动装置的连接,则在802处确定该连接,然后在803处将所收集的数据传输到移动装置。在804处,移动装置将数据传输到IoT中心、外部服务和/或用户。如上所述,如果移动装置已经连接(例如,经由WiFi链路),则可以立即传输数据。
除了收集来自IoT装置的数据之外,在一个实施方案中,本文所述的技术可以用于更新或以其他方式向IoT装置提供数据。一个示例示于图9A中,其示出了具有需要安装在IoT装置601(或一组这样的IoT装置)上的程序代码更新901的IoT中心110。程序代码更新可以包括系统更新、补丁、配置数据以及IoT装置按用户需要进行操作所需的任何其他数据。在一个实施方案中,用户可以经由移动装置或计算机为IoT装置601指定配置选项,然后将这些配置选项存储在IoT中心110上,并使用本文所述的技术提供给IoT装置。具体而言,在一个实施方案中,IoT中心110上的中间连接逻辑/应用程序721与移动装置611上的中间连接逻辑/应用程序711进行通信,以将程序代码更新存储在临时存储器615内。当移动装置611进入IoT装置601的范围时,移动装置611上的中间连接逻辑/应用程序711与IoT装置601上的中间连接逻辑/应用程序701相连接,以将程序代码更新提供给装置。在一个实施方案中,IoT装置601然后可以进入自动更新过程,以安装新的程序代码更新和/或数据。
更新IoT装置的方法示于图9B中。该方法可在上述系统架构的环境内实施,但不限于任何具体系统架构。
在900处,在IoT中心和/或外部服务(例如,通过互联网联接到移动装置)上提供新的程序代码或数据更新。在901处,移动装置代表IoT装置接收并存储程序代码或数据更新。在902处,IoT装置和/或移动装置周期性地进行检查,以确定是否已经建立连接。如果在903处确定建立了连接,则在904处,将更新传输到IoT装置并进行安装。
提高安全性的实施方案
在一个实施方案中,每个IoT装置101的低功率微控制器200和IoT中心110的低功率逻辑/微控制器301包括安全密钥存储器,以用于存储由下述实施方案使用的加密密钥(参见,例如图10至图15和相关文字)。作为另外一种选择,密钥可以被保护在如下所述的用户识别模块(SIM)中。
图10示出了一种高级架构,使用公共密钥基础结构(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分别包括安全密钥存储器1001、1003,以用于安全存储每个设备的私有密钥。然后安全逻辑1002、1304利用安全存储的私有密钥来执行本文描述的加密/解密操作。类似地,IoT中心110包括安全存储器1011,以用于存储IoT中心私有密钥以及IoT装置101-102和IoT服务120的公共密钥;和安全逻辑1012,以用于使用密钥执行加密/解密操作。最后,IoT服务120可以包括安全存储1021,以用于安全存储其自身的私有密钥、各种IoT装置和IoT中心的公共密钥;和安全逻辑1013,以用于使用密钥加密/解密与IoT中心和设备的通信。在一个实施方案中,当IoT中心110接收到来自IoT装置的公共密钥证书时,IoT中心可以验证该证书(例如,通过如上所述使用主密钥验证签名),然后从其中提取公共密钥,并将公共密钥存储于其安全密钥存储器1011中。
举例来说,在一个实施方案中,当IoT服务120需要向IoT装置101传输命令或数据时(例如,解锁门的命令、读取传感器的请求、IoT装置待处理/显示的数据等),安全逻辑1013使用IoT装置101的公共密钥对该数据/命令进行加密以生成加密的IoT装置数据包。在一个实施方案中,然后该安全逻辑使用IoT中心110的公共密钥对IoT装置数据包进行加密以生成IoT中心数据包,并且将IoT中心数据包传输到IoT中心110。在一个实施方案中,服务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中心中的安全模块1012是可信的,则服务120可以与中心安全模块1312协商会话密钥,然后安全模块1012将与每个装置120协商会话密钥。然后在被重新加密以传输到装置101之前,来自服务120的消息将在中心安全模块1012中被解密和验证。
在一个实施方案中,为了防止中心安全模块1012上的泄密,可以在安装时在装置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上的安全逻辑1002使用IoT中心110的公共密钥对发送到IoT中心110的数据包进行加密。然后IoT中心110上的安全逻辑1012可以使用IoT中心的私有密钥对数据包进行解密。类似地,IoT装置101上的安全逻辑1002和/或IoT中心110上的安全逻辑1012可以使用IoT服务120的公共密钥对发送到IoT服务120的数据包进行加密(然后其可由IoT服务120上的安全逻辑1013使用服务的私有密钥进行解密)。使用对称密钥,装置101和中心110可以共享对称密钥,而中心和服务120可以共享不同的对称密钥。
虽然上文在以上说明中陈述了某些具体细节,但应该注意,本发明的基本原理可以使用各种不同的加密技术来实现。例如,虽然上述一些实施方案使用非对称公共/私有密钥对,但另选的实施方案可以使用在各种IoT装置101-102、IoT中心110和IoT服务120之间安全交换的对称密钥。此外,在一些实施方案中,数据/命令本身不被加密,而是使用密钥在该数据/命令(或其他数据结构)上生成签名。然后接受方可以使用其密钥来查验签名。
如图11所示,在一个实施方案中,使用可编程用户识别模块(SIM)1101来实现每个IoT装置101上的安全密钥存储。在该实施方案中,最初可通过安置在IoT装置101上的SIM接口1100内的未编程的SIM卡1101将IoT装置101提供给最终用户。为了用一组一个或多个加密密钥对SIM进行编程,用户将可编程SIM卡1101从SIM接口500取出并将其插入到IoT中心110上的SIM编程接口1102中。然后IoT中心上的编程逻辑1125对SIM卡1101进行安全地编程以将IoT装置101与IoT中心110和IoT服务120进行注册/配对。在一个实施方案中,可以由编程逻辑1125随机地生成公共/私有密钥对,然后可以将该密钥对中的公共密钥存储在IoT中心的安全存储装置411中,而将该密钥对中的私有密钥存储在可编程SIM 1101内。另外,编程逻辑525可以将IoT中心110、IoT服务120和/或任何其他IoT装置101的公共密钥存储在SIM卡1401上(待由IoT装置101上的安全逻辑1302用来对传出数据进行加密)。一旦SIM1101被编程,使用SIM作为安全标识符(例如,使用用于使用SIM注册装置的现有技术)新的IoT装置101可以预置有IoT服务120。在预置之后,IoT中心110和IoT服务120均将安全地存储在对与IoT装置101的通信进行加密时要使用的IoT装置的公共密钥的副本。
上文结合图11所述的技术为向最终用户提供新的IoT装置提供了巨大的灵活性。SIM卡可以由最终用户通过IoT中心110直接编程并且编程的结果可被安全地传送到IoT服务120,而不需要用户在销售/购买时将每个SIM直接注册到特定的服务提供商(如当前所做的那样)。因此,新的IoT装置101可以由在线或本地零售商出售给最终用户,并且随后被安全地预置有IoT服务120。
尽管上文在SIM(用户识别模块)的特定上下文中描述了注册和加密技术,但是本发明的基本原理不限于“SIM”装置。相反,可以使用任何类型的用于存储一组加密密钥的安全存储装置来实现本发明的基本原理。而且,尽管上述实施方案包括可移除的SIM装置,但是在一个实施方案中,SIM装置不可移除,但是IoT装置本身可以插入到IoT中心110的编程接口1102内。
在一个实施方案中,在分发到最终用户之前将SIM预编程到IoT装置101中,而不是要求用户对SIM(或其他装置)进行编程。在该实施方案中,当用户设置IoT装置101时,可以使用本文所述的各种技术来安全地交换IoT中心110/IoT服务120和新IoT装置101之间的加密密钥。
例如,如图12A所示,每个IoT装置101或SIM 401可以与唯一识别IoT装置101和/或SIM 1001的条形码或QR码1501封装在一起。在一个实施方案中,条形码或QR码1201包括用于IoT装置101或SIM 1001的公共密钥的编码表示。作为另外一种选择,条形码或QR码1201可以由IoT中心110和/或IoT服务120用来识别或生成公共密钥(例如,用作指向已存储在安全存储装置中的公共密钥)。条形码或QR码601可印刷在单独的卡上(如图12A所示)或者可直接印刷在IoT装置本身上。无论条形码印刷在何处,在一个实施方案中,IoT中心110配备有条形码读取器206,以用于读取条形码并将结果数据提供给IoT中心110上的安全逻辑1012和/或IoT服务120上的安全逻辑1013。然后IoT中心110上的安全逻辑1012可以将IoT装置的公共密钥存储在其安全密钥存储装置1011内,并且IoT服务120上的安全逻辑1013可以将公共密钥存储在其安全存储装置1021内(以用于随后的加密通信)。
在一个实施方案中,包含在条形码或QR码1201中的数据也可以通过安装有IoT服务提供商设计的IoT应用程序或基于浏览器的小程序的用户装置135(例如,诸如iPhone或Android装置)来捕捉。一旦被捕捉,条形码数据可以通过安全连接(例如,诸如安全套接字层(SSL)连接)被安全地传送到IoT服务120。条形码数据也可以通过安全的本地连接(例如,通过本地WiFi或蓝牙LE连接)从客户端装置135提供给IoT中心110。
IoT装置101上的安全逻辑1002和IoT中心110上的安全逻辑1012可以使用硬件、软件、固件或其任何组合来实现。例如,在一个实施方案中,安全逻辑1002、1012被实现在用于在IoT装置101和IoT中心110之间建立本地通信信道130的芯片内(例如,蓝牙LE芯片,如果本地信道130是蓝牙LE)。无论安全逻辑1002、1012的具体位置如何,在一个实施方案中,安全逻辑1002、1012被设计为建立用于执行某些类型的程序代码的安全执行环境。例如,这可以通过使用TrustZone技术(在某些ARM处理器上可用)和/或可信执行技术(由Intel设计)来实现。当然,本发明的基本原理不限于任何特定类型的安全执行技术。
在一个实施方案中,条形码或QR码1501可用于将每个IoT装置101与IoT中心110配对。例如,可以将嵌入在条形码或QR码1501内的配对代码提供给IoT中心110,以将IoT中心与对应的IoT装置配对,而不是使用当前用于配对蓝牙LE装置的标准无线配对过程。
图12B示出了其中IoT中心110上的条形码读取器206捕捉与IoT装置101相关联的条形码/QR码1201的一个实施方案。如上所述,条形码/QR码1201可以直接印刷在IoT装置101上,或者可以印刷在设置有IoT装置101的单独的卡上。在任一种情况下,条形码读取器206从条形码/QR码1201中读取配对代码,并将配对代码提供给本地通信模块1280。在一个实施方案中,本地通信模块1280是蓝牙LE芯片和相关联的软件,但是本发明的基本原理不限于任何特定的协议标准。一旦接收到配对代码,则将其存储在包含配对数据1285的安全存储装置中,并且IoT装置101和IoT中心110被自动配对。每当IoT中心以这种方式与新的IoT装置配对时,用于该配对的配对数据就被存储在安全存储装置685内。在一个实施方案中,一旦IoT中心110的本地通信模块1280接收到配对代码,则其可以使用该代码作为密钥对IoT装置101的本地无线信道上的通信进行加密。
类似地,在IoT装置101方面,本地通信模块1590将配对数据存储在指示与IoT中心配对的本地安全存储装置1595内。配对数据1295可以包括在条形码/QR码1201中识别的预编程的配对代码。配对数据1295还可以包括建立安全本地通信信道所需的从IoT中心110上的本地通信模块1280接收的配对数据(例如,用于对与IoT中心110的通信进行加密的附加密钥)。
因为配对代码不通过无线传输,因此条形码/QR码1201可用于以比当前无线配对协议更安全的方式执行本地配对。另外,在一个实施方案中,可以使用用于配对的相同的条形码/QR码1201来识别加密密钥以建立从IoT装置101到IoT中心110以及从IoT中心110到IoT服务120的安全连接。
图13示出了根据本发明的一个实施方案的用于编程SIM卡的方法。该方法可在上述的系统架构内实施,但不限于任何特定系统架构。
在1301处,用户接收具有空白SIM卡的新IoT装置,并且在1602处,用户将空白SIM卡插入到IoT中心中。在1303处,用户用一组一个或多个加密密钥对空白SIM卡进行编程。例如,如上所述,在一个实施方案中,IoT中心可以随机生成公共/私有密钥对,并且将私有密钥存储在SIM卡上,并将公共密钥存储在其本地安全存储装置中。另外,在1304处,至少公共密钥被传输到IoT服务,使得其可以用于识别IoT装置并且建立与IoT装置的加密通信。如上所述,在一个实施方案中,在图13所示的方法中可使用除了“SIM”卡之外的可编程装置来执行与SIM卡相同的功能。
图14示出了用于将新的IoT装置集成到网络中的方法。该方法可在上述的系统架构内实施,但不限于任何特定系统架构。
在1401处,用户接收已预分配了加密密钥的新的IoT装置。在1402处,密钥被安全地提供给IoT中心。如上所述,在一个实施方案中,这涉及读取与IoT装置相关联的条形码以识别分配给该装置的公共/私有密钥对的公共密钥。条形码可以由IoT中心直接读取,也可以通过移动装置通过应用程序或浏览器来捕捉。在另选的实施方案中,可以在IoT装置和IoT中心之间建立安全通信信道诸如蓝牙LE信道、近场通信(NFC)信道或安全WiFi信道以交换密钥。无论密钥是如何传输的,一旦被接收到,则将其存储在IoT中心装置的安全密钥库中。如上所述,在IoT中心上可以使用各种安全执行技术来存储和保护密钥,诸如安全区域、可信执行技术(TXT)和/或Trustzone。另外,在803处,密钥被安全地传输到IoT服务,该IoT服务将密钥存储在其自己的安全密钥库中。然后其可以使用该密钥对与IoT装置的通信进行加密。再次,可以使用证书/签署的密钥来实现交换。在中心110内,防止修改/添加/移除所存储的密钥是特别重要的。
图15示出了用于使用公共/私有密钥将命令/数据安全地传送到IoT装置的方法。该方法可在上述的系统架构内实施,但不限于任何特定系统架构。
在1501处,IoT服务使用IoT装置公共密钥对数据/命令进行加密以创建IoT装置数据包。然后使用IoT中心的公共密钥对该IoT装置数据包进行加密以创建IoT中心数据包(例如,在IoT装置数据包周围创建IoT中心包装)。在1502处,IoT服务将IoT中心数据包传输到IoT中心。在1503处,IoT中心使用IoT中心的私有密钥对IoT中心数据包进行解密以生成IoT装置数据包。然后在1504处,其将IoT装置数据包传输到IoT装置,在1505处,使用IoT装置私有密钥对IoT装置数据包进行解密以生成数据/命令。在1506处,IoT装置处理数据/命令。
在使用对称密钥的实施方案中,可以在每个装置之间(例如,每个装置和中心之间以及中心和服务之间)协商对称密钥交换。一旦完成密钥交换,每个传输装置在将数据传输到接收装置之前使用对称密钥对每次传输进行加密和/或签署。
用于在物联网(IoT)系统中建立安全通信信道的设备和方法
在本发明的一个实施方案中,无论用于支持通信信道的中间装置如何(例如,诸如用户的移动装置611和/或IoT中心110),都要在IoT服务120和每个IoT装置101之间执行数据的加密和解密。图16A示出了通过IoT中心110进行通信的一个实施方案,而图16B示出了不需要IoT中心的另一个实施方案。
首先转到图16A,IoT服务120包括管理一组“服务会话密钥”1650的加密引擎1660,并且每个IoT装置101包括管理用于对IoT装置101和IoT服务120之间的通信进行加密/解密的一组“装置会话密钥”1651的加密引擎1661。当执行本文所述的安全/加密技术时,加密引擎可以依赖于不同的硬件模块,该硬件模块包括用于(除别的以外)生成会话公共/私有密钥对并且防止对该密钥对中的私有会话密钥进行访问的硬件安全模块1630-1631,以及用于使用得出的密码生成密钥流的密钥流生成模块1640-1641。在一个实施方案中,服务会话密钥1650和装置会话密钥1651包括相关的公共/私有密钥对。例如,在一个实施方案中,IoT装置101上的装置会话密钥1651包括IoT服务120的公共密钥和IoT装置101的私有密钥。如下文详细讨论的,在一个实施方案中,为了建立安全通信会话,每个加密引擎1660和1661分别使用公共/私有会话密钥对1650和1651来生成相同的密码,然后该密码被SKGM 1640-1641用来生成密钥流以对IoT服务120与IoT装置101之间的通信进行加密和解密。下文提供了根据本发明的一个实施方案的与密码的生成和使用相关联的附加细节。
在图16A中,一旦使用密钥1650-1651生成了密码,则客户端将总是通过IoT服务120向IoT装置101发送消息,如清除事务1611所示。本文所用的“清除”意指表示底层消息没有使用本文所述的加密技术进行加密。然而,如图所示,在一个实施方案中,在客户端装置611和IoT服务120之间建立安全套接字层(SSL)信道或其他安全信道(例如,互联网协议安全(IPSEC)信道)以保护通信。然后IoT服务120上的加密引擎1660使用所生成的密码对消息进行加密,并且在1602处将加密的消息传输到IoT中心110。在一个实施方案中,使用密码和计数器值来生成用于对每个消息数据包进行加密的密钥流,而不是使用密码直接对消息进行加密。下文结合图17描述了该实施方案的细节。
如图所示,可以在IoT服务120和IoT中心110之间建立SSL连接或其他安全信道。IoT中心110(其在一个实施方案中不具有对消息进行解密的能力)在1603处(例如,通过蓝牙低功耗(BTLE)通信信道)将加密的消息传输到IoT装置。然后IoT装置101上的加密引擎1661可以使用密码对消息进行解密并且处理消息内容。在使用密码来生成密钥流的实施方案中,加密引擎1661可以使用密码和计数器值来生成密钥流,然后使用密钥流对消息数据包进行解密。
消息本身可以包括IoT服务120和IoT装置101之间的任何形式的通信。例如,消息可以包括指示IoT装置101执行特定功能诸如进行测量并将结果报告回客户端装置611的命令数据包,或者可以包括用于配置IoT装置101的操作的配置数据。
如果需要响应,那么在1604处,IoT装置101上的加密引擎1661使用密码或得出的密钥流对响应进行加密并且将所加密的响应传输到IoT中心110,该IoT中心在1605处将响应转发到IoT服务120。然后在1606处(例如,通过SSL或其他安全通信信道),IoT服务120上的加密引擎1660使用密码或得出的密钥流对响应进行解密并且将解密的响应传输到客户端装置611。
图16B示出了不需要IoT中心的实施方案。相反地,在该实施方案中,IoT装置101和IoT服务120之间的通信通过客户端装置611发生(例如,如上文结合图6至图9B所述)。在该实施方案中,为了向IoT装置101传输消息,客户端装置611在1611处将消息的未加密版本传输到IoT服务120。在1612处,加密引擎1660使用密码或得出的密钥流对消息进行加密,并且将加密的消息传输回客户端装置611。然后客户端装置611在1613处将加密的消息转发到IoT装置101,并且加密引擎1661使用密码或得出的密钥流对消息进行解密。然后IoT装置101可以如本文所述处理消息。如果需要响应,那么在1614处加密引擎1661使用密码对响应进行加密并且将所加密的响应传输到客户端装置611,该客户端装置在1615处将所加密的响应转发到IoT服务120。然后在1616处,加密引擎1660对该响应进行解密并且将解密的响应传输到客户端装置611。
图17示出了可最初在IoT服务120和IoT装置101之间执行的密钥交换和密钥流生成。在一个实施方案中,每当IoT服务120和IoT装置101建立新的通信会话时可执行该密钥交换。作为另外一种选择,可以执行密钥交换,并且所交换的会话密钥可以使用指定的时间段(例如,一天、一周等)。虽然为简单起见在图17没有示出中间装置,但通信可以通过IoT中心110和/或客户端装置611发生。
在一个实施方案中,IoT服务120的加密引擎1660向HSM 1630(例如,其可以是诸如由Amazon提供的CloudHSM)发送命令以生成会话公共/私有密钥对。随后,HSM 1630可以防止对该密匙对中的私有会话密钥进行访问。类似地,IoT装置101上的加密引擎可以向HSM1631(例如,得自Atmel
Figure BDA0003384028170000271
的Atecc508 HSM)传输命令,HSM 1631生成会话公共/私有密钥对并且防止对该密匙对中的会话私有密钥进行访问。当然,本发明的基本原理不限于任何特定类型的加密引擎或制造商。
在一个实施方案中,在1701处,IoT服务120将使用HSM 1630生成的会话公共密钥传输到IoT装置101。IoT装置使用其HSM 1631来生成其自己的会话公共/私有密钥对,并且在1702处将其密匙对中的公共密钥传输到IoT服务120。在一个实施方案中,加密引擎1660-1661使用椭圆曲线Diffie-Hellman(ECDH)协议来建立共享密码,该协议是允许双方具有椭圆曲线公共-私有密匙对的匿名密钥协定。在一个实施方案中,使用这些技术,在1703处,IoT服务120的加密引擎1660使用IoT装置会话公共密钥和其自己的会话私有密钥生成密码。类似地,在1704处,IoT装置101的加密引擎1661使用IoT服务120会话公共密钥和其自己的会话私有密钥单独地生成相同的密码。更具体地讲,在一个实施方案中,IoT服务120上的加密引擎1660根据以下公式生成密码:密码=IoT装置会话公共密钥*IoTIoT服务会话私有密钥,其中‘*’表示IoT装置会话公共密钥以点对点的方式乘以IoT服务会话私有密钥。IoT装置101上的加密引擎1661根据以下公式生成密码:密码=IoT服务会话公共密钥*IoT装置会话私有密钥,其中IoT服务会话公共密钥以点对点的方式乘以IoT装置会话私有密钥。最后,如下所述,IoT服务120和IoT装置101均已生成了用于对通信进行加密的相同的密码。在一个实施方案中,加密引擎1660-1661分别依赖于硬件模块诸如KSGM 1640-1641来执行上述用于生成密码的操作。
一旦秘密已被确定,其可由加密引擎1660和1661用来直接对数据进行加密和解密。或者,在一个实施方案中,加密引擎1660-1661向KSGM 1640-1641发送使用密码生成新的密钥流的命令以对每个数据包进行加密/解密(即,为每个数据包生成新的密钥流数据结构)。具体地讲,密钥流生成模块1640-1641的一个实施方案采用Galois/计数器模式(GCM),其中计数器值针对每个数据包递增,并且与密钥组合使用以生成密钥流。因此,为了将数据包传输到IoT服务120,IoT装置101的加密引擎1661使用密码和当前计数器值来使KSGM1640-1641生成新的密钥流并且使计数器值递增以生成下一个密钥流。然后,在传输到IoT服务120之前,新生成的密钥流被用于对数据包进行加密。在一个实施方案中,密钥流与数据进行异或运算(XOR)以生成加密的数据包。在一个实施方案中,IoT装置101将具有所加密数据包的计数器值传输到IoT服务120。然后IoT服务上的加密引擎1660与KSGM 1640通信,KSGM 1640使用所接收的计数器值和密码生成密钥流(由于使用的是相同的密码和计数器值,其应该是相同的密钥流)并且使用所生成的密钥流对数据包进行解密。
在一个实施方案中,从IoT服务120传输到IoT装置101的数据包以相同的方式被加密。具体地讲,计数器对于每个数据包递增,并且与密码一起使用以生成新的密钥流。然后该密钥流被用来对数据进行加密(例如,执行数据和密钥流的XOR运算),并且所加密的数据包与计数器值一起被传输到IoT装置101。然后IoT装置101上的加密引擎1661与KSGM 1641通信,KSGM 1641使用计数器值和密码生成用于对数据包进行解密的相同的密钥流。因此,在该实施方案中,加密引擎1660-1661使用它们自己的计数器值生成用于对数据进行加密的密钥流,并且使用与所加密的数据包一起被接收的计数器值生成用于对数据进行解密的密钥流。
在一个实施方案中,每个加密引擎1660-1661跟踪其从另一个加密引擎接收到的最后的计数器值,并且包括用于检测计数器值是否不按顺序接收或者是否多次接收到相同的计数器值的排序逻辑。如果一个计数器值不按顺序接收,或者如果多次收到相同的计数器值,这可能指示正在尝试重放攻击。作为响应,加密引擎1660-1661可以从通信信道断开和/或可以生成安全警报。
图18示出了本发明的一个实施方案中所采用的包括4字节计数器值1800、可变大小的加密数据字段1801和6字节标签1802的示例性加密数据包。在一个实施方案中,标签1802包括校验和值以查验解密的数据(一旦该数据已被解密)。
如上所述,在一个实施方案中,可以周期性地和/或响应于每个新的通信会话的发起来生成在IoT服务120和IoT装置101之间交换的会话公共/私有密钥对1650-1651。
本发明的一个实施方案实现用于验证IoT服务120和IoT装置101之间的会话的附加技术。具体地讲,在一个实施方案中,使用公共/私有密钥对的分级结构,包括主密钥对、一组工厂密钥对和一组IoT服务密钥对,以及一组IoT装置密钥对。在一个实施方案中,主密钥对包括所有其他密钥对的信任根并且被保持在单个高度安全的位置(例如,在实现本文所述的IoT系统的组织的控制下)。主私有密钥可用于对各种其他密钥对诸如工厂密钥对生成签名(并由此进行验证)。然后可使用主公共密钥来核验签名。在一个实施方案中,制造IoT装置的每个工厂被分配其自己的工厂密钥对,然后可以用它来验证IoT服务密钥和IoT装置密钥。例如,在一个实施方案中,使用工厂私有密钥来生成对IoT服务公共密钥和IoT装置公共密钥的签名。然后可使用对应的工厂公共密钥来核验这些签名。请注意,这些IoT服务/装置公共密钥与上文结合图16A至图16B所述的“会话”公共密钥/私有密钥不同。上述会话公共密钥/私有密钥是临时的(即,针对服务/装置会话生成),而IoT服务/装置密钥对是永久的(即,在工厂生成)。
考虑到主密钥、工厂密钥、服务/装置密钥之间的上述关系,本发明的一个实施方案执行以下操作以在IoT服务120和IoT装置101之间提供附加的验证和安全层:
A.在一个实施方案中,IoT服务120初始生成包含以下内容的消息:
1.IoT服务的唯一ID:
·IoT服务的序列号;
·时间戳;
·用于签署此唯一ID的工厂密钥的ID;
·唯一ID的类别(即,服务);
·IoT服务的公共密钥
·对该唯一ID的签名。
2.工厂证书包括:
·时间戳
·用于签署该证书的主密钥的ID
·工厂的公共密钥
·工厂证书的签名
3.IoT服务会话公共密钥(如上文结合图16A至图16B所述)
4.IoT服务会话公共密钥签名(例如,使用IoT服务的私有密钥签署)
B.在一个实施方案中,消息在协商信道上被发送至IoT装置(如下所述)。IoT装置解析消息并:
1.核验工厂证书的签名(仅当其存在于消息有效负载中时)
2.使用由唯一ID标识的密钥来核验唯一ID的签名
3.使用来自唯一ID的IoT服务的公共密钥来核验IoT服务会话公共密钥签名
4.保存IoT服务的公共密钥以及IoT服务的会话公共密钥
5.生成IoT装置会话密钥对
C.IoT装置然后生成包含以下内容的消息:
1.IoT装置的唯一ID
·IoT装置序列号
·时间戳
·用于签署此唯一ID的工厂密钥的ID
·唯一ID的类别(即,IoT装置)
·IoT装置的公共密钥
·唯一ID的签名
2.IoT装置的会话公共密钥
3.使用IoT装置的密钥签署(IoT装置会话公共密钥+IoT服务会话公共密钥)的签名
D.该消息被发送回IoT服务。IoT服务解析消息并:
1.使用工厂公共密钥来核验唯一ID的签名
2.使用IoT装置的公共密钥来核验会话公共密钥的签名
3.保存IoT装置的会话公共密钥
E.IoT服务然后生成包含用IoT服务的密钥签署(IoT装置会话公共密钥+IoT服务会话公共密钥)的签名的消息。
F.IoT装置解析消息并:
1.使用IoT服务的公共密钥来核验会话公共密钥的签名
2.由IoT装置会话私有密钥和IoT服务会话公共密钥生成密钥流
3.IoT装置然后发送“消息传送可用”消息。
G.IoT服务然后执行以下操作:
1.由IoT装置会话私有密钥和IoT装置的会话公共密钥生成密钥流
2.在消息传送信道上创建包含以下内容的新消息:
·生成并存储随机的2字节值
·用回旋镖(boomerang)属性Id(如下所述)和随机值设置属性消息
H.IoT装置收到该消息并:
1.尝试解密该消息
2.在指定的属性Id上使用相同的值发出更新
I.IoT服务识别包含回旋镖属性更新的消息有效负载并:
1.将其配对状态设置为真
2.在协商信道上发送配对完成消息
J.IoT装置接收该消息并将其配对状态设置为真
尽管关于“IoT服务”和“IoT装置”描述了上述技术,但是本发明的基本原理可以被实现为在包括用户客户端装置、服务器和互联网服务的任何两个装置之间建立安全通信信道。
上述技术是高度安全的,因为私有密钥永远不会通过无线共享(相比之下,在当前的蓝牙配对技术中密码从一方传输到另一方)。窃听整个对话的攻击者只有公共密钥,而这些公共密钥不足以生成共享密码。这些技术还通过交换经签署的公共密钥来防止中间人攻击。另外,由于在每个设备上都使用GCM和单独的计数器,因此可以防止任何类型的“重放攻击”(在这种情况下,中间人捕捉数据并再次发送)。一些实施方案还通过使用不对称计数器来防止重放攻击。
在没有正式配对装置的情况下交换数据和命令的技术
GATT是通用属性配置文件(Generic Attribute Profile)的首字母缩写,并且GATT定义了两个蓝牙低功耗(BTLE)装置来回传送数据的方式。它利用称为属性协议(ATT)的通用数据协议,该协议用于将服务、特征和相关数据存储在简单的查找表中,对于表中的每个条目使用16位特征ID。请注意,虽然“特征”有时被称为“属性”。
在蓝牙装置上,最常用的特征是装置“名称”(具有特征ID 10752(0×2A00))。例如,蓝牙装置可通过使用GATT读取由那些其他蓝牙装置发布的“名称”特征来标识其附近的其他蓝牙装置。因此,蓝牙装置具有交换数据的固有能力,而无需正式配对/绑定装置(注意,“配对”和“绑定”有时可以互换使用;本讨论的其余部分将使用术语“配对”)。
本发明的一个实施方案利用这种能力与已启用BTLE的IoT装置进行通信,而无需与这些装置正式配对。由于与每个装置配对所需的时间量,并且一次只可建立一个配对连接,所以与每个单独的IoT装置配对将非常低效。
图19示出了其中蓝牙(BT)装置1910与IoT装置101的BT通信模块1901建立网络套接字抽象而不正式建立配对的BT连接的一个特定实施方案。BT装置1910可被包括在如图16A所示的IoT中心110和/或客户端装置611中。如图所示,BT通信模块1901维护包含特征ID列表、与这些特征ID相关联的名称以及这些特征ID的值的数据结构。根据当前的BT标准,每个特征的值可存储在由特征ID标识的20字节缓冲区内。然而,本发明的基本原理不限于任何特定的缓冲区大小。
在图19的示例中,“名称”特征是被分配给“IoT装置14”的特定值的BT定义的特征。本发明的一个实施方案指定要用于与BT装置1910协商安全通信信道的第一组附加特征和要用于与BT装置1910的加密通信的第二组附加特征。具体地讲,在例示的示例中由特征ID<65532>标识的“协商写入”特征可用于传输传出协商消息,并且由特征ID<65533>标识的“协商读取”特征可用于接收传入协商消息。“协商消息”可包括由BT装置1910和BT通信模块1901用来建立如本文所述的安全通信信道的消息。举例来说,在图17中,IoT装置101可经由“协商读取”特征<65533>来接收IoT服务会话公共密钥1701。密钥1701可从IoT服务120传输到已启用BTLE的IoT中心110或客户端装置611,然后可使用GATT将密钥1701写入由特征ID<65533>标识的协商读取值缓冲区。然后,IoT装置应用程序逻辑1902可从由特征ID<65533>标识的值缓冲区中读取密钥1701并且如上所述处理它(例如,使用它来生成密码并且使用该密码来生成密钥流等)。
如果密钥1701大于20字节(在一些当前具体实施中为最大缓冲区大小),则该密钥可以20字节部分来写入。例如,可通过BT通信模块1903将前20个字节写入特征ID<65533>,并由IoT装置应用程序逻辑1902读取,该IoT装置应用程序逻辑然后可将确认消息写入由特征ID<65532>标识的协商写入值缓冲区。使用GATT,BT通信模块1903可从特征ID<65532>读取该确认,并且响应地将密钥1701的接下来的20个字节写入由特征ID<65533>标识的协商读取值缓冲区。以这种方式,建立由特征ID<65532>和<65533>定义的网络套接字抽象,以交换用于建立安全通信信道的协商消息。
在一个实施方案中,一旦建立安全通信信道,就使用特征ID<65534>(用于从IoT装置101传输所加密的数据包)和特征ID<65533>(用于通过IoT装置接收加密的数据包)建立第二网络套接字抽象。也就是说,当BT通信模块1903具有用于传输的加密数据包(例如,诸如图16A的加密消息1603)时,它使用由特征ID<65533>标识的消息读取值缓冲区开始写入所加密的数据包,每次20个字节。IoT装置应用程序逻辑1902随后将从读取值缓冲区中读取加密数据包,每次20个字节,根据需要经由特征ID<65532>所标识的写入值缓冲区向BT通信模块1903发送确认消息。
在一个实施方案中,下文所述的GET、SET和UPDATE的命令用于在两个BT通信模块1901和1903之间交换数据和命令。例如,BT通信模块1903可发送标识特征ID<65533>并且包含SET命令的数据包以写入由特征ID<65533>标识的值字段/缓冲区,该数据包然后可由IoT装置应用程序逻辑1902读取。为了从IoT装置101检索数据,BT通信模块1903可传输被指向由特征ID<65534>标识的值字段/缓冲区的GET命令。响应于GET命令,BT通信模块1901可向包含来自由特征ID<65534>标识的值字段/缓冲区的数据的BT通信模块1903传输UPDATE数据包。另外,响应于IoT装置101上的特定属性的改变,可以自动传输UPDATE数据包。例如,如果IoT装置与照明系统相关联并且用户打开灯,则可以发送UPDATE数据包以反映与照明应用程序相关联的开/关属性的改变。
图20示出了根据本发明的一个实施方案的用于GET、SET和UPDATE的示例性数据包格式。在一个实施方案中,这些数据包在协商之后通过消息写入<65534>和消息读取<65533>信道传输。在GET数据包2001中,第一个1字节的字段包括将该数据包标识为GET数据包的值(0×10)。第二个1字节的字段包括请求ID,该请求ID唯一地标识当前的GET命令(即,标识GET命令与之关联的当前交易)。例如,从服务或装置传输的GET命令的每个实例均可被分配不同的请求ID。这可以通过例如递增计数器并使用计数器值作为请求ID来完成。然而,本发明的基本原理不限于设置请求ID的任何特定方式。
2字节的属性ID标识数据包所指向的特定于应用程序的属性。例如,如果GET命令正被发送到图19中所示的IoT装置101,则属性ID可用于标识被请求的具体的特定于应用程序的值。回到上面的示例,GET命令可被指向特定于应用程序的属性ID诸如照明系统的电力状态,其包括标识灯是开启还是关闭的值(例如,1=开启,0=关闭)。如果IoT装置101是与门相关联的安全设备,则值字段可标识门的当前状态(例如,1=打开,0=关闭)。响应于GET命令,可发送包含由属性ID标识的当前值的响应。
如图20所示的SET数据包2002和UPDATE数据包2003还包括标识数据包类型(即,SET和UPDATE)的第一个1字节字段、包含请求ID的第二个1字节字段和标识应用程序定义属性的2字节属性ID字段。另外,SET数据包包括标识包含在n字节值数据字段中的数据长度的2字节长度值。值数据字段可包括将在IoT装置上执行的命令和/或用于以某种方式配置IoT装置的操作(例如,设置期望参数、关闭IoT装置等)的配置数据。例如,如果IoT装置101控制风扇的速度,则值字段可反映当前的风扇速度。
UPDATE数据包2003可被传输以提供SET命令的结果的更新。UPDATE数据包2003包括2字节长度值字段,以标识可包括与SET命令的结果有关的数据的n字节值数据字段的长度。另外,1字节的更新状态字段可标识正在更新的变量的当前状态。例如,如果SET命令试图关闭由IoT装置控制的光,则更新状态字段可指示光是否被成功关闭。
图21示出了IoT服务120和涉及SET命令和UPDATE命令的IoT装置101之间的交易的示例性序列。未示出中间装置诸如IoT中心和用户的移动装置,以避免模糊本发明的基本原理。在2101处,SET命令2101从IoT服务传输到IoT装置101,并且由BT通信模块1901接收,该SET命令响应地在2102更新由特征ID标识的GATT值缓冲区。在2103处,通过低功率微控制器(MCU)200(或者通过在低功率MCU上执行的程序代码,诸如图19中所示的IoT装置应用程序逻辑1902)从值缓冲区读取该SET命令。在2104处,MCU 200或程序代码响应于该SET命令而执行操作。例如,SET命令可包括指定新配置参数诸如新温度的属性ID,或者可包括状态值诸如开/关(以使IoT装置进入“开”或者低功率状态)。因此,在2104处在IoT装置中设置新值,并且在2105处返回UPDATE命令,在2106处在GATT值字段中更新实际值。在某些情况下,实际值将等于期望值。在其他情况下,更新的值可能不同(即,因为IoT装置101可能需要时间来更新某些类型的值)。最后,在2107处,UPDATE命令被传输回包含来自GATT值字段的实际值的IoT服务120。
图22示出了根据本发明的一个实施方案的用于实现IoT服务和IoT装置之间的安全通信信道的方法。该方法可在上述网络架构的环境内实施,但不限于任何特定架构。
在2201处,IoT服务使用椭圆曲线数字签名算法(ECDSA)证书创建用于与IoT中心通信的加密信道。在2202处,IoT服务使用会话密码加密IoT装置数据包中的数据/命令以创建加密的装置数据包。如上所述,会话密码可由IoT装置和IoT服务独立生成。在2203处,IoT服务通过加密信道将加密的装置数据包传输到IoT中心。在2204处,在不解密的情况下,IoT中心将加密的装置数据包传递给IoT装置。在22-5处,IoT装置使用会话密码来解密加密的装置数据包。如上所述,在一个实施方案中,这可通过如下方式来完成:使用密码和计数器值(与加密的装置数据包一起提供)来生成密钥流,然后使用该密钥流来解密数据包。在2206处,IoT装置然后提取并处理包含在装置数据包内的数据和/或命令。
因此,使用上述技术,可以在两个已启用BT的装置之间建立双向、安全的网络套接字抽象,而无需使用标准配对技术正式地配对BT装置。虽然上面关于与IoT服务120通信的IoT装置101描述了这些技术,但是本发明的基本原理可以被实现为在任何两个已启用BT的装置之间协商并建立安全通信信道。
图23A至图23C示出了根据本发明的一个实施方案的用于配对装置的详细方法。该方法可在上述系统架构的环境内实施,但不限于任何特定系统架构。
在2301处,IoT服务创建包含IoT服务的序列号和公共密钥的数据包。在2302处,IoT服务使用工厂私有密钥签署数据包。在2303处,IoT服务通过加密信道将该数据包发送到IoT中心,并且在2304处,IoT中心通过未加密信道将该数据包转发到IoT装置。在2305处,IoT装置核验该数据包的签名,并且在2306处,IoT装置生成包含IoT装置的序列号和公共密钥的数据包。在2307处,IoT装置使用工厂私有密钥签署该数据包,并且在2308处,IoT装置通过未加密信道将该数据包发送到IoT中心。
在2309处,IoT中心通过加密信道将该数据包转发到IoT服务,并且在2310处,IoT服务核验该数据包的签名。在2311处,IoT服务生成会话密钥对,并且在2312处,IoT服务生成包含会话公共密钥的数据包。IoT服务然后在2313处利用IoT服务私有密钥签署该数据包,并且在2314处IoT服务通过加密信道将该数据包发送到IoT中心。
转到图23B,IoT中心在2315处通过未加密信道将该数据包转发到IoT装置,并且在2316处,IoT装置核验数据包的签名。在2317处,IoT装置(例如,使用上述技术)生成会话密钥对,并且在2318处,生成包含IoT装置会话公共密钥的IoT装置数据包。在2319处,IoT装置使用IoT装置私有密钥签署IoT装置数据包。在2320处,IoT装置通过未加密信道将该数据包发送到IoT中心,并且在2321处,IoT中心通过加密信道将该数据包转发到IoT服务。
在2322处,IoT服务核验该数据包的签名(例如,使用IoT装置公共密钥),并且在2323处,IoT服务使用IoT服务私有密钥和IoT装置公共密钥来生成会话密码(如上文所详细描述的)。在2324处,IoT装置使用IoT装置私有密钥和IoT服务公共密钥来生成会话密码(再次如上所述),并且在2325处,IoT装置生成随机数字并使用会话密码对其进行加密。在2326处,IoT服务通过加密信道将所加密的数据包发送到IoT中心。在2327处,IoT中心通过未加密信道将所加密的数据包转发到IoT装置。在2328处,IoT装置使用会话密码解密该数据包。
转到图23C,在2329处,IoT装置使用会话密码重新加密该数据包,并且在2330处,IoT装置通过未加密信道将所加密的数据包发送到IoT中心。在2331处,IoT中心通过加密信道将所加密的数据包转发到IoT服务。在2332处,IoT服务使用会话密码解密该数据包。在2333处,IoT服务核验到该随机数字与其发送的随机数字匹配。IoT服务随后在2334处发送指示配对已完成的数据包,并且在2335处使用会话密码加密所有后续消息。
本发明的实施方案可包括上文所述的各种步骤。这些步骤可体现为可用于致使通用处理器或专用处理器执行这些步骤的机器可执行指令。或者,这些步骤可由包含用于执行这些步骤的硬连线逻辑的特定硬件组件执行,或由编程的计算机组件和定制硬件组件的任何组合执行。
如本文所述,指令可指代特定硬件配置,诸如专用集成电路(ASIC),其被配置为执行某些特定操作或具有体现在非暂态计算机可读介质中的存储器中所存储的预定功能或软件指令。因此,可以使用在一个或多个电子装置(例如,终端站、网络元件等)上存储和执行的代码和数据来实现附图中所示的技术。此类电子装置使用计算机机器可读介质存储和传送(在内部和/或与网络上的其他电子装置)代码和数据,所述计算机机器可读介质诸如是非暂态计算机机器可读存储介质(例如,磁盘;光盘;随机存取存储器;只读存储器;闪存存储装置;相变存储器)和暂态计算机机器可读通信介质(例如,电学、光学、声学或其他形式的传播信号—诸如载波、红外信号、数字信号等)。此外,这类电子装置通常包括连接到一个或多个其他组件的一个或多个处理器的集合,所述其他组件诸如一个或多个存储装置(非暂态机器可读存储介质)、用户输入/输出装置(例如,键盘、触摸屏和/或显示器)、以及网络连接。所述处理器集合和其他组件的耦接通常通过一个或多个总线和桥接器(也称为总线控制器)进行。存储装置和承载网络通信量的信号分别表示一个或多个机器可读存储介质和机器可读通信介质。因此,给定电子装置的存储装置通常将用于执行的代码和/或数据存储在该电子装置的一个或多个处理器的集合上。当然,可以使用软件、固件和/或硬件的不同组合来实现本发明的实施方案的一个或多个部分。
在整个具体实施方式中,出于解释的目的,陈述了许多特定细节以便透彻理解本发明。然而,本领域的技术人员将容易明白,可在没有这些特定细节中的一些的情况下实践本发明。在某些情况下,为免模糊本发明的主题,未详细描述众所周知的结构和功能。因此,应依据所附权利要求书确定本发明的范围和实质。

Claims (10)

1.一种计算机执行的方法,所述方法包括:
通过物联网IoT中心建立物联网服务和IoT装置之间的通信;
通过所述IoT服务生成包括IoT服务序列号和IoT服务公共密钥的第一数据包,并且使用由所述IoT服务的制造商和/或所述IoT装置实现的工厂公共/私有密钥对中的工厂私有密钥来签署所述第一数据包;
将所签署的第一数据包从所述IoT服务传输到所述IoT装置;
通过所述IoT装置使用所述工厂公共/私有密钥对中的工厂公共密钥来验证所签署的第一数据包;
通过所述IoT服务生成包括IoT装置序列号和IoT装置公共密钥的第二数据包,并使用所述工厂私有密钥签署所述第二数据包;
将所签署的第二数据包从所述IoT装置传输到所述IoT服务;以及
通过所述IoT服务使用所述工厂公共密钥来验证所签署的第二数据包。
2.如权利要求1所述的计算机执行的方法,进一步包括:
通过所述IoT服务生成包括由所述IoT服务的密钥生成逻辑生成的IoT服务会话公共/私有密钥对中的IoT服务会话公共密钥的第三数据包,并使用IoT服务私有密钥来签署所述第三数据包;
将所签署的第三数据包从所述IoT服务传输到所述IoT装置;
通过所述IoT装置使用来自所签署的第一数据包的所述IoT服务公共密钥来验证所签署的第三数据包;
通过所述IoT装置生成括由所述IoT装置的密钥生成逻辑生成的IoT装置会话公共/私有密钥对中的IoT装置会话公共密钥的第四数据包,并使用IoT装置私有密钥来签署所述第四数据包;
将所签署的第四数据包从所述IoT装置传输到所述IoT服务;以及
通过所述IoT服务使用来自所签署的第二数据包的所述IoT装置公共密钥来验证所签署的第四数据包。
3.如权利要求2所述的计算机执行的方法,进一步包括:
通过所述IoT服务使用所述IoT服务会话私有密钥以及所述IoT装置会话公共密钥,从所签署的第三数据包中生成第一会话密码;
通过所述IoT装置使用所述IoT装置会话私有密钥以及所述IoT服务会话公共密钥,从所签署的第四数据包中生成第二会话密码,所述第一会话密码和所述第二会话密码具有相同的值;
通过所述IoT服务使用所述第一会话密码加密第一随机数字以产生第一经加密数据包;
将所述第一经加密数据包从所述IoT服务传输到所述IoT装置;以及
通过所述IoT装置使用所述第二会话密码解密所述第一经加密数据包以检索所述第一随机数字。
4.如权利要求3所述的计算机执行的方法,进一步包括:
通过所述IoT装置使用所述第二会话密码来加密所检索的第一随机数字以产生第二经加密数据包;
将所述第二经加密数据包从所述IoT装置传输到所述IoT服务;
通过所述IoT服务使用所述第一会话密码来解密所述第二经加密数据包以检索第二随机数字;
通过所述IoT服务验证从所述第二经加密数据包中检索的所述第二随机数字与所述第一随机数字相同;且
其中,当验证为肯定时,所述IoT服务向所述IoT装置发送成功配对通知,且其中所述IoT服务与所述IoT装置之间的所有后续消息均使用所述第一会话密码或所述第二会话密码进行加密。
5.如权利要求1所述的计算机执行的方法,其中所述IoT服务与所述IoT中心之间的通信通过加密信道进行。
6.如权利要求1所述的计算机执行的方法,其中所述IoT装置与所述IoT中心之间的通信通过未加密信道进行。
7.如权利要求1所述的计算机执行的方法,其中所述密钥生成逻辑包括硬件安全模块HSM。
8.如权利要求1所述的计算机执行的方法,其中所述IoT服务包括第一计数器,每当数据包从所述IoT服务传输到所述IoT装置时,所述第一计数器递增。
9.如权利要求8所述的计算机执行的方法,其中所述IoT装置包括第二计数器,每当数据包从所述IoT装置传输到所述IoT服务时,所述第二计数器递增。
10.如权利要求5所述的计算机执行的方法,其中所述IoT服务与所述IoT中心之间的所述加密信道是使用椭圆曲线数字签名算法ECDSA证书所创建的。
CN202111442470.XA 2015-07-03 2016-07-01 用于在物联网(IoT)系统中建立安全通信信道的设备和方法 Pending CN113923052A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/791,373 US9699814B2 (en) 2015-07-03 2015-07-03 Apparatus and method for establishing secure communication channels in an internet of things (IoT) system
US14/791,371 US9729528B2 (en) 2015-07-03 2015-07-03 Apparatus and method for establishing secure communication channels in an internet of things (IOT) system
US14/791,371 2015-07-03
US14/791,373 2015-07-03
CN201680038597.6A CN107710216B (zh) 2015-07-03 2016-07-01 用于在物联网(IoT)系统中建立安全通信信道的设备和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201680038597.6A Division CN107710216B (zh) 2015-07-03 2016-07-01 用于在物联网(IoT)系统中建立安全通信信道的设备和方法

Publications (1)

Publication Number Publication Date
CN113923052A true CN113923052A (zh) 2022-01-11

Family

ID=57685680

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201680038597.6A Expired - Fee Related CN107710216B (zh) 2015-07-03 2016-07-01 用于在物联网(IoT)系统中建立安全通信信道的设备和方法
CN202111442470.XA Pending CN113923052A (zh) 2015-07-03 2016-07-01 用于在物联网(IoT)系统中建立安全通信信道的设备和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201680038597.6A Expired - Fee Related CN107710216B (zh) 2015-07-03 2016-07-01 用于在物联网(IoT)系统中建立安全通信信道的设备和方法

Country Status (5)

Country Link
JP (1) JP7122964B2 (zh)
KR (1) KR20180025903A (zh)
CN (2) CN107710216B (zh)
HK (1) HK1251310A1 (zh)
WO (1) WO2017007725A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11488121B2 (en) 2017-05-11 2022-11-01 Microsoft Technology Licensing, Llc Cryptlet smart contract
US10637645B2 (en) 2017-05-11 2020-04-28 Microsoft Technology Licensing, Llc Cryptlet identity
US10833858B2 (en) * 2017-05-11 2020-11-10 Microsoft Technology Licensing, Llc Secure cryptlet tunnel
US10740455B2 (en) 2017-05-11 2020-08-11 Microsoft Technology Licensing, Llc Encave pool management
US10664591B2 (en) 2017-05-11 2020-05-26 Microsoft Technology Licensing, Llc Enclave pools
US10528722B2 (en) 2017-05-11 2020-01-07 Microsoft Technology Licensing, Llc Enclave pool shared key
US10747905B2 (en) 2017-05-11 2020-08-18 Microsoft Technology Licensing, Llc Enclave ring and pair topologies
US10238288B2 (en) 2017-06-15 2019-03-26 Microsoft Technology Licensing, Llc Direct frequency modulating radio-frequency sensors
JP6919484B2 (ja) * 2017-10-10 2021-08-18 日本電信電話株式会社 暗号通信方法、暗号通信システム、鍵発行装置、プログラム
CN108073829A (zh) 2017-12-29 2018-05-25 上海唯链信息科技有限公司 用于记录对象的运输数据的方法、介质、物联网设备、区块链平台和物联网系统
KR102411604B1 (ko) * 2018-03-22 2022-06-21 삼성전자주식회사 액세스 포인트 및 이의 통신 연결 방법
US11271746B2 (en) * 2018-08-01 2022-03-08 Otis Elevator Company Component commissioning to IoT hub using permissioned blockchain
CN108901023B (zh) * 2018-08-06 2021-07-09 山东华方智联科技股份有限公司 一种在物联网设备之间共享WiFi的方法及系统
RU2695487C1 (ru) * 2018-09-26 2019-07-23 Олег Дмитриевич Гурин Способ и система обеспечения взаимодействия устройств интернета вещей (iot)
CN109361507B (zh) * 2018-10-11 2021-11-02 杭州华澜微电子股份有限公司 一种数据加密方法及加密设备
WO2020081501A1 (en) * 2018-10-16 2020-04-23 Aeris Communications, Inc. Method and system for pairing wireless mobile device with iot device
US11025601B2 (en) 2018-12-04 2021-06-01 Citrix Systems, Inc. System and apparatus for enhanced QOS, steering and policy enforcement for HTTPS traffic via intelligent inline path discovery of TLS terminating node
US11134376B2 (en) 2018-12-20 2021-09-28 T-Mobile Usa, Inc. 5G device compatibility with legacy SIM
US11228903B2 (en) 2018-12-28 2022-01-18 T-Mobile Usa, Inc. 5G service compatible 4G SIM
JP2022517964A (ja) * 2019-01-10 2022-03-11 エムアッシュエム・ミクロテクニク・ソシエテ・ア・レスポンサビリテ・リミテ ネットワーク接続可能な感知装置
US11212319B2 (en) 2019-01-24 2021-12-28 Zhnith Incorporated Multiple sentinels for securing communications
CN109951479A (zh) * 2019-03-19 2019-06-28 中国联合网络通信集团有限公司 一种通信方法、设备及通信系统
US11323275B2 (en) * 2019-03-25 2022-05-03 Micron Technology, Inc. Verification of identity using a secret key
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
CN110012109B (zh) * 2019-04-15 2020-04-24 珠海格力电器股份有限公司 可实现高准确度的工程信息的建立方法
US11296872B2 (en) * 2019-11-07 2022-04-05 Micron Technology, Inc. Delegation of cryptographic key to a memory sub-system
CN110933672B (zh) 2019-11-29 2021-11-30 华为技术有限公司 一种密钥协商方法及电子设备
CN113242548B (zh) * 2021-07-09 2021-09-17 四川大学 5g网络环境下的无线物联网设备通信密钥交换方法
CN114338071A (zh) * 2021-10-28 2022-04-12 中能电力科技开发有限公司 一种基于风电场通信的网络安全身份认证方法
CN116321082A (zh) * 2021-12-21 2023-06-23 中兴通讯股份有限公司 基于短距离通信的组网方法、设备和存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040210776A1 (en) * 2003-04-08 2004-10-21 Rachana Shah System and method for editing a profile
WO2006003532A1 (en) * 2004-06-29 2006-01-12 Koninklijke Philips Electronics N.V. System and methods for efficient authentication of medical wireless ad hoc network nodes
WO2011008498A2 (en) * 2009-07-14 2011-01-20 Alcatel-Lucent Usa Inc. Automated security provisioning protocol for wide area network communication devices in open device environment
US20110016322A1 (en) * 2009-07-15 2011-01-20 Research In Motion Limited System and method for exchanging key generation parameters for secure communications
US20120011360A1 (en) * 2010-06-14 2012-01-12 Engels Daniel W Key management systems and methods for shared secret ciphers
CN102882847A (zh) * 2012-08-24 2013-01-16 山东省计算中心 基于sd密码卡的物联网健康医疗服务系统及安全通信方法
CN103166919A (zh) * 2011-12-13 2013-06-19 中国移动通信集团黑龙江有限公司 一种物联网信息传输的方法和系统
US20130170258A1 (en) * 2011-12-30 2013-07-04 Maxim Integrated Products, Inc. Electromagnetic connector
CN103404112A (zh) * 2011-03-04 2013-11-20 丰田自动车株式会社 车辆网络系统
US20140115335A1 (en) * 2012-10-19 2014-04-24 Caterpillar Inc. Secure machine-to-machine communication protocol
CN104170312A (zh) * 2011-12-15 2014-11-26 英特尔公司 用于使用硬件安全引擎通过网络进行安全通信的方法和设备
US20150029880A1 (en) * 2013-07-29 2015-01-29 Qualcomm Incorporated PROXIMITY DETECTION OF INTERNET OF THINGS (IoT) DEVICES USING SOUND CHIRPS
GB201503199D0 (en) * 2015-02-26 2015-04-15 Eseye Ltd Authentication module

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ237080A (en) * 1990-03-07 1993-05-26 Ericsson Telefon Ab L M Continuous synchronisation for duplex encrypted digital cellular telephony
JP2006140743A (ja) * 2004-11-11 2006-06-01 Epson Toyocom Corp 共通鍵配送方法
JP5526747B2 (ja) * 2009-12-04 2014-06-18 パナソニック株式会社 復号化装置、暗号化装置、復号化方法、暗号化方法、および通信システム
US8189775B2 (en) * 2010-02-18 2012-05-29 King Fahd University Of Petroleum & Minerals Method of performing cipher block chaining using elliptic polynomial cryptography
EP2538606B1 (en) * 2011-06-21 2017-08-09 BlackBerry Limited Provisioning a shared secret to a portable electronic device and to a service entity
CN102316108B (zh) * 2011-09-09 2014-06-04 周伯生 建立网络隔离通道的设备及其方法
US9094191B2 (en) * 2013-03-14 2015-07-28 Qualcomm Incorporated Master key encryption functions for transmitter-receiver pairing as a countermeasure to thwart key recovery attacks
CN103530767A (zh) * 2013-09-10 2014-01-22 潘之凯 一种用于计量量收费系统的信息安全方法
KR101710317B1 (ko) * 2013-11-22 2017-02-24 퀄컴 인코포레이티드 차량 내의 다수의 모바일 컴퓨팅 디바이스들에 의해 제공된 선호도들에 기초하여 차량의 내면을 구성하기 위한 시스템 및 방법
CN104700237B (zh) * 2015-04-03 2018-05-15 成都吉普斯能源科技有限公司 一种基于物联网的车辆综合管理系统

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040210776A1 (en) * 2003-04-08 2004-10-21 Rachana Shah System and method for editing a profile
WO2006003532A1 (en) * 2004-06-29 2006-01-12 Koninklijke Philips Electronics N.V. System and methods for efficient authentication of medical wireless ad hoc network nodes
WO2011008498A2 (en) * 2009-07-14 2011-01-20 Alcatel-Lucent Usa Inc. Automated security provisioning protocol for wide area network communication devices in open device environment
US20110016322A1 (en) * 2009-07-15 2011-01-20 Research In Motion Limited System and method for exchanging key generation parameters for secure communications
US20120011360A1 (en) * 2010-06-14 2012-01-12 Engels Daniel W Key management systems and methods for shared secret ciphers
CN103404112A (zh) * 2011-03-04 2013-11-20 丰田自动车株式会社 车辆网络系统
CN103166919A (zh) * 2011-12-13 2013-06-19 中国移动通信集团黑龙江有限公司 一种物联网信息传输的方法和系统
CN104170312A (zh) * 2011-12-15 2014-11-26 英特尔公司 用于使用硬件安全引擎通过网络进行安全通信的方法和设备
US20130170258A1 (en) * 2011-12-30 2013-07-04 Maxim Integrated Products, Inc. Electromagnetic connector
CN102882847A (zh) * 2012-08-24 2013-01-16 山东省计算中心 基于sd密码卡的物联网健康医疗服务系统及安全通信方法
US20140115335A1 (en) * 2012-10-19 2014-04-24 Caterpillar Inc. Secure machine-to-machine communication protocol
US20150029880A1 (en) * 2013-07-29 2015-01-29 Qualcomm Incorporated PROXIMITY DETECTION OF INTERNET OF THINGS (IoT) DEVICES USING SOUND CHIRPS
GB201503199D0 (en) * 2015-02-26 2015-04-15 Eseye Ltd Authentication module

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
施健;陈铁明;茆俊康;: "基于IBE Service的新型文件加密系统", 计算机系统应用, no. 06 *

Also Published As

Publication number Publication date
CN107710216A (zh) 2018-02-16
KR20180025903A (ko) 2018-03-09
JP2018525891A (ja) 2018-09-06
HK1251310A1 (zh) 2019-01-25
WO2017007725A1 (en) 2017-01-12
CN107710216B (zh) 2021-12-07
JP7122964B2 (ja) 2022-08-22

Similar Documents

Publication Publication Date Title
US10659961B2 (en) Apparatus and method for sharing WiFi security data in an internet of things (IoT) system
US11153750B2 (en) Apparatus and method for sharing credentials in an internet of things (IoT) system
CN107710216B (zh) 用于在物联网(IoT)系统中建立安全通信信道的设备和方法
US10841759B2 (en) Securely providing a password using an internet of things (IoT) system
JP7254843B2 (ja) 仮想のモノのインターネット(Internet of Things)(IoT)デバイス及びハブ用のシステム及び方法
US10375044B2 (en) Apparatus and method for establishing secure communication channels in an internet of things (IoT) system
US11221731B2 (en) System and method for sharing internet of things (IOT) devices
US9942837B2 (en) Apparatus and method for a dynamic scan interval for a wireless device
US9699814B2 (en) Apparatus and method for establishing secure communication channels in an internet of things (IoT) system
US10171462B2 (en) System and method for secure internet of things (IOT) device provisioning
JP2019502993A (ja) モノのインターネット(IoT)システムのための統合開発ツール
US10146978B2 (en) Apparatus and method for accurate barcode scanning using dynamic timing feedback
US9626543B1 (en) Apparatus and method for accurate barcode scanning using dynamic timing feedback
US10805344B2 (en) Apparatus and method for obscuring wireless communication patterns
US20230379169A1 (en) Apparatus and method for cryptographically securing unpowered or non-electronic iot devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination