产品防伪电子标签及产品防伪验证方法和系统与流程

文档序号:17238850发布日期:2019-03-30 08:29阅读:318来源:国知局
产品防伪电子标签及产品防伪验证方法和系统与流程

本发明涉及产品防伪验证领域,特别是涉及一种利用区块链与电子标签结合的产品防伪电子标签及产品防伪验证方法和系统。



背景技术:

通过适当的方式或手段防止产品的伪劣假冒(防伪)是现代产品管理与供应链管理的一种重要手段。防伪技术对遏制赝品制造、提升产品信誉度、保证企业利益、维护市场公平起着举足轻重的作用。

当前主流的产品防伪技术主要分为物理防伪和电子标签防伪两种。以下下面针对这两种防伪技术进行原理进行简单介绍,并就存在的问题(漏洞)进行简单分析:

1.物理防伪

物理防伪是以防伪标签上存在的物理特征或专门在防伪标签上设置的物理特征作为防伪标识。在进行防伪验证时,将防伪标签上的防伪标识与预先确定的基准标识进行对比;如果防伪标识与基准标识一致或相符,则判断附有该防伪标签的产品为正品;如果相反,则判断附有该防伪标签的产品为赝品。

通过对作为防伪标识物理特征的专门设置,可以实现防伪标识的唯一性;通过对防伪标识物理特征的处理,可以增加防伪标识的复制难度,进而实现物理防伪的可靠性。

目前,根据形成防伪标识的方式、方法不同,有激光防伪、化学油墨防伪、纹理防伪、隐形图像防伪等方式。

2.电子标签防伪

电子标签防伪技术设置电子标签,并在电子标签上设置二维码或其他电子数据信息,电子数据信息含有与产品相关的数据。在验证时,通过读取、识别电子标签上的电子数据获取产品的相关数据;然后将获取数据传送给与预设的企业验证系统;企业验证系统将接收到的数据与其存储的产品基准数据进行对比,根据对比结果的一致性或相符性来区分附着该防伪标签的产品是正品,还是赝品。

虽然现有的防伪技术可以在一定程度上实现区分正品或赝品的目的,但随着缩微技术和复制技术发展,存在被复制的风险。

利用物理防伪的方法,作为防伪标识的物理特征被复制的可能性越来越大。造假者可以通过已知的技术复制具有相同物理特征的防伪标识,并形成具有相同物理特征的赝品标签。将该赝品标签随着(贴在或用其他方式附着)在赝品上,利用现有的验证方式根本无法达到区分正品和雁品的目的。

对于电子标签防伪方法,造假者通过拍照、复印或读取数据后重新生成电子标签的手段得到与正品电子标签一致的赝品标签。以这样的赝品标签为基础,也会把赝品识别为正品,进而无法达到区分正品和雁品的目的。

因此,如何提高防伪的可靠性,仍然是本领域技术人员需要解决的技术难题。



技术实现要素:

本发明针对目前防伪技术的痛点提出了一种创新的产品防伪验证的方法和系统,即基于区块链、电子标签以及密码学算法的产品防伪电子标签及其认证系统及方法,该产品防伪电子标签及产品防伪验证方法和系统具有更高的可靠性。

本发明提供的产品防伪验证方法中,待验证产品设置有电子标签,所述电子标签预置有密钥数据、认证初始数据和产品状态数据,所述密钥数据包含电子标签私钥和电子标签公钥证书;所述认证初始数据包括电子标签标识号和企业标识号;所述电子标签公钥证书由预定企业私钥对电子标签公钥签名获得,该电子标签公钥与所述电子标签私钥形成非对称密钥对;

所述产品防伪验证方法包括以下步骤:

s210,电子标签收到包含时间戳的认证触发消息后,根据认证触发消息形成动态认证数据,利用所述电子标签私钥对动态认证数据进行签名,生成动态认证数据签名;并将动态认证数据包发送给客户端验证工具;所述动态认证数据包含时间戳、认证初始数据和产品状态数据;所述动态认证数据包包含动态认证数据、动态认证数据签名和电子标签公钥证书;

s220,客户端验证工具接收到动态认证数据包后,将动态认证数据包及自身存储的客户端标识数据传输给预定联盟链平台的预定联盟链节点;所述客户端标识数据包含客户端标识号和客户端认证流水号;

s230,所述预定联盟链节点接收到动态认证数据包和客户端标识数据后,利用预置的所述联盟链平台公钥验证预置的企业公钥证书,获得企业公钥;再利用所述企业公钥验证所述电子标签公钥证书,获得电子标签公钥;再利用所述电子标签公钥验证所述动态认证数据包中动态认证数据签名;如果验证通过,则形成认证通过数据,并基于预置的产品基准数据判断所述产品状态数据真实性,并判断时间戳是否合法,并形成验证合法数据;所述企业公钥证书为所述联盟链平台私钥对预定企业公钥签名获得,所述联盟链平台公钥与所述联盟链平台私钥形成非对称密钥对;

s240,该联盟链节点利用预置的私钥对验证结果和客户端标识数据进行数据签名,获得签名数据,并将签名数据和对应的验证结果数据存储到预设的节点验证数据包中;所述验证结果包括认证通过数据和验证合法数据;

s250,判断节点验证数据包中,形成签名数据的联盟链节点是否满足预定要求;如果否,则进入步骤s260;如果是,则进入步骤s270;

s260,该联盟链节点将所述动态认证数据包、客户端标识数据及所述节点验证数据包发送给另一预定联盟链节点,该另一预定联盟链节点执行步骤s230、s240和步骤s250;

s270,客户端验证工具利用预定的联盟链节点公钥验证所述节点验证数据包中所述签名数据的真实性并输出验证结果。所述签名数据验证可以包括以下两部分:

(a)验证结果是否一致;

(b)客户端标识数据是否合法。

利用本发明提供的产品防伪验证方法,电子标签发送的动态认证数据包携带时间戳用于判断本次认证之前的动态认证数据包是否被重用;电子标签标识号用于唯一表示电子标签,减少电子标签被克隆的可能。利用电子标签私钥对动态认证数据进行签名,生成动态认证数据签名,并在联盟链节点中通过电子标签公钥进行验证,可以实现对电子标签数据认证,保证电子标签真实性。在联盟链节点中,存储由联盟链平台签名的企业公钥证书,可以利用联盟链平台的安全性,提高认证过程中数据安全性,通过联盟链平台密钥、企业密钥及电子标签密钥的相互验证可以保证数据真实性,减少电子标签被克隆的可能;在认证电子标签真实的基础上,再基于产品基准数据判断所述产品状态数据是否真实性,对产品状态数据进行验证,可以方便对电子标签非法重复利用的有效控制,提高产品防伪验证的可靠性。

本发明提供的产品防伪验证方法中,通过判断形成签名数据的联盟链节点是否满足预定要求的手段,在满足预定要求的情况下,终止认证流程,可以将认证流程引向联盟链的多个节点,或者引向联盟链的预定节点,以充分利用区域网络分工式特点及联盟链节点级别属性,为提高产品防伪验证的可靠性提供前提。

进一步的技术方案中,所述步骤s250中,判断对验证结果进行数据签名的联盟链节点是否满足预定要求,具体是如下内容之一:

(1)判断形成签名数据的联盟链节点是否达到预定的数量;

(2)判断形成签名数据的联盟链节点是否包括预定的联盟链节点。

这样,可以利用联盟链有限中心化特点,利用联盟链节点权限差别,在预设特定联盟链节点对动态认证数据包验证并形成签名数据之后,就终止联盟链节点验证签名,可以在保证防伪验证可靠性的同时,提高防伪验证效率。

进一步的技术方案中,所述认证触发消息包括时间戳信息,以时间戳作为认证触发的数据信息,可以通过该数据确定认证触发时间,以实现电子标签发送数据动态化,为进一步进行证据处理提供时间参数,增加电子标签认证的可靠性。

所述电子标签标识号包括企业标识数据,或者,所述认证初始数据包括企业标识数据;

可选技术方案中,所述联盟链平台中,至少部分联盟链节点预置有企业标识数据,且所述企业标识数据和对应企业公钥证书对应存储;相对应地,在步骤s230还可以包括,所述联盟链节点根据企业标识数据查询并获取企业公钥证书。这样可以利用一个联盟链平台实现对多个企业产品认证。

可选技术方案中。所述步骤s230中,所述认证通过数据包括以下内容中的至少一个:

(1)企业公钥证书正确:

(2)所述电子标签公钥证书正确;

(3)所述动态认证数据签名真实;

(4)所述动态认证数据真实。

本发明提供一种产品防伪电子标签,包括:

存储单元,用于存储密钥数据、认证初始数据和产品状态数据,所述密钥数据包含电子标签私钥和电子标签公钥证书;所述认证初始数据包括电子标签标识号和企业标识号;所述电子标签公钥证书由预定企业私钥对电子标签公钥签名获得,该电子标签公钥与所述电子标签私钥形成非对称密钥对;

通讯单元,用于输出或接收通讯数据;

计数单元,用于根据处理单元的指令产生认证序码;

处理单元,用于通过通讯单元接收认证触发消息;还将认证初始数据、时间戳和产品状态数据打包形成动态认证数据,利用所述电子标签私钥对动态认证数据进行签名,生成动态认证数据签名;通过通讯单元输出动态认证数据包;所述动态认证数据包包括电子标签公钥证书、动态认证数据签名和动态认证数据。

进一步技术方案中,所述产品防伪电子标签还包括电源模块,所述电源模块分别与所述存储单元、通讯单元、计数单元及处理单元电连接。

在上述电子标签基础上,提供的产品防伪验证系统包括:

电子标签,所述电子标签附着于待认证产品上,为上述的产品防伪电子标签;

客户端验证工具,设置有处理器、输出模块和通讯模块;所述处理器用于通过所述通讯模块向所述电子标签发送所述认证触发消息,并通过所述通讯模块将所述电子标签输出的动态认证数据包及自身存储的客户端标识数据传输到给所述联盟链平台的预定联盟链节点;还用于接收预定联盟链节点发送的节点验证数据包,并根据预定的联盟链节点公钥验证所述节点验证数据包中签名数据的真实性,并输出验证结果;

联盟链平台,包括通讯相连的多个联盟链节点;至少部分联盟链节点具有存储模块、节点认证程序、节点验证模块及网关输出模块;

所述存储模块存储预定联盟链平台公钥、企业公钥证书和产品基准数据;所述企业公钥证书由预定联盟链平台私钥对预定企业公钥签名获得,该企业公钥与所述企业私钥形成非对称密钥对,所述联盟链平台公钥与所述联盟链平台私钥形成非对称密钥对;

所述节点认证程序适于被处理器执行如下指令:利用预置的所述联盟链平台公钥验证企业公钥证书,获得企业公钥;再利用所述企业公钥验证所述电子标签公钥证书,获得电子标签公钥;再利用所述电子标签公钥验证所述动态认证数据包中动态认证数据签名;如果验证通过,则形成认证通过数据,并触发所述节点验证模块;

所述节点验证模块基于预置的产品基准数据判断所述产品状态数据真实性,并判断时间戳是否合法,并形成验证合法数据,并触发所述网关输出模块;

所述网关输出模块用于基于所述认证通过数据和验证合法数据形成验证结果,并利用预置的私钥对验证结果和客户端标识数据进行数据签名,获得签名数据,并将所述签名数据和对应的验证结果数据存储到预设的节点验证数据包;还用于判断节点验证数据包中,形成签名数据的联盟链节点是否满足预定要求;如果否,则将所述动态认证数据包、客户端标识数据及节点验证数据包发送给另一预定联盟链节点;如果是,则将节点验证数据包发送给预定的客户端验证工具。

优选技术方案中,所述网关输出模块判断节点验证数据包中,判断形成签名数据的联盟链节点是否满足预定要求,具体是:

判断形成签名数据的联盟链节点是否达到预定的数量;

或者,判断形成签名数据的联盟链节点是否包括预定的联盟链节点。

进一步的技术方案中,所述电子标签的所述存储单元中,所述电子标签标识号包括企业标识数据,或者,所述认证初始数据包括企业标识数据;

所述联盟链平台的至少部分联盟链节点的存储模块中,还预置有企业标识数据,且所述企业标识数据和对应企业公钥证书对应存储;所述联盟链节点中,所述节点认证程序执行指令时,根据企业标识数据查询并获取企业公钥证书。

附图说明

图1为本发明实施例一提供的产品防伪验证方法整体流程图;

图2为本发明实施例提供的一种产品防伪验证系统逻辑框图。

具体实施方式

下面结合附图,对本发明作进一步详细的说明,但该具体实施方式并不用于限定本发明的保护范围。

为了便于理解,本部分结合产品防伪验证系统实施例,描述本发明提供的产品防伪验证方法。但应当说明的是,实施本发明提供的产品防伪验证方法,不限于利用该产品防伪验证系统,也可以其他系统或设备或者设备的组合。

请参考图1,图1为本发明实施例一提供的产品防伪验证方法整体流程图。为了实施上述该产品防伪验证方法,需要在待验证产品上设置电子标签。其电子标签可以适合的方式附着在待验证产品上,如可以附着在待验证产品本身上,也可以附着在待验证产品的包装物上,还可以附着在待验证产品的其他伴随物品上。

电子标签预置有密钥数据、认证初始数据和产品状态数据,所述密钥数据包含电子标签私钥、电子标签公钥证书;所述认证初始数据包括电子标签标识号和企业标识号;可以使电子标签标识号具有唯一性,且可以使电子标签标识号与产品(或电子标签)具有一一对应关系。在一个实施例中,电子标签标识号可以是产品的生产编号。所述电子标签公钥证书由预定企业私钥对电子标签公钥签名获得,该电子标签公钥与所述电子标签私钥形成非对称密钥对。当然,根据实际需要,认证初始数据也可以包括其他与产品相关的其他信息,如产品名称、产品编号等等。产品状态数据可以包括产品状态信息;产品状态信息可以设置为可读可写数据,以根据待验证产品状态,更新产品状态信息。如产品状态信息可以为:“出厂”、“待售”、“己售”、“已验证”、“已认证”等等,当然,可以包括其他数据,如产品验证/认证次数信息等等。

为了保证电子标签中认证初始数据安全,防止被任意篡改,可以将认证初始数据设置成只读数据;为了更新产品状态数据的方便,产品状态数据可以设置成可读可写方式;也可以按已知方式设置相应技术措施,保证写入、更新权限合法,如不可逆的写入方式,即产品状态信息仅能够按照预定顺序更新,不能逆向写入更新。

如图1所示,基于该电子标签,本发明实施例一提供的产品防伪验证方法可以包括以下步骤:

s210,电子标签与客户端验证工具进行数据交互,收到包含时间戳的认证触发消息;电子标签根据认证触发消息形成动态认证数据,利用所述电子标签私钥对动态认证数据进行签名,生成动态认证数据签名;并将动态认证数据包发送给客户端验证工具;所述动态认证数据包含时间戳、认证初始数据和产品状态数据;所述动态认证数据包包含动态认证数据、动态认证数据签名和电子标签公钥证书。

认证触发消息包括时间戳消息,可以由客户端验证工具根据需要生成并发送给电子标签的其他具体消息;当然也可以由其他设备发送认证触发消息。

应当说明的是,本发明中,动态认证数据不限于包含的数据均为动态数据,也包括至少一个为动态数据的情形,如时间戳消息为动态数据。

对于动态认证数据,电子标签可以利用电子标签私钥对动态认证数据进行签名,生成动态认证数据签名。

客户端验证工具可以是专用设备、安装适合软件或程序的通用设备,还可以是安装适合app的手机。客户端验证工具与电子标签之间可以利用已知方式进行通讯,发送认证触发消息,如采用非接触的方式读取认证初始数据,如nfc(近场通信,nearfieldcommunication)或rfid(射频识别,radiofrequencyidentification)方式读取动态认证数据包。

s220,客户端验证工具接收到动态认证数据包后,将动态认证数据包及自身存储的客户端标识数据传输给预定联盟链平台的预定联盟链节点;所述客户端标识数据包含客户端标识号和客户端认证流水号。

在步骤s210中,在电子标签中可以形成动态认证数据包;动态认证数据包包括电子标签公钥证书、动态认证数据签名、动态认证数据。根据实际需要,可以包括其他数据或信息。

客户端验证工具将动态认证数据包发送到预定联盟链平台的预定联盟链节点;为了确定数据可靠性,自身存储的客户端标识数据随同发送到向预定联盟链平台的预定联盟链节点。其中,客户端标识号可以为客户端认证工具对应的编号或序号,以对客户端认证工具进行区分。所述客户端认证流水号是动态数据,唯一代表该客户端的本次认证,该客户端每进行一次认证,客户端认证流水号可以加1。

s230,所述预定联盟链节点接收到动态认证数据包和客户端标识数据后,利用预置的所述联盟链平台公钥验证预置的企业公钥证书,获得企业公钥;再利用所述企业公钥验证所述电子标签公钥证书,获得电子标签公钥;再利用所述电子标签公钥验证所述动态认证数据包中动态认证数据签名;如果验证通过,则形成认证通过数据,并基于预置的产品基准数据判断所述产品状态数据真实性,并判断时间戳是否合法,并形成验证合法数据;所述企业公钥证书为所述联盟链平台私钥对预定企业公钥签名获得,所述联盟链平台公钥与所述联盟链平台私钥形成非对称密钥对;

本实施例实施之前,待验证产品的企业可以预先在联盟链平台的相应入口进行注册,并上传相应企业信息。在通过联盟链平台的预定机制审核后,相应企业可以上传预定企业公钥,并在上传过程中或之后,利用预置的联盟链平台私钥对预定企业公钥签名,获得企业公钥证书。即联盟链平台作为密钥认证机构对企业公钥进行签名,获得相应的公钥证书。

企业公钥证书或其他企业相关信息可以按已知区块链技术,在联盟链节点中按照预设的共识机制,将相应数据在相应联盟链节点中进行同步,为防伪认证提供数据前提。多个企业的企业公钥证书以区块形式存储并形成区块数据链,以为相应的联盟链节点进一步的数据处理提供数据基础。

接收数据的具体联盟链节点可以按预先确定策略或方式确定,比如,可以由联盟链平台当前共识周期的主节点接收,还可以按预先选定的顺序向预定联盟链节点传输数据;还可以根据上传设备的属性(设备类型、位置、app编号)选择接收数据的联盟链节点;还可以在联盟链平台中设置适合的装置,按预定的策略对联盟链节点状态选择适合的联盟链节点接收数据。可以理解,基于一种联盟链平台的预设机制,在任一共识周期内,作为联盟链平台主节点的联盟链节点具有随机性,使得接收数据的联盟链节点也具有随机性;该随机性可以减少实施验证的联盟链节点被控制的概率,进而也可以保证验证操作的可靠性。

本实施例中,以联盟链节点a为例进行说明。应当说明的是,在一个产品防伪验证方法实施过程中,数据处理可以由一个联盟链节点进行处理,也可以由不同的联盟链节点进行相应处理,本部分中不再进行区分性描述。

联盟链节点a利用联盟链平台公钥解密企业公钥证书,获得企业公钥。再利用获得的企业公钥解密电子标签公钥证书,获得电子标签公钥;再利用所述电子标签公钥验证动态认证数据包中动态认证数据签名,并基于动态认证数据获得预定的验证结果。利用联盟链平台密钥、企业密钥及电子标签密钥的相互嵌套,可以保证验证过程及数据安全。

获得预定的验证结果可以包括认证过程和验证过程。认证过程用于验证电子标签的真实性;验证过程用于确定电子标签产品状态数据。

本发明实施例中,认证过程中,电子标签公钥可以通过验证动态认证数据签名的真实性,确认动态认证数据来源的真实性和完整性,进而基于对动态认证数据确定电子标签的真假,获得认证通过数据,完成认证。

根据上述说明,可以确定,认证通过数据可以包括以下内容:

(1)企业公钥证书是否正确:

(2)所述电子标签公钥证书是否正确;

(3)所述动态认证数据签名是否真实;

(4)所述动态认证数据是否真实。

当然,上述过程中,任一过程如果验证失败,则说明待验证产品有问题;当然,根据不同阶段中验证失败不同,可以确定验证失败的原因不同。无法解密企业公钥证书,则说明产品涉及企业存在问题;解密所述电子标签公钥证书失败,则说明电子标签可能存在问题;所述动态认证数据签名为假,或者动态认证数据不真实或不完整,则说明动态认证数据可能被篡改或失真。

验证过程中,联盟链节点基于预置的产品基准数据判断所述产品状态数据真实性,同时可以判断时间戳是否合法,如果是,则形成验证合法数据;如可以通过对比数据一致性判断电子标签中产品状态数据真实性。当然,还可以基于其他策略判断电子标签中产品状态数据真实性,如可以判断相应数据是否为预定格式,最后更新的时间等等进行判断。当然,如果验证失败或判断为否的情形下,也可以形成相应的验证合法数据。

联盟链平台公钥(包括对应的私钥)可以是平台统一的公钥保存在各联盟链节点中,也可以是对应不同联盟链节点的公钥。联盟链平台公钥为对应不同联盟链节点的公钥时,可以在每个联盟链节点中保存各联盟链节点的公钥,并为各联盟链节点的公钥分配一个索引,并将企业标识号和该索引对应;这样,在收到相应数据后,可以根据企业标识号查询并确定对应的联盟链平台公钥,并利用该公钥验证企业公钥证书,获得企业公钥。

s240,该联盟链节点利用预置的私钥对验证结果和客户端标识数据进行数据签名,获得签名数据,并将签名数据和对应的验证结果数据存储到预设的节点验证数据包中;所述验证结果包括认证通过数据和验证合法数据;

利用联盟链节点a的私钥对验证结果及客户端标识数据进行签名,以保证联盟链节点a验证结果及唯一代表本次认证的客户端标识数据的真实性,并将签名数据和对应的验证结果数据存储到预设的节点验证数据包中,以备验证。

s250,判断节点验证数据包中,形成签名数据的联盟链节点是否满足预定要求;如果否,则将进入步骤s260;如果是,则进入步骤s270。

本发明的一个实施例中,判断形成签名数据的联盟链节点是否满足预定要求,具体是,判断形成签名数据的联盟链节点是否达到预定的数量。具体可以在包括验证结果的消息数据中内嵌指针数据n,每通过一个联盟链节点的验证签名,使n=n+1;并预设预定数量为m(m不小于2)。在判断对所述验证结果签名的联盟链节点是否达到预定的数量时,判断n是否大于等于m;在n大于等于m时,判断对所述验证结果签名的联盟链节点达到预定的数量,执行步骤s270;在n小于m时,判断对所述验证结果签名的联盟链节点未达到预定的数量,进入步骤s260。

本发明的另一个实施例中,还可以判断形成签名数据的联盟链节点是否包括预定的联盟链节点。该预定的联盟链节点可以是产品对应企业指定的联盟链节点,或者联盟链平台根据预定策略确定的联盟链节点。这样,可以在利用联盟链平台中联盟链节点权限的差别,在预设的特定联盟链节点对验证结果签名之后,就终止联盟链节点验证签名,可以在保证防伪认证可靠性的同时,提高防伪认证效率。

可以理解,判断对所述动态数据认证包验证并签名的联盟链节点是否满足预定要求中,预定策略及满足的具体条件,本领域技术人员可以根据实际需要进行选择。

s260,该联盟链节点将所述动态认证数据包、客户端标识数据及所述节点验证数据包发送给另一预定联盟链节点,该另一预定联盟链节点执行步骤s230、s240和步骤s250。

即形成签名数据的联盟链节点未满足预定要求时,联盟链节点a将将接收到的动态认证数据、客户端标识数据及其存储的节点验证数据包发送给联盟链节点b。联盟链节点b再执行步骤s230、s240和步骤s250。

反复进行上述步骤及过程,直至对所述动态认证数据包验证并形成签名数据的联盟链节点满足预定要求,进入步骤s270。

s270,客户端验证工具利用预定的联盟链节点公钥验证所述节点验证数据包中所述签名数据的真实性并输出验证结果。通过验证签名数据可以确定验证结果是否一致,并可以判断客户端标识数据是否合法。

与形成签名数据的方式相对应,具体的验证方式可以是:

(1)客户端验证工具用预存的联盟链节点公钥恢复所述节点验证数据数据包中的签名数据,得到数据的哈希值;

(2)客户端验证工具对保存的客户端标识数据和接收到的所述节点验证数据包中的验证结果数据进行哈希运算,得到哈希值与恢复的哈希值比较,若相同,则验证通过,否则,验证失败,然后输出验证结果。

在本发明的一个实施例中,该步骤可以由客户端验证工具来实施。因此,联盟链平台中,最后进行签名的联盟链节点可以将其存储的节点验证数据包(包括多个联盟链节点验证结果数据签名和对应的验证结果数据)发送给客户端验证工具。客户端验证工具预置相应联盟链节点的公钥(为了保证验证顺利,客户端验证工具可以预置所有联盟链节点的公钥),以利用这些联盟链节点公钥验证所述节点验证数据包中签名数据的真实性。可以分别判断多个联盟链节点产生的签名数据和对应的验证结果数据及客户端标识数据的真实性。

本实施例中,任何一个联盟链节点的签名数据和对应的验证结果数据不能通过验证均认为验证失败,只有签名数据和对应的验证结果数据及客户端标识数据通过验证的,才认定为验证成功。

本领域技术人员可以理解,如果上述步骤中,认证或验证失败,可以使验证结果包括相应的数据,并输出认证失败数据或/和验证失败数据;即在步骤s230中,验证所述动态数据包中动态认证数据签名时,验证失败时,可以形成认证失败数据,并将认证失败数据作为验证结果,然后进行步骤s240至s270,并在s270中输出认证失败数据。

当然,根据上述描述,基于每个联盟链节点产生的验证结果可以包括多种信息,本步骤中,输出电子标签的认证结果也可以根据实际需要进行选择。可以理解,本步骤也可以由联盟链平台的预定节点或联盟链平台的相应单元实施。

在本发明的另一个实施例中,联盟链平台用于认证多个企业生产的产品;此时,每个联盟链节点存储多个企业的相关信息,如多个企业的企业公钥证书。在联盟链平台中,可以使相应的联盟链节点预置有企业标识数据,且所述企业标识数据和对应企业公钥证书对应存储(即设置企业标识与电子标签识别号之间的索引关系)。这样,在步骤s230中,还可以包括,所述联盟链节点根据企业标识数据查询并获取企业公钥证书,以获取对应的企业公钥证书;然后再利用联盟链平台公钥解密企业公钥证书,获得企业公钥,再实施其他内容。

在提供上述产品防伪验证方法的基础上,本发明实施例还提供一种产品防伪电子标签及包括该电子标签的产品防伪验证系统。应当说明的是,本发明提供的产品防伪验证方法不限于使用本发明提供的产品防伪电子标签及其认证系统,也可以采用其他相应电子标签及相应的系统实施。

为了节省篇幅,以下对产品防伪验证系统实施例描述的同时,对本发明提供产品防伪电子标签进行描述,不再对产品防伪电子标签实施例进行单独描述。

请参考图2,该图为本发明实施例提供的一种产品防伪验证系统逻辑框图。该认证系统包括以下部分:

电子标签,所述电子标签附着于待认证产品上,具有存储单元、通讯单元、计数单元及处理单元。:

电子标签的存储单元,用于存储密钥数据、认证初始数据和产品状态数据,所述密钥数据包含电子标签私钥和电子标签公钥证书;所述认证初始数据包括电子标签标识号和企业标识号;所述电子标签公钥证书由预定企业私钥对电子标签公钥签名获得,该电子标签公钥与所述电子标签私钥形成非对称密钥对;

电子标签的通讯单元,用于输出或接收通讯数据。

计数单元,用于根据处理单元的指令产生认证序码。

处理单元,可以是处理器或相应的程序,用于通过通讯单元接收认证触发消息;还将时间戳、认证初始数据和产品状态数据打包形成动态认证数据,利用所述电子标签私钥对动态认证数据进行签名,生成动态认证数据签名;通过通讯单元输出动态认证数据包;所述动态认证数据包包括电子标签公钥证书、动态认证数据签名和动态认证数据。

电子标签可以设置电源模块,以为电子标签数据处理提供电能,电源模块可以分别与所述存储单元、通讯单元、计数单元及处理单元电连接。

上述电子标签可以实施上述方法中步骤s210,具体实施过程不再赘述。

客户端验证工具,可以设置处理器、输出模块和通讯模块。所述处理器用于通过所述通讯模块向所述电子标签发送所述认证触发消息,并通过所述通讯模块将所述电子标签输出的动态认证数据包及自身存储的客户端标识数据传输给所述联盟链平台的预定联盟链节点。所述处理器还用于接收预定联盟链节点发送的节点验证数据包,并根据预定的联盟链节点公钥验证所述节点验证数据包中所述验证结果数据及客户端标识数据签名的真实性,并输出验证结果。

客户端验证工具可以是专用设备、安装适合软件或程序的通用设备,还可以是安装适合app的手机。客户端验证工具可以用于实施上述步骤s220和s270,具体实施过程不再赘述。

电子标签和客户端验证工具应当相互匹配,以进行数据交互。如电子标签可以包括rfid标签;rfid标签可以包括电路单元和天线单元,所述电路单元预置所述产品初始数据。客户端验证工具的通讯模块可以包括读取电路单元和读取天线单元;所述读取天线单元与所述rfid标签的天线单元耦合时,客户端验证工具可以获取所述产品初始数据。

联盟链平台,可以包括通讯相连的多个联盟链节点;至少部分联盟链节点具有存储模块、节点认证程序、节点验证模块及网关输出模块;

联盟链节点的存储模块可以存储预定联盟链平台公钥、企业公钥证书和产品基准数据。所述企业公钥证书由预定联盟链平台私钥对预定企业公钥签名获得,该企业公钥与所述企业私钥形成非对称密钥对,所述联盟链平台公钥与所述联盟链平台私钥形成非对称密钥对。

所述节点认证程序适于被处理器执行如下指令:利用预置的所述联盟链平台公钥验证企业公钥证书,获得企业公钥;再利用所述企业公钥验证所述电子标签公钥证书,获得电子标签公钥;再利用所述电子标签公钥验证所述动态认证数据包中动态认证数据签名;如果验证通过,则形成认证通过数据,并触发所述节点验证模块;

所述节点验证模块基于预置的产品基准数据判断所述产品状态数据的真实性,判断时间戳是否合法,进而形成验证合法数据,然后触发所述网关输出模块;

所述网关输出模块用于基于所述认证通过数据和验证合法数据形成验证结果,并利用预置的私钥对验证结果和客户端标识数据进行数据签名,获得签名数据,并将所述签名数据和对应的验证结果数据存储到预设的节点验证数据包;还用于判断节点验证数据包中,形成签名数据的联盟链节点是否满足预定要求;如果否,则将所述动态认证数据包、客户端标识数据及节点验证数据包发送给另一预定联盟链节点;如果是,则将节点验证数据包发送给预定的客户端验证工具。

联盟链节点主要实施上述方法中步骤s230、s240、s250、s260。其具体的实施过程不再赘述。

与上述方法描述相对应,在判断形成签名数据的联盟链节点是否满足预定要求时,所述网关输出模块具体可以判断形成签名数据的联盟链节点是否达到预定的数量,也可以判断形成签名数据的联盟链节点是否包括预定的联盟链节点。当然,也可以根据其他预定策略确定预定要求,并通过对比判断是否满足预定要求。

对于同一联盟链平台用于认证多家企业产品的情形,在所述电子标签的所述存储单元中,可以使所述电子标签标识号包括企业标识数据;当然,也可以在存储单元中,使所述认证初始数据包括企业标识数据。相对应地,所述联盟链平台的至少部分联盟链节点的存储模块中,还预置有企业标识数据,且所述企业标识数据和对应企业公钥证书对应存储。所述联盟链节点中,所述节点认证程序执行指令时,根据企业标识数据查询并获取企业公钥证书。

具体使用本发明提供的产品防伪验证系统进行产品防伪验证的具体流程,可以参考上述对产品防伪验证方法流程的描述,在此不再赘述。

以上内容仅是结合本发明实施例对其所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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