+

KR102196347B1 - System for electronic payment and method for operating the same - Google Patents

System for electronic payment and method for operating the same Download PDF

Info

Publication number
KR102196347B1
KR102196347B1 KR1020200121688A KR20200121688A KR102196347B1 KR 102196347 B1 KR102196347 B1 KR 102196347B1 KR 1020200121688 A KR1020200121688 A KR 1020200121688A KR 20200121688 A KR20200121688 A KR 20200121688A KR 102196347 B1 KR102196347 B1 KR 102196347B1
Authority
KR
South Korea
Prior art keywords
biometric
information
payment
user terminal
value
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020200121688A
Other languages
Korean (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 주식회사 온비즈스타
Priority to KR1020200121688A priority Critical patent/KR102196347B1/en
Priority to KR1020200180791A priority patent/KR20220039508A/en
Priority to KR1020200180801A priority patent/KR20220039511A/en
Priority to KR1020200180789A priority patent/KR20220039507A/en
Priority to KR1020200180796A priority patent/KR20220039510A/en
Priority to KR1020200180793A priority patent/KR20220039509A/en
Application granted granted Critical
Publication of KR102196347B1 publication Critical patent/KR102196347B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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

전자 결제 시스템 및 그 동작 방법이 개시된다. 전자 결제 시스템은, 사용자 단말로부터 수신한 토큰 발급 요청에 대한 응답으로 사용자마다 고유하게 발급되는 프라이빗 토큰을 생성하고, 상기 프라이빗 토큰을 상기 사용자 단말에 전송하는 토큰 서버; 상기 사용자 단말로부터 수신한 결제 인증 요청에 대한 응답으로, 도전값을 생성하여 상기 사용자 단말에 전송하는 결제 서버; 및 사용자로부터 생체 정보를 입력받고, 상기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 인증 정보를 생성하고, 상기 생체 인증 정보를 상기 결제 서버에 전송하며, 상기 결제 서버로부터 상기 생체 인증 정보의 검증에 따른 결과로, 결제 승인 메시지를 수신하는 사용자 단말을 포함한다. 따라서, 생체 정보를 이용하여 안전하게 결제를 수행할 수 있다.Disclosed are an electronic payment system and a method of operation thereof. The electronic payment system includes: a token server that generates a private token uniquely issued for each user in response to a token issuance request received from a user terminal, and transmits the private token to the user terminal; A payment server that generates a challenge value and transmits it to the user terminal in response to a payment authentication request received from the user terminal; And receiving biometric information from a user, generating biometric authentication information by converting the biometric information using the challenge value and the private token, transmitting the biometric authentication information to the payment server, and transmitting the biometric information from the payment server. As a result of verification of the authentication information, a user terminal receiving a payment approval message is included. Therefore, payment can be safely performed using biometric information.

Description

전자 결제 시스템 및 그 동작 방법{SYSTEM FOR ELECTRONIC PAYMENT AND METHOD FOR OPERATING THE SAME}Electronic payment system and its operation method {SYSTEM FOR ELECTRONIC PAYMENT AND METHOD FOR OPERATING THE SAME}

본 발명은 전자 결제 시스템 및 그 동작 방법에 관한 것으로, 더욱 상세하게는 생체 정보를 이용한 전자 결제 시스템 및 그 동작 방법에 관한 것이다.The present invention relates to an electronic payment system and an operation method thereof, and more particularly, to an electronic payment system using biometric information and an operation method thereof.

최근 IT 기술의 발달로 금융권에서는 IT 기술의 적극적인 활용을 통해 핀테크에 대한 관심이 증가하고 있다. 핀테크는 파이낸셜과 기술의 합성어로 스마트 기기를 통해 결제, 예금, 출금, 이체, 자산관리 등 각종 금융 서비스를 IT 기술을 통해 처리하는 산업이다.With the recent development of IT technology, interest in fintech is increasing in the financial sector through active use of IT technology. Fintech is an industry that processes various financial services through IT technology, such as payment, deposit, withdrawal, transfer, and asset management through smart devices, a compound word of financial and technology.

세계적인 그룹인 페이팔, 알리페이, 카카오 페이 등이 결제 서비스와 전자 지갑 형태의 핀테크 기술을 선보이고 있으며, 금융권, 대기업, 중소기업 등에서도 모바일 결제 서비스를 속속 출시하고 있다.Global groups such as PayPal, Alipay, and Kakao Pay are introducing payment services and fintech technology in the form of electronic wallets, and financial sectors, large companies, and small and medium-sized businesses are also launching mobile payment services one after another.

기존의 신용카드 및 체크 카드는 대부분 카드 뒷면의 마그네틱 정보 또는 IC 칩을 이용하여 정보를 읽고, 결제를 수행하고 있으나 이러한 결제 수단들은 부정 사용에 매우 취약한 단점이 있다.Most of the existing credit and debit cards read information and perform payment using magnetic information on the back of the card or IC chip, but these payment methods have a disadvantage that is very vulnerable to illegal use.

이러한 문제를 해결하기 위한 방안으로 홍채 인식, 지문 인식 등과 같이 생체 정보를 이용한 전자 결제 방법이 연구되고 있으나, 생체 정보를 스마트폰 내부에서 인증하고, 인증 결과만을 전송할 경우 스마트폰의 해킹에 취약한 문제가 있다.As a solution to this problem, electronic payment methods using biometric information such as iris recognition and fingerprint recognition are being studied. However, if the biometric information is authenticated inside the smartphone and only the authentication result is transmitted, a problem that is vulnerable to hacking of the smartphone have.

또 다른 방안으로, 인증에 필요한 생체 정보를 인증 시도시마다 외부로 전송하고 검증하는 방안이 있으나, 생체 정보가 외부의 통신망을 통해 전달되어야 하기 때문에 통신 과정에서의 유출 위험이 있다.As another method, there is a method of transmitting and verifying biometric information required for authentication each time an authentication attempt is made, but there is a risk of leakage in the communication process because the biometric information must be transmitted through an external communication network.

따라서, 이러한 문제들을 해결하기 위하여 새로운 방식으로 생체 정보를 인증하여 전제 결제를 수행할 수 있는 방안이 필요한 실정이다.Therefore, in order to solve these problems, there is a need for a method for performing full payment by authenticating biometric information in a new way.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 전자 결제 시스템 및 그 동작 방법을 제공하는 데 있다.An object of the present invention for solving the above problems is to provide an electronic payment system and an operation method thereof.

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

Figure 112020122938854-pat00009

상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, 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 112020122938854-pat00010

상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, 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 112020122938854-pat00011

상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, 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 112020122938854-pat00012

상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 초기 생체 정보를 지시하는 초기 생체 정보 행렬일 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 결제 서버의 동작 방법을 제공한다.
상기 결제 서버의 동작 방법은, 사용자 단말과 연동하여 폰 번호를 인증하고, 인증된 상기 폰 번호를 포함하는 프라이빗 토큰 요청 메시지를 토큰 서버에 전송하는 단계; 상기 토큰 서버로부터 상기 폰 번호와 대응하는 프라이빗 토큰을 수신하는 단계; 상기 사용자 단말로부터 수신한 결제 인증 요청 메시지에 대한 응답으로 도전값을 생성하는 단계; 상기 사용자 단말로부터 미리 수신하여 등록한 초기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 검증 정보를 생성하는 단계; 및 상기 사용자 단말로부터 생체 인증 정보를 수신하고, 상기 생체 인증 정보와 상기 생체 검증 정보 사이의 놈(norm) 연산을 수행한 결과에 기초하여 상기 생체 인증 정보를 검증하는 단계를 포함할 수 있다.
상기 생체 인증 정보를 검증하는 단계는, 상기 초기 생체 정보를 1 × n(n은 2 이상의 자연수)의 초기 생체 정보 행렬로 표현하고, 상기 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 상기 도전값에 따른 값을 1 × n의 도전값 행렬로 표현하는 단계; 및 아래 수학식에 기초하여 상기 놈 연산을 수행함으로써 상기 생체 인증 정보를 검증하는 단계를 포함하고,
Figure 112020122938854-pat00013
The present invention for achieving the above object provides an electronic payment system and a method of operation thereof.
The electronic payment system includes: a token server that generates a private token uniquely issued for each user in response to a token issuance request received from a user terminal, and transmits the private token to the user terminal; A payment server that generates a challenge value and transmits it to the user terminal in response to a payment authentication request received from the user terminal; And receiving biometric information from a user, generating biometric authentication information by converting the biometric information using the challenge value and the private token, transmitting the biometric authentication information to the payment server, and transmitting the biometric information from the payment server. As a result of verification of the authentication information, a user terminal receiving a payment approval message is included.
The user terminal recognizes feature points from at least one of the user's fingerprint or iris, converts the recognized feature points into digital codes, and then converts the digital codes into 1 × n (n) indicating the biometric information. Is expressed as a biometric information matrix of 2 or more natural numbers), the value according to the private token is expressed as an orthogonal matrix of n × n, and the value according to the conductivity value is expressed as a 1 × n conductivity value matrix It includes a biometric authentication information generating unit.
The biometric authentication information is verified by comparing it with the biometric verification information based on the following equation,
Figure 112020122938854-pat00009

In the above equation, α is the biometric authentication information, β is the biometric verification information, p is the conductivity value matrix, A is the orthogonal matrix, x is the biometric information matrix, and y is the initial biometric information. It may be an initial biometric information matrix.
The token issuance request may include secret information.
The secret information may include a phone number input from the user, a user ID, and a password.
The token server changes the length of the password and the user ID equally by adding a padding symbol to the shorter one of the password and the user ID, and converts the password and the user ID of the same length into a binary number. ) To generate a binary value for the password and a binary value for the user ID.
The token server generates a seed value by performing an XOR operation on the binary value for the password and the binary value for the user ID, and generates the private token by one-way encryption of the generated seed value. I can.
The payment server may generate the biometric verification information by receiving the initial biometric information from the user terminal in advance and converting the initial biometric information using the challenge value and the private token.
The payment server may generate the challenge value by using a timestamp indicating a time when the payment authentication request is received and a unique identification symbol of the user terminal.
The payment server performs a norm operation according to the equation between the biometric authentication information and the biometric verification information, and compares a result value according to the norm operation with a preset threshold value, and the biometric authentication information Can be verified.
Another aspect of the present invention for achieving the above object is to provide a user terminal that performs payment using biometric information in connection with a payment server and a token server.
The user terminal may include a private token management unit that communicates with the token server to receive a private token and stores the private token in a security area; A challenge value acquisition unit for acquiring a challenge value in connection with the payment server; A biometric authentication information generating unit receiving biometric information from a user and converting the biometric information using the challenge value and the private token to generate biometric authentication information; And a payment performing unit that transmits the biometric authentication information to the payment server and receives a message instructing payment approval from the payment server.
The biometric authentication information generation unit recognizes feature points from at least one of the user's fingerprint or iris, converts the recognized feature points into digital codes, and converts the converted digital codes into 1 × n (n is a natural number greater than or equal to 2), a biometric information matrix, and a value according to the private token is expressed as an orthogonal matrix of n × n, and a value according to the conductivity value is a 1 × n conductivity value matrix It can be expressed as
The biometric authentication information is verified by comparing it with the biometric verification information based on the following equation,
Figure 112020122938854-pat00010

In the above equation, α is the biometric authentication information, β is the biometric verification information, p is the conductivity value matrix, A is the orthogonal matrix, x is the biometric information matrix, and y is the initial biometric information. It may be an initial biometric information matrix.
The user terminal may transmit a token issuance request to the token server, and the token issuance request may include secret information.
The secret information may include a phone number input from the user, a user ID, and a password.
The private token may be generated by one-way encryption of a seed value generated by calculating the password and the user ID with each other.
The seed value may be generated by performing an XOR operation on a binary value for the password and a binary value for the user ID.
As for the binary value for the password and the binary value for the user ID, the length of the password and the user ID is changed equally by adding a padding symbol to the shorter one of the password and the user ID, and the length is It can be generated by converting the same password and the user ID into a binary number.
The biometric authentication information may be subjected to a norm operation based on the biometric verification information and the equation, and may be verified according to a result of comparing a result of performing the norm operation with a preset threshold.
The biometric verification information may be generated by converting the initial biometric information using the challenge value and the private token.
The challenge value may be generated using a timestamp indicating a time when the payment authentication request transmitted by the user terminal is received by the payment server and a unique identification symbol of the user terminal.
The conductivity value may be a random number generated using the timestamp and a unique identification symbol of the user terminal.
The biometric authentication information generator may generate the biometric authentication information by multiplying the orthogonal matrix by the biometric information matrix and adding the conductivity value matrix.
Another aspect of the present invention for achieving the above objects is to provide a payment server that performs payment using biometric information in connection with a user terminal and a token server.
The payment server, in conjunction with the user terminal, authenticates the phone number, transmits a private token request message including the authenticated phone number to the token server, and sends a private token corresponding to the phone number from the token server. A private token acquisition unit receiving; A conductivity value generator for generating a conductivity value in response to a payment authentication request message received from the user terminal; A biometric verification information generator configured to generate biometric verification information by converting the initial biometric information previously received and registered from the user terminal using the challenge value and the private token; And a biometric authentication information verification unit that receives biometric authentication information from the user terminal and verifies the biometric authentication information based on a result of performing a norm operation between the biometric authentication information and the biometric authentication information. have.
The biometric verification information generation unit expresses the initial biometric information as an initial biometric information matrix of 1 × n (n is a natural number greater than or equal to 2), and expresses a value according to the private token as an orthogonal matrix of n × n And, the value according to the conductivity value may be expressed as a 1 × n conductivity value matrix.
The biometric authentication information verification unit verifies the biometric authentication information by performing the norm operation based on the following equation,
Figure 112020122938854-pat00011

In the above equation, α is the biometric authentication information, β is the biometric verification information, p is the conductivity value matrix, A is the orthogonal matrix, x is the biometric information matrix, and y is the initial biometric information matrix. I can.
The private token may be generated by one-way encryption of a seed value generated by calculating a password and a user ID provided from the user terminal with each other.
The seed value may be generated by performing an XOR operation on a binary value for the password and a binary value for the user ID.
As for the binary value for the password and the binary value for the user ID, the length of the password and the user ID is changed equally by adding a padding symbol to the shorter one of the password and the user ID, and the length is It can be generated by converting the same password and the user ID into a binary number.
The biometric authentication information verification unit may verify the biometric authentication information according to a result of comparing a result of performing the norm operation with a preset threshold value.
The biometric verification information may be generated by converting the initial biometric information using the challenge value and the private token.
The challenge value may be generated using a timestamp indicating a time when the payment authentication request message is received and a unique identification symbol of the user terminal.
The conductivity value may be a random number generated using the timestamp and a unique identification symbol of the user terminal.
The biometric verification information generator may generate the biometric authentication information by multiplying the orthogonal matrix by the initial biometric information matrix and adding the conductivity value matrix.
Another aspect of the present invention for achieving the above object provides a method of operating a user terminal.
The method of operating the user terminal includes: receiving a private token by interworking with a token server, and storing the private token in a security area; Transmitting a payment authentication request to a payment server, and receiving a challenge value in response to the payment authentication request; Receiving biometric information from a user and converting the biometric information using the challenge value and the private token to generate biometric authentication information; And transmitting the biometric authentication information to the payment server, and receiving a message instructing payment approval from the payment server.
The generating of the biometric authentication information includes recognizing feature points from at least one of the user's fingerprint or iris, converting the recognized feature points into digital codes, and indicating the converted digital codes to the biometric information. A biometric information matrix of 1 × n (n is a natural number greater than or equal to 2) is expressed, the value according to the private token is expressed as an orthogonal matrix of n × n, and the value according to the conductivity is 1 × n. It may include the step of expressing the conductivity value matrix.
The biometric authentication information is verified by comparing it with the biometric verification information based on the following equation,
Figure 112020122938854-pat00012

In the above equation, α is the biometric authentication information, β is the biometric verification information, p is the conductivity value matrix, A is the orthogonal matrix, x is the biometric information matrix, and y is the initial biometric information. It may be an initial biometric information matrix.
Another aspect of the present invention for achieving the above object provides a method of operating a payment server.
The method of operating the payment server includes: authenticating a phone number in connection with a user terminal, and transmitting a private token request message including the authenticated phone number to a token server; Receiving a private token corresponding to the phone number from the token server; Generating a challenge value in response to a payment authentication request message received from the user terminal; Generating biometric verification information by converting the initial biometric information previously received and registered from the user terminal using the challenge value and the private token; And receiving biometric authentication information from the user terminal, and verifying the biometric authentication information based on a result of performing a norm operation between the biometric authentication information and the biometric authentication information.
In the verifying the biometric authentication information, the initial biometric information is expressed as an initial biometric information matrix of 1 × n (n is a natural number of 2 or more), and a value according to the private token is an orthogonal matrix of n × n ) And expressing a value according to the conductivity value in a 1 × n conductivity value matrix; And verifying the biometric authentication information by performing the norm operation based on the following equation,
Figure 112020122938854-pat00013

상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 상기 초기 생체 정보 행렬일 수 있다.In the above equation, α is the biometric authentication information, β is the biometric verification information, p is the conductivity value matrix, A is the orthogonal matrix, x is the biometric information matrix, and y is the initial biometric information matrix. I can.

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

상기와 같은 본 발명에 따른 전자 결제 시스템 및 그 동작 방법을 이용할 경우에는 인증 시도시마다 생체 정보를 외부로 전송할 필요없이 생체 정보를 통해 생성된 생체 인증 정보를 외부로 전송하는 것만으로 생체 정보를 검증할 수 있다.In the case of using the electronic payment system and its operation method according to the present invention as described above, the biometric information can be verified by simply transmitting the biometric authentication information generated through the biometric information to the outside without the need to transmit the biometric information to the outside every authentication attempt I can.

또한, 생체 정보를 개인의 사용자 단말 내부에서 검증하지 않고 외부의 결제 서버에서 검증하기 때문에 사용자 단말 내부의 생체 정보 유출 문제도 방지할 수 있다.In addition, since the biometric information is verified by an external payment server rather than inside the individual user terminal, it is possible to prevent the problem of leakage of biometric information inside the user terminal.

도 1은 일 실시예에 따른 전자 결제 시스템을 설명하기 위한 개요도이다.
도 2는 도 1에 따른 사용자 단말의 기능적 구성을 설명하기 위한 블록도이다.
도 3은 도 1에 따른 결제 서버의 기능적 구성을 설명하기 위한 블록도이다.
도 4는 도 1에 따른 사용자 단말의 동작을 설명하기 위한 예시 흐름도이다.
도 5는 도 1에 따른 사용자 단말의 하드웨어 구성을 설명하기 위한 예시도이다.
1 is a schematic diagram illustrating an electronic payment system according to an exemplary embodiment.
FIG. 2 is a block diagram illustrating a functional configuration of a user terminal according to FIG. 1.
3 is a block diagram illustrating a functional configuration of a payment server according to FIG. 1.
4 is an exemplary flowchart for explaining the operation of the user terminal according to FIG. 1.
5 is an exemplary diagram for describing a hardware configuration of a user terminal according to FIG. 1.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it is to be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention. In describing each drawing, similar reference numerals have been used for similar elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. These terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are used only to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. Does not.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 일 실시예에 따른 전자 결제 방법이 수행되는 전자 결제 시스템을 설명하기 위한 개요도이다.1 is a schematic diagram illustrating an electronic payment system in which an electronic payment method is performed according to an exemplary embodiment.

도 1을 참조하면, 일 실시예에 따른 전자 결제 시스템은 사용자 단말(100), 결제 서버(200), 및 토큰 서버(300)을 포함할 수 있다.Referring to FIG. 1, an electronic payment system according to an embodiment may include a user terminal 100, a payment server 200, and a token server 300.

전자 결제 시스템에서 수행되는 전자 결제 방법은, 먼저 사용자 단말(100)과 토큰 서버(300)가 서로 연동하여 수행되는 토큰 발급 동작(operation)을 포함할 수 있다.The electronic payment method performed in the electronic payment system may include, first, a token issuing operation performed by interworking with the user terminal 100 and the token server 300.

토큰 발급 동작에서, 토큰 서버(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 값일 수 있다.In the token issuing operation, the token server 300 generates a private token that is uniquely issued for each user in response to the token issuance request received from the user terminal 100, and sends the generated private token to the user terminal 100. Can be transmitted. For example, the user terminal 100 may transmit a token issuance request including secret information to the token server 300, and the token server 300 generates a unique private token for each individual by using the secret information. can do. Here, the secret information may include a phone number, a user ID, and/or a password received from a user of the user terminal 100. The token server 300 may generate a private token using a password and a user ID. In more detail, the token server 300 changes the length of the password and the user ID equally by adding a padding symbol to the shorter one of the password and the user ID, and converts the password and the user ID of the same length into a binary number. To generate a binary value for password and a binary value for user ID. Here, the padding symbol may be simply 0 or an FF value expressed as a hexadecimal number.

토큰 서버(300)는, 생성된 패스워드에 대한 2진 값 및 사용자 ID에 대한 2진 값을 서로 XOR 연산하여 시드(seed) 값을 생성하고, 생성된 시드 값을 일방향 암호화함으로써 프라이빗 토큰을 생성할 수 있다. 상기 일방향 암호화는, MD1, MD4, MD5, SHS, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, HAS-160 중 적어도 하나를 포함하는 해쉬 알고리즘(hash algorithm)을 이용하여 수행될 수 있다. The token server 300 generates a seed value by XORing the binary value for the generated password and the binary value for the user ID with each other, and generates a private token by one-way encryption of the generated seed value. I can. The one-way encryption uses a hash algorithm including at least one of MD1, MD4, MD5, SHS, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, and HAS-160. Can be done by

토큰 서버(300)는 생성된 프라이빗 토큰을 사용자 단말(100)에 전송하고, 프라이빗 토큰과 폰 번호를 서로 매칭시켜 토큰 관리 테이블을 생성할 수 있다. 이처럼, 토큰 서버(300)는 사용자마다 서로 반드시 다르게 설정되는 사용자 ID와 패스워드를 조합하여 시드 값을 생성하고, 생성된 시드 값으로부터 프라이빗 토큰을 생성하므로 개인마다 고유한 프라이빗 토큰을 생성함과 동시에 프라이빗 토큰이 외부로 유출되더라도 비밀 정보를 알 수 없는 장점이 있다.The token server 300 may transmit the generated private token to the user terminal 100 and generate a token management table by matching the private token and the phone number with each other. As such, the token server 300 generates a seed value by combining a user ID and password that are set differently for each user, and generates a private token from the generated seed value. Even if the token is leaked to the outside, there is an advantage that secret information cannot be known.

또한, 폰 번호를 프라이빗 토큰과 매칭하여 토큰 관리 테이블을 생성하기 때문에, 사용자 단말(100)이 변경되더라도 사용자는 언제든 자신의 동일한 폰 번호만 가지고 있으면, 프라이빗 토큰을 재발급받을 수 있다. 즉, 사용자 단말(100)의 사용자는 비밀 정보를 포함하는 프라이빗 토큰 재발급 요청을 토큰 서버(300)에 전송하고, 토큰 서버(300)는, 사용자 단말(100)의 폰 번호를 검증하고, 검증된 폰 번호와 대응하는 프라이빗 토큰을 토큰 관리 테이블에서 검색하고, 검색된 프라이빗 토큰을 사용자 단말(100)에 전송함으로써 프라이빗 토큰을 재발급할 수 있다.In addition, since the token management table is generated by matching the phone number with the private token, even if the user terminal 100 is changed, the user can receive a reissue of the private token if they have only their same phone number at any time. That is, the user of the user terminal 100 transmits a request for reissuing a private token including secret information to the token server 300, and the token server 300 verifies the phone number of the user terminal 100, and The private token may be reissued by searching for a private token corresponding to the phone number in the token management table and transmitting the searched private token to the user terminal 100.

토큰 발급 절차가 완료되면, 전자 결제 시스템에서 수행되는 전자 결제 방법은, 사용자 단말(100)과 결제 서버(200)가 서로 연동하여 생체 인증을 이용한 전자 결제 동작을 포함할 수 있다.When the token issuance procedure is completed, the electronic payment method performed in the electronic payment system may include an electronic payment operation using biometric authentication by interworking with the user terminal 100 and the payment server 200.

전자 결제 동작에서, 사용자 단말(100)은, 결제 서버(200)에 결제 인증을 요청하는 메시지를 전송하고, 결제 서버(200)는, 결제 인증을 요청하는 메시지에 대한 응답으로 도전값(challenge value)를 사용자 단말(100)에 전송할 수 있다. 사용자 단말(100)은, 사용자로부터 생체 정보를 입력받고, 입력받은 생체 정보를 도전값과 프라이빗 토큰을 이용하여 변환함으로써 생체 인증 정보를 생성할 수 있다. 사용자 단말(100)은 생체 인증 정보를 결제 서버(200)에 전송할 수 있다.In the electronic payment operation, the user terminal 100 transmits a message requesting payment authentication to the payment server 200, and the payment server 200 receives a challenge value in response to a message requesting payment authentication. ) Can be transmitted to the user terminal 100. The user terminal 100 may generate biometric authentication information by receiving biometric information from a user and converting the received biometric information using a challenge value and a private token. The user terminal 100 may transmit biometric authentication information to the payment server 200.

결제 서버(200)는, 사용자 단말(100)로부터 생체 인증 정보를 수신하고, 수신된 생체 인증 정보를 생체 검증 정보와 비교함으로써 생체 인증 정보를 검증할 수 있다. 결제 서버(200)는 생체 검증 정보를 생성하기 위하여, 사용자 단말(100)의 폰 번호를 인증한 후, 인증된 폰 번호를 토큰 서버(300)에 전송하며, 토큰 서버(300)로부터 인증된 폰 번호와 대응하는 프라이빗 토큰을 수신할 수 있다. 다음으로, 결제 서버(200)는, 수신된 프라이빗 토큰과 사용자 단말(100)에 전송한 도전값을 이용하여 등록된 초기 생체 정보를 변환함으로써 생체 검증 정보를 생성하고, 생성된 생체 검증 정보를 생체 인증 정보와 비교함으로써 생체 인증 정보를 검증할 수 있다. The payment server 200 may verify the biometric authentication information by receiving biometric authentication information from the user terminal 100 and comparing the received biometric authentication information with the biometric authentication information. In order to generate biometric verification information, the payment server 200 authenticates the phone number of the user terminal 100 and then transmits the authenticated phone number to the token server 300, and the authenticated phone number from the token server 300 You can receive a private token corresponding to the number. Next, the payment server 200 generates biometric verification information by converting the registered initial biometric information using the received private token and the challenge value transmitted to the user terminal 100, and converts the generated biometric verification information to the biometric data. Biometric authentication information can be verified by comparing it with authentication information.

여기서 초기 생체 정보는 사용자 단말(100)과 연동하여 생체 정보를 등록하는 동작을 통해 미리 수집될 수 있다. 예를 들어, 사용자 단말(100)이 초기 생체 정보를 사용자로부터 입력받고, 입력받은 초기 생체 정보를 결제 서버(200)에 전송하면, 결제 서버(200)는 전송된 초기 생체 정보를 사용자 단말(100)의 폰 번호와 매칭하여 저장함으로써, 초기 생체 정보를 등록할 수 있다. 즉, 초기 생체 정보는 생체 정보를 이용해 사용자가 처음 결제할 때 결제 서버(200)에 등록되는 생체 정보일 수 있다.Here, the initial biometric information may be previously collected through an operation of registering biometric information in conjunction with the user terminal 100. For example, when the user terminal 100 receives initial biometric information from the user and transmits the received initial biometric information to the payment server 200, the payment server 200 sends the transmitted initial biometric information to the user terminal 100. By matching and storing the phone number of ), initial biometric information can be registered. That is, the initial biometric information may be biometric information registered in the payment server 200 when a user first makes a payment using biometric information.

도 2는 도 1에 따른 사용자 단말의 기능적 구성을 설명하기 위한 블록도이다.FIG. 2 is a block diagram illustrating a functional configuration of a user terminal according to FIG. 1.

도 2를 참조하면, 사용자 단말(100)은, 프라이빗 토큰 관리부(101), 도전값 획득부(102), 생체 인증 정보 생성부(103), 및/또는 결제 수행부(104)를 포함할 수 있다.Referring to FIG. 2, the user terminal 100 may include a private token management unit 101, a challenge value acquisition unit 102, a biometric authentication information generation unit 103, and/or a payment execution unit 104. have.

프라이빗 토큰 관리부(101)는, 토큰 서버(300)와 통신하여 토큰 서버(300)로부터 프라이빗 토큰을 발급받고, 발급받은 프라이빗 토큰을 사용자 단말(100)의 저장소 내부의 보안 영역에 저장할 수 있다. 여기서 보안 영역은 외부로부터 접근이 차단되는 영역으로서, 암호화된 영역일 수 있다. 예를 들어, 프라이빗 토큰 관리부(101)는, 비밀 정보를 포함하는 토큰 발급 요청을 토큰 서버(300)에 전송할 수 있고, 토큰 서버(300)로부터 토큰 발급 요청에 대응하는 프라이빗 토큰을 수신할 수 있다.The private token management unit 101 may communicate with the token server 300 to receive a private token from the token server 300 and store the issued private token in a secure area inside the storage of the user terminal 100. Here, the security area is an area in which access from the outside is blocked, and may be an encrypted area. For example, the private token management unit 101 may transmit a token issuance request including secret information to the token server 300, and may receive a private token corresponding to the token issuance request from the token server 300. .

도전값 획득부(102)는, 결제 서버(200)와 연동하여 결제 서버(200)로부터 도전값을 획득할 수 있다. 예를 들어, 도전값 획득부(102)는, 결제 인증을 요청하는 메시지를 결제 서버(200)에 전송하고, 결제 서버(200)로부터 도전값을 획득할 수 있다. 여기서, 도전값은 결제 서버(200)에서의 결제 인증을 요청하는 메시지를 수신한 시각을 지시하는 타임 스탬프(time stamp)를 이용하여 생성되는 무작위 값으로서, 더욱 상세하게는 타임 스탬프와 사용자 단말(100)의 고유 기호(예를 들어 MAC address)를 이용하여 생성되는 무작위 값일 수 있다.The challenge value acquisition unit 102 may obtain a challenge value from the payment server 200 in connection with the payment server 200. For example, the challenge value acquisition unit 102 may transmit a message requesting payment authentication to the payment server 200 and obtain a challenge value from the payment server 200. Here, the challenge value is a random value generated using a time stamp indicating the time at which the message requesting payment authentication from the payment server 200 is received, and more specifically, a time stamp and a user terminal ( 100) may be a random value generated using a unique symbol (for example, MAC address).

생체 인증 정보 생성부(103)는, 사용자 단말(100)에 내장된 생체 인식 모듈을 이용하여 생체 정보를 획득하고, 획득된 생체 정보를 도전값과 프라이빗 토큰을 이용하여 변환함으로써 생체 인증 정보를 생성할 수 있다. 생체 인식 모듈은 적외선 카메라를 이용한 홍채 인식 모듈, 터치 패널을 포함하는 디스플레이를 이용한 지문 인식 모듈 등을 포함할 수 있다.The biometric authentication information generation unit 103 obtains biometric information using a biometric recognition module built into the user terminal 100 and converts the obtained biometric information using a challenge value and a private token to generate biometric authentication information. can do. The biometric recognition module may include an iris recognition module using an infrared camera, a fingerprint recognition module using a display including a touch panel, and the like.

구체적으로, 생체 인증 정보 생성부(103)는, 지문이나 홍채의 특징점들을 인식하고, 인식된 특징점들을 디지털 코드들로 변환한 후, 변환된 디지털 코드들을 생체 정보를 지시하는 1 × n(n은 2 이상의 자연수)의 생체 정보 행렬로 표현할 수 있다. 또한, 생체 인증 정보 생성부(103)는, 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현할 수 있다. 여기서, 프라이빗 토큰에 따른 값을 직교행렬로 표현하는 것은 그람-슈미트 직교화 과정(Gram-Schmidt orthogonalization process) 등과 같이 직교 기저(orthogonal basis)를 만드는 공지된 방식으로 수행할 수 있으므로, 구체적인 설명은 생략한다. 또한, 생체 인증 정보 생성부(103)는, 도전값에 따른 값을 1 × n의 도전값 행렬로 표현할 수 있다. 특정 값을 행렬로 표현하는 방법으로는 특정 값을 미리 설정된 자리수만큼 분할하여 행렬의 원소로 구성하거나 그 밖에 다른 공지된 방법이 적용될 수 있다.Specifically, the biometric authentication information generation unit 103 recognizes feature points of a fingerprint or iris, converts the recognized feature points into digital codes, and then converts the digital codes into 1 × n (n is It can be expressed as a biometric information matrix of 2 or more natural numbers). In addition, the biometric authentication information generation unit 103 may express a value according to the private token as an orthogonal matrix of n × n. Here, expressing the value according to the private token in an orthogonal matrix can be performed in a known way to create an orthogonal basis, such as the Gram-Schmidt orthogonalization process, so a detailed description is omitted. do. In addition, the biometric authentication information generation unit 103 may express a value according to the conductivity value as a 1 × n conductivity value matrix. As a method of expressing a specific value as a matrix, a specific value may be divided by a predetermined number of digits to form elements of a matrix, or other known methods may be applied.

다음으로, 생체 인증 정보 생성부(103)는, 직교 행렬에 생체 정보 행렬을 곱하고, 도전값 행렬을 더함으로써 생체 인증 정보를 생성할 수 있다. Next, the biometric authentication information generation unit 103 can generate the biometric authentication information by multiplying the orthogonal matrix by the biometric information matrix and adding the conductivity value matrix.

예를 들어, 생체 인증 정보 생성부(103)는, 다음의 수학식 1을 이용하여 생체 인증 정보를 생성할 수 있다.For example, the biometric authentication information generation unit 103 may generate biometric authentication information using Equation 1 below.

Figure 112020100224487-pat00001
Figure 112020100224487-pat00001

상기 수학식 1을 참조하면, α는 생체 인증 정보이고, A는 n × n의 직교 행렬이며, b는 도전값 행렬이고, x는 생체 정보 행렬일 수 있다. Referring to Equation 1, α may be biometric authentication information, A may be an n × n orthogonal matrix, b may be a conductivity value matrix, and x may be a biometric information matrix.

결제 수행부(104)는 생체 인증 정보 생성부(103)에서 생성된 생체 인증 정보를 결제 서버(200)에 전송하고, 결제 서버(200)로부터 결제 승인을 지시하는 메시지를 수신함으로써 전자 결제를 수행할 수 있다.The payment execution unit 104 performs electronic payment by transmitting the biometric authentication information generated by the biometric authentication information generation unit 103 to the payment server 200 and receiving a message instructing payment approval from the payment server 200 can do.

도 3은 도 1에 따른 결제 서버의 기능적 구성을 설명하기 위한 블록도이다.3 is a block diagram illustrating a functional configuration of a payment server according to FIG. 1.

도 3을 참조하면, 결제 서버(200)는, 프라이빗 토큰 획득부(201), 도전값 생성부(202), 생체 검증 정보 생성부(203), 및/또는 생체 인증 정보 검증부(204)를 포함할 수 있다.Referring to FIG. 3, the payment server 200 includes a private token acquisition unit 201, a challenge value generation unit 202, a biometric verification information generation unit 203, and/or a biometric authentication information verification unit 204. Can include.

프라이빗 토큰 획득부(201)는, 사용자 단말(100)로부터 결제 인증을 요청하는 메시지를 수신하고, 수신된 메시지에 대한 응답으로, 사용자 단말(100)의 폰 번호를 인증할 수 있다. 예를 들어, 프라이빗 토큰 획득부(201)는 사용자 단말(100)에 인증 메시지를 전송하고, 사용자 단말(100)로부터 인증 메시지에 대한 답변 메시지를 수신하고, 수신된 답변 메시지를 검증함으로써 폰 번호를 인증할 수 있다. 다음으로, 프라이빗 토큰 획득부(201)는, 인증된 폰 번호를 포함하는 프라이빗 토큰 요청 메시지를 토큰 서버(300)에 전송하고, 토큰 서버(300)로부터 인증된 폰 번호와 대응하는 프라이빗 토큰을 수신할 수 있다.The private token acquisition unit 201 may receive a message requesting payment authentication from the user terminal 100 and authenticate the phone number of the user terminal 100 in response to the received message. For example, the private token acquisition unit 201 transmits an authentication message to the user terminal 100, receives a response message to the authentication message from the user terminal 100, and verifies the received response message to obtain a phone number. You can authenticate. Next, the private token acquisition unit 201 transmits a private token request message including the authenticated phone number to the token server 300, and receives a private token corresponding to the authenticated phone number from the token server 300 can do.

도전값 생성부(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)에 전달할 수 있다.The conductivity value generator 202 may generate a conductivity value in response to a message requesting payment authentication received from the user terminal 100. For example, the conductivity value generator 202 may generate a conductivity value using a timestamp indicating the time at which a message requesting payment authentication is received and a unique identification symbol of the user terminal 100. have. In more detail, the conductivity value generation unit 202 expresses the time according to the timestamp as one time number, and one-way encrypts the unique identification symbol of the user terminal 100 by a number of times corresponding to the expressed time number. By doing so, a conductivity value can be generated. For example, the conductivity value generator 202 may add hours, minutes, and seconds according to the time stamp to represent one time number. The one-way encryption uses a hash algorithm including at least one of MD1, MD4, MD5, SHS, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, and HAS-160. Can be done by The conductivity value generation unit 202 may transmit the generated conductivity value to the user terminal 100 and transfer the generated conductivity value to the biometric verification information generation unit 203.

생체 검증 정보 생성부(203)는, 사용자 단말로부터 미리 수신하여 등록한 초기 생체 정보를 도전값 생성부(202)에서 생성한 도전값과 프라이빗 토큰 획득부(201)에서 획득한 프라이빗 토큰을 이용하여 변환함으로써 생체 검증 정보를 생성할 수 있다.The biometric verification information generation unit 203 converts the initial biometric information previously received and registered from the user terminal by using the challenge value generated by the challenge value generation unit 202 and the private token obtained by the private token acquisition unit 201 By doing so, biometric verification information can be generated.

예를 들어, 생체 검증 정보 생성부(203)는, 초기 생체 정보를 1 × n의 초기 생체 정보 행렬로 표현하고, 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 도전값에 따른 값을 1 × n의 도전값 행렬로 표현할 수 있다. 다음으로, 생체 검증 정보 생성부(203)는, 직교 행렬에 초기 생체 정보 행렬을 곱하고, 도전값 행렬을 더함으로써 생체 검증 정보를 생성할 수 있다. For example, the biometric verification information generation unit 203 expresses the initial biometric information as an initial biometric information matrix of 1 × n, and expresses the value according to the private token as an orthogonal matrix of n × n, A value according to the conductivity value can be expressed as a 1 × n conductivity value matrix. Next, the biometric verification information generation unit 203 may generate the biometric verification information by multiplying the orthogonal matrix by the initial biometric information matrix and adding the conductivity value matrix.

예를 들어, 생체 검증 정보 생성부(103)는, 다음의 수학식 2를 이용하여 생체 인증 정보를 생성할 수 있다.For example, the biometric verification information generation unit 103 may generate biometric authentication information using Equation 2 below.

Figure 112020100224487-pat00002
Figure 112020100224487-pat00002

상기 수학식 2를 참조하면, β는 생체 검증 정보이고, A는 n × n 의 직교 행렬이며, b는 도전값 행렬이고, y는 초기 생체 정보 행렬일 수 있다. Referring to Equation 2, β is biometric verification information, A is an orthogonal matrix of n × n, b is a conductivity value matrix, and y is an initial biometric information matrix.

생체 인증 정보 검증부(204)는, 사용자 단말(100)로부터 생체 인증 정보를 수신하고, 생체 검증 정보 생성부(203)에서 생성된 생체 검증 정보를 생체 인증 정보와 비교함으로써 생체 인증 정보를 검증할 수 있다. 예를 들어, 생체 인증 정보 검증부(204)는, 생체 인증 정보와 생체 검증 정보 사이의 놈(norm) 연산을 수행하고, 수행된 놈 연산을 임계값과 비교하여 생체 인증 정보를 검증할 수 있다.The biometric authentication information verification unit 204 receives the biometric authentication information from the user terminal 100 and compares the biometric authentication information generated by the biometric authentication information generation unit 203 with the biometric authentication information to verify the biometric authentication information. I can. For example, the biometric authentication information verification unit 204 may verify the biometric authentication information by performing a norm operation between the biometric authentication information and the biometric authentication information, and comparing the performed norm operation with a threshold value. .

구체적으로, 생체 인증 정보 검증부(204)는, 다음의 수학식 3을 이용하여 생체 인증 정보와 생체 검증 정보 사이의 놈(norm) 연산(또는 유클리디안 거리 연산)을 수행할 수 있다.Specifically, the biometric authentication information verification unit 204 may perform a norm operation (or a Euclidean distance operation) between the biometric authentication information and the biometric authentication information using Equation 3 below.

Figure 112020100224487-pat00003
Figure 112020100224487-pat00003

상기 수학식 3을 참조하면, 생체 인증 정보(α)와 생체 검증 정보(β) 사이의 놈(norm) 연산의 제곱은 생체 정보(x)와 초기 생체 정보(y) 사이의 놈 연산의 제곱과 같다. 즉, 생체 인증 정보와 생체 검증 정보 사이의 놈 연산의 제곱이 임계값 이상 큰 경우, 생체 정보(x)와 초기 생체 정보(y)가 오차 범위 이상 크게 상이한 것으로 판단할 수 있다. Referring to Equation 3, the square of the norm operation between the biometric authentication information α and the biometric authentication information β is the square of the norm operation between the biometric information x and the initial biometric information y same. That is, when the square of the norm operation between the biometric authentication information and the biometric verification information is greater than or equal to the threshold value, it may be determined that the biometric information x and the initial biometric information y are significantly different by more than an error range.

따라서, 생체 인증 정보 검증부(204)는, 수행된 놈 연산의 제곱값이 미리 설정된 임계값보다 작거나 같은 경우에 결제를 승인하는 메시지를 사용자 단말(100)에 전송할 수 있다. 반면, 생체 인증 정보 검증부(204)는, 놈 연산의 제곱값이 미리 설정된 임계값보다 큰 경우에 결제 승인을 부인(deny)하는 메시지를 사용자 단말(100)에 전송할 수 있다.Accordingly, the biometric authentication information verification unit 204 may transmit a message for approving payment to the user terminal 100 when the square value of the performed norm operation is less than or equal to a preset threshold. On the other hand, the biometric authentication information verification unit 204 may transmit a message denying payment approval to the user terminal 100 when the square value of the norm operation is greater than a preset threshold.

도 4는 도 1에 따른 사용자 단말의 동작을 설명하기 위한 대표 흐름도이다.4 is a representative flowchart for explaining the operation of the user terminal according to FIG. 1.

도 4를 참조하면, 사용자 단말(100)은, 토큰 서버와 연동하여 프라이빗 토큰을 발급받는 단계(S100), 결제 서버에 결제 인증 요청을 전송하고, 상기 결제 인증 요청에 대한 응답으로, 도전값을 결제 서버로부터 수신하는 단계(S110), 도전값과 프라이빗 토큰을 이용하여 생체 인증 정보를 생성하는 단계(S120), 및 생성된 생체 인증 정보를 결제 서버로 전송하는 단계(S130)를 포함할 수 있다.Referring to FIG. 4, the user terminal 100 interlocks with a token server to obtain a private token (S100), transmits a payment authentication request to a payment server, and in response to the payment authentication request, a challenge value is determined. Receiving from the payment server (S110), generating biometric authentication information using a challenge value and a private token (S120), and transmitting the generated biometric authentication information to the payment server (S130). .

상기 프라이빗 토큰을 발급받는 단계(S100)는, 상기 프라이빗 토큰을 상기 사용자 단말(100)의 저장소 내부의 보안 영역에 저장하는 단계를 더 포함할 수 있다.The step of obtaining the private token (S100) may further include storing the private token in a secure area inside the storage of the user terminal 100.

상기 도전값은, 상기 결제 서버(200)에서 상기 결제 인증 요청을 수신한 시각을 지시하는 타임 스탬를 이용하여 생성되는 무작위 값일 수 있다.The challenge value may be a random value generated by using a time stamp indicating a time when the payment server 200 receives the payment authentication request.

상기 도전값은, 상기 타임 스탬프와 상기 사용자 단말의 고유 기호를 이용하여 생성되는 무작위 값일 수 있다.The conductivity value may be a random value generated using the time stamp and a unique symbol of the user terminal.

상기 생체 인증 정보를 생성하는 단계(S120)는, 상기 사용자 단말(100)의 사용자로부터 생체 정보를 획득하고, 상기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 상기 생체 인증 정보를 생성할 수 있다.In the step of generating the biometric authentication information (S120), the biometric information is obtained by obtaining biometric information from a user of the user terminal 100 and converting the biometric information using the challenge value and the private token to generate the biometric authentication information. can do.

상기 사용자 단말(100)은, 적외선 카메라를 이용한 홍채 인식 모듈, 터치 패널을 포함하는 디스플레이를 이용한 지문 인식 모듈 중 적어도 하나를 포함할 수 있다.The user terminal 100 may include at least one of an iris recognition module using an infrared camera and a fingerprint recognition module using a display including a touch panel.

상기 생체 인증 정보를 생성하는 단계(S120)는, 상기 사용자의 지문이나 홍채의 특징점들을 인식하고, 인식된 특징점들을 디지털 코드들로 변환한 후, 변환된 디지털 코드들을 생체 정보를 지시하는 1 × n(n은 2 이상의 자연수)의 생체 정보 행렬로 표현하는 단계를 포함할 수 있다.In the step of generating the biometric authentication information (S120), the user's fingerprint or iris feature points are recognized, the recognized feature points are converted into digital codes, and the converted digital codes are 1×n. (n is a natural number greater than or equal to 2) representing a biometric information matrix.

상기 생체 인증 정보를 생성하는 단계(S120)는, 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하는 단계를 포함할 수 있다.Generating the biometric authentication information (S120) may include expressing a value according to the private token in an orthogonal matrix of n × n.

상기 생체 인증 정보를 생성하는 단계(S120)는, 도전값에 따른 값을 1 × n의 도전값 행렬로 표현하는 단계를 포함할 수 있다.The step of generating the biometric authentication information (S120) may include expressing a value according to a conductivity value as a 1×n conductivity value matrix.

상기 생체 인증 정보를 생성하는 단계(S120)는, 상기 직교 행렬에 상기 생체 정보 행렬을 곱하고, 상기 도전값 행렬을 더함으로써 상기 생체 인증 정보를 생성하는 단계를 포함할 수 있다.Generating the biometric authentication information (S120) may include generating the biometric authentication information by multiplying the orthogonal matrix by the biometric information matrix and adding the conductivity value matrix.

도 5는 도 1에 따른 사용자 단말의 하드웨어 구성을 설명하기 위한 예시도이다.5 is an exemplary diagram for describing a hardware configuration of a user terminal according to FIG. 1.

도 5에서는 사용자 단말(100)을 예로 들어 하드웨어 구성을 설명하지만 이에 한정하여 해석되는 것은 아니며, 결제 서버(200) 및/또는 토큰 서버(300)에도 동일한 형태의 하드웨어 구성이 적용될 수 있는 것으로 해석되어야 한다.In FIG. 5, the hardware configuration is described using the user terminal 100 as an example, but it is not limited thereto, and it should be interpreted that the same type of hardware configuration can be applied to the payment server 200 and/or the token server 300. do.

도 5를 참조하면, 사용자 단말(100)은, 적어도 하나의 프로세서(110) 및 상기 적어도 하나의 프로세서(110)가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.Referring to FIG. 5, the user terminal 100 stores at least one processor 110 and instructions for instructing the at least one processor 110 to perform at least one operation. It may include a memory.

여기서, 적어도 하나의 동작은 도 1 내지 도 4를 참조하여 설명한 사용자 단말(100)의 동작을 포함할 수 있다.Here, at least one operation may include the operation of the user terminal 100 described with reference to FIGS. 1 to 4.

여기서 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.Here, the at least one processor 110 means a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor in which the methods according to the embodiments of the present invention are performed. I can. Each of the memory 120 and the storage device 160 may be configured with at least one of a volatile storage medium and a nonvolatile storage medium. For example, the memory 120 may be formed of at least one of read only memory (ROM) and random access memory (RAM).

또한, 사용자 단말(100)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(130)를 포함할 수 있다. 또한, 사용자 단말(100)은 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 및/또는 생체 인식 모듈(180) 등을 더 포함할 수 있다. 사용자 단말(100)에 포함된 각각의 구성 요소들은 버스(bus, 170)에 의해 연결되어 서로 통신을 수행할 수 있다.In addition, the user terminal 100 may include a transceiver 130 for performing communication through a wireless network. In addition, the user terminal 100 may further include an input interface device 140, an output interface device 150, a storage device 160 and/or a biometric recognition module 180. Each of the components included in the user terminal 100 may be connected by a bus 170 to perform communication with each other.

사용자 단말(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) 등일 수 있다.For example, the user terminal 100, a desktop computer (desktop computer), a laptop computer (laptop computer), notebook (notebook), a smart phone (smart phone), a tablet PC (tablet PC), a mobile phone (mobile phone) capable of communication. ), smart watch, smart glass, e-book reader, portable multimedia player (PMP), portable game console, navigation device, digital camera, digital multimedia broadcasting (DMB) It may be a player, a digital audio recorder, a digital audio player, a digital video recorder, a digital video player, a personal digital assistant (PDA), and the like.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the computer-readable medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software.

컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer-readable media may include hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter as well as machine language codes such as those produced by a compiler. The above-described hardware device may be configured to operate as at least one software module to perform the operation of the present invention, and vice versa.

또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다. In addition, the above-described method or apparatus may be implemented by combining all or part of its configuration or function, or may be implemented separately.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art will variously modify and change the present invention within the scope not departing from the spirit and scope of the present invention described in the following claims. You will understand that you can do it.

100: 사용자 단말 110: 프로세서
120: 메모리 130: 송수신 장치
140: 입력 인터페이스 장치 150: 출력 인터페이스 장치
160: 저장 장치 170: 버스
180: 생체 인식 모듈 200: 결제 서버
300: 토큰 서버
100: user terminal 110: processor
120: memory 130: transmitting and receiving device
140: input interface device 150: output interface device
160: storage device 170: bus
180: biometric module 200: payment server
300: token server

Claims (28)

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

상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 초기 생체 정보를 지시하는 초기 생체 정보 행렬인, 전자 결제 시스템.
A token server that generates a private token uniquely issued for each user in response to a token issuance request received from a user terminal and transmits the private token to the user terminal;
A payment server that generates a challenge value and transmits it to the user terminal in response to a payment authentication request received from the user terminal; And
Receive biometric information from a user, generate biometric authentication information by converting the biometric information using the challenge value and the private token, transmit the biometric authentication information to the payment server, and perform the biometric authentication from the payment server As a result of the verification of the information, including a user terminal receiving a payment approval message,
The user terminal,
1 × n (n is a natural number of 2 or more) that recognizes feature points from at least one of the user's fingerprint or iris, converts the recognized feature points into digital codes, and then indicates the converted digital codes to the biometric information Generating biometric authentication information expressing the biometric information matrix of, and expressing the value according to the private token as an orthogonal matrix of n × n, and expressing the value according to the conductivity value as a 1 × n conductivity value matrix Includes wealth,
The biometric authentication information,
It is verified by comparing it with biometric verification information based on the following equation,
Figure 112020122938854-pat00014

In the above equation, α is the biometric authentication information, β is the biometric verification information, p is the conductivity value matrix, A is the orthogonal matrix, x is the biometric information matrix, and y is the initial biometric information. Electronic payment system, the initial biometric information matrix.
◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 2 was abandoned upon payment of the set registration fee. 청구항 1에서,
상기 토큰 발급 요청은, 비밀 정보를 포함하되,
상기 비밀 정보는, 상기 사용자로부터 입력받은 폰 번호(phone number), 사용자 ID(identification), 및 패스워드(password)를 포함하는, 전자 결제 시스템.
In claim 1,
The token issuance request includes secret information,
The secret information, the electronic payment system including a phone number (phone number), a user ID (identification), and a password (password) received from the user.
◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 3 was abandoned upon payment of the set registration fee. 청구항 2에서,
상기 토큰 서버는,
상기 패스워드와 상기 사용자 ID 중 길이가 짧은 것에 패딩 기호를 추가하여 상기 패스워드와 상기 사용자 ID의 길이를 동일하게 변경하고, 길이가 동일한 상기 패스워드와 상기 사용자 ID를 2진값(binary number)으로 변환하여 상기 패스워드에 대한 2진 값 및 상기 사용자 ID에 대한 2진 값을 생성하는, 전자 결제 시스템.
In claim 2,
The token server,
The length of the password and the user ID is changed equally by adding a padding symbol to the shorter one of the password and the user ID, and the password and the user ID of the same length are converted into binary numbers, and the An electronic payment system for generating a binary value for a password and a binary value for the user ID.
◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 4 was abandoned upon payment of the set registration fee. 청구항 3에서,
상기 토큰 서버는,
상기 패스워드에 대한 2진 값 및 상기 사용자 ID에 대한 2진 값을 서로 XOR 연산하여 시드(seed) 값을 생성하고, 생성된 상기 시드 값을 일방향 암호화함으로써 상기 프라이빗 토큰을 생성하는, 전자 결제 시스템.
In claim 3,
The token server,
An electronic payment system for generating the private token by performing an XOR operation on the binary value for the password and the binary value for the user ID to generate a seed value, and one-way encryption of the generated seed value.
◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 5 was abandoned upon payment of the set registration fee. 청구항 1에서,
상기 결제 서버는,
상기 사용자 단말로부터 미리 상기 초기 생체 정보를 수신하고, 상기 초기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용해 변환함으로써 상기 생체 검증 정보를 생성하는, 전자 결제 시스템.
In claim 1,
The payment server,
An electronic payment system for generating the biometric verification information by receiving the initial biometric information from the user terminal in advance and converting the initial biometric information using the challenge value and the private token.
◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 6 was abandoned upon payment of the set registration fee. 청구항 5에서,
상기 결제 서버는,
상기 결제 인증 요청을 수신한 시각을 지시하는 타임 스탬프(timestamp) 및 상기 사용자 단말의 고유 식별 기호를 이용하여 상기 도전값을 생성하는, 전자 결제 시스템.
In claim 5,
The payment server,
An electronic payment system for generating the challenge value using a timestamp indicating a time when the payment authentication request is received and a unique identification symbol of the user terminal.
◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 7 was abandoned upon payment of the set registration fee. 청구항 5에서,
상기 결제 서버는,
상기 생체 인증 정보와 상기 생체 검증 정보 사이의 상기 수학식에 따른 놈 연산(norm operation)을 수행하고, 상기 놈 연산에 따른 결과값을 미리 설정된 임계값과 비교하여 상기 생체 인증 정보를 검증하는, 전자 결제 시스템.
In claim 5,
The payment server,
Performing a norm operation according to the equation between the biometric authentication information and the biometric verification information, and verifying the biometric authentication information by comparing a result value according to the norm operation with a preset threshold value, Payment system.
결제 서버 및 토큰 서버와 연동하여 생체 정보를 이용한 결제를 수행하는 사용자 단말로서,
상기 토큰 서버와 통신하여 프라이빗 토큰을 발급받고, 상기 프라이빗 토큰을 보안 영역에 저장하는 프라이빗 토큰 관리부;
상기 결제 서버와 연동하여 도전값을 획득하는 도전값 획득부;
사용자로부터 생체 정보를 입력받고, 상기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 인증 정보를 생성하는 생체 인증 정보 생성부; 및
상기 생체 인증 정보를 상기 결제 서버로 전송하고, 상기 결제 서버로부터 결제 승인을 지시하는 메시지를 수신하는 결제 수행부를 포함하고,
상기 생체 인증 정보 생성부는,
상기 사용자의 지문이나 홍채 중 적어도 하나로부터 특징점들을 인식하고, 인식된 상기 특징점들을 디지털 코드들로 변환한 후, 변환된 상기 디지털 코드들을 상기 생체 정보를 지시하는 1 × n(n은 2 이상의 자연수)의 생체 정보 행렬로 표현하고, 상기 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 상기 도전값에 따른 값을 1 × n의 도전값 행렬로 표현하고,
상기 생체 인증 정보는,
아래 수학식에 기초하여 생체 검증 정보와 비교됨으로써 검증되고,
Figure 112020122938854-pat00015

상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 초기 생체 정보를 지시하는 초기 생체 정보 행렬인, 사용자 단말.
As a user terminal that performs payment using biometric information in connection with a payment server and a token server,
A private token management unit that communicates with the token server to receive a private token, and stores the private token in a security area;
A challenge value acquisition unit for acquiring a challenge value in connection with the payment server;
A biometric authentication information generating unit receiving biometric information from a user and converting the biometric information using the challenge value and the private token to generate biometric authentication information; And
And a payment performing unit for transmitting the biometric authentication information to the payment server, and receiving a message instructing payment approval from the payment server,
The biometric authentication information generation unit,
1 × n (n is a natural number of 2 or more) that recognizes feature points from at least one of the user's fingerprint or iris, converts the recognized feature points into digital codes, and then indicates the converted digital codes to the biometric information Is expressed as a biometric information matrix of, and a value according to the private token is expressed as an orthogonal matrix of n × n, and a value according to the conductivity value is expressed as a conductivity value matrix of 1 × n,
The biometric authentication information,
It is verified by comparing it with biometric verification information based on the following equation,
Figure 112020122938854-pat00015

In the above equation, α is the biometric authentication information, β is the biometric verification information, p is the conductivity value matrix, A is the orthogonal matrix, x is the biometric information matrix, and y is the initial biometric information. User terminal, which is the initial biometric information matrix.
◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 9 was abandoned upon payment of the set registration fee. 청구항 8에서,
상기 사용자 단말은, 상기 토큰 서버에 토큰 발급 요청을 전송하되,
상기 토큰 발급 요청은, 비밀 정보를 포함하고,
상기 비밀 정보는, 상기 사용자로부터 입력받은 폰 번호(phone number), 사용자 ID(identification), 및 패스워드(password)를 포함하는, 사용자 단말.
In claim 8,
The user terminal transmits a token issuance request to the token server,
The token issuance request includes secret information,
The secret information, the user terminal including a phone number (phone number), user ID (identification), and password (password) received from the user.
◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 10 was abandoned upon payment of the set registration fee. 청구항 9에서,
상기 프라이빗 토큰은,
상기 패스워드와 상기 사용자 ID를 서로 연산하여 생성된 시드(seed) 값을 일방향 암호화하여 생성되는, 사용자 단말.
In claim 9,
The above private token,
A user terminal generated by one-way encryption of a seed value generated by calculating the password and the user ID with each other.
◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 11 was abandoned upon payment of the set registration fee. 청구항 10에서,
상기 시드 값은,
상기 패스워드에 대한 2진 값 및 상기 사용자 ID에 대한 2진 값을 서로 XOR 연산함으로써 생성되는, 사용자 단말.
In claim 10,
The seed value is,
A user terminal generated by performing XOR operations on the binary value for the password and the binary value for the user ID.
◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 12 was abandoned upon payment of the set registration fee. 청구항 11에서,
상기 패스워드에 대한 2진 값 및 상기 사용자 ID에 대한 2진 값은,
상기 패스워드와 상기 사용자 ID 중 길이가 짧은 것에 패딩 기호를 추가하여 상기 패스워드와 상기 사용자 ID의 길이를 동일하게 변경하고, 길이가 동일한 상기 패스워드와 상기 사용자 ID를 2진값(binary number)으로 변환함으로써 생성되는, 사용자 단말.
In claim 11,
The binary value for the password and the binary value for the user ID,
Generated by changing the length of the password and the user ID equally by adding a padding symbol to the shorter one of the password and the user ID, and converting the password and the user ID of the same length into a binary number Being, the user terminal.
◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 13 was abandoned upon payment of the set registration fee. 청구항 8에서,
상기 생체 인증 정보는,
상기 생체 검증 정보와 상기 수학식에 기초하여 놈 연산(norm operation)되고,
상기 놈 연산(norm operation)을 수행한 결과값을 미리 설정된 임계값과 비교한 결과에 따라 검증되는, 사용자 단말.
In claim 8,
The biometric authentication information,
A norm operation is performed based on the biometric verification information and the equation,
A user terminal that is verified according to a result of comparing a result of performing the norm operation with a preset threshold.
◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 14 has been abandoned upon payment of the set registration fee. 청구항 13에서,
상기 생체 검증 정보는,
상기 초기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용해 변환함으로써 생성되는, 사용자 단말.
In claim 13,
The biometric verification information,
A user terminal generated by converting the initial biometric information using the challenge value and the private token.
◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 15 was abandoned upon payment of the set registration fee. 청구항 8에서,
상기 도전값은,
상기 결제 서버에서 상기 사용자 단말이 전송한 결제 인증 요청을 수신한 시각을 지시하는 타임 스탬프(timestamp) 및 상기 사용자 단말의 고유 식별 기호를 이용하여 생성되는, 사용자 단말.
In claim 8,
The conductivity value is,
The user terminal is generated by using a timestamp indicating a time when the payment authentication request transmitted by the user terminal is received by the payment server and a unique identification symbol of the user terminal.
◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 16 was abandoned upon payment of the set registration fee. 청구항 15에서,
상기 도전값은,
상기 타임 스탬프(timestamp) 및 상기 사용자 단말의 고유 식별 기호를 이용하여 생성되는 무작위 값(random number)인, 사용자 단말.
In claim 15,
The conductivity value is,
The user terminal, which is a random number generated using the timestamp and the unique identification symbol of the user terminal.
◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 17 was abandoned upon payment of the set registration fee. 청구항 8에서,
상기 생체 인증 정보 생성부는,
상기 직교 행렬에 상기 생체 정보 행렬을 곱하고, 상기 도전값 행렬을 더함으로써 상기 생체 인증 정보를 생성하는, 사용자 단말.
In claim 8,
The biometric authentication information generation unit,
The user terminal generating the biometric authentication information by multiplying the orthogonal matrix by the biometric information matrix and adding the conductivity value matrix.
사용자 단말 및 토큰 서버와 연동하여 생체 정보를 이용한 결제를 수행하는 결제 서버로서,
상기 사용자 단말과 연동하여 폰 번호를 인증하고, 인증된 상기 폰 번호를 포함하는 프라이빗 토큰 요청 메시지를 상기 토큰 서버에 전송하고, 상기 토큰 서버로부터 상기 폰 번호와 대응하는 프라이빗 토큰을 수신하는 프라이빗 토큰 획득부;
상기 사용자 단말로부터 수신한 결제 인증 요청 메시지에 대한 응답으로 도전값을 생성하는 도전값 생성부;
상기 사용자 단말로부터 미리 수신하여 등록한 초기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 검증 정보를 생성하는 생체 검증 정보 생성부; 및
상기 사용자 단말로부터 생체 인증 정보를 수신하고, 상기 생체 인증 정보와 상기 생체 검증 정보 사이의 놈(norm) 연산을 수행한 결과에 기초하여 상기 생체 인증 정보를 검증하는 생체 인증 정보 검증부를 포함하고,
상기 생체 검증 정보 생성부는,
상기 초기 생체 정보를 1 × n(n은 2 이상의 자연수)의 초기 생체 정보 행렬로 표현하고, 상기 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 상기 도전값에 따른 값을 1 × n의 도전값 행렬로 표현하고,
상기 생체 인증 정보 검증부는,
아래 수학식에 기초하여 상기 놈 연산을 수행함으로써 상기 생체 인증 정보를 검증하고,
Figure 112020122938854-pat00016

상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 상기 초기 생체 정보 행렬인, 결제 서버.
As a payment server that performs payment using biometric information in connection with a user terminal and a token server,
Obtaining a private token for authenticating a phone number by interworking with the user terminal, transmitting a private token request message including the authenticated phone number to the token server, and receiving a private token corresponding to the phone number from the token server part;
A conductivity value generator for generating a conductivity value in response to a payment authentication request message received from the user terminal;
A biometric verification information generator configured to generate biometric verification information by converting the initial biometric information previously received and registered from the user terminal using the challenge value and the private token; And
A biometric authentication information verification unit that receives biometric authentication information from the user terminal and verifies the biometric authentication information based on a result of performing a norm operation between the biometric authentication information and the biometric authentication information,
The biometric verification information generation unit,
The initial biometric information is expressed as an initial biometric information matrix of 1 × n (n is a natural number of 2 or more), the value according to the private token is expressed as an orthogonal matrix of n × n, and The values are expressed in a matrix of 1 × n conductivity values,
The biometric authentication information verification unit,
Verify the biometric authentication information by performing the norm operation based on the following equation,
Figure 112020122938854-pat00016

In the above equation, α is the biometric authentication information, β is the biometric verification information, p is the conductivity value matrix, A is the orthogonal matrix, x is the biometric information matrix, and y is the initial biometric information matrix. , Payment server.
◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 19 was abandoned upon payment of the set registration fee. 청구항 18에서,
상기 프라이빗 토큰은,
상기 사용자 단말로부터 제공된 패스워드와 사용자 ID를 서로 연산하여 생성된 시드(seed) 값을 일방향 암호화함으로써 생성되는, 결제 서버.
In claim 18,
The above private token,
A payment server generated by one-way encryption of a seed value generated by calculating a password and a user ID provided from the user terminal with each other.
◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 20 was waived upon payment of the set registration fee. 청구항 19에서,
상기 시드 값은,
상기 패스워드에 대한 2진 값 및 상기 사용자 ID에 대한 2진 값을 서로 XOR 연산함으로써 생성되는, 결제 서버.
In claim 19,
The seed value is,
A payment server generated by XORing the binary value for the password and the binary value for the user ID with each other.
◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 21 was abandoned upon payment of the set registration fee. 청구항 20에서,
상기 패스워드에 대한 2진 값 및 상기 사용자 ID에 대한 2진 값은,
상기 패스워드와 상기 사용자 ID 중 길이가 짧은 것에 패딩 기호를 추가하여 상기 패스워드와 상기 사용자 ID의 길이를 동일하게 변경하고, 길이가 동일한 상기 패스워드와 상기 사용자 ID를 2진값(binary number)으로 변환함으로써 생성되는, 결제 서버.
In claim 20,
The binary value for the password and the binary value for the user ID,
Generated by changing the length of the password and the user ID equally by adding a padding symbol to the shorter one of the password and the user ID, and converting the password and the user ID of the same length into a binary number Being, the payment server.
◈청구항 22은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 22 was abandoned upon payment of the set registration fee. 청구항 18에서,
상기 생체 인증 정보 검증부는,
상기 놈 연산을 수행한 결과값을 미리 설정된 임계값과 비교한 결과에 따라 상기 생체 인증 정보를 검증하는, 결제 서버.
In claim 18,
The biometric authentication information verification unit,
A payment server for verifying the biometric authentication information according to a result of comparing a result of performing the norm operation with a preset threshold.
◈청구항 23은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 23 was abandoned upon payment of the set registration fee. 청구항 18에서,
상기 생체 검증 정보는,
상기 초기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용해 변환함으로써 생성되는, 결제 서버.
In claim 18,
The biometric verification information,
A payment server generated by converting the initial biometric information using the challenge value and the private token.
◈청구항 24은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 24 was abandoned upon payment of the set registration fee. 청구항 18에서,
상기 도전값은,
상기 결제 인증 요청 메시지를 수신한 시각을 지시하는 타임 스탬프(timestamp) 및 상기 사용자 단말의 고유 식별 기호를 이용하여 생성되는, 결제 서버.
In claim 18,
The conductivity value is,
A payment server generated by using a timestamp indicating a time when the payment authentication request message is received and a unique identification symbol of the user terminal.
◈청구항 25은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 25 was abandoned upon payment of the set registration fee. 청구항 24에서,
상기 도전값은,
상기 타임 스탬프(timestamp) 및 상기 사용자 단말의 고유 식별 기호를 이용하여 생성되는 무작위 값(random number)인, 결제 서버.
In claim 24,
The conductivity value is,
A payment server that is a random number generated using the timestamp and the unique identification symbol of the user terminal.
◈청구항 26은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 26 was waived upon payment of the set registration fee. 청구항 18에서,
상기 생체 검증 정보 생성부는,
상기 직교 행렬에 상기 초기 생체 정보 행렬을 곱하고, 상기 도전값 행렬을 더함으로써 상기 생체 인증 정보를 생성하는, 결제 서버.
In claim 18,
The biometric verification information generation unit,
The payment server for generating the biometric authentication information by multiplying the orthogonal matrix by the initial biometric information matrix and adding the conductivity value matrix.
사용자 단말의 동작 방법으로,
토큰 서버와 연동하여 프라이빗 토큰을 발급받고, 상기 프라이빗 토큰을 보안 영역에 저장하는 단계;
결제 서버에 결제 인증 요청을 전송하고, 상기 결제 인증 요청에 대한 응답으로 도전값을 수신하는 단계;
사용자로부터 생체 정보를 입력받고, 상기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 인증 정보를 생성하는 단계; 및
상기 생체 인증 정보를 상기 결제 서버로 전송하고, 상기 결제 서버로부터 결제 승인을 지시하는 메시지를 수신하는 단계를 포함하고,
상기 생체 인증 정보를 생성하는 단계는,
상기 사용자의 지문이나 홍채 중 적어도 하나로부터 특징점들을 인식하고, 인식된 상기 특징점들을 디지털 코드들로 변환한 후, 변환된 상기 디지털 코드들을 상기 생체 정보를 지시하는 1 × n(n은 2 이상의 자연수)의 생체 정보 행렬로 표현하고, 상기 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 상기 도전값에 따른 값을 1 × n의 도전값 행렬로 표현하는 단계를 포함하고,
상기 생체 인증 정보는, 아래 수학식에 기초하여 생체 검증 정보와 비교됨으로써 검증되고,
Figure 112020122938854-pat00017

상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 초기 생체 정보를 지시하는 초기 생체 정보 행렬인, 사용자 단말의 동작 방법.
As the operation method of the user terminal,
Receiving a private token by interworking with a token server and storing the private token in a security area;
Transmitting a payment authentication request to a payment server, and receiving a challenge value in response to the payment authentication request;
Receiving biometric information from a user and converting the biometric information using the challenge value and the private token to generate biometric authentication information; And
Transmitting the biometric authentication information to the payment server, and receiving a message instructing payment approval from the payment server,
Generating the biometric authentication information,
1 × n (n is a natural number of 2 or more) that recognizes feature points from at least one of the user's fingerprint or iris, converts the recognized feature points into digital codes, and then indicates the converted digital codes to the biometric information And expressing the value according to the private token as an orthogonal matrix of n × n, and expressing the value according to the conductivity value as a 1 × n conductivity value matrix, ,
The biometric authentication information is verified by comparing it with the biometric verification information based on the following equation,
Figure 112020122938854-pat00017

In the above equation, α is the biometric authentication information, β is the biometric verification information, p is the conductivity value matrix, A is the orthogonal matrix, x is the biometric information matrix, and y is the initial biometric information. Initial biometric information matrix, operating method of a user terminal.
결제 서버의 동작 방법으로,
사용자 단말과 연동하여 폰 번호를 인증하고, 인증된 상기 폰 번호를 포함하는 프라이빗 토큰 요청 메시지를 토큰 서버에 전송하는 단계;
상기 토큰 서버로부터 상기 폰 번호와 대응하는 프라이빗 토큰을 수신하는 단계;
상기 사용자 단말로부터 수신한 결제 인증 요청 메시지에 대한 응답으로 도전값을 생성하는 단계;
상기 사용자 단말로부터 미리 수신하여 등록한 초기 생체 정보를 상기 도전값과 상기 프라이빗 토큰을 이용하여 변환함으로써 생체 검증 정보를 생성하는 단계; 및
상기 사용자 단말로부터 생체 인증 정보를 수신하고, 상기 생체 인증 정보와 상기 생체 검증 정보 사이의 놈(norm) 연산을 수행한 결과에 기초하여 상기 생체 인증 정보를 검증하는 단계를 포함하고,
상기 생체 인증 정보를 검증하는 단계는,
상기 초기 생체 정보를 1 × n(n은 2 이상의 자연수)의 초기 생체 정보 행렬로 표현하고, 상기 프라이빗 토큰에 따른 값을 n × n의 직교 행렬(orthogonal matrix)로 표현하고, 상기 도전값에 따른 값을 1 × n의 도전값 행렬로 표현하는 단계; 및
아래 수학식에 기초하여 상기 놈 연산을 수행함으로써 상기 생체 인증 정보를 검증하는 단계를 포함하고,
Figure 112020122938854-pat00018

상기 수학식에서 α는 상기 생체 인증 정보이고, β는 상기 생체 검증 정보이고, p는 상기 도전값 행렬이고, A는 상기 직교 행렬이고, x는 상기 생체 정보 행렬이고, y는 상기 초기 생체 정보 행렬인, 결제 서버의 동작 방법.
As a method of operation of the payment server,
Authenticating a phone number in connection with a user terminal, and transmitting a private token request message including the authenticated phone number to a token server;
Receiving a private token corresponding to the phone number from the token server;
Generating a challenge value in response to a payment authentication request message received from the user terminal;
Generating biometric verification information by converting the initial biometric information previously received and registered from the user terminal using the challenge value and the private token; And
Receiving biometric authentication information from the user terminal and verifying the biometric authentication information based on a result of performing a norm operation between the biometric authentication information and the biometric authentication information,
The step of verifying the biometric authentication information,
The initial biometric information is expressed as an initial biometric information matrix of 1 × n (n is a natural number greater than or equal to 2), and the value according to the private token is expressed as an orthogonal matrix of n × n, according to the challenge value. Expressing the values in a 1 × n conductivity value matrix; And
Including the step of verifying the biometric authentication information by performing the norm operation based on the following equation,
Figure 112020122938854-pat00018

In the above equation, α is the biometric authentication information, β is the biometric verification information, p is the conductivity value matrix, A is the orthogonal matrix, x is the biometric information matrix, and y is the initial biometric information matrix. , How the payment server works.
KR1020200121688A 2020-09-21 2020-09-21 System for electronic payment and method for operating the same Expired - Fee Related KR102196347B1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020200121688A KR102196347B1 (en) 2020-09-21 2020-09-21 System for electronic payment and method for operating the same
KR1020200180791A KR20220039508A (en) 2020-09-21 2020-12-22 System for electronic payment based on time stamp and method for operating the same
KR1020200180801A KR20220039511A (en) 2020-09-21 2020-12-22 System for electronic payment based on token management table and method for operating the same
KR1020200180789A KR20220039507A (en) 2020-09-21 2020-12-22 System for electronic payment based on private token and method for operating the same
KR1020200180796A KR20220039510A (en) 2020-09-21 2020-12-22 System for electronic payment using token management based on phone number and method for operating the same
KR1020200180793A KR20220039509A (en) 2020-09-21 2020-12-22 System for electronic payment using biometric verification information based on challenge value and method for operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200121688A KR102196347B1 (en) 2020-09-21 2020-09-21 System for electronic payment and method for operating the same

Related Child Applications (5)

Application Number Title Priority Date Filing Date
KR1020200180801A Division KR20220039511A (en) 2020-09-21 2020-12-22 System for electronic payment based on token management table and method for operating the same
KR1020200180793A Division KR20220039509A (en) 2020-09-21 2020-12-22 System for electronic payment using biometric verification information based on challenge value and method for operating the same
KR1020200180796A Division KR20220039510A (en) 2020-09-21 2020-12-22 System for electronic payment using token management based on phone number and method for operating the same
KR1020200180789A Division KR20220039507A (en) 2020-09-21 2020-12-22 System for electronic payment based on private token and method for operating the same
KR1020200180791A Division KR20220039508A (en) 2020-09-21 2020-12-22 System for electronic payment based on time stamp and method for operating the same

Publications (1)

Publication Number Publication Date
KR102196347B1 true KR102196347B1 (en) 2020-12-29

Family

ID=74090287

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020200121688A Expired - Fee Related KR102196347B1 (en) 2020-09-21 2020-09-21 System for electronic payment and method for operating the same
KR1020200180791A Abandoned KR20220039508A (en) 2020-09-21 2020-12-22 System for electronic payment based on time stamp and method for operating the same
KR1020200180801A Abandoned KR20220039511A (en) 2020-09-21 2020-12-22 System for electronic payment based on token management table and method for operating the same
KR1020200180789A Abandoned KR20220039507A (en) 2020-09-21 2020-12-22 System for electronic payment based on private token and method for operating the same
KR1020200180796A Abandoned KR20220039510A (en) 2020-09-21 2020-12-22 System for electronic payment using token management based on phone number and method for operating the same
KR1020200180793A Abandoned KR20220039509A (en) 2020-09-21 2020-12-22 System for electronic payment using biometric verification information based on challenge value and method for operating the same

Family Applications After (5)

Application Number Title Priority Date Filing Date
KR1020200180791A Abandoned KR20220039508A (en) 2020-09-21 2020-12-22 System for electronic payment based on time stamp and method for operating the same
KR1020200180801A Abandoned KR20220039511A (en) 2020-09-21 2020-12-22 System for electronic payment based on token management table and method for operating the same
KR1020200180789A Abandoned KR20220039507A (en) 2020-09-21 2020-12-22 System for electronic payment based on private token and method for operating the same
KR1020200180796A Abandoned KR20220039510A (en) 2020-09-21 2020-12-22 System for electronic payment using token management based on phone number and method for operating the same
KR1020200180793A Abandoned KR20220039509A (en) 2020-09-21 2020-12-22 System for electronic payment using biometric verification information based on challenge value and method for operating the same

Country Status (1)

Country Link
KR (6) KR102196347B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160105292A (en) * 2015-02-27 2016-09-06 삼성전자주식회사 Electronic apparatus providing electronic payment function and operating method thereof
KR20170027160A (en) * 2015-09-01 2017-03-09 삼성전자주식회사 Electronic device and method for payment transaction
KR20170111005A (en) * 2016-03-24 2017-10-12 삼성전자주식회사 Electronic device for providing electronic payment and method thereof
KR20170130963A (en) * 2016-05-20 2017-11-29 (주)드림시큐리티 Apparatus for authenticating user in association with user-identification-registration and local-authentication and method for using the same
KR20200023469A (en) * 2017-08-23 2020-03-04 윤태식 Authentication terminal, authentication apparatus and authentication method using them

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160105292A (en) * 2015-02-27 2016-09-06 삼성전자주식회사 Electronic apparatus providing electronic payment function and operating method thereof
KR20170027160A (en) * 2015-09-01 2017-03-09 삼성전자주식회사 Electronic device and method for payment transaction
KR20170111005A (en) * 2016-03-24 2017-10-12 삼성전자주식회사 Electronic device for providing electronic payment and method thereof
KR20170130963A (en) * 2016-05-20 2017-11-29 (주)드림시큐리티 Apparatus for authenticating user in association with user-identification-registration and local-authentication and method for using the same
KR20200023469A (en) * 2017-08-23 2020-03-04 윤태식 Authentication terminal, authentication apparatus and authentication method using them

Also Published As

Publication number Publication date
KR20220039511A (en) 2022-03-29
KR20220039508A (en) 2022-03-29
KR20220039507A (en) 2022-03-29
KR20220039509A (en) 2022-03-29
KR20220039510A (en) 2022-03-29

Similar Documents

Publication Publication Date Title
US11803633B1 (en) Method and system for securing user access, data at rest and sensitive transactions using biometrics for mobile devices with protected, local templates
US10681025B2 (en) Systems and methods for securely managing biometric data
CN107077670B (en) Method and apparatus for transmitting and processing transaction messages, computer readable storage medium
CN101923660B (en) Dynamic password identity authorization system and method based on RFID
US9218493B2 (en) Key camouflaging using a machine identifier
CN100459488C (en) Portable one-time dynamic password generator and security authentication system using the same
US11893587B2 (en) System for enhanced authentication using non-fungible tokens (NFTs)
US20250132919A1 (en) Decentralized zero-trust identity verification-authentication system and method
KR20180003113A (en) Server, device and method for authenticating user
US10503936B2 (en) Systems and methods for utilizing magnetic fingerprints obtained using magnetic stripe card readers to derive transaction tokens
US20230185898A1 (en) Systems and methods for authentication code entry using mobile electronic devices
AU2020210529B2 (en) Offline interception-free interaction with a cryptocurrency network using a network-disabled device
CN119005980A (en) Block chain account generation method and system
JP2020521341A (en) Cryptographic key management based on identification information
TWI416922B (en) Authentication system utilizing image authentication code and method thereof
US20170372306A1 (en) Payment by mobile device secured by f-puf
KR102196347B1 (en) System for electronic payment and method for operating the same
Abdullah et al. Implementation of RSA and SHA-256 Rolling Code Authentication for Student ID Cards in a University Environment
WO2023056569A1 (en) A method and a validation device for executing blockchain transactions

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PA0302 Request for accelerated examination

St.27 status event code: A-1-2-D10-D16-exm-PA0302

St.27 status event code: A-1-2-D10-D17-exm-PA0302

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R15-X000 Change to inventor requested

St.27 status event code: A-3-3-R10-R15-oth-X000

R16-X000 Change to inventor recorded

St.27 status event code: A-3-3-R10-R16-oth-X000

A107 Divisional application of patent
GRNT Written decision to grant
PA0107 Divisional application

St.27 status event code: A-0-1-A10-A16-div-PA0107

St.27 status event code: A-0-1-A10-A18-div-PA0107

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

Fee payment year number: 1

St.27 status event code: A-2-2-U10-U11-oth-PR1002

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

P14-X000 Amendment of ip right document requested

St.27 status event code: A-5-5-P10-P14-nap-X000

PC1903 Unpaid annual fee

Not in force date: 20231223

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

St.27 status event code: A-4-4-U10-U13-oth-PC1903

PC1903 Unpaid annual fee

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20231223

St.27 status event code: N-4-6-H10-H13-oth-PC1903

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载