提高电子发票系统安全性的方法与流程

文档序号:11691452阅读:564来源:国知局
提高电子发票系统安全性的方法与流程

本发明涉及一种电子发票业务管理技术领域,具体涉及一种提高电子发票系统安全性的方法。



背景技术:

电子发票在国家税务总局2013年《网络发票管理办法》中明确,其发行和实施的意义不言而喻。电子发票大幅节省企业在发票上的成本,节约印制成本和管理成本。电子发票使用上更加方便,为消费者提供更加方便的服务。同时减少纸质发票的资源浪费,符合社会未来发展方向。

电子发票系统中由于涉及的数据极为重要、敏感,必须确定电子发票数据发送方的身份,来保证税务的相关信息管理。并且要保证数据传输过程中数据的安全性,保证数据的完整性、可靠性及可读性。



技术实现要素:

本发明要解决的技术问题是提供一种提高电子发票系统安全性的方法,该方法能够确定电子发票数据发送方的身份,并且保证数据传输过程中数据的安全性、完整性和可靠性。

为了解决所述技术问题,本发明采用的技术方案是:一种提高电子发票系统安全性的方法,包括以下步骤:s01、设置登录控制模块对登录用户进行身份标识和鉴别;s02、采用基于ca身份认证的方式确定电子发票数据的发送方的身份;s03、采用基于ip登录的jms设置确定电子发票的身份认证以及数据安全;s04、采用xml数字签名方式保证电子发票生成过程中的安全性、保密性及不可抵赖行,xml文件签名时使用哈希单向函数进行处理保证文件内容永久性的完整性,在签名方对xml文件进行xml签名时,使用签名方的私钥对xml文件的数据进行非对称加密,使用签名方公钥可以解密验证,并且使签名方的私钥在签名方是不公开的。

本发明所述提高电子发票系统安全性的方法,在xml签名应用中,使用xml文档的方式表现数字签名或者对xml文档进行部分签名。

本发明所述提高电子发票系统安全性的方法,xml可以对基于二进制流的数据或者基于字符编码的数据进行签名。

本发明所述提高电子发票系统安全性的方法,覆盖web应用的xml签名,根据数字签名和被签名对象之间的关系,分为嵌入式签名、封装式签名和分离式签名3种签名方式。

本发明所述提高电子发票系统安全性的方法,数字签名的流程为:用户登录电子发票系统,电子发票系统返回密码信息;然后用户将密码写入u-key,u-key向电子发票系统认证此密码信息;认证成功后,电子发票系统向税务局系统请求用户信息,税务局系统返回用户信息至电子发票系统,电子发票系统进行信息核实;用户向电子发票系统发生电子订单,电子发票系统返回电子发票至用户;用户将接手的电子发票传输至u-key进行确定,u-key确认无误后进行数据加密,然后返回至u-key,u-key对加密后的电子发票进行数字签名,并发送至电子发票系统。

本发明所述提高电子发票系统安全性的方法,jms消息模型提供一个单独的、统一的消息api,并且提供一套api用于匹配已有的、非jms应用所使用的消息格式。

本发明所述提高电子发票系统安全性的方法,jms在发送消息的同时加载导入的时间,允许服务器调用不同情况下电子发票生成信息请求的标准。

本发明的有益效果:本发明所述提高电子发票系统安全性的方法采用基于ca身份认证用来确定电子发票数据发送方的身份,保证信息管理的安全性。采用基于ip登录的jms设置不仅保证了用户的身份认证,jms的消息处理机制对于同步和异步的处理方式都有很好的选择性,能够快速的在生成电子发票的同时保证电子发票的身份认证以及数据安全等信息,并且jms的信息架构可以适应不同硬件平台、不同网络环境、不同数据库之间的互操作。采用xml数字签名,解决了传统数字签名粒度太大,只能以文档为单位,不支持对电子文档的批复和多重签名、以及对文档特定部分的签名的问题。

附图说明

图1为数字签名过程中数据发送的示意图;

图2为数字签名过程中数据接收的示意图;

图3为电子发票系统中数字签名的流程图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步的说明。

一种提高电子发票系统安全性的方法,包括以下步骤:s01、设置登录控制模块对登录用户进行身份标识和鉴别;s02、采用基于ca身份认证的方式确定电子发票数据的发送方的身份;s03、采用基于ip登录的jms设置确定电子发票的身份认证以及数据安全;s04、采用xml数字签名方式保证电子发票生成过程中的安全性、保密性及不可抵赖行,xml文件签名时使用哈希单向函数进行处理保证文件内容永久性的完整性,在签名方对xml文件进行xml签名时,使用签名方的私钥对xml文件的数据进行非对称加密,使用签名方公钥可以解密验证,并且使签名方的私钥在签名方是不公开的。

电子发票系统必须有单独的登录控制模块对登录用户进行身份标识和鉴别,登录控制模块支持多种的身份认证方式,如ca证书方式,用户名密码方式和其它多因子认证方式。不同的用户访问的权限也不近相同。

电子发票系统中由于涉及的数据极为重要、敏感,必须确定电子发票数据的发送方的身份,来保证税务的相关信息管理。现实社会中用于确认身份的《居民身份证》是由公安机关签发的,公安机关是大家都信得过的一个权威机构。网络环境中,也需要有一个大家都信任的权威机构来签发电子签名认证证书,这个权威机构就是《电子签名法》中所说的电子签名认证服务提供者,我们称之为ca(certificateauthority),其主要作用就是对申请者发放、管理、取消电子签名认证证书(数字证书)。习惯上也可以把ca称作ca中心、ca认证中心等。

电子签名认证证书是指可证实电子签名人与电子签名制作数据有唯一关联的数据信息或者其他电子记录,在网络环境中相当于现实社会中人们持有一个可以确认自己身份的法定证件—《居民身份证》。为了简便起见,电子签名认证证书也可称为电子证书或数字证书。在实际使用环境中,电子证书的载体就是一个特殊的usb优盘,是一种具有运算功能的硬件存储介质——usb-key。usb-key中内置了智能芯片,并有专用安全区来保存电子签名制作数据,usb-key电子签名制作数据不能导出,因此备份的文件无法使用,其安全性高于浏览器证书,客户使用时需要安装usb-key驱动程序。

电子发票的生成系统中,允许订单批量生成电子发票,为了更好的实现此功能,引入基于ip的jms消息机制,固定的ip不仅保证了用户的身份认证,同时jms的消息处理机制对于同步和异步的处理方式都有很好的选择性,能够快速的在生成电子发票的同时保证电子发票的身份认证以及数据安全等信息。

同时,对于电子发票用户来说,各企业面临诸如不同硬件平台、不同网络环境、不同数据库之间的互操作,多种应用模式并存,系统效率过低,传输不可靠,数据加密和开发周期过长等等这些问题时,单纯依赖传统的系统软件或工具软件提供的功能已不能满足要求。因此网络计算环境中的异步、低耦合的编程架构—jms的应用就极为重要。

jms的消息模型不仅仅能够满足电子发票环境,还能满足消息传递过程中数据的控制因素:提供一个单独的、统一的消息api,同时提供一套api用于匹配已有的、非jms应用所使用的格式;支持跨操作系统、机器结构以及计算机语言的异构应用的开发;支持包含可扩展标记语言(xml)页面的消息。

jms消息传递过程中消息中包含用户的特定的ip地址以及用户登录所需要的账户名、密码等一些可以标示登陆者身份的消息信息,同时jms还可以在发送消息的同时加载导入的时间,允许服务器调用不同情况下电子发票生成信息请求的标准。不仅可以有效保证快速、有效的生成发票,还可以保证电子发票生成的可控制性。

数字签名可以保证电子发票生成过程中的安全性、保密性及不可抵赖性,并具备法律效力。其作用是集中了企业的营业执照和公章于一身。

数字签名有两个基本功能:一是用于识别签名人的身份,二是表明签名人对文件内容的认可。电子签名制作数据和电子签名验证数据是与电子签名有着密切联系的两个概念。电子签名制作数据,就是用于生成电子签名并将电子签名与电子签名人可靠地联系起来的字符、编码等数据。电子签名验证数据,就是用于验证电子签名的数据,包括代码、口令、算法或者公钥等。

如图1所示,使用数字签名进行数据发送时,信息发送者用其私匙对从所传报文中提取出的特征数据(或称数字指纹)进行rsa算法操作,以保证发信人无法抵赖曾发过该信息(即不可抵赖性),同时也确保信息报文在传递过程中未被篡改(即完整性)。当信息接收者收到报文后,就可以用发送者的公钥对数字签名进行验证。

如图2所示,使用数字签名数据接收时,数字信封中,信息发送方采用对称密钥来加密信息内容,然后将此对称密钥用接收方的公开密钥来加密(这部分称数字信封)之后,将它和加密后的信息一起发送给接收方,接收方先用相应的私有密钥打开数字信封,得到对称密钥,然后使用对称密钥解开加密信息。这种技术的安全性相当高。数字信封主要包括数字信封打包和数字信封拆解,数字信封打包是使用对方的公钥将加密密钥进行加密的过程,只有对方的私钥才能将加密后的数据(通信密钥)还原;数字信封拆解是使用私钥将加密过的数据解密的过程。

但是传统的数字签名技术的局限性是签名的粒度太大,只能以文档为单位。不支持对电子文档的批复和多重签名,以及对文档特定部分的签名.而且对应用软件过于依赖,通用性不好。而xml数字签名则很好的解决了这些问题,它利用自身结构化、可扩展性的特点,使用dom和xpath技术实现了在元素级别粒度上的数字签名,并且支持多重签名及文件的完整性。xml文件签名时是使用哈希单向函数进行处理,任何对xml文件的略微改动都会导致验证失败,所以攻击者无法对xml文件进行篡改,保证了xml文件内容永久性的完整性。在签名方对xml文件进行xml签名时,使用签名方的私钥对xml文件的数据进行非对称加密,使用签名方公钥可以解密验证。而签名方的私钥在签名方是不公开的,这样就能够提供消息确认和签字方确认服务,从后保证了签名方的不可否认性;在xml签名应用中,可以用xml文档的方式表现数字签名,可以对xml文档进行部分签名,从而能够实现对同一份xml文档的不同部分进行多种灵活的签名。

xml可以对多种不同类型的数据签名,这些数据类型包括基于二进制流的数据(一个png图片、语音或图像文件)、基于字符编码的数据(html文档和xml文档)。覆盖web应用的主要方面xml的签名方式是极其灵活的,根据数字签名和被签名对象之间的关系,xml可以分为3种签名方式:

嵌入式签名

数字签名元素位于被签名对象的内部,作为被签名xml文档的一个结点。被签名对象充当数字签名的信封。

封装式签名

被签名对象位于数字签名元素内部、数字签名充当被签名对象的信封、其中被签名对象时由一个reference来标示的。

分离式签名

被签名对象与数字签名彼此分离,不存在相互的包古关系。被签名对象既可以是本地的xml文件,也可以是网络上的二进制文件。被签名对象的位置必须通过uri唯一标示。

xml签名不仅能选择性的对文档内部的元素进行有效地、合理地进行加密处理,这不仅能够保证传输文件的安全性以及传输速率要求比较高的要求,同时还可以根据用户数据的机密性选择群签名以保证电子数据传输的安全性。

因此xml签名很好的可以利用到jms安全机制里面,实现数据的批量处理和用户身份认证等问题。

如图3所示,xml数字签名应用到电子发票系统的具体流程为:用户登录电子发票系统,电子发票系统返回密码信息;然后用户将密码写入u-key,u-key向电子发票系统认证此密码信息;认证成功后,电子发票系统向税务局系统请求用户信息,税务局系统返回用户信息至电子发票系统,电子发票系统进行信息核实;用户向电子发票系统发生电子订单,电子发票系统返回电子发票至用户;用户将接手的电子发票传输至u-key进行确定,u-key确认无误后进行数据加密,然后返回至u-key,u-key对加密后的电子发票进行数字签名,并发送至电子发票系统。

从上述的流程图中我们可以得知用户的身份认证得以确认,同时也保证数据传输过程中数据的不可修改性,为数据的安全性有极大的保证。但同时在数据传输的过程中,此种方法不可避免的使得系统的数据处理能力要求极为的严格,因此可能会在用户访问量交易比较大的时候会出现无法登陆的现象,因此会结合基于ip登陆的jms安全机制来控制数据流的高峰处理问题,保证服务器的流畅运行。

以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。

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