可离线验证安全二维码构造验证方法与装置与流程

文档序号:12278113阅读:2194来源:国知局
可离线验证安全二维码构造验证方法与装置与流程

本发明涉及信息技术和安全验证领域,特别是涉及一种可离线验证安全二维码构造验证方法与装置。



背景技术:

二维码是用若干个与二进制相对应的符号按一定规律在二维平面上分布来记录数据信息的特定几何图形。二维码使用图形符号来表示文字数值信息,符号表示技术方面已研制出多种码制,常见的有QR Code、Data Matrix、Maxi Code、PDF417等等。二维码通过图象输入设备或光电扫描设备进行识别,可以处理符号尺寸大小比例变化、图形旋转、局部污损缺失等常见问题实现编码信息的自动识别,具有编码信息容量大,容错纠错能力强,译码可靠性高,制作成本低,简单易用等特点。随着智能手机、平板电脑、互联网、移动网络、物联网等技术的普及,二维码作为一种信息存储、传递、识别和交互技术,在电子媒体、报纸杂志、商品包装、仓储物流、个人名片、交通车票、证书单据、移动广告、社交APP、网购交易、网银支付、移动支付等各个方面已得到广泛应用。传统的互联网以IP地址或域名网址为访问入口,但冗长的文本数字信息难以记忆和输入,容易因输入错误而导致无法访问或错误访问等问题。二维码编码信息容量大,可对文字、图片、声音等各类数据信息进行编码,其中应用最广泛的包括文本TXT类型、网址URI类型等。各类信息存储识别交互等应用主要都是基于这两种编码类型,尤其网络资源统一定位URI已成为移动互联时代的重要网络入口媒介,大量的商业平台、社交软件、银行网站、移动支付系统等都提供了自己的二维码入口。这些二维码可方便地发布于报纸、杂志、电视、地铁、公交等等广告区域,用户无需记忆和输入网址信息,只需要用智能手机扫描二维码即可进入URI指向的地址,访问相关网站平台或执行指定的支付交易。

二维码制作简单,任何单位和个人都可以制作和识读二维码信息。在具有简单易用优点的同时,安全性也成为二维码普及应用的一个主要障碍。带有恶意软件和病毒链接的二维码往往伪装成赠品、折扣、优惠等推广二维码,人们难以识别真假。如果误扫描这些二维码,就会导致下载木马病毒程序等,严重危害用户系统安全,可能导致用户个人信息泄露和经济损失。例如一些诈骗网站将其网址制作成二维码仿冒银行网上交易网站, 用户如果误扫描此二维码并登录假冒网站,可能造成银行帐号和密码泄露。一些木马软件的下载网址被制作成二维码假冒成赠送礼品优惠等链接,如果误扫描下载可能导致用户隐私信息泄露,并对用户系统安全带来很大隐患。随着二维码的普及应用,其安全性也引起人们越来越多的关注。二维码的发布来源是否权威可信,是人们对扫码安全性的最大疑虑。二维码是明码编码,虽然具有信息容错性的冗余检验,但信息易被修改伪造,发布来源的验证比较困难。目前的验证方法包括两类:一是采用类似扫码卫士的应用系统,扫描识别出二维码信息后,通过网络连接应用系统的专用服务器,将二维码网址信息与服务器中数据库记录进行检索比对:如系统数据库中可检索到匹配记录,根据记录的属性可以给出此二维码来源是否安全;如果没有匹配的记录,则安全性无法判断。另一类则是对二维码信息进行加密,通过网络连接专用的服务器,读取其中的认证信息,与二维码中加密信息进行比对进行验证;此类应用为封闭式系统,加密密钥信息存储于专用服务器,二维码信息只能由内部专用系统输入解密,无法由大众用户自行读取和验证来源。

现有的二维码安全性验证方法存在以下主要问题:需要通过网络连接服务器进行验证,在没有网络连接或不便进行网络连接的环境下无法验证;基于网址检索对比的验证方法,只能验证已经扫描验证过的二维码的信息,新生成的二维码信息需要先加入数据库中才能进行验证。

为了解决现有二维码安全性验证问题,本发明提出一种可离线验证的安全二维码构造验证方法及装置,无需网络连接即可离线验证二维码的发布来源,可安全放心的应用二维码信息。

在本发明中用到的对称密钥密码系统和非对称公钥密码系统,其基本原理方法可以参考以下公开文献:

[1] Christof Paar and Jan Pelzl. 深入浅出密码学-常用加密技术原理与应用. 清华大学出版社, 2015

[2] Tom St Denis and Simon Johnson. 程序员密码学. 机械工业出版社,2007

其中,文献[1]主要涉及对称密钥以及非对称公钥密码系统的原理,文献[2]主要涉及对称密钥以及非对称公钥算法实现。



技术实现要素:

有鉴于此,本发明实施例提供了一种可离线验证二维码构造验证方法及装置,在无需网络连接的普遍适用环境下,即可验证二维码的发布来源,以安全可靠的使用二维码。采用本发明构造验证方法的二维码,称之为安全二维码;根据编码的信息可被公众读取或仅供特定用户读取可以分为公开信息、私密信息和混合信息类型,分别称之为公开信息安全二维码、私密信息安全二维码和混合信息安全二维码。

本发明实施例第一方面提供一种可离线验证安全二维码构造验证方法,所述方法包括:

输入需编码的信息和类型信息;

对需编码信息进行数字签名运算、加密运算;

用输入信息、加密信息、数字签名、数字证书及其有效性信息构造组合信息;

对组合信息进行二维码编码,生成安全二维码;

输入安全二维码信息,按二维码编码规则识别内含的组合信息;

分析解密组合信息,得到输入信息、数字签名、数字证书及其有效性信息;

验证数字证书的有效性,并用数字证书验证输入信息和数字签名;

验证结果判断和信息输出提示。

本发明实施例第一方面第一种可能的实现方式中,所述需编码信息和类型信息包括但不限于:

需编码信息为基本信息、扩展信息、目标信息、动态信息中的任意几种;

其中,基本信息为不随单次应用变化的名称、地址、域名信息中的任意几种;目标信息为目标网址、公示信息中的任意几种;动态信息为根据单次应用而变化的生成时间、有效时间、交易信息、应用参数信息中的任意几种;扩展信息为证件号码、联系方式信息中的任意几种;类型信息为公开信息、私密信息、混合信息中的任意一种。

本发明实施例第一方面第一种可能的实现方式中,所述组合信息包括但不限于:

输入信息、加密信息、数字签名、数字证书及其有效性信息;

其中,输入信息为输入的需编码的信息和类型信息;加密信息为用特定用户的公钥或者其指定的对称密钥对需编码信息加密后的密文以及加密算法参数信息,可以对输入信息或者整个组合信息进行加密运算;数字签名是用发布者私钥对需编码信息进行签名运算的结果,可以对输入信息或者整个组合信息进行数字签名运算;数字证书是由密钥签发机构数字签名认证的发布者身份及公钥证书;数字证书有效性信息是经密钥签发机构根证书指定的有效性验证机构签名认证的数字证书当前状态信息;

本发明实施例第一方面第一种可能的实现方式中,所述组合信息的构造组合及分析解构方法包括但不限于:

在组合信息头部保存安全二维码标识、类型、组合、压缩方式等信息;

当需要编码的信息为可供任何用户读取的公开信息时:将输入信息、数字签名、数字证书及其有效性信息通过分隔符号连接构成组合信息;解构时根据组合信息头部的类型和组合方式信息,通过分隔符号将组合信息分解为各个独立信息。

本发明实施例第一方面第一种可能的实现方式中,所述二维码编码识别和信息输入输出方法包括但不限于:

采用QR Code、Data Matrix、Maxi Code、PDF417中的任意一种编码识别方法;采用不同大小级别码制以及多码形式表示;生成的二维码图形中可以嵌入一个安全二维码标识图形;采用光学图像扫描信息传输以及光学成像条件不足时采用蓝牙射频无线信息传输方法。

本发明实施例第一方面第一种可能的实现方式中,所述验证和验证结果判断信息输出方法为:

用数字证书签发机构及其指定的证书有效性验证机构的根证书验证数字证书信息,并用数字证书信息验证输入信息和数字签名;验证方法优选使用离线验证方式,也可以使用指定的有效性验证机构验证的方式;数字证书、输入信息和数字签名全部验证正确,则安全二维码验证正确,编码信息来源可信,否则其信息发布来源不可信;对验证正确的安全二维码,显示编码信息和二维码发布者信息,允许进行与此二维码相关的应用操作;否则提示此二维码发布来源不可信,拒绝与此二维码相关的应用操作。

本发明实施例第一方面第二种可能的实现方式中,所述数字签名、签名验证、数字证书所用密码系统包括但不限于:

数字签名、签名验证、数字证书使用非对称公钥密码系统,采用ECC椭圆曲线密码系统、DSA密码系统、RSA密码系统中的任意一种;

本发明实施例第一方面第二种可能的实现方式中,所述信息加密、信息解密方法包括但不限于:

信息加密、信息解密使用对称密钥密码系统及非对称公钥密码系统,采用AES、3DES、RC4、IDEA、ECC、RSA、ECDH中的任意几种;用特定用户指定的对称密钥或其公钥及私钥对需加密信息进行加密和解密运算,或者用由用户公钥产生的或随机产生的第一对称密钥对需加密信息进行加密和解密运算,并用特定用户指定的对称密钥或其公钥及私钥对所用的第一对称密钥进行加密和解密运算。

本发明实施例第一方面第三种可能的实现方式中,所述组合信息的构造组合及分析解构方法包括但不限于:

在组合信息头部保存安全二维码标识、类型、组合、压缩方式等信息;

当需要编码的信息为只由特定用户读取的私密信息时:将输入信息的密文信息、数字签名、数字证书及其有效性信息通过分隔符号连接构成组合信息;解构时根据组合信息头部的类型和组合方式信息,先通过分隔符号将组合信息分解为各个独立信息,再根据密文信息中的加密算法参数对密文信息进行解密运算得到原始输入信息;也可以先将输入信息、数字签名、数字证书及其有效性信息通过分隔符号连接,再对连接后的信息进行加密运算,以加密信息作为组合信息;解构时根据组合信息头部的类型和组合方式信息,先通过密文信息中的加密算法参数信息对加密信息进行解密运算,再根据分隔符号将解密后的组合信息分解为各个独立信息。

本发明实施例第一方面第四种可能的实现方式中,所述组合信息的构造组合及分析解构方法包括但不限于:

在组合信息头部保存安全二维码标识、类型、组合、压缩方式等信息;

当需要编码的信息为可由多类用户读取的混合信息时:在公开信息或私密信息处理方法的基础上,对扩展信息进行独立的签名加密和验证解密处理;扩展信息及扩展信息之外的其它信息可分别由不同类别的用户读取。

本发明实施例第一方面第五种可能的实现方式中,所述组合信息的构造组合及分析解构方法包括但不限于:

在组合信息头部保存安全二维码标识、类型、组合、压缩方式等信息;

对于专用系统,数字证书可以缓存于验证装置的数字证书存储区,组合信息内可以省略数字证书信息或者只保留数字证书散列值信息;如果不使用离线验证方式,数字证书有效性信息可以省略或者只保留数字证书散列值信息。

对包含多字节字符的信息,可以采用UTF-8或者UTF-16形式的Unicode编码;

在组合信息构造完成后,再对组合信息进行压缩运算或者Base64编码;解构时先对压缩的组合信息进行解压缩运算或者Base64解码,再按其组合方式解构;

本发明实施例第二方面提供一种可离线验证二维码构造验证装置,所述装置包括:

信息输入单元,用于输入需编码信息和类型信息;

信息存储单元,用于存储输入信息及运算结果信息;

安全信息存储单元,用于安全存储私钥信息;

数字证书存储单元,用于存储数字证书及其有效性信息;

根证书存储单元,用于存储密钥签发机构及其指定有效性验证机构的根证书;

数字签名和信息加密运算单元,用于计算数字签名、更新数字证书有效性信息和信息加密;

组合信息构造及二维码编码运算单元,用于构造组合信息并进行二维码编码运算;

图像显示信息输出单元,用于显示和输出安全二维码信息;

图像扫描信息输入单元,用于扫描和输入安全二维码信息;

二维码识别及组合信息分析解构运算单元,用于二维码编码识别并对组合信息进行分析解构运算;

数字签名验证和信息解密单元,用于信息解密和数字证书有效性及输入信息的数字签名验证;

结果输出信息提示单元,用于安全二维码验证结果输出和信息提示。

本发明实施例第二方面第一种可能的实现方式中, 所述运算单元、签名单元、验证单元的运算功能为:

本发明第一方面安全二维码构造验证方法所述运算。

本发明实施例第二方面第一种可能的实现方式中,所述运算单元、签名单元、验证单元、存储单元及安全存储单元的构造方法包括但不限于:

通用用途存储及运算器件、DSP芯片、FPGA芯片、CPLD芯片、ASIC芯片中的任意几种。

由上述内容可知,本发明具有以下有益效果:

本发明实施例提供了一种可离线验证安全二维码构造验证方法及装置,在无需网络连接的普遍适用环境下,即可验证二维码的发布来源,以安全可靠的使用二维码。采用本发明构造验证方法及装置的安全二维码具有以下优点:

1、安全二维码编码信息无法篡改、伪造、否认;

对安全二维码编码的信息的任何修改都不能通过安全性验证,可以保证编码信息的完整性和一致性。第三方无法伪造信息发布源生成安全二维码,同时发布者也无法否认安全二维码的真实发布源。

2、安全二维码可离线验证其安全性;

不需要连接网络即可离线验证安全二维码的信息完整性、一致性和信息来源的真实性。在没有网络或不便于上网的环境下也可以安全应用。

3、安全二维码可以发布由公众读取的公开信息也可以发布由特定用户读取的私密信息;

根据应用需要,安全二维码可以发布由公众读取的公开信息安全二维码也可以发布由特定一个或多个用户读取的私密信息以及混合信息安全二维码,并且可以离线验证其安全性。同时私密信息安全二维码在以上安全性的基础上,还具有不可复制性,其只能由发布者指定的特定用户访问验证,其他第三方无法读取内容或作为应用凭据,复制克隆私密信息安全二维码没有实际意义。

附图说明

图1是本发明构造验证方法的流程图;

图2 是本发明构造验证装置的结构图;

图3 是本发明实施例1生成的公开信息安全二维码;

图4是本发明实施例2生成的公开信息安全二维码;

图5是本发明实施例3生成的公开信息安全二维码;

图6是本发明实施例4生成的私密信息安全二维码;

图7是本发明实施例5生成的私密信息安全二维码;

图8是本发明实施例6生成的混合信息安全二维码;

具体实施方式

本发明实施例公开的可离线验证安全二维码构造验证方法与装置,如图1和图2所示。

实施步骤如下:

1、输入需要编码的信息和类型信息

需编码信息可以包括基本信息、扩展信息、目标信息和动态信息中的任意组合。基本信息一般为发布者的网址、名称等固定信息。动态信息根据具体应用的需要生成,例如信息生成时间、有效期限、交易编号、交易金额、应用参数等信息。目标信息可以包括网络地址、文本信息等类型的信息。扩展信息为证件号码、联系方式信息中的任意几种;类型信息为公开信息、私密信息、混合信息中的任意一种。

此功能由本发明装置中的信息输入单元和信息存储单元构成。

2、对需编码信息进行数字签名运算、加密运算

数字签名运算使用ECC椭圆曲线密码系统、DSA密码系统、RSA密码系统等非对称公钥密码系统。非对称密钥密码系统使用公钥和私钥一对密钥对进行数字签名验证和加密解密运算;私钥由密钥拥有者保存,只有拥有者可以访问;公钥采用公众媒介公开发布,可由公众自由获取;一般由密钥签发机构用自身根证书将公钥以及拥有者和签发者等信息签名后以数字证书形式发布;公钥及数字证书用于加密及签名验证运算,私钥用于解密和数字签名运算。在应用数字证书时,需检验数字证书的当前状态是否有效;可由证书签发机构根证书指定的验证机构检验证书有效性,并生成在设定时间期限内的证书状态有效性信息;应用数字证书时,应检验有效性信息是否超出其设定时间期限,如已超出时间期限,则由证书签发机构指定的验证机构更新证书有效性信息。

数字签名运算包括两个步骤:(1)采用MD5、SHA1、SHA256等常用的散列函数,计算需编码信息的散列值,形成需编码信息的指纹数据;(2)用发布者的私钥对信息的指纹数据进行签名运算。

在同等密码强度下,椭圆曲线公钥密码系统具有更短的密钥长度和更快的运算速度,本发明方法优选使用ECC椭圆曲线密码系统进行数字签名运算。本发明方法可以只对输入信息进行数字签名运算,也可以对全部组合信息进行数字签名运算。

信息加密运算使用AES、3DES、RC4、IDEA等对称密钥密码系统或者ECC、RSA等非对称公钥密码系统以及ECDH、ECIES等结合对称密码和非对称密码的加密方式。在同等密码强度情况下,本发明优选使用AES对称加密方法和ECC非对称加密方法。

本发明在构造由特定用户读取的私密信息安全二维码时,对需编码信息进行加密运算;构造公开信息安全二维码不需要进行信息加密运算。当特定用户没有密钥签发机构签发的非对称密钥对时,采用对称密钥算法进行加密;当特定用户具有密钥签发机构签发的非对称密钥对时,可以选用对称密钥、非对称密钥以及结合对称和非对称密码的加密方法。本发明方法可以只对输入信息进行加密运算,也可以对全部组合信息进行加密运算。

本发明可以采用以下两种加密方式:(1)用特定用户指定的对称密钥或其公钥对需加密信息进行加密运算;(2)用由用户公钥生成的或随机生成的第一对称密钥对需加密信息进行加密,并用特定用户指定的对称密钥或其公钥对所用的第一对称密钥进行加密。采用加密方式(2)时,可以生成由一个或多个指定用户读取的私密信息二维码,加密算法参数里保存用每个特定用户指定的对称密钥或其公钥对第一对称密钥进行加密的密文;当构造的私密信息安全二维码只需由一个特定用户读取时,可以任意选用两种加密方式之一。

此功能由本发明装置中的数字签名及信息加密运算单元、安全信息存储单元、信息输入单元、信息存储单元构成。

3、用输入信息、加密信息、数字签名、数字证书及其有效性信息构造组合信息

组合信息包括步骤1、2中所述的输入信息、加密信息、数字签名、数字证书及其有效性信息;根据需发布的二维码类型为公开信息或私密信息二维码采用不同组合方式;在组合信息头部保存安全二维码标识、类型、组合、压缩方式等信息。

当需要编码的信息为可供任何用户读取的公开信息时:将输入信息、数字签名、数字证书及其有效性信息通过分隔符号连接构成组合信息。

当需要编码的信息为只由特定用户读取的私密信息时:将输入信息的加密信息、数字签名、数字证书及其有效性信息通过分隔符号连接构成组合信息;或者先将输入信息、数字签名、数字证书及其有效性信息通过分隔符号连接,再对连接后的信息进行加密运算,以加密信息作为组合信息;

当需要编码的信息为可由多类用户读取的混合信息时:在公开信息或私密信息处理方法的基础上,对扩展信息进行独立的签名和加密运算;扩展信息及扩展信息之外的其它信息可分别由不同类别的用户读取。

组合信息构造完成后,可以再对组合信息进行压缩运算或者Base64编码;

此功能由本发明装置中的组合信息构造运算单元、信息存储单元、数字证书存储单元构成。

4、对组合信息进行二维码编码,生成安全二维码。

采用QR Code、Data Matrix、Maxi Code、PDF417等常用二维码编码方法,采用不同大小级别码制或多码形式对组合信息进行编码,生成可离线验证安全二维码。生成的二维码图形中可以嵌入一个安全二维码标识图形。

此功能由本发明装置中的二维码编码运算单元、信息存储单元、图像显示、信息输出单元构成。

5、输入安全二维码信息,按二维码编码规则识别内含的组合信息

公开信息安全二维码可由任何用户读取,按二维码编码规则识别得到公开的组合信息;私密信息安全二维码只能由指定的用户读取识别得到加密后的组合信息。安全二维码的输入可以采用光学图像扫描方式进行信息传输;在光学成像条件不足时也可以采用蓝牙射频无线等信息传输方法。

此功能由本发明装置中的图像扫描单元、信息输入单元、二维码识别运算单元、信息存储单元构成。

6、分析解密组合信息,得到输入信息、数字签名、数字证书及其有效性信息

根据组合信息头部的二维码类型、压缩组合方式等信息:

如组合信息为压缩或Base64编码后信息,则首先通过解压缩或Base64解码还原为原有组合信息;

如为公开信息安全二维码,解构时根据分隔符号将组合信息分解为各个独立信息;

如为私密信息安全二维码并且只对输入信息加密,解构时先根据分隔符号将组合信息分解为各个独立信息,再根据密文信息中的加密算法参数,用特定用户私钥或者其指定的对称密钥对密文信息进行解密运算得到原始输入信息;

如为私密信息安全二维码并且对完整组合信息加密,解构时先根据密文信息中的加密算法参数对加密信息进行解密运算,再通过分隔符号将解密后的组合信息分解为各个独立信息。

如为混合信息安全二维码,在公开信息或私密信息安全二维码的基础上,特定用户可以单独对扩展信息进行解密和签名验证;其它用户不能解密扩展信息;

此功能由本发明装置中的组合信息分析解构运算单元、信息解密运算单元、信息输入单元、信息存储单元、数字证书存储单元构成。

7、验证数字证书的有效性,并用数字证书验证输入信息和数字签名

用数字证书签发机构及其指定的证书有效性验证机构的根证书验证发布者数字证书有效性信息,并用数字证书信息验证输入信息和数字签名。

根据数字证书有效性信息中的指纹算法参数,通过同样的散列算法计算数字证书的指纹数据,并与有效性信息中的指纹数据比较,判断是否一致;根据数字证书有效性信息中的签名算法参数,使用其中的散列算法计算有效性信息的散列值,使用其中的签名算法和证书有效性验证机构的根证书验证其签名;根据数字证书有效性信息的时间期限,判断输入动态信息中的生成时间是否位于有效性信息的生成时间和过期时间之内;以上检验全部通过,则数字证书为有效证书。

根据数字签名中的散列及签名算法参数信息,计算输入信息的散列数据,并用数字证书验证散列数据的签名信息;如果包含完整组合信息的数字签名,则计算组合信息的散列数据,并用数字证书验证散列数据的签名信息;如果数字证书中包含域名限制等使用限制,验证目标信息中域名是否一致;验证数字证书拥有者名称与输入基本信息中名称是否一致;验证当前日期是否位于输入动态信息的生成时间和过期时间之间;以上验证全部通过,则输入信息数据完整,发布来源与数字证书一致。

此功能由本发明装置中的数字签名验证运算单元、信息存储单元、根证书存储单元、数字证书存储单元构成。

8、验证结果判断和信息输出提示

数字证书、输入信息和数字签名全部验证正确,则安全二维码验证正确,编码信息来源可信,否则其信息发布来源不可信;对验证正确的安全二维码,显示编码信息和二维码发布者信息,允许进行与此二维码相关的应用操作;否则提示此二维码发布来源不可信,拒绝与此二维码相关的应用操作。

此功能由本发明装置中的结果输出信息提示单元、信息存储单元构成。

下面结合实施例对本发明进行具体说明。

实施例中所述密钥签发中心、发布者、特定用户等的名称、密钥、证书等为示例数据。为具体说明实施步骤,在实施例中私钥信息也予以列出;在实际应用中私钥信息存储于安全存储区域,只有拥有者自己可以访问。考虑同等密码强度下的密钥长度和运算速度,实施例中优选使用ECC非对称密码体系和AES对称密码系统;ECC采用NIST推荐的素数域256位标准椭圆密码曲线;其余非对称公钥密码系统和对称密钥密码系统应用方式与此类似,只需简单替换相应的签名验证及加密解密运算即可,实施例中不再一一赘述。

实施例1:

ABC Bank对其网上银行入口地址,生成可由公众用户读取的公开信息安全二维码,用户可以安全扫码并访问网上银行系统。

具体实施步骤如下:

1、输入需编码的信息和类型信息

需编码信息包括基本信息、目标信息、动态信息。基本信息为:Base:{Name:ABC Bank},目标信息为:OBJ:{URI:https://www.abc.com},动态信息为:DYN:{Created:2016-1-1 12:00:00|Expired:2026-1-1 12:00:00}。类型信息为公开信息安全二维码。

将输入信息以竖线和括号符号连接,如表1所示。

表1 实施例1需编码信息

[OBJ:{URI:https://www.abc.com}Base:{Name:ABC Bank}DYN:{Created:2016-1-1 12:00:00|Expired:2026-1-1 12:00:00}]

2、对需编码信息进行数字签名运算、加密运算

采用SHA256散列算法,计算表1需编码信息的散列值为:

sha256: 9f2a8e9ace06537bb1521f5c26e686ac3d9a45ed78fa4dfdb8e8c633141e3734

发布者ABC Bank的私钥为:

prime256v1:3174fc59e7c3d5f41fa861448d921f098df1a3bf78838c72dd498375de605d1a

采用ECDSA签名算法,用发布者私钥对散列值进行进行数字签名运算,并对签名结果进行Base64编码,得到文本格式的数字签名如表2所示。

表2 实施例1需编码信息的数字签名

sha256ECDSA:MEUCIEJ4tglE7uvBReg6bWdr1RTAM9BG2gLaduINnDsGX3M4AiEAtXiTSRKc+aKcyJFB8zED44VzDiBOIpVKyK0soGjPZ5A=

本实施例构造的二维码为公开信息安全二维码,不进行加密运算。

3、用输入信息、加密信息、数字签名、数字证书及其有效性信息构造组合信息

发布者ABC Bank的数字证书如表3所示。

表3 实施例1发布者数字证书

CERT:{MIIBnDCCAUMCAQowCQYHKoZIzj0EATBLMQswCQYDVQQGEwJDTjERMA8GA1UECAwIU2hhbmdoYWkxEjAQBgNVBAoMCVJpZGdlIEluYzEVMBMGA1UEAwwMUmlkZ2UgU1FSIENBMB4XDTE1MDEwMTEyMjcwOFoXDTI0MTIyOTEyMjcwOFowazELMAkGA1UEBhMCQ04xETAPBgNVBAgMCFNoYW5naGFpMREwDwYDVQQKDAhBQkMgQmFuazETMBEGA1UECwwKU1FSIEJ1cmVhdTEhMB8GA1UEAwwYQUJDIEJhbmsgU1FSIENlcnRpZmljYXRlMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEg1eLbRe1jnm3dBCMK3H+X5If3smKAQBbzFfjpKqhCNxO5mNQwL0FJ5SGlrvAgs6F2mNFw2OLzCVYWnkbDjg7AzAJBgcqhkjOPQQBA0gAMEUCIQDaG6gz9QMpXgaJ32AYqCW+l6sZhGTOCqH+h8PUWkmzHgIgCb+ni4YLVGQGGHx3YuLG//S+Qbgk1PTM9rdoZC0WSHY= }

数字证书有效性信息如表4所示。

表4 实施例1发布者数字证书有效性信息

VALID:{[fingerprint:sha1:4206bb0d3b52ecf1810729a5671e031544530588|Status:V|Issue:/C=CN/O=Ridge Inc/OU=SQR CA OCSP/CN=Ridge Inc SQR CA OCSP|url:https://ocsp.ridgeca.com|Created:2016-1-1 00:00|Expired:2016-1-15 00:00]sha256ECDSA:MEUCIQDna4d8UCzwdRsAOMLRNfw332bfodiQ6gFMPP+6/PYAMAIgbWzfEtARWlxFp4s2427Z9OhCCwefUryCXc98ZGX+Wfk=}

安全二维码标识、类型、组合、压缩方式信息为:

SQR.P0100

其中,SQR是安全二维码标识,P表示公开信息二维码,01为压缩组合方式,00为备用信息位。

用竖线及括号连接以上信息,构成组合信息如表5所示。

表5 实施例1组合信息

SQR.P0100{[OBJ:{URI:https://www.abc.com}Base:{Name:ABC Bank}DYN:{Created:2016-1-1 12:00:00|Expired:2026-1-1 12:00:00}]sha256ECDSA:MEUCIEJ4tglE7uvBReg6bWdr1RTAM9BG2gLaduINnDsGX3M4AiEAtXiTSRKc+aKcyJFB8zED44VzDiBOIpVKyK0soGjPZ5A=}CERT:{MIIBnDCCAUMCAQowCQYHKoZIzj0EATBLMQswCQYDVQQGEwJDTjERMA8GA1UECAwIU2hhbmdoYWkxEjAQBgNVBAoMCVJpZGdlIEluYzEVMBMGA1UEAwwMUmlkZ2UgU1FSIENBMB4XDTE1MDEwMTEyMjcwOFoXDTI0MTIyOTEyMjcwOFowazELMAkGA1UEBhMCQ04xETAPBgNVBAgMCFNoYW5naGFpMREwDwYDVQQKDAhBQkMgQmFuazETMBEGA1UECwwKU1FSIEJ1cmVhdTEhMB8GA1UEAwwYQUJDIEJhbmsgU1FSIENlcnRpZmljYXRlMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEg1eLbRe1jnm3dBCMK3H+X5If3smKAQBbzFfjpKqhCNxO5mNQwL0FJ5SGlrvAgs6F2mNFw2OLzCVYWnkbDjg7AzAJBgcqhkjOPQQBA0gAMEUCIQDaG6gz9QMpXgaJ32AYqCW+l6sZhGTOCqH+h8PUWkmzHgIgCb+ni4YLVGQGGHx3YuLG//S+Qbgk1PTM9rdoZC0WSHY=}VALID:{[fingerprint:sha1:4206bb0d3b52ecf1810729a5671e031544530588|Status:V|Issue:/C=CN/O=Ridge Inc/OU=SQR CA OCSP/CN=Ridge Inc SQR CA OCSP|url:https://ocsp.ridgeca.com|Created:2016-1-1 00:00|Expired:2016-1-15 00:00]sha256ECDSA:MEUCIQDna4d8UCzwdRsAOMLRNfw332bfodiQ6gFMPP+6/PYAMAIgbWzfEtARWlxFp4s2427Z9OhCCwefUryCXc98ZGX+Wfk=}

4、对组合信息进行二维码编码,生成安全二维码

采用QR编码格式,对组合信息进行二维码编码,形成二维码图形。如图3所示。生成的二维码图形中可以嵌入一个安全二维码标识图形;二维码中是否嵌入标识图形不影响安全二维码的验证和安全性。

5、输入安全二维码信息,按二维码编码规则识别内含的组合信息

扫描如图3所示的安全二维码,按照QR编码规则进行解码,得到如表5所示的组合信息。

6、分析解密组合信息,得到输入信息、数字签名、数字证书及其有效性信息

根据组合信息头部二维码类型、组合方式等信息,通过竖线和括号等连接符号,对组合信息进行分析解构,得到如表1-表4所示的输入信息、数字签名、数字证书及其有效性信息。

此实施例为公开信息二维码,不需要解密运算。

7、验证数字证书的有效性,并用数字证书验证输入信息和数字签名

数字证书签发机构及其指定的证书有效性验证机构的根证书如表6、表7所示。表6、表7所示的根证书存储于验证装置的受信任根证书存储区域。

表6 数字证书签发机构的根证书

-----BEGIN TRUSTED CERTIFICATE-----

MIIBfDCCASMCAQAwCQYHKoZIzj0EATBLMQswCQYDVQQGEwJDTjERMA8GA1UECAwIU2hhbmdoYWkxEjAQBgNVBAoMCVJpZGdlIEluYzEVMBMGA1UEAwwMUmlkZ2UgU1FSIENBMB4XDTE1MDEwMTEyMTAyMloXDTI0MTIyOTEyMTAyMlowSzELMAkGA1UEBhMCQ04xETAPBgNVBAgMCFNoYW5naGFpMRIwEAYDVQQKDAlSaWRnZSBJbmMxFTATBgNVBAMMDFJpZGdlIFNRUiBDQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABN1iZNfBidKkAm//Y1q1kOIYC6clWqCjUC3STrxZFXePW0pLx/ObPMJGJMs2etwZIpgqvn7lPdGFZJqlaLboQw8wCQYHKoZIzj0EAQNIADBFAiBNVxIayCJUYJo6k296cyvR5u+GPo9Cnx4D1OAn9MyDqwIhAIgZ86v3H7vwiyxaBi27v0TAbAmJSO3wA3868ZtP9KY2

-----END TRUSTED CERTIFICATE-----

表7 数字证书有效性验证机构的根证书

-----BEGIN TRUSTED CERTIFICATE-----

MIIBiTCCAS8CAQEwCQYHKoZIzj0EATBLMQswCQYDVQQGEwJDTjERMA8GA1UECAwIU2hhbmdoYWkxEjAQBgNVBAoMCVJpZGdlIEluYzEVMBMGA1UEAwwMUmlkZ2UgU1FSIENBMB4XDTE1MDEwMTEyMTcyN1oXDTI0MTIyOTEyMTcyN1owVzELMAkGA1UEBhMCQ04xEjAQBgNVBAoMCVJpZGdlIEluYzEUMBIGA1UECwwLU1FSIENBIE9DU1AxHjAcBgNVBAMMFVJpZGdlIEluYyBTUVIgQ0EgT0NTUDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFfl+4xtyRasK6J2kJ9BWnMze1flwxJcwvqxKbLI4tQbgizqV7taTeZsceMD96qqbmO9JXB5tjOQU5m0auSbecUwCQYHKoZIzj0EAQNJADBGAiEA/ifW2onY5OPR/bFFoxbtsM4CadeB7IKBfKZ5V6KswBECIQCb/avLSz2er7EkudMDa9oTTqfeIIPnt02/gwR4O1AV5g==

-----END TRUSTED CERTIFICATE-----

根据数字证书有效性信息中的SHA1散列算法,计算数字证书信息的散列数据为:

sha1: 4206bb0d3b52ecf1810729a5671e031544530588,与数字证书有效性信息中的指纹相同。

数字证书有效性信息中的签名信息为:

sha256ECDSA:MEUCIQDna4d8UCzwdRsAOMLRNfw332bfodiQ6gFMPP+6/PYAMAIgbWzfEtARWlxFp4s2427Z9OhCCwefUryCXc98ZGX+Wfk=

使用SHA256散列算法计算数字证书有效性信息的散列值为:

sha256: fbdc67e57284296c300023e8fa10bd6509d017e7e09dcafcb31216a3d519f380

使用ECDSA算法和表6、表7所示的根证书,验证数字证书有效性信息中的数字签名;

数字证书有效性信息的时间期限如表4所示: 2016-1-1 00:00至2016-1-15 00:00;输入动态信息中的生成时间如表1所示:2016-1-1 12:00:00;输入信息生成时间位于有效性信息的时间期限之内;

数字证书的有效性也可以不使用以上优选的离线验证方式,而通过证书签发机构根证书指定的证书有效性验证机构进行在线验证;不使用离线验证方式验证证书有效性时,组合信息中的证书有效性信息可以省略或者只保留证书散列值;

以上检验全部通过,则发布者的数字证书为有效证书。

数字签名中的散列及签名算法参数为sha256ECDSA,如表2所示。采用sha256散列算法计算输入信息散列数据为:

sha256:9f2a8e9ace06537bb1521f5c26e686ac3d9a45ed78fa4dfdb8e8c633141e3734

用表3所示的发布者数字证书验证散列数据的签名信息;

发布者数字证书拥有者CN名称为ABC Bank SQR Certificate,输入基本信息中名称ABC Bank,是机构ABC Bank的安全二维码专用证书;输入动态信息的有效时限如表1所示:2016-1-1 12:00:00至2026-1-1 12:00:00,当前时间位于输入信息的有效时限之内;

以上验证全部通过,输入信息数据完整,发布来源与数字证书一致。

8、验证结果判断和信息输出提示

以上数字证书、输入信息和数字签名全部验证正确,此安全二维码验证正确,编码信息来源可信。显示输入信息和二维码发布者信息,提示二维码由ABC Bank发布,允许访问网上银行网址。如果此安全二维码经过任何篡改或伪造,则无法通过以上安全验证,提示此安全二维码可能被篡改或伪造,拒绝访问编码相关网址。

实施例2:

ABC Pay支付平台,对出租车移动支付应用,为每个出租车运营人员生成可由公众用户读取的公开信息安全二维码,乘客可以安全扫码支付租车费用。

具体实施步骤如下:

1、输入需编码的信息和类型信息

需编码信息包括基本信息、目标信息、动态信息。基本信息为:Base:{TaxiID:沪A12345|LicenseID:123456|UserID:12345678|Domain:abcpay.com},目标信息为:OBJ:{URI:https://sqr.abcpay.com/zrk1rjziurlr2w3ira},动态信息为:DYN:{Created:2016-1-1 12:00:00|Expired:2017-1-1 12:00:00}。类型信息为公开信息安全二维码。

将输入信息以竖线和括号符号连接,如表8所示。

表8 实施例2需编码信息

[OBJ:{URI:https://sqr.abcpay.com/zrk1rjziurlr2w3ira}Base:{TaxiID:沪A12345|LicenseID:123456|UserID:12345678|Domain:abcpay.com}DYN:{Created:2016-1-1 12:00:00|Expired:2017-1-1 12:00:00}]

本实施例需编码信息包含多字节字符汉字,信息编码采用UTF-8编码。

2、对需编码信息进行数字签名运算、加密运算

本实施例采用另一种可能的组合形式,对完整的组合信息进行签名。为便于逻辑表述,将数字签名过程合并到步骤3进行说明。

本实施例构造的二维码为公开信息安全二维码,不进行加密运算。

3、用输入信息、加密信息、数字签名、数字证书及其有效性信息构造组合信息

安全二维码标识、类型、组合、压缩方式信息为:SQR.P0200

其中,SQR是安全二维码标识,P表示公开信息二维码,02表示对整体信息签名,00为备用信息位。

用竖线及括号连接信息头、输入信息、数字证书及其有效性信息,构成待签名信息如表9所示。其中,数字证书及其有效性信息分别为CERT和VALID部分。

表9 实施例2待签名信息

SQR.P0200{[OBJ:{URI:https://sqr.abcpay.com/zrk1rjziurlr2w3ira}Base:{TaxiID:沪A12345|LicenseID:123456|UserID:12345678|Domain:abcpay.com}DYN:{Created:2016-1-1 12:00:00|Expired:2017-1-1 12:00:00}]}CERT:{MIIBmjCCAUECAQwwCQYHKoZIzj0EATBLMQswCQYDVQQGEwJDTjERMA8GA1UECAwIU2hhbmdoYWkxEjAQBgNVBAoMCVJpZGdlIEluYzEVMBMGA1UEAwwMUmlkZ2UgU1FSIENBMB4XDTE1MDEwMTEyNTU1NFoXDTI0MTIyOTEyNTU1NFowaTELMAkGA1UEBhMCQ04xETAPBgNVBAgMCFNoYW5naGFpMRAwDgYDVQQKDAdBQkMgUGF5MRMwEQYDVQQLDApTUVIgQnVyZWF1MSAwHgYDVQQDDBdBQkMgUGF5IFNRUiBDZXJ0aWZpY2F0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMYWxfwoZix/ktNjsGZ5rxrreWdiMsbrfQJTRfmGcbi2ANcx4gsvXY+VUC8xm4q5T4QeB/8xKkqARKd52tGLoKYwCQYHKoZIzj0EAQNIADBFAiEAjm5i1gbKxLY3O6OsAgmtZ/OZfMGlWVotA+RYeRFcjgkCICXC1x6vdLA/fekE5oof1EWROTqGY70SBRed88EhOPfm}VALID:{[fingerprint:sha1:c8013a7663460284db88b7f5bbb11cc082e4209d|Status:V|Issue:/C=CN/O=Ridge Inc/OU=SQR CA OCSP/CN=Ridge Inc SQR CA OCSP|url:https://ocsp.ridgeca.com|Created:2016-1-1 00:00|Expired:2016-1-15 00:00]sha256ECDSA:MEUCIGFaxrDsRrLGB0STa33X/A7B+AQqkqbO5/9mZ+EA9fNYAiEApb0xXmxFNxGzWhNOga3mooNaCchKFR74jK5TdiVsLHE=}

发布者ABC Pay的私钥为:

prime256v1: a52a6adef863f807086ec3d93c127b72a995d5e9a4c6bd14ee2c6d6669d7ee17

采用sha256ECDSA签名算法,用发布者私钥对散列值进行进行数字签名运算,并对签名结果进行Base64编码,得到文本格式的数字签名如表10所示。

表10 实施例2需编码信息的数字签名

sha256ECDSA:MEUCIQCHdsWZRGf4jX3hjSpjBtsitHpCXrg5NDyzhdfAxtAA4AIgWVd+nMtQcYW6iW+HMwX02ecllFjHnm2J82JP2rhY34s=

将表10整体信息的签名结果附加在信息尾部,构成的组合信息如表11所示。

表11 实施例2的组合信息

SQR.P0200{[OBJ:{URI:https://sqr.abcpay.com/zrk1rjziurlr2w3ira}Base:{TaxiID:沪A12345|LicenseID:123456|UserID:12345678|Domain:abcpay.com}DYN:{Created:2016-1-1 12:00:00|Expired:2017-1-1 12:00:00}]}CERT:{MIIBmjCCAUECAQwwCQYHKoZIzj0EATBLMQswCQYDVQQGEwJDTjERMA8GA1UECAwIU2hhbmdoYWkxEjAQBgNVBAoMCVJpZGdlIEluYzEVMBMGA1UEAwwMUmlkZ2UgU1FSIENBMB4XDTE1MDEwMTEyNTU1NFoXDTI0MTIyOTEyNTU1NFowaTELMAkGA1UEBhMCQ04xETAPBgNVBAgMCFNoYW5naGFpMRAwDgYDVQQKDAdBQkMgUGF5MRMwEQYDVQQLDApTUVIgQnVyZWF1MSAwHgYDVQQDDBdBQkMgUGF5IFNRUiBDZXJ0aWZpY2F0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMYWxfwoZix/ktNjsGZ5rxrreWdiMsbrfQJTRfmGcbi2ANcx4gsvXY+VUC8xm4q5T4QeB/8xKkqARKd52tGLoKYwCQYHKoZIzj0EAQNIADBFAiEAjm5i1gbKxLY3O6OsAgmtZ/OZfMGlWVotA+RYeRFcjgkCICXC1x6vdLA/fekE5oof1EWROTqGY70SBRed88EhOPfm}VALID:{[fingerprint:sha1:c8013a7663460284db88b7f5bbb11cc082e4209d|Status:V|Issue:/C=CN/O=Ridge Inc/OU=SQR CA OCSP/CN=Ridge Inc SQR CA OCSP|url:https://ocsp.ridgeca.com|Created:2016-1-1 00:00|Expired:2016-1-15 00:00]sha256ECDSA:MEUCIGFaxrDsRrLGB0STa33X/A7B+AQqkqbO5/9mZ+EA9fNYAiEApb0xXmxFNxGzWhNOga3mooNaCchKFR74jK5TdiVsLHE=}sha256ECDSA:MEUCIQCHdsWZRGf4jX3hjSpjBtsitHpCXrg5NDyzhdfAxtAA4AIgWVd+nMtQcYW6iW+HMwX02ecllFjHnm2J82JP2rhY34s=

4、对组合信息进行二维码编码,生成安全二维码

采用QR编码格式,对组合信息进行二维码编码,形成二维码图形,如图4所示。

5、输入安全二维码信息,按二维码编码规则识别内含的组合信息

扫描如图4所示的安全二维码,按照QR编码规则进行解码,得到如表11所示的组合信息。

6、分析解密组合信息,得到输入信息、数字签名、数字证书及其有效性信息

根据组合信息头部二维码类型、组合方式等信息,通过竖线和括号等连接符号,对组合信息进行分析解构,得到输入信息、数字证书及其有效性信息、数字签名信息。

此实施例为公开信息二维码,不需要解密运算。

本实施例采用对整体信息签名组合方式,以上步骤完成信息组合和解构运算,之后数字证书有效性及输入信息的验证步骤与实施例1相同,可以参考实施例1实施,不再重复赘述。

经验证,当数字证书、输入信息和数字签名全部验证正确,此安全二维码验证正确,编码信息来源可信。显示输入信息和二维码发布者信息,提示二维码来源可信,允许通过ABC Pay平台支付费用。如果此安全二维码经过任何篡改或伪造,则无法通过以上安全验证,提示此安全二维码可能被篡改或伪造,发布来源不可信,拒绝进行支付操作。

实施例3:

ABC Mall购物中心,在用户付款时,用本发明装置实时产生一个包含收款商家名称、日期、金额、有效时间等信息的公开信息安全二维码,用户扫码即可安全支付。

具体实施步骤如下:

1、输入需编码的信息和类型信息

需编码信息包括基本信息、目标信息、动态信息。基本信息为:Base:{Name:ABC Mall|Addr:No.1288,ABC Rd.,Shanghai|Domain:abcpay.com},目标信息为:OBJ:{URI:https://pay.abcpay.com/dkri67zin9oo8tzxy9ojquz8mcaedhzcljix1jeu},动态信息为:DYN:{Created:2016-5-1 12:00:00|Expired:2016-5-1 12:10:00|PaymentID:e7db7c48642c78a669fd|Total:580.00RMB}。类型信息为公开信息安全二维码。

将输入信息以竖线和括号符号连接,如表12所示。

表12 实施例3需编码信息

[OBJ:{URI:https://pay.abcpay.com/dkri67zin9oo8tzxy9ojquz8mcaedhzcljix1jeu}Base:{Name:ABC Mall|Addr:No.1288,ABC Rd.,Shanghai|Domain:abcpay.com}DYN:{Created:2016-5-1 12:00:00|Expired:2016-5-1 12:10:00|PaymentID:e7db7c48642c78a669fd|Total:580.00RMB}]

2、对需编码信息进行数字签名运算、加密运算

发布者ABC Mall的私钥为:

prime256v1:04fb934882d6e980367d7d74aa97f67b4503e8972caa0fcdf60904cb859be54c

采用sha256ECDSA签名算法,对输入信息进行签名运算,经Base64编码后的签名结果如表13所示。

表13 实施例3需编码信息的数字签名

sha256ECDSA:MEYCIQDpCQGQXaj6Pv5FImHBmv13PRr0KzZRxtF0t7s0f0BFlwIhALR+F7IEFM2l3WDgmQZAwms/RpPr+nXx6P8Nmuxnph8J

本实施例构造的二维码为公开信息安全二维码,不进行加密运算。

3、用输入信息、加密信息、数字签名、数字证书及其有效性信息构造组合信息

安全二维码标识、类型、组合、压缩方式信息为:SQR.P0100

用竖线及括号连接输入信息、数字签名、数字证书及其有效性信息,构成组合信息如表14所示。其中,数字证书及其有效性信息分别为CERT和VALID部分。

表14 实施例3组合信息

SQR.P0100{[OBJ:{URI:https://pay.abcpay.com/dkri67zin9oo8tzxy9ojquz8mcaedhzcljix1jeu}Base:{Name:ABC Mall|Addr:No.1288,ABC Rd.,Shanghai|Domain:abcpay.com}DYN:{Created:2016-5-1 12:00:00|Expired:2016-5-1 12:10:00|PaymentID:e7db7c48642c78a669fd|Total:580.00RMB}]sha256ECDSA:MEYCIQDpCQGQXaj6Pv5FImHBmv13PRr0KzZRxtF0t7s0f0BFlwIhALR+F7IEFM2l3WDgmQZAwms/RpPr+nXx6P8Nmuxnph8J}CERT:{MIIBsTCCAVgCARAwCQYHKoZIzj0EATBgMQswCQYDVQQGEwJDTjERMA8GA1UECAwIU2hhbmdoYWkxEDAOBgNVBAoMB0FCQyBQYXkxEzARBgNVBAsMClNRUiBCdXJlYXUxFzAVBgNVBAMMDkFCQyBQYXkgU1FSIENBMB4XDTE1MDEwMTEyMTIwM1oXDTI0MTIyOTEyMTIwM1owazELMAkGA1UEBhMCQ04xETAPBgNVBAgMCFNoYW5naGFpMREwDwYDVQQKDAhBQkMgTWFsbDETMBEGA1UECwwKU1FSIEJ1cmVhdTEhMB8GA1UEAwwYQUJDIE1hbGwgU1FSIENlcnRpZmljYXRlMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmHTPYJbPpvDSEwOnRsKHaPty7b2VGppJk1P3H6XIPeTVWod63nkAuwKmftLGR8hTwjruJKXJh34K+RghoIkXizAJBgcqhkjOPQQBA0gAMEUCIFOdSlTG9VzOaHlPeDHeHVRFgWqmjqvHYnKgfOzJmO2jAiEAo3ab+zXyzi5AY6NdAve8HAFa97kyS5GTmAAQfRmhmhM=}VALID:{[fingerprint:sha1:ab0004a74fb4d04bb7f2cb3f079ea0104ac7a715|Status:V|Issue:/C=CN/O=Ridge Inc/OU=SQR CA OCSP/CN=Ridge Inc SQR CA OCSP|url:https://ocsp.ridgeca.com|Created:2016-4-30 00:00|Expired:2016-5-10 00:00]sha256ECDSA:MEYCIQCUffga2TZHhB3ZahNcqKS3bPfRfPEcscmkkGKo1gJRWAIhANxNJ1/HESRCq9abOG20XQhXw4MfSQ6OeL7WKCN5JROz}

4、对组合信息进行二维码编码,生成安全二维码

采用QR编码格式,对组合信息进行二维码编码,形成二维码图形,如图5所示。

实施例1、2已详细说明了两种不同组合方式的构造验证过程,本实施例的验证步骤与实施例1相同,可参考实施例1,不再重复赘述。

经验证,当数字证书、输入信息和数字签名全部验证正确,此安全二维码验证正确,编码信息来源可信。显示输入信息和二维码发布者信息,提示二维码来源可信,允许扫码支付操作。如果此安全二维码经过任何篡改或伪造,则无法通过以上安全验证,提示此安全二维码可能被篡改或伪造,发布来源不可信,拒绝支付操作。

本实施例中ABC Mall的支付证书由ABC Pay签发,ABC Pay的证书由签发中心的根证书签发。本发明方法可以离线验证多级签发机构的数字证书,组合信息中只需包含发布者终端数字证书信息。证书链的有效性由本发明构造装置定期通过签发机构根证书指定的有效性验证机构更新,验证装置中通过组合信息中的证书有效性信息进行离线验证。实施例2中也可以采用本实施例的多级证书结构,利用本发明装置实时生成包含租车费用等信息的安全支付二维码,乘客可以离线验证安全扫码付款。

实施例4:

ABC Instrument乐器生产企业,对其生产销售的每个产品产生表述其识别特征的私密信息安全二维码,用户扫描此安全二维码识别所购买产品为正品或仿冒产品。

具体实施步骤如下:

1、输入需编码的信息和类型信息

需编码信息包括基本信息、目标信息、动态信息。基本信息为:Base:{Name:ABC Instrument},目标信息为:OBJ:{URI:https://product.abcinstrument.com/e92eab1319a8cde0dc61636a2ffc8eeb918a554b},动态信息为:DYN:{InstrumentID:DH698JM12345678|Created:2016-1-1 12:00:00|Expired:2046-1-1 12:00:00|FeatureID:ae978e952021aa32a00ce4b615bee64531d14b74}。类型信息为私密信息安全二维码。

将输入信息以竖线和括号符号连接,如表15所示。

表15 实施例4需编码信息

[OBJ:{URI:https://product.abcinstrument.com/e92eab1319a8cde0dc61636a2ffc8eeb918a554b}Base:{Name:ABC Instrument}DYN:{InstrumentID:DH698JM12345678|Created:2016-1-1 12:00:00|Expired:2046-1-1 12:00:00|FeatureID:ae978e952021aa32a00ce4b615bee64531d14b74}]

2、对需编码信息进行数字签名运算、加密运算;

发布者ABC Instrument的私钥为:

prime256v1:da2b5da79b3f71e76b57c7fb4e533f3b134007945ed4764fb09730b4a8a87026

采用ECDSA签名算法,用发布者私钥对散列值进行进行数字签名运算,并对签名结果进行Base64编码,得到文本格式的数字签名如表16所示。

表16 实施例4需编码信息的数字签名

sha256ECDSA:MEQCIAwe4bAXkEXjVAd2HO/YbUx78TMds2Ko4lyWBU54JQB9AiB5l916Id5bY+2VHgT+NTlS0U27OctHu4pKsrl1b7/TeA==

本实施例为厂家在产品生产下线尚未销售时即生成产品特征验证安全二维码。此时每个产品并没有特定的用户对应,不能采用特定用户的公钥或其指定的对称密钥进行加密。实施例中采用随机产生的对称密钥,如表17所示。此随机密码可以采用密码区涂层刮码方式与生成的安全二维码一起制作在产品质量证书上。

表17 实施例4采用的随机对称密钥

8c6116c72bdb9bd9582b

采用AES128对称密钥算法用表17所示密钥对表15所示需编码信息进行加密运算。加密运算结果经Base64编码后的密文信息,如表18所示。

表18 实施例4密文信息

aes128cbc:U2FsdGVkX1+q+7J62SECOtx5m+HYwIZYRgTdbWdtPm1/rTJnEYn9k//y/LiuYtmjKOAky2SV+hGlI+F5ZXq1K0+O+YVevLCNWLAE1bjSPFDJvN5PiIX8X2XiqH6yEYwpB+t3fnogW9z/3MYeZEGIYN4vuIwqA1g4mNCEIhBizGTL6vkP7QSsWs2W/CiQ7dhoN3cHNPNdZXJVZTB8g9j1y8sFocBwg3rgJtOmd/iCUcjGFtQECEu59ZJIOTMIomD+TZbCoAv8xJ9Sgz/S8z3OnXOskY3tVROQwe1IxkBi7IE46aRUCWODFqQbqTf+pghmAIoeLE7YX2O0vNYgafAdccRz8TpuS2gOCXnMQiseJxc=

3、用输入信息、加密信息、数字签名、数字证书及其有效性信息构造组合信息;

安全二维码标识、类型、组合、压缩方式信息为:SQR.R0100

其中,R表示私密信息安全二维码。

用竖线及括号连接二维码头信息、密文信息、数字签名、数字证书及其有效性信息,构成组合信息如表19所示。其中,数字证书及其有效性信息分别为CERT和VALID部分。

表19 实施例4组合信息

SQR.R0100{[aes128cbc:U2FsdGVkX1+q+7J62SECOtx5m+HYwIZYRgTdbWdtPm1/rTJnEYn9k//y/LiuYtmjKOAky2SV+hGlI+F5ZXq1K0+O+YVevLCNWLAE1bjSPFDJvN5PiIX8X2XiqH6yEYwpB+t3fnogW9z/3MYeZEGIYN4vuIwqA1g4mNCEIhBizGTL6vkP7QSsWs2W/CiQ7dhoN3cHNPNdZXJVZTB8g9j1y8sFocBwg3rgJtOmd/iCUcjGFtQECEu59ZJIOTMIomD+TZbCoAv8xJ9Sgz/S8z3OnXOskY3tVROQwe1IxkBi7IE46aRUCWODFqQbqTf+pghmAIoeLE7YX2O0vNYgafAdccRz8TpuS2gOCXnMQiseJxc=]sha256ECDSA:MEQCIAwe4bAXkEXjVAd2HO/YbUx78TMds2Ko4lyWBU54JQB9AiB5l916Id5bY+2VHgT+NTlS0U27OctHu4pKsrl1b7/TeA==}CERT:{MIIBqDCCAU8CAQ8wCQYHKoZIzj0EATBLMQswCQYDVQQGEwJDTjERMA8GA1UECAwIU2hhbmdoYWkxEjAQBgNVBAoMCVJpZGdlIEluYzEVMBMGA1UEAwwMUmlkZ2UgU1FSIENBMB4XDTE1MDEwMTEyNTgwM1oXDTI0MTIyOTEyNTgwM1owdzELMAkGA1UEBhMCQ04xETAPBgNVBAgMCFNoYW5naGFpMRcwFQYDVQQKDA5BQkMgSW5zdHJ1bWVudDETMBEGA1UECwwKU1FSIEJ1cmVhdTEnMCUGA1UEAwweQUJDIEluc3RydW1lbnQgU1FSIENlcnRpZmljYXRlMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1YXYafrzOlt1AYBgPnmHX9cXxduzoKIVRQpi96LMZEM6RZTCe+FaUTDULSJIXUsJwnnSDj9YdnEQwkgAMu94fjAJBgcqhkjOPQQBA0gAMEUCIHrQz+x2CAAkXkMAXRffudb6ZL2VlgUU2gS/I2TJ9++xAiEAwwwdjABwxJyI4mpsIKWwHK5Gl4Ks0s2AW7UXAScQunw=}VALID:{[fingerprint:sha1:b16238e819adefb88161424c924905ccbdbed7c5:|Status:V|Issue:/C=CN/O=Ridge Inc/OU=SQR CA OCSP/CN=Ridge Inc SQR CA OCSP|url:https://ocsp.ridgeca.com|Created:2016-1-1 00:00|Expired:2016-1-7 00:00]sha256ECDSA:MEQCICu2xZItmaDIcur2IpUgtLQG00ymljX95UM0h36fAK6bAiBeHxiEpmFJPfXFNoeEcFNC+V8Rr1CNA9mm2LOpG4XMvA==}

4、对组合信息进行二维码编码,生成安全二维码

采用QR编码格式,对组合信息进行二维码编码,形成二维码图形,如图6所示。

5、输入安全二维码信息,按二维码编码规则识别内含的组合信息

用户购买产品后,扫描质量证书中如图6所示的安全二维码,按照QR编码规则进行解码,得到如表19所示的组合信息。

6、分析解密组合信息,得到输入信息、数字签名、数字证书及其有效性信息

根据组合信息头部二维码类型、组合方式等信息,通过竖线和括号等连接符号,对组合信息进行分析解构,得到密文信息、数字签名、数字证书及其有效性信息。

用厂家提供的获得质量证书中得到的随机对称密钥,采用密文信息中的算法参数信息,对密文信息进行解密运算,得到如表15所示的输入信息。

本实施例采用私密信息二维码类型,对输入信息进行加密运算,主要区别在于加解密处理和组合解构处理运算,之后数字证书有效性及输入信息的验证步骤与实施例1相同,可以参考实施例1实施,不再重复赘述。

经验证,当数字证书、输入信息和数字签名全部验证正确,此安全二维码验证正确,编码信息来源可信。显示输入信息和二维码发布者信息,提示二维码来源可信,允许访问厂家发布的地址查看此乐器对应的特征图片与所购买乐器进行对比,并比较二维码编码信息中的乐器特征图片的散列值与网址图片显示的散列值一致,以确认所购商品是否为正品。如果此安全二维码经过任何篡改或伪造,则无法通过以上安全验证,提示此安全二维码可能被篡改或伪造,发布来源不可信,拒绝访问二维码中编码的网址,所购产品为赝品。

实施例5:

ABC Inc公司,在其组织销售的演出门票上生成表述演出时间场次座位等标识信息的私密信息安全二维码,用户扫描此安全二维码可验证门票真伪,公司扫描此安全二维码可以实现快速安全检票,防止伪造门票给用户和公司造成经济损失。

具体实施步骤如下:

1、输入需编码的信息和类型信息

需编码信息包括基本信息、目标信息、动态信息。基本信息为:Base:{Name:ABC Inc|URI:http://www.abcinc.com},目标信息为:OBJ:{TXT:ABC Inc Ticket,Seat 15F,Room A1,2016-1-10 12:00},动态信息为:DYN:{TicketSN:10001234|Created:2016-1-1 12:00:00|Expired:2016-1-10 13:00:00}。类型信息为私密信息安全二维码。

将输入信息以竖线和括号符号连接,如表20所示。

表20 实施例5需编码信息

[OBJ:{TXT:ABC Inc Ticket,Seat 15F,Room A1,2016-1-10 12:00}Base:{Name:ABC Inc|URI:http://www.abcinc.com}DYN:{TicketSN:10001234|Created:2016-1-1 12:00:00|Expired:2016-1-10 13:00:00}]

2、对需编码信息进行数字签名运算、加密运算;

发布者ABC Inc的私钥为:

prime256v1: d6dd233bd29ba2c1db1a22ce7621a65edca83c60ab1534b4ab6a2274cbb680dd

采用ECDSA签名算法,用发布者私钥对散列值进行进行数字签名运算,并对签名结果进行Base64编码,得到文本格式的数字签名如表21所示。

表21 实施例5需编码信息的数字签名

sha256ECDSA:MEUCICK5jWrBaKMX7/uOX0AFjQuRhk+e740Dj1A/nB7j8dRJAiEA9Ye8ZRu9A3DsCzi4vlYWwG0dUGJoK+BgFjrAKtRa4D8=

为便于公司验票和用户验证门票真伪,本实施例采用两层加密形式,生成的私密信息安全二维码可由公司和购票用户两个指定用户读取识别。

首先采用随机产生的第一对称密钥,如表22所示,用AES128算法对表20所示需编码信息进行加密运算。

表22 实施例5采用的第一对称密钥

xJkJTonV4i50A

加密运算结果经Base64编码后的第一密文信息如表23所示。

表23 实施例5第一密文信息U2FsdGVkX1+bVU4RDHGr6FAVxpNqEnRFf3Y5XEoGpkkzHujSgw6g1yVXASsXSYWTHYDeJMNNwgvuu57w1GXvtpM1fxrX//WmEpE5bF3w7VdV4m68AR88kJB55GnRRK31w8b/LbjiygeB7b2lzCChbswukY1HlwMt2ZGkzETTfjE/UHeJ8dGRjBuD3Qbp6FjtMnO5JGE+EroBXGnmAAcQp044ao35bkFrrfNo8c083L95n06M4+1iQCtlD2eHtaKuMvtw1eidM2Gdw5dMs/1syA==

然后用Elgamal非对称密钥ECC加密算法,用ABC Inc公司的安全二维码公钥对以上所用的第一对称密钥进行加密运算。加密运算结果经Base64编码的密文信息如表24所示。

表24 实施例5 ABC公司验票密钥的密文信息

A0vrl0wByM6LGRA6xxY7RgEUPiSUO6qE+Nm9Z1BoSotaA3Hqw/LHWfVPmLb5S7hh+Eyq/gWaaFpWL+FchLTDE7jU

用户购票时设置的对称密钥如表25所示。用此对称密钥,采用AES128对称密钥算法对第一对称密钥进行加密运算,运算结果经Base64编码后的密文信息如表26所示。

表25 实施例5 用户设定的对称密钥

user12345678

表26 实施例5 用户验票密钥的密文信息

U2FsdGVkX19nk+kW2oaV0Xzb2VdIlNReTITwxZURkuU=

用竖线和括号连接以上两级加密的算法参数及密文信息,得到本实施例的密文信息如表27所示。

表27 实施例5密文信息

abcinc:Elgamal:A0vrl0wByM6LGRA6xxY7RgEUPiSUO6qE+Nm9Z1BoSotaA3Hqw/LHWfVPmLb5S7hh+Eyq/gWaaFpWL+FchLTDE7jU|user1:aes128cbc:U2FsdGVkX19nk+kW2oaV0Xzb2VdIlNReTITwxZURkuU=[aes128cbc:U2FsdGVkX1+bVU4RDHGr6FAVxpNqEnRFf3Y5XEoGpkkzHujSgw6g1yVXASsXSYWTHYDeJMNNwgvuu57w1GXvtpM1fxrX//WmEpE5bF3w7VdV4m68AR88kJB55GnRRK31w8b/LbjiygeB7b2lzCChbswukY1HlwMt2ZGkzETTfjE/UHeJ8dGRjBuD3Qbp6FjtMnO5JGE+EroBXGnmAAcQp044ao35bkFrrfNo8c083L95n06M4+1iQCtlD2eHtaKuMvtw1eidM2Gdw5dMs/1syA==]

3、用输入信息、加密信息、数字签名、数字证书及其有效性信息构造组合信息;

安全二维码标识、类型、组合、压缩方式信息为:SQR.R0100

其中,R表示私密信息安全二维码。

用竖线及括号连接二维码头信息、密文信息、数字签名、数字证书及其有效性信息,构成组合信息如表28所示。其中,数字证书及其有效性信息分别为CERT和VALID部分。

表28 实施例5组合信息

SQR.R0100{abcinc:Elgamal:A0vrl0wByM6LGRA6xxY7RgEUPiSUO6qE+Nm9Z1BoSotaA3Hqw/LHWfVPmLb5S7hh+Eyq/gWaaFpWL+FchLTDE7jU|user1:aes128cbc:U2FsdGVkX19nk+kW2oaV0Xzb2VdIlNReTITwxZURkuU=[aes128cbc:U2FsdGVkX1+bVU4RDHGr6FAVxpNqEnRFf3Y5XEoGpkkzHujSgw6g1yVXASsXSYWTHYDeJMNNwgvuu57w1GXvtpM1fxrX//WmEpE5bF3w7VdV4m68AR88kJB55GnRRK31w8b/LbjiygeB7b2lzCChbswukY1HlwMt2ZGkzETTfjE/UHeJ8dGRjBuD3Qbp6FjtMnO5JGE+EroBXGnmAAcQp044ao35bkFrrfNo8c083L95n06M4+1iQCtlD2eHtaKuMvtw1eidM2Gdw5dMs/1syA==]sha256ECDSA:MEUCICK5jWrBaKMX7/uOX0AFjQuRhk+e740Dj1A/nB7j8dRJAiEA9Ye8ZRu9A3DsCzi4vlYWwG0dUGJoK+BgFjrAKtRa4D8=}CERT:{MIIBmjCCAUECAQMwCQYHKoZIzj0EATBLMQswCQYDVQQGEwJDTjERMA8GA1UECAwIU2hhbmdoYWkxEjAQBgNVBAoMCVJpZGdlIEluYzEVMBMGA1UEAwwMUmlkZ2UgU1FSIENBMB4XDTE2MTAxNjE4MTA1NVoXDTI2MTAxNDE4MTA1NVowaTELMAkGA1UEBhMCQ04xETAPBgNVBAgMCFNoYW5naGFpMRAwDgYDVQQKDAdBQkMgSW5jMRMwEQYDVQQLDApTUVIgQnVyZWF1MSAwHgYDVQQDDBdBQkMgSW5jIFNRUiBDZXJ0aWZpY2F0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNElX97H5p9wPULirnYwBFYww9NiTagRit49ZCaSYgILKGZQIt9zokVZkDoofP5yiveBU9m/uuvV3S6hlxLl8b0wCQYHKoZIzj0EAQNIADBFAiBESaHU4yzdWgGI+jyZORKSg6I2nJRYL1QK8cg9v3J+AQIhALH5vt6Lve4kLS8RvycZMtlCy4H3HRMzgKTc1AihM/ik}VALID:{[fingerprint:sha1:5ed29e05630b433aafb67ab6e0a13db142f6ca78|Status:V|Issue:/C=CN/O=Ridge Inc/OU=SQR CA OCSP/CN=Ridge Inc SQR CA OCSP|url:https://ocsp.ridgeca.com|Created:2016-1-1 00:00|Expired:2016-1-15 00:00]sha256ECDSA:MEYCIQCVYVe33cR1louQS/WmByjdlcCgDcGfbzcFJsIEHtSuNQIhAI+hVtd/fCyZ0e5uWpp6/Up9nu6GTBu0VqONDB4+rHly}

4、对组合信息进行二维码编码,生成安全二维码

采用QR编码格式,对组合信息进行二维码编码,形成二维码图形,如图7所示。

5、输入安全二维码信息,按二维码编码规则识别内含的组合信息

扫描如图7所示的安全二维码,按照QR编码规则进行解码,得到如表28所示的组合信息。

6、分析解密组合信息,得到输入信息、数字签名、数字证书及其有效性信息

根据组合信息头部二维码类型、组合方式等信息,通过竖线和括号等连接符号,对组合信息进行分析解构,得到密文信息、数字签名、数字证书及其有效性信息。

用户购票后自己扫描安全二维码验证门票真伪时,输入如表25所示用户自己设定的对称密钥和aes128cbc算法,对密文信息中user1对应的如表26所示的密文进行解密运算,得到如表22所示的第一对称密钥;然后用此第一对称密钥对密文信息中如表23所示的第一密文信息进行解密运算,得到如表20所示输入信息。

用户观看演出入场时,ABC Inc公司扫描用户门票上的安全二维码,用ABC Inc公司的私钥和Elgamal算法,对密文信息中abcinc对应的如表24所示的密文信息进行ECC非对称密钥解密运算,得到如表22所示的第一对称密钥;然后用此第一对称密钥对密文信息中如表23所示的第一密文信息进行解密运算,得到如表20所示输入信息。

ABC Inc公司验票时,扫描用户门票上的安全二维码后,也可以由用户输入其所设定的对称密钥,然后采用与用户同样流程进行解密处理,得到如表20所示输入信息。

本实施例采用私密信息二维码类型,采用两层加密方式对输入信息进行加密运算,主要区别在于加解密处理和组合解构处理运算,之后数字证书有效性及输入信息的验证步骤与实施例1相同,可以参考实施例1实施,不再重复赘述。

经验证,数字证书、输入信息和数字签名全部验证正确,此安全二维码验证正确,编码信息来源可信。显示输入信息和二维码发布者信息,提示二维码来源可信,门票为真,可以入场。如果此安全二维码经过任何篡改或伪造,则无法通过以上安全验证,提示此安全二维码可能被篡改或伪造,发布来源不可信,门票为伪造,拒绝入场。

实施例6:

XYZ Inc对出售的火车票生成安全信息二维码,便于移动检票和和验证乘客身份。车票的发车时间、车次席位等信息票面上已有印制,为公开信息;但实名制乘车购票用户的姓名和身份证信息为私密信息,采用公开形式如乘车后丢弃车票可能会造成乘客隐私信息泄漏。因此,本实施例采用混合信息安全二维码类型。

混合信息安全二维码是在公开信息安全二维码及私密信息安全二维码的基础上,对输入信息中的扩展信息进行单独的签名验证和加密解密运算,算法及处理流程基本相同。本实施例不再赘述其相同处理过程,只给出其不同部分和运算结果的组合信息及安全二维码图形。

本实施例中,输入信息为:

[OBJ:{TXT: G7032,Economy Class,Seat 15A,Coach 10,2016-1-5 06:18|From:Shanghai|To:Nanjing}Base:{Name:XYZ Inc|URI:http://www.xyzinc.com}DYN:{TicketSN:300000012345678|Created:2016-1-1 12:00:00|Expired:2016-1-6 00:00:00}EXT:{IDNo:31011111111111888X|Name:LiMing}]

其中,EXT部分为扩展信息。

发布者XYZ Inc的私钥为:

prime256v1: 185f17ca500c3ee115e0d31b51d8314751a2c9325777f640030d17ee9dcf7ad2

对EXT信息采用sha256ECDSA算法进行签名,得到签名信息为:

sha256ECDSA:MEUCIQCez9GDoZa/daNdVGSlzAfQmj4MgS8o9gDRf4riGicq1wIgE0Lv56FtxxUkXczWrRQAPiLOjKkgLjG2vFoxgJfcu50=

用用户购票时设定的对称密钥LM12345678进行加密,得到的密文信息为:

aes128cbc:U2FsdGVkX186kV9MQ1CyCi+h26dmFhTYDr7kBK6GjsST7NBs8Lnh+CJV7kUk/xkP6xRpBrZdor39GgaM1MOeEw==

用竖线及括号连接以上信息,得到本实施例需编码信息如表29所示。

表29 实施例6需编码信息

[OBJ:{TXT:G7032,Economy Class,Seat 15A,Coach 10,2016-1-5 06:18|From:Shanghai|To:Nanjing}Base:{Name:XYZ Inc|URI:http://www.xyzinc.com}DYN:{TicketSN:300000012345678|Created:2016-1-1 12:00:00|Expired:2016-1-6 00:00:00}EXT:{[aes128cbc:U2FsdGVkX186kV9MQ1CyCi+h26dmFhTYDr7kBK6GjsST7NBs8Lnh+CJV7kUk/xkP6xRpBrZdor39GgaM1MOeEw==]sha256ECDSA:MEUCIQCez9GDoZa/daNdVGSlzAfQmj4MgS8o9gDRf4riGicq1wIgE0Lv56FtxxUkXczWrRQAPiLOjKkgLjG2vFoxgJfcu50=}]

计算表29所示需编码信息的数字签名为:

sha256ECDSA:MEUCIGUXsg9exiigUucj5mHNIno8+DYZHRIj/PEHvY5qDnc6AiEAteH7pLT0x17Pt9EwwvTDZkdhNruyEPeSnAuQeY93IHU=

其余构造步骤与公开信息安全二维码相同,得到本实施例的组合信息如表30所示,其中信息头H符号表示混合信息安全二维码。

表30 实施例6组合信息

SQR.H0100{[OBJ:{TXT:G7032,Economy Class,Seat 15A,Coach 10,2016-1-5 06:18|From:Shanghai|To:Nanjing}Base:{Name:XYZ Inc|URI:http://www.xyzinc.com}DYN:{TicketSN:300000012345678|Created:2016-1-1 12:00:00|Expired:2016-1-6 00:00:00}EXT:{[aes128cbc:U2FsdGVkX186kV9MQ1CyCi+h26dmFhTYDr7kBK6GjsST7NBs8Lnh+CJV7kUk/xkP6xRpBrZdor39GgaM1MOeEw==]sha256ECDSA:MEUCIQCez9GDoZa/daNdVGSlzAfQmj4MgS8o9gDRf4riGicq1wIgE0Lv56FtxxUkXczWrRQAPiLOjKkgLjG2vFoxgJfcu50=}]sha256ECDSA:MEUCIGUXsg9exiigUucj5mHNIno8+DYZHRIj/PEHvY5qDnc6AiEAteH7pLT0x17Pt9EwwvTDZkdhNruyEPeSnAuQeY93IHU=}CERT:{MIIBmzCCAUECAQ4wCQYHKoZIzj0EATBLMQswCQYDVQQGEwJDTjERMA8GA1UECAwIU2hhbmdoYWkxEjAQBgNVBAoMCVJpZGdlIEluYzEVMBMGA1UEAwwMUmlkZ2UgU1FSIENBMB4XDTE1MDEwMTEyNTgwMFoXDTI0MTIyOTEyNTgwMFowaTELMAkGA1UEBhMCQ04xETAPBgNVBAgMCFNoYW5naGFpMRAwDgYDVQQKDAdYWVogSW5jMRMwEQYDVQQLDApTUVIgQnVyZWF1MSAwHgYDVQQDDBdYWVogSW5jIFNRUiBDZXJ0aWZpY2F0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAvAW5SS36lQ0dP+O67irIJugBvKbfFVSev1/bW5NBXkP7CPHYpE6aBoQLpqj0etID6fR/rjlEJsNB12f43wg6MwCQYHKoZIzj0EAQNJADBGAiEArsYQR7OjyRHePvXEphNO+fZH/ho6E046ALEAcv/W3WwCIQCKclH4J+Uv438i3p3SSFj9owg5Hyw267QbIn9tsGar7A==}VALID:{[fingerprint:sha1:7b8d23eca88b092db080c98a443572f142560424|Status:V|Issue:/C=CN/O=Ridge Inc/OU=SQR CA OCSP/CN=Ridge Inc SQR CA OCSP|url:https://ocsp.ridgeca.com|Created:2016-1-1 00:00|Expired:2016-1-7 00:00]sha256ECDSA:MEQCIFEfIoGnL0oBLUf6hcDYJUm1+YzQkTlzo0M9PGCljtixAiABxG4XtQFNyXU9CLfi32mBO0V8gsFk9XrXm7fd7Yo0ow==}

对表30所示组合信息生成二维码图形,如图8所示。

车票验证时,可以按照实施例1公开信息安全二维码流程验证,扩展信息为密文可以忽略;需要验证乘客身份信息时,扫描如图8所示的混合信息安全二维码后,由用户输入其设定的对称密钥,对扩展信息密文进行解密得到输入的扩展信息原文,并验证扩展信息的数字签名;验证通过则说明扩展信息由XYZ Inc发布,信息完整未被修改,进而查验乘客的实名身份证件等是否与扩展信息一致。

混合信息安全二维码同样可以在私密信息二维码基础上构建,只有特定用户才可解密验证扩展信息。扩展信息的签名验证和加密解密运算同样可以采用本发明所述其他对称密钥和非对称密钥算法,不再一一赘述。

以上仅为本发明构造验证方法的优选实现形式,一些常规的变形应用形式,例如在物流仓储管理等内部系统应用时,可以把数字证书缓存于验证装置数字证书存储区,二维码组合信息中数字证书部分可以省略;在发布区域形状受限的情况下,可以采用多码形式发布;在夜间或高速移动等不满足光学扫描成像的条件下,可以采用蓝牙射频无线等传输方式实现安全二维码信息的传输。

实施例7:

图2为本发明可离线验证安全二维码构造验证装置实施例7结构示意图,是与实施例1-6所述方法对应的装置,所述装置包括:

信息输入单元S301,用于输入需编码信息和类型信息;

安全信息存储单元S302,用于安全存储私钥信息;

信息存储单元S303,用于构造装置中存储输入信息及运算结果信息;

数字证书存储单元S304,用于构造装置中存储数字证书及其有效性信息;

数字签名和信息加密运算单元S305,用于计算数字签名、更新数字证书有效性信息和信息加密;

组合信息构造及二维码编码运算单元S306,用于构造组合信息并进行二维码编码运算;

图像显示信息输出单元S307,用于显示和输出安全二维码信息;

图像扫描信息输入单元S401,用于扫描和输入安全二维码信息;

根证书存储单元S402,用于存储密钥签发机构及其指定有效性验证机构的根证书;

信息存储单元S403,用于验证装置中存储输入信息及运算结果信息;

数字证书存储单元S404,用于验证装置中存储数字证书及其有效性信息;

数字签名验证和信息解密单元S405,用于信息解密和数字证书有效性及输入信息的数字签名验证;

二维码识别及组合信息分析解构运算单元S406,用于二维码编码识别并对组合信息进行分析解构运算;

结果输出信息提示单元S407,用于安全二维码验证结果输出和信息提示。

所述装置可以分为构造装置和验证装置两个独立子装置,其中构造装置由S301-S307单元组成,验证装置由S401-S407单元组成;也可以实现为一个装置,包括以上所有单元,其中构造和验证子装置中用于信息输入、信息存储和信息显示的单元合并后可以共用同一单元。

信息输入单元S301和图像扫描信息输入单元S401,可以采用键盘、触摸屏、摄像头、扫描器等通用部件实现。

安全信息存储单元S302,可以采用安全存储芯片、智能卡、FPGA内置ROM存储区等存储私钥信息等保密信息。其中安全存储芯片需要配合外部计算单元运行,采用加密方式读写安全存储芯片,安全性相对较低;智能卡或FPGA芯片存储,可以用其内部自带的计算单元在芯片内部进行私钥运算,只进行计算数据和运算结果的输入输出,私钥信息不能从芯片中读出,可以保证私钥信息的安全性。

信息存储单元S303、S403,数字证书存储单元S304、S404,根证书存储单元S402,可以采用通用存储单元实现。

数字签名和信息加密运算单元S305、数字签名验证和信息解密单元S405、组合信息构造及二维码编码运算单元S306、二维码识别及组合信息分析解构运算单元S406实现本发明方法实施例1-6中所述签名验证、加密解密、组合解构等运算,可以采用通用CPU、GPU运算单元,也可以采用DSP、FPGA、CPLD、ASIC芯片实现。

图像显示信息输出单元S307和结果输出信息提示单元S407可以采用通用液晶屏、触摸屏、蜂鸣器、音频输出单元等实现。

由上述实施例可知,本发明具有以下有益效果:

本发明实施例提供了一种可离线验证安全二维码构造验证方法及装置,在无需网络连接的普遍适用环境下,即可验证二维码的发布来源,以安全可靠的使用二维码。采用本发明构造验证方法及装置的安全二维码具有以下优点:

1、安全二维码编码信息无法篡改、伪造、否认;

对安全二维码编码的信息的任何修改都不能通过安全性验证,可以保证编码信息的完整性和一致性。第三方无法伪造信息发布源生成安全二维码,同时发布者也无法否认安全二维码的真实发布源。

2、安全二维码可离线验证其安全性;

不需要连接网络即可离线验证安全二维码的信息完整性、一致性和信息来源的真实性。在没有网络或不便于上网的环境下也可以安全应用。

3、安全二维码可以发布由公众读取的公开信息也可以发布由特定用户读取的私密信息;

根据应用需要,安全二维码可以发布由公众读取的公开信息安全二维码也可以发布由特定一个或多个用户读取的私密信息以及混合信息安全二维码,并且可以离线验证其安全性。同时私密信息安全二维码在以上安全性的基础上,还具有不可复制性,其只能由发布者指定的用户访问验证,其他第三方无法读取内容或作为应用凭据,复制克隆私密信息安全二维码没有实际意义。

以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1