Method and device for preventing duplicate reimbursement of cross-unit subject electronic voucher

By using anonymous digital signature technology and the SM2 and SM4 algorithms to generate and verify the reimbursement status of electronic vouchers, the problem of duplicate reimbursements across different entities with electronic vouchers is solved. This achieves privacy protection and ensures the authenticity of the reimbursement status, thereby increasing the willingness of entities to share reimbursement status and improving system efficiency.

CN115760455BActive Publication Date: 2026-03-03BEIJING SIFANG QIDIAN TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211456496.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-21
Publication Date
2026-03-03
Estimated Expiration
2042-11-21

AI Technical Summary

Technical Problem

Existing technologies cannot effectively prevent duplicate reimbursement of electronic vouchers between different entities, while also protecting the privacy of entities and ensuring the authenticity of voucher reimbursement status. As a result, entities are not very willing to synchronize their reimbursement status with external entities.

Method used

Anonymous digital signature technology is adopted. By receiving digital certificates from various entities, key information for anonymous digital signatures is generated. Ring signature is performed using the SM2 asymmetric encryption algorithm and the SM4 cryptographic algorithm to generate and verify signature data messages, ensuring the unique identification of electronic vouchers and the authenticity of reimbursement status, and protecting the privacy of entities.

Benefits of technology

This system prevents duplicate reimbursement of electronic vouchers among different entities, protects the privacy of entities, ensures the authenticity of voucher reimbursement status, increases the willingness of entities to share reimbursement status, reduces costs, and improves efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115760455B_ABST
    Figure CN115760455B_ABST
Patent Text Reader

Abstract

The present application relates to a kind of cross-unit subject electronic voucher anti-reimbursement method and device, the method includes receiving the digital certificate of each unit subject, and constitute the key information for anonymous digital signature is stored to database;When there is electronic voucher to be reimbursed, query its reimbursement state and anonymous digital signature, verify its authenticity, when the reimbursement state of electronic voucher to be reimbursed is not completely reimbursed, generate the data message only containing voucher identification and reimbursement state;Anonymous signature is generated to generate signature information;Data message and signature information are verified, and the data message that passes verification is stored to database.The present application can protect the reimbursement privacy of unit subject and the authenticity of electronic voucher reimbursement state, so that unit subject only provides the unique identification of electronic voucher and the reimbursement state of the electronic voucher, without providing any unit subject information, can protect the privacy of unit subject without exposing to the outside while preventing electronic voucher cross-unit subject reimbursement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of regulatory technology, specifically relating to a method and device for preventing duplicate reimbursement of electronic vouchers across different entities. Background Technology

[0002] Electronic vouchers refer to various accounting vouchers received electronically by an entity from external sources, including electronic invoices, electronic fiscal receipts, electronic tickets, electronic itineraries, electronic customs payment slips, and electronic bank receipts. It has been clearly stated that "legally sourced and authentic electronic accounting vouchers have the same legal effect as paper accounting vouchers," and entities using electronic vouchers for reimbursement, accounting, and archiving must meet the condition of "effectively preventing duplicate entries of electronic accounting vouchers." However, an electronic voucher is itself an electronic file (usually in PDF, OFD, XML, or XBRL formats), and electronic files do not possess the attribute of uniqueness. That is, a copy of an electronic voucher has exactly the same information attributes as the original and is also a valid reimbursement voucher. Therefore, with the widespread application of electronic vouchers, how to prevent duplicate reimbursement entries using electronic vouchers has become an urgent problem to be solved.

[0003] Although electronic vouchers can be reimbursed repeatedly by querying historical reimbursement records (whether manual ledgers or databases) within the same entity, some electronic vouchers may still be reimbursed by different entities. To prevent electronic vouchers from being reimbursed repeatedly by different entities, it is not possible to rely solely on each entity's own ledgers or databases.

[0004] Currently, related technologies mainly achieve electronic expense reimbursement synchronization across different entities in two ways: one is that the entity provides the electronic voucher reimbursement status information along with its own entity information; the other is that the entity only synchronizes the electronic voucher reimbursement status. However, neither of these two methods of synchronizing electronic voucher reimbursement status across entities can protect the privacy of the entity while ensuring the authenticity of the electronic voucher reimbursement status. This leads to low willingness among entities to synchronize their own electronic voucher reimbursement status, significantly impacting the practical application effectiveness of electronic voucher reimbursement status synchronization. Summary of the Invention

[0005] In view of this, the purpose of the present invention is to overcome the shortcomings of the prior art and provide a method and device for preventing duplicate reimbursement of electronic vouchers across different entities, so as to solve the problem that the existing methods of synchronizing the reimbursement status of electronic vouchers across different entities cannot protect the privacy of the entity while ensuring the authenticity of the reimbursement status of the electronic voucher.

[0006] To achieve the above objectives, the present invention adopts the following technical solution: a method for preventing duplicate reimbursement of electronic vouchers across different entities, comprising:

[0007] Receive digital certificates from various entities and combine them into key information for anonymous digital signatures, which is then stored in the database.

[0008] When any entity has electronic vouchers pending reimbursement, the reimbursement status of the electronic vouchers is queried through the database. The authenticity of the reimbursement status of the electronic vouchers is verified through anonymous digital signatures. When the reimbursement status of the electronic vouchers pending reimbursement is incomplete, the electronic vouchers are reimbursed and recorded, and a data message corresponding to the reimbursement status of the electronic vouchers is generated. The data message includes the unique identifier of the electronic voucher and the reimbursement status.

[0009] Anonymously sign the data packet to generate signature information;

[0010] The receiving database verifies the data message and signature information, and stores the verified data message to the database based on the verification result.

[0011] Furthermore, the digital certificate includes a public-private key pair, with each entity storing its own private key and sharing its public key with other entities.

[0012] Furthermore, the step of anonymously signing the data packet to generate signature information includes:

[0013] Based on the public keys of all entities, a set of public keys for the ring signature is formed;

[0014] Assign a known random number to each entity, except the entity to be signed.

[0015] Based on the known random numbers, a random number sequence set is obtained; wherein, the random number of the entity to be signed is unknown;

[0016] All known random numbers are encrypted using the SM2 asymmetric encryption algorithm with a public key, resulting in the ciphertext for each known random number.

[0017] Perform an SM3 hash operation on the data packet to obtain the hash result, and use the hash result as the key for the SM4 cryptographic algorithm in the signature process;

[0018] Using the SM4 cryptographic algorithm key and the preset initial value of the entity to be signed in the signing process, an RST ring signature is performed to obtain the result value;

[0019] Determine the relationship between the preset initial value, the result value, and the ciphertext result. Based on the relationship, use the private key of the entity to be signed to perform SM2 decryption on the result value to obtain the decryption result.

[0020] The decryption result is inserted into the random number sequence set and placed in the corresponding sequence position of the entity to be signed, to obtain a new random number set;

[0021] The signature information is obtained from the public key set, the result value, and the new random number set.

[0022] Furthermore, it also includes:

[0023] After Base64 encoding, the signature information is added to a preset node in the data packet.

[0024] Furthermore, the data packet and signature information are verified, including:

[0025] The signature information is obtained by decoding the Base64 data from the preset node.

[0026] The data message is obtained through the signature information;

[0027] Perform SM3 hash operation on the data packet to obtain the hash result, and use the hash result as the key of SM4 cryptographic algorithm in the signature verification process;

[0028] The verification result is obtained using the key of the SM4 cryptographic algorithm during the signature verification process;

[0029] Determine whether the test result is the same as the result value;

[0030] If the test result is the same as the result value, the verification is successful; otherwise, the verification fails.

[0031] Furthermore, each entity applies for an asymmetric cryptographic digital certificate from a certificate authority, and the digital certificate is a certificate based on the SM2 cryptographic algorithm.

[0032] Furthermore, the data message is in XML format.

[0033] This application provides a device for preventing duplicate reimbursement of electronic vouchers across different entities, including:

[0034] The preprocessing module is used to receive digital certificates from various entities and assemble them into key information for anonymous digital signatures, which is then stored in the database.

[0035] The deduplication and reimbursement module is used to query the reimbursement status of any electronic voucher to be reimbursed in the database when any entity has such vouchers. It verifies the authenticity of the reimbursement status using anonymous digital signatures. If the reimbursement status of the electronic voucher is "incomplete reimbursement," it records the reimbursement and generates a data message corresponding to the reimbursement status of the electronic voucher. The data message includes a unique identifier for the electronic voucher and its reimbursement status.

[0036] The signature module is used to anonymously sign the data packet to generate signature information;

[0037] The signature verification module is used to receive the data message and signature information from the database for verification, and to store the verified data message to the database according to the verification result.

[0038] The beneficial effects that can be achieved by adopting the above technical solution in this invention include:

[0039] This invention provides a method and apparatus for preventing duplicate reimbursement of electronic vouchers across different entities. The invention receives digital certificates from various entities and stores them in a database to form key information for anonymous digital signatures. When any entity has electronic vouchers to be reimbursed, the reimbursement status of these vouchers is queried from the database. The authenticity of the reimbursement status is verified using anonymous digital signatures. If the reimbursement status is incomplete, the voucher is recorded and a data message corresponding to its reimbursement status is generated. The data message includes a unique identifier for the electronic voucher and its reimbursement status. Anonymous signatures are generated from the data message; the receiving database verifies the data message and signature information, and stores the verified data message in the database. The technical solution provided in this application balances the protection of the entity's reimbursement privacy and the authenticity of the electronic voucher's reimbursement status. This ensures that the entity only provides the unique identifier of the electronic voucher and its reimbursement status, without providing any other entity information. Other entities or individuals querying the electronic voucher's reimbursement status can verify its authenticity but cannot obtain any entity information beyond the electronic voucher's reimbursement status. This application can prevent cross-entity reimbursement of electronic vouchers while protecting the entity's privacy from external exposure. Attached Figure Description

[0040] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0041] Figure 1 This is a schematic diagram illustrating the steps of the cross-entity electronic voucher anti-duplicate reimbursement method of the present invention;

[0042] Figure 2 This invention provides a centralized database shared across multiple entities.

[0043] Figure 3The distributed, independent databases built separately by each entity in this invention;

[0044] Figure 4 This is a flowchart illustrating the cross-entity electronic voucher anti-duplicate reimbursement method of the present invention;

[0045] Figure 5 This is a schematic diagram of the cross-unit electronic voucher anti-duplicate reimbursement device of the present invention. Detailed Implementation

[0046] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be described in detail below. Obviously, the described embodiments are merely some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other implementation methods obtained by those skilled in the art without creative effort are within the scope of protection of this invention.

[0047] Generally, there are many ways to prevent duplicate reimbursement of electronic vouchers within the same organization. For example, organizations that do not use reimbursement software systems typically have their finance personnel maintain an electronic voucher reimbursement ledger (e.g., using Excel to record the unique identifier and reimbursement status of electronic vouchers). Finance personnel can determine if a newly submitted electronic voucher is being reimbursed duplicately by comparing it with the records in the reimbursement ledger. Organizations using reimbursement software systems typically record the unique identifier and reimbursement status of electronic vouchers in the system's database. When a new electronic voucher enters the system, it can be compared with the database records to determine if it is being reimbursed duplicately (see patent application CN107545473A "A Method for Preventing Duplicate Reimbursement of Electronic Invoices" and patent application CN108681907A "An Information System for Verifying Electronic Invoice Reimbursement"). However, the aforementioned patent applications cannot prevent duplicate reimbursement of electronic vouchers across different organizations; therefore, reimbursement across different organizations is difficult to achieve.

[0048] The two existing methods for synchronizing the reimbursement status of electronic vouchers across different entities fail to protect the privacy of the entity while ensuring the authenticity of the electronic voucher reimbursement status. This results in a low willingness among entities to synchronize their electronic voucher reimbursement status with external entities, significantly impacting the practical application effectiveness of electronic voucher reimbursement status synchronization.

[0049] Existing technologies, such as those that synchronize the reimbursement status of electronic vouchers for various entities via networks or central servers, all require the collection of entity information, namely, the entity's financial privacy information such as "which voucher was reimbursed by which entity." This information needs to be exposed to entities outside the entity and cannot protect the entity's privacy.

[0050] Alternatively, while synchronizing the electronic voucher reimbursement status externally avoids exposing the organization's privacy information, it still has two drawbacks: First, the cost is too high. Each electronic voucher requires a digital certificate from a CA (Certificate Authority), and the certificate expires after the electronic voucher is reimbursed. With the massive application of electronic vouchers, this will result in a huge waste of digital certificate resources. Second, the authenticity of the electronic voucher reimbursement status cannot be guaranteed. Since every user who obtains an electronic voucher can manipulate the certificate for parsing invoices and apply to cancel its status, the CA cannot determine the entity applying to cancel the electronic voucher certificate status. Any user can impersonate the real reimbursement organization to apply to the CA to cancel the electronic voucher certificate status.

[0051] The steps provided by this invention are mainly implemented through a server.

[0052] The following describes a specific method and apparatus for preventing duplicate reimbursement of electronic vouchers across different entities, provided in an embodiment of this application, with reference to the accompanying drawings.

[0053] like Figure 1 As shown in the embodiments of this application, the method for preventing duplicate reimbursement of electronic vouchers across entities includes:

[0054] S101: Receive digital certificates from each entity and store the key information used for anonymous digital signatures in the database;

[0055] This application defines the scope of synchronized electronic voucher reimbursement status across different entities, specifically the entities involved in the synchronized messages. Each entity applies for a digital certificate from a CA (Certificate Authority) and combines them into a group signature certificate or a ring signature certificate. For example, if a corporate group or an administrative department has N entities that need to prevent duplicate reimbursement of electronic vouchers across these N entities, then each of these N entities will apply for a digital certificate from a CA to combine them into a group signature certificate or a ring signature certificate.

[0056] It is understandable that all the electronic reimbursement vouchers in this application have been anonymously digitally signed. Anonymous digital signature processing allows other entities to verify the authenticity of the electronic voucher's reimbursement status without knowing the entity that reimbursed the electronic voucher, thus protecting the privacy of the entity or the person making the reimbursement request. This significantly increases the entity's willingness to share the status of its electronic reimbursement vouchers with external entities.

[0057] like Figure 2 As shown, the database provided in this application can be a centralized database server shared across multiple entities, or it can be as follows: Figure 3As shown, each entity builds its own distributed, independent database. These two approaches do not affect the specific implementation of this method. While a centralized database server is relatively cheaper, the query and access efficiency of the state database built by each entity is higher.

[0058] S102, when any entity has electronic vouchers to be reimbursed, the reimbursement status of the electronic vouchers to be reimbursed is queried through the database, and the authenticity of the reimbursement status of the electronic vouchers to be reimbursed is verified through anonymous digital signatures. When the reimbursement status of the electronic vouchers to be reimbursed is incomplete, the electronic vouchers to be reimbursed are recorded and a data message corresponding to the reimbursement status of the electronic vouchers to be reimbursed is generated; the data message includes the unique identifier of the electronic voucher and the reimbursement status.

[0059] Specifically, when a new electronic voucher enters the reimbursement process for any organization, the organization's reimbursement system first retrieves the reimbursement status of the electronic voucher from the database based on its unique identifier. The system then verifies the authenticity of the retrieved electronic voucher status using a group signature key or ring signature key. If the electronic voucher has already been reimbursed, duplicate reimbursement is rejected; if the electronic voucher has not yet been reimbursed or has not been fully reimbursed, reimbursement can continue. The data message is shown in Table 1.

[0060] Table 1 Data Messages

[0061]

[0062]

[0063] As shown in Table 1 above, the data packets obtained in this application only display the reimbursement time, reimbursement amount, ring signature result, and unique electronic voucher identification information, without displaying individual information of the reimbursing unit, thus protecting the privacy of the reimbursing unit. The data packets are in XML format, as shown in Table 2.

[0064] Table 2 Description of XML Data Fields

[0065]

[0066] The database stores the reimbursement status of electronic vouchers output by each electronic voucher reimbursement module. The table field structure is shown in Table 3.

[0067] Table 3 Database

[0068]

[0069]

[0070] S103, perform anonymous signing on the data packet to generate signature information;

[0071] After a new electronic voucher from an organization completes the reimbursement process, the organization's reimbursement system generates a reimbursement status data message for that electronic voucher <unique identifier of the electronic voucher, reimbursement status>. This data message is anonymously digitally signed using a group signature key or a ring signature key. The organization then transmits the electronic voucher reimbursement status data message and the signature information to a centralized electronic voucher reimbursement status database server shared by multiple organizations, or to a distributed independent electronic voucher reimbursement status database for all other organizations. This allows each organization's corresponding database server to obtain the reimbursement status of the electronic voucher. However, due to the anonymous signature, the organization that submitted the electronic voucher for reimbursement cannot be identified, thus protecting the privacy of the submitting organization.

[0072] S104, the database verifies the data message and signature information, and stores the verified data message to the database according to the verification result.

[0073] After receiving the electronic voucher reimbursement status data message and signature message, the database verifies the data message and digital signature using the group signature key or ring signature key. If the verification is successful, the electronic voucher reimbursement status is entered into the database; otherwise, the message is rejected.

[0074] The working principle of the cross-unit electronic voucher anti-duplicate reimbursement method is as follows: Figure 4 As shown, the system first receives digital certificates from each entity and stores them in the database as key information for anonymous digital signatures. Then, when any entity has an electronic voucher to be reimbursed, that is, when each new electronic voucher enters the reimbursement process, the system verifies the authenticity of the reimbursement status of the electronic voucher by using anonymous digital signature verification. If the reimbursement status is incomplete, the electronic voucher to be reimbursed is recorded, and a reimbursement status data message corresponding to the electronic voucher is generated. The data message is then anonymously signed to generate signature information. The data message includes the unique identifier of the electronic voucher and the reimbursement status. Finally, after receiving the electronic voucher reimbursement status data message and the signature message, the database service verifies the data message and digital signature using a group signature key or a ring signature key. If the verification is successful, the electronic voucher reimbursement status is entered into the database; otherwise, the message is rejected.

[0075] The cross-entity electronic voucher anti-duplicate reimbursement method provided in this application not only ensures the authenticity of the electronic voucher reimbursement status and prevents malicious tampering of the electronic voucher reimbursement status through anonymous digital signatures, but also protects the privacy information of the reimbursing entity of the electronic voucher. When any user queries the electronic voucher reimbursement status, no privacy information such as which entity the electronic voucher was reimbursed by will be obtained, which helps to increase the willingness of entities to share the electronic voucher reimbursement status of their own entities. Thirdly, the cost of sharing the electronic voucher status is low and the efficiency is high. Each entity only needs to apply for a digital certificate, and the electronic voucher reimbursement status message only transmits a unique identifier and status. Compared with the existing technology of issuing a certificate for each electronic voucher, it has significant cost and efficiency advantages.

[0076] In some embodiments, the digital certificate includes a public-private key pair, where each entity stores its own private key and shares its public key with other entities.

[0077] The step of anonymously signing the data packet to generate signature information includes:

[0078] Based on the public keys of all entities, a set of public keys for the ring signature is formed;

[0079] Assign a known random number to each entity, except the entity to be signed.

[0080] Based on the known random numbers, a random number sequence set is obtained; wherein, the random number of the entity to be signed is unknown;

[0081] All known random numbers are encrypted using the SM2 asymmetric encryption algorithm with a public key, resulting in the ciphertext for each known random number.

[0082] Perform an SM3 hash operation on the data packet to obtain the hash result, and use the hash result as the key for the SM4 cryptographic algorithm in the signature process;

[0083] Using the SM4 cryptographic algorithm key and the preset initial value of the entity to be signed in the signing process, an RST ring signature is performed to obtain the result value;

[0084] Determine the relationship between the preset initial value, the result value, and the ciphertext result. Based on the relationship, use the private key of the entity to be signed to perform SM2 decryption on the result value to obtain the decryption result.

[0085] The decryption result is inserted into the random number sequence set and placed in the corresponding sequence position of the entity to be signed, to obtain a new random number set;

[0086] The signature information is obtained from the public key set, the result value, and the new random number set.

[0087] Preferably, the signature information is Base64 encoded and then added to a preset node in the data packet.

[0088] Specifically, assuming there are n reimbursement entities, and the j-th reimbursement entity outputs the electronic voucher reimbursement status, the process of signing the electronic voucher reimbursement status data message using the RST ring signature module is as follows:

[0089] Each reimbursement unit applies for an asymmetric cryptographic digital certificate from a CA (Certificate Authority). Each unit in this system obtains a certificate based on the SM2 cryptographic algorithm. The public-private key pair for each unit is represented as follows:

[0090] [P i = <X p ,Y p >,S i =d i ], P i =[d i G

[0091] Here, i serves as the sequence index for all individuals and does not refer to any specific individual; P i S represents the SM2 cryptographic public key of the i-th entity. i This represents the SM2 cryptographic private key for the i-th unit.

[0092] Each reimbursement unit should properly safeguard its private key S i Share your public key P with other entities i The set of public keys that form the ring signature:

[0093] P = [P1, P2, ..., P i ,P j ,…,P n-1 ,P n ]

[0094] Generate a set of n random numbers:

[0095] R' = [r1, r2, ..., r i ,r j ,…,r n-1 ,r n ]

[0096] Each random number corresponds to a unit subject. The n-1 random numbers, excluding the signature subject, are randomly generated. Only the r corresponding to the signature unit subject is considered. j Pending, the signature will be made at the end of the signing process using the entity's private key S. j Calculated.

[0097] Then, using function F to denote the SM2 encryption process, the process of encrypting a random number with a public key is represented as follows:

[0098] y i =F(r) i ,P i =SM2Encrypt(r) i ,P i )

[0099] Among them, y i Indicates using public key P i For random number r i The ciphertext result after SM2 encryption. It should be noted that, in the case of an unknown random number r... i In this case, you need to start from y i Decryption yields r i Public key P must be used. i The corresponding private key S i And the private key S i It is only stored in the i-th unit and not exposed to the outside world. Therefore, only the i-th unit can decrypt it to obtain the random number r. i .

[0100] The SM4 cryptographic algorithm is used for symmetric encryption and decryption, and the SM3 algorithm is used for message hashing. The electronic voucher reimbursement status data message M to be signed is hashed using SM3, and the result is used as the key for the SM4 cryptographic algorithm. This process is represented as follows:

[0101] K = SM3(M)

[0102] Where M is the XML message output by the electronic voucher reimbursement module.

[0103] The entity to be signed, i.e., the j-th entity, is randomly assigned an initial value v, and the following recursive calculation is performed:

[0104] c j+1 =SM4(v,K)

[0105] c j+2 =SM4(c j+1 ⊕y j+1 ,K)

[0106] ...

[0107] c n =SM4(c n-1 ⊕y n-1 ,K)

[0108] c1 = SM4(c n ⊕y n ,K)

[0109] c2 = SM4(c1⊕y1,K)

[0110] ...

[0111] c j-1 =SM4(c j-2 ⊕y j-2 ,K)

[0112] c j =SM4(c j-1 ⊕y j-1 ,K)

[0113] Let v = c j ⊕y j , then y j =c j ⊕v, using the private key S of the j-th unit subject j For y j Decryption yields the result x. j ,as follows:

[0114] x j =SM2Decrypt(y j ,S j )

[0115] x obtained from the above calculation j Substitute the random number set R' generated in the above steps into r and replace r. j The new set of random numbers R is obtained as follows:

[0116] R = [r1, r2, ..., r i ,x j ,…,r n-1 ,r n ]

[0117] The result of obtaining the ring signature is Sign =<c1,P,R> Where c1 is one of the results calculated in the above steps, P is the public key set, and R is the random number set.

[0118] After Base64 encoding the ring signature result, add it to the sign node of the XML message.

[0119] In some embodiments, the data packet and signature information are verified, including:

[0120] The signature information is obtained by decoding the Base64 data from the preset node.

[0121] The data message is obtained through the signature information;

[0122] Perform SM3 hash operation on the data packet to obtain the hash result, and use the hash result as the key of SM4 cryptographic algorithm in the signature verification process;

[0123] The verification result is obtained using the key of the SM4 cryptographic algorithm during the signature verification process;

[0124] Determine whether the test result is the same as the result value;

[0125] If the test result is the same as the result value, the verification is successful; otherwise, the verification fails.

[0126] Specifically, this application receives the status storage database server or entity entity of the electronic voucher reimbursement status message XML, parses the content of the sign node from the XML message, and obtains the signature result Sign= after Base64 decoding.<c1,P,R> The RST ring signature verification module is used to verify the authenticity of the ring signature. The specific process is as follows:

[0127] The electronic voucher reimbursement status data message M, parsed from XML, is hashed using SM3. The result is used as the key K for the SM4 cryptographic algorithm, i.e., K = SM3(M).

[0128] Starting from c1, perform the following recursive calculation, where y i The calculation process is similar to the SM2 encryption process:

[0129] c2 = SM4(c1⊕y1,K)

[0130] c3 = SM4(c2⊕y2,K)

[0131] ...

[0132] c i+1 =SM4(c i ,K)

[0133] c i+2 =SM4(c i+1 ⊕y i+1 ,K)

[0134] ...

[0135] c n =SM4(c n-1 ⊕y n-1 ,K)

[0136] Q = SM4(c n ⊕y n ,K)

[0137] Check whether the final result Q is equal to c1, that is:

[0138] Verify=(Q==c1)? |true:false

[0139] If Q equals c1, the verification passes and the signature is genuine and valid; otherwise, the verification fails.

[0140] During the verification process described above, the verifier does not know which entity signed the message, except for the result of whether the verification passed or failed, because all entities could be potential signers.

[0141] Specifically, this application obtains the structured data of electronic vouchers by parsing them; then, it verifies the legality and authenticity of the electronic voucher's source through electronic document integrity protection measures such as the digital signature of the electronic voucher issuer; next, it checks the electronic voucher reimbursement status database to see if the newly submitted electronic voucher already has a reimbursement status record, preventing duplicate reimbursements within the same unit or across units; then, for electronic vouchers that have passed verification and have not been duplicated, it completes the reimbursement approval process according to the reimbursement rules of the unit; finally, it extracts the unique identifier of the electronic voucher from the completed reimbursement process and generates an electronic voucher reimbursement status data message <unique identifier of electronic voucher, reimbursement status>, which is expressed in XML format for easy software processing.

[0142] like Figure 5 As shown in the figure, this application provides a device for preventing duplicate reimbursement of electronic vouchers across different entities, including:

[0143] The preprocessing module 201 is used to receive digital certificates from various entities and assemble them into key information for anonymous digital signatures, which is then stored in the database.

[0144] The deduplication and reimbursement module 202 is used to query the reimbursement status of any electronic voucher to be reimbursed through the database when any entity has electronic vouchers to be reimbursed, verify the authenticity of the reimbursement status of the electronic vouchers to be reimbursed through anonymous digital signatures, and record the reimbursement of the electronic vouchers to be reimbursed when the reimbursement status of the electronic vouchers to be reimbursed is incomplete, and generate a data message corresponding to the reimbursement status of the electronic vouchers to be reimbursed; the data message includes the unique identifier of the electronic voucher and the reimbursement status;

[0145] The signature module 203 is used to anonymously sign the data packet to generate signature information;

[0146] The signature verification module 204 is used to receive the data message and signature information from the database for verification, and to store the data message that has passed the verification to the database according to the verification result.

[0147] The working principle of the cross-entity electronic voucher anti-duplicate reimbursement device provided in this application is as follows: The preprocessing module 201 receives the digital certificates of each entity and assembles key information for anonymous digital signatures, storing it in the database; the duplicate reimbursement module 202, when any entity has electronic vouchers to be reimbursed, queries the database to check the reimbursement status of the electronic vouchers to be reimbursed, verifies the authenticity of the reimbursement status of the electronic vouchers to be reimbursed through anonymous digital signatures, and when the reimbursement status of the electronic vouchers to be reimbursed is incomplete, the electronic vouchers to be reimbursed are recorded, and a data message corresponding to the reimbursement status of the electronic vouchers to be reimbursed is generated; the data message includes a unique identifier for the electronic voucher and the reimbursement status; the signature module 203 anonymously signs the data message to generate signature information; the signature verification module 204 receives the database to verify the data message and signature information, and stores the verified data message in the database according to the verification result.

[0148] In summary, this invention provides a method and apparatus for preventing duplicate reimbursement of electronic vouchers across different entities. The technical solution provided by this application balances the protection of the entity's reimbursement privacy with the authenticity of the electronic voucher's reimbursement status. It ensures that the entity only provides the unique identifier of the electronic voucher and its reimbursement status, without disclosing any other entity information. Other entities or individuals querying the electronic voucher's reimbursement status can verify its validity but cannot obtain any entity information beyond the reimbursement status. The entity's information is protected through anonymous signatures. This application can prevent cross-entity reimbursement of electronic vouchers while protecting the entity's privacy.

[0149] It is understood that the method embodiments provided above correspond to the device embodiments described above, and the specific details can be referred to each other, which will not be repeated here.

[0150] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.

[0151] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0152] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction methods implemented in a process. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0153] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0154] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method for preventing double billing of cross-unit subject electronic vouchers, characterized in that, The method comprises the following steps: Receiving digital certificates of each unit subject and storing key information for anonymous digital signature into a database; When any unit subject has an electronic voucher to be reimbursed, querying the reimbursement state of the electronic voucher to be reimbursed through the database, verifying the authenticity of the reimbursement state of the electronic voucher to be reimbursed through anonymous digital signature, when the reimbursement state of the electronic voucher to be reimbursed is not complete, recording the reimbursement of the electronic voucher to be reimbursed, and generating a data message corresponding to the reimbursement state of the electronic voucher to be reimbursed; the data message comprises an electronic voucher unique identifier and a reimbursement state; Anonymously signing the data message to generate signature information; Receiving the database to verify the signature of the data message and the signature information, and storing the data message whose verification is passed into the database according to the verification result; The digital certificate comprises a public-private key pair, each unit subject saves its own private key, and shares its own public key with other unit subjects. The anonymous signature of the data message to generate signature information comprises the following steps: Forming a public key set of ring signature according to the public keys of all unit subjects; Each unit subject except the unit subject to be signed corresponds to a known random number; Obtaining a random number sequence set according to the known random numbers; wherein the random number of the unit subject to be signed is unknown; Encrypting all known random numbers using the SM2 asymmetric encryption algorithm to obtain a ciphertext result corresponding to each known random number; Performing SM3 hash operation on the data message to obtain a hash result, and using the hash result as the key of the SM4 cryptographic algorithm in the signature process; Using the key of the SM4 cryptographic algorithm in the signature process and the preset initial value of the unit subject to be signed, performing RST ring signature to obtain a result value; Determining the relationship among the preset initial value, the result value and the ciphertext result, and using the private key of the unit subject to be signed to perform SM2 decryption on the result value according to the relationship to obtain a decryption result; Inserting the decryption result into the random number sequence set and placing it in the sequence position of the unit subject to be signed to obtain a new random number set; Obtaining the signature information according to the public key set, the result value and the new random number set.

2. The method of claim 1, wherein, Further comprising: After Base64 encoding the signature information, adding it to the preset node of the data message.

3. The method of claim 2, wherein, The verification of the data message and the signature information comprises the following steps: Obtaining the signature information after Base64 decoding from the preset node; Obtaining the data message through the signature information; Performing SM3 hash operation on the data message to obtain a hash result, and using the hash result as the key of the SM4 cryptographic algorithm in the verification process; Using the key of the SM4 cryptographic algorithm in the verification process to obtain a verification result; Judging whether the verification result is the same as the result value; If the verification result is the same as the result value, it proves that the verification is passed, otherwise the verification is not passed.

4. The method of claim 1, wherein each unit subject applies for a digital certificate of asymmetric cryptography from a certificate authority center, and the digital certificate is a certificate based on the SM2 cryptographic algorithm. ​ 5. The method of claim 1, wherein, the data message is in an XML format.

6. A device for preventing double billing of cross-unit subject electronic vouchers, characterized by, comprises: a preprocessing module configured to receive digital certificates of each unit subject, and to form key information for anonymous digital signature and store the key information into a database; a duplicate checking and reimbursement module configured to, when there is an electronic voucher to be reimbursed for any unit subject, query a reimbursement state of the electronic voucher to be reimbursed through the database, verify authenticity of the reimbursement state of the electronic voucher to be reimbursed through anonymous digital signature, when the reimbursement state of the electronic voucher to be reimbursed is not complete, record the electronic voucher to be reimbursed, and generate a data message corresponding to the reimbursement state of the electronic voucher to be reimbursed; the data message comprises a unique identifier of the electronic voucher and the reimbursement state; a signature module configured to anonymously sign the data message to generate signature information; a signature verification module configured to receive verification of the data message and the signature information by the database, and store the data message passed by the verification into the database according to a verification result; wherein the digital certificate comprises a public-private key pair, each unit subject saves its own private key, and shares its own public key with other unit subjects; the anonymous signature of the data message to generate the signature information comprises: forming a public key set of ring signature according to public keys of all unit subjects; each unit subject except the unit subject to be signed corresponds to a known random number; obtaining a random number order set according to the known random numbers; wherein a random number of the unit subject to be signed is unknown; encrypting all known random numbers using SM2 asymmetric encryption algorithm with the public key to obtain a ciphertext result corresponding to each known random number; performing SM3 hash operation on the data message to obtain a hash result, and using the hash result as a key of SM4 cryptographic algorithm in a signature process; using the key of the SM4 cryptographic algorithm in the signature process and a preset initial value of the unit subject to be signed, performing RST ring signature to obtain a result value; determining a relationship among the preset initial value, the result value and the ciphertext result, and using the private key of the unit subject to be signed to perform SM2 decryption on the result value according to the relationship to obtain a decryption result; inserting the decryption result into the random number order set and placing it in an order position where the unit subject to be signed is located to obtain a new random number set; obtaining the signature information according to the public key set, the result value and the new random number set.

Citation Information

Patent Citations

  • Method for preventing electronic invoice from reimbursing

    CN107545473A

  • Information system for reimbursement verification of electronic invoice

    CN108681907A

  • Electronic proof reimbursement method, apparatus and system

    CN108133415A