电子发票的生成方法及生成装置与流程

文档序号:11231718阅读:2657来源:国知局
电子发票的生成方法及生成装置与流程

本发明涉及互联网技术领域,具体涉及电子发票的生成方法及生成装置。



背景技术:

随着营改增和电子发票等政策的不断成熟,目前已经开始推进增值税电子发票业务,以满足企业不同场景下的开票需求,并在安全可靠的前提下,充分利用二维码等技术进行电子发票的开具、交付和查询。

二维码开票方式将会作为主要的一种开票方式,但是,二维码信息可能会遭到恶意篡改和伪造,进而会导致生成的电子发票数据遭到篡改和伪造。

因此,需要一种新的电子发票的生成方案来保证电子发票的数据安全。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本发明提出一种新的电子发票的生成方法及生成装置,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。

本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。

根据本发明的第一方面,提出了一种电子发票的生成方法,包括以下步骤:

电子发票的开票终端与用于安全认证的硬件设备进行绑定;

向所述硬件设备发送电子发票的开票信息,以使所述硬件设备对所述开票信息进行加密,得到密文;

接收所述硬件设备发送的所述密文;

基于所述密文生成网络链接,所述网络链接用于向服务器发送包含所述密文的开票请求,以使所述服务器对所述密文进行解密得到所述开票信息,并基于所述开票信息生成电子发票。

在本发明的一些实施例中,基于前述方案,所述电子发票的开票终端与用于进行安全认证的硬件设备进行绑定,包括:

所述开票终端通过所述硬件设备的硬件接口获取所述硬件设备中存储的数字证书及信任链;

所述开票终端与所述数字证书及信任链进行绑定,以与所述硬件设备进行绑定。

在本发明的一些实施例中,基于前述方案,所述电子发票的生成方法还包括:

在启动开票服务时,生成第一随机数;

将所述第一随机数发送至所述硬件设备,以使所述硬件设备基于所述硬件设备中的数字证书对所述第一随机数进行签名,得到签名结果;

根据与所述开票终端绑定的数字证书对所述签名结果进行验证;

在对所述签名结果验证通过之后,向所述硬件设备发送所述开票信息。

在本发明的一些实施例中,基于前述方案,在所述硬件设备根据随机生成的第二随机数对所述开票信息进行加密的情况下,还包括:

接收所述硬件设备发送的所述第二随机数,其中,所述开票请求中还包含所述第二随机数。

在本发明的一些实施例中,基于前述方案,所述网络链接包括二维码链接。

根据本发明的第二方面,还提出了一种电子发票的生成方法,包括以下步骤:

用于安全认证的硬件设备与电子发票的开票终端进行绑定;

接收所述开票终端发送的电子发票的开票信息;

对所述开票信息进行加密,得到密文;

将所述密文发送至所述开票终端,以供所述开票终端基于所述密文生成向服务器发送开票请求的网络链接。

在本发明的一些实施例中,基于前述方案,所述硬件设备中存储有用于进行开票认证的数字证书及信任链,所述硬件设备与所述开票终端进行绑定,包括:

将所述数字证书及信任链发送至所述开票终端,以使所述开票终端与所述数字证书及信任链进行绑定。

在本发明的一些实施例中,基于前述方案,所述电子发票的生成方法还包括:

接收所述开票终端发送的第一随机数;

基于所述硬件设备中存储的数字证书对所述第一随机数进行签名,得到签名结果;

将所述签名结果发送至所述开票终端,以使所述开票终端对所述硬件设备的身份进行认证。

在本发明的一些实施例中,基于前述方案,所述电子发票的生成方法还包括:存储来自所述服务器的共享密钥;

对所述开票信息进行加密,包括:

基于所述数字证书对所述开票信息进行签名,得到签名值;

生成第二随机数,根据所述第二随机数与所述共享密钥生成临时会话密钥;

通过所述临时会话密钥对所述开票信息和所述签名值进行加密,得到所述密文。

在本发明的一些实施例中,基于前述方案,所述电子发票的生成方法还包括:将所述第二随机数发送至所述开票终端。

在本发明的一些实施例中,基于前述方案,在所述服务器通过所述数字证书对所述共享密钥进行加密的情况下,还包括:

基于所述数字证书进行解密,以获得所述共享密钥。

根据本发明的第三方面,还提出了一种电子发票的生成方法,包括以下步骤:

服务器接收电子发票的开票请求,所述开票请求中包含有用于安全认证的硬件设备对电子发票的开票信息进行加密后得到的密文;

对所述密文进行解密,得到所述开票信息;

基于所述开票信息生成电子发票。

在本发明的一些实施例中,基于前述方案,所述电子发票的生成方法还包括:

生成共享密钥;

将所述共享密钥存储至所述硬件设备,以使所述硬件设备基于所述共享密钥对所述开票信息进行加密。

在本发明的一些实施例中,基于前述方案,所述服务器中存储有用于进行开票认证的数字证书,所述电子发票的生成方法还包括:

基于所述数字证书对所述共享密钥进行加密后导入所述硬件设备。

在本发明的一些实施例中,基于前述方案,所述服务器中存储有用于进行开票认证的数字证书,所述开票请求中还包含有所述硬件设备生成的第二随机数,对所述密文进行解密包括:

根据所述第二随机数与所述共享密钥生成临时会话密钥;

基于所述临时会话密钥对所述密文进行解密,得到所述开票信息和所述开票信息的签名值;

根据所述数字证书对所述签名值进行验证;

在对所述签名值验证通过之后,确定得到所述开票信息。

根据本发明的第四方面,还提出了一种电子发票的生成装置,包括:

绑定单元,将电子发票的开票终端与用于安全认证的硬件设备进行绑定;

发送单元,用于向所述硬件设备发送电子发票的开票信息,以使所述硬件设备对所述开票信息进行加密,得到密文;

接收单元,用于接收所述硬件设备发送的所述密文;

处理单元,用于基于所述密文生成网络链接,所述网络链接用于向服务器发送包含所述密文的开票请求,以使所述服务器对所述密文进行解密得到所述开票信息,并基于所述开票信息生成电子发票。

在本发明的一些实施例中,基于前述方案,所述绑定单元配置为:

通过所述硬件设备的硬件接口获取所述硬件设备中存储的数字证书及信任链,将所述开票终端与所述数字证书及信任链进行绑定,以将所述开票终端与所述硬件设备进行绑定。

在本发明的一些实施例中,基于前述方案,所述的电子发票的生成装置还包括:生成单元和验证单元;

其中,所述生成单元用于,在启动开票服务时,生成第一随机数;

所述发送单元还用于:将所述第一随机数发送至所述硬件设备,以使所述硬件设备基于所述硬件设备中的数字证书对所述第一随机数进行签名,得到签名结果;

所述验证单元用于,根据与所述开票终端绑定的数字证书对所述签名结果进行验证;

所述发送单元配置为:在对所述签名结果验证通过之后,向所述硬件设备发送所述开票信息。

在本发明的一些实施例中,基于前述方案,在所述硬件设备根据随机生成的第二随机数对所述开票信息进行加密的情况下,所述接收单元还用于:

接收所述硬件设备发送的所述第二随机数,其中,所述开票请求中还包含所述第二随机数。

在本发明的一些实施例中,基于前述方案,所述网络链接包括二维码链接。

根据本发明的第五方面,还提出了一种电子发票的生成装置,包括:

绑定单元,将用于安全认证的硬件设备与电子发票的开票终端进行绑定;

接收单元,用于接收所述开票终端发送的电子发票的开票信息;

处理单元,用于对所述开票信息进行加密,得到密文;

发送单元,用于将所述密文发送至所述开票终端,以供所述开票终端基于所述密文生成向服务器发送开票请求的网络链接。

在本发明的一些实施例中,基于前述方案,所述硬件设备中存储有用于进行开票认证的数字证书及信任链,所述绑定单元配置为:

将所述数字证书及信任链发送至所述开票终端,以使所述开票终端与所述数字证书及信任链进行绑定。

在本发明的一些实施例中,基于前述方案,所述接收单元还用于,接收所述开票终端发送的第一随机数;所述处理单元还用于,基于所述硬件设备中存储的数字证书对所述第一随机数进行签名,得到签名结果;所述发送单元还用于,将所述签名结果发送至所述开票终端,以使所述开票终端对所述硬件设备的身份进行认证。

在本发明的一些实施例中,基于前述方案,所述电子发票的生成装置还包括:存储单元,用于存储来自所述服务器的共享密钥;

所述处理单元配置为:

基于所述数字证书对所述开票信息进行签名,得到签名值;

生成第二随机数,根据所述第二随机数与所述共享密钥生成临时会话密钥;

通过所述临时会话密钥对所述开票信息和所述签名值进行加密,得到所述密文。

在本发明的一些实施例中,基于前述方案,所述发送单元还用于:将所述第二随机数发送至所述开票终端。

在本发明的一些实施例中,基于前述方案,所述存储单元配置为:

在所述服务器通过所述数字证书对所述共享密钥进行加密的情况下,基于所述数字证书进行解密,以获得所述共享密钥。

根据本发明的第六方面,还提出了一种电子发票的生成装置,包括:

接收单元,用于接收电子发票的开票请求,所述开票请求中包含有用于安全认证的硬件设备对电子发票的开票信息进行加密后得到的密文;

解密单元,用于对所述密文进行解密,得到所述开票信息;

处理单元,用于基于所述开票信息生成电子发票。

在本发明的一些实施例中,基于前述方案,所述电子发票的生成装置还包括:生成单元,用于生成共享密钥,并将所述共享密钥存储至所述硬件设备,以使所述硬件设备基于所述共享密钥对所述开票信息进行加密。

在本发明的一些实施例中,基于前述方案,所述服务器中存储有用于进行开票认证的数字证书,所述生成单元配置为:基于所述数字证书对所述共享密钥进行加密后导入所述硬件设备。

在本发明的一些实施例中,基于前述方案,所述服务器中存储有用于进行开票认证的数字证书,所述开票请求中还包含有所述硬件设备生成的第二随机数,所述解密单元配置为:

根据所述第二随机数与所述共享密钥生成临时会话密钥;

基于所述临时会话密钥对所述密文进行解密,得到所述开票信息和所述开票信息的签名值;

根据所述数字证书对所述签名值进行验证;

在对所述签名值验证通过之后,确定得到所述开票信息。

在本发明的的一些实施例所提供的技术方案中,由于是通过用于安全认证的硬件设备来对开票信息进行加密,因此加密算法能够在硬件内执行,进而可以有效避免开票信息遭到恶意篡改和伪造的问题。而通过由开票终端、用于安全认证的硬件设备和服务器共同配合,并根据数字证书来实现电子发票的开具,可以有效保证电子发票的数据安全,有利于增值税电子发票业务的进一步推广。

附图说明

图1示意性示出了根据本发明的第一个实施例的电子发票的生成方法的流程图;

图2示意性示出了根据本发明的第一个实施例的电子发票的生成装置的框图;

图3示意性示出了根据本发明的第二个实施例的电子发票的生成方法的流程图;

图4示意性示出了根据本发明的第二个实施例的电子发票的生成装置的框图;

图5示意性示出了根据本发明的第三个实施例的电子发票的生成方法的流程图;

图6示意性示出了根据本发明的第三个实施例的电子发票的生成装置的框图;

图7示意性示出了根据本发明的实施例的ukey的内部组成示意图;

图8示意性示出了根据本发明的第四个实施例的电子发票的生成方法的基本流程图;

图9示意性示出了图8所示的电子发票的生成方法的具体流程图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

以下分别从电子发票的开票终端、用于安全认证的硬件设备和服务器三方面来阐述本发明实施例的技术方案:

电子发票的开票终端

图1示意性示出了根据本发明的第一个实施例的电子发票的生成方法的流程图,该生成方法的执行主体是电子发票的开票终端。

参照图1,根据本发明的第一个实施例的电子发票的生成方法,包括:

步骤s102,电子发票的开票终端与用于安全认证的硬件设备进行绑定。

在本发明的实施例中,电子发票是纸质发票的电子映像和电子记录,不需要纸质载体,无需经过传统纸质发票的印制环节。电子发票的开票终端可以是计算机、智能手机、平板电脑等设备,其能够与用于安全认证的硬件设备和服务器进行通信。用于安全认证的硬件设备是基于硬件加密的设备,比如可以是ukey。

根据本发明的示例性实施例,步骤s102具体包括:所述开票终端通过所述硬件设备的硬件接口获取所述硬件设备中存储的数字证书及信任链;所述开票终端与所述数字证书及信任链进行绑定,以与所述硬件设备进行绑定。

在本发明的实施例中,数字证书是经证书授权中心(certificateauthority,ca)数字签名的包含公开密钥拥有者信息以及公开密钥的文件;信任链用于记录可信任的数字证书之间的关系。由于开票终端与该硬件设备之间直接通过硬件接口来实现数字证书及信任链的获取,因此可以有效避免数字证书及信任链遭到恶意篡改的问题。

步骤s104,向所述硬件设备发送电子发票的开票信息,以使所述硬件设备对所述开票信息进行加密,得到密文。

在本发明的实施例中,电子发票的开票信息包括在开具发票时需要用到的信息,比如购买方名称、销售方名称、销售方纳税人识别号、商品名称、数量、单价、金额、税率、税额等当上述硬件设备与开票终端通过硬件接口(如usb接口)连接时,开票终端可以通过二者之间的连接接口将开票信息发送至该硬件设备。

步骤s106,接收所述硬件设备发送的所述密文。

步骤s108,基于所述密文生成网络链接,所述网络链接用于向服务器发送包含所述密文的开票请求,以使所述服务器对所述密文进行解密得到所述开票信息,并基于所述开票信息生成电子发票。

在本发明的实施例中,网络链接优选可以是二维码链接,这样当用户通过移动设备(如智能手机)扫描相应的二维码时,能够链接到服务器,以获取服务器生成的电子发票。当然,网络链接也可以是http地址,用户通过点击该http地址来链接到服务器获取相应的电子发票。此外,网络链接也可以是以其它形式实现的。

基于图1中所示的方案,在本发明的一些实施例中,所述电子发票的生成方法还包括:

在启动开票服务时,生成第一随机数;

将所述第一随机数发送至所述硬件设备,以使所述硬件设备基于所述硬件设备中的数字证书对所述第一随机数进行签名,得到签名结果;

根据与所述开票终端绑定的数字证书对所述签名结果进行验证;

在对所述签名结果验证通过之后,向所述硬件设备发送所述开票信息。

该实施例的技术方案可以在开票终端向硬件设备发送开票信息之前,对该硬件设备进行验证,以避免硬件设备非法而导致开票信息遭到恶意篡改的问题。

在本发明的一些实施例中,基于前述方案,在所述硬件设备根据随机生成的第二随机数对所述开票信息进行加密的情况下,还包括:接收所述硬件设备发送的所述第二随机数,其中,所述开票请求中还包含所述第二随机数。

在该实施例中,若硬件设备根据随机生成的第二随机数来对开票信息进行加密,则为了保证服务器能够对加密得到的密文进行解密,硬件设备需要将第二随机数发送至开票终端,并且开票终端在生成上述的网络链接时,也需要考虑到第二随机数,即需要保证上述网络链接触发时,能够通过开票请求将第二随机数发送至服务器。

图2示意性示出了根据本发明的第一个实施例的电子发票的生成装置的框图。

如图2所示,根据本发明的第一个实施例的电子发票的生成装置200,包括:绑定单元202、发送单元204、接收单元206和处理单元208。

具体地,绑定单元202将电子发票的开票终端与用于安全认证的硬件设备进行绑定;发送单元204用于向所述硬件设备发送电子发票的开票信息,以使所述硬件设备对所述开票信息进行加密,得到密文;接收单元206用于接收所述硬件设备发送的所述密文;处理单元208用于基于所述密文生成网络链接,所述网络链接用于向服务器发送包含所述密文的开票请求,以使所述服务器对所述密文进行解密得到所述开票信息,并基于所述开票信息生成电子发票。

根据本发明的示例性实施例,所述网络链接包括二维码链接。

在本发明的一些实施例中,基于前述方案,所述绑定单元202配置为:通过所述硬件设备的硬件接口获取所述硬件设备中存储的数字证书及信任链,将所述开票终端与所述数字证书及信任链进行绑定,以将所述开票终端与所述硬件设备进行绑定。

在本发明的一些实施例中,基于前述方案,所述的电子发票的生成装置还包括:生成单元(图2中未示出)和验证单元(图2中未示出);

其中,所述生成单元用于,在启动开票服务时,生成第一随机数;所述发送单元204还用于:将所述第一随机数发送至所述硬件设备,以使所述硬件设备基于所述硬件设备中的数字证书对所述第一随机数进行签名,得到签名结果;所述验证单元用于,根据与所述开票终端绑定的数字证书对所述签名结果进行验证;所述发送单元204配置为:在对所述签名结果验证通过之后,向所述硬件设备发送所述开票信息。

在本发明的一些实施例中,基于前述方案,在所述硬件设备根据随机生成的第二随机数对所述开票信息进行加密的情况下,所述接收单元206还用于:接收所述硬件设备发送的所述第二随机数,其中,所述开票请求中还包含所述第二随机数。

需要说明的是,图2中所示的电子发票的生成装置200可以应用于电子发票的开票终端,即根据本发明实施例的电子发票的开票终端包括该电子发票的生成装置200。

用于安全认证的硬件设备

图3示意性示出了根据本发明的第二个实施例的电子发票的生成方法的流程图,该生成方法的执行主体是用于安全认证的硬件设备。

如图3所示,根据本发明的第二个实施例的电子发票的生成方法,包括:

步骤s302,用于安全认证的硬件设备与电子发票的开票终端进行绑定。

在本发明的实施例中,电子发票的开票终端可以是计算机、智能手机、平板电脑等设备,其能够与用于安全认证的硬件设备和服务器进行通信。用于安全认证的硬件设备是基于硬件加密的设备,比如可以是ukey。

根据本发明的示例性实施例,所述硬件设备中存储有用于进行开票认证的数字证书及信任链,则步骤s302具体包括:将所述数字证书及信任链发送至所述开票终端,以使所述开票终端与所述数字证书及信任链进行绑定。

步骤s304,接收所述开票终端发送的电子发票的开票信息。

在本发明的实施例中,用于安全认证的硬件设备可以通过与开票终端之间的硬件接口来接收开票信息,以避免开票信息遭到篡改。

步骤s306,对所述开票信息进行加密,得到密文。

在本发明的实施例中,用于安全认证的硬件设备是在其内部对开票信息进行加密的,即是采用硬件加密的方式来对开票信息进行加密,保证开票信息的数据安全性。

步骤s308,将所述密文发送至所述开票终端,以供所述开票终端基于所述密文生成向服务器发送开票请求的网络链接。

基于图3所示的电子发票的生成方法,在本发明的一些实施例中,所述电子发票的生成方法还包括:

接收所述开票终端发送的第一随机数;

基于所述硬件设备中存储的数字证书对所述第一随机数进行签名,得到签名结果;

将所述签名结果发送至所述开票终端,以使所述开票终端对所述硬件设备的身份进行认证。

该实施例的技术方案可以使开票终端对硬件设备的身份进行验证,以避免硬件设备非法而导致开票信息遭到恶意篡改的问题。

根据本发明的示例性实施例,若用于安全认证的硬件设备存储有来自服务器的共享密钥,则上述步骤s306具体包括:

基于所述数字证书对所述开票信息进行签名,得到签名值;

生成第二随机数,根据所述第二随机数与所述共享密钥生成临时会话密钥;

通过所述临时会话密钥对所述开票信息和所述签名值进行加密,得到所述密文。

需要说明的是,上述服务器可以通过硬件接口将共享密钥导入用于安全认证的硬件设备,并由该硬件设备进行存储。通过生成第二随机数,并根据第二随机数和共享密钥生成临时会话密钥,以通过临时会话密钥对开票信息和签名值进行加密,使得可以避免采用固定的密钥来对开票信息和签名值进行加密而导致开票信息和签名值遭到恶意窃取并篡改的问题。

在本发明的一些实施例中,基于前述方案,所述电子发票的生成方法还包括:将所述第二随机数发送至所述开票终端。

在该实施例中,通过将第二随机数发送至开票终端,使得开票终端在生成上述的网络链接时,能够考虑到第二随机数,即保证上述网络链接触发时,能够通过开票请求将第二随机数发送至服务器,由服务器根据第二随机数来运算生成临时会话密钥,以进行解密处理。

在本发明的一些实施例中,基于前述方案,在所述服务器通过所述数字证书对所述共享密钥进行加密的情况下,还包括:基于所述数字证书进行解密,以获得所述共享密钥。

图4示意性示出了根据本发明的第二个实施例的电子发票的生成装置的框图。

如图4所示,根据本发明的第二个实施例的电子发票的生成装置400,包括:绑定单元402、接收单元404、处理单元406和发送单元408。

具体地,绑定单元402将用于安全认证的硬件设备与电子发票的开票终端进行绑定;接收单元404用于接收所述开票终端发送的电子发票的开票信息;处理单元406用于对所述开票信息进行加密,得到密文;发送单元408用于将所述密文发送至所述开票终端,以供所述开票终端基于所述密文生成向服务器发送开票请求的网络链接。

在本发明的一些实施例中,基于前述方案,所述硬件设备中存储有用于进行开票认证的数字证书及信任链,所述绑定单元402配置为:将所述数字证书及信任链发送至所述开票终端,以使所述开票终端与所述数字证书及信任链进行绑定。

在本发明的一些实施例中,基于前述方案,所述接收单元404还用于,接收所述开票终端发送的第一随机数;所述处理单元406还用于,基于所述硬件设备中存储的数字证书对所述第一随机数进行签名,得到签名结果;所述发送单元408还用于,将所述签名结果发送至所述开票终端,以使所述开票终端对所述硬件设备的身份进行认证。

在本发明的一些实施例中,基于前述方案,所述电子发票的生成装置还包括:存储单元(图4中未示出),用于存储来自所述服务器的共享密钥;

所述处理单元406配置为:

基于所述数字证书对所述开票信息进行签名,得到签名值;

生成第二随机数,根据所述第二随机数与所述共享密钥生成临时会话密钥;

通过所述临时会话密钥对所述开票信息和所述签名值进行加密,得到所述密文。

在本发明的一些实施例中,基于前述方案,所述发送单元408还用于:将所述第二随机数发送至所述开票终端。

在本发明的一些实施例中,基于前述方案,所述存储单元配置为:在所述服务器通过所述数字证书对所述共享密钥进行加密的情况下,基于所述数字证书进行解密,以获得所述共享密钥。

需要说明的是,图4中所示的电子发票的生成装置400可以应用于用于安全认证的硬件设备,即根据本发明实施例的用于安全认证的硬件设备包括该电子发票的生成装置400。

服务器

图5示意性示出了根据本发明的第三个实施例的电子发票的生成方法的流程图,该生成方法的执行主体是服务器。

参照图5,根据本发明的第三个实施例的电子发票的生成方法,包括:

步骤s502,服务器接收电子发票的开票请求,所述开票请求中包含有用于安全认证的硬件设备对电子发票的开票信息进行加密后得到的密文。

根据本发明的实施例,该开票请求是由用户触发上述实施例(开票终端的实施例和用于安全认证的硬件设备的实施例)中的网络链接之后发送的。比如上述网络链接是通过二维码来表现的,则用户通过手机扫描该二维码之后,会向服务器发送开票请求。

步骤s504,对所述密文进行解密,得到所述开票信息。

步骤s506,基于所述开票信息生成电子发票。

在本发明的一些实施例中,基于前述方案,所述电子发票的生成方法还包括:生成共享密钥;将所述共享密钥存储至所述硬件设备,以使所述硬件设备基于所述共享密钥对所述开票信息进行加密。

在本发明的实施例中,服务器可以通过与该硬件设备之间的硬件接口将共享密钥存储至该硬件设备中,避免共享密钥遭到窃取。

在本发明的一些实施例中,基于前述方案,所述服务器中存储有用于进行开票认证的数字证书,所述电子发票的生成方法还包括:基于所述数字证书对所述共享密钥进行加密后导入所述硬件设备。

在该实施例中,由于硬件设备中存储有数字证书(该数字证书来自于服务器),因此当通过数字证书对共享密钥加密并导入硬件设备中之后,硬件设备能够根据存储的数字证书来获取该共享密钥。

在本发明的一些实施例中,基于前述方案,所述服务器中存储有用于进行开票认证的数字证书,所述开票请求中还包含有所述硬件设备生成的第二随机数,对所述密文进行解密包括:

根据所述第二随机数与所述共享密钥生成临时会话密钥;

基于所述临时会话密钥对所述密文进行解密,得到所述开票信息和所述开票信息的签名值;

根据所述数字证书对所述签名值进行验证;

在对所述签名值验证通过之后,确定得到所述开票信息。

图6示意性示出了根据本发明的第三个实施例的电子发票的生成装置的框图。

如图6所示,根据本发明的第三个实施例的电子发票的生成装置600,包括:接收单元602、解密单元604和处理单元606。

具体地,接收单元602用于接收电子发票的开票请求,所述开票请求中包含有用于安全认证的硬件设备对电子发票的开票信息进行加密后得到的密文;解密单元604用于对所述密文进行解密,得到所述开票信息;处理单元606用于基于所述开票信息生成电子发票。

在本发明的一些实施例中,基于前述方案,电子发票的生成装置600还包括:生成单元(图6中未示出),用于生成共享密钥,并将所述共享密钥存储至所述硬件设备,以使所述硬件设备基于所述共享密钥对所述开票信息进行加密。

在本发明的一些实施例中,基于前述方案,所述服务器中存储有用于进行开票认证的数字证书,所述生成单元配置为:基于所述数字证书对所述共享密钥进行加密后导入所述硬件设备。

在本发明的一些实施例中,基于前述方案,所述服务器中存储有用于进行开票认证的数字证书,所述开票请求中还包含有所述硬件设备生成的第二随机数,所述解密单元604配置为:

根据所述第二随机数与所述共享密钥生成临时会话密钥;

基于所述临时会话密钥对所述密文进行解密,得到所述开票信息和所述开票信息的签名值;

根据所述数字证书对所述签名值进行验证;

在对所述签名值验证通过之后,确定得到所述开票信息。

需要说明的是,图6中所示的电子发票的生成装置600可以应用于服务器,即根据本发明实施例的服务器包括该电子发票的生成装置600。

以下结合图7至图9以上述的用于安全认证的硬件设备为ukey、网络链接的表现形式为二维码、上述的开票终端为开票客户端、上述的服务器为签名验签服务器为例对本发明实施例的技术方案作进一步说明。

在该实施例中,采用ukey作为安全认证的硬件载体,ukey的内部组成示意图如图7所示,其安全存储数字证书及共享密钥。数字证书用来进行身份认证及数字签名,共享密钥用来保护传输数据及标识用户身份。所有密钥及密码运算均在硬件内执行,同时可将用户密钥设置为不可导出。

发票后台采用签名验签服务器作为硬件载体,安全存储共享密钥,并进行密码运算,同样保障密钥及密码运算在硬件内执行。

在使用ukey时,先使用数字证书验证ukey的身份,验证通过后方可使用。在生成二维码前,使用共享密钥对开票信息进行加密,数字证书对开票信息进行签名。发票后台接收到开票请求后,使用签名验签服务器解密原文,并验证签名。

如图8所示为本发明实施例的电子发票的生成方法的基本流程图,具体包括:根据门店信息生成并发放数字证书,安全存储于ukey中;共享密钥发行;开票终端绑定ukey;开票终端认证ukey;加密开票信息,生成二维码;发送开票请求;解密二维码;生成并下发电子发票给用户。以下结合图9对该流程进行详细说明:

如图9所示,本发明实施例的电子发票的生成方法的具体流程,包括如下几个过程:

1、初始发行

(1)数字证书发行

发行平台将具体信息(包括售货门店信息等)提交ca公司,ca公司发放数字证书和信任链,并存储在ukey中,同时将该数字证书存储在发行平台中的签名验签服务器中。

其中,该硬件ukey具有唯一性、只读性、加密、防篡改、防复制性的特性,ukey中存储的数字证书是唯一的,并且在内部经过加密存储、不可导出、不可修改。

(2)共享密钥发行

签名验签服务器随机生成aes-256对称密钥(即共享密钥),并安全存储。同时,使用数字证书对其进行加密导入ukey中,整个过程均在硬件中进行,保证密钥不出硬件。

(3)开票客户端发行

二维码开票客户端(图9中示出了开票客户端的二维码组件,并未示出开票客户端)初始化发行时,调用ukey接口获取该ukey中的数字证书信息及信任链,并将所获得数据与开票客户端绑定,从而该开票客户端与该ukey绑定。

2、终端认证

启动二维码开票服务时,二维码组件首先生成随机数,由ukey对该随机数及其他认证信息进行签名。之后,二维码组件根据发行时绑定的用户信息验证用户ukey中数字证书有效性及ukey对随机数的签名,验证通过后,方可启动二维码开票服务。

3、二维码生成与开票请求

开启服务之后,二维码开票服务向ukey传入开票信息,ukey首先用数字证书对开票信息生成签名值;然后在ukey中产生随机数,并与共享密钥进行mac运算,计算出临时会话密钥,用临时会话密钥对开票信息与签名值进行加密,并将密文及随机数返回给二维码开票服务。

二维码开票服务将密文、随机数、实体信息(如开票客户端信息等)、服务地址(如售货门店信息等)等信息打包生成二维码。优选地,可以直接在消费小票中打印出该二维码。

4)二维码解密与发票生成

用户通过用户终端扫描二维码之后,会发起开票请求,发行平台接受到开票请求后,调用签名验签服务器;签名验签服务器找到对应的共享密钥,与随机数进行mac运算得到临时会话密钥;使用临时会话密钥解密密文得到开票信息及签名,使用实体证书及签名值验证开票信息的真实性、完整性。验证通过后,平台保存开票信息及签名值,并生成电子发票。其中,电子发票可以是pdf格式的。在生成电子发票之后,可以通过微信、彩信、邮件等方式推送给用户。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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