Virtual code-based transaction system, method, and recording medium
By periodically updating the virtual code generation and verification mechanism, the problems of virtual code leakage and forgery are solved, and effective virtual code management and user information protection are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SSENSTONE INC
- Filing Date
- 2020-08-28
- Publication Date
- 2026-05-19
AI Technical Summary
In existing technologies, the leakage of virtual codes can harm both buyers and sellers, and it is difficult to effectively verify the validity of virtual codes, especially when communication is not smooth.
Virtual code is generated by a virtual code generation unit, and multiple user identifiers (UIDs) are stored in a virtual code verification unit. The control command information matching the UID is changed every preset period to realize the periodic updating and verification of the virtual code.
It effectively limits the usage time of virtual code, prevents forgery and leakage, protects user information, and ensures that the validity verification of virtual code does not depend on real-time communication.
Smart Images

Figure CN114467108B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a transaction method utilizing virtual codes. Background Technology
[0002] Code-based data is being used in many fields. In addition to card numbers and account numbers used for payments, code-based data includes IPIN numbers and resident ID card numbers used to identify users.
[0003] However, numerous leaks have occurred during the use of this code data. Buyers may be harmed as virtual codes used as proxy currencies are leaked and misused by others, and sellers may be harmed as counterfeiters use illegitimate virtual codes.
[0004] To prevent the leakage of the code that generates the virtual code and the rules for generating it, there are many attempts to use temporarily generated virtual codes. However, in order to find the actual code corresponding to the virtual code, data for identifying the user is required. For example, in the case of one-time passwords (OTPs), although the code is changed each time it is generated, a login process is required to determine the algorithm assigned to the user, making it difficult to apply to diverse fields.
[0005] Furthermore, if communication is difficult in the device used to verify the validity of the virtual code, there is a problem that it is difficult to verify the validity of the virtual code.
[0006] Therefore, there is a need for an invention that can determine the validity of virtual codes based on real-time changes and use them without providing identification information about the user or device corresponding to the virtual code.
[0007] In this regard, the existing technical document is Korean Patent No. 10-1316466 (October 1, 2013). Summary of the Invention
[0008] Technical issues
[0009] The technical problem to be solved by the present invention is to provide a method and system for preventing the repeated generation of virtual codes issued by the seller after a transaction.
[0010] Furthermore, the technical problem to be solved by the present invention is to provide a method and system for assigning an expiration date to a virtual code issued by the seller after a transaction, so that the buyer cannot use the virtual code after a predetermined period of time.
[0011] Furthermore, the technical problem to be solved by the present invention is to provide a method and system that prevents the use of the corresponding rules after a predetermined time even if the token generation rules are leaked.
[0012] The technical problems to be solved by the present invention are not limited to those mentioned above. Those skilled in the art will clearly understand other technical problems not mentioned below through the following description.
[0013] Technical solution
[0014] The present invention, for addressing the aforementioned technical problems, provides a transaction method utilizing virtual codes, characterized by comprising the following steps: a virtual code receiving step, wherein a virtual code verification unit receives virtual code, the virtual code being generated by a virtual code generation function included in a virtual code generation unit; the virtual code verification unit searches for the storage location of a user identifier (UID) from the virtual code; the virtual code verification unit searches for control command information stored that matches the searched UID; and the virtual code verification unit executes a control command based on the extracted control command information, wherein the virtual code verification unit stores multiple UIDs and changes the control command information matching each of the multiple UIDs at predetermined intervals.
[0015] In one embodiment, the present invention may include the following steps: the virtual code verification unit updates the period information stored in the virtual code verification unit every preset period, wherein when the virtual code verification unit updates the period information, it makes the control command information stored that matches each of the plurality of user identifiers match and store user identifiers that are different from each other.
[0016] In one embodiment, the present invention may further include the following step: the virtual code verification unit verifies the virtual code using the stored periodic information.
[0017] In one embodiment, the step of verifying the virtual code may include the following steps: the virtual code verification unit extracts periodic information from the virtual code; and the virtual code verification unit compares the extracted periodic information with the periodic information stored in the virtual code verification unit to verify the validity of the virtual code.
[0018] In one embodiment, the step of the virtual code verification unit updating the periodic information stored in the virtual code verification unit may include the following steps: the virtual code verification unit updates the periodic information from a first period to a second period; and the virtual code verification unit changes the storage location of control command information, such that the control command information stored in the first period that matches a specific user identifier matches a user identifier different from the specific user identifier in the second period.
[0019] In one embodiment, the step of verifying the virtual code may include the following steps: if the extracted period information is inconsistent with the second period stored in the virtual code verification unit, the virtual code verification unit confirms whether the extracted period information is consistent with the first period.
[0020] In one embodiment, when the extracted period information is consistent with the first period, the step of executing a control command based on the extracted control command information may include the following steps: the virtual code verification unit executes a control instruction corresponding to the control command information stored in the first period that matches the extracted user identifier.
[0021] In one embodiment, the virtual code may include: a first code that sets the starting position of the search storage location; and a second code that sets the search path from the starting position to the storage location according to a specific search method, wherein the first code and the second code may be changed per unit count.
[0022] In one embodiment, the step of the virtual code verification unit verifying the virtual code may include the following steps: the virtual code verification unit extracts the inherent value of the virtual code verification unit from the virtual code; and the virtual code verification unit compares the extracted inherent value with the inherent value stored in the virtual code verification unit, thereby verifying the validity of the virtual code.
[0023] Furthermore, the present invention provides a recording medium storing a trading program utilizing virtual code, the trading program being combined with a computer as hardware to execute the above-described method.
[0024] Furthermore, a virtual code generation apparatus for transactions is provided. Specifically, the present invention provides a virtual code generation apparatus for transactions, characterized in that it includes: a detailed code generation unit, which generates one or more detailed codes based on user identifiers stored in a plurality of user identifiers stored in the virtual code generation apparatus that match control command information corresponding to a user's purchase request; a virtual code generation unit, which generates virtual codes by combining the one or more detailed codes using a virtual code generation function; and a virtual code providing unit, which transmits the virtual codes to a virtual code receiving device or a virtual code verification device, wherein the virtual code generation apparatus stores a plurality of user identifiers and changes the control command information that matches the plurality of user identifiers at predetermined intervals.
[0025] In one embodiment, the virtual code generation device may, at the same cycle as the virtual code verification device, store control command information that matches each of the plurality of user identifiers and stores it in a manner that matches user identifiers that are different from each other.
[0026] Furthermore, a virtual code verification device for transactions is provided. Specifically, the present invention provides a virtual code verification device for transactions, characterized in that it includes: a virtual code receiving unit for receiving virtual code generated from a virtual code generating device; a detailed code extraction unit for extracting detailed code from the virtual code; a storage location search unit for searching the storage location of a user identifier based on the detailed code; a control command information extraction unit for extracting control command information stored that matches the searched user identifier; a virtual code verification unit for verifying the virtual code; and a control unit for executing control based on the extracted control command information, wherein the virtual code verification device stores a plurality of user identifiers, and changes the control command information matching each of the plurality of user identifiers at preset intervals.
[0027] In one embodiment, the virtual code verification device may, at the same cycle as the virtual code generation device, store control command information that matches each of the plurality of user identifiers and stores it in a manner that matches user identifiers that are different from each other.
[0028] In one embodiment, the detailed code extraction unit can extract periodic information from the virtual code, and the virtual code verification unit can compare the extracted periodic information with the periodic information stored in the virtual code verification device to verify the validity of the virtual code.
[0029] Technical effect
[0030] According to the present invention as described above, it has the following various effects.
[0031] First, by limiting the time during which the virtual code can be used, the likelihood of others using the virtual code can be reduced even if it is leaked.
[0032] Secondly, since the rules for generating virtual code change periodically, even if the rules for generating virtual code are partially leaked, it can prevent the virtual code from being forged.
[0033] Third, new virtual codes are generated on a per-unit count basis to prevent duplicate virtual codes from appearing throughout the predetermined period, or the virtual code verification device makes the order in which virtual codes that can extract user information are generated random, thereby providing the effect of not leaking user information even if the virtual code is leaked.
[0034] Fourth, the virtual code generation device that generates virtual code stores virtual code generation functions, and the virtual code verification device that uses virtual code to extract UID and verify whether virtual code is normal code only needs to add an algorithm for verifying virtual code. Therefore, it can prevent the algorithm used to generate and verify virtual code from being leaked.
[0035] The effects of the present invention are not limited to those mentioned above, and those skilled in the art will clearly understand other effects not mentioned below through the description below. Attached Figure Description
[0036] Figure 1 This is a structural diagram of a transaction system utilizing virtual code according to an embodiment of the present invention.
[0037] Figure 2 This is a configuration diagram of a virtual code generation apparatus according to an embodiment of the present invention.
[0038] Figure 3 This is a structural diagram of a virtual code verification device according to an embodiment of the present invention.
[0039] Figure 4 This is a flowchart of a transaction method using virtual code according to an embodiment of the present invention.
[0040] Figure 5 This is an example diagram of a storage location search algorithm according to an embodiment of the present invention, which searches for the storage location of a UID by rolling a k-sided polygon.
[0041] Figure 6 This is an example diagram illustrating the storage space of a virtual code generation apparatus according to an embodiment of the present invention.
[0042] Figure 7 This is an example diagram illustrating the storage space of a virtual code verification device according to an embodiment of the present invention. Detailed Implementation
[0043] References and Appendix Figure 1 The advantages and features of the invention, as well as the methods for achieving them, will become clear from the detailed embodiments described below. However, the invention can be implemented in many different forms and is not limited to the embodiments disclosed below. These embodiments are provided only to complete the disclosure of the invention and to fully inform those skilled in the art of the scope of the invention, which is defined only by the scope of the claims.
[0044] The terminology used in this specification is for illustrative purposes and is not intended to limit the invention. In this specification, singular forms also include plural forms unless specifically stated otherwise. The terms "comprises" and / or "comprising" as used in this specification do not exclude the presence or addition of more than one of the mentioned constituent elements. Throughout this specification, the same reference numerals refer to the same constituent elements, and "and / or" includes each and all combinations of more than one of the mentioned constituent elements. Although terms such as "first," "second," etc., are used to describe multiple constituent elements, these constituent elements are clearly not limited to these terms. These terms are used only to distinguish one constituent element from another. Therefore, the first constituent element mentioned below can obviously also be a second constituent element within the technical concept of this invention.
[0045] Unless otherwise defined, all terms used in this specification (including technical and scientific terms) shall be interpreted in the manner commonly understood by one of ordinary skill in the art to which this invention pertains. Furthermore, terms as defined in commonly used dictionaries shall not be interpreted ideally or excessively unless specifically defined otherwise.
[0046] In this specification, "character" refers to the constituent elements of code, including all or part of uppercase letters, lowercase letters, numbers, and special characters.
[0047] In this specification, "code" refers to a string that lists characters.
[0048] In this specification, "virtual code" refers to the code generated in the virtual code generation unit. It is the code issued by the seller through a transaction and entered by the buyer in the virtual code verification unit to enable them to use the purchased goods. In other words, "virtual code" refers to a temporary virtual code assigned per unit for the purpose of extracting and verifying user information.
[0049] In this specification, "detailed code" refers to a portion of the code included in the virtual code.
[0050] In this specification, "unit count" is a unit that is set to a specific time interval and defined as changing as the time interval elapses. For example, a count of 1 can be set to a specific time interval (e.g., 1.5 seconds) for use.
[0051] In this specification, "virtual code generation function" refers to the function used to generate virtual code.
[0052] In this specification, "rolling movement" refers to an object moving while rotating. That is, "rolling movement" means moving while simultaneously performing rotational and translational movements, implying that the different positions of the rotating object sequentially contact the axis of movement and move.
[0053] In this specification, "user identification (UID)" refers to a unique code value that is assigned to a control command without being repeated, in order to identify the control command.
[0054] In this specification, "storage location" refers to the position (count) on the track corresponding to the point in time when the user requests to register the UID.
[0055] In this specification, "control command information" refers to information that is matched and stored with the UID storage location and defines the control that can be executed by the virtual code verification unit. As one embodiment, when the device executing the control corresponding to the control command information is an instrument, the control command information can be the amount of electricity, gas, or tap water recharged. The instrument controls the use of electricity, gas, tap water, etc., according to the recharge amount defined by the control command information. However, the control type defined by the control command information is not limited to this.
[0056] In this specification, "matching relationship" refers to the relationship in which multiple UIDs and multiple control command information are matched and stored. In this case, the number of UIDs may be greater than the number of control command information, and some of the multiple UIDs may not match the control command information.
[0057] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0058] Figure 1 This is a structural diagram of a transaction system utilizing virtual code according to an embodiment of the present invention.
[0059] like Figure 1 As shown, the trading system includes a virtual code generation unit 10, a virtual code receiving unit 20, and a virtual code verification unit 30.
[0060] The virtual code generation unit 10 refers to a device that has a built-in or configured dedicated program for generating virtual code. More specifically, the virtual code generation unit 10 can be a seller's server. Users purchase pre-ordered items from the seller's server.
[0061] For example, users can purchase usage rights for electricity, gas, and tap water through the seller's server. The seller's server issues virtual codes, enabling users to use electricity, gas, and tap water according to the purchased amounts.
[0062] For example, users can purchase data usage rights through the seller's server. The seller's server issues virtual codes that allow users to use the data according to the purchased amount.
[0063] Users can transmit the virtual code issued by the seller's server to the virtual code verification unit 30, or to a separate virtual code receiving unit 20 (e.g., the user's mobile terminal). Users can directly input the virtual code displayed on the virtual code receiving unit 20 into the virtual code verification unit 30, or transmit the virtual code to the virtual code verification unit 30 via wireless communication between the virtual code receiving unit 20 and the virtual code verification unit 30.
[0064] The virtual code verification unit 30 receives a virtual code and uses it to extract the user's purchased electricity, gas, and tap water usage, enabling the user to utilize the electricity, gas, and tap water corresponding to the usage. For example, the virtual code verification unit 30 can be an electricity meter, gas meter, or water meter. Alternatively, the virtual code verification unit 30 can be a mobile terminal capable of wireless communication.
[0065] The following is a detailed explanation of the above-mentioned components.
[0066] The virtual code verification unit 30 can be initially registered with the virtual code generation unit 10. Users of the virtual code verification unit 30 register by transmitting information related to the virtual code verification unit 30 to the virtual code generation unit 10. However, this is not a limitation; the virtual code verification unit 30 may already be registered with the virtual code generation unit 10 at the time of factory shipment.
[0067] The virtual code generation unit 10 performs the function of generating virtual code using a UID. Here, the UID can be information stored in both the virtual code generation unit 10 and the virtual code verification unit 30, and the storage location of the UID can be matched with and store control command information.
[0068] In addition, the virtual code generation unit 10 includes a virtual code generation function and generates virtual code using a UID. For example, the virtual code generation unit 10 generates virtual code using a UID.
[0069] As a specific example, when registering the virtual code verification unit 30, the virtual code generation unit 10 receives the inherent value of the virtual code verification unit 30 from the user, or the factory-pre-shipped inherent value of the virtual code verification unit 30 can be stored within the virtual code generation unit 10. As the inherent value of the virtual code verification unit 30 is registered in the virtual code generation unit 10, the virtual code generation unit 10 updates the virtual code generation function. Here, the virtual code generation unit 10 and the virtual code verification unit 30 may each include the same virtual code generation function, or the virtual code verification unit 30 may include a storage location search algorithm corresponding to the virtual code generation function included in the virtual code generation unit 10.
[0070] The virtual code generation unit 10 matches and stores control command information for each of the multiple UIDs corresponding to the registered virtual code verification unit 30. Here, the control command information may be information defining the user's purchased usage rights for electricity, gas, and tap water, etc. For example, the control command information may be the usage amount of electricity, gas, and tap water, etc.
[0071] In one embodiment, each of the plurality of UIDs can be matched and stored with control command information defining usage amounts that differ from each other. The virtual code generation unit 10 generates virtual code using the UIDs that match the control command information defining the usage amounts purchased by the user.
[0072] The virtual code generation unit 10 changes the control command information that matches each of the multiple UIDs at a preset period. More specifically, control command information is matched and stored in a portion of the multiple UIDs, while control command information may not be matched and stored in the remaining portions. The virtual code generation unit 10 changes the matching relationship between UIDs and control command information at a predetermined period. Accordingly, control command information can be matched and stored in UIDs that have not been matched and have control command information stored, and control command information can be not matched and stored in UIDs that have been matched and have control command information stored.
[0073] For example, the virtual code generation unit 10 changes the matching relationship between UID and control command information on a weekly cycle. Before and after the matching relationship changes, the same UID will not match the same control command information.
[0074] Therefore, even if users purchase the same amount of usage rights, the virtual code generation unit 10 will generate virtual codes using different UIDs based on the time the user requests the purchase. The method by which the virtual code generation unit 10 generates virtual codes using UIDs will be described later.
[0075] The virtual code generation unit 10 can transmit virtual code to the virtual code receiving unit 20. The user can directly input the virtual code transmitted to the virtual code receiving unit 20 into the virtual code verification unit 30.
[0076] In another embodiment, the user can transmit the virtual code delivered to the virtual code receiving unit 20 to the virtual code verification unit via near-field communication (e.g., NFC communication).
[0077] The communication unit of the virtual code receiving unit 20 communicates with the virtual code generation unit 10 and the virtual code verification unit 30 to perform the function of sending and receiving virtual codes. Here, the wireless communication method of the communication unit can utilize not only Near Field Communication (NFC), but also Bluetooth, Bluetooth Low Energy (BLE), Beacon, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, etc.
[0078] As a specific example, the communication unit could be a near-field communication (NFC) communication unit (e.g., an NFC antenna) connected to the IC chip. For instance, a user of the virtual code receiving unit 20 could send a received virtual code to the virtual code verification unit 30 by tagging it.
[0079] For example, the virtual code receiving unit 20 receives (e.g., via text message) a virtual code and displays the received virtual code on a display unit included in the virtual code receiving unit 20. The user of the virtual code receiving unit 20 can input the virtual code displayed on the display unit into the virtual code verification unit 30, thereby transmitting the virtual code.
[0080] However, the virtual code receiving unit 20 is not essential. As one embodiment, the virtual code generating unit 10 may be equipped with a printing unit capable of printing and distributing virtual codes. Users can input virtual codes into the virtual code verification unit 30 using the printed virtual codes. In this case, the virtual code verification unit 30 may be equipped with a separate input unit. The virtual code verification unit 30, as a device for controlling the use of electricity, gas, water, etc., receives virtual codes from the virtual code generating unit 10, the virtual code receiving unit 20, or the user, and grants access rights to electricity, gas, water, data, etc. Users can obtain access rights to electricity, gas, water, data, etc., using the virtual codes.
[0081] The virtual code verification unit 30 receives virtual code and searches for the storage location of the UID from the virtual code. Then, the virtual code verification unit 30 extracts control command information that matches the storage location of the searched UID and assigns usage permissions corresponding to the extracted control command information. The method by which the virtual code verification unit 30 searches for the storage location of the UID from the virtual code will be described later.
[0082] After searching the storage location of the UID, the virtual code verification unit 30 extracts the control command information stored that matches the UID. Here, the virtual code verification unit 30 changes the control command information stored that matches the UID at preset intervals. More specifically, the virtual code verification unit 30 stores multiple UIDs. These multiple UIDs are the same as the multiple UIDs stored in the virtual code generation unit 10. Each of the multiple UIDs can be matched and stored with control command information that defines different usage amounts for each other.
[0083] The virtual code verification unit 30 changes the control command information that matches each of the multiple UIDs at a preset period. More specifically, control command information is matched and stored in a subset of the multiple UIDs, while control command information may not be matched and stored in the remainder. The virtual code verification unit 30 changes the matching relationship between the UIDs and the control command information at a predetermined period. Accordingly, control command information can be matched and stored in UIDs that have not been matched and have been stored, and control command information can be not matched and stored in UIDs that have been matched and have been stored.
[0084] As described above, the virtual code generation unit 10 and the virtual code verification unit 30 change the matching relationship between the UID and the control command information at a preset period. At this time, since the virtual code generation unit 10 and the virtual code verification unit 30 change the matching relationship according to the same rule, the control command information matching the UID stored in the virtual code generation unit 10 and the control command information matching the UID stored in the virtual code verification unit 30 are the same at the same time.
[0085] The virtual code verification unit 30 includes a communication unit that communicates with the virtual code generation unit 10 and the virtual code receiving unit 20 to receive virtual codes. The wireless communication method of the communication unit can utilize not only Near Field Communication (NFC), but also Bluetooth, Bluetooth Low Energy (BLE), beacons, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, etc. However, it is not limited to these methods; the virtual code verification unit 30 may also include a communication module for long-distance wireless communication. However, the virtual code verification unit 30 does not necessarily need to include a communication unit.
[0086] Figure 2 This is a configuration diagram of a virtual code generation apparatus according to an embodiment of the present invention.
[0087] like Figure 2 As shown, the virtual code generation device 100 includes a detailed code generation unit 110, a virtual code generation unit 120, a virtual code provision unit 130, and a UID storage unit 140.
[0088] As one embodiment, the virtual code generation device 100 can be a server of a supplier of electricity, gas, or tap water. The virtual code generation device 100 is the virtual code generation unit 10 described above.
[0089] The detailed code generation unit 110 performs the function of generating one or more detailed codes based on the UID. Specifically, the virtual code generation device 100 receives a virtual code generation request from the user. Here, the virtual code generation request may be a purchase request received from the user.
[0090] In the case where the virtual code generation device 100 is a server for a seller of electricity, gas, tap water, data, etc., the virtual code generation device 100 receives purchase requests for the right to use electricity, gas, tap water, data, etc. from users and generates virtual codes.
[0091] In one embodiment, the virtual code generation device 100 generates a virtual code after receiving the user's input of the inherent value of the virtual code verification device 200 and the purchase request for electricity, gas, and tap water usage.
[0092] At this time, the detailed code generation unit 110 searches among multiple UIDs corresponding to the inherent values of the virtual code verification device 200 for a UID that matches the usage entered when requesting the purchase.
[0093] The UID storage unit 140 stores multiple UIDs that match the inherent values of the virtual code verification device 200. At least a portion of these UIDs are matched with and stored containing control command information. The control command information matching each UID defines a different usage amount or recharge amount. The detailed code generation unit 110 searches the UID storage unit 140 for UIDs stored that match the control command information corresponding to the user's requested usage amount or recharge amount, and generates a detailed code using the searched UIDs.
[0094] The virtual code generation function includes more than one detailed code generation function. For example, in the case where the virtual code includes multiple detailed codes, the virtual code generation function uses the multiple detailed code generation functions to generate multiple detailed codes, and uses a detailed code combination function that combines the multiple detailed codes to generate the virtual code.
[0095] As one embodiment, the virtual code generation device 100 generates detailed code that can reach the storage location of the UID searched in the manner described above.
[0096] As a specific example, the number of UIDs stored in the virtual code generation device 100 can be the same as the number of unit counts included from the start time to the end time of a specific period. For example, if the length of the specific period is one week and the unit count is "1 minute", the number of UIDs stored in the virtual code generation device 100 can be 10080 minutes (168 hours).
[0097] Multiple UIDs are matched to various counts. For example, in a specific period of one week in length and a unit count of "1 minute", 10,080 UIDs are matched to each minute. The virtual code generation device 100 can search for UIDs that match a specific point in time.
[0098] The detailed code generation function generates detailed code using the UID (hereinafter, purchase time point UID) that matches the count corresponding to the time point when the user's virtual code generation request (or purchase request) is received. Based on the purchase time point UID, the detailed code is generated using the search path of the UID (hereinafter, control command UID) that matches and stores the control command information corresponding to the user's purchase request.
[0099] As one embodiment, the detailed code generation unit 110 can include the first function and the second function as detailed code generation functions to generate the first code and the second code. In this case, to improve security, the virtual code generation device 100 can include only the first function for generating the first code and the second function for generating the second code as detailed code generation functions, excluding data regarding the relationship between the first code and the second code.
[0100] The virtual code generation unit 120 performs the function of generating virtual code by combining one or more detailed codes using a virtual code generation function. As one embodiment, the virtual code is generated by combining multiple detailed codes according to specific rules. The virtual code generation function includes rules for combining multiple detailed codes (i.e., a detailed code combination function). That is, the virtual code generation unit 120 can combine one or more detailed codes using a detailed code combination function included in the virtual code generation function.
[0101] Various methods can be applied to generate a virtual code by combining multiple detailed codes. As an example of a detailed code combining function, the virtual code generation unit 120 can generate virtual code by alternating N-bit first code and N-bit second code. Furthermore, as another example, the detailed code combining function can be a function that combines the second code after the first code. As the number of detailed codes included in the virtual code increases, the detailed code combining function can be generated in various ways.
[0102] Furthermore, as an embodiment, when the virtual code is generated according to a specific rule combination of the first code and the second code, the first code and the second code can respectively perform the function of searching for the storage location of the control command UID within the storage location search algorithm that stores user information. For example, the first code uses the purchase time point UID to set the starting position for the storage location search, and the second code sets the search path from the starting position to the storage location of the control command UID according to a specific search method. That is, when the virtual code generation device 100 provides normally generated virtual codes on a per-unit count basis, the virtual code verification device 200 determines the position from the search starting position corresponding to the first code along the search path corresponding to the second code as the location where user information is stored (i.e., the storage location of the control command UID). The specific method of searching for the storage location of the UID based on the first code and the second code constituting the virtual code will be described later.
[0103] In one embodiment of how the detailed code generation unit 110 generates detailed code, the detailed code generation unit 110 generates new detailed code per unit count, and accordingly, the virtual code generation device 100 generates new virtual code per unit count. The virtual code newly generated per unit count will not be repeatedly generated within a specific period. Specifically, the detailed code generation unit 110 can prevent a specific user or a specific virtual code generation device 100 from repeatedly generating the virtual code newly generated per unit count within a predetermined period. For example, if the specific period is one week, the same virtual code will not be repeatedly generated within one week.
[0104] As a specific embodiment to prevent the repeated generation of virtual code, when generating an N-bit first code or second code using M characters, the detailed code generation function, including the virtual code generation function, can generate MN codes as the first code or second code, and each code is matched according to its respective count starting from the initial time point driven by the detailed code generation function. For example, when the unit count is set to 1 second, different MN codes are matched every second starting from the time point driven by the detailed code generation function. Furthermore, if the period of using a specific detailed code generation function or the usage period of the virtual code generation device 100 (e.g., the effective period of a user terminal equipped with an application that generates virtual code) is set to a time length shorter than the time length corresponding to the MN count (e.g., MN seconds when the count is 1 second), the first code or second code will not be repeatedly generated with the same code within the usage period. That is, when the count increases over time, if a user requests the generation of virtual code from the virtual code generation device 100 at a specific time point, the virtual code generation device 100 can generate the code value matching the count corresponding to the specific time point as the first code or the second code.
[0105] Here, the initial time point driven by the detailed code generation function can vary for each preset period. The detailed code generation unit 110 updates the driving time point of the detailed code generation function at a preset period, ensuring that the same code is not repeatedly generated until the next update time point of the detailed code generation function. For example, if the detailed code generation function sets the unit count to 1 minute and the usage period to one week, 10,080 different detailed codes can be generated during one week (10,080 minutes).
[0106] Specifically, by using uppercase letters and digits 0 to 9 as characters that can be included in the code (i.e., using 36 characters), and allocating 6 bits to the first code and the second code respectively, the virtual code generation device 100 can provide 366 codes as the first code and the second code. At this time, the virtual code generation device 100 can match each code according to a count and provide the first code and the second code that change according to the count.
[0107] As another specific embodiment to prevent the repeated generation of virtual code, when the usage cycle of the virtual code generation device 100 is completed, the function that generates the first code or the second code (i.e., the first function or the second function) or the matching relationship between the first code and the second code is changed, thereby generating virtual code different from the previous usage cycle. In the case where the first code generated by the first function and the second code generated by the second function are combined in the virtual code, if the first code generation function or the second code generation function is changed, the virtual code generation device 100 can apply the virtual code generation function that generates virtual code different from the previous cycle due to the different order in which the first code or the second code appears compared to the previous usage cycle to the new usage cycle. Furthermore, the virtual code generation device 100 can select the first function and the second function in such a way that the same code as the virtual code used in the previous usage cycle is not included in the counts of virtual codes in the new usage cycle (i.e., the matching relationship between the first code generated by the first function and the second code generated by the second function is not included in the matching relationships included in the previous usage cycle in all counts of the new usage cycle). That is, after MN code cycles that can be applied once each, the virtual code generation function can be adjusted or updated to apply a new virtual code generation function that does not generate virtual code that is repeated in the previous cycle.
[0108] Furthermore, as another specific embodiment to prevent the repeated generation of virtual code, in order to prevent the generation of repetitive virtual code unrelated to the user throughout the entire cycle, the first code can be set as the code value corresponding to the time point (or count) of the requested virtual code generation from the code matched for each count starting from the initial time point of the first function (the start time point of the specific cycle), and the second code can be set as the code value specifying the search path to the control command UID, and the virtual code is used as a combination of the code values of the first code and the second code. In this case, the detailed code generation function generates only one virtual code per unit count. Therefore, the first code becomes a different code value according to each count, thereby outputting different code values at all time points during the specific cycle by combining the virtual code of the first code and the second code.
[0109] In this scenario, when a user makes multiple virtual code generation requests (purchase requests) simultaneously, the virtual code generation device generates one virtual code using the UID corresponding to the time (or count) of the virtual code generation request, and generates another virtual code using the UID corresponding to the next count of the virtual code generation request.
[0110] As a specific example, when a user makes three purchase requests simultaneously, the virtual code generation device uses a first code that takes the UID corresponding to the purchase request time point count (first count) as the starting time point and a second code that sets a search path to the control command UID corresponding to the first purchase request to form a virtual code. It also uses a first code that takes the UID corresponding to the next count of the first count (second count) as the starting time point and a second code that sets a search path to the control command UID corresponding to the second purchase request to form a virtual code. Finally, it uses a first code that takes the UID corresponding to the next count of the second count (third count) as the starting time point and a second code that sets a search path to the control command UID corresponding to the third purchase request to form a virtual code.
[0111] Therefore, this invention will not generate duplicate code even when a user makes multiple virtual code generation requests simultaneously.
[0112] Furthermore, as another embodiment, the virtual code generation function (or detailed code generation function) applies any one of multiple arrangement rules for arranging the M characters in ascending order. That is, the virtual code generation device 100 can apply various rules for arranging the M characters in ascending order in the detailed code generation function included within the virtual code generation function. For example, the arrangement rule for arranging uppercase letters in ascending order can be the general order A, B, C, ..., Z, or it can be the order A, C, B, ..., Z. In the virtual code generation function, as the arrangement rule changes, starting from the initial time point driven by the virtual code generation function, the order of matching codes changes sequentially at each counter.
[0113] Furthermore, as another embodiment, the virtual code generation device 100 changes the detailed code binding function every preset period, so that the detailed code generated by the detailed code generation function is bound in a different way each period.
[0114] Furthermore, the virtual code according to the present invention can be generated in the form of an existing token in the context of an existing token system. For example, the virtual code may include at least one of token category information, token subcategory information, inherent values of the virtual code verification device 200, periodic information, and the first code and the second code.
[0115] In addition, the virtual code may not include the inherent value of the virtual code verification device 200, and the inherent value of the virtual code verification device 200 can be used to encrypt and decrypt the virtual code.
[0116] As one embodiment, a separate code for encryption and decryption may also be included. The virtual code may also include a Cyclic Redundancy Check (CRC) code. The virtual code generation device 100 generates a virtual code by dividing the code, which is a combination of token category information, token subcategory information, period information, the first code, and the second code, by a preset value and appending the remainder (CRC code). The virtual code verification device 200 can determine that the virtual code is a normal code if the remainder is 0 when dividing the virtual code by the same preset value stored in the virtual code generation device 100.
[0117] Here, the preset value can be an inherent value of the virtual code verification device 200. In this case, the virtual code does not include the inherent value of the virtual code verification device 200, but the virtual code generated specifically for the virtual code verification device 200 is only judged as normal code within the specific virtual code verification device 200.
[0118] In addition to the embodiments described above, the inherent values of the virtual code verification device 200 can also be used in various ways to encrypt and decrypt virtual code.
[0119] The period information is a period value set at the virtual code generation time point in the virtual code generation device 100. The virtual code generation device 100 updates the period information stored in the virtual code generation device 100 every preset period. For example, if the preset period is one week, the virtual code generation device 100 updates the period information every week. Here, the reference time point for the period information can be the initial time point when the virtual code generation device 100 is started, or the time point when the virtual code verification device 200 is registered with the virtual code generation device 100. The period information continues to increase based on the reference time point.
[0120] Virtual codes are generated non-repeatingly within a specific period. Virtual codes generated in different periods may be identical, but the virtual code verification device 200 can use the period information to verify the validity of the virtual codes. This will be described later.
[0121] The inherent value of the virtual code verification device 200 is the value stored in both the virtual code generation device 100 and the virtual code verification device 200. The virtual code verification device 200, which will be described later, extracts the inherent value of the virtual code from the virtual code and uses the extracted inherent value to perform the first verification of the virtual code.
[0122] However, as mentioned above, the virtual code does not necessarily need to include the inherent value of the virtual code verification device 200. By utilizing the inherent value of the virtual code verification device 200 in the encryption and decryption of the virtual code, the virtual code generated specifically for a particular virtual code verification device 200 can be judged as normal code only by that particular virtual code verification device 200.
[0123] The virtual code generation device 100 can generate virtual codes using existing token formats. Therefore, the present invention provides a control method that improves security while directly utilizing existing token systems.
[0124] The virtual code providing unit 130 transmits the generated virtual code to the virtual code receiving unit 20 or the virtual code verification unit 30.
[0125] Reference Figure 6 The UID storage unit 140 matches and stores multiple UIDs with the inherent values of the virtual code verification device 200, and stores different control command information for each of the multiple UIDs. The UID storage unit 140 changes the matching relationship between the UIDs and the control command information at preset intervals. Although in Figure 6 The UIDs that do not match the control command information are not shown, but some of the multiple UIDs may not match and may still store the control command information.
[0126] Figure 3 This is a structural diagram of a virtual code verification device according to an embodiment of the present invention.
[0127] The virtual code verification device 200 can be an electricity meter, gas meter, or water meter. However, it is not limited to these; the virtual code verification device 200 can be any terminal capable of granting access permissions to a user.
[0128] like Figure 3 As shown, the virtual code verification device 200 includes a virtual code receiving unit 210, a detailed code extraction unit 220, a storage location search unit 230, a control command information extraction unit 240, a virtual code verification unit 250, a control unit 260, and a control command storage unit 270.
[0129] Here, the virtual code verification device 200 extracts the UID (control command UID) based on the virtual code, determines whether the received virtual code is normal code based on the virtual code, and executes the control command.
[0130] The virtual code receiving unit 210 serves to receive virtual codes. The virtual code receiving unit 210 may include a communication module, or it may include an input module that allows the user to directly input virtual codes.
[0131] The detailed code extraction section 220 performs extraction, including the function of more than one detailed code within the virtual code.
[0132] As one embodiment, the detailed code extraction unit 220 can extract the inherent values, periodic information, first code, and second code of the virtual code verification device 200 from the virtual code.
[0133] In another embodiment, the detailed code extraction unit 220 can extract periodic information, a first code, and a second code from the decrypted code after decrypting the virtual code using the inherent values of the virtual code verification device 200 stored in the virtual code verification device. In this case, the virtual code generation device 100 and the virtual code verification device 200 should include the same encryption algorithm.
[0134] As one embodiment, the detailed code extraction unit 220 includes a detailed code combining function contained in the virtual code generation function. Therefore, when the virtual code includes multiple detailed codes, the detailed code extraction unit 220 can apply the detailed code combining function to extract multiple detailed codes from the virtual code. For example, when the virtual code generation device 100 generates virtual code that combines three detailed codes (periodic information, first code, and second code), the detailed code extraction unit 220 can apply the detailed code combining function to separate the periodic information, the first code, and the second code from the character arrangement of the virtual code.
[0135] As one embodiment, the detailed code binding function can be changed according to each preset cycle. In this case, the detailed code binding functions included in the virtual code generation device 100 and the virtual code verification device 200 should be the same. Therefore, the detailed code binding functions included in the virtual code generation device 100 and the virtual code verification device 200 are changed according to the same rules at the same cycle.
[0136] The storage location search unit 230 performs the function of searching for the storage location of the UID (control command UID) within a storage location search algorithm based on one or more extracted detailed codes. Here, the storage location search algorithm matches the virtual code generation function used when the virtual code generation device 100 generates virtual code. Various methods can be applied to the storage location search unit 230 in searching for the storage location of the UID based on each detailed code. To enable the storage location search unit 230 to search for storage locations based on multiple detailed codes, relationships can be included between the detailed codes.
[0137] In the case where the virtual code includes a first code and a second code, as an embodiment where there is a correlation between the detailed codes, the storage location search unit 230 can determine the search starting position (purchase time point UID) corresponding to the first code, and can search for the storage location of the UID (control command UID) after moving along the search path corresponding to the second code from the search starting position. That is, the detailed code may include a first code that sets the starting position of the storage location search and a second code that sets the search path from the starting position (purchase time point UID) to the storage location of the UID (control command UID) according to a specific search method.
[0138] Furthermore, as another embodiment, the storage location search unit 230 may include a storage location search algorithm to locate the storage location of the UID using multiple detailed codes that have a relationship. The storage location search algorithm is an algorithm that enables the search for storage locations when applying various detailed codes included in the virtual code, and it matches the virtual code generation function used when the virtual code generation device 100 generates the virtual code.
[0139] For example, in the case where the virtual code includes a first code that determines the start position of the search for the storage location and a second code that provides the direction of the storage location starting from the start position of the search, the storage location search algorithm is an algorithm that adjusts to place a storage location that matches the registration time point of the UID (control command UID) at the corresponding position when the direction corresponding to the second code is indicated at the position corresponding to the first code.
[0140] The control command information extraction unit 240 extracts control command information that matches the storage location of the UID (control command UID) searched by the storage location search unit 230 and stores it. That is, the virtual code verification device 200 can extract control command information that matches the storage location of each UID in the storage location search algorithm and stores it. The control unit 360 executes control corresponding to the extracted control command information.
[0141] By utilizing the storage location search algorithm, the virtual code verification device 200 can search for the UID storage location even if the first and second codes of the virtual code are changed. 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.
[0142] For example, refer to Figure 5In a storage location search algorithm where a k-sided polygon (k is MN) scrolls along a track listing MN codes corresponding to the first code, and the vertices of the k-sided polygon move in a manner corresponding to the positions where codes are arranged on the first code track, each vertex of the k-sided polygon matches the storage location of the UID, and the position of the first code track (i.e., the first track) corresponding to the k-sided polygon can be the starting position for the storage location search corresponding to the first code. In this case, the storage location search unit 230 can apply scrolling movement to the k-sided polygon in a manner that brings the vertices of the k-sided polygon into contact with the positions corresponding to the first code extracted from the detailed code extraction unit 220. Thus, the storage location search unit 230 can search for the vertices of the k-sided polygon that are the storage locations for the UID (control command UID) corresponding to the virtual code by indicating the angle corresponding to the second code from the position on the first track that the k-sided polygon is in contact with (e.g., dividing 180 degrees into MN specific angles in a manner towards the vertices of the k-sided polygon).
[0143] Specifically, such as Figure 5 As shown, the virtual code verification device 200 rolls the k-sided polygon to the position corresponding to the first code (i.e., moves it so that each vertex of the k-sided polygon contacts each position on the track in sequence). Thereafter, the virtual code verification device 200 searches for vertices corresponding to the storage positions by indicating the angular direction corresponding to the second code.
[0144] After the storage location of the UID is found by the storage location search unit 230 using the first code and the second code in the virtual code within the storage location search algorithm, the control command information extraction unit 240 extracts the control command information that matches and is stored in the corresponding location.
[0145] Detailed explanations of other diverse storage location search algorithms will be provided later.
[0146] The virtual code verification unit 250 performs the function verification of the virtual code by utilizing the inherent values and periodic information of the virtual code verification device 200 extracted from the virtual code.
[0147] As one embodiment, the virtual code verification unit 250 compares the inherent value extracted from the virtual code verification device 200 with the inherent value stored in the virtual code verification device 200 to verify the virtual code for the first time. If the two inherent values are inconsistent, the virtual code verification unit 250 determines that the received virtual code is invalid.
[0148] In another embodiment, the virtual code generation device 100 and the virtual code verification device 200 include the same encryption algorithm. The virtual code generation device 100 encrypts the virtual code using an inherent value of the virtual code verification device 200, and the virtual code verification device 200 decrypts the virtual code using an inherent value stored in the device. If the inherent value of the virtual code verification device 200 is not present, the virtual code cannot be decrypted and therefore cannot be used.
[0149] The virtual code verification device 200 updates the period information stored in the virtual code verification device 200 every preset period. The period information stored in the virtual code generation device 100 and the virtual code verification device 200 are updated to the same value at the same time.
[0150] The virtual code verification unit 250 can determine the start time of a specific period based on period information extracted from the virtual code or period information stored in the virtual code verification device 200.
[0151] In a specific embodiment, the virtual code generation device 100 does not output virtual security code to the outside, but generates it based on the first code and the second code. The virtual code generation unit generates the first code based on the UID (purchase time point UID) corresponding to the time point (or count) of the virtual code generation request (purchase request), and generates the second code based on the purchase time point UID, including a search path for the UID (control command UID) that matches and stores the control command corresponding to the purchase request.
[0152] Furthermore, if the period information extracted from the virtual code is inconsistent with the period information stored in the virtual code verification device 200, the virtual code verification unit 250 checks whether the period corresponding to the period information extracted from the virtual code is the previous period of the period corresponding to the period information stored in the virtual code verification device 200. For example, if the period information stored in the virtual code verification device 200 is "fourth week", the virtual code verification unit 250 checks whether the period information extracted from the virtual code is "third week".
[0153] If the cycle information extracted from the virtual code is inconsistent with the cycle information stored in the virtual code verification device 200, and the cycle corresponding to the cycle information extracted from the virtual code is not the previous cycle of the cycle corresponding to the cycle information stored in the virtual code verification device 200, the virtual code verification unit 250 will determine the received code as invalid code.
[0154] Furthermore, if the period information extracted from the virtual code is inconsistent with the period information stored in the virtual code verification device 200, and the period corresponding to the period information extracted from the virtual code is the previous period of the period corresponding to the period information stored in the virtual code verification device 200, the virtual code verification unit 250 determines the start time of a specific period based on the period information extracted from the virtual code, and generates virtual security code from the start time of the specific period to the end time of the specific period. Thereafter, it determines whether the generated virtual security code contains code that is consistent with the virtual security code included in the first code and the second code.
[0155] The virtual code verification unit 250 uses the first code and periodic information extracted from the virtual code to determine the generation time of the virtual code. If the difference between the generation time and the reception time of the virtual code exceeds a preset validity period of the virtual code, the virtual code verification unit 250 determines that the virtual code is invalid. Conversely, if the difference between the generation time and the reception time of the virtual code is within the preset validity period of the virtual code, the virtual code is determined to be valid, and control command information can be extracted based on the periodic information extracted from the virtual code.
[0156] More specifically, the virtual code verification device 200 stores multiple UIDs in the same format as the virtual code generation device 100, each of which matches a plurality of counts included from the start time of a specific period to the end time of that specific period. The matching relationship between UIDs and counts is the same in both the virtual code generation device 100 and the virtual code verification device 200. Therefore, the virtual code verification device 200 can use the purchase time point UID included in the first code to specify the purchase request time point within a specific period. However, the purchase time point UID can only specify the purchase request time point based on the start time of the specific period, and cannot specify an absolute purchase request time point.
[0157] The virtual code verification device 200 can use periodic information to specify the period for making a purchase request. The virtual code verification device 200 can specify an absolute purchase request time point based on the purchase request period and the start time of a specific period.
[0158] The virtual code verification device 200 can determine the validity of the virtual code based on the absolute purchase request time and the virtual code reception time specified by the periodic information and the first code.
[0159] As an example, if the virtual code is determined to be valid when the period information extracted from the virtual code is inconsistent with the period information stored in the virtual code verification device 200, the control command information extraction unit 240 extracts the control command information from the UID based on the matching relationship between the UID and the control command information before the virtual code verification device 200 updates the period information.
[0160] More specifically, the virtual code verification device 200 stores multiple UIDs, and a portion of these UIDs are matched with and stored as control command information. Whenever the virtual code verification device 200 updates its periodic information, the matching relationship between the UIDs and the control command information changes. At this time, the rules governing the change in the matching relationship between the UIDs and the control command information are the same as those applied to the virtual code generation device 100; therefore, at the same point in time, the matching relationships of the virtual code generation device 100 and the virtual code verification device 200 are identical.
[0161] After a user receives virtual code from virtual code generation device 100 within a specific period, if the user inputs the virtual code into virtual code verification device 200 within the same period, the virtual code verification device 200 can extract the control command information that was used as the basis when the virtual code generation device 100 generates the virtual code because the UID and control command information in virtual code generation device 100 and virtual code verification device 200 have the same matching relationship.
[0162] However, if a user receives virtual code from the virtual code generation device 100 within a specific period, and then inputs the virtual code into the virtual code verification device 200 after the end of that specific period, the matching relationship between the UID and control command information in the virtual code generation device 100 and the virtual code verification device 200 will become different. If the user receives the virtual code close to the end of the specific period, even if the specific period ends, the virtual code may still be valid. In this case, the present invention can also verify the virtual code in the virtual code verification device 200 and use it as a valid code. Therefore, as described above, if the period information extracted from the virtual code is inconsistent with the period information stored in the virtual code verification device 200, the present invention can also perform additional verification of the virtual code, thereby determining that the virtual code is a valid code.
[0163] Furthermore, in order to ensure that the virtual code can be used even under the aforementioned circumstances, even if the matching relationship between the UID and control command information changes at the end of a specific period, the control command information storage unit 370 does not delete the matching relationship of the previous period but stores it (see reference). Figure 7That is, the virtual code verification device 200 stores all the matching relationships between UID and control command information corresponding to the current cycle and the matching relationships between UID and control command information corresponding to the previous cycle.
[0164] If the period information extracted from the virtual code is inconsistent with the period information stored in the virtual code verification device 200, and the virtual code is determined to be valid, the control command information extraction unit 240 uses the matching relationship between the UID and control command information corresponding to the previous period to extract the control command information.
[0165] When the virtual code is verified by the virtual code verification unit 250, the control unit 260 executes control corresponding to the control command information extracted by the control command information extraction unit 240.
[0166] In one embodiment, when the virtual code verification device 200 is an electricity meter, gas meter, water meter, etc., the virtual code verification device 200 enables the user to use the amount of electricity, gas, water, etc. corresponding to the extracted control command information.
[0167] Figure 4 This is a flowchart of a control method using virtual code according to an embodiment of the present invention.
[0168] Reference Figure 4 According to an embodiment of the present invention, a control method using virtual code includes the following steps: a virtual code verification device receives virtual code (S100, virtual code receiving step); the virtual code verification device searches for a UID based on the virtual code (S200, UID searching step); the virtual code verification device extracts control command information that matches and stores it in the storage location of the searched UID (S300); the virtual code verification device verifies the virtual code (S400); and the virtual code verification device executes control based on the control command information (S500). Hereinafter, a detailed description of each step is provided. However, in describing the virtual code generation device 100 (i.e., the seller server) and the virtual code verification device 200 (virtual code verification unit 20), specific disclosures of the above content are omitted.
[0169] In step S100, the virtual code verification device 200 receives virtual code. Here, the virtual code is generated based on the UID by a virtual code generation function included in the virtual code generation program.
[0170] According to one embodiment, virtual code can be generated based on a UID included in the virtual code generation device 100.
[0171] The virtual code generation device 100 generates virtual code based on UID using a virtual code generation function and provides the generated virtual code to the virtual code verification device 200.
[0172] As one embodiment, the virtual code generation device 100 searches for a UID corresponding to a user's purchase request from a plurality of pre-stored UIDs, and then uses the searched UID as seed data for a detailed code generation function to generate various detailed codes.
[0173] When generating multiple detailed codes using various detailed code generation functions, the virtual code generation device 100 can utilize a detailed code combining function included in the virtual code generation function to generate virtual code that combines multiple detailed codes. For example, the virtual code generation device 100 uses a dedicated program to generate virtual code using a UID as seed data.
[0174] In addition, virtual code can be generated in various ways. That is, virtual code can be generated using various virtual code generation functions. Detailed explanations of generating virtual code in various ways are referenced above. Figure 5 The content of the explanation is repetitive, so specific details will be omitted.
[0175] Then, in step S200, the virtual code verification device 200 searches for the storage location of the UID within the storage location search algorithm based on the virtual code. Here, the storage location search algorithm matches the virtual code generation function included in the virtual code generation device 100 (i.e., the seller's server), and is capable of searching for the storage location of the UID based on at least one detailed code within the virtual code.
[0176] In one embodiment, control command information can be matched and stored in each UID. The matching relationship between multiple UIDs and control command information changes according to each preset cycle.
[0177] According to one embodiment, when the virtual code includes a first code and a second code, the virtual code verification device 200 uses the first code and the second code to search for the UID storage location within a storage location search algorithm. For example, the first code may be code that sets the starting position for the UID storage location search within the storage location search algorithm, and the second code may be code that sets the search path from the starting position to the UID storage location according to a specific search method.
[0178] like Figure 5As shown, the virtual code verification device 200 sets the position corresponding to the first code as the starting position, and searches for a position (i.e., a specific vertex of the k-sided polygon) that matches the UID storage position in the arrangement state of the k-sided polygon, based on the search method applied to the second code. The storage position matches each vertex of the k-sided polygon. The position corresponding to the k-sided polygon of the first code track (i.e., the first track) becomes the starting position for searching the storage position corresponding to the first code. The virtual code verification device 200 searches for a matching position of the UID storage position based on the second code at the starting position of the search.
[0179] Various methods can be applied as a way to search for storage locations in a k-gon based on the second code. As an example, with the virtual code verification device 200 positioned on the first track contacted by the k-gon indicating the angle corresponding to the second code (e.g., dividing 180 degrees into MN specific angles in a manner toward the vertices of the k-gon), the vertices of the k-gon that serve as storage locations for storing UIDs can be searched based on the virtual code.
[0180] Furthermore, as another example, when the k-sided polygon is in contact with the position corresponding to the first code on the first track, the virtual code verification device 200 divides the total central angle (i.e., 360 degrees) into MN points based on the contact point between the center of the k-sided polygon and the first track, and matches each angle with MN second codes. At this time, the direction of the line that moves a specific number of unit angles (i.e., 360 degrees / MN) from the line connecting the center of the k-sided polygon and the contact point on the first track becomes a specific vertex of the k-sided polygon. Therefore, when a second code corresponding to a specific angle is received, the virtual code verification device 200 can search for the vertex located in the direction of the corresponding angle.
[0181] Furthermore, as another example, the specific position of the second code can be used to determine the direction of angle calculation. That is, when the second code is generated using N characters (N is a natural number), the direction of angle measurement can be determined using a single digit. For example, when the virtual code verification device 200 divides the entire central angle (i.e., 360 degrees) based on the contact point between the center of the k-sided polygon and the first track, and matches the second code to each angle, the value of a single digit can be used to determine whether the angle is measured from the line connecting the center of the k-sided polygon and the contact point on the first track towards the left or towards the right.
[0182] As an example, for each vertex on a k-sided polygon, the storage location search algorithm can assign two different second codes to a vertex based on the direction of angle measurement. That is, different second codes are matched when a vertex is reached from an interior angle and when it is reached from an exterior angle, and the storage locations of different UIDs can be connected. As another example, when generating the second code using N characters (N is a positive integer), the storage location search algorithm can utilize N-1 characters to match half of all angles (e.g., 360 degrees in the case of division based on the central angle), and can use one bit to determine the direction of angle application for each vertex.
[0183] The method of searching for storage locations on a k-gon based on the second code is not limited to this. Various methods can be applied, such as using the location on the k-gon corresponding to the second code and the contact point on the first track divided by a specific ratio as the storage location for searching.
[0184] Then, in step S300, the virtual code verification device 200 extracts the control command information that matches the searched UID storage location and is stored therein.
[0185] Specifically, the virtual code verification device 200 extracts and stores control command information that matches the storage location of the searched UID. That is, since the virtual code verification device 200 stores control command information in each UID storage location within the storage location search algorithm, the virtual code verification device 200 can extract control command information that matches the storage location of a specific UID within the storage location search algorithm.
[0186] Then, in step S400, the virtual code verification device 200 verifies the virtual code based on the time point at which the virtual code is received. However, step S400 does not necessarily have to be executed after step S300, and can also be executed after extracting the inherent values, periodic information, first code, and second code of the virtual code verification device 200 from the virtual code.
[0187] In step S500, when the virtual code is determined to be normal code, the virtual code verification device 200 executes control based on the control command information stored that matches the UID storage location.
[0188] The following is a detailed description of an embodiment of recharging electricity using a virtual code when the virtual code verification device is an electricity meter.
[0189] Users purchase a predetermined amount of electricity usage rights from the virtual code generation device and obtain a virtual code. The electricity meter can receive the virtual code in the various ways described above.
[0190] The meter uses its inherent values stored within the instrument to decrypt the encrypted virtual code. At this point, the algorithm used by the virtual code generation device to encrypt the virtual code is the same as the algorithm used by the meter to decode it.
[0191] In one embodiment, the virtual code may include the CRC code described above for the purpose of encrypting and decrypting the virtual code.
[0192] Since virtual codes cannot be decrypted without the inherent values of the instrument, codes generated specifically for a particular instrument can only be decrypted on that particular instrument.
[0193] When the received virtual code is confirmed to be a code specifically generated for the corresponding instrument through the virtual code decoding process, the instrument searches for the control command UID. At this time, the search method described above can be used.
[0194] Furthermore, the instrument uses the periodic information extracted from the virtual code and the first code to calculate the absolute time point of the virtual code generation, and uses the calculated virtual code generation time point and virtual code reception time point to determine whether the received virtual code is a virtual code received within the validity period.
[0195] When the received virtual code is determined to be a valid virtual code, the instrument applies the power recharge amount based on the control command information that matches the control command UID and is stored. Then, the instrument drives according to the recharged power.
[0196] In addition, if the received virtual code is received after the end of a specific cycle but within the validity period, the instrument uses the matching relationship between the UID and control command information corresponding to the previous cycle to extract the control command information, and applies the power recharge amount according to the extracted control command information.
[0197] Therefore, even if there is a remaining valid virtual code input into the instrument after the instrument's cycle changes, the present invention can still use the corresponding virtual code to recharge the power.
[0198] The transaction method using virtual code according to an embodiment of the present invention described above can be implemented by a program (or application) and stored in a medium in order to be combined with and executed by a computer as hardware.
[0199] The program described above, in order for the computer to read and execute the method implemented as a program, may include code coded in computer languages such as C, C++, JAVA, Ruby, and machine language, which is readable by the computer's processor (CPU) through the computer's device interface. This code may include functional code related to functions defining the functions required to execute the method, and execution step-related control code required by the computer's processor to execute the function according to predetermined steps. Furthermore, this code may also include memory reference-related code indicating the location of the computer's internal or external memory where additional information or media should be referenced to perform the function. Moreover, when the computer's processor needs to communicate with any other remote computer or server to implement the function, the code may also include communication-related code regarding how to use the computer's communication module to communicate with any other remote computer or server, and what information needs to be sent and received during communication.
[0200] The storage medium is not a short-term data storage medium such as registers, caches, or memory, but rather a medium that stores data semi-permanently and can be read by a device. Specifically, the storage medium includes, but is not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disks, and optical data storage devices. That is, the program can be stored on various recording media on various servers that the computer can connect to, or on various recording media on the user's computer. Furthermore, the medium can be distributed across computer systems connected via a network, storing computer-readable code in a distributed manner.
[0201] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, those skilled in the art will understand that the invention can be implemented in other specific forms without altering its technical concept or essential features. Therefore, the embodiments described above should be understood as exemplary in all respects, and not as limiting.
Claims
1. A transaction method utilizing virtual codes, characterized in that, Includes the following steps: In the virtual code receiving step, the virtual code verification unit receives virtual code, which is generated by a virtual code generation function included in the virtual code generation unit; The virtual code verification unit searches for the storage location of the user identifier in the virtual code; The virtual code verification unit extracts control command information that matches the searched user identifier; as well as The control commands are executed based on the extracted control command information. The virtual code is generated by combining multiple detailed codes. These detailed codes are generated based on user identifiers stored in the virtual code generation unit that correspond to the usage amount requested by the user for the virtual code verification unit. Each of the plurality of user identifiers is matched with control command information representing a different amount of usage for the virtual code verification unit. In a manner where the multiple user identifiers are matched with different usage amounts at pre-set intervals, the control command information matched to each of the multiple user identifiers is changed to another control command information that was previously matched to another user identifier at each interval.
2. The transaction method using virtual code according to claim 1, characterized in that, It also includes the following steps: The virtual code verification unit updates the period information stored in the virtual code verification unit every preset period. Specifically, when the virtual code verification unit updates the periodic information, it makes the control command information stored that matches each of the plurality of user identifiers match and store user identifiers that are different from each other.
3. The transaction method using virtual codes according to claim 2, characterized in that, It also includes the following steps: The virtual code verification unit verifies the virtual code using the stored periodic information.
4. The transaction method using virtual code according to claim 3, characterized in that, The steps to verify the virtual code include the following: The virtual code verification unit extracts periodic information from the virtual code; and The virtual code verification unit compares the extracted periodic information with the periodic information stored in the virtual code verification unit to verify the validity of the virtual code.
5. The transaction method using virtual code according to claim 4, characterized in that, The step of updating the periodic information stored in the virtual code verification unit includes the following steps: The virtual code verification unit updates the periodic information from the first period to the second period; and The virtual code verification unit changes the storage location of the control command information, so that the control command information stored in the first period that matches a specific user identifier matches a user identifier that is different from the specific user identifier in the second period.
6. The transaction method using virtual code according to claim 5, characterized in that, The steps to verify the virtual code include the following: If the extracted period information is inconsistent with the second period stored in the virtual code verification unit, the virtual code verification unit confirms whether the extracted period information is consistent with the first period.
7. The transaction method using virtual codes according to claim 6, characterized in that, If the extracted period information is consistent with the first period, the step of executing the control command based on the extracted control command information includes the following steps: The virtual code verification unit executes control instructions corresponding to the control command information stored in the first cycle that matches the extracted user identifier.
8. The transaction method using virtual code according to claim 1, characterized in that, The plurality of detailed codes included in the virtual code include: The first code sets the starting position for the search storage location; and The second code sets the search path from the starting position to the storage position according to a specific search method.
9. The transaction method using virtual codes according to claim 1, characterized in that, The virtual code verification unit verifies the virtual code by the following steps: The virtual code verification unit extracts the inherent value of the virtual code verification unit from the virtual code; and The virtual code verification unit compares the extracted intrinsic value with the intrinsic value stored in the virtual code verification unit to verify the validity of the virtual code.
10. A recording medium storing a trading program utilizing virtual code, the trading program being combined with a computer as hardware to perform the method according to any one of claims 1 to 9.
11. A virtual code generation device for transactions, characterized in that, include: The detailed code generation unit uses the user identifier corresponding to the amount of usage of the virtual code verification device requested by the user from among the multiple user identifiers stored in the virtual code generation device as seed data to generate one or more detailed codes; The virtual code generation unit uses a virtual code generation function to combine one or more detailed codes to generate virtual code. as well as The virtual code providing unit transmits the virtual code to the virtual code receiving device or the virtual code verification device. Each of the plurality of user identifiers is matched with control command information representing a different amount of usage for the virtual code verification device. In a manner where the multiple user identifiers are matched with different usage amounts at pre-set intervals, the control command information matched to each of the multiple user identifiers is changed to another control command information that was previously matched to another user identifier at each interval.
12. A virtual code verification device for transactions, characterized in that, include: The virtual code receiving unit receives virtual code generated from the virtual code generating device. The detailed code extraction unit extracts multiple detailed codes from the virtual code; The storage location search unit searches for the storage location identified by the user based on the plurality of detailed codes; The control command information extraction unit extracts control command information that matches the searched user identifier; The virtual code verification unit verifies the virtual code; as well as The control unit executes control based on the extracted control command information. The virtual code is generated by combining the plurality of detailed codes, which are generated based on the user identifiers stored in the virtual code generation device that correspond to the usage amount requested by the user for the virtual code verification device. Each of the plurality of user identifiers is matched with control command information representing a different amount of usage for the virtual code verification device. In a manner where the multiple user identifiers are matched with different usage amounts at pre-set intervals, the control command information matched to each of the multiple user identifiers is changed to another control command information that was previously matched to another user identifier at each interval.
13. The virtual code verification device for transactions according to claim 12, characterized in that, The detailed code extraction unit extracts periodic information from the virtual code. The virtual code verification unit compares the extracted periodic information with the periodic information stored in the virtual code verification device to verify the validity of the virtual code.