CN113065118A - 认证码的确定方法及装置、存储介质、电子装置 - Google Patents

认证码的确定方法及装置、存储介质、电子装置 Download PDF

Info

Publication number
CN113065118A
CN113065118A CN202110283110.3A CN202110283110A CN113065118A CN 113065118 A CN113065118 A CN 113065118A CN 202110283110 A CN202110283110 A CN 202110283110A CN 113065118 A CN113065118 A CN 113065118A
Authority
CN
China
Prior art keywords
identification information
authentication code
hash value
target object
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110283110.3A
Other languages
English (en)
Other versions
CN113065118B (zh
Inventor
李阅苗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Original Assignee
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qingdao Haier Technology Co Ltd, Haier Smart Home Co Ltd filed Critical Qingdao Haier Technology Co Ltd
Priority to CN202110283110.3A priority Critical patent/CN113065118B/zh
Publication of CN113065118A publication Critical patent/CN113065118A/zh
Application granted granted Critical
Publication of CN113065118B publication Critical patent/CN113065118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种认证码的确定方法及装置、存储介质、电子装置,其中,上述方法包括:获取多个设备的第一标识信息,第一标识信息用于指示与目标对象存在绑定关系设备的设备标识;确定目标对象的第二标识信息,根据预设排列规则对第一标识信息与第二标识信息进行排列,以得到目标对象的待认证列表,第二标识信息用于指示目标对象的目标标识;根据二叉树算法对待认证列表中的标识信息进行运算,以生成目标对象对应的认证码,认证码用于指示多个第一标识信息,第二标识信息,以及多个设备和目标对象位于同一局域网,标识信息包括:多个第一标识信息和第二标识信息,解决了在无中心节点的情况下,无法实现设备的合法认证以及设备间的相互控制等问题。

Description

认证码的确定方法及装置、存储介质、电子装置
技术领域
本发明涉及通信领域,具体而言,涉及一种认证码的确定方法及装置、存储介质、电子装置。
背景技术
在物联网领域尤其是在智慧家庭领域内,随着一个家庭内智能设备增多,设备连接技术呈现多样化发展,在相关技术中,目前的家庭物联网结构,基本上是家庭里的手机和设备通过路由器连接到IOT(Internet of Things,物联网,简称IOT)云平台,当手机控制设备或者设备相互控制时,都要通过IOT云对双方的权限进行认证。比如:手机用户是否和设备1在同一个家庭,如果不在同一个家庭就认证失败,拒绝控制。但是在越来越重视的隐私保护时代,用户希望设备的操作可以在边缘即用户家庭内小循环完成。此外,如图1所示,在某些离线场景或者上网条件极差的时候,无法与IOT云建立连接,将无法保证设备的安全,以及被控设备无法判断主控设备和自己属于同一个家庭,更无法确认是否非法设备伪装成家庭成员在设备间进行操作。
针对相关技术中,在无中心节点的情况下,无法实现设备的合法认证以及设备间的相互控制等问题,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种认证码的确定方法及装置、存储介质、电子装置,以至少解决相关技术中,在无中心节点的情况下,无法实现设备的合法认证以及设备间的相互控制等问题。
根据本发明的一个实施例,提供了一种认证码的确定方法,包括:获取多个设备的第一标识信息,其中,所述第一标识信息用于指示与目标对象存在绑定关系设备的设备标识;确定所述目标对象的第二标识信息,根据预设排列规则对所述第一标识信息与所述第二标识信息进行排列,以得到所述目标对象的待认证列表,其中,所述第二标识信息用于指示所述目标对象的目标标识;根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码,其中,所述认证码用于指示多个第一标识信息,所述第二标识信息,以及所述多个设备和所述目标对象位于同一局域网,其中,所述标识信息包括:多个第一标识信息和所述第二标识信息。
在一个示例性的实施例中,根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码,包括:对所述待认证列表中两个相邻的标识信息利用散列函数进行求和处理,以确定所述两个相邻的标识信息的父节点的散列值,其中,待认证列表中的每一个标识信息对应一个子节点;逐级合并所述父节点的散列值,以确定顶端节点的目标散列值的长度,其中,所述目标散列值用于指示所述认证码的长度以及认证码的内容。
在一个示例性的实施例中,根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码之后,所述方法还包括:在确定所述认证码包括有所有第一标识信息以及第二标识信息的情况下,将所述认证码传输至所述多个设备中的每一个设备,以使所述每一个设备均保存所述认证码;获取所述每一个设备对认证码的存储结果。
在一个示例性的实施例中,获取所述每一个设备对认证码的存储结果之后,所述方法还包括:获取主控设备的第一设备标识以及被控设备的第二设备标识,其中,所述主控设备已向所述被控设备发送控制请求,以请求控制所述被控设备,其中,所述多个设备包括:所述主控设备和所述被控设备;在所述二叉树算法的总路径中,确定所述主控设备与所述认证码的第一认证路径,以及所述被控设备与所述认证码的第二认证路径;根据所述第一设备标识和所述第一认证路径确定所述主控设备的第一散列值,以及根据所述第二设备标识和所述第二认证路径确定所述主控设备的第二散列值;比较所述第一散列值与第二散列值,以确定是否允许所述主控设备控制所述被控设备。
在一个示例性的实施例中,比较所述第一散列值与第二散列值,以确定是否允许所述主控设备控制所述被控设备,包括:在第一散列值与第二散列值的大小相等的情况下,允许所述主控设备控制所述被控设备;在第一目标散列值与第二目标散列值的大小不相等的情况下,确定不允许所述主控设备控制所述被控设备。
在一个示例性的实施例中,在第一目标散列值与第二目标散列值的大小不相等的情况下,所述方法还包括:获取第一散列值与第二散列值的散列值差值;在所述散列值差值超出预设阈值的情况下,所述被控设备发出提示指令,其中,所述提示指令用于指示被控设备向所述目标对象发出提示信息,以指示所述目标对象对主控设备的权限进行确认。
根据本发明的另一个实施例,还提供了一种认证码的确定装置,包括:获取模块,用于获取多个设备的第一标识信息,其中,所述第一标识信息用于指示与目标对象存在绑定关系设备的设备标识;确定模块,用于确定所述目标对象的第二标识信息,根据预设排列规则对所述第一标识信息与所述第二标识信息进行排列,以得到所述目标对象的待认证列表,其中,所述第二标识信息用于指示所述目标对象的目标标识;运算模块,用于根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码,其中,所述认证码用于指示多个第一标识信息,所述第二标识信息,以及所述多个设备和所述目标对象位于同一局域网,其中,所述标识信息包括:多个第一标识信息和所述第二标识信息。
在一个示例性的实施例中,上述运算模块,还用于对所述待认证列表中两个相邻的标识信息利用散列函数进行求和处理,以确定所述两个相邻的标识信息的父节点的散列值,其中,待认证列表中的每一个标识信息对应一个子节点;逐级合并所述父节点的散列值,以确定顶端节点的目标散列值的长度,其中,所述目标散列值用于指示所述认证码的长度以及认证码的内容。
在一个示例性的实施例中,上述装置还包括:传输模块,用于在确定所述认证码包括有所有第一标识信息以及第二标识信息的情况下,将所述认证码传输至所述多个设备中的每一个设备,以使所述每一个设备均保存所述认证码;获取所述每一个设备对认证码的存储结果。
在一个示例性的实施例中,上述传输模块还包括:比较单元,用于获取主控设备的第一设备标识以及被控设备的第二设备标识,其中,所述主控设备已向所述被控设备发送控制请求,以请求控制所述被控设备,其中,所述多个设备包括:所述主控设备和所述被控设备;在所述二叉树算法的总路径中,确定所述主控设备与所述认证码的第一认证路径,以及所述被控设备与所述认证码的第二认证路径;根据所述第一设备标识和所述第一认证路径确定所述主控设备的第一散列值,以及根据所述第二设备标识和所述第二认证路径确定所述主控设备的第二散列值;比较所述第一散列值与第二散列值,以确定是否允许所述主控设备控制所述被控设备。
在一个示例性的实施例中,上述比较单元,还用于在第一散列值与第二散列值的大小相等的情况下,允许所述主控设备控制所述被控设备;在第一目标散列值与第二目标散列值的大小不相等的情况下,确定不允许所述主控设备控制所述被控设备。
在一个示例性的实施例中,上述比较单元,还用于获取第一散列值与第二散列值的散列值差值;在所述散列值差值超出预设阈值的情况下,所述被控设备发出提示指令,其中,所述提示指令用于指示被控设备向所述目标对象发出提示信息,以指示所述目标对象对主控设备的权限进行确认。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述计算机可读的存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,获取多个设备的第一标识信息,其中,第一标识信息用于指示与目标对象存在绑定关系设备的设备标识;确定目标对象的第二标识信息,根据预设排列规则对第一标识信息与第二标识信息进行排列,以得到目标对象的待认证列表,其中,第二标识信息用于指示目标对象的目标标识;根据二叉树算法对待认证列表中的标识信息进行运算,以生成目标对象对应的认证码,其中,认证码用于指示多个第一标识信息,第二标识信息,以及多个设备和目标对象位于同一局域网,其中,标识信息包括:多个第一标识信息和第二标识信息,即通过生成与目标对象存以及所有设备存在关联关系的认证码,进而通过认证码实现设备之间的相互控制及认证,解决了相关技术中在无中心节点(例如:云平台)的情况下,无法实现设备的合法认证以及设备间的相互控制等问题,提高了设备之间的认证效率,减少了对于云平台交互的依赖,并且在云平台离线的场景下也可以进行认证,提升了设备控制的到达率和时效性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是相关技术中的失去认证中心的设备控制示意图;
图2是本发明实施例的一种认证码的确定方法的云平台的硬件结构框图;
图3是根据本发明实施例的认证码的确定方法的流程图;
图4为根据本发明可选实施例的家庭编码与设备之间的交互结构示意图;
图5为根据本发明可选实施例的生成家庭认证码的代码过程的示意图;
图6为根据本发明可选实施例的家庭认证码进行存储时认证路径的示意图;
图7是根据本发明实施例的一种认证码的确定装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例所提供的方法实施例可以在计算机终端、云平台或者类似的运算装置中执行。以运行在云平台上为例,图2是本发明实施例的一种认证码的确定方法的云平台的硬件结构框图。如图2所示,云平台可以包括一个或多个(图2中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述云平台还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述云平台的结构造成限定。例如,云平台还可包括比图2中所示更多或者更少的组件,或者具有与图2所示等同功能或比图2所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的认证码的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至云平台。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括云平台的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种认证码的确定方法,应用于上述云平台,图3是根据本发明实施例的认证码的确定方法的流程图,该流程包括如下步骤:
步骤S202,获取多个设备的第一标识信息,其中,所述第一标识信息用于指示与目标对象存在绑定关系设备的设备标识;
步骤S204,确定所述目标对象的第二标识信息,根据预设排列规则对所述第一标识信息与所述第二标识信息进行排列,以得到所述目标对象的待认证列表,其中,所述第二标识信息用于指示所述目标对象的目标标识;
步骤S206,根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码,其中,所述认证码用于指示多个第一标识信息,所述第二标识信息,以及所述多个设备和所述目标对象位于同一局域网,其中,所述标识信息包括:多个第一标识信息和所述第二标识信息。
通过上述技术方案,获取多个设备的第一标识信息,其中,第一标识信息用于指示与目标对象存在绑定关系设备的设备标识;确定目标对象的第二标识信息,根据预设排列规则对第一标识信息与第二标识信息进行排列,以得到目标对象的待认证列表,其中,第二标识信息用于指示目标对象的目标标识;根据二叉树算法对待认证列表中的标识信息进行运算,以生成目标对象对应的认证码,其中,认证码用于指示多个第一标识信息,第二标识信息,以及多个设备和目标对象位于同一局域网,其中,标识信息包括:多个第一标识信息和第二标识信息,即通过生成与目标对象存以及所有设备存在关联关系的认证码,进而通过认证码实现设备之间的相互控制及认证,解决了相关技术中在无中心节点(例如:云平台)的情况下,无法实现设备的合法认证以及设备间的相互控制等问题,提高了设备之间的认证效率,减少了对于云平台交互的依赖,并且在云平台离线的场景下也可以进行认证,提升了设备控制的的到达率和时效性。
在一个示例性的实施例中,根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码,包括:对所述待认证列表中两个相邻的标识信息利用散列函数进行求和处理,以确定所述两个相邻的标识信息的父节点的散列值,其中,待认证列表中的每一个标识信息对应一个子节点;逐级合并所述父节点的散列值,以确定顶端节点的目标散列值的长度,其中,所述目标散列值用于指示所述认证码的长度以及认证码的内容。
例如,将用户家庭设备的设备标识ID按照预设的设备标识ID的大小关系进行排序;将用户的标识对应的编码uID排在设备标识序列的第0位,形成一个列表,对每两个ID执行相加操作并进行一次hash散列运算,形成一个父节点hash散列值,再将父节点hash散列值每两个值相加进行一次新的散列hash运算,依次类推,最终生成一个关于设备的家庭系谱图,顶端的节点的目标散列值就是该家庭对应的认证码,并且由于Hash散列值的不可逆的特性,使得上述散列函数的处理过程是不可逆的,是无法通过目标散列值推断出下面的任何数据,例如,子节点以及父节点的数据信息,继而保证了用户家庭设备的信息安全性。
在一个示例性的实施例中,根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码之后,所述方法还包括:在确定所述认证码包括有所有第一标识信息以及第二标识信息的情况下,将所述认证码传输至所述多个设备中的每一个设备,以使所述每一个设备均保存所述认证码;获取所述每一个设备对认证码的存储结果。
简而言之,为了使得生成的认证码可以为设备之间提供家庭认证的基础,在得到每一个家庭对应的家庭认证码后,将该家庭认证码发送至当前家庭中的每一个设备,并且为了保证发送结果,通过获取每一设备对于其对应家庭认证码的存储结果。
在一个示例性的实施例中,获取所述每一个设备对认证码的存储结果之后,所述方法还包括:获取主控设备的第一设备标识以及被控设备的第二设备标识,其中,所述主控设备已向所述被控设备发送控制请求,以请求控制所述被控设备,其中,所述多个设备包括:所述主控设备和所述被控设备;在所述二叉树算法的总路径中,确定所述主控设备与所述认证码的第一认证路径,以及所述被控设备与所述认证码的第二认证路径;根据所述第一设备标识和所述第一认证路径确定所述主控设备的第一散列值,以及根据所述第二设备标识和所述第二认证路径确定所述主控设备的第二散列值;比较所述第一散列值与第二散列值,以确定是否允许所述主控设备控制所述被控设备。
例如,当一个家庭中存在7个设备以及1个用户,则在其对应的二叉树算法中存在8条可以进行设备相互控制的总路径,当主控设备向被控设备发起控制请求时,分别对主控设备和被控设备到当前家庭认证码的认证路径进行确认,并比较两条路径确定出的散列值,进而根据主控设备的散列值与被控设备的散列值的比较结果确定该控制请求的允许情况。
在一个示例性的实施例中,比较所述第一散列值与第二散列值,以确定是否允许所述主控设备控制所述被控设备,包括:在第一散列值与第二散列值的大小相等的情况下,允许所述主控设备控制所述被控设备;在第一目标散列值与第二目标散列值的大小不相等的情况下,确定不允许所述主控设备控制所述被控设备。
也就是说,当出现主控设备的散列值与被控设备的散列值大小相等时,证明主控设备与被控设备属于同一家庭中,并存在相同的家庭认证码,其余不相等情况的出现,说明主控设备与被控设备可能不属于同一家庭中,或者对应存储的家庭认证码未及时更新,导致认证无法通过,主控设备在未通过认证码认证的情况下无法被允许控制被控设备。
在一个示例性的实施例中,在第一目标散列值与第二目标散列值的大小不相等的情况下,所述方法还包括:获取第一散列值与第二散列值的散列值差值;在所述散列值差值超出预设阈值的情况下,所述被控设备发出提示指令,其中,所述提示指令用于指示被控设备向所述目标对象发出提示信息,以指示所述目标对象对主控设备的权限进行确认。
例如,由于散列函数计算是不可逆的(推荐SHA256),所以不可能通过伪造一个设备加入到家庭来进行控制。假设有一个伪装设备截取到了主控设备的家庭认证码,要被控设备进行控制,但是通过确认对应的认证路径,进过计算主控设备的散列值与被控设备的散列值后发现不相等,主控设备的控制请求无法被被控设备所允许,这时,为了保证非认证码的原因导致同一家庭下的设备无法进行控制的情况的发生,获取主控设备与被控设备经过运算后的散列值差值,并在散列值差值超出预设阈值时,被控设备发出指示目标对象向主控设备的权限进行主动确认的提示指令,当确认主动设备存在时,及时对其存储的家庭认证码进行更新,在确认主动设备不存在时,说明主动设备为伪装设备,及时进行家庭权限的禁止。
为了更好的理解上述认证码的确定方法的过程,以下结合可选实施例对上述认证码的确定方法流程进行说明,但不用于限定本发明实施例的技术方案。
在一个可选实施例中,提供了一种设备家庭认证码的生成方法,利用Hash值(相当于本发明实施例中的散列值)的不可逆特性以及二叉树结构,设计了一种Hash二叉树的设备家庭认证码的生成方式,如图4所示,在初始阶段,用户通过登录IOT云平台,根据云平台上的设备标识信息以及用户的标识信息,生成家庭编码(相当于本发明实施例中的认证码)familyCode,并将familyCode下发到家庭局域网中的各个设备。
作为一中可选的实施方式,如图5所示为生成家庭认证码的代码过程,具体如下:
步骤一、将用户家庭设备的设备标识ID按照预设的设备标识ID的大小关系进行排序;将用户的标识对应的编码uID排在设备标识序列的第0位,形成一个列表。
步骤二、对每两个ID执行相加操作并进行一次hash散列运算,形成一个父节点hash散列值,比如h1=hash(uID+d1),h2=hash(d2+d3);
步骤三、在将父节点hash散列值每两个值相加进行一次新的散列hash运算,依次类推,最终生成一个关于设备的家庭系谱图familyTree,顶端的节点就是家庭编码familyCode(即家庭认证码);
需要说明的是,该计算过程是不可逆的,即不能通过familyCode推断出下面的任何数据,不能通过中间值推断出用户ID和设备ID,因此,保证了用户信息的隐私性及安全性,减少了信息的泄露风险。
可选的,在进行家庭认证码的存储时,每个设备包括手机APP均存储在家庭系谱图familyTree中,从本节点到家庭编码familyCode的一条认证路径。如图6所示,手机上除了存储uid外,存储的家庭认证码=d1+h2+h6,设备上d3除了存储d3外,存储的家庭认证码=d2+h1+h6等。可选的,在认证码的长度为3时,整个家庭系谱图可以容纳8台设备,在认证码长度为4时,整个家庭系谱图可以容纳16台设备,这时根据实际需求灵活设置的,本发明对此不做过多限定。
可选的,在进行家庭中设备控制的认证时,示例如下:
例1:如果uId要控制设备d3,需要将uId及家庭认证码同时发给d3设备d3进行计算,计算公式如下:Hash(Hash(Hash(uId+d1)+h2)+h6)和Hash(Hash(Hash(d3+d2)+h1)+h6);如果计算结果相等,则表示表示uId和d3是同一个家庭,认证通过,uId可以对设备d3进行操作控制;
例2:如果d3要控制设备d7,则需要将d3及家庭认证码发给d7,设备d7进行计算,计算公式如下:Hash(Hash(Hash(d3+d2)+h1)+h6)和Hash(Hash(Hash(d7+d6)+h3)+h5);如果计算结果相等,则表示表示d3和d7是同一个家庭,认证通过。
需要说明的是,整个认证过程不需要中心节点参与,并且Hash计算都在内存类进行,计算速度极快。
可选的,通过家庭认证码还可以对设备的安全性进行验证,由于Hash计算是不可逆的(推荐SHA256),所以不可能通过伪造一个设备id加入到家庭来进行控制。假设有一个伪装设备d3’截取到了d3的家庭认证码,要控制d7;但是d7计算Hash(Hash(Hash(d3’+d2)+h1)+h6)得出的结果与Hash(Hash(Hash(d7+d6)+h3)+h5)的结果必定不一致,故认证必定失败,此时,为了及时告知用户,还可以通过要控制d7向用户发出提示信息,使用户及时的对伪装设备d3’进行设备确认。
可选的,上述平台不仅仅局限于云平台,其他方式的平台也可实现本发明的可选实施例,对此本发明不做过多限定。
本发明可选实施例,通过设计一种适用于边缘计算场景的去中心化设备相互认证的方案,基于家庭认证树结构、家庭认证码存储方式、家庭认证计算过程,对属于同一局域网下的家庭设备进行设备控制时进行认证,认证计算快速,不依赖与云平台的交互,而且还适用于边缘计算的离线认证场景,可以根据网络质量等灵活配置选择最优认证策略,提升了设备间相互控制的认证效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种认证码的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的一种认证码的确定装置的结构框图;如图7所示,包括:
获取模块72,用于获取多个设备的第一标识信息,其中,所述第一标识信息用于指示与目标对象存在绑定关系设备的设备标识;
确定模块74,用于确定所述目标对象的第二标识信息,根据预设排列规则对所述第一标识信息与所述第二标识信息进行排列,以得到所述目标对象的待认证列表,其中,所述第二标识信息用于指示所述目标对象的目标标识;
运算模块76,用于根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码,其中,所述认证码用于指示多个第一标识信息,所述第二标识信息,以及所述多个设备和所述目标对象位于同一局域网,其中,所述标识信息包括:多个第一标识信息和所述第二标识信息。
通过上述技术方案,获取多个设备的第一标识信息,其中,第一标识信息用于指示与目标对象存在绑定关系设备的设备标识;确定目标对象的第二标识信息,根据预设排列规则对第一标识信息与第二标识信息进行排列,以得到目标对象的待认证列表,其中,第二标识信息用于指示目标对象的目标标识;根据二叉树算法对待认证列表中的标识信息进行运算,以生成目标对象对应的认证码,其中,认证码用于指示多个第一标识信息,第二标识信息,以及多个设备和目标对象位于同一局域网,其中,标识信息包括:多个第一标识信息和第二标识信息,即通过生成与目标对象存以及所有设备存在关联关系的认证码,进而通过认证码实现设备之间的相互控制及认证,解决了相关技术中在无中心节点(例如:云平台)的情况下,无法实现设备的合法认证以及设备间的相互控制等问题,提高了设备之间的认证效率,减少了对于云平台交互的依赖,并且在云平台离线的场景下也可以进行认证,提升了设备控制的的到达率和时效性。
在一个示例性的实施例中,上述运算模块,还用于对所述待认证列表中两个相邻的标识信息利用散列函数进行求和处理,以确定所述两个相邻的标识信息的父节点的散列值,其中,待认证列表中的每一个标识信息对应一个子节点;逐级合并所述父节点的散列值,以确定顶端节点的目标散列值的长度,其中,所述目标散列值用于指示所述认证码的长度以及认证码的内容。
例如,将用户家庭设备的设备标识ID按照预设的设备标识ID的大小关系进行排序;将用户的标识对应的编码uID排在设备标识序列的第0位,形成一个列表,对每两个ID执行相加操作并进行一次hash散列运算,形成一个父节点hash散列值,再将父节点hash散列值每两个值相加进行一次新的散列hash运算,依次类推,最终生成一个关于设备的家庭系谱图,顶端的节点的目标散列值就是该家庭对应的认证码,并且由于Hash散列值的不可逆的特性,使得上述散列函数的处理过程是不可逆的,是无法通过目标散列值推断出下面的任何数据,例如,子节点以及父节点的数据信息,继而保证了用户家庭设备的信息安全性。
在一个示例性的实施例中,上述装置还包括:传输模块,用于在确定所述认证码包括有所有第一标识信息以及第二标识信息的情况下,将所述认证码传输至所述多个设备中的每一个设备,以使所述每一个设备均保存所述认证码;获取所述每一个设备对认证码的存储结果。
简而言之,为了使得生成的认证码可以为设备之间提供家庭认证的基础,在得到每一个家庭对应的家庭认证码后,将该家庭认证码发送至当前家庭中的每一个设备,并且为了保证发送结果,通过获取每一设备对于其对应家庭认证码的存储结果。
在一个示例性的实施例中,上述传输模块还包括:比较单元,用于获取主控设备的第一设备标识以及被控设备的第二设备标识,其中,所述主控设备已向所述被控设备发送控制请求,以请求控制所述被控设备,其中,所述多个设备包括:所述主控设备和所述被控设备;在所述二叉树算法的总路径中,确定所述主控设备与所述认证码的第一认证路径,以及所述被控设备与所述认证码的第二认证路径;根据所述第一设备标识和所述第一认证路径确定所述主控设备的第一散列值,以及根据所述第二设备标识和所述第二认证路径确定所述主控设备的第二散列值;比较所述第一散列值与第二散列值,以确定是否允许所述主控设备控制所述被控设备。
例如,当一个家庭中存在7个设备以及1个用户,则在其对应的二叉树算法中存在8条可以进行设备相互控制的总路径,当主控设备向被控设备发起控制请求时,分别对主控设备和被控设备到当前家庭认证码的认证路径进行确认,并比较两条路径确定出的散列值,进而根据主控设备的散列值与被控设备的散列值的比较结果确定该控制请求的允许情况。
在一个示例性的实施例中,上述比较单元,还用于在第一散列值与第二散列值的大小相等的情况下,允许所述主控设备控制所述被控设备;在第一目标散列值与第二目标散列值的大小不相等的情况下,确定不允许所述主控设备控制所述被控设备。
也就是说,当出现主控设备的散列值与被控设备的散列值大小相等时,证明主控设备与被控设备属于同一家庭中,并存在相同的家庭认证码,其余不相等情况的出现,说明主控设备与被控设备可能不属于同一家庭中,或者对应存储的家庭认证码未及时更新,导致认证无法通过,主控设备在未通过认证码认证的情况下无法被允许控制被控设备。
在一个示例性的实施例中,上述比较单元,还用于获取第一散列值与第二散列值的散列值差值;在所述散列值差值超出预设阈值的情况下,所述被控设备发出提示指令,其中,所述提示指令用于指示被控设备向所述目标对象发出提示信息,以指示所述目标对象对主控设备的权限进行确认。
例如,由于散列函数计算是不可逆的(推荐SHA256),所以不可能通过伪造一个设备加入到家庭来进行控制。假设有一个伪装设备截取到了主控设备的家庭认证码,要被控设备进行控制,但是通过确认对应的认证路径,进过计算主控设备的散列值与被控设备的散列值后发现不相等,主控设备的控制请求无法被被控设备所允许,这时,为了保证非认证码的原因导致同一家庭下的设备无法进行控制的情况的发生,获取主控设备与被控设备经过运算后的散列值差值,并在散列值差值超出预设阈值时,被控设备发出指示目标对象向主控设备的权限进行主动确认的提示指令,当确认主动设备存在时,及时对其存储的家庭认证码进行更新,在确认主动设备不存在时,说明主动设备为伪装设备,及时进行家庭权限的禁止。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
在一个示例性实施例中,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取多个设备的第一标识信息,其中,所述第一标识信息用于指示与目标对象存在绑定关系设备的设备标识;
S2,确定所述目标对象的第二标识信息,根据预设排列规则对所述第一标识信息与所述第二标识信息进行排列,以得到所述目标对象的待认证列表,其中,所述第二标识信息用于指示所述目标对象的目标标识;
S3,根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码,其中,所述认证码用于指示多个第一标识信息,所述第二标识信息,以及所述多个设备和所述目标对象位于同一局域网,其中,所述标识信息包括:多个第一标识信息和所述第二标识信息。
在一个示例性实施例中,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
在一个示例性实施例中,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取多个设备的第一标识信息,其中,所述第一标识信息用于指示与目标对象存在绑定关系设备的设备标识;
S2,确定所述目标对象的第二标识信息,根据预设排列规则对所述第一标识信息与所述第二标识信息进行排列,以得到所述目标对象的待认证列表,其中,所述第二标识信息用于指示所述目标对象的目标标识;
S3,根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码,其中,所述认证码用于指示多个第一标识信息,所述第二标识信息,以及所述多个设备和所述目标对象位于同一局域网,其中,所述标识信息包括:多个第一标识信息和所述第二标识信息。
在一个示例性实施例中,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,在一个示例性实施例中,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种认证码的确定方法,其特征在于,包括:
获取多个设备的第一标识信息,其中,所述第一标识信息用于指示与目标对象存在绑定关系设备的设备标识;
确定所述目标对象的第二标识信息,根据预设排列规则对所述第一标识信息与所述第二标识信息进行排列,以得到所述目标对象的待认证列表,其中,所述第二标识信息用于指示所述目标对象的目标标识;
根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码,其中,所述认证码用于指示多个第一标识信息,所述第二标识信息,以及所述多个设备和所述目标对象位于同一局域网,其中,所述标识信息包括:多个第一标识信息和所述第二标识信息。
2.根据权利要求1所述的方法,其特征在于,根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码,包括:
对所述待认证列表中两个相邻的标识信息利用散列函数进行求和处理,以确定所述两个相邻的标识信息的父节点的散列值,其中,待认证列表中的每一个标识信息对应一个子节点;
逐级合并所述父节点的散列值,以确定顶端节点的目标散列值的长度,其中,所述目标散列值用于指示所述认证码的长度以及认证码的内容。
3.根据权利要求1所述的方法,其特征在于,根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码之后,所述方法还包括:
在确定所述认证码包括有所有第一标识信息以及第二标识信息的情况下,将所述认证码传输至所述多个设备中的每一个设备,以使所述每一个设备均保存所述认证码;
获取所述每一个设备对认证码的存储结果。
4.根据权利要求3所述的方法,其特征在于,获取所述每一个设备对认证码的存储结果之后,所述方法还包括:
获取主控设备的第一设备标识以及被控设备的第二设备标识,其中,所述主控设备已向所述被控设备发送控制请求,以请求控制所述被控设备,其中,所述多个设备包括:所述主控设备和所述被控设备;
在所述二叉树算法的总路径中,确定所述主控设备与所述认证码的第一认证路径,以及所述被控设备与所述认证码的第二认证路径;
根据所述第一设备标识和所述第一认证路径确定所述主控设备的第一散列值,以及根据所述第二设备标识和所述第二认证路径确定所述主控设备的第二散列值;
比较所述第一散列值与第二散列值,以确定是否允许所述主控设备控制所述被控设备。
5.根据权利要求4所述的方法,其特征在于,比较所述第一散列值与第二散列值,以确定是否允许所述主控设备控制所述被控设备,包括:
在第一散列值与第二散列值的大小相等的情况下,允许所述主控设备控制所述被控设备;
在第一目标散列值与第二目标散列值的大小不相等的情况下,确定不允许所述主控设备控制所述被控设备。
6.根据权利要求5所述的方法,其特征在于,在第一目标散列值与第二目标散列值的大小不相等的情况下,所述方法还包括:
获取第一散列值与第二散列值的散列值差值;
在所述散列值差值超出预设阈值的情况下,所述被控设备发出提示指令,其中,所述提示指令用于指示被控设备向所述目标对象发出提示信息,以指示所述目标对象对主控设备的权限进行确认。
7.一种认证码的确定装置,其特征在于,包括:
获取模块,用于获取多个设备的第一标识信息,其中,所述第一标识信息用于指示与目标对象存在绑定关系设备的设备标识;
确定模块,用于确定所述目标对象的第二标识信息,根据预设排列规则对所述第一标识信息与所述第二标识信息进行排列,以得到所述目标对象的待认证列表,其中,所述第二标识信息用于指示所述目标对象的目标标识;
运算模块,用于根据二叉树算法对所述待认证列表中的标识信息进行运算,以生成所述目标对象对应的认证码,其中,所述认证码用于指示多个第一标识信息,所述第二标识信息,以及所述多个设备和所述目标对象位于同一局域网,其中,所述标识信息包括:多个第一标识信息和所述第二标识信息。
8.根据权利要求7所述的装置,其特征在于,所述运算模块,还用于对所述待认证列表中两个相邻的标识信息利用散列函数进行求和处理,以确定所述两个相邻的标识信息的父节点的散列值,其中,待认证列表中的每一个标识信息对应一个子节点;逐级合并所述父节点的散列值,以确定顶端节点的目标散列值的长度,其中,所述目标散列值用于指示所述认证码的长度以及认证码的内容。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6任一项中所述的方法。
CN202110283110.3A 2021-03-16 2021-03-16 认证码的确定方法及装置、存储介质、电子装置 Active CN113065118B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110283110.3A CN113065118B (zh) 2021-03-16 2021-03-16 认证码的确定方法及装置、存储介质、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110283110.3A CN113065118B (zh) 2021-03-16 2021-03-16 认证码的确定方法及装置、存储介质、电子装置

Publications (2)

Publication Number Publication Date
CN113065118A true CN113065118A (zh) 2021-07-02
CN113065118B CN113065118B (zh) 2022-06-14

Family

ID=76560770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110283110.3A Active CN113065118B (zh) 2021-03-16 2021-03-16 认证码的确定方法及装置、存储介质、电子装置

Country Status (1)

Country Link
CN (1) CN113065118B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170070350A1 (en) * 2015-09-03 2017-03-09 Markany Inc. Digital signature service system based on hash function and method thereof
CN107563751A (zh) * 2017-08-09 2018-01-09 江苏通付盾科技有限公司 用户认证方法、装置、计算设备及计算机存储介质
CN108809914A (zh) * 2017-05-05 2018-11-13 国民技术股份有限公司 访问控制方法、装置、终端及物联网家居系统
EP3401865A1 (en) * 2017-05-10 2018-11-14 Coinplug, Inc Method for paying cost of iot device based on blockchain and merkle tree structure related thereto, and server, service providing terminal, and digital wallet using the same
US20190080091A1 (en) * 2017-09-12 2019-03-14 Samsung Electronics Co., Ltd. Method and device for verifying integrity by using tree structure
CN109492378A (zh) * 2018-11-26 2019-03-19 平安科技(深圳)有限公司 一种基于设备识别码的身份验证方法、服务器及介质
CN109561085A (zh) * 2018-11-26 2019-04-02 平安科技(深圳)有限公司 一种基于设备识别码的身份验证方法、服务器及介质
CN110086795A (zh) * 2019-04-28 2019-08-02 中国人民解放军战略支援部队信息工程大学 认证树构建方法及云平台下基于认证树的流安全交换系统
CN110121860A (zh) * 2017-01-03 2019-08-13 华为技术有限公司 基于区块链的数据处理方法、设备和系统
CN110659470A (zh) * 2019-09-23 2020-01-07 四川虹微技术有限公司 离线物理隔离的认证方法及其认证系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170070350A1 (en) * 2015-09-03 2017-03-09 Markany Inc. Digital signature service system based on hash function and method thereof
CN110121860A (zh) * 2017-01-03 2019-08-13 华为技术有限公司 基于区块链的数据处理方法、设备和系统
CN108809914A (zh) * 2017-05-05 2018-11-13 国民技术股份有限公司 访问控制方法、装置、终端及物联网家居系统
EP3401865A1 (en) * 2017-05-10 2018-11-14 Coinplug, Inc Method for paying cost of iot device based on blockchain and merkle tree structure related thereto, and server, service providing terminal, and digital wallet using the same
CN107563751A (zh) * 2017-08-09 2018-01-09 江苏通付盾科技有限公司 用户认证方法、装置、计算设备及计算机存储介质
US20190080091A1 (en) * 2017-09-12 2019-03-14 Samsung Electronics Co., Ltd. Method and device for verifying integrity by using tree structure
CN109492378A (zh) * 2018-11-26 2019-03-19 平安科技(深圳)有限公司 一种基于设备识别码的身份验证方法、服务器及介质
CN109561085A (zh) * 2018-11-26 2019-04-02 平安科技(深圳)有限公司 一种基于设备识别码的身份验证方法、服务器及介质
CN110086795A (zh) * 2019-04-28 2019-08-02 中国人民解放军战略支援部队信息工程大学 认证树构建方法及云平台下基于认证树的流安全交换系统
CN110659470A (zh) * 2019-09-23 2020-01-07 四川虹微技术有限公司 离线物理隔离的认证方法及其认证系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HONGWEI LI ET AL.: "An Efficient Merkle-Tree-Based Authentication Scheme for Smart Grid", 《IEEE SYSTEMS JOURNAL》 *
宋大为: "基于智能家居的身份认证及保密通信研究", 《中国优秀博硕士学位论文全文数据库(硕士)工程科技Ⅱ辑》 *

Also Published As

Publication number Publication date
CN113065118B (zh) 2022-06-14

Similar Documents

Publication Publication Date Title
CN108632056B (zh) 一种智能设备网络配置方法与系统
CN111885585B (zh) 通信业务的开通方法及通信装置
CN108881354B (zh) 一种推送信息存储方法、装置、服务器和计算机存储介质
CN111742531B (zh) 简档信息共享
EP3477561A1 (en) System for goods delivery
CN103152402A (zh) 通过移动终端进行登录的方法与系统以及云端服务器
US20200037119A1 (en) Method for regrouping multiple groups and device
KR20150053927A (ko) 정보의 처리 방법, 우선권 정보의 송신 방법 및 장치
CN104519490A (zh) Wifi连接方法、装置、移动终端及系统
CN105722072A (zh) 一种业务授权方法、装置、系统及路由器
CN112637931A (zh) 建立网络连接的方法及装置
CN112040484A (zh) 密码更新方法及装置、存储介质、电子装置
CN103095735B (zh) 读取sim卡上数据信息的方法、移动终端、云服务器及系统
CN112738025B (zh) 设备控制方法及装置、存储介质、电子装置
WO2014169802A1 (zh) 终端、网络侧设备、终端应用控制方法及系统
CN113259918A (zh) 设备的绑定方法及系统
CN113065118B (zh) 认证码的确定方法及装置、存储介质、电子装置
CN112600744A (zh) 权限控制方法和装置、存储介质及电子装置
CN113099449B (zh) 分布式核心网的鉴权方法和系统、归属签约用户服务器
CN112689006A (zh) 物联网设备控制方法、装置、存储介质及电子装置
CN111131324A (zh) 业务系统的登陆方法及装置、存储介质、电子装置
CN113114465B (zh) 归属权限的处理方法及装置、存储介质、电子装置
CN109729515B (zh) 用于实现机卡绑定的方法、用户识别卡和物联网终端
CN113518317B (zh) 提示信息的发送方法和装置、存储介质及电子装置
CN114025349B (zh) 网络服务方法、装置、系统和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant