KR20220039507A - 프라이빗 토큰 기반의 전자 결제 시스템 및 그 동작 방법 - Google Patents

프라이빗 토큰 기반의 전자 결제 시스템 및 그 동작 방법 Download PDF

Info

Publication number
KR20220039507A
KR20220039507A KR1020200180789A KR20200180789A KR20220039507A KR 20220039507 A KR20220039507 A KR 20220039507A KR 1020200180789 A KR1020200180789 A KR 1020200180789A KR 20200180789 A KR20200180789 A KR 20200180789A KR 20220039507 A KR20220039507 A KR 20220039507A
Authority
KR
South Korea
Prior art keywords
token
biometric
information
user terminal
value
Prior art date
Application number
KR1020200180789A
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 KR1020200180789A priority Critical patent/KR20220039507A/ko
Publication of KR20220039507A publication Critical patent/KR20220039507A/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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • 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/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
    • G06Q20/4012Verifying personal identification numbers [PIN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing

Landscapes

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

Abstract

프라이빗 토큰 기반의 전자 결제 시스템 및 그 동작 방법이 개시된다. 프라이빗 토큰 기반의 전자 결제 시스템은, 사용자 단말로부터 수신한 토큰 발급 요청에 대한 응답으로 사용자마다 고유하게 발급되는 프라이빗 토큰을 생성하고, 상기 프라이빗 토큰을 상기 사용자 단말에 전송하는 토큰 서버; 상기 사용자 단말로부터 수신한 결제 인증 요청에 대한 응답으로, 도전값을 생성하여 상기 사용자 단말에 전송하는 결제 서버; 및 사용자로부터 생체 정보를 입력받고, 상기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 인증 정보를 생성하고, 상기 생체 인증 정보를 상기 결제 서버에 전송하며, 상기 결제 서버로부터 상기 생체 인증 정보의 검증에 따른 결과로, 결제 승인 메시지를 수신하는 사용자 단말을 포함한다. 특히 토큰 서버는, 상기 토큰 발급 요청에 포함된 패스워드에 대한 2진 값 및 상기 토큰 발급 요청에 포함된 사용자 ID에 대한 2진 값을 서로 XOR 연산하여 시드(seed) 값을 생성하고, 생성된 상기 시드 값을 일방향 암호화함으로써 상기 프라이빗 토큰을 생성할 수 있다.

Description

프라이빗 토큰 기반의 전자 결제 시스템 및 그 동작 방법{SYSTEM FOR ELECTRONIC PAYMENT BASED ON PRIVATE TOKEN AND METHOD FOR OPERATING THE SAME}
본 발명은 전자 결제 시스템 및 그 동작 방법에 관한 것으로, 더욱 상세하게는 결제 인증을 위한 개인마다 개별적으로 발급되는 프라이빗 토큰을 이용한 전자 결제 시스템 및 그 동작 방법에 관한 것이다.
최근 IT 기술의 발달로 금융권에서는 IT 기술의 적극적인 활용을 통해 핀테크에 대한 관심이 증가하고 있다. 핀테크는 파이낸셜과 기술의 합성어로 스마트 기기를 통해 결제, 예금, 출금, 이체, 자산관리 등 각종 금융 서비스를 IT 기술을 통해 처리하는 산업이다.
세계적인 그룹인 페이팔, 알리페이, 카카오 페이 등이 결제 서비스와 전자 지갑 형태의 핀테크 기술을 선보이고 있으며, 금융권, 대기업, 중소기업 등에서도 모바일 결제 서비스를 속속 출시하고 있다.
기존의 신용카드 및 체크 카드는 대부분 카드 뒷면의 마그네틱 정보 또는 IC 칩을 이용하여 정보를 읽고, 결제를 수행하고 있으나 이러한 결제 수단들은 부정 사용에 매우 취약한 단점이 있다.
이러한 문제를 해결하기 위한 방안으로 홍채 인식, 지문 인식 등과 같이 생체 정보를 이용한 전자 결제 방법이 연구되고 있으나, 생체 정보를 스마트폰 내부에서 인증하고, 인증 결과만을 전송할 경우 스마트폰의 해킹에 취약한 문제가 있다.
또 다른 방안으로, 인증에 필요한 생체 정보를 인증 시도시마다 외부로 전송하고 검증하는 방안이 있으나, 생체 정보가 외부의 통신망을 통해 전달되어야 하기 때문에 통신 과정에서의 유출 위험이 있다.
따라서, 이러한 문제들을 해결하기 위하여 새로운 방식으로 생체 정보를 인증하여 전제 결제를 수행할 수 있는 방안이 필요한 실정이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 프라이빗 토큰 기반의 전자 결제 시스템 및 그 동작 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명은, 프라이빗 토큰 기반의 전자 결제 시스템 및 그 동작 방법을 제공한다.
상기 전자 결제 시스템은, 사용자 단말로부터 수신한 토큰 발급 요청에 대한 응답으로 사용자마다 고유하게 발급되는 프라이빗 토큰을 생성하고, 상기 프라이빗 토큰을 상기 사용자 단말에 전송하는 토큰 서버; 상기 사용자 단말로부터 수신한 결제 인증 요청에 대한 응답으로, 도전값을 생성하여 상기 사용자 단말에 전송하는 결제 서버; 및 사용자로부터 생체 정보를 입력받고, 상기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 인증 정보를 생성하고, 상기 생체 인증 정보를 상기 결제 서버에 전송하며, 상기 결제 서버로부터 상기 생체 인증 정보의 검증에 따른 결과로, 결제 승인 메시지를 수신하는 사용자 단말을 포함한다.
상기 사용자 단말은, 상기 사용자의 지문이나 홍채 중 적어도 하나로부터 특징점들을 인식하고, 인식된 상기 특징점들을 디지털 코드들로 변환한 후, 변환된 상기 디지털 코드들을 상기 생체 정보를 지시하는 1 × n(n은 2 이상의 자연수)의 생체 정보 행렬로 표현하고, 상기 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 상기 도전값에 따른 값을 1 × n의 도전값 행렬로 표현하는 생체 인증 정보 생성부를 포함한다.
상기 생체 인증 정보는, 아래 수학식에 기초하여 생체 검증 정보와 비교됨으로써 검증되고,
Figure pat00001
상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 초기 생체 정보를 지시하는 초기 생체 정보 행렬일 수 있다.
상기 토큰 발급 요청은, 비밀 정보를 포함할 수 있다.
상기 비밀 정보는, 상기 사용자로부터 입력받은 폰 번호(phone number), 사용자 ID(identification), 및 패스워드(password)를 포함할 수 있다.
상기 토큰 서버는, 상기 패스워드와 상기 사용자 ID 중 길이가 짧은 것에 패딩 기호를 추가하여 상기 패스워드와 상기 사용자 ID의 길이를 동일하게 변경하고, 길이가 동일한 상기 패스워드와 상기 사용자 ID를 2진값(binary number)으로 변환하여 상기 패스워드에 대한 2진 값 및 상기 사용자 ID에 대한 2진 값을 생성할 수 있다.
상기 토큰 서버는, 상기 패스워드에 대한 2진 값 및 상기 사용자 ID에 대한 2진 값을 서로 XOR 연산하여 시드(seed) 값을 생성하고, 생성된 상기 시드 값을 일방향 암호화함으로써 상기 프라이빗 토큰을 생성할 수 있다.
상기 결제 서버는, 상기 사용자 단말로부터 미리 상기 초기 생체 정보를 수신하고, 상기 초기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용해 변환함으로써 상기 생체 검증 정보를 생성할 수 있다.
상기 결제 서버는, 상기 결제 인증 요청을 수신한 시각을 지시하는 타임 스탬프(timestamp) 및 상기 사용자 단말의 고유 식별 기호를 이용하여 상기 도전값을 생성할 수 있다.
상기 결제 서버는, 상기 생체 인증 정보와 상기 생체 검증 정보 사이의 상기 수학식에 따른 놈 연산(norm operation)을 수행하고, 상기 놈 연산에 따른 결과값을 미리 설정된 임계값과 비교하여 상기 생체 인증 정보를 검증할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 일 측면은, 결제 서버 및 토큰 서버와 연동하여 생체 정보를 이용한 결제를 수행하는 사용자 단말을 제공한다.
상기 사용자 단말은, 상기 토큰 서버와 통신하여 프라이빗 토큰을 발급받고, 상기 프라이빗 토큰을 보안 영역에 저장하는 프라이빗 토큰 관리부; 상기 결제 서버와 연동하여 도전값을 획득하는 도전값 획득부; 사용자로부터 생체 정보를 입력받고, 상기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 인증 정보를 생성하는 생체 인증 정보 생성부; 및 상기 생체 인증 정보를 상기 결제 서버로 전송하고, 상기 결제 서버로부터 결제 승인을 지시하는 메시지를 수신하는 결제 수행부를 포함한다.
상기 생체 인증 정보 생성부는, 상기 사용자의 지문이나 홍채 중 적어도 하나로부터 특징점들을 인식하고, 인식된 상기 특징점들을 디지털 코드들로 변환한 후, 변환된 상기 디지털 코드들을 상기 생체 정보를 지시하는 1 × n(n은 2 이상의 자연수)의 생체 정보 행렬로 표현하고, 상기 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 상기 도전값에 따른 값을 1 × n의 도전값 행렬로 표현할 수 있다.
상기 생체 인증 정보는, 아래 수학식에 기초하여 생체 검증 정보와 비교됨으로써 검증되고,
Figure pat00002
상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 초기 생체 정보를 지시하는 초기 생체 정보 행렬일 수 있다.
상기 사용자 단말은, 상기 토큰 서버에 토큰 발급 요청을 전송되, 상기 토큰 발급 요청은, 비밀 정보를 포함할 수 있다.
상기 비밀 정보는, 상기 사용자로부터 입력받은 폰 번호(phone number), 사용자 ID(identification), 및 패스워드(password)를 포함할 수 있다.
상기 프라이빗 토큰은, 상기 패스워드와 상기 사용자 ID를 서로 연산하여 생성된 시드(seed) 값을 일방향 암호화하여 생성될 수 있다.
상기 시드 값은, 상기 패스워드에 대한 2진 값 및 상기 사용자 ID에 대한 2진 값을 서로 XOR 연산함으로써 생성될 수 있다.
상기 패스워드에 대한 2진 값 및 상기 사용자 ID에 대한 2진 값은, 상기 패스워드와 상기 사용자 ID 중 길이가 짧은 것에 패딩 기호를 추가하여 상기 패스워드와 상기 사용자 ID의 길이를 동일하게 변경하고, 길이가 동일한 상기 패스워드와 상기 사용자 ID를 2진값(binary number)으로 변환함으로써 생성될 수 있다.
상기 생체 인증 정보는, 상기 생체 검증 정보와 상기 수학식에 기초하여 놈 연산(norm operation)되고, 상기 놈 연산을 수행한 결과값을 미리 설정된 임계값과 비교한 결과에 따라 검증될 수 있다.
상기 생체 검증 정보는, 상기 초기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용해 변환함으로써 생성될 수 있다.
상기 도전값은, 상기 결제 서버에서 상기 사용자 단말이 전송한 결제 인증 요청을 수신한 시각을 지시하는 타임 스탬프(timestamp) 및 상기 사용자 단말의 고유 식별 기호를 이용하여 생성될 수 있다.
상기 도전값은, 상기 타임 스탬프(timestamp) 및 상기 사용자 단말의 고유 식별 기호를 이용하여 생성되는 무작위 값(random number)일 수 있다.
상기 생체 인증 정보 생성부는, 상기 직교 행렬에 상기 생체 정보 행렬을 곱하고, 상기 도전값 행렬을 더함으로써 상기 생체 인증 정보를 생성할 수 있다.
상기 목적들 달성하기 위한 본 발명의 다른 측면은, 사용자 단말 및 토큰 서버와 연동하여 생체 정보를 이용한 결제를 수행하는 결제 서버를 제공한다.
상기 결제 서버는, 상기 사용자 단말과 연동하여 폰 번호를 인증하고, 인증된 상기 폰 번호를 포함하는 프라이빗 토큰 요청 메시지를 상기 토큰 서버에 전송하고, 상기 토큰 서버로부터 상기 폰 번호와 대응하는 프라이빗 토큰을 수신하는 프라이빗 토큰 획득부; 상기 사용자 단말로부터 수신한 결제 인증 요청 메시지에 대한 응답으로 도전값을 생성하는 도전값 생성부; 상기 사용자 단말로부터 미리 수신하여 등록한 초기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 검증 정보를 생성하는 생체 검증 정보 생성부; 및 상기 사용자 단말로부터 생체 인증 정보를 수신하고, 상기 생체 인증 정보와 상기 생체 검증 정보 사이의 놈(norm) 연산을 수행한 결과에 기초하여 상기 생체 인증 정보를 검증하는 생체 인증 정보 검증부를 포함할 수 있다.
상기 생체 검증 정보 생성부는, 상기 초기 생체 정보를 1 × n(n은 2 이상의 자연수)의 초기 생체 정보 행렬로 표현하고, 상기 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 상기 도전값에 따른 값을 1 × n의 도전값 행렬로 표현할 수 있다.
상기 생체 인증 정보 검증부는, 아래 수학식에 기초하여 상기 놈 연산을 수행함으로써 상기 생체 인증 정보를 검증하고,
Figure pat00003
상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 상기 초기 생체 정보 행렬일 수 있다.
상기 프라이빗 토큰은, 상기 사용자 단말로부터 제공된 패스워드와 사용자 ID를 서로 연산하여 생성된 시드(seed) 값을 일방향 암호화함으로써 생성될 수 있다.
상기 시드 값은, 상기 패스워드에 대한 2진 값 및 상기 사용자 ID에 대한 2진 값을 서로 XOR 연산함으로써 생성될 수 있다.
상기 패스워드에 대한 2진 값 및 상기 사용자 ID에 대한 2진 값은, 상기 패스워드와 상기 사용자 ID 중 길이가 짧은 것에 패딩 기호를 추가하여 상기 패스워드와 상기 사용자 ID의 길이를 동일하게 변경하고, 길이가 동일한 상기 패스워드와 상기 사용자 ID를 2진값(binary number)으로 변환함으로써 생성될 수 있다.
상기 생체 인증 정보 검증부는, 상기 놈 연산을 수행한 결과값을 미리 설정된 임계값과 비교한 결과에 따라 상기 생체 인증 정보를 검증할 수 있다.
상기 생체 검증 정보는, 상기 초기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용해 변환함으로써 생성될 수 있다.
상기 도전값은, 상기 결제 인증 요청 메시지를 수신한 시각을 지시하는 타임 스탬프(timestamp) 및 상기 사용자 단말의 고유 식별 기호를 이용하여 생성될 수 있다.
상기 도전값은, 상기 타임 스탬프(timestamp) 및 상기 사용자 단말의 고유 식별 기호를 이용하여 생성되는 무작위 값(random number)일 수 있다.
상기 생체 검증 정보 생성부는, 상기 직교 행렬에 상기 초기 생체 정보 행렬을 곱하고, 상기 도전값 행렬을 더함으로써 상기 생체 인증 정보를 생성할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 사용자 단말의 동작 방법을 제공한다.
상기 사용자 단말의 동작 방법은, 토큰 서버와 연동하여 프라이빗 토큰을 발급받고, 상기 프라이빗 토큰을 보안 영역에 저장하는 단계; 결제 서버에 결제 인증 요청을 전송하고, 상기 결제 인증 요청에 대한 응답으로 도전값을 수신하는 단계; 사용자로부터 생체 정보를 입력받고, 상기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 인증 정보를 생성하는 단계; 및 상기 생체 인증 정보를 상기 결제 서버로 전송하고, 상기 결제 서버로부터 결제 승인을 지시하는 메시지를 수신하는 단계를 포함할 수 있다.
상기 생체 인증 정보를 생성하는 단계는, 상기 사용자의 지문이나 홍채 중 적어도 하나로부터 특징점들을 인식하고, 인식된 상기 특징점들을 디지털 코드들로 변환한 후, 변환된 상기 디지털 코드들을 상기 생체 정보를 지시하는 1 × n(n은 2 이상의 자연수)의 생체 정보 행렬로 표현하고, 상기 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 상기 도전값에 따른 값을 1 × n의 도전값 행렬로 표현하는 단계를 포함할 수 있다.
상기 생체 인증 정보는, 아래 수학식에 기초하여 생체 검증 정보와 비교됨으로써 검증되고,
Figure pat00004
상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 초기 생체 정보를 지시하는 초기 생체 정보 행렬일 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 결제 서버의 동작 방법을 제공한다.
상기 결제 서버의 동작 방법은, 사용자 단말과 연동하여 폰 번호를 인증하고, 인증된 상기 폰 번호를 포함하는 프라이빗 토큰 요청 메시지를 토큰 서버에 전송하는 단계; 상기 토큰 서버로부터 상기 폰 번호와 대응하는 프라이빗 토큰을 수신하는 단계; 상기 사용자 단말로부터 수신한 결제 인증 요청 메시지에 대한 응답으로 도전값을 생성하는 단계; 상기 사용자 단말로부터 미리 수신하여 등록한 초기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 검증 정보를 생성하는 단계; 및 상기 사용자 단말로부터 생체 인증 정보를 수신하고, 상기 생체 인증 정보와 상기 생체 검증 정보 사이의 놈(norm) 연산을 수행한 결과에 기초하여 상기 생체 인증 정보를 검증하는 단계를 포함할 수 있다.
상기 생체 인증 정보를 검증하는 단계는, 상기 초기 생체 정보를 1 × n(n은 2 이상의 자연수)의 초기 생체 정보 행렬로 표현하고, 상기 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 상기 도전값에 따른 값을 1 × n의 도전값 행렬로 표현하는 단계; 및 아래 수학식에 기초하여 상기 놈 연산을 수행함으로써 상기 생체 인증 정보를 검증하는 단계를 포함하고,
Figure pat00005
상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 상기 초기 생체 정보 행렬일 수 있다.
상기와 같은 본 발명에 따른 프라이빗 토큰 기반의 전자 결제 시스템 및 그 동작 방법을 이용할 경우에는 개인마다 개별적으로 발급되는 프라이빗 토큰을 이용하여 결제 인증을 수행하기 때문에 각 개인별로 인증 여부를 개별적으로 관리할 수 있다.
또한, 인증 시도시마다 생체 정보를 외부로 전송할 필요없이 생체 정보를 통해 생성된 생체 인증 정보를 외부로 전송하는 것만으로 생체 정보를 검증할 수 있다.
또한, 생체 정보를 개인의 사용자 단말 내부에서 검증하지 않고 외부의 결제 서버에서 검증하기 때문에 사용자 단말 내부의 생체 정보 유출 문제도 방지할 수 있다.
도 1은 일 실시예에 따른 전자 결제 시스템을 설명하기 위한 개요도이다.
도 2는 도 1에 따른 사용자 단말의 기능적 구성을 설명하기 위한 블록도이다.
도 3은 도 1에 따른 결제 서버의 기능적 구성을 설명하기 위한 블록도이다.
도 4는 도 1에 따른 사용자 단말의 동작을 설명하기 위한 예시 흐름도이다.
도 5는 도 1에 따른 사용자 단말의 하드웨어 구성을 설명하기 위한 예시도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일 실시예에 따른 전자 결제 방법이 수행되는 전자 결제 시스템을 설명하기 위한 개요도이다.
도 1을 참조하면, 일 실시예에 따른 전자 결제 시스템은 사용자 단말(100), 결제 서버(200), 및 토큰 서버(300)을 포함할 수 있다.
전자 결제 시스템에서 수행되는 전자 결제 방법은, 먼저 사용자 단말(100)과 토큰 서버(300)가 서로 연동하여 수행되는 토큰 발급 동작(operation)을 포함할 수 있다.
토큰 발급 동작에서, 토큰 서버(300)는, 사용자 단말(100)로부터 수신한 토큰 발급 요청에 대한 응답으로 사용자마다 고유하게 발급되는 프라이빗 토큰을 생성하고, 생성된 프라이빗 토큰을 사용자 단말(100)에 전송할 수 있다. 예를 들어, 사용자 단말(100)은, 비밀 정보를 포함하는 토큰 발급 요청을 토큰 서버(300)에 전송할 수 있고, 토큰 서버(300)는, 비밀 정보를 이용하여 개인마다 고유한 프라이빗 토큰을 생성할 수 있다. 여기서 비밀 정보는, 사용자 단말(100)의 사용자로부터 입력받은 폰 번호(phone number), 사용자 ID(identification), 및/또는 패스워드(password)를 포함할 수 있다. 토큰 서버(300)은, 패스워드와 사용자 ID를 이용하여 프라이빗 토큰을 생성할 수 있다. 더욱 상세하게 토큰 서버(300)는, 패스워드와 사용자 ID 중 길이가 짧은 것에 패딩 기호를 추가하여 패스워드와 사용자 ID의 길이를 동일하게 변경하고, 길이가 동일한 패스워드와 사용자 ID를 2진값(binary number)으로 변환하여 패스워드에 대한 2진 값 및 사용자 ID에 대한 2진 값을 생성할 수 있다. 여기서 패딩 기호는 단순하게 0 또는 16진수로 표현된 FF 값일 수 있다.
토큰 서버(300)는, 생성된 패스워드에 대한 2진 값 및 사용자 ID에 대한 2진 값을 서로 XOR 연산하여 시드(seed) 값을 생성하고, 생성된 시드 값을 일방향 암호화함으로써 프라이빗 토큰을 생성할 수 있다. 상기 일방향 암호화는, MD1, MD4, MD5, SHS, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, HAS-160 중 적어도 하나를 포함하는 해쉬 알고리즘(hash algorithm)을 이용하여 수행될 수 있다.
토큰 서버(300)는 생성된 프라이빗 토큰을 사용자 단말(100)에 전송하고, 프라이빗 토큰과 폰 번호를 서로 매칭시켜 토큰 관리 테이블을 생성할 수 있다. 이처럼, 토큰 서버(300)는 사용자마다 서로 반드시 다르게 설정되는 사용자 ID와 패스워드를 조합하여 시드 값을 생성하고, 생성된 시드 값으로부터 프라이빗 토큰을 생성하므로 개인마다 고유한 프라이빗 토큰을 생성함과 동시에 프라이빗 토큰이 외부로 유출되더라도 비밀 정보를 알 수 없는 장점이 있다.
또한, 폰 번호를 프라이빗 토큰과 매칭하여 토큰 관리 테이블을 생성하기 때문에, 사용자 단말(100)이 변경되더라도 사용자는 언제든 자신의 동일한 폰 번호만 가지고 있으면, 프라이빗 토큰을 재발급받을 수 있다. 즉, 사용자 단말(100)의 사용자는 비밀 정보를 포함하는 프라이빗 토큰 재발급 요청을 토큰 서버(300)에 전송하고, 토큰 서버(300)는, 사용자 단말(100)의 폰 번호를 검증하고, 검증된 폰 번호와 대응하는 프라이빗 토큰을 토큰 관리 테이블에서 검색하고, 검색된 프라이빗 토큰을 사용자 단말(100)에 전송함으로써 프라이빗 토큰을 재발급할 수 있다.
토큰 발급 절차가 완료되면, 전자 결제 시스템에서 수행되는 전자 결제 방법은, 사용자 단말(100)과 결제 서버(200)가 서로 연동하여 생체 인증을 이용한 전자 결제 동작을 포함할 수 있다.
전자 결제 동작에서, 사용자 단말(100)은, 결제 서버(200)에 결제 인증을 요청하는 메시지를 전송하고, 결제 서버(200)는, 결제 인증을 요청하는 메시지에 대한 응답으로 도전값(challenge value)를 사용자 단말(100)에 전송할 수 있다. 사용자 단말(100)은, 사용자로부터 생체 정보를 입력받고, 입력받은 생체 정보를 도전값과 프라이빗 토큰을 이용하여 변환함으로써 생체 인증 정보를 생성할 수 있다. 사용자 단말(100)은 생체 인증 정보를 결제 서버(200)에 전송할 수 있다.
결제 서버(200)는, 사용자 단말(100)로부터 생체 인증 정보를 수신하고, 수신된 생체 인증 정보를 생체 검증 정보와 비교함으로써 생체 인증 정보를 검증할 수 있다. 결제 서버(200)는 생체 검증 정보를 생성하기 위하여, 사용자 단말(100)의 폰 번호를 인증한 후, 인증된 폰 번호를 토큰 서버(300)에 전송하며, 토큰 서버(300)로부터 인증된 폰 번호와 대응하는 프라이빗 토큰을 수신할 수 있다. 다음으로, 결제 서버(200)는, 수신된 프라이빗 토큰과 사용자 단말(100)에 전송한 도전값을 이용하여 등록된 초기 생체 정보를 변환함으로써 생체 검증 정보를 생성하고, 생성된 생체 검증 정보를 생체 인증 정보와 비교함으로써 생체 인증 정보를 검증할 수 있다.
여기서 초기 생체 정보는 사용자 단말(100)과 연동하여 생체 정보를 등록하는 동작을 통해 미리 수집될 수 있다. 예를 들어, 사용자 단말(100)이 초기 생체 정보를 사용자로부터 입력받고, 입력받은 초기 생체 정보를 결제 서버(200)에 전송하면, 결제 서버(200)는 전송된 초기 생체 정보를 사용자 단말(100)의 폰 번호와 매칭하여 저장함으로써, 초기 생체 정보를 등록할 수 있다. 즉, 초기 생체 정보는 생체 정보를 이용해 사용자가 처음 결제할 때 결제 서버(200)에 등록되는 생체 정보일 수 있다.
도 2는 도 1에 따른 사용자 단말의 기능적 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 사용자 단말(100)은, 프라이빗 토큰 관리부(101), 도전값 획득부(102), 생체 인증 정보 생성부(103), 및/또는 결제 수행부(104)를 포함할 수 있다.
프라이빗 토큰 관리부(101)는, 토큰 서버(300)와 통신하여 토큰 서버(300)로부터 프라이빗 토큰을 발급받고, 발급받은 프라이빗 토큰을 사용자 단말(100)의 저장소 내부의 보안 영역에 저장할 수 있다. 여기서 보안 영역은 외부로부터 접근이 차단되는 영역으로서, 암호화된 영역일 수 있다. 예를 들어, 프라이빗 토큰 관리부(101)는, 비밀 정보를 포함하는 토큰 발급 요청을 토큰 서버(300)에 전송할 수 있고, 토큰 서버(300)로부터 토큰 발급 요청에 대응하는 프라이빗 토큰을 수신할 수 있다.
도전값 획득부(102)는, 결제 서버(200)와 연동하여 결제 서버(200)로부터 도전값을 획득할 수 있다. 예를 들어, 도전값 획득부(102)는, 결제 인증을 요청하는 메시지를 결제 서버(200)에 전송하고, 결제 서버(200)로부터 도전값을 획득할 수 있다. 여기서, 도전값은 결제 서버(200)에서의 결제 인증을 요청하는 메시지를 수신한 시각을 지시하는 타임 스탬프(time stamp)를 이용하여 생성되는 무작위 값으로서, 더욱 상세하게는 타임 스탬프와 사용자 단말(100)의 고유 기호(예를 들어 MAC address)를 이용하여 생성되는 무작위 값일 수 있다.
생체 인증 정보 생성부(103)는, 사용자 단말(100)에 내장된 생체 인식 모듈을 이용하여 생체 정보를 획득하고, 획득된 생체 정보를 도전값과 프라이빗 토큰을 이용하여 변환함으로써 생체 인증 정보를 생성할 수 있다. 생체 인식 모듈은 적외선 카메라를 이용한 홍채 인식 모듈, 터치 패널을 포함하는 디스플레이를 이용한 지문 인식 모듈 등을 포함할 수 있다.
구체적으로, 생체 인증 정보 생성부(103)는, 지문이나 홍채의 특징점들을 인식하고, 인식된 특징점들을 디지털 코드들로 변환한 후, 변환된 디지털 코드들을 생체 정보를 지시하는 1 × n(n은 2 이상의 자연수)의 생체 정보 행렬로 표현할 수 있다. 또한, 생체 인증 정보 생성부(103)는, 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현할 수 있다. 여기서, 프라이빗 토큰에 따른 값을 직교행렬로 표현하는 것은 그람-슈미트 직교화 과정(Gram-Schmidt orthogonalization process) 등과 같이 직교 기저(orthogonal basis)를 만드는 공지된 방식으로 수행할 수 있으므로, 구체적인 설명은 생략한다. 또한, 생체 인증 정보 생성부(103)는, 도전값에 따른 값을 1 × n의 도전값 행렬로 표현할 수 있다. 특정 값을 행렬로 표현하는 방법으로는 특정 값을 미리 설정된 자리수만큼 분할하여 행렬의 원소로 구성하거나 그 밖에 다른 공지된 방법이 적용될 수 있다.
다음으로, 생체 인증 정보 생성부(103)는, 직교 행렬에 생체 정보 행렬을 곱하고, 도전값 행렬을 더함으로써 생체 인증 정보를 생성할 수 있다.
예를 들어, 생체 인증 정보 생성부(103)는, 다음의 수학식 1을 이용하여 생체 인증 정보를 생성할 수 있다.
Figure pat00006
상기 수학식 1을 참조하면, α는 생체 인증 정보이고, A는 n × n의 직교 행렬이며, b는 도전값 행렬이고, x는 생체 정보 행렬일 수 있다.
결제 수행부(104)는 생체 인증 정보 생성부(103)에서 생성된 생체 인증 정보를 결제 서버(200)에 전송하고, 결제 서버(200)로부터 결제 승인을 지시하는 메시지를 수신함으로써 전자 결제를 수행할 수 있다.
도 3은 도 1에 따른 결제 서버의 기능적 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 결제 서버(200)는, 프라이빗 토큰 획득부(201), 도전값 생성부(202), 생체 검증 정보 생성부(203), 및/또는 생체 인증 정보 검증부(204)를 포함할 수 있다.
프라이빗 토큰 획득부(201)는, 사용자 단말(100)로부터 결제 인증을 요청하는 메시지를 수신하고, 수신된 메시지에 대한 응답으로, 사용자 단말(100)의 폰 번호를 인증할 수 있다. 예를 들어, 프라이빗 토큰 획득부(201)는 사용자 단말(100)에 인증 메시지를 전송하고, 사용자 단말(100)로부터 인증 메시지에 대한 답변 메시지를 수신하고, 수신된 답변 메시지를 검증함으로써 폰 번호를 인증할 수 있다. 다음으로, 프라이빗 토큰 획득부(201)는, 인증된 폰 번호를 포함하는 프라이빗 토큰 요청 메시지를 토큰 서버(300)에 전송하고, 토큰 서버(300)로부터 인증된 폰 번호와 대응하는 프라이빗 토큰을 수신할 수 있다.
도전값 생성부(202)는, 사용자 단말(100)로부터 수신한 결제 인증을 요청하는 메시지에 대한 응답으로, 도전값을 생성할 수 있다. 예를 들어, 도전값 생성부(202)는, 결제 인증을 요청하는 메시지를 수신한 시각을 지시하는 타임 스탬프(timestamp)와 사용자 단말(100)의 고유식별기호를 이용하여 도전값을 생성할 수 있다. 더욱 상세하게 도전값 생성부(202)는, 타임 스탬프(timestamp)에 따른 시각을 하나의 타임 넘버로 표현하고, 표현된 타임 넘버와 상응하는 횟수만큼 사용자 단말(100)의 고유식별기호를 일방향 암호화함으로써 도전값을 생성할 수 있다. 예를 들어, 도전값 생성부(202)는, 타임 스탬프에 따른 시, 분, 및 초를 서로 더하여 하나의 타임 넘버로 표현할 수 있다. 상기 일방향 암호화는, MD1, MD4, MD5, SHS, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, HAS-160 중 적어도 하나를 포함하는 해쉬 알고리즘(hash algorithm)을 이용하여 수행될 수 있다. 도전값 생성부(202)는, 생성된 도전값을 사용자 단말(100)에 전송하고, 생체 검증 정보 생성부(203)에 전달할 수 있다.
생체 검증 정보 생성부(203)는, 사용자 단말로부터 미리 수신하여 등록한 초기 생체 정보를 도전값 생성부(202)에서 생성한 도전값과 프라이빗 토큰 획득부(201)에서 획득한 프라이빗 토큰을 이용하여 변환함으로써 생체 검증 정보를 생성할 수 있다.
예를 들어, 생체 검증 정보 생성부(203)는, 초기 생체 정보를 1 × n의 초기 생체 정보 행렬로 표현하고, 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 도전값에 따른 값을 1 × n의 도전값 행렬로 표현할 수 있다. 다음으로, 생체 검증 정보 생성부(203)는, 직교 행렬에 초기 생체 정보 행렬을 곱하고, 도전값 행렬을 더함으로써 생체 검증 정보를 생성할 수 있다.
예를 들어, 생체 검증 정보 생성부(103)는, 다음의 수학식 2를 이용하여 생체 인증 정보를 생성할 수 있다.
Figure pat00007
상기 수학식 2를 참조하면, β는 생체 검증 정보이고, A는 n × n 의 직교 행렬이며, b는 도전값 행렬이고, y는 초기 생체 정보 행렬일 수 있다.
생체 인증 정보 검증부(204)는, 사용자 단말(100)로부터 생체 인증 정보를 수신하고, 생체 검증 정보 생성부(203)에서 생성된 생체 검증 정보를 생체 인증 정보와 비교함으로써 생체 인증 정보를 검증할 수 있다. 예를 들어, 생체 인증 정보 검증부(204)는, 생체 인증 정보와 생체 검증 정보 사이의 놈(norm) 연산을 수행하고, 수행된 놈 연산을 임계값과 비교하여 생체 인증 정보를 검증할 수 있다.
구체적으로, 생체 인증 정보 검증부(204)는, 다음의 수학식 3을 이용하여 생체 인증 정보와 생체 검증 정보 사이의 놈(norm) 연산(또는 유클리디안 거리 연산)을 수행할 수 있다.
Figure pat00008
상기 수학식 3을 참조하면, 생체 인증 정보(α)와 생체 검증 정보(β) 사이의 놈(norm) 연산의 제곱은 생체 정보(x)와 초기 생체 정보(y) 사이의 놈 연산의 제곱과 같다. 즉, 생체 인증 정보와 생체 검증 정보 사이의 놈 연산의 제곱이 임계값 이상 큰 경우, 생체 정보(x)와 초기 생체 정보(y)가 오차 범위 이상 크게 상이한 것으로 판단할 수 있다.
따라서, 생체 인증 정보 검증부(204)는, 수행된 놈 연산의 제곱값이 미리 설정된 임계값보다 작거나 같은 경우에 결제를 승인하는 메시지를 사용자 단말(100)에 전송할 수 있다. 반면, 생체 인증 정보 검증부(204)는, 놈 연산의 제곱값이 미리 설정된 임계값보다 큰 경우에 결제 승인을 부인(deny)하는 메시지를 사용자 단말(100)에 전송할 수 있다.
도 4는 도 1에 따른 사용자 단말의 동작을 설명하기 위한 대표 흐름도이다.
도 4를 참조하면, 사용자 단말(100)은, 토큰 서버와 연동하여 프라이빗 토큰을 발급받는 단계(S100), 결제 서버에 결제 인증 요청을 전송하고, 상기 결제 인증 요청에 대한 응답으로, 도전값을 결제 서버로부터 수신하는 단계(S110), 도전값과 프라이빗 토큰을 이용하여 생체 인증 정보를 생성하는 단계(S120), 및 생성된 생체 인증 정보를 결제 서버로 전송하는 단계(S130)를 포함할 수 있다.
상기 프라이빗 토큰을 발급받는 단계(S100)는, 상기 프라이빗 토큰을 상기 사용자 단말(100)의 저장소 내부의 보안 영역에 저장하는 단계를 더 포함할 수 있다.
상기 도전값은, 상기 결제 서버(200)에서 상기 결제 인증 요청을 수신한 시각을 지시하는 타임 스탬를 이용하여 생성되는 무작위 값일 수 있다.
상기 도전값은, 상기 타임 스탬프와 상기 사용자 단말의 고유 기호를 이용하여 생성되는 무작위 값일 수 있다.
상기 생체 인증 정보를 생성하는 단계(S120)는, 상기 사용자 단말(100)의 사용자로부터 생체 정보를 획득하고, 상기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 상기 생체 인증 정보를 생성할 수 있다.
상기 사용자 단말(100)은, 적외선 카메라를 이용한 홍채 인식 모듈, 터치 패널을 포함하는 디스플레이를 이용한 지문 인식 모듈 중 적어도 하나를 포함할 수 있다.
상기 생체 인증 정보를 생성하는 단계(S120)는, 상기 사용자의 지문이나 홍채의 특징점들을 인식하고, 인식된 특징점들을 디지털 코드들로 변환한 후, 변환된 디지털 코드들을 생체 정보를 지시하는 1 × n(n은 2 이상의 자연수)의 생체 정보 행렬로 표현하는 단계를 포함할 수 있다.
상기 생체 인증 정보를 생성하는 단계(S120)는, 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하는 단계를 포함할 수 있다.
상기 생체 인증 정보를 생성하는 단계(S120)는, 도전값에 따른 값을 1 × n의 도전값 행렬로 표현하는 단계를 포함할 수 있다.
상기 생체 인증 정보를 생성하는 단계(S120)는, 상기 직교 행렬에 상기 생체 정보 행렬을 곱하고, 상기 도전값 행렬을 더함으로써 상기 생체 인증 정보를 생성하는 단계를 포함할 수 있다.
도 5는 도 1에 따른 사용자 단말의 하드웨어 구성을 설명하기 위한 예시도이다.
도 5에서는 사용자 단말(100)을 예로 들어 하드웨어 구성을 설명하지만 이에 한정하여 해석되는 것은 아니며, 결제 서버(200) 및/또는 토큰 서버(300)에도 동일한 형태의 하드웨어 구성이 적용될 수 있는 것으로 해석되어야 한다.
도 5를 참조하면, 사용자 단말(100)은, 적어도 하나의 프로세서(110) 및 상기 적어도 하나의 프로세서(110)가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.
여기서, 적어도 하나의 동작은 도 1 내지 도 4를 참조하여 설명한 사용자 단말(100)의 동작을 포함할 수 있다.
여기서 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
또한, 사용자 단말(100)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(130)를 포함할 수 있다. 또한, 사용자 단말(100)은 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 및/또는 생체 인식 모듈(180) 등을 더 포함할 수 있다. 사용자 단말(100)에 포함된 각각의 구성 요소들은 버스(bus, 170)에 의해 연결되어 서로 통신을 수행할 수 있다.
사용자 단말(100)의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 사용자 단말 110: 프로세서
120: 메모리 130: 송수신 장치
140: 입력 인터페이스 장치 150: 출력 인터페이스 장치
160: 저장 장치 170: 버스
180: 생체 인식 모듈 200: 결제 서버
300: 토큰 서버

Claims (1)

  1. 프라이빗 토큰 기반의 전자 결제 시스템으로,
    사용자 단말로부터 수신한 토큰 발급 요청에 대한 응답으로 사용자마다 고유하게 발급되는 프라이빗 토큰을 생성하고, 상기 프라이빗 토큰을 상기 사용자 단말에 전송하는 토큰 서버;
    상기 사용자 단말로부터 수신한 결제 인증 요청에 대한 응답으로, 도전값을 생성하여 상기 사용자 단말에 전송하는 결제 서버; 및
    사용자로부터 생체 정보를 입력받고, 상기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 인증 정보를 생성하고, 상기 생체 인증 정보를 상기 결제 서버에 전송하며, 상기 결제 서버로부터 상기 생체 인증 정보의 검증에 따른 결과로, 결제 승인 메시지를 수신하는 사용자 단말을 포함하되,
    상기 사용자 단말은,
    상기 사용자의 지문이나 홍채 중 적어도 하나로부터 특징점들을 인식하고, 인식된 상기 특징점들을 디지털 코드들로 변환한 후, 변환된 상기 디지털 코드들을 상기 생체 정보를 지시하는 1 × n(n은 2 이상의 자연수)의 생체 정보 행렬로 표현하고, 상기 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 상기 도전값에 따른 값을 1 × n의 도전값 행렬로 표현하는 생체 인증 정보 생성부를 포함하고,
    상기 생체 인증 정보는,
    아래 수학식에 기초하여 생체 검증 정보와 비교됨으로써 검증되고,
    Figure pat00009

    상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 초기 생체 정보를 지시하는 초기 생체 정보 행렬이고,
    상기 토큰 서버는,
    상기 토큰 발급 요청에 포함된 패스워드에 대한 2진 값 및 상기 토큰 발급 요청에 포함된 사용자 ID에 대한 2진 값을 서로 XOR 연산하여 시드(seed) 값을 생성하고, 생성된 상기 시드 값을 일방향 암호화함으로써 상기 프라이빗 토큰을 생성하는, 전자 결제 시스템.
KR1020200180789A 2020-09-21 2020-12-22 프라이빗 토큰 기반의 전자 결제 시스템 및 그 동작 방법 KR20220039507A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200180789A KR20220039507A (ko) 2020-09-21 2020-12-22 프라이빗 토큰 기반의 전자 결제 시스템 및 그 동작 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200121688A KR102196347B1 (ko) 2020-09-21 2020-09-21 전자 결제 시스템 및 그 동작 방법
KR1020200180789A KR20220039507A (ko) 2020-09-21 2020-12-22 프라이빗 토큰 기반의 전자 결제 시스템 및 그 동작 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200121688A Division KR102196347B1 (ko) 2020-09-21 2020-09-21 전자 결제 시스템 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20220039507A true KR20220039507A (ko) 2022-03-29

Family

ID=74090287

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020200121688A KR102196347B1 (ko) 2020-09-21 2020-09-21 전자 결제 시스템 및 그 동작 방법
KR1020200180793A KR20220039509A (ko) 2020-09-21 2020-12-22 도전값 기반의 생체 검증 정보를 이용한 전자 결제 시스템 및 그 동작 방법
KR1020200180791A KR20220039508A (ko) 2020-09-21 2020-12-22 타임 스탬프 기반의 전자 결제 시스템 및 그 동작 방법
KR1020200180789A KR20220039507A (ko) 2020-09-21 2020-12-22 프라이빗 토큰 기반의 전자 결제 시스템 및 그 동작 방법
KR1020200180796A KR20220039510A (ko) 2020-09-21 2020-12-22 폰 번호 기반의 토큰 관리를 이용한 전자 결제 시스템 및 그 동작 방법
KR1020200180801A KR20220039511A (ko) 2020-09-21 2020-12-22 토큰 관리 테이블에 기초한 전자 결제 시스템 및 그 동작 방법

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020200121688A KR102196347B1 (ko) 2020-09-21 2020-09-21 전자 결제 시스템 및 그 동작 방법
KR1020200180793A KR20220039509A (ko) 2020-09-21 2020-12-22 도전값 기반의 생체 검증 정보를 이용한 전자 결제 시스템 및 그 동작 방법
KR1020200180791A KR20220039508A (ko) 2020-09-21 2020-12-22 타임 스탬프 기반의 전자 결제 시스템 및 그 동작 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020200180796A KR20220039510A (ko) 2020-09-21 2020-12-22 폰 번호 기반의 토큰 관리를 이용한 전자 결제 시스템 및 그 동작 방법
KR1020200180801A KR20220039511A (ko) 2020-09-21 2020-12-22 토큰 관리 테이블에 기초한 전자 결제 시스템 및 그 동작 방법

Country Status (1)

Country Link
KR (6) KR102196347B1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102460459B1 (ko) * 2015-02-27 2022-10-28 삼성전자주식회사 전자 장치를 이용한 카드 서비스 방법 및 장치
KR102530888B1 (ko) * 2015-09-01 2023-05-11 삼성전자주식회사 결제 거래를 수행하는 방법 및 장치
KR102586443B1 (ko) * 2016-03-24 2023-10-11 삼성전자주식회사 전자 결제 기능을 제공하는 전자 장치 및 그 동작 방법
KR101868564B1 (ko) * 2016-05-20 2018-07-23 (주)드림시큐리티 사용자 본인 확인(identification) 등록과 로컬 인증을 연계한 사용자 인증 장치 및 방법
EP3674936A4 (en) * 2017-08-23 2021-04-21 Tae Sik Yoon AUTHENTICATION TERMINAL, AUTHENTICATION DEVICE AND AUTHENTICATION METHOD AND SYSTEM USING AN AUTHENTICATION TERMINAL AND AN AUTHENTICATION DEVICE

Also Published As

Publication number Publication date
KR20220039511A (ko) 2022-03-29
KR102196347B1 (ko) 2020-12-29
KR20220039510A (ko) 2022-03-29
KR20220039508A (ko) 2022-03-29
KR20220039509A (ko) 2022-03-29

Similar Documents

Publication Publication Date Title
US10681025B2 (en) Systems and methods for securely managing biometric data
CN107077670B (zh) 传输和处理交易消息的方法和装置、计算机可读存储介质
US9305156B2 (en) Integrity protected smart card transaction
US9218493B2 (en) Key camouflaging using a machine identifier
CN101765996B (zh) 用于远程认证和交易签名的装置和方法
US11258591B2 (en) Cryptographic key management based on identity information
US20080216172A1 (en) Systems, methods, and apparatus for secure transactions in trusted systems
CN111445231A (zh) 实现MOTOpay的方法、装置及电子设备
JP2020521341A (ja) 識別情報に基づく暗号鍵の管理
EP3915221B1 (en) Offline interception-free interaction with a cryptocurrency network using a network-disabled device
Le et al. Building an Application that reads Secure Information Stored on the Chip of the Citizen Identity Card in Vietnam
KR102196347B1 (ko) 전자 결제 시스템 및 그 동작 방법
WO2023056569A1 (en) A method and a validation device for executing blockchain transactions
Zuccherato et al. Authentication token.

Legal Events

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