一种二维码的防伪认证系统及方法与流程

文档序号:19124421发布日期:2019-11-13 01:59阅读:626来源:国知局
一种二维码的防伪认证系统及方法与流程

本发明涉及信息防伪及移动互联网通信技术领域,具体涉及一种二维码的防伪认证系统及方法,基于密码算法实现二维码的防伪认证、保障信息安全。



背景技术:

随着移动互联网的发展和智能终端的普及,二维码的应用也日趋广泛。二维码作为互联网的主要入口之一,已经成为连结用户与互联网的桥梁。

二维码具有编码范围广、纠错能力强、成本低廉和持久耐用等优点,拥有巨大的应用潜力。此外,二维码以其提供信息的移动性、便捷性和全面性,在防伪认证、食品溯源、药品监管、支付结算等领域都有广阔的发展前景。代表性编码方法有pdf417、qrcode、code49、code16k、codeone等。

二维码是由软件生成器制作生成的。目前,二维码的制作软件众多,任何组织和个人均可借助免费二维码软件制作和发布二维码,易被不法分子利用。不法分子可使用伪造的二维码替换合法的二维码,将用户导向假冒的url或者诱使用户下载恶意软件,非法盗取用户身份信息甚至骗取用户资金。此外,二维码作为信息的存储容器,从外表无法识别内部的信息,无法判断信息的真伪。因此,二维码的生成和扫描缺乏审核和认证,二维码储存的信息人眼难以识别,二维码伪造的安全隐患难以预防。

由此可见,由于二维码的伪造成本低,应用范围广,因此,二维码在带来便利的同时,也伴随着信息安全风险,二维码安全事件屡次发生,导致资金损失和隐私泄露。

有鉴于此,需要对现有的二维码生成和防伪方式进行改进,以实现二维码的防伪认证、保障信息安全。



技术实现要素:

本发明所要解决的技术问题是现有的二维码生成和扫描使用存在安全隐患,容易导致资金损失和隐私泄露的问题。

为了解决上述技术问题,本发明所采用的技术方案是提供一种二维码的防伪认证方法,包括以下步骤:

二维码生成服务器利用密钥和密码算法,对请求者发送的二维码主体数据m进行计算,生成校验因子s;

将二维码校验服务器地址addr、二维码主体数据m和校验因子s连接后编码生成二维码;

通过扫描终端扫描识别二维码,获得该二维码信息中的二维码校验服务器地址addr、二维码主体数据m和校验因子s;

扫描终端通过二维码校验服务器地址addr与二维码校验服务器自动建立连接,二维码校验服务器使用与二维码生成服务器相对应的密钥和密码验证算法计算出二维码主体数据m的校验信息,通过判断所述校验信息与校验因子s是否一致,验证该二维码的合法性和正确性。

在上述方法中,所述二维码校验服务器地址addr、二维码主体数据m和校验因子s之间分别通过第一分隔符和第二分隔符分隔。

在上述方法中,所述密码算法包括但不限于:数字签名算法和消息认证码算法,所述校验因子为数字签名或消息认证码。

在上述方法中,请求者发送发起二维码生成请求时,对请求者的身份进行认证审核,认证审核通过后再生成校验因子s和相应的二维码。

在上述方法中,采用数字签名算法生成校验因子和二维码以及验证该二维码的合法性和正确性的具体步骤如下:

二维码生成服务器接收请求者发送的二维码主体数据m;

生成一对非对称加密的密钥对(pk,sk),其中,pk为公钥,sk为私钥,公开公钥pk,保存私钥sk;

利用所述私钥sk,采用数字签名算法计算得到二维码主体数据m的数字签名,作为校验因子s;

将二维码校验服务器地址addr、二维码主体数据m和校验因子s进行编码,生成二维码;

通过扫描二维码,识别出二维码中存储的二维码校验服务器地址addr、二维码主体数据m和校验因子s,并通过该二维码校验服务器地址addr使扫描终端与二维码校验服务器建立连接;

二维码校验服务器利用公开的公钥pk,通过与二维码生成服务器生成校验因子s相应的数字签名验证算法,计算出二维码主体数据m的签名,并判断该签名与校验因子s是否相符。

在上述方法中,采用消息认证码算法生成校验因子和二维码以及验证该二维码的合法性和正确性的具体步骤如下:

二维码生成服务器接收请求者发送的二维码主体数据m;

利用认证密钥,采用消息认证码算法对二维码主体数据m进行计算,生成一个消息认证码作为校验因子s;

将二维码校验服务器地址addr、二维码主体数据m和校验因子s进行编码,生成二维码;

通过扫描二维码,识别出二维码中存储的二维码校验服务器地址addr、二维码主体数据m和校验因子s,并通过该二维码校验服务器地址addr使扫描终端与二维码校验服务器建立连接;

二维码校验服务器利用认证密钥,通过与二维码生成服务器生成校验因子s相应的消息认证码验证算法,计算出二维码主体数据m的消息认证码,并判断该消息认证码与校验因子s是否相符。

本发明还提供了一种二维码的防伪认证系统,包括:

二维码生成服务器,用于利用密钥和密码算法,对请求者发送的二维码主体数据m进行计算,生成校验因子s;并将二维码校验服务器地址addr、二维码主体数据m和校验因子s连接后编码生成二维码;

二维码校验服务器,用于根据扫描终端扫描识别到的二维码,获得该二维码信息中的二维码校验服务器地址addr、二维码主体数据m和校验因子s;使用与二维码生成服务器相对应的密钥和密码验证算法计算出二维码主体数据m的校验信息,通过判断所述校验信息与校验因子s是否一致,验证该二维码的合法性和正确性。

在上述系统中,所述二维码生成服务器包括:

第一接收单元,用于接收请求者发送的二维码主体数据m;

身份认证标识生成单元,用于利用密钥和密码算法对请求者发送的二维码主体数据m进行计算,生成校验因子s,作为身份认证标识;

编码单元,用于将二维码校验服务器地址addr、二维码主体数据m和校验因子s连接后编码生成二维码。

在上述系统中,所述二维码校验服务器包括:

第二接收单元,用于接收扫描终端扫描识别出的二维码信息;

提取单元,用于从所述二维码信息中提取出该二维码的二维码校验服务器地址addr、二维码主体数据m和校验因子s;

验证单元,用于使用与二维码生成服务器相对应的密钥和密码验证算法计算出二维码主体数据m的校验信息,通过判断所述校验信息与校验因子s是否一致,验证该二维码的合法性和正确性。

在上述系统中,所述密码算法包括但不限于:数字签名算法和消息认证码算法,所述校验因子为数字签名或消息认证码。

与现有技术相比,本发明提供的二维码的防伪认证系统及方法,二维码的存储的结构包括有二维码校验服务器地址addr、二维码主体数据m和校验因子s,其中校验因子s在二维码生成服务器上利用密钥和密码算法对二维码主体数据m进行计算获得,扫描终端扫描识别出二维码后,通过二维码校验服务器地址addr与二维码校验服务器建立连接,使用与二维码生成服务器相对应的密钥和密码验证算法计算出二维码主体数据m的校验信息,通过判断该校验信息与校验因子s是否一致,验证该二维码的合法性和正确性。本发明,在二维码生成时加入了二维码校验服务器地址和校验因子,允许二维码扫描终端有效识别伪造二维码,防止伪造二维码给用户带来损失,有效保障移动互联网入口安全,降低用户隐私泄露的威胁。

附图说明

图1为本发明提供的二维码的防伪认证系统及认证过程示意图;

图2为本发明中的二维码的存储结构示意图;

图3为本发明中二维码的防伪认证系统详细结构示意图;

图4为本发明提供的二维码的防伪认证方法流程图;

图5为本发明中采用数字签名的二维码的防伪认证方法流程图;

图6为本发明中采用消息认证码的二维码的防伪认证方法流程图。

具体实施方式

本发明提供了一种二维码的防伪认证系统及方法,能够对二维码进行防伪认证,有效识别非法二维码,在用户与二维码之间建立安全屏障,防止用户进入危险网址或进行诈骗支付等,减少信息泄露的可能性,对二维码的生成和扫描进行管控,解决了二维码的可信性问题,为用户的隐私安全和财产安全提供了切实保障。

本发明的实现原理是:

在生成二维码时,对二维码主体数据m计算生成校验因子s,并与二维码校验服务器地址addr和二维码主体数据m共同编码生成二维码;

扫描识别出二维码信息后,自动连接二维码校验服务器,通过二维码校验服务器计算出二维码主体数据的校验数据并与校验因子比对,从而确定该二维码的合法性和正确性。

为了对本发明的技术方案和实现方式做出更清楚地解释和说明,以下介绍实现本发明技术方案的几个优选的具体实施例。显然,以下所描述的具体实施例仅为本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

具体实施例1。

图1为本发明提供的二维码的防伪认证系统及认证过程示意图,如图1所示,本发明提供的二维码的防伪认证系统包括二维码生成服务器10和二维码校验服务器20,二者均设置在互联网上,可以通过互联网登录二维码生成服务器10制作生成和发布二维码,并通过扫描终端自动登录二维码校验服务器20对该二维码进行安全校验和认证。

为了实现本发明的目的,本发明方案中对二维码的存储结构进行了全新的设计,如图2所示,本发明中的二维码存储结构包括三个部分,二维码校验服务器地址addr、二维码主体数据m和校验因子s。为有效识别二维码各部分信息,采用第一分隔符和第二分隔符将二维码校验服务器地址addr、二维码主体数据m和校验因子s分隔开。其中,第一分隔符位于二维码校验服务器地址addr和二维码主体数据m之间,编码后长度为10比特,二进制表示为0b1111111111。第二分隔符位于二维码主体数据m和校验因子s之间,编码后长度为10比特,二进制表示为0b1111101111。采用分隔符,便于校验服务器区分二维码内存储的主体数据信息及其校验因子,大大提高了认证效率。

二维码生成服务器10用于利用密钥和密码算法,对请求者发送的二维码主体数据m进行计算,生成二维码主体数据m的校验因子s,作为身份认证标识;并将二维码校验服务器地址addr、二维码主体数据m和校验因子s连接后按照上述二维码存储结构进行编码,生成带有校验因子的合法二维码,并根据实际应用分发该二维码。具体地,二维码生成服务请求者向二维码生成服务器10发起请求,进行身份认证。认证成功后,二维码生成服务请求者可以将二维码需要存储的主体数据m发送给二维码生成服务器10。二维码生成服务器10接收到主体数据m后,根据密码算法生成二维码主体数据m的校验因子s,作为二维码的合法性标识。然后,二维码生成服务器10使用第一分隔符和第二分隔符连接二维码校验服务器地址addr、二维码主体数据m和校验因子s,根据二维码的生成原理生成二维码。最后,根据实际情况分发二维码。

如图3所示,二维码生成服务器10包括:

第一接收单元11,用于接收请求者发送的二维码主体数据m;

身份认证标识生成单元12,用于利用密钥和密码算法对请求者发送的二维码主体数据m进行计算,生成校验因子s,作为身份认证标识;

编码单元13,用于将二维码校验服务器地址addr、二维码主体数据m和校验因子s连接后编码生成二维码。

二维码校验服务器20用于识别二维码的合法性,进行二维码的防伪认证。根据扫描识别到的二维码,获得该二维码信息中的二维码校验服务器地址addr、二维码主体数据m和校验因子s;使用与二维码生成服务器相对应的密钥和密码验证算法计算出二维码主体数据m的校验信息,通过判断所述校验信息与校验因子s是否一致,验证该二维码的合法性和正确性。

二维码校验服务器20包括:

第二接收单元21,用于接收扫描终端30扫描识别出的二维码信息;

提取单元22,用于从所述二维码信息中提取出该二维码的二维码校验服务器地址addr、二维码主体数据m和校验因子s;

验证单元23,用于使用与二维码生成服务器相对应的密钥和密码验证算法计算出二维码主体数据m的校验信息,通过判断所述校验信息与校验因子s是否一致,验证该二维码的合法性和正确性。

以上方案中,密码算法包括但不限于:数字签名算法和消息认证码算法,相应地,校验因子为数字签名或消息认证码。

本发明适用于所有种类的二维码,包括但不限于pdf417、qrcode、code49、code16k、codeone等。当选择不同的二维码时,二维码生成服务器10采用相应的编码方式即可。

具体实施例2。

本发明还提供了一种二维码的防伪认证方法,如图4所示,该方法包括以下步骤:

步骤110:二维码生成服务器利用密钥和密码算法,对请求者发送的二维码主体数据m进行计算,生成校验因子s;

步骤120:将二维码校验服务器地址addr、二维码主体数据m和校验因子s连接后编码生成二维码;

步骤130:通过扫描识别二维码,获得该二维码信息中的二维码校验服务器地址addr、二维码主体数据m和校验因子s;

步骤140:通过二维码校验服务器地址addr与二维码校验服务器建立连接,二维码校验服务器使用与二维码生成服务器相对应的密钥和密码验证算法计算出二维码主体数据m的校验信息,通过判断所述校验信息与校验因子s是否一致,验证该二维码的合法性和正确性。

具体实施例3。

本具体实施例3是对具体实施例2的进一步细化,采用了数字签名算法生成校验因子和二维码以及验证该二维码的合法性和正确性,如图5所示,具体步骤如下:

步骤11:二维码生成服务请求者登录二维码生成服务器10,与二维码生成服务器10建立连接进行身份认证。二维码生成服务器10根据请求者的用户名和密码等信息进行身份认证审核,认证审核请求者的身份。

如果请求者的身份认证审核通过(用户名和密码等信息正确),则二维码生成服务器10接收请求者发送的二维码主体数据m;否则,拒绝请求者的访问请求。

步骤12:二维码生成服务器10生成一对非对称加密的密钥对(pk,sk),其中,pk为公钥,sk为私钥,公开pk,保存sk;

步骤13:二维码生成服务器10利用私钥sk,采用数字签名算法计算出二维码主体数据m的签名x:=σ(sk,m),作为校验因子s,即二维码的身份认证标识,其中,σ是签名的生成函数;

步骤14:二维码生成服务器10将二维码校验服务器地址addr、二维码主体数据m和校验因子s连接后进行qr编码,生成二维码,并根据实际应用分发;

步骤15:用户使用扫描终端扫描二维码,识别出二维码信息中存储的二维码校验服务器地址addr、二维码主体数据m和校验因子s,并通过该二维码校验服务器地址addr使扫描终端与二维码校验服务器20自动建立连接;

步骤16:二维码校验服务器20利用二维码生成服务器10公开的公钥pk,以及与二维码生成服务器10生成校验因子s时相应的数字签名验证算法v(pk,m,s),计算出所得到的二维码主体数据m的数字签名,并判断该数字签名与所得到的校验因子s是否一致,从而验证该二维码是否由二维码生成服务器10生成,也就是该二维码是否合法和正确。

举例说明如下:

如果该二维码是由二维码生成服务器10生成的,因为二维码生成服务器10和二维码校验服务器20所使用的二维码主体数据m相同,因此,二维码校验服务器20利用公钥pk计算出的数字签名,一定会与由私钥sk计算出的数字签名一致,因此说明二维码是由二维码生成服务器10生成的,也就是该二维码是合法的和正确的;反之,如果二维码是伪造的(例如由其他软件生成器生成),则由于伪造者不知道私钥sk,因此,生成的二维码中,或者没有校验因子s,或者校验因子s与利用公钥pk计算出的签名不一致,这样就说明该二维码不是由二维码生成服务器10生成的,从而判断出该二维码很可能是伪造的,存在安全风险和隐患。

步骤17、二维码校验服务器20返回验证结果给扫描终端,如果验证结果表明二维码合法,则可以进行下一步操作,否则,扫码终端会收到安全警告,阻止用户的信任操作。

本发明,在生成二维码时,二维码生成服务器10首先通过密码算法生成用于校验二维码合法性的校验因子,然后再与二维码校验服务器地址addr和二维码主体数据m共同编码生成包含有二维码校验服务器地址addr、二维码主体数据m和校验因子s的二维码,这样,在扫描获得二维码信息后,通过二维码校验服务器验证二维码主体数据m的校验信息与校验因子是否对应,从而判断二维码的合法性和正确性,可以有效识别伪造信息,降低了用户隐私泄露的风险。

具体实施例4。

在上述具体实施例3中,二维码生成服务器10采用数字签名算法生成校验因子,然而,本发明提供的方案,生成校验因子的密码算法还可以采用其他算法,例如采用消息认证码算法。

本具体实施例4提供了采用消息认证码算法生成校验因子和二维码以及验证该二维码的合法性和正确性的方法,如图6所示,具体步骤如下:

步骤21:二维码生成服务请求者登录二维码生成服务器10,与二维码生成服务器10建立连接,发起二维码生成服务请求。二维码生成服务器10根据请求者的用户名和密码等信息进行身份认证审核,认证审核请求者的身份。

如果请求者的身份认证审核通过(用户名和密码等信息正确),则二维码生成服务器10接收请求者发送的二维码主体数据m;否则,拒绝请求者的访问请求。

步骤22:二维码生成服务器10利用认证密钥vk,采用消息认证码算法计算二维码主体数据m的消息认证码y:=h(vk,m),并作为校验因子s,其中,h是哈希函数。

步骤23:二维码生成服务器10将二维码校验服务器地址addr、二维码主体数据m和校验因子s连接后进行qr编码,生成二维码。

步骤24:用户使用扫描终端扫描二维码,识别出二维码信息中存储的二维码校验服务器地址addr、二维码主体数据m和校验因子s,并通过该二维码校验服务器地址addr使扫描终端与二维码校验服务器20自动建立连接;

步骤25:二维码校验服务器20利用预先存储的认证密钥vk,通过使用与二维码生成服务器生成校验因子s相应的消息认证码验证算法h(vk,m),计算二维码主体数据m的消息认证码,并与所得到的二维码信息中的校验因子s比较是否一致,从而验证该二维码是否由二维码生成服务器10产生,也就是该二维码是否合法和正确。

举例说明如下:

如果该二维码是由二维码生成服务器10生成的,因为二维码主体数据m相同,认证密钥vk和消息认证码算法h(vk,m)也相同,因此,二维码校验服务器20利用认证密钥vk计算出的消息认证码,一定会与二维码生成服务器10计算出的消息认证码(即二维码信息中的校验因子s)一致,因此说明二维码是由二维码生成服务器10生成的,也就是该二维码是合法的和正确的;反之,如果二维码是伪造的(例如由其他软件生成器生成),则由于伪造者不知道认证密钥vk,因此,二维码信息中的校验因子s不可能与利用认证密钥vk计算出的消息认证码一致,因而说明该二维码不是由二维码生成服务器10生成的,从而判断出该二维码很可能是由其他软件生成器伪造的,存在安全风险和隐患。

步骤26:二维码校验服务器20返回验证结果给扫描终端,如果验证结果表明二维码合法,则可以进行下一步操作,否则,扫码终端会收到安全警告,阻止用户的信任操作。

本发明提供的二维码的防伪认证系统及方法,基于密码算法实现二维码的防伪认证、保障信息安全,具体以下优点:

1、实现了二维码的合法性验证。利用多种密码算法,引入校验因子,保证二维码的可靠性和正确性,解决了二维码不可信所带来的安全隐患,在移动互联网的入口保障了扫码用户的隐私安全甚至财产安全。

2、采用多种密码算法生成校验因子,满足各种实际应用场景的需求。数字签名算法适用于网络的开放性要求,密钥管理简单,安全系数高;消息认证码的加密速度快,实现简单,生成效率高;

3、引入分隔符,有效筛选信息。根据二维码的生成原理,在校验服务器地址信息和主体数据信息之间、主体数据信息及其校验因子之间分别引入不同的分隔符,便于提取不同信息,大大提高了认证效率;

4、在二维码生成过程中引入审核机制,保证二维码生成服务请求者的身份合法。

本发明并不局限于上述最佳实施方式,任何人应该得知在本发明的启示下做出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

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