CN110933672A - 一种密钥协商方法及电子设备 - Google Patents
一种密钥协商方法及电子设备 Download PDFInfo
- Publication number
- CN110933672A CN110933672A CN201911207543.XA CN201911207543A CN110933672A CN 110933672 A CN110933672 A CN 110933672A CN 201911207543 A CN201911207543 A CN 201911207543A CN 110933672 A CN110933672 A CN 110933672A
- Authority
- CN
- China
- Prior art keywords
- iot
- control device
- key
- session
- public key
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
- G16Y30/10—Security thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/009—Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/047—Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/108—Source integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
一种密钥协商方法及电子设备,涉及通信技术领域。具体的,该方法包括:IoT控制设备在第一局域网内组播携带有第一公钥的发现消息,并在接收到第一密文和第二公钥后,向第一IoT设备发送第二密文。IoT控制设备接收到来自第一IoT设备的第三密文后,根据第一会话密钥对第三密文解密,得到第二签名和第二会话信息;并基于第一IoT设备的长效公钥验证第二签名;在第二签名验证成功后,基于第一会话密钥与第一IoT设备进行加密通信。这种技术方案,由于IoT控制设备将第一公钥携带在发现消息中,使得STS协商过程融入到发现过程中,从而有助于减小IoT设备与IoT控制设备之间消息交互的次数,提高得到会话密钥的效率。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种密钥协商方法及电子设备。
背景技术
物联网(internet of thing,IoT)设备接入网络后,用户通过手机上安装的IoT应用程序(以下简称为IoT应用)可以实现对IoT设备的控制。以IoT设备为智能台灯为例,用户通过对手机上安装的IoT应用进行相应的操作,使得手机可以响应于用户的操作,向智能台灯发送控制指令,从而实现对智能台灯的控制,如控制智能台灯打开或关闭等。
为了保障手机与IoT设备之间通信的安全性,通常使用会话密钥在手机和IoT设备之间进行加密通信。然而,现有技术中,会话密钥是手机在发现IoT设备后,通过与IoT设备进行端到端(station to station,STS)协商得到的,这种得到会话密钥的方式效率较低。
发明内容
本申请提供了一种密钥协商方法及电子设备,减小了IoT设备与IoT控制设备之间消息交互的次数,从而提高得到会话密钥的效率。
第一方面,本申请实施例提供了一种密钥协商方法,具体包括:
IoT控制设备在第一局域网内组播发现消息。其中,发现消息包括第一公钥,第一局域网为IoT控制设备已接入的网络,第一公钥是根据第一随机数得到的。
第一IoT设备接收到来自IoT控制设备的发现消息,向IoT控制设备发送发现响应。发现响应包括第一密文和第二公钥,第一密文是基于第一会话密钥对第一IoT设备的设备信息加密得到的,第二公钥是根据第二随机数得到的,第一会话密钥是第一IoT设备根据第二随机数和第一公钥得到的。
IoT控制设备接收到来自第一IoT设备的发现响应后,向第一IoT设备发送第二密文。第二密文为根据第一会话密钥对第一签名加密得到的,第一签名为基于IoT控制设备的长效私钥对第一会话信息的签名,第一会话信息包括第一公钥和第二公钥,第一会话密钥是IoT控制设备根据第一随机数和第二公钥得到的。
第一IoT设备接收到来自IoT控制设备发送的第二密文后,根据第一会话密钥对第二密文解密,得到第一签名。并在第一IoT设备根据IoT控制设备的长效公钥对第一签名验证通过后,向IoT控制设备发送第三密文。第三密文是基于第一会话密钥对第二签名和第二会话信息加密得到的,第二签名为基于IoT设备的长效私钥对第三会话信息的签名,第三会话信息包括第二公钥和第一公钥,第二会话信息包括会话标识ID。
IoT控制设备接收到来自第一IoT设备的第三密文后,根据第一会话密钥对第三密文解密,得到第二签名和第二会话信息;并基于第一IoT设备的长效公钥验证第二签名;在第二签名验证成功后,IoT控制设备保存第一会话密钥和第二会话信息。
最后,IoT控制设备基于第一会话密钥与第一IoT设备进行加密通信。
本申请实施例中,由于IoT控制设备将第一公钥携带在发现消息中组播给IoT设备,使得STS协商过程融入到发现过程中,既有助于减小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设备与IoT控制设备之间的会话信息未丢失,则IoT控制设备和第一IoT设备基于第二会话密钥进行加密通信,从而有助于进一步降低消息交互的次数,提高会话密钥协商的效率。
在一种可能的设计中,第一信息还包括第四会话信息,第四会话信息包括已存储的与第一IoT设备之间的会话ID。以便于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控制设备还用于接收来自第一IoT设备的第三密文,并根据第一会话密钥对第三密文解密,得到第二签名和第二会话信息;然后基于第一IoT设备的长效公钥验证第二签名;在第二签名验证成功后,保存第一会话密钥和第二会话信息。最后基于第一会话密钥与第一IoT设备进行加密通信。
第一IoT设备用于:接收来自IoT控制设备的发现消息,并向IoT控制设备发送发现响应;以及接收到来自IoT控制设备发送的第二密文,然后根据第一会话密钥对第二密文解密,得到第一签名。并在第一IoT设备根据IoT控制设备的长效公钥对第一签名验证通过后,向IoT控制设备发送第三密文。第三密文是基于第一会话密钥对第二签名和第二会话信息加密得到的,第二签名为基于IoT设备的长效私钥对第三会话信息的签名,第三会话信息包括第二公钥和第一公钥,第二会话信息包括会话标识ID。
第三方面,本申请实施例提供了一种电子设备,包括处理器、存储器和收发器;处理器与存储器、收发器耦合。其中,存储器存储有程序指令;处理器用于读取并执行存储器中存储的程序指令。当所述程序指令被所述处理器执行时,使得电子设备实现本申请实施例上述第一方面及其任一可能的设计的方法中IoT控制设备或IoT设备执行的步骤。
第四方面,本申请实施例提供了一种电子设备,包括执行上述第一方面及其任一可能的设计的方法中IoT控制设备或IoT设备执行的步骤的装置。
第五方面,本申请实施例提供的一种计算机可读存储介质,该计算机可读存储介质存储有程序指令,当程序指令在电子设备上运行时,使得电子设备执行本申请实施例上述第一方面及其任一可能的设计的方法中IoT控制设备或IoT设备执行的步骤。
第六方面,本申请实施例提供的一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备本申请实施例上述第一方面及其任一可能的设计的方法中IoT控制设备或IoT设备执行的步骤。
第七方面,本申请实施例提供的一种芯片,芯片与电子设备中的存储器耦合,控制电子设备执行本申请实施例上述第一方面及其任一可能的设计的方法中IoT控制设备或IoT设备执行的步骤。
另外,第二方面至第七方面所带来的技术效果可参见上述方法部分各设计的方法相关的描述,此处不再赘述。
需要说明的是,本申请实施例中“耦合”是指两个部件彼此直接或间接地结合。
附图说明
图1为本申请实施例中一种IoT控制设备控制IoT设备的场景;
图2为本申请实施例中另一种IoT控制设备控制IoT设备的场景;
图3为本申请实施例的一种密钥协商方法的流程示意图;
图4为本申请实施例的一种网络架构的示意图;
图5为本申请实施例的另一种密钥协商方法的流程示意图;
图6为本申请实施例的一种IoT设备绑定的流程的示意图;
图7为本申请实施例的一种用户界面的示意图;
图8为本申请实施例的另一种用户界面的示意图;
图9为本申请实施例另一种用户界面的示意图;
图10为本申请实施例的另一种密钥协商方法的流程示意图;
图11为本申请实施例的一种电子设备的结构示意图;
图12为本申请实施例一种通信系统的示意图。
具体实施方式
应理解,本申请中除非另有说明,“/”表示或的意思。例如,A/B可以表示A或B。本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B三种情况。“至少一个”是指一个或者多个。“多个”是指两个或多于两个。例如,a、b或c中的至少一个,可以表示:a,b,c,a和b,a和c,b和c,a、b和c七种情况。
在本申请中,“示例的”、“在一些实施例中”、“在另一些实施例中”等用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
另外,本申请中涉及的“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,也不能理解为指示或暗示顺序。
用户可以使用安装有IoT应用的电子设备实现对IoT设备的控制。以下将安装有IoT应用的电子设备称之为IoT控制设备。示例的,IoT控制设备可以为手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等便携式电子设备。又示例的,IoT控制设备还可以为台式电脑、智慧屏等,本申请实施例中对IoT控制设备的具体类型不作限定。需要说明的是,智慧屏不同于传统电视,是一种新型的大屏产品,除了可以实现影音播放外,智慧屏承担了家庭中的更多角色,例如,智慧屏可以为智能家居设备、手机等智能设备的交互中心、信息共享中心和控制管理中心。
在本申请中,IoT设备可以为智能家居设备,例如,智能音箱、智能台灯、智能空调、智能冰箱、智能窗帘等。此外,IoT设备也可以为车载设备、可穿戴设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备等智能设备,本申请实施例对IoT设备的具体类型不作限定。
具体的,IoT控制设备通过向IoT设备发送控制指令,实现对IoT设备的控制。通常,IoT设备是响应于用户对IoT应用的操作,向IoT设备发送控制指令的。需要说明的是,不同类型的IoT设备的控制指令可以相同,也可以不同。例如,对于智能音箱来说,控制指令可以包括播放指令、暂停播放指令、音量调节指令、播放进度调节指令、或播放内容切换指令等。再例如,对于智能台灯来说,控制指令可以包括开灯指令、关灯指令、或亮度调节指令等。
另外,IoT设备还可以向IoT控制设备上报设备状态信息,使得IoT控制设备可以向用户呈现IoT设备的当前状态。其中,设备状态信息用于指示IoT设备的当前状态。例如IoT设备的当前状态可以包括当前IoT设备的运行状态、当前IoT设备的使用状态等。
以智能音箱为例。IoT控制设备向智能音箱发送播放指令。智能音箱在暂停播放状态下,接收到IoT控制设备发送的播放指令后,响应于播放指令而播放相应的内容,从而使得智能音箱的当前状态变为播放状态。智能音箱在当前状态由暂停播放状态变为播放状态时,可以向IoT控制设备上报设备状态信息。其中,设备状态信息用于指示智能音箱的当前状态为播放状态。IoT控制设备接收到智能音箱上报的设备状态信息后,可以根据该设备状态信息,更新向用户呈现的智能音箱的当前状态。
对于IoT控制设备和IoT设备分别与云服务器连接的场景,如图1所示,IoT控制设备通过云服务器向IoT设备发送控制指令,IoT设备通过云服务器向IoT控制设备发送设备状态信息。虽然在这种场景下,无论IoT设备是否与IoT控制设备在同一局域网内,用户均可以使用IoT控制设备实现对IoT设备的控制,但是由于控制信令和设备状态信息均需要通过云服务器转发,容易导致控制命令的执行和设备状态信息的接收的时延较高、成功率较差。
为此,提出了本地控制的IoT解决方案。在本地控制的IoT解决方案中,IoT控制设备和IoT设备通常在同一局域网内,如图2所示,IoT控制设备和IoT设备之间控制信令和设备状态信息的交互可以无需云服务器的转发,从而有助于降低控制命令的执行和设备状态信息的接收的时延。示例的,本申请中涉及的局域网可以为WiFi网络、也可以为有线网络。
具体的,IoT控制设备和IoT设备在同一局域网内,可以理解为:IoT控制设备和IoT设备连接到同一路由器上。此外,需要说明的是,在本地控制的IoT解决方案中,IoT控制设备和IoT设备也可以不在同一局域网内,例如,IoT控制设备在第一局域网内,连接到第一路由器上,IoT设备在第二局域网内,连接到第二路由器上,其中,第一路由器与第二路由器是互通的。应理解,第一路由器与第二路由器是互通的,可以理解为:第一路由器与第二路由器之间可以进行消息交互,其中,第一路由器与第二路由器之间信息交互包括组播消息的交互。
以IoT控制设备在第一局域网内为例。在本地控制的IoT解决方案中,IoT控制设备通过发起IoT设备发现流程,来发现IoT设备,进而实现与IoT设备之间的通信。此外,为了保证IoT控制设备与IoT设备之间通信的安全性,通常使用会话密钥在IoT控制设备和IoT设备之间进行加密通信。示例的,会话密钥可以是IoT控制设备在发现IoT设备后,基于端到端(Station to Station,STS)协议协商得到的。具体流程如图3所示,包括以下步骤:
步骤301、IoT控制设备在第一局域网内组播发现消息。其中,第一局域网为IoT控制设备当前已接入的网络。例如,IoT控制设备可以基于用户数据报协议(user datagramprotocol,UDP)或多播域名系统(multicast domain name system,mDNS)协议,在第一局域网内组播发现消息。
可以理解的是,发现消息又可以称之为探测消息、设备发现消息、或设备探测消息等。示例的,发现消息中可以包括IoT控制设备的相关信息,例如,IoT控制设备的设备标识(identity,ID)、IP地址、用户ID等。
步骤302、IoT设备1接收到发现消息后,向IoT控制设备返回IoT设备1的设备信息。
示例的,IoT设备1可以将IoT设备1的设备信息可以携带在发现响应中返回给IoT控制设备。其中,发现响应又可以称之为探测响应、设备发现响应、或设备探测响应等。
具体的,本申请实施例中的IoT设备1的设备信息可以包括设备ID、设备类型、互联网协议(internet protocol,IP)地址、端口号等中的一个或多个。例如,IoT设备1的设备信息包括设备ID。再例如,IoT设备1的设备信息包括IP地址。再例如,IoT设备1的设备信息包括设备ID、设备类型和IP地址。又比例如,IoT设备1的设备信息包括设备ID、设备类型、IP地址和端口号。
需要说明的是,设备类型可以包括电视、音箱、空调、电灯、冰箱等。例如,IoT设备1为智能台灯,IoT设备1的类型为电灯。再例如,IoT设备1为智能冰箱,IoT设备1的类型为冰箱。
步骤303、IoT控制设备接收到IoT设备1的设备信息后,向IoT设备1发送公钥K0。其中,公钥K0是根据随机数L0生成的。
需要说明的是,在本申请实施例中,随机数L0又可以称之为私钥,与公钥K0组成一个密钥对。示例的,本申请实施例中IoT控制设备可以将随机数L0作为函数f()的输入,则将函数f()的输出作为公钥K0。函数f()可以为指数函数、幂函数、二次函数、三次函数等,对此不作限定。以函数f()为y=gx为例,随机数L0为x0时,公钥K0为y0,其中,y0=gx0。其中,函数f()可以是通过协议定义的,也可以是IoT控制设备基于某一策略或算法确定的,对此不作限定。
步骤304,IoT设备1接收到公钥K0后,根据公钥K0和随机数L1生成会话密钥H1。以及IoT设备1使用IoT设备1的长效私钥S1对会话信息1签名,得到签名1。会话信息1包括公钥K1和公钥K0,公钥K1是根据随机数L1生成的。然后,IoT设备1使用会话密钥H1对签名1加密得到密文(ciphertext)1。
示例的,会话信息1包括(公钥K1,公钥K0)。
需要说明的是,随机数L1与公钥K1组成一个密钥对,其中,IoT设备1根据随机数L1生成公钥K1的方式可以参见根据随机数L0生成公钥K0的方式,在此不再赘述。
其中,IoT设备1的长效私钥S1的有效期大于或等于某一阈值,例如,IoT设备1的长效私钥S1可以长期有效,可以是在设备出厂之前配置好的。需要说明的是,IoT设备1中与长效私钥S1对应的长效公钥G1的有效期相同,也可以是在设备出厂之前配置好的。
步骤305,IoT设备1向IoT控制设备发送公钥K1和密文1。
步骤306,IoT控制设备接收到公钥K1和密文1后,根据公钥K1和随机数L0生成会话密钥H1。然后,IoT控制设备使用会话密钥H1对密文1解密,得到签名1。IoT控制设备使用IoT设备1的长效公钥G1验证签名1。并在签名1验证通过后,IoT控制设备使用IoT控制设备的长效私钥S0对会话信息2签名,得到签名2,并使用会话密钥H1对签名2加密,得到密文2。其中,会话信息2包括公钥K0和公钥K1。例如,会话信息2包括(公钥K0,公钥K1)。
具体的,IoT控制设备的长效私钥S0的有效期大于或等于某一阈值。例如,IoT控制设备的长效私钥S0可以长期有效,可以是在设备出厂之前配置好的。需要说明的是,IoT控制设备中与长效私钥S0对应的长效公钥G0的有效期相同,也可以是设备出厂之前配置好的。
步骤307,IoT控制设备向IoT设备1发送密文2。
步骤308,IoT设备1接收到密文2后,使用会话密钥H1对密文2解密,得到签名2。然后,IoT设备1使用IoT控制设备的长效公钥G0验证签名2。
步骤309,IoT设备1对签名2验证通过后,向IoT控制设备发送会话信息3。示例的,IoT设备1可以先使用会话密钥H1对会话信息3加密后,再发送给IoT控制设备,提高会话信息3发送的安全性。
例如,会话信息3可以包括会话ID等。其中,IoT控制设备接收到IoT设备1发送的会话信息3后,则IoT控制设备和IoT设备1可以使用会话密钥H1进行加密通信。
例如,IoT控制设备使用会话密钥H1对控制指令加密后,发送给IoT设备1。
需要说明的是,对于IoT设备1来说,步骤301和步骤302为IoT设备的发现过程。步骤303~步骤309为一个STS协商过程。而其它IoT设备(如IoT设备2、或IoT设备n)如果接收到IoT控制设备在第一局域网内组播的发现消息,也向IoT控制设备返回自身的设备信息,则在IoT控制设备与其它IoT设备之间也可以执行STS协商过程,得到IoT控制设备与其它IoT设备之间通信所使用的会话密钥。而IoT控制设备与其它IoT设备之间的STS协商过程,可以参见IoT控制设备与IoT设备1之间的STS协商过程,在此不再赘述。
由于图3所示的方法中,IoT控制设备是在发现IoT设备后,执行STS协商过程,得到会话密钥,从而实现IoT控制设备与IoT设备之间的加密通信。因此,这种得到会话密钥的方式效率较低。此外,在IoT设备的发现过程中,IoT设备在接收到IoT控制设备发送的发现消息后,向IoT控制设备返回的设备信息为明文,使得IoT设备的设备信息容易暴露在网络中,可能会造成攻击者对IoT设备进行攻击。
有鉴于此,本申请实施例提供了一种密钥协商方法,通过将STS协商过程融入到发现过程中,不但有助于减小IoT设备与IoT控制设备之间消息交互的次数,提高得到会话密钥的效率,而且发现过程中,IoT设备还可以通过会话密钥对设备信息加密后,再发送给IoT控制设备,从而有助于降低IoT设备的设备信息暴露在网络中带来的被攻击的风险。
示例的,如图4所示,为本申请实施例适用的一种网络架构示意图,包括IoT控制设备、路由器和IoT设备。需要说明的是,本申请实施例中,IoT设备与路由器的连接方式可以为无线连接,也可以为有线连接。而IoT控制设备与路由器的连接方式可以为无线连接,也可以为有线连接。
应理解,图4仅为本申请实施例适用的一个网络架构的举例说明,并不构成对本申请实施例所适用的网络架构的限定。
具体的,如图5所示,为本申请实施例的一种密钥协商方法的流程示意图,具体包括以下步骤:
步骤501,IoT控制设备在第一局域网内组播发现消息。其中,第一局域网为IoT控制设备已接入的网络。发现消息中包括公钥K0。公钥K0是根据随机数L0生成的。
其中,IoT控制设备根据随机数L0生成公钥K0的具体实现方式,可以参见步骤303中根据随机数L0生成公钥K0的实现方式的相关介绍,在此不再赘述。此外,发现消息中还可以包括IoT控制设备的相关信息,例如,IoT控制设备的设备ID、IP地址、用户ID等。
需要说明的是,IoT控制设备在第一局域网内组播发现消息的具体实现方式可以参见步骤301中的相关实现方式,在此不再赘述。
具体的,IoT控制设备可以周期性、和/或通过事件触发在第一局域网内组播发现消息。例如,IoT控制设备可以在开机后,检测到接入某一局域网(例如第一局域网),触发周期性在第一局域网内组播发现消息。此外,又示例的,触发在第一局域网内组播发现消息、或者触发周期性在第一局域网内组播发现消息的事件可以包括:IoT控制设备接入的网络由第二局域网切换到第一局域网、IoT控制设备绑定新的IoT设备、接收到第一局域网内的某一IoT设备发送的会话密钥协商指示(例如,IoT设备关机重启后向IoT控制设备发送会话密钥协商指示,比如该指示可以为某一特定的符号或序列等)、与IoT控制设备绑定的某一IoT设备的会话数量大于或等于系统限制的最大值、与IoT控制设备绑定的某一IoT设备的会话密钥的达到或即将达到有效期的截止期限。例如,会话密钥的有效期为30分钟,IoT控制设备存储该会话密钥的时刻为5:00,则会话密钥的有效期的截止期限为5:30。需要说明的是,IoT控制设备绑定的某一IoT设备的会话密钥即将达到有效期的截止期限,可以理解为:IoT控制设备绑定的某一IoT设备的会话密钥再经过第一时长后达到有效期的截止期限。第一时长可以是预定义的,也可以是IoT设备根据某一算法或策略确定的。例如,第一时长可以为2分钟、15秒等,对此不作限定。比如,会话密钥的有效期为10分钟,IoT控制设备存储该会话密钥的时刻为4:00,则会话密钥的有效期的截止期限为4:10。以第一时长为1分钟为例,IoT控制设备当达到4:09时,触发在第一局域网内组播发现消息。
需要说明的是,上述仅为触发IoT控制设备在第一局域网内组播发现消息的事件的举例说明,本申请实施例对此不作限定。
另外,在IoT设备周期性组播发现消息时,相邻周期内组播的发现消息中携带的公钥K0可以是不同的、或者不同周期内组播的发现消息中携带的公钥K0是不同的,从而有助于提高密钥协商的安全性。为了达到相邻或不同周期内发现消息中携带的公钥K0是不同的,相邻或不同周期内,IoT控制设备可以使用不同的随机数L0、和/或不同的算法生成公钥K0。
在一些实施例中,IoT控制设备将发现消息发送给的第一路由器,由第一路由器将发现消息组播给第一局域网内的一个或多个IoT设备。第一路由器为用于IoT控制设备接入第一局域网的路由器。
步骤502,IoT设备1接收到发现消息后,根据公钥K0和随机数L1生成会话密钥H1。然后,IoT设备1使用会话密钥H1对IoT设备1的设备信息加密,得到密文0。IoT设备1的设备信息可以参见图3中关于IoT设备1的设备信息的相关介绍,在此不再赘述。
需要说的是,IoT设备1可以在第一局域网内,也可以不在第一局域网内。即,IoT设备1接入的网络可以为第一局域网,也可以不为第一局域网,对此不作限定。
进一步的,IoT设备1接收到发现消息后,判断是否与IoT控制设备已绑定。IoT设备1在与IoT控制设备已绑定的情况下,根据公钥K0和随机数L1生成会话密钥H1,然后执行后续步骤。示例的,IoT设备1可以通过判断自身存储的用户ID与发现消息中携带的用户ID是否相同或相关联,来判断是否与IoT控制设备已绑定。例如,IoT设备1自身存储的用户ID与发现消息中携带的用户ID相同、或者相关联,则确定与IoT控制设备已绑定。又示例的,IoT设备1还可以通过判断是否存储有发现消息中携带的设备ID对应的长效公钥,来判断是否与IoT控制设备已绑定。
示例的,对于未与IoT控制设备绑定的IoT设备,如果接收到来自IoT控制设备的发现消息,在确定未与IoT控制设备绑定后,则将该发现消息视为无效消息,丢弃或忽略该发现消息。可以理解的是,通常用户在购买IoT设备后,通过对IoT控制设备操作,发起绑定IoT设备的流程,将IoT设备与IoT控制设备绑定,从而方便用户对IoT设备的控制。具体的,IoT设备1与IoT控制设备的绑定流程可以参见图6的相关介绍,在此不再赘述。
其中,IoT设备1根据公钥K0和随机数L1生成会话密钥H1所使用的算法可以为Diffie-Hellman算法、或者其他用于生成对称密钥的算法,对此不作限定。具体的,IoT设备1生成会话密钥H1所使用的算法可以是通过协议定义的,也可以是IoT控制设备和IoT设备1相互协商确定的,对此不作限定。
在一些实施例中,IoT设备1可以周期性、和/或通过事件触发接收发现消息。示例的,触发IoT设备1接收发现消息的事件可以为IoT设备1开机、IoT设备1切换接入的网络、IoT设备1与IoT控制设备完成绑定、IoT设备1与IoT控制设备间的会话密钥达到或即将达到有效期的截止期限、IoT设备1与IoT控制设备间的会话数量超过系统限制的最大值等。
步骤503,IoT设备1向IoT控制设备发送密文0和公钥K1。其中,公钥K1为IoT设备1根据随机数L1生成的。例如,IoT设备可以将密文0和公钥K1可以携带在发现响应中返回给IoT控制设备。
示例的,IoT设备1根据随机数L1生成公钥K1所使用的函数可以参见步骤303中关于函数f()的相关介绍,在此不在赘述。
在一些实施例中,IoT设备1将密文0和公钥K1发送给第二路由器,由第二路由器将密钥0和公钥K1发送给IoT控制设备。其中,第二路由器为用于IoT设备1接入局域网的路由器。需要说明的是,第二路由器与第一路由器为同一路由器时,IoT设备1在第一局域网内;第二路由器与第一路由器为互通的两个路由器时,IoT设备1不在第一局域网内,在这种情况下,由第二路由器可以先将密钥0和公钥K1发送给第一路由器,再由第一路由器将密钥0和公钥K1发送给IoT控制设备。
步骤504,IoT控制设备接收到密文0和公钥K1后,根据公钥K1和随机数L0生成会话密钥H1。然后,IoT控制设备使用会话密钥H1对密文0解密,得到IoT设备1的设备信息。IoT控制设备使用自身的长效私钥S0对会话信息1签名,得到签名1。IoT控制设备使用会话密钥1对签名1加密,得到密文1。其中,会话信息1包括公钥K0和公钥K1。例如,会话信息1包括(公钥K0,公钥K1)。
其中,IoT控制设备根据公钥K1和随机数L0生成会话密钥H1的所使用的算法与IoT设备1生成会话密钥H1所使用的算法通常是相同的,以达到IoT控制设备根据公钥K1和随机数L0生成的会话密钥H1、与IoT设备1根据公钥K0和随机数L1生成的会话密钥H1是相同的目的。示例的,IoT控制设备根据公钥K1和随机数L0生成会话密钥H1所使用的算法可以为Diffie-Hellman算法、或者其他用于生成对称密钥的算法,对此不作限定。
步骤505,IoT控制设备向IoT设备1发送密文1。
示例的,IoT控制设备将密文1发送给第一路由器,由第一路由器将密文1发送给IoT设备1。
步骤506,IoT设备1接收到密文1后,使用会话密钥H1对密文1解密,得到签名1。然后,IoT设备1使用IoT控制设备的长效公钥G0验证签名1。并在签名1验证通过后,使用IoT设备1的长效私钥S1对会话信息2签名,得到签名2。IoT设备1使用会话密钥对签名2和会话信息3加密,得到密文2。其中,会话信息2包括公钥K1和公钥K0。例如,会话信息2包括(公钥K1,公钥K0)。会话信息3包括会话ID。示例的,会话信息3还可以包括会话密钥1的有效期。例如,会话密钥1的有效期可以为12小时、1天、7天等,可以是预定义的,也可以是IoT设备1根据某一算法或策略确定的,对此不作限定。进一步的,在另一些实施例中,会话信息3还可以包括会话连接方式、传输协议、认证方式等中的一个或多个,对此不作限定。
步骤507,IoT设备1向IoT控制设备发送密文2。
示例的,IoT设备1将密文2发送给第二路由器,由第二路由器将密文2发送给IoT控制设备。
步骤508,IoT控制设备接收到密文2后,使用会话密钥H1对密文2解密,得到签名2和会话信息3。然后,IoT控制设备使用IoT设备1的长效公钥G1验证签名2。在签名2验证通过后,IoT控制设备保存会话信息3和会话密钥H1。从而后续基于会话密钥H1可以实现IoT控制设备与IoT设备1之间的加密通信。其中,IoT设备1的长效公钥G1是IoT控制设备根据IoT设备1的设备信息(例如IoT设备1的设备ID)查找到的。
本申请实施例中,虽然第一局域网内的IoT设备从发现消息中获取的公钥是相同的,但是由于不同IoT设备生成会话密钥时所使用的随机数相同的可能性较小,因此不同IoT设备的会话密钥也是不同的,因而通过本申请实施例密钥协商方法得到的会话密钥进行加密通信时,并未降低通信的安全性。
以IoT设备1为例,对IoT设备与IoT控制设备的绑定流程进行介绍,示例的,如图6所示,具体包括以下步骤。
步骤601,IoT控制设备接收到第一操作。第一操作用于输入IoT设备1的个人身份识别码(personal identification number,PIN)。
步骤602,IoT控制设备响应于第一操作结束,获取到IoT设备1的PIN,向IoT设备1发送设备绑定请求。
例如,第一操作可以为用户输入IoT设备1的PIN的操作,或者扫描IoT设备1的二维码的操作等。示例的,IoT控制设备在显示屏上显示主界面,主界面上包括IoT应用的图标。例如,主界面为如图7所示的界面700。IoT控制设备可以响应于用户点击IoT应用的图标701的操作,在显示屏上显示IoT应用的界面。例如,IoT应用的界面如图7中所示的界面710。界面710上包括添加IoT设备的控件711。IoT控制设备可以响应于用户点击IoT设备的控件711显示界面720。其中,界面720包括控件721和控件722。进一步的,IoT控制设备在IoT应用的用户账号处于登录状态的情况下,响应于用户点击IoT设备的控件711显示界面720。示例的,IoT控制设备在IoT应用的用户账号处于未登录状态时,提示用户注册或登录用户账号。例如,IoT控制设备响应于用户点击IoT设备的控件711显示登录界面。比如,登录界面如图8所示,包括用户账号输入框801和登录密码输入框802,以及其它登录方式控件803、和注册控件804等。用户可以通过在用户账号输入框801输入用户账号,在登录密码输入框输入登录密码,从而使得IoT应用的用户账号处于登录状态。其中,用户账号可以为手机号、邮箱、或昵称等,为一种用户ID。
IoT设备响应于用户点击控件721,在显示屏显示界面730。界面730包括PIN输入框。用户可以在PIN输入框中输入IoT设备的PIN。IoT控制设备可以从PIN输入框中获取IoT设备1的PIN。或者,IoT设备响应于用户点击控件722,在显示屏显示界面740。界面740包括扫描框。用户可以通过在扫描框中扫描IoT设备1的二维码,获取IoT设备1的PIN。
在另一些实施例中,IoT控制设备还可以响应于用户点击IoT设备的控件711,显示界面730或界面740。
需要说明的是,本申请实施例还可以通过其他操作,显示IoT设备1的PIN的输入界面或二维码扫描界面。例如语音指令、或快捷手势操作等。
步骤603,IoT设备1接收到设备绑定请求后,向IoT控制设备发送随机数(salt,又可称之为加盐值)。
步骤604,IoT控制设备接收到随机数(salt),向IoT设备1发送公钥A,其中公钥A和私钥A为一个密钥对,是由IoT控制设备根据随机数(salt)和IoT设备1的PIN生成的。
示例的,IoT控制设备根据随机数(salt)和IoT设备1的PIN,基于口令的认证密钥协商(PAKE)协议,生成公钥A和私钥A。
步骤605,IoT设备1向IoT控制设备发送公钥B。其中,公钥B和私钥B为另一个密钥对,是由IoT设备1根据随机数(salt)和IoT设备1的PIN生成的。
步骤606,IoT控制设备接收到公钥B后,根据公钥B和私钥A生成共享密钥。然后,IoT控制设备使用共享密钥,对IoT控制设备的长效公钥G0加密,得到IoT控制设备的长效公钥G0的密文。
步骤607,IoT控制设备向IoT设备1发送IoT控制设备的长效公钥G0的密文。
步骤608,IoT设备1接收到公钥A后,根据公钥A和私钥B生成共享密钥。然后,IoT设备1使用共享密钥对IoT设备1的长效公钥G1加密,得到IoT设备1的长效公钥G1的密文。
步骤609,IoT设备1向IoT控制设备发送IoT设备1的长效公钥G1的密文。
步骤610,IoT设备1接收到IoT控制设备的长效公钥G0的密文后,根据共享密钥对IoT控制设备的长效公钥G0的密文解密,得到IoT控制设备的长效公钥G0,并在本地保存IoT控制设备的长效公钥G0。
步骤611,IoT控制设备接收到IoT设备1的长效公钥G1的密文后,根据共享密钥对IoT设备1的长效公钥G1的密文解密,得到IoT设备1的长效公钥G1,并在本地保存IoT设备1的长效公钥G1。从而完成IoT控制设备与IoT设备1的绑定。
需要说明的是,步骤603和步骤605、步骤604和步骤605没有必然的先后顺序,但步骤603在步骤604之前。
在一些实施例中,IoT控制设备还可以绑定IoT设备1后,在IoT应用的界面上增加IoT设备1的卡片。例如,IoT应用的界面为如图9所示的界面900,包括IoT设备1的卡片901。用户可以通过对IoT设备1的卡片900上的控件的操作可以实现对设备的开启或关闭。进一步的,用户还可以通过对IoT设备的卡片901的操作,在显示屏上显示包括IoT设备1的控件的详细界面。用户可以对该界面上相关控件的操作,使得IoT控制设备向IoT设备1发送控制指令,达到对IoT设备的控制。
另外,需要说明的是,对于IoT控制设备、和IoT设备1来说,长效公钥和长效私钥可以是设备出厂之前预先配置在设备中的。
此外,对于IoT设备中的会话信息(例如会话ID等)未丢失,且会话密钥仍在有效期内的场景,本申请实施例中还提供了一种密钥协商方法,有助于减少IoT设备与IoT控制设备的密钥协商步骤,提高密钥协商效率。
示例的,如图10所示,为本申请实施例的另一种密钥协商方法,具体包括以下步骤:
步骤1001,IoT控制设备在第一局域网内组播发现消息。发现消息中包括公钥K2。公钥K2是根据随机数L2生成的,第一局域网为IoT控制设备已接入的网络。
其中,步骤1001可以参见步骤501的相关介绍,在此不再赘述。
步骤1002,IoT设备1接收到发现消息后,根据公钥K2和随机数L3生成会话密钥H2。若IoT设备1中存储的与IoT控制设备间的会话密钥H0仍在有效期内,且IoT设备1与IoT控制设备间会话信息未丢失,则使用会话密钥H2对IoT设备1的第一信息加密,得到密文3。
其中,第一信息包括IoT设备1的设备信息。此外,第一信息还可以包括IoT设备1中已存储的与IoT控制设备间的会话信息,或其它相关信息。例如,第一信息中包括的会话信息可以为会话ID等信息。
具体的,IoT设备1的设备信息、生成会话密钥H2等的相关介绍可以参见上述实施例中的相关介绍,在此不再赘述。
在一些实施例中,若IoT设备1中存储的与IoT设备间的会话密钥H1不在有效期内、或会话信息丢失,IoT设备1使用会话密钥H2对IoT设备1的设备信息加密,得到密文0,然后执行步骤503及其后续步骤。
示例的,IoT设备1可以通过判断与IoT控制设备间的会话数量是否大于或等于系统限制的最大值,来判断与IoT控制设备间的会话信息是否丢失。例如,若IoT设备1与IoT控制设备间的会话数量大于或等于系统限制的最大值,则确定与IoT控制设备间的会话信息丢失。再例如,若IoT设备1与IoT控制设备间的会话数量小于系统限制的最大值,则确定与IoT控制设备间的会话信息未丢失。
步骤1003,IoT设备1向IoT控制设备发送密文3、以及公钥K3。其中,公钥K3是根据随机数L3生成的。
步骤1004,IoT控制设备接收到密文3和公钥K3后,根据公钥K3和随机数L2生成会话密钥H2。然后,IoT控制设备使用会话密钥H2对密文3解密,得到第一信息。若IoT控制设备中存储的与IoT设备1之间的会话密钥H0仍在有效期内,且IoT控制设备与IoT设备1间会话信息未丢失,则确定完成密钥协商。
后续基于会话密钥H0,实现IoT控制设备与IoT设备1之间的加密通信。
在一些实施例中,IoT控制设备若与IoT设备1间会话信息丢失,则使用IoT控制设备的长效私钥S0对会话信息A签名,得到签名A。会话信息A包括公钥K2和公钥K3,例如,会话信息A包括(公钥K2和公钥K3)。然后,IoT控制设备使用会话密钥H2对签名A加密,得到密文A,并将密文A发送给IoT设备1。而IoT设备1接收到密文A后,使用会话密钥H2对密文A解密,得到签名A。再使用IoT控制设备的长效公钥G0对签名A验证。IoT设备1在对签名A验证通过后,使用IoT1设备的长效私钥S1对会话信息B签名,得到签名B。会话信息B包括公钥K3和公钥K2,例如,会话信息B包括(公钥K3,公钥K2)。IoT设备1使用会话密钥H2对签名B2和会话信息C加密,得到密文B。会话信息C可参见上述会话信息3的相关介绍。IoT设备1将密文B发送给IoT控制设备。IoT控制设备接收到密文B后,使用会话密钥H2对密文B解密,得到签名B和会话信息C。IoT控制设备再使用IoT设备1的长效公钥G1对签名B验证。在对签名B验证通过后,保存会话密钥H2和会话信息C。从而后续基于会话密钥H2可以实现IoT控制设备与IoT设备1之间的加密通信。
以上各个实施例可以单独使用,也可以相互结合使用,对此不作限定。
上述本申请提供的实施例中,从电子设备作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
基于相同的构思,图11所示为本申请提供的一种电子设备1100。示例的,电子设备1100包括至少一个处理器1110和存储器1120。其中,处理器1110与存储器1120耦合,本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。
具体的,存储器1120用于存储程序指令。处理器1110用于读取存储器1 120中存储的程序指令时,使得电子设备1100执行本申请实施例的密钥协商方法。例如,处理器1110调用存储器1120中存储的程序指令时,使得电子设备1100执行图5或图10所示的密钥协商方法中IoT控制设备或IoT设备1所执行的步骤。
在一些实施例中,电子设备1100还包括收发器1130。例如,电子设备1100执行图5或图10所示的方法中IoT控制设备所执行的步骤时,收发器1130可以用于组播发现消息,接收来自IoT设备的发现响应等。再例如,电子设备1100执行图5或图10所示的方法中IoT设备1所执行的步骤时,收发器1130可以用于接收发现消息,向IoT控制设备发送发现响应等。
应理解,该电子设备1100可以用于实现本申请实施例的密钥协商方法,相关特征可以参照上文,此处不再赘述。
此外,本申请实施例还提供了一种通信系统,如图12所示,包括IoT控制设备1201和一个或多个IoT设备1202,其中,IoT控制设备1201用于执行本申请实施例密钥协商方法中由IoT控制设备执行的步骤,例如,IoT控制设备1201执行图5或图10所示的密钥协商方法中由IoT控制设备执行的步骤。IoT设备1202用于指示本申请实施例密钥协商方法中由IoT设备1执行的步骤。例如,IoT设备1202执行图5或图10所示的密钥协商方法中由IoT设备1执行的步骤。具体实现可参见方法部分的相关介绍,在此不再赘述。
所属领域的技术人员可以清楚地了解到本申请实施例可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、电可擦可编程只读存储器(electrically erasableprogrammable read only memory,EEPROM)、只读光盘(compact disc read-Only memory,CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(digital subscriber line,DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本申请实施例所使用的,盘(disk)和碟(disc)包括压缩光碟(compact disc,CD)、激光碟、光碟、数字通用光碟(digital video disc,DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡根据本申请的揭露,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (17)
1.一种密钥协商方法,其特征在于,所述方法包括:
物联网IoT控制设备在第一局域网内组播发现消息,所述发现消息包括第一公钥,所述第一局域网为所述IoT控制设备已接入的网络,所述第一公钥是根据第一随机数得到的;
所述IoT控制设备接收来自第一IoT设备的发现响应,所述发现响应包括第一密文和第二公钥,其中第一密文是基于第一会话密钥对所述第一IoT设备的设备信息加密得到的,所述第二公钥是根据第二随机数得到的;
所述IoT控制设备向所述第一IoT设备发送第二密文;所述第二密文为根据所述第一会话密钥对第一签名加密得到的,所述第一签名为基于所述IoT控制设备的长效私钥对第一会话信息的签名,所述第一会话信息包括所述第一公钥和所述第二公钥,所述第一会话密钥是根据所述第一随机数和所述第二公钥得到的;
所述IoT控制设备接收所述第一IoT设备发送的第三密文;所述第三密文是基于所述第一会话密钥对第二签名和第二会话信息加密得到的;所述第二签名为基于所述第一IoT设备的长效私钥对第三会话信息的签名;所述第三会话信息包括所述第二公钥和所述第一公钥,所述第二会话信息包括会话标识ID;
所述IoT控制设备根据所述第一会话密钥对所述第三密文解密,得到所述第二签名和所述第二会话信息;并基于所述第一IoT设备的长效公钥验证所述第二签名;
所述IoT控制设备在所述第二签名验证成功后,保存所述第一会话密钥和所述第二会话信息;
所述IoT控制设备基于所述第一会话密钥与所述第一IoT设备进行加密通信。
2.如权利要求1所述的方法,其特征在于,所述第二会话信息还包括所述第一会话密钥的有效期。
3.如权利要求1或2所述的方法,其特征在于,所述IoT控制设备在第一局域网内组播发现消息之后,所述方法还包括:
所述IoT控制设备接收到所述第一IoT设备发送的第四密文;所述第四密文为基于所述第一会话密钥对第一信息加密得到的,所述第一信息包括所述第一IoT设备的设备信息;
所述IoT控制设备确定已存储的与所述第一IoT设备之间的第二会话密钥在有效期内、或者已存储的与所述第一IoT设备之间的会话信息未丢失,则基于所述第二会话密钥与所述第一IoT设备进行加密通信。
4.如权利要求3所述的方法,其特征在于,所述第一信息还包括第四会话信息,所述第四会话信息包括已存储的与所述第一IoT设备之间的会话ID。
5.如权利要求1至4任一所述的方法,其特征在于,所述IoT控制设备在第一局域网内组播发现消息,包括:
所述IoT控制设备在所述第一局域网内周期性组播发现消息;和/或,
所述IoT控制设备当由第二局域网切换到所述第一局域网时,在第一局域网内组播发现消息;和/或,
所述IoT控制设备当绑定新的IoT设备时,在第一局域网内组播发现消息;和/或,
所述IoT控制设备当第二IoT设备的会话密钥达到有效期的截止期限时,在第一局域网内组播发现消息。
6.如权利要求1至5任一所述的方法,其特征在于,所述第一IoT设备在第二局域网内。
7.一种密钥协商方法,其特征在于,所述方法包括:
物联网IoT设备接收来自第一局域网内的IoT控制设备组播的发现消息,所述发现消息包括第一公钥,所述第一局域网为所述IoT控制设备已接入的网络,所述第一公钥是根据第一随机数得到的;
所述IoT设备向所述IoT控制设备发送发现响应,所述发现响应包括第一密文和第二公钥,其中第一密文是基于第一会话密钥对所述IoT设备的设备信息加密得到的,所述第一会话密钥是根据所述第一公钥和第二随机数得到的,所述第二公钥是根据所述第二随机数得到的;
所述IoT设备接收所述IoT控制设备发送的第二密文,所述第二密文是基于所述第一会话密钥对所述第一签名加密得到的,所述第一签名为根据所述IoT控制设备的长效私钥对第一会话信息的签名,所述第一会话信息包括所述第一公钥和所述第二公钥;
所述IoT设备根据所述第一会话密钥对所述第二密文解密,得到所述第一签名,并在根据所述IoT控制设备的长效公钥对所述第一签名验证通过后,向所述IoT控制设备发送第三密文;
所述第三密文是基于所述第一会话密钥对第二签名和第二会话信息加密得到的;所述第二签名为基于所述IoT设备的长效私钥对第三会话信息的签名,所述第三会话信息包括所述第二公钥和所述第一公钥,所述第二会话信息包括会话标识ID。
8.如权利要求7所述的方法,其特征在于,所述第二会话信息还包括所述第一会话密钥的有效期。
9.如权利要求7或8所述的方法,其特征在于,所述IoT设备接收所述发现消息之后,向所述IoT控制设备发送发现响应之前,所述方法还包括:
所述IoT设备确定已存储的与所述IoT控制设备之间的第二会话密钥不在有效期内、或未存储与所述IoT设备之间的会话信息。
10.如权利要求9所述的方法,其特征在于,所述IoT设备接收所述发现消息之后,所述方法还包括:
所述IoT设备确定已存储的与所述IoT控制设备之间的第二会话密钥在有效期内、或且已存储的与所述IoT设备之间的会话信息未丢失,则向所述IoT控制设备发送第四密文;
所述第四密文为基于所述第一会话密钥对第一信息加密得到的;所述第一信息包括所述IoT设备的设备信息。
11.如权利要求10所述的方法,其特征在于,所述第一信息还包括会话信息。
12.如权利要求7至11任一所述的方法,其特征在于,所述IoT设备接收第一局域网内的IoT控制设备组播的发现消息,包括:
所述IoT设备周期性接收第一局域网内的IoT控制设备组播的发现消息;和/或,
所述IoT设备在切换网络时,接收第一局域网内的IoT控制设备组播的发现消息;和/或,
所述IoT设备绑定IoT控制设备后,接收第一局域网内的IoT控制设备组播的发现消息;和/或,
所述IoT设备当已存储的与所述IoT控制设备之间的第二会话密钥达到有效期的截止期限时,接收第一局域网内的IoT控制设备组播的发现消息。
13.如权利要求7至12任一所述的方法,其特征在于,所述IoT设备在第二局域网内。
14.一种电子设备,其特征在于,所述电子设备包括收发器、存储器和处理器;
其中,所述收发器,用于发送或接收信息;
所述存储器,用于存储程序指令;
所述处理器,用于读取并执行所述存储器中存储的所述程序指令,当所述程序指令被所述处理器执行时,使得所述电子设备执行如权利要求1至13任一所述的方法。
15.一种芯片,其特征在于,所述芯片与电子设备中的存储器耦合,控制所述电子设备执行如权利要求1至6任一所述的密钥协商方法、或者控制所述电子设备执行如权利要求7至13任一所述的密钥协商方法。
16.一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序指令,当所述程序指令在电子设备上运行时,使得所述电子设备执行如权利要求1至6任一所述的密钥协商方法、或者如权利要求7至13任一所述的密钥协商方法。
17.一种通信系统,其特征在于,包括IoT控制设备和至少一个IoT设备,所述IoT控制设备用于执行如权利要求1-6任一所述的方法,所述IoT设备用于执行如权利要求7-13任一所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911207543.XA CN110933672B (zh) | 2019-11-29 | 2019-11-29 | 一种密钥协商方法及电子设备 |
EP20894551.9A EP4054221A4 (en) | 2019-11-29 | 2020-11-26 | KEY AGREEMENT PROCEDURE AND ELECTRONIC DEVICE |
PCT/CN2020/131968 WO2021104408A1 (zh) | 2019-11-29 | 2020-11-26 | 一种密钥协商方法及电子设备 |
JP2022531596A JP7393547B2 (ja) | 2019-11-29 | 2020-11-26 | 鍵交渉方法及び電子デバイス |
US17/780,902 US20230017263A1 (en) | 2019-11-29 | 2020-11-26 | Key Negotiation Method and Electronic Device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911207543.XA CN110933672B (zh) | 2019-11-29 | 2019-11-29 | 一种密钥协商方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110933672A true CN110933672A (zh) | 2020-03-27 |
CN110933672B CN110933672B (zh) | 2021-11-30 |
Family
ID=69847970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911207543.XA Active CN110933672B (zh) | 2019-11-29 | 2019-11-29 | 一种密钥协商方法及电子设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230017263A1 (zh) |
EP (1) | EP4054221A4 (zh) |
JP (1) | JP7393547B2 (zh) |
CN (1) | CN110933672B (zh) |
WO (1) | WO2021104408A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111741464A (zh) * | 2020-07-22 | 2020-10-02 | 深圳Tcl新技术有限公司 | 设备连接方法、主控设备、被控设备、控制系统及介质 |
CN112449345A (zh) * | 2020-12-09 | 2021-03-05 | 中国联合网络通信集团有限公司 | 一种安全通信方法和设备 |
WO2021104408A1 (zh) * | 2019-11-29 | 2021-06-03 | 华为技术有限公司 | 一种密钥协商方法及电子设备 |
CN114338356A (zh) * | 2020-09-29 | 2022-04-12 | 华为技术有限公司 | 一种网络修复方法、电子设备及移动设备 |
CN115001667A (zh) * | 2021-12-15 | 2022-09-02 | 荣耀终端有限公司 | 密钥协商方法、系统、电子设备和计算机可读存储介质 |
WO2022183350A1 (zh) * | 2021-03-01 | 2022-09-09 | Oppo广东移动通信有限公司 | 物联网设备配网方法、终端设备和物联网设备 |
CN115885496A (zh) * | 2020-08-28 | 2023-03-31 | 华为技术有限公司 | 一种通信方法及相关装置 |
WO2024037048A1 (zh) * | 2022-08-15 | 2024-02-22 | 华为技术有限公司 | 通信方法、装置和系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USD1015361S1 (en) * | 2020-12-30 | 2024-02-20 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with graphical user interface |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026479A (zh) * | 2007-03-30 | 2007-08-29 | 北京交通大学 | 一种多移动路由器的移动网络组播方法 |
CN107786974A (zh) * | 2017-10-31 | 2018-03-09 | 深圳市鑫宇鹏电子科技有限公司 | 一种局域网内手机app与设备安全通信的方法及系统 |
CN110311883A (zh) * | 2018-03-27 | 2019-10-08 | 华为技术有限公司 | 身份管理方法、设备、通信网络及存储介质 |
US10454674B1 (en) * | 2009-11-16 | 2019-10-22 | Arm Limited | System, method, and device of authenticated encryption of messages |
CN111342955A (zh) * | 2018-12-19 | 2020-06-26 | 北京沃东天骏信息技术有限公司 | 一种通信方法及其设备、计算机存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635039B (zh) * | 2014-10-27 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种网络安全通信方法及通信装置 |
CN104618362B (zh) * | 2015-01-23 | 2018-01-26 | 广州弘承持信电子商务有限公司 | 一种资源服务器和客户端交互会话消息的方法及装置 |
US20160286395A1 (en) * | 2015-03-24 | 2016-09-29 | Intel Corporation | Apparatus, system and method of securing communication between wireless devices |
US10080185B2 (en) * | 2015-04-10 | 2018-09-18 | Qualcomm Incorporated | Method and apparatus for securing structured proximity service codes for restricted discovery |
CN113923052A (zh) * | 2015-07-03 | 2022-01-11 | 阿费罗有限公司 | 用于在物联网(IoT)系统中建立安全通信信道的设备和方法 |
US9843929B2 (en) * | 2015-08-21 | 2017-12-12 | Afero, Inc. | Apparatus and method for sharing WiFi security data in an internet of things (IoT) system |
JP6920814B2 (ja) * | 2016-12-12 | 2021-08-18 | キヤノン株式会社 | 通信装置及び通信方法、コンピュータプログラム |
US10205713B2 (en) * | 2017-04-05 | 2019-02-12 | Fujitsu Limited | Private and mutually authenticated key exchange |
CN109547205A (zh) * | 2017-09-22 | 2019-03-29 | 中国电信股份有限公司 | 认证方法和装置、物联网终端 |
GB2568871B (en) * | 2017-11-23 | 2021-09-22 | Advanced Risc Mach Ltd | Devices and methods for control of internet of things (IoT) devices |
US20190034919A1 (en) * | 2017-12-29 | 2019-01-31 | Intel Corporation | Securing Electronic Wallet Transactions |
US10838705B2 (en) * | 2018-02-12 | 2020-11-17 | Afero, Inc. | System and method for service-initiated internet of things (IoT) device updates |
CN110933672B (zh) * | 2019-11-29 | 2021-11-30 | 华为技术有限公司 | 一种密钥协商方法及电子设备 |
-
2019
- 2019-11-29 CN CN201911207543.XA patent/CN110933672B/zh active Active
-
2020
- 2020-11-26 WO PCT/CN2020/131968 patent/WO2021104408A1/zh unknown
- 2020-11-26 EP EP20894551.9A patent/EP4054221A4/en active Pending
- 2020-11-26 US US17/780,902 patent/US20230017263A1/en active Pending
- 2020-11-26 JP JP2022531596A patent/JP7393547B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026479A (zh) * | 2007-03-30 | 2007-08-29 | 北京交通大学 | 一种多移动路由器的移动网络组播方法 |
US10454674B1 (en) * | 2009-11-16 | 2019-10-22 | Arm Limited | System, method, and device of authenticated encryption of messages |
CN107786974A (zh) * | 2017-10-31 | 2018-03-09 | 深圳市鑫宇鹏电子科技有限公司 | 一种局域网内手机app与设备安全通信的方法及系统 |
CN110311883A (zh) * | 2018-03-27 | 2019-10-08 | 华为技术有限公司 | 身份管理方法、设备、通信网络及存储介质 |
CN111342955A (zh) * | 2018-12-19 | 2020-06-26 | 北京沃东天骏信息技术有限公司 | 一种通信方法及其设备、计算机存储介质 |
Non-Patent Citations (3)
Title |
---|
HANS DELFS HELMUT KNEBL: "《Information Security and Cryptography Introduction to Cryptography Principles and Applications》", 31 December 2015 * |
IOANNIS ASKOXYLAKISSOTIRIS IOANNIDISSOKRATIS KATSIKASCATHERINE M: "《Computer Security – ESORICS 2016》", 31 December 2016 * |
刘建华: "《物联网安全》", 30 September 2013 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021104408A1 (zh) * | 2019-11-29 | 2021-06-03 | 华为技术有限公司 | 一种密钥协商方法及电子设备 |
CN111741464A (zh) * | 2020-07-22 | 2020-10-02 | 深圳Tcl新技术有限公司 | 设备连接方法、主控设备、被控设备、控制系统及介质 |
CN111741464B (zh) * | 2020-07-22 | 2021-04-09 | 深圳Tcl新技术有限公司 | 设备连接方法、主控设备、被控设备、控制系统及介质 |
CN115885496B (zh) * | 2020-08-28 | 2023-10-20 | 华为技术有限公司 | 一种通信方法及相关装置 |
CN115885496A (zh) * | 2020-08-28 | 2023-03-31 | 华为技术有限公司 | 一种通信方法及相关装置 |
CN114338356A (zh) * | 2020-09-29 | 2022-04-12 | 华为技术有限公司 | 一种网络修复方法、电子设备及移动设备 |
CN114338356B (zh) * | 2020-09-29 | 2023-07-28 | 华为技术有限公司 | 一种网络修复方法、电子设备及移动设备 |
CN112449345A (zh) * | 2020-12-09 | 2021-03-05 | 中国联合网络通信集团有限公司 | 一种安全通信方法和设备 |
CN112449345B (zh) * | 2020-12-09 | 2024-02-09 | 中国联合网络通信集团有限公司 | 一种安全通信方法和设备 |
WO2022183350A1 (zh) * | 2021-03-01 | 2022-09-09 | Oppo广东移动通信有限公司 | 物联网设备配网方法、终端设备和物联网设备 |
CN115001667A (zh) * | 2021-12-15 | 2022-09-02 | 荣耀终端有限公司 | 密钥协商方法、系统、电子设备和计算机可读存储介质 |
WO2024037048A1 (zh) * | 2022-08-15 | 2024-02-22 | 华为技术有限公司 | 通信方法、装置和系统 |
WO2024036435A1 (zh) * | 2022-08-15 | 2024-02-22 | 华为技术有限公司 | 通信方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP4054221A1 (en) | 2022-09-07 |
US20230017263A1 (en) | 2023-01-19 |
EP4054221A4 (en) | 2022-12-07 |
JP7393547B2 (ja) | 2023-12-06 |
WO2021104408A1 (zh) | 2021-06-03 |
JP2023503677A (ja) | 2023-01-31 |
CN110933672B (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110933672B (zh) | 一种密钥协商方法及电子设备 | |
CN110636062B (zh) | 设备的安全交互控制方法、装置、电子设备及存储介质 | |
US10951400B2 (en) | Authentication method, authentication system, and controller | |
WO2019120091A1 (zh) | 身份认证方法、系统及计算设备 | |
US7680878B2 (en) | Apparatus, method and computer software products for controlling a home terminal | |
EP3595247B1 (en) | Identity authentication method and system | |
US11736304B2 (en) | Secure authentication of remote equipment | |
US20070254630A1 (en) | Methods, devices and modules for secure remote access to home networks | |
EP3487116A1 (en) | Method for ensuring security of data transformation, and network device | |
CN110933484A (zh) | 一种无线投屏设备的管理方法及装置 | |
US9648650B2 (en) | Pairing of devices through separate networks | |
CN112769868A (zh) | 通信方法、装置、电子设备及存储介质 | |
WO2023001082A1 (zh) | 一种配网方法及装置 | |
US8464055B2 (en) | Method and apparatus of ensuring security of communication in home network | |
CN112423277A (zh) | 蓝牙网状网络中的安全证书恢复 | |
CN112689016B (zh) | 智能设备控制方法、设备和存储介质 | |
CN113660285A (zh) | 多媒体会议在网终端管控方法、装置、设备及存储介质 | |
US20220217131A1 (en) | Networking method for household appliance, household appliance, and terminal device | |
WO2017104129A1 (ja) | 認証装置、認証システム及び認証方法 | |
KR101050835B1 (ko) | 모바일 네트워크 상에서 부인방지 서비스를 제공하는 최소 공개키 기반의 이동 모바일 단말기의 인증방법 | |
CN114186215A (zh) | 基于智能设备的音响授权方法和系统 | |
CN118413332A (zh) | 跨平台块设备互联互通通信方法、系统及计算机程序产品 | |
Zhao et al. | Neoman: Negotiation management method for ike protocol based on x. 509 |
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 |