KR102500908B1 - 가상토큰 기반의 결제제공방법, 가상토큰생성장치 및 가상토큰검증서버 - Google Patents

가상토큰 기반의 결제제공방법, 가상토큰생성장치 및 가상토큰검증서버 Download PDF

Info

Publication number
KR102500908B1
KR102500908B1 KR1020190089705A KR20190089705A KR102500908B1 KR 102500908 B1 KR102500908 B1 KR 102500908B1 KR 1020190089705 A KR1020190089705 A KR 1020190089705A KR 20190089705 A KR20190089705 A KR 20190089705A KR 102500908 B1 KR102500908 B1 KR 102500908B1
Authority
KR
South Korea
Prior art keywords
virtual token
code
virtual
card number
storage location
Prior art date
Application number
KR1020190089705A
Other languages
English (en)
Other versions
KR20190089818A (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
Priority claimed from KR1020180055344A external-priority patent/KR102005495B1/ko
Application filed by 주식회사 센스톤 filed Critical 주식회사 센스톤
Publication of KR20190089818A publication Critical patent/KR20190089818A/ko
Application granted granted Critical
Publication of KR102500908B1 publication Critical patent/KR102500908B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • H04Q9/04Arrangements for synchronous operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3672Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes initialising or reloading thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/326Payment applications installed on the mobile devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3274Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being displayed on the M-device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3278RFID or NFC payments by means of M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/351Virtual cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/354Card activation or deactivation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4093Monitoring of device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L9/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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
    • H04L9/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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
    • H04L9/3234Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2209/00Arrangements in telecontrol or telemetry systems
    • H04Q2209/40Arrangements in telecontrol or telemetry systems using a wireless architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2209/00Arrangements in telecontrol or telemetry systems
    • H04Q2209/50Arrangements in telecontrol or telemetry systems using a mobile data collecting device, e.g. walk by or drive by

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Development Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 가상토큰 기반의 결제제공방법, 가상토큰생성장치 및 가상토큰검증서버에 관한 것이다.
본 발명에 따르면, 단위카운트마다 가상토큰이 신규로 생성되며, 중복되는 가상토큰이 정해진 전 주기 내에 등장하지 않으므로, 가상토큰 유출 시에도 실제카드번호가 유출되지 않는 효과를 제공한다.

Description

가상토큰 기반의 결제제공방법, 가상토큰생성장치 및 가상토큰검증서버 {METHOD FOR PROVIDING PAYMENT BASED ON VRITUAL TOKEN, VRITUAL TOKEN GENERATOR AND VRITUAL TOKEN VERIFICATION SERVER}
본 발명은 가상토큰 기반의 결제제공방법, 가상토큰생성장치 및 가상토큰검증서버에 관한 것으로, 보다 자세하게는 각 시점마다 중복되지 않는 가상토큰을 생성하고 이를 기반으로 실제카드번호를 탐색하여 결제를 진행하는 가상토큰 기반의 결제제공방법, 가상토큰생성장치 및 가상토큰검증서버에 관한 것이다.
코드 형태데이터는 많은 영역에서 이용되고 있다. 결제 시에 이용되는 카드번호, 계좌번호뿐만 아니라 사용자 식별을 위한 IPIN번호, 주민등록번호 등이 코드형태 데이터이다.
그러나 이러한 코드데이터를 이용하는 과정에서 유출되는 사고가 많이 발생한다. 카드번호의 경우, 카드표면에 실제카드번호가 그대로 기재되어 있어서 타인에게 시각적으로 유출되며, 마그네틱을 이용한 결제 시에 카드번호가 그대로 POS장치로 전달되면서 유출된다.
실제카드번호가 그대로 유출되지 않도록 하기 위해 가상토큰을 이용하고자 하는 시도가 많았으나, 가상토큰에 대응되는 실제카드번호를 탐색하기 위해 사용자를 식별하기 위한 데이터가 필요하였다. 예를 들어, OTP(One Time Password)의 경우, 시간마다 코드가 변경되어 생성되지만, 사용자에게 부여된 알고리즘 판단을 위해 로그인 절차가 필요하여 불편함이 있었다.
또한, 기존의 가상토큰은 가상토큰 서비스서버와 통신을 통해 제공받아서 사용되는 것이어서 통신이 되지 않는 상황에서는 사용할 수 없는 불편함이 있었다. 또한, 보안성을 높이기 위해 Wi-Fi에 연결된 상태에서는 가상토큰 서비스를 이용하지 못하게 하는 불편함도 존재하였다. 이에 의해, 무선통신(예를 들어, 3G 또는 LTE 등)를 사용할 수 있는 상황에서만 가상토큰으로 결제를 진행할 수 있었다.
따라서, 실시간으로 변동되는 가상토큰을 기반으로 실제카드번호를 탐색할 수 있는 발명이 필요하다. 또한, 무선통신이 되지 않는 상황에서도 이용할 수 있는 가상토큰 서비스가 필요하다.
한국등록특허 10-1316466호 (2013.10.01)
본 발명은 사용시점과 사용자에 무관하게 중복되지 않는 가상토큰을 기반으로 가상토큰생성수단을 식별하기 위한 별도 절차 없이 실제카드번호를 탐색할 수 있으며, 실제카드번호를 최초 등록한 이후에는 무선통신을 수행하지 않고 이용할 수 있는, 가상토큰 기반의 결제제공방법, 가상토큰생성장치 및 가상토큰검증서버를 제공하고자 한다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일실시예에 따른 가상토큰 기반의 결제제공방법은, 가상토큰검증수단이 가상토큰생성수단에서 제공된 가상토큰을 결제단말기로부터 수신하되, 상기 가상토큰은 상기 가상토큰생성수단에서 실제카드번호에 매칭되어 생성되는 것인, 가상토큰 수신단계와, 상기 가상토큰검증수단이 상기 가상토큰에 포함된 복수의 세부코드를 추출하는 단계와, 상기 가상토큰검증수단이 복수의 세부코드를 기반으로 실제카드번호를 탐색하는 단계 및 상기 탐색된 실제카드번호를 지불결제서비스서버 또는 금융사서버로 전송하는 단계;를 포함하고, 상기 가상토큰검증수단과 상기 가상토큰생성수단은 동일한 가상토큰생성함수를 포함하는 것이며, 상기 가상토큰생성수단은, 가상토큰 서비스 이용을 위해 실제카드번호 등록 시에 상기 가상토큰생성함수를 수신하여 내부에 저장하여, 사용자의 결제요청시점에 상기 가상토큰검증수단과의 통신을 수행하지 않고 상기 결제요청시점에 부합하는 가상토큰을 생성하여 출력하며, 상기 복수의 세부코드는 상기 가상토큰검증수단 내의 실제카드번호 저장위치의 탐색에 이용되는 것으로서, 단위카운트마다 변경되는 제1코드 및 제2코드를 포함하고, 상기 단위카운트는, 특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것이며, 상기 가상토큰검증수단이 상기 실제카드번호 저장위치 내에 포함된 카드보안코드 및 상기 가상토큰생성수단의 고유값을 추출하고, 상기 카드보안코드 및 상기 가상토큰생성수단의 고유값을 기반으로 생성된 가상보안코드를 이용하여, 상기 가상토큰이 정상적으로 발급된 것인지 검증하는 단계를 더 포함하여 이루어진다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
또한, 본 발명의 다른 일실시예에 따른 가상토큰 기반 결제제공방법은, 가상토큰생성수단이 가상토큰검증수단에 실제카드번호를 등록함에 따라 가상토큰생성함수를 수신하되, 상기 가상토큰생성함수는 상기 가상토큰검증수단에 상기 실제카드번호가 저장된 저장위치탐색알고리즘에 상응하는 것인, 가상토큰생성함수 수신단계와, 상기 가상토큰생성수단이 사용자의 결제요청시점에 상기 가상토큰검증수단과의 통신을 수행하지 않고 상기 결제요청시점에 부합하는 복수의 세부코드를 생성하는 단계와, 상기 가상토큰생성수단이 상기 복수의 세부코드를 조합하여 가상토큰을 생성하는 단계 및 상기 가상토큰생성수단이 상기 가상토큰을 가상토큰검증서버로 제공하기 위해 외부로 출력하는 단계;를 포함하되, 상기 저장위치탐색알고리즘은 특정한 카운트의 복수의 세부코드에 대응하는 위치로 실제카드번호의 저장위치를 이동시키거나, 특정한 카운트의 복수의 세부코드에 의해 실제카드번호의 고정된 저장위치를 탐색 가능하도록 하는 것이고, 상기 복수의 세부코드는, 상기 가상토큰검증수단 내의 실제카드번호 저장위치의 탐색에 이용되는 것으로서, 단위카운트마다 변경되는 제1코드 및 제2코드를 포함하고, 상기 단위카운트는, 특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것이며, 상기 제1코드 및 제2코드 중 적어도 하나는 실제카드의 카드보안코드 및 상기 가상토큰생성수단의 고유값과 결제요청시점을 기반으로 생성되는 가상보안코드를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 일실시예에 따른 가상토큰생성장치는, 가상토큰검증수단에 실제카드번호를 등록함에 따라 가상토큰생성함수를 수신하는 가상토큰생성함수 수신부와, 사용자의 결제요청시점에 상기 가상토큰검증수단과의 통신을 수행하지 않고 상기 결제요청시점에 부합하는 복수의 세부코드를 생성하는 세부코드생성부와, 상기 복수의 세부코드를 조합하여 가상토큰을 생성하는 가상토큰생성부 및 상기 가상토큰을 가상토큰검증서버로 제공하기 위해 외부로 출력하는 가상토큰출력부를 포함하되, 상기 가상토큰생성함수는 상기 가상토큰검증수단에 상기 실제카드번호가 저장된 저장위치탐색알고리즘에 상응하는 것이고, 상기 저장위치탐색알고리즘은 특정한 카운트의 복수의 세부코드에 대응하는 위치로 실제카드번호의 저장위치를 이동시키거나, 특정한 카운트의 복수의 세부코드에 의해 실제카드번호의 고정된 저장위치를 탐색 가능하도록 하는 것이고, 상기 복수의 세부코드는, 제1코드, 제2코드를 포함하고, 상기 제1코드 및 상기 제2코드는 상기 가상토큰검증수단 내의 실제카드번호 저장위치의 탐색에 이용되는 것으로서, 상기 가상토큰생성함수 내의 세부코드생성함수에 의해 단위카운트마다 변경되어 생성되는 것이고, 상기 제1코드 및 제2코드 중 적어도 하나는 실제카드의 카드보안코드 및 상기 가상토큰생성수단의 고유값과 결제요청시점을 기반으로 생성되는 가상보안코드를 포함하는 것이고, 상기 단위카운트는, 특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것을 특징으로 한다.
삭제
삭제
본 발명의 또 다른 일실시예는, 가상토큰을 기반으로 실제카드번호를 탐색하는 가상토큰검증서버에 있어서, 가상토큰생성수단에서 제공된 가상토큰을 수신하는 가상토큰수신부와,상기 가상토큰에 포함된 복수의 세부코드를 추출하는 세부코드추출부와, 복수의 세부코드를 기반으로 실제카드번호를 탐색하는 실제카드번호탐색부 및 상기 탐색된 실제카드번호를 금융사서버로 전송하는 실제카드번호전송부를 포함하고, 상기 가상토큰은 상기 가상토큰생성수단에서 실제카드번호에 매칭되어 생성되는 것이고, 상기 가상토큰검증수단과 상기 가상토큰생성수단은 동일한 가상토큰생성함수를 포함하는 것이며, 상기 가상토큰생성수단은, 가상토큰 서비스 이용을 위해 실제카드번호 등록 시에 가상토큰생성함수를 수신하여 내부에 저장하여, 사용자의 결제요청시점에 상기 가상토큰검증수단과의 통신을 수행하지 않고 상기 결제요청시점에 부합하는 가상토큰을 생성하여 출력하며, 상기 복수의 세부코드는 상기 가상토큰검증수단 내의 실제카드번호 저장위치의 탐색에 이용되며 단위카운트마다 변경되는 제1코드, 제2코드를 포함하고, 상기 단위카운트는, 특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것이며, 상기 실제카드번호 저장위치 내에 포함된 카드보안코드 및 상기 가상토큰생성수단의 고유값을 추출하고, 상기 카드보안코드 및 상기 가상토큰생성수단의 고유값을 기반으로 생성된 가상보안코드를 이용하여, 상기 가상토큰이 정상적으로 발급된 것인지 검증하는 가상토큰 검증부를 더 포함하는 것을 특징으로 한다.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.
첫째, 단위카운트마다 가상토큰이 신규로 생성되며, 중복되는 가상토큰이 정해진 전 주기 내에 등장하지 않으므로, 가상토큰 유출 시에도 실제카드번호가 유출되지 않는 효과를 제공한다.
둘째, 가상토큰생성장치와 가상토큰검증장치에만 가상토큰생성을 위한 함수가 포함되고, 가상토큰검증장치에만 실제카드번호 탐색을 위한 알고리즘이 추가되면 되므로, 기존에 실제카드번호를 이용하는 프로세스를 그대로 유지할 수 있다. 예를 들어, POS장치와 지불결제서비스서버는 그대로 유지되어 가상토큰을 가상토큰 사업자 서버로 전달하고, 카드사버서는 가상토큰 사업자 서버로부터 직접 또는 PG사서버를 통해 가상토큰에 상응하는 실제카드번호를 수신하여 결제를 진행할 수 있다. 이를 통해, 보안성을 높이기 위해 기존프로세스 내에서 변경되어야 하는 부분을 최소화할 수 있고, 사용자는 보안성 향상을 위한 별도 단계를 수행하지 않아도 된다.
셋째, 동일한 가상토큰생성수단에서 제공된 가상토큰은 생성시점에 상관없이 실제카드번호에 매칭되므로, 각 카운트마다 변경되는 가상토큰을 이용하지만 용이하게 금융거래 취소를 수행할 수 있다.
넷째, 가상토큰생성장치를 통해 실제카드번호를 가상토큰 서비스에 등록할 때만 무선통신을 이용하고 나면, 무선통신을 이용하지 않고 결제를 수행하고자 하는 카운트에 대응하는 가상토큰을 출력할 수 있다. 이를 통해, 무선통신 가능여부에 무관하게 가상토큰을 이용한 결제를 이용할 수 있다.
도 1은 본 발명의 일실시예에 따른 가상토큰 기반의 결제제공시스템의 구성도이다.
도 2는 본 발명의 일실시예에 따른 가상토큰생성수단으로부터 가상토큰 사업자서버로 가상토큰이 제공되는 과정 및 가상토큰 사업자서버로부터 금융사서버로 실제카드번호가 제공되는 과정을 도시한 예시도면이다.
도 3는 본 발명의 일실시예에 따른 가상토큰생성장치의 구성도이다.
도 4은 본 발명의 일실시예에 따른 가상토큰생성장치의 예시도면이다.
도 5 내지 도 6는 본 발명의 실시예들에 따른 가상토큰검증장치의 구성도이다.
도 7는 본 발명의 일실시예에 따른 가상토큰 기반의 결제제공방법의 순서도이다.
도 8은 본 발명의 일실시예에 따라 k각형의 구름이동을 통해 실제카드번호 저장위치를 탐색하는 저장위치탐색알고리즘에 대한 예시도면이다.
도 9은 본 발명의 일실시예에 따른 k각형 구름이동에 따른 실제카드번호 탐색과정을 포함하는 가상토큰 기반의 결제제공방법의 순서도이다.
도 10은 본 발명의 일실시예에 따른 세부코드를 기반으로 트랙상을 이동하여 저장위치를 탐색하는 저장위치탐색알고리즘에 대한 예시도면이다.
도 11은 본 발명의 일실시예에 따라 가상토큰에 대응하는 저장위치탐색알고리즘을 탐색하는 과정을 더 포함하는 가상토큰 기반의 결제제공방법의 순서도이다.
도 12은 본 발명의 일실시예에 따른 가상토큰 서비스 내에 실제카드번호 등록요청를 수신함에 따라 특정한 저장위치에 실제카드번호를 저장하는 과정을 더 포함하는 가상토큰 기반의 결제제공방법의 순서도이다.
도 13 내지 도 14은 본 발명의 일실시예에 따른 가상코드검증단계를 더 포함하는 가상토큰 기반의 결제제공방법의 순서도이다.
도 15는 본 발명의 일실시예에 따른 가상보안코드를 이용하여 실제카드번호 탐색시점을 이동시키는 방식의 예시도면이다.
도 16는 본 발명의 일실시예에 따른 결제 취소과정을 더 포함하는 가상토큰 기반의 결제제공방법의 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 '문자'는 코드를 구성하는 구성요소로서, 대문자알파벳, 소문자알파벳, 숫자 및 특수문자 등의 전부 또는 일부를 포함한다.
본 명세서에서 '코드'는 문자가 나열된 문자열을 의미한다.
본 명세서에서 '카드번호'는 결제 등의 금융거래를 위해 사용되는 것으로, 카드에 부여되고 결제, 결제취소 등의 상황에 카드사로 전달되는 번호를 의미한다.
본 명세서에서 '실제카드번호'는 카드사에서 특정한 사용자의 카드에 부여하는 번호이다. 즉, '실제카드번호'는 일반적인 실물카드, 모바일카드 등에 부여되는 번호를 의미한다.
본 명세서에서 '가상토큰'는 실제카드번호에 연결되도록 임시적으로 생성되는 카드번호로서, 숫자를 포함하는 문자로 이루어진 특정한 자릿수의 코드이다.
본 명세서에서 '세부코드'는 가상토큰에 포함되는 일부코드를 의미한다. 즉, 가상토큰이 별도로 생성된 복수의 코드를 결합하여 생성되는 경우, 세부코드는 별도로 생성되어 가상토큰을 구성하는 개별 코드를 의미한다.
본 명세서에서 '단위카운트'는 특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것으로 정의된 단위이다. 예를 들어, 1카운트는 특정한 시간간격(예를 들어, 1.5초)으로 설정되어 사용될 수 있다.
본 명세서에서 '가상토큰생성함수'는 가상토큰을 생성하는데 이용되는 함수를 의미한다.
본 명세서에서 '스마트카드'는 카드번호를 변경하여 출력할 수 있는 카드를 의미한다.
본 명세서에서 '구름이동'은 대상체가 회전하면서 병진운동을 하는 것을 의미한다. 즉, '구름이동'은 회전운동과 병진운동을 함께 수행하면서 이동하는 것으로서, 회전하는 대상체의 각 지점이 이동하는 축 상에 차례대로 접하면서 이동하는 것을 의미한다.
본 명세서에서 '지불결제서비스서버'는 가상토큰생성장치 또는 매장 단말장치에서 가상토큰검증서버 또는 금융사서버 사이에서 결제 서비스를 연결 또는 보조하는 사업자의 서버를 모두 포함한다. 즉, 지불결제서비스서버는 지불결제사업자(Payment Gateway; 인터넷 상에서 금융 기관과 하는 거래를 대행해 주는 서비스 사업자), 결제대행업체(VAN사), 어콰이어러(Acquirer)의 서버 등이 모두 해당될 수 있다.
본 명세서에서 '금융사서버'는 실제카드번호를 기반으로 결제를 승인여부를 판단하는 서버를 의미한다.
이하, 본 발명의 실시예들에 따라 실제카드번호를 대체하는 가상토큰 생성 및 실제카드번호 탐색과정에 대해 설명하기 위해, 실제카드번호의 구성에 대해 설명한다.
'실제카드번호'는 카드식별번호, 카드보안코드, 유효기간 중 적어도 하나를 포함한다. 카드식별번호는 카드사, 카드유형 및 카드사용자를 식별하기 위해 부여된 코드를 말한다. 일반적으로, 카드에 부여되는 카드식별번호는 15개 또는 16개 자릿수로 이루어진다. 또한, 일반적으로 16자리로 이루어진 카드식별번호의 경우, 앞의 6자리 번호는 카드의 발급사식별번호(IIN)로 이루어지고, 7번째 자리부터 15번째 자리까지는 각 카드사가 임의의 규칙에 따라 각 카드에 부여되는 코드로 이루어지고, 16번째 자리는 특정한 공식에 의해 카드식별번호를 검증하는 값으로 이루어진다.
카드보안코드는 카드 일측에 인쇄된 특정한 자릿수(예를 들어, 비자, 마스터의 경우에는 3자리, 아멕스의 경우에는 4자리)의 숫자로 되어, 카드번호가 정상적인 것인지 확인하는 코드이다. 즉, 카드보안코드가 3자리이고 카드식별번호가 16자리인 경우, 카드보안코드 3자리 코드와 카드식별번호 16자리 코드를 정해진 규칙에 따라 암/복호화를 하여 해당 값이 일치하면 카드가 정상 카드임을 알 수 있는 것이다. 카드보안코드는 카드사마다 부르는 이름이 달라서, 비자카드는 CVV(Card Verification Value), 마스타카드/JCB는 CVC(Card Validation Code), 아메리칸 엑스프레스는 CID(Confidential Identifier Number 또는 Card Identification Number)라고 칭한다.
유효기간은 실제카드번호를 발급받은 후 사용할 수 있는 기한을 의미한다. 일반적으로, 유효기간은 연/월에 대해 2자리가 부여되어 4자리 코드로 구성된다. 마그네틱 카드에는 실제카드번호가 그대로 포함되어 있어서, 마그네틱 카드를 읽는 것만으로 카드번호 전체가 유출되는 문제가 있어서, 최근 전세계적으로 마그네틱 카드의 사용이 제한되고, IC카드 등의 보안성이 높은 방식으로 전환되고 있다. 다른 보안성이 높은 방식을 적용하기 위해서는 새로운 단말기가 설치되어야 하거나 기존의 프로세스와 다르게 변경되어야 하는 문제가 존재한다. 따라서, 기존의 실제카드번호를 이용하는 프로세스를 동일하게 적용하면서, 카드번호 유출을 방지할 수 있는 방법이 필요하다. 특히, 기존의 마그네틱 카드리더기를 그대로 이용하면서 보안성이 높이는 방식이 필요하다.
이하, 도면을 참조하여, 본 발명의 실시예들에 따른 가상토큰 기반의 결제제공시스템, 가상토큰생성장치(100), 가상토큰검증서버(200), 가상토큰 기반의 결제제공방법 및 가상토큰 기반의 결제제공프로그램에 대해 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 가상토큰 기반의 결제제공시스템의 구성도이다.
도 2는 본 발명의 일실시예에 따른 가상토큰생성수단으로부터 가상토큰 사업자서버로 가상토큰이 제공되는 과정 및 가상토큰 사업자서버로부터 금융사서버로 실제카드번호가 제공되는 과정을 도시한 예시도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 가상토큰 기반의 결제제공시스템은, 가상토큰생성수단(10) 및 가상토큰검증수단(20);을 포함한다.
가상토큰생성수단(10)은 가상토큰검증수단(20)이 실제카드번호를 탐색할 수 있는 정보를 포함하는 가상토큰을 생성하는 역할을 수행한다. 즉, 가상토큰생성수단(10)은 가상토큰생성함수에 따라 가상토큰을 생성한다. 이 때, 가상토큰검증수단(20)에서 가상토큰을 기반으로 실제카드번호를 탐색하므로, 가상토큰생성수단(10)은 실제카드번호를 저장하지 않을 수 있다. 이를 통해 가상토큰생성수단(10)의 해킹 등을 통해 실제카드번호가 유출되는 것을 방지할 수 있다. 가상토큰생성함수에 대한 구체적인 설명은 후술한다.
가상토큰검증수단(20)은 가상토큰생성수단(10)으로부터 제공되는 가상토큰을 기반으로 실제카드번호를 탐색하는 역할을 수행한다. 가상토큰검증수단(20)은 가상토큰생성수단(10)으로부터 수신된 가상토큰으로부터 실제카드번호를 탐색하기 위해 가상토큰생성수단(10)과 동일한 가상토큰생성함수를 저장한다. 가상토큰검증수단(20)이 가상토큰을 기반으로 실제카드번호를 탐색하는 방식에 대한 구체적인 설명은 후술한다.
또한, 가상토큰검증수단(20)은 가상토큰이 가상토큰생성수단(10)에서 정상적으로 생성된 코드인지 여부를 검증하는 역할을 수행한다. 가상토큰검증수단(20)이 가상토큰의 정상여부를 판단하는 방식에 대한 구체적인 설명은 후술한다.
가상토큰검증수단(20)은 가상토큰생성수단(10)으로부터 다양한 방식을 통해 가상토큰을 전달받을 수 있다. 일실시예로,
가상토큰생성수단(10)은 결제단말기에 다양한 출력방식으로 가상토큰을 제공함에 따라 오프라인 결제를 수행할 수 있고, 지불결제서비스서버는 결제단말기로부터 가상토큰을 수신하여 가상토큰검증수단(20)으로 전달한다. 가상토큰생성수단(10)은, 온라인 결제를 수행하는 경우, 지불결제서비스서버와 연결되는 프로그램을 통해 가상토큰을 지불결제서비스서버에 전송하고, 지불결제서비스서버는 가상토큰을 가상토큰검증수단(20)으로 전달한다.
지불결제서비스서버는 다양한 방식으로 수신된 코드가 가상토큰임을 식별하여 가상토큰검증서버로 전송한다. 일실시예로, 지불결제서비스서버는 결제단말기에서 결제 수행 시에 특정한 서비스의 가상토큰임을 입력한 데이터(즉, 결제수단 유형 데이터)를 수신하거나 온라인 결제 시에 사용자에 의해 결제인터페이스에서 선택된 결제수단 유형 데이터를 기반으로 수신코드가 가상토큰임을 식별하여 가상토큰검증서버로 전송할 수 있다.
구체적으로, 오프라인 결제를 수행하는 경우, 도 2에서와 같이, 가상토큰생성수단(10)(예를 들어, 가상토크생성프로그램이 내장된 이동단말기)로 POS장치(30)에서 결제를 수행하면, 가상토큰검증수단(20)은 POS장치(30)로부터 가상토큰을 전달받은 지불결제서비스서버(40)로부터 가상토큰을 전달받는다. 그 후, 가상토큰검증수단(20)(즉, 가상토큰 서비스 서버)는 가상토큰을 기반으로 실제카드번호를 탐색하여 직접 또는 지불결제서비스서버를 통해 카드사서버로 실제카드번호를 전달한다. 즉, 카드사서버는 별도의 시스템 수정 없이 기존의 결제프로세스를 이용하여 실제카드번호로 결제를 수행할 수 있다. 또한, 후술되는 바와 같이 가상토큰을 실제카드번호와 동일한 길이의 코드로 생성하면, 가상토큰생성수단(10)으로부터 가상토큰검증수단(20)이 포함된 서버까지 진행되는 프로세스(즉, 기존의 가상토큰 기반의 서비스 프로세스) 상에서는 변경되는 것이 없이 본 발명의 실시예들에 따른 가상토큰 기반의 결제 제공방식이 적용될 수 있다.
구체적으로, 온라인 결제를 수행하는 경우, 가상토큰검증서버(200)는 가상토큰생성장치(100)에 의해 생성된 가상토큰을 가상토큰검증서버(200)에 통신을 통해 연결되는 이동단말기 상에 직접 입력(예를 들어, 웹페이지 또는 어플리케이션의 결제페이지에 가상토큰이 입력)되어 수신할 수 있고, 이 때, 가상토큰검증수단(20)은 가상토큰생성수단(10)으로부터 가상토큰을 수신한 다른 서버(예를 들어, 지불결제서비스서버)로부터 전달받을 수 있다.
또한, 다른 일실시예로, 지불결제서비스서버는 발급사식별번호 자리에 배치된 고정코드를 기반으로 가상토큰에 해당함을 판단할 수 있다. 예를 들어, 가상토큰이 특정한 카드유형의 발급사식별번호에 매칭된 별도의 고정코드를 이용함에 따라, PG사서버는 고정코드만으로 가상토큰임을 인식할 수 있다. 즉, 고정코드는, 후술되는 바와 같이, 가상토큰검증서버에서 가상토큰에 대응하는 카드유형의 저장위치탐색알고리즘을 탐색하는 과정과 PG사서버에서 수신코드가 가상토큰에 해당하는지 여부를 판단하는 과정에 이용된다.
또한, 일실시예로, 상기 가상토큰검증수단(20)과 상기 가상토큰생성수단(10)은 동일한 가상토큰생성함수를 포함한다. 가상토큰검증수단(20)과 가상토큰생성수단(10)이 동일한 가상토큰생성함수를 포함함에 따라 가상토큰검증수단(20)은 가상토큰생성수단(10)에서 생성된 가상토큰 내의 복수의 세부코드를 제대로 추출해낼 수 있다. 또한, 가상토큰검증수단(20)은 수신된 가상토큰이 정상적인 가상토큰생성수단(10)에서 생성되어 수신된 것인지 검증할 수 있다. 즉, 가상토큰검증수단(20)이 가상토큰생성수단(10)과 동일한 조건에서 코드(즉, 가상토큰 또는 특정한 세부코드) 생성을 수행한 후 가상토큰생성수단(10)에서 수신된 코드(즉, 가상토큰 또는 특정한 세부코드)를 비교하여 봄에 따라 검증을 수행할 수 있다.
도 3는 본 발명의 다른 일실시예에 따른 가상토큰생성장치(100)의 구성도이다.
도 4은 본 발명의 일실시예에 따른 가상토큰생성장치의 예시도면이다.
도 3를 참조하면, 본 발명의 다른 일실시예에 따른 가상토큰생성장치(100)는, 세부코드생성부(110); 가상토큰생성부(120); 및 가상토큰제공부(130);를 포함한다.
본 발명의 실시예들에 따른 가상토큰생성장치(100)는 가상토큰생성수단(10)에 해당하는 프로그램이 내장(Embeded)되거나 가상토큰생성수단(10)에 해당하는 프로그램이 설치된 장치일 수 있다. 예를 들어, 가상토큰생성장치(100)는 가상토큰생성수단(10)에 해당하는 프로그램이 내장된 스마트카드일 수 있다. 또한, 예를 들어, 가상토큰생성장치(100)는 가상토큰생성수단(10)에 해당하는 앱카드 어플리케이션이 설치된 이동단말기 또는 특정한 가상토근 프로그램이 내장된 이동단말기일 수 있다. 가상토큰생성장치(100)는 상기 기재된 예시 이외에 가상토큰을 생성하여 전송하여야 하는 다양한 장치가 될 수 있다.
가상토큰생성부(120)는 하나 이상의 세부코드를 조합하여 가상토큰으로 생성하는 역할을 수행한다. 일실시예로, 상기 가상토큰은 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성되는 것이다. 가상토큰생성함수는 복수의 세부코드를 조합하는 규칙(즉, 세부코드결합함수)을 포함한다.
복수의 세부코드를 결합하여 하나의 가상토큰을 생성하는 방식으로는 다양한 방식이 적용될 수 있다. 상기 세부코드결합함수의 일 예로, 가상토큰생성부(120)는 N자리의 제1코드와 N자리의 제2코드를 번갈아 배치하는 방식으로 가상토큰을 생성할 수 있다. 또한, 다른 일 예로, 세부코드결합함수는 제1코드 뒤에 제2코드를 결합하는 함수일 수 있다. 가상함수에 포함되는 세부코드가 늘어남에 따라 세부코드결합함수도 다양하게 생성될 수 있다.
세부코드생성부(110)는 하나 이상의 세부코드를 생성하는 역할을 수행한다. 가상토큰생성함수는 각각의 세부코드생성함수를 포함한다. 예를 들어, 가상토큰생성함수는 복수의 세부코드생성함수를 이용하여 복수의 세부코드를 생성하고, 복수의 세부코드를 결합하는 세부코드결합함수를 이용하여 가상토큰을 생성한다.
일실시예로, 세부코드생성부(110)는 세부코드생성함수로 제1함수와 제2함수를 포함하여, 제1코드 및 제2코드를 생성한다. 제1코드와 제2코드는 가상토큰검증수단(20) 내에서 실제카드번호의 저장위치를 탐색하기 위한 상관관계를 가지나, 가상토큰생성장치(100)는 보안성을 높이기 위해 제1코드를 생성하는 제1함수와 제2코드를 생성하는 제2함수를 세부코드생성함수로 포함할 뿐, 제1코드와 제2코드의 상관관계에 대한 데이터를 포함하지 않을 수 있다.
또한, 다른 일실시예로, 가상토큰은 그룹을 구별하기 위한 변경되지 않는 고정코드를 복수의 세부코드와 함께 포함할 수 있다. 가상토큰검증수단(20)은 여러 그룹(예를 들어, 복수의 카드사 및 카드유형)에 각각 대응되는 여러 가상토큰생성함수를 포함할 수 있고, 가상토큰생성장치(100)로부터 가상토큰이 수신되면 해당 가상토큰생성장치(100)가 속하는 그룹의 가상토큰생성함수를 기반으로 실제카드번호 탐색을 수행하여야 한다. 고정코드가 포함되지 않고 전체 코드가 단위카운트가 경과될 때마다 신규생성되는 세부코드만을 포함하게 되면, 별도의 정보없이 가상토큰생성장치(100)가 속하는 그룹(예를 들어, 가상토큰생성장치에서 생성되는 가상토큰에 대응되는 카드사 및 카드유형)을 판단할 수 없다. 따라서, 가상토큰생성장치(100)는 그룹을 식별하기 위한 변경이 되지 않는 고정코드를 포함한다.
예를 들어, 특정 카드사의 카드유형별로 가상토큰생성함수가 부여되는 경우, 가상토큰생성장치(100)는 카드번호 중에서 카드사 및 카드유형을 나타내는 앞의 6자리를 고정코드로 사용하여, 가상토큰검증수단(20)은 가상토큰생성장치(100)와 동일한 가상토큰생성함수가 적용되는 특정 카드사와 특정 카드유형을 식별할 수 있다. 즉, 고정코드는, 상기 실제카드번호에 대응되는 카드사 또는 카드유형을 판단하는 코드이다.
또한, 다른 일실시예로, 고정코드는 가상토큰에 해당함을 식별하는 정보 또는 코드를 포함한다. 지불결제서비스서버(예를 들어, VAN사 서버 또는 PG사서버)나 결제단말기(예를 들어, 키오스크 장치 또는 POS장치)는 가상토큰만 수신되면 실제카드번호, 금융사서버에서 직접 실제카드번호와 매칭하여 사용하는 가상카드번호 또는 가상토큰검증수단에서 검증하는 가상토큰 중에서 어떠한 코드인지 파악할 수 없으므로, 가상토큰생성수단(20)은 고정코드 내에 가상토큰임을 식별할 수 있는 정보 또는 코드를 포함한다. 일 예로, 가상토큰생성수단(20)은 사용자의 실제카드번호 내의 발급사식별번호에 대응되며 가상토큰임을 확인할 수 있는 코드를 고정코드로 활용할 수 있다. 예를 들어, 실제카드번호 내의 발급사식별번호에 대응되는 6자리를 이용하여 발급사식별번호에 매칭되는 신규코드를 고정코드로 부여하여 사용한다. 이 때, 가상토큰검증수단(10)는 가상토근생성수단(20)과 고정코드와 발급사식별번호 간의 매칭관계를 동일하게 저장하여, 가상토큰 수신 시에 고정코드를 기반으로 실제카드번호의 카드사와 카드유형을 파악할 수 있다.
또한, 고정코드는, 상기 가상토큰 내에 미리 정해진 위치에 결합될 수 있다. 각 카드유형그룹 별로 가상토큰생성함수가 부여되는 경우, 가상토큰검증수단(20)은 가상토큰에서 고정코드를 먼저 추출하여야 카드유형그룹을 판단할 수 있다. 따라서, 고정코드는 별도의 함수 없이 분리가능하도록 가상토큰 내의 미리 정해진 위치(예를 들어, 실제카드번호의 발급사식별번호와 동일한 위치)에 결합될 수 있다.
또한, 일실시예로, 가상토큰생성장치(100)는 복수의 세부코드와 고정코드를 조합하여 실제카드번호와 동일한 자릿수의 코드가 되도록 세부코드를 생성한다. 기존의 금융거래 시스템(예를 들어, 매장 내 결제인 경우, POS장치 및 VAN사서버)을 그대로 유지하면서 가상토큰을 사용하기 위해서는, 가상토큰생성장치(1OO)는 실제카드번호와 동일한 자릿수를 가지는 코드를 가상토큰으로 생성하여야 한다. 이를 위해, 가상토큰생성장치(100)는 카드사 및 해당 카드사의 카드유형을 판단하기 위한 고정코드를 제외한 자릿수를 나누어 복수의 세부코드의 자릿수를 활용한다. 예를 들어, 실제카드번호가 16자리의 카드식별번호를 가지고 세부코드로 제1코드 및 제2코드를 포함하는 경우, 가상토큰생성장치(100)는 16자리 중에서 6자리의 고정코드를 제외한 10자리를 동일하게 나누어서 5자리의 제1코드 및 제2코드를 생성할 수 있다. 그 후, 후술되는 가상토큰생성부가 제1코드 및 제2코드를 특정한 규칙에 따라 결합한 후 고정코드를 실제카드번호의 카드식별번호에서와 같이 앞부분에 결합하여 가상토큰의 카드식별번호를 생성할 수 있다.
또한, 예를 들어, 카드번호의 카드식별번호와 유효기간의 자리를 활용하여 세부코드로 이루어진 가상토큰을 생성할 수 있다. 즉, 16자리의 카드식별번호와 4자리의 유효기간 중에서, 가상토큰생성장치(100)는 실제카드번호의 발급사식별번호에 해당하는 6자리를 고정코드로 유지하고, 나머지 14자리를 복수의 세부코드에 할당하여, 세부코드생성부는 할당된 각각의 자릿수에 부합하는 세부코드를 생성한다.
또한, 예를 들어, 가상토큰생성장치(100)는 실제카드번호의 카드식별번호, 유효기간 및 카드보안코드를 가상토큰에서 세부코드에 할당할 자릿수로 활용할 수 있다. 예를 들어, 가상토큰생성장치(100)는 실제카드번호의 발급사식별번호에 해당하는 6자리를 고정코드로 유지하고, 카드식별코드의 나머지 10자리, 유효기간 4자리 및 카드보안코드 3자리를 각각의 세부코드에 자릿수로 할당할 수 있다.
또한, 예를 들어, 가상토큰생성장치(100)는 카드식별번호 부분만으로 가상토큰의 세부코드와 고정코드를 표현할 수 있다. 이 때, 가상토큰생성장치(100)는 복수의 세부코드에 상이한 자릿수를 배정할 수 있다. 즉, 가상토큰이 고정코드, 제1코드 및 제2코드를 포함하고 카드식별번호의 자릿수만으로 고정코드, 제1코드 및 제2코드를 생성하는 경우, 가상토큰생성장치(100)는 고정코드에 배정되는 6자리를 제외한 자릿수 중의 9자리를 제1코드와 제2코드에 나누어 배정한다. 카드식별번호가 15자리인 경우와 16자리인 경우에 모두 적용하기 위해, 가상토큰생성함수는 카드식별번호의 9자리만을 제1코드와 제2코드에 배정할 수 있다. 예를 들어, 가상토큰생성함수는 9자리 중에서 제1코드에 6자리를 배정하고 제2코드에 3자리를 배정할 수 있다. 이와 같이, 전체 카드번호 중에서 카드식별번호 부분만으로 가상토큰을 구성하는 코드를 표현하면, 사용자가 카드번호를 직접 입력하여야 하는 상황에서 입력하여야 하는 문자 수가 줄어들 수 있다. 또한, 가상토큰생성장치(100)는 유효기간 및 카드보안코드 부분을 보안성을 높일 수 있는 다른 용도로 활용할 수 있다.
또한, 일실시예로, 가상토큰은 가상보안코드를 더 포함한다. 예를 들어, 가상토큰은 복수의 세부코드와 가상보안코드를 포함한다. 가상토큰의 보안코드는 실제카드번호의 카드보안코드(즉, CVV 또는 CVC)의 자리를 활용하여 제공될 수 있다. 즉, 기존의 금융거래시스템에서 사용되는 실제카드번호와 동일한 문자개수를 포함하도록, 가상토큰생성장치는 카드보안코드 자리를 가상토큰의 가상보안코드에 할당하고, 카드식별번호 및 유효기간의 전부 또는 일부 자리를 복수의 세부코드에 할당할 수 있다.
상기 가상보안코드는 특정한 보안코드생성함수를 기반으로 생성되는 코드로서, 정상적인 가상토큰인지 여부를 검증하기 위해 이용된다. 상기 보안코드생성함수는 시간데이터와 가상토큰생성수단 고유값을 함수값으로 사용하여 특정한 자릿수의 보안코드를 생성한다.
가상보안코드를 활용하여 가상토큰의 정상여부를 판단하는 과정의 일 예는 다음과 같다. 가상토큰검증수단(20)은 실제카드번호 등록시에 가상토큰생성장치(100)의 고유값(예를 들어, 스마트카드 내의 칩고유값 또는 앱카드가 설치된 스마트폰의 고유값 등)을 수신하여 실제카드번호의 저장위치에 함께 저장하거나 실제카드번호 저장위치에 연결된 별도의 저장공간에 저장할 수 있다. 가상토큰생성장치(100)가 가상보안코드가 결합된 가상토큰을 생성하여 가상토큰검증수단(20)에 제공하면, 가상토큰검증수단(20)은 세부코드를 기반으로 가상토큰이 생성된 시간데이터를 획득하고, 내부에 저장된 특정한 가상토큰생성장치(100)의 고유값을 추출하여 시간데이터와 함께 가상보안코드생성함수(예를 들어, OTP(One-Time Password) 함수)에 적용하여 가상보안코드를 산출한다. 가상토큰검증수단(20)은 가상토큰생성장치(100)에서 수신한 가상보안코드(즉, 수신가상보안코드)와 내부에 저장된 가상보안코드생성함수로 산출한 가상보안코드(즉, 생성가상보안코드)가 일치하는 지 판단한다. 가상토큰생성장치(100)에서 가상토큰을 생성하는 시점과 가상토큰검증장치(200)에서 가상토큰을 수신한 시점 사이에 차이가 존재할 수 있으므로, 가상토큰검증장치(200)는 시간딜레이를 고려하여 특정시간 범위 내(예를 들어, 가상토큰을 수신한 시점으로부터 특정 카운트 이전까지)의 가상보안코드(즉, OTP번호)를 계산하여, 가상토큰생성장치(100)로부터 수신된 수신가상보안코드와 일치하는 값이 존재하는지 확인한다. 가상토큰검증수단(20)는 수신가상보안코드와 생성가상보안코드가 일치하면 정상적인 가상토큰으로 판단하여 실제카드번호를 제공한다.
예를 들어, 가상보안코드는 카드보안번호에 대응되는 자릿수로 생성될 수 있다. 즉, 가상토큰생성장치(100)는 가상보안코드생성함수를 이용하여 카드보안번호에 해당하는 3자리 또는 4자리를 가상보안코드로 생성하고, 카드 사용 시에 카드보안번호로 가상보안코드를 입력하면 가상토큰검증수단(20)은 가상보안코드를 검증하는 과정을 수행한다.
또한, 다른 예로, 가상보안코드생성함수는 각 카운트마다 다른 l자리(l은 자연수)의 코드를 생성하여 함수값으로 함께 적용할 수 있다. 즉, 가상보안코드생성함수는 l자리의 랜덤코드생성함수(예를 들어, l자리의 코드를 생성하는 OTP함수)를 포함할 수 있다.
또한, 일실시예로, 가상토큰이 제1코드 및 제2코드의 특정한 규칙에 따른 조합으로 생성되는 경우, 제1코드와 제2코드는 실제카드번호가 저장된 저장위치를 탐색하기 위한 각각의 역할을 수행할 수 있다. 예를 들어, 제1코드는 저장위치탐색의 시작지점을 설정하고, 제2코드는 특정한 탐색방식에 따라 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정한다. 즉, 가상토큰생성장치(100)로부터 단위카운트마다 정상적으로 생성된 가상토큰이 제공되면, 가상토큰검증수단(20)은 제1코드에 대응하는 탐색시작지점으로부터 제2코드에 상응하는 탐색경로에 따라 이동한 지점을 실제카드번호의 저장위치로 판단한다. 가상토큰을 구성하는 제1코드와 제2코드를 기반으로 저장위치를 탐색하는 구체적인 방식은 후술한다.
세부코드생성부(110)가 세부코드를 생성하는 방식의 일실시예로, 세부코드생성부(110)는 단위카운트마다 새로운 세부코드를 생성하고, 이에 따라 가상토큰생성장치(100)는 단위카운트마다 새로운 가상토큰을 생성한다. 단위카운트마다 신규로 생성되는 가상토큰은 중복되어 생성되지 않는다. 구체적으로, 세부코드생성부(110)는, 단위카운드마다 신규 생성되는 가상토큰이 특정한 사용자 또는 특정한 가상토큰생성장치(100)에게 정해진 기간동안 중복 생성되지 않을 뿐만 아니라, 특정한 그룹에 속한 사용자 간에도 중복생성되지 않도록 설정된다.
가상토큰의 중복생성을 방지하는 구체적인 일실시예로, M개 문자로 N자리의 상기 제1코드 또는 상기 제2코드를 생성하는 경우, 가상토큰생성함수에 포함되는 세부코드생성함수는 MN개의 코드를 제1코드 또는 제2코드로 생성할 수 있고, 각각의 코드를 세부코드생성함수가 구동되는 초기시점으로부터 각 카운트마다 매칭한다. 예를 들어, 단위카운트를 1초로 설정하는 경우, 세부코드생성함수가 최초 구동된 시점에서부터 매 초에 상이한 MN개의 코드를 매칭한다. 그리고, 특정한 세부코드생성함수를 이용하는 주기 또는 가상토큰생성장치(100)의 사용주기(예를 들어, 가상토큰을 생성하는 스마트카드의 유효기간)를 MN 카운트에 해당하는 시간길이(예를 들어, 1카운트가 1초인 경우, MN 초)보다 짧은 시간길이로 설정하면 제1코드 또는 제2코드는 사용주기 동안에 동일한 코드가 중복 생성되지 않는다. 즉, 시간이 흐름에 따라 카운트가 증가할 때, 사용자가 특정시점에 가상토큰생성장치(100)에 가상토큰생성요청을 하는 경우, 가상토큰생성장치(100)는 특정시점에 대응되는 카운트에 매칭된 코드값을 제1코드 또는 제2코드로 생성할 수 있다.
구체적으로, 알파벳 대문자와 0부터 9까지의 숫자를 코드에 포함가능한 문자로 사용(즉, 36개의 문자를 사용)하고, 실제카드번호의 카드식별번호와 유효기간의 자리를 활용하여 제1코드와 제2코드에 각각 6자리를 할당하는 경우, 가상토큰생성장치(100)는 제1코드 및 제2코드로 366개의 코드를 제공할 수 있다. 이 때, 가상토큰생성장치(100)는 각각의 코드를 각 카운트마다 매칭시켜서, 각 카운트마다 변경된 제1코드 및 제2코드를 제공할 수 있다.
가상토큰의 중복생성을 방지하는 구체적인 다른 일실시예로, 가상토큰생성장치(100)의 사용주기가 경과되면, 제1코드 또는 제2코드를 생성하는 함수(즉, 제1함수 또는 제2함수)를 변경하거나 제1코드와 제2코드의 매칭관계를 변경하여 이전 사용주기와 상이한 가상토큰이 생성되도록 한다. 가상토큰이 제1함수에 의해 생성되는 제1코드와 제2함수에 의해 생성되는 제2코드가 결합되는 경우, 제1코드생성함수 또는 제2코드생성함수가 변경되면, 가상토큰생성장치(100)는 제1코드 또는 제2코드가 등장하는 순서가 이전 사용주기와 달라짐에 따라 이전주기와 상이한 가상토큰을 생성하는 가상토큰생성함수를 신규 사용주기에 적용할 수 있다. 또한, 가상토큰생성장치(100)는 이전 사용주기에서 사용된 가상토큰과 동일한 코드가 신규 사용주기 내 각 카운트의 가상토큰으로 등장하지 않도록(즉, 제1함수에 따라 생성되는 제1코드와 제2함수에 따라 생성되는 제2코드의 매칭관계가 신규 사용주기의 모든 카운트에서 이전 사용주기 내에 포함된 매칭관계 중에 포함되지 않도록) 제1함수와 제2함수를 선택할 수 있다. 즉, MN 개의 코드를 1회씩 적용할 수 있는 사용주기를 경과한 후 가상토큰생성함수 조절 또는 갱신을 통해 이전 사용주기와 겹치는 가상토큰이 생성되지 않는 신규 사용주기의 가상토큰생성함수를 적용할 수 있다.
이 때, 가상토큰생성수단(10) 및 가상토큰검증수단(20)은 가상토큰생성함수를 갱신하는 규칙을 저장할 수 있다. 즉, 가상토큰생성수단(10) 및 가상토큰검증수단(20)은 복수의 제1함수와 제2함수를 각 사용주기에 적용하는 순서 또는 규칙을 저장할 수 있다.
또한, 가상토큰의 중복생성을 방지하는 구체적인 다른 일실시예로, 동일한 그룹에 속한 사용자 간에도 동일한 가상토큰이 동일시점에 생성되지 않도록, 가상토큰에 포함되는 제1코드 또는 제2코드 중 어느 하나는 적어도 가상토큰생성장치(100)마다 동일시점에 항상 상이하게 존재하는 값(즉, 장치식별값)을 반영하여 생성될 수 있다. 일실시예로, 장치식별값은 특정한 세부코드생성함수가 적용되는 그룹에 특정한 가상토큰생성장치(100)가 포함된 시점(예를 들어, 가상토큰검증수단(20) 내에 특정한 세부코드생성함수가 구동된 최초시점으로부터 특정시간이 경과한 후 특정한 가상토큰생성장치(100)에 상기 세부코드생성함수가 적용되기 시작한 시점)으로부터 현재까지 경과된 시간(또는 카운트수)일 수 있다. 하나의 그룹 내에 복수의 가상토큰생성장치(100)가 포함되는 경우, 가상토큰생성장치(100)를 해당 그룹에 속하도록 설정하는 카운트를 동일하지 않게 하면(즉, 가상토큰생성장치(100)가 해당 그룹에 동시에 속할 수 없게 하면), 가상토큰생성장치(100)가 그룹에 속하게 된 시점(또는 카운트)로부터 특정시점까지의 경과된 시간은 각 가상토큰생성장치(100)마다 상이하게 된다. 따라서, 세부코드생성함수 중 적어도 어느 하나는 가상토큰생성장치(100)가 카드유형그룹에 속하게 된 시점(또는 카운트)로부터 특정시점까지의 경과된 시간을 장치식별값으로 이용하여, 각 시점마다 각각의 가상토큰생성장치(100)에서 생성되는 가상토큰이 상이하도록 할 수 있다. 이를 통해, 가상토큰검증수단(20)이 사용자를 구별하기 위한 데이터를 별도로 수신하지 않고 가상토큰을 수신하는 것만으로 가상토큰생성장치(100)의 구별이 가능하도록 할 수 있다.
예를 들어, 가상토큰생성장치(100)가 출력되는 토큰 번호를 변경할 수 있는 프로그램이 설치된 이동단말기인 경우, 특정한 카드사의 특정한 카드유형이 하나의 그룹으로 설정되고, 가상토큰검증서버 내의 특정한 가상토큰검증수단(예를 들어, 가상토큰검증서버 내에 각 카드유형별로 가상토근검증수단이 존재하고 가상토근검증수단 내에 하나의 저장위치탐색알고리즘이 포함되는 경우) 또는 저장위치탐색알고리즘(예를 들어, 가상토큰검증서버가 가상토큰검증수단으로 구성되고, 가상토근검증수단 내에 각 카드유형별 저장위치탐색알고리즘이 포함되어 있는 경우)이 해당 그룹에 대해 구동된다. 제1사용자가 가상토큰검증수단(20) 구동 시로부터 A시간만큼 경과된 시점에 제1가상토큰생성장치(100)(즉, 제1사용자의 가상토큰생성장치(100))에 실제카드번호 등록(예를 들어, 실제카드번호를 가상토큰검증서버에 전송하고 가상토큰생성함수를 제공받는 과정)을 요청하고 제2사용자가 가상토큰검증수단(20) 구동 시로부터 B(B는 A보다 큰 값)시간만큼 경과된 시점에 제2가상토큰생성장치(100)(즉, 제2가상토큰생성장치(100))에 실제카드번호 등록을 요청하면, 제1가상토큰생성장치(100) 및 제2가상토큰생성장치(100)는 제1사용자와 제2사용자로부터 가상토큰 생성이 요청된 C(C는 B보다 큰 값)시간에 카드등록 시점으로부터 경과된 시간길이가 항상 상이하게 된다. 따라서, 세부코드생성함수는 각 가상토큰생성장치(100)에 실제카드번호를 가상토큰 서비스에 등록한 시점으로부터 경과된 시간길이를 변수로 적용함에 따라 동일시점에 동일한 가상토큰이 생성되지 않도록 할 수 있다.
또한, 특정한 가상토큰생성장치(100)가 특정한 그룹에 속하게 된 시점으로부터 경과된 시간길이는 시간이 흐름에 따라 계속 증가하게 되므로, 특정한 가상토큰생성장치(100)에서 생성되는 세부코드(예를 들어, 제2코드)는 동일한 값이 생성되지 않고 계속 다른 값이 생성된다.
또한, 가상토큰의 중복생성을 방지하는 구체적인 또 다른 일실시예로, 전체주기에서 사용자에 무관하게 중복된 가상토큰이 발생되지 않도록, 제1코드는 가상토큰검증수단(20) 내에서 제1함수가 구동되는 초기시점으로부터 각 카운트마다 매칭된 코드 중에서 가상토큰 생성요청이 된 시점(또는 카운트)에 대응되는 코드값으로 설정하고, 제2코드는 가상토큰생성장치(100)마다 동일시점에 항상 상이하게 존재하는 값(즉, 장치식별값)을 반영하여 생성되는 코드값으로 설정하고, 가상토큰을 상기 제1코드와 제2코드가 결합된 코드값으로 이용할 수 있다. 제1코드는 각 카운트마다 상이한 코드값이 되고 제2코드는 동일시점에 가상토큰생성장치(100)마다 상이한 코드값을 가지게 되어서, 제1코드와 제2코드가 결합된 가상토큰은 모든 가상토큰생성장치(100)와 모든 시점에 상이한 코드값이 출력되게 된다.
또한, 다른 일실시예로, 상기 가상토큰생성함수(또는 세부코드생성함수)는, M개의 문자를 오름차순으로 나열하는 다수의 나열규칙 중 어느 하나가 적용된다. 즉, 가상토큰생성장치(100)(즉, 가상토큰생성수단(10))는 가상토큰생성함수 내에 포함되는 세부코드생성함수에 M개 문자를 오름차순으로 나열하는 규칙을 다양하게 적용하여 할 수 있다. 예를 들어, 알파벳 대문자를 오름차순으로 나열하는 나열규칙은, 일반적인 순서인 A, B, C,…, Z 순서가 될 수 있고, A, C, B,…, Z 순서가 될 수도 있다. 가상토큰생성함수에서 나열규칙이 달라짐에 따라 가상토큰생성함수가 구동되는 초기시점부터 각 카운트에 차례대로 코드가 매칭되는 순서가 달라지게 된다. 가상토큰검증수단(20)은 동일한 나열규칙에 따라 생성된 코드가 각 카운트에 매칭되어 있거나, 동일한 나열규칙 자체를 가상토큰생성함수에 포함하여 저장할 수 있다. 따라서, 각 그룹별 가상토큰생성함수가 상이한 세부코드결합함수를 포함하거나 상이한 문자 나열규칙을 포함하여, 각 그룹별로 상이한 가상토큰생성함수를 가지도록 할 수 있다.
가상토큰제공부(130)는 상기 가상토큰을 가상토큰검증장치(200)로 제공하기 위해 외부로 출력하는 역할을 수행한다. 가상토큰제공부(130)는 가상토큰을 외부로 제공할 수 있는 다양한 구성을 포함할 수 있다. 가상토큰제공부(130)는 무선인터넷모듈; 근거리통신모듈; IC칩(131); 자장발생부; 디스플레이부(132) 등의 전부 또는 일부를 포함한다.
무선 인터넷 모듈은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 이동 단말기(100)에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), LTE(long term evolution), LTE-A(Long Term Evolution-Advanced) 등이 이용될 수 있다. 예를 들어, 가상토큰생성장치(100)가 가상토큰생성수단인 앱카드 어플리케이션이 설치된 이동단말기인 경우, 쇼핑어플리케이션 또는 쇼핑웹사이트에서 물품구매할 때, 가상토큰생성장치(100)는 무선인터넷 통신을 통해 지불결제서비스버서(즉, PG사서버)(40)로 가상토큰을 전송할 수 있다.
근거리 통신 모듈은 근거리 통신을 위한 모듈을 말한다. 근거리 통신(short range communication) 기술로 블루투스(Bluetooth), BLE(Bluetooth Low Energy), 비콘(Beacon), RFID(Radio Frequency Identification), NFC(Near Field Communication), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
가상토큰제공부(130)는, 가상토큰생성장치(100)가 POS장치에 가상토큰을 전달하는 카드에 해당하는 경우, 자장발생부 또는 IC칩을 포함할 수 있다. 자장발생부는 카드데이터를 자기신호 형태로 출력하여 카드리더기에 전달하는 기능을 수행한다. 자장발생부는 전류 흐름을 통해 자기장을 형성하여 카드정보 자기신호를 출력하는 자기셀을 하나 이상 포함할 수 있다. 가상토큰생성장치가 카드형태인 경우, 자장발생부는 카드의 PCB판의 특정한 긴 변에 인접하게 상기 긴 변을 따라 PCB판의 상면 또는 하면에 노출되도록 구비될 수 있다. 또한, 가상토큰생성장치가 스마트폰과 같은 이동단말기인 경우, 자장발생부는 이동단말기 내부의 일측면에 배치될 수 있다.
IC칩(131)은 PCB판 내에 실장되어 IC방식의 카드리더기의 단자와 접촉하여 데이터교환을 수행하도록 할 수 있다. 즉, IC칩은 가상토큰생성부(120)에서 생성된 가상토큰을 IC방식의 카드리더기로 전달한다.
디스플레이부(132)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 전자종이(E-paper) 중에서 적어도 하나를 포함할 수도 있다.
디스플레이부는 가상토큰생성부(120)에서 생성한 가상토큰을 시각적으로 외부에 출력한다. 이를 통해, 가상토큰생성장치(100)의 사용자는 실시간으로 생성된 가상토큰을 시각적으로 확인할 수 있고, 가상토큰검증수단(20)에 시각적으로 확인한 가상토큰을 직접 입력할 수 있다.
예를 들어, 도 4에서와 같이, 가상토큰생성장치가 스마트카드인 경우, 가상토큰생성장치는 표면에 카드번호를 기재하지 않고 가상토큰을 출력할 수 있는 디스플레이부를 구비할 수 있다. 또한, 예를 들어, 가상토큰이 발급사식별번호와 동일한 고정코드를 포함하는 경우, 가상토큰생성장치(100)는 발급사식별번호를 카드표면에 기재하고, 나머지 카드번호의 자리만 디스플레이부로 가질 수 있다. 예를 들어, 상기 디스플레이부는 전자종이, OLED 등이 될 수 있고, 각각의 자리에 구비되는 7-Segment 디스플레이일 수도 있다. 또한, 예를 들어, 가상카드생성장치가 앱카드 어플리케이션이 설치된 스마트폰인 경우, 디스플레이부는 앱카드 어플리케이션이 실행되어 표시되는 스마트폰의 디스플레이부일 수 있다.
또한, 사용자는 디스플레이부에 표시된 가상토큰을 문자메시지 등의 다양한 경로를 통해 가상토큰을 전달할 수 있다. 실제카드번호를 전송하는 것이 아니라 가상토큰검증수단(20)에서 실제카드번호를 탐색할 수 있는 가상토큰(구체적으로, 계속적으로 변경생성되는 코드)를 전달하는 것이므로, 사용자가 문자메시지 등을 통해 코드 전송 시 실제카드번호 유출을 우려하지 않도록 할 수 있다.
또한, 사용자는 디스플레이부에 표시된 가상토큰을 복사한 후 화면 상에 출력되는 결제페이지에 붙여 넣는 방식을 이용할 수 있다. 예를 들어, 특정한 매장에 방문한 사용자가 주문 및 결제를 하고자 하거나 온라인 결제를 수행 경우, 가상토큰생성장치가 가상토큰생성 프로그램이 설치된 이동단말기이면, 사용자는 가상토큰생성 프로그램을 실행하여 해당 시점에 생성된 가상토큰을 복사하고, 매장의 인트라넷을 통해 제공되는 오프라인 결제페이지 또는 온라인 결제를 위한 페이지의 카드번호 기재란에 가상토큰을 입력할 수 있다.
도 5는 본 발명의 일실시예에 따른 가상토큰검증장치(200)의 구성도이다.
도 5를 참조하면, 본 발명의 또 다른 일실시예에 따른 가상토큰검증장치(200)는, 가상토큰수신부(210); 세부코드추출부(220); 실제카드번호탐색부(230); 및 실제카드번호전송부(240);를 포함한다. 가상토큰검증장치(200)는 가상토큰 서비스를 제공하는 사업의 서버일 수 있다. 즉, 가상토큰검증장치(200)는 특정시점에 실제카드번호를 대신하여 사용할 수 있는 가상토큰을 기반으로 실제카드번호를 탐색하여 결제 진행을 위해 금융사서버에 제공하는 서비스 사업자의 서버이다. 구체적으로, 오프라인 카드 결제의 경우, 가상토큰검증장치(200)는 POS장치 및 지불결제 서비스서버(즉, PG사 서버)를 통해 가상토큰생성장치(100)에서 생성한 가상토큰을 수신한다. 예를 들어, 지불결제서비스서버는 결제단말장치에서 수신된 결제수단 선택입력 또는 가상토큰 내의 고정코드를 기반으로 가상토큰이 수신된 것으로 판단되면 가상토큰 사업자서버(즉, 가상토큰검증서버)로 전달한다. 그 후, 가상토큰검증서버는 가상토큰에 대응되는 실제카드번호를 탐색하여 금융사서버 또는 지불결제서비스서버로 제공한다.
실제카드번호를 지불결제서비스서버로 제공하는 경우, 지불결제서비스서버는 가상토큰검증서버에서 수신된 실제카드번호를 금융사서버로 전송하여 결제를 진행할 수 있다. 이 때, 지불결제서비스서버는 실제카드번호와 결제요청정보(예를 들어, 결제금액)을 함께 금융사서버로 전송할 수 있다.
가상토큰검증서버가 실제카드번호를 금융사서버로 직접 제공하는 경우, 가상토큰검증서버는 지불결제서비스서버로부터 가상토큰 이외의 결제요청정보를 가상토큰과 함께 수신하고, 가상토큰을 기반으로 탐색된 실제카드번호와 상기 결제요청정보를 금융사서버에 함께 전송할 수 있다. 이 때, 가상토근검증서버는 금융사에서 운영하는 서버일 수도 있고, 금융사와 구별되는 업체의 서버일 수도 있다. 예를 들어, 가상토큰검증서버가 금융사에서 운영하는 서버인 경우, 가상토큰검증서버는 금융사서버(즉, 기존 결제 서버)로 내부망을 통해 탐색된 실제카드번호와 결제요청정보를 전송할 수 있다.
가상토큰수신부(210)는 가상토큰생성장치(100)로부터 가상토큰을 수신하는 역할을 수행한다. 일실시예로, 가상토큰수신부(210)는 다른 서버(예를 들어, 지불결제서비스서버)와의 통신을 통해 가상토큰생성장치(100)에서 생성된 가상토큰을 전달받을 수 있다.
세부코드추출부(220)는 상기 가상토큰에 포함된 복수의 세부코드를 추출한다. 상기 가상토큰은 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성되는 것이다. 가상토큰검증장치(200)의 세부코드추출부(220)는 특정그룹의 가상토큰생성장치(100)와 동일한 세부코드결합함수를 포함하여, 세부코드추출부(220)는 세부코드결합함수를 적용하여 가상토큰에서 복수의 세부코드를 추출할 수 있다. 예를 들어, 가상토큰생성장치(100)에서 두 개의 세부코드(즉, 제1코드 및 제2코드)가 결합된 가상토큰을 생성하는 경우, 세부코드추출부(220)는 가상토큰의 문자배열에서 세부코드결합함수를 적용하여 제1코드 및 제2코드를 분리해낼 수 있다.
실제카드번호탐색부(230)는 복수의 세부코드를 기반으로 실제카드번호의 저장위치를 탐색한다. 실제카드번호탐색부(230)가 각각의 세부코드를 기반으로 실제카드번호 저장위치를 탐색하는 방식으로는 다양한 방식이 적용될 수 있다. 실제카드번호탐색부(230)가 복수의 세부코드를 기반으로 저장위치를 탐색하기 위해 세부코드 간에는 상관관계를 포함할 수 있다.
가상토큰이 제1코드 및 제2코드로 구성되는 경우, 세부코드 간에 상관관계를 가지는 일실시예로, 실제카드번호탐색부(230)는 제1코드에 대응하는 탐색시작지점을 결정하고, 상기 탐색시작지점으로부터 제2코드에 상응하는 탐색경로에 따라 이동한 지점을 실제카드번호의 저장위치로 찾을 수 있다. 즉, 상기 세부코드는, 저장위치탐색의 시작지점을 설정하는 제1코드 및 특정한 탐색방식에 따라, 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정하는 제2코드를 포함할 수 있다.
또한, 다른 일실시예로, 가상토큰생성수단(10)(또는 가상토큰생성장치(100))가 단위카운트마다 신규 가상토큰을 제공함에 따라, 가상토큰검증장치(200)는 각 카운트마다 변경되는 제1코드 및 제2코드를 기반으로 탐색시작지점과 탐색경로를 설정하여 실제카드번호의 저장위치를 탐색할 수 있다.
또한, 다른 일실시예로, 실제카드번호탐색부(230)는 상관관계를 가지는 복수의 세부코드를 이용하여 실제카드번호의 저장위치를 찾기 위해, 저장위치탐색알고리즘을 포함할 수 있다. 저장위치탐색알고리즘은 가상토큰에 포함되는 각각의 세부코드 적용 시에 저장위치 탐색이 가능하도록 하는 알고리즘이다. 일 예로, 상기 저장위치탐색 알고리즘은, 복수의 세부코드로 제1코드 및 제2코드를 포함하는 경우, 특정한 카운트의 상기 제1코드 및 상기 제2코드에 대응하는 위치로 실제카드번호의 저장위치를 이동시키거나, 특정한 카운트의 상기 제1코드 및 상기 제2코드에 의해 실제카드번호의 고정된 저장위치를 탐색 가능한 것일 수 있다.
예를 들어, 가상토큰으로부터 저장위치의 탐색시작지점을 결정하는 제1코드와 탐색시작지점으로부터의 저장위치 방향을 제시하는 제2코드를 포함하는 경우, 저장위치탐색알고리즘은 제1코드에 대응되는 지점에서 제2코드에 대응되는 방향을 지시할 때, 해당 위치에 실제카드번호가 매칭되는 저장위치가 배치되도록 조절하는 알고리즘이다. 저장위치탐색알고리즘을 이용함에 따라, 가상토큰검증장치(200)는 가상토큰에 포함된 제1코드와 제2코드가 변경되어도 실제카드번호 저장위치 또는 저장위치에 매칭된 지점을 찾을 수 있다. 저장위치탐색알고리즘은 다양한 방식이 적용될 수 있으며, 구체적인 예시는 후술한다. 다만, 저장위치탐색알고리즘은 후술되는 예시에 한정되지 않는다.
예를 들어, 후술되는 바와 같이, 도 8을 참조하면, 저장위치탐색알고리즘이 제1코드에 해당하는 MN개의 코드가 나열된 트랙을 따라 구름이동하는 k각형(k는 MN)이며, k각형의 꼭지점이 제1코드 트랙 상에 코드가 배치되는 지점에 대응되면서 이동하는 경우, k각형의 각 꼭지점이 실제카드번호 저장위치와 매칭되고, 제1코드 트랙(즉, 제1트랙)과 k각형이 대응되는 지점이 제1코드에 대응하는 저장위치 탐색시작지점이 될 수 있다. 이 때, 실제카드번호탐색부(230)는 세부코드추출부(220)에서 추출된 제1코드에 대응되는 지점에 k각형의 꼭지점이 접하도록 k각형을 구름이동를 적용할 수 있다. 이를 통해, 실제카드번호탐색부(230)는 k각형이 접한 제1트랙 상의 위치에서 제2코드에 상응하는 각도(예를 들어, k각형의 꼭지점을 향하도록 180도를 MN개로 분할한 특정한 각도)로 지시함에 따라, 가상토큰에 대응하는 실제카드번호가 저장된 저장위치인 k각형의 꼭지점을 탐색할 수 있다.
구체적으로, 도 8에서와 같이, 가상토큰검증장치(200)는 제1코드에 대응하는 지점으로 k각형을 구름이동(즉, k각형의 각 꼭지점과 트랙 상의 각 지점이 차례대로 접하도록 하면서 이동)시킨다. 그 후, 가상토큰검증장치(200)는 제2코드에 상응하는 각도 방향을 지시하여 저장위치에 상응하는 꼭지점을 탐색한다. 예를 들어, 가상토큰생성수단B는 실제카드번호를 등록받은 후 2카운트가 경과하였으므로 가상토큰생성수단B는 2카운트를 함수값으로 적용한 제2코드를 생성하여 가상토큰검증수단으로 제공한다. 가상토큰검증수단은 k각형과 트랙이 접하는 지점에서 각 꼭기점을 향하는 각도에 각 카운트마다 제2함수에 의해 생성되는 제2코드를 매칭하여 저장(즉, n카운트가 적용된 제2코드를 k각형의 n카운트만큼 구름이동함에 따라 구름이동된 n번째 꼭지점을 향하는 각도로 매칭하여 저장)하므로, 가상토큰검증수단은 제2코드에 상응하는 각도를 제1코드 대응지점에 적용하여 실제카드번호 저장위치에 대응하는 k각형의 꼭지점을 탐색한다.
또한, 예를 들어, 가상토큰검증장치(200)는 상기 저장위치탐색알고리즘이 하나의 트랙상에서 제1코드 및 제2코드를 기반으로 포인터를 이동시키는 것인 경우, 상기 가상토큰생성수단으로부터 수신된 상기 가상토큰 내 제1코드에 대응하는 트랙 상의 지점으로 포인터를 이동하고, 상기 제1코드에 대응하는 위치를 탐색시작지점으로 설정하고, 상기 제2코드에 대응하는 카운트 수만큼 트랙을 회귀하여 실제카드번호 저장위치에 매칭된 지점을 탐색하고, 실제카드번호 저장위치에 포함된 실제카드번호를 추출한다.
실제카드번호전송부(240)는 상기 저장위치에서 추출된 상기 실제카드번호를 지불결제서비스서버 또는 금융사서버로 전송한다. 즉, 실제카드번호전송부(240)는 금융사서버가 기존방식에 따라 결제를 진행할 수 있도록 실제카드번호를 탐색하여 금융사서버에 직접 제공하거나 지불결제서비스서버를 통해 금융사서버로 제공한다.
또한, 다른 일실시예로, 도 6에서와 같이, 상기 가상토큰검증장치(200)는, 가상토큰검증부(250);를 더 포함한다. 가상토큰검증부(250)는 가상토큰검증장치(200)가 수신한 가상토큰의 진위여부를 판단하는 역할을 수행한다.
도 7은 본 발명의 일실시예에 따른 가상토큰 기반의 결제제공방법의 순서도이다.
도 7을 참조하면, 본 발명의 일실시예에 따른 가상토큰 기반의 결제제공방법은, 가상토큰검증수단이 가상토큰생성수단에서 제공된 가상토큰을 수신하는 단계(S200; 가상토큰 수신단계); 상기 가상토큰검증수단이 상기 가상토큰에 포함된 복수의 세부코드를 추출하는 단계(S400); 상기 가상토큰검증수단이 복수의 세부코드를 기반으로 실제카드번호의 저장위치를 탐색하는 단계(S1000; 실제카드번호 탐색단계); 및 상기 저장위치에서 추출된 상기 실제카드번호를 지불결제서비스서버 또는 금융사서버로 전송하는 단계(S1200);를 포함한다. 이하, 각 단계에 대한 상세한 설명을 기재한다. 다만, 가상토큰생성장치(100) 및 가상토큰검증장치(200)에 대한 설명 과정에서 상술된 내용에 대한 구체적인 개시는 생략한다.
가상토큰검증수단(20)이 가상토큰생성수단(10)으로부터 가상토큰을 수신한다(S200; 가상토큰 수신단계). 가상토큰은 가상토큰생성장치(100)(또는 가상토큰생성수단(10))에서 생성되어 가상토큰검증수단(20)으로 제공된다. 상기 가상토큰생성수단(10)은, 가상토큰 서비스 이용을 위해 실제카드번호 등록 시에 상기 가상토큰생성함수를 수신하여 내부에 저장하여, 사용자의 결제요청시점에 상기 가상토큰검증수단과의 통신을 수행하지 않고 상기 결제요청시점에 부합하는 가상토큰을 생성하여 출력하는 것일 수 있다. 즉, 가상토큰생성수단(10)은 실제카드번호를 저장하지 않고 해당 시점에 대응하는 가상토큰을 가상토큰검증수단(20)과의 통신 과정 없이 생성할 수 있다.
가상토큰생성수단(10)에서 생성되는 가상토큰은 복수의 세부코드로 구성될 수 있다. 일실시예로, 가상토큰은 제1코드와 제2코드의 결합으로 생성될 수 있다. 제1코드 및 제2코드는 가상토큰검증수단(20)에서 실제카드번호의 위치를 탐색하는데 각각 이용된다. 예를 들어, 제1코드는 가상토큰검증수단(20)에서 실제카드번호 저장위치탐색의 시작지점을 설정하는 코드이고, 제2코드는 특정한 탐색방식에 따라 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정하는 코드일 수 있다. 상기 탐색방식은 저장위치탐색알고리즘에 의해 결정될 수 있다. 탐색방식 결정에 대한 상세한 설명은 후술되는 실제카드번호탐색단계(S1000)에서 상세히 기술한다.
또한, 상기 가상토큰은 고정코드를 더 포함한다. 상기 고정코드는, 상기 실제카드번호에 대응되는 카드사 또는 카드유형을 판단하는 코드 또는 가상토큰에 해당함을 식별하는 코드를 포함한다. 상기 고정코드는, 상기 가상토큰 내에 미리 정해진 위치에 결합된다. 가상토근 내의 고정코드에 대해 상술된 상세한 설명은 생략한다.
또한, 다른 일실시예로, 상기 가상토큰생성함수는, M개 문자로 N자리의 상기 제1코드 또는 상기 제2코드를 생성하는 경우, 상이한 MN개의 코드를 단위카운트마다 순차적으로 변경되는 제1코드 또는 제2코드로 제공하는 제1함수 또는 제2함수를 포함한다. 즉, 제1함수 또는 제2함수는 MN개의 코드를 카운트 증가에 따라 겹치지 않게 생성하는 함수로서, 특정한 시점에 대응하는 카운트에 MN개의 코드 중에 특정한 하나를 제1코드 또는 제2코드로 생성한다. 이를 통해, 가상토큰생성수단(10)은 MN카운트(즉, MN개의 카운트에 대응하는 시간길이) 내에 동일한 제1코드 또는 제2코드를 중복 생성하지 않고 단위카운트마다 새로운 세부코드(즉, 제1코드 또는 제2코드)를 생성하여, 단위카운트마다 새로운 가상토큰을 생성한다.
구체적으로, 가상토큰생성함수는, M개 문자로 N자리의 상기 제1코드 또는 상기 제2코드를 생성함에 따라 MN개의 코드를 제1코드 또는 제2코드로 이용하는 경우, 각각의 코드를 세부코드생성함수가 구동되는 초기시점으로부터 각 카운트마다 매칭한다. 예를 들어, 단위카운트를 1초로 설정하는 경우, 세부코드생성함수가 최초 구동된 시점에서부터 매 초에 상이한 MN개의 코드를 매칭한다. 그리고, 특정한 세부코드생성함수를 이용하는 주기 또는 가상토큰생성장치(100)의 사용주기(예를 들어, 가상토큰을 생성하는 스마트카드의 유효기간)를 MN 카운트에 해당하는 시간길이(예를 들어, 1카운트가 1초인 경우, MN 초)보다 짧은 시간길이로 설정하면 제1코드 또는 제2코드는 사용주기 동안에 동일한 코드가 중복 생성되지 않는다. 즉, 시간이 흐름에 따라 카운트가 증가할 때, 사용자가 특정시점에 가상토큰생성수단(10)에 가상토큰생성요청을 하는 경우, 가상토큰생성장치(100)는 특정시점에 대응되는 카운트에 매칭된 코드값을 제1코드 또는 제2코드로 생성할 수 있다.
또한, 다른 일실시예로, 동일한 그룹(즉, 동일한 카드사의 동일한 카드유형 그룹) 내에서도 동일한 가상토큰이 동일시점에 생성되지 않도록, 가상토큰에 포함되는 제1코드 또는 제2코드 중 적어도 어느 하나는 각 가상토큰생성수단(10)에서 동일시점에 항상 상이하게 존재하는 값(즉, 장치식별값)을 반영하여 생성될 수 있다. 즉, 특정한 시점에 동일한 카트유형 또는 카드종류인, 복수의 가상토큰생성수단(10)에서 가상토큰 발급이 요청되는 경우, 각 가상토큰생성수단(10)이 상이한 가상토큰을 생성하도록 각 시점에 각 가상토큰생성수단(10)에 상이하게 부여되는 값을 반영하여 상이한 제1코드 또는 제2코드를 생성한다.
예를 들어, 가상토큰이 발급사식별코드에 대응하는 고정코드를 포함하는 경우, 가상토큰검증장치(200)(예를 들어, 카드사서버)는 발급사식별번호로 구별되는 각 카드사의 카드유형별로 가상토큰생성함수를 부여한다. 따라서, 가상토큰생성수단(10)은, 고정코드에 의해 상이한 카드사/카드유형 간에 상이한 가상토큰이 생성하므로, 동일한 카드사의 특정한 카드유형 그룹 내에서 동일한 가상토큰이 생성되지 않도록 세부코드를 생성하여야 한다. 이를 위해, 각 가상토큰생성수단(10)이 상이한 가상토큰을 생성하도록 각 시점에 각 가상토큰생성수단(10)에 상이하게 부여되는 값을 반영하여 상이한 세부코드를 생성한다.
일 예로, 장치식별값은 특정한 세부코드생성함수가 적용되는 그룹에 특정한 가상토큰생성수단(10)이 포함된 시작시점(예를 들어, 가상토큰검증수단(20) 내에 특정한 세부코드생성함수가 구동된 최초시점으로부터 특정시간이 경과한 후 특정한 가상토큰생성장치(100)에 상기 세부코드생성함수가 적용되기 시작한 시점)으로부터 현재까지 경과된 시간(또는 카운트수)일 수 있다. 예를 들어, 장치식별값은, 특정한 사용자의 요청에 따라 특정한 카드사의 카드유형으로 실제카드번호를 등록하여, 실제카드번호가 해당 카드유형그룹에 속하게 된 카운트부터의 경과시간이 이용될 수 있다. 예를 들어, 가상토큰이 제1코드와 제2코드의 결합으로부터 생성되는 경우, 가상토큰생성함수는 실제카드번호를 가상토큰 서비스 내에 등록(즉, 특정한 카드유형의 저장위치 탐색알고리즘 내에 실제카드번호를 저장)한 시점으로부터 경과된 단위카운트를 기반으로 제2코드를 생성하도록 할 수 있다.
복수의 가상토큰생성수단으로부터 동시에 가상토큰 서비스 내에 동일한 카드유형의 실제카드번호 등록을 요청받는 경우에도 상이한 코드가 생성되어야 중복코드 발생에 따른 문제를 해소할 수 있다. 가상토큰생성수단(10)을 해당 카드유형그룹에 속하도록 설정하는 카운트를 동일하지 않게 하면(예를 들어, 가상토큰생성수단(10)에 대한 실제카드번호를 해당 카드유형그룹에 동일시점에 등록될 수 없게 하면), 가상토큰생성수단(10)이 그룹에 속하게 된 시점(또는 카운트)로부터 특정시점까지의 경과된 시간은 각 가상토큰생성장치(100)마다 상이하게 된다. 예를 들어, 동시에 특정한 카드사의 동일한 카드유형에 대해 여러 사용자로부터 가상토큰 서비스 내에 카드 등록이 요청되는 경우, 가상토큰검증수단(20)은 동시에 수신된 카드등록요청을 미리 정해진 조건에 따라 순서를 부여하여 다른 카운트에 요청이 들어온 것으로 처리할 수 있다. 즉, 가상토큰검증수단(20)은 실제로 동시에 수신된 카드등록요청을 적어도 단위카운트 하나의 차이가 발생하도록 상이한 카운트에 매칭하고, 이에 따라 각 가상토큰생성수단(10)에 대한 실제카드번호가 등록된 시점으로부터 특정한 동일시점까지 경과된 카운트수가 항상 상이하도록 할 수 있다.
따라서, 세부코드생성함수 중 적어도 어느 하나는 가상토큰생성장치(100)가 특정한 카드유형그룹에 속하게 된 시점(또는 카운트)으로부터 특정시점까지의 경과된 시간을 장치식별값으로 이용하여, 각 시점마다 각각의 가상토큰생성장치(100)에서 생성되는 가상토큰이 항상 상이하도록 할 수 있다. 이를 통해, 가상토큰검증수단(20)이 사용자를 구별하기 위한 데이터를 별도로 수신하지 않고 가상토큰을 수신하는 것만으로 가상토큰생성수단(10)의 구별이 가능하도록 할 수 있다.
또한, 특정한 가상토큰생성장치(100)가 특정한 카드유형그룹에 속하게 된 시점(예를 들어, 가상토큰검증서버 내의 특정한 카드유형에 대한 저장위치탐색알고리즘 내에 실제카드번호가 저장되는 시점)으로부터 경과된 시간길이는 시간이 흐름에 따라 계속 증가하게 되므로, 특정한 가상토큰생성장치(100)에서 생성되는 세부코드(예를 들어, 제2코드)는 동일한 값이 생성되지 않고 계속 다른 값이 생성된다.
또한, 또 다른 일실시예로, 전체주기에서 사용자에 무관하게 중복된 가상토큰이 발생되지 않도록, 제1코드는 제1함수가 구동되는 초기시점으로부터 각 카운트마다 매칭된 코드 중에서 가상토큰 생성요청된 시점(또는 카운트)에 대응되는 코드값으로 설정하고, 제2코드는 가상토큰생성장치(100)마다 동일시점에 항상 상이하게 존재하는 값(즉, 장치식별값)을 반영하여 생성되는 코드값으로 설정하고, 가상토큰을 상기 제1코드와 제2코드가 결합된 코드값으로 이용할 수 있다. 제1코드는 각 카운트마다 상이한 코드값이 되고 제2코드는 동일시점에 가상토큰생성장치(100)마다 상이한 코드값을 가지게 되어서, 제1코드와 제2코드가 결합된 가상토큰은 가상토큰생성장치(100)와 시점에 상관없이 상이한 코드값이 출력되게 된다.
또한, 다른 일실시예로, 상기 가상토큰생성함수는, 복수의 세부코드를 배열하는 규칙에 해당하는 세부코드결합함수를 포함한다. 즉, 가상토큰생성함수는 복수의 세부코드에 포함된 문자를 나열 또는 배치하는 특정한 규칙을 가지고 있을 수 있다. 이에 따라, 동일한 가상토큰생성함수를 포함하는 가상토큰생성수단(10)과 가상토큰검증수단(20)의 경우, 가상토큰생성수단(10)이 복수의 세부코드에 포함된 문자를 세부코드결합함수에 따라 배열하고, 가상토큰검증수단(20)이 동일한 세부코드결합함수를 이용하여 가상토큰에서 개별 세부코드를 분리할 수 있다.
또한, 다른 일실시예로, 상기 가상토큰생성함수는, M개의 문자를 오름차순으로 나열하는 다수의 나열규칙 중 어느 하나가 적용될 수 있다. 즉, 가상토큰생성함수는 M개의 문자를 오름차순으로 나열하는 다양한 나열규칙이 적용될 수 있고, 적용되는 나열규칙에 따라 상이한 가상토큰생성함수로 분류될 수 있다.
가상토큰검증수단(20)은 가상토큰생성수단(10)이 생성한 가상토큰을 다양한 방식으로 수신한다. 즉, 상술된 가상토큰생성장치(100)의 다양한 가상토큰제공방식이 적용될 수 있다.
예를 들어, 카드사서버가 상기 가상토큰검증수단을 포함하는 경우, 상기 가상토큰 수신단계(S200)에서, 가상토큰검증수단(20)은 가상토큰에 의한 매장사용자에 의해 결제단말기에 가상토큰 결제가 선택되거나 지불결제서비스서버에 의해 상기 결제단말기로부터 수신된 코드의 형태 또는 코드 내에 포함된 정보(예를 들어, 발급사식별정보에 매칭된 가상토큰용 고정코드)를 기반으로 가상토큰으로 판단됨에 따라, 상기 가상토큰검증수단이 상기 지불결제서비스서버로부터 가상토큰을 수신한다. 이 때, 상기 지불결제서비스서버는 금융거래단말기(예를 들어, POS장치)(30)나 컴퓨터에서 구동되는 결제프로그램으로부터 가상토큰을 수신한다.
가상토큰검증수단(20)이 상기 가상토큰에 포함된 복수의 세부코드를 추출한다(S400). 가상토큰검증수단(20)은 가상토큰생성수단(10)이 포함하는 가상토큰생성함수를 포함함에 따라, 복수의 세부코드를 결합하였던 규칙(즉, 세부코드결합함수)을 동일하게 적용하여 복수의 세부코드를 추출한다. 즉, 세부코드결합함수는 복수의 세부코드를 배열하는 규칙에 해당하는 것으로, 가상토큰생성함수 내에 포함된다.
또한, 다른 일실시예로, 가상토큰이 가상토큰생성수단(10)이 포함된 그룹을 결정하는 고정코드를 포함하는 경우, 상기 세부코드추출단계(S400)는 상기 가상토큰 내에서 상기 고정코드를 추출하고, 상기 고정코드를 기반으로 상기 가상토큰생성수단의 카드유형그룹을 판단하여, 상기 카드유형그룹에 대한 상기 가상토큰생성함수 또는 상기 저장위치탐색알고리즘을 결정한다. 즉, 각 그룹별로 가상토큰생성함수 또는 저장위치탐색알고리즘을 상이하게 적용하는 경우, 가상토큰검증수단(20)는 가상토큰 내의 고정코드를 기반으로 그룹을 구별한다.
또한, 고정코드를 이용하여 가상토큰생성함수를 결정하는 과정은, 복수의 세부코드를 추출하는 과정 이전에 수행될 수 있다. 고정코드에 의해 가상토큰생성함수가 결정되어야 가상토큰생성함수 내에 포함된 세부코드결합함수가 결정되어 복수의 세부코드를 추출할 수 있다.
이를 위해, 가상토큰검증수단(20)이 별도의 함수 없이도 용이하게 분리해내도록, 고정코드는 가상토큰 내에 고정된 위치(예를 들어, 가상토큰의 제일 앞의 특정 개수의 자리)에 결합될 수 있다.
가상토큰검증수단(20)이 복수의 세부코드를 기반으로 실제카드번호의 저장위치를 탐색한다(S1000; 실제카드번호 탐색단계). 복수의 세부코드는 상호간에 상관관계를 가지고 있고, 가상토큰검증수단(20)은 세부코드 간의 상관관계를 기반으로 실제카드번호 저장위치를 탐색한다.
일실시예로, 가상토큰 내의 복수의 세부코드는 단위카운트마다 생성되는 코드가 변경(예를 들어, 가상토큰이 2개의 세부코드로 이루어지는 경우, 제1코드 및 제2코드는 단위카운트마다 변경)될 수 있고, 가상토큰검증수단(20)은 단위카운트마다 가상토큰이 변경되어도 실제카드번호 저장위치를 탐색할 수 있도록 실제카드번호 저장위치에 매칭된 지점을 변경된 제1코드 및 제2코드에 부합하는 위치로 단위카운트마다 조절한다.
가상토큰을 구성하는 세부코드 간의 상관관계에 관한 일실시예로, 가상토큰이 제1코드와 제2코드의 결합으로 이루어지는 경우, 가상토큰검증수단(20)은 제1코드를 탐색시작지점(즉, 실제카드번호 저장위치의 탐색을 시작하는 지점)으로 설정하고, 제2코드를 상기 탐색시작지점으로부터 저장위치로 이동하는 경로로 적용하여 저장위치를 탐색할 수 있다. 즉, 단위카운트마다 정상적으로 생성된 가상토큰이 수신되면, 가상토큰검증수단(20)은 제1코드에 대응하는 시작지점으로부터 상기 제2코드에 상응하는 탐색경로에 따라 이동한 탐색지점을 실제카드번호의 저장위치 또는 저장위치에 매칭된 지점(예를 들어, 별도 서버에 탐색지점에 매칭되어 있는 저장공간)으로 판단한다.
일실시예로, 제2코드가 제1코드에 상응하는 탐색시작지점으로부터의 저장위치까지의 경로에 대한 정보를 모두 포함하는 경우, 가상토큰검증수단(20)은 제1코드에 상응하는 탐색시작지점으로부터 제2코드에 상응하는 탐색경로에 따라 실제카드번호 저장위치 또는 저장위치에 매칭된 지점을 찾을 수 있다.
다른 일실시예로, 가상토큰검증수단(20)은 단위카운트마다 실제카드번호의 저장위치를 가상토큰에 부합하게 조절하는 저장위치탐색알고리즘을 포함할 수 있다. 즉, 상기 가상토큰검증수단(20)은, 단위카운트마다 실제카드번호 저장위치에 매칭된 지점으로의 탐색경로를 제공하는 저장위치탐색알고리즘을 포함한다. 상기 저장위치탐색 알고리즘은, 특정한 카운트의 상기 제1코드 및 상기 제2코드에 대응하는 위치로 실제카드번호의 저장위치를 이동시키거나, 특정한 카운트의 상기 제1코드 및 상기 제2코드에 의해 실제카드번호의 고정된 저장위치를 탐색 가능한 것이다. 상기 저장위치탐색알고리즘은 다양한 형태로 구현될 수 있다.
일실시예로, 도 9에서와 같이, 저장위치탐색알고리즘이 k(k는 MN)개의 코드가 나열된 트랙 상을 k각형이 각 코드가 배치된 지점에 꼭지점이 대응되면서 구름이동하는 것일 수 있다. 이 때, 상기 실제카드번호탐색단계(S1000)는, 가상토큰검증수단(20)이 상기 가상토큰생성수단(10)으로부터 수신된 상기 가상토큰 내 제1코드에 대응하는 트랙 상의 지점으로 k각형을 구름이동하는 단계(S1010); 상기 제1코드에 대응하는 위치를 시작지점으로 설정하고, 상기 제2코드에 적용된 탐색방식에 따라 제2코드를 기반으로 k각형의 배치상태에서의 저장위치 또는 상기 저장위치가 매칭된 지점을 탐색하는 단계(S1020; 저장위치탐색단계); 및 상기 저장위치에 포함된 실제카드번호를 추출하는 단계(S1030);를 포함한다.
가상토큰검증수단(20)은, 도 8에서와 같이, 가상토큰생성수단(10)으로부터 수신된 상기 가상토큰 내 제1코드에 대응하는 트랙 상의 지점으로 k각형을 구름이동한다(S1010). 저장위치탐색알고리즘은 제1코드에 해당하는 MN개의 코드가 나열된 트랙을 따라 구름이동하는 k각형(k는 MN)이며, k각형의 꼭지점이 제1코드 트랙 상에 코드가 배치되는 지점에 대응되면서 이동한다. 이 때, 가상토큰검증수단(20)은 제1코드에 대응되는 지점에 k각형의 꼭지점이 접하도록 k각형을 구름이동을 적용할 수 있다.
가상토큰검증수단(20)은, 도 8에서와 같이, 상기 제1코드에 대응하는 위치가 시작지점으로 설정하고, 상기 제2코드에 적용된 탐색방식에 따라 제2코드를 기반으로 k각형의 배치상태에서의 저장위치 또는 저장위치에 매칭된 지점(즉, k각형의 특정한 꼭지점)을 탐색한다(S1020; 저장위치탐색단계). 상기 저장위치는 상기 k각형의 각각의 꼭지점에 매칭된다. 제1코드 트랙(즉, 제1트랙)과 k각형이 대응되는 지점이 제1코드에 대응하는 저장위치 탐색시작지점이 된다. 가상토큰검증수단(20)은 탐색시작지점에서 제2코드를 기반으로 저장위치의 매칭지점을 탐색한다.
제2코드를 기반으로 k각형에서 저장위치를 탐색하는 방식으로는 다양한 방식이 적용될 수 있다. 일 예로, 가상토큰검증수단(20)은 k각형이 접한 제1트랙 상의 위치에서 제2코드에 상응하는 각도(예를 들어, k각형의 꼭지점을 향하도록 180도를 MN개로 분할한 특정한 각도)로 지시함에 따라, 가상토큰에 대응하는 실제카드번호가 저장된 저장위치인 k각형의 꼭지점을 탐색할 수 있다.
또한, 다른 예로, k각형이 제1트랙 상의 제1코드에 대응하는 지점에 접한 상태에서, 가상토큰검증수단(20)은 k각형의 중심과 제1트랙 상의 접점을 기준으로, 전체 중심각(즉, 360도)을 MN개로 분할하고, 각각의 각도를 MN개의 제2코드에 매칭한다. 이 때, k각형의 중심과 제1트랙 상의 접점을 이은 선으로부터 특정개수의 단위각도(즉, 360도/MN)를 이동한 선의 방향은 k각형의 특정한 꼭지점이 된다. 따라서, 특정한 각도에 대응하는 제2코드가 수신되면, 가상토큰검증수단(20)은 해당 각도 방향에 위치한 꼭지점을 탐색할 수 있다.
또한, 다른 예로, 제2코드의 특정 자리를 각도산출 방향을 결정하는 것으로 사용할 수 있다. 즉, N개(N은 자연수)의 문자를 이용하여 제2코드를 생성하는 경우, 1개의 자리(Digit)로 각도 측정방향을 결정할 수 있다. 예를 들어, 가상토큰검증수단(20)은 k각형의 중심과 제1트랙 상의 접점을 기준으로, 전체 중심각(즉, 360도)을 분할하여 각각의 각도에 제2코드를 매칭하는 경우, k각형의 중심과 제1트랙 상의 접점을 이은 선으로부터 좌측방향으로 측정되는 각도인지 우측방향으로 측정되는 각도인지를 1개의 자리(Digit)의 값으로 결정할 수 있다.
일 예로, 저장위치탐색알고리즘은, k각형 상의 각 꼭지점에 각도 측정방향에 따라 다른 2개의 제2코드가 하나의 꼭지점에 배정할 수 있다. 즉, 하나의 꼭지점에 내각으로 도달 시와 외각으로 도달 시에 다른 제2코드와 매칭되고, 다른 실제카드번호가 연결될 수 있다. 다른 일 예로, 저장위치탐색알고리즘은, N개(N은 자연수)의 문자를 이용하여 제2코드를 생성하는 경우에 N-1개로 전체각도(예를 들어, 중심각을 기준으로 분할하는 경우 360도)의 반에 대해 매칭하고 1개 자리를 이용하여 각 꼭지점에 도달하기 위한 각도 적용방향을 결정할 수 있다.
제2코드를 기반으로 k각형에서 저장위치를 탐색하는 방식은 이에 한정되지 아니하고, 제2코드에 상응하는 k각형 상의 지점과 제1트랙 상의 접점 사이를 특정한 비율로 나누는 지점을 저장위치로 탐색하는 방식 등의 다양한 방식이 적용될 수 있다.
그 후, 가상토큰검증수단(20)은 상기 저장위치에 포함된 실제카드번호를 추출한다(S1030). 즉, 가상토큰검증수단(20)은 k각형의 꼭지점에 대응되는 저장위치를 찾아서, 저장위치 내의 실제카드번호를 추출한다.
또한, 다른 일실시예로, 상기 저장위치탐색알고리즘은 가상토큰을 구성하는 복수의 세부코드를 기반으로 트랙상을 이동하여 실제카드번호저장위치에 매칭된 지점으로 이동하는 것이다. 예를 들어, 상기 실제카드번호저장위치에 매칭된 지점은 가상토큰생성수단에 실제카드번호를 등록한 카운트(즉, 시점)에 대응하는 트랙상의 지점일 수 있다.
구체적으로, 가상토큰이 가상토큰생성함수가 구동된 시점으로부터 경과된 시간을 기반으로 생성된 제1코드와 특정한 가상토큰생성수단에 실제카드번호가 등록된 시점으로부터 경과된 시간을 기반으로 생성된 제2코드를 포함하는 경우, 도 10에서와 같이, 가상토큰검증수단(20)은 제1코드에 대응되는 코드값이 매칭된 트랙상의 카운트를 탐색시작지점으로 설정하고, 제2코드에 제2함수의 역함수를 적용함에 따라 산출된 카운트값만큼 상기 탐색시작지점으로부터 트랙을 따라서 회귀하여 가상토큰생성수단(10)에 실제카드번호를 등록한 시점의 트랙상의 지점(즉, 실제카드번호저장위치에 매칭된 지점)을 탐색한다.
또한, 다른 일실시예로, 도 11에서와 같이, 상기 실제카드번호 탐색단계(S1000)는, 특정한 단위카운트에 정상적으로 생성된 가상토큰이 수신되면, 상기 가상토큰 내의 상기 고정코드를 기반으로 특정한 카드유형에 대한 특정한 저장위치탐색알고리즘을 선택하는 단계(S1001); 및 상기 제1코드 및 상기 제2코드를 상기 선택된 저장위치탐색알고리즘에 적용하여 탐색된 저장위치에서 실제카드번호를 추출하는 단계(S1002);를 포함한다. 가상토큰검증수단(20)은 복수의 카드사의 복수의 카드유형을 등록받은 후에 가상토큰 서비스를 제공할 수 있으므로, 카드유형별로 상이한 저장위치탐색 알고리즘을 적용할 수 있다. 이 때, 가상토큰검증수단(20)은 발급사식별코드에 대응되는 고정코드를 기반으로 가상토큰이 속하는 카드유형의 저장위치탐색 알고리즘을 선택한다(S1001). 그 후, 가상토큰검증수단(20)은 저장위치탐색 알고리즘에 대응되는 가상토큰생성함수(즉, 세부코드결합함수)를 이용하여 제1코드와 제2코드를 추출하고, 제1코드 및 제2코드를 이용하여 가상토큰에 대응되는 실제카드번호를 탐색한다(S1002).
가상토큰검증수단(20)은 상기 저장위치에서 추출된 상기 실제카드번호를 지불결제서버스서버 또는 금융사서버로 전송한다(S1200). 실제카드번호를 PG사서버로 제공하는 경우, 지불결제서비스서버는 가상토큰검증서버에서 수신된 실제카드번호를 금융사서버로 전송하여 결제를 진행할 수 있다. 가상토큰검증서버가 실제카드번호를 금융사서버로 직접 제공하는 경우, 가상토큰검증서버는 지불결제서비스서버로부터 가상토큰 이외의 결제요청정보를 가상토큰과 함께 수신하고, 가상토큰을 기반으로 탐색된 실제카드번호와 상기 결제요청정보를 금융사서버에 함께 전송할 수 있다.
또한, 도 12에서와 같이, 다른 일실시예로, 특정한 가상토큰생성수단(10)으로부터 특정한 카운트에 신규로 실제카드번호를 가상토큰 서비스에 등록이 요청되면, 상기 특정한 카운트에 대응되는 저장위치에 실제카드번호를 저장/등록하는 단계(S100; 실제카드번호 등록단계);를 더 포함한다. 사용자가 서비스를 가입할 때 또는 서비스 가입 후 개별 카드를 등록할 때, 가상토큰검증수단(20)은 실제카드번호 등록단계를 수행할 수 있다.
일 예로, 상기 저장위치탐색 알고리즘이 k각형을 이용하는 경우, 가상토큰검증수단(20)은 특정한 카운트에 대응하는 k각형의 특정한 꼭지점에 신규로 실제카드번호를 등록한다. 상기 특정한 꼭지점은 상기 특정한 카운트에 트랙 상에 접한 것이다. 가상토큰검증수단(20)이 가상토큰생성함수 및 저장위치탐색알고리즘을 구동한 후 특정한 시점(또는 카운트)가 경과하였을 때, 가상토큰검증수단(20)은 특정한 가상토큰생성수단(10)에 대한 신규 실제카드번호 등록을 수신함에 따라 제1트랙 상에 접한 k각형의 꼭지점에 매칭된 저장위치에 신규생성한 실제카드번호를 저장한다. 구체적으로, 가상토큰검증수단(20)에서 가상토큰생성함수 및 저장위치탐색알고리즘이 구동됨에 따라 각 카운트마다 하나의 코드씩 k각형과 트랙이 접하는 위치가 이동하도록 k각형이 구름이동하게 되고, 특정한 카운트에 신규 실제카드번호 등록이 요청되면 특정한 카운트에 트랙에 접하고 있는 꼭지점이 실제카드번호가 저장되는 k각형 상의 지점으로 결정된다.
예를 들어, 도 8에서와 같이, 가상토큰검증수단은 A시점에 가상토큰생성수단A에 대해 실제카드번호를 등록함에 따라 A시점에 트랙에 접하였던 k각형의 꼭지점에 가상토큰생성수단A의 실제카드번호를 저장한다. 그 후, 카운트가 경과함에 따라 k각형은 트랙을 따라 구름이동을 수행한다. k각형의 회전에 의해 가상토큰생성수단 A의 실제카드번호가 저장된 저장위치가 회전하게 된다.
즉, 트랙과 접하는 k각형의 꼭지점에 실제카드번호가 저장된 후 n카운트가 경과된 만큼 k각형이 회전하여, 경과된 n카운트 개수만큼 실제카드번호가 저장된 지점이 회전된다. 따라서, 제2코드가 실제카드번호가 등록된 카운트(즉, 시점)로부터 경과된 단위카운트 개수를 반영하여 산출되면, 가상토큰검증수단(20)은 제2코드를 통해 가상토큰이 생성된 시점에 실제카드번호가 저장된 k각형 상의 지점을 산출할 수 있다.
구체적으로, 제1코드가 가상토큰검증수단(20) 내에서 특정한 가상토큰생성함수 및 저장위치탐색알고리즘이 구동된 최초시점으로부터 경과된 카운트 개수에 대응하는 코드값이고 제2코드가 특정한 가상토큰생성수단(10)에 대해 실제카드번호를 등록한 후 경과된 카운트 개수에 대응하는 코드값인 경우, 가상토큰검증수단(20)은 제1코드를 통해 가상토큰생성수단(10)에서 가상토큰 생성을 요청한 시점(예를 들어, C시점)을 파악하고, 제2코드를 통해 해당 시점의 k각형 배치상태에서 실제카드번호가 저장된 k각형 상의 꼭지점을 파악한다. 즉, 제1코드는 k각형의 특정한 꼭지점을 탐색할 수 있는 k각형 배치상태가 되도록 하는 트랙상의 지점을 결정하는데 이용되고, 제2코드는 제1코드에 대응하는 트랙상 지점에 k각형이 배치된 후에 실제카드번호 저장위치에 매칭된 k각형 상의 꼭지점을 탐색하는데 이용된다. 이를 통해, 가상토큰생성수단(10)에서 가상토큰을 생성한 후 가상토큰검증수단(20)으로 제공되는데 지연시간(delay time)이 있더라도, 가상토큰검증수단(20)은 가상토큰에 대응하는 실제카드번호를 정확히 탐색할 수 있다.
또한, 다른 일실시예로, 도 10에서와 같이, 하나의 트랙상에서 제1코드와 제2코드를 기반으로 이동하는 저장위치탐색알고리즘을 이용하는 경우, 가상토큰검증수단(20)은 가상토큰생성함수가 구동된 시점부터 트랙 시작지점에서 출발한 포인터(Pointer)가 단위카운트가 경과될 때마다 트랙 상의 분할단위를 이동하여 위치한 트랙상의 지점(즉, 실제카드번호 등록시점(A시점))을 실제카드번호 저장위치에 매칭된 지점으로 결정할 수 있다.
구체적으로, 사용자가 여러 장의 상이한 종류의 카드를 가상토큰 서비스에 등록한 경우, 사용자가 제1카드를 가상토큰 서비스에 등록하기 위해 실제카드번호를 입력하면, 가상토큰검증수단(20)은 제1카드의 실제카드번호에 포함된 발급사식별번호를 기반으로 카드사와 카드유형을 파악하고 실제카드번호에 대응하는 제1 저장위치 탐색알고리즘을 선택한다. 그 후, 가상토큰검증수단(20)은 실제카드번호 등록이 요청된 시점의 카운트를 실제카드번호 등록시점(A시점)으로 설정하고, 선택된 제1 저장위치 탐색알고리즘의 A시점에 실제카드번호를 매칭한다. 이 때, 가상토큰검증수단(20)은 사용자의 가상토큰생성수단(10)에 제1카드에 대한 제1가상토큰생성함수를 제공한다. 제1가상토큰생성함수는 제1카드의 발급사식별번호에 대응되는 고정코드, 세부코드생성함수 및 세부코드결합함수를 포함할 수 있다.
그 후, 사용자가 제1카드와 상이한 카드사 또는 종류의 제2카드를 가상토큰 서비스에 등록하여 사용하고자 하는 경우, 가상토큰검증수단(20)은 제2카드의 실제카드번호에 포함된 발급사식별번호를 기반으로 카드사와 카드유형을 파악하고 실제카드번호에 대응되는 제2 저장위치 탐색알고리즘을 선택한다. 그 후, 가상토큰검증수단(20)은 실제카드번호 등록이 요청된 시점의 카운트를 실제카드번호 등록시점(A'시점)으로 설정하고, 제2 저장위치 탐색알고리즘의 A'시점에 실제카드번호를 매칭한다. 이 때, 가상토큰검증수단(20)은 사용자의 가상토큰생성수단(10)에 제2카드에 대한 제2가상토큰생성함수를 제공한다.
그 후, 사용자가 가상토큰 서비스를 통해 제1카드 또는 제2카드로 결제하고자 하는 경우, 가상토큰생성수단(10)은 사용자로부터 선택된 카드(예를 들어, 제1카드)에 대응되는 가상토큰생성함수(예를 들어, 제1가상토큰생성함수)로 가상토큰을 생성한 후 가상토큰검증수단(20)으로 제공된다. 가상토큰검증수단(20)은 가상토큰에 포함된 고정코드를 기반으로 가상토큰에 대응되는 저장위치탐색알고리즘을 탐색하고, 세부코드를 기반으로 가상토큰에서 추출된 세부코드를 기반으로 실제카드번호를 탐색한다.
또한, 다른 일실시예로, 도 13에서와 같이, 상기 가상토큰검증수단(20)이 상기 제1코드 또는 상기 제2코드를 상기 제1함수 또는 제2함수의 역함수를 적용하여 정상적으로 생성된 가상토큰에 해당하는지 검증하는 단계(S500);를 더 포함한다. 예를 들어, 제1코드가 가상토큰검증수단(20) 내에서 특정한 가상토큰생성함수 및 저장위치탐색알고리즘이 구동된 최초시점으로부터 경과된 카운트 개수에 대응하는 코드값이고 제2코드가 특정한 가상토큰생성수단(10)에 대해 실제카드번호를 등록한 후 경과된 카운트 개수에 대응하는 코드값인 경우, 가상토큰검증수단(20)은 실제카드번호를 저장위치에 저장할 때 가상토큰생성함수 구동 후 실제카드번호 등록 시까지 경과된 시간(Ts)를 함께 저장한다. 가상토큰검증수단(20)은 가상토큰 내 제1코드에 제1함수의 역함수를 적용하여 가상토큰생성함수 구동 시로부터 가상토큰 생성시점까지의 경과시간(T1)을 산출하고, 가상토큰 내 제2코드에 제2함수의 역함수를 적용하여 실제카드번호 등록 시로부터 가상토큰 생성시점까지의 경과시간(T2)를 산출한다. 그 후, 가상토큰검증수단(20)은 T1과 T2의 차이가 Ts에 해당하는지 여부를 판단하여 가상토큰을 검증한다.
또한, 다른 일실시예로, 도 14에서와 같이, 상기 가상토큰생성수단(10)으로부터 수신된 제1수신코드와 상기 가상토큰검증수단(20)에서 생성된 제1함수에 따라 생성된 제1생성코드를 비교하는 단계(S600); 상기 제1수신코드가 상기 제1생성코드로부터 오차허용범위 내에 포함되면 상기 제1수신코드를 상기 시작지점으로 하는 제1코드로 설정하는 단계(S700); 및 상기 제1수신코드가 상기 제1생성코드로부터 오차허용범위를 벗어나면 비정상코드로 판단하는 단계(S800);를 더 포함한다. 가상토큰생성수단(10) 및 가상토큰검증수단(20)은 시간이 흐름에 따라 동일한 단위카운트가 경과된다. 그러나 가상토큰생성수단(10)과 가상토큰검증수단(20)에 포함된 타이머(Timer) 사이에 오차가 존재하여 동일시점에 경과된 카운트 개수의 상이할 수 있다. 따라서, 타이머에 의한 오차는 해소하면서 정상적인 가상토큰이 아닌 비정상코드를 판별하기 위한 과정이 필요하다. 이를 위해, 가상토큰검증수단(20)은 내부에서 제1함수에 의해 특정한 카운트에서 생성한 제1코드인 제1생성코드와 가상토큰생성수단(10)으로부터 수신된 가상토큰 내의 제1코드인 제1수신코드를 비교하고(S600), 제1생성코드와 제1수신코드 사이에 차이나는 카운트 개수가 오차허용범위 내에 해당하면 정상코드로 판단한 후 제1수신코드를 기준으로 실제카드번호 탐색과정을 수행하고(S700), 제1생성코드와 제1수신코드 사이에 차이나는 카운트 개수가 오차허용범위를 넘어서면 비정상코드로 판단한다(S800).
또한, 다른 일실시예로, 상기 가상토큰은 특정한 자릿수의 가상보안코드를 더 포함하는 경우, 상기 가상토큰검증수단이 상기 가상토큰생성수단으로부터 수신한 수신가상보안코드와 상기 가상토큰검증수단 내에서 생성된 생성가상보안코드의 일치여부를 판단하여 가상토큰을 검증하는 단계;를 더 포함한다. 가상보안코드는 카드보안코드의 자릿수에 대응하도록 생성될 수 있고, 실제카드번호의 카드보안코드 자리에 표시될 수 있다.
일실시예로, 가상보안코드는 가상토큰생성장치 내의 고유값 및 카드보안코드(예를 들어, CVC/CVV번호)를 기반으로 생성될 수 있다. 상기 고유값은 각각의 가상토큰생성장치마다 개별적으로 부여된 장치고유값이다. 고유값 및 카드보안코드는 각각의 가상토큰생성장치(100)마다 부여되는 것이므로, 악의적 목적으로 가상토큰생성장치를 해킹하기 위해 가상토큰생성장치에서 신규로 가상토큰 서비스에 가입하여 가상토큰생성함수를 제공받은 자가 개별 가상토큰생성장치에 부여된 고유값 및 카드보안코드를 확인할 수 없다. 따라서, 가상토큰검증수단(20)이 가상토큰생성수단(10)에 의해 고유값 및 카드보안코드를 기반으로 생성된 가상보안코드를 수신하여 가상토큰생성수단(10)를 검증할 수 있다.
또한, 다른 일실시예로, 가상토큰생성수단(10)은 시간값을 반영하여 가상보안코드를 생성할 수 있다. 즉, 가상토큰생성수단(10)은 OTP(One Time Password: 고정된 패스워드 대신 무작위로 생성되는 일회용 패스워드를 이용하는 사용자인증)방식을 이용하여 가상보안코드를 생성할 수 있다. 가상토큰검증수단(20)은 가상보안코드에 해당하는 OTP번호를 가상토큰생성수단(10)으로부터 수신하고, 가상토큰생성수단(10)으로부터 OTP번호를 수신한 카운트로부터 특정범위 내의 카운트에서 산출된 OTP번호를 비교하여 가상토큰생성수단(10)을 검증한다. 즉, 가상토큰검증수단(20)은 실제카드번호저장위치 내에 카드보안코드(예를 들어, CVC/CVV)와 고유값을 함께 저장하여서, 가상토큰이 수신된 시점에 실제카드번호 저장공간에서 추출된 카드보안코드 및 고유값을 이용하여 생성된 OTP번호와 가상토큰생성수단(10)으로부터 수신된 OTP번호가 일치하는지 판단하여 가상토큰생성수단(10)을 검증한다.
또한, 다른 일실시예로, 가상보안코드는 가상토큰생성수단이 외부로 출력하지 않고 제1코드 및 제2코드 생성에 반영될 수 있다. 도 15에서와 같이, 가상토큰생성수단(10)은 가상토큰생성장치 내의 고유값 및 카드보안코드를 기반으로 생성된 가상보안코드값을 실제카드번호 등록시점에 더한 카운트의 제1코드를 생성하고, 가상보안코드값에 대응되는 카운트의 제2코드를 생성한다. 즉, 제1코드 및 제2코드는 가상토큰생성장치A에 실제카드번호가 등록된 A시점으로부터 가상보안코드값만큼 이동(shifting)된 카운트를 기반으로 생성된다. A시점으로부터 이동(Shifting)된 카운트는 생성되는 가상보안코드 값에 따라 현재시점에 대응하는 카운트보다 이전 카운트가 될 수도 있고, 이후 카운트가 될 수도 있다. 가상토큰검증수단(20)은 수신된 제1코드와 제2코드를 저장위치탐색알고리즘에 적용하여 실제카드번호 저장위치가 매칭된 지점을 탐색할 수 있다. 이를 통해, 타인이 가상토큰을 구성하는 제1코드 및 제2코드가 제공되는 순서를 확인할 수 없게 되어, 보안성이 향상될 수 있다.
또한, 다른 일실시예로, 가상토큰검증수단(20)은 가상보안코드를 기반으로 생성된 제2코드에서 가상보안코드를 추출한 후, 가상보안코드생성함수(즉, OTP함수)를 가상토큰을 수신한 카운트로부터 특정범위 내의 카운트를 입력하여 산출된 OTP번호 중에 가상보안코드와 일치하는 값이 있는지 여부를 확인한다. 가상토큰검증수단은 제2코드에 제2함수의 역함수를 적용하여 제2코드 생성에 이용된 가상보안코드값(즉, OTP함수값)을 획득하고, 가상보안코드값과 동일한 값을 산출하는 카운트를 찾아낸다. 가상토큰의 전송시간이나 딜레이에 의해 가상토큰생성수단에서 가상보안코드가 생성된 시점과 가상토큰검증수단이 가상보안코드를 수신한 시점의 차이가 존재함에 따라 가상토큰검증수단(20)이 가상토큰을 수신한 카운트와 가상보안코드에 해당하는 OTP번호를 생성한 카운트가 일치하지 않을 수도 있으므로, 가상토큰검증수단(20)은 가상토큰을 수신한 카운트로부터 오차범위를 허용한다. 이를 통해, 가상토큰검증수단(20)은 가상토큰을 전송한 가상토큰생성수단이 정상적으로 실제카드번호와 매칭된 것인지 검증할 수 있어서, 보안성이 향상될 수 있다. 또한, 사용자는, 가상토큰 입력 시에 특정한 자릿수의 가상보안코드를 입력하지 않아도 가상토큰검증수단(20)이 자체적으로 가상보안코드를 탐색하여 가상토큰생성수단(10)을 검증하므로, 가상토큰생성수단(10)을 간편하게 사용할 수 있다.
또한, 다른 일실시예로, 가상토큰생성수단(10)은 금융거래가 요청된 시점에 가상토큰생성장치 내의 고유값 및 카드보안코드를 기반으로 생성된 가상보안코드값을 더한 카운트에 대응하는 제1코드를 생성하고, 실제카드번호등록시점(A시점)과 결제요청시점(C시점) 간의 카운트 차이와 가상보안코드값을 더한 카운트에 대응하는 제2코드를 생성한다. 즉, 가상토큰생성수단(10)이 제1코드와 제2코드를 생성하는 수신은 다음과 같다.
제1코드 = f1(C시점 카운트 + 가상보안코드)
제2코드 = f2(C시점 카운트 ?? A시점 카운트 + 가상보안코드)
(A시점: 실제카드번호등록시점, C시점: 결제요청시점의 카운트, 가상보안코드: OTP번호)
가상토큰검증수단(20)은 수신한 가상토큰 내의 제1코드 및 제2코드를 기반으로 실제카드번호 저장위치를 탐색하고, 실제카드번호 저장위치 내에 함께 포함된 카드보안코드(즉, CVV 또는 CVC) 및 가상토큰생성장치(100)의 고유값을 추출한다, 가상토큰검증수단(20)은 카드보안코드 및 고유값을 기반으로 금융거래요청 수신시점으로부터 특정카운트 범위 내의 가상보안코드(즉, OTP번호)를 생성한다. 그 후, 가상토큰검증수단(20)은 실제카드번호등록시점(A시점)으로부터 금융거래요청 수신시점으로부터 특정카운트범위 내의 각 카운트까지의 카운트 개수와 가상보안코드(즉, OTP번호)의 합이 제2코드에 대응하는 카운트수(즉, 제2코드에 제2함수의 역함수를 적용한 값)와 같은 카운트가 존재하는지 확인한다. 가상토큰검증수단은 제1코드 및 제2코드를 기반으로 실제카드번호 저장위치가 매칭된 지점을 탐색함에 따라 실제카드번호 등록시점을 파악할 수 있다. 이를 통해, 가상토큰검증수단(20)은 가상토큰을 제공한 가상토큰생성수단(10)이 정상적으로 발급된 것인지 여부(즉, 정상적인 사용자에 의해 가상토큰 서비스가 가입된 것인지 여부)를 확인할 수 있다.
또한, 다른 일실시예로, 도 16에서와 같이, 특정한 가상토큰생성수단으로부터 금융거래 취소 요청이 수신되는 경우, 상기 가상토큰생성수단으로 금융거래 취소를 요청하는 카운트에 대응하는 가상토큰을 수신하는 단계(S1300); 상기 가상토큰검증수단이 상기 가상토큰에 대응하는 실제카드번호를 탐색하는 단계(S1400); 및 상기 금융사서버에 상기 실제카드번호에 대한 이전결제를 취소요청하는 단계(S1500);를 더 포함한다. 일반적으로 금융거래 시에 가상토큰을 이용하는 경우, 결제를 수행하였던 가상토큰을 재탐색하는데 어려움이 있어서 카드결제취소를 하기에 어려움이 있었다. 본 발명의 일실시예에서는, 카드결제 시와 카드결제 취소 시에 상이한 가상토큰이 발급되지만 동일한 가상토큰생성수단에서 생성된 가상토큰이므로 동일한 실제카드번호에 연결되어 있어, 결제취소 시에 제공된 가상토큰으로 결제를 진행하였던 실제카드번호를 용이하게 탐색할 수 있다.
즉, 가상토큰검증수단(20)은 결제취소 시점에 가상카드생성수단(10)에서 생성된 가상토큰(즉, 제2가상토큰)를 수신한다(S1300). 가상토큰검증수단(20)은 제2가상토큰에 대응되는 실제카드번호를 탐색한다(S1400). 실제카드번호를 탐색하는 방식은 금융거래 진행을 위해 실제카드번호를 탐색하는 S1000단계와 동일한 방식이 적용될 수 있다. 그 후, 가상토큰검증수단(20)은 상기 제2가상토큰을 기반으로 탐색된 실제카드번호를 기반으로 금융사서버에 이전결제 취소를 요청한다(S1500). 가상토큰검증수단(20)은 금융거래 실행(즉, 카드결제) 시에 사용되었던 가상토큰(즉, 제1가상토큰)를 탐색하지 않더라도, 금융거래가 실행된 실제카드번호를 제2가상토큰을 이용하여 탐색하므로 금융거래 취소를 진행할 수 있다.
또한, 다른 일실시예로, 상기 가상토큰 수신단계(S200)는, 가상토큰생성수단(10)이 매장 내 결제페이지에 접속하여 가상토큰을 입력함에 따라, 상기 가상토큰검증수단(20)이 결제단말기로부터 가상토큰을 수신한다. 상기 매장 내 결제페이지는, 매장 내 인트라넷망 접속 시에 제공되는 페이지로서, 가상토큰을 입력하는 제1인터페이스와 주문정보를 입력하는 제2인터페이스를 포함하는 것이다.
구체적으로, 사용자가 가상토큰생성수단(10)을 포함하는 이동단말기로 무선통신을 통해 매장의 인트라넷에 접속한다. 예를 들어, 특정한 매장에 방문한 경우, 가상토큰생성수단(10)은 인트라넷을 자동으로 탐색하여 매장 내 결제페이지를 제공할 수 있다. 또한, 예를 들어, 여러 매장이 모여 있는 장소(예를 들어, 푸트코트 또는 푸드트럭 존)에서, 가상토큰생성수단(10)은 여러 매장의 인트라넷 네트워크를 제공하고, 사용자로부터 주문 또는 결제를 하고자 하는 매장의 인트라넷 네트워크를 선택받을 수 있다. 그 후, 가상토큰생성수단(10)은 특정한 매장의 인트라넷을 통해 결제페이지를 제공받아서 화면 상에 출력한다,
그 후, 사용자는 결제페이지 내의 제1인터페이스에 가상토큰을 입력하고, 상기 제2인터페이스에 주문정보를 입력한다. 예를 들어, 사용자는 가상토큰생성장치에서 가상토큰 생성프로그램을 실행하여 실시간으로 생성되는 가상토큰을 복사한 후, 결제페이지로 이동하여 제1인터페이스에 가상토큰을 붙여넣을 수 있다. 가상토큰은 특정시점에 생성된 후에 재사용이 불가능하므로, 복사하여 전송하여도 유출에 의한 문제가 발생하지 않는다.
그 후, 가상토큰생성수단(10)은 인트라넷을 통해 매장단말기로 결제페이지에 입력된 주문정보와 가상토큰을 전송한다. 매장단말기는 인터넷을 통해 가상토큰과 결제금액 정보를 지불결제서비스서버에 전송하고, 지불결제서비스서버는 가상토큰으로 판단되면 가상토큰검증서버로 전송한다. 그 후, 가상토큰검증서버가 가상토큰을 기반으로 실제카드번호를 탐색하여 직접 또는 지불결제서비스서버를 통해 금융사서버에 실제카드번호를 전송하여 결제 승인을 요청한다.
이를 통해, 가상토큰 서비스를 이용하는 사용자는 매장에서 주문을 하기 위해 줄을 서지 않을 수 있고, 무선통신을 통해 주문을 하지만 실제카드번호를 이용하지 않고 단위카운트마다 변경되는 가상토큰을 이용하므로 카드번호 유출의 위험이 발생하지 않을 수 있다.
본 발명의 또 다른 일실시예에 따른 가상토큰 기반의 결제제공방법은, 가상토큰생성수단이 가상토큰검증수단에 실제카드번호를 등록함에 따라 가상토큰생성함수를 수신하는 단계(가상토큰생성함수 수신단계); 가상토큰생성수단이 사용자의 결제요청시점에 상기 가상토큰검증수단과의 통신을 수행하지 않고 상기 결제요청시점에 부합하는 복수의 세부코드를 생성하는 단계; 가상토큰생성수단이 상기 제1코드 및 상기 제2코드를 조합하여 가상토큰을 생성하는 단계; 및 가상토큰생성수단이 상기 가상토큰을 가상토큰검증서버로 제공하기 위해 외부로 출력하는 단계;를 포함한다. 기 설명한 내용에 대한 상세한 설명은 생략한다.
상기 가상토큰생성함수는 상기 가상토큰검증수단에 상기 실제카드번호가 저장된 저장위치탐색알고리즘에 상응하는 것이다. 상기 저장위치탐색알고리즘은 복수의 세부코드에 의해 지시되는 지점으로 단위카운트마다 실제카드번호의 저장위치를 이동시키거나, 특정한 카운트의 상기 복수의 세부코드를 기반으로 실제카드번호의 고정된 저장위치를 탐색 가능하도록 하는 것이다. 상기 복수의 세부코드는, 상기 가상토큰검증수단 내의 실제카드번호 저장위치의 탐색에 이용되는 제1코드 및 제2코드를 포함한다. 상기 제1코드 및 상기 제2코드는, 상기 가상토큰생성함수 내의 세부코드생성함수에 의해 단위카운트마다 변경되어 생성된다.
또한, 다른 일실시예로, 상기 가상토큰은 고정코드를 더 포함하고, 상기 고정코드는, 상기 가상토큰 내에 미리 정해진 위치에 결합되며, 상기 실제카드번호에 대응되는 카드사 또는 카드유형을 판단하는 코드 또는 가상토큰에 해당함을 식별하는 코드를 포함하는 것이다.
이상에서 전술한 본 발명의 일 실시예에 따른 가상토큰 기반의 결제제공방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (15)

  1. 가상토큰검증수단이 가상토큰생성수단에서 제공된 가상토큰을 결제단말기로부터 수신하되, 상기 가상토큰은 상기 가상토큰생성수단에서 실제카드번호에 매칭되어 생성되는 것인, 가상토큰 수신단계;
    상기 가상토큰검증수단이 상기 가상토큰에 포함된 복수의 세부코드를 추출하는 단계;
    상기 가상토큰검증수단이 복수의 세부코드를 기반으로 실제카드번호를 탐색하는 단계; 및
    상기 탐색된 실제카드번호를 지불결제서비스서버 또는 금융사서버로 전송하는 단계;를 포함하고,
    상기 가상토큰검증수단과 상기 가상토큰생성수단은 동일한 가상토큰생성함수를 포함하는 것이며,
    상기 가상토큰생성수단은,
    가상토큰 서비스 이용을 위해 실제카드번호 등록 시에 상기 가상토큰생성함수를 수신하여 내부에 저장하여, 사용자의 결제요청시점에 상기 가상토큰검증수단과의 통신을 수행하지 않고 상기 결제요청시점에 부합하는 가상토큰을 생성하여 출력하며,
    상기 복수의 세부코드는 상기 가상토큰검증수단 내의 실제카드번호 저장위치의 탐색에 이용되는 것으로서, 단위카운트마다 변경되는 제1코드 및 제2코드를 포함하고,
    상기 단위카운트는,
    특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것이며,
    상기 가상토큰검증수단이 상기 실제카드번호 저장위치 내에 포함된 카드보안코드 및 상기 가상토큰생성수단의 고유값을 추출하고, 상기 카드보안코드 및 상기 가상토큰생성수단의 고유값을 기반으로 생성된 가상보안코드를 이용하여, 상기 가상토큰이 정상적으로 발급된 것인지 검증하는 단계;를 더 포함하는,
    가상토큰 기반의 결제제공방법.
  2. 제1항에 있어서,
    상기 가상토큰은 고정코드를 더 포함하고,
    상기 고정코드는,
    상기 가상토큰 내에 미리 정해진 위치에 결합되며,
    상기 실제카드번호에 대응되는 카드사 또는 카드유형을 판단하는 코드 또는 가상토큰에 해당함을 식별하는 코드를 포함하는 것인,
    가상토큰 기반의 결제제공방법.
  3. 제2항에 있어서,
    상기 가상토큰검증수단은 개별 카드유형에 대한 저장위치탐색알고리즘을 포함하고,
    상기 실제카드번호를 탐색하는 단계는,
    특정한 단위카운트에 정상적으로 생성된 가상토큰이 수신되면, 상기 가상토큰 내의 상기 고정코드를 기반으로 특정한 카드유형에 대한 특정한 저장위치탐색알고리즘을 선택하는 단계; 및
    상기 제1코드 및 상기 제2코드를 상기 선택된 저장위치탐색알고리즘에 적용하여 탐색된 저장위치에서 실제카드번호를 추출하는 단계;를 포함하되,
    상기 저장위치탐색알고리즘은,
    특정한 카운트의 상기 제1코드 및 상기 제2코드에 대응하는 위치로 실제카드번호의 저장위치를 이동시키거나,
    특정한 카운트의 상기 제1코드 및 상기 제2코드에 의해 실제카드번호의 고정된 저장위치를 탐색 가능한 것이고,
    상기 제1코드는, 저장위치 탐색의 시작지점을 설정하는 것이고,
    상기 제2코드는 특정한 탐색방식에 따라, 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정하는 것인,
    가상토큰 기반의 결제제공방법.
  4. 제3항에 있어서,
    상기 제1코드 및 상기 제2코드는,
    실제카드번호 등록시점 또는 결제요청시점에서 상기 가상보안코드를 더한 카운트를 기반으로 생성되는 것이고,
    상기 가상보안코드는,
    가상토큰생성수단의 고유값과 카드보안코드를 기반으로 OTP함수를 통해 생성되는 특정자릿수의 코드값으로서, 상기 가상토큰생성수단으로부터 상기 가상토큰검증수단으로 별도로 제공되지 않는 것인, 가상토큰 기반의 결제제공방법.
  5. 제4항에 있어서,
    상기 가상토큰이 정상적으로 발급된 것인지 검증하는 단계는,
    상기 가상토큰검증수단이 상기 카드보안코드 및 상기 가상토큰생성수단의 고유값과 상기 제2코드 및 상기 가상토큰을 수신한 시점으로부터 특정범위 내의 시간값을 기반으로 산출된 생성가상보안코드와 상기 가상토큰에 포함된 가상보안코드를 비교하여 상기 가상토큰생성수단이 정상적으로 발급된 것인지 검증하는 단계;를 더 포함하는, 가상토큰 기반의 결제제공방법.
  6. 제3항에 있어서,
    상기 저장위치탐색알고리즘이 하나의 트랙상에서 제1코드 및 제2코드를 기반으로 포인터를 이동시키는 것인 경우,
    상기 실제카드번호를 탐색하는 단계는,
    상기 가상토큰생성수단으로부터 수신된 상기 가상토큰 내 상기 제1코드에 대응하는 트랙 상의 지점으로 포인터를 이동하는 단계;
    상기 제1코드에 대응하는 위치를 탐색시작지점으로 설정하고, 상기 제2코드에 대응하는 카운트 수만큼 트랙을 회귀하여 실제카드번호 저장위치에 매칭된 지점을 탐색하는 단계; 및
    실제카드번호 저장위치에 포함된 실제카드번호를 추출하는 단계;를 포함하는, 가상토큰 기반의 결제제공방법.
  7. 제1항에 있어서,
    특정한 가상토큰생성수단으로부터 결제취소 요청이 수신되는 경우,
    상기 가상토큰생성수단으로 결제취소를 요청하는 카운트에 대응하는 가상토큰을 수신하는 단계;
    상기 가상토큰검증수단이 상기 가상토큰에 대응하는 실제카드번호를 탐색하는 단계; 및
    상기 금융사서버에 상기 실제카드번호에 대한 이전결제를 취소요청하는 단계;를 더 포함하는, 가상토큰 기반의 결제제공방법.
  8. 가상토큰생성수단이 가상토큰검증수단에 실제카드번호를 등록함에 따라 가상토큰생성함수를 수신하되, 상기 가상토큰생성함수는 상기 가상토큰검증수단에 상기 실제카드번호가 저장된 저장위치탐색알고리즘에 상응하는 것인, 가상토큰생성함수 수신단계;
    상기 가상토큰생성수단이 사용자의 결제요청시점에 상기 가상토큰검증수단과의 통신을 수행하지 않고 상기 결제요청시점에 부합하는 복수의 세부코드를 생성하는 단계;
    상기 가상토큰생성수단이 상기 복수의 세부코드를 조합하여 가상토큰을 생성하는 단계; 및
    상기 가상토큰생성수단이 상기 가상토큰을 가상토큰검증서버로 제공하기 위해 외부로 출력하는 단계;를 포함하되,
    상기 저장위치탐색알고리즘은 특정한 카운트의 복수의 세부코드에 대응하는 위치로 실제카드번호의 저장위치를 이동시키거나, 특정한 카운트의 복수의 세부코드에 의해 실제카드번호의 고정된 저장위치를 탐색 가능하도록 하는 것이고,
    상기 복수의 세부코드는, 상기 가상토큰검증수단 내의 실제카드번호 저장위치의 탐색에 이용되는 것으로서, 단위카운트마다 변경되는 제1코드 및 제2코드를 포함하고,
    상기 단위카운트는,
    특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것이며,
    상기 제1코드 및 제2코드 중 적어도 하나는 실제카드의 카드보안코드 및 상기 가상토큰생성수단의 고유값과 결제요청시점을 기반으로 생성되는 가상보안코드를 포함하는 것인,
    가상토큰 기반의 결제제공방법.
  9. 가상토큰검증수단에 실제카드번호를 등록함에 따라 가상토큰생성함수를 수신하는 가상토큰생성함수 수신부;
    사용자의 결제요청시점에 상기 가상토큰검증수단과의 통신을 수행하지 않고 상기 결제요청시점에 부합하는 복수의 세부코드를 생성하는 세부코드생성부;
    상기 복수의 세부코드를 조합하여 가상토큰을 생성하는 가상토큰생성부; 및
    상기 가상토큰을 가상토큰검증서버로 제공하기 위해 외부로 출력하는 가상토큰출력부;를 포함하되,
    상기 가상토큰생성함수는 상기 가상토큰검증수단에 상기 실제카드번호가 저장된 저장위치탐색알고리즘에 상응하는 것이고,
    상기 저장위치탐색알고리즘은 특정한 카운트의 복수의 세부코드에 대응하는 위치로 실제카드번호의 저장위치를 이동시키거나, 특정한 카운트의 복수의 세부코드에 의해 실제카드번호의 고정된 저장위치를 탐색 가능하도록 하는 것이고,
    상기 복수의 세부코드는, 제1코드, 제2코드를 포함하고,
    상기 제1코드 및 상기 제2코드는 상기 가상토큰검증수단 내의 실제카드번호 저장위치의 탐색에 이용되는 것으로서, 상기 가상토큰생성함수 내의 세부코드생성함수에 의해 단위카운트마다 변경되어 생성되는 것이고,
    상기 제1코드 및 제2코드 중 적어도 하나는 실제카드의 카드보안코드 및 가상토큰생성수단의 고유값과 결제요청시점을 기반으로 생성되는 가상보안코드를 포함하는 것이고,
    상기 단위카운트는,
    특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것인, 가상토큰생성장치.
  10. 가상토큰을 기반으로 실제카드번호를 탐색하는 가상토큰검증서버에 있어서,
    가상토큰생성수단에서 제공된 가상토큰을 수신하는 가상토큰수신부;
    상기 가상토큰에 포함된 복수의 세부코드를 추출하는 세부코드추출부;
    복수의 세부코드를 기반으로 실제카드번호를 탐색하는 실제카드번호탐색부; 및
    상기 탐색된 실제카드번호를 금융사서버로 전송하는 실제카드번호전송부;를 포함하고,
    상기 가상토큰은 상기 가상토큰생성수단에서 실제카드번호에 매칭되어 생성되는 것이고,
    가상토큰검증수단과 상기 가상토큰생성수단은 동일한 가상토큰생성함수를 포함하는 것이며,
    상기 가상토큰생성수단은,
    가상토큰 서비스 이용을 위해 실제카드번호 등록 시에 가상토큰생성함수를 수신하여 내부에 저장하여, 사용자의 결제요청시점에 상기 가상토큰검증수단과의 통신을 수행하지 않고 상기 결제요청시점에 부합하는 가상토큰을 생성하여 출력하며,
    상기 복수의 세부코드는 상기 가상토큰검증수단 내의 실제카드번호 저장위치의 탐색에 이용되며 단위카운트마다 변경되는 제1코드, 제2코드를 포함하고,
    상기 단위카운트는,
    특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것이며,
    상기 실제카드번호 저장위치 내에 포함된 카드보안코드 및 상기 가상토큰생성수단의 고유값을 추출하고, 상기 카드보안코드 및 상기 가상토큰생성수단의 고유값을 기반으로 생성된 가상보안코드를 이용하여, 상기 가상토큰이 정상적으로 발급된 것인지 검증하는 가상토큰 검증부를 더 포함하는,
    가상토큰검증서버.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020190089705A 2017-08-09 2019-07-24 가상토큰 기반의 결제제공방법, 가상토큰생성장치 및 가상토큰검증서버 KR102500908B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20170100953 2017-08-09
KR1020170100953 2017-08-09
KR1020180055344A KR102005495B1 (ko) 2017-08-09 2018-05-15 가상토큰 기반의 결제제공시스템, 가상토큰생성장치, 가상토큰검증서버, 가상토큰 기반의 결제제공방법 및 가상토큰 기반의 결제제공프로그램

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180055344A Division KR102005495B1 (ko) 2017-08-09 2018-05-15 가상토큰 기반의 결제제공시스템, 가상토큰생성장치, 가상토큰검증서버, 가상토큰 기반의 결제제공방법 및 가상토큰 기반의 결제제공프로그램

Publications (2)

Publication Number Publication Date
KR20190089818A KR20190089818A (ko) 2019-07-31
KR102500908B1 true KR102500908B1 (ko) 2023-02-17

Family

ID=65271203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190089705A KR102500908B1 (ko) 2017-08-09 2019-07-24 가상토큰 기반의 결제제공방법, 가상토큰생성장치 및 가상토큰검증서버

Country Status (4)

Country Link
US (1) US11983704B2 (ko)
EP (1) EP4053773B1 (ko)
KR (1) KR102500908B1 (ko)
WO (1) WO2019031716A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12063210B1 (en) * 2020-11-24 2024-08-13 Wells Fargo Bank, N.A. Secure authentication for a virtual computer
KR102600490B1 (ko) * 2021-06-30 2023-11-08 한국정보통신주식회사 결제 수단 데이터의 가맹점 전용 분산 토큰 결제를 제공하는 결제 서비스 제공 장치 및 그 동작 방법
KR102593151B1 (ko) * 2022-11-15 2023-10-25 주식회사 블록버스터랩 채굴용 nft를 이용한 게임 실행 방법 및 이를 위한 게임 런처
CN116800547B (zh) * 2023-08-25 2023-11-21 汉兴同衡科技集团有限公司 一种基于大数据的信息处理方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051420B1 (ko) * 2010-06-29 2011-07-22 (주)에이티솔루션 안전 otp 생성 장치 및 방법
KR101675927B1 (ko) * 2015-10-08 2016-11-14 주식회사 지씨엠씨 신용 조회 단말기, 결제 관리 서버, 결제 관리 방법, 결제 단말, 결제 단말의 동작방법, 결제 관리를 위해 매체에 저장된 컴퓨터 프로그램 및 신용 조회 단말기

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000832A (en) * 1997-09-24 1999-12-14 Microsoft Corporation Electronic online commerce card with customer generated transaction proxy number for online transactions
US20010029485A1 (en) * 2000-02-29 2001-10-11 E-Scoring, Inc. Systems and methods enabling anonymous credit transactions
JP2004528610A (ja) * 2000-06-30 2004-09-16 シングハル、タラ、チャンド 支払いカードシステム用方法および装置
WO2011041871A1 (en) * 2009-10-08 2011-04-14 Irdeto Canada Corporation A system and method for aggressive self-modification in dynamic function call systems
WO2013155627A1 (en) * 2012-04-16 2013-10-24 Salt Technology Inc. Systems and methods for facilitating a transaction using a virtual card on a mobile device
KR101413110B1 (ko) * 2012-05-23 2014-07-02 주식회사 비즈모델라인 토큰 코드를 이용한 금융거래 처리 방법
KR101666032B1 (ko) * 2012-05-31 2016-10-14 한국전자통신연구원 로드 가능한 모듈에 대한 가상화 지원 방법 및 장치
KR20120102565A (ko) * 2012-09-04 2012-09-18 주식회사 비즈모델라인 동적 생성되는 코드를 이용한 결제 인증 방법
KR101316466B1 (ko) 2012-11-20 2013-10-08 신한카드 주식회사 다이나믹 트랙 2 정보를 이용한 모바일 결제 시스템 및 방법
US9652770B1 (en) * 2014-04-30 2017-05-16 Wells Fargo Bank, N.A. Mobile wallet using tokenized card systems and methods
KR101621254B1 (ko) * 2014-08-27 2016-05-31 유한회사 실릭스 오티피 기반의 가상 번호 결제 방법, 컴퓨터 판독가능한 기록매체 및 시스템
KR101667193B1 (ko) * 2015-04-02 2016-10-19 현대오토에버 주식회사 일회용 카드번호를 이용하여 결제서비스를 제공하는 방법 및 결제시스템
CA3005448A1 (en) 2015-11-16 2017-05-26 Exxonmobil Upstream Research Company Adsorbent materials and methods of adsorbing carbon dioxide
US20180337925A1 (en) 2017-05-17 2018-11-22 Bank Of America Corporation System for allowing secure access and use of a virtual credential
KR101978812B1 (ko) 2017-08-09 2019-05-15 주식회사 센스톤 가상카드번호 기반의 금융거래제공시스템, 가상카드번호생성장치, 가상카드번호검증장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램
US10783516B2 (en) 2018-04-11 2020-09-22 Capital One Services, Llc Systems and methods for automatically identifying a checkout webpage and injecting a virtual token
KR102005549B1 (ko) 2018-08-09 2019-07-30 주식회사 센스톤 가상코드 기반의 금융거래제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드 기반의 금융거래제공방법 및 가상코드 기반의 금융거래제공프로그램
US11935044B2 (en) 2018-08-09 2024-03-19 SSenStone Inc. System, method and program for providing financial transaction by virtual code, virtual code generator and virtual code verification device
EP3654264A1 (en) 2018-11-14 2020-05-20 Mastercard International Incorporated Credential management for mobile devices
CN111861451B (zh) 2019-04-25 2024-06-18 刘永乐 离线交易的方法、客户端设备及pos机

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051420B1 (ko) * 2010-06-29 2011-07-22 (주)에이티솔루션 안전 otp 생성 장치 및 방법
KR101675927B1 (ko) * 2015-10-08 2016-11-14 주식회사 지씨엠씨 신용 조회 단말기, 결제 관리 서버, 결제 관리 방법, 결제 단말, 결제 단말의 동작방법, 결제 관리를 위해 매체에 저장된 컴퓨터 프로그램 및 신용 조회 단말기

Also Published As

Publication number Publication date
WO2019031716A2 (ko) 2019-02-14
KR20190089818A (ko) 2019-07-31
US11983704B2 (en) 2024-05-14
WO2019031716A3 (ko) 2019-04-04
EP4053773A1 (en) 2022-09-07
EP4053773B1 (en) 2023-12-20
US20220067704A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
KR102499624B1 (ko) 가상카드번호 기반의 금융거래제공시스템, 가상카드번호생성장치, 가상카드번호검증장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램
JP7154381B2 (ja) 仮想コード基盤の金融取引提供システム、仮想コード生成装置、仮想コード検証装置、仮想コード基盤の金融取引提供方法及び仮想コード基盤の金融取引提供プログラム
KR102510018B1 (ko) 가상보안코드를 이용한 사용자 인증 방법 및 시스템
KR102500908B1 (ko) 가상토큰 기반의 결제제공방법, 가상토큰생성장치 및 가상토큰검증서버
JP6474503B2 (ja) 仮想カード番号基盤の金融取引提供システム、仮想カード番号生成装置、仮想カード番号検証装置、仮想カード番号基盤の金融取引提供方法及び仮想カード番号基盤の金融取引提供プログラム
KR102346701B1 (ko) 가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램
KR102558582B1 (ko) 가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant