KR101525888B1 - Device and method creating one time password using physically unclonable function - Google Patents

Device and method creating one time password using physically unclonable function Download PDF

Info

Publication number
KR101525888B1
KR101525888B1 KR1020130064743A KR20130064743A KR101525888B1 KR 101525888 B1 KR101525888 B1 KR 101525888B1 KR 1020130064743 A KR1020130064743 A KR 1020130064743A KR 20130064743 A KR20130064743 A KR 20130064743A KR 101525888 B1 KR101525888 B1 KR 101525888B1
Authority
KR
South Korea
Prior art keywords
response value
value
otp
challenge
password
Prior art date
Application number
KR1020130064743A
Other languages
Korean (ko)
Other versions
KR20140142951A (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 KR1020130064743A priority Critical patent/KR101525888B1/en
Publication of KR20140142951A publication Critical patent/KR20140142951A/en
Application granted granted Critical
Publication of KR101525888B1 publication Critical patent/KR101525888B1/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/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/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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 전자 금융 거래 시스템에서 사용자에 대한 인증을 하기 위한 OTP발생기에 관한 것으로, OTP발생기는 외부 서버로부터 챌린지값(C0)을 수신하고, PUF(Physically Unclonable Fuction)모듈이 상기 챌린지값(C0)에 대응하는 응답값(R0)을 생성하면, 시간 동기 정보 및 상기 응답값(R0)을 이용하여 OTP비밀번호를 생성한다. 이러한 OTP발생기는 원하는 정보를 PUF의 응답값을 비밀키로 이용하여 암호화하여 보호하므로 공격자들이 어떤 정보도 복원할 수 없도록 하는 효과를 갖는다.The present invention relates to an OTP generator for authenticating a user in an electronic financial transaction system, in which an OTP generator receives a challenge value (C 0 ) from an external server, and a PUF (Physically Unclonable Function) When generating a response value (R 0) corresponding to zero), and generates a password OTP using the time alignment information and the response value (R 0). This OTP generator has the effect of preventing the attacker from restoring any information because the desired information is encrypted by using the response value of the PUF as the secret key.

Description

PUF를 이용한 OTP 발생 기기 및 방법 {DEVICE AND METHOD CREATING ONE TIME PASSWORD USING PHYSICALLY UNCLONABLE FUNCTION}Technical Field [0001] The present invention relates to an apparatus and a method for generating an OTP using a PUF,

본 발명은 PUF를 이용한 OTP 발생 기기 및 방법에 관한 것으로서, 보다 상세하게는 전자 금융 거래 시스템에서 사용자에 대한 인증을 하기 위한 OTP발생기, 인증 서버 및 OTP발생기를 이용한 비밀 번호 생성 방법에 관한 것이다. The present invention relates to an apparatus and method for generating an OTP using a PUF, and more particularly, to a method for generating a password using an OTP generator, an authentication server, and an OTP generator for authenticating a user in an electronic financial transaction system.

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 the case of domestic electronic financial transactions, it provides secure electronic financial transactions by using it as an additional authentication factor to confirm the identity of the user.

그러나 피싱, 파밍 등의 공격들이 지능화됨에 따라 다양한 위협들이 여전히 전자 금융 거래에 존재하고 있다. 최근 공격자들은 특정 타겟을 하나의 목표로 설정하여 해당 공격 대상자의 중요 개인 정보를 수집하여 금전적인 피해 사고를 야기시키고 있다. 2011년에 SecureID라는 OTP 발생기를 제조하는 일부 시스템이 해킹되어 OTP 발생기의 정보가 유출되었으며, 이로 인해 국내의 경우 SecureID 제품을 회수 하는 등의 조치가 있었다. 이러한 다양한 위협에 대해 예방하기 위한 대책을 마련하는 것이 지속적으로 요구되어왔다. However, as phishing and pharming attacks become more intelligent, various threats still exist in electronic financial transactions. Recently, attackers set a specific target as a target, collecting important personal information of the attacked person and causing monetary damages. In 2011, some systems that manufacture OTP generators called SecureIDs were hacked and information about OTP generators leaked. As a result, there were actions such as the recovery of SecureID products in Korea. There has been a continuing need to take measures to prevent these various threats.

OTP는 기본적으로 단방향 함수인 해쉬 함수의 이점을 이용하여 램덤한 값을 생성함으로써 이러한 위협에 대처한다. 그러나 도청, 사회공학과 같은 공격들은 여전히 존재하고 있다. OTP basically copes with this threat by generating random values using the advantages of the hash function, which is a unidirectional function. But attacks such as eavesdropping and social engineering still exist.

현재 국내의 경우, 가장 안전하다고 판단되는 시간동기 방식의 OTP(Time Synchronized OTP) 발생기가 사용되고 있으며 이는 서버와 OTP발생기 간에 같은 클럭 정보를 사용한다. In Korea, a time synchronized OTP (Time Synchronized OTP) generator which is considered to be the most secure is used, which uses the same clock information between the server and the OTP generator.

그러나 공격들이 점점 지능화됨에 따라 다양한 공격들이 존재하고 있으며, 특히 공격자가 특정 목표를 대상으로 하여 개인 정보를 수집한다면 같은 OTP 값을 생성할 수 있다. 그리고 또한 하드웨어적인 기술을 통해 OTP 발생기를 복제할 수 있는 가능성도 간과할 수 없다. However, as attacks become increasingly intelligent, a variety of attacks exist, especially if the attacker collects personal information against a specific target. Also, the possibility of replicating the OTP generator through hardware technology can not be overlooked either.

현재 금융 거래 시스템에서 사용하고 있는 시간동기 방식의 OTP발생기는 서버와 OTP 발생기 사이에 서로 동기화된 시간 클럭 정보가 서로 일치하는 여부를 확인함으로써 사용자의 신원을 확인한다. The time synchronization type OTP generator used in the financial transaction system confirms the identity of the user by checking whether the time clock information synchronized with each other between the server and the OTP generator coincide with each other.

그러나 공격자들이 다양하고 정교한 사회공학, 피싱 공격들을 이용하여 보안 토큰과 비밀키에 대한 정보를 수집한다면 충분히 같은 OTP 값을 생성할 수 있다. 다시 말해서, OTP 값을 생성하는 알고리즘을 살펴보면 단지 소프트웨어적인 방법만 활용하기 때문에 같은 입력 정보만 입력한다면 같은 OTP 값을 생성하는 것이 가능하다. However, if attackers collect information about security tokens and secret keys using various sophisticated social engineering and phishing attacks, they can generate the same OTP value. In other words, if we look at the algorithm that generates the OTP value, it is possible to generate the same OTP value if only the same input information is input because only the software method is used.

이와 관련하여, 대한민국 공개 특허 제 10-2010-0114775호(발명의 명칭: OTP를 이용한 사용자 정의 인증 시스템)에는 OTP발생기를 이용한 사용자 인증 방법이 기술되어있다. In this connection, Korean Patent Laid-Open No. 10-2010-0114775 (entitled: User-defined authentication system using OTP) describes a user authentication method using an OTP generator.

본 발명은 공격자들이 사회공학, 피싱 공격을 이용하여 보안 토큰과 비밀키에 대한 정보를 수집하고 같은 OTP 값을 생성할 수 있어 보안에 취약한 종래 기술의 한계를 극복하고자 한다. The present invention aims to overcome the limitations of the prior art which is vulnerable to security because an attacker can collect information on a security token and a secret key by using social engineering and phishing attacks and generate the same OTP value.

본 발명은 또한 사용자의 거래정보를 이용하지 않아 사용자의 PC가 아닌 타인의 PC로도 사용자의 OTP만 입력하면 금융 거래가 이루어져 보안에 취약한 종래 기술을 한계를 극복하고자 한다. The present invention also attempts to overcome the limitations of the prior art which is vulnerable to security because a financial transaction is made only when a user's OTP is entered into the PC of the user other than the user's PC because the user does not use the transaction information.

본 발명은 또한 인증 서버가 상당히 많은 양의 인증 정보를 저장, 관리하여 서버에 상당량의 부하가 생기는 종래 기술의 한계를 극복하고자 한다. The present invention also seeks to overcome the limitations of the prior art in which the authentication server stores and manages a fairly large amount of authentication information, resulting in a considerable load on the server.

본 발명은 또한 도청 공격, 메시지 블락 공격, Replay공격, Spoofing 공격, 및 복제 공격으로 인한 금융 거래 시스템의 피해를 예방하고자 한다. The present invention also seeks to prevent damage to the financial transaction system due to eavesdropping attacks, message block attacks, replay attacks, spoofing attacks, and replication attacks.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른OTP발생기는, 외부 서버로부터 챌린지값(C0)을 수신하는 수신부; 상기 챌린지값(C0)에 대응하는 응답값(R0)을 생성하는 PUF(Physically Unclonable Fuction)모듈; 및 시간 동기 정보 및 상기 응답값(R0)을 이용하여 OTP비밀번호를 생성하는 비밀번호 생성부를 포함한다. As a technical means for achieving the above technical object, an OTP generator according to a first aspect of the present invention includes: a receiver for receiving a challenge value (C 0 ) from an external server; A Physically Unclonable Fuction (PUF) module for generating a response value (R 0 ) corresponding to the challenge value (C 0 ); And a password generating unit for generating an OTP password using the time synchronization information and the response value (R 0 ).

또한, 본 발명의 제 2 측면에 따른 사용자 인증 서버는, PUF모듈을 포함하는 OTP 발생기에 챌린지값(C0)을 송신하는 송신부; 시간 동기 정보 및 상기 챌린지값(C0)에 대응한 응답값(R0)을 이용하여 OTP비밀번호를 생성하는 비밀번호 생성부; 및 사용자가 입력한 OTP비밀번호와 상기 비밀번호 생성부가 생성한 OTP비밀번호가 일치하는지 판단하는 인증부를 포함하되 상기 응답값(R0)은 상기 서버에 기저장되었던 것이고, 상기 사용자가 입력한 OTP비밀번호는, 상기 OTP발생기에서 발생한 것을 상기 사용자가 인지하고 입력한 것이다. According to a second aspect of the present invention, there is provided a user authentication server including: a transmission unit for transmitting a challenge value (C 0 ) to an OTP generator including a PUF module; A password generating unit for generating an OTP password using time synchronization information and a response value (R 0 ) corresponding to the challenge value (C 0 ); And an authentication unit for determining whether the OTP password input by the user and the OTP password generated by the password generator are identical, wherein the response value (R 0 ) has been previously stored in the server, The user recognizes and inputs the information generated by the OTP generator.

또한, 본 발명의 제 3 측면에 따른 OTP비밀번호를 생성하는 방법은, 외부 서버로부터 챌린지값(C0)을 수신하는 단계; PUF모듈을 이용하여 상기 챌린지값(C0)에 대응한 응답값(R0)을 생성하는 단계; 시간 동기 정보 및 상기 응답값(R0)을 이용하여 OTP비밀번호를 생성하는 단계를 포함한다.According to a third aspect of the present invention, there is provided a method for generating an OTP secret key, the method comprising: receiving a challenge value (C 0 ) from an external server; Generating a response value (R 0 ) corresponding to the challenge value (C 0 ) using the PUF module; Using the time alignment information and the response value (R 0) includes generating a password OTP.

전술한 본 발명의 과제 해결 수단에 의하면, 원하는 정보를 PUF의 응답값을 비밀키로 이용하여 암호화하여 보호하므로 공격자들은 어떤 정보도 복원할 수 없다. 따라서 공격자들은 같은 OTP 값을 생성할 수 없어 보안으로부터 안전하다.According to the above-mentioned object of the present invention, the attacker can not restore any information because the desired information is encrypted by using the response value of the PUF as a secret key. Therefore, attackers can not generate the same OTP value, which is security-safe.

또한 전술한 본 발명의 과제 해결 수단에 의하면, 본 발명은 챌린지-응답값 쌍(Challenge-Response Pair, 이하 CRP)의 정보를 계속 갱신하기 때문에 인증 서버가 상당히 많은 양의 인증 정보를 저장, 관리하여 서버에 상당량의 부하가 생겼던 종래 기술의 한계를 극복할 수 있다.In addition, according to the present invention, since the information of the challenge-response pair (CRP) is continuously updated, the authentication server stores and manages a considerably large amount of authentication information It is possible to overcome the limitations of the prior art in which a considerable load is placed on the server.

또한 전술한 본 발명의 과제 해결 수단에 의하면, OTP 발생기와 금융회사 서버 간에 주고받는 CRP 정보는 매번 업데이트되기 때문에, 거래정보를 이용하지 않아 사용자의 PC가 아닌 타인의 PC로도 사용자의 OTP만 입력하면 금융 거래가 이루어져 보안에 취약했던 종래 기술을 한계를 극복할 수 있다. According to the present invention, since the CRP information exchanged between the OTP generator and the financial company server is updated each time, only the OTP of the user is inputted into the PC of the user other than the user's PC because the transaction information is not used Financial transactions have been made, which can overcome the limitations of the prior art which was vulnerable to security.

또한 전술한 본 발명의 과제 해결 수단에 의하면, 본 발명은 PUF의 특징으로 인해 응답값을 메모리에 저장할 필요가 없다. OTP 발생기는 챌린지값을 서버로부터 받을 때 마다 PUF를 이용해 대응하는 응답값을 생성하면 되기 때문에 인증 서버가 상당히 많은 양의 인증 정보를 저장, 관리하여 서버에 상당량의 부하가 생겼던 종래 기술의 한계를 극복할 수 있다.According to the present invention, there is no need to store the response value in the memory due to the characteristics of the PUF. Since the OTP generator generates a corresponding response value using the PUF whenever the challenge value is received from the server, the authentication server stores and manages a considerable amount of authentication information, thereby overcoming the limitations of the prior art can do.

도 1은 본 발명인 OTP발생기와 사용자 인증 서버를 포함하여 전체적인 금융 거래 시스템을 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 OTP발생기를 도시한다.
도 3은 본 발명의 일 실시예에 따른 사용자 인증 서버를 도시한다.
도 4는 OTP발생기와 사용자 인증 서버 간의 프로토콜에 대하여 도시한다.
FIG. 1 illustrates an overall financial transaction system including an OTP generator and a user authentication server according to the present invention.
2 illustrates an OTP generator according to an embodiment of the present invention.
3 illustrates a user authentication server according to an embodiment of the present invention.
4 illustrates a protocol between an OTP generator and a user authentication server.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본원 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다. Throughout this specification, when an element is referred to as "including " an element, it is understood that the element may include other elements as well, without departing from the other elements unless specifically stated otherwise. The word " step (or step) "or" step "used to the extent that it is used throughout the specification does not mean" step for.

본원 명세서 전체에서, "PUF"는 Physically Unclonable Function의 약자로 물리적으로 복제할 수 없는 특징을 가지고 있는 IC 회로를 의미한다. 다시 말해, 공격자가 PUF의 IC 회로를 복제하더라도 원래 PUF IC 회로가 지니고 있는 특성까지 복제할 수 없다. 따라서 PUF의 랜덤한 특징에 의해 공격자가 PUF 회로를 복제하더라도 같은 PUF의 출력값을 생성하는 것이 불가능하다.Throughout this specification, "PUF" is an abbreviation of Physically Unclonable Function, which means an IC circuit having characteristics that can not be physically duplicated. In other words, even if the attacker replicates the IC circuit of the PUF, it can not replicate the characteristics of the original PUF IC circuit. Therefore, even if the attacker replicates the PUF circuit by the random feature of the PUF, it is impossible to generate the output value of the same PUF.

본원 명세서 전체에서, "인코딩"은 보안을 위한 암호화 및 부호화를 의미하고, "디코딩"은 복호화를 의미한다. 본원 명세서에서 특별하게 구분하지 않는 이상 인코딩은 암호화와 동일한 의미를 갖고, 디코딩은 복호화와 동일한 의미를 갖는다.Throughout this specification, "encoding" means encryption and encoding for security, and "decoding" means decryption. Unless otherwise specified herein, encoding has the same meaning as encryption, and decoding has the same meaning as decryption.

본원 명세서 전체에서, "거래정보"는 사용자로부터 입력되는 금융 거래에 관한 정보로써, 사용자가 거래정보를 직접 OTP 발생기에 부착된 키패드 등에 입력하는 방식, 사용자 단말에 출력된 거래정보를 OTP 발생기의 센서, 3D 바코드, QR코드 등을 통해 입력하는 방식, 또는 금융회사와 OTP 발생기가 직접 통신하여 거래정보가 입력되는 방식으로 입력될 수 있다. Throughout the present specification, "transaction information" is information on a financial transaction inputted from a user, and includes a method in which a user directly inputs a transaction information to a keypad or the like attached to the OTP generator, , A 3D bar code, a QR code, or the like, or a method in which a financial company and an OTP generator directly communicate with each other to input transaction information.

은행 인터넷 또는 스마트 뱅킹 서비스는 안전한 전자금융 거래를 위해 OTP 비밀번호를 추가 비밀번호로 사용한다. OTP 비밀번호는 매 1분마다 갱신되고 있으며, 1회만 사용이 가능하다. 실제로 OTP 비밀번호의 갱신 주기인 1분 안에 추가적으로 OTP 비밀번호를 사용했을 때에는 이미 사용하였으므로 OTP 비밀번호가 갱신된 후 사용하라는 경고 메시지를 출력한다. 종래의 OTP비밀번호 발생기는 거래정보를 사용하지 않고 비밀키와 시간동기 정보를 통해 비밀번호를 생성하였다. 거래정보를 사용하지 않기 때문에 공격자가 MITB나 도청 공격을 통해 OTP 비밀번호를 획득할 수 있다는 문제점이 있었다. The bank Internet or smart banking service uses the OTP password as an additional password for secure electronic financial transactions. OTP passwords are updated every minute and can only be used once. In fact, if an OTP password is used in addition to the OTP password renewal cycle within one minute, the OTP password is updated and a warning message is displayed. The conventional OTP password generator generates the secret number using the secret key and the time synchronization information without using the transaction information. Since the transaction information is not used, the attacker could obtain the OTP password through MITB or eavesdropping attack.

이러한 문제를 해결하기 위해 종래의 금융 거래 시스템에서는 같은 OTP 비밀번호를 동시에 여러 번 사용되는 것을 차단하였다. 그러나 공격자가 공격 대상 사용자의 OTP 비밀번호를 해당 사용자보다 먼저 입력하여 사용하거나 거래정보를 조작한다면 여전히 문제를 일으킬 수 있다. In order to solve this problem, the conventional financial transaction system has prevented the same OTP password from being used at the same time several times. However, if an attacker enters the OTP password of the attacked user before the user and manipulates the transaction information, it may still cause a problem.

종래의 전자 금융 거래 시스템을 시험한 결과, PC에서 뱅킹 시스템에 접속하여 계좌이체를 하기 위한 OTP 비밀번호를 입력하기 전에 또 다른 PC에서 뱅킹 시스템에 접속하였다. 이전 PC에서 생성한 OTP 비밀번호를 사용하여 다른 PC가 이체를 시도한 결과 정상적으로 이체되는 것을 확인하였다. 따라서 종래의 OTP발생기에서는 거래정보를 사용하지 않는 것으로 확인할 수 있었고, 전자 금융 거래시 위협적인 요소가 될 수 있음을 알 수 있었다.As a result of testing the conventional electronic financial transaction system, another PC connected to the banking system before inputting the OTP password for connecting to the banking system and transferring money to the PC. It is confirmed that another PC using the OTP password generated from the old PC tried to transfer the data and it is transferred normally. Therefore, it can be confirmed that the conventional OTP generator does not use transaction information, and it can be a threat element in electronic financial transaction.

본 발명은 현재 금융권에서 사용되고 있는 OTP발생기에 PUF를 추가하여 OTP 발생기에 대한 인증과 OTP비밀번호의 랜덤한 특성을 강화한다. 또한 PUF의 특성을 이용해 OTP 발생기의 하드웨어적인 복제를 방지한다. The present invention adds a PUF to an OTP generator currently used in the financial sector to enhance the authentication of the OTP generator and the random characteristic of the OTP secret. It also prevents hardware duplication of the OTP generator by using the characteristics of the PUF.

또한 본 발명은, PUF를 이용한 인증 방법으로 사용자가 보내온 CRP와 서버의 CRP 테이블 정보를 비교함으로써 인증을 수행하는 방법, 또는 PUF의 출력인 응답값을 해쉬 함수의 비밀키로 사용하는 방법을 이용하여 안전한 금융 거래가 이루어지도록 한다. The present invention also provides a method for performing authentication by comparing the CRP table information of the server with the CRP table transmitted by the user in the authentication method using the PUF or using a response value that is the output of the PUF as the secret key of the hash function. Make financial transactions happen.

다만, PUF를 통해 인증 기법으로 활용하는데 있어 가장 큰 문제는 사용자 인증 서버에서 상당히 많은 양의 CRP테이블을 저장 관리해야 하므로 서버에 상당량의 부하가 생긴다는 점인데, 본 발명은 인증 과정 중에 다음에 사용할 CRP를 갱신함으로써 CRP테이블을 관리하는데 효율적인 방법을 제공한다. 또한 본 발명은 일 실시예로서 OTP 비밀번호를 표준 암호 함수에 의해 생성하고, 입력 정보에 PUF의 응답값을 추가함으로써 타인이 비밀번호를 예측하는 것을 어렵게 한다. However, the biggest problem in using PUF as an authentication technique is that a considerable amount of load is generated in the server since a large amount of CRP tables need to be stored and managed in the user authentication server. And provides an efficient method for managing the CRP table by updating the CRP. In addition, according to an embodiment of the present invention, an OTP password is generated by a standard cryptographic function, and a response value of a PUF is added to input information, thereby making it difficult for others to predict a password.

본 발명은 OTP 기반 금융 거래에서 공격자들이 특정 대상의 개인 정보를 수집하고 그 정보들을 복합적으로 사용하여 또 다른 금융 피해가 발생하는 것을 예방할 수 있다. 종래의 금융 거래 시스템은 거래정보를 사용하지 않기 때문에 거래 조작 공격에 대한 위협이 있고, OTP 비밀번호가 소프트웨어적으로 생성되기 때문에 입력 정보만 획득한다면 충분히 같은 OTP 비밀번호를 만들어 낼 수 있었으나, 본 발명은 PUF를 이용하여 새로운 금융 거래 시스템을 제시함으로써 더욱 안전한 금융 거래가 이루어 지도록 한다. In the OTP-based financial transaction, the attacker collects personal information of a specific object and uses the information in combination to prevent another financial damage from occurring. Since the conventional financial transaction system does not use the transaction information and there is a threat to the transaction manipulation attack and the OTP password is generated by software, if the input information is acquired only, the same OTP password can be generated. However, To provide a more secure financial transaction by presenting a new financial transaction system.

본 발명의 일 실시예에 따른 OTP 발생기는 PUF라는 하드웨어 요소를 추가함으로써 OTP 발생기가 복제되는 것을 막을 수 있다. 다음으로 OTP 비밀번호를 생성하는 입력에 PUF의 응답값을 추가하여 더욱 안전하게 거래를 할 수 있도록 돕는다. 이때, 본 발명을 실시하기 위해선 OTP 발생기와 금융 거래 시스템 서버 간에 서로 PUF 메시지와 거래정보를 주고받기 위한 통신 채널이 필요하며, 만약 통신 채널이 제한된다면 키패드가 부착된 OTP 발생기를 이용해 사용자가 직접 PUF 관련 정보를 입력하는 방법을 고려할 수 있다. The OTP generator according to an embodiment of the present invention can prevent the OTP generator from being copied by adding a hardware element called PUF. Next, we add the PUF response value to the input that generates the OTP password, which helps us to deal more securely. In order to implement the present invention, a communication channel for exchanging PUF messages and transaction information with each other is required between the OTP generator and the financial transaction system server. If the communication channel is limited, a user may directly use the OTP generator with a keypad, A method of inputting relevant information may be considered.

도 1은 본 발명인 OTP발생기(100)와 사용자 인증 서버(200)를 포함하여 전체적인 금융 거래 시스템을 도시한 것이다. 본 발명의 일 실시예에 따르면 해당 시스템이 이용하는 프로토콜은 PUF의 챌린지-응답값 쌍(Challeng-Response Pair, 이하 CRP)을 안전하게 보호하기 위해 표준 암호 함수를 사용하며, 메시지의 에러를 체크하기 위해 HMAC 기반의 해쉬 함수를 사용한다. 1 illustrates an overall financial transaction system including an OTP generator 100 and a user authentication server 200 according to the present invention. According to one embodiment of the present invention, the protocol used by the system uses a standard cryptographic function to safely protect the challenge-response pair (CRP) of the PUF, and uses HMAC Based hash function.

도 2는 본 발명의 일 실시예에 따른 OTP발생기(100)를 도시한다. OTP발생기(100)는 수신부(110), PUF모듈(120), 비밀번호 생성부(130), 및 송신부(140)를 포함하나 디코딩부(115) 및 인코딩부(150)를 더 포함할 수 있다. 이하 OTP발생기(100)의 각 구성요소에 대하여 설명하기로 한다. Figure 2 illustrates an OTP generator 100 in accordance with an embodiment of the present invention. The OTP generator 100 may further include a receiver 110, a PUF module 120, a password generator 130, and a transmitter 140, but may further include a decoder 115 and an encoder 150. Hereinafter, each component of the OTP generator 100 will be described.

수신부(110)는, 사용자로부터 거래정보를 수신한 외부 서버(200)로부터 챌린지값(C0)을 수신하나, 다음 번에 사용될 두번째 챌린지값(C1)을 외부 서버(200)로부터 수신하는 것도 가능하다. 이때, 수신부(110)는, 외부 서버(200)가 사용자로부터 수신한 OTP비밀번호가 맞는지에 대한 ACK메시지를 수신하되, ACK메시지는 다음 번에 사용될 두번째 챌린지값(C1) 및 두번째 응답값(R1) 중 어느 하나 이상을 포함할 수 있다. The receiving unit 110 may receive the challenge value C 0 from the external server 200 receiving the transaction information from the user but receive the second challenge value C 1 to be used next from the external server 200 It is possible. At this time, the receiver 110 receives an ACK message indicating whether the OTP password received from the user is correct by the external server 200, and the ACK message includes a second challenge value C 1 and a second response value R 1 ). ≪ / RTI >

본 발명은 디코딩부(115)를 더 포함할 수 있는데, 수신부가 인코딩된 두번째 챌린지값(C1)을 외부 서버로부터 수신한 경우 인코딩된 두번째 챌린지값(C1)을 디코딩하는 역할을 한다. 이때, 본 발명의 일 실시예에 따르면 디코딩하는 데 쓰이는 비밀키는 PUF모듈로부터 얻은 첫번째 응답값(R0)일 수 있다.The invention serves to decode the decoding unit may further include (115), when the second challenge value (C 1) the receiver is encoded received from the external server, the encoded second challenge value (C 1). In this case, according to an embodiment of the present invention, the secret key used for decoding may be the first response value (R 0 ) obtained from the PUF module.

PUF모듈(120)은, 챌린지값(C0)을 이용해 응답값(R0)을 생성하되, 수신부(110)가 두번째 챌린지값(C1)을 수신한 경우 두번째 응답값(R1)을 생성한다. The PUF module 120 generates a response value R 0 using the challenge value C 0 and generates a second response value R 1 when the receiver 110 receives the second challenge value C 1 do.

비밀번호 생성부(130)는, OTP비밀번호를 생성한다. OTP비밀번호를 생성하는데 이용하는 정보는 시간동기 정보, 및 응답값(R0)을 포함하나, 거래정보 및 비밀키를 더 포함할 수 있다. The password generating unit 130 generates an OTP password. Information used to generate the password OTP is one including a time alignment information, and a response value (R 0), may further include a transaction information and a secret key.

송신부(140)는, PUF모듈(120)이 두번째 응답값(R1)을 생성한 경우 두번째 응답값(R1)을 다음 번에 사용하기 위해 외부 서버(200)로 송신한다. 또한 송신부(140)는 비밀번호 생성부(130)가 생성한 OTP비밀번호를 사용자에게 전송할 수 있다. 이는 사용자 단말에 출력되는 형태로 보여질 수 있다. 또한 본 발명의 일 실시예에 따르면 송신부는 첫번째 응답값(R0) 또한 외부 서버(200)로 송신할 수 있다. 이는 이후에 외부 서버가 사용자가 입력한 OTP비밀번호와 외부 서버가 첫번째 응답값(R0)을 기초로 생성한 OTP비밀번호와 상호 일치하는 것인지 판단하거나, 외부 서버의 CRP테이블의 응답값과 비교하기 위함이다.The transmitter 140 transmits the second response value R 1 to the external server 200 for use next time when the PUF module 120 generates the second response value R 1 . Also, the transmitter 140 may transmit the OTP password generated by the password generator 130 to the user. This can be viewed as being output to the user terminal. According to an embodiment of the present invention, the transmitter may also transmit the first response value R 0 to the external server 200. This is to judge whether the external server matches the OTP password inputted by the user with the OTP password generated by the external server based on the first response value (R 0 ) or to compare with the response value of the CRP table of the external server to be.

본 발명은 인코딩부(150)를 더 포함할 수 있는데, 인코딩부(150)는 표준 암호 함수를 이용해 응답값R0 또는 두번째 응답값R1을 인코딩한다. 이때, 인코딩부(150)는 예를 들어 HMAC-SHA1, SEED 등과 같은 암호 알고리즘을 이용해 인코딩할 수 있고 응답값(R0)을 비밀키로 할 수 있다. 또한, 인코딩부(150)는 메시지의 에러를 체크하기 위해 해쉬 함수를 이용해 두번째 응답값(R1)을 변환할 수 있다. 해쉬 함수는 예를 들어 HMAC 기반의 해쉬 함수일 수 있고, 응답값(R0 )을 비밀키로 할 수 있다. 이때, 해쉬 함수로 변환하는 응답값은 두번째 응답값(R1 ) 또는 이하에서 설명할 인코딩부(150)에서 인코딩된 응답값을 포함한다. The invention may further include an encoding unit 150, an encoding unit 150 using a standard encryption function encodes the response value R 0 or the second response value R 1. At this time, the encoding unit 150 can encode using the encryption algorithm such as HMAC-SHA1, SEED, etc., and can use the response value R 0 as the secret key. In addition, the encoding unit 150 may convert the second response value R 1 using a hash function to check the error of the message. Hash function, for example, may be a function of the key may be a hash HMAC-based, password response values (R 0). At this time, the response value to be converted by the hash function comprises a response values encoded in the second response value (R 1) or encoding portion 150 to be described below.

도 3은 본 발명의 일 실시예에 따른 외부 사용자 인증 서버(200)를 도시한다. 외부 사용자 인증 서버(200)는, 은행이나 증권 회사에서 계좌이체 등의 전자금융 거래 시에 안전한 거래를 보장하기 위한 사용자 인증을 수행하는 서버로, 반드시 이에 한정되지는 아니하고 다른 수행 기관이나 기업에서 이용되는 서버일 수 있다. 따라서 이러한 외부 사용자 인증 서버를 이하 "사용자 인증 서버(200)"라 지칭하기로 한다. FIG. 3 illustrates an external user authentication server 200 according to an embodiment of the present invention. The external user authentication server 200 is a server that performs a user authentication to secure a secure transaction at the time of an electronic financial transaction such as a bank transfer at a bank or a securities company and is not necessarily limited to the server Lt; / RTI > Therefore, this external user authentication server is hereinafter referred to as "user authentication server 200 ".

사용자 인증 서버(200)는, 수신부(210), 송신부(220), 비밀번호 생성부(230), 및 인증부(235)를 포함하되, 인코딩부(240) 및 디코딩부(250)를 더 포함할 수 있다. The user authentication server 200 further includes an encoding unit 240 and a decoding unit 250 including a receiving unit 210, a transmitting unit 220, a password generating unit 230 and an authenticating unit 235 .

수신부(210)는 사용자로부터 OTP비밀번호를 입력 받는다. 사용자로부터 입력된 OTP비밀번호는, OTP발생기가 시간 동기 정보 및 응답값(R0)을 이용하여 생성한 OTP비밀번호를 사용자가 별도의 출력 수단 등을 통해 출력 받고, 별도의 입력 수단을 통해 서버(200)에 전송한 것일 수 있다.The receiving unit 210 receives the OTP password from the user. The OTP password inputted by the user is output by the user through the separate output means or the like and the OTP password generated by the OTP generator using the time synchronization information and the response value (R 0 ) ). ≪ / RTI >

다만, 본 발명의 일 실시예에 따르면 이후에 설명할 비밀번호 생성부(230)가 OTP비밀번호를 생성하는데 이용할 응답값(R0)을 OTP발생기(100)로부터 수신할 수 있다. 또한, 송신부(220)가 다음 번에 사용할 두번째 챌린지값(C1)을 송신한 경우 수신부(210)는 이에 대응하는 두번째 응답값(R1)을 다음 번에 사용하기 위해 OTP발생기(100)로부터 수신할 수 있다. However, according to an embodiment of the present invention, the password generator 230 to be described later may receive a response value (R 0 ) to be used for generating the OTP password from the OTP generator 100. When the transmitting unit 220 transmits the second challenge value C 1 to be used next, the receiving unit 210 receives the second response value R 1 corresponding to the second challenge value C 1 from the OTP generator 100 .

송신부(220)는, 사용자가 인증 요청한 경우, OTP발생기(100)에 챌린지값(C0)을 송신한다. 다만, 송신부(220)는 다음 번에 사용할 두번째 챌린지값(C1)을 또한 송신할 수 있다. The transmitting unit 220 transmits the challenge value C 0 to the OTP generator 100 when the user requests authentication. However, the transmitting unit 220 may also transmit a second challenge value C 1 to be used next time.

또한 송신부(220)는 사용자로부터 OTP비밀번호를 입력받은 경우, 이후에 설명할 인증부(235)의 결과에 따라 입력된 OTP비밀번호가 일치하는지에 대한 ACK메시지를 송신할 수 있고, ACK메시지는 다음 번에 사용될 두번째 챌린지값(C1)을 포함하나, 두번째 응답값(R1)을 더 포함할 수 있다.Also, when the OTP password is input from the user, the transmitter 220 can transmit an ACK message indicating that the inputted OTP password matches according to a result of the authentication unit 235 to be described later, the second one includes the challenge value (C 1) to be used for, in response to the second value (R 1) may further include.

비밀번호 생성부(230)는 시간 동기 정보 및 상기 챌린지값(C0)에 대응한 응답값(R0)을 이용하여 OTP비밀번호를 생성하고 이를 인증부(235)로 전송한다. OTP비밀번호를 생성하는 데 이용하는 정보는 시간동기 정보, 및 응답값(R0)을 포함하나 비밀키, 및 거래정보를 더 포함할 수 있다. 이때, 비밀번호 생성부(230)가 이용하는 응답값(R0)은 OTP발생기로부터 수신한 것일 수 있으나, 사용자 인증 서버에 기저장된 것일 수 있다.The password generator 230 generates an OTP password using the time synchronization information and the response value R 0 corresponding to the challenge value C 0 and transmits the OTP password to the authentication unit 235. Information used to generate the password OTP may further include one including a time alignment information, and a response value (R 0) private key, and transaction information. At this time, the response value R 0 used by the password generating unit 230 may be received from the OTP generator, but may be stored in the user authentication server.

인증부(235)는 사용자가 입력한 OTP비밀번호와 비밀번호 생성부(230)가 생성한 OTP비밀번호가 상호 일치하는지 판단한다.The authentication unit 235 determines whether the OTP password input by the user and the OTP password generated by the password generation unit 230 coincide with each other.

본 발명의 일 실시예에 따르면 사용자 인증 서버(200)는 인코딩부(240)를 더 포함할 수 있는데, 인코딩부(240)는 표준 암호 함수를 이용해 두번째 챌린지값(C1)을 인코딩할 수 있다. 이때, 송신부(220)는, 인코딩된 챌린지값을 사용자 인증 서버(200)로 송신할 수 있다. 본 발명의 일 실시예에 따르면 인코딩 하는데 이용되는 비밀키는 서버(200)에 기저장되었거나 OTP발생기(100)로부터 수신한 첫번째 응답값(R0)일 수 있다.In accordance with one embodiment of the present invention, the user authentication server 200 may further include an encoding unit 240, an encoding unit 240 may encode the second challenge value (C 1) using a standard encryption function . At this time, the transmitting unit 220 may transmit the encoded challenge value to the user authentication server 200. [ According to an embodiment of the present invention, the secret key used for encoding may be the first response value (R 0 ) stored in the server 200 or received from the OTP generator 100.

또한, 인코딩부(240)는 메시지의 에러를 체크하기 위해 해쉬 함수를 이용해 챌린지값(C0)을 변환할 수 있다. 해쉬 함수는 예를 들어 HMAC 기반의 해쉬 함수일 수 있고, 응답값(R0)을 비밀키로 할 수 있다. 다만, 인코딩부(240)가 해쉬 함수로 변환하는 챌린지값은 두번째 챌린지값(C1) 또는 인코딩부(240)에서 인코딩된 두번째 챌린지값(C1)을 포함한다. In addition, the encoding unit 240 may convert the challenge value (C 0 ) using a hash function to check the error of the message. The hash function may be a HMAC-based hash function, for example, and the response value R 0 may be a secret key. The challenge value converted by the encoding unit 240 into the hash function includes a second challenge value C 1 or a second challenge value C 1 encoded in the encoding unit 240.

또한, 본 발명은 디코딩부(250)를 더 포함할 수 있는데, 디코딩되는 값은 OTP발생기(100)로부터 수신한 인코딩된 첫번째 응답값(R0), 또는 두번째 응답값(R1)이다. 본 발명의 일 실시예에 따르면 디코딩하는 데 필요한 비밀키는 서버(200)에 기저장되었거나 OTP발생기(100)로부터 수신한 첫번째 응답값(R0)일 수 있다. 디코딩된 두번째 응답값(R1)은 다음 번 인코딩 또는 디코딩시 비밀키로 쓰인다.The present invention may further include a decoding unit 250. The decoded value is an encoded first response value R 0 or a second response value R 1 received from the OTP generator 100. According to an embodiment of the present invention, the secret key necessary for decoding may be the first response value (R 0 ) stored in the server 200 or received from the OTP generator 100. The decoded second response value R 1 is used as a secret key in the next encoding or decoding.

도 4는 OTP발생기와 사용자 인증 서버 간의 프로토콜에 대하여 도시한다. 이하 전체적 시스템의 흐름에 따라 설명하기로 한다. 4 illustrates a protocol between an OTP generator and a user authentication server. Hereinafter, it will be described according to the flow of the overall system.

먼저, 사용자가 거래정보를 사용자 단말에 입력한다(S610). First, the user inputs transaction information to the user terminal (S610).

이어서, 사용자 단말에 거래정보가 입력되면 사용자 단말이 인증 요청 메시지(Hello)를 사용자의 OTP 발생기와 사용자 인증 서버에 전송한다(S620). When transaction information is input to the user terminal, the user terminal transmits an authentication request message (Hello) to the user's OTP generator and the user authentication server (S620).

이어서, 사용자 인증 서버는 챌린지값(C0)을 OTP발생기로 전송하되, 다음 번에 사용할 두번째 챌린지값(C1)도 해당 사용자의 OTP 발생기로 전송할 수 있다(S630). Then, the user authentication server may also send to the OTP generator of the user second challenge value (C 1) to be used for, but the next time sending a challenge value (C 0) to the OTP generator (S630).

이때, 사용자 인증 서버는 두번째 챌린지값(C1)을 표준 암호 함수를 이용해 인코딩할 수 있고, 인코딩된 챌린지값을 외부 서버로 송신할 수 있다. 암호 함수는 예를 들어 HMAC-SHA1, SEED 등과 같은 암호 알고리즘을 포함한다. 이때, 비밀키는 첫번째 챌린지값(C0)에 대응하는 첫번째 응답값(R0)일 수 있다.At this time, the user authentication server can encode the second challenge value (C 1 ) using the standard cryptographic function, and can transmit the encoded challenge value to the external server. The cryptographic functions include, for example, cryptographic algorithms such as HMAC-SHA1, SEED, and the like. At this time, the secret key may be the first response value (R 0 ) corresponding to the first challenge value (C 0 ).

또한, 사용자 인증 서버는 메시지의 에러를 체크하기 위해 해쉬 함수를 챌린지값(C0)에 적용하고 그 적용 결과값을 사용자 인증 서버로 송신할 수 있다.In addition, the user authentication server may apply the hash function to the challenge value (C 0 ) to check the error of the message, and may transmit the application result value to the user authentication server.

다만, 해쉬 함수로 변환된 챌린지값은 두번째 챌린지값(C1) 또는 인코딩된 두번째 챌린지값(C1)을 포함한다. 이때, 비밀키는 첫번째 챌린지값(C0)에 대응하는 첫번째 응답값(R0)일 수 있다.However, the challenge value converted into the hash function includes the second challenge value (C 1 ) or the encoded second challenge value (C 1 ). At this time, the secret key may be the first response value (R 0 ) corresponding to the first challenge value (C 0 ).

이어서 PUF모듈이 챌린지값(C0)에 대응한 응답값(R0)을 생성하되, 수신부가 두번째 챌린지값(C1)을 수신한 경우 두번째 응답값(R1)을 생성한다(s640)Then, the PUF module generates a response value (R 0 ) corresponding to the challenge value (C 0 ), and generates a second response value (R 1 ) when the receiving section receives the second challenge value (C 1 )

이어서, 사용자 인증 서버는 서버에 의해 인코딩된 두번째 챌린지값(C1)을 사용자 인증 서버로부터 수신한 경우 인코딩된 두번째 챌린지값(C1)을 본래의 두번째 챌린지값(C1)으로 디코딩한다(S650). 이때, 본 발명의 일 실시예에 따르면 디코딩하는 데 이용되는 비밀키는 PUF모듈로부터 얻은 첫번째 응답값(R0)일 수 있다. 물리적 복제가 불가능한 PUF모듈의 특성상, OTP발생기와 사용자 인증서버 만이 비밀키를 공유할 수 있기 때문에 이와 같이 첫번째 응답값(R0)을 비밀키로 이용하는 것이다.Then, the user authentication server decoding in a second challenge value (C 1) for user authentication when receiving from the server an encoded second challenge value (C 1) of the original second challenge value (C 1) encoded by the server (S650 ). In this case, according to an embodiment of the present invention, the secret key used for decoding may be the first response value (R 0 ) obtained from the PUF module. Because of the nature of the PUF module, which can not be physically replicated, only the OTP generator and the user authentication server can share the secret key, so the first response value (R 0 ) is used as the secret key.

이어서, OTP발생기는 두번째 챌린지값(C1)으로부터 두번째 응답값(R1)이 생성된 경우 두번째 응답값(R1)을 사용자 인증 서버로 전송한다(S660). 사용자 인증 서버에 있는 응답값을 갱신하여 과도한 CRP테이블의 축적 없이도 OTP비밀번호 일치 여부를 판단할 수 있게 하기 위함이다. 본 발명의 일 실시예에 따르면, OTP 발생기는 첫번째 응답값(R0)을 사용자 인증 서버로 전송할 수 있는데, 이는 사용자 인증 서버가 첫번째 응답값(R0)을 이용하여 자체적으로 생성한 OTP비밀번호와 사용자로부터 입력된 OTP비밀번호가 상호 일치하는 지 판단하기 위함이다.Then, OTP generator sends a second challenge response value from the second value (C 1) when the (R 1) to create a second response value (R 1) to the user authentication server (S660). The response value in the user authentication server is updated so that it is possible to determine whether or not the OTP password is matched without accumulating an excessive CRP table. According to an embodiment of the present invention, the OTP generator may transmit the first response value (R 0 ) to the user authentication server. This is because the OTP password generated by the user authentication server using the first response value (R 0 ) It is to judge whether the OTP password inputted from the user coincide with each other.

또한, OTP발생기는 본 발명의 일 실시예에 따르면 메시지의 에러를 체크하기 위해 해쉬 함수를 이용해 응답값(R0)을 변환하고 그 변환 결과값을 사용자 인증 서버로 전송할 수 있다. 해쉬 함수는 예를 들어 HMAC 기반의 해쉬 함수일 수 있고, 응답값(R0)을 비밀키로 할 수 있다. 이때, OTP 발생기는 챌린지값(C0)을 서버로부터 받을 때 마다 PUF를 이용해 대응하는 응답값(R0)을 생성하면 되기 때문에 공격자는 비밀키인 응답값(R0)을 획득할 수 없다. Also, according to an embodiment of the present invention, the OTP generator may convert the response value (R 0 ) using a hash function to check the error of the message, and transmit the result of the conversion to the user authentication server. The hash function may be a HMAC-based hash function, for example, and the response value R 0 may be a secret key. At this time, since the OTP generator generates the corresponding response value (R 0 ) using the PUF each time the challenge value (C 0 ) is received from the server, the attacker can not obtain the response value (R 0 ) which is the secret key.

다만, 해쉬 함수로 변환하는 응답값은 두번째 응답값(R1) 또는 이하에 설명할 인코딩된 응답값을 포함한다. However, the response value to be converted into the hash function includes the second response value R 1 or an encoded response value to be described below.

본 발명의 일 실시예에 따르면 OTP발생기는 표준 암호 함수를 이용해 응답값(R0) 또는 두번째 응답값(R1)을 인코딩하여 사용자 인증 서버로 전송할 수 있다. 그리고 인코딩된 응답값을 직접 사용자 인증 서버로 전송하거나, 해쉬 함수로 변환하여 사용자 인증 서버로 전송할 수 있다. According to an embodiment of the present invention, the OTP generator may encode a response value (R 0 ) or a second response value (R 1) using a standard cryptographic function and transmit the encoded response value to the user authentication server. The encoded response value can be directly transmitted to the user authentication server or converted to a hash function and transmitted to the user authentication server.

이어서, OTP발생기는 OTP비밀번호를 생성하고(S670) 이를 사용자에게 전송한다. 이때, OTP비밀번호를 생성하는 데 이용되는 정보는 시간동기 정보, 및 응답값(R0)을 포함하나 비밀키, 및 거래정보를 더 포함할 수 있다. 또한 OTP비밀번호는 별도의 출력 수단을 통해 사용자에게 전송된 것일 수 있다.Then, the OTP generator generates an OTP password (S670) and transmits it to the user. At this time, information used to generate the password OTP may further include one including a time alignment information, and a response value (R 0) private key, and transaction information. Also, the OTP password may be transmitted to the user through a separate output means.

이어서, 사용자가 입력 수단을 이용해 OTP비밀번호를 사용자 단말에 입력하면, 사용자 인증 서버는 OTP비밀번호를 수신하여(S680) 사용자 인증 서버가 생성한 OTP비밀번호와 일치하는지 확인한 후(S690) 일치하면 해당 CRP를 다음 번 챌린지값(C1), 및 응답값(R1)으로 갱신하며, 그렇지 않은 경우에는 OTP 인증이 실패하였으므로 갱신하지 않는다. 갱신된 응답값(R1)은 OTP발생기로부터 수신한 것이거나, 사용자 인증 서버가 자체 PUF회로에 의해 생성한 것일 수 있다.Then, if the user inputs the OTP password to the user terminal using the input means, the user authentication server receives the OTP password (S680) and checks whether the OTP password matches the OTP password generated by the user authentication server (S690) The next challenge value (C 1 ) , and the response value (R 1 ). Otherwise, the OTP authentication fails and is not updated. The updated response value R 1 may be received from the OTP generator or may be generated by the user authentication server by its own PUF circuit.

이어서, 본 발명의 일 실시예에 따르면 사용자 인증 서버는 인증 완료에 대한 ACK 메시지로 다음 번 C1을 OTP 발생기로 전송한다(S700). 이때, R1을 더 포함하여 전송할 수 있다. 이로써, 서버는 OTP발생기가 지속적으로 랜덤한 OTP를 발생시킬 수 있게 한다. Then, according to an embodiment of the present invention, the user authentication server transmits the next C 1 to the OTP generator in response to the authentication completion ACK message (S700). At this time, it is possible to further transmit R 1 . This allows the OTP generator to continuously generate a random OTP.

이와 같이 본 발명인 OTP발생기, 사용자 인증 서버 또는 비밀번호 생성 방법을 이용한 경우, 원하는 정보를 PUF의 응답값을 비밀키로 이용하여 인코딩하여 보호하므로 공격자들은 어떤 정보도 복원할 수 없다. 따라서 본 발명은 도청 공격으로부터 안전하다. As described above, when using the OTP generator, the user authentication server or the password generation method of the present invention, the attacker can not recover any information because the desired information is encoded and protected using the response value of the PUF as the secret key. Therefore, the present invention is safe from eavesdropping attacks.

또한 본 발명은 CRP의 정보를 갱신하기 전에 OTP 비밀번호 일치 여부를 검증하고 있으며, 검증이 완료되면 해당 CRP를 갱신하며, 그렇지 않은 경우에는 OTP 인증이 실패하였으므로 갱신하지 않는다. 따라서 본 발명은 메시지 블락 공격으로부터 안전하다. Also, the present invention verifies whether the OTP password is matched before updating the CRP information. If the verification is completed, the corresponding CRP is updated. Otherwise, the OTP authentication is not performed because the OTP authentication fails. Therefore, the present invention is safe from a message block attack.

또한 본 발명인 OTP발생기, 사용자 인증 서버 또는 비밀번호 생성 방법을 이용한 경우, 기본적으로 OTP 비밀번호가 일회용 비밀번호이므로 Replay 공격이 무력화 시킬 수 있다. OTP 발생기와 금융회사 서버 간에 주고받는 CRP 정보는 매번 업데이트되기 때문에 Replay 공격이 무의미하게 되기 때문이다. 즉, CRP 정보는 한 번만 사용되고 다음에는 사용되지 않는다. 그러므로 본 발명은 Replay 공격으로부터 안전하다. Also, when the OTP generator, the user authentication server or the password generation method of the present invention is used, the Replay attack can be disabled because the OTP password is basically a one-time password. The CRP information exchanged between the OTP generator and the financial company server is updated every time, so the Replay attack becomes meaningless. That is, the CRP information is used only once and is not used next time. Therefore, the present invention is safe from Replay attack.

또한, 본 발명이 인증을 위해 주고받는 CRP는 OTP 발생기와 금융 회사 서버만 공유하고 있는 정보로써 인코딩되어 보호되고 있다. 이때 CRP 또는 OTP 비밀번호가 일치하지 않을 경우 인증 실패로 이어지는데, 본 발명은 체크섬으로 HMAC 기반의 해쉬값을 추가하여 인증 메시지들의 무결성을 검증하기 때문에 본 발명은 Spoofing 공격으로부터 안전하다. Also, the CRP that the present invention sends and receives for authentication is encoded and protected as information shared only by the OTP generator and the financial company server. If the CRP or OTP secrets do not match, the authentication fails. Since the present invention verifies the integrity of authentication messages by adding an HMAC-based hash value to the checksum, the present invention is safe from spoofing attacks.

또한 본 발명은 PUF의 특징으로 인해 응답값을 메모리에 저장할 필요가 없다. OTP 발생기는 챌린지값을 서버로부터 받을 때 마다 PUF를 이용해 대응하는 응답값을 생성하면 되기 때문에 공격자는 비밀키인 응답값을 획득할 수 없다. Further, the present invention is not required to store the response value in the memory due to the characteristics of the PUF. Since the OTP generator generates the corresponding response value using the PUF whenever the challenge value is received from the server, the attacker can not obtain the response value which is the secret key.

또한 본 발명인 OTP 발생기는 기존의 OTP 발생기에 PUF를 추가하고 있으며, PUF의 특성상 물리적으로 OTP 발생기를 복제하는 것이 불가능하다. 그러므로 복제 공격은 불가능하다. Also, the OTP generator of the present invention adds a PUF to an existing OTP generator, and it is impossible to physically replicate the OTP generator due to the characteristics of the PUF. Therefore, replication attacks are impossible.

결론적으로 본 발명은 종래의 OTP기반 금융 거래 시스템보다 보안을 더 향상시키며, 또한 더 강력한 인증 방법을 제공한다. In conclusion, the present invention provides a more secure and more robust authentication method than the conventional OTP based financial transaction system.

참고로, 본 발명의 실시예에 따른 도 1에 도시된 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 구성 요소를 의미하며, 소정의 역할들을 수행한다. 1 refers to a hardware component such as software or an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit), and performs predetermined roles .

그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. However, 'components' are not meant to be limited to software or hardware, and each component may be configured to reside on an addressable storage medium and configured to play one or more processors.

따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. Thus, by way of example, an element may comprise components and processes such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, Microcode, circuitry, data, databases, data structures, tables, arrays, and variables, as will be appreciated by those skilled in the art.

구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다. The components and functions provided within those components may be combined into a smaller number of components or further separated into additional components.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

상술한 본 발명에 따른 OTP 기반 인증 기기 및 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다. The OTP-based authentication device and method according to the present invention can be implemented as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording media storing data that can be decoded by a computer system. For example, there may be a ROM (Read Only Memory), a RAM (Random Access Memory), a magnetic tape, a magnetic disk, a flash memory, an optical data storage device and the like. In addition, the computer-readable recording medium may be distributed and executed in a computer system connected to a computer network, and may be stored and executed as a code readable in a distributed manner.

본 발명은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다. While the present invention has been described with reference to particular embodiments, some or all of those elements or acts may be implemented using a computer system having a general purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

100: OTP발생기
110: 수신부
115: 디코딩부
120: PUF모듈
130: OTP비밀번호 생성부
140: 송신부
150: 인코딩부
100: OTP generator
110:
115: decoding unit
120: PUF module
130: OTP password generation unit
140:
150: encoding section

Claims (14)

OTP(One Time Password)발생기에 있어서,
외부 서버로부터 챌린지값(C0)을 수신하는 수신부;
상기 챌린지값(C0)에 대응하는 응답값(R0)을 생성하는 PUF(Physically Unclonable Fuction)모듈; 및
시간 동기 정보 및 상기 응답값(R0)을 이용하여 OTP비밀번호를 생성하는 비밀번호 생성부를 포함하되,
상기 수신부는, 첫번째 챌린지값(C0)의 수신시에 상기 응답값(R0)을 이용하여 인코딩된 두번째 챌린지값(C1)을 함께 상기 외부 서버로부터 수신하는 OTP발생기.
An OTP (One Time Password) generator,
A receiving unit for receiving a challenge value (C 0 ) from an external server;
A Physically Unclonable Fuction (PUF) module for generating a response value (R 0 ) corresponding to the challenge value (C 0 ); And
Time synchronization information, and the response value (R 0 )
The receiver, the first challenge value (C 0) OTP generator for receiving a second challenge value (C 1) are encoded by the use of the response value (R 0) at the time of receiving from the external server with the.
제 1 항에 있어서,
상기 OTP발생기는,
상기 응답값(R0)을 이용하여 인코딩된 두번째 챌린지값(C1)을 디코딩하는 디코딩부를 더 포함하는 OTP발생기.
The method according to claim 1,
The OTP generator includes:
And a decoding unit for decoding a second challenge value (C 1 ) encoded using the response value (R 0 ).
제 2 항에 있어서,
상기 PUF모듈은,
상기 두번째 챌린지값(C1)에 대응한 두번째 응답값(R1)을 함께 생성하고,
상기 OTP발생기는,
상기 두번째 응답값(R1)을 상기 외부 서버로 송신하는 송신부를 더 포함하는 OTP발생기.
3. The method of claim 2,
The PUF module includes:
Generates a second response value (R 1 ) corresponding to the second challenge value (C 1 )
The OTP generator includes:
And a transmitter for transmitting the second response value (R 1 ) to the external server.
청구항 4은(는) 설정등록료 납부시 포기되었습니다.Claim 4 has been abandoned due to the setting registration fee. 제 3 항에 있어서,
상기 첫번째 응답값(R0) 또는 상기 두번째 응답값(R1)을 상기 첫번째 응답값(R0)을 이용하여 인코딩하는 인코딩부를 더 포함하고,
상기 송신부는,
인코딩된 상기 첫번째(R0) 또는 두번째 응답값(R1)을 상기 외부 서버로 송신하는 OTP발생기.
The method of claim 3,
And an encoding unit encoding the first response value (R 0 ) or the second response value (R 1 ) using the first response value (R 0 )
The transmitter may further comprise:
And transmits the encoded first (R 0 ) or second encoded response value (R 1 ) to the external server.
청구항 5은(는) 설정등록료 납부시 포기되었습니다.Claim 5 has been abandoned due to the setting registration fee. 제 4 항에 있어서,
상기 인코딩부는, 
메시지의 에러를 체크하기 위해 상기 첫번째 응답값(R0)을 비밀키로 한 해쉬 함수를 이용해 상기 첫번째 응답값(R0), 상기 두번째 응답값(R1), 인코딩된 첫번째 응답값(R0) 또는 인코딩된 두번째 응답값(R1)을 변환하는 OTP발생기.
5. The method of claim 4,
The encoding unit may include:
The first response value R 0 , the second response value R 1 , the encoded first response value R 0 using a hash function with the first response value R 0 as a secret key, Or an encoded second response value (R 1 ).
제 1 항에 있어서,
상기 수신부는,
상기 외부 서버가 사용자로부터 수신한 비밀번호가 일치하는지에 대한 ACK메시지를 수신하되,
ACK메시지는 다음 번에 사용될 두번째 챌린지값(C1) 및 두번째 응답값(R1)을 포함하는 OTP발생기.
The method according to claim 1,
The receiver may further comprise:
Wherein the external server receives an ACK message indicating that the password received from the user is identical,
The ACK message includes a second challenge value (C 1 ) and a second response value (R 1 ) to be used next.
금융 거래 시스템에서 사용자를 인증하는 서버에 있어서,
PUF모듈을 포함하는 OTP 발생기에 챌린지값(C0)을 송신하는 송신부;
시간 동기 정보 및 상기 챌린지값(C0)에 대응한 응답값(R0)을 이용하여 OTP비밀번호를 생성하는 비밀번호 생성부; 및
사용자가 입력한 OTP비밀번호와 상기 비밀번호 생성부가 생성한 OTP비밀번호가 일치하는지 판단하는 인증부를 포함하되
상기 응답값(R0)은 상기 서버에 기저장되었던 것이고,
상기 사용자가 입력한 OTP비밀번호는,
상기 OTP발생기가 시간 동기 정보 및 상기 응답값(R0)을 이용하여 생성한 OTP비밀번호를 상기 사용자가 입력한 것인 사용자 인증 서버.
A server for authenticating a user in a financial transaction system,
A transmitter for transmitting a challenge value (C 0 ) to an OTP generator including a PUF module;
A password generating unit for generating an OTP password using time synchronization information and a response value (R 0 ) corresponding to the challenge value (C 0 ); And
And an authentication unit for determining whether the OTP password inputted by the user matches the OTP password generated by the password generating unit
The response value (R 0 ) has been stored in the server,
The OTP password input by the user,
Wherein the OTP password generated by the OTP generator using time synchronization information and the response value (R 0 ) is input by the user.
제 7 항에 있어서,
첫번째 응답값(R0)을 이용하여 다음 번에 사용할 두번째 챌린지값(C1)을 인코딩하는 인코딩부를 더 포함하고,
상기 송신부는,
첫번째 챌린지값(C0) 및 상기 인코딩된 두번째 챌린지값(C1)을 송신하는 사용자 인증 서버.
8. The method of claim 7,
Further comprising an encoding unit for encoding a second challenge value (C 1 ) to be used next using the first response value (R 0 )
The transmitter may further comprise:
And transmits the first challenge value (C 0 ) and the encoded second challenge value (C 1 ).
제 8 항에 있어서,
상기 OTP발생기로부터 상기 첫번째 챌린지값(C0)에 대응하는 첫번째 응답값(R0), 상기 두번째 챌린지값(C1)에 대응하는 두번째 응답값(R1), 상기 첫번째 응답값(R0)을 이용하여 인코딩된 첫번째 응답값(R0) 또는 두번째 응답값(R1)을 수신하는 수신부를 더 포함하는 사용자 인증 서버.
9. The method of claim 8,
The second response value (R 1), the first response value corresponding to from the OTP generator to the first challenge value (C 0) the first response value corresponding to the (R 0), the second challenge value (C 1) (R 0) Further comprising a receiver for receiving a first response value (R 0 ) or a second response value (R 1 ) encoded using the first response value (R 0 ).
청구항 10은(는) 설정등록료 납부시 포기되었습니다.Claim 10 has been abandoned due to the setting registration fee. 제 9 항에 있어서,
상기 인코딩된 첫번째 응답값(R0) 또는 두번째 응답값(R1)을 첫번째 응답값(R0)을 이용하여 디코딩하는 디코딩부를 더 포함하는 사용자 인증 서버.
10. The method of claim 9,
And a decoder for decoding the encoded first response value (R 0 ) or the second response value (R 1 ) using a first response value (R 0 ).
제 7 항에 있어서,
상기 송신부는,
사용자가 입력한 OTP비밀번호와 상기 비밀번호 생성부가 생성한 OTP비밀번호가 일치하는지에 대한 ACK메시지를 송신하고,
ACK메시지는 다음 번에 사용될 두번째 챌린지값(C1) 및 두번째 응답값(R1)을 포함하는 사용자 인증 서버.
8. The method of claim 7,
The transmitter may further comprise:
Transmits an ACK message indicating whether or not the OTP password input by the user matches the OTP password generated by the password generator,
The ACK message includes a second challenge value (C 1 ) and a second response value (R 1 ) to be used next.
제 8 항 또는 제 9 항에 있어서,
상기 인코딩부는,
메시지의 에러를 체크하기 위해 상기 응답값(R0)을 비밀키로 한 해쉬 함수를 이용해 상기 첫번째 응답값(R0), 상기 두번째 응답값(R1), 인코딩된 첫번째 응답값(R0) 또는 인코딩된 두번째 응답값(R1)을 변환하는 사용자 인증 서버.
10. The method according to claim 8 or 9,
The encoding unit may include:
The first response value R 0 , the second response value R 1 , the encoded first response value R 0 , or the first response value R 0 using a hash function with the response value R 0 as a secret key, A user authentication server that transforms an encoded second response value (R 1 ).
OTP발생기가 비밀번호를 생성하는 방법에 있어서,
외부 서버로부터 챌린지값(C0)을 수신하는 단계;
PUF모듈을 이용하여 상기 챌린지값(C0)에 대응한 응답값(R0)을 생성하는 단계;
시간 동기 정보 및 상기 응답값(R0)을 이용하여 비밀번호를 생성하는 단계를 포함하되,
상기 챌린지값(C0)을 수신하는 단계는,
첫번째 챌린지값(C0)의 수신시에 상기 응답값(R0)을 이용하여 상기 외부 서버로부터 인코딩된 두번째 챌린지값(C1)을 함께 수신하는 비밀번호 생성 방법.
In a method for an OTP generator to generate a password,
Receiving a challenge value (C 0 ) from an external server;
Generating a response value (R 0 ) corresponding to the challenge value (C 0 ) using the PUF module;
And generating a password using the time synchronization information and the response value (R 0 )
The step of receiving the challenge value (C 0 )
And receiving a second challenge value (C 1 ) encoded from the external server together with the response value (R 0 ) upon receiving the first challenge value (C 0 ).
제 13 항에 있어서,
상기 수신하는 단계는
상기 인코딩된 두번째 챌린지값(C1)을 디코딩하는 단계를 포함하되, 상기 첫번째 챌린지값(C0)에 대응하는 첫번째 응답값(R0)을 이용하여 디코딩하고,
상기 생성하는 단계는
PUF모듈을 이용해 상기 첫번째 챌린지값(C0)에 대응한 첫번째 응답값(R0)을 생성하고, 상기 두번째 챌린지값(C1)에 대응한 두번째 응답값(R1)을 생성하는 단계를 포함하고,
상기 비밀번호 생성 방법은,
상기 두번째 응답값(R1)을 인코딩하여 상기 외부 서버로 송신하는 단계를 더 포함하되, 상기 첫번째 챌린지값(C0)에 대응하는 첫번째 응답값(R0)을 이용하여 인코딩하는 비밀번호 생성 방법.
14. The method of claim 13,
The receiving step
And decoding the encoded second challenge value (C 1 ) using a first response value (R 0 ) corresponding to the first challenge value (C 0 )
The generating step
Generating a first response value (R 0 ) corresponding to the first challenge value (C 0 ) using the PUF module and generating a second response value (R 1 ) corresponding to the second challenge value (C 1 ) and,
The password generation method includes:
Encoding the second response value (R 1 ) and transmitting the second response value (R 1 ) to the external server, wherein the first response value (R 0 ) corresponding to the first challenge value (C 0 ) is encoded using the first response value (R 0 ).
KR1020130064743A 2013-06-05 2013-06-05 Device and method creating one time password using physically unclonable function KR101525888B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130064743A KR101525888B1 (en) 2013-06-05 2013-06-05 Device and method creating one time password using physically unclonable function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130064743A KR101525888B1 (en) 2013-06-05 2013-06-05 Device and method creating one time password using physically unclonable function

Publications (2)

Publication Number Publication Date
KR20140142951A KR20140142951A (en) 2014-12-15
KR101525888B1 true KR101525888B1 (en) 2015-06-10

Family

ID=52460243

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130064743A KR101525888B1 (en) 2013-06-05 2013-06-05 Device and method creating one time password using physically unclonable function

Country Status (1)

Country Link
KR (1) KR101525888B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102364649B1 (en) * 2019-02-26 2022-02-21 한국전자통신연구원 APPARATUS AND METHOD FOR AUTHENTICATING IoT DEVICE BASED ON PUF
KR102384664B1 (en) * 2019-06-28 2022-04-11 한국전자통신연구원 User device, physical unclonable function based authentication server and operating method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120311320A1 (en) * 2011-06-02 2012-12-06 Brown Kerry D Mobile Transaction Methods and Devices With Three-Dimensional Colorgram Tokens

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120311320A1 (en) * 2011-06-02 2012-12-06 Brown Kerry D Mobile Transaction Methods and Devices With Three-Dimensional Colorgram Tokens

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Secure Login Using Encrypted One Time Password (Otp) and Mobile Based Login Methodology(International Journal Of Engineering And Science, Vol.2, Issue 10 (April 2013), Pages 14-17 *
Secure Login Using Encrypted One Time Password (Otp) and Mobile Based Login Methodology(International Journal Of Engineering And Science, Vol.2, Issue 10 (April 2013), Pages 14-17*

Also Published As

Publication number Publication date
KR20140142951A (en) 2014-12-15

Similar Documents

Publication Publication Date Title
CN110914851B (en) Improving integrity of communications between a blockchain network and external data sources
US10601805B2 (en) Securitization of temporal digital communications with authentication and validation of user and access devices
JP7152424B6 (en) Computer-implemented system and method for providing a decentralized protocol for recovery of crypto-assets
CN108737442B (en) A kind of cryptographic check processing method
CN105162596B (en) For generating the safety value used in being interacted with server and the equipment for sending user to
KR102177848B1 (en) Method and system for verifying an access request
WO2020258837A1 (en) Unlocking method, device for realizing unlocking, and computer readable medium
CN110990827A (en) Identity information verification method, server and storage medium
US10263782B2 (en) Soft-token authentication system
CN108418691A (en) Dynamic network identity identifying method based on SGX
KR20140126787A (en) Puf-based hardware device for providing one time password, and method for 2-factor authenticating using thereof
CN103281194B (en) A kind of safety and lightweight RFID ownership transfer method based on Bilinear map
CN105072110A (en) Two-factor remote identity authentication method based on smart card
CN106027475B (en) The transmission method and system of a kind of key acquisition method, ID card information
CN104125064B (en) A kind of dynamic cipher authentication method, client and Verification System
KR101202245B1 (en) System and Method For Transferring Money Using OTP Generated From Account Number
US20190007218A1 (en) Second dynamic authentication of an electronic signature using a secure hardware module
CN110519222A (en) Outer net access identity authentication method and system based on disposable asymmetric key pair and key card
Resende et al. PUF-based mutual multifactor entity and transaction authentication for secure banking
KR101525888B1 (en) Device and method creating one time password using physically unclonable function
CN113722749A (en) Data processing method and device for block chain BAAS service based on encryption algorithm
CN113630255B (en) Lightweight bidirectional authentication method and system based on SRAM PUF
EP3185504A1 (en) Security management system for securing a communication between a remote server and an electronic device
Lee et al. Design of a simple user authentication scheme using QR-code for mobile device
KR101947408B1 (en) Puf-based hardware device for providing one time password, and method for 2-factor authenticating using thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180409

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 5