发明内容
本公开为了克服上述问题,提供一种物品身份管理方法、终端、微处理单元、标识设备和系统。
为了实现上述目的,本公开的第一方面,提供一种物品身份管理方法,应用于终端,所述方法包括:
接收第一物品中的微处理单元发送的目标信息的第一签名,所述第一签名是所述微处理单元利用存储在所述微处理单元的所述第一物品的私钥对所述目标信息进行数字签名后得到的;
从区块链上获取的所述第一物品的公钥;
通过利用所述第一物品的公钥对所述第一签名进行验证来确定所述微处理单元中记录的所述第一物品的第一身份信息的有效性。
可选地,所述接收第一物品中的微处理单元发送的目标信息的第一签名,所述第一签名是所述微处理单元利用存储在所述微处理单元的所述第一物品的私钥对所述目标信息进行数字签名后得到的,包括:
生成所述目标信息,所述目标信息包括随机数;
向所述微处理单元发送所述目标信息;
在所述微处理单元利用所述第一物品的私钥对所述目标信息进行数字签名后,接收所述微处理单元发送的所述第一签名。
可选地,所述接收第一物品中的微处理单元发送的目标信息的第一签名,所述第一签名是所述微处理单元利用存储在所述微处理单元的所述第一物品的私钥对所述目标信息进行数字签名后得到的,包括:
在所述微处理单元生成所述目标信息,并利用所述第一物品的私钥对所述目标信息进行数字签名后,接收所述微处理单元发送的所述第一签名和所述目标信息;其中,所述目标信息包括随机数或所述第一物品的身份信息。
可选地,所述方法还包括:
从所述微处理单元获取所述第一物品的所述第一身份信息;
根据所述第一身份信息在所述区块链中进行查询,以从所述区块链中获取所述第一物品的第二身份信息;
接收所述微处理单元发送的所述第一身份信息的第二签名,所述第二签名是所述微处理单元利用所述第一物品的私钥对所述第一身份信息进行数字签名后得到的;
通过利用所述第一物品的公钥和所述第二身份信息对所述第二签名进行验证,来确定所述第一身份信息是否真实;
当确定第一身份信息为真实时,向所述区块链发送数据更新信息,所述数据更新信息用于所述区块链将所述第一物品的身份使用状态更新为已使用状态。
可选地,所述方法还包括:再次根据所述第一身份信息在所述区块链中进行查询,以从所述区块链中获取所述第一物品的身份使用状态;
当从所述区块链中获取所述第一物品的身份使用状态为已使用状态时,将所述第一物品标识为物品身份已使用。
可选地,当所述终端位于所述第一物品流通环节上的首个节点时,所述目标信息为所述第一物品的标识信息,所述第一签名是所述微处理单元利用所述第一物品的私钥对所述标识信息进行数字签名后得到的,所述方法还包括:
通过利用所述终端的私钥对所述第一签名进行数字签名,得到第二签名;
将所述第一签名和所述第二签名发送至所述区块链,以便在所述区块链中存储所述第一签名和所述第二签名。
可选地,当所述终端为所述第一物品流通环节上的中间节点的终端时,所述方法还包括:
接收所述第一物品流通环节中的上一节点设备发送的第三签名;
通过利用所述终端的私钥对所述第三签名进行数字签名,得到第四签名;
将所述第三签名和所述第四签名发送至所述区块链,以便在所述区块链中存储所述第三签名和所述第四签名。
可选地,所述方法还包括:生成针对所述第一物品的信息更新请求,所述信息更新请求用于更新存储于所述区块链上的所述第一物品的信息,所述第一物品的信息包括所述第一身份信息和/或属性信息;
通过利用所述终端的私钥对所述信息更新请求进行数字签名,得到第五签名;
向所述区块链发送所述信息更新请求以及所述第五签名,用于所述区块链上的智能合约通过所述终端的公钥对所述第五签名进行验证,并在通过验证后根据所述信息更新请求对所述区块链上的所述第一物品的信息进行更新操作,所述更新操作包括以下至少一者:信息添加、信息删除、信息修改和/或信息废止。
第二方面,提供一种物品身份管理方法,应用于微处理单元,所述方法包括:
通过利用存储在所述微处理单元的第一物品的私钥对目标信息进行数字签名,得到所述目标信息的第一签名,所述第一物品为所述微处理单元所在的物品;
向终端发送所述第一签名,用于所述终端通过利用从区块链上获取的所述第一物品的公钥,对所述第一签名进行验证来确定所述微处理单元中记录的所述第一物品的第一身份信息的有效性。
可选地,所述通过利用存储在所述微处理单元的第一物品的私钥对目标信息进行数字签名,得到所述目标信息的第一签名,包括:
接收所述终端发送的由所述终端生成的所述目标信息,所述目标信息包括随机数;
通过利用所述第一物品的私钥对所述目标信息进行数字签名,得到所述第一签名。
可选地,所述通过利用存储在所述微处理单元的第一物品的私钥对目标信息进行数字签名,得到所述目标信息的第一签名,包括:
生成所述目标信息,所述目标信息包括随机数或所述第一物品的身份信息;
通过利用所述第一物品的私钥对所述目标信息进行数字签名,得到所述第一签名。
可选地,所述方法还包括:
向所述终端发送所述第一物品的所述第一身份信息,用于所述终端根据所述第一身份信息在所述区块链中查询;
利用所述第一物品的私钥对所述第一身份信息进行数字签名,得到所述第一身份信息的第二签名;
向所述终端发送所述第二签名,用于所述终端在从所述区块链中获取所述第一物品的第二身份信息后,通过利用所述第一物品的公钥和所述第二身份信息对所述第二签名进行验证,来确定所述第一身份信息是否真实。
可选地,在所述通过利用存储在所述微处理单元的第一物品的私钥对目标信息进行数字签名之前,所述方法还包括:
在标注设备的驱动下生成所述第一物品的公钥和私钥;
将所述第一物品的私钥,以及所述第一物品的所述第一身份信息存储在所述微处理单元本地。
可选地,所述方法还包括:将存储在所述微处理单元本地的所述第一物品的私钥设置为禁止外部设备读写。
第三方面,提供一种物品身份管理方法,应用于标注设备,所述方法包括:驱动第一物品中的微处理单元生成所述第一物品的公钥和私钥;
将所述第一物品的公钥上传至区块链。
第四方面,提供一种终端,包括:
第一接收模块,用于接收第一物品中的微处理单元发送的目标信息的第一签名,所述第一签名是所述微处理单元利用存储在所述微处理单元的所述第一物品的私钥对所述目标信息进行数字签名后得到的;
第一获取模块,用于从区块链上获取的所述第一物品的公钥;
第一验证模块,用于通过利用所述第一物品的公钥对所述第一签名进行验证来确定所述微处理单元中记录的所述第一物品的第一身份信息的有效性。
可选地,所述接收模块,用于:
生成所述目标信息,所述目标信息包括随机数;
向所述微处理单元发送所述目标信息;
在所述微处理单元利用所述第一物品的私钥对所述目标信息进行数字签名后,接收所述微处理单元发送的所述第一签名。
可选地,所述接收模块,用于:
在所述微处理单元生成所述目标信息,并利用所述第一物品的私钥对所述目标信息进行数字签名后,接收所述微处理单元发送的所述第一签名和所述目标信息;其中,所述目标信息包括随机数或所述第一物品的身份信息。
可选地,所述终端还包括:
第二获取模块,用于从所述微处理单元获取所述第一物品的所述第一身份信息;
查询模块,用于根据所述第一身份信息在所述区块链中进行查询,以从所述区块链中获取所述第一物品的第二身份信息;
所述第一接收模块,还用于接收所述微处理单元发送的所述第一身份信息的第二签名,所述第二签名是所述微处理单元利用所述第一物品的私钥对所述第一身份信息进行数字签名后得到的;
第二验证模块,用于通过利用所述第一物品的公钥和所述第二身份信息对所述第二签名进行验证,来确定所述第一身份信息是否真实;
第一更新模块,用于当确定第一身份信息为真实时,向所述区块链发送数据更新信息,所述数据更新信息用于所述区块链将所述第一物品的身份使用状态更新为已使用状态。
可选地,所述终端还包括:
所述查询模块,还用于再次根据所述第一身份信息在所述区块链中进行查询,以从所述区块链中获取所述第一物品的身份使用状态;
标识模块,用于当从所述区块链中获取所述第一物品的身份使用状态为已使用状态时,将所述第一物品标识为物品身份已使用。
可选地,所述终端为位于所述第一物品流通环节上的首个节点,所述目标信息为所述第一物品的标识信息,所述第一签名是所述微处理单元利用所述第一物品的私钥对所述标识信息进行数字签名后得到的,所述终端还包括:
签名模块,用于通过利用所述终端的私钥对所述第一签名进行数字签名,得到第二签名;
发送模块,用于将所述第一签名和所述第二签名发送至所述区块链,以便在所述区块链中存储所述第一签名和所述第二签名。
可选地,所述终端为所述第一物品流通环节上的中间节点的终端,所述终端还包括:
第二接收模块,用于接收所述第一物品流通环节中的上一节点设备发送的第三签名;
签名模块,用于通过利用所述终端的私钥对所述第三签名进行数字签名,得到第四签名;
发送模块,用于将所述第三签名和所述第四签名发送至所述区块链,以便在所述区块链中存储所述第三签名和所述第四签名。
可选地,所述装置还包括:
第二更新模块,用于生成针对所述第一物品的信息更新请求,所述信息更新请求用于更新存储于所述区块链上的所述第一物品的信息,所述第一物品的信息包括所述第一身份信息和/或属性信息;
签名模块,用于通过利用所述终端的私钥对所述信息更新请求进行数字签名,得到第五签名;
发送模块,用于向所述区块链发送所述信息更新请求以及所述第五签名,用于所述区块链上的智能合约通过所述终端的公钥对所述第五签名进行验证,并在通过验证后根据所述信息更新请求对所述区块链上的所述第一物品的信息进行更新操作,所述更新操作包括以下至少一者:信息添加、信息删除、信息修改和/或信息废止。
第五方面,提供一种微处理单元,包括:
签名模块,用于通过利用存储在所述微处理单元的第一物品的私钥对目标信息进行数字签名,得到所述目标信息的第一签名,所述第一物品为所述微处理单元所在的物品;
发送模块,用于向终端发送所述第一签名,用于所述终端通过利用从区块链上获取的所述第一物品的公钥,对所述第一签名进行验证来确定所述微处理单元中记录的所述第一物品的第一身份信息的有效性。
可选地,所述签名模块,用于:
接收所述终端发送的由所述终端生成的所述目标信息,所述目标信息包括随机数;
通过利用所述第一物品的私钥对所述目标信息进行数字签名,得到所述第一签名。
可选地,所述签名模块,用于:生成所述目标信息,所述目标信息包括随机数或所述第一物品的身份信息;
通过利用所述第一物品的私钥对所述目标信息进行数字签名,得到所述第一签名。
可选地,还包括:发送模块,用于向所述终端发送所述第一物品的所述第一身份信息,用于所述终端根据所述第一身份信息在所述区块链中查询;
所述签名模块,还用于利用所述第一物品的私钥对所述第一身份信息进行数字签名,得到所述第一身份信息的第二签名;
所述发送模块,还用于向所述终端发送所述第二签名,用于所述终端在从所述区块链中获取所述第一物品的第二身份信息后,通过利用所述第一物品的公钥和所述第二身份信息对所述第二签名进行验证,来确定所述第一身份信息是否真实。
可选地,还包括:生成模块,用于在所述通过利用存储在所述微处理单元的第一物品的私钥对目标信息进行数字签名之前,在标注设备的驱动下生成所述第一物品的公钥和私钥;
存储模块,用于将所述第一物品的私钥,以及所述第一物品的所述第一身份信息存储在所述微处理单元本地。
可选地,还包括:设置模块,用于将存储在所述微处理单元本地的所述第一物品的私钥设置为禁止外部设备读写。
第六方面,提供一种标注设备,包括:
生成模块,用于驱动第一物品中的微处理单元生成所述第一物品的公钥和私钥;
上传模块,用于将所述第一物品的公钥上传至区块链。
第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面所述方法的步骤。
第八方面,提供一种终端,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面所述方法的步骤。
第九方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第二方面所述方法的步骤。
第十方面,提供一种微处理单元,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第二方面所述方法的步骤。
第十一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第三方面所述方法的步骤。
第十二方面,提供一种微处理单元,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第三方面所述方法的步骤。
第十三方面,提供一种物品管理系统,包括:终端、位于物品中的微处理单元以及标识设备;
所述终端用于实现第一方面所述方法的步骤;
所述微处理单元用于实现第二方面所述方法的步骤;
所述标识设备用于实现第三方面所述方法的步骤。
在上述技术方案,通过在物品中设置微处理单元,能够通过标注设备驱动微处理单元生成物品的公钥和私钥,并且通过标注设备将物品的公钥发送至区块链进行保存。终端在进行物品的身份有效性识别时,物品中的微处理单元能够利用存储在该微处理单元的物品的私钥对目标信息进行数字签名并将其发送至该终端,从而终端根据区块链上获取的该物品的公钥,对接收到的签名进行验证,从而能够确定该微处理单元中记录的物品的身份信息的有效性。由于物品的公钥由标注设备存储在区块链中,因此物品与其对应的公钥具备不可篡改的绑定关系,而物品的私钥设置在物品中微处理单元,在物品完整的情况下难易获取该微处理单元,因此能够避免身份被伪造或套用的问题,并且在进行验证时,只需要能够访问该区块链的终端和该物品即可,无需掌握额外的知识或额外的设备,因此不会提高物品受众在防伪识别方面的学习成本。另外,由于采用了基于区块链的验证方式,因此能够避免由于中心化的真伪裁决方式导致的出错问题。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是根据本公开一示例性实施例示出的一种物品身份管理方法的流程示意图,该方法应用于标注设备,如图1所示,该方法包括以下步骤:
步骤101,驱动第一物品中的微处理单元生成该第一物品的公钥和私钥。
其中,第一物品可以是任意物品或商品,微处理单元设置在该第一物品的内部,该微处理单元在该第一物品中的安装方式可以为:在该第一物品成形后,需要对该第一物品进行物理上的破坏才可取出的安装方式。该微处理单元可以为微处理芯片,其上可以包含微处理器及天线/触点。示例的,该微处理器内部可以安装用于实现该方法的小应用程式(applet),该applet可以用于生成该第一物品的公私钥对,或者也可以通过硬件的方式实现该applet的功能,例如在微处理器内部设置用于生成该第一物品的公私钥对的硬件模块。该微处理单元与终端通信的方式可以采用NFC(Near Field Communication,近场通信)等方式。以NFC为例,当标注设备与第一物品中的微处理单元的距离达到NFC的通信距离时,该标注设备可以发起标注(或者说注册)过程,可以通过NFC驱动该微处理单元生成该第一物品的密钥对,包括该第一物品的公钥和私钥。
步骤102,在从该微处理单元获取该第一物品的公钥后,将该第一物品的公钥上传至区块链。
其中,在微处理单元生成该第一物品的公钥和私钥后,该标注设备将从微处理单元获取该第一物品的公钥上传至区块链进行存储,该第一物品的私钥则保存在该微处理单元本地,并且,存储在该微处理单元的该第一物品的私钥可以被设置为禁止外部设备读写,该微处理单元可以读取该第一物品的私钥,不可对该第一物品的私钥进行写操作。
可选的,在将该第一物品的公钥上传至区块链时,也可以将该第一物品的身份信息、属性信息共同上传至区块链进行存储。在该微处理单元上除了存储该第一物品的私钥外,还可以存储该第一物品的身份信息,以及属性信息,并且可选的,该第一物品的身份信息,以及属性信息也可以不上传至区块链,而只存储在第一物品的微处理单元中,当后续用于识别物品的终端验证了该第一物品的身份信息是有效的时,可以从微处理单元中获取物品的身份信息、属性信息。其中,该微处理单元中存储的该第一物品的身份信息,以及属性信息可以由该标注设备发送给该微处理单元,或者也可以是在为该第一物品装配该微处理单元由其他设备写入芯片的。
图2是根据本公开一示例性实施例示出的一种物品身份管理方法的流程示意图,该方法应用于终端,如图2所示,该方法包括以下步骤:
步骤201,接收第一物品中的微处理单元发送的目标信息的第一签名,该第一签名是该微处理单元利用存储在该微处理单元的该第一物品的私钥对该目标信息进行数字签名后得到的。
步骤202,从区块链上获取的第一物品的公钥。
步骤203,通过利用该第一物品的公钥对该第一签名进行验证来确定该微处理单元中记录的该第一物品的第一身份信息的有效性。
其中,在验证时该终端通过该目标信息的原文、从区块链上获取的第一物品的公钥即可验证该第一签名,当该第一签名通过验证时,可以确认该微处理单元中记录的该第一物品的第一身份信息有效,但该第一签名未能通过验证时,确认该第一身份信息无效。
由于物品的公钥由标注设备存储在区块链中,因此物品与其对应的公钥具备不可篡改的绑定关系,而物品的私钥设置在物品中微处理单元,在物品完整的情况下难易获取该微处理单元,因此能够避免身份被伪造或套用的问题,并且在进行验证时,只需要能够访问该区块链的终端和该物品即可,无需掌握额外的知识或额外的设备,因此不会提高物品受众在防伪识别方面的学习成本。另外,由于采用了基于区块链的验证方式,因此能够避免由于中心化的真伪裁决方式导致的出错问题。
另外,该目标信息可以由该终端生成并发送给第一物品中的微处理单元,也可以由该微处理单元生成,或者也可以利用微处理单元中已存储的信息作为该目标信息。示例的,可以如图3和图4所示。
图3是根据图1所示实施例示出的另一种物品身份管理方法的流程示意图,该方法应用于终端,如图3所示,步骤201所述的:接收第一物品中的微处理单元发送的目标信息的第一签名的步骤可以包括:
步骤2011,生成该目标信息,该目标信息包括随机数。
步骤2012,向该微处理单元发送该目标信息。
步骤2013,在所述微处理单元利用该第一物品的私钥对该目标信息进行数字签名后,接收该微处理单元发送的第一签名。
即由终端随机生成一个随机数,然后将该随机数发送给第一物品中的微处理单元,微处理单元在得到该随机数后,利用微处理单元中存储的该第一物品的私钥对该随机数进行数字签名即可得到该第一签名,然后该微处理单元将该第一签名返回给终端,以供终端对该第一签名进行验证。
图4是根据图2所示实施例示出的另一种物品身份管理方法的流程示意图,该方法应用于终端,如图4所示,步骤201所述的:接收第一物品中的微处理单元发送的目标信息的第一签名的步骤可以包括:
步骤2014,在该微处理单元生成该目标信息,并利用该第一物品的私钥对该目标信息进行数字签名后,接收该微处理单元发送的该第一签名和该目标信息。其中,该目标信息包括随机数或该第一物品的身份信息。
示例的,当终端和该第一物品的微处理单元距离达到通信距离,并触发验证后,可以在终端的驱动下,由该微处理单元生成一个随机数,并利用微处理单元中存储的该第一物品的私钥对该随机数进行数字签名即可得到该第一签名,然后该微处理单元将该第一签名以及该随机数一起返回给终端,以供终端对该第一签名进行验证。
或者,微处理单元可以利用微处理单元中存储的现有信息,例如该第一物品的该第一身份信息,微处理单元利用该第一物品的私钥对该第一身份信息进行数字签名得到该第一签名,然后该微处理单元将该第一签名以及该随机数一起返回给终端。
进一步的,图5是根据本公开一示例性实施例示出的又一种物品身份管理方法的流程示意图,该方法应用于终端,该方法提供了一种查验物品身份真实性的方法,如图5所示,该方法还包括以下步骤:
步骤204,从该微处理单元获取该第一物品的该第一身份信息。
步骤205,根据该第一身份信息在该区块链中进行查询,以从该区块链中获取该第一物品的第二身份信息。
即先从第一物品的微处理单元中获取其存储的第一身份信息,并以该第一身份信息作为查询依据,在该区块链中查找该存储在区块链中的该第一物品的第二身份信息,该第二身份信息是通过步骤102中所示的方法,由标识设备存储在区块链中的,是该第一物品的真实的身份信息,因此可以用于验证该微处理单元中的第一身份信息的真实性。
步骤206,接收该微处理单元发送的该第一身份信息的第二签名,该第二签名是该微处理单元利用该第一物品的私钥对该第一身份信息进行数字签名后得到的。
步骤207,通过利用该第一物品的公钥和该第二身份信息对该第二签名进行验证,来确定该第一身份信息是否真实。
示例的,由于在验证某一信息的签名时,需要该信息的原文,以及签名时的私钥对应的公钥。因此,基于该原理,在获取了该第二身份信息后,需要该第一身份信息与该第二身份信息一致,那么该第一身份信息的该第二签名才可以通过验证。因此,如果利用该第一物品的公钥对该第二签名进行验证时,该第二签名如果能够通过验证时,可以确定第一身份信息为真实的;否则,如果未通过验证,则说明该第一身份信息不是真实的。另外,在微处理单元发送第二签名前,可以首先确认该终端是否是授权终端。示例的,确认该终端是否是授权终端的鉴权方法例如,可以通过密码、秘钥等方式实现。
步骤208,当确定第一身份信息为真实时,向该区块链发送数据更新信息,该数据更新信息用于该区块链将该第一物品的身份使用状态更新为已使用状态。
示例的,为了保证提供给用户的物品是新的,对于每个物品在首次执行步骤204至207所示的物品查询验真的方法后,可以执行步骤208,即在查询该第一物品的第一身份信息的真伪后,需要向区块链中发送数据更新信息,以便在区块链中将第一物品的身份使用状态更新为已使用状态。
例如,该第一物品为一电子产品,比如手机,当该终端从该手机中的用于执行上述方法的微处理单元中获取到该手机的第一身份信息的第二签名后,从区块链上查询该手机的第二身份信息,并对该第二签名进行验证,当通过验证时,确认该第一身份信息真实,并在区块链上将该手机更新为已激活。其中该手机的第一身份信息例如可以是IMEI(International Mobile Equipment Identity,国际移动设备识别码),SN(SerialNumber,序列号)等信息。或者,该物品可以是非电子设备的商品,例如一瓶酒,该第一身份信息可以是这瓶酒的识别码(该识别码具有唯一性),传统的识别码多以密码覆膜卡(俗称刮刮卡)的形式贴附在商品上,或者以二维码或者镭射码的形式设置在商品包装的内部,本实施例中该识别码可以存储在这瓶酒的内的微处理单元中,其验证方法与上述手机相同,不再赘述。
可选的,还可以进一步包括以下步骤:
步骤209,再次根据该第一身份信息在该区块链中进行查询,以从该区块链中获取该第一物品的身份使用状态。
步骤210,当从该区块链中获取该第一物品的身份使用状态为已使用状态时,将该第一物品标识为物品身份已使用。
即在该区块链上将该第一物品的身份使用状态更新为已使用状态后,再次根据该第一身份信息在该区块链中进行查询,以便确认区块链中该第一物品的身份使用状态是否成功更新为已使用状态。在确定该第一物品的身份使用状态成功更新为已使用状态后,可以将该第一物品标识为物品身份已使用,例如在终端的识别页面上将该第一物品显示为物品身份已使用。
进一步的,图6a是根据本公开一示例性实施例示出的又一种物品身份管理方法的流程示意图,该方法应用于终端,当该终端位于该第一物品流通环节上的首个节点时,该目标信息为该第一物品的标识信息,该第一签名是该微处理单元利用该第一物品的私钥对该标识信息进行数字签名后得到的,如图6a所示,该方法还包括以下步骤:
步骤211,通过利用该终端的私钥对该第一签名进行数字签名,得到第二签名。
步骤212,将该第一签名和该第二签名发送至该区块链,以便在该区块链中存储该第一签名和该第二签名。
后续如果要验证该第一物品是否经过了该首个节点时,可以从区块链最后中获取该第一签名和该第二签名,并利用该终端的公钥对该第二签名进行验证,当通过验证时,可以确认该第一物品该第一物品流通环节中确实经过了该终端所在的节点,即该首个节点。当未通过验证时,可以确认第一物品没有通过该首个节点。
图6b是根据本公开一示例性实施例示出的又一种物品身份管理方法的流程示意图,该方法应用于终端,当所述终端为该第一物品流通环节上的中间节点的终端时,如图6b所示,该方法还包括以下步骤:
步骤213,接收该第一物品流通环节中的上一节点设备发送的第三签名。
步骤214,通过利用该终端的私钥对该第三签名进行数字签名,得到第四签名。
步骤215,将该第三签名和该第四签名发送至该区块链,以便在该区块链中存储该第三签名和该第四签名。
即上述的步骤211-215描述了第一物品在其流通环节上每经过一个节点,都要对上一个节点发来的签名进行签名,并同步至区块链中,从而能够保证能够检测该第一物品实际经过的节点。
下面进行举例说明,假设该第一物品为一商品,则该第一物品流通环节上的每个节点可以看作是一个经销商(的设备),如图7所示,商品的流通环节上的节点包括经销商A、经销商B和经销商C,为了有效控制并检测该商品是否经过了某个经销商,则该商品在出厂时,可以利用该商品的私钥对该商品自身的标识信息进行数字签名,该标识信息可以是该商品的公钥,或者是其他标识,比如条码编号、商品名称等等,假设对该商品自身的标识信息(记为T0)进行数字签名后得到的是签名T1=sign(T0),则该商品在进过首个经销商A时,该经销商A首先可以根据从区块链获取的该商品的公钥对该签名T1进行验证,在通过验证后,经销商A通过自己的私钥对该签名T1进行数字签名得到T2=sign(T1),然后将签名T2和签名T1上传至区块链。从而,在检测商品是否经过了经销商A时,监管设备可以从区块链获取到该签名T2和签名T1,并通过经销商A的公钥对签名T2进行验证,在通过验证时,可以确认商品经过了经销商A。否则,确认商品没有经过经销商A。
商品经过经销商A后,如果到达经销商B,则经销商A会将签名T2发给经销商B,经销商B该首先可以根据从区块链获取的该经销商A的公钥对该签名T2进行验证,在通过验证后,经销商B通过自己的私钥对该签名T2进行数字签名得到签名T3=sign(T2),然后将签名T3和签名T2上传至区块链。商品经过经销商B后,如果到达经销商C,则同理,经销商C可以得到经销商B发来的签名T3。
通过上述方法,无需在物品和流通环节中的节点、节点和节点之间建立过多的关联关系,只需要区块链上存储的签名以及前一节点提供的签名即可确定物品是否经过了当前节点,实现简单,成本低。
图8是根据本公开一示例性实施例示出的又一种物品身份管理方法的流程示意图,该方法应用于终端,当该终端为该第一物品流通环节上的中间节点的终端时,如图8所示,该方法还包括以下步骤:
步骤216,生成针对该第一物品的信息更新请求,该信息更新请求用于更新存储于该区块链上的该第一物品的信息,该第一物品的信息包括该第一身份信息和/或属性信息。
步骤217,通过利用该终端的私钥对该信息更新请求进行数字签名,得到第五签名。
步骤218,向该区块链发送该信息更新请求以及该第五签名,用于该区块链上的智能合约通过该终端的公钥对该第五签名进行验证,并在通过验证后根据该信息更新请求对该区块链上的该第一物品的信息进行更新操作。该更新操作包括以下至少一者:信息添加、信息删除、信息修改和/或信息废止。
即当需要对存储于区块链上的物品的信息进行更新时,终端可以生成该信息更新请求对其进行数字签名,然后将得到的签名发送至区块链,区块链上的智能合约通过该终端的公钥对该签名进行验证,在通过验证后即可按照信息更新请求的要求更新该第一物品的信息。例如,可以暂停或废除该第一物品的身份信息,也可以更新该第一物品的属性信息,例如错误信息更正,或者对不完整的信息进行补充,或者删除某一属性信息等等。
图9是根据本公开一示例性实施例示出的一种物品身份管理方法的流程示意图,该方法应用于微处理单元,如图9所示,该方法包括以下步骤:
步骤901,通过利用存储在该微处理单元的第一物品的私钥对目标信息进行数字签名,得到该目标信息的第一签名,该第一物品为该微处理单元所在的物品。
其中,微处理单元设置在该第一物品的内部,其安装方式可以如步骤101所述的方式,不再赘述。
步骤902,向终端发送该第一签名,用于该终端通过利用从区块链上获取的该第一物品的公钥,对该第一签名进行验证来确定该微处理单元中记录的该第一物品的第一身份信息的有效性。
图10是根据图9所示实施例示出的另一种物品身份管理方法的流程示意图,该方法应用于微处理单元,如图10所示,步骤901所述的:接收第一物品中的微处理单元发送的目标信息的第一签名的步骤可以包括:
步骤9011,接收该终端发送的由该终端生成的该目标信息,该目标信息包括随机数。
步骤9012,通过利用该第一物品的私钥对该目标信息进行数字签名,得到该第一签名。
即由终端随机生成一个随机数,然后将该随机数发送给第一物品中的微处理单元,微处理单元在得到该随机数后,利用微处理单元中存储的该第一物品的私钥对该随机数进行数字签名即可得到该第一签名,然后该微处理单元将该第一签名返回给终端,以供终端对该第一签名进行验证。
图11是根据图9所示实施例示出的另一种物品身份管理方法的流程示意图,该方法应用于微处理单元,如图11所示,步骤901所述的:接收第一物品中的微处理单元发送的目标信息的第一签名的步骤可以包括:
步骤9013,生成该目标信息,该目标信息包括随机数或该第一物品的身份信息。
步骤9014,通过利用该第一物品的私钥对该目标信息进行数字签名,得到该第一签名。
示例的,当终端和该第一物品的微处理单元距离达到通信距离,并触发验证后,可以在终端的驱动下,由该微处理单元生成一个随机数,并利用微处理单元中存储的该第一物品的私钥对该随机数进行数字签名即可得到该第一签名,然后该微处理单元将该第一签名以及该随机数一起返回给终端,以供终端对该第一签名进行验证。
或者,微处理单元可以利用微处理单元中存储的现有信息,例如该第一物品的该第一身份信息,微处理单元利用该第一物品的私钥对该第一身份信息进行数字签名得到该第一签名,然后该微处理单元将该第一签名以及该随机数一起返回给终端。
进一步的,图12是根据本公开一示例性实施例示出的又一种物品身份管理方法的流程示意图,该方法应用于微处理单元,该方法提供了一种查验物品身份真实性的方法,如图12所示,该方法还包括以下步骤:
步骤903,向该终端发送该第一物品的该第一身份信息,用于该终端根据该第一身份信息在该区块链中查询。
步骤904,利用该第一物品的私钥对该第一身份信息进行数字签名,得到该第一身份信息的第二签名。
步骤905,向该终端发送该第二签名,用于该终端在从该区块链中获取该第一物品的第二身份信息后,通过利用该第一物品的公钥和该第二身份信息对该第二签名进行验证,来确定该第一身份信息是否真实。
示例的,由于在验证某一信息的签名时,需要该信息的原文,以及签名时的私钥对应的公钥。因此,基于该原理,在获取了该第二身份信息后,需要该第一身份信息与该第二身份信息一致,那么该第一身份信息的该第二签名才可以通过验证。因此,如果利用该第一物品的公钥对该第二签名进行验证时,该第二签名如果能够通过验证时,可以确定第一身份信息为真实的;否则,如果未通过验证,则说明该第一身份信息不是真实的。
当确定第一身份信息为真实时,终端还需要在区块链中更新该第一物品的身份使用状态为已使用状态。具体的,可以参照步骤208至210,不再赘述。
另外,在步骤901所述的通过利用存储在所述微处理单元的第一物品的私钥对目标信息进行数字签名之前,该方法还可以包括:
首先,在标注设备的驱动下生成该第一物品的公钥和私钥。可以参照步骤101,不再赘述。
其次,将该第一物品的私钥,以及该第一物品的该第一身份信息存储在该微处理单元本地。其中,可以将存储在所述微处理单元本地的该第一物品的私钥设置为禁止外部设备读写,该微处理单元可以读取该第一物品的私钥,不可对该第一物品的私钥进行写操作。该第一物品的公钥则由标识设备上传至区块链,可参照步骤102,不再赘述。
图13是根据本公开一示例性实施例示出的一种终端的框图,该终端1300可以包括:
第一接收模块1301,用于接收第一物品中的微处理单元发送的目标信息的第一签名,该第一签名是该微处理单元利用存储在该微处理单元的该第一物品的私钥对该目标信息进行数字签名后得到的;
第一获取模块1302,用于从区块链上获取的该第一物品的公钥;
第一验证模块1303,用于通过利用该第一物品的公钥对该第一签名进行验证来确定该微处理单元中记录的该第一物品的第一身份信息的有效性。
可选的,该接收模块1301,用于:
生成该目标信息,该目标信息包括随机数;
向该微处理单元发送该目标信息;
在该微处理单元利用该第一物品的私钥对该目标信息进行数字签名后,接收该微处理单元发送的该第一签名。
或者,在另一种实现方式中,该接收模块1301,用于:
在该微处理单元生成该目标信息,并利用该第一物品的私钥对该目标信息进行数字签名后,接收该微处理单元发送的该第一签名和该目标信息;
其中,该目标信息包括随机数或该第一物品的身份信息。
可选的,图14是根据本公开一示例性实施例示出的另一种终端的框图,如图14所示,该终端1300还包括:
第二获取模块1304,用于从该微处理单元获取该第一物品的该第一身份信息;
查询模块1305,用于根据该第一身份信息在该区块链中进行查询,以从该区块链中获取该第一物品的第二身份信息;
该第一接收模块1301,还用于接收该微处理单元发送的该第一身份信息的第二签名,该第二签名是该微处理单元利用该第一物品的私钥对该第一身份信息进行数字签名后得到的;
第二验证模块1306,用于通过利用该第一物品的公钥和该第二身份信息对该第二签名进行验证,来确定该第一身份信息是否真实;
第一更新模块1307,用于当确定第一身份信息为真实时,向该区块链发送数据更新信息,该数据更新信息用于该区块链将该第一物品的身份使用状态更新为已使用状态。
可选的,图15是根据本公开一示例性实施例示出的又一种终端的框图,如图15所示,该终端还包括:
该查询模块1305,还用于再次根据该第一身份信息在该区块链中进行查询,以从该区块链中获取该第一物品的身份使用状态;
标识模块1306,用于当从该区块链中获取该第一物品的身份使用状态为已使用状态时,将该第一物品标识为物品身份已使用。
可选的,该终端为位于该第一物品流通环节上的首个节点,该目标信息为该第一物品的标识信息,该第一签名是该微处理单元利用该第一物品的私钥对该标识信息进行数字签名后得到的,图16是根据本公开一示例性实施例示出的又一种终端的框图,如图16所示,该终端还包括:
签名模块1307,用于通过利用该终端的私钥对该第一签名进行数字签名,得到第二签名;
发送模块1308,用于将该第一签名和该第二签名发送至该区块链,以便在该区块链中存储该第一签名和该第二签名。
可选的,该终端为该第一物品流通环节上的中间节点的终端,图17是根据本公开一示例性实施例示出的又一种终端的框图,如图17所示,该终端还包括:
第二接收模块1309,用于接收该第一物品流通环节中的上一节点设备发送的第三签名;
签名模块1307,用于通过利用该终端的私钥对该第三签名进行数字签名,得到第四签名;
发送模块1308,用于将该第三签名和该第四签名发送至该区块链,以便在该区块链中存储该第三签名和该第四签名。
可选的,图18是根据本公开一示例性实施例示出的又一种终端的框图,如图18所示,该终端还包括:
第二更新模块1310,用于生成针对该第一物品的信息更新请求,该信息更新请求用于更新存储于该区块链上的该第一物品的信息,该第一物品的信息包括该第一身份信息和/或属性信息;
签名模块1307,用于通过利用该终端的私钥对该信息更新请求进行数字签名,得到第五签名;
发送模块1308,用于向该区块链发送该信息更新请求以及该第五签名,用于该区块链上的智能合约通过该终端的公钥对该第五签名进行验证,并在通过验证后根据该信息更新请求对该区块链上的该第一物品的信息进行更新操作,该更新操作包括以下至少一者:信息添加、信息删除、信息修改和/或信息废止。
图19是根据本公开一示例性实施例示出的一种微处理单元的框图,如图19所示,该微处理单元1900包括:
签名模块1901,用于通过利用存储在该微处理单元的第一物品的私钥对目标信息进行数字签名,得到该目标信息的第一签名,该第一物品为该微处理单元所在的物品;
发送模块1902,用于向终端发送该第一签名,用于该终端通过利用从区块链上获取的该第一物品的公钥,对该第一签名进行验证来确定该微处理单元中记录的该第一物品的第一身份信息的有效性。
可选的,该签名模块1901,用于:
接收该终端发送的由该终端生成的该目标信息,该目标信息包括随机数;
通过利用该第一物品的私钥对该目标信息进行数字签名,得到该第一签名。
可选的,该签名模块1901,用于:
生成该目标信息,该目标信息包括随机数或该第一物品的身份信息;
通过利用该第一物品的私钥对该目标信息进行数字签名,得到该第一签名。
或者,在另一种实现方式中,
该发送模块1902,用于向该终端发送该第一物品的该第一身份信息,用于该终端根据该第一身份信息在该区块链中查询;
该签名模块1901,还用于利用该第一物品的私钥对该第一身份信息进行数字签名,得到该第一身份信息的第二签名;
该发送模块1902,还用于向该终端发送该第二签名,用于该终端在从该区块链中获取该第一物品的第二身份信息后,通过利用该第一物品的公钥和该第二身份信息对该第二签名进行验证,来确定该第一身份信息是否真实。
图20是根据本公开一示例性实施例示出的又一种微处理单元的框图,如图20所示,该微处理单元还包括:
生成模块1903,用于在该通过利用存储在该微处理单元的第一物品的私钥对目标信息进行数字签名之前,在标注设备的驱动下生成该第一物品的公钥和私钥;
存储模块1904,用于将该第一物品的私钥,以及该第一物品的该第一身份信息存储在该微处理单元本地。
可选的,该微处理单元还包括:
设置模块1905,用于将存储在该微处理单元本地的该第一物品的私钥设置为禁止外部设备读写。
图21是根据本公开一示例性实施例示出的一种标注设备的框图,如图21所示,该标注设备2100,可以包括:
生成模块2101,用于驱动第一物品中的微处理单元生成该第一物品的公钥和私钥;
上传模块2102,用于将该第一物品的公钥上传至区块链。
由于物品的公钥由标注设备存储在区块链中,因此物品与其对应的公钥具备不可篡改的绑定关系,而物品的私钥设置在物品中微处理单元,在物品完整的情况下难易获取该微处理单元,因此能够避免身份被伪造或套用的问题,并且在进行验证时,只需要能够访问该区块链的终端和该物品即可,无需掌握额外的知识或额外的设备,因此不会提高物品受众在防伪识别方面的学习成本。另外,由于采用了基于区块链的验证方式,因此能够避免由于中心化的真伪裁决方式导致的出错问题。
图22是根据本公开一示例性实施例示出的一种物品管理系统的结构图,该系统包括:终端001、位于物品002中的微处理单元0021以及标识设备003;
终端001用于实现权利图2至图8任一所示方法的步骤;
微处理单元0021用于图9至图12任一所示的任一项所示方法的步骤;
标识设备003用于图1所示方法的步骤。
可选的,上述系统还可以用于物联网设备身份标识,在此场景下,如图23所示,该第一物品可以为含有上述微处理单元002的物联网设备,该标识设备003可以为该物联网设备的生产设备,上述终端001可以为用于识别该物联网设备识别设备。
生产设备能够激活物联网设备内的微处理单元,生成密钥对,并将密钥对中的公钥以及该物联网设备的身份信息上传至区块链,该识别设备在进行识别时,从该微处理单元获取物联网设备私钥签名,当该签名能够通过区块链上对应公钥验签成功时,即可确认该物联网设备的身份有效。其具体方法与图1至图12所示的方法相同,不再赘述。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图24是根据一示例性实施例示出的一种电子设备2400的框图。如图24所示,该电子设备2400可以包括:处理器2401,存储器2402。该电子设备2400还可以包括多媒体组件2403,输入/输出(I/O)接口2404,以及通信组件2405中的一者或多者。该电子设备24可以为上述的终端或标识设备。
其中,处理器2401用于控制该电子设备2400的整体操作,以完成上述的物品身份管理方法中的全部或部分步骤。存储器2402用于存储各种类型的数据以支持在该电子设备2400的操作,这些数据例如可以包括用于在该电子设备2400上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器2402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件2403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器2402或通过通信组件2405发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口2404为处理器2401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件2405用于该电子设备2400与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件2405可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备2400可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的物品身份管理方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的物品身份管理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器2402,上述程序指令可由电子设备2400的处理器2401执行以完成上述的物品身份管理方法。
此外,还提供一种微处理单元,包括:
存储器,其上存储有计算机程序;
处理器,用于执行该存储器中的该计算机程序,以实现上述的物品身份管理方法的步骤。
还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的物品身份管理方法的步骤。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。