耿子烨 刘思宇 北方工业大学计算机学院
基于二维码和商用密码算法的商品防伪技术研究
耿子烨 刘思宇 北方工业大学计算机学院
结合当下日趋成熟的二维码技术,利用商用密码算法对商品防伪进行研究,将商品信息进行密码技术处理,制作二维码防伪标签,保证商品信息的保密性、完整性、不可抵赖性,可有效验证商品真伪。通过二维码管理中心、商品出厂管理系统和防伪查询App的协调作用,为消费者提供准确、快捷的查询真伪的途径,实现了低成本、便捷性与安全性的统一。
二维码 商用密码算法 商品防伪 数字签名
随着我国经济的飞速发展,商品市场日渐繁荣,在物质商品丰富的同时,假冒伪劣商品也层出不穷。这些假冒伪劣产品严重危害消费者的合法权益,扰乱了市场秩序,商品防伪已成为人们关注的焦点问题之一。
商品防伪关键在于证明正规商品的唯一性,而现有的防伪方式,比如水印防伪、条形码防伪,在验证唯一性方面还不是很完善,一旦出现仿造的假冒伪劣产品,会给消费者和厂商造成损失,因此如何利用技术手段对商品进行有效防伪亟待解决。
随着移动通信技术的发展,智能手机已经成为大众生活必不可少的一部分,移动互联网成为重要的移动终端。在移动终端的二维码技术趋于成熟的形势下,利用二维码技术结合密码学技术,基于二维码和商用密码算法的商品防伪技术应运而生。
密码技术是安全的基石,其防伪机理在于利用商用密码学算法对商品信息进行加密后生成的二维码,制作二维码防伪标签。二维码防伪标签既拥有二维码的不易复制、成本低廉的优点,又兼备应用商用密码技术保证安全性的优势,确保商品信息的保密性、完整性、不可抵赖性。鉴于此,应用二维码技术与商用密码技术结合的商品防伪技术拥有可靠、方便的防伪机制,同时为大众提供了准确、快速、便捷的查询真伪途径。
2.1 二维码发展现状
二维码是用特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的矩形方阵记录数据符号信息的新一代条码技术,具有信息量大,纠错能力强,识读速度快,全方位识读等特点。因此,二维码可作为一个跨媒体的通道,不管是报纸、杂志、户外、液晶媒体等载体,只要在上面有一个二维码,就可以通过二维码来跟人互动,获取相关的信息。
目前二维码的主要应用形式:
2.1.1 二维码付款
由于传统网络支付方式存在易被截获等安全隐患,现今,许商家提供了扫描二维码的支付方式,比如支付宝公司的二维码收款业务,支付宝客户端可为所有提交“向我付款”申请的用户生成二维码,消费者打开支付宝App的扫码功能,通过扫描二维码,就能成功跳转至支付页面,进行付款,操作完成后,收款将成功转至收款人账户。
2.1.2 电子票务
结合二维码的电子票务逐渐发展,由火车票加入二维码,扩展至飞机票、演唱会门票、电影票、景点门票、展会门票等。通过对消费者购买相关门票时,对消费者的相关证件信息(姓名、证件号、账号等)进行审核,并根据这些信息为其生成二维码,将附有二维码的票据发放给消费者。在入场时,相关工作人员会扫描消费者持有的票据上的二维码,对比检查消费者的证件,确认消费者身份,使验票过程快速便捷。有些景区,由税务部门统一监制的二维码电子门票,一票一码,用后作废。而且,景点当天出售的所有门票都要先激活,即只有从售票处售出的门票才能通关入园。并且激活是有时效的,也利于控制人数,避免黄金周的爆棚。
2.1.3 防伪溯源
部分商家将商品的生产及物流信息加载到二维码里,消费者通过手机扫描二维码,即可方便快捷的查询商品从生产到销售的所有流程,为商品防伪溯源提供便利的途径。
2.1.4 资讯阅读
传统获取资讯的方式一般是通过报纸、电视以及其他媒体上的内容,由于限于媒体介质的特性,无法延伸阅读,通过在某杂志一篇文章旁附加一个二维码,读者通过扫描该二维码即可获得与该篇文章相关的更多信息,比如相关视频、音频、图片、热点评论等,甚至加入一些广告,扩展宣传途径。这种方式给读者提供了更加丰富的阅读体验,实现了跨媒体阅读。
2.2 商用密码发展现状
互联网技术迅速发展,在这样一个信息化的时代,保证信息安全成为关键,而保证信息安全的核心技术是密码。从1949年,信息论创始人Shannon发表的《保密系统的通信理论》一文,为密码学奠定坚实的理论基础。此后,密码学不断发展,密码技术不断改进,密码的已经广泛应用科技、商业、社会生活等领域,充分保证了信息的保密性、完整性、不可否认性,在保障国家安全、社会稳定、经济发展中起到重要作用。1999年10月7日,国务院正式公布和实施我国《商用密码管理条例》,为商用密码的规范管理提供了依据。
现今,量子计算理论日渐成熟,经典密码算法也出现弊端,我国正逐步推进国产密码算法在各行业的应用,从而代替国际密码算法,保证信息的安全性,实现信息系统的自主安全可控。本文选用的国密算法中的SM2和SM3算法。其中SM2是椭圆曲线,用于将二维码数据生成数字签名;SM3算法是一种数字杂凑算法,用于生成摘要。下面分别介绍SM2和SM3算法:
2.2.1 SM2算法
SM2算法由国家密码管理局于2010年12月17日发布,全称为椭圆曲线算法。然而椭圆曲线并非椭圆,由于SM2算法使用的方程为:y2=x3+ax+b,此方程与计算椭圆周长的方程相似,所以称为椭圆曲线算法。
SM2算法实现如下:
(1)选择Ep(a,b)的元素G,使得G的阶n是一个大素数
(2)G的阶是指满足nG=O的最小n值
(3)秘密选择整数k,计算B=kG,然后公开(p,a,b,G,B),B为公钥,保密k,k为私钥
加密M:先把消息M变换成为E p(a,b)中一个点Pm,然后,选择随机数r,计算密文Cm={rG,Pm+rP),如果r使得rG或者rP为O,则要重新选择r。
解密Cm:(Pm+rP)-k(rG)=Pm+rkG-krG=Pm
SM2算法的安全性基于一个数学难题“离散对数问题ECDLP”实现,即考虑等式Q=KP,其中Q、P属于Ep(a,b),K
2.2.2 SM3算法
在密码学中,摘要函数通常被应用于在数字签名,消息认证,数据完整性检测等领域。摘要函数需要满足三个基本特性包括:碰撞稳固性,原根稳固性和第二原根稳固性。经研究发现MD5算法和SHA-1算法,由于碰撞攻击的存在,MD5算法和SHA-1算法已经不再是安全的算法。而在SHA-256基础上改进实现的SM3算法的安全性相对较高,此算法适用于商用密码应用中的数字签名和验证,并且在2010年,中国国家密码管理局将SM3密码摘要算法确定为中国商用密码杂凑算法标准。
SM3算法采用Merkle-Damgard结构,消息分组长度为512位,摘要值长度为256位。SM3算法的压缩函数与SHA-256的压缩函数具有相似的结构,但SM3算法的设计相对复杂。
2.2.3 商用密码的应用
(1)我国第二代身份证采用了256位的ECC加密技术,利用密码技术实现了防伪。
(2)税控系统应用密码技术,将收款信息等利用密码学算法加密后打印到发票上,有效解决了漏税、逃税等违法行为。
(3)电子交易、数字电视、移动通信等领域都利用商用密码技术,保证其安全性。
图1 系统总功能图
图2 商品注册申请流程
图3 防伪标签生成流程
图4 商品真伪查询流程
基于二维码和商用密码算法的商品防伪系统涵盖二维码管理中心、商品出厂管理系统、手机端防伪查询App三大模块。二维码管理中心作为可信任的第三方,对厂商信息进行审核,为其生成安全标识(密钥对:公钥和私钥)。出厂管理系统为商品生成保护标识(加密密钥),将保护标识传送回二维码管理中心记录保存,然后结合商用密码学算法对商品信息进行加密,生二维码,制作二维码防伪标签,将贴有二维码防伪标签的商品出厂。消费者利用安装防伪查询App的移动终端,扫描商品二维码标签,将信息传送至二维码管理中心,利用二维码标签中的相关信息和商用密码学算法验证,将商品真伪信息反馈给用户,为消费者提供了准确、快捷的查询真伪的途径,保证了信息的保密性、完整性、不可抵赖性。
3.1 系统架构
基于二维码和商用密码算法的商品防伪系统由二维码管理中心、商品出厂管理系统和商品防伪查询软件三部分构成,在互联网的作用下,三大模块相互协调,实现商品真伪查询。如图1所示。
3.1.1 二维码管理中心
本模块首先对申请注册的厂商的相关证件信息等进行审核。审核通过后帮其填写注册信息,登记商品编号,为其生成生成安全标识(SM2算法的密钥对:公钥、私钥),将标识的一部分(私钥)以安全的方式交给商家,另一部分(公钥)则由中心保管。同时二维码管理中心还要保存出厂管理系统传回的商品保护标识,用于检验真伪。如图2所示。在检验真伪时二维码管理中心负责与移动终端进行数据交互,对传回的信息的进行检验,得到商品真伪信息,并反馈给用户客户端。如图2所示。
3.1.2 商品出厂管理系统
商家利用随机数生成一组保护标识(保护密钥),随后对商品编号利用保护标识,并结合商用密码学算法,生成防伪信息,生成二维码防伪标签,并将本标签贴在商品上,商品即可出厂。如图3所示。
3.1.3 防伪查询APP
消费者用安装防伪查询软件移动终端,扫描二维码防伪标签,由终端将信息传送到二维码管理中心,进行查询,后台经过验证,并将验证结果为将结果传送至防伪查询App端。如图4所示。
图5 二维码防伪标签生成流程
图6 商品真伪验证流程
3.2 系统原理
3.2.1 二维码特点
二维码有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能及处理图形旋转变化等特点。二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。它是一种高密度编码,因此信息容量大,编码范围也广。此外,二维码容错能力较强具有纠错功能,译码可靠性也强,最重要的是,随着智能手机的发展,通过移动端扫描二维码给用户带来便利,并且制作二维码标签成本低,节约资源。
3.2.2 二维码防伪标签的生成
第一,数字签名由两部分组成,签名算法和验证算法。签名算法是产生数字签名的某种算法,而验证算法是检验一个数字签名是否有效的某种算法。它是非对称密钥加密技术与数字摘要技术的应用。只有信息的发送者才能产生别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
数字签名主要经过以下几个过程:
①信息发送者使用SM3算法对信息生成信息摘要;
②信息发送者使用自己的私钥签名信息摘要;
③信息发送者把信息本身和已签名的信息摘要一起发送出去;
④信息接收者通过使用与信息发送者使用的同一个单向散列函数(哈希函数)对接收的信息本身生成新的信息摘要,再使用信息发送者的公钥对信息摘要进行验证,以确认信息发送者的身份和信息是否被修改过。
本系统主要通过数字签名技术(SM2算法)验证注册厂商商品真实有效性。
第二,二维码防伪标签的生成具体流程。二维码管理中心为审核通过的厂商生成安全标识(即公私钥对),将私钥以安全的方式交给商家,公钥则由中心保管。厂商利用随机数产生保护标识(即保护密钥),同时,将保护密钥以安全的方式发给二维码管理中心进行保存,用于商品真伪检验。利用保护密钥对商品编号进行加密,对加密后的信息利用哈希函数计算摘要,将摘要利用专属的私钥应用SM2算法进行数字签名,最后利用加密信息和数字签名生成安全可靠的二维码,制作成为二维码防伪标签,贴在商品上即可出厂。如图5所示。
3.2.3 商品真伪验证
消费者用安装防伪查询软件,扫面商品二维码标签,防伪查询App会将防伪标签二维码信息(包括签名以及加密的商家信息)发送到二维码管理中心进行查询。监管中心根据商家信息找到注册时保存的公钥,对数字签名进行验签,得到摘要值(MD1),再对商家信息密文利用哈希算法计算得到摘要值(MD2),两摘要值进行对比,若相同则商品为真,否则为假,将真伪信息反馈给移动终端。如图6所示。
在这样一个“互联网+”的时代,智能手机的广泛应用,应用二维码技术结合商用密码算法制作二维码防伪标签,实现商品防伪的方案,有效 避免了传统防伪方式的弱点,提供便捷的查询真伪途径。随着二维码技术的不断成熟,二维码结合商用密码的防伪方式不断完善,这种新型防伪方式具有一定的发展前景。
[1]马兆丰,冯博琴,宋擒豹,等.面向认证的传统商品数字化防伪机制研究[J].计算机工程,2003,29(1):14-16
[2]移动应用发展趋势报告(Android版)
[3]李陈伟.基于二维码的图书防伪技术研究[D].南京师范大学,2014
[4]王伟玮.基于移动二维码技术的商品防伪系统的研究与应用[D].北京邮电大学,2013
[5]Tarjan L, Senk I, Tegeltija S, et al. A readability analysis for QR code application in a traceability system[J]. Computers & Electronics in Agriculture, 2014, 109(109):1-11
[6]王挺,吕述望.商用密码发展现状、动态和启示[J].中国金融电脑,2000(6):29-31
[7]蔡乐才.应用密码学[M].北京:跨国电力出版社,2003