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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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/3228—One-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3242—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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/3278—Cryptographic 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial 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(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
일 실시 예에 따르면, USIM 칩 내 PUF 칩으로 구현되고, PUF 기반 OTP 값을 생성하기 위한 PUF OTP 애플릿(applet)(250)이 사용자 단말(200)에 포함될 수 있다. PUF OTP 애플릿(250) 및 사용자 단말(200)에 대해서는 도 2에서 상세히 설명한다. According to an embodiment, a
일 실시 예에 따르면, PG 서버(300)는 결제를 수행하는 서버로, 사용자는 소액 결제를 위한 사용자 인증을 위해 사용자 단말(200)을 통해 PG 서버(300)로 인증을 요청할 수 있다.According to an embodiment, the
일 실시 예에 따르면, PUF OTP 서버(100)는 통신 인터페이스(110)를 통해 PG 서버(300)로부터 결제 정보를 수신하고, 결제 정보 및 PUF OTP 인증서를 사용자 단말(200)로 전송할 수 있다. 일 실시 예에 따르면, PUF OTP 인증서는 PUF OTP 인증값을 암호화 및 복호화하기 위한 것으로, PUF OTP 서버(100)에 저장되어 있을 수 있다. 일 실시 예에 따르면, 결제정보에는 거래번호, 상품명 및 거래금액 중 적어도 어느 하나가 포함될 수 있다.According to an embodiment, the
일 실시 예에 따르면, PG 서버(300)와 PUF OTP 서버(100)는 결제 서버(미도시)를 통해 정보를 전송할 수 있다. 예를 들어, PG 서버(300)는 결제 정보를 결제 서버로 전송하고, 결제 서버가 수신한 결제 정보를 PUF OTP 서버(100)로 전송할 수 있다. According to an embodiment, the
일 실시 예에 따르면, 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
일 실시 예에 따르면, 제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 서버(100)는 통신 인터페이스(110)를 통해 사용자 단말(200)로부터 PUF OTP 인증서로 암호화된 제1 OTP 인증값을 수신하고, 프로세서(120)는 PUF OTP 인증서로 제1 OTP 인증값을 복호화할 수 있다.According to an embodiment, the
일 실시 예에 따르면, 프로세서(120)는 제2 OTP 인증값을 생성하고, 복호화한 제1 OTP 인증값과 비교하여 제1 OTP 인증값이 제2 OTP 인증값에 대응하는지 검증할 수 있다. OTP 인증값을 생성하는 방법 및 OTP 인증값을 검증하는 방법은 도 5에서 상세히 설명한다.According to an embodiment, the
일 실시 예에 따르면, PUF OTP 서버(100)는 통신 인터페이스(110)를 통해 제2 OTP 인증값 중 제2 사용자 확인용 인증값 및 제1 OTP 인증값과 제2 OTP 인증값이 대응하는지에 대한 검증 결과를 PG 서버(300)로 전송할 수 있다. 이 때 전술한 바와 같이 결제 서버(미도시)를 통해 PG 서버(300)로 전송할 수 있고, 제2 사용자 확인용 인증값이 PG 인증서로 암호화되어 전송될 수 있다.According to an embodiment, the
일 실시 예에 따르면, PG 서버(300)는 PG 인증서로 제2 사용자 확인용 인증값을 복호화한 후 사용자 단말(200)로 전송하고, 제2 사용자 확인용 인증값이 사용자 단말(200)에 디스플레이될 수 있다.According to an embodiment, the
일 실시 예에 따르면, PG 서버(300)는 사용자 단말(200)을 통해 디스플레이된 제1 사용자 확인용 인증값과 제2 사용자 확인용 인증값이 대응한다는 사용자 입력을 수신하면 인증을 완료할 수 있다. 예를 들어, PG 서버(300)는 사용자 단말(200)로부터 제1 사용자 확인용 인증값과 제2 사용자 확인용 인증값이 동일하다는 사용자 입력을 수신하면 인증을 완료할 수 있다.According to an embodiment, the
<사용자 단말><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
일 실시 예에 따르면, 사용자 단말(200)은 사용자가 네트워크를 통해 결제를 진행할 수 있는 전자 장치로, 스마트폰, 태블릿, 스마트 TV, 노트북, PC 등일 수 있다. According to an embodiment, the
일 실시 예에 따르면, 프로세서(220)는 도 1에서 설명한 PUF OTP 애플릿(250)으로, 사용자 단말(200)의 USIM 칩 내의 PUF 칩에 포함되어 있을 수 있다.According to one embodiment, the
일 실시 예에 따르면, 프로세서(220)는 통신 인터페이스(210)를 통해 PG(Payment Gateway) 서버(300)로 인증을 요청하고, 이에 따라 PUF OTP 서버(100)로부터 결제 정보 및 PUF OTP 인증서를 수신할 수 있다. According to an embodiment, the
일 실시 예에 따르면, 프로세서(220)는 제1 OTP 인증값을 생성하여 PUF OTP 인증서로 암호화하고, 제1 OTP 인증값 중 제1 사용자 확인용 인증값을 디스플레이하고, 암호화된 제1 OTP 인증값을 PUF OTP 서버로 전송할 수 있다. According to an embodiment, the
일 실시 예에 따르면, 프로세서(120)는 PUF OTP 서버(100)가 생성한 제2 OTP 인증값 중 제2 사용자 확인용 인증값을 PG 서버(300)로부터 수신하여 디스플레이하고, 사용자로부터 제1 사용자 확인용 인증값과 제2 사용자 확인용 인증값이 대응하는지에 대한 입력을 수신하여 PG 서버(300)로 전송할 수 있다.According to an embodiment, the
<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
PUF OTP 서버(100)는 수신한 결제 정보를 PUF OTP 인증서와 함께 사용자 단말(200)로 전송할 수 있다(310). 도 1에서 설명한 바와 같이 심툴킷 메시지 서버를 거쳐 결제 정보 및 PUF OTP 인증서는 심툴킷 메시지에 포함되어 전송될 수 있다.The
일 실시 예에 따르면, 사용자 단말(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
일 실시 예에 따르면, 동작 320에서 PUF OTP 애플릿(250)은 사용자 단말(200)로 제1 OTP 값 생성을 위해 결제 승인에 대한 사용자 입력을 위한 입력창 생성을 요청할 수 있고, 결제 승인을 위한 입력창은 사용자 단말(200)에서 제공하는 심툴킷(SIM Toolkit) 기능으로 별도 어플리케이션의 설치 없이 생성될 수 있다. According to an embodiment, in
도 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
일 실시 예에 따르면, 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 서버(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 서버(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
사용자 단말(200)은 디스플레이된 제1 사용자 확인용 인증값(동작 345 참조) 및 제2 사용자 확인용 인증값(동작 375 참조)이 대응하는지에 대한 사용자 입력을 PG 서버(300)로 전송(380)할 수 있다. 일 실시 예에 따르면, 제1 사용자 확인용 인증값과 제2 사용자 확인용 인증값이 동일한지에 대한 사용자 입력(예를 들어, '확인' 버튼에 대한 터치, 탭 등의 촉각입력 또는 "응" 등의 음성입력 등)이 PG 서버(300)로 전송될 수 있다. PG 서버(300)는 사용자 입력을 수신하면 결제에 대한 인증을 완료(385)할 수 있다.The
도 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,
화면(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
일 실시 예에 따르면, 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,
<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.
일 실시 예에 따르면, 제1 HMAC key가 생성되는 동작(510)은 OTP 인증값들을 검증하는 동작(530)보다 시간적으로 앞서 발생할 수 있다. 예를 들어, 참조번호 510의 동작들은 처음 사용자 단말(200)의 유심이 발급될 때 발생하고, 참조번호 530의 동작들은 사용자 단말(200)에서 결제가 발생하여 결제를 위한 인증을 수행할 때 발생할 수 있다. OTP 인증값을 검증하는 동작(530)은 도 3을 참조하여 설명한 제1 OTP 인증값을 복호화하고, 제2 OTP 인증값을 생성해 검증하는 동작(예: 도 3의 동작 350)에 대응할 수 있다.According to an embodiment,
일 실시 예에 따르면, 동작 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
일 실시 예에 따르면, 유심 발급 시 제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
일 실시 예에 따르면 동작 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
일 실시 예에 따르면 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
일 실시 예에 따르면, 제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 서버(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
참조번호 510에서 HMAC key를 사용자 단말(200)의 유심 고유번호에 기초하여 생성함으로써, 참조번호 530의 OTP 인증 값 사이의 검증 과정에서 PUF OTP 서버(100)는 PUF OTP 애플릿(250)으로부터 HMAC key를 별도로 수신하지 않고도 유심 고유번호에 기초하여 HMAC key를 생성하고, OTP 인증값을 생성하여 OTP 인증값을 검증할 수 있다.By generating the HMAC key at
<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)에 의해 수행될 수 있다.
일 실시 예에 따르면, 동작 610에서 PUF OTP 서버(100)의 프로세서(120)는 PG 서버(300)로부터 결제 정보를 수신하여 PUF OTP 인증서와 함께 사용자 단말(200)로 전송할 수 있다. 동작 610은 도 3의 동작 310에 대응할 수 있다.According to an embodiment, in
일 실시 예에 따르면, 사용자 단말(200)에 포함된 PUF OTP 애플릿(250)은 제1 OTP 인증값을 생성하고, PUF OTP 인증서로 암호화할 수 있다.According to an embodiment, the
일 실시 예에 따르면, 동작 620에서 프로세서(120)는 사용자 단말(200)로부터 PUF OTP 인증서로 암호화된 제1 OTP 인증값을 수신하고, 제1 OTP 인증값을 PUF OTP 인증서로 복호화할 수 있다. 이 때 사용자 단말(200)에서는 제1 OTP 인증값 중 제1 사용자 확인용 인증값이 디스플레이될 수 있다.According to an embodiment, in operation 620, the
일 실시 예에 따르면, 동작 630에서 프로세서(120)는 제2 OTP 인증값을 생성하여 제1 OTP 인증값과 대응하는지 검증할 수 있다. 동작 620 및 동작 630은 도 3의 동작 340 및 동작 350에 대응할 수 있다.According to an embodiment, in operation 630, the
일 실시 예에 따르면, 동작 640에서 프로세서(120)는 제2 OTP 인증값으로부터 제2 사용자 확인용 인증값을 생성하고, PG 서버(300)로 전송할 수 있다. 동작 640은 도 3의 동작 355 및 동작 360에 대응할 수 있다. According to an embodiment, in
일 실시 예에 따르면, 제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
<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)에 의해 수행될 수 있다.
일 실시 예에 따르면, 동작 710에서 PUF OTP 서버(100)의 프로세서(120)는 사용자 단말(200)로부터 PG 서버(300)로의 결제 인증 요청에 따라 PUF OTP 인증서를 사용자 단말(200)로 전송할 수 있다. 동작 710은 도 5의 동작 535에 대응할 수 있다.According to an embodiment, in
일 실시 예에 따르면, 동작 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
일 실시 예에 따르면, 동작 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
일 실시 예에 따르면, 동작 740에서 프로세서(120)는 HMAC 알고리즘 및 제2 HMAC key에 기초하여 제2 OTP 인증값을 생성할 수 있다. 동작 740은 도 5의 동작 580에 대응할 수 있다.According to an embodiment, in
일 실시 예에 따르면, 동작 750에서 프로세서(120)는 복호화된 제1 OTP 인증값과 제2 OTP 인증값이 대응하는지 검증할 수 있다. 예를 들어, 제1 OTP 인증값과 제2 OTP 인증값이 동일한 경우 프로세서(120)는 OTP 인증값들이 대응된다고 결정할 수 있다. 동작 750은 도 5의 동작 590에 대응할 수 있다.According to an embodiment, in
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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)
사용자 단말을 통한 인증 요청에 따라 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 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.
상기 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.
상기 사용자 단말의 인증 요청에 따라 상기 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.
상기 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.
상기 결제 정보 및 상기 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.
상기 결제 정보는,
거래번호, 상품명 및 거래금액 중 적어도 어느 하나를 포함하는,
방법.
According to claim 1,
The payment information,
Including at least one of the transaction number, product name and transaction amount,
method.
사용자 단말을 통한 인증 요청에 따라 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.
상기 제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.
상기 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.
상기 사용자 단말의 인증 요청에 따라 상기 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.
상기 프로세서는,
상기 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.
상기 결제 정보 및 상기 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.
상기 결제 정보는,
거래번호, 상품명 및 거래금액 중 적어도 어느 하나를 포함하는,
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 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.
상기 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.
상기 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.
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.
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)
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 |
-
2021
- 2021-06-25 KR KR1020210082857A patent/KR102547682B1/en active IP Right Grant
Patent Citations (3)
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 |