KR102468511B1 - 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제 방법 및 이를 이용한 모바일 단말 - Google Patents

블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제 방법 및 이를 이용한 모바일 단말 Download PDF

Info

Publication number
KR102468511B1
KR102468511B1 KR1020210029099A KR20210029099A KR102468511B1 KR 102468511 B1 KR102468511 B1 KR 102468511B1 KR 1020210029099 A KR1020210029099 A KR 1020210029099A KR 20210029099 A KR20210029099 A KR 20210029099A KR 102468511 B1 KR102468511 B1 KR 102468511B1
Authority
KR
South Korea
Prior art keywords
user
card
server
information
payment
Prior art date
Application number
KR1020210029099A
Other languages
English (en)
Other versions
KR20210112264A (ko
Inventor
어준선
홍재우
김정소
배서현
Original Assignee
주식회사 코인플러그
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코인플러그 filed Critical 주식회사 코인플러그
Publication of KR20210112264A publication Critical patent/KR20210112264A/ko
Application granted granted Critical
Publication of KR102468511B1 publication Critical patent/KR102468511B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [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/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/08Payment architectures
    • G06Q20/16Payments settled via telecommunication systems
    • 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
    • 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/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/42Confirmation, e.g. check or permission by the legal debtor of payment

Abstract

본 발명은 블록체인 네트워크의 탈중앙화 아이디(DID: decentralized identifier) 기반의 비접촉식 카드 지급결제 방법에 있어서, (a) 사용자에게 서비스를 제공한 서비스 서버로부터 지불 정보가 획득되면, 사용자 모바일 단말이, 상기 사용자에게 지급결제를 위한 사용자 비접촉식 카드의 태깅을 요청하고, 상기 사용자 비접촉식 카드가 태깅되면, 상기 사용자 비접촉식 카드와의 무선 통신을 통해 상기 사용자 비접촉식 카드의 카드 식별 정보와 암호화 카드 정보를 획득하며, 상기 카드 식별 정보와 사용자 DID를 결제대행(VAN: value added network) 서버로 전송하여 상기 결제대행 서버로 하여금 서명확인값을 생성하고 상기 서명확인값을 포함하는 카드 정보 요청 정보를 상기 사용자 모바일 단말로 전송하도록 하는 단계; 및 (b) 상기 사용자 모바일 단말이, 상기 서명확인값, 상기 카드 식별 정보, 및 상기 암호화 카드 정보를 이용하여 암호화 카드 정보 VC(verifiable credential)를 생성하며, 상기 사용자 DID, 상기 암호화 카드 정보 VC, 및 상기 암호화 카드 정보 VC를 사용자 프라이빗키로 서명한 사용자 서명값을 상기 결제 대행 서버로 전송함으로써 상기 결제대행 서버로 하여금 (i) 상기 사용자 DID를 이용하여 블록체인 네트워크로부터 사용자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값 및 상기 암호화 카드 정보 VC를 검증하도록 하며, (ii) 상기 암호화 카드 정보 VC로부터 획득한 암호화 카드 정보를 이용하여 복호화 카드 정보를 획득하도록 하고, 상기 복호화 카드 정보를 이용하여 복호화 카드 정보 VC를 생성하도록 하며, 결제대행 서버 DID, 상기 복호화 카드 정보 VC, 및 상기 복호화 카드 정보 VC를 결제대행 서버 프라이빗키로 서명한 결제대행 서버 서명값을 카드사 서버로 전송하도록 하여, 상기 카드사 서버가 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 결제대행 서버 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제대행 서버 퍼블릭키를 획득하도록 하며, 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하고 상기 복호화 카드 정보 VC로부터 획득한 상기 복호화 카드 정보를 이용하여 상기 지급결제에 대하여 승인하도록 하는 단계; 를 포함하는 방법에 관한 것이다.

Description

블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제 방법 및 이를 이용한 모바일 단말 {METHOD FOR PAYING WITH CONTACTLESS PAYMENT CARD BASED ON DECENTRALIZED IDENTIFIER OF BLOCKCHAIN NETWORK, AND MOBILE DEVICE USING THEM}
본 발명은 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 지불 방법 및 이를 이용한 모바일 단말에 관한 것이다.
지급결제(payment)란 실물 및 금융거래 등 각종 경제활동에 따라 발생하는 거래 당사자간의 채권/채무 관계를 화폐적 가치의 이전을 통하여 청산하는 행위를 말하는 것으로서, 지급결제 서비스는 경제주체 및 금융기관간에 자금과 화폐의 이동을 제공하는 서비스이다.
현재 지급결제를 위한 수단으로 신용카드나 체크카드를 많이 사용하고 있다.
이러한 신용카드나 체크카드는 마그네틱 방식인 MSR(Magnetic Stripe reader) 방식과 EMV 프로토콜 방식의 IC 카드를 지원하며, 카드 리더기가 카드와의 물리적 접촉에 의해 카드에 내장되어 있는 카드 정보를 수신하여 VAN(Value Added Network) 망을 통해 신용 카드사로 전달함으로써 지급결제가 이루어지게 된다.
한편, 최근에는 카드 리더기와의 물리적 접촉이 없이 지급결제를 수행할 수 있도록 한 비접촉식 카드가 이용되고 있으며, 무선(NFC)에 의한 카드 리더기와의 태깅만으로 간편하게 지급결제가 이루어질 수 있다.
그러나, 이러한 비접촉식 카드는 van사나 카드사에 의해 인증된 카드 리더기를 이용하여서만 지급결제가 이루어지는 단점이 있다.
또한, 비접촉식 카드는 태깅만으로 지급결제가 이루어지므로 부정 사용을 체크하지 못하는 단점이 있다.
또한, 비접촉식 카드에 의한 지급결제 과정에서 카드 정보가 노출되는 위험성이 있다.
본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 비접촉식 카드의 사용에 대한 사용자 인증을 수행할 수 있도록 하는 것을 다른 목적으로 한다.
또한, 본 발명은 비접촉식 카드의 부정 사용을 방지할 수 있도록 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 블록체인 네트워크의 탈중앙화 아이디를 이용하여 비접촉식 카드의 사용을 인증할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 실시예에 따르면, 블록체인 네트워크의 탈중앙화 아이디(DID: decentralized identifier) 기반의 비접촉식 카드 지급결제 방법에 있어서, (a) 사용자에게 서비스를 제공한 서비스 서버로부터 지불 정보가 획득되면, 사용자 모바일 단말이, 상기 사용자에게 지급결제를 위한 사용자 비접촉식 카드의 태깅을 요청하고, 상기 사용자 비접촉식 카드가 태깅되면, 상기 사용자 비접촉식 카드와의 무선 통신을 통해 상기 사용자 비접촉식 카드의 카드 식별 정보와 암호화 카드 정보를 획득하며, 상기 카드 식별 정보와 사용자 DID를 결제대행(VAN: value added network) 서버로 전송하여 상기 결제대행 서버로 하여금 서명확인값을 생성하고 상기 서명확인값을 포함하는 카드 정보 요청 정보를 상기 사용자 모바일 단말로 전송하도록 하는 단계; 및 (b) 상기 사용자 모바일 단말이, 상기 서명확인값, 상기 카드 식별 정보, 및 상기 암호화 카드 정보를 이용하여 암호화 카드 정보 VC(verifiable credential)를 생성하며, 상기 사용자 DID, 상기 암호화 카드 정보 VC, 및 상기 암호화 카드 정보 VC를 사용자 프라이빗키로 서명한 사용자 서명값을 상기 결제 대행 서버로 전송함으로써 상기 결제대행 서버로 하여금 (i) 상기 사용자 DID를 이용하여 블록체인 네트워크로부터 사용자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값 및 상기 암호화 카드 정보 VC를 검증하도록 하며, (ii) 상기 암호화 카드 정보 VC로부터 획득한 암호화 카드 정보를 이용하여 복호화 카드 정보를 획득하도록 하고, 상기 복호화 카드 정보를 이용하여 복호화 카드 정보 VC를 생성하도록 하며, 결제대행 서버 DID, 상기 복호화 카드 정보 VC, 및 상기 복호화 카드 정보 VC를 결제대행 서버 프라이빗키로 서명한 결제대행 서버 서명값을 카드사 서버로 전송하도록 하여, 상기 카드사 서버가 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 결제대행 서버 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제대행 서버 퍼블릭키를 획득하도록 하며, 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하고 상기 복호화 카드 정보 VC로부터 획득한 상기 복호화 카드 정보를 이용하여 상기 지급결제에 대하여 승인하도록 하는 단계; 를 포함하는 방법이 제공된다.
상기에서, 상기 (a) 단계 이전에, (a01) 상기 사용자 DID와 상기 사용자 퍼블릭키가 상기 블록체인 네워크에 등록된 상태에서, 상기 사용자 모바일 단말이, 상기 카드사 서버로 사용자 VC와 상기 사용자 DID를 포함하는 사용자 DID 등록 요청 정보를 전송하여 상기 카드사 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하거나 상기 리졸버 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 VC를 검증하도록 하며, 상기 사용자 VC의 검증에 대응하여 상기 사용자 DID를 등록하도록 하는 단계; (a02) 상기 사용자 모바일 단말이, 상기 사용자 비접촉식 카드로부터 상기 카드 식별 정보와 상기 암호화 카드 정보를 획득하며, 상기 사용자 DID, 상기 카드 식별 정보를 이용하여 생성한 카드 등록 VC, 및 상기 카드 등록 VC를 상기 사용자 프라이빗키로 서명한 사용자 서명값을 포함하는 카드 등록 요청 정보를 상기 카드사 서버로 전송하여 상기 카드사 서버로 하여금 상기 사용자 퍼블릭키를 이용하여 상기 카드 등록 VC를 검증하도록 하고, 카드사 서버 DID, 서명확인값와 상기 카드 식별 정보를 포함하는 카드 정보 요청 VC, 및 상기 카드 정보 요청 VC를 카드사 서버 프라이빗키로 서명한 카드사 서버 서명값을 상기 사용자 모바일 단말로 전송하도록 하는 단계; 및 (a03) 상기 카드사 서버 서명값 검증 이후, 상기 사용자 모바일 단말이, 상기 카드 식별 정보, 상기 서명확인값, 및 상기 암호화 카드 정보를 이용하여 카드 정보 VC를 생성하며, 상기 사용자 DID, 상기 카드 정보 VC, 및 상기 카드 정보 VC를 상기 사용자 프라이빗키로 서명한 사용자 서명값을 상기 카드사 서버로 전송하여 상기 카드사 서버로 하여금 상기 사용자 퍼블릭키를 이용하여 상기 카드 정보 VC를 검증한 다음 상기 카드 식별 정보를 상기 사용자 DID에 매칭하여 저장하도록 하는 단계; 를 더 포함하는 방법이 제공된다.
상기에서, 상기 (a03) 단계에서, 상기 사용자 모바일 단말은, 상기 카드사 서버 DID를 이용하여 상기 블록체인 네트워크로부터 카드사 서버 퍼블릭키를 획득하거나 상기 리졸버 서버를 통해 상기 카드사 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 카드사 서버 퍼블릭키를 획득하도록 하며, 상기 카드사 서버 퍼블릭키를 이용하여 상기 카드사 서버 서명값을 검증하는 방법이 제공된다.
상기에서, (c) 상기 사용자 모바일 단말이, 상기 결제대행 서버로부터 상기 카드사 서버의 승인 정보가 획득되면, 상기 승인 정보를 상기 서비스 서버로 전송하여 상기 서비스 서버로 하여금 상기 지급결제에 대한 결제를 완료하도록 하는 단계; 를 더 포함하는 방법이 제공된다.
상기에서, 상기 암호화 카드 정보는 카드 번호를 암호화한 제1 블록 데이터와 카드 유효 기간을 암호화한 제2 블록 데이터를 포함하며, 상기 (a) 단계에서, 상기 사용자 모바일 단말은, 상기 모바일 단말에 설치된 PSAM(purchase secure application module) 또는 상기 결제대행 서버에 설치된 상기 PSAM으로부터 획득한 제1 인증키를 이용하여 상기 사용자 비접촉식 카드로부터 상기 제1 블록 데이터를 획득하고, 상기 모바일 단말에 설치된 PSAM 또는 상기 결제대행 서버에 설치된 상기 PSAM으로부터 획득한 제2 인증키를 이용하여 상기 사용자 비접촉식 카드로부터 상기 제2 블록 데이터를 획득하며, 상기 (b) 단계에서, 상기 사용자 모바일 단말은, 상기 결제대행 서버로 하여금 상기 결제대행 서버에 설치된 SSAM(system services provider SAM)을 이용하여 상기 제1 블록 데이터와 상기 제2 블록 데이터를 복호화하는 방법이 제공된다.
상기에서, 상기 (b) 단계에서, 상기 사용자 모바일 단말이, 상기 결제대행 서버로 하여금, 상기 카드사 서버가 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값을 복호화한 복호화 정보와 상기 복호화 카드 정보 VC를 비교하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하도록 하는 방법이 제공된다.
상기에서, 상기 (b) 단계에서, 상기 복호화 카드 정보 VC는 상기 사용자 서명값을 더 포함하며, 상기 사용자 모바일 단말이, 상기 결제대행 서버로 하여금, 상기 카드 서버가 상기 복호화 카드 정보 VC에 포함된 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하며, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 검증하도록 하는 방법이 제공된다.
상기에서, 상기 사용자 모바일 단말이, 상기 결제대행 서버로 하여금 상기 카드사 서버가 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 복호화한 정보와, 상기 복호화 카드 정보를 암호화한 정보를 비교하여 상기 사용자 서명값을 검증하도록 하는 방법이 제공된다.
본 발명의 다른 일 실시예에 따르면, 블록체인 네트워크의 탈중앙화 아이디(DID: decentralized identifier) 기반의 비접촉식 카드 지급결제 방법에 있어서, (a) 사용자에게 서비스를 제공한 서비스 서버에 대응되는 결제 대행자의 결제자 모바일 단말이, 상기 서비스 서버로 상기 사용자에게 제공한 서비스에 대한 지불 정보를 요청하며, 상기 서비스 서버로부터 상기 지불 정보가 획득되면, 상기 지불 정보를 상기 사용자에게 제공하며 상기 사용자에게 지급결제를 위한 사용자 비접촉식 카드의 태깅을 요청하고, 상기 사용자 비접촉식 카드가 태깅되면, 상기 사용자 비접촉식 카드와의 무선 통신을 통해 상기 사용자 비접촉식 카드의 카드 식별 정보와 암호화 카드 정보를 획득하며, 상기 카드 식별 정보와 결제자 DID를 결제대행(VAN: value added network) 서버로 전송하여 상기 결제대행 서버로 하여금 서명확인값을 생성하고 상기 서명확인값을 포함하는 카드 정보 요청 정보를 상기 결제자 모바일 단말로 전송하도록 하는 단계; 및 (b) 상기 결제자 모바일 단말이, 상기 서명확인값, 상기 카드 식별 정보, 및 상기 암호화 카드 정보를 이용하여 암호화 카드 정보 VC(verifiable credential)을 생성하며, 상기 결제자 DID, 상기 암호화 카드 정보 VC, 및 상기 암호화 카드 정보 VC를 결제자 프라이빗키로 서명한 결제자 서명값을 상기 결제대행 서버로 전송함으로써 상기 결제대행 서버로 하여금 (i) 상기 결제자 DID를 이용하여 블록체인 네트워크로부터 결제자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하도록 하고, 상기 결제자 퍼블릭키를 이용하여 상기 결제자 서명값 및 상기 암호화 카드 정보 VC를 검증하도록 하며, (ii) 상기 암호화 카드 정보 VC로부터 획득한 암호화 카드 정보를 이용하여 복호화 카드 정보를 획득하도록 하고, 상기 복호화 카드 정보를 이용하여 복호화 카드 정보 VC를 생성하도록 하며, 결제대행 서버 DID, 상기 복호화 카드 정보 VC, 및 상기 복호화 카드 정보 VC를 결제대행 서버 프라이빗키로 서명한 결제대행 서버 서명값을 카드사 서버로 전송하도록 하여, 상기 카드사 서버가 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 결제대행 서버 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제대행 서버 퍼블릭키를 획득하도록 하며, 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하고 상기 복호화 카드 정보 VC로부터 획득한 상기 복호화 카드 정보를 이용하여 상기 지급결제에 대하여 승인하도록 하는 단계; 를 포함하는 방법이 제공된다.
상기에서, 상기 (b) 단계에서, 상기 복호화 카드 정보 VC는 상기 결제자 서명값을 더 포함하며, 상기 사용자 모바일 단말이, 상기 결제대행 서버로 하여금, 상기 카드 서버가 상기 복호화 카드 정보 VC에 포함된 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하도록 하며, 상기 결제자 퍼블릭키를 이용하여 상기 결제자 서명값을 검증하도록 하는 방법이 제공된다.
본 발명의 또 다른 일 실시예에 따르면, 블록체인 네트워크의 탈중앙화 아이디(DID: decentralized identifier) 기반의 비접촉식 카드 지급결제를 수행하는 사용자 모바일 단말에 있어서, 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제를 수행하기 위한 인스트럭션들이 저장된 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제를 수행하는 프로세서; 를 포함하며, 상기 프로세서는, (I) 사용자에게 서비스를 제공한 서비스 서버로부터 지불 정보가 획득되면, 상기 사용자에게 지급결제를 위한 사용자 비접촉식 카드의 태깅을 요청하고, 상기 사용자 비접촉식 카드가 태깅되면, 상기 사용자 비접촉식 카드와의 무선 통신을 통해 상기 사용자 비접촉식 카드의 카드 식별 정보와 암호화 카드 정보를 획득하며, 상기 카드 식별 정보와 사용자 DID를 결제대행(VAN: value added network) 서버로 전송하여 상기 결제대행 서버로 하여금 서명확인값을 생성하고 상기 서명확인값을 포함하는 카드 정보 요청 정보를 상기 사용자 모바일 단말로 전송하도록 하는 프로세스, 및 (II) 상기 서명확인값, 상기 카드 식별 정보, 및 상기 암호화 카드 정보를 이용하여 암호화 카드 정보 VC(verifiable credential)를 생성하며, 상기 사용자 DID, 상기 암호화 카드 정보 VC, 및 상기 암호화 카드 정보 VC를 사용자 프라이빗키로 서명한 사용자 서명값을 상기 결제 대행 서버로 전송함으로써 상기 결제대행 서버로 하여금 (i) 상기 사용자 DID를 이용하여 블록체인 네트워크로부터 사용자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값 및 상기 암호화 카드 정보 VC를 검증하도록 하며, (ii) 상기 암호화 카드 정보 VC로부터 획득한 암호화 카드 정보를 이용하여 복호화 카드 정보를 획득하도록 하고, 상기 복호화 카드 정보를 이용하여 복호화 카드 정보 VC를 생성하도록 하며, 결제대행 서버 DID, 상기 복호화 카드 정보 VC, 및 상기 복호화 카드 정보 VC를 결제대행 서버 프라이빗키로 서명한 결제대행 서버 서명값을 카드사 서버로 전송하도록 하여, 상기 카드사 서버가 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 결제대행 서버 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제대행 서버 퍼블릭키를 획득하도록 하며, 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하고 상기 복호화 카드 정보 VC로부터 획득한 상기 복호화 카드 정보를 이용하여 상기 지급결제에 대하여 승인하도록 하는 프로세스를 수행하는 사용자 모바일 단말이 제공된다.
상기에서, 상기 프로세서는, 상기 (I) 프로세스 이전에, (I-1) 상기 사용자 DID와 상기 사용자 퍼블릭키가 상기 블록체인 네워크에 등록된 상태에서, 상기 카드사 서버로 사용자 VC와 상기 사용자 DID를 포함하는 사용자 DID 등록 요청 정보를 전송하여 상기 카드사 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하거나 상기 리졸버 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 VC를 검증하도록 하며, 상기 사용자 VC의 검증에 대응하여 상기 사용자 DID를 등록하도록 하는 프로세스, (I-2) 상기 사용자 비접촉식 카드로부터 상기 카드 식별 정보와 상기 암호화 카드 정보를 획득하며, 상기 사용자 DID, 상기 카드 식별 정보를 이용하여 생성한 카드 등록 VC, 및 상기 카드 등록 VC를 상기 사용자 프라이빗키로 서명한 사용자 서명값을 포함하는 카드 등록 요청 정보를 상기 카드사 서버로 전송하여 상기 카드사 서버로 하여금 상기 사용자 퍼블릭키를 이용하여 상기 카드 등록 VC를 검증하도록 하고, 카드사 서버 DID, 서명확인값와 상기 카드 식별 정보를 포함하는 카드 정보 요청 VC, 및 상기 카드 정보 요청 VC를 카드사 서버 프라이빗키로 서명한 카드사 서버 서명값을 상기 사용자 모바일 단말로 전송하도록 하는 프로세스, 및 (I-3) 상기 카드사 서버 서명값 검증 이후, 상기 카드 식별 정보, 상기 서명확인값, 및 상기 암호화 카드 정보를 이용하여 카드 정보 VC를 생성하며, 상기 사용자 DID, 상기 카드 정보 VC, 및 상기 카드 정보 VC를 상기 사용자 프라이빗키로 서명한 사용자 서명값을 상기 카드사 서버로 전송하여 상기 카드사 서버로 하여금 상기 사용자 퍼블릭키를 이용하여 상기 카드 정보 VC를 검증한 다음 상기 카드 식별 정보를 상기 사용자 DID에 매칭하여 저장하도록 하는 프로세스를 더 수행하는 사용자 모바일 단말이 제공된다.
상기에서, 상기 프로세서는, 상기 (I-3) 프로세스에서, 상기 카드사 서버 DID를 이용하여 상기 블록체인 네트워크로부터 카드사 서버 퍼블릭키를 획득하거나 상기 리졸버 서버를 통해 상기 카드사 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 카드사 서버 퍼블릭키를 획득하도록 하며, 상기 카드사 서버 퍼블릭키를 이용하여 상기 카드사 서버 서명값을 검증하는 사용자 모바일 단말이 제공된다.
상기에서, 상기 프로세서는, (III) 상기 결제대행 서버로부터 상기 카드사 서버의 승인 정보가 획득되면, 상기 승인 정보를 상기 서비스 서버로 전송하여 상기 서비스 서버로 하여금 상기 지급결제에 대한 결제를 완료하도록 하는 프로세스를 더 수행하는 사용자 모바일 단말이 제공된다.
상기에서, 상기 암호화 카드 정보는 카드 번호를 암호화한 제1 블록 데이터와 카드 유효 기간을 암호화한 제2 블록 데이터를 포함하며, 상기 프로세서는, 상기 (I) 프로세스에서, 상기 모바일 단말에 설치된 PSAM(purchase secure application module) 또는 상기 결제대행 서버에 설치된 상기 PSAM으로부터 획득한 제1 인증키를 이용하여 상기 사용자 비접촉식 카드로부터 상기 제1 블록 데이터를 획득하고, 상기 모바일 단말에 설치된 PSAM 또는 상기 결제대행 서버에 설치된 상기 PSAM으로부터 획득한 제2 인증키를 이용하여 상기 사용자 비접촉식 카드로부터 상기 제2 블록 데이터를 획득하며, 상기 (II) 프로세스에서, 상기 결제대행 서버로 하여금 상기 결제대행 서버에 설치된 SSAM(system services provider SAM)을 이용하여 상기 제1 블록 데이터와 상기 제2 블록 데이터를 복호화하는 사용자 모바일 단말이 제공된다.
상기에서, 상기 프로세서는, 상기 (II) 프로세스에서, 상기 결제대행 서버로 하여금, 상기 카드사 서버가 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값을 복호화한 복호화 정보와 상기 복호화 카드 정보 VC를 비교하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하도록 하는 사용자 모바일 단말이 제공된다.
상기에서, 상기 복호화 카드 정보 VC는 상기 사용자 서명값을 더 포함하며, 상기 프로세서는, 상기 (II) 프로세스에서, 상기 결제대행 서버로 하여금, 상기 카드 서버가 상기 복호화 카드 정보 VC에 포함된 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하며, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 검증하도록 하는 사용자 모바일 단말이 제공된다.
상기에서, 상기 프로세서는, 상기 결제대행 서버로 하여금 상기 카드사 서버가 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 복호화한 정보와, 상기 복호화 카드 정보를 암호화한 정보를 비교하여 상기 사용자 서명값을 검증하도록 하는 사용자 모바일 단말이 제공된다.
본 발명의 또 다른 일 실시예에 따르면, 블록체인 네트워크의 탈중앙화 아이디(DID: decentralized identifier) 기반의 비접촉식 카드 지급결제를 수행하는 결제자 모바일 단말에 있어서, 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제를 수행하기 위한 인스트럭션들이 저장된 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제를 수행하는 프로세서; 를 포함하며, 상기 프로세서는, (I) 상기 서비스 서버로 상기 사용자에게 제공한 서비스에 대한 지불 정보를 요청하며, 상기 서비스 서버로부터 상기 지불 정보가 획득되면, 상기 지불 정보를 상기 사용자에게 제공하며 상기 사용자에게 지급결제를 위한 사용자 비접촉식 카드의 태깅을 요청하고, 상기 사용자 비접촉식 카드가 태깅되면, 상기 사용자 비접촉식 카드와의 무선 통신을 통해 상기 사용자 비접촉식 카드의 카드 식별 정보와 암호화 카드 정보를 획득하며, 상기 카드 식별 정보와 결제자 DID를 결제대행(VAN: value added network) 서버로 전송하여 상기 결제대행 서버로 하여금 서명확인값을 생성하고 상기 서명확인값을 포함하는 카드 정보 요청 정보를 상기 결제자 모바일 단말로 전송하도록 하는 프로세스, 및 (II) 상기 서명확인값, 상기 카드 식별 정보, 및 상기 암호화 카드 정보를 이용하여 암호화 카드 정보 VC(verifiable credential)을 생성하며, 상기 결제자 DID, 상기 암호화 카드 정보 VC, 및 상기 암호화 카드 정보 VC를 결제자 프라이빗키로 서명한 결제자 서명값을 상기 결제대행 서버로 전송함으로써 상기 결제대행 서버로 하여금 (i) 상기 결제자 DID를 이용하여 블록체인 네트워크로부터 결제자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하도록 하고, 상기 결제자 퍼블릭키를 이용하여 상기 결제자 서명값 및 상기 암호화 카드 정보 VC를 검증하도록 하며, (ii) 상기 암호화 카드 정보 VC로부터 획득한 암호화 카드 정보를 이용하여 복호화 카드 정보를 획득하도록 하고, 상기 복호화 카드 정보를 이용하여 복호화 카드 정보 VC를 생성하도록 하며, 결제대행 서버 DID, 상기 복호화 카드 정보 VC, 및 상기 복호화 카드 정보 VC를 결제대행 서버 프라이빗키로 서명한 결제대행 서버 서명값을 카드사 서버로 전송하도록 하여, 상기 카드사 서버가 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 결제대행 서버 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제대행 서버 퍼블릭키를 획득하도록 하며, 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하고 상기 복호화 카드 정보 VC로부터 획득한 상기 복호화 카드 정보를 이용하여 상기 지급결제에 대하여 승인하도록 하는 프로세스를 수행하는 결제자 모바일 단말이 제공된다.
상기에서, 상기 복호화 카드 정보 VC는 상기 결제자 서명값을 더 포함하며, 상기 프로세서는, 상기 (II) 프로세스에서, 상기 결제대행 서버로 하여금, 상기 카드 서버가 상기 복호화 카드 정보 VC에 포함된 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하도록 하며, 상기 결제자 퍼블릭키를 이용하여 상기 결제자 서명값을 검증하도록 하는 결제자 모바일 단말이 제공된다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 다음과 같은 효과가 있다.
본 발명은 비접촉식 카드의 사용에 대한 사용자 인증을 수행할 수 있게 된다.
본 발명은 비접촉식 카드의 부정 사용을 방지할 수 있게 된다.
본 발명은 블록체인 네트워크의 탈중앙화 아이디를 이용하여 비접촉식 카드의 사용을 인증할 수 있게 된다.
본 발명은 블록체인 네트워크의 탈중앙화 아이디를 이용하여 비접촉식 카드에 의한 지급결제 과정에서 카드 정보가 전송되는 것을 방지할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드의 지불결제를 수행하는 시스템을 개략적으로 도시한 것이며,
도 2는 본 발명의 일 실시예에 따른 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제 방법에서 비접촉식 카드를 등록하는 과정을 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따른 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제 방법을 개략적으로 도시한 것이고,
도 4는 본 발명의 다른 실시예에 따른 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제 방법을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크의 탈중앙화 아이디(decentralized identifier, DID) 기반의 비접촉식 카드의 지불결제를 수행하는 시스템을 개략적으로 도시한 것으로, 도 1을 참조하면, 시스템은 모바일 단말(100), VAN 서버(200), 카드사 서버(300), 및 블록체인 네트워크(400)를 포함할 수 있다.
먼저, 모바일 단말(100)은 지급결제 앱을 통해 비접촉식 카드의 지급결제를 위한 비접촉식 카드의 정보를 수신하며, 수신된 정보를 DID을 이용하여 전송하여 주는 것으로, 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿 등을 포함할 수 있다. 그리고, 모바일 단말(100)은 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라 개인 내비게이션 등의 모든 모바일 디바이스를 포함할 수 있다. 또한, 모바일 단말(100)은 블록체인 네트워크의 DID 기반으로 비접촉식 카드의 지불결제를 위한 인스트럭션들이 저장된 메모리와 메모리에 저장된 인스트럭션들에 따라 비접촉식 카드의 지급결제를 수행하는 프로세스를 포함할 수 있다. 이때, 모바일 단말(100)은 지급결제를 수행하기 위한 사용자에 대응되는 사용자 모바일 단말 또는 사용자에게 서비스를 제공한 서비스 주체에 대응되는 결제자의 결제자 모바일 단말일 수 있다.
구체적으로, 모바일 단말(100)은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세스, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
다음으로, VAN 서버(200), 즉, 결제대행 서버는 비접촉식 카드 사용에 대한 승인과 관련된 기능을 DID를 이용하여 수행하는 것으로, 지급결제와 관련한 인스트럭션들이 저장된 메모리와 메모리에 저장된 인스트럭션들에 따라 지급결제와 관련한 동작을 수행하도록 하는 프로세스를 포함할 수 있다.
구체적으로, VAN 서버(200)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
다음으로, 카드사 서버(300)는 비접촉식 카드에 대한 승인을 DID를 이용하여 수행하는 것으로, 지급결제에 대한 승인과 관련한 인스트럭션들이 저장된 메모리와 메모리에 저장된 인스트럭션들에 따라 지급결제와 관련한 승인 동작을 수행하도록 하는 프로세스를 포함할 수 있다.
구체적으로, 카드사 서버(300)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
다음으로, 블록체인 네트워크(400)는 다수의 블록체인 노드들로 구성되어 DID 서비스를 제공하는 것으로, 각각의 블록체인 노드들은 DID 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리와 메모리에 저장된 인스트럭션들에 따라 DID 서비스를 제공하기 위한 동작을 수행하는 프로세스를 포함할 수 있다.
구체적으로, 블록체인 네트워크의 각각의 블록체인 노드들은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세스, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
이와 같이 구성된 본 발명의 일 실시예에 따른 블록체인 네트워크의 DID 기반의 비접촉식 카드 지급결제를 수행하기 위한 사용자를 등록하는 과정을 도 2를 참조하여 설명하면 다음과 같다.
먼저, 사용자가 모바일 단말(100)에 지급결제 앱을 설치하면, 지급 결제 앱이 사용자 인증(S1)을 수행한다. 이때, 사용자 인증은 휴대전화 본인확인 서비스, 이메일 본인확인 서비스 등 다양한 방법에 의해 수행될 수 있으며, 사용자 정보에 대한 사용자 인증을 통해 사용자를 특정할 수 있는 사용자 정보를 획득할 수 있게 된다.
이후, 모바일 단말(100)은 지급결제 앱을 통해 블록체인 네트워크(400)로 사용자 DID 생성을 요청(S2)한다.
그러면, 블록체인 네트워크(400)는 사용자 DID를 생성하여 분산원장에 등록하며, 사용자 DID와 사용자 DID에 연계된 사용자 퍼블릭키를 모바일 단말(100)로 전송(S3)하여 준다.
이때, 사용자 퍼블릭키는 DID 서비스를 제공하는 블록체인 네트워크(400)에서 생성하여 모바일 단말(100)로 전송하여 주었으나, 이와는 달리, 모바일 단말(100)에서 사용자 프라이빗키와 퍼블릭키를 생성하며, 사용자 DID를 이용하여 사용자 퍼블릭키를 블록체인 네트워크(400)에 등록하여줄 수도 있다. 또한, 모바일 단말(100)은 사용자 DID를 이용하여 사용자 인증을 위한 다양한 사용자 VC(verifiable credential)를 생성하여 모바일 단말(100)에 저장할 수 있다.
한편, 상기에서는, 모바일 단말(100)을 통한 사용자 DID의 생성에 대하여 설명하였으나, 이에 더하여, 사용자에게 서비스를 제공하는 서비스 서버, 카드사 서버, 서비스 서버에 대응되는 결제자 모바일 단말에 대해서는 동일한 방법으로 각각의 DID를 생성하여 줄 수 있다. 그리고, 모바일 단말(100)은 카드사 서버(300)로 사용자 DID의 등록을 요청(S4)한다.
이때, 모바일 단말(100)은 지급결제 앱을 통해 사용자 인증을 위한 사용자 정보를 이용하여 사용자 VC(verifiable credential)을 생성하고, 사용자 DID와 사용자 VC를 포함하는 사용자 DID 요청 정보를 카드사 서버(300)로 전송하여 줄 수 있다. 그리고, 사용자 DID 요청 정보는 사용자 VC를 사용자 프라이빗키로 서명한 사용자 서명값을 더 포함할 수 있다. 또한, 사용자 VC는 사용자 DID, 사용자 VC, 및 사용자 서명값 이외에도 사용자 DID와 관련한 다양한 정보를 포함할 수 있다.
이후, 사용자 DID 등록 요청을 수신한 카드사 서버(300)는 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 퍼블릭키를 획득(S5, S6)하거나 리졸버 서버를 통해 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 퍼블릭키를 획득하도록 한다.
그리고, 카드사 서버(300)는 블록체인 네트워크(400)으로부터 획득한 사용자 퍼블릭키를 이용하여 사용자 VC를 검증(S7)하고, 사용자 VC가 검증되면, 사용자 DID, 사용자 퍼블릭키, 및 사용자 정보를 데이터베이스에 등록하고, 모바일 단말(100)로 사용자 DID 등록 결과를 전송(S8)하여 준다.
이때, 사용자 VC 검증은, 사용자 퍼블릭키를 이용하여 사용자 서명을 복호화하고, 복호화된 정보가 사용자 VC에 포함된 정보와 일치하는지를 확인함으로써 수행할 수 있다.
상기와 같은 방법에 의해 사용자 DID가 카드 서버(300)에 등록이 되면 다음과 같은 방법에 의해 비접촉식 카드를 등록한다.
즉, 모바일 단말(100)은 지급결제 앱을 통해 사용자에게 비접촉식 카드의 물리적 태깅을 요청(S9)하여, 사용자가 등록하고자 하는 비접촉식 카드(10)를 모바일 단말(100)에 태깅하면, 모바일 단말(100)의 지급결제 앱은 비접촉식 카드(10)로부터 카드 정보, 일 예로, 카드 식별 정보와 암호화 카드 정보를 획득(S10)한다.
일 예로, 모바일 단말(100)로부터의 태깅 요청에 대응하여 사용자가 비접촉식 카드(10)를 모바일 단말(100)에 태깅하면, 비접촉식 카드(10)는 무선 통신, 일 예로, NFC(near field communication)를 통해 카드 식별 정보를 모바일 단말(100)로 전송하여 주며, 모바일 단말(100)의 지급결제 앱은 비접촉식 카드에 저장된 카드 정보 중 제1 블록 데이터를 읽기 위한 제1 인증키를 카드사 서버(300)에 저장된 PSAM(purchase secure application module) 또는 모바일 단말(100)의 SE(secure element)에 저장된 PSAM으로부터 획득한후, 이를 NFC 방식으로 비접촉식 카드(10)에 전달하여 비접촉식 카드(10)로부터 제1 블록 데이터를 획득한다. 그리고, 모바일 단말(100)의 지급결제 앱은 카드에 저장된 카드 정보 중 제2 블록 데이터를 읽기 위한 제2 인증키를 카드사 서버(300)의 PSAM 또는 모바일 단말(100)의 PSAM으로부터 획득한후, 이를 NFC 방식으로 비접촉식 카드(10)에 전달하여 비접촉식 카드(10)로부터 제2 블록 데이터를 획득한다. 이때, 제1 블록 데이터와 제2 블록 데이터는 카드 정보 중 카드 번호와 유효 기간을 각각 암호화하여 저장한 정보일 수 있다.
다음으로, 모바일 단말(100)의 지급결제 앱은 카드사 서버(300)로 카드 등록을 요청(S11)한다.
이때, 모바일 단말(100)은 사용자 DID, 카드 식별 정보를 이용하여 생성한 카드 등록 VC, 및 카드 등록 VC를 사용자 프라이빗키로 서명한 사용자 서명값을 포함하는 카드 등록 요청 정보를 카드사 서버(300)로 전송하여 줄 수 있다. 또한, 모바일 단말(100)은 카드 등록 VC를 이용하여 사용자 서명값을 생성하는 것과는 달리, 카드 등록 VC의 해시값을 사용자 프라이빗키로 서명하여 사용자 서명값을 생성할 수도 있다.
그러면, 카드사 서버(300)는 카드 등록 VC를 검증(S12)한다.
이때, 카드 등록 VC 검증은, 사용자 퍼블릭키를 이용하여 사용자 서명값을 복호화하고, 복호화된 정보가 카드 등록 VC에 포함된 정보와 일치하는지를 확인함으로써 수행할 수 있다. 또한, 사용자 퍼블릭키를 이용하여 사용자 서명값을 복호화하고, 복호화된 정보가 카드 등록 VC의 해시값과 일치하는지를 확인하여 카드 등록 VC를 검증할 수도 있다.
한편, 사용자 퍼블릭키는 카드사 서버(300)가 데이터베이스로부터 사용자 DID를 이용하여 확인할 수 있다. 또한, 카드사 서버(300)는 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 퍼블릭키를 획득하도록 할 수도 있다. 이때, 블록체인 네트워크(400)를 통해 사용자 퍼블릭키를 획득할 경우에는, 프로세스 시간은 더 걸리나 더 안전한 대응을 할 수 있으며, 특히, DID 인증서의 파기 등에 신속하게 대응할 수 있게 된다.
그리고, 카드사 서버(300)는 카드 등록 VC가 검증되면 모바일 단말(100)로 카드 정보를 요청(S13)한다.
일 예로, 카드사 서버(300)는 카드 등록 VC가 검증되면, 논스 등과 같은 서명확인값을 생성하고, 서명확인값, 사용자 DID 및 카드 식별 정보를 저장 장치에 저장할 수 있다. 그리고, 카드사 서버(300)는 카드사 서버 DID, 서명확인값과 카드 식별 정보를 포함하는 카드 정보 요청 VC, 및 카드 정보 요청 VC 또는 이의 해시값을 카드사 서버 프라이빗키로 서명한 카드사 서버 서명값을 모바일 단말(100)로 전송하여 줄 수 있다.
그러면, 카드사 서버(300)로부터 카드 정보 요청 VC를 수신한 모바일 단말(100)은 카드 정보 요청 VC, 즉, 카드사 서버 서명값을 검증할 수 있다.
이때, 모바일 단말(100)은 카드사 서버 퍼블릭키를 이용하여 카드사 서버 서명값을 복호화하고, 복호화된 정보가 카드 정보 요청 VC 또는 이의 해시값과 일치하는지를 확인함으로써 카드 정보 요청 VC를 검증할 수 있다.
한편, 카드사 서버 퍼블릭키는 카드사 서버(300)로부터 획득할 수 있다. 또한, 카드사 서버 DID를 이용하여 블록체인 네트워크(400)으로부터 획득하거나, 리졸버 서버를 통해 카드사 서버 DID를 이용하여 블록체인 네트워크(400)로부터 획득하도록 할 수 있다. 이때, 블록체인 네트워크(400)를 통해 카드사 서버 퍼블릭키를 획득할 경우에는, 프로세스 시간은 더 걸리나 더 안전한 대응을 할 수 있으며, 특히, DID 인증서의 파기 등에 신속하게 대응할 수 있게 된다.
그리고, 모바일 단말(100)는 카드 요청 정보 VC가 검증되면 카드사 서버(300)로 카드 정보 VC를 전송(S14)하여 준다.
일 예로, 모바일 단말(100)은 카드사 VC가 검증되면, 카드 식별 정보, 서명확인값, 및 암호화 카드 정보를 이용하여 카드 정보 VC를 생성할 수 있다. 또한, 모바일 단말(100)은 카드 식별 정보와, 서명확인값과 암호화 카드 정보의 해시값을 이용하여 카드 정보 VC를 생성할 수 있다. 그리고, 모바일 단말(100)은 사용자 DID, 카드 정보 VC, 및 카드 정보 VC 또는 이의 해시값을 사용자 프라이빗키로 서명한 사용자 서명값을 카드사 서버(300)로 전송하여 줄 수 있다. 이때, 암호화된 데이터인 제1 블록 데이터 및 제2 블록 데이터를 해시 연산하여 해시값을 생성함으로써 네트워크에서 암호화된 데이터인 제1 블록 데이터와 제2 블록 데이터를 직접 전송하지 않음으로써 보안성을 향상시킬 수 있으며, 서명확인값과 함께 해시 연산을 함으로써 리플레이 어택을 방지할 수 있게 된다.
다음으로, 카드사 서버(300)는 모바일 단말(100)로부터 전송된 카드 정보 VC를 검증(S15)한다.
이때, 카드사 서버(300)는 사용자 퍼블릭키를 이용하여 사용자 서명을 복호화하고, 복호화된 정보가 카드 정보 VC 또는 이의 해시값과 일치하는지를 확인함으로써 카드 정보 VC를 검증할 수 있다. 또한, 카드사 서버(300)는 서명확인값과 카드 식별정보에 대응하여 저장된 카드 정보를 해시 연산하여 비교 해시값을 생성하며, 생성된 비교 해시값이 카드 정보 VC에 포함된 해시값과 일치하는지를 확인하여 카드 정보 VC를 검증할 수도 있다.
이후, 카드사 서버(300)는 카드 정보 VC가 검증되면, 카드를 등록(S16)하여 주며, 카드 등록 결과를 모바일 단말(100)로 전송(S17)줌으로써 카드 등록을 완료한다.
이때, 카드 등록은, 사용자 DID와 카드 식별 정보 간의 연계정보를 데이터베이스에 저장하여 사용자 DID와 카드를 연계하여 사용할 수 있도록 한다.
이와 같은 방법에 의해 비접촉식 카드가 등록된 상태에서, 비접촉식 카드를 이용하여 지급결제를 수행하는 방법을 도 3을 참조하여 설명하면 다음과 같다. 이하의 설명에서는 도 2를 참조한 설명으로부터 용이하게 이해 가능한 부분에 대해서는 상세한 설명을 생략하기로 한다.
서비스 서버(20)는 사용자에게 제공된 서비스 또는 상품에 대한 지급결제를 위한 지불 정보를 사용자 모바일 단말(100)로 전송(S21)한다.
이때, 서비스 서버(20)는 서비스 제공 앱 또는 서비스 제공 웹에서 URL 스킴, QR 코드 등의 방법을 통해 주문에 대한 지불 정보를 제공할 수 있으며, 지불 정보는 지급결제 앱 호출 정보, 주문 아이디, 주문 정보 등을 포함할 수 있으나, 이에 한정되지 않으며, 사용자의 서비스 이용과 관련한 다양한 정보를 포함할 수 있다.
그러면, 사용자 모바일 단말(100)의 지급결제 앱은 사용자에게 지불 정보를 알려주며, 지불 정보에 대한 지급결제를 위한 사용자 비접촉식 카드(10)의 태깅을 요청한다.
그리고, 사용자가 사용자 비접촉식 카드(10)를 사용자 모바일 단말(100)에 태깅하면, 모바일 단말(100)의 지급결제 앱은 사용자 비접촉식 카드(10)로 무선 통신, 일 예로, NFC를 통해 카드 정보를 요청(S22)하여 사용자 비접촉식 카드(10)로부터 카드 식별 정보와 암호화 카드 정보를 획득(S23)한다.
이때, 사용자 비접촉식 카드(10)는 NFC를 통해 카드 식별 정보를 사용자 모바일 단말(100)로 전송하여 주며, 사용자 모바일 단말(100)의 지급결제 앱은 사용자 비접촉식 카드에 저장된 카드 정보 중 제1 블록 데이터를 읽기 위한 제1 인증키를 VAN 서버(200) 또는 사용자 모바일 단말(100)의 SE로부터 획득한후, 이를 NFC 방식으로 사용자 비접촉식 카드(10)에 전달하여 사용자 비접촉식 카드(10)로부터 제1 블록 데이터를 획득한다. 그리고, 모바일 단말(100)의 지급결제 앱은 사용자 비접촉식 카드에 저장된 카드 정보 중 제2 블록 데이터를 읽기 위한 제2 인증키를 VAN 서버(200) 또는 모바일 단말(100)의 SE로부터 획득한후, 이를 NFC 방식으로 사용자 비접촉식 카드(10)에 전달하여 사용자 비접촉식 카드(10)로부터 제2 블록 데이터를 획득한다. 이때, 제1 블록 데이터와 제2 블록 데이터는 카드 정보 중 카드 번호와 유효 기간을 각각 암호화하여 저장한 정보일 수 있다. 이때, 카드 정보의 블록 데이터를 읽기 위한 제1 인증키 및 제2 인증키는 사용자 모바일 단말(100) 또는 VAN 서버(200)에 설치된 PSAM(purchase secure application module)으로부터 획득할 수 있다.
이후, 사용자 모바일 단말(100)은 결제 요청 정보를 VAN 서버(200)로 전송(S24)하여 준다.
이때, 결제 요청 정보는 사용자 비접촉식 카드(10)의 카드 식별 정보와 사용자 DID를 포함할 수 있다.
또한, 결제 요청 정보는 사용자 인증을 위한 사용자 VC를 포함할 수 있으며, VAN 서버(200)는 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 퍼블릭키를 획득하도록 하며, 사용자 퍼블릭키를 이용하여 사용자 VC를 검증함으로써 사용자를 인증할 수 있다.
이후, VAN 서버(200)는 서명확인값을 생성하고, 서명확인값을 포함하는 카드 정보 요청 정보를 사용자 모바일 단말(100)로 전송(S25)하여 줄 있다. 이때, 서명확인값은 논스, 타임스탬프 등을 포함할 수 있으며, 거래의 중복과 해킹을 방지하기 위해 1회성 암호일 수 있다.
그러면, 사용자 모바일 단말(100)은 서명확인값, 카드 식별 정보, 및 암호화 카드 정보를 이용하여 암호화 카드 정보 VC(verifiable credential)를 생성하며, 사용자 DID, 암호화 카드 정보 VC, 및 암호화 카드 정보 VC 또는 이의 해시값을 사용자 프라이빗키로 서명한 사용자 서명값을 VAN 서버(200)로 전송(S26)하여 줄 수 있다.
그러면, VAN 서버(200)는 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 퍼블릭키를 획득(S27, S28)하거나, 리졸버 서버를 통해 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 퍼블릭키를 획득하도록 하고, 사용자 퍼블릭키를 이용하여 사용자 서명값 및 암호화 카드 정보 VC를 검증(S29)할 수 있다.
이때, VAN 서버(200)는 사용자 퍼블릭키를 이용하여 사용자 서명값을 복호화한 복호화 정보와, 암호화 카드 정보 VC 또는 이의 해시값이 일치하는 지를 확인하여 암호화 카드 정보 VC를 검증할 수 있다.
또한, 암호화 카드 정보 VC 검증은, 사용자 퍼블릭키를 이용하여 사용자 서명값을 복호화한 복호화된 정보가, 암호화된 카드 정보 VC 또는 이의 해시값과 일치하는 지를 확인하며, 복호화된 서명확인값이 사용자 모바일 단말(100)로 전송한 서명확인값과 일치하는 지를 확인하여 수행할 수 있다.
그리고, VAN 서버(200)는 암호화 카드 정보 VC로부터 획득한 암호화 카드 정보를 이용하여 복호화 카드 정보를 획득(S30)할 수 있다.
이때, VAN 서버(200)는 VAN 서버에 설치된 SSAM(system services provider SAM)을 이용하여 제1 블록 데이터와 제2 블록 데이터를 복호화하여 복호화 카드 정보인 카드 번호와 유효 기간을 획득할 수 있다.
이후, VAN 서버(200)는 복호화 카드 정보를 이용하여 복호화 카드 정보 VC를 생성하며, VAN 서버 DID, 복호화 카드 정보 VC, 및 복호화 카드 정보 VC 또는 이의 해시값을 VAN 서버 프라이빗키로 서명한 결제대행 서버 서명값을 카드사 서버(300)로 전송(S31)하여 지급결제에 대한 승인을 요청할 수 있다.
그러면, 카드사 서버(300)는 VAN 서버 DID를 이용하여 블록체인 네트워크(400)로부터 VAN 서버 퍼블릭키를 획득(S32, S33)하거나 리졸버 서버로 하여금 VAN 서버 DID를 이용하여 블록체인 네트워크(400)로부터 VAN 서버 퍼블릭키를 획득하도록 할 수 있다.
이후, 카드사 서버(300)는 VAN 서버 퍼블릭키를 이용하여 VAN 서버 서명값 및 복호화 카드 정보 VC를 검증(S34)하고, 복호화 카드 정보 VC로부터 획득한 복호화 카드 정보를 이용하여 지급결제를 승인할 수 있다.
이때, 카드사 서버(300)는 VAN 서버 퍼블릭키를 이용하여 VAN 서버 서명값을 복호화한 복호화된 정보와, 복호화 카드 정보 VC 또는 이의 해시값을 비교하여 VAN 서버 서명값 및 복호화 카드 정보 VC를 검증할 수 있다. 그리고, 카드사 서버(300)는 복호화 카드 정보가 데이터베이스에 등록된 정보와 일치하는지를 확인하여 복호화 카드 정보를 검증할 수 있다.
한편, 복호화 카드 정보 VC는 사용자 서명값을 더 포함할 수 있다.
이때, 카드 서버(300)는 복호화 카드 정보 VC에 포함된 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 퍼블릭키를 획득하거나 리졸버 서버로 하여금 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 퍼블릭키를 획득하도록 하며, 사용자 퍼블릭키를 이용하여 사용자 서명값을 검증할 수 있다. 즉, 카드사 서버(300)는 사용자 퍼블릭키를 이용하여 사용자 서명값을 복호화한 정보와, 복호화 카드 정보를 암호화한 정보를 비교하여 사용자 서명값을 검증할 수 있다.
이후, 사용자 모바일 단말(100)은, VAN 서버(200)로부터 카드사 서버(300)의 승인 정보가 획득(S35, S36)되면, 승인 정보를 서비스 서버(20)로 전송하여 서비스 서버로 하여금 지급결제에 대한 결제를 완료(S38)하도록 할 수 있다.
일 예로, 카드사 서버(300)는 복호화 카드 정보 VC가 검증되면, 지급결제에 대한 승인 정보를 VAN 서버(200)로 전송(S35)하여 준다.
그러면, VAN 서버(200)는 승인 정보를 사용자 모바일 단말(100)로 전송(S36)하며, 사용자 모바일 단말(100)은 승인 정보를 서비스 서버(20)로 전송(S37)하여 준다.
그리고, 서비스 서버(20)는 수신되는 승인 정보에 대응하여 사용자 비접촉식 카드(10)에 의해 지급결제를 완료하며, 결제 완료 정보를 사용자 모바일 단말(100)로 전송하여 줌으로써 사용자 비접촉식 카드(10)에 의한 지급결제 프로세스를 완료한다.
한편, 도 3에서는 사용자가 자신 모바일 단말을 통해 자신의 비접촉식 카드를 이용하여 지급결제를 수행하는 방법을 설명하였으나, 이와는 달리, 사용자가 제3자의 모바일 단말을 통해 자신의 비접촉식 카드를 이용하여 지급결제를 수행할 수 있으며, 이에 대한 동작 과정을 도 4를 참조하여 설명하면 다음과 같다. 이하의 설명에서는 도 3의 설명으로부터 용이하게 이해 가능한 부분에 대해서는 상세한 설명을 생략하기로 한다.
결제자 모바일 단말(110)은 서비스 서버(20)와 연계된 결제자의 모바일 단말일 수 있으며, 도 2에서와 같은 방법에 의해 결제자 DID가 등록된 상태일 수 있다.
일 예로, 서비스 서버(20)는 온라인 쇼핑몰일 수 있으며, 결제자는 소비자가 구매한 상품을 배송하여 주는 배송자일 수 있다.
그리고, 결제자가 소비자에게 지급결제를 요청하기 위하여 결제자 모바일 단말(110)의 지급결제 앱을 실행하면, 결제자 모바일 단말(110)은 서비스 서버(20)로 지불 정보를 요청(S51)한다.
한편, 이와는 달리, 결제자 모바일 단말(110)의 지급결제 앱이 실행된 상태에서 소비자, 즉 사용자의 의 사용자 비접촉식 카드(10)의 태깅을 요청함으로써 결제자 모바일 단말(110)이 서비스 서버(20)로 지불 정보를 요청하도록 하거나, 결제자 모바일 단말(110)에 구매 서비스 또는 상품 정보를 입력함으로써 서비스 서버(20)로 지불 정보를 요청하도록 할 수 있다.
그러면, 서비스 서버(20)는 지불 정보를 결제자 모바일 단말(110)로 전송(S52)하여 준다.
이때, 지불정보는 소비자가 구매한 구매 아이디, 구매 정보, 결제 금액 등을 포함할 수 있으나, 이에 한정되지 않으며, 소비자의 구매와 관련한 다양한 정보를 포함할 수 있다.
다음으로, 결제자 모바일 단말(110)의 지급결제 앱은 사용자에게 지불 정보를 알려주며, 지불 정보에 대한 지급결제를 위한 사용자 비접촉식 카드(10)의 태깅을 요청한다.
그리고, 사용자가 사용자 비접촉식 카드(10)를 결제자 모바일 단말(110)에 태깅하면, 결제자 모바일 단말(110)의 지급결제 앱은 사용자 비접촉식 카드(10)로 무선 통신, 일 예로, NFC를 통해 카드 정보를 요청(S53)하여 사용자 비접촉식 카드(10)로부터 카드 식별 정보와 암호화 카드 정보를 획득(S54)한다.
이때, 사용자 비접촉식 카드(10)는 NFC를 통해 카드 식별 정보를 결제자 모바일 단말(110)로 전송하여 주며, 결제자 모바일 단말(110)의 지급결제 앱은 사용자 비접촉 카드에 저장된 카드 정보 중 제1 블록 데이터를 읽기 위한 제1 인증키를 VAN 서버(200) 또는 결제자 모바일 단말(110)의 SE로부터 획득한후, 이를 NFC 방식으로 사용자 비접촉식 카드(10)에 전달하여 사용자 비접촉식 카드(10)로부터 제1 블록 데이터를 획득한다. 그리고, 결제자 모바일 단말(110)의 지급결제 앱은 사용자 비접촉 카드에 저장된 카드 정보 중 제2 블록 데이터를 읽기 위한 제2 인증키를 VAN 서버(200) 또는 결제자 단말(110)의 SE로부터 획득한후, 이를 NFC 방식으로 사용자 비접촉식 카드(10)에 전달하여 사용자 비접촉식 카드(10)로부터 제2 블록 데이터를 획득한다. 이때, 제1 블록 데이터와 제2 블록 데이터는 카드 정보 중 카드 번호와 유효 기간을 각각 암호화하여 저장한 정보일 수 있다. 이때, 카드 정보의 블록 데이터를 읽기 위한 제1 인증키 및 제2 인증키는 결제자 모바일 단말(110) 또는 VAN 서버(200)에 설치된 PSAM(purchase secure application module)으로부터 획득할 수 있다.
이후, 결제자 모바일 단말(110)은 결제 요청 정보를 VAN 서버(200)로 전송(S55)하여 준다.
이때, 결제 요청 정보는 사용자 비접촉식 카드(10)의 카드 식별 정보와 결제자 DID를 포함할 수 있다.
또한, 결제 요청 정보는 보다 높은 안정성을 위해 지급결제 앱 사용자, 즉, 결제자가 정당한 소유자임을 증명할 수 있는 서비스 사업자가 생성한 결제자 VC를 더 포함할 수 있으며, 일 예로, 결제자가 서비스 제공자의 직원임을 증명하는 VC를 더 포함할 수 있다. 그러면, VAN 서버(200)는 결제자 DID를 이용하여 블록체인 네트워크(400)로부터 결제자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 결제자 DID를 이용하여 블록체인 네트워크(400)로부터 결제자 퍼블릭키를 획득하며, 결제자 퍼블릭키를 이용하여 결제자 VC를 검증함으로써 결제자를 인증할 수 있다.
이후, VAN 서버(200)는 서명확인값을 생성하고, 서명확인값을 포함하는 카드 정보 요청 정보를 결제자 모바일 단말(110)로 전송(S56)하여 줄 수 있다. 이때, 서명확인값은 논스, 타임스탬프 등을 포함할 수 있으며, 거래의 중복과 해킹을 방지하기 위해 1회성 암호일 수 있다.
그러면, 결제자 모바일 단말(110)은 서명확인값, 카드 식별 정보 및 암호화 카드 정보를 이용하여 암호화 카드 정보 VC를 생성하며, 결제자 DID, 암호화 카드 정보 VC, 및 암호화 카드 정보 VC 또는 이의 해시값을 결제자 프라이빗키로 서명한 결제자 서명값을 VAN 서버(200)로 전송(S57)하여 줄 수 있다.
그러면, VAN 서버(200)는 결제자 DID를 이용하여 이용하여 블록체인 네트워크(400)로부터 결제자 퍼블릭키를 획득(S58, S59)하거나, 리졸버 서버를 통해 결제자 DID를 이용하여 블록체인 네트워크(400)로부터 결제자 퍼블릭키를 획득하도록 하고, 결제자 퍼블릭키를 이용하여 결제자 서명값 및 암호화 카드 정보 VC를 검증(S60)할 수 있다.
이때, VAN 서버(200)는 결제자 퍼블릭키를 이용하여 결제자 서명값을 복호화한 복호화 정보와, 암호화 카드 정보 VC 또는 이의 해시값이 일치하는 지를 확인하여 암호화 카드 정보 VC를 검증할 수 있다.
또한, 암호화 카드 정보 VC 검증은, 결제자 퍼블릭키를 이용하여 결제자 서명값을 복호화한 복호화된 정보가, 암호화된 카드 정보 VC 또는 이의 해시값과 일치하는 지를 확인하며, 복호화된 서명확인값이 결제자 모바일 단말(110)로 전송한 서명확인값과 일치하는 지를 확인하여 수행할 수 있다.
그리고, VAN 서버(200)는 암호화 카드 정보 VC로부터 획득한 암호화 카드 정보를 이용하여 복호화 카드 정보를 획득(S61)할 수 있다.
이때, VAN 서버(200)는 VAN 서버에 설치된 SSAM(system services provider SAM)을 이용하여 제1 블록 데이터와 제2 블록 데이터를 복호화하여 복호화 카드 정보인 카드 번호와 유효 기간을 획득할 수 있다.
이후, VAN 서버(200)는 복호화 카드 정보를 이용하여 복호화 카드 정보 VC를 생성하며, VAN 서버 DID, 복호화 카드 정보 VC, 및 복호화 카드 정보 VC 또는 이의 해시값을 VAN 서버 프라이빗키로 서명한 VAN 서버 서명값을 카드사 서버(300)로 전송(S62)하여 지급결제에 대한 승인을 요청할 수 있다.
그러면, 카드사 서버(300)는 VAN 서버 DID를 이용하여 블록체인 네트워크(400)로부터 VAN 서버 퍼블릭키를 획득(S63, S64)하거나 리졸버 서버로 하여금 VAN 서버 DID를 이용하여 블록체인 네트워크(400)로부터 VAN 서버 퍼블릭키를 획득하도록 할 수 있다.
이후, 카드사 서버(300)는 VAN 서버 퍼블릭키를 이용하여 VAN 서버 서명값 및 복호화 카드 정보 VC를 검증(S65)하고, 복호화 카드 정보 VC로부터 획득한 복호화 카드 정보를 이용하여 지급결제를 승인할 수 있다.
이때, 카드사 서버(300)는 VAN 서버 퍼블릭키를 이용하여 VAN 서버 서명값을 복호화한 복호화된 정보와, 복호화 카드 정보 VC 또는 이의 해시값을 비교하여 VAN 서버 서명값 및 복호화 카드 정보 VC를 검증할 수 있다. 그리고, 카드사 서버(300)는 복호화 카드 정보가 데이터베이스에 등록된 정보와 일치하는지를 확인하여 복호화 카드 정보를 검증할 수 있다.
한편, 복호화 카드 정보 VC는 결제자 서명값을 더 포함할 수 있다.
이때, 카드 서버(300)는 복호화 카드 정보 VC에 포함된 결제자 DID를 이용하여 블록체인 네트워크(400)로부터 결제자 퍼블릭키를 획득하거나 리졸버 서버로 하여금 결제자 DID를 이용하여 블록체인 네트워크(400)로부터 결제자 퍼블릭키를 획득하도록 하며, 결제자 퍼블릭키를 이용하여 결제자 서명값을 검증할 수 있다. 즉, 카드사 서버(300)는 결제자 퍼블릭키를 이용하여 결제자 서명값을 복호화한 정보와, 복호화 카드 정보를 암호화한 정보를 비교하여 결제자 서명값을 검증할 수 있다.
이후, 결제자 모바일 단말(110)은, VAN 서버(200)로부터 카드사 서버(300)의 승인 정보가 획득(S66, S67)되면, 승인 정보를 서비스 서버(20)로 전송하여 서비스 서버로 하여금 지급결제에 대한 결제를 완료(S69)하도록 할 수 있다.
일 예로, 카드사 서버(300)는 복호화 카드 정보 VC가 검증되면, 지급결제에 대한 승인 정보를 VAN 서버(200)로 전송(S66)하여 준다.
그러면, VAN 서버(200)는 승인 정보를 결제자 모바일 단말(110)로 전송(S67)하며, 결제자 모바일 단말(110)은 승인 확인 요청 정보를 서비스 서버(20)로 전송(S68)하여 준다.
그리고, 서비스 서버(20)는 수신되는 승인 정보에 대응하여 사용자 비접촉식 카드(10)에 의해 지급결제를 완료하며, 결제 완료 정보, 즉, 승인 확인 결과 정보를 결제자 모바일 단말(110)로 전송(S69)하여 줌으로써 사용자 비접촉식 카드(10)에 의한 지급결제 프로세스를 완료한다.
한편, 상기의 실시예들에서는 비접촉식 카드의 태깅에 의해 카드 정보를 획득하였으나, 이와는 달리, 모바일 단말을 통해 비접촉식 카드를 촬영하여 카드번호와 유효기간을 획득할 수 있으며, 이를 DID 기반의 VC로 전송하여 줄 수 있다. 또한, 비접촉식 카드를 촬영하는 것과는 달리, 사용자 또는 결제자가 직접 카드의 정보를 입력하도록 함으로써 카드번호와 유효기간 등의 카드정보를 획득할 수 있다. 그리고, 카드 식별 정보는 카드 번호 등의 비접촉식 카드로부터 획득되는 고유정보를 해시 연산 등과 같은 암호화 방법에 의해 암호화한 정보일 수 있다.
이에 더하여, 본 발명은 상기에서의 지급결제 이외에도, 비접촉식 카드를 이용하여 사용자 인증을 수행할 수도 있다. 즉, 자신의 비접촉식 카드와 모바일 단말을 이용하여 간편하게 DID를 이용하여 본인 확인을 수행할 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 사용자 모바일 단말,
110: 결제자 모바일 단말
200: VAN 서버,
300: 카드사 서버,
400: 블록체인 네트워크

Claims (20)

  1. 블록체인 네트워크의 탈중앙화 아이디(DID: decentralized identifier) 기반의 비접촉식 카드 지급결제 방법에 있어서,
    (a) 사용자에게 서비스를 제공한 서비스 서버로부터 지불 정보가 획득되면, 사용자 모바일 단말이, 상기 사용자에게 지급결제를 위한 사용자 비접촉식 카드의 태깅을 요청하고, 상기 사용자 비접촉식 카드가 태깅되면, 상기 사용자 비접촉식 카드와의 무선 통신을 통해 상기 사용자 비접촉식 카드의 카드 식별 정보와 암호화 카드 정보를 획득하며, 사용자 VC(verifiable credential), 상기 카드 식별 정보, 및 사용자 DID를 결제대행(VAN: value added network) 서버로 전송하여 상기 결제대행 서버로 하여금 상기 사용자 DID를 이용하여 블록체인 네트워크로부터 사용자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 VC를 검증함으로써 상기 사용자를 인증하도록 하며, 상기 사용자가 인증되면, 서명확인값을 생성하고 상기 서명확인값을 포함하는 카드 정보 요청 정보를 상기 사용자 모바일 단말로 전송하도록 하는 단계; 및
    (b) 상기 사용자 모바일 단말이, 상기 서명확인값, 상기 카드 식별 정보, 및 상기 암호화 카드 정보를 이용하여 암호화 카드 정보 VC를 생성하며, 상기 사용자 DID, 상기 암호화 카드 정보 VC, 및 상기 암호화 카드 정보 VC를 사용자 프라이빗키로 서명한 사용자 서명값을 상기 결제 대행 서버로 전송함으로써 상기 결제대행 서버로 하여금 (i) 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값 및 상기 암호화 카드 정보 VC를 검증하도록 하며, (ii) 상기 암호화 카드 정보 VC로부터 획득한 암호화 카드 정보를 이용하여 복호화 카드 정보를 획득하도록 하고, 상기 복호화 카드 정보를 이용하여 복호화 카드 정보 VC를 생성하도록 하며, 결제대행 서버 DID, 상기 복호화 카드 정보 VC, 및 상기 복호화 카드 정보 VC를 결제대행 서버 프라이빗키로 서명한 결제대행 서버 서명값을 카드사 서버로 전송하도록 하여, 상기 카드사 서버가 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 결제대행 서버 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제대행 서버 퍼블릭키를 획득하도록 하며, 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하고 상기 복호화 카드 정보 VC로부터 획득한 상기 복호화 카드 정보를 이용하여 상기 지급결제에 대하여 승인하도록 하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 (a) 단계 이전에,
    (a01) 상기 사용자 DID와 상기 사용자 퍼블릭키가 상기 블록체인 네트워크에 등록된 상태에서, 상기 사용자 모바일 단말이, 상기 카드사 서버로 사용자 VC와 상기 사용자 DID를 포함하는 사용자 DID 등록 요청 정보를 전송하여 상기 카드사 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하거나 상기 리졸버 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 VC를 검증하도록 하며, 상기 사용자 VC의 검증에 대응하여 상기 사용자 DID를 등록하도록 하는 단계;
    (a02) 상기 사용자 모바일 단말이, 상기 사용자 비접촉식 카드로부터 상기 카드 식별 정보와 상기 암호화 카드 정보를 획득하며, 상기 사용자 DID, 상기 카드 식별 정보를 이용하여 생성한 카드 등록 VC, 및 상기 카드 등록 VC를 상기 사용자 프라이빗키로 서명한 사용자 서명값을 포함하는 카드 등록 요청 정보를 상기 카드사 서버로 전송하여 상기 카드사 서버로 하여금 상기 사용자 퍼블릭키를 이용하여 상기 카드 등록 VC를 검증하도록 하고, 카드사 서버 DID, 서명확인값와 상기 카드 식별 정보를 포함하는 카드 정보 요청 VC, 및 상기 카드 정보 요청 VC를 카드사 서버 프라이빗키로 서명한 카드사 서버 서명값을 상기 사용자 모바일 단말로 전송하도록 하는 단계; 및
    (a03) 상기 카드사 서버 서명값 검증 이후, 상기 사용자 모바일 단말이, 상기 카드 식별 정보, 상기 서명확인값, 및 상기 암호화 카드 정보를 이용하여 카드 정보 VC를 생성하며, 상기 사용자 DID, 상기 카드 정보 VC, 및 상기 카드 정보 VC를 상기 사용자 프라이빗키로 서명한 사용자 서명값을 상기 카드사 서버로 전송하여 상기 카드사 서버로 하여금 상기 사용자 퍼블릭키를 이용하여 상기 카드 정보 VC를 검증한 다음 상기 카드 식별 정보를 상기 사용자 DID에 매칭하여 저장하도록 하는 단계;
    를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 (a03) 단계에서,
    상기 사용자 모바일 단말은, 상기 카드사 서버 DID를 이용하여 상기 블록체인 네트워크로부터 카드사 서버 퍼블릭키를 획득하거나 상기 리졸버 서버를 통해 상기 카드사 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 카드사 서버 퍼블릭키를 획득하도록 하며, 상기 카드사 서버 퍼블릭키를 이용하여 상기 카드사 서버 서명값을 검증하는 방법.
  4. 제1항에 있어서,
    (c) 상기 사용자 모바일 단말이, 상기 결제대행 서버로부터 상기 카드사 서버의 승인 정보가 획득되면, 상기 승인 정보를 상기 서비스 서버로 전송하여 상기 서비스 서버로 하여금 상기 지급결제에 대한 결제를 완료하도록 하는 단계;
    를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 암호화 카드 정보는 카드 번호를 암호화한 제1 블록 데이터와 카드 유효 기간을 암호화한 제2 블록 데이터를 포함하며,
    상기 (a) 단계에서,
    상기 사용자 모바일 단말은, 상기 모바일 단말에 설치된 PSAM(purchase secure application module) 또는 상기 결제대행 서버에 설치된 상기 PSAM으로부터 획득한 제1 인증키를 이용하여 상기 사용자 비접촉식 카드로부터 상기 제1 블록 데이터를 획득하고, 상기 모바일 단말에 설치된 PSAM 또는 상기 결제대행 서버에 설치된 상기 PSAM으로부터 획득한 제2 인증키를 이용하여 상기 사용자 비접촉식 카드로부터 상기 제2 블록 데이터를 획득하며,
    상기 (b) 단계에서,
    상기 사용자 모바일 단말은, 상기 결제대행 서버로 하여금 상기 결제대행 서버에 설치된 SSAM(system services provider SAM)을 이용하여 상기 제1 블록 데이터와 상기 제2 블록 데이터를 복호화하는 방법.
  6. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 사용자 모바일 단말이, 상기 결제대행 서버로 하여금, 상기 카드사 서버가 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값을 복호화한 복호화 정보와 상기 복호화 카드 정보 VC를 비교하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하도록 하는 방법.
  7. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 복호화 카드 정보 VC는 상기 사용자 서명값을 더 포함하며,
    상기 사용자 모바일 단말이, 상기 결제대행 서버로 하여금, 상기 카드사 서버가 상기 복호화 카드 정보 VC에 포함된 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하며, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 검증하도록 하는 방법.
  8. 제7항에 있어서,
    상기 사용자 모바일 단말이, 상기 결제대행 서버로 하여금 상기 카드사 서버가 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 복호화한 정보와, 상기 복호화 카드 정보를 암호화한 정보를 비교하여 상기 사용자 서명값을 검증하도록 하는 방법.
  9. 블록체인 네트워크의 탈중앙화 아이디(DID: decentralized identifier) 기반의 비접촉식 카드 지급결제 방법에 있어서,
    (a) 사용자에게 서비스를 제공한 서비스 서버에 대응되는 결제 대행자의 결제자 모바일 단말이, 상기 서비스 서버로 상기 사용자에게 제공한 서비스에 대한 지불 정보를 요청하며, 상기 서비스 서버로부터 상기 지불 정보가 획득되면, 상기 지불 정보를 상기 사용자에게 제공하며 상기 사용자에게 지급결제를 위한 사용자 비접촉식 카드의 태깅을 요청하고, 상기 사용자 비접촉식 카드가 태깅되면, 상기 사용자 비접촉식 카드와의 무선 통신을 통해 상기 사용자 비접촉식 카드의 카드 식별 정보와 암호화 카드 정보를 획득하며, 결제자 VC(verifiable credential), 상기 카드 식별 정보, 및 결제자 DID를 결제대행(VAN: value added network) 서버로 전송하여 상기 결제대행 서버로 하여금 상기 결제자 DID를 이용하여 블록체인 네트워크로부터 결제자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하도록 하고, 상기 결제자 퍼블릭키를 이용하여 상기 결제자 VC를 검증함으로써 상기 결제 대행자를 인증하도록 하며, 상기 결제 대행자가 인증되면, 서명확인값을 생성하고 상기 서명확인값을 포함하는 카드 정보 요청 정보를 상기 결제자 모바일 단말로 전송하도록 하는 단계; 및
    (b) 상기 결제자 모바일 단말이, 상기 서명확인값, 상기 카드 식별 정보, 및 상기 암호화 카드 정보를 이용하여 암호화 카드 정보 VC를 생성하며, 상기 결제자 DID, 상기 암호화 카드 정보 VC, 및 상기 암호화 카드 정보 VC를 결제자 프라이빗키로 서명한 결제자 서명값을 상기 결제대행 서버로 전송함으로써 상기 결제대행 서버로 하여금 (i) 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하거나, 상기 리졸버 서버를 통해 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하도록 하고, 상기 결제자 퍼블릭키를 이용하여 상기 결제자 서명값 및 상기 암호화 카드 정보 VC를 검증하도록 하며, (ii) 상기 암호화 카드 정보 VC로부터 획득한 암호화 카드 정보를 이용하여 복호화 카드 정보를 획득하도록 하고, 상기 복호화 카드 정보를 이용하여 복호화 카드 정보 VC를 생성하도록 하며, 결제대행 서버 DID, 상기 복호화 카드 정보 VC, 및 상기 복호화 카드 정보 VC를 결제대행 서버 프라이빗키로 서명한 결제대행 서버 서명값을 카드사 서버로 전송하도록 하여, 상기 카드사 서버가 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 결제대행 서버 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제대행 서버 퍼블릭키를 획득하도록 하며, 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하고 상기 복호화 카드 정보 VC로부터 획득한 상기 복호화 카드 정보를 이용하여 상기 지급결제에 대하여 승인하도록 하는 단계;
    를 포함하는 방법.
  10. 제9항에 있어서,
    상기 (b) 단계에서,
    상기 복호화 카드 정보 VC는 상기 결제자 서명값을 더 포함하며,
    상기 결제자 모바일 단말이, 상기 결제대행 서버로 하여금, 상기 카드사 서버가 상기 복호화 카드 정보 VC에 포함된 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하도록 하며, 상기 결제자 퍼블릭키를 이용하여 상기 결제자 서명값을 검증하도록 하는 방법.
  11. 블록체인 네트워크의 탈중앙화 아이디(DID: decentralized identifier) 기반의 비접촉식 카드 지급결제를 수행하는 사용자 모바일 단말에 있어서,
    블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제를 수행하기 위한 인스트럭션들이 저장된 메모리; 및
    상기 메모리에 저장된 상기 인스트럭션들에 따라 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제를 수행하는 프로세서;
    를 포함하며,
    상기 프로세서는,
    (I) 사용자에게 서비스를 제공한 서비스 서버로부터 지불 정보가 획득되면, 상기 사용자에게 지급결제를 위한 사용자 비접촉식 카드의 태깅을 요청하고, 상기 사용자 비접촉식 카드가 태깅되면, 상기 사용자 비접촉식 카드와의 무선 통신을 통해 상기 사용자 비접촉식 카드의 카드 식별 정보와 암호화 카드 정보를 획득하며, 사용자 VC(verifiable credential), 상기 카드 식별 정보, 및 사용자 DID를 결제대행(VAN: value added network) 서버로 전송하여 상기 결제대행 서버로 하여금 상기 사용자 DID를 이용하여 블록체인 네트워크로부터 사용자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 VC를 검증함으로써 상기 사용자를 인증하도록 하며, 상기 사용자가 인증되면, 서명확인값을 생성하고 상기 서명확인값을 포함하는 카드 정보 요청 정보를 상기 사용자 모바일 단말로 전송하도록 하는 프로세스, 및
    (II) 상기 서명확인값, 상기 카드 식별 정보, 및 상기 암호화 카드 정보를 이용하여 암호화 카드 정보 VC를 생성하며, 상기 사용자 DID, 상기 암호화 카드 정보 VC, 및 상기 암호화 카드 정보 VC를 사용자 프라이빗키로 서명한 사용자 서명값을 상기 결제 대행 서버로 전송함으로써 상기 결제대행 서버로 하여금 (i) 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값 및 상기 암호화 카드 정보 VC를 검증하도록 하며, (ii) 상기 암호화 카드 정보 VC로부터 획득한 암호화 카드 정보를 이용하여 복호화 카드 정보를 획득하도록 하고, 상기 복호화 카드 정보를 이용하여 복호화 카드 정보 VC를 생성하도록 하며, 결제대행 서버 DID, 상기 복호화 카드 정보 VC, 및 상기 복호화 카드 정보 VC를 결제대행 서버 프라이빗키로 서명한 결제대행 서버 서명값을 카드사 서버로 전송하도록 하여, 상기 카드사 서버가 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 결제대행 서버 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제대행 서버 퍼블릭키를 획득하도록 하며, 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하고 상기 복호화 카드 정보 VC로부터 획득한 상기 복호화 카드 정보를 이용하여 상기 지급결제에 대하여 승인하도록 하는 프로세스를 수행하는 사용자 모바일 단말.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 (I) 프로세스 이전에,
    (I-1) 상기 사용자 DID와 상기 사용자 퍼블릭키가 상기 블록체인 네트워크에 등록된 상태에서, 상기 카드사 서버로 사용자 VC와 상기 사용자 DID를 포함하는 사용자 DID 등록 요청 정보를 전송하여 상기 카드사 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하거나 상기 리졸버 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 VC를 검증하도록 하며, 상기 사용자 VC의 검증에 대응하여 상기 사용자 DID를 등록하도록 하는 프로세스,
    (I-2) 상기 사용자 비접촉식 카드로부터 상기 카드 식별 정보와 상기 암호화 카드 정보를 획득하며, 상기 사용자 DID, 상기 카드 식별 정보를 이용하여 생성한 카드 등록 VC, 및 상기 카드 등록 VC를 상기 사용자 프라이빗키로 서명한 사용자 서명값을 포함하는 카드 등록 요청 정보를 상기 카드사 서버로 전송하여 상기 카드사 서버로 하여금 상기 사용자 퍼블릭키를 이용하여 상기 카드 등록 VC를 검증하도록 하고, 카드사 서버 DID, 서명확인값와 상기 카드 식별 정보를 포함하는 카드 정보 요청 VC, 및 상기 카드 정보 요청 VC를 카드사 서버 프라이빗키로 서명한 카드사 서버 서명값을 상기 사용자 모바일 단말로 전송하도록 하는 프로세스, 및
    (I-3) 상기 카드사 서버 서명값 검증 이후, 상기 카드 식별 정보, 상기 서명확인값, 및 상기 암호화 카드 정보를 이용하여 카드 정보 VC를 생성하며, 상기 사용자 DID, 상기 카드 정보 VC, 및 상기 카드 정보 VC를 상기 사용자 프라이빗키로 서명한 사용자 서명값을 상기 카드사 서버로 전송하여 상기 카드사 서버로 하여금 상기 사용자 퍼블릭키를 이용하여 상기 카드 정보 VC를 검증한 다음 상기 카드 식별 정보를 상기 사용자 DID에 매칭하여 저장하도록 하는 프로세스를 더 수행하는 사용자 모바일 단말.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 (I-3) 프로세스에서,
    상기 카드사 서버 DID를 이용하여 상기 블록체인 네트워크로부터 카드사 서버 퍼블릭키를 획득하거나 상기 리졸버 서버를 통해 상기 카드사 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 카드사 서버 퍼블릭키를 획득하도록 하며, 상기 카드사 서버 퍼블릭키를 이용하여 상기 카드사 서버 서명값을 검증하는 사용자 모바일 단말.
  14. 제11항에 있어서,
    상기 프로세서는,
    (III) 상기 결제대행 서버로부터 상기 카드사 서버의 승인 정보가 획득되면, 상기 승인 정보를 상기 서비스 서버로 전송하여 상기 서비스 서버로 하여금 상기 지급결제에 대한 결제를 완료하도록 하는 프로세스를 더 수행하는 사용자 모바일 단말.
  15. 제11항에 있어서,
    상기 암호화 카드 정보는 카드 번호를 암호화한 제1 블록 데이터와 카드 유효 기간을 암호화한 제2 블록 데이터를 포함하며,
    상기 프로세서는,
    상기 (I) 프로세스에서, 상기 모바일 단말에 설치된 PSAM(purchase secure application module) 또는 상기 결제대행 서버에 설치된 상기 PSAM으로부터 획득한 제1 인증키를 이용하여 상기 사용자 비접촉식 카드로부터 상기 제1 블록 데이터를 획득하고, 상기 모바일 단말에 설치된 PSAM 또는 상기 결제대행 서버에 설치된 상기 PSAM으로부터 획득한 제2 인증키를 이용하여 상기 사용자 비접촉식 카드로부터 상기 제2 블록 데이터를 획득하며,
    상기 (II) 프로세스에서, 상기 결제대행 서버로 하여금 상기 결제대행 서버에 설치된 SSAM(system services provider SAM)을 이용하여 상기 제1 블록 데이터와 상기 제2 블록 데이터를 복호화하는 사용자 모바일 단말.
  16. 제11항에 있어서,
    상기 프로세서는,
    상기 (II) 프로세스에서, 상기 결제대행 서버로 하여금, 상기 카드사 서버가 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값을 복호화한 복호화 정보와 상기 복호화 카드 정보 VC를 비교하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하도록 하는 사용자 모바일 단말.
  17. 제11항에 있어서,
    상기 복호화 카드 정보 VC는 상기 사용자 서명값을 더 포함하며,
    상기 프로세서는,
    상기 (II) 프로세스에서, 상기 결제대행 서버로 하여금, 상기 카드사 서버가 상기 복호화 카드 정보 VC에 포함된 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 퍼블릭키를 획득하도록 하며, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 검증하도록 하는 사용자 모바일 단말.
  18. 제17항에 있어서,
    상기 프로세서는, 상기 결제대행 서버로 하여금 상기 카드사 서버가 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 복호화한 정보와, 상기 복호화 카드 정보를 암호화한 정보를 비교하여 상기 사용자 서명값을 검증하도록 하는 사용자 모바일 단말.
  19. 블록체인 네트워크의 탈중앙화 아이디(DID: decentralized identifier) 기반의 비접촉식 카드 지급결제를 수행하는 결제자 모바일 단말에 있어서,
    블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제를 수행하기 위한 인스트럭션들이 저장된 메모리; 및
    상기 메모리에 저장된 상기 인스트럭션들에 따라 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제를 수행하는 프로세서;
    를 포함하며,
    상기 프로세서는,
    (I) 서비스 서버로 사용자에게 제공한 서비스에 대한 지불 정보를 요청하며, 상기 서비스 서버로부터 상기 지불 정보가 획득되면, 상기 지불 정보를 상기 사용자에게 제공하며 상기 사용자에게 지급결제를 위한 사용자 비접촉식 카드의 태깅을 요청하고, 상기 사용자 비접촉식 카드가 태깅되면, 상기 사용자 비접촉식 카드와의 무선 통신을 통해 상기 사용자 비접촉식 카드의 카드 식별 정보와 암호화 카드 정보를 획득하며, 결제자 VC(verifiable credential), 상기 카드 식별 정보, 및 결제자 DID를 결제대행(VAN: value added network) 서버로 전송하여 상기 결제대행 서버로 하여금 상기 결제자 DID를 이용하여 블록체인 네트워크로부터 결제자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하도록 하고, 상기 결제자 퍼블릭키를 이용하여 상기 결제자 VC를 검증함으로써 결제 대행자를 인증하도록 하며, 상기 결제 대행자가 인증되면, 서명확인값을 생성하고 상기 서명확인값을 포함하는 카드 정보 요청 정보를 상기 결제자 모바일 단말로 전송하도록 하는 프로세스, 및
    (II) 상기 서명확인값, 상기 카드 식별 정보, 및 상기 암호화 카드 정보를 이용하여 암호화 카드 정보 VC를 생성하며, 상기 결제자 DID, 상기 암호화 카드 정보 VC, 및 상기 암호화 카드 정보 VC를 결제자 프라이빗키로 서명한 결제자 서명값을 상기 결제대행 서버로 전송함으로써 상기 결제대행 서버로 하여금 (i) 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하거나, 상기 리졸버 서버를 통해 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하도록 하고, 상기 결제자 퍼블릭키를 이용하여 상기 결제자 서명값 및 상기 암호화 카드 정보 VC를 검증하도록 하며, (ii) 상기 암호화 카드 정보 VC로부터 획득한 암호화 카드 정보를 이용하여 복호화 카드 정보를 획득하도록 하고, 상기 복호화 카드 정보를 이용하여 복호화 카드 정보 VC를 생성하도록 하며, 결제대행 서버 DID, 상기 복호화 카드 정보 VC, 및 상기 복호화 카드 정보 VC를 결제대행 서버 프라이빗키로 서명한 결제대행 서버 서명값을 카드사 서버로 전송하도록 하여, 상기 카드사 서버가 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 결제대행 서버 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제대행 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제대행 서버 퍼블릭키를 획득하도록 하며, 상기 결제대행 서버 퍼블릭키를 이용하여 상기 결제대행 서버 서명값 및 상기 복호화 카드 정보 VC를 검증하고 상기 복호화 카드 정보 VC로부터 획득한 상기 복호화 카드 정보를 이용하여 상기 지급결제에 대하여 승인하도록 하는 프로세스를 수행하는 결제자 모바일 단말.
  20. 제19항에 있어서,
    상기 복호화 카드 정보 VC는 상기 결제자 서명값을 더 포함하며,
    상기 프로세서는,
    상기 (II) 프로세스에서, 상기 결제대행 서버로 하여금, 상기 카드사 서버가 상기 복호화 카드 정보 VC에 포함된 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하거나 상기 리졸버 서버로 하여금 상기 결제자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 결제자 퍼블릭키를 획득하도록 하며, 상기 결제자 퍼블릭키를 이용하여 상기 결제자 서명값을 검증하도록 하는 결제자 모바일 단말.
KR1020210029099A 2020-03-04 2021-03-04 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제 방법 및 이를 이용한 모바일 단말 KR102468511B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200027452 2020-03-04
KR20200027452 2020-03-04

Publications (2)

Publication Number Publication Date
KR20210112264A KR20210112264A (ko) 2021-09-14
KR102468511B1 true KR102468511B1 (ko) 2022-11-21

Family

ID=77774606

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210029099A KR102468511B1 (ko) 2020-03-04 2021-03-04 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제 방법 및 이를 이용한 모바일 단말

Country Status (1)

Country Link
KR (1) KR102468511B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102122555B1 (ko) * 2018-07-30 2020-06-12 엔에이치엔한국사이버결제 주식회사 사용자가 소지한 금융 카드 기반 본인 인증 시스템 및 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Benny(웹 블로그). 주요 DID 프로젝트 비교(2019.08.03.)*
Microsoft. Decentralized Identity(2018.)*
ZDNET Korea(인터넷 뉴스). 라온시큐어 DID 플랫폼, 상호호환이 관건(2019.10.17.)*

Also Published As

Publication number Publication date
KR20210112264A (ko) 2021-09-14

Similar Documents

Publication Publication Date Title
US10826702B2 (en) Secure authentication of user and mobile device
US11763311B2 (en) Multi-device transaction verification
US11374754B2 (en) System and method for generating trust tokens
US11170379B2 (en) Peer forward authorization of digital requests
US9978094B2 (en) Tokenization revocation list
US20170124535A1 (en) Systems and methods for securing cryptocurrency purchases
AU2012265824B2 (en) A transaction system and method for use with a mobile device
KR102574524B1 (ko) 원격 거래 시스템, 방법 및 포스단말기
KR20190043117A (ko) 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버
US20230122422A1 (en) Hands free interaction system and method
JP7267278B2 (ja) ペイメント・カードの認証
KR102348823B1 (ko) 사용자가 소지한 금융 카드 기반 본인 인증 시스템 및 방법
KR102468511B1 (ko) 블록체인 네트워크의 탈중앙화 아이디 기반의 비접촉식 카드 지급결제 방법 및 이를 이용한 모바일 단말
US20230066754A1 (en) Digital identity authentication system and method
El Madhoun et al. A secure cloud-based NFC payment architecture for small traders
KR20220063107A (ko) Qr 코드를 이용하여 모바일 페이먼트 서비스를 제공하는 방법 및 이를 이용한 페이먼트 서버
JP2009043012A (ja) 決済システム、店舗装置、決済機関装置および決済方法
WO2020069262A1 (en) System, method, and computer program product for secure, remote transaction authentication and settlement
KR20200061264A (ko) 블록체인 네트워크 기반의 카드 결제를 위한 사용자 인증 방법 및 이를 이용한 카드사 서버
Islam et al. A PKI Enabled Authentication Protocol for Secure E-Payment Framework
EA041883B1 (ru) Система и способ для проведения удаленных транзакций с использованием платежного терминала точки продаж

Legal Events

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