智能家居终端设备接入认证方法及装置与流程

文档序号:33179871发布日期:2023-02-04 04:42阅读:84来源:国知局
智能家居终端设备接入认证方法及装置与流程

1.本发明属于物联网技术领域,具体涉及一种智能家居终端设备接入认证方法及装置。


背景技术:

2.智能家居网络作为物联网应用的重要组成部分,可以为家庭生活带来极大的便利。但由于智能终端和智能网关通过不安全的通道进行通信,用户和智能设备的敏感信息存在重要的安全隐患。因此有必要设计一种安全高效的智能家居终端接入认证方案来保证通信的安全。
3.现有技术中,多通过密钥或证书的方式完成物联网终端的鉴权。例如,首先在物联网的平台服务器对终端进行注册,获取设备id和密钥,并把设备id和密钥写入终端中,当终端发送携带设备id和密钥的鉴权请求后,平台服务器通过对设备id和密钥的认证完成设备的鉴权。又例如在物联网的平台服务器中上传终端的ca证书,对终端进行注册,获取设备id,并把设备id写入终端中,当终端发送携带设备id和设备侧证书的鉴权请求后,平台服务器通过对设备id和证书的认证完成设备的接入鉴权。但这种方式中终端的身份信息和权限信息多集中存储在平台服务器上,这些信息一旦丢失,或者服务器出现异常,会导致整个物联网异常;当服务器被入侵导致验证信息和权限控制信息被篡改,会发生恶意节点接入和权限提升等各类安全问题。
4.如专利文献cn105429960a提出一种对智能家居终端鉴权方法,所述方法包括:在接收到智能家居终端发出的接入申请后,向所述智能家居终端发出随机值;接收所述智能家居终端使用私钥进行数字签名的所述随机值;使用公钥对所述数字签名进行验证。使用公钥对所述数字签名进行验证,具体包括:检测所述智能家居终端是否为首次接入;当判定结果为是时,向预先设定的移动终端获取所述公钥后,使用所述公钥对所述数字签名进行验证;当判定结果为否时,使用所述公钥对所述数字签名进行验证。该鉴权方法中利用智能家居平台通过获取的公钥对智能家居终端发过来的数字签名进行验证,从而实现鉴权。该鉴权方法利用智能家居平台集中存储终端设备的身份信息,会出现上文中提及的因信息丢失而出现的问题。


技术实现要素:

5.本发明所要解决的技术问题是,针对现有技术的不足,提供一种智能家居终端设备接入认证方法及装置。
6.为解决上述技术问题,本发明所采用的技术方案是:
7.第一方面,提供一种智能家居终端设备接入认证方法,所述方法应用于智能家居网络中,所述智能家居网络包括终端设备、网关、边缘服务器,以及构建于所述智能家居网络中的区块链网络;所述方法包括:
8.将首次接入的所述终端设备在所述区块链网络中注册;
9.根据所述终端设备在区块链上的注册信息对其接入进行认证;
10.其中所述终端设备在所述区块链网络中的注册方法包括:
11.所述终端设备将身份标识进行哈希运算并加密后生成注册数据,并向所述网关发送所述注册数据;
12.所述网关接收并解密所述终端设备发送的注册数据后获得所述终端设备身份标识的哈希值,对终端设备身份标识的哈希值进行编码后获得所述终端设备的唯一标识,并将所述唯一标识存入所述区块链网络中;
13.所述哈希值和所述哈希运算由预置的哈希算法实现。
14.在一种可能的实现方式中,对所述终端设备进行接入认证的方法包括:
15.所述终端设备向所述网关发送认证消息,所述认证消息包括所述终端设备身份标识的哈希值,所述认证消息还经过签名并加密;
16.所述网关接收到所述终端设备发送的认证消息后,在解密并验证签名后,向所述区块链网络请求该终端设备的唯一标识;对该唯一标识进行解码,若解码结果与所述终端设备身份标识的哈希值一致,则签名并加密认证消息,并发送至所述边缘服务器;
17.所述边缘服务器接收到所述网关发送的认证消息后,在解密并验证签名后,向所述区块链网络请求该终端设备的唯一标识;对该唯一标识进行解码,若解码结果与所述终端设备身份标识的哈希值一致,则签名并向所述网关发送认证通过消息;
18.所述网关接收到所述边缘服务器发送的认证通过消息后,验证所述边缘服务器的合法性,若合法则签名并向所述终端设备转发认证通过信息;
19.所述终端设备接收到所述网关发送的认证通过消息后,验证所述网关和所述边缘服务器的合法性,若合法则接入认证通过。
20.在一种可能的实现方式中,对所述终端设备进行接入认证的方法包括:
21.所述终端设备向所述网关发送认证消息,所述认证消息包括所述终端设备身份标识的哈希值,所述认证消息还经过签名及加密;
22.所述网关接收到所述终端设备发送的认证消息后,在解密并验证签名后,向所述区块链网络请求所述终端设备的唯一标识;对该唯一标识进行解码,排除解码结果与所述终端设备身份标识的哈希值不一致的所述终端设备;
23.所述网关生成所述终端设备的统一标识并存储在区块链网络中;
24.所述网关生成所述终端设备的聚合签名,和所述终端设备身份标识的哈希值一起生成聚合认证请求并发送至所述边缘服务器;
25.所述边缘服务器接收到所述网关发送的认证消息后,在解密并验证签名后,向所述区块链网络请求所述终端设备的统一标识,并利用该统一标识判断所述终端设备是否存在,若存在则签名并向所述网关发送认证通过消息;
26.所述网关接收到所述边缘服务器发送的认证通过消息后,验证所述边缘服务器的合法性,若合法则签名并向对应的所述终端设备发送认证通过信息;
27.所述终端设备接收到所述网关发送的认证通过消息后,验证所述网关和所述边缘服务器的合法性,若合法则接入认证通过。
28.在一种可能的实现方式中,所述聚合签名由多个所述终端设备的签名压缩而成。
29.在一种可能的实现方式中,所述统一标识的生成方法包括:获取所述终端设备身
份标识的哈希值,对这些哈希值的集合的编码值即为所述统一标识;
30.所述边缘服务器利用所述统一标识判断所述终端设备是否存在的方法包括:解码所述统一标识,若所述终端设备身份标识的哈希值包含在所述统一标识的解码值中,则该终端设备存在。
31.在一种可能的实现方式中,所述统一标识的生成方法包括:获取所述终端设备身份标识的哈希值,利用预置的排序算法对这些哈希值进行排序,计算排序结果的哈希值,计算出的哈希值的编码值即为所述统一标识;
32.所述边缘服务器利用所述统一标识判断所述终端设备是否存在的方法包括:解码所述统一标识,将所述终端设备身份标识的哈希值利用预置的排序算法进行排序,计算排序结果的哈希值,若计算出的哈希值与所述统一标识的解码值一致,则所述终端设备均存在;否则,所述终端设备均视为不存在。
33.在一种可能的实现方式中,所述智能家居网络中传输的接入认证数据均经过加密。
34.在一种可能的实现方式中,所述网关上还存储有终端设备列表,所述终端设备列表包含与该网关连接的所有所述终端设备身份标识的哈希值。
35.在一种可能的实现方式中,所述终端设备在所述区块链网络中的注册时,所述网关还验证所述终端设备是否存在于所述终端设备列表中。
36.第二方面,提供一种智能家居终端设备接入认证设备,包括处理单元、通信单元、存储单元和创建单元;
37.所述处理单元用于进行哈希运算,用于进行加密和解密,用于生成聚合签名;
38.所述通信单元用于获取区块链数据,用于在所述智能家居网络中进行数据传输;
39.所述存储单元用于储存程序代码和指令,用于存储区块链数据;
40.所述创建单元用于创建所述区块链网络。
41.物联网(the internet of things)是指所有物品通过信息传感设备与网络连接起来,进行信息交换和通信,以实现智能化识别和管理的一种网络。物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其终端延伸和扩展到了任何物品与物品之间,“物”可以被寻址,可以产生信息,交换信息。
42.而智能家居系统则是一种家庭应用的个性化的物联网系统,它由异构的家用电器、控制器、传感器等组成,用于调度和自动操作,例如照明、通风、安防监控等,用户还可以通过互联网随时随地远程监视和执行设备功能。因此,智能家居系统给家居生活带来了舒适和便捷。
43.智能家居系统在带来便捷的同时,也隐藏着不少安全隐患。从隐私数据被窃取到入侵智能设备,从云平台权限失效到智能设备被黑客控制,形成僵尸网络后发动大规模拒绝服务攻击(distributeddenialof service,ddos)攻击,消耗大量网络资源,使系统无法正常运行。从实际应用来看:智能门锁可能被重放开启、智能摄像头可能导致隐私被窃取;智能音响可能成了窃听器,智能空调会被随意调节温度,智能洗衣机遭受连续的高速运转等。这些都给实际生活带来了巨大的风险。目前,智能家居系统的安全隐患会出现在身份鉴别、访问控制、数据保护、通信安全等方面。
44.基于目前存在的风险与问题,智能家居系统存在着这样的安全需求:使用适当的
加密机制保护用户信息和通信不被轻易破解;使用去中心化的鉴权机制代替中心化管理的安全方案;安全方案不能为智能家居应用引入过高的额外时延,影响应用的用户体验。
45.但目前对智能家居系统的安全问题未采取有效的防护策略。一方面,对于智能家居这一新兴行业来说,厂家的关注点更多投放在设备的核心功能上,而安全作为事后发生的概率事件,在行业发展的初期多被忽视。对新兴行业的厂商来说,他们持有的核心技术多集中在家居设备的生产、制造与应用开发上,在信息安全方面的技术积累本就匮乏,如果要向第三方安全厂商寻求合作,会带来的额外成本与开发周期。另一方面,智能家居系统的终端设备大多都是传感器设备,具有轻量级、低能耗、低计算资源的特点。这些设备必须将大部分可用的能源和计算资源用于执行核心的应用功能,这也导致了其所能投入到维护系统信息安全的资源非常有限,因此,必须在硬件资源受限情况下实现对智能家居系统的信息安全保护。
46.在这种情况下,与智能家居系统网络拓扑结构一致的区块链技术已经应用在智能家居系统的安全防护中。区块链的去中心化特性可以避免智能家居系统因中心服务器出现问题而影响安全,适合智能家居设备的资源能力。区块链的加密机制可以保护用户信息与通信的安全,其天然的不可篡改性可以避免用户信息被攻击者篡改;区块链的分布式共识机制可以避免网络中的任一节点获得过多的改写账本的机会。如专利文献cn114510731a、cn110719203a、cn113485128a等都将区块链技术应用到智能家居系统的控制中。
47.虽然在智能家居系统中引入区块链技术可以解决一些安全问题,但区块链应用需要较大计算开销和通信开销。针对这种情况,本发明设置了边缘服务器,通过引入边缘计算确保比较小的计算开销和通信开销,同时边缘服务器拥有比云端网络更低的延时,可用性更强,数据在传输过程中也不易受到攻击。
48.目前智能家居系统中,所接入的终端设备数量不是太多,这些终端设备的接入认证多零散发出,因此对这些终端设备的认证远未达到网络性能或设备性能的瓶颈,因此现有技术利用区块链对家居终端的接入认证进行认证时,均未考虑家居终端的密集接入认证问题。
49.但应该明白,在一些终端设备数量特别多的场景下,特别是遇到停电后复电时,这些终端设备同时上电启动,又会同时或在短时间内密集的发出认证请求,此时会对物联网网关的网络性能和处理性能造成很大负担,若不能及时处理,会影响对终端设备的认证效率,甚至会出现认证失败的情形。
50.与现有技术相比,本发明的有益效果如下:
51.本发明所适用的智能家居网络包括终端设备、网关和边缘服务器,且在智能家居网络中构建有区块链网络。其中终端设备如智能灯泡、智能监控、传感器等,是一些轻量级设备,可以充当区块链网络的轻节点,这些传感器和设备通过智能家居中配置的各种异构物联网收集和监控智能家居网络环境中的数据。网关和边缘服务器都是能力设备,具有足够的计算、存储和通信资源,作为区块链网络的全节点,可以进行交易的创建、验证以及查询等操作。网关存储设备层生成的数据,并根据需要提供给用户。边缘服务器充当边缘云,可以处理大量运算。
52.在本发明的智能家居网络中,边缘服务器具有足够的计算能力来实现源数据的本地处理。边缘计算可以降低中心服务器的计算负载,减缓网络带宽的压力,提高计算的实时
性和万物互联时代数据处理的效率;同时能较好地保护隐私数据,降低终端敏感数据隐私泄露的风险。边缘服务器将计算和通信资源从云转移到网络的边缘节点上,从而为边缘的用户提供更快的服务与计算响应,减少中间不必要的通信延迟和网络拥塞。
53.本发明提出一种基于区块链的智能家居终端设备接入认证方法,基于区块链的安全特性,使本发明具有去中心化、不可伪造性、抗重放攻击及抗中间人攻击等安全特性,可以安全可靠地保护智能家居设备的安全。同时将智能家居数据集中存储至边缘服务器中,减少因网关被攻击引发的数据安全问题。本发明中网关和边缘服务器均为区块链的全节点,即使有网关或边缘服务器出现故障,也不会影响区块链的完整性,不会造成终端设备的身份信息丢失。
54.本发明在多个终端设备并发接入认证中,将基于身份的聚合签名引入到智能家居网络的认证中,把任意多个实体的签名压缩成一个签名,减小了签名的存储空间,同时把多个实体的认证简化到一个签名的验证。因此,本技术能够在保证安全的前提下使得数据存储的空间的负担减小,交互消息和信令的数据流量减少,同时降低了验证签名的计算的工作量,在多个终端设备并发认证时能够提高智能家居网络认证的效率。
附图说明
55.下面结合附图对本发明做进一步的详细说明。
56.图1:本技术实施例提供的一种智能家居网络的示意图;
57.图2:本技术实施例提供的一种通信设备的结构示意图;
58.图3:本技术实施例提供的智能家居终端设备接入认证方法的流程示意图;
59.图4:本技术实施例接入认证方法中终端设备注册方法的流程示意图;
60.图5:本技术实施例中终端设备主动接入认证方法的流程示意图;
61.图6:本技术实施例中主动要求终端设备进行接入认证的方法的流程示意图;
62.图7:本技术实施例提供的一种接入认证装置的示意图。
具体实施方式
63.为了更好地理解本技术,下面结合实施例和附图进一步清楚阐述本技术的内容,但本技术的保护内容不仅仅局限于下面的实施例。在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员来说显而易见的是,本技术可以无需一个或多个这些细节而得以实施。
64.图1为一种智能家居网络的示意图,该智能家居网络10包括至少一个终端设备101(智能终端设备,intelligent terminal,it)、至少一个网关102(智能网关,intelligent gateway,ig)及边缘服务器103(edge server,es),所述智能家居网络10的各个设备之间通过通信连接实现数据传输,各个设备构成一个物联网。图1仅为示意图,并不构成对本技术提供的技术方案的适用场景的限定。
65.其中,终端设备101为智能家居终端设备,包括但不限于智能灯、智能音响、智能门禁、智能空调、家居安防系统及各类传感器设备,这些终端设备101组成的异构物联网可以收集和监控家庭环境中的各类数据。网关102分别与终端设备101和边缘服务器103连接,用于对数据进行计算、转发。边缘服务器103用于存储终端设备101采集的各类家居数据,用于
对家居数据进行分析处理。即:终端设备101采集家居数据,并通过网关102将家居数据发送至边缘服务器103进行集中存储或处理。
66.在部署智能家居网络10时,终端设备101处于未接入智能家居网络10的状态,此时其仅与网关102通信连接。当终端设备101通过接入认证后,其接入智能家居网络10,能够与边缘服务器103通信,一些情况下,也能够与其他的终端设备101通信。
67.示例性的,智能家居网络10中的网关102和边缘服务器103均可以通过如图2所示的通信设备20的硬件示意图实现,该通信设备20包括处理器201、存储器202和通信接口203。可选的,通信设备20还包括总线204,上述处理器201、存储器202、通信接口203通过总线204相互连接,或采用其他方式相互连接。
68.其中,处理器201是中央处理器(central processing unit,cpu)、通用处理器网络处理器(network processor,np)、数字信号处理器(digital signal processing,dsp)、微处理器、微控制器、可编程逻辑器件(programmable logic device,pld)或它们的任意组合。处理器201还可以是其它具有处理功能的装置,例如电路、器件或软件模块,不予限制。在一种示例中,处理器201可以包括一个或多个cpu,例如图2中的cpu0和cpu1。
69.其中,存储器202可以是只读存储器(read-only memory,rom)或可存储静态信息和/或指令的其他类型的静态存储设备,也可以是随机存取存储器(random access memory,ram)或可存储信息和/或指令的其他类型的动态存储设备,还可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或其他磁存储设备等,不予限制。
70.需要指出的是,存储器202可以独立于处理器201存在,也可以和处理器201集成在一起。存储器202可以用于存储指令或者程序代码或者一些数据等。存储器202可以位于通信设备20内,也可以位于通信设备20外,不予限制。处理器201,用于执行存储器202中存储的指令,以实现本技术下述实施例提供的接入认证方法。
71.其中,通信接口203是有线接口(或端口),例如光纤分布式数据接口(fiber distributed data interface,fddi)、千兆以太网接口(gigabit ethernet,ge)等。或者,通信接口203是无线接口。通信接口203可以是模块、电路、通信接口或者任何能够实现通信的装置。通信接口203用于与其他设备或其它通信网络进行通信,该其它通信网络可以为以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。
72.作为一种可选的实现方式,通信设备20还包括输入设备205和输出设备206。示例性地,输入设备205是键盘、鼠标、麦克风或操作杆等设备,输出设备206是显示屏、扬声器(speaker)等设备。
73.需要指出的是,通信设备20可以是台式机、便携式电脑、网络服务器、移动手机、平板电脑、无线终端、嵌入式设备、芯片系统或有图2中类似结构的设备。此外,图2中示出的组成结构并不构成对该终端设备的限定,除图2所示部件之外,该通信设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
74.智能家居网络10的安全极为重要,特别是越来越多的电子设备(终端设备101)接入智能家居网络10的情况下,因此,在终端设备101接入智能家居网络10时,必须对其进行
鉴权以保证合法性,避免非法设备的接入。
75.本技术实施例提供一种智能家居终端设备接入认证方法,应用于如图1所示的智能家居网络10中,能够利用区块链实现去中心化的设备鉴权。如图3所示,所述方法包括:
76.s1、构建智能家居网络10。
77.首先构建如图1的智能家居网络10,该智能家居网络10包括终端设备101、网关102和边缘服务器103,并在该智能家居网络10中构建区块链网络。
78.本技术实施例所应用的区块链网络中,包括多个区块链节点,其中由网关102和边缘服务器103作为区块链的全节点,拥有全量的区块链账本,用于实现各类交易操作(如创建、验证及查询等)。各个网关102在区块链网络中是对等的,每个网关102均具备辅助验证终端设备101的身份信息是否合法的功能,以及根据终端设备101的实时状态,动态调整终端设备101的接入权限。
79.一种可能的实施方式中,在对智能家居网络10进行构建并初始化时,网关102还获取与其相连接的所有终端设备101的信息,构建关于终端设备101的终端设备列表并进行存储。网关102还能够根据智能家居网络10的变化对终端设备列表进行动态调整。该终端设备列表中,包含有终端设备101身份标识的哈希值,具体的,该哈希值是将终端设备101的身份标识用预设的哈希算法h进行哈希运算获取的。
80.s2、将首次接入的终端设备101在区块链网络中注册。
81.在终端设备101需要接入智能家居网络10时,如果该终端设备101为首次接入(即未进行身份注册),则需要向区块链网络发送注册请求,以便将该终端设备101的身份id注册在区块链网络中。即终端设备101将自身的身份id向网关102发起绑定,生成唯一的身份标识itid,并存储到区块链上。
82.具体的,如图4所示,终端设备101在区块链网络中的注册流程为:
83.2.1、终端设备101向网关102发送注册数据,所述注册数据包含终端设备101的身份标识。
84.具体的,终端设备101首先将自己身份标识(表示为id
it
)用预设的哈希算法h进行哈希运算,得到身份标识的哈希值h(id
it
),然后用共同会话密钥ks对h(id
it
)进行加密,得到e(ks,h(id
it
)),最后将e(ks,h(id
it
))作为注册数据发送给网关102。
85.2.2、网关102验证注册数据后将终端设备101注册至区块链。
86.具体的,一种可能的实施方式中,网关102收到注册数据e(ks,h(id
it
))后,用共同会话密钥ks做解密运算d(ks,h(id
it
)),获取终端设备101身份标识的哈希值h(id
it
),随后利用预置的编码算法encode对h(id
it
)进行编码,生成设备的唯一标识itid(i),itid(i)=encode(h(id
it
)),并将itid(i)存储到区块链上,完成对终端设备101的注册。
87.具体的,另一种可能的实施方式中,网关102收到注册数据e(ks,h(id
it
))后,用共同会话密钥ks做解密运算d(ks,h(id
it
)),获取终端设备101身份标识的哈希值h(id
it
),随后根据h(id
it
)查询该终端设备101是否存在于所述终端设备列表中,若存在,则利用预置的编码算法encode对h(id
it
)进行编码,生成设备的唯一标识itid(i),itid(i)=encode(h(id
it
)),并将itid(i)存储到区块链上,完成对终端设备101的注册。如果终端设备101不存在于所述终端设备列表中,则表明该设备不存在或非法的,拒绝设备注册。
88.在智能家居网络10的应用中,为了避免通过终端设备101非法入侵智能家居网络
10,当终端设备101需要接入智能家居网络10时,需要对终端设备101的合法性进行认证。
89.一种可能的实施方式中,单个或零散的终端设备101向网关102发出接入认证请求,当终端设备101接入认证通过后,即可接入智能家居网络10,或将采集到的家居数据发送至边缘服务器103,或控制其他的终端设备101。具体执行过程参见步骤s3。
90.s3、对终端设备101的接入请求进行认证。
91.如图5所示,本步骤具体认证过程如下:
92.3.1、终端设备101向网关102发送认证请求消息。
93.具体的,终端设备101(本步骤s3中表示为it(i))向网关102发送认证请求消息r
it
,该消息包括it(i)身份标识的哈希值h(id
it
(i)),以及随机数和签名,可表示为k
it-ig
(r
it(i)
,sig
it
,h(id
it
(i))),其中r
it(i)
随机数,sig
it
是自身签名,k
it-ig
是it(i)与网关102协商的密钥。
94.3.2、网关102利用区块链中设备的唯一标识itid(i)验证终端设备101是否存在。
95.具体的,网关102接收终端设备101的发送的认证请求消息r
it
,在解密r
it
并验证终端设备101的签名后,与区块链网络建立连接,请求获取该it(i)的唯一标识itid(i)。随后通过预置的解码算法decode对itid(i)进行解码,如果decode(itid(i))=h(id
it
(i)),则确定it(i)存在,网关102同意认证并向it(i)返回认证响应消息。若it(i)不存在则拒绝认证。
96.3.3、网关102用边缘服务器103的公钥加密自身签名和解密后的认证请求r
it
,并发送给边缘服务器103。
97.3.4、边缘服务器103利用区块链中设备的唯一标识itid(i)验证终端设备101是否存在。
98.具体的,边缘服务器103接收网关102发送的签名和认证请求消息r
it
,在验证网关102的签名后,解密r
it
,与区块链网络建立连接,请求获取该it(i)的唯一标识itid(i)。随后通过预置的解码算法decode对itid(i)进行解码,如果decode(itid(i))=h(id
it
(i)),则确定it(i)存在,it(i)通过边缘服务器103的认证,边缘服务器103生成自己的签名并向网关102发送认证通过消息。若it(i)不存在则拒绝认证。
99.3.5、网关102收到边缘服务器103的签名及认证通过消息后,验证边缘服务器103的合法性,如果边缘服务器103合法则生成自身签名并转发认证通过消息,否则拒绝认证。
100.3.6、it(i)收到网关102的签名及转发的认证通过消息后,验证网关102和边缘服务器103的合法性,如果网关102和边缘服务器103合法则通过认证。当it(i)通过接入认证后,即完全接入智能家居网络10,即可通过网关102的转发向边缘服务器103发送数据。
101.另一种可能的实施方式中,智能家居网络10对多个终端设备101同时发出(并发)的认证请求进行聚合认证,具体执行过程参见步骤s4。
102.步骤s4可适用于以下情况:终端设备101数量较多时,多个终端设备101同时向网关102发送认证请求(特别是来电瞬间,终端设备101上电后密集请求认证)。
103.步骤s4也可适用于以下情况:网关102对与其连接的所有终端设备101进行主动的接入认证请求,要求终端设备101进行接入认证,将通过认证的终端设备101接入智能家居网络10,以便能够主动获取这些终端设备101所采集的家居数据。
104.步骤s3中,终端设备101自身根据接入需要向智能家居网络10发出接入认证请求,智能家居网络10所接收到的接入认证请求也是单个的、或零散的,因此数据流量小。但在步
骤s4的应用场景下,多个终端设备101将同时发出(并发)认证请求,如果仍然按照步骤s3进行认证,由于并发认证时的数据量大,受限于网络的吞吐性能或稳定性,会影响对终端设备101的认证效率,或造成对部分终端设备101的认证失败。
105.s4、对终端设备101的并发接入请求进行认证。
106.具体的,如图6所示,本步骤执行过程如下:
107.4.1、终端设备101向网关102发送认证请求消息。
108.具体的,多个终端设备101(本步骤s4中表示为it(s))使用自己的私钥生成签名,并发送包括该签名的认证请求消息σ(s)给网关102,该请求消息σ(s)中还包括终端设备101身份标识的哈希值h(id
it
(s))。
109.4.2、网关102利用区块链中设备的唯一标识itid(s)验证终端设备101是否存在。
110.具体的,网关102接收到多个终端设备101的发送的请求消息σ(s),在验证终端设备101的签名后,与区块链网络建立连接,请求获取该it(s)的唯一标识itid(s)。随后通过预置的解码算法decode对itid(s)进行解码,如果decode(itid(s))=h(id
it
(s)),则it(s)存在。若it(s)不存在则拒绝认证。
111.4.3、生成多个终端设备101的统一标识asid(s)并存储在区块链中。
112.对于存在的多个终端设备101,生成所有存在终端的统一标识asid(s)并进一步的存储在区块链中。asid(s)可以为多个终端设备101身份标识哈希值的集合,如:asid(s)=encode(h(id
it
(1)),h(id
it
(2)),

,h(id
it
(s)))。
113.4.4、网关102生成多个终端设备101的聚合签名,并用边缘服务器103的公钥加密该聚合签名和,并随网关102的聚合认证请求一起发送给边缘服务器103。聚合认证请求中还包含步骤4.3中所有存在的终端设备101身份标识的哈希值h(id
it
(s))。
114.将多个终端设备101的签名压缩而成的签名即为聚合签名,采用聚合签名能够减小签名的存储空间,同时把多个终端签名的验证简化到一个签名的验证,因此还能够减少数据流量。
115.4.5、边缘服务器103利用区块链中设备的统一标识asid(s)验证终端设备101是否存在。
116.具体的,边缘服务器103收到网关102发送的聚合签名和聚合认证请求后,先验证网关102发送的聚合签名,验证通过后边缘服务器103与区块链网络建立连接,请求获取it(s)的统一标识asid(s)并用decode算法解码,随后验证聚合认证请求中所有it(s)身份标识的哈希值h(id
it
(s))是否包含在decode(asid(s))中,若均包含,则确定这些it(s)均存在。否则,若任一it(s)身份标识的哈希值h(id
it
(s))不包含在decode(asid(s))中,则将所有it(s)均视为不合法,拒绝继续认证。
117.4.6、如果it(s)的合法性验证通过,则it(s)通过边缘服务器103的接入认证,边缘服务器103生成自己的签名并向网关102发送认证通过消息。
118.4.7、网关102收到边缘服务器103的签名及认证通过消息后,验证边缘服务器103的合法性,如果边缘服务器103合法则生成自身签名并向对应的it(s)发送认证通过信息,否则拒绝认证。
119.4.8、it(s)收到网关102的签名及认证通过消息后,验证网关102和边缘服务器103的合法性,如果网关102和边缘服务器103合法则通过认证。当it(s)通过接入认证后,即完
全接入智能家居网络10,即可通过网关102的转发向边缘服务器103发送数据。
120.在关于步骤s4的另一种可能的实施方式中,步骤4.3和步骤4.5按以下方法实现:
121.4.3、生成多个终端设备101的统一标识asid(s)并存储在区块链中。
122.具体的,asid(s)可以为多个终端设备101身份标识哈希值的集合的哈希值,如:asid(s)=encode(h(sort(h(id
it
(1)),h(id
it
(2)),

,h(id
it
(s)))))。其中sort为预置的排序算法,即首先将多个终端设备101身份标识的哈希值h(id
it
(s))利用sort算法进行统一排序,随后哈希算法h计算排序结果的哈希值,最终把排序结果的哈希值用编码算法encode编码后存入区块链中。
123.4.5、边缘服务器103利用区块链中设备的统一标识asid(s)验证终端设备101是否存在。
124.具体的,边缘服务器103收到网关102发送的聚合签名和聚合认证请求后,先验证网关102发送的聚合签名,验证通过后边缘服务器103与区块链网络建立连接,请求获取it(s)的统一标识asid(s)并用decode算法解码,随后将聚合认证请求中所有it(s)身份标识的哈希值h(id
it
(s))进行排序后用哈希算法h计算哈希值,若计算出的哈希值与decode(asid(s))相同,即decode(asid(s))=h(sort(h(id
it
(1)),h(id
it
(2)),

,h(id
it
(s)))),则确定这些it(s)均存在。否则,则将所有it(s)均视为不合法,拒绝继续认证。
125.本技术上述实施例中,所有哈希算法或哈希值的计算方法均采用同一哈希算法h实现,哈希算法h可以包括但不限于sha256或sha1等。编码算法encode与解码算法decode为相对应的针对字符串的编解码算法,str=decode(encode(str)),即同一字符串经编码再解码后内容不变。
126.本技术上述实施例中的各个方案在不矛盾的前提下,均可以进行结合。特别是,上述实施例中相关步骤的标号并不代表执行的先后顺序,本领域技术人员对上述步骤的顺序变换并不离开本发明的保护范围。
127.上述主要从方法的角度对本发明实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
128.本技术实施例可以根据上述方法示例对接入认证装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本技术实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
129.在采用对应各个功能划分各个功能模块的情况下,图7示出了一种接入认证装置30的结构示意图,该接入认证装置30可以用于执行上述实施例中的接入认证方法。接入认证装置30包括:处理单元301和通信单元302。
130.处理单元301用于进行哈希运算,具体用于对终端设备101的身份标识进行哈希运
算。
131.处理单元301还用于利用密钥进行加密和解密,用于生成随机数和签名,用于生成聚合签名。
132.通信单元302用于获取区块链数据,用于在图1所示的智能家居网络10中进行数据传输,具体用于:将终端设备的注册数据发送至网关102;在终端设备101、网关102和边缘服务器103之间传递接入认证请求数据和接入认证响应数据,等等。
133.一种可能的设计中,通信单元302还用于获取家居数据,用于在终端设备101、网关102和边缘服务器103之间传递家居数据。
134.一种可能的设计中,接入认证装置30还包括创建单元304,创建单元304用于创建区块链,区块链包括:由网关102和边缘服务器103所对应的全节点,区块链好用于对各节点上传的数据进行加密后保存。
135.一种可能的设计中,接入认证装置30还包括存储单元303,用于储存程序代码和指令,用于存储区块链数据,还用于存储家居数据。
136.本技术实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机程序来指令相关的硬件完成,该程序可存储于上述计算机可读存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述任一实施例的通信设备20的内部存储单元,例如通信设备20的硬盘或内存。上述计算机可读存储介质也可以是上述通信设备20的外部存储设备,例如上述终端装置上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述通信设备20的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述通信设备20所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
137.需要说明的是,本技术文件中术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
138.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
139.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
140.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其
它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
141.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
142.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
143.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1