KR101522136B1 - 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법 - Google Patents

지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법 Download PDF

Info

Publication number
KR101522136B1
KR101522136B1 KR1020140012233A KR20140012233A KR101522136B1 KR 101522136 B1 KR101522136 B1 KR 101522136B1 KR 1020140012233 A KR1020140012233 A KR 1020140012233A KR 20140012233 A KR20140012233 A KR 20140012233A KR 101522136 B1 KR101522136 B1 KR 101522136B1
Authority
KR
South Korea
Prior art keywords
card
value
terminal
chip
authentication
Prior art date
Application number
KR1020140012233A
Other languages
English (en)
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 (주)에이티솔루션즈
Priority to KR1020140012233A priority Critical patent/KR101522136B1/ko
Application granted granted Critical
Publication of KR101522136B1 publication Critical patent/KR101522136B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Abstract

본 발명은 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법에 관한 것으로, 본 발명에 따른 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법은, 카드의 칩이 발급프로그램으로부터 카드번호와 씨드값을 수신하여 지정된 저장영역에 저장하는 제1 단계와, 지정된 단말의 보안프로그램으로부터 정보 요청이 명령되면, 상기 카드의 칩이 지정된 저장영역의 단말인증값을 판독하여 NULL 또는 ‘0’인지 확인하는 제2 단계와, 상기 단말인증값이 NULL 또는 ‘0’인 경우, 상기 카드의 칩이 단말의 보안프로그램으로 카드번호를 응답하는 제3 단계와, 상기 카드의 칩이 상기 단말의 보안프로그램으로부터 지정된 인증서버를 통해 승인된 단말인증값과 상기 인증서버를 통해 생성된 시간값 및 OTP를 수신하는 제4 단계와, 상기 카드의 칩이 상기 씨드값과 시간값을 이용하여 상기 OTP의 유효성을 인증하는 제5 단계와, 상기 OTP의 유효성이 인증된 경우, 상기 카드의 칩이 상기 수신된 단말인증값을 지정된 저장영역에 저장하는 제6 단계를 포함한다.
한편 본 발명에 따른 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법은, 카드의 칩이 발급프로그램으로부터 카드번호와 씨드값을 수신하여 지정된 저장영역에 저장하는 제1 단계와, 지정된 단말의 보안프로그램으로부터 지정된 인증서버를 통해 승인된 단말인증값을 수신하여 지정된 저장영역에 저장하고 상기 인증서버에 저장된 공개키와 매칭되는 개인키를 저장하는 제2 단계와, 지정된 단말의 보안프로그램으로부터 정보 요청이 명령되면, 상기 카드의 칩이 지정된 저장영역의 단말인증값을 판독하여 NULL 또는 ‘0’인지 확인하는 제3 단계와, 상기 단말인증값이 NULL 또는 ‘0’이 아닌 경우, 상기 카드의 칩이 단말의 보안프로그램으로 카드번호와 단말인증값을 응답하는 제4 단계와, 상기 카드의 칩이 상기 단말의 보안프로그램으로부터 지정된 인증서버를 통해 생성된 시간값, 서버측OTP, 난수값을 수신하는 제5 단계와, 상기 카드의 칩이 상기 씨드값과 시간값을 이용하여 상기 서버측OTP의 유효성을 인증하는 제6 단계와, 상기 서버측OTP의 유효성이 인증된 경우, 상기 카드의 칩이 시간값과 난수값을 합산하여 시간값’을 결정하는 제7 단계와, 상기 카드의 칩이 상기 씨드값과 시간값’을 통해 카드측OTP를 생성하는 제8 단계와, 상기 카드의 칩이 개인키를 통해 카드측OTP를 암호화하여 암호OTP를 생성하는 제9 단계와, 상기 카드의 칩이 상기 단말의 보안프로그램으로 상기 암호OTP를 응답하는 제10 단계를 포함한다.
본 발명에 따른 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법은, 인증서버가 발급프로그램으로부터 카드의 칩에 기록된 카드번호와 씨드값을 수신하여 저장하는 제1 단계와, 상기 인증서버가 지정된 경로를 통해 상기 카드의 칩에 저장된 카드번호와 상기 카드와 인터페이스된 단말의 보안프로그램을 통해 생성된 단말인증값을 수신하는 제2 단계와, 상기 인증서버가 상기 저장된 카드번호와 상기 수신된 카드번호를 비교하여 인증하는 제3 단계와, 상기 카드번호가 인증되면, 상기 인증서버가 상기 단말인증값을 상기 카드번호 또는 씨드값과 매핑하여 저장하는 제4 단계와, 상기 인증서버가 OTP를 생성하기 위한 시간값을 생성하는 제5 단계와, 상기 인증서버가 상기 씨드값과 시간값을 이용하여 OTP를 생성하는 제6 단계와, 상기 인증서버가 지정된 경로를 통해 상기 단말인증값과 카드번호와 시간값과 OTP를 전송하는 제7 단계를 포함하며, 상기 단말인증값은 상기 카드의 칩에서 상기 OTP를 인증한 결과로서 상기 카드의 칩에 저장된다.
한편 본 발명에 따른 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법은, 인증서버가 발급프로그램으로부터 카드의 칩에 기록된 카드번호와 씨드값을 수신하여 저장하는 제1 단계와, 상기 인증서버가 지정된 경로를 통해 상기 카드와 인터페이스된 단말의 보안프로그램을 통해 생성된 단말인증값을 수신하여 저장하고 상기 카드의 칩을 통해 생성된 공개키를 수신하여 저장하는 제2 단계와, 상기 인증서버가 지정된 경로를 통해 상기 카드의 칩에 저장된 카드번호와 단말인증값을 수신하는 제3 단계와, 상기 인증서버가 상기 저장된 카드번호와 상기 수신된 카드번호를 비교하여 인증하고 상기 저장된 단말인증값과 상기 수신된 단말인증값을 비교하여 인증하는 제4 단계와, 상기 인증서버가 서버측OTP를 생성하기 위한 시간값을 생성하는 제5 단계와, 상기 인증서버가 상기 씨드값과 시간값을 이용하여 서버측OTP를 생성하는 제6 단계와, 상기 인증서버가 상기 시간값과 합산 가능한 난수값을 생성하는 제7 단계와, 상기 인증서버가 지정된 경로를 통해 시간값과 서버측OTP와 난수값을 전송하는 제8 단계를 포함할 수 있다.

Description

지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법{Method for Providing End-To-End Authentication Pass Through Assigned Terminal between Card and Server}
본 발명은 지정된 단말에 인터페이스될 카드를 1차 발급 후 2차 발급하는 과정에서 카드가 인터페이스될 지정 단말을 상기 카드의 칩과 인증서버에 지정 등록함과 동시에 보안 절차를 위한 키 값을 분배한 후, 상기 카드 또는 단말을 이용하는 과정에서 상기 카드의 칩과 인증서버 간 종단간 보안 절차가 수행되게 하는 것이다.
최근 단말을 대상으로 하는 해킹 기법이 나날이 향상되고 쉴새 없이 사용자의 개인정보들이 노출되면서, 더 이상 단말을 이용한 비대면 서비스는 안정하지 않게 되었다. 이에 업계는 사용자에게 백신 설치와 인증서 사용 등을 권고하고 있지만, 백신과 인증서마저 해킹의 대상이 되고 있는 상황에서 단말에서 서버로 제공하는 비대면 서비스는 종래의 어떠한 보안수단을 이용하더라도 더 이상 안전할 수 없게 되었다.
한편 현존하는 보안수단 중에서 가장 안전하다고 인정받는 것은 OTP(One Time Password)이다. 그러나 OTP는 사용자를 인증하는 인증수단으로서 사용될 수 있지만, OTP 자체를 비대면 서비스의 인증, 기밀성, 무결성을 확보하기 위한 보안수단으로 사용하기는 난해하며, 설령 사용한다고 하더라도 단말이 해킹되는 이상, 단순히 OTP를 보안수단으로 이용하는 것만으로는 안전성을 확보할 수 없다. 즉, 설령 OTP가 1회성의 값이라고 하더라도, OTP가 일정한 유효시간을 갖는 이상, OTP가 해킹된 단말에 입력되는 순간부터 유효시간 내에는 언제든 해킹을 통해 정상 거래를 차단하고 이를 부정하게 재사용하는 것이 가능하다.
상기와 같은 문제점을 해소하기 위한 본 발명의 목적은, 지정된 단말에 인터페이스될 카드를 1차 발급 후 2차 발급하는 과정에서 카드가 인터페이스될 지정 단말을 상기 카드의 칩과 인증서버에 지정 등록함과 동시에 보안 절차를 위한 키 값을 분배한 후, 상기 카드 또는 단말을 이용하는 과정에서 상기 카드의 칩과 인증서버 간 종단간 보안 절차가 수행되게 함으로서, 종래 단말과 서버 사이의 보안을 단말을 경유하는 카드와 서버 사이의 보안으로 전환하여 처리하는, 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법을 제공함에 있다.
본 발명에 따른 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법은, 카드의 칩이 발급프로그램으로부터 카드번호와 씨드값을 수신하여 지정된 저장영역에 저장하는 제1 단계와, 지정된 단말의 보안프로그램으로부터 정보 요청이 명령되면, 상기 카드의 칩이 지정된 저장영역의 단말인증값을 판독하여 NULL 또는 ‘0’인지 확인하는 제2 단계와, 상기 단말인증값이 NULL 또는 ‘0’인 경우, 상기 카드의 칩이 단말의 보안프로그램으로 카드번호를 응답하는 제3 단계와, 상기 카드의 칩이 상기 단말의 보안프로그램으로부터 지정된 인증서버를 통해 승인된 단말인증값과 상기 인증서버를 통해 생성된 시간값 및 OTP를 수신하는 제4 단계와, 상기 카드의 칩이 상기 씨드값과 시간값을 이용하여 상기 OTP의 유효성을 인증하는 제5 단계와, 상기 OTP의 유효성이 인증된 경우, 상기 카드의 칩이 상기 수신된 단말인증값을 지정된 저장영역에 저장하는 제6 단계를 포함한다.
본 발명에 따르면, 상기 제1 단계는 지정된 저장영역에 저장된 단말인증값을 초기화하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 상기 제6 단계는 상기 시간값을 지정된 저장영역에 저장하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 상기 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법은, 상기 카드의 칩이 공개키와 개인키를 생성하는 제7 단계와, 상기 카드의 칩이 지정된 저장영역에 상기 개인키를 저장하는 제8 단계와, 상기 카드의 칩이 상기 단말의 보안프로그램으로 상기 공개키를 응답하는 제9 단계를 더 포함할 수 있다.
한편 본 발명에 따른 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법은, 카드의 칩이 발급프로그램으로부터 카드번호와 씨드값을 수신하여 지정된 저장영역에 저장하는 제1 단계와, 지정된 단말의 보안프로그램으로부터 지정된 인증서버를 통해 승인된 단말인증값을 수신하여 지정된 저장영역에 저장하고 상기 인증서버에 저장된 공개키와 매칭되는 개인키를 저장하는 제2 단계와, 지정된 단말의 보안프로그램으로부터 정보 요청이 명령되면, 상기 카드의 칩이 지정된 저장영역의 단말인증값을 판독하여 NULL 또는 ‘0’인지 확인하는 제3 단계와, 상기 단말인증값이 NULL 또는 ‘0’이 아닌 경우, 상기 카드의 칩이 단말의 보안프로그램으로 카드번호와 단말인증값을 응답하는 제4 단계와, 상기 카드의 칩이 상기 단말의 보안프로그램으로부터 지정된 인증서버를 통해 생성된 시간값, 서버측OTP, 난수값을 수신하는 제5 단계와, 상기 카드의 칩이 상기 씨드값과 시간값을 이용하여 상기 서버측OTP의 유효성을 인증하는 제6 단계와, 상기 서버측OTP의 유효성이 인증된 경우, 상기 카드의 칩이 시간값과 난수값을 합산하여 시간값’을 결정하는 제7 단계와, 상기 카드의 칩이 상기 씨드값과 시간값’을 통해 카드측OTP를 생성하는 제8 단계와, 상기 카드의 칩이 개인키를 통해 카드측OTP를 암호화하여 암호OTP를 생성하는 제9 단계와, 상기 카드의 칩이 상기 단말의 보안프로그램으로 상기 암호OTP를 응답하는 제10 단계를 포함한다.
본 발명에 따른 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법은, 인증서버가 발급프로그램으로부터 카드의 칩에 기록된 카드번호와 씨드값을 수신하여 저장하는 제1 단계와, 상기 인증서버가 지정된 경로를 통해 상기 카드의 칩에 저장된 카드번호와 상기 카드와 인터페이스된 단말의 보안프로그램을 통해 생성된 단말인증값을 수신하는 제2 단계와, 상기 인증서버가 상기 저장된 카드번호와 상기 수신된 카드번호를 비교하여 인증하는 제3 단계와, 상기 카드번호가 인증되면, 상기 인증서버가 상기 단말인증값을 상기 카드번호 또는 씨드값과 매핑하여 저장하는 제4 단계와, 상기 인증서버가 OTP를 생성하기 위한 시간값을 생성하는 제5 단계와, 상기 인증서버가 상기 씨드값과 시간값을 이용하여 OTP를 생성하는 제6 단계와, 상기 인증서버가 지정된 경로를 통해 상기 단말인증값과 카드번호와 시간값과 OTP를 전송하는 제7 단계를 포함하며, 상기 단말인증값은 상기 카드의 칩에서 상기 OTP를 인증한 결과로서 상기 카드의 칩에 저장된다.
본 발명에 따르면, 상기 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법은, 상기 인증서버가 지정된 경로를 통해 상기 카드의 칩에서 생성한 공개키를 수신하는 제8 단계와, 상기 인증서버가 상기 수신된 공개키를 상기 카드번호 또는 씨드값 또는 단말인증값과 매핑하여 저장하는 제9 단계를 포함할 수 있다.
본 발명에 따르면, 상기 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법은, 상기 인증서버가 상기 지정된 경로를 통해 상기 카드번호를 전송하는 단계를 더 포함하며, 상기 카드번호는, 상기 단말의 보안프로그램을 통해 상기 단말에 저장되는 것을 특징으로 할 수 있다.
한편 본 발명에 따른 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법은, 인증서버가 발급프로그램으로부터 카드의 칩에 기록된 카드번호와 씨드값을 수신하여 저장하는 제1 단계와, 상기 인증서버가 지정된 경로를 통해 상기 카드와 인터페이스된 단말의 보안프로그램을 통해 생성된 단말인증값을 수신하여 저장하고 상기 카드의 칩을 통해 생성된 공개키를 수신하여 저장하는 제2 단계와, 상기 인증서버가 지정된 경로를 통해 상기 카드의 칩에 저장된 카드번호와 단말인증값을 수신하는 제3 단계와, 상기 인증서버가 상기 저장된 카드번호와 상기 수신된 카드번호를 비교하여 인증하고 상기 저장된 단말인증값과 상기 수신된 단말인증값을 비교하여 인증하는 제4 단계와, 상기 인증서버가 서버측OTP를 생성하기 위한 시간값을 생성하는 제5 단계와, 상기 인증서버가 상기 씨드값과 시간값을 이용하여 서버측OTP를 생성하는 제6 단계와, 상기 인증서버가 상기 시간값과 합산 가능한 난수값을 생성하는 제7 단계와, 상기 인증서버가 지정된 경로를 통해 시간값과 서버측OTP와 난수값을 전송하는 제8 단계를 포함할 수 있다.
본 발명에 따르면, 상기 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법은, 상기 인증서버가 상기 지정된 경로를 통해 상기 카드의 칩에서 상기 서버측OTP를 인증한 결과로서 상기 시간값과 난수값을 합산한 시간값’과 씨드값을 통해 생성한 카드측OTP를 상기 카드의 칩에 저장된 개인키를 통해 암호화한 암호OTP를 수신하는 제9 단계와, 상기 인증서버가 상기 시간값과 난수값을 합산한 시간값’과 씨드값을 통해 카드측OTP’를 생성하는 제10 단계와, 상기 인증서버가 상기 카드측OTP’와 공개키를 통해 상기 암호OTP의 유효성을 인증하는 제11 단계와, 상기 인증서버가 상기 암호OTP의 인증 결과를 지정된 경로를 통해 전송하는 제12 단계를 더 포함할 수 있다.
본 발명에 따르면, 사용자의 지정된 단말을 이용하여 서비스를 이용하는 경우에 사용자가 소지한 카드를 이용하여 카드의 칩과 인증서버 간 종단 간 인증 절차를 수행함으로써, 사용자가 상기 카드를 소지하고 있는 경우에 상기 사용자에게 상기 서비스가 안전하게 제공되도록 하는 이점이 있다.
도 1은 본 발명의 실시 방법에 따라 지정 단말을 경유하는 카드와 인증서버 간 종단간 보안 시스템의 구성을 도시한 것이다.
도 2는 본 발명의 실시 방법에 따른 카드의 1차 발급 과정을 도시한 도면이다.
도 3과 도 4는 본 발명의 실시 방법에 따른 카드의 2차 발급 과정을 도시한 도면이다.
도 5와 도 6은 본 발명의 실시 방법에 따른 카드와 인증서버 사이에 지정된 단말을 경유하는 종단 간 인증 과정을 도시한 도면이다.
이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다. 예를들어, 서버 측에 구비된 구성부가 단말 측에 구현되거나, 반대로 단말 측에 구비된 구성부가 서버 측에 구현되는 형태로 실시되는 것이 가능하다.
또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도면1은 본 발명의 실시 방법에 따라 지정 단말(125)을 경유하는 카드(110)와 인증서버(140) 간 종단간 보안 시스템의 구성을 도시한 것이다.
보다 상세하게 본 도면1은 사용자의 단말(125)에 인터페이스될 카드(110)를 1차 발급 후 2차 발급하는 과정에서 카드(110)가 인터페이스될 사용자의 단말(125)을 상기 카드(110)의 칩(115)과 인증서버(140)에 지정 등록함과 동시에 보안 절차를 위한 키 값을 분배한 후, 상기 카드(110) 또는 단말(125)을 이용하는 과정에서 상기 카드(110)의 칩(115)과 인증서버(140) 간 종단간 보안 절차가 수행되게 하는 시스템의 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면1을 참조 및/또는 변형하여 상기 지정 단말(125)을 경유하는 카드(110)와 인증서버(140) 간 종단간 보안 시스템의 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면1에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
본 발명의 시스템은, 카드(110)의 1차 발급을 처리하는 발급장치(100)와, 카드(110)의 1차 발급을 처리하는 사용자의 단말(125)과 서비스서버(135) 및 인증서버(140)를 포함하여 이루어지며, 실시 방법에 따라 상기 서비스서버(135)는 생략 가능하고, 이 경우 상기 사용자의 단말(125)은 상기 인증서버(140)와 통신 가능하다.
상기 카드(110)는 사용자의 단말(125)과 인터페이스 가능한 인터페이스부(120)와, 카드번호, 씨드값, 단말인증값을 저장 가능하고 OTP(One Time Password) 생성 및/또는 인증이 가능한 칩(115)을 구비한 카드(110)의 총칭으로서, 바람직하게 NFC(Near Field Communication)를 통해 사용자의 단말(125)과 인터페이스되고 메모리와 프로세서를 내장한 IC칩(115)을 구비한 NFC카드(110)를 포함할 수 있다.
본 발명의 실시 방법에 따르면, 상기 카드(110)의 칩(115)은 1차 발급 절차를 통해 카드번호와 씨드값이 저장되며, 상기 단말인증값은 NULL 또는 ‘0’으로 초기화된다. 상기 카드(110)의 칩(115)은 2차 발급 절차를 통해 초기 값을 지닌 단말인증값이 유효한 값으로 저장되며, 인증서버(140)와의 종단간 보안을 위한 개인키를 생성 및 저장하다.
상기 발급장치(100)는 사용자의 단말(125)과 인터페이스될 카드(110)를 1차 발급하는 장치의 총칭으로서, 카드(110)를 제조 및/또는 1차 발급하는 1차 발급기관에 구비된다. 상기 발급장치(100)는 카드(110)의 1차 발급을 위한 발급프로그램(105)이 구비된다. 본 발명에 따른 1차 발급은 카드(110)를 물리적으로 제조하거나, 및/또는 카드(110)의 칩(115)에 카드번호(예컨대, 카드(110) 또는 칩(115)을 고유 식별하는 일변번호, 고유코드 등)를 기록하거나, 및/또는 카드(110)의 칩(115)에 씨드값을 기록하는 절차를 포함한다.
상기 사용자의 단말(125)은 상기 카드(110)와 인터페이스하여 상기 카드(110)의 칩(115)과 통신 가능한 단말의 총칭으로서, 바람직하게 사용자의 스마트폰, 휴대폰, 태블릿PC 등의 무선단말을 포함하는 것이 바람직하다. 그러나 상기 사용자의 단말(125)이 무선단말로 한정되는 것은 아니며, 상기 카드(110)와 인터페이스 가능한 단말이라면, 예컨대 상기 카드(110)와 접촉식으로 인터페이스가 가능한 카드단말이라도 무방하다.
본 발명의 실시 방법에 따르면, 상기 사용자의 단말(125)은 상기 카드(110)와 단말(125)이 인터페이스되는 경우에 상기 카드(110)에 대한 2차 발급 절차 및/또는 보안 절차를 수행하는 프로그램이 구비되는 것이 바람직하다. 이하, 편의상 상기 카드(110)에 대한 2차 발급 절차 및/또는 보안 절차를 수행하기 위한 사용자의 단말(125)에 구비되는 프로그램을 ‘보안프로그램(130)’이라고 명명하여 설명하기로 한다.
상기 보안프로그램(130)은 상기 사용자의 단말(125)에 인터페이스된 카드(110)를 확인(예컨대, 단말(125)의 NFC모듈을 통신 가능한 카드(110)를 확인)하고, 상기 카드(110)의 칩(115)으로 정보 요청 명령을 전달한다.
만약 상기 카드(110)의 칩(115)에 유효한 단말인증값이 저장되지 않은 경우, 상기 카드(110)의 칩(115)은 상기 정보 요청 명령에 대응하여 상기 1차 발급 과정에서 저장된 카드번호를 응답할 수 있으며, 이 경우 상기 보안프로그램(130)은 상기 카드(110)의 칩(115)으로 유효한 단말인증값을 저장하는 2차 발급 절차를 수행할 수 있다. 한편 실시 방법에 따라 상기 카드(110)의 칩(115)에 유효한 단말인증값이 저장되지 않은 경우라도 상기 카드(110)의 칩(115)은 상기 카드번호와 단말인증값을 응답할 수 있으며, 이 경우 상기 보안프로그램(130)은 상기 단말인증값이 유효한 값인지 또는 초기 값인지 판독하여, 2차 발급 절차 또는 종단간 보안 절차를 선택적으로 수행할 수 있다. 상기 2차 발급 절차에 대한 바람직한 실시예는 도면3과 도면4에 도시하여 설명하기로 한다.
한편 상기 카드(110)의 칩(115)에 유효한 단말인증값이 저장된 경우, 상기 카드(110)의 칩(115)은 상기 정보 요청 명령에 대응하여 상기 1차 발급 과정에서 저장된 카드번호와 2차 발급 과정에서 저장된 단말인증값을 응답할 수 있으며, 이 경우 상기 보안프로그램(130)은 상기 카드(110)의 칩(115)과 인증서버(140) 사이의 종단간 보안 절차를 수행할 수 있다. 상기 종단간 보안 절차에 대한 바람직한 실시예는 도면5와 도면6에 도시하여 설명하기로 한다.
상기 서비스서버(135)는 상기 단말(125)의 보안프로그램(130)과 통신하는 서버의 총칭으로서, 상기 사용자의 단말(125)에 상기 보안프로그램(130)을 탑재한 기관에서 운영하는 서버를 포함하는 것이 바람직하다. 바람직하게, 상기 서비스서버(135)는 은행의 뱅킹서버, 카드(110)사의 결제서버, 증권사의 거래서버 등, 상기 보안프로그램(130)과 인증서버(140) 사이의 종단간 보안 절차를 필요로 하는 모든 서버를 포함할 수 있다. 한편 실시 방법에 따라 상기 서비스서버(135)와 인증서버(140)는 하나의 서버로 통합될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
상기 인증서버(140)는 단말(125)의 보안프로그램(130)과 종단간 보안 절차를 수행하는 서버의 총칭으로서, 상기 사용자의 단말(125)에 상기 보안프로그램(130)을 탑재한 기관, 및/또는 상기 카드(110)를 발급하는 발급기관에서 운영하는 서버, 및/또는 지정된 인증기관에서 운영하는 서버 중 적어도 하나의 서버를 포함하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 인증서버(140)는 1차 발급 절차를 통해 카드(110)의 칩(115)에 기록된 카드번호와 씨드값을 저장하며, 2차 발급 절차를 통해 단말인증값과 카드(110)와의 종단간 보안을 위한 공개키를 확인 및 저장한다.
도면2는 본 발명의 실시 방법에 따른 카드(110)의 1차 발급 과정을 도시한 도면이다.
보다 상세하게 본 도면2는 사용자의 단말(125)에 인터페이스된 카드(110)와 인증서버(140) 간 종단 간 인증을 처리하기 위한 카드(110)를 1차 발급하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면2를 참조 및/또는 변형하여 상기 카드(110)의 1차 발급 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면2에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면2를 참조하면, 카드(110)를 1차 발급하는 1차 발급기관의 발급프로그램(105)은 카드(110)의 칩(115)에 기록할 카드번호와 씨드값을 결정하고(200), 카드(110)의 칩(115)으로 상기 카드번호와 씨드값을 발급하면(205), 상기 카드(110)의 칩(115)은 상기 카드번호와 씨드값을 수신하고(210), 지정된 저장영역에 상기 카드번호와 씨드값을 저장하며(215), 지정된 저장영역의 단말인증값을 NULL 또는 ‘0’으로 초기화한다(215). 만약 상기 단말인증값이 NULL 또는 ‘0’으로 저장된 경우, 상기 단말인증값의 초기화는 생략 가능하다.
상기 발급프로그램(105)은 상기 카드(110)의 칩(115)에 기록된 카드번호와 씨드값을 지정된 인증서버(140)로 전송하며(220), 상기 인증서버(140)는 상기 카드번호와 씨드값을 수신하고(225), 상기 카드번호와 씨드값을 매핑하여 지정된 저장매체에 저장한다(230).
도면3은 본 발명의 실시 방법에 따른 카드(110)의 2차 발급 과정을 도시한 도면이다.
보다 상세하게 본 도면3은 상기 도면2에 도시된 과정을 통해 1차 발급된 카드(110)의 칩(115)과 인증서버(140)로 상기 카드(110)가 인터페이스될 단말(125)에 대한 단말인증값을 분배 저장하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면3을 참조 및/또는 변형하여 상기 카드(110)의 2차 발급 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면3에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면3을 참조하면, 상기 도면2에 도시된 과정을 통해 1차 발급된 카드(110)가 인터페이스될 단말(125)에는 종단 간 인증을 위한 보안프로그램(130)이 탑재되며, 상기 단말(125)의 보안프로그램(130)은 사용자정보를 입력받아 서비스서버(135)에 등록하는 절차를 수행하며(300), 상기 서비스서버(135)는 상기 단말(125)의 보안프로그램(130)으로부터 사용자정보를 수신하여 저장한다(300). 바람직하게, 상기 사용자정보는 사용자가 입력한 PIN(Personal Identification Number)을 포함하는 것이 바람직하며, 실시 방법에 따라 회원 가입을 위한 사용자의 개인정보를 더 포함할 수 있다.
상기 단말(125)의 보안프로그램(130)은 단말(125)로 인터페이스된 카드(110)를 확인하고, 상기 인터페이스된 카드(110)의 칩(115)으로 정보 요청 명령을 전달하며(305), 상기 카드(110)의 칩(115)은 상기 정보 요청 명령을 근거로 상기 칩(115)의 지정된 저장영역에 저장된 단말인증값이 NULL 또는 ‘0’인지 확인한다(310). 만약 상기 단말인증값이 NULL 또는 ‘0’이 아니라면, 상기 카드(110)의 칩(115)은 도면5에 도시된 과정을 수행할 수 있다.
한편 상기 단말인증값이 NULL 또는 ‘0’이라면, 상기 카드(110)의 칩(115)은 보안프로그램(130)으로 지정된 저장영역에 저장된 카드번호를 응답하며(315), 상기 단말(125)의 보안프로그램(130)은 상기 카드(110)의 칩(115)으로부터 상기 카드번호를 수신한다(315). 한편 실시 방법에 따라 상기 카드(110)의 칩(115)은 상기 카드번호와 함께 상기 단말인증값을 응답할 수 있으며, 이 경우 상기 보안프로그램(130)이 상기 단말인증값이 NULL 또는 ‘0’인지 판독하여 2차 발급 과정을 수행할 지 또는 종단 간 보안 절차를 수행할 지 결정할 수 있다.
상기 단말(125)의 보안프로그램(130)은 사용자정보(예컨대, PIN 등)를 입력받고, 카드(110)의 칩(115)과 인증서버(140)에 분배, 저장될 단말인증값을 생성한다(320). 상기 단말인증값은 상기 카드(110)가 인터페이스될 단말(125)을 지정하는 값의 총칭으로서, 상기 보안프로그램(130)에서 단말(125)에 설정된 설정 값(예컨대, 단말(125)의 메모리 또는 칩(115)에 저장된 값), 임의로 결정한 결정 값, 지정된 서버로부터 수신한 수신 값 중 적어도 하나를 이용하여 생성한 값을 포함하는 것이 바람직하며, 실시 방법에 따라 상기 설정 값, 결정 값, 수신 값 중 적어도 하나의 값이 상기 단말인증값으로 결정될 수 있다.
상기 단말(125)의 보안프로그램(130)은 지정된 서비스서버(135)로 상기 카드번호, 단말인증값, 사용자정보를 전송하고(325), 상기 서비스서버(135)는 상기 보안프로그램(130)으로부터 상기 카드번호, 단말인증값, 사용자정보를 수신한다(325).
상기 서비스서버(135)는 저장된 사용자정보를 통해 상기 수신된 사용자정보의 유효성을 인증한다(330). 만약 상기 사용자정보의 유효성이 인증되지 않으면, 상기 서비스서버(135)는 상기 사용자정보 인증 오류에 대응하는 오류 처리 절차를 수행하며(335), 상기 단말(125)의 보안프로그램(130)은 상기 오류 처리 절차의 결과로서 오류 정보를 출력한다(335).
한편 상기 사용자정보의 유효성이 인증되면, 상기 서비스서버(135)는 지정된 인증서버(140)로 상기 카드번호와 단말인증값을 전송하고(340), 상기 인증서버(140)는 상기 서비스서버(135)로부터 상기 카드번호와 단말인증값을 수신한다(340).
상기 인증서버(140)는 1차 발급 과정에서 저장된 카드번호를 통해 상기 수신된 카드번호의 유효성을 인증한다(345). 만약 상기 카드번호의 유효성이 인증되지 않으면, 상기 인증서버(140)는 카드번호 인증 오류에 대응하는 오류 처리 절차를 수행하며(335), 상기 단말(125)의 보안프로그램(130)은 상기 오류 처리 절차의 결과로서 오류 정보를 출력한다(335).
한편 상기 카드번호의 유효성이 인증되면, 상기 인증서버(140)는 상기 수신된 단말인증값을 상기 1차 발급 과정에서 저장된 카드번호 및/또는 씨드값과 매핑하여 저장하고(350), OTP 생성을 위한 시간 값을 생성한다(355). 상기 인증서버(140)는 상기 1차 발급 과정에서 저장된 씨드 값과 상기 생성된 시간값을 이용하여 OTP를 생성하고(360), 상기 서비스서버(135)로 상기 단말인증값, 카드번호, 시간값, OTP를 전송하며x65), 상기 서비스서버(135)는 상기 인증서버(140)로부터 상기 단말인증값, 카드번호, 시간값, OTP를 수신한다(365). 상기 인증서버(140)에서 서비스서버(135)로 전송하는 단말인증값을 상기 보안프로그램(130)을 통해 생성되어 서비스서버(135)를 거쳐 수신된 단말인증값과 동일한 값인 것이 바람직하나, 실시 방법에 따라 상기 단말인증값은 상기 수신된 단말인증값과 다른 값으로서 상기 인증서버(140)에 의해 상기 수신된 단말인증값을 가공한 값, 또는 상기 인증서버(140)에 의해 신규 생성된 값을 포함하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
상기 서비스서버(135)는 상기 인증서버(140)로부터 수신된 카드번호를 저장한다(370). 실시 방법에 따라 상기 서비스서버(135)는 상기 단말(125)의 보안프로그램(130)으로부터 수신된 카드번호를 저장할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
상기 서비스서버(135)는 상기 단말(125)의 보안프로그램(130)으로 상기 단말인증값, 시간값, OTP를 전송하고(375), 상기 단말(125)의 보안프로그램(130)은 상기 단말인증값, 시간값, OTP를 수신한다(375).
상기 단말(125)의 보안프로그램(130)은 상기 서비스서버(135)로부터 수신된 단말인증값을 저장한다(380). 상기 보안프로그램(130)이 생성한 단말인증값과 상기 수신된 단말인증값이 동일한 경우, 상기 보안프로그램(130)은 상기 생성한 단말인증값을 저장할 수 있다. 상기 단말(125)의 보안프로그램(130)은 상기 인터페이스된 카드(110)로 상기 단말인증값, 시간값, OTP를 전송하고(385), 상기 카드(110)의 칩(115)은 상기 단말(125)의 보안프로그램(130)으로부터 상기 단말인증값, 시간값, OTP를 수신한다(385).
상기 카드(110)의 칩(115)은 상기 1차 발급 과정에서 저장된 씨드값과 상기 수신된 시간값을 이용하여 OTP’를 생성하고(390), 상기 수신된 OTP와 생성된 OTP’를 비교하여 인증한다(395). 만약 상기 OTP와 OTP’가 일치하지 않는다면, 상기 카드(110)의 칩(115)은 상기 OTP 인증 오류에 대한 오류 처리 절차를 수행하며(335), 상기 단말(125)의 보안프로그램(130)은 상기 오류 처리 절차의 결과로서 오류 정보를 출력한다(335).
한편 상기 OTP와 OTP’가 일치하면, 상기 카드(110)의 칩(115)은 상기 수신된 단말인증값을 저장하며(399), 실시 방법에 따라 상기 수신된 시간값을 저장한다(399). 상기 시간값이 저장된 경우, 상기 카드(110)의 칩(115)은 종단 간 보안 절차 중에 상기 저장된 시간값을 이용한 시간 인증을 수행할 수 있다.
도면4는 본 발명의 실시 방법에 따른 카드(110)의 2차 발급 과정을 도시한 도면이다.
보다 상세하게 본 도면4는 상기 도면2에 도시된 과정을 통해 1차 발급된 카드(110)의 칩(115)과 인증서버(140)로 종단 간 보안 절차를 수행하기 위한 키 값을 분배 저장하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면4를 참조 및/또는 변형하여 상기 카드(110)의 2차 발급 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면4에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면4를 참조하면, 상기 도면3에 도시된 과정을 통해 카드(110)의 칩(115)과 인증서버(140)에 단말인증값이 분배 저장된 경우, 상기 카드(110)의 칩(115)은 지정된 키 생성 알고리즘을 통해 공개키와 개인키를 생성하고(400), 상기 생성된 공개키와 개인키 중 개인키를 지정된 저장영역에 저장하고(405), 인터페이스된 단말(125)로 상기 생성된 공개키를 응답하며(410), 상기 단말(125)의 보안프로그램(130)은 상기 카드(110)의 칩(115)으로부터 공개키를 수신한다(410).
상기 단말(125)의 보안프로그램(130)은 서비스서버(135)로 상기 공개키를 전송하고(415), 상기 서비스서버(135)는 상기 보안프로그램(130)으로부터 상기 공개키를 수신한다(415). 상기 서비스서버(135)는 인증서버(140)로 상기 공개키를 전송하고(420), 상기 인증서버(140)는 상기 서비스서버(135)로부터 상기 공개키를 수신한다(420). 상기 인증서버(140)는 상기 공개키를 상기 1차 발급 과정에서 저장된 카드번호 및/또는 씨드값과 매핑하여 저장하고(425), 서비스서버(135)로 상기 카드번호를 전송하며(430), 상기 서비스서버(135)는 상기 인증서버(140)로부터 상기 카드번호를 수신한다(430).
상기 서비스서버(135)는 상기 단말(125)의 보안프로그램(130)으로 상기 카드번호를 전송하고(435), 상기 단말(125)의 보안프로그램(130)은 상기 서비스서버(135)로부터 카드번호를 수신하고(435), 상기 수신된 카드번호를 지정된 저장영역에 저장한다(440).
도면5는 본 발명의 실시 방법에 따른 카드(110)와 인증서버(140) 사이에 지정된 단말(125)을 경유하는 종단 간 인증 과정을 도시한 도면이다.
보다 상세하게 본 도면5는 상기 도면3과 도면4에 도시된 과정을 통해 2차 발급 과정을 거친 카드(110)의 칩(115)과 인증서버(140) 사이에 종단 간 보안 절차를 수행하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면5를 참조 및/또는 변형하여 상기 종단 간 인증 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면5에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다. 예를들어, 본 도면5의 종단 간 인증 과정은 카드(110)의 칩(115)과 인증서버(140) 사이에 지정된 정보를 교환하거나, 또는 상기 카드(110)의 칩(115)이 인터페이스된 단말(125)과 인증서버(140) 사이에 지정된 정보를 교환하는 과정 중에 보안 절차로서 수행될 수 있으나, 편의상 본 도면5는 상기 정보를 교환하는 절차는 도시 및 설명을 생략하기로 한다.
도면5를 참조하면, 단말(125)의 보안프로그램(130)은 단말(125)로 인터페이스된 카드(110)를 확인하고, 상기 인터페이스된 카드(110)의 칩(115)으로 정보 요청 명령을 전달하며(500), 상기 카드(110)의 칩(115)은 상기 정보 요청 명령을 근거로 상기 칩(115)의 지정된 저장영역에 저장된 단말인증값이 NULL 또는 ‘0’인지 확인한다(505). 만약 상기 단말인증값이 NULL 또는 ‘0’이라면, 상기 카드(110)의 칩(115)은 상기 도면3에 도시된 과정을 수행할 수 있다.
한편 상기 단말인증값이 NULL 또는 ‘0’이 아니라면, 상기 카드(110)의 칩(115)은 보안프로그램(130)으로 지정된 저장영역에 저장된 카드번호와 단말인증값을 응답하며(510), 상기 단말(125)의 보안프로그램(130)은 상기 카드(110)의 칩(115)으로부터 상기 카드번호와 단말인증값을 수신한다(510).
상기 단말(125)의 보안프로그램(130)은 상기 도면3에 도시된 과정을 통해 저장된 단말인증값과 상기 카드(110)의 칩(115)으로부터 수신된 단말인증값을 비교하여 상기 단말인증값의 유효성을 인증한다(515). 만약 상기 단말인증값의 유효성이 인증되지 않으면, 상기 보안프로그램(130)은 상기 단말인증값의 인증 오류에 대한 오류 정보를 출력한다(520).
한편 상기 단말(125)의 보안프로그램(130)은 상기 도면3에 도시된 과정을 통해 저장된 카드번호와 상기 카드(110)의 칩(115)으로부터 수신된 카드번호를 비교하여 상기 카드번호의 유효성을 인증한다(525). 만약 상기 카드번호의 유효성이 인증되지 않으면, 상기 보안프로그램(130)은 상기 카드번호의 인증 오류에 대한 오류 정보를 출력한다(520). 상기 단말인증값과 카드번호의 인증 순서는 변경되거나, 또는 일부 생략 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
상기 단말인증값과 카드번호 중 하나 이상의 지정된 정보에 대한 유효성이 인증되면, 상기 단말(125)의 보안프로그램(130)은 사용자정보를 입력받고(530), 서비스서버(135)로 카드번호, 단말인증값, 사용자정보를 전송하며(535), 서비스서버(135)는 단말(125)의 보안프로그램(130)으로부터 카드번호, 단말인증값, 사용자정보를 수신한다(535).
상기 서비스서버(135)는 상기 도면3에 도시된 과정을 통해 등록된 사용자정보와 상기 수신된 사용자정보를 비교하여 상기 사용자정보의 유효성을 인증한다(540). 만약 상기 사용자정보의 유효성이 인증되지 않으면, 상기 보안프로그램(130)은 상기 사용자정보의 인증 오류에 대한 오류 정보를 출력한다(520).
상기 서비스서버(135)는 인증서버(140)로 상기 카드번호와 단말인증값을 전송하고(545), 상기 인증서버(140)는 상기 서비스서버(135)로부터 상기 카드번호와 단말인증값을 수신한다(545).
상기 인증서버(140)는 상기 도면3에 도시된 과정을 통해 저장된 카드번호와 상기 서비스서버(135)로부터 수신된 카드번호를 비교하여 상기 카드번호의 유효성을 인증한다(550). 만약 상기 카드번호의 유효성이 인증되지 않으면, 상기 인증서버(140)는 상기 카드번호의 인증 오류에 대한 오류 처리 절차를 수행하고(520), 상기 단말(125)의 보안프로그램(130)은 상기 오류 처리 절차의 결과로서 오류 정보를 출력한다(520).
한편 상기 인증서버(140)는 상기 도면3에 도시된 과정을 통해 저장된 단말인증값과 상기 서비스서버(135)로부터 수신된 단말인증값을 비교하여 상기 단말인증값의 유효성을 인증한다(555). 만약 상기 단말인증값의 유효성이 인증되지 않으면, 상기 인증서버(140)는 상기 단말인증값의 인증 오류에 대한 오류 처리 절차를 수행하고(520), 상기 단말(125)의 보안프로그램(130)은 상기 오류 처리 절차의 결과로서 오류 정보를 출력한다(520). 상기 단말인증값과 카드번호의 인증 순서는 변경되거나, 또는 일부 생략 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
상기 단말인증값과 카드번호 중 하나 이상의 지정된 정보에 대한 유효성이 인증되면, 상기 인증서버(140)는 서버측OTP를 생성하기 위한 시간값을 생성하며(560), 실시 방법에 따라 상기 생성된 시간값을 상기 카드번호 및/또는 단말인증값과 매핑하여 임시 저장할 수 있다(560).
상기 인증서버(140)는 상기 1차 발급 과정을 통해 저장된 씨드값과 상기 생성된 시간값을 이용하여 서버측OTP를 생성한다(565). 상기 인증서버(140)는 상기 시간값과 지정된 연산을 수행 가능한 난수값을 결정하고(570), 상기 결정된 난수값을 상기 카드번호 및/또는 단말인증값과 매핑하여 임시 저장한다(570). 실시 방법에 따라 상기 인증서버(140)는 상기 시간값과 난수값을 합산하여 시간값’을 결정하여 임시 저장할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
상기 인증서버(140)는 상기 서비스서버(135)로 상기 시간값, 서버측OTP, 난수값을 전송하고(575), 상기 서비스서버(135)는 상기 인증서버(140)로부터 상기 시간값, 서버측OTP, 난수값을 수신한다(575). 상기 서비스서버(135)는 상기 단말(125)의 보안프로그램(130)으로 상기 시간값, 서버측OTP, 난수값을 전송한다(580).
도면6은 본 발명의 실시 방법에 따른 카드(110)와 인증서버(140) 사이에 지정된 단말(125)을 경유하는 종단 간 인증 과정을 도시한 도면이다.
보다 상세하게 본 도면6은 상기 도면3과 도면4에 도시된 과정을 통해 2차 발급 과정을 거친 카드(110)의 칩(115)과 인증서버(140) 사이에 종단 간 보안 절차를 수행하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면6을 참조 및/또는 변형하여 상기 종단 간 인증 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면6에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다. 예를들어, 도면5와 본 도면6의 종단 간 인증 과정은 카드(110)의 칩(115)과 인증서버(140) 사이에 지정된 정보를 교환하거나, 또는 상기 카드(110)의 칩(115)이 인터페이스된 단말(125)과 인증서버(140) 사이에 지정된 정보를 교환하는 과정 중에 보안 절차로서 수행될 수 있으나, 편의상 도면5와 본 도면6은 상기 정보를 교환하는 절차는 도시 및 설명을 생략하기로 한다.
도면6을 참조하면, 단말(125)의 보안프로그램(130)은 상기 도면5에 도시된 과정을 통해 서비스서버(135)로부터 전송된 시간값, 서버측OTP, 난수값을 수신하고(600), 인터페이스된 카드(110)의 칩(115)으로 상기 시간값, 서버측OTP, 난수값을 전송하며(605), 상기 카드(110)의 칩(115)은 상기 보안프로그램(130)으로부터 상기 시간값, 서버측OTP, 난수값을 수신한다(605).
상기 카드(110)의 칩(115)은 상기 1차 발급 과정을 통해 저장된 씨드값과 상기 수신된 시간값을 이용하여 서버측OTP’를 생성하고(610), 상기 수신된 서버측OTP와 상기 생성된 서버측OTP’를 비교하여 인증한다(615). 만약 상기 서버측OTP와 서버측OTP’가 일치하지 않는다면, 상기 카드(110)의 칩(115)은 상기 서버측OTP 인증 오류에 대한 오류 처리 절차를 수행하며(620), 상기 단말(125)의 보안프로그램(130)은 상기 오류 처리 절차의 결과로서 오류 정보를 출력한다(620).
한편 상기 서버측OTP와 서버측OTP’가 일치하면, 상기 카드(110)의 칩(115)은 상기 수신된 시간값과 난수값을 합산하여 시간값’을 결정하고(625), 상기 1차 발급 과정을 통해 저장된 씨드값과 상기 결정된 시간값’을 통해 카드측OTP를 생성한다(630).
상기 카드(110)의 칩(115)은 상기 도면4에 도시된 과정을 통해 지정된 저장영역에 저장된 개인키를 통해 상기 카드측OTP를 암호화하여 암호OTP를 생성한다(635). 상기 암호OTP는 1방향 암호 함수를 통해 상기 카드측OTP를 복원 불가능하게 암호화하는 방식과, 상기 카드측OTP를 복원 가능하게 암호화하는 방식 중 어느 하나를 통해 생성될 수 있다.
상기 카드(110)의 칩(115)은 인터페이스된 단말(125)의 보안프로그램(130)으로 상기 암호OTP를 응답하며(640), 상기 단말(125)의 보안프로그램(130)은 상기 카드(110)의 칩(115)으로부터 상기 암호OTP를 수신한다(640). 상기 단말(125)의 보안프로그램(130)은 서비스서버(135)로 상기 암호OTP를 전송하며(645), 상기 서비스서버(135)는 단말(125)의 보안프로그램(130)으로부터 상기 암호OTP를 수신한다(645). 상기 서비스서버(135)는 인증서버(140)로 상기 암호OTP를 전송하며(650), 상기 인증서버(140)는 상기 서비스서버(135)로부터 상기 암호OTP를 수신한다(650).
상기 인증서버(140)는 상기 도면5에 도시된 과정을 통해 임시 저장된 시간값과 임시 저장된 난수값을 이용하여 시간값’을 결정한다(655). 한편 상기 도면5에 도시된 과정에서 상기 시간값이 임시 저장되지 않은 경우, 상기 인증서버(140)는 현재 시간을 기준으로 OTP 인증을 위한 시간 테이블(예컨대, 현재 시간을 기준으로 지정된 OTP 유효 시간에 대응하는 과거 시간 동안의 복수 시간값을 포함하는 테이블)을 생성한 후 상기 시간 테이블의 시간값에 상기 난수값을 합산하여 시간 테이블’을 생성할 수 있다.
상기 인증서버(140)는 상기 1차 발급 과정에서 저장된 씨드값과 상기 결정된 시간값’을 이용하여 카드측OTP’를 생성한다(660). 만약 상기 수신된 암호OTP가 1방향 암호 함수로 암호화된 경우, 상기 인증서버(140)는 상기 도면4에 도시된 과정을 통해 저장된 공개키를 통해 상기 생성된 카드측OTP’를 암호화하여 암호OTP’를 생성하고(665), 상기 수신된 암호OTP와 상기 생성된 암호OTP’를 비교하여 인증한다(670). 한편 상기 수신된 암호OTP가 복원 가능하게 암호화된 경우, 상기 인증서버(140)는 상기 도면4에 도시된 과정을 통해 저장된 공개키를 통해 상기 수신된 암호OTP를 복호화하여 카드측OTP를 확인하고, 상기 카드측OTP와 상기 카드측OTP’를 비교하여 인증할 수 있다.
만약 상기 수신된 암호OTP의 유효성이 인증되지 않으면, 상기 인증서버(140)는 암호OTP의 인증 오류에 대한 오류 처리 절차를 수행하며(620), 상기 단말(125)의 보안프로그램(130)은 상기 오류 처리 절차의 결과로서 오류 정보를 출력한다(620).
만약 상기 수신된 암호OTP의 유효성이 인증되면, 상기 인증서버(140)는 암호OTP의 인증 확인 처리 절차를 수행하며(670), 상기 단말(125)의 보안프로그램(130)은 상기 인증 확인 처리 절차의 결과로서 인증 확인 정보를 출력한다(670).
100 : 발급장치 105 : 발급프로그램
110 : 카드 115 : 칩
125 : 단말 130 : 보안프로그램
135 : 서비스서버 140 : 인증서버

Claims (10)

  1. 카드의 칩이 발급프로그램으로부터 카드번호와 씨드값을 수신하여 지정된 저장영역에 저장하는 제1 단계;
    지정된 단말의 보안프로그램으로부터 정보 요청이 명령되면, 상기 카드의 칩이 지정된 저장영역의 단말인증값을 판독하여 NULL 또는 ‘0’인지 확인하는 제2 단계;
    상기 단말인증값이 NULL 또는 ‘0’인 경우, 상기 카드의 칩이 단말의 보안프로그램으로 카드번호를 응답하는 제3 단계;
    상기 카드의 칩이 상기 단말의 보안프로그램으로부터 지정된 인증서버를 통해 승인된 단말인증값과 상기 인증서버를 통해 생성된 시간값 및 OTP를 수신하는 제4 단계;
    상기 카드의 칩이 상기 씨드값과 시간값을 이용하여 상기 OTP의 유효성을 인증하는 제5 단계; 및
    상기 OTP의 유효성이 인증된 경우, 상기 카드의 칩이 상기 수신된 단말인증값을 지정된 저장영역에 저장하는 제6 단계;를 포함하는 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법.
  2. 제 1항에 있어서, 상기 제1 단계는,
    지정된 저장영역에 저장된 단말인증값을 초기화하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법.
  3. 제 1항에 있어서, 상기 제6 단계는,
    상기 시간값을 지정된 저장영역에 저장하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법.
  4. 제 1항에 있어서,
    상기 카드의 칩이 공개키와 개인키를 생성하는 제7 단계;
    상기 카드의 칩이 지정된 저장영역에 상기 개인키를 저장하는 제8 단계; 및
    상기 카드의 칩이 상기 단말의 보안프로그램으로 상기 공개키를 응답하는 제9 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법.
  5. 카드의 칩이 발급프로그램으로부터 카드번호와 씨드값을 수신하여 지정된 저장영역에 저장하는 제1 단계;
    지정된 단말의 보안프로그램으로부터 지정된 인증서버를 통해 승인된 단말인증값을 수신하여 지정된 저장영역에 저장하고 상기 인증서버에 저장된 공개키와 매칭되는 개인키를 저장하는 제2 단계;
    지정된 단말의 보안프로그램으로부터 정보 요청이 명령되면, 상기 카드의 칩이 지정된 저장영역의 단말인증값을 판독하여 NULL 또는 ‘0’인지 확인하는 제3 단계;
    상기 단말인증값이 NULL 또는 ‘0’이 아닌 경우, 상기 카드의 칩이 단말의 보안프로그램으로 카드번호와 단말인증값을 응답하는 제4 단계;
    상기 카드의 칩이 상기 단말의 보안프로그램으로부터 지정된 인증서버를 통해 생성된 시간값, 서버측OTP, 난수값을 수신하는 제5 단계;
    상기 카드의 칩이 상기 씨드값과 시간값을 이용하여 상기 서버측OTP의 유효성을 인증하는 제6 단계;
    상기 서버측OTP의 유효성이 인증된 경우, 상기 카드의 칩이 시간값과 난수값을 합산하여 시간값’을 결정하는 제7 단계;
    상기 카드의 칩이 상기 씨드값과 시간값’을 통해 카드측OTP를 생성하는 제8 단계;
    상기 카드의 칩이 개인키를 통해 카드측OTP를 암호화하여 암호OTP를 생성하는 제9 단계; 및
    상기 카드의 칩이 상기 단말의 보안프로그램으로 상기 암호OTP를 응답하는 제10 단계;를 포함하는 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법.
  6. 인증서버가 발급프로그램으로부터 카드의 칩에 기록된 카드번호와 씨드값을 수신하여 저장하는 제1 단계;
    상기 인증서버가 지정된 경로를 통해 상기 카드의 칩에 저장된 카드번호와 상기 카드와 인터페이스된 단말의 보안프로그램을 통해 생성된 단말인증값을 수신하는 제2 단계;
    상기 인증서버가 상기 저장된 카드번호와 상기 수신된 카드번호를 비교하여 인증하는 제3 단계;
    상기 카드번호가 인증되면, 상기 인증서버가 상기 단말인증값을 상기 카드번호 또는 씨드값과 매핑하여 저장하는 제4 단계;
    상기 인증서버가 OTP를 생성하기 위한 시간값을 생성하는 제5 단계;
    상기 인증서버가 상기 씨드값과 시간값을 이용하여 OTP를 생성하는 제6 단계; 및
    상기 인증서버가 지정된 경로를 통해 상기 단말인증값과 카드번호와 시간값과 OTP를 전송하는 제7 단계;를 포함하며,
    상기 단말인증값은, 상기 카드의 칩에서 상기 OTP를 인증한 결과로서 상기 카드의 칩에 저장되는 것을 특징으로 하는 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법.
  7. 제 6항에 있어서,
    상기 인증서버가 지정된 경로를 통해 상기 카드의 칩에서 생성한 공개키를 수신하는 제8 단계;
    상기 인증서버가 상기 수신된 공개키를 상기 카드번호 또는 씨드값 또는 단말인증값과 매핑하여 저장하는 제9 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법.
  8. 제 6항에 있어서,
    상기 인증서버가 상기 지정된 경로를 통해 상기 카드번호를 전송하는 단계를 더 포함하며,
    상기 카드번호는, 상기 단말의 보안프로그램을 통해 상기 단말에 저장되는 것을 특징으로 하는 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법.
  9. 인증서버가 발급프로그램으로부터 카드의 칩에 기록된 카드번호와 씨드값을 수신하여 저장하는 제1 단계;
    상기 인증서버가 지정된 경로를 통해 상기 카드와 인터페이스된 단말의 보안프로그램을 통해 생성된 단말인증값을 수신하여 저장하고 상기 카드의 칩을 통해 생성된 공개키를 수신하여 저장하는 제2 단계;
    상기 인증서버가 지정된 경로를 통해 상기 카드의 칩에 저장된 카드번호와 단말인증값을 수신하는 제3 단계;
    상기 인증서버가 상기 저장된 카드번호와 상기 수신된 카드번호를 비교하여 인증하고 상기 저장된 단말인증값과 상기 수신된 단말인증값을 비교하여 인증하는 제4 단계;
    상기 인증서버가 서버측OTP를 생성하기 위한 시간값을 생성하는 제5 단계;
    상기 인증서버가 상기 씨드값과 시간값을 이용하여 서버측OTP를 생성하는 제6 단계;
    상기 인증서버가 상기 시간값과 합산 가능한 난수값을 생성하는 제7 단계;
    상기 인증서버가 지정된 경로를 통해 시간값과 서버측OTP와 난수값을 전송하는 제8 단계;를 포함하는 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법.
  10. 제 9항에 있어서,
    상기 인증서버가 상기 지정된 경로를 통해 상기 카드의 칩에서 상기 서버측OTP를 인증한 결과로서 상기 시간값과 난수값을 합산한 시간값'과 씨드값을 통해 생성한 카드측OTP를 상기 카드의 칩에 저장된 개인키를 통해 암호화한 암호OTP를 수신하는 제9 단계;
    상기 인증서버가 상기 시간값과 난수값을 합산한 시간값'과 씨드값을 통해 카드측OTP'를 생성하는 제10 단계;
    상기 인증서버가 상기 카드측OTP'와 공개키를 통해 상기 암호OTP의 유효성을 인증하는 제11 단계; 및
    상기 인증서버가 상기 암호OTP의 인증 결과를 지정된 경로를 통해 전송하는 제12 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법.

KR1020140012233A 2014-02-03 2014-02-03 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법 KR101522136B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140012233A KR101522136B1 (ko) 2014-02-03 2014-02-03 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140012233A KR101522136B1 (ko) 2014-02-03 2014-02-03 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법

Publications (1)

Publication Number Publication Date
KR101522136B1 true KR101522136B1 (ko) 2015-05-20

Family

ID=53395211

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140012233A KR101522136B1 (ko) 2014-02-03 2014-02-03 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법

Country Status (1)

Country Link
KR (1) KR101522136B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101965613B1 (ko) * 2017-10-26 2019-04-05 주식회사 미래테크놀로지 분할형 오티피를 이용한 공유카 제어방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120037314A (ko) * 2010-10-11 2012-04-19 서정훈 본인 인증장치를 활용한 온라인 신용카드 발급 시스템 및 방법
KR20120076620A (ko) * 2010-12-07 2012-07-09 주식회사 하나은행 전자 카드 발급 장치 및 발급 방법
KR20130082746A (ko) * 2011-12-16 2013-07-22 사단법인 금융결제원 금융수단 분리발급 방법 및 시스템
KR101330961B1 (ko) * 2012-12-26 2013-11-18 신한카드 주식회사 모바일 신용카드의 발급처리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120037314A (ko) * 2010-10-11 2012-04-19 서정훈 본인 인증장치를 활용한 온라인 신용카드 발급 시스템 및 방법
KR20120076620A (ko) * 2010-12-07 2012-07-09 주식회사 하나은행 전자 카드 발급 장치 및 발급 방법
KR20130082746A (ko) * 2011-12-16 2013-07-22 사단법인 금융결제원 금융수단 분리발급 방법 및 시스템
KR101330961B1 (ko) * 2012-12-26 2013-11-18 신한카드 주식회사 모바일 신용카드의 발급처리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101965613B1 (ko) * 2017-10-26 2019-04-05 주식회사 미래테크놀로지 분할형 오티피를 이용한 공유카 제어방법

Similar Documents

Publication Publication Date Title
ES2887258T3 (es) Procedimiento para realizar una autenticación de dos factores
US9860245B2 (en) System and methods for online authentication
US9160732B2 (en) System and methods for online authentication
US9003516B2 (en) System and method for encrypted smart card pin entry
CA2838763C (en) Credential authentication methods and systems
KR20170134631A (ko) 사용자 인증 방법 및 장치, 및 웨어러블 디바이스 등록 방법 및 장치
KR100939725B1 (ko) 모바일 단말기 인증 방법
KR20180003113A (ko) 서버, 디바이스 및 이에 의한 사용자 인증 방법
El Madhoun et al. Security enhancements in emv protocol for nfc mobile payment
CN108604280B (zh) 交易方法、交易信息处理方法、交易终端及服务器
KR102348823B1 (ko) 사용자가 소지한 금융 카드 기반 본인 인증 시스템 및 방법
KR101522136B1 (ko) 지정 단말을 경유하는 카드와 서버 간 종단 간 인증 방법
KR20200013494A (ko) 사용자가 소지한 금융 카드 기반 본인 인증 시스템 및 방법
KR102445379B1 (ko) 서버 장치의 동작 방법, 단말의 동작 방법 및 서버 장치
KR102528051B1 (ko) 결제를 위한 단말 및 단말의 동작 방법 및
KR102652497B1 (ko) 스마트 카드를 이용한 did 인증 방법 및 스마트 카드 장치
Sun A survey of payment token vulnerabilities towards stronger security with fingerprint based encryption on Samsung Pay
KR20190012898A (ko) 마스터패스워드 및 일회용사설인증서 기반의 간편 본인인증 방법
KR20140020339A (ko) 사용자 장치를 이용한 본인인증방법, 이를 위한 디지털 시스템, 및 인증 시스템

Legal Events

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

Payment date: 20180508

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190509

Year of fee payment: 5