基于cpk的二维码生成和验证方法及装置制造方法

文档序号:6631333阅读:364来源:国知局
基于cpk的二维码生成和验证方法及装置制造方法
【专利摘要】本发明公开了一种基于CPK的二维码的生成和验证方法及装置,该生成方法包括:确定二维码的载体的关键信息;根据预先配置的私钥对关键信息进行签名,生成数字签名信息;将数字签名信息和二维码的载体的信息进行组合,生成防伪信息;根据二维码编码技术对防伪信息进行编码,生成二维码。该验证方法包括:对二维码进行解码,读取二维码中存储的数字签名信息和二维码的载体的信息;对读取的数字签名信息进行分析,得到公钥;根据公钥、二维码的载体的信息对数字签名信息进行验证。本发明通过CPK签名验证协议判定二维码的真实性与完整性,从而实现对载体的真伪鉴别,简化了防伪信息的验证过程、降低验证防伪信息的难度。
【专利说明】基于0%的二维码生成和验证方法及装置

【技术领域】
[0001]本发明涉及二维码的生成及验证技术,具体来说,涉及一种基于?油11。1(67,组合公钥)的二维码生成和验证方法及装置。

【背景技术】
[0002]现有的防伪技术虽然广泛应用于生产生活各个领域,但都存在实现成本高,技术难度大,易被克隆的问题,特别是用于与日常生活密切相关的票据、证券、证件、证书、文凭以及一些贵重商品的防伪技术,在现有的防伪技术中,虽然采用了不断更新的激光防伪、水印、特殊纸墨、金属线、荧光印刷、粒子加速器打码、激光打码等方法,但由于巨大利益驱使,不法分子还是能够不断跟踪、提高技术,并采用高科技犯罪手段对票据、票证等重要产品进行仿造、复制,从而使伪品进入流通领域。
[0003]目前,虽然政府加大了对制造伪品的打击力度,但是,仍难以阻止伪品的增加,而对日益增多的高科技伪造犯罪,普通人群鉴别伪品也日渐困难,而如何让公众快速、准确、方便地鉴别其真伪,也是当前迫切需要解决的问题。
[0004]针对相关技术中不能简单易行的验证防伪二维码信息的真实性和完整性的问题,目前尚未提出有效的解决方案。


【发明内容】

[0005]针对相关技术中不能简单易行的验证防伪二维码信息的真实性和完整性的问题,本发明提出一种0?的二维码的生成和验证方法及装置,能够有效的验证二维码的真实性,实现了简化防伪信息的验证过程、降低验证防伪信息的难度的效果。
[0006]本发明的技术方案是这样实现的:
[0007]根据本发明的一个方面,提供了一种基于0?的二维码的生成方法。
[0008]该生成方法包括:
[0009]确定二维码的载体的关键信息;
[0010]根据预先配置的私钥对关键信息进行签名,生成数字签名信息;
[0011]将数字签名信息和二维码的载体的信息进行组合,生成防伪信息;
[0012]根据二维码编码技术对防伪信息进行编码,生成二维码。
[0013]其中,该关键信息包括以下至少之一:
[0014]载体的编号、载体的名称、载体的日期、载体的金额。
[0015]此外,该生成方法还可包括:
[0016]预先配置私钥,其中,私钥为载体的对应机构的私钥,并且,在预先配置私钥时,可根据密钥管理系统依据私钥矩阵和组合公钥算法,将载体的对应机构的名称作为标识生成与载体的对应机构对应的私钥。
[0017]另外,该生成方法还可包括:
[0018]将二维码打印至对应的载体的预定位置。
[0019]根据本发明的另一方面,提供了一种基于CPK的二维码的验证方法。
[0020]该验证方法包括:
[0021]对二维码进行解码,读取二维码中存储的数字签名信息和二维码的载体的信息;
[0022]对读取的数字签名信息进行分析,得到公钥;
[0023]根据公钥、二维码的载体的信息对数字签名信息进行验证。
[0024]其中,在对读取出的数字签名信息进行分析,得到公钥时,可对读取出的数字签名信息进行分析,确定出数字签名信息中包含的载体的对应机构的名称;并根据载体的对应机构的名称、以及对应的公钥矩阵和组合公钥算法,得到公钥。
[0025]此外,在根据公钥、二维码的载体的信息对数字签名信息进行验证之前,该验证方法还可包括:
[0026]将读取的数字签名信息和二维码的载体的信息与预先配置的黑名单信息进行匹配,如果匹配成功,则终止对数字签名信息的验证。
[0027]另外,在根据所述公钥、所述二维码的载体的信息对数字签名信息进行验证后,在验证通过的情况下,该验证方法还可包括:
[0028]将从所述二维码中读取的对应载体的信息与二维码的载体中的信息进行对比验证。
[0029]根据本发明的再一方面,还提供了一种基于CPK的二维码的生成装置。
[0030]该生成装置包括:
[0031]确定模块,用于确定二维码的载体的关键信息;
[0032]签名模块,用于根据预先配置的私钥对关键信息进行签名,生成数字签名信息;
[0033]组合模块,用于将数字签名信息和二维码的载体的信息进行组合,生成防伪信息;
[0034]生成模块,用于根据二维码编码技术对防伪信息进行编码,生成二维码。
[0035]根据本发明的又一方面,还提供了一种基于CPK的二维码的验证装置。
[0036]该验证装置包括:
[0037]解码模块,用于对二维码进行解码,读取二维码中存储的数字签名信息和二维码的载体的信息;
[0038]分析模块,用于对读取的数字签名信息进行分析,得到公钥;
[0039]验证模块,用于根据公钥、二维码的载体的信息对数字签名信息进行验证。
[0040]本发明在二维码生成过程中,通过载体对应的私钥对载体的关键信息进行签名,从而保证了二维码中数据的真实性,为后期的验证提供了有力的依据。而在二维码的验证过程中,通过直接解码二维码中的数据,根据解码的数据计算出载体信息、数字签名信息,并根据数字签名信息计算公钥,利用公钥和载体信息来验证数字签名信息,进而确定二维码的真实性。
[0041]在整个验证过程中,本发明借助二维码技术,做到了随时随地、简单易行的验证,进而使得验证手段更为便捷和通用化,实现了简化防伪信息的验证过程、降低验证防伪信息的难度的效果。

【专利附图】

【附图说明】
[0042]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1是根据本发明实施例的基于(3?的二维码的生成方法的流程图;
[0044]图2是根据本发明一具体实施例的基于(3?的二维码的生成方法的流程图;
[0045]图3是根据本发明实施例的基于(?的二维码的验证方法的流程图;
[0046]图4是根据本发明一具体实施例的基于(3?的二维码的验证方法的流程图;
[0047]图5是根据本发明实施例的基于(3?的二维码票据的示意图;
[0048]图6是根据本发明实施例的载体核发机构发布基于0?的二维码票据的防伪验证程序的流程图;
[0049]图7是根据本发明实施例的基于(?的二维码的生成装置的框图;
[0050]图8是根据本发明实施例的基于(3?的二维码的验证装置的框图。

【具体实施方式】
[0051]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0052]根据本发明的实施例,提供了一种基于组合公钥0?的二维码的生成方法。
[0053]如图1所示,根据本发明实施例的二维码的生成方法包括:
[0054]步骤3101,确定二维码的载体的关键信息;
[0055]步骤3103,根据预先配置的私钥对关键信息进行签名,生成数字签名信息;
[0056]步骤3105,将数字签名信息和二维码的载体的信息进行组合,生成防伪信息;
[0057]步骤3107,根据二维码编码技术对防伪信息进行编码,生成二维码。
[0058]其中,该关键信息包括以下至少之一:
[0059]载体的编号、载体的名称、载体的日期、载体的金额。
[0060]在上述过程中,所谓的载体是指二维码所依附的物品,例如发票,当载体为发票时,二维码的载体的关键信息可以为发票的编号、开票的单位(即,载体的名称〉、开票的日期、付款的单位、货品的名称、货品的数量、付款的金额等等,或是以上信息的任意组合,而二维码的载体的信息则是涵盖了上述关键信息,也就是说,载体的信息还可以包括载体上除关键信息外的信息,在这里,载体的信息也可以叫做票据信息。二维码的生成过程如图2所示,从图2中可以看出,当要生成载体(例如,发票)的防伪二维码时,首先,需要确定二维码载体(例如,票据)的关键信息;然后,根据载体所对应的机构(例如,发行票据的机构、或者与载体关联的其他形式的机构)提供的私钥对载体的关键信息进行签名,得到载体防伪信息的签名;然后,再将载体的防伪信息签名和载体信息进行组合,生成防伪信息;最后,在利用二维码编码技术,将生成的防伪信息进行编码,得到载体的二维码。
[0061]其中,在实际应用中,不同的票据核发机构拥有基于本机构名称标识的(3?私钥,独立核发本机构业务范围内的票据,并进行数字签名操作,可以有效防止内部作案和机构抵赖。
[0062]而在实际生成时,二维码的载体的关键信息可以根据实际的载体情况,自行定义。
[0063]此外,为了实现上述步骤,根据本发明实施例的基于CPK的二维码生成方法还可包括:预先配置私钥,其中,私钥为载体的对应机构的私钥,可根据载体的对应机构的名称得到。具体实践时,私钥根据载体的对应机构的名称得到的具体方法可以是通过密钥管理系统使用私钥矩阵和组合公钥算法,将载体的对应机构的名称作为标识生成与载体的对应机构对应的私钥,在具体实践时,所有的机构可以共同的使用同一私钥矩阵和组合公钥算法,以使验证者能够对所有的机构的产品进行统一验证。
[0064]另外,为了防止防伪电子标签在使用后,被再次利用,根据本发明实施例的基于CPK的二维码的生成方法还可包括:将二维码打印至对应的载体的预定位置,使二维码与载体不可分离,而在分离时,将导致二维码被破坏,防止二维码被回收再利用。
[0065]根据本发明的实施例,还提供了一种基于CPK的二维码的验证方法。
[0066]如图3所示,根据本发明实施例的基于CPK的二维码的验证方法包括:
[0067]步骤S301,对二维码进行解码,读取二维码中存储的数字签名信息和二维码的载体的信息;
[0068]步骤S303,对读取的数字签名信息进行分析,得到公钥;
[0069]步骤S305,根据公钥、二维码的载体的信息对数字签名信息进行验证。
[0070]在上述过程中,所谓的载体是指二维码所依附的物品,例如发票,当载体为发票时,二维码的载体的关键信息可以为发票的编号、开票的单位(即,载体的名称)、开票的日期、付款的单位、货品的名称、货品的数量、付款的金额等等,或是以上信息的任意组合,而二维码的载体的信息则是涵盖了上述关键信息,也就是说,载体的信息还可以包括载体上除关键信息外的信息,在这里,载体的信息也可以叫做票据信息。当载体为票据时,二维码的验证过程如图4所示,从图4中可以看出,当要验证载体(例如,发票)的防伪二维码时,首先,需要通过二维码解码技术对二维码进行解码,从而读取二维码中存储的防伪信息的签名和载体的信息;然后,根据防伪信息的签名确定出机构的公钥,通过公钥访问载体的防伪信息的签名,读取出载体的关键信息,同时对读取到的载体的信息进行关键信息的提取,然后,将从二维码中利用公钥读取到的载体的关键信息和从二维码中的载体信息中提取到的关键信息进行比较,验证防伪信息的签名是否是真的。
[0071]而在实际生成时,二维码的载体的关键信息可以根据实际的载体情况,自行定义。
[0072]在上述步骤中,在对读取出的数字签名信息进行分析,确定公钥时,可对读取出的数字签名信息进行分析,确定出数字签名信息中包含的载体的对应机构的名称;并根据载体的对应机构的名称、以及对应的公钥矩阵和组合公钥算法,得到公钥。
[0073]具体实践时,根据载体的对应机构的名称、以及与密钥管理系统中对应的公钥矩阵和组合公钥算法,得到公钥的具体方法可以是根据载体的对应机构的名称,通过与密钥管理系统对应的公钥矩阵和组合公钥算法,计算出公钥。
[0074]在具体实践时,在根据公钥、二维码的载体的信息对数字签名信息进行验证之前,还可将读取的数字签名信息和二维码的载体的信息与预先配置的黑名单信息进行匹配,如果匹配成功,则终止对数字签名信息的验证。
[0075]其中,预先配置的黑名单是可动态更新的伪造发票的唯一标识。
[0076]根据上述步骤确定出的公钥和载体的信息对数字签名信息进行验证,如果验证失败,则证明该二维码为伪造品;如果验证成功,则证明此二维码时由该二维码内包含的载体的信息中标注的载体核发机构所制作生产,同时,在验证通过的情况下,为了保证该二维码中的载体的核发机构签发的防伪签名与该载体的业务唯一关联的特性,该验证方法还包括:将从所述二维码中读取的对应载体的信息与二维码的载体中记载的信息进行对比验证,对比结果为相同,则证明绑定此二维码的载体(例如,票据)为真的。
[0077]以下结合二维码在商品发票中的实例对本发明的上述方案进行详细说明。
[0078]在本实施例中,发票的开票单位使用本机构的标识,例如XX商贸公司,并根据0?密钥管理系统的私钥矩阵和组合公钥算法来生成本单位的私钥。在二维码生成过程中,首先需要用此私钥对发票的关键信息进行签名,其中,关键信息在本实施例中为发票编号(本例中的编号为耵0000187209)、开票单位、开票日期、付款单位、货品名称、货品数量、金额等组合成固定格式的字符串,然后计算此字符串的哈希值,并对此哈希值进行签名;接着,将签名结果与上述票据信息继续组合,并依照二维码编码规则,将其生成二维码图形;最后,将此二维码打印纸发票的固定位置后,如图5所示,就此完成0? 二维码防伪发票的制作。
[0079]在具体实践中,发票开具单位(票据核发机构)将会基于移动操作系统,将0? 二维码防伪程序公开发布,如图6所示,票据收讫人则可以使用移动设备通过正式渠道下载并安装该防伪程序;其中,该防伪程序内嵌0?组合公钥算法以及公钥矩阵,根据公钥矩阵及算法可以实时计算任何票据核发机构的公钥,进而完成对发票的二维码验证操作;此外,该程序还内置了可动态更新的伪造发票编码黑名单,可以直接确定黑名单中的票据,缩短验证时间。
[0080]在本实施例中,通过权威机构将0? 二维码防伪软件公开地、广泛地发布,达到了群体性的防伪,任何个人都可以随时随地的对接收的票据进行真伪的鉴别,有效的威慑了造假犯罪。
[0081]当票据收讫人接收到票据,则使用该防伪程序对票据真伪进行验证,首先,票据收讫人需要通过该防伪程序扫描票据上的二维码通过对二维码的解析,得到了票据的签名数据和发票信息;然后将根据解析出的发票编号与程序内部伪造发票黑名单进行匹配验证,如存在匹配记录,则提示此发票存在高度伪造的嫌疑,提示验证失败;
[0082]对于类似发票、收据这样有具体收付单位的票据,造假者不大可能针对某一真票进行大量复制,所以验证过程的对上述步骤的对发票编号的黑名单匹配可以省略,但是对于门票、有价证券等票据,造假者就有可能针对某一真品进行大量复制牟利,而一旦该批伪造票据投放市场,只要其中一件伪造品被其他防伪措施所识别,则该编号或序号将被加入黑名单中,并通过网络或其他途径广泛更新到装有二维码鉴别软件的识别器上,此时,就可以通过对解析后的编号进行黑名单的匹配,确定所有克隆该编号的伪造票据,而所有还未来得及投放的伪造票据也将会无法再投入到市场,这就能够给造假者在经济上予以沉重的打击,从而在经济层面上达到杜绝批量造假的目的。
[0083]如果不存在匹配记录,则对签名数据进行解析获取二维码内数字签名中的核发机构的标识(票据核发机构的名称),这里为开票单位,并根据获取的票据核发机构的名称、以及程序内置的公钥矩阵和组合公钥算法,计算得到该发票核发单位的公钥;通过该公钥对签名数据进行验证,如果验证失败,则提示该发票为伪造发票,并停止验证;如果验证成功,则证明此发票是由二维码上发票信息标明的开票单位开具,与此同时,在验证成功下得到了一个哈希值,然后,提取二维码内发票信息,并对其技术哈希值,接着将两个哈希值进行对比,如果不同,则证明该发票为伪造发票;如果相同,则证明此二维码未被篡改,并将二维码内的发票信息显示到扫描设备上,例如手机屏幕,此时,票据收讫人可以将屏幕上的信息与纸质发票上填写的发票信息对比,用以确定该二维码是对应于此发票的,如果对比结果为相同,则发票为真实的。
[0084]基于以上描述可以看出,本发明通过将票据的票面信息和含有与之相应的二维码同时绑定在每张票据上;并通过可读的票面信息和解析后的二维码信息对比是否相符的方式,可方便快捷地进行本地实时真伪的鉴定;此外,本发明采用二维码作为防伪信息载体,成本低,信息储存量大,并可用扫描图像方式录入信息,快速解码,立即得到防伪验证结果;而且,二维码终端验证设备普及,方便、实用,带有拍照功能并加载有CPK 二维码防伪软件的手机等移动电子设备都可以作为认证终端设备;而CPK公钥是基于标识的算法体制,可以即时计算签名人的公钥,而无需连接至密钥管理中心索取,完全实现离线验证;此外,本发明可以根据建设需要,选择是否联网以索取其他信息,如黑名单列表等;本发明的防伪验证方法不仅防伪效果好,更重要的是能够利用当前公众普遍使用、随身携带的电子数码产品,如手机以及商家的必备设备,如扫描器等,快速、准确、方便地鉴别产品真伪,将伪品消灭在流通之前。
[0085]根据本发明的实施例,还提供了一种基于CPK的二维码的生成装置。
[0086]如图7所示,根据本发明实施例的基于CPK的二维码的生成装置包括:
[0087]确定模块71,用于确定二维码的载体的关键信息;
[0088]签名模块72,用于根据预先配置的私钥对关键信息进行签名,生成数字签名信息;
[0089]组合模块73,用于将数字签名信息和二维码的载体的信息进行组合,生成防伪信息;
[0090]生成模块74,用于根据二维码编码技术对防伪信息进行编码,生成二维码。
[0091]根据本发明的实施例,还提供了一种基于CPK的二维码的验证装置。
[0092]如图8所示,根据本发明实施例的基于CPK的二维码的验证装置包括:
[0093]解码模块81,用于对二维码进行解码,读取二维码中存储的数字签名信息和二维码的载体的信息;
[0094]分析模块82,用于对读取的数字签名信息进行分析,得到公钥;
[0095]验证模块83,用于根据公钥、二维码的载体的信息对数字签名信息进行验证。
[0096]综上所述,借助于本发明的上述技术方案,本发明在二维码生成过程中,通过载体核发机构的私钥对载体的关键信息进行签名,从而保证了二维码中数据的真实性,为后期的验证提供了有力的依据。而在二维码的验证过程中,是直接提取二维码中的数据,根据提取的数据计算出载体信息、数字签名信息,并根据载体核发机构的名称计算核发机构的公钥,验证数字签名信息,进而确定二维码是否为真实的;而CPK公钥是基于标识的算法体制,可以即时计算签名人的公钥,因此整个验证过程中,无需连接互联网,实现了本地验证的功能,做到了随时随地、简单易行的验证,进而使得验证手段更为便捷和通用化,实现了简化防伪信息的验证过程、降低验证防伪信息的难度的效果;此外,本发明通过将票据的票面信息和含有与之相应的二维码同时绑定在每张票据上;并通过可读的票面信息和解析后的二维码信息对比是否相符的方式,可方便快捷地进行本地实时真伪的鉴定;另外,本发明可以根据建设需要,选择是否联网以索取其他信息,如黑名单列表等。
[0097]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于组合公钥CPK的二维码的生成方法,其特征在于,包括: 确定所述二维码的载体的关键信息; 根据预先配置的私钥对所述关键信息进行签名,生成数字签名信息; 将所述数字签名信息和所述二维码的载体的信息进行组合,生成防伪信息; 根据二维码编码技术对所述防伪信息进行编码,生成二维码。
2.根据权利要求1所述的生成方法,其特征在于,所述关键信息包括以下至少之一: 载体的编号、载体的名称、载体的日期、载体的金额。
3.根据权利要求1所述的生成方法,其特征在于,所述生成方法进一步包括: 预先配置私钥,其中,所述私钥为载体的对应机构的私钥,并且,预先配置私钥包括:密钥管理系统依据私钥矩阵和组合公钥算法,将所述载体的对应机构的名称作为标识生成与所述载体的对应机构对应的私钥。
4.根据权利要求1至3任意一项所述的生成方法,其特征在于,所述生成方法进一步包括: 将所述二维码打印至对应的载体的预定位置。
5.一种基于CPK的二维码的验证方法,其特征在于,包括: 对所述二维码进行解码,读取所述二维码中存储的数字签名信息和所述二维码的载体的信息; 对读取的所述数字签名信息进行分析,得到公钥; 根据所述公钥、所述二维码的载体的信息对所述数字签名信息进行验证。
6.根据权利要求5所述的验证方法,其特征在于,对读取出的所述数字签名信息进行分析,得到公钥包括: 对读取出的所述数字签名信息进行分析,确定出所述数字签名信息中包含的载体的对应机构的名称; 根据所述载体的对应机构的名称、以及对应的公钥矩阵和组合公钥算法,得到所述公钥。
7.根据权利要求5所述的验证方法,其特征在于,在根据所述公钥、所述二维码的载体的信息对所述数字签名信息进行验证之前,所述验证方法进一步包括: 将读取的所述数字签名信息和所述二维码的载体的信息与预先配置的黑名单信息进行匹配,如果匹配成功,则终止对所述数字签名信息的验证。
8.根据权利要求5所述的验证方法,其特征在于,在根据所述公钥、所述二维码的载体的信息对所述数字签名信息进行验证后,在验证通过的情况下,所述验证方法进一步包括: 将从所述二维码中读取的对应所述载体的信息与所述二维码的载体中的信息进行对比验证。
9.一种基于CPK的二维码的生成装置,其特征在于,包括: 确定模块,用于确定所述二维码的载体的关键信息; 签名模块,用于根据预先配置的私钥对所述关键信息进行签名,生成数字签名信息;组合模块,用于将所述数字签名信息和所述二维码的载体的信息进行组合,生成防伪信息; 生成模块,用于根据二维码编码技术对所述防伪信息进行编码,生成二维码。
10.一种基于CPK的二维码的验证装置,其特征在于,包括: 解码模块,用于对所述二维码进行解码,读取所述二维码中存储的数字签名信息和所述二维码的载体的信息; 分析模块,用于对读取的所述数字签名信息进行分析,得到公钥; 验证模块,用于根据所述公钥、所述二维码的载体的信息对所述数字签名信息进行验证。
【文档编号】G06K19/06GK104408502SQ201410570893
【公开日】2015年3月11日 申请日期:2014年10月22日 优先权日:2014年10月22日
【发明者】孙海龙, 赵阳, 郭守祥 申请人:全联斯泰克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1