CN111865879B - 物联网接入方法、***及相应的物联网设备 - Google Patents

物联网接入方法、***及相应的物联网设备 Download PDF

Info

Publication number
CN111865879B
CN111865879B CN201910357547.XA CN201910357547A CN111865879B CN 111865879 B CN111865879 B CN 111865879B CN 201910357547 A CN201910357547 A CN 201910357547A CN 111865879 B CN111865879 B CN 111865879B
Authority
CN
China
Prior art keywords
equipment
accessed
data
server
internet
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.)
Active
Application number
CN201910357547.XA
Other languages
English (en)
Other versions
CN111865879A (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910357547.XA priority Critical patent/CN111865879B/zh
Publication of CN111865879A publication Critical patent/CN111865879A/zh
Application granted granted Critical
Publication of CN111865879B publication Critical patent/CN111865879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

公开了一种物联网设备接入方法、***和相应的物联网设备。所述接入方法包括:物联网设备广播第一数据包;所述物联网中的一个节点接收所述第一数据包,并向服务器发送所述物联网设备的相关数据;所述服务器基于所述相关数据生成身份验证数据;所述节点接收所述身份验证数据,并向所述物联网设备转发所述身份验证数据;所述物联网设备接收所述身份验证数据并进行检查确认;以及基于所述检查确认的通过,确定将所述物联网设备接入所述物联网。本发明的接入方案可以由云端平台参与节点认证,并且不会破坏现有的本地接入规范,实现本地设备与云端结合,为在物联网平台上进行设备管理、远程设备控制和数据上下行等操作打下基础。

Description

物联网接入方法、***及相应的物联网设备
技术领域
本发明涉及物联网(IoT)技术,尤其涉及一种物联网接入方法、***及相应的物联网设备。
背景技术
近年来,能够将各种各样的设备或物品接入网络的物联网(IoT)技术受到了广泛关注。为了实现针对物联网的全方位智能化识别和管理,本地设备与云端结合是一个重要的能力。但在现有技术中,有些物联网设备仅包括本地规范,不能很好地提供泛在网络所应具备的各种功能。
为此,需要一种能够将物联网设备与互联网结合的方案。
发明内容
在物联网的发展过程中,本地设备与云端能力结合是一个重要的能力。因此,本发明设计了一套增强的认证方案,可以由云端平台参与节点认证,并且不会破坏现有的规范。本方案可以完美的实现本地设备与云端结合,为在物联网平台上进行设备管理、远程设备控制和数据上下行等操作打下基础。
根据本发明的一个方面,提出了一种IoT设备接入方法,包括:物联网设备广播第一数据包,所述物联网中的一个节点接收所述第一数据包,并向服务器发送所述物联网设备的相关数据;所述服务器基于所述相关数据生成身份验证数据;所述节点接收所述身份验证数据,并向所述物联网设备转发所述身份验证数据;所述物联网设备接收所述身份验证数据并进行检查确认;以及基于所述检查确认的通过,确定将所述物联网设备接入所述物联网。节点通过相关信息的云端上传,使得云端及时获知设备接入请求并参与身份验证。
进一步地,检查确认可以是双向的。IoT设备接入方法还可以包括:所述节点向所述物联网设备发出第二数据包,所述第二数据包包括与所述节点相关的数据;所述物联网设备基于所述第二数据包中包含的所述节点的第二相关数据,生成第二身份验证数据;所述节点接收所述第二身份验证数据,并向所述服务器转发所述第二身份验证数据;所述服务器接收所述第二身份验证数据并进行第二检查确认;以及基于所述第二检查确认的通过,确定将所述物联网设备接入所述物联网。
优选地,于是,所述物联网设备生成第二身份验证数据可以包括:基于本机存储的秘密数据生成所述第二身份验证数据,并且所述服务器接收所述第二身份验证数据并进行第二检查确认包括:所述服务器根据所述相关数据中包括的所述物联网设备的标识符,云端查找所述物联网设备的秘密数据;以及所述服务器基于查找到的所述秘密数据,对所述第二身份验证数据进行检查确认。由此,进一步提升安全性。
相应地,云端秘密数据用于生成验证数据,并在设备端确认。IoT设备接入方法还可以包括:所述服务器根据所述相关数据中包括的所述物联网设备的标识符,查找所述物联网设备的秘密标识符,并且基于所述相关数据生成身份验证数据包括:进一步基于所述秘密标识符,生成身份验证数据,并且所述物联网设备接收所述身份验证数据并进行检查确认包括:所述物联网设备基于自身存储的所述秘密标识符,对所述身份验证数据进行检查确认。
上述完整的秘密数据可以不进行空中传播。身份验证数据和/或第二身份验证数据可以以无法反推出所述完整秘密数据的方式生成
优选地,IoT设备接入方法还可以包括:所述节点向所述服务器发送所述节点的相关数据;所述服务器还基于所述节点的相关数据生成所述身份验证数据;所述物联网设备还基于自身的相关数据生成所述第二身份验证数据。
为了确保通信安全,该方法还可以包括:所述节点和所述物联网设备在安全链路中交换所述节点公钥和所述物联网设备公钥,并且生成的所述身份验证数据和所述第二身份验证数据基于所述节点公钥和所述物联网设备公钥被加密。
进一步地,为了避免重放攻击身份验证数据还基于所述节点侧的随机数生成,所述第二身份验证数据还基于所述物联网设备侧的第二随机数生成,并且,所述方法还包括:所述节点向所述物联网设备发送所述随机数;以及所述物联网设备向所述节点发送所述第二随机数。
为了简化流程,节点可以完成一部分的身份验证数据生成步骤。优选地,该方法还可以包括:所述节点对与所述物联网设备相关的数据及其自身相关的数据进行初步处理,并将经初步处理的数据发送给所述服务器;以及所述服务器还基于所述经初步处理的数据生成所述身份验证数据。
本发明的方案尤其适用于蓝牙SIG Mesh网络。所述物联网接入方法可以实现为一种接入蓝牙Mesh网络的认证方法,包括:启动配置设备将自身的启动配置确认相关信息以及获取的待接入设备相关信息发送给服务器;所述服务器基于从所述启动配置设备获取的所述启动配置确认相关信息以及待接入设备相关信息生成启动配置确认值并将其返回给所述启动配置设备;所述启动配置设备将所述启动配置确认值下发给所述待接入设备;所述待接入设备使用获取的启动配置设备相关信息和自身信息校验所述启动配置确认值;所述待接入设备在校验通过后生成设备确认值并将其上报给所述启动配置设备;所述启动配置设备将所述设备确认值上传给所述服务器;所述服务器对所述设备确认值进行校验并将校验结果返回给所述启动配置设备;所述启动配置设备将所述校验结果下发给所述待接入设备。由此,在符合现有Mesh规范的情况下实现Provisioner Confirmation Value的云端生成以及对Device Confirmation Value的云端验证,提升了对大量设备进行云端管理的能力。
优选地,所述云端认证方法还可以包括:所述服务器生成启动配置认证值(AuthValue),其中,所述服务器基于从所述启动配置设备获取的所述启动配置确认相关信息以及待接入设备相关信息生成启动配置确认值并将其返回给所述启动配置设备;所述服务器基于自身生成的所述AuthValue生成所述启动配置确认值。
进一步地,所述服务器可以基于所述待接入设备相关信息中包含的设备唯一标识码,查找所述待接入设备的秘密标识码;以及所述服务器基于查找到的所述秘密标识码生成所述AuthValue,并且,其中,所述待接入设备使用获取的启动配置设备相关信息和自身信息校验所述启动配置确认值包括:所述待接入设备基于自身存储的秘密标识码生成校验认证值;以及所述待接入设备将生成的校验认证值与从所述启动配置确认值中还原的AuthValue进行比较以进行所述校验。由此,提升Mesh网络的安全性。
优选地,该方法还可以包括:所述启动配置设备和所述待接入设备约定以静态带外(Static OOB)的方式进行认证,并且约定AuthValue基于所述待接入设备的秘密标识码生成。由此提升云端的远程可操作性。
优选地,所述服务器基于查找到的所述秘密标识码生成认证值(AuthValue)包括:所述服务器以无法反推出所述秘密标识码的方式生成所述AuthValue,例如,平台可以以对包含所述待接入设备的唯一标识符和所述秘密标识码的数据进行摘要计算的方式生成128比特的所述AuthValue。由此,通过避免对秘密标识码本身的传输进一步提升安全性。
优选地,本发明的认证方法还可以包括:所述启动配置设备生成用于启动配置的随机数(Random Provisioner)并基于获取的待接入设备相关信息生成启动配置确认密钥(Confirmation Key),并且所述服务器基于所述启动配置确认相关信息以及待接入设备相关信息生成启动配置确认值并将其返回给所述启动配置设备包括:所述服务器基于从所述启动配置设备获取的所述启动配置的随机数和所述启动配置确认密钥生成所述启动配置确认值。由此,简化操作的同时确保安全性。
优选地,本发明的认证方法还可以包括:所述待接入设备接收用户进行确认接入蓝牙Mesh网络的操作,由此避免非自有设备的误接入。
优选地,本发明的认证方法还可以包括:所述待接入设备广播包括指示所述服务器的字段的广播包;以及所述启动配置设备基于对所述服务器的识别开启云端认证流程。
根据本发明的另一个方面,提出了一种用于接入蓝牙Mesh网络的云端认证***。该***可以包括启动配置设备、服务器(例如,IoTCloud,云端物联网平台)和待接入设备。启动配置设备可以用于:将自身的启动配置确认相关信息以及获取的待接入设备相关信息发送给服务器用以生成启动配置确认值;将所述启动配置确认值下发给所述待接入设备;在所述待接入设备对下发的所述启动配置确认值验证通过的情况下接收所述待接入设备上报的设备确认值并将其上传给所述服务器;以及将所述服务器对所述设备确认值的校验结果下发给所述待接入设备,
服务器可以用于:基于从所述启动配置设备获取的所述启动配置确认相关信息以及待接入设备相关信息生成启动配置确认值并将其返回给所述启动配置设备;对由所述待接入设备上报并经由所述启动配置设备上传的设备确认值进行校验并将校验结果返回给所述启动配置设备。
待接入设备可以用于:接收由所述启动配置设备下发的启动配置确认值;使用获取的启动配置设备相关信息和自身信息校验所述启动配置确认值;在校验通过后生成设备确认值并将其上报给所述启动配置设备;接收由所述启动配置设备下发给的所述服务器对所述设备确认值的认证结果。
服务器进一步用于:生成启动配置认证值(AuthValue);以及基于自身生成的所述AuthValue生成所述启动配置确认值。例如,服务器可以进一步用于:基于待接入设备相关信息中包含的设备唯一标识码,查找所述待接入设备的秘密标识码;以及基于查找到的所述秘密标识码生成所述AuthValue。相应地,待接入设备可以进一步用于:基于自身存储的秘密标识码生成校验认证值;以及将生成的校验认证值与从所述启动配置确认值中还原的AuthValue进行比较以进行所述校验。
启动配置设备和待接入设备可以约定以静态带外(Static OOB)的方式进行认证,并且约定AuthValue基于所述待接入设备的秘密标识码生成。
待接入设备可以烧录有所述秘密标识码,并且服务器存储有所述待接入设备的所述秘密标识码。为了确保安全性,服务器可以以无法反推出所述秘密标识码的方式生成所述AuthValue。
启动配置设备可以进一步用于:生成用于启动配置的随机数(RandomProvisioner)并基于获取的待接入设备相关信息生成启动配置确认密钥(ConfirmationKey),并且服务器基于从所述启动配置设备获取的所述启动配置的随机数和所述启动配置确认密钥生成所述启动配置确认值。
待接入设备可以接收用户进行确认接入蓝牙Mesh网络的操作。
待接入设备可以用于:广播指示所述服务器的字段的广播包,以及启动配置设备可以用于:基于对所述服务器的识别开启云端认证流程。
应该理解的是,服务器可以同时与多个启动配置设备相连接,启动配置设备则可以用于多个蓝牙设备的接入。
根据本发明的一个方面,还包括一种物联网设备,该设备是物联网中的一个节点,并参与待接入设备的接入操作。该设备包括第一通信装置、处理器和第二通信装置。第二通信装置可以是远程通信装置,例如WiFi通信装置,并且第一通信装置可以是近距离通信装置,并且可以包括如下至少一种:WiFi通信装置;蓝牙mesh通信装置;红外通信装置。近距离通信装置可以用于接收待接入设备广播的第一数据包。处理器可以用于基于第一数据包的内容,确定所述待接入设备接入物联网的过程需要服务器的参与。第二通信装置可以用于向服务器发送所述待接入设备的相关数据,并接收所述服务器基于所述相关数据生成的身份验证数据。应该理解的是,在某些实施例中,第一和第二通信装置可以合并在一个通信装置内,并且该单独的通信装置可以包括分别执行近距离和远程通信的通信模块。
优选地,所述第一通信装置可以进一步用于:将所述身份验证数据转发至所述待接入设备;接收所述待接入设备针对所述身份验证数据检查确认通过的消息。处理器可以进一步用于:基于所述检查确认的通过,确定将所述待接入设备接入所述物联网。
在双向认证的情况下,所述第一通信装置可以进一步用于:向所述待接入设备发出第二数据包,所述第二数据包包括与所述节点相关的数据;接收所述待接入设备生成的第二身份验证数据。所述第二通信装置可以进一步用于:向所述服务器转发所述第二身份验证数据;以及接收所述服务器针对所述第二身份验证数据的第二检查确认通过的消息。所述处理器可以进一步用于:基于所述第二检查确认通过的消息,确定将所述待接入设备接入所述物联网。
为了简化流程,节点可以进行部分的身份验证数据计算。于是,处理器可以进一步用于:对与所述待接入设备相关的数据及其自身相关的数据进行初步处理。第二通信装置可以进一步用于:将经初步处理的数据发送给所述服务器,以供生成所述身份验证数据。
优选地,待接入设备可以是能够接入蓝牙mesh网络的待接入设备,所述物联网是蓝牙Mesh网络,所述节点是启动配置设备(Provisioner)。
于是,启动配置设备可以进一步用于:将自身的启动配置确认相关信息以及获取的待接入设备相关信息发送给服务器用以生成启动配置确认值;将所述启动配置确认值下发给所述待接入设备;在所述待接入设备对下发的所述启动配置确认值验证通过的情况下接收所述待接入设备上报的设备确认值,并将设备确认值上传给所述服务器;以及将所述服务器对所述设备确认值的校验结果下发给所述待接入设备。
优选地,启动配置设备可以进一步用于:生成用于启动配置的随机数(RandomProvisioner)并基于获取的待接入设备相关信息生成启动配置确认密钥(ConfirmationKey);将所述启动配置确认密钥、启动配置的随机数以及所述待接入设备相关信息发送给所述服务器,以供所述服务器生成启动配置确认值。
根据本发明的一个方面,还包括一种物联网设备,该设备是待接入物联网的设备。该设备包括通信装置和处理器,例如,功能较为简单的处理器。通信装置可以是近距离通信装置,例如,蓝牙模块,并且可以用于广播第一数据包,所述第一数据包包括经由服务器接入物联网的内容,以及从物联网的一个节点接收所述服务器生成的身份验证数据。处理器可以用于对接收的所述身份验证数据进行检查验证,并生成检查验证通过的消息。近距离通信装置1010可以进一步用于:向所述节点发送所述检查验证通过的消息。
在双向认证的情况下,所述通信装置进一步用于:接收来自所述节点的第二数据包,所述第二数据包包括与所述节点相关的数据。处理器1020可以用于基于所述第二数据包中包含的所述节点的第二相关数据,生成第二身份验证数据。近距离通信装置进一步用于向所述节点发送所述第二身份验证数据,以供所述服务器进行第二检查确认。
为了提升认证准确性,处理器进一步用于:根据自身存储的秘密数据,对所述身份验证数据进行检查验证,以及基于所述秘密数据,生成第二身份验证数据。所述秘密数据可以被烧录在所述设备中。为了保证设备安全,处理器进一步用于:以无法反推出所述完整秘密数据的方式生成所述第二身份验证数据。
在此,待接入设备尤其可以是能够接入蓝牙mesh网络的待接入设备,所述物联网是蓝牙Mesh网络,所述节点是启动配置设备(Provisioner)。
优选地,待接入设备可以进一步用于:接收由所述启动配置设备下发的启动配置确认值;使用获取的启动配置设备相关信息和自身信息校验所述启动配置确认值;在校验通过后生成设备确认值并将其上报给所述启动配置设备;接收由所述启动配置设备下发给的所述服务器对所述设备确认值的认证结果。
优选地,待接入设备可以进一步用于:基于自身存储的秘密标识码生成校验认证值;以及将生成的校验认证值与从所述启动配置确认值中还原的AuthValue进行比较以进行所述校验。
优选地,启动配置设备和待接入设备可以约定以静态带外(Static OOB)的方式进行认证,并且约定AuthValue基于所述待接入设备的秘密标识码生成。
优选地,为了防止误接入操作,待接入设备可以接收用户进行确认接入蓝牙Mesh网络的操作。
根据本发明的另一个方面,提出了一种物联网(IoT)设备接入方法,所述方法由物联网中的一个节点执行,包括:接收待接入设备广播的第一数据包;向服务器发送所述待接入设备的相关数据,并接收所述服务器基于所述相关数据生成的身份验证数据;将所述身份验证数据转发至所述待接入设备;接收所述待接入设备针对所述身份验证数据检查确认通过的消息;以及基于所述检查确认的通过,确定将所述待接入设备接入所述物联网。
优选地,该方法还可以包括:向所述待接入设备发出第二数据包,所述第二数据包包括与所述节点相关的数据;接收所述待接入设备生成的第二身份验证数据;向所述服务器转发所述第二身份验证数据;接收所述服务器针对所述第二身份验证数据的第二检查确认通过的消息;以及基于所述第二检查确认通过的消息,确定将所述待接入设备接入所述物联网。
优选地,该方法还可以包括:对与所述待接入设备相关的数据及所述节点相关的数据进行初步处理;将经初步处理的数据发送给所述服务器,以供生成所述身份验证数据。
优选地,该方法还可以包括:将节点自身的启动配置确认相关信息以及获取的待接入设备相关信息发送给服务器用以生成启动配置确认值;将所述启动配置确认值下发给所述待接入设备;在所述待接入设备对下发的所述启动配置确认值验证通过的情况下接收所述待接入设备上报的设备确认值,并将设备确认值上传给所述服务器;以及将所述服务器对所述设备确认值的校验结果下发给所述待接入设备。
优选地,该方法还可以包括:生成用于启动配置的随机数(Random Provisioner)并基于获取的待接入设备相关信息生成启动配置确认密钥(Confirmation Key);将所述启动配置确认密钥、启动配置的随机数以及所述待接入设备相关信息发送给所述服务器,以供所述服务器生成启动配置确认值。
优选地,该方法还可以包括:基于第一数据包的内容,确定所述待接入设备接入物联网的过程需要服务器的参与。本发明在遵循现有规范的前提下,引入了云端对启动配置,尤其是认证过程的参与。云端可以实现验证值的生成和校验,从而提升对设备接入的控制性,同时通过对秘密标识码的保有和使用进一步提升网络安全性。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了根据本发明的设备接入IoT的示意图。
图2示出了设备已作为一个节点接入IoT的示意图。
图3示出了用于确认值生成的流程示意图。
图4示出了确认值检查的过程。
图5示出了根据本发明一个实施例的接入蓝牙Mesh网络的认证方法的流程示意图。
图6示出了云端认证方法的一个例子。
图7示出了根据本发明一个实施例的用于接入蓝牙Mesh网络的云端认证***。
图8示出了根据本发明一个实施例可用于实现上述视频推荐方法的计算设备的结构示意图。
图9示出了根据本发明一个实施例的IoT设备的组成示意图。
图10示出了根据本发明一个实施例的IoT设备接入方法的流程示意图。
图11示出了根据本发明一个实施例的IoT设备的组成示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在物联网的发展过程中,本地设备与云端能力结合是一个重要的能力。因此,本发明设计了一套增强的认证方案,可以由云端平台参与节点认证,并且不会破坏现有的规范。本方案可以完美的实现本地设备与云端结合,为在物联网平台上进行设备管理、远程设备控制和数据上下行等操作打下基础。
图1示出了根据本发明的设备接入IoT的示意图。如图1所示,IoT包括多个已经联网的节点。一个物联网设备(例如,图中示出的蓝牙灯泡1)想要接入现有的IoT,不同于直接与IoT中的一个节点(例如,图中的节点2)完成认证,在本发明中,待接入设备1需要通过与节点2的短距离数据传输(例如,几厘米至几百米),以及经由节点2的与远程服务器3的远程数据传输来实现设备1加入IoT的认证过程(图中的椭圆虚线框表示设备1接入IoT时操作所涉及的对象),并最终实现图2所示的已作为一个节点接入的结果。在此,将已经加入IoT的设备称为“节点”,将想要加入IoT的设备(例如,蓝牙灯泡1)称为“待接入设备”或“物联网设备”。现有的物联网(IoT)可以是具有特定范围的物联网,例如,一个家庭中,一个大楼中,甚至一个园区中的物联网等。与节点2远程通信的服务器3可以是用于实现特定功能的服务器群,例如,设备接入IoT时的云端认证平台。
在完成了加入过程之后,蓝牙灯泡1则可以从图1的“待接入设备”变为图2中IoT的一个节点。应该理解的是,在此,待接入设备是具有短距离通信能力(例如,经由蓝牙或局域网)的物联网设备,节点2是基于短距离通信能力以及与远程服务器通信能力的物联网设备。IoT中的其他设备则可以是两者之一。图中示出了IoT中各节点连接的一个例子,但应该理解的是,各节点也可以通过其他方式连接,并且在短距离通信经由WiFi通信实现的情况下,节点2也可以经由路由器与待接入设备1通信。
图3示出了根据本发明一个实施例的IoT设备接入方法的示意性流程图。该方法适用于基于各类短距离通信手段(例如,WiFi、蓝牙和蓝牙mesh等)进行设备接入的情况。
在步骤S310,待接入的物联网设备(例如,图1中的蓝牙灯泡1)广播第一数据包。通常,广播包中包括该物联网设备的相关描述信息。随后,在步骤S320,物联网中的一个节点(例如,图1中的节点2)接收所述第一数据包,并向服务器(例如,图中的服务器3)发送所述物联网设备的相关数据。在步骤S330,服务器基于相关数据生成身份验证数据。在步骤S340,节点接收所述身份验证数据,并向所述物联网设备转发所述身份验证数据。在步骤S350,物联网设备接收所述身份验证数据并进行检查确认。在步骤S360,服务器或是节点基于所述检查确认的通过,确定将所述物联网设备接入所述物联网。节点通过相关信息的云端上传,使得云端及时获知设备接入请求并参与身份验证。
进一步地,检查确认可以是双向的。即,在待接入设备完成对下发的身份验证数据的检查确认之后,可以生成自己的身份验证数据,以供云端进行检查确认,由此提升认证的安全性。
于是,IoT设备接入方法还可以包括:所述节点向所述物联网设备发出第二数据包,所述第二数据包包括与所述节点相关的数据;所述物联网设备基于所述第二数据包中包含的所述节点的第二相关数据,生成第二身份验证数据;所述节点接收所述第二身份验证数据,并向所述服务器转发所述第二身份验证数据;所述服务器接收所述第二身份验证数据并进行第二检查确认;以及基于所述第二检查确认的通过,确定将所述物联网设备接入所述物联网。
在此,“第一”和“第二”旨在对同种类的不同对象加以区分,而非对前后等进行任何暗示。
优选地,为了进一步提升安全性,设备端自身的秘密数据可用于验证数据的生成。各个物联网设备的上述秘密数据可以在服务器端集中存储,以进一步提升认证的准确性。于是,所述物联网设备生成第二身份验证数据可以包括:基于本机存储的秘密数据生成所述第二身份验证数据,并且所述服务器接收所述第二身份验证数据并进行第二检查确认包括:所述服务器根据所述相关数据中包括的所述物联网设备的标识符,云端查找所述物联网设备的秘密数据;以及所述服务器基于查找到的所述秘密数据,对所述第二身份验证数据进行检查确认。
相应地,云端秘密数据用于生成验证数据,并在设备端确认。于是,IoT设备接入方法还可以包括:所述服务器根据所述相关数据中包括的所述物联网设备的标识符,查找所述物联网设备的秘密标识符,并且基于所述相关数据生成身份验证数据包括:进一步基于所述秘密标识符,生成身份验证数据,并且所述物联网设备接收所述身份验证数据并进行检查确认包括:所述物联网设备基于自身存储的所述秘密标识符,对所述身份验证数据进行检查确认。
上述完整的秘密数据可以不进行空中传播。身份验证数据和/或第二身份验证数据可以以无法反推出所述完整秘密数据的方式生成,例如,基于秘密数据的摘要计算。由此,在提升验证准确性的同时,保证设备安全。
进一步地,可以生成同时包括待接入设备和节点两者的身份验证数据,以进一步提升验证的准确性。于是,IoT设备接入方法还可以包括:所述节点向所述服务器发送所述节点的相关数据;所述服务器还基于所述节点的相关数据生成所述身份验证数据;所述物联网设备还基于自身的相关数据生成所述第二身份验证数据。
为了确保通信安全,该方法还可以包括:所述节点和所述物联网设备在安全链路中交换所述节点公钥和所述物联网设备公钥,并且生成的所述身份验证数据和所述第二身份验证数据基于所述节点公钥和所述物联网设备公钥被加密。
进一步地,为了避免重放攻击身份验证数据还基于所述节点侧的随机数生成,所述第二身份验证数据还基于所述物联网设备侧的第二随机数生成,并且,所述方法还包括:所述节点向所述物联网设备发送所述随机数;以及所述物联网设备向所述节点发送所述第二随机数。
为了简化流程,节点可以完成一部分的身份验证数据生成步骤。于是,该方法还可以包括:所述节点对与所述物联网设备相关的数据及其自身相关的数据进行初步处理,并将经初步处理的数据发送给所述服务器;以及所述服务器还基于所述经初步处理的数据生成所述身份验证数据。
本发明的方案尤其适用于蓝牙SIG Mesh网络。在一个实施例中,上述物联网设备是能够接入蓝牙mesh网络的待接入设备,物联网是蓝牙Mesh网络,所述节点是启动配置设备(Provisioner)。
蓝牙SIG Mesh是由蓝牙官方组织指定的一种蓝牙设备本地组网规范,可以支持设备多对多传输,并特别提高构建大范围网络覆盖的通信能力,适用于楼宇自动化、无线传感器网络等需要让数以万计个设备在可靠、安全的环境下传输的物联网解决方案。
Mesh网络中的设备称为节点,非Mesh网络中的设备称为“未经启动配置的设备”。将未经启动配置的设备转换为节点的过程称为“启动配置(provisioning)”。例如,用户可以考虑购买一款支持Mesh的新蓝牙照明灯,将其带回家并进行启动设置。为了使其成为Mesh网络的一部分,以通过现有的蓝牙照明开关和调光器进行控制,需要对此款照明灯进行启动配置。启动配置是一个安全的过程,原本未经启动配置的设备经过启动配置后会拥有一系列加密密钥,并被启动配置的设备(通常是平板电脑或智能手机)识别。其中一个密钥称为网络密钥或简称为NetKey。Mesh网络中的所有节点都具有至少一个NetKey,设备必须拥有该密钥才能成为加入相应的网络,并成为节点。在节点投入使用之前,通过启动配置过程安全地获取NetKey是基本的第一步。
现有的启动配置流程规范完全基于本地设备。在大量接入节点的情况下,启动配置所需的信息交换和认证流程将会是耗时且不易管理的。为此,需要一种能够实现蓝牙Mesh网络接入认证的优选方法。
为了方便对本发明原理的理解,如下将首先对蓝牙Mesh网络,尤其是节点加入网络的启动配置流程进行背景说明。
蓝牙Mesh网络好比是一个VIP俱乐部。如果您是这个俱乐部的会员,就可以随意进入,享受与会员类别相对应的设施和服务。如果您不是会员,便过不了门卫这一关。设备要想成为蓝牙Mesh网络的成员,则必须经过一个称为“启动配置(provisioning)”的安全流程,将设备添加到网络中,以保证网络的安全性。
安全性是蓝牙Mesh网络的核心,将设备添加到网络、或从中移除设备的过程都将严格遵循安全性要求。依据规范,蓝牙Mesh网络使用一套包含各类安全密钥的***,从整体上保护网络,同时保护网络内的各个应用并将其彼此分离。拥有正确的安全密钥,设备才能成为网络成员并有权参与特定应用。网络中的所有节点(node)都拥有一个名为“网络密钥”或“NetKey”的密钥。只有设备拥有了这个密钥,才能成为该网络的成员,即成为其中的节点之一。
启动配置是设备加入Mesh网络并成为节点的过程。它涉及几个阶段,会生成各种安全密钥,并且本身是一个安全的过程。可使用平板电脑等设备上的应用进行预置。在这种情况下,用于驱动预置过程的设备称为启动配置设备(Provisioner)。要进行预置以成为节点的设备在本发明中可被称为“待接入设备”。
预置过程通过五个步骤进行,这些步骤包括:
第1步.Beacon广播(Beaconing)
为支持各种不同的蓝牙Mesh功能(包括但不限于预置),已经引入了全新的GAP广播类型(参考:蓝牙核心规格附录),包括<<Mesh Beacon>>广播类型。未经预置的设备会通过使用广告封包中的<<Mesh Beacon>>广播类型来指示其可用性。用户可能需要以这种方式启动新的设备广播,例如按下按钮组合、或按住某个按钮一段时间。
第2步.邀请(Invitation)
在此步骤中,启动配置设备将以启动配置邀请PDU(Provisioning Invite PDU,PDU:Protocol Data Unit,即,协议数据单元)的形式向要进行启动配置设备发送邀请。Beacon设备会作出响应,即在Provisioning Capabilities PDU(启动配置能力PDU)中回复关于自身的信息。
第3步.交换公共密钥(Exchanging public keys)
启动配置设备和要进行预置的设备可以直接或者通过带外(OOB)方式交换他们的公共密钥,这些密钥可以是静态或暂时的。
在此阶段,根据未经启动配置设备的功能,启动配置设备(Provisioner)选择合适的验证方法,并通知未经启动配置设备将要采取的方式。之后,启动配置设备和未经启动配置设备会创建一个椭圆曲线公私密钥对并交换公钥。然后,每台设备使用自己的私钥和对等设备的公钥来计算对称密钥,即ECDHSecret。该密钥用于验证对端设备的身份。
第4步.认证(Authentication)
在认证步骤期间,要进行启动配置的设备会通过一种适合其功能的动作,以某种形式向用户输出一个随机的单位或多位数字。例如,它可能会闪烁LED灯数次。用户将新设备输出的数字输入到启动配置设备中,两台设备之间进行这一随机数的加密交换,以完成两个设备彼此之间的认证。
第5步.启动配置数据的分配(Distribution of provisioning data)
认证成功完成后,会通过两台设备的私有密钥和交换的对等公共密钥生成会话密钥。会话密钥随后用于保护完成预置过程所需数据的后续分发,包括称为网络密钥(NetKey)的安全密钥。预置完成后,经预置的设备会具备网络的NetKey,这是一项Mesh安全性参数,也称为IV索引和单播地址,由启动配置设备进行分配。待接入设备于是完成启动配置接入网络,并且现在可被称为节点。
在认证步骤中,启动配置设备使用所选的验证方法,对未经启动配置设备进行验证。有三种可用的验证方法:输出OOB(Output OOB)、输入OOB(Input OOB)、以及静态OOB(Static OOB)或无OOB(No OOB),在此,OOB指的是“带外”(Out-Of-Band)。
若选择的是输出带外(Output OOB)验证方法,则未经启动配置设备会选择一个随机数,并通过与其功能兼容的方式输出该数字。例如,如果未经启动配置设备是一个灯泡,则它能够闪烁指定的次数。如果设备具有LCD屏幕,则可以将随机数显示为多位数值。启动配置设备(Provisioner)的用户需要输入观察到的数字,来验证未经启动配置的设备。输入随机数后,启动配置设备(Provisioner)生成并检查确认值。无论采用哪种验证方式,整个验证步骤中的检查确认值(check confirmation value)计算式都是相同的。
输入带外(Input OOB)验证方法与输出带外(Output OOB)方法类似,但设备的角色相反。启动配置设备(Provisioner)生成并显示随机数,然后提示用户采取适当的操作,将随机数输入未经启动配置的设备。以照明开关为例,用户可以在一定时间内数次按下按钮,以这种形式输入随机数。与输出带外验证(Output OOB)相比,输入带外(Input OOB)方法需要发送一个附加的启动配置协议PDU。在完成认证操作之后,未经启动配置的设备向启动配置设备发送一个启动配置输入完成PDU(Provisioning Input Complete PDU),通知其随机数已输入完成。随后进入到执行检查确认值操作的步骤。
在输入带外或输出带外都不可用的情况下,启动配置设备(Provisioner)和未经启动配置的设备可采用静态带外(Static OOB)验证或无带外(No OOB)验证:采用静态OOB信息;或静态OOB信息不可用,直接以数值0代替。在此情况下,启动配置设备和未经启动配置的设备各自生成一个随机数,然后进行检查确认值(Check Confirmation Value)操作。
无论采用何种验证方法,都会进行确认值生成和检查。根据蓝牙Mesh规格,启动配置设备(Provisioner)和未经启动配置设备应分别计算确认值。这两个值被称为ConfirmationProvisioner和ConfirmationDevice。这两个值的计算都使用一系列相同的函数,不同之处仅在于所使用的随机数输入。确认值生成函数需要8个参数,参数值来自启动配置(Provisioning)过程中的后续步骤。图4示出了用于确认值生成的流程示意图。该流程图对于ConfirmationProvisioner和ConfirmationDevice值均适用,并且其各自的值的生成都包括了几轮AES-CMAC和SALT生成。
如图4所示,如果由启动配置设备(Provisioner)执行输入,则从一个名为RandomProvisioner的值开始(下图中以浅灰色表示),并生成ConfirmationProvisioner值。而如果由未经启动配置设备执行输入,则从一个名为RandomDevice的值开始(下图中以深灰色表示),并生成ConfirmationDevice值。
根据现有蓝牙Mesh网络规范,启动配置设备的确认值如下计算:ConfirmationProvisioner=AES-CMACConfirmationKey(RandomProvisioner||AuthValue)
待接入设备的确认值如下计算:
ConfirmationDevice=AES-CMACConfirmationKey(RandomDevice||AuthValue)
其中:
ConfirmationKey=k1(ECDHSecret,ConfirmationSalt,“prck”)
ConfirmationSalt=s1(ConfirmationInputs)
ConfirmationInputs=ProvisioningInvitePDUValue||ProvisioningCapabilitiesPDUValue||ProvisioningStartPDUValue||PublicKeyProvisioner||PublicKeyDevice
ProvisioningInvitePDUValue(启动配置邀请PDU值)是发送或接收到的启动配置邀请PDU字段(不包括操作码)的值。
ProvisioningCapabilitiesPDUValue(启动配置能力PDU值)是发送或接收到的启动配置能力PDU字段(不包括操作码)的值。
ProvisioningStartPDUValue(启动配置起始PDU值)是发送或接收到的启动配置起始PDU字段(不包括操作码)的值。
PublicKeyProvisioner(启动配置设备公钥)是由启动配置设备发送的公钥PDU(Public Key PDU)中的Public Key X和Public Key Y字段的值。
PublicKeyDevice(设备公钥)是由待接入设备发送的公钥PDU(Public Key PDU)中的Public Key X和Public Key Y字段的值或是来自递送的OOB公钥。
RandomProvisioner(启动配置设备随机数)是由启动配置设备的随机数发生器生成的随机字符串。
RandomDevice(设备随机数)是由待接入设备的随机数发生器生成的随机比特串。
AuthValue(认证值)是一个120位的值。AuthValue的计算依赖于使用的输出OOB操作、输入OOB操作或是静态OOB类型的数据类型。
当如图4所示生成各自的确认值之后,两台设备就会进行确认值交换,并且都会检查接收值的完整性。图5示出了确认值检查(Confirmation Value Check)的过程。
确认过程的开始就是启动配置设备(Provisioner)将其随机数RandomProvisioner发送到未经启动配置的设备。未经启动配置设备使用它来重新计算确认值,并与之前接收的确认值进行比较,进行验证。
如果由未经启动配置设备计算所得的确认值与接收到的ConfirmationProvisioner不匹配,则启动配置(Provisioning)过程将被中止。如果由未经启动配置设备计算所得的确认值与接收到的ConfirmationProvisioner匹配,则未经启动配置设备将其RandomDevice值发送给启动配置设备。
如果由启动配置设备(Provisioner)计算所得的确认值与接收到的ConfirmationDevice不匹配,则启动配置(Provisioning)流程将被中止。
如果由启动配置设备(Provisioner)计算所得的确认值与接收到的ConfirmationDevice匹配,则表示验证成功。后续只要启动配置设备(Provisioner)和未经启动配置设备完成启动配置流程的第五步:启动配置数据分发,则未经启动配置设备就能成为蓝牙Mesh网络中的节点(node)。
以上结合图4和图5,描述了现有蓝牙Mesh网络规范中认证操作的相关步骤。由上可知,现有的蓝牙Mesh规范是完全基于本地设备的方案,没有提供本地Mesh网络与云端平台结合的方案。在物联网的发展过程中,本地设备与云端能力结合是一个重要的能力。因此,本发明设计了一套增强的认证方案,可以由云端平台参与节点认证,并且不会破坏现有的SIG Mesh规范。本方案可以完美的实现本地设备与云端结合,为在物联网平台上进行设备管理、远程设备控制和数据上下行等操作打下基础。更具体地,本发明的认证方案可以在ConfirmationProvisioner的生成以及ConfirmationDevice的验证上与云端结合,并且优选地包含对蓝牙Mesh设备广播包以及认证过程AuthValue的生成方式的定义。
图6示出了根据本发明一个实施例的接入蓝牙Mesh网络的云端认证方法的流程示意图。该方法涉及启动配置设备(Provisioner)、待接入设备(New Device)和服务器(例如,物联网云端平台IoTCloud)之间的交互。
在步骤S610,启动配置设备将自身的启动配置确认相关信息以及获取的待接入设备相关信息发送给服务器。
在步骤S620,服务器基于从所述启动配置设备获取的所述启动配置确认相关信息以及待接入设备相关信息生成启动配置确认值并将其返回给所述启动配置设备。
在步骤S630,启动配置设备将所述启动配置确认值下发给所述待接入设备。
在步骤S640,待接入设备使用获取的启动配置设备相关信息和自身信息校验所述启动配置确认值。
随后,在步骤S650,待接入设备在校验通过后生成设备确认值并将其上报给启动配置设备。
在步骤S660,启动配置设备将所述设备确认值上传给所述服务器。
在步骤S670,服务器对设备确认值进行校验并将校验结果返回给启动配置设备。
在步骤S680,启动配置设备将校验结果下发给所述待接入设备。
由此,通过将Provisioner Confirmation Value(启动配置确认值)的生成,以及对Device Confirmation Value(设备确认值)的验证从启动配置设备移至服务器,方便云端对认证过程的统一管理。
依据具体实现,服务器可以从如图1所示的不同阶段开始对启动配置确认值的生成。在一个实施例中,启动配置设备可以仅负责随机数的生成和获取数据的传递,并由服务器进行图1所示的完整确认值生成流程。
在另一个实施例中,为了简化流程,可由启动配置设备完成Confirmation Key(确认密钥)之前的计算,仅将后续的计算移到云端进行。为此,本发明的认证方法在步骤S610之前还可以包括启动配置设备生成用于启动配置的随机数(Random Provisioner)并基于获取的待接入设备相关信息生成启动配置确认密钥(Confirmation Key)的步骤。随后,启动配置设备可以在步骤S610将这些信息发送给云端。服务器则可在步骤S620基于从所述启动配置设备获取的所述启动配置的随机数和所述启动配置确认密钥生成所述启动配置确认值。
在一个实施例中,可由服务器生成启动配置认证值(AuthValue)。于是步骤S620可以包括基于自身生成的所述AuthValue生成所述启动配置确认值。由于认证经由线上完成并且为了确保安全性,由此本发明尤其适用于无需用户手动输入随机数的静态带外(Static OOB)确认模式。在此模式下,AuthValue的计算可以通过约定的算法来指定。
在本发明中,尤其可以指定AuthValue包括待接入设备的唯一秘密标识码。为此,服务器生成AuthValue的步骤可以包括:所述服务器所述待接入设备相关信息中包含的设备唯一标识码,查找所述待接入设备的秘密标识码;以及所述服务器基于查找到的所述秘密标识码生成所述AuthValue。相应地,S640可以包括所述待接入设备基于自身存储的秘密标识码生成h校验认证值;以及所述待接入设备将生成的校验认证值与从所述启动配置确认值中还原的AuthValue进行比较以进行所述校验。由此,能够通过将待接入设备的秘密标识码用于认证而提升认证的可靠性。
上述秘密标识码(secret)以是在设备生成过程中被直接烧录到设备中的。该设备的秘密标识码可以提取在控制台预注册,并存储在IoT(物联网)云端平台或其数据库内。由于只有设备本身和云端平台知晓该秘密标识码,因此能够进一步提升认证过程的安全性。
优选地,服务器可以以无法反推出所述秘密标识码的方式生成AuthValue。由此,即便Provisioner Confirmation Value以及后续生成的Device Confirmation Value在传输过程中被窃取,也无法从确认值中推导出完整的秘密标识码。例如,服务器可以以对包含所述待接入设备的唯一标识符和所述秘密标识码的数据进行摘要计算的方式生成128比特的所述AuthValue。例如,唯一标识符可由启动配置设备上传,帮助云端平台查找对应设备的秘密标识码。
在一个具体实现中,蓝牙设备可以使用三元组作为设备的身份标志,三元组内容包含:Pro duct Key,DeviceName,Secret。其中Product Key(产品密钥)和Secret(秘密,例如,前述的秘密标识码或秘密数据)在IoT云端平台生成。DeviceName可以云端批量生成或由厂商批量提供。蓝牙Mesh设备的安全级别可以采用一机一密。一机一密是指每一个设备使用一个单独的Secret,某一个设备被破解不会影响此品类的其他设备。在实际的应用场景中,设备的三元组在控制台提前预注册,然后设备厂商会在产线过程中将三元组烧录到设备中。在随后设备加入网络的认证操作中,启动配置设备可以将获取的待接入蓝牙设备的ProductID(产品ID,对应于Product Key)、MAC地址发送给云端平台。平台基于ProductID和MAC地址索引Secret,并可基于在认证操作前启动配置设备与待接入设备之间预定义规则来生成AuthValue。例如,可以定义AuthValue=SHA256(Product ID,MAC,Secret)。即:将Product ID,MAC,Secret三个值的字节数据(非字符串)用英文逗号连接,然后进行SHA256摘要计算,取前16字节。
在一个实施例中,可以对Beacon广播中使用的广播包进行约定。为此,待接入设备广播可以包括指示所述服务器的字段的广播包。由此方便启动配置设备基于对所述服务器的识别开启云端认证流程。
另外,由于上述启动配置使用了静态带外模式,因此有可能将邻居家的非自有设备配置入网络(如果该设备也能够经由平台认证的话),因此可以额外增加用户交互流程防止误加入。在一个实施例中,本发明的认证方法还可以包括待接入设备接收用户进行确认接入蓝牙Mesh网络的操作。例如,用户在需要配网时,对待加入设备进行特定操作,比如,连续五次按下蓝牙灯的开关等。
如上已结合图6描述了根据本发明的云端认证方法的原理。如下将结合图7,描述根据本发明的云端认证方法的一个实例。
如图7所示,在启动配置设备和待接入设备完成了在前的广播、邀请和密钥交互(Beaconing,Invitaion,Exchanging public keys)之后,启动配置进入认证(Authentication)阶段。
首先,启动配置设备(1)基于在前接收到的信息,进行确认(Confirmation计算),生成最终的Confirmation Key和Provisioner Random等。上述计算在启动配置设备而非云端实现,有助于简化流程。
随后,启动配置设备(2)上传其生成的Confirmation Key和Provisioner Random以及从待接入设备获取的ProductID和MAC地址。
云端平台(IoTCloud)获取上述信息之后,进行后续的AuthValue的生成和最后一步的AES CMAC计算。定义AuthValue=SHA256(Product ID,MAC,Secret)。为了保证设备安全,Secret不进行空中传播,也不会传递到启动配置设备端。故启动配置设备端的AuthValue和Comfirmation Value计算在云端进行。于是,IoTCloud(3)计算ProvisionerConfirmation Value并在随后(4)将该值返回给启动配置设备。
启动配置设备于是完成包含Random值的Provisioner Confirmation Value的下发(5)(6)。
待接入设备(7)例如使用自身的secret和其他值校验ProvisionerConfirmation。若校验通过,则待接入设备生成相应的Device Confirmation Value,由此完成对Random值和Device Confirmation Value的上报(8)(9)。
在接收到待接入设备上报的值之后,启动配置设备(10)上传Confirmation Key、Device Random、Device Confirmation Value以及从待接入设备获取或在前步骤中保存的Product ID和MAC地址。
IoTCloud(11)随后计算Device Confirmation Value并于设备端上传的值进行校验,并(12)返回校验结果。启动配置设备(13)下发启动配置的结果。
如果启动配置顺利完成,这随后进入启动配置数据的分配(Distribution ofprovisioning data)阶段,之后,设备接入网络成为“节点”。
由上,启动配置过程使用SIG Mesh标准的Static OOB模式。为了引入云端安全支持,将启动配置端的认证流程进行微调,其他流程无变化,符合现有Mesh标准。本发明的认证方法可以完美实现本地设备与云端的结合,为后续物联网平台的管理、控制和数据流通打下基础。
图8示出了根据本发明一个实施例的用于接入蓝牙Mesh网络的认证***。该***800可以包括启动配置设备810(例如,手持终端设备)、服务器(例如,IoTCloud,云端物联网设备认证平台)820和待接入设备830。启动配置设备810可以用于:将自身的启动配置确认相关信息以及获取的待接入设备相关信息发送给服务器820用以生成启动配置确认值;将所述启动配置确认值下发给所述待接入设备830;在所述待接入设备830对下发的所述启动配置确认值验证通过的情况下接收所述待接入设备830上报的设备确认值并将其上传给所述服务器820;以及将所述服务器820对所述设备确认值的校验结果下发给所述待接入设备。
服务器820可以用于:基于从所述启动配置设备810获取的所述启动配置确认相关信息以及待接入设备相关信息生成启动配置确认值并将其返回给所述启动配置设备810;对由所述待接入设备830上报并经由所述启动配置设备810上传的设备确认值进行校验并将校验结果返回给所述启动配置设备810。
待接入设备830可以用于:接收由所述启动配置设备810下发的启动配置确认值;使用获取的启动配置设备相关信息和自身信息校验所述启动配置确认值;在校验通过后生成设备确认值并将其上报给所述启动配置设备810;接收由所述启动配置设备810下发给的所述服务器对所述设备确认值的认证结果。
服务器820进一步用于:生成启动配置认证值(AuthValue);以及基于自身生成的所述AuthValue生成所述启动配置确认值。例如,服务器820可以进一步用于:基于待接入设备相关信息中包含的设备唯一标识码,查找所述待接入设备的秘密标识码;以及基于查找到的所述秘密标识码生成所述AuthValue。相应地,待接入设备830可以进一步用于:基于自身存储的秘密标识码生成校验认证值;以及将生成的校验认证值与从所述启动配置确认值中还原的AuthValue进行比较以进行所述校验。
启动配置设备810和待接入设备830可以约定以静态带外(Static OOB)的方式进行认证,并且约定AuthValue基于所述待接入设备的秘密标识码生成。
待接入设备830可以烧录有所述秘密标识码,并且服务器510存储有所述待接入设备的所述秘密标识码。为了确保安全性,服务器520可以以无法反推出所述秘密标识码的方式生成所述AuthValue。
启动配置设备810可以进一步用于:生成用于启动配置的随机数(RandomProvisioner)并基于获取的待接入设备相关信息生成启动配置确认密钥(ConfirmationKey),并且服务器820基于从所述启动配置设备获取的所述启动配置的随机数和所述启动配置确认密钥生成所述启动配置确认值。
待接入设备830可以接收用户进行确认接入蓝牙Mesh网络的操作。
待接入设备830可以用于:广播指示所述服务器的字段的广播包,以及启动配置设备810可以用于:基于对所述服务器的识别开启云端认证流程。
应该理解的是,服务器820可以同时与多个启动配置设备810相连接,启动配置设备810则可以用于多个蓝牙设备830的接入。
图9示出了根据本发明一个实施例的IoT设备的组成示意图。该设备是物联网中的一个节点,并参与待接入设备的接入操作。该设备900包括第一通信装置910、处理器920和第二通信装置930。第一通信装置910可以是能够进行近距离通信的装置,包括如下至少一种:WiFi通信装置;蓝牙mesh通信装置;红外通信装置。第二通信装置930可以是能够进行远程通信的装置,例如WiFi通信装置。
第一通信装置910用于接收待接入设备广播的第一数据包。第二通信装置930用于向服务器发送所述待接入设备的相关数据并接收所述服务器基于所述相关数据生成身份验证数据。在一个可选实施例中,处理器920可以用于基于第一数据包的内容,确定所述待接入设备接入物联网的过程需要服务器的参与。例如,待接入设备广播可以包括指示所述服务器的字段的广播包。由此方便节点基于对所述服务器参与的识别开启云端认证流程。
第一通信装置910进一步用于:将所述身份验证数据转发至所述待接入设备;接收所述待接入设备针对所述身份验证数据检查确认通过的消息。处理器920进一步用于:基于所述检查确认的通过,确定将所述待接入设备接入所述物联网。
在双向认证的情况下,第一通信装置910可以进一步用于:向所述待接入设备发出第二数据包,所述第二数据包包括与所述节点相关的数据;接收所述待接入设备生成的第二身份验证数据。第二通信装置930进一步用于:向所述服务器转发所述第二身份验证数据;以及接收所述服务器针对所述第二身份验证数据的第二检查确认通过的消息。所述处理器920进一步用于:基于所述第二检查确认通过的消息,确定将所述待接入设备接入所述物联网。
为了简化流程,节点可以进行部分的身份验证数据计算。于是,处理器920可以进一步用于:对与所述待接入设备相关的数据及其自身相关的数据进行初步处理。第二通信装置930可以进一步用于:将经初步处理的数据发送给所述服务器,以供生成所述身份验证数据。
在此,待接入设备可以是能够接入蓝牙mesh网络的待接入设备,所述物联网可以包括蓝牙Mesh网络,所述节点是启动配置设备(Provisioner)。
于是,启动配置设备900进一步用于:将自身的启动配置确认相关信息以及获取的待接入设备相关信息发送给服务器用以生成启动配置确认值;将所述启动配置确认值下发给所述待接入设备;在所述待接入设备对下发的所述启动配置确认值验证通过的情况下接收所述待接入设备上报的设备确认值,并将设备确认值上传给所述服务器;以及将所述服务器对所述设备确认值的校验结果下发给所述待接入设备。
在一个实施例中,启动配置设备900可以进一步用于:生成用于启动配置的随机数(Random Provisioner)并基于获取的待接入设备相关信息生成启动配置确认密钥(Confirmation Key);将所述启动配置确认密钥、启动配置的随机数以及所述待接入设备相关信息发送给所述服务器,以供所述服务器生成启动配置确认值。
图10示出了根据本发明一个实施例的物联网设备接入方法的流程示意图。该方法可由物联网中的一个节点执行,例如,由图9所示IoT设备执行。
在步骤S1010,接收待接入设备广播的第一数据包。在步骤S1020,向服务器发送所述待接入设备的相关数据,并接收所述服务器基于所述相关数据生成的身份验证数据。在步骤S1030,将所述身份验证数据转发至所述待接入设备。在步骤S1040,接收所述待接入设备针对所述身份验证数据检查确认通过的消息。在步骤S1050,基于所述检查确认的通过,确定将所述待接入设备接入所述物联网。
在一个实施例中,在步骤S1010和S1020之间,还可以包括如下步骤:基于第一数据包的内容,确定所述待接入设备接入物联网的过程需要服务器的参与。
在一个实施例中,接入认证可以是双向的。于是该方法还可以包括:向所述待接入设备发出第二数据包,所述第二数据包包括与所述节点相关的数据;接收所述待接入设备生成的第二身份验证数据;向所述服务器转发所述第二身份验证数据;接收所述服务器针对所述第二身份验证数据的第二检查确认通过的消息;以及基于所述第二检查确认通过的消息,确定将所述待接入设备接入所述物联网。
在一个实施例中,节点本身可以承担部分数据处理任务,于是该方法还可以包括:对与所述待接入设备相关的数据及所述节点相关的数据进行初步处理;将经初步处理的数据发送给所述服务器,以供生成所述身份验证数据。优选地,该方法还可以包括:将节点自身的启动配置确认相关信息以及获取的待接入设备相关信息发送给服务器用以生成启动配置确认值;将所述启动配置确认值下发给所述待接入设备;在所述待接入设备对下发的所述启动配置确认值验证通过的情况下接收所述待接入设备上报的设备确认值,并将设备确认值上传给所述服务器;以及将所述服务器对所述设备确认值的校验结果下发给所述待接入设备。
在用于蓝牙mesh网络的情况下,该节点可以用作启动配置设备。于是,该方法还可以包括:生成用于启动配置的随机数(Random Provisioner)并基于获取的待接入设备相关信息生成启动配置确认密钥(Confirmation Key);将所述启动配置确认密钥、启动配置的随机数以及所述待接入设备相关信息发送给所述服务器,以供所述服务器生成启动配置确认值。
图11示出了根据本发明一个实施例的IoT设备的组成示意图。该设备是待接入物联网的设备。该设备1100包括通信装置1110和处理器1120,例如,功能较为简单的处理器。
通信装置1110可以用于广播第一数据包,所述第一数据包包括经由服务器接入物联网的内容,以及从物联网的一个节点接收所述服务器生成的身份验证数据。该通信装置1110可以是用于进行近距离通信的通信装置,例如,蓝牙通信模块。处理器1120可以用于对接收的所述身份验证数据进行检查验证,并生成检查验证通过的消息。通信装置1110可以进一步用于:向所述节点发送所述检查验证通过的消息。
在双向认证的情况下,所述通信装置1110进一步用于:接收来自所述节点的第二数据包,所述第二数据包包括与所述节点相关的数据。处理器1120可以用于基于所述第二数据包中包含的所述节点的第二相关数据,生成第二身份验证数据。通信装置1110进一步用于向所述节点发送所述第二身份验证数据,以供所述服务器进行第二检查确认。
为了提升认证准确性,处理器1120进一步用于:根据自身存储的秘密数据,对所述身份验证数据进行检查验证,以及基于所述秘密数据,生成第二身份验证数据。所述秘密数据可以被烧录在所述设备中。为了保证设备安全,处理器1120进一步用于:以无法反推出所述完整秘密数据的方式生成所述第二身份验证数据。
在此,待接入设备尤其可以是能够接入蓝牙mesh网络的待接入设备,所述物联网是蓝牙Mesh网络,所述节点是启动配置设备(Provisioner)。
于是,待接入设备1100进一步用于:接收由所述启动配置设备下发的启动配置确认值;使用获取的启动配置设备相关信息和自身信息校验所述启动配置确认值;在校验通过后生成设备确认值并将其上报给所述启动配置设备;接收由所述启动配置设备下发给的所述服务器对所述设备确认值的认证结果。
待接入设备1100可以进一步用于:基于自身存储的秘密标识码生成校验认证值;以及将生成的校验认证值与从所述启动配置确认值中还原的AuthValue进行比较以进行所述校验。
启动配置设备和待接入设备可以约定以静态带外(Static OOB)的方式进行认证,并且约定AuthValue基于所述待接入设备的秘密标识码生成。
为了防止误接入操作,待接入设备1100可以接收用户进行确认接入蓝牙Mesh网络的操作。
上文中已经参考附图详细描述了根据本发明的云端认证方法和***。本方案可以使得云端平台参与节点认证,并且不会破坏现有的本地接入规范。本方案可以实现本地设备与云端结合,为在物联网平台上进行设备管理、远程设备控制和数据上下行等操作打下基础,同时进一步提升物联网的安全等级。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的***和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (36)

1.一种接入蓝牙Mesh网络的云端认证***,包括服务器、启动配置设备和待接入设备,其中,
所述启动配置设备用于:
将自身的启动配置确认相关信息以及获取的待接入设备相关信息发送给服务器用以生成启动配置确认值,其中,基于所述待接入设备相关信息,确定所述待接入设备接入蓝牙Mesh网络的过程需要服务器的参与;
将所述启动配置确认值下发给所述待接入设备;
在所述待接入设备对下发的所述启动配置确认值验证通过的情况下接收所述待接入设备上报的设备确认值并将其上传给所述服务器;以及
将所述服务器对所述设备确认值的校验结果下发给所述待接入设备,
所述服务器用于:
基于从所述启动配置设备获取的所述启动配置确认相关信息以及待接入设备相关信息生成启动配置确认值并将其返回给所述启动配置设备;
对由所述待接入设备上报并经由所述启动配置设备上传的设备确认值进行校验并将校验结果返回给所述启动配置设备,以及
所述待接入设备用于:
广播自身的相关信息;
接收由所述启动配置设备下发的启动配置确认值;
使用获取的启动配置设备相关信息和自身信息校验所述启动配置确认值;
在校验通过后生成设备确认值并将其上报给所述启动配置设备;
接收由所述启动配置设备下发给的所述服务器对所述设备确认值的认证结果。
2.如权利要求1所述的***,其中,所述服务器进一步用于:
生成启动配置认证值AuthValue;以及
基于自身生成的所述AuthValue生成所述启动配置确认值。
3.如权利要求2所述的***,其中,所述服务器进一步用于:
基于所述待接入设备相关信息中包含的设备唯一标识码,查找所述待接入设备的秘密标识码;以及
基于查找到的所述秘密标识码生成所述AuthValue,并且,其中,
所述待接入设备进一步用于:
基于自身存储的秘密标识码生成校验认证值;以及
将生成的校验认证值与从所述启动配置确认值中还原的AuthValue进行比较以进行所述校验。
4.如权利要求3所述的***,其中,所述启动配置设备和所述待接入设备约定以静态带外(Static OOB)的方式进行认证,并且约定AuthValue基于所述待接入设备的秘密标识码生成。
5.如权利要求3所述的***,其中,所述待接入设备烧录有所述秘密标识码,并且所述服务器存储有所述待接入设备的所述秘密标识码。
6.如权利要求3所述的***,其中,所述服务器以无法反推出所述秘密标识码的方式生成所述AuthValue。
7.如权利要求1所述的***,其中,所述启动配置设备进一步用于:
生成用于启动配置的随机数(Random Provisioner)并基于获取的待接入设备相关信息生成启动配置确认密钥(Confirmation Key),并且
所述服务器进一步用于:
基于从所述启动配置设备获取的所述启动配置的随机数和所述启动配置确认密钥生成所述启动配置确认值。
8.如权利要求1所述的***,其中,所述待接入设备接收用户进行确认接入蓝牙Mesh网络的操作。
9.如权利要求1所述的***,其中,所述待接入设备用于:
广播指示所述服务器的字段的广播包,以及
所述启动配置设备用于:
基于对所述服务器的识别开启云端认证流程。
10.一种物联网(IoT)设备接入蓝牙Mesh网络的方法,包括:
物联网设备广播第一数据包;
物联网的一个节点接收所述第一数据包,基于第一数据包的内容,确定待接入设备接入物联网的过程需要服务器的参与,并向服务器发送所述物联网设备的相关数据;
所述服务器基于所述相关数据生成身份验证数据;
所述节点接收所述身份验证数据,并向所述物联网设备转发所述身份验证数据;
所述物联网设备接收所述身份验证数据并进行检查确认;以及
基于所述检查确认的通过,确定将所述物联网设备接入所述物联网,
其中,所述物联网设备是能够接入蓝牙mesh网络的待接入设备,所述物联网包括蓝牙Mesh网络,所述节点是启动配置设备(Provisioner),
其中,所述方法还包括:
所述节点向所述物联网设备发出第二数据包,所述第二数据包包括与所述节点相关的数据;以及
所述物联网设备基于所述第二数据包中包含的所述节点的第二相关数据,生成第二身份验证数据;
所述节点接收所述第二身份验证数据,并向所述服务器转发所述第二身份验证数据;
所述服务器接收所述第二身份验证数据并进行第二检查确认;以及
基于所述第二检查确认的通过,确定将所述物联网设备接入所述物联网,
其中,所述物联网中的一个节点向服务器发送所述物联网设备的相关数据包括:
启动配置设备将自身的启动配置确认相关信息以及获取的待接入设备相关信息发送给所述服务器,
所述服务器基于所述相关数据生成身份验证数据包括:
所述服务器基于从所述启动配置设备获取的所述启动配置确认相关信息以及待接入设备相关信息生成启动配置确认值并将其返回给所述启动配置设备,
所述物联网设备接收所述身份验证数据并进行检查确认包括:
所述待接入设备使用获取的启动配置设备相关信息和自身信息校验所述启动配置确认值,以及
所述物联网设备接基于所述第二数据包中包含的所述节点的第二相关数据,生成第二身份验证数据包括:
所述待接入设备在校验通过后生成设备确认值并将其上报给所述启动配置设备。
11.如权利要求10所述的方法,其中,所述物联网设备生成第二身份验证数据包括:
基于本机存储的秘密数据生成所述第二身份验证数据,并且
所述服务器接收所述第二身份验证数据并进行第二检查确认包括:
所述服务器根据所述相关数据中包括的所述物联网设备的标识符,云端查找所述物联网设备的秘密数据;以及
所述服务器基于查找到的所述秘密数据,对所述第二身份验证数据进行检查确认。
12.如权利要求10所述的方法,还包括:
所述服务器根据所述相关数据中包括的所述物联网设备的标识符,查找所述物联网设备的秘密标识符,并且
基于所述相关数据生成身份验证数据包括:
进一步基于所述秘密标识符,生成身份验证数据,并且
所述物联网设备接收所述身份验证数据并进行检查确认包括:
所述物联网设备基于自身存储的所述秘密标识符,对所述身份验证数据进行检查确认。
13.如权利要求11或12所述的方法,其中,所述身份验证数据和/或所述第二身份验证数据以无法反推出完整秘密数据的方式生成。
14.如权利要求10所述的方法,还包括:
所述节点向所述服务器发送所述节点的相关数据;
所述服务器还基于所述节点的相关数据生成所述身份验证数据;
所述物联网设备还基于自身的相关数据生成所述第二身份验证数据。
15.如权利要求10所述的方法,还包括:
所述节点和所述物联网设备在安全链路中交换所述节点公钥和所述物联网设备公钥,并且
生成的所述身份验证数据和所述第二身份验证数据基于所述节点公钥和所述物联网设备公钥被加密。
16.如权利要求10所述的方法,其中,所述身份验证数据还基于所述节点侧的随机数生成,所述第二身份验证数据还基于所述物联网设备侧的第二随机数生成,并且,所述方法还包括:
所述节点向所述物联网设备发送所述随机数;以及
所述物联网设备向所述节点发送所述第二随机数。
17.如权利要求10所述的方法,还包括:
所述节点对与所述物联网设备相关的数据及其自身相关的数据进行初步处理,并将经初步处理的数据发送给所述服务器;以及
所述服务器还基于所述经初步处理的数据生成所述身份验证数据。
18.如权利要求10所述的方法,还包括:
所述服务器生成启动配置认证值AuthValue,其中,
所述服务器基于从所述启动配置设备获取的所述启动配置确认相关信息以及待接入设备相关信息生成启动配置确认值并将其返回给所述启动配置设备;
所述服务器基于自身生成的所述AuthValue生成所述启动配置确认值。
19.如权利要求18所述的方法,还包括:
所述启动配置设备和所述待接入设备约定以静态带外(Static OOB)的方式进行认证,并且约定AuthValue基于所述待接入设备的秘密数据生成。
20.如权利要求10所述的方法,还包括:
所述启动配置设备生成用于启动配置的随机数(Random Provisioner)并基于获取的待接入设备相关信息生成启动配置确认密钥(Confirmation Key),并且
所述服务器基于所述启动配置确认相关信息以及待接入设备相关信息生成启动配置确认值并将其返回给所述启动配置设备包括:
所述服务器基于从所述启动配置设备获取的所述启动配置的随机数和所述启动配置确认密钥生成所述启动配置确认值。
21.如权利要求10所述的方法,还包括:
所述待接入设备接收用户进行确认接入蓝牙Mesh网络的操作。
22.如权利要求10所述的方法,还包括:
所述待接入设备广播包括指示所述服务器的字段的广播包;以及
所述启动配置设备基于对所述服务器的识别开启云端认证流程。
23.一种物联网(IoT)设备,所述设备是物联网中的一个节点,所述设备包括:
第一通信装置,用于接收待接入设备广播的第一数据包;
第二通信装置,用于向服务器发送所述待接入设备的相关数据,并接收所述服务器基于所述相关数据生成的身份验证数据,并且
所述第一通信装置进一步用于:
将所述身份验证数据转发至所述待接入设备;
接收所述待接入设备针对所述身份验证数据检查确认通过的消息,
处理器,用于:
基于所述第一数据包的内容,确定所述待接入设备接入物联网的过程需要服务器的参与;以及
基于所述检查确认的通过,确定将所述待接入设备接入所述物联网,
其中,所述待接入设备是能够接入蓝牙mesh网络的待接入设备,所述物联网包括蓝牙Mesh网络,所述节点是启动配置设备(Provisioner),
其中,所述第一通信装置进一步用于:
向所述待接入设备发出第二数据包,所述第二数据包包括与所述节点相关的数据;
接收所述待接入设备生成的第二身份验证数据,
所述第二通信装置进一步用于:
向所述服务器转发所述第二身份验证数据;以及
接收所述服务器针对所述第二身份验证数据的第二检查确认通过的消息,
所述处理器进一步用于:
基于所述第二检查确认通过的消息,确定将所述待接入设备接入所述物联网,
其中,所述启动配置设备进一步用于:
将自身的启动配置确认相关信息以及获取的待接入设备相关信息发送给服务器用以生成启动配置确认值;
将所述启动配置确认值下发给所述待接入设备;
在所述待接入设备对下发的所述启动配置确认值验证通过的情况下接收所述待接入设备上报的设备确认值,并将设备确认值上传给所述服务器;以及
将所述服务器对所述设备确认值的校验结果下发给所述待接入设备。
24.如权利要求23所述的设备,其中,所述处理器进一步用于:
对与所述待接入设备相关的数据及其自身相关的数据进行初步处理,
所述第二通信装置进一步用于:
将经初步处理的数据发送给所述服务器,以供生成所述身份验证数据。
25.如权利要求24所述的设备,其中,所述启动配置设备进一步用于:
生成用于启动配置的随机数(Random Provisioner)并基于获取的待接入设备相关信息生成启动配置确认密钥(Confirmation Key);
将所述启动配置确认密钥、启动配置的随机数以及所述待接入设备相关信息发送给所述服务器,以供所述服务器生成启动配置确认值。
26.如权利要求25所述的设备,其中,所述第二通信装置包括WiFi通信装置,并且
所述第一通信装置包括蓝牙mesh通信装置。
27.一种物联网(IoT)设备,所述设备包括:
通信装置,用于广播第一数据包,所述第一数据包包括经由服务器接入物联网的内容,以及告知物联网的一个节点确定接入物联网的过程需要服务器的参与的内容,以及
从物联网的一个节点接收所述服务器生成的身份验证数据,以及
处理器,用于:
对接收的所述身份验证数据进行检查验证,并生成检查验证通过的消息,
所述通信装置用于近距离通信并且进一步用于:
向所述节点发送所述检查验证通过的消息,
其中,所述设备是能够接入蓝牙mesh网络的待接入设备,所述物联网包括蓝牙Mesh网络,所述节点是启动配置设备(Provisioner),
其中,所述通信装置进一步用于:
接收来自所述节点的第二数据包,所述第二数据包包括与所述节点相关的数据;以及
所述处理器进一步用于:
基于所述第二数据包中包含的所述节点的第二相关数据,生成第二身份验证数据,
所述通信装置进一步用于:
向所述节点发送所述第二身份验证数据,以供所述服务器进行第二检查确认,
其中,所述待接入设备进一步用于:
接收由所述启动配置设备下发的启动配置确认值;
使用获取的启动配置设备相关信息和自身信息校验所述启动配置确认值;
在校验通过后生成设备确认值并将其上报给所述启动配置设备;
接收由所述启动配置设备下发给的所述服务器对所述设备确认值的认证结果。
28.如权利要求27所述的设备,其中,所述处理器进一步用于:
根据自身存储的秘密数据,对所述身份验证数据进行检查验证,以及
基于所述秘密数据,生成第二身份验证数据。
29.如权利要求28所述的设备,其中,所述秘密数据被烧录在所述设备中。
30.如权利要求28所述的设备,其中,所述处理器进一步用于:
以无法反推出完整秘密数据的方式生成所述第二身份验证数据。
31.如权利要求27所述的设备,其中,所述待接入设备进一步用于:
基于自身存储的秘密标识码生成校验认证值;以及
将生成的校验认证值与从所述启动配置确认值中还原的AuthValue进行比较以进行所述校验。
32.如权利要求31所述的设备,其中,所述启动配置设备和所述待接入设备约定以静态带外(Static OOB)的方式进行认证,并且约定AuthValue基于所述待接入设备的秘密标识码生成。
33.如权利要求27所述的设备,其中,所述待接入设备接收用户进行确认接入蓝牙Mesh网络的操作。
34.一种物联网(IoT)设备接入方法,所述方法由物联网中的一个节点执行,包括:
接收待接入设备广播的第一数据包;
基于所述第一数据包的内容,确定所述待接入设备接入物联网的过程需要服务器的参与;
向所述服务器发送所述待接入设备的相关数据,并接收所述服务器基于所述相关数据生成的身份验证数据;
将所述身份验证数据转发至所述待接入设备;
接收所述待接入设备针对所述身份验证数据检查确认通过的消息;以及
基于所述检查确认的通过,确定将所述待接入设备接入所述物联网,
其中,所述设备是能够接入蓝牙mesh网络的待接入设备,所述物联网包括蓝牙Mesh网络,所述节点是启动配置设备(Provisioner),
其中,所述方法还包括:
向所述待接入设备发出第二数据包,所述第二数据包包括与所述节点相关的数据;
接收所述待接入设备生成的第二身份验证数据;
向所述服务器转发所述第二身份验证数据;
接收所述服务器针对所述第二身份验证数据的第二检查确认通过的消息;以及
基于所述第二检查确认通过的消息,确定将所述待接入设备接入所述物联网,
其中,所述方法还包括:
将节点自身的启动配置确认相关信息以及获取的待接入设备相关信息发送给服务器用以生成启动配置确认值;
将所述启动配置确认值下发给所述待接入设备;
在所述待接入设备对下发的所述启动配置确认值验证通过的情况下接收所述待接入设备上报的设备确认值,并将设备确认值上传给所述服务器;以及
将所述服务器对所述设备确认值的校验结果下发给所述待接入设备。
35.如权利要求34所述的方法,还包括:
对与所述待接入设备相关的数据及所述节点相关的数据进行初步处理;
将经初步处理的数据发送给所述服务器,以供生成所述身份验证数据。
36.如权利要求34所述的方法,还包括:
生成用于启动配置的随机数(Random Provisioner)并基于获取的待接入设备相关信息生成启动配置确认密钥(Confirmation Key);
将所述启动配置确认密钥、启动配置的随机数以及所述待接入设备相关信息发送给所述服务器,以供所述服务器生成启动配置确认值。
CN201910357547.XA 2019-04-29 2019-04-29 物联网接入方法、***及相应的物联网设备 Active CN111865879B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910357547.XA CN111865879B (zh) 2019-04-29 2019-04-29 物联网接入方法、***及相应的物联网设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910357547.XA CN111865879B (zh) 2019-04-29 2019-04-29 物联网接入方法、***及相应的物联网设备

Publications (2)

Publication Number Publication Date
CN111865879A CN111865879A (zh) 2020-10-30
CN111865879B true CN111865879B (zh) 2022-12-20

Family

ID=72966564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910357547.XA Active CN111865879B (zh) 2019-04-29 2019-04-29 物联网接入方法、***及相应的物联网设备

Country Status (1)

Country Link
CN (1) CN111865879B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115516893A (zh) * 2020-06-24 2022-12-23 Oppo广东移动通信有限公司 无线通信方法和设备
CN116349270A (zh) * 2020-11-16 2023-06-27 Oppo广东移动通信有限公司 接入认证方法、平台网关和平台云
CN114640691A (zh) * 2020-11-30 2022-06-17 阿里巴巴集团控股有限公司 设备连接方法、***及相应的物联网设备
CN112769762B (zh) * 2020-12-22 2022-02-25 广州技象科技有限公司 分布式高效物联网设备接入方法
CN113452668B (zh) * 2021-03-12 2022-08-09 深圳市百佳华网络科技有限公司 物联网终端接入监控方法、计算机程序及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103532963A (zh) * 2013-10-22 2014-01-22 中国联合网络通信集团有限公司 一种基于物联网设备认证方法、装置和***
CN103580863A (zh) * 2012-08-01 2014-02-12 ***通信集团公司 通信安全控制方法、装置及物联网节点
CN106657124A (zh) * 2017-01-03 2017-05-10 宜春学院 用于物联网的基于假名的匿名认证与密钥协商优化认证方法以及优化认证分析方法
CN107018127A (zh) * 2017-03-07 2017-08-04 西安电子科技大学 一种兼容多种协议的物联网虚拟网关及节点接入认证方法
CN108696479A (zh) * 2017-04-07 2018-10-23 中兴通讯股份有限公司 一种物联网认证***和物联网认证方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8353015B2 (en) * 2008-01-09 2013-01-08 Microsoft Corporation Trusted internet identity

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103580863A (zh) * 2012-08-01 2014-02-12 ***通信集团公司 通信安全控制方法、装置及物联网节点
CN103532963A (zh) * 2013-10-22 2014-01-22 中国联合网络通信集团有限公司 一种基于物联网设备认证方法、装置和***
CN106657124A (zh) * 2017-01-03 2017-05-10 宜春学院 用于物联网的基于假名的匿名认证与密钥协商优化认证方法以及优化认证分析方法
CN107018127A (zh) * 2017-03-07 2017-08-04 西安电子科技大学 一种兼容多种协议的物联网虚拟网关及节点接入认证方法
CN108696479A (zh) * 2017-04-07 2018-10-23 中兴通讯股份有限公司 一种物联网认证***和物联网认证方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种适用于物联网的群组接入认证协议;荣星等;《计算机工程》;20150315(第03期);全文 *
物联网安全传输协议的研究与设计;钟晶等;《电子产品可靠性与环境试验》;20130420(第02期);全文 *

Also Published As

Publication number Publication date
CN111865879A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111865879B (zh) 物联网接入方法、***及相应的物联网设备
US10952059B2 (en) Method and system for wireless extender onboarding
KR101551315B1 (ko) 다른 디바이스가 무선 네트워크에 연결하는 것을 가능하게 하기 위한 모바일 디바이스의 사용
US11671228B2 (en) Method and apparatus for MoCA network with protected set-up
RU2696208C1 (ru) Способ и устройство для аутентификации беспроводных устройств
US8347079B2 (en) Method and apparatus for managing authentication information in home network
RU2010131184A (ru) Способ доступа с аутентификацией и система доступа с аутентификацией в беспроводной многоскачковой сети
US20120124373A1 (en) Method and apparatus for authenticatiing a network device
JP2017513327A (ja) ソーシャルWi−Fiメッシュネットワークに加わるための安全で簡略化された手続き
CN110958142A (zh) 设备维护方法、维护设备、存储介质及计算机程序产品
EP3700124A1 (en) Security authentication method, configuration method, and related device
WO2011006341A1 (zh) 一种传感器网络鉴别与密钥管理机制的融合方法
WO2014040481A1 (zh) 一种无线网格网认证方法和***
JP2017534217A (ja) インフラストラクチャレスピアツーピアネットワークにおいてピアを認証するための方法
CN104145465A (zh) 机器类型通信中基于群组的自举
CN107205208B (zh) 鉴权的方法、终端和服务器
JP4744993B2 (ja) 認証局、デバイス、移動局および通信システム並びに通信方法並びに通信プログラム
JP2023162296A (ja) コアネットワークへの非3gppデバイスアクセス
US10498768B2 (en) Method and apparatus for MoCA network with protected set-up
US20140157373A1 (en) Authentication apparatus and method thereof, and computer program
CN114501473B (zh) Mesh网络的配网方法、电子设备及计算机可读存储介质
CN114640691A (zh) 设备连接方法、***及相应的物联网设备
CN114520967A (zh) 设备接入网络的方法、***及相应的物联网设备
CN116669026B (zh) 密码更新方法、***、电子设备及计算机可读存储介质
US11695804B2 (en) Method and apparatus for MoCA network with protected set-up

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
GR01 Patent grant
GR01 Patent grant