CopyRight 2009-2020 © All Rights Reserved.版权所有: 中国海关未经授权禁止复制或建立镜像
包装食品印刷二维码溯源体系及安全性分析
作者:陈 勇1,2 吴绍精1,2 邢 军1,2 包先雨1,2
陈 勇1,2 吴绍精1,2 邢 军1,2 包先雨1,2
摘 要 现有印刷二维码安全主要采用图形加密或数字加密方式,难以满足系统高安全性及防伪要求。通过采用HTTPS网络传输层安全协议和公共密钥基础设施技术,实现对食品生产、流通、消费环节企业和互联网食品溯源平台进行身份认证,再配合使用食品包装上印刷二维码索引,建立一个食品信息溯源体系,可有效解决食品信息通过互联网在食品生产、流通和消费环节间传递的真实性、完整性、溯源性和不可篡改等问题,而且具有高安全性和防伪功能。
关键词 HTTPS网络安全传输协议;公共密钥基础设施;印刷二维码;包装食品;溯源体系
Printing QR Code Traceability System and Safety Analysis for Packaging Food
CHEN Yong1,2 WU Shao-Jing1,2 XING Jun1,2 BAO Xian-Yu1,2
Abstract The security of traditional printed QR code mainly adopts graphic encryption or digital encryption, which is difficult to meet the high security and anti-counterfeiting requirements of the system. To realize the identity authentication of food production, circulation, consumption enterprises and Internet food traceability platform, and then cooperate with the use of food packaging printing QR code index, a novel food information traceability system is established by utilizing HTTPS network transport layer security protocol and transport layer security protocol technology. The system could not only effectively solve the problem of food information production and circulation through the Internet in food production and circulation, such as authenticity, integrity, traceability and non-tamperability, etc., but also it has high security and anti-counterfeiting functions.
Keywords HTTPS transport layer security protocol; KPI; printed QR code; packaging food; traceability system
引言
印刷二维码标签作为一种简便、易用和廉价的网络信息传递方法,目前已在大米、乳制品等食品包装上广泛应用。但在对传递信息真实性、完整性、溯源性和不可篡改等十分敏感的领域,比如:食品溯源中的印刷二维码的易复制性及其信息读写算法的公开性,极大地制约了印刷二维码的应用。近年来,国内外许多学者对二维码图形加密和数字加密算法进行了研究,但针对二维码图形加密的研究,需要配套专用二维码扫描设备[1-2];针对数字加密算法的研究,需要限制二维码内容加密强度[3],或需要对二维码读写算法进行特殊处理[4]。
本文根据现代密码学和网络通信安全基本原理,采用HTTPS网络传输层安全协议TLS1.3(Transport Layer Security Protocol Version1.3)和公共密钥基础设施KPI(Public Key Infrastructure),设计一种适合包装食品印刷二维码进行网络信息传递的溯源体系,无需专用扫描设备,无需限制二维码内容,无需采用特殊二维码读写算法,即可实现食品信息通过互联网在食品生产、流通和消费环节间传递,并满足食品信息溯源有效性和安全性等要求。
本文使用的符号说明
ESKorPK[M]表示Encryption加密,DSKorPK[C]表示Decryption解密,其中:K表示密钥分“SK”私钥和“PK”公钥;M表示明文,C表示密文。
1 现代密码学和网络通信安全基本原理
现代密码学安全性两条准则[5]:
(1)破译密文的代价超过被加密信息本身的价值。
(2)破译密文所花的时间超过被加密信息的有用期。满足其中之一,就可认为满足实际安全要求。
网络通信安全基本原理[6]:
(1)发送者对传送的信息进行安全加密,包括:对信息的加密和通信双方身份认证。
(2)通信双方共享加密信息的解密密钥。
(3)可信第三方负责为通信双方密钥的储存并向通信双方发布解密密钥,而对攻击者保密。加密后的密文可以通过不安全信道传送给预定的信息接收者。
自2018年IETF (Internet Engineering Task Force)推出TLS1.3传输层安全协议以后,基于KPI技术的HTTPS网络安全传输协议被广泛采用。使密钥的安全储存、分发以及通信双方身份认证得到实现,已成为网络安全通讯的基础条件。
1.1 公私钥加解密
假设P是食品生产企业,P利用RSA数字签名体系,自行生成非对称公、私钥对。P用私钥对食品源头信息进行加密,公钥用于关注食品质量信息的机构,如:溯源平台、食品流通环节(T1,T2)、食品消费环节解密食品源头信息。
为便于阐述,现将P的食品源头信息定义为M食品,包括:
M食品=[ID食品,QM食品,M食品 Hash]
其中ID食品为食品编码,QM食品包括食品合格信息,M食品 Hash为对(ID食品,QM食品)进行Hash变换后的信息摘要;P的公钥为PK食品,私钥为SK食品。
这种应用场景下,食品生产企业P对食品源头信息加密具体原理是:
P用私钥SK食品对M食品进行加密,得到密文C食品:
C食品=ESK食品[M食品]
=ESK食品[ID食品,QM食品,M食品 Hash]
如果食品安全溯源平台(以下简称“溯源平台”)拥有生产企业P的解密公钥PK食品,可以容易地解出M食品:
DPK食品[C食品]=DPK食品[ESK食品[ID食品, QM食品, M食品 Hash]]
=(ID食品,QM食品,M食品 Hash)
因为C食品只能是由生产企业P使用私钥SK食品加密的食品源头信息,其他人不能代替P这样做,实现了食品信息的真实性和不可篡改性。
同理,溯源平台、食品流通环节T1、T2等在生成各自信息时,用自己的私钥加密,其他人不能代替,实现了信息的真实性和不可篡改性;同时溯源平台、食品流通环节(T1、T2)、食品消费环节等如果拥有生产企业P的解密公钥PK食品,可以容易地解出M食品。
1.2 身份认证及安全信道建立
溯源平台获得上述P企业食品源头信息后,可以为溯源平台用户T1、T2等食品流通环节企业提供P企业食品源头信息。该过程可以通过HTTPS网络安全传输协议,在溯源平台与用户T1、T2进行通讯握手交互时,自动完成通信双方的身份认证和安全信道的建立。交互和安全信道建立过程如下:
(1)溯源平台和P、T1、T2等可以通过向第三方证书认证机构(以下简称“CA”)申请,获得由CA发放的,将P、T1、T2等各自公钥与身份认证信息绑定的公钥证书。
(2)当P、T1、T2等向溯源平台申请公钥PK平台时,P、T1、T2等先与溯源平台通过HTTPS协议建立握手交互,握手交互时告知溯源平台约定采用的CA公钥证书密文和公钥证书发方CA的公钥PKCA,溯源平台再根据约定通过CA获得CA发布的公钥证书密文以及解密用PKCA。
(3)在握手交互同时,P、T1、T2向溯源平台提交各自保存的公钥证书密文。
(4)溯源平台用对CA提供的公钥证书,P、T1、T2各自提交的公钥证书分别解密,然后进行比对两种公钥证书内容。如果比对一致,则完成公钥证书真实性的验证,同时完成对P、T1、T2等的身份进行认证,并获得P、T1、T2等的公钥。
(5)同样方式,P、T1、T2也可以完成对溯源平台的身份认证并获得溯源平台的公钥,握手交互过程完成。
(6)握手交互完成后,通信双方获得对方公钥,就能够建立HTTPS的安全信道,实现了信息的安全传递。
现将CA公钥证书身份认证和安全信道建立的原理介绍如下:
为便于阐述,现假设流通企业T1向CA提交企业身份认证信息,以便获得CA签发的公钥证书。
T1利用RSA数字签名体系,生成非对称公、私钥对。PKT1公钥传递给CA,由CA对T1身份进行审核后,生成公钥证书。现将公钥证书定义为McertT1,包括:
McertT1=[IDcertT1,IDCA,EXPNcertT1,IDT1,PKT1,McertT1Hash]
其中:IDcertT1是CA公钥发放证书编码,McertT1是CA编码,EXPNcertT1公钥发放证书McertT1有效期,IDT1为食品流通企业T1编码,PKT1食品流通环节企业公钥,McertT1Hash为对(IDcertT1,IDCA,EXPNcertT1,IDT1,PKT1, McertT1Hash)内容进行Hash变换后的信息摘要。
CA形成自己的公钥为PKCA,私钥为SKCA;CA将PKCA对外公布,CA用SKCA对公钥证书McertT1进行加密,得到公钥证书密文CcertT1:
CcertT1=ESKCA[McertT1]
=ESKCA[IDcertT1,IDCA, EXPNcertT1,IDT1,PKT1,McertT1Hash]
流通企业T2、生产企业P和溯源平台的公钥证书密文CcertT2、CcertP、Ccertc平台也以同样方式得到。
因为,CcertT1只能是大家公认的CA用自己的私钥签名的公钥证书,其他机构做不能代替,保证了公钥证书内容的真实性;又因为T1公钥证书使T1公钥与CA预留的T1身份认证信息绑定,保证了公钥的真实性。
T1妥善保管私钥SK流通,用于对其向溯源平台提供T1对于食品源头信息更新的流通环节时间戳和食品流通信息(以下简称“更新的流通信息”),并对更新的流通信息进行加密。
同样原理,生产企业P和溯源平台公钥真实性也得到保证。
由于溯源平台通过CA获得流通企业T1的公钥,能够解密T1加密的更新的流通信息,实现了HTTPS的安全信道建立,保证信息的安全传递。
2 食品信息溯源体系
包装食品溯源应用场景具有如下特点:
(1)包装食品供应链相对固定,有利于经过身份认证食品生产、流通和消费环节用户通过互联网在溯源平台上对食品质量信息进行信息生成、更新流通信息、溯源查询。
(2)包装食品流通周期时效性强,适合使用工程上易实现的RSA密码体制进行数字加密。
(3)包装食品普遍采用印刷二维码标签链接互联网进行信息传递,有利于实现印刷二维码与加密食品质量信息关联,并可涵盖零售企业到消费者这一环节,符合食品供应链各企业的需求。
下图是在包装食品溯源应用场景下,印刷二维码食品网络信息溯源交互体系具体的流程图(图1)。
2.1 食品源头信息生成及二维码绑定
食品生产企业在PC端用RSA加密算法形成一对公、私钥,私钥由食品生产企业妥善保存,公钥通过1.2介绍的方式,完成与溯源平台间身份的相互认证和安全信道建立,进而实现食品源头信息安全传递。因为食品生产企业用私钥对M食品进行加密:
C食品=ESK食品[M食品]
=ESK食品[ID食品,QM食品,M食品Hash]
保证了溯源平台的食品源头信息是由掌握私钥的食品生产企业生成的,是真实的、不可篡改的。
溯源平台用生产企业的公钥解密食品源头信息,并生成食品包装二维码,将解密的食品源头信息的索引与二维码绑定,并储存到溯源平台。二维码信息通过HTTPS安全信道传递给食品生产企业,用于食品生产企业印刷到食品包装上。
由于食品源头信息来自于真实的食品生产企业,食品包装上绑定的二维码来自于真实的溯源平台,保证扫描食品包装上绑定加密食品源头信息的二维码可以溯源到真正的生产企业。
2.2 食品流通信息生成与启用标记
食品流通、消费环节企业在PC端,用RSA加密算法生成一对公、私钥,妥善保存各自私钥。公钥通过1.2介绍的方式,完成各自与溯源平台间的安全传递,进而实现食品流通、消费环节对食品源头信息进行信息流通信息的更新、安全传递和查询。
这里以流通环节企业T1公钥证书为例进行说明:
CcertT1=ESKCA[McertT1]
=ESKCA[IDcertT1,IDCA, EXPNcertT1,IDT1,PKT1,McertT1Hash]
溯源平台利用CA公钥解密公钥证书完成对上述公钥证书解密,在HTTPS层自动完成对上述企业的身份认证和公钥PKT1的传递。
DPKCA=[CcertT1]
=DPKCA[ESKCA[IDcertT1,IDCA,EXPNcertT1,IDT1,PKT1, McertT1Hash]]
=(IDcertT1,IDCA,EXPNcertT1,IDT1,PKT1, McertT1Hash)
=McertT1
食品流通、消费环节企业与溯源平台完成相互的身份认证和公钥的传递后,就可以建立安全信道查询食品信息同时在食品源头信息的基础上更新的食品流通或消费信息。为表述方便,定义M'食品=P+T1+T2+&…+C。M'食品为食品生产环节和之前已记录的流通环节信息或食品消费信息,由溯源平台记录并妥善保管。
具体过程如下图(见图2):
2.3 食品流通全链条信息查询
由于食品源头信息与二维码绑定,食品流通环节企业或消费环节的扫描终端通过扫描二维码链接的URL登录溯源平台,通过HTTPS与溯源平台建立安全信道,获得溯源平台记录的对应的密文和溯源平台解密公钥,具体过程如下:
C'食品=ESK平台[M'食品]
=ESK平台[ID食品,QM'食品,M'食品Hash]
食品流通环节企业或消费环节的扫描终端用PK平台解密C'食品,获得明文信息M'食品。
此时查询者可以核对真实的食品信息是否与QM'食品中食品合格标准信息一致,或使用各自的安全信道向溯源平台反馈更新的流通、消费等信息。
二维码一旦认证的扫描终端扫描,溯源平台自动生成一条包装二维码启用信息,自动标记二维码索引已解密,以便溯源平台及时发现不合正常流通逻辑的仿冒二维码扫描、查询情况发生。
上述功能可以在HTTPS安全信道建立的基础上自动实现,保证对查询企业的身份进行认证,实现食品流通过程的可溯源性。
3 溯源体系安全性分析
3.1 数字加密和身份认证技术增加仿冒行为的难度
首先,在包装食品流通链的互联网食品信息溯源应用系统中,食品信息加密发布、信息解密以及信息查询者身份认证均通过HTTPS技术实现,未经身份认证的信息查询者,与平台进行信息交互,即使获得食品生产、流通和消费环节加密信息C'食品,但无法获得溯源平台公钥PK平台,仍无法获得食品各环节信息的明文M'食品。
目前RSA模值n的长度为1024位二进制数,仿冒者如果想破解PK平台,破解时间约为,如果用MIPS年来表示每秒执行一百万条指令的计算机运行一年的计算量,相当于9×108MIPS年。
3.2 网络环境中的复制“真实”二维码和仿冒食品难以遁形
真实二维码一旦被扫描,将被溯源平台标记为启用。即使在食品生产、流通和消费环节出现所谓的复制“真实”二维码,或同类仿冒食品生产者仿冒了“真实”的二维码,由于其不可能先于真实二维码被启用,无法获得真实食品信息明文信息M食品及加密钥SK食品,无法篡改加密内容M食品。在食品生产、流通和消费环节中,只要仿冒的二维码被经过身份认证食品流通企业扫描终端扫描,溯源平台会收到大量重复出现的被标记为启用的二维码信息,可以轻松锁定被复制二维码所涉及的假冒食品品种、数量及涉及的生产流通环节等线索,及时通知关注食品信息的食品流通环节企业机构和消费者注意和防范,达到阻吓同类仿冒食品生产者仿冒真实的二维码的冲动,实现应用系统整体的防伪目的。
4 结论
本文采用最新的HTTPS传输层协议标准、KPI技术,配合印刷二维码为索引进行设计,因使用非对称密码加密体系,即使同一食品生产企业面对多个不同食品流通环节企业,只需一对公、私钥密码即可满足对同一批次食品溯源的要求;不同的食品流通环节企业,各自只要产生一对公、私钥密码,即可满足溯源平台对不同批次食品流通、消费各环节溯源的要求。
因采用印刷二维码为索引进行设计,适合食品生产流通领域食品行业人员、设备和技术水平,对加解密设备、扫描设备和操作人员技术水平要求不高;因避免了对二维码内容本身进行加解密处理,对RSA加密强度无限制,对加密数据bit数无限制,对二维码污损不敏感;符合印刷二维码简便、易用和廉价的特性,具有适用性好、成本低的特点,推广应用前景广阔。
【该文经CNKI学术不端文献检测系统检测,总文字复制比为2.5%。】
科研项目:国家重点研发计划课题《食品全产业链智能化风险追溯技术》(2017YFC1601004)
第一作者:陈勇(1967-),男,高级工程师,主要从事食品溯源、信息安全研究,E-mail: jky1116@163.com
1.深圳市检验检疫科学研究院 深圳 518045 2.深圳海关信息中心 深圳 518045
1. Shenzhen Academy of Inspection and Quarantine, Shenzhen 518045
2. Shenzhen Customs Information Center, Shenzhen 518045
食品质量信息溯源体系框架图
图1 包装食品印刷二维码溯源体系
Fig.1 Printing QR code traceability system for packaging food
食品生产、流通和消费环节与溯源平台信息交互过程
图2 溯源平台与食品供应链的信息交互过程
Fig.2 Information exchange between Internet traceability platform food supply chain
参考文献
[1]郑志学,李长云,倪伟. 一种基于多线程加密的防伪二维码的生成方法[J].湖南工业大学学报, 2016, 30(5):41-44.
[2]张垒,刘双印,曹亮,徐龙琴,黄运茂,闫大顺. 基于农产品溯源的二维码防伪系统设计[J].通信技术, 2018, 51(11):2721-2726.
[3]方文和,李国和,吴卫江,洪云峰,周晓明. 面向Android的RSA算法优化与二维码加密防伪系统设计[J].计算机科学, 2017, 44(1):176-182.
[4]尹倩. 基于数字签名的可信二维码生成与认证方案研究[D].电子科技大学, 2018.
[5]李海峰,马海云,徐燕文. 现代密码学原理及应用[M].国防工业出版社, 2013.
[6]于工,牛秋娜,朱习军,刘勇. 现代密码学原理与实践[M] 西安电子科技大学出版社, 2009.
(文章类别:CPST-C)