Virtual code providing system, generating apparatus, verifying apparatus, providing method, and providing program

By combining a generation device and a verification device, and utilizing a specific virtual code generation function and a storage location search algorithm, non-repeating virtual code is generated, solving the problems of actual code leakage and duplication during the virtual code generation process, and achieving both security and process simplification.

CN114819951BActive Publication Date: 2025-11-25SSENSTONE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210569661.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2017-08-09
Filing Date
2017-09-08
Publication Date
2025-11-25
Estimated Expiration
2037-09-08

AI Technical Summary

Technical Problem

In existing technologies, the virtual code generation process requires additional identification steps to search for the actual code, and the generated virtual code is prone to duplication, resulting in a high risk of actual code leakage.

Method used

A virtual code generation device and a verification device are used to generate non-repeating virtual code through a specific virtual code generation function and a storage location search algorithm. The same function is used to search for the storage location of the actual code in the detailed code that changes with each unit count, thus avoiding the direct storage of the actual code.

Benefits of technology

It enables the generation of unique virtual code without revealing the actual code, simplifies security processes, reduces additional identification steps, and is applicable to diverse fields, especially financial and IoT devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114819951B_ABST
    Figure CN114819951B_ABST
Patent Text Reader

Abstract

The present invention relates to a virtual code providing system, a virtual code generating apparatus, a virtual code verifying apparatus, a virtual code providing method, and a virtual code providing program. A virtual code providing method according to an embodiment of the present invention includes a step (S200; virtual code receiving step) in which a virtual code verifying means receives a virtual code from a virtual code generating means; a step (S400) in which the virtual code verifying means extracts a plurality of detail codes included in the virtual code; and a step (S600; actual code searching step) in which the virtual code verifying means searches for a storage location of an actual code based on the plurality of detail codes.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of a patent application with application number 201710805548.7, filed on September 8, 2017, entitled "Virtual code providing system, generating device, verifying device, providing method, and providing program." TECHNICAL FIELD

[0002] The present application relates to a virtual code providing system, a virtual code generating device, a virtual code verifying device, a virtual code providing method, and a virtual code providing program, and more particularly, to a system, a method, and a program that generate a virtual code that is not repeated at each time point and search for an actual code based on the same, and a device that generates a virtual code that is not repeated at each time point and a device that searches for an actual code based on the same. 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 card numbers, 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] In order to prevent the actual code from being directly leaked, many attempts using virtual codes have been made, but in order to search for an actual code corresponding to a virtual code, 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 assigned to a user, and thus it is difficult to apply to various fields.

[0006] Accordingly, there is a need for an invention that can search for an actual code based on a virtual code that is changed in real time, without providing identification information of a user or a device corresponding to the actual code.

[0007]

Prior Art Documents

[0008]

Patent Document

[0009] TECHNICAL PROBLEM

[0010] The present application aims to provide a virtual code providing system, a virtual code generating device, a virtual code verifying device, a virtual code providing method, and a virtual code providing program that can search for an actual code based on a virtual code without an additional step for identification of a virtual code generating means.

[0011] Further, the present application aims to provide a virtual code providing system, a virtual code generating device, a virtual code verifying device, a virtual code providing method, and a virtual code providing program, which provide a virtual code newly generated at a unit count interval without repetition in a full cycle among all virtual code generating means.

[0012] The problem to be solved by the present application is not limited to the above-mentioned problem, and other problems not mentioned can be clearly understood by a person skilled in the art from the following description.

[0013] Technical Solution

[0014] The virtual code providing method of one embodiment of the present application includes: a virtual code receiving step in which a virtual code verifying means receives a virtual code from a virtual code generating means, and the virtual code is generated in accordance with a specific rule in combination with a plurality of detail codes; a detail code extracting step in which the virtual code verifying means extracts a plurality of detail codes included in the virtual code; and an actual code searching step in which the virtual code verifying means searches a storage location of an actual code based on the plurality of detail codes; the virtual code verifying means and the virtual code generating means include the same virtual code generating function, the detail codes include: a first code which sets a start point of a storage location search; and a second code which sets a search path from the start point to the storage location in accordance with a specific search method; the first code and the second code are changed per unit count; and the virtual code verifying means is characterized by including a storage location search algorithm which adjusts the storage location of the actual code so as to match the first code and the second code generated per unit count; if a virtual code normally generated per unit count is received, a point moved in accordance with a search path corresponding to the second code is calculated as the storage location from the start point corresponding to the first code; the unit count is set at a specific time interval and is changed as the time interval elapses.

[0015] Further, as another embodiment, the virtual code generating function includes a first function or a second function which provides M (M is a natural number) different codes as the first code or the second code changed in sequence per unit count when the first code or the second code of N (N is a natural number) bits is generated with M characters. N

[0016] Further, as another embodiment, the second code is generated based on a unit count elapsed from a point in time at which the actual code is newly generated.

[0017] Further, as another embodiment, when the storage location search algorithm is a k-angle polygon in k (k is M N ​) the actual code search step includes a step of moving the k-gon to a position on the track corresponding to a first code in the virtual code received from the virtual code generation means, a storage position search step of setting the position corresponding to the first code as a search start position, searching for a storage position of the k-gon based on a second code according to a search method applied to the second code, and matching the storage position to each vertex of the k-gon, and a step of extracting an actual code included in the storage position.

[0018] In addition, as another embodiment, it further includes an actual code storage step of storing an actual code in a storage position corresponding to a specific vertex of a k-gon at a specific count, if a request for newly generating an actual code at the specific count is made from a specific virtual code generation means, and the specific vertex is connected to the k-gon at the specific count on the track.

[0019] In addition, as another embodiment, the virtual code generation function includes a detail code combination function corresponding to a rule of arranging a plurality of detail codes.

[0020] In addition, as another embodiment, the detail code generation function applies a specific arrangement rule of arranging M characters in ascending order, the characters including at least one of a capital Roman alphabet, a small Roman alphabet, a number, and a special character.

[0021] In addition, as another embodiment, it is characterized in that the virtual code further includes a fixed code judging a group of the virtual code generation means, the detail code extraction step extracts the fixed code in the virtual code, judges the group of the virtual code generation means based on the fixed code, and determines the virtual code generation function or the storage position search algorithm with respect to the group.

[0022] In addition, as another embodiment, the virtual code further includes a security code of a specific number of bits, and it further includes a virtual code verification step of the virtual code verification means judging whether a received security code received from the virtual code generation means and a generated security code generated in the virtual code verification means are identical, and verifying the virtual code.

[0023] In addition, as another embodiment, it is characterized in that the security code is generated by taking an inherent identification value of the virtual code generation means and generation time data as a function value, and the virtual code verification means receives the inherent identification value and stores it when generating an actual code with respect to the virtual code generation means.

[0024] Further, as another embodiment, the virtual code verification means applies an inverse function of the first function or the second function, and verifies whether the first code or the second code is a normally generated virtual code.

[0025] Further, as another embodiment, the virtual code verification means applies an inverse function of the first function or the second function, and verifies whether the first code or the second code is a normally generated virtual code.

[0026] Another embodiment of the present application is a virtual code providing program which is combined with hardware, and executes the above-mentioned virtual code providing method, and is stored in a medium.

[0027] Another embodiment of the present application is a virtual code providing program which is combined with hardware, and executes the above-mentioned virtual code providing method, and is stored in a medium.

[0028] The virtual code verification device of another embodiment of the present application includes a receiving section that receives a virtual code from a virtual code generation device, a detailed code extraction section that extracts a plurality of detailed codes included in the virtual code, and an actual code search section that searches for a storage location of an actual code based on the plurality of detailed codes. The virtual code verification device and the virtual code generation device include the same virtual code generation function, the virtual code is generated by combining a plurality of detailed codes according to a specific rule, the detailed codes include a first code that sets a search start point of a storage location search in the actual code search section, and a second code that sets a search path from the start point to the storage location in the actual code search section according to a specific search method. The actual code search section includes a storage location search algorithm that adjusts the storage location of the actual code so as to conform to the first code and the second code that are changed and provided per unit count in the virtual code generation device. If a virtual code 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 location from the search start point corresponding to the first code. The unit count is set at a specific time interval and is changed as the time interval elapses.

[0029] Advantageous Effects

[0030] According to the present application as described above, various effects are provided.

[0031] First, a virtual code is newly generated per unit count, and no duplicate virtual code appears in a determined full cycle, thus providing an effect that even if a virtual code is leaked, an actual code is not leaked.

[0032] Second, only an algorithm for virtual code generation and actual code search is added in the virtual code generation device and a device that uses an actual code (for example, a financial company server, an IOT device, etc.), thus the original flow using an actual code can be directly maintained. For example, when a virtual card number that is not repeatedly generated is generated and provided to a smart card or an application card, a POS device and a PG company server can directly maintain that the 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 settlement is performed. 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.

[0033] Third, a virtual code generation function can be embodied in various ways, and a virtual code generation function that differs depending on a group or an application field can be applied. BRIEF DESCRIPTION OF DRAWINGS

[0034] Figure 1is a configuration diagram of a virtual code providing system of one embodiment of the present application.

[0035] Figure 2 is a configuration diagram of a virtual code generating apparatus of one embodiment of the present application.

[0036] Figures 3-4 is a configuration diagram of a virtual code verifying apparatus of one embodiment of the present application.

[0037] Figure 5 is a sequence diagram of a virtual code providing method of one embodiment of the present application.

[0038] Figure 6 is an example diagram of a storage location search algorithm for searching a real code storage location by a k-angle rolling movement according to one embodiment of the present application.

[0039] Figure 7 is a sequence diagram of a virtual code providing method of one embodiment of the present application including a real code search process by a k-angle rolling movement.

[0040] Figure 8 is a sequence diagram of a virtual code providing method of one embodiment of the present application including a process of issuing a real code and storing it in a storage location.

[0041] Figure 9 is a sequence diagram of a virtual code providing method of one embodiment of the present application including a virtual code verifying process.

[0042] Figure 10 is a sequence diagram of a virtual code providing method of one embodiment of the present application including a process of determining whether a virtual code is abnormal or not.

[0043] Best Mode for Carrying Out the Invention

[0044] With reference to the accompanying drawings, a preferred embodiment of the present application will be explained in detail. If reference is made to the following detailed description of the embodiments, the advantages and features of the present application and the method of achieving them will be apparent. However, the present application is not limited to the embodiments disclosed below, and can be embodied in various forms, but the embodiments are provided to make the disclosure of the present application more complete, to completely inform those skilled in the art of the scope of the present application, and the present application is defined only by the scope of the claims. Throughout the specification, like reference numerals refer to like elements. Figure 1 The advantages and features of the present application and the method of achieving them will be apparent if reference is made to the embodiments explained in detail below. However, the present application is not limited to the embodiments disclosed below, and can be embodied in various forms, but the embodiments are provided to make the disclosure of the present application more complete, to completely inform those skilled in the art of the scope of the present application, and the present application is defined only by the scope of the claims. Throughout the specification, like reference numerals refer to like elements.

[0045] Unless otherwise defined, all terms used in the specification, including technical and scientific terms, can be used in the meaning commonly understood by those skilled in the art to which the present application belongs. Also, terms defined in a generally used dictionary can not be interpreted over the meanings and contexts obviously defined herein, unless explicitly defined otherwise.

[0046] The terms used in the present specification are used to explain 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 use of "comprises" and / or "comprising," or "includes" and / or "including" in the specification is intended to allow for the presence of one or more additional constituents, features, elements, integers, steps, operations, and / or the like, in addition to those already recited.

[0047] In the present specification, "character" as a constituent element constituting a code includes all or a part of capital Roman letters, small Roman letters, numbers, special characters, and the like.

[0048] In the present specification, "code" means a string of characters.

[0049] In the present specification, "actual code" means a code actually used. For example, when the code is a card number, the actual code can be an actual card number issued by a card company to a specific user.

[0050] In the present specification, "virtual code" means a code temporarily generated in a manner connected to an actual code.

[0051] In the present specification, "detail code" means a part of a virtual code. That is, when a virtual code is generated in combination with a plurality of codes generated separately, the detail code means an individual code generated separately and constituting the virtual code.

[0052] In the present specification, "unit count" is defined as a unit set for a specific time interval and changed as the time interval elapses. For example, 1 count unit can be set for a specific time interval (e.g., 1.5 seconds).

[0053] In the present specification, "virtual code generation function" means a function utilized to generate a virtual code.

[0054] In the present specification, "smart card" means a card capable of changing a card number and outputting.

[0055] In the present specification, "rolling movement" means that an object body moves while rotating and advancing. That is, "rolling movement" means that an object body moves while rotating and advancing, and means that each point of the rotating object body sequentially contacts and moves on the axis of movement.

[0056] Hereinafter, a virtual code providing system, a virtual code generation apparatus 100, a virtual code verification apparatus 200, a virtual code providing method, and a virtual code providing program according to embodiments of the present application will be described in detail with reference to the accompanying drawings.

[0057] Figure 1FIG. 1 is a configuration diagram of a virtual code providing system according to an embodiment of the present application.

[0058] If referring to Figure 1 , a virtual code providing system according to an embodiment of the present application includes a virtual code generating means 10 and a virtual code verifying means 20.

[0059] The virtual code generating means 10 functions to generate a virtual code including information that the virtual code verifying means 20 can search for an actual code. That is, the virtual code generating means 10 generates a virtual code according to a virtual code generating function. At this time, the virtual code verifying means 20 searches for an actual code based on the virtual code, and thus the virtual code generating means 10 can not store an actual code. Accordingly, it is possible to prevent an actual code from being leaked due to hacking of the virtual code generating means 10 or the like. A detailed description of the virtual code generating function will be described later.

[0060] The virtual code verifying means 20 functions to search for an actual code based on a virtual code provided from the virtual code generating means 10. The virtual code verifying means 20 stores the same virtual code generating function as the virtual code generating means 10 in order to search for an actual code from a virtual code received from the virtual code generating means 10. A detailed description of a method in which the virtual code verifying means 20 searches for an actual code based on a virtual code will be described later.

[0061] In addition, the virtual code verifying means 20 functions to verify whether a virtual code is a code normally generated by the virtual code generating means 10. A detailed description of a method in which the virtual code verifying means 20 judges whether a virtual code is normal or not will be described later.

[0062] The virtual code verifying means 20 can receive a virtual code from the virtual code generating means 10 in various ways. As one embodiment, the virtual code verifying means 20 can receive a virtual code from the virtual code generating means 10 through wireless communication. In addition, as another embodiment, the virtual code verifying means 20 can directly receive input of a virtual code generated by the virtual code generating means 10 and provided to a user from the user.

[0063] In addition, as another embodiment, the virtual code verification means 20 can accept the transmission from other servers that have received the virtual code from the virtual code generation means 10. For example, when the virtual code generation means 10 is a settlement card, the virtual code is a virtual card number that replaces an actual card number, and the virtual code verification means 20 is a card company server that includes a virtual code generation function, if settlement is performed in a POS using a card that is the virtual code generation means 10, the virtual code verification means 20 accepts the transmission of the virtual card number (i.e., the virtual code) from a PG company server that has received the virtual card number from the POS. That is, the virtual code verification means 20 (i.e., the card company server) can receive the virtual card number from the virtual code generation means 10 instead of the actual card number using the original settlement flow.

[0064] In addition, as one embodiment, the virtual code verification means 20 and the virtual code generation means 10 include the same virtual code generation function. The virtual code verification means 20 and the virtual code generation means 10 include the same virtual code generation function, so the virtual code verification means 20 can directly extract the plurality of detailed codes within the virtual code generated by the virtual code generation means 10. In addition, the virtual code verification means 20 can verify whether the received virtual code is generated and received in a normal virtual code generation means 10. That is, the virtual code verification means 20 can perform verification by comparing the code (i.e., the virtual code or the specific detailed code) received from the virtual code generation means 10 after code (i.e., the virtual code or the specific detailed code) generation under the same conditions as the virtual code generation means 10.

[0065] Figure 2 FIG. 1 is a configuration diagram of a virtual code generation apparatus 100 according to another embodiment of the present application.

[0066] If referring to Figure 2 , the virtual code generation apparatus 100 according to another embodiment of the present application includes a detailed code generation unit 110, a virtual code generation unit 120, and a virtual code providing unit 130.

[0067] The virtual code generation device 100 of the embodiment of the present application can be a device in which a program corresponding to the virtual code generation means 10 is embedded or installed. For example, when the virtual code is a virtual card number, the virtual code generation device 100 can be a smart card in which a program corresponding to the virtual code generation means 10 is embedded. Also, for example, when the virtual code is a virtual card number, the virtual code generation device 100 can be a mobile terminal in which an application card application program corresponding to the virtual code generation means 10 is installed. Also, for example, when the virtual code is a virtual authentication key for an Internet of Things (IOT) device, the virtual code generation device 100 can be a control device (e.g., a remote controller) in which a program corresponding to the virtual code generation means 10 is embedded. The virtual code generation device 100 can be applied to various situations in which a virtual code needs to be generated and transmitted to another device (e.g., another device or a server), in addition to the examples described above.

[0068] The virtual code generation unit 120 functions to generate a virtual code by combining one or more detail codes. As one embodiment, the virtual code is generated by combining a plurality of detail codes according to a specific rule. The virtual code generation function includes a rule for combining the plurality of detail codes (i.e., a detail code combination function).

[0069] As a method of generating a virtual code by combining a plurality of detail codes, various methods can be applied. As one example of the detail code combination function, the virtual code generation unit 120 can generate a virtual code by alternately arranging an N-bit first code and an N-bit second code. Also, as another example, the detail code combination function can be a function of combining a second code after a first code. As the number of detail codes included in the virtual code increases, the detail code combination function can be variously generated.

[0070] The detail code generation unit 110 functions to generate one or more detail codes. The virtual code generation function includes each detail code generation function. For example, the virtual code generation function generates a plurality of detail codes using a plurality of detail code generation functions, and generates a virtual code using a detail code combination function that combines the plurality of detail codes.

[0071] As one embodiment, the detail code generation section 110 includes a first function and a second function as a detail code generation function, and generates a first code and a second code. The first code and the second code can have a correlation required to search a storage location of the actual code within the virtual code verification means 20, but the virtual code generation apparatus 100 can include only the first function to generate the first code and the second function to generate the second code in the detail code generation function, and not include data on the correlation of the first code and the second code, in order to improve security.

[0072] In addition, as another embodiment, the virtual code can include a fixed code that is constant for a group and a plurality of detail codes together. The virtual code verification means 20 can include a plurality of virtual code generation functions corresponding to a plurality of groups, respectively, and if the virtual code is received from the virtual code generation apparatus 100, the actual code search should be performed based on the virtual code generation function of the group to which the corresponding virtual code generation apparatus 100 belongs. If the fixed code is not included and only the detail code newly generated each time the entire code is counted is included, there is no additional information to determine the group to which the virtual code generation apparatus 100 belongs. Therefore, the virtual code generation apparatus 100 includes the fixed code for identifying the group.

[0073] For example, when the actual code is an actual card number, and the virtual code generation function is assigned by the card type of a specific card company, the virtual code generation apparatus 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 code verification means 20 can identify the specific card type of the specific card company to which the same virtual code generation function as the virtual code generation apparatus 100 is applied.

[0074] In addition, for example, when the resident registration number is the actual code, and people having the same birth date are determined as the same group, the virtual code generation apparatus 100 can set the 6 digits of the entire 13 digits of the resident registration number corresponding to the birth date as the fixed code, and newly generate the remaining 7 digits per unit count based on the virtual code generation function. The virtual code verification means 20 receives the virtual code and determines the group based on the fixed code 6 digits.

[0075] In addition, as one embodiment, the virtual code further includes a security code. For example, the virtual code includes a plurality of detail codes and a security code. The security code is a code generated based on a specific security code generation function, and is used to verify whether it is a normal virtual code. The security code generation function uses time data and a virtual code generation means inherent value as a function value, and generates a security code of a specific number of digits.

[0076] An example of the process of determining whether the virtual code is normal using the security code is as follows. The virtual code verification means 20, at the time of issuing the actual code, can receive the inherent value of the virtual code generation device 100 (for example, the inherent value of the chip in the smart card or the inherent value of the smart phone on which the application card is installed, etc.), store it together in the storage location of the actual code, or store it in another storage space connected to the actual code storage location. If the virtual code generation device 100 generates the virtual code combined with the security code and provides it to the virtual code verification means 20, the virtual code verification means 20, based on the detailed code, obtains the time data of the virtual code generation, extracts the inherent value of the specific virtual code generation device 100 stored internally, applies it to the security code generation function together with the time data, and calculates the security code. The virtual code verification means 20 determines whether the security code received from the virtual code generation device 100 (i.e., the received security code) and the security code calculated by the security code generation function stored internally (i.e., the generated security code) are identical. If the received security code and the generated security code are identical, the virtual code verification means 20 determines that it is a normal virtual code and provides the actual code.

[0077] For example, when the actual code is a number included in the card (for example, the card number, the expiration date, and the card security number) (i.e., when the virtual code generation device is a smart card), the security code can be generated as the card security number. That is, the virtual code generation device 100 generates 3 or 4 digits corresponding to the card security number as the security code using the security code generation function, and if the security code is input as the card security number when the card is used, the virtual code verification means 20 performs the process of verifying the security code.

[0078] In addition, as another example, the security code generation function can generate a different l-digit (l is a natural number) code every time and be used as a function value together. That is, the security code generation function can include a random code generation function of l digits.

[0079] In addition, as one embodiment, when the virtual code is generated by the combination of the first code and the second code based on a specific rule, the first code and the second code can each perform the role of searching for the storage location of the actual code. 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, if the virtual code normally generated every unit count is provided from the virtual code generation device 100, the virtual code verification means 20 determines the location moved according to 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 code. The specific method of searching for the storage location based on the first code and the second code constituting the virtual code will be described later.

[0080] As one embodiment of the manner in which the detail code generation section 110 generates the detail code, the detail code generation section 110 generates a new detail code every unit count, and thus the virtual code generation device 100 generates a new virtual code every unit count. The newly generated virtual code every unit count is not repeatedly generated. Specifically, the detail code generation section 110 is set so that not only the newly generated virtual code every unit count is not repeatedly generated for a specific user or a specific virtual code generation device 100 for a predetermined period, but also the newly generated virtual code every unit count is not repeatedly generated even among users belonging to a specific group.

[0081] As one specific embodiment of preventing the virtual code 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 code generation function can generate M N codes as the first code or the second code, and match the respective codes every 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, M N different codes are matched every second from the time point at which the detail code generation function is initially driven. Also, if the period in which a specific detail code generation function is used or the usage period of the virtual code generation device 100 (for example, the valid period of a smart card that generates a virtual card number) is set to be shorter than the length of time corresponding to the M N count (for example, 1 second when the unit count is 1, and M N seconds), the same code is not repeatedly generated as the first code or the second code during the usage period. That is, when the count increases as time passes, in the case where a user requests the virtual code generation device 100 to generate a virtual code at a specific time point, the virtual code generation device 100 can generate a code value that matches the count corresponding to the specific time point as the first code or the second code.

[0082] As another embodiment for preventing the virtual code from being repeatedly generated, the function for generating the first code or the second code (i.e., the first function or the second function) is changed or the matching relationship between the first code and the second code is changed after the use period of the virtual code generation device 100, so that the virtual code different from the previous use period is generated. When the first code generated according to the first function and the second code generated according to the second function are combined, if the first code generation function or the second code generation function is changed, since the order in which the first code or the second code appears becomes different from the previous use period, the virtual code generation device 100 can apply the virtual code generation function for generating the virtual code different from the previous period to the new use period. In addition, the virtual code generation device 100 can select the first function and the second function so that the same code as the virtual code used in the previous use period does not appear as the virtual code for each count in the new use period (i.e., the matching relationship between 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 use period for all counts in the new use period). That is, after the use period in which M N codes can be applied at a time elapses, by adjusting or updating the virtual code generation function, the virtual code generation function for the new use period in which the virtual code overlapping the previous use period is not generated can be applied.

[0083] At this time, the virtual code generation means 10 and the virtual code verification means 20 can store the rule in which the virtual code generation function is updated. That is, the virtual code generation means 10 and the virtual code verification means 20 can store the order or the rule in which the plurality of first functions and the second functions are applied to each use period.

[0084] Further, as another embodiment for preventing the generation of the same virtual code, in order to prevent the generation of the same virtual code 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 code can be generated to reflect a value (i.e., a device identification value) that is always different at the same time point for each virtual code 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 virtual code generation device 100 belongs to the group to which the specific detailed code generation function is applied (e.g., the time point at which the detailed code generation function starts to be applied to the specific virtual code generation device 100 after a specific time has elapsed from the initial time point at which the detailed code generation function is driven in the virtual code verification means 20) until now. When a plurality of virtual code generation devices 100 are included in one group, if the count number of the virtual code generation devices 100 set to belong to the corresponding group is not the same (i.e., if the virtual code 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 code generation device 100 belongs to the group to the specific time point is different for each virtual code generation device 100. Therefore, at least one of the detailed code generation functions can use the elapsed time from the time point (or the count number) at which the virtual code generation device 100 belongs to the group to the specific time point as the device identification value, so that the virtual codes generated by the respective virtual code generation devices 100 at each time point are different. Thus, the virtual code verification means 20 can be able to distinguish the virtual code generation devices 100 by receiving only the virtual codes without separately receiving data for distinguishing the users.

[0085] For example, when it is a card (e.g., a smart card or an application card, etc.) that can change the card number output by the virtual code generation device 100, specific card types of specific card companies are set as one group, and the specific virtual code verification means 20 in the card company server drives the corresponding group. If the first user requests the issuance of a card to the first virtual code generation device 100 (i.e., the virtual code generation device 100 of the first user) at a time point after A time has elapsed from the driving of the virtual code verification means 20, and the second user requests the issuance of a card to the second virtual code generation device 100 (i.e., the virtual code generation device 100 of the second user) at a time point after B (B is a value greater than A) time has elapsed from the driving of the virtual code verification means 20, the first virtual code generation device 100 and the second virtual code generation device 100 always differ in the length of time that has elapsed from the card issuance time point when the first user and the second user request the generation of the virtual code C (C is a value greater than B). Therefore, the detailed code generation function uses the length of time that has elapsed from the card issuance time point to each virtual code generation device 100 as a variable, so that the same virtual card number can not be generated at the same time point.

[0086] In addition, the length of time that elapses from the point in time at which the specific virtual code generation device 100 belongs to the specific group continues to increase as time passes, and thus the detailed codes (e.g., the 2nd code) generated by the specific virtual code generation device 100 do not generate the same value but generate a continuously different value.

[0087] In addition, as a specific further embodiment for preventing the generation of duplicate virtual codes, in order to not generate duplicate virtual codes 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 code verification means 20, in each of the codes that match the count, the code value corresponding to the point in time (or count) at which the virtual code was requested to be generated, the 2nd code can be set so as to generate a code value that reflects a value (i.e., a device identification value) that is always different for each virtual code generation 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 code generation device 100 at the same point in time, and the virtual code that combines the 1st code and the 2nd code outputs a code value that is different for all virtual code generation devices 100 and all points in time.

[0088] In addition, as another embodiment, the virtual code generation function (or the detailed code generation function) applies one of a plurality of listing rules that list M characters in ascending order. That is, the virtual code generation device 100 (i.e., the virtual code generation means 10) can variously apply a rule that lists M characters in ascending order to the detailed code generation function included in the virtual code generation function. For example, a listing rule that lists uppercase Roman letters in ascending order can be an ordinary order of A, B, C, …, Z order, or can be an A, C, B, …, Z order. In the virtual code generation function, the listing rule becomes different, and thus the order in which the code matches each count from the initial point in time at which the virtual code generation function is driven also becomes different. The virtual code verification means 20 can match the code generated according to the same listing rule to each count, or can include the same listing rule itself in the virtual code generation function and store it. Thus, the virtual code generation function of each group can be made to have a different detailed code combination function or a different character listing rule by including a different detailed code combination function or a different character listing rule.

[0089] The virtual code providing part 130 performs an action to output to the outside in order to provide the virtual code to the virtual code verification device 200. The virtual code providing part 130 can include various configurations that can provide the virtual code to the outside. The virtual code providing part 130 includes all or a part of a wireless communication module, a close proximity communication module, an IC chip, a magnetic field generating part, a display part, etc.

[0090] A wireless internet module refers to a module used for wireless internet access, which can be built into or externally placed in a mobile terminal. Wireless internet technologies that can be used include WLAN (Wireless LAN) (Wi-Fi), Wi-Fi (Wireless Broadband), WiMAX (World Interoperability for Microwave Access), HSDPA (High Speed ​​Downlink Packet Access), LTE (Long Term Evolution), and LTE-A (Long Term Evolution-Advanced).

[0091] A short-range communication module refers to a module used for short-range communication. Short-range communication technologies include Bluetooth, BLE (Bluetooth Low Energy), Beacons, RFID (Radio Frequency Identification), NFC (Near Field Communication), Infrared Data Association (IrDA), UWB (Ultra-Wideband), and ZigBee.

[0092] When the virtual code generation device 100 is for a card that transmits a virtual code (i.e., a virtual card number) to a POS device, the virtual code 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 that generate a magnetic field through current flow, outputting 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.

[0093] The IC chip can be mounted on the PCB board, allowing it to contact the terminals of an IC-based card reader to perform data exchange. Specifically, the IC chip transmits the virtual code generated by the virtual code generation unit 120 to the IC-based card reader.

[0094] The display portion can 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 E-paper.

[0095] The display portion visually outputs the virtual code generated by the virtual code generation portion 120 to the outside. Thus, the user of the virtual code generation apparatus 100 can visually confirm the generated virtual code in real time, and can directly input the visually confirmed virtual code in the virtual code verification means 20.

[0096] In addition, the user can transmit the virtual code displayed by the display portion through various means such as a text message. Instead of delivering the actual code, the virtual code (specifically, the continuously changed generated code) that can search for the actual code in the virtual code verification means 20 is delivered, so that the user can transmit the code through a text message or the like without worrying about the actual code leakage.

[0097] Figure 3 FIG. 1 is a configuration diagram of a virtual code verification apparatus 200 according to an embodiment of the present application.

[0098] If referring to Figure 3 , the virtual code verification apparatus 200 according to another embodiment of the present application includes a virtual code reception portion 210, a detailed code extraction portion 220, and an actual code search portion 230. The virtual code verification apparatus 200 can be an electronic apparatus or a server apparatus. For example, the virtual code verification apparatus 200 can correspond to an IOT device connected to a control apparatus (i.e., a virtual code generation apparatus 100) that generates a virtual code instead of an actual code and transmits the same. The IOT device searches for a storage location of an actual code based on the virtual code, and drives if the actual code is extracted in a specific storage location.

[0099] In addition, for example, the virtual code verification apparatus 200 can be a card company server that receives a virtual card number regarding a specific type of card of a specific card company held by a specific user, searches for an actual card number, and performs settlement. In terms of card settlement, the virtual code verification apparatus 200 receives a virtual code generated by the virtual code generation apparatus 100 through a POS apparatus and a PG company server.

[0100] The virtual code receiving section 210 functions to receive the virtual code from the virtual code generating apparatus 100. As one embodiment, the virtual code receiving section 210 can include a wireless communication section (e.g., a wireless communication module or a close proximity communication module) and can receive the virtual code from the virtual code generating apparatus 100 through wireless communication. Alternatively, as another embodiment, the virtual code receiving section 210 can receive the virtual code generated by the virtual code generating apparatus 100 through communication with another server.

[0101] Alternatively, as another embodiment, the virtual code receiving section 210 can be a user input section. That is, the virtual code receiving section 210 can directly receive the virtual code visually output by the virtual code generating apparatus 100 from a user. For example, when the virtual code generating apparatus 100 is an apparatus (e.g., a smart card) that generates a virtual card number and outputs it on a card surface, a user can confirm the virtual code visually displayed by the virtual code generating apparatus 100 and directly input it into the user input section of the virtual code verifying apparatus 200.

[0102] Specifically, the virtual code generating apparatus 100 can be equipped with a display section in a number of bits that can be changed in a 16-bit card number (e.g., bits other than the first 6 bits and the last digit bits that determine the card company and the card type) and, if a virtual code is generated, output a character in the bits where the code can be changed. The user can input the entire virtual code, including the unchanged code and the changed code, into the user input section (i.e., the virtual code receiving section 210) of the virtual code verifying apparatus 200.

[0103] The detail code extracting section 220 extracts a plurality of detail codes included in the virtual code. The virtual code is generated by combining a plurality of detail codes according to a specific rule. The detail code extracting section 220 of the virtual code verifying apparatus 200 can include the same detail code combining function as the virtual code generating apparatus 100 of a specific group, and the detail code extracting section 220 can apply the detail code combining function to extract a plurality of detail codes from the virtual code. For example, when the virtual code generating apparatus 100 generates a virtual code combined from two detail codes (i.e., a first code and a second code), the detail code extracting section 220 can separate the first code and the second code by applying the detail code combining function to the character arrangement of the virtual code.

[0104] The actual code searching section 230 searches for the storage location of the actual code based on a plurality of detail codes. As a method by which the actual code searching section 230 searches for the storage location of the actual code based on each detail code, various methods can be applied. The actual code searching section 230 can include a correlation between the detail codes in order to search for the storage location based on a plurality of detail codes.

[0105] When the virtual code is composed of the first code and the second code, as one embodiment having a correlation between the detailed codes, the actual code 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 a storage location of the actual code. That is, the detailed codes can include the first code setting a search start point of the storage location search, and the second code setting a search path from the search start point to the storage location in a certain search manner.

[0106] In addition, as another embodiment, the virtual code generation means 10 (or the virtual code generation apparatus 100) provides a new virtual code per unit count, and thus the first code and the second code for the storage location search are changed every time the unit count passes with respect to the virtual code verification apparatus 200. The virtual code verification apparatus 200 can set a search start point and a search path based on the first code and the second code changed per count, and search a storage location of the actual code.

[0107] In addition, as another embodiment, the actual code search section 230 can include a storage location search algorithm in order to search a storage location of the actual code using a plurality of detailed codes having a correlation. The storage location search algorithm is an algorithm that enables a search of a storage location when each of the detailed codes included in the virtual code is applied. For example, when the virtual code includes the first code determining a search start point of a storage location and the second code indicating a direction of the storage location from the search start point, the storage location search algorithm is an algorithm that adjusts the actual code so that a storage location matching the actual code is disposed at a corresponding position when a point corresponding to the first code indicates a direction corresponding to the second code. By using the storage location search algorithm, even if the first code and the second code included in the virtual code are changed, the virtual code verification apparatus 200 can find a storage location of the actual code or a point matching the storage location. The storage location search algorithm can be applied in various ways, and specific examples will be described later. However, the storage location search algorithm is not limited to the examples described later.

[0108] For example, as described later, if the reference Figure 6 When the storage location search algorithm is a k-angle (k is an integer of 1 or more) shape moving along an orbit line in which M N codes are lined up corresponding to the first code N), the vertices of the k-angle match the actual code storage locations when the vertices of the k-angle are in contact with the locations of the code configuration and move, and the location of the k-angle corresponding to the first code track (i.e., the first track) can become the search start location of the storage location corresponding to the first code. At this time, the actual code search section 230 can apply a rolling movement to the k-angle so as to make the vertices of the k-angle contact the locations corresponding to the first code extracted by the detailed code extraction section 220. Thus, the actual code search section 230 prompts the locations of the k-angle on the first track where the k-angle is in contact as the angles corresponding to the second code (e.g., divides 180 degrees into M specific angles toward the vertices of the k-angle), and thus, the vertices of the k-angle can be searched as the storage locations where the actual codes corresponding to the virtual codes are stored. N

[0109] Specifically, as shown in Figure 6 , the virtual code verification device 200 moves the k-angle in a rolling manner (i.e., makes the vertices of the k-angle sequentially contact and move with respect to the locations on the track) to the location corresponding to the first code. Then, the virtual code verification device 200 indicates the angle direction corresponding to the second code and searches for the vertex corresponding to the storage location. For example, the virtual code generation means B generates the second code using 2 counts as a function value and provides it to the virtual code verification means because 2 counts have elapsed after the actual code was issued. The virtual code verification means matches and stores the second code generated according to the second function per count with respect to the angle toward the vertices at the location where the k-angle is in contact with the track (i.e., moves the k-angle in a rolling manner by n counts of the second code, and thus, matches and stores the angle toward the nth vertex of the rolling movement), and thus, the virtual code 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 actual code storage location.

[0110] In addition, as another embodiment, as shown in Figure 4 , the virtual code verification device 200 further includes a virtual code verification section 240. The virtual code verification section 240 functions to determine whether the virtual code received by the virtual code verification device 200 is authentic or not.

[0111] Figure 5 is a sequence diagram of a virtual code providing method according to an embodiment of the present application.

[0112] If referring to Figure 5 ​The virtual code providing method of one embodiment of the present application includes: a step S200 (virtual code receiving step) in which a virtual code verification means 20 receives a virtual code from a virtual code generation means 10; a step S400 in which the virtual code verification means 20 extracts a plurality of detail codes included in the virtual code; and a step S1000 (actual code search step) in which the virtual code verification means 20 searches for a storage location of an actual code on the basis of the plurality of detail codes. Detailed descriptions of the respective steps will be described below. However, specific disclosure on the above will be omitted in the description of the virtual code generation apparatus 100 and the virtual code verification apparatus 200.

[0113] The virtual code verification means 20 receives a virtual code from the virtual code generation means 10 (virtual code receiving step S200). The virtual code is generated by the virtual code generation apparatus 100 (or the virtual code generation means 10) and provided to the virtual code verification means 20.

[0114] The virtual code generated by the virtual code generation means 10 can be composed of a plurality of detail codes. As one embodiment, the virtual code 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 code verification means 20 to search for a location of an actual code. For example, the first code can be a code for the virtual code verification means 20 to set a start point of search for a storage location of an actual code, and the second code can be a code for setting a search path from the start point to the storage location according to a specific search method.

[0115] The search method can be determined according to a storage location search algorithm. Detailed descriptions of the determination of the search method will be described in detail in the actual code search step S1000 described later.

[0116] In addition, as another embodiment, when the first code or the second code of N bits is generated using M characters, the virtual code generation function includes a first function or a second function for providing different M N codes as the first code or the second code which are sequentially changed per unit count. That is, the first function or the second function is a function for generating M N codes without overlapping as the count increases, and at a count corresponding to a specific time point, a specific one of the M N codes is generated as the first code or the second code. Thus, the virtual code generation means 10 generates a new detail code (i.e., the first code or the second code) per unit count without repeatedly generating the same first code or second code within M N count (i.e., a time length corresponding to M N count), and generates a new virtual code per unit count.

[0117] In particular, the virtual code generation function generates the first code or the second code of N bits using M characters, so that when M N codes are used as the first code or the second code, each code is matched every time the initial time point at which the detailed code generation function is driven elapses, for example, when the unit count is set to 1 second, a different M N code is matched every second from the time point at which the detailed code generation function is initially driven. Also, if the period in which a specific detailed code generation function is used or the usage period of the virtual code generation device 100 (for example, the valid period of a smart card that generates a virtual card number) is set to be shorter than the length of time corresponding to the M N count (for example, 1 second for 1 count, M N seconds). Then, the first code or the second code is not repeatedly generated as the same code during the usage period. That is, when the count increases as time elapses, if the user requests the virtual code generation device 100 to generate a virtual code at a specific time point, the virtual code generation 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.

[0118] In addition, as another embodiment, in order to not generate the same virtual code 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 code can be generated to reflect a value (i.e., a device identification value) in which each virtual code generation means 10 always exists differently at the same time point. That is, when a plurality of virtual code generation means 10 belonging to one group request issuance of a virtual code at a specific time point, in order for each virtual code generation means 10 to generate a different virtual code, a different first code or second code is generated by reflecting a value differently assigned to each virtual code generation means 10 at each time point.

[0119] As one example, the device identification value can be, in the group to which the specific detailed code generation function is applied, the elapsed time from the start time point of the specific virtual code generation means 10 (for example, the time point at which the specific detailed code generation function starts to be applied to the specific virtual code generation device 100 after a lapse of a specific time from the initial time point at which the detailed code generation function is driven within the virtual code verification means 20) until now. When a plurality of virtual code generation means 10 are included in one group, if the count of setting the virtual code generation means 10 to belong to the corresponding group is made different (i.e., if the virtual code generation means 10 is made unable to be registered in the corresponding group at the same time point), the elapsed time from the time point (or count) at which the virtual code generation means 10 belongs to the group until the specific time point differs for each virtual code generation device 100. For example, when the request to participate in the group is received from a plurality of virtual code generation means 10 at the same time (for example, when the issuance request of the specific card type of the specific card company is received at the same time), the virtual code verification means 20 can give an order to the group participation request received from a plurality of virtual code generation means 10 at the same time according to a predetermined condition, and consider that the request is received at different counts.

[0120] For example, when the virtual code is generated by the combination of the 1st code and the 2nd code, the virtual code generation function can be made to generate the 2nd code based on the unit count of the elapsed time from the time point at which the actual code is newly generated.

[0121] 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 code generation device 100 belongs to the group until the specific time point as the device identification value, and make the virtual code generated by each virtual code generation device 100 at each time point always different. Thereby, it is possible to make the virtual code verification means 20 not to separately receive the data for distinguishing the user, and to be able to distinguish the virtual code generation means 10 only by receiving the virtual code.

[0122] In addition, the length of the elapsed time from the time point at which the specific virtual code generation device 100 belongs to the specific group continuously increases as time passes, and therefore, the detailed code (for example, the 2nd code) generated by the specific virtual code generation device 100 does not generate the same value, but continuously generates different values.

[0123] In addition, as still another embodiment, in order to generate a virtual code that does not repeat in the entire cycle regardless of the user, the first code can be set to a code value corresponding to the point in time (or count) at which the virtual code is requested to be generated, among the codes counted from the initial point in time at which the first function is driven, and the second code can be set to a code value generated by reflecting a value (i.e., a device identification value) that is always different for each virtual code generation device 100 at the same point in time, and the virtual code can be used as a code value in which the first code and the second code are combined. The first code is different in code value for each count, and the second code has a code value that is different for each virtual code generation device 100 at the same point in time, so that the virtual code in which the first code and the second code are combined outputs a different code value regardless of the virtual code generation device 100 and the point in time.

[0124] In addition, as another embodiment, the virtual code generation function includes a detail code combination function corresponding to a rule of arranging a plurality of detail codes. That is, the virtual code generation function can have a specific rule of listing or arranging characters included in a plurality of detail codes. Therefore, with respect to the virtual code generation means 10 and the virtual code verification means 20 including the same virtual code generation function, the virtual code generation means 10 can arrange the characters included in a plurality of detail codes according to the detail code combination function, and the virtual code verification means 20 can separate individual detail codes from the virtual code using the same detail code combination function.

[0125] In addition, as another embodiment, the virtual code generation function can apply one of a plurality of listing rules of listing M characters in ascending order. That is, the virtual code generation function can apply a variety of listing rules of listing M characters in ascending order, and can be classified into different virtual code generation functions according to the applied listing rule.

[0126] The virtual code verification means 20 receives the virtual code generated by the virtual code generation means 10 in a variety of ways. That is, a variety of virtual code providing methods of the virtual code generation device 100 can be applied.

[0127] The virtual code verification means 20 extracts a plurality of detail codes S400 included in the virtual code. The virtual code verification means 20 can extract a plurality of detail codes by applying the same rule (i.e., a detail code combination function) that has once combined a plurality of detail codes, because it includes the virtual code generation function included in the virtual code generation means 10. That is, the detail code combination function corresponds to a rule of arranging a plurality of detail codes, and thus is included in the virtual code generation function.

[0128] In addition, as another embodiment, when the virtual code includes a fixed code that determines a group of the virtual code generation means 10, the detailed code extracting step S400 extracts the fixed code from the virtual code, determines the group of the virtual code generation means based on the fixed code, and determines the virtual code generation function or the storage location search algorithm with respect to the group. That is, when the virtual code generation function or the storage location search algorithm is applied differently for each group, the virtual code verification means 20 distinguishes the groups based on the fixed code in the virtual code.

[0129] In addition, the process of determining the virtual code generation function using the fixed code can be performed before the process of extracting the plurality of detailed codes. Only when the virtual code generation function is determined based on the fixed code, the detailed code combination function included in the virtual code generation function is determined and the plurality of detailed codes are extracted.

[0130] To this end, in order for the virtual code verification means 20 to be easily separated without an additional function, the fixed code can be combined at a fixed position in the virtual code (for example, a specific number of bits at the front of the virtual code).

[0131] The virtual code verification means 20 searches for the storage location of the actual code S1000 (actual code search step) based on the plurality of detailed codes. The plurality of detailed codes have a correlation relationship with each other, and the virtual code verification means 20 searches for the storage location of the actual code based on the correlation relationship between the detailed codes.

[0132] In addition, as one embodiment, the plurality of detailed codes in the virtual code can be changed per unit count (for example, when the virtual code is composed of two detailed codes, the first code and the second code are changed per unit count), and the virtual code verification means 20 adjusts the place matching the storage location of the actual code per unit count to a position corresponding to the changed first code and second code, so that the storage location of the actual code can be searched even if the virtual code is changed per unit count.

[0133] As one embodiment with respect to the correlation relationship between the detailed codes constituting the virtual code, when the virtual code is composed of a combination of the first code and the second code, the virtual code verification means 20 can set the first code as a search start point (that is, a point at which the search for the storage location of the actual code starts) and use the second code as a path for moving from the search start point to the storage location to search for the storage location. That is, if the virtual code normally generated per unit count is received, the virtual code verification means 20 determines a search point moving along a search path corresponding to the second code from a start point corresponding to the first code as a storage location of the actual code or a place matching the storage location (for example, a storage space matching the search point in another server).

[0134] 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 code verification means 20 can search for the actual code storage location or a location that matches the storage location from the search start point corresponding to the first code along the search path corresponding to the second code.

[0135] In another embodiment, the virtual code verification means 20 may include a storage location search algorithm that adjusts the storage location of the actual code per unit count to match the virtual code. That is, the virtual code verification means 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 code. When the unit count of the first code and the second code changes, the virtual code verification means 20 can adjust the storage location search algorithm to match the changed first code and second code. The storage location search algorithm can be manifested in various forms.

[0136] As an example, such as Figure 7 As shown, the storage location search algorithm can be based on listing k (k is M). N On the track of the code, the k-angle vertex corresponds to the location configured for each code and scrolls. At this time, the actual code search step S1000 includes: step S1010 where the virtual code verification means 20 scrolls the k-angle to the location on the track corresponding to the first code in the virtual code received from the virtual code 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, the storage location in the configuration state of the k-angle or the location matching the storage location is searched based on the second code; and step S1030 where the actual code contained in the storage location is extracted.

[0137] Virtual code verification methods 20 Figure 6 As shown, the k-angle is moved to position S1010 on the track corresponding to the first code within the virtual code received from the virtual code generation means 10. The storage location search algorithm is along the M-track corresponding to the first code. N The code moves along a k-angle (k is M) on a track. N The vertices of the k-angle move to the locations corresponding to the code configuration on the first code track. At this time, the virtual code verification means 20 can apply a scrolling movement (or rolling movement) to the k-angle so that the vertices of the k-angle connect with the locations corresponding to the first code.

[0138] Virtual code verification methods 20 Figure 6As shown, the position corresponding to the first code is set as the starting point. Based on the search method applied to the second code, the storage location in the configuration state of the k-triangle is searched, or a location matching the storage location (i.e., a specific vertex of the k-triangle) is searched, S1020 (storage location search step). The storage location matches each vertex of the k-triangle. The location corresponding to the k-triangle of the first code track (i.e., the first track) becomes the starting point for the storage location search corresponding to the first code. The virtual code verification means 20 searches for matching locations of the storage locations based on the second code, starting from the search start point.

[0139] As a method for searching for storage locations within a k-angle based on the second code, various approaches can be applied. As an example, the location of the virtual code verification means 20 on the first track where the k-angles meet is indicated by an angle corresponding to the second code (e.g., dividing 180 degrees towards the vertex of the k-angle into M). N (a specific angle), therefore, as the storage location where the actual code corresponding to the virtual code is stored, the vertices of the k-angle can be searched.

[0140] Additionally, as another example, when the k-angle connects to the location corresponding to the first code on the first track, the virtual code verification means 20 divides the entire central angle (i.e., 360 degrees) into M based on the center of the k-angle and the connection point on the first track. N Each angle is matched to M. N The second code. At this point, starting from the line connecting the center of the k-angle to the point on the first track, move a specific number of unit angles (i.e., 360 degrees / m). N The direction of the line becomes a specific vertex of the k-angle. Therefore, if a second code corresponding to a specific angle is received, the virtual code verification means 20 can search for vertices located in the direction of the corresponding angle.

[0141] Additionally, as another example, a specific bit of the second code can be used to determine the direction of the angle calculation. That is, when the second code is generated using N characters (N being a natural number), one bit can be used to determine the direction of the angle measurement. For example, when the entire central angle (i.e., 360 degrees) is divided based on the connection point between the center of the k-angle and the first track, and the second code is matched for each angle, the virtual code verification means 20 can use the value of one bit to determine whether the angle measured from the line connecting the center of the k-angle and the connection point on the first track is measured to the left or to the right.

[0142] As one example, the storage location search algorithm can assign two different second codes at one vertex on the k-gon in the direction of the angle measurement. That is, a different second code can be matched at one vertex on the k-gon at the time of reaching the inner angle or at the time of reaching the outer angle, and a different actual code can be connected. As another example, when the storage location search algorithm generates the second code using N (N is a natural number) characters, one bit can be used to determine the direction of the angle measurement required to reach each vertex, using N-1 bits to match half of the total angle (for example, 360 degrees when divided based on the central angle).

[0143] The manner of searching for the storage location in the k-gon based on the second code is not limited to this, and various manners can be applied, such as a manner in which a location obtained by dividing a location on the k-gon corresponding to the second code by a specific ratio and a junction on the first track are searched for as the storage location, and the like.

[0144] Then, the virtual code verification means 20 extracts the actual code included in the storage location S1030. That is, the virtual code verification means 20 searches for the storage location corresponding to the vertex of the k-gon, and extracts the actual code in the storage location.

[0145] In addition, as another embodiment, as shown in Figure 8 the specific count, the actual code is stored in the storage location corresponding to the specific vertex of the k-gon. The virtual code verification means 20 drives the virtual code generation function and the storage location search algorithm, and when a specific time point (or count) elapses, the virtual code verification means 20 receives a newly issued actual code from the specific virtual code generation means 10 (that is, a request for a specific group is included), and thus the newly generated actual code is stored in the storage location matching the vertex on the first track contacting the k-gon. Specifically, in the virtual code verification means 20, the k-gon is moved so as to contact the track at a position on the k-gon every time a code elapses, by driving the virtual code generation function and the storage location search algorithm, and if a new actual code is requested to be issued at a specific count, the vertex contacting the track at the specific count is determined as the location on the k-gon for storing the actual code.

[0146] For example, as shown in Figure 6As shown, the virtual code verification means issues the actual code to the virtual code generation means A at the A time point, and thus stores the actual code of the virtual code generation means A at the vertex of the k-angle that was in contact with the track at the A time point. Then, as the count elapses, the k-angle performs a rolling movement along the track. By virtue of the rotation of the k-angle, the storage location of the actual code of the virtual code generation means A is rotated.

[0147] That is, after the actual code is stored at the vertex of the k-angle that was in contact with the track, the k-angle is rotated in correspondence with the number of elapsed n counts, and the location of the actual code storage is also rotated in correspondence with the number of elapsed n counts. Thus, the second code is calculated after reflecting the number of unit counts that have elapsed from the time point at which the actual code was issued (i.e., the time point at which the virtual code was generated). The virtual code verification means 20 can thus calculate the location on the k-angle at which the actual code was stored at the time point at which the virtual code was generated, by means of the second code.

[0148] Specifically, when the first code is a code value corresponding to the number of elapsed counts from the initial time point at which the virtual code verification means 20 is driven by the specific virtual code generation function and the storage location search algorithm, and when the second code is a code value corresponding to the number of elapsed counts after the actual code is issued to the specific virtual code generation means 10, the virtual code verification means 20 can grasp the time point at which the virtual code generation means 10 requested generation of the virtual code (e.g., the C time point) by means of the first code, and can grasp the vertex on the k-angle at which the actual code was stored in the k-angle configuration state at the corresponding time point by means of the second code. That is, the first code is used to determine the location on the track that is the location on the track that makes it possible to search for the specific vertex of the k-angle in the k-angle configuration state, and the second code is used to search for the vertex on the k-angle that matches the actual code storage location after the k-angle is configured at the location on the track corresponding to the first code. Thus, even if there is a delay time after the virtual code generation means 10 generates the virtual code and provides it to the virtual code verification means 20, the virtual code verification means 20 can accurately search for the actual code corresponding to the virtual code.

[0149] In addition, as another embodiment, as shown in FIG. 6, the virtual code verification means 20 can be configured to search for the actual code corresponding to the virtual code by means of the first code and the second code. Figure 9Further, as another embodiment, as shown in FIG. 6, the virtual code verification means 20 further includes a step S500 of applying an inverse function of the first function or the second function to determine whether the first code or the second code is a normally generated virtual code. For example, when the first code is a code value corresponding to a number of elapsed counts from a time point at which the virtual code generation function is driven in the virtual code verification means 20 and a storage location search algorithm, and the second code is a code value corresponding to a number of elapsed counts from a time point at which the actual code is issued to the specific virtual code generation means 10, the virtual code verification means 20 stores the actual code in the storage location at the time point at which the virtual code generation function is driven, and stores the elapsed time (Ts) until the time point at which the actual code is issued. The virtual code verification means 20 applies the inverse function of the first function to the first code in the virtual code to calculate the elapsed time (Tl) from the time point at which the virtual code generation function is driven until the time point at which the virtual code is generated, and applies the inverse function of the second function to the second code in the virtual code to calculate the elapsed time (T2) from the time point at which the actual code is issued until the time point at which the virtual code is generated. Then, the virtual code verification means 20 determines whether the difference between Tl and T2 corresponds to Ts to verify the virtual code.

[0150] Further, as another embodiment, as shown in FIG. 6, the virtual code verification means 20 further includes a step S500 of applying an inverse function of the first function or the second function to determine whether the first code or the second code is a normally generated virtual code. For example, when the first code is a code value corresponding to a number of elapsed counts from a time point at which the virtual code generation function is driven in the virtual code verification means 20 and a storage location search algorithm, and the second code is a code value corresponding to a number of elapsed counts from a time point at which the actual code is issued to the specific virtual code generation means 10, the virtual code verification means 20 stores the actual code in the storage location at the time point at which the virtual code generation function is driven, and stores the elapsed time (Ts) until the time point at which the actual code is issued. The virtual code verification means 20 applies the inverse function of the first function to the first code in the virtual code to calculate the elapsed time (Tl) from the time point at which the virtual code generation function is driven until the time point at which the virtual code is generated, and applies the inverse function of the second function to the second code in the virtual code to calculate the elapsed time (T2) from the time point at which the actual code is issued until the time point at which the virtual code is generated. Then, the virtual code verification means 20 determines whether the difference between Tl and T2 corresponds to Ts to verify the virtual code. Figure 10 Further, as another embodiment, as shown in FIG. 6, the virtual code verification means 20 further includes a step S500 of applying an inverse function of the first function or the second function to determine whether the first code or the second code is a normally generated virtual code. For example, when the first code is a code value corresponding to a number of elapsed counts from a time point at which the virtual code generation function is driven in the virtual code verification means 20 and a storage location search algorithm, and the second code is a code value corresponding to a number of elapsed counts from a time point at which the actual code is issued to the specific virtual code generation means 10, the virtual code verification means 20 stores the actual code in the storage location at the time point at which the virtual code generation function is driven, and stores the elapsed time (Ts) until the time point at which the actual code is issued. The virtual code verification means 20 applies the inverse function of the first function to the first code in the virtual code to calculate the elapsed time (Tl) from the time point at which the virtual code generation function is driven until the time point at which the virtual code is generated, and applies the inverse function of the second function to the second code in the virtual code to calculate the elapsed time (T2) from the time point at which the actual code is issued until the time point at which the virtual code is generated. Then, the virtual code verification means 20 determines whether the difference between Tl and T2 corresponds to Ts to verify the virtual code.

[0151] Further, as another embodiment, there is also included: when the virtual code further includes a specific number of bits of a security code, the virtual code verification means judges whether the received security code received from the virtual code generation means and the generated security code generated in the virtual code verification means are identical, and the step of verifying the virtual code.

[0152] The virtual code providing method of one embodiment of the present application described above 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.

[0153] 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 by a processor (CPU) of the computer in order for the computer to read the program and implement the method embodied as the program in the intended steps. 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 the intended steps. Further, 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 in which location (address number) of an internal or external memory of the computer a medium should be referenced. Further, when the processor of the computer needs to communicate with some other computer or server or the like at a remote place in order to run the function, the code can further include a communication related code regarding how to communicate with some other computer or server or the like at a remote place using a communication module of the computer, what kind of information or medium should be transmitted or received at the time of communication, etc.

[0154] The storage medium is not a medium that stores data for a short moment such as a register, a cache memory, a memory, etc., but means a medium that stores data semi-permanently and can be read 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, etc., but are not limited thereto. That is, the program can be stored in a variety of recording medium on a variety of servers accessible by the computer or a variety of recording medium on the computer of the user. Further, the medium can be distributed to computer systems connected through a network to store computer readable codes in a distributed manner.

[0155] According to the present application as described above, there are various effects as follows.

[0156] First, a new virtual code is generated per unit count, and no duplicate virtual code appears within a determined full cycle, thus providing an effect that even if the virtual code is leaked, the actual code is not leaked.

[0157] Second, only an algorithm for virtual code generation and actual code search is added in the virtual code generation device and the device using the actual code (e.g., a financial company server, an IOT device, etc.), thus the original flow using the actual code can be directly maintained. For example, when a virtual card number that is not repeatedly generated is generated and provided to a smart card or an application card, a POS device and a PG company server can directly maintain that the 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 settlement is performed. 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.

[0158] Third, there are many ways to embody a virtual code generation function, and a virtual code generation function that varies depending on a group or an application field can be applied.

[0159] 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 implemented 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 virtual code, comprising: In the receiving step, the virtual code verification device receives virtual code from the virtual code generation device, the virtual code being generated by combining multiple detailed codes according to specific rules; In the extraction step, the virtual code verification device extracts the multiple detailed codes contained within the virtual code; as well as In the search step, the virtual code verification device searches for the actual code stored in another storage space based on the correlation between the multiple detailed codes. The plurality of detailed codes include a first code corresponding to the search start point on the path searching for the actual code and a second code corresponding to the search path from the search start point. The various detailed codes change at specific time intervals.

2. The method for providing virtual code according to claim 1, wherein, In the search step, the virtual code verification device applies a pre-set search algorithm according to a specific search method to search for the actual code that matches the correlation between the first code and the second code.

3. The method for providing virtual code according to claim 2, wherein, The virtual code generation device generates virtual code through built-in or configured virtual code generation functions. When the virtual code generation function generates the first code or the second code of N bits from M characters, Including the different M N Each code provides a first function for the first code or a second function for the second code, which changes sequentially for each unit of time, where M and N are natural numbers.

4. The method for providing virtual code according to claim 2, wherein, The second code is generated based on the number of units elapsed from the point in time when the actual code for the virtual code generation device was regenerated.

5. The method for providing virtual code according to claim 2, wherein, The search steps include: When the search algorithm is a k-angle on a track of k codes, with vertices corresponding to the locations configured for each code, and the k-angle is scrolled and moved, the step is to make the k-angle scroll to the location on the track corresponding to the first code. The storage location search step involves setting the location corresponding to the first code as the search start point, and searching for the storage location in the configuration state of the k-triangle based on the second code, according to the search method applied to the second code, wherein the storage location matches each vertex of the k-triangle; and The steps of searching the storage location for the actual code. Where k is M N .

6. The method for providing virtual code according to claim 5, wherein, Also includes: In the storage step, if a request is made from a specific virtual code generation device to generate new actual code at a specific count, the actual code is stored at the storage location corresponding to a specific vertex of the k-angle at the specific count, and the specific vertex is connected to the specific count on the track.

7. The method for providing virtual code according to claim 1, wherein, The virtual code verification device and the virtual code generation device include the same virtual code generation function. The virtual code generation function includes a code combination function corresponding to the rules for arranging the plurality of detailed codes.

8. The method for providing virtual code according to claim 1, wherein, The virtual code verification device and the virtual code generation device include the same virtual code generation function. The virtual code generation function includes multiple detailed code generation functions that generate the multiple detailed codes respectively. The detailed code generation function applies a specific listing rule that arranges M characters in ascending order. The M characters include at least one of uppercase Roman letters, lowercase Roman letters, numbers, and special characters.

9. The method for providing virtual code according to claim 1, wherein, The virtual code also includes fixed code for determining the group containing the virtual code generation device. The virtual code verification device includes multiple search algorithms corresponding to multiple groups respectively. In the extraction step, Extract the fixed code from the virtual code. The virtual code generation device group is determined based on the fixed code. Among the plurality of search algorithms, the group of search algorithms corresponding to the judgment is determined.

10. The method for providing virtual code according to claim 3, wherein, Also includes: The virtual code verification device applies the inverse function of the first function or the second function to verify whether the first code or the second code belongs to normally generated virtual code.

11. The method for providing virtual code according to claim 5, wherein, Also includes: The step of comparing the first received code received from the virtual code generation device with the first generated code generated according to the first function generated by the virtual code verification device; If the first received code is within the allowable error range of the first generated code, then the step of treating the first received code as the first code of the starting location is set. and The step of determining that if the first received code exceeds the allowable error range from the first generated code, it is an abnormal code.

12. A computer-readable medium storing a program, wherein, When the program is executed by a processor, it causes the processor to perform the virtual code providing method according to any one of claims 1 to 11.

13. A virtual code verification device, comprising: The receiving unit receives virtual code from the virtual code generation device, the virtual code being generated by combining multiple detailed codes according to specific rules; The extraction unit extracts the multiple detailed codes contained within the virtual code; as well as The search unit, based on the relationships between the various detailed codes, searches for the actual code stored in another storage space. The plurality of detailed codes include a first code corresponding to the search start point on the path searching for the actual code and a second code corresponding to the search path from the search start point. The various detailed codes change at specific time intervals.

Citation Information

Patent Citations

  • Mobile transaction system using dynamic track 2 data and method using the same

    KR101316466B1

  • Secure financial transactions

    CN101573723A