一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

物联网设备认证方法、设备及存储介质与流程

2022-02-24 12:10:37 来源:中国专利 TAG:


1.本技术涉及物联网技术领域,尤其涉及一种物联网设备认证方法、设备及存储介质。


背景技术:

2.随着物联网技术的发展,越来越多领域使用物联网技术实现数据上云和大数据分析,如工业物联网,农业物联网等。物联网网关作为将各种传统设备和智能设备接入物联网的关键纽带,在物联网中发挥着重要作用。物联网网关不仅提供广泛的接入能力和数据协议的转换能力,它还提供对物联网设备的管理能力。对物联网设备的管理能力是实现物联网设备数据上云的重要基础,如管理物联网设备的注册流程,使物联网设备通过云端的身份认证等。
3.其中,对物联网设备的身份认证是实现安全通信的前提。物联网网关负责将各物联网设备的身份信息上报给云端;云端对物联网设备进行身份认证;物联网设备通过身份认证后,云端为物联网设备提供相应的数据服务。现有对物联网设备的身份认证方式,在物联网设备数量较多的情况下,存在认证效率较低的问题。


技术实现要素:

4.本技术的多个方面提供一种物联网设备认证方法、设备及存储介质,用以提高物联网设备的认证效率。
5.本技术实施例提供一种物联网设备认证方法,适用于物联网网关,所述方法包括:获取物联网中多个物联网设备的身份信息以及所述多个物联网设备进行身份认证所需的密钥信息;根据所述多个物联网设备的身份信息和所述密钥信息,计算所述多个物联网设备的消息认证码;根据所述多个物联网设备的消息认证码,生成同时对所述多个物联网设备进行身份认证所需的联合认证信息;将所述联合认证信息和所述多个物联网设备的身份信息上报给物联网云平台,以供物联网云平台基于所述联合认证信息同时对所述多个物联网设备进行身份认证。
6.本技术实施例还提供一种物联网设备认证方法,适用于物联网云平台,所述方法包括:接收物联网网关上报的第一联合认证信息和多个物联网设备的身份信息;基于所述多个物联网设备的身份信息和进行身份认证所需的密钥信息,计算所述多个物联网设备的消息认证码;根据所述多个物联网设备的消息认证码,生成同时对所述多个物联网设备进行身份认证所需的第二联合认证信息;基于所述第一联合认证信息和所述第二联合认证信息,同时对所述多个物联网设备进行身份认证。
7.本技术实施例还提供一种物联网网关,包括:存储器、处理器和通信组件;所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:获取物联网中多个物联网设备的身份信息以及所述多个物联网设备进行身份认证所需的密钥信息;根据所述多个物联网设备的身份信息和所述密钥信息,计算所述多个物联
网设备的消息认证码;根据所述多个物联网设备的消息认证码,生成同时对所述多个物联网设备进行身份认证所需的联合认证信息;通过所述通信组件将所述联合认证信息和所述多个物联网设备的身份信息上报给物联网云平台,以供物联网云平台基于所述联合认证信息同时对所述多个物联网设备进行身份认证。
8.本技术实施例还提供一种物联网云平台,包括:存储器、处理器和通信组件;所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:通过所述通信组件接收物联网网关上报的第一联合认证信息和多个物联网设备的身份信息;基于所述多个物联网设备的身份信息和进行身份认证所需的密钥信息,计算所述多个物联网设备的消息认证码;根据所述多个物联网设备的消息认证码,生成同时对所述多个物联网设备进行身份认证所需的第二联合认证信息;基于所述第一联合认证信息和所述第二联合认证信息,同时对所述多个物联网设备进行身份认证。
9.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现本技术实施例提供的物联网认证方法中的步骤。
10.在本技术实施例中,采用消息认证码对物联网设备进行身份认证,而且针对多个物联网设备,利用多个物联网设备的消息认证码生成用于同时(即一次性)对多个物联网设备进行身份认证所需的联合认证信息,使用该联合认证信息可以一次性实现对多个物联网设备的身份认证,可以不用针对每个物联网设备逐个进行比对验证,有利于提高身份认证的效率,尤其是在物联网设备数量较多的情况下也能实现快速认证。
附图说明
11.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
12.图1为本技术示例性实施例提供的一种物联网系统的局部结构示意图;
13.图2为本技术示例性实施例提供的物联网系统中各设备之间的交互流程示意图;
14.图3为本技术示例性实施例提供的物联网网关与物联网云平台相互配合对多个物联网设备进行身份认证的过程示意图;
15.图4a为本技术示例性实施例提供的二叉哈希树的构建过程示意图;
16.图4b为本技术示例性实施例提供的多叉哈希树的构建过程示意图;
17.图5为本技术示例性实施例提供的一种物联网设备认证方法的流程示意图;
18.图6为本技术示例性实施例提供的另一种物联网设备认证方法的流程示意图;
19.图7为本技术示例性实施例提供的一种物联网网关的结构示意图;
20.图8为本技术示例性实施例提供的一种物联网云平台的结构示意图。
具体实施方式
21.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.图1为本技术示例性实施例提供的一种物联网系统的局部结构示意图。如图1所示,该物联网系统100包括:物联网云平台101、物联网网关102以及多个物联网设备103。其中,多个物联网设备103与物联网网关102通信连接,通过物联网网关102接入物联网云平台101。
23.在本实施例中,物联网设备103是物联网系统100中的节点设备。根据物联网系统100所属应用场景的不同,物联网设备103可以有不同实现形态。例如,假设物联网系统100是智能家居系统,则该物联网系统100中的物联网设备103可以包括手机、电视、冰箱、洗衣机、热水器、电灯、开关、扫地机器人、空气净化器、烤箱、灶台、笔记本电脑、平板电脑、体重秤、窗户传感器、门铃、烟雾探测器、报警器以及音箱等各种适用于家居环境且能够接入物联网系统的电子设备。
24.又例如,假设物联网系统100是智能交通系统,则该物联网系统100中的物联网设备103可以包括各种车辆设备,还包括设置于各条道路上用于监控交通状况的摄像头、电子眼,设置于各条道路上的交通管制设备(如交通信号灯)等,或者,是设置于车辆收费站处的车辆检测器、电子收费设备、摄像头等,或者,是设置于停车场中用于监控车位状态的摄像头等。
25.又例如,假设物联网系统100是工业物联网系统,则该物联网系统100中的物联网设备103包括部署于工业环境中的各种传感器以及相关的工业设备。其中,工业环境中常用的传感器包括但不限于:温度传感器、湿度传感器、烟雾传感器、光照传感器、压力传感器、液位传感器以及流量流速传感器等。工业设备是指工业生产设备和各类机床,包括但不限于:车床、铣床、磨床、刨床等机器,以及数控机床、柔性制造系统、包装设备、清洁设备、传输设备等。需要说明的是,在不同工业场景中,传感器和工业设备会有所不同,上面仅为举例说明,并未对工业场景进行限定。
26.物联网网关102是物联网系统100中代理物联网设备103连接物联网云平台103的中介设备,在物联网系统100中发挥着重要作用。物联网网关102提供广泛的接入能力和数据协议的转换能力,它还提供了对物联网设备103的管理能力。其中,物联网网关102对物联网设备103的管理能力是实现物联网设备103的数据上云的重要基础,例如包括但不限于:管理物联网设备103的注册流程,使物联网设备103通过物联网云平台101的身份认证,获取物联网设备103的属性、事件,以及实现物联网设备103的远程控制、设计和维护等。
27.物联网云平台101是物联网系统100中的云端设备,其设备形态可以是常规服务器、云服务器、云主机、虚拟中心或服务器阵列等,主要负责为物联网设备103提供云上服务,例如云存储、大数据分析或其它云上应用等。另外,物联网云平台101还可以面向物联网设备103提供生命周期管理和数字化建模能力,提供设备实时监控和远程运维能力,以及提供多重防护以保障物联网设备103和自身的安全。其中,面向物联网设备103的生命周期管理是指可以创建、删除、禁用或启用物联网设备103;面向物联网设备103的数字化建模能力是指对物联网设备103进行数字化建模,做到协议标准化和数据结构化,加速云端应用开发流程。提供设备实时监控是指支持大盘监控和报警配置,可以实时感知物联网设备103的异常变化;远程运维能力是指可以提供物联网设备103的全链路日志记录,并且支持通过追踪id(traceid)、关键字、时间范围等维度快速检索相关日志。提供多重防护是指针对物联网设备103提供注册机制和认证机制,降低物联网云平台101被攻破的安全风险;严格控制物
联网设备103和用户的权限范围,任何操作都需要做权限校验,防止越权访问的情况;与物联网网关102之间通信使用标准的互联网安全协议,例如安全传输层协议(transport layer security,tls),保证数据的机密性和完整性,等等。
28.在本技术实施例中,物联网网关102与物联网云平台101之间采用互联网协议进行互联,如图1所示;物联网网关102与物联网设备103之间构成一个子网络,物联网设备103的数据与物联网网关102的性能和该子网络所使用的通信技术相关。在本技术实施例中,并不限定物联网网关102与物联网设备103之间所采用的通信技术,例如可以包括但不限于:ethernet(以太网),wi-fi(无线上网),rfid(射频识别),nfc(近距离无线通信),zigbee(紫蜂),6lowpan(ipv6低速无线版本),bluetooth(蓝牙),gsm(全球移动通信系统),gprs(通用无线分组服务),3g,4g,5g等。不同通信技术都有一定适用范围,这会决定了物联网系统100所包含的物联网设备103的最大数量,本技术实施例对物联网设备103的数量没有特别要求,凡是包含两个或两个以上的物联网设备103的物联网系统均适用于本技术实施例。
29.其中,物联网云平台101、物联网网关102以及物联网设备103之间的交互过程如图2所示。参见步骤20,物联网网关102与物联网云平台101之间采用标准的互联网安全协议建立网络连接,这样物联网网关102作为物联网设备103与物联网云平台101之间的中介设备,可以在物联网设备103与物联网云平台101之间提供一条安全的数据通道。可选地,物联网网关102与物联网云平台101之间可以建立tls连接,以保证数据通道的机密性。
30.参见步骤21,对任一物联网设备103来说,在正式加入物联网系统100之前,需要通过物联网系统100所采用的通信技术接入物联网网关102;之后,通过物联网网关102向物联网云平台101发起注册流程,如步骤22所示;进一步,在该注册流程中,物联网云平台101为物联网设备103提供全局唯一的身份信息和供物联网设备103后续身份认证所需的密钥信息,如步骤23所示。可选地,物联网设备103的身份信息可以是任何能够唯一标识物联网设备103的信息,例如可以是物联网设备103在物联网系统100中具有全局唯一性的设备id,或者是物联网设备103的ip地址或mac地址,但不限于此。
31.其中,物联网云平台101和网联网设备103双方使用上述密钥信息实现身份认证。在本实施例中,并不对该密钥信息的实现形式进行限定,具体可根据身份认证过程中约定使用的加密方式而定。例如,若物联网云平台101和网联网设备103双方约定使用对称加密方式,则物联网云平台101提供给物联网设备103的密钥信息是物联网云平台101和网联网设备103双方的共享密钥,物联网云平台101本地也会存储该共享密钥。又例如,若物联网云平台101和网联网设备103双方约定使用非对称加密方式,则物联网云平台101提供给物联网设备103的密钥信息是非对称加密方式中的私钥,物联网云平台101本地会存储与该私钥对应的公钥。
32.进一步,参见步骤24,物联网设备103存储物联网云平台101提供的身份信息(如设备id)和密钥信息(如共享密钥)。或者,可选地,物联网网关102也可以代理物联网设备103保存物联网设备103的身份信息和密钥信息。需要说明的是,针对不同的物联网设备103,物联网云平台101可以使用相同的密钥信息对不同的物联网设备103进行身份认证;或者,针对不同的物联网设备103,物联网云平台101也可以使用不同的密钥信息对不同的物联网设备103进行身份认证,对此不做限定。其中,物联网云平台101使用相同的密钥信息对不同的物联网设备103进行身份认证,可节约密钥资源和存储资源,有利于降低身份认证的计算复
杂度。
33.进一步,参见步骤25,物联网网关102针对多个物联网设备103向物联网云平台101发起身份认证流程;物联网云平台101对多个物联网设备103进行身份认证,如步骤26所示。进一步,如步骤27和28所示,物联网云平台101向物联网网关102返回身份认证结果消息,物联网网关102将身份认证结果消息下发给物联网设备103。进一步,在通过身份认证的情况下,物联网设备103通过物联网网关102使用物联网云平台101提供的数据服务,如步骤29所示。
34.在本技术实施例中,由物联网网关102与物联网云平台101相互配合,对多个物联网设备103进行身份认证,如图2中步骤25-28所示。具体地,采用消息认证码(message authentication code,mac)技术对物联网设备103进行身份认证,而且针对多个物联网设备103,利用多个物联网设备103的消息认证码生成用于同时(即一次性)对多个物联网设备103进行身份认证所需的联合认证信息,使用该联合认证信息一次性实现对多个物联网设备103的身份认证,不再是针对每个物联网设备103逐个进行比对验证,以便提高身份认证的效率,尤其是在物联网设备103的数量较多的情况下,采用该认证方式能够实现快速认证。下面结合图3所示的交互流程,对物联网网关102与物联网云平台101相互配合对多个物联网设备103进行身份认证的过程进行说明。
35.如图3所示,该身份认证过程包括以下步骤:
36.步骤31:物联网网关102获取物联网中多个物联网设备103的身份信息以及多个物联网设备103进行身份认证所需的密钥信息。
37.其中,多个物联网设备103进行身份认证所需的密钥信息是物联网云平台101下发的密钥信息。可选地,物联网网关102可以在每次重启时,针对多个物联网设备103向物联网云平台101发起身份认证流程;或者,物联网网关102也可以在检测到身份认证触发事件时,针对多个物联网设备103向物联网云平台101发起身份认证流程。可选地,身份认证触发事件可以是定时事件,则在设定时间到达时,物联网网关102针对多个物联网设备103向物联网云平台101发起身份认证流程。或者,身份认证触发事件可以是有新的物联网设备103加入物理网系统100的事件,则在检测到有新的物联网设备103加入物理网系统100时,物联网网关102针对多个物联网设备103向物联网云平台101发起身份认证流程。或者,身份认证触发事件可以是修改已有物联网设备103的身份信息的事件,则在检测到已有物联网设备103的身份信息被修改后,物联网网关102针对多个物联网设备103向物联网云平台101发起身份认证流程。
38.无论是上述哪种情况,当需要针对多个物联网设备103向物联网云平台101发起身份认证流程时,物联网网关102可以获取物联网中多个物联网设备103的身份信息以及多个物联网设备103进行身份认证所需的密钥信息。在一可选实施例中,若物联网设备103进行身份认证所需的密钥信息和物联网设备103的身份信息由物联网设备103存储,则物联网网关102可以根据其与多个物联网设备103之间的通信协议,分别从多个物联网设备103获取各自的身份信息和进行身份认证所需的密钥信息。或者,在另一可选实施例中,身份认证所需的密钥信息和物联网设备103的身份信息由物联网网关102代理存储,则物联网网关102可以直接从本地获取多个物联网设备103的身份信息和多个物联网设备103进行身份认证所需的密钥信息。
39.步骤32:物联网网关102根据多个物联网设备103的身份信息和多个物联网设备103进行身份认证所需的密钥信息,计算多个物联网设备的消息认证码。
40.其中,消息认证码技术是一种确认消息完整性并进行身份认证的技术,是与密钥相关联的哈希函数。在本技术实施例中,消息认证码的计算过程是指将物联网设备103的身份信息和物联网设备103进行身份认证所需的密钥信息作为输入参数送入消息认证码算法中,经计算之后输出固定长度的消息认证码。在本实施例中,并不对所采用的消息认证码算法进行限定。例如,可以使用基于哈希的消息认证码(hash-based message authentication code,hmac)算法,hmac是一种单向散列函数。其中,hmac算法所采用的哈希(hash)函数,可以是sha-256,sha-384或sha-512等哈希算法,相应地,hmac算法可实现为hmac-sha-256,hmac-sha-384或hmac-sha-512等各种hmac算法。又例如,还可以使用分组密码算法作为本实施例所采用的消息认证码算法。又例如,使用流密码或公钥密码算法作为本实施例所采用的消息认证码算法。其中,关于各种hmac算法、分组密码算法、流密码算法或公钥密码算法的实现原理,可参见现有技术,在本技术实施例中不做详述。
41.进一步可选地,物联网网关102还可以获取计算消息认证码所需的一些附加信息,例如时间戳和随机数等;进而,根据物联网设备103的身份信息、物联网设备103进行身份认证所需的密钥信息以及附加信息(如时间戳和随机数)联合计算得出物联网设备103的消息认证码。其中,通过附带时间戳,可以识别接收到的消息认证码是否是本次身份认证过程中生成的消息认证码,可以防止通过同一合法消息认证码被反复使用进行身份认证,有利于进一步提高身份认证的安全性。其中,随机数是物联网网关102每次发起身份认证时从物联网云平台101获取的,每次获取的随机数都会变化,在生成消息认证码的过程中考虑随机数,基于随机数的随机性,有利于进一步提高身份认证的安全性。
42.步骤33:物联网网关102根据多个物联网设备103的消息认证码,生成同时对多个物联网设备103进行身份认证所需的联合认证信息。
43.在本技术实施例中,联合认证信息是以多个物联网设备103的消息认证码为基础生成的,是对多个物联网设备103的消息认证码信息的综合体现,也是对多个物联网设备103的身份信息的综合体现。在本技术实施例中,并不限定根据多个物联网设备103的消息认证码生成联合认证信息的方式,凡是可生成能够同时体现多个物联网设备103的消息认证码信息或身份信息的联合认证信息的方式都适用于本技术实施例。关于具体生成联合认证信息的示例性说明可参见后续实施例,在此暂不赘述。
44.步骤34:物联网网关102将上述联合认证信息和多个物联网设备103的身份信息上报给物联网云平台101。
45.其中,物联网网关102可通过其与物联网云平台101之间的tls连接,将上述联合认证信息和多个物联网设备103的身份信息上报给物联网云平台101。对物联网云平台101来说,可接收物联网网关102上报的联合认证信息和多个物联网设备103的身份信息;进而,物联网云平台101基于接收到的联合认证信息和多个物联网设备103的身份信息同时对多个物联网设备103进行身份认证,参见下述步骤35-37。
46.步骤35:物联网云平台101基于多个物联网设备103进行身份认证所需的密钥信息和物联网网关102上报的多个物联网设备103的身份信息,计算多个物联网设备103的消息认证码。
47.其中,物联网云平台101生成物联网设备103的消息认证码的过程,与物联网网关102生成物联网设备103的消息认证码的过程相同,可参见前述步骤中的描述,在此不再赘述。
48.步骤36:物联网云平台101根据多个物联网设备103的消息认证码,生成同时对多个物联网设备进行身份认证所需的联合认证信息。
49.其中,物联网云平台101生成联合认证信息的过程,与物联网网关102生成联合认证信息的过程相同,关于具体生成联合认证信息的示例性方式可参见后续实施例,在此暂不赘述。
50.步骤37:物联网云平台101基于其生成的联合认证信息和物联网网关102上报的联合认证信息,同时对多个物联网设备103进行身份认证。
51.在本实施例中,为便于描述和区分,将物联网网关102上报的联合认证信息称为第一联合认证信息,将物联网云平台101生成的联合认证信息称为第二联合认证信息。在此基础上,物联网云平台101可基于第一联合认证信息和第二联合认证信息,同时对多个物联网设备103进行身份认证。
52.具体地,物联网云平台101可以将第一联合认证信息和第二联合认证信息进行比较;若第一联合认证信息和第二联合认证信息相同,说明多个物联网设备103通过身份认证;若第一联合认证信息和第二联合认证信息不相同,说明多个物联网设备103未通过身份认证,由此可见,通过一次比对操作,即可对多个物联网设备103同时进行身份认证,得到多个物联网设备103的身份认证结果,实现一次性对多个物联网设备103进行身份认证的目的,可提高对多个物联网设备103进行身份认证的效率,尤其是物联网设备103的数量越多,身份认证效率的提高越明显。
53.在本技术实施例中,并不限定根据多个物联网设备103的消息认证码生成联合认证信息的方式,下面对生成联合认证信息方式进行示例性说明:
54.在本技术一示例性实施例中,通过对多个物联网设备103的消息认证码进行哈希计算,以得到能够同时体现多个物联网设备103的消息认证码的联合认证信息。其中,对多个物联网设备103的消息认证码进行哈希计算以得到联合认证信息的哈希计算方式有多种,下面举例说明:
55.方式a1:直接对多个物联网设备103的消息认证码进行一次哈希计算,得到一个哈希值,将该哈希值作为联合认证信息。
56.方式a2:将多个物联网设备103的消息认证码分为多组,每一组内至少包含一个物联网设备103的消息认证码;以组为单位,对每一组内物联网设备103的消息认证码进行哈希计算,得到每一组对应的哈希值;之后,对多个组对应的哈希值进行二次哈希计算,得到一个哈希值,将该哈希值作为联合认证信息。
57.方式a3:将多个物联网设备103的消息认证码作为哈希树的叶子节点构建哈希树,该哈希树的根节点代表联合认证信息。其中,所构建的哈希树可以是二叉哈希树,也可以是多叉哈希树。
58.结合图4a所示,构建二叉哈希树的过程包括:将多个物联网设备103的消息认证码分别作为二叉哈希树的叶子节点,自叶子节点所在层开始,计算当前层中两两节点连接后的哈希值,作为上一层中的一个非叶子节点,逐层递归直至计算出二叉哈希树的根节点,最
终得到二叉哈希树。二叉哈希树也可以称为默克尔树。
59.在图4a中,以4个物理网设备103为例,采用hmac算法计算每个物理网设备103的消息认证码,分别作为二叉哈希树的叶子节点n1-n4;在图4a中,authdata表示认证信息,包括物理网设备103的身份信息,进一步还包括时间戳和随机数等附加信息;g_key表示物理网设备103进行身份认证所需的密钥信息;n1-n4表示采用hmac算法计算出的4个物联网设备103的消息认证码;authdata、g_key以及hmac算法后面括号中的数字1-4表示物联网设备103在二叉哈希树中的位置。进一步,根据默克尔树构建原理,可以计算出非叶子节点n5和n6,非叶子节点n5将叶子节点n1与叶子节点n2进行连接后的哈希值,同理非叶子节点n6是将叶子节点n3与叶子节点n4进行连接后的哈希值;进一步,将非叶子节点n5和非叶子节点n6进行连接后计算哈希值为根节点n7。根节点n7是由所有子节点(包括叶子节点和非叶子节点)的哈希值的散列结果,可以体现4个物联网设备103的消息认证码,因此通过对根节点n7对应的哈希值进行校验,便可以实现对4个物联网设备103的快速认证。
60.结合图4b所示,构建多叉哈希树的过程包括:将多个物联网设备103的消息认证码分别作为多叉哈希树的叶子节点;计算多个叶子节点连接后的哈希值作为多叉哈希树中的根节点,最终得到多叉哈希树。
61.在图4b中,以4个物理网设备103为例,采用hmac算法计算每个物理网设备103的消息认证码,分别作为多叉哈希树的叶子节点n1-n4;在图4b中,authdata表示认证信息,包括物理网设备103的身份信息,进一步还包括时间戳和随机数等附加信息;g_key表示物理网设备103进行身份认证所需的密钥信息;n1-n4表示采用hmac算法计算出的4个物联网设备103的消息认证码;authdata、g_key以及hmac算法后面括号中的数字1-4表示物联网设备103在多叉哈希树中的位置。进一步,根据多叉哈希树构建原理,可以计算出根节点n8,根节点n8将叶子节点n1-n4进行连接后计算出的哈希值。根节点n8是由所有叶子节点的哈希值,可以体现4个物联网设备103的消息认证码,因此通过对根节点n8对应的哈希值进行校验,便可以实现对4个物联网设备103的快速认证。
62.上述列举的计算联合认证信息的几种方式,既适用于物联网网关102计算联合认证信息,也适用于物联网云平台101计算联合认证信息。
63.无论是上述哪种哈希树,对物联网网关102来说,在得到哈希树之后,将联合认证信息和多个物联网设备103的身份信息上报给物联网云平台101的一种实现方式b1为:将哈希树和多个物联网设备103的身份信息上报给物联网云平台101。除此之外,在得到哈希树之后,物联网网关102将联合认证信息和多个物联网设备103的身份信息上报给物联网云平台101的一种实现方式b2为:将哈希树的根节点和多个物联网设备103的身份信息上报给物联网云平台101。
64.对于实现方式b1:物联网网关102将哈希树和多个物联网设备103的身份信息上报给物联网云平台101。其中,可以在同一通信过程中,将哈希树和多个物联网设备103的身份信息上报给物联网云平台101;也可以在不同通信过程中,分别将哈希树和多个物联网设备103的身份信息上报给物联网云平台101。相应地,物联网云平台101接收物联网网关102上报的哈希树和多个物联网设备103的身份信息;物联网云平台101本地会存储多个物联网设备103进行身份认证所需的密钥信息;另外,在接收到物联网网关102上报的多个物联网设备103的身份信息之后,还会根据多个物联网设备103的身份信息和多个物联网设备103进
行身份认证所需的密钥信息,计算多个物联网设备103的消息认证码;进一步,根据多个物联网设备103的消息认证码生成哈希树,该哈希树的结构与物联网网关102上报的哈希树的结构相同,或者是二叉哈希树或者是多叉哈希树;其中,物联网云平台101生成哈希树的详细过程参见前述实施例,在此不再赘述。之后,物联网云平台101可以根据自己生成的哈希树和物联网网关102上报的哈希树,同时(或一次性)对多个物联网设备103进行身份认证。
65.为了便于描述和区分,在实现方式b1中,将物联网网关102上报的哈希树称为第一哈希树,将物联网云平台101生成哈希树称为第二哈希树。第一哈希树的根节点代表物联网网关102所生成的第一联合认证信息;第二哈希树的根节点代表物联网云平台101所生成的第二联合认证信息。其中,物联网云平台101根据物联网网关102上报的第一哈希树和自己生成的第二哈希树,同时(或一次性)对多个物联网设备103进行身份认证的过程如下:
66.比较第一哈希树的根节点和第二哈希树的根节点是否相同;若两者相同,表示多个物联网设备103均通过身份认证,则向物联网网关102返回多个物联网设备103均通过身份认证的第一认证结果消息;若两者不相同,则可以通过比较第一哈希树和第二哈希树的非根节点,以获取未通过身份认证的第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息;向物联网网关102返回包含第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息的第一认证结果消息,以供物联网网关102进行后续处理。
67.可选地,若第一哈希树和第二哈希树是二叉哈希树,则在根节点验证失败的情况下,物联网云平台101可以借助二叉哈希树进行二分查找法,实现未通过身份认证的第一物联网设备和/或通过身份认证的第二物联网设备的快速查找。当然,除了二分查找法之外,物联网云平台101也可以通过顺序查找方式,例如直接将第一哈希树和第二哈希树的叶子节点逐个进行比对,即针对各物联网设备103直接比对其在两个哈希树上的消息认证码是否相同,也可以查找到未通过身份认证的第一物联网设备和/或通过身份认证的第二物联网设备。
68.可选地,若第一哈希树和第二哈希树是多叉哈希树,则在根节点验证失败的情况下,物联网云平台101可以通过顺序查找方式,找出未通过身份认证的第一物联网设备和/或通过身份认证的第二物联网设备。该顺序查找方式是指将第一哈希树和第二哈希树的叶子节点逐个进行比对,即针对各物联网设备103直接比对其在两个哈希树上的消息认证码是否相同,来查找未通过身份认证的第一物联网设备和/或通过身份认证的第二物联网设备的查过方式。
69.在此说明,无论是上述哪种哈希树,在两棵哈希树的根节点不相同的情况下,物联网云平台101可以只查找未通过身份认证的第一物联网设备并通过第一认证结果消息向物联网网关102返回第一物联网设备的身份信息;或者,物联网云平台101也可以只查找通过身份认证的第二物联网设备并通过第一认证结果消息向物联网网关102返回第二物联网设备的身份信息;或者,物联网云平台101同时查找未通过身份认证的第一物联网设备和通过身份认证的第二物联网设备并通过第一认证结果消息向物联网网关102返回第一物联网设备的身份信息和第二物联网设备的身份信息。其中,第一物联网设备或第二物联网设备是多个物联网设备103中的一部分。
70.对物联网网关102来说,在将第一哈希树和多个物联网设备103的身份信息上报给
物联网云平台101之后,还可以接收物联网云平台101返回的基于该第一哈希树同时对多个物联网设备103进行身份认证的第一认证结果消息;若第一认证结果消息表示认证成功,即多个物联网设备103均通过身份认证,则结束此次身份认证操作;若第一认证结果消息指示表示认证失败,即多个物联网设备103未通过身份认证,则可以从第一认证结果消息中解析出未通过身份认证的第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息,并进行后续处理。
71.其中,第一认证结果消息中可能仅包含未通过身份认证的第一物联网设备的身份信息,也可能仅包含通过身份认证的第二物联网设备的身份信息,也可能同时包含未通过身份认证的第一物联网设备的身份信息和通过身份认证的第二物联网设备的身份信息。无论是哪种情况,物联网网关102都可以根据第一认证结果消息中包含的物联网设备的身份信息,识别出多个物联网设备103中未通过身份认证的第一物联网设备和通过身份认证的第二物联网设备,并针对所识别出的第一物联网设备和/或第二物联网设备进行后续处理。
72.可选地,一种后续处理是:将第一物联网设备从物联网中移除,默认其它物联网设备(即第二物联网设备)通过了身份认证,不再重新发起身份认证操作。另一种后续处理的方式是:对第一物联网设备进行相应处理,并根据对第一物联网设备的处理结果,重新向物联网云平台101发起身份认证操作。
73.在一种实现方式c1中,对第一物联网设备进行相应处理可以是:对第一物联网设备的身份信息进行修改;相应地,重新向物联网云平台101发起身份认证操作的过程包括:获取第一联网设备修改后的身份信息,并根据第一物联网设备修改后的身份信息和第一物联网设备进行身份认证所需的密钥信息,重新为第一物联网设备计算新的消息认证码;根据第一物联网设备新的消息认证码和多个物联网设备103中除第一物联网设备之外其它物联网设备的消息认证码,重新生成新的联合认证信息;将所述新的联合认证信息和多个物联网设备103的身份信息上报给物联网云平台101,以供物联网云平台101基于所述新的联合认证信息同时对多个物联网设备103进行身份认证。
74.在另一种实现方式c2中,对第一物联网设备进行相应处理可以是:将第一物联网设备从物联网中移除;相应地,重新向物联网云平台101发起身份认证操作的过程包括:根据多个物联网设备103中除第一物联网设备之外其它物联网设备的消息认证码,重新生成新的联合认证信息;将所述新的联合认证信息和其它物联网设备的身份信息上报给物联网云平台101,以供物联网云平台101基于所述新的联合认证信息同时对所述其它物联网设备进行身份认证。
75.对于实现方式b2:物联网网关102将哈希树的根节点和多个物联网设备103的身份信息上报给物联网云平台101。其中,可以在同一通信过程中,将哈希树的根节点和多个物联网设备103的身份信息上报给物联网云平台101;也可以在不同通信过程中,分别将哈希树的根节点和多个物联网设备103的身份信息上报给物联网云平台101。相应地,物联网云平台101接收物联网网关102上报的哈希树的根节点和多个物联网设备103的身份信息;物联网云平台101本地会存储多个物联网设备103进行身份认证所需的密钥信息;另外,在接收到物联网网关102上报的多个物联网设备103的身份信息之后,还会根据多个物联网设备103的身份信息和多个物联网设备103进行身份认证所需的密钥信息,计算多个物联网设备103的消息认证码;进一步,根据多个物联网设备103的消息认证码生成哈希树,该哈希树的
结构与物联网网关102上报的根节点所属的哈希树的结构相同,或者是二叉哈希树或者是多叉哈希树;其中,物联网云平台101生成哈希树的详细过程参见前述实施例,在此不再赘述。之后,物联网云平台101可以根据自己生成的哈希树的根节点和物联网网关102上报的哈希树的根节点,同时(或一次性)对多个物联网设备103进行身份认证。
76.同理,为了便于描述和区分,在实现方式b2中,也将物联网网关102上报的根节点所属的哈希树称为第一哈希树,将物联网云平台101生成哈希树称为第二哈希树。第一哈希树的根节点代表物联网网关102所生成的第一联合认证信息;第二哈希树的根节点代表物联网云平台101所生成的第二联合认证信息。其中,物联网云平台101根据物联网网关102上报的第一哈希树的根节点和自己生成的第二哈希树的根节点,同时(或一次性)对多个物联网设备103进行身份认证的过程如下:
77.比较第一哈希树的根节点和第二哈希树的根节点是否相同;若两者相同,表示多个物联网设备103均通过身份认证,则向物联网网关102返回多个物联网设备103均通过身份认证的第二认证结果消息;若两者不相同,则向物联网网关102返回多个物联网设备103未通过身份认证的第二认证结果消息。
78.对物联网网关102来说,在将第一哈希树的根节点和多个物联网设备103的身份信息上报给物联网云平台101之后,还可接收物联网云平台101返回的第二认证结果消息;若第二认证结果消息表示认证成功,即多个物联网设备103均通过身份认证,则结束此次身份认证操作;反之,若第二认证结果消息表示认证失败,即多个物联网设备103未通过身份认证,则可以向物联网云平台101发送第一哈希树,以供物联网云平台101查找并返回多个物联网设备103中未通过身份认证的第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息。
79.对物联网云平台101来说,在向物联网网关102返回多个物联网设备103未通过身份认证的第二认证结果消息之后,还可以接收物联网网关102根据该第二认证结果消息发送的第一哈希树;进而,比较第一哈希树和第二哈希树的非根节点,以获取未通过身份认证的第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息;向物联网网关102返回第一物联网设备的身份信息和/或第二物联网设备的身份信息,以供物联网网关102进行后续处理。关于通过比较第一哈希树和第二哈希树的非根节点,以获取未通过身份认证的第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息的详细过程,可参见上述实现方式b1中的详细描述,在此不再赘述。
80.在实现方式b2中,物联网网关102可能仅接收到物联网云平台101返回的未通过身份认证的第一物联网设备的身份信息,也可能仅接收到物联网云平台101返回的通过身份认证的第二物联网设备的身份信息,也可能同时接收到物联网云平台101返回的未通过身份认证的第一物联网设备的身份信息和通过身份认证的第二物联网设备的身份信息。无论是哪种情况,物联网网关102都可以根据接收到的物联网设备的身份信息,识别出多个物联网设备103中未通过身份认证的第一物联网设备和通过身份认证的第二物联网设备,并针对所识别出的第一物联网设备和/或第二物联网设备进行后续处理。关于后续处理的详细描述可参见上述实现方式b1中的详细描述,在此不再赘述。
81.进一步,无论在上述哪种实施例或实现方式中,在多个物联网设备103通过身份认证的情况下,物联网云平台101和物联网网关102均可以持久化多个物联网设备103对应的
联合认证信息,以便于在多个物联网设备103未发生变化的情况下,物联网网关102每次重启后可以直接根据持久化的联合认证信息对多个物联网设备103进行身份认证,节约重新生成联合认证信息的过程,简化物联网设备的认证流程,实现网络重启情况下的快速认证。
82.详细地,在多个物联网设备103通过身份认证的情况下,物联网网关102持久化多个物联网设备103对应的第一联合认证信息,相应地,物联网云平台101持久化多个物联网设备103对应的第二联合认证信息。可选地,第一联合认证信息可以是第一哈希树的根节点,第二联合认证信息可以是第二哈希树的根节点。之后,在物联网网关102重启之后,可以判断物联网中的多个物联网设备是否发生变化;若识别出物联网中的多个物联网设备并未发生变化,则将持久化的第一联合认证信息上报给物联网云平台101,以供物联网云平台101基于第一联合认证信息同时对多个物联网设备103进行身份认证。对物联网云平台101来说,可以接收物联网网关102在重启且识别出多个物联网设备103未发生变化后上报的第一联合认证信息;基于第一联合认证信息和第二联合认证信息,同时对多个物联网设备进行身份认证。关于基于第一联合认证信息和第二联合认证信息,同时对多个物联网设备进行身份认证的过程,可参见前述实施例,在此不再追溯。
83.由此可见,在本技术实施例中,采用消息认证码对物联网设备进行身份认证,而且针对多个物联网设备,利用多个物联网设备的消息认证码生成用于同时(即一次性)对多个物联网设备进行身份认证所需的联合认证信息,使用该联合认证信息可以一次性实现对多个物联网设备的身份认证,可以不用针对每个物联网设备逐个进行比对验证,有利于提高身份认证的效率,尤其是在物联网设备数量较多的情况下也能实现快速认证。
84.下面分别从物联网网关和物联网云平台的角度,对本技术实施例提供的物联网设备认证过程进行描述。
85.图5为本技术示例性实施例提供的一种物联网设备认证方法的流程示意图。本实施例是从物联网网关的角度进行的描述,如图5所示,该方法包括:
86.51、获取物联网中多个物联网设备的身份信息以及所述多个物联网设备进行身份认证所需的密钥信息;
87.52、根据多个物联网设备的身份信息和密钥信息,计算多个物联网设备的消息认证码;
88.53、根据多个物联网设备的消息认证码,生成同时对多个物联网设备进行身份认证所需的联合认证信息;
89.54、将联合认证信息和多个物联网设备的身份信息上报给物联网云平台,以供物联网云平台基于联合认证信息同时对多个物联网设备进行身份认证。
90.在一可选实施例中,上述根据多个物联网设备的消息认证码,生成同时对多个物联网设备进行身份认证所需的联合认证信息,包括:对多个物联网设备的消息认证码进行哈希计算,以得到联合认证信息。
91.在一可选实施例中,上述对多个物联网设备的消息认证码进行哈希计算,以得到联合认证信息,包括:将多个物联网设备的消息认证码作为哈希树的叶子节点构建哈希树,哈希树的根节点代表联合认证信息。
92.在一可选实施例中,上述将多个物联网设备的消息认证码作为哈希树的叶子节点构建哈希树,包括:将多个物联网设备的消息认证码分别作为二叉哈希树的叶子节点;自叶
子节点所在层开始,计算当前层中两两节点连接后的哈希值,作为上一层中的一个非叶子节点,逐层递归直至计算出二叉哈希树的根节点,以得到二叉哈希树。
93.在一可选实施例中,上述将多个物联网设备的消息认证码作为哈希树的叶子节点构建哈希树,包括:将多个物联网设备的消息认证码分别作为多叉哈希树的叶子节点;计算多个叶子节点连接后的哈希值作为多叉哈希树中的根节点,以得到多叉哈希树。
94.在一可选实施例中,上述将联合认证信息和多个物联网设备的身份信息上报给物联网云平台,包括:将哈希树和多个物联网设备的身份信息上报给物联网云平台。
95.在一可选实施例中,上述在将哈希树和多个物联网设备的身份信息上报给物联网云平台之后,还包括:
96.接收物联网云平台返回的基于哈希树同时对多个物联网设备进行身份认证的第一认证结果消息;
97.若第一认证结果消息表示认证失败,则从第一认证结果消息中解析出未通过身份认证的第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息;以及
98.将第一物联网设备从物联网中移除或者根据对第一物联网设备的处理结果,重新向物联网云平台发起身份认证操作。
99.在一可选实施例中,上述根据对第一物联网设备的处理结果,重新向物联网云平台发起身份认证操作,包括:
100.若对第一物联网设备的处理方式为对第一物联网设备的身份信息进行修改,则可以获取第一物联网设备修改后的身份信息,并根据第一物联网设备修改后的身份信息和密钥信息,重新为第一物联网设备计算新的消息认证码;
101.根据第一物联网设备新的消息认证码和多个物联网设备中除第一物联网设备之外其它物联网设备的消息认证码,重新生成新的联合认证信息;
102.将新的联合认证信息和多个物联网设备的身份信息上报给物联网云平台,以供物联网云平台基于新的联合认证信息同时对多个物联网设备进行身份认证。
103.在一可选实施例中,上述根据对第一物联网设备的处理结果,重新向物联网云平台发起身份认证操作,包括:
104.若对第一物联网设备的处理方式为将第一物联网设备从物联网中移除,则可以确定第一物联网设备从物联网中移除,并根据多个物联网设备中除第一物联网设备之外其它物联网设备的消息认证码,重新生成新的联合认证信息;
105.将新的联合认证信息和其它物联网设备的身份信息上报给物联网云平台,以供物联网云平台基于新的联合认证信息同时对其它物联网设备进行身份认证。
106.在一可选实施例中,上述将联合认证信息和多个物联网设备的身份信息上报给物联网云平台,包括:将哈希树的根节点和多个物联网设备的身份信息上报给物联网云平台。
107.在一可选实施例中,上述在将哈希树的根节点和多个物联网设备的身份信息上报给物联网云平台之后,还包括:
108.接收物联网云平台返回的基于根节点同时对多个物联网设备进行身份认证的第二认证结果消息;
109.若第二认证结果消息表示认证失败,将哈希树上报给物联网云平台,以供物联网
云平台基于哈希树识别并返回未通过身份认证的第一物联网设备和/或通过身份认证的第二物联网设备;以及
110.将第一物联网设备从物联网中移除或者根据对第一物联网设备的处理结果,重新向物联网云平台发起身份认证操作。
111.在一可选实施例中,本实施例的方法还包括:在多个物联网设备通过身份认证的情况下,持久化联合认证信息;以及在物联网网关重启之后,若识别出物联网中的多个物联网设备并未发生变化,则将持久化的联合认证信息上报给物联网云平台,以供物联网云平台基于联合认证信息同时对多个物联网设备进行身份认证。
112.在本实施例中,物联网网关与物联网云平台相互配合,采用消息认证码对物联网设备进行身份认证,而且针对多个物联网设备,利用多个物联网设备的消息认证码生成用于同时(即一次性)对多个物联网设备进行身份认证所需的联合认证信息,使用该联合认证信息可以一次性实现对多个物联网设备的身份认证,可以不用针对每个物联网设备逐个进行比对验证,有利于提高身份认证的效率,尤其是在物联网设备数量较多的情况下也能实现快速认证。
113.图6为本技术示例性实施例提供的另一种物联网设备认证方法的流程示意图。本实施例是从物联网云平台的角度进行的描述,如图6所示,该方法包括:
114.61、接收物联网网关上报的第一联合认证信息和多个物联网设备的身份信息;
115.62、基于多个物联网设备的身份信息和多个物联网设备进行身份认证所需的密钥信息,计算多个物联网设备的消息认证码;
116.63、根据多个物联网设备的消息认证码,生成同时对多个物联网设备进行身份认证所需的第二联合认证信息;
117.64、基于第一联合认证信息和第二联合认证信息,同时对多个物联网设备进行身份认证。
118.在一可选实施例中,上述根据多个物联网设备的消息认证码,生成同时对多个物联网设备进行身份认证所需的第二联合认证信息,包括:对多个物联网设备的消息认证码进行哈希计算,以得到第二联合认证信息。
119.在一可选实施例中,上述对多个物联网设备的消息认证码进行哈希计算,以得到第二联合认证信息,包括:将多个物联网设备的消息认证码作为哈希树的叶子节点构建第二哈希树,第二哈希树的根节点代表第二联合认证信息。
120.在一可选实施例中,上述将多个物联网设备的消息认证码作为哈希树的叶子节点构建第二哈希树,包括:将多个物联网设备的消息认证码分别作为二叉哈希树的叶子节点;自叶子节点所在层开始,计算当前层中两两节点连接后的哈希值,作为上一层中的一个非叶子节点,逐层递归直至计算出二叉哈希树的根节点,以得到二叉哈希树。
121.在一可选实施例中,上述将多个物联网设备的消息认证码作为哈希树的叶子节点构建第二哈希树,包括:将多个物联网设备的消息认证码分别作为多叉哈希树的叶子节点;计算多个叶子节点连接后的哈希值作为多叉哈希树中的根节点,以得到多叉哈希树。
122.在一可选实施例中,上述接收物联网网关上报的第一联合认证信息包括:接收物联网网关上报的第一哈希树,第一哈希树的根节点代表第一联合认证信息。
123.在一可选实施例中,上述基于第一联合认证信息和第二联合认证信息,同时对多
个物联网设备进行身份认证,包括:
124.比较第一哈希树的根节点和第二哈希树的根节点是否相同;
125.若不相同,比较第一哈希树和第二哈希树的非根节点,以获取未通过身份认证的第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息;
126.向物联网网关返回包含第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息的第一认证结果消息。
127.在一可选实施例中,上述接收物联网网关上报的第一联合认证信息包括:接收物联网网关上报的第一哈希树的根节点,第一哈希树的根节点代表第一联合认证信息。
128.在一可选实施例中,上述基于第一联合认证信息和第二联合认证信息,同时对多个物联网设备进行身份认证,包括:
129.比较第一哈希树的根节点和第二哈希树的根节点是否相同;
130.若不相同,向物联网网关返回多个物联网设备未通过身份认证的第二认证结果消息;
131.接收物联网网关根据第二认证结果消息发送的第一哈希树;
132.比较第一哈希树和第二哈希树的非根节点,以获取未通过身份认证的第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息;
133.向物联网网关返回第一物联网设备的身份信息和/或第二物联网设备的身份信息。
134.在一可选实施例中,本实施例的方法还包括:在多个物联网设备通过身份认证的情况下,持久化第二联合认证信息;以及接收物联网网关在重启且识别出多个物联网设备未发生变化后上报的第一联合认证信息;基于第一联合认证信息和第二联合认证信息,同时对多个物联网设备进行身份认证。
135.在本实施例中,物联网云平台与物联网网关相互配合,采用消息认证码对物联网设备进行身份认证,而且针对多个物联网设备,利用多个物联网设备的消息认证码生成用于同时(即一次性)对多个物联网设备进行身份认证所需的联合认证信息,使用该联合认证信息可以一次性实现对多个物联网设备的身份认证,可以不用针对每个物联网设备逐个进行比对验证,有利于提高身份认证的效率,尤其是在物联网设备数量较多的情况下也能实现快速认证。
136.需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤31至步骤37的执行主体可以为设备a;又比如,步骤31和34的执行主体可以为设备a,步骤35和37的执行主体可以为设备b;等等。
137.另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如51、52等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
138.图7为本技术示例性实施例提供的一种物联网网关的结构示意图。如图7所示,该物联网网关包括:存储器71、处理器72以及通信组件73。
139.存储器71,用于存储计算机程序,并可被配置为存储其它各种数据以支持在物联网网关上的操作。这些数据的示例包括用于在物联网网关上操作的任何应用程序或方法的指令,消息,图片,视频等。
140.处理器72,与存储器71耦合,用于执行存储器71中的计算机程序,以用于:
141.获取物联网中多个物联网设备的身份信息以及多个物联网设备进行身份认证所需的密钥信息;
142.根据多个物联网设备的身份信息和密钥信息,计算多个物联网设备的消息认证码;
143.根据多个物联网设备的消息认证码,生成同时对多个物联网设备进行身份认证所需的联合认证信息;
144.通过通信组件73将联合认证信息和多个物联网设备的身份信息上报给物联网云平台,以供物联网云平台基于联合认证信息同时对多个物联网设备进行身份认证。
145.在一可选实施例中,处理器72在生联合认证信息时,具体用于:对多个物联网设备的消息认证码进行哈希计算,以得到联合认证信息。
146.在一可选实施例中,处理器72在对多个物联网设备的消息认证码进行哈希计算,以得到联合认证信息时,具体用于:将多个物联网设备的消息认证码作为哈希树的叶子节点构建哈希树,哈希树的根节点代表联合认证信息。
147.在一可选实施例中,处理器72在将多个物联网设备的消息认证码作为哈希树的叶子节点构建哈希树时,具体用于:将多个物联网设备的消息认证码分别作为二叉哈希树的叶子节点;自叶子节点所在层开始,计算当前层中两两节点连接后的哈希值,作为上一层中的一个非叶子节点,逐层递归直至计算出二叉哈希树的根节点,以得到二叉哈希树。
148.在一可选实施例中,处理器72在将多个物联网设备的消息认证码作为哈希树的叶子节点构建哈希树时,具体用于:将多个物联网设备的消息认证码分别作为多叉哈希树的叶子节点;计算多个叶子节点连接后的哈希值作为多叉哈希树中的根节点,以得到多叉哈希树。
149.在一可选实施例中,处理器72在将联合认证信息和多个物联网设备的身份信息上报给物联网云平台时,具体用于:通过通信组件73将哈希树和多个物联网设备的身份信息上报给物联网云平台。
150.在一可选实施例中,处理器72在将哈希树和多个物联网设备的身份信息上报给物联网云平台之后,还用于:
151.通过通信组件73接收物联网云平台返回的基于哈希树同时对多个物联网设备进行身份认证的第一认证结果消息;
152.若第一认证结果消息表示认证失败,则从第一认证结果消息中解析出未通过身份认证的第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息;以及
153.将第一物联网设备从物联网中移除或者根据对第一物联网设备的处理结果,重新向物联网云平台发起身份认证操作。
154.在一可选实施例中,处理器72在根据对第一物联网设备的处理结果,重新向物联网云平台发起身份认证操作时,具体用于:
155.获取第一物联网设备修改后的身份信息进行修改,并根据第一物联网设备修改后的身份信息和密钥信息,重新为第一物联网设备计算新的消息认证码;
156.根据第一物联网设备新的消息认证码和多个物联网设备中除第一物联网设备之外其它物联网设备的消息认证码,重新生成新的联合认证信息;
157.将新的联合认证信息和多个物联网设备的身份信息上报给物联网云平台,以供物联网云平台基于新的联合认证信息同时对多个物联网设备进行身份认证。
158.在一可选实施例中,处理器72在根据对第一物联网设备的处理结果,重新向物联网云平台发起身份认证操作时,具体用于:
159.确定第一物联网设备从物联网中移除,并根据多个物联网设备中除第一物联网设备之外其它物联网设备的消息认证码,重新生成新的联合认证信息;
160.将新的联合认证信息和其它物联网设备的身份信息上报给物联网云平台,以供物联网云平台基于新的联合认证信息同时对其它物联网设备进行身份认证。
161.在一可选实施例中,处理器72在将联合认证信息和多个物联网设备的身份信息上报给物联网云平台时,具体用于:通过通信组件73将哈希树的根节点和多个物联网设备的身份信息上报给物联网云平台。
162.在一可选实施例中,处理器72在在将哈希树的根节点和多个物联网设备的身份信息上报给物联网云平台之后,还用于:
163.通过通信组件73接收物联网云平台返回的基于根节点同时对多个物联网设备进行身份认证的第二认证结果消息;
164.若第二认证结果消息表示认证失败,将哈希树上报给物联网云平台,以供物联网云平台基于哈希树识别并返回未通过身份认证的第一物联网设备和/或通过身份认证的第二物联网设备;以及
165.将第一物联网设备从物联网中移除或者根据对第一物联网设备的处理结果,重新向物联网云平台发起身份认证操作。
166.进一步,如图7所示,该物联网网关还包括:电源组件74等其它组件。图7中仅示意性给出部分组件,并不意味着物联网网关只包括图7所示组件。
167.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由物联网网关执行的各步骤。
168.图8为本技术示例性实施例提供的一种物联网云平台的结构示意图。如图8所示,该物联网云平台包括:存储器81、处理器82以及通信组件83。
169.存储器81,用于存储计算机程序,并可被配置为存储其它各种数据以支持在物联网云平台上的操作。这些数据的示例包括用于在物联网云平台上操作的任何应用程序或方法的指令,消息,图片,视频等。
170.处理器82,与存储器81耦合,用于执行存储器81中的计算机程序,以用于:
171.通过通信组件83接收物联网网关上报的第一联合认证信息和多个物联网设备的身份信息;
172.基于多个物联网设备的身份信息和进行身份认证所需的密钥信息,计算多个物联网设备的消息认证码;
173.根据多个物联网设备的消息认证码,生成同时对多个物联网设备进行身份认证所
需的第二联合认证信息;
174.基于第一联合认证信息和第二联合认证信息,同时对多个物联网设备进行身份认证。
175.在一可选实施例中,处理器82在生成第二联合认证信息时,具体用于:对多个物联网设备的消息认证码进行哈希计算,以得到第二联合认证信息。
176.在一可选实施例中,处理器82在对多个物联网设备的消息认证码进行哈希计算,以得到第二联合认证信息时,具体用于:将多个物联网设备的消息认证码作为哈希树的叶子节点构建第二哈希树,第二哈希树的根节点代表第二联合认证信息。
177.在一可选实施例中,处理器82在将多个物联网设备的消息认证码作为哈希树的叶子节点构建第二哈希树时,具体用于:将多个物联网设备的消息认证码分别作为二叉哈希树的叶子节点;自叶子节点所在层开始,计算当前层中两两节点连接后的哈希值,作为上一层中的一个非叶子节点,逐层递归直至计算出二叉哈希树的根节点,以得到二叉哈希树。
178.在一可选实施例中,处理器82在将多个物联网设备的消息认证码作为哈希树的叶子节点构建第二哈希树时,具体用于:将多个物联网设备的消息认证码分别作为多叉哈希树的叶子节点;计算多个叶子节点连接后的哈希值作为多叉哈希树中的根节点,以得到多叉哈希树。
179.在一可选实施例中,处理器82在接收物联网网关上报的第一联合认证信息时,具体用于:通过通信组件83接收物联网网关上报的第一哈希树,第一哈希树的根节点代表第一联合认证信息。
180.在一可选实施例中,处理器82在基于第一联合认证信息和第二联合认证信息,同时对多个物联网设备进行身份认证时,具体用于:
181.比较第一哈希树的根节点和第二哈希树的根节点是否相同;
182.若不相同,比较第一哈希树和第二哈希树的非根节点,以获取未通过身份认证的第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息;
183.向物联网网关返回包含第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息的第一认证结果消息。
184.在一可选实施例中,处理器82在接收物联网网关上报的第一联合认证信息时,具体用于:通过通信组件83接收物联网网关上报的第一哈希树的根节点,第一哈希树的根节点代表第一联合认证信息。
185.在一可选实施例中,处理器82在基于第一联合认证信息和第二联合认证信息,同时对多个物联网设备进行身份认证时,具体用于:
186.比较第一哈希树的根节点和第二哈希树的根节点是否相同;
187.若不相同,向物联网网关返回多个物联网设备未通过身份认证的第二认证结果消息;
188.接收物联网网关根据第二认证结果消息发送的第一哈希树;
189.比较第一哈希树和第二哈希树的非根节点,以获取未通过身份认证的第一物联网设备的身份信息和/或通过身份认证的第二物联网设备的身份信息;
190.向物联网网关返回第一物联网设备的身份信息和/或第二物联网设备的身份信息。
191.在一可选实施例中,处理器82还用于:在多个物联网设备通过身份认证的情况下,持久化第二联合认证信息;以及接收物联网网关在重启且识别出多个物联网设备未发生变化后上报的第一联合认证信息;基于第一联合认证信息和第二联合认证信息,同时对多个物联网设备进行身份认证。
192.进一步,如图8所示,该物联网云平台还包括:电源组件84等其它组件。图8中仅示意性给出部分组件,并不意味着物联网云平台只包括图8所示组件。
193.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由物联网云平台执行的各步骤。
194.上述实施例中的存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
195.上述实施例中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g/lte、5g等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
196.上述实施例中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
197.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
198.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
199.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
200.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
201.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
202.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
203.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
204.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
205.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献