二维码的处理方法、装置及系统与流程

文档序号:12739859阅读:271来源:国知局
二维码的处理方法、装置及系统与流程

本发明涉及信息处理技术领域,特别是涉及一种二维码的处理方法、装置及系统。



背景技术:

目前,在日常工作及生活中会存在一些使用凭证验证的场景,例如,身份证、银行卡、车票、演唱会门票、小区门禁卡等等,其中,一些应用场景只要通过特定实体即可完成凭证验证,例如:车票、演唱会门票、小区门禁卡等,对于一些安全需求比较高的凭证验证应用场景,需要将特定实体与私密信息共同完成验证,例如,银行卡、家庭/公司指纹门禁等等。

在实际应用中,对于通过特定实体即可完成凭证验证的应用场景,通过获取相应的特定实体即可,例如,对于车票、演唱会门票而言,从售票窗口购买纸质票据,并到验票口完成检验后即可乘车或者观看演唱会。该种验证方式依赖于特定实体(车票或演唱会门票),要求用户随身携带特定实体,但是,若该特定实体丢失或者损坏,特定实体注销或者补办的流程复杂繁琐。

对于安全需求比较高的应用场景而言,确保安全的前提为需要额外增加安全认证辅助设备,例如,通过安全键盘、指纹识别设备等,增加了使用成本,该种方式虽然能够防止隐私信息的泄露,但是依然会存在隐私信息泄露的威胁。

上述两种应用场景中均会存在凭证验证便捷性、安全性较低,凭证发行方成本较高的问题;为解决上述问题,现有技术中用户可以通过在线购买电子凭证,该电子凭证中会记录有一串随机码,在验证凭证时通过验证电子凭证中的随机码即可完成验证,提高了凭证验证的便捷性与安全性,降低了凭证发行方的发行成本。但是,电子凭证中使用的是静态的随机码,若电子凭证被复制或者拍照盗取,电子凭证的安全得不到保障。



技术实现要素:

有鉴于此,本发明提供的一种二维码的处理方法、装置及系统,主要目的在于解决现有技术中在生成电子凭证时,依赖于静态的随机码,一旦电子凭证被复制或拍照盗取,导致泄露电子凭证安全的问题。

依据本发明第一方面,本发明提供了一种二维码的处理方法,包括:

服务器接收客户端发送的获取电子凭证请求,所述获取电子凭证请求中包含用户身份标识;

获取所述用户身份标识对应的电子凭证,并使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名,得到服务器签名信息;

将所述服务器签名信息及所述电子凭证发送至所述客户端,以便所述客户端对所述服务器签名信息进行验签,并根据所述电子凭证生成二维码,以使得凭证验证端对所述二维码中包含的电子凭证进行验证;其中,所述凭证验证端用于根据用户身份标识生成电子凭证。

依据本发明第二方面,本发明提供了一种二维码的处理方法,包括:

客户端接收服务器发送的服务器签名信息及电子凭证,其中,所述服务器签名信息为所述服务器使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名得到;

对所述服务器签名信息进行验签,得到电子凭证;

获取与所述用户公钥对应的用户密钥,并使用所述用户密钥对所述电子凭证进行签名,得到客户端签名信息;

根据预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证及所述用户公钥生成二维码,以便凭证验证端根据所述预置安全信息及所述用户公钥对所述二维码中包含的电子凭证进行验证;其中,所述预置安全信息拥有有效时长,所述凭证验证端用于根据用户身份标识生成电子凭证。

依据本发明第三方面,本发明提供了一种二维码的处理方法,包括:

凭证验证端获取客户端中的二维码,其中,所述二维码为所述客户端根据预置安全信息、客户端签名信息、服务器签名信息、电子凭证及用户公钥生成,所述客户端签名信息为所述客户端对所述电子凭证签名得到,所述服务器签名信息为服务器对所述电子凭证及用户公钥签名得到;

对所述预置安全信息的有效时长进行验证,以及对所述客户端签名信息及所述服务器签名信息进行验证;

若所述预置安全信息、所述客户端签名信息及所述服务器签名信息均验证成功,则获取电子凭证中包含的业务有效时间进行验证;

若所述电子凭证中包含的业务有效时间验证成功,则确定所述电子凭证验证成功。

依据本发明第四方面,本发明提供了一种服务器,包括:

接收单元,用于接收客户端发送的获取电子凭证请求,所述获取电子凭证请求中包含用户身份标识;

第一获取单元,用于获取所述接收单元接收的所述用户身份标识对应的电子凭证;

签名单元,用于使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名,得到服务器签名信息;

发送单元,用于将所述签名单元得到的所述服务器签名信息及所述第一获取单元获取的所述电子凭证发送至所述客户端,以便所述客户端在用户密钥的有效时间内对所述服务器签名信息进行验签,并根据所述电子凭证生成二维码,以使得凭证验证端对所述二维码中包含的电子凭证进行验证;其中,所述凭证验证端用于根据用户身份标识生成电子凭证。

依据本发明第五方面,本发明提供了一种客户端,包括:

第一接收单元,用于接收服务器发送的服务器签名信息及电子凭证,其中,所述服务器签名信息为所述服务器使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名得到;

验签单元,用于对所述服务器签名信息进行验签,得到电子凭证;

获取单元,用于获取与所述用户公钥对应的用户密钥;

签名单元,用于使用所述获取单元获取的所述用户密钥对所述电子凭证进行签名,得到客户端签名信息;

生成单元,用于根据预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证及所述用户公钥生成二维码,以便凭证验证端根据所述预置安全信息及所述用户公钥对所述二维码中包含的电子凭证进行验证;其中,所述预置安全信息拥有有效时长,所述凭证验证端用于根据用户身份标识生成电子凭证。

依据本发明第六方面,本发明提供了一种凭证验证端,包括:

第一获取单元,用于获取客户端中的二维码,其中,所述二维码为所述客户端根据预置安全信息、客户端签名信息、服务器签名信息、电子凭证及用户公钥生成,所述客户端签名信息为所述客户端对所述电子凭证签名得到,所述服务器签名信息为服务器对所述电子凭证及用户公钥签名得到;

第一验证单元,用于对所述第一获取单元获取的所述预置安全信息的有效时长进行验证;

第二验证单元,用于对所述客户端签名信息及所述服务器签名信息进行验证;

第三验证单元,用于当所述第一验证单元验证所述预置安全信息、所述第二验证单元验证所述客户端签名信息及所述服务器签名信息均验证成功时,获取电子凭证中包含的业务有效时间进行验证;

确定单元,用于当所述第三验证单元验证所述电子凭证中包含的业务有效时间验证成功时,确定所述电子凭证验证成功。

依据本发明第七方面,本发明提供了一种二维码的处理系统,所述系统包括:

客户端,用于向服务器发送获取电子凭证请求,所述获取电子凭证请求中包含用户身份标识;

所述服务器,用于接收所述客户端发送的获取电子凭证请求,并根据所述用户身份标识向凭证验证端获取电子凭证;

凭证验证端,用于接收并响应所述服务器发送的获取电子凭证的请求信息,将所述电子凭证发送至所述服务器;

所述服务器,还用于接收所述凭证验证端发送的所述电子凭证,所述电子凭证以及客户端的用户公钥进行签名,得到服务器签名信息,将所述服务器签名信息及所述电子凭证发送至所述客户端;

所述客户端,用于接收服务器发送的服务器签名信息及电子凭证,对所述服务器签名信息进行验签,得到电子凭证,并获取与所述用户公钥对应的用户密钥,使用所述用户密钥对所述电子凭证进行签名,得到客户端签名信息,根据预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证及所述用户公钥生成二维码;

所述凭证验证端,用于获取所述客户端中的二维码,对所述预置安全信息的有效时长进行验证,以及对所述客户端签名信息及所述服务器签名信息进行验证,若所述预置安全信息、所述客户端签名信息及所述服务器签名信息均验证成功,则获取电子凭证中包含的业务有效时间进行验证,若所述电子凭证中包含的业务有效时间验证成功,则确定所述电子凭证验证成功。

借由上述技术方案,本发明提供的二维码的处理方法、装置及系统,服务器在接收客户端发送的获取电子凭证请求后,并使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名,得到服务器签名信息;将所述服务器签名信息及所述电子凭证发送至所述客户端;客户端接收服务器发送的服务器的签名信息及电子凭证,客户端对服务器签名信息进行验签,验签成功后,对电子凭证进行客户端签名,并根据预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证及所述用户公钥生成二维码;凭证验证端获取到二维码后,通过验证二维码中服务器签名信息、客户端签名信息及预置安全信息,可确定电子凭证在传输过程中是否篡改,确保电子凭证在使用过程中的安全性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种客户端、服务器及凭证验证端之间的交互框架图;

图2示出了本发明实施例提供的第一种二维码的处理方法的流程图;

图3示出了本发明实施例提供的第二种二维码的处理方法的流程图;

图4示出了本发明实施例提供的第三种二维码的处理方法的流程图;

图5示出了本发明实施例提供的一种签名和验签的示意图;

图6示出了本发明实施例提供的第四种二维码的处理方法的流程图;

图7示出了本发明实施例提供的第五种二维码的处理方法的流程图;

图8示出了本发明实施例提供的一种服务器的组成框图;

图9示出了本发明实施例提供的另一种服务器的组成框图;

图10示出了本发明实施例提供的一种客户端的组成框图;

图11示出了本发明实施例提供的另一种客户端的组成框图;

图12示出了本发明实施例提供一种凭证验证端的组成框图;

图13示出了本发明实施例提供另一种凭证验证端的组成框图;

图14示出了本发明实施例提供一种二维码的处理系统的组成框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

为解决现有技术中二维码中电子凭证信息易泄露的问题,本发明实施例提供一种二维码的处理方法,所述方法通过服务器、客户端与凭证验证端的配合实现,所述凭证验证端至少具有生成、传输数据的功能,用于将生成的电子凭证传输给服务器,以及,具有数据获取及数据验证功能,用于从客户端中的二维码中获取电子凭证,并验证该电子凭证是否正确。所述服务器至少具有数据收发功能,用于接收凭证验证端发送的电子凭证,并将电子凭证发送给客户端,实现数据传输。所述客户端至少具有与服务器的数据交互功能,用于接收服务器发送的电子凭证,以及具有图像生成功能,用于基于电子凭证信息,生成二维码等等。

在对本实施例所述方法进行说明之前,为便于理解,首先给出本发明实施例提供的一种客户端、服务器及凭证验证端之间的交互框架图,如图1所示,在本发明实施例中,凭证验证端根据用户身份标识(如身份证号码、手机号、邮箱等)生成电子凭证后,将电子凭证发送至服务器,该服务器拥有对凭证验证端所生成的电子凭证的访问权限,服务器在接收到客户端的获取电子凭证请求后,将电子凭证发送至客户端,以便客户端基于该电子凭证生成二维码,以供凭证验证端进行验证。

需要说明的是,本发明实施例是以电子凭证以二维码为载体为例进行的说明,但是,理论上讲,该电子凭着也可以依赖于其他的媒介,例如一些具备SE,HCE等NFC技术的客户端,本发明实施例中的电子凭证以二维码为载体进行说明,原因在于二维码对于电子凭证使用者及凭证验证端来讲所使用的硬件设备要求较低,通用性较好。但是,应当明确的是,该种说明方式并非意在限定,电子凭证只能以二维码为载体。

下面,基于图1所示的示意图,首先给出服务器侧实现的一种二维码的处理方法,如图2所示,所述方法包括:

101、服务器接收客户端发送的获取电子凭证请求。

客户端成功登录服务器后,向服务器发送获取电子凭证请求,该获取电子凭证请求中包含用户身份标识,以便服务器根据该用户身份标识查找对应的电子凭证信息。在具体实现过程中,所述电子凭证可以包含但不局限于以下内容,例如:机票、汽车票、火车票、演唱会门票、银行卡、门禁卡、各个公园入场券、身份证、商家代金券、会员卡、行驶证、驾驶证门禁卡、公交卡等等对应的电子凭证。

在具体实现过程中,所述客户端为一个安装于电子设备中的应用程序(Application,APP)或者网站,在客户端与服务器进行交互之前,客户端可基于用户身份标识向服务器进行注册,所述用户身份标识可以包含但不局限于用户身份证、与身份证一直的真实姓名、手机号码、邮箱、账户名等等,注册过程中,可设置登录服务器的登录密码,注册并登录成功后,客户端可以服务器进行连接通信。

102、服务器获取所述用户身份标识对应的电子凭证,使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名,得到服务器签名信息。

本发明实施例所述的服务器本身并不会生成电子凭证,而当接收到客户端发送的获取电子凭证请求之后,服务器从生成电子凭证的凭证验证端侧,获取用户身份标识对应的电子凭证,服务器承载了电子凭证使用方(客户端)与电子凭证验证端(凭证验证端)的桥梁,负责将凭证验证端生成的电子凭证转发给电子凭证使用方。需要说明的是,本发明实施例所述的服务器在满足国家监管要求的前提下,还需要获得凭证验证端的授权,才能够允许服务器访问凭证验证端。

为确保服务器与客户端传输过程中电子凭证不被篡改,在服务器响应客户端发送的获取电子凭证请求之前,服务器需要使用服务私钥对客户端的用户公钥进行签名,得到服务器签名信息,本发明实施例中,对客户端的用户公钥进行签名的目的在于,以便客户端与服务器相互之间验证彼此的身份,对身份信息进行安全认证,确保数据传输过程中信息不被篡改。服务器使用服务器私钥对电子凭证进行签名,能够确定原始电子凭证的完整性。

此外,服务器在对用户公钥及电子凭证进行签名,作用还在于在后续客户端生成二维码时,可以将服务器对电子凭证及用户公钥进行签名得到的服务器签名信息作为生成二维码的属性信息,确保客户端传输的电子凭证是由服务器发出的,并且是被客户端被验证的,是合法可靠的,使得电子凭证无法伪造及不可抵赖。

103、服务器将所述服务器签名信息及所述电子凭证发送至所述客户端。

以便所述客户端对所述签名后的电子凭证进行验签,并根据所述电子凭证生成二维码,以使得凭证验证端对所述二维码中包含的电子凭证进行验证;其中,所述凭证验证端用于根据用户身份标识生成电子凭证。

本发明实施例提供的二维码的处理方法,服务器在接收客户端发送的获取电子凭证请求后,并使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名,得到服务器签名信息;将所述服务器签名信息及所述电子凭证发送至所述客户端;客户端接收服务器发送的服务器的签名信息及电子凭证,客户端对服务器签名信息进行验签,验签成功后,对电子凭证进行客户端签名,并根据预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证及所述用户公钥生成二维码;凭证验证端获取到二维码后,通过验证二维码中服务器签名信息、客户端签名信息及预置安全信息,可确定电子凭证在传输过程中是否篡改,确保电子凭证在使用过程中的安全性。

作为对图1所示方法的进一步细化,为确保客户端用户身份的合法性,及确保传输内容传输过程中未被篡改,在步骤102执行使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名时,可采用但不局限于以下方式实现,例如:

方式一:服务器为所述电子凭证分配用户签名密钥,并使用所述服务器私钥对第一用户公钥及电子凭证进行签名;其中,所述分配的用户签名密钥包含第一用户公钥。

服务器接收到客户端发送的获取电子凭证请求时,若未从该获取电子凭证请求中获取到客户端的用户公钥,则服务器为了认证客户端的用户身份,以确保电子凭证的不被篡改,会临时为电子凭证分配一对用户签名密钥,该分配的用户签名密钥包含一个第一用户公钥,以及一个第一用户私钥,并使用服务器私钥对第一用户私钥进行签名,以便接收到该服务器签名信息后,对其进行安全认证。

由于服务器临时为电子凭证分配的用户签名密钥,因此,在客户端未获取该用户签名密钥的前提下,无法对服务器中的服务器签名信息进行验签,为解决上述问题,在服务器采用上述方式一对客户端的第一用户公钥及电子凭证进行签名时,服务器在向客户端发送所述服务器签名信息、及所述电子凭证时,需要将对电子凭证分配的用户签名密钥同步发送至客户端,以便客户端根据用户签名密钥对服务器签名信息进行验签。

在具体实现过程中,客户端在接收到服务器为电子凭证临时分配的用户签名密钥,并基于该用户签名密钥对服务器签名信息进行验签后,可以直接将该用户签名密钥丢弃,也可以将该用户签名密钥作为客户端的常用用户密钥、用户公钥,具体的,本发明实施例对此不作限定。

方式二:服务器获取所述客户端发送的第二用户公钥,并使用所述服务器私钥对所述第二用户公钥及电子凭证进行签名。

该种实现方式中,客户端为了标明其身份,在向服务器发送获取电子凭证请求时,将客户端的第二用户公钥同步发送至服务器,以便服务器对客户端进行身份认证,服务器利用服务器私钥,对客户端的第二用户公钥及电子凭证进行签名,当客户端接收到该签名后的第二用户公钥及电子凭证后,验签成功后,才能获取到电子凭证信息,确保电子凭证不被篡改。

需要说明的是,本发明实施例所述的第一用户公钥与第二用户公钥是为了区分客户端中的不同的用户公钥,所述第一、第二并无其他含义,也不用于限定用户公钥的数量及优先级等,具体的,本发明实施例对客户端中用户公钥的命名方式不作限定。

为了便于说明,本发明实施例在后续说明中以对用户公钥及用户私钥为非对称密钥为例进行说明,但是,应当明确的是,用户公钥及用户私钥不仅限于为非对称密钥,也可以为对称密钥,具体的,本发明实施例对此不作限定。

为了便于对服务器的签名过程进行理解,以下会以服务器对用户公钥及电子凭证的签名为例进行说明,具体过程包括:服务器获取用户公钥及电子凭证后,可以利用哈希算法对用户公钥及电子凭证进行哈希运算,获取哈希值,然后使用服务器的私钥对该哈希值进行签名得到服务器签名信息;具体的本发明实施例对签名过程中使用的算法(如哈希运算)不作限定。

在服务器完成对电子凭证及用户公钥的签名后,将所述电子凭证、签名后的用户公钥及电子凭证发送至客户端,以便客户端对服务器的签名信息进行验签,确保数据传输过程中,电子凭证不被恶意用户篡改。与此同时,服务器还需要将其得到签名信息时采用的服务器私钥对应的公钥进行广播,以便客户端以及凭证验证端接收服务器广播的公钥,并使用该服务器公钥对签名信息进行验证。

进一步的,本发明实施例所述的服务器作为承载客户端与凭证信息验证方的桥梁,除了负责认证用户合法性之外,还能够验证使用电子凭证的合法性。电子凭证在具体使用过程中区分不同的业务类型,而不同的业务类型又使用不同的业务规范进行限定,例如,当电子凭证为机票时,该机票业务中包含飞机的起飞时间(该应用场景限于飞机正常起飞,无晚点的场景中);或者,当电子凭证为演唱会门票时,门票业务中同样会包含演唱会的开始时间、入场时间等等。因此,本发明实施例中,在服务器根据用户身份标识获取对应的电子凭证之前,需要对获取电子凭证请求进行解析,并获取该获取电子凭证请求中包含的业务有效时间,并验证该业务有效时间是否符合业务规范,当业务有效时间符合业务规范时,服务器获取用户身份标识对应的电子凭证;当业务有效时间不符合业务规范时,向客户端返回无对应电子凭证的提示信息。

为了便于对业务有效时间及业务规范的更好理解,以下将以示例的形式进行说明。示例性的,假设,电子凭证为汽车票业务,凭证验证端可预售汽车票的时间为7天,当前日期为2016年11月1日,于2016年11月1日用户基于客户端向服务器发送获取电子凭证请求,请求中包含的业务有效时间为2016年11月20日,而凭证验证端生成电子凭证的最长有效时间为2016年11月8日,因此,服务器可以确定该业务有效时间不符合业务规范。以上仅为示例性的举例,本发明实施例对电子凭证的业务类型、业务有效时间、业务规范等不做局限限定。

进一步的,在步骤102执行获取所述用户身份标识对应的电子凭证时,可以采用但不局限于以下方式实现,例如:

方式一:在所述凭证验证端根据所述用户身份标识生成所述电子凭证后,接收所述凭证验证端同步的所述电子凭证。

该种实现方式为凭证验证端在生成电子凭证后,主动向服务器发送已生成的电子凭证。在具体实现过程中,服务器为了便于对多个电子凭证进行管理,可在其本地生成预设列表,该预设列表用于记录用户身份标识与电子凭证之间的映射关系,当接收到凭证验证端同步的电子凭证后,将新接收到的电子凭证及用户身份标识的对应关系记录于预设列表中;当服务器向客户端发送一个电子凭证后,可以将预设列表中已发送成功的电子凭证删除,以节省服务器占用资源。

方式二:根据所述用户身份标识向所述凭证验证端发送获取电子凭证的请求信息,以获得所述电子凭证。

该种实现方式中,服务器起到一个中转的作用,当接收到客户端发送的获取电子凭证请求时,才会基于获取电子凭证请求中的用户身份标识向凭证验证端请求电子凭证,继而将获取到的电子凭证转发至客户端。本发明实施例对服务器获取电子凭证的方式不作限定。

进一步的,作为对上述方法的细化和扩展,本发明实施例还提供一种二维码的处理方法,该方法中,为了便于表述,主要以客户端为支付宝,以及电子凭证为电子演唱会门票为例进行说明,但应当明确的是,该种说明方式并非意在限定本发明实施例所述的客户端仅能为支付宝,如图3所示,所述方法包括:

201、服务器接收支付宝发送的获取电子演唱会门票请求,所述获取电子演唱会门票请求中包含手机号码及业务有效时间。

在实际应用中,所述业务有效时间可以是电子演唱会门票的订票时间,也可以是电子演唱会门票的开场时间,也可以是与电子演唱会门票无关的任意时间,本发明实施例对业务有效时间不作限定。

202a、服务器对所述获取电子演唱会门票请求进行解析,并获取所述获取电子演唱会门票请求中包含的业务有效时间。

示例性的,请求中的业务有效时间为演唱会开场时间2016年9月20日16:00,而当前日期为2016年9月1日。

203a、验证所述业务有效时间是否符合业务规范。

若所述业务有效时间符合业务规范,则执行步骤204;若所述业务有效时间不符合业务规范,则执行步骤205。

本发明实施例中,获取电子演唱会门票的目的在于,当纸质的演唱会门票丢失或者损坏时,可以通过验证电子演唱会门票进入演唱会,而无需去重新补办纸质的演唱会门票,节省补办门票的繁琐过程;本示例中,可以设置业务规范为在演唱会开场前30天内允许获取电子演唱会门票,或者,允许在演唱会开场后半小时内获取电子演唱会门票,只要业务有效时间符合上述业务规范即可执行步骤202b;而步骤201中所述的有效时间为演唱会开场时间2016年9月20日,符合业务规范,则执行步骤202b。

202b、服务器对所述获取电子演唱会门票请求进行解析,并获取所述获取电子演唱会门票请求中的手机号码。

203b、验证所述手机号码的合法性。

若所述手机号码合法,则执行步骤204;若所述手机号码不合法,则执行步骤205。

本步骤中验证请求中的手机号码是否与服务器中的手机号码一致。

需要说明的是,在执行步骤202a与执行步骤202b时,两个步骤之间没有先后顺序的说明,并且,只有当业务有效时间与用户身份标识(手机号码)均验证成功后,才会继续执行后续步骤。

204、服务器获取所述手机号码对应的电子演唱会门票,并使用服务器私钥对支付宝的用户公钥及所述电子凭证进行签名,得到服务器签名信息。

根据不同的业务类型,在电子凭证上会有相应的详情。如本示例以电子演唱会门票为例,电子演唱会门票中包含有:演唱会地点、看台、具体座位号、演唱会名称、价钱等等,具体的,本发明实施例对此不作限定。

205、将所述获取电子演唱会门票请求进行拦截,并向支付宝发送请求失败的提示信息。

206、将所述服务器签名信息及所述电子演唱会门票发送至所述支付宝。

207、将所述服务器的私钥对应的公钥进行广播,以便所述支付宝根据所述服务器的公钥对签名信息进行验证。

作为对图3所示方法的扩展,当安装支付宝的电子设备(如手机)丢失后,用户可以切换手机,并在成功登录支付宝后,继续使用电子凭证,免去纸质凭证丢失后注销、补办等问题,该种应用场景限于支付宝已使用用户私钥、服务器公钥及电子凭证进行验签成功之后;若支付宝未对服务器的签名信息进行验证,则支付宝需要基于服务器公钥对服务器签名信息进行验证,待验证成功后获得电子凭证。作为本发明实施例的可选方式,为进一步确定电子凭证不被泄露,在服务器向客户端发送服务器签名信息及电子凭证后,可设置供服务器公钥的验证有效时长,用于限制客户端需在规定的时限内完成对服务器签名的验证,若超过服务器公钥的验证有效时长,则无法再验证服务器签名信息。

进一步的,本发明实施例还提供一种二维码的处理方法,该方法应用于图1所示的客户端侧,如图4所示,所述方法包括:

301、客户端接收服务器发送的服务器签名信息及电子凭证。

客户端在使用用户账户名及登录密码登录成功之后,向服务器发送获取电子凭证请求,服务器响应于获取电子凭证请求,为了确保电子凭证在传输过程中被篡改,服务器将服务器签名信息及电子凭证发送至客户端,已验证客户端身份的合法。其中,所述服务器签名信息为所述服务器使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名得到。有关服务器签名得到服务器签名信息的相关说明,请参考上述实施例的详细说明,本发明实施例在此不再进行赘述。

302、客户端对所述服务器签名信息进行验签,得到电子凭证。

示例性的,以服务器对用户公钥及电子凭证进行签名得到的服务器签名信息,及客户端对服务器签名信息进行验签为例进行详细说明,如图5所示,图5示出了本发明实施例提供的一种签名和验签的示意图。具体的,服务器获取到用户公钥及电子凭证后,利用哈希算法对用户公钥及电子凭证进行哈希运算,得到一个第一哈希值,然后利用该服务器的私钥对该第一哈希值进行加密,得到服务器签名信息,服务器将该服务器签名信息及电子凭证发送至客户端;客户端在接收到服务器签名信息及电子凭证后,提取电子凭证,并将电子凭证进行哈希计算,得到第二哈希值;与此同时,客户端使用服务器的公钥对服务器签名信息进行解密得到一个第一哈希值,将解密得到的第一哈希值与计算得到的第二哈希值进行比对,若两者一致,则说明电子凭证在传输过程中未被篡改,在获取电子凭证之后可直接使用该电子凭证;若两者不一致,则说明电子凭证在数据传输过程中被篡改,可能存在信息泄露的风险。需要说明的是,图5仅为示例性的举例,具体对服务器对签名的具体内容不作限定。

303、客户端获取与所述用户公钥对应的用户密钥,并使用所述用户密钥对所述电子凭证进行签名,得到客户端签名信息。

在客户端生成以二维码为载体的电子凭证,为了防止电子凭证被非法篡改,泄露电子凭证信息,需要使用用户私钥对电子凭证进行签名,得到客户端签名信息,当客户端基于客户端签名信息作为生成二维码的属性信息时,凭证验证端可验证该客户端签名信息,进而认证客户端的合法性。

其中,有关签名的具体实现方法,请参考图5的详细说明,本发明实施例在此不再进行一一赘述。

304、客户端根据预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证及所述用户公钥生成二维码。

客户端与凭证验收方进行近距离数据(电子凭证)传输时,为了确保传输电子凭证的安全性,在生成的二维码中添加认证信息,该认证信息可以包含但不局限于客户端签名信息、服务器签名信息及预置安全信息。其中,凭证验证端可以通过对客户端签名信息的验签,认证需要验证的电子凭证是客户端发送的,同时,凭证验证端可以通过对服务器签名信息的验签,确定二维码中的电子凭证是服务器发出的电子凭证,以确保电子凭证不被篡改。

本发明实施例中,预置安全信息作为二维码的动态实现,即作为客户端与凭证验证端建立“可信任”数据传输的凭证;凭证验证端在接收到客户端发送的二维码之前,会验证预置安全信息的有效性、安全性,以确保客户端发送电子凭证的安全。所述预置安全信息可以包含但不局限于以下内容,例如:动态口令信息、时间信息、随机码信息等等,具体的,本发明实施例对此不作限定。

示例性的,以预置安全信息为当前系统时间为例进行说明,若客户端在08:00生成二维码,可以确定预置安全信息为08/00,若客户端在10:21生成二维码,可以确定预置安全信息为10/21,以上示例是以预置安全信息为当前系统时间为例进行的说明,但是应当明确的是,该种说明方式并非意在限定本发明实施例所述的预置安全信息仅能为客户端的当前系统时间。

需要说明的是,在生成二维码时,直接将用户公钥作为生成二维码的属性信息,而非是将客户端的用户公钥进行广播,能够有效减少客户端的额外开销及代价的问题。

本发明实施例提供的二维码的处理方法,服务器在接收客户端发送的获取电子凭证请求后,并使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名,得到服务器签名信息;将所述服务器签名信息及所述电子凭证发送至所述客户端;客户端接收服务器发送的服务器的签名信息及电子凭证,客户端对服务器签名信息进行验签,验签成功后,对电子凭证进行客户端签名,并根据预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证及所述用户公钥生成二维码;凭证验证端获取到二维码后,通过验证二维码中服务器签名信息、客户端签名信息及预置安全信息,可确定电子凭证在传输过程中是否篡改,确保电子凭证在使用过程中的安全性。

作为本发明实施例的一种实现方式,在客户端获取与所述用户公钥对应的用户密钥时,接收服务器发送的为电子凭证分配的用户签名密钥,该用户签名密钥中包含一个第一用户公钥以及一个第一用户密钥,用户密钥与用户公钥为非对称密钥,客户端获取服务器为电子凭证分配的用户签名密钥中的第一用户密钥。作为本发明实施例的另一种实现方式,在客户端获取与所述用户公钥对应的用户密钥时,可以获取客户端自身生成的与用户公钥对应的第二用户密钥。具体的,本发明实施例对客户端获取用户密钥的方式不作限定。

进一步的,在对所述服务器签名信息进行验签时,具体包括:接收并存储所述服务器广播的服务器公钥,并根据所述服务器公钥以及所述电子凭证对所述服务器签名信息进行验签。

当客户端确定服务器对客户端生成的第二用户公钥进行签名时,根据所述服务器公钥、所述电子凭证及所述第一用户公钥对所述服务器签名信息进行验签;

当客户端确定服务器是对其为电子凭证分配的第一用户公钥进行签名时,根据所述服务器公钥、所述电子凭证及所述第二用户公钥对所述服务器签名信息进行验签。有关客户端对服务器签名信息的实现过程,请参考图5的详细说明,本发明实施例对此不作限定。

需要说明的是,服务器向客户端发送电子凭证时,需要对电子凭证、用户公钥进行签名,得到服务器签名信息,其目的在于,在后续客户端生成二维码时,可以将该服务器签名信息作为生成二维码的属性信息,用户使用自己的私钥对服务器下发的信息进行签名,确保电子凭证原始信息的正确性,以及用户公钥都是被验证合法可靠的,并且无法伪造及不可抵赖。

进一步的,客户端中可能会存在多种用户签名密钥(包含客户端自身生成的第一用户密钥,以及服务器为电子凭证中分配的第二用户密钥),因此,在客户端使用用户密钥对电子凭证进行签名时,可使用与客户端匹配的任意用户私钥。例如,客户端可使用第一用户密钥对电子凭证进行签名,也可以使用第二用户密钥对电子凭证进行签名,具体的,本发明实施例对此不作限定。

为进一步确保电子凭证的安全性,在客户端生成二维码时,客户端同样在生成二维码过程中,使用客户端签名信息,以便凭证验证端通过对客户端签名验证,确保电子凭证是客户端生成和客户端使用电子凭证是合法可靠的,并且无法伪造、不可抵赖。根据预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证及所述用户公钥生成二维码时,可以采用的如下方式实现:设定预置安全信息的有效时长,根据所述预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证、所述用户公钥、预置安全信息的有效时长及用户身份标识生成二维码。

需要说明的是,本发明实施例在生成二维码时,要求客户端将用户身份标识作为生成二维码的属性信息,可应用于凭证验证端对用户实名制有要求的应用场景下,例如,当电子凭证为机票、汽车票、火车票、银行卡等凭证时,在凭证验证端对该种类型的电子凭证进行验证时,可使用用户身份证实体校验实名制条件,辅助完成验证,满足一些应用场景中要求实名制的要求。

作为本发明实施例的可选方案,对于一些高安全性的场景中,防止当手机或者平板电脑丢失时,或者,二维码被破解出段时间内被恶意用户冒用的情况发生,在生成二维码时,可增加使用电子凭证本人的生物特征于该二维码内,例如,将电子凭证本人的指纹等生物特征内置于二维码内,在凭证验证端验证该二维码时,要求本人生物特征的验证,进一步确保电子凭证的安全。

进一步的,上述实施例以详细说明在对二维码进行处理时,服务器与客户端所起到的具体作用及具体实现方式,在对生成的依赖于二维码中的电子凭证进行验证时,还需图1所示的凭证验证端来完成。以下,提供一种二维码的处理方式,该方法应用于凭证验证端,如图6所示,所述方法包括:

401、凭证验证端获取客户端中的二维码。

其中,所述二维码为所述客户端根据预置安全信息、客户端签名信息、服务器签名信息、电子凭证及用户公钥生成,所述客户端签名信息为所述客户端对所述电子凭证签名得到,所述服务器签名信息为服务器对所述电子凭证及用户公钥签名得到。

在凭证验证端获取客户端中的二维码时,可以采用但不局限于以下方式实现,例如,通过预设数据获取指令获取二维码,所述预设数据获取指令包括:扫描方式、摇动数据发送端方式、按键触发方式、语音触发的方式、及轨迹滑动方式。

本发明实施例中的预设数据获取指令方式中除扫描方式外,其他的预设数据获取指令方式均需进行在数据传输之前进行设置,例如,设置摇动数据发送端方式为:向同一单一方向两次晃动、左右晃动两次、上下晃动三次等;所述按键触发方式包括:凭证验证端对预设按键的触发状态进行监听,该预设按键可以为物理按键,也可以为虚拟按键,当客户端触发该预设按键时,凭证验证端即可获取客户端中显示的二维码;对于客户端为触屏式客户端而言,当凭证验证端对轨迹滑动方式进行预设之后,对客户端中的触控屏的滑动状态进行监听,当客户端用户在屏幕上触发滑动操作时,获取二维码。以上是对预设数据获取指令的说明,本发明实施例对实际应用中预设数据获取指令的类型不进行限定。

402、凭证验证端对所述预置安全信息的有效时长进行验证,以及对所述客户端签名信息及所述服务器签名信息进行验证。

凭证验证端对获取到的二维码进行解析,获取二维码中包含的预置安全信息及电子凭证,并验证预置安全信息的有效时长,以及电子凭证中的业务有效时间的有效性。示例性的,假设,预置安全信息为客户端的当前系统时间,预置安全信息为10/21,且该预置安全信息的有效时长为60s,则凭证验证端获取当前系统时间与预置安全信息对应的时间差,是否超过60s,若确定超过60s,则凭证验证端确定该二维码无效。以上示例为示例性的举例,也可以设置预置安全信息的有效时长为2分钟等等,本发明实施例对预置安全信息的有效时长不作为限定内容。

有关凭证验证端对客户端签名信息及所述服务器签名信息的实现方式请参考图5所示方法,本发明实施例在此不再赘述。

403、若所述预置安全信息、所述客户端签名信息及所述服务器签名信息均验证成功,则获取电子凭证中包含的业务有效时间进行验证。

有关业务有效时间的验证,请参考上述实施例的相关描述,本发明实施例在此不再进行赘述。

404、若所述电子凭证中包含的业务有效时间验证成功,则确定所述电子凭证验证成功。

本发明实施例提供的二维码的处理方法,服务器在接收客户端发送的获取电子凭证请求后,并使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名,得到服务器签名信息;将所述服务器签名信息及所述电子凭证发送至所述客户端;客户端接收服务器发送的服务器的签名信息及电子凭证,客户端对服务器签名信息进行验签,验签成功后,对电子凭证进行客户端签名,并根据预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证及所述用户公钥生成二维码;凭证验证端获取到二维码后,通过验证二维码中服务器签名信息、客户端签名信息及预置安全信息,可确定电子凭证在传输过程中是否篡改,确保电子凭证在使用过程中的安全性。

进一步的,作为对图6所示方法的扩展,本发明实施例中,执行一切方法的步骤前提为凭证验证端所生成的电子凭证,因此,在本发明实施例中,在获取客户端中的二维码之前,凭证验证端根据用户身份标识生成电子凭证,生成电子凭证的时机可以包括但不局限于以下内容,例如,用户向售票窗口购票后,售票系统在生成纸质凭证的前提下,又生成电子凭证信息,并将该电子凭证信息反馈到服务器中,以便服务器将电子凭证发送至客户端;或者,用户基于售票网站购电子门票后,生成电子门票对应的电子凭证,并将该电子凭证发送至服务器。本发明实施例对凭证验证端在生成电子凭证后,是否提供纸质门票的应用场景不作限定,本发明实施例中使用电子凭证的目的在于防止纸质凭证丢失或者损坏时,补办纸质凭证的手续复杂的问题,同时,在凭证验证端获取以动态二维码为载体的电子凭证时,能够确保电子凭证的安全性。

在凭证验证端生成电子凭证后,为便于客户端向服务器获取该电子凭证,可以根据用户标识信息将对应的电子凭证同步至服务器,以便服务器客户端获取该电子凭证。作为本发明实施例的另一种实现方式,凭证验证端在接收服务器发送的获取电子凭证的请求信息后,将电子凭证发送至服气,其中,该获取电子凭证的请求信息中包含用户身份标识。

进一步的,在凭证验证端对所述客户端签名信息及所述服务器签名信息进行验证时,可以采用但不局限于以下方式实现,例如:获取所述二维码中包含的用户公钥,并根据所述用户公钥及所述电子凭证对所述客户端签名信息验签;接收并存储所述服务器广播的服务器私钥所对应的服务器公钥;根据所述服务器公钥及所述电子凭证,对所述服务器签名信息进行验证。

进一步的,对于一些安全性要求较高的应用场景中,客户端会将用户标识信息作为生成二维码的属性的信息,以便凭证验证端对用户身份信息进行验证,例如,客户端将用户身份证作为生成二维码的属性信息。凭证验证端对二维码进行解析,获取其包含的用户身份标识,并对用户身份标识进行验证,若凭证验证端确定用户身份标识验证成功,则确定电子凭证验证成功。示例性的,当二维码中的电子凭证为火车票时,当用户使用电子火车票过火车站的闸机时,可同步验证用户的身份证,完成电子凭证的验证。

进一步的,在凭证验证端对二维码中的内容进行验证时,不管二维码中包含内容的多少,只要二维码中包含的所有内容均被凭证验证端验证成功,则代表电子凭证验证成功;若二维码中包含的一个内容或者部分内容未验证成,则说明电子凭证验证不成功。示例性的,假设,当二维码中包含所述预置安全信息、客户端签名信息、服务器签名信息、用户身份标识时,只有当预置安全信息、客户端签名信息、服务器签名信息、用户身份标识全部验证成功后,确定该电子凭证验证成功。

以上已说明凭证验证端在对以二维码为载体的电子凭证进行验证的过程,可见电子凭证在日常的生活、工作中起到的便捷性、安全性。以上示例以客户端中包含一种电子凭证为例进行的说明,在实际应用中,客户端中可以包含多种类型的电子凭证,该些电子凭证可以分别记录于不同的动态二维码中,也可以将多种类型的电子凭证记录于同一个二维码中,具体的,本发明实施例对此不作限定。电子凭证可以替代现有技术中的实体凭证信息,既能够防止实体凭证中信息泄露的问题,又能够防止实体凭证丢失时,注销或者补办繁琐的步骤。通过本发明实施例所述的方法,用户外出时,可以只携带一个安装客户端的终端设备(手机)即可,而无需携带任何实体凭证。

示例性的,用户A只携带一个安装客户端的手机,于早上8:00从家中乘坐公交到公司,可通过客户端中的公交电子凭证的二维码顺利乘车,到达公司后可通过门禁电子凭证进入公司,并通过打卡电子凭证进行签到,中午11:00,用户A需要去某银行办理银行业务,可通过电子身份证以及电子银行卡办理业务;下午17:00,用户A需要到火车站乘车出差,在过闸机时,可通过电子身份证及电子火车票进行实名制验证,验证通过后,可顺利乘车;在对电子凭证进行验证时,均采用上述二维码安全处理方法。上述示例意在说明,电子凭证为生活、工作带来的便利性及安全性,而并非意在限定电子凭证的具体应用场景。

以上实施例已分别对服务器、客户端及凭证验证端对二维码的处理过程进行了详细阐述,但是在实际应用中,三者在实现二维码的验证过程中缺一不可,以下实施例将对服务器、客户端及凭证验证端进行汇总说明,如图7所示,包括:

501、凭证验证端根据用户身份标识生成电子凭证,根据所述用户身份标识将对应的电子凭证同步至服务器,以便所述服务器将所述电子凭证发送至所述客户端。

502、客户端向服务器发送获取电子凭证请求,所述获取电子凭证请求中包含用户身份标识及业务有效时间。

503、服务器接收客户端发送的获取电子凭证请求,对所述获取电子凭证请求进行解析,并获取所述获取电子凭证请求中包含的业务有效时间。

504、服务器验证所述业务有效时间是否符合业务规范。

若所述业务有效时间符合业务规范,则执行步骤505;若所述业务有效时间不符合业务规范,则将所述获取电子凭证请求忽略。

505、获取所述用户身份标识对应的电子凭证,并对所述电子凭证进行加密。

在获取电子凭证时,还可以根据所述用户身份标识向所述凭证验证端发送获取电子凭证的请求信息,以获得所述电子凭证。

506、服务器使用服务器私钥对客户端的用户公钥以电子凭证进行签名,得到服务器签名信息,将所述服务器签名信息及所述电子凭证发送至所述客户端。

507、服务器将所述服务器的私钥对应的公钥进行广播,以便所述客户端及凭证验证端根据所述服务器的公钥对签名信息进行验证。

508、客户端接收并存储所述服务器广播的公钥。

509、客户端接收服务器发送接收服务器发送的服务器签名信息及电子凭证。

510、客户端基于服务器广播的公钥对所述服务器签名信息进行验签,得到电子凭证。

若服务器签名信息验证成功,则执行步骤511;若服务器签名信息验证失败,则无法获取服务器提供的电子凭证。

511、客户端使用所述用户密钥对所述电子凭证进行签名,得到客户端签名信息,根据预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证及所述用户公钥生成二维码。

512、凭证验证端获取客户端中的二维码对所述预置安全信息的有效时长进行验证,以及对所述客户端签名信息及所述服务器签名信息进行验证。

513、若所述预置安全信息、所述客户端签名信息及所述服务器签名信息均验证成功,则获取电子凭证中包含的业务有效时间进行验证;若所述电子凭证中包含的业务有效时间验证成功,则确定所述电子凭证验证成功。

需要说明的是,有关步骤501-步骤513的详细说明,请参考上述相关描述,本发明实施例在此不再进行赘述。

进一步的,作为对上述图1所示方法的实现,本发明另一实施例还提供了一种服务器。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

进一步的,本发明实施例提供一种服务器,如图8所示,所述装置包括:

接收单元61,用于接收客户端发送的获取电子凭证请求,所述获取电子凭证请求中包含用户身份标识;

第一获取单元62,用于获取所述接收单元接收的所述用户身份标识对应的电子凭证;

签名单元63,用于使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名,得到服务器签名信息;

发送单元64,用于将所述签名单元63得到的所述服务器签名信息及所述第一获取单元获取的所述电子凭证发送至所述客户端,以便所述客户端在用户密钥的有效时间内对所述服务器签名信息进行验签,并根据所述电子凭证生成二维码,以使得凭证验证端对所述二维码中包含的电子凭证进行验证;其中,所述凭证验证端用于根据用户身份标识生成电子凭证。

进一步的,如图9所示,所述签名单元63包括:

分配模块631,用于为所述电子凭证分配用户签名密钥;

第一签名模块632,用于使用所述服务器私钥对所述电子凭证以及所述分配模块分配的第一用户公钥进行签名;其中,所述分配的用户签名密钥包含第一用户公钥;

获取模块633,用于获取所述客户端发送的第二用户公钥;

第二签名模块634,用于使用所述服务器私钥对所述电子凭证以及所述获取模块获取的所述第二用户公钥进行签名。

进一步的,若使用所述服务器私钥对第一用户公钥进行签名,所述发送单元64,还用于将所述分配的用户签名密钥、所述服务器签名信息及所述电子凭证发送至所述客户端。

进一步的,如图9所示,所述服务器还包括:

解析单元65,用于在所述第一获取单元62获取所述用户身份标识对应的电子凭证之前,对所述获取电子凭证请求进行解析;

第二获取单元66,用于在所述解析单元65对所述获取电子凭证请求进行解析后,获取所述获取电子凭证请求中包含的业务有效时间;

验证单元67,用于验证所述第二获取单元66获取的所述业务有效时间是否符合业务规范;

所述第一获取单元62,还用于当所述验证单元67验证所述业务有效时间符合业务规范时,执行获取所述用户身份标识对应的电子凭证。

进一步的,如图9所示,所述第一获取单元62包括:

接收模块621,用于在所述凭证验证端根据所述用户身份标识生成所述电子凭证后,接收所述凭证验证端同步的所述电子凭证;

处理模块622,用于根据所述用户身份标识向所述凭证验证端发送获取电子凭证的请求信息,以获得所述电子凭证。

进一步的,所述用户签名密钥为非对称密钥。

进一步的,如图9所示,所述服务器还包括:

广播单元68,用于将所述服务器私钥对应的公钥进行广播,以便所述客户端以及所述凭证验证端根据所述服务器的公钥对签名信息进行验证。

本发明实施例还提供一种客户端,如图10所示,包括:

第一接收单元71,用于接收服务器发送的服务器签名信息及电子凭证,其中,所述服务器签名信息为所述服务器使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名得到;

验签单元72,用于对所述服务器签名信息进行验签,得到电子凭证;

获取单元73,用于获取与所述用户公钥对应的用户密钥;

签名单元74,用于使用所述获取单元73获取的所述用户密钥对所述电子凭证进行签名,得到客户端签名信息;

生成单元75,用于根据预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证及所述用户公钥生成二维码,以便凭证验证端根据所述预置安全信息及所述用户公钥对所述二维码中包含的电子凭证进行验证;其中,所述预置安全信息拥有有效时长,所述凭证验证端用于根据用户身份标识生成电子凭证。

进一步的,如图11所示,所述客户端还包括:

第二接收单元76,用于在获取与所述用户公钥对应的用户密钥之前,接收所述服务器发送的为所述电子凭证分配的用户签名密钥;

所述获取单元73,还用于获取所述第二接收单元接收到的所述服务器对所述电子凭证分配的用户签名密钥中包含的第一用户密钥;

所述获取单元73,还用于获取客户端自身生成的与所述用户公钥对应的第二用户密钥。

进一步的,如图11所示,所述签名单元74包括:

第一签名模块741,用于使用所述第一用户密钥对所述电子凭证进行签名;

第二签名模块742,使用所述第二用户密钥对所述电子凭证进行签名。

进一步的,如图11所示,验签单元72包括:

接收模块721,用于接收所述服务器广播的服务器公钥;

存储模块722,用于将所述接收模块接收到的所述服务器公钥进行存储;

第一验签模块723,用于根据所述存储模块存储的所述服务器公钥、所述客户端公钥以及所述电子凭证对所述服务器签名信息进行验签。

进一步的,所述用户私钥与用户密钥为非对称密钥。

进一步的,如图11所示,所述生成单元75包括:

设定模块751,用于设定所述预置安全信息的有效时长;

生成模块752,用于根据所述预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证、所述用户公钥、预置安全信息的有效时长及用户身份标识生成二维码。

本发明实施例还提供一种凭证验证端,如图12所示,包括:

第一获取单元81,用于获取客户端中的二维码,其中,所述二维码为所述客户端根据预置安全信息、客户端签名信息、服务器签名信息、电子凭证及用户公钥生成,所述客户端签名信息为所述客户端对所述电子凭证签名得到,所述服务器签名信息为服务器对所述电子凭证及用户公钥签名得到;

第一验证单元82,用于对所述第一获取单元获取的所述预置安全信息的有效时长进行验证;

第二验证单元83,用于对所述客户端签名信息及所述服务器签名信息进行验证;

第三验证单元84,用于当所述第一验证单元验证所述预置安全信息、所述第二验证单元验证所述客户端签名信息及所述服务器签名信息均验证成功时,获取电子凭证中包含的业务有效时间进行验证;

确定单元85,用于当所述第三验证单元验证所述电子凭证中包含的业务有效时间验证成功时,确定所述电子凭证验证成功。

进一步的,如图13所示,所述凭证验证端还包括:

生成单元86,用于在所述第一获取单元81获取客户端中的二维码之前,根据用户身份标识生成电子凭证;

同步单元87,用于根据所述用户身份标识将对应的电子凭证同步至所述服务器,以便所述服务器将所述电子凭证发送至所述客户端;

接收单元88,用于接收所述服务器发送的获取电子凭证的请求信息;

发送单元89,用于将电子凭证发送至所述服务器,所述获取电子凭证的请求信息中包含所述用户身份标识。

进一步的,如图13所示,所述第二验证单元83包括:

获取模块831,用于获取所述二维码中包含的用户公钥;

第一验签模块832,用于根据所述获取模块获取的所述用户公钥及所述电子凭证对所述客户端签名信息验签;

接收模块833,用于接收所述服务器广播的服务器私钥所对应的服务器公钥;

存储模块834,用于存储所述接收模块接收的所述服务器公钥;

第二验证模块835,用于根据所述存储模块存储的所述服务器公钥、客户端公钥及所述电子凭证,对所述服务器签名信息进行验证。

进一步的,如图13所示,所述凭证验证端还包括:

第二获取单元810,用于在所述确定单元85确定所述电子凭证验证成功之前,获取所述二维码中包含的用户身份标识;

第四验证单元811,用于对所述第二获取单元810获取的所述用户身份标识进行验证;

所述确定单元85,还用于当所述第四验证单元811确定所述用户身份标识验证成功时,确定所述电子凭证验证成功。

进一步的,如图14所示,本发明实施例还提供一种二维码的处理系统,如图14所示,所述系统包括:

客户端91,用于向服务器92发送获取电子凭证请求,所述获取电子凭证请求中包含用户身份标识;

所述服务器92,用于接收所述客户端91发送的获取电子凭证请求,并根据所述用户身份标识向凭证验证端93获取电子凭证;

凭证验证端93,用于接收并响应所述服务器92发送的获取电子凭证的请求信息,将所述电子凭证发送至所述服务器92;

所述服务器92,还用于接收所述凭证验证端93发送的所述电子凭证,所述电子凭证以及客户端91的用户公钥进行签名,得到服务器92签名信息,将所述服务器92签名信息及所述电子凭证发送至所述客户端91;

所述客户端91,用于接收服务器92发送的服务器92签名信息及电子凭证,对所述服务器92签名信息进行验签,得到电子凭证,并获取与所述用户公钥对应的用户密钥,使用所述用户密钥对所述电子凭证进行签名,得到客户端91签名信息,根据预置安全信息、所述客户端91签名信息、所述服务器92签名信息、所述电子凭证及所述用户公钥生成二维码;

所述凭证验证端93,用于获取所述客户端91中的二维码,对所述预置安全信息的有效时长进行验证,以及对所述客户端91签名信息及所述服务器92签名信息进行验证,若所述预置安全信息、所述客户端91签名信息及所述服务器92签名信息均验证成功,则获取电子凭证中包含的业务有效时间进行验证,若所述电子凭证中包含的业务有效时间验证成功,则确定所述电子凭证验证成功。

本发明提供的服务器、客户端、凭证验证端及二维码的处理系统,服务器在接收客户端发送的获取电子凭证请求后,并使用服务器私钥对所述电子凭证以及客户端的用户公钥进行签名,得到服务器签名信息;将所述服务器签名信息及所述电子凭证发送至所述客户端;客户端接收服务器发送的服务器的签名信息及电子凭证,客户端对服务器签名信息进行验签,验签成功后,对电子凭证进行客户端签名,并根据预置安全信息、所述客户端签名信息、所述服务器签名信息、所述电子凭证及所述用户公钥生成二维码;凭证验证端获取到二维码后,通过验证二维码中服务器签名信息、客户端签名信息及预置安全信息,可确定电子凭证在传输过程中是否篡改,确保电子凭证在使用过程中的安全性。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称(如确定网站内链接等级的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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