WO2020032498A1 - 인증용가상코드를 이용한 사용자 인증 방법 및 시스템 - Google Patents

인증용가상코드를 이용한 사용자 인증 방법 및 시스템 Download PDF

Info

Publication number
WO2020032498A1
WO2020032498A1 PCT/KR2019/009696 KR2019009696W WO2020032498A1 WO 2020032498 A1 WO2020032498 A1 WO 2020032498A1 KR 2019009696 W KR2019009696 W KR 2019009696W WO 2020032498 A1 WO2020032498 A1 WO 2020032498A1
Authority
WO
WIPO (PCT)
Prior art keywords
authentication
virtual code
code
card
user
Prior art date
Application number
PCT/KR2019/009696
Other languages
English (en)
French (fr)
Inventor
유창훈
Original Assignee
주식회사 센스톤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020190071944A external-priority patent/KR102217816B1/ko
Application filed by 주식회사 센스톤 filed Critical 주식회사 센스톤
Priority to EP19848662.3A priority Critical patent/EP3828799A4/en
Priority to SG11202101357UA priority patent/SG11202101357UA/en
Publication of WO2020032498A1 publication Critical patent/WO2020032498A1/ko
Priority to US17/170,750 priority patent/US20210185034A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/343Cards including a counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/352Contactless payments by cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/353Payments by cards read by M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4012Verifying personal identification numbers [PIN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0701Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips at least one of the integrated circuit chips comprising an arrangement for power management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0723Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips the record carrier comprising an arrangement for non-contact communication, e.g. wireless communication circuits on transponder cards, non-contact smart cards or RFIDs

Definitions

  • the present invention relates to a user authentication method and system using a virtual code for authentication.
  • OTP One Time Password
  • the OTP authentication method is a system introduced to enhance security, and generates a one-time password every time a user logs in to perform user authentication, thereby overcoming a security vulnerability caused by repeated use of the same password.
  • the problem to be solved by the present invention is to provide a user authentication method and system using an authentication virtual code that can perform user authentication without a user login using the authentication virtual code generated based on the tagging of the authentication card.
  • the server receives the authentication virtual code, the authentication virtual code is the authentication card data provided by the authentication card Is generated by the authentication virtual code generation function included in the authentication virtual code generation program based on, Authentication virtual code receiving step;
  • the server searches for an authentication card storage location in which the authentication card is registered in the storage location search algorithm based on the authentication virtual code, wherein the storage location search algorithm matches the authentication virtual code generation function.
  • the authentication virtual code may include time data provided with the authentication card data for the authentication virtual code included in the authentication card or the authentication card with the authentication virtual code generation program.
  • the user authentication may be generated based on the requested time data.
  • the authentication virtual code may be generated based on a combination serial number combining the authentication card serial number included in the authentication card data and the serial number included in the authentication virtual code generation program. have.
  • the server may further include registering an authentication card using user information and authentication card data of a user who holds an authentication card.
  • the registering of the authentication card may include: Searching for a specific authentication card storage location in the storage location search algorithm based on the card registration time point, and storing the user information in the searched authentication card storage location to complete the registration.
  • the verifying of the authentication virtual code may include: receiving the authentication virtual code received by the server and using the authentication virtual code generation function in the authentication virtual code generation program. By comparing the generation time of the virtual code, if the generation time is within the error range from the receiving time may be determined that the received virtual code for authentication is a normal code.
  • the authentication virtual code includes a first code and a second code which is changed for each unit count set at a specific time interval, wherein the first code is a unit count elapsed from the first time when the server starts issuing the authentication card. Generated based on the second code may be generated based on a unit count that has elapsed from a point in time when a user's authentication card is registered.
  • a user authentication program using an authentication virtual code is combined with a computer, which executes a user authentication method using the authentication virtual code, and is stored in a medium. .
  • the virtual code generation growth for authentication for the user authentication generates a detailed code for generating one or more detailed codes based on the authentication card data provided from the user's authentication card part;
  • An authentication virtual code generation unit for generating the authentication virtual code by combining the one or more detailed codes by using an authentication virtual code generation function;
  • an authentication virtual code providing unit for transmitting the generated virtual code for authentication to a server to request user authentication, wherein the authentication virtual code is provided with the authentication card data included in the authentication card.
  • an authentication virtual code verification apparatus for user authentication includes: an authentication virtual code receiver for receiving a user authentication request by receiving an authentication virtual code; A detail code extracting unit extracting one or more detail codes included in the authentication virtual code; A storage location search unit for searching for an authentication card storage location in which an authentication card is registered in a storage location search algorithm based on the extracted one or more detailed codes; A user information extracting unit for extracting user information matched to the searched authentication card storage location and confirming a user; The authentication virtual code receiving unit compares the time point at which the authentication virtual code is received with the time point at which the authentication virtual code is generated using the authentication virtual code generation function in the authentication virtual code generating means, and thereby the authentication virtual code.
  • a virtual code verification unit for verifying a code; And a user authentication approval unit for approving user authentication when the verification of the authentication virtual code is completed, wherein the generation time is confirmed to be included in an error range from the reception time by the authentication virtual code verification unit.
  • the user authentication is approved by the user authentication approval unit, and the storage location search algorithm is matched with the authentication virtual code generation function.
  • an authentication card device for user authentication includes an IC chip including authentication card data; And a communication unit for providing the authentication card data to the authentication virtual code generation means through wireless communication, wherein the authentication card data includes specific data given to the authentication card device when the authentication card device is manufactured.
  • the virtual code generation means for authentication generates a virtual code for authentication using the virtual code generation function for authentication based on the received authentication card data, and provides the generated virtual code for authentication to the server,
  • the server searches for an authentication card storage location in which the authentication card device is registered in the storage location search algorithm matched with the authentication virtual code generation function based on the provided authentication virtual code, and stores the authentication card storage location in the authentication card storage location.
  • the user is identified by extracting the matched and stored user information, and the server receives the authentication virtual code and the authentication virtual code.
  • Generating means compares the generation time of the authentication virtual code generated using the authentication virtual code generation function, and if the generation time is within the error range from the reception time, the received authentication code is a normal code. It is to judge that the user authentication.
  • the authentication card device when used as a card for payment, further comprising a determination unit for distinguishing the tag at the time of payment and the tag at the time of user authentication, and when determined as a tag at the time of payment by the determination unit,
  • the communication unit provides the card information for the payment included in the IC chip to the payment terminal, and if it is determined as a tag at the time of user authentication by the determination unit, the communication unit is for authentication to generate a virtual code for authentication.
  • the card data can be provided to the virtual code generation means for authentication.
  • the authentication card device when used as a card for the entrance, further comprising a determination unit for distinguishing the tag at the time of entry and the tag at the time of user authentication, and if it is determined as a tag at the entrance by the determination unit,
  • the communication unit provides the identification information for the access included in the IC chip to the device for access, and if it is determined as a tag at the time of user authentication by the determination unit, the communication unit is for authentication to generate a virtual code for authentication.
  • the card data can be provided to the virtual code generation means for authentication.
  • the authentication virtual code generated by the authentication virtual code generation device can be confirmed whether the generated code at this time. That is, it may be determined whether the user has requested user authentication using the authentication virtual code generated at this time using the authentication card.
  • an authentication virtual code is newly generated for each unit count so that a duplicate authentication virtual code does not appear within a predetermined cycle or an authentication virtual code for extracting user information from the authentication virtual code verification device is generated. By randomizing, it provides an effect that the user information does not leak even when the authentication virtual code leaks.
  • an authentication virtual code generation function for example, a user terminal
  • generating a virtual code for authentication stores an authentication virtual code generation function, extracts user information using the authentication virtual code, and uses the authentication virtual code.
  • An algorithm for verifying a virtual code for authentication needs to be added to a virtual code verification device (for example, a server) for verifying whether the code is a normal code, thereby preventing the algorithm for generating and verifying a virtual code for authentication to be leaked. Can be.
  • FIG. 1 is a block diagram of a user authentication system using a virtual code for authentication according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of an authentication card apparatus according to an embodiment of the present invention.
  • FIG. 3 is a block diagram of a virtual code generation device for authentication according to an embodiment of the present invention.
  • FIG. 4 is a block diagram of a virtual code verification device for authentication according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a user authentication method using a virtual code for authentication according to an embodiment of the present invention.
  • FIG. 6 is an exemplary diagram of a storage location search algorithm for searching a storage location of an authentication card by moving a cloud of a k-square according to an embodiment of the present invention.
  • FIG. 7 is an exemplary diagram of a storage location search algorithm for searching a storage location of an authentication card by moving on a track based on a detailed code according to an embodiment of the present invention.
  • FIG 8 is an exemplary view for explaining the verification of the virtual code for authentication according to an embodiment of the present invention.
  • 'user authentication' refers to a procedure for allowing a user to pass through an area requiring security such as access, login, and financial transaction.
  • 'financial transaction' means a procedure made with a financial company. 'Financial transactions' include card payments and withdrawals from bank accounts.
  • 'letter' is a component constituting the code, and includes all or part of uppercase alphabet, lowercase alphabet, numbers and special characters.
  • 'code' means a string in which characters are listed.
  • the 'authentication card' refers to a card including a separate card number or an identification number (for example, a serial number) as a card for generating an authentication virtual code.
  • 'authentication virtual code' is a code generated based on the information provided from the authentication card in the authentication virtual code generation means, and used to perform user authentication by extracting user information from the authentication virtual code verification means.
  • Means code In other words, the 'virtual code for authentication' refers to a virtual code temporarily assigned to each unit count so that user information can be extracted and verified.
  • the 'detail code' means a part code included in the authentication virtual code.
  • the unit count is set to a specific time interval, and is a unit defined as being changed as the time interval elapses.
  • one count may be set and used at a specific time interval (for example, 1.5 seconds).
  • 'authentication virtual code generation function' means a function used to generate an authentication virtual code.
  • 'cloud movement' means a translational movement while the object rotates.
  • 'cloud movement' is to move while performing a rotational motion and a translational movement together, and means that each point of the rotating object moves while being in contact with the moving axis in turn.
  • the "storage location” means a point on the track (count) corresponding to the point in time when the card registration is requested by the user.
  • FIG. 1 is a block diagram of a user authentication system using a virtual code for authentication according to an embodiment of the present invention.
  • the user authentication system includes an authentication card 10, an authentication virtual code generation means 20, and a server 30.
  • the authentication card 10 transmits the information contained therein to the authentication virtual code generation means 20 so that the authentication virtual code generation means 20 can generate the authentication virtual code.
  • the authentication card 10 transmits the information necessary to generate the authentication virtual code as the communication with the authentication virtual code generation means 20.
  • the authentication card 10 communicates with the virtual code generating means 20 for authentication and near field communication (Near Field Communication), thereby providing one side of the virtual code generating means for authentication 20.
  • Near Field Communication Near Field Communication
  • the authentication card 10 may be initially registered in the server 30.
  • the method of initially registering the authentication card 10 in the server 30 will be described later in detail.
  • the authentication card 10 is a blank card that contains authentication card data, and can be used only when user authentication is required for security.
  • the authentication card 10 provides the card data for authentication to the authentication virtual code generation means 20 (for example, a user terminal), and is built-in or installed in the authentication virtual code generation means 20. Allow the program to generate a virtual code for authentication.
  • the authentication card 10 may be purchased separately by the user. For example, a user may purchase and use an authentication card 10 having a desired design at a mart or a convenience store.
  • the authentication card 10 may be used as an authentication card for financial transactions. That is, the card may be used as a general payment card, for example, a credit card or a check card, and at the same time, may be used as a card for generating a virtual code for authentication when security authentication is required for financial transactions.
  • the authentication card 10 provides the card data for authentication to the virtual code generation means 20 (for example, a user terminal) for authentication, and is built or installed in the virtual code generation means 20 for authentication. Allow the program to generate a virtual code for authentication.
  • the authentication card 10 for financial transactions may be provided and used by a financial company.
  • a user may include a function for generating a virtual code for authentication in a general payment card so that the authentication card for financial transactions can be used. 10 may be provided.
  • the authentication card 10 may be used as an access authentication card. That is, it can be used as a card for general access, for example, a pass, employee ID, etc., and at the same time can be used as a card for generating a virtual code for authentication when security authentication is required to enter a system or space requiring security. .
  • the authentication card 10 provides the authentication card data to the authentication virtual code generation means 20 (for example, a user terminal or a security device) to the authentication virtual code generation means 20.
  • the virtual code for authentication is generated by a built-in or installed dedicated program.
  • the authentication card 10 for access is an access card that is paid by the administrator of the group when the user belongs to a new house or a company, such as getting a job, and is permitted to enter a specific space. At the same time, it can be used for user authentication when entering and exiting an area requiring security in a specific space.
  • the authentication card 10 is provided with authentication card data including an authentication card number, an authentication card serial number, and the like at the time of manufacture.
  • the authentication card 10 only includes authentication card data therein, and does not expose the authentication card data (for example, the authentication card number) to the outside.
  • the virtual code generation means for authentication 20 is a device having a built-in or installed dedicated program or application (hereinafter, dedicated program 21) for generating a virtual code for authentication based on the tagging of the authentication card 10. it means.
  • the dedicated program 21 performs a role of receiving communication card data by performing communication with the authentication card 10. That is, the authentication virtual code generation means 20 receives the authentication card data as the wireless communication (for example, NFC communication according to the proximity) with the authentication card 10.
  • the authentication virtual code generation means 20 receives the authentication card data as the wireless communication (for example, NFC communication according to the proximity) with the authentication card 10.
  • the dedicated program 21 serves to generate an authentication virtual code for user authentication using the authentication card data provided from the authentication card 10. That is, the dedicated program 21 generates the authentication virtual code by using all or part of the authentication card data provided from the authentication card 10, including the authentication virtual code generation function. For example, the dedicated program 21 generates an authentication virtual code by using the authentication card serial number included in the authentication card data as seed data of the authentication virtual code generation function. Further, for example, the dedicated program 21 may use the seed data of the virtual code generation function for authentication to combine a combination serial number obtained by combining the authentication card serial number received from the authentication card 10 and the serial number of the dedicated program. Can be used as
  • the dedicated program 21 serves to register the authentication card 10 to the server 30. That is, the user purchases the authentication card 10 or receives the authentication card 10 in the dedicated program 21 embedded or installed in the authentication virtual code generating means 20 (that is, the user terminal) by being provided from a card company or the like.
  • the dedicated program 21 registers by transmitting authentication card data and user information to the server 30.
  • the dedicated program 21 receives authentication card data including the serial number and the authentication card number from the authentication card 10 at the time of registration of the authentication card.
  • the dedicated program 21 receives user information from the user at the time of registration of the authentication card, or generates user information based on the login information of the dedicated program 21 of the user. Thereafter, the dedicated program 21 transmits the authentication card data and the user information to the server 30.
  • the dedicated program 21 receives the setting data for specifying the authentication virtual code generation function or authentication virtual code generation function from the server 30. Receive.
  • the dedicated program 21 may include an authentication virtual code generation function for generating an authentication virtual code that can search for a specific count registered with the authentication card in the server 30.
  • the server 30 searches for a location where the authentication card 10 is registered in the server 30 based on the authentication virtual code generated by the virtual code generation means 20 for authentication and stores user information stored in the location. Extract. In addition, the server 30 verifies the authentication virtual code based on the time point at which the authentication virtual code is received and the time point at which the authentication virtual code is generated by the authentication virtual code generating means 20. A method of performing user authentication by verifying a virtual code for authentication will be described later in detail.
  • the server 30 stores the user information provided from the dedicated program 21 or the user information pre-stored in the server 30 at a point corresponding to a specific count requested to register the authentication card 10, Initially register the authentication card (10). A description of the method of initially registering the authentication card 10 to the server 30 will be described in detail later.
  • the server 30 stores the authentication card data and the user information provided from the dedicated program 21 in a specific count corresponding to the time of registration of the authentication card in response to a request of the dedicated program 21.
  • the user information may be information input by the user through the dedicated program 21 built in or installed in the user terminal or information generated based on the login information of the dedicated program 21 of the user.
  • FIG. 2 is a block diagram of an authentication card apparatus according to an embodiment of the present invention.
  • the authentication card apparatus 100 includes an IC chip 110 and a communication unit 120.
  • the authentication card device 100 refers to the authentication card 10 in contact with the authentication virtual code generation device 200 for user authentication.
  • the IC chip 110 is a metal chip disposed on the front surface of the authentication card device 100 and serves to include authentication card data of the authentication card device 100.
  • the authentication card data means data including an authentication card number, an authentication card serial number, and the like.
  • the communication unit 120 communicates with the authentication virtual code generation device 200 to provide card data for authentication.
  • the wireless communication method of the communication unit 120 as well as NFC (Near Field Communication), Bluetooth (Bluetooth), BLE (Bluetooth Low Energy), Beacon (Beacon), RFID (Radio Frequency Identification), Infrared Data (Infrared Data) Association (IrDA), Ultra Wideband (UWB), ZigBee, and the like may be used.
  • the communication unit 120 may be a near field communication (NFC) communication unit (for example, NFC antenna) connected to the IC chip 110. That is, the authentication card device 100 transmits the authentication card data stored in the IC chip 110 to the authentication virtual code generation device 200 as it approaches the authentication virtual code generation device 200 capable of NFC communication. Can be. Through this, the dedicated program 21 in the virtual code generation device 200 for authentication generates a virtual code for authentication based on the card data for authentication or performs the procedure of registering the card 10 for authentication in the server 30. can do.
  • NFC near field communication
  • the authentication card device 100 includes a payment function, further comprising a determination unit (not shown) to determine whether the authentication card device is used for payment or user authentication. It can also play a role of judgment. That is, the determination unit may classify the card tag at the time of payment and the card tag at the time of user authentication, and transmit different card data in some cases.
  • the determination unit determines that the authentication card device 100 is tagged in the payment terminal, the payment card information stored in the IC chip 110 as the payment terminal (for example, a payment card number or payment for Serial number).
  • the determination unit determines that the authentication card device 100 is tagged in the authentication virtual code generation means 20 (that is, the user terminal) for user authentication during a financial transaction, a dedicated program embedded or installed in the user terminal.
  • the card 21 for authentication eg, serial number of the card for authentication
  • the serial number of the payment serial number and the authentication card may be the same number or may be different numbers.
  • the authentication card device 100 does not distinguish between a case where a terminal for a payment is tagged and a case where a dedicated program 21 is tagged with a built-in or installed user terminal. If the device is tagged, it can also provide a card number. At this time, the payment terminal proceeds to the payment using the provided card number.
  • the dedicated program 21 may determine that the provided card number is an authenticated (registered) card number in the program, and then bring a serial number for user authentication from the storage area in the authentication card apparatus 100.
  • the authentication card apparatus 100 when the authentication card apparatus 100 includes an access function, the authentication card apparatus 100 may further include a determination unit (not shown) to determine whether the authentication card apparatus 100 is used for access or for user authentication. It may also play a role in determining whether it is used as a service. That is, the determination unit may classify the card tag at the normal access and the card tag at the time of user authentication, and transmit different card data in some cases.
  • a determination unit may classify the card tag at the normal access and the card tag at the time of user authentication, and transmit different card data in some cases.
  • the determination unit determines that the authentication card device 100 is tagged with a general access device, identification information for access included in the IC chip 110 as an access device, for example, user identification information, User code and the like.
  • the determination unit determines that the authentication card device 100 is tagged in the authentication virtual code generation means 20 (that is, the user terminal) for user authentication when entering or exiting the security area, it is built-in or installed in the user terminal. It is possible to provide the program 21 with the authentication card data (for example, the serial number of the authentication card) necessary for generating the authentication virtual code. At this time, the authentication card data required for generating the authentication virtual code may be the same as the identification code used in normal access.
  • FIG. 3 is a block diagram of a virtual code generation device for authentication according to an embodiment of the present invention.
  • the authentication virtual code generation device 200 includes a detailed code generation unit 210, an authentication virtual code generation unit 220, and an authentication virtual code providing unit 230.
  • the virtual code generation device 200 for authentication may be, for example, a user terminal in which a program (that is, an application) for generating a virtual code for authentication for user authentication is installed.
  • the detail code generation unit 210 serves to generate one or more detail codes based on the authentication card data provided through the wireless communication in the authentication card device 100.
  • the virtual code generation function for authentication includes one or more detailed code generation functions. For example, when the authentication virtual code includes a plurality of detail codes, the authentication virtual code generation function generates a plurality of detail codes by using the plurality of detail code generation functions and combines the plurality of detail codes. Create a virtual code for authentication using the code combining function.
  • the authentication virtual code is generated for each unit count by the authentication virtual code generation device 200, that is, a dedicated program 21 built in or installed inside the user terminal, and a mobile OTP (mobile one time password, mOTP). Means.
  • the authentication virtual code generation device 200 may use the serial number of the authentication card provided from the authentication card device 100 as one of the seed data of the authentication virtual code generation function.
  • the detail code generation unit 210 is built-in or installed in the serial number of the authentication card provided by the authentication card device 100 and the authentication virtual code generation device 200 using one detail code generation function. Each detailed code is generated using the combined serial number combining the serial numbers of the program 21 as seed data of each detail code generation function.
  • the detail code generation unit 210 may generate each detail code by using a time point or a count value when user authentication is requested from the user.
  • the detail code generator 210 may generate the first code and the second code, including the first function and the second function as the detail code generation function.
  • the authentication virtual code generation device 200 includes only the first function for generating the first code and the second function for generating the second code as a detailed code generation function, in order to increase security.
  • the data on the correlation of the second code may not be included.
  • the authentication virtual code generation unit 220 combines one or more detailed codes using the authentication virtual code generation function to generate the authentication virtual code.
  • the virtual code for authentication is generated by combining a plurality of detailed codes according to a specific rule.
  • the virtual code generation function for authentication includes a rule for combining a plurality of detail codes (i.e., a detail code combining function). That is, the authentication virtual code generation unit 220 may combine one or more detailed codes using the detail code combining function included in the authentication virtual code generation function.
  • the authentication virtual code generation unit 220 may generate the authentication virtual code by alternately arranging the N-digit first code and the N-digit second code.
  • the detail code combining function may be a function of combining the second code after the first code. As the detailed codes included in the virtual code for authentication increase, various detailed code combining functions may be generated.
  • the first code and the second code are the authentication card in the storage location search algorithm in which the user information is stored.
  • Each role can be used to search the storage location of.
  • the first code sets the start point of the storage location search
  • the second code sets the search path from the start point to the storage location of the authentication card according to a specific search method. That is, when the authentication virtual code generated normally for each unit count is provided by the authentication virtual code generation device 200, the authentication virtual code verification device 300 is transferred from the search start point corresponding to the first code to the second code.
  • the point moved according to the corresponding search path is determined as a point where user information is stored (that is, a storage location of the authentication card).
  • a storage location of the authentication card A detailed method of searching the storage location of the authentication card based on the first code and the second code constituting the authentication virtual code will be described later.
  • the detail code generation unit 210 In one embodiment of the method in which the detail code generation unit 210 generates the detailed code, the detail code generation unit 210 generates a new detailed code for each unit count, and accordingly, the virtual code generation device for authentication 200 Create a new virtual code for authentication for each unit count. The newly generated virtual code for authentication for each unit count is not duplicated.
  • the detail code generation unit 210 not only generates a virtual code for authentication that is newly generated for each unit count for a specific user or a specific authentication virtual code generation device 200, but also generates a specific group. It can be set not to be duplicated even among users belonging to.
  • the detailed code generation function included in the virtual code generation function for authentication is M N codes can be generated as the first code or the second code, and each code is matched for each count from the initial time at which the detail code generation function is driven. For example, if the unit count set to one second, the detail code generation function from the first driving point, matching the M N different codes on every second.
  • a cycle of using a specific code generation function or a cycle of use of the virtual code generation device 200 for authentication corresponds to M N count.
  • the first code or the second code does not duplicate the same code during the use cycle. That is, when the count increases over time, when the user makes a request for authentication virtual code generation to the authentication virtual code generation device 200 by contacting the authentication card at a specific point in time, the authentication virtual code generation device The code 200 may generate a code value matched to a count corresponding to a specific time point as a first code or a second code.
  • the code generation apparatus 200 may provide 36 6 codes as the first code and the second code.
  • the authentication virtual code generation device 200 may match each code for each count, and provide the changed first code and the second code for each count.
  • a function for generating a first code or a second code when the use cycle of the authentication virtual code generation device 200 elapses that is, the first function
  • a second function a matching relationship between the first code and the second code so as to generate an authentication virtual code different from the previous use cycle.
  • the authentication code is combined with the first code generated by the first function and the second code generated by the second function, if the first code generation function or the second code generation function is changed, the authentication virtual code
  • the generation apparatus 200 may apply the virtual code generation function for authentication to generate a virtual code different from the previous cycle to the new cycle as the order in which the first code or the second code appears differs from the previous cycle. have.
  • the authentication virtual code generation device 200 is generated so that the same code as the authentication virtual code used in the previous use cycle does not appear as the authentication virtual code of each count in the new use cycle (that is, generated according to the first function).
  • the first function and the second function may be selected so that the matching relationship between the first code and the second code generated according to the second function is not included among the matching relationships included in the previous use period at every count of the new use period. .
  • the authentication virtual code of the new usage cycle does not generate a virtual code that overlaps with the previous usage cycle by adjusting or updating the virtual code generation function for authentication. Code generation functions can be applied.
  • the first code is the initial time when the first function is driven so that the duplicate authentication virtual code is not generated regardless of the user in the entire cycle Is set to a code value corresponding to the time (or count) of the virtual code generation request for authentication among the codes matched for each count from the second code, and the second code always exists differently at the same time for each authentication card 10. (I.e., a device identification value), and a code value generated by reflecting the device identification value.
  • the first code has a different code value for each count
  • the second code has a different code value for each authentication card 10 at the same time, so that the authentication virtual code combined with the first code and the second code has all authentication. Different code values are output at all time points.
  • the authentication virtual code generation function (or detailed code generation function) is applied to any one of a plurality of ordering rules for arranging M characters in ascending order. That is, the authentication virtual code generation device 200 may apply various rules for arranging M characters in ascending order to the detailed code generation function included in the authentication virtual code generation function.
  • the ordering rules for ascending alphabetic letters are as follows: A, B, C,... , Z order, A, C, B, ... , May be Z order.
  • the rules for enumerating virtual code generation function differ, the order in which codes are matched for each count is changed from the initial point when the authentication virtual code generation function is driven.
  • the authentication virtual code provider 230 provides the generated authentication virtual code to the server 30 to request user authentication.
  • the authentication virtual code providing unit 230 outputs the authentication virtual code to the outside.
  • the authentication virtual code provider 230 is a user to visually check or copy the virtual code for authentication to another program or the web Print it on the screen so you can paste it on a page. That is, the user may paste the authentication virtual code output on the screen of the user terminal 20 into a program or a web page to provide the authentication virtual code to the financial institution server.
  • the virtual code provider 230 for authentication may visually check or copy the virtual code for authentication to another program or web page. Print it on the screen so that you can paste it into.
  • the authentication virtual code providing unit 230 on the screen so that the user can provide the authentication virtual code output on the screen of the user terminal 20 to the security device installed in the security area through NFC, etc. You can also output
  • FIG. 4 is a block diagram of a virtual code verification device for authentication according to an embodiment of the present invention.
  • the authentication virtual code verification apparatus 300 includes an authentication virtual code receiver 310, a detail code extractor 320, a storage location searcher 330, and a user information extractor 340. It includes a virtual code verification unit 350 and the user authentication approval unit 360 for authentication.
  • the authentication virtual code verification device 300 extracts the user information of the user holding the authentication card based on the authentication virtual code, and whether the received authentication code is a normal code based on the authentication virtual code. Refers to a server that performs user authentication.
  • the user authentication request receiver 310 serves to receive a user authentication request based on the authentication virtual code provided from the authentication virtual code provider 230.
  • the user authentication request receiving unit 310 may be provided with a virtual code for authentication generated by a dedicated program built in or installed in a user terminal through a financial company app, and may be requested to authenticate the user. .
  • the user authentication request receiving unit 310 receives an authentication virtual code generated by a dedicated program built in or installed in a user terminal terminal from a security device or a security system server, You are asked to authenticate.
  • the detail code extracting unit 320 serves to extract one or more detail codes included in the authentication virtual code.
  • the detail code extraction unit 320 includes a detail code combining function included in the virtual code generation function for authentication. Therefore, when the authentication virtual code includes a plurality of detail codes, the detail code extracting unit 320 may extract the plurality of detail codes from the authentication virtual code by applying the detail code combining function. For example, when the authentication virtual code generation device 200 generates an authentication virtual code in which two detailed codes (that is, a first code and a second code) are combined, the detail code extracting unit 320 is authenticated. The first code and the second code can be separated by applying the detail code combining function to the character array of the virtual code.
  • the storage location search unit 330 searches for a storage location where an authentication card is registered in the storage location search algorithm based on the extracted one or more detailed codes.
  • the storage location search algorithm is matched with the authentication virtual code generation function used when the authentication virtual code generation device 200 generates the authentication virtual code.
  • the storage location search unit 330 may search for a storage location of the authentication card based on each detailed code.
  • the storage location search unit 330 may include a correlation between the detail codes to search the storage location based on the plurality of detail codes.
  • the storage location means a point on the track (count) corresponding to the point in time where the user is requested to register the authentication card. That is, if the track for the corresponding authentication card is driven in the server, and a registration of the specific authentication card is requested by a specific user at a specific time, the count corresponding to that time (that is, the time of registration from the last driving of the track) The card for authentication is registered in the count). And the storage location of the authentication card is matched with the information of the user using the authentication card is stored.
  • the storage location search unit 330 determines a search start point corresponding to the first code.
  • a point moved according to a search path corresponding to the second code from the search start point can be found as a storage location of the authentication card.
  • the detail code may include a first code for setting a start point of a storage location search and a second code for setting a search path from the start point to a storage location of the authentication card according to a specific search method. Can be.
  • the authentication virtual code verification device 300 changes the first code to be changed for each count.
  • a search start point and a search path may be set based on the second code to search the storage location of the authentication card (that is, the location where the authentication card is registered).
  • the storage location search unit 330 may include a storage location search algorithm to find a storage location of an authentication card using a plurality of detailed codes having a correlation.
  • the storage location search algorithm is an algorithm that enables the storage location to be searched when each detailed code included in the authentication virtual code is applied, and the authentication used when the authentication virtual code generation device 200 generates the authentication virtual code. Matches the virtual code generation function.
  • the authentication virtual code includes a first code for determining a search start point of a storage location and a second code for indicating a storage location direction from the search start point
  • the storage location search algorithm is assigned to the first code.
  • the algorithm is adjusted so that the storage location matching the registration time of the authentication card is arranged in the corresponding location.
  • the user information extracting unit 340 extracts the stored user information matching the storage location of the authentication card searched by the storage location search unit 330. That is, since the authentication virtual code verification apparatus 300 stores the user information using the corresponding authentication card in the storage location of each authentication card in the storage location search algorithm, the user information extraction unit 340 stores the storage location. In the search algorithm, specific user information that is stored and matched with a specific authentication card storage location may be extracted. Accordingly, it is possible to confirm who the user requested for user authentication, without having to log in separately when authenticating the user.
  • the authentication virtual code verification apparatus 300 stores the authentication card storage location (that is, the authentication card registration count) even if the first code and the second code included in the authentication virtual code are changed. By searching for, it is possible to extract the user information stored matching the corresponding storage location.
  • the storage location search algorithm can be applied in various ways, a specific example will be described later. However, the storage location search algorithm is not limited to the example described below.
  • the storage location search algorithm is a k-angle (k is M N ), which is clouded along a track in which M N codes corresponding to the first code are listed, and the vertex of the k-angle is first In the case of moving while corresponding to the point where the code is placed on the code track, each vertex of the k-square is matched with the storage position of the authentication card, and the point where the first code track (ie, the first track) and the k-square correspond. It may be a storage location search start point corresponding to this first code.
  • the storage location search unit 330 may apply a cloud movement to the k-angle so that the vertex of the k-angle contact the point corresponding to the first code extracted from the detail code extraction unit 320.
  • the storage location search unit 330 is a specific angle obtained by dividing the 180 degrees by M N to the angle corresponding to the second code (for example, to the vertex of the k-square in the position on the first track that the k-square contacted) ), It is possible to search for the vertex of the k-square that is the storage location where the authentication card corresponding to the authentication virtual code is stored.
  • the authentication virtual code verification apparatus 300 moves the k-square to a point corresponding to the first code (that is, each vertex of the k-square and each point on the track in turn contact with each other). While moving). Thereafter, the authentication virtual code verification apparatus 300 searches for a vertex corresponding to the storage location by indicating an angular direction corresponding to the second code.
  • the storage location search unit 330 searches for the storage location of the authentication card or the registration location of the authentication card using the first code and the second code in the authentication virtual code in the storage location search algorithm, the user information.
  • the extractor 340 extracts user information stored in the corresponding location.
  • the virtual code verifying unit 350 for authentication authenticates the virtual code for authentication at the time when the virtual code receiving unit 310 receives the authentication virtual code and the authentication virtual code is generated by the authentication virtual code generating means (ie, the user terminal). Compares the generated time points using the generation function, and verifies the virtual code for authentication.
  • the authentication virtual code verification unit 350 uses the authentication virtual code generation function at a time point when the authentication virtual code is received and the dedicated program 21 built in or installed in the user terminal. By comparing the time point at which the authentication virtual code is generated, it may be determined that the received authentication virtual code is a normal code when the generation time is within a preset error range from the reception time.
  • the first code and the second code is when the authentication card is registered by the user terminal 20 or when the user authentication is requested (for example For example, a code for a reference count added by a randomly generated OTP code from a time point at which the user terminal receives the authentication card data from the authentication card or a time point at which the user terminal generates the authentication virtual code with the authentication card data).
  • a code for a reference count added by a randomly generated OTP code from a time point at which the user terminal receives the authentication card data from the authentication card or a time point at which the user terminal generates the authentication virtual code with the authentication card data can be.
  • the authentication virtual code generation device 200 reflects and generates the virtual security code to the first code and the second code without outputting it to the outside.
  • the virtual code generating means for authentication e.g., a program for generating a virtual code for authentication
  • the virtual code generating means for authentication is a part of the serial number (i.e., unique value) in the authentication virtual code generating device (i.e., user terminal) and the serial number of the authentication card.
  • a virtual security code value (for example, an OTP code) is generated based on a combination of the authentication card serial number and the dedicated program serial number, and the first code of the count plus the virtual security code value at the time of registration of the authentication card.
  • the server which is a means for verifying virtual code for authentication, may apply the received first code and the second code to a storage location search algorithm to search for an authentication card storage location (or registration location).
  • the server which is a virtual code verification means for authentication, extracts a virtual security code from a second code generated based on a virtual security code, and then authenticates a virtual security code generation function (that is, an OTP function). From the count of receiving the virtual code, a count within a specific range is input to check whether there is a value matching the virtual security code among the calculated OTP numbers.
  • the server which is a means for verifying virtual code for authentication, obtains a virtual security code value (that is, an OTP function value) used to generate the second code by applying an inverse function of the second function to the second code, and the same value as the virtual security code value.
  • the server allows an error range from the count of the reception of the authentication virtual code. Through this, the server can prevent the user authentication to be generated by the authentication virtual code previously generated, not the authentication virtual code generated at this time, it is possible to improve the security.
  • the user can verify the user by searching the virtual security code on its own, even without entering a specific number of virtual security code at the time of inputting the virtual code for authentication.
  • the authentication virtual code generating means may be a combination of some or both of a serial number (that is, a unique value) and a serial number of an authentication card in a user terminal or a dedicated program at the time when user authentication is requested. Generate a first code corresponding to the count plus the virtual security code value generated by using the seed data, and count difference and virtual security code value between the time of registration of authentication card (A) and the time of user authentication request (B) Generates a second code corresponding to the count. That is, the equation for generating the first code and the second code by the authentication virtual code generation dedicated program is as follows.
  • a point Authentication card registration point
  • B point User authentication request count
  • virtual security code OTP number
  • the server 30 which is a means for authentication virtual code, searches for a location where user information is stored based on the first code and the second code in the received authentication virtual code, and stores seed data (i.e., authentication) stored together in the location. It is used to generate the virtual code for authentication among the combination serial numbers that combine the serial number of the virtual code generation dedicated program or user terminal, the authentication card serial number, the authentication virtual code generation dedicated program serial number, and the authentication card serial number. ).
  • the server 30 generates a virtual security code (ie, OTP number) within a specific count range from the time of receiving the user authentication request based on the seed data.
  • the server 30 detects the point of registration of the card for authentication (A) by searching for a point where the user information is stored based on the first code and the second code.
  • the server calculates a calculated value corresponding to the sum of the count number and the virtual security code (that is, the OTP number) from the time of registration of the authentication card (A) to the count of each count within a specific count range based on the time of receiving the user authentication request. It calculates and checks whether there exists a count equal to the count number corresponding to a 2nd code (that is, the value which applied the inverse function of a 2nd function to the 2nd code) among each calculated value. Through this, the server can check whether the authentication virtual code is provided normally.
  • the user authentication approval unit 360 performs the role of approving user authentication when the verification virtual code verification is completed by the authentication virtual code verification unit 350.
  • the user authentication approval unit 360 in the case of user authentication at the time of payment, when the user is confirmed by the user authentication approval unit 360, and the verification is completed whether the authentication virtual code is normally generated, the user authentication approval unit 360 is a user
  • the authentication approval message is sent to the financial institution server. Accordingly, the financial company server may approve the user to continue the financial transaction.
  • the user authentication approval unit 360 in the case of user authentication at the time of entry and exit, when the user is confirmed by the user authentication approval unit 360 and verification that the authentication virtual code is normally generated, the user authentication approval unit 360 is completed. A user authentication message is sent to the security system management server. Accordingly, the management server can authorize the user to enter the security area.
  • FIG. 5 is a flowchart illustrating a user authentication method using a virtual code for authentication according to an embodiment of the present invention.
  • the server receives the virtual code for authentication (S100; authentication virtual code receiving step), the server Searching for an authentication card storage location in which the authentication card is registered in the storage location search algorithm based on the authentication virtual code (S200; storage location search step); Verifying the user by extracting the stored user information matched with (S300), verifying, by the server, the authentication virtual code based on the time point at which the authentication virtual code is received (S400), and the server by the user Approving the authentication step (S500).
  • S100 authentication virtual code receiving step
  • the server Searching for an authentication card storage location in which the authentication card is registered in the storage location search algorithm based on the authentication virtual code (S200; storage location search step); Verifying the user by extracting the stored user information matched with (S300), verifying, by the server, the authentication virtual code based on the time point at which the authentication virtual code is received (S400), and the server by the user Approving the authentication step (S500).
  • S100 authentication virtual code receiving step
  • S200 storage location search step
  • step S100 the server 30 receives a virtual code for authentication and receives a user authentication request.
  • the authentication virtual code is generated by the authentication virtual code generation function included in the authentication virtual code generation program based on the authentication card data provided by the authentication card, and the authentication card data is an authentication card ( Specific data given when 10) is manufactured, includes the card number, serial number, etc. of the authentication card.
  • the authentication virtual code is generated based on the time data provided with the authentication card data for authentication virtual code generation means 20 (ie, the authentication code generation program for authentication), or an authentication card. Tagging 10 to the authentication virtual code generation program can be generated based on the time data for which user authentication is requested.
  • the authentication virtual code is a combination serial that combines the authentication card serial number included in the authentication card data and the program serial number (ie, application serial number) included in the authentication virtual code generation program. Can be generated based on numbers.
  • the virtual code generation means for authentication 20 may generate the virtual code for authentication based on the time data and the combined serial number using the authentication virtual code generation function included in the dedicated program 21. That is, the virtual data for authentication is generated by combining the time data and the combined serial number in a specific rule, and the generated virtual code for authentication is provided to the server 30.
  • the authentication virtual code generation means 20 using the dedicated program 21, the authentication card serial number, dedicated program serial number (ie, application serial number), and the authentication card serial number and program
  • Each detail code can be generated by using a combination serial number having a combination of serial numbers as seed data of each detail code generation function.
  • the virtual code generating means for authentication 20 When a plurality of detailed codes are generated using each detailed code generating function, the virtual code generating means for authentication 20 combines the plurality of detailed codes using the detailed code combining function included in the virtual code generating function for authentication. Generated virtual code for authentication. For example, the authentication virtual code generation means 20 uses the dedicated program 21 to combine the combined serial number generated by each detailed code and the time data received with the authentication card data into the detailed code combining function. The seed data is used to generate a virtual code for authentication.
  • the authentication virtual code may be generated in various ways. That is, the authentication virtual code may be generated by various authentication virtual code generation functions. The detailed description of generating the virtual code for authentication in various ways is redundant with the above description with reference to FIG.
  • step S200 the server 30 searches for the authentication card storage location where the authentication card 10 is registered in the storage location search algorithm based on the authentication virtual code.
  • the storage location search algorithm is matched with the authentication virtual code generation function included in the dedicated program 21 built in or installed in the authentication virtual code generation means 20 (that is, the user terminal), and in the authentication virtual code. It is possible to search the authentication card storage location based on at least one detail code.
  • the server 30 When the server 30 receives a request for registration of the authentication card 10 through the virtual code generation means 20 for authentication, a specific point (count) corresponding to the point in time where the registration request is requested in the storage location search algorithm for the corresponding authentication card. ) To register the authentication card, and store the user information at the relevant point.
  • the user information refers to the information of the card holder who requested to register by purchasing or providing an authentication card.
  • the server 30 receives the authentication virtual code through the authentication virtual code generation means 20 and receives a user authentication request, and receives the received authentication virtual virtual. Based on the code, the user can be identified by extracting the user information stored in the storage location search algorithm.
  • the server 30 includes a different storage location search algorithm for each type of authentication card 10, so as to determine the type of the authentication card 10 requested to be registered and to authenticate within the appropriate storage location search algorithm.
  • the card will be saved.
  • the user information (information of the user who owns the authentication card) is stored in the authentication card storage location in the storage location search algorithm.
  • the server 30 when the authentication virtual code is generated by combining the first code and the second code, stores the authentication card in the storage location search algorithm using the first code and the second code. You will search for a location.
  • the first code is a code for setting the start point of the storage location search of the authentication card in the storage location search algorithm
  • the second code is a search from the start point to the authentication card storage location according to a specific search method. It can be code that sets the path.
  • the server 30 sets a position corresponding to the first code as a starting point, and authenticates in a k-square arrangement based on the second code according to a search method applied to the second code.
  • Search for a point that is, a specific vertex of a k-square
  • the storage location is matched to each vertex of the k-square.
  • the point where the first code track (that is, the first track) and the k-square correspond to the storage location search start point corresponding to the first code.
  • the server 30 searches for a matching point of the card storage location for authentication based on the second code at the search start point.
  • the server 30 indicates an angle corresponding to the second code (for example, a specific angle divided into 180 degrees by M N so as to face a vertex of the k-angle) at a position on the first track where the k-angle is in contact.
  • an angle corresponding to the second code for example, a specific angle divided into 180 degrees by M N so as to face a vertex of the k-angle
  • the server 30 in the state where the k-square is in contact with the point corresponding to the first code on the first track, the server 30 is based on the overall center angle (ie, 360 degrees) based on the center of the k-square and the contact point on the first track. ) Is divided into M N , and each angle is matched to M N second codes. At this time, the direction of the line that moves a certain number of unit angles (that is, 360 degrees / M N ) from the line connecting the center of the k-angle and the first track is a specific vertex of the k-angle. Therefore, when a second code corresponding to a specific angle is received, the server 30 may search for a vertex located in the corresponding angle direction.
  • the specific position of the second code may be used to determine the angle calculation direction. That is, when generating the second code using N characters (N is a natural number), the angle measurement direction may be determined by one digit. For example, when the server 30 matches the second code to each angle by dividing the entire center angle (that is, 360 degrees) based on the center of the k-square and the contact point on the first track, the center of the k-square is matched. The angle measured in the left direction or the right direction from the line connecting the contact point on the first track may be determined as a value of one digit.
  • the storage location search algorithm may assign two second codes to one vertex according to the angle measurement direction at each vertex on the k-square. That is, one vertex may be matched with another second code when reaching the inside of the cabinet and reaching outside, and a storage location of another authentication card may be connected.
  • the storage location search algorithm is 360 degrees when dividing the total angle (for example, based on the center angle) into N-1 when the second code is generated using N characters (N is a natural number). We can match about half of) and use one digit to determine the angle application direction to reach each vertex.
  • the method of searching for a storage location in the k-square based on the second code is not limited thereto, and searches for a storage location by dividing a point at a specific ratio between a point on the k-square corresponding to the second code and a contact point on the first track.
  • Various methods such as the method may be applied.
  • the authentication virtual code includes a first code and a second code that are changed for each unit count
  • the first code is a unit that has elapsed since the first time that the server 30 starts issuing the authentication card.
  • the second code is generated based on the count, and is generated based on the unit count that has elapsed since the user registered the authentication card through the dedicated program 21 installed in the authentication virtual code generation means 20.
  • the unit count is set to a specific time interval and changes as the time interval elapses.
  • the storage location search algorithm moves on a track based on a plurality of detailed codes constituting the virtual code for authentication to move to a point matched with the card storage location for authentication.
  • a first code and an authentication card (10) of each user are based on a unit count that elapses from an initial time when the storage location search algorithm is started.
  • the server 30 searches for the count on the track to which the code value corresponding to the first code is matched.
  • a point on the track at which the authentication card 10 is registered in the server 30 by returning along the track from the search starting point by a count value corresponding to the second code, that is, storing the authentication card Location).
  • the server searches for a point (or count) to which the first code in the authentication virtual code is assigned in the track for the first code, sets the search start point, and reverses the track for the second code from the search start point. And locate the point (or count) to which the second code in the authentication virtual code is assigned to extract the point (or count) where the authentication card is registered on the track for the first code. Further, for example, the count calculated by setting the search start point based on the first code in the authentication virtual code and applying the inverse function of the second function to the second code in the authentication virtual code By regressing by the value, a point corresponding to the point of time of registering the authentication card is searched.
  • step S300 the server 30 confirms the user by extracting the stored user information matched to the searched authentication card storage location. That is, after the authentication card 10 is registered in the server 30, the server 30 receives the authentication virtual code through the authentication virtual code generation means 20 to receive a user authentication request, the received authentication The user information can be identified by extracting the user information stored in the storage location search algorithm based on the virtual code.
  • the server 30 extracts the stored user information matching the storage location of the found authentication card. That is, since the server 30 stores the user information using the corresponding authentication card in each authentication card storage location in the storage location search algorithm, the server 30 stores the information of the specific authentication card in the storage location search algorithm. The specific user information matched to the storage location may be extracted.
  • step S400 the server 30 verifies the authentication virtual code based on the time point at which the authentication virtual code is received.
  • the server 30 compares the reception time point of the received virtual code for authentication with the generation time point of the authentication virtual code generated using the authentication virtual code generation function in the authentication virtual code generation program. As illustrated in FIG. 8, when the generation time is within an error range from the reception time, it may be determined that the received virtual code for authentication is a normal code.
  • the server 30 compares the reception time and generation time of the authentication virtual code within the storage location search algorithm, so that the user who requested the user authentication during the financial transaction You can check whether you have requested user authentication at this time using the authentication card.
  • the server 30 compares the reception time and generation time of the authentication virtual code within the storage location search algorithm, so that the user who requested the user authentication at the time of access request is himself. You can check whether you have requested user authentication at this time using the authentication card.
  • a dedicated program embedded in or installed in the user terminal is based on a count value corresponding to the request time (ie, creation time) using a virtual code generation function for authentication.
  • Generate a virtual code for authentication (specifically, a second code).
  • one detail code (eg, the second code) of the plurality of detail codes may be generated using an OTP function having a generation time as seed data. That is, the OTP code may be included in the second code to be generated.
  • the generated virtual code for authentication is provided to the server, and the server extracts a plurality of detailed codes using a storage location search algorithm matching the virtual code generation function for authentication or the virtual code generation function for authentication. Then, the OTP code is extracted through one detail code (for example, the second code) of the plurality of detail codes, and the time point at which the authentication virtual code is generated through the OTP code is extracted.
  • the server extracts a plurality of detailed codes using a storage location search algorithm matching the virtual code generation function for authentication or the virtual code generation function for authentication. Then, the OTP code is extracted through one detail code (for example, the second code) of the plurality of detail codes, and the time point at which the authentication virtual code is generated through the OTP code is extracted.
  • the authentication virtual code is verified to be a code generated at the present time. That is, when the generation time of the authentication virtual code is included within a range including a preset count value from the time when the server receives the authentication virtual code, the authentication virtual code is verified to be a code generated at the present time. .
  • the server 30 determines that the authentication virtual code is a normal code and completes user authentication.
  • the server 30 in the case of user authentication during a financial transaction, when the user is verified by the server 30 and the verification is completed whether the authentication virtual code is normally generated, the server 30 sends a user authentication approval message to the financial company. Will be sent to the server. Accordingly, the financial company server may approve the user to continue the financial transaction.
  • the server 30 in the case of user authentication at the time of access request, when the user is confirmed by the server 30 and the verification is completed whether the authentication virtual code is normally generated, the server 30 sends a user authentication approval message. It will be sent to the security system management server. Accordingly, the management server can authorize the user to enter the security area.
  • User authentication method using the authentication virtual code may further include the step of registering the authentication card using the user information and authentication card data of the user having the authentication card in the server. .
  • the server 30 searches for a specific authentication card storage location in the storage location search algorithm based on the point in time at which the authentication card is requested to be registered by the user, and registers the authentication card in the searched authentication card storage location.
  • Authentication card registration can be performed by storing the requested user information (that is, user information holding the authentication card).
  • the user information may be information directly input by the user through a user terminal in which the dedicated virtual code generation program is embedded or installed, or may be information generated based on user login information of the dedicated virtual code generation program. have.
  • the authentication card to be issued is registered in advance in the server.
  • the corresponding authentication card is activated in the server.
  • the activated card is given a count in the virtual code generation function for authentication, thereby allowing the user to request user authentication using the corresponding authentication card.
  • the dedicated program 21 receives authentication card data including the serial number or the authentication card number from the authentication card 10 at the time of registration of the authentication card.
  • the dedicated program 21 receives user information from the user at the time of registration of the authentication card, or generates user information based on the login information of the dedicated program 21 of the user. Thereafter, the dedicated program 21 transmits the authentication card number and the user information to the server 30.
  • the dedicated program 21 receives the setting data for specifying the authentication virtual code generation function or authentication virtual code generation function from the server 30. Receive.
  • the dedicated program 21 includes an authentication virtual code generation function for generating an authentication virtual code that can search for a specific count registered with the authentication card in the server (30).
  • the server 30 receives a registration request from the dedicated program 21 included in the user terminal. That is, the user receives the authentication card 10 from the financial company and registers the authentication card 10 in the dedicated program 21 built in or installed in the user terminal 20, and the dedicated program 21 is the server 30. Register by sending authentication card data and user information.
  • the card company may register the card in the card company server before issuing a credit card to the user, and then activate the card when a registration request is received by the user. Accordingly, the user can perform general financial transactions using the authentication card for financial transactions, and can also perform user authentication during financial transactions.
  • a user when a user performs a general financial transaction using an authentication card for financial transactions, it is the same as performing a payment using a credit card (or check card) when purchasing an item offline.
  • the user when the user performs the user authentication for online banking, etc. using the authentication card for financial transactions, the user tagging the authentication card for financial transactions on the user terminal dedicated program (21) To generate a virtual code for authentication. Thereafter, the user may complete user authentication using the generated virtual code for authentication.
  • the server 30 receives a registration request from the dedicated program 21 included in the user terminal. That is, the user receives the authentication card 10 from the administrator who manages the security area or system and registers the authentication card 10 in the dedicated program 21 built in or installed in the user terminal 20, and the dedicated program ( 21) transmits and registers the authentication card data and the user information to the server (30).
  • the company may register the pass in the company server before issuing a pass to the employee, and then activate the card when a registration request is received by the employee. Accordingly, the user can perform general access using the access authentication card, and also perform user authentication at the time of access.
  • access to a specific space may be performed by tagging the authentication card to the access device.
  • the user performs the user authentication for access to the secure area using the access authentication card
  • the user has executed the access authentication card for the exclusive program.
  • the virtual code for authentication generated in the dedicated program can be output as NFC (Near Field Communication), QR code, etc. to allow access.
  • NFC Near Field Communication
  • QR code QR code
  • the user authentication method using the virtual code for authentication according to an embodiment of the present invention described above may be implemented as a program (or an application) to be executed in combination with a computer which is hardware and stored in a medium.
  • the above program may be implemented in C, C ++, JAVA, Ruby, which can be read by the computer's processor (CPU) through the computer's device interface in order for the computer to read the program and execute the methods implemented as the program.
  • Code may be coded in a computer language such as machine language. Such code may include functional code associated with a function or the like that defines the necessary functions for executing the methods, and includes control procedure related control code necessary for the processor of the computer to execute the predetermined procedure. can do.
  • the code may further include memory reference code for additional information or media required for the computer's processor to execute the functions at which location (address address) of the computer's internal or external memory should be referenced. have.
  • the code may be used to communicate with any other computer or server remotely using the communication module of the computer. It may further include a communication related code for whether to communicate, what information or media should be transmitted and received during communication.
  • the stored medium refers to a medium that stores data semi-permanently and can be read by a device, not a medium that stores data for a short time such as a register, a cache, a memory, and the like.
  • examples of the storage medium include, but are not limited to, a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
  • the program may be stored in various recording media on various servers to which the computer can access or various recording media on the computer of the user.
  • the medium may also be distributed over network coupled computer systems so that the computer readable code is stored in a distributed fashion.

Abstract

인증용가상코드를 이용한 사용자 인증 방법 및 시스템이 제공된다. 상기 인증용가상코드를 이용한 사용자 인증 방법은 서버가 인증용가상코드를 수신하는, 인증용가상코드수신단계; 상기 서버가 상기 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 상기 인증용카드가 등록된 인증용카드 저장위치를 탐색하는, 저장위치탐색단계; 상기 서버가 탐색된 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하는 단계; 상기 서버가 상기 인증용가상코드가 수신된 시점을 기반으로 인증용가상코드를 검증하는 단계; 및 상기 서버가 사용자 인증을 승인하는 단계를 포함한다.

Description

인증용가상코드를 이용한 사용자 인증 방법 및 시스템
본 발명은 인증용가상코드를 이용한 사용자 인증 방법 및 시스템에 관한 것이다.
OTP(One Time Password)는 무작위로 생성되는 난수의 일회용 패스워드를 이용하는 사용자 인증 방식이다. OTP 인증 방식은 보안을 강화하기 위하여 도입한 시스템으로, 로그인할 때마다 일회용 패스워드를 생성하여 사용자 인증을 수행하기 때문에, 동일한 패스워드가 반복해서 사용됨으로 발생하는 보안상의 취약점을 극복할 수 있다.
하지만, 기존의 OTP 인증 방식은 시작 시에 비밀번호를 입력하는 등의 방식으로 로그인하여 사용자가 누구인지를 파악한 후에, 해당 사용자에게 부여된 OTP 함수를 이용하여 OTP를 생성하고, 이를 통해 OTP 인증을 완료하는 방식으로, OTP 인증을 수행할 때마다 로그인을 해야한다는 불편함이 있다.
따라서, 사용자가 인증을 요청할 때마다 로그인하지 않고도 OTP를 생성하여 사용자 인증을 수행할 수 있는 발명이 필요하다.
본 발명이 해결하고자 하는 과제는 인증용카드의 태깅 기반으로 생성된 인증용가상코드를 이용하여 사용자 로그인 없이 사용자 인증을 수행할 수 있는 인증용가상코드를 이용한 사용자 인증 방법 및 시스템을 제공하는 것이다.
또한, 인증용카드를 이용하여 사용자 인증을 요청할 때마다, 중복 생성되지 않으면서 단위카운트 간격으로 신규 생성되는 인증용가상코드를 제공할 수 있는 인증용가상코드를 이용한 사용자 인증 방법 및 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 인증용가상코드를 이용한 사용자 인증 방법은 서버가 인증용가상코드를 수신하되, 상기 인증용가상코드는 인증용카드에서 제공된 인증용카드데이터를 기반으로 인증용가상코드생성용 프로그램에 포함된 인증용가상코드생성함수에 의해 생성되는 것인, 인증용가상코드수신단계; 상기 서버가 상기 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 상기 인증용카드가 등록된 인증용카드 저장위치를 탐색하되, 상기 저장위치탐색알고리즘은 상기 인증용가상코드생성함수에 매칭되는 것으로서, 상기 인증용가상코드 내의 적어도 하나의 세부코드를 기반으로 상기 인증용카드 저장위치를 탐색하는 것인, 저장위치탐색단계; 상기 서버가 탐색된 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하는 단계; 상기 서버가 상기 인증용가상코드가 수신된 시점을 기반으로 인증용가상코드를 검증하는 단계; 및 상기 서버가 사용자 인증을 승인하는 단계를 포함한다.
또한, 상기 인증용가상코드는, 상기 인증용카드에 포함된 상기 인증용카드데이터가 상기 인증용가상코드생성용 프로그램으로 제공된 시간데이터 또는 상기 인증용카드를 상기 인증용가상코드생성용 프로그램에 태깅하여 사용자 인증이 요청된 시간데이터를 기반으로 생성되는 것일 수 있다.
또한, 상기 인증용가상코드는, 상기 인증용카드데이터 내에 포함된 인증용카드 시리얼번호와 상기 인증용가상코드생성용 프로그램 내에 포함된 시리얼번호를 조합한 조합시리얼번호를 기반으로 하여 생성되는 것일 수 있다.
또한, 상기 서버가 인증용카드를 보유한 사용자의 사용자 정보 및 인증용카드데이터를 이용하여 인증용카드를 등록하는 단계;를 더 포함하며, 상기 인증용카드를 등록하는 단계는, 상기 서버가 인증용카드 등록 시점을 기반으로 상기 저장위치탐색알고리즘 내에 특정한 인증용카드 저장위치를 탐색하고, 탐색된 상기 인증용카드 저장위치에 상기 사용자 정보를 저장하여 등록을 완료하는 것일 수 있다.
또한, 상기 인증용가상코드를 검증하는 단계는, 상기 서버가 수신된 상기 인증용가상코드의 수신 시점과 상기 인증용가상코드생성용 프로그램에서 인증용가상코드생성함수를 이용하여 생성된 상기 인증용가상코드의 생성 시점을 비교하여, 상기 생성 시점이 상기 수신 시점으로부터 오차 범위 내에 포함된 경우 수신된 상기 인증용가상코드가 정상 코드인 것으로 판단하는 것일 수 있다.
또한, 상기 인증용가상코드는 특정한 시간간격으로 설정된 단위카운트마다 변경되는 제1코드 및 제2코드를 포함하고, 상기 제1코드는 상기 서버에서 인증용카드 발급을 시작한 최초시점으로부터 경과된 단위카운트를 기반으로 생성되고, 상기 제2코드는 특정한 사용자의 인증용카드가 등록된 시점으로부터 경과된 단위카운트를 기반으로 생성되는 것일 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 일 면에 따른 인증용가상코드를 이용한 사용자 인증 프로그램은, 하드웨어인 컴퓨터와 결합되어 상기 인증용가상코드를 이용한 사용자 인증 방법을 실행하며, 매체에 저장된다.
상술한 과제를 해결하기 위한 본 발명의 다른 일 면에 따른 사용자 인증을 위한 인증용가상코드생성장치는 사용자의 인증용카드로부터 제공된 인증용카드데이터를 기반으로 하나 이상의 세부코드를 생성하는 세부코드생성부; 인증용가상코드생성함수를 이용하여 상기 하나 이상의 세부코드를 조합하여 인증용가상코드로 생성하는 인증용가상코드생성부; 및 생성된 상기 인증용가상코드를 서버로 전송하여 사용자 인증을 요청하는 인증용가상코드제공부;를 포함하고, 상기 인증용가상코드는, 상기 인증용카드에 포함된 상기 인증용카드데이터가 제공된 시간데이터 또는 상기 인증용카드를 태깅하여 사용자 인증이 요청된 시간데이터, 및 상기 인증용카드데이터 내에 포함된 인증용카드 시리얼번호와 상기 인증용가상코드생성장치 내에 포함된 인증용가상코드생성용 프로그램의 시리얼번호를 조합한 조합시리얼번호를 기반으로 하여 생성되는 것이다.
상술한 과제를 해결하기 위한 본 발명의 다른 일 면에 따른 사용자 인증을 위한 인증용가상코드검증장치는 인증용가상코드를 수신하여 사용자 인증을 요청받는 인증용가상코드수신부; 상기 인증용가상코드에 포함된 하나 이상의 세부코드를 추출하는 세부코드추출부; 추출된 상기 하나 이상의 세부코드를 기반으로 저장위치탐색알고리즘 내에 인증용카드가 등록된 인증용카드 저장위치를 탐색하는 저장위치탐색부; 탐색된 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하는 사용자정보추출부; 상기 인증용가상코드수신부가 상기 인증용가상코드를 수신한 시점과 상기 인증용가상코드가 인증용가상코드생성수단에서 인증용가상코드생성함수를 이용하여 생성된 시점을 비교하여, 상기 인증용가상코드를 검증하는 인증용가상코드검증부; 및 상기 인증용가상코드의 검증이 완료되면 사용자 인증을 승인하는 사용자인증승인부;를 포함하되, 상기 인증용가상코드검증부에 의해 상기 생성 시점이 상기 수신 시점으로부터 오차 범위 내에 포함된 것으로 확인되어 상기 인증용가상코드가 정상 코드인 것으로 판단되면, 상기 사용자인증승인부에 의해 사용자 인증이 승인되는 것을 특징으로 하며, 상기 저장위치탐색알고리즘은 상기 인증용가상코드생성함수에 매칭되는 것이다.
상술한 과제를 해결하기 위한 본 발명의 다른 일 면에 따른 사용자 인증을 위한 인증용카드장치는 인증용카드데이터를 포함하는 IC 칩; 및 무선통신을 통해 인증용가상코드생성수단으로 상기 인증용카드데이터를 제공하는 통신부;를 포함하고, 상기 인증용카드데이터는 상기 인증용카드장치 제작 시에 상기 인증용카드장치에 부여된 특정한 데이터이며, 상기 인증용가상코드생성수단은 수신된 상기 인증용카드데이터를 기반으로 인증용가상코드생성함수를 이용하여 인증용가상코드를 생성하고, 생성된 인증용가상코드를 서버로 제공하며, 상기 서버는, 제공된 인증용가상코드를 기반으로 상기 인증용가상코드생성함수와 매칭된 저장위치탐색알고리즘 내에 상기 인증용카드장치가 등록된 인증용카드 저장위치를 탐색하고, 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하고, 상기 서버가 상기 인증용가상코드의 수신 시점과 상기 인증용가상코드생성수단에서 인증용가상코드생성함수를 이용하여 생성된 상기 인증용가상코드의 생성 시점을 비교하여, 상기 생성 시점이 상기 수신 시점으로부터 오차 범위 내에 포함된 경우 수신된 상기 인증용가상코드가 정상 코드인 것으로 판단하여 사용자 인증을 승인하는 것이다.
또한, 상기 인증용카드장치가 결제를 위한 카드로 사용되는 경우, 결제 시의 태그와 사용자 인증 시의 태그를 구분하는 판단부를 더 포함하며, 상기 판단부에 의해 결제 시의 태그로 판단되는 경우, 상기 통신부는 상기 IC 칩에 포함된 결제를 위한 카드정보를 결제용 단말기로 제공하고, 상기 판단부에 의해 사용자 인증 시의 태그로 판단되는 경우, 상기 통신부는 인증용가상코드를 생성하기 위한 인증용카드데이터를 인증용가상코드생성수단으로 제공할 수 있다.
또한, 상기 인증용카드장치가 출입을 위한 카드로 사용되는 경우, 출입 시의 태그와 사용자 인증 시의 태그를 구분하는 판단부를 더 포함하며, 상기 판단부에 의해 출입 시의 태그로 판단되는 경우, 상기 통신부는 상기 IC 칩에 포함된 출입을 위한 식별정보를 출입용 기기로 제공하고, 상기 판단부에 의해 사용자 인증 시의 태그로 판단되는 경우, 상기 통신부는 인증용가상코드를 생성하기 위한 인증용카드데이터를 인증용가상코드생성수단으로 제공할 수 있다.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.
첫째, 인증용카드를 이용하여 사용자 인증을 요청할 때마다, 중복 생성되지 않으면서 단위카운트 간격으로 신규 생성되는 인증용가상코드를 제공할 수 있다.
둘째, 인증용가상코드생성장치에 의해 단위카운트 간격으로 신규 생성되는 인증용가상코드의 생성 시점과, 인증용가상코드검증장치에서 인증용가상코드가 수신되는 인증용가상코드의 수신 시점을 비교하여, 인증용가상코드생성장치에서 생성된 인증용가상코드가 현시점에 생성된 코드인지 확인할 수 있다. 즉, 사용자가 인증용카드를 이용하여 현시점에 생성된 인증용가상코드를 이용하여 사용자 인증을 요청하였는지를 판단할 수 있다.
셋째, 인증용카드의 태깅 기반으로 생성된 인증용가상코드를 이용하여 인증용가상코드검증장치 내에 저장된 사용자 정보를 추출함으로써, 사용자 인증 요청 시 따로 로그인을 하지 않아도 인증 요청한 사용자가 누구인지 확인할 수 있다.
넷째, 단위카운트마다 인증용가상코드가 신규로 생성되어 중복되는 인증용가상코드가 정해진 전 주기 내에 등장하지 않거나 인증용가상코드검증장치 에서 사용자 정보를 추출할 수 있는 인증용가상코드가 생성되는 순서를 랜덤하게 함에 따라, 인증용가상코드 유출 시에도 사용자 정보가 유출되지 않는 효과를 제공한다.
다섯째, 인증용가상코드를 생성하는 인증용가상코드생성장치(예를 들어, 사용자 단말)에는 인증용가상코드생성함수가 저장되고, 인증용가상코드를 이용하여 사용자 정보를 추출하고 인증용가상코드가 정상적인 코드인지 검증하는 인증용가상코드검증장치(예를 들어, 서버 등)에는 인증용가상코드검증을 위한 알고리즘이 추가되면 되므로, 인증용가상코드 생성 및 검증을 위한 알고리즘이 유출되는 것을 방지할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 시스템의 구성도이다.
도 2는 발명의 일 실시예에 따른 인증용카드장치의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 인증용가상코드생성장치의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 인증용가상코드검증장치의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 방법의 순서도이다.
도 6은 본 발명의 일 실시예에 따른 k각형의 구름이동을 통해 인증용카드의 저장위치를 탐색하는 저장위치탐색알고리즘에 대한 예시도이다.
도 7은 본 발명의 일 실시예에 따른 세부코드를 기반으로 트랙상을 이동하여 인증용카드의 저장위치를 탐색하는 저장위치탐색알고리즘에 대한 예시도이다.
도 8은 본 발명의 일 실시예에 따른 인증용가상코드의 검증을 설명하기 위한 예시도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 '사용자 인증'은 출입, 로그인, 금융거래 등 보안이 요구되는 영역으로 사용자가 통과할 수 있도록 승인하는 절차를 의미한다.
본 명세서에서 '금융거래'는 금융사와 이루어지는 절차를 의미한다. '금융거래'는 카드결제, 은행계좌로부터의 입출금 등을 포함한다.
본 명세서에서 '문자'는 코드를 구성하는 구성요소로서, 대문자알파벳, 소문자알파벳, 숫자 및 특수문자 등의 전부 또는 일부를 포함한다.
본 명세서에서 '코드'는 문자가 나열된 문자열을 의미한다.
본 명세서에서 '인증용카드'는 인증용가상코드를 생성하기 위한 용도의 카드로서, 별도의 카드번호 또는 식별번호(예를 들어, 시리얼번호)를 포함하는 카드를 의미한다.
본 명세서에서 '인증용가상코드'는 인증용가상코드생성수단에서 인증용카드로부터 제공된 정보를 기반으로 생성되는 코드로서, 인증용가상코드검증수단에서 사용자 정보를 추출하여 사용자인증을 수행하는데 이용되는 코드를 의미한다. 즉, '인증용가상코드'는 사용자 정보를 추출하고 검증할 수 있도록 단위카운트마다 임시적으로 부여된 가상의 코드를 의미한다.
본 명세서에서 '세부코드'는 인증용가상코드에 포함되는 일부코드를 의미한다.
본 명세서에서 '단위카운트'는 특정한 시간간격으로 설정되어, 시간간격이 경과됨에 따라 변경되는 것으로 정의된 단위이다. 예를 들어, 1카운트는 특정한 시간간격(예를 들어, 1.5초)으로 설정되어 사용될 수 있다.
본 명세서에서 '인증용가상코드생성함수'는 인증용가상코드를 생성하는데 이용되는 함수를 의미한다.
본 명세서에서 '구름이동'은 대상체가 회전하면서 병진운동을 하는 것을 의미한다. 즉, '구름이동'은 회전운동과 병진운동을 함께 수행하면서 이동하는 것으로서, 회전하는 대상체의 각 지점이 이동하는 축 상에 차례대로 접하면서 이동하는 것을 의미한다.
본 명세서에서 '저장위치'는 사용자에 의해 인증용카드 등록이 요청된 시점에 해당하는 트랙 상 지점(카운트)을 의미한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 시스템의 구성도이다.
도 1에 도시된 바와 같이, 사용자 인증 시스템은 인증용카드(10), 인증용가상코드생성수단(20) 및 서버(30)를 포함한다.
인증용카드(10)는 내부에 포함된 정보를 인증용가상코드생성수단(20)으로 전송하여 인증용가상코드생성수단(20)이 인증용가상코드를 생성할 수 있게 한다.
일 실시예로, 인증용카드(10)는 인증용가상코드생성수단(20)과 통신을 수행함에 따라 인증용가상코드를 생성하는데 필요한 정보를 전송한다. 예를 들어, 인증용카드(10)는 인증용가상코드생성수단(20)과 근거리무선통신(Near Field Communication; NFC)으로 통신을 수행함에 따라, 인증용가상코드생성수단(20)의 일측에 접촉되어 인증용카드(10) 내에 포함된 데이터를 인증용가상코드생성수단(20)으로 전송한다. 인증용카드(10)에서 제공된 데이터를 인증용가상코드생성수단(20)에서 사용하는 방식에 대해서는 상세히 후술한다.
또한, 일 실시예로, 인증용카드(10)는 서버(30)에 초기 등록될 수 있다. 인증용카드(10)를 서버(30)에 초기등록하는 방식에 대해서는 상세히 후술한다.
일 실시예로, 인증용카드(10)는 인증용카드데이터를 포함하고 있는 공카드로서, 보안을 위해 사용자 인증이 필요한 경우에만 사용될 수 있다. 사용자 인증시, 인증용카드(10)는 인증용가상코드생성수단(20)(예를 들어, 사용자 단말)로 인증용카드데이터를 제공하여 인증용가상코드생성수단(20)에 내장 또는 설치된 전용프로그램에 의해 인증용가상코드가 생성되도록 한다. 이때, 인증용카드(10)는 는 사용자에 의해 별도로 구입될 수 있다. 들어, 사용자는 마트 또는 편의점 등에서 원하는 디자인의 인증용카드(10)를 구입하여 사용할 수 있다.
또한, 일 실시예로, 인증용카드(10)는 금융거래용 인증용카드로 사용될 수 있다. 즉, 일반적인 결제를 위한 카드, 예를 들어, 신용카드 또는 체크카드 등으로 사용될 수 있고, 동시에 금융거래시 보안 인증이 필요한 경우 인증용가상코드를 생성하는 카드로서 사용될 수 있다. 금융거래 시, 인증용카드(10)는 인증용가상코드생성수단(20)(예를 들어, 사용자 단말)로 인증용카드데이터를 제공하여 인증용가상코드생성수단(20)에 내장 또는 설치된 전용프로그램에 의해 인증용가상코드가 생성되도록 한다. 이때, 금융거래를 위한 인증용카드(10)는 금융사 등으로부터 제공받아서 사용될 수 있다. 예를 들어, 특정한 금융사 또는 카드사에서 본인들이 발급하는 카드를 사용하는 사용자가 보다 안전하게 서비스를 이용할 수 있도록, 사용자에게 인증용가상코드 생성을 위한 기능을 일반 결제 카드에 포함시켜 금융거래용 인증용카드(10)를 제공할 수 있다.
또한, 다른 일 실시예로, 인증용카드(10)는 출입용 인증용카드로 사용될 수 있다. 즉, 일반적인 출입을 위한 카드, 예를 들어, 출입증, 사원증 등으로 사용될 수 있고, 동시에 보안이 요구되는 시스템 또는 공간에 출입하기 위해 보안 인증이 필요한 경우 인증용가상코드를 생성하는 카드로서 사용될 수 있다. 보안 영역 출입 시, 인증용카드(10)는 인증용가상코드생성수단(20)(예를 들어, 사용자 단말 또는 보안 장치)로 인증용카드데이터를 제공하여 인증용가상코드생성수단(20)에 내장 또는 설치된 전용프로그램에 의해 인증용가상코드가 생성되도록 한다. 이때, 출입을 위한 인증용카드(10)는 새집에 입주하거나, 또는 회사에 취직하는 등 사용자가 특정 그룹에 속했을 때 해당 그룹의 관리자로부터 지급받는 출입카드로서, 특정 공간으로의 출입을 허가받기 위해 사용되며, 동시에 특정 공간 내에 보안이 요구되는 영역으로의 출입 시 사용자 인증을 위해 사용될 수 있다.
또한, 일 실시예로, 인증용카드(10)는 제작 시에 인증용카드번호, 인증용카드 시리얼번호 등을 포함하는 인증용카드데이터가 부여된다. 또한, 일 실시예로, 인증용카드(10)는 내부에 인증용카드데이터를 포함할 뿐, 외부로 인증용카드데이터(예를 들어, 인증용카드번호)를 노출하지 않는다.
인증용가상코드생성수단(20)은 인증용카드(10)의 태깅 기반으로 인증용가상코드를 생성하기 위한 전용프로그램 또는 전용어플리케이션(이하, 전용프로그램(21))이 내장 또는 설치되어 있는 장치를 의미한다.
일 실시예로, 전용프로그램(21)은 인증용카드(10)와 통신을 수행하여 인증용카드데이터를 제공받는 역할을 수행한다. 즉, 인증용가상코드생성수단(20)은 인증용카드(10)와 무선통신(예를 들어, 근접에 따른 NFC 통신)을 수행함에 따라 인증용카드데이터를 수신한다.
또한, 일 실시예로, 전용프로그램(21)은 인증용카드(10)로부터 제공받은 인증용카드데이터를 이용하여 사용자 인증을 위한 인증용가상코드를 생성하는 역할을 수행한다. 즉, 전용프로그램(21)은 인증용가상코드생성함수를 포함하여 인증용카드(10)로부터 제공받은 인증용카드데이터의 전부 또는 일부를 이용하여 인증용가상코드를 생성한다. 예를 들어, 전용프로그램(21)은 인증용카드데이터 내에 포함된 인증용카드 시리얼번호(Serial number)를 인증용가상코드생성함수의 시드데이터로 이용하여 인증용가상코드를 생성한다. 또한, 예를 들어, 전용프로그램(21)은 인증용카드(10)로부터 수신한 인증용카드 시리얼번호와 전용프로그램의(21) 시리얼번호를 결합한 조합시리얼번호를 인증용가상코드생성함수의 시드데이터로 이용할 수 있다.
또한, 일 실시예로, 전용프로그램(21)은 인증용카드(10)를 서버(30)에 등록하는 역할을 수행한다. 즉, 사용자는 인증용카드(10)를 구입하거나 카드사 등으로부터 제공받아서 인증용가상코드생성수단(20)(즉, 사용자 단말)에 내장 또는 설치된 전용프로그램(21)에 인증용카드(10)를 등록하고, 전용프로그램(21)은 서버(30)로 인증용카드데이터 및 사용자 정보를 전송하여 등록한다.
구체적인 예로, 전용프로그램(21)은 인증용카드 등록 시에 인증용카드(10)로부터 시리얼번호 및 인증용카드번호를 포함하는 인증용카드데이터를 수신한다. 또한, 전용프로그램(21)은 인증용카드 등록 시에 사용자로부터 사용자 정보를 입력받거나, 사용자의 전용프로그램(21) 로그인 정보를 기반으로 사용자 정보를 생성한다. 그 후, 전용프로그램(21)은 인증용카드데이터와 사용자 정보를 서버(30)로 전송한다. 서버(30)가 특정카운트에 인증용카드(10)를 등록함에 따라, 전용프로그램(21)은 서버(30)로부터 인증용가상코드생성함수 또는 인증용가상코드생성함수를 특정하기 위한 설정데이터를 수신한다. 이를 통해, 전용프로그램(21)은 서버(30) 내에 인증용카드가 등록된 특정카운트 탐색이 가능한 인증용가상코드를 생성하는 인증용가상코드생성함수를 포함할 수 있다.
서버(30)는 인증용가상코드생성수단(20)에서 생성된 인증용가상코드를 기반으로, 서버(30) 내에 인증용카드(10)가 등록된 위치를 탐색하여 해당 위치에 저장된 사용자 정보를 추출한다. 또한, 서버(30)는 인증용가상코드를 수신한 시점과, 인증용가상코드생성수단(20)에서 인증용가상코드가 생성된 시점을 기반으로 인증용가상코드를 검증한다. 인증용가상코드를 검증하여 사용자 인증을 수행하는 방식에 대해서는 상세히 후술한다.
또한, 서버(30)는 전용프로그램(21)에서 제공된 사용자 정보 또는 서버(30) 내에 기 저장되어 있는 사용자 정보를 인증용카드(10)의 등록이 요청된 특정카운트에 해당하는 지점에 저장하여, 인증용카드(10)를 초기등록한다. 인증용카드(10)를 서버(30)에 초기등록하는 방식에 대한 설명을 상세히 후술한다.
일 실시예로, 서버(30)는 전용프로그램(21)의 요청에 따라, 전용프로그램(21)으로부터 제공된 인증용카드데이터와 사용자 정보를 인증용카드 등록 시점에 해당하는 특정카운트에 저장한다. 여기서, 사용자 정보는 사용자가 사용자 단말에 내장 또는 설치된 전용프로그램(21)을 통해 입력한 정보이거나 또는 사용자의 전용프로그램(21) 로그인 정보를 기반으로 생성된 정보일 수 있다.
도 2는 발명의 일 실시예에 따른 인증용카드장치의 구성도이다.
도 2에 도시된 바와 같이, 인증용카드장치(100)는 IC 칩(110) 및 통신부(120)를 포함한다.
여기서, 인증용카드장치(100)는 사용자 인증을 위해 인증용가상코드생성장치(200)에 접촉되는 인증용카드(10)를 의미한다.
IC 칩(110)은 인증용카드장치(100)의 전면에 배치된 금속 칩으로서, 인증용카드장치(100)의 인증용카드데이터를 포함하는 역할을 수행한다. 여기서, 인증용카드데이터는 인증용카드번호, 인증용카드 시리얼번호 등을 포함하는 데이터를 의미한다.
통신부(120)는 인증용가상코드생성장치(200)로 통신하여 인증용카드데이터를 제공하는 역할을 수행한다. 여기서, 통신부(120)의 무선통신 방식으로는 NFC(Near Field Communication)뿐만 아니라, 블루투스(Bluetooth), BLE(Bluetooth Low Energy), 비콘(Beacon), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee 등이 이용될 수도 있다.
구체적인 예로, 통신부(120)는 IC 칩(110)에 연결되는 NFC(Near Field Communication) 통신부(예를 들어, NFC안테나)일 수 있다. 즉, 인증용카드장치(100)는 NFC통신이 가능한 인증용가상코드생성장치(200)에 근접됨에 따라 IC 칩(110) 내에 저장된 인증용카드데이터를 인증용가상코드생성장치(200)로 전송할 수 있다. 이를 통해, 인증용가상코드생성장치(200) 내의 전용프로그램(21)은 인증용카드데이터를 기반으로 인증용가상코드를 생성하거나 인증용카드(10)를 서버(30)에 등록하는 절차를 수행할 수 있다.
일 실시예로, 인증용카드장치(100)가 결제 기능을 포함하는 경우, 판단부(미 도시)를 더 포함하여, 인증용카드장치가 결제용으로 사용되었는지, 또는 사용자 인증용으로 사용되었는지를 판단하는 역할을 수행할 수도 있다. 즉, 판단부는 결제 시의 카드 태그와 사용자 인증 시의 카드 태그를 구분하여, 경우에 따라 상이한 카드데이터를 전송할 수 있다.
구체적인 예로, 판단부는 인증용카드장치(100)가 결제용 단말기에 태그된 것으로 판단하면, 결제용 단말기로 IC 칩(110)에 저장된 결제용카드정보(예를 들어, 결제용카드번호 또는 결제용시리얼번호)를 제공할 수 있다. 또한, 판단부는 인증용카드장치(100)가 금융거래시의 사용자 인증을 위해 인증용가상코드생성수단(20)(즉, 사용자 단말)에 태그된 것으로 판단하면, 사용자 단말에 내장 또는 설치된 전용프로그램(21)에 인증용가상코드 생성을 위해 필요한 인증용카드데이터(예를 들어, 인증용카드의 시리얼번호)를 제공할 수 있다. 이때, 결제용시리얼번호와 인증용카드의 시리얼번호는 동일한 번호일 수도 있고, 서로 상이한 번호일 수도 있다.
또한, 다른 예로, 인증용카드장치(100)는 결제용 단말기에 태그된 경우와 전용프로그램(21)이 내장 또는 설치된 사용자 단말에 태그된 경우를 구별하지 않고, 인증용카드장치(100)가 특정 기기에 태그되면 카드번호를 제공할 수도 있다. 이때, 결제용 단말기는 제공된 카드번호를 이용하여 결제를 진행하게 된다. 반면에, 전용프로그램(21)은 제공된 카드번호가 프로그램 내에 인증된(등록된) 카드번호인 것으로 판단한 후, 인증용카드장치(100) 내의 저장 영역에서 사용자 인증을 위한 시리얼번호를 가져올 수도 있다.
다른 일 실시예로, 인증용카드장치(100)가 출입 기능을 포함하는 경우, 판단부(미 도시)를 더 포함하여, 인증용카드장치(100)가 출입용으로 사용되었는지, 또는 사용자 인증용으로 사용되었는지를 판단하는 역할을 수행할 수도 있다. 즉, 판단부는 일반적인 출입 시의 카드 태그와 사용자 인증 시의 카드 태그를 구분하여, 경우에 따라 상이한 카드데이터를 전송할 수 있다.
구체적인 예로, 판단부는 인증용카드장치(100)가 일반적인 출입용 기기에 태그된 것으로 판단하면, 출입용 기기로 IC 칩(110)에 포함된 출입을 위한 식별정보, 예를 들어, 사용자 식별정보, 사용자 코드 등을 제공할 수 있다. 또한, 판단부는 인증용카드장치(100)가 보안영역 출입시의 사용자 인증을 위해 인증용가상코드생성수단(20)(즉, 사용자 단말)에 태그된 것으로 판단하면, 사용자 단말에 내장 또는 설치된 전용프로그램(21)에 인증용가상코드 생성을 위해 필요한 인증용카드데이터(예를 들어, 인증용카드의 시리얼번호)를 제공할 수 있다. 이때, 인증용가상코드 생성을 위해 필요한 인증용카드데이터는 일반적인 출입 시에 이용되던 식별코드와 동일할 수도 있다.
도 3은 본 발명의 일 실시예에 따른 인증용가상코드생성장치의 구성도이다.
도 3에 도시된 바와 같이, 인증용가상코드생성장치(200)는 세부코드생성부(210), 인증용가상코드생성부(220) 및 인증용가상코드제공부(230)를 포함한다.
인증용가상코드생성장치(200)는, 일 실시예로, 사용자 인증을 위한 인증용가상코드를 생성하는 프로그램(즉, 애플리케이션)이 설치된 사용자 단말일 수 있다.
세부코드생성부(210)는 인증용카드장치(100)에서 무선통신을 통해 제공된 인증용카드데이터를 기반으로 하나 이상의 세부코드를 생성하는 역할을 수행한다.
인증용가상코드생성함수는 하나 이상의 세부코드생성함수를 포함한다. 예를 들어, 인증용가상코드가 복수의 세부코드를 포함하는 경우, 인증용가상코드생성함수는 복수의 세부코드생성함수를 이용하여 복수의 세부코드를 생성하고, 복수의 세부코드를 결합하는 세부코드결합함수를 이용하여 인증용가상코드를 생성한다.
이때, 인증용가상코드는 인증용가상코드생성장치(200), 즉, 사용자 단말 내부에 내장 또는 설치된 전용프로그램(21)에 의해 단위카운트마다 생성되는 것으로서, 모바일 OTP(mobile one time password, mOTP)를 의미한다.
일 실시예로, 인증용가상코드생성장치(200)는 인증용카드장치(100)로부터 제공된 인증용카드의 시리얼번호를 인증용가상코드생성함수의 시드데이터 중 하나로 이용할 수 있다. 구체적인 예로, 세부코드생성부(210)는 하나의 세부코드생성함수를 이용하여 인증용카드장치(100)에서 제공된 인증용카드의 시리얼번호와 인증용가상코드생성장치(200)에 내장 또는 설치된 전용프로그램(21)의 시리얼번호를 조합한 조합시리얼번호를 각 세부코드생성함수의 시드데이터로 이용하여 각각의 세부코드를 생성한다. 이때, 세부코드생성부(210)는 사용자로부터 사용자 인증이 요청된 시점 또는 카운트 값도 이용하여 각각의 세부코드를 생성할 수 있다.
일 실시예로, 세부코드생성부(210)는 세부코드생성함수로 제1함수와 제2함수를 포함하여, 제1코드 및 제2코드를 생성할 수 있다. 이때, 인증용가상코드생성장치(200)는 보안성을 높이기 위해 제1코드를 생성하는 제1함수와 제2코드를 생성하는 제2함수를 세부코드생성함수로 포함할 뿐, 제1코드와 제2코드의 상관관계에 대한 데이터는 포함하지 않을 수 있다.
인증용가상코드생성부(220)는 인증용가상코드생성함수를 이용하여 하나 이상의 세부코드를 조합하여 인증용가상코드로 생성하는 역할을 수행한다. 일 실시예로, 인증용가상코드는 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성된다. 인증용가상코드생성함수는 복수의 세부코드를 조합하는 규칙(즉, 세부코드결합함수)을 포함한다. 즉, 인증용가상코드생성부(220)는 하나 이상의 세부코드를 인증용가상코드생성함수에 포함된 세부코드결합함수를 이용하여 조합할 수 있다.
복수의 세부코드를 결합하여 하나의 인증용가상코드를 생성하는 방식으로는 다양한 방식이 적용될 수 있다. 세부코드결합함수의 일 예로, 인증용가상코드생성부(220)는 N자리의 제1코드와 N자리의 제2코드를 번갈아 배치하는 방식으로 인증용가상코드를 생성할 수 있다. 또한, 다른 일 예로, 세부코드결합함수는 제1코드 뒤에 제2코드를 결합하는 함수일 수 있다. 인증용가상코드에 포함되는 세부코드가 늘어남에 따라 세부코드결합함수도 다양하게 생성될 수 있다.
또한, 일 실시예로, 인증용가상코드가 제1코드 및 제2코드의 특정한 규칙에 따른 조합으로 생성되는 경우, 제1코드와 제2코드는 사용자 정보가 저장된 저장위치탐색알고리즘 내의 인증용카드의 저장위치를 탐색하기 위한 각각의 역할을 수행할 수 있다. 예를 들어, 제1코드는 저장위치탐색의 시작지점을 설정하고, 제2코드는 특정한 탐색방식에 따라 상기 시작지점으로부터 상기 인증용카드의 저장위치로의 탐색경로를 설정한다. 즉, 인증용가상코드생성장치(200)에서 단위카운트마다 정상적으로 생성된 인증용가상코드가 제공되면, 인증용가상코드검증장치(300)는 제1코드에 대응하는 탐색시작지점으로부터 제2코드에 상응하는 탐색경로에 따라 이동한 지점을 사용자 정보가 저장된 지점(즉, 인증용카드의 저장위치)으로 판단한다. 인증용가상코드를 구성하는 제1코드와 제2코드를 기반으로 인증용카드의 저장위치를 탐색하는 구체적인 방식은 후술한다.
세부코드생성부(210)가 세부코드를 생성하는 방식의 일 실시예로, 세부코드생성부(210)는 단위카운트마다 새로운 세부코드를 생성하고, 이에 따라 인증용가상코드생성장치(200)는 단위카운트마다 새로운 인증용가상코드를 생성한다. 단위카운트마다 신규로 생성되는 인증용가상코드는 중복되어 생성되지 않는다. 구체적으로, 세부코드생성부(210)는, 단위카운드마다 신규생성되는 인증용가상코드가 특정한 사용자 또는 특정한 인증용가상코드생성장치(200)에게 정해진 기간 동안 중복생성되지 않을 뿐만 아니라, 특정한 그룹에 속한 사용자간에도 중복생성되지 않도록 설정될 수 있다.
인증용가상코드의 중복생성을 방지하는 구체적인 일 실시예로, M개 문자로 N자리의 제1코드 또는 제2코드를 생성하는 경우, 인증용가상코드생성함수에 포함되는 세부코드생성함수는 MN개의 코드를 제1코드 또는 제2코드로 생성할 수 있고, 각각의 코드를 세부코드생성함수가 구동되는 초기시점으로부터 각 카운트마다 매칭한다. 예를 들어, 단위카운트를 1초로 설정하는 경우, 세부코드생성함수가 최초 구동된 시점에서부터 매 초에 상이한 MN개의 코드를 매칭한다. 그리고, 특정한 세부코드생성함수를 이용하는 주기 또는 인증용가상코드생성장치(200)의 사용주기(예를 들어, 인증용가상코드를 생성하는 애플리케이션이 설치된 사용자 단말의 유효기간)를 MN 카운트에 해당하는 시간길이(예를 들어, 1카운트가 1초인 경우, MN 초)보다 짧은 시간길이로 설정하면 제1코드 또는 제2코드는 사용주기 동안에 동일한 코드가 중복 생성되지 않는다. 즉, 시간이 흐름에 따라 카운트가 증가할 때, 사용자가 특정시점에 인증용카드를 접촉하여 인증용가상코드생성장치(200)에 인증용가상코드생성요청을 하는 경우, 인증용가상코드생성장치(200)는 특정시점에 대응되는 카운트에 매칭된 코드값을 제1코드 또는 제2코드로 생성할 수 있다.
구체적으로, 알파벳 대문자와 0부터 9까지의 숫자를 코드에 포함 가능한 문자로 사용(즉, 36개의 문자를 사용)하고, 제1코드와 제2코드에 각각 6자리를 할당하는 경우, 인증용가상코드생성장치(200)는 제1코드 및 제2코드로 366개의 코드를 제공할 수 있다. 이때, 인증용가상코드생성장치(200)는 각각의 코드를 각 카운트마다 매칭시켜서, 각 카운트마다 변경된 제1코드 및 제2코드를 제공할 수 있다.
인증용가상코드의 중복생성을 방지하는 구체적인 다른 일 실시예로, 인증용가상코드생성장치(200)의 사용주기가 경과되면, 제1코드 또는 제2코드를 생성하는 함수(즉, 제1함수 또는 제2함수)를 변경하거나 제1코드와 제2코드의 매칭관계를 변경하여 이전 사용주기와 상이한 인증용가상코드가 생성되도록 한다. 인증용가상코드가 제1함수에 의해 생성되는 제1코드와 제2함수에 의해 생성되는 제2코드가 결합되는 경우, 제1코드생성함수 또는 제2코드생성함수가 변경되면, 인증용가상코드생성장치(200)는 제1코드 또는 제2코드가 등장하는 순서가 이전 사용주기와 달라짐에 따라 이전 주기와 상이한 인증용가상코드를 생성하는 인증용가상코드생성함수를 신규 사용주기에 적용할 수 있다. 또한, 인증용가상코드생성장치(200)는 이전 사용주기에서 사용된 인증용가상코드와 동일한 코드가 신규 사용주기 내 각 카운트의 인증용가상코드로 등장하지 않도록(즉, 제1함수에 따라 생성되는 제1코드와 제2함수에 따라 생성되는 제2코드의 매칭관계가 신규 사용주기의 모든 카운트에서 이전 사용주기 내에 포함된 매칭관계 중에 포함되지 않도록) 제1함수와 제2함수를 선택할 수 있다. 즉, MN 개의 코드를 1회씩 적용할 수 있는 사용주기를 경과한 후 인증용가상코드생성함수 조절 또는 갱신을 통해 이전 사용주기와 겹치는 인증용가상코드가 생성되지 않는 신규 사용주기의 인증용가상코드생성함수를 적용할 수 있다.
또한, 인증용가상코드의 중복생성을 방지하는 구체적인 또 다른 일 실시예로, 전체주기에서 사용자에 무관하게 중복된 인증용가상코드가 발생되지 않도록, 제1코드는 제1함수가 구동되는 초기시점으로부터 각 카운트마다 매칭된 코드 중에서 인증용가상코드 생성요청이 된 시점(또는 카운트)에 대응되는 코드값으로 설정하고, 제2코드는 인증용카드(10)마다 동일시점에 항상 상이하게 존재하는 값(즉, 장치식별값)을 반영하여 생성되는 코드값으로 설정하고, 인증용가상코드를 상기 제1코드와 제2코드가 결합된 코드값으로 이용할 수 있다. 제1코드는 각 카운트마다 상이한 코드값이 되고 제2코드는 동일시점에 인증용카드(10)마다 상이한 코드값을 가지게 되어서, 제1코드와 제2코드가 결합된 인증용가상코드는 모든 인증용카드(10)와 모든 시점에 상이한 코드값이 출력되게 된다.
또한, 다른 일 실시예로, 상기 인증용가상코드생성함수(또는 세부코드생성함수)는, M개의 문자를 오름차순으로 나열하는 다수의 나열규칙 중 어느 하나가 적용된다. 즉, 인증용가상코드생성장치(200)는 인증용가상코드생성함수 내에 포함되는 세부코드생성함수에 M개 문자를 오름차순으로 나열하는 규칙을 다양하게 적용하여 할 수 있다. 예를 들어, 알파벳 대문자를 오름차순으로 나열하는 나열규칙은, 일반적인 순서인 A, B, C,…, Z 순서가 될 수 있고, A, C, B,…, Z 순서가 될 수도 있다. 인증용가상코드생성함수에서 나열규칙이 달라짐에 따라 인증용가상코드생성함수가 구동되는 초기시점부터 각 카운트에 차례대로 코드가 매칭되는 순서가 달라지게 된다.
인증용가상코드제공부(230)는 생성된 인증용가상코드를 서버(30)로 제공하여 사용자 인증을 요청하는 역할을 수행한다.
일 실시예로, 인증용가상코드제공부(230)는 인증용가상코드를 외부로 출력한다. 예를 들어, 사용자가 인증용가상코드를 기반으로 결제 시 사용자 인증을 수행하고자 하는 경우, 인증용가상코드제공부(230)는 사용자가 인증용가상코드를 시각적으로 확인하거나 복사하여 다른 프로그램 또는 웹페이지에 붙여넣을 수 있도록 화면상에 출력한다. 즉, 사용자는 사용자 단말(20)의 화면 상에 출력된 인증용가상코드를 프로그램 또는 웹페이지에 붙여넣어 금융사 서버에 인증용가상코드를 제공할 수 있다.
다른 예로, 사용자가 인증용가상코드를 기반으로 출입 시 사용자 인증을 수행하고자 하는 경우, 인증용가상코드제공부(230)는 사용자가 인증용가상코드를 시각적으로 확인하거나 복사하여 다른 프로그램 또는 웹페이지에 붙여넣을 수 있도록 화면상에 출력한다. 또는, 인증용가상코드제공부(230)는 사용자가 사용자 단말(20)의 화면 상에 출력된 인증용가상코드를 NFC 등을 통해 보안 영역에 설치되어 있는 보안 장치에 제공할 수 있도록 화면상에 출력할 수도 있다.
도 4는 본 발명의 일 실시예에 따른 인증용가상코드검증장치의 구성도이다.
도 4에 도시된 바와 같이, 인증용가상코드검증장치(300)는 인증용가상코드수신부(310), 세부코드추출부(320), 저장위치탐색부(330), 사용자정보추출부(340), 인증용가상코드검증부(350) 및 사용자인증승인부(360)를 포함한다.
여기서, 인증용가상코드검증장치(300)는 인증용가상코드를 기반으로 인증용카드를 보유한 사용자의 사용자 정보를 추출하고, 또한 인증용가상코드를 기반으로 수신된 인증용가상코드가 정상적인 코드인지를 판단하여 사용자 인증을 수행하는 서버를 의미한다.
사용자인증요청수신부(310)는 인증용가상코드제공부(230)로부터 제공된 인증용가상코드와 기반으로 사용자 인증을 요청받는 역할을 수행한다.
일 실시예로, 결제 시 사용자 인증의 경우, 사용자인증요청수신부(310)는 사용자 단말에 내장 또는 설치된 전용프로그램에 의해 생성된 인증용가상코드를 금융사 앱를 통해 제공받아, 사용자인증을 요청받을 수 있다. 다른 일 실시예로, 출입 시 사용자 인증의 경우, 사용자인증요청수신부(310)는 사용자 단말 단말에 내장 또는 설치된 전용프로그램에 의해 생성된 인증용가상코드를 보안 장치 또는 보안 시스템 서버로부터 제공받아, 사용자인증을 요청받는다.
세부코드추출부(320)는 인증용가상코드에 포함된 하나 이상의 세부코드를 추출하는 역할을 수행한다.
일 실시예로, 세부코드추출부(320)는 인증용가상코드생성함수에 포함된 세부코드결합함수를 포함한다. 따라서, 인증용가상코드가 복수의 세부코드를 포함하는 경우, 세부코드추출부(320)는 세부코드결합함수를 적용하여 인증용가상코드에서 복수의 세부코드를 추출할 수 있다. 예를 들어, 인증용가상코드생성장치(200)에서 두 개의 세부코드(즉, 제1코드 및 제2코드)가 결합된 인증용가상코드를 생성하는 경우, 세부코드추출부(320)는 인증용가상코드의 문자배열에서 세부코드결합함수를 적용하여 제1코드 및 제2코드를 분리해낼 수 있다.
저장위치탐색부(330)는 추출된 하나 이상의 세부코드를 기반으로 저장위치탐색알고리즘 내에 인증용카드가 등록된 저장위치를 탐색하는 역할을 수행한다. 여기서, 저장위치탐색알고리즘은 인증용가상코드생성장치(200)에서 인증용가상코드를 생성할 때 이용했던 인증용가상코드생성함수에 매칭되는 것이다. 저장위치탐색부(330)에서 각각의 세부코드를 기반으로 인증용카드의 저장위치를 탐색하는 방식으로는 다양한 방식이 적용될 수 있다. 저장위치탐색부(330)가 복수의 세부코드를 기반으로 저장위치를 탐색하기 위해 세부코드 간에는 상관관계를 포함할 수 있다.
여기서, 저장위치는 사용자에 의해 인증용카드의 등록이 요청된 시점에 해당하는 트랙 상 지점(카운트)을 의미한다. 즉, 서버 내에서 해당 인증용카드에 대한 트랙이 구동되고, 특정 시점에 특정 사용자에 의해 특정 인증용카드의 등록이 요청되면, 해당 시점에 대응되는 카운트(즉, 트랙의 최종 구동시로부터 등록시점까지 경과된 카운트)에 해당 인증용카드가 등록되게 된다. 그리고 해당 인증용카드의 저장위치에는 해당 인증용카드를 사용하는 사용자의 정보가 매칭되어 저장되게 된다.
인증용가상코드가 제1코드 및 제2코드로 구성되는 경우, 세부코드 간에 상관관계를 가지는 일 실시예로, 저장위치탐색부(330)는 제1코드에 대응하는 탐색시작지점을 결정하고, 상기 탐색시작지점으로부터 제2코드에 상응하는 탐색경로에 따라 이동한 지점을 인증용카드의 저장위치로 찾을 수 있다. 즉, 상기 세부코드는, 저장위치탐색의 시작지점을 설정하는 제1코드 및 특정한 탐색방식에 따라, 상기 시작지점으로부터 상기 인증용카드의 저장위치로의 탐색경로를 설정하는 제2코드를 포함할 수 있다.
또한, 다른 일 실시예로, 인증용가상코드생성장치(200)가 단위카운트마다 신규 인증용가상코드를 제공함에 따라, 인증용가상코드검증장치(300)는 각 카운트마다 변경되는 제1코드 및 제2코드를 기반으로 탐색시작지점과 탐색경로를 설정하여 인증용카드의 저장위치(즉, 인증용카드가 등록된 위치)를 탐색할 수 있다.
또한, 다른 일 실시예로, 저장위치탐색부(330)는 상관관계를 가지는 복수의 세부코드를 이용하여 인증용카드의 저장위치를 찾기 위해, 저장위치탐색알고리즘을 포함할 수 있다. 저장위치탐색알고리즘은 인증용가상코드에 포함되는 각각의 세부코드 적용 시에 저장위치 탐색이 가능하도록 하는 알고리즘으로서, 인증용가상코드생성장치(200)에서 인증용가상코드를 생성할 때 이용했던 인증용가상코드생성함수에 매칭되는 것이다.
예를 들어, 인증용가상코드가 저장위치의 탐색시작지점을 결정하는 제1코드와 탐색시작지점으로부터의 저장위치 방향을 제시하는 제2코드를 포함하는 경우, 저장위치탐색알고리즘은 제1코드에 대응되는 지점에서 제2코드에 대응되는 방향을 지시할 때, 해당 위치에 인증용카드의 등록 시점이 매칭되는 저장위치가 배치되도록 조절하는 알고리즘이다.
사용자정보추출부(340)는 저장위치탐색부(330)에 의해 탐색된 인증용카드의 저장위치에 매칭되어 저장된 사용자 정보를 추출한다. 즉, 인증용가상코드검증장치(300)는 저장위치탐색알고리즘 내의 각각의 인증용카드의 저장위치에 해당 인증용카드를 사용하는 사용자 정보를 저장하고 있으므로, 사용자정보추출부(340)는 저장위치탐색알고리즘 내에서 특정 인증용카드 저장위치에 매칭되어 저장된 특정 사용자 정보를 추출할 수 있다. 이에 따라, 사용자 인증 시 별도로 로그인할 필요 없이, 사용자 인증을 요청한 사용자가 누구인지를 확인할 수 있게 된다.
저장위치탐색알고리즘을 이용함에 따라, 인증용가상코드검증장치(300)는 인증용가상코드에 포함된 제1코드와 제2코드가 변경되어도 인증용카드 저장위치(즉, 인증용카드 등록카운트)를 탐색하여, 해당 저장위치에 매칭되어 저장된 사용자 정보를 추출할 수 있다. 저장위치탐색알고리즘은 다양한 방식이 적용될 수 있으며, 구체적인 예시는 후술한다. 다만, 저장위치탐색알고리즘은 후술되는 예시에 한정되지 않는다.
예를 들어, 도 6을 참조하면, 저장위치탐색알고리즘이 제1코드에 해당하는 MN개의 코드가 나열된 트랙을 따라 구름이동하는 k각형(k는 MN)이며, k각형의 꼭지점이 제1코드 트랙 상에 코드가 배치되는 지점에 대응되면서 이동하는 경우, k각형의 각 꼭지점이 인증용카드의 저장위치와 매칭되고, 제1코드 트랙(즉, 제1트랙)과 k각형이 대응되는 지점이 제1코드에 대응하는 저장위치 탐색시작지점이 될 수 있다. 이때, 저장위치탐색부(330)는 세부코드추출부(320)에서 추출된 제1코드에 대응되는 지점에 k각형의 꼭지점이 접하도록 k각형을 구름이동를 적용할 수 있다. 이를 통해, 저장위치탐색부(330)는 k각형이 접한 제1트랙 상의 위치에서 제2코드에 상응하는 각도(예를 들어, k각형의 꼭지점을 향하도록 180도를 MN개로 분할한 특정한 각도)로 지시함에 따라, 인증용가상코드에 대응하는 인증용카드가 저장된 저장위치인 k각형의 꼭지점을 탐색할 수 있다.
구체적으로, 도 6에서와 같이, 인증용가상코드검증장치(300)는 제1코드에 대응하는 지점으로 k각형을 구름이동(즉, k각형의 각 꼭지점과 트랙 상의 각 지점이 차례대로 접하도록 하면서 이동)시킨다. 그 후, 인증용가상코드검증장치(300)는 제2코드에 상응하는 각도 방향을 지시하여 저장위치에 상응하는 꼭지점을 탐색한다.
저장위치탐색부(330)에 의해 저장위치 탐색알고리즘 내에서 인증용가상코드 내의 제1코드 및 제2코드를 이용하여 인증용카드의 저장위치 또는 인증용카드의 등록위치가 탐색된 후에, 사용자정보추출부(340)에 의해 해당 위치에 저장된 사용자 정보를 추출한다.
이외의 다양한 저장위치탐색알고리즘에 대한 상세한 설명은 후술한다.
인증용가상코드검증부(350)는 인증용가상코드수신부(310)가 인증용가상코드를 수신한 시점과 인증용가상코드가 인증용가상코드생성수단(즉, 사용자 단말)에서 인증용가상코드생성함수를 이용하여 생성된 시점을 비교하여, 인증용가상코드를 검증하는 역할을 수행한다.
일 실시예로, 도 8을 참조하면, 인증용가상코드검증부(350)는 인증용가상코드가 수신된 시점과 사용자 단말에 내장 또는 설치된 전용프로그램(21)에서 인증용가상코드생성함수를 이용하여 인증용가상코드가 생성된 시점을 비교하여, 생성 시점이 수신 시점으로부터 기 설정된 오차 범위 내에 포함된 경우 수신된 상기 인증용가상코드가 정상 코드인 것으로 판단할 수 있다.
또한, 인증용가상코드를 검증하는 방식에 대한 다른 일 실시예로, 제1코드 및 제2코드는 사용자단말(20)에 의해 인증용카드가 등록된 시점 또는 사용자 인증이 요청된 시점(예를 들어, 사용자 단말이 인증용카드로부터 인증용카드데이터를 수신한 시점 또는 사용자 단말이 인증용카드데이터로 인증용가상코드를 생성한 시점)으로부터 랜덤으로 생성되는 OTP코드만큼 부가된 기준 카운트에 대한 코드일 수 있다.
구체적인 실시예로, 인증용가상코드생성장치(200)가 가상보안코드를 외부로 출력하지 않고 제1코드 및 제2코드에 반영하여 생성한다. 인증용가상코드생성수단(예를 들어, 인증용가상코드생성 전용프로그램)은 인증용가상코드생성장치(즉, 사용자 단말) 내의 시리얼번호(즉, 고유값) 및 인증용카드의 시리얼번호 중 일부 또는 인증용카드 시리얼번호와 전용프로그램의 시리얼번호의 조합을 기반으로 가상보안코드값(예를 들어, OTP코드)를 생성하고, 인증용카드 등록시점에 가상보안코드값을 더한 카운트의 제1코드를 생성하고, 가상보안코드값에 대응되는 카운트의 제2코드를 생성(즉, 가상보안코드 자체를 제2코드로 생성)한다. 즉, 제1코드 및 제2코드는 사용자 단말(20)에 의해 인증용카드(10)가 서버(30)에 등록된 A시점으로부터 가상보안코드값만큼 이동(shifting)된 카운트를 기반으로 생성된다. A시점으로부터 이동(Shifting)된 카운트는 생성되는 가상보안코드 값에 따라 현재시점에 대응하는 카운트보다 이전 카운트가 될 수도 있고, 이후 카운트가 될 수도 있다. 인증용가상코드검증수단인 서버는 수신된 제1코드와 제2코드를 저장위치탐색알고리즘에 적용하여 인증용카드 저장위치(또는 등록위치)를 탐색할 수 있다. 이를 통해, 타인이 인증용가상코드를 구성하는 제1코드 및 제2코드가 제공되는 순서를 확인할 수 없게 되어, 보안성이 향상될 수 있다.
또한, 다른 일 실시예로, 인증용가상코드검증수단인 서버는 가상보안코드를 기반으로 생성된 제2코드에서 가상보안코드를 추출한 후, 가상보안코드생성함수(즉, OTP함수)를 인증용가상코드를 수신한 카운트로부터 특정범위 내의 카운트를 입력하여 산출된 OTP번호 중에 가상보안코드와 일치하는 값이 있는지 여부를 확인한다. 인증용가상코드검증수단인 서버는 제2코드에 제2함수의 역함수를 적용하여 제2코드 생성에 이용된 가상보안코드값(즉, OTP함수값)을 획득하고, 가상보안코드값과 동일한 값을 산출하는 카운트를 찾아낸다. 인증용가상코드의 전송시간이나 딜레이에 의해 인증용가상코드생성수단에서 가상보안코드가 생성된 시점과 인증용가상코드검증수단이 가상보안코드를 수신한 시점의 차이가 존재함에 따라 인증용가상코드검증수단이 인증용가상코드를 수신한 카운트와 가상보안코드에 해당하는 OTP번호를 생성한 카운트가 일치하지 않을 수도 있으므로, 서버는 인증용가상코드를 수신한 카운트로부터 오차범위를 허용한다. 이를 통해, 서버는 현시점에 생성된 인증용가상코드가 아닌 이전에 생성된 인증용가상코드로 사용자 인증을 수행하려는 것을 막을 수 있어서, 보안성이 향상될 수 있다. 또한, 사용자는, 인증용가상코드 입력 시에 특정한 자릿수의 가상보안코드를 입력하지 않아도 서버가 자체적으로 가상보안코드를 탐색하여 사용자를 검증할 수 있다.
또한, 다른 일 실시예로, 인증용가상코드생성수단은 사용자 인증이 요청된 시점에 사용자 단말 또는 전용프로그램 내의 시리얼번호(즉, 고유값) 및 인증용카드의 시리얼번호 중 일부 또는 양자의 조합을 시드데이터로 사용하여 생성된 가상보안코드값을 더한 카운트에 대응하는 제1코드를 생성하고, 인증용카드 등록시점(A시점)과 사용자인증요청시점(B시점) 간의 카운트 차이와 가상보안코드값을 더한 카운트에 대응하는 제2코드를 생성한다. 즉, 인증용가상코드생성 전용프로그램이 제1코드와 제2코드를 생성하는 수식은 다음과 같다.
제1코드 = f1(B시점 카운트 + 가상보안코드)
제2코드 = f2(B시점 카운트 - A시점 카운트 + 가상보안코드)
(A시점: 인증용카드 등록시점, B시점: 사용자인증요청시점의 카운트, 가상보안코드: OTP번호)
인증용가상코드증수단인 서버(30)는 수신한 인증용가상코드 내의 제1코드 및 제2코드를 기반으로 사용자 정보가 저장된 위치를 탐색하고, 해당 위치에 함께 저장된 시드데이터(즉, 인증용가상코드생성 전용프로그램 또는 사용자단말의 시리얼번호, 인증용카드 시리얼번호, 인증용가상코드생성 전용프로그램 시리얼번호 및 인증용카드 시리얼번호를 조합한 조합시리얼번호 중 인증용가상코드 생성 시에 이용되는 것)을 추출한다. 서버(30)는 시드데이터를 기반으로 사용자인증요청 수신시점으로부터 특정카운트 범위 내의 가상보안코드(즉, OTP번호)를 생성한다.
그 후, 서버(30)는 제1코드 및 제2코드를 기반으로 사용자 정보가 저장된 지점을 탐색함에 따라 인증용카드 등록시점(A시점)을 파악한다. 서버는 인증용카드 등록시점(A시점)으로부터 사용자인증요청 수신시점을 기준으로 특정카운트범위 내의 각각의 카운트까지의 카운트 개수와 가상보안코드(즉, OTP번호)의 합에 해당하는 계산값을 각각 산출하고, 상기 각각의 계산값 중에 제2코드에 대응하는 카운트수(즉, 제2코드에 제2함수의 역함수를 적용한 값)와 같은 카운트가 존재하는지 확인한다. 이를 통해, 서버는 인증용가상코드가 정상적으로 제공된 것인지 확인할 수 있다.
사용자인증승인부(360)는 인증용가상코드검증부(350)에 의해 인증용가상코드의 검증이 완료되면 사용자 인증을 승인하는 역할을 수행한다.
일 실시예로, 결제 시의 사용자 인증의 경우, 사용자인증승인부(360)에 의해 사용자가 확인되고, 인증용가상코드가 정상적으로 생성된 것인지 검증이 완료되면, 사용자인증승인부(360)는 사용자인증승인 메시지를 금융사 서버로 전송하게 된다. 이에 따라, 금융사 서버는 사용자가 금융거래를 계속 진행할 수 있도록 승인할 수 있다.
다른 일 실시예로, 출입 시의 사용자 인증의 경우, 사용자인증승인부(360)에 의해 사용자가 확인되고, 인증용가상코드가 정상적으로 생성된 것인지 검증이 완료되면, 사용자인증승인부(360)는 사용자인증승인 메시지를 보안 시스템 관리 서버로 전송하게 된다. 이에 따라, 관리 서버는 사용자가 보안 영역으로 들어올 수 있도록 승인할 수 있다.
도 5는 본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 방법의 순서도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 방법은, 서버가 서버가 인증용가상코드를 수신하는 단계(S100; 인증용가상코드수신단계), 상기 서버가 상기 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 상기 인증용카드가 등록된 인증용카드 저장위치를 탐색하는 단계(S200; 저장위치탐색단계), 상기 서버가 탐색된 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하는 단계(S300), 상기 서버가 상기 인증용가상코드가 수신된 시점을 기반으로 인증용가상코드를 검증하는 단계(S400), 및 상기 서버가 사용자 인증을 승인하는 단계(S500)를 포함한다. 이하, 각 단계에 대한 상세한 설명을 기재한다. 다만, 인증용가상코드생성장치(200)(즉, 전용프로그램이 포함된 사용자 단말(20)) 및 인증용가상코드검증장치(300)(즉, 서버(30))에 대한 설명 과정에서 상술된 내용에 대한 구체적인 개시는 생략한다.
단계 S100에서, 서버(30)는 서버가 인증용가상코드를 수신하여 사용자 인증을 요청받는다. 여기서, 인증용가상코드는 인증용카드에서 제공된 인증용카드데이터를 기반으로 인증용가상코드생성용 프로그램에 포함된 인증용가상코드생성함수에 의해 생성되는 것이고, 인증용카드데이터는 인증용카드(10)가 제작될 때 부여되는 특정한 데이터로서, 인증용카드의 카드번호, 시리얼번호 등을 포함한다.
일 실시예에 따라, 인증용가상코드는 인증용카드데이터가 인증용가상코드생성수단(20)(즉, 인증용가상코드생성용 프로그램)으로 제공된 시간데이터를 기반으로 생성되거나, 또는 인증용카드(10)를 상기 인증용가상코드생성용 프로그램에 태깅하여 사용자 인증이 요청된 시간데이터를 기반으로 생성될 수 있다.
다른 일 실시예에 따라, 인증용가상코드는 인증용카드데이터 내에 포함된 인증용카드 시리얼번호와 인증용가상코드생성용 프로그램 내에 포함된 프로그램 시리얼번호(즉, 애플리케이션 시리얼번호)를 조합한 조합시리얼번호를 기반으로 하여 생성될 수 있다.
인증용가상코드생성수단(20)은 전용프로그램(21) 내에 포함된 인증용가상코드생성함수를 이용하여 상기 시간데이터와 조합시리얼번호를 기반으로 인증용가상코드를 생성할 수 있다. 즉, 시간데이터와 조합시리얼번호를 특정한 규칙으로 조합하여 인증용가상코드를 생성하고, 생성된 인증용가상코드를 서버(30)에 제공하게 된다.
일 실시예로, 인증용가상코드생성수단(20)은 전용프로그램(21)을 이용하여, 인증용카드 시리얼번호, 전용프로그램 시리얼번호(즉, 애플리케이션 시리얼번호), 그리고 인증용카드 시리얼번호와 프로그램 시리얼번호가 조합된 조합시리얼번호를 각각의 세부코드생성함수의 시드데이터로 이용하여 각각의 세부코드를 생성할 수 있다.
각각의 세부코드생성함수를 이용하여 복수의 세부코드를 생성하면, 인증용가상코드생성수단(20)은 인증용가상코드생성함수에 포함되어 있는 세부코드결합함수를 이용하여 복수의 세부코드가 결합된 인증용가상코드를 생성할 수 있다. 예를 들어, 인증용가상코드생성수단(20)은 전용프로그램(21)을 이용하여, 각각의 세부코드로 생성된 조합시리얼번호와 인증용카드데이터를 수신한 시간데이터를 각각 세부코드결합함수의 시드데이터로 이용하여 인증용가상코드를 생성하게 된다.
이외에도, 인증용가상코드는 다양한 방식으로 생성될 수 있다. 즉, 인증용가상코드는 다양한 인증용가상코드생성함수에 의해 생성될 수 있다. 다양한 방식으로 인증용가상코드를 생성하는 것에 대한 상세한 설명은 도 3를 참조하여 상술한 설명과 중복되므로 구체적인 개시는 생략한다.
이후, 단계 S200에서, 서버(30)가 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 인증용카드(10)가 등록된 인증용카드 저장위치를 탐색한다. 여기서, 저장위치탐색알고리즘은 인증용가상코드생성수단(20)(즉, 사용자 단말)에 내장 또는 설치된 전용프로그램(21) 내에 포함된 인증용가상코드생성함수에 매칭되는 것으로서, 인증용가상코드 내의 적어도 하나의 세부코드를 기반으로 인증용카드 저장위치를 탐색할 수 있게 한다.
서버(30)는 인증용가상코드생성수단(20)을 통해 인증용카드(10)의 등록을 요청받으면, 해당 인증용카드에 대한 저장위치탐색알고리즘 내에 등록 요청된 시점에 해당하는 특정 지점(카운트)에 인증용카드를 등록하고, 해당 지점에 사용자 정보를 저장한다. 여기서, 사용자 정보는 인증용카드를 구입 또는 제공받아 등록을 요청한 카드 소유자의 정보를 의미한다.
인증용카드(10)가 서버(30)에 등록된 후, 서버(30)는 인증용가상코드생성수단(20)을 통해 인증용가상코드를 수신하여 사용자 인증을 요청받으면, 수신된 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 저장된 사용자 정보를 추출하여 사용자를 확인할 수 있게 된다.
일 실시예로, 서버(30)는 인증용카드(10)의 유형별로 상이한 저장위치탐색알고리즘을 포함하고 있어, 등록요청된 인증용카드(10)의 유형을 판단하고 적절한 저장위치탐색알고리즘 내에 인증용카드를 저장하게 된다. 그리고, 저장위치탐색알고리즘 내의 인증용카드 저장위치에 사용자 정보(인증용카드를 소유한 사용자의 정보)를 저장한다.
일 실시예에 따라, 인증용가상코드가 제1코드와 제2코드의 결합으로 생성된 경우, 서버(30)는 제1코드와 제2코드를 이용하여 저장위치탐색알고리즘 내에서 인증용카드 저장위치를 탐색하게 된다. 예를 들어, 제1코드는 저장위치탐색알고리즘 내에서 인증용카드의 저장위치탐색의 시작지점을 설정하는 코드이고, 제2코드는 특정한 탐색방식에 따라 시작지점으로부터 인증용카드 저장위치로의 탐색경로를 설정하는 코드일 수 있다.
도 6에 도시된 바와 같이, 서버(30)는 제1코드에 대응하는 위치를 시작지점으로 설정하고, 제2코드에 적용된 탐색방식에 따라 제2코드를 기반으로 k각형의 배치상태에서의 인증용카드 저장위치 또는 인증용카드 저장위치에 매칭된 지점(즉, k각형의 특정한 꼭지점)을 탐색한다. 저장위치는 k각형의 각각의 꼭지점에 매칭된다. 제1코드 트랙(즉, 제1트랙)과 k각형이 대응되는 지점이 제1코드에 대응하는 저장위치 탐색시작지점이 된다. 서버(30)는 탐색시작지점에서 제2코드를 기반으로 인증용카드 저장위치의 매칭지점을 탐색한다.
제2코드를 기반으로 k각형에서 저장위치를 탐색하는 방식으로는 다양한 방식이 적용될 수 있다. 일 예로, 서버(30)는 k각형이 접한 제1트랙 상의 위치에서 제2코드에 상응하는 각도(예를 들어, k각형의 꼭지점을 향하도록 180도를 MN개로 분할한 특정한 각도)로 지시함에 따라, 인증용가상코드를 기반으로 인증용카드가 저장된 저장위치인 k각형의 꼭지점을 탐색할 수 있다.
또한, 다른 예로, k각형이 제1트랙 상의 제1코드에 대응하는 지점에 접한 상태에서, 서버(30)는 k각형의 중심과 제1트랙 상의 접점을 기준으로, 전체 중심각(즉, 360도)을 MN개로 분할하고, 각각의 각도를 MN개의 제2코드에 매칭한다. 이때, k각형의 중심과 제1트랙 상의 접점을 이은 선으로부터 특정개수의 단위각도(즉, 360도/MN)를 이동한 선의 방향은 k각형의 특정한 꼭지점이 된다. 따라서, 특정한 각도에 대응하는 제2코드가 수신되면, 서버(30)는 해당 각도 방향에 위치한 꼭지점을 탐색할 수 있다.
또한, 다른 예로, 제2코드의 특정 자리를 각도산출 방향을 결정하는 것으로 사용할 수 있다. 즉, N개(N은 자연수)의 문자를 이용하여 제2코드를 생성하는 경우, 1개의 자리(Digit)로 각도 측정방향을 결정할 수 있다. 예를 들어, 서버(30)는 k각형의 중심과 제1트랙 상의 접점을 기준으로, 전체 중심각(즉, 360도)을 분할하여 각각의 각도에 제2코드를 매칭하는 경우, k각형의 중심과 제1트랙 상의 접점을 이은 선으로부터 좌측 방향으로 측정되는 각도인지 우측 방향으로 측정되는 각도인지를 1개의 자리(Digit)의 값으로 결정할 수 있다.
일 예로, 저장위치탐색알고리즘은, k각형 상의 각 꼭지점에 각도 측정방향에 따라 다른 2개의 제2코드가 하나의 꼭지점에 배정할 수 있다. 즉, 하나의 꼭지점에 내각으로 도달 시와 외각으로 도달 시에 다른 제2코드와 매칭되고, 다른 인증용카드의 저장위치가 연결될 수 있다. 다른 일 예로, 저장위치탐색알고리즘은, N개(N은 자연수)의 문자를 이용하여 제2코드를 생성하는 경우에 N-1개로 전체각도(예를 들어, 중심각을 기준으로 분할하는 경우 360도)의 반에 대해 매칭하고 1개 자리를 이용하여 각 꼭지점에 도달하기 위한 각도 적용방향을 결정할 수 있다.
제2코드를 기반으로 k각형에서 저장위치를 탐색하는 방식은 이에 한정되지 아니하고, 제2코드에 상응하는 k각형 상의 지점과 제1트랙 상의 접점 사이를 특정한 비율로 나누는 지점을 저장위치로 탐색하는 방식 등의 다양한 방식이 적용될 수 있다.
다른 일 실시예에 따라, 인증용가상코드가 단위카운트마다 변경되는 제1코드 및 제2코드를 포함하는 경우, 제1코드는 서버(30)에서 인증용카드 발급을 시작한 최초시점으로부터 경과된 단위카운트를 기반으로 생성되고, 제2코드는 각 사용자가 인증용가상코드생성수단(20)에 설치된 전용프로그램(21)을 통해 인증용카드를 등록한 시점으로부터 경과된 단위카운트를 기반으로 생성되는 것이다. 이때, 단위카운트는 특정한 시간간격으로 설정되어 시간간격이 경과됨에 따라 변경되는 것이다.
도 7에 도시된 바와 같이, 저장위치탐색알고리즘은 인증용가상코드를 구성하는 복수의 세부코드를 기반으로 트랙상을 이동하여 인증용카드 저장위치에 매칭된 지점으로 이동하는 것이다.
구체적으로, 인증용가상코드가 특정 기업에서 인증용카드 기반의 서비스를 구동함에 따라 저장위치탐색알고리즘이 시작된 초기시점으로부터 경과된 단위카운트를 기반으로 제1코드와, 각 사용자의 인증용카드(10)가 등록된 시점으로부터 경과된 단위카운트를 기반으로 생성된 제2코드를 포함하는 경우, 도 7에서와 같이, 서버(30)는 제1코드에 대응되는 코드값이 매칭된 트랙상의 카운트를 탐색시작지점으로 설정하고, 제2코드에 상응하는 카운트값만큼 상기 탐색시작지점으로부터 트랙을 따라서 회귀하여 서버(30)에 인증용카드(10)를 등록한 시점의 트랙상의 지점(즉, 인증용카드 저장위치)을 탐색한다. 예를 들어, 서버가 제1코드용 트랙에서 인증용가상코드 내의 제1코드가 부여된 지점(또는 카운트)를 탐색하여 탐색시작지점을 설정하고, 탐색시작지점으로부터 역방향으로 제2코드용 트랙을 배치하여 인증용가상코드 내의 제2코드가 부여된 지점(또는 카운트)를 탐색하여 제1코드용 트랙 상에서 인증용카드가 등록된 지점(또는 카운트)를 추출한다. 또한, 예를 들어, 서버(30)가 인증용가상코드 내의 제1코드를 기반으로 탐색시작지점을 설정하고, 인증용가상코드 내의 제2코드에 제2함수의 역함수를 적용함에 따라 산출된 카운트값만큼 회귀하여 인증용카드 등록시점에 대응되는 지점을 탐색한다.
이후, 단계 S300에서, 서버(30)는 탐색된 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인한다. 즉, 인증용카드(10)가 서버(30)에 등록된 후, 서버(30)는 인증용가상코드생성수단(20)을 통해 인증용가상코드를 수신하여 사용자 인증을 요청받으면, 수신된 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 저장된 사용자 정보를 추출하여 사용자를 확인할 수 있게 된다.
구체적으로, 서버(30)는 탐색된 인증용카드의 저장위치에 매칭되어 저장된 사용자 정보를 추출한다. 즉, 서버(30)는 저장위치탐색알고리즘 내의 각각의 인증용카드 저장위치에 해당 인증용카드를 사용하는 사용자 정보를 저장하고 있으므로, 서버(30)는 저장위치탐색알고리즘 내에서 특정 인증용카드의 저장위치에 매칭되어 저장된 특정 사용자 정보를 추출할 수 있다.
이후, 단계 S400에서, 서버(30)가 상기 인증용가상코드가 수신된 시점을 기반으로 인증용가상코드를 검증한다. 구체적으로, 서버(30)는 수신된 상기 인증용가상코드의 수신 시점과 상기 인증용가상코드생성용 프로그램에서 인증용가상코드생성함수를 이용하여 생성된 상기 인증용가상코드의 생성 시점을 비교하여, 도 8에 도시된 바와 같이, 상기 생성 시점이 상기 수신 시점으로부터 오차 범위 내에 포함된 경우 수신된 상기 인증용가상코드가 정상 코드인 것으로 판단할 수 있다.
일 실시예로, 금융거래시 사용자 인증을 수행하는 경우, 서버(30)는 저장위치탐색알고리즘 내에서 인증용가상코드의 수신 시점과 생성 시점을 비교함으로써, 금융거래시 사용자 인증을 요청한 사용자가 본인의 인증용카드를 이용해 현재 시점에 사용자 인증을 요청했는지의 여부를 확인할 수 있다.
다른 일 실시예로, 출입요청시 사용자 인증을 수행하는 경우, 서버(30)는 저장위치탐색알고리즘 내에서 인증용가상코드의 수신 시점과 생성 시점을 비교함으로써, 출입요청시 사용자 인증를 요청한 사용자가 본인의 인증용카드를 이용해 현재 시점에 사용자 인증을 요청했는지의 여부를 확인할 수 있다.
구체적인 예로, 사용자가 사용자 단말을 이용하여 사용자 인증을 요청하면, 사용자 단말에 내장 또는 설치된 전용프로그램은 인증용가상코드생성함수를 이용하여 요청 시점(즉, 생성 시점)에 해당하는 카운트 값을 기반으로 인증용가상코드(구체적으로, 제2코드)를 생성한다. 일 실시예로, 복수의 세부코드 중 하나의 세부코드(예를 들어, 제2코드)는 생성 시점을 시드 데이터로 하는 OTP 함수를 이용하여 생성될 수 있다. 즉, 제2코드 내에 OTP 코드가 포함되어 생성될 수 있다.
이후, 생성된 인증용가상코드는 서버로 제공되며, 서버는 인증용가상코드생성함수 또는 인증용가상코드생성함수에 매칭되는 저장위치탐색알고리즘을 이용하여 복수의 세부코드를 추출한다. 그리고, 복수의 세부코드 중 하나의 세부코드(예를 들어, 제2코드)를 통해 OTP 코드를 추출하고, OTP 코드를 통해 인증용가상코드가 생성된 시점을 추출하게 된다.
이후, 트랙 상에서 서버가 인증용가상코드를 수신한 시점과 사용자 단말에서 인증용가상코드가 생성된 시점을 비교하여, 인증용가상코드가 현재 시점에 생성된 코드인지를 검증할 수 있게 된다. 즉, 서버가 인증용가상코드를 수신한 시점으로부터 기 설정된 카운트 값을 포함하는 범위 내에 인증용가상코드의 생성 시점이 포함되면, 해당 인증용가상코드는 현재 시점에 생성된 코드인 것으로 검증되는 것이다.
단계 S500에서, 서버(30)는 인증용가상코드의 생성 시점이 수신 시점으로부터의 일정 범위 내에 포함되면, 인증용가상코드가 정상적인 코드인 것으로 판단하여 사용자 인증을 완료한다.
일 실시예로, 금융거래 시의 사용자 인증의 경우, 서버(30)에 의해 사용자가 확인되고, 인증용가상코드가 정상적으로 생성된 것인지 검증이 완료되면, 서버(30)는 사용자인증승인 메시지를 금융사 서버로 전송하게 된다. 이에 따라, 금융사 서버는 사용자가 금융거래를 계속 진행할 수 있도록 승인할 수 있다. 다른 일 실시예로, 출입요청 시의 사용자 인증의 경우, 서버(30)에 의해 사용자가 확인되고, 인증용가상코드가 정상적으로 생성된 것인지 검증이 완료되면, 서버(30)는 사용자인증승인 메시지를 보안 시스템 관리 서버로 전송하게 된다. 이에 따라, 관리 서버는 사용자가 보안 영역으로 들어올 수 있도록 승인할 수 있다.
본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 방법은 서버가 인증용카드를 보유한 사용자의 사용자 정보 및 인증용카드데이터를 이용하여 인증용카드를 등록하는 단계를 더 포함할 수 있다.
즉, 서버(30)는 사용자에 의해 인증용카드가 등록 요청된 시점을 기반으로 저장위치탐색알고리즘 내에 특정한 인증용카드 저장위치를 탐색하고, 탐색된 인증용카드 저장위치에 인증용카드의 등록을 요청한 사용자 정보(즉, 인증용카드를 보유한 사용자 정보)를 저장함으로써 인증용카드 등록을 수행할 수 있다. 이때, 사용자 정보는 인증용가상코드생성 전용 프로그램이 내장 또는 설치된 사용자 단말을 통해 사용자에 의해 직접 입력되는 정보일 수도 있고, 인증용가상코드생성 전용 프로그램의 사용자 로그인정보를 기반으로 생성되는 정보일 수도 있다. 이때, 일 실시예로, 인증용카드가 사용자에게 발급되기 전에, 발급 예정인 인증용카드가 서버 내에 미리 등록된다. 이후, 사용자가 해당 인증용카드를 발급받아 사용자 단말에 내장 또는 설치된 전용프로그램을 통해 사용 등록을 요청하면, 서버 내에서 해당 인증용카드가 활성화된다. 활성화된 카드는 인증용가상코드생성함수 내에서 카운트가 부여되고, 이에 따라 사용자가 해당 인증용카드를 이용하여 사용자 인증을 요청할 수 있게 된다.
구체적으로, 전용프로그램(21)은 인증용카드 등록 시에 인증용카드(10)로부터 시리얼번호 또는 인증용카드번호를 포함하는 인증용카드데이터를 수신한다. 또한, 전용프로그램(21)은 인증용카드 등록 시에 사용자로부터 사용자 정보를 입력받거나, 사용자의 전용프로그램(21) 로그인 정보를 기반으로 사용자 정보를 생성한다. 그 후, 전용프로그램(21)은 인증용카드번호와 사용자 정보를 서버(30)로 전송한다. 서버(30)가 특정카운트에 인증용카드(10)를 등록함에 따라, 전용프로그램(21)은 서버(30)로부터 인증용가상코드생성함수 또는 인증용가상코드생성함수를 특정하기 위한 설정데이터를 수신한다. 이를 통해, 전용프로그램(21)은 서버(30) 내에 인증용카드가 등록된 특정카운트 탐색이 가능한 인증용가상코드를 생성하는 인증용가상코드생성함수를 포함한다.
일 실시예로, 인증용카드가 금융거래 시에 사용되는 인증용카드인 경우, 서버(30)는 사용자 단말에 포함된 전용프로그램(21)으로부터 등록 요청을 받는다. 즉, 사용자는 인증용카드(10)를 금융사로부터 제공받아서 사용자 단말(20)에 내장 또는 설치된 전용프로그램(21)에 인증용카드(10)를 등록하고, 전용프로그램(21)은 서버(30)로 인증용카드데이터 및 사용자 정보를 전송하여 등록한다.
예를 들어, 카드사는 사용자에게 신용카드를 발급하기 전에 해당 카드를 카드사 서버 내에 등록하고, 이후에 사용자에 의해 등록 요청이 수신되면, 해당 카드를 활성화시킬 수 있다. 이에 따라, 사용자는 금융거래용 인증용카드를 이용하여 일반적인 금융거래도 수행할 수 있고, 금융거래 시의 사용자 인증도 수행할 수 있게 된다.
구체적인 예로, 사용자가 금융거래용 인증용카드를 이용하여 일반적인 금융거래를 수행하는 경우, 오프라인에서 물건을 구매했을 때 신용카드(또는 체크카드)를 이용하여 결제를 진행하는 것과 동일하다. 반면에, 사용자가 금융거래용 인증용카드를 이용하여 온라인 뱅킹 등을 위한 사용자 인증을 수행하는 경우, 사용자는 사용자 단말에 금융거래용 인증용카드를 태깅하여 사용자 단말에 내장 또는 설치된 전용프로그램(21)이 인증용가상코드를 생성할 수 있게 한다. 이후, 사용자는 생성된 인증용가상코드를 이용하여 사용자 인증을 완료할 수 있게 된다.
다른 일 실시예로, 인증용카드가 출입요청 시에 사용되는 인증용카드인 경우, 서버(30)는 사용자 단말에 포함된 전용프로그램(21)으로부터 등록 요청을 받는다. 즉, 사용자는 인증용카드(10)를 보안 영역 또는 시스템을 관리하는 관리자로부터 제공받아서 사용자 단말(20)에 내장 또는 설치된 전용프로그램(21)에 인증용카드(10)를 등록하고, 전용프로그램(21)은 서버(30)로 인증용카드데이터 및 사용자 정보를 전송하여 등록한다.
예를 들어, 회사는 직원에게 출입증을 발급하기 전에 해당 출입증을 회사 서버 내에 등록하고, 이후에 직원에 의해 등록 요청이 수신되면, 해당 카드를 활성화시킬 수 있다. 이에 따라, 사용자는 출입용 인증용카드를 이용하여 일반적인 출입을 수행할 수 있고, 출입 시의 사용자 인증도 수행할 수 있게 된다.
구체적인 예로, 사용자가 출입용 인증용카드를 이용하여 일반적인 출입을 수행하는 경우, 출입용 기기에 인증용카드를 태깅하여 특정공간으로의 출입을 수행할 수 있다. 반면에, 사용자가 출입용 인증용카드를 이용하여 보안영역에 출입하기 위한 사용자 인증을 수행하는 경우, 보안접근이 필요한 오프라인 출입공간에 진입 시, 사용자는 출입용 인증용카드를 전용프로그램이 실행된 사용자 단말에 태깅한 후, 전용프로그램에서 생성된 인증용가상코드를 NFC(Near Field Communication), QR 코드 등으로 출력하여 출입을 허가받을 수 있게 된다. 또한, 보안접근이 필요한 온라인 시스템에 로그인 시, 사용자는 출입용 인증용카드의 태깅을 통해 생성된 인증용가상코드를 해당 페이지에 직접 입력하여 로그인을 수행할 수 있게 된다.
이상에서 전술한 본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (12)

  1. 서버가 인증용가상코드를 수신하되, 상기 인증용가상코드는 인증용카드에서 제공된 인증용카드데이터를 기반으로 인증용가상코드생성용 프로그램에 포함된 인증용가상코드생성함수에 의해 생성되는 것인, 인증용가상코드수신단계;
    상기 서버가 상기 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 상기 인증용카드가 등록된 인증용카드 저장위치를 탐색하되, 상기 저장위치탐색알고리즘은 상기 인증용가상코드생성함수에 매칭되는 것으로서, 상기 인증용가상코드 내의 적어도 하나의 세부코드를 기반으로 상기 인증용카드 저장위치를 탐색하는 것인, 저장위치탐색단계;
    상기 서버가 탐색된 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하는 단계;
    상기 서버가 상기 인증용가상코드가 수신된 시점을 기반으로 인증용가상코드를 검증하는 단계; 및
    상기 서버가 사용자 인증을 승인하는 단계를 포함하는, 인증용가상코드를 이용한 사용자 인증 방법.
  2. 제1항에 있어서,
    상기 인증용가상코드는,
    상기 인증용카드에 포함된 상기 인증용카드데이터가 상기 인증용가상코드생성용 프로그램으로 제공된 시간데이터 또는 상기 인증용카드를 상기 인증용가상코드생성용 프로그램에 태깅하여 사용자 인증이 요청된 시간데이터를 기반으로 생성되는 것인, 인증용가상코드를 이용한 사용자 인증 방법.
  3. 제2항에 있어서,
    상기 인증용가상코드는,
    상기 인증용카드데이터 내에 포함된 인증용카드 시리얼번호와 상기 인증용가상코드생성용 프로그램 내에 포함된 시리얼번호를 조합한 조합시리얼번호를 기반으로 하여 생성되는 것인, 인증용가상코드를 이용한 사용자 인증 방법.
  4. 제1항에 있어서,
    상기 서버가 인증용카드를 보유한 사용자의 사용자 정보 및 인증용카드데이터를 이용하여 인증용카드를 등록하는 단계;를 더 포함하며,
    상기 인증용카드를 등록하는 단계는,
    상기 서버가 인증용카드 등록 시점을 기반으로 상기 저장위치탐색알고리즘 내에 특정한 인증용카드 저장위치를 탐색하고, 탐색된 상기 인증용카드 저장위치에 상기 사용자 정보를 저장하여 등록을 완료하는, 인증용가상코드를 이용한 사용자 인증 방법.
  5. 제1항에 있어서,
    상기 인증용가상코드를 검증하는 단계는,
    상기 서버가 수신된 상기 인증용가상코드의 수신 시점과 상기 인증용가상코드생성용 프로그램에서 인증용가상코드생성함수를 이용하여 생성된 상기 인증용가상코드의 생성 시점을 비교하여, 상기 생성 시점이 상기 수신 시점으로부터 오차 범위 내에 포함된 경우 수신된 상기 인증용가상코드가 정상 코드인 것으로 판단하는, 인증용가상코드를 이용한 사용자 인증 방법.
  6. 제1항에 있어서,
    상기 인증용가상코드는 특정한 시간간격으로 설정된 단위카운트마다 변경되는 제1코드 및 제2코드를 포함하고,
    상기 제1코드는 상기 서버에서 인증용카드 발급을 시작한 최초시점으로부터 경과된 단위카운트를 기반으로 생성되고,
    상기 제2코드는 특정한 사용자의 인증용카드가 등록된 시점으로부터 경과된 단위카운트를 기반으로 생성되는 것인, 인증용가상코드를 이용한 사용자 인증 방법.
  7. 하드웨어인 컴퓨터와 결합되어, 제1항 내지 제6항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장된, 인증용가상코드를 이용한 사용자 인증 프로그램.
  8. 사용자 인증을 위한 인증용가상코드생성장치로서,
    사용자의 인증용카드로부터 제공된 인증용카드데이터를 기반으로 하나 이상의 세부코드를 생성하는 세부코드생성부;
    인증용가상코드생성함수를 이용하여 상기 하나 이상의 세부코드를 조합하여 인증용가상코드로 생성하는 인증용가상코드생성부; 및
    생성된 상기 인증용가상코드를 서버로 전송하여 사용자 인증을 요청하는 인증용가상코드제공부;를 포함하고,
    상기 인증용가상코드는, 상기 인증용카드에 포함된 상기 인증용카드데이터가 제공된 시간데이터 또는 상기 인증용카드를 태깅하여 사용자 인증이 요청된 시간데이터, 및 상기 인증용카드데이터 내에 포함된 인증용카드 시리얼번호와 상기 인증용가상코드생성장치 내에 포함된 인증용가상코드생성용 프로그램의 시리얼번호를 조합한 조합시리얼번호를 기반으로 하여 생성되는 것인, 사용자 인증을 위한 인증용가상코드생성장치.
  9. 사용자 인증을 위한 인증용가상코드검증장치로서,
    인증용가상코드를 수신하여 사용자 인증을 요청받는 인증용가상코드수신부;
    상기 인증용가상코드에 포함된 하나 이상의 세부코드를 추출하는 세부코드추출부;
    추출된 상기 하나 이상의 세부코드를 기반으로 저장위치탐색알고리즘 내에 인증용카드가 등록된 인증용카드 저장위치를 탐색하는 저장위치탐색부;
    탐색된 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하는 사용자정보추출부;
    상기 인증용가상코드수신부가 상기 인증용가상코드를 수신한 시점과 상기 인증용가상코드가 인증용가상코드생성수단에서 인증용가상코드생성함수를 이용하여 생성된 시점을 비교하여, 상기 인증용가상코드를 검증하는 인증용가상코드검증부; 및
    상기 인증용가상코드의 검증이 완료되면 사용자 인증을 승인하는 사용자인증승인부;를 포함하되,
    상기 인증용가상코드검증부에 의해 상기 생성 시점이 상기 수신 시점으로부터 오차 범위 내에 포함된 것으로 확인되어 상기 인증용가상코드가 정상 코드인 것으로 판단되면, 상기 사용자인증승인부에 의해 사용자 인증이 승인되는 것을 특징으로 하며,
    상기 저장위치탐색알고리즘은 상기 인증용가상코드생성함수에 매칭되는 것인, 사용자 인증을 위한 인증용가상코드검증장치.
  10. 사용자 인증을 위한 인증용카드장치로서,
    인증용카드데이터를 포함하는 IC 칩; 및
    무선통신을 통해 인증용가상코드생성수단으로 상기 인증용카드데이터를 제공하는 통신부;를 포함하고,
    상기 인증용카드데이터는 상기 인증용카드장치 제작 시에 상기 인증용카드장치에 부여된 특정한 데이터이며,
    상기 인증용가상코드생성수단은 수신된 상기 인증용카드데이터를 기반으로 인증용가상코드생성함수를 이용하여 인증용가상코드를 생성하고, 생성된 인증용가상코드를 서버로 제공하며,
    상기 서버는, 제공된 인증용가상코드를 기반으로 상기 인증용가상코드생성함수와 매칭된 저장위치탐색알고리즘 내에 상기 인증용카드장치가 등록된 인증용카드 저장위치를 탐색하고, 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하고,
    상기 서버가 상기 인증용가상코드의 수신 시점과 상기 인증용가상코드생성수단에서 인증용가상코드생성함수를 이용하여 생성된 상기 인증용가상코드의 생성 시점을 비교하여, 상기 생성 시점이 상기 수신 시점으로부터 오차 범위 내에 포함된 경우 수신된 상기 인증용가상코드가 정상 코드인 것으로 판단하여 사용자 인증을 승인하는, 사용자 인증을 위한 인증용카드장치.
  11. 제10항에 있어서,
    상기 인증용카드장치가 결제를 위한 카드로 포함하는 경우,
    결제 시의 태그와 사용자 인증 시의 태그를 구분하는 판단부를 더 포함하며,
    상기 판단부에 의해 결제 시의 태그로 판단되는 경우, 상기 통신부는 상기 IC 칩에 포함된 결제를 위한 카드정보를 결제용 단말기로 제공하고,
    상기 판단부에 의해 사용자 인증 시의 태그로 판단되는 경우, 상기 통신부는 인증용가상코드를 생성하기 위한 인증용카드데이터를 인증용가상코드생성수단으로 제공하는, 사용자 인증을 위한 인증용카드장치.
  12. 제10항에 있어서,
    상기 인증용카드장치가 출입을 위한 카드로 사용되는 경우,
    출입 시의 태그와 사용자 인증 시의 태그를 구분하는 판단부를 더 포함하며,
    상기 판단부에 의해 출입 시의 태그로 판단되는 경우, 상기 통신부는 상기 IC 칩에 포함된 출입을 위한 식별정보를 출입용 기기로 제공하고,
    상기 판단부에 의해 사용자 인증 시의 태그로 판단되는 경우, 상기 통신부는 인증용가상코드를 생성하기 위한 인증용카드데이터를 인증용가상코드생성수단으로 제공하는, 사용자 인증을 위한 인증용카드장치.
PCT/KR2019/009696 2018-08-09 2019-08-05 인증용가상코드를 이용한 사용자 인증 방법 및 시스템 WO2020032498A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP19848662.3A EP3828799A4 (en) 2018-08-09 2019-08-05 USER AUTHENTICATION METHOD AND SYSTEM USING A VIRTUAL AUTHENTICATION CODE
SG11202101357UA SG11202101357UA (en) 2018-08-09 2019-08-05 Method and system for user autentication using virtual code for authentication
US17/170,750 US20210185034A1 (en) 2018-08-09 2021-02-08 Method and system for user autentication using virtual code for authentication

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20180093349 2018-08-09
KR10-2018-0093349 2018-08-09
KR1020190071944A KR102217816B1 (ko) 2018-08-09 2019-06-18 인증용가상코드를 이용한 사용자 인증 방법 및 시스템
KR10-2019-0071944 2019-06-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/170,750 Continuation US20210185034A1 (en) 2018-08-09 2021-02-08 Method and system for user autentication using virtual code for authentication

Publications (1)

Publication Number Publication Date
WO2020032498A1 true WO2020032498A1 (ko) 2020-02-13

Family

ID=69414979

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/009696 WO2020032498A1 (ko) 2018-08-09 2019-08-05 인증용가상코드를 이용한 사용자 인증 방법 및 시스템

Country Status (3)

Country Link
EP (1) EP3828799A4 (ko)
KR (1) KR102363940B1 (ko)
WO (1) WO2020032498A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113966591A (zh) * 2020-02-24 2022-01-21 森斯通株式会社 利用虚拟代码的使用者设定信息认证方法、程序以及装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102502339B1 (ko) * 2021-03-04 2023-02-23 주식회사 센스톤 Nfc를 이용한 카드데이터 기반의 가상보안코드 생성을 위한 단말기, 카드 장치 및 그 방법
WO2022186653A1 (ko) * 2021-03-04 2022-09-09 주식회사 센스톤 스마트 카드 장치, 데이터 일치 여부 판단을 통해 가상보안코드를 생성하는 장치 및 그 방법
WO2022186605A1 (ko) * 2021-03-04 2022-09-09 주식회사 센스톤 스마트 카드 장치, 인증용가상코드 생성 장치, 이를 이용한 인증용가상코드 생성 방법 및 인증용가상코드 검증 서버
KR102607806B1 (ko) 2021-07-14 2023-12-01 정연우 실시간 위치 증명 기반 블록체인 인증을 이용한 사용자 인증 시스템 및 이체 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100213188B1 (ko) * 1996-10-05 1999-08-02 윤종용 사용자 인증 장치 및 방법
US20140095869A1 (en) * 2011-04-28 2014-04-03 Absio Corporation Secure data storage
KR20150005788A (ko) * 2013-07-05 2015-01-15 주식회사 비즈모델라인 사용자 키 값을 이용한 사용자 인증 방법
KR20160036471A (ko) * 2014-08-27 2016-04-04 유한회사 실릭스 오티피 기반의 가상 번호 결제 방법, 컴퓨터 판독가능한 기록매체 및 시스템
KR101675927B1 (ko) * 2015-10-08 2016-11-14 주식회사 지씨엠씨 신용 조회 단말기, 결제 관리 서버, 결제 관리 방법, 결제 단말, 결제 단말의 동작방법, 결제 관리를 위해 매체에 저장된 컴퓨터 프로그램 및 신용 조회 단말기

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000832A (en) * 1997-09-24 1999-12-14 Microsoft Corporation Electronic online commerce card with customer generated transaction proxy number for online transactions
FR2911743B1 (fr) * 2007-01-23 2009-04-24 Ncryptone Sa Dispositif portable d'authentification.
US7739169B2 (en) * 2007-06-25 2010-06-15 Visa U.S.A. Inc. Restricting access to compromised account information
US8494959B2 (en) * 2007-08-17 2013-07-23 Emc Corporation Payment card with dynamic account number
KR101316466B1 (ko) 2012-11-20 2013-10-08 신한카드 주식회사 다이나믹 트랙 2 정보를 이용한 모바일 결제 시스템 및 방법
KR101542111B1 (ko) * 2013-12-20 2015-08-12 주식회사 씽크풀 카드를 이용한 결제방법, 이를 위한 디지털 시스템, 및 결제측 시스템
KR101652966B1 (ko) * 2015-02-13 2016-09-01 (주)엠앤스마트 Rf 카드와 스마트 폰의 페어링을 이용한 스마트 인증 시스템 및 스마트 인증 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100213188B1 (ko) * 1996-10-05 1999-08-02 윤종용 사용자 인증 장치 및 방법
US20140095869A1 (en) * 2011-04-28 2014-04-03 Absio Corporation Secure data storage
KR20150005788A (ko) * 2013-07-05 2015-01-15 주식회사 비즈모델라인 사용자 키 값을 이용한 사용자 인증 방법
KR20160036471A (ko) * 2014-08-27 2016-04-04 유한회사 실릭스 오티피 기반의 가상 번호 결제 방법, 컴퓨터 판독가능한 기록매체 및 시스템
KR101675927B1 (ko) * 2015-10-08 2016-11-14 주식회사 지씨엠씨 신용 조회 단말기, 결제 관리 서버, 결제 관리 방법, 결제 단말, 결제 단말의 동작방법, 결제 관리를 위해 매체에 저장된 컴퓨터 프로그램 및 신용 조회 단말기

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113966591A (zh) * 2020-02-24 2022-01-21 森斯通株式会社 利用虚拟代码的使用者设定信息认证方法、程序以及装置
CN113966591B (zh) * 2020-02-24 2023-09-19 森斯通株式会社 利用虚拟代码的使用者设定信息认证方法、记录介质以及装置

Also Published As

Publication number Publication date
KR20210022018A (ko) 2021-03-02
EP3828799A1 (en) 2021-06-02
KR102363940B1 (ko) 2022-02-16
EP3828799A4 (en) 2022-06-08

Similar Documents

Publication Publication Date Title
WO2020032498A1 (ko) 인증용가상코드를 이용한 사용자 인증 방법 및 시스템
WO2020032321A1 (ko) 가상코드 기반의 금융거래제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드 기반의 금융거래제공방법 및 가상코드 기반의 금융거래제공프로그램
WO2020032482A1 (ko) 공카드를 이용한 금융거래제공방법 및 시스템
WO2019031644A1 (ko) 가상카드번호 기반의 금융거래제공시스템, 가상카드번호생성장치, 가상카드번호검증장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램
WO2018194379A1 (ko) 블록체인 및 이와 연동되는 머클 트리 구조 기반의 토큰 아이디를 이용하여 카드 사용을 승인하는 방법 및 이를 이용한 서버
WO2014104507A1 (ko) 안전 로그인 시스템과 방법 및 이를 위한 장치
WO2021157790A1 (ko) 얼굴 정보를 이용한 등록 및 결제 방법, 장치, 및 시스템
WO2022098189A1 (ko) 사용자 생체 정보를 이용하는 본인 인증 시스템
WO2020141782A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2022234996A1 (ko) 온라인 구매 상품의 택스 리펀드 서비스를 제공하기 위한 시스템, 서버 및 방법
WO2020141783A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2019031716A2 (ko) 가상토큰 기반의 결제제공시스템, 가상토큰생성장치, 가상토큰검증서버, 가상토큰 기반의 결제제공방법 및 가상토큰 기반의 결제제공프로그램
WO2020184815A1 (ko) 일회용 패스워드 기반 모바일 자동 결제방법 및 이를 이용한 시스템
WO2020153798A1 (ko) 온라인거래에서, url과 연동할 수 있는 신용카드를 이용한 결제시스템이나 결제방법
WO2019177408A1 (ko) 온라인 인증을 이용하여 오프라인 결제를 수행하는 시스템 및 전자 장치
WO2021172876A1 (ko) 가상인증코드 기반의 절차 승인 장치 및 방법
WO2020162706A1 (ko) 가상법인카드 기반의 금융거래를 제공하는 방법, 프로그램 및 시스템
WO2021040358A2 (ko) 인증용가상코드를 이용한 사용자 인증 방법 및 이를 위한 시스템
WO2021172875A1 (ko) 가상코드를 이용한 사용자 설정 정보 인증 방법, 프로그램 및 장치
WO2017222129A1 (ko) 항공기 운항 중 카드결제를 처리하는 기내 결제 서비스 제공 방법 및 장치
WO2017018861A1 (ko) 생체정보를 이용하는 금융기기 및 그것의 동작방법
WO2022186605A1 (ko) 스마트 카드 장치, 인증용가상코드 생성 장치, 이를 이용한 인증용가상코드 생성 방법 및 인증용가상코드 검증 서버
WO2021040444A1 (ko) 가상코드 기반의 거래 시스템, 방법 및 프로그램
WO2020162739A1 (ko) 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치
WO2023167569A1 (ko) 다이나믹 식별코드 판매서비스 제공 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19848662

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019848662

Country of ref document: EP

Effective date: 20210224