Processing

Please wait...

Settings

Settings

Goto Application

1. WO2021143028 - INTERNET OF THINGS EQUIPMENT AUTHENTICATION METHOD, ELECTRONIC DEVICE AND STORAGE MEDIUM

Document

说明书

发明名称 0001  

技术领域

0002  

背景技术

0003  

发明概述

技术问题

0004   0005  

技术解决方案

0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028  

有益效果

0029  

附图说明

0030   0031   0032   0033  

本发明的最佳实施方式

0034   0035  

本发明的实施方式

0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20  

附图

页1 

说明书

发明名称 : 物联网设备认证方法、电子装置及存储介质

[0001]
本申请要求于2020年1月13日提交中国专利局、申请号为CN202010033109.0,发明名称为“物联网设备认证方法、电子装置及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

技术领域

[0002]
本申请涉及云安全技术领域,尤其涉及一种服务器集方法、电子装置及存储介质。

背景技术

背景技术

[0003]
物联网是当前社会数字化发展趋势。CoAP协议是物联网领域的两大主流协议之一,应用在非常广泛的场景,很多NBIoT产品通过CoAP协议将需要的数据采集到物联网云端。物联网设备接入鉴权对物联网设备管理和物联网云端的安全,甚至数据采集的安全性而言是至关重要的,所以在对设备的接入来说是很重要。

发明概述

技术问题

[0004]
发明人意识到,业界开源CoAP服务器几乎都没有对设备接入做鉴权工作,做了的也并没有对后续上报数据操作行为进行鉴权。CoAP服务器完全信任物联网设备的接入,设备甚至可以直接向服务端上报数据,如果有人是用设备恶意高频向服务端上报数据,不仅会占用带宽,占用服务端资源,同时会挤压正常设备上报数据的需求,甚至黑客利用肉鸡集群攻击服务端,造成服务端服务不可用,甚至服务端宕机,带来不可以估量的损失。
[0005]
因此,亟需一种可以让设备安全接入到物联网平台,提高物联网设备数据传输安全性的物联网设备认证方法。

技术解决方案

[0006]
本申请提供一种物联网设备认证方法、电子装置及存储介质,其主要目的在于通过在物联网设备接CoAP服务器之前,先为该设备分配唯一的设备标识;所述物联网设备向CoAP服务器发起访问授权申请,所述CoAP服务器通过/auth入口向具有设备标识clientId的物联网设备返回与所述设备标识clientId唯一对应的授权的token,然后所述物联网设备接收CoAP服务器 /auth入口返回的token,并将所述token存储到所述物联网设备本地;所述物联网设备通过/report入口向所述CoAP服务器发起数据上报请求,将payload中待上报的数据+clientid+本地存储的token求md5值md5_0,并将所述token和所述md5_0存储到所述CoAP协议的OPTION字段中;所述CoAP服务器根据所述物联网设备上报到/report入口的数据,在所述CoAP协议的OPTION字段中取出token和md5_0,进行认证判断,若判断成功,则完成认证,有效防止非法设备的接入,降低授权token被非法截获后设备和服务器面临的风险,让设备安全接入到物联网平台,提高物联网设备数据传输的安全性。
[0007]
为实现上述目的,本申请提供的物联网设备认证方法,应用于电子装置,所述方法包括:
[0008]
S110:物联网设备向CoAP服务器发起访问授权申请,所述访问授权申请中带有所述物联网设备的设备标识clientId;
[0009]
S120:所述CoAP服务器根据所述访问授权申请通过/auth入口向具有设备标识clientId的物联网设备返回与所述设备标识clientId唯一对应的授权的token;
[0010]
S130:所述物联网设备通过/report入口向所述CoAP服务器发起数据上报请求,根据payload中待上报的数据、所述物联网的设备标识clientid、以及所述token确定md5的值md5_0,并将所述token和所述md5_0存储到所述CoAP服务器中CoAP协议的OPTION字段中;
[0011]
S140:所述CoAP服务器根据所述物联网设备上报到/report入口的数据,在所述CoAP协议的OPTION字段中取出token和md5_0,通过比较所述md5_0与datax的md5值md5_1的大小对所述物联网设备进行认证判断,若md5_0等于md5_1,则完成认证。
[0012]
为实现上述目的,本申请还提供一种电子装置,该电子装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
[0013]
S110:物联网设备向CoAP服务器发起访问授权申请,所述访问授权申请中带有所述物联网设备的设备标识clientId;
[0014]
S120:所述CoAP服务器根据所述访问授权申请,通过/auth入口向具有设备标识clientId的物联网设备返回与所述设备标识clientId唯一对应的授权的token;
[0015]
S130:所述物联网设备通过/report入口向所述CoAP服务器发起数据上报请求,根据payload中待上报的数据、所述物联网的设备标识clientid以及所述token确定md5的值md5_0,并将所述token和所述md5_0存储到所述CoAP服务器中CoAP协议的OPTION字段中;
[0016]
S140:所述CoAP服务器根据所述物联网设备上报到/report入口的数据,在所述CoAP协议的OPTION字段中取出token和md5_0,通过比较所述md5_0与datax的md5值md5_1的大小对所述物联网设备进行认证判断,若md5_0等于md5_1,则完成认证。
[0017]
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有物联网设备认证程序,所述物联网设备认证程序被处理器执行时,实现如下步骤:
[0018]
S110:物联网设备向CoAP服务器发起访问授权申请,所述访问授权申请中带有所述物联网设备的设备标识clientId;
[0019]
S120:所述CoAP服务器根据所述访问授权申请,通过/auth入口向具有设备标识clientId的物联网设备返回与所述设备标识clientId唯一对应的授权的token;
[0020]
S130:所述物联网设备通过/report入口向所述CoAP服务器发起数据上报请求,根据payload中待上报的数据、所述物联网的设备标识clientid以及所述token确定md5的值md5_0,并将所述token和所述md5_0存储到所述CoAP服务器中CoAP协议的OPTION字段中;
[0021]
S140:所述CoAP服务器根据所述物联网设备上报到/report入口的数据,在所述CoAP协议的OPTION字段中取出token和md5_0,通过比较所述md5_0与datax的md5值md5_1的大小对所述物联网设备进行认证判断,若md5_0等于md5_1,则完成认证。
[0022]
此外,为实现上述目的,本申请还提供一种物联网设备认证系统,所述系统包括:物联网设备与CoAP服务器;所述物联网设备包括授权申请模块、token获取模块、上报请求模块;其中,
[0023]
授权申请模块,用于根据所述物联网设备的设备标识clientId向所述CoAP服务器发起授权申请;
[0024]
token获取模块,用于接收所述CoAP服务器/auth授权入口返回的token;
[0025]
上报请求模块,用于通过所述CoAP服务器提供的/report入口向所述CoAP服务器发起数据上报请求,将payload中待上报的数据、所述物联网的设备标识clientid以及所述token确定md5的值md5_0,并将所述token和所述md5_0存储到所述CoAP协议的OPTION字段中;
[0026]
所述CoAP服务包括令牌发放模块和认证模块;其中,
[0027]
令牌发放模块,用于根据物联网设备的授权申请模块发起的授权申请,向具有设备标识clientId的物联网设备返回与所述设备标识clientId唯一对应的授权的token;
[0028]
认证模块,用于根据所述物联网设备上报到/report入口的数据,在所述CoAP协议的OPTION字段中取出token和md5_0,通过比较所述md5_0与datax的md5值md5_1的大小对所述物联网设备进行认证判断,若md5_0等于md5_1,则完成认证。

有益效果

[0029]
本申请提出的物联网设备认证方法、电子装置及存储介质,首先物联网设备获取设备标识clientId,向CoAP服务器发起访问授权申请,CoAP服务器通过/auth入口向具有设备标识clientId的物联网设备返回与设备标识clientId唯一对应的授权的token,然后物联网设备接收CoAP服务器 /auth入口返回的token,并将token存储到所述物联网设备本地;物联网设备通过/report入口向CoAP服务器发起数据上报请求,将payload中待上报的数据+clientid+本地存储的token求md5值md5_0,并将所述token和md5_0存储到CoAP协议的OPTION字段中;CoAP服务器根据所述物联网设备上报到/report入口的数据,在CoAP协议的OPTION字段中取出token和md5_0,进行认证判断,若判断成功,则完成认证,有效防止非法设备的接入,降低授权token被非法截获后设备和服务器面临的风险,让设备安全接入到物联网平台,提高物联网设备数据传输的安全性。

附图说明

[0030]
图1为本申请实施例的物联网设备认证方法的流程图;
[0031]
图2为本申请实施例的物联网设备认证系统框架图;
[0032]
图3为根据本申请实施例的电子装置的结构示意图。
[0033]
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

本发明的最佳实施方式

[0034]
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
[0035]
为了解决前述现有认证手段不仅会占用带宽,占用服务端资源,同时会挤压正常设备上报数据的需求,甚至黑客利用肉鸡集群攻击服务端,造成服务端服务不可用,甚至服务端宕机,带来不可以估量的损失的问题,本申请提出首先物联网设备向CoAP服务器发起访问授权申请,然后物联网设备接收CoAP服务器返回的token,并将token存储到该物联网设备本地;物联网设备再向CoAP服务器发起数据上报请求,将payload中待上报的数据+clientid+本地存储的token求md5值md5_0,并将token和md5_0存储到CoAP协议的OPTION字段中;CoAP服务器根据该物联网设备上报到/report入口的数据,在该CoAP协议的OPTION字段中取出token和md5_0,进行认证判断,若判断成功,则完成认证,进而有效防止非法设备的接入,降低授权token被非法截获后设备和服务器面临的风险,让设备安全接入到物联网平台,提高物联网设备数据传输的安全性。。

本发明的实施方式

[0036]
具体的,根据本申请的一个实施例,提供一种物联网设备认证方法,应用于电子装置30。
[0037]
本实施例的实施环境为计算机设备,例如电脑等计算机设备。
[0038]
需要说明的是,本申请中的计算机设备可为平板电脑、笔记本电脑、台式计算机等,但并不局限于此。计算机设备可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者其他通讯连接方式进行连接,本申请在此不做限制。
[0039]
图1为根据本申请实施例的物联网设备认证方法的流程图。
[0040]
如图1所示,在本实施例中,物联网设备认证方法包括如下步骤:
[0041]
S110:物联网设备向CoAP服务器发起访问授权申请,访问授权申请中带有所述物联网设备的设备标识clientId;
[0042]
S120:该CoAP服务器根据访问授权申请通过/auth入口向具有设备标识clientId的物联网设备返回与该设备标识clientId唯一对应的授权的token;该物联网设备接收CoAP服务器 /auth入口返回的token,并将该token存储到该物联网设备本地;
[0043]
S130:该物联网设备通过/report入口向该CoAP服务器发起数据上报请求,根据payload中待上报的数据、物联网的设备标识clientid以及 token求md5值md5_0,并将该token和该md5_0存储到该CoAP服务器中CoAP协议的OPTION字段中;
[0044]
S140:该CoAP服务器根据该物联网设备上报到/report入口的数据,在该CoAP协议的OPTION字段中取出token和md5_0,对物联网设备进行认证判断,若判断成功,则完成认证。
[0045]
具体的,S110:物联网设备获取设备标识clientId,该物联网设备向CoAP服务器发起访问授权申请,访问授权申请中带有所述物联网设备的设备标识clientId;
[0046]
S120:该CoAP服务器根据访问授权申请通过/auth入口向具有设备标识clientId的物联网设备返回与该设备标识clientId唯一对应的授权的token;
[0047]
步骤S110、S120中,首先物联网平台分别为物联网设备分配唯一的设备标识clientId,然后该物联网设备向该CoAP服务器发出访问设备授权请求进行首次访问,访问/auth入口,该请求中带有该物联网设备的唯一的设备标识clientId,即将该请求信息中唯一的设备标识clientId存入CoAP协议的OPTION字段中,CoAP服务器根据该物联网设备的访问设备授权请求获取该物联网设备的唯一设备标识clientId,若该设备标识clientId格式正确,则为该物联网设备分配与该设备标识clientId唯一对应的授权的token令牌;该/auth入口为授权Topic;该设备标识clientId格式为四段字符串拼成的一段字符,用@@隔开;该Topic为CoAP服务器提供的资源访问入口的统称;物联网设备平台会为可用物联网设备分配设备标识clientId,若物联网设备具有唯一设备标识clientId,就会获得与clientId唯一对应的授权的token令牌。更为具体的,在访问/auth入口时,若设备授权通过,CoAP服务器会返回该物联网设备一个token命令,并在CoAP服务器保存一份该物联网设备标识信息clientid与token的一一映射关系,以便该物联网设备设备访问服务器时,带上该token,CoAP服务器通过该token找到保存在服务器侧的映射关系,则认为该设备有授权,否则无授权。
[0048]
另外,从CoAP协议的OPTION字段中取出该物联网设备唯一标识clientId,完成授权认证,并返回授权token时,若CoAP服务器先从redis中查找该物联网设备的标识信息clientId的认证状态,且认证状态为有效,则直接返回redis中该物联网设备标识信息clientId的token令牌,否则,CoAP服务器为该物联网设备标识信息clientId生成token令牌,并存储token和clientid到redis的key-value结构中;
[0049]
其中,该OPTION字段是CoAP协议标准中已经定义好的,可以用来传递业务需要的数据;
[0050]
该Redis为独立的内存缓存产品,即为快速存取数据的接口;
[0051]
该token的生成算法为:uuid;
[0052]
该key-value结构是一种key和value的一一映射关系,类似函数f(key)=value,传入key,该结构就会返回实现设置value。
[0053]
其中,该物联网设备为NBIoT(Narrow Band Internet of Things, NB-IoT 窄带物联网)设备。
[0054]
S130:该物联网设备通过/report入口向该CoAP服务器发起数据上报请求,根据payload中待上报的数据、物联网的设备标识clientid以及本地存储的token求md5值md5_0,并将该token和该md5_0存储到该CoAP服务器中CoAP协议的OPTION字段中;
[0055]
在步骤S130中,该/report入口为资源访问Topic,该Topic为CoAP服务器提供的资源访问入口的统称;该物联网设备上报数据到/report时,将payload中待上报的数据+clientid+本地存储的token求md5(md5:Message-Digest Algorithm消息摘要算法)值md5_0,并将token和前面计算出来的md5_0值分别存储到CoAP协议的OPTION字段中。
[0056]
该payload中待上报的数据为该物联网设备采集的数据,与该物联网设备所处场景相关,比如温度计传感器上报的当前环境温度、共享单车智能锁上报的单车当前GPS地址、单车当前车速等;该payload为有效载荷,用于承载该物联网设备上传的业务数据。
[0057]
S140:该CoAP服务器根据该物联网设备上报到/report入口的数据,在该CoAP协议的OPTION字段中取出token和md5_0,对所述物联网设备进行认证判断,若判断成功,则完成认证。
[0058]
具体的,该CoAP服务器在该CoAP协议的OPTION字段中取出token令牌和md5_0;在redis中利用该token令牌查找该物联网设备标识信息clientid与token的映射关系;若查找成功,则返回4.03;若查找成功则从该数据上报请求中取出该映射关系的物联网设备标识信息clientid和该payload中待上报的数据data;拼接datax,并计算该datax的md5值md5_1;该datax=data+clientid+token;判断该datax的md5值md5_1是否等于在该CoAP协议的OPTION字段中取出的md5_0;若等于,则该物联网设备认证成功,若不等于则返回4.03,该物联网设备认证失败。
[0059]
本物联网设备认证方法提出首先物联网设备获取设备标识clientId,向CoAP服务器发起访问授权申请,CoAP服务器通过/auth入口向具有设备标识clientId的物联网设备返回与设备标识clientId唯一对应的授权的token,然后物联网设备接收CoAP服务器 /auth入口返回的token,并将token存储到所述物联网设备本地;物联网设备通过/report入口向CoAP服务器发起数据上报请求,将payload中待上报的数据+clientid+本地存储的token求md5值md5_0,并将所述token和md5_0存储到CoAP协议的OPTION字段中;CoAP服务器根据所述物联网设备上报到/report入口的数据,在CoAP协议的OPTION字段中取出token和md5_0,进行认证判断,若判断成功,则完成认证,有效防止非法设备的接入,降低授权token被非法截获后设备和服务器面临的风险,让设备安全接入到物联网平台,提高物联网设备数据传输的安全性。
[0060]
具体的,通过设备唯一标识的认证,有效防止了非法设备的接入;其次,设备通过物联网服务器授权给设备的token,对物联网设备上报的数据进行加签,并在物联网服务器加签比较,从而可以有效的鉴别和防止物联网设备上报数据在网络传输过程中的数据篡改行为;另外,CoAP服务器通过对设备授权token设置时间有效期,从而可以降低授权token被非法截获后设备和服务器面临的风险,通过增加接入认证后,可以让设备安全接入到物联网平台,提高物联网设备数据传输的安全性。
[0061]
图2为本申请提出的物联网设备认证系统框架图200,该系统200对应于物联网设备认证方法,置于物联网设备认证电子装置中。该系统包括:物联网设备210与CoAP服务器220;
[0062]
该物联网设备210包括授权申请模块211、token获取模块212、上报请求模块213;其中,
[0063]
该授权申请模块211用于根据该物联网设备210的设备标识clientId向该CoAP服务器220发起授权申请;具体的,
[0064]
首先物联网平台分别为物联网设备210分配唯一的设备标识clientId,然后该物联网设备210向该CoAP服务器220发出访问设备授权请求进行首次访问,访问/auth入口,该请求中带有该物联网设备210的唯一的设备标识clientId,即将该请求信息中唯一的设备标识clientId存入CoAP协议的OPTION字段中,CoAP服务器220根据该物联网设备210的访问设备授权请求获取该物联网设备210的唯一设备标识clientId,为该物联网设备210分配与该设备标识clientId唯一对应的授权的token令牌;其中,该/auth入口为授权Topic;该Topic为CoAP服务器提供的资源访问入口的统称。
[0065]
该token获取模块212用于从该CoAP服务器220接收token,并将该token存储到该物联网设备210本地;具体的,该物联网设备210接收CoAP服务器220 /auth授权入口返回的token令牌,并将该token令牌存储在物联网设备210本地;该物联网设备210为NBIoT(Narrow Band Internet of Things, NB-IoT 窄带物联网)设备;
[0066]
该上报请求模块213用于通过CoAP服务器220提供的/report入口向该CoAP服务器220发起数据上报请求,将payload中待上报的数据+clientid+本地存储的token求md5值md5_0,并将该token和该md5_0存储到该CoAP协议的OPTION字段中;
[0067]
其中,该/report入口为资源访问Topic,该Topic为CoAP服务器220提供的资源访问入口的统称;该物联网设备210上报数据到/report时,将payload中待上报的数据+clientid+本地存储的token求md5(md5:Message-Digest Algorithm消息摘要算法)值md5_0,并将token和前面计算出来的md5_0值分别存储到CoAP协议的OPTION字段中。该payload中待上报的数据为该物联网设备210采集的数据,与该物联网设备210所处场景相关,比如温度计传感器上报的当前环境温度、共享单车智能锁上报的单车当前GPS地址、单车当前车速等;该payload为有效载荷,用于承载该物联网设备210上传的业务数据。
[0068]
该CoAP服务器220包括令牌发放模块221和认证模块222;其中,
[0069]
令牌发放模块221用于根据物联网设备210的授权申请模块211发起的授权申请,向具有设备标识clientId的物联网设备210返回与该设备标识clientId唯一对应的授权的token;
[0070]
认证模块222用于根据该物联网设备210上报到/report入口的数据,在该CoAP协议的OPTION字段中取出token和md5_0,进行认证判断,若判断成功,则完成认证。
[0071]
具体的,该CoAP服务器220在该CoAP协议的OPTION字段中取出token令牌和md5_0;在redis中利用该token令牌查找该物联网设备210标识信息clientid与token的映射关系;若查找成功,则返回4.03;若查找成功则从该数据上报请求中取出该映射关系的物联网设备210标识信息clientid和该payload中待上报的数据data;拼接datax,并计算该datax的md5值md5_1;该datax=data+clientid+token;判断该datax的md5值md5_1是否等于在该CoAP协议的OPTION字段中取出的md5_0;若等于,则该物联网设备210认证成功,若不等于则返回4.03,该物联网设备210认证失败。
[0072]
该电子装置30包括:处理器31、存储器32、计算机程序33、网络接口及通信总线。
[0073]
电子装置30可以是平板电脑、台式电脑、智能手机,但不限于此。
[0074]
存储器32包括至少一种类型的可读存储介质。该至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子装置30的内部存储单元,例如该电子装置30的硬盘。在另一些实施例中,可读存储介质也可以是电子装置30的外部存储器,例如电子装置30上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。
[0075]
在本实施例中,存储器32的可读存储介质通常用于存储安装于电子装置30的计算机程序33等。
[0076]
处理器31在一些实施例中可以是一中央处理器(Central Processing Unit, CPU),微处理器或其他数据处理芯片,用于运行存储器32中存储的程序代码或处理数据,例如物联网设备认证程序33等。
[0077]
网络接口可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置30与其他电子装置之间建立通信连接。
[0078]
通信总线用于实现这些组件之间的连接通信。
[0079]
图3仅示出了具有组件31-33的电子装置30,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0080]
在图3所示的电子装置实施例中,作为一种计算机存储介质的存储器32中可以包括操作系统、以及物联网设备认证程序33;处理器31执行存储器32中存储的物联网设备认证程序33时实现如下步骤:
[0081]
S110:物联网设备向CoAP服务器发起访问授权申请,该访问授权申请中带有所述物联网设备的设备标识clientId;
[0082]
S120:该CoAP服务器根据访问授权申请通过/auth入口向具有设备标识clientId的物联网设备返回与该设备标识clientId唯一对应的授权的token;
[0083]
S130:该物联网设备通过/report入口向该CoAP服务器发起数据上报请求,根据payload中待上报的数据、物联网的设备标识clientid以及本地存储的token确定md5值md5_0,并将该token和该md5_0存储到该CoAP服务器中CoAP协议的OPTION字段中;
[0084]
S140:该CoAP服务器根据该物联网设备上报到/report入口的数据,在该CoAP协议的OPTION字段中取出token和md5_0,进行认证判断,对该物联网设备若判断成功,则完成认证。
[0085]
步骤S110、S120中,首先物联网平台分别为物联网设备分配唯一的设备标识clientId,然后该物联网设备向该CoAP服务器发出访问设备授权请求进行首次访问,访问/auth入口,该请求中带有该物联网设备的唯一的设备标识clientId,即将该请求信息中唯一的设备标识clientId存入CoAP协议的OPTION字段中,CoAP服务器根据该物联网设备的访问设备授权请求获取该物联网设备的唯一设备标识clientId,为该物联网设备分配与该设备标识clientId唯一对应的授权的token令牌;该/auth入口为授权Topic;该Topic为CoAP服务器提供的资源访问入口的统称。
[0086]
更为具体的,在访问/auth入口时,若设备授权通过,CoAP服务器会返回该物联网设备一个token命令,并在CoAP服务器保存一份该物联网设备标识信息clientid与token的一一映射关系,以便该物联网设备设备访问服务器时,带上该token,CoAP服务器通过该token找到保存在服务器侧的映射关系,则认为该设备有授权,否则无授权。
[0087]
另外,从CoAP协议的OPTION字段中取出该物联网设备唯一标识clientId,完成授权认证,并返回授权token时,若CoAP服务器先从redis中查找该物联网设备的标识信息clientId的认证状态,且认证状态为有效,则直接返回redis中该物联网设备标识信息clientId的token令牌,否则,CoAP服务器为该物联网设备标识信息clientId生成token令牌,并存储token和clientid到redis的key-value结构中;
[0088]
其中,该OPTION字段是CoAP协议标准中已经定义好的,可以用来传递业务需要的数据;
[0089]
该Redis为独立的内存缓存产品,即为快速存取数据的接口;
[0090]
该token的生成算法为:uuid;
[0091]
该key-value结构是一种key和value的一一映射关系,类似函数f(key)=value,传入key,该结构就会返回实现设置value。
[0092]
其中,该物联网设备为NBIoT(Narrow Band Internet of Things, NB-IoT 窄带物联网)设备。
[0093]
在步骤S130中,该/report入口为资源访问Topic,该Topic为CoAP服务器提供的资源访问入口的统称;该物联网设备上报数据到/report时,将payload中待上报的数据+clientid+本地存储的token求md5(md5:Message-Digest Algorithm消息摘要算法)值md5_0,并将token和前面计算出来的md5_0值分别存储到CoAP协议的OPTION字段中。
[0094]
该payload中待上报的数据为该物联网设备采集的数据,与该物联网设备所处场景相关,比如温度计传感器上报的当前环境温度、共享单车智能锁上报的单车当前GPS地址、单车当前车速等;该payload为有效载荷,用于承载该物联网设备上传的业务数据。
[0095]
步骤S140中,该CoAP服务器在该CoAP协议的OPTION字段中取出token令牌和md5_0;在redis中利用该token令牌查找该物联网设备标识信息clientid与token的映射关系;若查找成功,则返回4.03;若查找成功则从该数据上报请求中取出该映射关系的物联网设备标识信息clientid和该payload中待上报的数据data;拼接datax,并计算该datax的md5值md5_1;该datax=data+clientid+token;判断该datax的md5值md5_1是否等于在该CoAP协议的OPTION字段中取出的md5_0;若等于,则该物联网设备认证成功,若不等于则返回4.03,该物联网设备认证失败。
[0096]
本物联网设备认证方法提出首先物联网设备获取设备标识clientId,向CoAP服务器发起访问授权申请,CoAP服务器通过/auth入口向具有设备标识clientId的物联网设备返回与设备标识clientId唯一对应的授权的token,然后物联网设备接收CoAP服务器 /auth入口返回的token,并将token存储到所述物联网设备本地;物联网设备通过/report入口向CoAP服务器发起数据上报请求,将payload中待上报的数据+clientid+本地存储的token求md5值md5_0,并将所述token和md5_0存储到CoAP协议的OPTION字段中;CoAP服务器根据所述物联网设备上报到/report入口的数据,在CoAP协议的OPTION字段中取出token和md5_0,进行认证判断,若判断成功,则完成认证,有效防止非法设备的接入,降低授权token被非法截获后设备和服务器面临的风险,让设备安全接入到物联网平台,提高物联网设备数据传输的安全性。
[0097]
具体的,通过设备唯一标识的认证,有效防止了非法设备的接入;其次,设备通过物联网服务器授权给设备的token,对物联网设备上报的数据进行加签,并在物联网服务器加签比较,从而可以有效的鉴别和防止物联网设备上报数据在网络传输过程中的数据篡改行为;另外,CoAP服务器通过对设备授权token设置时间有效期,从而可以降低授权token被非法截获后设备和服务器面临的风险,通过增加接入认证后,可以让设备安全接入到物联网平台,提高物联网设备数据传输的安全性。
[0098]
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性,也可以是易失性,计算机可读存储介质中存储有物联网设备认证程序,该物联网设备认证程序被处理器执行时实现如下操作:S110:物联网设备向CoAP服务器发起访问授权申请,该访问授权申请中带有所述物联网设备的设备标识clientId;
[0099]
S120:该CoAP服务器根据访问授权申请通过/auth入口向具有设备标识clientId的物联网设备返回与该设备标识clientId唯一对应的授权的token;
[0100]
S130:该物联网设备通过/report入口向该CoAP服务器发起数据上报请求,根据payload中待上报的数据、物联网的设备标识clientid以及本地存储的token确定md5值md5_0,并将该token和该md5_0存储到该CoAP服务器中CoAP协议的OPTION字段中;
[0101]
S140:该CoAP服务器根据该物联网设备上报到/report入口的数据,在该CoAP协议的OPTION字段中取出token和md5_0,进行认证判断,对该物联网设备若判断成功,则完成认证。
[0102]
该设备标识clientId由物联网平台为物联网设备分配。
[0103]
物联网设备向CoAP服务器发起访问授权申请的过程包括:
[0104]
该物联网设备发起带有该物联网设备的设备标识clientId的请求,将该请求信息中的设备标识clientId存入CoAP协议的OPTION字段中;
[0105]
该CoAP服务器根据请求从该OPTION字段中获取该设备标识clientId。
[0106]
该物联网设备为NBIoT设备;
[0107]
该/auth入口为授权Topic;该/report入口为资源访问Topic;
[0108]
该Topic为CoAP服务器提供的资源访问入口的统称。
[0109]
该payload为有效载荷,用于承载该物联网设备上传的业务数据;
[0110]
该payload中待上报的数据为该物联网设备采集的数据,与该物联网设备所处场景相关。
[0111]
该采集的数据一般包括:温度计传感器上报的当前环境温度、共享单车智能锁上报的单车当前GPS地址、单车当前车速。
[0112]
进行认证判断的过程包括:
[0113]
在redis中利用该token查找该物联网设备标识信息clientid与token的映射关系;
[0114]
若查找失败,则返回重新认证,若查找成功,则计算datax的md5值md5_1,并判断该md5_1是否等于该md5_0,若等于,则该设备认证成功,若不等于则返回4.03,该设备认证失败。
[0115]
该datax=data+clientid+token,其中,data为该物联网设备上报的数据。
[0116]
本申请之计算机可读存储介质的具体实施方式与上述物联网设备认证方法、电子装置的具体实施方式大致相同,在此不再赘述。
[0117]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0118]
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
[0119]
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

权利要求书

[权利要求 1]
一种物联网设备认证方法,应用于电子装置,其中,所述方法包括: S110:物联网设备向CoAP服务器发起访问授权申请,所述访问授权申请中带有所述物联网设备的设备标识clientId; S120:所述CoAP服务器根据所述访问授权申请,通过/auth入口向具有设备标识clientId的物联网设备返回与所述设备标识clientId唯一对应的授权的token; S130:所述物联网设备通过/report入口向所述CoAP服务器发起数据上报请求,根据payload中待上报的数据、所述物联网的设备标识clientid以及所述token确定md5的值md5_0,并将所述token和所述md5_0存储到所述CoAP服务器中CoAP协议的OPTION字段中; S140:所述CoAP服务器根据所述物联网设备上报到/report入口的数据,在所述CoAP协议的OPTION字段中取出token和md5_0,通过比较所述md5_0与datax的md5值md5_1的大小对所述物联网设备进行认证判断,若md5_0等于md5_1,则完成认证。
[权利要求 2]
根据权利要求1所述的物联网设备认证方法,其中,所述设备标识clientId为由物联网平台统一分配给所述物联网平台中的物联网设备的唯一标识所述物联网设备身份的标识信息。
[权利要求 3]
根据权利要求1所述的物联网设备认证方法,其中,物联网设备向CoAP服务器发起访问授权申请的过程包括: 所述物联网设备将所述设备标识clientId存入CoAP协议的OPTION字段中,然后以所述CoAP协议发起带有所述物联网设备的设备标识clientId的请求; 所述CoAP服务器根据所述请求从所述OPTION字段中获取所述设备标识clientId。
[权利要求 4]
根据权利要求1所述的物联网设备认证方法,其中,所述物联网设备为NBIoT设备; 所述/auth入口为授权Topic;所述/report入口为资源访问Topic; 所述Topic为CoAP服务器提供的资源访问入口的统称。
[权利要求 5]
根据权利要求1所述的物联网设备认证方法,其中,所述payload为有效载荷,用于承载所述物联网设备上传的业务数据; 所述payload中待上报的数据为所述物联网设备采集的数据,与所述物联网设备所处场景相关。
[权利要求 6]
根据权利要求5所述的物联网设备认证方法,其中,所述物联网设备采集的数据包括:温度计传感器上报的当前环境温度、共享单车智能锁上报的单车当前GPS地址、单车当前车速。
[权利要求 7]
根据权利要求1所述的物联网设备认证方法,其中,通过比较所述md5_0与datax的md5值md5_1的大小对所述物联网设备进行认证判断的过程包括: 在redis中利用所述token查找所述物联网设备标识信息clientid与token的映射关系; 若查找失败,则返回重新认证,若查找成功,则计算datax的md5值md5_1,并判断所述md5_1是否等于所述md5_0,若等于,则所述物联网设备认证成功,若不等于则所述物联网设备认证失败。
[权利要求 8]
根据权利要求7所述的物联网设备认证方法,其中,所述datax=data+clientid+token,其中,data为所述物联网设备上报到/report入口的数据。
[权利要求 9]
一种电子装置,其中,该电子装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤: S110:物联网设备向CoAP服务器发起访问授权申请,所述访问授权申请中带有所述物联网设备的设备标识clientId; S120:所述CoAP服务器根据所述访问授权申请,通过/auth入口向具有设备标识clientId的物联网设备返回与所述设备标识clientId唯一对应的授权的token; S130:所述物联网设备通过/report入口向所述CoAP服务器发起数据上报请求,根据payload中待上报的数据、所述物联网的设备标识clientid以及所述token确定md5的值md5_0,并将所述token和所述md5_0存储到所述CoAP服务器中CoAP协议的OPTION字段中; S140:所述CoAP服务器根据所述物联网设备上报到/report入口的数据,在所述CoAP协议的OPTION字段中取出token和md5_0,通过比较所述md5_0与datax的md5值md5_1的大小对所述物联网设备进行认证判断,若md5_0等于md5_1,则完成认证。
[权利要求 10]
根据权利要求9所述的电子装置,其中,所述设备标识clientId为由物联网平台统一分配给所述物联网平台中的物联网设备的唯一标识所述物联网设备身份的标识信息。
[权利要求 11]
根据权利要求9所述的电子装置,其中,物联网设备向CoAP服务器发起访问授权申请的过程包括: 所述物联网设备将所述设备标识clientId存入CoAP协议的OPTION字段中,然后以所述CoAP协议发起带有所述物联网设备的设备标识clientId的请求; 所述CoAP服务器根据所述请求从所述OPTION字段中获取所述设备标识clientId。
[权利要求 12]
根据权利要求9所述的电子装置,其中,所述物联网设备为NBIoT设备; 所述/auth入口为授权Topic;所述/report入口为资源访问Topic; 所述Topic为CoAP服务器提供的资源访问入口的统称。
[权利要求 13]
根据权利要求9所述的电子装置,其中,所述payload为有效载荷,用于承载所述物联网设备上传的业务数据; 所述payload中待上报的数据为所述物联网设备采集的数据,与所述物联网设备所处场景相关。
[权利要求 14]
根据权利要求13所述的电子装置,其中,所述物联网设备采集的数据包括:温度计传感器上报的当前环境温度、共享单车智能锁上报的单车当前GPS地址、单车当前车速。
[权利要求 15]
根据权利要求9所述的电子装置,其中,通过比较所述md5_0与datax的md5值md5_1的大小对所述物联网设备进行认证判断的过程包括: 在redis中利用所述token查找所述物联网设备标识信息clientid与token的映射关系; 若查找失败,则返回重新认证,若查找成功,则计算datax的md5值md5_1,并判断所述md5_1是否等于所述md5_0,若等于,则所述物联网设备认证成功,若不等于则所述物联网设备认证失败。
[权利要求 16]
根据权利要求15所述的电子装置,其中,所述datax=data+clientid+token,其中,data为所述物联网设备上报到/report入口的数据。
[权利要求 17]
一种计算机可读存储介质,其中,所述计算机可读存储介质中存储有物联网设备认证程序,所述物联网设备认证程序被处理器执行时,实现如下步骤: S110:物联网设备向CoAP服务器发起访问授权申请,所述访问授权申请中带有所述物联网设备的设备标识clientId; S120:所述CoAP服务器根据所述访问授权申请,通过/auth入口向具有设备标识clientId的物联网设备返回与所述设备标识clientId唯一对应的授权的token; S130:所述物联网设备通过/report入口向所述CoAP服务器发起数据上报请求,根据payload中待上报的数据、所述物联网的设备标识clientid以及所述token确定md5的值md5_0,并将所述token和所述md5_0存储到所述CoAP服务器中CoAP协议的OPTION字段中; S140:所述CoAP服务器根据所述物联网设备上报到/report入口的数据,在所述CoAP协议的OPTION字段中取出token和md5_0,通过比较所述md5_0与datax的md5值md5_1的大小对所述物联网设备进行认证判断,若md5_0等于md5_1,则完成认证。
[权利要求 18]
根据权利要求17所述的计算机可读存储介质,其中,所述设备标识clientId为由物联网平台统一分配给所述物联网平台中的物联网设备的唯一标识所述物联网设备身份的标识信息。
[权利要求 19]
根据权利要求17所述的计算机可读存储介质,其中,物联网设备向CoAP服务器发起访问授权申请的过程包括: 所述物联网设备将所述设备标识clientId存入CoAP协议的OPTION字段中,然后以所述CoAP协议发起带有所述物联网设备的设备标识clientId的请求; 所述CoAP服务器根据所述请求从所述OPTION字段中获取所述设备标识clientId。
[权利要求 20]
一种物联网设备认证系统,其中,所述系统包括:物联网设备与CoAP服务器;所述物联网设备包括授权申请模块、token获取模块、上报请求模块;其中, 授权申请模块,用于根据所述物联网设备的设备标识clientId向所述CoAP服务器发起授权申请; token获取模块,用于接收所述CoAP服务器/auth授权入口返回的token; 上报请求模块,用于通过所述CoAP服务器提供的/report入口向所述CoAP服务器发起数据上报请求,将payload中待上报的数据、所述物联网的设备标识clientid以及所述token确定md5的值md5_0,并将所述token和所述md5_0存储到所述CoAP协议的OPTION字段中; 所述CoAP服务包括令牌发放模块和认证模块;其中, 令牌发放模块,用于根据物联网设备的授权申请模块发起的授权申请,向具有设备标识clientId的物联网设备返回与所述设备标识clientId唯一对应的授权的token; 认证模块,用于根据所述物联网设备上报到/report入口的数据,在所述CoAP协议的OPTION字段中取出token和md5_0,通过比较所述md5_0与datax的md5值md5_1的大小对所述物联网设备进行认证判断,若md5_0等于md5_1,则完成认证。

附图