A transaction account anonymous payment method and system
By introducing a ring authentication chain and public key collection to generate ring signature data in the electronic payment system, the shortcomings in fund security, identity privacy and transaction data integrity in the existing electronic payment system are solved, and high security of transaction funds and privacy protection of user information are achieved.
Patent Information
- Application Number
- CN202210192720.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-01
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2042-03-01
AI Technical Summary
The existing electronic payment system has shortcomings in terms of fund security, identity privacy and transaction data integrity, especially the single authentication problem and the reputation dependence of third-party payment platforms, which lead to user information leakage risks and transaction inefficiency.
By executing a ring authentication chain under the supervision of the Security Management Center, using the set of public keys of customers and merchants to generate ring signature data, isolate user identity and real transaction accounts, improve fund security, and encrypt payment and collection account information through the Diffie-Hellman key exchange algorithm.
It realizes anonymous payment of bank accounts between both parties to the transaction, improves the security of transaction funds, reduces the work burden of payment gateways, avoids the reputation dependence of third-party payment platforms, and enhances the privacy protection of user information.
Smart Images

Figure CN114565382B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of electronic payment, and in particular to a transaction account anonymous payment method and system. Background Art
[0002] Electronic payment refers to the use of secure electronic means by consumers, merchants and financial institutions to securely transmit payment information to banks or corresponding processing institutions through information networks to realize monetary payment or capital flow, which effectively combines the Internet, terminal equipment and financial institutions to form a new payment system. There are many technologies that can be used to build payment systems. For remote operation modes, compared with payment verification modes based on SMS and smart cards, client solutions currently occupy a mainstream position. This solution is that users use the client to receive payment requests that users need to make, send payment requests to relevant servers through the Internet, and the account management system transfers funds between users and merchants, and feedbacks the results of the transfer. Finally, the merchant provides users with the corresponding goods or services in the payment request.
[0003] Considering the issues of fund security, identity privacy, transaction data integrity, etc. in the electronic payment system, a payment protocol with higher security should be selected as much as possible. The payment protocol mainly performs two tasks: secure communication and identity authentication. At present, the mainstream protocols on the market are SSL and SET. SSL (Secure Sockets Layer) was developed by Netscape to ensure the security of data transmission on the Internet. It uses data encryption technology to ensure that data will not be intercepted or eavesdropped during transmission on the network. However, it is based on the merchant's commitment to keep consumer information confidential, which is beneficial to merchants but not to consumers. It does not have the identity authentication function for both parties of the transaction, which is dangerous for both parties to lose funds. The security loopholes are obvious and the transaction mechanism is difficult to improve. In the early stage of e-commerce, since most of the companies operating e-commerce are large companies with high reputation, this problem has not been fully exposed. However, with the development of e-commerce, various small and medium-sized companies have also participated, so the problem of single authentication in the process of electronic payment has become more and more prominent.
[0004] Due to the many shortcomings of the SSL protocol, it cannot be promoted and used on a large scale. In order to meet market demand, the two major credit card organizations, Visa and MasterCard in the United States, jointly with many international scientific and technological institutions, have customized the SET protocol (Secure Electronic Transaction). This protocol overcomes the shortcomings of SSL and provides customers with the function of authenticating merchants in order to protect the interests of customers. However, the existing electronic online banking payment methods generally use third-party payment platforms. The commodity orders, identities of both parties in the transaction, and the payment account information are all known by the third-party payment platform during the transaction. The security of transaction data depends entirely on the reputation of the third-party payment platform and the reliability of the system. Therefore, there is a risk of user information being leaked. In addition, the SET security protocol is based on a fixed network and requires the transaction parties to install the corresponding program in advance before use. During the transaction process, the number of encryption, decryption, digital signature, and verification operations required is too large, and the certificate transmission and identity authentication procedures are cumbersome. Such complex operations and cumbersome procedures will inevitably lead to low efficiency of the SET protocol, while affecting the customer's experience and increasing the network burden. Summary of the invention
[0005] In order to solve the transaction security problem existing in the above-mentioned electronic payment system, the present invention provides a transaction account anonymous payment method and system. The present invention can realize anonymous payment of the bank accounts of both parties to the transaction, isolate the user identity on the network from the real transaction account identity, and improve the security of transaction funds. To this end, the transaction account anonymous payment method provided by the present invention specifically includes:
[0006] After the customer node generates a product order from the payment page of the e-commerce platform, the security management center provides the customer node with a set of customer public keys of multiple customer nodes;
[0007] The customer node generates the first ring signature data for the product order using the customer public key set. The product order includes the order number, customer identity, payment bank identity, product details, payment amount, and payment account information encrypted by the first master key. The customer public key set, customer identity, and first master key form a first mapping relationship in the security management center. The first ring signature data and product order are encrypted using the public key of the merchant node, and the ciphertext is sent to the merchant node together with the product purchase request message.
[0008] After decryption, the merchant node obtains the first ring signature data and the product order, and queries the customer authentication center whether all the public keys in the customer public key set exist. If they do not exist, it indicates that the signature verification has failed, and a customer authentication failure message is fed back to the customer node. Otherwise, the first ring signature is verified. If the signature verification result is incorrect, a customer authentication failure message is fed back to the customer node. Otherwise, the security management center provides the merchant node with a merchant public key set of multiple merchant nodes;
[0009] The merchant node uses the merchant public key set to sign the customer public key set, the product order, and the merchant settlement sheet to generate the second ring signature data. The merchant settlement sheet includes the merchant identity, the payment bank identity, and the payment account information encrypted by the second master key. The merchant public key set and the merchant identity and the second master key form a second mapping relationship in the security management center; the second ring signature data, the customer public key set, the product order, and the merchant settlement sheet are encrypted again using the public key of the payment gateway, and the ciphertext is sent to the payment gateway together with the payment request message;
[0010] After decryption, the payment gateway obtains the second ring signature data, the customer public key set, the product order, and the merchant settlement slip, and queries the merchant authentication center to see whether all the public keys in the merchant public key set exist. If not, the signature verification fails, and a merchant authentication failure message is fed back to the merchant node. Otherwise, the second ring signature is verified. If the verification result is incorrect, a merchant authentication failure message is fed back to the merchant node. Otherwise, the customer public key set, the merchant public key set, the product order, and the merchant settlement slip are encrypted with the public key of the payment bank node and sent to the payment bank node.
[0011] After decryption, the payment bank node obtains the customer public key set, the merchant public key set, the product order, and the merchant settlement slip, extracts the customer public key set and the merchant public key set and sends them to the security management center. The security management center indexes the corresponding customer identity, first master key, merchant identity, and second master key according to the customer public key set and the merchant public key set, and encrypts them with the shared key of the two and sends them to the payment bank node;
[0012] The payment bank node extracts the first master key and the second master key after decryption, uses the first master key to decrypt from the commodity order to obtain the payment account information, uses the second master key to decrypt from the merchant settlement form to obtain the payment account information, and sends a payment confirmation request message to the customer node, the payment confirmation request message is encrypted by the first master key;
[0013] After decrypting and verifying the payment confirmation request message is correct, the client node feeds back the payment confirmation message containing the payment password to the paying bank node. The payment confirmation message is encrypted by the first master key.
[0014] After decrypting and verifying the payment confirmation message, the paying bank node transfers the money from the payment account specified by the customer to the receiving account specified by the merchant. After the payment is successful, the paying bank node and the receiving bank node send the corresponding payment success message and collection success message to the customer node and the merchant node respectively.
[0015] Further preferably, the process of generating the client public key set is:
[0016] The client node generates a random number r locally c , using its own private key to generate the random number r c , Customer ID c Sign to obtain customer signature data SIG c , and use the public key of the security management center to sign the customer data SIG c , random number r c , Customer ID c After encryption, it is sent to the security management center;
[0017] The security management center decrypts and extracts the customer identity ID c The corresponding public key signs the customer data SIG c Verify the signature and generate a random number r locally when it is confirmed to be true s_1 , the random number r c With random number r s_1 After cascading, N hash iteration operations are performed, and the hash value h obtained by each hash operation is i As a pointer indexing the corresponding bit in the bit array, and extracting the public key indexed by the bit, the bit array indexing the public keys belonging to different client nodes stored in the database bit by bit;
[0018] The extracted N public keys form a client public key set.
[0019] Further preferably, the generation process of the first master key is:
[0020] The client node sets the secret value x c , calculate the public parameters The parameter y will be exposed c and a random number r c Send them to the security management center together;
[0021] The security management center sets the secret value x s_1 , calculate the public parameters Then combined with the public parameter y c and a random number r s_1 Further generate the first master key:
[0022]
[0023] The Security Management Center will disclose the parameter y s_1 and a random number r s_1 Sent to the client node together;
[0024] The client node uses the secret value x c , public parameter y s_1 and a random number r c Further generate the first master key:
[0025]
[0026] Among them, k sc =k cs , q represents a large prime number, and g represents a generator over the finite field GF(q).
[0027] Further preferably, the process of generating the merchant public key set is:
[0028] The merchant node generates a random number r locally m , using its own private key to generate the random number r m , Merchant ID m Sign to obtain the merchant signature data SIG m , and use the public key of the security management center to sign the merchant data SIG m , random number r m , Merchant ID m After encryption, it is sent to the security management center;
[0029] The security management center decrypts and extracts the merchant ID m The corresponding public key to the merchant signature data SIG m Verify the signature and generate a random number r locally when it is confirmed to be true s_2 , the random number r m With random number r s_2 After cascading, M hash iterations are performed, with the hash value h obtained by each hash operation j As a pointer indexing the corresponding bit in the bit array, and extracting the public key indexed by the bit, the bit array indexes the public keys belonging to different merchant nodes stored in the database bit by bit;
[0030] The extracted M public keys form a merchant public key set.
[0031] Further preferably, the generation process of the second master key is:
[0032] Merchant node sets secret value x m , calculate the public parameters The parameter y will be exposed m and a random number r m Send them to the security management center together;
[0033] The security management center sets the secret value x s_2 , calculate the public parameters Then combined with the public parameter y m and a random number r s_2 Further generate the second master key:
[0034]
[0035] The Security Management Center will disclose the parameter y s_2 and a random number r s_2 Sent to the merchant node together;
[0036] The merchant node uses the public parameter y s_2 , secret value x m and a random number r m Further generate the second master key:
[0037]
[0038] Among them, k sm =k ms , q represents a large prime number, and g represents a generator over the finite field GF(q).
[0039] Further preferably, the security management center sets a customer security parameter mapping table and a merchant security parameter mapping table for the customer node and the merchant node respectively;
[0040] The table items in the customer security parameter mapping table include: a first table item identifier, a customer public key set, a customer identity identifier, and a first master key. The customer public key set is cascaded and then hashed to calculate a hash value as the first table item identifier, which is used to index the corresponding table item.
[0041] The items in the merchant security parameter mapping table include: a second item identifier, a merchant public key set, a merchant identity identifier, and a second master key. The merchant public key set is cascaded and then hashed to calculate the obtained hash value as the second item identifier, which is used to index the corresponding item.
[0042] The present invention also provides a transaction account anonymous payment system, which specifically includes: a client, a merchant service end, a security management center, a customer authentication center, a merchant authentication center, a payment gateway, a payment bank terminal, and a collection bank terminal;
[0043] Client: Set in the user terminal device, the client node obtains the product selection service provided by the e-commerce platform through the client, generates the first-ring signature data for the product order using the client public key set, and sends the product purchase request message containing the first-ring signature data and the product order to the merchant server in an encrypted manner, verifies the authenticity of the payment confirmation request message, and after confirming that it is true, sends the payment confirmation message containing the payment password to the payment bank terminal in an encrypted manner;
[0044] Merchant server: a remote terminal set up at the merchant node, which provides commodity selection services for clients in the network through the designed e-commerce platform, verifies the authenticity of the first-ring signature data in the commodity purchase request message using the client public key query port provided by the client authentication center, and uses the merchant public key set to sign the customer public key set, commodity order, and merchant settlement sheet that are verified as true by the first-ring signature data, generates the second-ring signature data, and sends a payment request message containing the second-ring signature data, the customer public key set, the commodity order, and the merchant settlement sheet to the payment gateway in an encrypted manner, receives and provides the client with the specified commodity according to the successful payment message;
[0045] Security Management Center: Responsible for providing the client and merchant server with the public key data set for ring signature and the master key parameters for encrypting the payment account information, providing the customer authentication center and the merchant authentication center with the real-time updated customer public key and merchant public key, verifying the authenticity of the customer public key set and merchant public key set provided by the payment bank terminal, and after confirming that they are true, indexing the corresponding customer identity, first master key, merchant identity, and second master key according to the customer public key set and merchant public key set, and sending them to the payment bank terminal in an encrypted manner;
[0046] Payment Gateway: Use the merchant public key query port provided by the merchant authentication center to verify the authenticity of the second-ring signature data in the payment request message, and send the customer public key set, merchant public key set, product order, and merchant settlement slip whose second-ring signature data is verified to be true to the payment bank terminal in an encrypted manner;
[0047] Payment bank terminal: Verify the authenticity of the customer public key set and the merchant public key set through the security management center, use the first master key and the second master key provided by the security management center to decrypt and obtain the payment account information and the receiving account information, send a payment confirmation request message to the client in an encrypted manner, verify the authenticity of the payment confirmation message fed back by the client, and transfer the money from the payment account specified by the customer to the receiving account specified by the merchant after confirming that it is true, and send a payment success message to the client at the same time;
[0048] Receiving bank terminal: receives payment from the paying bank terminal and sends a payment success message to the merchant server;
[0049] Customer Authentication Center: Receives customer public keys from the Security Management Center, completes the update of local customer public key sets, and provides a port for merchant servers to query customer public keys;
[0050] Merchant Authentication Center: Receives the merchant public key provided by the Security Management Center, completes the update of the local merchant public key set, and provides a port for merchant public key query for the payment gateway.
[0051] The advantages of the transaction account anonymous payment method and system provided by the present invention are:
[0052] Under the supervision of the security management center, a ring authentication chain is implemented between transaction participants. In the process of completing the payment of a commodity order, the merchant node is responsible for authenticating the identity of the customer node, the payment gateway is responsible for authenticating the identity of the merchant node, and the customer node and the payment bank node are responsible for authenticating the final payment procedure. The work of authenticating the identities of both parties of the transaction, which was previously solely undertaken by the payment gateway, is distributed among the participants, reducing the workload of the payment gateway and avoiding the catastrophic consequences caused by the defection or attack of the payment gateway.
[0053] The public key set allocated by the security management center is given to the customer node and the merchant node. The transaction parties use it to generate ring signature data that can verify the legal identity of the customer and the merchant. At the same time, the anonymous feature of the ring signature prevents the node public key from being directly exposed on the network, providing an opportunity for criminals to forge signatures. The highly trusted security management center can reversely infer the true identity of the signer of the ring signature data based on the public key combination information, so that any legal signature can be traced;
[0054] The payment and receipt account information is hidden in the product order and merchant settlement statement. The actual transaction accounts of the customer and the merchant are not visible to the payment gateway. Only after the ring signature data is verified by the security management center can the real customer payment account information and merchant collection account information be obtained at the payment bank node. Finally, the customer's issuing bank and the client complete the payment confirmation operation. During the entire transaction process, the bank accounts of both parties to the transaction are transparent to the payment gateway. In addition, for the security management center, it only provides security parameters or authentication services for each object involved in the payment process with high trust as the factor, and does not directly participate in specific payment activities, that is, it has no way to obtain specific product orders and merchant information, and does not verify the specific order subject matter, ensuring the independent operation of the transaction entity business and security authentication work. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] Figure 1 A flow chart of the anonymous payment method for a transaction account provided by the present invention;
[0056] Figure 2 The process of generating a set of customer / merchant public keys in the security management center;
[0057] Figure 3 This is an architecture diagram of the anonymous payment system for transaction accounts provided by the present invention. DETAILED DESCRIPTION
[0058] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0059] The present invention provides an anonymous payment method for transaction accounts based on e-commerce platform applications. The security management center acts as a security guide to perform anonymous signature authentication and anonymous transaction account verification of the legitimacy of user and merchant identities, and isolate transaction business data from transaction account information on a third-party payment platform to avoid the problem of online banking account funds being easily stolen or swiped due to association, thereby realizing privacy protection of user personal information.
[0060] like Figure 1 As shown, the transaction account anonymous payment method provided by the present invention specifically includes the following contents:
[0061] First, customers can log in to the e-commerce platform website through the browser mode or client program mode. On the product display page of the e-commerce platform, users search and select the required products or service types. After the selection is completed, the customer node generates a product order from the payment page of the e-commerce platform. The product order mainly includes the order number, customer identity, payment bank identity, product details, payment amount, and payment account information. The customer node represents the customer's login identity on the e-commerce platform, including the user name, user password, bound mobile phone or email information, and the unique user identity (or ID) generated by the system during the registration stage.
[0062] After generating a commodity order, the client node needs to send a commodity purchase request message to the merchant node, and the merchant node completes the order confirmation operation. The merchant node is used to represent the merchant's login identity on the e-commerce platform. In the process of executing the commodity order confirmation, the present invention adopts a ring signature mechanism for the public key used for customer identity verification. The ring signature implements the use of a public key set, including the signer's public key and the signer's own private key to sign the message, and the verifier cannot determine who the actual signer in the public key set is. The difference of the present invention is that all the public keys of the customer are allocated and managed by the security management center, the customer node locally saves its own public and private key pairs, the public key set used by the ring signature of the customer node is provided by the security management center, and all public keys in the set are legal public keys of different customers. Although the ring signature data is anonymous to any third party, the security management center can trace back the true identity of the signer through different public key sets, and use this function to feedback to the payment bank node whether the transaction is truly safe, and complete the payment authentication confirmation.
[0063] The security management center is provided by institutions with high credibility, such as financial regulatory agencies or network security management agencies of government banks. Since these departments have national credibility as a guarantee, they have higher security and system reliability than traditional third-party payment platforms (such as Alipay). The identity of the customer node and the merchant node corresponds to the public key one by one, which is used to determine the true identity of the customer and the merchant.
[0064] The specific process of generating the client public key set is as follows:
[0065] After generating a product order, the client node c generates a random number r locally. c , using its own private key to generate the random number r c , Customer ID c Sign to obtain customer signature data SIG c , and use the public key of the security management center to sign the customer data SIG c , random number r c , Customer ID c The data is encrypted and sent to the security management center.
[0066] The security management center uses the private key to decrypt and extract the customer identity ID c The corresponding public key signs the customer data SIG c Verify the signature and generate a random number r locally when it is confirmed to be true s_1 , the random number r c With random number r s_1 After cascading, N hash iteration operations are performed, and the hash value h obtained by each hash operation is i (1≤i≤N) is used as the pointer to index the corresponding bit in the bit array, and the public key indexed by the bit is extracted. The N extracted public keys form a client public key set, which is then encrypted again with the client's public key and sent back to the client node. The client node uses its own private key to decrypt and obtain the client public key set.
[0067] like Figure 2 The bit array structure shown in the figure is a bit array that indexes the public keys of different customer nodes or merchant nodes stored in the database. Figure 2 For example, set the length of the bit array to 2 t bits, each of which points to a customer public key or merchant public key in the database. Therefore, the length of the bit array needs to be no less than the number of all registered customer public keys or merchant public keys, and the bits in the bit array cannot be left empty to avoid extracting null values. Multiple bits can point to the same customer public key or merchant public key. The guidance rules of the public key can be automatically generated by a random algorithm or manually selected and assigned. The hash value h obtained by the i-th hash iteration operation is iAfter rounding, the converted decimal hash number is pointed to the corresponding bit in the bit array, and then the public key data stored in the bit is extracted from the database. When the number of registered customer public keys and merchant public keys continues to increase, the bit array can be expanded to meet the needs of signature users.
[0068] The Security Management Center implements physical isolation between the customer public key set and the merchant public key set. The customer public key set and the merchant public key set are managed by the customer authentication center and the merchant authentication center respectively, and different usage permissions are provided to each participant in the transaction. The Security Management Center provides the public key set required for signatures for the customer node and the merchant node. The customer authentication center and the merchant authentication center provide designated query ports for the merchant node and the payment gateway respectively to complete the ring signature verification work.
[0069] The client node uses the client public key set to generate the first ring signature data for the product order. Assume that the signer arbitrarily selects N users when creating the ring signature. Each user A i Each has a public key PK i and private key SK i , we can define a mixing function such as C k,v (y1,y2,...,y N )For any set of inputs (y1, y2, ..., y N ) can be solved, but for the attacker, if the trapdoor functions g1, g2, ..., g N The inverse function of C k,v (g1(x1), g2(x2), ..., g N (x N )) It is impossible to find x1, x2, ..., x N This process specifically requires the execution of the following three algorithms: keyGen(), Sign(), and Verify().
[0070] Key generation algorithm: keyGen()
[0071] Assume that keyGen() is a probabilistic polynomial function, where the input is the set security parameter λ, and the output is the public key PKi and the private key SKi. This key pair is generated by the security management center and assigned to the designated customer or merchant node. Classic public key encryption algorithms such as RSA and ElGamal can be used.
[0072] Signature algorithm: Sign()
[0073] The client node uses its own private key SK c The information M is signed with the customer’s public key set. At this time, M is the product order data, and a ring signature σ is generated.
[0074] 1. The security management center provides the signer with a ring public key set L = {PK1, PK2, ...PK N}, where each PK i With a transformed y i Related;
[0075] 2. Calculate k = H (M), where H represents the hash operation and k is the symmetric encryption algorithm E. k The key of
[0076] 3. Select a random number v, initial value v∈{0,1} b ;
[0077] 4. Generate a random number x i (i=1,2,...N,i≠c), that is, the signer assigns a random number x to all client public keys except his own. i , according to x i Calculate the corresponding y i =g(x i );
[0078] 5. Solve equation C k,v (y1,y2,...,y N )=v, and get the corresponding value y of the signer c ;
[0079] 6. The signer solves the corresponding
[0080] 7. Generate a (2N+1)-tuple ring signature σ=(PK1,PK2,...PK N ,v,x1,x2,...,x N ).
[0081] Verification algorithm: Verify()
[0082] 1. According to x i Calculate y i =g(x i ), get (y1, y2, ..., y N );
[0083] 2. Calculate k = H(M);
[0084] 3. Substitute the above parameters into the ring equation C k,v (y1,y2,...,y N )=v, verify whether this equation is true. If it is true, it indicates that the verification is successful and the output is "True". Otherwise, it indicates that the verification fails and the output is "False".
[0085] For an attacker, even if he obtains the private keys of all ring members, the probability of correctly identifying the real signer is no more than 1 / N.
[0086] After executing the first ring signature, the customer node needs to hide the payment account information selected for this transaction and send it to the merchant node together with the product order. Specifically, the payment account information is encrypted using the first master key negotiated with the security management center.
[0087] The present invention adopts the Diffie-Hellman key exchange algorithm, and the key exchange process implemented is:
[0088] The client node sets the secret value x c , calculate the public parameters q represents a large prime number, g represents a generator over the finite field GF(q), and the parameter y is made public. c and a random number r c Send them to the security management center together;
[0089] The security management center sets the secret value x s_1 , calculate the public parameters Then combined with the public parameter y c and a random number r s_1 Further generate the first master key:
[0090]
[0091] The Security Management Center will disclose the parameter y s_1 and a random number r s_1 Sent to the client node together;
[0092] The client node uses the secret value x c , public parameter y s_1 and a random number r c Further generate the first master key:
[0093]
[0094] That is k sc =k cs , which is used as the shared key exchanged by both parties. In the above DH algorithm, a random number is added as the key parameter variable, which makes the generated active key more random and increases the difficulty of cracking.
[0095] After completing the encryption operation of the payment account information, the client node uses the public key of the merchant node to encrypt the first ring signature data and the product order, and sends the ciphertext along with the product purchase request message to the merchant node.
[0096] After decryption, the merchant node obtains the first-ring signature data and the product order, and queries the customer authentication center to see whether all the public keys in the customer public key set exist. If there is an unrecognized customer public key in the set, it indicates that the signature data is incorrect or has been maliciously tampered with, and a customer authentication failure message is fed back to the customer node. Otherwise, the first-ring signature is verified. If the verification result is incorrect, a customer authentication failure message is also fed back to the customer node. If the verification result is correct, it indicates that the customer node identity is legal and the product order data is complete.
[0097] Furthermore, the merchant node needs to send a payment request message to the payment gateway (or a third payment platform), and the payment gateway verifies the merchant node. The payment request message includes the merchant settlement slip, customer public key set, product order and signature data. The merchant node uses the merchant public key set to sign the customer public key set, product order and merchant settlement slip to generate the second ring signature data. The merchant settlement slip includes the merchant identity, the payment bank identity, and the payment account information encrypted by the second master key, that is, the payment account information set by the merchant node is hidden, and the second ring signature data, customer public key set, product order and merchant settlement slip are encrypted again using the public key of the payment gateway, and the ciphertext is sent to the payment gateway along with the payment request message.
[0098] The specific generation process of the merchant public key set is:
[0099] After generating the merchant settlement form, the merchant node m generates a random number r locally m , using its own private key to generate the random number r m , the merchant identity IDm is signed to obtain the merchant signature data SIG m , and use the public key of the security management center to sign the merchant data SIG m , random number r m , Merchant ID m The data is encrypted and sent to the security management center.
[0100] The security management center uses the private key to decrypt and extract the merchant ID m The corresponding public key to the merchant signature data SIG m Verify the signature and generate a random number r locally when it is confirmed to be true s_2 , the random number r m With random number r s_2 After cascading, M hash iterations are performed, with the hash value h obtained by each hash operation j(1≤j≤M) is used as a pointer to index the corresponding bit in the bit array, and the public key indexed by the bit is extracted. The M public keys extracted form the merchant public key set. Then the merchant's public key is used to encrypt it again and send it back to the merchant node. The merchant node uses its own private key to decrypt and obtain the merchant public key set. The bit array indexes the public keys of different merchant nodes stored in the database bit by bit.
[0101] The second master key is consistent with the aforementioned key exchange algorithm. The specific key exchange process is:
[0102] Merchant node sets secret value x m , calculate the public parameters The parameter y will be exposed m and a random number r m Send them to the security management center together;
[0103] The security management center sets the secret value x s_2 , calculate the public parameters Then combined with the public parameter y m and a random number r s_2 Further generate the second master key:
[0104]
[0105] The Security Management Center will disclose the parameter y s_2 and a random number r s_2 Sent to the merchant node together;
[0106] The merchant node uses the public parameter y s_2 , secret value x m and a random number r m Further generate the second master key:
[0107]
[0108] Among them, k sm =k ms , which is used as the shared key exchanged between the security management center and the merchant.
[0109] After completing the encryption operation of the payment account information, the merchant node uses the public key of the payment gateway to encrypt the second ring signature data, customer public key set, product order, and merchant settlement statement again, and sends the encrypted payment request message to the payment gateway together.
[0110] After the payment gateway uses its own private key to decrypt, it obtains the second-ring signature data, customer public key set, product order, and merchant settlement statement, and queries the merchant authentication center to see whether all the public keys in the merchant public key set exist. If there is an illegal merchant public key, the merchant authentication failure message is fed back to the merchant node, otherwise, the second-ring signature continues to be verified. If the verification result is incorrect, the merchant authentication failure message is fed back to the merchant node. If the verification result is correct, the customer public key set, merchant public key set, product order, and merchant settlement statement are encrypted with the public key of the payment bank node and sent to the payment bank node.
[0111] The payment gateway is only responsible for authenticating the legitimacy of the merchant's identity and checking the data integrity of product orders and merchant settlement orders. It does not participate in the identity authentication of the customer node. Although the payment gateway can obtain the customer's identity information through the order, it cannot associate it with the corresponding public key, thus protecting the customer's privacy. The bank accounts of both parties to the transaction are invisible to the payment gateway. Even if an attacker invades the payment gateway or third-party payment platform, he cannot obtain specific transaction account information.
[0112] After decrypting the ciphertext, the payment bank node obtains the customer public key set, the merchant public key set, the product order, and the merchant settlement slip, extracts the customer identity in the product order, the merchant identity in the merchant settlement slip, the customer public key set, and the merchant public key set, and sends them to the security management center. The security management center indexes the corresponding customer identity, first master key, merchant identity, and second master key according to the customer public key set and merchant public key set, and encrypts them with the shared key of the two and sends them to the payment bank node. The shared key can be jointly negotiated by both parties when initially signing the service, or transmitted through a physical storage device in a more secure offline manner.
[0113] The security management center sets up a customer security parameter mapping table and a merchant security parameter mapping table for the customer node and the merchant node respectively.
[0114] The table items in the customer security parameter mapping table include: a first table item identifier, a customer public key set, a customer identity identifier, and a first master key. The hash value h is calculated by performing a hash operation after concatenating the customer public key set. c :
[0115] h e =Hash(PK i ||PK2||...PK N-1 ||PK N )
[0116] h cAs the first table entry identifier, it is used to index the corresponding table entry, so that the customer public key set, the customer identity identifier, and the first master key form a first mapping relationship in the security management center. The above public keys are cascaded in the order of the bits in the bit array. Taking the customer security parameter mapping table as an example, each table entry can be expressed as:
[0117] First entry identifier Client public key collection Customer identification First Master Key <![CDATA[h c ]]> L <![CDATA[ID c ]]> <![CDATA[k sc ]]>
[0118] The table items in the merchant security parameter mapping table include: a second table item identifier, a merchant public key set, a merchant identity identifier, and a second master key. The same method as above is used, by cascading the merchant public key set and performing a hash operation, and the calculated hash value is used as the second table item identifier, which is used to index the corresponding table item, so that the merchant public key set and the merchant identity identifier, and the second master key form a second mapping relationship in the security management center.
[0119] When the security management center simultaneously queries the table entries corresponding to the first table entry identifier and the second table entry identifier, the customer identity identifier, the first master key, the merchant identity identifier, and the second master key are extracted therefrom. Upon further confirmation that the received customer identity identifier and merchant identity identifier are consistent with the records in the mapping table, the first and second master keys are sent to the payment bank node in a secret manner.
[0120] After decryption, the payment bank node extracts the first master key and the second master key, uses the first master key to decrypt from the product order to obtain the payment account information, uses the second master key to decrypt from the merchant settlement form to obtain the receiving account information, and then sends a payment confirmation request message to the customer node. At this time, the payment confirmation request message is encrypted by the first master key.
[0121] After decrypting and verifying the payment confirmation request message, the client node feeds back the payment confirmation message containing the payment password to the paying bank node. The payment confirmation message is also encrypted by the first master key. The payment password can contain facial recognition data with user biometrics or verification messages such as text messages provided by the mobile network.
[0122] After the payment bank node decrypts the ciphertext again and verifies that the payment confirmation message is correct, it transfers the money from the payment account specified by the customer to the payment account specified by the merchant, and records the summary message of the order number of this transaction in the transfer voucher or deposit slip. After the payment is successful, the payment bank node sends a payment success message to the customer node, and the payment bank node sends a payment success message to the merchant node with the order number of this transaction attached. The merchant node provides goods or services to the designated customer according to the order.
[0123] To implement the above electronic payment method, the present invention also provides a transaction account anonymous payment system, such as Figure 3As shown, the system specifically includes: a client, a merchant service end, a security management center, a customer authentication center, a merchant authentication center, a payment gateway, a paying bank terminal, and a receiving bank terminal.
[0124] Client: It is set in the user terminal device, such as a mobile phone terminal or a personal computer terminal. The client node obtains the product selection service provided by the e-commerce platform through the client, generates the first-ring signature data for the product order using the client public key set, and sends the product purchase request message containing the first-ring signature data and the product order to the merchant server in an encrypted manner, verifies the authenticity of the payment confirmation request message, and after confirming that it is true, sends the payment confirmation message containing the payment password to the payment bank terminal in an encrypted manner.
[0125] Merchant server: A remote terminal set up at the merchant node. It provides commodity selection and purchase services to clients in the network through the designed e-commerce platform. It uses the customer public key query port provided by the customer authentication center to verify the authenticity of the first-ring signature data in the commodity purchase request message. It uses the merchant public key set to sign the customer public key set, commodity order, and merchant settlement sheet that are verified as true by the first-ring signature data, generates the second-ring signature data, and sends a payment request message containing the second-ring signature data, customer public key set, commodity order, and merchant settlement sheet to the payment gateway in an encrypted manner. It receives and provides the client with the specified commodity based on the successful payment message.
[0126] Security Management Center: Responsible for providing the client and merchant server with the public key data set for ring signature and the master key parameters for encrypting the payment account information, providing the customer authentication center and the merchant authentication center with real-time updated customer public keys and merchant public keys, verifying the authenticity of the customer public key set and merchant public key set provided by the payment bank terminal, and after confirming that they are true, indexing the corresponding customer identity, first master key, merchant identity, and second master key according to the customer public key set and merchant public key set, and sending them to the payment bank terminal in an encrypted manner.
[0127] Payment Gateway: Use the merchant public key query port provided by the merchant authentication center to verify the authenticity of the second-ring signature data in the payment request message, and encrypt and send the customer public key set, merchant public key set, product order, and merchant settlement slip that are verified as true in the second-ring signature data to the payment bank terminal.
[0128] Payment bank terminal: Verify the authenticity of the customer public key set and the merchant public key set through the security management center, use the first master key and the second master key provided by the security management center to decrypt the payment account information and the receiving account information, send a payment confirmation request message to the client in an encrypted manner, verify the authenticity of the payment confirmation message fed back by the client, and transfer the money to the receiving account specified by the merchant according to the payment account specified by the customer after confirming that it is true, and send a payment success message to the client at the same time.
[0129] Receiving bank terminal: Receives payment from the paying bank terminal and sends a payment success message to the merchant server.
[0130] Customer Authentication Center: Receives customer public keys provided by the Security Management Center, completes the update of the local customer public key set, and provides a port for customer public key query for the merchant server.
[0131] Merchant Authentication Center: Receives the merchant public key provided by the Security Management Center, completes the update of the local merchant public key set, and provides a port for merchant public key query for the payment gateway.
[0132] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.
Claims
1. A transaction account anonymous payment method, characterized in that: include: After the customer node generates a product order from the payment page of the e-commerce platform, the security management center provides the customer node with a set of customer public keys of multiple customer nodes; The customer node generates the first ring signature data for the product order using the customer public key set. The product order includes the order number, customer identity, payment bank identity, product details, payment amount, and payment account information encrypted by the first master key. The customer public key set, customer identity, and first master key form a first mapping relationship in the security management center. The first ring signature data and product order are encrypted using the public key of the merchant node, and the ciphertext is sent to the merchant node together with the product purchase request message. After decryption, the merchant node obtains the first ring signature data and the product order, and queries the customer authentication center whether all the public keys in the customer public key set exist. If they do not exist, it indicates that the signature verification has failed, and a customer authentication failure message is fed back to the customer node. Otherwise, the first ring signature is verified. If the signature verification result is incorrect, a customer authentication failure message is fed back to the customer node. Otherwise, the security management center provides the merchant node with a merchant public key set of multiple merchant nodes; The merchant node uses the merchant public key set to sign the customer public key set, the product order, and the merchant settlement sheet to generate the second ring signature data. The merchant settlement sheet includes the merchant identity, the payment bank identity, and the payment account information encrypted by the second master key. The merchant public key set and the merchant identity and the second master key form a second mapping relationship in the security management center; the second ring signature data, the customer public key set, the product order, and the merchant settlement sheet are encrypted again using the public key of the payment gateway, and the ciphertext is sent to the payment gateway together with the payment request message; After decryption, the payment gateway obtains the second ring signature data, the customer public key set, the product order, and the merchant settlement slip, and queries the merchant authentication center to see whether all the public keys in the merchant public key set exist. If not, the signature verification fails, and a merchant authentication failure message is fed back to the merchant node. Otherwise, the second ring signature is verified. If the verification result is incorrect, a merchant authentication failure message is fed back to the merchant node. Otherwise, the customer public key set, the merchant public key set, the product order, and the merchant settlement slip are encrypted with the public key of the payment bank node and sent to the payment bank node. After decryption, the payment bank node obtains the customer public key set, the merchant public key set, the product order, and the merchant settlement slip, extracts the customer public key set and the merchant public key set and sends them to the security management center. The security management center indexes the corresponding customer identity, first master key, merchant identity, and second master key according to the customer public key set and the merchant public key set, and encrypts them with the shared key of the two and sends them to the payment bank node; The payment bank node extracts the first master key and the second master key after decryption, uses the first master key to decrypt from the commodity order to obtain the payment account information, uses the second master key to decrypt from the merchant settlement form to obtain the payment account information, and sends a payment confirmation request message to the customer node, the payment confirmation request message is encrypted by the first master key; After decrypting and verifying the payment confirmation request message is correct, the client node feeds back the payment confirmation message containing the payment password to the paying bank node. The payment confirmation message is encrypted by the first master key. After decrypting and verifying the payment confirmation message, the paying bank node transfers the money from the payment account specified by the customer to the receiving account specified by the merchant. After the payment is successful, the paying bank node and the receiving bank node send the corresponding payment success message and collection success message to the customer node and the merchant node respectively.
2. The anonymous payment method for a transaction account according to claim 1, characterized in that: The process of generating the client public key set is: The client node generates a random number r locally c , using its own private key to generate the random number r c , Customer ID c Sign to obtain customer signature data SIG c , and use the public key of the security management center to sign the customer data SIG c , random number r c , Customer ID c After encryption, it is sent to the security management center; The security management center decrypts and extracts the customer ID c The corresponding public key signs the customer data SIG c Verify the signature and generate a random number r locally when it is confirmed to be true s_1 , the random number r c With random number r s_1 After cascading, N hash iterations are performed, with the hash value h obtained by each hash operation i As a pointer indexing the corresponding bit in the bit array, and extracting the public key indexed by the bit, the bit array indexing the public keys belonging to different client nodes stored in the database bit by bit; The extracted N public keys form a client public key set.
3. The anonymous payment method for a transaction account according to claim 2, characterized in that: The generation process of the first master key is: The client node sets the secret value x c , calculate the public parameters The parameter y will be exposed c and a random number r c Send them to the security management center together; The security management center sets the secret value x s_1 , calculate the public parameters Then combined with the public parameter y c and a random number r s_1 Further generate the first master key: The Security Management Center will disclose the parameter y s_1 and a random number r s_1 Sent to the client node together; The client node uses the secret value x c , public parameter y s_1 and a random number r c Further generate the first master key: Among them, k sc =k cs , q represents a large prime number, and g represents a generator over the finite field GF(q).
4. The anonymous payment method for a transaction account according to claim 1, characterized in that: The process of generating the merchant public key set is: The merchant node generates a random number r locally m , using its own private key to generate the random number r m , Merchant ID m Sign to obtain the merchant signature data SIG m , and use the public key of the security management center to sign the merchant data SIG m , random number r m , Merchant ID m After encryption, it is sent to the security management center; The security management center decrypts and extracts the merchant ID m The corresponding public key to the merchant signature data SIG m Verify the signature and generate a random number r locally when it is confirmed to be true s_2 , the random number r m With random number r s_2 After cascading, M hash iterations are performed, with the hash value h obtained by each hash operation j As a pointer indexing the corresponding bit in the bit array, and extracting the public key indexed by the bit, the bit array indexes the public keys belonging to different merchant nodes stored in the database bit by bit; The extracted M public keys form a merchant public key set.
5. The anonymous payment method for a transaction account according to claim 4, characterized in that: The generation process of the second master key is: Merchant node sets secret value x m , calculate the public parameters The parameter y will be exposed m and a random number r m Send them to the security management center together; The security management center sets the secret value x s_2 , calculate the public parameters Then combined with the public parameter y m and a random number r s_2 Further generate the second master key: The Security Management Center will disclose the parameter y s_2 and a random number r s_2 Sent to the merchant node together; The merchant node uses the public parameter y s_2 , secret value x m and a random number r m Further generate the second master key: Among them, k sm =k ms , q represents a large prime number, and g represents a generator over the finite field GF(q).
6. The anonymous payment method for a transaction account according to claim 1, characterized in that: The security management center sets up a customer security parameter mapping table and a merchant security parameter mapping table for the customer node and the merchant node respectively; The table items in the customer security parameter mapping table include: a first table item identifier, a customer public key set, a customer identity identifier, and a first master key. The customer public key set is cascaded and then hashed to calculate a hash value as the first table item identifier, which is used to index the corresponding table item. The items in the merchant security parameter mapping table include: a second item identifier, a merchant public key set, a merchant identity identifier, and a second master key. The merchant public key set is cascaded and then hashed to calculate the obtained hash value as the second item identifier, which is used to index the corresponding item.
7. A transaction account anonymous payment system, characterized in that: The system includes: client, merchant service end, security management center, customer authentication center, merchant authentication center, payment gateway, payment bank terminal, and receiving bank terminal; Client: Set in the user terminal device, the client node obtains the product selection service provided by the e-commerce platform through the client, generates the first-ring signature data for the product order using the client public key set, and sends the product purchase request message containing the first-ring signature data and the product order to the merchant server in an encrypted manner, verifies the authenticity of the payment confirmation request message, and after confirming that it is true, sends the payment confirmation message containing the payment password to the payment bank terminal in an encrypted manner; Merchant server: a remote terminal set up at the merchant node, which provides commodity selection services for clients in the network through the designed e-commerce platform, verifies the authenticity of the first-ring signature data in the commodity purchase request message using the client public key query port provided by the client authentication center, and uses the merchant public key set to sign the customer public key set, commodity order, and merchant settlement sheet that are verified as true by the first-ring signature data, generates the second-ring signature data, and sends a payment request message containing the second-ring signature data, the customer public key set, the commodity order, and the merchant settlement sheet to the payment gateway in an encrypted manner, receives and provides the client with the specified commodity according to the successful payment message; Security Management Center: Responsible for providing the client and merchant server with the public key data set for ring signature and the master key parameters for encrypting the payment account information, providing the customer authentication center and the merchant authentication center with the real-time updated customer public key and merchant public key, verifying the authenticity of the customer public key set and merchant public key set provided by the payment bank terminal, and after confirming that they are true, indexing the corresponding customer identity, first master key, merchant identity, and second master key according to the customer public key set and merchant public key set, and sending them to the payment bank terminal in an encrypted manner; Payment Gateway: Use the merchant public key query port provided by the merchant authentication center to verify the authenticity of the second-ring signature data in the payment request message, and send the customer public key set, merchant public key set, product order, and merchant settlement slip that are verified as true in the second-ring signature data to the payment bank terminal in an encrypted manner; Payment bank terminal: Verify the authenticity of the customer public key set and the merchant public key set through the security management center, use the first master key and the second master key provided by the security management center to decrypt and obtain the payment account information and the receiving account information, send a payment confirmation request message to the client in an encrypted manner, verify the authenticity of the payment confirmation message fed back by the client, and transfer the money from the payment account specified by the customer to the receiving account specified by the merchant after confirming that it is true, and send a payment success message to the client at the same time; Receiving bank terminal: receives payment from the paying bank terminal and sends a payment success message to the merchant server; Customer Authentication Center: Receives customer public keys from the Security Management Center, completes the update of local customer public key sets, and provides a port for merchant servers to query customer public keys; Merchant Authentication Center: Receives the merchant public key provided by the Security Management Center, completes the update of the local merchant public key set, and provides a port for merchant public key query for the payment gateway.