基于加密算法的电子发票开具方法、系统、设备及介质与流程

文档序号:37382694发布日期:2024-03-22 10:35阅读:44来源:国知局
基于加密算法的电子发票开具方法、系统、设备及介质与流程

本发明涉及数据存储,特别是涉及一种基于加密算法的电子发票开具方法、系统、设备及介质。


背景技术:

1、随着计算机技术的发展,现在大多数企业在进行商业业务交易时,通常选择开具电子发票来代替纸质发票。而开具电子发票需要使用专业的软件或网络平台,例如税务局网站、财务软件等,然后在这些软件或网络平台上输入商品或服务的详细信息,如名称、数量、单价等,以及销售方的信息,如公司名称、税号、联系方式等,最后开具生成电子发票。电子发票开具后,一般是存储在服务器上,当购买方有相应发票需求时,服务器可以通过多种方式将对应的电子发票发送给购买方。

2、而目前服务器将电子发票发送给购买方,通常是以明文形式进行发送,容易造成发票上的详细信息被不相关的人员采集,泄露企业在上下游的交易业务流转流程等商业秘密,影响企业的正常经营,同时也使得证书信息存在被泄露的风险。


技术实现思路

1、鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于加密算法的电子发票开具方法、系统、设备及介质,用于解决现有技术中存在的技术问题。

2、为实现上述目的及其他相关目的,本发明提供一种基于加密算法的电子发票开具方法,包括以下步骤:

3、基于发票开具方的证书信息以及发票接收方的证书信息,通过加密算法生成用于进行数据加密的公钥;

4、利用所述公钥对所述发票接收方提供的数据明文进行加密,得到数据密文;

5、按照所述发票开具方与所述发票接收方预先或实时建立的通信链路,将所述数据密文传输给所述发票开具方;

6、接收并响应所述发票开具方在电子发票开具软件上生成的发票开具请求,并对所述发票开具方进行权限认证,以及在所述发票开具方通过权限认证后,向所述发票开具方提供发票开具页面;以及在所述发票开具页面上的确认指令被触发后,基于所述发票开具页面中填充的发票数据生成电子发票;以及,

7、利用所述公钥对所述电子发票进行加密,并将加密电子发票存储至预先或实时确定的服务器中,以及生成对应的发票地址信息;

8、按照所述发票开具方与所述发票接收方预先或实时建立的通信链路,将所述发票地址信息传输给所述发票接收方,以使所述发票接收方通过所述发票地址信息访问所述服务器,下载所述加密电子发票;或者,将所述发票地址信息传输给所述发票开具方,以使所述发票开具方通过所述发票地址信息访问所述服务器,下载所述加密电子发票。

9、于本发明的一实施例中,向所述发票开具方提供发票开具页面后,所述方法还包括:

10、将当前时刻下所述发票开具页面中的所有待填充区域,与上一时刻下所述发票开具页面中的所有待填充区域进行比对,确定所述发票开具页面中的所有待填充区域是否存在填充数据;

11、若所述发票开具页面中的所有待填充区域不存在填充数据,或者当前时刻为初始时刻,则进行下一时刻的待填充区域比对;

12、若所述发票开具页面中的至少一个待填充区域存在填充数据,则将所述发票开具页面与当前时刻在所述发票开具页面上的填充数据进行关联,生成待确认发票数据;以及,

13、通过字符识别模型对所述数据明文进行字符识别,得到第一字符段;以及,通过字符识别模型对所述待确认发票数据进行字符识别,得到第二字符段;

14、计算所述第一字符段与所述第二字符段的相似度,并将计算出的相似度与第一预设相似度进行比对;

15、若计算出的相似度小于第一预设相似度,则隐藏所述发票开具页面上的确认指令;

16、若计算出的相似度大于或等于第一预设相似度,则显示所述发票开具页面上的确认指令。

17、于本发明的一实施例中,通过加密算法生成用于进行数据加密的公钥时,所述方法还包括:

18、基于发票开具方的证书信息以及发票接收方的证书信息,通过加密算法生成第一私钥和第二私钥;

19、将所述第一私钥存储至所述发票开具方的本地终端,以使所述发票开具方利用所述第一私钥对所述公钥加密的数据进行数据解密;

20、以及,将所述第二私钥存储至所述发票接收方的本地终端,以使所述发票接收方利用所述第二私钥对所述公钥加密的数据进行数据解密。

21、于本发明的一实施例中,将所述数据密文传输给所述发票开具方后,还包括:利用所述第一私钥对所述数据密文进行解密,得到所述发票接收方提供的数据明文,以使所述发票开具方在发票开具页面的待填充区域进行填充数据;

22、以及,在所述发票开具方通过所述发票地址信息访问所述服务器,并下载所述加密电子发票后,还包括:利用所述第一私钥对所述加密电子发票进行解密,得到所述电子发票开具软件生成的电子发票;

23、以及,在所述发票接收方通过所述发票地址信息访问所述服务器,并下载所述加密电子发票后,还包括:利用所述第二私钥对所述加密电子发票进行解密,得到所述电子发票开具软件生成的电子发票。

24、于本发明的一实施例中,对所述发票开具方进行权限认证的过程包括:

25、向所述发票开具方提供所述电子发票开具软件的权限认证页面;其中,所述权限认证页面用于所述发票开具方输入身份信息,所述身份信息包括:账户信息、密码信息、临时会话特征码信息以及生物识别信息;

26、接收所述发票开具方通过所述权限认证页面输入的身份信息,并将所述发票开具方输入的身份信息作为所述发票开具方的权限认证信息;

27、基于所述账户信息和所述密码信息对所述发票开具方进行第一次身份验证;以及,在所述发票开具方通过第一次身份验证后,基于所述临时会话特征码信息对所述发票开具方进行第二次身份验证;以及,在所述发票开具方通过第二次身份验证后,基于所述生物识别信息对所述发票开具方进行第三次身份验证;

28、若所述发票开具方通过第三次身份验证,则标记所述发票开具方通过权限认证;

29、若所述发票开具方未通过第一次身份验证,或者未通过第二次身份验证,或者未通过第三次身份验证,则标记所述发票开具方未通过权限认证。

30、于本发明的一实施例中,基于所述账户信息和所述密码信息对所述发票开具方进行第一次身份验证;以及,在所述发票开具方通过第一次身份验证后,基于所述临时会话特征码信息对所述发票开具方进行第二次身份验证;以及,在所述发票开具方通过第二次身份验证后,基于所述生物识别信息对所述发票开具方进行第三次身份验证的过程包括:

31、向所述发票开具方提供所述电子发票开具软件的第一权限认证页面;

32、将所述发票开具方在所述第一权限认证页面上输入的账户信息与数据库中存储的账户信息进行比对,以及将所述发票开具方在所述第一权限认证页面上输入的密码信息与数据库中存储的密码信息进行比对;

33、若所述数据库中存在所述发票开具方在所述第一权限认证页面上输入的账户信息和密码信息,则标记所述发票开具方通过第一次身份认证,并向所述发票开具方下发临时会话特征码信息,以及向所述发票开具方提供所述电子发票开具软件的第二权限认证页面;反之,若所述数据库中不存在所述发票开具方在所述第一权限认证页面上输入的账户信息或密码信息,则标记所述发票开具方未通过权限认证,并中止后续权限认证流程,重新向所述发票开具方提供所述电子发票开具软件的第一权限认证页面;

34、若所述发票开具方通过第一次身份验证,则将所述电子发票开具软件下发的临时会话特征码信息作为第一临时会话特征码信息,以及将所述第二权限认证页面上填充的临时会话特征码信息作为第二临时会话特征码信息;并计算所述第一临时会话特征码信息与所述第二临时会话特征码信息的相似度,并将对应的相似度与第二预设相似度进行比对;若所述第一临时会话特征码信息与所述第二临时会话特征码信息的相似度大于或等于所述第二预设相似度,则标记所述发票开具方通过第二次身份认证,并向所述发票开具方提供所述电子发票开具软件的第三权限认证页面;若所述第一临时会话特征码信息与所述第二临时会话特征码信息的相似度小于所述第二预设相似度,则标记所述发票开具方未通过权限认证,并中止后续权限认证流程,重新向所述发票开具方提供所述电子发票开具软件的第一权限认证页面;

35、若所述发票开具方通过第二次身份验证,则将通过第三权限认证页面采集的生物识别信息作为实时生物识别信息,并与数据库中预先存储的生物识别信息进行比对;若所述数据库中存在与实时生物识别信息的相似度大于或等于第三预设相似度的生物识别信息,则标记所述发票开具方通过第三次身份验证,以及标记所述发票开具方通过权限认证;若所述数据库中不存在与实时生物识别信息的相似度大于或等于第三预设相似度的生物识别信息,则标记所述发票开具方未通过第三次身份验证,并中止后续权限认证流程,重新向所述发票开具方提供所述电子发票开具软件的第一权限认证页面。

36、于本发明的一实施例中,所述加密算法包括以下至少之一:rsa加密算法、数字签名算法、椭圆曲线加密算法、elgamal加密算法。

37、本发明还提供一种基于加密算法的电子发票开具系统,所述系统包括有:

38、加密算法模块,用于根据发票开具方的证书信息以及发票接收方的证书信息,通过加密算法生成用于进行数据加密的公钥;

39、电子发票数据加密模块,用于利用所述公钥对所述发票接收方提供的数据明文进行加密,得到数据密文;

40、数据密文传输模块,按照所述发票开具方与所述发票接收方预先或实时建立的通信链路,将所述数据密文传输给所述发票开具方;

41、电子发票开具模块,用于接收并响应所述发票开具方在电子发票开具软件上生成的发票开具请求,并对所述发票开具方进行权限认证,以及在所述发票开具方通过权限认证后,向所述发票开具方提供发票开具页面;以及在所述发票开具页面上的确认指令被触发后,基于所述发票开具页面中填充的发票数据生成电子发票;

42、电子发票加密模块,用于利用所述公钥对所述电子发票进行加密,并将加密电子发票存储至预先或实时确定的服务器中,以及生成对应的发票地址信息;

43、加密电子发票下载模块,用于按照所述发票开具方与所述发票接收方预先或实时建立的通信链路,将所述发票地址信息传输给所述发票接收方,以使所述发票接收方通过所述发票地址信息访问所述服务器,下载所述加密电子发票;或者,将所述发票地址信息传输给所述发票开具方,以使所述发票开具方通过所述发票地址信息访问所述服务器,下载所述加密电子发票。

44、本发明还提供一种基于加密算法的电子发票开具设备,包括:

45、处理器;和,

46、存储有指令的计算机可读介质,当所述处理器执行所述指令时,使得所述设备执行如上述中任一所述的基于加密算法的电子发票开具方法。

47、本发明还提供一种计算机可读介质,其上存储有指令,所述指令由处理器加载并执行如上述中任一所述的基于加密算法的电子发票开具方法。

48、如上所述,本发明提供一种基于加密算法的电子发票开具方法、系统、设备及介质,具有以下有益效果:

49、本发明先基于发票开具方和发票接收方的证书信息,通过加密算法生成用于进行在发票开具方与发票接收方之间进行数据传输时,对待传输数据进行加密的公钥;然后在发票接收方需要发票开具方开具电子发票数据时,利用公钥对发票接收方提供的数据明文进行加密,得到数据密文;再按照发票开具方与发票接收方预先或实时建立的通信链路,将数据密文发送给发票开具方,由发票开具方根据自身的第一私钥对数据密文进行解密,从而得到发票接收方提供的数据明文。同时,再由发票开具方在电子发票开具软件提供的发票开具页面上填充对应的数据明文,并触发发票开具页面上的确认指令后,由电子发票开具软件直接开具生成发票接收方所需要的电子发票;并且在利用公钥对电子发票进行加密后存储在服务器中,同时生成发票地址信息;当发票开具方或发票接收方通过发票地址信息访问服务器时,便可以下载对应的加密电子发票,最后再由发票开具方根据自身的第一私钥或者由发票接收方根据自身的第二私钥对加密电子发票进行解密,即可得到电子发票开具软件开具的电子发票。由此可知,本发明首先利用公钥对发票接收方提供的数据明文进行加密,只有发票开具方或者发票接收方可以利用自身的私钥进行解密,从而可以避免发票接收方提供的数据明文中的详细信息被不相关的人员采集;同时,在电子发票开具软件开具电子发票后,再利用公钥对电子发票进行加密,只有发票开具方或者发票接收方可以利用自身的私钥进行解密,从而可以避免电子发票中的详细信息被不相关的人员采集。所以,本发明通过对发票接收方提供的数据明文进行加密以及对电子发票进行加密,可以避免发票开具方与发票接收方进行电子发票开具过程中的详细信息被不相关的人员采集,不会在发票开具过程中泄露企业在上下游的交易业务流转流程等商业秘密,加强了发票信息保护强度,提升了企业的数据信息安全。

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