Method for financial transaction based on virtual card number and virtual card number verification server
By using a virtual card number generation device and a verification device, combined with fixed codes and detailed codes, unique virtual card numbers are generated, solving the problems of virtual card number leakage and identification steps, and ensuring the security of the actual card number and the integrity of the process.
Patent Information
- Application Number
- CN202210499130.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-09-05
- Filing Date
- 2018-01-17
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2038-01-17
AI Technical Summary
In the existing technology, the generation and verification of virtual card numbers requires additional steps to identify the user or device, and virtual card numbers are easily leaked, resulting in insufficient security of the actual card number. It is also difficult to generate new virtual card numbers at unit count intervals without repetition throughout the entire cycle.
A virtual card number generation device and a verification device are used. The virtual card number generation function combines a fixed code and multiple detailed codes to generate a unique virtual card number. The same virtual card number generation function is used to search for the actual card number in financial transaction terminals and servers, and the count changes every unit to prevent card number leakage.
It prevents the leakage of actual card numbers without repeatedly generating virtual card numbers, maintains the security of the original process, and supports the instant cancellation of financial transactions, reducing the additional steps required to improve security.
Smart Images

Figure CN114881625B_ABST
Abstract
Description
[0001] This application is a divisional application of patent application No. 201810046684.7, filed on January 17, 2018, entitled "Virtual card number generation device and verification device, financial transaction providing system, method, and program," the disclosure of which is incorporated by reference herein in its entirety. TECHNICAL FIELD
[0002] The present application relates to a virtual card number-based financial transaction providing system, a virtual card number generation device, a virtual card number verification device, a virtual card number-based financial transaction providing method, and a virtual card number-based financial transaction providing program, and more particularly, to a system, a method, and a program that generate a virtual card number that is not repeated at each time point, search for an actual card number based on the same, and perform a financial transaction, and a device that generates a virtual card number that is not repeated at each time point and searches for an actual card number based on the same and performs a financial transaction. BACKGROUND
[0003] Code-form data is being utilized in many fields. Not only card numbers and account numbers that are utilized at the time of settlement, but also IPIN numbers and resident registration numbers that are used for user identification are code-form data.
[0004] However, in the process of utilizing such code data, leakage accidents frequently occur. In the case of a card number, the actual card number is directly written on the surface of the card, and thus is visually leaked to others, and in the case of settlement using a magnet, the card number is leaked while being directly transmitted to a POS device.
[0005] Many attempts have been made to use a virtual card number so that the actual card number is not directly leaked, but in order to search for an actual card number corresponding to the virtual card number, data for identifying a user is required. For example, in the case of an OTP (One Time Password), the code is changed and generated with time, but a login step is required in order to judge an algorithm for assigning a user, and thus it is difficult to apply to various fields.
[0006] Therefore, there is a need for an invention that can search for an actual card number based on a virtual card number that is changed in real time, without providing identification information of a user or a device corresponding to the actual card number.
[0007]
Prior Art Documents
[0008]
Patent Documents
[0009] Korean Registered Patent No. 10-1316466 (2013.10.01) SUMMARY
[0010] The technical problems to be solved by the present application
[0011] The present application aims to provide a virtual card number-based financial transaction providing system, a virtual card number generation device, a virtual card number verification device, a virtual card number-based financial transaction providing method, and a virtual card number-based financial transaction providing program, which can search for an actual card number based on a virtual card number without an additional step for virtual card number generation means identification.
[0012] In addition, the present application aims to provide a virtual card number-based financial transaction providing system, a virtual card number generation device, a virtual card number verification device, a virtual card number providing method, and a virtual card number providing program, which provide a virtual card number newly generated in a unit count interval in a full cycle without repetition in the full cycle among all virtual card number generation means.
[0013] The present application aims to provide a virtual card number-based financial transaction providing system, a virtual card number generation device, a virtual card number verification device, a virtual card number providing method, and a virtual card number providing program, which provide a virtual card number newly generated in a unit count interval in a full cycle without repetition in the full cycle among all virtual card number generation means.
[0014] Technical scheme
[0015] A virtual card number-based financial transaction providing method according to one embodiment of the present application includes: a virtual card number reception step in which a virtual card number verification means receives a virtual card number provided by a virtual card number generation means from a financial transaction terminal; a plurality of detail code extraction step in which the virtual card number verification means extracts a plurality of detail codes included in the virtual card number; an actual card number search step in which the virtual card number verification means searches for a storage position of an actual card number based on the plurality of detail codes; and a financial transaction step in which a financial transaction is performed or requested to be performed by the actual card number extracted at the storage position; the virtual card number verification means and the virtual card number generation means include the same virtual card number generation function; the virtual card number is generated based on a fixed code and the plurality of detail codes according to a specific rule; the fixed code is combined at a predetermined position in the virtual card number and is a code for judging a card company or a card type corresponding to the actual card number; the plurality of detail codes include: a first code for setting a start point of a storage position search; and a second code for setting a search path from the start point to the storage position according to a specific search method; the plurality of detail codes are respectively generated according to a plurality of detail code generation functions included in the virtual card number generation function; the first code and the second code are changed per unit count; and the unit count is set at a specific time interval and is changed as the time interval elapses.
[0016] In addition, as another embodiment, the virtual card number verification means includes a storage position search algorithm, and if a virtual card number normally generated per unit count is received, a point moved according to a search path corresponding to the second code is extracted as a point matching the storage position from the start point corresponding to the first code.
[0017] Further, as another embodiment, when the card company server includes the virtual card number verification means, the virtual card number reception step is that the virtual card number verification means receives the virtual card number classified as corresponding to a specific card company based on the fixed code from the payment settlement service server, and the payment settlement service server receives the virtual card number from the financial transaction terminal; the detailed code extraction step is characterized by including a step of judging a card type based on the fixed code, and a step of extracting a plurality of detailed codes using the virtual card number generation function corresponding to the card type; and the virtual card number generation function includes a detailed code combination function that combines detailed codes according to a specific rule; and the actual card number search step is characterized by searching a storage location of an actual card number based on a plurality of detailed codes using the storage location search algorithm corresponding to the card type.
[0018] Further, as another embodiment, the virtual card number further includes a virtual security code corresponding to the number of digits of a card security code, and further includes a step of the virtual card number verification means judging whether a reception security code received from the virtual card number generation means and a generation security code generated in the virtual card number verification means are identical and verifying the virtual card number.
[0019] Further, as another embodiment, it is characterized in that the virtual card number configures an issuer identification number of the actual card number as the fixed code at the same position, and assigns the number of digits of the first code and the second code separately from all or a part of the number of digits other than the fixed code.
[0020] Further, as another embodiment, when the first code or the second code of N digits is generated using M characters, each of the detailed codes is respectively matched with MN codes per unit count, and the virtual card number generation function includes a first function or a second function that sequentially provides the first code or the second code per unit count according to a specific matching rule.
[0021] Further, as another embodiment, the first code is generated based on elapsed unit counts from an initial time point at which the virtual card number verification means starts to issue an actual card number, and the second code is generated based on elapsed unit counts from a time point at which an individual actual card number is issued.
[0022] In addition, as another embodiment, when the storage position search algorithm is to move the pointer on a track based on the first code and the second code, the actual card number search step includes: a step of moving the pointer to a position on a track corresponding to the first code in the virtual card number received from the virtual card number generation means; a step of setting the position corresponding to the first code as a search start position, returning the track by a count corresponding to the second code, and searching for a position matching the actual card number storage position; and a step of extracting the actual card number included in the actual card number storage position.
[0023] In addition, as another embodiment, when the storage position search algorithm is to move the pointer on a track based on the first code and the second code, the actual card number search step includes: a step of moving the pointer to a position on a track corresponding to the first code in the virtual card number received from the virtual card number generation means; a step of setting the position corresponding to the first code as a search start position, returning the track by a count corresponding to the second code, and searching for a position matching the actual card number storage position; and a step of extracting the actual card number included in the actual card number storage position.
[0024] In addition, as another embodiment, when the storage position search algorithm is to move the pointer on a track based on the first code and the second code, the actual card number search step includes: a step of moving the pointer to a position on a track corresponding to the first code in the virtual card number received from the virtual card number generation means; a step of setting the position corresponding to the first code as a search start position, returning the track by a count corresponding to the second code, and searching for a position matching the actual card number storage position; and a step of extracting the actual card number included in the actual card number storage position.
[0025] In addition, as another embodiment, when the storage position search algorithm is to move the pointer on a track based on the first code and the second code, the actual card number search step includes: a step of moving the pointer to a position on a track corresponding to the first code in the virtual card number received from the virtual card number generation means; a step of setting the position corresponding to the first code as a search start position, returning the track by a count corresponding to the second code, and searching for a position matching the actual card number storage position; and a step of extracting the actual card number included in the actual card number storage position.
[0026] Further, as another embodiment, wherein the virtual card number is composed of a first code and a second code generated based on a count added to a virtual security code at a point of time of issuance of an actual card number or a point of time of a financial transaction request, the virtual security code is a code value of a specific number of digits generated by an OTP function based on an inherent value of a virtual card number generation means and a card security code, and is not separately provided from the virtual card number generation means to the virtual card number verification means, the method further includes a step of verifying, by the virtual card number verification means, whether the virtual card number generation means is normally issued using the second code and a generated virtual security number calculated based on a time value within a specific range from a point of time of receiving the virtual card number.
[0027] Another embodiment of the present application is a virtual card number-based financial transaction providing program combined with hardware, which implements the above-mentioned virtual card number providing method and is stored in a medium.
[0028] A virtual card number generation device according to still another embodiment of the present application includes: a detail code generation section which generates one or more detail codes; a virtual card number generation section which generates a virtual card number by combining the one or more detail codes; and a virtual card number providing section which outputs the virtual card number to the outside in order to provide the virtual card number to a virtual card number verification server; the virtual card number verification means and the virtual card number generation means include the same virtual card number generation function, the virtual card number is generated by combining a fixed code and a plurality of detail codes according to a specific rule, the fixed code is combined at a predetermined position in the virtual card number and is a code for judging a card company or a card type corresponding to the actual card number; the plurality of detail codes are characterized by including: a first code which sets a start point of a storage position search; and a second code which sets a search path from the start point to the storage position according to a specific search method; the plurality of detail codes are respectively generated according to a plurality of detail code generation functions included in the virtual card number generation function; the first code and the second code are changed per unit count; and the unit count is set per a specific time interval and is changed as the time interval elapses.
[0029] The virtual card number verification server of the further embodiment of the present application includes: a receiving section that receives a virtual card number provided from a virtual card number generating device; a detail code extracting section that extracts a plurality of detail codes included in the virtual card number; and an actual card number searching section that searches for a storage position of an actual card number based on the plurality of detail codes; the virtual card number verification server and the virtual card number generating device include the same virtual card number generating function; the virtual card number is generated by combining a fixed code and the plurality of detail codes according to a specific rule; the fixed code is combined at a predetermined position in the virtual card number and is a code that judges a card company or a card type corresponding to the actual card number; the plurality of detail codes include: a first code that sets a search start point of a storage position search in the actual card number searching section; and a second code that sets a search path from the start point to the storage position in the actual card number searching section according to a specific search method; the actual card number searching section is characterized by including a storage position search algorithm that adjusts the storage position of the actual card number so as to conform to the first code and the second code that are changed and provided per unit count in the virtual card number generating device; if a virtual card number that is normally generated per unit count is received, a point that moves according to the search path corresponding to the second code is calculated as the storage position from the search start point corresponding to the first code; the unit count is set per a specific time interval and is changed as the time interval elapses.
[0030] Beneficial effects
[0031] According to the present application as described above, the following various effects are obtained.
[0032] First, a new virtual card number is generated per unit count, and no duplicate virtual card number appears in a determined whole period, thus providing an effect that even if a virtual card number is leaked, an actual card number is not leaked.
[0033] Second, only an algorithm for virtual card number generation and actual card number search is added in the virtual card number generating device and the virtual card number verification device (for example, a financial company server), thus the original flow using an actual card number can be directly maintained. For example, when a non-duplicate virtual card number is generated and provided to a smart card or an application card, a POS device and a PG company server can be directly maintained to transfer the virtual card number to a card company server, the card company server searches for an actual card number corresponding to the virtual card number and performs settlement. Thus, a part that needs to be changed in the original flow for security improvement can be minimized, and a user does not need to perform an additional step for security improvement.
[0034] Third, the virtual card number provided by the same virtual card number generation means matches the actual card number regardless of the generation time point, and thus although the virtual card number is changed every count, cancellation of the financial transaction can be easily performed. BRIEF DESCRIPTION OF DRAWINGS
[0035] Figure 1 is a configuration diagram of a virtual card number-based financial transaction providing system according to an embodiment of the present application.
[0036] Figure 2 is an example diagram illustrating a process of providing a virtual card number from a virtual card number generation means to a financial company server according to an embodiment of the present application.
[0037] Figure 3 is a configuration diagram of a virtual card number generation apparatus according to an embodiment of the present application.
[0038] Figure 4 is an example diagram of a virtual card number generation apparatus according to an embodiment of the present application.
[0039] Figures 5-6 is a configuration diagram of a virtual card number verification apparatus according to an embodiment of the present application.
[0040] Figure 7 is a sequence diagram of a virtual card number-based financial transaction providing method according to an embodiment of the present application.
[0041] Figure 8 is an example diagram of a storage location search algorithm for searching a storage location of an actual card number by a k-angle rolling movement according to an embodiment of the present application.
[0042] Figure 9 is a sequence diagram of a virtual card number-based financial transaction providing method according to an embodiment of the present application, including an actual card number search process in a k-angle rolling movement.
[0043] Figure 10 is an example diagram of a storage location search algorithm for moving on a track and searching a storage location based on a detail code according to an embodiment of the present application.
[0044] Figure 11 is a sequence diagram of a virtual card number-based financial transaction providing method according to an embodiment of the present application, further including a process of issuing an actual card number and storing the same in a storage location.
[0045] Figures 12-13 is a sequence diagram of a virtual card number-based financial transaction providing method according to an embodiment of the present application, further including a virtual code verification step.
[0046] Figure 14is an example diagram of a method of moving an actual card number search time point using a virtual security code according to an embodiment of the present invention.
[0047] Figure 15 is a sequence diagram of a virtual card number-based financial transaction providing method according to an embodiment of the present invention, which further includes a financial transaction canceling process. DETAILED DESCRIPTION
[0048] Reference will now be made in detail embodiments of the application, examples of which are illustrated in the accompanying drawings. The detailed description, which will be given with reference to the accompanying drawings, is given solely for understanding of the present application, and will not be used in limiting the present application as the scope of the present application will be defined only by the appended claims. In the detailed description of the present application, identical reference numerals are used throughout the drawings and identical elements are represented by the same reference numerals. Figure 1 The advantages and features of the present application and the method of accomplishing the same will be apparent from the exemplary embodiments as described in detail below. However, the present application is not limited to the embodiments disclosed herein, and can be implemented in various ways. The embodiments are provided only to more completely explain the present application to those skilled in the art, and to fully convey the scope of the present application to those skilled in the art. The present application will only be defined by the appended claims. Throughout the specification, like reference numerals refer to like elements.
[0049] Unless otherwise defined, all terms used in the present specification, including technical and scientific terms, have the same meaning as those commonly understood by one of ordinary skill in the art to which the present application pertains. It will be further understood that the terms of the present specification, unless otherwise specifically defined, are to be interpreted as being flexible and open to modification based on the intellectual and relevant art of the skilled in the art.
[0050] The terms used in the present specification are used to describe embodiments, and are not intended to limit the present application. In the present specification, the singular forms are intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms "comprises" and / or "comprising," when used in this specification, do not exclude the presence of one or more other elements or steps.
[0051] In the present application, "financial transaction" means a procedure performed with a financial company. The "financial transaction" includes card settlement, payment and receipt from a bank account, etc.
[0052] In the present specification, "character" as a component of a code includes all or a part of capital Roman letters, small Roman letters, numbers, special characters, etc.
[0053] In the present specification, "code" means a string of characters.
[0054] In the present specification, "card number" is a number assigned to a card for a financial transaction such as settlement, and is transmitted to a card company in the case of settlement, canceling settlement, etc.
[0055] In the present specification, the "actual card number" is a number assigned to a card of a specific user by a card company. That is, the "actual card number" means a number assigned to a general physical card, a mobile card, etc.
[0056] In the present specification, the "virtual card number" is a specific number of codes composed of characters including numbers, which is generated temporarily in a manner connected to the actual card number.
[0057] In the present specification, the "detail code" means a part of the code included in the virtual card number. That is, when the virtual card number is generated in combination with a plurality of codes generated separately, the detail code means an individual code generated separately and constituting the virtual card number.
[0058] In the present specification, the "unit count" is defined as a unit set per a specific time interval and changed as the time interval elapses. For example, 1 count unit can be set to be used for a specific time interval (e.g., 1.5 seconds).
[0059] In the present specification, the "virtual card number generating function" means a function utilized to generate the virtual card number.
[0060] In the present specification, the "smart card" means a card which can change a card number and output.
[0061] In the present specification, the "rolling movement" means that an object body moves while rotating and advancing. That is, the "rolling movement" means that an object body moves while rotating and advancing, and means that each point of the rotating object body contacts and moves on the axis of movement in sequence.
[0062] Hereinafter, in order to explain the virtual card number generation and the actual card number search process which replace the actual card number according to an embodiment of the present invention, the constitution of the actual card number will be explained first.
[0063] The "actual card number" includes at least one of a card identification number, a card security code, and an expiration date. The card identification number means a code assigned to identify a card company, a card type, and a card user. Generally, the card identification number assigned to a card is composed of 15 or 16 digits. Also, in the case of the card identification number generally composed of 16 digits, the first 6 digits are composed of an issuer identification number (IIN) of the card, the 7th to 15th digits are composed of a code assigned to each card by each card company according to an arbitrary rule, and the 16th digit is composed of a value verified according to a specific formula.
[0064] The card security code is a specific number of digits printed on the side of the card (e.g., 3 digits for Visa and Mastercard, 4 digits for AMEX). It's a code that verifies the card's validity. Specifically, when the card security code is 3 digits and the card identification number is 16 digits, the 3-digit security code and the 16-digit card identification number are encrypted / decoded according to established rules. If the values match, the card is considered valid. The name used for the card security code varies by card company: Visa calls it CVV (Card Verification Value), Mastercard / JCB calls it CVC (Card Validation Code), and American Express calls it CID (Confidential Identifier Number or Card Identification Number).
[0065] The validity period signifies the duration of use after the actual card number is issued. Generally, the validity period is assigned two digits per year / month, consisting of a four-digit code. Magnetic cards directly contain the actual card number, thus posing a risk of revealing the entire card number simply by reading the card. Recently, the use of magnetic cards has been restricted worldwide, with a shift towards more secure methods such as IC cards. Applying these other more secure methods requires installing new terminals or modifying existing processes. Therefore, a method is needed that prevents card number leakage while maintaining the existing processes that utilize the actual card number. Specifically, a method is needed to improve security while still utilizing the existing magnetic card reader.
[0066] The following description, with reference to the accompanying drawings, details the virtual card number-based financial transaction provision system, virtual card number generation device 100, virtual card number verification server 200, virtual card number-based financial transaction provision method, and virtual card number-based financial transaction provision procedure of the present invention.
[0067] Figure 1 This is a structural diagram of a financial transaction provision system based on a virtual card number, according to an embodiment of the present invention.
[0068] Figure 2 This is an example diagram illustrating the process of providing a virtual card number from a virtual card number generation means to a financial company server according to an embodiment of the present invention.
[0069] If reference Figure 1 An embodiment of the present invention provides a financial transaction provision system based on virtual card numbers, including a virtual card number generation means 10 and a virtual card number verification means 20.
[0070] The virtual card number generating means 10 functions to generate a virtual card number including information that the virtual card number verifying means 20 can search for an actual card number. That is, the virtual card number generating means 10 generates a virtual card number according to a virtual card number generating function. At this time, the virtual card number verifying means 20 searches for an actual card number based on a virtual card number, and therefore the virtual card number generating means 10 can not store an actual card number. Thus, it is possible to prevent an actual card number from being leaked due to hacking of the virtual card number generating means 10 or the like. A detailed description of the virtual card number generating function will be given later.
[0071] The virtual card number verifying means 20 functions to search for an actual card number based on a virtual card number provided from the virtual card number generating means 10. The virtual card number verifying means 20 stores the same virtual card number generating function as the virtual card number generating means 10 in order to search for an actual card number from a virtual card number received from the virtual card number generating means 10. A detailed description of the manner in which the virtual card number verifying means 20 searches for an actual card number based on a virtual card number will be given later.
[0072] In addition, the virtual card number verifying means 20 functions to verify whether a virtual card number is a card number normally generated by the virtual code generating means 10. A detailed description of the manner in which the virtual card number verifying means 20 determines whether a virtual card number is normal or not will be given later.
[0073] The virtual card number verifying means 20 can receive a virtual card number from the virtual card number generating means 10 in various manners. As one embodiment, the virtual card number verifying means 20 can receive a virtual code from the virtual card number generating means 10 through wireless communication. For example, when the virtual card number generating apparatus 100 including the virtual card number generating means 10 includes an NFC antenna module, a Bluetooth communication module, or the like, a virtual card number to be transmitted to the virtual card number verifying server can be transmitted to a financial transaction terminal through communication with the financial transaction terminal. In addition, as another embodiment, the virtual card number verifying server 200 can directly input (for example, input a virtual card number in a settlement page of a web page or an application) and receive a virtual card number generated by the virtual card number generating apparatus 100 on a mobile terminal connected to the virtual card number verifying server 200 through communication. At this time, the virtual card number verifying means 20 can receive a virtual card number from another server to which the virtual card number generating means 10 has transmitted the virtual card number.
[0074] Specifically, as Figure 2As shown, the virtual card number generating means 10 is a smart card that can perform settlement in a settlement terminal, and when the virtual card number verifying means 20 is a card company server (virtual card number verifying server) 20 that includes a virtual card number generating function, if settlement is performed in the POS device 30 using the smart card as the virtual card number generating means 10, the virtual card number verifying means 20 receives the virtual card number from the PG company server 40 that received the virtual card number from the POS device 30. That is, the virtual card number verifying means 20 (i.e., the card company server) can receive the virtual card number from the virtual card number generating means 10 instead of the actual card number using the original settlement flow. That is, as described later, if the virtual card number is generated as a code of the same length as the actual card number, the virtual card number based financial transaction providing method of the present embodiment can be applied without modification in the flow from the virtual card number generating means to the card company server including the virtual card number verifying means. In addition, when a financial transaction is performed using the smart card as the virtual card number generating means through the ATM device, the virtual card number generating means 10 provides the virtual card number generated as a code of the same length as the actual card number to the ATM device, and the financial company server 20 can directly receive the virtual card number from the ATM device and perform a financial transaction.
[0075] In addition, as one embodiment, the virtual card number verifying means 20 includes the same virtual card number generating function as the virtual card number generating means 10. Since the virtual card number verifying means 20 includes the same virtual card number generating function as the virtual card number generating means 10, the virtual card number verifying means 20 can directly extract the plurality of detailed codes within the virtual card number generated by the virtual card number generating means 10. In addition, the virtual card number verifying means 20 can verify whether the received virtual card number is generated and received in the normal virtual card number generating means 10. That is, the virtual card number verifying means 20 can compare the codes (i.e., the virtual card number or the specific detailed code) received from the virtual card number generating means 10 after performing code (i.e., the virtual card number or the specific detailed code) generation under the same conditions as the virtual card number generating means 10, thereby performing verification.
[0076] Figure 3 is a configuration diagram of the virtual card number generating device 100 of another embodiment of the present application.
[0077] Figure 4 is an example diagram of the virtual card number generating device of one embodiment of the present application.
[0078] If referring to Figure 3 , the virtual card number generating device 100 of another embodiment of the present application includes a detailed code generating section 110, a virtual card number generating section 120, and a virtual card number providing section 130.
[0079] The virtual card number generating device 100 according to the present embodiment can be a device in which a program corresponding to the virtual card number generating means 10 is embedded or installed. For example, the virtual card number generating device 100 can be a smart card in which a program corresponding to the virtual card number generating means 10 is embedded. Alternatively, for example, the virtual card number generating device 100 can be a mobile terminal in which an application program corresponding to the virtual card number generating means 10 is installed. The virtual card number generating device 100 can be any device that generates and transmits a virtual card number, in addition to the above-described examples.
[0080] The virtual card number generating section 120 functions to generate a virtual card number by combining one or more detail codes. As one embodiment, the virtual card number is generated by combining a plurality of detail codes according to a specific rule. The virtual card number generating function includes a rule for combining the plurality of detail codes (i.e., a detail code combining function).
[0081] As a method of generating a virtual card number by combining a plurality of detail codes, various methods can be applied. As one example of the detail code combining function, the virtual card number generating section 120 can generate a virtual card number by alternately arranging an N-bit first code and an N-bit second code. Alternatively, as another example, the detail code combining function can be a function of combining a second code after a first code. As the number of detail codes included in the virtual function increases, the detail code combining function can be variously generated.
[0082] The detail code generating section 110 functions to generate one or more detail codes. The virtual card number generating function includes each detail code generating function. For example, the virtual card number generating function generates a plurality of detail codes using a plurality of detail code generating functions, and generates a virtual card number using a detail code combining function that combines the plurality of detail codes.
[0083] As one embodiment, the detail code generating section 110 includes a first function and a second function as the detail code generating function, and generates a first code and a second code. The first code and the second code can have a correlation required for searching a storage location of an actual card number in the virtual card number verifying means 20, but the virtual card number generating device 100 can include only the first function that generates the first code and the second function that generates the second code in the detail code generating function, and not include data on the correlation between the first code and the second code, in order to improve security.
[0084] In addition, as another embodiment, the virtual card number can include a fixed code that is constant for each group and a plurality of detail codes. The virtual card number verification means 20 can include a plurality of virtual card number generation functions corresponding to the plurality of groups, respectively, and if a virtual card number is received from the virtual card number generation device 100, the actual card number search should be performed based on the virtual card number generation function of the group to which the virtual card number generation device 100 belongs. If only the detail codes newly generated each time the entire code is counted by one are included without the fixed code, there is no additional information to determine the group to which the virtual card number generation device 100 belongs. Therefore, the virtual card number generation device 100 includes the fixed code for identifying the group.
[0085] For example, when the virtual card number generation function is assigned by card type of a specific card company, the virtual card number generation device 100 uses the first 6 digits of the card number representing the card company and the card type as the fixed code, and the virtual card number verification means 20 can identify the specific card type of the specific card company to which the same virtual card number generation function as the virtual card number generation device 100 is applied. That is, the fixed code is a code for determining the card company or the card type corresponding to the actual card number.
[0086] In addition, the fixed code can be combined at a predetermined position within the virtual card number. When the virtual card number generation function is assigned by each card type group, the virtual card number verification means 20 can determine the card type group only if the fixed code is extracted first in the virtual card number. Therefore, the fixed code can be combined at a predetermined position within the virtual card number (for example, the same position as the issuer identification number of the actual card number) so as to be separable without an additional function.
[0087] In addition, as an example, the virtual card number generation device 100 combines a plurality of detail codes and the fixed code to generate the detail codes so as to become a code having the same number of digits as the actual card number. In order to use the virtual card number while maintaining the original financial transaction system (for example, when the financial transaction is settlement in a shopping mall, the POS device and the PG company server), the virtual card number generation device 100 should generate a code having the same number of digits as the actual card number as the virtual card number. To this end, the virtual card number generation device 100 splits the number of digits excluding the fixed code for determining the card company and the card type of the corresponding card company, and uses it as the number of digits of the plurality of detail codes. For example, when the actual card number has a 16-digit card identification number, and includes a first code and a second code as detail codes, the virtual card number generation device 100 can equally split 10 digits excluding 6 digits of the fixed code among the 16 digits to generate a 5-digit first code and a second code. Then, the virtual card number generation unit described later can combine the first code and the second code according to a specific rule, and combine the fixed code to the front part like the card identification number of the actual card number to generate the card identification number of the virtual card number.
[0088] In addition, for example, a virtual card number composed of the detailed codes can be generated using the card identification number of the card number and the bits of the expiration date. That is, in the 16-bit card identification number and the 4-bit expiration date, the virtual card number generation device 100 maintains 6 bits corresponding to the issuer identification number of the actual card number as a fixed code, and allocates the remaining 14 bits to a plurality of detailed codes, and the detailed code generation section generates detailed codes corresponding to the allocated number of bits.
[0089] In addition, for example, the virtual card number generation device 100 can use the card identification number, the expiration date, and the card security code of the actual card number as the number of bits allocated to the detailed codes in the virtual card number. For example, the virtual card number generation device 100 can maintain 6 bits corresponding to the issuer identification number of the actual card number as a fixed code,
[0090] The remaining 10 bits of the card identification code, 4 bits of the expiration date, and 3 bits of the card security code are allocated to each detailed code as the number of bits.
[0091] In addition, for example, the virtual card number generation device 100 can express the detailed codes and the fixed code of the virtual card number using only the card identification number part. At this time, the virtual card number generation device 100 can allocate different numbers of bits to a plurality of detailed codes. That is, when the virtual card number includes a fixed code, a first code, and a second code, and the fixed code, the first code, and the second code are generated using only the number of bits of the card identification number, the virtual card number generation device 100 splits and allocates 9 bits among the number of bits allocated to the fixed code, the first code, and the second code, excluding the 6 bits allocated to the fixed code. In order to apply to the case where the card identification number is 15 bits and the case where it is 16 bits, the virtual card number generation function can allocate only 9 bits of the card identification number to the first code and the second code. For example, the virtual card number generation function can allocate 6 bits of the 9 bits to the first code and 3 bits to the second code. As described above, if the codes of the virtual card number are expressed using only the card identification number part of the entire card number, the number of characters that need to be input by the user can be reduced in the case where the card number needs to be directly input. In addition, the virtual card number generation device 100 can use the expiration date and the card security code part for other purposes that can improve security.
[0092] In addition, as one embodiment, the virtual card number further includes a virtual security code. For example, the virtual card number includes a plurality of detailed codes and a virtual security code. The security code of the virtual card number can be provided using the bits of the card security code (i.e., CVV or CVC) of the actual card number. That is, the virtual card number generation device can allocate the card security code bits to the virtual security code of the virtual card number, and allocate all or part of the bits of the card identification number and the expiration date to the plurality of detailed codes, so that the same number of characters as the actual card number used in the original financial transaction system is included.
[0093] The security code is generated as a code based on a specific security code generation function for verifying whether the virtual card number is normal. The security code generation function uses time data and a value inherent to the virtual card number generation means as function values to generate a security code of a specific number of digits.
[0094] One example of a process for determining whether a virtual card number is normal using a virtual security code is as follows. The virtual card number verification means 20, at the time of issuance of an actual card number, can receive a value inherent to the virtual card number generation device 100 (e.g., a chip inherent value in a smart card or a value inherent to a smart phone on which an application card is installed, etc.), and store it together with the actual card number in a storage location or in another storage space connected to the actual card number storage location. If the virtual card number generation device 100 generates a virtual card number combined with a virtual security code and provides it to the virtual card number verification means 20, the virtual card number verification means 20 obtains time data at which the virtual code was generated based on the detailed code, extracts a specific value inherent to the virtual card number generation device 100 stored internally, and applies it together with the time data to a security code generation function (e.g., an OTP (One-Time Password) function) to calculate a security code. The virtual card number verification means 20 determines whether the virtual security code received from the virtual card number generation device 100 (i.e., the received virtual security code) and the virtual security code calculated by the security code generation function stored internally (i.e., the generated virtual security code) are identical. Since there can be a difference between the time point at which the virtual card number generation device 100 generates the virtual card number and the time point at which the virtual card number verification device 200 receives the virtual card number, the virtual card number verification device 200 calculates the virtual security code (i.e., the OTP number) within a specific time range (e.g., from the time point at which the virtual card number is received to a specific count) considering the time delay, and determines whether there is a value identical to the received virtual security code received from the virtual card number generation device 100. If the received virtual security code and the generated virtual security code are identical, the virtual card number verification means 20 determines that the virtual card number is normal and provides the actual card number.
[0095] For example, the virtual security code can be generated to have a number of digits corresponding to the card security number. That is, the virtual card number generation device 100 generates 3 or 4 digits belonging to the card security number as a virtual security code using a virtual security code generation function, and if the virtual security code is input as the card security number when the card is used, the virtual card number verification means 20 performs a process of verifying the virtual security code.
[0096] In addition, as another example, the virtual security code generation function can generate an l-digit (l is a natural number) code different for each count and apply it together with the function value. That is, the virtual security code generation function can include an l-digit random code generation function (e.g., an OTP function that generates an l-digit code).
[0097] In addition, as one embodiment, when the virtual card number is generated by the combination of the first code and the second code according to a specific rule, the first code and the second code can respectively perform the role of searching for the storage location of the actual card number. For example, the first code sets the starting point of the storage location search, and the second code sets the search path from the starting point to the storage location according to a specific search method. That is, from the virtual card number generation device 100, if a normally generated virtual card number is provided per unit count, the virtual card number verification means 20 judges the location moved along the search path corresponding to the second code from the search starting point corresponding to the first code as the storage location of the actual card number. The specific method of searching for the storage location based on the first code and the second code constituting the virtual card number will be described later.
[0098] As one embodiment of the method of generating the detail code by the detail code generation unit 110, the detail code generation unit 110 generates a new detail code per unit count, and thus the virtual card number generation device 100 produces a new virtual card number per unit count. The newly generated virtual card number per unit count is not repeatedly generated. Specifically, the detail code generation unit 110 is set to newly generate the virtual card number per unit count not only for a specific user or a specific virtual card number generation device 100, but also not to be repeatedly generated even among users belonging to a specific group for a predetermined period.
[0099] As a specific embodiment of preventing the virtual card number from being repeatedly generated, when the first code or the second code of N bits is generated with M characters, the detail code generation function included in the virtual card number generation function can generate MN codes as the first code or the second code, and match each code per count from the initial time point at which the detail code generation function is driven. For example, when the unit count is set to 1 second, MN different codes are matched per second from the time point at which the detail code generation function is initially driven. Also, if the period of using the specific detail code generation function or the use period of the virtual card number generation device 100 (for example, the valid period of the smart card generating the virtual card number) is set to a time length shorter than the time length corresponding to MN counts (for example, 1 second when the unit count is 1, MN seconds), the same code is not repeatedly generated during the use period as the first code or the second code. That is, when the count increases as time elapses, in the case where the user requests the virtual card number generation device 100 to generate the virtual card number at a specific time point, the virtual card number generation device 100 can generate the code value matched with the count corresponding to the specific time point as the first code or the second code.
[0100] Specifically, when the capital Roman letters and the numbers from 0 to 9 are used as the characters that can be included in the code (i.e., 36 characters are used), and 6 bits of the card identification number and the expiration date of the actual card number are allocated to the first code and the second code, respectively, the virtual card number generating device 100 can provide 366 codes for the first code and the second code. At this time, the virtual card number generating device 100 can provide the first code and the second code that are changed per count, by matching each code per count.
[0101] As another embodiment for preventing the virtual card number from being repeatedly generated, if a usage period of the virtual card number generating device 100 elapses, the function (i.e., the first function or the second function) for generating the first code or the second code or the matching relationship of the first code and the second code is changed so that the virtual card number different from the previous usage period is generated. When the virtual card number is combined from the first code generated according to the first function and the second code generated according to the second function, if the first code generating function or the second code generating function is changed, the virtual card number generating device 100 can apply the virtual card number generating function for generating the virtual card number different from the previous period to the new usage period, because the order in which the first code or the second code appears is different from the previous usage period. In addition, the virtual card number generating device 100 can select the first function and the second function so that the same code as the virtual card number used in the previous usage period does not appear as the virtual card number per count in the new usage period (i.e., the matching relationship of the first code generated according to the first function and the second code generated according to the second function is not included in the matching relationship included in the previous usage period, for all counts of the new usage period). That is, after the usage period in which MN codes can be applied at a time elapses, by adjusting or updating the virtual card number generating function, the virtual card number generating function for the new usage period in which the virtual card number overlapping the previous usage period is not generated can be applied.
[0102] At this time, the virtual card number generating means 10 and the virtual card number verifying means 20 can store the rule in which the virtual card number generating function is updated. That is, the virtual card number generating means 10 and the virtual card number verifying means 20 can store the order or the rule in which a plurality of first functions and second functions are applied to each usage period.
[0103] Further, as another embodiment for preventing the virtual card number from being generated repeatedly, in order to prevent the same virtual card number from being generated at the same time point even between users belonging to the same group, at least one of the first code or the second code included in the virtual card number can be generated by a value (i.e., a device identification value) that is always different at the same time point for each virtual card number generation device 100. As one embodiment, the device identification value can be the time (or the count number) that has elapsed from the time point at which the specific virtual card number generation device 100 belongs to the group to which the specific detail code generation function is applied (e.g., the time point at which the detail code generation function starts to be applied to the specific virtual card number generation device 100 after a lapse of a specific time from the initial time point at which the specific detail code generation function is driven within the virtual card number verification means 20). When a plurality of virtual card number generation devices 100 are included in one group, if the count number of the virtual card number generation devices 100 set to belong to the corresponding group is not the same (i.e., if the virtual card number generation devices 100 cannot belong to the corresponding group at the same time), the elapsed time from the time point (or the count number) at which the virtual card number generation device 100 belongs to the group to a specific time point is different for each virtual card number generation device 100. Therefore, at least one of the detail code generation functions can use the elapsed time from the time point (or the count number) at which the virtual card number generation device 100 belongs to the group to a specific time point as the device identification value, so that the virtual card numbers generated by the respective virtual card number generation devices 100 at each time point are different. Thus, the virtual card number verification means 20 can distinguish the virtual card number generation devices 100 without separately receiving data for distinguishing the users, by receiving only the virtual card numbers.
[0104] For example, when the card (e.g., a smart card or an application card, etc.) whose card number output by the virtual card number generation device 100 can be changed, the specific card type of the specific card company is set as one group, and the specific virtual card number verification means 20 within the card company server is driven with respect to the corresponding group. If the first user requests issuance of a card to the first virtual card number generation device 100 (i.e., the virtual card number generation device 100 of the first user) at a time point after a lapse of A time from the driving of the virtual card number verification means 20, and the second user requests issuance of a card to the second virtual card number generation device 100 (i.e., the virtual card number generation device 100 of the second user) at a time point after a lapse of B (B is a value greater than A) time from the driving of the virtual card number verification means 20, the first virtual card number generation device 100 and the second virtual card number generation device 100 always have different lengths of time that have elapsed from the time point of card issuance for C (C is a value greater than B) time from the request for generation of the virtual card number by the first user and the second user. Therefore, the detail code generation function uses the length of time that has elapsed from the time point of card issuance to each virtual card number generation device 100 as a variable, so that the same virtual card number is not generated at the same time point.
[0105] In addition, the length of time that elapses from the point in time at which the specific virtual card number generating device 100 belongs to a specific group continues to increase as time passes, and thus the specific virtual card number generating device 100 generates a detail code (e.g., the 2nd code) that does not generate the same value but a continuously different value.
[0106] In addition, as a specific further embodiment for preventing the repeated generation of virtual card numbers, in order to not generate a repeated virtual card number in all cycles regardless of the user, the 1st code can be set so that, from the initial point in time at which the 1st function is driven within the virtual card number verification means 20, the code value corresponding to the point in time (or count) at which the generation of the virtual card number is requested in each count-matched code, the 2nd code can be set so that a code value generated by reflecting a value (i.e., a device identification value) that is always different for each virtual card number generating device 100 at the same point in time, and the virtual code can be used as a code value that combines the 1st code and the 2nd code. The 1st code is a code value that is different for each count, the 2nd code has a code value that is different for each virtual card number generating device 100 at the same point in time, and the virtual card number that combines the 1st code and the 2nd code outputs a code value that is different for all virtual card number generating devices 100 and all points in time.
[0107] In addition, as another embodiment, the virtual card number generating function (or the detail code generating function) applies one of a plurality of arrangement rules that arrange M characters in ascending order. That is, the virtual card number generating device 100 (i.e., the virtual card number generating means 10) can diversely apply the rule that arranges M characters in ascending order to the detail code generating function included in the virtual card number generating function. For example, the arrangement rule that arranges capital Roman letters in ascending order can be the normal order of A, B, C, …, Z order, or can be the A, C, B, …, Z order. In the virtual card number generating function, the arrangement rule becomes different, and thus the order in which the code matches each count from the initial point in time at which the virtual card number generating function is driven also becomes different. The virtual card number verification means 20 can match the code generated according to the same arrangement rule to each count, or can include the same arrangement rule itself in the virtual card number generating function and store it. Thus, the virtual card number generating function of each group includes a different detail code combination function or includes a different character arrangement rule, and it is possible to have virtual card number generating functions that are different for each group.
[0108] The virtual card number providing part 130 performs an action to output to the outside in order to provide the virtual card number to the virtual card number verification device 200. The virtual card number providing part 130 can include a diverse configuration that can provide the virtual card number to the outside. The virtual card number providing part 130 includes all or a part of a wireless communication module, a close proximity communication module, an IC chip 131, a magnetic field generating part, a display part 132, etc.
[0109] The wireless Internet module refers to a module for wireless Internet access, which can be built-in or external to the mobile terminal 100. As the wireless Internet technology, WLAN (Wireless LAN) (Wi-Fi), Wibro (Wireless broadband), Wimax (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access), LTE (long term evolution), LTE-A (Long Term Evolution-Advanced), etc. can be used. For example, in the case where the virtual card number generation device 100 is a mobile terminal in which an application card application program as a virtual card number generation means is installed, when an item is purchased in a shopping application program or a shopping website, the virtual card number generation device 100 can transmit a virtual card number to a payment settlement service server (i.e., a PG company server) 40 through wireless Internet communication.
[0110] The near field communication module refers to a module for near field communication. As the near field communication (short range communication) technology, Bluetooth, BLE (Bluetooth Low Energy), Beacon, RFID (Radio Frequency Identification), NFC (Near Field Communication), infrared communication (Infrared Data Association; IrDA), UWB (Ultra Wideband), ZigBee, etc. can be used.
[0111] When the virtual card number generation device 100 is used to transmit virtual card numbers to a POS device, the virtual card number providing unit 130 may include a magnetic field generating unit or an IC chip. The magnetic field generating unit functions to output card data in the form of a magnetic signal and transmit it to the card reader. The magnetic field generating unit may include one or more magnetic units, which generate a magnetic field through current flow and output card information magnetic signals. The magnetic field generating unit may be positioned close to a specific long side of the card's PCB board, protruding from the top or bottom of the PCB board along that long side. The IC chip 131 may be mounted within the PCB board, allowing it to contact the terminals of an IC-based card reader to perform data exchange. That is, the IC chip transmits the virtual card number generated by the virtual card number generation unit 120 to the IC-based card reader.
[0112] The display unit 132 may also include at least one of a liquid crystal display, a thin film transistor liquid crystal display, an organic light-emitting diode, a flexible display, and electronic paper.
[0113] The display unit visually outputs the virtual card number generated by the virtual card number generation unit 120 to the outside. Therefore, the user of the virtual card number generation device 100 can visually confirm the generated virtual card number in real time, and can directly input the visually confirmed virtual card number into the virtual card number verification means 20.
[0114] For example, such as Figure 4 As shown, when the virtual card number generation device is a smart card, the virtual card number generation device may not record the card number on the surface, but instead has a display unit capable of outputting the virtual card number. Alternatively, for example, when the virtual card number contains a fixed code identical to the issuer identification number, the virtual card number generation device 100 may record the issuer identification number on the card surface and display only the remaining card number digits on the display unit. For example, the display unit may be electronic paper, OLED, or a 7-segment display device with each digit individually displayed. Furthermore, for example, when the virtual card generation device is a smartphone with an application card application installed, the display unit may be the display unit of the smartphone that runs and displays the application card application.
[0115] In addition, the user can transmit the virtual card number displayed in the display section through various means such as a text message. Since the actual card number is not transmitted, but a virtual card number (specifically, a generated code that is continuously changed) that the actual card number verification means 20 can search for is transmitted, the user can be less concerned about the actual card number being leaked when transmitting the code through a text message or the like.
[0116] Figure 5 FIG. 1 is a configuration diagram of a virtual card number verification device 200 according to an embodiment of the present application.
[0117] If referring to Figure 5 , the virtual card number verification device 200 according to another embodiment of the present application includes a virtual card number receiving section 210, a detailed code extracting section 220, and an actual card number searching section 230. The virtual card number verification device 200 can be a financial company server (for example, a card company or a bank server).
[0118] For example, the virtual card number verification device 200 can be a card company server that searches for an actual card number and performs settlement after receiving a virtual card number for a specific type of card of a specific card company held by a specific user. Specifically, when performing card settlement, the virtual card number verification device 200 receives a virtual card number generated by the virtual card number generation device 100 through a POS device and a PG company server.
[0119] In addition, for example, when a user wants to withdraw cash at an ATM using a smart card as a virtual card number generation device, the virtual card number verification device 200 can be a bank server. That is, if a user inputs a virtual card number (for example, inserts a smart card into a card slot or contacts an NFC card reader) in an ATM using a smart card as the virtual card number generation device 100, the bank server searches for an actual card number after receiving the virtual card number from the ATM.
[0120] The virtual card number receiving section 210 performs a function of receiving a virtual card number from the virtual card number generation device 100. As one example, the virtual card number receiving section 210 can accept a virtual card number generated by the virtual card number generation device 100 through communication with other servers (for example, a payment settlement service server).
[0121] The detail code extraction section 220 extracts a plurality of detail codes included in the virtual card number. The virtual card number is generated by combining a plurality of detail codes according to a certain rule. The detail code extraction section 220 of the virtual card number verification device 200 includes the same detail code combination function as the virtual card number generation device 100 of a certain group, and the detail code extraction section 220 can apply the detail code combination function to extract a plurality of detail codes from the virtual card number. For example, when the virtual card number generation device 100 generates a virtual card number combined by two detail codes (i.e., a first code and a second code), the detail code extraction section 220 can separate the first code and the second code by applying the detail code combination function in the character arrangement of the virtual card number.
[0122] The actual card number search section 230 searches the storage location of the actual card number based on a plurality of detail codes. As a method in which the actual card number search section 230 searches the storage location of the actual card number based on each detail code, various methods can be applied. The actual card number search section 230 can include a correlation between the detail codes in order to search the storage location based on a plurality of detail codes.
[0123] When the virtual card number is composed of a first code and a second code, as one embodiment in which the correlation between the detail codes is included, the actual card number search section 230 can determine a search start point corresponding to the first code, and find a point moved along a search path corresponding to the second code from the search start point as the storage location of the actual card number. That is, the detail codes can include a first code that sets a search start point of the storage location, and a second code that sets a search path from the search start point to the storage location according to a certain search method.
[0124] In addition, as another embodiment, the virtual card number generation means 10 (or the virtual card number generation device 100) provides a new virtual card number per unit count, and thus the virtual card number verification device 200 can set a search start point and a search path based on the first code and the second code changed per count to search the storage location of the actual card number.
[0125] In addition, as another embodiment, the actual card number search section 230 can include a storage position search algorithm in order to search for the storage position of the actual card number using a plurality of detail codes having a correlation. The storage position search algorithm is an algorithm that enables the storage position to be searched for when each of the detail codes included in the virtual card number is applied. For example, when the virtual card number includes a first code that determines a search start point of the storage position and a second code that indicates a direction of the storage position from the search start point, the storage position search algorithm is an algorithm that adjusts so that the storage position of the actual card number that matches the virtual card number is arranged at a corresponding position when a point corresponding to the first code indicates a direction corresponding to the second code. By using the storage position search algorithm, even if the first code and the second code included in the virtual card number are changed, the virtual card number verification device 200 can find the storage position of the actual card number or a point that matches the storage position. The storage position search algorithm can be applied in various ways, and specific examples will be described later. However, the storage position search algorithm is not limited to the examples described later.
[0126] For example, as described later, if the virtual card number is referred to Figure 8 When the storage position search algorithm is a k-gon (k is MN) that moves by rolling along a track in which MN codes corresponding to the first code are arranged, and the vertices of the k-gon correspond to points at which the codes are arranged and move on the first code track, each of the vertices of the k-gon matches the storage position of the actual card number, and a point on the first code track (i.e., the first track) corresponding to the k-gon can become a search start point of the storage position corresponding to the first code. At this time, the actual card number search section 230 can apply rolling movement to the k-gon so that the vertices of the k-gon contact points corresponding to the first code extracted by the detail code extraction section 220. Thus, the actual card number search section 230 can search for the vertices of the k-gon as the storage position in which the actual card number corresponding to the virtual card number is stored, at a position on the first track at which the k-gon is in contact.
[0127] Specifically, as shown in FIG. 6, the virtual card number verification device 200 moves the k-gon by rolling (i.e., the k-gon moves by rolling) (S610), and determines whether the vertices of the k-gon match the storage position of the actual card number (S620). When the vertices of the k-gon match the storage position of the actual card number (S620: Yes), the virtual card number verification device 200 can search for the storage position of the actual card number corresponding to the virtual card number (S630). Figure 8
[0128] The virtual card number verification device 200 searches for the vertex corresponding to the storage location by applying the angle corresponding to the second code to the location corresponding to the first code. For example, the virtual card number generation means B generates the second code using 2 counts as a function value after the issuance of the actual card number is accepted, and provides the virtual card number verification means with the second code. The virtual card number verification means matches the second code generated according to the second function with the angle toward each vertex at the location where the k-angle is connected to the track, and stores it (i.e., the second code of n counts is applied to the k-angle of n counts, and thus is matched to the angle toward the nth vertex of the k-angle and is stored). Thus, the virtual card number verification means applies the angle corresponding to the second code to the location corresponding to the first code, and searches for the vertex of the k-angle corresponding to the storage location of the actual card number.
[0129] In addition, as another embodiment, as shown in FIG. 2, the virtual card number verification device 200 further includes a virtual card number verification unit 240. The virtual card number verification unit 240 functions to determine whether the virtual card number received by the virtual card number verification device 200 is authentic or not. Figure 6
[0130] Figure 7 is a sequence diagram of a virtual card number-based financial transaction providing method according to an embodiment of the present application.
[0131] If referring to Figure 7 , the virtual card number-based financial transaction providing method according to an embodiment of the present application includes a step S200 (virtual card number receiving step) in which a virtual card number verification means receives a virtual card number provided by a virtual card number generation means; a step S400 in which the virtual card number verification means extracts a plurality of detailed codes included in the virtual card number; a step S1000 in which the virtual card number verification means searches for a storage location of an actual card number based on the plurality of detailed codes; and a step S1200 in which a financial transaction is performed using the actual card number extracted at the storage location or a request for a financial transaction is made. Detailed descriptions of the steps will be described below. However, detailed descriptions of the virtual card number generation device 100 and the virtual card number verification device 200 will be omitted.
[0132] The virtual card number verification means 20 receives the virtual card number from the virtual card number generation means 10 S200 (virtual card number receiving step). The virtual card number is generated by the virtual card number generation device 100 (or the virtual card number generation means 10) and is provided to the virtual card number verification means 20.
[0133] The virtual card number generated by the virtual card number generating means 10 can be composed of a plurality of detail codes. As one embodiment, the virtual card number can be generated by a combination of a first code and a second code. The first code and the second code are respectively used for the virtual card number verifying means 20 to search for the position of the actual card number. For example, the first code can be a code that sets the starting point of the search for the actual card number storage position by the virtual card number verifying means 20, and the second code can be a code that sets the search path from the starting point to the storage position according to a specific search method.
[0134] The search method can be determined according to the storage position search algorithm. Detailed description of the determination of the search method will be described later in the actual card number search step S1000.
[0135] In addition, as another embodiment, when the first code or the second code of N bits is generated using M characters, the virtual card number generating function includes a first function or a second function that provides MN different codes as the first code or the second code that is sequentially changed per unit count. That is, the first function or the second function is a function that generates MN codes without overlapping as the count increases, and at the count corresponding to a specific time point, a specific one of the MN codes is generated as the first code or the second code. Thereby, the virtual card number generating means 10 does not repeatedly generate the same first code or second code within MN counts (i.e., the time length corresponding to MN counts), but generates a new detail code (i.e., the first code or the second code) per unit count, and generates a new virtual card number per unit count.
[0136] Specifically, the virtual card number generating function generates the first code or the second code of N bits using M characters, and thus when MN codes are used as the first code or the second code, each code is matched per count from the initial time point at which the detail code generating function is driven. For example, when the unit count is set to 1 second, MN different codes are matched per second from the time point at which the detail code generating function is initially driven. Also, if the period in which the specific detail code generating function is used or the usage period of the virtual card number generating device 100 (e.g., the valid period of the smart card that generates the virtual card number) is set to a time length shorter than the time length corresponding to MN counts (e.g., MN seconds when 1 count is 1 second), the first code or the second code does not repeatedly generate the same code during the usage period. That is, when the count increases as time elapses, if the user requests the virtual card number generating device 100 to generate a virtual code at a specific time point, the virtual card number generating device 100 can generate a code value matched with the count corresponding to the specific time point as the first code or the second code.
[0137] In addition, as another embodiment, in order to not generate the same virtual card number at the same time point even within the same group (i.e., the same card type of the same card company), at least one of the first code or the second code included in the virtual card number can be generated by a value (i.e., a device identification value) that is always different at the same time point by reflecting each virtual card number generation means 10. That is, when a plurality of virtual card number generation means 10 of the same card type or card category requests issuance of a virtual card number at a specific time point, in order for each virtual card number generation means 10 to generate a different virtual card number, a value that is different at each time point by being assigned to each virtual card number generation means 10 is reflected, and a different first code or second code is generated.
[0138] For example, when the virtual card number includes a fixed code corresponding to a card company identification code, the virtual card number verification device 200 (e.g., a card company server) assigns a virtual card number generation function by card type of each card company distinguished by a card company identification number. Therefore, the virtual card number generation means 10 generates different virtual card numbers between different card companies / card types according to the fixed code, and thus, in order to not generate the same virtual card number within a specific card type group of the same card company, a detailed code should be generated. For this reason, each virtual card number generation means 10 generates a different detailed code by reflecting a value that is different at each time point by being assigned to each virtual card number generation means 10 in order to generate a different virtual card number.
[0139] As one example, the device identification value can be a time (or a count number) that has elapsed from a start time point of a specific detailed code generation function applied to a group including a specific virtual card number generation means 10 (e.g., a time point at which the detailed code generation function starts to be applied to the specific virtual card number generation device 100 after a specific time elapses from the initial time point at which the specific detailed code generation function is driven within the virtual card number verification means 20 according to a request of a specific user to issue an actual card number by card type of a specific card company) until now. For example, the device identification value can use a time that is the elapsed time from a count at which an actual card number belonging to a corresponding card type group is issued according to a request of a specific user by card type of a specific card company. For example, when the virtual card number is generated by a combination of the first code and the second code, the virtual card number generation function can be such that the second code is generated based on the elapsed unit count from a time point at which a new actual card number is generated.
[0140] Even in the case where the virtual card number issuance request is received from a plurality of virtual card number generation means at the same time, the problem of generating the same code can be eliminated by generating a different code. If the count of the virtual card number generation device 100 belonging to the corresponding card type group is made different (for example, so that if the actual card numbers of the virtual card number generation means 10 are registered in the corresponding card type group at the same time point), the elapsed time from the time point (or count) at which the virtual card number generation means 10 belongs to the group until a specific time point is different for each virtual card number generation device 100. For example, when the card issuance request of a specific card type of a specific card company is received at the same time, the virtual card number verification means 20 can assign an order to the simultaneously received card issuance requests according to a predetermined condition, and consider that the requests are received at different counts. That is, the virtual card number verification means 20 will match the card issuance requests actually received at the same time to different counts in order to generate a difference of at least one unit count, and thus, the count of the elapsed time from the card issuance time point of each virtual card number generation means 10 to a specific same time point can be made different each time.
[0141] Therefore, at least one of the detailed code generation functions can use the elapsed time from the time point (or count) at which the virtual card number generation device 100 belongs to the specific card type group until a specific time point as the device identification value, and make the virtual card number generated by each virtual card number generation device 100 different each time. Thus, the virtual card number verification means 20 can distinguish the virtual card number generation means 10 by receiving only the virtual card number without separately receiving data for distinguishing the user.
[0142] In addition, the length of the elapsed time from the time point at which the specific virtual card number generation device 100 belongs to the specific card type group continues to increase as time passes, and thus, the detailed code (for example, the 2nd code) generated by the specific virtual card number generation device 100 does not generate the same value but continuously generates different values.
[0143] In addition, as still another embodiment, in order to generate no duplicate virtual card numbers in the entire period regardless of the user, the 1st code can be set to generate a code value corresponding to the time point (or count) at which the virtual card number is requested to be generated in the code matched every count from the initial time point at which the 1st function is driven, the 2nd code can be set to generate a code value reflecting a value (that is, a device identification value) that is always different for each virtual card number generation device 100 at the same time point, and the virtual card number can use a code value combined with the code values of the 1st code and the 2nd code. The 1st code is a code value that is different every count, and the 2nd code has a code value that is different for each virtual card number generation device 100 at the same time point, so that the virtual card number combined with the 1st code and the 2nd code outputs a different code value regardless of the virtual card number generation device 100 and the time point.
[0144] In addition, as another embodiment, the virtual card number generation function includes a detail code combination function corresponding to a rule of arranging a plurality of detail codes. That is, the virtual card number generation function can have a certain rule of listing or arranging characters included in a plurality of detail codes. Therefore, with respect to the virtual card number generation means 10 and the virtual card number verification means 20 including the same virtual card number generation function, the virtual card number generation means 10 can arrange characters included in a plurality of detail codes according to the detail code combination function, and the virtual card number verification means 20 can separate individual detail codes from the virtual code using the same detail code combination function.
[0145] In addition, as another embodiment, the virtual card number generation function can apply one of a plurality of listing rules of listing M characters in ascending order. That is, the virtual card number generation function can apply a variety of listing rules of listing M characters in ascending order, and can be classified into different virtual card number generation functions according to the applied listing rule.
[0146] The virtual card number verification means 20 receives the virtual card number generated by the virtual card number generation means 10 in a variety of ways. That is, a variety of virtual card number providing methods of the virtual card number generation apparatus 100 can be applied.
[0147] For example, when the card company server includes the virtual card number verification means, the virtual card number receiving step S200 is that the virtual card number verification means receives the virtual card number classified as corresponding to a certain card company based on the fixed code from the payment settlement service server. At this time, the payment settlement service server receives the virtual card number from the financial transaction terminal 30 or the settlement program driven by the computer.
[0148] The virtual card number verification means 20 extracts a plurality of detail codes included in the virtual card number S400. The virtual card number verification means 20 can extract a plurality of detail codes by applying the same rule of combining a plurality of detail codes (i.e., the detail code combination function) that the virtual card number generation means 10 includes, because the virtual card number verification means 20 includes the virtual card number generation function. That is, the detail code combination function corresponds to a rule of arranging a plurality of detail codes, and is thus included in the virtual card number generation function.
[0149] In addition, as another embodiment, when the virtual card number includes a fixed code that determines a group including the virtual card number generating means 10, the detail code extracting step S400 extracts the fixed code from the virtual card number, determines the card type group of the virtual card number generating means based on the fixed code, and determines the virtual card number generating function or the storage location search algorithm with respect to the card type group. That is, when the virtual card number generating function or the storage location search algorithm is applied differently for each group, the virtual card number verifying means 20 distinguishes the groups based on the fixed code in the virtual card number.
[0150] In addition, the process of determining the virtual card number generating function using the fixed code can be performed before the process of extracting the plurality of detail codes. Only when the virtual card number generating function is determined based on the fixed code, the detail code combination function included in the virtual card number generating function can be determined and the plurality of detail codes can be extracted.
[0151] To this end, in order for the virtual card number verifying means 20 to be easily separated without an additional function, the fixed code can be combined in a fixed position in the virtual card number (for example, a specific number of bits at the front of the virtual code).
[0152] The virtual card number verifying means 20 searches the storage location of the actual card number S1000 (actual card number search step) based on the plurality of detail codes. The plurality of detail codes have a correlation with each other, and the virtual card number verifying means 20 searches the storage location of the actual card number based on the correlation between the detail codes.
[0153] As one embodiment, the plurality of detail codes in the virtual card number can be changed per unit count (for example, when the virtual card number is composed of two detail codes, the first code and the second code are changed per unit count), and the virtual card number verifying means 20 adjusts the position matching the storage location of the actual card number to a position corresponding to the changed first code and second code per unit count, so that the storage location of the actual card number can be searched even if the virtual card number is changed per unit count.
[0154] As an example of the relationship between the detailed codes constituting a virtual card number, when the virtual card number is composed of a combination of a first code and a second code, the virtual card number verification means 20 can set the first code as the search start point (i.e., the point where the search for the actual card number storage location begins), and use the second code as the path to move from the search start point to the storage location, and search for the storage location. That is, if a virtual card number generated normally per unit count is received, the virtual card number verification means 20 determines the search location moved along the search path corresponding to the second code from the start point corresponding to the first code as the storage location of the actual card number or a location matching the storage location (e.g., a storage space in another server that matches the search location).
[0155] As an example, when the second code contains information about the path from the search start point corresponding to the first code to the storage location, the virtual card number verification means 20 can search for the actual card number storage location or a location matching the storage location from the search start point corresponding to the first code along the search path corresponding to the second code.
[0156] In another embodiment, the virtual card number verification method 20 may include a storage location search algorithm that adjusts the storage location of the actual card number per unit count to match the virtual card number. That is, the virtual card number verification method 20 includes a storage location search algorithm that adjusts the search path for each unit count to point to a location matching the storage location of the actual card number. When the unit count of the first code and the second code changes, the virtual card number verification method 20 can adjust the storage location search algorithm to match the changed first code and second code. The storage location search algorithm can be implemented in various forms.
[0157] As an example, such as Figure 9 As shown, the storage location search algorithm can be a track listing k (k is MN) codes, with the vertices of a k-angle corresponding to the locations configured for each code, and the track is scrolled. In this case, the actual card number search step S1000 includes: step S1010 where the virtual card number verification means 20 scrolls the k-angle to a location on the track corresponding to the first code within the virtual card number received from the virtual card number generation means 10; step S1020 (storage location search step) where the location corresponding to the first code is set as the starting location, and based on the search method applied to the second code, searches for storage locations in the configuration state of the k-angle or locations matching the storage locations, using the second code as a basis; and step S1030 where the actual card number contained in the storage location is extracted.
[0158] Virtual card number verification methods 20 Figure 8As shown, the k-gon is moved to a position S1010 on the track corresponding to the first code in the virtual card number received from the virtual card number generating means 10. The storage position search algorithm is to move the k-gon (k is MN) along the track listing MN codes corresponding to the first code, and the vertex of the k-gon is moved to a position corresponding to the code configuration on the first code track. At this time, the virtual card number verifying means 20 can move the k-gon so that the vertex of the k-gon is in contact with the position corresponding to the first code.
[0159] As shown, the virtual card number verifying means 20 sets the position corresponding to the first code as the start position, and searches for the storage position of the k-gon in the configuration state or the position (i.e., the specific vertex of the k-gon) matching the storage position based on the second code according to the search method applied to the second code S1020 (storage position search step). The storage position matches each vertex of the k-gon. The position of the first code track (i.e., the first track) corresponding to the k-gon becomes the start position of the storage position search corresponding to the first code. The virtual card number verifying means 20 searches for the matching position of the storage position based on the second code at the start position of the search. Figure 8
[0160] As the method of searching for the storage position in the k-gon based on the second code, various methods can be applied. As one example, the virtual card number verifying means 20 prompts the position on the first track where the k-gon is in contact as an angle (e.g., a specific angle dividing 180 degrees into MN in the direction of the vertex of the k-gon) corresponding to the second code, and thus, as the storage position where the actual card number corresponding to the virtual card number is stored, the vertex of the k-gon can be searched.
[0161] In addition, as another example, in the state where the k-gon is in contact with the position on the first track corresponding to the first code, the virtual card number verifying means 20 divides the entire central angle (i.e., 360 degrees) into MN based on the center of the k-gon and the contact point on the first track, and matches each angle to the MN second codes. At this time, the direction of the line moving a specific number of unit angles (i.e., 360 degrees / MN) from the line connecting the center of the k-gon and the contact point on the first track becomes the specific vertex of the k-gon. Thus, if the second code corresponding to the specific angle is received, the virtual card number verifying means 20 can search for the vertex in the direction of the corresponding angle.
[0162] In addition, as another example, a specific digit of the second code can be used as a decision angle measurement direction. That is, when the second code is generated using N (N is a natural number) characters, one digit can be used to decide the angle measurement direction. For example, when the center of the k-gon and the junction on the first track are used as a reference to divide the entire central angle (i.e., 360 degrees), and each angle is matched with the second code, the virtual card number verification means 20 can use the value of one digit to decide whether the angle is measured in the left direction or the right direction from the line connecting the center of the k-gon and the junction on the first track.
[0163] As one example, the storage position search algorithm can assign two different second codes at one vertex on the k-gon in the angle measurement direction. That is, different actual card numbers can be matched with different second codes at one vertex, at the time of reaching the inside angle or at the time of reaching the outside angle. As another example, when the storage position search algorithm generates the second code using N (N is a natural number) characters, N-1 characters can be used to match half of the entire angle (for example, 360 degrees when divided using the central angle as a reference), and one digit can be used to decide the angle measurement direction to reach each vertex.
[0164] The method of searching for the storage position in the k-gon based on the second code is not limited to this, and various methods can be applied, such as a method of searching for a location on the k-gon corresponding to the second code and a junction on the first track divided by a specific ratio as the storage position.
[0165] Then, the virtual card number verification means 20 extracts the actual card number included in the storage position S1030. That is, the virtual card number verification means 20 searches for the storage position corresponding to the vertex of the k-gon, and extracts the actual card number in the storage position.
[0166] In addition, as another embodiment, the storage position search algorithm moves on the track based on the plurality of detailed codes constituting the virtual card number, and moves to a location matching the actual card number storage position. For example, the location matching the actual card number storage position can be a location on the track corresponding to the count (i.e., the time point) at which the actual card number is issued to the virtual card number generation means.
[0167] Specifically, when the virtual card number includes a first code generated based on the time elapsed from the time point at which the virtual card number generation function is driven, and a second code generated based on the time elapsed from the time point at which the actual card number is issued to the specific virtual card number generation means, as Figure 10As shown, the virtual card number verification means 20 sets the count on the track matching the code value corresponding to the first code as the search start point. Corresponding to the count value calculated by applying the inverse function of the second function to the second code, it searches along the track from the search start point to find the location on the track at the time the actual card number was issued to the virtual card number generation means 10 (i.e., the location matching the actual card number storage location). The virtual card number verification means 20 uses the actual card number retrieved from the storage location to perform a financial transaction or request a financial transaction S1200.
[0168] In addition, such as Figure 11 As shown, in another embodiment, it further includes: if a request is made from a specific virtual card number generation means 10 to generate a new actual card number at a specific count, then the actual card number is stored at a storage location corresponding to a specific vertex of the k-angle at that specific count (actual card number storage step). The specific vertex is connected to the track at that specific count. After the virtual card number verification means 20 drives the virtual card number generation function and the storage location search algorithm, when a specific time point (or count) has elapsed, the virtual card number verification means 20 receives the issuance of a new actual card number to the specific virtual card number generation means 10, and thus stores the newly generated actual card number at a storage location matching the vertex on the first track that is in contact with the k-angle. Specifically, in the virtual card number verification means 20, as the virtual card number generation function and the storage location search algorithm are driven, the k-angle is rolled and moved so that the position where the k-angle is connected to the track moves with each count. If a request is made to issue a new actual card number at a specific count, then at that specific count, the vertex connected to the track is determined as the location on the k-angle for storing the actual card number.
[0169] For example, such as Figure 8 As shown, at time A, the virtual card number verification method issues an actual card number to the virtual card number generation method A. Therefore, the actual card number of the virtual card number generation method A is stored at the vertex of the k-angle that was connected to the track at time A. Then, as the counting progresses, the k-angle rolls along the track. Due to the rotation of the k-angle, the storage location of the actual card number of the virtual card number generation method A is rotated.
[0170] That is, after storing the actual card number at the vertex of the k-angle connected to the track, the k-angle is rotated in accordance with the number of n counts passed, and the location where the actual card number is stored is also rotated in accordance with the number of n counts passed. Therefore, after the second code is calculated based on the number of unit counts passed since the actual card number was issued (i.e., the time point), the virtual card number verification means 20 can use the second code to calculate the location where the actual card number is stored on the k-angle at the time point when the virtual card number was generated.
[0171] Specifically, when the first code is the code value corresponding to the count that has passed since the initial time point when the virtual card number verification means 20 is driven by a specific virtual card number generation function and storage location search algorithm, and when the second code is the code value corresponding to the count that has passed after the actual code is issued to a specific virtual card number generation means 10, the virtual card number verification means 20 uses the first code to know the time point (e.g., time point C) when the virtual card number generation means 10 requests to generate a virtual card number, and uses the second code to know the vertex where the actual card number is stored in the k-angle in the k-angle configuration state at the corresponding time point. That is, the first code is used to determine the location on the track, which is the location on the track that makes it possible to search for a specific vertex of the k-angle, and the second code is used to search for the vertex on the k-angle that matches the storage location of the actual card number after the k-angle is configured at the location on the track corresponding to the first code. Therefore, after the virtual card number generation method 10 generates a virtual card number, it provides it to the virtual card number verification method 20. Even with a delay time, the virtual card number verification method 20 can accurately search for the actual card number corresponding to the virtual card number.
[0172] Additionally, as another embodiment, such as Figure 10 As shown, when using a storage location search algorithm that moves on a track based on the first code and the second code, the virtual card number verification means 20 can move the segmented unit on the track every time the pointer (Pointer) starts from the starting point of the track from the time point driven by the virtual card number generation function passes the unit count, and determine the location on the track at the actual card number issuance time point (Time Point A) as the location that matches the actual card number storage location.
[0173] Additionally, as another embodiment, such as Figure 12As shown, it also includes step S500: the virtual card number verification means 20 applies the inverse function of the first function or the second function to determine whether the first code or the second code belongs to a normally generated virtual card number. For example, when the first code is the code value corresponding to the number of counts passed from the initial time point when the specific virtual card number generation function and storage location search algorithm are driven within the virtual card number verification means 20, and the second code is the code value corresponding to the number of counts passed after the actual card number is issued by the specific virtual card number generation means 10, the virtual card number verification means 20 stores the time (Ts) elapsed from the time the virtual card number generation function is driven until the actual card number is issued when storing the actual card number in the storage location. Virtual card number verification method 20 applies the inverse function of the first function to the first code within the virtual card number, calculating the elapsed time (T1) from when the virtual card number generation function is activated until the virtual card number is generated. It then applies the inverse function of the second function to the second code within the virtual card number, calculating the elapsed time (T2) from when the actual card number is issued until the virtual card number is generated. Finally, virtual card number verification method 20 determines whether the difference between T1 and T2 corresponds to Ts, thus verifying the virtual card number.
[0174] Additionally, as another embodiment, such as Figure 13 As shown, the method further includes: step S600 of comparing a first received code received from the virtual card number generation means 10 with a first generated code generated by the virtual card number verification means 20 according to a first generated function; step S700 of setting the first received code as the first code at the starting point if the first received code is within the allowable error range from the first generated code; and step S800 of determining that the first received code is an abnormal code if the first received code exceeds the allowable error range from the first generated code. The virtual card number generation means 10 and the virtual card number verification means 20 perform the same unit count over time. However, there is an error between the timers included in the virtual card number generation means 10 and the virtual card number verification means 20, and the number of counts at the same point in time may differ. Therefore, a process is needed to eliminate the error caused by the timer and to determine abnormal codes that are not normal virtual card numbers. Therefore, the virtual card number verification means 20 internally compares the first generated code, which is the first code, generated according to the first function based on a specific count, with the first received code, which is the first code, in the virtual card number received from the virtual card number generation means 10 (S600). If the number of differences between the first generated code and the first received code is within the allowable error range, then after determining it to be a normal code, the actual card number search process (S700) is performed based on the first received code. If the number of differences between the first generated code and the first received code exceeds the allowable error range, then it is determined to be an abnormal code (S800).
[0175] In addition, as another embodiment, there is further included: when the virtual card number further includes a virtual security code of a specific number of digits, the virtual card number verification means judges whether or not a received virtual security code received from the virtual card number generation means coincides with a generated virtual security code generated in the virtual card number verification means, and the step of verifying the virtual card number. The virtual security code can be generated to correspond to the number of digits of the card security code, and can be displayed in the card security code digits of the actual card number.
[0176] As one embodiment, the virtual security code can be generated on the basis of an inherent value in the virtual card number generation device and a card security code (e.g., CVC / CVV number). The inherent value is a device inherent value which is individually assigned per virtual card number generation device. The inherent value and the card security code are assigned per virtual card number generation device 100, and thus, a newly received and issued virtual card number generation device for the purpose of hacking the virtual card number generation device cannot confirm the inherent value and the card security code assigned to the individual virtual card number generation device. Therefore, the virtual card number verification means 20 can receive the virtual security code generated by the virtual card number generation means 10 on the basis of the inherent value and the card security code, and verify the virtual card number generation means 10.
[0177] In addition, as another embodiment, the virtual card number generation means 10 can generate the virtual security code reflecting a time value. That is, the virtual card number generation means 10 can generate the virtual security code using an OTP (One Time Password: a user authentication using a one-time password randomly generated instead of a fixed password) method. The virtual card number verification means 20 receives an OTP number corresponding to the virtual security code from the virtual card number generation means 10, and compares the OTP number calculated in a specific range from the count at which the OTP number is received from the virtual card number generation means 10, and verifies the virtual card number generation means 10. That is, the virtual card number verification means 20 stores the card security code (e.g., CVC / CVV) and the inherent value together in the actual card number storage location, and judges whether or not the OTP number generated using the card security code and the inherent value extracted from the actual card number storage space coincides with the OTP number received from the virtual card number generation means 10 at the time point at which the virtual card number is received, and verifies the virtual card number generation means 10.
[0178] In addition, as another embodiment, the virtual security code is not output to the outside by the virtual card number generation means, but is reflected in the generation of the 1st code and the 2nd code. As described above, the virtual card number generation means 10 can generate the virtual security code in the form of the 1st code and the 2nd code, and the virtual card number verification means 20 can verify the virtual card number generation means 10 by comparing the 1st code and the 2nd code received from the virtual card number generation means 10 with the 1st code and the 2nd code generated in the virtual card number verification means 20. Figure 14As shown, the virtual card number generating means 10 generates a first code in which a count at the card number issuance time point is superimposed on a virtual security code value generated on the basis of the intrinsic value within the virtual card number generating device and the card security code, and generates a second code corresponding to the virtual security code value. That is, the first code and the second code are generated on the basis of a count shifted by the virtual security code value from the A time point at which the actual card number is issued to the virtual card number generating device A. The count shifted from the A time point can be a count before or after the count corresponding to the current time point according to the generated virtual security code value. The virtual card number verifying means 20 can apply the received first code and second code to a storage location search algorithm to search for a place where the actual card number storage location matches. Thus, the order provided by the first code and the second code constituting the virtual card number cannot be confirmed by others, and security can be improved. In addition, as another embodiment, the virtual card number verifying means 20 extracts the virtual security code from the second code generated on the basis of the virtual security code, inputs a count within a specific range from the count at which the virtual card number is received in a virtual security code generating function (i.e., an OTP function), and confirms whether a value identical to the virtual security code exists in the calculated OTP number. The virtual card number verifying means applies an inverse function of the second function to the second code to obtain the virtual security code value (i.e., the OTP function value) used when the second code is generated, and finds a count at which a value identical to the virtual security code value is calculated. Since there is a difference between the time point at which the virtual card number generating means generates the virtual security code and the time point at which the virtual card number verifying means receives the virtual security code due to the transmission time or delay of the virtual card number, the count at which the virtual card number verifying means 20 receives the virtual card number can also not coincide with the count at which the OTP number corresponding to the virtual security code is generated, and thus the virtual card number verifying means 20 allows an error range from the count at which the virtual card number is received. Thus, the virtual card number verifying means 20 can verify whether the virtual card number generating means that transmits the virtual card number is normally matched with the actual card number, and security can be improved. In addition, the user can easily use the virtual card number generating means 10 when inputting the virtual card number even if the virtual security code of a specific number of bits is not input, since the virtual card number verifying means 20 searches for the virtual security code and verifies the virtual card number generating means 10 by itself.
[0179] In addition, as another embodiment, the virtual card number generating means 10 generates a first code corresponding to a count in which a virtual security code value generated on the basis of the intrinsic value within the virtual card number generating device and the card security code is superimposed at the time point at which the financial transaction is requested, and generates a second code corresponding to a count in which a difference in count between the actual card number issuance time point (A time point) and the financial transaction request time point (C time point) and the virtual security code value are superimposed. That is, the virtual card number generating means 10 generates the first code and the second code according to the following formulas.
[0180] Code 1 = f1(C time point count + virtual security code)
[0181] Code 2 = f2(C time point count – A time point count + virtual security code)
[0182] (Time point A: Actual card issuance time; Time point C: Count of financial transaction request times; Virtual security code: OTP number)
[0183] The virtual card number verification method 20, based on the first and second codes within the received virtual card number, searches the actual card number storage location and extracts the card security code (i.e., CVV or CVC) and the inherent value of the virtual card number generation device 100 contained in the actual card number storage location. Based on the card security code and the inherent value, the virtual card number verification method 20 generates a virtual security code (i.e., OTP number) within a specific counting range, starting from the time point of receiving the financial transaction request. Then, starting from the actual card number issuance time (time point A), the virtual card number verification method 20 checks whether the sum of the counts of each count within the specific counting range from the time point of receiving the financial transaction request to the virtual security code (i.e., OTP number) is the same as the count corresponding to the second code (i.e., the value of applying the inverse function of the second function to the second code). By searching for a matching location in the actual card number storage location based on the first and second codes, the virtual card number verification method can determine the actual card number issuance time. Therefore, the virtual card number verification method 20 can confirm whether the virtual card number generation method 10 that provides the virtual card number has been issued normally.
[0184] Additionally, as another embodiment, such as Figure 15 As shown, when a financial transaction cancellation request is received from a specific virtual card number generation method, the method further includes: step S1300 of receiving a virtual card number corresponding to the count of requests to cancel financial transactions through the virtual card number generation method; step S1400 of the virtual card number verification method searching for an actual card number corresponding to the virtual card number; and step S1500 of canceling previous financial transactions for the actual card number. Generally, when a virtual card number is used during a financial transaction, it is difficult to search for a virtual card number that has previously been used for settlement, making it difficult to cancel card settlement. In one embodiment of the present invention, although different virtual card numbers are issued during card settlement and when card settlement is canceled, since the virtual card numbers are generated in the same virtual card number generation method, they are linked to the same actual card number. Using the virtual card number provided when canceling settlement, it is easy to search for an actual card number that has previously been used for settlement.
[0185] That is, the virtual card number verification means 20 searches for the virtual card number (i.e., the 2nd virtual card number) generated by the virtual card number generating means 10 at the cancel settlement time point S1300. The virtual card number verification means 20 searches for the actual card number corresponding to the 2nd virtual card number S1400. The way of searching for the actual card number can apply the same way as the step S1000 of searching for the actual card number for the financial transaction. Then, the virtual card number verification means 20 performs the cancel card settlement based on the searched actual card number S1500. The virtual card number verification means 20 can perform the cancel financial transaction even if it does not search for the virtual card number (i.e., the 1st virtual card number) used when the financial transaction (i.e., the card settlement) is performed, because the actual card number for the financial transaction is searched using the 2nd virtual card number.
[0186] The virtual card number-based financial transaction providing method of the above-described embodiment of the present application can be embodied as a program (or an application) and stored in a medium in order to be combined with a computer as hardware and implemented.
[0187] The program can include a code (Code) coded in a computer language such as C, C++, JAVA, machine language, etc. that can be read by a device interface of the computer through a processor (CPU) of the computer in order for the computer to read the program and implement the method embodied as the program. Such a code can include a functional code (Functional Code) related to a function or the like that defines a function required to implement the method, and can include a control code related to a running step required for the processor of the computer to run the function in a predetermined step. In addition, such a code can further include a memory reference-related code regarding additional information required for the processor of the computer to run the function or a location (address number) where a medium should be referenced in an internal or external memory of the computer. In addition, when the processor of the computer needs to communicate with a certain other computer or a server or the like that is remote (Remote) in order to run the function, the code can further include a communication-related code regarding how to communicate with the certain other computer or the server or the like that is remote using a communication module of the computer, what kind of information or medium should be transmitted and received when communicating, etc.
[0188] The storage medium is not a medium that stores data for a short time, such as a register, a cache memory, a memory, or the like, but means a medium that stores data semi-permanently and is readable by a machine. Specifically, as examples of the storage medium, there are a ROM (Read Only Memory), a RAM (Random Access Memory), a CD-ROM (Compact Disc-Read Only Memory), a magnetic tape, a floppy disk, an optical data storage device, and the like, but are not limited thereto. That is, the program can be stored in a variety of recording media on a variety of servers accessible by the computer or a variety of recording media on the computer of the user. In addition, the medium can be distributed to computer systems connected through a network to store computer-readable codes in a distributed manner.
[0189] According to the present application as described above, various effects are provided.
[0190] First, a new virtual card number is generated per unit count, and a duplicate virtual card number does not occur within a determined entire period, thus providing an effect that even if a virtual card number is leaked, an actual card number is not leaked.
[0191] Second, only an algorithm for virtual card number generation and actual card number search is added in a virtual card number generation device and a virtual card number verification device (for example, a financial company server), thus it is possible to directly maintain the original flow using an actual card number. For example, when a non-duplicate virtual card number is generated and provided to a smart card or an application card, a POS device and a PG company server can directly maintain, a virtual card number is transmitted to a card company server, the card company server searches for an actual card number corresponding to the virtual card number and performs settlement. Thus, it is possible to minimize a portion that needs to be changed in the original flow for security improvement, and a user does not need to perform an additional step for security improvement.
[0192] Third, a virtual card number provided by the same virtual card number generation means is matched with an actual card number regardless of a generation time point, thus although a virtual card number is changed per count, it is possible to easily perform cancellation of a financial transaction.
[0193] The embodiments of the present application have been described above with reference to the accompanying drawings, but it will be understood by those skilled in the art that the present application can be embodied in other specific forms without changing the technical idea or essential characteristics thereof. Therefore, the above-described embodiments are understood in all aspects to be merely illustrative and not restrictive.
Claims
1. A method for providing a financial transaction based on a virtual card number, characterized by, comprises: a virtual card number receiving step in which a virtual card number verification means receives a virtual card number provided by a virtual card number generating means from a financial transaction terminal, the virtual card number being generated in accordance with a certain rule by combining a fixed code and a plurality of detail codes; a detail code extracting step in which the virtual card number verification means extracts the plurality of detail codes included in the virtual card number; a real card number searching step in which the virtual card number verification means searches for a real card number on the basis of a correlation between the plurality of detail codes; and a financial transaction performing step in which the virtual card number verification means performs a financial transaction using the searched real card number or requests a financial transaction to be performed, wherein the fixed code is combined in a predetermined position in the virtual card number and is a code for judging a card company or a card type corresponding to the real card number, the plurality of detail codes are changed per unit count, the unit count is set at a certain time interval, the plurality of detail codes include a first code for setting a start point of a position where the real card number is stored and a second code for setting a search path from the start point to the position where the real card number is stored in accordance with a search method determined by a storage position search algorithm included in the virtual card number verification means, and the real card number is searched on the basis of the first code and the second code.
2. The virtual card number-based financial transaction providing method according to claim 1, wherein the plurality of detail codes are respectively generated in accordance with a plurality of detail code generation functions included in a virtual card number generation function.
3. The virtual card number-based financial transaction providing method according to claim 2, wherein the storage position search algorithm extracts, as a point matching the storage position, a point moved in accordance with the search path corresponding to the second code from the start point corresponding to the first code if the virtual card number normally generated per unit count is received.
4. The virtual card number-based financial transaction providing method according to claim 3, wherein in the virtual card number receiving step, when a card company server includes the virtual card number verification means, the virtual card number verification means receives the virtual card number classified into a certain card company on the basis of the fixed code from a payment settlement service server, the payment settlement service server receives the virtual card number from the financial transaction terminal, in the detail code extracting step, a card type is judged on the basis of the fixed code and a plurality of detail codes are extracted using a virtual card number generation function corresponding to the card type, the virtual card number generation function includes a detail code combination function for combining the plurality of detail codes in accordance with a certain rule, in the real card number searching step, the storage position of the real card number is searched on the basis of the plurality of detail codes using the storage position search algorithm corresponding to the card type.
5. The virtual card number-based financial transaction providing method according to claim 2, wherein the virtual card number further includes a virtual security code corresponding to a bit number of a card security code. Further comprising a step of judging whether a received security code received from the virtual card number generation means matches a generated security code generated in the virtual card number verification means and verifying the virtual card number.
6. The virtual card number-based financial transaction providing method according to claim 5, wherein the virtual card number configures an issuer identification number of the actual card number as the fixed code at the same position, all or a part of the number of digits other than the fixed code is separated and assigned to the first code and the second code.
7. The virtual card number-based financial transaction providing method according to claim 2, wherein when the first code or the second code of N digits is generated using M characters, each of the plurality of detailed codes is respectively matched with MN codes per unit count, the virtual card number generation function includes a first function or a second function that sequentially provides the first code or the second code per unit count according to a specific matching rule, where M is a positive integer and N is a positive integer.
8. The virtual card number-based financial transaction providing method of claim 1, wherein, Further comprising: a step of receiving a virtual card number corresponding to a count at which a financial transaction cancellation request is requested by the virtual card number generation means when the financial transaction cancellation request is received from the specific virtual card number generation means; a step of searching for an actual card number corresponding to the virtual card number by the virtual card number verification means; and a step of canceling a previous financial transaction for the actual card number.
9. The virtual card number-based financial transaction providing method according to claim 2, wherein the virtual card number is composed of a first code and a second code generated based on a count at which a virtual security code is added at a point in time at which an actual card number is issued or a point in time at which a financial transaction request is made, the virtual security code is a code value of a specific number of digits generated by an OTP function based on an inherent value of the virtual card number generation means and a card security code, and is not separately provided from the virtual card number generation means to the virtual card number verification means, Further comprising a step of verifying whether the virtual card number generation means is normally issued by the virtual card number verification means using a generated virtual security number calculated based on a time value within a specific range from a point in time at which the virtual card number is received.
10. A storage medium storing a computer program that, when executed by a processor, causes the processor to perform the virtual card number-based financial transaction providing method according to any one of claims 1 to 9.
11. A virtual card number verification server, characterized by, The virtual card number verification server searches for an actual card number based on a virtual card number, including: a reception unit that receives a virtual card number provided by a virtual card number generation device, wherein the virtual card number is generated by combining a fixed code and a plurality of detailed codes according to a specific rule; a detailed code extraction unit that extracts the plurality of detailed codes included in the virtual card number; and an actual card number search unit that searches for a storage location of an actual card number based on a correlation between the plurality of detailed codes, wherein the fixed code is combined at a predetermined position in the virtual card number and is a code that judges a card company or a card type corresponding to the actual card number, the plurality of detailed codes are changed per unit count, The unit count is set for a specific time interval, The plurality of detail codes include a first code that sets a start point of a position where the actual card number is stored, and a second code that sets a search path from the start point to the position where the actual card number is stored according to a search method determined based on a storage position search algorithm included in the virtual card number verification means, The actual card number is searched based on the first code and the second code.
Citation Information
Patent Citations
Mobile transaction system using dynamic track 2 data and method using the same
KR101316466B1
Secure financial transactions
CN101573723A