掌桥专利:专业的专利平台
掌桥专利
首页

设备认证方法、装置、设备和系统

文献发布时间:2023-06-19 11:45:49


设备认证方法、装置、设备和系统

技术领域

本发明涉及物联网技术领域,尤其涉及一种设备认证方法、装置、设备和系统。

背景技术

随着物联网技术的不断发展,越来越多的电子设备可以通过各种物联网通信协议进行网络通信,比如低功耗蓝牙(Bluetooth Low Energy,简称BLE)、WiFi、Zigbee等通信协议。

常见的一种实际应用场景为:用户通过手机与家里的比如音箱、扫地机器人等物联网设备建立通信连接,进而,对这些物联网设备进行控制。

在上述应用场景中,为保证诸如音箱、扫地机器人等物联网设备的安全性,物联网设备需要对与其连接的诸如手机等设备进行身份认证,以认证该手机是否可以与自己进行通信。

发明内容

本发明实施例提供一种设备认证方法、装置、设备和系统,用以实现对连接物联网设备的设备进行身份认证。

第一方面,本发明实施例提供一种设备认证方法,应用于与物联网设备连接的终端设备,包括:

获取所述物联网设备的设备标识;

向服务器发送密钥获取请求,所述密钥获取请求中包括所述设备标识和所述终端设备的身份信息;

接收所述服务器在根据所述身份信息确定所述终端设备具有与所述物联网设备通信的权限后反馈的第一密钥;

根据所述第一密钥加密认证请求信息;

将加密后的认证请求信息发送至所述物联网设备,其中,若所述物联网设备能够根据本地获得的第二密钥解密得到所述认证请求信息则确定所述终端设备的身份符合条件。

第二方面,本发明实施例提供一种设备认证装置,应用于与物联网设备连接的终端设备,包括:

获取模块,用于获取所述物联网设备的设备标识;

发送模块,用于向服务器发送密钥获取请求,所述密钥获取请求中包括所述设备标识和所述终端设备的身份信息;

接收模块,用于接收所述服务器在根据所述身份信息确定所述终端设备具有与所述物联网设备通信的权限后反馈的第一密钥;

第一加密模块,用于根据所述第一密钥加密认证请求信息;

所述发送模块,还用于将加密后的认证请求信息发送至所述物联网设备,其中,若所述物联网设备能够根据本地获得的第二密钥解密得到所述认证请求信息则确定所述终端设备的身份符合条件。

第三方面,本发明实施例提供一种终端设备,该终端设备与物联网设备连接,该终端设备包括第一处理器和第一存储器,其中,所述第一存储器上存储有可执行代码,当所述可执行代码被所述第一处理器执行时,使所述第一处理器执行第一方面中的设备认证方法。

本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被终端设备的处理器执行时,使所述处理器执行第一方面中的设备认证方法。

第四方面,本发明实施例提供一种设备认证方法,应用于终端设备所连接的物联网设备,所述方法包括:

接收所述终端设备使用第一密钥加密的认证请求信息,所述第一密钥是所述终端设备根据所述物联网设备的设备标识和所述终端设备的身份信息从服务器中请求获得的,其中,所述服务器根据所述身份信息确定所述终端设备具有与所述物联网设备通信的权限后根据所述设备标识获取所述第一密钥;

获取第二密钥;

若根据所述第二密钥解密得到所述认证请求信息,则确定所述终端设备的身份符合条件。

第五方面,本发明实施例提供一种设备认证装置,应用于终端设备所连接的物联网设备,包括:

接收模块,用于接收所述终端设备使用第一密钥加密的认证请求信息,所述第一密钥是所述终端设备根据所述物联网设备的设备标识和所述终端设备的身份信息从服务器中请求获得的,其中,所述服务器根据所述身份信息确定所述终端设备具有与所述物联网设备通信的权限后根据所述设备标识获取所述第一密钥;

获取模块,用于获取第二密钥;

确定模块,用于若根据所述第二密钥解密得到所述认证请求信息,则确定所述终端设备的身份符合条件。

第六方面,本发明实施例提供一种物联网设备,该物联网设备与终端设备连接,该物联网设备包括第二处理器和第二存储器,其中,所述第二存储器上存储有可执行代码,当所述可执行代码被所述第二处理器执行时,使所述第二处理器执行第四方面中的设备认证方法。

本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被物联网设备的处理器执行时,使所述处理器执行第四方面中的设备认证方法。

第七方面,本发明实施例提供一种设备认证系统,包括:

物联网设备、与所述物联网设备连接的终端设备、服务器;

所述终端设备,用于获取所述物联网设备的设备标识,向所述服务器发送密钥获取请求,所述密钥获取请求中包括所述设备标识和所述终端设备的身份信息,接收所述服务器反馈的第一密钥,根据所述第一密钥加密认证请求信息,将加密后的认证请求信息发送至所述物联网设备;

所述服务器,用于在根据所述身份信息确定所述终端设备具有与所述物联网设备通信的权限后反馈所述第一密钥至所述终端设备;

所述物联网设备,用于若能够根据本地获得的第二密钥解密得到所述认证请求信息则确定所述终端设备的身份符合条件。

本发明实施例提供了一种通用的设备认证方案,在该方案中,物联网设备需要对连接其的终端设备进行身份认证。具体地,终端设备首先需要基于该物联网设备的设备标识从服务器中请求获得与该物联网设备进行通信所需的密钥,称为第一密钥。而服务器提供给终端设备该第一密钥的前提是,服务器根据该终端设备的身份信息以及该物联网设备的设备标识确定该终端设备具有与该物联网设备进行通信的权限,即相当于服务器先对该终端设备进行了身份认证。当终端设备获得服务器反馈的第一密钥后,使用该第一密钥加密设定的认证请求信息,并将加密后的认证请求信息发送至该物联网设备。物联网设备若能够根据本地获得的第二密钥(第二密钥与第一密钥对应)解密得到该设定的认证请求信息,则说明该终端设备确实是以正确的密钥加密了约定好的认证请求信息,从而最终确定该终端设备的身份符合条件,完成了对该终端设备的身份认证。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的设备认证系统的一种工作流程示意图;

图2为本发明实施例提供的设备认证系统的另一种工作流程示意图;

图3为本发明实施例提供的设备认证系统的另一种工作流程示意图;

图4为本发明实施例提供的一种设备认证装置的结构示意图;

图5为与图4所示实施例提供的设备认证装置对应的终端设备的结构示意图;

图6为本发明实施例提供的另一种设备认证装置的结构示意图;

图7为与图6所示实施例提供的设备认证装置对应的物联网设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。

在具体介绍本发明实施例提供的设备认证方案前,先对本文中涉及到的几个概念进行说明。

本文中的服务器可以是位于云端的独立的物理主机或主机集群。

本文中的物联网设备可以是诸如冰箱、音箱、机器人等设备,该物联网设备可以支持诸如低功耗蓝牙(Bluetooth Low Energy,简称BLE)、WiFi、Zigbee等任一种通信协议。

本文中与物联网设备连接的终端设备可以是手机、平板电脑等用户终端设备,该终端设备与物联网设备的连接可以是通过上述举例的任一种通信协议实现的,比如通过BLE协议连接。

在一些实际应用场景中,该终端设备与物联网设备连接的目的可以是:终端设备控制物联网设备的运行。比如,终端设备为用户的手机,物联网设备为该用户家中的一台音箱,用户可以建立手机与音箱之间的蓝牙连接,进而,基于该蓝牙连接向音箱下发诸如开关等控制指令,以控制音箱的运行。

基于该上述应用场景的举例,在终端设备中实际上可以运行有一个控制APP,终端设备具体可以是通过该控制APP与物联网设备进行通信交互的。

下面再说明一下本文中设备认证的目的:物联网设备需要对连接其的终端设备进行身份认证,只有该终端设备通过了身份认证,才能与该物联网设备进行正常的数据通信。

下面对本发明实施例提供的设备认证方案的执行过程进行说明。

图1为本发明实施例提供的设备认证系统的一种工作流程示意图,如图1所示,该设备认证系统包括:物联网设备、与该物联网设备连接的终端设备、服务器。

首先,需要说明的是,在执行如下步骤示意的设备认证过程的前,终端设备与物联网设备已经建立了通信连接,比如BLE连接。其次,在某终端设备每次与某物联网设备进行连接后,都可以基于本实施例提供的下述设备认证过程完成该物联网设备对该终端设备的身份认证,但是,可选地,也可以是只有在该终端设备首次与该物联网设备进行连接后才按照本实施例提供的下述设备认证过程完成该物联网设备对该终端设备的身份认证,后续再次与该物联网设备进行连接时,该物联网设备可以基于上一次对该终端设备进行认证所产生的相关信息完成本地对该终端设备的身份认证,这将在后续其他实施例中说明。

本实施例提供的设备认证过程可以包括如下步骤:

101、终端设备获取物联网设备的设备标识。

本实施例中,假设物联网设备中预先已经被烧录有设备标识以及下文中提到的私钥。该设备标识可以是一串字符,用于区别不同的物联网设备。

可选地,终端设备可以基于已经与物联网设备之间建立的通信连接,向物联网设备发送请求,以请求该物联网设备的设备标识。

可选地,物联网设备还可以被配置为在满足某触发条件时,不断向外广播发送管理帧,在该管理帧中携带自身的设备标识,从而,侦听到该管理帧的上述终端设备可以从该管理帧中解析出该物联网设备的设备标识。其中,该触发条件比如可以是物联网设备上电、物联网设备与终端设备建立通信连接,等等。

其中,上述管理帧与物联网所支持的通信协议相匹配,比如,当采用BLE通信协议时,该管理帧可以是符合BLE协议的信标(beacon)帧、探测请求(probe response)帧。

102、终端设备向服务器发送密钥获取请求,密钥获取请求中包括物联网设备的设备标识和终端设备的身份信息。

103、服务器在根据终端设备的身份信息确定终端设备具有与物联网设备通信的权限后获取与物联网设备对应的第一密钥。

104、服务器将第一密钥发送至终端设备。

在本实施例中,概括来说,物联网设备可以借助云端的服务器来协助完成对连接其的终端设备进行身份认证。

具体来说,首先,终端设备在获取到其所连接的物联网设备的设备标识后,可以向服务器发送包括该物联网设备的设备标识以及自身的身份信息的密钥获取请求。该密钥获取请求的目的是获取与物联网设备进行数据传输所需的加密密钥。

服务器协助物联网设备完成对该终端设备的身份认证,该协助作用主要体现为:服务器对该终端设备是否具有与物联网设备通信的权限进行认证,其中,具体包括两个方面:第一,该终端设备是否是已经在服务器中注册;第二,该终端设备是否具有与该物联网设备通信的权限。

具体来说,如前文所述,实际应用中,终端设备具体可以是通过一个控制APP来与某物联网设备进行通信交互的。用户在安装该控制APP到终端设备中时,在该控制APP中填写相关的注册信息,比如用户名、登录密码等信息,该注册信息被提交至服务器进行存储。从而,上述第一方面中所说的:服务器确定上述终端设备是否是已经服务器中注册,实际上是指服务器提示该终端设备的用户进行APP登录操作,如果该用户输入的登录信息与服务器中存储的注册信息匹配,则认为该终端设备是已经注册的。

另外,在注册过程中,用户除了进行上述用户名、登录密码的注册外,还可以根据实际需求进行对物联网设备的操作权限的注册,即注册可以对哪些物联网设备进行操作。比如,某用户购买了一台XUZ品牌的空调,若想要对该空调进行智能控制,则可以在手机中安装与该空调对应的控制APP,在该控制APP中进行用户名、登录密码的注册,以及对该空调的操作权限的注册。具体举例来说,在该空调中可以提供包含该空调的设备标识的二维码,用户可以通过操作该控制APP扫描该二维码以自动地获得该空调的设备标识,进而,将用户注册的用户名、登录密码、该空调的设备标识提交到服务器中,以便服务器完成注册过程。

基于此,上述第二方面中所说的服务器确定终端设备是否具有与物联网设备通信的权限是指,如果用户输入的用户名、登录密码正确,那么可以查询是否存在与该用户名对应的设备标识,如果查询到的设备标识与服务器接收到的上述密钥获取请求中所包含的物联网设备的设备标识一致,则认为该终端设备具有与该物联网设备通信的权限。

基于上述介绍可知,步骤102中所说的终端设备的身份信息可以是上述举例的用户名、登录密码。

服务器在确定终端设备具有与物联网设备通信的权限后,获取与该物联网设备对应的第一密钥,并反馈给终端设备,以用于终端设备与物联网设备间的加密通信。

其中,可选地,如前文所述,物联网设备中预先可以烧录有该物联网设备的私钥,与此相适应地,在服务器中可以预先存储有与该私钥对应的公钥,从而,上述第一密钥可以是该公钥。

另外,可选地,在服务器中可以预先存储有该私钥,此时,第一密钥也可以通过如下方式获取:

终端设备在向服务器发送上述密钥获取请求前,先产生一串随机数,称为第一随机数,进而,在发送给服务器的密钥获取请求中携带该第一随机数。服务器在确定终端设备具有与物联网设备通信的权限后,可以根据该密钥获取请求中携带的物联网设备的设备标识查询到该物联网设备的私钥后,进而对该第一随机数和私钥进行加密计算得到第一密钥。其中,加密计算可以采用MD5、SHA1、SHA256等算法实现。

可以理解的是,如果服务器确定终端设备不具有与物联网设备通信的权限,则可以直接拒绝终端设备的密钥获取请求,此时,终端设备不会获得服务器提供的第一密钥,由于第一密钥的获取失败,最终会导致终端设备不能通过物联网设备的身份认证,从而终端设备无法进行与物联网设备的通信交互。

另外,可以采用安全传输层协议(Transport Layer Security,简称TLS)来保证终端设备(即控制APP)与服务器之间的通信安全性。

105、终端设备根据第一密钥加密设定的认证请求信息。

其中,该设定的认证请求信息可以是预先设定的一串字符,比如为:hi,server等预先设定的内容。使用第一密钥加密该认证请求信息所采用的加密算法可以是AES128-CBD、AES256-CBC等任一种对称加解密算法,当然,不以此为限。

106、终端设备将加密后的认证请求信息发送至物联网设备。

107、物联网设备若能够根据本地获得的第二密钥解密得到认证请求信息则确定终端设备的身份符合条件。

与前述示意的终端设备获取第一密钥的两种方式相对应地,物联网设备获取第二密钥的方式也可以有如下两种可选方式:

第一种,当服务器反馈给终端设备的第一密钥是预先存储的与物联网设备对应的公钥时,物联网设备直接以本地存储的私钥作为第二密钥,对终端设备发送的加密的认证请求信息进行解密。

第二种,若服务器反馈给终端设备的第一密钥是服务器根据终端设备产生的第一随机数和物联网设备对应的私钥生成的,则终端设备具体可以将加密后的认证请求信息和该第一随机数发送至物联网设备。从而,物联网设备可以根据本地存储的私钥和该第一随机数生成第二密钥。生成第二密钥所采用的算法与生成第一密钥所采用的算法相同。

当物联网设备获得第二密钥后,使用该第二密钥对从终端设备获得的加密后的认证请求信息进行解密,若能够解密出该认证请求信息,且发现该认证请求信息确实是预先设定的内容,则该物联网设备最终确定该终端设备身份通过了认证(上述身份符合条件即为身份通过认证),反之,如果不能成功解密,或者说解密出的内容不是预先设定的内容,则最终确定该终端设备身份不合法,此时,物联网设备比如可以直接断开与该终端设备的通信连接。

物联网设备在确定终端设备通过了身份认证之后,物联网设备与终端设备之间便可以基于上述第一密钥和第二密钥进行加密的数据通信。也就是说,后续终端设备发送至物联网设备的消息都是经过第一密钥加密的,物联网设备使用第二密钥解密得到终端设备发送的消息。

由上述过程概括来说,如果物联网设备能够成功解密出终端设备发送的设定的内容,则该终端设备通过物联网设备对其的身份认证,反之,终端设备的身份认证不通过。而终端设备加密设定的内容的密钥是由服务器产生的,

另外,本实施例提供的设备认证方案,也可以避免中间人攻击的问题。所谓中间人攻击的问题,简单举例来说就是:A与B进行通信,C作为攻击者,如果拦截了A发送给B的消息,伪装成A,发送其他消息给B,那么对A与B之间的通信安全无疑会造成严重威胁,此时,C即为作为攻击者的中间人。

对应于本实施例提供的设备认证方案,A相当于终端设备,B相当于物联网设备。避免中间人攻击的原因是:假设有一个攻击者C想要伪装成终端设备来攻击物联网设备,那么该攻击者C需要获取到上述第一密钥。而该第一密钥是由服务器产生的,攻击者C无法通过服务器获得该第一密钥,从而,也就无法攻击物联网设备。

综上,通过上述实施例提供的设备认证方案,不但可以借助服务器实现物联网设备对连接其的终端设备的身份认证,还可以避免中间人攻击的问题。

图1所示实施例主要是从技术核心的角度对设备认证方案的核心执行过程进行了说明,下面结合图2所示实施例介绍一种该设备认证方案在实际应用中的具体执行过程。

图2为本发明实施例提供的设备认证系统的另一种工作流程示意图,如图2所示,设备认证过程可以包括如下步骤:

201、终端设备与物联网设备建立蓝牙通信连接。

202、物联网设备广播发送信标帧,信标帧中包括物联网设备的设备标识。

203、终端设备从信标帧中解析出物联网设备的设备标识,产生第一随机数。

204、终端设备向服务器发送密钥获取请求,密钥获取请求中包括物联网设备的设备标识、终端设备的身份信息和第一随机数。

205、服务器在根据终端设备的身份信息确定终端设备具有与物联网设备通信的权限后,根据设备标识查询物联网设备的私钥,对第一随机数和私钥进行计算得到第一密钥。

206、服务器将第一密钥发送至终端设备。

207、终端设备根据第一密钥加密设定的认证请求信息。

208、终端设备将第一随机数和加密后的认证请求信息发送至物联网设备。

209、物联网设备根据私钥和第一随机数生成第二密钥,若根据第二密钥解密得到设定的认证请求信息则确定终端设备的身份符合条件。

以上各步骤的执行过程可以参见前述实施例中的说明,在此不赘述。

210、物联网设备生成与第二密钥对应的第一编号,存储第一编号与第二密钥的对应关系。

第一编号的作用是用于标识该第二密钥。

211、物联网设备使用第二密钥加密第一编号和认证响应信息,以得到加密信息。

与认证请求信息相似地,该认证响应信息也是预先设定的内容,比如可以是:yes,Iam server。

实际应用中,该认证响应信息是可选的,该认证响应信息的作用就是告知终端设备其通过了物联网设备的身份认证。

212、物联网设备将加密信息发送至终端设备。

213、终端设备根据第一密钥解密出第一编号和认证响应信息,存储第一密钥和第一编号的对应关系。

由于第一密钥与第二密钥其实是对应的,所以终端设备可以通过第一密钥解密出经过第二密钥加密的加密信息。

214、终端设备使用第一密钥与物联网设备进行密文的数据传输。

215、若满足连接中断条件,则终端设备断开与物联网设备之间的蓝牙通信连接。

其中,连接中断条件可以是终端设备暂时没有消息需要发送至物联网设备,所以用户主动触发了中断终端设备与物联网设备之间的蓝牙通信连接的操作,或者,也可以是终端设备或者物联网设备在发现已经有一定时长未与对方有消息的传输时,中断了与对方的蓝牙通信连接。

本实施例中,终端设备首次与物联网设备建立通信连接后,可以通过上述步骤201-212完成该物联网设备对终端设备的身份认证。通过步骤210-213,可以使得终端设备侧存储有本次认证过程中产生的第一密钥与第一编号的对应关系,使得物联网设备侧存储有本次认证过程中产生的第二密钥与第一编号的对应关系,而该对应关系将在后续该终端设备与该物联网设备的再次连接情形下,作用于该物联网设备对该终端设备的再次身份认证过程中,在后续的该物联网设备对该终端设备的再次身份认证过程中,将不再需要服务器的协助。

下面结合图3来说明物联网设备对终端设备的再次身份认证过程。

在图3中,基于终端设备中存储有第一密钥与第一编号的对应关系,物联网设备中存储有第二密钥与第一编号的对应关系这个前提假设,如图3所示,此时,物联网设备对终端设备的身份认证过程可以包括如下步骤:

301、响应于与物联网设备再次建立通信连接,终端设备查询本地存储的与物联网设备对应的第一密钥和第一编号。

实际应用中,该通信连接比如为蓝牙通信连接。

可以理解的是,终端设备此前与该物联网设备建立通信连接后,可以存储有该物联网设备的设备标识或其他表征该物联网设备的信息,比如MAC地址,进而,在此前存储第一密钥和第一编号的对应关系时,可以将该对应关系与该信息(比如MAC地址)关联。从而,再次与该物联网设备连接时,可以根据该信息查询到第一密钥和第一编号的对应关系。

302、终端设备根据第一密钥对认证请求信息进行加密。

该认证请求信息仍旧为前文中示意的预设的内容。

303、终端设备将加密后的认证请求信息和第一编号发送至物联网设备。

304、物联网设备在根据本地查询到的与第一编号对应的第二密钥解密出认证请求信息时产生第二随机数,并根据第二随机数和第二密钥生成第三密钥以及生成与第三密钥对应的第二编号。

物联网设备接收到终端设备发送的第一编号后,查询本地是否存在该第一编号,若不存在,则直接判定该终端设备的身份不合法。若存在该第一编号,则查询与该第一编号对应的密钥:第二密钥。进而使用该第二密钥解密经终端设备加密后的认证请求信息。如果发现解密出的认证请求信息确实是预设的内容,则此时可以认为该终端设备身份合法,即通过了身份认证。

但是,为了进一步增加本次物联网设备与终端设备的通信连接期间,双方的信息传输安全性,本实施例中,物联网设备和终端设备会产生新的用于本次通信过程中的密钥。

具体地,物联网设备首先会产生第二随机数,进而根据第二随机数和第二密钥生成第三密钥,以及生成与第三密钥对应的第二编号。该第三密钥用于后续该物联网设备与终端设备之间的数据传输。第二编号用于标识该第三密钥。

305、物联网设备根据第二密钥加密第二随机数和第二编号以得到加密信息。

306、物联网设备向终端设备发送加密信息。

307、终端设备根据第一密钥解密加密信息,以得到第二随机数和第二编号。

308、终端设备根据第二随机数和第一密钥生成第四密钥,存储第四密钥和第二编号的对应关系,以及删除第一密钥和第一编号的对应关系。

在终端设备根据第二随机数和第一密钥生成新的第四密钥后,终端设备可以仅存储最新的密钥及其对应的编号:即第四密钥和第二编号的对应关系,从而删除掉已经过期的第一密钥和第一编号的对应关系。

309、终端设备向物联网设备发送确认通知。

310、物联网设备存储第三密钥和第二编号的对应关系,以及删除第二密钥和第一编号的对应关系。

与终端设备可以仅存储最新的密钥及其对应的编号相似地,物联网设备也可以仅存储最新的密钥及其对应的编号:即第三密钥和第二编号的对应关系。

311、终端设备使用第四密钥与物联网设备进行密文的数据传输。

终端设备后续与物联网设备进行诸如控制指令等的传输,可以使用新产生的第四密钥进行加密传输,相应地,物联网设备采用新的第三密钥进行解密。

基于本实施例提供的方案,物联网设备一旦与终端设备完成过一次身份认证,那么后续该物联网设备对该终端设备的身份认证将不再需要云端的服务器的参与,高效快捷。而且,每次认证过程中都会产生新的密钥,用于本地通信期间的安全数据传输,具有更高的数据安全等级。

值得说明的是,虽然从认证效率的角度来说,物联网设备一旦与终端设备完成过一次身份认证,后续该物联网设备对该终端设备的身份认证过程中可以无需服务器的参与,但是,出于安全性或不同应用场景的考虑,也可以在满足设定条件下再引入服务器的参与,此时,服务器参与下的认证过程可以参见图1-图2所示实施例。其中,该设定条件比如可以是周期性条件(每隔设定时长或设定认证次数引入服务器的参与)。

以下将详细描述本发明的一个或多个实施例的设备认证装置。本领域技术人员可以理解,这些设备认证装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。

图4为本发明实施例提供的一种设备认证装置的结构示意图,位于物联网设备所连接的终端设备中,如图4所示,该装置包括:获取模块11、发送模块12、接收模块13、第一加密模块14。

获取模块11,用于获取所述物联网设备的设备标识。

发送模块12,用于向服务器发送密钥获取请求,所述密钥获取请求中包括所述设备标识和所述终端设备的身份信息。

接收模块13,用于接收所述服务器在根据所述身份信息确定所述终端设备具有与所述物联网设备通信的权限后反馈的第一密钥。

第一加密模块14,用于根据所述第一密钥加密认证请求信息。

所述发送模块12,还用于将加密后的认证请求信息发送至所述物联网设备,其中,若所述物联网设备能够根据本地获得的第二密钥解密得到所述认证请求信息则确定所述终端设备的身份符合条件。

可选地,所述装置还包括:

第一生成模块,用于产生第一随机数。此时,所述密钥获取请求中还包括所述第一随机数;所述第一密钥是所述服务器根据所述设备标识查询到所述物联网设备的私钥后,对所述第一随机数和所述私钥进行加密计算得到的。

基于此,所述发送模块12具体用于:将加密后的认证请求信息和所述第一随机数发送至所述物联网设备,以供所述物联网设备根据自身的私钥和所述第一随机数生成所述第二密钥。

可选地,所述获取模块11具体用于:侦听所述物联网设备采用设定的通信协议广播发送的管理帧,所述管理帧中包括所述设备标识。

其中,所述管理帧为信标帧或探测请求帧;所述通信协议包括蓝牙通信协议。

可选地,所述接收模块13还用于:接收所述物联网设备发送的经所述第二密钥加密的第一编号,所述第一编号是所述物联网设备生成的与所述第二密钥对应的编号。此时,所述装置还包括:第一解密模块、第一存储模块。

第一解密模块,用于根据所述第一密钥解密出所述第一编号。

第一存储模块,用于存储所述第一密钥和所述第一编号的对应关系。

可选地,所述发送模块12还用于:使用所述第一密钥与所述物联网设备进行密文的数据传输。

可选地,所述装置还包括:连接控制模块,用于若满足连接中断条件,则断开与所述物联网设备之间的通信连接。

可选地,所述装置还包括:查询模块、第二加密模块、第二解密模块、第二生成模块及第二存储模块。其中:

查询模块,用于响应于与所述物联网设备再次建立通信连接,查询本地存储的与所述物联网设备对应的所述第一密钥和所述第一编号。

第二加密模块,还用于根据所述第一密钥对所述认证请求信息进行加密。

所述发送模块12,还用于将加密后的认证请求信息和所述第一编号发送至所述物联网设备,以使所述物联网设备在根据本地查询到的与所述第一编号对应的所述第二密钥解密出所述认证请求信息时产生第二随机数,并根据所述第二随机数和所述第二密钥生成第三密钥以及生成与所述第三密钥对应的第二编号。

所述接收模块13,还用于接收所述物联网设备发送的加密信息,所述加密信息是所述物联网设备根据所述第二密钥加密所述第二随机数和所述第二编号得到的。

第二解密模块,用于根据所述第一密钥解密所述加密信息,以得到所述第二随机数和所述第二编号。

第二生成模块,用于根据所述第二随机数和所述第一密钥生成第四密钥。

第二存储模块,用于存储所述第四密钥和所述第二编号的对应关系,以及删除所述第一密钥和所述第一编号的对应关系。

可选地,所述发送模块12还用于:使用所述第四密钥与所述物联网设备进行密文的数据传输。

图4所示装置可以执行前述各实施例中终端设备所执行的步骤,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。

在一个可能的设计中,上述图4所示的设备认证装置的结构可实现为一终端设备,该终端设备与物联网设备连接,该终端设备比如为手机、平板电脑、笔记本电脑等。如图5所示,该终端设备可以包括:第一处理器21、第一存储器22。其中,所述第一存储器22上存储有可执行代码,当所述可执行代码被所述第一处理器21执行时,至少使所述第一处理器21实现前述实施例中终端设备所执行的各步骤。

其中,该终端设备的结构中还可以包括第一通信接口23,用于与其他设备或通信网络通信。

另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被终端设备的处理器执行时,使所述处理器执行前述各实施例中的终端设备所执行的各步骤。

图6为本发明实施例提供的另一种设备认证装置的结构示意图,位于终端设备所连接的物联网设备,如图6所示,该装置包括:接收模块31、获取模块32、确定模块33。

接收模块31,用于接收所述终端设备使用第一密钥加密的认证请求信息,所述第一密钥是所述终端设备根据所述物联网设备的设备标识和所述终端设备的身份信息从服务器中请求获得的,其中,所述服务器根据所述身份信息确定所述终端设备具有与所述物联网设备通信的权限后根据所述设备标识获取所述第一密钥。

获取模块32,用于获取第二密钥。

确定模块33,用于若根据所述第二密钥解密得到所述认证请求信息,则确定所述终端设备的身份符合条件。

可选地,所述接收模块31具体用于:接收所述终端设备使用第一密钥加密的认证请求信息以及所述终端设备产生的第一随机数。所述获取模块32具体用于:根据所述物联网设备的私钥和所述第一随机数生成所述第二密钥。此时,所述第一密钥是所述服务器根据所述设备标识查询到所述物联网设备的私钥后,对所述第一随机数和所述私钥进行加密计算得到的。

可选地,所述装置还包括:发送模块,用于采用设定的通信协议广播发送管理帧,所述管理帧中包括所述设备标识,以使所述终端设备通过侦听所述管理帧获取到所述设备标识。

其中,可选地,所述管理帧为信标帧或探测请求帧;所述通信协议包括蓝牙通信协议。

可选地,所述装置还包括:生成模块、存储模块、加密模块。

生成模块,用于生成与所述第二密钥对应的第一编号。

存储模块,用于存储所述第二密钥和所述第一编号的对应关系。

加密模块,用于使用所述第二密钥加密所述第一编号。

所述发送模块,还用于将加密后的第一编号发送至所述终端设备,以使所述终端设备根据所述第一密钥解密出所述第一编号后,存储所述第一密钥和所述第一编号的对应关系。

可选地,所述发送模块还用于:使用所述第二密钥与所述物联网设备进行密文的数据传输。

可选地,所述装置还包括:连接控制模块,用于若满足连接中断条件,则断开与所述终端设备之间的通信连接。

可选地,所述接收模块31还用于:响应于与所述终端设备再次建立通信连接,接收所述终端设备发送的所述第一编号以及所述终端设备使用所述第一密钥加密的认证请求信息。此时,所述装置还包括:解密模块。

所述解密模块,用于在查询到存在与所述第一编号对应的所述第二密钥时,根据所述第二密钥解密出所述认证请求信息。

所述生成模块,还用于产生第二随机数,并根据所述第二随机数和所述第二密钥生成第三密钥以及生成与所述第三密钥对应的第二编号。

所述加密模块,还用于根据所述第二密钥加密所述第二随机数和所述第二编号,以得到加密信息。

所述发送模块,还用于将所述加密信息发送至所述终端设备,以使所述终端设备根据所述第一密钥解密得到所述第二随机数和所述第二编号后根据所述第二随机数和所述第一密钥生成第四密钥,并存储所述第四密钥和所述第二编号的对应关系,以及删除所述第一密钥和所述第一编号的对应关系。

所述存储模块,还用于存储所述第三密钥与所述第二编号的对应关系,以及删除所述第二密钥和所述第一编号的对应关系。

可选地,所述发送模块还用于:使用所述第三密钥与所述终端设备进行密文的数据传输。

图6所示装置可以执行前述各实施例中物联网设备所执行的步骤,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。

在一个可能的设计中,上述图6所示的设备认证装置的结构可实现为物联网设备,该物联网设备与终端设备连接,该物联网设备比如可以是智能家居设备、智能穿戴设备等设备。如图7所示,该物联网设备可以包括:第二处理器41、第二存储器42。其中,所述第二存储器42上存储有可执行代码,当所述可执行代码被所述第二处理器41执行时,至少使所述第二处理器41实现前述实施例中物联网设备所执行的各步骤。

其中,该物联网设备的结构中还可以包括第二通信接口43,用于与其他设备或通信网络通信。

另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被物联网设备的处理器执行时,使所述处理器执行前述各实施例中的物联网设备所执行的各步骤。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例提供的设备认证方法可以由某一种或多种程序/软件来执行,该程序/软件可以由网络侧提供,前述实施例中提及的终端设备、物联网设备可以将所需的相应程序/软件下载到本地的非易失性存储介质中,并在其需要执行前述设备认证方法时,通过CPU将该程序/软件读取到内存中,进而由CPU执行该程序/软件以实现前述实施例中所提供的设备认证方法,执行过程可以参见前述图1至图3中的示意。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 设备认证系统、制造商密钥生成装置、设备密钥生成装置、制造设备、协作认证装置、设备再生密钥生成装置、设备认证方法以及设备认证程序
  • 认证方法、信息采集设备、认证设备和认证系统
技术分类

06120113042580