一种设备鉴权方法、装置以及机器可读介质与流程

文档序号:17126834发布日期:2019-03-16 00:34阅读:163来源:国知局
一种设备鉴权方法、装置以及机器可读介质与流程

本发明涉及物联网技术领域,特别是涉及一种设备鉴权方法、一种设备鉴权装置,以及一个或多个机器可读介质。



背景技术:

物联网是新一代信息技术的重要组成部分,是利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式连接在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络,是物物相连的互联网。随着物联网技术的不断发展,物联网设备(例如,nb-iot设备、emtc设备、wifi设备)的使用频率也不断增多。

在物联网技术的应用中,物联网接入平台发挥着极其重要的作用,物联网接入平台的任务是将各种类型的物联网设备统一接入到物联网接入平台,再由物联网接入平台对接各类业务系统,从而实现对物联网设备的远程监控和管理。作为物联网设备接入网络的入口,如何保证所接入的物联网设备的合法性,阻断非法物联网设备接入,从而维护整个物联网接入平台的安全稳定运行是很关键的因素。



技术实现要素:

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种设备鉴权方法、一种设备鉴权装置,以及一个或多个机器可读介质。

为了解决上述问题,本发明实施例公开了一种设备鉴权方法,应用于物联网接入平台中,所述物联网接入平台设置有至少一个主题,所述物联网接入平台连接至少一个物联网设备,所述方法包括:

所述物联网接入平台接收所述物联网设备发送的订阅和/或发布指定主题的请求;其中,所述订阅和/或发布指定主题的请求中携带密钥;

提取所述订阅和/或发布指定主题的请求中的密钥,对所述物联网设备进行鉴权处理;

若鉴权通过,则建立所述物联网设备与所述指定主题的连接。

优选的,所述提取所述订阅和/或发布指定主题的请求中的密钥,对所述物联网设备进行鉴权的步骤之前,还包括:

接收所述物联网设备发送的接入请求;其中,所述接入请求包括物联网设备标识码;

根据所述接入请求,判断预置的白名单中是否存在所述物联网设备标识码;

若所述预置的白名单中存在所述物联网设备标识码,则允许所述设备接入所述物联网接入平台。

优选的,所述物联网接入平台中存储有证书和主密钥,在所述接收所述物联网设备发送的订阅和/或发布指定主题的请求的步骤之前,还包括:

接收所述物联网设备发送的密钥获取请求消息;

根据所述密钥获取请求消息,生成所述物联网设备的原始派生子密钥;

根据所述证书的加密密钥信息,对所述原始派生子密钥进行处理,以获得目标派生子密钥;

将所述证书、主密钥和目标派生子密钥发送至所述物联网设备。

优选的,所述提取所述订阅和/或发布指定主题的请求中的密钥,对所述物联网设备进行鉴权的步骤,包括:

提取所述订阅和/或发布指定主题的请求中的密钥;

根据所述证书的加密密钥信息解析所述目标派生子密钥,以获取所述目标派生子密钥的原始派生子密钥。

优选的,所述提取所述订阅和/或发布指定主题的请求中的密钥,对所述物联网设备进行鉴权的步骤,还包括:

判断所述原始派生子密钥中的超期时间是否超期;

若否,则判断所述原始派生子密钥id、协议信息和签名信息是否与主密钥id、协议信息和签名信息一致;

若是,则判断所述原始派生子密钥是否具备用于订阅和/或发布指定主题的权限;

若有,则判断所述原始派生子密钥的目标主题级数和目标主题级数的哈希值是否正确;

若正确,则所述密钥鉴权通过。

本发明实施例还公开了一种设备鉴权装置,其特征在于,应用于物联网接入平台中,所述物联网接入平台设置有至少一个主题,所述物联网接入平台连接至少一个物联网设备,所述装置包括:

第一请求接收模块,用于所述物联网接入平台接收所述物联网设备发送的订阅和/或发布指定主题的请求;其中,所述订阅和/或发布指定主题的请求中携带密钥;

设备鉴权模块,用于提取所述订阅和/或发布指定主题的请求中的密钥,对所述物联网设备进行鉴权处理;

连接建立模块,用于若鉴权通过,则建立所述物联网设备与所述指定主题的连接。

优选的,所述装置还包括:

第二请求接收模块,用于接收所述物联网设备发送的接入请求;其中,所述接入请求包括物联网设备标识码;

标识码判断模块,用于根据所述接入请求,判断预置的白名单中是否存在所述物联网设备标识码;

物联网设备接入模块,用于若所述预置的白名单中存在所述物联网设备标识码,则允许所述设备接入所述物联网接入平台。

优选的,所述物联网接入平台中存储有证书和主密钥,所述装置还包括:

请求消息接收模块,用于接收所述物联网设备发送的密钥获取请求消息;

原始派生子密钥生成模块,用于根据所述密钥获取请求消息,生成所述物联网设备的原始派生子密钥;

原始派生子密钥处理模块,用于根据所述证书的加密密钥信息,对所述原始派生子密钥进行处理,以获得目标派生子密钥;

密钥发送模块,用于将所述证书、主密钥和目标派生子密钥发送至所述物联网设备。

优选的,所述设备鉴权模块包括:

密钥提取子模块,用于提取所述订阅和/或发布指定主题的请求中的密钥;

目标派生子密钥解析子模块,用于根据所述证书的加密密钥信息解析所述目标派生子密钥,以获取所述目标派生子密钥的原始派生子密钥。

优选的,所述设备鉴权模块还包括:

第一判断子模块,用于判断所述原始派生子密钥中的超期时间是否超期;

第二判断子模块,用于若否,则判断所述原始派生子密钥id、协议信息和签名信息是否与主密钥id、协议信息和签名信息一致;

第三判断子模块,用于若是,则判断所述原始派生子密钥是否具备用于订阅和/或发布指定主题的权限;

第四判断子模块,用于若有,则判断所述原始派生子密钥的目标主题级数和目标主题级数的哈希值是否正确;

鉴权通过确定模块,用于若正确,则所述密钥鉴权通过。

本发明实施例还公开了一种装置,包括:

一个或多个处理器;和

其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本发明实施例所述的一个或多个的设备鉴权方法。

本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的一个或多个的设备鉴权方法。

本发明实施例包括以下优点:

在本发明实施例中,通过物联网接入平台接收物联网设备发送的订阅和/或发布指定主题的请求,提取所述订阅和/或发布指定主题的请求中的密钥,对所述物联网设备进行鉴权处理,若鉴权通过,则建立物联网设备与指定主题的连接。将密钥与指定主题的订阅和/或发布的操作权限绑定,通过密钥对物联网设备鉴权,如果鉴权通过,则允许在指定主题上进行发布或订阅的操作,通过该方法对物联网接入平台中接入的物联网设备进行进一步鉴权,阻断不合法的物联网设备在指定主题上发布或订阅消息,进一步保证物联网接入平台中接入的物联网设备的安全性。

附图说明

图1是本发明的mqtt协议中发布者、服务器、订阅者三种身份的关系示意图;

图2是本发明的一种设备鉴权方法实施例一的步骤流程图;

图3是本发明的一种证书的数组结构示意图;

图4是本发明的一种主密钥的数组结构示意图;

图5是本发明的一种派生子密钥的数组结构示意图;

图6是本发明的一种目标主题级数的数组结构示意图;

图7是本发明的另一种目标主题级数的数组结构示意图;

图8是本发明一种设备鉴权方法实施例二的示意图;

图9是本发明的一种设备鉴权装置实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

在物联网设备的应用场景中,mqtt(messagequeuingtelemetrytransport,消息队列遥测传输协议)协议由于优良的设计而成为一个被普遍接受的协议。

mqtt是一个基于客户端-服务器的消息发布/订阅传输协议,具有轻量、简单、开放和易于实现的特点,适用范围非常广泛,包括受限的环境中,如:机器与机器(m2m)通信和物联网(iot)。在通信过程中,mqtt协议中有三种身份:发布者(publish)、代理(broker/服务器)、订阅者(subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。

mqtt协议中的三种身份的关系如图1所示,其中,客户端可以将消息发布到服务器,订阅者从服务器订阅消息。

参照图2,示出了本发明的一种设备鉴权方法实施例一的步骤流程图,所述设备鉴权方法应用于物联网接入平台中,所述物联网接入平台设置有至少一个主题,所述物联网接入平台连接至少一个物联网设备,具体可以包括如下步骤:

步骤s101,所述物联网接入平台接收所述物联网设备发送的订阅和/或发布指定主题的请求;其中,所述订阅和/或发布指定主题的请求中携带密钥;

物联网设备可以为nb-iot(narrowbandinternetofthings,窄带物联网)设备、emtc(enhancementsformachinetypecommunication,增强机器类型通讯)设备、wifi设备等。

物联网接入平台用于将各种类型的物联网设备统一接入到物联网接入平台,再通过物联网接入平台对接各类业务系统,从而实现业务系统对物联网设备的远程监控和管理。

topic主题可以提供物联网设备从物联网接入平台订阅和/或发布消息的通道。在本发明实施例中,物联网接入平台可以设置至少一个主题。

当物联网设备需要通过物联网接入平台中的某个主题(即,指定主题)上订阅和/或发布消息时,向物联网接入平台发送订阅指定主题的请求。

在实际应用中,物联网设备在订阅和/或发布物联网接入平台中的指定主题之前,首先需要接入物联网接入平台。

为了保证物联网接入平台接入的设备的安全性,当物联网设备首次接入物联网接入平台时,物联网接入平台可以对接入的物联网设备进行初始鉴权,只有初始鉴权通过的物联网设备才能接入物联网接入平台,从而订阅和/或发布物联网接入平台中的指定主题。

在本发明实施例中,物联网接入平台对物联网设备进行初始鉴权具体可以包括如下步骤:

步骤s11,接收所述物联网设备发送的接入请求;其中,所述接入请求包括物联网设备标识码;

具体的,在物联网设备首次接入物联网接入平台时,可以向物联网接入平台发送接入请求,例如,向物联网接入平台发送mqttconnect(mqtt连接)消息。

物联网设备在发送接入请求时,可以携带该物联网设备的基本信息,其中,所述基本信息可以包括:设备厂商、设备型号、imei(internationalmobileequipmentidentity,国际移动设备识别码)等信息。

在本发明实施例中,所述物联网设备标识码可以为imei信息。

步骤s12,根据所述接入请求,判断预置的白名单中是否存在所述物联网设备标识码;

在物联网接入平台侧可以存储一个预置的白名单,该预置的白名单可以为设备列表,设备列表包括物联网设备的基本信息。

步骤s13,若所述预置的白名单中存在所述物联网设备标识码,则允许所述设备接入所述物联网接入平台。

存在预置的白名单中的物联网设备,则认为该物联网设备是合法的设备,鉴权通过,允许该物联网设备接入物联网接入平台。

不存在预置的白名单中的物联网设备,则鉴权不通过,则认为该物联网设备是不合法的设备,拒绝其接入物联网接入平台。

在本发明实施例中,当被拒绝接入物联网接入平台的物联网设备希望鉴权通过时,可以通过在物联网接入平台的后台系统操作,在预置的白名单中添加该物联网设备。通过这种方式,当物联网设备再次请求接入物联网接入平台时,在预置的白名单列表中能够查找到该物联网设备,则鉴权通过,允许该物联网设备接入物联网接入平台。

通常,物联网设备鉴权通过之后,就可以通过topic主题进行发布、订阅操作了。但是在一些安全性要求比较高的场景中,例如,商业应用场景,如果不加任何限制,物联网设备可以在任意的topic主题上进行发布消息,也可以订阅任意的topic主题的消息,显然,这样并不能保证物联网接入平台接入的设备的安全性。

在本发明实施例中,设计了一套基于topic主题的权限控制机制,在物联网设备订阅和/或发布指定主题时,在请求消息中携带相应的密钥,物联网接入平台对密钥进行鉴权,只有鉴权通过之后,才能在对应的topic主题上进行订阅和/或发布操作。

主题中携带的密钥可以包括证书、主密钥和派生子密钥。其中,证书和主密钥存储在物联网接入平台中,派生子密钥由物联网设备申请,物联网接入平台动态生成。物联网接入平台将证书、主密钥和派生子密钥发送给物联网设备,以便物联网设备在请求消息中携带密钥。物联网设备只有拿着合法的派生子密钥,才能有权限对相应的topic主题进行订阅和/或发布操作。

在本发明实施例中,在所述接收所述物联网设备发送的订阅和/或发布指定主题的请求的步骤之前,还可以包括如下步骤:

步骤s21,接收所述物联网设备发送的密钥获取请求消息;

步骤s22,根据所述密钥获取请求消息,生成所述物联网设备的原始派生子密钥;

步骤s23,根据所述证书的加密密钥信息,对所述原始派生子密钥进行处理,以获得目标派生子密钥;

步骤s24,将所述证书、主密钥和目标派生子密钥发送至所述物联网设备。

在物联网接入平台中,设置有一个用于进行申请密钥的密钥申请主题,例如:/device/keygen/,物联网设备可以向该密钥主题publish发布一条密钥获取请求消息。

需要说明的是,在密钥申请主题上发布的消息不需要进行密钥鉴权,物联网设备向密钥申请主题发布的消息中不需要携带密钥。

物联网接入平台接收到密钥获取请求消息后,向物联网设备返回相应的响应消息,发送证书、主密钥和派生子密钥给物联网设备。

在本发明实施例中,物联网接入平台发送的证书、主密钥和派生子密钥的生成方式如下:

license证书的生成方式如下:

license证书的原始数据为32byte字节的数组,结构如图3所示,其中:

前24byte字节为随机数,其中:

0~15byte字节表示encryptionkey加密密钥,用于生成主密钥。

16~19byte字节表示contract协议,用于license证书和密钥配对匹配检查。

20~23byte字节表示signature签名,用于license证书和密钥配对匹配检查。

24~27byte表示超期时间,用于证书的有效期检查。例如,超期时间为0。

28~31byte表示证书类型,用于证书的类型检查。例如,证书类型为1,表示licensetypeonpremise默认证书类型。

获取到license证书的原始数据后,将原始数据通过base64转码得到最终输出的license证书。

主密钥的生成方式如下:

主密钥的原始数据为24byte的数组,结构如图4所示,其中:

0~1byte为随机数,表示加盐值。

2~3byte为主密钥id,用于标识主密钥,当有多台服务器,给不同厂家使用时,可以作为一个区分标识,例如,主密钥id为1表示通用的主密钥。

4~7byte为contract协议,使用license证书中的contract值。

8~11byte为signature签名,使用license证书中的signature值。

12~14byte不赋值,默认为0。

15byte为权限标记位,例如,权限标记位赋值为1,表示allowmaster,即表示可以使用此主密钥来生成派生子密钥。

16~23byte不赋值,默认为0。

获取到主密钥的原始数据后,通过如下方式对原始数据进行转码:

1)将原始数据的v[2]~v[23]的数据依次与v[0]、v[1]的加盐值进行异或运算;

具体的,将原始数据中,2~23byte的数据,依次与0~1byte的数据(即,加盐值)进行异或运算。

2)将异或运算后的结果使用license证书中的encryptionkey加密密钥信息进行加密,然后进行base64转码处理后,生成最终的主密钥。

派生子密钥的生成方式如下:

派生子密钥的原始数据为24byte的数组,结构如图5所示,其中:

0~1byte为salt加盐值,是随机数。

2~11byte的masterid、contract协议、signature签名与主密钥的masterid、contract协议、signature签名一致。

12~14byte为targetpath目标主题级数,是目标topic的级数标识,每一级占一个bit,如果是具体的名称则置1,如果是’+’通配符则置0,最多支持23级。最高位表示topic主题最后一级是否是’#’通配符,如果是’#’通配符则置1,其他通配符则置0。

如图6所示,假设targetpath目标主题级数为“+/+/a/b/c/”,则targetpath目标主题级数表示为“00011100000000000000000”。

如图7所示,假设targetpath目标主题级数为“a/b/c/#/”,则targetpath目标主题级数表示为“111100000000000000000000”。

在本发明实施例中,如果是一个确定的不带通配符的topic主题,则该派生子密钥只能用来在该topic主题上订阅和/或发布消息;如果是带通配符的topic主题,则密钥可以用来在符合通配规则的一组topic主题上订阅和/或发布消息。

在实际应用中,targetpath目标主题级数在定义时,包含了imei的信息,例如,targetpath目标主题级数定义为/topic/imei1/set,/topic/imei2/set,那么,生成物联网设备的派生子密钥时,实际上每个物联网设备生成的派生子密钥都是不一样的。

因此,本发明实施例的设备鉴权机制支持一设一密,物联网设备只能对自己所属的topic主题进行订阅和/或发布操作,从而做到设备级的隔离,安全控制级别很高。

15byte为权限标记位,例如,权限标记位赋值为1,表示可以使用此派生子密钥来订阅和/或发布指定主题。

16~19byte为targetchannel目标主题的哈希值,即用户传入的topic经过处理后的topic主题的哈希值。例如,+/+/a/b/c/,处理后会去掉最后的/,然后计算+/+/a/b/c的哈希值。

20~23byte为expire超期时间,用于派生子密钥的有效期检查。

超期时间的计算方式是:

expire=当前时间+ttl生存时间值–偏移量(2010/1/100:00:00)

其中,当前时间为用户发送密钥请求的时间,ttl生存时间值为用户发送的密钥请求消息中携带的一个参数,偏移量为物联网接入平台设定的一个时间基线,例如,偏移量为2010/1/100:00:00。

如上计算方法获取到的派生子密钥的原始数据即为原始派生子密钥。

在本发明实施例中,获取到原始派生子密钥后,通过如下方式对原始派生子密钥进行处理:

1)将原始派生子密钥的原始数据的v[2]~v[23]的数据依次与v[0]、v[1]的加盐值进行异或运算;

具体的,将原始派生子密钥中,2~23byte的数据,依次与0~1byte的数据(即,加盐值)进行异或运算。

2)将异或运算后的结果使用license证书中的encryptionkey加密密钥信息进行加密,然后进行base64转码处理后,生成最终的派生子密钥,即目标派生子密钥。

在本发明实施例中,物联网接入平台生成目标派生子密钥后,同样向密钥申请主题(例如:/device/keygen/)publish发布一条响应消息,该响应消息中可以携带所述证书、主密钥和目标派生子密钥,从而实现将所述证书、主密钥和目标派生子密钥发送至所述物联网设备。

物联网设备接收到证书、主密钥和目标派生子密钥后,将证书、主密钥和目标派生子密钥作为密钥,封装在订阅和/或发布指定主题的请求消息中,发布到物联网接入平台。

步骤s102,提取所述订阅和/或发布指定主题的请求中的密钥,对所述物联网设备进行鉴权处理;

在本发明实施例中,所述提取所述订阅和/或发布指定主题的请求中的密钥,对所述物联网设备进行鉴权的步骤,包括:

步骤s31,提取所述订阅和/或发布指定主题的请求中的密钥;

步骤s32,根据所述证书的加密密钥信息解析所述目标派生子密钥,以获取所述目标派生子密钥的原始派生子密钥。

由于目标派生子密钥是由原始派生子密钥使用license证书中的encryptionkey加密密钥进行加密的,因此,在解析目标派生子密钥时,只有使用证书的加密密钥进行解析,才能解析出正确的原始派生子密钥。

解析出原始的派生子密钥之后,对原始派生子密钥进行进一步的鉴权处理,具体可以包括如下步骤:

步骤s33,判断所述原始派生子密钥中的超期时间是否超期;

在本发明实施例中,根据原始派生子密钥16~19byte的expire超期时间,对物联网设备进行是否超期的鉴权判断,阻断已经超期的物联网设备订阅和/或发布指定主题。

当原始派生子密钥中的超期时间没有超期时,则执行步骤s34。

步骤s34,若否,则判断所述原始派生子密钥的id、协议信息和签名信息是否与主密钥的id、协议信息和签名信息一致;

生成原始派生子密钥时,原始派生子密钥的id、协议信息和签名信息与主密钥的id、协议信息和签名信息一致。若两者不一致,则原始派生子密钥是不合法的,阻断该物联网设备订阅和/或发布指定主题。

当原始派生子密钥的id、协议信息和签名信息与主密钥的id、协议信息和签名信息一致时,则执行步骤s35。

步骤s35,若是,则判断所述原始派生子密钥是否具备用于订阅和/或发布指定主题的权限;

在原始派生子密钥的15byte的数据中,描述了此原始派生子密钥是否可以用于订阅和/或发布指定主题的权限,因此,可以通过原始派生子密钥的15byte的数据来判断所述原始派生子密钥是否具备用于订阅和/或发布指定主题的权限。

当原始派生子密钥不具备用于订阅和/或发布指定主题的权限时,则该原始派生子密钥是不合法的,阻断该物联网设备订阅和/或发布指定主题。

当原始派生子密钥具备用于订阅和/或发布指定主题的权限时,则执行步骤s36。

步骤s36,若有,则判断所述原始派生子密钥的目标主题级数和目标主题级数的哈希值是否正确;

步骤s37,若正确,则所述密钥鉴权通过。

通过判断12~14byte的targetpath目标主题级数和16~19byte的targetchannel目标主题的哈希值,确定所述原始派生子密钥的目标主题级数和目标主题级数的哈希值是否正确。

当原始派生子密钥的目标主题级数和目标主题级数的哈希值不正确时,则该原始派生子密钥是不合法的,阻断该物联网设备订阅和/或发布指定主题。

当原始派生子密钥的目标主题级数和目标主题级数的哈希值正确时,则所述密钥鉴权通过。

步骤s103,若鉴权通过,则建立所述物联网设备与所述指定主题的连接。

当鉴权通过时,则建立物联网设备与所述指定主题的连接,从而使物联网设备可以通过指定主题订阅和/或发布消息。当鉴权不通过时,则拒绝物联网设备与指定主题的连接,则该物联网设备不能通过指定主题订阅和/或发布消息。

在本发明实施例中,通过物联网接入平台接收物联网设备发送的订阅和/或发布指定主题的请求,提取所述订阅和/或发布指定主题的请求中的密钥,对所述物联网设备进行鉴权处理,若鉴权通过,则建立物联网设备与指定主题的连接。将密钥与指定主题的订阅和/或发布的操作权限绑定,通过密钥对物联网设备鉴权,如果鉴权通过,则允许在指定主题上进行发布或订阅的操作,通过该方法对物联网接入平台中接入的物联网设备进行进一步鉴权,阻断不合法的物联网设备在指定主题上发布或订阅消息,进一步保证物联网接入平台中接入的设备的安全性。

为了使本领域技术人员能够更好地理解本申请实施例,下面通过一个例子对本申请实施例加以说明:参照图8,示出了本发明的一种设备鉴权方法实施例二的示意图。

物联网设备首次开机后,主动连接物联网接入平台,通过通信网络上报该物联网设备的厂商、型号、imei号等基本信息,负责处理物联网设备接入的是物联网接入平台前端的mqtt接入服务模块,由此服务模块进行物联网设备的认证鉴权,并根据需要进行密钥的动态分发。

其中,对物联网设备的认证鉴权包括初始鉴权,和基于topic的设备鉴权。当对物联网设备进行初始鉴权通过后,允许物联网设备接入物联网接入平台,若物联网接入平台收到物联网设备发送的密钥获取请求消息,则动态生成密钥并发送至物联网设备。若物联网设备使用该密钥进行订阅和/或发布指定主题,则设备鉴权通过。

物联网设备鉴权通过后,物联网接入平台才会将物联网设备上报的各种状态数据转发给各个业务系统,这样各个业务系统就可以搜集到物联网设备的当前状态,以便对物联网设备进行监控。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图9,示出了本发明的一种设备鉴权装置实施例的结构框图。所述装置应用于物联网接入平台中,所述物联网接入平台设置有至少一个主题,所述物联网接入平台连接至少一个物联网设备,所述装置包括:

第一请求接收模块901,用于所述物联网接入平台接收所述物联网设备发送的订阅和/或发布指定主题的请求;其中,所述订阅和/或发布指定主题的请求中携带密钥;

设备鉴权模块902,用于提取所述订阅和/或发布指定主题的请求中的密钥,对所述物联网设备进行鉴权处理;

连接建立模块903,用于若鉴权通过,则建立所述物联网设备与所述指定主题的连接。

在本发明的一种优选实施例中,所述装置还包括:

第二请求接收模块,用于接收所述物联网设备发送的接入请求;其中,所述接入请求包括物联网设备标识码;

标识码判断模块,用于根据所述接入请求,判断预置的白名单中是否存在所述物联网设备标识码;

物联网设备接入模块,用于若所述预置的白名单中存在所述物联网设备标识码,则允许所述设备接入所述物联网接入平台。

在本发明的一种优选实施例中,所述物联网接入平台中存储有证书和主密钥,所述装置还包括:

请求消息接收模块,用于接收所述物联网设备发送的密钥获取请求消息;

原始派生子密钥生成模块,用于根据所述密钥获取请求消息,生成所述物联网设备的原始派生子密钥;

原始派生子密钥处理模块,用于根据所述证书的加密密钥信息,对所述原始派生子密钥进行处理,以获得目标派生子密钥;

密钥发送模块,用于将所述证书、主密钥和目标派生子密钥发送至所述物联网设备。

在本发明的一种优选实施例中,所述设备鉴权模块902可以包括如下子模块:

密钥提取子模块,用于提取所述订阅和/或发布指定主题的请求中的密钥;

目标派生子密钥解析子模块,用于根据所述证书的加密密钥信息解析所述目标派生子密钥,以获取所述目标派生子密钥的原始派生子密钥。

在本发明的一种优选实施例中,所述设备鉴权模块902还可以包括如下子模块:

第一判断子模块,用于判断所述原始派生子密钥中的超期时间是否超期;

第二判断子模块,用于若否,则判断所述原始派生子密钥的id、协议信息和签名信息是否与主密钥的id、协议信息和签名信息一致;

第三判断子模块,用于若是,则判断所述原始派生子密钥是否具备用于订阅和/或发布指定主题的权限;

第四判断子模块,用于若有,则判断所述原始派生子密钥的目标主题级数和目标主题级数的哈希值是否正确;

鉴权通过确定模块,用于若正确,则所述密钥鉴权通过。

对于设备鉴权装置实施例而言,由于其与设备鉴权方法实施例基本相似,所以描述的比较简单,相关之处参见设备鉴权方法实施例的部分说明即可。

在本发明实施例中,通过物联网接入平台接收物联网设备发送的订阅和/或发布指定主题的请求,提取所述订阅和/或发布指定主题的请求中的密钥,对所述物联网设备进行鉴权处理,若鉴权通过,则建立物联网设备与指定主题的连接。将密钥与指定主题的订阅和/或发布的操作权限绑定,通过密钥对物联网设备鉴权,如果鉴权通过,则允许在指定主题上进行发布或订阅的操作,通过该方法对物联网接入平台中接入的物联网设备进行进一步鉴权,阻断不合法的物联网设备在指定主题上发布或订阅消息,进一步保证物联网接入平台中接入的物联网设备的安全性。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本发明实施例还提供了一种装置,包括:

一个或多个处理器;和

其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行本发明实施例所述的一个或多个的设备鉴权方法。

本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的一个或多个的设备鉴权方法。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种设备鉴权方法、一种设备鉴权装置,以及一个或多个机器可读介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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