WO2016159462A1 - Token authentication method and system using verification value generated on basis of current time - Google Patents

Token authentication method and system using verification value generated on basis of current time Download PDF

Info

Publication number
WO2016159462A1
WO2016159462A1 PCT/KR2015/009769 KR2015009769W WO2016159462A1 WO 2016159462 A1 WO2016159462 A1 WO 2016159462A1 KR 2015009769 W KR2015009769 W KR 2015009769W WO 2016159462 A1 WO2016159462 A1 WO 2016159462A1
Authority
WO
WIPO (PCT)
Prior art keywords
token
card number
verification value
server
virtual card
Prior art date
Application number
PCT/KR2015/009769
Other languages
French (fr)
Korean (ko)
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
Application filed by 비씨카드(주) filed Critical 비씨카드(주)
Publication of WO2016159462A1 publication Critical patent/WO2016159462A1/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/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • the present invention relates to a token authentication method and a token authentication system using a verification value generated based on a current time, and more particularly, to generate a verification value based on a current time and to authenticate a token using the generated verification value.
  • the present invention relates to a token authentication method and a token authentication system for performing payment when token authentication is completed.
  • the token generation server continues to generate new tokens and issue them to the user terminal, and store the issued tokens in the database for a specified time to validate the tokens, and the token verification server at the time of transaction approval.
  • the token generation server By comparing the token received from the merchant terminal with the token temporarily stored in the database, the validity of the transaction can be verified, thereby providing appropriate security in a simple manner.
  • An object of the present invention is to provide a token authentication method and a token authentication system for generating a verification value based on a current time, authenticating a token using the generated verification value, and performing payment when token authentication is completed. .
  • Another object of the present invention is to provide a token authentication method and a token authentication system in which a device for issuing a virtual card number including a token and a device for authenticating a token are physically or logically separated.
  • the present invention provides a token authentication method and token authentication system for mitigating the risk of transaction duplication, simplifying the transaction processing system, and stably using tokens in various media and environments in transactions through mobile devices. It aims to do it.
  • the token generation server in the method of authenticating a token in the token authentication system, the token generation server generates a verification value by using a unique key generated based on the current time. Generating a virtual card number including the generated verification value and a token and issuing to the user terminal; Receiving, at a token verification server, an authentication request including identification information corresponding to the virtual card number through an affiliated store terminal recognized from the user terminal; In the token verification server, a verification value is regenerated using a unique key generated based on the generation time of the virtual card number, and a verification value included in the regenerated verification value and the virtual card number corresponding to the identification information is generated.
  • the virtual card number issuing step may include generating, at the token generation server, the unique key using Julian minute numbers based on a current time.
  • a method for authenticating a token in a token authentication system after receiving the key generation information from the token generation server in the user terminal, through the key generation information Generating a verification value by using a unique key generated based on a current time, generating a virtual card number including the generated verification value and a token and issuing it to a token store connected to the user terminal; Receiving, at a token verification server, an authentication request including identification information corresponding to the virtual card number through an affiliated store terminal recognized from the user terminal; In the token verification server, a verification value is regenerated using a unique key generated based on the generation time of the virtual card number, and a verification value included in the regenerated verification value and the virtual card number corresponding to the identification information is generated.
  • the virtual card number issuing step may include generating, at the user terminal, the unique key using Julian minute numbers based on a current time.
  • a verification value is generated by using a unique key generated based on the current time, and a virtual card number including the generated verification value and token is generated.
  • Token generation server to issue to the user terminal;
  • An affiliated store terminal recognizing identification information corresponding to the virtual card number from the user terminal;
  • a token verification server that compares the verification value included in the virtual card number corresponding to the information and performs authentication on the token included in the virtual card number; And a payment server configured to receive a payment request including the token from the token verification server and perform a payment by a payment means matched with the token when authentication of the token is completed.
  • the token generation server may generate the unique key using Julian minute numbers based on the current time.
  • the verification value after receiving the key generation information from the token generation server, the verification value by using a unique key generated based on the current time through the key generation information
  • An affiliated store terminal recognizing identification information corresponding to the virtual card number from the user terminal; Receives an authentication request including the recognized identification information through the affiliated store terminal, regenerates a verification value using a unique key generated based on a generation time of the virtual card number, and generates the regenerated verification value and the identification.
  • a token verification server that compares the verification value included in the virtual card number corresponding to the information and performs authentication on the token included in the virtual card number; And a payment server configured to receive a payment request including the token from the token verification server and perform a payment by a payment means matched with the token when authentication of the token is completed.
  • the user terminal may generate the unique key using Julian minute numbers based on the current time.
  • a device for issuing a virtual card number including a token and a device for authenticating a token may be provided in a token authentication system in which the token is physically or logically separated, even in an unexpected situation such as a system failure. It can provide a consistent service.
  • the user terminal may generate a verification value by itself, even when offline, and issue a virtual card number including the verification value and the token, the token is not always connected online. Issue of the virtual card number issuance can be made.
  • FIG. 1 is a diagram illustrating a token authentication system according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a process of performing a payment through token authentication according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a process of performing a payment through token authentication according to another embodiment of the present invention.
  • FIG. 1 is a diagram illustrating a token authentication system according to an embodiment of the present invention.
  • the token authentication system is a user terminal 100, merchant terminal 200, token generation server 300, token verification server 400 and communication with each other via a communication network and It may include a payment server 500.
  • a communication network can be configured without regard to its communication aspects such as wired and wireless.
  • Local area network LAN
  • metropolitan area network MAN: Metropolitan Area Network
  • WAN wide area network
  • the communication network according to the present invention may be a mobile communication network, and may be another well-known World Wide Web (WWW) or the like.
  • WWW World Wide Web
  • the user terminal 100 may be any type of handheld based wireless communication that can be connected to an external server through a network such as a mobile phone, a smartphone, a personal digital assistant (PDA), a portable multimedia player (PMP), a tablet PC, and the like.
  • the device may include a device, and may also include a communication device that may be connected to an external server through a network, such as an IPTV including a desktop PC, a tablet PC, a laptop PC, and a set-top box.
  • the user terminal 100 may perform user authentication by using a pre-registered personal identification means such as SMS, public certificate, payment password, and the like.
  • the user terminal 100 may generate identification information corresponding to the virtual card number by using the virtual card number issued by the token generation server 300 and allow the corresponding identification information to be recognized by the affiliated store terminal 200.
  • the identification information may be formed in various forms such as voice, text, barcode, QR code, NFC tag information, may include information of the payment means, or may include specific information corresponding to the payment means.
  • the user terminal 100 may be used as various payment means such as voice, text, barcode, QR code, NFC, etc. by using the identification information corresponding to the virtual card number, the identification information is the merchant terminal 200 ), The payment may be requested through a pre-registered payment means corresponding to the identification information.
  • the affiliated store terminal 200 is a terminal installed in an affiliated affiliate store of a business operator (for example, a card company) operating the payment server 500, and may be a POS terminal, and a POS value may be previously issued to the POS terminal.
  • the POS value may be issued to a part of the plastic card (for example, the TRACK2 area) as a service code value for processing the cooperative service in the card system.
  • the area in which the POS value is issued to the actual card may be composed of a card number, expiration date, service code (CVC), RPU, etc., virtual card number, token validity period, service code ( CVC), verification values, and the like.
  • the affiliated store terminal 200 may recognize identification information corresponding to the virtual card number from the user terminal 100.
  • the affiliated store terminal 200 may recognize identification information such as a barcode and a QR code displayed on the user terminal 100.
  • NFC may be established through short-range communication.
  • Identification information such as a tag may be recognized.
  • the affiliated store terminal 200 may transmit an authentication request including identification information recognized from the user terminal 100 to the token verification server 400.
  • the affiliated store terminal 200 may transmit an authentication request to the token verification server 400 so that payment through a pre-registered payment means corresponding to the identification information is performed.
  • the token generation server 300 may generate a verification value by using a unique key generated based on the current time. In this case, the token generation server 300 may generate a verification value after the user authentication is completed in the user terminal 100.
  • the verification value is a hash value generated through cryptographic and hash operations every time a virtual card number is generated or an authentication request, in order to verify the validity of a payment, in the token verification server 400. It can be used to check if the token is issued normally.
  • the length of the verification value may be set to be used less than a predetermined digit, in this case, a number located outside the predetermined digit may not be used. For example, when only the first five digits of the verification value are set to be used, when the verification value is eight digits, only the first five digits may be used and the latter three digits may not be used.
  • the process of generating the verification value by connecting the token generating server 300 to the payment server 500 is not limited thereto, the token generating server 300 is included in the payment server 500, payment The server 500 may perform a function of the token generation server 300.
  • the token generation server 300 may obtain a master key from the payment server 500 that manages information about payment means (for example, cards) previously issued to the user.
  • the payment server 500 may generate and manage a master key for each user registered as a member in advance in order to use a payment method.
  • the payment server 500 is a card company server
  • the card company server may A master key can be generated and managed for each user registered as a card member.
  • the master key is a unique key that matches the identification number (for example, the card number) of the payment means issued to the user, and may be used in the encryption process when generating the verification value.
  • the token generation server 300 may generate a card key using the master key.
  • the card key may be utilized for verification or user authentication for each card.
  • the token generation server 300 may generate a session key using the card key. At this time, the token generation server 300 may generate a separate session key using each minute and additional data using the Julian minute number.
  • the Julian minute number is an extension of the Julian date to minutes, which means the number of days that have elapsed since the start of a particular year, for example, Julian for January 15, 2015.
  • the date may be "15".
  • the line number of minutes means the number of minutes that have elapsed since the start of a particular year.
  • the number of Julian minutes for January 15, 2015 corresponds to 15 days, 24 hours, and 60 minutes. It may be "21600" calculated by multiplying the number.
  • the token generation server 300 may generate a session key which is a unique key using Julian minute number based on the current time when user authentication is completed, and generate a verification value using the generated session key. That is, the token generation server 300 may generate a verification value by using a unique key generated based on the current time.
  • the token generation server 300 may generate a virtual card number including the generated verification value and the token, and issue the generated virtual card number to the user terminal 100.
  • the token is a virtual card number designated to be used in a payment service, and may be a one-time token that can be used until a predetermined token validity period expires, and the token validity period is in YYMM format. 0 to 4 digits may be used depending on the length of the token.
  • the virtual card number may be a total of 21 digits
  • the token may be configured to 16 digits
  • the verification value is 5 digits
  • the virtual card number may be configured, but is not limited thereto. have.
  • the token verification server 400 may receive an authentication request from the affiliated store terminal 200 and regenerate the verification value using a unique key generated based on the token generation time.
  • the token verification server 400 Upon regenerating the verification value, the token verification server 400 generates a session key which is the only key using the Julian minute number, as described above, based on the time at which the token generation server 300 generates the virtual card number. You can regenerate verification values.
  • the token verification server 400 may perform authentication on the token by comparing the regenerated verification value with the verification value included in the virtual card number, that is, the verification value generated by the token generation server 300.
  • the verification value generated by the token generation server 300 and the verification value generated by the token verification server 400 are the same or corresponding values, and the token verification server 400 compares the verification values and compares them. If the result matches or is found to match, the authentication for the token can be completed.
  • the validity period is set to 3 minutes in the virtual card number, and the token generation server 300 generates the first verification value based on the current time at 10:05, thereby generating the first verification value and the token. After issuing the virtual card number, it is assumed that the token verification server 400 received the authentication request from the merchant terminal 200 at 10:08.
  • the token verification server 400 may generate a second verification value based on 10: 7 within 10 minutes from 3 minutes to 10 minutes, and compare the first verification value with the second verification value.
  • the comparison result may not match.
  • the token verification server 400 may generate a second verification value based on 10: 6, which is one minute earlier than 10: 7, and may compare the first verification value with the second verification value. The results may not match.
  • the token verification server 400 may generate a second verification value based on 10: 5, which is one minute earlier than 10: 6, and may compare the first verification value with the second verification value. Since both the first verification value and the second verification value are generated based on 10:05, the comparison result is consistent, so that authentication of the token can be completed.
  • the token verification server 400 accelerates the time by one minute from the time when the authentication request is received until the validity period set in the virtual card number, generates a verification value based on each time, and compares the token to the token through the comparison process. Authentication can be performed.
  • the token generation server 300 and the token verification server 400 may be implemented as one integrated server.
  • the token verification server 400 may transmit a payment request to the payment server 500.
  • the token verification server 400 may check the token included in the virtual card number corresponding to the identification information by using the identification information included in the authentication request received from the merchant terminal 200, and includes the corresponding token.
  • the payment request may be transmitted to the payment server 500.
  • the payment server 500 may receive a payment request including the token from the token verification server 400 that has completed the authentication of the token, and check the payment method matched with the token to perform payment with the corresponding payment method. Can be.
  • the payment server 500 may transmit the payment completion details to the user terminal 100 or the affiliated store terminal 200.
  • FIG. 2 is a diagram illustrating a process of performing a payment through token authentication according to an embodiment of the present invention.
  • a process of performing operations in the token generation server 300 and the token verification server 400, respectively, is not limited thereto, and the token generation server 300 and the token verification server 400 are integrated into one.
  • the server may perform operations, and the payment server 500 may include both the token generation server 300 and the token verification server 400, and may perform all operations in the payment server 500.
  • the user terminal 100 may perform the user authentication by the user authentication means such as SMS, authorized certificate, payment password.
  • the user authentication means such as SMS, authorized certificate, payment password.
  • the user terminal 100 may transmit user authentication completion information for notifying that the user authentication is completed, to the token generation server 300.
  • the token generation server 300 receives the user authentication completion information from the payment server 500 You may.
  • the token generation server 300 may confirm that the user authentication is completed in the user terminal 100 by using the user authentication completion information received in step S202.
  • the token generation server 300 may generate a session key which is the only key based on the current time, and generate a verification value by using the session key and user information or payment information.
  • a virtual card number including a token, a verification value, and the like may be generated.
  • the token generation server 300 may generate a 21-digit virtual card number including a 16-digit token corresponding to the actual card number issued to the user and a 5-digit verification value generated based on the current time.
  • a Cryptogram version value When generating the virtual card number in the token generation server 300, a Cryptogram version value, a transaction classification value, PAN, PAN validity period, MD key, etc. may be used or generated.
  • the Cryptogram version value is a value that specifies the type and length of encryption and data used for generation and authentication of a verification value for payment service, and the most efficient encryption according to the environment in which the virtual card number is issued. It can be a formatted, version-separated value.
  • the transaction division value is a code value for division of a transaction type of a payment service, and may be a code value separately provided for each payment method.
  • the PAN is a real card number matched with the token
  • the PAN validity period is a card validity period set in the real card, and may be in the form of YYMM
  • the MD key is a HSM (High Speed Memory) master master key. Can be stored).
  • the token generation server 300 may issue and transmit the virtual card number generated in operation S203 to the user terminal 100.
  • the user terminal 100 may generate identification information corresponding to the virtual card number by using the virtual card number issued from the token generation server 300. That is, the user terminal 100 may generate identification information corresponding to the virtual card number so that the user terminal 100 may be used as various payment means such as voice, text, barcode, QR code, and NFC.
  • the user terminal 100 may transmit identification information to the affiliated store terminal 200, and the affiliated store terminal 200 may recognize the corresponding identification information.
  • the affiliated store terminal 200 may recognize the corresponding identification information, and the user When the terminal 100 displays identification information such as a barcode or a QR code on the screen, the affiliated store terminal 200 may recognize the identification information using a reader connected to the affiliated store terminal 200.
  • the affiliated store terminal 200 may transmit an authentication request including identification information recognized from the user terminal 100 to the token verification server 400. At this time, the affiliated store terminal 200 may transmit an authentication request to the token verification server 400 in a VAN or a direct approval method.
  • the token verification server 400 may generate a unique key based on the generation time of the virtual card number generated in operation S203, and then regenerate the verification value using the generated unique key. have.
  • the token verification server 400 checks the virtual card number corresponding to the identification information included in the authentication request received in step S207, compares the verification value included in the virtual card number with the regenerated verification value to the token. Authentication can be performed. At this time, the token verification server 400 may allow the transaction for payment by completing the authentication for the token when the verification values match.
  • the data used for token authentication may be a token, a token validity period, Julian minute number, a verification value, a POS value, a Cryptogram version value, a transaction classification value, and the like.
  • the token verification server 400 may transmit a payment request including the token to the payment server 500 in step S207 when authentication for the token is completed.
  • the payment server 500 may check the token included in the payment request according to the payment request received in operation S209 and perform payment by a payment means matched with the token.
  • the payment server 500 may transmit the payment completion details to the user terminal 100 or the affiliated store terminal 200.
  • FIG. 3 is a diagram illustrating a process of performing a payment through token authentication according to another embodiment of the present invention.
  • FIG. 3 a process of generating a virtual card number in the user terminal 100 is illustrated, and a description overlapping with the description in FIG. 2 will be omitted.
  • step S301 the user terminal 100 may perform user authentication, as in step S201.
  • the token generation server 300 directly to the virtual card number You can only perform the process of requesting token issuance without creating it. For example, the token generation server 300 may transmit only key generation information, which is basic data required for key generation, to the user terminal 100.
  • the user terminal 100 may generate a unique key by using the Julian minute number based on the operation performed by the token generation server 300 in operation S203, that is, the current time, and generate the unique key.
  • the unique key Using to generate a verification value, to generate a virtual card number including the verification value and the token, it is possible to issue the generated virtual card number to the token storage.
  • the user terminal 100 may generate a verification value by itself using the key generation information received from the token generation server 300 in advance, so that the user terminal 100 generates the verification value every time a transaction request is generated. Since the verified value does not need to be received, the virtual card number can be generated even offline.
  • the user terminal 100 may generate identification information corresponding to the virtual card number, as in operation S205.
  • the user terminal 100 may transmit identification information to the affiliated store terminal 200, in operation S206.
  • the affiliated store terminal 200 may transmit an authentication request including identification information to the token verification server 400, as in operation S207.
  • the token verification server 400 may perform authentication on the token, as in operation S208.
  • the token verification server 400 may transmit a payment request to the payment server 500 as in operation S209.
  • the payment server 500 may perform payment according to a payment request, as in operation S210.

Abstract

According to an embodiment of the present invention, there is provided a method for authenticating a token by a token authentication system, using a verification value generated on the basis of a current time. The method comprises the steps of: generating a verification value using a unique key generated on the basis of the current time, generating a virtual card number including the generated verification value and a token, and issuing the virtual card number to a user's terminal, by a token generating server; receiving an authentication request including identification information corresponding to the virtual card number through a merchant terminal recognized by the user's terminal, by a token verification server; performing authentication of the token included in the virtual card number by the token verification server by regenerating a verification value using the unique key generated on the basis of a time at which the virtual card number is generated and comparing the regenerated verification value and the verification value included in the virtual card number corresponding to the identification information; and when the authentication of the token is completed, transmitting a payment request including the token to a payment server to allow a payment to be carried out by a payment mean matched to the token, by the token verification server.

Description

현재 시간을 기초로 생성된 검증 값을 이용한 토큰 인증 방법 및 토큰 인증 시스템Token authentication method and token authentication system using verification value generated based on current time
본 발명은 현재 시간을 기초로 생성된 검증 값을 이용한 토큰 인증 방법 및 토큰 인증 시스템에 관한 것으로, 더욱 상세하게는 현재 시간을 기초로 검증 값을 생성하고, 생성된 검증 값을 이용하여 토큰을 인증하며, 토큰 인증이 완료되면 결제를 수행하고자 하는 토큰 인증 방법 및 토큰 인증 시스템에 관한 것이다.The present invention relates to a token authentication method and a token authentication system using a verification value generated based on a current time, and more particularly, to generate a verification value based on a current time and to authenticate a token using the generated verification value. The present invention relates to a token authentication method and a token authentication system for performing payment when token authentication is completed.
모바일 기기를 통한 거래에 있어서, 보안 영역에 발급되는 모바일 카드 외에 거래 복제에 대한 보안성에 취약점을 가지고 있으므로, 텍스트, 바코드, QR코드, NFC 등 다양한 형태로 결제 수단을 상용화하기 위해, 일회성 가상 카드번호인 토큰에 대한 이용이 증대되고 있다.In the transactions through mobile devices, in addition to the mobile card issued in the security area, there is a weakness in the security of transaction duplication, so in order to commercialize payment methods in various forms such as text, barcode, QR code, NFC, one-time virtual card number The use of phosphorus tokens is increasing.
토큰을 이용하기 위해, 토큰 발생 서버는 새로운 토큰을 계속 생성하여 사용자 단말기로 발급하고, 해당 토큰의 유효성을 검증하기 위해 발급된 토큰을 지정된 시간 동안 데이터베이스에 저장하며, 토큰 검증 서버는 거래 승인 시점에 가맹점 단말기로부터 수신된 토큰과 데이터베이스에 일시 저장된 토큰을 비교하여, 거래의 유효성을 확인하므로, 단순한 방식으로 적절한 보안성을 제공할 수 있다.To use the token, the token generation server continues to generate new tokens and issue them to the user terminal, and store the issued tokens in the database for a specified time to validate the tokens, and the token verification server at the time of transaction approval. By comparing the token received from the merchant terminal with the token temporarily stored in the database, the validity of the transaction can be verified, thereby providing appropriate security in a simple manner.
하지만, 상술한 토큰 이용 방식은 토큰 발생 서버와 토큰 검증 서버가 동일 서버 내에 존재, 즉, 단일 시스템 구성이 필수적으로 요구되므로, 시스템 장애 등의 돌발상황에서 일관성 있는 서비스가 불가능한 문제가 있다.However, in the above-described token use method, since a token generation server and a token verification server exist in the same server, that is, a single system configuration is required, there is a problem that a consistent service is not possible in a sudden situation such as a system failure.
또한, 토큰 이용을 위해 항상 온라인으로 토큰 발급 및 검증을 요청받고, 해당 절차를 수행해야 하는 문제도 있다.In addition, there is a problem that the token is requested to be issued and verified online at all times in order to use the token, and the procedure must be performed.
따라서, 토큰의 발급과 인증을 위한 시스템이 물리적 또는 논리적으로 분리될 수 있는 다양한 시스템에 대한 요구가 증대되고 있으며, 상술한 문제점을 해결하기 위한 방안이 시급한 실정이다.Accordingly, there is an increasing demand for various systems in which a system for issuing and authenticating tokens can be physically or logically separated, and there is an urgent need for a solution to the aforementioned problems.
본 발명은 현재 시간을 기초로 검증 값을 생성하고, 생성된 검증 값을 이용하여 토큰을 인증하며, 토큰 인증이 완료되면 결제를 수행하고자 하는 토큰 인증 방법 및 토큰 인증 시스템을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a token authentication method and a token authentication system for generating a verification value based on a current time, authenticating a token using the generated verification value, and performing payment when token authentication is completed. .
또한, 본 발명은 토큰이 포함된 가상 카드번호를 발급하는 장치와 토큰을 인증하는 장치가 물리적 또는 논리적으로 분리되어 있는 토큰 인증 방법 및 토큰 인증 시스템을 제공하는 것을 목적으로 한다.Another object of the present invention is to provide a token authentication method and a token authentication system in which a device for issuing a virtual card number including a token and a device for authenticating a token are physically or logically separated.
또한, 본 발명은 모바일 기기를 통한 거래에서, 거래 복제에 의한 리스크를 해소하고, 거래 처리의 시스템을 간략화하며, 다양한 매체 및 환경에서 토큰을 안정하게 사용하기 위한 토큰 인증 방법 및 토큰 인증 시스템을 제공하는 것을 목적으로 한다.In addition, the present invention provides a token authentication method and token authentication system for mitigating the risk of transaction duplication, simplifying the transaction processing system, and stably using tokens in various media and environments in transactions through mobile devices. It aims to do it.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood from the following description.
상술한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 토큰 인증 시스템에서 토큰을 인증하는 방법에 있어서, 토큰 발생 서버에서, 현재 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 생성하고, 상기 생성된 검증 값과 토큰을 포함하는 가상 카드번호를 생성하여 사용자 단말기로 발급하는 단계; 토큰 검증 서버에서, 상기 가상 카드번호와 상응하는 식별 정보를 포함하는 인증 요청을, 상기 사용자 단말기로부터 인식한 가맹점 단말기를 통해 수신하는 단계; 상기 토큰 검증 서버에서, 상기 가상 카드번호의 생성 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 재생성하고, 상기 재생성된 검증 값과 상기 식별 정보와 상응하는 가상 카드번호에 포함된 검증 값을 비교하여, 상기 가상 카드번호에 포함된 토큰에 대한 인증을 수행하는 단계; 및 상기 토큰에 대한 인증이 완료되면, 상기 토큰 검증 서버에서, 상기 토큰을 포함하는 결제 요청을 결제 서버로 전송하여, 상기 토큰과 매칭된 결제 수단으로 결제가 수행되도록 하는 단계를 포함하는, 현재 시간을 기초로 생성된 검증 값을 이용한 토큰 인증 방법이 제공된다.According to an embodiment of the present invention for achieving the above object, in the method of authenticating a token in the token authentication system, the token generation server generates a verification value by using a unique key generated based on the current time. Generating a virtual card number including the generated verification value and a token and issuing to the user terminal; Receiving, at a token verification server, an authentication request including identification information corresponding to the virtual card number through an affiliated store terminal recognized from the user terminal; In the token verification server, a verification value is regenerated using a unique key generated based on the generation time of the virtual card number, and a verification value included in the regenerated verification value and the virtual card number corresponding to the identification information is generated. Comparing, performing authentication on a token included in the virtual card number; And when the authentication for the token is completed, transmitting, at the token verification server, a payment request including the token to a payment server, so that payment is performed by a payment means matched with the token. Provided is a token authentication method using a verification value generated based on.
상기 가상 카드번호 발급 단계는, 상기 토큰 발생 서버에서, 현재 시간을 기초로 줄리안 분 숫자를 이용하여, 상기 유일한 키를 생성하는 단계를 포함할 수 있다.The virtual card number issuing step may include generating, at the token generation server, the unique key using Julian minute numbers based on a current time.
상술한 목적을 달성하기 위한 본 발명의 다른 실시예에 따르면, 토큰 인증 시스템에서 토큰을 인증하는 방법에 있어서, 사용자 단말기에서, 토큰 발생 서버로부터 키 생성 정보를 수신한 후, 상기 키 생성 정보를 통해 현재 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 생성하고, 상기 생성된 검증 값과 토큰을 포함하는 가상 카드번호를 생성하여 상기 사용자 단말기와 연결된 토큰 저장소에 발급하는 단계; 토큰 검증 서버에서, 상기 가상 카드번호와 상응하는 식별 정보를 포함하는 인증 요청을, 상기 사용자 단말기로부터 인식한 가맹점 단말기를 통해 수신하는 단계; 상기 토큰 검증 서버에서, 상기 가상 카드번호의 생성 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 재생성하고, 상기 재생성된 검증 값과 상기 식별 정보와 상응하는 가상 카드번호에 포함된 검증 값을 비교하여, 상기 가상 카드번호에 포함된 토큰에 대한 인증을 수행하는 단계; 및 상기 토큰에 대한 인증이 완료되면, 상기 토큰 검증 서버에서, 상기 토큰을 포함하는 결제 요청을 결제 서버로 전송하여, 상기 토큰과 매칭된 결제 수단으로 결제가 수행되도록 하는 단계를 포함하는, 현재 시간을 기초로 생성된 검증 값을 이용한 토큰 인증 방법이 제공된다.According to another embodiment of the present invention for achieving the above object, in a method for authenticating a token in a token authentication system, after receiving the key generation information from the token generation server in the user terminal, through the key generation information Generating a verification value by using a unique key generated based on a current time, generating a virtual card number including the generated verification value and a token and issuing it to a token store connected to the user terminal; Receiving, at a token verification server, an authentication request including identification information corresponding to the virtual card number through an affiliated store terminal recognized from the user terminal; In the token verification server, a verification value is regenerated using a unique key generated based on the generation time of the virtual card number, and a verification value included in the regenerated verification value and the virtual card number corresponding to the identification information is generated. Comparing, performing authentication on a token included in the virtual card number; And when the authentication for the token is completed, transmitting, at the token verification server, a payment request including the token to a payment server, so that payment is performed by a payment means matched with the token. Provided is a token authentication method using a verification value generated based on.
상기 가상 카드번호 발급 단계는, 상기 사용자 단말기에서, 현재 시간을 기초로 줄리안 분 숫자를 이용하여, 상기 유일한 키를 생성하는 단계를 포함할 수 있다.The virtual card number issuing step may include generating, at the user terminal, the unique key using Julian minute numbers based on a current time.
상술한 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따르면, 현재 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 생성하고, 상기 생성된 검증 값과 토큰을 포함하는 가상 카드번호를 생성하여 사용자 단말기로 발급하는 토큰 발생 서버; 상기 가상 카드번호와 상응하는 식별 정보를 상기 사용자 단말기로부터 인식하는 가맹점 단말기; 상기 인식된 식별 정보를 포함하는 인증 요청을 상기 가맹점 단말기를 통해 수신하며, 상기 가상 카드번호의 생성 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 재생성하고, 상기 재생성된 검증 값과 상기 식별 정보와 상응하는 가상 카드번호에 포함된 검증 값을 비교하여, 상기 가상 카드번호에 포함된 토큰에 대한 인증을 수행하는 토큰 검증 서버; 및 상기 토큰에 대한 인증이 완료되면, 상기 토큰을 포함하는 결제 요청을 상기 토큰 검증 서버로부터 수신하여, 상기 토큰과 매칭된 결제 수단으로 결제를 수행하는 결제 서버를 포함하는, 토큰 인증 시스템이 제공된다.According to another embodiment of the present invention for achieving the above object, a verification value is generated by using a unique key generated based on the current time, and a virtual card number including the generated verification value and token is generated. Token generation server to issue to the user terminal; An affiliated store terminal recognizing identification information corresponding to the virtual card number from the user terminal; Receives an authentication request including the recognized identification information through the affiliated store terminal, regenerates a verification value using a unique key generated based on a generation time of the virtual card number, and generates the regenerated verification value and the identification. A token verification server that compares the verification value included in the virtual card number corresponding to the information and performs authentication on the token included in the virtual card number; And a payment server configured to receive a payment request including the token from the token verification server and perform a payment by a payment means matched with the token when authentication of the token is completed. .
상기 토큰 발생 서버는, 현재 시간을 기초로 줄리안 분 숫자를 이용하여, 상기 유일한 키를 생성할 수 있다.The token generation server may generate the unique key using Julian minute numbers based on the current time.
상술한 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따르면, 토큰 발생 서버로부터 키 생성 정보를 수신한 후, 상기 키 생성 정보를 통해 현재 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 생성하고, 상기 생성된 검증 값과 토큰을 포함하는 가상 카드번호를 생성하여 토큰 저장소에 발급하는 사용자 단말기; 상기 가상 카드번호와 상응하는 식별 정보를 상기 사용자 단말기로부터 인식하는 가맹점 단말기; 상기 인식된 식별 정보를 포함하는 인증 요청을 상기 가맹점 단말기를 통해 수신하며, 상기 가상 카드번호의 생성 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 재생성하고, 상기 재생성된 검증 값과 상기 식별 정보와 상응하는 가상 카드번호에 포함된 검증 값을 비교하여, 상기 가상 카드번호에 포함된 토큰에 대한 인증을 수행하는 토큰 검증 서버; 및 상기 토큰에 대한 인증이 완료되면, 상기 토큰을 포함하는 결제 요청을 상기 토큰 검증 서버로부터 수신하여, 상기 토큰과 매칭된 결제 수단으로 결제를 수행하는 결제 서버를 포함하는, 토큰 인증 시스템이 제공된다.According to another embodiment of the present invention for achieving the above object, after receiving the key generation information from the token generation server, the verification value by using a unique key generated based on the current time through the key generation information A user terminal for generating and issuing a virtual card number including the generated verification value and the token to a token store; An affiliated store terminal recognizing identification information corresponding to the virtual card number from the user terminal; Receives an authentication request including the recognized identification information through the affiliated store terminal, regenerates a verification value using a unique key generated based on a generation time of the virtual card number, and generates the regenerated verification value and the identification. A token verification server that compares the verification value included in the virtual card number corresponding to the information and performs authentication on the token included in the virtual card number; And a payment server configured to receive a payment request including the token from the token verification server and perform a payment by a payment means matched with the token when authentication of the token is completed. .
상기 사용자 단말기는, 현재 시간을 기초로 줄리안 분 숫자를 이용하여, 상기 유일한 키를 생성할 수 있다.The user terminal may generate the unique key using Julian minute numbers based on the current time.
본 발명의 일 실시예에 따르면, 토큰이 포함된 가상 카드번호를 발급하는 장치와 토큰을 인증하는 장치가 물리적 또는 논리적으로 분리되어 있는 토큰 인증 시스템을 제공할 수 있으므로, 시스템 장애 등의 돌발상황에서도 일관성 있는 서비스를 제공할 수 있다.According to an embodiment of the present invention, since a device for issuing a virtual card number including a token and a device for authenticating a token may be provided in a token authentication system in which the token is physically or logically separated, even in an unexpected situation such as a system failure. It can provide a consistent service.
또한, 본 발명의 일 실시예에 따르면, 오프라인 상에서도 사용자 단말기 자체적으로 검증 값을 생성하여, 검증 값 및 토큰을 포함하는 가상 카드번호를 발급할 수 있으므로, 항상 온라인으로 연결되어 있지 않아도 토큰이 포함된 가상 카드번호의 발급 철차가 이루어질 수 있는 효과가 있다.In addition, according to an embodiment of the present invention, since the user terminal may generate a verification value by itself, even when offline, and issue a virtual card number including the verification value and the token, the token is not always connected online. Issue of the virtual card number issuance can be made.
본 발명의 일 실시예에 따르면, 모바일 기기를 통한 거래에서, 거래 복제에 의한 리스크를 해소하고, 거리 처리의 시스템을 간략화하며, 다양한 매체 및 환경에서 토큰 사용의 보안성을 확보할 수 있는 효과가 있다.According to an embodiment of the present invention, in a transaction through a mobile device, it is possible to reduce the risk of transaction duplication, simplify the system of distance processing, and secure the security of token use in various media and environments. have.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.The effects of the present invention are not limited to the above-described effects, but should be understood to include all the effects deduced from the configuration of the invention described in the detailed description or claims of the present invention.
도 1은 본 발명의 일 실시예에 따른 토큰 인증 시스템을 도시한 도면이다.1 is a diagram illustrating a token authentication system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 토큰 인증을 통해 결제를 수행하는 과정을 도시한 도면이다.2 is a diagram illustrating a process of performing a payment through token authentication according to an embodiment of the present invention.
도 3은 본 발명의 다른 실시예에 따른 토큰 인증을 통해 결제를 수행하는 과정을 도시한 도면이다. 3 is a diagram illustrating a process of performing a payment through token authentication according to another embodiment of the present invention.
이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시예로 한정되는 것은 아니다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings will be described the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, it includes not only "directly connected" but also "indirectly connected" with another member in between. . In addition, when a part is said to "include" a certain component, this means that it may further include other components, without excluding the other components unless otherwise stated.
이하 첨부된 도면을 참고하여 본 발명의 실시예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 토큰 인증 시스템을 도시한 도면이다.1 is a diagram illustrating a token authentication system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 토큰 인증 시스템은 통신망을 통해 서로 통신 가능한 사용자 단말기(100), 가맹점 단말기(200), 토큰 발생 서버(300), 토큰 검증 서버(400) 및 결제 서버(500)를 포함할 수 있다.Referring to Figure 1, the token authentication system according to an embodiment of the present invention is a user terminal 100, merchant terminal 200, token generation server 300, token verification server 400 and communication with each other via a communication network and It may include a payment server 500.
먼저, 통신망은 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있다. 근거리 통신망(LAN: Local Area Network), 도시권 통신망(MAN: Metropolitan Area Network), 광역 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 발명에서 말하는 통신망은 이동 통신망일 수 있으며, 이와는 다른 공지의 월드와이드웹(WWW: World Wide Web) 등일 수도 있다.First, a communication network can be configured without regard to its communication aspects such as wired and wireless. Local area network (LAN), metropolitan area network (MAN: Metropolitan Area Network), it may be configured with a variety of communication networks such as wide area network (WAN). Preferably, the communication network according to the present invention may be a mobile communication network, and may be another well-known World Wide Web (WWW) or the like.
사용자 단말기(100)는 휴대폰, 스마트폰, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 태블릿 PC 등과 같이 네트워크를 통하여 외부 서버와 연결될 수 있는 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있으며, 이 외에도 데스크탑 PC, 태블릿 PC, 랩탑 PC, 셋탑 박스를 포함하는 IPTV와 같이, 네트워크를 통하여 외부 서버와 연결될 수 있는 통신 장치도 포함할 수 있다.The user terminal 100 may be any type of handheld based wireless communication that can be connected to an external server through a network such as a mobile phone, a smartphone, a personal digital assistant (PDA), a portable multimedia player (PMP), a tablet PC, and the like. The device may include a device, and may also include a communication device that may be connected to an external server through a network, such as an IPTV including a desktop PC, a tablet PC, a laptop PC, and a set-top box.
사용자 단말기(100)는 SMS, 공인인증서, 결제 비밀번호 등의 미리 등록된 본인 인증 수단을 이용하여, 사용자 인증을 수행할 수 있다.The user terminal 100 may perform user authentication by using a pre-registered personal identification means such as SMS, public certificate, payment password, and the like.
사용자 단말기(100)는 토큰 발생 서버(300)에서 발급한 가상 카드번호를 이용하여, 가상 카드번호와 상응하는 식별 정보를 생성할 수 있으며, 해당 식별 정보가 가맹점 단말기(200)에 인식되도록 할 수 있다. 여기서, 식별 정보는 음성, 텍스트, 바코드, QR코드, NFC 태그 정보 등 다양한 형태로 이루어질 수 있으며, 결제 수단의 정보를 포함하거나, 결제 수단과 대응되는 특정 정보를 포함할 수도 있다.The user terminal 100 may generate identification information corresponding to the virtual card number by using the virtual card number issued by the token generation server 300 and allow the corresponding identification information to be recognized by the affiliated store terminal 200. have. Here, the identification information may be formed in various forms such as voice, text, barcode, QR code, NFC tag information, may include information of the payment means, or may include specific information corresponding to the payment means.
즉, 사용자 단말기(100)는 가상 카드번호와 상응하는 식별 정보를 이용하여, 음성, 텍스트, 바코드, QR코드, NFC 등 다양한 결제 수단으로 활용될 수 있도록 할 수 있으며, 식별 정보가 가맹점 단말기(200)에 인식되게 하여, 식별 정보와 상응하는 미리 등록된 결제 수단을 통해 결제가 요청될 수 있다.That is, the user terminal 100 may be used as various payment means such as voice, text, barcode, QR code, NFC, etc. by using the identification information corresponding to the virtual card number, the identification information is the merchant terminal 200 ), The payment may be requested through a pre-registered payment means corresponding to the identification information.
가맹점 단말기(200)는 결제 서버(500)를 운영하는 사업자(예를 들면, 카드사)의 제휴 가맹점에 설치된 단말기로서, POS 단말기일 수 있으며, POS 단말기에는 POS 값이 미리 발급되어 있을 수 있다. 여기서, POS 값은 카드 시스템에서 제휴 서비스 처리를 위한 서비스 코드 값으로 플라스틱 카드의 일부 영역(예를 들면, TRACK2 영역)에 발급될 수 있다.The affiliated store terminal 200 is a terminal installed in an affiliated affiliate store of a business operator (for example, a card company) operating the payment server 500, and may be a POS terminal, and a POS value may be previously issued to the POS terminal. Here, the POS value may be issued to a part of the plastic card (for example, the TRACK2 area) as a service code value for processing the cooperative service in the card system.
본 발명의 일 실시예에 따르면, 실제 카드에 POS 값이 발급된 영역은 카드번호, 유효기간, 서비스코드(CVC), RPU등으로 구성될 수 있고, 가상 카드번호, 토큰 유효기간, 서비스코드(CVC), 검증 값 등으로 구성될 수도 있다.According to one embodiment of the invention, the area in which the POS value is issued to the actual card may be composed of a card number, expiration date, service code (CVC), RPU, etc., virtual card number, token validity period, service code ( CVC), verification values, and the like.
가맹점 단말기(200)는 사용자 단말기(100)로부터 가상 카드번호와 상응하는 식별 정보를 인식할 수 있다.The affiliated store terminal 200 may recognize identification information corresponding to the virtual card number from the user terminal 100.
예를 들어, 가맹점 단말기(200)는 사용자 단말기(100)에 디스플레이 되고 있는 바코드, QR 코드 등의 식별 정보를 인식할 수 있으며, 사용자 단말기(100)가 일정 거리 내에 위치하면, 근거리 통신을 통해 NFC 태그 등의 식별 정보를 인식할 수도 있다.For example, the affiliated store terminal 200 may recognize identification information such as a barcode and a QR code displayed on the user terminal 100. When the user terminal 100 is located within a certain distance, NFC may be established through short-range communication. Identification information such as a tag may be recognized.
가맹점 단말기(200)는 사용자 단말기(100)로부터 인식한 식별 정보를 포함하는 인증 요청을 토큰 검증 서버(400)로 전송할 수 있다. 이 때, 가맹점 단말기(200)는 식별 정보와 상응하는 미리 등록된 결제 수단을 통한 결제가 수행되기 위해, 인증 요청을 토큰 검증 서버(400)로 전송할 수 있다.The affiliated store terminal 200 may transmit an authentication request including identification information recognized from the user terminal 100 to the token verification server 400. In this case, the affiliated store terminal 200 may transmit an authentication request to the token verification server 400 so that payment through a pre-registered payment means corresponding to the identification information is performed.
토큰 발생 서버(300)는 현재 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 생성할 수 있다. 이 때, 토큰 발생 서버(300)는 사용자 단말기(100)에서 사용자 인증이 완료된 이후, 검증 값을 생성할 수 있다.The token generation server 300 may generate a verification value by using a unique key generated based on the current time. In this case, the token generation server 300 may generate a verification value after the user authentication is completed in the user terminal 100.
본 발명의 일 실시예에 따르면, 검증 값은 결제의 유효성을 검증하기 위해, 가상 카드번호의 생성 또는 인증 요청 시마다 암호화적인 연산 및 해쉬 연산을 통해서 생성되는 해쉬 값으로, 토큰 검증 서버(400)에서 토큰이 정상적으로 발행되었는지 확인하는데 활용될 수 있다.According to an embodiment of the present invention, the verification value is a hash value generated through cryptographic and hash operations every time a virtual card number is generated or an authentication request, in order to verify the validity of a payment, in the token verification server 400. It can be used to check if the token is issued normally.
또한, 검증 값의 길이는 미리 정해진 자리 미만으로 사용될 수 있도록 설정될 수 있는데, 이 경우, 미리 정해진 자리 이외에 위치하는 숫자는 사용되지 않을 수 있다. 예를 들어, 검증 값의 앞 5자리만 사용될 수 있도록 설정되어 있는데, 검증 값이 8자리인 경우, 앞 5자리만 사용되고, 뒤 3자리는 사용되지 않을 수 있다.In addition, the length of the verification value may be set to be used less than a predetermined digit, in this case, a number located outside the predetermined digit may not be used. For example, when only the first five digits of the verification value are set to be used, when the verification value is eight digits, only the first five digits may be used and the latter three digits may not be used.
이하에서는, 토큰 발생 서버(300)가 결제 서버(500)와 연결되어 검증 값을 생성하는 과정을 설명하지만, 이에 제한되지 않으며, 토큰 발생 서버(300)가 결제 서버(500)에 포함되어, 결제 서버(500)에서 토큰 발생 서버(300)의 기능을 수행할 수도 있다.Hereinafter, the process of generating the verification value by connecting the token generating server 300 to the payment server 500, but is not limited thereto, the token generating server 300 is included in the payment server 500, payment The server 500 may perform a function of the token generation server 300.
먼저, 토큰 발생 서버(300)는 사용자에게 미리 발급된 결제 수단(예를 들면, 카드)에 대한 정보를 관리하는 결제 서버(500)로부터 마스터키를 획득할 수 있다. 이 때, 결제 서버(500)는 결제 수단을 이용하기 위해 미리 회원으로 등록된 사용자 별로 마스터키를 생성하여 관리할 수 있는데, 예를 들어, 결제 서버(500)가 카드사 서버인 경우, 카드사 서버는 카드 회원으로 등록된 사용자 별로 마스터키를 생성하여 관리할 수 있다.First, the token generation server 300 may obtain a master key from the payment server 500 that manages information about payment means (for example, cards) previously issued to the user. At this time, the payment server 500 may generate and manage a master key for each user registered as a member in advance in order to use a payment method. For example, when the payment server 500 is a card company server, the card company server may A master key can be generated and managed for each user registered as a card member.
본 발명의 일 실시예에 따르면, 마스터키는 사용자에게 발급된 결제 수단의 식별번호(예를 들면, 카드번호)와 매칭되는 고유키로, 검증 값 생성시 암호화 과정에서 활용될 수 있다. According to an embodiment of the present invention, the master key is a unique key that matches the identification number (for example, the card number) of the payment means issued to the user, and may be used in the encryption process when generating the verification value.
토큰 발생 서버(300)는 마스터키를 이용하여 카드키를 생성할 수 있다. 여기서, 카드키는 카드 별로 검증 또는 사용자 인증을 위해 활용될 수 있다.The token generation server 300 may generate a card key using the master key. Here, the card key may be utilized for verification or user authentication for each card.
토큰 발생 서버(300)는 카드키를 이용하여 세션키를 생성할 수 있다. 이 때, 토큰 발생 서버(300)는 줄리안 분 숫자를 이용하여, 각 분과 추가 데이터를 이용하여 별도의 세션키를 생성할 수 있다.The token generation server 300 may generate a session key using the card key. At this time, the token generation server 300 may generate a separate session key using each minute and additional data using the Julian minute number.
본 발명의 일 실시예에 따르면, 줄리안 분 숫자는 줄리안 일자를 분으로 확대한 것으로, 줄리안 일자란 특정한 연도의 시작으로부터 경과된 일수를 의미하는데, 예를 들어, 2015년 1월 15일에 대한 줄리안 일자는 "15"일 수 있다.According to one embodiment of the present invention, the Julian minute number is an extension of the Julian date to minutes, which means the number of days that have elapsed since the start of a particular year, for example, Julian for January 15, 2015. The date may be "15".
즉, 줄라인 분 숫자는 특정한 연도의 시작으로부터 경과된 분의 숫자를 의미하며, 예를 들어, 2015년 1월 15일에 대한 줄리안 분 숫자는 15일, 24시간, 60분에 해당하는 각각의 숫자를 곱하여 계산되는 "21600"일 수 있다.That is, the line number of minutes means the number of minutes that have elapsed since the start of a particular year. For example, the number of Julian minutes for January 15, 2015, corresponds to 15 days, 24 hours, and 60 minutes. It may be "21600" calculated by multiplying the number.
토큰 발생 서버(300)는 사용자 인증이 완료된 현재 시간을 기초로, 줄리안 분 숫자를 이용하여 유일한 키인 세션키를 생성할 수 있으며, 생성된 세션키를 이용하여 검증 값을 생성할 수 있다. 즉, 토큰 발생 서버(300)는 현재 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 생성할 수 있다.The token generation server 300 may generate a session key which is a unique key using Julian minute number based on the current time when user authentication is completed, and generate a verification value using the generated session key. That is, the token generation server 300 may generate a verification value by using a unique key generated based on the current time.
토큰 발생 서버(300)는 생성된 검증 값과 토큰을 포함하는 가상 카드번호를 생성하여, 생성된 가상 카드번호를 사용자 단말기(100)로 발급할 수 있다.The token generation server 300 may generate a virtual card number including the generated verification value and the token, and issue the generated virtual card number to the user terminal 100.
본 발명의 일 실시예에 따르면, 토큰은 결제 서비스에서 사용될 수 있도록 지정된 가상의 카드번호로, 미리 설정된 토큰 유효기간이 만료되기 전까지 사용 가능한 일회성 토큰일 수 있으며, 토큰 유효기간은 YYMM 형식으로, 지원되는 토큰의 길이에 따라 0부터 4자리까지 사용될 수 있다. 예를 들어, 가상 카드번호는 총 21자리일 수 있으며, 토큰이 16자리, 검증 값이 5자리로 가상 카드번호가 구성될 수 있지만, 이에 제한되지 않으며, 다양한 형식으로 가상 카드번호가 구성될 수도 있다.According to an embodiment of the present invention, the token is a virtual card number designated to be used in a payment service, and may be a one-time token that can be used until a predetermined token validity period expires, and the token validity period is in YYMM format. 0 to 4 digits may be used depending on the length of the token. For example, the virtual card number may be a total of 21 digits, the token may be configured to 16 digits, the verification value is 5 digits, but the virtual card number may be configured, but is not limited thereto. have.
토큰 검증 서버(400)는 가맹점 단말기(200)로부터 인증 요청을 수신할 수 있으며, 토큰 생성 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 재생성할 수 있다.The token verification server 400 may receive an authentication request from the affiliated store terminal 200 and regenerate the verification value using a unique key generated based on the token generation time.
검증 값 재생성 시, 토큰 검증 서버(400)는 토큰 발생 서버(300)에서 가상 카드번호를 생성한 시간을 기초로, 상술한 바와 같이, 줄리안 분 숫자를 이용하여 유일한 키인 세션키를 생성하는 과정을 통해 검증 값을 재생성할 수 있다.Upon regenerating the verification value, the token verification server 400 generates a session key which is the only key using the Julian minute number, as described above, based on the time at which the token generation server 300 generates the virtual card number. You can regenerate verification values.
토큰 검증 서버(400)는 재생성된 검증 값과 가상 카드번호에 포함된 검증 값, 즉, 토큰 발생 서버(300)에서 생성한 검증 값을 비교하여, 토큰에 대한 인증을 수행할 수 있다. 이 때, 토큰 발생 서버(300)에서 생성된 검증 값과 토큰 검증 서버(400)에서 생성된 검증 값은 동일하거나, 서로 대응되는 값으로, 토큰 검증 서버(400)는 검증 값들을 비교하여, 비교 결과 일치하거나 대응되는 것으로 확인되면, 토큰에 대한 인증을 완료할 수 있다.The token verification server 400 may perform authentication on the token by comparing the regenerated verification value with the verification value included in the virtual card number, that is, the verification value generated by the token generation server 300. In this case, the verification value generated by the token generation server 300 and the verification value generated by the token verification server 400 are the same or corresponding values, and the token verification server 400 compares the verification values and compares them. If the result matches or is found to match, the authentication for the token can be completed.
예를 들어, 가상 카드번호에 유효기간이 3분으로 설정되어 있는데, 토큰 발생 서버(300)에서 10시 5분에 현재 시간을 기초로 제1 검증 값을 생성하여, 제1 검증 값과 토큰을 포함하는 가상 카드번호를 발급한 이후, 10시 8분에 토큰 검증 서버(400)에서 가맹점 단말기(200)로부터 인증 요청을 수신하였다고 가정한다.For example, the validity period is set to 3 minutes in the virtual card number, and the token generation server 300 generates the first verification value based on the current time at 10:05, thereby generating the first verification value and the token. After issuing the virtual card number, it is assumed that the token verification server 400 received the authentication request from the merchant terminal 200 at 10:08.
먼저, 토큰 검증 서버(400)는 10시 5분부터 유효기간 3분 내에 있는 10시 7분을 기초로 제2 검증 값을 생성하여, 제1 검증 값과 제2 검증 값을 비교할 수 있으며, 이 경우 제1 검증 값은 10시 5분을 기초로 생성되었고, 제2 검증 값은 10시 7분을 기초로 생성되었으므로, 비교 결과가 일치하지 않을 수 있다.First, the token verification server 400 may generate a second verification value based on 10: 7 within 10 minutes from 3 minutes to 10 minutes, and compare the first verification value with the second verification value. When the first verification value is generated based on 10: 5 and the second verification value is generated based on 10: 7, the comparison result may not match.
이후, 토큰 검증 서버(400)는 10시 7분보다 1분 빠른 10시 6분을 기초로 제2 검증 값을 생성하여, 제1 검증 값과 제2 검증 값을 비교할 수 있으며, 이 경우도 비교 결과가 일치하지 않을 수 있다.Thereafter, the token verification server 400 may generate a second verification value based on 10: 6, which is one minute earlier than 10: 7, and may compare the first verification value with the second verification value. The results may not match.
이후, 토큰 검증 서버(400)는 10시 6분보다 1분 빠른 10시 5분을 기초로 제2 검증 값을 생성하여, 제1 검증 값과 제2 검증 값을 비교할 수 있으며, 이 경우에는 제 1 검증 값과 제 2 검증 값 모두 10시 5분을 기초로 생성되었으므로, 비교 결과가 일치하여, 토큰에 대한 인증이 완료될 수 있다.Thereafter, the token verification server 400 may generate a second verification value based on 10: 5, which is one minute earlier than 10: 6, and may compare the first verification value with the second verification value. Since both the first verification value and the second verification value are generated based on 10:05, the comparison result is consistent, so that authentication of the token can be completed.
즉, 토큰 검증 서버(400)는 인증 요청이 수신된 시점부터 가상 카드번호에 설정된 유효기간까지 시간을 1분씩 빠르게 하여, 각각의 시간을 기초로 검증 값을 생성하면서, 비교해가는 과정을 통해 토큰에 대한 인증을 수행할 수 있다.That is, the token verification server 400 accelerates the time by one minute from the time when the authentication request is received until the validity period set in the virtual card number, generates a verification value based on each time, and compares the token to the token through the comparison process. Authentication can be performed.
이에 따라, 토큰을 포함하는 가상 카드번호의 생성과 토큰에 대한 인증 시, 기초 데이터와 알고리즘만 알고 있으면, 검증 값 생성이 가능하기 때문에, 하나의 주체에 의해서 생성 또는 검증할 필요가 없으므로, 도 1에 도시된 바와 같이, 토큰 발생 서버(300)와 토큰 검증 서버(400)의 분리가 가능할 수 있다. 그러나, 이제 제한되지 않으며, 토큰 발생 서버(300)와 토큰 검증 서버(400)는 하나의 통합 서버로 구현될 수도 있음은 물론이다.Accordingly, when generating the virtual card number including the token and authenticating the token, since verification data can be generated only if the basic data and algorithm are known, it is not necessary to generate or verify by one subject. As shown in FIG. 3, separation of the token generation server 300 and the token verification server 400 may be possible. However, the present invention is not limited thereto, and the token generation server 300 and the token verification server 400 may be implemented as one integrated server.
토큰에 대한 인증을 완료하면, 토큰 검증 서버(400)는 결제 요청을 결제 서버(500)로 전송할 수 있다. 이 때, 토큰 검증 서버(400)는 가맹점 단말기(200)로부터 수신한 인증 요청에 포함된 식별 정보를 이용하여, 식별 정보와 상응하는 가상 카드번호에 포함된 토큰을 확인할 수 있으며, 해당 토큰을 포함하는 결제 요청을 결제 서버(500)로 전송할 수 있다.When the authentication for the token is completed, the token verification server 400 may transmit a payment request to the payment server 500. At this time, the token verification server 400 may check the token included in the virtual card number corresponding to the identification information by using the identification information included in the authentication request received from the merchant terminal 200, and includes the corresponding token. The payment request may be transmitted to the payment server 500.
결제 서버(500)는 토큰에 대한 인증을 완료한 토큰 검증 서버(400)로부터 토큰을 포함하는 결제 요청을 수신할 수 있으며, 토큰과 매칭된 결제 수단을 확인하여, 해당 결제 수단으로 결제를 수행할 수 있다.The payment server 500 may receive a payment request including the token from the token verification server 400 that has completed the authentication of the token, and check the payment method matched with the token to perform payment with the corresponding payment method. Can be.
결제 서버(500)는 결제가 완료되면, 결제 완료 내역을 사용자 단말기(100) 또는 가맹점 단말기(200)로 전송할 수 있다.When the payment is completed, the payment server 500 may transmit the payment completion details to the user terminal 100 or the affiliated store terminal 200.
도 2는 본 발명의 일 실시예에 따른 토큰 인증을 통해 결제를 수행하는 과정을 도시한 도면이다.2 is a diagram illustrating a process of performing a payment through token authentication according to an embodiment of the present invention.
도 2에서는 토큰 발생 서버(300) 및 토큰 검증 서버(400)에서 각각 동작을 수행하는 과정을 도시하고 있지만, 이에 제한되지 않으며, 토큰 발생 서버(300)와 토큰 검증 서버(400)가 하나의 통합 서버로 이루어져 동작을 수행할 수 있고, 결제 서버(500)에 토큰 발생 서버(300)와 토큰 검증 서버(400)가 모두 포함되어 있어, 결제 서버(500)에서 모든 동작을 수행할 수도 있다.In FIG. 2, a process of performing operations in the token generation server 300 and the token verification server 400, respectively, is not limited thereto, and the token generation server 300 and the token verification server 400 are integrated into one. The server may perform operations, and the payment server 500 may include both the token generation server 300 and the token verification server 400, and may perform all operations in the payment server 500.
먼저, S201 단계에서, 사용자 단말기(100)는 SMS, 공인인증서, 결제 비밀번호 등의 본인 인증 수단으로 사용자 인증을 수행할 수 있다.First, in step S201, the user terminal 100 may perform the user authentication by the user authentication means such as SMS, authorized certificate, payment password.
S202 단계에서, 사용자 단말기(100)는 사용자 인증이 완료된 것을 알려주기 위한 사용자 인증 완료 정보를 토큰 발생 서버(300)로 전송할 수 있다. 이 때, S201 단계에서, 사용자 단말기(100)가 결제 비밀번호 등으로 결제 서버(500)를 통해 사용자 인증을 수행한 경우, 토큰 발생 서버(300)는 결제 서버(500)로부터 사용자 인증 완료 정보를 수신할 수도 있다.In operation S202, the user terminal 100 may transmit user authentication completion information for notifying that the user authentication is completed, to the token generation server 300. At this time, in step S201, when the user terminal 100 performs the user authentication through the payment server 500, such as payment password, the token generation server 300 receives the user authentication completion information from the payment server 500 You may.
토큰 발생 서버(300)는 S202 단계에서 수신된 사용자 인증 완료 정보를 이용하여, 사용자 단말기(100)에서 사용자 인증이 완료된 것을 확인할 수 있다.The token generation server 300 may confirm that the user authentication is completed in the user terminal 100 by using the user authentication completion information received in step S202.
S203 단계에서, 토큰 발생 서버(300)는 현재 시간을 기초로, 해당 시간 기점으로 유일한 키인 세션키를 생성할 수 있고, 세션키와 사용자 정보 또는 결제 정보 등을 이용하여 검증 값을 생성할 수 있으며, 토큰, 검증 값 등을 포함하는 가상 카드번호를 생성할 수 있다.In operation S203, the token generation server 300 may generate a session key which is the only key based on the current time, and generate a verification value by using the session key and user information or payment information. A virtual card number including a token, a verification value, and the like may be generated.
예를 들어, 토큰 발생 서버(300)는 사용자에게 발급된 실제 카드번호와 대응되는 16자리 토큰과 현재 시간을 기초로 생성된 5자리 검증 값을 포함하는 21자리 가상 카드번호를 생성할 수 있다.For example, the token generation server 300 may generate a 21-digit virtual card number including a 16-digit token corresponding to the actual card number issued to the user and a 5-digit verification value generated based on the current time.
토큰 발생 서버(300)에서 가상카드 번호 생성 시, Cryptogram version 값, 거래 구분 값, PAN, PAN 유효기간, MD 키 등이 이용되거나 생성될 수 있다.When generating the virtual card number in the token generation server 300, a Cryptogram version value, a transaction classification value, PAN, PAN validity period, MD key, etc. may be used or generated.
본 발명의 일 실시예에 따르면, Cryptogram version 값은 결제 서비스를 위한 검증 값 생성 및 인증을 위한 암호화 및 사용되는 데이터의 종류 및 길이를 지정한 값이며, 가상 카드번호가 발급되는 환경에 따라 가장 효율적인 암호화 형식을 지정하고 버전으로 구분된 값일 수 있다.According to an embodiment of the present invention, the Cryptogram version value is a value that specifies the type and length of encryption and data used for generation and authentication of a verification value for payment service, and the most efficient encryption according to the environment in which the virtual card number is issued. It can be a formatted, version-separated value.
본 발명의 일 실시예에 따르면, 거래 구분 값은 결제 서비스의 거래 종류에 대한 구분을 위한 코드 값으로, 결제 수단 별로 별도로 부여된 코드 값일 수 있다.According to an embodiment of the present invention, the transaction division value is a code value for division of a transaction type of a payment service, and may be a code value separately provided for each payment method.
본 발명의 일 실시예에 따르면, PAN은 토큰과 매칭된 실제 카드번호이고, PAN 유효기간은 실제카드에 설정된 카드 유효기간으로 YYMM형식일 수 있으며, MD 키는 마스터 데리베이션 키로 HSM(High Speed Memory)에 보관될 수 있다.According to an embodiment of the present invention, the PAN is a real card number matched with the token, the PAN validity period is a card validity period set in the real card, and may be in the form of YYMM, and the MD key is a HSM (High Speed Memory) master master key. Can be stored).
S204 단계에서, 토큰 발생 서버(300)는 S203 단계에서 생성한 가상 카드번호를 사용자 단말기(100)로 발급하여 전송할 수 있다.In operation S204, the token generation server 300 may issue and transmit the virtual card number generated in operation S203 to the user terminal 100.
S205 단계에서, 사용자 단말기(100)는 토큰 발생 서버(300)로부터 발급받은 가상 카드번호를 이용하여, 가상 카드번호와 상응하는 식별 정보를 생성할 수 있다. 즉, 사용자 단말기(100)는 음성, 텍스트, 바코드, QR코드, NFC 등 다양한 결제 수단으로 활용될 수 있도록, 가상 카드번호와 상응하는 식별 정보를 생성할 수 있다.In operation S205, the user terminal 100 may generate identification information corresponding to the virtual card number by using the virtual card number issued from the token generation server 300. That is, the user terminal 100 may generate identification information corresponding to the virtual card number so that the user terminal 100 may be used as various payment means such as voice, text, barcode, QR code, and NFC.
S206 단계에서, 사용자 단말기(100)는 가맹점 단말기(200)로 식별 정보를 전송할 수 있으며, 가맹점 단말기(200)는 해당 식별 정보를 인식할 수 있다.In operation S206, the user terminal 100 may transmit identification information to the affiliated store terminal 200, and the affiliated store terminal 200 may recognize the corresponding identification information.
구체적으로, 사용자 단말기(100)가 근거리 무선 통신 등을 이용하여, NFC 태그 등의 식별 정보를 가맹점 단말기(200)로 직접 전송하면, 가맹점 단말기(200)는 해당 식별 정보를 인식할 수 있고, 사용자 단말기(100)가 바코드, QR 코드 등의 식별 정보를 화면에 디스플레이 하면, 가맹점 단말기(200)이 가맹점 단말기(200)와 연결된 판독기를 이용하여 식별 정보를 인식할 수도 있다.Specifically, when the user terminal 100 directly transmits identification information such as an NFC tag to the affiliated store terminal 200 using near field communication, the affiliated store terminal 200 may recognize the corresponding identification information, and the user When the terminal 100 displays identification information such as a barcode or a QR code on the screen, the affiliated store terminal 200 may recognize the identification information using a reader connected to the affiliated store terminal 200.
S207 단계에서, 가맹점 단말기(200)는 사용자 단말기(100)로부터 인식한 식별 정보를 포함하는 인증 요청을 토큰 검증 서버(400)로 전송할 수 있다. 이 때, 가맹점 단말기(200)는 VAN 또는 직승인 방식으로 토큰 검증 서버(400)에 인증 요청을 전송할 수 있다.In operation S207, the affiliated store terminal 200 may transmit an authentication request including identification information recognized from the user terminal 100 to the token verification server 400. At this time, the affiliated store terminal 200 may transmit an authentication request to the token verification server 400 in a VAN or a direct approval method.
S208 단계에서, 토큰 검증 서버(400)는 S203 단계에서 생성된 가상 카드번호의 생성 시간을 기초로, 해당 시간 기점으로 유일한 키를 생성한 후, 생성된 유일한 키를 이용하여 검증 값을 재생성할 수 있다.In operation S208, the token verification server 400 may generate a unique key based on the generation time of the virtual card number generated in operation S203, and then regenerate the verification value using the generated unique key. have.
이후, 토큰 검증 서버(400)는 S207 단계에서 수신된 인증 요청에 포함되어 있는 식별 정보와 상응하는 가상 카드번호를 확인하여, 가상 카드번호에 포함된 검증 값과 재생성된 검증 값을 비교하여 토큰에 대한 인증을 수행할 수 있다. 이 때, 토큰 검증 서버(400)는 검증 값들이 일치하는 경우 토큰에 대한 인증을 완료하여, 결제를 위한 거래를 허용할 수 있다. Thereafter, the token verification server 400 checks the virtual card number corresponding to the identification information included in the authentication request received in step S207, compares the verification value included in the virtual card number with the regenerated verification value to the token. Authentication can be performed. At this time, the token verification server 400 may allow the transaction for payment by completing the authentication for the token when the verification values match.
본 발명의 일 실시예에 따르면, 토큰 인증 시 사용되는 데이터는 토큰, 토큰 유효기간, 줄리안 분 숫자, 검증 값, POS값, Cryptogram version 값, 거래 구분 값 등일 수 있다.According to an embodiment of the present invention, the data used for token authentication may be a token, a token validity period, Julian minute number, a verification value, a POS value, a Cryptogram version value, a transaction classification value, and the like.
S209 단계에서, 토큰 검증 서버(400)는 토큰에 대한 인증이 완료되면, S207 단계에서 토큰을 포함하는 결제 요청을 결제 서버(500)로 전송할 수 있다.In step S209, the token verification server 400 may transmit a payment request including the token to the payment server 500 in step S207 when authentication for the token is completed.
S210 단계에서, 결제 서버(500)는 S209 단계에서 수신된 결제 요청에 따라, 결제 요청에 포함된 토큰을 확인하여, 토큰과 매칭된 결제 수단으로 결제를 수행할 수 있다.In operation S210, the payment server 500 may check the token included in the payment request according to the payment request received in operation S209 and perform payment by a payment means matched with the token.
이후, 결제 서버(500)는 결제 완료 내역을 사용자 단말기(100) 또는 가맹점 단말기(200)로 전송할 수 있다.Thereafter, the payment server 500 may transmit the payment completion details to the user terminal 100 or the affiliated store terminal 200.
도 3은 본 발명의 다른 실시예에 따른 토큰 인증을 통해 결제를 수행하는 과정을 도시한 도면이다.3 is a diagram illustrating a process of performing a payment through token authentication according to another embodiment of the present invention.
도 3에서는 사용자 단말기(100)에서 가상 카드번호를 생성하는 과정을 도시하고 있는데, 도 2에서의 설명과 중복되는 내용은 생략하기로 한다.In FIG. 3, a process of generating a virtual card number in the user terminal 100 is illustrated, and a description overlapping with the description in FIG. 2 will be omitted.
먼저, S301 단계에서, 사용자 단말기(100)는 S201 단계와 같이, 사용자 인증을 수행할 수 있다.First, in step S301, the user terminal 100 may perform user authentication, as in step S201.
사용자 단말기(100)에 보안성이 확보된 안전한 토큰 저장소가 구비되어 있거나, 사용자 단말기(100)와 토큰 저장소가 연결되어 있는 경우, 사용자 인증이 완료되더라도 토큰 발생 서버(300)는 가상 카드번호를 직접 생성하지 않고, 토큰 발급을 요청하는 과정만 수행할 수 있다. 예를 들어, 토큰 발생 서버(300)는 키 생성 시 필요한 기초 데이터인 키 생성 정보만을 사용자 단말기(100)로 전송할 수 있다.If the user terminal 100 is provided with a secure token storage secured, or if the user terminal 100 and the token storage is connected, even if the user authentication is completed, the token generation server 300 directly to the virtual card number You can only perform the process of requesting token issuance without creating it. For example, the token generation server 300 may transmit only key generation information, which is basic data required for key generation, to the user terminal 100.
S302 단계에서, 사용자 단말기(100)는 S203 단계에서 토큰 발생 서버(300)가 수행한 동작, 즉, 현재 시간을 기초로 줄리안 분 숫자를 이용하여, 유일한 키를 생성할 수 있으며, 생성된 유일한 키를 이용하여 검증 값을 생성하고, 검증 값 및 토큰을 포함하는 가상 카드번호를 생성할 수 있으며, 생성된 가상 카드번호를 토큰 저장소에 발급할 수 있다.In operation S302, the user terminal 100 may generate a unique key by using the Julian minute number based on the operation performed by the token generation server 300 in operation S203, that is, the current time, and generate the unique key. Using to generate a verification value, to generate a virtual card number including the verification value and the token, it is possible to issue the generated virtual card number to the token storage.
가상 카드번호 생성 시, 사용자 단말기(100)는 미리 토큰 발생 서버(300)로부터 수신한 키 생성 정보를 이용하여, 자체적으로 검증 값을 생성할 수 있으므로, 거래 요청 시마다 토큰 발생 서버(300)로부터 생성된 검증 값을 수신하지 않아도 되기 때문에, 오프라인 상에서도 가상 카드번호를 생성할 수 있다.When the virtual card number is generated, the user terminal 100 may generate a verification value by itself using the key generation information received from the token generation server 300 in advance, so that the user terminal 100 generates the verification value every time a transaction request is generated. Since the verified value does not need to be received, the virtual card number can be generated even offline.
S303 단계에서, 사용자 단말기(100)는 S205 단계와 같이, 가상 카드번호와 상응하는 식별 정보를 생성할 수 있다.In operation S303, the user terminal 100 may generate identification information corresponding to the virtual card number, as in operation S205.
S304 단계에서, 사용자 단말기(100)는 S206 단계와 같이, 가맹점 단말기(200)로 식별 정보를 전송할 수 있다.In operation S304, the user terminal 100 may transmit identification information to the affiliated store terminal 200, in operation S206.
S305 단계에서, 가맹점 단말기(200)는 S207 단계와 같이, 식별 정보를 포함하는 인증 요청을 토큰 검증 서버(400)로 전송할 수 있다. In operation S305, the affiliated store terminal 200 may transmit an authentication request including identification information to the token verification server 400, as in operation S207.
S306 단계에서, 토큰 검증 서버(400)는 S208 단계와 같이, 토큰에 대한 인증을 수행할 수 있다.In operation S306, the token verification server 400 may perform authentication on the token, as in operation S208.
S307 단계에서, 토큰 검증 서버(400)는 S209 단계와 같이, 결제 요청을 결제 서버(500)로 전송할 수 있다.In operation S307, the token verification server 400 may transmit a payment request to the payment server 500 as in operation S209.
S308 단계에서, 결제 서버(500)는 S210 단계와 같이, 결제 요청에 따라 결제를 수행할 수 있다.In operation S308, the payment server 500 may perform payment according to a payment request, as in operation S210.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is represented by the following claims, and it should be construed that all changes or modifications derived from the meaning and scope of the claims and their equivalents are included in the scope of the present invention.
100 : 사용자 단말기100: user terminal
200 : 가맹점 단말기200: merchant terminal
300 : 토큰 발생 서버300: token generation server
400 : 토큰 검증 서버400: token verification server
500 : 결제 서버500: payment server

Claims (8)

  1. 토큰 인증 시스템에서 토큰을 인증하는 방법에 있어서,A method of authenticating a token in a token authentication system,
    토큰 발생 서버에서, 현재 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 생성하고, 상기 생성된 검증 값과 토큰을 포함하는 가상 카드번호를 생성하여 사용자 단말기로 발급하는 단계;Generating, at a token generation server, a verification value by using a unique key generated based on a current time, and generating and issuing a virtual card number including the generated verification value and a token to a user terminal;
    토큰 검증 서버에서, 상기 가상 카드번호와 상응하는 식별 정보를 포함하는 인증 요청을, 상기 사용자 단말기로부터 인식한 가맹점 단말기를 통해 수신하는 단계;Receiving, at a token verification server, an authentication request including identification information corresponding to the virtual card number through an affiliated store terminal recognized from the user terminal;
    상기 토큰 검증 서버에서, 상기 가상 카드번호의 생성 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 재생성하고, 상기 재생성된 검증 값과 상기 식별 정보와 상응하는 가상 카드번호에 포함된 검증 값을 비교하여, 상기 가상 카드번호에 포함된 토큰에 대한 인증을 수행하는 단계; 및In the token verification server, a verification value is regenerated using a unique key generated based on the generation time of the virtual card number, and a verification value included in the regenerated verification value and the virtual card number corresponding to the identification information is generated. Comparing, performing authentication on a token included in the virtual card number; And
    상기 토큰에 대한 인증이 완료되면, 상기 토큰 검증 서버에서, 상기 토큰을 포함하는 결제 요청을 결제 서버로 전송하여, 상기 토큰과 매칭된 결제 수단으로 결제가 수행되도록 하는 단계를 포함하는, 현재 시간을 기초로 생성된 검증 값을 이용한 토큰 인증 방법.When the authentication for the token is completed, the token verification server, the payment request containing the token to the payment server, so that the payment is performed by the payment means matched with the token, the current time Token authentication method using the verification value generated as a basis.
  2. 제1항에 있어서,The method of claim 1,
    상기 가상 카드번호 발급 단계는,The virtual card number issuing step,
    상기 토큰 발생 서버에서, 현재 시간을 기초로 줄리안 분 숫자를 이용하여, 상기 유일한 키를 생성하는 단계를 포함하는, 현재 시간을 기초로 생성된 검증 값을 이용한 토큰 인증 방법.Generating, at the token generation server, the unique key using the Julian minute number based on the current time, using the verification value generated based on the current time.
  3. 토큰 인증 시스템에서 토큰을 인증하는 방법에 있어서,A method of authenticating a token in a token authentication system,
    사용자 단말기에서, 토큰 발생 서버로부터 키 생성 정보를 수신한 후, 상기 키 생성 정보를 통해 현재 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 생성하고, 상기 생성된 검증 값과 토큰을 포함하는 가상 카드번호를 생성하여 상기 사용자 단말기와 연결된 토큰 저장소에 발급하는 단계;After receiving the key generation information from the token generation server, the user terminal generates a verification value using the unique key generated based on the current time through the key generation information, and includes the generated verification value and the token. Generating a virtual card number and issuing it to a token store connected to the user terminal;
    토큰 검증 서버에서, 상기 가상 카드번호와 상응하는 식별 정보를 포함하는 인증 요청을, 상기 사용자 단말기로부터 인식한 가맹점 단말기를 통해 수신하는 단계;Receiving, at a token verification server, an authentication request including identification information corresponding to the virtual card number through an affiliated store terminal recognized from the user terminal;
    상기 토큰 검증 서버에서, 상기 가상 카드번호의 생성 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 재생성하고, 상기 재생성된 검증 값과 상기 식별 정보와 상응하는 가상 카드번호에 포함된 검증 값을 비교하여, 상기 가상 카드번호에 포함된 토큰에 대한 인증을 수행하는 단계; 및In the token verification server, a verification value is regenerated using a unique key generated based on the generation time of the virtual card number, and a verification value included in the regenerated verification value and the virtual card number corresponding to the identification information is generated. Comparing, performing authentication on a token included in the virtual card number; And
    상기 토큰에 대한 인증이 완료되면, 상기 토큰 검증 서버에서, 상기 토큰을 포함하는 결제 요청을 결제 서버로 전송하여, 상기 토큰과 매칭된 결제 수단으로 결제가 수행되도록 하는 단계를 포함하는, 현재 시간을 기초로 생성된 검증 값을 이용한 토큰 인증 방법.When the authentication for the token is completed, the token verification server, the payment request containing the token to the payment server, so that the payment is performed by the payment means matched with the token, the current time Token authentication method using the verification value generated as a basis.
  4. 제3항에 있어서,The method of claim 3,
    상기 가상 카드번호 발급 단계는,The virtual card number issuing step,
    상기 사용자 단말기에서, 현재 시간을 기초로 줄리안 분 숫자를 이용하여, 상기 유일한 키를 생성하는 단계를 포함하는, 현재 시간을 기초로 생성된 검증 값을 이용한 토큰 인증 방법.Generating, at the user terminal, the unique key using the Julian minute number based on the current time, using the verification value generated based on the current time.
  5. 현재 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 생성하고, 상기 생성된 검증 값과 토큰을 포함하는 가상 카드번호를 생성하여 사용자 단말기로 발급하는 토큰 발생 서버;A token generation server generating a verification value using a unique key generated based on a current time, generating a virtual card number including the generated verification value and a token and issuing it to a user terminal;
    상기 가상 카드번호와 상응하는 식별 정보를 상기 사용자 단말기로부터 인식하는 가맹점 단말기;An affiliated store terminal recognizing identification information corresponding to the virtual card number from the user terminal;
    상기 인식된 식별 정보를 포함하는 인증 요청을 상기 가맹점 단말기를 통해 수신하며, 상기 가상 카드번호의 생성 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 재생성하고, 상기 재생성된 검증 값과 상기 식별 정보와 상응하는 가상 카드번호에 포함된 검증 값을 비교하여, 상기 가상 카드번호에 포함된 토큰에 대한 인증을 수행하는 토큰 검증 서버; 및Receives an authentication request including the recognized identification information through the affiliated store terminal, regenerates a verification value using a unique key generated based on a generation time of the virtual card number, and generates the regenerated verification value and the identification. A token verification server that compares the verification value included in the virtual card number corresponding to the information and performs authentication on the token included in the virtual card number; And
    상기 토큰에 대한 인증이 완료되면, 상기 토큰을 포함하는 결제 요청을 상기 토큰 검증 서버로부터 수신하여, 상기 토큰과 매칭된 결제 수단으로 결제를 수행하는 결제 서버를 포함하는, 토큰 인증 시스템.And a payment server configured to receive a payment request including the token from the token verification server when the authentication of the token is completed, and to perform a payment by a payment means matched with the token.
  6. 제5항에 있어서,The method of claim 5,
    상기 토큰 발생 서버는, 현재 시간을 기초로 줄리안 분 숫자를 이용하여, 상기 유일한 키를 생성하는, 토큰 인증 시스템.And the token generation server generates the unique key using Julian minute digits based on the current time.
  7. 토큰 발생 서버로부터 키 생성 정보를 수신한 후, 상기 키 생성 정보를 통해 현재 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 생성하고, 상기 생성된 검증 값과 토큰을 포함하는 가상 카드번호를 생성하여 토큰 저장소에 발급하는 사용자 단말기;After receiving key generation information from the token generation server, a verification value is generated using the unique key generated based on the current time through the key generation information, and a virtual card number including the generated verification value and token is generated. A user terminal that generates and issues the token storage;
    상기 가상 카드번호와 상응하는 식별 정보를 상기 사용자 단말기로부터 인식하는 가맹점 단말기;An affiliated store terminal recognizing identification information corresponding to the virtual card number from the user terminal;
    상기 인식된 식별 정보를 포함하는 인증 요청을 상기 가맹점 단말기를 통해 수신하며, 상기 가상 카드번호의 생성 시간을 기점으로 생성된 유일한 키를 이용하여 검증 값을 재생성하고, 상기 재생성된 검증 값과 상기 식별 정보와 상응하는 가상 카드번호에 포함된 검증 값을 비교하여, 상기 가상 카드번호에 포함된 토큰에 대한 인증을 수행하는 토큰 검증 서버; 및Receives an authentication request including the recognized identification information through the affiliated store terminal, regenerates a verification value using a unique key generated based on a generation time of the virtual card number, and generates the regenerated verification value and the identification. A token verification server that compares the verification value included in the virtual card number corresponding to the information and performs authentication on the token included in the virtual card number; And
    상기 토큰에 대한 인증이 완료되면, 상기 토큰을 포함하는 결제 요청을 상기 토큰 검증 서버로부터 수신하여, 상기 토큰과 매칭된 결제 수단으로 결제를 수행하는 결제 서버를 포함하는, 토큰 인증 시스템.And a payment server configured to receive a payment request including the token from the token verification server when the authentication of the token is completed, and to perform a payment by a payment means matched with the token.
  8. 제7항에 있어서,The method of claim 7, wherein
    상기 사용자 단말기는, 현재 시간을 기초로 줄리안 분 숫자를 이용하여, 상기 유일한 키를 생성하는, 토큰 인증 시스템.And the user terminal generates the unique key using Julian minute digits based on the current time.
PCT/KR2015/009769 2015-04-03 2015-09-17 Token authentication method and system using verification value generated on basis of current time WO2016159462A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2015-0047577 2015-04-03
KR20150047577 2015-04-03
KR1020150056211A KR101624266B1 (en) 2015-04-03 2015-04-21 Token authentication method and token authentication using verification value generated based on current time
KR10-2015-0056211 2015-04-21

Publications (1)

Publication Number Publication Date
WO2016159462A1 true WO2016159462A1 (en) 2016-10-06

Family

ID=56104819

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/009769 WO2016159462A1 (en) 2015-04-03 2015-09-17 Token authentication method and system using verification value generated on basis of current time

Country Status (2)

Country Link
KR (1) KR101624266B1 (en)
WO (1) WO2016159462A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019058238A1 (en) * 2017-09-19 2019-03-28 Adari Swarna Kumari System and method for performing financial transactions using virtual swipe banking
CN112016918A (en) * 2019-05-30 2020-12-01 小米数字科技有限公司 Signature writing method, signature verification device and storage medium
GB2620370A (en) * 2022-06-28 2024-01-10 Mastercard International Inc Securely and efficiently using tokenised VCNs on electronic devices, and in e-commerce platforms

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102049527B1 (en) * 2017-07-20 2019-11-27 중부대학교 산학협력단 User Authentication Server and System
KR102251543B1 (en) * 2019-05-13 2021-05-13 (주)한우리아이티 Method for managing card payment using member code
US11750597B2 (en) 2021-06-18 2023-09-05 Kyndryl, Inc. Unattended authentication in HTTP using time-based one-time passwords

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047335A1 (en) * 2000-04-28 2001-11-29 Martin Arndt Secure payment method and apparatus
KR20050097624A (en) * 2004-04-02 2005-10-10 최준수 A dynamic credit card informations recordable handphone and system thereof
KR20080062525A (en) * 2006-12-29 2008-07-03 (주)엘엔아이소프트 Authentication system using synchronized authentication key
KR101009914B1 (en) * 2010-06-03 2011-01-20 (주)지락인포메이션 Card payment mehtod using one time mobile card, payment module and payment approval server
KR20140077013A (en) * 2012-12-13 2014-06-23 에스케이플래닛 주식회사 Payment system, electric payment method and apparatus for off-line commerce

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047335A1 (en) * 2000-04-28 2001-11-29 Martin Arndt Secure payment method and apparatus
KR20050097624A (en) * 2004-04-02 2005-10-10 최준수 A dynamic credit card informations recordable handphone and system thereof
KR20080062525A (en) * 2006-12-29 2008-07-03 (주)엘엔아이소프트 Authentication system using synchronized authentication key
KR101009914B1 (en) * 2010-06-03 2011-01-20 (주)지락인포메이션 Card payment mehtod using one time mobile card, payment module and payment approval server
KR20140077013A (en) * 2012-12-13 2014-06-23 에스케이플래닛 주식회사 Payment system, electric payment method and apparatus for off-line commerce

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019058238A1 (en) * 2017-09-19 2019-03-28 Adari Swarna Kumari System and method for performing financial transactions using virtual swipe banking
CN112016918A (en) * 2019-05-30 2020-12-01 小米数字科技有限公司 Signature writing method, signature verification device and storage medium
GB2620370A (en) * 2022-06-28 2024-01-10 Mastercard International Inc Securely and efficiently using tokenised VCNs on electronic devices, and in e-commerce platforms

Also Published As

Publication number Publication date
KR101624266B1 (en) 2016-05-26

Similar Documents

Publication Publication Date Title
WO2016159462A1 (en) Token authentication method and system using verification value generated on basis of current time
WO2017222170A1 (en) Method and card company server for processing payment by verifying verification value, method for supporting payment by using verification value, and smart card
WO2018194378A1 (en) Method for approving use of card by using blockchain-based token id and server using method
WO2017119564A1 (en) Secure information transmitting system and method for personal identity authentication
WO2011062365A2 (en) System and method for authenticating electronic money using a smart card and a communication terminal
WO2014082387A1 (en) Nfc-based fingerprint authentication system and fingerprint authentication method
WO2020204444A2 (en) Secret key security method of distributing and storing key in blockchain node and/or possession device having wallet app installed therein
WO2011062364A2 (en) User authentication system, user authentication apparatus, smart card, and user authentication method for ubiquitous authentication management
WO2019107654A1 (en) Credit virtual money generation device and credit virtual money management device
WO2013100413A1 (en) Smartphone credit card payment system using an earphone jack, and method for same
WO2018194379A1 (en) Method for approving use of card by using token id on basis of blockchain and merkle tree structure associated therewith, and server using same
WO2012053780A1 (en) Payment method and payment system using information on the mac address of a customer terminal
WO2016056853A1 (en) System for convenient person authentication using mobile communication terminal and actual financial card and method therefor
WO2016085062A1 (en) Authentication method using nfc authentication card
WO2008038379A1 (en) Portable telephone and access control method
WO2015068904A1 (en) Card reader, terminal, and payment information processing method using same
WO2017043717A1 (en) Biometric user authentication method
WO2014092286A1 (en) Method for supporting payment for offline commerce, and system and device therefor
WO2019078623A1 (en) Blockchain-based payment method, and payment server using same
WO2018216988A1 (en) Security authentication system and security authentication method for creating security key by combining authentication factors of multiple users
WO2012047032A2 (en) Mobile identification card management system and mobile identification card management method thereof
WO2016182397A1 (en) Authentication system and method using flash of smart mobile
CN112769574A (en) Key injection method and system, key management system, device and machine readable medium
WO2015069028A1 (en) Multi-channel authentication, and financial transfer method and system using mobile communication terminal
WO2014084608A1 (en) Method and system for managing secure element

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: 15887870

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15887870

Country of ref document: EP

Kind code of ref document: A1