KR20190018202A - Method and apparatus for user authentication using keystroke pattern data - Google Patents

Method and apparatus for user authentication using keystroke pattern data Download PDF

Info

Publication number
KR20190018202A
KR20190018202A KR1020170102861A KR20170102861A KR20190018202A KR 20190018202 A KR20190018202 A KR 20190018202A KR 1020170102861 A KR1020170102861 A KR 1020170102861A KR 20170102861 A KR20170102861 A KR 20170102861A KR 20190018202 A KR20190018202 A KR 20190018202A
Authority
KR
South Korea
Prior art keywords
user
keystroke
authentication
pattern
keystroke pattern
Prior art date
Application number
KR1020170102861A
Other languages
Korean (ko)
Other versions
KR101990454B1 (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 KR1020170102861A priority Critical patent/KR101990454B1/en
Publication of KR20190018202A publication Critical patent/KR20190018202A/en
Application granted granted Critical
Publication of KR101990454B1 publication Critical patent/KR101990454B1/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/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
    • 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
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The present invention provides a method and a device for user authentication using a keystroke pattern, capable of rapidly and efficiently performing user authentication of a user by extracting keyboard input pattern information from authentication information in real time from a service providing server in a case that the user connects to the service providing server by inputting the authentication information through a user terminal to receive a service. The method for user authentication of the user terminal connecting to a web server in the device for user authentication includes: a step of collecting log information including an attribute value of a key, a keycode, a timestamp in accordance with keyup and keydown event on the input of an ID and a password on a login screen on a user interface (UI) of a webpage by a keystroke pattern information collection module installed to operate in the webpage provided when the user connects to the web server for service usage and, also, of 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 information extracting unit; a keystroke pattern property generating step of receiving the keystroke pattern information in a user authentication server and generating a keystroke pattern property value from the keystroke pattern information; a matching ratio calculating step of calculating a matching ratio by comparing the keystroke property values to a keystroke common pattern for each user, stored in a database by the user authentication server; and a user authentication determining step of determining whether the user is the person concerned, by using the matching ratio in the user authorization server.

Description

키스트로크 패턴을 이용한 사용자 인증방법 및 장치 {Method and apparatus for user authentication using keystroke pattern data}[0001] The present invention relates to a user authentication method and apparatus using a keystroke pattern,

본 발명은 웹서버에 접속하는 단말에 대하여 키스트로크 패턴을 이용한 사용자 인증방법 및 장치에 관한 기술이다.The present invention relates to a user authentication method and apparatus using a keystroke pattern 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 the ID and the password are easily misused by the user and the information is leaked by an artificial hacking of the 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.

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

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

대한민국 등록특허공보 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.

본 발명의 또 다른 목적은 사용자가 서비스를 제공받기 위하여 사용자 단말기를 통하여 인증정보를 입력하여 서비스제공 서버에 접속할 경우, 사용자 단말기에 키보드 입력패턴 추출용 모듈을 설치하지 않고, 서비스제공 서버에서 상기 인증정보로부터 키보드 입력패턴 정보를 추출하여 사용자를 인증하는 장치 및 방법을 제공하는 것이다.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; A user authentication method using a keystroke pattern is provided.

또한, 상기 상기 사용자 인증 판단단계에서는, 상기 매칭비율에 따라, 본인인증 성공영역, 본인인증 보류영역 및 본인인증 실패영역으로 구분하고, 상기 본인인증 성공영역에서는 사용자가 요청하는 서비스를 제공하고, 본인인증 실패영역에서는 로그 실패 화면을 제공하며, 본인인증 보류영역에서는 본인 확인을 위한 제2의 인증방법을 추가로 실시한 결과에 따라 서비스를 제공하는 것을 특징으로 한다.In the user authentication determination step, the user authentication success area, the authentication authentication hold area, and the authentication failure area are classified according to the matching ratio. In the user authentication authentication area, a service requested by the user is provided, A log failure screen is provided in the authentication failure region, and a service is provided according to a result of additionally performing a second authentication method for identifying the principal in the authentication suspension region.

또한, 상기 매칭비율은 상기 인증을 요하는 사용자의 키스트로크의 특성 값들을 상기 키스트로크 공통패턴과 대비하여 동일하게 만족하는 개수에 대한 비율인 것을 특징으로 한다.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 common keystroke pattern may be generated by a keystroke pattern information collection module capable of collecting log information about keystroke data input 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.

또한, 상기 제2 인증방법은 접속하는 단말기가 사용자의 단말기인지를 인증하는 방법인 것을 특징으로 한다.The second authentication method is a method of authenticating whether the terminal to be connected is a terminal of a user.

본 발명의 또 다른 측면에 따르면, 웹서버 및 사용자 인증서버를 포함하는 사용자 인증장치에 있어서, 상기 웹서버는 접속하는 사용자 단말기에 웹페이지를 제공하는 웹페이지부; 상기 웹페이지의 유저인터페이스(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 comprises: a keystroke property generator for extracting a keystroke characteristic value from the keystroke pattern information extracted by the keystroke pattern information extracting 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; A user authentication unit for comparing the matching ratio calculated by the matching ratio determination unit with a set value to determine authentication for providing a service; And a 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. And a control unit.

본 발명의 일 실시 예에서는 사용자 단말기에 별도의 키보드 입력패턴 추출용 모듈이나 에이전트를 설치하지 않으면서, 서비스제공 서버에서 사용자가 인식하지 못하도록 자연스럽게 인증정보로부터 키보드 입력패턴 정보를 수집하여 사용자의 본인을 인증하는 장치 및 방법을 제공할 수 있다.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.

도 1은 본 발명의 일 실시 예에 따른 키스트로크 패턴을 이용한 인증 장치를 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 인증 장치에서 사용자의 키스트로크 공통패턴 학습 단계에 대한 방법을 도시한 것이다.
도 3은 본 발명의 일 실시 예에 따른 아이디 입력 시 키스트로크 로그 정보를 수집하기 위한 키스트로크 패턴정보 수집모듈 프로그램의 예를 도시한 것이다.
도 4는 본 발명의 일 실시 예에 따라 timestamp 정보가 반환된 형태의 데이터를 표현한 것이다.
도 5는 본 발명의 일 실시 예에 따른 웹페이지에서 유저인터페이스(UI) 상에 형성된 로그인 화면을 도시한 것이다.
도 6은 본 발명의 일 실시 예에 따른 인증장치에서 사용자 본인 및 다른 사용자가 입력된 키스트로크에 대한 매칭비율을 그래프로 도시한 것이다.
도 7은 본 발명의 일 실시 예에 따른 인증 장치에서 키스트로크 패턴을 이용한 사용자 인증방법을 도시한 것이다.
1 is a view schematically showing an authentication apparatus using a keystroke pattern 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.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.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 client terminal to extract keyboard input patterns and extract them to a service providing server.

그러나 사용자가 인증을 위한 에이전트의 설치환경을 기피할 경우, 클라이언트 식별용 에이전트 프로그램을 사용하지 않고도 클라이언트를 식별하고 인증할 수 있는 방법이 필요하다.However, if the user avoids the installation environment of the agent for authentication, there is a need for a method for identifying and authenticating the client without using the agent program for client 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은 본 발명의 일 실시 예에 따른 인증 장치를 개략적으로 나타내는 도면이다.FIG. 1 is a view schematically showing an authentication apparatus according to an embodiment of the present invention.

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

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

또한, 본 발명의 일 실시 예에 따른 사용자 인증서버(200)는 키스트로크 패턴 정보 추출부(120)에서 추출된 키스트로크 패턴 정보로부터 키스트로크의 특성(feature) 값을 추출하는 키스트로크 특성 생성부(210), 상기 키스트로크 특성 생성부(210)에서 생성된 사용자 별 키스트로크의 특성(feature) 값들로부터 공통패턴 값을 생성하여 학습하는 사용자 별 키스트로크 공동패턴 학습부(240), 상기 키스트로크 특성 생성부(210)에서 생성된 인증을 위한 키스트로크의 특성(feature) 값을 상기 사용자 별 키스트로크 공동패턴 학습부(240)에서 학습된 공통패턴과 대비하여 매칭비율을 산출하는 매칭비율 판단부(220), 상기 매칭비율 판단부(220)에서 산출한 매칭비율을 설정된 값과 대비하여 서비스제공을 요구하는 사용자에 대하여 서비스를 제공하는 것에 대한 인증을 판단하는 사용자인증부(230)를 포함한다.The user authentication server 200 according to an embodiment of the present invention may further include a keystroke characteristic generation unit 120 that extracts a feature value of a keystroke from the 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 user-specific keystrokes generated by the keystroke characteristic generation unit 210, A matching ratio determining unit 240 for comparing a feature value of a key stroke for authentication generated by the characteristic generating unit 210 with a common pattern learned in the user-specific keystroke cavity pattern learning unit 240, (220), compares the matching ratio calculated by the matching ratio determination unit (220) with a set value, and determines authentication for providing a service to a user requesting service provision Includes a user authentication section 230.

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

도 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, a portion programmed with $ ("input.userid") on ("keyup keydown", function (e) {...} via an if statement indicates 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 userInputs where keystroke data will be stored and input.userid to input key 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) stores the resulting value.

본 발명의 일 실시 예에서는 원하는 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" ", and 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를 누르는 시점들만 모아서 서로의 keycode 누르는 시간차를 구해서 새로운 feature_2를 생성한다. Then, only the time points depressing each keycode are collected, and a time difference between keycode presses 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 n key codes are input, n is generated for feature_1, and n-1 is generated for feature_2.

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

다음은 인증된 사용자의 키스트로크 공통패턴 학습단계(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 이라고 가정하면, A<B, A<C, A<D, B<C, B<D, C<D의 결과를 얻을 수 있다.For example, assuming that four keys A, B, C, and D are input and that the value of each feature_1 is 1, 2, 3, 4, A <B, A <C, A <D, , B <D, C <D can be obtained.

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

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

이렇게 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 이라고 가정하면Assuming that the values of AB (B_down_event_time - A_down_event_time), BC, and CD are 1, 2, and 3

AB < BC, AB < CD, BC < CD 의 결과를 얻을 수 있다. 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, and then repeatedly learns it repeatedly to generate a common contrast value pattern (hereinafter referred to as a &quot; common pattern &quot;).

본 발명의 일 실시 예에 따르면, 사용자가 확인된 아이디와 패스워드를 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 pat00001
Figure 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 pat00002
Figure 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.

또한, 표 2를 참조하면, 매칭비율이 66% 미만일 경우에는 본인일 확률이 0.5%의 신뢰도를 가지는 점에서 본인이 아닌 것으로 판단할 수 있다.Also, referring to Table 2, when the matching ratio is less than 66%, it can be judged that the person is not the person because the person has a probability 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에 수집 저장하고 로그인 완료 신호에 의해 키스트로크 패턴 추출부(120)로 전달된다.In the authentication web page providing step 610, the key stroke pattern information collection module installed to operate on the web page displays a keyup for input of an id and a password on the login screen on the user interface (UI), log information according to a keydown event Keycode, and key) are collected in userInputs of the web page, and are transmitted to the keystroke pattern extracting unit 120 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.

다음은 상기 추출된 키스트로크 패턴정보의 키스트로크 값들로부터 키스트로크 패턴 특성을 생성하는 키스트로크 패턴 특성 생성단계(640)가 수행된다.Next, a keystroke pattern characteristic generation step 640 is performed to generate a keystroke pattern characteristic from keystroke values of the extracted keystroke pattern information.

키스트로크 패턴 특성 생성단계(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.

본 발명의 일 실시 예에서는 매칭비율(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.

매칭비율이 93% 미만이고, 66% 이상일 경우에는 본인인증 보류영역으로 구분하여 제2인증수단에 의해 본인 확인절차를 수행하는 것을 특징으로 한다.When the matching ratio is less than 93%, and when the matching ratio is 66% or more, it is divided into the authentication authentication hold area and the identity verification procedure is performed by the second authentication means.

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

서비스 제공 단계(660)에서는 인증 성공으로 판단된 경우 및 제2인증수단에 의해 본인 확인절차가 완료된 접속 시도에 대하여는 요청된 서비스를 제공하고, 인증불가로 판단된 접속 시도에 대하여는 로그 실패 화면을 제공한다,In the service providing step 660, when the authentication is judged to be successful and the second authentication means completes the identity verification process, the requested service is provided. do,

본 발명의 일 실시 예에서는 사용자 단말기에 별도의 키보드 입력패턴 추출용 모듈이나 에이전트를 설치하지 않으면서, 서비스제공 서버에서 사용자가 인식하지 못하도록 자연스럽게 인증정보로부터 키보드 입력패턴 정보를 수집하여 사용자의 본인을 인증하는 장치 및 방법을 제공할 수 있다.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.

100: 웹서버
110: 웹페이지부
120: 키스트로크 패턴 정보 추출부
130: 서비스 제공부
200: 사용자 인증서버
210: 키스트로크 특성 생성부
220: 매칭비율 판단부
240: 사용자별 키스트로크 공동패턴 학습부
230: 사용자인증부
250: 키스트로크 데이터베이스부
100: Web server
110: Web page part
120: Keystroke pattern information extracting unit
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 database part

Claims (8)

웹서버 및 사용자 인증서버를 포함하는 사용자 인증장치에서 상기 웹서버에 접속하는 사용자 단말의 사용자 인증방법에 있어서,
상기 사용자 단말이 서비스 이용을 위하여 상기 웹서버에 접속 시, 제공되는 웹페이지에서 동작되도록 설치된 키스트로크 패턴정보 수집모듈이 상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하여 상기 웹서버의 키스트로크 패턴 추출부로 전송하는 단계;
상기 키스트로크 패턴정보 추출부에서 상기 로그 정보로부터, 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계;
상기 사용자 인증서버에서 상기 키스트로크 패턴정보를 전달받아서 상기 키스트로크 패턴정보로부터 키스트로크 패턴 특성 값을 생성하는 키스트로크 패턴 특성 생성단계;
상기 사용자 인증서버에서 상기 키스트로크 특성 값들을 키스트로크 데이터베이스에 저장된 사용자별 키스트로크 공통패턴과 대비하여 매칭비율을 산출하는 매칭비율 산출단계; 및
상기 사용자 인증서버에서 상기 매칭비율에 의하여 사용자가 본인인지를 판단하는 사용자 인증 판단단계; 를 포함하는 것을 특징으로 하는 키스트로크 패턴을 이용한 사용자 인증방법.
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,
A keystroke pattern information collection module installed to operate on a web page provided when the user terminal accesses the web server for use of the service stores the keystroke pattern information on the login screen on the user interface (UI) collecting log information including timestamp, keycode, and key attribute values according to keyup and keydown events, 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 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; The method of claim 1, wherein the keystroke pattern is a keystroke pattern.
제1항에 있어서,
상기 사용자 인증 판단단계에서는,
상기 매칭비율에 따라, 본인인증 성공영역, 본인인증 보류영역 및 본인인증 실패영역으로 구분하고, 상기 본인인증 성공영역에서는 사용자가 요청하는 서비스를 제공하고, 본인인증 실패영역에서는 로그 실패 화면을 제공하며, 본인인증 보류영역에서는 본인 확인을 위한 제2의 인증방법을 추가로 실시한 결과에 따라 서비스를 제공하는 것을 특징으로 하는 키스트로크 패턴을 이용한 사용자 인증방법.
The method according to claim 1,
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 service is provided according to a result of additionally performing a second authentication method for identifying the principal in the authentication suspension area.
제1항에 있어서,
상기 매칭비율은 상기 인증을 요하는 사용자의 키스트로크의 특성 값들을 상기 키스트로크 공통패턴과 대비하여 동일하게 만족하는 개수에 대한 비율인 것을 특징으로 하는 키스트로크 패턴을 이용한 사용자 인증방법.
The method according to claim 1,
Wherein the matching ratio is a ratio of the number of keystrokes to the number of keystrokes to be authenticated, the keystroke pattern having the same characteristics as the keystroke common pattern.
제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; Wherein the keystroke pattern is programmed to include the keystroke pattern.
제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 about keystroke data input 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
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 based on the generated keystroke pattern.
제2항에 있어서,
상기 본인인증 성공영역은 상기 매칭비율이 93% 이상인 영역이며, 상기 본인인증 보류영역은 상기 매칭비율이 93% 미만에서 66% 이상인 영역이고, 상기 본인인증 실패영역은 상기 매칭비율이 66% 미만인 영역인 것을 특징으로 하는 키스트로크 패턴을 이용한 사용자 인증방법.
3. The method of claim 2,
Wherein the identity authentication success region is a region where the matching ratio is 93% or more, the identity authentication hold region is a region where the matching ratio is less than 93% and is 66% or more, and the authentication failure region is a region where the matching ratio is less than 66% Wherein the keystroke pattern is a keystroke pattern.
제2항에 있어서,
상기 제2 인증방법은 접속하는 단말기가 사용자의 단말기인지를 인증하는 방법인 것을 특징으로 하는 키스트로크 패턴을 이용한 사용자 인증방법.
3. The method of claim 2,
Wherein the second authentication method is a method of authenticating whether a connecting terminal is a user's terminal.
웹서버 및 사용자 인증서버를 포함하는 사용자 인증장치에 있어서,
상기 웹서버는 접속하는 사용자 단말기에 웹페이지를 제공하는 웹페이지부;
상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하는 키스트로크 패턴정보 수집모듈로부터 상기 로그정보를 전송받아 키스트로크 패턴 정보를 추출하는 키스트로크 패턴 정보 추출부; 및
상기 사용자 인증서버에서 사용자 인증 결과에 따라 사용자에게 서비스를 제공하는 서비스 제공부; 를 포함하며,
상기 사용자 인증서버는 상기 키스트로크 패턴 정보 추출부에서 추출된 키스트로크 패턴 정보로부터 키스트로크의 특성 값을 추출하는 키스트로크 특성 생성부;
상기 키스트로크 특성 생성부에서 생성된 사용자별 키스트로크의 특성 값들로부터 공통패턴 값을 생성하여 학습하는 사용자 별 키스트로크 공동패턴 학습부;
상기 키스트로크 특성 생성부에서 생성된 인증을 위한 키스트로크의 특성 값을 상기 사용자별 키스트로크 공동패턴 학습부에서 학습된 공통패턴 값과 대비하여 매칭비율을 산출하는 매칭비율 판단부;
상기 매칭비율 판단부에서 산출한 매칭비율을 설정된 값과 대비하여 서비스를 제공하는 것에 대한 인증을 판단하는 사용자인증부; 및
상기 키스트로크 패턴 정보, 상기 사용자별 키스트로크의 특성값 및 사용자별 공통패턴을 저장하여 관리하는 데이터베이스부; 를 포함하는 것을 특징으로 하는 키스트로크 패턴을 이용한 사용자 인증장치.
A user authentication apparatus including a web server and a user authentication server,
Wherein the web server comprises: a web page unit for providing a web page to a connecting user terminal;
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; / RTI &gt;
Wherein the user authentication server comprises: a keystroke property generator for extracting a keystroke characteristic value from the keystroke pattern information extracted by the keystroke pattern information extracting 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;
A user authentication unit for comparing the matching ratio calculated by the matching ratio determination unit with a set value to determine authentication for providing a service; And
A database unit for storing and managing the keystroke pattern information, the characteristic values of the keystrokes per user, and a common pattern for each user; And a keystroke pattern generating unit that generates a keystroke pattern based on the keystroke pattern.
KR1020170102861A 2017-08-14 2017-08-14 Method and apparatus for user authentication using keystroke pattern data KR101990454B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170102861A KR101990454B1 (en) 2017-08-14 2017-08-14 Method and apparatus for user authentication using keystroke pattern data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170102861A KR101990454B1 (en) 2017-08-14 2017-08-14 Method and apparatus for user authentication using keystroke pattern data

Publications (2)

Publication Number Publication Date
KR20190018202A true KR20190018202A (en) 2019-02-22
KR101990454B1 KR101990454B1 (en) 2019-10-01

Family

ID=65584639

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170102861A KR101990454B1 (en) 2017-08-14 2017-08-14 Method and apparatus for user authentication using keystroke pattern data

Country Status (1)

Country Link
KR (1) KR101990454B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021235798A1 (en) * 2020-05-18 2021-11-25 삼성전자 주식회사 Electronic device, and method for performing user authentication by using input on keyboard in electronic device
WO2022204353A1 (en) * 2021-03-24 2022-09-29 Corelight, Inc. System and method for determing keystrokes in secure shell (ssh) sessions
KR102491687B1 (en) * 2021-09-02 2023-01-20 김종덕 Payment verification method based on payer actions, and computer program recorded on record-medium for executing method therefor
KR102504100B1 (en) * 2021-09-02 2023-02-24 김종덕 Integrated payment system using QR code, and device therefor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102424873B1 (en) 2020-08-14 2022-07-22 세종대학교산학협력단 System and method for multi-factor authentication using password and behavior pattern
KR102315796B1 (en) 2021-03-19 2021-10-20 세종대학교산학협력단 Apparatus and method for generating keystroke pattern

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100847532B1 (en) 2006-04-06 2008-07-21 재단법인서울대학교산학협력재단 User terminal and authenticating apparatus used for user authentication using information of user's behavior pattern
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
KR101653805B1 (en) * 2016-03-10 2016-09-05 인터리젠 주식회사 method and apparatus for identifying an access terminal device via a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100847532B1 (en) 2006-04-06 2008-07-21 재단법인서울대학교산학협력재단 User terminal and authenticating apparatus used for user authentication using information of user's behavior pattern
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
KR101653805B1 (en) * 2016-03-10 2016-09-05 인터리젠 주식회사 method and apparatus for identifying an access terminal device via a network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021235798A1 (en) * 2020-05-18 2021-11-25 삼성전자 주식회사 Electronic device, and method for performing user authentication by using input on keyboard in electronic device
WO2022204353A1 (en) * 2021-03-24 2022-09-29 Corelight, Inc. System and method for determing keystrokes in secure shell (ssh) sessions
KR102491687B1 (en) * 2021-09-02 2023-01-20 김종덕 Payment verification method based on payer actions, and computer program recorded on record-medium for executing method therefor
KR102504100B1 (en) * 2021-09-02 2023-02-24 김종덕 Integrated payment system using QR code, and device therefor

Also Published As

Publication number Publication date
KR101990454B1 (en) 2019-10-01

Similar Documents

Publication Publication Date Title
KR20190018202A (en) Method and apparatus for user authentication using keystroke pattern data
KR101960060B1 (en) Method and apparatus for user authentication
CN111414599A (en) Identity authentication method, device, terminal, server and readable storage medium
US8583574B2 (en) Method of and apparatus for combining artificial intelligence (AI) concepts with event-driven security architectures and ideas
KR101851686B1 (en) Abstracted and randomized one-time passwords for transactional authentication
US20130263240A1 (en) Method for authentication and verification of user identity
KR101569753B1 (en) System, Method and Apparatus for Secure Login
US20180013758A1 (en) Method and system for dynamic password based user authentication and password management
US11836647B2 (en) Systems, methods and apparatus for evaluating status of computing device user
CN107864112B (en) Login security verification method and device
CN112383535B (en) Method and device for detecting Hash transfer attack behavior and computer equipment
CN107124420A (en) Auth method and device
Plata et al. Application of time-based one time password (TOTP) algorithm for human resource e-leave tracking web app
RU2303811C1 (en) Remote user authentication method and the system for realization of the method
CN113760436A (en) Cloud host remote login system and method based on two-dimensional code
WO2019159809A1 (en) Access analysis system and access analysis method
Zamsheva et al. Person authentication with behaviosense using keystroke biometrics
CN101635629A (en) Secure password authentication method
KR101632582B1 (en) Method and system for user authentication using password included random key
Challita et al. Biometric authentication for intrusion detection systems
Gunathilake et al. Enhancing the security of online banking systems via keystroke dynamics
CN114466358B (en) User identity continuous authentication method and device based on zero trust
de Melo et al. Improvement of security systems by keystroke dynamics of passwords
KR20240063555A (en) Context authentication system and method using n-gram analysis in non-face-to-face environment
Krishnamoorthy et al. A novel method to authenticate in website using CAPTCHA‐based validation

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