一种基于自加密自校验二维码识别卷烟真伪的方法

文档序号:8923115阅读:4086来源:国知局
一种基于自加密自校验二维码识别卷烟真伪的方法
【技术领域】
[0001]本发明涉及信息安全及自动识别领域,具体涉及一种基于自加密自校验二维码识别卷烟真伪的方法。
【背景技术】
[0002]现有卷烟打码一般为条形码,条形码位数小,信息含量少,一般标识生产年份、销售区域代码等,不具有唯一性,易被伪造,不能有效用于真伪识别。而二维码可表示丰富的信息,且简便易用,特别是随着移动智能终端的普及,二维码扫码已经成了当前应用广泛的方式。一些企业在产品上印制每件产品唯一的二维码,用来实现产品真伪识别、产品追踪、营销活动等目的。但是二维码一般采用QR码等公开技术,本身并不具有加密特性,可被任意扫码软件轻易识读,从而使得产品上的二维码易被伪造。
[0003]一般用于标识唯一产品的二维码信息为一个带参数的URL,其中最主要的参数是根据一个内部流水号生成的,伪造者易于通过识读真品二维码,获取流水号模型,从而生成新的流水号,然后使用QR编码工具生成新的二维码。这种伪造的二维码会对企业的二维码应用的开展带来严重影响。还有一种常见的二维码信息编码方式,是对流水号使用对称密钥算法进行加密,然后编入二维码信息。这种方式可以使二维码信息不易被识读出流水号的生成规则,然而也有缺点:一是字典式攻击使对称密钥算法可能在有限的时间内被破解;二是即使攻击者未能破解出密钥,也可以使用假的二维码信息进行攻击,由于这种二维码没有自校验功能,系统不能即刻识别出其为伪造码,仍会使用被伪造的信息向数据库查询,导致系统易遭受拒绝服务攻击,影响系统的正常服务。

【发明内容】

[0004]为了解决消费者难以判断卷烟真假的问题,提出一种基于自加密自校验的二维码识别卷烟真伪的方法,通过对二维码信息进行自加密编码自校验解码,使二维码信息难以伪造,同时也可以直接根据二维码信息判断是否伪造的二维码。
[0005]本发明一种基于自加密自校验的二维码识别卷烟真伪的方法,包括以下步骤:
[0006]SI,二维码管理单元I的生成单元11产生自增长的流水号,生成唯一的二维码;
[0007]S2,印刷单元2在盒皮包装指定位置上印制二维码,且保证每包烟印刷不同的二维码;
[0008]S3,生产单元3使用印有二维码的盒皮进行卷烟包装,并通过扫码设备扫描初包装后的卷烟,记录下已用于生产的二维码,提交二维码管理单元I的激活单元12进行激活处理;
[0009]S4,用户单元4的扫码单元31为智能终端的扫码设备,消费者购买卷烟后拆开外包装,通过扫码单元41扫描内包装上的二维码,信息传送给二维码管理单元I的识别单元13进行处理;
[0010]S5,二维码管理单元的识别单元进行解码,获得流水号;
[0011]S6,二维码管理单元的识别单元将相应流水号的扫描次数加1,根据流水号是否已激活、及已被提交的次数,进行卷烟真伪判别,若相应流水号已激活且是第一次扫描则判别为真烟,否则为问题卷烟,并将该结果信息向用户单元的显示单元反馈;
[0012]所述的二维码是通过以下步骤进行编码的,
[0013]S11,从当前使用的密钥批号对应的数据记录表中,随机选择一条记录,该记录中有salt和密钥;
[0014]S12,把salt与产品流水号连接成一个字符串,用密钥通过对称密钥算法进行加密,得到密文;
[0015]S13,将密钥批号、salt和密文连接成一个字符串,作为参数;
[0016]S14,将给定的地址和参数结合起来,得到一个Url,作为所需的二维码信息编码。
[0017]所述是密钥通过以下步骤生成的,
[0018]S101,流水递增、查表、规则递增等方式产生指定长度的新的密钥批号;
[0019]S102,随机产生一个指定长度的字符串作为salt ;
[0020]S103,根据选定的对称密钥算法,随机产生一个密钥;
[0021]S104,将密钥批号、salt和密钥存入数据记录表;
[0022]S105,密钥计数加I;
[0023]S106,判断密钥计数是否已达到指定数量,未到达返回步骤S12继续,否则结束本批密钥的生成过程;
[0024]所述的解码包括以下步骤:
[0025]S21,对需解码的二维码信息编码0,解析Url得到参数;
[0026]S22,将参数中的字符串,按照指定长度分割,得到密钥批号、salt和密文;
[0027]S23,查询密钥批号对应的数据记录表,找出其中salt对应的密钥;
[0028]S24,使用密钥对密文进行解密,得到解密后的字符串;
[0029]S25,对解密后的字符串按指定长度进行分割,得到解码后的salt和解码后的产品流水号;
[0030]S26,检查步骤S25解码后的salt是否等于步骤2中分割出的salt,若相等则该编码为真,输出步骤S25解码后的产品流水号;否则判定该码是伪造码,输出判定结果。
[0031]本发明通过对每包卷烟印刷唯一的可自加密自校验的二维码,使消费者可以通过智能终端扫描每包烟上的唯一二维码来简便快捷的获得卷烟真伪信息。该二维码由于在编码中使用了随机salt和随机密钥进行加密,使得破解的难度大大增加,以现有的计算机的计算能力难以在可以接受的时间内进行破解;由于密钥批号的使用,可以在一段时间后全部更换密钥,则即使之前的密钥遭到了破解,也可以保障其他密钥的安全,进一步保障了编码的安全可靠性,同时也可以提供支持分库分表的主键,来实现系统对高并发服务的支持。该编码方法可以在解码过程中直接实现编码真伪校验,剔除伪造的二维码,保护系统服务的正常运转。
【附图说明】
[0032]图1为本发明基于自加密自校验的二维码识别卷烟真伪的方法流程图
[0033]图2为本发明基于自加密自校验的二维码识别卷烟真伪的方法
[0034]图3为本发明涉及的二维码编码结构图
[0035]图4为本发明涉及的二维码密钥生成流程图
[0036]图5为本发明涉及的二维码编码和自加密的流程图
[0037]图6为本发明涉及的二维码解码和自加密的流程图
【具体实施方式】
[0038]参见图1 一 2,本发明一种基于自加密自校验的二维码识别卷烟真伪的方法,包括以下步骤,二维码管理单元I的生成单元11产生自增长的流水号,通过自加密的编码方法生成唯一的二维码图片;
[0039]印刷单元2—般由印刷厂实施,在盒皮包装指定位置上印制生成单元11提供的二维码图片,且保证每包烟印刷不同的二维码图片;
[0040]生产单元3 —般由卷烟厂卷包机台实施,使用印刷单元2提供的印有二维码的盒皮进行卷烟内包装,并通过扫码设备扫描初包装后的卷烟,记录下已用于生产的二维码,提交二维码管理单元I的激活单元12进行激活处理;
[0041]用户单元4的扫码单元41 一般为智能终端的扫码设备,例如智能手机的摄像头和扫码软件,消费者购买卷烟后拆开外包装,通过扫码单元41扫描内包装上的二维码,信息传送给二维码管理单元I的识别单元13进行处理;
[0042]二维码管理单元的识别单元进行解码,获得流水号;
[0043]二维码管理单元的识别单元将相应流水号的扫描次数加1,根据流水号是否已激活、及已被提交的次数,进行卷烟真伪判别,若相应流水号已激活且是第一次扫描则判别为真烟,否则为问题卷烟,并将该结果信息向用户单元的显示单元反馈。
[0044]参见图3,为本发明的二维码的编码结构O包括地址I和参数2,参数2包括密钥批号24,随机salt22和密文23,密文23由密钥231、salt22和产品流水号231组成,通过将随机salt与产品流水号结合,使用随机密钥加密,将密钥批号、salt和加密后的密文连接在一起的字符串作为二维码信息的参数,同时后台存储密钥批号、salt与密钥的对应关系,每个密钥批号对应于一批salt和密钥,每个salt唯一对应一个密钥。
[0045]该密钥通过以下步骤生成,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1