CN115760455A - 跨单位主体电子凭证防重复报销方法及装置 - Google Patents
跨单位主体电子凭证防重复报销方法及装置 Download PDFInfo
- Publication number
- CN115760455A CN115760455A CN202211456496.4A CN202211456496A CN115760455A CN 115760455 A CN115760455 A CN 115760455A CN 202211456496 A CN202211456496 A CN 202211456496A CN 115760455 A CN115760455 A CN 115760455A
- Authority
- CN
- China
- Prior art keywords
- reimbursement
- electronic certificate
- signature
- data message
- reimbursed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明涉及一种跨单位主体电子凭证防重复报销方法及装置,所述方法包括接收各单位主体的数字证书,并组成用于匿名数字签名的密钥信息存储至数据库;当有待报销电子凭证时,查询其报销状态及匿名数字签名,验证其真实性,当待报销电子凭证报销状态为未完全报销时,生成仅包含凭证标识和报销状态的数据报文;进行匿名签名生成签名信息;对数据报文及签名信息进行验签,将验签通过的数据报文存储至数据库。本发明能够兼顾保护单位主体的报销隐私和电子凭证报销状态的真实性,使得单位主体仅向外提供电子凭证的唯一标识及该电子凭证的报销状态,而不提供任何单位主体信息,可以在保护单位主体隐私不向外暴露的同时防止电子凭证跨单位主体报销。
Description
技术领域
本发明属于监管技术领域,具体涉及一种跨单位主体电子凭证防重复报销方法及装置。
背景技术
电子凭证是指单位主体从外部接收的电子形式的各类会计凭证,包括电子发票、财政电子票据、电子客票、电子行程单、电子海关专用缴款书、银行电子回单等电子会计凭证。已明确“来源合法、真实的电子会计凭证与纸质会计凭证具有同等法律效力”,同时也要求单位主体以电子凭证报销入账归档要具备“能有效防止电子会计凭证重复入账”的条件。但是电子凭证本身是一份电子文件(通常是PDF、OFD、XML或XBRL等格式),电子文件不具备唯一性的属性特征,即电子凭证的复制件(副本)与原件具有完全相同的信息属性,也是真实有效的报销凭证。所以,随着电子凭证的推广普及应用,如何防止电子凭证重复报销入账成为一个亟待解决的问题。
尽管在同一个单位主体内可以通过查询历史报销记录(无论是手工台账还是数据库),来防止电子凭证重复报销,但是依然有一部分电子凭证可能在不同的单位主体报销,要防止电子凭证在不同单位主体重复报销,仅靠每个单位主体自身的台账或数据库是无法实现的。
相关技术中,目前主要通过两种方式实现不同单位主体的电子报销同步,一种是单位主体将电子凭证报销入账状态信息随单位主体信息一并向外提供。还有一种是报销单位主体仅向外同步电子凭证报销状态。但是上述两种电子凭证报销状态跨单位主体同步的方式,均无法实现保护单位主体隐私的同时,保证电子凭证报销状态的真实性,导致单位主体向外同步本单位主体电子凭证报销状态的意愿不高,极大影响了电子凭证报销状态同步的实际应用效果。
发明内容
有鉴于此,本发明的目的在于克服现有技术的不足,提供一种跨单位主体电子凭证防重复报销方法及装置,以解决现有技术中电子凭证报销状态跨单位主体同步的方式,均无法实现保护单位主体隐私的同时,保证电子凭证报销状态的真实性的问题。
为实现以上目的,本发明采用如下技术方案:一种跨单位主体电子凭证防重复报销方法,包括:
接收各单位主体的数字证书,并组成用于匿名数字签名的密钥信息存储至数据库;
当任一单位主体存在待报销电子凭证时,通过数据库查询待报销电子凭证的报销状态,通过匿名数字签名验证所述待报销电子凭证报销状态的真实性,当所述待报销电子凭证报销状态为未完全报销时,将所述待报销电子凭证报销入账,并生成与所述待报销电子凭证的报销状态对应的数据报文;所述数据报文包括电子凭证唯一标识和报销状态;
对所述数据报文进行匿名签名生成签名信息;
接收数据库对所述数据报文及签名信息进行验签,并根据验签结果将验签通过的数据报文存储至数据库。
进一步的,所述数字证书包括公私钥对,各单位主体保存各自的私钥,以及向其他单位主体共享自己的公钥。
进一步的,所述对所述数据报文进行匿名签名生成签名信息,包括:
根据所有单位主体的公钥,形成环签名的公钥集合;
将除待签名的单位主体之外的每个单位主体对应一个已知随机数;
根据所述已知随机数,得到随机数顺序集合;其中,待签名的单位主体的随机数未知;
采用公钥利用SM2非对称加密算法对所有已知随机数进行加密,得到每个已知随机数对应的密文结果;
对数据报文进行SM3散列运算,得到散列结果,将所述散列结果作为签名过程中SM4密码算法的密钥;
利用所述签名过程中SM4密码算法的密钥和待签名的单位主体预设初始值,进行RST环签名得到结果值;
确定预设初始值、结果值和密文结果之间的关系,根据所述关系采用待签名的单位主体的私钥对结果值进行SM2解密,得到解密结果;
将所述解密结果插入所述随机数顺序集合,并对应放置在待签名的单位主体所在的顺序位置,得到新随机数集合;
根据公钥集合、结果值以及新随机数集合得到签名信息。
进一步的,还包括:
对所述签名信息进行Base64编码后,添加至数据报文的预设节点。
进一步的,对所述数据报文及签名信息进行验签,包括:
从所述预设节点中获取Base64解码后得到签名信息;
通过所述签名信息获取数据报文;
对数据报文进行SM3散列运算,得到散列结果,将所述散列结果作为验签过程中SM4密码算法的密钥;
利用所述验签过程中SM4密码算法的密钥得到检验结果;
判断所述检验结果是否与结果值相同;
如果所述检验结果与所述结果值相同,则证明验签通过,否则验签未通过。
进一步的,各单位主体分别从证书授权中心申请非对称密码的数字证书,所述数字证书为基于SM2密码算法的证书。
进一步的,所述数据报文采用XML格式。
本申请实施例提供一种跨单位主体电子凭证防重复报销装置,包括:
预处理模块,用于接收各单位主体的数字证书,并组成用于匿名数字签名的密钥信息存储至数据库;
查重报销模块,用于当任一单位主体存在待报销电子凭证时,通过数据库查询待报销电子凭证的报销状态,通过匿名数字签名验证所述待报销电子凭证报销状态的真实性,当所述待报销电子凭证报销状态为未完全报销时,将所述待报销电子凭证报销入账,并生成与所述待报销电子凭证的报销状态对应的数据报文;所述数据报文包括电子凭证唯一标识和报销状态;
签名模块,用于对所述数据报文进行匿名签名生成签名信息;
验签模块,用于接收数据库对所述数据报文及签名信息进行验签,并根据验签结果将验签通过的数据报文存储至数据库。
本发明采用以上技术方案,能够达到的有益效果包括:
本发明提供一种跨单位主体电子凭证防重复报销方法及装置,本发明接收各单位主体的数字证书,并组成用于匿名数字签名的密钥信息存储至数据库;当任一单位主体存在待报销电子凭证时,通过数据库查询待报销电子凭证的报销状态,通过匿名数字签名验证待报销电子凭证报销状态的真实性,当待报销电子凭证报销状态为未完全报销时,将待报销电子凭证报销入账,并生成与待报销电子凭证的报销状态对应的数据报文;数据报文包括电子凭证唯一标识和报销状态;对数据报文进行匿名签名生成签名信息;接收数据库对数据报文及签名信息进行验签,并根据验签结果将验签通过的数据报文存储至数据库,通过本申请提供的技术方案能够兼顾保护单位主体的报销隐私和电子凭证报销状态的真实性,使得单位主体仅向外提供电子凭证的唯一标识及该电子凭证的报销状态,而不提供任何单位主体信息,其他查询该电子凭证报销状态的单位主体或个人主体,可以验证该状态是真实有效的,但不能获取电子凭证报销状态之外的任何单位主体信息。本申请可以在保护单位主体隐私不向外暴露的同时防止电子凭证跨单位主体报销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明跨单位主体电子凭证防重复报销方法的步骤示意图;
图2为本发明提供的跨单位主体共享的集中数据库;
图3为本发明提供的各单位主体分别建设的分布式独立数据库;
图4为本发明跨单位主体电子凭证防重复报销方法的流程示意图;
图5为本发明跨单位主体电子凭证防重复报销装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
一般情况下,在同一个单位主体内部防止电子凭证重复报销有较多的方式可以实现,例如未采用报销软件系统的单位主体,通常由财务人员建立电子凭证报销台账(如用Excel记录电子凭证的唯一标识和报销状态),财务人员通过比对新提交报销的电子凭证与报销台账中的记录是否重复,以判断新提交报销的电子凭证是否重复报销;采用报销软件系统的单位主体,通常在报销软件系统的数据库中记录电子凭证的唯一标识和报销状态,在新的电子凭证进入报销软件系统时,可以通过数据库记录查找比对的方式,判断新提交报销的电子凭证是否重复报销(参见专利申请文件CN107545473A《一种预防电子发票重复报销的方法》,亦可参见专利申请文件CN108681907A《一种电子发票报销验证的信息系统》。但是上述公开的申请文件无法防止电子凭证在不同单位主体重复报销,因此,在不同单位主体报销很难实现。
现有的两种电子凭证报销状态跨单位主体同步的方式,均无法实现保护单位主体隐私的同时,保证电子凭证报销状态的真实性,导致单位主体向外同步本单位主体电子凭证报销状态的意愿不高,极大影响了电子凭证报销状态同步的实际应用效果。
现有技术中的方式,有通过网络或中心服务器同步各单位主体电子凭证报销状态的方法,均需要采集单位主体信息,即“哪张凭证在哪个单位主体报销了”这样的单位主体财务隐私信息,需要向单位主体外暴露,无法保护单位主体的隐私。
或者还存在虽然在向外同步电子凭证报销状态的同时,避免了暴露单位主体隐私信息,但是尚有两个缺陷:一是成本过高,每张电子凭证需要向CA机构申请一个数字证书,且证书状态在电子凭证报销后即失效,随着海量电子凭证的应用,将造成数字证书资源的极大浪费;二是无法保证电子凭证报销状态的真实性,由于每个获取电子凭证的用户均可以操作解析发票的证书并申请注销其状态,而CA机构无法判断申请注销电子凭证证书状态的主体,任意用户可以假冒真实报销单位主体向CA机构申请注销电子凭证证书状态。
本发明提供的步骤主要通过服务器实现。
下面结合附图介绍本申请实施例中提供的一个具体的跨单位主体电子凭证防重复报销方法及装置。
如图1所示,本申请实施例中提供的跨单位主体电子凭证防重复报销方法,包括:
S101,接收各单位主体的数字证书,并组成用于匿名数字签名的密钥信息存储至数据库;
本申请确定跨单位主体同步电子凭证报销状态的范围,即同步消息的单位主体,各单位主体分别向CA机构申请数字证书,并组成群组签名证书或环签名证书。例如,一个企业集团或一个行政机关部门下属的N个单位主体,需要在这N个单位主体之间防止电子凭证跨单位主体重复报销,则这N个单位主体分别从CA机构申请一个数字证书,组成群组签名证书或环签名证书。
可以理解的是,本申请中已报销电子凭证都已进行了匿名数字签名处理,匿名数字签名处理可以使得其他单位主体既可以确定该电子凭证报销状态的真实性,又无法知道对该电子凭证进行报销的单位,保护单位或报销人的隐私,进而显著提高单位向外同步本单位报销电子凭证状态的意愿。
如图2所示,本申请提供的数据库可以是一个跨单位主体共享的集中数据库服务器,也可以是如图3所示的,各单位主体分别建设的分布式独立数据库。这两种方式不影响本方法的具体实施,集中式数据库服务器相对成本更低,但各单位主体自建的状态数据库查询访问的效率更高。
S102,当任一单位主体存在待报销电子凭证时,通过数据库查询待报销电子凭证的报销状态,通过匿名数字签名验证所述待报销电子凭证报销状态的真实性,当所述待报销电子凭证报销状态为未完全报销时,将所述待报销电子凭证报销入账,并生成与所述待报销电子凭证的报销状态对应的数据报文;所述数据报文包括电子凭证唯一标识和报销状态;
具体的,任一单位主体有新的电子凭证进入报销流程时,单位主体的报销系统首先从电子凭证报销状态的数据库按电子凭证唯一标识,检索该电子凭证的报销状态,对检索到的电子凭证报销状态用群组签名密钥或环签名密钥验证其真实性。如该电子凭证已报销,则拒绝其重复报销;如该电子凭证尚未报销或者未完全报销,则说明可以继续报销。数据报文如表1所以,
表1数据报文
通过上述表1可以知道,本申请中得到的数据报文中只显示了报销时间、报销金额、环签名结果以及电子凭证唯一标识信息等,而没有显示报销单位个体信息,从而对报销单位进行隐私保护。数据报文采用XML格式,如表2所示,
表2XML数据字段项说明
数据库保存各电子凭证报销模块输出的电子凭证报销状态,设计表字段结构如表3所示。
表3数据库
S103,对所述数据报文进行匿名签名生成签名信息;
单位主体新的电子凭证完成报销流程后,单位主体的报销系统生成该电子凭证报销状态数据报文<电子凭证唯一标识,报销状态>,用群组签名密钥或环签名密钥对该数据报文加以匿名数字签名,单位主体将电子凭证报销状态数据报文及签名信息,传输至多单位主体共享的集中式电子凭证报销状态数据库服务器,或者传输至所有其他单位主体的分布式独立电子凭证报销状态数据库,使得各个单位主体对应的数据库服务器都能获取到电子凭证的报销状态,但是因为匿名签名的原因无法知道对该电子凭证进行报销的单位主体,从而对报销的单位主体进行隐私保护。
S104,接收数据库对所述数据报文及签名信息进行验签,并根据验签结果将验签通过的数据报文存储至数据库。
数据库在接收到电子凭证报销状态数据报文及签名消息后,用群组签名密钥或环签名密钥对该数据报文及数字签名进行验证,验证通过的电子凭证报销状态入库,否则拒绝该报文。
跨单位主体电子凭证防重复报销方法的工作原理为:如图4所示,首先接收各单位主体的数字证书,并组成用于匿名数字签名的密钥信息存储至数据库;然后当任一单位主体存在待报销电子凭证时,也就是需要在每一份新电子凭证进入报销流程时,通过通过匿名数字签名验证查询待报销电子凭证报销状态的真实性,当报销状态为未完全报销时将所述待报销电子凭证报销入账,并生成与所述待报销电子凭证对应的报销状态数据报文,以及对所述数据报文进行匿名签名生成签名信息;所述数据报文包括电子凭证唯一标识和报销状态,最后数据库服务在接收到电子凭证报销状态数据报文及签名消息后,用群组签名密钥或环签名密钥对该数据报文及数字签名进行验证,验证通过的电子凭证报销状态入库,否则拒绝该报文。
本申请提供的跨单位主体电子凭证防重复报销方法,不仅能够保障电子凭证报销状态的真实性,通过匿名数字签名防止电子凭证报销状态被恶意篡改;还能够保护电子凭证所在报销单位主体的隐私信息,任意用户查询电子凭证报销状态时,不会获取任何该电子凭证在哪个单位主体报销等单位主体隐私信息,有助于提高单位主体共享本单位主体电子凭证报销状态的意愿;三是电子凭证状态共享的成本较低、效率较高,各单位主体仅需要申请一个数字证书,且电子凭证报销状态报文仅传输唯一标识和状态,相比现有技术中的为每一个电子凭证颁发一个证书的方法,具有显著的成本和效率优势。
一些实施例中,所述数字证书包括公私钥对,各单位主体保存各自的私钥,以及向其他单位主体共享自己的公钥。
其中,所述对所述数据报文进行匿名签名生成签名信息,包括:
根据所有单位主体的公钥,形成环签名的公钥集合;
将除待签名的单位主体之外的每个单位主体对应一个已知随机数;
根据所述已知随机数,得到随机数顺序集合;其中,待签名的单位主体的随机数未知;
采用公钥利用SM2非对称加密算法对所有已知随机数进行加密,得到每个已知随机数对应的密文结果;
对数据报文进行SM3散列运算,得到散列结果,将所述散列结果作为签名过程中SM4密码算法的密钥;
利用所述签名过程中SM4密码算法的密钥和待签名的单位主体预设初始值,进行RST环签名得到结果值;
确定预设初始值、结果值和密文结果之间的关系,根据所述关系采用待签名的单位主体的私钥对结果值进行SM2解密,得到解密结果;
将所述解密结果插入所述随机数顺序集合,并对应放置在待签名的单位主体所在的顺序位置,得到新随机数集合;
根据公钥集合、结果值以及新随机数集合得到签名信息。
优选的,对所述签名信息进行Base64编码后,添加至数据报文的预设节点。
具体的,假设有n个报销单位主体,假设由第j个报销单位主体输出电子凭证报销状态,其用RST环签名模块,对电子凭证报销状态数据报文进行签名的过程如下:
各报销单位主体,分别从CA机构申请非对称密码的数字证书,本系统中各单位主体分别申请取得一份基于SM2密码算法的证书。各主体的公私钥对表示为:
[Pi=<Xp,Yp>,Si=di],Pi=[di]G
其中,i作为所有个体的序列索引,不指代某个具体个体;Pi表示第i个单位主体的SM2密码算法公钥,Si表示第i个单位主体的SM2密码算法私钥。
各报销单位主体妥善保管自己的私钥Si,向其他单位主体共享自己的公钥Pi,形成环签名的公钥集合:
P=[P1,P2,…,Pi,Pj,…,Pn-1,Pn]
生成由n个随机数组成的集合:
R’=[r1,r2,…,ri,rj,…,rn-1,rn]
其中,每个随机数对应一个单位主体,除签名主体之外的n-1个随机数都是随机生成,只有对应签名单位主体的rj待定,在签名过程的最后由单位主体的私钥Sj计算得到。
然后用函数F标识SM2加密过程,则对随机数用公钥加密的过程表示为:
yi=F(ri,Pi)=SM2Encrypt(ri,Pi)
其中,yi表示用公钥Pi对随机数ri进行SM2加密后的密文结果。需要说明的是,在未知随机数ri的情况下,要从yi解密得到ri,必须使用公钥Pi对应的私钥Si,而私钥Si只保存在第i个单位主体,不对外暴露,因此只有第i个单位主体才能解密得到随机数ri。
采用SM4密码算法作为对称加解密过程,采用SM3算法作为消息散列过程。将待签名的电子凭证报销状态数据报文M,经SM3散列运算后得到的结果,作为SM4密码算法的密钥,该过程表示为:
K=SM3(M)
其中,M是电子凭证报销模块输出的XML报文。
待签名主体,即第j个单位主体随机生成一个初始值v,进行如下递推计算:
cj+1=SM4(v,K)
cj+2=SM4(cj+1⊕yj+1,K)
……
cn=SM4(cn-1⊕yn-1,K)
c1=SM4(cn⊕yn,K)
c2=SM4(c1⊕y1,K)
……
cj-1=SM4(cj-2⊕yj-2,K)
cj=SM4(cj-1⊕yj-1,K)
令v=cj⊕yj,则yj=cj⊕v,用第j个单位主体的私钥Sj对yj解密,得到结果xj,如下:
xj=SM2Decrypt(yj,Sj)
用上述计算得到的xj,代入上面步骤生成的随机数集合R’,替换rj,得到新的随机数集合R如下:
R=[r1,r2,…,ri,xj,…,rn-1,rn]
则得到环签名的结果为Sign=<c1,P,R>,其中c1是上面步骤计算得到的结果之一,P是公钥集合,R是随机数集合。
将环签名结果进行Base64编码后,添加到XML报文sign节点。
一些实施例中,对所述数据报文及签名信息进行验签,包括:
从所述预设节点中获取Base64解码后得到签名信息;
通过所述签名信息获取数据报文;
对数据报文进行SM3散列运算,得到散列结果,将所述散列结果作为验签过程中SM4密码算法的密钥;
利用所述验签过程中SM4密码算法的密钥得到检验结果;
判断所述检验结果是否与结果值相同;
如果所述检验结果与所述结果值相同,则证明验签通过,否则验签未通过。
具体的,本申请接收到电子凭证报销状态报文XML的状态存储数据库服务器或单位主体,从XML报文中解析sign节点的内容,Base64解码后得到签名结果Sign=<c1,P,R>,使用RST环签名验签模块对环签名的真实性进行验证。具体过程如下:
从XML中解析的电子凭证报销状态数据报文M,经SM3散列运算后得到的结果,作为SM4密码算法的密钥K,即K=SM3(M)。
从c1开始,进行如下递推计算,其中yi的计算过程参考SM2加密过程:
c2=SM4(c1⊕y1,K)
c3=SM4(c2⊕y2,K)
……
ci+1=SM4(ci,K)
ci+2=SM4(ci+1⊕yi+1,K)
……
cn=SM4(cn-1⊕yn-1,K)
Q=SM4(cn⊕yn,K)
检验最后得到的结果Q是否等于c1,即:
Verify=(Q==c1)?|true:false
如果Q等于c1则验证通过,签名真实有效,否则验证不通过。
上述验证过程中,验证方除了得到验证是否通过的结果外,并不能知道是哪一个单位主体对报文消息做的签名,因为所有的单位主体都可能是潜在的签名方。
具体的,本申请中通过解析电子凭证,获得电子凭证的结构化数据;然后通过电子凭证开具方的数字签名等电子文件完整性保护措施,验证电子凭证来源合法、真实;再通过电子凭证报销状态数据库,查询新报销的电子凭证是否已有报销状态记录,防止本单位主体或跨单位主体重复报销;然后将查验通过、未重复报销的电子凭证,根据本单位主体的报销规则完成报销审批审核流程;再将完成报销流程的电子凭证,提取电子凭证唯一标识,生成电子凭证报销状态数据报文<电子凭证唯一标识,报销状态>,为便于软件处理,该数据报文以XML格式表达。
如图5所示,本申请实施例提供一种跨单位主体电子凭证防重复报销装置,包括:
预处理模块201,用于接收各单位主体的数字证书,并组成用于匿名数字签名的密钥信息存储至数据库;
查重报销模块202,用于当任一单位主体存在待报销电子凭证时,通过数据库查询待报销电子凭证的报销状态,通过匿名数字签名验证所述待报销电子凭证报销状态的真实性,当所述待报销电子凭证报销状态为未完全报销时,将所述待报销电子凭证报销入账,并生成与所述待报销电子凭证的报销状态对应的数据报文;所述数据报文包括电子凭证唯一标识和报销状态;
签名模块203,用于对所述数据报文进行匿名签名生成签名信息;
验签模块204,用于接收数据库对所述数据报文及签名信息进行验签,并根据验签结果将验签通过的数据报文存储至数据库。
本申请提供的跨单位主体电子凭证防重复报销装置的工作原理为,预处理模块201接收各单位主体的数字证书,并组成用于匿名数字签名的密钥信息存储至数据库;查重报销模块202当任一单位主体存在待报销电子凭证时,通过数据库查询待报销电子凭证的报销状态,通过匿名数字签名验证所述待报销电子凭证报销状态的真实性,当所述待报销电子凭证报销状态为未完全报销时,将所述待报销电子凭证报销入账,并生成与所述待报销电子凭证的报销状态对应的数据报文;所述数据报文包括电子凭证唯一标识和报销状态;签名模块203对所述数据报文进行匿名签名生成签名信息;验签模块204接收数据库对所述数据报文及签名信息进行验签,并根据验签结果将验签通过的数据报文存储至数据库。
综上所述,本发明提供一种跨单位主体电子凭证防重复报销方法及装置,通过本申请提供的技术方案能够兼顾保护单位主体的报销隐私和电子凭证报销状态的真实性,使得单位主体仅向外提供电子凭证的唯一标识及该电子凭证的报销状态,而不提供任何单位主体信息,其他查询该电子凭证报销状态的单位主体或个人主体,可以验证该状态是真实有效的,但不能获取电子凭证报销状态之外的任何单位主体信息,单位主体的信息通过匿名签名的方式进行了保护。本申请可以在保护单位主体隐私不向外暴露的同时防止电子凭证跨单位主体报销。
可以理解的是,上述提供的方法实施例与上述的装置实施例对应,相应的具体内容可以相互参考,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令方法的制造品,该指令方法实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种跨单位主体电子凭证防重复报销方法,其特征在于,包括:
接收各单位主体的数字证书,并组成用于匿名数字签名的密钥信息存储至数据库;
当任一单位主体存在待报销电子凭证时,通过数据库查询待报销电子凭证的报销状态,通过匿名数字签名验证所述待报销电子凭证报销状态的真实性,当所述待报销电子凭证报销状态为未完全报销时,将所述待报销电子凭证报销入账,并生成与所述待报销电子凭证的报销状态对应的数据报文;所述数据报文包括电子凭证唯一标识和报销状态;
对所述数据报文进行匿名签名生成签名信息;
接收数据库对所述数据报文及签名信息进行验签,并根据验签结果将验签通过的数据报文存储至数据库。
2.根据权利要求1所述的方法,其特征在于,
所述数字证书包括公私钥对,各单位主体保存各自的私钥,以及向其他单位主体共享自己的公钥。
3.根据权利要求2所述的方法,其特征在于,所述对所述数据报文进行匿名签名生成签名信息,包括:
根据所有单位主体的公钥,形成环签名的公钥集合;
将除待签名的单位主体之外的每个单位主体对应一个已知随机数;
根据所述已知随机数,得到随机数顺序集合;其中,待签名的单位主体的随机数未知;
采用公钥利用SM2非对称加密算法对所有已知随机数进行加密,得到每个已知随机数对应的密文结果;
对数据报文进行SM3散列运算,得到散列结果,将所述散列结果作为签名过程中SM4密码算法的密钥;
利用所述签名过程中SM4密码算法的密钥和待签名的单位主体预设初始值,进行RST环签名得到结果值;
确定预设初始值、结果值和密文结果之间的关系,根据所述关系采用待签名的单位主体的私钥对结果值进行SM2解密,得到解密结果;
将所述解密结果插入所述随机数顺序集合,并对应放置在待签名的单位主体所在的顺序位置,得到新随机数集合;
根据公钥集合、结果值以及新随机数集合得到签名信息。
4.根据权利要求3所述的方法,其特征在于,还包括:
对所述签名信息进行Base64编码后,添加至数据报文的预设节点。
5.根据权利要求4所述的方法,其特征在于,对所述数据报文及签名信息进行验签,包括:
从所述预设节点中获取Base64解码后得到签名信息;
通过所述签名信息获取数据报文;
对数据报文进行SM3散列运算,得到散列结果,将所述散列结果作为验签过程中SM4密码算法的密钥;
利用所述验签过程中SM4密码算法的密钥得到检验结果;
判断所述检验结果是否与结果值相同;
如果所述检验结果与所述结果值相同,则证明验签通过,否则验签未通过。
6.根据权利要求1所述的方法,其特征在于,
各单位主体分别从证书授权中心申请非对称密码的数字证书,所述数字证书为基于SM2密码算法的证书。
7.根据权利要求1所述的方法,其特征在于,
所述数据报文采用XML格式。
8.一种跨单位主体电子凭证防重复报销装置,其特征在于,包括:
预处理模块,用于接收各单位主体的数字证书,并组成用于匿名数字签名的密钥信息存储至数据库;
查重报销模块,用于当任一单位主体存在待报销电子凭证时,通过数据库查询待报销电子凭证的报销状态,通过匿名数字签名验证所述待报销电子凭证报销状态的真实性,当所述待报销电子凭证报销状态为未完全报销时,将所述待报销电子凭证报销入账,并生成与所述待报销电子凭证的报销状态对应的数据报文;所述数据报文包括电子凭证唯一标识和报销状态;
签名模块,用于对所述数据报文进行匿名签名生成签名信息;
验签模块,用于接收数据库对所述数据报文及签名信息进行验签,并根据验签结果将验签通过的数据报文存储至数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211456496.4A CN115760455A (zh) | 2022-11-21 | 2022-11-21 | 跨单位主体电子凭证防重复报销方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211456496.4A CN115760455A (zh) | 2022-11-21 | 2022-11-21 | 跨单位主体电子凭证防重复报销方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115760455A true CN115760455A (zh) | 2023-03-07 |
Family
ID=85333657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211456496.4A Pending CN115760455A (zh) | 2022-11-21 | 2022-11-21 | 跨单位主体电子凭证防重复报销方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115760455A (zh) |
-
2022
- 2022-11-21 CN CN202211456496.4A patent/CN115760455A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109377198B (zh) | 一种基于联盟链多方共识的签约系统 | |
JP6995762B2 (ja) | ブロックチェーンからのデータのセキュアな抽出のための暗号方法及びシステム | |
US7028180B1 (en) | System and method for usage of a role certificate in encryption and as a seal, digital stamp, and signature | |
US20150356523A1 (en) | Decentralized identity verification systems and methods | |
US20190295069A1 (en) | Systems and methods for integrating cryptocurrency wallet identifiers with digital certificates | |
JPH09507729A (ja) | キー寄託機能付き暗号システムおよび方法 | |
JPH10504150A (ja) | 商用暗号システムにおけるディジタル署名を安全に使用するための方法 | |
JP2002514799A (ja) | 認証された文書の電子的送信、格納および検索システムおよび方法 | |
CN107103459A (zh) | 基于主权区块链的记账系统及方法 | |
CN113994357A (zh) | 在终端与支付系统之间直接传输电子硬币数据记录的方法 | |
US11405216B2 (en) | System for authenticating verified personal credentials | |
CN111259439B (zh) | 一种基于区块链的无形资产管理服务平台及其实现方法 | |
EP3864794B1 (en) | Linking transactions | |
KR102311462B1 (ko) | 블록체인 did 기반의 디지털 증거 관리 시스템 및 방법 | |
CN108805574B (zh) | 基于隐私保护的交易方法和系统 | |
US11301823B2 (en) | System and method for electronic deposit and authentication of original electronic information objects | |
CN111160997A (zh) | 基于区块链的广告监管方法、装置及广告投放系统 | |
CN114969786A (zh) | 基于区块链的保函数据处理方法、节点及系统 | |
CN112419021B (zh) | 电子发票验证方法、系统、存储介质、计算机设备、终端 | |
US7356842B2 (en) | Cryptographic revocation method using a chip card | |
JP2023530594A (ja) | 分散型データベースにおける許可されたイベント処理 | |
CN116720839A (zh) | 基于区块链技术的金融信息管理方法及其监管系统 | |
Sangeetha et al. | Development of novel blockchain technology for certificate management system using cognitive image steganography techniques | |
CN110445756B (zh) | 云存储中可搜索加密审计日志的实现方法 | |
CN115760455A (zh) | 跨单位主体电子凭证防重复报销方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |