KR20210045634A - Method and System for OTP authentication based on Bio-Information - Google Patents

Method and System for OTP authentication based on Bio-Information Download PDF

Info

Publication number
KR20210045634A
KR20210045634A KR1020190128910A KR20190128910A KR20210045634A KR 20210045634 A KR20210045634 A KR 20210045634A KR 1020190128910 A KR1020190128910 A KR 1020190128910A KR 20190128910 A KR20190128910 A KR 20190128910A KR 20210045634 A KR20210045634 A KR 20210045634A
Authority
KR
South Korea
Prior art keywords
user
otp
information
authentication
terminal
Prior art date
Application number
KR1020190128910A
Other languages
Korean (ko)
Other versions
KR102448333B1 (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 KR1020190128910A priority Critical patent/KR102448333B1/en
Publication of KR20210045634A publication Critical patent/KR20210045634A/en
Application granted granted Critical
Publication of KR102448333B1 publication Critical patent/KR102448333B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Collating Specific Patterns (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

The present invention relates to a biometric information-based OTP authentication method and system and, more specifically, to a biometric information-based OTP authentication method and system performing user authentication by applying FIDO authentication according to the FIDO standard performing user authentication based on biometric information and performing OTP authentication through OTP information created by using common information of a user as a seed. The biometric information-based OPT authentication method comprises: a user registration step; a user authentication step; and an OTP authentication step.

Description

생체정보 기반 OTP 인증 방법 및 시스템 {Method and System for OTP authentication based on Bio-Information}Bio-information based OTP authentication method and system {Method and System for OTP authentication based on Bio-Information}

본 발명은 생체정보 기반 OTP 인증 방법 및 시스템에 관한 것으로서, 더욱 상세하게는, 생체정보를 기반으로 사용자의 인증을 수행하는 FIDO규격에 따른 FIDO인증을 적용하여 사용자 인증을 수행하고, 사용자의 공통된 정보를 시드로 사용하여 생성한 OTP정보를 통해 OTP인증을 수행할 수 있는, 생체정보 기반 OTP 인증 방법 및 시스템에 관한 것이다.The present invention relates to a biometric information-based OTP authentication method and system, and more particularly, to perform user authentication by applying FIDO authentication according to the FIDO standard for performing user authentication based on biometric information, and to perform user authentication. It relates to a biometric information-based OTP authentication method and system capable of performing OTP authentication through OTP information generated by using as a seed.

일반적으로, 파이도(FIDO, Fast Identity Online)는 아이디와 비밀번호 대신 지문 인식, 홍채 인식 또는, 얼굴 인식 등과 같은 생체정보를 통해 대체가 불가능 하면서도 간단한 절차를 통해 인증을 처리할 수 있도록 해주는 새로운 인증 시스템의 표준 규격이다. FIDO 인증은 기본적으로 아이디(ID)와 패스워드를 사용하는 시스템의 취약성을 해결하기 위해 사용되는 인증 체계로서, 사용자가 등록하고 기억해야 하는 패스워드가 아닌 사용자 본인이 지니고 있는 것, 예를 들어, 지문, 홍채, 얼굴 등과 같은 생체정보 혹은 바이오정보를 패스워드로 하여 더욱 보안성을 높이고 있다.In general, FIDO (Fast Identity Online) is a new authentication system that enables authentication through simple procedures that cannot be replaced through biometric information such as fingerprint recognition, iris recognition, or face recognition instead of ID and password. It is the standard standard of. FIDO authentication is basically an authentication system that is used to solve the vulnerability of a system that uses ID and password.It is not a password that the user must register and remember, but what the user has, for example, fingerprint, Security is further enhanced by using biometric information such as iris and face or biometric information as passwords.

한편, OTP 장치는 프로그래밍 되어 저장된 OTP 생성 프로그램을 이용하여, 암호를 생성할 때마다 매번 다른 배열을 갖는 일회용 암호를 생성하는 난수 생성 장치이다. 이와 같은, OTP장치는 일회용 암호를 생성할 때마다 매번 다른 숫자로 구성되는 암호를 생성하기 때문에, 무수히 많은 암호를 생성할 수 있고, 보안성이 우수한 특징이 있다. 그러나 기존의 OTP를 이용한 전자인증시에는 일회용 암호를 생성하는 OTP 장치를 사용자가 항상 휴대하여야 하는 불편함이 있다. 또한, OTP의 경우 사용자의 인증이 필수로 요구되지 않기 때문에, OTP 장치와 같은 하드웨어 방식의 OTP의 경우 누구나 버튼만 누르면 OTP번호가 생성되는 구조이며, 소프트웨어 방식의 OTP의 경우 사용자 인증 절차를 진행한 후에 OTP 번호를 생성할 수 있지만 사용자 인증 정보와 OTP 번호간 연관관계가 낮아 보안이 약하다는 문제점이 있다. 이로 인해 OTP매체를 분실하거나 해킹당하게 되는 경우, 사용자 인증을 수행하지 않는다는 점에서 인증 강도가 상당히 저하되는 문제점이 발생한다. 이러한 문제점을 해결하기 위해서는, OTP서비스 제공함에 있어서 보안성 높은 사용자 인증을 수행하여 OTP번호를 생성하는 기술이 필요하나 이러한 종래의 기술은 전무하다.Meanwhile, the OTP device is a random number generation device that generates a one-time password having a different arrangement each time a password is generated using a programmed and stored OTP generation program. As such, the OTP device generates a password composed of a different number each time a one-time password is generated, so that a myriad of passwords can be generated, and security is excellent. However, in the case of electronic authentication using an existing OTP, there is an inconvenience that a user must always carry an OTP device that generates a one-time password. In addition, in the case of OTP, user authentication is not required, so in the case of a hardware type OTP such as an OTP device, anyone presses a button to generate an OTP number. OTP number can be generated later, but there is a problem that security is weak because the correlation between user authentication information and OTP number is low. For this reason, when the OTP medium is lost or hacked, there is a problem that the authentication strength is considerably degraded in that user authentication is not performed. In order to solve this problem, a technology for generating an OTP number by performing user authentication with high security is required in providing an OTP service, but such a conventional technology is absent.

본 발명은 생체정보를 기반으로 사용자의 인증을 수행하는 FIDO 규격에 따른 FIDO인증을 적용하여 사용자 인증을 수행하고, 사용자의 공통된 정보를 시드로 사용하여 생성한 OTP정보를 통해 OTP인증을 수행할 수 있는, 생체정보 기반 OTP 인증 방법 및 시스템을 제공하는 것을 목적으로 한다.In the present invention, user authentication can be performed by applying FIDO authentication according to the FIDO standard that performs user authentication based on biometric information, and OTP authentication can be performed through OTP information generated by using the user's common information as a seed. It is an object of the present invention to provide a biometric information-based OTP authentication method and system.

상기와 같은 과제를 해결하기 위하여 본 발명은, 사용자의 단말기와 직접적 혹은 간접적으로 데이터 통신을 수행할 수 있는 서비스인증서버 및 FIDO서버에서 수행되는 생체정보 기반 OTP 인증 방법으로서, 상기 FIDO서버에 의하여, 사용자의 단말기가 송신한 사용자등록요청에 따라 사용자의 단말기로 로컬인증요청을 송신하고, 사용자의 단말기에서의 로컬인증의 수행에 따라 생성된 사용자공통정보를 수신하여 저장하는 사용자등록단계; 상기 FIDO서버에 의하여, 사용자의 단말기로 일회성검증정보를 송신하고, 상기 일회성검증정보에 대한 검증응답을 수신하여 상기 사용자공통정보에 포함된 정보에 의하여 상기 검증응답의 검증을 통해 사용자인증을 수행하는 사용자인증단계; 및 상기 서비스인증서버에 의하여, 사용자의 단말기에 저장된 사용자공통정보를 시드로 하여 상기 사용자의 단말기에서 생성된 제1OTP정보를 수신하는 단계; 상기 FIDO서버에 의하여, FIDO서버에 저장된 사용자공통정보를 시드로 하여 제2OTP정보를 생성하는 단계; 및 상기 서비스인증서버에 의하여, 상기 FIDO서버에서 생성된 제2OTP정보를 수신하고 상기 제1OTP정보 및 제2OTP정보의 일치여부를 판별하는 단계를 포함하는 OTP인증단계;를 포함하는, 생체정보 기반 OTP 인증 방법을 제공한다.In order to solve the above problems, the present invention provides a biometric information-based OTP authentication method performed in a service authentication server and a FIDO server capable of directly or indirectly performing data communication with a user's terminal, by the FIDO server, A user registration step of transmitting a local authentication request to the user's terminal according to the user registration request sent by the user's terminal, and receiving and storing user common information generated according to local authentication performed in the user's terminal; Transmitting one-time verification information to the user's terminal by the FIDO server, receiving a verification response for the one-time verification information, and performing user authentication through verification of the verification response according to the information included in the user common information. User authentication step; And receiving, by the service authentication server, first OTP information generated in the user's terminal by using the user common information stored in the user's terminal as a seed. Generating second OTP information by using the common user information stored in the FIDO server as a seed by the FIDO server; And an OTP authentication step including, by the service authentication server, receiving the second OTP information generated by the FIDO server and determining whether the first OTP information and the second OTP information match or not; including, biometric information-based OTP Provides an authentication method.

본 발명의 일 실시예에서는, 상기 사용자등록단계는, 상기 FIDO서버에 의하여, 사용자의 단말기로부터 상기 사용자등록요청을 수신하는 단계; 상기 FIDO서버에 의하여, 사용자의 단말기에 로컬인증요청을 송신하는 단계; 상기 FIDO서버에 의하여, 상기 로컬인증요청에 따라 로컬인증을 수행한 사용자의 단말기로부터 생성된 공개키를 포함하는 상기 사용자공통정보를 수신하는 단계; 및 상기 FIDO서버에 의하여, 수신한 상기 공개키를 포함하는 상기 사용자공통정보를 상기 FIDO서버에 저장하는 단계;를 포함할 수 있다.In an embodiment of the present invention, the user registration step includes, by the FIDO server, receiving the user registration request from the user's terminal; Transmitting, by the FIDO server, a local authentication request to the user's terminal; Receiving, by the FIDO server, the user common information including a public key generated from a terminal of a user who has performed local authentication according to the local authentication request; And storing, by the FIDO server, the user common information including the received public key in the FIDO server.

본 발명의 일 실시예에서는, 상기 사용자공통정보는, 사용자의 단말기에서 생성된 공개키 및 사용자아이디를 포함할 수 있다.In an embodiment of the present invention, the user common information may include a public key and a user ID generated in the user's terminal.

본 발명의 일 실시예에서는, 상기 로컬인증은, 사용자의 단말기에 기저장된 사용자의 생체정보 및 사용자의 단말기에 입력된 생체정보의 일치여부를 판별하여 수행할 수 있다.In an embodiment of the present invention, the local authentication may be performed by determining whether the user's biometric information previously stored in the user's terminal and the biometric information input to the user's terminal match.

본 발명의 일 실시예에서는, 상기 사용자인증단계는, 상기 서비스인증서버에 의하여, 사용자의 단말기로부터 서비스요청을 수신하는 단계; 상기 FIDO서버에 의하여, 상기 서비스인증서버로부터 사용자인증요청을 수신하는 단계; 상기 FIDO서버에 의하여, 일회성검증정보를 생성하여 사용자의 단말기로 송신하는 단계; 상기 FIDO서버에 의하여, 로컬인증이 수행된 사용자의 단말기로부터 사용자의 개인키로 암호화 된 상기 일회성검증정보를 포함하는 상기 검증응답을 수신하는 단계; 상기 FIDO서버에 의하여, 상기 사용자등록단계에서 저장된 사용자의 공개키에 의하여 수신한 상기 검증응답의 복호화를 수행하는 단계; 및 상기 FIDO서버에 의하여, 복호화된 상기 일회성검증정보 및 상기 FIDO서버에서 생성한 일회성검증정보의 일치여부를 판별하여 사용자인증을 수행하는 단계;를 포함할 수 있다.In an embodiment of the present invention, the user authentication step includes, by the service authentication server, receiving a service request from the user's terminal; Receiving, by the FIDO server, a user authentication request from the service authentication server; Generating one-time verification information by the FIDO server and transmitting it to a user's terminal; Receiving, by the FIDO server, the verification response including the one-time verification information encrypted with the user's private key from the user's terminal for which local authentication has been performed; Decrypting the verification response received by the FIDO server using the user's public key stored in the user registration step; And performing user authentication by determining whether the decrypted one-time verification information and the one-time verification information generated by the FIDO server are matched by the FIDO server.

본 발명의 일 실시예에서는, 상기 OTP인증단계는, 상기 서비스인증서버에 의하여, 사용자의 단말기에서 생성하여 송신된 제1OTP정보를 수신하는 단계; 상기 FIDO서버에 의하여, 상기 서비스인증서버로부터 상기 사용자의 OTP인증요청을 수신하는 단계; 상기 FIDO서버에 의하여, 상기 사용자공통정보에 기초하여 OTP시드를 생성하는 단계; 상기 FIDO서버에 의하여, 상기 OTP시드 및 시간정보를 포함하는 상기 OTP생성정보에 기초하여 제2OTP정보를 생성하는 단계; 상기 FIDO서버에 의하여, 상기 제2OTP정보를 상기 서비스인증서버로 송신하는 단계; 상기 서비스인증서버에 의하여, 상기 제1OTP정보 및 제2OTP정보의 일치여부를 판별하여 OTP인증을 수행하는 단계;를 포함할 수 있다.In an embodiment of the present invention, the OTP authentication step may include: receiving, by the service authentication server, first OTP information generated and transmitted by the user's terminal; Receiving, by the FIDO server, the user's OTP authentication request from the service authentication server; Generating, by the FIDO server, an OTP seed based on the user common information; Generating, by the FIDO server, second OTP information based on the OTP generation information including the OTP seed and time information; Transmitting the second OTP information to the service authentication server by the FIDO server; And performing OTP authentication by determining whether the first OTP information and the second OTP information match by the service authentication server.

본 발명의 일 실시예에서는, 상기 OTP인증단계는 상기 사용자인증단계에서 사용자인증이 완료된 경우에만 실행이 될 수 있다.In an embodiment of the present invention, the OTP authentication step may be executed only when user authentication is completed in the user authentication step.

상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는, 사용자의 단말기와 직접적 혹은 간접적으로 데이터 통신을 수행할 수 있는 서비스인증서버 및 FIDO서버에의하여 구현되는 생체정보 기반 OTP 인증 시스템으로서, 상기 FIDO서버는 사용자의 단말기가 송신한 사용자등록요청에 따라 사용자의 단말기로 로컬인증요청을 송신하고, 상기 FIDO서버는 사용자의 단말기에서의 로컬인증의 수행에 따라 생성된 사용자공통정보를 수신하여 저장하고, 상기 FIDO서버는 사용자의 단말기로 일회성검증정보를 송신하고, 상기 FIDO서버는 상기 일회성검증정보에 대한 검증응답을 수신하여 상기 사용자공통정보에 포함된 정보에 의하여 상기 검증응답의 검증을 통해 사용자인증을 수행하고, 상기 서비스인증서버는 사용자의 단말기에 저장된 사용자공통정보를 시드로 하여 상기 사용자의 단말기에서 생성된 제1OTP정보를 수신하고, 상기 FIDO서버는 FIDO서버에 저장된 사용자공통정보를 시드로 하여 제2OTP정보를 생성하고, 상기 서비스인증서버는 상기 FIDO서버에서 생성된 제2OTP정보를 수신하고, 상기 서비스인증서버는 상기 제1OTP정보 및 제2OTP정보의 일치여부를 판별하는, 생체정보 기반 OTP 인증 시스템을 제공한다.In order to solve the above problems, an embodiment of the present invention is a biometric information-based OTP authentication system implemented by a service authentication server and a FIDO server capable of directly or indirectly performing data communication with a user's terminal, The FIDO server transmits a local authentication request to the user's terminal according to the user registration request sent by the user's terminal, and the FIDO server receives and stores the user common information generated according to local authentication in the user's terminal. And, the FIDO server transmits one-time verification information to the user's terminal, and the FIDO server receives a verification response for the one-time verification information and verifies the verification response according to the information included in the user common information. After performing authentication, the service authentication server receives the first OTP information generated in the user's terminal by using the user common information stored in the user's terminal as a seed, and the FIDO server uses the user common information stored in the FIDO server as a seed. To generate second OTP information, the service authentication server receives the second OTP information generated by the FIDO server, and the service authentication server determines whether the first OTP information and the second OTP information match. Provides an authentication system.

상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는, 사용자의 단말기와 직접적 혹은 간접적으로 데이터 통신을 수행할 수 있는 서비스인증서버 및 FIDO서버에서 수행되는 생체정보 기반 OTP 인증 방법으로서, 상기 FIDO서버에 의하여, 사용자의 단말기가 송신한 사용자등록요청에 따라 사용자의 단말기로 로컬인증요청을 송신하고, 사용자의 단말기에서의 로컬인증의 수행에 따라 생성된 사용자공통정보를 수신하여 저장하는 사용자등록단계; 상기 FIDO서버에 의하여, 상기 사용자공통정보에 기초하여 유도된 대칭키에 의하여 FIDO서버에 저장된 OTP시드를 암호화하여 암호화OTP시드를 생성하는 OTP시드암호화단계; 상기 FIDO서버에 의하여, 사용자의 단말기로 일회성검증정보를 송신하고, 상기 일회성검증정보에 대한 검증응답을 수신하여 상기 사용자공통정보에 포함된 정보에 의하여 상기 검증응답의 검증을 통해 사용자인증을 수행하는 사용자인증단계; 상기 서비스인증서버에 의하여, 사용자의 단말기에 저장된 OTP시드정보를 기초로 하여 상기 사용자의 단말기에서 생성된 제1OTP정보를 수신하는 단계; 상기 FIDO서버에 의하여, 상기 사용자공통정보에 기초하여 유도된 대칭키에 의하여 상기 암호화OTP시드를 복호화하여 OTP시드를 도출하고, 도출한 OTP시드를 기초로 하여 제2OTP정보를 생성하는 단계; 및 상기 서비스인증서버에 의하여, 상기 FIDO서버에서 생성된 제2OTP정보를 수신하고 상기 제1OTP정보 및 제2OTP정보의 일치여부를 판별하는 단계;를 포함하는 OTP인증단계;를 포함하는, 생체정보 기반 OTP 인증 방법을 제공한다.In order to solve the above problems, an embodiment of the present invention is a biometric information-based OTP authentication method performed in a service authentication server and a FIDO server capable of directly or indirectly performing data communication with a user's terminal, the User registration that transmits a local authentication request to the user's terminal according to the user registration request sent by the user's terminal by the FIDO server, and receives and stores user common information generated by performing local authentication in the user's terminal step; An OTP seed encryption step of generating an encrypted OTP seed by encrypting the OTP seed stored in the FIDO server using a symmetric key derived based on the user common information by the FIDO server; Transmitting one-time verification information to the user's terminal by the FIDO server, receiving a verification response for the one-time verification information, and performing user authentication through verification of the verification response according to the information included in the user common information. User authentication step; Receiving, by the service authentication server, first OTP information generated in the user's terminal based on the OTP seed information stored in the user's terminal; Deriving an OTP seed by decrypting the encrypted OTP seed using a symmetric key derived based on the user common information by the FIDO server, and generating second OTP information based on the derived OTP seed; And, by the service authentication server, receiving the second OTP information generated by the FIDO server and determining whether the first OTP information and the second OTP information match or not; including an OTP authentication step; including, based on biometric information Provides OTP authentication method.

본 발명의 일 실시예에 따르면, 생체정보를 통해 사용자인증을 수행한 경우에만, OTP정보의 생성 및 인증이 진행됨으로써, OTP장치의 분실 혹은 OTP프로그램의 해킹 시 발생하는 OTP유출의 위험성을 줄이고, 대체 불가능한 생체정보를 통해 사용자의 인증을 수행함으로써, OTP서비스의 보안성을 향상시킬 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, OTP information is generated and authenticated only when user authentication is performed through biometric information, thereby reducing the risk of OTP leakage occurring when the OTP device is lost or an OTP program is hacked, By performing user authentication through irreplaceable biometric information, an effect of improving the security of the OTP service can be exerted.

본 발명의 일 실시예에 따르면, 사용자정보를 FIDO서버에 저장하고 사용자를 등록하여, FIDO서버에 저장된 사용자정보를 시드로 하여 OTP정보를 생성하고 OTP서비스를 제공함으로써, 등록된 사용자가 아닌 경우 OTP정보를 열람할 수 없도록 하여 보안성을 향상 시킬 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, by storing user information in a FIDO server and registering a user, generating OTP information using the user information stored in the FIDO server as a seed, and providing an OTP service. By preventing information from being viewed, the effect of improving security can be exerted.

본 발명의 일 실시예에 따르면, 생체정보 기반으로 로컬인증을 수행하고, 로컬인증이 완료된 경우에만 사용자의 단말기와 FIDO서버에만 공유된 사용자공통정보에 의하여 일회성검증정보에 대한 검증응답을 검증함으로써, 등록된 사용자에 대해서만 사용자인증을 수행하므로 사용자인증의 보안성을 강화시킬 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, by performing local authentication based on biometric information, and verifying the verification response to the one-time verification information based on user common information shared only with the user's terminal and FIDO server only when local authentication is completed, Since user authentication is performed only for registered users, the effect of enhancing the security of user authentication can be exerted.

본 발명의 일 실시예에 따르면, FIDO서버와 사용자의 단말기에서만 공유된 사용자공통정보를 시드로 하여 OTP정보를 생성하여 인증을 수행함으로써, OTP정보의 보안 취약성을 강화시킬 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, by performing authentication by generating OTP information using user common information shared only with the FIDO server and the user's terminal as a seed, it is possible to exert an effect of reinforcing the security vulnerability of OTP information. .

본 발명의 일 실시예에 따르면, FIDO서버 및 사용자의 단말기에만 저장된 사용자의 공통된 정보를 이용하여 OTP정보를 생성하는 시드를 생성하므로, 정보의 유출로 인한 피해를 감소시킬 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since a seed for generating OTP information is generated using common information of a user stored only in the FIDO server and the user's terminal, it is possible to reduce damage caused by information leakage. .

도 1은 본 발명의 일 실시예에 따른 생체정보 기반 OTP 인증 방법의 전체적인 시스템 형태를 개략적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 서버시스템의 생체정보 기반 OTP 인증 방법의 전체적인 수행 과정의 단계들을 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 사용자등록단계의 수행 과정을 개략적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 사용자인증단계의 수행 과정을 개략적으로 도시한다.
도 5는 본 발명의 일 실시예에 따른 OTP인증단계의 수행 과정을 개략적으로 도시한다.
도 6은 본 발명의 다른 실시예에 따른 OTP인증단계의 수행 과정을 개략적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 내부구성을 개략적으로 도시한다.
1 schematically shows the overall system form of a biometric information-based OTP authentication method according to an embodiment of the present invention.
FIG. 2 schematically shows steps of an overall process of performing an OTP authentication method based on biometric information in a server system according to an embodiment of the present invention.
3 schematically shows a process of performing a user registration step according to an embodiment of the present invention.
4 schematically shows a process of performing a user authentication step according to an embodiment of the present invention.
5 schematically shows a process of performing an OTP authentication step according to an embodiment of the present invention.
6 schematically shows a process of performing an OTP authentication step according to another embodiment of the present invention.
7 schematically illustrates an internal configuration of a computing device according to an embodiment of the present invention.

다양한 실시예들이 이제 도면을 참조하여 설명되며, 전체 도면에서 걸쳐 유사한 도면번호는 유사한 구성요소를 나타내기 위해서 사용된다. 본 명세서에서, 다양한 설명들이 본 발명의 이해를 제공하기 위해서 제시된다. 그러나 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다. 다른 예들에서, 공지된 구조 및 장치들은 실시예들의 설명을 용이하게 하기 위해서 블록 다이어그램 형태로 제공된다.Various embodiments will now be described with reference to the drawings, in which like reference numbers are used to indicate like elements throughout the drawings. In this specification, various descriptions are presented to provide an understanding of the invention. However, it is clear that these embodiments may be implemented without such detailed description. In other examples, well-known structures and devices are provided in block diagram form to facilitate description of the embodiments.

본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템", "~부" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정, 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있고, 일 컴포넌트는 하나의 컴퓨터As used herein, the terms "component", "module", "system", "~ unit" and the like refer to a computer-related entity, hardware, firmware, software, a combination of software and hardware, or execution of software. For example, a component may be, but is not limited to, a process executed on a processor, a processor, an object, an execution thread, a program, and/or a computer. For example, both an application running on a computing device and a computing device may be components. One or more components may reside within a processor and/or thread of execution, and one component is a computer

내에 로컬화될 수 있고, 또는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통한 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다. It can be localized within, or it can be distributed between two or more computers. In addition, these components can execute from a variety of computer readable media having various data structures stored therein. Components are, for example, signals with one or more data packets (e.g., data from one component interacting with another component in a local system, a distributed system, and/or data via a signal over another system and a network such as the Internet. ) To communicate via local and/or remote processes.

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.In addition, the terms "comprising" and/or "comprising" mean that the corresponding feature and/or component is present, but excludes the presence or addition of one or more other features, components, and/or groups thereof. It should be understood as not doing.

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

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

이하에서 언급되는 "사용자 단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말 등과 같은 모든 종류의 핸드헬드 (Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, "네트워크"는 근거리 통신망(Local Area Network;LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다.The "user terminal" mentioned below may be implemented as a computer or portable terminal that can access a server or other terminal through a network. Here, the computer includes, for example, a notebook equipped with a web browser, a desktop, a laptop, and the like, and the portable terminal is, for example, a wireless communication device that guarantees portability and mobility. , PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) terminal, etc. may include all kinds of handheld-based wireless communication devices. In addition, the "network" refers to a wired network such as a local area network (LAN), a wide area network (WAN), or a value added network (VAN), or a mobile radio communication network or satellite. It can be implemented with any type of wireless network such as a communication network.

도 1은 본 발명의 일 실시예에 따른 생체정보 기반 OTP 인증 방법의 전체적인 시스템 형태를 개략적으로 도시한다.1 schematically shows the overall system form of a biometric information-based OTP authentication method according to an embodiment of the present invention.

도 1의 사용자의 단말기는 전술한 사용자 단말에 해당할 수 있고, 서비스인증서버(1000) 및 FIDO서버(2000)는 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치에 해당한다. 도 1에는 서버시스템에 포함되는 서비스인증서버(1000) 및 FIDO서버(2000)가 분리되어 도시되어 있으나, 다른 실시예에서는, 서비스인증서버(1000) 및 FIDO서버(2000)가 통합된 형태의 서버로 존재할 수도 있다.The user terminal of FIG. 1 may correspond to the above-described user terminal, and the service authentication server 1000 and the FIDO server 2000 correspond to a computing device including at least one processor and at least one memory. In FIG. 1, the service authentication server 1000 and the FIDO server 2000 included in the server system are shown separately, but in another embodiment, the service authentication server 1000 and the FIDO server 2000 are integrated. May exist as.

사용자의 단말기는 서비스인증서버(1000) 및 FIDO서버(2000)에 웹브라우져 프로그램을 통하여 접속하거나 혹은 전용 애플리케이션을 통하여 접속할 수 있다. 사용자의 단말기는 생체정보를 통해 인증을 수행하거나, 아이디 및 비밀번호를 입력하는 등의 방법으로 자신의 계정에 로그인 할 수 있다.The user's terminal may access the service authentication server 1000 and the FIDO server 2000 through a web browser program or through a dedicated application. The user's terminal can log in to his or her account by performing authentication through biometric information or by entering an ID and password.

본 발명에서 파이도(FIDO, Fast Identity Online)는 아이디와 비밀번호 대신 지문 인식, 홍채 인식 또는, 얼굴 인식 등과 같은 생체정보를 통해 대체가 불가능 하면서도 간단한 절차를 통해 인증을 처리할 수 있도록 해주는 새로운 인증 시스템의 표준 규격이다. FIDO 인증은 아이디(ID)와 패스워드를 사용하는 시스템의 취약성을 해결하기 위해 사용된다. 상기 생체정보는, 지문, 홍채, 얼굴 인식, 목소리, 정맥 등 생체로부터 추출할 수 있는 생체정보 자체 혹은 동작 등의 행동적 특성의 생체정보를 모두 포함하는 정보로 해석되어야 할 것이다.In the present invention, FIDO (Fast Identity Online) is a new authentication system that enables authentication through a simple procedure that cannot be replaced through biometric information such as fingerprint recognition, iris recognition, or face recognition instead of ID and password. It is the standard standard of. FIDO authentication is used to resolve vulnerabilities in systems that use IDs and passwords. The biometric information should be interpreted as biometric information that can be extracted from a living body such as fingerprint, iris, face recognition, voice, vein, etc., or information including all biometric information of behavioral characteristics such as motion.

상기 FIDO서버(2000)는, 사용자의 단말기로부터 사용자등록요청을 수신하여 사용자공통정보를 저장하여 등록할 수 있고, 사용자인증요청을 수신하여, 사용자공통정보에 포함된 정보에 의하여 사용자인증을 수행할 수 있다. 또한, 저장된 사용자공통정보를 시드로 하여 제2OTP정보를 생성할 수 있다. 혹은, 기저장된 OTP시드를 상기 사용자공통정보에 기초하여 유도된 대칭키로 암호화하여 저장하고, 사용자인증을 통해 상기 사용자공통정보에 기초하여 유도된 대칭키로 암호화된 OTP시드를 복호화하여 제2OTP정보를 생성할 수 있다.The FIDO server 2000 may receive a user registration request from a user's terminal and store and register user common information, receive a user authentication request, and perform user authentication based on information included in the user common information. I can. In addition, the second OTP information may be generated by using the stored user common information as a seed. Alternatively, the pre-stored OTP seed is encrypted and stored with a symmetric key derived based on the user common information, and second OTP information is generated by decrypting the OTP seed encrypted with the symmetric key derived based on the user common information through user authentication. can do.

상기 서비스인증서버(1000)는, 사용자의 단말기로부터 생성된 제1OTP정보 및 FIDO서버(2000)로부터 생성된 제2OTP정보를 수신하여 제1OTP정보 및 제2OTP정보의 일치여부를 판별하여 OTP인증을 수행할 수 있다.The service authentication server 1000 performs OTP authentication by receiving the first OTP information generated from the user's terminal and the second OTP information generated from the FIDO server 2000 to determine whether the first OTP information and the second OTP information match. can do.

이하에서는, 사용자의 단말기 및 서버시스템의 동작에 대하여 더욱 자세하게 설명하도록 한다.Hereinafter, the operation of the user's terminal and server system will be described in more detail.

도 2는 본 발명의 일 실시예에 따른 서버시스템의 생체정보 기반 OTP 인증 방법의 전체적인 수행 과정의 단계들을 개략적으로 도시한다.2 schematically shows the steps of the overall process of performing an OTP authentication method based on biometric information in a server system according to an embodiment of the present invention.

본 발명의 서버시스템은 생체정보 기반 OTP 인증 방법을 제공할 수 있다. 개략적으로, 생체정보를 기반으로 사용자의 인증을 수행하는 FIDO규격에 따른 FIDO인증을 적용하여 사용자 인증을 수행하고, 사용자의 공통된 정보를 시드로 사용하여 생성한 OTP정보를 통해 OTP인증을 수행할 수 있다.The server system of the present invention can provide a biometric information-based OTP authentication method. Schematically, user authentication can be performed by applying FIDO authentication according to the FIDO standard that performs user authentication based on biometric information, and OTP authentication can be performed through OTP information generated by using the user's common information as a seed. have.

도 2는 본 발명의 서버시스템의 사용자등록단계, 사용자인증단계, 및 OTP인증단계를 수행하는 과정을 도시한다. 구체적으로, 사용자의 단말기와 직접적 혹은 간접적으로 데이터 통신을 수행할 수 있는 서비스인증서버(1000) 및 FIDO서버(2000)에서 수행되는 생체정보 기반 OTP 인증 방법은, 상기 FIDO서버(2000)에 의하여, 사용자의 단말기가 송신한 사용자등록요청에 따라 사용자의 단말기로 로컬인증요청을 송신하고, 사용자의 단말기에서의 로컬인증의 수행에 따라 생성된 사용자공통정보를 수신하여 저장하는 사용자등록단계; 상기 FIDO서버(2000)에 의하여, 사용자의 단말기로 일회성검증정보를 송신하고, 상기 일회성검증정보에 대한 검증응답을 수신하여 상기 사용자공통정보에 포함된 정보에 의하여 상기 검증응답의 검증을 통해 사용자인증을 수행하는 사용자인증단계; 및 상기 서비스인증서버(1000)에 의하여, 사용자의 단말기에 저장된 사용자공통정보를 시드로 하여 상기 사용자의 단말기에서 생성된 제1OTP정보를 수신하는 단계; 상기 FIDO서버(2000)에 의하여, FIDO서버(2000)에 저장된 사용자공통정보를 시드로 하여 제2OTP정보를 생성하는 단계; 및 상기 서비스인증서버(1000)에 의하여, 상기 FIDO서버(2000)에서 생성된 제2OTP정보를 수신하고 상기 제1OTP정보 및 제2OTP정보의 일치여부를 판별하는 단계를 포함하는 OTP인증단계;를 포함한다.2 shows a process of performing a user registration step, a user authentication step, and an OTP authentication step of the server system of the present invention. Specifically, the biometric information-based OTP authentication method performed in the service authentication server 1000 and FIDO server 2000 that can directly or indirectly perform data communication with the user's terminal, by the FIDO server 2000, A user registration step of transmitting a local authentication request to the user's terminal according to the user registration request sent by the user's terminal, and receiving and storing user common information generated according to local authentication performed in the user's terminal; The FIDO server 2000 transmits one-time verification information to the user's terminal, receives a verification response for the one-time verification information, and authenticates the user through verification of the verification response according to the information included in the user common information. A user authentication step of performing; And receiving, by the service authentication server 1000, first OTP information generated by the user's terminal by using the user common information stored in the user's terminal as a seed. Generating second OTP information by using the common user information stored in the FIDO server 2000 as a seed by the FIDO server 2000; And an OTP authentication step including, by the service authentication server 1000, receiving the second OTP information generated by the FIDO server 2000 and determining whether the first OTP information and the second OTP information match. do.

구체적으로 단계(A)에서는, 사용자의 단말기는, FIDO서버(2000)로 사용자등록요청을 송신한다. FIDO서버(2000)에 등록되어 있지 않은 사용자의 경우, FIDO서버(2000)에 사용자등록요청을 송신하여 사용자를 등록할 수 있다.Specifically, in step (A), the user's terminal transmits a user registration request to the FIDO server 2000. In the case of a user who is not registered in the FIDO server 2000, a user registration request can be sent to the FIDO server 2000 to register the user.

단계(b)에서는, 사용자의 단말기로부터 사용자등록요청을 수신한 FIDO서버(2000)에 의하여, 사용자의 단말기로 로컬인증요청을 송신한다.In step (b), a local authentication request is transmitted to the user's terminal by the FIDO server 2000 that has received the user registration request from the user's terminal.

로컬인증이란, 사용자의 단말기에서 독자적으로 수행되는 인증으로서, 본 발명에서는 사용자의 생체정보에 기초하여 사용자의 단말기를 사용하는 주체에 대한 인증을 다른 서버에 의하여서가 아닌 사용자의 단말기를 통해 수행하는 사용자인증을 의미한다.Local authentication is an authentication performed independently by a user's terminal.In the present invention, a user who authenticates a subject using the user's terminal based on the user's biometric information is not performed by another server but through the user's terminal. It means authentication.

단계(C)에서는, FIDO서버(2000)로부터 로컬인증요청을 수신한 사용자의 단말기는 로컬인증을 수행한다. 로컬인증이 완료된 경우, 사용자의 단말기는 사용자공통정보를 포함하는 사용자정보를 생성한다. 바람직하게는, 사용자정보는, 사용자아이디를 포함하는 사용자고유정보, 공개키, 및 개인키를 포함한다.In step (C), the terminal of the user receiving the local authentication request from the FIDO server 2000 performs local authentication. When local authentication is completed, the user's terminal generates user information including user common information. Preferably, the user information includes user-specific information including a user ID, a public key, and a private key.

단계(D)에서는, 사용자의 단말기는 단계(C)에서 생성한 사용자공통정보를 FIDO서버(2000)로 송신한다. 바람직하게는, 상기 사용자공통정보는, 사용자의 단말기에서 생성된 공개키 및 사용자아이디를 포함한다.In step (D), the user's terminal transmits the user common information generated in step (C) to the FIDO server 2000. Preferably, the user common information includes a public key and a user ID generated in the user's terminal.

단계(E)에서는, FIDO서버(2000)에 의하여, 사용자의 단말기로부터 수신한 사용자공통정보를 저장하여 사용자등록을 수행한다.In step (E), the FIDO server 2000 stores user common information received from the user's terminal to perform user registration.

이와 같이 사용자등록이 수행된 후에는, 사용자는 사용자의 단말기를 통하여 사용자인증을 진행 후, OTP인증 통해 OTP인증서비스를 제공받을 수 있다.After user registration is performed in this way, the user can perform user authentication through the user's terminal and then receive an OTP authentication service through OTP authentication.

상기 단계(A) 내지 단계(E)는 상기 사용자등록단계에 상응할 수 있다.The steps (A) to (E) may correspond to the user registration step.

한편, 본 발명의 다른 실시예에서는, 상기 단계(E)에서 사용자공통정보를 저장 후, 상기 FIDO서버(2000)에 의하여, 상기 사용자공통정보에 기초하여 유도된 대칭키에 의하여 FIDO서버(2000)에 저장된 OTP시드를 암호화하여 암호화OTP시드를 생성하는 OTP시드암호화단계(미도시);가 더 수행될 수 있다.Meanwhile, in another embodiment of the present invention, after storing the user common information in step (E), the FIDO server 2000 uses a symmetric key derived based on the user common information by the FIDO server 2000. An OTP seed encryption step (not shown) of generating an encrypted OTP seed by encrypting the OTP seed stored in the device may be further performed.

구체적으로, 사용자의 단말기 및 FIDO서버(2000)에 OTP정보 생성에 기초가 되는 OTP시드가 과거에 공유되어 기저장된 경우, 상기 FIDO서버(2000)에서는, 상기 (E)단계에서 저장된 사용자공통정보에 기초하여 대칭키를 유도한다. 이후, 유도된 대칭키에 의하여 FIDO서버(2000)에 저장된 OTP시드를 암호화하여 암호화OTP시드를 생성하여 저장한다. 바람직하게는, OTP시드는 사용자공통정보에 기초하여 생성된 OTP시드일 수도 있고, 다른 정보에 기초하여 생성된 OTP시드일 수도 있다.Specifically, when the OTP seed, which is the basis for OTP information generation, is shared in the past and previously stored in the user's terminal and the FIDO server 2000, the FIDO server 2000 includes the user common information stored in the step (E). The symmetric key is derived based on it. Thereafter, the OTP seed stored in the FIDO server 2000 is encrypted by the derived symmetric key to generate and store the encrypted OTP seed. Preferably, the OTP seed may be an OTP seed generated based on common user information, or may be an OTP seed generated based on other information.

이후, 단계(F)에서는, 사용자의 단말기는 서비스인증서버(1000)로 서비스요청을 송신한다.Thereafter, in step (F), the user's terminal transmits a service request to the service authentication server 1000.

단계(G)에서는, 사용자의 단말기로부터 서비스요청을 수신한 서비스인증서버(1000)에 의하여, FIDO서버(2000)로 사용자인증요청을 송신한다.In step (G), a user authentication request is transmitted to the FIDO server 2000 by the service authentication server 1000 that has received the service request from the user's terminal.

단계(H)에서는, 서비스인증서버(1000)로부터 사용자인증요청을 수신한 FIDO서버(2000)에 의하여, 사용자의 단말기로 일회성검증정보를 송신한다.In step (H), the FIDO server 2000 receiving the user authentication request from the service authentication server 1000 transmits the one-time verification information to the user's terminal.

단계(I)에서는, FIDO서버(2000)로부터 일회성검증정보를 수신한 사용자의 단말기는 로컬인증을 수행하여, 로컬인증이 완료되는 경우, 수신한 일회성검증정보에 대한 검증응답을 생성한다.In step (I), the terminal of the user who has received the one-time verification information from the FIDO server 2000 performs local authentication, and when local authentication is completed, generates a verification response for the received one-time verification information.

단계(J)에서는, 사용자의 단말기는 단계(I)에서 생성한 검증응답을 FIDO서버(2000)로 송신한다.In step (J), the user's terminal transmits the verification response generated in step (I) to the FIDO server 2000.

단계(K)에서는, FIDO서버(2000)에 의하여, FIDO서버(2000)에 저장된 사용자공통정보에 포함된 정보에 의하여 사용자의 단말기로부터 수신한 검증응답의 검증을 통해 사용자인증을 수행한다. 바람직하게는, 사용자공통정보는 사용자의 공개키 및 사용자아이디를 포함하고, 상기 공개키에 의하여 검증응답에 대한 검증이 수행된다.In step (K), the FIDO server 2000 performs user authentication through verification of the verification response received from the user's terminal according to the information included in the user common information stored in the FIDO server 2000. Preferably, the user common information includes a user's public key and user ID, and verification of a verification response is performed by the public key.

단계(L)에서는, FIDO서버(2000)에 의하여, 사용자의 단말기로 사용자인증완료에 대한 알림을 송신한다.In step L, the FIDO server 2000 transmits a notification about the completion of user authentication to the user's terminal.

상기 단계(F) 내지 단계(L)은 상기 사용자인증단계에 상응할 수 있다.The steps (F) to (L) may correspond to the user authentication step.

이후, 단계(M)에서는, 사용자의 단말기는, 사용자의 단말기에 저장된 사용자공통정보를 시드로 하여 제1OTP정보를 생성한다.Thereafter, in step (M), the user's terminal generates first OTP information by using the user common information stored in the user's terminal as a seed.

단계(N)에서는, 사용자의 단말기는, 단계(M)에서 생성한 제1OTP정보를 서비스인증서버(1000)로 송신한다. In step (N), the user's terminal transmits the first OTP information generated in step (M) to the service authentication server 1000.

단계(O)에서는, 제1OTP정보를 수신한 서비스인증서버(1000)에 의하여, FIDO서버(2000)로 OTP인증요청을 송신한다.In step O, an OTP authentication request is transmitted to the FIDO server 2000 by the service authentication server 1000 that has received the first OTP information.

단계(P)에서는, FIDO서버(2000)에 의하여, FIDO서버(2000)에 저장된 사용자공통정보를 시드로 하여 제2OTP정보를 생성한다.In step P, the FIDO server 2000 generates second OTP information by using the common user information stored in the FIDO server 2000 as a seed.

단계(Q)에서는, FIDO서버(2000)에 의하여, 상기 단계(P)에서 생성된 제2OTP정보를 송신한다.In step Q, the FIDO server 2000 transmits the second OTP information generated in step P.

단계(R)에서는, 서비스인증서버(1000)에 의하여, 사용자의 단말기로부터 수신한 제1OTP정보 및 FIDO서버(2000)로부터 수신한 제2OTP정보의 일치여부를 판별하여 OTP인증을 완료한다.In step (R), the service authentication server 1000 determines whether the first OTP information received from the user's terminal and the second OTP information received from the FIDO server 2000 match to complete the OTP authentication.

상기 단계(M) 내지 단계(R)은 상기 OTP인증단계에 상응할 수 있다.The steps (M) to (R) may correspond to the OTP authentication step.

이와 같은 방식으로, 생체정보를 통해 사용자인증을 수행한 경우에만, OTP정보의 생성 및 인증이 진행됨으로써, OTP장치의 분실 혹은 OTP프로그램의 해킹 시 발생하는 OTP유출의 위험성을 줄이고, 대체 불가능한 생체정보를 통해 사용자의 인증을 수행함으로써, OTP서비스의 보안성을 향상시킬 수 있는 효과를 발휘할 수 있다.In this way, OTP information is generated and authenticated only when user authentication is performed through biometric information, thereby reducing the risk of OTP leakage that occurs when the OTP device is lost or the OTP program is hacked, and non-replaceable biometric information By performing authentication of the user through the device, the effect of improving the security of the OTP service can be exerted.

도 3은 본 발명의 일 실시예에 따른 사용자등록단계의 수행 과정을 개략적으로 도시한다.3 schematically shows a process of performing a user registration step according to an embodiment of the present invention.

구체적으로, 상기 사용자등록단계는, 상기 FIDO서버(2000)에 의하여, 사용자의 단말기로부터 상기 사용자등록요청을 수신하는 단계(S100); 상기 FIDO서버(2000)에 의하여, 사용자의 단말기에 로컬인증요청을 송신하는 단계(S110); 상기 FIDO서버(2000)에 의하여, 상기 로컬인증요청에 따라 로컬인증을 수행한 사용자의 단말기로부터 생성된 공개키를 포함하는 상기 사용자공통정보를 수신하는 단계(S140); 및 상기 FIDO서버(2000)에 의하여, 수신한 상기 공개키를 포함하는 상기 사용자공통정보를 상기 FIDO서버(2000)에 저장하는 단계(S150);를 포함한다.Specifically, the user registration step includes, by the FIDO server 2000, receiving the user registration request from the user's terminal (S100); Transmitting a local authentication request to the user's terminal by the FIDO server 2000 (S110); Receiving, by the FIDO server 2000, the user common information including a public key generated from a terminal of a user who has performed local authentication according to the local authentication request (S140); And storing the user common information including the received public key in the FIDO server 2000 by the FIDO server 2000 (S150).

단계S100에서는, 사용자의 단말기는 FIDO서버(2000)로 사용자등록요청을 송신한다. 즉, FIDO서버(2000)에 의하여, 사용자의 단말기로부터 사용자등록요청을 수신한다.In step S100, the user's terminal transmits a user registration request to the FIDO server 2000. That is, the FIDO server 2000 receives a user registration request from the user's terminal.

단계S110에서는, 사용자등록요청을 수신한 상기 FIDO서버(2000)에 의하여, 사용자의 단말기에 로컬인증요청을 송신한다.In step S110, by the FIDO server 2000 receiving the user registration request, a local authentication request is transmitted to the user's terminal.

단계S120에서는, 로컬인증요청을 수신한 사용자의 단말기는, 로컬인증을 수행한다. 바람직하게는 상기 로컬인증은, 사용자의 단말기에 기저장된 사용자의 생체정보 및 사용자의 단말기에 입력된 생체정보의 일치여부를 판별하여 수행된다.In step S120, the terminal of the user who has received the local authentication request performs local authentication. Preferably, the local authentication is performed by determining whether the user's biometric information previously stored in the user's terminal and the biometric information input to the user's terminal match.

예를 들어, 사용자가 로컬인증을 수행하기 위해 사용자의 단말기에 등록한 기저장된 생체정보가 지문인 경우, 로컬인증은 사용자의 단말기에 기저장된 사용자의 지문과 로컬인증 수행 시 사용자의 단말기에 입력된 사용자의 지문의 일치여부를 판별한다. 입력된 사용자의 지문과 기저장된 사용자의 지문이 일치하는 경우, 로컬인증이 완료된다.For example, if the pre-stored biometric information registered in the user's terminal by the user to perform local authentication is a fingerprint, the local authentication is the user's fingerprint previously stored in the user's terminal and the user entered into the user's terminal when performing local authentication. It determines whether the fingerprints of are matched. When the input user's fingerprint and the previously stored user's fingerprint match, local authentication is completed.

단계S130에서는, 로컬인증이 완료된 경우, 사용자의 단말기는 사용자의 공개키 및 개인키를 생성한다. 바람직하게는, 로컬인증이 완료되지 않은 경우에는, 사용자의 단말기는 공개키 및 개인키를 생성하지 않는다.In step S130, when local authentication is completed, the user's terminal generates the user's public key and private key. Preferably, if local authentication is not completed, the user's terminal does not generate a public key and a private key.

단계S140에서는, 사용자의 단말기는 단계S130에서 생성한 공개키 및 사용자아이디를 포함하는 사용자공통정보를 FIDO서버(2000)로 송신한다. 즉, FIDO서버(2000)에 의하여, 로컬인증을 수행한 사용자의 단말기로부터 생성된 공개키를 포함하는 사용자공통정보를 수신한다.In step S140, the user's terminal transmits the user common information including the public key and user ID generated in step S130 to the FIDO server 2000. That is, the FIDO server 2000 receives user common information including a public key generated from a terminal of a user who has performed local authentication.

단계S150에서는, FIDO서버(2000)에 의하여, 수신한 공개키를 포함하는 사용자공통정보를 FIDO서버(2000)에 저장하여 사용자등록을 수행한다.In step S150, the FIDO server 2000 stores user common information including the received public key in the FIDO server 2000 to perform user registration.

이후, 단계S160에서는, FIDO서버(2000)에 의하여, 사용자의 단말기로 사용자등록알림을 송신한다.Thereafter, in step S160, the FIDO server 2000 transmits a user registration notification to the user's terminal.

이와 같은 방식으로 사용자정보를 FIDO서버(2000)에 저장하고 사용자를 등록하여, FIDO서버(2000)에 저장된 사용자정보를 시드로 하여 OTP정보를 생성하고 OTP서비스를 제공함으로써, 등록된 사용자가 아닌 경우 OTP정보를 열람할 수 없도록 하여 보안성을 향상 시킬 수 있는 효과를 발휘할 수 있다.In this way, the user information is stored in the FIDO server 2000 and the user is registered, generating OTP information using the user information stored in the FIDO server 2000 as a seed, and providing an OTP service, so that the user is not a registered user. It is possible to exert an effect that can improve security by making it impossible to read OTP information.

도 4는 본 발명의 일 실시예에 따른 사용자인증단계의 수행 과정을 개략적으로 도시한다.4 schematically shows a process of performing a user authentication step according to an embodiment of the present invention.

구체적으로, 상기 사용자인증단계는, 상기 서비스인증서버(1000)에 의하여, 사용자의 단말기로부터 서비스요청을 수신하는 단계(S200); 상기 FIDO서버(2000)에 의하여, 상기 서비스인증서버(1000)로부터 사용자인증요청을 수신하는 단계(S210); 상기 FIDO서버(2000)에 의하여, 일회성검증정보를 생성하여 사용자의 단말기로 송신하는 단계(S220); 상기 FIDO서버(2000)에 의하여, 로컬인증이 수행된 사용자의 단말기로부터 사용자의 개인키로 암호화 된 상기 일회성검증정보를 포함하는 상기 검증응답을 수신하는 단계(S250); 상기 FIDO서버(2000)에 의하여, 상기 사용자등록단계에서 저장된 사용자의 공개키에 의하여 수신한 상기 검증응답의 복호화를 수행하는 단계(S260); 및 상기 FIDO서버(2000)에 의하여, 복호화된 상기 일회성검증정보 및 상기 FIDO서버(2000)에서 생성한 일회성검증정보의 일치여부를 판별하여 사용자인증을 수행하는 단계(S270);를 포함한다.Specifically, the user authentication step includes, by the service authentication server 1000, receiving a service request from the user's terminal (S200); Receiving a user authentication request from the service authentication server 1000 by the FIDO server 2000 (S210); Generating one-time verification information by the FIDO server 2000 and transmitting it to the user's terminal (S220); Receiving, by the FIDO server 2000, the verification response including the one-time verification information encrypted with the user's private key from the user's terminal for which local authentication has been performed (S250); Decrypting the verification response received by the FIDO server 2000 by the user's public key stored in the user registration step (S260); And performing user authentication by determining whether the decrypted one-time verification information and the one-time verification information generated by the FIDO server 2000 match by the FIDO server 2000 (S270).

단계S200에서는, 사용자의 단말기는 서비스인증서버(1000)로 서비스요청을 송신한다. 즉, 서비스인증서버(1000)에 의하여, 사용자의 단말기로부터 서비스요청을 수신한다.In step S200, the user's terminal transmits a service request to the service authentication server 1000. That is, the service authentication server 1000 receives a service request from the user's terminal.

단계S210에서는, FIDO서버(2000)에 의하여, 서비스인증서버(1000)로부터 사용자인증요청을 수신한다.In step S210, the FIDO server 2000 receives a user authentication request from the service authentication server 1000.

단계S220에서는, 사용자인증요청을 수신한 FIDO서버(2000)에 의하여, 일회성검증정보를 생성하고, 일회성검증정보를 사용자의 단말기로 송신한다.In step S220, the one-time verification information is generated by the FIDO server 2000 receiving the user authentication request, and the one-time verification information is transmitted to the user's terminal.

FIDO서버(2000)에서는, 사용자의 인증을 위해 랜덤값으로 난수를 생성하여 Challenge로 사용자에게 전달할 수 있다. 상기 일회성검증정보는 이와 같이 사용자의 인증을 일회성으로 수행할 랜덤적으로 생성되는 Challenge Number를 의미한다.In the FIDO server 2000, a random number may be generated as a random value for user authentication, and may be transmitted to the user as a challenge. The one-time verification information means a randomly generated challenge number to perform the user's authentication as a one-time operation as described above.

단계S230에서는, FIDO서버(2000)로부터 일회성검증정보를 수신한 사용자의 단말기는 로컬인증을 수행한다. 바람직하게는 상기 로컬인증은, 사용자의 단말기에 기저장된 사용자의 생체정보 및 사용자의 단말기에 입력된 생체정보의 일치여부를 판별하여 수행된다.In step S230, the terminal of the user who has received the one-time verification information from the FIDO server 2000 performs local authentication. Preferably, the local authentication is performed by determining whether the user's biometric information previously stored in the user's terminal and the biometric information input to the user's terminal match.

예를 들어, 사용자가 로컬인증을 수행하기 위해 사용자의 단말기에 등록하여 기저장된 생체정보가 지문인 경우, 로컬인증은 사용자의 단말기에 기저장된 사용자의 지문과 사용자의 단말기에 입력된 사용자의 지문의 일치여부를 판별한다. 입력된 사용자의 지문과 기저장된 사용자의 지문이 일치하는 경우, 로컬인증이 완료된다.For example, if the user registers in the user's terminal to perform local authentication and the pre-stored biometric information is a fingerprint, local authentication is performed between the user's fingerprint previously stored in the user's terminal and the user's fingerprint input to the user's terminal. Determine whether or not they match. When the input user's fingerprint and the previously stored user's fingerprint match, local authentication is completed.

단계S240에서는, 로컬인증이 완료된 경우, 사용자의 단말기는 사용자등록단계에서 생성된 개인키에 의하여 수신한 일회성검증정보의 암호화를 수행한다.In step S240, when local authentication is completed, the user's terminal encrypts the one-time verification information received by the private key generated in the user registration step.

단계S250에서는, 사용자의 단말기는 암호화 된 일회성검증정보를 포함하는 검증응답을 FIDO서버(2000)로 송신한다. 즉, FIDO서버(2000)에 의하여, 사용자의 단말기로부터 사용자의 개인키로 암호화 된 일회성검증정보를 포함하는 검증응답을 수신한다.In step S250, the user's terminal transmits a verification response including encrypted one-time verification information to the FIDO server 2000. That is, by the FIDO server 2000, a verification response including one-time verification information encrypted with the user's private key is received from the user's terminal.

단계S260에서는, 검증응답을 수신한 FIDO서버(2000)에 의하여, 상기 사용자등록단계에서 FIDO서버(2000)에 저장된 사용자의 공개키에 의하여 수신한 검증응답에 포함된 암호화 된 일회성검증정보의 복호화를 수행한다. 사용자의 단말기에서 생성된 개인키 및 공개키는 각각의 키로 암호화를 한 경우, 다른 나머지 하나의 키로만 복호화를 할 수 있는 비대칭키이다. 즉, 어떠한 데이터를 개인키로 암호화 한 경우, 개인키와 짝을 이루는 공개키로 암호화 된 데이터를 복호화할 수 있고, 이와 반대의 경우로 공개키로 암호화 한 경우, 공개키와 짝을 이루는 개인키로만 암호화 된 데이터를 복호화할 수 있다. 따라서, 상기 암호화 된 일회성검증정보의 복호화를 수행하여 복호화가 완료되면, 해당 일회성검증정보는 현재 인증을 하고자 하는 사용자가 사용자의 단말기를 통해 송신한 일회성검증정보임이 인증될 수 있다.In step S260, decryption of the encrypted one-time verification information included in the verification response received by the user's public key stored in the FIDO server 2000 in the user registration step by the FIDO server 2000 receiving the verification response. Carry out. The private key and public key generated in the user's terminal are asymmetric keys that can be decrypted only with the other key when encryption is performed with each key. In other words, when certain data is encrypted with a private key, the data encrypted with the public key paired with the private key can be decrypted, and in the opposite case, when encrypted with the public key, only the private key paired with the public key is encrypted. Data can be decrypted. Accordingly, when the decryption is completed by performing the decryption of the encrypted one-time verification information, the one-time verification information may be authenticated as the one-time verification information transmitted through the user's terminal by the user who is currently attempting to authenticate.

단계S270에서는, 상기 FIDO서버(2000)에 의하여, 복호화된 일회성검증정보 및 상기 FIDO서버(2000)에서 생성한 일회성검증정보의 일치여부를 판별하여 사용자인증을 수행한다. 단계S260에서 복호화된 일회성검증정보 및 FIDO서버(2000)에서 생성하여 사용자의 단말기로 송신한 일회성검증정보가 일치하는 경우에는, 사용자인증이 완료된다. 복호화된 일회성검증정보 및 FIDO서버(2000)에서 생성한 일회성검증정보가 일치하지 않는 경우에는 사용자인증은 완료되지 않는다.In step S270, the FIDO server 2000 determines whether the decrypted one-time verification information and the one-time verification information generated by the FIDO server 2000 are matched to perform user authentication. If the one-time verification information decrypted in step S260 and the one-time verification information generated by the FIDO server 2000 and transmitted to the user's terminal match, the user authentication is completed. If the decrypted one-time verification information and the one-time verification information generated by the FIDO server 2000 do not match, user authentication is not completed.

사용자인증이 완료되면, 단계S280에서는, 서비스인증서버(1000)에 의하여, FIDO서버(2000)로부터 사용자인증완료알림을 수신하고, 단계 S290에서는, 사용자의 단말기는 서비스인증서버(1000)로부터 사용자인증완료알림을 수신한다.When user authentication is completed, in step S280, a user authentication completion notification is received from the FIDO server 2000 by the service authentication server 1000, and in step S290, the user's terminal authenticates the user from the service authentication server 1000. Receive a notification of completion.

이와 같은 방식으로 생체정보 기반으로 로컬인증을 수행하고, 로컬인증이 완료된 경우에만 사용자의 단말기와 FIDO서버(2000)에만 공유된 사용자공통정보에 의하여 일회성검증정보에 대한 검증응답을 검증함으로써, 등록된 사용자에 대해서만 사용자인증을 수행하므로 사용자인증의 보안성을 강화시킬 수 있는 효과를 발휘할 수 있다.In this way, local authentication is performed based on biometric information, and only when the local authentication is completed, the registered user's terminal and the FIDO server 2000 verify the verification response to the one-time verification information based on the shared user common information. Since user authentication is performed only for users, the effect of enhancing the security of user authentication can be exerted.

도 5는 본 발명의 일 실시예에 따른 OTP인증단계의 수행 과정을 개략적으로 도시한다.5 schematically shows a process of performing an OTP authentication step according to an embodiment of the present invention.

구체적으로, 상기 OTP인증단계는, 상기 서비스인증서버(1000)에 의하여, 사용자의 단말기에서 생성하여 송신된 제1OTP정보를 수신하는 단계(S320); 상기 FIDO서버(2000)에 의하여, 상기 서비스인증서버(1000)로부터 상기 사용자의 OTP인증요청을 수신하는 단계(S330); 상기 FIDO서버(2000)에 의하여, 상기 사용자공통정보에 기초하여 OTP시드를 생성하는 단계(S340); 상기 FIDO서버(2000)에 의하여, 상기 OTP시드 및 시간정보를 포함하는 상기 OTP생성정보에 기초하여 제2OTP정보를 생성하는 단계(S350); 상기 FIDO서버(2000)에 의하여, 상기 제2OTP정보를 상기 서비스인증서버(1000)로 송신하는 단계(S360); 상기 서비스인증서버(1000)에 의하여, 상기 제1OTP정보 및 제2OTP정보의 일치여부를 판별하여 OTP인증을 수행하는 단계(S370);를 포함한다.Specifically, the OTP authentication step may include receiving, by the service authentication server 1000, the first OTP information generated and transmitted by the user's terminal (S320); Receiving an OTP authentication request from the user from the service authentication server 1000 by the FIDO server 2000 (S330); Generating an OTP seed based on the user common information by the FIDO server 2000 (S340); Generating second OTP information based on the OTP generation information including the OTP seed and time information by the FIDO server 2000 (S350); Transmitting the second OTP information to the service authentication server 1000 by the FIDO server 2000 (S360); And performing OTP authentication by determining whether the first OTP information and the second OTP information match by the service authentication server 1000 (S370).

단계S300에서는, 사용자의 단말기는, 사용자의 단말기에 저장된 공개키가 포함된 사용자공통정보에 기초하여 OTP시드를 생성한다. 바람직하게는 사용자공통정보는, 사용자의 단말기에서 생성된 공개키 및 사용자아이디를 포함한다.In step S300, the user's terminal generates an OTP seed based on the user common information including the public key stored in the user's terminal. Preferably, the user common information includes a public key and a user ID generated in the user's terminal.

단계S310에서는, 사용자의 단말기는 단계S300에서 생성한 OTP시드 및 시간정보에 기초하여 제1OTP정보를 생성한다.In step S310, the user's terminal generates first OTP information based on the OTP seed and time information generated in step S300.

단계S320에서는, 사용자의 단말기는, 단계S310단계에서 생성된 제1OTP정보를 서비스인증서버(1000)로 송신한다. 즉, 서비스인증서버(1000)에 의하여, 사용자의 단말기에서 생성하여 송신된 제1OTP정보를 수신한다. 바람직하게는, 사용자의 단말기는, 서비스요청을 송신함으로써, FIDO서버(2000)로부터 수신한 일회성검증정보에 대한 검증응답을 FIDO서버(2000)로 송신하고, 사용자인증이 완료된 경우, 제1OTP정보를 생성하여 서비스인증서버(1000)로 송신하는 과정, 즉 사용자인증단계 및 OTP인증단계를 수행하는 하나의 프로그램 형태의 프로세스가 동작될 수 있다.In step S320, the user's terminal transmits the first OTP information generated in step S310 to the service authentication server 1000. That is, the service authentication server 1000 receives the first OTP information generated and transmitted by the user's terminal. Preferably, the user's terminal transmits a verification response to the one-time verification information received from the FIDO server 2000 to the FIDO server 2000 by sending a service request, and when user authentication is completed, the first OTP information is transmitted. A process of generating and transmitting to the service authentication server 1000, that is, a process in the form of a program for performing a user authentication step and an OTP authentication step may be operated.

단계S330에서는, FIDO서버(2000)에 의하여, 서비스인증서버(1000)로부터 사용자의 OTP인증요청을 송신한다.In step S330, the FIDO server 2000 transmits the user's OTP authentication request from the service authentication server 1000.

단계S340에서는, FIDO서버(2000)에 의하여, FIDO서버(2000)에 저장된 공개키를 포함하는 사용자공통정보에 기초하여 OTP시드를 생성한다.In step S340, the FIDO server 2000 generates an OTP seed based on the user common information including the public key stored in the FIDO server 2000.

단계S350에서는, FIDO서버(2000)에 의하여, 단계S340에서 생성한 OTP시드 및 시간정보에 기초하여 제2OTP정보를 생성한다.In step S350, the FIDO server 2000 generates second OTP information based on the OTP seed and time information generated in step S340.

단계S360에서는, FIDO서버(2000)에 의하여, 단계S350에서 생성된 제2OTP정보를 서비스인증서버(1000)로 송신한다.In step S360, the FIDO server 2000 transmits the second OTP information generated in step S350 to the service authentication server 1000.

단계S370에서는, 서비스인증서버(1000)에 의하여, 사용자의 단말기로부터 수신한 제1OTP정보 및 FIDO서버(2000)로부터 수신한 제2OTP정보의 일치여부를 판별하여 OTP인증을 수행한다. 제1OTP정보 및 제2OTP정보가 일치하는 경우 OTP인증을 완료하고, 제1OTP정보 및 제2OTP정보가 일치하지 않는 경우, OTP인증은 완료되지 않는다. 바람직하게는, 상기 OTP인증단계는 상기 사용자인증단계에서 사용자인증이 완료된 경우에만 실행이 될 수 있다.In step S370, the service authentication server 1000 determines whether the first OTP information received from the user's terminal matches the second OTP information received from the FIDO server 2000, and performs OTP authentication. When the first OTP information and the second OTP information match, the OTP authentication is completed, and when the first OTP information and the second OTP information do not match, the OTP authentication is not completed. Preferably, the OTP authentication step may be executed only when user authentication is completed in the user authentication step.

이와 같은 방식으로, FIDO서버(2000)와 사용자의 단말기에서만 공유된 사용자공통정보를 시드로 하여 OTP정보를 생성하여 인증을 수행함으로써, OTP정보의 보안 취약성을 강화시킬 수 있는 효과를 발휘할 수 있다.In this way, by performing authentication by generating OTP information using the user common information shared only with the FIDO server 2000 and the user's terminal as a seed, the security vulnerability of the OTP information can be enhanced.

도 6은 본 발명의 다른 실시예에 따른 OTP인증단계의 수행 과정을 개략적으로 도시한다.6 schematically shows a process of performing an OTP authentication step according to another embodiment of the present invention.

본 발명의 다른 실시예에 따른, 생체정보 기반 OTP 인증 방법은, 상기 FIDO서버(2000)에 의하여, 사용자의 단말기가 송신한 사용자등록요청에 따라 사용자의 단말기로 로컬인증요청을 송신하고, 사용자의 단말기에서의 로컬인증의 수행에 따라 생성된 사용자공통정보를 수신하여 저장하는 사용자등록단계; 상기 FIDO서버(2000)에 의하여, 상기 사용자공통정보에 기초하여 유도된 대칭키에 의하여 FIDO서버(2000)에 저장된 OTP시드를 암호화하여 암호화OTP시드를 생성하는 OTP시드암호화단계; 상기 FIDO서버(2000)에 의하여, 사용자의 단말기로 일회성검증정보를 송신하고, 상기 일회성검증정보에 대한 검증응답을 수신하여 상기 사용자공통정보에 포함된 정보에 의하여 상기 검증응답의 검증을 통해 사용자인증을 수행하는 사용자인증단계; 상기 서비스인증서버에 의하여, 사용자의 단말기에 저장된 OTP시드정보를 기초로 하여 상기 사용자의 단말기에서 생성된 제1OTP정보를 수신하는 단계; 상기 FIDO서버(2000)에 의하여, 상기 FIDO서버(2000)에 의하여, 상기 사용자공통정보에 기초하여 유도된 대칭키에 의하여 상기 암호화OTP시드를 복호화하여 OTP시드를 도출하고, 도출한 OTP시드를 기초로 하여 제2OTP정보를 생성하는 단계; 및 상기 서비스인증서버에 의하여, 상기 FIDO서버에서 생성된 제2OTP정보를 수신하고 상기 제1OTP정보 및 제2OTP정보의 일치여부를 판별하는 단계;를 포함하는 OTP인증단계;를 포함한다.According to another embodiment of the present invention, the biometric information-based OTP authentication method transmits, by the FIDO server 2000, a local authentication request to the user's terminal according to the user registration request sent by the user's terminal, and A user registration step of receiving and storing user common information generated according to local authentication in the terminal; An OTP seed encryption step of generating an encrypted OTP seed by encrypting the OTP seed stored in the FIDO server 2000 by the FIDO server 2000 by the symmetric key derived based on the user common information; The FIDO server 2000 transmits one-time verification information to the user's terminal, receives a verification response for the one-time verification information, and authenticates the user through verification of the verification response according to the information included in the user common information. A user authentication step of performing; Receiving, by the service authentication server, first OTP information generated in the user's terminal based on the OTP seed information stored in the user's terminal; By the FIDO server 2000, the FIDO server 2000 decrypts the encrypted OTP seed by the symmetric key derived based on the user common information to derive an OTP seed, and based on the derived OTP seed Generating second OTP information; And an OTP authentication step including; receiving, by the service authentication server, the second OTP information generated by the FIDO server and determining whether the first OTP information and the second OTP information match.

본 발명의 다른 실시예에서는, OTP인증을 수행함에 있어서, OTP정보를 생성하는 OTP시드가 사용자의 단말기 및 FIDO서버(2000)에 과거에 공유되어 기저장된 경우, 사용자등록단계의 수행 후, 상기 사용자공통정보에 기초하여 유도된 대칭키에 의하여 FIDO서버(2000)에 저장된 OTP시드를 암호화하여 암호화OTP시드를 생성하는 OTP시드암호화단계(미도시);가 더 수행될 수 있다. 이후, 상기 도 4의 설명한 바와 같이, 사용자인증단계가 수행된다. 바람직하게는 사용자인증단계에서 사용자인증이 완료된 경우에만, 도 6에 도시된 바와 같은 OTP인증단계가 수행될 수 있다.In another embodiment of the present invention, in performing OTP authentication, when the OTP seed for generating OTP information is previously shared and previously stored in the user's terminal and the FIDO server 2000, after the user registration step is performed, the user An OTP seed encryption step (not shown) of generating an encrypted OTP seed by encrypting the OTP seed stored in the FIDO server 2000 by the symmetric key derived based on the common information may be further performed. Thereafter, as described in FIG. 4, a user authentication step is performed. Preferably, only when user authentication is completed in the user authentication step, the OTP authentication step as shown in FIG. 6 may be performed.

도 6에 도시된 바에 따른, 본 발명의 다른 실시예에서는, 상기 OTP인증단계는, 상기 서비스인증서버(1000)에 의하여, 사용자의 단말기에서 생성하여 송신된 제1OTP정보를 수신하는 단계(S420); 상기 FIDO서버(2000)에 의하여, 상기 서비스인증서버(1000)로부터 상기 사용자의 OTP인증요청을 수신하는 단계(S430); 상기 FIDO서버(2000)에 의하여, 상기 사용자공통정보에 기초하여 유도된 대칭키에 의하여 상기 암호화OTP시드를 복호화하여 OTP시드를 도출하는 단계(S440); 상기 FIDO서버(2000)에 의하여, 도출된 OTP시드 및 시간정보를 포함하는 상기 OTP생성정보에 기초하여 제2OTP정보를 생성하는 단계(S450); 상기 FIDO서버(2000)에 의하여, 상기 제2OTP정보를 상기 서비스인증서버(1000)로 송신하는 단계(S460); 상기 서비스인증서버(1000)에 의하여, 상기 제1OTP정보 및 제2OTP정보의 일치여부를 판별하여 OTP인증을 수행하는 단계(S470);를 포함한다.As shown in FIG. 6, in another embodiment of the present invention, the OTP authentication step is a step of receiving, by the service authentication server 1000, first OTP information generated and transmitted by the user's terminal (S420). ; Receiving the OTP authentication request of the user from the service authentication server 1000 by the FIDO server 2000 (S430); Deriving an OTP seed by decrypting the encrypted OTP seed using a symmetric key derived based on the user common information by the FIDO server 2000 (S440); Generating second OTP information based on the OTP generation information including the derived OTP seed and time information by the FIDO server 2000 (S450); Transmitting the second OTP information to the service authentication server 1000 by the FIDO server 2000 (S460); And performing OTP authentication by determining whether the first OTP information and the second OTP information match by the service authentication server 1000 (S470).

단계S410에서는, 사용자의 단말기는 과거에 공유되어 저장된 OTP시드 및 시간정보에 기초하여 제1OTP정보를 생성한다.In step S410, the user's terminal generates first OTP information based on the OTP seed and time information shared and stored in the past.

단계S420에서는, 사용자의 단말기는, 단계S410단계에서 생성된 제1OTP정보를 서비스인증서버(1000)로 송신한다. 즉, 서비스인증서버(1000)에 의하여, 사용자의 단말기에서 생성하여 송신된 제1OTP정보를 수신한다. 바람직하게는, 사용자의 단말기는, 서비스요청을 송신함으로써, FIDO서버(2000)로부터 수신한 일회성검증정보에 대한 검증응답을 FIDO서버(2000)로 송신하고, 사용자인증이 완료된 경우, 제1OTP정보를 생성하여 서비스인증서버(1000)로 송신하는 과정, 즉 사용자인증단계 및 OTP인증단계를 수행하는 하나의 프로그램 형태의 프로세스가 동작될 수 있다.In step S420, the user's terminal transmits the first OTP information generated in step S410 to the service authentication server 1000. That is, the service authentication server 1000 receives the first OTP information generated and transmitted by the user's terminal. Preferably, the user's terminal transmits a verification response to the one-time verification information received from the FIDO server 2000 to the FIDO server 2000 by sending a service request, and when user authentication is completed, the first OTP information is transmitted. A process of generating and transmitting to the service authentication server 1000, that is, a process in the form of a program for performing a user authentication step and an OTP authentication step may be operated.

단계S430에서는, FIDO서버(2000)에 의하여, 서비스인증서버(1000)로부터 사용자의 OTP인증요청을 송신한다.In step S430, the FIDO server 2000 transmits the user's OTP authentication request from the service authentication server 1000.

단계S440에서는, FIDO서버(2000)에 의하여, 상기 사용자공통정보에 기초하여 유도된 대칭키에 의하여 상기 암호화OTP시드를 복호화하여 OTP시드를 도출한다. 사용자인증단계에서 사용자인증이 완료된 경우, FIDO서버는 상기 사용자공통정보에 기초하여 대칭키를 유도한다. 이후, OTP시드암호화단계에서 생성하여 FIDO서버에 저장되어 있는 암호화OTP시드를 유도한 대칭키에 의하여 복호화하여 OTP시드를 도출한다. 바람직하게는, 상기 사용자공통정보는 사용자의 단말기에서 생성된 공개키 및 사용자아이디를 포함한다.In step S440, the FIDO server 2000 decrypts the encrypted OTP seed using the symmetric key derived based on the user common information to derive the OTP seed. When user authentication is completed in the user authentication step, the FIDO server derives a symmetric key based on the user common information. Thereafter, the OTP seed is derived by decrypting using the symmetric key derived from the encrypted OTP seed generated in the OTP seed encryption step and stored in the FIDO server. Preferably, the user common information includes a public key and a user ID generated in the user's terminal.

단계S450에서는, FIDO서버(2000)에 의하여, 단계S440에서 도출된 OTP시드 및 시간정보를 포함하는 OTP생성정보에 기초하여 제2OTP정보를 생성한다.In step S450, the FIDO server 2000 generates second OTP information based on the OTP generation information including the OTP seed and time information derived in step S440.

단계S460에서는, FIDO서버(2000)에 의하여, 단계S450에서 생성된 제2OTP정보를 상기 서비스인증서버(1000)로 송신한다.In step S460, the FIDO server 2000 transmits the second OTP information generated in step S450 to the service authentication server 1000.

단계S470에서는, 서비스인증서버(1000)에 의하여, 사용자의 단말기로부터 수신한 제1OTP정보 및 FIDO서버(2000)로부터 수신한 제2OTP정보의 일치여부를 판별하여 OTP인증을 수행한다. 제1OTP정보 및 제2OTP정보가 일치하는 경우 OTP인증을 완료하고, 제1OTP정보 및 제2OTP정보가 일치하지 않는 경우, OTP인증은 완료되지 않는다. 바람직하게는, 상기 OTP인증단계는 상기 사용자인증단계에서 사용자인증이 완료된 경우에만 실행이 될 수 있다.In step S470, the service authentication server 1000 determines whether the first OTP information received from the user's terminal matches the second OTP information received from the FIDO server 2000, and performs OTP authentication. When the first OTP information and the second OTP information match, the OTP authentication is completed, and when the first OTP information and the second OTP information do not match, the OTP authentication is not completed. Preferably, the OTP authentication step may be executed only when user authentication is completed in the user authentication step.

이와 같은 방식으로 FIDO서버(2000)와 사용자의 단말기에서 과거에 이미 공유되어 저장되었거나, 사용자공통정보 혹은 다른 정보를 시드로 하여 생성되어 저장된 OTP시드를 FIDO기반 사용자인증을 수행하고, 사용자공통정보에 기초하여 유도한 대칭키로 암호화함으로써, OTP정보의 보안 취약성을 강화시킬 수 있는 효과를 발휘할 수 있다.In this way, the FIDO server 2000 and the user's terminal have already been shared and stored in the past, or the OTP seed created and stored using common user information or other information as a seed performs FIDO-based user authentication, and By encrypting with a symmetric key derived based on it, the effect of reinforcing the security vulnerability of OTP information can be exhibited.

도 7은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 내부구성을 예시적으로 도시한다.7 exemplarily shows an internal configuration of a computing device according to an embodiment of the present invention.

도 1에 도시된 구성요소 전체 혹은 일부는 후술하는 컴퓨팅장치의 구성요소를 포함할 수 있다.All or part of the components illustrated in FIG. 1 may include components of a computing device to be described later.

도 7에 도시한 바와 같이, 컴퓨팅 장치(11000)은 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/Osubsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다.7, the computing device 11000 includes at least one processor 11100, a memory 11200, a peripheral interface 11300, and an input/output subsystem ( I/Osubsystem) 11400, a power circuit 11500, and a communication circuit 11600 may be included at least.

메모리(11200)는, 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅 장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그밖에 다양한 데이터를 포함할 수 있다.The memory 11200 may include, for example, high-speed random access memory, magnetic disk, SRAM, DRAM, ROM, flash memory, or nonvolatile memory. have. The memory 11200 may include a software module, an instruction set, or other various data necessary for the operation of the computing device 11000.

이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다. 상기 프로세서(11100)은 단일 혹은 복수로 구성될 수 있고, 연산처리속도 향상을 위하여 GPU 및 TPU 형태의 프로세서를 포함할 수 있다.In this case, access to the memory 11200 from another component such as the processor 11100 or the peripheral device interface 11300 may be controlled by the processor 11100. The processor 11100 may be configured as a single unit or a plurality of units, and may include a processor in the form of a GPU and a TPU in order to improve operation processing speed.

주변장치 인터페이스(11300)는 컴퓨팅 장치(11000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅 장치(11000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.The peripheral device interface 11300 may couple input and/or output peripheral devices of the computing device 11000 to the processor 11100 and the memory 11200. The processor 11100 may execute various functions for the computing device 11000 and process data by executing a software module or instruction set stored in the memory 11200.

입/출력 서브시스템(11400)은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템(11400)은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템(11400)을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.The input/output subsystem 11400 may couple various input/output peripherals to the peripherals interface 11300. For example, the input/output subsystem 11400 may include a monitor, a keyboard, a mouse, a printer, or a controller for coupling a peripheral device such as a touch screen or a sensor to the peripheral device interface 11300 as needed. According to another aspect, the input/output peripheral devices may be coupled to the peripheral device interface 11300 without going through the input/output subsystem 11400.

전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.The power circuit 11500 may supply power to all or part of the components of the terminal. For example, the power circuit 11500 may include a power management system, one or more power sources such as batteries or alternating current (AC), a charging system, a power failure detection circuit, a power converter or inverter, a power status indicator or power. It may contain any other components for creation, management, and distribution.

통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅 장치와 통신을 가능하게 할 수 있다.The communication circuit 11600 may enable communication with another computing device using at least one external port.

또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅 장치와 통신을 가능하게 할 수도 있다.Alternatively, as described above, if necessary, the communication circuit 11600 may enable communication with other computing devices by transmitting and receiving an RF signal, also known as an electromagnetic signal, including an RF circuit.

이러한 도 7의 실시예는, 컴퓨팅 장치(11000)의 일례일 뿐이고, 컴퓨팅 장치(11000)은 도 7에 도시된 일부 컴포넌트가 생략되거나, 도 7에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅 장치는 도 7에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(11600)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅 장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.The embodiment of FIG. 7 is only an example of the computing device 11000, and the computing device 11000 omits some of the components shown in FIG. 7 or further includes additional components not shown in FIG. It can have a configuration or arrangement that combines two or more components. For example, a computing device for a communication terminal in a mobile environment may further include a touch screen or a sensor in addition to the components shown in FIG. 7, and various communication methods (WiFi, 3G, LTE) in the communication circuit 11600 , Bluetooth, NFC, Zigbee, etc.) may include a circuit for RF communication. Components that may be included in the computing device 11000 may be implemented as hardware, software, or a combination of hardware and software including one or more signal processing or application-specific integrated circuits.

본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅 장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말이기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.Methods according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computing devices and recorded in a computer-readable medium. In particular, the program according to the present embodiment may be configured as a PC-based program or an application dedicated to a mobile terminal. An application to which the present invention is applied may be installed on a user terminal through a file provided by the file distribution system. As an example, the file distribution system may include a file transmission unit (not shown) that transmits the file according to the request of the user terminal.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, such as one or more general purpose computers or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. Further, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

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

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(OTPical media), 플롭티컬 디스크(flOTPical disk)와 같은 자기-광 매체(magneto-OTPical 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 in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. 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 flOTPical disks. -Optical media (Magneto-OTPical media), and hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and drawings as described above, various modifications and variations can be made from the above description to those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as systems, structures, devices, circuits, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and those equivalent to the claims also fall within the scope of the claims to be described later.

Claims (9)

사용자의 단말기와 직접적 혹은 간접적으로 데이터 통신을 수행할 수 있는 서비스인증서버 및 FIDO서버에서 수행되는 생체정보 기반 OTP 인증 방법으로서,
상기 FIDO서버에 의하여, 사용자의 단말기가 송신한 사용자등록요청에 따라 사용자의 단말기로 로컬인증요청을 송신하고, 사용자의 단말기에서의 로컬인증의 수행에 따라 생성된 사용자공통정보를 수신하여 저장하는 사용자등록단계;
상기 FIDO서버에 의하여, 사용자의 단말기로 일회성검증정보를 송신하고, 상기 일회성검증정보에 대한 검증응답을 수신하여 상기 사용자공통정보에 포함된 정보에 의하여 상기 검증응답의 검증을 통해 사용자인증을 수행하는 사용자인증단계; 및
상기 서비스인증서버에 의하여, 사용자의 단말기에 저장된 사용자공통정보를 시드로 하여 상기 사용자의 단말기에서 생성된 제1OTP정보를 수신하는 단계; 상기 FIDO서버에 의하여, FIDO서버에 저장된 사용자공통정보를 시드로 하여 제2OTP정보를 생성하는 단계; 및 상기 서비스인증서버에 의하여, 상기 FIDO서버에서 생성된 제2OTP정보를 수신하고 상기 제1OTP정보 및 제2OTP정보의 일치여부를 판별하는 단계를 포함하는 OTP인증단계;를 포함하는, 생체정보 기반 OTP 인증 방법.
As a biometric information-based OTP authentication method performed in a service authentication server and FIDO server that can directly or indirectly perform data communication with a user's terminal,
A user who transmits a local authentication request to the user's terminal according to the user registration request sent by the user's terminal by the FIDO server, and receives and stores user common information generated according to the local authentication performed in the user's terminal. Registration step;
Transmitting one-time verification information to the user's terminal by the FIDO server, receiving a verification response for the one-time verification information, and performing user authentication through verification of the verification response according to the information included in the user common information. User authentication step; And
Receiving, by the service authentication server, first OTP information generated in the user's terminal by using the user common information stored in the user's terminal as a seed; Generating second OTP information by using the common user information stored in the FIDO server as a seed by the FIDO server; And an OTP authentication step including, by the service authentication server, receiving the second OTP information generated by the FIDO server and determining whether the first OTP information and the second OTP information match or not; including, biometric information-based OTP Authentication method.
청구항 1에 있어서,
상기 사용자등록단계는,
상기 FIDO서버에 의하여, 사용자의 단말기로부터 상기 사용자등록요청을 수신하는 단계;
상기 FIDO서버에 의하여, 사용자의 단말기에 로컬인증요청을 송신하는 단계;
상기 FIDO서버에 의하여, 상기 로컬인증요청에 따라 로컬인증을 수행한 사용자의 단말기로부터 생성된 공개키를 포함하는 상기 사용자공통정보를 수신하는 단계; 및
상기 FIDO서버에 의하여, 수신한 상기 공개키를 포함하는 상기 사용자공통정보를 상기 FIDO서버에 저장하는 단계;를 포함하는 생체정보 기반 OTP 인증 방법.
The method according to claim 1,
The user registration step,
Receiving, by the FIDO server, the user registration request from the user's terminal;
Transmitting, by the FIDO server, a local authentication request to the user's terminal;
Receiving, by the FIDO server, the user common information including a public key generated from a terminal of a user who has performed local authentication according to the local authentication request; And
Storing the user common information including the received public key in the FIDO server by the FIDO server.
청구항 1에 있어서.
상기 사용자공통정보는,
사용자의 단말기에서 생성된 공개키 및 사용자아이디를 포함하는, 생체정보 기반 OTP 인증 방법.
The method according to claim 1.
The user common information,
Biometric information-based OTP authentication method including a public key and a user ID generated in the user's terminal.
청구항 1에 있어서,
상기 로컬인증은,
사용자의 단말기에 기저장된 사용자의 생체정보 및 사용자의 단말기에 입력된 생체정보의 일치여부를 판별하여 수행되는, 생체정보 기반 OTP 인증 방법.
The method according to claim 1,
The local authentication,
Biometric information-based OTP authentication method performed by determining whether the user's biometric information previously stored in the user's terminal and the biometric information input to the user's terminal match.
청구항 1에 있어서.
상기 사용자인증단계는,
상기 서비스인증서버에 의하여, 사용자의 단말기로부터 서비스요청을 수신하는 단계;
상기 FIDO서버에 의하여, 상기 서비스인증서버로부터 사용자인증요청을 수신하는 단계;
상기 FIDO서버에 의하여, 일회성검증정보를 생성하여 사용자의 단말기로 송신하는 단계;
상기 FIDO서버에 의하여, 로컬인증이 수행된 사용자의 단말기로부터 사용자의 개인키로 암호화 된 상기 일회성검증정보를 포함하는 상기 검증응답을 수신하는 단계;
상기 FIDO서버에 의하여, 상기 사용자등록단계에서 저장된 사용자의 공개키에 의하여 수신한 상기 검증응답의 복호화를 수행하는 단계; 및
상기 FIDO서버에 의하여, 복호화된 상기 일회성검증정보 및 상기 FIDO서버에서 생성한 일회성검증정보의 일치여부를 판별하여 사용자인증을 수행하는 단계;를 포함하는, 생체정보 기반 OTP 인증 방법.
The method according to claim 1.
The user authentication step,
Receiving, by the service authentication server, a service request from the user's terminal;
Receiving, by the FIDO server, a user authentication request from the service authentication server;
Generating one-time verification information by the FIDO server and transmitting it to a user's terminal;
Receiving, by the FIDO server, the verification response including the one-time verification information encrypted with the user's private key from the user's terminal for which local authentication has been performed;
Decrypting the verification response received by the FIDO server using the user's public key stored in the user registration step; And
Comprising, by the FIDO server, determining whether the one-time verification information decrypted and the one-time verification information generated by the FIDO server match and performing user authentication; comprising, biometric information-based OTP authentication method.
청구항 1에 있어서,
상기 OTP인증단계는,
상기 서비스인증서버에 의하여, 사용자의 단말기에서 생성하여 송신된 제1OTP정보를 수신하는 단계;
상기 FIDO서버에 의하여, 상기 서비스인증서버로부터 상기 사용자의 OTP인증요청을 수신하는 단계;
상기 FIDO서버에 의하여, 상기 사용자공통정보에 기초하여 OTP시드를 생성하는 단계;
상기 FIDO서버에 의하여, 상기 OTP시드 및 시간정보를 포함하는 OTP생성정보에 기초하여 제2OTP정보를 생성하는 단계;
상기 FIDO서버에 의하여, 상기 제2OTP정보를 상기 서비스인증서버로 송신하는 단계;
상기 서비스인증서버에 의하여, 상기 제1OTP정보 및 제2OTP정보의 일치여부를 판별하여 OTP인증을 수행하는 단계;를 포함하는, 생체정보 기반 OTP 인증 방법.
The method according to claim 1,
The OTP authentication step,
Receiving, by the service authentication server, first OTP information generated and transmitted by the user's terminal;
Receiving, by the FIDO server, the user's OTP authentication request from the service authentication server;
Generating, by the FIDO server, an OTP seed based on the user common information;
Generating, by the FIDO server, second OTP information based on OTP generation information including the OTP seed and time information;
Transmitting the second OTP information to the service authentication server by the FIDO server;
Including, biometric information-based OTP authentication method; determining whether the first OTP information and the second OTP information are matched by the service authentication server.
청구항 1에 있어서,
상기 OTP인증단계는 상기 사용자인증단계에서 사용자인증이 완료된 경우에만 실행이 될 수 있는, 생체정보 기반 OTP 인증 방법.
The method according to claim 1,
The OTP authentication step can be executed only when user authentication is completed in the user authentication step, biometric information-based OTP authentication method.
사용자의 단말기와 직접적 혹은 간접적으로 데이터 통신을 수행할 수 있는 서비스인증서버 및 FIDO서버에의하여 구현되는 생체정보 기반 OTP 인증 시스템으로서,
상기 FIDO서버는 사용자의 단말기가 송신한 사용자등록요청에 따라 사용자의 단말기로 로컬인증요청을 송신하고,
상기 FIDO서버는 사용자의 단말기에서의 로컬인증의 수행에 따라 생성된 사용자공통정보를 수신하여 저장하고,
상기 FIDO서버는 사용자의 단말기로 일회성검증정보를 송신하고,
상기 FIDO서버는 상기 일회성검증정보에 대한 검증응답을 수신하여 상기 사용자공통정보에 포함된 정보에 의하여 상기 검증응답의 검증을 통해 사용자인증을 수행하고,
상기 서비스인증서버는 사용자의 단말기에 저장된 사용자공통정보를 시드로 하여 상기 사용자의 단말기에서 생성된 제1OTP정보를 수신하고,
상기 FIDO서버는 FIDO서버에 저장된 사용자공통정보를 시드로 하여 제2OTP정보를 생성하고,
상기 서비스인증서버는 상기 FIDO서버에서 생성된 제2OTP정보를 수신하고,
상기 서비스인증서버는 상기 제1OTP정보 및 제2OTP정보의 일치여부를 판별하는, 생체정보 기반 OTP 인증 시스템.
As a biometric information-based OTP authentication system implemented by a service authentication server and FIDO server that can directly or indirectly perform data communication with a user's terminal,
The FIDO server transmits a local authentication request to the user's terminal according to the user registration request sent by the user's terminal,
The FIDO server receives and stores user common information generated according to local authentication performed in the user's terminal,
The FIDO server transmits one-time verification information to the user's terminal,
The FIDO server receives a verification response for the one-time verification information and performs user authentication through verification of the verification response according to the information included in the user common information,
The service authentication server receives the first OTP information generated by the user's terminal by using the user common information stored in the user's terminal as a seed,
The FIDO server generates second OTP information by using the user common information stored in the FIDO server as a seed,
The service authentication server receives the second OTP information generated by the FIDO server,
The service authentication server determines whether the first OTP information and the second OTP information match.
사용자의 단말기와 직접적 혹은 간접적으로 데이터 통신을 수행할 수 있는 서비스인증서버 및 FIDO서버에서 수행되는 생체정보 기반 OTP 인증 방법으로서,
상기 FIDO서버에 의하여, 사용자의 단말기가 송신한 사용자등록요청에 따라 사용자의 단말기로 로컬인증요청을 송신하고, 사용자의 단말기에서의 로컬인증의 수행에 따라 생성된 사용자공통정보를 수신하여 저장하는 사용자등록단계;
상기 FIDO서버에 의하여, 상기 사용자공통정보에 기초하여 유도된 대칭키에 의하여 FIDO서버에 저장된 OTP시드를 암호화하여 암호화OTP시드를 생성하는 OTP시드암호화단계;
상기 FIDO서버에 의하여, 사용자의 단말기로 일회성검증정보를 송신하고, 상기 일회성검증정보에 대한 검증응답을 수신하여 상기 사용자공통정보에 포함된 정보에 의하여 상기 검증응답의 검증을 통해 사용자인증을 수행하는 사용자인증단계;
상기 서비스인증서버에 의하여, 사용자의 단말기에 저장된 OTP시드정보를 기초로 하여 상기 사용자의 단말기에서 생성된 제1OTP정보를 수신하는 단계; 상기 FIDO서버에 의하여, 상기 사용자공통정보에 기초하여 유도된 대칭키에 의하여 상기 암호화OTP시드를 복호화하여 OTP시드를 도출하고, 도출한 OTP시드를 기초로 하여 제2OTP정보를 생성하는 단계; 및 상기 서비스인증서버에 의하여, 상기 FIDO서버에서 생성된 제2OTP정보를 수신하고 상기 제1OTP정보 및 제2OTP정보의 일치여부를 판별하는 단계;를 포함하는 OTP인증단계;를 포함하는, 생체정보 기반 OTP 인증 방법.

As a biometric information-based OTP authentication method performed in a service authentication server and FIDO server that can directly or indirectly perform data communication with a user's terminal,
A user who transmits a local authentication request to the user's terminal according to the user registration request sent by the user's terminal by the FIDO server, and receives and stores user common information generated according to the local authentication performed in the user's terminal. Registration step;
An OTP seed encryption step of generating an encrypted OTP seed by encrypting the OTP seed stored in the FIDO server using a symmetric key derived based on the user common information by the FIDO server;
Transmitting one-time verification information to the user's terminal by the FIDO server, receiving a verification response for the one-time verification information, and performing user authentication through verification of the verification response according to the information included in the user common information. User authentication step;
Receiving, by the service authentication server, first OTP information generated in the user's terminal based on the OTP seed information stored in the user's terminal; Deriving an OTP seed by decrypting the encrypted OTP seed using a symmetric key derived based on the user common information by the FIDO server, and generating second OTP information based on the derived OTP seed; And, by the service authentication server, receiving the second OTP information generated by the FIDO server and determining whether the first OTP information and the second OTP information match or not; including an OTP authentication step; including, based on biometric information OTP authentication method.

KR1020190128910A 2019-10-17 2019-10-17 Method and System for OTP authentication based on Bio-Information KR102448333B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190128910A KR102448333B1 (en) 2019-10-17 2019-10-17 Method and System for OTP authentication based on Bio-Information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190128910A KR102448333B1 (en) 2019-10-17 2019-10-17 Method and System for OTP authentication based on Bio-Information

Publications (2)

Publication Number Publication Date
KR20210045634A true KR20210045634A (en) 2021-04-27
KR102448333B1 KR102448333B1 (en) 2022-09-28

Family

ID=75725680

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190128910A KR102448333B1 (en) 2019-10-17 2019-10-17 Method and System for OTP authentication based on Bio-Information

Country Status (1)

Country Link
KR (1) KR102448333B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102435885B1 (en) * 2021-12-13 2022-08-24 캠플러스(주) Web camera applying a security solution based on onetime password
KR102453310B1 (en) * 2022-06-20 2022-10-11 주식회사 피씨티 Method and System for Provide OTP
KR20230026697A (en) 2021-08-18 2023-02-27 주식회사 바이오로그디바이스 solar charging type OTP Generator based on bio-information
WO2023177163A1 (en) * 2022-03-16 2023-09-21 주식회사 빌리버 Method of accessing open source-based metaverse platform using avatar-token information
WO2024046418A1 (en) * 2022-09-02 2024-03-07 华为技术有限公司 Data protection method and electronic device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090020869A (en) * 2007-08-24 2009-02-27 삼성전자주식회사 System and method of transmitting/receiving encrypted data in a communication system
KR20090022425A (en) * 2007-08-30 2009-03-04 씨티아이에스(주) Multiple authentication access system and the method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090020869A (en) * 2007-08-24 2009-02-27 삼성전자주식회사 System and method of transmitting/receiving encrypted data in a communication system
KR20090022425A (en) * 2007-08-30 2009-03-04 씨티아이에스(주) Multiple authentication access system and the method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
금융보안원 보안기술연구팀, FIDO2.0 구조적 특징 소개 (2017.7.11.)* *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230026697A (en) 2021-08-18 2023-02-27 주식회사 바이오로그디바이스 solar charging type OTP Generator based on bio-information
KR102435885B1 (en) * 2021-12-13 2022-08-24 캠플러스(주) Web camera applying a security solution based on onetime password
WO2023177163A1 (en) * 2022-03-16 2023-09-21 주식회사 빌리버 Method of accessing open source-based metaverse platform using avatar-token information
KR102453310B1 (en) * 2022-06-20 2022-10-11 주식회사 피씨티 Method and System for Provide OTP
WO2024046418A1 (en) * 2022-09-02 2024-03-07 华为技术有限公司 Data protection method and electronic device

Also Published As

Publication number Publication date
KR102448333B1 (en) 2022-09-28

Similar Documents

Publication Publication Date Title
KR102448333B1 (en) Method and System for OTP authentication based on Bio-Information
US10277591B2 (en) Protection and verification of user authentication credentials against server compromise
US9875368B1 (en) Remote authorization of usage of protected data in trusted execution environments
EP3319292B1 (en) Methods, client and server for checking security based on biometric features
US20210192090A1 (en) Secure data storage device with security function implemented in a data security bridge
US8261072B2 (en) Method and system for secure external TPM password generation and use
KR101755995B1 (en) Method and system for feature vector based remote biometric verification using homomorphic encryption
US10255425B2 (en) Secure authentication protocol systems and methods
US11683181B2 (en) Persona and device based certificate management
US10037418B2 (en) Pre-boot authentication credential sharing system
US10972262B2 (en) Persona and device based certificate management
US20140281568A1 (en) Using Biometrics to Generate Encryption Keys
US20190297075A1 (en) Repeated secondary user authentication
KR101739203B1 (en) Password-based user authentication method using one-time private key-based digital signature and homomorphic encryption
US8918844B1 (en) Device presence validation
KR102171746B1 (en) Bio Electronic Signature Using Block-chain Method and Device Thereof
US20190306155A1 (en) Generating cryptographic keys using supplemental authentication data
KR102008101B1 (en) Secure biometric authentication method using functional encryption
US9894062B2 (en) Object management for external off-host authentication processing systems
KR102171749B1 (en) Plural Signer Bio Electronic Signature Using Block-chain Method and Device Thereof
Verma et al. A novel model to enhance the data security in cloud environment
KR102310811B1 (en) Method and System for electronic authentication and encryption of data Based On Cloud System
KR101659226B1 (en) Method and system for remote biometric verification using fully homomorphic encryption
KR102492553B1 (en) Method and System for Digital Signature which unused Password based on FIDO Authentication
KR102561689B1 (en) Apparatus and method for registering biometric information, apparatus and method for biometric authentication

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2021101003204; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20211217

Effective date: 20220712

GRNO Decision to grant (after opposition)