一种身份认证方法及装置与流程

文档序号:12691950阅读:290来源:国知局
一种身份认证方法及装置与流程

本发明涉及物联网通信技术领域,具体而言,涉及一种身份认证方法及装置。



背景技术:

近年来,物联网设备的应用越来越普及。通过将各种硬件设备接入网络,可提供各领域智能应用所需的大数据,也可方便地通过智能手机或其它智能终端对设备进行控制和操作。一般来说,设备接入网络时需要有个设备标识,如果需要在云端注册的还要基于这个标识产生一个设备的“唯一身份标识”,常用的有条形码、PIN码、电子标签和二维码等方式。尤其是二维码,由于其可容纳信息量大和相对安全等特点,将会越来越多地被作为硬件设备标识使用。

二维码作为硬件设备的标识,提供了一个将该设备接入网络或开始操作该设备的入口。扫码二维码后触发的动作可能包括对应的APP安装、免安装的微信小程序调用,以及在APP或小程序中配置和操作该设备。二维码作为设备标识虽然相对安全,但目前的技术中没有提供身份认证过程,扫码后根据读取的厂商名称、设备类型、设备ID和(或)APP所在网址就会完成后续的安装、配置或注册等操作。即使有身份认证,也是在第一次注册后下一次使用时基于前面注册的信息进行认证。如果设备出厂后二维码被人为替换,有可能导致该设备被恶意程序控制或操作;或者该二维码被伪造后贴在别的设备上,有可能导致别的非法设备被成功接入网络,破坏网络的安全性或可用性。这些都会对物联网安全带来很大的威胁。



技术实现要素:

本发明的目的在于提供一种身份认证方法及装置,以改善上述问题。

本发明较佳实施例提供一种身份认证方法,应用于彼此通信连接的物联网设备和网络端,该物联网设备的存储器中存储有第一设备标识信息及一密钥对中的私钥信息,该物联网设备的二维码中编码有第二设备标识信息及上述密钥对中的公钥信息,所述方法包括:

所述网络端识别所述物联网设备的二维码,获取所述第二设备标识信息和所述公钥信息;所述网络端利用该公钥信息对所述第二设备标识信息和随机数进行加密,得到加密数据后发送至所述物联网设备;所述物联网设备根据所述私钥信息对接收到的上述加密数据进行解密获取所述第二设备标识信息,并将所述第一设备标识信息与经解密后获取到的第二设备标识信息进行匹配;若匹配失败,则所述网络端的身份认证失败,拒绝所述网络端访问该物联网设备;若匹配成功,所述物联网设备发送报文及签名数据至所述网络端,其中,所述报文由物联网设备基于所述第一设备标识信息和随机数生成,所述签名数据由物联网设备根据上述私钥信息对该报文的摘要进行加密后得到;所述网络端通过所述公钥信息对所述签名数据进行解密,并进行签名验证;若签名验证成功,则通过设备端的身份认证,继续访问所述物联网设备,否则,设备端的身份认证失败,终止对所述物联网设备的访问。

本发明较佳实施例提供一种身份认证方法,应用于与网络端通信连接的物联网设备,该物联网设备的存储器中存储有第一设备标识信息及一密钥对中的私钥信息,该物联网设备的二维码中编码有第二设备标识信息及上述密钥对中的公钥信息,所述方法包括:

接收网络端发送的加密数据,其中,该加密数据是由所述网络端根据扫描该物联网设备的二维码获取到的第二设备标识信息及公钥信息进行加密后得到的数据;根据所述私钥信息对上述接收到的加密数据进行解密获取所述第二设备标识信息;将所述第一设备标识信息与经解密后获取到的第二设备标识信息进行匹配,若两者匹配成功,则通过所述网络端的身份认证,允许网络端访问该物联网设备;若匹配失败,则所述网络端的身份认证失败,拒绝所述网络端访问该物联网设备。

本发明较佳实施例提供一种身份认证方法,应用于与物联网设备通信连接的网络端,该物联网设备的存储器中存储有设备标识信息及一密钥对中的私钥信息,该物联网设备的二维码中编码有上述密钥对中的公钥信息,所述方法包括:识别所述物联网设备的二维码,获取所述公钥信息;接收所述物联网设备发送的报文及签名数据,其中,所述报文由物联网设备基于所述第一设备标识信息和随机数生成,所述签名数据由物联网设备根据上述私钥信息对该报文的摘要进行加密后得到;利用所述公钥信息对所述签名数据进行解密,并进行签名验证;若签名验证成功,则通过设备端的身份认证,继续访问所述物联网设备,否则,设备端的身份认证失败,终止对所述物联网设备的访问。

本发明实施例提供一种身份认证装置,应用于与网络端通信连接的物联网设备,该物联网设备的存储器中存储有第一设备标识信息及一密钥对中的私钥信息,该物联网设备的二维码中编码有第二设备标识信息及上述密钥对中的公钥信息,所述装置包括:

数据接收模块,用于接收网络端发送的加密数据,其中,该加密数据是由所述网络端根据扫描该物联网设备的二维码获取到的第二设备标识信息及公钥信息进行加密后得到的数据;数据解密模块,用于根据所述私钥信息对上述接收到的加密数据进行解密获取所述第二设备标识信息;信息匹配模块,用于将所述第一设备标识信息与经解密后获取到的第二设备标识信息进行匹配,若两者匹配成功,则通过所述网络端的身份认证,允许网络端访问该物联网设备;若匹配失败,则所述网络端的身份认证失败,拒绝所述网络端访问该物联网设备。

本发明实施例提供一种身份认证装置,应用于与物联网设备通信连接的网络端,该物联网设备的存储器中存储有设备标识信息及一密钥对中的私钥信息,该物联网设备的二维码中编码有上述密钥对中的公钥信息,所述装置包括:信息识别模块,用于识别所述物联网设备的二维码,获取所述公钥信息;报文接收模块,用于接收所述物联网设备发送的报文及签名数据,其中,所述报文由物联网设备基于所述第一设备标识信息和随机数生成,所述签名数据由物联网设备根据上述私钥信息对该报文的摘要进行加密后得到;解密验证模块,用于根据所述公钥信息对所述签名数据进行解密,并进行签名验证,若签名验证成功,则通过设备端的身份认证,继续访问所述物联网设备,否则,设备端的身份认证失败,终止对所述物联网设备的访问。

本发明较佳实施例提供的应用于彼此通信连接的物联网设备和网络端的身份认证方法,通过物联网设备和网络端的信息交互进行双向的身份认证,有效保障设备的使用安全。当二维码被人为替换时,网络端的身份认证将失败,网络端无法继续访问物联网设备,避免了该设备被恶意程序控制或操作的可能。当二维码被伪造贴在非法设备上时,设备端的身份认证将失败,网络端不会继续操作该设备或将该设备接入网络。

本发明较佳实施例提供的应用于物联网设备的身份认证方法及装置中,通过物联网设备与网络端的信息交互使物联网设备检测二维码中编码的设备标识信息(所述第二标识信息)与其存储器中存储的设备标识信息(所述第一标识信息)是否匹配,若匹配,则网络端的身份验证成功,若不匹配,则表明该物联网设备上的二维码已被人为替换,其存在被恶意程序控制或操作的风险,身份验证失败,后续对该物联网设备的操作均无法进行。

本发明较佳实施例提供的应用于网络端的身份认证方法及装置中,通过网络端与物联网设备的信息交互使网络端基于物联网设备发送的报文以及签名数据进行身份验证,若签名验证成功,则身份验证通过,否则,表明所述物联网设备的二维码可能已被伪造后贴在其他设备上,如此存在非法设备被成功接入网络破坏网络的安全性或可用性的风险,身份认证失败,对该物联网设备的后续操作将被终止。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的一种网络端与物联网设备进行交互的示意图;

图2为本发明实施例提供的一种图1中所示物联网设备的方框示意图;

图3为本发明实施例提供的一种图1中所示网络端的方框示意图;

图4为本发明实施例提供的一种应用于彼此通信连接的网络端和物联网设备的身份认证方法的流程图;

图5为本发明实施例提供的另一种应用于彼此通信连接的网络端和物联网设备的身份认证方法的流程图;

图6为本发明实施例提供的一种应用于物联网设备的身份认证方法的流程图;

图7为本发明实施例提供的一种应用于网络端的身份认证方法的流程图;

图8为本发明实施例提供的一种第一身份认证装置的功能模块框图;

图9为本发明实施例提供的一种第二身份认证装置的功能模块框图。

图标:100-网络端;200-物联网设备;210-微控制单元;220-存储器;230-无线通信单元;240-第一身份认证装置;110-服务器;120-移动终端;2402-数据接收模块;2404-数据解密模块;2406-信息匹配模块;112-第二身份认证装置;1120-信息识别模块;1122-报文接收模块;1124-解密验证模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,是本发明实施例提供的一种网络端100与物联网设备200通过网络进行交互的示意图。所述网络可以是有线网络或无线网络。所述无线网络可以是,但不限于,WLAN、NB-IoT、BT或NFC等。

请参阅图2,是本发明实施例提供的一种图1所示物联网设备200的方框示意图。该物联网设备200包括微控制单元210(Microcontroller Unit,MCU)、存储器220、无线通信单元230以及第一身份认证装置240。其中,所述微控制单元210、存储器220和无线通信单元230相互之间电性连接,以实现数据的传输或交互。所述第一身份认证装置240包括至少一个存储于所述存储器220中的软件功能模块。所述微控制单元210用于执行存储器220中存储的可执行模块,例如所述第一身份认证装置240包括的软件功能模块。在其它实施例中,所述第一身份认证装置240也可以包括一个或多个由硬件电路或硬件组件构成的硬件模块,只要能实现该第一身份认证装置240的各种功能即可。

所述存储器220可以是,但不限于,所述微控制单元210的内部存储介质或者该微控制单元210外接的外部存储介质,如硬盘、磁盘、SD卡等。该存储器220中划分有一禁止外部访问的安全保密区域。该安全保密区域内存储有用于唯一标识该物联网设备200的第一设备标识信息和一密钥对中的私钥信息。所述第一设备标识信息一般包括厂商名称、设备类型及设备ID等,但不限制于此。所述密钥对可以是物联网设备200生成或出厂时根据已有的公钥算法生成。该密钥对与所述物联网设备200一一对应,具备唯一性。

所述物联网设备200上贴有二维码。该二维码中编码有第二设备标识信息和上述密钥对中的公钥信息。该第二设备标识信息除了包括与上述第一设备标识信息相对应的厂商名称、设备类型及设备ID外,还可以选择性的包括微信小程序或该物联网设备200对应的APP(如共享单车“摩拜”对应APP“摩拜单车”)的网址信息等。正常情况下,所述第二设备标识信息与上述第一设备标识信息应是匹配的。可以理解,该处的“匹配”可以是指第一、第二设备标识信息中的厂商名称、设备类型及设备ID的完全一致。但是,这并不排除在其他实施例中也可以是上述三者的部分一致,例如设备ID和厂商名称一致,而设备类型不一致。

请参阅图3,是本发明实施例提供的一种网络端100的方框示意图。所述网络端100包括服务器110和与该服务器110通信连接的移动终端120。所述移动终端120中安装有微信小程序或应用程序(如微信、支付宝等具备“扫一扫”功能的APP)。当然,可以理解的是,在其他实施例中,所述网络端100还可以是仅包括集客户端和服务端角色于一体的服务器110。该服务器110上可安装有APP或微信小程序等,以扫描和识别二维码。

请参阅图4,是本发明实施例提供的一种身份认证方法的流程示意图。该方法应用于图1所示的彼此通信连接的网络端100和物联网设备200。所应说明的是,本发明提供的方法不以图4及以下所述的具体顺序为限制。下面将对图4中所示的各步骤进行详细阐述。

步骤S101:所述网络端100识别所述物联网设备200的二维码,获取所述第二设备标识信息和所述公钥信息。

本实施例中,作为一种实施方式,所述网络端100可以通过移动终端120上安装的APP或者微信小程序扫描物联网设备200的二维码,并将扫描到的图像信息发送至所述服务器110进行识别,以获取该二维码中包含的第二设备标识信息和公钥信息。

步骤S103,所述网络端100利用该公钥信息对所述第二设备标识信息和随机数进行加密,得到加密数据后发送至所述物联网设备200。

步骤S105,所述物联网设备200根据所述私钥信息对接收到的上述加密数据进行解密获取所述第二设备标识信息,并将所述第一设备标识信息与经解密后获取到的第二设备标识信息进行匹配。

本实施例中,将第一设备标识信息和第二设备标识信息进行匹配可以是指将两者包含的用于唯一标识物联网设备200的信息,如上述的厂商名称、设备类型及设备ID等信息,进行匹配。

步骤S107,判断是否匹配成功,若匹配失败,则执行下述步骤S109,若匹配成功,则执行下述步骤S111。

步骤S109,判定所述网络端100的身份认证失败,拒绝所述网络端100访问该物联网设备200。

步骤S111,所述物联网设备200发送报文及签名数据至所述网络端100。

本实施例中,所述物联网设备200可以通过随机数发生器生成一随机数。然后基于所述第一设备标识信息和随机数生成所述报文。报文生成后,再依据已有的报文摘要算法生成该报文的摘要。最后,通过所述私钥信息对该报文的摘要进行加密得到所述签名数据。

步骤S113,所述网络端100通过所述公钥信息对所述签名数据进行解密,并进行签名验证。

本实施例中,所述签名验证的过程可以是,所述网络端100对接收到的报文采用预设的报文摘要算法生成一报文摘要。然后,将该报文摘要与对签名数据解密后得到的摘要进行比对,若相同,则签名验证成功,否则,签名签证失败。

步骤S115,判断签名验证是否成功,若成功,则执行下述步骤S117,否则,执行下述步骤S119。

步骤S117,判定通过设备端的身份认证,允许继续访问所述物联网设备200。

步骤S119,判定设备端的身份认证失败,终止对所述物联网设备200的访问。

需要强调的一点是,当二维码被伪造贴在非法的设备上时,进行身份认证过程中,上述步骤S105和步骤S107可能会被跳过,即默认匹配成功,直接进行步骤S111。不过,可以理解的是,即使设备端默认匹配成功,但是网络端100进行签名验证时将会验证失败,有效阻止该非法设备接入网络。

本实施例中,所述网络端100和物联网设备200通过信息交互实现双向的身份认证,可以有效保障设备的使用安全。具体地,当二维码被人为替换时,网络端100的身份认证将失败,网络端100无法继续访问物联网设备200,避免了该设备被恶意程序控制或操作的可能。当二维码被伪造贴在非法设备上时,设备端的身份认证将失败,网络端100不会继续操作该设备或将该设备接入网络,保障了网络的安全性或可用性。

请参阅图5,是本发明实施例提供的于身份认证后,基于网络端100和物联网设备200交互的信息生成会话密钥(Session Key)的步骤,具体如下:

步骤S201:该步骤于上述步骤S101后执行,具体为,所述网络端100产生第一随机数并发送至所述物联网设备200。

步骤S203,所述物联网设备200产生第二随机数,并将该第二随机数与接收到的所述第一随机数返回至所述网络端100。

步骤S205,所述网络端100基于所述第二设备标识信息、第一随机数和第二随机数生成会话密钥,并利用所述公钥信息对上述生成的会话密钥进行加密后发送至所述物联网设备200。

步骤S207,所述物联网设备200通过所述私钥信息对接收到的加密数据进行解密,获得所述会话密钥。

本实施例中动态生成的会话密钥可以用于物联网设备200和网络端100之间通信数据的加解密,以保障通信的安全性和可靠性。具体地,可以用于在身份认证通过后每次操作或使用物联网设备200时对通信数据进行加解密。

请参阅图6,是本发明实施例提供的一种应用于物联网设备200的身份认证方法的流程图。如图所示,该方法包括:

步骤S301,接收网络端100发送的加密数据。

本实施例中,所述加密数据的生成过程可以是:所述网络端100识别该物联网设备200的二维码获取所述第二设备标识信息及公钥信息,然后利用该公钥信息对所述第二设备标识信息和一随机数进行加密,得到所述加密数据。

步骤S303,根据所述私钥信息对上述接收到的加密数据进行解密获取所述第二设备标识信息。

步骤S305,将所述第一设备标识信息与经解密后获取到的第二设备标识信息进行匹配。

步骤S307,判断匹配是否成功,若匹配成功,则执行下述步骤S309,否则,执行下述步骤S311。

步骤S309,判定所述网络端100的身份认证通过,允许所述网络端100访问该物联网设备200。

步骤S311,判定所述网络端100的身份认证失败,拒绝所述网络端100访问该物联网设备200。

本实施例中,通过物联网设备200与网络端100的信息交互使物联网设备200检测二维码中编码的第二标识信息与其存储器中存储的第一标识信息是否匹配。若匹配,则网络端100的身份验证成功,若不匹配,则表明该物联网设备200上的二维码已被人为替换,其存在被恶意程序控制或操作的风险,网络端100的身份验证失败,网络端100后续对该物联网设备200的操作无法进行。

请参阅图7,是本发明实施例提供的一种应用于网络端100的身份认证方法的流程图。如图所示,该方法包括:

步骤S401,识别所述物联网设备200的二维码,获取所述公钥信息。本实施例中,作为一种可能的实施方式,所述物联网设备200的二维码中可以仅编码有所述公钥信息。

步骤S403,接收所述物联网设备200发送的报文及签名数据。其中,所述报文由物联网设备200基于所述第一设备标识信息和随机数生成,所述签名数据由物联网设备200根据上述私钥信息对该报文的摘要进行加密后得到。

步骤S405,利用所述公钥信息对所述签名数据进行解密,并进行签名验证。

步骤S407,判断签名验证是否成功,若成功,则执行下述步骤S409,否则,执行下述步骤S411。

步骤S409,判定设备端的身份认证通过,允许继续访问所述物联网设备200。

步骤S411,判定设备端的身份认证失败,终止对所述物联网设备200的访问。

本实施例中各步骤的具体描述可参照图4所示方法中相应步骤的阐述,在此不再一一赘述。

请参阅图8,是本发明实施例提供的所述第一身份认证装置240的功能模块框图。该装置包括数据接收模块2402、数据解密模块2404以及信息匹配模块2406。

所述数据接收模块2402,用于接收网络端100发送的加密数据。

所述数据解密模块2404,用于根据所述私钥信息对上述接收到的加密数据进行解密获取所述第二设备标识信息。

所述信息匹配模块2406,用于将所述第一设备标识信息与经解密后获取到的第二设备标识信息进行匹配,若两者匹配成功,则通过所述网络端100的身份认证,允许网络端100访问该物联网设备200;若匹配失败,则所述网络端100的身份认证失败,拒绝所述网络端100访问该物联网设备200。

本实施例中所示的各功能模块的具体操作方法可参照上述方法实施例中相应步骤的详细阐述。

请参阅图9,是本发明实施例提供的一种应用于上述服务器110的第二身份认证装置112。该装置可以存储于所述服务器110的存储介质中。该服务器110的处理器可以用于执行所述存储介质中存储的该装置包含的软件功能模块。各功能模块的具体描述如下:

信息识别模块1120,用于识别所述物联网设备200的二维码,获取所述公钥信息。

报文接收模块1122,用于接收所述物联网设备200发送的报文及签名数据。

解密验证模块1124,用于根据所述公钥信息对所述签名数据进行解密,并进行签名验证,若签名验证成功,则通过设备端的身份认证,允许继续访问所述物联网设备200,否则,设备端的身份认证失败,终止对所述物联网设备200的访问。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1