硬件产品防伪溯源方法、节点设备及系统与流程

文档序号:16060767发布日期:2018-11-24 12:09阅读:328来源:国知局

本发明涉及区块链技术领域,特别涉及一种硬件产品防伪溯源方法、节点设备及系统。

背景技术

随着互联网的普及,计算机和手机等硬件终端已然成为人们生活和工作必不可少的工具,但同时由于硬件终端的硬件供应信息没有被正确便捷公开,常常会使得用户(或下游集成方)购买到的硬件终端中存在伪造的硬件零部件。

目前,在追溯硬件供应链方面的信息时,存在如下问题:

硬件的用户需要验证该硬件来源是否正宗,以及该硬件的零部件的供应是否正宗,例如电脑厂商组装整机时采购了上游供应商提供的显卡设备,而该显卡设备又依赖于其上游供应商提供的显存、gpu等元器件。如果显存有以次充好、中间环节调包等问题,但仍能够在短时间内保持真货的性能,则这种问题将很难被下游生产者或消费者发现。

另外,目前主流的信息记录途径主要局限于印刷标签、包装袋、硬件rfid等能够被简单复制的存储介质上,而这种存储介质与需要被保护的产品没有实体关系。例如在产品的包装袋上印刷二维码、条码等,并不能保证该二维码、条码不被转移、重复用于其它同类产品上,也不能保证包装袋里的产品就是原本应该被保护的原产品本身。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种硬件产品防伪溯源方法、节点设备及系统。硬件的签名直接存储在硬件内,通过对零部件的签名验证,形成硬件级的防篡改、可追溯的信任链。基于区块链去中心化、不可篡改、可追溯的特性,能够实现安全、可靠、可信赖、自动化地对硬件产品进行防伪溯源,同时能减少硬件产品溯源的成本和冗余工作。

本发明实施例采用的技术方案如下:

第一方面,提供了一种硬件产品防伪溯源方法,所述方法包括:

由接入区块链的多级节点生成各自的私钥和公钥,并分别存储各自的所述私钥及广播各自的所述公钥,其中,所述多级节点中相邻的两级节点互为上游节点和下游节点;

由所述区块链中除第一级节点之外的任意的节点,执行以下操作:

获取经由相邻的上游节点使用自身的私钥签名产生的硬件产品a的签名和所述硬件产品a的交易信息的签名,其中,所述硬件产品a的签名被直接写入在所述硬件产品a内;

使用所述上游节点的公钥,对所述硬件产品a的签名和所述硬件产品a的交易信息的签名分别进行验签;

若均通过验签,则使用所述节点自身的私钥将所述硬件产品a的交易信息进行重新签名并发布至所述区块链;以及

使用所述节点自身的私钥签名产生硬件产品b的签名,并将所述硬件产品b的签名直接写入所述硬件产品b内,其中,所述硬件产品a被配置于所述硬件产品b上。

在一些实施例中,若所述节点存在相邻的下游节点时,所述方法还包括:

使用所述节点自身的私钥签名产生所述硬件产品b的交易信息的签名,并将所述硬件产品b的交易信息的签名发送给所述下游节点,以使所述下游节点使用所述节点的公钥,对所述硬件产品b的签名和所述硬件产品b的交易信息的签名分别进行验签。

在一些实施例中,若所述节点为所述区块链的末级节点时,所述方法还包括:

由所述节点将所述硬件产品b的溯源信息写入web接口,以供用户进行查询所述溯源信息。

在一些实施例中,所述由接入区块链的多级节点生成各自的私钥和公钥包括:

基于预设的椭圆曲线参数生成所述多级节点各自的私钥和公钥。

在一些实施例中,所述硬件产品a的签名是基于对由所述硬件产品a的产品信息和配置于所述硬件产品a上的多个硬件各自的签名所形成的序列化信息进行签名而产生的,所述使用所述上游节点的公钥,对所述硬件产品a的签名进行验签包括:

使用所述上游节点的公钥解签所述硬件产品a的签名,获得解签结果;

对所述硬件产品a的产品信息和实际配置于所述硬件产品a上的多个硬件各自的签名进行序列化,得到实际序列化信息;

比较所述解签结果与所述实际序列化信息,若一致,则验签通过,否则,验签不通过。

在一些实施例中,所述使用所述节点自身的私钥签名产生硬件产品b的签名包括:

对由所述硬件产品b的产品信息和配置于所述硬件产品b上的包括所述硬件产品a在内的多个硬件产品各自的签名所形成的序列化信息进行签名,产生所述硬件产品b的签名。

在一些实施例中,所述区块链还接入有监管节点,所述方法还包括:

若所述硬件产品a的签名和/或所述硬件产品a的交易信息的签名未通过验签时,则由所述节点发送验签失败信息至所述监管节点。

在一些实施例中,所述方法还包括:

由所述节点与所述区块链的其他节点基于区块链同步技术和共识机制,对发布在所述区块链中的硬件产品的签名和硬件产品交易信息的签名进行合法性验证。

在一些实施例中,所述共识机制包括:

在预设的共识时间点处,由所述联盟链的节点对上一个所述共识时间点之前的一时间段内所有未确认的消息按时间进行排序,并对排序后的消息进行哈希运算,得到哈希值;以及

将所述哈希值广播至所述联盟链的其他节点,当超过预设数目的所述其他节点接收到的哈希值一致时,完成共识。

第二方面,提供了一种节点设备,所述节点设备与其他节点设备构成多级节点设备共同接入至区块链,所述多级节点设备中相邻的两级节点设备互为上游节点设备和下游节点设备,所述节点设备包括:

生成模块,用于生成所述节点设备自身的私钥和公钥,并存储自身的私钥及广播所述公钥:

获取模块,用于获取经由相邻的上游节点设备使用所述上游节点设备的私钥签名产生的硬件产品a的签名和所述硬件产品a的交易信息的签名,其中,所述硬件产品a的签名被直接写入在所述硬件产品a内;

验签模块,用于使用所述上游节点设备的公钥,对所述硬件产品a的签名和所述硬件产品a的交易信息的签名分别进行验签;

签名模块,用于若均通过验签,则使用所述节点设备自身的私钥将所述硬件产品a的交易信息进行重新签名并发布至所述区块链;以及

所述签名模块,还用于使用所述节点设备自身的私钥签名产生硬件产品b的签名;

写入模块,用于将所述硬件产品b的签名直接写入所述硬件产品b内,其中,所述硬件产品a被配置于所述硬件产品b上。

在一些实施例中,若所述节点设备存在相邻的下游节点设备时,所述签名模块还用于:

使用所述节点设备自身的私钥签名产生所述硬件产品b的交易信息的签名;

所述节点设备还包括:

第一发送模块,用于并将所述硬件产品b的交易信息的签名发送给所述下游节点设备,以使所述下游节点使用所述节点设备的公钥,对所述硬件产品b的签名和所述硬件产品b的交易信息的签名分别进行验签。

在一些实施例中,若所述节点设备为所述区块链的末级节点设备时,所述写入模块具体还用于:

将所述硬件产品b的溯源信息写入web接口,以供用户进行查询所述溯源信息。

将所述硬件产品b的溯源信息写入web接口,以供用户进行查询所述溯源信息。

在一些实施例中,所述生成模块具体用于:

基于预设的椭圆曲线参数生成所述节点设备自身的私钥和公钥。

在一些实施例中,所述硬件产品a的签名是基于对由所述硬件产品a的产品信息和配置于所述硬件产品a上的多个硬件各自的签名所形成的序列化信息进行签名而产生的,所述验签模块具体用于:

使用所述上游节点的公钥解签所述硬件产品a的签名,获得解签结果;

对所述硬件产品a的产品信息和实际配置于所述硬件产品a上的多个硬件各自的签名进行序列化,得到实际序列化信息;

比较所述解签结果与所述实际序列化信息,若一致,则验签通过,否则,验签不通过。

在一些实施例中,所述签名模块具体用于:

对由所述硬件产品b的产品信息和配置于所述硬件产品b上的包括所述硬件产品a在内的多个硬件产品各自的签名所形成的序列化信息进行签名,产生所述硬件产品b的签名。

在一些实施例中,所述区块链还接入有监管节点设备,所述节点设备还包括:

第二发送模块,用于若所述硬件产品a的签名和/或所述硬件产品a的交易信息的签名未通过验签时,则发送验签失败信息至所述监管节点设备。

在一些实施例中,所述节点设备还包括:

合法性验证模块,用于与所述区块链的其他节点设备基于区块链同步技术和共识机制,对发布在所述区块链中的硬件产品的签名和硬件产品交易信息的签名进行合法性验证。

在一些实施例中,所述合法性验证模块具体用于:

在预设的共识时间点处,对上一个所述共识时间点之前的一时间段内所有未确认的消息按时间进行排序,并对排序后的消息进行哈希运算,得到哈希值;

将所述哈希值广播至所述区块链的其他节点设备,当超过预设数目的所述其他节点设备接收到的哈希值一致时,完成共识。

第三方面,提供了一种节点设备,包括:

存储器;以及

耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的程序,执行如第一方面中任一所述的硬件产品防伪溯源方法的步骤。

第四方面,提供了一种硬件产品防伪溯源系统,包括:

区块链;

至少一个第一节点,被配置为所述区块链中的第一级节点;

至少一个第二节点,被配置为所述区块链中的除所述第一级节点之外的节点;

所述第二节点包括第二方面中任一所述的节点设备。

本发明实施例提供一种硬件产品防伪溯源方法、节点设备及系统,该方法基于区块链,由于区块链的去中心化、不可篡改、可追溯的特性与硬件供应链具有十分适配的特征,因此可以通过由下游节点对相邻的上游节点的签名进行验签,使得下游节点可以作为上游节点的质检部门,从而能够有效打击造假行为,同时,由于区块链去中心化、不可篡改、可追溯的特性,能够实现安全、可靠、可信赖、自动化地对硬件产品进行防伪溯源,以及能减少硬件产品溯源的成本和冗余工作。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种硬件产品防伪溯源方法的流程图;

图2是本发明实施例提供的电脑产品防伪溯源方法的流程图;

图3是本发明实施例提供的一种节点设备的框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在对本发明提供的硬件产品防伪溯源方法进行说明之前,先对本发明各个实施例所涉及的应用场景进行介绍。

首先,对区块链进行介绍,区块链是一种按照时间顺序将不同的数据通过头部装载不同hash值连接在一起的一种链式数据结构,并通过密码学的知识保证其不可篡改和不可伪造的特性而形成的一种分布式账本。广义上,区块链技术就是利用公开的链式数据结构来存储和验证重要数据、利用分布式节点和统一的共识机制来生成区块数据、利用密码学的知识保证数据传输和访问的安全和防篡改的特性、其链式结构又可供交易数据的追溯、并且可以通过自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。

关于联盟链,联盟链又称共同体区块链(consortiumblockchains),是指其共识过程受到预选节点控制的区块链。例如,一个有多个芯片厂商、集成硬件厂商和电脑厂商组成的共同体,每个厂商都运行着一个节点,而且为了使每个区块生效需要获得其中大多数的厂商的确认,区块链或许允许每个厂商都可读取,或者只受限于参与者,或走混合型路线,例如区块的根哈希及其api(应用程序接口)对外公开,api可允许外界用来作有限次数的查询和获取区块链状态的信息,这些区块链可视为“部分去中心化”。

本发明公开的各个实施例所涉及的应用场景可以是一种硬件产品防伪溯源系统,该系统基于区块链,可以至少包括:区块链和多级节点,该区块链和多级节点属于同一区块链网络,其中,多级节点中相邻的两级节点互为上游节点和下游节点,上游节点和下游节点可以通过网络进行数据通信。其中,需要防伪溯源的硬件产品可以是各种具有数据处理功能的硬件终端产品及其内部的各种芯片、集成硬件等硬件元器件。

实施例一

图1是本发明实施例提供的一种硬件产品防伪溯源方法的流程图,参照图1所示,方法包括步骤:

101、由接入区块链的多级节点生成各自的私钥和公钥,并分别存储各自的私钥及广播各自的公钥。

在本实施例中,多级节点包括至少两级节点,多级节点中相邻的两级节点互为上游节点和下游节点。其中,多级节点分别一一对应供应链包括的多个环节,多级节点由联盟链共同体内的不同厂商运行的。

其中,多级节点可以由联盟链共同体内的芯片厂商、集成硬件厂商、硬件终端厂商分别运行的,其中,芯片厂商与集成硬件厂商互为上游与下游关系、集成硬件厂商与硬件终端厂商互为上游与下游关系。可以理解的是,芯片厂商可以有多个,比如芯片厂商a1、芯片厂商a2…芯片厂商an,各个芯片厂商均是集成硬件厂商的上游厂商。

其中,由接入区块链的多级节点生成各自的私钥和公钥,该过程可以包括:

基于预设的椭圆曲线参数生成多级节点各自的私钥和公钥。

具体来说,各厂商协定预设的椭圆曲线参数通过各自接入区块链的节点设备公布在区块链上,然后由各个节点设备生成各自对应的私钥-公钥对,并各自安全存储各自的私钥,广播各自的公钥至区块链。其中,节点设备包括但不限于个人计算机、台式计算机等终端设备,在本实施例的下文中以“节点”来指代“节点设备”。

作为一个优选方案,可以以国密sm2算法作为预设的椭圆曲线参数。

由于国密算法sm2是采用了椭圆曲线域上的算法,从安全性上比rsa加密算法更近一步,并用来在商用密码体系中替换rsa,sm2中的签名验签模块也十分匹配区块链的特性,其签名原始数据量长度无限制,签名结果为64字节,因此可大大减少区块链数据量的开销。sm2相比于rsa除了安全性上更胜一筹,在签名的速度上也比rsa要快,对于交易信息可以更快上链更快被确认,由于sm2主要采用了椭圆曲线域上的算法,相较之下密钥的规模也小了很多。

102、由节点n获取经由相邻的上游节点m使用自身的私钥签名产生的硬件产品a的签名和硬件产品a的交易信息的签名,其中,硬件产品a的签名被直接写入在硬件产品a内,节点n为区块链中除第一级节点之外的节点。

其中,若上游节点m属于第一级节点,那么硬件产品a的签名可以是上游节点m基于对硬件产品a的产品信息进行私钥签名产生的,硬件产品a的产品信息可以是产品型号、编号等信息。若上游节点m不属于第一级节点,那么硬件产品a的签名是上游节点m基于对由硬件产品a的产品信息和配置于硬件产品a上的多个硬件各自的签名所形成的序列化信息进行签名而产生的,其中,多个硬件是由上游节点m的上游节点制造的,相对应的,多个硬件各自的签名是由上游节点m的上游节点使用自身私钥签名产生的。

无论上游节点m是否属于第一级节点,硬件产品a的交易信息的签名均可以是基于对硬件产品a交易信息进行私钥签名产生的,其中,硬件产品a交易信息可以包含节点n与节点m针对交易硬件产品a进行交易的交易方名称、交易时间、金额等相关信息。

在本实施例中,针对联盟链共同体内的芯片厂商、集成硬件厂商、硬件终端厂商来说,区块链中的第一级节点对应芯片厂商,节点n可以对应集成硬件厂商,也可以对应电脑厂商。

若节点n对应集成硬件厂商,其上游节点m则对应芯片厂商,硬件产品a则为芯片产品,在芯片厂商与集成硬件厂商针对芯片产品进行协商交易后,芯片厂商会对芯片产品信息使用芯片厂商自身的私钥进行签名,产生的签名并被直接记录在芯片产品内部,并将芯片产品对应的交易信息使用自身的私钥签名产生交易信息签名发送给集成硬件厂商。在集成硬件厂商购入芯片产品后,可以读取到芯片产品内的签名。

若节点n对应硬件终端厂商,其上游节点m则对应集成硬件厂商,硬件产品a则为集成硬件产品,在集成硬件厂商与硬件终端厂商针对芯片产品进行协商交易后,集成硬件厂商会对集成硬件产品信息使用集成硬件厂商自身的私钥进行签名,产生的签名并被直接记录在集成硬件产品内部,并将集成硬件产品对应的交易信息使用自身的私钥签名产生交易信息签名发送给硬件终端厂商。在硬件终端厂商购入集成硬件产品后,可以读取到集成硬件产品内的签名。

103、由节点n使用上游节点m的公钥,对硬件产品a的签名和硬件产品a的交易信息的签名分别进行验签。

其中,若上游节点m属于第一级节点,硬件产品a的签名是基于对硬件产品a的产品信息进行私钥签名产生的,那么在节点n对硬件产品a的签名进行验签时,可以直接使用上游节点m的公钥解签硬件产品a的签名得到硬件产品a的产品信息,若比较硬件产品a的产品信息与硬件产品a的实际的产品信息一致时,则验签通过,否则,验签不通过。

其中,若上游节点m不属于第一级节点,硬件产品a的签名是基于对由硬件产品a的产品信息和配置于硬件产品a上的多个硬件各自的签名所形成的序列化信息进行签名而产生的。那么节点n使用上游节点m的公钥,对硬件产品a的签名进行验签,该过程可以包括:

由节点n使用上游节点m的公钥解签硬件产品a的签名,获得解签结果,对硬件产品a的产品信息和实际配置于硬件产品a上的多个硬件各自的签名进行序列化,得到实际序列化信息;以及比较解签结果与实际序列化信息,若一致,则验签通过,否则,验签不通过。

由于配置在硬件产品上的多个硬件各自的签名会直接影响硬件产品的签名,所以一旦零部件遭到掉包,在验证硬件产品的签名时会得到与硬件产品的签名不一致的结果。即,如果产品内部记录的产品签名,和通过所有零部件签名计算出的产品签名不一致时,则一定有零部件被掉包。

此外,无论上游节点m是否属于第一级节点,节点n均可以通过直接使用上游节点m的公钥解签对硬件产品a的交易信息的签名,得到硬件产品a的交易信息,并根据硬件产品a的交易信息与实际交易信息的比较结果,来实现对硬件产品a的交易信息的签名进行验签的过程。

104、若均通过验签,则由节点n使用自身的私钥将硬件产品a的交易信息进行重新签名并发布至区块链。

本实施例中,若硬件产品a产品的签名和硬件产品a的交易信息的签名均通过验签时,则节点n使用自身的私钥将硬件产品a的交易信息进行重新签名并发布至区块链。

需要说明的是,若硬件产品a的签名和/或硬件产品a的交易信息的签名未通过验签时,则由节点n发送验签失败信息至区块链中的监管节点,以便使监管节点对应的监管部门对硬件产品a进行核实处理。

本发明实施例中,通过由下游节点对相邻的上游节点生成的签名进行验签,使得下游厂商可以作为上游厂商的质检部门,当下游节点经过检测发现质量问题,如果质量问题发生在邻接的上游厂商,则会直接与其协商处理,如果质量问题发生在更上游的厂商,也可以通过追溯签名信息和链上的数据来判断是哪个环节出现问题,方便追责,进而能够有效防范、打击造假行为。

105、由节点n使用自身的私钥签名产生硬件产品b的签名,并将所述硬件产品b的签名直接写入所述硬件产品b内,其中,硬件产品a被配置于硬件产品b上。

其中,节点n使用节点n自身的私钥签名产生硬件产品b的签名,包括:

对硬件产品b的产品信息和配置于硬件产品b上的包括硬件产品a在内的多个硬件产品各自的签名进行序列化,形成序列化信息,对形成的序列化信息进行签名,产生硬件产品b的签名。其中,多个硬件产品各自的签名分别由对应的上游节点及更上游节点使用自身私钥签名而产生的。

硬件产品b的签名内容会包含到硬件产品b本身的参数信息和配置在硬件产品b上所有的需要被追溯的零部件的签名信息。在签名时,将这些信息通过既定的序列化方式整理排序后,形成序列化信息,对这个序列化信息整体进行签名后将签名写入硬件并发布到区块链上,优选地,基于sm2进行签名。

示例性的,若硬件产品b为集成硬件产品,其是基于多个芯片产品生产制造的。如,硬件产品b为电脑产品的主板,其包括北桥芯片、南桥芯片、声卡芯片、网卡芯片、i/o控制芯片等芯片产品。那么,在签名时,会对主板参数信息和北桥芯片、南桥芯片、声卡芯片、网卡芯片、i/o控制芯片各自的签名信息通过既定的序列化方式整理排序后,形成序列化信息,然后对序列化信息整体进行签名后将签名写入主板内。

在本发明实施例中,上述的各硬件产品的签名会被直接写入硬件产品中成为硬件产品的一部分。其形式包括但不限于写入硬件本身自带的只读存储器、可编程只读存储器、可擦写可编程只读存储器、带电可擦可编程只读存储器及存储保留区等。目前大部分核心硬件都有存储器可以用来保存例如cpuid、smart、motherboardid等信息,而sm2签名长度本身仅为64字节,非常适合存储在硬件本体内。

硬件产品的签名内容主要包含硬件本身的参数信息和板上所有需要被追溯的零部件的签名信息。签名时,将这些信息通过既定的序列化方式整理排序后,对这个整体进行sm2签名后将签名写入硬件并发布到区块链上。

本发明实施例中,通过将硬件产品的签名直接写入硬件产品内,由于签名中包含了所有被保护零部件的签名信息,如果复制签名,该假冒产品需要保证板上的所有被保护零部件的签名都与真品吻合,而这又牵涉到更上游的零部件供应商,造假成本与真品相当,甚至高于真品,因此使得造假者无法通过复制签名、一号多卖的方式将自己的假冒产品合法化。此外,由于签名直接写在硬件上,更换签名会直接导致签名所绑定的硬件零部件不能通过验证(例如将一块使用了假冒芯片的显卡的签名换成真品签名,则下游系统在验证显卡时会即时发现货不对板的情况,即,通过板上的芯片和其它部件计算出的内容与实际被签名的内容不符),因此也实现了造假者无法伪造签名达到标物不符的目的。

需要说明的是,若节点n的上游节点m不属于区块链的第一级节点时,上游节点m在使用自身的私钥签名产生硬件产品a的签名和硬件产品a交易信息签名之前,则针对上游节点m会执行步骤102至步骤104的过程,即上游节点m会对其更上游节点私钥签名产生的硬件产品的签名和硬件产品交易信息的签名进行验签。

进一步地,若节点n存在相邻的下游节点时,方法还包括:

由节点n使用自身的私钥签名产生硬件产品b的交易信息的签名,并将硬件产品b的交易信息的签名发送给下游节点,以使下游节点使用节点n的公钥,对硬件产品b的签名和硬件产品b的交易信息的签名分别进行验签。

如此,可以使得节点n的下游节点对其签名过的产品签名和交易信息签名进行验签,进而使得节点n的下游厂商可以作为节点n的质检部门。

进一步地,若节点n为区块链的末级节点时,方法还包括:

由节点n将硬件产品b的溯源信息写入web接口,以供用户进行查询溯源信息。

如此,不但能够减轻厂商录入验证交易和产品信息的负担,而且也能够让消费者方便快速查询电脑中硬件的真伪。

进一步地,方法还包括:

由节点n与区块链的其他节点基于区块链同步技术和共识机制,对发布在区块链中的硬件产品的签名和硬件产品交易信息的签名进行合法性验证。

具体的,各节点作为区块链的维护方和验证方,有义务对每一笔在区块链上的交易信息和产品信息进行合法性验证。各个节点接收各自厂商提交的信息,并且可以选择将这些信息中继出去,使得网络中大部分节点都可以共享这些需要被提交到区块链上的信息,由共享这些信息的各个节点(或某个被选出的领袖节点)验证手上收到的所有信息的合法性。如果存在造假、一号多卖的现象,该节点在打包区块时就会发现该信息已经存在于既有的区块链上,从而拒绝该笔交易信息。各个节点(或某个被选出的领袖节点)对本轮可以被打包进区块的信息进行工作量证明,进行签名后广播到其余各个节点,并由各个节点验证该区块是否合法,若该区块被大多数节点验证合法,该区块将成为区块链中的一个新的区块。

进一步地,共识机制包括:

在预设的共识时间点处,由区块链的节点对上一个共识时间点之前的一时间段内所有未确认的消息按时间进行排序,并对排序后的消息进行哈希运算,得到哈希值;以及

将哈希值广播至区块链的其他节点,当超过预设数目的其他节点接收到的哈希值一致时,完成共识。

由于上述的共识机制基于联盟链,不用太过担心节点的安全性且各节点的计算机拥有相同的世界时间,因此相比较于pow共识算法(proofofwork)存在的消耗大量计算机资源,并且交易速度慢至不足10个/秒的问题,上述的共识机制既不存在计算资源过度消耗的问题,也能够大幅提升区块链消息确认的速度。

本发明实施例提供一种硬件产品防伪溯源方法,该方法通过由下游节点对相邻的上游节点生成的签名进行验签,使得下游厂商可以作为上游厂商的质检部门,当下游节点经过检测发现质量问题,如果质量问题发生在邻接的上游厂商,则会直接与其协商处理,如果质量问题发生在更上游的厂商,也可以通过追溯签名信息和链上的数据来判断是哪个环节出现问题,方便追责,进而能够有效防范、打击造假行为;同时,由于区块链去中心化、不可篡改、可追溯的特性,能够实现安全、可靠、可信赖、自动化地对硬件产品进行防伪溯源,以及能减少硬件产品溯源的成本和冗余工作。

下面将结合具体应用实例描述根据本实施例的硬件产品防伪溯源方法。该应用实例用于对电脑产品进行防伪溯源,在电脑产品供应链上可以包括三个环节,即芯片厂商、集成硬件厂商、电脑厂商,各环节的厂商各提供一节点接入至区块链。

图2是本发明实施例提供的电脑产品防伪溯源方法的流程图,如图2所示,以电脑产品防伪溯源过程为例,对本申请上述实施例的一种应用场景下的示例进行描述如下:

201、厂商协商需要的椭圆曲线参数,发布到区块链上。

202、芯片厂商、集成硬件厂商、电脑厂商生成自己对应的私钥,将公钥发布到区块链上。

203、芯片厂商和集成硬件厂商协商要交易的产品信息,由芯片厂商将芯片产品信息使用私钥签名记录在产品内部,将交易信息使用私钥签名发送给集成硬件厂商。

204、集成硬件厂商验证芯片产品内部的产品信息(验签),并验证交易信息签名,均验证成功后将交易信息签名后发布到区块链上,否则,提交给质检部处理。

205、集成硬件厂商和电脑厂商协商要交易的产品信息,由集成硬件厂商对集成硬件产品的产品信息及集成硬件产品上的所有芯片各自的签名进行序列化,之后使用私钥签名记录在产品内部,将交易信息使用私钥签名发送给集成硬件厂商。

206、电脑厂商验证集成硬件产品内部的签名信息(验签),并验证交易信息签名,均验证成功后将交易信息签名后发布到区块链上,否则,提交给质检部处理。

207、电脑厂商组装电脑销售,需要对电脑上的产品信息及集成硬件产品上的所有硬件各自的签名进行序列化,之后进行私钥签名记录在电脑内部,并最终发布电脑产品信息到区块链上。

208、由电脑厂商负责将联盟链的信息写入web接口供消费者随时查询。

本发明实施例通过上述的电脑产品的防伪溯源过程,能够由下游厂商对相邻的上游厂商的签名进行验签,能够有效打击造假行为,促进产业良好发展。

实施例二

图3是本发明实施例提供的一种节点设备的结构框图。本发明实施例提供的节点设备与其他节点设备构成多级节点设备共同接入至区块链,多级节点设备中相邻的两级节点设备互为上游节点设备和下游节点设备,请参考图3,该节点设备包括:

生成模块31,用于生成节点设备自身的私钥和公钥,并存储自身的私钥及广播公钥:

获取模块32,用于获取经由相邻的上游节点设备使用上游节点设备的私钥签名产生的硬件产品a的签名和硬件产品a的交易信息的签名,其中,硬件产品a的签名被直接写入在硬件产品a内;

验签模块33,用于使用上游节点设备的公钥,对硬件产品a的签名和硬件产品a的交易信息的签名分别进行验签;

签名模块34,用于若均通过验签,则使用节点设备自身的私钥将硬件产品a的交易信息进行重新签名并发布至区块链;以及

签名模块34,还用于使用节点设备自身的私钥签名产生硬件产品b的签名;

写入模块35,用于将硬件产品b的签名直接写入硬件产品b内,其中,硬件产品a被配置于硬件产品b上。

在一些实施例中,若节点设备存在相邻的下游节点设备时,签名模块34还用于:

使用节点设备自身的私钥签名产生硬件产品b的交易信息的签名;

节点设备还包括:

第一发送模块36,用于并将硬件产品b的交易信息的签名发送给下游节点设备,以使下游节点使用节点设备的公钥,对硬件产品b的签名和硬件产品b的交易信息的签名分别进行验签。

在一些实施例中,若节点设备为区块链的末级节点设备时,写入模块35具体还用于:

将硬件产品b的溯源信息写入web接口,以供用户进行查询溯源信息。

在一些实施例中,生成模块31具体用于:

基于预设的椭圆曲线参数生成节点设备自身的私钥和公钥。

在一些实施例中,硬件产品a的签名是基于对由硬件产品a的产品信息和配置于硬件产品a上的多个硬件各自的签名所形成的序列化信息进行签名而产生的,验签模块33具体用于:

使用上游节点的公钥解签硬件产品a的签名,获得解签结果;

对硬件产品a的产品信息和实际配置于硬件产品a上的多个硬件各自的签名进行序列化,得到实际序列化信息;

比较解签结果与实际序列化信息,若一致,则验签通过,否则,验签不通过。

在一些实施例中,签名模块34具体用于:

对由硬件产品b的产品信息和配置于硬件产品b上的包括硬件产品a在内的多个硬件产品各自的签名所形成的序列化信息进行签名,产生硬件产品b的签名。

在一些实施例中,区块链还接入有监管节点设备,节点设备还包括:

第二发送模块37,用于若硬件产品a的签名和/或硬件产品a的交易信息的签名未通过验签时,则发送验签失败信息至监管节点设备。

在一些实施例中,节点设备还包括:

合法性验证模块38,用于与区块链的其他节点设备基于区块链同步技术和共识机制,对发布在区块链中的硬件产品的签名和硬件产品交易信息的签名进行合法性验证。

在一些实施例中,合法性验证模块38具体用于:

在预设的共识时间点处,对上一个共识时间点之前的一时间段内所有未确认的消息按时间进行排序,并对排序后的消息进行哈希运算,得到哈希值;

将哈希值广播至区块链的其他节点设备,当超过预设数目的其他节点设备接收到的哈希值一致时,完成共识。

本发明实施例提供一种节点设备,该节点设备通过由下游节点设备对相邻的上游节点设备生成的签名进行验签,使得下游厂商可以作为上游厂商的质检部门,当下游节点经过检测发现质量问题,如果质量问题发生在邻接的上游厂商,则会直接与其协商处理,如果质量问题发生在更上游的厂商,也可以通过追溯签名信息和链上的数据来判断是哪个环节出现问题,方便追责,进而能够有效防范、打击造假行为;同时,由于区块链去中心化、不可篡改、可追溯的特性,能够实现安全、可靠、可信赖、自动化地对硬件产品进行防伪溯源,以及能减少硬件产品溯源的成本和冗余工作。

本发明另一实施例还提供一种节点设备,该节点设备包括:

存储器;以及

耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的程序,执行上述实施例中任一所述的硬件产品防伪溯源方法的步骤。

本发明另一实施例还提供一种硬件产品防伪溯源系统,该系统包括:

区块链;

至少一个第一节点,被配置为所述区块链中的第一级节点;

至少一个第二节点,被配置为所述区块链中的除所述第一级节点之外的节点;

所述第二节点包括上述实施例二中任一所述的节点设备。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的节点设备在执行硬件产品防伪溯源方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述硬件产品防伪溯源方法与用于硬件产品防伪溯源的节点设备及系统实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关联的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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