[go: up one dir, main page]

CN115001667A - 密钥协商方法、系统、电子设备和计算机可读存储介质 - Google Patents

密钥协商方法、系统、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN115001667A
CN115001667A CN202111538419.9A CN202111538419A CN115001667A CN 115001667 A CN115001667 A CN 115001667A CN 202111538419 A CN202111538419 A CN 202111538419A CN 115001667 A CN115001667 A CN 115001667A
Authority
CN
China
Prior art keywords
authentication code
electronic device
iot
iot device
equipment
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.)
Granted
Application number
CN202111538419.9A
Other languages
English (en)
Other versions
CN115001667B (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.)
Honor Device Co Ltd
Original Assignee
Honor Device Co 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202111538419.9A priority Critical patent/CN115001667B/zh
Publication of CN115001667A publication Critical patent/CN115001667A/zh
Application granted granted Critical
Publication of CN115001667B publication Critical patent/CN115001667B/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
    • 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
    • H04L9/0844Key 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 with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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
    • 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

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)
  • Telephonic Communication Services (AREA)

Abstract

本申请实施例涉及物联网领域,提供了一种密钥协商方法、系统、电子设备和计算机可读存储介质。该密钥协商方法由第一电子设备执行,第一电子设备应用于包括服务器和IoT设备的系统,第一电子设备具有对IoT设备的控制权限。该方法包括:向服务器发送第一认证码请求消息;第一认证码请求消息用于请求向第一电子设备提供IoT设备的设备认证码;设备认证码为IoT设备生成并发送至服务器的;接收服务器发送的设备认证码;根据设备认证码,与IoT设备进行密钥协商,产生第一会话密钥;第一会话密钥用于对第一电子设备和IoT设备之间传输的数据进行加密或解密。本申请实施例提供的方法能够提高第一电子设备与IoT设备之间数据传输的安全性。

Description

密钥协商方法、系统、电子设备和计算机可读存储介质
技术领域
本申请涉及物联网技术领域,具体涉及一种密钥协商方法、系统、电子设备和计算机可读存储介质。
背景技术
随着物联网(internet of things,IoT)技术的快速发展,IoT设备在人们的生活中的应用越来越普遍。一般的,IoT设备由控制终端进行控制。具体的,控制终端可以通过云服务器与IoT设备通信,由控制终端向云服务器发送控制指令,云服务器将控制指令转发至IoT设备,IoT设备接收并执行控制指令。
为了保证通信的安全性,控制指令传输过程中需要进行加密。相关技术中,控制指令的加密和传输过程如下:控制终端基于与云服务器之间的加密协议A,对明文控制指令进行加密,生成密文控制指令a。控制终端将密文控制指令a上传至云服务器。云服务器基于加密协议A对密文控制指令a进行解密,生成明文控制指令。之后,云服务再基于与IoT设备的加密协议B,对明文控制指令进行加密,生成密文控制指令b。云服务器将密文控制指令b发送至IoT设备,IoT设备基于加密协议B对密文控制指令b进行解密,得到明文控制指令。
然而,上述控制指令的传输过程存在安全性较差的问题。
发明内容
本申请提供了一种密钥协商方法、系统、电子设备和计算机可读存储介质,能够提高电子设备与IoT设备之间数据传输过程的安全性。
第一方面,本申请提供一种密钥协商方法,该方法由第一电子设备执行,第一电子设备应用于包括服务器和IoT设备的系统,第一电子设备具有对IoT设备的控制权限,该方法包括:
向服务器发送第一认证码请求消息;第一认证码请求消息用于请求向第一电子设备提供IoT设备的设备认证码;设备认证码为IoT设备生成并发送至服务器的;接收服务器发送的设备认证码;根据设备认证码,与IoT设备进行密钥协商,产生第一会话密钥;第一会话密钥用于对第一电子设备和IoT设备之间传输的数据进行加密或解密。
可选的,在一种可能的实现方式中,第一电子设备可以为分享人所登录的电子设备,(如具体实施方式中的第一控制终端)。第一电子设备可以安装有第一应用程序(application,APP)。第一电子设备的第一APP中可以登录有第二账户(对应具体实施方式中的APP账户1)。第一电子设备可以通过第一APP与服务器以及IoT设备交互。可选的,第一认证码请求消息中可以携带有APP账户1和IoT设备的设备账户等信息。
可选的,在另一种可能的实现方式中,第一电子设备也可以为也可以为被分享人所登录的电子设备(如具体实施方式中的第二控制终端)。
设备认证码用于密钥协商。可选的,设备认证码可以由IoT设备在设备认证过程中生成。
第一方面提供的密钥协商方法,第一电子设备向服务器请求IoT设备的设备认证码,且该设备认证码由IoT设备生成,IoT设备也持有该设备认证码,从而使得第一电子设备能够和IoT设备该设备认证码进行密钥协商,产生仅彼此可获知的第一会话密钥,实现了第一电子设备与IoT设备的端对端加密,使得第三方无法解析第一电子设备和IoT设备之间传输的数据(例如,控制指令),提高了第一电子设备和IoT设备之间数据传输的安全性,从而提高了用户体验。另外一方面,该实现方式中,通过IoT设备生成设备认证码,并将该设备认证码发送至服务器,由服务器进行保存。在第一电子设备需要与IoT设备传输数据时,第一电子设备向服务器获取该设备认证码。同时,IoT设备由IoT设备生成,IoT设备也持有该设备认证码。上述过程中,第一电子设备和IoT设备获取设备认证码的过程均无需用户参与,能够实现用户无感知加密,进一步提高用户体验。
一种可能的实现方式中,根据设备认证码,与IoT设备进行密钥协商,产生第一会话密钥,包括:
根据设备认证码,基于口令认证密钥交换(password-authenticated keyexchange,PAKE)协议与IoT设备进行密钥协商,产生第一会话密钥。
一种可能的实现方式中,IoT设备绑定于第一电子设备,系统还包括第二电子设备,该方法还包括:
向服务器发送分享申请消息,分享申请消息用于请求将对IoT设备的控制权限分享给第二电子设备,分享申请消息中包括IoT设备的设备信息和设备认证码;设备认证码还用于第二电子设备与IoT设备进行密钥协商,产生第二会话密钥;第二会话密钥用于对第二电子设备和IoT设备之间传输的数据进行加密或解密。
IoT设备绑定于第一电子设备,也即,IoT设备具有对第一电子设备的分享权限。
可选的,第二电子设备可以为具体实施方式中的第二控制终端。第二电子设备可以安装有第一APP。第二电子设备的第一APP中可以登录有第一账户(对应具体实施方式中的APP账户2)。第二电子设备可以通过第一APP与服务器以及IoT设备交互。
可选的,分享申请消息中可以携带有第一电子设备的第一APP中所登录的账户(即APP账户1)的信息、IoT设备的设备账户的信息和第二电子设备的第一APP中所登录的账户(即APP账户2)的信息等。
该实现方式中,通过向服务器发送分享申请消息,将IoT设备的设备信息分享给第二电子设备的同时,将设备认证码也分享给第二电子设备,使得第二电子设备和IoT设备能够基于设备认证码进行密钥协商,产生仅彼此可获知的第二会话密钥,实现了第二电子设备与IoT设备的端对端加密,使得第三方无法解析第二电子设备和IoT设备之间传输的数据,提高了设备分享场景下第二电子设备和IoT设备直接数据传输的安全性,从而提高了用户体验。
一种可能的实现方式中,该方法还包括:
接收服务器发送的认证码更新消息;认证码更新消息用于指示更新设备认证码,认证码更新消息中包括在设备认证码超过第一预设有效期的情况下重新生成的设备认证码;根据认证码更新消息更新设备认证码。
可选的,IoT设备可以为设备认证码设置有效期(例如,有效期可以为90天)。当设备认证码超过有效期时,IoT设备重新生成设备认证码,并将向服务器发送认证码更新消息。服务器根据认证码更新消息更新保存的设备认证码,并将认证码更新消息发送至第一电子设备,第一电子设备根据认证码更新消息更新设备认证码。
该实现方式中,通过对设备认证码的更新,能够提高设备认证码的安全性,降低设备认证码被窃取的风险,从而使得第一电子设备和IoT设备根据设备认证码协商得到的第一会话密钥安全性更高,进一步提高第一电子设备和IoT设备之间数据传输的安全性,提高用户体验。
一种可能的实现方式中,该方法还包括:
在第一会话密钥超过第二预设有效期的情况下,根据设备认证码,与IoT设备重新进行密钥协商,产生新的第一会话密钥。
可选的,第一电子设备和IoT设备可以为第一会话密钥设置有效期(例如可以为7天)。有效期内,第一电子设备和IoT设备通过第一会话密钥进行加密和解密。当第一会密钥超过设置的有效期时,第一电子设备和IoT设备可以基于设备认证码重新生成会话密钥,从而进一步提高第一会话密钥的安全性,进而进一步提高第一电子设备和IoT设备之间数据传输的安全性。
第二方面,本申请提供一种密钥协商方法,该方法由服务器执行,服务器应用于包括第一电子设备和IoT设备的系统,第一电子设备具有对IoT设备的控制权限,该方法包括:
接收并保存IoT设备发送的IoT设备的设备认证码;设备认证码为IoT设备生成的;接收第一电子设备发送的第一认证码请求消息;第一认证码请求消息用于请求向第一电子设备发送设备认证码;响应于第一认证码请求消息,将设备认证码发送至第一电子设备;设备认证码用于第一电子设备与IoT设备进行密钥协商产生第一会话密钥;第一会话密钥用于对第一电子设备和IoT设备之间传输的数据进行加密或解密。
第二方面提供的密钥协商方法的有益效果与第一方面提供的密钥协商方法的有益效果类似,在此不再赘述。
一种可能的实现方式中,IoT设备绑定于第一电子设备,系统还包括第二电子设备,该方法还包括:
接收第一电子设备发送的分享申请消息,分享申请消息用于请求将对IoT设备的控制权限分享给第二电子设备,分享申请消息中包括IoT设备的设备信息和设备认证码;响应于分享申请消息,将设备信息以及设备认证码与第二电子设备的信息关联,使得第二电子设备具有对IoT设备的控制权限;设备认证码还用于第二电子设备与IoT设备进行密钥协商,产生第二会话密钥;第二会话密钥用于对第二电子设备和IoT设备之间传输的数据进行加密或解密。
该实现方式中,在设备分享阶段,服务器将IoT设备的设备认证码与第二电子设备的第一APP登录的APP账户2关联,也即,对设备认证码进行了分享,使得在第二电子设备与IoT设备之间需要传输数据时,第二电子设备能够向服务器获取得到该设备认证码。同时,该设备认证码由IoT设备生成,IoT设备持有该设备认证码。上述过程中,第二电子设备与IoT设备获取设备认证码的过程均无需用户参与,实现了用户无感知加密,进一步提高用户体验。而且,该实现方式中,在设备分享阶段,第一电子设备向服务器发送分享消息,服务器响应于分享申请消息,将设备信息以及设备认证码与第二电子设备的信息关联。整个分享过程只需要分享人对应的设备(第一电子设备)和服务器之间交互即可,不需要要求被分享人和待分享设备必须在线,分享过程简单快捷,能够实现IoT设备的快速分享。
一种可能的实现方式中,第二电子设备的第一应用程序登录有第一账户,第一应用程序是指用于控制IoT设备的应用程序;响应于分享申请消息,将设备信息以及设备认证码与第二电子设备的信息关联,包括:
响应于分享申请消息,将设备信息以及设备认证码下挂至第一账户下。
一种可能的实现方式中,该方法还包括:
接收第二电子设备发送的第二认证码请求消息;第二认证码请求消息用于请求向第二电子设备提供设备认证码;响应于第二认证码请求消息,将设备认证码发送至第二电子设备。
该实现方式中的方法的有益效果参见上述第一方面,在此不再赘述。
一种可能的实现方式中,该方法还包括:
接收IoT设备发送的认证码更新消息;认证码更新消息用于指示更新设备认证码,认证码更新消息中包括在设备认证码超过第一预设有效期的情况下重新生成的设备认证码;根据认证码更新消息更新设备认证码;将认证码更新消息发送至第一电子设备。
该实现方式中的方法的有益效果参见上述第一方面的密钥协商方法,在此不再赘述。
一种可能的实现方式中,系统还包括第二电子设备,第二电子设备具有对IoT设备的控制权限,该方法还包括:
将认证码更新消息发送至第二电子设备。
该实现方式中,将认证码更新消息发送至第二电子设备,使得第二电子设备能够更新设备认证码,提高第二电子设备中设备认证码的安全性,降低设备认证码被窃取的风险,从而使得第二电子设备和IoT设备根据设备认证码协商得到的第二会话密钥安全性更高,进一步提高第二电子设备和IoT设备之间数据传输的安全性,提高用户体验。
第三方面,本申请提供一种密钥协商方法,该方法由IoT设备执行,IoT设备应用于包括第一电子设备和服务器的系统,第一电子设备具有对IoT设备的控制权限,该方法包括:
生成设备认证码;将设备认证码发送至服务器;根据设备认证码,与第一电子设备进行密钥协商,产生第一会话密钥;第一会话密钥用于对第一电子设备和IoT设备之间传输的数据进行加密或解密。
该实现方式中的方法的有益效果参见上述第一方面和第二方面的密钥协商方法,在此不再赘述。
一种可能的实现方式中,生成设备认证码,包括:
在接收到第一电子设备发送的IoT设备的注册信息的情况下,生成设备认证码。
该实现方式中,在接收到第一电子设备发送的IoT设备的注册信息的情况下,生成设备认证码,也即在IoT设备的设备认证阶段生成设备认证码,从而便于IoT设备将设备认证码与设备注册信息一同发送至服务器,便于服务器将设备认证码与IoT设备的相关信息进行关联和管理,提高设备认证码生成和管理效率。
一种可能的实现方式中,根据设备认证码,与第一电子设备进行密钥协商,产生第一会话密钥,包括:
根据设备认证码,基于口令认证密钥交换协议,与第一电子设备进行密钥协商产生第一会话密钥。
该实现方式中的方法的有益效果参见上述第一方面的密钥协商方法,在此不再赘述。
一种可能的实现方式中,该方法还包括:
在设备认证码超过第一预设有效期的情况下,重新生成设备认证码;向服务器发送认证码更新消息,认证码更新消息用于指示更新设备认证码,认证码更新消息中包括重新生成的设备认证码。
该实现方式中的方法的有益效果参见上述第一方面和第二方面的密钥协商方法,在此不再赘述。
一种可能的实现方式中,该方法还包括:
在第一会话密钥超过第二预设有效期的情况下,根据设备认证码,与第一电子设备重新进行密钥协商,产生新的第一会话密钥。
该实现方式中的方法的有益效果参见上述第一方面的密钥协商方法,在此不再赘述。
一种可能的实现方式中,系统还包括第二电子设备,第二电子设备具有对IoT设备的控制权限,该方法还包括:
根据设备认证码,与第二电子设备进行密钥协商,产生第二会话密钥;第二会话密钥用于对第二电子设备和IoT设备之间传输的数据进行加密或解密。
该实现方式中的方法的有益效果参见上述第一方面和第二方面的密钥协商方法,在此不再赘述。
第四方面,本申请提供一种装置,该装置包含在第一电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第五方面,本申请提供一种装置,该装置包含在服务器中,该装置具有实现上述第二方面及上述第二方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第六方面,本申请提供一种装置,该装置包含在IoT设备中,该装置具有实现上述第三方面及上述第三方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第七方面,本申请提供一种IoT系统,包括:第一电子设备、服务器和IoT设备,其中,所述第一电子设备用于执行第一方面的技术方案中任意一种方法,服务器用于执行第二方面的技术方案中任意一种方法,IoT设备用于执行第三方面的技术方案中任意一种方法。
第八方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面的技术方案中任意一种方法,或者,使得电子设备执行第二方面的技术方案中任意一种方法,或者,使得电子设备执行第三方面的技术方案中任意一种方法。
第九方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法,或者,执行第二方面及其任意可能的实现方式中的方法,或者执行第三方面及其任意可能的实现方式中的方法。
可选的,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选的,芯片还包括通信接口。
第十方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面的技术方案中任意一种方法,或者,执行第二方面及其任意可能的实现方式中的方法,或者,执行第三方面及其任意可能的实现方式中的方法。
第十一方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面的技术方案中任意一种方法,或者,执行第二方面及其任意可能的实现方式中的方法,或者,执行第三方面及其任意可能的实现方式中的方法。
上述第四方面至第十一方面的有益效果参见上述第一方面、第二方面和第三方面的密钥协商方法的有益效果,在此不再赘述。
附图说明
图1是相关技术中控制终端向IoT设备发送控制指令过程中的加密原理示意图;
图2是本申请实施例提供的一例密钥协商方法所适用的IoT系统的结构示意图;
图3是本申请实施例提供的一例电子设备的结构示意图;
图4是本申请实施例提供的一例密钥协商方法的流程示意图;
图5是本申请实施例提供的一例设备注册阶段的数据流向示意图;
图6是本申请实施例提供的一例密钥协商阶段的数据流向示意图;
图7是本申请实施例提供的一例设备控制阶段的数据流向示意图;
图8是本申请实施例提供的一例手机A分享IoT设备的过程的界面变化示意图;
图9是本申请实施例提供的一例手机B接受分享的界面示意图;
图10是本申请实施例提供的另一例密钥协商方法的流程示意图;
图11是本申请实施例提供的一例设备分享阶段的数据流向示意图;
图12是本申请实施例提供的另一例密钥协商阶段的数据流向示意图;
图13是本申请实施例提供的另一例设备控制阶段的数据流向示意图;
图14是本申请实施例提供的又一例密钥协商方法的流程示意图;
图15是本申请实施例提供的一例密钥协商装置的结构示意图;
图16是本申请实施例提供的另一例密钥协商装置的结构示意图;
图17是本申请实施例提供的又一例密钥协商装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本申请说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为更好地理解本申请实施例,以下对实施例中可能涉及的术语或概念进行解释说明。
IoT设备:IoT网络中的物理对象。本申请实施例中,IoT设备可以为智能家居设备,例如,智能音箱、智能台灯、智能空调、智能冰箱、智能门锁或智能窗帘等。另外,IoT设备也可以为车载设备、可穿戴设备、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备等智能设备,本申请实施例对IoT设备的具体类型不做任何限定。
控制终端:控制终端是指安装有控制IoT设备的应用程序(application,APP)的终端,包括但不限于手机、平板电脑、可穿戴设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)等。控制IoT设备的APP例如可以为智慧生活、智慧空间等。
云服务器:也称为IoT云、智能家居云、云平台、云端或设备云等。云服务器用于存储IoT设备的相关数据,或者用于控制终端与IoT设备之间数据(例如,控制指令)的转发传输等。
APP账户:用户在控制IoT设备的APP中注册的,用于表征用户身份的信息。APP账户也称为APP账户信息、APP用户信息,或称为APP用户身份(user identity document,userID)。
IoT设备的设备认证码:由IoT设备生成,用于密钥协商。设备认证码可以为IoT设备随机生成,或者按照预设规则生成的字符串。不同IoT设备生成的设备认证码不同,且同一IoT设备每一次生成的设备认证码均不同。
IoT设备的注册信息:IoT设备在设备注册时所需的信息。IoT设备的注册信息可以包括IoT设备的注册人身份信息和IoT设备的激活码等。
IoT设备的注册人身份信息:即,register identity document,简称regID,用于表征IoT设备在设备注册阶段的唯一身份。
IoT设备的激活码:即active code,用于IoT设备在设备注册阶段的注册激活。
IoT设备的设备账户:也称为IoT设备的设备身份(device identity document,简称devID),用于表征IoT设备的唯一身份。
IoT设备的登录密码:用于IoT设备登录设备账户时验证身份的信息。一个IoT设备的设备账户对应一个登录密码。
设备分享:也称为IoT设备分享、设备共享、分享设备或共享设备等。登录于一控制终端的某一APP账户绑定有某一IoT设备,该控制终端具有对该IoT设备的控制权限。该控制终端将该IoT设备的控制权限分享给登录有其他APP账户的另一控制终端,使得另一控制终端也具有对该IoT设备的控制权限,这个过程称为IoT设备分享,简称为设备分享。
分享人:也称为主动分享人或设备分享人,是指向其他控制终端分享IoT设备控制权限的控制终端中所登录的APP账户。例如,控制终端A登录有APP账户1,控制终端A将对IoT设备a的控制权限分享给登录有APP账户2的控制终端B,则APP账户A为分享人。
被分享人:也称为被动分享人,是指接受其他控制终端的设备分享的控制终端中所登录的APP账户。如上述例子中,APP账户B为被分享人。
示例性的,图1为相关技术中控制终端向IoT设备发送控制指令过程中的加密原理示意图。如图1所示,控制终端101包括第一加密模块111,云服务器200中包括第一解密模块221和第二加密模块222。IoT设备300包括第二解密模块331。控制终端101与云服务器200之间基于加密协议A进行加密和解密。云服务器200和IoT设备300之间基于加密协议B进行加密和解密。
当控制终端101需要向IoT设备300发送控制指令时,控制终端101的第一加密模块111基于加密协议A,对明文控制指令进行加密,生成密文控制指令a。第一加密模块111将第一密文控制指令发送至云服务器200的第一解密模块221。第一解密模块221基于第一加密协议对密文控制指令A进行解密,得到明文控制指令。第一解密模块221将明文控制指令发送至第二加密模块222。第二加密模块222基于加密协议B对明文控制指令进行加密,得到密文控制指令b。第二加密模块222将密文控制指令b发送至IoT设备300的第二解密模块331。第二解密模块331基于加密协议B对密文控制指令b进行解密,得到明文控制指令。
上述过程可以看出,第一密文控制指令从控制终端101传输至IoT设备300,需要经过云服务器200的解密,云服务器200能够获取明文控制指令。也就是说,第一密文控制指令在传输过程中,有第三方(云服务器)解析了密文控制指令a,使得控制终端101与IoT设备300之间控制指令的传输不够安全。
本申请实施例提供一种密钥协商方法,能够实现控制终端与IoT设备的端到端加密,避免控制指令被第三方解析,提高控制指令传输的安全性。而且,本申请实施例提供的密钥协商方法也可以应用在IoT设备的分享过程中,不仅能够提高分享人所在的控制终端的控制指令传输的安全性,还能够提高被分享人所在的终端设备的控制指令传输的安全性。以下结合实施例对本申请提供的密钥协商方法进行说明。
为了便于理解,在对本申请实施例提供的密钥协商方法进行说明之前,首先对本申请实施例提供的密钥协商方法所适用的系统及电子设备的结构进行说明。
示例性的,图2为本申请实施例提供的一例密钥协商方法所适用的IoT系统的结构示意图。如图2所示,IoT系统可以包括第一控制终端210、IoT设备220、第二控制终端230和服务器240。第一控制终端210、IoT设备220和第二控制终端230分别与服务器240网络连接。同时,第一控制终端210与IoT设备220可以通过接近场通信,例如无线保真(wirelessfidelity,Wi-Fi)、蓝牙(bluetooth,BT)、点对点(peer-to-peer,P2P)等方式连接。第二控制终端230与IoT设备220也可以通过近场通信方式连接。
其中,第一控制终端210和第二控制终端230中均安装有控制IoT设备的APP(下称第一APP)。服务器240是第一APP的管理服务器。可选的,服务器240可以为云服务器。第一控制终端210在其安装的第一APP中登录APP账户1;第二控制终端220在其安装的第一APP中登录APP账户2。第一控制终端210的第一APP中登录的APP账户1可以绑定IoT设备220(也称为第一控制终端210与IoT设备220绑定)。服务器可以对APP账户1、APP账户2和IoT设备的账户等进行管理。需要说明的是,本申请实施例中,第一控制终端210和第二控制终端230与服务器240之间的交互均通过第一APP进行。同时,第一控制终端210和第二控制终端230与IoT设备220之间的交互也通过第一APP进行。
可选的,第一控制终端210与第二控制终端230可以是相同类型的设备,也可以是不同类型的设备。例如,第一控制终端210可以为手机,第二控制终端230可以为平板电脑。下述实施例以第一控制终端210和第二控制终端230均为手机为例进行说明。
示例性的,图3是本申请实施例提供的一例第一控制终端210和第二控制终端230(以下统称电子设备100)的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。图3中的天线1和天线2的结构仅为一种示例。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
下面结合附图和应用场景,对本申请实施例提供的密钥协商方法进行详细阐述。为了便于理解,以下实施例中,以第一控制终端为手机A,第二控制终端为手机B,IoT设备为IoT设备C,服务器为云服务器为例进行说明。其中,手机A和手机B中均安装有第一APP,手机A中的第一APP登录有APP账户1,手机B中的第一APP登录有APP账户2。
示例性的,图4为本申请实施例提供的一例密钥协商方法的流程示意图。如图4所示,本实施例涉及手机A控制IoT设备C的过程,过程中包括设备注册阶段、密钥协商阶段和设备控制阶段。下面结合图4,对各个阶段的具体过程分别进行说明:
1、设备注册阶段
示例性的,图5为本申请实施例提供的一例设备注册阶段的数据流向示意图。请一并参见图4和图5,本实施例中,设备注册阶段包括:
S401、手机A通过第一APP向云服务器申请IoT设备C的注册信息。
可选的,手机A的第一APP可以向云服务器发送第一申请消息,第一申请消息用于请求云服务器向手机A的第一APP发送IoT设备C的注册信息。可选的,第一申请消息中可以携带有手机A的第一APP中所登录的APP账户的信息,即第一申请消息携带有APP账户1的信息。
S402、云服务器响应于手机A的第一APP的申请,生成IoT设备C的注册信息。
可选的,IoT设备C的注册信息中可以包括IoT设备C的注册人身份(regID)和IoT设备C的激活码(active code)。
S403、云服务器将生成的IoT设备C的注册信息发送至手机A的第一APP。
具体的,云服务器可以根据第一申请消息中携带的APP账户1的信息,将生成的IoT设备C的注册信息发送至手机A的第一APP。
可以理解,云服务器在将IoT设备C的注册信息发送至手机A的第一APP的同时,可以将生成的IoT设备C的注册信息进行保存,并将IoT设备C的注册信息与APP账户1进行关联,以便于后续设备注册时进行验证。
S404、手机A通过第一APP将IoT设备C的注册信息发送至IoT设备C。
可选的,手机A可以基于与IoT设备C的近场通信连接,通过第一APP将IoT设备C的注册信息发送至IoT设备C。
S405、IoT设备C接收到注册信息后,生成IoT设备C的设备认证码。
S406、IoT设备C将IoT设备C的注册信息和设备认证码发送至云服务器,向云服务器申请设备注册。
具体的,IoT设备C可以向云服务器发送第二申请消息,第二申请消息用于请求云服务器注册IoT设备C。可选的,第二申请消息中可以携带有IoT设备C的注册信息(包括IoT设备C的注册人身份和激活码)和设备认证码。
可以理解,IoT设备C在将其设备认证码发送至服务器的同时,可以对设备认证码进行保存。
S407、云服务器响应于IoT设备C的申请,进行设备注册。
具体的,云服务器可以将IoT设备C发送的注册信息与云服务器中保存的APP账户1关联的IoT设备C的注册信息进行对比验证,若二者一致,则云服务器生成IoT设备C的设备信息。设备信息包括设备账户和登录密码等。云服务器将IoT设备C的设备信息与APP账户1进行绑定,也即将IoT设备C的设备信息与APP账户1关联。
S408、同时,云服务器保存IoT设备C的设备认证码。
可以理解,云服务器可以将IoT设备C的设备认证码与IoT设备C的设备账户关联,以便于根据IoT设备C的设备账户查找IoT设备C的设备认证码。
S409、云服务器向IoT设备C返回注册结果。
可选的,注册结果中可以包括IoT设备C的设备账户和登录密码等。IoT设备C可以根据该设备账户和登录密码登录云服务器。
2、密钥协商阶段
示例性的,图6为本申请实施例提供的一例密钥协商阶段的数据流向示意图。请一并参见图4和图6,本实施例中,密钥协商阶段包括:
S410、手机A通过第一APP向云服务器请求IoT设备C的设备认证码。
可选的,手机A可以通过第一APP向云服务器发送第一认证码请求消息,第一认证码请求消息用于请求云服务器向手机A的第一APP发送IoT设备C的设备认证码。可选的,第一认证码请求消息中可以携带有APP账户1和IoT设备C的设备账户等信息。
S411、云服务器响应于手机A的第一APP的请求,将IoT设备C的设备认证码发送至手机A的第一APP。
具体的,云服务器可以根据第一认证码请求消息中携带的APP账户1的信息和IoT设备C的设备账户,查找APP账户1所关联的所有设备账户,并从这些设备账户中查找IoT设备C的设备账户,再从IoT设备C的设备账户所关联的信息中查找IoT设备C的设备认证码,并将该设备认证码发送至手机A的第一APP。当然,云服务器也可以通过其他的方法查找IoT设备C的设备认证码,本申请实施例对此不做任何限定。
S412、手机A通过第一APP与IoT设备C,基于IoT设备C的设备认证码进行密钥协商,产生第一会话密钥。
可选的,手机A的第一APP与IoT设备C可以基于PAKE协议进行密钥协商。在一个实施例中,密钥协商过程可以如下:1)手机A的第一APP与IoT设备C通过云服务器交换随机数和挑战码。具体的,手机A的第一APP产生第一随机数和第一挑战码,并通过云服务器将第一随机数和第一挑战码发送至IoT设备C;IoT设备C产生第二随机数和第二挑战码,并通过云服务器将第二随机数和第二挑战码发送至手机A的第一APP。2)手机A的第一APP根据第一随机数、第一挑战码、第二随机数、第二挑战码和IoT设备C的设备认证码,生成第一会话密钥。3)IoT设备C根据第一随机数、第一挑战码、第二随机数、第二挑战码和IoT设备C的设备认证码,生成第一会话密钥。
可以理解,当手机A与IoT设备C近场通信连接时,手机A的第一APP也可以直接与IoT设备C通信进行密钥协商。
需要说明的是,手机A的第一APP与IoT设备C协商产生的第一会话密钥只有彼此可以获知,其他设备无法获知第一会话密钥。
可选的,手机A和IoT设备C可以为第一会话密钥设置有效期(例如可以为7天)。有效期内,手机A和IoT设备C通过第一会话密钥进行加密和解密。当第一会密钥超过设置的有效期时,手机A和IoT设备C可以基于IoT设备C的设备认证码重新生成会话密钥,从而进一步提高第一会话密钥的安全性,进而进一步提高手机A和IoT设备C之间数据传输的安全性。
3、设备控制阶段
示例性的,图7为本申请实施例提供的一例设备控制阶段的数据流向示意图。请一并参见图4和图7,设备控制阶段包括:
S413、当手机A需要向IoT设备C发送第一明文控制指令时,手机A的第一APP根据步骤S412产生的第一会话密钥对第一明文控制指令进行加密,得到第一密文控制指令。
S414、手机A的第一APP将第一密文控制指令发送至云服务器。
S415、云服务将第一密文控制指令转发至IoT设备C。
S416、IoT设备C接收到第一密文控制指令后,根据步骤S412产生的第一会话密钥,对第一密文控制指令进行解密,得到第一明文控制指令。
S417、IoT设备C执行第一明文控制指令。
具体的,手机A的第一APP可以包括加密模块A,IoT设备C可以包括解密模块。加密模块A根据第一会话密钥对第一明文控制指令加密,得到第一密文控制指令。加密模块A将第一密文控制指令发送至云服务器,由云服务器将第一密文控制指令转发至IoT设备C的解密模块。解密模块对第一密文控制指令进行解密,得到第一明文控制指令,并执行第一明文控制指令。
本实施例中,在控制指令传输时,手机A的第一APP和IoT设备C基于IoT设备C的设备认证码进行密钥协商,产生仅彼此可获知的第一会话密钥,实现了手机A与IoT设备C的端对端加密,使得第三方无法解析第一密文控制指令,提高了手机A控制IoT设备C过程中控制指令传输的安全性,从而提高了用户体验。另外一方面,本实施例中,通过IoT设备C生成IoT设备C的设备认证码,并将IoT设备C的设备认证码发送至云服务器,由云服务器进行保存。在手机A需要向IoT设备C发送控制指令时,手机A的第一APP向云服务器获取IoT设备C的设备认证码。同时,IoT设备C保存有该设备认证码,因而手机A和IoT设备C可以持有一致的设备认证码进行密钥协商。上述过程中,手机A的第一APP获取设备认证码和IoT设备C获取设备认证码的过程均无需用户参与,实现了用户无感知加密,进一步提高用户体验。
需要说明的是,上述实施例中,是以对控制指令的加密和解密过程为举例进行说明的。但是,本申请实施例提供的密钥协商方法不限于此,该方法可以用于对控制终端与IoT设备之间传输的任何数据的加密和解密,本申请对此不做任何限定。
另外,可以理解,上述实施例中IoT设备C的设备认证码可以为长期有效的设备认证码。也就是说,IoT设备C和云服务器保存的IoT设备C的设备认证码固定不变。在另一些实施例中,也可以对IoT设备C的设备认证码进行定期或不定期的更新。例如,IoT设备C可以为设备认证码设置有效期(例如,有效期可以为90天)。当设备认证码超过有效期时,IoT设备C重新生成设备认证码,并将向云服务器发送认证码更新消息(消息中可以携带有重新生成的设备认证码),请求云服务器更新设备认证码。云服务器响应于IoT设备C的请求,对IoT设备C的设备认证码进行更新,并向手机A发送认证码更新消息,通知手机A的第一APP更新设备认证码。通过对设备认证码的更新,能够提高设备认证码的安全性,降低设备认证码被窃取的风险,从而使得手机A和IoT设备C根据设备认证码协商得到的第一会话密钥安全性更高,进一步提高手机A和IoT设备C之间控制指令传输的安全性,提高用户体验。
以上过程为控制IoT设备C过程中基于设备认证码对控制指令进行加密的过程。在一些实施例中,当手机A将APP账户1绑定的IoT设备C分享至登录有APP账户2的手机B时(即APP账户1为分享人,APP账户2为被分享人),手机B也可以通过IoT设备C的设备认证码对控制指令进行加密,提高手机B控制IoT设备C过程中控制指令传输的安全性。具体过程如下述实施例。下述实施例中,以第一APP为“智慧空间”,IoT设备C为智能灯为例进行说明。
示例性的,图8为本申请实施例提供的一例手机A分享IoT设备的过程的界面变化示意图。如图8中的(a)所示,用户点击图标81,打开智慧空间APP。手机A响应用户点击图标81的操作,运行智慧空间APP,显示智慧空间APP的“家居”主界面82,如图8中的(b)所示。且在“家居”主界面82中“设备”菜单下显示当前手机A所在环境下的IoT设备,以及智慧空间APP当前登录的APP账户1(130******23)所绑定的IoT设备。其中,APP账户1所绑定的IoT设备包括智能灯001,如图8中的(b)中的卡片83。用户长按卡片83,卡片83下方出现选项菜单,如图8中的(c)所示。选项菜单中包括“共享设备”选项84。用户点击“共享设备”选项84,进入图8中的(d)所示的界面。该界面中包括多个成员选项。用户点击APP账户2(Lily)对应的成员选项85,则进入分享确认界面,如图8中的(e)所示。该界面中包括“确认”和“取消”选项。用户点击“确认”选项,确定将智能灯001分享至登录有APP账户2的手机B。分享后,手机A可以对分享结果进行提示,如图8中的(f)所示。
示例性的,图9为本申请实施例提供的一例手机B接受分享的界面示意图。如图9所示,当手机A向手机B分享智能灯001之后,手机B的界面可以弹出分享提示窗口,分享提示窗口询问用户是否接受分享,如图9中的91所示。当用户点击“是”后,手机A的智慧空间APP开始向手机B的智慧空间APP分享智能灯001。分享的具体实现过程参见下述实施例。
示例性的,图10为本申请实施例提供的另一例密钥协商方法的流程示意图。如图10所示,本实施例主要涉及手机A向手机B分享IoT设备C(如智能灯001),并由手机B控制IoT设备C的过程,过程中包括设备分享阶段、密钥协商阶段和设备控制阶段。下面结合图10,对各个阶段的过程分别进行说明:
1、设备分享阶段
示例性的,图11为本申请实施例提供的一例设备分享阶段的数据流向示意图。请一并参见图10和图11,本实施例中,设备分享阶段包括:
S1001、手机A通过第一APP向云服务器申请将IoT设备C分享至手机B。
可选的,手机A的第一APP可以向云服务器发送分享申请消息,分享申请消息用于请求云服务器将IoT设备C分享至手机B。可选的,分享申请消息中可以携带有分享人的信息、被分享人的信息和待分享的设备的信息等。即,分享申请消息中携带有手机A的第一APP中所登录的APP账户(即APP账户1)的信息、IoT设备C的设备账户的信息和手机B的第一APP中所登录的APP账户(即APP账户2)的信息等。
S1002、云服务器响应于手机A的第一APP的申请,进行分享人权限校验,即对手机A的第一APP登录的APP账户(即APP账户1)进行权限校验。
可以理解,只有绑定IoT设备的APP账户可以作为该IoT设备的分享人,拥有对该IoT设备的分享权限。换句话说,某一APP账户请求分享的IoT设备,必须为与该APP账户绑定的IoT设备。
可选的,云服务器可以根据分享申请消息中携带的APP账户1,查询APP账户1下绑定的IoT设备中是否包括IoT设备C,从而确定APP账户1请求分享的IoT设备是否为与APP账户1绑定的IoT设备,确定APP账户1是否具有对IoT设备C的分享权限。若是,则通过权限校验,否则未通过权限校验。
可选的,云服务器也可以根据分享申请消息中携带的IoT设备C的设备账户,查询IoT设备C绑定的APP账户是否为APP账户1,从而确定APP账户1是否具有对IoT设备C的分享权限。若是,则通过权限校验,否则未通过权限校验。
若通过权限校验,则执行步骤S1003。
S1003、云服务器将IoT设备C的设备信息和设备认证码下挂至手机B的第一APP登录的APP账户(即APP账户2)下。
具体的,云服务器将IoT设备C的设备账户、登录密码和设备认证码等信息与APP账户2进行关联,从而使得登录有APP账户2的手机B也拥有对IoT设备的控制权限。
S1004、云服务器向手机B的第一APP推送IoT设备C。
具体的,云服务器将IoT设备C的设备账户等信息发送至手机B的第一APP。手机B的第一APP可以根据IoT设备C的设备账户的信息,刷新“家居”主界面,使得手机B的第一APP的“家居”主界面显示有IoT设备C的卡片,从而使得用户能够执行对IoT设备C的控制操作。
2、密钥协商阶段
示例性的,图12为本申请实施例提供的一例密钥协商阶段的数据流向示意图。请一并参见图10和图12,本实施例中,密钥协商阶段包括:
S1005、手机B通过第一APP向云服务器请求IoT设备C的设备认证码。
可选的,手机B的第一APP可以向云服务器发送第二认证码请求消息,第二认证码请求消息用于请求云服务器向手机B的第一APP发送IoT设备C的设备认证码。可选的,第二认证码请求消息中可以携带有APP账户2和IoT设备C的设备账户。
S1006、云服务器响应于手机B的第一APP的请求,将IoT设备C的设备认证码发送至手机B的第一APP。
具体的,云服务器可以根据第二认证码请求消息中携带的APP账户2的信息和IoT设备C的设备账户,查找APP账户2所关联的所有设备账户,并从这些设备账户中查找IoT设备C的设备账户,再从IoT设备C的设备账户所关联的信息中查找IoT设备C的设备认证码,并将该设备认证码发送至手机B的第一APP。当然,云服务器也可以通过其他的方法查找IoT设备C的设备认证码,本申请实施例对此不做任何限定。
S1007、手机B的第一APP与IoT设备C基于IoT设备C的设备认证码进行密钥协商,产生第二会话密钥。
该步骤中,具体的密钥协商过程与上述步骤S412过程相同,在此不再赘述。
需要说明的是,手机B的第一APP与IoT设备C协商产生的第二会话密钥只有彼此获知,其他设备无法获知第二会话密钥。
同时,可以理解,在设备认证码超过有效期,IoT设备C重新生成设备认证码的情况下,云服务器也将认证码更新消息发送至手机B的第一APP,通知手机B更新设备认证码,从而能够提高设备认证码的安全性,降低设备认证码被窃取的风险,从而使得手机B和IoT设备C根据设备认证码协商得到的第二会话密钥安全性更高,进一步提高手机B和IoT设备C之间控制指令传输的安全性,提高用户体验。
3、设备控制阶段
示例性的,图13为本申请实施例提供的一例设备控制阶段的数据流向示意图。请一并参见图10和图13,本实施例中,设备控制阶段包括:
S1008、当手机B需要向IoT设备C发送第二明文控制指令时,手机B的第一APP根据步骤S1007产生的第二会话密钥对第二明文控制指令进行加密,得到第二密文控制指令。
S1009、手机B的第一APP将第二密文控制指令发送至云服务器。
S1010、云服务将第二密文控制指令转发至IoT设备C。
S1011、IoT设备C接收到第二密文控制指令后,根据步骤S1006产生的第二会话密钥,对第二密文控制指令进行解密,得到第二明文控制指令。
S1012、IoT设备C执行第二明文控制指令。
具体的,手机B的第一APP可以包括加密模块B,IoT设备C可以包括解密模块。加密模块B根据第二会话密钥对第二明文控制指令加密,得到第二密文控制指令。加密模块B将第二密文控制指令发送至云服务器,由云服务器将第二密文控制指令转发至IoT设备C的解密模块。解密模块对第二密文控制指令进行解密,得到第二明文控制指令,并执行第二明文控制指令。
本实施例中,设备分享场景下,在控制指令传输时,手机B的第一APP和IoT设备C基于IoT设备C的设备认证码进行密钥协商,产生仅彼此可获知的第二会话密钥,实现了手机B与IoT设备C的端对端加密,使得第三方无法解析第二密文控制指令,提高了设备分享场景下,手机B控制IoT设备C过程中控制指令传输的安全性,从而提高了用户体验。另外一方面,本实施例中,在设备分享阶段,通过云服务器将IoT设备C的设备认证码下挂至手机B的第一APP登录的APP账户2下,也即对设备认证码进行了分享,使得在手机B需要向IoT设备C发送控制指令时,手机B的第一APP能够向云服务器获取得到IoT设备C的设备认证码。同时,IoT设备C保存有该设备认证码,因而手机B和IoT设备C可以持有一致的设备认证码进行密钥协商。上述过程中,手机B的第一APP获取设备认证码和IoT设备C获取设备认证码的过程均无需用户参与,实现了用户无感知加密,进一步提高用户体验。而且,本实施例中,在设备分享阶段,手机A通过第一APP向云服务器申请设备分享,云服务器在进行分享人权限校验后直接将IoT设备C的设备信息和设备认证码下挂至手机B的第一APP登录的APP账户下即可。整个分享过程只需要分享人所登录的设备和云服务器之间交互即可,不需要要求被分享人和待分享设备必须在线,分享过程简单快捷,能够实现IoT设备的快速分享。
示例性的,图14为本申请又一例实施例提供的密钥协商方法的流程示意图。本实施例以该方法应用于图2的IoT系统为例进行说明。如图14所示,该方法包括:
S1401、IoT设备在设备注册过程中生成IoT设备的设备认证码(以下简称设备认证码)。
具体的,可以参见上述图4所示的实施例,IoT设备接收第一控制终端发送的IoT设备的注册信息(以下简称注册信息),并生成设备认证码。IoT设备将注册信息和设备认证码发送至服务器。
S1402、服务器保存设备认证码。
具体的,参见上述图4所示的实施例,服务根据注册信息对IoT设备进行设备注册,并保存设备认证码。
S1403、第一控制终端向服务器请求设备认证码。
S1404、第一控制终端和IoT设备根据设备认证码进行密钥协商,生成第一会话密钥。
S1405、第一控制终端和IoT设备根据第一会话密钥对传输的数据进行加密和解密。
S1406、第一控制终端向服务器申请将IoT设备分享至第二控制终端。
S1407、服务器响应于第一控制终端的申请,将IoT设备的设备信息和设备认证码与第二控制终端的信息关联。
具体的,参见上述图10所示的实施例,服务器将IoT设备的设备信息和设备认证码下挂至第一控制终端的第一APP登录的账户(即上述APP账户2)。
S1408、第二控制终端向IoT设备请求设备认证码。
S1409、第二控制终端和IoT设备根据设备认证码进行密钥协商,生成第二会话密钥。
S1410、第二控制终端和IoT设备根据第二会话密钥对传输的数据进行加密和解密。
本实施例提供的密钥协商方法的具体过程参见上述图4和图10所示的实施例,在此不再赘述。
本实施例中,第一控制终端向服务器请求IoT设备的设备认证码,且该设备认证码由IoT设备生成,IoT设备也持有该设备认证码,从而使得第一控制终端能够和IoT设备该设备认证码进行密钥协商,产生仅彼此可获知的第一会话密钥,实现了第一控制终端与IoT设备的端对端加密,使得第三方无法解析第一控制终端和IoT设备之间传输的数据(例如,控制指令),提高了第一控制终端和IoT设备之间数据传输的安全性,从而提高了用户体验。另外一方面,该实现方式中,通过IoT设备生成设备认证码,并将该设备认证码发送至服务器,由服务器进行保存。在第一控制终端需要与IoT设备传输数据时,第一控制终端向服务器获取该设备认证码。同时,IoT设备由IoT设备生成,IoT设备也持有该设备认证码。上述过程中,第一控制终端和IoT设备获取设备认证码的过程均无需用户参与,能够实现用户无感知加密,进一步提高用户体验。而且,本实施例中,通过第一控制终端向服务器申请将IoT设备分享至第二控制终端,服务器将IoT设备的设备信息分享给第二控制终端的同时,将设备认证码也分享给第二控制终端,使得第二控制终端和IoT设备能够基于设备认证码进行密钥协商,产生仅彼此可获知的第二会话密钥,实现了第二控制终端与IoT设备的端对端加密,使得第三方无法解析第二控制终端和IoT设备之间传输的数据,提高了设备分享场景下第二控制终端和IoT设备直接数据传输的安全性,从而提高了用户体验。
上文详细介绍了本申请实施例提供的密钥协商方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参见图15,本申请实施例提供一种密钥协商装置,该密钥协商装置可以包含在第一电子设备中,第一电子设备应用于包括服务器和IoT设备的系统中。第一电子设备例如可以为上述实施例中的第一控制终端。该密钥协商装置用于执行上述实施例中第一控制终端的步骤。如图15所示,该密钥协商装置可以包括:
第一发送模块1501,用于向服务器发送第一认证码请求消息;第一认证码请求消息用于请求向第一电子设备提供IoT设备的设备认证码;设备认证码为IoT设备生成并发送至服务器的;
第一接收模块1502,用于接收服务器发送的设备认证码;
第一协商模块1503,用于根据设备认证码,与IoT设备进行密钥协商,产生第一会话密钥;第一会话密钥用于对第一电子设备和IoT设备之间传输的数据进行加密或解密。
在一个实施例中,第一协商模块1503具体用于根据设备认证码,基于口令认证密钥交换协议与IoT设备进行密钥协商,产生第一会话密钥。
在一个实施例中,IoT设备绑定于第一电子设备,系统还包括第二电子设备,该密钥协商装置还包括:第一分享模块1504,用于向服务器发送分享申请消息,分享申请消息用于请求将对IoT设备的控制权限分享给第二电子设备,分享申请消息中包括IoT设备的设备信息和设备认证码;设备认证码还用于第二电子设备与IoT设备进行密钥协商,产生第二会话密钥;第二会话密钥用于对第二电子设备和IoT设备之间传输的数据进行加密或解密。
在一个实施例中,该密钥协商装置还包括:第一更新模块1505,用于接收服务器发送的认证码更新消息;认证码更新消息用于指示更新设备认证码,认证码更新消息中包括在设备认证码超过第一预设有效期的情况下重新生成的设备认证码;根据认证码更新消息更新设备认证码。
在一个实施例中,第一更新模块1505还用于在第一会话密钥超过第二预设有效期的情况下,根据设备认证码,与IoT设备重新进行密钥协商,产生新的第一会话密钥。
本实施例提供的密钥协商装置用于执行上文中的第一控制终端对应的方法,因此,其所能达到的有益效果可参考上文所提供的第一控制终端对应的方法中的有益效果,此处不再赘述。
请参见图16,本申请实施例提供一种密钥协商装置,该密钥协商装置可以包含在服务器中,服务器应用于包括第一电子设备和IoT设备的系统中。第一电子设备可以为上述实施例中的第一控制终端。该密钥协商装置用于执行上述实施例中服务器的步骤。如图16所示,该密钥协商装置可以包括:
第二接收模块1601,用于接收并保存IoT设备发送的IoT设备的设备认证码;以及,用于接收第一电子设备发送的第一认证码请求消息;第一认证码请求消息用于请求向第一电子设备发送设备认证码;设备认证码为IoT设备生成的;
第二发送模块1602,用于响应于第一认证码请求消息,将设备认证码发送至第一电子设备;设备认证码用于第一电子设备与IoT设备进行密钥协商产生第一会话密钥;第一会话密钥用于对第一电子设备和IoT设备之间传输的数据进行加密或解密。
在一个实施例中,IoT设备绑定于第一电子设备,系统还包括第二电子设备,第二接收模块1601还用于:接收第一电子设备发送的分享申请消息,分享申请消息用于请求将对IoT设备的控制权限分享给第二电子设备,分享申请消息中包括IoT设备的设备信息和设备认证码;响应于分享申请消息,将设备信息以及设备认证码与第二电子设备的信息关联,使得第二电子设备具有对IoT设备的控制权限;设备认证码还用于第二电子设备与IoT设备进行密钥协商,产生第二会话密钥;第二会话密钥用于对第二电子设备和IoT设备之间传输的数据进行加密或解密。
在一个实施例中,第二电子设备的第一应用程序登录有第一账户,第一应用程序是指用于控制IoT设备的应用程序;该密钥协商装置还包括第二分享模块1603,用于响应于分享申请消息,将设备信息以及设备认证码下挂至第一账户下。
在一个实施例中,第二接收模块1601还用于接收第二电子设备发送的第二认证码请求消息;第二认证码请求消息用于请求向第二电子设备提供设备认证码;第二发送模块1602还用于响应于第二认证码请求消息,将设备认证码发送至第二电子设备。
在一个实施例中,该密钥协商装置还包括:第二更新模块1604,用于接收IoT设备发送的认证码更新消息;认证码更新消息用于指示更新设备认证码,认证码更新消息中包括在设备认证码超过第一预设有效期的情况下重新生成的设备认证码;根据认证码更新消息更新设备认证码;将认证码更新消息发送至第一电子设备。
在一个实施例中,系统还包括第二电子设备,第二电子设备具有对IoT设备的控制权限,第二发送模块1602还用于将认证码更新消息发送至第二电子设备。
本实施例提供的密钥协商装置用于执行上文中的服务器对应的方法,因此,其所能达到的有益效果可参考上文所提供的服务器对应的方法中的有益效果,此处不再赘述。
请参见图17,本申请实施例提供一种密钥协商装置,该密钥协商装置可以包含在IoT设备中,IoT设备应用于包括第一电子设备和服务器的系统中。第一电子设备可以为上述实施例中的第一控制终端。该密钥协商装置用于执行上述实施例中IoT设备的步骤。如图17所示,该密钥协商装置可以包括:
第三生成模块1701,用于生成设备认证码;
第三发送模块1702,用于将设备认证码发送至服务器;
第三协商模块1703,用于根据设备认证码,与第一电子设备进行密钥协商,产生第一会话密钥;第一会话密钥用于对第一电子设备和IoT设备之间传输的数据进行加密或解密。
在一个实施例中,第三生成模块1701具体用于:在接收到第一电子设备发送的IoT设备的注册信息的情况下,生成设备认证码。
在一个实施例中,第三协商模块1703具体用于:根据设备认证码,基于口令认证密钥交换协议,与第一电子设备进行密钥协商产生第一会话密钥。
在一个实施例中,该密钥协商装置还包括:第三更新模块1704,用于在设备认证码超过第一预设有效期的情况下,重新生成设备认证码;向服务器发送认证码更新消息,认证码更新消息用于指示更新设备认证码,认证码更新消息中包括重新生成的设备认证码。
在一个实施例中,第三更新模块1704还用于在第一会话密钥超过第二预设有效期的情况下,根据设备认证码,与第一电子设备重新进行密钥协商,产生新的第一会话密钥。
在一个实施例中,系统还包括第二电子设备,第二电子设备具有对IoT设备的控制权限,第三协商模块1703还用于根据设备认证码,与第二电子设备进行密钥协商,产生第二会话密钥;第二会话密钥用于对第二电子设备和IoT设备之间传输的数据进行加密或解密。
本实施例提供的密钥协商装置用于执行上文中的IoT设备对应的方法,因此,其所能达到的有益效果可参考上文所提供的IoT设备对应的方法中的有益效果,此处不再赘述。
本申请实施例还提供一种IoT系统,包括:第一电子设备、服务器和IoT设备。其中,第一电子设备用于执行如上实施例中第一控制终端对应的方法,服务器用于执行如上实施例中服务器对应的方法,IoT设备用于执行如上实施例中IoT设备对应的方法。IoT系统的有益效果此处不再赘述。
本实施例还提供一种电子设备,用于执行上述密钥协商方法。该电子设备可以为上述第一电子设备、服务器或者IoT设备。其中,第一电子设备用于执行如上实施例中第一控制终端对应的方法,服务器用于执行如上实施例中服务器对应的方法,IoT设备用于执行如上实施例中IoT设备对应的方法,因而,该实施例中电子设备可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图3所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的密钥协商方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的密钥协商方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的密钥协商方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (21)

1.一种密钥协商方法,所述方法由第一电子设备执行,所述第一电子设备应用于包括服务器和IoT设备的系统,所述第一电子设备具有对所述IoT设备的控制权限,其特征在于,所述方法包括:
向所述服务器发送第一认证码请求消息;所述第一认证码请求消息用于请求向所述第一电子设备提供所述IoT设备的设备认证码;所述设备认证码为所述IoT设备生成并发送至所述服务器的;
接收所述服务器发送的所述设备认证码;
根据所述设备认证码,与所述IoT设备进行密钥协商,产生第一会话密钥;所述第一会话密钥用于对所述第一电子设备和所述IoT设备之间传输的数据进行加密或解密。
2.根据权利要求1所述的方法,其特征在于,所述根据所述设备认证码,与所述IoT设备进行密钥协商,产生第一会话密钥,包括:
根据所述设备认证码,基于口令认证密钥交换协议与所述IoT设备进行密钥协商,产生所述第一会话密钥。
3.根据权利要求1或2所述的方法,其特征在于,所述IoT设备绑定于所述第一电子设备,所述系统还包括第二电子设备,所述方法还包括:
向所述服务器发送分享申请消息,所述分享申请消息用于请求将对所述IoT设备的控制权限分享给所述第二电子设备,所述分享申请消息中包括所述IoT设备的设备信息和所述设备认证码;所述设备认证码还用于所述第二电子设备与所述IoT设备进行密钥协商,产生第二会话密钥;所述第二会话密钥用于对所述第二电子设备和所述IoT设备之间传输的数据进行加密或解密。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
接收所述服务器发送的认证码更新消息;所述认证码更新消息用于指示更新所述设备认证码,所述认证码更新消息中包括在所述设备认证码超过第一预设有效期的情况下重新生成的设备认证码;
根据所述认证码更新消息更新所述设备认证码。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一会话密钥超过第二预设有效期的情况下,根据所述设备认证码,与所述IoT设备重新进行密钥协商,产生新的第一会话密钥。
6.一种密钥协商方法,所述方法由服务器执行,所述服务器应用于包括第一电子设备和IoT设备的系统,所述第一电子设备具有对所述IoT设备的控制权限,其特征在于,所述方法包括:
接收并保存所述IoT设备发送的所述IoT设备的设备认证码;所述设备认证码为所述IoT设备生成的;
接收所述第一电子设备发送的第一认证码请求消息;所述第一认证码请求消息用于请求向所述第一电子设备发送所述设备认证码;
响应于所述第一认证码请求消息,将所述设备认证码发送至所述第一电子设备;所述设备认证码用于所述第一电子设备与所述IoT设备进行密钥协商产生第一会话密钥;所述第一会话密钥用于对所述第一电子设备和所述IoT设备之间传输的数据进行加密或解密。
7.根据权利要求6所述的方法,其特征在于,所述IoT设备绑定于所述第一电子设备,所述系统还包括第二电子设备,所述方法还包括:
接收所述第一电子设备发送的分享申请消息,所述分享申请消息用于请求将对所述IoT设备的控制权限分享给所述第二电子设备,所述分享申请消息中包括所述IoT设备的设备信息和所述设备认证码;
响应于所述分享申请消息,将所述设备信息以及所述设备认证码与所述第二电子设备的信息关联,使得所述第二电子设备具有对所述IoT设备的控制权限;所述设备认证码还用于所述第二电子设备与所述IoT设备进行密钥协商,产生第二会话密钥;所述第二会话密钥用于对所述第二电子设备和所述IoT设备之间传输的数据进行加密或解密。
8.根据权利要求7所述的方法,其特征在于,所述第二电子设备的第一应用程序登录有第一账户,所述第一应用程序是指用于控制所述IoT设备的应用程序;所述响应于所述分享申请消息,将所述设备信息以及所述设备认证码与所述第二电子设备的信息关联,包括:
响应于所述分享申请消息,将所述设备信息以及所述设备认证码下挂至所述第一账户下。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
接收所述第二电子设备发送的第二认证码请求消息;所述第二认证码请求消息用于请求向所述第二电子设备提供所述设备认证码;
响应于所述第二认证码请求消息,将所述设备认证码发送至所述第二电子设备。
10.根据权利要求6至9中任一项所述的方法,其特征在于,所述方法还包括:
接收所述IoT设备发送的认证码更新消息;所述认证码更新消息用于指示更新所述设备认证码,所述认证码更新消息中包括在所述设备认证码超过第一预设有效期的情况下重新生成的设备认证码;
根据所述认证码更新消息更新所述设备认证码;
将所述认证码更新消息发送至所述第一电子设备。
11.根据权利要求10所述的方法,其特征在于,所述系统还包括第二电子设备,所述第二电子设备具有对所述IoT设备的控制权限,所述方法还包括:
将所述认证码更新消息发送至所述第二电子设备。
12.一种密钥协商方法,所述方法由IoT设备执行,所述IoT设备应用于包括第一电子设备和服务器的系统,所述第一电子设备具有对所述IoT设备的控制权限,其特征在于,所述方法包括:
生成设备认证码;
将所述设备认证码发送至所述服务器;
根据所述设备认证码,与所述第一电子设备进行密钥协商,产生第一会话密钥;所述第一会话密钥用于对所述第一电子设备和所述IoT设备之间传输的数据进行加密或解密。
13.根据权利要求12所述的方法,其特征在于,所述生成设备认证码,包括:
在接收到所述第一电子设备发送的所述IoT设备的注册信息的情况下,生成所述设备认证码。
14.根据权利要求12或13所述的方法,其特征在于,所述根据所述设备认证码,与所述第一电子设备进行密钥协商,产生第一会话密钥,包括:
根据所述设备认证码,基于口令认证密钥交换协议,与所述第一电子设备进行密钥协商产生所述第一会话密钥。
15.根据权利要求12至14中任一项所述的方法,其特征在于,所述方法还包括:
在所述设备认证码超过第一预设有效期的情况下,重新生成设备认证码;
向所述服务器发送认证码更新消息,所述认证码更新消息用于指示更新所述设备认证码,所述认证码更新消息中包括重新生成的设备认证码。
16.根据权利要求12至15中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一会话密钥超过第二预设有效期的情况下,根据所述设备认证码,与所述第一电子设备重新进行密钥协商,产生新的第一会话密钥。
17.根据权利要求12至16中任一项所述的方法,其特征在于,所述系统还包括第二电子设备,所述第二电子设备具有对所述IoT设备的控制权限,所述方法还包括:
根据所述设备认证码,与所述第二电子设备进行密钥协商,产生第二会话密钥;所述第二会话密钥用于对所述第二电子设备和所述IoT设备之间传输的数据进行加密或解密。
18.一种IoT系统,其特征在于,包括:第一电子设备、服务器和IoT设备,其中,所述第一电子设备用于执行如权利要求1至5中任一项所述的方法,所述服务器用于执行如权利要求6至11中任一项所述的方法,所述IoT设备用于执行如权利要求12至17中任一项所述的方法。
19.一种电子设备,其特征在于,包括:处理器、存储器和接口;
所述处理器、存储器和接口相互配合,使得所述电子设备执行如权利要求1至5中任一项所述的方法,或者,使得所述电子设备执行如权利要求6至11中任一项所述的方法,或者,使得所述电子设备执行如权利要求12至17中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至5中任一项所述的方法,或者,使得所述处理器执行权利要求6至11中任一项所述的方法,或者,所述处理器执行权利要求12至17中任一项所述的方法。
21.一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在电子设备上运行时,使得所述电子设备执行权利要求1至5中任一项所述的方法,或者,使得所述电子设备执行如权利要求6至11中任一项所述的方法,或者,使得所述电子设备执行如权利要求12至17中任一项所述的方法。
CN202111538419.9A 2021-12-15 2021-12-15 密钥协商方法、系统、电子设备和计算机可读存储介质 Active CN115001667B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111538419.9A CN115001667B (zh) 2021-12-15 2021-12-15 密钥协商方法、系统、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111538419.9A CN115001667B (zh) 2021-12-15 2021-12-15 密钥协商方法、系统、电子设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN115001667A true CN115001667A (zh) 2022-09-02
CN115001667B CN115001667B (zh) 2023-05-26

Family

ID=83018863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111538419.9A Active CN115001667B (zh) 2021-12-15 2021-12-15 密钥协商方法、系统、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115001667B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116405487A (zh) * 2023-04-25 2023-07-07 成都安恒信息技术有限公司 一种基于口令的文件分享方法
CN116684080A (zh) * 2023-05-26 2023-09-01 深圳开鸿数字产业发展有限公司 设备认证方法、装置、电子设备及存储介质
CN120263538A (zh) * 2025-06-03 2025-07-04 国网浙江省电力有限公司宁波供电公司 基于量子云码的配电物联终端管理方法、系统及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101123501A (zh) * 2006-08-08 2008-02-13 西安电子科技大学 一种wapi认证和密钥协商方法和系统
CN101340443A (zh) * 2008-08-28 2009-01-07 中国电信股份有限公司 一种通信网络中会话密钥协商方法、系统和服务器
CN106656984A (zh) * 2016-10-31 2017-05-10 美的智慧家居科技有限公司 局域网内设备的安全操控方法、系统及其设备
CN108632393A (zh) * 2018-07-30 2018-10-09 郑州信大捷安信息技术股份有限公司 安全通信系统及方法
CN110933672A (zh) * 2019-11-29 2020-03-27 华为技术有限公司 一种密钥协商方法及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101123501A (zh) * 2006-08-08 2008-02-13 西安电子科技大学 一种wapi认证和密钥协商方法和系统
CN101340443A (zh) * 2008-08-28 2009-01-07 中国电信股份有限公司 一种通信网络中会话密钥协商方法、系统和服务器
CN106656984A (zh) * 2016-10-31 2017-05-10 美的智慧家居科技有限公司 局域网内设备的安全操控方法、系统及其设备
CN108632393A (zh) * 2018-07-30 2018-10-09 郑州信大捷安信息技术股份有限公司 安全通信系统及方法
CN110933672A (zh) * 2019-11-29 2020-03-27 华为技术有限公司 一种密钥协商方法及电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116405487A (zh) * 2023-04-25 2023-07-07 成都安恒信息技术有限公司 一种基于口令的文件分享方法
CN116684080A (zh) * 2023-05-26 2023-09-01 深圳开鸿数字产业发展有限公司 设备认证方法、装置、电子设备及存储介质
CN120263538A (zh) * 2025-06-03 2025-07-04 国网浙江省电力有限公司宁波供电公司 基于量子云码的配电物联终端管理方法、系统及电子设备
CN120263538B (zh) * 2025-06-03 2025-10-10 国网浙江省电力有限公司宁波供电公司 基于量子云码的配电物联终端管理方法、系统及电子设备

Also Published As

Publication number Publication date
CN115001667B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
CN111466099B (zh) 一种登录方法、令牌发送方法、设备及存储介质
CN111954283B (zh) 一种接入无线局域网的方法和终端
US8977856B2 (en) Methods and apparatus for use in sharing credentials amongst a plurality of mobile communication devices
US20250142329A1 (en) Cross platform credential sharing
WO2021147745A1 (zh) 蓝牙连接方法、系统和电子设备
EP3069255B1 (en) Method and apparatus for connecting communication of electronic devices
CN112987581A (zh) 用于智能家居设备的控制方法及其介质和终端
CN111373713B (zh) 一种消息传输方法及设备
CN115001667A (zh) 密钥协商方法、系统、电子设备和计算机可读存储介质
US12380196B2 (en) Quick response codes for data transfer
WO2021135593A1 (zh) 一种分享设备的方法及电子设备
WO2022151974A1 (zh) 网站登录方法、通信系统和电子设备
WO2021093855A1 (zh) 一种移动设备管理方法及设备
CN114697058B (zh) 一种身份认证方法、电子设备及计算机可读存储介质
CN114205822B (zh) 一种IoT设备及其授权方法
EP4465667A1 (en) Offline device control method and related apparatus
CN118114284A (zh) 一种访问控制方法、系统、发送端设备和接收端设备
CN117332398A (zh) 签发设备证书的方法、设备和系统
CN116028916A (zh) 一种设备控制方法与相关设备
CN117641359B (zh) 数据处理方法及电子设备
EP4336801B1 (en) Device control method and apparatus
CA2825321C (en) Methods and apparatus for use in sharing credentials amongst a plurality of mobile communication devices
CN117641307A (zh) 一种查找终端的方法、终端以及系统
CN115913600A (zh) 用于标识设备的方法、装置、电子设备和介质
CN116782186A (zh) 离线设备控制方法及相关装置

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
CP03 Change of name, title or address

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Terminal Co.,Ltd.

Country or region after: China

Address before: 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong

Patentee before: Honor Device Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address