一种基于RFID标签和区块链的商品防伪溯源方法

文档序号:31116785发布日期:2022-08-12 22:09阅读:153来源:国知局
一种基于RFID标签和区块链的商品防伪溯源方法
一种基于rfid标签和区块链的商品防伪溯源方法
技术领域
1.本发明属于区块链技术领域,特别涉及一种基于rfid标签和区块链的商品防伪溯源方法。


背景技术:

2.射频识别标签(rfid)技术是一种常用的无线通信技术,它可以通过无线电信号识别目标并对其数据进行读写,无需识别系统与识别目标之间进行接触。rfid技术具有条形码、二维码所不具备的防水、防磁、耐高温特性,它还具备使用寿命长、读取距离大、标签上数据可以加密、存储数据容量更大、存储信息更改自如等优点。并且rfid标签体积小、制造成本低,可以很容易地贴附在物品上。因为其标签芯片具有全球唯一id特性,所以它作为物品的唯一识别码,用作身份标识,在商品防伪领域已有较为成熟的应用场景。但是仅依靠传统rfid技术的防伪会存在一些安全隐患,标签芯片的可读写特性为伪造标签带来了可能性,并且传统的rfid防伪技术的数据管理系统一般为中心化的系统,可能导致信息大量泄漏。
3.区块链包含了一些计算机技术的新型应用模式:共识机制、分布式数据存贮、点对点传输、加密算法等等。根据区块链开发对象的不同,区块链分为公有链、联盟链、私有链三种,区块链发展经历了三个阶段:以比特币为代表的货币区块链技术1.0、以太坊为代表的合同区块链技术2.0、以实现完备权限控制和安全保障的超级账本(hyperledger)项目为代表的区块链技术 3.0。区块链3.0的出现使区块链技术突破了金融领域的局限,为各种行业提供了去中心化的解决方案。在超级账本 (hyperledger)项目生态中,子项目hyperledger fabric是一种面向企业的分布式账本平台,引入权限管理,设计上支持可插拔、可扩展,是首个面向联盟链场景的开源项目。区块链防伪技术的优点在于信息上链难以篡改,除了防伪以外,还可以做到溯源,目前区块链技术在物联网领域的应用主要是与二维码结合,但是二维码容易被复制、伪造,并且容易污损和损坏,其缺陷十分明显,使假冒伪劣产品有机可乘。


技术实现要素:

4.本发明提供了一种基于rfid标签和区块链的商品防伪溯源方法,旨在改善商品防伪溯源技术中存在的易被篡改、信息泄露、伪造等不足。
5.为了解决上述技术问题,本发明提供了一种基于rfid标签和区块链的商品防伪溯源方法,包括以下步骤:
6.选用一种13.56mhz的rfid标签贴附在商品上,向标签中写入16位16进制数据,作为商品和标签的唯一识别码;
7.建立数据库,通过阅读器和上位机软件录入商品唯一识别码,在商品唯一识别码录入的过程中,采用twofi sh加密算法对其进行加密处理,产生防伪溯源码,并且根据每个时间产生新的密钥,通过密钥的不唯一进一步保障加密的安全,最终数据库表中存放的是
商品的防伪溯源码,录入完成之后,补充对应商品的生产商名称、生产时间、质检信息等信息;
8.配置区块链网络,运用docker容器化技术部署到生产网络;
9.建立防伪溯源平台,设计开发防伪溯源平台的sdk和web前端模块,web前端模块通过调用sdk的接口,实现了与区块链账本进行交互;当交易发生时,能够更新账本,通过在防伪溯源平台输入防伪溯源码调用相应的数据库接口,根据防伪溯源码在数据库中查询到该商品信息,并自动填充防伪溯源平台的生产商信息、生产时间、质检信息。
10.优选地,所述配置区块链网络包括采用hyperledgerfabric2.3作为区块链网络的开发框架,搭建的区块链网络采用 etc-raft共识算法。etc-raft共识算法是一种强一致性的算法,满足了区块链网络节点之间的一致性。
11.优选地,所述配置区块链网络还包括:
12.fabric raft环境搭建:在linux发行版服务器系统centos 下部署3个排序节点,每个排序节点上安装了raft共识服务,这样就组建了raft集群,同时部署4个对等节点,分属两个组织, 每个组织有peer0和peer1两个节点;
13.生产环境使用fabric ca:在fabric raft生产环境部署的基础上部署fabric ca,使用fabric ca来生成公私钥和证书文件,用于对网络中的节点进行认证;
14.生产环境使用coughdb:采用coughdb作为区块链状态数据库,通过链码函数对coughdb进行查询
15.安装区块链浏览器hyperledger explorer绑定组织的区块信息;
16.将sdk打包成jar包,安装在每个peer节点上,通过docker 启动配置好生产环境的fabric网络,执行sdkjar包,整个防伪溯源服务启动,用户可在通过http访问防伪溯源平台。
17.优选地,fabric raft生产环境部署有3个组织,分别为1 个orderer组织和2个peer组织,对应的id设置为example.com、 org1.example.com和org2.example.com,此外分配一个逻辑的根 ca和3个中间ca,3个中间ca都隶属于根ca,3个中间ca分别负责1个0rderer组织和2个peer组织的公私钥和证书的生成。
18.优选地,所述防伪溯源平台还包括创建一个管理员,所述管理员用于创建/删除生产商、经销商、消费者以及对生产商、经销商、消费者进行权限管理,所述生产商通过平台创建和查询由生产商到经销商的供货交易流程,所述经销商通过平台创建和查询由经销商到消费者的买卖交易流程,所述消费者根据商品防伪溯源码通过平台查询商品从生产到售出的整个交易的流程信息。
19.优选地,所述防伪溯源平台sdk基于java语言和springboot 框架开发,所述web前端模块运用javascript、css、html语言开发。
20.与现有技术相比,本发明具有以下优点:消除了现有技术中溯源技术的缺陷,避免信息泄露、数据篡改,并且还可以可靠的溯源;生产商可以在防伪溯源系统中向经销商供货,经销商也可以通过溯源系统向消费者销售商品,消费者可以根据防伪溯源码查询商品从生产到出货到销售的全链路的交易信息,从而使生产商、经销商、消费者均能够简单方便的对商品进行防伪溯源。
附图说明
21.图1是实施例中采用twofish加密算法对明文加密和解密的流程示意图。
22.图2是实施例中的fabric ca组织架构示意图。
23.图3是实施例中所使用的coughdb界面示意图。
24.图4是实施例中所使用的区块链浏览器界面示意图。
25.图5是实施例中hyperledger fabric网络启动成功界面示意图。
26.图6是实施例中用户在防伪溯源平台上执行操作时控制台信息示意图。
27.图7是实施例的生产商在防伪溯源系统中向经销商供货操作示意图。
28.图8是实施例的经销商向消费者销售商品操作示意图。
29.图9是实施例的根据防伪溯源识别码查询商品从生产到出货到销售的全链路的交易信息操作示意图。
具体实施方式
30.下文将结合具体实施例对本发明的技术方案做更进一步的详细说明。应当理解,下列实施例仅为示例性地说明和解释本发明,而不应被解释为对本发明保护范围的限制。凡基于本发明上述内容所实现的技术均涵盖在本发明旨在保护的范围内。
31.本基于rfid标签和区块链的商品防伪溯源方法将rfid技术与区块链技术相结合,搭建一个防伪溯源平台。选用一种rfid 标签贴附在商品上,向标签中写入16位16进制数据,作为商品和标签的唯一识别码;
32.采用rfid阅读器读取rfid标签数据,经过上位机软件读入到计算机系统,采用twofi sh加密算法对标签的唯一识别码进行加密,产生的密文作为商品的防伪溯源码,并在数据库中补充生产商名称等信息,这里存储到数据库表中的数据仅作为数据仓库,并不包含交易信息。
33.采用hyperledger fabric2.3作为区块链网络的开发框架,运用docker容器化技术部署到生产网络中。区块链网络采用 etc-raft共识算法,这种强一致性的算法满足了区块链网络节点之间的一致性。
34.根据hyperledger fabric官方提供的java api,采用springboot作为基本的开放框架,设计和开发防伪溯源平台sdk。同时运用javascript、css、html等语言开发出防伪溯源平台的web 前端模块。web通过web前端页面的操作调用sdk的接口,实现了与区块链账本进行交互,当交易发生时,能够更新账本,并且可以根据rfid的唯一识别码对区块链账本交易进行查询。
35.具体的实现过程如下:
36.选用一种频率为13.56mhz的rfid标签,每个rfid标签被写入了16位16进制唯一识别码。rfid标签阅读器采用已有的技术产品,其功率可以调节,调整其工作频率在13.56mhz便可读取 rfid标签,rfid标签阅读器连接到pc以后,通过上位机软件读取rfid标签信息。本实施例中,一个商品选择一个rfid标签,将标签的16位16进制的唯一识别码作为明文,采用twofish算法对明文加密,生成的密文作为商品的防伪溯源码,代表这个商品的唯一身份,防伪溯源码录入到数据库中,其中加密秘钥每周更新。需要验证身份时可以通过twofish算法的密钥解密,再比对密文。此数据库表中的信息仅作为数据仓库,保存商品的
身份信息。明文的加密和解密流程如图1所示。
37.在建立防伪溯源平台时,针对于商品生产和交易的流程,定义了生产商、经销商、消费者三种角色,并且创建了一个管理员角色负责生产商、经销商、消费者等角色的创建、删除和权限管理。生厂商、经销商、消费者可以登陆防伪溯源平台,生产商可以通过平台创建和查询由生产商到经销商的供货交易流程,经销商可以通过平台创建和查询由经销商到消费者的买卖交易流程。消费者可以根据商品的防伪溯源码通过平台查询商品从生产到售出的整个交易的流程信息。基于java语言和springboot框架开发防伪溯源平台sdk,对外提供接口。同时运用javascript、css、 html等语言开发防伪溯源系统的web前端模块,生产商、经销商、消费者可以登录web平台发布和查询交易,在发布和查询的过程中调用sdk提供的相应接口,与区块链账本进行交互。这样实现了完整的具备防伪溯源能力的前后端一体的服务端平台。
38.配置和部署hyperledger fabric2.3区块链网络:
39.fabric raft生产环境搭建:hyperledger fabric作为一种分布式网络,分布式一致性的实现至关重要,在发布1.4.3版本时,增加了新的共识策略raft,以此来循序渐进地迁移至拜占庭容错算法(pbft),它是一种基于etcd的崩溃容错(cft)排序服务。raft遵循“领导者和追随者”模型,其中每个通道都会选举一个leader,而且它的决策会复制给追随者。和基于kafka集群的排序服务相比,基于raft的排序服务将变得更容易设置和管理,并且它的设计允许遍布全球的组织成为分散的排序服务贡献节点。本实施例在linux发行版服务器系统centos下部署3 个排序节点(orderer节点),每个排序节点上安装了raft共识服务,这样就组建了raft集群,同时部署4个对等节点(peer 节点),分属两个组织(organization),每个组织有peer0和peer1 两个节点,peer节点为具体的业务直接服务。
40.生产环境使用fabric ca:在fabric raft生产环境部署的基础上部署fabric ca,使用fabric ca来生成公私钥和证书文件,用于对网络中的节点进行认证,保证fabric网络的安全,防止了恶意节点的加入。fabric raft生产环境部署有3个组织,分别为1个orderer组织和2个peer组织,对应的id设置为 example.com、org1.example.com和org2.example.com,为了让生产环境fabric ca具有扩展性和安全性,分配一个逻辑的根ca (root ca)和3个中间ca(intermediaca),3个intermediaca 都隶属于rootca。3个intermediaca分别负责1个0rderer组织和2个peer组织的公私钥和证书的生成。当有新的组织加入时,只需要再生成一个intermedia ca接入rootca下,不会对已经存在的intermediaca产生影响。fabric ca组织架构如图2所示。
41.生产环境使用coughdb:fabric支持两种类型的对等状态数据库,分别为leveldb和couchdb。其中,leveldb是嵌入在对等节点中的默认状态数据库。leveldb将链码数据存储为简单的键值对,并且仅支持键、键范围和复合键查询。couchdb是一个可选的备用状态数据库,它允许您将分类帐上的数据建模为 json,并针对数据值而不是键发出丰富的查询。couchdb支持还允许使用链代码部署索引,以提高查询效率并使您能够查询大型数据集。本实施例采用coughdb作为区块链状态数据库,通过链码函数对coughdb进行查询。使用时,coughdb界面如图3所示。
42.安装区块链浏览器hyperledger explorer绑定组织的区块信息,以便查看区块链账本的区块信息。区块链浏览器界面如图4 所示,这里选择org1展示。
43.将sdk打包成jar包,安装在每个peer节点上,通过docker 启动配置好生产环境的fabric网络,网络启动成功界面如图5所示运行,执行sdkjar包,整个防伪溯源服务启动,用户可在通过 http访问防伪溯源平台。当用户在防伪溯源平台上执行操作时会调用智能合约,系统控制台信息,控制台信息如图6所示。
44.本发明实施过程如图7-9所示。
45.生产商在防伪溯源系统中向经销商供货,通过操作浏览器界面可以直观清楚的查看每个商品的供货记录,包括商品名称、质检信息、登记时间、操作人员等。经销商在防伪溯源系统向消费者销售商品的记录,包括交易提供方、交易接收者、交易时间、金额、备注、登记日期、修改日期、操作人员和修改人员等。通过防伪溯源码可以完整的查询商品从生产到出货到销售的全链路的交易信息,这样能够实现对商品的准确可靠溯源,并且数据难以被篡改和伪造,这使得商品溯源防伪的真实性得到了极大的保障,并且操作简单方便。
46.本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1