CN112448970A - 设备连接方法、系统及相应的物联网设备 - Google Patents
设备连接方法、系统及相应的物联网设备 Download PDFInfo
- Publication number
- CN112448970A CN112448970A CN201910809065.3A CN201910809065A CN112448970A CN 112448970 A CN112448970 A CN 112448970A CN 201910809065 A CN201910809065 A CN 201910809065A CN 112448970 A CN112448970 A CN 112448970A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- equipment
- random number
- internet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- 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
-
- 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/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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
Abstract
公开了一种设备连接方法、系统及相应的物联网设备,其中第一设备广播数据包;第二设备接收数据包,并向服务器发送第一设备的相关数据;第一设备基于本机存储的秘密数据生成校验数据,并向第二设备发送校验数据;第二设备向所述服务器转发所述校验数据;服务器基于所述相关数据查找第一设备对应的所述秘密数据,并基于秘密数据对校验数据进行校验;第二设备基于校验成功,完成第一设备连接第二设备的认证。由此,利用设备本机和云端对应存储的秘密数据,在设备连接认证和后续传输中实现基于上述秘密数据的安全认证和加密传输。这样就可以在无需使用非对称加密和安全芯片的情况下,实现物联网设备数据传输的安全需求。
Description
技术领域
本发明涉及物联网(IoT)技术,尤其涉及一种设备连接方法、系统及相应的物联网设备。
背景技术
近年来,能够将各种各样的设备或物品进行接入的物联网(IoT)技术受到了广泛关注。例如,蓝牙设备可以与智能终端相连接,以借助智能终端的算力来实现各种复杂的功能。
在现有技术中,对于诸如蓝牙体脂秤等的低成本设备,业界通常使用明文与智能终端进行通信传输。由于空中数据可以使用抓包器嗅探,因此数据安全性低。在对安全要求较高的场景中,例如带公交卡、银联卡功能的智能手表,业界通常会为设备配置安全芯片,使用硬件加密确保数据安全,因此对成本要求较高。另外,虽然可以通过使用非对称加密算法来代替安全芯片保障通信安全,但对算力要求高,对中低端芯片不友好。
因此,需要有一种以较低的成本和计算代价实现物联网设备的安全接入和数据传输的方案。
发明内容
为了解决如上至少一个问题,本发明提出了一种全新的设备接入方案。具体地,利用设备本机和云端对应存储的秘密数据,能够在设备连接认证和后续传输中实现基于上述秘密数据的安全认证和加密传输。从而能够在无需使用非对称加密和安全芯片的情况下,实现物联网设备数据传输的安全需求。
根据本发明的一个方面,提出了一种设备连接方法,包括:第一设备广播数据包;第二设备接收所述数据包,并向服务器发送所述第一设备的相关数据;所述第一设备基于本机存储的秘密数据生成校验数据,并向所述第二设备发送所述校验数据;所述第二设备向所述服务器转发所述校验数据;所述服务器基于所述相关数据查找所述第一设备对应的所述秘密数据,并基于所述秘密数据对所述校验数据进行校验;所述第二设备基于所述校验成功,完成所述第一设备连接所述第二设备的认证。由此,通过预先布置的秘密数据,实现云端对设备的高度可靠的认证。
优选地,所述数据包包括所述第一设备的唯一身份标识符,并且所述第二设备向所述服务器发送的所述第一设备的相关数据包括所述第一设备的唯一身份标识符。唯一身份标识符可以包括PID和/或MAC,由此帮助唯一性地确定第一设备的身份。
优选地,第二设备接收所述数据包,并向服务器发送所述第一设备的相关数据包括:所述第二设备基于所述数据包确定要连接的目标服务器;连接所述目标服务器;以及向连接的所述目标服务器发送所述第一设备的相关数据。由此,通过例如CID确定要连接的云端平台。
优选地,所述第一设备基于本机存储的秘密数据生成校验数据包括:所述第一设备以无法反推出完整秘密数据的方式生成校验数据。由此,确保秘密数据本身不在空中传播,以进一步提升安全性。
优选地,该方法还可以包括:所述服务器和所述第一设备按照预定规则基于各自保有的秘密数据各自生成通信密钥;所述服务器将所述通信密钥发送给所述第二设备;以及使用所述通信密钥进行所述第一设备和所述第二设备之间的数据加密通信。由此,通信密钥还可用于完成设备对云端的校验。
优选地,所述第一设备基于本机存储的秘密数据生成校验数据包括:所述第一设备基于一个随机数和所述秘密数据生成校验数据。由此,通过随机数的引入,进一步提升认证的安全性。具体地,所述第一设备基于一个随机数和所述秘密数据生成校验数据可以包括:所述服务器生成随机数并经由所述第二设备下发至所述第一设备;所述第一设备基于所述秘密数据和所述随机数生成校验数据,并且所述服务器基于所述秘密数据对所述校验数据进行校验包括:所述服务器基于所述随机数和所述秘密数据对所述校验数据进行校验。
优选地,该方法还可以包括:所述服务器和所述第一设备按照预定规则基于所述秘密数据和所述随机数各自生成通信密钥;所述服务器将所述通信密钥发送给所述第二设备;以及使用所述通信密钥进行所述第一设备和所述第二设备之间的数据加密通信。所述通信密钥可以基于所述秘密数据、所述随机数以及所述第一设备的唯一身份标识符生成,其中在所述数据包中包括所述第一设备的唯一身份标识符,并且从生成的通信密钥中无法反推完整秘密数据。
优选地,在所述第一设备每次尝试连接所述第二设备时,使用不同的随机数进行所述相互验证。由此防止重放攻击。
优选地,该方法还可以包括:所述服务器记录预定时间段内所述第一设备每次尝试连接所述第二设备时使用的随机数;以及所述服务器在记录的随机数中包括重复的随机数时,判定所述第二设备已被破解。
优选地,所述第一设备和所述第二设备经由常规的短距离通信协议连接,例如通过蓝牙协议进行连接。
根据本发明的另一个方面,提出了一种用于设备连接的云端认证系统,包括第一设备、第二设备和服务器,其中,所述第一设备用于:广播包含自身信息的数据包;生成并发送基于本机存储的秘密数据的校验数据,所述第二设备用于:接收所述数据包,并向所述服务器发送所述第一设备的相关数据;接收来自所述第一设备的校验数据并向所述服务器进行转发,以及在所述服务器校验通过时,完成与所述第一设备的连接认证,所述服务器用于:接收所述第二设备发送的所述第一设备的相关数据;基于所述相关数据查找所述第一设备对应的秘密数据;接收所述第二设备发送的所述校验数据并基于查找到的所述秘密数据进行校验。优选地,所述第一设备以无法反推出所述完整秘密数据的方式生成所述校验数据。
优选地,所述第二设备用于:基于所述数据包中包含的标识,确定要连接的目标服务器;连接所述目标服务器;以及向连接的所述目标服务器发送所述第一设备的相关数据。
优选地,所述第一设备用于:按照预定规则基于所述秘密数据生成通信密钥,所述服务器用于:按照所述预定规则基于所述秘密数据生成相同的通信密钥;将生成的所述通信密钥发送给所述第二设备,以供所述第一设备和所述第二设备使用所述通信密钥进行数据加密通信。
优选地,所述第一设备用于:基于一个随机数和所述秘密数据生成所述校验数据;以及所述服务器用于:基于所述随机数和所述秘密数据对所述校验数据进行校验。
优选地,所述服务器用于:生成所述随机数,并将所述随机数发送给所述第二设备,所述第一设备用于:接收所述第二设备下发的所述随机数,并且基于所述随机数进行所述校验数据的生成。
优选地,所述第一设备用于:按照预定规则基于所述秘密数据和所述随机数生成通信密钥,所述服务器用于:按照所述预定规则基于所述秘密数据和所述随机数生成相同的通信密钥;将生成的所述通信密钥发送给所述第二设备,以供所述第一设备和所述第二设备使用所述通信密钥进行数据加密通信。
优选地,所述通信密钥基于所述秘密数据、所述随机数以及所述第一设备的唯一身份标识符生成,其中在所述数据包中包括所述第一设备的唯一身份标识符,并且从生成的通信密钥中无法反推完整秘密数据。
优选地,在所述第一设备每次尝试连接所述第二设备时,所述系统使用不同的随机数进行所述相互验证。
优选地,所述服务器用于:记录预定时间段内所述第一设备每次尝试连接所述第二设备时使用的随机数;以及在记录的随机数中包括重复的随机数时,判定所述第一设备已被破解。
优选地,所述第一设备是物联网设备,并且所述服务器所在的云端平台存储有能够通过第二设备与所述服务器相连以完成与所述第二设备的连接认证的每个第一设备的唯一身份标识符及其对应的秘密数据。
根据本发明的又一个方面,提出了一种物联网设备,包括:通信装置,用于:广播数据包,所述数据包包括需要经由服务器完成与其他设备的连接认证的第一内容以及指示所述物联网设备身份的第二内容;发送基于本机存储的秘密数据生成的校验数据,处理器,用于:基于本机存储的秘密数据生成的校验数据;在接收到校验成功的消息后完成与所述其他设备的连接认证,存储器,用于:存储秘密数据以及用于生成数据包的数据。例如,该存储器可以包括将指示所述物联网设备身份的唯一身份标识符和所述秘密数据烧录存储的烧录存储装置。所述数据包可以包括的所述第一内容是所述数据包中的公司标识符。
根据本发明的再一个方面,提出了一种终端设备,包括用于与物联网设备通信的第一通信装置、与服务器通信的第二通信装置、处理器和存储器,其中,所述第一通信装置,用于:接收所述物联网设备广播的数据包;接收所述物联网设备基于本机存储的秘密数据生成的校验数据,所述第二通信装置,用于:向服务器发送所述物联网设备的相关数据;向所述服务器发送从所述物联网设备接收的校验数据,以使得所述服务器能够基于所述相关数据查找出所述物联网设备对应的秘密数据并使用所述秘密数据对所述校验数据进行校验,所述处理器,用于:基于所述服务器对所述校验数据的校验成功,完成与所述物联网设备的连接认证。
优选地,在完成与所述物联网设备的连接认证之后,所述第二通信装置用于:从所述服务器接收通信密钥,所述通信密钥基于所述查找出的秘密数据生成;以及所述处理器用于:使用所述通信密钥,经由所述第一通信装置与所述物联网设备进行数据加密通信。
优选地,所述处理器,用于:从所述数据包中获取需要经由服务器完成与其他设备的连接认证的第一内容以及指示所述物联网设备身份的第二内容,并且所述第二通信装置,用于:基于所述第一内容连接相应的服务器;以及将所述第二内容发送给所述服务器。
优选地,所述第二通信装置,用于:接收所述服务器发送的随机数,并且所述第一通信装置,用于:将接收的所述随机数发送至所述物联网设备,用于所述校验数据的生成。
优选地,所述终端设备在每次与所述物联网设备连接时,使用不同的随机数进行连接认证。
优选地,所述第二通信装置,用于:接收所述服务器发出的指示连接认证随机数重复的通知,以及所述处理器,用于:指示所述第一通信装置断开与所述物联网设备的连接。
上述终端设备可以执行一种与物联网设备连接的方法,包括:接收所述物联网设备广播的数据包;向服务器发送所述物联网设备的相关数据;向所述服务器发送从所述物联网设备接收的校验数据,其中所述校验数据基于所述物联网设备本机存储的秘密数据生成,以使得所述服务器能够基于所述相关数据查找出所述物联网设备对应的秘密数据并使用所述秘密数据对所述校验数据进行校验;以及基于所述服务器的校验成功,完成连接所述物联网设备的认证。
根据本发明的再一个方面,提出了一种设备连接方法,包括:第一设备广播数据包;第二设备接收所述数据包,并向服务器发送所述第一设备的相关数据;所述服务器基于所述相关数据查找所述第一设备对应的所述秘密数据,并基于所述秘密数据生成校验数据;所述第二设备向所述第一设备转发所述校验数据;所述第一设备使用本机存储的秘密数据对所述校验数据进行校验;所述第二设备基于所述校验成功,完成所述第一设备连接所述第二设备的认证。
优选地,该方法还可以包括:所述服务器和所述第一设备按照预定规则基于各自保有的秘密数据各自生成通信密钥;所述服务器将所述通信密钥发送给所述第二设备;以及使用所述通信密钥进行所述第一设备和所述第二设备之间的数据加密通信。
优选地,该方法还可以包括:所述服务器在对所述第一设备发送给所述第二设备的加密数据进行验证后,完成对所述第一设备的认证。
本发明通过利用设备本机和云端对应存储的秘密数据,能够在设备连接认证和后续传输中实现基于上述秘密数据的安全认证和加密传输。进一步地,可以通过云端对设备的单向校验完成认证,并在后续通过基于秘密数据的加密传输实现设备对云端的反向校验。另外,可以在认证和后续加密传输中引入随机数,以避免重放攻击。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了根据本发明的设备连接认证的示意图。
图2示出了根据本发明一个实施例的设备连接方法的示意性流程图。
图3示出了根据本发明的连接认证流程的一个示例。
图4示出了根据本发明一个实施例的物联网设备的组成示意图。
图5示出了广播数据包中所含数据的一个格式例。
图6示出了根据本发明一个实施例的终端设备的组成示意图。
图7示出了根据本发明一个实施例的物联网设备连接方法的流程示意图。
图8示出了根据本发明的一个具体应用场景例。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
随着诸如蓝牙设备等的物联网设备的普及,人们的生活变得愈发便利。但物联网设备在为人们的生活带来便利的同时,也会由于渗入到工作学习的方方面面而带来各种潜在的安全隐患。
例如,人们通过将手机与蓝牙体重秤相连,就能够利用手机获取蓝牙体重秤测得的各类数据,并利用手机上对应安装的APP读取诸如体重、体脂率、骨量等的各类数据。APP可以保留历史数据,以绘制各类曲线图,从而为用户给出更为恰当的体重控制建议。
然而,在现有技术中,诸如上述蓝牙体重秤的物联网设备与终端设备之间通常采用直接通信,并且上述用户数据采用明文传输,使得敏感数据很容易被抓包器空中嗅探。在对安全要求较高的场景中,例如带公交卡、银联卡功能的智能手表,业界通常会为设备配置安全芯片,使用硬件加密确保数据安全,因此对成本要求较高。另外,虽然可以通过使用非对称加密算法来代替安全芯片保障通信安全,但对算力要求高,对中低端芯片不友好。
有鉴于此,本发明提出了一种全新的设备接入方案。该方案利用设备本机和云端对应存储的秘密数据,能够在设备连接认证和后续传输中实现基于上述秘密数据的安全认证和加密传输。从而能够在无需使用非对称加密和安全芯片的情况下,实现物联网设备数据传输的安全需求。
图1示出了根据本发明的设备接入认证的示意图。如图1所示,作为第一设备的物联网设备100需要与作为第二设备的智能终端设备200相连接。不同于现有技术中物联网设备与终端设备的直接连接,本发明的设备接入认证(即,鉴权流程)涉及作为服务器的云端认证平台300的参与。
换句话说,一个物联网设备(例如,图中示出的设备100)想要连接终端设备(例如,用于接入已有的IoT,或是仅与该终端设备相连),不同于直接与终端设备200完成认证,在本发明中,物联网设备100需要通过与终端设备200的短距离数据传输(例如,几厘米至几百米),以及经由终端设备200的与远程服务器300的远程数据传输来实现设备100与200的连接认证过程。在完成上述连接认证之后,设备100可以实现与设备200的通信,或者在其他实施例中,物联网设备100可以实现与终端设备200所在的现有物联网的接入。现有的物联网(IoT)可以是具有特定范围的物联网,例如,一个家庭中,一个大楼中,甚至一个园区中的物联网等。
在此,第一设备100是具有短距离通信能力(例如,经由蓝牙或局域网)的物联网设备,第二设备200是基于短距离通信能力以及与远程服务器通信能力的终端设备,并且也可以认为是具备物联网接入能力或是已经接入物联网的物联网设备。具体地,第二设备200可以是如图1所示的诸如手机的智能终端设备,也可以是其他的终端设备,例如,用作家庭智能终端的智能音箱等。在连接认证涉及整个物联网的情况下,IoT中的其他设备则可以是上述两种设备之一。与终端设备200远程通信的服务器300可以是用于实现特定功能的服务器群,例如,设备接入IoT时的云端认证平台。在本发明中,“第一”和“第二”旨在对同种类的不同对象加以区分,而非对前后等进行任何暗示。
图2示出了根据本发明一个实施例的设备连接方法的示意性流程图。该方法适用于基于各类短距离通信手段(例如,WiFi、蓝牙和蓝牙mesh、红外等)进行设备接入的情况,并且尤其适用于作为第一设备的蓝牙设备与作为第二设备的智能终端之间的连接认证,即,第一和第二设备遵循蓝牙协议进行连接的情况。
在步骤S210,第一设备(图1中的待连接物联网设备100)广播数据包。在步骤S220,第二设备(图1中的终端设备200)接收广播的数据包,并向服务器(图1中的云端平台300)发送该第一设备的相关数据。
基于预定规则或第二设备的指令,在步骤S230,第一设备可以基于本机存储的秘密数据生成校验数据,并向第二设备发送该校验数据。在步骤S240,第二设备向服务器转发该校验数据。
在步骤S250,服务器可以基于在前获取的第一设备的相关数据查找该第一设备对应的秘密数据,并基于秘密数据对校验数据进行校验。如果校验成功,服务器下发通知。于是在步骤S260,第二设备基于校验成功,完成第一设备连接第二设备的认证。
由此,通过仅由物联网设备和云端平台知晓的秘密数据的引入,能够实现云端平台对物联网设备身份的高安全性认证,并且避免第二设备对秘密数据的知晓。为了确保安全性,可以避免秘密数据以明文,或是可推出的形式在空中传播。于是,在一个实施例中,基于秘密数据生成的校验数据可以以无法反推出完整秘密数据的方式生成。即便第二设备知晓校验数据,或是校验数据被他方截获,也无法从中恢复出完整的秘密数据。类似地,如下基于秘密数据生成的通信密钥也可以以无法反推出完整秘密数据的方式生成。
为了实现对自身身份的精确表明以及服务器对秘密数据的正确查找,由第一设备广播的数据包中可以包括该设备的唯一身份标识符,并且第二设备向服务器发送的第一设备的相关数据可以包括从广播数据包中获取的上述唯一身份标识符。例如,在不同的实现中,第一设备可以在广播中填写产品标识符(ProductID,PID)或是MAC地址,或者PID和MAC两者。优选地,可由云端维护物联网设备的身份和秘密数据,并在设备出厂前进行数据烧录。在一个实施例中,云端可以为每个物联网设备分配一个三元组,该三元组包括PID、MAC地址和秘密数据。上述三元组被预先烧录在设备中,并且避免秘密数据以可推导出的形式在空中传播。为了进一步提升安全性,云端可以为每个设备分配一个不同的秘密数据,做到一机一密。由此,破解一个设备不会影响同型号的其他设备。
在一个实施例中,为了明确认证需要云端介入,以及具体的云端连接对象,第一设备广播的数据包中还可以包括指示需要经由服务器完成与其他设备的连接认证的内容。例如,广播的数据包中可以包括公司标识符,例如,公司ID(CompanyIdentifiers,CID)。于是,在第二设备接收到广播的数据包之后,可以通过读取上述内容(例如,CID)确认与第一设备的连接认证需要服务器的介入,并且能够确定所要连接的特定目标服务器,例如,CID所对应的云端平台。由此,第二设备可以连接所述目标服务器,并向连接的所述目标服务器发送所述第一设备的相关数据。上述相关数据可以是第二设备从广播的数据包中获取的数据,例如上文提及的PID和MAC。
在本发明的一个实施例中,可以仅基于步骤S210-S260中涉及的服务器对来自第一设备的校验数据的单向校验来完成第一设备与第二设备的连接认证。由此,服务器可以基于校验数据中验证的秘密数据,来确定第一设备的身份。例如,上报特定PID和/或MAC的第一设备使用了与云端记载的对应秘密数据相同的本机存储秘密数据来生成校验数据,由此使得云端能够确认上报该特定PID和/或MAC的设备是具有该特定PID和/或MAC的设备本身(即,不是其他设备谎报身份进行连接)。
在其他实施例中,连接认证的完成还可以包括第一设备对服务器身份的验证。例如,服务器可以基于查找到的秘密数据生成第二校验数据,以供第一设备基于本机的秘密数据进行验证。
在本发明的一个优选实施例中,第一设备对服务器身份的验证可以通过第一设备与第二设备之间加密密钥的使用而变相实现。于是,本发明的连接方法还可以包括:服务器和第一设备按照预定规则基于各自保有的秘密数据各自生成通信密钥;服务器将通信密钥发送给所述第二设备;以及使用所述通信密钥进行所述第一设备和所述第二设备之间的数据加密通信。由此,倘若第二设备处由服务器提供的通信密钥与第一设备进行数据加密的通信密钥不同,那么即时第二设备建立了与第一设备的连接并且获取了来自第一设备的数据,也会因为通信密钥的不一致而无法加密接收到的数据。
更进一步地,由于通信密钥由服务器和第一设备各自生成,因此通信密钥的传输仅涉及服务器到第二设备的传输而不涉及第一设备和第二设备之间的传输。服务器与第二设备之间的连接是服务器与智能终端之间的私密连接,相比于第一和第二设备之间的传输具有更高的安全性。因此,避免通信密钥在第一和第二设备之间的传输,能够有效避免重放攻击。
为了提升安全性,在本发明的连接认证中还可以涉及随机数的参与。于是,第一设备基于本机存储的秘密数据生成校验数据可以包括基于一个随机数和所述秘密数据生成校验数据。上述随机数可以是第一设备自身产生并经由第二设备发送给服务器用于验证的,也可以是服务器产生并经由第二设备下发给第一设备的。出于简化第一设备的算力和硬件投入,以及方便统计的考虑,优选服务器生成随机数的方案。
于是,在一个实施例中,第一设备基于一个随机数和所述秘密数据生成校验数据包括:服务器生成随机数并经由所述第二设备下发至所述第一设备;第一设备基于所述秘密数据和所述随机数生成校验数据。相应地,服务器可以基于所述随机数和所述秘密数据对校验数据进行校验。例如,第一设备可以使用秘密数据作为密钥,加密接收到的随机数作为校验密文,例如,使用AES128CBC算法。服务器接收到该校验密文之后,可以使用查找到的秘密数据进行解密,并核对解密得到的随机数是否相同,由此确定校验是否成功。应该理解的是,也可以基于算力等因素的考虑而使用其他加密算法,例如,使用相对简单的RC5分组加密算法来对随机数进行加密,只要校验数据的截获者无法利用随机数反向推导出秘密数据本身即可。
随机数还可用于后续通信密钥的生成。为此,服务器和第一设备可以按照预定规则基于所述秘密数据和所述随机数各自生成通信密钥,并由服务器将通信密钥发送给所述第二设备。随后,可以使用该通信密钥进行第一设备和第二设备之间的数据加密通信。
在一个实施例中,通信密钥可以基于所述秘密数据、所述随机数以及所述第一设备的唯一身份标识符生成。上述唯一身份标识符可被包括在广播数据包中,并由第二设备装服务器。同样地,需要确定截获者无法从生成的通信密钥中反推完整秘密数据。例如,在一个实施例中,可以将通信密钥定义为:BLEkey=SHA256(Random,PID,MAC,Secret)。即:将随机数(Random),PID,MAC,Secret四个值的字符串数据用英文逗号连接,然后进行SHA256摘要计算,取前16字节。在生成了通信密钥之后,可以使用相应的算法进行数据加密,例如AES128CBC算法和RC5分组加密算法。
为了确保安全性,在第一设备每次尝试连接第二设备时,优选使用不同的随机数进行所述相互验证。由于每次都使用不同的随机数,因此第一设备每次连接会向服务器请求生成新的BLE Key,每次断开连接后,第一和第二设备需要清除当前使用的BLE Key。
进一步地,云端可以记录一段时间内的Random值,若遇到重复的Random,认为设备被破解。为此,本发明的设备接入方法还可以包括所述服务器记录预定时间段内所述第一设备每次尝试连接所述第二设备时使用的随机数;以及所述服务器在记录的随机数中包括重复的随机数时,判定所述第二设备已被破解。随后,服务器可以指示第二设备进行相应的动作,例如断开与第一设备的连接等。
本发明的上述设备接入方案,还可以实现为一种用于设备连接的云端认证系统,该系统包括第一设备、第二设备和服务器,例如,图1所示的物联网设备、智能终端和云端平台。
第一设备可以用于:广播包含自身信息的数据包;生成并发送基于本机存储的秘密数据的校验数据。第二设备可以用于:接收所述数据包,并向所述服务器发送所述第一设备的相关数据;接收来自所述第一设备的校验数据并向所述服务器进行转发,以及在所述服务器校验通过时,完成与所述第一设备的连接认证。服务器则用于:接收所述第二设备发送的所述第一设备的相关数据;基于所述相关数据查找所述第一设备对应的秘密数据;接收所述第二设备发送的所述校验数据并基于查找到的所述秘密数据进行校验。为了确保秘密数据不被窃取,第一设备可以以无法反推出所述完整秘密数据的方式生成所述校验数据。
在通常的情况下,第二设备需要根据第一设备的身份(例如,生产商),确定要连接用于接入认证的服务器。为此,第二设备可以用于:基于数据包中包含的标识,确定要连接的目标服务器;连接目标服务器;以及向连接的目标服务器发送第一设备的相关数据。所述相关数据是服务器用于确定第一设备身份的数据,例如,广播的数据包中包含的第一设备的唯一身份标识码,例如,PID和MAC地址。
进一步地,秘密数据可以用于后续通信的加密。在一个实施例中,第一设备可以用于:按照预定规则基于所述秘密数据生成通信密钥,所述服务器用于:按照所述预定规则基于所述秘密数据生成相同的通信密钥;将生成的所述通信密钥发送给所述第二设备,以供所述第一设备和所述第二设备使用所述通信密钥进行数据加密通信。由于通信密钥不会在第一和第二设备之间传递,因此可以避免重放攻击。另外,第一设备也可以通过对第二设备发送数据的正常解密,变相完成对服务器身份的校验。
进一步地,可以引入随机数用于校验以及后续的通信流程。
在校验流程中,第一设备可以用于:基于一个随机数和所述秘密数据生成所述校验数据。服务器则可用于:基于所述随机数和所述秘密数据对所述校验数据进行校验。上述随机数优选由服务器方提供。于是,服务器可以用于:生成随机数,并将随机数发送给所述第二设备。第一设备可以用于:接收所述第二设备下发的所述随机数,并且基于所述随机数进行所述校验数据的生成。
为了后续通信,第一设备可以用于:按照预定规则基于所述秘密数据和所述随机数生成通信密钥。服务器可以用于:按照所述预定规则基于所述秘密数据和所述随机数生成相同的通信密钥;以及将生成的所述通信密钥发送给所述第二设备,以供所述第一设备和所述第二设备使用所述通信密钥进行数据加密通信。在一个优选实施例中,通信密钥可以基于秘密数据、随机数以及第一设备的唯一身份标识符生成,其中在所述数据包中包括所述第一设备的唯一身份标识符,并且从生成的通信密钥中无法反推完整秘密数据。
类似地,在第一设备每次尝试连接所述第二设备时,系统可以使用不同的随机数进行所述相互验证。进一步地,服务器可以用于:记录预定时间段内所述第一设备每次尝试连接所述第二设备时使用的随机数;以及在记录的随机数中包括重复的随机数时,判定所述第一设备已被破解。
如前结合图1所述,第一设备可以是物联网设备。服务器所在的云端平台则存储有能够通过第二设备与服务器相连以完成与所述第二设备的连接认证的每个第一设备的唯一身份标识符及其对应的秘密数据。
具体而言,某一厂商可以在云端维护有其所有市售物联网设备的唯一身份标识符和对应秘密数据的信息,例如,在云端数据库中存储包含每个物联网设备的PID、MAC和Secret(秘密数据)的三元组的列表。同时,将每个物联网设备的对应三元组数据进行预先烧录(例如,出厂前进行烧录)。在某一物联网设备后续与终端设备连接时,该物联网设备可以广播自己所属的厂商ID(例如,CID),以使得终端设备知晓应该连接目标服务器进行连接认证。
如上已结合图1和2描述了根据本发明的设备接入方法和相应的云端认证系统。如下将结合图3,描述根据本发明的接入认证流程的一个示例。
如图3所示,设备(例如,蓝牙设备)广播数据包,并且手机进行广播扫描。手机在扫描接收到所述数据包后,建立与设备的连接(用于鉴权的连接,而非鉴权完成后用于数据传输的连接),并从数据包中提取PID和MAC。
随后,手机基于数据包中的CID确定要连接的云端并进行连接。在连接之后,请求云端生成Random(随机数),并上传设备的PID和MAC。云端下发生成的Random,例如,16字节随机字符串,并由手机下发至设备。
设备随后进行基于随机数和本机存储的Secret(秘密数据)的校验密文生成。在此例中,设备通过AES128CBC算法,以Secret作为密钥,加密Random生成密文Cipher,并将Cipher发送到手机。
手机请求云端校验Cipher,向上传该Cipher(可选地再次上传PID和MAC)。
云端基于PID和MAC,在云端数据库中查找对应的Secret,利用该Secret对上传的Cipher进行解密,如果能够得到与下发Random相同的结果,则云端校验成功;否则,则校验失败。同时,云端可以基于秘密数据和随机数生成通信密钥BLEkey,例如,BLEkey=SHA256(Random,PID,MAC,Secret)。随后,云端将校验结果和BLEkey返回给手机。
后续的可选框内同时列出了针对不同校验结果的两种操作,其中,10指代校验失败后的操作,11-16指代校验成功后的操作。具体如下:
如果校验结果指示校验失败,则手机断开蓝牙连接。
如果校验结果指示校验成功,则手机首先保存云端返回的BLEkey作为后续数据的传输密钥。随后,手机向设备下发校验成功的消息。
设备随后基于本机数据和在前获得的Random自行计算BLEkey,作为后续数据的传输密钥。最后,设备向手机返回正常操作的结果(该结果并不包括BLEkey本身),由此认证流程完成。
随后,在设备和手机之间,可以使用各自保有的BLEkey作为密钥,使用AES128CBC算法进行加密传输。
由此,云端通过基于PID和MAC对Secret的查找和校验,能够保证认证过程中设备身份不会变化,并且是属于有效用户的合法设备。手机每次连接会请求生成新的BLE Key,每次断开连接后,设备和手机需要清除当前使用的BLE Key。另外,云端可以记录一段时间内的Random值,若遇到重复的Random,认为设备被破解。
图4示出了根据本发明一个实施例的物联网设备的组成示意图。该设备是用于与终端设备经由短距离通信协议(例如,蓝牙协议)连接的设备,并且可以包括功能和结构较为简单的设备。该设备400包括通信装置410、处理器420和存储器430,例如,功能较为简单的处理器和容量较小的存储器。
通信装置410可以用于广播数据包,所述数据包包括需要经由服务器完成与其他设备的连接认证的第一内容以及指示所述物联网设备身份的第二内容。该通信装置410可以是用于进行近距离通信的通信装置,例如,蓝牙通信模块。
处理器420可以用于基于本机存储的秘密数据生成的校验数据,通过上述通信装置410发送上述校验数据,并在接收到校验成功的消息后完成与其他设备(例如,终端设备)的连接认证。存储器430可以用于存储秘密数据以及用于生成数据包的数据。具体地,存储器430可以包括将指示所述物联网设备身份的唯一身份标识符和所述秘密数据烧录存储的烧录存储装置。
进一步地,广播的数据包中包括的第一内容可以是指示该设备所属公司的公司标识符。由此,使得接收到该数据包的其他设备(例如,用以连接的终端设备)知晓与该物联网设备的连接认证需要云端参与,并且能够获知所需连接的远程服务器。
可以使用统一的广播规范来保证设备发现和连接逻辑,以在物联网设备和终端设备间达成统一的流程。为此,可以为物联网设备广播的数据包规定统一的格式。图5示出了广播数据包中所含数据的一个格式例。在蓝牙通用属性协议(GATT)中,允许蓝牙设备(例如,低功耗蓝牙(BLE))在广播中包括厂商规定数据。图中示出了16octets(位元组,通常1octet=8bit)的厂商规定数据的例子。如图所示,该16位元组中,可以包括Length(长度)、类型(Type)、CID、VID、FMASK、PID和MAC七组信息。其中,VID(Vendor ID)指示产家号,FMASK(Function MASK)指示安全等级。上述广播格式可以与图3的认证流程相结合,以使得遵循该例的设备可以通过一致的广播规范格式来表示设备身份。
与前述类似的,物联网设备生成的校验数据优选以无法反推出完整秘密数据的方式生成。在完成与所述其他设备的连接认证之后,所述物联网设备可以使用基于所述秘密数据生成的通信密钥对向所述其他设备的通信数据进行加密。
进一步地,可以使用随机数参与上述认证和传输。于是,处理器420可以用于基于所述秘密数据和一个随机数生成所述校验数据。优选地,随机数由外部产生,例如,云端产生。于是,通信装置410可以用于接收所述随机数,并且处理器420可以用于基于所述秘密数据和所述随机数生成所述通信密钥。在所述物联网设备每次尝试连接所述其他设备时,优选使用不同的随机数生成校验数据,以避免重放攻击。
图6示出了根据本发明一个实施例的终端设备的组成示意图。该设备用于与物联网设备进行连接。在一个实施例中,该设备可以用作物联网设备接入现有IoT的启动配置设备。
该设备600包括第一通信装置610、第二通信装置620、处理器630和存储器640。
第一通信装置610可以是能够进行近距离通信的装置,包括如下至少一种:WiFi通信装置;蓝牙通信装置;红外通信装置。第二通信装置620可以是能够进行远程通信的装置,例如WiFi通信装置。
第一通信装置610可以接收物联网设备广播的数据包,并可以接收物联网设备基于本机存储的秘密数据生成的校验数据。第二通信装置620可以向服务器发送所述物联网设备的相关数据,并可以向所述服务器发送从所述物联网设备接收的校验数据,以使得所述服务器能够基于所述相关数据查找出所述物联网设备对应的秘密数据并使用所述秘密数据对所述校验数据进行校验。处理器630可以基于所述服务器对所述校验数据的校验成功,完成与所述物联网设备的连接认证。
在本发明实施例中,在完成与所述物联网设备的连接认证之后,第二通信装置620还可以从服务器接收通信密钥,其中,通信密钥基于所述查找出的秘密数据生成。处理器630可以使用所述通信密钥,经由所述第一通信装置与所述物联网设备进行数据加密通信。
在本发明实施例中,处理器630可以从数据包中获取需要经由服务器完成与其他设备的连接认证的第一内容以及指示所述物联网设备身份的第二内容,并且,所述第二通信装置可以基于所述第一内容连接相应的服务器,并将所述第二内容发送给所述服务器。
在本发明实施例中,第二通信装置620可以接收所述服务器发送的随机数,所述第一通信装置610可以将接收的所述随机数发送至所述物联网设备,用于所述校验数据的生成。其中,所述终端设备在每次与所述物联网设备连接时,使用不同的随机数进行连接认证。
在本发明实施例中,第二通信装置610可以接收所述服务器发出的指示连接认证随机数重复的通知,处理器630可以指示第一通信装置断开与所述物联网设备的连接。
图7示出了根据本发明一个实施例的物联网设备连接方法的流程示意图。该方法可由终端设备,例如如上结合附图描述的终端设备(或第二设备)实施。
如图7所示,在步骤S710,接收所述物联网设备广播的数据包。并在步骤S720,向服务器发送所述物联网设备的相关数据。
在步骤S730,向所述服务器发送从所述物联网设备接收的校验数据,其中所述校验数据基于所述物联网设备本机存储的秘密数据生成,以使得所述服务器能够基于所述相关数据查找出所述物联网设备对应的秘密数据并使用所述秘密数据对所述校验数据进行校验。
随后,在步骤S740,基于所述服务器的校验成功,完成连接所述物联网设备的认证。
在本发明实施例中,终端设备还可以从所述服务器接收通信密钥,其中,所述通信密钥基于所述服务器查找出的秘密数据生成,并使用所述通信密钥,与所述物联网设备进行数据加密通信。
在本发明实施例中,终端设备还可以从所述数据包中获取需要经由服务器完成与其他设备的连接认证的第一内容以及指示所述物联网设备身份的第二内容;基于所述第一内容连接相应的服务器;以及将所述第二内容发送给所述服务器。
在本发明实施例中,终端设备还可以接收所述服务器发送的随机数,并将接收的所述随机数发送至所述物联网设备,用于所述校验数据的生成。其中,所述终端设备在每次与所述物联网设备连接时,使用不同的随机数进行连接认证。
在本发明实施例中,终端设备还可以接收所述服务器发出的指示连接认证随机数重复的通知,并断开与所述物联网设备的连接。
如上结合图1-7描述了利用物联网设备和云端平台各自保有的秘密数据,通过云端对设备的单向校验来完成物联网设备与终端设备的连接认证的方案。应该理解的是,在替换方案中,也可以利用设备对云端的单向校验来完成物联网设备与终端设备的连接认证。随后,可以基于通信密钥对传输数据的加密,变相完成云端对设备的加密。
于是,本发明还可以实现为一种设备连接方法。具体地,该设备连接方法可以包括:第一设备广播数据包;第二设备接收所述数据包,并向服务器发送所述第一设备的相关数据;所述服务器基于所述相关数据查找所述第一设备对应的所述秘密数据,并基于所述秘密数据生成校验数据;所述第二设备向所述第一设备转发所述校验数据;
所述第一设备使用本机存储的秘密数据对所述校验数据进行校验;所述第二设备基于所述校验成功,完成所述第一设备连接所述第二设备的认证。
在本发明实施例中,该设备连接方法还可以包括:所述服务器和所述第一设备按照预定规则基于各自保有的秘密数据各自生成通信密钥;所述服务器将所述通信密钥发送给所述第二设备;以及使用所述通信密钥进行所述第一设备和所述第二设备之间的数据加密通信。
在本发明实施例中,该设备连接方法还可以包括:所述服务器在对所述第一设备发送给所述第二设备的加密数据进行验证后,完成对所述第一设备的认证。
类似地,在该方案中,同样可以通过加入随机数来提升连接和传输的安全性。
上文中已经参考附图详细描述了根据本发明的物联网设备连接方法、云端认证系统以及相应的设备。本发明利用本机和云端存储秘密数据(例如,三元组数据结合一机一密的方式),配合云端能力,在设备连接时进行鉴权,鉴权完成后使用密文传输。可以在不使用非对称加密和安全芯片情况下,达到满足大部分蓝牙IoT单品的安全要求。进一步地,可以通过使用统一的广播规范来保证设备发现、连接逻辑,在手机端和设备端达成统一的流程。
为了进一步说明本发明的发明原理,如下将结合图8描述本发明的一个具体应用场景。
如图8所示,某一厂商可以在云端维护有其所有市售物联网设备(例如,图中的蓝牙电灯)的秘密数据,并且物联网设备存储有自己的秘密数据(如图中的钥匙所示)。例如,可以在云端数据库中存储包含每个物联网设备的PID、MAC和Secret(秘密数据)的三元组的列表。同时,将每个物联网设备的对应三元组数据进行预先烧录(例如,出厂前进行烧录)。
随后,当某一物联网设备(例如,图中的设备100)与终端设备200连接时,该物联网设备可以广播自己所属的厂商ID(例如,CID),以使得终端设备200知晓应该连接的目标服务器(例如,图中的云端认证平台300),以进行连接认证。
首先,蓝牙设备可以基于本机存储的秘密数据生成校验密文,例如图中示出的上半部的钥匙图像,该图像暗示了该校验密文以无法反推出秘密数据的形式生成。为了提升安全性,蓝牙设备可以在前接收云端为此次通信生成的随机数,并使用该随机数和秘密数据生成校验密文。例如,设备100可以通过AES128CBC算法,以密码数据作为密钥,加密随机数生成密文,并将密文发送到智能终端设备200。
终端设备200请求云端认证平台300校验并上传该密文。云端300随后可以基于预先存储的设备100的秘密数据(例如,基于PID和MAC,在云端数据库中查找对应的秘密数据),对上传的密文进行解密。如果校验通过(即,秘密数据相匹配),例如在使用密码数据作为密钥加密随机数生成密文的例子中,如果得到与下发随机数相同的结果,则云端校验成功,否则则校验失败。此时,可以认为已经通过对设备上传秘密的校验而完成了云端对设备的单方认证。
进一步地,云端可以基于秘密数据生成通信密钥(例如,图中示出的上半部的钥匙图像,该图像同样暗示了该校验密文以无法反推出秘密数据的形式生成,并且该密钥与之前的校验密文不同)。例如,云端300可以基于秘密数据和随机数生成通信密钥BLEkey,例如,BLEkey=SHA256(Random,PID,MAC,Secret)。随后,云端将校验成功的结果和通信密钥返回给终端设备200。
终端设备200随后可以将该通信密钥发送给蓝牙设备100。由于蓝牙设备100知晓秘密数据(以及可选地知晓随机数)以及通信密钥的生成方法,因此可以通过校验该通信密钥(即,秘密数据相匹配)实现设备对云端的认证。随后,终端设备200和蓝牙设备100可以使用各自保有的通信密钥进行加密通信。
由此,通过仅由物联网设备和云端平台知晓的秘密数据的引入,能够实现云端平台对物联网设备身份的高安全性认证,并且避免其他设备对秘密数据的知晓。为了确保安全性,可以避免秘密数据以明文或是其他可推出的形式在空中传播,由此即便终端设备知晓校验数据,或是校验数据被他方截获,也无法从中恢复出完整的秘密数据。利用本机和云端存储秘密数据,配合云端能力,在设备连接时进行鉴权,鉴权完成后使用密文传输。由此,可以在不使用非对称加密和安全芯片情况下,达到满足大部分蓝牙IoT单品的安全要求。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (46)
1.一种设备连接方法,包括:
第一设备广播数据包;
第二设备接收所述数据包,并向服务器发送所述第一设备的相关数据;
所述第一设备基于本机存储的秘密数据生成校验数据,并向所述第二设备发送所述校验数据;
所述第二设备向所述服务器转发所述校验数据;
所述服务器基于所述相关数据查找所述第一设备对应的所述秘密数据,并基于所述秘密数据对所述校验数据进行校验;以及
所述第二设备基于所述校验成功,完成所述第一设备连接所述第二设备的认证。
2.如权利要求1所述的方法,其中,所述数据包包括所述第一设备的唯一身份标识符,并且所述第二设备向所述服务器发送的所述第一设备的相关数据包括所述第一设备的唯一身份标识符。
3.如权利要求1所述的方法,其中,第二设备接收所述数据包,并向服务器发送所述第一设备的相关数据包括:
所述第二设备基于所述数据包确定要连接的目标服务器;
连接所述目标服务器;以及
向连接的所述目标服务器发送所述第一设备的相关数据。
4.如权利要求1所述的方法,其中,所述第一设备基于本机存储的秘密数据生成校验数据包括:
所述第一设备以无法反推出完整秘密数据的方式生成校验数据。
5.如权利要求1所述的方法,还包括:
所述服务器和所述第一设备按照预定规则基于各自保有的秘密数据各自生成通信密钥;
所述服务器将所述通信密钥发送给所述第二设备;以及
使用所述通信密钥进行所述第一设备和所述第二设备之间的数据加密通信。
6.如权利要求1所述的方法,其中,所述第一设备基于本机存储的秘密数据生成校验数据包括:
所述第一设备基于一个随机数和所述秘密数据生成校验数据。
7.如权利要求6所述的方法,其中,所述第一设备基于一个随机数和所述秘密数据生成校验数据包括:
所述服务器生成随机数并经由所述第二设备下发至所述第一设备;
所述第一设备基于所述秘密数据和所述随机数生成校验数据,并且
所述服务器基于所述秘密数据对所述校验数据进行校验包括:
所述服务器基于所述随机数和所述秘密数据对所述校验数据进行校验。
8.如权利要求7所述的方法,还包括:
所述服务器和所述第一设备按照预定规则基于所述秘密数据和所述随机数各自生成通信密钥;
所述服务器将所述通信密钥发送给所述第二设备;以及
使用所述通信密钥进行所述第一设备和所述第二设备之间的数据加密通信。
9.如权利要求8所述的方法,其中,所述通信密钥基于所述秘密数据、所述随机数以及所述第一设备的唯一身份标识符生成,其中在所述数据包中包括所述第一设备的唯一身份标识符,并且从生成的通信密钥中无法反推完整秘密数据。
10.如权利要求6所述的方法,其中,在所述第一设备每次尝试连接所述第二设备时,使用不同的随机数进行所述相互验证。
11.如权利要求10所述的方法,还包括:
所述服务器记录预定时间段内所述第一设备每次尝试连接所述第二设备时使用的随机数;以及
所述服务器在记录的随机数中包括重复的随机数时,判定所述第二设备已被破解。
12.如权利要求1所述的方法,其中,所述第一设备和所述第二设备经由蓝牙协议进行连接。
13.一种用于设备连接的云端认证系统,包括第一设备、第二设备和服务器,其中,
所述第一设备用于:
广播包含自身信息的数据包;
生成并发送基于本机存储的秘密数据的校验数据,
所述第二设备用于:
接收所述数据包,并向所述服务器发送所述第一设备的相关数据;
接收来自所述第一设备的校验数据并向所述服务器进行转发,以及
在所述服务器校验通过时,完成与所述第一设备的连接认证,
所述服务器用于:
接收所述第二设备发送的所述第一设备的相关数据;
基于所述相关数据查找所述第一设备对应的秘密数据;
接收所述第二设备发送的所述校验数据并基于查找到的所述秘密数据进行校验。
14.如权利要求13所述的系统,其中,所述第一设备以无法反推出所述完整秘密数据的方式生成所述校验数据。
15.如权利要求13所述的系统,其中,所述第二设备用于:
基于所述数据包中包含的标识,确定要连接的目标服务器;
连接所述目标服务器;以及
向连接的所述目标服务器发送所述第一设备的相关数据。
16.如权利要求13所述的系统,其中,
所述第一设备用于:
按照预定规则基于所述秘密数据生成通信密钥,
所述服务器用于:
按照所述预定规则基于所述秘密数据生成相同的通信密钥;
将生成的所述通信密钥发送给所述第二设备,以供所述第一设备和所述第二设备使用所述通信密钥进行数据加密通信。
17.如权利要求13所述的系统,其中,
所述第一设备用于:
基于一个随机数和所述秘密数据生成所述校验数据;以及
所述服务器用于:
基于所述随机数和所述秘密数据对所述校验数据进行校验。
18.如权利要求17所述的系统,其中,
所述服务器用于:
生成所述随机数,并将所述随机数发送给所述第二设备,
所述第一设备用于:
接收所述第二设备下发的所述随机数,并且基于所述随机数进行所述校验数据的生成。
19.如权利要求18所述的系统,其中,
所述第一设备用于:
按照预定规则基于所述秘密数据和所述随机数生成通信密钥,
所述服务器用于:
按照所述预定规则基于所述秘密数据和所述随机数生成相同的通信密钥;
将生成的所述通信密钥发送给所述第二设备,以供所述第一设备和所述第二设备使用所述通信密钥进行数据加密通信。
20.如权利要求19所述的系统,其中,所述通信密钥基于所述秘密数据、所述随机数以及所述第一设备的唯一身份标识符生成,其中在所述数据包中包括所述第一设备的唯一身份标识符,并且从生成的通信密钥中无法反推完整秘密数据。
21.如权利要求17所述的系统,其中,在所述第一设备每次尝试连接所述第二设备时,所述系统使用不同的随机数进行所述相互验证。
22.如权利要求21所述的系统,其中,所述服务器用于:
记录预定时间段内所述第一设备每次尝试连接所述第二设备时使用的随机数;以及
在记录的随机数中包括重复的随机数时,判定所述第一设备已被破解。
23.如权利要求13所述的系统,其中,所述第一设备是物联网设备,并且所述服务器所在的云端平台存储有能够通过第二设备与所述服务器相连以完成与所述第二设备的连接认证的每个第一设备的唯一身份标识符及其对应的秘密数据。
24.一种物联网设备,包括:
通信装置,用于:
广播数据包,所述数据包包括需要经由服务器完成与其他设备的连接认证的第一内容以及指示所述物联网设备身份的第二内容;
发送基于本机存储的秘密数据生成的校验数据,
处理器,用于:
基于本机存储的秘密数据生成的校验数据;
在接收到校验成功的消息后完成与所述其他设备的连接认证,
存储器,用于:
存储秘密数据以及用于生成数据包的数据。
25.如权利要求24所述的设备,其中,所述存储器包括:
将指示所述物联网设备身份的唯一身份标识符和所述秘密数据烧录存储的烧录存储装置。
26.如权利要求24所述的设备,其中,所述数据包包括的所述第一内容是所述数据包中的公司标识符。
27.如权利要求24所述的设备,其中,所述校验数据以无法反推出完整秘密数据的方式生成。
28.如权利要求24所述的设备,其中,在完成与所述其他设备的连接认证之后,所述物联网设备使用基于所述秘密数据生成的通信密钥对向所述其他设备的通信数据进行加密。
29.如权利要求24所述的设备,其中,
所述处理器,用于:
基于所述秘密数据和一个随机数生成所述校验数据。
30.如权利要求29所述的设备,其中,
所述通信装置,用于:
接收所述随机数,并且
所述处理器用于:
基于所述秘密数据和所述随机数生成所述通信密钥。
31.如权利要求29所述的设备,其中,在所述物联网设备每次尝试连接所述其他设备时,使用不同的随机数生成所述校验数据。
32.一种终端设备,包括用于与物联网设备通信的第一通信装置、与服务器通信的第二通信装置、处理器和存储器,其中,
所述第一通信装置,用于:
接收所述物联网设备广播的数据包;
接收所述物联网设备基于本机存储的秘密数据生成的校验数据,
所述第二通信装置,用于:
向服务器发送所述物联网设备的相关数据;
向所述服务器发送从所述物联网设备接收的校验数据,以使得所述服务器能够基于所述相关数据查找出所述物联网设备对应的秘密数据并使用所述秘密数据对所述校验数据进行校验,
所述处理器,用于:
基于所述服务器对所述校验数据的校验成功,完成与所述物联网设备的连接认证。
33.如权利要求32所述的设备,其中,在完成与所述物联网设备的连接认证之后,所述第二通信装置用于:
从所述服务器接收通信密钥,所述通信密钥基于所述查找出的秘密数据生成;以及
所述处理器用于:
使用所述通信密钥,经由所述第一通信装置与所述物联网设备进行数据加密通信。
34.如权利要求32所述的设备,其中,
所述处理器,用于:
从所述数据包中获取需要经由服务器完成与其他设备的连接认证的第一内容以及指示所述物联网设备身份的第二内容,并且
所述第二通信装置,用于:
基于所述第一内容连接相应的服务器;以及
将所述第二内容发送给所述服务器。
35.如权利要求32所述的设备,其中,
所述第二通信装置,用于:
接收所述服务器发送的随机数,并且
所述第一通信装置,用于:
将接收的所述随机数发送至所述物联网设备,用于所述校验数据的生成。
36.如权利要求35所述的设备,其中,所述终端设备在每次与所述物联网设备连接时,使用不同的随机数进行连接认证。
37.如权利要求36所述的设备,其中,
所述第二通信装置,用于:
接收所述服务器发出的指示连接认证随机数重复的通知,以及
所述处理器,用于:
指示所述第一通信装置断开与所述物联网设备的连接。
38.一种与物联网设备连接的方法,包括:
接收所述物联网设备广播的数据包;
向服务器发送所述物联网设备的相关数据;
向所述服务器发送从所述物联网设备接收的校验数据,其中所述校验数据基于所述物联网设备本机存储的秘密数据生成,以使得所述服务器能够基于所述相关数据查找出所述物联网设备对应的秘密数据并使用所述秘密数据对所述校验数据进行校验;以及
基于所述服务器的校验成功,完成连接所述物联网设备的认证。
39.如权利要求38所述的方法,还包括:
从所述服务器接收通信密钥,其中,所述通信密钥基于所述服务器查找出的秘密数据生成;以及
使用所述通信密钥,与所述物联网设备进行数据加密通信。
40.如权利要求38所述的方法,还包括:
从所述数据包中获取需要经由服务器完成与其他设备的连接认证的第一内容以及指示所述物联网设备身份的第二内容;
基于所述第一内容连接相应的服务器;以及
将所述第二内容发送给所述服务器。
41.如权利要求38所述的方法,还包括:
接收所述服务器发送的随机数;以及
将接收的所述随机数发送至所述物联网设备,用于所述校验数据的生成。
42.如权利要求41所述的方法,其中,所述终端设备在每次与所述物联网设备连接时,使用不同的随机数进行连接认证。
43.如权利要求42所述的方法,还包括:
接收所述服务器发出的指示连接认证随机数重复的通知;以及
断开与所述物联网设备的连接。
44.一种设备连接方法,包括:
第一设备广播数据包;
第二设备接收所述数据包,并向服务器发送所述第一设备的相关数据;
所述服务器基于所述相关数据查找所述第一设备对应的所述秘密数据,并基于所述秘密数据生成校验数据;
所述第二设备向所述第一设备转发所述校验数据;
所述第一设备使用本机存储的秘密数据对所述校验数据进行校验;
所述第二设备基于所述校验成功,完成所述第一设备连接所述第二设备的认证。
45.如权利要求44所述的方法,还包括:
所述服务器和所述第一设备按照预定规则基于各自保有的秘密数据各自生成通信密钥;
所述服务器将所述通信密钥发送给所述第二设备;以及
使用所述通信密钥进行所述第一设备和所述第二设备之间的数据加密通信。
46.如权利要求45所述的方法,还包括:
所述服务器在对所述第一设备发送给所述第二设备的加密数据进行验证后,完成对所述第一设备的认证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910809065.3A CN112448970A (zh) | 2019-08-29 | 2019-08-29 | 设备连接方法、系统及相应的物联网设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910809065.3A CN112448970A (zh) | 2019-08-29 | 2019-08-29 | 设备连接方法、系统及相应的物联网设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112448970A true CN112448970A (zh) | 2021-03-05 |
Family
ID=74742392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910809065.3A Pending CN112448970A (zh) | 2019-08-29 | 2019-08-29 | 设备连接方法、系统及相应的物联网设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112448970A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090287922A1 (en) * | 2006-06-08 | 2009-11-19 | Ian Herwono | Provision of secure communications connection using third party authentication |
CN103532963A (zh) * | 2013-10-22 | 2014-01-22 | 中国联合网络通信集团有限公司 | 一种基于物联网设备认证方法、装置和系统 |
CN105871920A (zh) * | 2016-06-08 | 2016-08-17 | 美的集团股份有限公司 | 终端与云服务器的通讯系统及方法、终端、云服务器 |
CN107277061A (zh) * | 2017-08-08 | 2017-10-20 | 四川长虹电器股份有限公司 | 基于iot设备的端云安全通信方法 |
CN107682363A (zh) * | 2017-11-02 | 2018-02-09 | 苏州国芯科技有限公司 | 智能家居产品安全通讯方法、系统及计算机可读存储介质 |
CN108282329A (zh) * | 2017-01-06 | 2018-07-13 | 中国移动通信有限公司研究院 | 一种双向身份认证方法及装置 |
CN108347404A (zh) * | 2017-01-24 | 2018-07-31 | 中国移动通信有限公司研究院 | 一种身份认证方法及装置 |
CN108429717A (zh) * | 2017-02-13 | 2018-08-21 | 中国移动通信有限公司研究院 | 一种身份认证方法及装置 |
CN109640326A (zh) * | 2018-11-16 | 2019-04-16 | 深圳绿米联创科技有限公司 | 权限管理方法、装置、系统及移动终端 |
-
2019
- 2019-08-29 CN CN201910809065.3A patent/CN112448970A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090287922A1 (en) * | 2006-06-08 | 2009-11-19 | Ian Herwono | Provision of secure communications connection using third party authentication |
CN103532963A (zh) * | 2013-10-22 | 2014-01-22 | 中国联合网络通信集团有限公司 | 一种基于物联网设备认证方法、装置和系统 |
CN105871920A (zh) * | 2016-06-08 | 2016-08-17 | 美的集团股份有限公司 | 终端与云服务器的通讯系统及方法、终端、云服务器 |
CN108282329A (zh) * | 2017-01-06 | 2018-07-13 | 中国移动通信有限公司研究院 | 一种双向身份认证方法及装置 |
CN108347404A (zh) * | 2017-01-24 | 2018-07-31 | 中国移动通信有限公司研究院 | 一种身份认证方法及装置 |
CN108429717A (zh) * | 2017-02-13 | 2018-08-21 | 中国移动通信有限公司研究院 | 一种身份认证方法及装置 |
CN107277061A (zh) * | 2017-08-08 | 2017-10-20 | 四川长虹电器股份有限公司 | 基于iot设备的端云安全通信方法 |
CN107682363A (zh) * | 2017-11-02 | 2018-02-09 | 苏州国芯科技有限公司 | 智能家居产品安全通讯方法、系统及计算机可读存储介质 |
CN109640326A (zh) * | 2018-11-16 | 2019-04-16 | 深圳绿米联创科技有限公司 | 权限管理方法、装置、系统及移动终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113055867B (zh) | 终端辅助配网的方法和装置、电子设备 | |
CN104427501B (zh) | 网络接入方法、装置和系统 | |
EP1982547B1 (en) | Method and system for recursive authentication in a mobile network | |
EP3700124B1 (en) | Security authentication method, configuration method, and related device | |
CN111669276A (zh) | 一种网络验证方法、装置及系统 | |
CN108322902A (zh) | 一种数据传输方法与数据传输系统 | |
WO2016201733A1 (zh) | 安全验证方法、安全验证装置和安全验证系统 | |
EP4099733A1 (en) | Security authentication method and apparatus, and electronic device | |
CN112737902B (zh) | 网络配置方法和装置、存储介质及电子设备 | |
KR101297648B1 (ko) | 서버와 디바이스간 인증방법 | |
WO2019056957A1 (zh) | 数据处理、身份认证方法及系统、终端 | |
CN112672351A (zh) | 无线局域网认证方法及装置、电子设备、存储介质 | |
JP4405309B2 (ja) | アクセスポイント、無線lan接続方法、無線lan接続プログラムを記録した媒体および無線lanシステム | |
WO2022111187A1 (zh) | 终端认证方法、装置、计算机设备及存储介质 | |
KR101835640B1 (ko) | 통신 연결 인증 방법, 그에 따른 게이트웨이 장치, 및 그에 따른 통신 시스템 | |
CN112449323B (zh) | 一种通信方法、装置和系统 | |
WO2014127751A1 (zh) | 无线终端配置方法及装置和无线终端 | |
WO2017012204A1 (zh) | 无线连接方法、终端及无线访问接入点、计算机存储介质 | |
CN116847341A (zh) | 一种网络连接方法及终端、待配网设备、存储介质 | |
CN110784865A (zh) | 物联网设备的配网方法、终端、物联网设备及配网系统 | |
CN115868189A (zh) | 建立车辆安全通信的方法、车辆、终端及系统 | |
JP5721183B2 (ja) | 無線lan通信システム、無線lan親機、通信接続確立方法、及びプログラム | |
CN103763697A (zh) | 一种无线接入点多密钥支持系统及方法 | |
CN111132373A (zh) | 网络连接方法、装置及设备 | |
CN112448970A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210305 |