KR102199985B1 - System and method for user authentication based on fido - Google Patents

System and method for user authentication based on fido Download PDF

Info

Publication number
KR102199985B1
KR102199985B1 KR1020190054956A KR20190054956A KR102199985B1 KR 102199985 B1 KR102199985 B1 KR 102199985B1 KR 1020190054956 A KR1020190054956 A KR 1020190054956A KR 20190054956 A KR20190054956 A KR 20190054956A KR 102199985 B1 KR102199985 B1 KR 102199985B1
Authority
KR
South Korea
Prior art keywords
authentication
information
user
token
random number
Prior art date
Application number
KR1020190054956A
Other languages
Korean (ko)
Other versions
KR20200112573A (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 케이포시큐리티 주식회사
Publication of KR20200112573A publication Critical patent/KR20200112573A/en
Application granted granted Critical
Publication of KR102199985B1 publication Critical patent/KR102199985B1/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/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
    • H04L9/3213Cryptographic 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 using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 사용자 인증 시스템은 응용 어플리케이션 및 인증 토큰과 연동되고, 인증 서버와 통신하는 사용자 인증 시스템에 있어서, 상기 응용 어플리케이션으로부터 사용자 계정정보를 수신하는 어플리케이션 연동부; 상기 인증 서버로부터 사용자 인증 등록을 위한 제 1 난수값을 수신하여 상기 인증 토큰으로 전달하고, 상기 인증 토큰으로부터 상기 제 1 난수값을 기반으로 생성된 인증토큰 등록정보를 수신하여 상기 인증 서버로 전달하는 연동부; 및 상기 사용자 계정정보와 상기 인증토큰 등록정보를 바인딩하여 사용자 인증 등록을 수행하는 인증 처리부를 포함한다.The user authentication system of the present invention is a user authentication system interlocking with an application application and an authentication token and communicating with an authentication server, comprising: an application linking unit for receiving user account information from the application application; Receives a first random number value for user authentication registration from the authentication server and transmits it to the authentication token, and receives authentication token registration information generated based on the first random number value from the authentication token and transmits it to the authentication server. Linkage; And an authentication processing unit that binds the user account information and the authentication token registration information to perform user authentication registration.

Figure 112019047918632-pat00002
Figure 112019047918632-pat00002

Description

FIDO 기반 사용자 인증 시스템 및 방법{SYSTEM AND METHOD FOR USER AUTHENTICATION BASED ON FIDO}FIDO-based user authentication system and method {SYSTEM AND METHOD FOR USER AUTHENTICATION BASED ON FIDO}

본 발명은 FIDO 기반 사용자 인증 시스템 및 방법에 관한 것이다.The present invention relates to a FIDO-based user authentication system and method.

생체정보 기반 인증기술인 FIDO(Fast Identity Online) 기술 방식은 아이디/패스워드, 공인인증서 등 기존 사용자 인증 방식을 대체하는 기술로 사용자의 디바이스에서 제공하는 인증방법을 온라인 서비스와 연동하여 사용자를 인증하는 방식과 기존 사용자 인증 방식의 보안성을 강화시킨 U2F(Universal 2nd Factor)방식으로 나눌 수 있다.FIDO (Fast Identity Online) technology, which is a biometric information-based authentication technology, is a technology that replaces existing user authentication methods such as ID/password and accredited certificates. It can be divided into U2F (Universal 2 nd Factor) method which enhance the security of existing user authentication scheme.

이들 중 U2F 방식은 기존 사용자 인증 방식에 소프트웨어 또는 하드웨어 보안토큰을 추가하여 강도 높은 인증을 사용자 로그인 시에 추가할 수 있는 방식으로, 최근 IT의 급속한 발전으로 인한 개인정보에 대한 보안 문제 또는 패스워드가 가지는 치명적인 보안 취약성을 보완하기 위하여 그 활용성이 급격하게 증가하고 있는 추세이다.Among these, the U2F method is a method that can add software or hardware security tokens to the existing user authentication method to add high-strength authentication at the time of user log-in, and the security problem for personal information or passwords caused by the rapid development of recent IT. In order to compensate for critical security vulnerabilities, the usability is increasing rapidly.

그런데, 상기와 같은 기술은 다음과 같은 문제가 있다.However, the technology as described above has the following problems.

U2F 방식은 사용자의 계정정보와 하드웨어 보안토큰 정보가 서로 연결되지 않기 때문에 인증을 받으려는 사용자가 자신의 아이디/패스워드를 입력하고 타인의 하드웨어 보안토큰으로 대신 추가인증을 수행하더라도 사용자 인증에 실패하지 않는다는 치명적인 문제점을 보유하고 있다.U2F method is fatal that user authentication does not fail even if the user who wants to authenticate enters his/her ID/password and performs additional authentication instead with the hardware security token of another person because the user's account information and hardware security token information are not connected to each other. I have a problem.

이에 따라, 온라인 서비스의 대다수 로그인 방식인 아이디/패스워드 방식에 U2F 방식을 적용하여 2차 인증을 수행할 때, 상기 문제점을 해소하기 위한 해결법이 필요한 실정이다.Accordingly, when performing secondary authentication by applying the U2F method to the ID/password method, which is the majority of login methods of online services, a solution to solve the above problem is required.

본 발명의 실시예들은 상기와 같은 문제를 해결하기 위해 제안된 것으로서, 아이디/패스워드를 이용한 1차 인증 방식과 인증토큰을 이용한 2차 인증 방식을 서로 바인딩하여 인증강도를 높이면서 사용자의 편리성을 증대시킬 수 있는 사용자 인증 시스템을 제공하고자 한다.Embodiments of the present invention have been proposed to solve the above problems, and by binding a primary authentication method using an ID/password and a second authentication method using an authentication token to each other, increasing the authentication strength and enhancing user convenience. It is intended to provide a user authentication system that can be increased.

또한, FIDO 기반 인증방식에서 생체인증정보를 활용한 신원확인 및 부인방지가 가능한 사용자 인증 시스템을 제공하고자 한다.In addition, it is intended to provide a user authentication system capable of identification and non-repudiation using biometric authentication information in a FIDO-based authentication method.

또한, 아이디/패스워드 인증 방식의 보안 취약성을 극복하고, 기존의 웹환경이나 새로운 스마트 모바일 환경에서도 지속적으로 사용할 수 있는 사용자 인증 시스템을 제공하고자 한다.In addition, it aims to overcome the security vulnerability of the ID/password authentication method and provide a user authentication system that can be continuously used in the existing web environment or new smart mobile environment.

본 발명의 일 실시예에 따른 사용자 인증 시스템은 응용 어플리케이션 및 인증 토큰과 연동되고, 인증 서버와 통신하는 사용자 인증 시스템에 있어서, 상기 응용 어플리케이션으로부터 사용자 계정정보를 수신하는 어플리케이션 연동부; 상기 인증 서버로부터 사용자 인증 등록을 위한 제 1 난수값을 수신하여 상기 인증 토큰으로 전달하고, 상기 인증 토큰으로부터 상기 제 1 난수값을 기반으로 생성된 인증토큰 등록정보를 수신하여 상기 인증 서버로 전달하는 연동부; 및 상기 사용자 계정정보와 상기 인증토큰 등록정보를 바인딩하여 사용자 인증 등록을 수행하는 인증 처리부를 포함할 수 있다.A user authentication system according to an embodiment of the present invention is a user authentication system that interlocks with an application application and an authentication token and communicates with an authentication server, comprising: an application interworking unit that receives user account information from the application application; Receives a first random number value for user authentication registration from the authentication server and transmits it to the authentication token, and receives authentication token registration information generated based on the first random number value from the authentication token and transmits it to the authentication server. Linkage; And an authentication processing unit that performs user authentication registration by binding the user account information and the authentication token registration information.

또한, 상기 인증 처리부는 상기 사용자 계정정보를 임시 저장하고, 상기 연동부를 통해 사용자 인증 등록을 위한 상기 제 1 난수값을 상기 인증 서버로부터 수신하고, 인증토큰 등록 요청을 생성하여 상기 제 1 난수값과 함께 상기 인증토큰 등록 요청을 상기 연동부를 통해 상기 인증 토큰으로 전송한다.In addition, the authentication processing unit temporarily stores the user account information, receives the first random number value for user authentication registration from the authentication server through the linking unit, generates an authentication token registration request, and generates the first random number value and Together, the authentication token registration request is transmitted to the authentication token through the interworking unit.

또한, 상기 인증 처리부는 상기 인증토큰 등록 요청에 응답하여 상기 인증 토큰에서 상기 제 1 난수값을 기반으로 생성된 상기 인증토큰 등록정보를 상기 연동부를 통해 반환받을 수 있다.In addition, the authentication processing unit may receive the authentication token registration information generated based on the first random number value from the authentication token in response to the authentication token registration request through the linking unit.

또한, 상기 인증토큰 등록정보는 상기 인증 토큰에 관한 토큰명세정보, 상기 제 1 난수값 및 상기 인증 토큰에 내장된 인증서의 개인키로 상기 제 1 난수값을 암호화한 제 1 서명값을 포함한다.In addition, the authentication token registration information includes token specification information about the authentication token, the first random number value, and a first signature value obtained by encrypting the first random number value with a private key of a certificate embedded in the authentication token.

또한, 상기 인증 처리부는 기 사용자 계정정보와 상기 인증토큰 등록정보를 한 쌍으로 하는 사용자 인증정보를 생성하여 데이터베이스에 저장하고, 기 연동부를 통해 상기 사용자 계정정보 및 상기 인증토큰 등록정보를 상기 인증 서버로 전송할 수 있다.In addition, the authentication processing unit generates user authentication information in which the user account information and the authentication token registration information are paired, and stores the user authentication information in a database, and stores the user account information and the authentication token registration information through the authentication server. Can be transferred to.

또한, 상기 인증 서버는 인증토큰 등록정보에 포함된 상기 제 1 난수값을 확인하여 상기 제 1 서명값을 검증하고, 기 제 1 서명값이 유효한 것으로 검증되면, 상기 사용자 계정정보 및 상기 인증토큰 등록정보를 등록한다.In addition, the authentication server verifies the first signature value by checking the first random number value included in the authentication token registration information, and if the first signature value is verified to be valid, the user account information and the authentication token are registered. Register the information.

또한, 상기 인증 처리부는 기 어플리케이션 연동부를 통해 상기 응용 어플리케이션으로부터 사용자 계정정보를 입력받으면, 상기 사용자 계정정보를 기반으로 1차 인증을 수행하고, 기 연동부를 통해 상기 인증 서버로 상기 사용자 계정정보를 전달하여 상기 인증 서버에 등록된 상기 인증토큰 등록정보를 이용하여 2차 인증을 수행할 수 있다.In addition, when the authentication processing unit receives user account information from the application application through the application linkage unit, it performs primary authentication based on the user account information, and transmits the user account information to the authentication server through the linkage unit. Accordingly, secondary authentication can be performed using the authentication token registration information registered in the authentication server.

또한, 상기 인증 처리부는 기 어플리케이션 연동부를 통해 상기 응용 어플리케이션으로부터 사용자 계정정보를 수신하고, 상기 연동부를 통해 상기 인증 토큰으로부터 상기 토큰명세정보를 수신하면, 상기 데이터베이스에 저장된 상기 사용자 인증정보 중 해당 사용자의 아이디 및 상기 아이디와 함께 저장된 상기 토큰명세정보의 등록 여부를 확인하고, 당 사용자의 아이디 및 토큰명세정보가 등록되어 있는 경우, 상기 인증 서버로 인증 검증을 위한 제 2 난수값을 요청하여 상기 제 2 난수값을 수신하고, 기 연동부를 통해 상기 제 2 난수값을 상기 인증 토큰으로 전달하고, 기 연동부를 통해 상기 인증 토큰으로부터 상기 제 2 난수값, 및 상기 인증 토큰에 내장된 인증서의 개인키로 상기 제 2 난수값을 암호화한 제 2 서명값을 수신하고, 기 연동부를 통해 상기 인증 서버로 상기 사용자 계정정보, 상기 제 2 난수값 및 상기 제 2 서명값을 전달하고, 기 연동부를 통해 상기 인증 서버로부터 상기 제 2 서명값의 유효 여부를 검증한 인증 검증 결과 정보를 수신하고, 기 어플리케이션 연동부를 통해 상기 응용 어플리케이션으로 상기 인증 검증 결과 정보를 반환한다.In addition, when the authentication processing unit receives user account information from the application application through the application linkage unit, and receives the token specification information from the authentication token through the linkage unit, the user authentication information stored in the database It checks whether an ID and the token specification information stored with the ID are registered, and if the ID and token specification information of the user are registered, a second random number value for authentication verification is requested from the authentication server, and the second Receiving a random number value, transmitting the second random number value to the authentication token through a pre-interlocking unit, and the second random number value from the authentication token through a pre-interlocking unit, and the private key of a certificate embedded in the authentication token. 2 Receives a second signature value encrypted with a random number value, transmits the user account information, the second random number value, and the second signature value to the authentication server through a pre-interlocking unit, and from the authentication server through a pre-interlocking unit Receives authentication verification result information verifying whether the second signature value is valid, and returns the authentication verification result information to the application application through an existing application linking unit.

또한, 본 발명의 일 실시예에 따른 사용자 인증 방법은 응용 어플리케이션, 인증 토큰, 인증 서버, 사용자 인증 시스템에 의해 수행되는 사용자 인증 방법에 있어서, 사용자 인증을 위한 사용자 인증정보를 등록하는 단계; 및 사용자 인증을 위한 사용자 계정정보와 토큰명세정보를 검증하는 단계를 포함할 수 있다.In addition, a user authentication method according to an embodiment of the present invention is a user authentication method performed by an application application, an authentication token, an authentication server, and a user authentication system, comprising: registering user authentication information for user authentication; And verifying user account information and token specification information for user authentication.

또한, 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 사용자 인증을 위한 사용자 인증 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 기록 매체를 포함한다.In addition, the present invention includes a recording medium in which a program for executing a user authentication method for user authentication by a computer is recorded in a computer-readable recording medium.

본 발명의 실시예들에 따른 사용자 인증 시스템은 아이디/패스워드를 이용한 1차 인증 방식과 인증토큰을 이용한 2차 인증 방식을 서로 바인딩하여 인증강도를 높이면서 사용자의 편리성을 증대시킬 수 있는 사용자 인증 시스템을 제공하고자 한다.The user authentication system according to the embodiments of the present invention binds a first authentication method using an ID/password and a second authentication method using an authentication token to each other to increase authentication strength and increase user convenience. We want to provide a system.

또한, FIDO 기반 인증방식에서 생체인증정보를 활용한 신원확인 및 부인방지가 가능하다.In addition, in the FIDO-based authentication method, identification and denial prevention using biometric authentication information is possible.

또한, 사용자 인증 시스템은 아이디/패스워드 인증 방식의 보안 취약성을 극복하고, 기존의 웹환경이나 새로운 스마트 모바일 환경에서도 지속적으로 사용할 수 있다.In addition, the user authentication system overcomes the security vulnerability of the ID/password authentication method, and can be continuously used in the existing web environment or new smart mobile environment.

도 1은 본 발명의 실시예에 따른 사용자 인증 시스템을 수행하기 위한 사용자 인증 플랫폼의 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 사용자 인증 시스템의 구성에 대한 블록도이다.
도 3은 본 발명의 실시예에 따른 인증토큰 등록정보에 포함된 정보의 예시를 나타낸 도면이다.
도 4는 사용자 인증을 위한 사용자 인증 등록 방법을 설명하는 흐름도이다.
도 5는 사용자 인증을 위한 사용자 인증 검증 방법을 설명하는 흐름도이다.
1 is a block diagram showing the configuration of a user authentication platform for performing a user authentication system according to an embodiment of the present invention.
2 is a block diagram of a configuration of a user authentication system according to an embodiment of the present invention.
3 is a diagram showing an example of information included in authentication token registration information according to an embodiment of the present invention.
4 is a flowchart illustrating a user authentication registration method for user authentication.
5 is a flowchart illustrating a user authentication verification method for user authentication.

본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Other advantages and features of the present invention, and a method of achieving them will become apparent with reference to embodiments to be described later in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only this embodiment is intended to complete the disclosure of the present invention, and to provide ordinary knowledge in the technical field to which the present invention pertains. It is provided to completely inform the scope of the invention to those who have it, and the invention is only defined by the scope of the claims.

만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.Even if not defined, all terms (including technical or scientific terms) used herein have the same meaning as commonly accepted by universal technology in the prior art to which this invention belongs. Terms defined by general dictionaries may be construed as having the same meaning as the related description and/or the text of this application, and not conceptualized or excessively formalized, even if not clearly defined herein. Won't.

본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.The terms used in the present specification are for describing exemplary embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used in the specification,'includes' and/or various conjugated forms of this verb, for example,'includes','includes','includes','includes', etc. refer to the mentioned composition, ingredient, component, Steps, operations and/or elements do not preclude the presence or addition of one or more other compositions, components, components, steps, operations and/or elements. In the present specification, the term'and/or' refers to each of the listed components or various combinations thereof.

한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.Meanwhile, terms such as'~ unit','~ group','~ block', and'~ module' used throughout this specification may refer to a unit that processes at least one function or operation. For example, it can mean software, hardware components such as FPGAs or ASICs. However,'~bu','~gi','~block', and'~module' are not limited to software or hardware. The'~ unit','~ group','~ block', and'~ module' may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors.

따라서, 일 예로서 '~부', '~기', '~블록', '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부', '~기', '~블록', '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부', '~기', '~블록', '~모듈'들로 결합되거나 추가적인 구성요소들과 '~부', '~기', '~블록', '~모듈'들로 더 분리될 수 있다.Therefore, as an example,'~ unit','~ group','~ block', and'~ module' are components such as software components, object-oriented software components, class components, and task components. S, processes, functions, properties, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and Include variables. The functions provided in the components and'~Boo','~Gi','~Block', and'~Module' include a smaller number of elements and'~Boo','~Gi','~Block. It may be combined into','~modules' or further separated into additional components and'~unit','~group','~block', and'~module'.

이하에서는 본 발명의 구체적인 실시예들에 대하여 도면을 참조하여 상세히 설명한다.Hereinafter, specific embodiments of the present invention will be described in detail with reference to the drawings.

아울러 본 발명을 설명함에 있어서, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.In addition, in describing the present invention, when it is determined that a detailed description of a related known configuration or function may obscure the subject matter of the present invention, a detailed description thereof will be omitted.

도 1은 본 발명의 실시예에 따른 사용자 인증 시스템을 수행하기 위한 사용자 인증 플랫폼의 구성을 나타낸 블록도이다.1 is a block diagram showing the configuration of a user authentication platform for performing a user authentication system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명을 실시하기 위한 사용자 인증 플랫폼은 응용 어플리케이션(100), 인증 토큰(200), 사용자 인증 시스템(300) 및 인증 서버(400)로 구성될 수 있다.Referring to FIG. 1, a user authentication platform for implementing the present invention may include an application application 100, an authentication token 200, a user authentication system 300, and an authentication server 400.

먼저, 응용 어플리케이션(100)은 사용자 단말에 설치되고, 사용자 인증 시스템(300)에 접속하여 서비스를 받기 위한 웹 브라우저, 앱, 어플 및 프로그램 시스템으로, 사용자는 응용 어플리케이션을 이용하여 인증서비스를 사용할 수 있다.First, the application application 100 is a web browser, an app, an application, and a program system that is installed on the user terminal and accesses the user authentication system 300 to receive a service, and the user can use the authentication service using the application application. have.

인증 토큰(200)은 사용자의 생체정보를 인식하거나 입력받아 사용자 인증에 이용하는 장치로, 본 발명에서는 지문인식장치를 포함하는 것이 바람직하나, 사용자의 고유한 생체정보를 인식할 수 있는 것이면 이에 제한되지 않는다.The authentication token 200 is a device that recognizes or receives the user's biometric information and uses it for user authentication.In the present invention, it is preferable to include a fingerprint recognition device, but it is not limited thereto as long as it can recognize the user's unique biometric information. Does not.

또한, 인증 토큰(200)은 개인 고유정보, 버전정보, 제조사정보, 어플리케이션 ID, 토큰 ID 및 인증서를 포함하는 토큰명세정보를 저장할 수 있으며, 상기 개인 고유정보는 사용자의 지문과 관련된 정보를 포함하는 것이 바람직하다.In addition, the authentication token 200 may store token specification information including personal information, version information, manufacturer information, application ID, token ID, and certificate, and the personal information includes information related to a user's fingerprint. It is desirable.

사용자 인증 시스템(300)은 사용자로부터 응용 어플리케이션(100)을 통해 인증요청을 받으면, 해당 인증 요청에 따라 응용 어플리케이션(100)으로부터 사용자 계정정보를 수신하고, 인증 토큰(200) 및 인증 서버(400)와 통신하여, 상기 사용자 계정정보와 2차인증용 인증 토큰(200)에 대한 사용자 인증 등록 및 검증을 수행할 수 있다.When the user authentication system 300 receives an authentication request from a user through the application application 100, the user account information is received from the application application 100 according to the authentication request, and the authentication token 200 and the authentication server 400 In communication with, user authentication registration and verification for the user account information and the authentication token 200 for secondary authentication may be performed.

인증 서버(400)는 서비스 제공자가 서비스를 제공하기 위한 서버로, 접속하는 사용자 인증 시스템(300)의 요청에 따라 서비스를 제공한다. 예를들어, 인증 서버(400)는 사용자 로그인과 같은 사용자 인증이 요구될 시, 사용자로부터 사용자 계정정보를 입력받고, 기 등록된 인증 토큰(200)을 통해 2차인증을 진행한다.The authentication server 400 is a server for a service provider to provide a service, and provides a service according to a request of a user authentication system 300 to access. For example, when user authentication such as user login is requested, the authentication server 400 receives user account information from the user and performs secondary authentication through the previously registered authentication token 200.

도 2는 본 발명의 실시예에 따른 사용자 인증 시스템의 구성에 대한 블록도이고, 도 3은 본 발명의 실시예에 따른 인증토큰 등록정보에 포함된 정보의 예시를 나타낸 도면이다. 2 is a block diagram of a configuration of a user authentication system according to an embodiment of the present invention, and FIG. 3 is a view showing an example of information included in authentication token registration information according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 사용자 인증 시스템(300)은 어플리케이션 연동부(310), 입력 정보 수집부(320), 인증 처리부(330), 연동부(340), 정보 확인부(350) 및 데이터베이스(360)으로 구성된다.As shown in FIG. 2, the user authentication system 300 includes an application linking unit 310, an input information collecting unit 320, an authentication processing unit 330, an linking unit 340, an information checking unit 350, and a database. It consists of 360.

어플리케이션 연동부(310)는 응용 어플리케이션(100)에게 인증 기능을 제공할 수 있으며, 응용 어플리케이션으로부터 사용자 계정정보를 수신할 수 있다.The application linking unit 310 may provide an authentication function to the application application 100 and may receive user account information from the application application.

또한, 어플리케이션 연동부(310)는 인증 서버(400)로부터 인증 처리부(330)를 통해 인증 검증 결과를 수신하여, 응용 어플리케이션(100)으로 전송한다.In addition, the application linking unit 310 receives the authentication verification result from the authentication server 400 through the authentication processing unit 330 and transmits it to the application application 100.

입력 정보 수집부(320)는 어플리케이션 연동부(310)를 통해 사용자 인증 시스템(300) 내부로 수신되는 사용자 계정정보를 수집할 수 있다.The input information collection unit 320 may collect user account information received into the user authentication system 300 through the application linking unit 310.

인증 처리부(330)는 사용자 계정정보와 인증토큰 등록정보를 바인딩하여 사용자 인증 등록을 수행한다.The authentication processing unit 330 performs user authentication registration by binding user account information and authentication token registration information.

더하여, 인증 처리부(330)는 어플리케이션 연동부(310)를 통해 응용 어플리케이션(100)으로부터 사용자 계정정보를 입력받으면, 상기 사용자 계정정보를 기반으로 1차 인증을 수행하고, 연동부(340)를 통해 인증 서버(400)로 사용자 계정정보를 전달하여 인증 서버(400)에 등록된 인증토큰 등록정보를 이용하여 2차 인증을 수행할 수 있다.In addition, when receiving user account information from the application application 100 through the application linking unit 310, the authentication processing unit 330 performs primary authentication based on the user account information, and through the linking unit 340 Secondary authentication may be performed using the authentication token registration information registered in the authentication server 400 by transmitting user account information to the authentication server 400.

또한, 인증 처리부(330)는 입력 정보 수집부(320)에 수집된 사용자 계정정보를 정보 확인부(350)로 전달하고, 사용자 계정정보의 저장여부 요청을 정보 확인부(350)로 전송하여 수집된 사용자 계정정보의 저장여부를 확인할 수 있다.In addition, the authentication processing unit 330 transfers the user account information collected in the input information collection unit 320 to the information verification unit 350, and transmits a request for storing user account information to the information verification unit 350 for collection. You can check whether to save the user account information.

더하여, 인증 처리부(330)는 수집된 사용자 계정정보가 데이터베이스(360)에 저장되어 있지 않으면 정보 확인부(350)를 통해 사용자 계정정보를 데이터베이스(360)에 등록한다.In addition, when the collected user account information is not stored in the database 360, the authentication processing unit 330 registers the user account information in the database 360 through the information verification unit 350.

또한, 인증 처리부(330)는 사용자 계정정보와 인증토큰 등록정보의 바인딩을 위하여 데이터베이스(360)에 등록된 사용자 계정정보를 임시저장하고, 연둥부(340)를 통해 사용자 인증 등록을 위한 제 1 난수값을 인증 서버(400)로부터 수신할 수 있다.In addition, the authentication processing unit 330 temporarily stores the user account information registered in the database 360 for binding of the user account information and the authentication token registration information, and a first random number for user authentication registration through the linking unit 340 The value may be received from the authentication server 400.

이후, 인증 처리부(300)는 인증토큰 등록 요청을 생성하여 제 1 난수값과 함께 인증토큰 등록 요청을 연동부(340)를 통해 인증 토큰(200)으로 전송한다.Thereafter, the authentication processing unit 300 generates an authentication token registration request and transmits the authentication token registration request together with the first random number to the authentication token 200 through the interworking unit 340.

더하여, 인증 처리부(300)는 인증토큰 등록 요청에 따른 응답으로 인증 토큰(200)으로부터 제 1 난수값을 기반으로 생성된 인증토큰 등록정보를 연동부(340)를 통해 반환받을 수 있다. In addition, the authentication processing unit 300 may receive the authentication token registration information generated based on the first random number value from the authentication token 200 in response to the authentication token registration request through the interworking unit 340.

도 3을 참조하면, 인증토큰 등록정보는 인증 토큰(200)에 관한 토큰명세정보, 제 1 난수값 및 인증 토큰(200)에 내장된 인증서의 개인키로 제 1 난수값을 암호화한 제 1 서명값을 포함할 수 있다.Referring to FIG. 3, the authentication token registration information includes token specification information about the authentication token 200, a first random number value, and a first signature value obtained by encrypting a first random number value with a private key of a certificate embedded in the authentication token 200. It may include.

또한, 토큰명세정보는 버전정보, 제조사정보, 어플리케이션 ID, 토큰 ID, 개인 고유정보 및 인증서를 포함하며, 개인 고유정보는 인증 토큰(200)을 보유하고 있는 사용자의 지문을 포함하는 생체정보일 수 있다.In addition, the token specification information includes version information, manufacturer information, application ID, token ID, personal information and certificate, and the personal information may be biometric information including the fingerprint of the user holding the authentication token 200. have.

다시, 도 2에 도시된 바와 같이, 인증 처리부(330)는 보유하고 있는 사용자 계정정보를 기반으로 반환받은 인증토큰 등록정보를 정보 확인부(350)를 통해 데이터베이스(360)에 저장한다.Again, as shown in FIG. 2, the authentication processing unit 330 stores the authentication token registration information returned based on the owned user account information in the database 360 through the information verification unit 350.

구체적으로, 인증 처리부(330)는 사용자 계정정보와 인증토큰 등록정보를 한 쌍으로 하는 사용자 인증정보를 생성하여 데이터베이스(360)에 저장하고, 연동부(340)를 통해 사용자 계정정보 및 인증토큰 등록정보를 인증 서버(400)로 전송할 수 있다.Specifically, the authentication processing unit 330 generates user authentication information in which user account information and authentication token registration information are paired, stores it in the database 360, and registers user account information and authentication tokens through the linkage unit 340. The information may be transmitted to the authentication server 400.

또한, 인증 처리부(330)는 어플리케이션 연동부(310)를 통해 응용 어플리케이션(100)으로부터 사용자 계정정보를 수신하고, 연동부(340)를 통해 인증 토큰(200)으로부터 토큰명세정보를 수신하면, 데이터베이스(360)에 기 저장된 사용자 인증정보 중 해당 사용자의 아이디 및 아이디와 함께 저장된 토큰명세정보의 등록 여부를 확인한다.In addition, the authentication processing unit 330 receives user account information from the application application 100 through the application linking unit 310, and when receiving the token specification information from the authentication token 200 through the linking unit 340, the database Among the user authentication information previously stored in (360), it is checked whether the user ID and the token specification information stored together with the ID are registered.

또한, 인증 처리부(330)는 해당 사용자의 아이디 및 토큰명세정보가 등록되어 있는 경우, 인증 서버(400)로 인증 검증을 위한 제 2 난수값을 요청하여, 연동부(340)를 통해 제 2 난수값을 수신할 수 있다.In addition, when the user's ID and token specification information are registered, the authentication processing unit 330 requests a second random number value for authentication verification to the authentication server 400, and a second random number through the linking unit 340 Can receive values.

또한, 인증 처리부(330)는 연동부(340)를 통해 제 2 난수값을 인증 토큰(200)으로 전달하고, 인증 토큰(200)으로부터 제 2 난수값 및 인증 토큰(200)에 내장된 인증서의 개인키로 제 2 난수값을 암호화한 서명값을 수신한다.In addition, the authentication processing unit 330 transfers the second random number value to the authentication token 200 through the interlocking unit 340, and the second random number value from the authentication token 200 and the certificate embedded in the authentication token 200 A signature value obtained by encrypting a second random number value with a private key is received.

또한, 인증 처리부(330)는 연동부(340)를 통해 인증 서버(400)로 사용자 계정정보, 제 2 난수값 및 제 2 서명값을 전달하고, 인증 서버(400)로부터 제 2 서명값의 유효 여부를 검증한 인증 검증 결과 정보를 수신할 수 있다.In addition, the authentication processing unit 330 transmits the user account information, the second random number value, and the second signature value to the authentication server 400 through the linking unit 340, and the second signature value is valid from the authentication server 400. You can receive authentication verification result information that has verified whether or not.

더하여, 인증 처리부(330)는 어플리케이션 연동부(310)를 통해 응용 어플리케이션(100)으로 인증 검증 결과 정보를 반환한다.In addition, the authentication processing unit 330 returns authentication verification result information to the application application 100 through the application linking unit 310.

연동부(340)는 사용자 인증 시스템(300)이 인증 토큰(200) 및 인증 서버(400)와 연동시키는 역할을 수행할 수 있다.The interworking unit 340 may serve to link the user authentication system 300 with the authentication token 200 and the authentication server 400.

정보 확인부(350)는 사용자 계정정보와 인증토큰 등록정보가 데이터베이스(360)에 기 저장되어 있는지 판단할 수 있으며, 사용자 계정정보와 인증토큰 등록정보를 데이터베이스(360)에 저장할 수 있다.The information verification unit 350 may determine whether user account information and authentication token registration information are previously stored in the database 360, and may store user account information and authentication token registration information in the database 360.

또한, 정보 확인부(350)는 사용자의 아이디 및 아이디와 함께 저장된 토큰명세정보의 등록여부를 판단할 수 있다.In addition, the information checking unit 350 may determine whether to register the user's ID and token specification information stored together with the ID.

인증 서버(400)는 인증토큰 등록정보에 포함된 제 1 난수값을 확인하여 제 1 서명값을 검증하고, 제 1 서명값이 유효한 것으로 검증되면, 사용자 계정정보 및 인증토큰 등록정보를 서버에 등록한다.The authentication server 400 verifies the first signature value by checking the first random number included in the authentication token registration information, and if the first signature value is verified to be valid, registers user account information and authentication token registration information in the server. do.

또한, 인증 서버(400)는 제 2 난수값을 확인하여 제 2 서명값을 검증하고, 제 2 서명값이 유효한 것으로 검증되면, 인증 검증 결과 정보를 생성할 수 있다. In addition, the authentication server 400 may check the second random number value to verify the second signature value, and if the second signature value is verified to be valid, it may generate authentication verification result information.

도 4는 사용자 인증을 위한 사용자 인증 등록 방법을 설명하는 흐름도이고, 도 5는 사용자 인증을 위한 사용자 인증 검증 방법을 설명하는 흐름도이다.FIG. 4 is a flowchart illustrating a user authentication registration method for user authentication, and FIG. 5 is a flowchart illustrating a user authentication verification method for user authentication.

도 4 내지 도 5를 참조하면, 응용 어플리케이션(100), 인증 토큰(200), 인증 서버(400), 사용자 인증 시스템에 의해 수행되는 사용자 인증 방법은 사용자 인증을 위한 사용자 인증정보를 등록하는 단계(S100) 및 사용자 인증을 위한 사용자 계정정보와 토큰명세정보를 검증하는 단계(S200)를 포함한다.4 to 5, the user authentication method performed by the application application 100, the authentication token 200, the authentication server 400, and the user authentication system includes the steps of registering user authentication information for user authentication ( S100) and verifying user account information and token specification information for user authentication (S200).

먼저, 본 발명의 일실시예에 따른 등록하는 단계(S100)를 도 4를 참조하여 설명한다.First, a step of registering (S100) according to an embodiment of the present invention will be described with reference to FIG. 4.

도 4에서 보는 바와 같이, 응용 어플리케이션(100)은 사용자로부터 사용자 등록 요청을 수신하고(S101), 사용자로부터 입력받은 사용자 계정정보를 어플리케이션 연동부(310)로 전송한다(S102).As shown in FIG. 4, the application application 100 receives a user registration request from the user (S101), and transmits the user account information input from the user to the application linking unit 310 (S102).

다음으로, 어플리케이션 연동부(310)는 사용자 계정정보를 수신하여, 사용자 계정정보를 인증 처리부(330)롤 전송한다(S103).Next, the application linking unit 310 receives user account information and transmits the user account information to the authentication processing unit 330 (S103).

이때, 인증 처리부(330)는 데이터베이스(360)에 입력된 사용자 계정정보가 데이터베이스(360)에 기 저장되어 있는지 판단하기 위하여, 계정정보 저장여부 요청을 정보 확인부(350)에 전송하고(S104), 정보 확인부(350)는 데이터베이스(360)에 기 저장된 계정정보와 입력된 사용자 계정정보를 대비하여 사용자 계정정보의 저장여부를 판단하고(S105), 입력된 사용자 계정정보가 저장되어 있지 않으면, 사용자 계정정보를 데이터베이스(360)에 저장한다(S106).At this time, the authentication processing unit 330 transmits a request to store account information to the information verification unit 350 to determine whether the user account information input to the database 360 is previously stored in the database 360 (S104). , The information verification unit 350 compares the account information previously stored in the database 360 with the input user account information to determine whether to store the user account information (S105), and if the input user account information is not stored, User account information is stored in the database 360 (S106).

다음으로, 인증 처리부(330)는 사용자 계정정보를 임시저장하고, 연동부(340)을 통해 인증 서버(400)에 사용자 계정정보 등록 요청을 전송하고(S107), 인증 서버(400)로부터 사용자 인증 등록을 위한 제 1 난수값을 수신한다(S108).Next, the authentication processing unit 330 temporarily stores the user account information, transmits the user account information registration request to the authentication server 400 through the interlocking unit 340 (S107), and authenticates the user from the authentication server 400. A first random number value for registration is received (S108).

이때, 인증 처리부(330)는 연동부(340)를 통해 인증 토큰(200)에 인증토큰 등록 요청을 전송하고, 요청시 인증 서버(400)로부터 수신된 제 1 난수값을 함께 전달한다(S109).At this time, the authentication processing unit 330 transmits an authentication token registration request to the authentication token 200 through the interworking unit 340, and when requested, the first random number value received from the authentication server 400 is transmitted together (S109). .

또한, 인증 토큰(200)은 인증토큰 등록 요청에 응답하여, 인증 토큰에 관한 토큰명세정보, 제 1난수값 및 인증 토큰에 내장된 인증서의 개인키로 제 1 난수값을 암호화한 제 1 서명값을 포함하는 인증토큰 등록정보를 생성하고(S110), 연동부(340)를 통해 인증 처리부(330)로 전송한다(S111).In addition, in response to the authentication token registration request, the authentication token 200 stores token specification information about the authentication token, a first random number value, and a first signature value obtained by encrypting the first random number value with the private key of the certificate embedded in the authentication token. The included authentication token registration information is generated (S110), and transmitted to the authentication processing unit 330 through the interworking unit 340 (S111).

다음으로, 인증 처리부(330)는 사용자 계정정보와 인증토큰 등록정보를 한 쌍으로 하는 사용자 인증정보를 생성하여(S112), 사용자 인증정보를 정보 확인부(350)에 전송하고(S113), 상기 사용자 인증정보를 데이터베이스(360)에 저장한다(S114).Next, the authentication processing unit 330 generates user authentication information in which the user account information and authentication token registration information are paired (S112), and transmits the user authentication information to the information verification unit 350 (S113), and the User authentication information is stored in the database 360 (S114).

이때, 인증 처리부(330)는 사용자 계정정보 및 인증토큰 등록정보를 연동부(340)를 통해 인증 서버(400)로 전송한다(S115).At this time, the authentication processing unit 330 transmits the user account information and the authentication token registration information to the authentication server 400 through the interlocking unit 340 (S115).

다음으로, 인증 서버(400)는 인증토큰 등록정보에 포함된 제 1 난수값을 확인하여 제 1 서명값을 검증하고(S116), 제 1 서명값이 유효한 것으로 검증되면, 사용자 계정정보 및 인증토큰 등록정보를 등록한다(S117).Next, the authentication server 400 verifies the first signature value by checking the first random number value included in the authentication token registration information (S116), and if the first signature value is verified to be valid, the user account information and the authentication token Register the registration information (S117).

본 발명의 일실시예에 따른 검증하는 단계(S200)를 도 5를 참조하여 설명한다.The verifying step (S200) according to an embodiment of the present invention will be described with reference to FIG. 5.

도 5에서 보는 바와 같이, 응용 어플리케이션(100)은 사용자로부터 사용자 검증 요청을 수신하고(S201), 사용자로부터 입력받은 사용자 계정정보를 어플리케이션 연동부(310)로 전송한다(S202).As shown in FIG. 5, the application application 100 receives a user verification request from the user (S201), and transmits the user account information input from the user to the application linking unit 310 (S202).

다음으로, 어플리케이션 연동부(310)는 인증 처리부(300)에 입력된 사용자 계정정보를 전송한다(S203).Next, the application linking unit 310 transmits the user account information input to the authentication processing unit 300 (S203).

또한, 인증 처리부(330) 인증 토큰(200)으로부터 연동부(340)를 통해 사용자의 토큰명세정보를 수신한다(S204).In addition, the authentication processing unit 330 receives the token specification information of the user from the authentication token 200 through the interworking unit 340 (S204).

이때, 인증 처리부(330)는 인증정보 등록여부 요청을 정보 확인부(350)에 전송하고(S205), 정보 확인부(350)는 데이터베이스(360)에 기 등록된 사용자 인증정보와 입력된 사용자 계정정보 및 사용자의 토큰명세정보를 대비하여, 사용자 인증정보 등록여부를 판단하고(S206), 등록여부 판단 결과 정보를 인증 처리부(330)로 전송한다(S207).At this time, the authentication processing unit 330 transmits a request for registration of authentication information to the information verification unit 350 (S205), and the information verification unit 350 includes user authentication information previously registered in the database 360 and an input user account. The information and the user's token specification information are compared to determine whether to register the user authentication information (S206), and the result of determining whether to register the registration information is transmitted to the authentication processing unit 330 (S207).

다음으로, 등록여부 판단 결과 정보를 기초로 인증 처리부(330)는 해당 사용자의 아이디 및 상기 아이디와 함께 저장된 토큰명세정보의 등록여부를 확인한다(S208).Next, the authentication processing unit 330 checks whether the ID of the corresponding user and the token specification information stored together with the ID are registered based on the result information of the registration determination result (S208).

사용자의 아이디 및 상기 아이디와 함께 저장된 토큰명세정보가 기 등록되어 있고, 해당 정보들이 정확히 일치한다면, 인증 처리부(330)는 연동부(340)를 통해 인증 서버(400)로 인증 검증을 위한 제 2 난수값을 요청하고(S209), 인증 처리부(330)는 연동부(340)를 통해 인증 서버(400)로부터 제 2 난수값을 수신한다(S210).If the user's ID and the token specification information stored together with the ID are already registered, and the corresponding information is exactly the same, the authentication processing unit 330 uses the interlocking unit 340 to transmit the second authentication to the authentication server 400. A random number value is requested (S209), and the authentication processing unit 330 receives a second random number value from the authentication server 400 through the interworking unit 340 (S210).

또한, 인증 처리부(300)는 연동부(340)를 통해 제 2 난수값을 인증 토큰(200)으로 전달하고(S211), 다시 인증 처리부(300)는 연동부(340)를 통해 인증 토큰(200)으로부터 제 2 난수값 및 인증토큰에 내장된 인증서의 개인키로 제 2 난수값을 암호화한 제 2 서명값을 수신한다(S212).In addition, the authentication processing unit 300 transmits the second random number value to the authentication token 200 through the interworking unit 340 (S211), and the authentication processing unit 300 again transmits the authentication token 200 through the interworking unit 340. ), the second random number value and the second signature value obtained by encrypting the second random number value with the private key of the certificate embedded in the authentication token are received (S212).

이때, 인증 처리부(300)는 연동부(340)를 통해 인증 서버(400)로 사용자 계정정보, 제 2 난수값 및 제 2 서명값을 전달하고(S213), 다시 인증 처리부(300)는 연동부(340)를 통해 인증 서버(400)로부터 제 2 서명값의 유효 여부를 검증한 인증 검증 결과 정보를 수신한다(S214).At this time, the authentication processing unit 300 transmits the user account information, the second random number value, and the second signature value to the authentication server 400 through the interlocking unit 340 (S213), and the authentication processing unit 300 is again an interlocking unit. The authentication verification result information that verifies whether the second signature value is valid is received from the authentication server 400 through 340 (S214).

다음으로, 인증 처리부(300)는 어플리케이션 연동부(310)를 통해 응용 어플리케이션(100)으로 인증 검증 결과 정보를 반환한다(S215).Next, the authentication processing unit 300 returns authentication verification result information to the application application 100 through the application linking unit 310 (S215).

이에 따라, 본 발명은 사용자 계정정보와 인증토큰 등록정보를 한 쌍으로 하는 사용자 인증정보를 사용자 인증 시스템(300)에 저장하여 관리할 수 있어, 기존 사용자의 계정정보와 보안 토큰의 정보가 서로 바인딩되지 않는 문제점을 해결할 수 있다.Accordingly, the present invention can store and manage user authentication information, which is a pair of user account information and authentication token registration information, in the user authentication system 300, so that the account information of the existing user and the information of the security token are bound to each other. You can solve the problem that does not work.

또한, 본 발명은 기 등록된 인증토큰의 정보에 포함되어 있는 사용자의 개인 고유정보를 입력된 인증토큰의 정보에 포함되어 있는 사용자의 개인 고유정보와 대비하는 방식으로 사용자에게 인증 서비스를 제공할 수 있어, 쉽게 해당 사용자의 신원을 확인할 수 있다.In addition, the present invention can provide an authentication service to a user in a manner that contrasts the user's personal information included in the information of the previously registered authentication token with the user's personal information included in the information of the entered authentication token. Yes, you can easily verify the identity of the user.

본 발명의 실시예에 따른 사용자 인증 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한, 본 발명의 실시예에 따른 사용자 인증 방법은 컴퓨터와 결합되어 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The user authentication method according to an embodiment of the present invention may be produced as a program to be executed on a computer and stored in a computer-readable recording medium. The computer-readable recording medium includes all types of storage devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tapes, floppy disks, and optical data storage devices. In addition, the user authentication method according to an embodiment of the present invention may be implemented as a computer program stored in a medium to be combined with a computer and executed.

이상의 상세한 설명은 본 발명을 예시하는 것이다. 또한 전술한 내용은 본 발명의 바람직한 실시 형태를 나타내어 설명하는 것이며, 본 발명은 다양한 다른 조합, 변경 및 환경에서 사용할 수 있다. 즉 본 명세서에 개시된 발명의 개념의 범위, 저술한 개시 내용과 균등한 범위 및/또는 당업계의 기술 또는 지식의 범위 내에서 변경 또는 수정이 가능하다. 저술한 실시 예는 본 발명의 기술적 사상을 구현하기 위한 최선의 상태를 설명하는 것이며, 본 발명의 구체적인 적용 분야 및 용도에서 요구되는 다양한 변경도 가능하다. 따라서 이상의 발명의 상세한 설명은 개시된 실시 상태로 본 발명을 제한하려는 의도가 아니다. 또한 첨부된 청구범위는 다른 실시 상태도 포함하는 것으로 해석되어야 한다.The detailed description above is illustrative of the present invention. In addition, the above description shows and describes preferred embodiments of the present invention, and the present invention can be used in various other combinations, modifications and environments. That is, changes or modifications may be made within the scope of the concept of the invention disclosed in the present specification, the scope equivalent to the disclosed contents, and/or the skill or knowledge of the art. The embodiment described above describes the best state for implementing the technical idea of the present invention, and various changes required in the specific application fields and uses of the present invention are possible. Therefore, the detailed description of the invention is not intended to limit the invention to the disclosed embodiment. In addition, the appended claims should be construed as including other embodiments.

100: 응용 어플리케이션
200: 인증 토큰
300: 사용자 인증 시스템
310: 어플리케이션 연동부
320: 입력 정보 수집부
330: 인증 처리부
340: 연동부
350: 정보 확인부
400: 인증서버
100: application application
200: authentication token
300: user authentication system
310: application linkage
320: input information collection unit
330: authentication processing unit
340: linkage
350: information confirmation unit
400: authentication server

Claims (10)

응용 어플리케이션 및 인증 토큰과 연동되고, 인증 서버와 통신하는 사용자 인증 시스템에 있어서,
상기 응용 어플리케이션으로부터 사용자 계정정보를 수신하는 어플리케이션 연동부;
상기 인증 서버로부터 사용자 인증 등록을 위한 제 1 난수값을 수신하여 상기 인증 토큰으로 전달하고, 상기 인증 토큰으로부터 상기 제 1 난수값을 기반으로 생성된 인증토큰 등록정보를 수신하여 상기 인증 서버로 전달하는 연동부; 및
상기 사용자 계정정보와 상기 인증토큰 등록정보를 바인딩하여 사용자 인증 등록 및 사용자 인증 검증을 수행하는 인증 처리부를 포함하되,
상기 인증토큰 등록정보는,
상기 인증 토큰에 관한 토큰명세정보, 상기 제 1 난수값 및 상기 인증 토큰에 내장된 인증서의 개인키로 상기 제 1 난수값을 암호화한 제 1 서명값을 포함하고,
상기 토큰명세정보는 버전정보, 제조사정보, 어플리케이션 ID, 토큰 ID, 사용자의 생체정보인 개인 고유정보 및 인증서를 포함하고,
상기 인증 처리부는,
상기 사용자 계정정보와 상기 인증토큰 등록정보를 한 쌍으로 하는 사용자 인증정보를 생성하여 데이터베이스에 저장하되,
상기 어플리케이션 연동부를 통해 상기 응용 어플리케이션으로부터 사용자 계정정보를 수신하고, 상기 연동부를 통해 상기 인증 토큰으로부터 상기 토큰명세정보를 수신하면, 상기 데이터베이스에 저장된 상기 사용자 인증정보 중 해당 사용자의 아이디 및 상기 아이디와 함께 저장된 상기 토큰명세정보의 등록 여부를 확인하고,
해당 사용자의 아이디 및 토큰명세정보가 등록되어 있는 경우, 상기 인증 서버로 인증 검증을 위한 제 2 난수값을 요청하여 상기 제 2 난수값을 수신하고,
상기 연동부를 통해 상기 제 2 난수값을 상기 인증 토큰으로 전달하고, 상기 인증 토큰으로부터 상기 제 2 난수값, 및 상기 인증 토큰에 내장된 인증서의 개인키로 상기 제 2 난수값을 암호화한 제 2 서명값을 수신하고,
상기 연동부를 통해 상기 인증 서버로 상기 사용자 계정정보, 상기 제 2 난수값 및 상기 제 2 서명값을 전달하고, 상기 인증 서버로부터 상기 제 2 서명값의 유효 여부를 검증한 인증 검증 결과 정보를 수신하고, 상기 어플리케이션 연동부를 통해 상기 응용 어플리케이션으로 상기 인증 검증 결과 정보를 반환하는 사용자 인증 시스템.
In a user authentication system that is interlocked with an application application and an authentication token and communicates with an authentication server,
An application linking unit that receives user account information from the application application;
Receives a first random number value for user authentication registration from the authentication server and transmits it to the authentication token, and receives authentication token registration information generated based on the first random number value from the authentication token and transmits it to the authentication server. Linkage; And
Including an authentication processing unit for performing user authentication registration and user authentication verification by binding the user account information and the authentication token registration information,
The above authentication token registration information,
Includes token specification information about the authentication token, the first random number value, and a first signature value obtained by encrypting the first random number value with a private key of a certificate embedded in the authentication token,
The token specification information includes version information, manufacturer information, application ID, token ID, personal information, which is the user's biometric information, and certificate,
The authentication processing unit,
Generating user authentication information of the user account information and the authentication token registration information as a pair and storing it in a database,
When receiving user account information from the application application through the application linking unit, and receiving the token specification information from the authentication token through the linking unit, together with the ID of the user and the ID of the user authentication information stored in the database Check whether the stored token specification information is registered,
When the ID and token specification information of the corresponding user is registered, the authentication server requests a second random number value for authentication verification to receive the second random number value,
A second signature value obtained by transmitting the second random number value to the authentication token through the linking unit and encrypting the second random number value from the authentication token to the second random number value and a private key of a certificate embedded in the authentication token And receive
The user account information, the second random number value, and the second signature value are transmitted to the authentication server through the linking unit, and authentication verification result information obtained by verifying the validity of the second signature value is received from the authentication server. And a user authentication system for returning the authentication verification result information to the application application through the application linkage unit.
제 1항에 있어서,
상기 인증 처리부는,
상기 사용자 계정정보를 임시 저장하고,
상기 연동부를 통해 사용자 인증 등록을 위한 상기 제 1 난수값을 상기 인증 서버로부터 수신하고,
인증토큰 등록 요청을 생성하여 상기 제 1 난수값과 함께 상기 인증토큰 등록 요청을 상기 연동부를 통해 상기 인증 토큰으로 전송하는 사용자 인증 시스템.
The method of claim 1,
The authentication processing unit,
Temporarily store the user account information,
Receiving the first random number value for user authentication registration from the authentication server through the linking unit,
A user authentication system for generating an authentication token registration request and transmitting the authentication token registration request together with the first random number value as the authentication token through the interworking unit.
제 2항에 있어서,
상기 인증 처리부는,
상기 인증토큰 등록 요청에 응답하여 상기 인증 토큰에서 상기 제 1 난수값을 기반으로 생성된 상기 인증토큰 등록정보를 상기 연동부를 통해 반환받는 사용자 인증 시스템.
The method of claim 2,
The authentication processing unit,
In response to the authentication token registration request, the authentication token registration information generated based on the first random number value from the authentication token is returned through the interworking unit.
삭제delete 제 3항에 있어서,
상기 인증 처리부는,
상기 연동부를 통해 상기 사용자 계정정보 및 상기 인증토큰 등록정보를 상기 인증 서버로 전송하는 사용자 인증 시스템.
The method of claim 3,
The authentication processing unit,
A user authentication system for transmitting the user account information and the authentication token registration information to the authentication server through the linking unit.
제 5항에 있어서,
상기 인증 서버는,
상기 인증토큰 등록정보에 포함된 상기 제 1 난수값을 확인하여 상기 제 1 서명값을 검증하고,
상기 제 1 서명값이 유효한 것으로 검증되면, 상기 사용자 계정정보 및 상기 인증토큰 등록정보를 등록하는 사용자 인증 시스템.
The method of claim 5,
The authentication server,
Verifying the first signature value by checking the first random number value included in the authentication token registration information,
When the first signature value is verified to be valid, the user authentication system registers the user account information and the authentication token registration information.
제 6항에 있어서,
상기 인증 처리부는,
상기 어플리케이션 연동부를 통해 상기 응용 어플리케이션으로부터 사용자 계정정보를 입력받으면, 상기 사용자 계정정보를 기반으로 1차 인증을 수행하고,
상기 연동부를 통해 상기 인증 서버로 상기 사용자 계정정보를 전달하여 상기 인증 서버에 등록된 상기 인증토큰 등록정보를 이용하여 2차 인증을 수행하는 사용자 인증 시스템.
The method of claim 6,
The authentication processing unit,
When user account information is input from the application application through the application linking unit, primary authentication is performed based on the user account information,
A user authentication system for performing secondary authentication using the authentication token registration information registered in the authentication server by transmitting the user account information to the authentication server through the linking unit.
삭제delete 응용 어플리케이션 및 인증 토큰과 연동되고, 인증 서버와 통신하는 사용자 인증 시스템에 의해 수행되는 사용자 인증 방법에 있어서,
상기 응용 어플리케이션으로부터 사용자 계정정보를 수신하는 단계;
상기 인증 서버로부터 사용자 인증 등록을 위한 제 1 난수값을 수신하여 상기 인증 토큰으로 전달하는 단계;
상기 인증 토큰으로부터 상기 제 1 난수값을 기반으로 생성된 인증토큰 등록정보를 수신하여 상기 인증 서버로 전달하는 단계; 및
상기 사용자 계정정보와 상기 인증토큰 등록정보를 바인딩하여 사용자 인증 등록 및 사용자 인증 검증을 수행하는 단계를 포함하되,
상기 인증토큰 등록정보는,
상기 인증 토큰에 관한 토큰명세정보, 상기 제 1 난수값 및 상기 인증 토큰에 내장된 인증서의 개인키로 상기 제 1 난수값을 암호화한 제 1 서명값을 포함하고,
상기 토큰명세정보는 버전정보, 제조사정보, 어플리케이션 ID, 토큰 ID, 사용자의 생체정보인 개인 고유정보 및 인증서를 포함하고,
상기 사용자 인증 등록 및 사용자 인증 검증을 수행하는 단계는,
상기 사용자 계정정보와 상기 인증토큰 등록정보를 한 쌍으로 하는 사용자 인증정보를 생성하여 데이터베이스에 저장하는 단계;
상기 응용 어플리케이션으로부터 사용자 계정정보를 수신하고, 상기 인증 토큰으로부터 상기 토큰명세정보를 수신하면, 상기 데이터베이스에 저장된 상기 사용자 인증정보 중 해당 사용자의 아이디 및 상기 아이디와 함께 저장된 상기 토큰명세정보의 등록 여부를 확인하는 단계;
해당 사용자의 아이디 및 토큰명세정보가 등록되어 있는 경우, 상기 인증 서버로 인증 검증을 위한 제 2 난수값을 요청하여 상기 제 2 난수값을 수신하는 단계;
상기 제 2 난수값을 상기 인증 토큰으로 전달하고, 상기 인증 토큰으로부터 상기 제 2 난수값, 및 상기 인증 토큰에 내장된 인증서의 개인키로 상기 제 2 난수값을 암호화한 제 2 서명값을 수신하는 단계; 및
상기 인증 서버로 상기 사용자 계정정보, 상기 제 2 난수값 및 상기 제 2 서명값을 전달하고, 상기 인증 서버로부터 상기 제 2 서명값의 유효 여부를 검증한 인증 검증 결과 정보를 수신하고, 상기 응용 어플리케이션으로 상기 인증 검증 결과 정보를 반환하는 단계를 포함하는 사용자 인증 방법.
In the user authentication method performed by a user authentication system interworking with an application application and an authentication token and communicating with an authentication server,
Receiving user account information from the application application;
Receiving a first random number value for user authentication registration from the authentication server and transmitting it to the authentication token;
Receiving authentication token registration information generated based on the first random number value from the authentication token and transmitting it to the authentication server; And
Comprising the step of performing user authentication registration and user authentication verification by binding the user account information and the authentication token registration information,
The above authentication token registration information,
Includes token specification information about the authentication token, the first random number value, and a first signature value obtained by encrypting the first random number value with a private key of a certificate embedded in the authentication token,
The token specification information includes version information, manufacturer information, application ID, token ID, personal information, which is the user's biometric information, and certificate,
The step of performing the user authentication registration and user authentication verification,
Generating user authentication information in which the user account information and the authentication token registration information are paired and storing them in a database;
When receiving user account information from the application application and receiving the token specification information from the authentication token, the user ID of the user among the user authentication information stored in the database and whether the token specification information stored with the ID is registered Confirming;
Receiving a second random number value by requesting a second random number value for authentication verification from the authentication server when the ID and token specification information of the corresponding user are registered;
Transmitting the second random number value to the authentication token, and receiving the second random number value from the authentication token and a second signature value obtained by encrypting the second random number value with a private key of a certificate embedded in the authentication token ; And
The user account information, the second random number, and the second signature value are transmitted to the authentication server, and authentication verification result information obtained by verifying the validity of the second signature value is received from the authentication server, and the application application User authentication method comprising the step of returning the authentication verification result information.
컴퓨터로 읽을 수 있는 기록 매체에 있어서,
제 9 항에 따른 사용자 인증을 위한 사용자 인증 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 기록 매체.
In a computer-readable recording medium,
A recording medium in which a program for executing the user authentication method for user authentication according to claim 9 by a computer is recorded.
KR1020190054956A 2019-03-22 2019-05-10 System and method for user authentication based on fido KR102199985B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190033047 2019-03-22
KR20190033047 2019-03-22

Publications (2)

Publication Number Publication Date
KR20200112573A KR20200112573A (en) 2020-10-05
KR102199985B1 true KR102199985B1 (en) 2021-01-08

Family

ID=72809283

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190054956A KR102199985B1 (en) 2019-03-22 2019-05-10 System and method for user authentication based on fido

Country Status (1)

Country Link
KR (1) KR102199985B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256190A (en) * 2000-03-09 2001-09-21 Ricoh Co Ltd Electronic document management method, electronic document management system and recording medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101566079B1 (en) * 2013-09-11 2015-11-04 농협은행(주) Financial service proving method using keylock

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256190A (en) * 2000-03-09 2001-09-21 Ricoh Co Ltd Electronic document management method, electronic document management system and recording medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BA, Forouzan. "Cryptography and network security." Special Indian Editi on. Tata McGraw- Hill(2007.) 1부.*

Also Published As

Publication number Publication date
KR20200112573A (en) 2020-10-05

Similar Documents

Publication Publication Date Title
US20200228335A1 (en) Authentication system for enhancing network security
KR102383021B1 (en) Enhanced security for registration of authentication devices
KR102431834B1 (en) System and method for carrying strong authentication events over different channels
US11277398B2 (en) System and methods for performing distributed authentication using a bridge computer system
US20090235086A1 (en) Server-side biometric authentication
KR100911983B1 (en) Method and System for Implementing Authentication on Information Security
US9911146B2 (en) Method and system for providing online authentication utilizing biometric data
JP2020517201A (en) Method for approving card use by using blockchain-based token ID and server using the same {METHOD FOR APPROVING USE OF CARD BY USING BLOCKCHAIN-BASED TOKEN ID AND SERVER USING METHOD}
US20090222900A1 (en) Authentication ticket validation
JP2010501103A (en) Method and system for authentication
US20150066766A1 (en) Secure Generation of a User Account in a Service Server
KR101505667B1 (en) Method of subscription, authentication and payment without resident registration number
KR102199985B1 (en) System and method for user authentication based on fido
KR20220048997A (en) Integrated authentication system for distributed identity platforms
KR102181601B1 (en) Method for sso service through blockchain, and terminal and server using the same
KR102440857B1 (en) Cryptocurrency withdrawal processing method and exchange system
KR20180037168A (en) Cross authentication method and system using one time password
KR101857731B1 (en) Method and server for providing easy payment-authentication
KR20160037520A (en) System and method for federated authentication based on biometrics
KR101523340B1 (en) Self recording history-based use authentication system and method thereof
KR100420557B1 (en) A method for authenticating users in electronic commercial transactions by using fingerprint information
KR101986244B1 (en) Method of telebiometric authentication based on mobile devices
US20210136064A1 (en) Secure use of authoritative data within biometry based digital identity authentication and verification
KR101918553B1 (en) Agent authentication method and apparatus
CN117396866A (en) Authorized transaction escrow service

Legal Events

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