KR101960060B1 - Method and apparatus for user authentication - Google Patents

Method and apparatus for user authentication Download PDF

Info

Publication number
KR101960060B1
KR101960060B1 KR1020170102849A KR20170102849A KR101960060B1 KR 101960060 B1 KR101960060 B1 KR 101960060B1 KR 1020170102849 A KR1020170102849 A KR 1020170102849A KR 20170102849 A KR20170102849 A KR 20170102849A KR 101960060 B1 KR101960060 B1 KR 101960060B1
Authority
KR
South Korea
Prior art keywords
user
terminal
authentication
information
keystroke
Prior art date
Application number
KR1020170102849A
Other languages
Korean (ko)
Other versions
KR20190018197A (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 PCT/KR2017/008815 priority Critical patent/WO2019035491A1/en
Priority to KR1020170102849A priority patent/KR101960060B1/en
Publication of KR20190018197A publication Critical patent/KR20190018197A/en
Application granted granted Critical
Publication of KR101960060B1 publication Critical patent/KR101960060B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • G06K9/4609
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • 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
    • 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

Abstract

웹서버에 접속하는 사용자 단말의 사용자 인증방법에 있어서, 상기 사용자 단말이 서비스 이용을 위하여 상기 웹서버에 접속 시, 제공되는 웹페이지에서 동작되도록 설치된 키스트로크 패턴정보 수집모듈이 상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하여 상기 웹서버의 키스트로크 패턴 추출부로 전송하는 단계; 상기 키스트로크 패턴정보 추출부에서 상기 로그 정보로부터, 키스트로크 패턴 정보를 추출하는 단계; 상기 키스트로크 패턴정보로부터 키스트로크 패턴 특성 값을 생성하는 단계; 상기 키스트로크 특성 값들을 키스트로크 데이터베이스에 저장된 사용자별 키스트로크 공통패턴과 대비하여 매칭비율을 산출하는 단계; 및 상기 매칭비율에 의하여 사용자가 본인인지를 판단하는 사용자 인증 판단단계; 를 포함하는 사용자 인증방법이 제공된다.A user authentication method of a user terminal accessing a web server, the method comprising: when a user terminal accesses the web server for service use, a keystroke pattern information collection module installed to operate on a web page provided, Collecting log information including a keyup for inputting an ID and a password, a timestamp corresponding to a keydown event, an attribute value of a keycode, and a key on a login screen on the UI, and transmitting the collected log information to a keystroke pattern extracting unit of the web server; Extracting keystroke pattern information from the log information in the keystroke pattern information extracting unit; Generating a keystroke pattern characteristic value from the keystroke pattern information; Calculating a matching ratio by comparing the keystroke characteristic values with a common keystroke pattern per user stored in the keystroke database; And a user authentication judging step of judging whether the user is a person by the matching ratio; A user authentication method is provided.

Description

사용자 인증방법 및 장치{METHOD AND APPARATUS FOR USER AUTHENTICATION}[0001] METHOD AND APPARATUS FOR USER AUTHENTICATION [0002]

본 발명은 웹서버에 접속하는 단말의 사용자 인증방법 및 장치에 관한 기술이다.The present invention relates to a user authentication method and apparatus for a terminal connected to a web server.

불특정 다수를 대상으로 하는 인터넷 환경에서 사용자를 식별하고 인증하는 방법의 중요성과 가치는 점점 증대되고 있다. The importance and value of identifying and authenticating users in the Internet environment targeting an unspecified majority are increasing.

웹사이트 운영자는 네트워크상에서 악의적으로 접근하는 블랙 접속자의 접속을 차단하기 위하여 웹사이트를 방문하는 사용자의 특성과 접속 패턴을 파악할 필요가 있다.Web site operators need to know the characteristics of the users visiting the website and the patterns of access in order to block the access of malicious black accesses on the network.

종래에는 웹사이트 운영자가 이러한 접속자의 접속 IP를 식별하기 위하여 액티브 X와 같은 단말식별용 에이전트 프로그램을 사용자 단말에 설치를 강요하여 접속하는 방식을 사용하였다.Conventionally, a web site operator has used a method of connecting a terminal identification agent program such as ActiveX to a user terminal in order to identify the access IP of such an access terminal.

그러한 이러한 단말식별용 에이전트 프로그램들은 사용자의 PC에 특정 기능을 심기 위해서 PC의 보안을 일시적으로 해제하는 기능이 있기 때문에 보안에 취약할 수 있고, 분산서비스거부(DDoS) 등 좀비 PC 악성코드의 주 감염 경로로 이용되기 쉽다는 평가를 받고 있다.Such terminal identification agent programs may be vulnerable to security because it has a function of temporarily releasing the security of the PC in order to plant a specific function in the user's PC and may be vulnerable to the main infection of the zombie PC malicious code such as distributed denial of service It is evaluated as easy to use as a route.

종래에는 사용자가 웹사이트에서 서비스를 제공받기 위하여 무의식적으로 웹사이트 제공자가 요구하는 단말식별용 에이전트를 설치하였으나, 사용자 단말에서 개인의 정보가 누출되는 것을 방지하기 위한 보안 정책이 강화되면서 사용자는 단말식별용 에이전트 설치를 점차적으로 거부하거나 꺼리는 실정이다.Conventionally, in order to receive a service from a web site, a user has unintentionally installed a terminal identification agent requested by a web site provider. However, as a security policy for preventing personal information from leaking from a user terminal has been strengthened, It is gradually being rejected or reluctant to install the agent for a while.

또한, 서비스 제공 시스템에서는 사용자를 식별하여 서비스를 제공하기 위해서 아이디(ID)와 비밀 번호를 매개로 하는 인증 정보를 검증하여 진정한 사용자인지 여부를 판별하는 사용자 인증 과정을 거치게 된다. Also, in the service providing system, in order to identify a user and provide a service, a user authentication process is performed to verify whether the user is a true user by verifying authentication information mediated by an ID and a password.

이러한 사용자 인증 과정은 사용자가 입력한 ID와 비밀번호를 인증 시스템의 데이터베이스에 등록되어 있는 ID 및 비밀번호들과 비교함으로써 이루어진다. 그러나 이러한 방식은 ID 및 비밀번호가 사용자의 부주의나 해커들의 인위적인 해킹에 의해 정보의 누출이 쉽다는 점에서 보안성에 문제점이 있다.This user authentication process is performed by comparing the ID and the password inputted by the user with the ID and the password registered in the database of the authentication system. However, this method has a problem in security because ID and password are easily misused by users or information is leaked by artificial hacking of hackers.

이러한 문제점을 보완하기 위하여, 키보드나 키패드 등과 같은 입력 수단을 통해 입력되는 사용자의 키스트로크를 기반으로 하여 사용자의 행동 패턴을 추출하고 이를 사용자 인증에 사용하는 방식이 제안되고 있다. 이 방식은, 사용자가 키보드나 키패드를 통해 자신의 ID 및 비밀 번호 등과 같은 인증 정보를 입력할 때 키보드나 키패드에 구비된 각각의 키 입력부를 누르는 패턴 데이터를 획득하여 이를 사용자 인증에 사용하는 것으로서, 사용자가 자신의 인증 정보를 입력하는 키스트로크의 패턴은 사용자의 고유한 행동 특성을 반영하고 있다는 점에 기인하는 것이다.In order to solve this problem, a method of extracting a behavior pattern of a user based on a user's keystroke input through an input means such as a keyboard or a keypad and using the extracted behavior pattern for user authentication has been proposed. In this method, when a user inputs authentication information such as his / her ID and a password through a keyboard or a keypad, he / she acquires pattern data for pressing each key input unit provided on the keyboard or keypad and uses the pattern data for user authentication. The keystroke pattern in which the user enters his or her authentication information is due to the fact that it reflects the unique behavior of the user.

이러한 키스트로크를 기초로 하여 사용자 인증을 수행하기 위하여 사용자 단말에 키스트로크 모듈 에이전트를 설치하여 키보드 입력 패턴을 추출하거나, 또는 키보드 입력에 따른 압력을 센싱할 수 있는 센서를 장착하여 키보드 패턴을 추출하는 기술들이 연구되고 있다.In order to perform user authentication based on the keystrokes, a keystroke module agent is installed in a user terminal to extract a keyboard input pattern or a sensor capable of sensing a pressure according to a keyboard input to extract a keyboard pattern Technologies are being studied.

그러나 사용자에 따라 인증을 위한 에이전트의 설치환경을 기피하는 경향이 있어서, 서비스 제공 운영자는 이와 같은 사용자 식별용 에이전트 프로그램을 사용하지 않고도 사용자를 식별하고 인증할 수 있는 방법이 필요하다.However, there is a tendency to avoid an installation environment of an agent for authentication depending on a user, and a service providing operator needs a method of identifying and authenticating a user without using the agent program for user identification.

또한, 악의적인 사용자가 서비스 제공자의 네트워크에 침입하여 바이러스 등을 퍼뜨려 시스템을 손상시키거나 개인정보 등을 유출시키는 상황을 가정하면, 그로 인해 발생할 수 있는 피해 등의 문제도 심각해질 뿐만 아니라, 그 당시에 누가 접속을 했는지를 추적하는 것도 곤란하다.In addition, if a malicious user breaks into a service provider's network and spreads viruses to damage the system or leak personal information, the problem such as damage that may be caused by the malicious user becomes serious, It is also difficult to track who made the connection.

따라서 웹사이트 운영자는 사용자를 정확하게 인증하여야 할 필요성이 있으며, 또한, 단말식별용 에이전트 프로그램을 사용하지 않고도 접속된 단말기를 식별하고 관리할 수 있는 방법이 필요하다.Therefore, a web site operator needs to accurately authenticate a user, and a method is also needed to identify and manage connected terminals without using an agent program for terminal identification.

본 발명 기술에 대한 배경기술에 해당하는 키스트로크 추출모듈을 단말에 설치토록 하고 이를 이용하여 사용자를 인증하는 방법에 대한 기술은 대한민국 등록특허공보 KR 10-0847532 B1 호에 게시된 바 있다.A technique for installing a keystroke extraction module corresponding to the background art of the present invention in a terminal and authenticating a user using the keystroke extraction module is disclosed in Korean Patent Registration No. KR 10-0847532 B1.

대한민국 등록특허공보 10-0847532호(사용자의 행동 패턴 정보를 이용한 사용자 인증에 사용되는 사용자 단말기 및 인증 장치)Korean Patent Registration No. 10-0847532 (user terminal and authentication device used for user authentication using behavior pattern information of user)

본 발명은 사용자가 서비스를 제공받기 위하여 사용자 단말기를 통하여 인증정보를 입력하여 서비스제공 서버에 접속할 경우, 서비스제공 서버에서 실시간으로 상기 인증정보로부터 키보드 입력패턴 정보를 추출하여 사용자의 본인 인증을 신속하고 효율적으로 인증하는 장치 및 방법을 제공하는 것이다.In the present invention, when a user inputs authentication information through a user terminal to access a service providing server to receive a service, the service providing server extracts keyboard input pattern information from the authentication information in real time in the service providing server, And to provide an apparatus and method for efficiently authenticating a user.

본 발명의 또 다른 목적은 사용자가 서비스를 제공받기 위하여 사용자 단말기를 통하여 인증정보를 입력하여 서비스제공 서버에 접속할 경우, 서비스제공 서버에서 실시간으로 상기 인증정보로부터 키보드 입력패턴 정보를 추출하여 사용자별 공통패턴과 대비한 매칭비율에 따라 사용자의 본인 인증을 수행하고, 매칭비율이 인증 성공영역 이하인 경우에는 별도 단말식별용 에이전트를 사용자 단말기에 설치하지 않고 접속 정보만을 이용하여 사용자의 단말기를 추가적으로 인증함으로써, 정확하게 본인임을 인증할 수 있는 사용자 인증장치 및 방법을 제공하는 것이다.Yet another object of the present invention is to provide a service providing server which extracts keyboard input pattern information from the authentication information in real time on a service providing server when a user inputs authentication information through a user terminal to receive a service, If the matching ratio is equal to or less than the authentication success area, the user terminal is additionally authenticated using only the access information without installing the separate terminal identification agent in the user terminal, And to provide a user authentication device and method that can accurately authenticate the user.

본 발명의 또 다른 목적은 사용자가 서비스를 제공받기 위하여 사용자 단말기를 통하여 인증정보를 입력하여 서비스제공 서버에 접속할 경우, 사용자 단말기에 키보드 입력패턴 추출용 모듈을 설치하지 않고, 서비스제공 서버에서 상기 인증정보로부터 키보드 입력패턴 정보를 추출하여 사용자를 인증하는 장치 및 방법을 제공하는 것이다.It is still another object of the present invention to provide a service providing server, in which when a user inputs authentication information through a user terminal and accesses a service providing server, a module for extracting a keyboard input pattern is not installed in the user terminal, And an apparatus and method for authenticating a user by extracting keyboard input pattern information from the information.

본 발명의 일 측면에 따르면, 웹서버 및 사용자 인증서버를 포함하는 사용자 인증장치에서 상기 웹서버에 접속하는 사용자 단말의 사용자 인증방법에 있어서, 상기 사용자 단말이 서비스 이용을 위하여 상기 웹서버에 접속 시, 제공되는 웹페이지에서 동작되도록 설치된 키스트로크 패턴정보 수집모듈이 상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하여 상기 웹서버의 키스트로크 패턴 추출부로 전송하는 단계; 상기 키스트로크 패턴정보 추출부에서 상기 로그 정보로부터, 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계; 상기 사용자 인증서버에서 상기 키스트로크 패턴정보를 전달받아서 상기 키스트로크 패턴정보로부터 키스트로크 패턴 특성 값을 생성하는 키스트로크 패턴 특성 생성단계; 상기 사용자 인증서버에서 상기 키스트로크 특성 값들을 키스트로크 데이터베이스에 저장된 사용자별 키스트로크 공통패턴과 대비하여 매칭비율을 산출하는 매칭비율 산출단계; 및 상기 사용자 인증서버에서 상기 매칭비율에 의하여 사용자가 본인인지를 판단하는 사용자 인증 판단단계; 를 포함하는 것을 특징으로 하되, 상기 사용자 인증 판단단계에서는, 상기 매칭비율에 따라, 본인인증 성공영역, 본인인증 보류영역 및 본인인증 실패영역으로 구분하고, 상기 본인인증 성공영역에서는 사용자가 요청하는 서비스를 제공하고, 본인인증 실패영역에서는 로그 실패 화면을 제공하며, 본인인증 보류영역에서는 상기 접속된 단말의 상기 사용자 본인의 단말인지를 검증하는 단말기 검증방법을 추가로 실시한 결과에 따라 서비스를 제공하는 것을 특징으로 하는 사용자 인증방법이 제공된다.According to an aspect of the present invention, there is provided a method of authenticating a user terminal of a user terminal accessing the web server in a user authentication apparatus including a web server and a user authentication server, A keystroke pattern information collection module installed to operate in a provided web page displays a keyup for inputting an ID and a password on a login screen on a user interface (UI) of the web page, a timestamp corresponding to a keydown event, a keycode, And transmitting the collected log information to the keystroke pattern extracting unit of the web server; A keystroke pattern information extracting step of extracting keystroke pattern information from the log information in the keystroke pattern information extracting step; A keystroke pattern characteristic generation step of receiving the keystroke pattern information from the user authentication server and generating a keystroke pattern characteristic value from the keystroke pattern information; Calculating a matching ratio by comparing the keystroke characteristic values with a common keystroke pattern for each user stored in the keystroke database; And a user authentication determination step of determining whether the user is the user by the matching ratio in the user authentication server; Wherein the user authentication authentication region is divided into a user authentication success region, a user authentication hold region and a user authentication failure region according to the matching ratio, and in the user authentication success region, Providing a service according to a result of additionally performing a terminal verification method for providing a log failure screen in the authentication failure area and verifying whether the terminal is the user terminal of the connected terminal in the authentication suspension area A user authentication method is provided.

또한, 상기 매칭비율은 상기 인증을 요하는 사용자의 키스트로크의 특성 값들을 상기 키스트로크 공통패턴과 대비하여 동일하게 만족하는 개수에 대한 비율인 것을 특징으로 한다.In addition, the matching ratio is a ratio of the number of keystroke characteristic values of the user requiring authentication to the number of keystroke common patterns equally satisfied in comparison with the keystroke common pattern.

또한, 상기 키스트로크 패턴정보 수집모듈은, 상기 유저인터페이스상의 로그인 화면에서 추출하기 위한 키를 설정하는 단계; 상기 웹페이지의 유저인터페이스상에 키 입력에 따른 keyup, keydown Event에 대한 로그정보가 상기 웹페이지의 userInputs에 저장하는 단계; 및 로그인 완료 신호에 따라 상기 저장된 로그정보가 상기 키스트로크 패턴 추출부로 전송되는 단계; 를 포함하도록 프로그램된 것을 특징으로 한다.The keystroke pattern information collection module may further include: setting a key for extracting from a login screen on the user interface; Storing log information on keyup and keydown events according to a key input on a user interface of the web page in userInputs of the web page; And transmitting the stored log information to the keystroke pattern extracting unit according to a login completion signal; And the program is programmed to include:

또한, 상기 사용자별 키스트로크 공통패턴은, 인증된 사용자가 상기 웹서버에 접속하여 ID와 패스워드를 입력 시, 입력되는 키스트로크 데이터에 대한 로그 정보를 수집할 수 있는 키스트로크 패턴정보 수집모듈 생성단계; 키스트로크 패턴정보 수집모듈이 상기 인증된 사용자의 id 및 패스워드의 입력에 따라 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 상기 키스트로크 패턴 추출부로 전송하는 단계; 상기 키스트로크 패턴정보 추출부에서 상기 인증된 사용자의 로그 정보로부터, 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계; 상기 인증된 사용자의 키스트로크 패턴정보로부터 상기 키스트로크 패턴 특성으로부터 키코드 별로 입력 지속시간에 대한 제1 특성 값과 각 키 코드 간의 입력 간격 시간에 대한 제2 특성 값을 생성하는 키스트로크 패턴 특성 생성단계; 및 상기 키 코드별로 입력 지속시간을 각각 대비한 제1 특성 대비값 패턴과 상기 각 키 코드 간의 입력 간격 시간을 각각 비교한 제2 특성 대비값 패턴을 생성한 다음, 이를 여러 번 반복 학습하여 상기 사용자별 키스트로크 공통패턴을 생성하는 것을 특징으로 한다.The keystroke common pattern for each user may include a keystroke pattern information collection module generation step for collecting log information about keystroke data inputted when an authenticated user accesses the web server and inputs an ID and a password ; The keystroke pattern information collection module transmits log information including timestamp, keycode, and key attribute values to the keystroke pattern extraction unit according to the input of the authenticated user's id and password; Extracting keystroke pattern information from the log information of the authenticated user by the keystroke pattern information extracting unit; From the keystroke pattern characteristic of the authenticated user, a keystroke pattern characteristic for generating a first characteristic value for the input duration and a second characteristic value for the input interval time between the key codes, step; And generating a second characteristic contrast value pattern in which a first characteristic contrast value pattern for each input key duration is compared with an input interval time between the respective key codes, And generates a common keystroke common pattern.

또한, 상기 본인인증 성공영역은 상기 매칭비율이 93% 이상인 영역이며, 상기 본인인증 보류영역은 상기 매칭비율이 93% 미만에서 66% 이상인 영역이고, 상기 본인인증 실패영역은 상기 매칭비율이 66% 미만인 영역인 것을 특징으로 한다.The matching authentication ratio is greater than or equal to 93%, and the matching ratio is greater than or equal to 66%. In the authentication failure region, the matching ratio is greater than or equal to 66% Of the total area.

또한, 상기 사용자 인증서버는 단말검증부를 더 포함하며, 상기 단말기 검증방법은, 상기 사용자 단말이 상기 웹서버에 접속을 시도하면, 상기 단말검증부가 상기 사용자 단말로부터 브라우저 정보를 수집하는 단계; 상기 단말검증부가 상기 수집된 브라우저 정보를 조합하여 검증키를 생성하는 단계; - 여기서 상기 검증키는 상기 접속된 사용자 단말의 브라우저 언어, 스크린 색 깊이, 스크린 가로 크기, 스크린 세로 크기, 사용 시스템의 타임 존 오프셋, 브라우저의 로컬 스토리지 지원 유무 및 브라우저 플랫폼 종류에 대한 정보를 모두 포함하도록 조합한 정보값을 Secure Hash Algorithm 인 Sha25 함수로 해시화하여 생성하는 것을 특징으로 함-, 상기 단말검증부가 상기 제1 사용자 단말이 최초로 접속된 것으로 판단이 되면, 상기 제1 사용자 단말을 구분하는 유일한 단말인식키를 생성하는 단계; 상기 단말검증부가 상기 단말인식키와 검증키를 조합하여 상기 사용자 단말에 유일한 통합식별키를 생성하는 단계; 및 상기 단말검증부가 상기 통합식별키를 상기 사용자 단말의 로컬 영역에 삽입하는 단계; - 여기서 상기 로컬 영역은 상기 사용자 단말의 Cookie, Local Storage, Flash Persistent Storage(LSO), WebSQL을 포함하는 영역임-, 상기 사용자 단말에 대한 IP 정보, 상기 통합식별키, 단말인식키, 검증키, 상기 브라우저 정보를 검증 DB에 저장하는 단계를 포함하며, 상기 사용자 본인의 단말인지를 검증을 요하는 사용자 단말이 상기 웹서버에 재접속을 하였을 때, 상기 단말검증부가 상기 사용자 단말로부터 상기 통합식별키 및 브라우저 정보를 추출하고, 상기 추출된 정보와 상기 검증 DB에 저장된 IP 정보, 상기 통합식별키, 단말인식키 및 검증키를 비교하여, 동일한 경우 상기 사용자 단말이 상기 검증 DB에 저장된 사용자 단말로 검증하는 것을 특징으로 한다.The user authentication server further includes a terminal verification unit, wherein the terminal verification method comprises: collecting browser information from the user terminal when the user terminal attempts to access the web server; The terminal verification unit combining the collected browser information to generate a verification key; Wherein the verification key includes all information about the browser language of the connected user terminal, the screen color depth, the screen width size, the screen portrait size, the time zone offset of the used system, the local storage support of the browser, and the browser platform type The hash value is combined with a Sha25 function, which is a Secure Hash Algorithm, to generate a hash value, and if it is determined that the first user terminal is connected for the first time, Generating a unique terminal identification key; The terminal verification unit combining the terminal identification key and the verification key to generate a unique integrated identification key unique to the user terminal; And inserting the integrated identification key into the local area of the user terminal; Wherein the local area is a region including Cookie, Local Storage, Flash Persistent Storage (LSO) and WebSQL of the user terminal, IP information for the user terminal, the integrated identification key, the terminal identification key, And storing the browser information in a verification DB. When a user terminal that requires verification of the user terminal is reconnected to the web server, the terminal verification unit receives the integrated identification key and the user identification information from the user terminal, Extracts the browser information, compares the extracted information with the IP information stored in the verification DB, the integrated identification key, the terminal identification key, and the verification key, and verifies the same with the user terminal stored in the verification DB .

본 발명의 또 다른 측면에 따르면, 웹서버 및 사용자 인증서버를 포함하는 사용자 인증장치에 있어서, 상기 웹서버는 접속하는 사용자 단말기에 웹페이지를 제공하는 웹페이지부; 상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하는 키스트로크 패턴정보 수집모듈로부터 상기 로그정보를 전송받아 키스트로크 패턴 정보를 추출하는 키스트로크 패턴 정보 추출부; 및 상기 사용자 인증서버에서 사용자 인증 결과에 따라 사용자에게 서비스를 제공하는 서비스 제공부; 를 포함하며, 상기 사용자 인증서버는 키스트로크 인증부 및 단말검증부를 포함하며, 상기 키스트로크 인증부는 상기 키스트로크 패턴 정보 추출부에서 추출된 키스트로크 패턴 정보로부터 키스트로크의 특성 값을 추출하는 키스트로크 특성 생성부; 상기 키스트로크 특성 생성부에서 생성된 사용자별 키스트로크의 특성 값들로부터 공통패턴 값을 생성하여 학습하는 사용자별 키스트로크 공동패턴 학습부; 상기 키스트로크 특성 생성부에서 생성된 인증을 위한 키스트로크의 특성 값을 상기 사용자별 키스트로크 공동패턴 학습부에서 학습된 공통패턴 값과 대비하여 매칭비율을 산출하는 매칭비율 판단부; 상기 매칭비율 판단부에서 산출한 매칭비율을 설정된 값과 대비하여 서비스제공을 요구하는 사용자에 대하여 서비스를 제공하는 것에 대한 인증을 판단하며, 추가적으로 상기 단말검증부에서 검증된 단말인지를 판단하여 서비스를 제공하는 것에 대한 인증을 판단하는 사용자인증부; 및 상기 키스트로크 패턴 정보, 상기 사용자별 키스트로크의 특성값 및 사용자별 공통패턴을 저장하여 관리하는 키스트로크 데이터베이스부; 를 포함하되, 상기 사용자 인증부는 상기 매칭비율에 따라, 본인인증 성공영역, 본인인증 보류영역 및 본인인증 실패영역으로 구분하고, 상기 본인인증 성공영역에서는 사용자가 요청하는 서비스를 제공하고, 본인인증 실패영역에서는 로그 실패 화면을 제공하며, 본인인증 보류영역에서는 상기 접속된 단말의 상기 사용자 본인의 단말인지를 검증하는 단말기 검증방법을 추가로 실시한 결과에 따라 서비스를 제공하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a user authentication apparatus including a web server and a user authentication server, the web server comprising: a web page unit for providing a web page to a user terminal to be connected; From a keystroke pattern information collection module for collecting log information including a keyup for input of an ID and a password, a timestamp corresponding to a keydown event, and an attribute value of a keycode and a key on a login screen on the user interface (UI) A keystroke pattern information extracting unit for extracting keystroke pattern information by receiving log information; And a service providing unit for providing a service to a user according to a user authentication result in the user authentication server; Wherein the user authentication server includes a keystroke authentication unit and a terminal verification unit, and the keystroke authentication unit includes a keystroke pattern extracting unit for extracting a keystroke characteristic value from the keystroke pattern information extracted by the keystroke pattern information extracting unit, A characteristic generating unit; A user-specific keystroke cavity pattern learning unit for generating and learning a common pattern value from characteristic values of keystrokes per user generated by the keystroke characteristic generation unit; A matching ratio determination unit for comparing a characteristic value of a key stroke for authentication generated in the key stroke characteristic generation unit with a common pattern value learned in the user-specific key stroke common pattern learning unit; The matching ratio judging unit compares the matching ratio with a set value to determine whether the user is requesting a service, and whether the terminal is verified by the terminal verifying unit. A user authentication unit for determining authentication with respect to providing; And a keystroke database unit for storing and managing the keystroke pattern information, the characteristic values of the keystrokes per user and the common patterns for each user. Wherein the user authentication unit classifies the user authentication success region, the authentication authentication hold region, and the authentication failure region according to the matching ratio, provides a service requested by the user in the authentication success region, And a terminal verification method for verifying whether the user terminal of the connected terminal is the user terminal of the connected terminal in the user authentication holding area.

또한, 상기 접속 단말 검증부는, 상기 사용자 단말로부터 브라우저 정보를 수집하고, 상기 접속된 사용자 단말의 Cookie, LocalStorage, Flash Persistent Storage(LSO), WebSQL을 포함하는 영역에 유일한 통합식별키를 삽입하고 추출하는 단말 정보 관리부; 상기 사용자 단말을 구분하는 고유한 단말인식키를 생성하는 단말인식키 생성부; 상기 사용자 단말의 환경변화 및 단말인식키의 위변조를 검증하기 위하여 상기 사용자 단말의 브라우저 정보를 조합하여 검증키를 생성하는 검증키 생성부; 상기 단말인식키와 검증키를 조합하여 상기 통합식별키를 생성하는 통합식별키 생성부; 상기 사용자 단말로부터 추출된 상기 통합식별키 및 검증키 정보와 저장된 IP 정보, 통합식별키, 단말인식키 및 검증키 정보를 비교하여 상기 사용자 단말을 검증하고 식별하는 단말 식별 판단부; 및 상기 사용자 단말의 IP, 단말인식키, 검증키 및 수집정보를 저장하는 검증 DB; 를 포함하는 것을 특징으로 하며, 상기 사용자 단말의 브라우저 정보를 이용하여 접속된 단말을 특정하고 식별하는 것을 특징으로 하되, 상기 검증키 생성부는 상기 접속된 사용자 단말의 브라우저 언어, 스크린 색 깊이, 스크린 가로 크기, 스크린 세로 크기, 사용 시스템의 타임 존 오프셋, 브라우저의 로컬 스토리지 지원 유무 및 브라우저 플랫폼 종류에 대한 정보를 모두 포함하도록 조합한 정보값을 Secure Hash Algorithm 인 Sha25 함수로 해시화하여 상기 검증키를 생성하는 것을 특징으로 한다.The access terminal verification unit collects browser information from the user terminal and inserts and extracts a unique integrated identification key in a region including Cookie, LocalStorage, Flash Persistent Storage (LSO), and WebSQL of the connected user terminal A terminal information management unit; A terminal identification key generating unit for generating a terminal identification key unique to the user terminal; A verification key generation unit for generating a verification key by combining browser information of the user terminal to verify the environment change of the user terminal and forgery of the terminal identification key; An integrated identification key generation unit for generating the integrated identification key by combining the terminal identification key and the verification key; A terminal identification determiner for verifying and identifying the user terminal by comparing the integrated identification key and the verification key information extracted from the user terminal with the stored IP information, the integrated identification key, the terminal identification key, and the verification key information; And a verification DB for storing the IP, the terminal identification key, the verification key, and the collection information of the user terminal; Wherein the verification key generation unit identifies the connected terminal using the browser information of the user terminal, wherein the verification key generation unit generates the verification key using the browser language of the connected user terminal, the screen color depth, The hash value of the combined information including the size, the screen vertical size, the time zone offset of the used system, the browser's local storage support, and the browser platform type is shaded by the Secure Hash Algorithm function Sha25 to generate the verification key .

본 발명의 일 실시 예에서는 사용자 단말기에 별도의 키보드 입력패턴 추출용 모듈이나 에이전트를 설치하지 않으면서, 서비스제공 서버에서 사용자가 인식하지 못하도록 자연스럽게 인증정보로부터 키보드 입력패턴 정보를 수집하여 사용자의 본인을 인증하는 장치 및 방법을 제공할 수 있다.In an embodiment of the present invention, a keyboard input pattern extracting module is not installed in the user terminal, and the service providing server naturally collects the keyboard input pattern information from the authentication information so that the user can not recognize the user, It is possible to provide an apparatus and method for authentication.

본 발명의 일 실시 예에 따르면, 매칭비율이 일정 값 이상일 경우에는 키스트로크 패턴 대비에 의한 간단한 과정으로 다른 사람이 아이디 및 패스워드를 도용하여 접속한 경우에 대한 사용자 인증을 신속하고 효율적으로 수행할 수 있다.According to an embodiment of the present invention, when the matching ratio is equal to or greater than a predetermined value, the user can quickly and efficiently perform user authentication for accessing another user by stealing an ID and a password by a simple process based on a key stroke pattern contrast have.

또한, 매칭비율이 일정 값 미만일 경우에는 키스트로크 패턴 대비에 의한 간단한 과정으로 다른 사람이 아이디 및 패스워드를 도용하여 접속한 경우를 판별하여 서비스를 차단할 수 있는 효과를 가진다.Also, when the matching ratio is less than a predetermined value, the service can be blocked by discriminating a case where another person steals an ID and a password to access by a simple process based on the key stroke pattern contrast.

또한, 사용자가 서비스를 제공받기 위하여 사용자 단말기를 통하여 인증정보를 입력하여 서비스제공 서버에 접속할 경우, 서비스제공 서버에서 실시간으로 상기 인증정보로부터 키보드 입력패턴 정보를 추출하여 사용자별 공통패턴과 대비하여 매칭비율에 따라 사용자의 본인 인증을 수행하고, 매칭비율이 인증 성공영역 이하인 경우에는 별도 단말식별용 에이전트를 사용자 단말기에 설치하지 않고 접속 정보만을 이용하여 사용자의 단말기를 추가적으로 인증함으로써, 정확하게 본인임을 인증할 수 있는 사용자 인증장치 및 방법을 제공하는 것이다.When a user inputs authentication information through a user terminal and accesses a service providing server in order to receive a service, the service providing server extracts keyboard input pattern information from the authentication information in real time on the service providing server, When the matching ratio is equal to or less than the authentication success area, the user terminal is additionally authenticated using only the connection information without installing the separate terminal identification agent on the user terminal, thereby authenticating the user accurately And to provide a method and apparatus for authenticating a user.

또한, 매칭비율이 일정 영역범위 내에 있는 경우에만 추가적인 인증을 실시하도록 함으로써, 로그 실패로 인한 사용자의 번거로움을 없애고 사용자의 본인 인증을 효율적으로 수행할 수 있다.Further, by performing additional authentication only when the matching ratio is within a certain range, the user can be efficiently authenticated by eliminating the hassle of the user due to the log failure.

본 발명의 일 실시 예에 따른 단말 검증부는 웹서버에 접속하는 단말에 대하여 별도 단말식별용 에이전트 프로그램의 설치 과정이 없이도, 접속 정보만을 이용하여 접속한 사용자 단말을 식별하고 검증할 수 있다.The terminal verification unit according to an embodiment of the present invention can identify and verify a connected user terminal using only connection information without installing a separate terminal identification agent program for the terminal connected to the web server.

본 발명의 일 실시 예에 따르면, 단말 검증부는 접속된 사용자 단말에 대하여 수집된 IP, 단말인식키 및 검증키 및 브라우저 수집정보에 의하여 사용자 단말을 정확하게 특정하여 식별할 수 있다.According to an embodiment of the present invention, the terminal verification unit can accurately identify and identify the user terminal based on the collected IP, the terminal identification key, the verification key, and the browser collection information for the connected user terminal.

본 발명의 일 실시 예에 따르면, 사용자 단말이 최초로 접속시 로컬영역에 삽입된 통합식별키에 의해서 식별할 뿐 아니라, 수집된 다양한 브라우저 정보를 비교하여 사용자 단말을 특정하여 검증하기 때문에 정확하게 접속된 사용자 및 사용자 단말을 식별할 수 있다.According to the embodiment of the present invention, not only the user terminal is identified by the integrated identification key inserted into the local area at the time of access, but also by verifying and verifying the user terminal by comparing the collected various browser information, And a user terminal.

또한, 단말 검증부는 사용자 단말의 IP 주소 및 브라우저 환경이 변경되더라도 정확하게 사용자 단말을 특정하고 식별할 수 있다.Also, the terminal verification unit can accurately identify and identify the user terminal even if the IP address and the browser environment of the user terminal change.

도 1은 본 발명의 일 실시 예에 따른 사용자 인증 장치를 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 인증 장치에서 사용자의 키스트로크 공통패턴 학습 단계에 대한 방법을 도시한 것이다.
도 3은 본 발명의 일 실시 예에 따른 아이디 입력 시 키스트로크 로그 정보를 수집하기 위한 키스트로크 패턴정보 수집모듈 프로그램의 예를 도시한 것이다.
도 4는 본 발명의 일 실시 예에 따라 timestamp 정보가 반환된 형태의 데이터를 표현한 것이다.
도 5는 본 발명의 일 실시 예에 따른 웹페이지에서 유저인터페이스(UI) 상에 형성된 로그인 화면을 도시한 것이다.
도 6은 본 발명의 일 실시 예에 따른 인증장치에서 사용자 본인 및 다른 사용자가 입력된 키스트로크에 대한 매칭비율을 그래프로 도시한 것이다.
도 7은 본 발명의 일 실시 예에 따른 인증 장치에서 키스트로크 패턴을 이용한 사용자 인증방법을 도시한 것이다.
도 8은 본 발명의 일 실시 예에 따른 사용자 인증 판단단계를 도시한 것이다.
도 9는 본 발명의 일 실시 예에 따른 단말 식별 네트워크 시스템(1)에서 접속된 사용자 단말을 식별하는 단말 식별 방법에 대한 과정에 대한 순서도를 간략하게 도시한 것이다.
도 10은 본 발명의 일 실시 예에 따른 단말검증부가 통합식별키 복구단계(330)를 수행하는 순서도를 도시한 것이다.
도 11은 본 발명의 일 실시 예에 따른 단말검증부가 제2검증단계를 수행하는 순서도를 도시한 것이다.
1 is a schematic diagram of a user authentication apparatus according to an embodiment of the present invention.
FIG. 2 illustrates a method for a key stroke common pattern learning step of a user in an authentication apparatus according to an exemplary embodiment of the present invention.
FIG. 3 illustrates an example of a keystroke pattern information collection module program for collecting keystroke log information when an ID is input according to an embodiment of the present invention.
FIG. 4 illustrates data in which timestamp information is returned according to an embodiment of the present invention. Referring to FIG.
FIG. 5 illustrates a login screen formed on a user interface (UI) in a web page according to an embodiment of the present invention.
FIG. 6 is a graph showing matching ratios for keystrokes inputted by the user himself and another user in the authentication apparatus according to the embodiment of the present invention.
FIG. 7 illustrates a user authentication method using a keystroke pattern in an authentication apparatus according to an embodiment of the present invention.
FIG. 8 illustrates a step of determining a user authentication according to an embodiment of the present invention.
FIG. 9 is a flowchart briefly showing a procedure for a terminal identification method for identifying a connected user terminal in the terminal identification network system 1 according to an embodiment of the present invention.
FIG. 10 is a flowchart illustrating a procedure of performing an integrated identification key recovery step (330) by the terminal verification unit according to an embodiment of the present invention.
11 is a flowchart illustrating a second verification step of the UE verification unit according to an embodiment of the present invention.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise.

본 출원에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서 전체에서, "상에"라 함은 대상 부분의 위 또는 아래에 위치함을 의미하는 것이며, 반드시 중력 방향을 기준으로 상 측에 위치하는 것을 의미하는 것이 아니다.In the present application, when a component is referred to as "comprising ", it means that it can include other components as well, without excluding other components unless specifically stated otherwise. Also, throughout the specification, the term "on" means to be located above or below the object portion, and does not necessarily mean that the object is located on the upper side with respect to the gravitational direction.

키보드나 키패드 등과 같은 입력 수단을 통해 입력되는 사용자의 키스트로크를 기반으로 하여 사용자의 행동 패턴을 추출하고 이를 사용자 인증에 사용하는 방식은, 사용자가 키보드나 키패드를 통해 자신의 ID 및 비밀 번호 등과 같은 인증 정보를 입력할 때 키보드나 키패드에 구비된 각각의 키 입력부를 누르는 패턴 데이터를 획득하여 이를 사용자 인증에 사용하는 것으로서, 사용자가 자신의 인증 정보를 입력하는 키스트로크의 패턴은 사용자의 고유한 행동 특성을 반영하고 있다는 점에 기인하는 것이다.A method of extracting a behavior pattern of a user based on a user's keystroke input through an input means such as a keyboard or a keypad and using the extracted behavior pattern for user authentication is a method in which the user inputs his or her ID and password The pattern data for pressing each key input unit provided on the keyboard or the keypad when the authentication information is input is acquired and used for user authentication. The pattern of the keystrokes, in which the user inputs his / her authentication information, And that it reflects its characteristics.

사용자가 ID 및 비밀 번호와 같은 인증 정보를 입력하고 로그인을 입력하면, 사용자가 ID 및 비밀 번호가 한 패킷 단위로 전송되어, 서비스제공 서버에서는 ID 및 비밀 번호의 문자적 특성만 인지할 수 있고, 키스트로크 정보를 추출하기가 곤란하다.When a user inputs authentication information such as an ID and a password and inputs a login, the user transmits the ID and the password in units of one packet, and the service providing server can recognize only the character characteristics of the ID and the password, It is difficult to extract keystroke information.

따라서 종래에는 이러한 키스트로크를 기초로 하여 사용자 인증을 수행하기 위하여 사용자 단말에 키스트로크 추출 모듈 에이전트를 설치하여 키보드 입력 패턴을 추출하여 서비스제공 서버로 추출하는 기술들이 사용되었다.Therefore, conventionally, in order to perform user authentication based on such keystrokes, keystroke extraction module agents are installed in a user terminal to extract keyboard input patterns and extract them to a service providing server.

그러나 사용자가 인증을 위한 에이전트의 설치환경을 기피할 경우, 사용자 식별용 에이전트 프로그램을 사용하지 않고도 사용자를 식별하고 인증할 수 있는 방법이 필요하다.However, when the user avoids the installation environment of the agent for authentication, there is a need for a method of identifying and authenticating the user without using the agent program for user identification.

본 발명의 일 실시 예에서는 사용자가 서비스를 제공받기 위하여 사용자 단말기를 통하여 인증정보를 입력하여 서비스제공 서버에 접속할 경우, 사용자 단말기에 별도의 키보드 입력패턴 추출용 모듈이나 에이전트를 설치하지 않으면서, 서비스제공 서버에서 상기 인증정보로부터 키보드 입력패턴 정보를 추출하여 사용자를 인증하는 장치 및 방법을 제공하는 것을 특징으로 한다.In an embodiment of the present invention, when a user inputs authentication information through a user terminal and accesses a service providing server in order to receive a service, the user does not install a module or an agent for extracting a keyboard input pattern in the user terminal, And the providing server extracts the keyboard input pattern information from the authentication information to authenticate the user.

본 발명의 일 실시 예에서는 웹서버에서 사용자가 인식하지 못하도록 자연스럽게 정보를 수집하여 이를 토대로 정보를 분석하기 위해 단말기에 설치되는 프로그램 없이 웹페이지 상에서 동작되는 크로스 플랫폼(멀티 플랫폼) 지원 가능한 Javascript를 사용하여 키스트로크 수집모듈을 설치하는 것을 특징으로 한다.In an embodiment of the present invention, in order to naturally collect information from a web server so that the user can not recognize the information, and analyze the information on the basis of the collected information, a Javascript capable of supporting a cross platform And a keystroke collection module is installed.

도 1은 본 발명의 일 실시 예에 따른 사용자 인증 장치를 개략적으로 나타내는 도면이다.1 is a schematic diagram of a user authentication apparatus according to an embodiment of the present invention.

본 발명의 일 실시 예에 따른 사용자 인증장치는 사용자단말(10), 웹서버(100) 및 사용자 인증서버(200)를 포함한다.A user authentication apparatus according to an embodiment of the present invention includes a user terminal 10, a web server 100, and a user authentication server 200.

본 발명의 일 실시 예에 따른 사용자 단말(10)은 PC, 모바일 기기를 포함한 웹표준을 지원하는 모든 브라우저를 가진 단말기를 포함한다.The user terminal 10 according to an exemplary embodiment of the present invention includes a terminal having all browsers supporting a web standard including a PC and a mobile device.

사용자 단말(10)은 네트워크 통신망을 통하여 서비스 제공 웹서버(100)에 접속할 수 있다.The user terminal 10 can access the service providing web server 100 through a network communication network.

본 발명의 일 실시 예에 따른 웹서버(100)는 접속하는 사용자 단말기(10)에 웹페이지를 제공하는 웹페이지부(110), 상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하도록 동작되는 키스트로크 패턴정보 수집모듈로부터, 상기 로그정보를 전송받아 키스트로크 패턴 정보를 추출하는 키스트로크 패턴 정보 추출부(120), 및 사용자 인증서버(200)에서 사용자 인증 결과에 따라 사용자에게 서비스를 제공하는 서비스 제공부(130)를 포함하는 것을 특징으로 한다.A web server 100 according to an embodiment of the present invention includes a web page unit 110 for providing a web page to a user terminal 10 to be accessed, a login screen on a user interface (UI) And a key for extracting keystroke pattern information from the keystroke pattern information collecting module, which is received from the keystroke pattern information collecting module and is operable to collect log information including keyup for the input of the keystroke, A stroke pattern information extracting unit 120, and a service providing unit 130 for providing a service to a user according to a user authentication result in the user authentication server 200.

웹서버(100)에는 단말식별 링커(125)를 포함하며, 사용자 인증서버(200)에 포함된 단말검증부는 유무선으로 단말식별 링커(201)를 통하여 서비스제공 웹서버(100)와 연결된다.The web server 100 includes a terminal identification linker 125. The terminal verification unit included in the user authentication server 200 is connected to the service providing web server 100 through a terminal identification linker 201 by wire or wireless.

본 발명의 일 실시 예에 따른 사용자 인증서버(200)는 키스트로크인증부, 단말검증부 및 사용자 인증부를 포함한다.The user authentication server 200 according to an embodiment of the present invention includes a keystroke authentication unit, a terminal verification unit, and a user authentication unit.

또한, 본 발명의 일 실시 예에 따른 사용자 인증서버(200)의 키스트로크 인증부는 키스트로크 패턴 정보 추출부(120)에서 추출된 키스트로크 패턴 정보로부터 키스트로크의 특성(feature) 값을 추출하는 키스트로크 특성 생성부(210), 상기 키스트로크 특성 생성부(210)에서 생성된 사용자별 키스트로크의 특성(feature) 값들로부터 공통패턴 값을 생성하여 학습하는 사용자별 키스트로크 공동패턴 학습부(240), 상기 키스트로크 특성 생성부(210)에서 생성된 인증을 위한 키스트로크의 특성(feature) 값을 상기 사용자별 키스트로크 공동패턴 학습부(240)에서 학습된 공통패턴과 대비하여 매칭비율을 산출하는 매칭비율 판단부(220)를 포함한다.The keystroke authentication unit of the user authentication server 200 according to an exemplary embodiment of the present invention may include a key extraction unit 120 for extracting a keystroke feature value from keystroke pattern information extracted by the keystroke pattern information extraction unit 120, A user-specific keystroke cavity pattern learning unit 240 for generating and learning a common pattern value from feature values of keystrokes per user generated by the keystroke characteristic generation unit 210, , The feature value of the key stroke for authentication generated in the key stroke characteristic generation unit 210 is compared with the common pattern learned in the user-specific key stroke joint pattern learning unit 240 to calculate the matching ratio And a matching ratio determination unit 220.

상기 사용자인증부(230)는 매칭비율 판단부(220)에서 산출한 매칭비율을 설정된 값과 대비하여 서비스제공을 요구하는 사용자에 대하여 서비스를 제공하는 것에 대한 인증을 판단하며, 추가적으로 상기 단말검증부에서 검증된 단말인지를 판단한다. The user authentication unit 230 compares the matching ratio calculated by the matching ratio determination unit 220 with a predetermined value to determine authentication for providing a service to a user requesting service provision, It is determined whether the terminal is a terminal that has been verified.

또한, 상기 사용자 인증서버(200)의 키스트로크 인증부는 상기 키스트로크 패턴 정보 추출부(120)에서 추출된 키스트로크 패턴 정보, 상기 사용자별 키스트로크의 특성(feature) 값 및 공통패턴 값들을 저장하여 관리하는 데이터베이스부(250)를 더 포함한다.The keystroke authentication unit of the user authentication server 200 stores the keystroke pattern information extracted from the keystroke pattern information extracting unit 120, the feature values of the keystrokes per user and common pattern values (Not shown).

또한, 단말검증부는 접속된 사용자 단말(10)로부터 브라우저 정보를 수집하고, 접속된 사용자 단말(10)에 대하여 유일한 통합식별키를 삽입하고 추출하는 단말 정보 관리부(266), 특정 사용자 단말을 구분하는 유일한 단말인식키를 생성하는 단말인식키 생성부(262), 접속된 사용자 단말(10)의 환경변화 및 단말인식키의 위변조를 검증하기 위하여 접속된 사용자 단말의 브라우저 정보를 조합하여 검증키를 생성하는 검증키 생성부(263), 상기 단말인식키와 검증키를 조합하여 상기 사용자 단말(10)의 로컬영역에 삽입되는 통합식별키를 생성하는 통합식별키 생성부(264), 상기 사용자 단말(10)로부터 추출된 상기 통합식별키 및 검증키 정보와 저장된 IP 정보, 통합식별키, 단말인식키 및 검증키 정보를 비교하여 상기 사용자 단말(10)을 검증하고 식별하는 단말 식별 판단부(265) 및 접속된 사용자 단말(10)의 IP, 단말인식키, 검증키 및 수집정보를 저장하는 검증 DB(266)를 포함한다.The terminal verification unit 266 collects browser information from the connected user terminal 10, inserts and extracts a unique integrated identification key for the connected user terminal 10, A terminal identification key generating unit 262 for generating a unique terminal identification key, a verification key generated by combining browser information of the connected user terminal to verify the environment change of the connected user terminal 10 and forgery of the terminal identification key An integrated identification key generation unit 264 for generating an integrated identification key inserted in a local area of the user terminal 10 by combining the terminal identification key and the verification key, 10, which verifies and identifies the user terminal 10 by comparing the integrated identification key and the verification key information with the stored IP information, the integrated identification key, the terminal identification key, And a determination unit 265 and storing the IP, the terminal recognizes the key, the verification key and the collected information of the connected user terminal 10, verification DB (266).

도 2는 본 발명의 일 실시 예에 따른 인증 장치에서 사용자의 키스트로크 공통패턴 학습단계에 대한 방법을 도시한 것이다.FIG. 2 illustrates a method for a key stroke common pattern learning step of a user in an authentication apparatus according to an exemplary embodiment of the present invention.

도 2를 참조하면, 먼저 사용자가 웹페이지에 접속하여 웹페이지에 ID와 패스워드를 입력 시, 입력되는 키스트로크 데이터를 수집할 수 있는 키스트로크 패턴정보 수집모듈 생성단계(510)가 수행된다.Referring to FIG. 2, a keystroke pattern information collection module generation step 510 is performed in which a user accesses a web page and inputs ID and password to a web page, and collects input keystroke data.

본 발명의 일 실시 예에 따른 학습단계에서의 사용자는 인증이 완료된 사용자이거나 또는 다른 경로에 의하여 인증된 사용자에 의해 수행된다.A user in the learning stage according to an embodiment of the present invention is performed by a user who has been authenticated or authenticated by another path.

본 발명의 일 실시 예에 따른 키스트로크 패턴정보 수집모듈 생성단계(510)에서는 멀티 플랫폼 지원 가능한 Javascript를 사용하여 프로그램화된 키스트로크 패턴정보 수집모듈이 웹페이지에서 동작되도록 웹페이지부(110)에 설치된다.In the keystroke pattern information collection module generation step 510 according to an embodiment of the present invention, a key stroke pattern information collection module programmed using Javascript capable of multi-platform support is displayed on a web page unit 110 Respectively.

키스트로크 패턴정보 수집모듈 생성단계(510)에서는 웹페이지의 유저인터페이스상의 로그인 화면에서 추출하기 위한 키를 설정하는 단계를 포함한다.The keystroke pattern information collection module generation step 510 includes setting a key for extracting from the login screen on the user interface of the web page.

예를 들면, 아이디 추출화면에서는 설정된 키는 0~9까지 숫자, 소문자 알파벳(a~z), Shift, Enter, Tab이다.For example, in the ID Extraction screen, the set keys are numbers 0 to 9, lower case alphabets (a to z), Shift, Enter, Tab.

그리고 웹페이지의 유저인터페이스상에 키 입력에 따른 keyup, keydown Event에 대한 로그정보가 웹페이지의 userInputs에 저장하는 단계; 및 로그인 완료 신호에 따라 상기 저장된 로그정보가 키스트로크 패턴 추출부(120)로 전송되는 단계; 가 포함되도록 프로그램된다.Storing log information on keyup and keydown events according to key input on the user interface of the web page in userInputs of the web page; And transmitting the stored log information to the keystroke pattern extraction unit 120 according to a login completion signal; .

도 3은 본 발명의 일 실시 예에 따른 아이디 입력 시 키스트로크 로그 정보를 수집하기 위한 키스트로크 패턴정보 수집모듈 프로그램의 예를 도시한 것이다.FIG. 3 illustrates an example of a keystroke pattern information collection module program for collecting keystroke log information when an ID is input according to an embodiment of the present invention.

도 3을 참조하면, if문을 통해 $("input.userid").on( "keyup keydown", function(e)… 으로 프로그램된 부분은 input tag 안에서 key가 눌려지거나 떼어진 상태라는 것을 의미한다. 또한, 이 프로그램은 어떠한 키가 눌렸을 경우 작동하여 아래에 해당하는 소스를 실행시키라는 의미인데 UPCom.checkInputKeyCode()라는 함수는 허용된 키 이외의 것을 걸러내기 위한 함수이다.Referring to FIG. 3, the portion programmed with $ ("input.userid"). On ("keyup keydown", function (e) ... through an if statement means that the key is pressed or torn in the input tag In addition, this program means that if any key is pressed, it works by running the corresponding source below. UPCom.checkInputKeyCode () is a function to filter out anything other than the allowed key.

본 발명의 일 실시 예에서 수집이 허용된 키는 0~9까지 숫자, 소문자 알파벳(a~z), Shift, Enter, Tab로 설정되었다. 수집이 허용된 키는 필요에 따라 특수문자 등 다른 형태의 키를 더 포함할 수 있다.In one embodiment of the present invention, the keys allowed to be collected are numbers 0 to 9, lower case alphabets (a to z), Shift, Enter, Tab. The keys allowed to be collected may further include other types of keys, such as special characters, as needed.

허용된 키 이외의 것은 null로 리턴 되며, null 일 때의 처리는 "faulty value"라는 로그와 함께 키스트로크 데이터가 저장 될 userInputs과 key를 입력받을 input.userid가 초기화 된다.Anything other than the allowed key will be returned as null, and if it is null, the log will be called "faulty value" and the input.userid to input the key and userInputs keystroke data will be initialized.

허용 범위 안에 키 일 때는 해당 키를 반환하여 데이터를 만든다. If the key is within the allowable range, the key is returned to create the data.

timestamp는 이벤트 발생 시간을 의미하며, keycode는 이벤트 발생한 key(ex. a=65), type은 keyup이거나 keydown 임을 의미하고 key는 눌려진 키 값을 의미한다. userInputs.push(obj)는 나온 결괏값을 저장하도록 한다.The timestamp means the event occurrence time, the keycode is the event occurred key (ex. a = 65), the type is keyup or keydown, and key means the pressed key value. userInputs.push (obj) should be used to store the result.

본 발명의 일 실시 예에서는 원하는 time 값을 얻어내기 위하여 Date().valueOf() 함수를 사용하였는데 이는 윈도우가 시작되어 지금까지 흐른 시간을 밀리 세컨드 즉, 1/1000초(milliseconds) 단위로 변환한다.In one embodiment of the present invention, the Date (). ValueOf () function is used to obtain a desired time value, which converts the time since the window has been started to milliseconds, that is, milliseconds .

keyup, keydown Event는 비 동기(Asynchronism)로 처리되는데 호출된 시점에서 키 event의 상태를 조사하여 처리해 줄 수가 있다. keyup, and keydown events are treated as asynchronism, and the state of the key event can be examined and processed at the time of the call.

예를 들자면 key down 된 시점의 event 상태는 obj.type="keydown" 값을 반환해 주고 key up 된 시점에서의 event 상태는 obj.type="keyup" 값을 반환해 준다.For example, the event state at the time of key down returns obj.type = "keydown" value. At the time of key up, the event state returns obj.type = "keyup" value.

본 발명의 일 실시 예에서 key event는 keydown - keyup 순서로 실행된다. 실행된 timestamp와 keycode, key의 속성값으로부터 어떤 키가 언제 keydown 또는 keyup이 되었는지 알 수 있다.In one embodiment of the present invention, key events are executed in keydown-keyup order. You can see which key was keydown or keyup from the timestamp, keycode, and key attribute values that were executed.

도 4는 본 발명의 일 실시 예에 따라 timestamp 정보가 반환된 형태의 데이터의 예를 표현한 것이다.FIG. 4 illustrates an example of data in which timestamp information is returned according to an embodiment of the present invention.

다음은 사용자 단말(10)이 서비스를 제공받기 위해 웹서버(100)에 접속 시, 사용자 인증을 위한 웹페이지를 제공하는 웹페이지 제공단계(520)가 수행된다.Next, when the user terminal 10 accesses the web server 100 in order to receive the service, a web page providing step 520 for providing a web page for user authentication is performed.

도 5는 본 발명의 일 실시 예에 따른 웹페이지에서 유저인터페이스(UI) 상에 형성된 로그인 화면을 도시한 것이다.FIG. 5 illustrates a login screen formed on a user interface (UI) in a web page according to an embodiment of the present invention.

웹페이지 제공단계(520)에서는 유저인터페이스(UI) 상의 로그인 화면에 id 및 패스워드의 입력에 따라 keyup, keydown Event에 따른 로그정보(timestamp와 keycode, key의 속성값)를 웹페이지의 userInputs에 저장하고 로그인 완료 처리시 키스트로크 패턴 추출부(120)로 전달된다.In the web page providing step 520, log information (timestamp, keycode, and key attribute values) according to keyup and keydown event is stored in the userInputs of the web page according to the input of the id and the password in the login screen on the user interface (UI) And is transmitted to the keystroke pattern extracting unit 120 at the login completion process.

키스트로크 패턴정보 추출부(120)는 상기 키스트로크 패턴정보 수집모듈로부터 전송된 인증된 사용자의 키스트로크 로그정보에서 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계(430)가 수행된다.The keystroke pattern information extracting unit 120 extracts keystroke pattern information from the keystroke log information of the authenticated user transmitted from the keystroke pattern information collecting module (step 430).

예를 들어 A와 B라는 2개의 코드를 누를 시, (A, DOWN, 시간1), (A, UP, 시간2), (B, DOWN, 시간3), (B, UP, 시간4) 이렇게 2개 그룹의 값을 수집한다.For example, when you press two codes A and B, you can press (A, DOWN, TIME 1), (A, UP, TIME 2), (B, DOWN, TIME 3) Collect two groups of values.

여기에서 시간2 - 시간1의 연산을 통해 A코드를 누루고 있는 시간을 구할 수 있다. 또 시간4 - 시간3의 연산을 통해 B코드를 누르고 있는 시간을 구할 수 있다.Here, it is possible to obtain the time during which the A code is being held through the operation of time 2 - time 1. Also, the time during which the B code is pressed can be obtained through the operation of time 4 - time 3.

이를 다시 정리하면 각각의 n 개의 키코드 입력 시, If we rearrange this, when inputting each n key codes,

(keycode1 down, keycode1_down_event_time),(keycode1 up, keycode1_up_event_time), (keycode2 down, keycode2_down_event_time), (keycode2 up, keycode2_up_event_time), ... (keycoden, down, keycoden_down_event_time), (keycoden, up, keycoden_up_event_time) (keycode 1 down, keycode 1 _down_event_time ), (keycode 1 up, keycode 1 _up_event_time), (keycode 2 down, keycode 2 _down_event_time), (keycode 2 up, keycode 2 _up_event_time), ... (keycode n, down, keycode n _down_event_time), (keycode n, up, keycode n _up_event_time)

의 패턴정보가 추출될 수 있다.Can be extracted.

다음은 상기 키스트로크 패턴정보 추출단계(430)에서 추출된 키스트로크 값들로부터, 키스트로크 패턴 특성을 생성하는 키스트로크 패턴 특성 생성단계(540)가 수행된다.Next, a keystroke pattern characteristic generation step 540 for generating a keystroke pattern characteristic from the keystroke values extracted in the keystroke pattern information extraction step 430 is performed.

위의 예로부터 각각의 keycode를 누루고 있는 시간을 구해 새로운 feature_1을 생성한다.From the above example, we obtain the time that holds each keycode and create a new feature_1.

본 발명의 일 실시 예에 따른 feature_1의 생성 fuction은 다음과 같이 정의된다.The generation fuction of feature_1 according to an embodiment of the present invention is defined as follows.

f_feature_1(n) = keycoden_up_event_time - keycoden_down_event_time f_feature_1 (n) = keycode n _up_event_time - keycode n _down_event_time

그리고 각각의 keycode를 누르는 시점들만 모아서 서로 key code 누르는 시간차를 구해서 새로운 feature_2를 생성한다. Then, only the time points of pressing each keycode are collected, and a time difference of pressing the key code is obtained to generate a new feature_2.

본 발명의 일 실시 예에 따른 feature_2의 생성 fuction은 다음과 같이 정의된다. The generation fuction of feature_2 according to an embodiment of the present invention is defined as follows.

f_feature_2(n)=keycoden_down_event_time(시간3) - keycoden-1_down_event_time(시간1) (n>1)f_feature_2 (n) = n keycode _down_event_time (time 3) - keycode n-1 _down_event_time ( Time 1) (n> 1)

이렇게 되면 keycode n개 입력하였을 시, feature_1은 n 개의 값이 생성되고 feature_2는 n-1개의 값이 생성된다.In this case, when keycode n is input, n is generated for feature_1, and n-1 is generated for feature_2.

즉, 키스트로크 패턴 특성 생성단계(540)에서는 상기 키스트로크 패턴 특성으로부터 각 키코드 별로 입력 지속시간에 대한 제1 특성 값과 각 키 코드 간의 입력 간격 시간에 대한 제2 특성 값을 생성하는 것을 포함한다.That is, in the keystroke pattern characteristic generation step 540, a first characteristic value for the input duration and a second characteristic value for the input interval time between the key codes are generated for each key code from the keystroke pattern characteristic do.

다음은 인증된 사용자의 키스트로크 공통패턴 학습단계(550)가 수행된다.Next, an authenticated user's keystroke common pattern learning step 550 is performed.

키스트로크 공통패턴 학습단계(550)에서는 먼저 feature_1에서 생성된 f_feature_1(n) 값들을 서로 비교한다. In the keystroke common pattern learning step 550, values of f_feature_1 (n) generated in feature_1 are first compared with each other.

이때 비교할 개수는 nC2의 경우 수가 나온다.At this time, the number to be compared is n C 2 .

예를 들면, A, B, C, D의 4개의 키를 입력받았고 각각의 feature_1의 값이 1, 2, 3, 4 이라고 가정하면,For example, assuming that four keys A, B, C, and D are input and the value of each feature_1 is 1, 2, 3, 4,

A<B, A<C, A<D, B<C, B<D, C<D의 결과를 얻을 수 있다.A, B, A <C, A <D, B <C, B <D, C <D can be obtained.

여기서 A, B, C, D를 또 한 번 입력 받았을 경우에 A, B, C, D의 feature_1의 값이 1, 3, 2, 4 이라고 가정하면,Assuming that the values of feature_1 of A, B, C, and D are 1, 3, 2, and 4 when A, B, C,

이때는 A<B, A<C, A<D, B>C, B<D, C<D의 결과를 얻을 수 있다. In this case, we can get the results of A <B, A <C, A <D, B> C, B <D, C <

이렇게 2번의 입력을 받아 보았을 경우, 총 6개의 경우 중에 5개인 A<B, A<C, A<D, B<D, C<D의 공통된 패턴을 얻을 수 있다. A common pattern of A <B, A <C, A <D, B <D, C <D can be obtained from five out of six cases.

또한, feature_2의 값을 이용해서 상기와 같이 패턴을 얻을 수 있다.In addition, the pattern can be obtained as described above using the value of feature_2.

이때 비교할 개수는 n-1C2의 경우 수가 나온다.At this time, the number to be compared is n-1 C 2 .

AB(B_down_event_time - A_down_event_time), BC, CD의 값이 1, 2, 3 이라고 가정하면, AB < BC, AB < CD, BC < CD 의 결과를 얻을 수 있다. Assuming that the values of AB (B_down_event_time - A_down_event_time), BC, and CD are 1, 2, and 3, results AB <BC, AB <CD, BC <CD can be obtained.

두 번째 입력받은 f_feature_2 값이 1, 3, 2이라고 가정하면, AB < BC, AB < CD, BC > CD의 결과를 얻을 수 있다.Assuming that the second input f_feature_2 value is 1, 3, 2, the result of AB <BC, AB <CD, BC> CD can be obtained.

feature_2의 경우에서 AB < BC, AB < CD의 공통된 패턴을 얻을 수 있다.In the case of feature_2, a common pattern of AB <BC, AB <CD can be obtained.

이와 같이 ABCD 4개의 character 단어를 2번 입력받아서 feature1, feature_2를 생성하여 6개의 패턴을 얻을 수 있다. In this way, ABCD 4 character words are input twice, and feature1 and feature_2 are generated to obtain 6 patterns.

즉, 본 발명의 일 실시 예에서는 사용자가 확인된 아이디 및 패스워드에 대하여 각 키코드 별로 입력 지속시간을 각각 대비한 제1 특성 대비 값 패턴과 각 코드 간의 입력 간격 시간을 각각 비교한 제2 특성 대비 값 패턴을 생성한 다음, 이를 여러 번 반복 학습하여 공통된 대비 값 패턴(이하 공통 패턴'이라 함)을 생성하게 된다.That is, according to an embodiment of the present invention, the first characteristics versus value pattern, which compares input durations of each key code with respect to the identified ID and password, and a second characteristic contrast Value pattern is generated, and then it is repeatedly learned many times to generate a common contrast value pattern (hereinafter referred to as a common pattern).

본 발명의 일 실시 예에 따르면, 사용자가 확인된 아이디와 패스워드를 N 번 입력 받아 위와 같이 공통 패턴을 추출한 후에, 사용자가 인증을 위해 아이디와 패스워드를 입력하여 로그인할 경우, 공통 패턴에 대한 매칭비율을 가지고 본인 확인 인증을 수행할 수 있는 인증 알고리즘을 구현할 수 있다.According to an embodiment of the present invention, when the user inputs the identified ID and password N times and extracts the common pattern as described above, when the user logs in by inputting the ID and password for authentication, the matching ratio An authentication algorithm capable of performing identity verification can be implemented.

본 발명의 일 실시 예에서 매칭비율은 공통된 패턴이 100개일 경우, 100개의 공통패턴을 모두 동일한 경우를 100%로 정의한 것이다.In one embodiment of the present invention, the matching ratio is defined as 100% when 100 common patterns are the same for 100 common patterns.

예를 들어 공통된 패턴이 100개일 경우, 인증을 요하는 키스트로크의 특성 값에서 이를 만족하는 개수가 91개만 동일하다면 매칭비율은 91%로 산출된다.For example, if the common pattern is 100, if the number of keystrokes that require authentication is equal to 91, the matching ratio is calculated as 91%.

도 6은 본 발명의 일 실시 예에 따른 인증장치에서 사용자 본인 및 다른 사용자가 입력된 키스트로크에 대한 매칭비율을 그래프로 도시한 것이다.FIG. 6 is a graph showing matching ratios for keystrokes inputted by the user himself and another user in the authentication apparatus according to the embodiment of the present invention.

도 6은 본 발명의 일 실시 예에 따른 인증장치에서 35인의 모집단을 구성하고 사용자로부터 임의의 아이디 및 패스워드에 대하여 서로 바꾸어 가면서 총 3.998회 실험한 결과를 도시한 것이다.FIG. 6 illustrates a result of a total of 3.998 experiments by constructing a population of 35 persons in an authentication apparatus according to an embodiment of the present invention and exchanging an arbitrary ID and password from a user.

도 6은 매칭비율이 높은 순으로 그래프를 표시한 것으로서, 하부 막대의 수직 크기는 본인일 확률에 대한 신뢰도를 도시한 것이다.FIG. 6 shows graphs in the order of the highest matching ratio, and the vertical size of the lower bar shows the reliability of the probability of being a person.

표1은 도 6의 신뢰도 상위부분에서 매칭비율에 대한 본인 확인의 오류 상태를 표로 나타낸 것이다.Table 1 shows the error status of the identity verification for the matching ratio in the upper part of the reliability in FIG.

Figure 112017078047873-pat00001
Figure 112017078047873-pat00001

표 2는 도 6의 신뢰도 하위부분에서 매칭비율에 대한 본인확인의 오류 상태를 표로 나타낸 것이다.Table 2 shows the error status of the identity verification of the matching ratio in the confidence sub-portion of FIG.

Figure 112017078047873-pat00002
Figure 112017078047873-pat00002

본 발명의 일 실시 예에 따르면, 다양한 모집단을 가지고 인증에 대한 모집단 실험을 수행한 결과, 최소한 10회 이상의 training과정을 거친 후, 결정된 공통패턴에 대해 93% 이상의 매칭비율의 범위 내에서 본인일 확률이 99.6%의 신뢰도를 가지는 점에서 사용자를 오류없이 인증할 수 있는 것으로 분석되었다.According to an exemplary embodiment of the present invention, a population test of authentication with various populations is performed. As a result, after at least 10 training sessions have been performed, the probability of a person being within a matching ratio of 93% It is analyzed that it can authenticate the user without error because it has 99.6% reliability.

또한, 매칭비율이 66% 미만일 경우에는 본인일 확률이 0.5%의 신뢰도를 가지는 점에서 본인이 아닌 것으로 판단할 수 있다.Also, if the matching ratio is less than 66%, it can be judged that the person is not the person because the person has the reliability of 0.5%.

따라서 본 발명의 일 실시 예에서는 매칭비율(x)이 93% 이상일 경우에는 위와 같은 키스트로크 공통패턴과의 대비만을 통하여 간단한 과정으로 다른 사람이 아이디 및 패스워드를 도용하여 접속한 경우에 대한 사용자 인증을 효율적으로 수행할 수 있다.Therefore, in the embodiment of the present invention, when the matching ratio (x) is 93% or more, user authentication is performed in a simple process through contrast with the above-described keystroke common pattern, Can be efficiently performed.

본 발명의 일 실시 예에서는 매칭비율(x)이 93% 이상일 경우에는 본인인증 성공영역으로 설정하여 인증성공으로 판단한다.In the embodiment of the present invention, when the matching ratio x is 93% or more, it is determined that the authentication is successful by setting it as a successful authentication area.

본인인증 성공영역은 공통패턴의 누적된 학습 및 신뢰도에 따라 매칭비율 90 ~ 95% 범위에서 변경되어 설정될 수 있다.The authentication success area can be set in the range of 90 to 95% of the matching ratio according to the cumulative learning and reliability of the common pattern.

또한, 매칭비율이 66% 미만일 경우에는 본인이 아닌 타인이 도용하여 접속한 경우로 분석이 되는 것이므로 본인인증 실패영역으로 설정하여 인증불가로 판단한다.If the matching ratio is less than 66%, it is analyzed as a case where a person other than himself / herself is stolen and accessed. Therefore, it is determined that authentication is impossible and authentication is impossible.

또는 본인인증 실패영역은 공통패턴의 누적된 학습 및 신뢰도에 따라 매칭비율 65~70% 범위에서 변경되어 설정될 수 있다.Or the authentication failure area can be changed and set in the range of 65 to 70% in accordance with the cumulative learning and reliability of the common pattern.

매칭비율이 93% 미만이고, 66% 이상일 경우, 즉 본인인증 성공영역과 본인인증 실패영역의 사이에 있는 영역에서는, 접속 시도가 사용자 본인일 경우도 포함될 수 있다. 본인인 경우에 인증이 실패로 회시되면 또다시 아이디 및 패스워드를 입력하는 절차를 반복하게 되며, 이는 사용자의 불만사항이 높아질 수 있는 요인이 되므로 추가적인 절차에 의해 본인인 지를 확인할 필요성이 제기된다.In the case where the matching ratio is less than 93% and equal to or more than 66%, that is, in the area between the authentication success area and the authentication failure area, the case where the connection attempt is the user identity may be included. If the authentication is unsuccessful in the case of the person himself / herself, the process of inputting the ID and the password again is repeated. Since the user's complaint becomes high, it is necessary to check the identity of the person by an additional procedure.

본 발명의 일 실시 예에서는 매칭비율이 본인인증 성공영역과 본인인증 실패영역의 사이에 있는 영역일 경우에는 본인인증 보류영역으로 구분하며 본인확인을 위한 제2 인증방법에 의해 본인 확인절차를 추가로 수행하는 것을 특징으로 한다.According to an embodiment of the present invention, when the matching ratio is in a region between the authentication success area and the authentication failure area, the authentication ratio is divided into the authentication authentication hold area and the second authentication method for identifying the user, .

본 발명의 일 실시 예에 따른 본인확인을 위한 제2 인증방법에는 접속된 단말기가 본인의 단말기인지를 확인하는 방법 또는 제3 경로에 의한 본인확인 과정이 포함될 수 있다.The second authentication method for identity verification according to an embodiment of the present invention may include a method of confirming whether the connected terminal is the terminal of the user or a third step of identifying the terminal by the third path.

도 7은 본 발명의 일 실시 예에 따른 인증 장치에서 키스트로크 패턴을 이용한 사용자 인증방법을 도시한 것이다.FIG. 7 illustrates a user authentication method using a keystroke pattern in an authentication apparatus according to an embodiment of the present invention.

먼저, 사용자 단말(10)이 서비스를 제공받기 위해 웹서버(100)에 접속 시, 사용자 인증을 위한 웹페이지를 제공하는 인증용 웹페이지 제공단계(610)가 수행된다.First, when accessing the web server 100 in order for the user terminal 10 to receive a service, an authentication web page providing step 610 for providing a web page for user authentication is performed.

인증용 웹페이지 제공단계(610)에서 상기 웹페이지에서 동작되도록 설치된 키스트로크 패턴정보 수집모듈이 유저인터페이스(UI) 상의 로그인 화면에 id 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 로그정보(timestamp와 keycode, key의 속성값을 포함함)를 웹페이지의 userInputs에 수집 저장하고 로그인 완료 신호에 의해 웹서버(100)의 키스트로크 패턴 추출부(120)로 전달된다.In the authentication web page providing step 610, the keystroke pattern information collection module installed to operate in the web page displays a keyup for inputting an id and a password on a login screen on a user interface (UI), log information according to a keydown event And the attribute values of keycode and key) in userInputs of the web page, and is transmitted to the keystroke pattern extracting unit 120 of the web server 100 by the login completion signal.

다음은 키스트로크 패턴정보 추출부(120)에서 상기 웹페이지에 설치된 키스트로크 패턴정보 수집모듈로부터 전송된 인증이 요구되는 사용자에 의해 입력된 아이디 및 패스워드에 의한 로그정보로부터, 키스트로크 패턴 정보를 추출하는 「사용자 인증정보의 키스트로크 패턴정보 추출단계」(620)가 수행된다.Next, the keystroke pattern information extracting unit 120 extracts the keystroke pattern information from the log information based on the ID and the password input by the user who is requested to be authenticated and transmitted from the keystroke pattern information collection module installed on the web page Quot; keystroke pattern information extraction step of user authentication information &quot; 620 is performed.

사용자 인증정보의 키스트로크 패턴정보 추출단계(620)는 앞에서 설명한 키스트로크 패턴정보 추출단계(430)와 동일한 방법으로 수행될 수 있다.The keystroke pattern information extraction step 620 of the user authentication information may be performed in the same manner as the keystroke pattern information extraction step 430 described above.

다음은 사용자 인증서버(200)의 키스트로크 특성 생성부(210)에서 상기 키스트로크 패턴정보를 전달받아서, 상기 추출된 키스트로크 패턴정보의 키스트로크 값들로부터 키스트로크 패턴 특성을 생성하는 키스트로크 패턴 특성 생성단계(640)가 수행된다.Hereinafter, the keystroke pattern generating unit 210 of the user authentication server 200 receives the keystroke pattern information and generates a keystroke pattern characteristic from the keystroke values of the extracted keystroke pattern information A generation step 640 is performed.

키스트로크 패턴 특성 생성단계(640)는 상기 키스트로크 패턴 특성으로부터 각 키코드 별로 입력 지속시간에 대한 제1 특성 값과 각 키 코드 간의 입력 간격 시간에 대한 제2 특성 값을 생성하는 것으로써, 앞에서 설명한 인증된 사용자에 의한 키스트로크 패턴특성 생성단계(430)와 동일한 방법에 의해 수행될 수 있다.The keystroke pattern characteristic generation step 640 generates a first characteristic value for the input duration for each key code and a second characteristic value for the input interval time between the key codes from the keystroke pattern characteristic, May be performed in the same manner as the keystroke pattern characteristic generation step 430 by the described authenticated user.

다음은 키스트로크 패턴 특성 생성단계(640)에서 생성된 키스트로크 패턴 특성에 의한 값들을 키스트로크 데이터베이스(250)에 저장된 사용자별 키스트로크 공통패턴과 대비하여 매칭비율을 산출하는 매칭비율 산출단계(640)가 수행된다.Next, a matching ratio calculation step 640 (step 640) for calculating values of the key stroke pattern characteristic values generated in the key stroke pattern characteristic generation step 640, in comparison with the common key stroke common patterns stored in the key stroke database 250, ) Is performed.

매칭비율 산출단계(640)에서는 인증을 요하는 키스트로크의 특성 값을 키스트로크 공통패턴과 대비하여 동일하게 만족하는 개수에 대한 비율이 매칭비율로 산출된다.In the matching ratio calculating step 640, the ratio of the number of keystrokes that require authentication to the number of keystroke common patterns that satisfy the same is calculated as a matching ratio.

다음은 상기 매칭비율 산출단계(640)에서 산출된 매칭비율에 의하여 사용자가 본인인지를 판단하는 사용자 인증 판단단계(650)가 수행된다.Next, a user authentication determination step 650 is performed to determine whether the user is the user based on the matching ratio calculated in the matching ratio calculation step 640.

도 8은 본 발명의 일 실시 예에 따른 사용자 인증 판단단계를 도시한 것이다.FIG. 8 illustrates a step of determining a user authentication according to an embodiment of the present invention.

도 8을 참조하면, 본 발명의 일 실시 예에서는 710단계에서 매칭비율(x)이 93% 이상일 경우에는 본인인증 성공영역으로 설정하여 인증성공으로 판단한다.Referring to FIG. 8, in step 710, if the matching ratio x is 93% or more, the authentication success is determined to be successful.

710단계에서 키스트로크 매칭비율(x)이 93% 이상이 아니면, 720단계에서 매칭비율이 93% 미만이고, 66% 이상일 경우에는 본인인증 보류영역으로 구분하여 제2 인증수단인 단말기 검증단계를 수행하여 본인 확인절차를 수행하는 것을 특징으로 한다.If the keystroke matching ratio x is not 93% or more in step 710, if the matching ratio is less than 93% in step 720, and if the matching ratio is 66% or more, the authentication verification step is performed as the second authentication means Thereby performing the identity verification procedure.

매칭비율이 66% 미만일 경우에는 본인인증 실패영역으로 설정하여 인증불가(Log Fail)로 판단한다.If the matching ratio is less than 66%, it is set as the authentication failure area and it is determined that the authentication is not possible (Log Fail).

서비스 제공 단계(660)에서는 인증 성공으로 판단된 경우 및 단말기 검증 단계에 의해 본인 단말기의 확인절차가 완료된 접속 시도에 대하여는 요청된 서비스를 제공하고, 인증불가로 판단된 접속 시도에 대하여는 로그 실패 화면을 제공한다,In the service providing step 660, when it is determined that the authentication is successful, and the terminal verification step is performed, the requested service is provided for the connection attempt in which the authentication of the user terminal is completed. to provide,

본 발명의 일 실시 예에 따른 단말기 검증은 다음과 같은 방법에 의하여 수행된다.The terminal verification according to an embodiment of the present invention is performed by the following method.

본 발명의 일 실시 예에 따르면, 단말 검증부는 접속된 사용자 단말(10)을 식별하기 위하여, 최초로 접속 시 각 접속된 인증된 특정 사용자 단말을 구분하는 암호화된 유일한 단말인식키를 부여한다.According to an embodiment of the present invention, the terminal verification unit grants a unique encrypted terminal identification key for distinguishing each connected authenticated specific user terminal when first connected, in order to identify the connected user terminal 10.

일 예를 들면, 본 발명의 일 실시 예에 따른 단말인식키는 단말인식키 생성부(262)에서 UUID(Universally unique identifier) 형태의 16진수와 하이픈(-)으로 구성된 36자리 키이며 다음과 같은 형태로 생성한다.For example, the terminal identification key according to an embodiment of the present invention is a 36-digit key composed of a hexadecimal number in the form of a universally unique identifier (UUID) and a hyphen (-) in the terminal identification key generation unit 262, .

단말인식키 형성 예) 4b8fa7e3-746c-4bc6-aed5-dfd8bbdc36a0Terminal recognition key formation example) 4b8fa7e3-746c-4bc6-aed5-dfd8bbdc36a0

또한, 단말검증부의 단말 정보 관리부(266)는 사용자 단말(10)이 웹 브라우저를 통해 웹서버(100)로부터 웹페이지를 전송받기 위하여 제공되는 브라우저 정보 및 IP 정보를 수집한다.The terminal information management unit 266 of the terminal verification unit collects browser information and IP information provided for the user terminal 10 to receive a web page from the web server 100 through the web browser.

또한, 본 발명의 일 실시 예에 따른 단말검증부의 검증키 생성부(263)는 접속된 사용자 단말(10)의 환경 변화 및 단말인식키의 위변조를 검증하기 위하여 검증키를 생성한다. In addition, the verification key generation unit 263 of the terminal verification unit according to an embodiment of the present invention generates a verification key to verify the environment change of the connected user terminal 10 and the forgery and falsification of the terminal recognition key.

검증키는 사용자 단말(10)의 브라우저 정보에 대한 고유값의 조합으로 형성될 수 있다.The verification key may be formed by a combination of eigenvalues for the browser information of the user terminal 10. [

본 발명의 일 실시 예에 따른 검증키는 사용 브라우저의 변경, 단말인식키의 변조 등을 판단하기 위해 단말검증부에서 내부적으로 사용될 수 있다.The verification key according to an exemplary embodiment of the present invention can be used internally by the terminal verification unit to determine a change of a used browser, a modulation of a terminal recognition key, and the like.

본 발명의 일 실시 예에 따르면, 단말검증부의 검증키 생성부(263)는 수집된 브라우저 정보값을 다음의 순서로 조합한 정보값을 기준으로 Secure Hash Algorithm인 Sha25함수로 해시화 하여 16진수, 64자리로 생성될 수 있다.According to one embodiment of the present invention, the verification key generation unit 263 of the terminal verification unit hashs the information values obtained by combining the collected browser information values in the following order with the Sha25 function, which is the Secure Hash Algorithm, It can be created with 64 digits.

또한, 정책정보 설정에 따라 기준 정보 및 나열 순서는 변경될 수 있다.Also, the reference information and the order of listing may be changed according to the policy information setting.

I. 브라우저 언어I. Browser language

II. 스크린 색 깊이II. Screen color depth

III. 스크린 가로 크기III. Screen size

IV. 스크린 세로 크기IV. Screen vertical size

V. 사용 시스템의 타임 존 오프셋V. Time zone offset of the used system

VI. 브라우저의 로컬 스토리지 지원 유무VI. Availability of browser's local storage

VII. 브라우저 플랫폼 종류(Win32, WinCE, MacIntel, Linux i686 등)VII. Browser platform type (Win32, WinCE, MacIntel, Linux i686, etc.)

VIII. Canvas Fingerprint(Html5 Canvas 객체를 이용한 브라우저 Fingerprint 기술 중 하나)VIII. Canvas Fingerprint (one of the browser fingerprint technologies using Html5 Canvas object)

예를 들면, 단말 정보 관리부(266)에서 수집되는 브라우저 정보는, Browser 분야에서 UserAgent, Vendor, Vendor SubID, BuildID, CookieEnable, AppName, AppCodeName, AppVersion, AppMinorVersion, product, Java Enabled, localStorage, User Language, Browser Language, System Language가 포함될 수 있다.For example, the browser information collected by the terminal information management unit 266 may include UserAgent, Vendor, Vendor SubID, BuildID, CookieEnable, AppName, AppCodeName, AppVersion, AppMinorVersion, product, Java Enabled, localStorage, Language, and System Language.

또한, system 분야에서 Platfrom, OS CPU, Language, TimeZone, Fonts가 포함될 수 있다.It can also include Platfrom, OS CPU, Language, TimeZone, and Fonts in the system area.

또한, Screen 분야에서 MaxWidth, AvailableWidth, MaxHeight, AvailableHeight, Top, Left, Outer Width, Outer Height, Inner Width, Inner Height, Document Width, Document Height, ColorDepth, PixelDepth, Pixel Ratio, Font Smoothing, BufferDepth, DeviceXDPI, DeviceYDPI, LogicalXDPI, LogicalYDPI, SystemXDPI, SystemYDPI, UpdateInterval이 포함될 수 있다.In the screen field, MaxWidth, AvailableWidth, MaxHeight, AvailableHeight, Top, Left, Outer Width, Outer Height, Inner Width, Inner Height, Document Width, Document Height, ColorDepth, PixelDepth, Pixel Ratio, Font Smoothing, BufferDepth, DeviceXDPI, , LogicalXDPI, LogicalYDPI, SystemXDPI, SystemYDPI, and UpdateInterval.

또한, Plug-Ins 분야에서는 Pluginsdmf가 포함될 수 있다.Pluginsdmf can also be included in the plug-ins field.

또한, Network 분야에서는 NATIP, UseProxy, Proxy IP가 포함될 수 있다.In the network field, NATIP, UseProxy, and Proxy IP may be included.

또한, Personality 분야에서는 단말인식키, 검증키, 검증키 Exist, cheat, canvasFingerprint, cKeyExist, flashAvailable가 포함될 수 있다.In the Personality field, the terminal identification key, the verification key, and the verification key Exist, cheat, canvasFingerprint, cKeyExist, and flashAvailable may be included.

본 발명의 일 실시 예에 따르면, 단말검증부는 수집정보를 JSON 포맷으로 생성 후 AES256으로 암호화하여 저장한다.According to one embodiment of the present invention, the terminal verification unit generates the collection information in the JSON format, encrypts the information in the AES 256, and stores the encrypted information.

본 발명의 일 실시 예에 따르면, 단말검증부의 통합식별키 생성부(264)는 접속된 사용자 단말(10)을 식별하고 검증하기 위하여, 인증된 사용자가 최초로 접속시 단말인식키에 검증키를 머지(merge)하여 통합한 통합식별키를 생성하며, 단말 정보 관리부(266)는 접속된 사용자 단말(10)의 로컬영역에 생성된 통합식별키를 삽입하여 관리한다.According to an embodiment of the present invention, the integrated identification key generation unit 264 of the terminal verification unit 264 registers the verification key in the terminal recognition key when the authenticated user first accesses the terminal to identify and verify the connected user terminal 10 and the terminal information manager 266 inserts and manages the integrated identification key generated in the local area of the connected user terminal 10. [

본 발명의 일 실시 예에 따른 통합식별키는 알고리즘을 통하여 단말인식키와 검증키를 조합한 값이며, 단말검증부는 역으로 다시 이를 다시 단말인식키와 검증키로 분리하여 검증에 사용될 수 있다.The integrated identification key according to an exemplary embodiment of the present invention is a combination of a terminal identification key and a verification key through an algorithm, and the terminal verification unit can be used for verification by separating the terminal identification key and the verification key again.

본 발명의 일 실시 예에 따라 통합식별키가 삽입되는 사용자 단말(10)의 로컬영역은 Cookie, Local Storage, Flash Persistent Storage(LSO), WebSQL 등의 어느 하나 이상의 지원 가능한 저장공간이 사용될 수 있다.According to an embodiment of the present invention, the local area of the user terminal 10 in which the integrated identification key is inserted may be one or more supportable storage spaces such as Cookie, Local Storage, Flash Persistent Storage (LSO), and WebSQL.

또는 본 발명의 일 실시 예에 따라 통합식별키는 사용자 단말(10)의 Cookie, Local Storage, Flash Persistent Storage(LSO), WebSQL 등, 지원 가능한 저장공간에 모두 삽입될 수 있다.Alternatively, the integrated identification key may be inserted into a supportable storage space such as Cookie, Local Storage, Flash Persistent Storage (LSO), and WebSQL of the user terminal 10 according to an embodiment of the present invention.

본 발명의 일 실시 예에 따른 단말검증부가 사용자 단말(10)을 식별하는 방법은 먼저, 사용자 단말(10)이 서비스 제공 웹서버(100)에 접속을 시도하면, 단말검증부(10)는 상기 사용자 단말(10)로부터 브라우저 정보를 수집한다.The method for identifying the user terminal 10 according to an embodiment of the present invention is such that when the user terminal 10 attempts to access the service providing web server 100, And collects browser information from the user terminal 10. [

그리고 단말검증부(10)는 상기 수집된 브라우저 정보를 조합하여 검증키를 생성하고, 상기 사용자 단말(10)이 최초로 접속된 것으로 판단이 되면, 상기 사용자 단말을 구분하는 유일한 단말인식키를 생성한다.The terminal verification unit 10 generates a verification key by combining the collected browser information and generates a unique terminal identification key for distinguishing the user terminal 10 when it is determined that the user terminal 10 is connected for the first time .

다음, 단말검증부(10)는 상기 단말인식키와 검증키를 조합하여 상기 사용자 단말(10)에 유일한 통합식별키를 생성하여, 상기 사용자 단말의 로컬 영역에 삽입하고, 상기 사용자 단말을 식별할 수 있도록 상기 사용자 단말(10)에 대한 IP 정보, 상기 통합식별키, 단말인식키, 검증키 및 브라우저 정보를 검증 DB에 저장하게 된다.Next, the terminal verification unit 10 generates an integrated identification key unique to the user terminal 10 by combining the terminal identification key and the verification key, inserts the unique identification key into the local area of the user terminal 10, identifies the user terminal 10 The integrated identification key, the terminal identification key, the verification key, and the browser information for the user terminal 10 to be stored in the verification DB.

그리고 상기 사용자 단말(10)이 서비스 제공 웹서버(100)에 재접속을 하였을 때, 단말검증부(10)가 사용자 단말(10)로부터 통합식별키 및 브라우저 정보를 추출하고, 상기 추출된 통합식별키 및 브라우저 정보와 상기 검증 DB(266)에 저장된 IP 정보, 상기 통합식별키, 단말인식키 및 검증키를 비교하여, 사용자 단말(10)을 식별하고 검증하게 된다.When the user terminal 10 reconnects to the service providing web server 100, the terminal verification unit 10 extracts the integrated identification key and the browser information from the user terminal 10, And the browser information and IP information stored in the verification DB 266, the integrated identification key, the terminal identification key, and the verification key to identify and verify the user terminal 10.

도 9는 본 발명의 일 실시 예에 따른 단말 식별 네트워크 시스템(1)에서 접속된 사용자 단말을 식별하는 단말 식별 방법에 대한 과정에 대한 순서도를 간략하게 도시한 것이다.FIG. 9 is a flowchart briefly showing a procedure for a terminal identification method for identifying a connected user terminal in the terminal identification network system 1 according to an embodiment of the present invention.

도 9를 참조하면, 310단계에서 사용자 단말(10)이 서비스 제공 웹서버(100)에 접속을 시도하면, 320단계에서 단말식별 링커(125)로 연결된 단말검증부는 사용자 단말(10)의 로컬 영역을 검색하여 기존에 삽입된 통합식별키가 존재하는 지를 조회한다.Referring to FIG. 9, in step 310, when the user terminal 10 attempts to access the service providing web server 100, the terminal verification unit connected to the terminal identification linker 125 in step 320 receives the local area And inquires whether an existing integrated identification key exists.

본 발명의 일 실시 예에 따르면, 단말검증부의 단말정보 관리부(266)는 통합식별키가 존재하는 지를 조회하기 위해, 로컬영역의 Cookie, Local Storage, Flash Persistent Storage(LSO), WebSQL 순으로 검색한다.According to an embodiment of the present invention, the terminal information management unit 266 of the terminal verification unit searches for Cookie, Local Storage, Flash Persistent Storage (LSO), and WebSQL in the local area in order to inquire whether an integrated identification key exists .

320단계에서 단말검증부는 사용자 단말(10)의 로컬 영역에 통합식별키가 존재하는 것으로 조회되면 기존에 접속한 이력이 있는 것으로 판단 분류하고, 상기 통합식별키를 추출한다.In operation 320, when the integrated verification key exists in the local area of the user terminal 10, the terminal verification unit classifies the access history as having a history of access and extracts the integrated identification key.

그리고 340단계에서 단말검증부는 접속된 사용자 단말(10)로부터 새로운 브라우저 정보를 수집하며, 상기 수집된 브라우저 정보를 조합하여, new 검증키를 생성하고(340 단계), 검증 단계(350)를 수행하게 된다.In step 340, the terminal verification unit collects new browser information from the connected user terminal 10, combines the collected browser information to generate a new verification key (step 340), and performs a verification step 350 do.

검증단계(350)에서는 단말검증부는 검증 DB(265)로부터 상기 통합식별키에 대응하는 기존의 old 검증키 정보를 추출하고, 상기 new 검증키와 기존의 old 검증키 정보가 동일한지를 판단한다.In the verification step 350, the terminal verification unit extracts the existing old verification key information corresponding to the integrated identification key from the verification DB 265, and determines whether the new verification key and the old old verification key information are identical.

동일한 경우에는 접속된 사용자 단말(10)이 기존에도 접속했고 현재 접속환경도 변경이 없으며, 검증 DB(265)에 저장된 특정 사용자 단말인 경우로 분류한다.In the same case, it is classified as a specific user terminal stored in the verification DB 265, the connected user terminal 10 has already been connected and the current connection environment is not changed.

다음, 360단계에서 수집된 상기 사용자 단말(10)에 대한 수집된 IP 정보를 기록하고, 요구되는 웹페이지를 제공하도록 상기 사용자 단말(10)을 서비스 제공 웹서버(100)의 서비스제공 웹페이지로 연결한다.Next, the IP information collected for the user terminal 10 collected in step 360 is recorded, and the user terminal 10 is connected to the service providing web page of the service providing web server 100 to provide the requested web page Connect.

본 발명의 일 실시 예에 따르면, 단말검증부는 사용자 단말(10)에 플러그인(plug-in), AF flash module 등의 에이전트 프로그램이 이미 설치되어 있는 경우에는 NAT IP를 수집하고, 그 외의 경우에는 접속 직전의 Web IP를 수집한다.According to an embodiment of the present invention, the terminal verification unit collects a NAT IP when an agent program such as a plug-in or an AF flash module is already installed in the user terminal 10, Collect the previous Web IP.

상기 직전 Web IP는 Proxy server을 경유하지 않은 경우에는 NAT IP와 동일하나, Proxy server을 경유하여 접속된 경우에는 Proxy IP를 나타내는 것을 의미한다.The immediately preceding Web IP is the same as the NAT IP in the case of not passing through the proxy server but the proxy IP in the case of connecting via the proxy server.

한편, 320단계에서 단말검증부는 사용자 단말(10)의 로컬 영역에 통합식별키가 존재하지 않은 것으로 조회되면, 통합식별키 복구단계(330)를 진행한다.If it is determined in step 320 that the integrated identification key does not exist in the local area of the user terminal 10, the terminal verification unit proceeds to the integrated identification key recovery step 330. [

도 10은 본 발명의 일 실시 예에 따른 단말검증부가 통합식별키 복구단계(330)를 수행하는 순서도를 도시한 것이다.FIG. 10 is a flowchart illustrating a procedure of performing an integrated identification key recovery step (330) by the terminal verification unit according to an embodiment of the present invention.

도 10을 참조하면, 331단계에서 단말검증부는 서비스 제공 웹서버(100)에 접속된 사용자 단말(10)로부터 브라우저 정보를 수집하고, 상기 브라우저 정보로부터 접속된 사용자 단말(10)에 대한 new 검증키를 생성한다.10, in step 331, the terminal verification unit collects browser information from the user terminal 10 connected to the service providing web server 100, extracts a new verification key for the connected user terminal 10 from the browser information, .

다음은 332단계에서 단말검증부는 331단계에서 생성된 new 검증키와 동일한 정보가 검증 DB(266)에 존재하는지를 판단한다.Next, in step 332, the UE verification unit determines whether the same information as the new verification key generated in step 331 exists in the verification DB 266.

단말검증부는 생성된 new 검증키와 동일한 정보가 검증 DB(266)에 존재하지 않으면, 접속된 사용자 단말(10)이 기존 접속된 사용자의 단말이 아니며, 최초로 접속된 다른 단말인 것으로 판단을 하고, 333단계에서 접속된 사용자 단말에 대한 단말인식키를 생성한다.The terminal verification unit judges that the connected user terminal 10 is not the terminal of the existing connected user but the other terminal that is connected first if the same information as the generated new verification key is not present in the verification DB 266, In step 333, a terminal identification key for the connected user terminal is generated.

그 다음, 334단계에서 단말검증부는 상기 new 검증키와 상기 단말인식키를 조합하여 통합식별키를 생성하고, 접속된 사용자의 단말에 대하여 생성된 단말인식키, new 검증키 및 통합식별키를 검증 DB에 저장한다.Then, in step 334, the terminal verification unit generates an integrated identification key by combining the new verification key and the terminal identification key, and verifies the terminal identification key, the new verification key, and the integrated identification key generated for the terminal of the connected user Save to DB.

한편, 332단계에서 단말검증부는 생성된 new 검증키와 동일한 정보가 검증 DB(266)에 존재하는 것으로 판단이 되면, 접속된 사용자 단말(10)이 기존에 접속을 하였지만 로컬영역에 삽입된 통합식별키가 삭제된 것으로 분류를 하고, 336단계에서 검증 DB(266)로부터 상기 new 검증키에 매칭되는 old 단말인식키 리스트 중 최신 것을 리턴받아 복구한다.On the other hand, if it is determined in step 332 that the same information as the new verification key is present in the verification DB 266, the terminal verification unit may determine that the connected user terminal 10 has already accessed the integrated identification Key is deleted, and in step 336, the oldest one of the old terminal recognition key lists matched with the new verification key is returned from the verification DB 266 and is restored.

다음 337단계에서 단말검증부는, 상기 new 검증키와 상기 복구된 old 단말인식키를 조합하여 new 통합식별키를 생성하고, 검증 DB(266)에 저장한다. In step 337, the terminal verification unit generates a new integrated identification key by combining the new verification key and the recovered old terminal identification key, and stores the new integrated identification key in the verification DB 266.

338단계에서는 단말검증부는 상기 337단계 또는 상기 334단계에서 생성된 new 통합식별키를 사용자 단말(10)의 로컬영역에 포함되도록 삽입한다.In step 338, the terminal verification unit inserts the new integrated identification key generated in step 337 or step 334 so as to be included in the local area of the user terminal 10.

338단계 이후에 단말검증부는 상기 360단계와 동일하게 접속한 사용자 단말(10)에 대한 IP 정보를 기록 후, 요구되는 웹페이지로 제공하도록 서비스 제공 웹서버의 웹페이지로 연결하는 단계가 수행된다.After step 338, the terminal verification unit performs a step of connecting to the web page of the service providing web server so that the IP information about the user terminal 10 accessed in the same manner as in step 360 is recorded and provided as a required web page.

다시 도 9로 돌아가서, 단말검증부가 검증단계(350)에서 상기 new 검증키와 검증 DB(266)에 저장된 old 검증키 정보가 동일하지 않은 경우로 판단된 경우에는, 제2 단말검증단계가 수행된다.Returning to FIG. 9, if it is determined that the old verification key information stored in the verification DB 266 is not identical to the new verification key in the verification step 350, the second verification step is performed .

도 11은 본 발명의 일 실시 예에 따른 단말검증부가 제2 단말검증단계를 수행하는 순서도를 도시한 것이다.11 is a flowchart illustrating a second terminal verification step performed by the terminal verification unit according to an embodiment of the present invention.

제2 단말검증단계에서는 단말검증부는 먼저, 검증 DB(266)에 사용자 단말(10)의 통합식별키에 포함된 단말인식키와 동일한 단말인식키가 존재하는 지를 조회한다(400 단계).In the second terminal verification step, the terminal verification unit inquires of the verification DB 266 whether a terminal identification key identical to the terminal identification key included in the integrated identification key of the user terminal 10 exists (operation 400).

400 단계에서 검증 DB(266)에 사용자 단말(10)의 통합식별키에 포함된 단말인식키와 동일한 old 단말인식키가 존재하면, 접속된 사용자 단말(10)이 기존에 접속된 이력이 있으나, 브라우저의 환경이 변화된 것으로 분류를 한다.If there is an old terminal identification key identical to the terminal identification key included in the integrated identification key of the user terminal 10 in the verification DB 266 in step 400, We classify the browser environment as changed.

다음, 410 단계에서 상기 동일한 old 단말인식키를 검증 DB(266)로부터 리턴받은 후, 420단계에서 단말검증부는 new 검증키와 old 단말인식키를 조합하여 new 통합식별키를 생성하고, 검증 DB(266)에 저장한다.In step 420, the terminal verification unit generates a new integrated identification key by combining the new verification key and the old terminal identification key, and transmits the new integrated identification key to the verification DB 266. In step 420, 266).

다음은 생성된 new 통합식별키를 사용자 단말(10)의 로컬영역에 업그레이드하여 포함되도록 삽입한다(430 단계).Next, the generated new integrated identification key is inserted into the local area of the user terminal 10 so as to be upgraded (430).

다음은 상기 360단계와 동일하게 접속한 사용자 단말(10)의 IP 정보를 기록 후 요청된 웹페이지를 제공하도록 웹서버(100)로 연결하는 단계가 수행된다.Next, the IP information of the connected user terminal 10 is recorded in the same manner as in step 360, and a step of connecting to the web server 100 to provide the requested web page is performed.

한편, 400단계에서 단말검증부가 검증 DB(266)에 사용자 단말(10)의 통합식별키에 포함된 단말인식키와 동일한 old 단말인식키가 존재하지 않은 것으로 판단된 경우에는, 접속된 사용자 단말(10)의 브라우저가 기존과 변경되거나, 단말인식키가 타인에 의해 복사된 것으로 분류를 하고, 401단계에서 단말검증부는 접속된 사용자 단말(10)에 대하여 고유한 new 단말인식키를 생성한다.On the other hand, if it is determined in step 400 that there is no old terminal recognition key identical to the terminal identification key included in the integrated identification key of the user terminal 10 in the terminal verification unit verification DB 266, 10 is changed to the existing one or the terminal recognition key is copied by another person. In step 401, the terminal verification unit generates a new terminal identification key unique to the connected user terminal 10.

다음은 402단계에서 new 검증키와 new 단말인식키를 조합하여 new 통합식별키를 생성하고, 이들을 검증 DB(266)에 저장한다.In step 402, a new unified identification key is generated by combining the new verification key and the new terminal identification key, and the new integrated identification key is stored in the verification DB 266.

또한, 이 경우, 단말검증부는 이상징후 정책에 따라 별도로 관리할 수 있다.In this case, the terminal verification unit can separately manage according to the anomalous indication policy.

검증 DB(266)는 사용자 단말 별로 검증키 리스트와 단말인식키 리스트 및 수집정보의 변화 이력을 테이블로 기록 저장한다.The verification DB 266 records and records the change histories of the verification key list, the terminal identification key list, and the collection information for each user terminal in a table.

단말검증부의 단말 식별 판단부(265)는 검증 DB(266)로부터 변화된 이력 및 접속 패턴을 분석하여 이상징후 판단 정책을 수립하고, 접속된 사용자 단말이 악의적인 접속인지를 판단할 수 있다.The terminal identification determiner 265 of the terminal verification unit can analyze the changed history and connection pattern from the verification DB 266 to establish an abnormality notification judgment policy and determine whether the connected user terminal is malicious access.

다음은 430단계와 동일하게 new 통합식별키를 사용자 단말(10)의 로컬영역에 포함되도록 업그레이드하여 삽입한다.Next, in step 430, the new integrated identification key is upgraded to be included in the local area of the user terminal 10 and inserted.

본 발명의 일 실시 예에 따르면, 웹사이트에 접속하는 사용자 단말에 대하여 단말식별용 에이전트 프로그램이나 키보드 입력패턴 추출용 에이전트를 설치하지 않으면서 서비스제공 서버에서 사용자가 인식하지 못하도록 자연스럽게 키보드 입력패턴 정보 및 접속 정보만을 이용하여 사용자의 본인을 인증하는 장치 및 방법을 제공할 수 있다.According to an embodiment of the present invention, a keyboard input pattern information and a keyboard input pattern information can be naturally prevented from being recognized by a service providing server without installing an agent program for terminal identification or an agent for keyboard input pattern extraction to a user terminal accessing a web site. It is possible to provide an apparatus and method for authenticating a user of a user using only connection information.

본 발명의 일 실시 예에 따르면, 단말검증부는 접속된 사용자 단말에 대하여 수집된 IP, 단말인식키 및 검증키 및 브라우저 수집정보에 의하여 사용자 단말을 정확하게 특정하여 식별할 수 있다.According to an embodiment of the present invention, the terminal verification unit can accurately identify and identify the user terminal based on the collected IP, the terminal identification key, the verification key, and the browser collection information for the connected user terminal.

본 발명의 일 실시 예에 따른 단말검증부의 단말식별 판단부는 접속 패턴 추세를 판별하여 위장 접속 패턴으로 접속하는 경우로 판단된 경우에는 웹페이지의 접속을 차단하고, 추적 에이전트를 제공하여 NAT IP 추적 프로그램을 진행할 수 있다.The terminal identification unit of the terminal verification unit according to an embodiment of the present invention determines the access pattern trend and disables connection of the web page when it is judged that access is made in a spoofed access pattern, .

본 발명의 일 실시 예에서는 사용자 단말기에 별도의 키보드 입력패턴 추출용 모듈이나 에이전트를 설치하지 않으면서, 서비스제공 서버에서 사용자가 인식하지 못하도록 자연스럽게 인증정보로부터 키보드 입력패턴 정보를 수집하여 사용자의 본인을 인증하는 장치 및 방법을 제공할 수 있다.In an embodiment of the present invention, a keyboard input pattern extracting module is not installed in the user terminal, and the service providing server naturally collects the keyboard input pattern information from the authentication information so that the user can not recognize the user, It is possible to provide an apparatus and method for authentication.

본 발명의 일 실시 예에 따르면, 매칭비율이 일정 값 이상일 경우에는 키스트로크 패턴 대비에 의한 간단한 과정으로 다른 사람이 아이디 및 패스워드를 도용하여 접속한 경우에 대한 사용자 인증을 신속하고 효율적으로 수행할 수 있다.According to an embodiment of the present invention, when the matching ratio is equal to or greater than a predetermined value, the user can quickly and efficiently perform user authentication for accessing another user by stealing an ID and a password by a simple process based on a key stroke pattern contrast have.

또한, 매칭비율이 일정 값 미만일 경우에는 키스트로크 패턴 대비에 의한 간단한 과정으로 다른 사람이 아이디 및 패스워드를 도용하여 접속한 경우를 판별하여 서비스를 차단할 수 있는 효과를 가진다.Also, when the matching ratio is less than a predetermined value, the service can be blocked by discriminating a case where another person steals an ID and a password to access by a simple process based on the key stroke pattern contrast.

또한, 매칭비율이 일정 영역범위 내에 있는 경우에만 추가적인 인증을 실시하도록 함으로써, 로그 실패로 인한 사용자의 번거로움을 없애고 사용자의 본인 인증을 효율적으로 수행할 수 있다.Further, by performing additional authentication only when the matching ratio is within a certain range, the user can be efficiently authenticated by eliminating the hassle of the user due to the log failure.

10: 사용자 단말
100: 웹서버
110: 웹페이지부
120: 키스트로크 패턴 정보 추출부
125: 단말식별 링커
130: 서비스 제공부
200: 사용자 인증서버
210: 키스트로크 특성 생성부
220: 매칭비율 판단부
240: 사용자별 키스트로크 공동패턴 학습부
230: 사용자인증부
250: 키스트로크 패턴정보 데이터베이스부
260: 단말 정보 관리부
262 단말인식키 생성부
263: 검증키 생성부
264: 통합식별키 생성부
265: 단말 식별 판단부
266: 검증 DB
10: User terminal
100: Web server
110: Web page part
120: Keystroke pattern information extracting unit
125: terminal identification linker
130: Service Offering
200: user authentication server
210: Keystroke characteristic generating unit
220: matching ratio determining unit
240: Keystone joint pattern learning unit for each user
230: User authentication unit
250: Keystroke pattern information database unit
260: Terminal information manager
262 terminal recognition key generation unit
263: verification key generation unit
264: Integrated Identification Key Generation Unit
265: terminal identification determination unit
266: Validation DB

Claims (8)

웹서버 및 사용자 인증서버를 포함하는 사용자 인증장치에서 상기 웹서버에 접속하는 사용자 단말의 사용자 인증방법에 있어서,
상기 사용자 인증방법은,
상기 사용자 단말에 키보드 입력패턴 추출용 모듈 또는 단말식별용 에이전트을 설치하지 않은 상태에서, 사용자 인증서버에서 로그인 인증정보를 포함하는 접속정보만을 이용하여 키보드 입력패턴 정보를 추출하여 사용자에 대한 인증을 수행하는 것을 특징으로 하며,
상기 사용자 인증방법은,
상기 사용자 단말이 서비스 이용을 위하여 상기 웹서버에 접속 시, 웹페이지에서 동작되도록 키스트로크 패턴정보 수집모듈이 웹페이지에 생성되며, 상기 생성된 키스트로크 패턴정보 수집모듈이 상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하여 상기 웹서버의 키스트로크 패턴 추출부로 전송하는 단계;
상기 키스트로크 패턴 추출부에서 상기 로그 정보로부터, 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계;
상기 사용자 인증서버에서 상기 키스트로크 패턴정보를 전달받아서 상기 키스트로크 패턴정보로부터 키스트로크 패턴 특성 값을 생성하는 키스트로크 패턴 특성 생성단계;
상기 사용자 인증서버에서 상기 키스트로크 패턴 특성 값들을 키스트로크 데이터베이스에 저장된 사용자별 키스트로크 공통패턴과 대비하여 매칭비율을 산출하는 매칭비율 산출단계; 및
상기 사용자 인증서버에서 상기 매칭비율에 의하여 사용자가 본인인지를 판단하는 사용자 인증 판단단계; 를 포함하는 것을 특징으로 하되,
상기 사용자 인증 판단단계에서는,
상기 매칭비율에 따라, 본인인증 성공영역, 본인인증 보류영역 및 본인인증 실패영역으로 구분하고, 상기 본인인증 성공영역에서는 사용자가 요청하는 서비스를 제공하고, 본인인증 실패영역에서는 로그 실패 화면을 제공하며, 본인인증 보류영역에서는 상기 접속된 단말의 사용자 본인의 단말인지를 검증하는 단말기 검증방법을 추가로 실시하는 것을 특징으로 하되,
상기 매칭비율은 상기 인증을 요하는 사용자의 키스트로크 패턴 특성 값들을 상기 키스트로크 공통패턴과 대비하여 동일하게 만족하는 개수에 대한 비율이며, 상기 본인인증 성공영역은 상기 매칭비율이 93% 이상인 영역이며, 상기 본인인증 보류영역은 상기 매칭비율이 93% 미만에서 66% 이상인 영역이고, 상기 본인인증 실패영역은 상기 매칭비율이 66% 미만인 영역인 것을 특징으로 하고,
사용자 본인의 단말인지를 검증하는 단말기 검증방법은, 상기 사용자 인증서버에 포함된 단말검증부가 상기 사용자 단말로부터 브라우저 정보를 수집하여 검증하는 것을 특징으로 하며,
상기 인증 판단단계에서 상기 성공영역으로 판단된 경우 및 상기 보류영역에서 단말기 검증 단계에 의해 본인 단말기의 확인절차가 완료된 접속 시도에 대하여는 요청된 서비스를 제공하는 것을 특징으로 하는 사용자 인증방법.
A user authentication method of a user terminal accessing the web server in a user authentication apparatus including a web server and a user authentication server,
The user authentication method includes:
The user authentication server extracts the keyboard input pattern information using only the connection information including the login authentication information and performs authentication for the user without installing the keyboard input pattern extracting module or the terminal identification agent in the user terminal , &Lt; / RTI &gt;
The user authentication method includes:
Wherein the keystroke pattern information collection module is generated in a web page so that the user terminal is operated on a web page when accessing the web server for use of the service, Collecting log information including a keyup for inputting an ID and a password, a timestamp corresponding to a keydown event, an attribute value of a keycode, and a key on a login screen on the UI, and transmitting the collected log information to a keystroke pattern extracting unit of the web server;
A keystroke pattern information extracting step of extracting keystroke pattern information from the log information in the keystroke pattern extracting step;
A keystroke pattern characteristic generation step of receiving the keystroke pattern information from the user authentication server and generating a keystroke pattern characteristic value from the keystroke pattern information;
Calculating a matching ratio by comparing the keystroke pattern characteristic values with a common keystroke pattern for each user stored in the keystroke database; And
A user authentication determination step of determining whether the user is the user by the matching ratio in the user authentication server; , Wherein:
In the user authentication determination step,
The authentication success area, the authentication area, and the authentication failure area are classified according to the matching ratio. The user authentication success area provides a service requested by the user. The authentication failure area provides a log failure screen And a terminal verification method for verifying whether the terminal is the user terminal of the connected terminal in the authentication suspension area,
Wherein the matching ratio is a ratio of the number of keystroke pattern characteristic values of a user requiring the authentication to the number of keystroke pattern matching values equally satisfying the keystroke common pattern and the matching authentication ratio is an area having the matching ratio of 93% , The authentication authentication permission area is an area where the matching ratio is less than 93% and not less than 66%, and the authentication failure area is an area where the matching ratio is less than 66%
A terminal verification method for verifying whether a user terminal is a terminal of a user is characterized in that a terminal verification unit included in the user authentication server collects and verifies browser information from the user terminal,
Wherein the requested service is provided for a connection attempt determined to be a successful region in the authentication determination step and a connection attempt of the terminal of the user's terminal is completed in the terminal verification step in the reserved area.
삭제delete 제1항에 있어서,
상기 키스트로크 패턴정보 수집모듈은,
상기 유저인터페이스상의 로그인 화면에서 추출하기 위한 키를 설정하는 단계;
상기 웹페이지의 유저인터페이스상에 키 입력에 따른 keyup, keydown Event에 대한 로그정보가 상기 웹페이지의 userInputs에 저장하는 단계; 및
로그인 완료 신호에 따라 상기 저장된 로그정보가 상기 키스트로크 패턴 추출부로 전송되는 단계; 를 포함하도록 프로그램 된 것을 특징으로 하는 사용자 인증방법.
The method according to claim 1,
Wherein the keystroke pattern information collection module comprises:
Setting a key for extracting from a login screen on the user interface;
Storing log information on keyup and keydown events according to a key input on a user interface of the web page in userInputs of the web page; And
Transmitting the stored log information to the keystroke pattern extraction unit according to a login completion signal; The user authentication method comprising:
제1항에 있어서,
상기 사용자별 키스트로크 공통패턴은,
인증된 사용자가 상기 웹서버에 접속하여 ID와 패스워드를 입력 시, 입력되는 키스트로크 데이터에 대한 로그 정보를 수집할 수 있는 키스트로크 패턴정보 수집모듈 생성단계;
키스트로크 패턴정보 수집모듈이 상기 인증된 사용자의 id 및 패스워드의 입력에 따라 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 상기 키스트로크 패턴 추출부로 전송하는 단계;
상기 키스트로크 패턴 추출부에서 상기 인증된 사용자의 로그 정보로부터, 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계;
상기 인증된 사용자의 키스트로크 패턴정보로부터 상기 키스트로크 패턴 특성으로부터 키코드 별로 입력 지속시간에 대한 제1 특성 값과 각 키 코드 간의 입력 간격 시간에 대한 제2 특성 값을 생성하는 키스트로크 패턴 특성 생성단계; 및
상기 키 코드별로 입력 지속시간을 각각 대비한 제1 특성 대비값 패턴과 상기 각 키 코드 간의 입력 간격 시간을 각각 비교한 제2 특성 대비값 패턴을 생성한 다음, 이를 여러 번 반복 학습하여 상기 사용자별 키스트로크 공통패턴을 생성하는 것을 특징으로 하는 사용자 인증방법.
The method according to claim 1,
The user-specific keystroke common pattern may include:
Generating a keystroke pattern information collection module capable of collecting log information on input keystroke data when an authenticated user accesses the web server and inputs an ID and a password;
The keystroke pattern information collection module transmits log information including timestamp, keycode, and key attribute values to the keystroke pattern extraction unit according to the input of the authenticated user's id and password;
A keystroke pattern information extracting step of extracting keystroke pattern information from log information of the authenticated user in the keystroke pattern extracting step;
From the keystroke pattern characteristic of the authenticated user, a keystroke pattern characteristic for generating a first characteristic value for the input duration and a second characteristic value for the input interval time between the key codes, step; And
A second characteristic contrast value pattern in which a first characteristic contrast value pattern in which input durations of the key codes are respectively compared with an input interval time between the respective key codes is generated, And generating a keystroke common pattern.
삭제delete 제1항에 있어서,
상기 사용자 인증서버는 단말검증부를 더 포함하며,
상기 단말기 검증방법은,
상기 사용자 단말이 상기 웹서버에 접속을 시도하면, 상기 단말검증부가 상기 사용자 단말로부터 브라우저 정보를 수집하는 단계;
상기 단말검증부가 상기 수집된 브라우저 정보를 조합하여 검증키를 생성하는 단계;
- 여기서 상기 검증키는 상기 접속된 사용자 단말의 브라우저 언어, 스크린 색 깊이, 스크린 가로 크기, 스크린 세로 크기, 사용 시스템의 타임 존 오프셋, 브라우저의 로컬 스토리지 지원 유무 및 브라우저 플랫폼 종류에 대한 정보를 모두 포함하도록 조합한 정보값을 Secure Hash Algorithm 인 Sha25 함수로 해시화하여 생성하는 것을 특징으로 함-,
상기 단말검증부가 제1 사용자 단말이 최초로 접속된 것으로 판단이 되면, 상기 제1 사용자 단말을 구분하는 유일한 단말인식키를 생성하는 단계;
상기 단말검증부가 상기 단말인식키와 검증키를 조합하여 상기 사용자 단말에 유일한 통합식별키를 생성하는 단계; 및
상기 단말검증부가 상기 통합식별키를 상기 사용자 단말의 로컬 영역에 삽입하는 단계; - 여기서 상기 로컬 영역은 상기 사용자 단말의 Cookie, Local Storage, Flash Persistent Storage(LSO), WebSQL을 포함하는 영역임-,
상기 사용자 단말에 대한 IP 정보, 상기 통합식별키, 단말인식키, 검증키, 상기 브라우저 정보를 검증 DB에 저장하는 단계를 포함하며,
사용자 본인의 단말인지를 검증을 요하는 사용자 단말이 상기 웹서버에 재접속을 하였을 때, 상기 단말검증부가 상기 사용자 단말로부터 상기 통합식별키 및 브라우저 정보를 추출하고, 상기 추출된 정보와 상기 검증 DB에 저장된 IP 정보, 상기 통합식별키, 단말인식키 및 검증키를 비교하여, 동일한 경우 상기 사용자 단말이 상기 검증 DB에 저장된 사용자 단말로 검증하는 것을 특징으로 하는 사용자 인증방법.
The method according to claim 1,
The user authentication server further includes a terminal verification unit,
The terminal verification method includes:
Collecting browser information from the user terminal when the user terminal attempts to access the web server;
The terminal verification unit combining the collected browser information to generate a verification key;
Wherein the verification key includes all information about the browser language of the connected user terminal, the screen color depth, the screen width size, the screen portrait size, the time zone offset of the used system, the local storage support of the browser, and the browser platform type The hash value is combined with the Sha25 function, which is a Secure Hash Algorithm, and is generated.
Generating a unique terminal identification key for identifying the first user terminal when the terminal verification unit determines that the first user terminal is connected for the first time;
The terminal verification unit combining the terminal identification key and the verification key to generate a unique integrated identification key unique to the user terminal; And
Inserting the integrated identification key into the local area of the user terminal; Wherein the local area is a region including Cookie, Local Storage, Flash Persistent Storage (LSO), and WebSQL of the user terminal,
Storing the IP information, the integrated identification key, the terminal identification key, the verification key, and the browser information for the user terminal in a verification DB,
The terminal verification unit extracts the integrated identification key and the browser information from the user terminal when the user terminal that requires verification of the user terminal is reconnected to the web server, Comparing the stored IP information, the integrated identification key, the terminal identification key, and the verification key, and verifying the user information with the user terminal stored in the verification DB.
웹서버 및 사용자 인증서버를 포함하는 사용자 인증장치에 있어서,
상기 사용자 인증장치는, 사용자 단말기에 키보드 입력패턴 추출용 모듈 또는 단말식별용 에이전트을 설치하지 않은 상태에서, 로그인 인증정보를 포함하는 접속정보만을 이용하여 키보드 입력패턴 정보를 추출하여 사용자에 대한 인증을 수행하는 것을 특징으로 하며,
상기 사용자 인증장치는,
상기 웹서버는 접속하는 사용자 단말기에 웹페이지를 제공하는 웹페이지부;
상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하는 키스트로크 패턴정보 수집모듈를 생성하며, 상기 키스트로크 패턴정보 수집모듈로부터 상기 로그정보를 전송받아 키스트로크 패턴 정보를 추출하는 키스트로크 패턴 정보 추출부; 및
상기 사용자 인증서버에서 사용자 인증 결과에 따라 사용자에게 서비스를 제공하는 서비스 제공부; 를 포함하며,
상기 사용자 인증서버는 키스트로크 인증부 및 단말검증부를 포함하며,
상기 키스트로크 인증부는 상기 키스트로크 패턴 정보 추출부에서 추출된 키스트로크 패턴 정보로부터 키스트로크의 특성 값을 추출하는 키스트로크 특성 생성부;
상기 키스트로크 특성 생성부에서 생성된 사용자별 키스트로크의 특성 값들로부터 공통패턴 값을 생성하여 학습하는 사용자별 키스트로크 공동패턴 학습부;
상기 키스트로크 특성 생성부에서 생성된 인증을 위한 키스트로크의 특성 값을 상기 사용자별 키스트로크 공동패턴 학습부에서 학습된 공통패턴 값과 대비하여 매칭비율을 산출하는 매칭비율 판단부;
상기 매칭비율 판단부에서 산출한 매칭비율을 설정된 값과 대비하여 서비스제공을 요구하는 사용자에 대하여 서비스를 제공하는 것에 대한 인증을 판단하며, 추가적으로 상기 단말검증부에서 검증된 단말인지를 판단하여 서비스를 제공하는 것에 대한 인증을 판단하는 사용자인증부; 및
상기 키스트로크 패턴 정보, 상기 사용자별 키스트로크의 특성값 및 사용자별 공통패턴을 저장하여 관리하는 키스트로크 데이터베이스부; 를 포함하되,
상기 사용자 인증부는 상기 매칭비율에 따라, 본인인증 성공영역, 본인인증 보류영역 및 본인인증 실패영역으로 구분하고, 상기 본인인증 성공영역에서는 사용자가 요청하는 서비스를 제공하고, 본인인증 실패영역에서는 로그 실패 화면을 제공하며, 본인인증 보류영역에서는 상기 접속된 단말의 상기 사용자 본인의 단말인지를 검증하는 단말기 검증방법을 추가로 실시하되,
상기 매칭비율은 상기 인증을 요하는 사용자의 키스트로크의 특성 값들을 키스트로크 공통패턴과 대비하여 동일하게 만족하는 개수에 대한 비율이며, 상기 본인인증 성공영역은 상기 매칭비율이 93% 이상인 영역이며, 상기 본인인증 보류영역은 상기 매칭비율이 93% 미만에서 66% 이상인 영역이고, 상기 본인인증 실패영역은 상기 매칭비율이 66% 미만인 영역인 것을 특징으로 하고,
사용자 본인의 단말인지를 검증하는 단말기 검증방법은, 상기 사용자 인증서버에 포함된 단말검증부가 상기 사용자 단말로부터 브라우저 정보를 수집하여 검증하는 것을 특징으로 하며,
상기 성공영역으로 판단된 경우 및 상기 보류영역에서 단말기 검증 단계에 의해 본인 단말기의 확인절차가 완료된 접속 시도에 대하여는 요청된 서비스를 제공하는 것을 특징으로 하는 사용자 인증장치.
A user authentication apparatus including a web server and a user authentication server,
The user authentication apparatus extracts keyboard input pattern information using only connection information including login authentication information and performs authentication for a user without installing a keyboard input pattern extracting module or a terminal identification agent in the user terminal .
Wherein the user authentication apparatus comprises:
Wherein the web server comprises: a web page unit for providing a web page to a connecting user terminal;
A keystroke pattern information collection module for collecting log information including a keyup for inputting an ID and a password, a timestamp corresponding to a keydown event, and an attribute value of keycode and key on a login screen on the user interface (UI) of the web page A keystroke pattern information extracting unit for extracting keystroke pattern information by receiving the log information from the keystroke pattern information collecting module; And
A service providing unit for providing a service to a user according to a user authentication result in the user authentication server; / RTI &gt;
Wherein the user authentication server includes a keystroke authentication unit and a terminal verification unit,
Wherein the keystroke authentication unit comprises: a keystroke property generation unit that extracts a keystroke characteristic value from the keystroke pattern information extracted by the keystroke pattern information extraction unit;
A user-specific keystroke cavity pattern learning unit for generating and learning a common pattern value from characteristic values of keystrokes per user generated by the keystroke characteristic generation unit;
A matching ratio determination unit for comparing a characteristic value of a key stroke for authentication generated in the key stroke characteristic generation unit with a common pattern value learned in the user-specific key stroke common pattern learning unit;
The matching ratio judging unit compares the matching ratio with a set value to determine whether the user is requesting a service, and whether the terminal is verified by the terminal verifying unit. A user authentication unit for determining authentication with respect to providing; And
A keystroke database unit for storing and managing the keystroke pattern information, the characteristic value of the keystroke per user and the common pattern for each user; , &Lt; / RTI &
Wherein the user authentication unit classifies the user authentication success area, the authentication authentication hold area, and the authentication failure area according to the matching ratio, provides a service requested by the user in the authentication success area, Further comprising a terminal verification step of verifying whether the user terminal of the connected terminal is the terminal of the user in the self authentication hold area,
Wherein the matching ratio is a ratio of a number of keystroke characteristic values of a user requiring authentication to a number satisfying the keystroke common pattern equally, and the matching authentication ratio is an area having the matching ratio of 93% or more, Wherein the authentication authentication permission area is an area where the matching ratio is less than 93% and not less than 66%, and the authentication failure area is an area where the matching ratio is less than 66%
A terminal verification method for verifying whether a user terminal is a terminal of a user is characterized in that a terminal verification unit included in the user authentication server collects and verifies browser information from the user terminal,
Wherein the service providing unit provides the requested service to the access attempt when the authentication process of the terminal of the user is completed by the terminal verification step in the case of the successful region and the terminal verification in the reserved region.
제7항에 있어서,
상기 단말 검증부는,
상기 사용자 단말로부터 브라우저 정보를 수집하고, 상기 접속된 사용자 단말의 Cookie, LocalStorage, Flash Persistent Storage(LSO), WebSQL을 포함하는 영역에 유일한 통합식별키를 삽입하고 추출하는 단말 정보 관리부;
상기 사용자 단말을 구분하는 고유한 단말인식키를 생성하는 단말인식키 생성부;
상기 사용자 단말의 환경변화 및 단말인식키의 위변조를 검증하기 위하여 상기 사용자 단말의 브라우저 정보를 조합하여 검증키를 생성하는 검증키 생성부;
상기 단말인식키와 검증키를 조합하여 상기 통합식별키를 생성하는 통합식별키 생성부;
상기 사용자 단말로부터 추출된 상기 통합식별키 및 검증키 정보와 저장된 IP 정보, 통합식별키, 단말인식키 및 검증키 정보를 비교하여 상기 사용자 단말을 검증하고 식별하는 단말 식별 판단부; 및
상기 사용자 단말의 IP, 단말인식키, 검증키 및 수집정보를 저장하는 검증 DB; 를 포함하는 것을 특징으로 하며,
상기 사용자 단말의 브라우저 정보를 이용하여 접속된 단말을 특정하고 식별하는 것을 특징으로 하되,
상기 검증키 생성부는 상기 접속된 사용자 단말의 브라우저 언어, 스크린 색 깊이, 스크린 가로 크기, 스크린 세로 크기, 사용 시스템의 타임 존 오프셋, 브라우저의 로컬 스토리지 지원 유무 및 브라우저 플랫폼 종류에 대한 정보를 모두 포함하도록 조합한 정보값을 Secure Hash Algorithm 인 Sha25 함수로 해시화하여 상기 검증키를 생성하는 것을 특징으로 하는 사용자 인증장치.
8. The method of claim 7,
The terminal verification unit,
A terminal information management unit for collecting browser information from the user terminal and inserting and extracting a unique integrated identification key in an area including Cookie, LocalStorage, Flash Persistent Storage (LSO), and WebSQL of the connected user terminal;
A terminal identification key generating unit for generating a terminal identification key unique to the user terminal;
A verification key generation unit for generating a verification key by combining browser information of the user terminal to verify the environment change of the user terminal and forgery of the terminal identification key;
An integrated identification key generation unit for generating the integrated identification key by combining the terminal identification key and the verification key;
A terminal identification determiner for verifying and identifying the user terminal by comparing the integrated identification key and the verification key information extracted from the user terminal with the stored IP information, the integrated identification key, the terminal identification key, and the verification key information; And
A verification DB for storing the IP, the terminal identification key, the verification key and the collection information of the user terminal; , Wherein the first,
And identifies and identifies the connected terminal using the browser information of the user terminal,
The verification key generation unit may include information on the browser language, the screen color depth, the screen size, the screen size, the time zone offset of the used system, the local storage support of the browser, and the browser platform type of the connected user terminal And generates the verification key by hashing the combined information value into a Sha25 function which is a Secure Hash Algorithm.
KR1020170102849A 2017-08-14 2017-08-14 Method and apparatus for user authentication KR101960060B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2017/008815 WO2019035491A1 (en) 2017-08-14 2017-08-14 Method and device for user authentication
KR1020170102849A KR101960060B1 (en) 2017-08-14 2017-08-14 Method and apparatus for user authentication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170102849A KR101960060B1 (en) 2017-08-14 2017-08-14 Method and apparatus for user authentication

Publications (2)

Publication Number Publication Date
KR20190018197A KR20190018197A (en) 2019-02-22
KR101960060B1 true KR101960060B1 (en) 2019-07-15

Family

ID=65362716

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170102849A KR101960060B1 (en) 2017-08-14 2017-08-14 Method and apparatus for user authentication

Country Status (2)

Country Link
KR (1) KR101960060B1 (en)
WO (1) WO2019035491A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2689816C2 (en) 2017-11-21 2019-05-29 ООО "Группа АйБи" Method for classifying sequence of user actions (embodiments)
SG11202101624WA (en) 2019-02-27 2021-03-30 Group Ib Ltd Method and system for user identification by keystroke dynamics
CN110266562B (en) * 2019-07-01 2021-01-01 四川新网银行股份有限公司 Method for automatically detecting identity authentication function of network application system
WO2021235798A1 (en) * 2020-05-18 2021-11-25 삼성전자 주식회사 Electronic device, and method for performing user authentication by using input on keyboard in electronic device
KR102547180B1 (en) * 2021-11-24 2023-06-26 (주)유엠로직스 Security authentication system and method for context using physical domain based on machine learning
CN117424763A (en) * 2023-12-19 2024-01-19 深圳中宝新材科技有限公司 Data rapid transmission authentication method and system for intelligent antioxidant bond alloy wire equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101653805B1 (en) * 2016-03-10 2016-09-05 인터리젠 주식회사 method and apparatus for identifying an access terminal device via a network

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990009965A (en) * 1997-07-14 1999-02-05 정명식 User authentication method using typing pattern
KR100847532B1 (en) 2006-04-06 2008-07-21 재단법인서울대학교산학협력재단 User terminal and authenticating apparatus used for user authentication using information of user's behavior pattern
KR100939820B1 (en) * 2007-08-23 2010-02-02 주식회사 비원플러스 User terminal apparatus for obtaining keystroke information from user to perform authenticattion by using behavior pattern based on keystroke and method for obtaining keystroke information using the same
KR101492995B1 (en) * 2008-07-08 2015-02-13 주식회사 비즈모델라인 Method for Identifying Public Ownership of Mobile Device Usage Permission
KR20100005916A (en) * 2008-07-08 2010-01-18 주식회사 비즈모델라인 System and method for identifying own user authentication information jointly by user input information and recording medium
US20160162683A1 (en) * 2013-05-29 2016-06-09 Hewlett Packard Enterprise Development Lp Passive security of applications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101653805B1 (en) * 2016-03-10 2016-09-05 인터리젠 주식회사 method and apparatus for identifying an access terminal device via a network

Also Published As

Publication number Publication date
WO2019035491A1 (en) 2019-02-21
KR20190018197A (en) 2019-02-22

Similar Documents

Publication Publication Date Title
KR101960060B1 (en) Method and apparatus for user authentication
CN111414599A (en) Identity authentication method, device, terminal, server and readable storage medium
KR101990454B1 (en) Method and apparatus for user authentication using keystroke pattern data
US10063538B2 (en) System for secure login, and method and apparatus for same
Preuveneers et al. SmartAuth: dynamic context fingerprinting for continuous user authentication
KR101653805B1 (en) method and apparatus for identifying an access terminal device via a network
CN107864112B (en) Login security verification method and device
CN111898124B (en) Process access control method and device, storage medium and electronic equipment
CN110912855A (en) Block chain architecture security assessment method and system based on permeability test case set
CN111274046A (en) Service call validity detection method and device, computer equipment and computer storage medium
US20210306369A1 (en) Methods of monitoring and protecting access to online services
KR101468798B1 (en) Apparatus for tracking and preventing pharming or phishing, method using the same
KR101879843B1 (en) Authentication mehtod and system using ip address and short message service
WO2017068714A1 (en) Illegal communication control apparatus and method
KR101583698B1 (en) Authentication system and method for device attempting connection
CN114727276A (en) Method and system for determining account information in user non-login state
JP6890559B2 (en) Access analysis system and access analysis method
JP4979127B2 (en) Account information leak prevention service system
JP2002073198A (en) Device and method for authentication
EP4068125B1 (en) Method of monitoring and protecting access to an online service
US20210306355A1 (en) Methods of monitoring and protecting access to online services
US20210306376A1 (en) Methods of monitoring and protecting access to online services
KR101857060B1 (en) Pharming previnting method based website collected information and program thereof
JP2017156993A (en) Authentication server and authentication server program
CN117792692A (en) Login verification method and device

Legal Events

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