KR101980483B1 - Pin input method and system based on user behavior recognition using machine learning - Google Patents

Pin input method and system based on user behavior recognition using machine learning Download PDF

Info

Publication number
KR101980483B1
KR101980483B1 KR1020180025582A KR20180025582A KR101980483B1 KR 101980483 B1 KR101980483 B1 KR 101980483B1 KR 1020180025582 A KR1020180025582 A KR 1020180025582A KR 20180025582 A KR20180025582 A KR 20180025582A KR 101980483 B1 KR101980483 B1 KR 101980483B1
Authority
KR
South Korea
Prior art keywords
data
user
password
authentication
input
Prior art date
Application number
KR1020180025582A
Other languages
Korean (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 KR1020180025582A priority Critical patent/KR101980483B1/en
Application granted granted Critical
Publication of KR101980483B1 publication Critical patent/KR101980483B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Abstract

Disclosed are a method and a system for inputting a PIN based on user behavior recognition using machine learning. According to one embodiment of the present invention, a user authentication method comprises the steps of: displaying an authentication screen for user authentication on an electronic device; receiving input information including password data inputted from a user through the authentication screen, time data related to the password data, and position data related to the password data; and performing user authentication through the comparison of the learned learning data based on the input information and input information inputted from the user.

Description

머신러닝을 이용한 사용자 행동 인식 기반의 PIN 입력 방법 및 시스템{PIN INPUT METHOD AND SYSTEM BASED ON USER BEHAVIOR RECOGNITION USING MACHINE LEARNING}Technical Field [0001] The present invention relates to a PIN input method and system based on user behavior recognition using machine learning,

아래의 설명은 전자 기기에서 PIN(Personal Identification Number)을 입력할 때에 보안성을 강화하기 위한 것으로, 사용자가 안전하게 PIN을 입력하는 방법 및 시스템에 관한 것이다.
The following description is for enhancing security when inputting a PIN (Personal Identification Number) in an electronic device, and relates to a method and system for a user to securely input a PIN.

도 1(a)를 참고하면, 랜덤 숫자 키패드를 이용하는 PIN 입력 기법은 사용자가 인증을 위해 PIN 입력을 시도할 때마다, 0부터 9까지 10개의 숫자들이 키패드에 랜덤하게 배치된다. 이에 따라 사용자는 매번 PIN을 입력하려고 숫자 버튼을 터치할 때, 일반적인 숫자 키패드와 다른 위치를 터치해야 한다. 이 기법은 이러한 특징으로 인해 일반적인 숫자 키패드를 이용하여 PIN을 입력하는 기법보다 낮은 사용성을 가지고 있다. 사용자는 매번 같은 PIN을 입력하더라도 매번 다른 위치의 숫자 버튼을 터치하여 PIN을 입력해야 하기 때문이다. 그러나 이러한 특징은 한편으로 일반적인 숫자 키패드 보다 높은 보안성을 가질 수 있게 해주는 특징이기도 하다. 공격자가 스머지 공격을 이용하여 스마트폰 스크린 표면의 묻은 지문의 흔적을 보고 사용자가 어느 위치를 터치하였는지는 알 수 있지만, 랜덤 숫자 키패드이기 때문에 어떠한 번호를 터치하였는지는 정확하게 알 수 없으므로 스머지 공격에는 강한 특징을 가지고 있다. 또한 공격자가 키로깅 공격을 이용하여 사용자가 스마트폰 스크린상의 터치한 위치 데이터를 탈취한다고 하더라도, 랜덤 숫자 키패드이기 때문에 사용자가 터치한 위치에 어떤 번호가 위치해 있었는지는 정확하게 알 수 없으므로 키로깅 공격에도 강한 특징을 가지고 있다. 그러나 숄더 서핑 공격에는 여전히 약한 특징을 가지고 있는데, 사용자가 지하철, 버스, 강의실 등의 공개된 장소에서 결제를 하려고 PIN을 입력할 때, 공격자가 숄더 서핑 공격으로 사용자가 PIN을 입력하는 과정을 본다면, 공격자는 사용자가 터치한 PIN을 그대로 알 수 있기 때문에 숄더 서핑 공격에 약한 특징을 가지고 있다. 그러므로 숄더 서핑 공격에도 강한 PIN 입력 기법이 필요한 상황이다.Referring to FIG. 1 (a), a PIN input method using a random number keypad is arranged such that ten numbers from 0 to 9 are randomly placed on a keypad whenever a user tries to input a PIN for authentication. Accordingly, when the user touches the number button to input the PIN each time, the user must touch a position different from the general numeric keypad. Due to this feature, this technique has lower usability than the PIN input method using a general numeric keypad. This is because the user must input the PIN by touching the number button at the different position every time, even if he inputs the same PIN every time. This feature, however, is also a feature that makes it more secure than a typical numeric keypad. The attacker can use the smudge attack to see the location of the fingerprint on the screen of the smartphone screen. However, since it is a random number keypad, the user can not know exactly which number is touched. have. Even if an attacker uses a keylogging attack to steal a user's touch location data on the screen of a smartphone, since it is a random number keypad, it is not known exactly which number was located at the position the user touched. It has strong characteristics. However, shoulder surfing attacks still have weak features. When a user enters a PIN to make a payment at a public place, such as in a subway, bus, or classroom, if an attacker sees the user entering a PIN with a shoulder surfing attack, The attacker has weak characteristics of the shoulder surfing attack because it can recognize the PIN that the user touched. Therefore, it is necessary to use PIN input method which is strong against shoulder surfing attack.

도 1(b)를 참고하면, 2011년 김진복, 이문규님이 한국정보보호학회 논문지에 게재한 "터치스크린을 이용한 터치 위치기반 사용자 인증" 논문과, 등록번호 10-1054096 "터치스크린을 이용한 안전한 패스워드 입력 방법 및 그 방법을 구현하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 특허"에서는 사용자 인증을 위해 PIN을 입력할 때 터치 위치 데이터를 사용하여 안전성을 높인 PIN 입력 기법을 제안하였다. 터치 위치 데이터는 도 1(b)와 같이 하나의 숫자 버튼을 기준으로 좌측상단의 (0, 0)부터 우측하단의 (X_MAX, Y_MAX)로 표현될 수 있다. 이 기법은 먼저 올바른 사용자가 여러 번 PIN을 입력하여 하나의 숫자 버튼에 대하여 여러 개의 터치 위치 데이터를 저장시킨 후, 그 데이터들의 평균값을 기준으로 정의한다. 그리고 사용자 인증을 위해 PIN을 입력할 때 터치 위치 데이터도 같이 입력으로 받아서, 터치 위치 데이터들이 기준이 되는 터치 위치 데이터의 평균값보다 어느 정도 떨어져 있는지 확인하여, 인증 성공 여부를 판단한다. 그러므로 공격자가 숄더 서핑 공격 등으로 사용자의 PIN을 탈취하여도, 사용자가 PIN을 입력할 때의 터치한 위치 데이터를 모르고 있으면 인증을 할 수 없게 된다. Referring to FIG. 1 (b), a paper entitled " Touch location-based user authentication using a touch screen ", Registered No. 10-1054096, entitled " Input method and a computer readable recording medium patent recording a program embodying the method "proposed a PIN input method in which the touch location data is used to increase the security when a PIN is input for user authentication. The touch position data can be represented by (X_MAX, Y_MAX) from the upper left corner (0, 0) to the lower right corner with respect to one numeric button as shown in FIG. 1 (b). In this technique, a correct user inputs PIN several times to store a plurality of touch position data for one number button, and defines the average of the touch position data as a reference. Also, when the PIN is input for user authentication, the touch position data is inputted as input, and how far the touch position data is separated from the average value of the touch position data as the reference is judged to determine whether or not the authentication is successful. Therefore, even if the attacker seizes the PIN of the user by a shoulder surfing attack or the like, authentication can not be performed unless the user touches the position data when the PIN is input.

머신러닝이란, 인공지능의 한 분야로서 사람이 컴퓨터에 일일이 명시적인 코드로 프로그래밍을 하지 않아도, 컴퓨터가 데이터로부터 학습하여 새로운 지식을 얻어내거나 자동적으로 프로그램을 실행시키는 것을 말한다. 머신러닝은 50년대 이후부터 시작되어 오래되었지만 80∼90년대까지 발전 후 제자리걸음을 하다가 2000년대 들어와서 빅데이터(Big Data)와 결합되었고, 그로 인해 엄청난 발전을 보였다. 머신러닝은 빅데이터로부터 학습에 필요한 많은 데이터를 획득함으로써 딥러닝(Deep Learning)으로 이어졌고, 딥러닝은 컴퓨터공학 분야 내에서 주목할 만한 분야 중 하나로 인식되고 있다. Machine learning is a field of artificial intelligence, in which a computer learns from data and acquires new knowledge or automatically executes a program, even if a person does not have to program the computer with explicit code. Machine running started from the 50s onwards, but it stood still after the 80s and 90s, but it was combined with Big Data in the 2000s, and it has made tremendous progress. Machine learning leads to deep learning by acquiring a lot of data for learning from big data, and deep learning is recognized as one of the remarkable fields in computer engineering.

이에 따라 사용자가 전자 기기에서 PIN을 입력할 때, PIN뿐만 아니라 PIN을 입력함에 따라 식별된 전자 기기의 스크린을 터치하는 시간 데이터와 위치 데이터를 머신러닝을 이용하여 사용자 인증을 수행하는 기술이 제안될 필요가 있다.
Accordingly, when a user inputs a PIN in an electronic device, a technique of performing user authentication using machine learning by using time data and position data for touching a screen of the identified electronic device by inputting a PIN as well as a PIN is proposed There is a need.

전자 기기에서 사용자가 보다 안전하게 사용자 인증을 수행하는데 목적이 있다. 스머지 공격, 키로깅 공격, 숄더 서핑 공격에 대하여 보다 안전하게 PIN을 입력하는 방법 및 시스템을 제공할 수 있다.
The purpose of the user is to perform user authentication more securely in electronic devices. It is possible to provide a method and system for inputting a PIN more securely against a smudge attack, a key logging attack, and a shoulder surfing attack.

사용자 인증 방법은, 전자 기기에 사용자 인증을 위한 인증 화면을 표시하는 단계; 사용자로부터 상기 인증 화면을 통하여 입력되는 패스워드 데이터, 상기 패스워드 데이터와 관련된 시간 데이터 및 상기 패스워드 데이터와 관련된 위치 데이터를 포함하는 입력 정보를 수신하는 단계; 및 상기 입력 정보와 상기 사용자로부터 입력된 입력 정보에 기반하여 학습된 학습 데이터의 비교를 통하여 사용자 인증을 수행하는 단계를 포함할 수 있다. The user authentication method includes: displaying an authentication screen for user authentication on an electronic device; Receiving input data including password data input from the user through the authentication screen, time data related to the password data, and input data related to the password data; And performing user authentication through comparison of the learned learning data based on the input information and the input information input from the user.

상기 사용자 인증 방법은, 상기 사용자로부터 사용자 인증을 위한 인증 정보를 등록하는 단계를 더 포함하고, 상기 사용자로부터 사용자 인증을 위한 인증 정보를 등록하는 단계는, 상기 사용자로부터 상기 사용자 인증을 위한 패스워드 데이터, 상기 패스워드 데이터가 입력되는 시간 데이터 및 상기 패스워드 데이터가 입력되는 위치 데이터를 인증 정보로 등록하고, 상기 등록된 패스워드 데이터에 기반하여 상기 패스워드가 입력되는 시간 데이터 및 상기 패스워드가 입력되는 위치 데이터에 대한 학습을 수행함에 따라 학습 데이터를 획득하는 단계를 포함할 수 있다. Wherein the step of registering authentication information for authenticating a user from the user further comprises the step of registering authentication information for user authentication from the user, The time data to which the password data is input and the position data to which the password data is input are registered as authentication information, and the time data to which the password is input and the position data to which the password is input And acquiring the learning data by performing the learning process.

상기 사용자로부터 사용자 인증을 위한 인증 정보를 등록하는 단계는, 상기 패스워드 데이터를 데이터베이스에 저장하고, 상기 패스워드 데이터가 입력되는 시간 데이터 및 상기 패스워드 데이터가 입력되는 위치 데이터에 대한 머신러닝 학습을 위하여 TRUE 라벨을 부가하고, 상기 사용자로부터 입력되는 인증 정보 이외의 다른 데이터를 랜덤하게 생성하여 FALSE 라벨을 부가하여 상기 머신러닝 학습을 통하여 모델을 생성하는 단계를 포함할 수 있다. The step of registering authentication information for user authentication from the user may include storing the password data in a database and storing TRUE labels for machine learning on time data inputting the password data and position data inputting the password data, And randomly generating data other than the authentication information input from the user and adding a FALSE label to generate a model through the machine learning learning.

상기 전자 기기에 사용자 인증을 위한 인증 화면을 표시하는 단계는, 상기 전자 기기에 상기 사용자 인증을 위한 키패드를 랜덤으로 배열하고, 상기 랜덤으로 배열된 키패드를 인증 화면에 표시하는 단계를 포함하고, 상기 입력 정보를 수신하는 단계는, 상기 키패드에서 상기 패스워드 데이터에 설정된 패스워드 길이에 기초하여 첫 번째 자리의 패스워드를 입력하는 시간 데이터를 기준으로, 상기 패스워드 데이터의 첫 번째 자리의 패스워드부터 상기 패스워드 데이터의 마지막 자리의 패스워드를 터치할 때까지의 각각의 터치 시간 데이터를 포함하는 시간 데이터와 상기 패스워드 데이터를 터치하는 각각의 x 좌표, y 좌표를 포함하는 위치 데이터를 식별하는 단계를 포함할 수 있다. Wherein the step of displaying an authentication screen for user authentication in the electronic device includes a step of randomly arranging keypads for user authentication on the electronic device and displaying the randomly arranged keypads on the authentication screen, The step of receiving the input information may further include a step of inputting the first digit of the password data based on the time data for inputting the first digit of the password based on the password length set in the password data on the keypad, And identifying the position data including the x-coordinate and the y-coordinate of each touching the password data with the time data including the respective touch time data until touching the password of the seat.

상기 사용자 인증을 수행하는 단계는, 상기 사용자로부터 입력된 패스워드 데이터로부터 획득되는 시간 데이터 및 위치 데이터를 식별함에 따라 상기 사용자로부터 입력된 패스워드 데이터가 기 저장된 패스워드와 일치하는지 여부를 판단하는 단계를 포함할 수 있다. The step of performing the user authentication may include determining whether the password data input from the user matches the pre-stored password upon identifying the time data and the position data obtained from the password data input from the user .

상기 사용자 인증을 수행하는 단계는, 상기 사용자로부터 입력된 패스워드 데이터가 기 저장된 패스워드와 일치함에 따라 상기 사용자로부터 입력된 패스워드 데이터와 관련된 시간 데이터, 위치 데이터를 상기 사용자로부터 입력된 입력 정보에 기반하여 학습된 학습 데이터와 비교하여 0내지 1 사이의 소수값을 인증 결과로서 도출하고, 상기 도출된 인증 결과를 기 설정된 기준에 기초하여 인증 성공 또는 인증 실패로 분류하는 단계를 포함할 수 있다. The step of performing the user authentication may further comprise the steps of generating time data and position data related to the password data input from the user according to the input password information input from the user, Deriving a prime number between 0 and 1 as an authentication result, and classifying the derived authentication result as authentication success or authentication failure based on a predetermined criterion.

사용자 인증을 수행하는 사용자 인증 시스템은, 사용자로부터 사용자 인증을 위한 인증 정보를 등록하는 등록부; 상기 전자 기기에 사용자 인증을 위한 인증 화면을 표시하는 표시부; 상기 사용자로부터 상기 인증 화면을 통하여 입력되는 패스워드 데이터, 상기 패스워드 데이터와 관련된 시간 데이터 및 상기 패스워드 데이터와 관련된 위치 데이터를 포함하는 입력 정보를 수신하는 수신부; 및 상기 입력 정보와 상기 사용자로부터 입력된 입력 정보에 기반하여 학습된 학습 데이터의 비교를 통하여 사용자 인증을 수행하는 수행부를 포함할 수 있다.
A user authentication system for performing user authentication includes a registration unit for registering authentication information for user authentication from a user; A display unit for displaying an authentication screen for user authentication on the electronic device; A receiving unit for receiving input data including password data input from the user through the authentication screen, time data related to the password data, and position data related to the password data; And an execution unit for performing user authentication through comparison of the learned learning data based on the input information and the input information input from the user.

일 실시예에 따른 사용자 인증 시스템은 사용자가 PIN을 입력할 때, PIN, 터치 시간 데이터, 터치 위치 데이터를 이용하여 머신러닝 학습에 기반한 패스워드 인증을 수행함으로써 기존보다 더욱 신뢰성 있는 사용자 검증 및 인증이 가능함은 물론, 기존의 스마트폰, 패드, 도어락 등의 단말기와 인증 서버에 별도의 하드웨어 추가 없이, 소프트웨어 적으로 쉽게 구현이 가능하므로 구현 비용의 절감 하는 효과를 획득 수 있다.The user authentication system according to an exemplary embodiment can perform more reliable user authentication and authentication than the existing one by performing password authentication based on machine learning learning using PIN, touch time data, and touch location data when a user inputs a PIN The present invention can be implemented easily in software without adding additional hardware to terminals and authentication servers such as existing smart phones, pads, door locks, and the like, thereby reducing the implementation cost.

또한, 일 실시예에 따른 사용자 인증 시스템은 기존의 PIN 입력 방식을 간편하게 대체할 수 있고 사용자 설정 및 등록 과정을 간소화할 경우 사용성과 보안성을 동시에 높일 수 있다. 아울러 사용자의 행동을 인식할 수 있도록 스마트 폰 등에 탑재된 센서들과 융합하여 기능을 보강할 경우, 더욱 강력한 보안 성능을 제공할 수 있을 것으로 기대된다. 그로 인해 사용자들은 모바일 상의 금전 거래를 더욱 더 안전하게 사용할 수 있으며, 사용자의 금전을 목적으로 하는 보안 사고를 예방할 수 있다.
In addition, the user authentication system according to an exemplary embodiment can easily replace the existing PIN input method, and can simplify the user setting and the registration process, thereby enhancing the usability and security at the same time. In addition, it is expected that it will provide stronger security performance when it is fused with the sensors mounted on smart phones and the like so as to recognize the user's actions. This makes it possible for users to use mobile transactions more securely and to prevent security incidents that are aimed at users' money.

도 1은 PIN 입력 방법을 설명하기 위한 예이다.
도 2는 일 실시예에 따른 사용자 인증 시스템의 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 사용자 인증 시스템에서 사용자 인증을 수행하기 위한 유저 인터페이스를 나타낸 예이다.
도 4는 일 실시예에 따른 사용자 인증 시스템에서 사용자 등록 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 사용자 인증 시스템에서 사용자 등록 과정에서 의사코드 알고리즘을 기재한 것이다.
도 6은 일 실시예에 따른 사용자 인증 시스템에서 사용자 인증 방법을 설명하기 위한 흐름도이다.
도 7은 일 실시예에 따른 사용자 인증 시스템에서 사용자 인증 과정의 의사코드 알고리즘을 기재한 것이다.
1 is an example for illustrating a PIN input method.
2 is a block diagram illustrating a configuration of a user authentication system according to an embodiment.
3 is an example of a user interface for performing user authentication in a user authentication system according to an embodiment.
4 is a flowchart illustrating a user registration method in a user authentication system according to an exemplary embodiment.
FIG. 5 illustrates a pseudo code algorithm in a user registration process in a user authentication system according to an exemplary embodiment.
6 is a flowchart illustrating a user authentication method in a user authentication system according to an embodiment.
FIG. 7 illustrates a pseudo code algorithm of a user authentication process in a user authentication system according to an embodiment.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

도 2는 일 실시예에 따른 사용자 인증 시스템의 구성을 설명하기 위한 블록도이다.2 is a block diagram illustrating a configuration of a user authentication system according to an embodiment.

사용자 인증 시스템(100)은 등록부(210), 표시부(220), 수신부(230) 및 수행부(240)를 포함할 수 있다.The user authentication system 100 may include a registration unit 210, a display unit 220, a receiving unit 230, and an execution unit 240.

등록부(210)는 사용자로부터 사용자 인증을 위한 인증 정보를 등록할 수 있다. 등록부(210)는 사용자로부터 상기 사용자 인증을 위한 패스워드 데이터, 패스워드 데이터가 입력되는 시간 데이터 및 패스워드 데이터가 입력되는 위치 데이터를 인증 정보로 등록하고, 등록된 패스워드 데이터에 기반하여 패스워드가 입력되는 시간 데이터 및 패스워드가 입력되는 위치 데이터에 대한 학습을 수행함에 따라 학습 데이터를 획득할 수 있다. 등록부(210)는 패스워드 데이터를 데이터베이스에 저장하고, 패스워드가 입력되는 시간 데이터 및 패스워드가 입력되는 위치 데이터에 대한 머신러닝 학습을 위하여 TRUE 라벨을 부가하고, 사용자로부터 입력되는 인증 정보 이외의 다른 데이터를 랜덤하게 생성하여 FALSE 라벨을 부가하여 머신러닝 학습을 통하여 모델을 생성할 수 있다. The registration unit 210 can register authentication information for user authentication from a user. The registration unit 210 registers the password data for user authentication, the time data for inputting the password data, and the position data into which the password data is input as authentication information, and generates time data And acquiring learning data by performing learning on position data into which a password is input. The registering unit 210 stores the password data in the database, adds the TRUE label for the machine learning learning to the time data to which the password is input and the position data to which the password is input, and transmits data other than the authentication information The model can be created by randomly generating and adding the FALSE label to the machine learning learning.

표시부(220)는 전자 기기에 사용자 인증을 위한 인증 화면을 표시할 수 있다. 표시부(220)는 전자 기기에 상기 사용자 인증을 위한 키패드를 랜덤으로 배열하고, 랜덤으로 배열된 키패드를 인증 화면에 표시할 수 있다. The display unit 220 can display an authentication screen for user authentication in the electronic device. The display unit 220 can randomly arrange the keypad for user authentication on the electronic device and display the randomly arranged keypad on the authentication screen.

수신부(230)는 사용자로부터 인증 화면을 통하여 입력되는 패스워드 데이터, 패스워드 데이터와 관련된 시간 데이터 및 패스워드 데이터와 관련된 위치 데이터를 포함하는 입력 정보를 수신할 수 있다. 수신부(230)는 패스워드 데이터에 설정된 패스워드 길이에 기초하여 첫 번째 자리의 패스워드를 입력하는 시간 데이터를 기준으로, 패스워드 데이터의 첫 번째 자리의 패스워드부터 패스워드 데이터의 마지막 자리의 패스워드를 터치할 때까지의 각각의 터치 시간 데이터를 포함하는 시간 데이터와 패스워드 데이터를 터치하는 각각의 x 좌표, y 좌표를 포함하는 위치 데이터를 식별할 수 있다. The receiving unit 230 may receive input data including password data input through the authentication screen from the user, time data related to the password data, and position data related to the password data. The receiving unit 230 receives the password of the first digit of the password data from the password of the first digit of the password data until the password of the last digit of the password data is touched on the basis of the time data for inputting the password of the first digit based on the password length set in the password data It is possible to identify the position data including the respective x-coordinate and y-coordinate touching the time data and the password data including the respective touch time data.

수행부(240)는 입력 정보와 사용자로부터 입력된 입력 정보에 기반하여 학습된 학습 데이터의 비교를 통하여 사용자 인증을 수행할 수 있다. 수행부(240)는 사용자로부터 입력된 패스워드 데이터로부터 획득되는 시간 데이터 및 위치 데이터를 식별함에 따라 사용자로부터 입력된 패스워드 데이터가 기 저장된 패스워드와 일치하는지 여부를 판단할 수 있다. 수행부(240)는 사용자로부터 입력된 패스워드 데이터가 기 저장된 패스워드와 일치함에 따라 사용자로부터 입력된 패스워드 데이터와 관련된 시간 데이터, 위치 데이터를 사용자로부터 입력된 입력 정보에 기반하여 학습된 학습 데이터와 비교하여 0내지 1 사이의 소수값을 인증 결과로서 도출하고, 상기 도출된 인증 결과를 기 설정된 기준에 기초하여 인증 성공 또는 인증 실패로 분류할 수 있다. The execution unit 240 can perform user authentication through comparison of learned learning data based on input information and input information input from a user. The execution unit 240 may determine whether the password data input from the user matches the pre-stored password as the time data and the position data obtained from the password data input from the user are identified. The execution unit 240 compares time data and position data related to the password data input from the user with the learned learning data based on the input information input from the user as the password data input from the user coincides with the previously stored password A prime number between 0 and 1 may be derived as an authentication result, and the derived authentication result may be classified as authentication success or authentication failure based on a predetermined criterion.

도 3은 일 실시예에 따른 사용자 인증 시스템에서 사용자 인증을 수행하기 위한 유저 인터페이스를 나타낸 예이다. 3 is an example of a user interface for performing user authentication in a user authentication system according to an embodiment.

전자 기기(110)에 키패드(300)가 랜덤으로 배열되어 표시될 수 있다. 예를 들면, 키패드는 문자, 숫자, 기호 중 어느 하나 이상 또는 두 개 이상이 결합된 형태로 구성될 수 있다. 도 3에서는 0 내지 9로 구성된 키패드를 예를 들어 설명하기로 한다.The keypad 300 may be randomly arranged and displayed on the electronic device 110. [ For example, the keypad may be configured as a combination of any one or more of letters, numbers, and symbols. In Fig. 3, a keypad composed of 0 to 9 will be described as an example.

전자 기기(110)는 예를 들면, 스마트폰(smart phone), 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 전자 기기(110)는 무선 또는 유선 통신 방식을 이용하여 네트워크를 통하여 서버와 통신할 수 있다. 일례로, 전자 기기(110)에 사용자 인증을 수행하기 위한 어플리케이션이 설치되어 동작될 수 있다. The electronic device 110 may be, for example, a smart phone, a mobile phone, a navigation device, a computer, a notebook, a digital broadcast terminal, a PDA (Personal Digital Assistants), a PMP (Portable Multimedia Player) The electronic device 110 can communicate with a server through a network using a wireless or wired communication method. For example, an application for performing user authentication on the electronic device 110 may be installed and operated.

실시예에서는, 전자 기기(110)에 사용자 인증을 수행함에 있어서, 사용자 식별자로 패스워드 데이터뿐만 아니라 사용자로부터 패스워드 데이터를 입력할 때의 전자 기기(110)의 스크린을 터치하는 시간 데이터 및 패스워드 데이터를 터치하는 위치 데이터를 식별자로 사용할 수 있다. 이러한, 시간 데이터 및 위치 데이터를 머신러닝을 이용하여 올바른 사용자인지 올바르지 않은 사용자인지 사용자를 판단할 수 있다. 여기서, 패스워드 데이터를 입력할 때, 패스워드 데이터에 설정된 패스워드 길이에 기초하여 첫 번째 자리의 패스워드를 입력하는 시간 데이터를 기준으로, 패스워드 데이터의 첫 번째 자리의 패스워드로부터 패스워드 데이터의 마지막 자리의 패스워드 패스워드를 터치할 때까지의 각각의 터치 시간 데이터를 포함하는 시간 데이터와 패스워드 데이터를 터치하는 각각의 x 좌표, y 좌표를 포함하는 위치 데이터를 식별할 수 있다. 다시 말해서, 시간 데이터는 패스워드 데이터를 입력할 때, 패스워드 데이터의 첫 번째 자리를 입력하기 위하여 숫자 버튼을 터치하는 시간을 시작 기준으로 하여 패스워드 데이터의 마지막 자리의 숫자 버튼을 터치할 때까지, 숫자 버튼의 터치와 터치 사이의 시간을 기록한 데이터를 의미한다. 첫 번째 시간 데이터는 기준이기 때문에 항상 0.0초이다. 그리고, 위치 데이터는 패스워드 데이터를 입력하려면 숫자 버튼을 터치해야 하는데, 이때, 각 숫자의 버튼 범위 내에서 사용자가 터치한 위치의 x 좌표, y좌표를 기록한 데이터를 의미한다. In the embodiment, when user authentication is performed on the electronic device 110, not only password data but also time data and password data for touching the screen of the electronic device 110 at the time of inputting password data from the user Can be used as an identifier. Such time data and position data can be used to determine whether a user is correct or not, using machine learning. Here, when the password data is input, the password data of the last digit of the password data from the password of the first digit of the password data is set as the time password based on the time data for inputting the first digit password based on the password length set in the password data It is possible to identify the position data including the x coordinate and the y coordinate of each touching the time data and the password data including the respective touch time data until touching. In other words, when inputting the password data, the time data is inputted by touching the numeric button of the last digit of the password data with the start time as the start time of touching the numeric button to input the first digit of the password data Quot; refers to data in which the time between the touch and touch of the touch panel is recorded. Since the first time data is a reference, it is always 0.0 seconds. In order to input the password data, the position data must touch the number button. In this case, the x coordinate and the y coordinate of the position touched by the user within the range of the button of each number are recorded.

더욱 상세하게는, 키패드에 각각의 패스워드 데이터를 입력하기 위한 유저 인터페이스가 구성될 수 있다. 예를 들면, 0 내지 9의 숫자로 구성된 키패드에 사용자의 터치를 감지하기 위한 0 내지 9에 대응하는 10개의 유저 인터페이스로 구성될 수 있으며, 각각의 유저 인터페이스의 크기는 동일 또는 비동일할 수 있다. 사용자 인증 시스템은 이와 같이 키패드에 구성된 10개의 유저 인터페이스에 대응하는 숫자 중 일부가 입력됨에 따라 숫자가 터치된 위치 데이터를 식별할 수 있다. 이때, 사용자는 키패드의 유저 인터페이스를 입력함에 있어서, 패스워드 데이터에 대응하는 유저 인터페이스의 크기 내에서 입력될 수 있다.More specifically, a user interface for inputting each password data to the keypad can be configured. For example, the user interface may be composed of ten user interfaces corresponding to 0 through 9 for sensing a user's touch on a keypad composed of numerals 0 through 9, and the sizes of the respective user interfaces may be the same or non-identical . The user authentication system can identify the position data in which the number is touched by inputting a part of the numbers corresponding to the ten user interfaces configured on the keypad. At this time, in inputting the user interface of the keypad, the user can be input within the size of the user interface corresponding to the password data.

사용자로부터 입력된 입력 정보에 기반하여 사용자를 인증하기 위하여 머신러닝을 수행할 수 있다. 머신러닝은 예를 들면, 로지스틱 리그레션(Logistic Regression), 시그모이드 함수(Sigmoid Function), 렐루(ReLU) 등의 이론을 사용하여 사용자 데이터를 기반으로 모델을 생성한 후, 생성된 모델을 이용하여 올바른 사용자와 올바르지 않은 사용자를 분류할 수 있다. 이때, 모델을 생성하기 위해서는 사용자의 데이터(예를 들면, 패스워드 데이터, 패스워드 데이터와 관련된 시간 데이터, 패스워드 데이터와 관련된 위치 데이터 등)가 필요하다. Machine learning may be performed to authenticate a user based on input information input from a user. Machine learning is based on user data, for example, using theories such as Logistic Regression, Sigmoid Function, and ReLU, and then using the generated model To classify the right user and the wrong user. At this time, in order to create the model, user's data (for example, password data, time data related to password data, position data related to password data, etc.) are required.

이러한 랜덤으로 표시되는 키패드에서 '05461467'인 PIN을 입력하는 동작을 설명하기로 한다. 사용자가 패스워드 데이터를 입력하기 위하여 숫자 버튼을 터치하면, 자동으로 시간 데이터와 위치 데이터가 기록될 수 있다. 또한, 스머지 공격, 키로깅 공격에 강한 특징을 갖기 위하여 일반 숫자 키패드보다 보안성이 더 높은 랜덤 숫자 키패드를 사용할 수 있다. 이때, 키패드의 랜덤한 숫자 배치는 사용자 의존성을 가지고 있어 사용자마다 숫자 키가 다르게 배치될 수 있다. 예를 들면, 키패드는 사용자로부터 하나의 숫자 키를 누를 때마다 숫자 키가 랜덤으로 변경될 수 있고, 패스워드 데이터가 모두 입력된 후, 인증 과정을 수행함에 따라 숫자 키가 랜덤으로 변경될 수 있다. 도 3을 참고하면, 사용자가 '05461467'을 입력하였을 때 기록된 터치 시간 데이터와 터치된 위치 데이터의 예이다. 예를 들면, 0이 입력되었을 때의 시간 데이터(예를 들면, 0.0s), 0이 입력된 위치 데이터(x:0.5, y:3.2)가 식별될 수 있다. The operation of inputting the PIN '05461467' in the randomly displayed keypad will be described. When the user touches a number button to input password data, time data and position data can be automatically recorded. In addition, a more secure random numeric keypad can be used to provide a strong feature for smudge and keylogging attacks. At this time, the random number arrangement of the keypad has user dependency, so that the number keys may be arranged differently for each user. For example, the keypad may be changed randomly each time a single numeric key is pressed from the user. After the password data is completely input, the numeric key may be changed randomly as the authentication process is performed. Referring to FIG. 3, it is an example of the touch time data and the touched position data recorded when the user inputs '05461467'. For example, time data (for example, 0.0s) when 0 is input and position data (x: 0.5, y: 3.2) where 0 is input can be identified.

사용자 인증 시스템은 인증을 위하여 입력 정보를 수집하는 등록 과정 및 사용자의 인증을 수행하는 인증 과정을 수행할 수 있다. 도 4를 참고하면, 일 실시예에 따른 사용자 인증 시스템에서 사용자 등록 방법을 설명하기 위한 흐름도이다. 사용자로부터 전자 기기의 인증 화면을 통하여 패스워드 데이터, 패스워드 데이터가 입력되는 시간 데이터 및 패스워드 데이터가 입력되는 위치 데이터가 서버로 전송될 수 있다. 먼저, 사용자는 사전 훈련이 필요하다. 예를 들면, 사용자는 패스워드 데이터를 설정한 후, 패스워드 데이터를 복수 번 반복하여 입력할 수 있다. 이때, 기 설정된 기준의 일정하게 터치되는 시간 데이터 및 위치 데이터에 대한 패턴을 획득하기 위하여 매번 최대한 비슷하게 터치되는 시간 데이터 및 위치 데이터의 패턴을 유지해야 한다. 이를 위하여, 사용자가 패스워드 데이터를 입력하기 위하여 전자 기기의 스크린에 표시된 키패드를 터치할 때, 사용자만이 터치되는 시간 데이터 및 위치 데이터에 대한 패턴을 인지하고 있어야 한다. 사용자가 어느 정도 패스워드 데이터를 입력하는 것이 익숙해짐에 따라 다시 복수 번 패스워드 데이터를 입력할 수 있다. 이와 같이, 사용자로부터 복수 번 패스워드 데이터가 입력됨으로써 머신러닝을 통하여 사용자로부터 입력된 패스워드 데이터와 관련된 입력 정보를 학습할 수 있다. 전자 기기는 사용자로부터 복수 번 입력된 패스워드 데이터, 패스워드 데이터와 관련된 시간 데이터 및 패스워드 데이터와 관련된 위치 데이터를 인증 서버에게 전송하고, 인증 서버는 사용자로부터 전송받은 데이터 중 패스워드 데이터를 데이터베이스에 저장할 수 있다. 이때, 패스워드 데이터를 입력한 시간 데이터 및 패스워드 데이터를 입력한 위치 데이터에 머신러닝 학습을 위하여 패스워드 데이터를 입력한 시간 데이터 및 패스워드 데이터를 입력한 위치 데이터에 TRUE 라벨을 부가할 수 있다. TRUE 라벨을 부가하는 데이터는 올바른 사용자의 데이터임을 의미한다. 그리고, 사용자로부터 입력된 입력 정보 이외의 다른 데이터를 랜덤하게 생성하여 FALSE 라벨을 부가할 수 있다. FALSE 라벨이 부가된 데이터는 올바르지 않은 사용자의 데이터임을 의미한다. TRUE 라벨이 부가된 데이터에 기반하여 머신러닝 학습을 수행할 수 있고, 머신러닝 학습이 수행된 학습 데이터에 대한 모델을 생성할 수 있다. 예를 들면, TRUE 라벨이 부가된 데이터에 기반하여 추후에 사용자로부터 입력된 입력 정보를 비교하기 위한 기준값이 도출될 수 있다. TRUE 라벨이 부가된 데이터에 기반하여 올바른 사용자로 인증하기 위한 범위가 설정될 수 있으며, 이러한 범위에 기초하여 인증 성공 여부를 판단할 수 있다. 이와 같은 과정을 수행함에 따라 사용자 등록 과정이 완료될 수 있다. 도 5를 참고하면, 사용자 등록 과정에서 의사코드 알고리즘을 기재한 것이다. 여기서 T(Time)는 시간 데이터, L(Location)은 위치 데이터를 의미한다. The user authentication system may perform a registration process for collecting input information for authentication and an authentication process for performing authentication of a user. 4 is a flowchart illustrating a method of registering a user in a user authentication system according to an exemplary embodiment of the present invention. The password data, the time data for inputting the password data, and the position data for inputting the password data can be transmitted from the user to the server through the authentication screen of the electronic device. First, the user needs pre-training. For example, after setting the password data, the user can repeatedly input the password data a plurality of times. At this time, it is necessary to maintain a pattern of time data and position data which are touched to be as close as possible every time in order to acquire a pattern of time data and position data which are constantly touched with a predetermined reference. To this end, when the user touches the keypad displayed on the screen of the electronic device for inputting the password data, only the user must recognize the pattern of the time data and the position data to be touched. As the user is accustomed to input the password data to some extent, it is possible to input the password data again a plurality of times. In this manner, by inputting the password data a plurality of times from the user, it is possible to learn the input information related to the password data input from the user through machine learning. The electronic device transmits the password data inputted from the user plural times, the time data related to the password data, and the position data related to the password data to the authentication server, and the authentication server can store the password data among the data transmitted from the user in the database. At this time, it is possible to add a TRUE label to the position data to which the time data and the password data are inputted, and the time data to which the password data is input for the machine learning learning and the position data to which the password data is inputted. TRUE The data that adds the label is the correct user's data. Then, data other than the input information input from the user can be randomly generated and a FALSE label can be added. FALSE Labeled data means that the data is incorrect. The machine learning learning can be performed based on the data with the TRUE label added thereto, and a model for the learning data on which the machine learning learning is performed can be generated. For example, a reference value for comparing the input information input from the user at a later time based on the data added with the TRUE label can be derived. A range for authenticating as a correct user can be set based on the data with the TRUE label added thereto, and it is possible to determine whether or not the authentication is successful based on the range. The user registration process can be completed by performing such a process. Referring to FIG. 5, a pseudo code algorithm is described in a user registration process. Here, T (Time) denotes time data, and L (Location) denotes position data.

도 6를 참고하면, 사용자 인증 방법을 설명하기 위한 흐름도이다. 사용자 등록 과정이 완료됨에 따라 사용자는 인증을 시도할 수 있다. 사용자는 인증을 수행하기 위하여 전자 기기의 인증 화면에 랜덤으로 표시된 키패드에 입력 정보를 입력할 수 있다. 예를 들면, 사용자는 인증 화면에 표시된 키패드에 기반하여 패스워드 데이터를 입력할 수 있다. 이때, 사용자는 패스워드 데이터를 입력함에 있어서, 평상적으로 패스워드 데이터를 입력할 때와 비슷하게 터치되는 시간 데이터, 터치되는 위치 데이터의 패턴을 인지하면서 입력을 진행할 수 있다. 사용자로부터 입력 정보의 입력이 완료됨에 따라 사용자로부터 입력된 패스워드 데이터, 패스워드 데이터가 입력된 시간 데이터 및 패스워드 데이터가 입력된 위치 데이터를 서버로 전송할 수 있다. 이때, 인증 방법에 따라 사용자가 인증 화면에 패스워드 데이터를 각각 터치함으로써 입력 정보를 입력할 수 있고, 패스워드 데이터를 연속적으로 각각 연결함으로써 입력 정보를 입력할 수 있다. 서버는 사용자로부터 전송받은 입력 정보에 포함된 패스워드 데이터가 데이터베이스에 저장되어 있는 패스워드가 일치하는지 여부를 비교할 수 있다. 만약, 입력 정보에 포함된 패스워드 데이터가 데이터베이스에 저장되어 있는 패스워드와 일치할 경우, 패스워드 데이터가 입력된 시간 데이터 및 위치 데이터를 기 생성된 모델(인증 과정에서 생성된 모델)과 비교할 수 있다. 구체적으로, 사용자로부터 입력된 패스워드 데이터와 관련된 시간 데이터, 위치 데이터를 사용자로부터 입력된 입력 정보에 기반하여 학습된 학습 데이터에 대한 모델과 비교하여 0내지 1 사이의 소수값을 인증 결과로서 도출하고, 도출된 인증 결과를 기 설정된 기준에 기초하여 인증 성공 또는 인증 실패로 분류할 수 있다. 이때, 모델은 사용자로부터 입력된 입력 정보가 TRUE에 근접한 것인지 FALSE에 근접한 것인지 계산한 후 인증 결과로서 0과 1 사이의 소수값을 서버로 반환할 수 있다. 서버는 0과 1사이에서 인증 성공과 인증 실패를 나누는 기준값(인증 성공 기준)을 설정한 후, 모델로부터 반환된 인증 결과를 기준 값에 적용함에 따라 인증 성공 여부를 전자 기기에게 통보할 수 있다. 예를 들면, 서버에서 인증 성공 기준이 0.9이고, 인증 결과가 0.6일 경우 인증 실패로 판단할 수 있고, 인증 결과가 0.95일 경우 인증 성공이 된다. 도 7을 참고하면, 사용자 인증 과정의 의사코드 알고리즘을 기재한 것이다. 여기서, T(Time)은 패스워드 데이터가 입력된 시간 데이터이고, L(Location)은 패스워드 데이터가 입력된 위치 데이터를 의미한다. 그리고 도 7의 PIN은 데이터베이스에 저장되어 있는 사용자의 패스워드를 의미하고,

Figure 112018021796244-pat00001
는 0과 1사이의 소수값으로서 서버에서 설정한 인증 성공 기준을 의미할 수 있다. Referring to FIG. 6, a flowchart for explaining a user authentication method is shown. As the user registration process is completed, the user can try authentication. The user can input the input information to the keypad randomly displayed on the authentication screen of the electronic device to perform the authentication. For example, the user can input password data based on the keypad displayed on the authentication screen. At this time, in inputting the password data, the user can proceed to input while recognizing the pattern of the touch data and the touch data similarly to the case of inputting the password data in a normal manner. As the input of the input information from the user is completed, the password data inputted from the user, the time data inputted the password data, and the position data inputted the password data can be transmitted to the server. At this time, according to the authentication method, the user can input the input information by touching the password data on the authentication screen, respectively, and can input the input information by connecting the password data successively. The server can compare whether the password data included in the input information received from the user matches the password stored in the database. If the password data included in the input information coincides with the password stored in the database, the time data and the position data input with the password data can be compared with the generated model (the model generated in the authentication process). Specifically, time data and position data related to password data input from a user are compared with a model for learned learning data based on input information input from a user to derive a decimal value between 0 and 1 as an authentication result, And can classify the derived authentication result as authentication success or authentication failure based on predetermined criteria. At this time, the model can calculate whether input information input from the user is close to TRUE or close to FALSE, and then return a decimal value between 0 and 1 to the server as an authentication result. The server sets a reference value (authentication success criterion) for dividing the authentication success and the authentication failure between 0 and 1, and then notifies the electronic device of the authentication success by applying the authentication result returned from the model to the reference value. For example, if the authentication success rate of the server is 0.9, and the authentication result is 0.6, the authentication failure can be determined. If the authentication result is 0.95, the authentication succeeds. Referring to FIG. 7, the pseudo code algorithm of the user authentication process is described. Here, T (Time) is the time data in which the password data is input, and L (Location) is the position data in which the password data is input. The PIN in FIG. 7 indicates the password of the user stored in the database,
Figure 112018021796244-pat00001
Is a prime number between 0 and 1, which can refer to the authentication success criteria established by the server.

일 실시예에 따른 사용자 인증 시스템은 사용자가 PIN을 입력할 때, 공격자로부터 스머지 공격에 대하여 안전하게 PIN 입력 가능하다. 공격자가 일반적인 숫자 키패드를 사용하는 사용자를 스머지 공격으로 공격한다면, 전자 기기(예를 들면, 스마트폰) 스크린 표면의 묻은 지문의 흔적으로부터 사용자의 PIN을 알아낼 수 있다. 그러나 본 발명은 일단 사용자 마다 다른 랜덤 숫자 키패드를 사용하고 있기 때문에, 공격자가 스머지 공격을 이용하여 사용자가 어느 숫자 키를 터치했는지 알기 어렵고, 뿐만 아니라 스머지 공격으로는 터치 시간 데이터까지 알아낼 수 없으므로 일반적으로 사용되는 숫자 키패드보다 스머지 공격에 강하다.The user authentication system according to an exemplary embodiment can securely input a PIN against an attack of a smudge from an attacker when a user inputs a PIN. If an attacker attacks a user using a conventional numeric keypad with a smudge attack, the user's PIN can be determined from the imprint of the imprinted fingerprint on the electronic device (e.g., smartphone) screen surface. However, since the present invention uses a random number keypad different from user to user, it is difficult for the attacker to know which number key the user has touched by using the smudge attack, and also the touch time data can not be obtained by the smudge attack. It is more resistant to smear attacks than the numeric keypad used.

또한, 일 실시예에 따른 사용자 인증 시스템은 사용자가 PIN을 입력할 때, 공격자로부터 키로깅 공격에 대하여 안전하게 PIN 입력 가능하다. 공격자는 사용자가 PIN을 입력하기 위해 전자 기기(예를 들면, 스마트폰)을 터치할 때에 키로깅 공격으로 터치 위치 데이터를 탈취할 수 있다. 그러나 본 발명은 일단 사용자 마다 다른 랜덤 숫자 키패드를 사용하고 있기 때문에, 탈취당한 터치 위치 데이터에 어떤 번호가 위치해 있었는지 알 수 없으므로 공격자는 사용자의 PIN을 정확히 알아낼 수 없을 것이다. 뿐만 아니라 공격자는 사용자가 PIN을 입력할 때 숫자 버튼을 터치한 시간 데이터를 여전히 모르고 있기 때문에, 공격자는 인증에 성공할 수 없다. 이에 따라, 일반적으로 사용되는 숫자 키패드보다 키로깅 공격에 강하다.In addition, the user authentication system according to an exemplary embodiment can securely input a PIN against a key-logging attack from an attacker when a user inputs a PIN. An attacker can steal the touch location data with a key logging attack when the user touches an electronic device (e.g., a smart phone) to input a PIN. However, since the present invention uses a random number keypad which is different from user to user, it is impossible to know which number is located in the touch location data, and thus the attacker will not be able to know the PIN of the user correctly. In addition, the attacker can not succeed in authentication because the attacker still does not know the time data when the user touches the number button when entering the PIN. As such, it is more resistant to key logging attacks than a commonly used numeric keypad.

또한, 일 실시예에 따른 사용자 인증 시스템은 사용자가 PIN을 입력할 때, 숄더 서핑 공격에 대하여 안전하게 PIN 입력 가능하다. 사용자가 PIN을 입력하려고 할 때, 공격자는 숄더 서핑 공격으로 사용자가 어떤 번호를 터치하였는지 쉽게 알 수 있으며 그로 인해 사용자의 PIN을 알아낼 수 있다. 그러나 공격자가 PIN을 쉽게 알아내더라도, 사용자가 정확히 어떠한 시간 패턴으로 터치를 했는지, 정확히 어느 위치를 터치 했는지 기억하지 못한다면 공격을 성공시키기 어려울 것이다. 그렇기 때문에 본 발명은 숄더 서핑 공격에 강한 특징을 가지고 있다.In addition, the user authentication system according to an exemplary embodiment can securely input a PIN against a shoulder surfing attack when a user inputs a PIN. When a user tries to enter a PIN, the attacker can easily know which number the user has touched with a shoulder surfing attack, and thus find out the user's PIN. However, even if the attacker can easily find the PIN, it will be difficult to succeed if the user does not remember exactly what time pattern he or she touches, and exactly which position he or she touches. Therefore, the present invention is characterized by being resistant to shoulder surfing attacks.

일 실시예에 따른 사용자 인증 시스템은 사용자로 하여금 보다 안전하게 PIN을 입력하게 하는 기법으로서, 다양한 분야에 적용 및 응용을 시킬 수 있다. 특히, 스마트폰에서 금전을 이용하는 모바일 간편결제 서비스 및 모바일 뱅킹 서비스 등 적용될 수 있다. 뿐만 아니라 USIM 잠금 시스템 분야 또는 일반적으로 패스워드를 입력하는 분야 등에서 숫자를 입력할 때 적용될 수 있기 때문에, 보다 널리 사용될 수 있을 것이다.The user authentication system according to an exemplary embodiment of the present invention allows a user to input a PIN more securely, and can be applied and applied to various fields. In particular, mobile payment services and mobile banking services that use money in smartphones can be applied. In addition, it can be used more extensively because it can be applied when inputting numbers in the USIM lock system field or in general password entry fields.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device As shown in FIG. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (7)

사용자 인증 방법에 있어서,
전자 기기에 사용자 인증을 위한 인증 화면을 표시하는 단계;
사용자로부터 상기 인증 화면을 통하여 입력되는 패스워드 데이터, 상기 패스워드 데이터와 관련된 시간 데이터 및 상기 패스워드 데이터와 관련된 위치 데이터를 포함하는 입력 정보를 수신하는 단계; 및
상기 입력 정보와 상기 사용자로부터 입력된 입력 정보에 기반하여 학습된 학습 데이터의 비교를 통하여 사용자 인증을 수행하는 단계
를 포함하고,
상기 사용자로부터 사용자 인증을 위한 인증 정보를 등록하는 단계
를 더 포함하고,
상기 사용자로부터 사용자 인증을 위한 인증 정보를 등록하는 단계는,
상기 사용자로부터 상기 사용자 인증을 위한 패스워드 데이터, 상기 패스워드 데이터가 입력되는 시간 데이터 및 상기 패스워드 데이터가 입력되는 위치 데이터를 인증 정보로 등록하고, 상기 등록된 패스워드 데이터에 기반하여 상기 패스워드가 입력되는 시간 데이터 및 상기 패스워드가 입력되는 위치 데이터에 대한 학습을 수행함에 따라 학습 데이터를 획득하고, 상기 패스워드 데이터를 데이터베이스에 저장하고, 상기 패스워드 데이터가 입력되는 시간 데이터 및 상기 패스워드 데이터가 입력되는 위치 데이터에 대한 머신러닝 학습을 위하여 TRUE 라벨을 부가하고, 상기 사용자로부터 입력되는 인증 정보 이외의 다른 데이터를 랜덤하게 생성하여 FALSE 라벨을 부가하여 상기 머신러닝 학습을 통하여 모델을 생성하는 단계
를 포함하는 사용자 인증 방법.
In the user authentication method,
Displaying an authentication screen for user authentication on the electronic device;
Receiving input data including password data input from the user through the authentication screen, time data related to the password data, and input data related to the password data; And
Performing user authentication through comparison of learned learning data based on the input information and input information input from the user
Lt; / RTI >
Registering authentication information for user authentication from the user
Further comprising:
Wherein the step of registering authentication information for user authentication from the user comprises:
Wherein the password data for the user authentication, the time data for inputting the password data, and the position data for inputting the password data are registered as authentication information from the user, and the time data for inputting the password based on the registered password data And acquiring learning data by performing learning on position data to which the password is input, storing the password data in a database, and generating time data to which the password data is input and a machine Adding TRUE label for learning learning, randomly generating data other than the authentication information input from the user, adding a FALSE label, and generating a model through the machine learning learning
And a user authentication method.
삭제delete 삭제delete 제1항에 있어서,
상기 전자 기기에 사용자 인증을 위한 인증 화면을 표시하는 단계는,
상기 전자 기기에 상기 사용자 인증을 위한 키패드를 랜덤으로 배열하고, 상기 랜덤으로 배열된 키패드를 인증 화면에 표시하는 단계
를 포함하고,
상기 입력 정보를 수신하는 단계는,
상기 키패드에서 상기 패스워드 데이터에 설정된 패스워드 길이에 기초하여 첫 번째 자리의 패스워드를 입력하는 시간 데이터를 기준으로, 상기 패스워드 데이터의 첫 번째 자리의 패스워드부터 상기 패스워드 데이터의 마지막 자리의 패스워드를 터치할 때까지의 각각의 터치 시간 데이터를 포함하는 시간 데이터와 상기 패스워드 데이터를 터치하는 각각의 x 좌표, y 좌표를 포함하는 위치 데이터를 식별하는 단계
를 포함하는 사용자 인증 방법.
The method according to claim 1,
Wherein the step of displaying an authentication screen for user authentication in the electronic device comprises:
Randomly arranging keypads for user authentication on the electronic device and displaying the randomly arranged keypads on an authentication screen
Lt; / RTI >
Wherein the step of receiving the input information comprises:
The password of the first digit of the password data is compared with the password of the last digit of the password data on the basis of the time data for inputting the password of the first digit based on the password length set in the password data on the keypad Identifying the position data including the x-coordinate and the y-coordinate of each touching the password data with the time data including the touch-time data of each touch-
And a user authentication method.
제1항에 있어서,
상기 사용자 인증을 수행하는 단계는,
상기 사용자로부터 입력된 패스워드 데이터로부터 획득되는 시간 데이터 및 위치 데이터를 식별함에 따라 상기 사용자로부터 입력된 패스워드 데이터가 기 저장된 패스워드와 일치하는지 여부를 판단하는 단계
를 포함하는 사용자 인증 방법.
The method according to claim 1,
Wherein the performing the user authentication comprises:
Determining whether the password data input from the user matches the pre-stored password upon identifying the time data and the position data obtained from the password data input from the user
And a user authentication method.
제5항에 있어서,
상기 사용자 인증을 수행하는 단계는,
상기 사용자로부터 입력된 패스워드 데이터가 기 저장된 패스워드와 일치함에 따라 상기 사용자로부터 입력된 패스워드 데이터와 관련된 시간 데이터, 위치 데이터를 상기 사용자로부터 입력된 입력 정보에 기반하여 학습된 학습 데이터와 비교하여 0내지 1 사이의 소수값을 인증 결과로서 도출하고, 상기 도출된 인증 결과를 기 설정된 기준에 기초하여 인증 성공 또는 인증 실패로 분류하는 단계
를 포함하는 사용자 인증 방법.
6. The method of claim 5,
Wherein the performing the user authentication comprises:
The time data and the position data related to the password data input from the user are compared with the learned data based on the input information input from the user, And a step of classifying the derived authentication result as authentication success or authentication failure based on a predetermined criterion
And a user authentication method.
사용자 인증을 수행하는 사용자 인증 시스템에 있어서,
사용자로부터 사용자 인증을 위한 인증 정보를 등록하는 등록부;
전자 기기에 사용자 인증을 위한 인증 화면을 표시하는 표시부;
상기 사용자로부터 상기 인증 화면을 통하여 입력되는 패스워드 데이터, 상기 패스워드 데이터와 관련된 시간 데이터 및 상기 패스워드 데이터와 관련된 위치 데이터를 포함하는 입력 정보를 수신하는 수신부; 및
상기 입력 정보와 상기 사용자로부터 입력된 입력 정보에 기반하여 학습된 학습 데이터의 비교를 통하여 사용자 인증을 수행하는 수행부
를 포함하고,
상기 등록부는,
상기 사용자로부터 상기 사용자 인증을 위한 패스워드 데이터, 상기 패스워드 데이터가 입력되는 시간 데이터 및 상기 패스워드 데이터가 입력되는 위치 데이터를 인증 정보로 등록하고, 상기 등록된 패스워드 데이터에 기반하여 상기 패스워드가 입력되는 시간 데이터 및 상기 패스워드가 입력되는 위치 데이터에 대한 학습을 수행함에 따라 학습 데이터를 획득하고, 상기 패스워드 데이터를 데이터베이스에 저장하고, 상기 패스워드 데이터가 입력되는 시간 데이터 및 상기 패스워드 데이터가 입력되는 위치 데이터에 대한 머신러닝 학습을 위하여 TRUE 라벨을 부가하고, 상기 사용자로부터 입력되는 인증 정보 이외의 다른 데이터를 랜덤하게 생성하여 FALSE 라벨을 부가하여 상기 머신러닝 학습을 통하여 모델을 생성하는
사용자 인증 시스템.
A user authentication system for performing user authentication,
A registration unit for registering authentication information for user authentication from a user;
A display unit for displaying an authentication screen for user authentication on the electronic device;
A receiving unit for receiving input data including password data input from the user through the authentication screen, time data related to the password data, and position data related to the password data; And
An execution unit for performing user authentication through comparison of learned learning data based on the input information and input information input from the user,
Lt; / RTI >
Wherein the registration unit comprises:
Wherein the password data for the user authentication, the time data for inputting the password data, and the position data for inputting the password data are registered as authentication information from the user, and the time data for inputting the password based on the registered password data And acquiring learning data by performing learning on position data to which the password is input, storing the password data in a database, and generating time data to which the password data is input and a machine A TRUE label is added for learning learning, data other than the authentication information input from the user is randomly generated, and a FALSE label is added to generate a model through the machine learning learning
User authentication system.
KR1020180025582A 2018-03-05 2018-03-05 Pin input method and system based on user behavior recognition using machine learning KR101980483B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180025582A KR101980483B1 (en) 2018-03-05 2018-03-05 Pin input method and system based on user behavior recognition using machine learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180025582A KR101980483B1 (en) 2018-03-05 2018-03-05 Pin input method and system based on user behavior recognition using machine learning

Publications (1)

Publication Number Publication Date
KR101980483B1 true KR101980483B1 (en) 2019-05-20

Family

ID=66678573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180025582A KR101980483B1 (en) 2018-03-05 2018-03-05 Pin input method and system based on user behavior recognition using machine learning

Country Status (1)

Country Link
KR (1) KR101980483B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101054096B1 (en) * 2010-06-04 2011-08-04 인하대학교 산학협력단 A method and a computer readable media for secure password input using touchscreen interfaces
KR20150092441A (en) * 2014-02-04 2015-08-13 에스케이텔레콤 주식회사 Method for user Authentication through touch dragging, device therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101054096B1 (en) * 2010-06-04 2011-08-04 인하대학교 산학협력단 A method and a computer readable media for secure password input using touchscreen interfaces
KR20150092441A (en) * 2014-02-04 2015-08-13 에스케이텔레콤 주식회사 Method for user Authentication through touch dragging, device therefor

Similar Documents

Publication Publication Date Title
AU2022202047B2 (en) Remote usage of locally stored biometric authentication data
RU2711351C2 (en) Device and method of password checking
US10764280B2 (en) Method and apparatus for authentication based on fingerprint recognition
Bartłomiejczyk et al. Multifactor authentication protocol in a mobile environment
CN110737881B (en) Fingerprint verification method and device for intelligent equipment
KR20120082772A (en) Apparatus and method for statistical user identification using incremental user behavior
US9202035B1 (en) User authentication based on biometric handwriting aspects of a handwritten code
US20220083639A1 (en) Authentication based on a physical key
CN105721425B (en) information processing method and electronic equipment
US11956229B2 (en) Multi-factor authentication using customizable physical security token
WO2021244531A1 (en) Payment method and apparatus based on facial recognition
CN105830079B (en) Authentication information managing system, authentication information managing equipment, program, recording medium and authentication information managing method
KR101760326B1 (en) Method and apparatus for performing user authorization based on touch input including fingerprint information
JPWO2020261545A1 (en) Authentication system, authentication device, authentication method, and program
CN107808082B (en) Electronic device, data access verification method, and computer-readable storage medium
US11423183B2 (en) Thermal imaging protection
KR101980483B1 (en) Pin input method and system based on user behavior recognition using machine learning
KR20080033224A (en) User terminal and authenticating apparatus for user authentication using user's behavior pattern information and method for authenticating using the same
CN105069332A (en) Fingerprint-based password authentication method and password authentication apparatus
KR101838400B1 (en) User authentication method and apparatus for recognizing pattern information from unstructured layout
KR20180131141A (en) Method for registration fingerprint, method for certification fingerprint, and apparatus for exectuing the method
JP2011118561A (en) Personal identification device and personal identification method
JP5997662B2 (en) Biometric authentication device, biometric authentication method, and entrance / exit management system
KR102653558B1 (en) Method and apparatus for delivering entitlement information
US20240095740A1 (en) Multi-factor authentication using location data

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant