Device and method for virtual authentication code-based process authorization

By generating virtual authentication codes at the user terminal and using the server-side storage location search algorithm for user authentication, the problem of frequent login by existing OTP authentication methods is solved, and a safer and more convenient user authentication process is achieved.

JP2025061381AActive Publication Date: 2025-04-10SSENSTONE INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025006003
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-02-24
Filing Date
2025-01-16
Publication Date
2025-04-10
Estimated Expiration
2041-02-24

AI Technical Summary

Technical Problem

The existing OTP authentication method requires users to log in and authenticate each time they log in. In a non-face-to-face environment, it is difficult to confirm the identity of the representative when authorized by the enterprise representative, which poses a security risk.

Method used

By generating virtual authentication codes at the user terminal and using the server-side storage location search algorithm to find relevant user authentication information, user authentication and process approval can be carried out without every login.

Benefits of technology

It realizes the generation of a new virtual authentication code every time the authentication is requested, avoids the reuse of authentication code, enhances the security and convenience of user authentication, and reduces the fatigue of users during financial transactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025061381000001_ABST
    Figure 2025061381000001_ABST
Patent Text Reader

Abstract

To provide procedure approval method and system based on a virtual authentication code that provide the virtual authentication code that is not generated duplicatedly each time user authentication for authenticating a procedure is requested but is newly generated at a unit count interval.SOLUTION: A method is executed by a server, and includes the steps of: receiving, by the server, a virtual authentication code, and being requested for procedure approval; searching for a storage location of user authentication information related to a user in a storage location search algorithm, based on the virtual authorization code; extracting user authentication information stored in the storage location; authenticating the user based on the user authentication information; and approving the procedure when the user authentication is completed.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a device and method for approving a procedure based on a virtual authentication code, and more particularly to a method and device for generating a virtual authentication code for each user, the virtual authentication code being generated so as not to be duplicated at each point in time, authenticating the user based on the virtual authentication code, and approving a procedure requested by the user. [Background technology]

[0002] OTP (one time password) is a user authentication method that uses a one-time password that is generated randomly. The OTP authentication method is a system introduced to strengthen security, and it can overcome security vulnerabilities caused by the repeated use of the same password to generate a one-time password and perform user authentication every time you log in.

[0003] However, the existing OTP authentication method starts by logging in by inputting a password, and after identifying who the user is, generates an OTP using an OTP function assigned to the user, and completes the OTP authentication through the OTP, which has the disadvantage of requiring a user to log in every time the OTP authentication is performed. Therefore, an invention is needed that can generate an OTP and perform user authentication without the user having to log in every time authentication is requested.

[0004] Meanwhile, as of January 1, 2020, corporations can open corporate accounts without meeting the customer's name through an agent, such as a director or employee of the corporation. In other words, financial institutions can approve the opening of an account for a corporation if the corporate customer goes through a non-face-to-face real name verification procedure through an agent. However, this new policy also has its drawbacks and security vulnerabilities. The representative of the corporation must leave the official seal and documents to the agent. Therefore, there are concerns about theft of the name, and there remains the problem that it is difficult to verify the name of the representative if the agent forges the representative's signature or steals the name.

[0005] To this end, there is a need for a method of generating identification information capable of identifying the representative and the agent who has been delegated the authority to use the corporate bankbook, and identifying each representative and agent based on the identification information to proceed with financial procedures. In particular, in the case of identification information, it is preferable to generate and provide a virtual code to prevent leakage to a third party. Currently, many financial transactions are performed via computers and mobile terminals, and repetitive authentication procedures every time a financial transaction is performed can make users feel tired when using the program or application. Therefore, there is a need for a method of simplifying user authentication using only one identification information generated based on user information.

[0006] However, the necessity of such a solution is not limited to the above-mentioned financial transactions. When a procedure that requires the approval of a superior is carried out in a specific company or institution, approval or authorization for the procedure can be requested through a virtual code that can authenticate the superior.

[0007] However, so far, no suitable authentication method, especially a suitable method using virtual codes, has been presented for various financial transactions and procedures, including the aforementioned corporate passbook opening. Summary of the Invention [Problem to be solved by the invention]

[0008] An object of the present invention is to provide a procedure approval device and method based on a virtual authentication code.

[0009] The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description. [Means for solving the problem]

[0010] According to one aspect of the present invention for solving the above-mentioned problems, a non-face-to-face procedure approval device and method thereof based on a virtual authentication code is a method performed by a procedure approval server (hereinafter referred to as "server"), and includes a step of the server receiving a virtual authentication code (the virtual authentication code is generated by a virtual authentication code generation function in a user terminal) and being requested to approve the procedure, a step of the server searching a storage space of user authentication information related to the user in a storage location search algorithm based on the virtual authentication code, a step of the server extracting user authentication information stored in the storage location and authenticating the user based on the user authentication information, and a step of approving the procedure if the user authentication is completed, wherein the procedure includes a plurality of types of procedures, each of the plurality of procedure types has an identification code for the procedure already set, the virtual authentication code is set at a specific time interval based on user identification information and the identification code, and is generated by changing for each unit count that is changed as the time interval elapses, and the procedure approval step approves the procedure only for a procedure corresponding to the identification code.

[0011] Alternatively, the virtual authentication code is generated by combining a first code and a second code included in a plurality of detailed codes according to a specific rule, and although there is a correlation between the first code and the second code, the first code determines a search starting point for the storage location in the server, and the second code determines a search path for the storage location from the search starting point.

[0012] Alternatively, the validity time data of the virtual authentication code is set via the user terminal, and a third code included in a plurality of detailed codes is further generated based on the validity time data, and the virtual authentication code is generated by combining the first code, the second code and the third code according to a specific rule.

[0013] Alternatively, the virtual authentication code includes a virtual security code generated based on time data when the virtual authentication code was generated or time data when the procedure approval was requested by the user terminal, and the server further verifies the virtual authentication code based on the virtual security code. Alternatively, the virtual authentication code may be generated based on any one of card data provided to the user terminal and biometric data provided to the user terminal.

[0014] Alternatively, the virtual authentication code according to a first type of procedure among the multiple procedure types includes a first virtual authentication code and a second virtual authentication code, the first virtual authentication code is generated by a first virtual authentication code generation function in a first user terminal based on first user information, and the second virtual authentication code is generated by a second virtual authentication code generation function in a second user terminal based on second user information, the step of requesting procedure approval includes receiving the first virtual authentication code and the second virtual authentication code and requesting procedure approval of the first type, and the procedure approval step approves only if the respective procedure identification codes of the first virtual authentication code and the second virtual authentication code are identical.

[0015] Alternatively, the search step searches for a first storage location where the first user authentication information of the first user is stored in the storage location search algorithm based on the first virtual authentication code, and searches for a second storage location where the second user authentication information of the second user is stored in the storage location search algorithm based on the second virtual authentication code, but the first storage location and the second storage location are set so as not to overlap based on the unit count.

[0016] Alternatively, the server may further include a step of receiving second user information related to the first type of procedure from the first user terminal, and the first virtual authentication code may be generated based on the second user information provided from the first user terminal, and the authentication step may compare the second user information provided from the first user terminal with second user authentication information extracted from the second storage location searched based on the second virtual authentication code, to authenticate the second user related to the first type of procedure.

[0017] According to another aspect, a procedure approval device based on a virtual authentication code includes a communication unit that receives a virtual authentication code and is requested to approve a procedure, a detail code extraction unit that extracts one or more detail codes included in the virtual authentication code, a storage location search unit that searches for a storage location where user authentication information is registered in a storage location search algorithm based on the extracted one detail code, a user verification unit that extracts the user authentication information and authenticates the user, and a procedure approval unit that approves the procedure if the user authentication is completed, wherein the procedure includes a plurality of types of procedures, each of the plurality of procedure types has an identification code corresponding to the procedure already set, and the virtual authentication code is generated by being changed for each unit count that is set at a specific time interval based on the identification code and changes as the time interval elapses.

[0018] In addition, other methods and systems for implementing the present invention, and a computer readable recording medium having a computer program for carrying out the method may also be provided. Effect of the Invention

[0019] The present invention as described above has a variety of effects as follows.

[0020] First, each time a user requests user authentication to authenticate a procedure, the user can provide a virtual authentication code that is not duplicated but is newly generated at a unit count interval.

[0021] Secondly, by comparing the time when a virtual authentication code is newly generated by the virtual authentication code generating means at a unit count interval with the time when the virtual authentication code is received by the virtual authentication code verification device, it is possible to confirm whether the virtual authentication code generated by the virtual authentication code generating means is a code generated at the current time, i.e., whether a user has requested user authentication for approval of a financial transaction by using the virtual authentication code generated at the current time.

[0022] Third, the server can use the virtual authentication code to extract user information stored in the server, thereby identifying the user making the authentication request without the user having to log in separately when requesting user authentication.

[0023] Fourth, a new virtual authentication code is generated for each unit count, so that duplicated virtual authentication codes do not appear within a set total period, and the procedure for generating a virtual authentication code from which user information can be extracted in the server is randomized, thereby providing the effect of preventing user information from being leaked even when the virtual authentication code is leaked.

[0024] Fifth, a virtual authentication code generation function is stored in a virtual authentication code generation device (e.g., a user terminal) that generates a virtual authentication code, and an algorithm for verifying the virtual authentication code is added to a virtual authentication code verification device (e.g., a server) that uses the virtual authentication code to extract user information and verifies whether the virtual authentication code is a normal code, so that the algorithm for generating and verifying the virtual authentication code can be prevented from being leaked.

[0025] Sixth, according to the present invention, since it is only necessary to add an algorithm for generating a virtual authentication code and searching for user authentication information, the existing process can be maintained as it is. Therefore, the parts that need to be changed in the existing process to improve security can be minimized, and the user does not need to perform a separate step to improve security.

[0026] The effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description. [Brief description of the drawings]

[0027] [Figure 1] FIG. 1 is a block diagram of a procedure approval system using a virtual authentication code according to an embodiment of the present invention. [Diagram 2] 1 is a flowchart illustrating a procedure approval method based on a virtual authentication code according to an embodiment of the present invention. [Diagram 3] FIG. 2 is a block diagram of a virtual authentication code generating means according to an embodiment of the present invention. [Figure 4] 1 is an example diagram illustrating a financial transaction based on a virtual authentication code according to an embodiment of the present invention; FIG. [Diagram 5] 1 is a configuration diagram of a virtual authentication code verification device according to an embodiment of the present invention; [Figure 6] FIG. 2 illustrates how a K-gon storage location search algorithm searches for a storage location of user authentication information according to an embodiment of the present invention. [Figure 7] 2 is an exemplary diagram of a user authentication method involving a first type of procedure according to an embodiment of the present invention; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0028] The advantages, features, and methods of achieving the present invention will become clearer with reference to the following detailed description of the embodiments in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, and may be embodied in various different forms. The present embodiments are provided solely for the purpose of making the disclosure of the present invention complete and fully conveying the scope of the present invention to those skilled in the art to which the present invention pertains, and the present invention is only defined by the scope of the claims.

[0029] The terms used in this specification are for describing the present embodiment and are not intended to limit the present invention. In this specification, the singular form includes the plural form unless otherwise specified in the text. The terms "comprise" and / or "comprising" used in the specification do not exclude the presence or addition of one or more other components other than the components mentioned. The same reference numerals refer to the same components throughout the specification, and "and / or" includes each of the components mentioned, and any combination of one or more. Even if terms such as "first" and "second" are used to describe various components, it goes without saying that the components are not limited by these terms. These terms are merely used to distinguish one component from another. Therefore, it goes without saying that the first component mentioned below is also the second component within the technical spirit of the present invention.

[0030] Unless otherwise defined, all terms (including technical and scientific terms) used in this specification are used in the same manner as those skilled in the art to which the present invention belongs. In addition, commonly used and predefined terms are not to be interpreted ideally or excessively unless expressly and specifically defined.

[0031] In this specification, "user authentication" refers to a procedure for authorizing a user to pass through an online or offline area where security is required, such as entry, exit, login, or financial transaction.

[0032] As used herein, a "financial transaction" refers to a procedure carried out with a financial institution. A "financial transaction" includes card payments, deposits and withdrawals from a bank account, opening a bankbook, and the like.

[0033] In this specification, a "character" is a component that constitutes a code, and includes all or part of uppercase alphabets, lowercase alphabets, numbers, and special characters.

[0034] In this specification, a "code" refers to a string of characters.

[0035] In this specification, the term "virtual authentication code" refers to a number generated by the virtual card number generating means based on information provided by the user, and a code used to search for the user's authentication information by the virtual card number verifying means. In other words, the term "virtual authentication code" refers to a virtual code temporarily assigned to each unit count so that the user can be authenticated after searching and extracting the authentication information.

[0036] In this specification, the term "detailed code" refers to a part of the code contained in the virtual card number.

[0037] In this specification, a "unit count" is a unit that is set to a specific time interval and is defined to change as the time interval elapses. For example, 1 count is used even if it is set to a specific time interval (e.g., 1.5 seconds).

[0038] As used herein, "virtual authentication code generation function" refers to a function used to generate a virtual authentication code.

[0039] In this specification, "rolling movement" refers to an object moving in a translating manner while rotating. In other words, "rolling movement" refers to a movement in which both rotational and translating movements are performed, and each point of the rotating object moves while touching the axis of movement in order.

[0040] In this specification, "storage location" refers to a point (count) on the track corresponding to the time when user authentication information is registered by the user on the server or when user information is first received by the server by the virtual authentication code generation means.

[0041] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0042] FIG. 1 is a configuration diagram of a procedure approval system using a virtual authentication code according to an embodiment of the present invention.

[0043] As shown in FIG. 1, the procedure approval system using a virtual authentication code includes a virtual authentication code generating means 10 and a virtual authentication code verifying means 20.

[0044] As used herein, "authority" refers to the right or qualification required to approve a procedure requested by a user in a specific field, procedure, or transaction. Authorization is performed through user authentication based on a virtual authentication code in that field.

[0045] In addition, a "procedure approval request" by a user is a request for approval of a specific procedure in a specific technical field or industrial field related to the user. For example, it may be a request to the server of a financial institution to approve each financial transaction, such as logging in, transferring funds to an account, or depositing and withdrawing funds via an application or program provided in the field of financial transactions. In addition, a "procedure approval request" may also be made offline. For example, when a user displays his / her virtual authentication code on a document and visits a financial institution to submit the document, an employee of the financial institution requests the server of the financial institution to authenticate the user and approve the procedure related to the financial transaction corresponding to the document, and finally requests the procedure approval.

[0046] Moreover, it will be obvious to those skilled in the art that a "procedure approval request" is not limited to financial transactions. For example, a request for "user verification" and "authority verification" required for approval of a specific procedure in a business procedure within a company or institution is an example of such a request.

[0047] In this specification, in order to aid in understanding the invention, a "financial transaction" will be described as an example in relation to "procedure approval", but this is not intended to limit the present invention.

[0048] The virtual authentication code generation means 10 means a device in which a dedicated program or dedicated application (hereinafter, "dedicated program") for generating a virtual authentication code based on user information is built-in or installed. The virtual authentication code generation means 10 generates a virtual authentication code including information that allows the virtual authentication code verification means 20 described later to search for the user's authentication information. More specifically, the virtual authentication code is generated by a virtual authentication code generation function based on the user information. In the following, for the sake of understanding the present invention, the virtual authentication code generating means 10 will be described in terms of a user terminal 100.

[0049] The virtual authentication code verification means 20 searches for a storage location where the user's authentication information is registered within the virtual authentication code verification means 20 based on the virtual authentication code generated by the virtual authentication code generation means 10, extracts the user authentication information stored in that location, and then performs authentication of the user who has requested approval for the financial transaction based on the extracted user authentication information.

[0050] Also, the virtual authentication code verification means 20 verifies whether the virtual authentication code is a normally generated code based on the time when the virtual authentication code is received and the time when the virtual authentication code is generated by the virtual code generation means 20, i.e., the user terminal 100. The virtual authentication code verification means 20 can store the same virtual authentication code generation function as the virtual authentication code generation means 10 in order to search for user authentication information from the virtual authentication code received from the virtual authentication code generation means 10. Meanwhile, a method of verifying the virtual authentication code and authenticating the user will be described in detail later. Hereinafter, for the purpose of understanding the present invention, the virtual authentication code verification means 20 will be described as a financial transaction settlement server 200 (hereinafter, "server").

[0051] In one embodiment of the present invention, a program dedicated to the virtual authentication code is provided with user data for generating a virtual authentication code by a user.

[0052] In this case, in one embodiment of the present invention, the virtual authentication code dedicated program may be a dedicated program or application provided by a specific financial institution's server, or may be a dedicated program or application required for performing a specific procedure. For example, a user may register user information in a financial institution's server through a dedicated program or application provided by the specific financial institution.

[0053] For example, when user information (resident registration number, mobile phone number, etc.) provided to the dedicated program for membership registration is provided to the financial institution's server via the program or application, the financial institution's server stores the user information in a specific account.

[0054] Meanwhile, in one embodiment of the present invention, the user information also includes the user's biometric information. For example, the user's facial information, fingerprint information, etc., correspond to the user's biometric information. The biometric information is registered in the financial company server 20 together with the user's other user information during the user's membership registration process, but may also be registered separately during the additional setting process of the user authentication means. Here, it goes without saying that the biometric information is stored in the same account as the other user information already stored, even during the registration through such an additional setting process.

[0055] Meanwhile, in another embodiment of the present invention, the user information may be card data of the user registered in the financial institution server 200. For example, when a user tags a card issued by a specific financial institution to the user terminal, the card data stored in the IC chip of the card is transmitted to the user terminal 100. At this time, the user terminal 100 generates a virtual authentication code based on the card data. This is not limited to the financial institution server, but may also be performed via a user's card issued by a specific company, enterprise, or institution, whose data is registered in the server.

[0056] In one embodiment of the present invention, the dedicated program generates a virtual authentication code for user authentication using user information provided by the user. The dedicated program includes a virtual authentication code generation function and generates a virtual authentication code using all or a part of specific user information among a plurality of pieces of user information.

[0057] For example, the dedicated program can use card data provided by the user as seed data for a virtual authentication code generation function to generate a virtual authentication code. Also, for example, the dedicated program can use a combined serial number obtained by combining the card data and the serial number of the dedicated program as seed data for the virtual authentication code generation function.

[0058] In one embodiment, the dedicated program serves to register user information in the server as described above. That is, the user registers user information in the dedicated program built into or installed in the user terminal 100, and the dedicated program transmits the user information to the server 200 for registration.

[0059] In a specific example, the dedicated program receives user information from a user or generates user information based on the user's login information for the dedicated program, and then transmits the user information to the server 200.

[0060] When the server 200 registers user information in a specific account, the dedicated program receives a virtual authentication code generation function or setting data for identifying the virtual authentication code generation function from the server 200. Through this, the dedicated program also includes a virtual authentication code generation function that generates a virtual authentication code that can be searched for in the server 200 the specific account in which the user information is registered.

[0061] In addition, the server 200 stores the user information provided by the dedicated program or the user information already stored in the server 200 in a specific account at the request of the dedicated program. Meanwhile, at least one of the above-mentioned user information is registered in the server 200, and the specific user information registered in the server is used for user authentication, so it will be described below as user authentication information.

[0062] 2 is a flow chart illustrating a procedure approval method based on a virtual authentication code according to an embodiment of the present invention, and FIG 3 is a block diagram of a virtual authentication code generating means according to an embodiment of the present invention.

[0063] Referring to FIG. 2, the financial transaction settlement server 200 receives a virtual authentication code from the user terminal 100 and is requested to approve the procedure (S510).

[0064] In this case, as an embodiment of the present invention, the virtual authentication code is generated by a virtual authentication code generating function in the user terminal 100, which is one of the virtual authentication code generating means 10. Hereinafter, a method for generating a virtual authentication code will be described with reference to FIG. Referring to FIG. 3, the virtual authentication code generating means 10 includes a detailed code generating unit 110, a virtual authentication code generating unit 120, a communication unit 130 and a memory 140.

[0065] In one embodiment, the virtual authentication code generating means 10 is also a user terminal 100 in which a program (that is, an application) for generating a virtual authentication code for user authentication is installed.

[0066] The detail code generating unit 110 serves to generate one or more detail codes based on user information. The virtual authentication code generating function includes one or more detail code generating functions. For example, if the virtual authentication code includes multiple detail codes, the virtual authentication code generating function uses multiple detail code generating functions to generate multiple detail codes, and uses a detail code combining function to combine the multiple detail codes to generate the virtual authentication code.

[0067] At this time, the virtual authentication code is generated for each unit count by a virtual authentication code generating means 10, i.e., a dedicated program built into or installed in the user terminal 100, and may be a mobile OTP (mOTP: mobile one time password).

[0068] As an embodiment of the present invention, the virtual authentication code generating means 10 may use the resident registration number of the user information as one of the seed data of the virtual authentication code generating function. As a specific example, the detail code generating unit 110 uses one detail code generating function and generates each detail code by using a combined serial number, which is a combination of the resident registration number stored in the memory 140 and the serial number of a dedicated program built in or installed in the virtual authentication code generating device 100, as seed data of each detail code generating function. At this time, the detail code generating unit 110 may also generate each detail code by using the time when the user authentication is requested by the user or a count value.

[0069] More preferably, the virtual authentication code generating means 10 does not store user information in a memory (not shown), but receives the user information each time a virtual authentication code is generated. For example, the above-mentioned card data-based virtual authentication code may be an example of this. To generate the virtual authentication code, the virtual authentication code generating means 10 requests the user to provide card data. Then, the virtual authentication code generating means 10 generates a virtual authentication code based on the card data input by the user.

[0070] In one embodiment, the detail code generating unit 110 may include a first function and a second function as a detail code generating function to generate a first code and a second code. In this case, in order to enhance security, the virtual authentication code generating means 10 only includes the first function for generating the first code and the second function for generating the second code as a detail code generating function, but does not include data related to the correlation between the first code and the second code.

[0071] The virtual authentication code generating unit 120 combines one or more detail codes using a virtual authentication code generating function to generate a virtual authentication code. In one embodiment, the virtual authentication code is generated by combining a plurality of detail codes according to a specific rule. The virtual authentication code generating function includes a rule for combining a plurality of detail codes (i.e., a detail code combining function). That is, the virtual authentication code generating unit 120 can combine one or more detail codes using the detail code combining function included in the virtual authentication code generating function.

[0072] Various methods may be applied to combine multiple detail codes to generate one virtual authentication code. As an example of a detail code combining function, the virtual authentication code generating unit 220 may generate a virtual authentication code by alternately arranging a first code of N digits and a second code of N digits. As another example, the detail code combining function is a function that combines the second code after the first code. As the number of detail codes included in the virtual authentication code increases, the detail code combining function may also be generated in various ways.

[0073] In addition, as an embodiment, when the virtual authentication code is generated by combining a first code and a second code according to a specific rule, the first code and the second code can each play a role in searching for the storage location of the user authentication information in the storage location search algorithm where the user information is stored. For example, the first code sets a starting point for searching the storage location, and the second code sets a search path from the starting point to the storage location of the user authentication information according to a specific search method. That is, when a normally generated virtual authentication code is provided for each unit count in the virtual authentication code generating means 10, the virtual authentication code verifying means 20 determines that a point moved from the search starting point corresponding to the first code included in the virtual authentication code along the search path corresponding to the second code is a point where the user information is stored (i.e., the storage location of the user authentication information). A specific method of searching for the storage location of the user authentication information based on the first code and the second code constituting the virtual authentication code will be described later.

[0074] As an embodiment of a method in which the detail code generating unit 110 generates a detail code, the detail code generating unit 110 generates a new detail code for each unit count, and the virtual authentication code generating means 10 generates a new virtual authentication code for each unit count. The virtual authentication code newly generated for each unit count is not generated in a duplicated manner. Specifically, the detail code generating unit 110 can be set so that the virtual authentication code newly generated for each unit count is not only not generated in a duplicated manner for a specific user or a specific virtual authentication code generating means 10 during a specified period, but also not generated in a duplicated manner among users belonging to a specific group.

[0075] In a specific embodiment for preventing duplicate generation of a virtual authentication code, when a first code or a second code of N digits is generated by M characters, the detailed code generation function included in the virtual authentication code generation function is M N Each code can be generated as a first code or a second code, and each code is matched for each count from the initial time when the detailed code generation function is driven. For example, when the unit count is set to 1 second, M different codes are generated for each second from the initial time when the detailed code generation function is driven. N Then, the period for using a specific detailed code generation function or the period for using the virtual authentication code generation means 10 (for example, the validity period of a user terminal in which an application for generating a virtual authentication code is installed) is set to M N The time length that corresponds to the count (for example, if 1 count is 1 second, M N If the time length is set to be shorter than 100 s, the first code or the second code will not be generated repeatedly during the usage period. That is, when the count increases over time, if the user accesses the user authentication information at a specific time and requests the virtual authentication code generation means 10 to generate a virtual authentication code, the virtual authentication code generation means 10 can generate a code value matching the count corresponding to the specific time as the first code or the second code.

[0076] Specifically, when alphabet capital letters and numbers from 0 to 9 are used as characters that can be included in the code (i.e., 36 characters are used), and 6 digits are assigned to each of the first code and the second code, the virtual authentication code generating means 10 generates 36 characters as the first code and the second code. 6 In this case, the virtual authentication code generating means 10 can match each code for each count and provide the first code and the second code that are changed for each count.

[0077] In another specific embodiment for preventing duplicated generation of virtual authentication codes, when the use period of the virtual authentication code generating means 10 has elapsed, a function (i.e., the first function or the second function) for generating the first code or the second code is changed, or a matching relationship between the first code and the second code is changed, so that a virtual authentication code different from that in the previous use period is generated. When the virtual authentication code is a combination of the first code generated by the first function and the second code generated by the second function, if the first code generating function or the second code generating function is changed, the virtual authentication code generating means 10 can apply a virtual authentication code generating function to a new use period, which generates a virtual authentication code different from that in the previous period because the procedure in which the first code or the second code appears is different from that in the previous use period. In addition, the virtual authentication code generating means 10 can select the first function and the second function so that the same code as the virtual authentication code used in the previous use cycle does not appear as the virtual authentication code of each count in the new use 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 relationship included in the previous use cycle in all counts of the new use cycle). N After the usage period during which each code can be applied once has elapsed, the virtual authentication code generation function can be adjusted or updated to apply a virtual authentication code generation function for a new usage period that does not generate a virtual authentication code that overlaps with the previous usage period.

[0078] In addition, as another specific embodiment for preventing duplicated generation of virtual authentication codes, in order to prevent duplicated virtual authentication codes from being generated regardless of the user during the entire period, the first code is set as a code value corresponding to the time (or count) when the virtual authentication code generation is requested among the codes matched for each count from the initial time when the first function is driven, and the second code is set as a code value generated by reflecting a value that always exists differently at the same time for each user authentication information 10 (i.e., the user's resident registration number, mobile phone number, set password, etc.), and the virtual authentication code can be used as a code value obtained by combining the first code and the second code. The first code has a different code value for each count, and the second code has a different code value for each virtual authentication code generating means 10 at the same time, and the virtual authentication code obtained by combining the first code and the second code is output as a different code value at every time for every user.

[0079] In another embodiment, the virtual authentication code generation function (or the detailed code generation function) applies any one of a number of enumeration rules for arranging M characters in ascending order. That is, the virtual authentication code generation means 10 can apply various rules for arranging M characters in ascending order to the detailed code generation function included in the virtual authentication code generation function. For example, the enumeration rule for arranging uppercase alphabet characters in ascending order can be the general order A, B, C, ..., Z, or the order A, C, B, ..., Z. In the virtual authentication code generation function, since the enumeration rule is different, the order in which the codes are matched to each counter in order will be different from the initial point when the virtual authentication code generation function is driven.

[0080] In addition, in one embodiment of the present invention, the virtual authentication code further includes a virtual security code. For example, the virtual authentication code includes a plurality of detail codes and a virtual security code. The security code of the virtual authentication code is used to verify whether the virtual authentication code is normal. To this end, although not clearly shown in the drawings, the virtual authentication code generating means further includes a security code generating function. At this time, the security code generating function generates a security code of a specific number of digits using time data and user information as function values. The time data may be a time when the user terminal requests user authentication and approval of a financial transaction. However, the time data is not limited thereto. Meanwhile, a method of verifying the virtual authentication code based on the virtual security code will be described in detail below.

[0081] In one embodiment of the present invention, the virtual authentication code generating means 10 can set a time stamp of the generated virtual authentication code. That is, the time stamp is set for the generated virtual authentication code to be used for user authentication. At this time, the time stamp of the virtual authentication code is set to be different depending on the financial transaction type.

[0082] Also, as an embodiment of the present invention, the virtual authentication code generating means 10 may further include a third detail code generating function, and may generate the third detail code by applying the validity time data to the third detail code generating function. In this case, the first detail code, the second detail code, and the third detail code are combined according to a specific rule by the detail code combining function. In this case, the virtual authentication code verifying means 20 may apply the received virtual authentication code to the detail code combining function to extract the third detail code related to the validity time data. Then, it is determined whether the time when the virtual authentication code is received from the user terminal 100, which is the virtual authentication code generating means 10 (the time when the financial transaction approval is requested) is within the validity time data. If the time when the virtual authentication code is received is outside the validity time data, the financial transaction requested by the user terminal 100 is not approved. This prevents the virtual authentication code from being repeatedly used, improves security, and prevents the use of the virtual authentication code even if the virtual authentication code is leaked to a third party.

[0083] The virtual authentication code providing unit 130 provides the generated virtual authentication code to the virtual authentication code verifying means 20 to request user authentication. More precisely, it transmits the virtual authentication code to the server 200 to request approval of a specific financial transaction.

[0084] Meanwhile, although not clearly shown in the drawings, the virtual authentication code providing unit 130 may include all or some of a wireless Internet module, a short range communication module, an IC chip, a magnetic field generating unit, and a display unit.

[0085] The wireless Internet module refers to a module for wireless Internet connection, and may be built into or external to the mobile terminal 100. Examples of the wireless Internet technology that may be used include wireless local area network (WLAN) (Wi-Fi), wireless broadband (Wibro), world interoperability for microwave access (Wimax), high speed downlink packet access (HSDPA), long term evolution (LTE), and long term evolution-advanced (LTE-A). For example, if the virtual authentication code generating means 10 is a mobile terminal having an application card application installed, when purchasing goods from a shopping application or shopping website, the virtual authentication code generating means 10 may transmit a virtual authentication code to the financial settlement server 20 via a payment settlement service server (i.e., PG's server) by wireless Internet communication.

[0086] The short-range communication module is a module for short-range communication. Short-range communication technologies that can be used include Bluetooth (registered trademark), Bluetooth low energy (BLE), Beacon, radio frequency identification (RFID), near field communication (NFC), infrared data association (IrDA), ultra wide band (UWB), ZigBee, and the like.

[0087] The display unit (not shown) may include at least one of a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and e-paper.

[0088] As an embodiment of the present invention, the virtual authentication code providing unit 130 outputs a virtual authentication code to the outside. For example, when a user performs user authentication when making a payment based on the virtual authentication code, the virtual authentication code is output to a display unit (not shown) so that the user can visually confirm or copy the virtual authentication code and imprint it into another program or web page. That is, the user can imprint the virtual authentication code output on the screen of the user terminal 100 into a program or web page and provide the virtual authentication code to the financial company server 200.

[0089] The display unit visually outputs the virtual authentication code generated by the virtual card number generating unit 120 to the outside.

[0090] FIG. 4 is an example diagram illustrating a financial transaction based on a virtual authentication code according to an embodiment of the present invention.

[0091] 4, a user executes a program of the financial institution using a device other than the user terminal 100, which is the virtual authentication code generating means 10. In this case, the user can request approval of the login procedure based on the virtual authentication code 310 as an authentication means for login in addition to the existing authentication means such as a certified certificate, a UID (user identification) and a password. In this case, the user can request approval of the server 200 for the login by inputting the virtual authentication code generated through the user terminal 100 and displayed on the display unit into the device.

[0092] A limited usage period is set for the public certificate, which is an existing means of authenticating a user, and the user's UID (user identification). Therefore, when the usage period of the public certificate expires, an updated public certificate must be registered again, and the user's UID requires that the password be changed periodically. However, when a virtual authentication code is used, a unique virtual authentication code can be generated without such periodic updating and replacement, providing convenience to the user.

[0093] Besides, the virtual authentication code can be used for various financial transactions. For example, the user can perform a transfer transaction to a third party's account while executing a program of a specific bank through the user terminal 100. In this case, the server 200 requests the user to perform a user authentication procedure, and the user inputs the virtual authentication code generated through the user terminal 100 in the same manner as described above, and then requests approval for the transfer transaction. In this way, the user can quickly carry out a financial transaction based on one virtual authentication code generated through the user terminal 100, which is the virtual authentication code generating means 10, without repeated authentication procedures.

[0094] In one embodiment of the present invention, an identification code for each procedure type may be set in advance. For example, an identification code for identifying each procedure, such as logging in, transferring funds to an account, and opening a bankbook, may be set.

[0095] In this case, as an embodiment of the present invention, the virtual authentication code is also generated based on the identification code. Specifically, the virtual authentication code generating unit 120 can generate a virtual authentication code using card data provided by a user or an identification code related to a procedure type set through a user terminal as source data. Through this, the virtual authentication code generating means 10 can generate different virtual authentication codes according to each procedure type, user, and virtual authentication code generation time point.

[0096] For example, in the case of financial transactions, a user may be assigned an identification code according to the type of procedure, such as a login procedure, an account transfer procedure, a bankbook opening procedure, etc. In this case, it goes without saying that the same identification code is assigned to a plurality of procedures in one embodiment of the present invention.

[0097] Although not clearly shown in the drawings, the procedure approval method using a virtual authentication code according to an embodiment of the present invention further includes a step of the server registering user information. Through this, the server 200 sets a storage location for each user authentication information according to a count corresponding to the time of registering the user information. At this time, the storage location for each user authentication information is not set in a duplicated manner.

[0098] The user authentication information corresponds to the user information, and at least one of the pieces of user information inputted through the program is stored in the server 200. At this time, the at least one piece of stored user information is used in the user authentication process.

[0099] The server 200 searches for a specific user authentication information storage location within a storage location search algorithm based on the time when the user requests registration of the user information, and stores the user information for which registration has been requested (i.e., user information that possesses user authentication information) in the searched user authentication information storage location, thereby registering the user authentication information.

[0100] In this case, the user information is information directly input by the user via a user terminal in which a program dedicated to generating virtual authentication codes is built in or installed, and is also information generated based on the user login information of the program dedicated to generating virtual authentication codes.

[0101] FIG. 5 is a configuration diagram of a virtual authentication code verification device according to an embodiment of the present invention.

[0102] Referring back to FIG. 2, the server searches for a storage space of user authentication information related to the user in a storage location search algorithm based on the virtual authentication code (S520).

[0103] Although not clearly shown in the drawings, as an embodiment of the present invention, the server 200 may identify a procedure type and perform a step of verifying a virtual authentication code according to the procedure type, because a plurality of virtual authentication codes may be required depending on the procedure type, or a request for procedure approval based on a virtual authentication code may need to be made within a preset specific time from the time the virtual authentication code is generated.

[0104] The storage location search algorithm is matched with a virtual authentication code generation function included in a dedicated program built-in or installed in the virtual authentication code generating means 10 (i.e., user terminal), and allows searching for a user authentication information storage location based on at least one detailed code in the virtual authentication code. For example, when the virtual authentication code includes a first code for determining a search start point for the storage location and a second code for indicating a storage location direction from the search start point, the storage location search algorithm is an algorithm for adjusting a storage location that matches the registration time of the user authentication information to be located at a location corresponding to the first code when a direction corresponding to the second code is indicated at the location corresponding to the first code.

[0105] In the present invention, by using a storage location search algorithm that is matched with a virtual authentication code generation function, the virtual authentication code verification means 20 can search for a user authentication information storage location (i.e., a user authentication information registration account) and extract user information stored in the storage location even if the first code and the second code included in the virtual authentication 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.

[0106] The method of user authentication and financial transaction approval of the virtual authentication code verification device 20 will now be described with reference to FIGS.

[0107] As shown in FIG. 5 , the virtual authentication code verification means 20 includes a communication unit 210 , a detail code extraction unit 220 , a storage location search unit 230 , a user verification unit 240 , a virtual authentication code verification unit 250 and a procedure approval unit 260 .

[0108] The communication unit 210 receives a virtual authentication code from the user terminal 100 and is requested to authenticate the user and approve a specific procedure.

[0109] For example, in the case of a financial transaction, approval of a procedure for transferring funds to an account may be requested through the user terminal. At this time, the communication unit 210 may be provided with a virtual authentication code generated by a dedicated program built into or installed in the user terminal, and may be requested to authenticate the user. The detail code extracting unit 220 serves to extract one or more detail codes included in the virtual authentication code.

[0110] In one embodiment, the detail code extraction unit 220 includes a detail code combining function included in the virtual authentication code generation function. Therefore, when the virtual authentication code includes multiple detail codes, the detail code extraction unit 220 can apply the detail code combining function to extract the multiple detail codes from the virtual authentication code. For example, when the virtual authentication code generation means 10 generates a virtual authentication code in which two detail codes (i.e., a first code and a second code) are combined, the detail code extraction unit 220 can apply the detail code combining function to the character sequence of the virtual authentication code to separate the first code and the second code.

[0111] The storage location search unit 230 searches for a storage location where the user's authentication information is registered in a storage location search algorithm based on one or more extracted detail codes. The storage location search unit 230 may use various methods to search for a storage location of the user's authentication information based on each detail code. In order for the storage location search unit 230 to search for a storage location based on a plurality of detail codes, the detail codes may have a correlation between them.

[0112] Here, the storage location means a point (count) on the track corresponding to the time when the user requests the registration of user information through a dedicated program, as described above. That is, when the track related to the user authentication information is driven in the server 200 and a specific user requests the registration of specific user information at a specific time, the user authentication information is registered at the count corresponding to the time (i.e., the count elapsed from the final drive of the track to the registration time).

[0113] When the virtual authentication code is composed of a first code and a second code, as an embodiment having a correlation between the sub-codes, the storage location search unit 230 can determine a search start point corresponding to the first code, and obtain a point moved from the search start point along a search path corresponding to the second code as the storage location of the user authentication information. The virtual authentication code generation means 10 provides a new virtual authentication code for each unit count, so that the virtual authentication code verification means 20 can set a search start point and a search path based on the first code and the second code that change for each count, and search for the storage location of the user authentication information (i.e., the location where the user authentication information is registered).

[0114] The user verification unit 240 extracts the user authentication information stored in the storage location searched by the storage location search unit 230 and completes the user authentication. That is, since the virtual authentication code verification means 20 stores each user authentication information in a count corresponding to the time when the user authentication information is registered from each user in the storage location search algorithm, the user verification unit 240 can extract specific user information stored by matching with the specific user authentication information storage location in the storage location search algorithm. As a result, it is possible to confirm who the user who requested the user authentication is without having to log in separately at the time of user authentication.

[0115] FIG. 6 is a diagram illustrating a method for searching a storage location of user authentication information using a K-gon storage location search algorithm according to an embodiment of the present invention.

[0116] For example, referring to FIG. 6, the storage location search algorithm searches for M corresponding to the first code. N The k-gon (k is M) is a polygon in which k cords roll along a track. NWhen the vertices of the k-gon move while corresponding to the points where the code is arranged on the first code track, each vertex of the k-gon is matched with the storage position of the user authentication information, and the point where the first code track (i.e., the first track) and the k-gon correspond also becomes the storage position search start point corresponding to the first code. In this case, the storage position search unit 230 can apply a rolling movement to the k-gon so that the vertices of the k-gon contact the points corresponding to the first code extracted by the detailed code extraction unit 220. Through this, the storage position search unit 230 moves the k-gon at an angle corresponding to the second code (for example, 180° toward the vertices of the k-gon) at the position on the first track where the k-gon contacts. N By specifying the specific angle divided into k parts, it is possible to search for the vertices of a k-gon, which are the storage locations where the user authentication information corresponding to the virtual authentication code is stored.

[0117] Specifically, as shown in Fig. 6, the virtual authentication code verification means 20 rolls a k-gon to a point corresponding to the first code (i.e., moves the k-gon so that each vertex of the k-gon contacts each point on the track in order), and then the virtual authentication code verification means 20 indicates an angle direction corresponding to the second code and searches for a vertex corresponding to the storage position.

[0118] In addition, as another example, when the k-gon is in contact with a point on the first track corresponding to the first code, the server 200 may calculate the overall central angle (i.e., 360°) based on the center of the k-gon and the contact point on the first track. N Divide it into pieces and calculate the angles of each piece as M N In this case, a specific number of unit angles (i.e., 360° / M) are matched from the line connecting the center of the k-gon and the tangent point on the first track. N ) is a specific vertex of the k-gon. Therefore, when the second code corresponding to a specific angle is received, the server 200 can search for a vertex located in the direction of that angle.

[0119] As another example, a specific digit of the second code can be used to determine the angle calculation direction. That is, when a second code is generated using N characters (N is a natural number), the angle measurement direction can be determined by one digit. For example, when the server 200 divides the entire central angle (i.e., 360°) based on the center of the k-gon and the tangent point on the first track and matches the second code to each angle, it can determine, by the value of one digit, whether the angle is measured to the left or right from the line connecting the center of the k-gon and the tangent point on the first track.

[0120] As an example, the storage position search algorithm assigns different numbers of second codes to each vertex on the k-gon according to the angle measurement direction. That is, when a vertex is reached at an interior angle and when it is reached at an exterior angle, different second codes are matched, and the storage position of other user authentication information may be linked. As another example, when the storage position search algorithm uses N characters (N is a natural number) to generate a second code, it may use N-1 characters to match half of the entire angle (e.g., 360° when divided based on the central angle) and use one digit to determine the angle application direction to reach each vertex.

[0121] The method of searching for a storage position in a k-gon based on the second code is not limited to the above, and various methods can be applied, such as a method of searching for a point that divides a point on the k-gon corresponding to the second code and a junction on the first track at a specific ratio as a storage position.

[0122] According to another embodiment, when the virtual authentication code includes a first code and a second code that change for each unit count, the first code is generated based on the unit count that has elapsed since the server 200 first performed user authentication based on the virtual authentication code, and the second code is generated based on the unit count that has elapsed since each user registered user information through a dedicated program installed in the user terminal 100. In this case, the unit count is set to a specific time interval and is changed as the time interval elapses.

[0123] Specifically, when the virtual authentication code includes a first code generated based on the unit count elapsed from the initial point when the storage location search algorithm is started by driving a virtual authentication code-based user authentication service in a specific financial institution, and a second code generated based on the unit count elapsed from the point when the user information of each user is registered, as shown in FIG. 6, the server 200 sets the count on the track where the code value corresponding to the first code is matched as the search start point, and returns along the track from the search start point for a count value corresponding to the second code to search for the point on the track at the time when the user information was registered in the server 200 (i.e., the user authentication information storage location).

[0124] For example, the server searches for a point (or count) on a track for a first code where a first code in a virtual authentication code is assigned, sets a search start point, arranges a track for a second code in the reverse direction from the search start point, searches for a point (or count) where a second code in a virtual authentication code is assigned, and extracts a point (or count) on the track for the first code where user authentication information is registered.

[0125] Also, for example, the server 200 sets a search start point based on the first code in the virtual authentication code, and regresses to the second code in the virtual authentication code a count value calculated by applying the inverse function of the second function, thereby searching for a point corresponding to the time of registration of the user authentication information.

[0126] The virtual authentication code verification unit 250 performs the role of verifying the virtual authentication code by comparing the time when the communication unit 210 receives the virtual authentication code with the time when the virtual authentication code is generated using a virtual authentication code generation function in a virtual authentication code generation means (i.e., a user terminal).

[0127] In one embodiment, the virtual authentication code verification unit 250 compares the time when the virtual authentication code is received with the time when the virtual authentication code is generated using a virtual authentication code generation function in a dedicated program built into or installed in the user terminal, and if the generation time is within a preset error range from the reception time, it can determine that the received virtual authentication code is a normal code.

[0128] For example, in the case of financial transactions, it is assumed that the user terminal 100 generates a virtual authentication code used for user authentication for a user's account transfer at time t1. If the financial transaction settlement server 200 receives the virtual authentication code at time t2 via the communication unit 140 of the user terminal 100, the server 200 compares t1 with t2 to determine whether the received virtual authentication code is a normal code. If the difference between t1 and t2, or the difference between a first count value corresponding to t1 and a second count value corresponding to t2, falls outside a preset range, it is determined that the virtual authentication code was not generated normally. This makes it possible to prevent a third party from obtaining the user's virtual authentication code and then stealing it.

[0129] In addition, as another embodiment of a method for verifying a virtual authentication code, the first code and the second code are also codes related to a reference count added to a virtual security code (e.g., an OTP code) that is randomly generated from the time when user authentication information is registered by the user terminal 100 or when user authentication is requested (e.g., when the user terminal receives user authentication information data from the user authentication information, or when the user terminal generates a virtual authentication code as user authentication information data).

[0130] As a specific embodiment, the virtual authentication code generating means 10 does not output the virtual security code to the outside, but generates the virtual security code by reflecting it in the first code and the second code. The virtual authentication code generating means 20 (e.g., a program dedicated to generating virtual authentication codes) generates a virtual security code value (e.g., an OTP code) based on a serial number (i.e., a unique value) in the virtual authentication code generating means (i.e., the user terminal 200) and a part of the user information (e.g., card data, biometric data, etc.) or a combination of the user information and the serial number of a dedicated program, generates a first code with a count added with the virtual security code value at the time of registering the user authentication information, and generates a second code with a count corresponding to the virtual security code value (i.e., generates the virtual security code itself as the second code).

[0131] That is, the first code and the second code are generated by the user terminal 100 based on a count shifted by the virtual security code value from time A when the user authentication information 10 is registered in the server 200. The count shifted by the virtual security code value from time A becomes both a previous count and a future count of the count corresponding to the current time, depending on the virtual security code value generated.

[0132] The server, which is a virtual authentication code verification means, can search for the user authentication information storage location (or registration location) by applying the received first code and second code to a storage location search algorithm, thereby preventing a third party from checking the order in which the first code and second code constituting the virtual authentication code are provided, thereby improving security.

[0133] In another embodiment, the server 200, which is a virtual authentication code verification means, extracts a virtual security code from the second code generated based on the virtual security code, and then inputs a virtual security code generation function (i.e., OTP function) into a count within a specific range from the count at which the virtual authentication code was received to check whether there is a value that matches the virtual security code in the OTP number calculated. Then, the server 200, which is a virtual authentication code verification means, applies an inverse function of the second function to the second code, obtains a virtual security code value (i.e., OTP function value) used to generate the second code, and finds a count that calculates the same value as the virtual security code value.

[0134] Due to the transmission time and delays of the virtual authentication code, there is a difference between the time when the virtual security code is generated in the user terminal device 100, which is the virtual authentication code generation means 10, and the time when the server 200, which is the virtual authentication code verification means 20, receives the virtual security code, so the count when the virtual authentication code verification means 20 receives the virtual authentication code does not match the count when the OTP number corresponding to the virtual security code is generated.

[0135] For this purpose, the server 200 allows an error range from the count of the received virtual authentication code. This prevents the server 200 from authenticating the user with a previously generated virtual authentication code instead of a currently generated virtual authentication code, thereby improving security. In addition, the server 200 can autonomously search for the virtual security code and verify the user without the user having to input a specific digit of the virtual security code when inputting the virtual authentication code.

[0136] In another embodiment, the virtual authentication code generation means 10 may generate a first code corresponding to a count obtained by adding a virtual security code value generated using a serial number (i.e., a unique value) in the user terminal or the dedicated program and a part or a combination of the user information as seed data when user authentication is requested. In this case, a second code is generated corresponding to a count obtained by adding the virtual security code value and the count difference between the time when the user authentication information is registered (time A) and the time when user authentication is requested (time B). In other words, the formula for the virtual authentication code generation dedicated program to generate the first code and the second code is as follows: <Formula> 1st code = f1 (B point count + virtual security code) Second code = f2 (count at time B - count at time A + virtual security code) (Time A: when user authentication information is registered, Time B: when user procedure approval is requested, Virtual security code: OTP number)

[0137] The server 200, which is the virtual authentication code verification means 20, searches for the location where the user information is stored based on the first code and the second code in the received virtual authentication code, and extracts the seed data (i.e., a combination serial number that combines the serial number of the program dedicated to generating virtual authentication code or the user terminal, the user information, the serial number of the program dedicated to generating virtual authentication code, and the user information serial number, which is used when generating a virtual authentication code) stored at the same location. The server 200 generates a virtual security code (i.e., an OTP number) within a specific count range from the time of receiving the user authentication request based on the seed data.

[0138] Then, the server 200 searches for the location where the user information is stored based on the first code and the second code to ascertain the time of user authentication information registration (time A). The server calculates a calculation value corresponding to the sum of the count number and the virtual security code (i.e., OTP number) from the time of user authentication information registration (time A) to each count within a specific count range based on the time of receiving a user authentication request, and checks whether or not there is a count number corresponding to the second code (i.e., a value obtained by applying the inverse function of the second function to the second code) in each calculation value. Through this, the server can check whether or not the virtual authentication code has been normally provided.

[0139] The procedure approval unit 260 approves the procedure requested by the user terminal 10 when the virtual authentication code verification unit 250 completes the verification of the virtual authentication code.

[0140] In one embodiment, in the case of user authentication during an account transfer, once user authentication is completed by the user verification unit 240 and verification is completed by the virtual authentication code verification unit 250 successfully generating a virtual authentication code, the procedure approval unit 260 approves the account transfer, which is the financial transaction requested by the user.

[0141] In addition, in accordance with an embodiment of the present invention, depending on the field in which the procedure is used, multiple user authentications may be required. For example, multiple user authentication processes using multiple virtual authentication codes may be required to approve one financial transaction. This applies to financial transactions conducted through an agent.

[0142] According to an embodiment of the present invention, the financial transaction type requiring authentication processes involving multiple users based on multiple virtual authentication codes and one procedure approval is also set as a first type of financial transaction. For example, a request for procedure approval via an agent may correspond to this, but is not limited thereto.

[0143] As described above, the server 200 can identify the requested financial transaction type based on the virtual authentication code generated based on the identification code of the financial transaction type.

[0144] The virtual authentication code for the first type of financial transaction includes a first virtual authentication code and a second virtual authentication code. Here, the first virtual authentication code is generated by a first virtual authentication code generation function in a first user terminal based on first user information, and the second virtual authentication code is generated by a second virtual authentication code generation function in a second user terminal based on second user information. Here, a server receives the first virtual authentication code and the second virtual authentication code and is requested to approve the first type of financial transaction.

[0145] For example, a financial transaction such as opening a corporate bankbook may fall into this category. In order to carry out such a financial transaction through a corporate officer or employee, authentication of the specific officer or employee who is the corporate representative and agent is also required. To do this, the server receives a virtual authentication code provided by each representative and agent, and verifies each representative and agent.

[0146] In addition, in one embodiment of the present invention, the server may approve the first type of financial transaction only if the financial transaction identification codes of the first virtual authentication code and the second virtual authentication code are identical.

[0147] To further explain using the above example, the server can approve a financial transaction only if the financial transaction type identified based on each authentication code is the same. That is, even if user authentication of the corporate representative is completed based on the first virtual authentication code of the first user who is the corporate representative, and user authentication of the agent is completed based on the second virtual authentication code of the second user who is the agent, the financial transaction is not approved. If the identification code related to the financial transaction identified through the first virtual authentication code and the second virtual authentication code are the same, the server approves the financial transaction. This makes it possible to prevent the first virtual authentication code generated through the terminal of the corporate representative (first user) from being used by the agent (second user) for other financial transactions or from theft of the corporate representative.

[0148] In addition, in one embodiment of the present invention, in the case of a first type of financial transaction, the server searches for a first storage location where a first user authentication information of a first user is stored in a storage location search algorithm based on a first virtual authentication code, and searches for a second storage location where a second user authentication information of a second user is stored in the storage location search algorithm based on the second virtual authentication code. At this time, the first storage location and the second storage location may be set so as not to overlap with each other based on the unit count.

[0149] Specifically, according to the method for providing non-face-to-face financial transactions based on a virtual authentication code, each user's information is stored in the account corresponding to the time when each user requests user information registration. Therefore, as mentioned above, each user's information is not stored in duplicate. In this case, even if multiple users request user information registration at the same time, the server assigns a priority to the storage location allocation according to a preset criterion (e.g., user's UID, name, etc.) and stores each user's information in a different account.

[0150] FIG. 7 is an exemplary diagram of a method for authenticating a user for a first type of financial transaction according to an embodiment of the present invention.

[0151] 7, the embodiment of the present invention further includes a step of receiving second user information related to the first type of financial transaction from the first user terminal, and a second authentication step of a second user related to the first type of financial transaction based on the second user information provided from the first user terminal and the second user information extracted from a second storage location searched based on the second virtual authentication code.

[0152] Meanwhile, the second user information (e.g., the agent's mobile phone number, UID, etc.) may be stored together with the first storage location where the user information of the first user is stored, and may also be stored in another storage location connected to the first storage location. After completing authentication of the first user with the first user information extracted from the first storage location searched based on the first virtual authentication code, the server 200 extracts the second user information from the other storage location connected to the first storage location. Then, after extracting the second user information from the second storage location searched based on the second virtual authentication code, it compares it with the second user information provided by the first user terminal. Only if they are identical, the first type of financial transaction is approved.

[0153] In addition, the second user information may be stored by the server 200, which has received the first user information from the first user terminal, at the same time as registering the first user information, and the server 200 may also request the first user terminal to provide the second user information when generating a virtual authentication code for the first type of financial transaction requiring the above-mentioned multiple virtual authentication codes.

[0154] In this case, as an embodiment of the present invention, the first virtual authentication code is also generated based on the second user information provided from the first user terminal. That is, the second user information provided from the first user terminal can be used as source data for a virtual authentication code generation function. Through this, the server 200 can approve the financial transaction only if the second user information extracted from the first virtual authentication code is identical to the second user authentication information extracted from the second storage location searched based on the second virtual authentication code.

[0155] The above-described method for approving procedures based on a virtual authentication code according to an embodiment of the present invention is embodied in a program (or application) and stored on a medium in order to be executed in combination with a computer, which is hardware.

[0156] Through the above-described embodiment of the present invention, a user can generate different virtual authentication codes according to the type of procedure, time, and user information at any time, and the server can extract user authentication information related to the user based on the virtual authentication codes having different values, thereby enabling user verification.

[0157] In particular, when the user himself performs financial business, the virtual authentication code is performed by the user and can be used in place of a seal certificate or a certified public certificate. In this case, the user can tag the card registered in the server to the user terminal and generate a unique virtual authentication code corresponding to the user. This is because the seed data stored in the card is transmitted via NFC, and the code is generated based on the seed data in the dedicated program and the seed data transmitted from the card. In this way, the user can be authenticated with the virtual authentication code that can only be generated using the user's own card and user terminal.

[0158] In addition, if an employee of a corporation performs a specific task on behalf of a representative, the employee can fill in a document entrusted by the representative with a virtual authentication code corresponding to the representative, which is generated by tagging the representative's terminal (a terminal in which a virtual authentication code generation module is installed or included) with the representative's card, and certify that the employee has been granted legitimate power of attorney by the representative. In addition, when a superior in a company or organization is absent and a specific task needs to be approved, the superior provides the employee with a virtual authentication code generated at a specific time from the superior's card and the superior's terminal, and the employee enters the virtual authentication code into the electronic system, which is processed as having been approved by the superior.

[0159] The program may also include code coded in a computer language such as C, C++, JAVA, Ruby, or machine language that the processor (CPU) of the computer can read through the device interface of the computer to cause the computer to read the program and execute the method embodied by the program. Such code may include functional code related to functions that define functions required to execute the method, and may also include execution procedure-related control code required for the processor of the computer to execute the functions according to a predetermined procedure. Such code may also further include additional information required for the processor of the computer to execute the functions, and memory reference-related code related to the location (address) at which the medium should be referenced in the internal memory or external memory of the computer. In addition, if the computer's processor needs to communicate with other remote computers, servers, etc. to perform the above-mentioned functions, the code may further include communication-related code related to how to communicate with other remote computers, servers, etc. using the computer's communication module, and what information or media must be sent and received during communication.

[0160] The storage medium refers to a medium that stores data semi-permanently and is readable by a machine, rather than a medium that stores data for a short time, such as a register, cache, or memory. Specifically, examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. That is, the program may be stored in various recording media on various servers to which the computer can be connected, or on various recording media on the user's computer. Also, the media may be distributed among computer systems connected to a network, and computer-readable code may be stored in a distributed manner.

[0161] Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains will understand that the present invention can be embodied in other specific forms without changing the technical spirit or essential features of the present invention. Therefore, it should be understood that the embodiments described above are illustrative in all respects and are not restrictive.

Claims

1. A method performed by a server, comprising: receiving a virtual authentication code from the server and receiving a request for user authentication; The server performs the user authentication based on at least one detailed code included in the virtual authentication code to extract user identification information; Including, The virtual authentication code is generated by a virtual authentication code generation function in a user terminal without a separate communication connection with the server, and is generated by changing for each unit count that is changed with the passage of a specific time interval, The user identification information is transmitted to the server or a device that has requested the server to authenticate the user, and is used to verify the user's authority to perform a specific procedure; The authority to carry out the procedure includes the authority to carry out at least one of a plurality of types of procedures; How to approve procedures for virtual authentication code infrastructure.

2. the virtual authentication code is generated by combining a first code with a second code included in a plurality of detailed codes according to a specific rule; The first code and the second code have a correlation with each other, The first code determines a search starting point related to a storage location where the user identification information is stored in the server; The method of claim 1 , wherein the second code determines a search path from the search start point to the storage location.

3. The validity time data of the virtual authentication code is set via the user terminal, A third code included in the plurality of detail codes is further generated based on the validity time data, 3. The method of claim 2, wherein the virtual authentication code is generated by combining the first code, the second code, and the third code according to a specific rule.

4. The virtual authentication code is A virtual security code generated based on time data regarding when the virtual authentication code is generated or when the user authentication is requested, The method of claim 2 , wherein the server further verifies the virtual authentication code based on the virtual security code.

5. 2. The method of claim 1, wherein the virtual authentication code is generated based on either card data provided to the user terminal or biometric data provided to the user terminal.

6. Among the plurality of types, the virtual authentication code according to a first type includes a first virtual authentication code and a second virtual authentication code, The first virtual authentication code is generated by a first virtual authentication code generating function in a first user terminal based on first user information, The second virtual authentication code is generated by a second virtual authentication code generating function in a second user terminal based on second user information, the receiving of the request includes receiving the first virtual authentication code and the second virtual authentication code to receive the user authentication for the first type; 3. The method of claim 2, wherein the authority to perform the procedure can be performed only when the user identification codes corresponding to the respective authorities of the first virtual authentication code and the second virtual authentication code are identical to each other.

Citation Information

Patent Citations

  • Compact case for cosmetic

    KR102143587B1

  • Information processing device and information processing method

    WO2017056309A1

  • Virtual code-based financial transaction provision system, virtual code generation device, virtual code verification device, virtual code-based financial transaction provision method, and virtual code-based financial transaction provision program

    WO2020032321A1