KR102547682B1 - Server for supporting user identification using physically unclonable function based onetime password and operating method thereof - Google Patents

Server for supporting user identification using physically unclonable function based onetime password and operating method thereof Download PDF

Info

Publication number
KR102547682B1
KR102547682B1 KR1020210082857A KR20210082857A KR102547682B1 KR 102547682 B1 KR102547682 B1 KR 102547682B1 KR 1020210082857 A KR1020210082857 A KR 1020210082857A KR 20210082857 A KR20210082857 A KR 20210082857A KR 102547682 B1 KR102547682 B1 KR 102547682B1
Authority
KR
South Korea
Prior art keywords
otp
puf
authentication value
server
user terminal
Prior art date
Application number
KR1020210082857A
Other languages
Korean (ko)
Other versions
KR20230000583A (en
Inventor
최명아
한석민
Original Assignee
주식회사 엘지유플러스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지유플러스 filed Critical 주식회사 엘지유플러스
Priority to KR1020210082857A priority Critical patent/KR102547682B1/en
Publication of KR20230000583A publication Critical patent/KR20230000583A/en
Application granted granted Critical
Publication of KR102547682B1 publication Critical patent/KR102547682B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

일 실시 예에 따른 PUF(Physical Unclonable Function) OTP(One Time Password) 서버의 동작 방법에 있어서, 사용자 단말을 통한 인증 요청에 따라 PG(Payment Gateway) 서버로부터 결제 정보를 수신하고, 결제 정보 및 PUF OTP 인증서를 사용자 단말로 전송하는 동작; 사용자 단말로부터 PUF OTP 인증서로 암호화된 제1 OTP 인증값을 수신 및 복호화하는 동작 - 제1 OTP 인증값은 사용자 단말에 포함된 PUF OTP 애플릿(applet)에서 생성되고 PUF OTP 인증서로 암호화되며, 제1 OTP 인증값 중 제1 사용자 확인용 인증값이 사용자 단말에 디스플레이됨 -; 제2 OTP 인증값을 생성하고, 복호화된 제1 OTP 인증값과 제2 OTP 인증값이 대응하는지 검증하는 동작; 제2 OTP 인증값 중 제2 사용자 확인용 인증값 및 검증 결과를 PG 서버를 통해 사용자 단말로 전송하는 동작 -제2 사용자 확인용 인증값은 상기 사용자 단말에 디스플레이됨 -;을 포함하고, PG 서버는 제1 사용자 확인용 인증값과 제2 사용자 확인용 인증값이 대응된다는 사용자 입력에 기초하여 인증을 완료할 수 있다.In the operation method of a physical unclonable function (PUF) one time password (OTP) server according to an embodiment, payment information is received from a payment gateway (PG) server according to an authentication request through a user terminal, and the payment information and PUF OTP transmitting the certificate to the user terminal; Receiving and decrypting a first OTP authentication value encrypted with a PUF OTP certificate from a user terminal - the first OTP authentication value is generated from a PUF OTP applet included in the user terminal and encrypted with the PUF OTP certificate; Among the OTP authentication values, the authentication value for first user confirmation is displayed on the user terminal -; generating a second OTP authentication value and verifying whether the decrypted first OTP authentication value corresponds to the second OTP authentication value; An operation of transmitting an authentication value for second user confirmation and a verification result among the second OTP authentication values to the user terminal through the PG server -the authentication value for second user confirmation is displayed on the user terminal; and a PG server may complete authentication based on a user input that the authentication value for first user confirmation and the authentication value for second user confirmation correspond.

Description

PUF기반 OTP를 이용하여 사용자 인증을 지원하는 서버 및 그 동작 방법{SERVER FOR SUPPORTING USER IDENTIFICATION USING PHYSICALLY UNCLONABLE FUNCTION BASED ONETIME PASSWORD AND OPERATING METHOD THEREOF}Server supporting user authentication using PUF-based OTP and its operating method

아래의 실시예들은 사용자 인증을 지원하는 서버 및 그 동작 방법에 관한 것으로, 보다 구체적으로는 PUF(physically unclonable function) 기반 OTP(one time password)를 이용하여 사용자 인증을 지원하는 서버 및 그 동작 방법에 관한 것이다.The following embodiments relate to a server supporting user authentication and an operating method thereof, and more specifically, to a server supporting user authentication using a physically unclonable function (PUF) based one time password (OTP) and an operating method thereof it's about

OTP(One Time Password)는 일회용 패스워드로써 여러 방면에 안전한 인증 방법으로 활용되고 있다. 특히 국내의 경우 안전한 전자금융 거래를 위해 거래 시 사용자의 신원을 확인하기 위한 추가 인증 요소로 활용된다.OTP (One Time Password) is a one-time password and is used as a secure authentication method in many ways. In particular, in Korea, it is used as an additional authentication factor to verify the user's identity during transactions for safe electronic financial transactions.

피싱(phishing), 파밍(pharming) 등 전자 금융 거래에 대한 위협이 다양해지고 있으며, OTP는 기본적으로 단방향 함수인 해쉬 함수의 이점을 이용하여 랜덤한 값을 생성함으로써 이러한 위협에 대처한다. 다만 OTP 값을 생성하는 과정에서 소프트웨어적인 방법만 활용하기 때문에, 동일한 입력 정보만 입력한다면 같은 OTP 값을 생성할 수 있고, 공격자가 특정 목표를 대상으로 하여 개인 정보를 수집한다면 동일한 OTP 값을 생성할 수 있다.Threats to electronic financial transactions, such as phishing and pharming, are diversifying, and OTP responds to these threats by generating random values using the advantage of a hash function, which is basically a one-way function. However, since only the software method is used in the process of generating the OTP value, the same OTP value can be generated if the same input information is entered, and the same OTP value can be generated if the attacker collects personal information for a specific target. can

PUF(physically unclonable function) 기술은 물리적 복제 방지 기술로, 하드웨어적 특성을 이용하여 소프트웨어 기반 보안 방식의 구조적 한계를 극복할 수 있는 기술이다.PUF (physically unclonable function) technology is a physical copy protection technology that can overcome the structural limitations of software-based security methods by using hardware characteristics.

관련 선행기술로, 한국 등록특허공보 10-1525888호(발명의 명칭: Puf를 이용한 otp 발생 기기 및 방법, 출원인: 숭실대학교 산학협력단)가 있다. 해당 등록특허공보에는 전자 금융 거래 시스템에서 사용자에 대한 인증을 하기 위한 OTP발생기가 개시된다.As related prior art, there is Korean Patent Registration No. 10-1525888 (title of invention: otp generation device and method using Puf, Applicant: Soongsil University Industry-University Cooperation Foundation). The registered patent publication discloses an OTP generator for authenticating a user in an electronic financial transaction system.

일 실시 예에 따르면, PUF 기반의 OTP를 이용한 사용자 인증 과정에서, SMS 인증시 스미싱의 위험이 존재할 수 있다.According to an embodiment, in a user authentication process using PUF-based OTP, there may be a risk of smishing during SMS authentication.

다른 실시 예에 따르면, PUF 기반 OTP 인증값의 검증 과정에서 PUF OTP 서버는 사용자 단말의 USIM 칩 내 PUF 칩으로부터 HMAC(Hash-based Message Authentication Code) key를 수신하여야 한다.According to another embodiment, in the process of verifying the PUF-based OTP authentication value, the PUF OTP server needs to receive a Hash-based Message Authentication Code (HMAC) key from the PUF chip in the USIM chip of the user terminal.

다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical challenges are not limited to the above-described technical challenges, and other technical challenges may exist.

일 실시 예에 따르면, PUF(Physical Unclonable Function) OTP(One Time Password) 서버의 동작 방법은, 사용자 단말을 통한 인증 요청에 따라 PG(Payment Gateway) 서버로부터 결제 정보를 수신하고, 상기 결제 정보 및 PUF OTP 인증서를 상기 사용자 단말로 전송하는 동작; 상기 사용자 단말로부터 상기 PUF OTP 인증서로 암호화된 제1 OTP 인증값을 수신 및 복호화하는 동작 - 상기 제1 OTP 인증값은 상기 사용자 단말에 포함된 PUF OTP 애플릿(applet)에서 생성되고 상기 PUF OTP 인증서로 암호화되며, 상기 제1 OTP 인증값 중 제1 사용자 확인용 인증값이 상기 사용자 단말에 디스플레이됨 -; 제2 OTP 인증값을 생성하고, 상기 복호화된 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지 검증하는 동작; 상기 제2 OTP 인증값 중 제2 사용자 확인용 인증값 및 상기 검증 결과를 상기 PG 서버를 통해 상기 사용자 단말로 전송하는 동작 - 상기 제2 사용자 확인용 인증값은 상기 사용자 단말에 디스플레이됨 -;을 포함하고, 상기 PG 서버는 상기 제1 사용자 확인용 인증값과 상기 제2 사용자 확인용 인증값이 대응된다는 사용자 입력에 기초하여 인증을 완료할 수 있다.According to an embodiment, a method of operating a physical unclonable function (PUF) one time password (OTP) server receives payment information from a payment gateway (PG) server according to an authentication request through a user terminal, and the payment information and the PUF transmitting an OTP certificate to the user terminal; Receiving and decrypting a first OTP authentication value encrypted with the PUF OTP certificate from the user terminal - the first OTP authentication value is generated in a PUF OTP applet included in the user terminal and converted to the PUF OTP certificate encrypted, and the authentication value for first user confirmation among the first OTP authentication values is displayed on the user terminal -; generating a second OTP authentication value and verifying whether the decrypted first OTP authentication value corresponds to the second OTP authentication value; An operation of transmitting a second user confirmation authentication value and the verification result among the second OTP authentication values to the user terminal through the PG server, wherein the second user confirmation authentication value is displayed on the user terminal; and the PG server may complete authentication based on a user input indicating that the first authentication value for user confirmation corresponds to the authentication value for second user confirmation.

일 실시 예에 따르면, 상기 제1 OTP 인증값 및 상기 제2 OTP 인증값은 상기 PUF OTP 애플릿 및 상기 PUF OTP 서버에 의해 사전 정의된 HMAC(Hash-based Message Authentication Code) key 생성 알고리즘 및 HMAC 알고리즘에 기초하여 생성될 수 있다.According to an embodiment, the first OTP authentication value and the second OTP authentication value are based on a hash-based message authentication code (HMAC) key generation algorithm and an HMAC algorithm predefined by the PUF OTP applet and the PUF OTP server. can be created based on

일 실시 예에 따르면, 상기 HMAC key 생성 알고리즘 및 상기 HMAC 알고리즘은 상기 PUF OTP 인증서와 함께 상기 사용자 단말의 USIM(Universal Subscriber Identify Module)이 발급될 때 상기 PUF OTP 서버로부터 상기 PUF OTP 애플릿으로 전송되고, 상기 PUF OTP 애플릿은, 상기 HMAC key 생성 알고리즘 및 상기 사용자 단말의 USIM 고유번호(serial number)에 기초하여 제1 HMAC key를 생성하고, 상기 HMAC 알고리즘, 상기 PUF OTP 인증서 및 상기 제1 HMAC key를 저장할 수 있다.According to an embodiment, the HMAC key generation algorithm and the HMAC algorithm are transmitted from the PUF OTP server to the PUF OTP applet when a Universal Subscriber Identify Module (USIM) of the user terminal is issued together with the PUF OTP certificate, The PUF OTP applet generates a first HMAC key based on the HMAC key generation algorithm and the USIM serial number of the user terminal, and stores the HMAC algorithm, the PUF OTP certificate, and the first HMAC key. can

일 실시 예에 따르면, 상기 사용자 단말의 인증 요청에 따라 상기 PUF OTP 서버로부터 상기 사용자 단말로 상기 결제 정보 및 상기 PUF OTP 인증서가 전송되면, 상기 PUF OTP 애플릿은, 상기 저장된 PUF OTP 인증서와 상기 수신한 PUF OTP 인증서가 대응되는 경우, 상기 저장된 HMAC 알고리즘, 상기 결제 정보 및 상기 저장된 제1 HMAC key에 기초하여 상기 제1 OTP 인증값을 생성하고, 상기 제1 OTP 인증값을 상기 PUF OTP 인증서로 암호화하여 상기 PUF OTP 서버로 전송할 수 있다.According to an embodiment, when the payment information and the PUF OTP certificate are transmitted from the PUF OTP server to the user terminal in response to an authentication request from the user terminal, the PUF OTP applet receives the stored PUF OTP certificate and the received PUF OTP applet. If the PUF OTP certificate corresponds, the first OTP authentication value is generated based on the stored HMAC algorithm, the payment information, and the stored first HMAC key, and the first OTP authentication value is encrypted with the PUF OTP certificate. It can be transmitted to the PUF OTP server.

일 실시 예에 따르면, 상기 PUF OTP 서버가 상기 제2 OTP 인증값을 생성하고, 상기 복호화된 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지 검증하는 동작은, 상기 HMAC key 생성 알고리즘 및 상기 사용자 단말의 USIM 고유번호에 기초하여 제2 HMAC key를 생성하는 동작; 상기 HMAC 알고리즘, 상기 결제 정보 및 상기 제2 HMAC key에 기초하여 상기 제2 OTP 인증값을 생성하는 동작; 및 상기 복호화된 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지 검증하는 동작을 포함할 수 있다.According to an embodiment, the operation of generating the second OTP authentication value by the PUF OTP server and verifying whether the decrypted first OTP authentication value and the second OTP authentication value correspond to the HMAC key generation algorithm and Generating a second HMAC key based on the USIM-specific number of the user terminal; generating the second OTP authentication value based on the HMAC algorithm, the payment information, and the second HMAC key; and verifying whether the decrypted first OTP authentication value corresponds to the second OTP authentication value.

일 실시 예에 따르면, 상기 결제 정보 및 상기 PUF OTP 인증서는 심툴킷 메시지(SIM Toolkit message)를 통해 상기 PUF OTP 서버로부터 상기 사용자 단말로 전송되고, 상기 PUF OTP 인증서로 암호화된 상기 제1 OTP 인증값은 심툴킷 메시지(SIM Toolkit message)를 통해 상기 사용자 단말로부터 상기 PUF OTP 서버로 전송될 수 있다.According to an embodiment, the payment information and the PUF OTP certificate are transmitted from the PUF OTP server to the user terminal through a SIM Toolkit message, and the first OTP authentication value encrypted with the PUF OTP certificate may be transmitted from the user terminal to the PUF OTP server through a SIM Toolkit message.

일 실시 예에 따르면, 상기 결제 정보는, 거래번호, 상품명 및 거래금액 중 적어도 어느 하나를 포함할 수 있다.According to one embodiment, the payment information may include at least one of a transaction number, a product name, and a transaction amount.

일 실시 예에 따르면, PUF(Physical Unclonable Function) OTP(One Time Password) 서버에 있어서, 사용자 단말을 통한 인증 요청에 따라 PG(Payment Gateway) 서버로부터 결제 정보를 수신하고, 상기 결제 정보 및 PUF OTP 인증서를 상기 사용자 단말로 전송하고, 상기 사용자 단말로부터 상기 PUF OTP 인증서로 암호화된 제1 OTP 인증값을 수신하고, 제2 OTP 인증값 중 제2 사용자 확인용 인증값 및 상기 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지에 대한 검증 결과를 상기 PG 서버를 통해 상기 사용자 단말로 전송하기 위한 통신 인터페이스; 컴퓨터로 실행 가능한 명령어들(computer-executable instructions)이 저장된 메모리; 및 상기 메모리에 억세스(access)하여 상기 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 PUF OTP 인증서로 암호화된 상기 제1 OTP 인증값을 복호화하고, 제2 OTP 인증값을 생성하고, 상기 복호화된 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지 검증하고, 상기 제1 OTP 인증값은 상기 사용자 단말에 포함된 PUF OTP 애플릿(applet)에서 생성되고 상기 PUF OTP 인증서로 암호화되며, 상기 제1 OTP 인증값 중 제1 사용자 확인용 인증값이 상기 사용자 단말에 디스플레이되고, 상기 제2 사용자 확인용 인증값이 상기 사용자 단말에 디스플레이되며, 상기 PG 서버는 상기 제1 사용자 확인용 인증값과 상기 제2 사용자 확인용 인증값이 대응한다는 사용자 입력에 기초하여 인증을 완료할 수 있다.According to an embodiment, in a physical unclonable function (PUF) one time password (OTP) server, payment information is received from a payment gateway (PG) server according to an authentication request through a user terminal, and the payment information and the PUF OTP certificate is transmitted to the user terminal, and a first OTP authentication value encrypted with the PUF OTP certificate is received from the user terminal, and among the second OTP authentication values, a second user confirmation authentication value and the first OTP authentication value and the a communication interface for transmitting a verification result of whether a second OTP authentication value corresponds to the user terminal through the PG server; a memory in which computer-executable instructions are stored; and a processor accessing the memory to execute the instructions, wherein the processor decrypts the first OTP authentication value encrypted with the PUF OTP certificate, generates a second OTP authentication value, and performs the decryption It is verified whether the first OTP authentication value and the second OTP authentication value correspond to each other, and the first OTP authentication value is generated in a PUF OTP applet included in the user terminal and encrypted with the PUF OTP certificate. Among the first OTP authentication values, a first authentication value for user confirmation is displayed on the user terminal, the second authentication value for user confirmation is displayed on the user terminal, and the PG server displays the authentication value for first user confirmation and Authentication may be completed based on a user input indicating that the authentication value for second user confirmation corresponds.

일 실시 예에 따르면, 상기 제1 OTP 인증값 및 상기 제2 OTP 인증값은 상기 PUF OTP 애플릿 및 상기 PUF OTP 서버에 의해 사전 정의된 HMAC(Hash-based Message Authentication Code) key 생성 알고리즘 및 HMAC 알고리즘에 기초하여 생성될 수 있다.According to an embodiment, the first OTP authentication value and the second OTP authentication value are based on a hash-based message authentication code (HMAC) key generation algorithm and an HMAC algorithm predefined by the PUF OTP applet and the PUF OTP server. can be created based on

일 실시 예에 따르면, 상기 HMAC key 생성 알고리즘 및 상기 HMAC 알고리즘은 상기 PUF OTP 인증서와 함께 상기 사용자 단말의 USIM(Universal Subscriber Identify Module)이 발급될 때 상기 PUF OTP 서버로부터 상기 PUF OTP 애플릿으로 전송되고, 상기 PUF OTP 애플릿은, 상기 HMAC key 생성 알고리즘 및 상기 사용자 단말의 USIM 고유번호(serial number)에 기초하여 제1 HMAC key를 생성하고, 상기 HMAC 알고리즘, 상기 PUF OTP 인증서 및 상기 제1 HMAC key를 저장할 수 있다.According to an embodiment, the HMAC key generation algorithm and the HMAC algorithm are transmitted from the PUF OTP server to the PUF OTP applet when a Universal Subscriber Identify Module (USIM) of the user terminal is issued together with the PUF OTP certificate, The PUF OTP applet generates a first HMAC key based on the HMAC key generation algorithm and the USIM serial number of the user terminal, and stores the HMAC algorithm, the PUF OTP certificate, and the first HMAC key. can

일 실시 예에 따르면, 상기 사용자 단말의 인증 요청에 따라 상기 PUF OTP 서버로부터 상기 사용자 단말로 상기 결제 정보 및 상기 PUF OTP 인증서가 전송되면, 상기 PUF OTP 애플릿은, 상기 저장된 PUF OTP 인증서와 상기 수신한 PUF OTP 인증서가 대응하는 경우, 상기 저장된 HMAC 알고리즘, 상기 결제 정보 및 상기 저장된 제1 HMAC key에 기초하여 상기 제1 OTP 인증값을 생성하고, 상기 제1 OTP 인증값을 상기 PUF OTP 인증서로 암호화하여 상기 PUF OTP 서버로 전송할 수 있다.According to an embodiment, when the payment information and the PUF OTP certificate are transmitted from the PUF OTP server to the user terminal in response to an authentication request from the user terminal, the PUF OTP applet receives the stored PUF OTP certificate and the received PUF OTP applet. If the PUF OTP certificate corresponds, the first OTP authentication value is generated based on the stored HMAC algorithm, the payment information, and the stored first HMAC key, and the first OTP authentication value is encrypted with the PUF OTP certificate. It can be transmitted to the PUF OTP server.

일 실시 예에 따르면, 상기 프로세서는, 상기 HMAC key 생성 알고리즘 및 상기 사용자 단말의 USIM 고유번호에 기초하여 제2 HMAC key를 생성하고, 상기 HMAC 알고리즘, 상기 결제 정보 및 상기 제2 HMAC key에 기초하여 상기 제2 OTP 인증값을 생성하고, 상기 복호화된 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지 검증할 수 있다.According to an embodiment, the processor generates a second HMAC key based on the HMAC key generation algorithm and the USIM-specific number of the user terminal, and based on the HMAC algorithm, the payment information, and the second HMAC key The second OTP authentication value may be generated, and it may be verified whether the decrypted first OTP authentication value corresponds to the second OTP authentication value.

일 실시 예에 따르면, 상기 결제 정보 및 상기 PUF OTP 인증서는 심툴킷 메시지(SIM Toolkit message)를 통해 상기 PUF OTP 서버로부터 상기 사용자 단말로 전송되고, 상기 PUF OTP 인증서로 암호화된 상기 제1 OTP 인증값은 심툴킷 메시지(SIM Toolkit message)를 통해 상기 사용자 단말로부터 상기 PUF OTP 서버로 전송될 수 있다.According to an embodiment, the payment information and the PUF OTP certificate are transmitted from the PUF OTP server to the user terminal through a SIM Toolkit message, and the first OTP authentication value encrypted with the PUF OTP certificate may be transmitted from the user terminal to the PUF OTP server through a SIM Toolkit message.

일 실시 예에 따르면, 상기 결제 정보는, 거래번호, 상품명 및 거래금액 중 적어도 어느 하나를 포함할 수 있다.According to one embodiment, the payment information may include at least one of a transaction number, a product name, and a transaction amount.

일 실시 예에 따르면, PUF(Physical Unclonable Function) OTP(One Time Password) 서버의 OTP 인증값 검증 방법에 있어서, 사용자 단말로부터의 인증 요청에 따라 PUF OTP 인증서를 상기 사용자 단말의 PUF OTP 애플릿(applet)으로 전송하는 동작; 상기 PUF OTP 애플릿으로부터 상기 PUF OTP 인증서로 암호화된 제1 OTP 인증값을 수신 및 복호화하는 동작; HMAC key 생성 알고리즘 및 상기 사용자 단말의 USIM(Universal Subscriber Identify Module) 고유번호(serial number)에 기초하여 제2 HMAC key를 생성하는 동작; HMAC 알고리즘 및 상기 제2 HMAC key에 기초하여 제2 OTP 인증값을 생성하는 동작; 및 상기 복호화된 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지 검증하는 동작을 포함할 수 있다.According to an embodiment, in a method for verifying an OTP authentication value of a Physical Unclonable Function (PUF) OTP (One Time Password) server, a PUF OTP certificate is sent to a PUF OTP applet of the user terminal according to an authentication request from a user terminal. the operation of sending to; receiving and decrypting a first OTP authentication value encrypted with the PUF OTP certificate from the PUF OTP applet; Generating a second HMAC key based on an HMAC key generation algorithm and a Universal Subscriber Identify Module (USIM) serial number of the user terminal; generating a second OTP authentication value based on an HMAC algorithm and the second HMAC key; and verifying whether the decrypted first OTP authentication value corresponds to the second OTP authentication value.

일 실시 예에 따르면, 상기 HMAC key 생성 알고리즘 및 상기 HMAC 알고리즘은 상기 PUF OTP 인증서와 함께 상기 사용자 단말의 USIM이 발급될 때 상기 PUF OTP 서버로부터 상기 PUF OTP 애플릿으로 전송되고, 상기 PUF OTP 애플릿은, 상기 HMAC key 생성 알고리즘 및 상기 사용자 단말의 USIM 고유번호에 기초하여 제1 HMAC key를 생성하고, 상기 HMAC 알고리즘, 상기 PUF OTP 인증서 및 상기 제1 HMAC key를 저장할 수 있다.According to an embodiment, the HMAC key generation algorithm and the HMAC algorithm are transmitted from the PUF OTP server to the PUF OTP applet when the USIM of the user terminal is issued together with the PUF OTP certificate, and the PUF OTP applet comprises: A first HMAC key may be generated based on the HMAC key generation algorithm and the USIM-specific number of the user terminal, and the HMAC algorithm, the PUF OTP certificate, and the first HMAC key may be stored.

일 실시 예에 따르면, 상기 PUF OTP 애플릿은, 상기 사용자 단말의 인증 요청에 따라 상기 PUF OTP 서버로부터 상기 PUF OTP 인증서가 수신되면, 상기 저장된 PUF OTP 인증서와 상기 수신한 PUF OTP 인증서가 대응하는 경우, 상기 저장된 HMAC 알고리즘 및 상기 저장된 제1 HMAC key에 기초하여 상기 제1 OTP 인증값을 생성하고, 상기 제1 OTP 인증값을 상기 PUF OTP 인증서로 암호화하여 상기 PUF OTP 서버로 전송할 수 있다.According to an embodiment, when the PUF OTP certificate is received from the PUF OTP server according to the authentication request of the user terminal, the PUF OTP applet corresponds to the stored PUF OTP certificate and the received PUF OTP certificate, The first OTP authentication value may be generated based on the stored HMAC algorithm and the stored first HMAC key, and the first OTP authentication value may be encrypted with the PUF OTP certificate and transmitted to the PUF OTP server.

일 실시 예에 따르면, 사용자 단말에 있어서, PUF(Physical Unclonable Function) OTP(One Time Password) 서버 및 PG(Payment Gateway) 서버와 통신하기 위한 통신 인터페이스; 제1 사용자 확인용 인증값 및 제2 사용자 확인용 인증값을 디스플레이하기 위한 디스플레이 모듈; 컴퓨터로 실행 가능한 명령어들(computer-executable instructions)이 저장된 메모리; 및 상기 메모리에 억세스(access)하여 상기 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는 PG(Payment Gateway) 서버로 인증을 요청함에 따라 상기 PUF OTP 서버로부터 결제 정보 및 PUF OTP 인증서를 수신하고, 제1 OTP 인증값을 생성하여 상기 PUF OTP 인증서로 암호화하고, 상기 제1 OTP 인증값 중 상기 제1 사용자 확인용 인증값을 디스플레이하고, 상기 암호화된 제1 OTP 인증값을 상기 PUF OTP 서버로 전송하고, 상기 PUF OTP 서버가 생성한 제2 OTP 인증값 중 상기 제2 사용자 확인용 인증값을 상기 PG 서버로부터 수신하여 디스플레이하고, 상기 PG 서버로 상기 제1 사용자 확인용 인증값과 상기 제2 사용자 확인용 인증값이 대응한다는 사용자 입력을 전송할 수 있다.According to one embodiment, in a user terminal, a communication interface for communicating with a physical unclonable function (PUF) one time password (OTP) server and a payment gateway (PG) server; a display module configured to display an authentication value for first user confirmation and an authentication value for second user confirmation; a memory in which computer-executable instructions are stored; and a processor accessing the memory and executing the commands, wherein the processor receives payment information and a PUF OTP certificate from the PUF OTP server upon requesting authentication from a Payment Gateway (PG) server, and 1 OTP authentication value is generated and encrypted with the PUF OTP certificate, the authentication value for first user confirmation among the first OTP authentication values is displayed, and the encrypted first OTP authentication value is transmitted to the PUF OTP server; , Among the second OTP authentication values generated by the PUF OTP server, the second user confirmation authentication value is received from the PG server and displayed, and the PG server receives the first user confirmation authentication value and the second user confirmation It is possible to transmit a user input indicating that the user authentication value corresponds.

다양한 실시 예들에 따른 PUF OTP 서버는 사용자 단말의 소액결제 인증 과정에서 SMS(short message service) 인증 방법이 아닌 사용자 단말 USIM 내 PUF 칩을 통한 OTP 인증 방법을 제공할 수 있다. The PUF OTP server according to various embodiments may provide an OTP authentication method through a PUF chip in the USIM of the user terminal instead of a short message service (SMS) authentication method in the micropayment authentication process of the user terminal.

다양한 실시 예들에 따른 PUF OTP 서버는 심툴킷(SIM Toolkit) 메시지를 통해 OTP 값이 소액 결제 웹페이지 상에 입력되게 하여 스미싱(SMS phishing) 위험이 없는 인증 방법을 제공할 수 있다.The PUF OTP server according to various embodiments may allow an OTP value to be input on a micropayment webpage through a SIM Toolkit message, thereby providing an authentication method without the risk of SMS phishing.

다양한 실시 예들에 따른 PUF OTP 서버는 USIM 고유번호에 기초하여 OTP 값을 생성함으로써 사용자에 고유한 HMAC(Hash-based Message Authentication Code) key를 생성하는 방법을 제공할 수 있다.The PUF OTP server according to various embodiments may provide a method of generating a Hash-based Message Authentication Code (HMAC) key unique to a user by generating an OTP value based on a USIM unique number.

다양한 실시 예들에 따른 PUF OTP 서버는 사용자 단말과의 HMAC key 공유 없이 OTP 값을 검증하는 방법을 제공할 수 있다.A PUF OTP server according to various embodiments may provide a method of verifying an OTP value without sharing an HMAC key with a user terminal.

도 1은 다양한 실시 예들에 따른 결제 인증을 위한 PUF(Physical Unclonable Function) OTP(One Time Password) 서버의 구성도이다.
도 2는 다양한 실시 예들에 따른 PUF(Physical Unclonable Function) OTP(One Time Password)에 기초한 인증을 위한 사용자 단말의 구성도이다.
도 3는 다양한 실시 예들에 따른 PUF OTP에 기초한 결제 인증이 수행되는 흐름을 설명하기 위한 흐름도이다.
도 4는 다양한 실시 예들에 따른 PUF OTP에 기초한 결제 인증 과정에서 사용자 단말에 디스플레이되는 화면을 설명하기 위한 도면이다.
도 5는 다양한 실시 예들에 따른 PUF OTP 인증값을 검증하는 동작을 설명하기 위한 도면이다.
도 6은 다양한 실시 예들에 따른 PUF OTP 서버의 동작 방법을 설명하기 위한 흐름도이다.
도 7은 다양한 실시 예들에 따른 PUF OTP 서버의 PUF OTP 인증값 검증 방법을 설명하기 위한 흐름도이다.
1 is a configuration diagram of a Physical Unclonable Function (PUF) One Time Password (OTP) server for payment authentication according to various embodiments.
2 is a configuration diagram of a user terminal for authentication based on a Physical Unclonable Function (PUF) One Time Password (OTP) according to various embodiments.
3 is a flowchart illustrating a flow of performing payment authentication based on PUF OTP according to various embodiments.
4 is a diagram for explaining a screen displayed on a user terminal in a payment authentication process based on PUF OTP according to various embodiments.
5 is a diagram for explaining an operation of verifying a PUF OTP authentication value according to various embodiments.
6 is a flowchart illustrating a method of operating a PUF OTP server according to various embodiments.
7 is a flowchart illustrating a method of verifying a PUF OTP authentication value of a PUF OTP server according to various embodiments.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only, and may be changed and implemented in various forms. Therefore, the form actually implemented is not limited only to the specific embodiments disclosed, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical idea described in the embodiments.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although terms such as first or second may be used to describe various components, such terms should only be construed for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.It should be understood that when an element is referred to as being “connected” to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, but one or more other features or numbers, It should be understood that the presence or addition of steps, operations, components, parts, or combinations thereof is not precluded.

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

이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted.

<PUF OTP 서버><PUF OTP Server>

도 1은 다양한 실시 예들에 따른 결제 인증을 위한 PUF(Physical Unclonable Function) OTP(One Time Password) 서버의 구성도이다.1 is a configuration diagram of a Physical Unclonable Function (PUF) One Time Password (OTP) server for payment authentication according to various embodiments.

도 1을 참조하면, PUF 기반 OTP를 이용하여 결제 시 사용자 인증을 지원하는 PUF OTP 서버가 도시된다. 일 실시 예에 따르면, PUF OTP 서버(100)는 사용자 단말(200) 및 PG(Payment Gateway) 서버(300)와의 통신을 위한 통신 인터페이스(110), PUF 기반 OTP를 이용한 인증을 지원하기 위한 컴퓨터로 실행 가능한 명령어들(computer-executable instructions)이 저장된 메모리(130) 및 메모리(130)에 억세스(access)하여 저장된 명령어들를 실행하는 프로세서(120)를 포함할 수 있다.Referring to FIG. 1 , a PUF OTP server supporting user authentication upon payment using PUF-based OTP is shown. According to an embodiment, the PUF OTP server 100 is a communication interface 110 for communication with the user terminal 200 and the payment gateway (PG) server 300, and a computer for supporting authentication using PUF-based OTP. It may include a memory 130 in which computer-executable instructions are stored, and a processor 120 that accesses the memory 130 and executes the stored instructions.

일 실시 예에 따르면, USIM 칩 내 PUF 칩으로 구현되고, PUF 기반 OTP 값을 생성하기 위한 PUF OTP 애플릿(applet)(250)이 사용자 단말(200)에 포함될 수 있다. PUF OTP 애플릿(250) 및 사용자 단말(200)에 대해서는 도 2에서 상세히 설명한다. According to an embodiment, a PUF OTP applet 250 implemented as a PUF chip within a USIM chip and generating a PUF-based OTP value may be included in the user terminal 200 . The PUF OTP applet 250 and the user terminal 200 will be described in detail with reference to FIG. 2 .

일 실시 예에 따르면, PG 서버(300)는 결제를 수행하는 서버로, 사용자는 소액 결제를 위한 사용자 인증을 위해 사용자 단말(200)을 통해 PG 서버(300)로 인증을 요청할 수 있다.According to an embodiment, the PG server 300 is a server that performs payment, and a user may request authentication to the PG server 300 through the user terminal 200 for user authentication for small-amount payment.

일 실시 예에 따르면, PUF OTP 서버(100)는 통신 인터페이스(110)를 통해 PG 서버(300)로부터 결제 정보를 수신하고, 결제 정보 및 PUF OTP 인증서를 사용자 단말(200)로 전송할 수 있다. 일 실시 예에 따르면, PUF OTP 인증서는 PUF OTP 인증값을 암호화 및 복호화하기 위한 것으로, PUF OTP 서버(100)에 저장되어 있을 수 있다. 일 실시 예에 따르면, 결제정보에는 거래번호, 상품명 및 거래금액 중 적어도 어느 하나가 포함될 수 있다.According to an embodiment, the PUF OTP server 100 may receive payment information from the PG server 300 through the communication interface 110 and transmit the payment information and the PUF OTP certificate to the user terminal 200 . According to an embodiment, the PUF OTP certificate is for encrypting and decrypting the PUF OTP authentication value, and may be stored in the PUF OTP server 100. According to one embodiment, the payment information may include at least one of a transaction number, a product name, and a transaction amount.

일 실시 예에 따르면, PG 서버(300)와 PUF OTP 서버(100)는 결제 서버(미도시)를 통해 정보를 전송할 수 있다. 예를 들어, PG 서버(300)는 결제 정보를 결제 서버로 전송하고, 결제 서버가 수신한 결제 정보를 PUF OTP 서버(100)로 전송할 수 있다. According to an embodiment, the PG server 300 and the PUF OTP server 100 may transmit information through a payment server (not shown). For example, the PG server 300 may transmit payment information to the payment server and transmit payment information received by the payment server to the PUF OTP server 100 .

일 실시 예에 따르면, PUF OTP 서버(100)는 사용자 단말(200)과 심툴킷(SIM Toolkit) 서버(미도시)를 통해 심툴킷 메시지로 정보를 송수신할 수 있다. 예를 들어 PUF OTP 서버(100)는 사용자 단말(200)로 결제 정보 및 PUF OTP 인증서를 전송할 때 심툴킷 메시지에 포함시켜 전송할 수 있고, 사용자 단말(200)은 PUF OTP 서버(100)로 암호화된 제1 OTP 인증값을 전송할 때 심툴킷 메시지에 포함시켜 전송할 수 있다. 심툴킷 메시지는 사용자 단말의 메시지함에 남지 않고 바로 PUF OTP 애플릿(250)으로 전송되므로, 스미싱의 위험이 줄어들 수 있다.According to an embodiment, the PUF OTP server 100 may transmit and receive information through a SIM Toolkit message through the user terminal 200 and a SIM Toolkit server (not shown). For example, when the PUF OTP server 100 transmits payment information and PUF OTP certificate to the user terminal 200, it can be transmitted by including it in a SIM Toolkit message, and the user terminal 200 transmits the encrypted PUF OTP server 100. When transmitting the first OTP authentication value, it may be included in the SIM Toolkit message and transmitted. Since the SIM Toolkit message is directly transmitted to the PUF OTP applet 250 without remaining in the message box of the user terminal, the risk of smishing can be reduced.

일 실시 예에 따르면, 제1 OTP 인증값은 사용자 단말(200)에 포함된 PUF OTP 애플릿(250)에서 생성되고 PUF OTP 인증서로 암호화되며, 제1 OTP 인증값 중 제1 사용자 확인용 인증값이 사용자 단말(200)에 디스플레이될 수 있다.According to an embodiment, the first OTP authentication value is generated in the PUF OTP applet 250 included in the user terminal 200 and encrypted with the PUF OTP certificate, and among the first OTP authentication values, the authentication value for first user confirmation is It may be displayed on the user terminal 200 .

일 실시 예에 따르면, PUF OTP 서버(100)는 통신 인터페이스(110)를 통해 사용자 단말(200)로부터 PUF OTP 인증서로 암호화된 제1 OTP 인증값을 수신하고, 프로세서(120)는 PUF OTP 인증서로 제1 OTP 인증값을 복호화할 수 있다.According to an embodiment, the PUF OTP server 100 receives the first OTP authentication value encrypted with the PUF OTP certificate from the user terminal 200 through the communication interface 110, and the processor 120 converts the PUF OTP certificate to The first OTP authentication value may be decrypted.

일 실시 예에 따르면, 프로세서(120)는 제2 OTP 인증값을 생성하고, 복호화한 제1 OTP 인증값과 비교하여 제1 OTP 인증값이 제2 OTP 인증값에 대응하는지 검증할 수 있다. OTP 인증값을 생성하는 방법 및 OTP 인증값을 검증하는 방법은 도 5에서 상세히 설명한다.According to an embodiment, the processor 120 may generate a second OTP authentication value and verify whether the first OTP authentication value corresponds to the second OTP authentication value by comparing the generated second OTP authentication value with the decrypted first OTP authentication value. A method of generating an OTP authentication value and a method of verifying an OTP authentication value will be described in detail with reference to FIG. 5 .

일 실시 예에 따르면, PUF OTP 서버(100)는 통신 인터페이스(110)를 통해 제2 OTP 인증값 중 제2 사용자 확인용 인증값 및 제1 OTP 인증값과 제2 OTP 인증값이 대응하는지에 대한 검증 결과를 PG 서버(300)로 전송할 수 있다. 이 때 전술한 바와 같이 결제 서버(미도시)를 통해 PG 서버(300)로 전송할 수 있고, 제2 사용자 확인용 인증값이 PG 인증서로 암호화되어 전송될 수 있다.According to an embodiment, the PUF OTP server 100 determines whether the second user confirmation authentication value among the second OTP authentication values and whether the first OTP authentication value and the second OTP authentication value correspond through the communication interface 110. Verification results may be transmitted to the PG server 300 . At this time, as described above, it may be transmitted to the PG server 300 through a payment server (not shown), and the authentication value for second user confirmation may be encrypted with a PG certificate and transmitted.

일 실시 예에 따르면, PG 서버(300)는 PG 인증서로 제2 사용자 확인용 인증값을 복호화한 후 사용자 단말(200)로 전송하고, 제2 사용자 확인용 인증값이 사용자 단말(200)에 디스플레이될 수 있다.According to an embodiment, the PG server 300 decrypts the authentication value for second user confirmation with the PG certificate and transmits it to the user terminal 200, and the second user confirmation authentication value is displayed on the user terminal 200. It can be.

일 실시 예에 따르면, PG 서버(300)는 사용자 단말(200)을 통해 디스플레이된 제1 사용자 확인용 인증값과 제2 사용자 확인용 인증값이 대응한다는 사용자 입력을 수신하면 인증을 완료할 수 있다. 예를 들어, PG 서버(300)는 사용자 단말(200)로부터 제1 사용자 확인용 인증값과 제2 사용자 확인용 인증값이 동일하다는 사용자 입력을 수신하면 인증을 완료할 수 있다.According to an embodiment, the PG server 300 may complete authentication when receiving a user input indicating that the authentication value for first user confirmation and the authentication value for second user confirmation displayed through the user terminal 200 correspond. . For example, the PG server 300 may complete authentication when receiving a user input indicating that the authentication value for first user confirmation and the authentication value for second user confirmation are the same from the user terminal 200 .

<사용자 단말><User Terminal>

도 2는 다양한 실시 예들에 따른 PUF(Physical Unclonable Function) OTP(One Time Password)에 기초한 인증을 위한 사용자 단말의 구성도이다.2 is a configuration diagram of a user terminal for authentication based on a Physical Unclonable Function (PUF) One Time Password (OTP) according to various embodiments.

일 실시 예에 따르면, 사용자 단말(200)은 PUF(Physical Unclonable Function) OTP(One Time Password) 서버(100) 및 PG(Payment Gateway) 서버(300)와 통신하기 위한 통신 인터페이스(210), 제1 사용자 확인용 인증값 및 제2 사용자 확인용 인증값을 디스플레이하기 위한 디스플레이 모듈(270), PUF 기반 OTP 값을 생성하고, 복호화하기 위한 컴퓨터로 컴퓨터로 실행 가능한 명령어들(computer-executable instructions)이 저장된 메모리(230) 및 메모리(230)에 억세스(access)하여 명령어들을 실행하는 프로세서(220)를 포함할 수 있다.According to an embodiment, the user terminal 200 includes a communication interface 210 for communicating with a physical unclonable function (PUF) one time password (OTP) server 100 and a payment gateway (PG) server 300, a first A display module 270 for displaying an authentication value for user confirmation and an authentication value for second user confirmation, and a computer for generating and decrypting a PUF-based OTP value, in which computer-executable instructions are stored. It may include a memory 230 and a processor 220 that accesses the memory 230 and executes instructions.

일 실시 예에 따르면, 사용자 단말(200)은 사용자가 네트워크를 통해 결제를 진행할 수 있는 전자 장치로, 스마트폰, 태블릿, 스마트 TV, 노트북, PC 등일 수 있다. According to an embodiment, the user terminal 200 is an electronic device through which a user can make a payment through a network, and may be a smart phone, a tablet, a smart TV, a laptop, a PC, and the like.

일 실시 예에 따르면, 프로세서(220)는 도 1에서 설명한 PUF OTP 애플릿(250)으로, 사용자 단말(200)의 USIM 칩 내의 PUF 칩에 포함되어 있을 수 있다.According to one embodiment, the processor 220 is the PUF OTP applet 250 described in FIG. 1 and may be included in the PUF chip within the USIM chip of the user terminal 200 .

일 실시 예에 따르면, 프로세서(220)는 통신 인터페이스(210)를 통해 PG(Payment Gateway) 서버(300)로 인증을 요청하고, 이에 따라 PUF OTP 서버(100)로부터 결제 정보 및 PUF OTP 인증서를 수신할 수 있다. According to an embodiment, the processor 220 requests authentication from the Payment Gateway (PG) server 300 through the communication interface 210, and accordingly receives payment information and PUF OTP certificate from the PUF OTP server 100 can do.

일 실시 예에 따르면, 프로세서(220)는 제1 OTP 인증값을 생성하여 PUF OTP 인증서로 암호화하고, 제1 OTP 인증값 중 제1 사용자 확인용 인증값을 디스플레이하고, 암호화된 제1 OTP 인증값을 PUF OTP 서버로 전송할 수 있다. According to an embodiment, the processor 220 generates a first OTP authentication value, encrypts it with a PUF OTP certificate, displays a first user confirmation authentication value among the first OTP authentication values, and displays the encrypted first OTP authentication value. may be transmitted to the PUF OTP server.

일 실시 예에 따르면, 프로세서(120)는 PUF OTP 서버(100)가 생성한 제2 OTP 인증값 중 제2 사용자 확인용 인증값을 PG 서버(300)로부터 수신하여 디스플레이하고, 사용자로부터 제1 사용자 확인용 인증값과 제2 사용자 확인용 인증값이 대응하는지에 대한 입력을 수신하여 PG 서버(300)로 전송할 수 있다.According to an embodiment, the processor 120 receives from the PG server 300 an authentication value for second user confirmation among the second OTP authentication values generated by the PUF OTP server 100, displays it, and displays the first user authentication value from the user. An input indicating whether the authentication value for verification and the authentication value for second user verification correspond may be received and transmitted to the PG server 300 .

<PUF OTP 기반 인증 방법><PUF OTP-based Authentication Method>

도 3는 다양한 실시 예들에 따른 PUF OTP에 기초한 결제 인증이 수행되는 흐름을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a flow of performing payment authentication based on PUF OTP according to various embodiments.

도 3을 참조하면, 사용자가 사용자 단말(200)을 통해 PG 서버(300)로 결제 인증을 요청(305)에 따라 PUF OTP에 기초한 결제 인증이 시작된다. PG 서버(300)는 PUF OTP 서버(100)로 결제 요청에 따른 결제 정보를 전송(310)한다. 도 1에서 설명한 바와 같이 결제정보에는 거래번호, 상품명 및 거래금액 중 적어도 어느 하나가 포함될 수 있고, PUF OTP 서버(300)는 PG 서버(300)로부터 결제 서버(미도시)를 거쳐 결제 정보를 수신할 수 있다.Referring to FIG. 3 , when a user requests 305 payment authentication to the PG server 300 through the user terminal 200 , payment authentication based on PUF OTP starts. The PG server 300 transmits payment information according to the payment request to the PUF OTP server 100 (310). As described in FIG. 1, the payment information may include at least one of a transaction number, product name, and transaction amount, and the PUF OTP server 300 receives the payment information from the PG server 300 through a payment server (not shown) can do.

PUF OTP 서버(100)는 수신한 결제 정보를 PUF OTP 인증서와 함께 사용자 단말(200)로 전송할 수 있다(310). 도 1에서 설명한 바와 같이 심툴킷 메시지 서버를 거쳐 결제 정보 및 PUF OTP 인증서는 심툴킷 메시지에 포함되어 전송될 수 있다.The PUF OTP server 100 may transmit the received payment information together with the PUF OTP certificate to the user terminal 200 (310). As described in FIG. 1, the payment information and the PUF OTP certificate may be included in the SIMToolkit message and transmitted through the SIMToolkit message server.

일 실시 예에 따르면, 사용자 단말(200)은 결제 정보와 PUF OTP 인증서를 수신(310)한 후 PUF OTP 애플릿(250)으로 수신한 결제 정보 및 PUF OTP 인증서를 전송하며 제1 OTP 인증값을 요청(315)할 수 있다. PUF OTP 애플릿(250)은 제1 OTP 인증값 생성을 위해 사용자 인증을 요청(320)할 수 있고, 사용자 단말(200)을 통해 결제를 승인하는 사용자 입력(325)이 수신되면, 사용자 단말(200)은 PUF OTP 애플릿(250)으로 승인 결과를 전송(330)할 수 있다. According to an embodiment, after receiving 310 the payment information and the PUF OTP certificate, the user terminal 200 transmits the received payment information and the PUF OTP certificate to the PUF OTP applet 250 and requests a first OTP authentication value. (315) can. The PUF OTP applet 250 may request 320 user authentication to generate a first OTP authentication value, and when a user input 325 authorizing payment is received through the user terminal 200, the user terminal 200 ) may transmit the approval result to the PUF OTP applet 250 (330).

일 실시 예에 따르면, 동작 320에서 PUF OTP 애플릿(250)은 사용자 단말(200)로 제1 OTP 값 생성을 위해 결제 승인에 대한 사용자 입력을 위한 입력창 생성을 요청할 수 있고, 결제 승인을 위한 입력창은 사용자 단말(200)에서 제공하는 심툴킷(SIM Toolkit) 기능으로 별도 어플리케이션의 설치 없이 생성될 수 있다. According to an embodiment, in operation 320, the PUF OTP applet 250 may request the user terminal 200 to create an input window for user input for payment approval in order to generate a first OTP value, and input for payment approval. The window can be created without installing a separate application using the SIM Toolkit function provided by the user terminal 200 .

도 1 및 도 2에서 설명한 바와 달리 도 3에서는 사용자 단말(200)과 PUF OTP 애플릿(250) 간의 동작이 추가되었는데, 이때 사용자 단말(200)의 동작, 예를 들어 동작 315, 325, 330은 도 2의 프로세서(220)(예를 들어, PUF OTP 애플릿(250))가 아닌, 사용자 단말의 메인 프로세서(미도시)에 의해 수행될 수 있다.Unlike the description in FIGS. 1 and 2, in FIG. 3, an operation between the user terminal 200 and the PUF OTP applet 250 is added. It may be performed by a main processor (not shown) of the user terminal instead of the processor 220 (eg, the PUF OTP applet 250) of No. 2 .

일 실시 예에 따르면, PUF OTP 애플릿(250)은 제1 OTP 인증값을 생성하고, 수신한 PUF OTP 인증서로 암호화(335)하여 암호화된 제1 OTP 인증값을 결제정보와 함께 PUF OTP 서버(100)로 전송(340)할 수 있다. 이 때도 전술한 바와 같이 암호화된 인증값과 결제정보는 심툴킷 메시지로 PUF OTP 서버(100)로 전송될 수 있다. 사용자 단말(200)은 제1 OTP 인증값 중 사용자 확인을 위해 생성한 제1 사용자 확인용 인증값을 디스플레이할 수 있다.According to an embodiment, the PUF OTP applet 250 generates a first OTP authentication value, encrypts it with the received PUF OTP certificate (335), and sends the encrypted first OTP authentication value together with the payment information to the PUF OTP server 100. ) may be transmitted (340). In this case, as described above, the encrypted authentication value and payment information may be transmitted to the PUF OTP server 100 as a SIM Toolkit message. The user terminal 200 may display the first authentication value for user confirmation generated for user confirmation among the first OTP authentication values.

일 실시 예에 따르면, PUF OTP 서버(100)는 PUF OTP 인증서로 제1 OTP 인증값을 복호화하고, 제2 OTP 인증값을 생성하여 제1 OTP 인증값과 제2 OTP 인증값이 대응하는지 검증할 수 있다(350). 일 실시 예에 따르면, PUF OTP 서버(100)는 제1 OTP 인증값과 제2 OTP 인증값이 동일한 경우 대응한다고 결정할 수 있다. PUF OTP 애플릿(250)에서의 제1 OTP 인증값의 생성, PUT OTP 서버(100)에서의 제2 OTP 인증값의 생성 및 PUF OTP 인증값 사이의 검증 방법은 도 5에서 상세히 설명한다.According to an embodiment, the PUF OTP server 100 decrypts the first OTP authentication value with the PUF OTP certificate, generates a second OTP authentication value, and verifies whether the first OTP authentication value and the second OTP authentication value correspond. can (350). According to an embodiment, the PUF OTP server 100 may determine that they correspond when the first OTP authentication value and the second OTP authentication value are the same. A method of generating a first OTP authentication value in the PUF OTP applet 250, generating a second OTP authentication value in the PUT OTP server 100, and verifying the PUF OTP authentication value will be described in detail with reference to FIG. 5 .

일 실시 예에 따르면, PUF OTP 서버(100)는 제2 OTP 인증값 중 제2 사용자 확인용 인증값을 생성하여 PG 인증서로 암호화(355)하고, 암호화된 제2 사용자 인증값 및 PUF OTP 인증값 사이의 검증 결과를 PG 서버(300)로 전송(360)할 수 있다. PG 서버(300)는 PG 인증서로 제2 사용자 확인용 인증값을 복호화(365)하고, 사용자 단말(200)로 전송하여 제2 사용자 확인용 인증값이 사용자 단말(200)에 디스플레이되는 PG 결제창에 입력되고(370), 사용자 단말(200)에 디스플레이될 수 있다(375). 일 실시 예에 따르면, 제2 사용자 확인용 인증값은 사용자의 입력 없이 PG 결제창에 입력될 수 있다.According to an embodiment, the PUF OTP server 100 generates an authentication value for second user confirmation among the second OTP authentication values, encrypts it with a PG certificate (355), and generates the encrypted second user authentication value and the PUF OTP authentication value The verification result between the steps may be transmitted to the PG server 300 (360). The PG server 300 decrypts (365) the authentication value for second user confirmation with the PG certificate, transmits it to the user terminal 200, and sends the authentication value for second user confirmation to the PG payment window displayed on the user terminal 200. It may be input (370) and displayed on the user terminal (200) (375). According to an embodiment, the authentication value for second user confirmation may be input to the PG payment window without user input.

사용자 단말(200)은 디스플레이된 제1 사용자 확인용 인증값(동작 345 참조) 및 제2 사용자 확인용 인증값(동작 375 참조)이 대응하는지에 대한 사용자 입력을 PG 서버(300)로 전송(380)할 수 있다. 일 실시 예에 따르면, 제1 사용자 확인용 인증값과 제2 사용자 확인용 인증값이 동일한지에 대한 사용자 입력(예를 들어, '확인' 버튼에 대한 터치, 탭 등의 촉각입력 또는 "응" 등의 음성입력 등)이 PG 서버(300)로 전송될 수 있다. PG 서버(300)는 사용자 입력을 수신하면 결제에 대한 인증을 완료(385)할 수 있다.The user terminal 200 transmits, to the PG server 300, a user input regarding whether the displayed first user confirmation authentication value (see operation 345) and the second user confirmation authentication value (see operation 375) correspond (380) )can do. According to an embodiment, user input (e.g., tactile input such as a touch or tap on the 'confirm' button, or "Yes") for whether the first user confirmation authentication value and the second user confirmation authentication value are the same voice input, etc.) may be transmitted to the PG server 300. Upon receiving the user input, the PG server 300 may complete authentication for payment (385).

도 4는 다양한 실시 예들에 따른 PUF OTP에 기초한 결제 인증 과정에서 사용자 단말에 디스플레이되는 화면을 설명하기 위한 도면이다.4 is a diagram for explaining a screen displayed on a user terminal in a payment authentication process based on PUF OTP according to various embodiments.

PUF OTP 서버로부터 결제정보 및 PUF OTP 인증서를 수신(예를 들어, 도 3의 동작 310)하고, USIM 내 PUF 칩의 PUF OTP 애플릿(250)으로부터 OTP 인증값 생성을 위한 사용자 인증 요청을 수신(예를 들어, 도 3의 동작 320)한 이후 사용자 단말(200)에는 참조번호 410과 같은 화면이 디스플레이될 수 있다. 화면(410)을 참조하면, 결제 승인을 위한 화면에는 상품명, 결제금액 등 결제정보가 디스플레이될 수 있다. 도 3에서 설명한 바와 같이, 결제 승인을 위한 입력 화면(410)은 사용자 단말(200)에서 제공하는 심툴킷(SIM Toolkit) 기능을 통해 별도 어플리케이션의 설치 없이 생성될 수 있다.Payment information and a PUF OTP certificate are received from the PUF OTP server (eg, operation 310 of FIG. 3 ), and a user authentication request for generating an OTP authentication value is received from the PUF OTP applet 250 of the PUF chip in the USIM (eg, operation 310 of FIG. 3 ). For example, after operation 320 of FIG. 3 , a screen such as reference number 410 may be displayed on the user terminal 200 . Referring to the screen 410, payment information such as product name and payment amount may be displayed on the screen for payment approval. As described in FIG. 3 , the input screen 410 for payment approval can be created without installing a separate application through the SIM Toolkit function provided by the user terminal 200 .

화면(410)에서 결제를 승인한다는 사용자 입력이 수신되면, PUF OTP 애플릿(250)에서 제1 OTP 인증값을 생성 및 암호화(예를 들어, 도 3의 동작 335)하고, PUF OTP 서버(100)로 전송(예를 들어, 도 3의 동작 340)한 후 사용자 단말(200)에 제1 OTP 인증값 중 사용자 확인을 위한 제1 사용자 확인용 인증값이 화면(450)과 같이 디스플레이될 수 있다. 화면(450)을 참조하면, 결제 승인 번호, 상품명 및 결제 금액과 같은 결제 정보와 함께 사용자 확인용 인증값이 디스플레이될 수 있다.When a user input indicating payment approval is received on the screen 410, the PUF OTP applet 250 generates and encrypts the first OTP authentication value (for example, operation 335 of FIG. 3), and the PUF OTP server 100 After transmitting (eg, operation 340 of FIG. 3 ), the first authentication value for user confirmation among the first OTP authentication values may be displayed on the user terminal 200 as shown in the screen 450 . Referring to screen 450, an authentication value for user confirmation may be displayed together with payment information such as a payment approval number, a product name, and a payment amount.

일 실시 예에 따르면, PUF OTP 서버에서 제2 OTP 인증값을 생성하고 OTP 인증값 사이의 검증(예를 들어, 도 3의 동작 350) 이후 제2 OTP 인증값 중 제2 사용자 확인용 인증값이 PG 서버(300)를 거쳐 사용자 단말(200)로 전송될 수 있다. 제2 사용자 확인용 인증값 또한 화면(450) 내 제1 사용자 확인용 인증값과 같이 사용자 단말(200)의 PG서버 결제창에 디스플레이될 수 있다(미도시). 도 3의 동작 380에서 설명한 바와 같이, 사용자 단말(200)에 디스플레이된 제1 사용자 확인용 인증값과 제2 사용자 확인용 인증값이 대응한다(또는, 동일하다)는 사용자 입력이 PG 서버(300)로 전송되면, 인증이 완료될 수 있다.According to an embodiment, after generating the second OTP authentication value in the PUF OTP server and verifying between the OTP authentication values (eg, operation 350 of FIG. 3 ), among the second OTP authentication values, the authentication value for second user confirmation is It may be transmitted to the user terminal 200 via the PG server 300 . The authentication value for second user confirmation may also be displayed on the PG server payment window of the user terminal 200 like the authentication value for first user confirmation in the screen 450 (not shown). As described in operation 380 of FIG. 3 , the user input indicating that the authentication value for first user confirmation and the authentication value for second user confirmation displayed on the user terminal 200 correspond (or are the same) is the PG server 300 ), authentication may be completed.

<PUF OTP 인증값 검증 방법><How to verify the PUF OTP authentication value>

도 5는 다양한 실시 예들에 따른 PUF OTP 인증값을 검증하는 과정을 설명하기 위한 도면이다.5 is a diagram for explaining a process of verifying a PUF OTP authentication value according to various embodiments.

도 5를 참조하면, PUF OTP 인증값을 생성하고, PUF OTP 값을 검증하는 동작이 도시된다. 동작 515 내지 동작 525는 제1 OTP 인증값을 생성하기 위해 사용되는 대칭 키 값인 제1 HMAC key가 사용자 단말(200)의 유심 고유번호에 기초하여 생성되는 동작(510)이고, 동작 535 내지 동작 590은 OTP 인증 값들이 대응하는지 검증하는 동작(530)이다. Referring to FIG. 5 , an operation of generating a PUF OTP authentication value and verifying the PUF OTP value is illustrated. Operations 515 to 525 are operations 510 in which a first HMAC key, which is a symmetric key value used to generate a first OTP authentication value, is generated based on the SIM ID number of the user terminal 200, and operations 535 to 590 is an operation 530 of verifying whether the OTP authentication values correspond.

일 실시 예에 따르면, 제1 HMAC key가 생성되는 동작(510)은 OTP 인증값들을 검증하는 동작(530)보다 시간적으로 앞서 발생할 수 있다. 예를 들어, 참조번호 510의 동작들은 처음 사용자 단말(200)의 유심이 발급될 때 발생하고, 참조번호 530의 동작들은 사용자 단말(200)에서 결제가 발생하여 결제를 위한 인증을 수행할 때 발생할 수 있다. OTP 인증값을 검증하는 동작(530)은 도 3을 참조하여 설명한 제1 OTP 인증값을 복호화하고, 제2 OTP 인증값을 생성해 검증하는 동작(예: 도 3의 동작 350)에 대응할 수 있다.According to an embodiment, operation 510 of generating the first HMAC key may occur temporally prior to operation 530 of verifying OTP authentication values. For example, operations of reference number 510 occur when a SIM card of the user terminal 200 is issued for the first time, and operations of reference number 530 occur when payment is made in the user terminal 200 and authentication for payment is performed. can The operation 530 of verifying the OTP authentication value may correspond to the operation of decrypting the first OTP authentication value described with reference to FIG. 3 and generating and verifying the second OTP authentication value (eg, operation 350 of FIG. 3 ). .

일 실시 예에 따르면, 동작 515에서, 사용자 단말(200)의 USIM이 발급될 때 PUF OTP 서버(100)로부터 사용자 단말(200)에 포함된 PUF OTP 애플릿(250)으로 PUF OTP 인증서, HMAC key 생성 알고리즘 및 HMAC 알고리즘이 전송될 수 있다(515). 도 5에서는 간명한 설명을 위해 생략되었으나, PUF OTP 서버(100)는 유심 발급 장치(미도시)로 PUF OTP 인증서, HMAC key, HMAC 알고리즘을 전송할 수 있고, 유심 발급 장치는 사용자 단말(200)의 유심 고유번호(USIM serial number)를 발급함과 동시에 PUF OTP 인증서, HMAC key, HMAC 알고리즘을 전송할 수 있다. 사용자 단말(200)의 유심 칩 내의 PUF OTP 애플릿(250)은 HMAC key 생성 알고리즘에 유심 고유번호를 입력하여 제1 HMAC key를 생성할 수 있고(520), 생성한 제1 HMAC key, HMAC 알고리즘, PUF OTP 인증서를 암호화하여 저장할 수 있다(525). 일 실시 예에 따르면, 유심 고유번호에 기초하여 HMAC key가 생성되어 실제 가입자 인증 기반의 고유한 HMAC key가 생성될 수 있다.According to an embodiment, in operation 515, when the USIM of the user terminal 200 is issued, a PUF OTP certificate and an HMAC key are generated from the PUF OTP server 100 to the PUF OTP applet 250 included in the user terminal 200. Algorithm and HMAC algorithm may be transmitted (515). Although omitted for concise description in FIG. 5, the PUF OTP server 100 can transmit the PUF OTP certificate, HMAC key, and HMAC algorithm to the SIM issuing device (not shown), and the SIM issuing device is the user terminal 200 PUF OTP certificate, HMAC key, and HMAC algorithm can be transmitted at the same time as issuing USIM serial number. The PUF OTP applet 250 in the SIM chip of the user terminal 200 may generate a first HMAC key by inputting a SIM unique number to the HMAC key generation algorithm (520), the generated first HMAC key, HMAC algorithm, The PUF OTP certificate may be encrypted and stored (525). According to an embodiment, an HMAC key may be generated based on a USIM ID number, so that a unique HMAC key based on actual subscriber authentication may be generated.

일 실시 예에 따르면, 유심 발급 시 제1 HMAC key가 생성된 이후, 도 3에서 설명한 바와 같이 결제 인증을 위해 PUF OTP 서버로부터 PUF OTP 애플릿(250)으로 PUF OTP 인증서가 전송될 수 있다(535). 동작 535는 도 3의 동작 310에 대응할 수 있다. According to an embodiment, after the first HMAC key is generated when the USIM is issued, the PUF OTP certificate may be transmitted from the PUF OTP server to the PUF OTP applet 250 for payment authentication as described in FIG. 3 (535). . Operation 535 may correspond to operation 310 of FIG. 3 .

일 실시 예에 따르면 동작 540에서, PUF OTP 애플릿(250)은 수신한 PUF OTP 인증서와 저장되어 있던 PUF OTP 인증서가 대응하는지(또는 동일한지) 확인하여 PUF OTP 서버(100)를 인증할 수 있다. PUF OTP 서버를 인증한 이후, 동작 550에서 저장된 HMAC 알고리즘에 서버 정보, 거래 정보 및 제1 HMAC key를 입력하여 제1 OTP 인증값을 생성하고, PUF OTP 인증서로 암호화할 수 있다. 동작 555에서, PUF OTP 애플릿(250)은 암호화된 제1 OTP 인증값을 PUF OTP 서버(100)로 전송할 수 있다. 동작 550은 도 3의 동작 335에, 동작 555는 도 3의 동작 340에 대응될 수 있다.According to an embodiment, in operation 540, the PUF OTP applet 250 may authenticate the PUF OTP server 100 by checking whether the received PUF OTP certificate and the stored PUF OTP certificate correspond (or are the same). After authenticating the PUF OTP server, in operation 550, server information, transaction information, and the first HMAC key are input to the stored HMAC algorithm to generate a first OTP authentication value and encrypt it with a PUF OTP certificate. In operation 555, the PUF OTP applet 250 may transmit the encrypted first OTP authentication value to the PUF OTP server 100. Operation 550 may correspond to operation 335 of FIG. 3 , and operation 555 may correspond to operation 340 of FIG. 3 .

일 실시 예에 따르면 PUF OTP 서버(100)는 동작 560에서 제1 OTP 인증값을 PUF OTP 인증서로 복호화하고, 동작 570에서 제2 HMAC key를 생성할 수 있다. 예를 들어, PUF OTP 서버(100)는 HMAC key 생성 알고리즘에 사용자 단말(200)의 유심 고유번호를 입력하여 제2 HMAC key를 생성할 수 있다.According to an embodiment, the PUF OTP server 100 may decrypt the first OTP authentication value into a PUF OTP certificate in operation 560 and generate a second HMAC key in operation 570 . For example, the PUF OTP server 100 may generate a second HMAC key by inputting the unique SIM number of the user terminal 200 into the HMAC key generation algorithm.

일 실시 예에 따르면, 제2 HMAC key는 PUF OTP 서버(100)가 미리, 예를 들어 참조번호 510에서 사용자 단말(200)이 유심을 발급받을 때 수신한 유심 고유번호에 기초하여 생성해 둔 것일 수 있다. 다른 실시 예에 따르면, PUF OTP 서버(100)가 제2 HMAC key를 생성한 적 없다면 PUF OTP 서버(100)는 가입자 정보 서버(미도시)로 사용자 단말(200)의 유심 고유번호를 요청 및 수신하고, 사용자 단말(200)의 유심 고유번호로 제2 HMAC key를 생성할 수 있다. 동일한 사용자 단말(200)의 유심 고유번호에 기초하여 생성된 제1 HMAC key 및 제2 HMAC key는 동일한 값을 가질 수 있다.According to an embodiment, the second HMAC key may be generated by the PUF OTP server 100 in advance, for example, based on the SIM ID number received when the user terminal 200 receives a SIM card issued at reference number 510. can According to another embodiment, if the PUF OTP server 100 has never generated the second HMAC key, the PUF OTP server 100 requests and receives the SIM ID number of the user terminal 200 from the subscriber information server (not shown). And, a second HMAC key can be generated with the SIM-specific number of the user terminal 200. The first HMAC key and the second HMAC key generated based on the SIM ID number of the same user terminal 200 may have the same value.

일 실시 예에 따르면, PUF OTP 서버(100)는 동작 580에서 제2 HMAC key로부터 제2 OTP 인증값을 생성하고, 동작 590에서 제1 OTP 인증값과 제2 OTP 인증값이 대응하는지 검증할 수 있다. 동일한 사용자 단말(200)에 대한 유심 고유번호에 기초하여 HMAC key가 생성되고, HMAC key에 기초하여 OTP 인증값이 생성되었으므로 제1 OTP 인증값 및 제2 OTP 인증값은 서로 대응될 수 있다. 예를 들어, 두 인증 값은 동일한 값을 가질 수 있다.According to an embodiment, the PUF OTP server 100 may generate a second OTP authentication value from a second HMAC key in operation 580 and verify whether the first OTP authentication value and the second OTP authentication value correspond to each other in operation 590. there is. Since the HMAC key is generated based on the SIM ID number for the same user terminal 200 and the OTP authentication value is generated based on the HMAC key, the first OTP authentication value and the second OTP authentication value may correspond to each other. For example, both authentication values may have the same value.

참조번호 510에서 HMAC key를 사용자 단말(200)의 유심 고유번호에 기초하여 생성함으로써, 참조번호 530의 OTP 인증 값 사이의 검증 과정에서 PUF OTP 서버(100)는 PUF OTP 애플릿(250)으로부터 HMAC key를 별도로 수신하지 않고도 유심 고유번호에 기초하여 HMAC key를 생성하고, OTP 인증값을 생성하여 OTP 인증값을 검증할 수 있다.By generating the HMAC key at reference number 510 based on the SIM ID number of the user terminal 200, the PUF OTP server 100 receives the HMAC key from the PUF OTP applet 250 during the verification process between the OTP authentication values at reference number 530. It is possible to verify the OTP authentication value by generating an HMAC key based on the USIM unique number and generating an OTP authentication value without receiving separately.

<PUF OTP 서버의 동작 방법><How to operate the PUF OTP server>

도 6은 다양한 실시 예들에 따른 PUF OTP 서버의 동작 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a method of operating a PUF OTP server according to various embodiments.

동작 610 내지 동작 640은 도 3을 참조하여 전술된 PUF 결제 인증 과정을 PUF OTP 서버(100)의 측면에서 바라본 것으로, 간명한 설명을 위해 도 1 내지 도 5를 참조하여 설명한 내용과 중복되는 내용은 생략될 수 있다. 일 실시 예에 따르면, 동작 610 내지 동작 640은 도 1을 참조하여 전술된 PUF OTP 서버(100)의 프로세서(120)에 의해 수행될 수 있다.Operations 610 to 640 are the PUF payment authentication process described above with reference to FIG. 3 viewed from the side of the PUF OTP server 100. may be omitted. According to an embodiment, operations 610 to 640 may be performed by the processor 120 of the PUF OTP server 100 described above with reference to FIG. 1 .

일 실시 예에 따르면, 동작 610에서 PUF OTP 서버(100)의 프로세서(120)는 PG 서버(300)로부터 결제 정보를 수신하여 PUF OTP 인증서와 함께 사용자 단말(200)로 전송할 수 있다. 동작 610은 도 3의 동작 310에 대응할 수 있다.According to an embodiment, in operation 610, the processor 120 of the PUF OTP server 100 may receive payment information from the PG server 300 and transmit the payment information together with the PUF OTP certificate to the user terminal 200. Operation 610 may correspond to operation 310 of FIG. 3 .

일 실시 예에 따르면, 사용자 단말(200)에 포함된 PUF OTP 애플릿(250)은 제1 OTP 인증값을 생성하고, PUF OTP 인증서로 암호화할 수 있다.According to an embodiment, the PUF OTP applet 250 included in the user terminal 200 may generate a first OTP authentication value and encrypt it with a PUF OTP certificate.

일 실시 예에 따르면, 동작 620에서 프로세서(120)는 사용자 단말(200)로부터 PUF OTP 인증서로 암호화된 제1 OTP 인증값을 수신하고, 제1 OTP 인증값을 PUF OTP 인증서로 복호화할 수 있다. 이 때 사용자 단말(200)에서는 제1 OTP 인증값 중 제1 사용자 확인용 인증값이 디스플레이될 수 있다.According to an embodiment, in operation 620, the processor 120 may receive a first OTP authentication value encrypted with the PUF OTP certificate from the user terminal 200 and decrypt the first OTP authentication value with the PUF OTP certificate. At this time, the user terminal 200 may display the first authentication value for user confirmation among the first OTP authentication values.

일 실시 예에 따르면, 동작 630에서 프로세서(120)는 제2 OTP 인증값을 생성하여 제1 OTP 인증값과 대응하는지 검증할 수 있다. 동작 620 및 동작 630은 도 3의 동작 340 및 동작 350에 대응할 수 있다.According to an embodiment, in operation 630, the processor 120 may generate a second OTP authentication value and verify whether it corresponds to the first OTP authentication value. Operations 620 and 630 may correspond to operations 340 and 350 of FIG. 3 .

일 실시 예에 따르면, 동작 640에서 프로세서(120)는 제2 OTP 인증값으로부터 제2 사용자 확인용 인증값을 생성하고, PG 서버(300)로 전송할 수 있다. 동작 640은 도 3의 동작 355 및 동작 360에 대응할 수 있다. According to an embodiment, in operation 640, the processor 120 may generate a second user confirmation authentication value from the second OTP authentication value and transmit it to the PG server 300. Operation 640 may correspond to operations 355 and 360 of FIG. 3 .

일 실시 예에 따르면, 제2 사용자 확인용 인증값은 PG 인증서로 암호화될 수 있고, PG서버에서 복호화되어 사용자 단말(200)로 제2 사용자 확인용 인증값이 전송될 수 있다. 일 실시 예에 따르면, PG서버(300)는 사용자 단말(200)에 디스플레이된 제1 사용자 확인용 인증값과 제2 사용자 확인용 인증값이 대응하는지에 대한 사용자 입력에 기초하여 인증을 완료할 수 있다. According to an embodiment, the authentication value for second user confirmation may be encrypted with a PG certificate, decrypted by the PG server, and the authentication value for second user confirmation may be transmitted to the user terminal 200 . According to an embodiment, the PG server 300 may complete authentication based on a user input regarding whether the authentication value for first user confirmation and the authentication value for second user confirmation displayed on the user terminal 200 correspond. there is.

<PUF OTP 서버의 OTP 검증 방법><How to verify OTP of PUF OTP server>

도 7은 다양한 실시 예들에 따른 PUF OTP 서버의 PUF OTP 인증값 검증 방법을 설명하기 위한 흐름도이다.7 is a flowchart illustrating a method of verifying a PUF OTP authentication value of a PUF OTP server according to various embodiments.

동작 710 내지 동작 750은 도 5를 참조하여 전술된 PUF OTP 인증값 검증 과정을 PUF OTP 서버(100)의 측면에서 바라본 것으로, 간명한 설명을 위해 도 1 내지 도 6을 참조하여 설명한 내용과 중복되는 내용은 생략될 수 있다. 일 실시 예에 따르면, 동작 710 내지 동작 750은 도 1을 참조하여 전술된 PUF OTP 서버(100)의 프로세서(120)에 의해 수행될 수 있다.Operations 710 to 750 are the PUF OTP authentication value verification process described above with reference to FIG. 5 viewed from the side of the PUF OTP server 100. Content may be omitted. According to an embodiment, operations 710 to 750 may be performed by the processor 120 of the PUF OTP server 100 described above with reference to FIG. 1 .

일 실시 예에 따르면, 동작 710에서 PUF OTP 서버(100)의 프로세서(120)는 사용자 단말(200)로부터 PG 서버(300)로의 결제 인증 요청에 따라 PUF OTP 인증서를 사용자 단말(200)로 전송할 수 있다. 동작 710은 도 5의 동작 535에 대응할 수 있다.According to an embodiment, in operation 710, the processor 120 of the PUF OTP server 100 may transmit the PUF OTP certificate to the user terminal 200 according to the payment authentication request from the user terminal 200 to the PG server 300. there is. Operation 710 may correspond to operation 535 of FIG. 5 .

일 실시 예에 따르면, 동작 720에서 PUF OTP 서버(100)의 프로세서(120)는 사용자 단말(200)의 PUF OTP 애플릿(250)으로부터 PUF OTP 인증서로 암호화된 제1 OTP 인증값을 수신하고, PUF OTP 인증서로 복호화할 수 있다. 동작 720은 도 5의 동작 555 및 동작 560에 대응할 수 있다. 일 실시 예에 따르면, 도 5를 참조하여 설명한 바와 같이 제1 OTP 인증값은 사용자 단말(200)의 유심이 발급될 때 유심 고유번호에 기초하여 생성된 제1 HMAC key에 기초하여 사용자 단말(200)의 PUF OTP 애플릿(250)이 생성한 것일 수 있다.According to an embodiment, in operation 720, the processor 120 of the PUF OTP server 100 receives a first OTP authentication value encrypted with a PUF OTP certificate from the PUF OTP applet 250 of the user terminal 200, and PUF It can be decrypted with OTP certificate. Operation 720 may correspond to operations 555 and 560 of FIG. 5 . According to one embodiment, as described with reference to FIG. 5, the first OTP authentication value is the user terminal 200 based on the first HMAC key generated based on the SIM unique number when the SIM of the user terminal 200 is issued. ) may be generated by the PUF OTP applet 250 .

일 실시 예에 따르면, 동작 730에서 프로세서(120)는 HMAC key 생성 알고리즘 및 사용자 단말(200)의 USIM 고유번호에 기초하여 제2 HMAC key를 생성할 수 있다. 도 5에서 전술한 바와 같이, 제2 HMAC key는 사용자 단말(200)이 유심을 발급받을 때 유심 발급 장치로부터 유심 고유번호를 수신하여 생성해 놓은 것일 수 있고, 또는 동작 720에서 암호화된 제1 OTP 인증값을 수신한 이후 가입자 정보 서버(미도시)로부터 사용자 단말(200)의 유심 고유번호를 수신하여 생성한 것일 수 있다. 동작 730은 도 5의 동작 570에 대응할 수 있다.According to an embodiment, in operation 730, the processor 120 may generate a second HMAC key based on the HMAC key generation algorithm and the USIM-specific number of the user terminal 200. As described above in FIG. 5, the second HMAC key may be generated by receiving a SIM unique number from the SIM issuing device when the user terminal 200 receives the SIM, or the first OTP encrypted in operation 720. After receiving the authentication value, it may be generated by receiving a unique SIM number of the user terminal 200 from a subscriber information server (not shown). Operation 730 may correspond to operation 570 of FIG. 5 .

일 실시 예에 따르면, 동작 740에서 프로세서(120)는 HMAC 알고리즘 및 제2 HMAC key에 기초하여 제2 OTP 인증값을 생성할 수 있다. 동작 740은 도 5의 동작 580에 대응할 수 있다.According to an embodiment, in operation 740, the processor 120 may generate a second OTP authentication value based on the HMAC algorithm and the second HMAC key. Operation 740 may correspond to operation 580 of FIG. 5 .

일 실시 예에 따르면, 동작 750에서 프로세서(120)는 복호화된 제1 OTP 인증값과 제2 OTP 인증값이 대응하는지 검증할 수 있다. 예를 들어, 제1 OTP 인증값과 제2 OTP 인증값이 동일한 경우 프로세서(120)는 OTP 인증값들이 대응된다고 결정할 수 있다. 동작 750은 도 5의 동작 590에 대응할 수 있다.According to an embodiment, in operation 750, the processor 120 may verify whether the decrypted first OTP authentication value corresponds to the second OTP authentication value. For example, when the first OTP authentication value and the second OTP authentication value are the same, the processor 120 may determine that the OTP authentication values correspond. Operation 750 may correspond to operation 590 of FIG. 5 .

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on computer readable media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination, and the program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in the art of computer software. may be Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions 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 hardware device described above may be configured to operate as one or a plurality of software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on this. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.

Claims (19)

PUF(Physical Unclonable Function) OTP(One Time Password) 서버의 동작 방법에 있어서,
사용자 단말을 통한 인증 요청에 따라 PG(Payment Gateway) 서버로부터 결제 정보를 수신하고, 상기 결제 정보 및 PUF OTP 인증서를 상기 사용자 단말로 전송하는 동작;
상기 사용자 단말로부터 상기 PUF OTP 인증서로 암호화된 제1 OTP 인증값을 수신 및 복호화하는 동작 - 상기 제1 OTP 인증값은 상기 사용자 단말에 포함된 PUF OTP 애플릿(applet)에서 상기 사용자 단말의 USIM(Universal Subscriber Identify Module) 고유번호(serial number)에 기초하여 생성되고 상기 PUF OTP 인증서로 암호화되며, 상기 제1 OTP 인증값 중 제1 사용자 확인용 인증값이 상기 사용자 단말에 디스플레이됨 -;
상기 사용자 단말의 USIM 고유번호에 기초하여 제2 OTP 인증값을 생성하고, 상기 복호화된 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지 검증하는 동작;
상기 제2 OTP 인증값 중 제2 사용자 확인용 인증값 및 상기 검증 결과를 상기 PG 서버를 통해 상기 사용자 단말로 전송하는 동작 - 상기 제2 사용자 확인용 인증값은 상기 사용자 단말에 디스플레이됨 -;
을 포함하고,
상기 PG 서버는 상기 제1 사용자 확인용 인증값과 상기 제2 사용자 확인용 인증값이 대응된다는 사용자 입력에 기초하여 인증을 완료하는,
방법.
In the operation method of the PUF (Physical Unclonable Function) OTP (One Time Password) server,
receiving payment information from a payment gateway (PG) server according to an authentication request through a user terminal, and transmitting the payment information and PUF OTP certificate to the user terminal;
Receiving and decrypting a first OTP authentication value encrypted with the PUF OTP certificate from the user terminal - The first OTP authentication value is sent from the PUF OTP applet included in the user terminal to the USIM (Universal Subscriber Identify Module) Generated based on a serial number and encrypted with the PUF OTP certificate, and among the first OTP authentication values, an authentication value for first user identification is displayed on the user terminal -;
generating a second OTP authentication value based on the USIM-specific number of the user terminal and verifying whether the decrypted first OTP authentication value corresponds to the second OTP authentication value;
Transmitting a second user confirmation authentication value and the verification result among the second OTP authentication values to the user terminal through the PG server, wherein the second user confirmation authentication value is displayed on the user terminal;
including,
The PG server completes authentication based on a user input that the first user confirmation authentication value and the second user confirmation authentication value correspond.
method.
제1항에 있어서,
상기 제1 OTP 인증값 및 상기 제2 OTP 인증값은 상기 PUF OTP 애플릿 및 상기 PUF OTP 서버에 의해 사전 정의된 HMAC(Hash-based Message Authentication Code) key 생성 알고리즘 및 HMAC 알고리즘에 기초하여 생성되는,
방법.
According to claim 1,
The first OTP authentication value and the second OTP authentication value are generated based on a Hash-based Message Authentication Code (HMAC) key generation algorithm and an HMAC algorithm predefined by the PUF OTP applet and the PUF OTP server,
method.
제2항에 있어서,
상기 HMAC key 생성 알고리즘 및 상기 HMAC 알고리즘은 상기 PUF OTP 인증서와 함께 상기 사용자 단말의 USIM이 발급될 때 상기 PUF OTP 서버로부터 상기 PUF OTP 애플릿으로 전송되고,
상기 PUF OTP 애플릿은,
상기 HMAC key 생성 알고리즘 및 상기 사용자 단말의 USIM 고유번호에 기초하여 제1 HMAC key를 생성하고,
상기 HMAC 알고리즘, 상기 PUF OTP 인증서 및 상기 제1 HMAC key를 저장하는,
방법.
According to claim 2,
The HMAC key generation algorithm and the HMAC algorithm are transmitted from the PUF OTP server to the PUF OTP applet when the USIM of the user terminal is issued together with the PUF OTP certificate;
The PUF OTP applet,
Generating a first HMAC key based on the HMAC key generation algorithm and the USIM-specific number of the user terminal;
Storing the HMAC algorithm, the PUF OTP certificate, and the first HMAC key,
method.
제3항에 있어서,
상기 사용자 단말의 인증 요청에 따라 상기 PUF OTP 서버로부터 상기 사용자 단말로 상기 결제 정보 및 상기 PUF OTP 인증서가 전송되면,
상기 PUF OTP 애플릿은,
상기 저장된 PUF OTP 인증서와 상기 수신한 PUF OTP 인증서가 대응되는 경우,
상기 저장된 HMAC 알고리즘, 상기 결제 정보 및 상기 저장된 제1 HMAC key에 기초하여 상기 제1 OTP 인증값을 생성하고, 상기 제1 OTP 인증값을 상기 PUF OTP 인증서로 암호화하여 상기 PUF OTP 서버로 전송하는,
방법.
According to claim 3,
When the payment information and the PUF OTP certificate are transmitted from the PUF OTP server to the user terminal according to the authentication request of the user terminal,
The PUF OTP applet,
When the stored PUF OTP certificate and the received PUF OTP certificate correspond,
Generating the first OTP authentication value based on the stored HMAC algorithm, the payment information, and the stored first HMAC key, encrypting the first OTP authentication value with the PUF OTP certificate, and transmitting it to the PUF OTP server,
method.
제2항에 있어서,
상기 PUF OTP 서버가 상기 제2 OTP 인증값을 생성하고, 상기 복호화된 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지 검증하는 동작은,
상기 HMAC key 생성 알고리즘 및 상기 사용자 단말의 USIM 고유번호에 기초하여 제2 HMAC key를 생성하는 동작;
상기 HMAC 알고리즘, 상기 결제 정보 및 상기 제2 HMAC key에 기초하여 상기 제2 OTP 인증값을 생성하는 동작; 및
상기 복호화된 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지 검증하는 동작
을 포함하는,
방법.
According to claim 2,
The operation of the PUF OTP server generating the second OTP authentication value and verifying whether the decrypted first OTP authentication value corresponds to the second OTP authentication value,
generating a second HMAC key based on the HMAC key generation algorithm and the USIM-specific number of the user terminal;
generating the second OTP authentication value based on the HMAC algorithm, the payment information, and the second HMAC key; and
An operation of verifying whether the decrypted first OTP authentication value corresponds to the second OTP authentication value
including,
method.
제1항에 있어서,
상기 결제 정보 및 상기 PUF OTP 인증서는 심툴킷 메시지(SIM Toolkit message)를 통해 상기 PUF OTP 서버로부터 상기 사용자 단말로 전송되고,
상기 PUF OTP 인증서로 암호화된 상기 제1 OTP 인증값은 심툴킷 메시지(SIM Toolkit message)를 통해 상기 사용자 단말로부터 상기 PUF OTP 서버로 전송되는,
방법.
According to claim 1,
The payment information and the PUF OTP certificate are transmitted from the PUF OTP server to the user terminal through a SIM Toolkit message,
The first OTP authentication value encrypted with the PUF OTP certificate is transmitted from the user terminal to the PUF OTP server through a SIM Toolkit message.
method.
제1항에 있어서,
상기 결제 정보는,
거래번호, 상품명 및 거래금액 중 적어도 어느 하나를 포함하는,
방법.
According to claim 1,
The payment information,
Including at least one of the transaction number, product name and transaction amount,
method.
PUF(Physical Unclonable Function) OTP(One Time Password) 서버에 있어서,
사용자 단말을 통한 인증 요청에 따라 PG(Payment Gateway) 서버로부터 결제 정보를 수신하고, 상기 결제 정보 및 PUF OTP 인증서를 상기 사용자 단말로 전송하고, 상기 사용자 단말로부터 상기 PUF OTP 인증서로 암호화된 제1 OTP 인증값을 수신하고, 제2 OTP 인증값 중 제2 사용자 확인용 인증값 및 상기 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지에 대한 검증 결과를 상기 PG 서버를 통해 상기 사용자 단말로 전송하기 위한 통신 인터페이스;
컴퓨터로 실행 가능한 명령어들(computer-executable instructions)이 저장된 메모리; 및
상기 메모리에 억세스(access)하여 상기 명령어들을 실행하는 프로세서
를 포함하고,
상기 프로세서는 상기 PUF OTP 인증서로 암호화된 상기 제1 OTP 인증값을 복호화하고, 상기 사용자 단말의 USIM(Universal Subscriber Identify Module) 고유번호(serial number)에 기초하여 제2 OTP 인증값을 생성하고, 상기 복호화된 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지 검증하고,
상기 제1 OTP 인증값은 상기 사용자 단말에 포함된 PUF OTP 애플릿(applet)에서 상기 사용자 단말의 USIM 고유번호에 기초하여 생성되고 상기 PUF OTP 인증서로 암호화되며, 상기 제1 OTP 인증값 중 제1 사용자 확인용 인증값이 상기 사용자 단말에 디스플레이되고,
상기 제2 사용자 확인용 인증값이 상기 사용자 단말에 디스플레이되며,
상기 PG 서버는 상기 제1 사용자 확인용 인증값과 상기 제2 사용자 확인용 인증값이 대응한다는 사용자 입력에 기초하여 인증을 완료하는,
PUF OTP 서버.
In the PUF (Physical Unclonable Function) OTP (One Time Password) server,
Receiving payment information from a Payment Gateway (PG) server according to an authentication request through a user terminal, transmitting the payment information and PUF OTP certificate to the user terminal, and a first OTP encrypted with the PUF OTP certificate from the user terminal An authentication value is received, and an authentication value for second user confirmation among the second OTP authentication values and a verification result of whether the first OTP authentication value and the second OTP authentication value correspond to the user terminal through the PG server communication interface for transmission;
a memory in which computer-executable instructions are stored; and
A processor that accesses the memory and executes the instructions
including,
The processor decrypts the first OTP authentication value encrypted with the PUF OTP certificate, generates a second OTP authentication value based on a universal subscriber identification module (USIM) serial number of the user terminal, and verifying whether the decrypted first OTP authentication value and the second OTP authentication value correspond;
The first OTP authentication value is generated based on the USIM-specific number of the user terminal in a PUF OTP applet included in the user terminal and encrypted with the PUF OTP certificate, and the first user among the first OTP authentication values An authentication value for confirmation is displayed on the user terminal,
The authentication value for the second user confirmation is displayed on the user terminal,
The PG server completes authentication based on a user input indicating that the first user confirmation authentication value and the second user confirmation authentication value correspond.
PUF OTP Server.
제8항에 있어서,
상기 제1 OTP 인증값 및 상기 제2 OTP 인증값은 상기 PUF OTP 애플릿 및 상기 PUF OTP 서버에 의해 사전 정의된 HMAC(Hash-based Message Authentication Code) key 생성 알고리즘 및 HMAC 알고리즘에 기초하여 생성되는,
PUF OTP 서버.
According to claim 8,
The first OTP authentication value and the second OTP authentication value are generated based on a Hash-based Message Authentication Code (HMAC) key generation algorithm and an HMAC algorithm predefined by the PUF OTP applet and the PUF OTP server,
PUF OTP Server.
제9항에 있어서,
상기 HMAC key 생성 알고리즘 및 상기 HMAC 알고리즘은 상기 PUF OTP 인증서와 함께 상기 사용자 단말의 USIM이 발급될 때 상기 PUF OTP 서버로부터 상기 PUF OTP 애플릿으로 전송되고,
상기 PUF OTP 애플릿은,
상기 HMAC key 생성 알고리즘 및 상기 사용자 단말의 USIM 고유번호에 기초하여 제1 HMAC key를 생성하고,
상기 HMAC 알고리즘, 상기 PUF OTP 인증서 및 상기 제1 HMAC key를 저장하는,
PUF OTP 서버.
According to claim 9,
The HMAC key generation algorithm and the HMAC algorithm are transmitted from the PUF OTP server to the PUF OTP applet when the USIM of the user terminal is issued together with the PUF OTP certificate;
The PUF OTP applet,
Generating a first HMAC key based on the HMAC key generation algorithm and the USIM-specific number of the user terminal;
Storing the HMAC algorithm, the PUF OTP certificate, and the first HMAC key,
PUF OTP Server.
제10항에 있어서,
상기 사용자 단말의 인증 요청에 따라 상기 PUF OTP 서버로부터 상기 사용자 단말로 상기 결제 정보 및 상기 PUF OTP 인증서가 전송되면,
상기 PUF OTP 애플릿은,
상기 저장된 PUF OTP 인증서와 상기 수신한 PUF OTP 인증서가 대응하는 경우,
상기 저장된 HMAC 알고리즘, 상기 결제 정보 및 상기 저장된 제1 HMAC key에 기초하여 상기 제1 OTP 인증값을 생성하고, 상기 제1 OTP 인증값을 상기 PUF OTP 인증서로 암호화하여 상기 PUF OTP 서버로 전송하는,
PUF OTP 서버.
According to claim 10,
When the payment information and the PUF OTP certificate are transmitted from the PUF OTP server to the user terminal according to the authentication request of the user terminal,
The PUF OTP applet,
When the stored PUF OTP certificate and the received PUF OTP certificate correspond,
Generating the first OTP authentication value based on the stored HMAC algorithm, the payment information, and the stored first HMAC key, encrypting the first OTP authentication value with the PUF OTP certificate, and transmitting it to the PUF OTP server;
PUF OTP Server.
제9항에 있어서,
상기 프로세서는,
상기 HMAC key 생성 알고리즘 및 상기 사용자 단말의 USIM 고유번호에 기초하여 제2 HMAC key를 생성하고,
상기 HMAC 알고리즘, 상기 결제 정보 및 상기 제2 HMAC key에 기초하여 상기 제2 OTP 인증값을 생성하고,
상기 복호화된 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지 검증하는,
PUF OTP 서버.
According to claim 9,
the processor,
Generating a second HMAC key based on the HMAC key generation algorithm and the USIM-specific number of the user terminal;
Generating the second OTP authentication value based on the HMAC algorithm, the payment information, and the second HMAC key;
Verifying whether the decrypted first OTP authentication value and the second OTP authentication value correspond,
PUF OTP Server.
제8항에 있어서,
상기 결제 정보 및 상기 PUF OTP 인증서는 심툴킷 메시지(SIM Toolkit message)를 통해 상기 PUF OTP 서버로부터 상기 사용자 단말로 전송되고,
상기 PUF OTP 인증서로 암호화된 상기 제1 OTP 인증값은 심툴킷 메시지(SIM Toolkit message)를 통해 상기 사용자 단말로부터 상기 PUF OTP 서버로 전송되는,
PUF OTP 서버.
According to claim 8,
The payment information and the PUF OTP certificate are transmitted from the PUF OTP server to the user terminal through a SIM Toolkit message,
The first OTP authentication value encrypted with the PUF OTP certificate is transmitted from the user terminal to the PUF OTP server through a SIM Toolkit message.
PUF OTP Server.
제8항에 있어서,
상기 결제 정보는,
거래번호, 상품명 및 거래금액 중 적어도 어느 하나를 포함하는,
PUF OTP 서버.
According to claim 8,
The payment information,
Including at least one of the transaction number, product name and transaction amount,
PUF OTP Server.
PUF(Physical Unclonable Function) OTP(One Time Password) 서버의 OTP 인증값 검증 방법에 있어서,
사용자 단말로부터의 인증 요청에 따라 PUF OTP 인증서를 상기 사용자 단말의 PUF OTP 애플릿(applet)으로 전송하는 동작;
상기 PUF OTP 애플릿으로부터 상기 PUF OTP 인증서로 암호화된 제1 OTP 인증값을 수신 및 복호화하는 동작 - 상기 제1 OTP 인증값은 상기 PUF OTP 애플릿에서 상기 사용자 단말의 USIM(Universal Subscriber Identify Module) 고유번호(serial number)에 기초하여 생성됨 -;
HMAC key 생성 알고리즘 및 상기 사용자 단말의 USIM 고유번호에 기초하여 제2 HMAC key를 생성하는 동작;
HMAC 알고리즘 및 상기 제2 HMAC key에 기초하여 제2 OTP 인증값을 생성하는 동작; 및
상기 복호화된 제1 OTP 인증값과 상기 제2 OTP 인증값이 대응하는지 검증하는 동작
을 포함하는,
PUF OTP 서버의 OTP 인증값 검증 방법.
In the OTP authentication value verification method of a PUF (Physical Unclonable Function) OTP (One Time Password) server,
transmitting a PUF OTP certificate to a PUF OTP applet of the user terminal according to an authentication request from the user terminal;
Receiving and decrypting a first OTP authentication value encrypted with the PUF OTP certificate from the PUF OTP applet - the first OTP authentication value is a Universal Subscriber Identify Module (USIM) identification number of the user terminal in the PUF OTP applet ( serial number) -;
Generating a second HMAC key based on an HMAC key generation algorithm and a USIM-specific number of the user terminal;
generating a second OTP authentication value based on an HMAC algorithm and the second HMAC key; and
An operation of verifying whether the decrypted first OTP authentication value corresponds to the second OTP authentication value
including,
How to verify the OTP authentication value of the PUF OTP server.
제15항에 있어서,
상기 HMAC key 생성 알고리즘 및 상기 HMAC 알고리즘은 상기 PUF OTP 인증서와 함께 상기 사용자 단말의 USIM이 발급될 때 상기 PUF OTP 서버로부터 상기 PUF OTP 애플릿으로 전송되고,
상기 PUF OTP 애플릿은,
상기 HMAC key 생성 알고리즘 및 상기 사용자 단말의 USIM 고유번호에 기초하여 제1 HMAC key를 생성하고,
상기 HMAC 알고리즘, 상기 PUF OTP 인증서 및 상기 제1 HMAC key를 저장하는,
PUF OTP 서버의 OTP 인증값 검증 방법.
According to claim 15,
The HMAC key generation algorithm and the HMAC algorithm are transmitted from the PUF OTP server to the PUF OTP applet when the USIM of the user terminal is issued together with the PUF OTP certificate;
The PUF OTP applet,
Generating a first HMAC key based on the HMAC key generation algorithm and the USIM-specific number of the user terminal;
Storing the HMAC algorithm, the PUF OTP certificate, and the first HMAC key,
How to verify the OTP authentication value of the PUF OTP server.
제16항에 있어서,
상기 PUF OTP 애플릿은,
상기 사용자 단말의 인증 요청에 따라 상기 PUF OTP 서버로부터 상기 PUF OTP 인증서가 수신되면,
상기 저장된 PUF OTP 인증서와 상기 수신한 PUF OTP 인증서가 대응하는 경우,
상기 저장된 HMAC 알고리즘 및 상기 저장된 제1 HMAC key에 기초하여 상기 제1 OTP 인증값을 생성하고, 상기 제1 OTP 인증값을 상기 PUF OTP 인증서로 암호화하여 상기 PUF OTP 서버로 전송하는,
PUF OTP 서버의 OTP 인증값 검증 방법.
According to claim 16,
The PUF OTP applet,
When the PUF OTP certificate is received from the PUF OTP server according to the authentication request of the user terminal,
When the stored PUF OTP certificate and the received PUF OTP certificate correspond,
generating the first OTP authentication value based on the stored HMAC algorithm and the stored first HMAC key, encrypting the first OTP authentication value with the PUF OTP certificate, and transmitting it to the PUF OTP server;
How to verify the OTP authentication value of the PUF OTP server.
사용자 단말에 있어서,
PUF(Physical Unclonable Function) OTP(One Time Password) 서버 및 PG(Payment Gateway) 서버와 통신하기 위한 통신 인터페이스;
제1 사용자 확인용 인증값 및 제2 사용자 확인용 인증값을 디스플레이하기 위한 디스플레이 모듈;
컴퓨터로 실행 가능한 명령어들(computer-executable instructions)이 저장된 메모리; 및
상기 메모리에 억세스(access)하여 상기 명령어들을 실행하는 프로세서
를 포함하고,
상기 프로세서는 PG(Payment Gateway) 서버로 인증을 요청함에 따라 상기 PUF OTP 서버로부터 결제 정보 및 PUF OTP 인증서를 수신하고, 제1 OTP 인증값을 상기 사용자 단말의 USIM(Universal Subscriber Identify Module) 고유번호(serial number)에 기초하여 생성하여 상기 PUF OTP 인증서로 암호화하고, 상기 제1 OTP 인증값 중 상기 제1 사용자 확인용 인증값을 디스플레이하고, 상기 암호화된 제1 OTP 인증값을 상기 PUF OTP 서버로 전송하고, 상기 PUF OTP 서버가 상기 사용자 단말의 USIM 고유번호에 기초하여 생성한 제2 OTP 인증값 중 상기 제2 사용자 확인용 인증값을 상기 PG 서버로부터 수신하여 디스플레이하고,
상기 PG 서버로 상기 제1 사용자 확인용 인증값과 상기 제2 사용자 확인용 인증값이 대응한다는 사용자 입력을 전송하는,
사용자 단말.
In the user terminal,
A communication interface for communicating with a Physical Unclonable Function (PUF) One Time Password (OTP) server and a Payment Gateway (PG) server;
a display module configured to display an authentication value for first user confirmation and an authentication value for second user confirmation;
a memory in which computer-executable instructions are stored; and
A processor that accesses the memory and executes the instructions
including,
The processor receives payment information and a PUF OTP certificate from the PUF OTP server as it requests authentication from a Payment Gateway (PG) server, and converts the first OTP authentication value to a universal subscriber identification module (USIM) unique number of the user terminal ( serial number), encrypts the PUF OTP certificate, displays the first user confirmation authentication value among the first OTP authentication values, and transmits the encrypted first OTP authentication value to the PUF OTP server. And, among the second OTP authentication values generated by the PUF OTP server based on the USIM-specific number of the user terminal, the second authentication value for user confirmation is received from the PG server and displayed;
Transmitting a user input indicating that the first user confirmation authentication value and the second user confirmation authentication value correspond to the PG server,
user terminal.
하드웨어와 결합되어 제1항 내지 제7항 및 제15항 내지 제17항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer readable recording medium to be combined with hardware to execute the method of any one of claims 1 to 7 and 15 to 17.
KR1020210082857A 2021-06-25 2021-06-25 Server for supporting user identification using physically unclonable function based onetime password and operating method thereof KR102547682B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210082857A KR102547682B1 (en) 2021-06-25 2021-06-25 Server for supporting user identification using physically unclonable function based onetime password and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210082857A KR102547682B1 (en) 2021-06-25 2021-06-25 Server for supporting user identification using physically unclonable function based onetime password and operating method thereof

Publications (2)

Publication Number Publication Date
KR20230000583A KR20230000583A (en) 2023-01-03
KR102547682B1 true KR102547682B1 (en) 2023-06-27

Family

ID=84924635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210082857A KR102547682B1 (en) 2021-06-25 2021-06-25 Server for supporting user identification using physically unclonable function based onetime password and operating method thereof

Country Status (1)

Country Link
KR (1) KR102547682B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150312041A1 (en) 2009-11-17 2015-10-29 Unho Choi Authentication in ubiquitous environment
JP6381833B2 (en) 2015-04-23 2018-08-29 ウノ チェ Authentication in the ubiquitous environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150312041A1 (en) 2009-11-17 2015-10-29 Unho Choi Authentication in ubiquitous environment
US20170359180A1 (en) 2009-11-17 2017-12-14 Unho Choi Authentication in ubiquitous environment
JP6381833B2 (en) 2015-04-23 2018-08-29 ウノ チェ Authentication in the ubiquitous environment

Also Published As

Publication number Publication date
KR20230000583A (en) 2023-01-03

Similar Documents

Publication Publication Date Title
CN107210914B (en) Method for secure credential provisioning
US9838205B2 (en) Network authentication method for secure electronic transactions
EP3280090B1 (en) User authentication method and device
CN106797311B (en) System, method and storage medium for secure password generation
US9231925B1 (en) Network authentication method for secure electronic transactions
EP4081921B1 (en) Contactless card personal identification system
US20150310427A1 (en) Method, apparatus, and system for generating transaction-signing one-time password
EP3487142B1 (en) Providing and obtaining graphic payment code information
US20090222383A1 (en) Secure Financial Reader Architecture
EP2098985A2 (en) Secure financial reader architecture
US20120239928A1 (en) Online Security Systems and Methods
US20170068960A1 (en) Web based payment service providing apparatus, method, system, and non-transitory computer readable storage medium storing computer program recorded thereon
EP3662430B1 (en) System and method for authenticating a transaction
KR101659847B1 (en) Method for two channel authentication using smart phone
US20220300962A1 (en) Authenticator App for Consent Architecture
US11727403B2 (en) System and method for payment authentication
KR101388935B1 (en) Two channel based user authentication apparatus and method
JP6059788B2 (en) Network authentication method using card device
US20240113898A1 (en) Secure Module and Method for App-to-App Mutual Trust Through App-Based Identity
KR102547682B1 (en) Server for supporting user identification using physically unclonable function based onetime password and operating method thereof
EP4123534A1 (en) Transaction security techniques
TWM576301U (en) Online banking system using push technology to verify identity

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right