本发明涉及网络
技术领域:
:,特别是涉及一种网络认证方法、装置、相应设备及存储介质。
背景技术:
::现有点对点网络中设备间认证方式包括pki(publickeyinfrastructure,公钥基础设施)证书体系和平台分配密钥。现有设备间认证方式存在成本高、管理和维护复杂以及安全性低的问题。例如,采用pki证书体系需要通过ca(certificateauthority,电子商务认证授权机构)中心为每一设备发放数字证书以及对应的公钥和私钥,因而存在需要建设ca中心,并在每一设备中安装证书,成本非常高的问题;同时在通信过程中,一方首先使用ca签名验证对端证书的合法性,验证通过后才能使用对方公钥进行机密信息的传输,因而以ca作为认证的中心,存在管理和维护比较复杂,容易引发系统性风险的问题。又如,采用平台分配密钥需要通过云平台对通信双方认证并分配二者密钥,从而在设备之间的认证需要平台介入,平台对通信双方认证或者分配二者密钥,对平台强依赖;同时平台作为认证体系的核心,一旦出现故障或者遭受攻击,都会影响设备间的有效认证;甚至,当网络出现问题无法连接平台时,也会使认证出现问题。针对现有技术中上述的点对点网络中设备间认证方式存在的问题,本领域未给出有效的解决方案。技术实现要素:为了克服上述缺陷,本发明要解决的技术问题是提供一种网络认证方法、装置、相应设备及存储介质,用以至少提高现有点对点网络中设备间认证方式的安全性。为解决上述技术问题,本发明实施例中的一种网络认证方法包括:赋予和/或撤回联网设备的公钥;在网络的设备区块链中记录相应赋予和/或撤回的公钥。可选地,所述在网络的设备区块链中记录相应赋予和/或撤回的公钥,包括:在所述联网设备加入到所述网络的情况下,在所述设备区块链中添加第一区块;在所述第一区块的交易记录中存储所述赋予的公钥的分配信息;和/或,在对所述联网设备的公钥进行更新或将所述联网设备从所述网络去除的情况下,在所述设备区块链中添加第二区块,在所述第二区块的交易记录中记录所述撤回的公钥的撤回信息。可选地,在对所述联网设备的公钥进行更新时,所述方法还包括:在所述设备区块链中添加第三区块,在所述第三区块的交易记录中记录更新后公钥的分配信息。可选地,所述分配信息包括所述联网设备的身份信息、赋予公钥的管理设备的身份信息和所述赋予的公钥,或者,包括所述联网设备的身份信息、更新公钥的管理设备的身份信息和所述更新后公钥;所述撤回信息包括所述联网设备的身份信息、撤回公钥的管理设备的身份信息和所述撤回的公钥。为解决上述技术问题,本发明实施例中的一种网络认证方法包括:从网络的区块链中查询目标联网设备的公钥;接收所述目标联网设备的签名数据;根据所述公钥和所述签名数据验证所述目标联网设备的身份。可选地,所述从网络的区块链中查询目标联网设备的公钥,包括:根据所述区块链的交易记录,匹配出管理设备最后赋予与所述目标联网设备公钥的区块;在匹配出的区块的交易记录中获取所述目标联网设备的公钥。为解决上述技术问题,本发明实施例中的一种网络认证装置包括:分配模块,用于赋予和/或撤回联网设备的公钥;写入模块,用于在网络的设备区块链中记录相应赋予和/或撤回的公钥。为解决上述技术问题,本发明实施例中的一种网络认证装置包括:查询模块,用于从网络的区块链中查询目标联网设备的公钥;接收模块,用于接收所述目标联网设备的签名数据;验证模块,用于根据所述公钥和所述签名数据验证所述目标联网设备的身份。为解决上述技术问题,本发明实施例中的一种管理设备包括存储器和处理器,所述存储器存储有网络认证程序,所述处理器执行所述计算机程序,以实现如上用于管理设备的任意一项所述方法的步骤。为解决上述技术问题,本发明实施例中的一种联网设备包括存储器和处理器,所述存储器存储有网络认证程序,所述处理器执行所述计算机程序,以实现如上用于联网设备的任意一项所述方法的步骤。为解决上述技术问题,本发明实施例中的一种计算机可读存储介质,其特征在于,所述存储介质存储有第一网络认证程序和/或第二网络认证程序;所述第一网络认证程序可被至少一个处理器执行,以实现如上用于管理设备的任意一项所述方法的步骤;所述第二网络认证程序可被至少一个处理器执行,以实现如上用于联网设备的任意一项所述方法的步骤。本发明有益效果如下:本发明实施例基于区块链的分布式认证,有效提高现有点对点网络中设备间认证方式的安全性;并且不依赖中心节点,避免中心节点性能不足甚至瘫痪带来影响,降低单点攻击带来的安全风险;也不需要中心节点发放数字证书,降低了成本;同时也不需要采用平台分配密钥,从而避免了点对点网络认证对平台的依赖等。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1是本发明实施例一中网络认证方法的流程图;图2是本发明实施例一中为添加的新设备的分配公钥的示意图;图3是本发明实施例一中更新公钥的示意图;图4是本发明实施例二中网络认证方法的流程图;图5是本发明实施例三中网络认证装置的结构示意图;图6是本发明实施例四中网络认证装置的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。使用用于区分元件的诸如“第一”、“第二”等前缀仅为了有利于本发明的说明,其本身没有特定的意义。实施例一本发明实施例提供一种网络认证方法,如图1所示,所述方法包括:s101,赋予和/或撤回联网设备的公钥;s102,在网络的设备区块链中记录相应赋予和/或撤回的公钥。本发明实施例中方法可以在管理设备中执行,其中管理设备可以是管理者代表、平台、移动终端、家庭中控等,其中移动终端可以是手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)、便捷式媒体播放器(portablemediaplayer,pmp)、导航装置、可穿戴设备、智能手环、计步器等。其中,联网设备可以是物联网设备。其中,s101可以包括:检测到所述联网设备加入到所述网络,为所述联网设备分配公钥;和/或,在对所述联网设备的公钥进行更新或将所述联网设备从所述网络去除时,撤回所述联网设备的公钥。在本发明实施例中网络的设备区块链可以由网络中各个联网设备的区块链构成,区块链实现了两种记录交易(transactions)以及区块(blocks),其中交易是被存储在区块链上的实际数据,而区块则是记录确认某些交易是在何时,以及以何种顺序成为区块链数据库的一部分。每个联网设备的区块链是由一个个区块组成,区块很像数据库的记录,每次写入数据,就是创建一个区块。本发明实施例基于区块链的分布式认证,不依赖中心节点,避免中心节点性能不足甚至瘫痪带来影响,降低单点攻击带来的安全风险;不需要中心节点发放数字证书,降低了成本;同时也不需要采用平台分配密钥,从而避免了点对点网络认证对平台的依赖等。在本发明实施例的一些实施方式中,所述在网络的设备区块链中记录相应赋予和/或撤回的公钥,可以包括:在所述联网设备加入到所述网络的情况下,在所述设备区块链中添加第一区块;在所述第一区块的交易记录中存储所述赋予的公钥的分配信息;和/或,在对所述联网设备的公钥进行更新或将所述联网设备从所述网络去除的情况下,在所述设备区块链中添加第二区块,在所述第二区块的交易记录中记录所述撤回的公钥的撤回信息。其中,在对所述联网设备的公钥进行更新时,所述方法还包括:在所述设备区块链中添加第三区块,在所述第三区块的交易记录中记录更新后公钥的分配信息。其中,所述分配信息可以包括所述联网设备的身份信息、赋予公钥的管理设备的身份信息和所述赋予的公钥,或者,包括所述联网设备的身份信息、更新公钥的管理设备的身份信息和所述更新后公钥;所述撤回信息包括所述联网设备的身份信息、撤回公钥的管理设备的身份信息和所述撤回的公钥。也就是说,本发明实施例中区块链的交易记录为设备的公钥信息,区块则为设备公钥的信任记录;由于区块链具有交易记录防篡改能力,能够保证存储的公钥的可信性。例如,以物联网设备为例,如图2所示,物联网设备(简称设备)中的安全功能模块负责各个设备之间互相认证、协商密钥、数据加密等安全能力。在设备互相认证时,安全功能模块调用设备中的区块链模块,查询对方设备的公钥。接收到对方的签名数据时,根据对方公钥做验证签名,完成对对方身份的确认。验证身份后,根据对方公钥做数据加密,完成密钥协商。其中,设备区块链中每一区块的交易信息都记录了设备的身份信息devx。该身份信息可以是设备的uuid、mac地址或者ip地址等能够标识设备身份的数据。区块的交易信息还记录了设备被赋予或撤回的公钥,表示为pubkey_devx,与设备存储的私钥相对应。点对点网络中添加新设备与更新设备证书时,可以包括:1.添加新设备:网络中添加新设备devp后,admin(管理者代表,可以是平台、手机终端、家庭中控等,一般由该设备产生密钥并分发)为设备devp分配密钥,如图2所示,并将密钥中的公钥记录为区块,增加到区块链中。增加的区块包含这样一条记录:admin将pubkey_devp(devp的公钥,为一串随机字符串,长度由使用的密码算法决定)转给devp;该记录即为公钥的分配信息,包括了所述联网设备的身份信息、赋予公钥的管理设备的身份信息和所述赋予的公钥,以及还可以包括公钥的赋予方向(图中箭头)。2.密钥更新:admin更新设备devq的密钥,用新分配的密钥替代原来的密钥,并在区块链中增加2个区块记录,如图3所示,第一个区块记录:devq将pubkey_devq1(撤回的公钥)转给admin,该记录为公钥的撤回信息,包括所述联网设备的身份信息、撤回公钥的管理设备的身份信息和所述撤回的公钥,以及还可以包括公钥的撤回方向(图中箭头)。第二个区块记录:admin将pubkey_devq2(更新后公钥)转给devq,该记录为更新后公钥的分配信息,包括所述联网设备的身份信息、更新公钥的管理设备的身份信息和所述更新后公钥,以及还可以包括更新后公钥的赋予方向。基于上述的设备添加和密钥更新,在一个设备查询目标联网设备公钥时,可以根据区块链存储的交易记录,得到目标联网设备最后的交易结果pubkey_devq2,即为更新后公钥。也就是说,本发明实施例中将设备身份信息、公钥记录在区块链的区块中,由区块链交易结果得到设备的公钥;具体地,在新设备加入后,在区块链末尾增加该设备的区块记录,在设备公钥更新时,在区块链末尾增加两个用于密钥变更记录的区块,从而可以有效提高点对点网络中设备间认证方式的安全性。实施例二本发明实施例提供一种网络认证方法,如图4所示,所述方法包括:s201,从网络的区块链中查询目标联网设备的公钥;s202,接收所述目标联网设备的签名数据;s203,根据所述公钥和所述签名数据验证所述目标联网设备的身份。其中,所述从网络的区块链中查询目标联网设备的公钥,可以包括:根据所述区块链的交易记录,匹配出管理设备最后赋予与所述目标联网设备公钥的区块;在匹配出的区块的交易记录中获取所述目标联网设备的公钥。本发明实施例基于区块链的分布式认证,不依赖中心节点,避免中心节点性能不足甚至瘫痪带来影响,降低单点攻击带来的安全风险;不需要中心节点发放数字证书,降低了成本;同时也不需要采用平台分配密钥,从而避免了点对点网络认证对平台的依赖等。实施例三本发明实施例提供一种网络认证装置,如图5所示,所述装置包括:分配模块10,用于赋予和/或撤回联网设备的公钥;写入模块12,用于在网络的设备区块链中记录相应赋予和/或撤回的公钥。其中,写入模块12,具体用于在所述联网设备加入到所述网络的情况下,在所述设备区块链中添加第一区块;在所述第一区块的交易记录中存储所述赋予的公钥的分配信息;和/或,在对所述联网设备的公钥进行更新或将所述联网设备从所述网络去除的情况下,在所述设备区块链中添加第二区块,在所述第二区块的交易记录中记录所述撤回的公钥的撤回信息。其中,写入模块12在对所述联网设备的公钥进行更新时,还具体用于在所述设备区块链中添加第三区块,在所述第三区块的交易记录中记录更新后公钥的分配信息。可选地,所述分配信息包括所述联网设备的身份信息、赋予公钥的管理设备的身份信息和所述赋予的公钥,或者,包括所述联网设备的身份信息、更新公钥的管理设备的身份信息和所述更新后公钥;所述撤回信息包括所述联网设备的身份信息、撤回公钥的管理设备的身份信息和所述撤回的公钥。本发明实施例为实施例一的装置实施例,在具体实现时可以参阅实施例一,具有相应的技术效果。实施例四本发明实施例提供一种网络认证装置,如图6所示,所述装置包括:查询模块20,用于从网络的区块链中查询目标联网设备的公钥;接收模块22,用于接收所述目标联网设备的签名数据;验证模块24,用于根据所述公钥和所述签名数据验证所述目标联网设备的身份。其中,查询模块20,具体用于根据所述区块链的交易记录,匹配出管理设备最后赋予与所述目标联网设备公钥的区块;在匹配出的区块的交易记录中获取所述目标联网设备的公钥。本发明实施例为实施例二的装置实施例,在具体实现时可以参阅实施例二,具有相应的技术效果。实施例五本发明实施例提供一种管理设备,所述设备包括存储器和处理器,所述存储器存储有网络认证程序,所述处理器执行所述计算机程序,以实现如权利要求实施例一中任意一项所述方法的步骤。实施例六本发明实施例提供一种联网设备,所述设备包括存储器和处理器,所述存储器存储有网络认证程序,所述处理器执行所述计算机程序,以实现如实施例二中任意一项所述方法的步骤。实施例七本发明实施例提供一种计算机可读存储介质,所述存储介质存储有第一网络认证程序和/或第二网络认证程序;所述第一网络认证程序可被至少一个处理器执行,以实现如实施例一中任意一项所述方法的步骤;所述第二网络认证程序可被至少一个处理器执行,以实现如实施例二中任意一项所述方法的步骤。其中,实施例五至实施例七在具体实现时,可以参阅上述相应的实施例,具有具有相应的技术效果。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。当前第1页12当前第1页12