KR101990454B1 - 키스트로크 패턴을 이용한 사용자 인증방법 및 장치 - Google Patents

키스트로크 패턴을 이용한 사용자 인증방법 및 장치 Download PDF

Info

Publication number
KR101990454B1
KR101990454B1 KR1020170102861A KR20170102861A KR101990454B1 KR 101990454 B1 KR101990454 B1 KR 101990454B1 KR 1020170102861 A KR1020170102861 A KR 1020170102861A KR 20170102861 A KR20170102861 A KR 20170102861A KR 101990454 B1 KR101990454 B1 KR 101990454B1
Authority
KR
South Korea
Prior art keywords
user
keystroke
authentication
pattern
terminal
Prior art date
Application number
KR1020170102861A
Other languages
English (en)
Other versions
KR20190018202A (ko
Inventor
정철우
이진택
Original Assignee
인터리젠 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터리젠 주식회사 filed Critical 인터리젠 주식회사
Priority to KR1020170102861A priority Critical patent/KR101990454B1/ko
Publication of KR20190018202A publication Critical patent/KR20190018202A/ko
Application granted granted Critical
Publication of KR101990454B1 publication Critical patent/KR101990454B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • G06K9/4609
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

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

Abstract

사용자 인증장치에서 상기 웹서버에 접속하는 사용자 단말의 사용자 인증방법에서, 상기 사용자 단말이 서비스 이용을 위하여 상기 웹서버에 접속 시, 제공되는 웹페이지에서 동작되도록 설치된 키스트로크 패턴정보 수집모듈이 상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하여 상기 웹서버의 키스트로크 패턴 추출부로 전송하는 단계; 상기 키스트로크 패턴정보 추출부에서 상기 로그 정보로부터, 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계; 사용자 인증서버에서 상기 키스트로크 패턴정보를 전달받아서 상기 키스트로크 패턴정보로부터 키스트로크 패턴 특성 값을 생성하는 키스트로크 패턴 특성 생성단계; 상기 사용자 인증서버에서 상기 키스트로크 특성 값들을 키스트로크 데이터베이스에 저장된 사용자별 키스트로크 공통패턴과 대비하여 매칭비율을 산출하는 매칭비율 산출단계; 및 상기 사용자 인증서버에서 상기 매칭비율에 의하여 사용자가 본인인지를 판단하는 사용자 인증 판단단계; 를 포함하는 것을 특징으로 하는 키스트로크 패턴을 이용한 사용자 인증방법이 제공된다.

Description

키스트로크 패턴을 이용한 사용자 인증방법 및 장치 {Method and apparatus for user authentication using keystroke pattern data}
본 발명은 웹서버에 접속하는 단말에 대하여 키스트로크 패턴을 이용한 사용자 인증방법 및 장치에 관한 기술이다.
불특정 다수를 대상으로 하는 인터넷 환경에서 사용자를 식별하고 인증하는 방법의 중요성과 가치는 점점 증대되고 있다.
웹사이트 운영자는 네트워크 상에서 악의적으로 접근하는 블랙 접속자의 접속을 차단하기 위하여 웹사이트를 방문하는 사용자의 특성과 접속 패턴을 파악할 필요가 있다.
종래에는 웹사이트 운영자가 이러한 접속자의 접속 IP를 식별하기 위하여 액티브X와 같은 단말식별용 에이전트 프로그램을 사용자 단말에 설치를 강요하여 접속하는 방식을 사용하였다.
그러한 이러한 단말식별용 에이전트 프로그램들은 사용자의 PC에 특정 기능을 심기 위해서 PC의 보안을 일시적으로 해제하는 기능이 있기 때문에 보안에 취약할 수 있고, 분산서비스거부(DDoS) 등 좀비 PC 악성코드의 주 감염 경로로 이용되기 쉽다는 평가를 받고 있다.
종래에는 사용자가 웹사이트에서 서비스를 제공받기 위하여 무의식적으로 웹사이트 제공자가 요구하는 단말식별용 에이전트를 설치하였으나, 사용자 단말에서 개인의 정보가 누출되는 것을 방지하기 위한 보안 정책이 강화되면서 사용자는 단말식별용 에이전트 설치를 점차적으로 거부하거나 꺼리는 실정이다.
또한, 서비스 제공 시스템에서는 사용자를 식별하여 서비스를 제공하기 위해서 아이디(ID)와 비밀 번호를 매개로 하는 인증 정보를 검증하여 진정한 사용자인지 여부를 판별하는 사용자 인증 과정을 거치게 된다.
이러한 사용자 인증 과정은 사용자가 입력한 ID와 비밀번호를 인증 시스템의 데이터베이스에 등록되어 있는 ID 및 비밀번호들과 비교함으로써 이루어진다. 그러나, 이러한 방식은 ID 및 비밀번호가 사용자의 부주의나 해커들의 인위적인 해킹에 의해 정보의 누출이 쉽다는 점에서 보안성에 문제점이 있다.
이러한 문제점을 보완하기 위하여, 키보드나 키패드 등과 같은 입력 수단을 통해 입력되는 사용자의 키스트로크를 기반으로 하여 사용자의 행동 패턴을 추출하고 이를 사용자 인증에 사용하는 방식이 제안되고 있다. 이 방식은, 사용자가 키보드나 키패드를 통해 자신의 ID 및 비밀 번호 등과 같은 인증 정보를 입력할 때 키보드나 키패드에 구비된 각각의 키 입력부를 누르는 패턴 데이터를 획득하여 이를 사용자 인증에 사용하는 것으로서, 사용자가 자신의 인증 정보를 입력하는 키스트로크의 패턴은 사용자의 고유한 행동 특성을 반영하고 있다는 점에 기인하는 것이다.
이러한 키스트로크를 기초로 하여 사용자 인증을 수행하기 위하여 사용자 단말에 키스트로크 모듈 에이전트를 설치하여 키보드 입력 패턴을 추출하거나, 또는 키보드 입력에 따른 압력을 센싱할 수 있는 센서를 장착하여 키보드 패턴을 추출하는 기술들이 연구되고 있다.
사용자에 따라 인증을 위한 에이전트의 설치환경을 기피하는 경향이 있어서, 서비스 제공 운영자는 이와 같은 사용자 식별용 에이전트 프로그램을 사용하지 않고도 사용자를 식별하고 인증할 수 있는 방법이 필요하다.
본 발명 기술에 대한 배경기술에 하나인 키스트로크 추출모듈을 단말에 설치토록 하고 이를 이용하여 사용자를 인증하는 방법에 대한 기술은 대한민국 등록특허공보 10-0847532호에 게시된 바 있다.
대한민국 등록특허공보 10-0847532호(사용자의 행동 패턴 정보를 이용한 사용자 인증에 사용되는 사용자 단말기 및 인증 장치)
본 발명은 사용자가 서비스를 제공받기 위하여 사용자 단말기를 통하여 인증정보를 입력하여 서비스제공 서버에 접속할 경우, 서비스제공 서버에서 실시간으로 상기 인증정보로부터 키보드 입력패턴 정보를 추출하여 사용자의 본인 인증을 신속하고 효율적으로 인증하는 장치 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 사용자가 서비스를 제공받기 위하여 사용자 단말기를 통하여 인증정보를 입력하여 서비스제공 서버에 접속할 경우, 사용자 단말기에 키보드 입력패턴 추출용 모듈을 설치하지 않고, 서비스제공 서버에서 상기 인증정보로부터 키보드 입력패턴 정보를 추출하여 사용자를 인증하는 장치 및 방법을 제공하는 것이다.
본 발명의 일 측면에 따르면, 웹서버 및 사용자 인증서버를 포함하는 사용자 인증장치에서 상기 웹서버에 접속하는 사용자 단말의 사용자 인증방법에 있어서, 상기 사용자 단말이 서비스 이용을 위하여 상기 웹서버에 접속 시, 제공되는 웹페이지에서 동작되도록 설치된 키스트로크 패턴정보 수집모듈이 상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하여 상기 웹서버의 키스트로크 패턴 추출부로 전송하는 단계; 상기 키스트로크 패턴정보 추출부에서 상기 로그 정보로부터, 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계; 상기 사용자 인증서버에서 상기 키스트로크 패턴정보를 전달받아서 상기 키스트로크 패턴정보로부터 키스트로크 패턴 특성 값을 생성하는 키스트로크 패턴 특성 생성단계; 상기 사용자 인증서버에서 상기 키스트로크 특성 값들을 키스트로크 데이터베이스에 저장된 사용자 별 키스트로크 공통패턴과 대비하여 매칭비율을 산출하는 매칭비율 산출단계; 및 상기 사용자 인증서버에서 상기 매칭비율에 의하여 사용자가 본인인지를 판단하는 사용자 인증 판단단계; 를 포함하는 것을 특징으로 하는 키스트로크 패턴을 이용한 사용자 인증방법이 제공된다.
또한, 상기 상기 사용자 인증 판단단계에서는, 상기 매칭비율에 따라, 본인인증 성공영역, 본인인증 보류영역 및 본인인증 실패영역으로 구분하고, 상기 본인인증 성공영역에서는 사용자가 요청하는 서비스를 제공하고, 본인인증 실패영역에서는 로그 실패 화면을 제공하며, 본인인증 보류영역에서는 본인 확인을 위한 제2의 인증방법을 추가로 실시한 결과에 따라 서비스를 제공하는 것을 특징으로 한다.
또한, 상기 매칭비율은 상기 인증을 요하는 사용자의 키스트로크의 특성 값들을 상기 키스트로크 공통패턴과 대비하여 동일하게 만족하는 개수에 대한 비율인 것을 특징으로 한다.
또한, 상기 키스트로크 패턴정보 수집모듈은, 상기 유저인터페이스 상의 로그인 화면에서 추출하기 위한 키를 설정하는 단계; 상기 웹페이지의 유저인터페이스 상에 키 입력에 따른 keyup, keydown Event에 대한 로그정보가 상기 웹페이지의 userInputs에 저장하는 단계; 및 로그인 완료 신호에 따라 상기 저장된 로그정보가 상기 키스트로크 패턴 추출부로 전송되는 단계; 를 포함하도록 프로그램 된 것을 특징으로 한다.
또한, 상기 사용자 별 키스트로크 공통패턴은, 인증된 사용자가 상기 웹서버에 접속하여 ID와 패스워드를 입력 시 입력되는 키스트로크 데이터에 대한 로그 정보를 수집할 수 있는 키스트로크 패턴정보 수집모듈 생성단계; 키스트로크 패턴정보 수집모듈이 상기 인증된 사용자의 id 및 패스워드의 입력에 따라 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 상기 키스트로크 패턴 추출부로 전송하는 단계; 상기 키스트로크 패턴정보 추출부에서 상기 인증된 사용자의 로그 정보로부터, 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계; 상기 인증된 사용자의 키스트로크 패턴정보로부터 상기 키스트로크 패턴 특성으로부터 키코드 별로 입력 지속시간에 대한 제1 특성 값과 각 키 코드간의 입력 간격 시간에 대한 제2 특성 값을 생성하는 키스트로크 패턴 특성 생성단계; 및 상기 키 코드 별로 입력 지속시간을 각각 대비한 제1 특성 대비값 패턴과 상기 각 키 코드간의 입력 간격 시간을 각각 비교한 제2 특성 대비값 패턴을 생성한 다음, 이를 여러 번 반복 학습하여 상기 사용자 별 키스트로크 공통패턴을 생성하는 것을 특징으로 한다.
또한, 상기 본인인증 성공영역은 상기 매칭비율이 93%이상인 영역이며, 상기 본인인증 보류영역은 상기 매칭비율이 93%미만에서 66% 이상인 영역이고, 상기 본인인증 실패영역은 상기 매칭비율이 66% 미만인 영역인 것을 특징으로 한다.
또한, 상기 제2 인증방법은 접속하는 단말기가 사용자의 단말기인지를 인증하는 방법인 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면, 웹서버 및 사용자 인증서버를 포함하는 사용자 인증장치에 있어서, 상기 웹서버는 접속하는 사용자 단말기에 웹페이지를 제공하는 웹페이지부; 상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하는 키스트로크 패턴정보 수집모듈로부터 상기 로그정보를 전송받아 키스트로크 패턴 정보를 추출하는 키스트로크 패턴 정보 추출부; 및 상기 사용자 인증서버에서 사용자 인증 결과에 따라 사용자에게 서비스를 제공하는 서비스 제공부; 를 포함하며, 상기 사용자 인증서버는 상기 키스트로크 패턴 정보 추출부에서 추출된 키스트로크 패턴 정보로부터 키스트로크의 특성 값을 추출하는 키스트로크 특성 생성부; 상기 키스트로크 특성 생성부에서 생성된 사용자 별 키스트로크의 특성 값들로부터 공통패턴 값을 생성하여 학습하는 사용자 별 키스트로크 공동패턴 학습부; 상기 키스트로크 특성 생성부에서 생성된 인증을 위한 키스트로크의 특성 값을 상기 사용자 별 키스트로크 공동패턴 학습부에서 학습된 공통패턴 값과 대비하여 매칭비율을 산출하는 매칭비율 판단부; 상기 매칭비율 판단부에서 산출한 매칭비율을 설정된 값과 대비하여 서비스를 제공하는 것에 대한 인증을 판단하는 사용자인증부; 및 상기 키스트로크 패턴 정보, 상기 사용자 별 키스트로크의 특성값 및 사용자 별 공통패턴을 저장하여 관리하는 데이터베이스부; 를 포함하는 것을 특징으로 한다.
본 발명의 일 실시 예에서는 사용자 단말기에 별도의 키보드 입력패턴 추출용 모듈이나 에이전트를 설치하지 않으면서, 서비스제공 서버에서 사용자가 인식하지 못하도록 자연스럽게 인증정보로부터 키보드 입력패턴 정보를 수집하여 사용자의 본인을 인증하는 장치 및 방법을 제공할 수 있다.
본 발명의 일 실시 예에 따르면, 매칭비율이 일정 값 이상일 경우에는 키스트로크 패턴 대비에 의한 간단한 과정으로 다른 사람이 아이디 및 패스워드를 도용하여 접속한 경우에 대한 사용자 인증을 신속하고 효율적으로 수행할 수 있다.
또한, 매칭비율이 일정 값 미만일 경우에는 키스트로크 패턴 대비에 의한 간단한 과정으로 다른 사람이 아이디 및 패스워드를 도용하여 접속한 경우를 판별하여 서비스를 차단할 수 있는 효과를 가진다.
또한, 매칭비율이 일정 영역범위 내에 있는 경우에만 추가적인 인증을 실시하도록 함으로써, 로그 실패로 인한 사용자의 번거로움을 없애고 사용자의 본인 인증을 효율적으로 수행할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 키스트로크 패턴을 이용한 인증 장치를 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 인증 장치에서 사용자의 키스트로크 공통패턴 학습 단계에 대한 방법을 도시한 것이다.
도 3은 본 발명의 일 실시 예에 따른 아이디 입력 시 키스트로크 로그 정보를 수집하기 위한 키스트로크 패턴정보 수집모듈 프로그램의 예를 도시한 것이다.
도 4는 본 발명의 일 실시 예에 따라 timestamp 정보가 반환된 형태의 데이터를 표현한 것이다.
도 5는 본 발명의 일 실시 예에 따른 웹페이지에서 유저인터페이스(UI) 상에 형성된 로그인 화면을 도시한 것이다.
도 6은 본 발명의 일 실시 예에 따른 인증장치에서 사용자 본인 및 다른 사용자가 입력된 키스트로크에 대한 매칭비율을 그래프로 도시한 것이다.
도 7은 본 발명의 일 실시 예에 따른 인증 장치에서 키스트로크 패턴을 이용한 사용자 인증방법을 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서 전체에서, "상에"라 함은 대상 부분의 위 또는 아래에 위치함을 의미하는 것이며, 반드시 중력 방향을 기준으로 상 측에 위치하는 것을 의미하는 것이 아니다.
키보드나 키패드 등과 같은 입력 수단을 통해 입력되는 사용자의 키스트로크를 기반으로 하여 사용자의 행동 패턴을 추출하고 이를 사용자 인증에 사용하는 방식은, 사용자가 키보드나 키패드를 통해 자신의 ID 및 비밀 번호 등과 같은 인증 정보를 입력할 때 키보드나 키패드에 구비된 각각의 키 입력부를 누르는 패턴 데이터를 획득하여 이를 사용자 인증에 사용하는 것으로서, 사용자가 자신의 인증 정보를 입력하는 키스트로크의 패턴은 사용자의 고유한 행동 특성을 반영하고 있다는 점에 기인하는 것이다.
사용자가 ID 및 비밀 번호와 같은 인증 정보를 입력하고 로그인을 입력하면, 사용자가 ID 및 비밀 번호가 한 패킷 단위로 전송되어, 서비스제공 서버에서는 ID 및 비밀 번호의 문자적 특성만 인지할 수 있고, 키스트로크 정보를 추출하기가 곤란하다.
따라서 종래에는 이러한 이러한 키스트로크를 기초로 하여 사용자 인증을 수행하기 위하여 클라이언트 단말에 키스트로크 추출 모듈 에이전트를 설치하여 키보드 입력 패턴을 추출하여 서비스제공 서버로 추출하는 기술들이 사용되었다.
그러나 사용자가 인증을 위한 에이전트의 설치환경을 기피할 경우, 클라이언트 식별용 에이전트 프로그램을 사용하지 않고도 클라이언트를 식별하고 인증할 수 있는 방법이 필요하다.
본 발명의 일 실시 예에서는 사용자가 서비스를 제공받기 위하여 사용자 단말기를 통하여 인증정보를 입력하여 서비스제공 서버에 접속할 경우, 사용자 단말기에 별도의 키보드 입력패턴 추출용 모듈이나 에이전트를 설치하지 않으면서, 서비스제공 서버에서 상기 인증정보로부터 키보드 입력패턴 정보를 추출하여 사용자를 인증하는 장치 및 방법을 제공하는 것을 특징으로 한다.
본 발명의 일 실시 예에서는 웹서버에서 사용자가 인식하지 못하도록 자연스럽게 정보를 수집하여 이를 토대로 정보를 분석하기 위해 단말기에 설치되는 프로그램 없이 웹페이지 상에서 동작되는 크로스 플랫폼(멀티 플랫폼) 지원 가능한 Javascript를 사용하여 키스트로크 수집모듈을 설치하는 것을 특징으로 한다.
도 1은 본 발명의 일 실시 예에 따른 인증 장치를 개략적으로 나타내는 도면이다.
본 발명의 일 실시 예에 따른 사용자 인증장치는 웹서버(100) 및 사용자 인증서버(200)를 포함한다.
본 발명의 일 실시 예에 따른 웹서버(100)는 접속하는 사용자 단말기에 웹페이지를 제공하는 웹페이지부(110), 상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하도록 동작되는 키스트로크 패턴정보 수집모듈로부터, 상기 로그정보를 전송받아 키스트로크 패턴 정보를 추출하는 키스트로크 패턴 정보 추출부(120), 및 사용자 인증서버(200)에서 사용자 인증 결과에 따라 사용자에게 서비스를 제공하는 서비스 제공부(130)를 포함하는 것을 특징으로 한다.
또한, 본 발명의 일 실시 예에 따른 사용자 인증서버(200)는 키스트로크 패턴 정보 추출부(120)에서 추출된 키스트로크 패턴 정보로부터 키스트로크의 특성(feature) 값을 추출하는 키스트로크 특성 생성부(210), 상기 키스트로크 특성 생성부(210)에서 생성된 사용자 별 키스트로크의 특성(feature) 값들로부터 공통패턴 값을 생성하여 학습하는 사용자 별 키스트로크 공동패턴 학습부(240), 상기 키스트로크 특성 생성부(210)에서 생성된 인증을 위한 키스트로크의 특성(feature) 값을 상기 사용자 별 키스트로크 공동패턴 학습부(240)에서 학습된 공통패턴과 대비하여 매칭비율을 산출하는 매칭비율 판단부(220), 상기 매칭비율 판단부(220)에서 산출한 매칭비율을 설정된 값과 대비하여 서비스제공을 요구하는 사용자에 대하여 서비스를 제공하는 것에 대한 인증을 판단하는 사용자인증부(230)를 포함한다.
또한, 상기 사용자 인증서버(200)는 상기 키스트로크 패턴 정보 추출부(120)에서 추출된 키스트로크 패턴 정보, 상기 사용자 별 키스트로크의 특성(feature) 값 및 공통패턴 값들을 저장하여 관리하는 데이터베이스부(250)를 더 포함한다.
도 2는 본 발명의 일 실시 예에 따른 인증 장치에서 사용자의 키스트로크 공통패턴 학습단계에 대한 방법을 도시한 것이다.
도 2를 참조하면, 먼저 사용자가 웹페이지에 접속하여 웹페이지에 ID와 패스워드를 입력 시, 입력되는 키스트로크 데이터를 수집할 수 있는 키스트로크 패턴정보 수집모듈 생성단계(510)가 수행된다.
본 발명의 일 실시 예에 따른 학습단계에서의 사용자는 인증이 완료된 사용자이거나 또는 다른 경로에 의하여 인증된 사용자에 의해 수행된다.
본 발명의 일 실시 예에 따른 키스트로크 패턴정보 수집모듈 생성단계(510)에서는 멀티 플랫폼 지원 가능한 Javascript를 사용하여 프로그램화된 키스트로크 패턴정보 수집모듈이 웹페이지에서 동작되도록 웹페이지부(110)에 설치된다.
키스트로크 패턴정보 수집모듈 생성단계(510)에서는 웹페이지의 유저인터페이스 상의 로그인 화면에서 추출하기 위한 키를 설정하는 단계를 포함한다.
예를 들면, 아이디 추출화면에서는 설정된된 키는 0~9까지 숫자, 소문자 알파벳(a~z), Shift, Enter, Tab이다.
그리고, 웹페이지의 유저인터페이스 상에 키 입력에 따른 keyup, keydown Event에 대한 로그정보가 웹페이지의 userInputs에 저장하는 단계; 및 로그인 완료 신호에 따라 상기 저장된 로그정보가 키스트로크 패턴 추출부(120)로 전송되는 단계; 가 포함되도록 프로그램된다.
도 3은 본 발명의 일 실시 예에 따른 아이디 입력 시 키스트로크 로그 정보를 수집하기 위한 키스트로크 패턴정보 수집모듈 프로그램의 예를 도시한 것이다.
도 3을 참조하면, if문을 통해 $("input.userid").on("keyup keydown", function(e){…} 으로 프로그램된 부분은 input tag안에서 key가 눌려지거나 떼어진 상태라는 것을 의미한다. 또한, 이 프로그램은 어떠한 키가 눌렸을 경우 작동하여 아래에 해당하는 소스를 실행시키라는 의미인데 UPCom.checkInputKeyCode()라는 함수는 허용된 키 이외의 것을 걸러내기 위한 함수이다.
본 발명의 일 실시 예에서 수집이 허용된 키는 0~9까지 숫자, 소문자 알파벳(a~z), Shift, Enter, Tab로 설정되었다. 수집이 허용된 키는 필요에 따라 특수문자 등 다른 형태의 키를 더 포함할 수 있다.
허용된 키 이외의 것은 null로 리턴 되며, null일때의 처리는 "faulty value" 라는 로그와 함께 키스트로크 데이터가 저장 될 userInputs과 key를 입력받을 input.userid가 초기화 된다.
허용 범위 안에 키 일 때는 해당 키를 반환하여 데이터를 만든다.
timestamp는 이벤트 발생 시간을 의미하며, keycode는 이벤트 발생한 key(ex. a=65), type은 keyup이거나 keydown임을 의미하고, key는 눌려진 키 값을 의미한다. userInputs.push(obj)는 나온 결과 값을 저장하도록 한다.
본 발명의 일 실시 예에서는 원하는 time값을 얻어내기 위하여 Date().valueOf() 함수를 사용하였는데 이는 윈도우가 시작되어 지금까지 흐른 시간을 밀리 세컨드 즉, 1/1000초(milliseconds) 단위로 변환한다.
keyup, keydown Event는 비 동기(Asynchronism)로 처리 되는데 호출된 시점에서 키 event의 상태를 조사하여 처리해 줄 수가 있다.
예를 들자면 key down된 시점의 event 상태는 obj.type="keydown"” 값을 반환해 주고 key up된 시점에서의 event 상태는 obj.type=”keyup” 값을 반환해 준다.
본 발명의 일 실시 예에서 key event는 keydown - keyup 순서로 실행된다. 실행된 timestamp와 keycode, key의 속성값으로부터 어떤 키가 언제 keydown 또는 keyup이 되었는지 알 수 있다.
도 4는 본 발명의 일 실시 예에 따라 timestamp 정보가 반환된 형태의 데이터의 예를 표현한 것이다.
다음은 사용자 단말(10)이 서비스를 제공받기 위해 웹서버(100)에 접속 시, 사용자 인증을 위한 웹페이지를 제공하는 웹페이지 제공단계(520)가 수행된다.
도 5는 본 발명의 일 실시 예에 따른 웹페이지에서 유저인터페이스(UI) 상에 형성된 로그인 화면을 도시한 것이다.
웹페이지 제공단계(520)에서는 유저인터페이스(UI) 상의 로그인 화면에 id 및 패스워드의 입력에 따라 keyup, keydown Event에 따른 로그정보(timestamp와 keycode, key의 속성값)를 웹페이지의 userInputs에 저장하고 로그인 완료 처리시 키스트로크 패턴 추출부(120)로 전달된다.
키스트로크 패턴정보 추출부(120)는 상기 키스트로크 패턴정보 수집모듈로부터 전송된 인증된 사용자의 키스트로크 로그정보에서 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계(430)가 수행된다.
예를 들어 A와 B라는 2개의 코드를 누를 시, (A, DOWN, 시간1), (A, UP, 시간2), (B, DOWN, 시간3), (B, UP, 시간4) 이렇게 2개 그룹의 값을 수집한다.
여기에서 시간2 - 시간1의 연산을 통해 A코드를 누루고 있는 시간을 구할 수 있다. 또 시간4 - 시간3의 연산을 통해 B코드를 누르고 있는 시간을 구할 수 있다.
이를 다시 정리하면 각각의 n개의 키코드 입력 시,
{(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)}
의 패턴정보가 추출될 수 있다.
다음은 상기 키스트로크 패턴정보 추출단계(430)에서 추출된 키스트로크 값들로부터, 키스트로크 패턴 특성을 생성하는 키스트로크 패턴 특성 생성단계(540)가 수행된다.
위의 예로부터 각각의 keycode를 누루고 있는 시간을 구해 새로운 feature_1을 생성한다.
본 발명의 일 실시 예에 따른 feature_1의 생성 fuction은 다음과 같이 정의된다.
f_feature_1(n) = keycoden_up_event_time - keycoden_down_event_time
그리고 각각의 keycode를 누르는 시점들만 모아서 서로의 keycode 누르는 시간차를 구해서 새로운 feature_2를 생성한다.
본 발명의 일 실시 예에 따른 feature_2의 생성 fuction은 다음과 같이 정의된다.
f_feature_2(n)= keycoden_down_event_time(시간3) - keycoden-1_down_event_time(시간 1) (n>1)
이렇게 되면 keycode n개를 입력했을 시 feature_1은 n개의 값이 생성되고 feature_2는 n-1개의 값이 생성된다.
즉, 키스트로크 패턴 특성 생성단계(540에서는 상기 키스트로크 패턴 특성으로부터 각 키코드 별로 입력 지속시간에 대한 제1 특성 값과 각 키 코드간의 입력 간격 시간에 대한 제2 특성 값을 생성하는 것을 포함한다.
다음은 인증된 사용자의 키스트로크 공통패턴 학습단계(550)가 수행된다.
키스트로크 공통패턴 학습단계(550)에서는 먼저 feature_1에서 생성된 f_feature_1(n) 값들을 서로 비교한다.
이때 비교할 개수는 nC2의 경우 수가 나온다.
예를 들면, A, B, C, D의 4개의 키를 입력받았고 각각의 feature_1의 값이 1, 2, 3, 4 이라고 가정하면, A<B, A<C, A<D, B<C, B<D, C<D의 결과를 얻을 수 있다.
여기서 A, B, C, D를 또 한번 입력 받았을 경우 A, B, C, D의 feature_1의 값이 1, 3, 2, 4 이라고 가정하면,
A<B, A<C, A<D, B>C, B<D, C<D 의 결과를 얻을 수 있다.
이렇게 2번의 입력을 받아 보았을 경우, 총 6개의 경우 중에 5개인 A<B, A<C, A<D, B<D, C<D 의 공통된 패턴을 얻을 수 있다.
또한, feature_2의 값을 이용해서 상기와 같이 패턴을 얻을 수 있다.
이때 비교할 개수는 n-1C2의 경우 수가 나온다.
AB(B_down_event_time - A_down_event_time), BC, CD의 값이 1, 2, 3 이라고 가정하면
AB < BC, AB < CD, BC < CD 의 결과를 얻을 수 있다.
두 번째 입력 받은 f_feature_2값이 1, 3, 2 이라고 가정하면, AB < BC, AB < CD, BC > CD의 결과를 얻을 수 있다.
feature_2의 경우에서 AB < BC, AB < CD 의 공통된 패턴을 얻을 수 있다.
이와 같이 ABCD 4개의 character 단어를 2번 입력 받아서 feature1, feature_2를 생성하여 6개의 패턴을 얻을 수 있다.
즉, 본 발명의 일 실시 예에서는 사용자가 확인된 아이디 및 패스워드에 대하여 각 키코드 별로 입력 지속시간을 각각 대비한 제1 특성 대비 값 패턴과 각 코드간의 입력 간격 시간을 각각 비교한 제2 특성 대비 값 패턴을 생성한 다음, 이를 여러 번 반복 학습하여 공통된 대비 값 패턴(이하 “공통 패턴'이라 함)을 생성하게 된다.
본 발명의 일 실시 예에 따르면, 사용자가 확인된 아이디와 패스워드를 N번 입력 받아 위와 같이 공통 패턴을 추출한 후에, 사용자가 인증을 위해 아이디와 패스워드를 입력하여 로그인할 경우, 공통 패턴에 대한 매칭비율을 가지고 본인 확인 인증을 수행할 수 있는 인증 알고리즘을 구현할 수 있다.
본 발명의 일 실시 예에서 매칭비율은 공통된 패턴이 100개일 경우, 100개의 공통패턴을 모두 동일한 경우를 100%로 정의한 것이다.
예를 들어 공통된 패턴이 100개일 경우, 인증을 요하는 키스트로크의 특성 값에서 이를 만족하는 개수가 91개만 동일하다면 매칭비율은 91%로 산출된다.
도 6은 본 발명의 일 실시 예에 따른 인증장치에서 사용자 본인 및 다른 사용자가 입력된 키스트로크에 대한 매칭비율을 그래프로 도시한 것이다.
도 6은 본 발명의 일 실시 예에 따른 인증장치에서 35인의 모집단을 구성하고 사용자로부터 임의의 아이디 및 패스워드에 대하여 서로 바꾸어 가면서 총 3.998회 실험한 결과를 도시한 것이다.
도 6은 매칭비율이 높은 순으로 그래프를 표시한 것으로서, 하부 막대의 수직크기는 본인일 확률에 대한 신뢰도를 도시한 것이다.
표 1은 도 6의 신뢰도 상위부분에서 매칭비율에 대한 본인 확인의 오류 상태를 표로 나타낸 것이다.
Figure 112017078059089-pat00001
표 2는 도 6의 신뢰도 하위부분에서 매칭비율에 대한 본인확인의 오류 상태를 표로 나타낸 것이다.
Figure 112017078059089-pat00002
본 발명의 일 실시 예에 따르면, 다양한 모집단을 가지고 인증에 대한 모집단 실험을 수행한 결과, 최소한 10회 이상의 training과정을 거친 후, 결정된 공통패턴에 대해 93% 이상의 매칭비율의 범위 내에서 본인일 확률이 99.6%의 신뢰도를 가지는 점에서 사용자를 오류없이 인증할 수 있는 것으로 분석되었다.
또한, 표 2를 참조하면, 매칭비율이 66% 미만일 경우에는 본인일 확률이 0.5%의 신뢰도를 가지는 점에서 본인이 아닌 것으로 판단할 수 있다.
따라서 본 발명의 일 실시 예에서는 매칭비율(x)이 93% 이상일 경우에는 위와 같은 키스트로크 공통패턴과의 대비만을 통하여 간단한 과정으로 다른 사람이 아이디 및 패스워드를 도용하여 접속한 경우에 대한 사용자 인증을 효율적으로 수행할 수 있다.
본 발명의 일 실시 예에서는 매칭비율(x)이 93% 이상일 경우에는 본인인증 성공영역으로 설정하여 인증성공으로 판단한다.
본인인증 성공영역은 공통패턴의 누적된 학습 및 신뢰도에 따라 매칭비율 90 ~ 95% 범위에서 변경되어 설정될 수 있다.
또한, 매칭비율이 66% 미만일 경우에는 본인이 아닌 타인이 도용하여 접속한 경우로 분석이 되는 것이므로 본인인증 실패영역으로 설정하여 인증불가로 판단한다.
또는 본인인증 실패영역은 공통패턴의 누적된 학습 및 신뢰도에 따라 매칭비율 65~70% 범위에서 변경되어 설정될 수 있다.
매칭비율이 93% 미만이고, 66% 이상일 경우, 즉 본인인증 성공영역과 본인인증 실패영역의 사이에 있는 영역에서는, 접속 시도가 사용자 본인일 경우도 포함될 수 있다. 본인인 경우에 인증이 실패로 회시되면 또 다시 아이디 및 패스워드를 입력하는 절차를 반복하게 되며, 이는 사용자의 불만사항이 높아질 수 있는 요인이 되므로 추가적인 절차에 의해 본인인 지를 확인할 필요성이 제기된다.
본 발명의 일 실시 예에서는 매칭비율이 본인인증 성공영역과 본인인증 실패영역의 사이에 있는 영역일 경우에는 본인인증 보류영역으로 구분하며 본인확인을 위한 제2 인증방법에 의해 본인 확인절차를 추가로 수행하는 것을 특징으로 한다.
본 발명의 일 실시 예에 따른 본인확인을 위한 제2 인증방법에는 접속된 단말기가 본인의 단말기인지를 확인하는 방법 또는 제3 경로에 의한 본인확인 과정이 포함될 수 있다.
도 7은 본 발명의 일 실시 예에 따른 인증 장치에서 키스트로크 패턴을 이용한 사용자 인증방법을 도시한 것이다.
먼저, 사용자 단말(10)이 서비스를 제공받기 위해 웹서버(100)에 접속 시, 사용자 인증을 위한 웹페이지를 제공하는 인증용 웹페이지 제공단계(610)가 수행된다.
인증용 웹페이지 제공단계(610)에서 상기 웹페이지에 동작되도록 설치된 키스트로크 패턴정보 수집모듈이 유저인터페이스(UI) 상의 로그인 화면에 id 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 로그정보(timestamp와 keycode, key의 속성값을 포함함)를 웹페이지의 userInputs에 수집 저장하고 로그인 완료 신호에 의해 키스트로크 패턴 추출부(120)로 전달된다.
다음은 키스트로크 패턴정보 추출부(120)에서 상기 웹페이지에 설치된 키스트로크 패턴정보 수집모듈로부터 전송된 인증이 요구되는 사용자에 의해 입력된 아이디 및 패스워드에 의한 로그정보로부터, 키스트로크 패턴 정보를 추출하는 「사용자 인증정보의 키스트로크 패턴정보 추출단계」(620)가 수행된다.
사용자 인증정보의 키스트로크 패턴정보 추출단계(620)는 앞에서 설명한 키스트로크 패턴정보 추출단계(430)와 동일한 방법으로 수행될 수 있다.
다음은 상기 추출된 키스트로크 패턴정보의 키스트로크 값들로부터 키스트로크 패턴 특성을 생성하는 키스트로크 패턴 특성 생성단계(640)가 수행된다.
키스트로크 패턴 특성 생성단계(640)는 상기 키스트로크 패턴 특성으로부터 각 키코드 별로 입력 지속시간에 대한 제1 특성 값과 각 키 코드간의 입력 간격 시간에 대한 제2 특성 값을 생성하는 것으로써, 앞에서 설명한 인증된 사용자에 의한 키스트로크 패턴특성 생성단계(430)와 동일한 방법에 의해 수행될 수 있다.
다음은 키스트로크 패턴 특성 생성단계(640)에서 생성된 키스트로크 패턴 특성에 의한 값들을 키스트로크 데이터베이스(250)에 저장된 사용자 별 키스트로크 공통패턴과 대비하여 매칭비율을 산출하는 매칭비율 산출단계(640)가 수행된다.
매칭비율 산출단계(640)에서는 인증을 요하는 키스트로크의 특성 값을 키스트로크 공통패턴과 대비하여 동일하게 만족하는 개수에 대한 비율이 매칭비율로 산출된다.
다음은 상기 매칭비율 산출단계(640)에서 산출된 매칭비율에 의하여 사용자가 본인인지를 판단하는 사용자 인증 판단단계(650)가 수행된다.
본 발명의 일 실시 예에서는 매칭비율(x)이 93% 이상일 경우에는 본인인증 성공영역으로 설정하여 인증성공으로 판단한다.
매칭비율이 93% 미만이고, 66% 이상일 경우에는 본인인증 보류영역으로 구분하여 제2인증수단에 의해 본인 확인절차를 수행하는 것을 특징으로 한다.
매칭비율이 66% 미만일 경우에는 본인인증 실패영역으로 설정하여 인증불가로 판단한다.
서비스 제공 단계(660)에서는 인증 성공으로 판단된 경우 및 제2인증수단에 의해 본인 확인절차가 완료된 접속 시도에 대하여는 요청된 서비스를 제공하고, 인증불가로 판단된 접속 시도에 대하여는 로그 실패 화면을 제공한다,
본 발명의 일 실시 예에서는 사용자 단말기에 별도의 키보드 입력패턴 추출용 모듈이나 에이전트를 설치하지 않으면서, 서비스제공 서버에서 사용자가 인식하지 못하도록 자연스럽게 인증정보로부터 키보드 입력패턴 정보를 수집하여 사용자의 본인을 인증하는 장치 및 방법을 제공할 수 있다.
본 발명의 일 실시 예에 따르면, 매칭비율이 일정 값 이상일 경우에는 키스트로크 패턴 대비에 의한 간단한 과정으로 다른 사람이 아이디 및 패스워드를 도용하여 접속한 경우에 대한 사용자 인증을 신속하고 효율적으로 수행할 수 있다.
또한, 매칭비율이 일정 값 미만일 경우에는 키스트로크 패턴 대비에 의한 간단한 과정으로 다른 사람이 아이디 및 패스워드를 도용하여 접속한 경우를 판별하여 서비스를 차단할 수 있는 효과를 가진다.
또한, 매칭비율이 일정 영역범위 내에 있는 경우에만 추가적인 인증을 실시하도록 함으로써, 로그 실패로 인한 사용자의 번거로움을 없애고 사용자의 본인 인증을 효율적으로 수행할 수 있다.
100: 웹서버
110: 웹페이지부
120: 키스트로크 패턴 정보 추출부
130: 서비스 제공부
200: 사용자 인증서버
210: 키스트로크 특성 생성부
220: 매칭비율 판단부
240: 사용자별 키스트로크 공동패턴 학습부
230: 사용자인증부
250: 키스트로크 데이터베이스부

Claims (8)

  1. 웹서버 및 사용자 인증서버를 포함하는 사용자 인증장치에서 상기 웹서버에 접속하는 사용자 단말의 사용자 인증방법에 있어서,
    상기 사용자 인증방법은,
    상기 사용자 단말에 키보드 입력패턴 추출용 모듈 또는 단말식별용 에이전트을 설치하지 않은 상태에서, 상기 사용자 인증서버에서 로그인 인증정보를 포함하는 접속정보만을 이용하여 키보드 입력패턴 정보를 추출하여 사용자에 대한 인증을 수행하는 것을 특징으로 하되,
    상기 사용자 인증방법은,
    상기 사용자 단말이 서비스 이용을 위하여 상기 웹서버에 접속 시, 웹페이지에서 동작되도록 키스트로크 패턴정보 수집모듈이 웹페이지에 생성되며, 상기 생성된 키스트로크 패턴정보 수집모듈이 상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하여 상기 웹서버의 키스트로크 패턴 추출부로 전송하는 단계;
    상기 키스트로크 패턴 추출부에서 상기 로그 정보로부터, 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계;
    상기 사용자 인증서버에서 상기 키스트로크 패턴정보를 전달받아서 상기 키스트로크 패턴정보로부터 키스트로크 패턴 특성 값을 생성하는 키스트로크 패턴 특성 생성단계;
    상기 사용자 인증서버에서 상기 키스트로크 패턴 특성 값들을 키스트로크 데이터베이스에 저장된 사용자별 키스트로크 공통패턴과 대비하여 매칭비율을 산출하는 매칭비율 산출단계; 및
    상기 사용자 인증서버에서 상기 매칭비율에 의하여 사용자가 본인인지를 판단하는 사용자 인증 판단단계; 를 포함하는 것을 특징으로 하되,
    상기 사용자 인증 판단단계에서는,
    상기 매칭비율에 따라, 본인인증 성공영역, 본인인증 보류영역 및 본인인증 실패영역으로 구분하고, 상기 본인인증 성공영역에서는 사용자가 요청하는 서비스를 제공하고, 본인인증 실패영역에서는 로그 실패 화면을 제공하며, 본인인증 보류영역에서는 상기 접속된 단말의 상기 사용자 본인의 단말인지를 검증하는 단말기 검증방법을 추가로 실시하는 것을 특징으로 하되,
    상기 매칭비율은 상기 인증을 요하는 사용자의 키스트로크 패턴 특성 값들을 상기 키스트로크 공통패턴과 대비하여 동일하게 만족하는 개수에 대한 비율이며, 상기 본인인증 성공영역은 상기 매칭비율이 93% 이상인 영역이며, 상기 본인인증 보류영역은 상기 매칭비율이 93% 미만에서 66% 이상인 영역이고, 상기 본인인증 실패영역은 상기 매칭비율이 66% 미만인 영역인 것을 특징으로 하고,
    상기 사용자 본인의 단말인지를 검증하는 단말기 검증방법은, 상기 사용자 인증서버에 포함된 단말검증부가 상기 사용자 단말로부터 브라우저 정보를 수집하고, 상기 단말검증부가 상기 수집된 브라우저 정보를 조합하여 검증키를 생성하여 검증하는 것을 포함하며,
    - 여기서 상기 검증키는 상기 접속된 사용자 단말의 브라우저 언어, 스크린 색 깊이, 스크린 가로 크기, 스크린 세로 크기, 사용 시스템의 타임 존 오프셋, 브라우저의 로컬 스토리지 지원 유무 및 브라우저 플랫폼 종류에 대한 정보를 모두 포함하도록 조합한 정보값을 Secure Hash Algorithm 인 Sha25 함수로 해시화하여 생성하는 것을 특징으로 함-,
    상기 인증 판단단계에서 상기 성공영역으로 판단된 경우 및 상기 보류영역에서 단말기 검증 단계에 의해 본인 단말기의 확인절차가 완료된 접속 시도에 대하여는 요청된 서비스를 제공하는 것을 포함하는 것을 특징으로 하는 키스트로크 패턴을 이용한 사용자 인증방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 사용자별 키스트로크 공통패턴은,
    인증된 사용자가 상기 웹서버에 접속하여 ID와 패스워드를 입력 시 입력되는 키스트로크 데이터에 대한 로그 정보를 수집할 수 있는 키스트로크 패턴정보 수집모듈 생성단계;
    키스트로크 패턴정보 수집모듈이 상기 인증된 사용자의 id 및 패스워드의 입력에 따라 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 상기 키스트로크 패턴 추출부로 전송하는 단계;
    키스트로크 패턴정보 추출부에서 상기 인증된 사용자의 로그 정보로부터, 키스트로크 패턴 정보를 추출하는 키스트로크 패턴정보 추출단계;
    상기 인증된 사용자의 키스트로크 패턴정보로부터 상기 키스트로크 패턴 특성으로부터 키코드 별로 입력 지속시간에 대한 제1 특성 값과 각 키 코드 간의 입력 간격 시간에 대한 제2 특성 값을 생성하는 키스트로크 패턴 특성 생성단계; 및
    상기 키 코드별로 입력 지속시간을 각각 대비한 제1 특성 대비 값 패턴과 상기 각 키 코드 간의 입력 간격 시간을 각각 비교한 제2 특성 대비값 패턴을 생성한 다음, 이를 여러 번 반복 학습하여 상기 사용자별 키스트로크 공통패턴을 생성하는 것을 특징으로 하는 키스트로크 패턴을 이용한 사용자 인증방법.
  6. 삭제
  7. 삭제
  8. 웹서버 및 사용자 인증서버를 포함하는 사용자 인증장치에 있어서,
    상기 사용자 인증장치는, 사용자 단말에 키보드 입력패턴 추출용 모듈 또는 단말식별용 에이전트을 설치하지 않은 상태에서, 로그인 인증정보를 포함하는 접속정보만을 이용하여 키보드 입력패턴 정보를 추출하여 사용자에 대한 인증을 수행하는 것을 특징으로 하며,
    상기 사용자 인증장치는,
    상기 웹서버는 접속하는 사용자 단말기에 웹페이지를 제공하는 웹페이지부;
    상기 웹페이지의 유저인터페이스(UI) 상의 로그인 화면에 ID 및 패스워드의 입력에 대한 keyup, keydown Event에 따른 timestamp와 keycode, key의 속성값을 포함하는 로그정보를 수집하는 키스트로크 패턴정보 수집모듈를 생성하며, 상기 키스트로크 패턴정보수집모듈로부터 상기 로그정보를 전송받아 키스트로크 패턴 정보를 추출하는 키스트로크 패턴 정보 추출부; 및
    상기 사용자 인증서버에서 사용자 인증 결과에 따라 사용자에게 서비스를 제공하는 서비스 제공부; 를 포함하며,
    상기 사용자 인증서버는 키스트로크 인증부 및 단말검증부를 포함하며,
    상기 키스트로크 인증부는 상기 키스트로크 패턴 정보 추출부에서 추출된 키스트로크 패턴 정보로부터 키스트로크의 특성 값을 추출하는 키스트로크 특성 생성부;
    상기 키스트로크 특성 생성부에서 생성된 사용자별 키스트로크의 특성 값들로부터 공통패턴 값을 생성하여 학습하는 사용자별 키스트로크 공동패턴 학습부;
    상기 키스트로크 특성 생성부에서 생성된 인증을 위한 키스트로크의 특성 값을 상기 사용자별 키스트로크 공동패턴 학습부에서 학습된 공통패턴 값과 대비하여 매칭비율을 산출하는 매칭비율 판단부;
    상기 매칭비율 판단부에서 산출한 매칭비율을 설정된 값과 대비하여 서비스제공을 요구하는 사용자에 대하여 서비스를 제공하는 것에 대한 인증을 판단하며, 추가적으로 상기 단말검증부에서 검증된 단말인지를 판단하여 서비스를 제공하는 것에 대한 인증을 판단하는 사용자인증부; 및
    상기 키스트로크 패턴 정보, 상기 사용자별 키스트로크의 특성값 및 사용자별 공통패턴을 저장하여 관리하는 키스트로크 데이터베이스부; 를 포함하되,
    상기 사용자 인증부는 상기 매칭비율에 따라, 본인인증 성공영역, 본인인증 보류영역 및 본인인증 실패영역으로 구분하고, 상기 본인인증 성공영역에서는 사용자가 요청하는 서비스를 제공하고, 본인인증 실패영역에서는 로그 실패 화면을 제공하며, 본인인증 보류영역에서는 상기 접속된 단말의 상기 사용자 본인의 단말인지를 검증하는 단말기 검증방법을 추가로 실시하되,
    상기 매칭비율은 상기 인증을 요하는 사용자의 키스트로크의 특성 값들을 키스트로크 공통패턴과 대비하여 동일하게 만족하는 개수에 대한 비율이며, 상기 본인인증 성공영역은 상기 매칭비율이 93% 이상인 영역이며, 상기 본인인증 보류영역은 상기 매칭비율이 93% 미만에서 66% 이상인 영역이고, 상기 본인인증 실패영역은 상기 매칭비율이 66% 미만인 영역인 것을 특징으로 하고,
    상기 사용자 본인의 단말인지를 검증하는 단말기 검증방법은, 상기 사용자 인증서버에 포함된 단말검증부가 상기 사용자 단말로부터 브라우저 정보를 수집하고, 상기 단말검증부가 상기 수집된 브라우저 정보를 조합하여 검증키를 생성하여 검증하는 것을 포함하며,
    - 여기서 상기 검증키는 상기 접속된 사용자 단말의 브라우저 언어, 스크린 색 깊이, 스크린 가로 크기, 스크린 세로 크기, 사용 시스템의 타임 존 오프셋, 브라우저의 로컬 스토리지 지원 유무 및 브라우저 플랫폼 종류에 대한 정보를 모두 포함하도록 조합한 정보값을 Secure Hash Algorithm 인 Sha25 함수로 해시화하여 생성하는 것을 특징으로 함-,
    상기 성공영역으로 판단된 경우 및 상기 보류영역에서 단말기 검증 단계에 의해 본인 단말기의 확인절차가 완료된 접속 시도에 대하여는 요청된 서비스를 제공하는 것을 포함하는 것을 특징으로 하는 키스트로크 패턴을 이용한 사용자 인증장치.
KR1020170102861A 2017-08-14 2017-08-14 키스트로크 패턴을 이용한 사용자 인증방법 및 장치 KR101990454B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170102861A KR101990454B1 (ko) 2017-08-14 2017-08-14 키스트로크 패턴을 이용한 사용자 인증방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170102861A KR101990454B1 (ko) 2017-08-14 2017-08-14 키스트로크 패턴을 이용한 사용자 인증방법 및 장치

Publications (2)

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

Family

ID=65584639

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170102861A KR101990454B1 (ko) 2017-08-14 2017-08-14 키스트로크 패턴을 이용한 사용자 인증방법 및 장치

Country Status (1)

Country Link
KR (1) KR101990454B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102315796B1 (ko) 2021-03-19 2021-10-20 세종대학교산학협력단 키스트로크 패턴 생성 장치 및 방법
KR20220021543A (ko) 2020-08-14 2022-02-22 세종대학교산학협력단 비밀번호 및 행동 패턴을 이용한 멀티 팩터 인증 시스템 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021235798A1 (ko) * 2020-05-18 2021-11-25 삼성전자 주식회사 전자 장치 및 전자 장치에서 키보드의 입력을 이용하여 사용자 인증을 수행하는 방법
US11729217B2 (en) * 2021-03-24 2023-08-15 Corelight, Inc. System and method for determining keystrokes in secure shell (SSH) sessions
KR102491687B1 (ko) * 2021-09-02 2023-01-20 김종덕 결제자 행동 기반의 결제 검증 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102504100B1 (ko) * 2021-09-02 2023-02-24 김종덕 Qr 코드를 이용한 통합 결제 시스템 및 이를 위한 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101653805B1 (ko) * 2016-03-10 2016-09-05 인터리젠 주식회사 네트워크를 통한 접속 단말의 식별장치 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100847532B1 (ko) 2006-04-06 2008-07-21 재단법인서울대학교산학협력재단 사용자의 행동 패턴 정보를 이용한 사용자 인증에 사용되는사용자 단말기 및 인증 장치
KR20100005916A (ko) * 2008-07-08 2010-01-18 주식회사 비즈모델라인 사용자 입력 정보를 통한 사용자 인증정보 공유 확인 방법및 시스템과 이를 위한 기록매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101653805B1 (ko) * 2016-03-10 2016-09-05 인터리젠 주식회사 네트워크를 통한 접속 단말의 식별장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220021543A (ko) 2020-08-14 2022-02-22 세종대학교산학협력단 비밀번호 및 행동 패턴을 이용한 멀티 팩터 인증 시스템 및 방법
KR102315796B1 (ko) 2021-03-19 2021-10-20 세종대학교산학협력단 키스트로크 패턴 생성 장치 및 방법

Also Published As

Publication number Publication date
KR20190018202A (ko) 2019-02-22

Similar Documents

Publication Publication Date Title
KR101990454B1 (ko) 키스트로크 패턴을 이용한 사용자 인증방법 및 장치
US7861286B2 (en) System and method for network-based fraud and authentication services
US10063538B2 (en) System for secure login, and method and apparatus for same
KR101960060B1 (ko) 사용자 인증방법 및 장치
US20210084062A1 (en) Method and Apparatus for Network Fraud Detection and Remediation Through Analytics
Preuveneers et al. SmartAuth: dynamic context fingerprinting for continuous user authentication
CN111414599A (zh) 身份验证方法、装置、终端、服务端以及可读存储介质
US20060122939A1 (en) System and method for generating and verifying application licenses
US9660981B2 (en) Strong authentication method
US20220398476A1 (en) Systems, Methods and Apparatus for Evaluating Status of Computing Device User
CN107864112B (zh) 登录安全验证方法和装置
CN110912855A (zh) 一种基于渗透性测试用例集的区块链架构安全评估方法及系统
CN107580002B (zh) 双因子认证安全管理机登录系统及方法
CN112383535A (zh) 哈希传递攻击行为的检测方法、装置和计算机设备
CN108322420B (zh) 后门文件的检测方法和装置
US20190065712A1 (en) Method, computer program, and system to realize and guard over a secure input routine based on their behavior
Plata et al. Application of time-based one time password (TOTP) algorithm for human resource e-leave tracking web app
EP4068125B1 (en) Method of monitoring and protecting access to an online service
Westers et al. SSO-monitor: fully-automatic large-scale landscape, security, and privacy analyses of single sign-on in the wild
JP6842951B2 (ja) 不正アクセス検出装置、プログラム及び方法
CN104009963A (zh) 远程密码的安全认证机制
KR20070109775A (ko) 랜덤하게 맵핑되는 가변 패스워드에 의한 인증 보안 방법
Garg et al. User authentication using keystroke recognition
WO2019159809A1 (ja) アクセス分析システム及びアクセス分析方法
Gunathilake et al. Enhancing the security of online banking systems via keystroke dynamics

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