KR101960060B1 - Method and apparatus for user authentication - Google Patents
Method and apparatus for user authentication Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
-
- G06K9/4609—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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/443—Local 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
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
본 발명은 웹서버에 접속하는 단말의 사용자 인증방법 및 장치에 관한 기술이다.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.
본 발명은 사용자가 서비스를 제공받기 위하여 사용자 단말기를 통하여 인증정보를 입력하여 서비스제공 서버에 접속할 경우, 서비스제공 서버에서 실시간으로 상기 인증정보로부터 키보드 입력패턴 정보를 추출하여 사용자의 본인 인증을 신속하고 효율적으로 인증하는 장치 및 방법을 제공하는 것이다.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
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
본 발명의 일 실시 예에 따른 사용자 단말(10)은 PC, 모바일 기기를 포함한 웹표준을 지원하는 모든 브라우저를 가진 단말기를 포함한다.The
사용자 단말(10)은 네트워크 통신망을 통하여 서비스 제공 웹서버(100)에 접속할 수 있다.The
본 발명의 일 실시 예에 따른 웹서버(100)는 접속하는 사용자 단말기(10)에 웹페이지를 제공하는 웹페이지부(110), 상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하도록 동작되는 키스트로크 패턴정보 수집모듈로부터, 상기 로그정보를 전송받아 키스트로크 패턴 정보를 추출하는 키스트로크 패턴 정보 추출부(120), 및 사용자 인증서버(200)에서 사용자 인증 결과에 따라 사용자에게 서비스를 제공하는 서비스 제공부(130)를 포함하는 것을 특징으로 한다.A
웹서버(100)에는 단말식별 링커(125)를 포함하며, 사용자 인증서버(200)에 포함된 단말검증부는 유무선으로 단말식별 링커(201)를 통하여 서비스제공 웹서버(100)와 연결된다.The
본 발명의 일 실시 예에 따른 사용자 인증서버(200)는 키스트로크인증부, 단말검증부 및 사용자 인증부를 포함한다.The
또한, 본 발명의 일 실시 예에 따른 사용자 인증서버(200)의 키스트로크 인증부는 키스트로크 패턴 정보 추출부(120)에서 추출된 키스트로크 패턴 정보로부터 키스트로크의 특성(feature) 값을 추출하는 키스트로크 특성 생성부(210), 상기 키스트로크 특성 생성부(210)에서 생성된 사용자별 키스트로크의 특성(feature) 값들로부터 공통패턴 값을 생성하여 학습하는 사용자별 키스트로크 공동패턴 학습부(240), 상기 키스트로크 특성 생성부(210)에서 생성된 인증을 위한 키스트로크의 특성(feature) 값을 상기 사용자별 키스트로크 공동패턴 학습부(240)에서 학습된 공통패턴과 대비하여 매칭비율을 산출하는 매칭비율 판단부(220)를 포함한다.The keystroke authentication unit of the
상기 사용자인증부(230)는 매칭비율 판단부(220)에서 산출한 매칭비율을 설정된 값과 대비하여 서비스제공을 요구하는 사용자에 대하여 서비스를 제공하는 것에 대한 인증을 판단하며, 추가적으로 상기 단말검증부에서 검증된 단말인지를 판단한다. The
또한, 상기 사용자 인증서버(200)의 키스트로크 인증부는 상기 키스트로크 패턴 정보 추출부(120)에서 추출된 키스트로크 패턴 정보, 상기 사용자별 키스트로크의 특성(feature) 값 및 공통패턴 값들을 저장하여 관리하는 데이터베이스부(250)를 더 포함한다.The keystroke authentication unit of the
또한, 단말검증부는 접속된 사용자 단말(10)로부터 브라우저 정보를 수집하고, 접속된 사용자 단말(10)에 대하여 유일한 통합식별키를 삽입하고 추출하는 단말 정보 관리부(266), 특정 사용자 단말을 구분하는 유일한 단말인식키를 생성하는 단말인식키 생성부(262), 접속된 사용자 단말(10)의 환경변화 및 단말인식키의 위변조를 검증하기 위하여 접속된 사용자 단말의 브라우저 정보를 조합하여 검증키를 생성하는 검증키 생성부(263), 상기 단말인식키와 검증키를 조합하여 상기 사용자 단말(10)의 로컬영역에 삽입되는 통합식별키를 생성하는 통합식별키 생성부(264), 상기 사용자 단말(10)로부터 추출된 상기 통합식별키 및 검증키 정보와 저장된 IP 정보, 통합식별키, 단말인식키 및 검증키 정보를 비교하여 상기 사용자 단말(10)을 검증하고 식별하는 단말 식별 판단부(265) 및 접속된 사용자 단말(10)의 IP, 단말인식키, 검증키 및 수집정보를 저장하는 검증 DB(266)를 포함한다.The
도 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
본 발명의 일 실시 예에 따른 학습단계에서의 사용자는 인증이 완료된 사용자이거나 또는 다른 경로에 의하여 인증된 사용자에 의해 수행된다.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
키스트로크 패턴정보 수집모듈 생성단계(510)에서는 웹페이지의 유저인터페이스상의 로그인 화면에서 추출하기 위한 키를 설정하는 단계를 포함한다.The keystroke pattern information collection
예를 들면, 아이디 추출화면에서는 설정된 키는 0~9까지 숫자, 소문자 알파벳(a~z), Shift, Enter, Tab이다.For example, in the ID Extraction screen, the set keys are
그리고 웹페이지의 유저인터페이스상에 키 입력에 따른 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
도 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
허용된 키 이외의 것은 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
도 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
키스트로크 패턴정보 추출부(120)는 상기 키스트로크 패턴정보 수집모듈로부터 전송된 인증된 사용자의 키스트로크 로그정보에서 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계(430)가 수행된다.The keystroke pattern
예를 들어 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 -
이를 다시 정리하면 각각의 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 ), (
의 패턴정보가 추출될 수 있다.Can be extracted.
다음은 상기 키스트로크 패턴정보 추출단계(430)에서 추출된 키스트로크 값들로부터, 키스트로크 패턴 특성을 생성하는 키스트로크 패턴 특성 생성단계(540)가 수행된다.Next, a keystroke pattern
위의 예로부터 각각의 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
다음은 인증된 사용자의 키스트로크 공통패턴 학습단계(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,
즉, 본 발명의 일 실시 예에서는 사용자가 확인된 아이디 및 패스워드에 대하여 각 키코드 별로 입력 지속시간을 각각 대비한 제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.
표 2는 도 6의 신뢰도 하위부분에서 매칭비율에 대한 본인확인의 오류 상태를 표로 나타낸 것이다.Table 2 shows the error status of the identity verification of the matching ratio in the confidence sub-portion of FIG.
본 발명의 일 실시 예에 따르면, 다양한 모집단을 가지고 인증에 대한 모집단 실험을 수행한 결과, 최소한 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
인증용 웹페이지 제공단계(610)에서 상기 웹페이지에서 동작되도록 설치된 키스트로크 패턴정보 수집모듈이 유저인터페이스(UI) 상의 로그인 화면에 id 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 로그정보(timestamp와 keycode, key의 속성값을 포함함)를 웹페이지의 userInputs에 수집 저장하고 로그인 완료 신호에 의해 웹서버(100)의 키스트로크 패턴 추출부(120)로 전달된다.In the authentication web
다음은 키스트로크 패턴정보 추출부(120)에서 상기 웹페이지에 설치된 키스트로크 패턴정보 수집모듈로부터 전송된 인증이 요구되는 사용자에 의해 입력된 아이디 및 패스워드에 의한 로그정보로부터, 키스트로크 패턴 정보를 추출하는 「사용자 인증정보의 키스트로크 패턴정보 추출단계」(620)가 수행된다.Next, the keystroke pattern
사용자 인증정보의 키스트로크 패턴정보 추출단계(620)는 앞에서 설명한 키스트로크 패턴정보 추출단계(430)와 동일한 방법으로 수행될 수 있다.The keystroke pattern
다음은 사용자 인증서버(200)의 키스트로크 특성 생성부(210)에서 상기 키스트로크 패턴정보를 전달받아서, 상기 추출된 키스트로크 패턴정보의 키스트로크 값들로부터 키스트로크 패턴 특성을 생성하는 키스트로크 패턴 특성 생성단계(640)가 수행된다.Hereinafter, the keystroke pattern generating unit 210 of the
키스트로크 패턴 특성 생성단계(640)는 상기 키스트로크 패턴 특성으로부터 각 키코드 별로 입력 지속시간에 대한 제1 특성 값과 각 키 코드 간의 입력 간격 시간에 대한 제2 특성 값을 생성하는 것으로써, 앞에서 설명한 인증된 사용자에 의한 키스트로크 패턴특성 생성단계(430)와 동일한 방법에 의해 수행될 수 있다.The keystroke pattern
다음은 키스트로크 패턴 특성 생성단계(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
매칭비율 산출단계(640)에서는 인증을 요하는 키스트로크의 특성 값을 키스트로크 공통패턴과 대비하여 동일하게 만족하는 개수에 대한 비율이 매칭비율로 산출된다.In the matching
다음은 상기 매칭비율 산출단계(640)에서 산출된 매칭비율에 의하여 사용자가 본인인지를 판단하는 사용자 인증 판단단계(650)가 수행된다.Next, a user
도 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
710단계에서 키스트로크 매칭비율(x)이 93% 이상이 아니면, 720단계에서 매칭비율이 93% 미만이고, 66% 이상일 경우에는 본인인증 보류영역으로 구분하여 제2 인증수단인 단말기 검증단계를 수행하여 본인 확인절차를 수행하는 것을 특징으로 한다.If the keystroke matching ratio x is not 93% or more in
매칭비율이 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
본 발명의 일 실시 예에 따른 단말기 검증은 다음과 같은 방법에 의하여 수행된다.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
일 예를 들면, 본 발명의 일 실시 예에 따른 단말인식키는 단말인식키 생성부(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
단말인식키 형성 예) 4b8fa7e3-746c-4bc6-aed5-dfd8bbdc36a0Terminal recognition key formation example) 4b8fa7e3-746c-4bc6-aed5-dfd8bbdc36a0
또한, 단말검증부의 단말 정보 관리부(266)는 사용자 단말(10)이 웹 브라우저를 통해 웹서버(100)로부터 웹페이지를 전송받기 위하여 제공되는 브라우저 정보 및 IP 정보를 수집한다.The terminal
또한, 본 발명의 일 실시 예에 따른 단말검증부의 검증키 생성부(263)는 접속된 사용자 단말(10)의 환경 변화 및 단말인식키의 위변조를 검증하기 위하여 검증키를 생성한다. In addition, the verification
검증키는 사용자 단말(10)의 브라우저 정보에 대한 고유값의 조합으로 형성될 수 있다.The verification key may be formed by a combination of eigenvalues for the browser information of the
본 발명의 일 실시 예에 따른 검증키는 사용 브라우저의 변경, 단말인식키의 변조 등을 판단하기 위해 단말검증부에서 내부적으로 사용될 수 있다.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
또한, 정책정보 설정에 따라 기준 정보 및 나열 순서는 변경될 수 있다.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
또한, 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
본 발명의 일 실시 예에 따른 통합식별키는 알고리즘을 통하여 단말인식키와 검증키를 조합한 값이며, 단말검증부는 역으로 다시 이를 다시 단말인식키와 검증키로 분리하여 검증에 사용될 수 있다.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
또는 본 발명의 일 실시 예에 따라 통합식별키는 사용자 단말(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
본 발명의 일 실시 예에 따른 단말검증부가 사용자 단말(10)을 식별하는 방법은 먼저, 사용자 단말(10)이 서비스 제공 웹서버(100)에 접속을 시도하면, 단말검증부(10)는 상기 사용자 단말(10)로부터 브라우저 정보를 수집한다.The method for identifying the
그리고 단말검증부(10)는 상기 수집된 브라우저 정보를 조합하여 검증키를 생성하고, 상기 사용자 단말(10)이 최초로 접속된 것으로 판단이 되면, 상기 사용자 단말을 구분하는 유일한 단말인식키를 생성한다.The
다음, 단말검증부(10)는 상기 단말인식키와 검증키를 조합하여 상기 사용자 단말(10)에 유일한 통합식별키를 생성하여, 상기 사용자 단말의 로컬 영역에 삽입하고, 상기 사용자 단말을 식별할 수 있도록 상기 사용자 단말(10)에 대한 IP 정보, 상기 통합식별키, 단말인식키, 검증키 및 브라우저 정보를 검증 DB에 저장하게 된다.Next, the
그리고 상기 사용자 단말(10)이 서비스 제공 웹서버(100)에 재접속을 하였을 때, 단말검증부(10)가 사용자 단말(10)로부터 통합식별키 및 브라우저 정보를 추출하고, 상기 추출된 통합식별키 및 브라우저 정보와 상기 검증 DB(266)에 저장된 IP 정보, 상기 통합식별키, 단말인식키 및 검증키를 비교하여, 사용자 단말(10)을 식별하고 검증하게 된다.When the
도 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
도 9를 참조하면, 310단계에서 사용자 단말(10)이 서비스 제공 웹서버(100)에 접속을 시도하면, 320단계에서 단말식별 링커(125)로 연결된 단말검증부는 사용자 단말(10)의 로컬 영역을 검색하여 기존에 삽입된 통합식별키가 존재하는 지를 조회한다.Referring to FIG. 9, in
본 발명의 일 실시 예에 따르면, 단말검증부의 단말정보 관리부(266)는 통합식별키가 존재하는 지를 조회하기 위해, 로컬영역의 Cookie, Local Storage, Flash Persistent Storage(LSO), WebSQL 순으로 검색한다.According to an embodiment of the present invention, the terminal
320단계에서 단말검증부는 사용자 단말(10)의 로컬 영역에 통합식별키가 존재하는 것으로 조회되면 기존에 접속한 이력이 있는 것으로 판단 분류하고, 상기 통합식별키를 추출한다.In
그리고 340단계에서 단말검증부는 접속된 사용자 단말(10)로부터 새로운 브라우저 정보를 수집하며, 상기 수집된 브라우저 정보를 조합하여, new 검증키를 생성하고(340 단계), 검증 단계(350)를 수행하게 된다.In
검증단계(350)에서는 단말검증부는 검증 DB(265)로부터 상기 통합식별키에 대응하는 기존의 old 검증키 정보를 추출하고, 상기 new 검증키와 기존의 old 검증키 정보가 동일한지를 판단한다.In the
동일한 경우에는 접속된 사용자 단말(10)이 기존에도 접속했고 현재 접속환경도 변경이 없으며, 검증 DB(265)에 저장된 특정 사용자 단말인 경우로 분류한다.In the same case, it is classified as a specific user terminal stored in the
다음, 360단계에서 수집된 상기 사용자 단말(10)에 대한 수집된 IP 정보를 기록하고, 요구되는 웹페이지를 제공하도록 상기 사용자 단말(10)을 서비스 제공 웹서버(100)의 서비스제공 웹페이지로 연결한다.Next, the IP information collected for the
본 발명의 일 실시 예에 따르면, 단말검증부는 사용자 단말(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
상기 직전 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
도 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
다음은 332단계에서 단말검증부는 331단계에서 생성된 new 검증키와 동일한 정보가 검증 DB(266)에 존재하는지를 판단한다.Next, in
단말검증부는 생성된 new 검증키와 동일한 정보가 검증 DB(266)에 존재하지 않으면, 접속된 사용자 단말(10)이 기존 접속된 사용자의 단말이 아니며, 최초로 접속된 다른 단말인 것으로 판단을 하고, 333단계에서 접속된 사용자 단말에 대한 단말인식키를 생성한다.The terminal verification unit judges that the connected
그 다음, 334단계에서 단말검증부는 상기 new 검증키와 상기 단말인식키를 조합하여 통합식별키를 생성하고, 접속된 사용자의 단말에 대하여 생성된 단말인식키, new 검증키 및 통합식별키를 검증 DB에 저장한다.Then, in
한편, 332단계에서 단말검증부는 생성된 new 검증키와 동일한 정보가 검증 DB(266)에 존재하는 것으로 판단이 되면, 접속된 사용자 단말(10)이 기존에 접속을 하였지만 로컬영역에 삽입된 통합식별키가 삭제된 것으로 분류를 하고, 336단계에서 검증 DB(266)로부터 상기 new 검증키에 매칭되는 old 단말인식키 리스트 중 최신 것을 리턴받아 복구한다.On the other hand, if it is determined in
다음 337단계에서 단말검증부는, 상기 new 검증키와 상기 복구된 old 단말인식키를 조합하여 new 통합식별키를 생성하고, 검증 DB(266)에 저장한다. In
338단계에서는 단말검증부는 상기 337단계 또는 상기 334단계에서 생성된 new 통합식별키를 사용자 단말(10)의 로컬영역에 포함되도록 삽입한다.In
338단계 이후에 단말검증부는 상기 360단계와 동일하게 접속한 사용자 단말(10)에 대한 IP 정보를 기록 후, 요구되는 웹페이지로 제공하도록 서비스 제공 웹서버의 웹페이지로 연결하는 단계가 수행된다.After
다시 도 9로 돌아가서, 단말검증부가 검증단계(350)에서 상기 new 검증키와 검증 DB(266)에 저장된 old 검증키 정보가 동일하지 않은 경우로 판단된 경우에는, 제2 단말검증단계가 수행된다.Returning to FIG. 9, if it is determined that the old verification key information stored in the
도 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
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
다음, 410 단계에서 상기 동일한 old 단말인식키를 검증 DB(266)로부터 리턴받은 후, 420단계에서 단말검증부는 new 검증키와 old 단말인식키를 조합하여 new 통합식별키를 생성하고, 검증 DB(266)에 저장한다.In
다음은 생성된 new 통합식별키를 사용자 단말(10)의 로컬영역에 업그레이드하여 포함되도록 삽입한다(430 단계).Next, the generated new integrated identification key is inserted into the local area of the
다음은 상기 360단계와 동일하게 접속한 사용자 단말(10)의 IP 정보를 기록 후 요청된 웹페이지를 제공하도록 웹서버(100)로 연결하는 단계가 수행된다.Next, the IP information of the connected
한편, 400단계에서 단말검증부가 검증 DB(266)에 사용자 단말(10)의 통합식별키에 포함된 단말인식키와 동일한 old 단말인식키가 존재하지 않은 것으로 판단된 경우에는, 접속된 사용자 단말(10)의 브라우저가 기존과 변경되거나, 단말인식키가 타인에 의해 복사된 것으로 분류를 하고, 401단계에서 단말검증부는 접속된 사용자 단말(10)에 대하여 고유한 new 단말인식키를 생성한다.On the other hand, if it is determined in
다음은 402단계에서 new 검증키와 new 단말인식키를 조합하여 new 통합식별키를 생성하고, 이들을 검증 DB(266)에 저장한다.In
또한, 이 경우, 단말검증부는 이상징후 정책에 따라 별도로 관리할 수 있다.In this case, the terminal verification unit can separately manage according to the anomalous indication policy.
검증 DB(266)는 사용자 단말 별로 검증키 리스트와 단말인식키 리스트 및 수집정보의 변화 이력을 테이블로 기록 저장한다.The
단말검증부의 단말 식별 판단부(265)는 검증 DB(266)로부터 변화된 이력 및 접속 패턴을 분석하여 이상징후 판단 정책을 수립하고, 접속된 사용자 단말이 악의적인 접속인지를 판단할 수 있다.The
다음은 430단계와 동일하게 new 통합식별키를 사용자 단말(10)의 로컬영역에 포함되도록 업그레이드하여 삽입한다.Next, in
본 발명의 일 실시 예에 따르면, 웹사이트에 접속하는 사용자 단말에 대하여 단말식별용 에이전트 프로그램이나 키보드 입력패턴 추출용 에이전트를 설치하지 않으면서 서비스제공 서버에서 사용자가 인식하지 못하도록 자연스럽게 키보드 입력패턴 정보 및 접속 정보만을 이용하여 사용자의 본인을 인증하는 장치 및 방법을 제공할 수 있다.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: 검증 DB10: 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 , ≪ / RTI >
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.
상기 키스트로크 패턴정보 수집모듈은,
상기 유저인터페이스상의 로그인 화면에서 추출하기 위한 키를 설정하는 단계;
상기 웹페이지의 유저인터페이스상에 키 입력에 따른 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:
상기 사용자별 키스트로크 공통패턴은,
인증된 사용자가 상기 웹서버에 접속하여 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.
상기 사용자 인증서버는 단말검증부를 더 포함하며,
상기 단말기 검증방법은,
상기 사용자 단말이 상기 웹서버에 접속을 시도하면, 상기 단말검증부가 상기 사용자 단말로부터 브라우저 정보를 수집하는 단계;
상기 단말검증부가 상기 수집된 브라우저 정보를 조합하여 검증키를 생성하는 단계;
- 여기서 상기 검증키는 상기 접속된 사용자 단말의 브라우저 언어, 스크린 색 깊이, 스크린 가로 크기, 스크린 세로 크기, 사용 시스템의 타임 존 오프셋, 브라우저의 로컬 스토리지 지원 유무 및 브라우저 플랫폼 종류에 대한 정보를 모두 포함하도록 조합한 정보값을 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 >
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; , ≪ / 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.
상기 단말 검증부는,
상기 사용자 단말로부터 브라우저 정보를 수집하고, 상기 접속된 사용자 단말의 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.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170102849A KR101960060B1 (en) | 2017-08-14 | 2017-08-14 | Method and apparatus for user authentication |
PCT/KR2017/008815 WO2019035491A1 (en) | 2017-08-14 | 2017-08-14 | Method and device 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 (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2689816C2 (en) | 2017-11-21 | 2019-05-29 | ООО "Группа АйБи" | Method for classifying sequence of user actions (embodiments) |
WO2020176005A1 (en) * | 2019-02-27 | 2020-09-03 | Общество С Ограниченной Ответственностью "Группа Айби" | Method and system for identifying a user according to 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 |
KR102688492B1 (en) * | 2022-05-25 | 2024-07-24 | 주식회사 카카오뱅크 | Method for fraudulent behavior data collection and server for the method |
CN117424763B (en) * | 2023-12-19 | 2024-04-19 | 深圳中宝新材科技有限公司 | Data rapid transmission authentication method and system for intelligent antioxidant bond alloy wire equipment |
Citations (1)
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)
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 |
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 |
KR101492995B1 (en) * | 2008-07-08 | 2015-02-13 | 주식회사 비즈모델라인 | Method for Identifying Public Ownership of Mobile Device Usage Permission |
WO2015084293A2 (en) * | 2013-05-29 | 2015-06-11 | Hewlett-Packard Development Company, L.P. | Passive security of applications |
-
2017
- 2017-08-14 WO PCT/KR2017/008815 patent/WO2019035491A1/en active Application Filing
- 2017-08-14 KR KR1020170102849A patent/KR101960060B1/en active IP Right Grant
Patent Citations (1)
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 | |
KR101653805B1 (en) | method and apparatus for identifying an access terminal device via a network | |
CN107864112B (en) | Login security verification method and device | |
US20160261582A1 (en) | System for secure login, and method and apparatus for same | |
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 | |
CN105763520A (en) | Network account password recovery method and device, client terminal device and server | |
CN118449719A (en) | Network identity authentication method and system and user agent equipment used by same | |
US20210306369A1 (en) | Methods of monitoring and protecting access to online services | |
CN111274046A (en) | Service call validity detection method and device, computer equipment and computer storage medium | |
EP4068125B1 (en) | Method of monitoring and protecting access to an online service | |
US12069067B2 (en) | Methods of monitoring and protecting access to online services | |
KR101468798B1 (en) | Apparatus for tracking and preventing pharming or phishing, method using the same | |
CN117376000A (en) | Block chain-based data processing method, device, equipment and storage medium | |
KR101583698B1 (en) | Authentication system and method for device attempting connection | |
WO2019159809A1 (en) | Access analysis system and access analysis method | |
WO2017068714A1 (en) | Illegal communication control apparatus and method | |
US20210306376A1 (en) | Methods of monitoring and protecting access to online services | |
CN114666164A (en) | Computer network user identity login verification system and method | |
CN114727276A (en) | Method and system for determining account information in user non-login state | |
KR20220170159A (en) | Multi-factor authentication method | |
JP2002073198A (en) | Device and method for authentication | |
JP4979127B2 (en) | Account information leak prevention service system |
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 |