Protection method and device for sensitive information of payment switching system, equipment and medium
By setting up a front-end device in front of the payment transfer system, using encoding and hashing algorithms to process sensitive information and generate non-plaintext character strings, the problem of low security of sensitive information in the payment transfer system is solved, and higher information security and cost-effectiveness are achieved.
Patent Information
- Application Number
- CN202510935268.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-07
- Publication Date
- 2025-10-10
AI Technical Summary
During the payment process, the payment transfer system directly accesses the plain text of sensitive information such as user information and payment card numbers, resulting in low information security and easy leakage of key encryption methods, which increases security protection costs and risks.
A payment transfer front-end device is set up in front of the payment transfer system, and the encoding algorithm and hash algorithm are used to process sensitive information to generate non-plaintext strings. The sensitive information is replaced by the string to avoid key or certificate exchange and realize the decoupling of sensitive information from the payment transfer system.
It improves the security of sensitive information in the payment process, prevents key leakage, reduces information security protection costs, and avoids system and device information leakage of the payment transfer system through decoupling.
Smart Images

Figure CN120768534A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data protection, and in particular to a method, apparatus, device, and medium for protecting sensitive information in a payment switching system. Background Art
[0002] During the payment process, a user initiates an order. The acquiring system sends a payment message to the payment switching system based on the user's order. With the exception of the payment card password, which is encrypted, the rest of the payment message, including user information and payment card numbers, is essentially plaintext. This means the payment switching system has direct access to plaintext sensitive information like user information and payment card numbers. To prevent the storage of plaintext sensitive information in the payment switching system, a key can be used to encrypt this information before transmitting it to the payment switching system. However, if this encryption method uses a key, once the key is leaked, all ciphertext sensitive information can be easily decrypted, compromising the security of sensitive information within the payment process. Summary of the Invention
[0003] The embodiments of the present application provide a method, apparatus, device, and medium for protecting sensitive information in a payment switching system, which can improve the security of sensitive information in the payment process.
[0004] In a first aspect, an embodiment of the present application provides a method for protecting sensitive information of a payment switching system, which is applied to a payment switching front-end device. The method includes: receiving a first payment message sent by an acquirer system, the first payment message including sensitive information, and the sensitive information including a payment card number and non-card number information; generating an obfuscation factor based on at least part of the characters in the payment card number using an encoding algorithm; processing the payment card number and the non-card number information separately using the obfuscation factor and a hash algorithm to obtain a first character string corresponding to the payment card number and a second character string corresponding to the non-card number information; and sending a second payment message including the first character string and the second character string to the payment switching system.
[0005] In a second aspect, an embodiment of the present application provides a method for protecting sensitive information in a payment switching system, which is applied to a system for protecting sensitive information in a payment switching system. The system for protecting sensitive information in a payment switching system includes a payment switching front-end device, a payment switching system, and a card management system. The card management system stores a correspondence between a character string and a payment card number. The character string in the card management system is obtained by processing the payment card number based on a pre-set encoding algorithm and hash algorithm consistent with those of the payment switching front-end device.
[0006] The method includes: a payment switching front-end device receives a first payment message sent by an acquirer system, the first payment message including sensitive information, including a payment card number and non-card number information; the payment switching front-end device generates an obfuscation factor based on at least part of the characters in the payment card number using an encoding algorithm; the payment switching front-end device processes the payment card number and the non-card number information respectively using the obfuscation factor and a hash algorithm to obtain a first character string corresponding to the payment card number and a second character string corresponding to the non-card number information; the payment switching front-end device sends a second payment message including the first character string and the second character string to the payment switching system; the payment switching system forwards the second payment message to a card management system corresponding to the second payment message; the card management system searches for the payment card number corresponding to the first character string in the corresponding relationship, and executes payment according to the payment card number corresponding to the first character string.
[0007] In a third aspect, an embodiment of the present application provides a payment transfer front-end device, including: a receiving module for receiving a first payment message sent by an acquirer system, the first payment message including sensitive information, the sensitive information including a payment card number and non-card number information; an encryption module for generating an obfuscation factor using an encoding algorithm based on at least part of the characters in the payment card number; and for processing the payment card number and non-card number information separately using the obfuscation factor and a hash algorithm to obtain a first character string corresponding to the payment card number and a second character string corresponding to the non-card number information; a sending module for sending a second payment message including the first character string and the second character string to the payment transfer system.
[0008] In a fourth aspect, an embodiment of the present application provides a system for protecting sensitive information of a payment transfer system, comprising: a payment transfer front-end device, which is communicatively connected to an acquirer system and is used to execute the method for protecting sensitive information of a payment transfer system of the first aspect; a payment transfer system, which is communicatively connected to the payment transfer front-end device and is used to forward a second payment message to a card management system corresponding to the second payment message; a card management system, which stores a correspondence between a character string and a payment card number, wherein the character string in the card management system is obtained by processing the payment card number based on a pre-set encoding algorithm and hash algorithm consistent with the payment transfer front-end device, and is communicatively connected to the payment transfer system and is used to search for a payment card number corresponding to the first character string in the correspondence, and execute payment according to the payment card number corresponding to the first character string.
[0009] In a fifth aspect, an embodiment of the present application provides an electronic device, which is applied to a payment transfer front-end device. The electronic device includes: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the method for protecting sensitive information of the payment transfer system of the first aspect is implemented.
[0010] In a sixth aspect, an embodiment of the present application provides a computer readable storage medium, and the computer readable storage medium stores computer program instructions. The computer program instructions are executed by a processor to implement the method for protecting sensitive information of a payment switching system according to the first aspect.
[0011] In a seventh aspect, an embodiment of the present application provides a computer program product, and the computer program product includes a computer program. The computer program is executed by a processor to implement the method for protecting sensitive information of a payment switching system according to the first aspect.
[0012] The method for protecting sensitive information of a payment switching system, the device, the equipment and the medium provided by the embodiments of the present application set a payment switching front-end device between an acquirer system and a payment switching system, receive a first payment message sent by the acquirer system by the payment switching front-end device, generate an obfuscation factor according to a payment card number and an encoding algorithm in the first payment message, and process sensitive information such as the payment card number and non-card number information by using the obfuscation factor and a hash algorithm to obtain a non-plain text string. The payment switching front-end device generates a second payment message based on the non-plain text string and sends the second payment message to the payment switching system, so that the payment switching system performs a subsequent payment process. The encoding algorithm and the hash algorithm do not need a key or a certificate, and thus do not need a key and certificate exchange process, avoiding a key leakage. The hash algorithm is a one-way hash function algorithm, and the generated obfuscation factor is not outputted to the outside. Even if the string in the second payment message is leaked, an attacker needs to crack the obfuscation factor and the string, and it is difficult for the attacker to restore the sensitive information from the string, so that the security of the sensitive information in the payment process can be improved. BRIEF DESCRIPTION OF DRAWINGS
[0013] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments of the present application. Those skilled in the art can obtain other drawings according to these drawings without creating any creative labor.
[0014] Figure 1 The schematic diagram of the architecture of the method for protecting sensitive information of a payment switching system provided by an embodiment of the present application is shown in FIG. 1.
[0015] Figure 2 The flowchart of the method for protecting sensitive information of a payment switching system provided by an embodiment of the present application is shown in FIG. 2.
[0016] Figure 3 The schematic diagram of an example of the variable encoding algorithm provided by an embodiment of the present application is shown in FIG. 3.
[0017] Figure 4 The schematic diagram of an example of the flow of obtaining the first string and the second string provided by an embodiment of the present application is shown in FIG. 4.
[0018] Figure 5 An example of a schematic diagram of flow of information in payment provided by an embodiment of the present application;
[0019] Figure 6 An example of a schematic diagram of a process of obtaining a second payment message provided by an embodiment of the present application;
[0020] Figure 7 An example of a schematic diagram of a payment switching pre-device provided by an embodiment of the present application;
[0021] Figure 8 A flowchart of a method for protecting sensitive information of a payment switching system provided by another embodiment of the present application;
[0022] Figure 9 A structural schematic diagram of a payment switching pre-device provided by an embodiment of the present application;
[0023] Figure 10 A structural schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0024] The features and exemplary embodiments of various aspects of the present application will be described in detail below with reference to the drawings. The purpose of the description is to make the purpose, technical solutions and advantages of the present application more clear. The following further describes the present application in detail with reference to the drawings and specific embodiments. It should be understood that the specific embodiments described herein are intended to explain the present application, not to limit the present application. The present application can be implemented without some of the specific details by those skilled in the art. The following description of the embodiments is merely intended to provide a better understanding of the present application by showing examples of the present application. It should be noted that the acquisition, storage, use, processing, etc. of information and data in the embodiments of the present application are authorized by the user or relevant institution and comply with relevant provisions of national laws and regulations.
[0025] In the payment process, a user initiates an order, and a payment switching system sends a payment message to the payment switching system according to the order initiated by the user. In the payment message, the user information, the payment card number and other information are basically in plaintext except that the payment card password is encrypted information. That is, the payment switching system directly contacts the plaintext of sensitive information such as user information and payment card number. In order to avoid the storage of plaintext sensitive information in the payment switching system, the sensitive information can be encrypted by using a key before being transmitted to the payment switching system. However, if the key is leaked, the ciphertext of all sensitive information will be easily cracked, which reduces the security of sensitive information in the payment process. At the same time, if the encryption method using the key is used, the key storage, key exchange and other aspects all need cost, which also increases the cost of information security protection. Moreover, in some cases, the payment switching system needs to accept the supervision of external agencies on sensitive information. In this case, the external agencies not only can access the sensitive information in the payment switching system, but also can access the system, device and operation information of the payment switching system itself, which is sensitive information of the payment switching system. If the sensitive information of the payment switching system is accessed by other agencies, it may cause the leakage of sensitive information of the payment switching system and reduce the security of the payment switching system.
[0026] The application provides a payment switching system sensitive information protection method, device, equipment, system and medium. A payment switching front-end device is arranged before the payment switching system. The payment message first enters the payment switching front-end device, and the payment switching front-end device encodes and confuses the sensitive information of the payment to obtain a string corresponding to the sensitive information, and sends the string to the payment switching system instead of the sensitive information. The encoding and confusion process is based on the sensitive information itself, and does not need a key or a certificate, so the exchange process of the key or the certificate is omitted, and the problem of key leakage is completely avoided. The payment switching system does not need to contact and centrally store the plaintext of the sensitive information, which can improve the security of the sensitive information in the payment process. Moreover, compared with the payment switching system directly contacting and centrally storing the plaintext of a large amount of sensitive information, the payment switching front-end device contacts the sensitive information in the embodiment of the application, which can decouple the sensitive information from the payment switching system. The external agencies can supervise the sensitive information and can be connected with the payment switching front-end device, so as to avoid the leakage of the system, device and operation information of the payment switching system, and improve the security of the payment switching system.
[0027] The payment switching system sensitive information protection method, device, equipment, system and medium provided by the application are described below.
[0028] For the convenience of understanding, the architecture of the payment switching system sensitive information protection system provided by the application is first simply described. Figure 1This is a schematic diagram of the architecture of a system for protecting sensitive information of a payment switching system provided in one embodiment of the present application. Figure 1 As shown, the protection system for sensitive information of the payment switching system may include a payment switching front-end device 11, a payment switching system 12 and a card management system 13.
[0029] The payment transfer front-end device 11 can be communicatively connected with the payment transfer system 12. The payment message initiated by the acquirer system is no longer sent directly to the payment transfer system 12, but is first sent to the payment transfer front-end device 11. The payment transfer front-end device 11 processes the sensitive information in the payment message, converts it into a non-plaintext string, replaces the sensitive information in the payment message with the string, and sends the payment information processed by the string replacement to the payment transfer system 12. When the payment transfer front-end device 11 receives the payment response message fed back by the payment transfer system 12, it will also forward the payment response message to the acquirer system, or process the payment response message fed back by the payment transfer system 12, and forward the processed payment response message to the acquirer system, so that the acquirer system can know the payment result. The payment transfer front-end device 11 can be implemented by one or more than two devices, and the type and number of devices that implement the functions of the payment transfer front-end device 11 are not limited here.
[0030] The payment transfer system 12 can be communicatively connected with the card management system 13, and is used to forward messages between the payment transfer front-end device 11 and the card management system 13. The payment transfer system 12 can forward the payment information processed by string replacement to the corresponding card management system 13. The payment transfer system 12 does not come into contact with the plain text of sensitive information. The owner of the payment transfer system 12 can be an institution such as a card organization, and the owner of the payment transfer front-end device 11 can be the same as or different from the owner of the payment transfer system 12. It can be set according to specific scenarios and needs and is not limited here. The payment transfer system 12 can be implemented by one or more devices, and the type and number of devices that implement the functions of the payment transfer system 12 are not limited here. In the embodiment of the present application, there is no need to adaptively modify the payment transfer system 12 to implement the method for protecting sensitive information of the payment transfer system in the embodiment of the present application.
[0031] The card management system 13 is used to manage payment cards and execute payment operations. For example, the card management system 13 may belong to the issuing bank, and different issuing banks may have different card management systems 13. The card management system 13 may include a card issuing core subsystem 131 and a conversion, storage, and verification unit 132. The card management system 13 and the payment switching front-end device 11 may pre-configure an algorithm for converting sensitive information into a non-plaintext string. Because the card management system 13 manages payment cards, it contains sensitive information such as payment card numbers. The conversion, storage, and verification unit 132 uses a pre-configured algorithm to convert sensitive information such as payment card numbers into a non-plaintext string, stores the correspondence between the non-plaintext string and the payment card number, and compares the non-plaintext string in the payment message forwarded by the payment switching system 12 with the non-plaintext string stored in the storage and verification unit 132 to determine the payment card number corresponding to the payment message. The card issuing core subsystem 131 then completes the payment based on the determined payment card number. The card management system 13 may be implemented by one or more than two devices, and the type and quantity of the devices that implement the functions of the payment switching front-end device 11 are not limited here.
[0032] In some embodiments, the payment switching system's sensitive information protection system may further include an acquirer system 14. The acquirer system 14 is in communication with the payment switching front-end device 11. The specific message transmission process can be found in the relevant descriptions above and below and will not be described in detail here. In the embodiments of the present application, there is no need to modify the acquirer system 14; the existing acquirer system 14 can be used directly. In some examples, the payment switching front-end device can also be integrated into the acquirer system 14, which is not limited here.
[0033] The algorithm for converting sensitive information into a non-plaintext string in the payment switching front-end device 11 and the card management system 13 will not be described in detail here, but will be described in detail later.
[0034] This application provides a method for protecting sensitive information in a payment switching system, which can be applied to payment scenarios and can be executed by a payment switching front-end device. Figure 2 This is a flowchart of a method for protecting sensitive information of a payment switching system provided in an embodiment of the present application. Figure 2 As shown, the method for protecting sensitive information of the payment switching system may include steps S201 to S204.
[0035] In step S201, a first payment message sent by an acquirer system is received.
[0036] In response to a payment initiated by a user terminal or merchant device, the acquirer system sends a first payment message to the payment switching front-end device. The first payment message is the payment message sent by the acquirer system to the payment switching front-end device. The first payment message may include sensitive information, including the payment card number and non-card number information. The payment card number may include a bank identification number (Bank Identification Number, BIN) and a non-bank identification code portion. The bank identification code can indicate the issuing bank of the payment card. The user cannot be identified based on the bank identification code, and the bank identification code is not personal data. However, the bank identification code is a key element for identifying the issuing bank and determining which issuing bank will execute the payment. The non-bank identification code portion is the portion of the payment card number other than the bank identification code. Non-card number information may include, but is not limited to, one or more of the following: payment password, user mobile phone number, payment amount, order information, etc.
[0037] In step S202, a confusion factor is generated based on at least part of the characters in the payment card number using an encoding algorithm.
[0038] The obfuscation factor can be generated using an encoding algorithm based on all characters in the payment card number. The obfuscation factor can also be generated using an encoding algorithm based on a portion of the characters in the payment card number. In some examples, a specific position in the payment card number can be pre-set, and the obfuscation factor can be generated using an encoding algorithm based on the characters in the specific position in the payment card number. In some examples, a length-first matching algorithm can be used to identify the bank identification code from the payment card number, and the obfuscation factor can be generated using an encoding algorithm based on the bank identification code in the payment card number. The obfuscation factor, also known as a salt, can play a corresponding role in the subsequent hashing algorithm.
[0039] The encoding algorithm can convert at least some of the characters in the payment card number into ASCII characters for use as an obfuscation factor. The encoding algorithm can include a standard encoding algorithm and / or a variant encoding algorithm. The variant encoding algorithm can be obtained by modifying the character table or alphabet based on the standard encoding algorithm. The encoding algorithm to be used and the number of encoding algorithms to be used can be determined based on the application scenario's requirements for data security and computational complexity. In some examples, to enhance the security role of the obfuscation factor in the hash algorithm, the standard encoding algorithm and the variant encoding algorithm can be mixed, and the obfuscation factor can be generated by superimposing multiple encoding algorithms on a variant encoding algorithm. For example, the standard encoding algorithm includes the standard base64 algorithm, and the variant encoding algorithm can include a base64 variant algorithm. Based on at least some of the characters in the payment card number, the obfuscation factor can be obtained by superimposing two standard base64 algorithms on a base64 variant algorithm.
[0040] In step S203, the payment card number and the non-card number information are processed respectively by using the obfuscation factor and the hash algorithm to obtain a first string corresponding to the payment card number and a second string corresponding to the non-card number information.
[0041] The hash algorithm can be regarded as a one-way hash function algorithm, which has one-wayness, that is, the hash value obtained by using the one-way hash function according to the original data, but it is difficult to restore the original data according to the hash value. The hash algorithm can include but is not limited to fast hash algorithm and slow hash algorithm, etc. The fast hash algorithm can include but is not limited to MD5 algorithm, SHA-2 algorithm, SM3 algorithm, etc. The slow hash algorithm can include but is not limited to bcrypt algorithm, Argon2 algorithm, etc. In the embodiments of the present application, which hash algorithm is specifically used and whether two or more hash algorithms are stacked can be determined according to the requirements of the application scene for data security and operation complexity. For example, for a scene with relatively low security requirements, SM3 algorithm with an obfuscation factor can be used; for a scene with relatively high security requirements, bcrypt algorithm with an obfuscation factor can be used; for a scene with higher security requirements, bcrypt algorithm with an obfuscation factor and Argon2 algorithm can be used.
[0042] The payment card number is processed by using the obfuscation factor and the hash algorithm to obtain the first string. The first string is a string obtained by processing the payment card number by using the obfuscation factor and the hash algorithm. Specifically, the non-bank identification code part in the payment card number can be processed by using the obfuscation factor and the hash algorithm, the bank identification code in the payment card number is spliced with the string obtained after processing to obtain the first string. The non-card number information is processed by using the obfuscation factor and the hash algorithm to obtain the second string. The second string is a string obtained by processing the non-card number information by using the obfuscation factor and the hash algorithm.
[0043] In step S204, a second payment message including the first string and the second string is sent to the payment switching system.
[0044] The payment switching front-end device can replace the sensitive information in the first payment message with the first and second character strings, thereby generating a second payment message and sending it to the payment switching system. The second payment message includes the first and second character strings, and the first and second character strings are not plain text of sensitive information. The second payment message may also include other information in the first payment message in addition to the sensitive information. The payment switching system receives the second payment message and does not come into contact with sensitive information in the payment process. In some examples, the first character string contains a bank identification code, and the bank identification code is not sensitive information of the user. The payment switching system can determine the card management system corresponding to the payment card for this payment by identifying the bank identification code in the first character string, and thereby send the second payment message to the card management system corresponding to the payment card. The second payment message can instruct the card management system to execute the payment of the payment card according to the second payment message.
[0045] In an embodiment of the present application, a payment transfer front-end device is set between the acquirer system and the payment transfer system. The payment transfer front-end device receives the first payment message sent by the acquirer system, and generates an obfuscation factor based on the payment card number and encoding algorithm in the first payment message. The obfuscation factor and hash algorithm are used to process sensitive information such as the payment card number and non-card number information to obtain a non-plaintext string. The payment transfer front-end device generates a second payment message based on the non-plaintext string and sends it to the payment transfer system so that the payment transfer system can execute the subsequent payment process. Neither the encoding algorithm nor the hash algorithm requires a key or certificate, so there is no need to exchange keys or certificates, thereby avoiding the possibility of key leakage. Moreover, the hash algorithm is a one-way hash function algorithm and will not output the generated obfuscation factor. Even if the string in the second payment message is leaked, the attacker needs to crack both the obfuscation factor and the string. It is difficult for the attacker to restore the sensitive information based on the string, thereby improving the security of sensitive information in the payment process. If an attacker uses brute force to crack the string, it may take a very long time. For example, if the hash algorithm in the method for protecting sensitive information of the payment transfer system in the embodiment of the present application adopts a slow hash algorithm, the length of the sensitive information to be processed is about 10 bits, and the number of iterative calculations is 12 to 15 times, if the attacker uses brute force to crack the string obtained by the method for protecting sensitive information of the payment transfer system in the embodiment of the present application, it will take decades. Cracking a large amount of data will take even more time, and cracking the string is theoretically worthless and impossible. Moreover, the payment transfer front-end device can access the sensitive information, which can decouple the sensitive information from the payment transfer system. External agencies can supervise the sensitive information and connect to the payment transfer front-end device, thereby avoiding the leakage of the system, equipment and operation information of the payment transfer system, and improving the security of the payment transfer system.
[0046] In some embodiments, the above step S203 can be specifically refined as follows: using the confusion factor and the hash algorithm to process the non-bank identification code part to obtain a first hash string; splicing the bank identification code and the first hash string to obtain a first string; using the confusion factor and the hash algorithm to process the non-card number information to obtain a second hash string as the second string.
[0047] The non-bank identification code portion and the obfuscation factor can be used as input to the hash algorithm. The output of the hash algorithm may include information such as a first hash string, an algorithm identifier, a cost factor, an obfuscation factor, a number of parallel operations, and memory usage. However, only the first hash string is required to generate the first string. The first hash string is the hash string obtained by processing the non-bank identification code portion using the obfuscation factor and the hash algorithm. The bank identification code indicates the issuing bank of the payment card and is not personal data of the user. Therefore, no special conversion of the bank identification code is required. The first string is the concatenation of the bank identification code and the first hash string. Non-card number information and the obfuscation factor can be used as input to the hash algorithm. The output of the hash algorithm may include information such as a second hash string, an algorithm identifier, a cost factor, an obfuscation factor, a number of parallel operations, and memory usage. However, only the second hash string is required to generate the second string. The second hash string is the hash string obtained by processing the non-card number information using the obfuscation factor and the hash algorithm. In the embodiment of the present application, there is no need to output the obfuscation factor, the number of iterative calculations, etc., nor is there any need to store the obfuscation factor synchronously with the first hash string, the first string, the second hash string, and the second string. Accordingly, if an attacker wants to crack the first string and the second string, he needs to crack the obfuscation factor and the number of iterative calculations. After obtaining the obfuscation factor and the number of iterative calculations, he still needs to crack the first string and the second string. The entire cracking process is very difficult.
[0048] In some examples, the hash algorithm may include a first slow hash algorithm. The payment switching front-end device may also determine the number of iterations of the first slow hash algorithm based on the character at the first designated position in the non-bank identification code portion and a preset basic number of iterations. The payment switching front-end device may use the obfuscation factor and the first slow hash algorithm to perform the number of iterations on the non-bank identification code portion to obtain a first hash string.
[0049] The first designated position can be determined based on the scenario, needs, experience, and other factors, and is not limited here. For example, the first designated position can be the last digit in the non-bank identification code portion. The characters in the non-bank identification code portion are random. The number of iterations in the first slow hash algorithm is determined by using the characters in the first designated position of the non-bank identification code portion. This increases the randomness of the number of iterations, further improving the difficulty of cracking the first hash string obtained using the first slow hash algorithm. The base number of iterations can be pre-set, specifically based on the difficulty of cracking the result obtained by using the first slow hash algorithm on a string of the same length as the non-bank identification code portion and the required computational time. A greater number of iterations increases the computational time, and computational time increases exponentially. The number of iterations of the first slow hash algorithm can be determined to balance the difficulty of cracking and computational time. A general algorithm can be used to calculate the incremental number of iterations based on the characters in the first designated position of the non-bank identification code portion. The incremental number of iterations is added to the base number of iterations to determine the number of iterations of the first slow hash algorithm. The general algorithm may include addition, subtraction, multiplication, division, modulo remainder algorithm, comprehensive algorithm, etc., which are not limited here. In this example, the confusion factor, the non-bank identification code portion, and the number of iterative calculations can all be used as inputs of the first slow hash algorithm.
[0050] For example, the first slow hash algorithm is the bcrypt algorithm. If the non-bank identification code part is generally 10 digits, the calculation time of performing 12 to 15 calculations on the 10-digit number is in the order of tens of milliseconds, and 12 times is the average number of iterations that is relatively difficult to brute force for a 10-digit number. The basic number of iterations is set to 12 times, and the last digit of the non-bank identification code part is performed modulo 4 operation. The remainder is added to the basic number of iterations to obtain the number of iterative calculations of the bcrypt algorithm, that is, the number of iterative calculations of the bcrypt algorithm can be (L mod 4) + 12, where L is the last character of the non-bank identification code part, and (L mod 4) is the remainder obtained by performing a modulo 4 operation on the last digit of the non-bank identification code part.
[0051] In some examples, the hash algorithm may include a first hash algorithm and a second slow hash algorithm, and the first hash algorithm and the second slow hash algorithm may be superimposed to increase the difficulty of cracking and the security of the first hash string. The non-bank identification code portion may be processed using a confusion factor and the first hash algorithm to obtain a third hash string; the third hash string may be processed using the confusion factor and the second slow hash algorithm to obtain the first hash string.
[0052] The first hash algorithm can be a slow hash algorithm or a fast hash algorithm, which is not limited here. If the first hash algorithm is a slow hash algorithm, the second slow hash algorithm is a slow hash algorithm different from the first hash algorithm. The third hash string is a hash string obtained after processing the non-bank identification code portion by the confusion factor and the first hash algorithm. The number of iterative calculations of the second slow hash algorithm can be determined based on the characters at the specified position in the non-bank identification code and the basic number of iterations. Specifically, the number of increments can be determined based on the characters at the specified position in the non-bank identification code, and the sum of the number of increments and the basic iteration data is determined as the number of iterative calculations of the second slow hash algorithm. The basic number of iterations and the number of increments corresponding to the second slow hash algorithm may be the same as or different from the basic number of iterations and the number of increments corresponding to the first slow hash algorithm in the above embodiment. The number of iterative calculations of the second slow hash algorithm may be the same as or different from the number of iterative calculations of the first slow hash algorithm in the above embodiment. For example, the second slow hash algorithm is the Argon2 algorithm, and the number of iterative calculations of the Argon2 algorithm may be the sum of the remainder obtained by performing a modulo 4 operation on the last character of the non-bank identification code portion and 1.
[0053] In some examples, some non-card number information is short. Using an obfuscation factor and a hash algorithm to process this short non-card number information may result in a string with low security. To improve the security of the second string, the non-card number information may be length-extended before being processed using the obfuscation factor and a hash algorithm. Specifically, if the length of the non-card number information is less than or equal to a predetermined security length, the non-card number information is concatenated with the characters at the second designated position in the payment card number to generate a first concatenated string. The first concatenated string is then processed using the obfuscation factor and a hash algorithm to generate a second hashed string, which serves as the second string.
[0054] The preset security length is a length threshold used to determine whether the non-card number information needs to be extended. If the length of the non-card number information is less than or equal to the preset security length, it means that the security of the character string obtained by directly processing the non-card number information using the obfuscation factor and the hash algorithm is low, and the non-card number information can be padded first. The characters in the second designated position include the bank identification code, and the characters in the second designated position may also include the last character of the payment card number. The non-card number information and the bank identification code can be spliced to obtain a first spliced character string. Alternatively, the non-card number information, the bank identification code, and the last character of the payment card number can be spliced to obtain a first spliced character string. The length of the first spliced character string is greater than the preset security length, and the second hash character string obtained by processing the first spliced character string using the obfuscation factor and the hash algorithm is more secure, which can further increase the difficulty of cracking the second character string.
[0055] In some embodiments, the encoding algorithm may include a standard encoding algorithm and a variant encoding algorithm. Step S202 may be further refined as follows: performing the standard encoding algorithm twice on the second concatenated string to obtain a first operation result; and performing the variant encoding algorithm once on the first N characters of the first operation result to obtain a confusion factor, where N is a positive integer.
[0056] The second concatenated character string is obtained by concatenating the character at the third designated position in the non-bank identification code portion with the bank identification code. The third designated position can be set according to the scenario, requirements, experience, etc., and is not limited here. For example, the character at the third designated position can be the last character in the non-bank identification code portion. Specifically, the second concatenated character string can be processed once with a standard encoding algorithm to obtain an operation result, and then the operation result can be processed once with a standard encoding algorithm to obtain a first operation result. Then, the first N characters in the first operation result can be processed once with a variant encoding algorithm to obtain a confusion factor. The value of N can be determined according to the scenario, requirements, experience, etc., and is not limited here. For example, N can be 16, but is not limited to this.
[0057] In some examples, the mapping character table of the variant encoding algorithm is obtained by performing a translation operation, a sequence supplement operation, and a specific position character replacement operation on the characters in the mapping character table of the standard encoding algorithm. The translation operation may include an operation of translating the characters in the mapping character table as a whole in the forward direction, i.e., to the left of the characters after the characters are arranged in the mapping character table, or an operation of translating the characters in the mapping character table as a whole in the backward direction, i.e., to the right of the characters after the characters are arranged in the mapping character table. The number of bits of the translation may be set according to the scenario, requirements, experience, etc., and is not limited here. The sequence supplement operation may supplement the characters moved from the position in the mapping character table after the translation operation to the position vacated in the mapping character table after the translation operation. The specific position character replacement operation may replace the characters in a specific position in the mapping character table with other characters. The specific position may be determined according to the scenario, requirements, experience, etc., and the other characters used for replacement may be converted based on certain algorithms based on the replaced characters.
[0058] For example, taking the variant encoding algorithm as the base64 variant algorithm based on the standard base64 algorithm, Figure 3 A schematic diagram of an example of a variant encoding algorithm provided in an embodiment of the present application is shown as follows: Figure 3 As shown, the variant encoding algorithm process may include steps a1 to a5.
[0059] In step a1, the mapping character table of the standard base64 algorithm is shifted right by two digits for each character.
[0060] In step a2, the two characters shifted right are sequentially filled into the left side of the mapping character table.
[0061] In step a3, the first character on the left side of the mapping character table is replaced with ".".
[0062] In step a4, the standard base64 algorithm is executed according to the modified mapping character table to perform transposition calculation.
[0063] In step a5, the left 22 characters of the character string after the transposition calculation are output. The left 22 characters of the character string after the transposition calculation here are the first 22 characters of the character string after the transposition calculation.
[0064] For ease of understanding, the following describes the process of obtaining the first string and the second string by taking the standard encoding algorithm as the standard base64 algorithm, the variant encoding algorithm as the base64 variant algorithm, and the hash algorithm as the bcrypt algorithm as an example. Figure 4 A schematic diagram of an example of a process for obtaining a first character string and a second character string provided in an embodiment of the present application is shown as follows: Figure 4 As shown, the process of obtaining the first character string and the second character string may include steps b1 to b13.
[0065] In step b1, the bank identification code is intercepted from the payment card number.
[0066] In step b2, the last character of the payment card number is truncated.
[0067] In step b3, a spliced seed 1 is obtained. The spliced seed 1 is obtained by splicing the last character and the bank identification code. The spliced seed 1 here is the second spliced string in the above embodiment.
[0068] In step b4, the spliced seed 1 is processed by a standard base64 algorithm to obtain a ciphertext 1. The ciphertext 1 here is the processing result obtained by performing a standard encoding algorithm on the second spliced string in the above embodiment.
[0069] In step b5, the ciphertext 1 is processed using the standard base64 algorithm to obtain the ciphertext 2. The ciphertext 2 here is the first operation result in the above embodiment.
[0070] In step b6, the 16 bytes of data on the left side of ciphertext 2 are intercepted to obtain ciphertext 3. Ciphertext 3 is the first 16 bytes of characters in the first operation result.
[0071] In step b7, the ciphertext is processed using a base64 variant algorithm to obtain ciphertext 4. Ciphertext 4 is the confusion factor in the above embodiment.
[0072] In step b8, the last character L of the payment card number is intercepted.
[0073] In step b9, (L mod 4)+12 is calculated as the number of iterative operations.
[0074] In step b10, sensitive information is input. The sensitive information here refers to the sensitive information to be processed in the embodiment of the present application. For specific content, please refer to the relevant content in the above embodiment, which will not be repeated here.
[0075] In step b11, the bcrypt algorithm is executed according to the ciphertext 4, the number of iterations and the sensitive information.
[0076] In step b12, a first character string and a second character string are intercepted from the output of the bcrypt algorithm.
[0077] In step b13, the first character string and the second character string are used as the final output of the encryption.
[0078] For the above steps b1 to b13, reference can be made to the relevant descriptions in the above embodiments, which will not be repeated here.
[0079] In some embodiments, the acquirer system requires the plaintext data of sensitive information in the payment response message. The payment switching system still contains the non-plaintext first and second character strings in the payment response message. The payment switching front-end device may replace the first and second character strings with the corresponding plaintext sensitive information and send this information back to the acquirer system. The payment switching front-end device caches the corresponding sensitive information, the first and second character strings. In response to receiving the first payment response message sent by the payment switching system, the payment switching front-end device replaces the first and second character strings in the first payment response message with the corresponding sensitive information, generating a second payment response message, and then sends the second payment response message to the acquirer system. The first payment response message is generated by the card management system and forwarded to the payment switching front-end device via the payment switching system. The payment switching front-end device searches for sensitive information corresponding to the first and second character strings in the first payment response message and replaces the first and second character strings in the first payment response message with the found sensitive information to generate the second payment response message. The acquirer system can determine the user corresponding to the payment response based on the second payment response message.
[0080] For example, Figure 5 A schematic diagram of an example of the flow of information in payment provided in an embodiment of the present application is shown as follows: Figure 5As shown, the acquirer system 14 sends initial data to the payment switcher front-end device 11, the payment switcher front-end device 11 converts the initial data to converted data, and sends the converted data to the payment switcher system 12, the payment switcher system 12 sends the converted data to the card management system 13, the card management system 13 sends the converted data related to the payment to the payment switcher system 12, the payment switcher system 12 sends the converted data to the payment switcher front-end device 11, and the payment switcher front-end device 11 obtains the recovered data corresponding to the converted data from the data stored in itself, and sends the recovered data to the acquirer system 14. The initial data can include the sensitive information in the above embodiments, the converted data can include the first string and the second string in the above embodiments, and the recovered data can include the sensitive information in the above embodiments.
[0081] In some other embodiments, the acquirer system does not need the sensitive information, and the payment switcher front-end device can also not convert the first string and the second string into the sensitive information, and can send the payment result to the acquirer system, which can further protect the security of the sensitive information.
[0082] In some embodiments, the payment switcher front-end device can also verify the received payment message, and calculate the security check value of the first string and the second string so that the card management system verifies the received payment message. The first payment message can also include a first security check value of the sensitive information, the first security check value being a security check value of the sensitive information, which can be calculated by the acquirer system according to the sensitive information using a security check algorithm. The second payment message can also include a second security check value corresponding to the first string and the second string, the second security check value corresponding to the first string and the second string specifically being a second security check value corresponding to the first string and a second security check value corresponding to the second string. The second security check value can be calculated by the payment switcher front-end device according to the first string and the second string using the security check algorithm. The payment switcher front-end device performs security check on the sensitive information according to the sensitive information, the first security check value, and the pre-set security check algorithm; and generates the second security check value according to the first string, the second string, and the security check algorithm. The payment switcher device can process the sensitive information using the security check algorithm to obtain a security check value, and compare the security check value with the first security check value; if the security check value is the same as the first security check value, the security check passes; if the security check value is different from the first security check value, the security check fails. The payment switcher device adds the second security check value to the second payment message and sends it to the payment switcher system.
[0083] In order to facilitate understanding, the process of obtaining the second payment message is described below. Figure 6A schematic diagram of an example of a process for obtaining a second payment message provided in an embodiment of the present application is shown as follows: Figure 6 As shown, the process of obtaining the second payment message may include steps c1 to c9.
[0084] In step c1, the bank identification code is identified.
[0085] In step c2, determine whether the bank identification code belongs to a subject that requires a strong privacy protection function. If so, execute step c3; if not, end the process, and the payment transfer front-end device does not need to be processed, and the acquirer system can send the payment message directly to the payment transfer system. The strong privacy protection function here is the protection method for sensitive information of the payment transfer system in the embodiment of this application. If the bank identification code belongs to a subject that requires a strong privacy protection function, it means that this payment needs to adopt the protection method for sensitive information of the payment transfer system in the embodiment of this application; if the bank identification code does not belong to a subject that requires a strong privacy protection function, it means that this payment does not adopt the protection method for sensitive information of the payment transfer system in the embodiment of this application.
[0086] In step c3, the data after the bank identification code in the payment card number is intercepted, that is, the non-bank identification code portion is obtained.
[0087] In step c4, the encrypted value of the intercepted data is calculated. The intercepted data here is the non-bank identification code portion in the above embodiment, and the encrypted value may refer to the first hash string in the above embodiment.
[0088] In step c5, the bank identification code and the encrypted value are concatenated to form the converted payment card number. The converted payment card number may refer to the first character string in the above embodiment.
[0089] In step c6, the converted payment card number and the original payment card number are written into a temporary cache.
[0090] In step c7, the encryption value of other sensitive information is calculated. Here, the encryption value of other sensitive information may refer to the second character string in the above embodiment.
[0091] In step c8, the encrypted value of other sensitive information and the original sensitive information are written into a temporary cache.
[0092] In step c9, the encrypted value is used to replace the sensitive information in the message to form a converted message. This message may refer to the first payment message in the above embodiment, and the converted message may refer to the second payment message in the above embodiment.
[0093] The specific contents of the above steps c1 to c9 can be found in the relevant descriptions in the above embodiments, which will not be repeated here.
[0094] According to the method for protecting sensitive information of the payment switching system in the above embodiment, the process of obtaining the first character string and the second character string is described here with an example. For example, if the payment card number is "6228690123456783" and the bank identification code of the payment card number is 622869, the non-bank identification code portion "0123456783" in the payment card number can be intercepted for subsequent hash algorithm processing. The last character "3" in the non-bank identification code portion can be concatenated with the bank identification code "622869" to obtain a second concatenated string "3662869". The second concatenated string "3662869" is processed twice with the standard Base64 algorithm to obtain the first operation result "TxpZeU1qZzJPUT09". The first operation result "TxpZeU1qZzJPUT09" is then processed with the Base64 variant algorithm to obtain the obfuscation factor "TDfuUkTTKVDYcinOTTOuMO". The number of iterative calculations of the hash algorithm can be calculated by the basic number of iterations 12 and the modulo operation based on the last character "3" of the non-bank identification code portion 12 + (3mod 4) = 15 calculations. The bcrypt algorithm is used to process the non-bank identification code portion "0123456783", and the output hash value is "$2b$15%TDfuUkTTKVDYcinOTTOuMOLgQW / iOio7jA04M6P2qem69rplBkHi", where the hash string corresponding to the non-bank identification code portion "0123456783" is "LgQW / iOio7jA04M6P2q9em69r plBkHi", the first string obtained by concatenating the bank identification code and the first hash string is the encrypted payment card number "622869LgQW / iOio7jA04M6P2q9em69rplBkHi". Non-card number information in sensitive information such as user name and ID number is directly processed by the hash algorithm. If further security is required, the obfuscation factor can be specified as "TxpZeU1qZzJPUT09" and the number of iterations can be specified as (3mod The hash string "LgQW / iOio7jA04M6P2q9em69rplBkHi" is processed by the Argon2 algorithm using 4)+1=4 as input to obtain the hash string "Gfm8R6Z1FVzUPPXwvZWlJxiUytauBSBwTy / BeDFzSYw" after the Argon2 algorithm processing. The bank identification code is concatenated with the hash string to obtain the first string, i.e., the encrypted payment card number "622869Gfm8R6Z1FVzUPPXwvZWlJxiUytauBSBwTy / BeDFzSYw".
[0095] The payment switching front-end device in the above embodiment can realize its own functions through multiple units. Figure 7 A schematic diagram of an example of a payment transfer front-end device provided in an embodiment of the present application is shown as follows: Figure 7 As shown, the payment switching front-end device 11 may include a card BIN recognition unit 111, a tail number interception unit 112, an encryption calculation unit 113, a card number splicing unit 114, a data pair cache unit 115 and a data replacement unit 116.
[0096] The card BIN identification unit 111 can be used to identify the bank identification code from the payment card number. The tail digit extraction unit 112 can be used to extract the last character from the non-bank identification code portion, that is, to extract the tail digit of the payment card number. The encryption calculation unit 113 can use the obfuscation factor and hash algorithm to process the non-bank identification code portion and other sensitive information in the payment card number. The card number splicing unit 114 can splice the hash string obtained by the hash algorithm of the bank identification code and the non-bank identification code portion to generate a first string, that is, the converted payment card number. The data pair cache unit 115 can cache the data pair of the original sensitive information and the string obtained after the sensitive information is processed. The data replacement unit 116 can replace the sensitive information in the first payment message with the first string and the second string to form a second payment message. The specific content of the functions performed by each unit can be found in the relevant description of the above embodiment and will not be repeated here.
[0097] This application also provides a method for protecting sensitive information in a payment switching system. This method can be executed by a system for protecting sensitive information in a payment switching system. The system can include a payment switching front-end device, a payment switching system, and a card management system. The card management system stores a correspondence between character strings and payment card numbers. The character strings in the card management system are obtained by processing the payment card numbers using a pre-set encoding algorithm and hashing algorithm consistent with the payment switching device. The details of the payment switching front-end device, the payment switching system, and the card management system are not further described here. Figure 8 This is a flowchart of a method for protecting sensitive information of a payment switching system provided in another embodiment of the present application. Figure 8 As shown, the method for protecting sensitive information of the payment switching system includes steps S301 to S306.
[0098] In step S301, the payment switching front-end device receives a first payment message sent by the acquirer system. The first payment message includes sensitive information, including the payment card number and non-card number information.
[0099] In step S302, the payment switching front-end device generates a confusion factor using an encoding algorithm based on at least part of the characters in the payment card number.
[0100] In step S303, the payment switching front-end device processes the payment card number and the non-card number information respectively using the confusion factor and the hash algorithm to obtain a first character string corresponding to the payment card number and a second character string corresponding to the non-card number information.
[0101] In step S304, the payment switching front-end device sends a second payment message including the first character string and the second character string to the payment switching system;
[0102] In step S305, the payment switching system forwards the second payment message to the card management system corresponding to the second payment message;
[0103] In step S306, the card management system searches for the payment card number corresponding to the first character string in the corresponding relationship, and performs payment according to the payment card number corresponding to the first character string.
[0104] The card management system belongs to the card issuer and possesses all of the issuer's payment card numbers. The card management system and the payment switching front-end device pre-configure an encoding algorithm and hashing algorithm. These algorithms are used to process the issuer's payment card numbers, obtaining a character string corresponding to each payment card number and storing the corresponding payment card numbers and character strings. Upon receiving the second payment message, the card management system searches the corresponding relationship for a character string identical to the first character string. The payment card number corresponding to the character string identical to the first character string is the payment card number for the current payment, thereby locating the payment card and completing the payment.
[0105] In some embodiments, after the card management system completes payment, it sends a first payment response message to the payment switching system. This first payment response message includes the payment result, the first string, and the second string. The payment switching system may then forward this second payment response message to the payment switching front-end device for processing. The details of the processing by the payment switching front-end device can be found in the description of the above embodiments and will not be repeated here.
[0106] In some embodiments, the second payment message includes a second security check value corresponding to the first string and a second security check value corresponding to the second string. The card management system can process the first string and the second string in the second payment message using a security check algorithm to obtain a security check value of the first string and a security check value of the second string. The security check value of the first string obtained by processing is compared with the second security check value corresponding to the first string in the second payment message. If the security check value of the first string obtained by processing is the same as the second security check value corresponding to the first string in the second payment message, the security check of the payment card number is passed. If the security check value of the first string obtained by processing is different from the second security check value corresponding to the first string in the second payment message, the security check of the payment card number is not passed. The security check value of the second string obtained by processing is compared with the second security check value corresponding to the second string in the second payment message. If the security check value of the second string obtained by processing is the same as the second security check value corresponding to the second string in the second payment message, the security check of the non-card number information is passed. If the security check value of the second string obtained by processing is different from the second security check value corresponding to the second string in the second payment message, the security check of the non-card number information is not passed.
[0107] The functions and operations of the payment switching pre-device can refer to the related descriptions in the above embodiments, which will not be repeated here.
[0108] The application also provides a payment switching pre-device. Figure 9 The structure diagram of the payment switching pre-device provided by an embodiment of the application is shown in FIG. 4. As shown in FIG. 4, the payment switching pre-device 400 can include a receiving module 401, an encryption module 402, and a sending module 403. Figure 9
[0109] The receiving module 401 can be configured to receive a first payment message sent by an acquirer system, and the first payment message includes sensitive information, and the sensitive information includes a payment card number and non-card number information.
[0110] The encryption module 402 can be configured to generate an obfuscation factor by using an encoding algorithm according to at least part of the characters in the payment card number, and to process the payment card number and the non-card number information respectively by using the obfuscation factor and a hash algorithm to obtain a first string corresponding to the payment card number and a second string corresponding to the non-card number information.
[0111] The sending module 403 can be configured to send a second payment message including the first string and the second string to a payment switching system.
[0112] In some embodiments, the payment card number includes a bank identification code and a non-bank identification code part. The encryption module 402 can be configured to: process the non-bank identification code part by using the confusion factor and the hash algorithm to obtain a first hash string; splice the bank identification code and the first hash string to obtain a first string; and process the non-card number information by using the confusion factor and the hash algorithm to obtain a second hash string as a second string.
[0113] In some examples, the hash algorithm includes a first slow hash algorithm. The encryption module 402 can be further configured to: obtain the number of iteration calculations in the first slow hash algorithm according to the character at a first specified position in the non-bank identification code part and a preset basic iteration number. The encryption module 402 can be specifically configured to: perform iteration operation on the non-bank identification code part for the number of iteration calculations by using the confusion factor and the first slow hash algorithm to obtain the first hash string.
[0114] In some examples, the hash algorithm includes a first hash algorithm and a second slow hash algorithm. The encryption module 402 can be specifically configured to: process the non-bank identification code part by using the confusion factor and the first hash algorithm to obtain a third hash string; and process the third hash string by using the confusion factor and the second slow hash algorithm to obtain the first hash string.
[0115] In some examples, the encryption module 402 can be specifically configured to: if the length of the non-card number information is less than or equal to a preset security length, splice the non-card number information and the character at a second specified position in the payment card number to obtain a first spliced string, the character at the second specified position including the bank identification code; and process the first spliced string by using the confusion factor and the hash algorithm to obtain the second hash string as the second string.
[0116] In some embodiments, the encoding algorithm includes a standard encoding algorithm and a variant encoding algorithm, and the payment card number includes a bank identification code and a non-bank identification code part. The encryption module 402 can be specifically configured to: process the second spliced string by using the standard encoding algorithm twice to obtain a first operation result, the second spliced string being obtained by splicing the character at a third specified position in the non-bank identification code part and the bank identification code; and process the first N characters in the first operation result by using the variant encoding algorithm once to obtain the confusion factor, N being a positive integer.
[0117] In some examples, the mapping character table of the variant encoding algorithm is obtained by performing a translation operation, a sequential supplement operation and a specific position character replacement operation on the characters in the mapping character table of the standard encoding algorithm.
[0118] In some embodiments, the payment switching front-end device caches sensitive information, a first string, and a second string that have corresponding relationships. The encryption module 402 may also be configured to, in response to receiving a first payment response message sent by the payment switching system, replace the first string and the second string in the first payment response message with the corresponding sensitive information to generate a second payment response message.
[0119] The sending module 403 may also be configured to send a second payment response message to the acquirer system.
[0120] In some embodiments, the first payment message also includes a first security verification value for the sensitive information, and the second payment message also includes a second security verification value corresponding to the first and second character strings. The payment switching front-end device 400 may also include a verification module. The verification module may be configured to: perform a security verification on the sensitive information based on the sensitive information, the first security verification value, and a pre-set security verification algorithm; and generate a second security verification value based on the first and second character strings, and the security verification algorithm.
[0121] It should be noted that the payment transfer front-end device 400 is a device corresponding to the above-mentioned method for protecting sensitive information of the payment transfer system applied to the payment transfer front-end device. All implementation methods in the above-mentioned method embodiments are applicable to the embodiments of the device and can achieve the same technical effects.
[0122] This application also provides a payment transfer system sensitive information protection system, including a payment transfer front-end device, a payment transfer system and a card management system. The specific structure can be found in Figure 1 And the relevant contents in the above embodiments.
[0123] The payment switching front-end device is in communication with the acquirer system and is used to execute the method for protecting sensitive information of the payment switching system applied to the payment switching front-end device in the above embodiment.
[0124] The payment switching system is in communication with the payment switching front-end device and is configured to forward the second payment message to a card management system corresponding to the second payment message.
[0125] The card management system stores a correspondence between character strings and payment card numbers. The character strings in the card management system are obtained by processing the payment card number based on a pre-set encoding algorithm and hash algorithm that are consistent with the payment switching front-end device. The card management system is communicated with the payment switching system and is used to search for the payment card number corresponding to the first character string in the correspondence and execute payment based on the payment card number corresponding to the first character string.
[0126] The specific content of the protection system for sensitive information of the payment switching system can be found in the relevant content of the above embodiment and will not be repeated here.
[0127] The present application also provides an electronic device. Figure 10 A schematic diagram of the structure of an electronic device provided in one embodiment of the present application is shown in FIG. Figure 10 As shown, the electronic device 500 includes a memory 501 , a processor 502 , and a computer program stored in the memory 501 and executable on the processor 502 .
[0128] In some examples, the processor 502 may include a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0129] The memory 501 may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Therefore, generally, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method for protecting sensitive information of the payment switching system according to the embodiment of the present application.
[0130] The processor 502 reads the executable program code stored in the memory 501 to run a computer program corresponding to the executable program code, so as to implement the method for protecting sensitive information of the payment switching system in the above embodiment.
[0131] In some examples, the electronic device 500 may further include a communication interface 503 and a bus 504. Figure 10 As shown, the memory 501 , the processor 502 , and the communication interface 503 are connected via a bus 504 and communicate with each other.
[0132] The communication interface 503 is mainly used to implement communication between the modules, devices, units and / or equipment in the embodiment of the present application. Input devices and / or output devices can also be connected through the communication interface 503.
[0133] The bus 504 includes hardware, software, or both that couples the components of the electronic device 500 to each other. By way of example and not limitation, the bus 504 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-E) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local Bus (VLB) bus, or other suitable buses, or a combination of two or more of the above. Where appropriate, the bus 504 may include one or more buses. Although embodiments herein describe and illustrate a particular bus, this application contemplates any suitable bus or interconnect.
[0134] This application also provides a computer-readable storage medium having computer program instructions stored thereon. When executed by a processor, the computer program instructions can implement the method for protecting sensitive information in the payment switching system described in the above-mentioned embodiment and achieve the same technical effect. To avoid repetition, the above-mentioned computer-readable storage medium may include a non-transitory computer-readable storage medium, such as a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc., without limitation herein.
[0135] The present application also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements the method for protecting sensitive information of the payment transfer system in the above embodiment and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0136] It should be understood that the various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. For device embodiments, equipment embodiments, system embodiments, computer-readable storage medium embodiments, and computer program product embodiments, the relevant parts can be referred to the description part of the method embodiment. This application is not limited to the specific steps and structures described above and shown in the figures. Those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of this application. In addition, for the sake of brevity, a detailed description of known method technologies is omitted here.
[0137] Aspects of the present application have been described above with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present application. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed via the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. This processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit. It is also understood that each box in the block diagram and / or the flowchart and the combination of the boxes in the block diagram and / or the flowchart can also be implemented by the dedicated hardware that performs the specified function or action, or can be implemented by the combination of dedicated hardware and computer instructions.
[0138] Those skilled in the art should understand that the above embodiments are illustrative rather than restrictive. Different technical features appearing in different embodiments can be combined to achieve beneficial effects. Based on a study of the drawings, the specification and the claims, those skilled in the art should be able to understand and implement other variations of the disclosed embodiments. In the claims, the term "comprising" does not exclude other devices or steps; the quantifier "one" does not exclude a plurality; the terms "first" and "second" are used to identify names rather than to indicate any specific order. Any figure marks in the claims should not be understood as limiting the scope of protection. The functions of multiple parts appearing in the claims can be implemented by a separate hardware or software module. The fact that certain technical features appear in different dependent claims does not mean that these technical features cannot be combined to achieve beneficial effects.
Claims
1. A method for protecting sensitive information in a payment switching system, characterized in that: Applied to a payment transfer front-end device, the method includes: receiving a first payment message sent by an acquirer system, wherein the first payment message includes sensitive information, wherein the sensitive information includes a payment card number and non-card number information; generating a confusion factor using an encoding algorithm based on at least a portion of the characters in the payment card number; Using the obfuscation factor and the hash algorithm to process the payment card number and the non-card number information respectively, to obtain a first character string corresponding to the payment card number and a second character string corresponding to the non-card number information; A second payment message including the first character string and the second character string is sent to a payment switching system.
2. The method according to claim 1, characterized in that The payment card number includes a bank identification code and a non-bank identification code portion; The method of processing the payment card number and the non-card number information respectively using the obfuscation factor and the hash algorithm to obtain a first character string corresponding to the payment card number and a second character string corresponding to the non-card number information includes: Processing the non-bank identification code portion using the obfuscation factor and a hash algorithm to obtain a first hash string; Concatenating the bank identification code and the first hash string to obtain the first string; The non-card number information is processed using the confusion factor and a hash algorithm to obtain a second hash character string as the second character string.
3. The method according to claim 2, characterized in that The hash algorithm includes a first slow hash algorithm; The method further comprises: Obtaining the number of iterative calculations in the first slow hash algorithm according to the character at the first designated position in the non-bank identification code portion and a preset basic number of iterations; The non-bank identification code portion is processed using the obfuscation factor and the hash algorithm to obtain a first hash string, including: The non-bank identification code portion is iterated a number of times using the confusion factor and the first slow hash algorithm to obtain the first hash string.
4. The method according to claim 2, characterized in that The hash algorithm includes a first hash algorithm and a second slow hash algorithm; The non-bank identification code portion is processed using the obfuscation factor and the hash algorithm to obtain a first hash string, including: Processing the non-bank identification code portion using the obfuscation factor and the first hash algorithm to obtain a third hash string; The third hash string is processed using the obfuscation factor and the second slow hash algorithm to obtain the first hash string.
5. The method according to claim 2, characterized in that The process of processing the non-card number information using the obfuscation factor and the hash algorithm to obtain a second hash string as the second string includes: If the length of the non-card number information is less than or equal to a preset security length, concatenating the non-card number information with the characters at a second designated position in the payment card number to obtain a first concatenated string, wherein the characters at the second designated position include the bank identification code; The first concatenated character string is processed using the obfuscation factor and a hash algorithm to obtain the second hash character string as the second character string.
6. The method according to claim 1, characterized in that The encoding algorithm includes a standard encoding algorithm and a variant encoding algorithm, and the payment card number includes a bank identification code and a non-bank identification code portion; Generating a confusion factor using an encoding algorithm based on at least part of the characters in the payment card number includes: performing the standard encoding algorithm twice on a second concatenated character string to obtain a first operation result, wherein the second concatenated character string is obtained by concatenating the character at the third designated position in the non-bank identification code portion with the bank identification code; The variant encoding algorithm is performed once on the first N characters in the first operation result to obtain the confusion factor, where N is a positive integer.
7. The method according to claim 6, characterized in that The mapping character table of the variant encoding algorithm is obtained by performing translation operations, sequence supplement operations and specific position character replacement operations on the characters in the mapping character table of the standard encoding algorithm.
8. The method according to claim 1, characterized in that The payment switching front-end device caches the sensitive information, the first character string, and the second character string that have a corresponding relationship; The method further comprises: In response to receiving the first payment response message sent by the payment switching system, replacing the first character string and the second character string in the first payment response message with the corresponding sensitive information to generate a second payment response message; The second payment response message is sent to the acquirer system.
9. The method according to claim 1, characterized in that The first payment message further includes a first security verification value for the sensitive information, and the second payment message further includes a second security verification value corresponding to the first character string and the second character string; The method further comprises: Performing a security verification on the sensitive information according to the sensitive information, the first security verification value, and a preset security verification algorithm; The second security verification value is generated according to the first character string, the second character string, and the security verification algorithm.
10. A method for protecting sensitive information in a payment switching system, characterized in that: A system for protecting sensitive information in a payment switching system, comprising a payment switching front-end device, a payment switching system, and a card management system. The card management system stores a correspondence between character strings and payment card numbers. The character strings in the card management system are obtained by processing the payment card numbers based on a pre-set encoding algorithm and hashing algorithm consistent with those of the payment switching front-end device. The method comprises: The payment switching front-end device receives a first payment message sent by the acquirer system, wherein the first payment message includes sensitive information, and the sensitive information includes a payment card number and non-card number information; The payment switching front-end device generates a confusion factor using an encoding algorithm based on at least part of the characters in the payment card number; The payment switching front-end device processes the payment card number and the non-card number information respectively using the obfuscation factor and the hash algorithm to obtain a first character string corresponding to the payment card number and a second character string corresponding to the non-card number information; The payment switching front-end device sends a second payment message including the first character string and the second character string to the payment switching system; The payment switching system forwards the second payment message to the card management system corresponding to the second payment message; The card management system searches for the payment card number corresponding to the first character string in the corresponding relationship, and performs payment according to the payment card number corresponding to the first character string.
11. A payment transfer front-end device, characterized in that: include: A receiving module, configured to receive a first payment message sent by an acquirer system, wherein the first payment message includes sensitive information, and the sensitive information includes a payment card number and non-card number information; an encryption module, configured to generate an obfuscation factor using an encoding algorithm based on at least a portion of the characters in the payment card number; and, for processing the payment card number and the non-card number information respectively using the obfuscation factor and the hash algorithm to obtain a first character string corresponding to the payment card number and a second character string corresponding to the non-card number information; The sending module is configured to send a second payment message including the first character string and the second character string to a payment switching system.
12. A system for protecting sensitive information of a payment switching system, characterized in that: include: A payment transfer front-end device, in communication with the acquirer system, for executing the method for protecting sensitive information of the payment transfer system according to any one of claims 1 to 9; a payment switching system, in communication with the payment switching front-end device, configured to forward the second payment message to a card management system corresponding to the second payment message; The card management system stores a correspondence between a character string and the payment card number. The character string in the card management system is obtained by processing the payment card number based on a preset encoding algorithm and hash algorithm consistent with the payment switching front-end device. The card management system is communicatively connected to the payment switching system and is configured to search the payment card number corresponding to the first character string in the correspondence and execute payment based on the payment card number corresponding to the first character string.
13. An electronic device, characterized in that: Applied to a payment transfer front-end device, the electronic device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the method for protecting sensitive information of the payment switching system according to any one of claims 1 to 9 is implemented.
14. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the method for protecting sensitive information of a payment switching system according to any one of claims 1 to 9.
15. A computer program product, characterized in that The method comprises a computer program, which, when executed by a processor, implements the method for protecting sensitive information of a payment switching system according to any one of claims 1 to 9.