二维码防伪方法、二维码防伪编码生成系统及验证系统与流程

文档序号:33370630发布日期:2023-03-08 02:07阅读:48来源:国知局
二维码防伪方法、二维码防伪编码生成系统及验证系统与流程

1.本发明涉及二维码防伪技术领域,尤其涉及一种二维码防伪方法、二维码防伪编码生成系统及验证系统。


背景技术:

2.目前二维码已经全面应用于商品的防伪,防窜,溯源,从赋码到检测,相关软件和硬件都很成熟,支持度非常高,而且人们对二维码的接受度也非常高。但也正因为如此,仿制名牌企业二维码也变得非常容易,二维码在提供便利的同时,也需要提高其防伪能力。
3.现有二维码防伪方法主要是基于一物一码,通过扫码的次数,来判断二维码真伪:如果是第一次扫码,则判定二维码为真;如果是多次扫码,则判定二维码为假。但是这种防伪方式有很大的局限性:(1)在商品出售前无法进行防伪检测。二维码只能检测一次,所以防伪流程设计为需要破坏包装才能检测,因此只能在商品售出后进行检测,否则会影响商品的销售。
4.(2)无法满足多次真伪检测的需求。例如当商品是作为礼品送给其他人时,购买商品者通常无法检测,因为一旦检测就需要破坏商品包装,而且收礼者再次检测时也会显示二维码被多次检测。
5.(3)商品必须被检测一次。二维码的防伪性能与商品的检测率有关,如果检测率不高,就会留下大量的造假空间,而现实情况下,消费者可能通过其他渠道确认商品真伪而不进行检测操作,也有可能消费者购买了多件商品时,只随机抽取部分商品检测,这些都影响了基于次数验证二维码真伪的防伪性能。
6.(4)该防伪方法无法离线完成,因为验证检测次数必须连接服务器。


技术实现要素:

7.发明目的:本发明改变基于验证次数的二维码防伪方式,而是通过增加非公开编码方式,用非公开编码的防伪能力防止二维码被复制或仿制,最后通过验证非公开编码与二维码编码的关联关系,最终判断二维码真伪。基于本方法,二维码可以被任意多次验证,使得商品在售出前,售出后都可以被多次验证;同时,不验证也不影响二维码的整体防伪性能;另外,通过设置合适的关联规则,也可以离线验证二维码真伪。
8.基于此,本发明提出一种二维码防伪方法,并进一步提出一种二维码防伪编码生成系统及验证系统,以解决现有技术存在的上述问题。
9.第一方面,提出一种二维码防伪方法,该方法步骤如下:步骤1、确定二维码公开编码的位置,标定该区域,并以该区域为基准,在二维码外部或内部的空白区域作为防伪编码的编码区域;步骤2、编码:基于所述编码区域,采用随机位置编码的方式添加由非公开编码内容组成的防伪编码;步骤3、解码:基于所述编码区域,提取基于随机位置编码的防伪编码;
步骤4、验证所述公开编码和所述防伪编码的匹配关系,确认二维码的真实性,如果两者匹配,则二维码为真,否则二维码为假。
10.在第一方面的一些可实现方式中,步骤2中采用随机位置编码的方式添加由非公开编码内容组成的防伪编码的过程包括:步骤2a、选择n个不同的编码区域,对应数字1至n;步骤2b、利用随机数种子生成由1到n组成的编码位置数字序列;数字序列中的每个数字对应一个唯一编码位置;将非公开编码内容转换为01序列后,按照编码位置数字序列标识的位置依次编码,0用黑色方块表示,1用白色方块表示;步骤2c、当某一个编码区域所有位置都已经被编码,则忽略编码位置数字序列中该编码位置序号,并下移一个序号,以此类推,直到所有编码信息编码完毕。
11.在第一方面的一些可实现方式中,步骤3中的解码方法包括:步骤3a、将编码时的随机种子作为解码时的密钥,利用该密钥作为随机数种子生成一个由n个数字组成的编码位置数字序列,每个数字表示编码的位置;步骤3b、按照编码位置数字序列标识的位置依次识读该位置上的图像灰度,如果灰度小于阈值,则提取信息为0;如果灰度大于阈值,则提取信息为1;步骤3c、当某一个编码区域所有位置都已经被解码,则忽略编码位置数字序列中该编码位置序号,并下移一个序号,以此类推,直到所有解码完毕。
12.在第一方面的一些可实现方式中,步骤2中添加的所述防伪编码为明码形式。
13.在第一方面的一些可实现方式中,步骤2中添加的所述防伪编码为暗码形式,采用暗记水印添加所述防伪编码。
14.在第一方面的一些可实现方式中,采用所述暗记水印添加所述防伪编码的情况下,解码时分别执行图像增强、四角定位、图像校正、解码操作,获得可供识别的防伪编码。
15.在第一方面的一些可实现方式中,步骤4中所述防伪编码执行固定方案或可变方案:执行固定方案时,所有二维码对应的非公开编码信息是相同的,验证时将非公开编码信息的解码信息与服务器中预存的信息对比,如果一致、或相关性高于阈值,则符合预期;执行可变方案时,每一个公开编码信息对应的非公开编码信息都不一样,通过验证非公开编码信息的解码信息与公开编码信息的解码信息的关联关系,看是否一致,一致则符合预期。
16.在第一方面的一些可实现方式中,在执行可变方案时,通过在线验证和/或离线验证来验证二维码的真实性。
17.在线验证的过程包括:在云端储存非公开编码信息和公开编码信息的关联关系,分别对非公开编码信息和公开编码信息解码,上传非公开编码信息的解码信息和公开编码信息的解码信息到云端以后,从数据库查看非公开编码信息和公开编码信息的关联关系是否符合预期:符合预期,则进行后续解码查询等工作,否则提示用户二维码为仿造。
18.离线验证的过程包括:分别对非公开编码信息和公开编码信息解码以后,查看非公开编码信息的解码信息和公开编码信息的解码信息是否符合预设的关联规则,若符合预设规则,则进行后续解码查询等工作,否则提示用户二维码为仿造。
19.第二方面,提出一种二维码防伪编码生成系统,该系统包括标定模块和编码模块两个组成部分。
20.标定模块用于确定二维码公开编码的位置,标定该区域,并以该区域为基准,在二维码外部或内部的空白区域作为防伪编码的编码区域;编码模块基于所述编码区域,采用随机位置编码的方式添加由非公开编码内容组成的防伪编码;编码模块进一步用于选择n个不同的编码区域,对应数字1至n;利用随机数种子生成由1到n组成的编码位置数字序列;数字序列中的每个数字对应一个唯一编码位置;将非公开编码内容转换为01序列后,按照编码位置数字序列标识的位置依次编码,0用黑色方块表示,1用白色方块表示;当某一个编码区域所有位置都已经被编码,则忽略编码位置数字序列中该编码位置序号,并下移一个序号,以此类推,直到所有编码信息编码完毕。
21.第三方面,提出一种二维码防伪编码验证系统,该系统包括解码模块和验证模块两个组成部分。
22.解码模块基于编码区域,提取基于随机位置编码的防伪编码;验证模块用于验证所述公开编码和所述防伪编码的匹配关系,确认二维码的真实性,如果两者匹配,则二维码为真,否则二维码为假;解码模块进一步用于将编码时的随机种子作为解码时的密钥,利用该密钥作为随机数种子生成一个由n个数字组成的编码位置数字序列,每个数字表示编码的位置;按照编码位置数字序列标识的位置依次识读该位置上的图像灰度,如果灰度小于阈值,则提取信息为0;如果灰度大于阈值,则提取信息为1;当某一个编码区域所有位置都已经被解码,则忽略编码位置数字序列中该编码位置序号,并下移一个序号,以此类推,直到所有解码完毕。
23.防伪编码执行固定方案或可变方案:执行固定方案时,所有二维码对应的非公开编码信息是相同的,验证时由所述验证模块将非公开编码信息的解码信息与服务器中预存的信息对比,如果一致、或相关性高于阈值,则符合预期;执行可变方案时,每一个公开编码信息对应的非公开编码信息都不一样,通过验证非公开编码信息的解码信息与公开编码信息的解码信息的关联关系,看是否一致,一致则符合预期;在执行可变方案时,通过在线验证和/或离线验证来验证二维码的真实性;在线验证的过程包括:在云端储存非公开编码信息和公开编码信息的关联关系,分别对非公开编码信息和公开编码信息解码,上传非公开编码信息的解码信息和公开编码信息的解码信息到云端以后,从数据库查看非公开编码信息和公开编码信息的关联关系是否符合预期:符合预期,则进行后续解码查询等工作,否则提示用户二维码为仿造;离线验证的过程包括:分别对非公开编码信息和公开编码信息解码以后,查看非公开编码信息的解码信息和公开编码信息的解码信息是否符合预设的关联规则,若符合预设规则,则进行后续解码查询等工作,否则提示用户二维码为仿造。
24.有益效果:本发明提出一种二维码防伪方法、二维码防伪编码生成系统及验证系统,将二维码与非公开编码结合在一起,用非公开编码的防伪能力保护二维码,提高二维码
的防伪能力。此外,本发明优化非公开编码的方案,一是利用暗记水印,增加非公开编码的复制难度,二是基于随机位置编码方式,利用随机数生成编码位置进行编码,使得即使在公开编码方式的前提下,也能够利用随机数生成种子保护编码内容,增加仿制难度;解码时按照对应的解码参数进行解码,并将解码结果与二维码的特定信息进行计算,看两者是否符合关联关系或关联规则,大大增加二维码的伪造难度。
附图说明
25.图1是二维码防伪方法的流程图。
26.图2是生成非公开编码的示意图。
27.图3是在二维码外部的暗码编码通过专用设备显现后的效果图。
28.图4是二维码防伪编码生成系统的组成示意图。
29.图5是二维码防伪编码验证系统的组成示意图。
30.图6是在二维码内部的暗码编码通过专用设备显现后的效果图。
具体实施方式
31.在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
32.实施例一:申请人研究发现,二维码之所以容易造假,是因为二维码的编码方式是公开的,如果通过将二维码与非公开编码结合在一起,用非公开编码的防伪能力,保护二维码,就可以大大提高二维码的防伪能力。
33.因此,在二维码的周边或二维码内部,设计一种非公开的编码算法,当需要验证二维码的真伪时,分别解码二维码内容和非公开编码的内容,两者关联如果符合预期,则二维码是真实的,否则二维码是仿造的。
34.见图1,二维码防伪方法步骤如下:步骤1、确定二维码公开编码的位置,标定二维码公开编码所处区域,并以该区域为基准,在二维码外部或内部的空白区域作为防伪编码的编码区域。
35.步骤2、编码:基于所述编码区域,采用随机位置编码的方式添加由非公开编码内容组成的防伪编码。
36.步骤3、解码:基于所述编码区域,提取基于随机位置编码的防伪编码。
37.步骤4、验证所述公开编码和所述防伪编码的匹配关系,确认二维码的真实性,如果两者匹配,则二维码为真,否则二维码为假。
38.如图2所示,二维码周边有一圈黑白点组成的编码信息,我们可以设计编码规则,用这些黑白点进行编码,比如黑代表0,白代表1,形成非公开编码a。二维码的编码内容为b。通过验证a和b的关系,确认二维码的真实性。
39.实施例二:在实施例一的基础之上,可以采用暗记水印编码算法(暗记水印的生成方法见专
利申请cn202010351020.9一种基于暗记水印的文档防复制方法及系统、cn202010352108.2一种基于手机和图像增强的暗记水印提取方法及系统),在二维码周边或内部,添加暗记水印,同时设计基于暗记水印的编码规则,比如最简单的:用深色代表0,浅色代表1,解码时通过图像增强—四角定位—图像校正—解码,验证解码信息是否符合预期,如果符合预期就将二维码的解码信息反馈给用户,否则提示用户二维码可能为仿制品。
40.实施例三:基于实施例二提出的暗记水印,可以采用隐形油墨印刷编码a,在特定的光源照射下,显现编码a的外观(见图3),然后使用特定软件解码a,再与二维码b进行关联关系判断,从而验证二维码的真伪。
41.编码a有固定和可变两种方案:固定方案,所有二维码对应的非公开编码信息是相同的,验证时将解码a信息与服务器中预存的信息对比,如果一致,或相关性很高,则符合预期;可变方案,每一个二维码信息b对应的非公开编码信息都是不一样的,通过验证解码a信息与二维码b解码信息的关联关系,看是否一致,一致则符合预期。
42.进一步的,可变方案有多种验证真伪方法,一种验证方法是(在线验证):在云端储存着a和b的关联关系,软件分别解出了非公开编码a和二维码编码b,上传a和b到云端以后,从数据库查看a和b的关联关系是否符合预期,符合预期,则进行后续解码查询等工作,否则,提示用户二维码是仿造的。
43.另一种关联方法(离线验证)是:分别对a和b进行解码以后,查看码a和码b是否符合预设的关联规则,最简单的比如a的部分编码信息和b的部分编码信息是否一致。由于设计了非公开的编码规则和非公开的关联规则,使得伪造二维码的难度大大增加。一般情况下,采用离线验证方案时,为了增加二维码的伪造难度,不采用明码固定编码方案,而是采用暗记水印编和可变编码方案,或者至少采用其中一种编码方案。
44.实施例四:目前二维码造假主要有两种方式,一是复制,二是仿制。暗记水印和隐形油墨可以防止编码被直接复制;而非公开编码规则又可以防止编码被仿制,因为不知道编码规则,无法做到和二维码信息对应。该方案可以杜绝大部分二维码造假。
45.本实施例提出一种优化非公开编码的方案:先识别二维码,从二维码的头部信息,得到非公开编码的编解码参数:随机数生成的种子,然后按照编解码参数对外围01的信息点进行解码,将解码结果与二维码的尾部的特定信息进行计算,看两者是否符合关联关系或关联规则。这样做到了即公开了非公开编码规则(随机编码法),又能够利用保密随机数生成种子来保护具体的编码信息。
46.随机编码法:由随机数种子生成1-4的编码序号,按序操作如下:1、如果编码序号是1,就在二维码上方编码;如果编码序号是2,就在二维码右边编码;如果编码序号是3,就在二维码下方编码;如果编码序号是4,就在二维码左边编码。
47.2、编码信息是16个01的序列,例如:0100110110011000。
48.3、假设编码序号为:41243
……

49.4、第一个编码序号是4,第一个编码信息是0,表示二维码左边第一个编码位置为黑色;
第二个编码序号是1,第二个编码信息是1,表示二维码上方第一个编码位置为白色;第三个编码序号是2,第三个编码信息是0,表示二维码右边第一个编码位置为黑色;第四个编码序号是4,第四个编码信息是0,表示二维码左边第二个编码位置为黑色;第五个编码序号是3,第五个编码信息是1,表示二维码下方第一个编码位置为白色;以此类推。当二维码某一个方向上所有位置已经被编码了,那忽略该编码序号,下移一个序号,直到所有编码信息编码到所有编码位置。
50.5、随机数的产生种子为密钥,解码时按照密钥解码,但如果不知道密钥,无法生成符合规则的编码a,也不能从大量的编码信息a回溯密钥。
51.6、解码过程刚好相反,按照编码序号,按序在编码位置上提取0,1信息,组成编码信息。
52.实施例五:为了生成上述实施例一~实施例四提出的防伪编码,本实施例提出一种二维码防伪编码生成系统,见图4。该系统包括标定模块51和编码模块52两个组成部分。
53.标定模块51用于确定二维码公开编码的位置,标定该区域,并以该区域为基准,在二维码外部或内部的空白区域作为防伪编码的编码区域。
54.编码模块52基于所述编码区域,采用随机位置编码的方式添加由非公开编码内容组成的防伪编码。编码模块52利用随机数种子生成一个由1、2、3、4四种数字组成的编码位置数字序列(此过程参照实施例四),每个数字表示编码的位置,分别对应二维码的上、右、下、左四个位置,将非公开编码内容转换为01序列后,按照编码位置数字序列标识的位置依次编码,0用黑色方块表示,1用白色方块表示;二维码上方位置按照从左往右依次添加01编码信息;二维码右方位置按照从上往下依次添加01编码信息;二维码下方位置按照从右往左依次添加01编码信息;二维码左方位置按照从下往上依次添加01编码信息;当某一个方向上所有位置都已经被编码,则忽略编码位置数字序列中该编码位置序号,并下移一个序号,以此类推,直到所有编码信息编码完毕。
55.实施例六:为了解码上述实施例所生成的防伪编码,本实施例进一步提出一种二维码防伪编码验证系统,见图5。该系统包括解码模块53和验证模块54两个组成部分。
56.解码模块53基于编码区域,提取基于随机位置编码的防伪编码。
57.验证模块54用于验证所述公开编码和所述防伪编码的匹配关系,确认二维码的真实性,如果两者匹配,则二维码为真,否则二维码为假。解码模块53将编码时的随机种子作为解码时的密钥,利用该密钥作为随机数种子生成一个由1、2、3、4四种数字组成的编码位置数字序列,每个数字表示编码的位置,分别对应二维码的上、右、下、左四个位置;按照编码位置数字序列标识的位置依次识读该位置上的图像灰度,如果灰度小于阈值,则提取信息为0;如果灰度大于阈值,则提取信息为1;当某一个方向上所有位置都已经被解码,则忽略编码位置数字序列中该编码位置序号,并下移一个序号,以此类推,直到所有解码完毕。
58.实施例七:如果采用暗记水印编码算法,由于暗记水印在自然条件下不可见,因此可以在二维码内部的空白区域作为防伪编码的编码区域,比如在二维码三个回字形定位点的空白区域进行编码。如图6所示。
59.编码模块52基于所述编码区域,采用随机位置编码的方式添加由非公开编码内容组成的防伪编码。编码模块52利用随机数种子生成一个由1、2、3三种数字组成的编码位置数字序列,每个数字表示编码的位置,其中:1对应左下角回字形定位点,2对应左上角回字形定位点,3对应右上角回字形定位点。将非公开编码内容转换为01序列后,按照编码位置数字序列标识的位置依次编码,0用深灰色方块表示,1用浅灰色方块表示。每个回字形定位点都以左上角为起始位置,顺时针方向依次添加01编码信息。当某一个回字形定位点所有位置都已经被编码,则忽略编码位置数字序列中该编码位置序号,并下移一个序号,以此类推,直到所有编码信息编码完毕。
60.总之,本发明的编码区域可以选择二维码的外部或内部;编码形式可以采用明码或者暗记水印和隐形油墨等暗码形式;编码内容可以采用固定内容的或者可变内容;验证方式可以采用在线验证的或者离线验证。不同的选择,可以满足不同的生产,应用和验证的需求,大大提升该技术的适用范围。
61.如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上做出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1