KR102558582B1 - 가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램 - Google Patents

가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램 Download PDF

Info

Publication number
KR102558582B1
KR102558582B1 KR1020210191618A KR20210191618A KR102558582B1 KR 102558582 B1 KR102558582 B1 KR 102558582B1 KR 1020210191618 A KR1020210191618 A KR 1020210191618A KR 20210191618 A KR20210191618 A KR 20210191618A KR 102558582 B1 KR102558582 B1 KR 102558582B1
Authority
KR
South Korea
Prior art keywords
card number
virtual card
code
server
virtual
Prior art date
Application number
KR1020210191618A
Other languages
English (en)
Other versions
KR20220002843A (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 KR1020200078643A external-priority patent/KR102346701B1/ko
Application filed by 주식회사 센스톤 filed Critical 주식회사 센스톤
Publication of KR20220002843A publication Critical patent/KR20220002843A/ko
Application granted granted Critical
Publication of KR102558582B1 publication Critical patent/KR102558582B1/ko

Links

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/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/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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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/321Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices using wearable 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/355Personalisation of cards for use
    • 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
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4018Transaction verification using the card verification value [CVV] associated with the card
    • 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
    • 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
    • G06Q2220/00Business processing using cryptography

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램에 관한 것으로, 보다 자세하게는 전자지갑 서비스가 인프라가 구축되지 않은 환경에서 사용자에게 금융거래 서비스를 제공할 수 있도록 하는 장치, 방법 및 프로그램에 관한 것이다.

Description

가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램 {APPARATUS, METHOD AND PROGRAM FOR PROVIDING FINANCIAL TRANSACTION BY VRITUAL CARD NUMBER}
본 발명은 가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램에 관한 것으로, 보다 자세하게는 전자지갑 서비스가 인프라가 구축되지 않은 환경에서 사용자에게 금융거래 서비스를 제공할 수 있도록 하는 장치, 방법 및 프로그램에 관한 것이다.
코드 형태데이터는 많은 영역에서 이용되고 있다. 결제 시에 이용되는 카드번호, 계좌번호뿐만 아니라 사용자 식별을 위한 IPIN번호, 주민등록번호 등이 코드형태 데이터이다
그러나 이러한 코드데이터를 이용하는 과정에서 유출되는 사고가 많이 발생한다. 카드번호의 경우, 카드표면에 실제카드번호가 그대로 기재되어 있어서 타인에게 시각적으로 유출되며, 마그네틱을 이용한 결제 시에 카드번호가 그대로 POS장치로 전달되면서 유출된다
실제카드번호가 그대로 유출되지 않도록 하기 위해 가상카드번호를 이용하고자 하는 시도가 많았으나, 가상카드번호에 대응되는 실제카드번호를 탐색하기 위해 사용자를 식별하기 위한 데이터가 필요하였다. 예를 들어, OTP(One Time Password)의 경우, 시간마다 코드가 변경되어 생성되지만, 사용자에게 부여된 알고리즘 판단을 위해 로그인 절차가 필요하여 다양한 영역에 적용되기 어렵다.
따라서, 실제카드번호에 대응되는 사용자나 장치에 대한 식별정보를 제공하지 않으면서 실시간으로 변동되는 가상카드번호를 기반으로 실제카드번호를 탐색할 수 있는 발명이 필요하다.
한국등록특허 10-1316466호 (2013.10.01)
본 발명이 해결하고자 하는 과제는 전자지갑 서비스의 결제 인프라가 구축되지 않은 환경에서 전자지갑 서비스 가입자에게 금융거래 서비스를 제공할 수 있도록 하는 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 금융거래제공프로그램을 제공하는 것이다.
또한, 본 발명의 해결하고자 하는 또다른 과제는 전자지갑 시스템에 저장된 실제 신용카드번호가 노출되지 않는 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 금융거래제공프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일실시예에 따른 가상카드번호 기반의 금융거래제공방법은, 상기 검증서버가 가상카드번호생성수단에서 생성된 가상카드번호를 수신하되, 상기 가상카드번호는 상기 가상카드번호생성수단에서 해당 시점에 생성되는 것인, 수신 단계, 상기 검증서버가 상기 가상카드번호를 기반으로 매칭코드를 탐색하는 단계 및 상기 검증서버가 상기 매칭코드와 관련된 결제연계서버로 상기 매칭코드를 송신하되, 상기 매칭코드는 상기 결제연계서버에서 실제카드번호와 매칭되어 저장된 것인, 송신 단계를 포함하고, 상기 결제연계서버는, 상기 매칭코드를 기반으로 상기 실제카드번호를 탐색한 후에 금융거래 진행을 결제네트워크서버에 요청 대행하는 것이다.
또한, 상기 검증서버는, 상기 실제카드번호와 연결되는 상기 매칭코드를 저장하고, 상기 매칭코드는, 상기 실제카드번호를 포함하는 사용자의 개인정보가 비식별화되어 외부에 제공되는 값일 수 있다.
또한, 상기 매칭코드는, 상기 검증서버에 저장된 가상카드번호 검증알고리즘 내에서 특정 사용자에게 할당된 특정 위치에 저장될 수 있다.
또한, 상기 매칭코드는, 복수의 결제연계서버 중 어느 하나의 결제연계서버의 링크 정보를 포함하는 것일 수 있다.
또한, 상기 매칭코드는, 상기 어느 하나의 결제연계서버에 저장된 UID(User Identifier)를 포함할 수 있다.
또한, 상기 가상카드번호는, 사용자 클라이언트 또는 어플리케이션에서 사용자의 실제카드번호 별로 구별되도록 일회용으로 생성되는 가변 가상카드번호일 수 있다.
또한, 상기 가상카드번호는, 사용자의 실물카드에 저장되어 있는 고정 가상카드번호일 수 있다.
또한, 상기 가상카드번호는, 정기결제 서비스 등록을 위해 어플리케이션에서 생성되어 저장된 고정 가상카드번호일 수 있다.
본 발명의 다른 일실시예에 따른 가상카드번호 기반의 금융거래제공장치는, 다른 서버 또는 단말기와 데이터를 송수신하도록 이루어지는 통신부 및 가상카드번호생성수단에 의해 생성된 가상카드번호를 이용하여 매칭코드를 탐색하는 탐색부를 포함하고, 사기 장치는, 상기 통신부를 통해 가상카드생성수단에 의해 생성된 가상카드번호를 수신하되, 상기 가상카드번호는 상기 가상카드번호생성수단에서 해당 시점에 생성되는 것이고, 상기 통신부를 통해 상기 매칭코드와 관련된 결제연계서버로 상기 매칭코드를 송신하되, 상기 매칭코드는 상기 결제연계서버에서 실제카드번호와 매칭되어 저장된 것이고, 상기 결제연계서버는, 상기 매칭코드를 기반으로 상기 실제카드번호를 탐색한 후에 금융거래 진행을 결제네트워크서버에 요청 대행하는 것이다
또한, 본 발명은 상술한 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 프로그램을 제공한다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기 매체가 더 제공될 수 있다.
삭제
삭제
삭제
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.
첫째, 본 발명에 따르면 가상카드번호생성장치로부터 생성된 가상카드번호(또는 가상카드번호로부터 추출된 매칭코드)가 검증서버를 거쳐 전자지갑 서비스 제공을 위한 월렛 서버로 전달되기 때문에, 전자지갑 서비스는 사용자에게 금융 거래 서비스를 제공하기 위해 지불결제서비스 업체로부터 별도로 발급자식별번호(Bank Identification Number; BIN)를 발급받을 필요가 없게된다. 이에 따라, 전자지갑 서비스를 제공하기 위한 시스템 구축 비용이 절감될 수 있다.
둘째, 본 발명에 따르면, 하나의 발급자식별번호를 발급받아 복수의 서로 다른 전자지갑 서비스를 제공할 수 있도록 한다. 이에 따라, 전자지갑 서비스를 제공하기 위한 시스템 구축 비용이 절감될 수 있다.
셋째, 본 발명에 따르면, 가상카드번호생성장치와 검증서버에만 가상코드생성함수가 저장되고, 실제카드번호가 저장된 월렛 서버에 대한 매칭코드를 탐색하기 위한 알고리즘이 검증서버에만 내장되며, 실제카드번호는 월렛 서버에만 저장되기 때문에 가상카드번호 생성 및 검증을 위한 알고리즘, 실제카드번호가 유출되는 것을 방지할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일실시예에 따른 금융거래제공시스템을 도시한 예시도면이다.
도 2는 본 발명의 다른 일실시예에 따른 가상카드번호생성장치의 구성도이다.
도 3은 본 발명의 일실시예에 따른 가상카드번호검증장치의 구성도이다.
도 4는 본 발명의 다른 일실시예에 따른 월렛 서버의 구성도이다.
도 5 내지 7은 본 발명의 일 실시예에 따른 금융거래제공방법의 순서도이다.
도 8은 본 발명의 일 실시예에 따른 세부코드를 기반으로 트랙상을 이동하여 매칭코드를 탐색하는 매칭코드탐색알고리즘에 대한 예시도이다.
도 9는 본 발명의 일 실시예에 따른 가상보안코드를 이용하여 매칭코드 탐색시점을 이동시키는 방식의 예시도이다.
도 10은 본 발명의 일 실시예에 따른 매칭코드 및 실제카드번호에 연결되는 월렛 서버 저장공간을 설명하기 위한 예시도이다
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 '금융거래'는 금융사와 이루어지는 절차를 의미한다. '금융거래'는 카드결제, 은행계좌로부터의 입출금 등을 포함한다.
본 명세서에서 '문자'는 코드를 구성하는 구성요소로서, 대문자알파벳, 소문자알파벳, 숫자 및 특수문자 등의 전부 또는 일부를 포함한다.
본 명세서에서 '코드'는 문자가 나열된 문자열을 의미한다.
본 명세서에서 '카드번호'는 결제 등의 금융거래를 위해 사용되는 것으로, 카드에 부여되고 결제, 결제취소 등의 상황에 카드사로 전달되는 번호를 의미한다.
본 명세서에서 '실제카드번호'는 카드사에서 특정한 사용자의 카드에 부여하는 번호이다. 즉, '실제카드번호'는 일반적인 실물카드, 모바일카드 등에 부여되는 번호를 의미한다.
본 명세서에서 '가상카드번호'는 실제카드번호에 연결되도록 임시적으로 생성되는 카드번호로서, 숫자를 포함하는 문자로 이루어진 특정한 자릿수의 코드이다.
본 명세서에서 '세부코드'는 가상카드번호에 포함되는 일부코드를 의미한다. 즉, 가상카드번호가 별도로 생성된 복수의 코드를 결합하여 생성되는 경우, 세부코드는 별도로 생성되어 가상카드번호를 구성하는 개별 코드를 의미한다.
본 명세서에서 '매칭코드'는 가상카드번호 또는 가상카드번호를 구성하는 적어도 하나의 세부코드를 이용하여 검증 알고리즘에서 탐색되는 값으로서, 실제카드번호 저장 위치 탐색에 활용되는 코드를 의미한다. 매칭코드의 형식은 실제카드번호 저장 위치 탐색 방식에 따라 달라질 수 있다.
본 명세서에서 '단위카운트'는 특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것으로 정의된 단위이다. 예를 들어, 1카운트는 특정한 시간간격(예를 들어, 1.5초)으로 설정되어 사용될 수 있다.
본 명세서에서 '가상카드번호생성함수'는 가상카드번호를 생성하는데 이용되는 함수를 의미한다.
본 명세서에서 '구름이동'은 대상체가 회전하면서 병진운동을 하는 것을 의미한다. 즉, '구름이동'은 회전운동과 병진운동을 함께 수행하면서 이동하는 것으로서, 회전하는 대상체의 각 지점이 이동하는 축 상에 차례대로 접하면서 이동하는 것을 의미한다.
본 명세서에서 '전자지갑 서비스'는 가입자의 카드(예를 들어, 신용카드, 체크카드, 데빗카드(Debit card)) 정보를 별도로 저장하고, 저장된 신용카드를 금융거래시 활용할 수 있도록 하는 서비스를 의미한다. 각각의 전자지갑 서비스는 가입자의 정보를 저장하는 월렛 서버를 구비한다. 월렛 서버에 대하여는 후술한다.
이하, 본 발명의 실시예들에 따라 실제카드번호를 대체하는 가상카드번호 생성 및 실제카드번호 탐색과정에 대해 설명하기 위해, 실제카드번호의 구성에 대해 설명한다.
'실제카드번호'는 카드식별번호, 카드보안코드, 유효기간 중 적어도 하나를 포함한다. 카드식별번호는 카드사, 카드유형 및 카드사용자를 식별하기 위해 부여된 코드를 말한다. 일반적으로, 카드에 부여되는 카드식별번호는 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카드 등의 보안성이 높은 방식으로 전환되고 있다. 다른 보안성이 높은 방식을 적용하기 위해서는 새로운 단말기가 설치되어야 하거나 기존의 프로세스와 다르게 변경되어야 하는 문제가 존재한다. 따라서, 기존의 실제카드번호를 이용하는 프로세스를 동일하게 적용하면서, 카드번호 유출을 방지할 수 있는 방법이 필요하다. 특히, 기존의 마그네틱 카드리더기를 그대로 이용하면서 보안성이 높이는 방식이 필요하다.
이하, 도면을 참조하여, 본 발명의 실시예들에 따른 가상카드번호 기반의 금융거래제공시스템, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램에 대해 상세히 설명한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 금융거래제공시스템을 도시한 예시도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 가상카드번호 기반의 금융거래제공시스템은, 가상카드번호생성수단(10), 지불결제서비스서버(30), 검증서버(40), 복수의 월렛 서버(51 및 52) 및 금융사서버(60)를 포함한다.
가상카드번호생성수단(10)은 검증서버(40) 또는 복수의 월렛 서버(51 및 52)가 실제카드번호를 탐색할 수 있는 정보를 포함하는 가상카드번호를 생성하는 역할을 수행한다. 즉, 가상카드번호생성수단(10)은 가상카드번호생성함수에 따라 가상카드번호를 생성한다. 이 때, 검증서버(40) 또는 복수의 월렛 서버(51 및 52)에서 가상카드번호를 기반으로 실제카드번호를 탐색하므로, 가상카드번호생성수단(10)은 실제카드번호를 저장하지 않을 수 있다. 이를 통해 가상카드번호생성수단(10)의 해킹 등을 통해 실제카드번호가 유출되는 것을 방지할 수 있다. 가상카드번호생성함수에 대한 구체적인 설명은 후술한다.
가상카드번호생성수단(10)로 금융거래 단말기(20)에서 결제를 수행하거나 웹페이지 또는 어플리케이션에서 결제를 수행하면, 지불결제서비스 서버(예를 들어, PG 서버 또는 결제네트워크 업체 서버 일 수 있으나 이에 한정되지 않는다.)는 가상카드번호를 를 수신한다.
지불결제서비스 서버(30)는 지불결제서비스 업체가 보유한 서버이다. 지불결제서비스 업체(예를 들어, VISA, MASTERCARD 등)는 글로벌 또는 로컬 네트워크를 구축하여 신용카드사, 전자지갑 서비스 등이 금융 거래 서비스를 제공할 수 있도록 하는 업체이다. 구체적으로 지불결제서비스 업체는 신용카드사 또는 전자지갑 서비스 업체 등에 발급자식별번호를 발급하고, 사용자가 결제를 수행함에 따라 수신된 카드번호에 포함된 발급자식별번호에 대응하는 서버로 카드번호를 송신하여 금융거래가 이루어질 수 있도록 하는 서비스 업체이다. 지불결제서비스 업체가 보유한 지불결제서비스 서버(30)는 특정 서비스에 발급된 발급자식별번호를 저장하고, 카드번호를 송수신함으로써 금융거래가 이루어질 수 있도록 한다.
예를 들어, 지불결제서비스 서버(30)는 가상카드번호에 포함된 발급자식별번호(고정코드)에 기반하여, 수신된 가상카드정보를 발급자식별번호에 대응하는 서버로 송신한다.
전자지갑 서비스(월렛 서비스)가 지불결제서비스의 결제 네트워크를 이용하기 위한 기존 프로세스는 다음과 같다.
기존 프로세스에 따르면, 월렛 서버가 지불결제서비스 서버(30)로부터 카드번호를 수신하기 위해서는, 해당 전자지갑 서비스가 지불결제서비스 업체에 등록되어 있어야 한다. 구체적으로, 전자지갑 서비스는 지불결제서비스 업체에 소정 비용을 지불하고 발급자식별번호를 발급 받는다. 상기 발급된 발급자식별번호는 지불결제서비스 서버(30)에 저장되며, 지불결제서비스 서버(30)가 상기 발급된 발급자식별번호가 포함된 카드번호를 수신할 경우, 지불결제서비스 서버(30)는 수신된 카드번호를 전자지갑 서비스에 대응하는 월렛 서버로 송신한다. 상술한 바와 같이, 전자지갑 서비스가 지불결제서비스 업체에 등록되어 있다함은 전자지갑 서비스가 지불결제서비스 업체로부터 발급자식별번호를 발급 받았음을 의미한다.
또한, 본 명세서에서 전자지갑 서비스가 지불결제서비스 업체로부터 발급자식별번호를 발급 받았다는 것은 전자지갑 서비스가 글로벌 결제 네트워크 서비스를 이용하여 해외 결제를 할 수 있는 인프라를 구축하였음을 의미한다. 전자지갑 서비스는 지불결제서비스 업체로부터 발급자식별번호를 발급받은 후 지불결제서비스 업체가 구축한 네트워크 범위 내에서 사용자에게 금융거래 서비스를 제공할 수 있게 된다. 예를 들어, 전자지갑 서비스가 글로벌 네트워크를 구축한 지불결제서비스 업체에 등록된 경우, 해당 전자지갑 서비스는 글로벌 네트워크 범위 내에서 사용자에게 금융거래 서비스를 제공할 수 있게 된다.
지불결제서비스 업체에 등록된 전자지갑 서비스에 대응하는 월렛서버는 지불결제서비스 서버(30)로부터 가상카드번호를 수신하고, 수신된 가상카드번호를 이용하여, 월렛 서버에 저장된 실제 카드 정보를 탐색한다. 이후, 탐색된 실제카드번호를 지불결제서비스 서버(30)로 송신한다. 이후, 지불결제서비스 서버(30)는 수신된 실제카드번호를 이용하여 금융결제를 수행한다. 상술한 바와 같이, 월렛 서버는 기존의 결제프로세스를 이용하여 가상카드번호생성수단(10)으로부터 실제카드번호 대신 가상카드번호를 수신할 수 있다. 즉, 가상카드번호를 실제카드번호와 동일한 길이의 코드로 생성하면, 가상카드번호생성수단으로부터 가상카드번호검증수단이 포함된 카드사서버까지 진행되는 프로세스 상에서는 변경되는 것이 없이 본 발명의 실시예들에 따른 가상카드번호 기반의 금융거래 제공방식이 적용될 수 있다.
다만, 웰렛서비스(전자지갑 서비스)가 결제네트워크를 이용하여 글로벌 결제를 제공하기 위해 글로벌 지불결제서비스업체로부터 발급자 식별번호를 부여받기 위해서는 큰 비용이 들게 되고, 발급 조건도 까다로워서 어려움이 있다. 구체적으로, 전자지갑 서비스 업체가 서비스 영역을 확대하기 위해서는 글로벌 네트워크를 구축한 지불결제서비스 업체에 등록해야 하나, 글로벌 네트워크를 구축한 지불결제서비스 업체로부터 발급자 식별번호를 발급받는 것은 비용이 비싸고 조건 또한 까다롭기 때문에 로컬 전자지갑 서비스가 서비스 영역을 확대하는 것이 제한된다.
지불결제서비스업체로부터 글로벌 결제네트워크를 이용하기 위한 발급자 식별번호를 직접 부여받기 어려운 전자지갑 서비스 사업자는, 글로벌 결제를 연계하여 주는 서비스서버(후술되는 검증서버(40))를 통해 글로벌 결제네트워크를 이용하여 해외 결제를 제공할 수 있게 된다.
구체적으로, 특정 전자지갑 서비스가 지불결제서비스 업체에 등록되지 않은 경우, 상기 특정 전자지갑 서비스에 대응하는 월렛 서버는 가상카드번호를 수신할 수 없게 된다. 이에 따라, 상기 특정 전자지갑 서비스에 가입된 가입자는 전자지갑 서비스를 이용할 수 없게 된다. 즉, 지불결제서비스 업체에 등록되지 않은 전자지갑 서비스가 사용자에게 금융거래 서비스를 제공하기 위해서는 전자지갑 서비스 업체가 자체적으로 로컬 네트워크를 구축해야 하며, 구축된 로컬 네트워크를 벗어나는 지역에서는 금융거래 서비스를 제공할 수 없다. 따라서, 이를 로컬 결제만 가능한 전자지갑 서비스를 해외 결제로 확장하여 주기 위해, 결제연계서비스서버(즉, 검증서버)는 자체적으로 발급받은 발급자 식별번호(BIN)을 기반으로 하나 이상의 개별 전자지갑 서비스의 해외결제를 지원한다.
이를 위해, 본 발명은 지불결제서비스 업체에 등록되지 않은 전자지갑 서비스가 해당 서비스 가입자에게 금융거래 서비스를 제공할 수 있도록 한다. 이를 위해, 본 발명은 검증서버(40)를 포함한다.
검증서버(40)는 자체적으로 부여받은 발급자식별번호(BIN)을 기반으로 지불결제서비스 서버(30)로부터 가상카드번호(예를 들어, 가변형 가상카드번호 또는 고정형 가상카드번호)를 수신한 후, 월렛서비스가 결제를 시도한 유저의 실제카드번호를 결제네트워크로 반환할 수 있도록 연계하는 역할을 수행한다.
일실시예로, 검증서버(40)는 월렛 서버 대신 지불결제서비스 서버(30)로부터 가상카드번호를 수신하고, 수신된 가상카드번호를 월렛 서버로 전달하거나, 수신된 가상카드번호를 기반으로 탐색된 매칭코드를 월렛 서버로 전달하는 역할을 한다.
이를 위해, 검증서버(40)를 구비한 업체(즉, 결제연계서비스 사업자)는 지불결제서비스 업체로부터 검증서버(40)에 대응하는 발급자식별번호를 발급받아야 한다. 가상카드번호가 특정 발급자식별번호를 포함하는 경우 지불결제서비스 서버(30)는 가상카드번호를 검증서버(40)로 송신한다.
일실시예로, 검증서버(40)는 가상카드번호를 기반으로 매칭코드를 탐색한다. 즉, 가상카드번호는 검증서버에서 매칭코드를 탐색하기 위해 이용된다. 예를 들어, 검증서버(40)는 월렛서버와 연계하기 위한 매칭코드를 가상카드번호 검증알고리즘 내의 각 유저에게 할당되는 위치에 저장한다.
일 예로, 가상카드번호가 단위시간 간격으로 변경되는 일회용 가상카드번호인 경우, 검증서버(40)는 가상카드번호를 수신하여 복수의 세부코드를 추출하고, 복수의 세부코드를 기반으로 특정한 유저할당위치(예를 들어, UID)를 탐색한 후 이에 매칭된 매칭코드를 추출한다. 상기 매칭코드는 특정한 월렛 식별정보를 포함한다. 또한, 매칭코드는 유저 식별정보를 더 포함할 수 있다. 예를 들어, 후술하는 바와 같이, 검증서버가 특정한 월렛서버로 매칭코드를 전송하는 경우, 매칭코드는 유저식별정보를 더 포함할 수 있다.
또한, 매칭코드는 특정한 월렛 내 특정한 유저가 등록한 특정한 카드의 식별정보를 포함할 수 있다.
검증서버는 탐색된 매칭코드 또는 가상카드번호를 검증서버(40)에 등록된 복수의 월렛 서버 중 어느 하나로 송신하는 역할을 한다. 또한, 검증서버(40)는 가상카드번호가 가상카드번호생성수단(10)에서 정상적으로 생성된 코드인지 여부를 검증하는 역할을 수행한다. 가상카드번호검증수단이 가상카드번호의 정상여부를 판단하는 방식에 대한 구체적인 설명은 후술한다.
검증서버(40)는 가상카드번호생성수단(10)으로부터 다양한 방식을 통해 가상카드번호를 전달받을 수 있다. 일실시예로, 검증서버(40)는 금융거래단말기가 무선통신을 통해 가상카드번호생성수단(10)으로부터 전달받은 가상카드번호를 수신할 수 있다. 예를 들어, 가상카드번호생성수단(10)을 포함하는 가상카드번호생성장치(100)가 NFC안테나모듈, 블루투스통신모듈 등을 포함하는 경우, 금융거래단말기(20)와의 통신을 통해 검증서버(40)로 전달할 가상카드번호를 금융거래단말기(20)로 전송할 수 있다.
한편, 상기 검증서버(40)와 상기 가상카드번호생성수단(10)은 가상카드번호생성함수의 전부 또는 일부를 포함할 수 있다. 검증서버(40)와 가상카드번호생성수단(10)이 가상카드번호생성함수에 포함된 가상카드번호결합함수(즉, 세부코드를 특정한 규칙에 따라 결합하여 가상카드번호를 생성하는 함수)를 동일하게 포함함에 따라, 검증서버(40)는 가상카드번호생성수단(10)에서 생성된 가상카드번호 내의 복수의 세부코드를 제대로 추출해낼 수 있다.
또한, 일실시예로, 검증서버(40)는 수신된 가상카드번호가 정상적인 가상카드번호생성수단(10)에서 생성되어 수신된 것인지 검증할 수 있다. 즉, 검증서버(40)는 가상카드번호생성수단(10)과 동일한 조건에서 코드(즉, 가상카드번호 또는 특정한 세부코드) 생성을 수행한 후 가상카드번호생성수단(10)에서 수신된 코드(즉, 가상카드번호 또는 특정한 세부코드)를 비교하여 봄에 따라 검증을 수행할 수 있다.
다만, 이에 한정되지 않고 검증서버(40)와 상기 가상카드번호생성수단(10)은 동일한 가상카드번호생성함수를 포함하지 않을 수 있다. 구체적으로, 가상카드번호생성수단(10)은 가상카드번호생성함수를 포함하고, 검증서버(40)는 검증알고리즘을 포함할 수 있다. 이 경우에도, 검증 서버는 가상카드번호의 검증을 수행할 수 있다.
검증서버(40)는 가상카드번호에 포함된 복수의 세부코드에 기반하여 매칭코드를 탐색하고, 상기 매칭코드에 기반하여 상기 가상카드번호 또는 상기 매칭코드를 복수의 월렛 서버(51 및 52) 중 어느 하나로 송신한다. 여기서, 복수의 월렛 서버(51 및 52) 각각은 서로 다른 전자지갑 서비스에 대응하는 서버이다.
복수의 월렛 서버(51 및 52) 각각은 검증서버(40)로부터 가상카드번호 또는 매칭코드를 수신한 후, 수신된 가상카드번호 또는 매칭코드에 기반하여 저장된 실제카드번호를 탐색한다. 이후, 월렛 서버는 탐색된 실제카드번호를 검증서버(40)로 송신한다. 상기 검증서버는 수신된 실제카드번호를 지불결제서비스 서버(30)로 송신하여 금융거래가 진행될 수 있도록 한다.
구체적으로, 일 예로, 월렛 서버가 검증서버로부터 매칭코드를 수신하는 경우, 월렛서버는 매칭코드에 대응되는 유저를 탐색하고, 유저에 의해 등록된 복수의 실제카드번호 중에서 하나를 추출하여 검증서버로 전송한다. 이를 위해, 검증서버와 월렛 서버는 새로운 유저가 등록하는 경우에 통신하여 매칭코드를 공유하고, 검증서버는 매칭코드를 저장한 유저할당영역의 정보(UID)를 월렛 서버에 전송할 수 있다.
또한, 다른 일 예로, 매칭코드가 특정한 월렛 내 특정한 유저가 등록한 특정한 카드의 식별정보를 포함하는 경우, 월렛 서버는 매칭코드에 대응되는 실제카드번호를 탐색하여 검증서버로 전송한다. 이를 위해, 유저 클라이언트 또는 어플리케이션은 유저의 실제카드번호 별로 구별되는 일회용 가변 가상카드번호를 생성할 수 있고, 검증서버는 수신된 일회용 가변 가상카드번호를 기반으로 유저의 특정한 실제카드번호에 대응하는 매칭코드를 탐색하여 월렛서버로 전송한다.
또한, 또 다른 일 예로, 월렛 서버가 검증서버로부터 일회용 가변 가상카드번호를 그대로 수신하는 경우, 검증서버는 가상카드번호를 기반으로 가상카드번호를 전달하여야 하는 월렛 정보를 탐색된 매칭코드를 통해 확인하고, 월렛버서는 검증서버로부터 가상카드번호를 수신한 후 가상카드번호 내의 복수의 세부코드를 기반으로 유저 탐색 또는 유저의 실제카드번호 탐색을 수행한다. 이를 위해, 검증서버는 월렛서버에 가상카드번호 검증모듈을 제공할 필요가 있다.
또한, 다른 일실시예로, 검증서버가 매칭코드를 월렛서버로 전송하는 경우, 검증서버는 고정형 가상카드번호와 가변 가상카드번호를 수신한 후 월렛서버로 매칭코드를 전송할 수 있다.
고정형 가상카드번호는 월렛용 실물카드에 포함된 카드번호 또는 정기결제를 위해 어플리케이션에서 생성된 가상카드번호일 수 있다. 구체적인 예로, IC리더 및 NFC리더가 구비된 금융거래단말기에서 결제가 가능하며 실제카드번호와 상이한 카드번호를 포함한 월렛 실물카드를 월렛서비스에 연결한 경우, 유저들은 웰렛용 실물카드를 결제 시에 이용할 수 있다. 월렛용 실물카드에 포함된 가상카드번호가 결제네트워크에서 부여받은 발급자식별번호(BIN)을 포함함에 따라, 검증서버는 결제네트워크를 통해 월렛용 실물카드의 고정형 가상카드번호를 수신한다. 검증서버는, 유저의 고정형 가상카드번호와 매칭코드를 매핑하여 둠에 따라, 고정형 가상카드번호에 대응하는 매칭코드를 탐색하여 월렛서버로 전송한다.
또한, 다른 구체적인 예로, 정기결제(예를 들어, Netflix와 같은 구독서비스 결제)에 등록하기 위해, 유저는 월렛서비스 내에서 유효기간이 설정된 고정형 가상카드번호를 생성한다. 이 때, 검증서버는 월렛서버로부터 유저의 매칭코드와 생성된 고정형 가상카드번호에 대한 정보(유효기간을 설정한 경우, 유효기간을 포함한다)를 수신하여, 수신된 매칭코드에 정기결제용 고정형 가상카드번호를 매핑한다. 유저가 정기결제를 위한 고정형 가상카드번호를 등록한 서비스에서 고정형 가상카드번호로 특정 시점에 결제요청을 하면, 고정형 가상카드번호가 결제네트워크를 이용할 수 있는 발급자식별번호를 포함함에 따라, 검증서버는 고정형 가상카드번호를 수신하고 이에 대응하는 매칭코드를 탐색한다. 검증서버는 탐색된 매칭코드를 월렛 서버로 전송한다.
또한, 다른 구체적인 예로, 사용자가 온라인 또는 오프라인 결제를 위해 일회용 가변 가상카드번호를 이용하는 경우, 검증서버는 일회용 가변 가상카드번호가 결제네트워크를 이용할 수 있는 발급자식별번호(BIN)을 포함함에 따라 결제네트워크로부터 수신하고, 일회용 가변 가상카드번호 내에서 추출된 복수의 세부코드를 기반으로 유저할당정보(User ID; UID)를 탐색하여 이에 매칭된 매칭코드를 추출한다. 검증서버는 가상카드번호 검증알고리즘 내에서 추출된 매칭코드에 대응되는 월렛 서버로 매칭코드를 전송한다.
이를 통해, 전자지갑 서비스의 로컬 결제를 온/오프라인에서 해외 결제로 확장하여 주는 것뿐만 아니라, 글로벌 결제 연계서비스 서버(즉, 검증서버(40))는 각 전자지갑서비스가 제공하는 결제방식(예를 들어, QR코드 리딩방식)에 제한되지 않고 기존 결제방식(IC 삽입 방식 및 NFC 태깅 방식)을 이용할 수 있도록 하며, 월렛서비스가 제휴된 제휴처 이외에서도 가상카드번호로 결제를 수행할 수 있도록 연계하는 역할을 수행한다.
이하, 상술한 구성들에 대하여 첨부된 도면을 참조하여 구체적으로 설명한다.
도 2는 본 발명의 다른 일실시예에 따른 가상카드번호생성장치(100)의 구성도이다.
도 2를 참조하면, 본 발명의 다른 일실시예에 따른 가상카드번호생성장치(100)는, 세부코드생성부(110), 가상카드번호생성부(120) 및 가상카드번호제공부(130)를 포함한다.
본 발명의 실시예들에 따른 가상카드번호생성장치(100)는 가상카드번호생성수단(10)에 해당하는 프로그램이 내장(Embeded)되거나 가상카드번호생성수단(10)에 해당하는 프로그램이 설치된 장치일 수 있다. 예를 들어, 가상카드번호생성장치(100)는 가상카드번호생성수단(10)에 해당하는 프로그램이 내장된 스마트카드일 수 있다. 또한, 예를 들어, 가상카드번호생성장치(100)는 가상카드번호생성수단(10)에 해당하는 앱카드 어플리케이션이 설치된 이동단말기일 수 있다. 가상카드번호생성장치(100)는 상기 기재된 예시 이외에 가상카드번호를 생성하여 전송하여야 하는 다양한 장치가 될 수 있다. 보다 구체적인 예를 들어, 가상카드번호생성장치(100)는 상카드번호생성수단(10)에 해당하는 앱카드 어플리케이션이 설치된 웨어러블 디바이스일 수 있다.
가상카드번호생성부(120)는 하나 이상의 세부코드를 조합하여 가상카드번호로 생성하는 역할을 수행한다. 일실시예로, 상기 가상카드번호는 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성되는 것이다. 가상카드번호생성함수는 복수의 세부코드를 조합하는 규칙(즉, 세부코드결합함수)을 포함한다.
복수의 세부코드를 결합하여 하나의 가상카드번호를 생성하는 방식으로는 다양한 방식이 적용될 수 있다. 상기 세부코드결합함수의 일 예로, 가상카드번호생성부(120)는 N자리의 제1코드와 N자리의 제2코드를 번갈아 배치하는 방식으로 가상카드번호를 생성할 수 있다. 또한, 다른 일 예로, 세부코드결합함수는 제1코드 뒤에 제2코드를 결합하는 함수일 수 있다. 가상함수에 포함되는 세부코드가 늘어남에 따라 세부코드결합함수도 다양하게 생성될 수 있다.
세부코드생성부(110)는 하나 이상의 세부코드를 생성하는 역할을 수행한다. 가상카드번호생성함수는 각각의 세부코드생성함수를 포함한다. 예를 들어, 가상카드번호생성함수는 복수의 세부코드생성함수를 이용하여 복수의 세부코드를 생성하고, 복수의 세부코드를 결합하는 세부코드결합함수를 이용하여 가상카드번호를 생성한다.
일실시예로, 세부코드생성부(110)는 세부코드생성함수로 제1함수와 제2함수를 포함하여, 제1코드 및 제2코드를 생성한다. 제1코드와 제2코드는 가상카드번호검증수단을 구비하는 검증서버(40) 내에서 가상카드번호를 송신한 월렛 서버를 탐색하기 위한 상관관계를 가지나 가상카드번호생성장치(100)는 보안성을 높이기 위해 제1코드를 생성하는 제1함수와 제2코드를 생성하는 제2함수를 세부코드생성함수로 포함할 뿐, 제1코드와 제2코드의 상관관계에 대한 데이터를 포함하지 않을 수 있다.
또한, 다른 일실시예로, 세부코드생성부(110)는 가상카드번호생성장치(100)에 저장된 매칭코드를 이용하여 제1 및 제2코드 중 적어도 하나를 생성할 수 있다. 여기서, 매칭코드란 특정 월렛서버와 매칭되는 코드로, 검증서버(40)는 매칭코드에 기반하여 가상카드번호로 또는 매칭코드를 송신할 월렛 서버를 결정한다. 한편, 매칭코드는 복수의 월렛 서버 중 어느 하나의 월렛 서버와 관련된 정보, 상기 어느 하나의 월렛 서버에 저장된 실제카드번호의 저장위치 및 상기 어느 하나의 월렛 서버에 저장된 UID 중 적어도 하나를 포함할 수 있다.검증서버(40)는 매칭코드 및 매칭코드와 매칭되는 월렛 서버의 위치를 저장한다.
한편, 매칭코드가 포함하는 정보에 따라 본 발명에 따른 실시 형태가 달라질 수 있다.
일 실시 예에 있어서, 매칭코드가 복수의 월렛 서버 중 어느 하나의 월렛 서버와 관련된 정보만 포함하는 경우, 검증서버(40)는 매칭코드에 기반하여 상기 어느 하나의 월렛 서버로 가상카드번호를 송신한다. 이 경우, 상기 어느 하나의 월렛 서버는 실제카드번호 탐색을 위해 가상카드번호검증수단을 구비하여야 한다.
또한, 다른 일실시예로, 매칭코드가 복수의 월렛 서버 중 어느 하나의 월렛 서버와 관련된 정보 및 상기 어느 하나의 월렛 서버에 저장된 실제카드번호의 저장위치를 포함할 수 있다. 이 경우, 검증서버(40)는 매칭코드에 기반하여 매칭 코드를 송신할 월렛 서버를 결정하고, 해당 월렛 서버로 실제카드번호 저장위치를 송신한다.
또한, 다른 일실시예로, 상기 매칭코드는 월렛 서버 내 실제카드번호 저장위치를 포함하지 않고, 복수의 월렛 서버 중 어느 하나의 월렛 서버와 관련된 정보 및 월렛 서버에 등록된 UID(User Identifier)를 포함할 수 있다. 여기서, UID 자체가 복수의 월렛 서버 중 어느 하나의 월렛 서버와 관련된 정보 를 포함할 수 있다. 이 경우, 검증서버(40)는 UID에 기반하여 세부 코드를 송신할 월렛 서버를 결정하고, 해당 월렛 서버로 UID를 송신한다.
한편, 매칭코드는 UID 자체를 포함하거나, UID의 저장위치를 포함할 수 있다. 매칭코드가 UID 자체를 포함하는 경우, 월렛 서버는 검증서버(40)로부터 매칭코드를 수신한 후, UID에 매칭되어 저장된 실제카드번호를 탐색한다. 이와 달리, 매칭코드가 UID의 저장위치를 포함하는 경우, 월렛 서버는 검증서버(40)로부터 매칭코드를 수신한 후, 매칭코드를 이용하여 UID를 탐색한 후, UID에 매칭되어 저장된 실제카드번호를 탐색한다.
또한, 다른 일실시예로, 매칭코드는 후술할 가상카드번호의 유효성 검증을 위해 가상카드번호생성장치(100) 및 검증서버(40) 각각에 저장된다. 매칭코드는 사용자가 전자지갑 서비스에 사용자 정보를 등록할 때 할당될 수 있으며, 월렛 서버는 할당된 매칭코드를 가상카드번호생성장치(100) 및 검증서버(40)로 송신한다. 이에 대하여는 이후에 보다 구체적으로 설명한다.
또한, 다른 일실시예로, 가상카드번호는 그룹을 구별하기 위한 변경되지 않는 고정코드를 복수의 세부코드와 함께 포함할 수 있다. 고정코드는, 상기 가상카드번호 내에 미리 정해진 위치에 결합될 수 있다. 각 카드유형그룹별로 가상카드번호생성함수가 부여되는 경우, 가상카드번호검증수단은 가상카드번호에서 고정코드를 먼저 추출하여야 카드유형그룹을 판단할 수 있다. 따라서, 고정코드는 별도의 함수 없이 분리가능하도록 가상카드번호 내의 미리 정해진 위치(예를 들어, 실제카드번호의 발급자식별번호와 동일한 위치)에 결합될 수 있다. 고정코드는 검증서버(40)와 매칭되어, 검증서버(40)가 가상카드번호를 수신할 수 있도록 한다.
또한, 일실시예로, 가상카드번호생성장치(100)는 복수의 세부코드와 고정코드를 조합하여 실제카드번호와 동일한 자릿수의 코드가 되도록 세부코드를 생성한다. 기존의 금융거래 시스템(예를 들어, 금융거래가 매장에서의 결제인 경우, POS장치 및 PG사서버)을 그대로 유지하면서 가상카드번호를 사용하기 위해서는, 가상카드번호생성장치(1OO)는 실제카드번호와 동일한 자릿수를 가지는 코드를 가상카드번호로 생성하여야 한다. 이를 위해, 가상카드번호생성장치(100)는 카드사 및 해당 카드사의 카드유형을 판단하기 위한 고정코드를 제외한 자릿수를 나누어 복수의 세부코드의 자릿수를 활용한다. 예를 들어, 실제카드번호가 16자리의 카드식별번호를 가지고 세부코드로 제1코드 및 제2코드를 포함하는 경우, 가상카드번호생성장치(100)는 16자리 중에서 6자리의 고정코드를 제외한 10자리를 동일하게 나누어서 5자리의 제1코드 및 제2코드를 생성할 수 있다. 그 후, 후술되는 가상카드번호생성부가 제1코드 및 제2코드를 특정한 규칙에 따라 결합한 후 고정코드를 실제카드번호의 카드식별번호에서와 같이 앞부분에 결합하여 가상카드번호의 카드식별번호를 생성할 수 있다.
가상카드번호제공부(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칩은 PCB판 내에 실장되어 IC방식의 카드리더기의 단자와 접촉하여 데이터교환을 수행하도록 할 수 있다. 즉, IC칩은 가상카드번호생성부(120)에서 생성된 가상카드번호를 IC방식의 카드리더기로 전달한다.
디스플레이부는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 전자종이(E-paper) 중에서 적어도 하나를 포함할 수도 있다.
디스플레이부는 가상카드번호생성부(120)에서 생성한 가상카드번호를 시각적으로 외부에 출력한다. 이를 통해, 가상카드번호생성장치(100)의 사용자는 실시간으로 생성된 가상카드번호를 시각적으로 확인할 수 있고, 가상카드번호검증수단에 시각적으로 확인한 가상카드번호를 직접 입력할 수 있다.
예를 들어, 가상카드번호생성장치가 스마트카드인 경우, 가상카드번호생성장치는 표면에 카드번호를 기재하지 않고 가상카드번호를 출력할 수 있는 디스플레이부를 구비할 수 있다. 또한, 예를 들어, 가상카드번호가 발급자식별번호와 동일한 고정코드를 포함하는 경우, 가상카드번호생성장치(100)는 발급자식별번호를 카드표면에 기재하고, 나머지 카드번호의 자리만 디스플레이부로 가질 수 있다. 예를 들어, 상기 디스플레이부는 전자종이, OLED 등이 될 수 있고, 각각의 자리에 구비되는 7-Segment 디스플레이일 수도 있다. 또한, 예를 들어, 가상카드생성장치가 앱카드 어플리케이션이 설치된 스마트폰인 경우, 디스플레이부는 앱카드 어플리케이션이 실행되어 표시되는 스마트폰의 디스플레이부일 수 있다.
또한, 사용자는 디스플레이부에 표시된 가상카드번호를 문자메시지 등의 다양한 경로를 통해 가상카드번호를 전달할 수 있다. 실제카드번호를 전송하는 것이 아니라 가상카드번호검증수단에서 실제카드번호를 탐색할 수 있는 가상카드번호(구체적으로, 계속적으로 변경생성되는 코드)를 전달하는 것이므로, 사용자가 문자메시지 등을 통해 코드 전송 시 실제카드번호 유출을 우려하지 않도록 할 수 있다.
이하, 가상카드번호검증장치(200)에 대하여 설명한다.
도 3은 본 발명의 일실시예에 따른 가상카드번호검증장치(200)의 구성도이다.
도 3을 참조하면, 본 발명의 또 다른 일실시예에 따른 가상카드번호검증장치(200)는, 통신부(210), 세부코드추출부(220) 및 월렛서버선택부(230)를 포함한다. 가상카드번호검증장치(200)는 검증서버(40)일 수 있다.
예를 들어, 카드 결제의 경우, 가상카드번호검증장치(200)는 POS장치 및 PG사 서버를 통해 가상카드번호생성장치(100)에서 생성한 가상카드번호를 수신한다.
통신부(210)는 가상카드번호생성장치(100)로부터 가상카드번호를 수신하는 역할을 수행한다. 일실시예로, 가상카드번호수신부(210)는 다른 서버(예를 들어, 지불결제서비스서버)와의 통신을 통해 가상카드번호생성장치(100)에서 생성된 가상카드번호를 전달받을 수 있다.
세부코드추출부(220)는 상기 가상카드번호에 포함된 복수의 세부코드를 추출한다. 상기 가상카드번호는 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성되는 것이다. 가상카드번호검증장치(200)의 세부코드추출부(220)는 특정그룹의 가상카드번호생성장치(100)와 동일한 세부코드결합함수를 포함하여, 세부코드추출부(220)는 세부코드결합함수를 적용하여 가상카드번호에서 복수의 세부코드를 추출할 수 있다. 예를 들어, 가상카드번호생성장치(100)에서 두 개의 세부코드(즉, 제1코드 및 제2코드)가 결합된 가상카드번호를 생성하는 경우, 세부코드추출부(220)는 가상카드번호의 문자배열에서 세부코드결합함수를 적용하여 제1코드 및 제2코드를 분리해낼 수 있다.
월렛서버선택부(230)는 복수의 세부코드를 기반으로 세부코드를 송신할 월렛 서버를 선택한다. 여기서, 복수의 월렛 서버는 검증서버(40)에 기 등록된 서버이다. 월렛서버선택부(230)가 복수의 세부코드를 송신할 월렛 서버를 선택하기 위해 세부코드 간에는 상관관계를 포함할 수 있다.
가상카드번호가 제1코드 및 제2코드를 포함하는 경우, 세부코드 간에 상관관계를 가지는 일실시예로, 월렛서버선택부(230)는 제1코드에 대응하는 탐색시작지점을 결정하고, 상기 탐색시작지점으로부터 제2코드에 상응하는 탐색경로에 따라 이동한 지점을 매칭코드로 간주할 수 있다. 즉, 상기 세부코드는, 탐색의 시작지점을 설정하는 제1코드 및 특정한 탐색방식에 따라, 상기 시작지점으로부터 매칭코드로의 탐색경로를 설정하는 제2코드를 포함할 수 있다.
또한, 다른 일실시예로, 가상카드번호생성수단(10)(또는 가상카드번호생성장치(100))가 단위카운트마다 신규 가상카드번호를 제공함에 따라, 가상카드번호검증장치(200)는 각 카운트마다 변경되는 제1코드 및 제2코드를 기반으로 탐색시작지점과 탐색경로를 설정하여 매칭코드를 탐색할 수 있다.
또한, 다른 일실시예로, 실제카드번호탐색부(230)는 상관관계를 가지는 복수의 세부코드를 이용하여 매칭코드를 찾기 위해, 매칭코드탐색알고리즘을 포함할 수 있다. 매칭코드탐색알고리즘은 가상카드번호에 포함되는 각각의 세부코드 적용 시에 매칭코드 탐색이 가능하도록 하는 알고리즘이다. 예를 들어, 가상카드번호로부터 매칭코드의 탐색시작지점을 결정하는 제1코드와 탐색시작지점으로부터의 저장위치 방향을 제시하는 제2코드를 포함하는 경우, 매칭코드탐색알고리즘은 제1코드에 대응되는 지점에서 제2코드에 대응되는 방향을 지시할 때, 해당 위치에 매칭코드가 배치되도록 조절하는 알고리즘이다. 매칭코드탐색알고리즘을 이용함에 따라, 가상카드번호검증장치(200)는 가상카드번호에 포함된 제1코드와 제2코드가 변경되어도 매칭코드를 찾을 수 있다. 매칭코드탐색알고리즘은 다양한 방식이 적용될 수 있으며, 구체적인 예시는 도 8 및 9에서 후술한다. 다만, 매칭코드탐색알고리즘은 후술되는 예시에 한정되지 않는다.
또한, 다른 일실시예로, 상기 가상카드번호검증장치(200)는, 가상카드번호검증부(240)를 더 포함한다. 가상카드번호검증부(240)는 가상카드번호검증장치(200)가 수신한 가상카드번호의 진위여부를 판단하는 역할을 수행한다.
가상카드번호검증부(240)는 사용자가 전자지갑 서비스에 사용자 정보를 등록할 때 가상카드번호생성장치(100)의 고유값(예를 들어, 매칭코드)을 수신하여 저장할 수 있다.
검증서버(40)가 가상카드번호를 수신하면, 세부코드추출부(220)가 가상카드번호로부터 복수의 세부코드를 추출한다. 가상카드번호검증부(240)은 세부코드를 기반으로 가상카드번호가 생성된 시간데이터를 획득하고, 내부에 저장된 특정한 가상카드번호생성장치(100)의 고유값을 추출하여 시간데이터와 함께 가상보안코드생성함수(예를 들어, OTP(One-Time Password) 함수)에 적용하여 가상보안코드를 산출한다. 가상카드번호검증부(240)은 가상카드번호생성장치(100)에서 수신한 가상보안코드(즉, 수신가상보안코드)와 내부에 저장된 가상보안코드생성함수로 산출한 가상보안코드(즉, 생성가상보안코드)가 일치하는 지 판단한다. 가상카드번호생성장치(100)에서 가상카드번호를 생성하는 시점과 가상카드번호검증장치(200)에서 가상카드번호를 수신한 시점 사이에 차이가 존재할 수 있으므로, 가상카드번호검증장치(200)는 시간딜레이를 고려하여 특정시간 범위 내(예를 들어, 가상카드번호를 수신한 시점으로부터 특정 카운트 이전까지)의 가상보안코드(즉, OTP번호)를 계산하여, 가상카드번호생성장치(100)로부터 수신된 수신가상보안코드와 일치하는 값이 존재하는지 확인한다. 가상카드번호검증부(240)는 수신가상보안코드와 생성가상보안코드가 일치하면 정상적인 가상카드번호로 판단한다.
또한, 다른 일실시예에 있어서, 가상카드번호검증부(240)는 월렛서버선택부(230)로부터 탐색된 매칭코드를 가상카드번호의 유효성 검증에 활용한다. 구체적으로, 가상카드번호검증부(240)는 수신가상보안코드와 생성가상보안코드가 일치하면, 월렛서버선택부(230)로부터 탐색된 매칭코드와 일치하는 코드가 검증서버(40)에 저장되어 있는지 탐색한다. 월렛서버선택부(230)로부터 탐색된 매칭코드가 검증서버(40)에 저장된 경우, 가상카드번호검증부(240)는 정상적인 가상카드번호로 판단한다.
가상카드번호검증부(240)가 가상카드번호를 정상적인 카드번호로 판단하는 경우, 통신부(210)는 가상카드번호 또는 매칭코드를 월렛서버선택부(230)에 의해 선택된 월렛 서버로 송신한다.
다음으로, 월렛 서버에 대하여 구체적으로 설명한다.
도 4는 본 발명의 다른 일실시예에 따른 월렛 서버(300)의 구성도이다.
통신부(310)는 검증서버(40)로부터 가상카드번호 또는 매칭코드를 수신하고, 검증서버(40)로 실제카드번호를 송신하는 역할을 한다.
실제카드번호탐색부(320)는 검증서버(40)로부터 수신된 가상카드번호 또는 매칭코드를 이용하여, 월렛 서버 내에 저장된 실제카드번호를 탐색하는 역할을 한다.
일 실시 예에 있어서, 통신부(310)가 검증서버(40)로부터 가상카드번호를 수신하는 경우, 실제카드번호탐색부(320)는 가상카드번호검증수단을 구비한다. 실제카드번호탐색부(320)는 가상카드번호검증수단을 이용하여 가상카드번호에서 실제카드번호 저장위치, UID 및 UID 저장위치 중 어느 하나를 추출한 후 실제카드번호를 탐색한다.
다른 일 실시 예에 있어서, 통신부(310)가 검증서버(40)로부터 매칭코드를 수신하는 경우, 매칭코드는 저장된 실제카드번호의 저장위치, UID 및 UID의 저장위치 중 어느 하나를 포함할 수 있다.
매칭코드가 실제카드번호의 저장위치를 포함하는 경우, 실제카드번호탐색부(320)는 매칭코드에 매칭된 실제카드번호를 탐색한다. 이와 달리, 매칭코드가 UID 자체를 포함하는 경우, 실제카드번호탐색부(320)는 매칭코드를 이용하여 UID에 매칭되어 저장된 실제카드번호를 탐색한다. 이와 달리, 매칭코드가 UID의 저장위치를 포함하는 경우, 실제카드번호탐색부(320)는 매칭코드를 이용하여 UID를 탐색한 후, UID에 매칭되어 저장된 실제카드번호를 탐색한다.
매칭코드는 가상카드번호생성장치(예를 들어, 웨어러블 디바이스)를 월렛 서버에 등록할 때, 할당되는 코드이다. 할당된 매칭 코드는 월렛 서버 내 실제카드번호저장부(330)에 저장되며, 가상카드번호생성장치 및 검증서버(40)로 송신된다.
실제카드번호저장부(330)는 각각의 사용자별 또는 가상카드번호생성장치별로 실제카드번호 저장공간을 생성하여 실제카드번호를 저장하는 역할을 한다. 일 실시 예로, 실제카드번호저장부(330)는 하나 이상의 실제카드번호가 저장되는 실제카드번호 저장공간을 포함한다. 또한, 10과 같이, 실제카드번호저장부(330)는 매칭코드 저장영역, 기본카드설정영역 및 카드번호저장영역을 포함한다. 카드번호저장영역에는 복수의 실제카드번호들이 식별번호와 매칭되어 저장되며, 기본카드설정영역은 기본 카드(또는 디폴트카드)로 설정된 실제카드번호의 식별번호를 저장한다.
상술한 바와 같이, 실제카드번호는 검증서버(40) 저장되지 않고, 가상카드번호생성장치가 등록된 월렛 서버 내에 저장된다. 전자지갑 서비스 사용자는 해당 월렛 서버에만 사용자 정보(예를 들어, 실제카드번호)를 등록함으로써, 검증서버(40)를 활용한 금융거래를 할 수 있다.
이하, 상술한 구성요소들을 활용한 금융거래제공방법에 대하여 구체적으로 설명한다.
도 5 내지 7은 본 발명의 일 실시예에 따른 금융거래제공방법의 순서도이다.
도 5를 참조하면, 검증서버(40)가 가상카드번호생성수단(10)에서 제공된 가상카드번호를 금융거래단말기로부터 수신하는 가상카드번호 수신단계(S100)가 진행된다.
일 실시 예에 있어서, 가상카드번호생성수단(10)은 웨어러블 디바이스에 내장될 수 있다. 전자지갑 서비스 사용자는 웨어러블 디바이스를 월렛 서버에 등록하고, 가상카드번호생성 프로그램을 설치할 수 있다. 카드 결제를 예로들면, 웨어러블 디바이스에서 생성된 가상카드번호는 금융거래 단말기(20)를 통해 지불결제서비스 서버(30)로 전달되며, 지불결제서비스 서버(30)는 가상카드번호에 포함된 발급자식별번호에 기반하여 가상카드번호를 검증서버(40)로 송신한다.
일 실시 예에 있어서, 검증서버(40)에는 서로 다른 전자지갑 서비스에 대응하는 복수의 월렛 서버가 등록될 수 있으며, 각 월렛 서버에 등록된 가상카드번호생성장치(100)로부터 생성되는 가상카드번호는 모두 동일한 발급자식별번호를 포함할 수 있다. 이에 따라, 서로 다른 전자지갑 서비스에 등록된 가상카드번호생성장치(100)로부터 생성된 가상카드번호는 모두 검증서버(40)로 송신된다.
이후, 검증서버(40)가 가상카드번호에 포함된 복수의 세부코드를 추출하는 단계(S200)가 진행된다. 복수의 세부코드 추출은 검증서버(40)에 포함된 세부코드추출부(220)에 의해 수행된다. 이를 위해, 가상카드번호생성장치(100)와 검증서버(40)에는 동일한 가상카드번호 생성함수가 포함될 수 있다. 다만, 이에 한정되지 않고 검증서버는 가상카드검증 알고리즘만 포함할 수 있다.
이후, 검증서버(40)가 복수의 세부코드를 기반으로 실제카드번호가 저장된 복수의 월렛 서버 중 어느 하나의 월렛 서버로 가상카드번호 또는 매칭코드를 송신하는 단계(S300)가 진행된다.
일 실시 예에 있어서, 검증서버(40)는 추출된 복수의 세부코드를 조합하여 매칭코드를 탐색하고, 탐색된 매칭코드를 이용하여 세부코드를 송신할 월렛 서버를 선택할 수 있다.
또한, 다른 일 실시 예에 있어서, 매칭코드는 월렛 서버를 지칭하는(4자리) 코드와 월렛 서버 내 사용자 일련번호(5자리) 코드로 이루어질 수 있다. 검증서버(400)는 매칭코드 내 월렛 서버를 지칭하는 4자리 코드에 기반하여, 매칭코드를 송신할 월렛 서버를 선택할 수 있다.
다음으로, 어느 하나의 월렛 서버로부터 복수의 세부코드에 대응하는 실제카드번호를 수신하는 단계(S400)가 진행된다.
도 7을 참조하면, 월렛 서버는 가상카드번호로부터 추출된 복수의 세부 코드 중 적어도 하나(예를 들어, 매칭코드)를 수신(S310)하고, 수신된 세부 코드를 이용하여 월렛 서버에 저장된 실제카드번호를 탐색(S320)하고, 탐색된 실제카드번호를 검증서버(40)로 송신(S330)한다.
일 실시 예에 있어서, 월렛 서버는 검증서버(40)로부터 월렛 서버를 지칭하는(4자리) 코드와 월렛 서버 내 사용자 일련번호(5자리) 코드로 이루어진 매칭코드를 수신하고, 일련번호 코드를 이용하여 실제카드번호 저장위치를 탐색한다. 이후, 월렛 서버는 탐색된 실제카드번호를 검증서버(40)로 송신한다.
또한, 다른 일 실시 예에 있어서, 월렛 서버는 검증서버(40)로부터 실제카드저장위치를 수신할 수 있다. 이 경우, 월렛 서버는 수신된 실제카드저장위치에 저장된 실제카드번호를 검증서버(40)로 송신한다.
마지막으로, 검증서버(40)가 수신된 실제카드번호로 금융거래 진행 또는 금융거래 진행요청을 하는 단계(S500)가 진행된다.
일 실시 예에 있어서, 검증서버(40)는 실제카드번호를 지불결제서비스서버(30)로 송신한다. 지불결제서비스서버(30)는 실제카드번호에 포함된 발급자식별번호에 기반하여, 발급자식별번호에 대응하는 금융사서버(60)로 실제카드번호를 송신한다. 금융사서버(60)는 실제카드번호를 수신하고, 수신된 실제카드번호가 금융사서버(60)에 저장된 실제카드번호와 일치하는 경우, 금융거래 요청을 승인한다.
한편, 다른 일 실시 예에 있어서, 검증서버(40)는 가상카드번호가 유효하지 않은 경우, 가상카드번호로부터 추출된 세부코드를 월렛 서버로 송신하지 않는다.
구체적으로, 도 6을 참조하면, 검증서버(40)는 가상카드번호에 포함된 복수의 세부코드를 추출(S200)하고, 복수의 세부코드와 검증서버 내에서 생성된 생성보안코드에 기반하여 가상카드번호의 유효성을 검증하는 단계(S210)가 진행된다. 가상카드번호의 유효성 검증방법은 도 3에서 구체적으로 설명하였는 바, 구체적인 설명은 생략한다.
검증서버(40)는 수신된 가상카드번호가 유효한 경우에만, 추출된 세부코드를 월렛 서버로 송신한다.
상술한 바와 같이, 본 발명은 지불결제서비스 서버에 전자지갑 서비스를 등록하지 않고, 전자지갑 서비스를 통해 금융거래 서비스를 제공할 수 있도록 한다.
이하, 제1 및 제2코드의 구체적인 예시에 대하여 설명한다.
도 8은 본 발명의 일 실시예에 따른 세부코드를 기반으로 트랙상을 이동하여 매칭코드를 탐색하는 매칭코드탐색알고리즘에 대한 예시도이고, 도 9는 본 발명의 일 실시예에 따른 가상보안코드를 이용하여 매칭코드 탐색시점을 이동시키는 방식의 예시도이다.
일 실시예로, 검증서버(40)는 매칭코드탐색알고리즘을 포함하며, 매칭코드탐색알고리즘은 가상코드를 구성하는 복수의 세부코드를 기반으로 트랙상을 이동하여 매칭코드를 탐색한다.
도 7을 참조하면, 가상코드가 가상코드생성함수가 구동된 시점으로부터 경과된 시간을 기반으로 생성된 복수의 세부코드로서 제1코드 및 제2코드를 포함한다.
제1코드 및 제2코드의 구체적인 예로, 제1코드에 대응되는 코드값(제1코드값)은 가상코드생성함수 구동시점을 기준으로 현재시점에 대응되는 카운트에서 OTP코드값을 더한 값일 수 있다. 제1코드값은 실제코드 탐색 과정에서 경유지점의 역할을 한다. 제2코드에 대응되는 코드값(제2코드값)은 상기 제1코드값에서 매칭코드를 뺀 값일 수 있다. 제2코드값은 경유지점(제1코드값)으로부터 매칭코드까지의 카운트이다.
즉, 세부코드생성부(110)가 생성하는 제1코드 및 제2코드의 일 실시예는 다음과 같다.
제1코드 = 현재시점 카운트 + OTP코드
제2코드 = 제1코드 - 매칭코드
OTP(One time password) 코드는 세부코드생성함수에 포함된 OTP코드생성함수에 의해 생성되는 코드로서, 매시점 다르게 생성되는 코드이다. 따라서, 세부코드는 가상코드의 셍성시점에 따라 다르게 생성되므로 중복되어 생성되는 것을 방지할 수 있고, 보안성을 강화시키는 효과가 있다.
제1코드 및 제2코드의 구체적인 다른 예로, 제1코드에 대응되는 코드값(제1코드값)은 OTP코드값에 매칭코드를 더한 값이고, 제2코드에 대응되는 코드값(제2코드값)은 OTP코드값일 수 있다.
즉, 세부코드생성부(110)가 생성하는 제1코드 및 제2코드의 다른 실시예는 다음과 같다.
제1코드 = OTP코드 + 매칭코드
제2코드 = OTP코드
도 7에 도시된 바와 같이, 검증서버(40)는 제1코드값에 매칭되는 트랙상의 카운트를 경유지점으로 경유하여, 제2코드값에 해당하는 카운트만큼 설정된 방향으로 트랙을 따라 이동하여 매칭코드를 탐색한다.
또한, 다른 일 실시예로, 제1코드 및 제2코드는 가상카드번호생성장치를 월렛 서버에 등록한 시점 또는 금융거래가 요청된 시점(예를 들어, 사가상카드번호생성수단(10)이 가상카드번호를 생성한 시점)으로부터 랜덤으로 생성되는 OTP코드만큼 부가된 기준 카운트에 대한 코드일 수 있다.
구체적인 실시예로, 가상카드번호생성수단이 가상보안코드를 외부로 출력하지 않고 제1코드 및 제2코드에 반영하여 생성한다. 도 8에서와 같이, 가상카드번호생성수단(10)은 가상카드번호생성장치 내에 저장된 매칭코드를 기반으로 가상보안코드값(예를 들어, OTP코드)를 생성하고, 가상카드번호생성장치 등록시점에 가상보안코드값을 더한 카운트의 제1코드를 생성하고, 가상보안코드값에 대응되는 카운트의 제2코드를 생성(즉, 가상보안코드 자체를 제2코드로 생성)한다. 즉, 제1코드 및 제2코드는 가상카드번호생성장치가 월렛 서버에 등록된 A시점으로부터 가상보안코드값만큼 이동(shifting)된 카운트를 기반으로 생성된다. A시점으로부터 이동(Shifting)된 카운트는 생성되는 가상보안코드 값에 따라 현재시점에 대응하는 카운트보다 이전 카운트가 될 수도 있고, 이후 카운트가 될 수도 있다. 검증서버(40)는 수신된 제1코드와 제2코드를 매칭코드탐색알고리즘에 적용하여 매칭코드를 탐색할 수 있다. 이를 통해, 타인이 가상카드번호를 구성하는 제1코드 및 제2코드가 제공되는 순서를 확인할 수 없게 되어, 보안성이 향상될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
10 : 가상카드번호생성수단
20 : 금융거래단말기
30 : 지불결제서비스서버
40 : 검증서버
51 : 제1월렛서버
52 : 제2월렛서버
60 : 금융사서버
100 : 가상카드번호생성장치
200 : 가상커드번호검증장치
300 : 월렛 서버

Claims (15)

  1. 검증서버에 의해 수행되는 방법에 있어서,
    상기 검증서버가 가상카드번호생성수단에서 생성된 가상카드번호를 수신하되, 상기 가상카드번호는 상기 가상카드번호생성수단에서 해당 시점에 생성되는 것인, 수신 단계;
    상기 검증서버가 상기 가상카드번호를 기반으로 매칭코드를 탐색하는 단계;
    상기 검증서버가 복수의 결제연계서버 중에서 상기 매칭코드와 관련된 특정 결제연계서버를 탐색하는 단계; 및
    상기 검증서버가 상기 특정 결제연계서버로 상기 매칭코드를 송신하되, 상기 매칭코드는 상기 특정 결제연계서버에서 실제카드번호와 매칭되어 저장된 것인, 송신 단계;를 포함하고,
    상기 특정 결제연계서버는, 상기 매칭코드를 기반으로 상기 실제카드번호를 탐색하고, 상기 실제카드번호를 상기 검증서버를 통해 결제네트워크서버로 송신하여 금융거래 진행을 요청 대행하는 것인, 가상카드번호 기반의 금융거래제공방법.
  2. 제1 항에 있어서,
    상기 검증서버는, 상기 실제카드번호와 연결되는 상기 매칭코드를 저장하고,
    상기 매칭코드는, 상기 실제카드번호를 포함하는 사용자의 개인정보가 비식별화되어 외부에 제공되는 값인, 가상카드번호 기반의 금융거래제공방법.
  3. 제1 항에 있어서,
    상기 매칭코드는, 상기 검증서버에 저장된 가상카드번호 검증알고리즘 내에서 특정 사용자에게 할당된 특정 위치에 저장되는, 가상카드번호 기반의 금융거래제공방법.
  4. 제1 항에 있어서,
    상기 매칭코드는, 상기 특정 결제연계서버의 링크 정보를 포함하는 것인, 가상카드번호 기반의 금융거래제공방법.
  5. 제4 항에 있어서,
    상기 매칭코드는, 상기 특정 결제연계서버에 저장된 UID(User Identifier)를 포함하는, 가상카드번호 기반의 금융거래제공방법.
  6. 제1 항에 있어서,
    상기 가상카드번호는, 사용자 클라이언트 또는 어플리케이션에서 사용자의 실제카드번호 별로 구별되도록 일회용으로 생성되는 가변 가상카드번호인, 가상카드번호 기반의 금융거래제공방법.
  7. 제1 항에 있어서,
    상기 가상카드번호는, 사용자의 실물카드에 저장되어 있는 고정 가상카드번호인, 가상카드번호 기반의 금융거래제공방법.
  8. 제1 항에 있어서,
    상기 가상카드번호는, 정기결제 서비스 등록을 위해 어플리케이션에서 생성되어 저장된 고정 가상카드번호인, 가상카드번호 기반의 금융거래제공방법.
  9. 하드웨어인 컴퓨터와 결합되어, 제1 항 내지 제8 항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.
  10. 금융거래제공장치에 있어서,
    다른 서버 또는 단말기와 데이터를 송수신하도록 이루어지는 통신부; 및
    가상카드번호생성수단에 의해 생성된 가상카드번호를 이용하여 매칭코드를 탐색하는 탐색부;를 포함하고,
    상기 금융거래제공장치는,
    상기 통신부를 통해 가상카드생성수단에 의해 생성된 가상카드번호를 수신하되, 상기 가상카드번호는 상기 가상카드번호생성수단에서 해당 시점에 생성되는 것이고,
    복수의 결제연계서버 중에서 상기 매칭코드와 관련된 특정 결제연계서버를 탐색하고,
    상기 통신부를 통해 상기 특정 결제연계서버로 상기 매칭코드를 송신하되, 상기 매칭코드는 상기 특정 결제연계서버에서 실제카드번호와 매칭되어 저장된 것이고,
    상기 특정 결제연계서버는, 상기 매칭코드를 기반으로 상기 실제카드번호를 탐색하고, 상기 실제카드번호를 상기 금융거래제공장치를 통해 결제네트워크서버로 송신하여 금융거래 진행을 요청 대행하는 것인, 가상카드번호 기반의 금융거래제공장치.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020210191618A 2019-08-30 2021-12-29 가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램 KR102558582B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20190107065 2019-08-30
KR1020190107065 2019-08-30
KR1020200078643A KR102346701B1 (ko) 2019-08-30 2020-06-26 가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200078643A Division KR102346701B1 (ko) 2019-08-30 2020-06-26 가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램

Publications (2)

Publication Number Publication Date
KR20220002843A KR20220002843A (ko) 2022-01-07
KR102558582B1 true KR102558582B1 (ko) 2023-07-24

Family

ID=72266178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210191618A KR102558582B1 (ko) 2019-08-30 2021-12-29 가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램

Country Status (4)

Country Link
US (2) US11334871B2 (ko)
EP (1) EP3786873A1 (ko)
KR (1) KR102558582B1 (ko)
WO (1) WO2021040243A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441118B1 (ko) * 2001-06-19 2004-07-19 한국모바일페이먼트서비스(주) 일회용 가상 카드 서비스 시스템 및 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140019352A1 (en) * 2011-02-22 2014-01-16 Visa International Service Association Multi-purpose virtual card transaction apparatuses, methods and systems
US11222329B2 (en) * 2012-11-05 2022-01-11 Mastercard International Incorporated Electronic wallet apparatus, method, and computer program product
KR101316466B1 (ko) 2012-11-20 2013-10-08 신한카드 주식회사 다이나믹 트랙 2 정보를 이용한 모바일 결제 시스템 및 방법
KR20140095745A (ko) * 2013-01-25 2014-08-04 삼성전자주식회사 결제 지원 방법과 시스템
KR101621254B1 (ko) * 2014-08-27 2016-05-31 유한회사 실릭스 오티피 기반의 가상 번호 결제 방법, 컴퓨터 판독가능한 기록매체 및 시스템
EP3602445A4 (en) * 2017-03-19 2020-12-02 Tokenid, Inc. APPARATUS AND METHOD FOR AUTHORIZING PAYMENT AND SEGMENTATION IN UNITS BASED ON AUTHENTICATION
SG10201706070TA (en) * 2017-07-25 2019-02-27 Mastercard International Inc Offline Payment Using Virtual Card Account Number
KR101978812B1 (ko) * 2017-08-09 2019-05-15 주식회사 센스톤 가상카드번호 기반의 금융거래제공시스템, 가상카드번호생성장치, 가상카드번호검증장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램
GB201715375D0 (en) * 2017-09-22 2017-11-08 Mastercard International Inc Online transaction infrastructure and processes
US10891618B2 (en) * 2017-11-29 2021-01-12 Fair Isaac Corporation Protecting online payments through one-time payment cards
GB201800392D0 (en) * 2018-01-10 2018-02-21 Mastercard International Inc Virtual transaction device provisioning to computing device
US20190362339A1 (en) * 2018-05-25 2019-11-28 Mastercard International Incorporated Methods and systems for facilitating payment transaction using a preferred digital wallet application
SG10201805351SA (en) * 2018-06-21 2020-01-30 Mastercard International Inc Electronic system and computerized method for processing recurring payment transactions
SG11202100067QA (en) * 2018-07-06 2021-02-25 Visa Int Service Ass Real time interaction processing system and method
US11488149B2 (en) * 2019-08-08 2022-11-01 Capital One Services, Llc Management of credentials and authorizations for transactions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441118B1 (ko) * 2001-06-19 2004-07-19 한국모바일페이먼트서비스(주) 일회용 가상 카드 서비스 시스템 및 방법

Also Published As

Publication number Publication date
US11836708B2 (en) 2023-12-05
EP3786873A1 (en) 2021-03-03
US20210065163A1 (en) 2021-03-04
US11334871B2 (en) 2022-05-17
KR20220002843A (ko) 2022-01-07
WO2021040243A1 (ko) 2021-03-04
US20220245619A1 (en) 2022-08-04

Similar Documents

Publication Publication Date Title
KR102284683B1 (ko) 가상코드 기반의 금융거래제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드 기반의 금융거래제공방법 및 가상코드 기반의 금융거래제공프로그램
KR102499624B1 (ko) 가상카드번호 기반의 금융거래제공시스템, 가상카드번호생성장치, 가상카드번호검증장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램
KR102510018B1 (ko) 가상보안코드를 이용한 사용자 인증 방법 및 시스템
CN109389382B (zh) 虚拟卡号生成装置及验证装置、金融交易提供系统、方法及程序
KR102346701B1 (ko) 가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램
US11935044B2 (en) System, method and program for providing financial transaction by virtual code, virtual code generator and virtual code verification device
CN112514346B (zh) 实时交互处理系统和方法
KR102558582B1 (ko) 가상카드번호 기반의 금융거래장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant