CN116743413B - 一种物联网设备认证方法及电子设备 - Google Patents
一种物联网设备认证方法及电子设备 Download PDFInfo
- Publication number
- CN116743413B CN116743413B CN202211321670.4A CN202211321670A CN116743413B CN 116743413 B CN116743413 B CN 116743413B CN 202211321670 A CN202211321670 A CN 202211321670A CN 116743413 B CN116743413 B CN 116743413B
- Authority
- CN
- China
- Prior art keywords
- authentication
- identifier
- key
- session
- channel
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000006854 communication Effects 0.000 claims description 61
- 238000004891 communication Methods 0.000 claims description 60
- 238000012790 confirmation Methods 0.000 claims description 31
- 230000004083 survival effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 6
- 230000006855 networking Effects 0.000 description 24
- 230000004044 response Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0846—Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/068—Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/068—Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/082—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供一种物联网设备认证方法及电子设备,涉及物联网技术领域。该方法可以实现对多条通道的同时认证。该方法包括:若检测到当前密钥无效,第一设备基于第一通道向第二设备发送第一认证请求,第一认证请求携带第一设备的设备标识及第一认证标识;第二设备向第一设备反馈第二认证标识,第二认证标识为第二会话的会话ID,第二会话为第二设备记录的第一设备与第二设备最近一次通过第一通道进行的会话;若第一认证标识与第二认证标识一致,第一设备、第二设备基于第一设备的设备标识、第二设备的设备标识及第一认证标识生成第一密钥及第一密钥标识;第一设备、第二设备将第一密钥及第一密钥标识设置为有效状态。
Description
技术领域
本申请涉及物联网技术领域,尤其涉及一种物联网设备认证方法及电子设备。
背景技术
在物联网(internet of things,IOT)设备与终端设备正式交换数据前,IOT设备可与终端设备进行认证协商。通过认证协商,可使终端设备与IOT设备建立可信的加密通道,保证IOT设备与终端设备之间的通信安全。
目前,IOT设备与终端设备之间往往存在多条可用于传输数据的通道,例如基于受限应用协议(constrained application Protocol,CoAP)、蓝牙低能耗(bluetooth lowenergy,BLE)、消息队列遥测传输(message queuing telemetry transport,MQTT)等协议的通道等。但IOT设备与终端设备同时对多条通道进行认证协商时,仅能认证其中一条通道,且被认证的通道是不可控的。这样会使得终端设备与IOT设备之间仅能保证一条通道畅通,可能导致在一些场景下终端设备与IOT设备的通讯效率较低。
发明内容
本申请实施例提供一种物联网设备认证方法及电子设备,可以同时对多条通道进行认证。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请提供了一种物联网设备认证方法,应用于物联网系统,物联网系统包括第一设备和第二设备,第一设备与第二设备之间存在多条通道,多条通道包括第一通道,第一设备包括第一认证标识,第一认证标识为第一会话的会话ID,第一会话为第一设备记录的第一设备与第二设备最近一次通过第一通道进行的会话,方法包括:若检测到当前密钥无效,第一设备基于第一通道向第二设备发送第一认证请求,第一认证请求携带第一设备的设备标识及第一认证标识;第二设备向第一设备反馈第二认证标识,第二认证标识为第二会话的会话ID,第二会话为第二设备记录的第一设备与第二设备最近一次通过第一通道进行的会话;若第一认证标识与第二认证标识一致,第一设备、第二设备基于第一设备的设备标识、第二设备的设备标识及第一认证标识生成第一密钥及第一密钥标识;第一设备、第二设备将第一密钥及第一密钥标识设置为有效状态。
可见,本申请以通道为粒度管理认证标识,也即各个通道具备各自的认证标识,互不干扰,避免由于其他通道创建会话导致的自身存储的认证标识与从第二设备上获取的认证标识不一致,进而导致认证失败的问题,实现对多条通道的同时认证。
在第一方面提供的一种实施方式中,方法还包括:第一设备基于第一通道向第二设备发送设备认证信息,设备认证信息包括第一设备的设备标识;第二设备创建第一会话,并给第一会话分配第一认证标识;第二设备向第一设备发送第一确认信息,第一确认信息包括第二设备的设备标识及第一认证标识。
在第一方面提供的一种实施方式中,多条通道还包括第二通道,第一设备包括第三认证标识,第三认证标识为第三会话的会话ID,第三会话为第一设备记录的第一设备与第二设备最近一次通过第二通道进行的会话,方法还包括:若检测到当前密钥无效,第一设备基于第二通道向第二设备发送第二认证请求,第二认证请求携带第一设备的设备标识及第三认证标识;第二设备向第一设备反馈第四认证标识,第四认证标识为第四会话的会话ID,第四会话为第二设备记录的第一设备与第二设备最近一次通过第二通道进行的会话;若第三认证标识与第四认证标识一致,第一设备、第二设备基于第一设备的设备标识、第二设备的设备标识及第三认证标识生成第二密钥及第二密钥标识;若第一密钥处于无效状态,第一设备、第二设备将第二密钥及第二密钥标识设置为有效状态。可见,不同的通道可采用相同的密钥和密钥标识进行加密。另外,由于在对多条通道同时进行认证时每条通道都可以生成秘钥和密钥标识,在第一密钥处于无效状态下才将新的密钥(例如第二密钥)及新的密钥标识(例如第二密钥标识)设置为有效状态,可避免设备频繁更新密钥和密钥标识的情况。
在第一方面提供的一种实施方式中,方法还包括:第一设备基于第二通道向第二设备发送设备认证信息;第二设备创建第三会话,并给第三会话分配第三认证标识;第二设备向第一设备发送第二确认信息,第二确认信息包括第二设备的设备标识及第三认证标识。
在第一方面提供的一种实施方式中,方法还包括:若第一密钥处于有效状态且第一密钥的存活时间大于第一时间,第一设备、第二设备将第二密钥及第二密钥标识设置为有效状态,第一密钥的存活时间为第一密钥处于有效状态的时间。
在第一方面提供的一种实施方式中,方法还包括:若第一密钥处于有效状态,且第一密钥的存活时间小于第一时间,第一设备、第二设备继续将第一密钥及第一密钥标识保持为有效状态。
在第一方面提供的一种实施方式中,第二设备包括认证信息表,认证信息表包括多个设备及每个设备的设备信息,每个设备的设备信息包括该设备所支持的通道以及每个通道最近一次进行的会话的认证标识,方法还包括:第二设备基于第一设备的设备标识、第一通道的类型及第一认证标识更新认证信息表。
在第一方面提供的一种实施方式中,方法还包括:响应于接收到第一认证请求,第二设备根据第一设备的设备标识及第一通道的类型在更新后的认证信息表中查询得到第二认证标识。
在第一方面提供的一种实施方式中,第一设备包括第三密钥标识,第一确认信息还包括第四密钥标识,第三密钥标识为第一设备存储的与第二设备进行通信所使用的密钥标识,第四密钥标识为第二设备存储的与第一设备进行通信所使用的密钥标识,方法还包括:第一设备比对第三密钥标识及第四密钥标识;若第三密钥标识与第四密钥标识不一致,第一设备将第三密钥标识及第三密钥标识对应的密钥设置为无效状态。
在第一方面提供的一种实施方式中,第二设备包括认证信息表,认证信息表包括多个设备及每个设备对应的密钥标识,在第二设备向第一设备发送第一确认信息前,方法还包括:第二设备根据第一设备的设备标识在认证信息表中查询得到第四密钥标识。
在第一方面提供的一种实施方式中,方法还包括:第二设备确定第一通道的类型,第一通道的类型与第一通道使用的通信协议对应。
第二方面,本申请提供一种电子设备,电子设备包括:无线通信模块、存储器和一个或多个处理器;无线通信模块、存储器与处理器耦合;
其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得电子设备执行第一方面中第一设备或第二设备所执行的步骤。
第三方面,本申请提供一种计算机可读存储介质,包括计算机指令;当计算机指令在电子设备上运行时,使得电子设备执行第一方面中任一实施方式的方法。
第四方面,提供了一种第一设备,该第一设备具有实现上述第一方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面,提供了一种第二设备,该第二设备具有实现上述第一方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的物联网设备认证方法。
第七方面,提供了一种装置(例如,该装置可以是芯片系统),该装置包括处理器,用于支持第一设备实现上述第一方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存第一设备必要的程序指令和数据。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
其中,第二方面至第七方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种手机与IOT设备进行MQTT通讯和CoAP通讯的流程图;
图2为本申请实施例提供的一种系统架构示意图;
图3为本申请实施例提供的一种第二设备120的结构示意图;
图4为本申请实施例提供的一种第二设备120的软件模块图;
图5为本申请实施例提供的一种物联网设备认证方法的流程示意图一;
图6为本申请实施例提供的一种物联网设备认证方法的流程示意图二;
图7为本申请实施例提供的一种物联网设备认证方法的流程示意图三;
图8为本申请实施例提供的一种物联网设备认证方法的流程示意图四;
图9为本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“至少一个”是指一个或多个,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
目前,IOT设备与终端设备之间往往存在多条可用于传输数据的通道,例如基于CoAP、MQTT、BLE等协议的通道等。但IOT设备与终端设备同时对多条通道进行认证协商时,仅能认证其中一条通道,且被认证的通道是不可控的。为保证通信安全,IOT设备与终端设备之间仅能通过被认证的一条通道进行通信。这样一来,会导致在一些场景下终端设备与IOT设备的通讯效率较低。
例如,终端设备同时对CoAP通道和MQTT通道进行认证时,可先通过CoAP通道和MQTT通道分别向IOT设备发送设备认证信息。IOT设备接收到终端设备基于CoAP通道及MQTT通道发送的设备认证信息后,可生成两个会话并反馈会话ID1给CoAP通道,反馈会话ID2给MQTT通道。但在IOT设备上后生成的会话ID可以覆盖先生成的会话ID,即IOT设备上始终存储与手机进行的最近一次会话的会话ID。在认证过程中,需要终端设备侧存储的会话ID与IOT设备侧存储的会话ID一致时才能完成认证,但终端设备侧CoAP通道和MQTT通道具备不同的会话ID,IOT设备侧仅存在一个会话ID,这必然会导致其中一条通道认证失败。
进一步的,在IOT设备与终端设备接入同一局域网,且被认证的通道为MQTT通道的情况下,IOT设备与终端设备之间可使用MQTT通讯。可以理解地,在网络通讯中,局域网内通讯的稳定性和速率大于广域网,而CoAP通道是一条近场的、局域网通道,MQTT通道是一条远场、广域网通道。因此,强制使用MQTT通讯会导致IOT设备与终端设备的通讯效率较低。
示例性的,图1以终端设备为手机为例,说明手机与IOT设备进行MQTT通讯和CoAP通讯的流程图。如图1所示,手机与IOT设备可利用家庭内网(也可以称为局域网)进行CoAP通讯(如图1中的虚线箭头所示)。手机与IOT设备可利用家庭内网及设备云(也可称为远程服务器)进行MQTT通讯(如图1中的实线箭头所示)。其中,MQTT通讯相较于CoAP通讯增加了家庭内网与设备云的交互,而家庭内网与设备云的交互依赖于运营商网络的状态。运营商网络相较于家庭内网而言,可靠性和通讯速率都较差。以家庭内网与设备云每次交互的平均时延为80ms、设备云进行转发、处理等操作的时延为20ms为例,手机与IOT设备进行一次MQTT通讯相较于手机与IOT设备进行一次CoAP通讯,需要多使用180ms;如果涉及到需要传输确认字符(acknowledge character,ACK)的情况,则需要多使用360ms。当运营商网络状况不佳时,可能进行一次MQTT通讯所需的时间更长,更有甚者还有存在通讯失败的情况。
也即,现有技术存在对多条通路进行认证时仅能认证一条通道,导致在一些场景下终端设备与IOT设备的通讯效率较低的问题。
有鉴于此,本申请提供了一种物联网设备认证方法,可以将获取到的第二认证标识与自身存储的第一认证标识进行比对,若第一认证标识与第二认证标识一致,则生成新的密钥及新的密钥标识,并将新的密钥及新的密钥标识设置为有效状态。其中,第一认证标识为第一会话的会话ID,第一会话为第一设备记录的第一设备与第二设备最近一次通过第一通道进行的会话,第二认证标识为第二会话的会话ID,第二会话为第二设备记录的第一设备与第二设备最近一次通过第一通道进行的会话。也即,相较于现有技术中以设备为粒度管理认证标识,本申请以通道为粒度管理认证标识,也即各个通道具备各自的认证标识,可避免由于其他通道创建会话后导致自身存储的认证标识与获取的认证标识不一致导致的认证失败的问题,从而实现对多条通道的同时认证。
如图2所示,为本申请实施例提供的一种系统架构示意图。该系统可以包括第一设备110和第二设备120。其中,第一设备110和第二设备120之间可以通过无线保真(wirelessfidelity,WIFI)、CoAP、MQTT、BLE等通信方式进行通信。
示例性的,本申请实施例中的第一设备110可以是指终端设备。可选的,终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。在一些实施例中,终端可以是手机、平板电脑、带无线收发功能的电脑、个人通信业务(personal communication service,PCS)电话、台式计算机、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备等等。
本申请实施例提供的第二设备120可以是指具有WIFI、CoAP、MQTT、BLE等通信能力的设备,例如可以是路由器、电视机、音响、摄像头、空调、电冰箱、智能窗帘、台灯、吊灯、电饭煲、安防设备(如智能电子锁)、个人计算机(personal computer,PC)等可以接入家庭无线局域网的IOT设备。或者,本申请实施例中的第二设备可以是智能手表、智能手环、无线定位器、追踪器(Tracker)、电子项圈等穿戴设备,本申请实施例中的第二设备还可以是车载音响、车载空调等设备,本申请实施例对第二设备的具体形态不作特殊限制。
图3示出了一种第二设备120的结构示意图。如图3所示,第二设备120可以包括处理器121,内部存储器122,无线通信模块123等。该处理器121可以包括一个或多个接口,用于与第二设备120的其他部件相连。其中,一个或多个接口可以包括:输入/输出(Input/Output,I/O)接口(也称为I/O引脚)、中断引脚和数据总线接口等。其中,数据总线接口可以包括:串行外设接口(serial peripheral interface,SPI)、集成电路(inter-integratedcircuit,I2C)接口等接口中的一个或多个。例如,本申请实施例中,处理器121可以通过I/O引脚、中断引脚或数据总线接口连接无线通信模块123。
内部存储器122可以用于存储程序代码,如用于第二设备120与其他电子设备(例如,第一设备110)进行认证协商、无线通信的程序代码等。内部存储器122中还可以存储有第二设备120自身的唯一设备识别符(unique device dentifier,UDID)、通用唯一识别码(universally unique identifier,UUID)、产品序列号(serial number,SN)等。内部存储器122中还可以存储有已认证设备的设备信息等,在此不做具体限制。
处理器121可以用于执行上述程序代码,调用相关模块以实现本申请实施例中第二设备120的功能。处理器121可以包括一个或多个处理单元,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器121中。处理器121具体可以是集成的控制芯片,也可以由包括各种有源和/或无源部件的电路组成,且该电路被配置为执行本申请实施例描述的属于处理器121的功能。其中,第二设备120的处理器121可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。
无线通信模块123可以用于支持第二设备120与其他电子设备(例如第一设备110)包括CoAP,MQTT,BLE,蓝牙,全球导航卫星系统(global navigation satellite system,GNSS),无线局域网,调频(frequency modulation,FM),近距离无线通信技术(near fieldcommunication,NFC),红外技术(infrared,IR)等无线通信的数据交换。
另外,无线通信模块123还可以包括天线,无线通信模块123经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器121。无线通信模块123还可以从处理器121接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
可以理解的是,本申请实施例示意的结构并不构成对第二设备120的具体限定。在本申请另一些实施例中,第二设备120可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
上述第二设备120的系统架构可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构为例,示例性说明第二设备120的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过接口通信。在一些实施方式中,如图4所示,第二设备120可包括感知层、网络层以及应用层。
如图4所示,感知层可以包括承担感知信息作用的传感器,例如光感传感器、温度传感器、红外传感器、湿度传感器、压力传感器、加速度传感器、摄像头等。
感知层可利用传感器获得被测量的模拟信号,并负责把模拟信号转换成数字信号,或者,直接从电子设备(例如串口设备)中采集到数字信号,并把数字信号通过网络层转发到应用层。
网络层也可称为传输层,主要负责传递和处理感知层获取的信息。该网络层可包括认证模块、组网模块等。其中,认证模块用于对电子设备进行认证。组网模块用于管理第二设备120与其他电子设备的通讯链路。
应用层可包括处理模块等。处理模块可对前端采集得到的信息和数据,进行过滤、分析、存储和处理,实现具体的应用落地。并且还可以通过大数据分析得到企业所需数据,进行调整、管理和控制相关的物联网设备。
需要说明的是,图4仅为示例,第二设备120还有具有其他系统架构,只要各个功能模块实现的功能和本申请的实施例类似,也能实现本申请的方案即可。
为了便于理解,以下结合附图对本申请实施例提供的方法进行具体介绍。
第一设备110与第二设备120之间可存在一条或多条传输数据的通道,例如为CoAP通道、MQTT通道、BLE通道等。在第一设备110和第二设备120之间传输数据前,可以对该一条或多条通道进行认证,以保证后续的通信安全。第一设备110和第二设备120可以先对两者间的所有通道进行认证,在正式传输数据时再根据实际业务需求、网络状态等选择合适的通道来传输数据。
下文先以第一设备110为手机,第二设备120为智能空调为例,说明当手机与智能空调间仅存在第一通道(例如,CoAP通道)可用时,手机与智能空调对该CoAP通道进行认证协商的过程。在其他实施方式中,第一设备110和第二设备120可以为其他设备,在此不做具体限制。如图5所示,为本申请实施例提供的一种物联网设备认证方法的流程示意图一,该物联网设备认证方法包括S101~S119。
S101,手机基于第一通道向智能空调发送设备认证信息。
若手机和/或智能空调为新设备,手机可在接收到用户控制智能空调的操作时,向智能空调发送设备认证信息。手机和/或智能空调为新设备可以包括以下三种情况:手机不为新设备、智能空调为新设备,手机为新设备、智能空调不为新设备,手机及智能空调均为新设备。其中,手机或智能空调是否为新设备是相对于用户账号而言,若手机第一次登录某用户账号,则手机相对于该用户账号而言是新设备;若智能空调第一次与某个用户账号绑定,则智能空调相对于该用户账号而言是新设备。
若手机不为新设备、智能空调为新设备,即手机已登录用户账号,但该用户账号未绑定智能空调。在这种情况下,用户可以在手机上的第一应用(例如,智慧生活APP、智能空调的应用等)中添加该智能空调,以建立该用户账号与智能空调的绑定关系。绑定成功后,若手机接收到用户控制智能空调的操作,可向智能空调发送设备认证信息。
若手机为新设备、智能空调不为新设备,即智能空调已与用户账号绑定,但手机从未登录过该用户账号。在这种情况下,手机可登录该用户账号,但无需再添加该智能空调。若手机接收到用户控制智能空调的操作,可向智能空调发送设备认证信息。
可选的,在手机已登录用户账号、且该用户账号已绑定智能空调的情况下,若检测到手机网络发生变化时,手机可向智能空调发送设备认证信息。例如,用户下班回家后,手机检测到其所使用的网络由移动网络切换为WIFI网络时,可向智能空调发送设备认证信息。
其中,设备认证信息可包括手机的设备标识,该设备标识可包括UDID、SN码、UUID等信息。另外,手机可通过该第一通道(例如,CoAP通道)向智能空调发送设备认证信息,以表明是第一通道进行认证。
S102,响应于接收到设备认证信息,智能空调确定第一通道的类型。
其中,第一通道的类型与第一通道所采用的通信协议对应。例如,第一通道为CoAP通道,则第一通道的类型为CoAP。
S103,智能空调创建第一会话,给第一会话分配第一认证标识。
智能空调接收到设备认证信息后,可创建第一会话,以表示通过该第一会话实现此次认证过程。此外,智能空调还可以给第一会话分配第一认证标识,第一认证标识即为第一会话的会话ID(session ID),该第一认证标识例如为会话ID1。
在一种可选的实施方式中,智能空调给第一会话分配的第一认证标识可以为智能空调生成的随机数。可选的,智能空调每次生成的随机数比上一次生成的随机数更大或者比上一次生成的随机数更小,有利于区分各个会话的创建时间的先后。
S104,智能空调基于手机的UDID、第一通道的类型及第一认证标识更新认证信息表。
可以理解地,智能空调可与多个终端设备通信。该智能空调可存储有该多个终端设备的认证信息。其中,每个终端设备的认证信息可包括该终端设备的UDID、密钥标识(keyindex,keyidx)、密钥(key)、一个或多个可用通道以及每个可用通道最近一次会话的认证标识(可以称为每个可用通道对应的认证标识)。其中,密钥用于对智能空调和对端设备之间的通信进行加密操作。密钥标识即为密钥的标识,可用于查询密钥。例如,智能空调接收到某个已认证设备传输的数据后,该数据中可包括已被加密的数据以及该密钥标识,可通过该密钥标识查询到对应的密钥,然后根据该密钥对已被加密的数据进行解密操作。一个或多个可用通道是指智能空调和终端设备之间可以进行数据传输的通道。可用通道最近一次会话的认证标识可以理解为,智能空调与终端设备最近一次通过该可用通道交互时生成的会话的会话ID。
示例性的,多个终端设备的认证信息可以通过认证信息表(例如表1)的方式呈现。
表1
例如,如表1所示,设备1(设备1的UDID为UDID3)曾就CoAP通道和MQTT通道与智能空调协商认证,其中CoAP通道对应的认证标识为sessid1,MQTT通道对应的认证标识为sessid2,且通信过程中的密钥为KEY1,该密钥对应的密钥标识为Keyidx1。
在本申请实施例中,智能空调可根据手机的UDID查询认证信息表中是否存在手机的认证信息。若认证信息表中存在手机的认证信息,则可根据第一通道的类型确定此次会话对应的可用通道,可在认证信息表中将该可用通道对应的认证标识更新为第一认证标识。示例性,若手机的UDID为UDID4,第一通道的类型为CoAP通道,则智能空调根据该UDID4可在认证信息表中查询到设备2的认证信息,并将设备2中CoAP通道对应的认证标识更新为会话ID1,并暂时保持密钥标识和密钥不变,仍然为上一次手机与智能空调认证协商时得到的密钥标识和密钥或者为0。
若认证信息表中不存在手机的UDID,则智能空调可在认证信息表中新增属于手机的认证信息。例如,手机的UDID为1,第一通道的类型为CoAP通道,则智能空调在认证信息表中查询不到手机的认证信息,可新增手机的认证信息,并将其CoAP通道对应的认证标识设置为会话ID1。其中,由于智能空调和手机还未完成认证,其密钥标识和密钥均为0。示例性的,新增后的认证信息可如表2所示:
表2
需要说明的是,上述的UDID也可以替换为其他可用于标识手机的信息,例如手机的UUID、SN码等。
S105,智能空调向手机发送第一确认信息。
该第一确认信息是一种ACK,用于与手机交换设备认证信息。该第一确认信息可包括第一认证标识(例如会话ID1)、智能空调的UDID以及第四密钥标识等信息。其中,第四密钥标识为智能空调上存储的、与手机进行通信所使用的密钥的标识。其中,若智能空调和手机从未认证过或智能空调上的密钥和密钥标识已失效,该第四密钥标识可以为0。在一种可选的实施方式中,智能空调上的密钥和密钥标识可由于其存活时间超过第一时间而无效、由于智能空调重启(或断电重启)而无效。
需要说明的是,智能空调和手机采用不同通道传输数据时,可采用相同的密钥和密钥标识。
S106,响应于接收到第一确认信息,手机记录第一认证标识。
手机接收到该第一确认信息后,可记录第一确认信息携带的会话ID1(即第一认证标识)。
S107,手机判断第三密钥标识与第四密钥标识是否一致。
其中,第三密钥标识为手机上存储的、当前与智能空调进行通信所使用的密钥的标识。可选的,该第三密钥标识可以为0,以标识当前的密钥标识无效。其中,若第三密钥标识与第四密钥标识一致,则表明手机所存储的密钥标识及密钥和智能空调所存储的密钥标识及密钥一致,从而确定当前密钥标识(即第三密钥标识)和当前密钥(即第三密钥标识对应的密钥)有效,无需重新认证。这种情况下,手机和智能空调可利用继续该第三密钥标识和第三密钥标识对应的密钥对第一通道加密,手机与智能空调建立可信通道。若第三密钥标识与第四密钥标识不一致,则表明手机所存储的密钥标识及密钥和智能空调所存储的密钥标识及密钥不一致,从而确定第三密钥标识和第三密钥标识对应的密钥无效,手机需要重新为第一通道进行认证。
若第三密钥标识与第四密钥标识不一致,则手机执行S108;若第三密钥标识与第四密钥标识一致,则手机与智能空调建立可信通道。
S108,手机将密钥设置为无效状态。
在一种可选的实施方式中,手机可以直接将密钥及密钥标识设置为0,以标识当前密钥无效。
S109,手机基于第一通道向智能空调发送认证请求。
在手机将密钥设置为无效状态后,手机需要与智能空调重新协商密钥和密钥标识,故向智能空调发送认证请求。该认证请求携带有手机的UDID及第一认证标识。其中,手机可继续通过该第一通道向智能空调发送认证请求,以表明手机需要对第一通道进行认证。
S110,响应于接收到认证请求,智能空调向手机发送第二认证标识。
该第二认证标识为智能空调上存储的第一通道最近一次会话(即第二会话)的认证标识。具体的,智能空调接收到认证请求后,可获取第一通道的类型。在本申请实施例中,该第一通道的类型可以为CoAP。智能空调可基于手机的UDID及该第一通道的类型在认证信息表(例如表2)中查询得到第二认证标识。示例性的,手机的UDID为UDID1,则智能空调根据UDID1和第一通道的类型在表2中查询,可得到第二认证标识为会话ID1。
可以理解地,在本申请实施例中智能空调在接收到认证请求前未与手机建立基于第一通道的新会话,即该第二认证标识同样为会话ID1。
S111,智能空调比对第一认证标识和第二认证标识是否一致。
其中,若第一认证标识和第二认证标识一致,则智能空调可执行S112。若第一认证标识与第二认证标识不一致,则对第一通道的认证失败。
在本申请实施例中,由于第一认证标识和第二认证标识均为会话ID1,即第一认证标识与第二认证标识一致,智能空调执行S112。
S112,智能空调生成密钥a以及密钥标识a。
另外,智能空调接收到认证请求后,可将该当前与手机通信所使用的密钥标识和密钥置为无效,并利用spake算法根据手机的UDID、智能空调的UDID以及第一认证标识生成密钥a(例如为KEY4)。同时,智能空调可将第二认证标识作为该密码a的密钥标识(即密钥标识a),即密钥标识a为会话ID1。在一种可选的实施方式中,该密钥a也可以称为第一密钥,密钥标识a也可以称为第一密钥标识。
然后,智能空调可以根据密钥a以及密钥标识a更新认证信息表。示例性的,更新后的认证信息表可如表3所示:
表3
S113,响应于接收到第二认证标识,手机比对第一认证标识和第二认证标识是否一致。
若第一认证标识与第二认证标识一致,则手机可执行S114。若第一认证标识与第二认证标识不一致,则认证失败,手机可重新执行S101以重新进行认证。
在本申请实施例中,由于第一认证标识和第二认证标识均为会话ID1,即第一认证标识与第二认证标识一致,手机执行S114。
S114,手机生成密钥a以及密钥标识a。
具体的,手机可利用spake算法,并根据手机的UDID、智能空调的UDID以及会话ID1(即第一认证标识)生成密钥a。同时,手机可将该第一认证标识(即会话ID1)作为密钥a的密钥标识(即密钥标识a),便于后续根据该密钥标识a查询密钥a,或者与智能空调确认密钥的一致性。
S115,手机判断当前密钥是否有效。
若当前密钥有效,则手机无需更新密钥;若当前密钥无效,则手机执行S116。在本申请实施例中,由于手机在S108中将密钥设置为无效状态,即手机可判断当前密钥无效,故手机执行S116。
这里通过对当前密钥进行有效性检查,可避免手机先后对多条通道进行认证时,后认证通道所生成的密钥和密钥标识覆盖先认证通道所生成的密钥和密钥标识。
S116,手机将密钥a和密钥标识a设置为有效状态。
需要说明的是,S111~S112与S113~S116之间不存在严格的先后顺序。
S117,手机向智能空调发送第一同步密钥请求。
其中,第一同步密钥请求携带密钥标识a以及密钥状态,该密钥状态包括有效状态(例如标识为1)和无效状态(例如标识为0),用于指示手机当前密钥是否有效。在本申请实施方式中,手机在S116中将密钥a设置为有效状态,则该密钥状态可以为1(即有效状态)。
S118,智能空调将密钥a和密钥标识a设置为有效状态。
智能空调接收到第一同步密钥请求后,可确定密钥标识a有效,因此可将密钥标识a和其对应的密钥a设置为有效状态。
S119,手机与智能空调建立可信第一通道。
其中,建立可信第一通道可指,手机与智能空调在传输过程中,可通过密钥a对第一通道加密。
总的来说,手机在接收到智能空调的第一确认信息后,可确认是否需要向智能空调发送认证请求。其中,若手机接收到密钥标识与自身存储的密钥标识不一致,则手机可将密钥标识和密钥置为无效,并向智能空调发送认证请求。智能空调接收到认证请求后,可通过比对第一认证标识和第二认证标识检测会话一致性,并在会话一致的情况下生成新的密钥和新的密钥标识。同时,手机也可以比对第一认证标识和第二认证标识检测会话一致性,并在会话一致的情况下生成新的密钥和新的密钥标识。手机和智能空调将新的密钥和新的密钥标识设置为有效状态,认证完成。手机和智能空调可基于新的密钥对第一通道加密。
针对于上述智能空调执行的各个步骤,在图5的基础上,本申请实施例提供了一种可能的实现方式。图6为本申请实施例提供的一种物联网设备认证方法的流程示意图二。如图6所示,智能空调包括认证模块和组网模块,图5中智能空调所执行的各个步骤具体可以由认证模块、组网模块执行。该物联网设备认证方法包括:S201~S222。
S201,手机基于第一通道向认证模块发送设备认证信息。
其中,关于设备认证信息的描述参见S101,在此不再赘述。
S202,响应于接收到设备认证信息,认证模块确定第一通道的类型。
具体的,智能空调的无线通信模块可以接收到该手机发送的设备认证信息,并向认证模块转发该设备认证信息。另外,无线通信模块还可以确定手机传输该设备认证信息所采用的通信协议,认证模块接收到设备认证信息后可以从无线通信模块处获取第一通道所采用的通信协议,进而确定第一通道的类型。
S203,认证模块创建第一会话,给第一会话分配第一认证标识。
S204,认证模块向组网模块发送节点更新请求。
其中,该节点更新请求可携带有UDID1(即手机的UDID)、会话ID1(即第一认证标识)以及第一通道的类型(例如CoAP)。
S205,响应于接收到节点更新请求,组网模块将第一节点中CoAP通道对应的认证标识设置为会话ID1。
其中,节点(node)可指网络节点。该节点可与手机上的一个节点构成通讯链路。一个通讯链路可承载一条或多条通道。另外,组网模块中维护有节点信息表,该节点信息表包括各个节点的节点信息。每个节点与一个终端设备对应。节点信息包括该节点的对端设备的UDID一个或多个可用通道以及每个可用通道最近一次会话的认证标识。
示例性的,各个节点及其对应的节点信息可以如表4所示:
表4
如表4所示,节点1的对端设备的UDID为UDID3,节点1与该对端设备之间的可用通道包括CoAP通道和MQTT通道,其中CoAP通道最近一次会话的认证标识为sessid1,MQTT通道最近一次会话的认证标识为sessid2。
组网模块接收到节点更新请求后,可以根据手机的UDID在节点信息表中查找是否存在对应的节点。若不存在对应的节点,则组网模块可新建第一节点,并将第一节点中CoAP通道对应的认证标识设置为会话ID1。若存在对应的节点(例如第一节点),则组网模块可将第一节点的CoAP通道对应的认证标识设置为会话ID1。
示例性的,若手机的UDID为UDID1,则组网模块基于UDID1在表1中查询不到对应的节点。这种情况下,组网模块可以新建节点4(即第一节点),并将第一节点的CoAP通道对应的认证标识设置为会话ID1。示例性的,更新后的表4可以如表5所示:
表5
又例如,若手机的UDID为UDID4,则组网模块基于UDID4在表1中可查询到手机对应的节点为节点2(即第一节点)。这种情况下,组网模块可直接更新节点2的CoAP通道对应的认证标识为会话ID1。其中,更新后的表1可如表6所示:
表6
S206,组网模块向认证模块发送第三确认信息。
该第三确认信息是一种ACK信息,用于告知认证模块已经成功更新节点信息。
S207,认证模块更新认证信息表。
其中,关于认证模块更新认证信息表的过程可参阅S104部分的描述,在此不再赘述。
S208,认证模块向手机发送第一确认信息。
其中,该第一确认信息可包括第一认证标识(即会话ID1)、智能空调的UDID以及第四密钥标识等信息。
S209,响应于接收到第一确认信息,手机记录第一认证标识。
手机接收到该第一确认信息后,可记录第一确认信息携带的会话ID1。
S210,手机判断第三密钥标识与第四密钥标识是否一致。
若第三密钥标识与第四密钥标识一致,则确定手机和智能空调当前所使用的密钥和密钥标识有效,无需更新密钥和密钥标识;若第三密钥标识与第四密钥标识不一致,则手机可执行S211。
S211,手机将密钥设置为无效状态。
S212,手机基于第一通道向智能空调发送认证请求。
该认证请求携带有手机的UDID(即UDID1)及第一认证标识。其中,手机可继续通过该CoAP通道向智能空调发送认证请求,以表明手机需要对CoAP通道进行认证。
S213,响应于接收到认证请求,认证模块向手机发送第二认证标识。
其中,认证模块向手机发送第二认证标识的过程可参阅S110部分的描述,在此不再赘述。
S214,认证模块比对第一认证标识和第二认证标识是否一致。
其中,若第一认证标识和第二认证标识一致,则认证模块可执行S215。若第一认证标识与第二认证标识不一致,则对第一通道的认证失败。
在本申请实施例中,由于第一认证标识和第二认证标识均为会话ID1,即第一认证标识与第二认证标识一致,认证模块执行S215。
S215,认证模块生成密钥a以及密钥标识a。
其中,认证模块生成密钥a以及密钥标识a的具体过程参见S112,在此不再赘述。
S216,手机比对第一认证标识和第二认证标识是否一致。
若第一认证标识与第二认证标识一致,则手机可执行S217。若第一认证标识与第二认证标识不一致,则对第一通道的认证失败。
在本申请实施例中,由于第一认证标识和第二认证标识均为会话ID1,即第一认证标识与第二认证标识一致,手机执行S217。
S217,手机生成密钥a以及密钥标识a。
其中,手机生成密钥a以及密钥标识a的具体过程参见S116,在此不再赘述。
S218,手机判断当前密钥是否有效。
若当前密钥有效,则手机无需更新密钥;若当前密钥无效,则手机执行S219。在本申请实施例中,由于手机在S211中将密钥设置为无效状态,即手机可判断当前密钥无效,故手机执行S219。
S219,手机将密钥a和密钥标识a设置为有效状态。
S220,手机向认证模块发送第一同步密钥请求。
其中,关于第一同步密钥请求的描述参见S117,在此不再赘述。
S221,认证模块将密钥a和密钥标识a设置为有效状态。
S222,手机与智能空调建立可信第一通道。
智能空调和手机协商好密钥后,便完成了对第一通道的认证。其中,由于认证过程是针对通道的,而不是针对设备的。从而,当两个设备之间还存在更多可用通道时,还可以利用S201~S222的步骤对其他的可用通道进行认证,实现多条通道的同时认证,有利于两个设备根据使用场景选择效率较高的通道来传输数据。
下面结合图7说明手机与智能空调之间存在多条可用通道时,本申请实施例提供的物联网设备认证方法的具体流程图。图7为本申请实施例提供的一种物联网设备认证方法的流程示意图三,该物联网设备认证方法包括S301~S337。
S301,手机基于CoAP通道向智能空调发送设备认证信息。
其中,设备认证信息可包括手机的UDID(例如,UDID1)、SN码、UUID等信息。
S302,响应于接收到设备认证信息,智能空调确定CoAP通道的类型。
S303,智能空调创建第一会话,给第一会话分配第一认证标识(会话ID1)。
其中,创建第一会话以及给第一会话分配第一认证标识的具体过程可参见S103,在此不再赘述。
S304,智能空调基于手机的UDID、CoAP通道的类型及会话ID1更新认证信息表。
其中,认证信息包括对端设备的UDID、密钥标识、密钥、一个或多个可用通道以及每个可用通道最近一次会话的认证标识(可以称为每个可用通道对应的认证标识)。在本申请实施例中,一个或多个可用通道包括CoAP通道和MQTT通道。也即,认证信息中可包括CoAP通道对应的认证标识和MQTT通道对应的认证标识。
具体的,智能空调可在认证信息表(例如表1)中查询是否存在手机的认证信息,若存在手机的认证信息,则智能空调可直接将手机的CoAP通道对应的认证标识设置为会话ID1(即第一认证标识);若不存在手机的认证信息,则智能空调可在认证信息表中增加手机的认证信息,其中手机的CoAP通道对应的认证标识为会话ID1,手机的MQTT通道对应的认证标识为空。
S305,智能空调向手机发送第一确认信息。
其中,关于第一确认信息的描述参见S105,在此不再赘述。
S306,响应于接收到第一确认信息,手机记录会话ID1。
S307,手机基于MQTT通道向智能空调发送设备认证信息。
需要说明的是,S307与S301之间不存在严格的先后顺序,手机可以同时基于CoAP通道和MQTT通道向智能空调发送设备认证信息。
S308,响应于接收到设备认证信息,智能空调确定MQTT通道的类型。
S309,智能空调创建第三会话,给第三会话分配第三认证标识(会话ID2)。
S310,智能空调基于手机的UDID、MQTT通道的类型及会话ID2更新认证信息表。
具体的,智能空调可在认证信息表中查询是否存在手机的认证信息,若存在手机的认证信息,则智能空调可直接将手机的MQTT通道对应的认证标识设置为会话ID2(即第三认证标识),若不存在手机的认证信息,则智能空调可在认证信息表中增加手机的认证信息。
S311,智能空调向手机发送第二确认信息。
该第三确认信息可包括会话ID2、智能空调的UDID以及第四密钥标识等信息。其中,第四密钥标识为智能空调上存储的、与手机进行通信所使用的密钥的标识。其中,若智能空调和手机从未认证过或智能空调上的密钥和密钥标识已失效,该第四密钥标识可以为空。
S312,响应于接收到第二确认信息,手机记录会话ID2。
S313,手机判断第三密钥标识与第四密钥标识是否一致。
若第三密钥标识与第四密钥标识一致,则手机和智能空调无需更新密钥,继续以当前的密钥和密钥对CoAP通道和MQTT通道加密,手机与智能空调建立可信CoAP通道和可信MQTT通道;若第三密钥标识与第四密钥标识不一致,则手机可执行S314。
S314,手机将密钥设置为无效状态。
手机将密钥设置为无效状态后,手机可基于CoAP通道和MQTT通道分别向智能空调发送认证请求,以便与智能空调重新协商协议和密钥标识。下文以手机先基于CoAP通道向智能空调发送认证请求,后基于MQTT通道向智能空调发送认证请求的过程为例,继续说明认证过程。
S315,手机基于CoAP通道向智能空调发送第一认证请求。
其中,第一认证请求携带有手机的UDID及第一认证标识。其中,手机可继续通过该CoAP通道向智能空调发送第一认证请求,以表明手机需要对CoAP通道进行认证。
S316,响应于接收到第一认证请求,智能空调向手机发送第二认证标识。
其中,关于第二认证标识的说明参见S110,在此不再赘述。
S317,智能空调比对第一认证标识和第二认证标识是否一致。
其中,若第一认证标识和第二认证标识一致,则手机可执行S318。若第一认证标识与第二认证标识不一致,则对CoAP通道的认证失败。
S318,智能空调生成密钥a以及密钥标识a。
S319,响应于接收到第二认证标识,手机比对第一认证标识和第二认证标识是否一致。
若第一认证标识与第二认证标识一致,则手机可执行S320。若第一认证标识与第二认证标识不一致,则认证失败,手机可重新执行S301以重新进行认证。
在本申请实施例中,由于第一认证标识和第二认证标识均为会话ID1,即第一认证标识与第二认证标识一致,手机执行S320。
S320,手机生成密钥a以及密钥标识a。
S321,手机判断当前密钥是否有效。
若当前密钥无效,则手机执行S322;若当前密钥有效,则手机无需生成新的密钥,可继续以当前密钥和当前密钥标识与智能空调通信。
S322,手机将密钥a和密钥标识a设置为有效状态。
S323,手机向智能空调发送第一同步密钥请求。
其中,关于第一同步密钥请求的描述参见S117,在此不再赘述。
S324,智能空调将密钥a和密钥标识a设置为有效状态。
至此,手机和智能空调具有相同的密钥和密钥标识,手机和智能空调完成对CoAP通道的认证,此后手机和智能空调可基于密钥a对通道进行加密。
S325,手机与智能空调建立可信CoAP通道。
S326,手机基于MQTT通道向智能空调发送第二认证请求。
其中,第二认证请求携带有手机的UDID和第三认证标识(例如会话ID2)。
S327,智能空调向手机发送第四认证标识。
S328,智能空调比对第三认证标识和第四认证标识是否一致。
其中,若第三认证标识和第四认证标识一致,则智能空调可执行S329。若第三认证标识和第四认证标识不一致,则对MQTT通道的认证失败。
在本申请实施例中,由于第三认证标识和第四认证标识均为会话ID2,智能空调可执行S329。
S329,智能空调生成密钥b以及密钥标识b。
在一种可选的实施方式中,密钥b也可以称为第二密钥,密钥标识b也可以称为第二密钥标识。
S330,手机比对第三认证标识和第四认证标识是否一致。
其中,若第三认证标识和第四认证标识一致,则手机可执行S331。若第三认证标识和第四认证标识不一致,则对MQTT通道的认证失败。
S331,手机生成密钥b以及密钥标识b。
S332,手机判断当前密钥是否有效。
若当前密钥有效,则手机执行S333;若当前密钥无效,则手机可将密钥b以及密钥标识b设置为有效状态。在本申请实施例中,由于手机在S322中已经将密钥a和密钥标识a设置为有效状态,这里手机可以判断当前密钥有效,故手机执行S333。
S333,手机判断当前密钥的存活时间是否大于第一时间。
其中,第一时间为每个密钥和密钥标识可存活的最大时间。也即,手机需要每隔第一时间更新一次密钥和密钥标识。当前密钥的存活时间可指该密钥被生成的时刻起,到当前时刻所持续的时间。
若当前密钥的存活时间小于或等于第一时间,结合S332中确定当前密钥有效,可以确定手机和智能空调无需更新密钥和密钥标识。若当前密钥的存活时间大于第一时间,则手机可执行S334。
S334,手机将密钥a和密钥标识a设置为无效状态,将密钥b和密钥标识b设置为有效状态。
可见,只有在当前密钥有效的状态下,可在当前密钥的存活时间大于第一时间时将其置为无效,可避免多条通道同时认证时频繁更换密钥和密钥标识的问题。
S335,手机向智能空调发送第二同步密钥请求。
其中,第二同步密钥请求携带密钥标识b以及密钥状态。在本申请实施方式中,手机在S334中将密钥b和密钥标识b设置为有效状态,则该密钥状态可以为1(即有效状态)。
S336,智能空调将密钥a和密钥标识a设置为无效状态,将密钥b和密钥标识b设置为有效状态。
S337,手机与智能空调建立可信MQTT通道。
需要说明的是,若在智能空调和手机生成密钥b以及密钥标识b后,确定当前密钥(即密钥a)无效,或者当前密钥的存活时间大于第一时间,手机和智能空调可将密钥b和密钥标识b设置为有效状态,实现密钥的更新。
针对于上述智能空调执行的S302~S304及S308~S310,在图7的基础上,本申请实施例提供了一种可能的实现方式。图8为本申请实施例提供的一种物联网设备认证方法的流程示意图四。如图8所示,智能空调包括认证模块和组网模块,图7中智能空调所执行的各个步骤具体可以由认证模块、组网模块执行。该物联网设备认证方法包括:S401~S418。
S401,手机基于CoAP通道向认证模块发送设备认证信息。
S402,响应于接收到设备认证信息,认证模块确定CoAP通道的类型。
S403,认证模块创建第一会话,给第一会话分配第一认证标识。
S404,认证模块向组网模块发送第一节点更新请求。
S405,响应于接收到第一节点更新请求,组网模块将第一节点中CoAP通道对应的认证标识设置为会话ID1。
S406,组网模块向认证模块发送第三确认信息。
S407,认证模块更新认证信息表。
S408,认证模块向手机发送第一确认信息。
S409,响应于接收到第一确认信息,手机记录会话ID1。
S410,手机基于MQTT通道向认证模块发送设备认证信息。
S411,响应于接收到设备认证信息,认证模块确定MQTT通道的类型。
S412,认证模块创建第三会话,给第三会话分配第三认证标识。
S413,认证模块向组网模块发送第二节点更新请求。
S414,响应于接收到第二节点更新请求,组网模块将第一节点中MQTT通道对应的认证标识设置为会话ID2。
S415,组网模块向认证模块发送第四确认信息。
其中,该第四确认信息是一种ACK信息,用于告知认证模块已经成功更新节点信息。
S416,认证模块更新认证信息表。
S417,认证模块向手机发送第二确认信息。
S418,响应于接收到第二确认信息,手机记录会话ID2。
需要说明的是,当图7中S315~S337过程中智能空调所执行的步骤具体可以由智能空调的认证模块执行,由于其内容一致,在此不再赘述。
综上所述,本申请提供的联网设备认证方法,可以将获取到的第二认证标识与自身存储的第一认证标识进行比对,若第一认证标识与第二认证标识一致,则生成第一密钥及第一密钥标识,并将第一密钥及第一密钥标识设置为有效状态。相较于现有技术中以设备为粒度管理认证标识,本申请以通道为粒度管理认证标识,也即各个通道具备各自的认证标识,可避免由于其他通道创建会话后导致自身存储的认证标识与获取的认证标识不一致导致的认证失败的问题,从而实现对多条通道的同时认证。
本申请实施例还提供一种芯片系统(例如,片上系统(system on a chip,SoC)),如图9所示,该芯片系统包括至少一个处理器901和至少一个接口电路902。处理器901和接口电路902可通过线路互联。例如,接口电路902可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路902可用于向其它装置(例如处理器901或者电子设备的触摸屏)发送信号。示例性的,接口电路902可读取存储器中存储的指令,并将该指令发送给处理器901。当所述指令被处理器901执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中电子设备执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行上述方法实施例中电子设备执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种物联网设备认证方法,其特征在于,应用于物联网系统,所述物联网系统包括第一设备和第二设备,所述第一设备与所述第二设备之间存在多条通道,所述多条通道包括第一通道,所述第一设备包括第一认证标识,所述第一认证标识为第一会话的会话ID,所述第一会话为所述第一设备记录的所述第一设备与所述第二设备最近一次通过所述第一通道进行的会话,所述方法包括:
若检测到当前密钥无效,所述第一设备基于所述第一通道向所述第二设备发送第一认证请求,所述第一认证请求携带所述第一设备的设备标识及所述第一认证标识;
所述第二设备向所述第一设备反馈第二认证标识,所述第二认证标识为第二会话的会话ID,所述第二会话为所述第二设备记录的所述第一设备与所述第二设备最近一次通过所述第一通道进行的会话;
若所述第一认证标识与所述第二认证标识一致,所述第一设备、所述第二设备基于所述第一设备的设备标识、所述第二设备的设备标识及所述第一认证标识生成第一密钥及第一密钥标识;
所述第一设备、所述第二设备将所述第一密钥及所述第一密钥标识设置为有效状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一设备基于所述第一通道向所述第二设备发送设备认证信息,所述设备认证信息包括所述第一设备的设备标识;
所述第二设备创建所述第一会话,并给所述第一会话分配所述第一认证标识;
所述第二设备向所述第一设备发送第一确认信息,所述第一确认信息包括所述第二设备的设备标识及所述第一认证标识。
3.根据权利要求1所述的方法,其特征在于,所述多条通道还包括第二通道,所述第一设备包括第三认证标识,所述第三认证标识为第三会话的会话ID,所述第三会话为所述第一设备记录的所述第一设备与所述第二设备最近一次通过所述第二通道进行的会话,所述方法还包括:
若检测到当前密钥无效,所述第一设备基于所述第二通道向所述第二设备发送第二认证请求,所述第二认证请求携带所述第一设备的设备标识及所述第三认证标识;
所述第二设备向所述第一设备反馈第四认证标识,所述第四认证标识为第四会话的会话ID,所述第四会话为所述第二设备记录的所述第一设备与所述第二设备最近一次通过所述第二通道进行的会话;
若所述第三认证标识与所述第四认证标识一致,所述第一设备、所述第二设备基于所述第一设备的设备标识、所述第二设备的设备标识及所述第三认证标识生成第二密钥及第二密钥标识;
若所述第一密钥处于无效状态,所述第一设备、所述第二设备将所述第二密钥及所述第二密钥标识设置为有效状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述第一设备基于所述第二通道向所述第二设备发送设备认证信息;
所述第二设备创建所述第三会话,并给所述第三会话分配所述第三认证标识;
所述第二设备向所述第一设备发送第二确认信息,所述第二确认信息包括所述第二设备的设备标识及所述第三认证标识。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述第一密钥处于有效状态且所述第一密钥的存活时间大于第一时间,所述第一设备、所述第二设备将所述第二密钥及所述第二密钥标识设置为有效状态,所述第一密钥的存活时间为所述第一密钥处于有效状态的时间。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述第一密钥处于有效状态,且所述第一密钥的存活时间小于第一时间,所述第一设备、所述第二设备继续将所述第一密钥及所述第一密钥标识保持为有效状态。
7.根据权利要求1-6中任意一项所述的方法,其特征在于,所述第二设备包括认证信息表,所述认证信息表包括多个设备及每个设备的设备信息,每个设备的设备信息包括该设备所支持的通道以及每个通道最近一次进行的会话的认证标识,所述方法还包括:
所述第二设备基于所述第一设备的设备标识、所述第一通道的类型及所述第一认证标识更新所述认证信息表。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
响应于接收到所述第一认证请求,所述第二设备根据所述第一设备的设备标识及所述第一通道的类型在更新后的认证信息表中查询得到所述第二认证标识。
9.根据权利要求2所述的方法,其特征在于,所述第一设备包括第三密钥标识,所述第一确认信息还包括第四密钥标识,所述第三密钥标识为所述第一设备存储的与所述第二设备进行通信所使用的密钥标识,所述第四密钥标识为所述第二设备存储的与所述第一设备进行通信所使用的密钥标识,所述方法还包括:
所述第一设备比对所述第三密钥标识及所述第四密钥标识;
若所述第三密钥标识与所述第四密钥标识不一致,所述第一设备将所述第三密钥标识及所述第三密钥标识对应的密钥设置为无效状态。
10.根据权利要求9所述的方法,其特征在于,所述第二设备包括认证信息表,所述认证信息表包括多个设备及每个设备对应的密钥标识,在所述第二设备向所述第一设备发送第一确认信息前,所述方法还包括:
所述第二设备根据所述第一设备的设备标识在所述认证信息表中查询得到所述第四密钥标识。
11.根据权利要求1-6中任意一项所述的方法,其特征在于,所述方法还包括:
所述第二设备确定所述第一通道的类型,所述第一通道的类型与所述第一通道使用的通信协议对应。
12.一种电子设备,其特征在于,所述电子设备包括:无线通信模块、存储器和一个或多个处理器;所述无线通信模块、所述存储器与所述处理器耦合;
其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-11任一项中第一设备或第二设备所执行的步骤。
13.一种计算机可读存储介质,其特征在于,包括计算机指令;
当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211321670.4A CN116743413B (zh) | 2022-10-26 | 2022-10-26 | 一种物联网设备认证方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211321670.4A CN116743413B (zh) | 2022-10-26 | 2022-10-26 | 一种物联网设备认证方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116743413A CN116743413A (zh) | 2023-09-12 |
CN116743413B true CN116743413B (zh) | 2024-04-12 |
Family
ID=87910221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211321670.4A Active CN116743413B (zh) | 2022-10-26 | 2022-10-26 | 一种物联网设备认证方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116743413B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546286A (zh) * | 2012-07-13 | 2014-01-29 | 中兴通讯股份有限公司 | 认证处理方法及装置 |
CN107251520A (zh) * | 2015-04-20 | 2017-10-13 | 华为国际有限公司 | 用于m2m通信中的聚合认证协议的方法 |
WO2020208294A1 (en) * | 2019-04-11 | 2020-10-15 | Nokia Technologies Oy | Establishing secure communication paths to multipath connection server with initial connection over public network |
US11188637B1 (en) * | 2020-06-28 | 2021-11-30 | Mark Lawson | Systems and methods for link device authentication |
CN114519294A (zh) * | 2021-12-27 | 2022-05-20 | 国网山西省电力公司阳泉供电公司 | 基于小波奇异熵和bp神经网络的电力电缆故障识别方法 |
CN114640975A (zh) * | 2020-11-28 | 2022-06-17 | 华为技术有限公司 | 蓝牙通道建立方法、电子设备及系统 |
CN114928898A (zh) * | 2022-07-18 | 2022-08-19 | 荣耀终端有限公司 | 建立基于WiFi直接连接的会话的方法和装置 |
CN115021894A (zh) * | 2021-11-19 | 2022-09-06 | 荣耀终端有限公司 | 数据保护方法、系统及电子设备 |
CN115039389A (zh) * | 2020-02-26 | 2022-09-09 | 国际商业机器公司 | 计算环境中的安全密钥交换 |
CN115334497A (zh) * | 2022-08-01 | 2022-11-11 | 中电信量子科技有限公司 | 卫星终端密钥分发方法、装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013080166A1 (en) * | 2011-12-02 | 2013-06-06 | Entersekt (Pty) Ltd | Mutually authenticated communication |
CN105656875A (zh) * | 2015-10-21 | 2016-06-08 | 乐卡汽车智能科技(北京)有限公司 | 基于mptcp的主流连接建立方法及装置 |
-
2022
- 2022-10-26 CN CN202211321670.4A patent/CN116743413B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546286A (zh) * | 2012-07-13 | 2014-01-29 | 中兴通讯股份有限公司 | 认证处理方法及装置 |
CN107251520A (zh) * | 2015-04-20 | 2017-10-13 | 华为国际有限公司 | 用于m2m通信中的聚合认证协议的方法 |
WO2020208294A1 (en) * | 2019-04-11 | 2020-10-15 | Nokia Technologies Oy | Establishing secure communication paths to multipath connection server with initial connection over public network |
CN115039389A (zh) * | 2020-02-26 | 2022-09-09 | 国际商业机器公司 | 计算环境中的安全密钥交换 |
US11188637B1 (en) * | 2020-06-28 | 2021-11-30 | Mark Lawson | Systems and methods for link device authentication |
CN114640975A (zh) * | 2020-11-28 | 2022-06-17 | 华为技术有限公司 | 蓝牙通道建立方法、电子设备及系统 |
CN115021894A (zh) * | 2021-11-19 | 2022-09-06 | 荣耀终端有限公司 | 数据保护方法、系统及电子设备 |
CN114519294A (zh) * | 2021-12-27 | 2022-05-20 | 国网山西省电力公司阳泉供电公司 | 基于小波奇异熵和bp神经网络的电力电缆故障识别方法 |
CN114928898A (zh) * | 2022-07-18 | 2022-08-19 | 荣耀终端有限公司 | 建立基于WiFi直接连接的会话的方法和装置 |
CN115334497A (zh) * | 2022-08-01 | 2022-11-11 | 中电信量子科技有限公司 | 卫星终端密钥分发方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116743413A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4007321A1 (en) | Information sharing method, terminal apparatus, storage medium, and computer program product | |
US20200053831A1 (en) | Apparatus and method for communicating by using bluetooth low energy | |
JP6866191B2 (ja) | 通信装置、通信制御方法およびプログラム | |
US11647564B2 (en) | Apparatus and method for performing data communication in NAN protocol-based network environment | |
US11930542B2 (en) | Source device switching method and device through Bluetooth connection information sharing | |
CN113766482B (zh) | 查找蓝牙设备的方法、电子设备及存储介质 | |
CN1411291A (zh) | 使用多个验证服务器的无线设备网络的管理方法、验证服务器设备和计算机程序产品 | |
CN114079862B (zh) | 一种自动控制方法、电子设备及计算机可读存储介质 | |
WO2019019050A1 (zh) | 无线通信配对方法、无线接收设备和无线发射设备、系统 | |
EP4271019A1 (en) | Electronic device for setting-up data path, and operation method therefor | |
US20230156466A1 (en) | Bluetooth Networking Method for Electronic Device and Related Device | |
KR20200073811A (ko) | 세컨더리 노드 추가를 지원하는 전자 장치 및 그 방법 | |
CN116743413B (zh) | 一种物联网设备认证方法及电子设备 | |
EP4199473A1 (en) | Iot device and authorization method therefor | |
EP4274309A1 (en) | Electronic device for performing network management operation, and operating method therefor | |
WO2022028333A1 (zh) | 一种自动控制方法、电子设备及计算机可读存储介质 | |
CN113596013B (zh) | 设备控制权限的设置方法、装置、计算机设备和存储介质 | |
EP3923537B1 (en) | Method for sharing channel information in bluetooth network, and electronic device therefor | |
CN114338356A (zh) | 一种网络修复方法、电子设备及移动设备 | |
CN114143129B (zh) | 网关批量入网方法、装置、设备及存储介质 | |
WO2022116110A1 (zh) | 接入认证方法、装置、设备及存储介质 | |
CN117998529A (zh) | 配网方法、电子设备及计算机存储介质 | |
CN117135631A (zh) | 设备认证方法及终端设备 | |
KR20240032594A (ko) | 분실 애드버타이징을 수행하는 전자 장치 및 그 동작 방법 | |
KR20240064426A (ko) | Uwb 세션을 관리하는 방법 및 장치 |
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 |