KR102243341B1 - Method for authenticating user using touch pattern - Google Patents

Method for authenticating user using touch pattern Download PDF

Info

Publication number
KR102243341B1
KR102243341B1 KR1020200132314A KR20200132314A KR102243341B1 KR 102243341 B1 KR102243341 B1 KR 102243341B1 KR 1020200132314 A KR1020200132314 A KR 1020200132314A KR 20200132314 A KR20200132314 A KR 20200132314A KR 102243341 B1 KR102243341 B1 KR 102243341B1
Authority
KR
South Korea
Prior art keywords
sensing data
touch pattern
group
touch
similarity
Prior art date
Application number
KR1020200132314A
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 KR1020200132314A priority Critical patent/KR102243341B1/en
Application granted granted Critical
Publication of KR102243341B1 publication Critical patent/KR102243341B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Collating Specific Patterns (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Disclosed is a user authentication method using an input touch pattern. The user authentication method for authenticating a user using a calculated similarity comprises the steps of: receiving sensing data for a touch pattern inputted on a screen of a user terminal; grouping the received plurality of pieces of sensing data; calculating a representative value for each parameter of the sensing data with respect to the plurality of pieces of sensing data included in each of the groups; generating a touch pattern profile for each group using the extracted representative value for each parameter; calculating a similarity between the generated touch pattern profile and a previously stored customer registration pattern profile received from the user terminal in the past; and determining whether to authenticate a service requested by the user terminal based on the calculated similarity.

Description

터치패턴을 이용한 사용자 인증 방법{Method for authenticating user using touch pattern}User authentication method using touch pattern {Method for authenticating user using touch pattern}

본 발명은 터치패턴을 이용한 사용자 인증 방법에 관한 것이다. 구체적으로, 본 발명은 사용자 단말에 입력된 터치패턴에 대한 센싱데이터를 그룹핑하고, 각 그룹의 터치패턴 프로파일과 미리 저장된 고객등록패턴 프로파일 간의 유사도를 산출하여 서비스 인증여부를 결정하는 방법에 관한 것이다.The present invention relates to a user authentication method using a touch pattern. Specifically, the present invention relates to a method of grouping sensing data for a touch pattern input to a user terminal and determining whether to authenticate a service by calculating a similarity between the touch pattern profile of each group and the customer registration pattern profile stored in advance.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information on the present embodiment and does not constitute the prior art.

최근 스마트 디바이스와 네트워크의 발전, 그리고 다양한 네트워크 서비스의 발달로 인하여 종래 대면으로 이루어지던 은행업무를 포함하는 여러 업무들이 온라인/무선을 이용한 비대면 업무처리 형태로 전환되었다. 이때, 비대면 업무 수행을 위해 사용자에 대한 본인인증이 필요한 경우, 사용자 단말을 통해 입력된 인증암호를 미리 등록된 사용자의 인증암호와 비교하는 사용자 인증 방법이 널리 사용되고 있다.Recently, due to the development of smart devices and networks, and the development of various network services, various tasks, including banking, which were conventionally performed face-to-face, have been converted to non-face-to-face business processing using online/wireless. In this case, when user authentication is required to perform non-face-to-face business, a user authentication method in which an authentication password input through a user terminal is compared with an authentication password of a user registered in advance is widely used.

사용자 인증 방법은 다양한 인증수단을 이용하여 수행될 수 있다. 예를 들어, 사용자 인증 방법에는 문자 또는 숫자 기반의 패스워드를 이용하는 방법, 터치패턴을 이용하는 방법, 생체인증수단을 이용하는 방법 등이 있다.The user authentication method can be performed using various authentication means. For example, user authentication methods include a method of using a password based on letters or numbers, a method of using a touch pattern, a method of using a biometric authentication method, and the like.

이 중, 문자 또는 숫자 기반의 패스워드(예를 들어, PIN)를 이용하는 종래의 사용자 인증 방법은 비용이 적게 들고 편리하여 널리 사용되었으나, 항상 패스워드를 암기하고 다녀야 하는 불편함이 있었다. 또한, 사용자의 부주의나 해킹 등으로 인해 패스워드가 노출되는 경우, 타인에 의해 금융 거래가 가능해짐으로써 금융사기의 위험이 증가되는 문제점이 있었다.Among them, the conventional user authentication method using a password (eg, PIN) based on a letter or number has been widely used because it is inexpensive and convenient, but there is an inconvenience of having to memorize the password all the time. In addition, when passwords are exposed due to user carelessness or hacking, financial transactions are possible by others, thereby increasing the risk of financial fraud.

한편, 터치패턴을 이용하는 사용자 인증 방법은, 그래피컬 패스워드(Graphical password)를 이용하므로, 문자 또는 숫자 기반의 패스워드에 비해 기억하기 쉬워 편리하다는 장점이 있다. 다만, 문자 또는 숫자 기반의 패스워드에 비해 경우의 수가 적고, 실제로 사용되는 터치패턴의 종류가 한정적인 한계가 있었다. 또한, 타인의 훔쳐보기(Shoulder surfing)나, 단말기 화면에 남아있는 드래그 자국에 의해 터치패턴의 유추가 가능(Smudge attack)하기에, 보안에 다소 취약하다는 문제가 있었다.On the other hand, the user authentication method using a touch pattern has an advantage that it is easier to remember than a password based on letters or numbers because a graphical password is used. However, the number of cases is smaller than that of a password based on letters or numbers, and there is a limit to the type of touch pattern actually used. In addition, since it is possible to infer a touch pattern (Smudge attack) by another person's skin surfing or drag traces remaining on the terminal screen, there is a problem that it is somewhat vulnerable to security.

따라서, 사용자의 편의성을 유지하며, 패턴인증의 보안성을 강화시킬 수 있는 사용자 인증 방법에 대한 니즈가 존재하였다.Therefore, there is a need for a user authentication method that can maintain user convenience and enhance the security of pattern authentication.

본 발명의 목적은, 사용자에 의해 입력된 터치패턴에서 인접한 두개의 점을 잇는 선을 도출함으로써 상기 터치패턴의 센싱데이터를 그룹핑하고, 그룹핑된 센싱데이터를 기초로 생성된 터치패턴 프로파일과 미리 등록된 고객등록패턴 프로파일 간에 유사도를 산출하여 사용자를 인증하는 방법을 제공하는 것이다.An object of the present invention is to group sensing data of the touch pattern by deriving a line connecting two adjacent points from a touch pattern input by a user, and a touch pattern profile generated based on the grouped sensing data and registered in advance. It provides a method of authenticating a user by calculating the degree of similarity between the customer registration pattern profiles.

또한, 본 발명의 다른 목적은, 사용자에 의해 입력된 터치패턴에서 추출된 센싱데이터를 기준시간단위 또는 미리 설정된 이벤트의 기준개수를 이용하여 그룹핑하고, 그룹핑된 센싱데이터를 기초로 생성된 터치패턴 프로파일과 미리 등록된 고객등록패턴 프로파일 간에 유사도를 산출하여 사용자를 인증하는 방법을 제공하는 것이다.In addition, another object of the present invention is to group sensing data extracted from a touch pattern input by a user using a reference time unit or a reference number of preset events, and a touch pattern profile generated based on the grouped sensing data It is to provide a method of authenticating a user by calculating the similarity between the customer registration pattern profile registered in advance.

또한, 본 발명의 또 다른 목적은, 미리 학습된 딥러닝 모듈을 이용하여 전술한 방법으로 산출된 터치패턴 프로파일과 고객등록패턴 프로파일 간의 유사도를 산출하고, 산출된 유사도를 이용하여 사용자를 인증하는 방법을 제공하는 것이다.In addition, another object of the present invention is a method of calculating the similarity between the touch pattern profile calculated by the above-described method and the customer registration pattern profile using a pre-learned deep learning module, and authenticating a user using the calculated similarity. Is to provide.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention that are not mentioned can be understood by the following description, and will be more clearly understood by examples of the present invention. In addition, it will be easily understood that the objects and advantages of the present invention can be realized by the means shown in the claims and combinations thereof.

본 발명의 실시예에 따른 사용자 인증 방법의 일 측면은, 사용자 단말의 화면 상에 입력된 터치패턴에 대한 센싱데이터를 수신하는 단계, 상기 수신된 복수의 센싱데이터를 그룹핑하는 단계, 상기 그룹핑된 각 그룹에 포함된 복수의 센싱데이터에 대하여, 상기 센싱데이터의 각 파라미터에 대한 대표값을 산출하는 단계, 상기 추출된 각 파라미터에 대한 대표값을 이용하여 각 그룹별로 터치패턴 프로파일을 생성하는 단계, 상기 생성된 터치패턴 프로파일과, 상기 사용자 단말로부터 과거에 수신하여 미리 저장된 고객등록패턴 프로파일 간의 유사도를 산출하는 단계 및 상기 산출된 유사도를 기초로 상기 사용자 단말이 요청한 서비스의 인증여부를 결정하는 단계를 포함한다.An aspect of a user authentication method according to an embodiment of the present invention includes receiving sensing data for a touch pattern input on a screen of a user terminal, grouping the received plurality of sensing data, and each grouped For a plurality of sensing data included in a group, calculating a representative value for each parameter of the sensing data, generating a touch pattern profile for each group using the extracted representative value for each parameter, the Comprising the step of calculating the similarity between the generated touch pattern profile and the previously stored customer registration pattern profile received from the user terminal in the past, and determining whether to authenticate the service requested by the user terminal based on the calculated similarity do.

또한, 상기 터치패턴은, 미리 설정된 복수의 점을 중심으로 각각 설정된 복수의 영역을 지나도록 형성되고, 상기 그룹핑하는 단계는, 상기 터치패턴 내에서 인접한 두개의 점을 잇는 선에서 도출되는 복수의 센싱데이터를 하나의 그룹으로 설정하는 것을 포함할 수 있다.In addition, the touch pattern is formed so as to pass through a plurality of areas respectively set around a plurality of preset points, and the grouping step includes a plurality of sensing derived from a line connecting two adjacent points within the touch pattern. It may include setting the data as a group.

또한, 상기 터치패턴은, 미리 설정된 제1 내지 제3 점을 중심으로 각각 설정된 제1 내지 제3 영역을 지나도록 형성되되, 상기 그룹핑하는 단계는, 상기 제1 점을 중심으로 설정된 상기 제1 영역에 대한 제1 센싱데이터를 제1 시작점으로 하고, 상기 제2 점을 중심으로 설정된 상기 제2 영역에 대한 제2 센싱데이터를 제2 종료점으로 하여, 상기 제1 시작점과 상기 제1 종료점 사이의 센싱데이터를 제1 그룹으로 설정하고, 상기 제2 센싱데이터를 제2 시작점으로 하고, 상기 제3 점을 중심으로 설정된 상기 제3 영역에 대한 제3 센싱데이터를 제2 종료점으로 하여, 상기 제1 시작점과 상기 제2 종료점 사이의 센싱데이터를 제2 그룹으로 설정하는 것을 포함할 수 있다.In addition, the touch pattern is formed so as to pass through the first to third areas respectively set around the first to third points set in advance, and the grouping may include the first area set around the first point Sensing between the first starting point and the first ending point by using the first sensing data of for as a first starting point and the second sensing data for the second area set around the second point as a second ending point Data is set as a first group, the second sensing data is used as a second starting point, and third sensing data for the third area set around the third point as a second ending point, the first starting point And setting sensing data between the and the second end point as a second group.

또한, 상기 센싱데이터는, 미리 설정된 시간단위로 생성되고, 상기 제1 그룹과 상기 제2 그룹에 포함된 센싱데이터의 일부는 서로 중복될 수 있다.In addition, the sensing data may be generated in a preset time unit, and some of the sensing data included in the first group and the second group may overlap with each other.

또한, 상기 터치패턴에서 그룹핑된 그룹의 개수는, 상기 터치패턴이 지나는 상기 영역의 개수보다 작을 수 있다.In addition, the number of groups grouped in the touch pattern may be smaller than the number of regions through which the touch pattern passes.

또한, 상기 인증여부를 결정하는 단계는, 상기 유사도가 미리 설정된 기준치보다 높고, 상기 터치패턴이 미리 설정된 등록패턴과 일치하는 경우, 상기 서비스의 인증을 승인하는 것을 포함할 수 있다.In addition, the step of determining whether to authenticate may include approving the authentication of the service when the similarity is higher than a preset reference value and the touch pattern matches a preset registration pattern.

또한, 상기 터치패턴은, 생성시간 순으로 정렬되는 복수의 센싱데이터를 포함하고, 상기 그룹핑하는 단계는, 미리 설정된 기준시간단위에 포함된 센싱데이터를 이용하여 그룹을 생성하되, 상기 각각의 그룹은, 서로 다른 시작점을 기준으로, 상기 기준시간단위를 이용하여 범위가 설정될 수 있다.In addition, the touch pattern includes a plurality of sensing data arranged in the order of generation time, and the grouping comprises generating a group using sensing data included in a preset reference time unit, wherein each group is , Based on different starting points, a range may be set using the reference time unit.

또한, 상기 터치패턴은, 생성시간 순으로 정렬되는 복수의 센싱데이터를 포함하고, 상기 각각의 센싱데이터는, 미리 정해진 타입의 이벤트로 구분되되, 상기 그룹핑하는 단계는, 미리 정해진 상기 이벤트의 기준개수에 대응되는 센싱데이터를 포함하도록 그룹을 생성하고, 상기 각각의 그룹은, 서로 다른 시작점을 기준으로, 상기 이벤트의 기준개수를 이용하여 범위가 설정될 수 있다.In addition, the touch pattern includes a plurality of sensing data arranged in the order of generation time, and each of the sensing data is divided into events of a predetermined type, and the grouping includes a predetermined reference number of the events. A group is created to include sensing data corresponding to, and each group may have a range set based on a different starting point using the reference number of events.

또한, 상기 이벤트는, 던지기(onfling), 스크롤(onscroll) 및 싱글탭(onsingleTap) 중 어느 하나의 타입으로 구분되고, 각각의 상기 이벤트는, 손가락 터치동작(onDown)에 의해 구분될 수 있다.In addition, the events are classified into any one type of onfling, scrolling, and single tapping, and each of the events can be classified by a finger touch operation (onDown).

또한, 상기 각 파라미터에 대한 대표값을 산출하는 단계는, 동일 그룹 내에서 동일한 타입의 상기 이벤트를 추출하고, 상기 추출된 동일한 타입의 이벤트에 포함된 센싱데이터에 대하여, 각 파라미터에 대한 대표값을 산출하는 것을 포함하고, 상기 각 그룹별로 터치패턴 프로파일을 생성하는 단계에서, 상기 터치패턴 프로파일은, 상기 대표값으로 구성된 각각의 이벤트 타입을 연결하여 생성된 하나의 벡터를 포함할 수 있다.In addition, the step of calculating the representative value for each parameter includes extracting the event of the same type within the same group, and calculating the representative value for each parameter with respect to the sensing data included in the extracted event of the same type. Including calculating, in the step of generating a touch pattern profile for each group, the touch pattern profile may include one vector generated by connecting each event type composed of the representative value.

또한, 상기 센싱데이터의 파라미터는, 터치시간, 터치위치, 터치압력, 터치크기, 자이로센서의 데이터, 또는 가속도센서의 데이터 중 적어도 둘 이상으로 구성되고, 상기 대표값을 산출하는 단계는, 상기 각 파라미터의 평균값, 최대값, 최소값, 표준편차, 중간값, RMS(Root mean square), 또는 RSS(Root Sum of Squeares)를 계산하는 것을 포함할 수 있다.In addition, the parameter of the sensing data is composed of at least two or more of a touch time, a touch position, a touch pressure, a touch size, data of a gyro sensor, or data of an acceleration sensor, and calculating the representative value comprises: It may include calculating an average value, a maximum value, a minimum value, a standard deviation, a median value, a root mean square (RMS), or a root sum of squares (RSS) of a parameter.

또한, 상기 유사도를 산출하는 단계는, 상기 터치패턴에서 도출된 상기 그룹별 터치패턴 프로파일과, 이에 대응되는 미리 저장된 고객등록패턴 프로파일에 대한 그룹별 유사도를 각각 산출하고, 산출된 복수의 유사도에 대한 평균을 산출하는 것을 포함하고, 상기 인증여부를 결정하는 단계는, 상기 산출된 평균이 미리 설정된 기준치보다 높은 경우, 인증이 성공되었음을 판단하고, 상기 산출된 평균이 미리 설정된 기준치보다 작은 경우, 추가적인 인증을 요청하는 것을 포함할 수 있다.In addition, the calculating of the similarity may include calculating the similarity of each group for the group-specific touch pattern profile derived from the touch pattern and the corresponding pre-stored customer registration pattern profile. Including calculating an average, and determining whether or not to authenticate, when the calculated average is higher than a preset reference value, it is determined that authentication has been successful, and when the calculated average is less than a preset reference value, additional authentication May include requesting.

또한, 상기 유사도를 산출하는 단계는, 미리 학습된 딥러닝 모듈을 이용하여 상기 그룹별 유사도를 산출하는 것을 포함하되, 상기 딥러닝 모듈은, 상기 터치패턴 프로파일, 및 상기 고객등록패턴 프로파일을 입력 노드로 하는 입력 레이어와, 상기 유사도를 출력 노드로 하는 출력 레이어와, 상기 입력 레이어와 상기 출력 레이어 사이에 배치되는 하나 이상의 히든 레이어를 포함하고, 상기 입력 노드와 상기 출력 노드 사이의 노드 및 에지의 가중치는 상기 딥러닝 모듈의 학습 과정에 의해 업데이트될 수 있다.In addition, the step of calculating the similarity includes calculating the similarity for each group using a pre-learned deep learning module, wherein the deep learning module includes the touch pattern profile and the customer registration pattern profile as an input node. A weight of nodes and edges between the input node and the output node, including an input layer denoted by, an output layer having the similarity as an output node, and at least one hidden layer disposed between the input layer and the output layer. May be updated by the learning process of the deep learning module.

한편, 본 발명의 실시예에 따른 사용자 인증 방법의 다른 측면은, 상기 사용자 단말의 화면 상에 입력된 터치패턴에 대한 센싱데이터를 수신하는 단계, 상기 수신된 복수의 센싱데이터를 그룹핑하는 단계, 상기 그룹핑된 각 그룹에 포함된 복수의 센싱데이터를 기초로, 각 그룹별로 터치패턴 프로파일을 생성하는 단계, 상기 생성된 터치패턴 프로파일과, 상기 사용자 단말로부터 과거에 수신하여 미리 저장된 고객등록패턴 프로파일 간의 유사도를 산출하는 단계, 및 상기 산출된 유사도를 기초로 상기 사용자 단말이 요청한 서비스의 인증여부를 결정하는 단계를 포함하되, 상기 그룹핑하는 단계는, 상기 터치패턴 내에서 인접한 두개의 점을 잇는 선에서 도출되는 복수의 센싱데이터를 하나의 그룹으로 설정하거나, 미리 설정된 기준시간단위 또는 미리 설정된 이벤트의 기준개수에 대응되는 센싱데이터를 하나의 그룹으로 설정하는 것을 포함한다.On the other hand, another aspect of the user authentication method according to an embodiment of the present invention, the step of receiving sensing data for a touch pattern input on the screen of the user terminal, the step of grouping the received plurality of sensing data, the Generating a touch pattern profile for each group based on a plurality of sensing data included in each grouped group, similarity between the generated touch pattern profile and a customer registration pattern profile previously stored and previously stored from the user terminal And determining whether to authenticate the service requested by the user terminal based on the calculated similarity, wherein the grouping step is derived from a line connecting two adjacent points in the touch pattern. And setting sensing data corresponding to a preset reference time unit or a preset reference number of events as one group.

본 발명의 사용자 인증 방법은, 사용자에 의해 입력된 터치패턴에서 인접한 두개의 점을 잇는 선을 도출함으로써 상기 터치패턴의 센싱데이터를 그룹핑하고, 그룹핑된 센싱데이터를 기초로 생성된 터치패턴 프로파일과 미리 등록된 고객등록패턴 프로파일 간에 유사도를 각각 산출하여 비교함으로써, 기존의 터치패턴의 일치여부만 비교하던 방식에 비해 인증의 보안성을 강화시킬 수 있다. 이와 동시에, 기존의 터치패턴을 이용한 방식과 동일한 입력 인터페이스를 이용하기에, 사용자가 새로운 인증환경에 적응해야 하는 불편을 없앨 수 있다.In the user authentication method of the present invention, sensing data of the touch pattern is grouped by deriving a line connecting two adjacent points from a touch pattern input by a user, and a touch pattern profile generated based on the grouped sensing data By calculating and comparing the degree of similarity between registered customer registration pattern profiles, it is possible to enhance the security of authentication compared to the method of comparing only the matching of the existing touch patterns. At the same time, since the same input interface as the method using the existing touch pattern is used, the inconvenience that the user has to adapt to the new authentication environment can be eliminated.

또한, 본 발명의 사용자 인증 방법은, 사용자에 의해 입력된 터치패턴에서 추출된 센싱데이터를 기준시간단위 또는 미리 설정된 이벤트의 기준개수를 이용하여 그룹핑하고, 그룹핑된 센싱데이터를 기초로 생성된 터치패턴 프로파일과 미리 등록된 고객등록패턴 프로파일 간에 유사도를 각각 산출하여 비교함으로써, 인증의 보안성을 향상시킬 수 있다. 또한, 인증을 위한 별도의 패턴 입력 단계를 생략할 수 있어 사용자의 편의성을 향상시킬 수 있고, 사용자가 평소에 입력하는 터치패턴을 이용하여 유사도를 분석함으로써 인증의 정확도를 높일 수 있다.In addition, in the user authentication method of the present invention, the sensing data extracted from the touch pattern input by the user is grouped using a reference time unit or a reference number of preset events, and a touch pattern generated based on the grouped sensing data By calculating and comparing the degree of similarity between the profile and the previously registered customer registration pattern profile, it is possible to improve the security of authentication. In addition, since a separate pattern input step for authentication can be omitted, user convenience can be improved, and accuracy of authentication can be improved by analyzing the similarity using a touch pattern that the user normally inputs.

또한, 본 발명의 사용자 인증 방법은, 미리 학습된 딥러닝 모듈을 이용하여 전술한 방법으로 산출된 터치패턴 프로파일과 고객등록패턴 프로파일 간의 유사도를 산출하고, 산출된 유사도를 이용하여 사용자를 인증함으로써, 사용자 인증에 대한 정확도와 보안성을 향상시킬 수 있다. In addition, the user authentication method of the present invention calculates the similarity between the touch pattern profile calculated by the above-described method and the customer registration pattern profile using a pre-learned deep learning module, and authenticates the user using the calculated similarity, The accuracy and security of user authentication can be improved.

상술한 내용과 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.In addition to the above-described contents, specific effects of the present invention will be described together while describing specific details for carrying out the present invention.

도 1은 본 발명의 실시예에 따른 사용자 인증 방법을 수행하는 시스템을 설명하기 위한 개념도이다.
도 2는 본 발명의 몇몇 실시예에 따른 사용자 인증 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 사용자 인증 방법을 설명하기 위한 순서도이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 사용자 인증 방법의 예시를 설명하기 위한 도면이다.
도 6은 도 3의 S260 단계에서 유사도를 산출하는 본 발명의 일 예를 설명하기 위한 도면이다.
도 7은 도 3의 S260 단계에서 딥러닝 모듈을 이용하여 유사도를 산출하는 본 발명의 다른 예를 설명하기 위한 도면이다.
도 8은 본 발명의 다른 실시예에 따른 사용자 인증 방법을 설명하기 위한 순서도이다.
도 9는 도 8의 S330 단계에서 기준시간단위를 이용하여 센싱데이터를 그룹핑하는 본 발명의 일 예를 설명하기 위한 도면이다.
도 10 및 도 11은 도 8의 S330 단계에서 제스처 타입을 이용하여 센싱데이터를 그룹핑하는 본 발명의 다른 예를 설명하기 위한 도면이다.
도 12는 도 8의 S350 단계에서 딥러닝 모듈을 이용하여 유사도를 산출하는 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 몇몇 실시예에서 이용되는 딥러닝 모듈의 구성을 도시한 도면이다.
도 14는 본 발명의 몇몇 실시예에 따른 사용자 인증 방법을 수행하는 시스템의 하드웨어 구현을 설명하기 위한 도면이다.
1 is a conceptual diagram illustrating a system for performing a user authentication method according to an embodiment of the present invention.
2 is a flowchart illustrating a user authentication method according to some embodiments of the present invention.
3 is a flowchart illustrating a user authentication method according to an embodiment of the present invention.
4 and 5 are diagrams for explaining an example of a user authentication method according to an embodiment of the present invention.
6 is a diagram illustrating an example of the present invention for calculating a similarity in step S260 of FIG. 3.
FIG. 7 is a diagram illustrating another example of the present invention in which a similarity degree is calculated using a deep learning module in step S260 of FIG. 3.
8 is a flowchart illustrating a user authentication method according to another embodiment of the present invention.
FIG. 9 is a diagram illustrating an example of the present invention in which sensing data is grouped using a reference time unit in step S330 of FIG. 8.
10 and 11 are diagrams for explaining another example of the present invention in which sensing data is grouped using a gesture type in step S330 of FIG. 8.
FIG. 12 is a diagram illustrating a method of calculating a similarity by using a deep learning module in step S350 of FIG. 8.
13 is a diagram showing the configuration of a deep learning module used in some embodiments of the present invention.
14 is a diagram illustrating a hardware implementation of a system that performs a user authentication method according to some embodiments of the present invention.

본 명세서 및 특허청구범위에서 사용된 용어나 단어는 일반적이거나 사전적인 의미로 한정하여 해석되어서는 아니된다. 발명자가 그 자신의 발명을 최선의 방법으로 설명하기 위해 용어나 단어의 개념을 정의할 수 있다는 원칙에 따라, 본 발명의 기술적 사상과 부합하는 의미와 개념으로 해석되어야 한다. 또한, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명이 실현되는 하나의 실시예에 불과하고, 본 발명의 기술적 사상을 전부 대변하는 것이 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 및 응용 가능한 예들이 있을 수 있음을 이해하여야 한다.The terms or words used in this specification and claims are limited to their general or dictionary meanings and should not be interpreted. According to the principle that the inventor can define the concept of terms or words in order to explain his own invention in the best way, it should be interpreted as a meaning and concept consistent with the technical idea of the present invention. In addition, the embodiments described in the present specification and the configurations shown in the drawings are only one embodiment in which the present invention is realized, and do not represent all the technical ideas of the present invention, and thus they can be replaced at the time of application. It is to be understood that there may be various equivalents and variations and examples of application.

본 명세서 및 특허청구범위에서 사용된 제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. '및/또는' 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B used in the specification and claims may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term'and/or' includes a combination of a plurality of related listed items or any of a plurality of related listed items.

본 명세서 및 특허청구범위에서 사용된 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the specification and claims are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" should be understood as not precluding the possibility of existence or addition of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification. .

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해서 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Unless otherwise defined, all terms including technical or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present application. Does not.

또한, 본 발명의 각 실시예에 포함된 각 구성, 과정, 공정 또는 방법 등은 기술적으로 상호 간 모순되지 않는 범위 내에서 공유될 수 있다. In addition, each configuration, process, process, or method included in each embodiment of the present invention may be technically shared within a range that does not contradict each other.

이하에서는, 도 1 내지 도 14를 참조하여 본 발명의 실시예에 따른 사용자 인증 방법 및 이를 수행하는 시스템에 대해 자세히 설명하도록 한다.Hereinafter, a user authentication method according to an embodiment of the present invention and a system for performing the same will be described in detail with reference to FIGS. 1 to 14.

도 1은 본 발명의 실시예에 따른 사용자 인증 방법을 수행하는 시스템을 설명하기 위한 개념도이다.1 is a conceptual diagram illustrating a system for performing a user authentication method according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 시스템은, 인증 서버(100) 및 사용자 단말(200)을 포함한다. Referring to FIG. 1, a system according to an embodiment of the present invention includes an authentication server 100 and a user terminal 200.

인증 서버(100)(이하, 서버)는 사용자 단말(200)을 통해 사용자에게 금융 서비스를 제공하고, 금융 서비스를 제공하기 전에 사용자 단말(200)로부터 수신된 터치패턴을 이용하여 사용자의 신원확인 또는 본인인증을 수행할 수 있다. The authentication server 100 (hereinafter, the server) provides financial services to the user through the user terminal 200, and checks the identity of the user by using the touch pattern received from the user terminal 200 before providing the financial service. User authentication can be performed.

이때, 서버(100)는 입력된 터치패턴을 이용하여 터치패턴 프로파일을 생성하고, 생성된 터치패턴 프로파일과 미리 등록된 터치패턴 프로파일(이하, 고객등록패턴 프로파일) 간에 유사도를 산출하여 사용자의 신원확인 또는 본인인증을 수행할 수 있다.At this time, the server 100 generates a touch pattern profile using the input touch pattern, and calculates the similarity between the generated touch pattern profile and the previously registered touch pattern profile (hereinafter, customer registration pattern profile) to confirm the user's identity. Alternatively, you can perform self-authentication.

다만, 서버(100)에서 수행되는 사용자 인증 방법이 위의 동작에 국한되는 것은 아니며, 다양한 실시예에서 응용되어 수행될 수 있음은 자명하나, 이하에서는 설명의 편의를 위하여 금융거래에서 사용자의 본인인증을 수행하는 것을 예로 들어 설명하도록 한다.However, the user authentication method performed in the server 100 is not limited to the above operation, and it is obvious that it can be applied and performed in various embodiments, but hereinafter, for convenience of explanation, the user's identity authentication in financial transactions It will be described using an example of performing.

서버(100)는 사용자 인증 방법의 수행주체로써 동작할 수 있다. 구체적으로, 서버(100)는 사용자 단말(200)의 화면 상에 입력된 터치패턴에 대한 센싱데이터를 수신할 수 있다. The server 100 may operate as an execution subject of the user authentication method. Specifically, the server 100 may receive sensing data for a touch pattern input on the screen of the user terminal 200.

여기에서, 센싱데이터는 사용자가 사용자 단말(200)을 터치할 때 수집되는 터치 데이터를 나타낸다. 예를 들어, 센싱데이터는 사용자 단말(200)의 터치패널 상에 사용자가 입력한 터치의 시간, 위치, 압력, 크기를 포함한다. 또한 센싱데이터는 사용자가 터치를 입력하는 과정에서 사용자 단말(200)에 구비된 자이로센서(미도시) 또는 가속도센서(미도시)에서 센싱된 데이터를 포함할 수 있다.Here, the sensing data represents touch data collected when the user touches the user terminal 200. For example, the sensing data includes the time, position, pressure, and size of a touch input by the user on the touch panel of the user terminal 200. In addition, the sensing data may include data sensed by a gyro sensor (not shown) or an acceleration sensor (not shown) provided in the user terminal 200 while the user inputs a touch.

이어서, 서버(100)는 수신된 터치패턴의 센싱데이터를 그룹핑 할 수 있다. Subsequently, the server 100 may group sensing data of the received touch pattern.

본 발명의 일 실시예에서, 패턴인증 요구 팝업을 통해 터치패턴을 수신한 경우, 서버(100)는 미리 설정된 영역을 기초로 센싱데이터를 그룹핑 할 수 있다.In an embodiment of the present invention, when a touch pattern is received through a pattern authentication request pop-up, the server 100 may group sensing data based on a preset area.

구체적으로, 서버(100)는 미리 설정된 복수개의 점으로 구성된 패턴인증 요구 팝업을 통해 사용자의 터치패턴을 수신할 수 있다. 이때, 터치패턴은 미리 설정된 복수의 점을 중심으로 각각 설정된 복수의 영역을 지나도록 형성될 수 있다. 서버(100)는 복수의 점 및 복수의 영역에 형성된 터치패턴에 대한 센싱데이터를 도출할 수 있다.Specifically, the server 100 may receive a user's touch pattern through a pattern authentication request pop-up composed of a plurality of preset points. In this case, the touch pattern may be formed so as to pass through a plurality of regions respectively set around a plurality of preset points. The server 100 may derive sensing data for a plurality of points and a touch pattern formed in a plurality of areas.

이어서, 서버(100)는 터치패턴 내 인접한 두개의 점을 잇는 선에서 도출된 복수의 센싱데이터를 하나의 그룹으로 설정할 수 있다. 예를 들어, 제1 점과 제2 점을 잇는 터치패턴의 경우, 서버(100)는 제1 점을 포함하는 제1 영역에서 제2 점을 포함하는 제2 영역 사이에 형성된 선에 대한 센싱데이터를 도출할 수 있다. 이어서, 서버(100)는 도출된 센싱데이터를 하나의 그룹으로 설정할 수 있다.Subsequently, the server 100 may set a plurality of sensing data derived from a line connecting two adjacent points in the touch pattern as one group. For example, in the case of a touch pattern connecting a first point and a second point, the server 100 senses data on a line formed between the first area including the first point and the second area including the second point. Can be derived. Subsequently, the server 100 may set the derived sensing data as one group.

이때, 서버(100)에 의해 설정되는 그룹의 개수는 터치패턴이 지나는 영역의 개수보다 작을 수 있다. 미리 설정된 영역을 이용하여 그룹핑하는 과정은 이하에서 도 3 내지 도 6을 참조하여 자세히 설명하도록 한다.In this case, the number of groups set by the server 100 may be smaller than the number of areas through which the touch pattern passes. A process of grouping using a preset area will be described in detail below with reference to FIGS. 3 to 6.

또한, 본 발명의 다른 실시예에서, 사용자 단말(200)에 설치된 어플리케이션에 발생한 터치패턴에 대한 센싱데이터를 수신한 경우, 서버(100)는 기준시간단위 또는 미리 정해진 타입의 이벤트에 대한 기준개수를 이용하여 센싱데이터를 그룹핑 할 수 있다.In addition, in another embodiment of the present invention, when sensing data for a touch pattern generated in an application installed in the user terminal 200 is received, the server 100 determines a reference number of events in a reference time unit or a predetermined type. Sensing data can be grouped by using.

예를 들어, 기준시간단위가 60초인 경우, 서버(100)는 어플리케이션 내에서 60초 이내에 발생한 모든 터치패턴을 하나의 그룹으로 설정할 수 있다. 이때, 생성된 복수의 그룹은 서로 다른 시작점을 기준으로, 기준시간단위를 이용하여 범위가 설정될 수 있다. 기준시간단위를 이용하여 그룹핑하는 과정은 도 9를 이용하여 후술하도록 한다.For example, when the reference time unit is 60 seconds, the server 100 may set all touch patterns occurring within 60 seconds within the application as one group. In this case, a range of the generated groups may be set using a reference time unit based on different starting points. The process of grouping using the reference time unit will be described later with reference to FIG. 9.

다른 예로, 서버(100)는 미리 정해진 타입의 이벤트에 대한 기준개수를 이용하여 센싱데이터를 그룹핑할 수 있다. 서버(100)는 터치패턴에 대해 수신한 센싱데이터를 미리 정해진 타입의 이벤트로 분류할 수 있다. 여기에서, 이벤트는 터치의 종류를 의미하며, 던지기(onfling), 스크롤(onscroll) 및 싱글탭(onsingletap)의 타입을 포함할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니며, 본 명세서에 기재되지 않은 타입의 이벤트가 다양하게 추가될 수 있음은 물론이다. As another example, the server 100 may group sensing data using a reference number of events of a predetermined type. The server 100 may classify the sensing data received for the touch pattern into a predetermined type of event. Here, the event means a type of touch, and may include types of onfling, onscroll, and single tap (onsingletap). However, the present invention is not limited thereto, and of course, various types of events not described in the present specification may be added.

이어서, 서버(100)는 미리 정해진 이벤트의 기준개수에 대응되는 센싱데이터를 포함하는 그룹을 생성할 수 있다. 이때, 생성된 그룹은 서로 다른 시작점을 기준으로, 이벤트의 기준개수를 이용하여 범위가 설정될 수 있다. 이벤트를 이용하여 그룹핑하는 과정은 도 10 및 도 11을 이용하여 후술하도록 한다.Subsequently, the server 100 may generate a group including sensing data corresponding to the reference number of predetermined events. In this case, a range of the generated group may be set based on different starting points, using a reference number of events. The process of grouping using events will be described later with reference to FIGS. 10 and 11.

이어서, 서버(100)는 전술한 각각의 방법을 통해 그룹핑된 각 그룹에 포함된 복수의 센싱데이터에 대해 센싱데이터의 파라미터별 대표값을 산출하고, 산출된 대표값을 이용하여 각 그룹별로 터치패턴 프로파일을 생성할 수 있다.Subsequently, the server 100 calculates a representative value for each parameter of the sensing data for a plurality of sensing data included in each group grouped through each of the above-described methods, and uses the calculated representative value to calculate a touch pattern for each group. You can create a profile.

이어서, 서버(100)는 생성된 터치패턴 프로파일과 사용자 단말(200)로부터 미리 수신하여 저장된 고객등록패턴 프로파일 간의 유사도를 산출할 수 있다.Subsequently, the server 100 may calculate a similarity between the generated touch pattern profile and the customer registration pattern profile previously received and stored from the user terminal 200.

예를 들어, 서버(100)는 그룹별 터치패턴 프로파일과 이에 대응되는 고객등록패턴 프로파일에 대한 그룹별 유사도를 산출할 수 있다. 이때, 유사도를 산출하는 알고리즘은 다양하게 변형되어 이용될 수 있으며, 해당 알고리즘에 대한 자세한 설명은 통상의 기술자에게 널리 알려져 있는 바, 이에 대한 자세한 설명은 여기에서 생략하도록 한다. 이어서, 서버(100)는 산출된 그룹별 유사도에 대한 평균 유사도를 산출할 수 있다.For example, the server 100 may calculate a group-by-group similarity to a touch pattern profile for each group and a customer registration pattern profile corresponding thereto. In this case, the algorithm for calculating the similarity may be variously modified and used, and a detailed description of the algorithm is widely known to those of ordinary skill in the art, and a detailed description thereof will be omitted herein. Subsequently, the server 100 may calculate an average similarity for the calculated similarity for each group.

다른 예로, 서버(100)는 미리 학습된 딥러닝 모듈을 이용하여 유사도를 산출할 수 있다. 이때, 미리 학습된 딥러닝 모듈은 터치패턴 프로파일과 고객등록패턴 프로파일을 입력 받고, 유사도를 출력할 수 있다. As another example, the server 100 may calculate the similarity by using a deep learning module that has been learned in advance. In this case, the pre-learned deep learning module may receive a touch pattern profile and a customer registration pattern profile, and output a similarity.

이어서, 서버(100)는 산출된 유사도를 기초로 서비스의 인증여부를 결정할 수 있다.Subsequently, the server 100 may determine whether to authenticate the service based on the calculated similarity.

본 발명에서 서버(100)와 사용자 단말(200)은 서버-클라이언트 시스템으로 구현될 수 있다. 구체적으로, 서버(100)는 각 사용자 계정에 대해 터치패턴 및 미리 생성한 고객등록패턴 프로파일을 분류하여 저장 및 관리할 수 있고, 금융서비스 및 금융정보 제공 등과 관련된 다양한 서비스를 사용자 단말(200)에 설치된 단말 어플리케이션을 통해 제공할 수 있다.In the present invention, the server 100 and the user terminal 200 may be implemented as a server-client system. Specifically, the server 100 may classify, store, and manage a touch pattern and a pre-generated customer registration pattern profile for each user account, and provide various services related to financial services and financial information provision to the user terminal 200. It can be provided through the installed terminal application.

이때, 단말 어플리케이션은 터치패턴을 수신하기 위한 전용 어플리케이션이거나, 웹 브라우징 어플리케이션일 수 있다. 여기에서, 전용 어플리케이션은 사용자 단말(200)에 내장된 어플리케이션이거나, 어플리케이션 배포 서버로부터 다운로드 되어 사용자 단말(200)에 설치된 어플리케이션일 수 있다.In this case, the terminal application may be a dedicated application for receiving a touch pattern or a web browsing application. Here, the dedicated application may be an application embedded in the user terminal 200 or an application downloaded from an application distribution server and installed in the user terminal 200.

사용자 단말(200)은 유무선 통신 환경에서 어플리케이션을 동작시킬 수 있는 통신 단말을 의미한다. 도 1에서 사용자 단말(200)은 휴대용 단말의 일종인 스마트폰(smart phone)으로 도시되었지만, 본 발명이 이에 한정되는 것은 아니며, 상술한 바와 같이 금융 어플리케이션을 동작시킬 수 있는 장치에 제한없이 적용될 수 있다. 예를 들어, 사용자 단말(200)은 퍼스널 컴퓨터(PC), 노트북, 태블릿, 휴대폰, 스마트폰, 웨어러블 디바이스(예를 들어, 워치형 단말) 등의 다양한 형태의 전자 장치를 포함할 수 있다.The user terminal 200 refers to a communication terminal capable of operating an application in a wired or wireless communication environment. In FIG. 1, the user terminal 200 is shown as a smart phone, which is a kind of portable terminal, but the present invention is not limited thereto, and may be applied without limitation to a device capable of operating a financial application as described above. have. For example, the user terminal 200 may include various types of electronic devices such as a personal computer (PC), a notebook computer, a tablet, a mobile phone, a smart phone, and a wearable device (eg, a watch-type terminal).

또한, 도면 상에는 하나의 사용자 단말(200)만을 도시하였으나, 본 발명이 이에 한정되는 것은 아니며, 서버(100)는 복수의 사용자 단말(200)과 연동하여 동작할 수 있다.In addition, although only one user terminal 200 is shown in the drawings, the present invention is not limited thereto, and the server 100 may operate in conjunction with a plurality of user terminals 200.

부가적으로, 사용자 단말(200)은 사용자의 입력을 수신하는 입력부, 비주얼 정보를 디스플레이 하는 디스플레이부, 외부와 신호를 송수신하는 통신부, 사용자의 얼굴을 촬영하는 카메라부, 사용자의 음성을 디지털 데이터로 변환하는 마이크부, 및 데이터를 프로세싱하고 사용자 단말(200) 내부의 각 유닛들을 제어하며 유닛들 간의 데이터 송/수신을 제어하는 제어부를 포함할 수 있다. 이하, 사용자의 명령에 따라 제어부가 사용자 단말(200) 내부에서 수행하는 명령은 사용자 단말(200)이 수행하는 것으로 통칭한다.Additionally, the user terminal 200 includes an input unit for receiving a user's input, a display unit for displaying visual information, a communication unit for transmitting and receiving signals to and from the outside, a camera unit for photographing a user's face, and the user's voice as digital data. It may include a microphone unit that converts, and a control unit that processes data, controls each unit inside the user terminal 200, and controls data transmission/reception between the units. Hereinafter, commands executed by the control unit inside the user terminal 200 according to a user's command are collectively referred to as being executed by the user terminal 200.

한편, 통신망(300)은 서버(100) 및 사용자 단말(200)을 연결하는 역할을 수행한다. 즉, 통신망(300)은 사용자 단말(200)이 서버(100)에 접속한 후 데이터를 송수신할 수 있도록 접속 경로를 제공하는 통신망을 의미한다. 통신망(300)은 예컨대 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.Meanwhile, the communication network 300 serves to connect the server 100 and the user terminal 200. That is, the communication network 300 refers to a communication network that provides an access path so that the user terminal 200 can transmit and receive data after accessing the server 100. The communication network 300 is, for example, wired networks such as LANs (Local Area Networks), WANs (Wide Area Networks), MANs (Metropolitan Area Networks), ISDNs (Integrated Service Digital Networks), wireless LANs, CDMA, Bluetooth, satellite communication, etc. It may cover wireless networks of, but the scope of the present invention is not limited thereto.

이하에서는, 본 발명의 실시예에 따른 시스템에서 수행되는 사용자 인증 방법에 대해 구체적으로 살펴보도록 한다.Hereinafter, a user authentication method performed in a system according to an embodiment of the present invention will be described in detail.

도 2는 본 발명의 몇몇 실시예에 따른 사용자 인증 방법을 설명하기 위한 순서도이다.2 is a flowchart illustrating a user authentication method according to some embodiments of the present invention.

도 2를 참조하면, 서버(100)는 사용자 단말(200)을 통해 화면 상에 입력된 터치패턴에 대한 센싱데이터를 수신한다(S110). 여기에서, 센싱데이터는 사용자의 터치시간, 터치위치, 터치압력, 터치크기, 사용자 단말(200)에 구비된 자이로센서 또는 가속도센서의 데이터를 포함할 수 있다.Referring to FIG. 2, the server 100 receives sensing data for a touch pattern input on the screen through the user terminal 200 (S110). Here, the sensing data may include a user's touch time, a touch position, a touch pressure, a touch size, and data of a gyro sensor or an acceleration sensor provided in the user terminal 200.

이어서, 서버(100)는 수신한 센싱데이터를 그룹핑한다(S120). 이때, 서버(100)는 미리 설정된 영역, 미리 설정된 기준시간단위 또는 미리 정해진 타입의 이벤트를 이용하여 센싱데이터를 그룹핑할 수 있다.Subsequently, the server 100 groups the received sensing data (S120). In this case, the server 100 may group the sensing data using a preset area, a preset reference time unit, or a preset type of event.

예를 들어, 미리 설정된 복수개의 점을 잇는 터치패턴에 대한 센싱데이터를 수신한 경우, 서버(100)는 터치패턴 내에서 인접한 두개의 점을 잇는 선에서 도출되는 복수의 센싱데이터를 하나의 그룹으로 설정할 수 있다.For example, when receiving sensing data for a touch pattern connecting a plurality of preset points, the server 100 collects a plurality of sensing data derived from a line connecting two adjacent points in the touch pattern into one group. Can be set.

다른 예로, 서버(100)는 생성시간 순으로 정렬된 센싱데이터에 대해 미리 설정된 기준시간단위를 적용할 수 있다. 서버(100)는 미리 설정된 기준시간단위에 포함되는 센싱데이터를 그룹으로 설정할 수 있다.As another example, the server 100 may apply a preset reference time unit to sensing data arranged in the order of generation time. The server 100 may set sensing data included in a preset reference time unit as a group.

또 다른 예로, 서버(100)는 생성시간 순으로 정렬된 센싱데이터를 미리 정해진 타입의 이벤트(예를 들어, 던지기, 스크롤 또는 싱글탭 등)로 구분할 수 있다. 서버(100)는 미리 설정된 이벤트의 기준개수에 대응되는 센싱데이터를 하나의 그룹으로 그룹핑할 수 있다.As another example, the server 100 may classify sensing data arranged in the order of generation time into predetermined types of events (eg, throwing, scrolling, single tap, etc.). The server 100 may group sensing data corresponding to the reference number of preset events into one group.

이어서, 서버(100)는 그룹별 센싱데이터의 각 파라미터에 대한 대표값을 산출한다(S130). 여기에서, 파라미터는, 전술한 센싱데이터에 포함된 터치시간, 터치위치, 터치압력, 터치크기, 자이로센서 또는 가속도센서의 데이터에 대한 각각의 데이터를 의미한다. 서버(100)는 각 파라미터의 평균값, 최대값, 최소값, 표준편차, 중간값, RMS(Root mean square) 또는 RSS(Root Sum Square)를 계산하여 대표값을 산출할 수 있다. 다만, 대표값을 산출하는 방법은 본 발명의 예시에 불과하며 본 발명이 이에 한정되는 것은 아니다.Subsequently, the server 100 calculates a representative value for each parameter of the sensing data for each group (S130). Here, the parameter means each data on data of a touch time, a touch position, a touch pressure, a touch size, a gyro sensor or an acceleration sensor included in the above-described sensing data. The server 100 may calculate a representative value by calculating an average value, a maximum value, a minimum value, a standard deviation, a median value, a root mean square (RMS) or a root sum square (RSS) of each parameter. However, the method of calculating the representative value is only an example of the present invention, and the present invention is not limited thereto.

이어서, 서버(100)는 산출된 대표값을 이용하여 터치패턴 프로파일을 생성한다(S140).Subsequently, the server 100 generates a touch pattern profile using the calculated representative value (S140).

이어서, 서버(100)는 생성된 터치패턴 프로파일과 미리 저장된 고객등록패턴 프로파일 사이의 유사도를 산출한다(S150).Subsequently, the server 100 calculates a similarity between the generated touch pattern profile and the previously stored customer registration pattern profile (S150).

예를 들어, 서버(100)는 터치패턴에서 도출된 그룹별 터치패턴 프로파일과 이에 대응되는 미리 저장된 고객등록패턴 프로파일에 대해, 그룹별 유사도를 산출하고, 산출된 유사도에 대한 평균을 산출할 수 있다.For example, the server 100 may calculate a similarity for each group and an average of the calculated similarity for a group-specific touch pattern profile derived from a touch pattern and a corresponding pre-stored customer registration pattern profile. .

다른 예로, 서버(100)는 미리 학습된 딥러닝 모듈을 이용하여 그룹별 터치패턴 프로파일과 고객등록패턴 프로파일에 대한 그룹별 유사도를 산출하고, 산출된 유사도에 대한 평균을 산출할 수 있다.As another example, the server 100 may calculate a group-specific similarity for a group-specific touch pattern profile and a customer registration pattern profile using a pre-learned deep learning module, and calculate an average of the calculated similarity.

이어서, 서버(100)는 산출한 유사도를 기초로 서비스의 인증여부를 결정한다(S160).Subsequently, the server 100 determines whether to authenticate the service based on the calculated similarity (S160).

이때, 산출된 유사도가 미리 설정된 기준치보다 큰 경우, 서버(100)는 인증이 성공되었음을 판단하고 사용자 단말(200)에 서비스를 제공할 수 있다. In this case, when the calculated similarity is greater than a preset reference value, the server 100 may determine that authentication is successful and provide a service to the user terminal 200.

반면, 산출된 유사도가 미리 설정된 기준치보다 작은 경우, 서버(100)는 사용자 단말(200)에 추가인증을 요청하는 팝업을 제공할 수 있다.On the other hand, when the calculated similarity is less than a preset reference value, the server 100 may provide a pop-up requesting additional authentication to the user terminal 200.

이하에서는, 본 발명의 일 실시예에 따른 미리 설정된 영역을 이용하여 센싱데이터를 그룹핑함으로써 수행되는 사용자 인증 방법에 대해 자세히 설명하도록 한다.Hereinafter, a user authentication method performed by grouping sensing data using a preset area according to an embodiment of the present invention will be described in detail.

도 3은 본 발명의 일 실시예에 따른 사용자 인증 방법을 설명하기 위한 순서도이다. 이하에서는, 터치패턴이 미리 설정된 복수의 점을 중심으로 각각 설정된 복수의 영역을 지나도록 형성된다고 가정하도록 한다.3 is a flowchart illustrating a user authentication method according to an embodiment of the present invention. Hereinafter, it is assumed that the touch pattern is formed so as to pass through a plurality of regions respectively set around a plurality of preset points.

도 3을 참조하면, 서버(100)는 사용자 단말(200)의 단말 화면(SC)을 통해 사용자가 최초로 입력한 터치패턴을 수신한다(S210). 이때, 서버(100)는 사용자 단말(200)에 표시된 최초 터치패턴 등록 팝업을 통해 최초로 등록한 터치패턴을 수신할 수 있다.Referring to FIG. 3, the server 100 receives a touch pattern initially input by a user through the terminal screen SC of the user terminal 200 (S210). In this case, the server 100 may receive the first registered touch pattern through the initial touch pattern registration pop-up displayed on the user terminal 200.

이어서, 서버(100)는 등록 터치패턴에 대한 터치패턴 프로파일을 추출한다(S220).Subsequently, the server 100 extracts a touch pattern profile for the registered touch pattern (S220).

구체적으로, 서버(100)는 등록 터치패턴이 형성된 복수의 점 및 복수의 영역에 대한 센싱데이터를 도출하여 그룹핑 할 수 있다. 이어서, 서버(100)는 도출된 그룹에 대한 센싱데이터의 각 피라미터에 대한 대표값을 산출하고, 산출된 대표값을 기초로 등록용 터치패턴 프로파일을 추출할 수 있다.Specifically, the server 100 may group by deriving sensing data for a plurality of points and a plurality of areas on which a registered touch pattern is formed. Subsequently, the server 100 may calculate a representative value for each parameter of sensing data for the derived group, and extract a registration touch pattern profile based on the calculated representative value.

이어서, 서버(100)는 추출된 터치패턴 프로파일을 기초로 고객등록패턴 프로파일을 생성한다(S230). 이때, 서버(100)는 사용자의 계정정보, 사용자가 등록한 등록 터치패턴 및 등록용 터치패턴에 대한 고객등록패턴 프로파일을 하나로 묶어서 보관할 수 있다.Subsequently, the server 100 generates a customer registration pattern profile based on the extracted touch pattern profile (S230). In this case, the server 100 may store the user's account information, the registered touch pattern registered by the user, and the customer registration pattern profile for the registration touch pattern as one.

이어서, 사용자 단말(200)로부터 금융거래 요청을 수신한 경우, 서버(100)는 사용자에게 터치패턴인증을 요청한다(S240). 이때, 서버(100)는 단말 화면(SC)에 패턴인증 팝업을 표시할 수 있다.Subsequently, when receiving a financial transaction request from the user terminal 200, the server 100 requests the user to authenticate the touch pattern (S240). In this case, the server 100 may display a pattern authentication pop-up on the terminal screen SC.

이어서, 서버(100)는 터치패턴인증 팝업을 통해 입력된 터치패턴을 기초로 터치패턴 프로파일을 추출한다(S250).Subsequently, the server 100 extracts a touch pattern profile based on the touch pattern input through the touch pattern authentication pop-up (S250).

구체적으로, 서버(100)는 입력된 터치패턴이 형성된 복수의 점 및 복수의 영역에 대한 센싱데이터를 도출하여 그룹핑하고, 인접한 두개의 점을 잇는 선의 센싱데이터를 하나의 그룹으로 설정할 수 있다. 서버(100)는 도출된 각 그룹 센싱데이터의 피라미터별 대표값을 산출하고, 산출된 대표값을 기초로 입력된 터치패턴 프로파일을 추출할 수 있다.Specifically, the server 100 may derive and group sensing data for a plurality of points and a plurality of regions on which an input touch pattern is formed, and set sensing data of a line connecting two adjacent points as one group. The server 100 may calculate a representative value for each parameter of the derived group sensing data, and extract an input touch pattern profile based on the calculated representative value.

이어서, 서버(100)는 수신한 터치패턴과 등록 터치패턴의 일치여부 및 추출된 터치패턴 프로파일과 고객등록패턴 프로파일과의 유사도(이하, 터치패턴 유사도)를 산출한다(S260).Subsequently, the server 100 calculates whether or not the received touch pattern matches the registered touch pattern, and a similarity between the extracted touch pattern profile and the customer registration pattern profile (hereinafter, touch pattern similarity) (S260).

이때, 서버(100)는 고객등록패턴 프로파일의 등록 터치패턴과 패턴인증 팝업을 통해 입력된 터치패턴을 비교하여 일치여부를 확인할 수 있다. 또한, 서버(100)는 입력된 터치패턴의 그룹별 터치패턴 프로파일과 이에 대응되는 고객등록패턴 프로파일의 그룹별 유사도를 산출하고, 산출된 그룹별 유사도의 평균값을 산출할 수 있다.In this case, the server 100 may compare the registered touch pattern of the customer registration pattern profile with the touch pattern input through the pattern authentication pop-up to check whether they match. In addition, the server 100 may calculate a group-by-group similarity of the input touch pattern and a corresponding customer registration pattern profile, and calculate an average value of the calculated similarity by group.

다만, 본 발명이 이에 제한되는 것은 아니며, 터치패턴 유사도는 미리 학습된 딥러닝 모듈에 의해 산출될 수 있다.However, the present invention is not limited thereto, and the touch pattern similarity may be calculated by a pre-learned deep learning module.

이어서, 서버(100)는 입력된 터치패턴 및 등록 터치패턴이 일치하는지 판단하고(S270), 터치패턴이 불일치하는 경우, 서버(100)는 S240단계로 돌아가 터치패턴에 대한 재인증을 요청할 수 있다.Subsequently, the server 100 determines whether the input touch pattern and the registered touch pattern match (S270), and if the touch patterns do not match, the server 100 may return to step S240 and request re-authentication for the touch pattern. .

반면, 터치패턴이 일치하는 경우, 서버(100)는 터치패턴 유사도가 기준치보다 큰지 여부를 판단한다(S280).On the other hand, when the touch patterns match, the server 100 determines whether the similarity of the touch pattern is greater than the reference value (S280).

이어서, 터치패턴 유사도가 미리 설정된 기준치보다 큰 경우, 서버(100)는 사용자 단말(200)을 통해 요청된 금융거래를 실행할 수 있다(S291).Subsequently, when the similarity of the touch pattern is greater than the preset reference value, the server 100 may execute a financial transaction requested through the user terminal 200 (S291).

반면, 터치패턴 유사도가 미리 설정된 기준치보다 작은 경우, 서버(100)는 사용자 단말(200)을 이용하여 추가인증을 요구할 수 있다(S293).On the other hand, when the similarity of the touch pattern is less than the preset reference value, the server 100 may request additional authentication using the user terminal 200 (S293).

이하에서는 본 발명의 일 실시예에 따른 미리 설정된 영역을 이용한 센싱데이터 그룹핑 방법에 대해 자세히 설명하도록 한다.Hereinafter, a method for grouping sensing data using a preset area according to an embodiment of the present invention will be described in detail.

도 4 및 도 5는 본 발명의 일 실시예에 따른 사용자 인증 방법의 예시를 설명하기 위한 도면이다. 여기에서, 도 4는 터치패턴의 센싱데이터를 설명하기 위한 도면이고, 도 5는 입력된 터치패턴을 이용하여 터치패턴 프로파일을 추출하는 방법을 설명하기 위한 도면이다.4 and 5 are diagrams for explaining an example of a user authentication method according to an embodiment of the present invention. Here, FIG. 4 is a diagram illustrating sensing data of a touch pattern, and FIG. 5 is a diagram illustrating a method of extracting a touch pattern profile using an input touch pattern.

도 4를 참조하면, 서버(100)는 사용자 단말(200)의 단말 화면(SC)을 통해 터치패턴(TP)을 수신할 수 있다.Referring to FIG. 4, the server 100 may receive a touch pattern TP through the terminal screen SC of the user terminal 200.

구체적으로 서버(100)는 터치패턴(TP)의 형상 및 터치패턴(TP)에 대한 센싱데이터를 수신할 수 있다. 서버(100)는 미리 설정된 복수의 점에 대한 복수의 영역을 각각 설정할 수 있다.Specifically, the server 100 may receive the shape of the touch pattern TP and sensing data for the touch pattern TP. The server 100 may set a plurality of areas for a plurality of preset points, respectively.

예를 들어, 서버(100)는 특정 점(d3)을 중심으로 특정 점(d3)의 주변 영역에 대해 점영역(ar3)을 설정할 수 있다. 이어서, 터치패턴(TP)의 일부분이 점영역(ar3)에 포함되는 경우, 서버(100)는 점영역에 대한 센싱데이터를 이용할 수 있다.For example, the server 100 may set the point area ar3 with respect to the area around the specific point d3 around the specific point d3. Subsequently, when a part of the touch pattern TP is included in the point area ar3, the server 100 may use sensing data for the point area.

이때, 센싱데이터는 점영역(ar3)에 포함된 터치패턴(TP)에 대한 터치좌표, 터치압력, 터치 넓이, 터치 시간, 슬라이딩 정보(속도, 거리, 시간 및 각도), 자이로센서 데이터 및 가속도센서 데이터를 포함할 수 있다.At this time, the sensing data includes touch coordinates, touch pressure, touch area, touch time, sliding information (speed, distance, time and angle) for the touch pattern TP included in the point area ar3, gyro sensor data, and acceleration sensor. May contain data.

더 구체적으로, 도 5의 <a1>은 입력된 터치패턴을 나타내는 도면이고, <a2>는 터치패턴과 관련된 센싱데이터의 그룹핑 과정을 예시적으로 설명하기 위한 도면이다.More specifically, <a1> of FIG. 5 is a diagram illustrating an input touch pattern, and <a2> is a diagram exemplarily illustrating a grouping process of sensing data related to the touch pattern.

도 5를 참조하면, 서버(100)는 사용자 단말(200)의 단말 화면(SC)을 통해 터치패턴(TP)을 수신할 수 있다. 예를 들어, 터치패턴(TP)은 제1 점(d1), 제2 점(d2), 제3 점(d3) 및 제4 점(d4)을 지나가는 형태일 수 있다. 이에 따라, 터치패턴(TP)은 제1 점 내지 제4 점(d1~d4)에 대해 각각 설정된 제1 영역 내지 제4 영역(ar1~ar4)을 지나갈 수 있다. 다만, 본 발명이 이에 제한되는 것은 아니고, 터치패턴(TP)은 점을 지나지 않고 점에 대해 설정된 영역만을 지나가는 형태일 수 있음은 물론이다.Referring to FIG. 5, the server 100 may receive a touch pattern TP through the terminal screen SC of the user terminal 200. For example, the touch pattern TP may pass through a first point d1, a second point d2, a third point d3, and a fourth point d4. Accordingly, the touch pattern TP may pass through the first to fourth regions ar1 to ar4 respectively set for the first to fourth points d1 to d4. However, the present invention is not limited thereto, and it goes without saying that the touch pattern TP may have a shape that passes only an area set for a point without passing through a point.

이어서, 서버(100)는 터치패턴(TP)에 대한 센싱데이터를 수신할 수 있다. 서버(100)는 터치패턴(TP)이 형성된 제1 영역(ar1), 제2 영역(ar2), 제3 영역(ar3) 및 제4 영역(ar4)에 대한 센싱데이터를 수신할 수 있다.Subsequently, the server 100 may receive sensing data for the touch pattern TP. The server 100 may receive sensing data for the first area ar1, the second area ar2, the third area ar3, and the fourth area ar4 in which the touch pattern TP is formed.

이때, 센싱데이터는 미리 설정된 시간단위로 생성된 센싱데이터일 수 있다. 설명의 편의를 위해 이하에서는, 미리 설정된 시간단위를 1초라고 가정하도록 한다.In this case, the sensing data may be sensing data generated in a preset time unit. For convenience of explanation, hereinafter, it is assumed that the preset time unit is 1 second.

서버(100)는 제1 점(d1) 및 제1 영역(ar1)을 2초동안 지나는 터치패턴(TP)에 대해 제1 센싱데이터(T1) 및 제2 센싱데이터(T2)를 수신할 수 있다. 이때, 제1 센싱데이터(T1) 및 제2 센싱데이터(T2)는 각각 1초동안 생성된 센싱데이터 일 수 있다. 터치패턴(TP)이 미리 설정된 영역 외 영역에 형성된 경우, 서버(100)는 영역 외 공간에 대한 제3 센싱데이터(T3) 및 제4 센싱데이터(T4)를 수신할 수 있다.The server 100 may receive the first sensing data T1 and the second sensing data T2 for the touch pattern TP passing through the first point d1 and the first area ar1 for 2 seconds. . In this case, the first sensing data T1 and the second sensing data T2 may be sensing data generated for 1 second, respectively. When the touch pattern TP is formed in an area outside the preset area, the server 100 may receive the third sensing data T3 and the fourth sensing data T4 for the area outside the area.

이어서, 터치패턴(TP)이 제2 점(d2) 및 제2 영역(ar2)에 형성된 경우, 서버(100)는 제2 점(d2) 및 제2 영역(ar2)에 대한 제5 센싱데이터(T5) 및 제6 센싱데이터(T6)를 수신할 수 있다. 이어서, 서버(100)는 제3 점(d3), 제3 영역(ar3), 제4 점(d4) 및 제4 영역(ar4)을 지나는 터치패턴(TP)에 대해 제7 센싱데이터 내지 제16 센싱데이터(T7~T16)를 수신할 수 있다.Subsequently, when the touch pattern TP is formed on the second point d2 and the second area ar2, the server 100 receives the fifth sensing data for the second point d2 and the second area ar2. T5) and sixth sensing data T6 may be received. Subsequently, the server 100 transmits the seventh sensing data to the sixteenth to the touch pattern TP passing through the third point d3, the third area ar3, the fourth point d4, and the fourth area ar4. Sensing data T7 to T16 may be received.

이어서, 서버(100)는 입력된 터치패턴(TP) 내에서 인접한 두개의 점을 잇는 선에서 도출되는 복수의 센싱데이터를 하나의 그룹으로 설정할 수 있다.Subsequently, the server 100 may set a plurality of sensing data derived from a line connecting two adjacent points in the input touch pattern TP as one group.

이때, 서버(100)는 수신한 센싱데이터에 대해 시작점 및 종료점을 설정할 수 있다. 시작점은 인접한 두개의 점에 대해 수신된 센싱데이터 중 시간적으로 선순위의 센싱데이터일 수 있고, 종료점은 후순위의 센싱데이터일 수 있다. 이어서, 서버(100)는 시작점 및 종료점을 이용하여 센싱데이터를 그룹핑 할 수 있다. In this case, the server 100 may set a start point and an end point for the received sensing data. The starting point may be temporally a first-order sensing data among sensing data received for two adjacent points, and the ending point may be a second-order sensing data. Subsequently, the server 100 may group the sensing data using the start point and the end point.

예를 들어, 서버(100)는 제1 점(d1)을 중심으로 설정된 제1 영역(ar1)에 대해 최초로 수신된 제1 센싱데이터(T1)를 제1 시작점으로 설정할 수 있다. 이어서, 서버(100)는 터치패턴(TP)에서 제1 점(d1)과 가장 인접한 제2 점(d2)을 중심으로 설정된 제2 영역(ar2)에 대해 시간적으로 후순위에 수신된 제6 센싱데이터(T6)를 제1 종료점으로 설정할 수 있다. 서버(100)는 제1 시작점인 제1 센싱데이터(T1), 제1 종료점인 제6 센싱데이터(T6), 및 제1 시작점과 제1 종료점 사이에 수신된 제1 내지 제6 센싱데이터(T1~T6)를 제1 그룹(G1)으로 설정할 수 있다.For example, the server 100 may set the first sensing data T1 initially received for the first area ar1 set around the first point d1 as a first starting point. Subsequently, the server 100 temporally receives the sixth sensing data for the second area ar2 set around the second point d2 closest to the first point d1 in the touch pattern TP. (T6) can be set as the first end point. The server 100 includes first sensing data T1 as a first starting point, sixth sensing data T6 as a first ending point, and first to sixth sensing data T1 received between the first starting point and the first ending point. ~T6) may be set as the first group G1.

또한, 서버(100)는 제2 점(d2) 및 제3 점(d3)을 잇는 선에서 도출된 제5 내지 제11 센싱데이터(T5~T11)를 하나의 그룹으로 설정할 수 있다. 즉, 서버(100)는 제2 점(d2) 및 제2 영역(ar2)의 제5 센싱데이터(T5)를 제2 시작점으로 설정하고, 제3 점(d3) 및 제3 영역(ar3)에 대한 제11 센싱데이터(T11)를 제2 종료점으로 설정할 수 있다. 서버(100)는 제5 내지 제11 센싱데이터(T5 내지 T11)를 제2 그룹(G2)으로 설정할 수 있다.In addition, the server 100 may set the fifth to eleventh sensing data T5 to T11 derived from a line connecting the second point d2 and the third point d3 as one group. That is, the server 100 sets the fifth sensing data T5 of the second point d2 and the second area ar2 as the second starting point, and the third point d3 and the third area ar3 The eleventh sensing data T11 may be set as the second end point. The server 100 may set the fifth to eleventh sensing data T5 to T11 as the second group G2.

또한, 서버(100)는 제3 점(d3) 및 제4 점(d4)을 잇는 선에서 도출된 제9 내지 제16 센싱데이터(T9~T16)를 제3 그룹(G3)으로 설정할 수 있다.In addition, the server 100 may set the ninth to sixteenth sensing data T9 to T16 derived from a line connecting the third point d3 and the fourth point d4 as the third group G3.

이 결과, 터치패턴(TP)에서 그룹핑된 그룹의 개수는 터치패턴(TP)이 지나가는 미리 설정된 영역의 개수보다 작을 수 있다. 또한, 인접하는 각 그룹에는 서로 중복되는 센싱데이터가 존재할 수 있다. 예를 들어, 제5 및 제6 센싱데이터(T5, T6)은 제1 그룹(G1) 및 제2 그룹(G2)에 공통되게 포함될 수 있다.As a result, the number of groups grouped in the touch pattern TP may be smaller than the number of preset regions through which the touch pattern TP passes. In addition, sensing data overlapping with each other may exist in each adjacent group. For example, the fifth and sixth sensing data T5 and T6 may be commonly included in the first group G1 and the second group G2.

이어서, 서버(100)는 제1 그룹(G1), 제2 그룹(G2) 및 제3 그룹(G3)의 각 파라미터에 대한 대표값을 산출할 수 있다. 이때, 파라미터는 터치시간, 터치위치, 터치압력, 터치크기, 자이로센서의 데이터 또는 가속도센서의 데이터 중 적어도 둘 이상으로 구성될 수 있다. 또한, 서버(100)는 각 파라미터의 평균값, 최대값, 최소값, 표준편차, 중간값, RMS 또는 RSS를 계산하여 대표값을 산출할 수 있다.Subsequently, the server 100 may calculate a representative value for each parameter of the first group G1, the second group G2, and the third group G3. In this case, the parameter may be composed of at least two or more of touch time, touch position, touch pressure, touch size, data of a gyro sensor, or data of an acceleration sensor. In addition, the server 100 may calculate the average value, maximum value, minimum value, standard deviation, median value, RMS or RSS of each parameter to calculate a representative value.

이어서, 서버(100)는 대표값을 이용하여 제1 내지 제3 그룹(G1~G3)별 터치패턴 프로파일을 생성할 수 있다.Subsequently, the server 100 may generate a touch pattern profile for each of the first to third groups G1 to G3 using the representative value.

이하에서는, 생성된 터치패턴 프로파일을 이용하여 유사도를 산출하는 방법을 설명하도록 한다.Hereinafter, a method of calculating the similarity using the generated touch pattern profile will be described.

도 6은 도 3의 S260 단계에서 유사도를 산출하는 본 발명의 일 예를 설명하기 위한 도면이다. 여기에서 도 6의 <b1>은 미리 등록된 고객등록패턴 프로파일의 센싱데이터를 나타내고, <b2>는 새로 입력된 터치패턴 프로파일의 센싱데이터를 나타낸다.6 is a diagram illustrating an example of the present invention for calculating a similarity in step S260 of FIG. 3. Here, <b1> of FIG. 6 represents sensing data of a previously registered customer registration pattern profile, and <b2> represents sensing data of a newly inputted touch pattern profile.

도 6을 참조하면, 서버(100)는 사용자 단말(200)을 통해 입력된 터치패턴에 대해 생성된 터치패턴 프로파일에, 미리 등록된 고객등록패턴 프로파일을 대응시킬 수 있다.Referring to FIG. 6, the server 100 may associate a previously registered customer registration pattern profile with a touch pattern profile generated for a touch pattern input through the user terminal 200.

이어서, 서버(100)는 미리 등록된 고객등록패턴 프로파일의 그룹별 센싱데이터의 대표값과 각 그룹에 대응되는 터치패턴 프로파일의 그룹별 센싱데이터의 대표값을 비교할 수 있다.Subsequently, the server 100 may compare a representative value of sensing data for each group of a customer registration pattern profile registered in advance with a representative value of sensing data for each group of a touch pattern profile corresponding to each group.

이어서, 서버(100)는 고객등록패턴 프로파일과 터치패턴 프로파일의 그룹별 유사도를 산출할 수 있다. 예를 들어, 서버(100)는 고객등록패턴의 제1 점과 제2 점 사이에서 추출된 센싱데이터(X11~X1n)를 기초로 생성된 제1 등록그룹(GR1)의 대표값과, 터치패턴의 제1 점 및 제2 점 사이에 추출된 센싱데이터(Y11~Y1n)를 기초로 생성된 제1 그룹(G1)의 대표값을 이용하여 제1 유사도를 산출할 수 있다.Subsequently, the server 100 may calculate the similarity of the customer registration pattern profile and the touch pattern profile for each group. For example, the server 100 includes a representative value of the first registration group GR1 generated based on the sensing data X 11 to X 1n extracted between the first point and the second point of the customer registration pattern, The first similarity may be calculated using a representative value of the first group G1 generated based on the sensing data Y 11 to Y 1n extracted between the first point and the second point of the touch pattern.

이때, 서버(100)는 코사인 유사도(cosine similarity) 공식을 이용하여 상기 제1 유사도를 산출할 수 있다. 예를 들어, 서버(100)는 하기 <수학식 1>을 이용하여 제1 유사도를 산출할 수 있다.In this case, the server 100 may calculate the first similarity by using a cosine similarity formula. For example, the server 100 may calculate the first degree of similarity using the following <Equation 1>.

[수학식 1][Equation 1]

Figure 112020108218680-pat00001
Figure 112020108218680-pat00001

여기에서, CS는 코사인 유사도를 나타내고, x는 고객등록패턴 프로파일의 각 그룹의 대표값을 나타내고, y는 터치패턴 프로파일의 각 그룹의 대표값을 나타내고, n은 각 그룹의 센싱데이터에 포함된 파라미터의 수를 나타낸다.Here, CS represents the cosine similarity, x represents the representative value of each group of the customer registration pattern profile, y represents the representative value of each group of the touch pattern profile, and n represents the parameter included in the sensing data of each group. Represents the number of

이어서, 서버(100)는 전술한 방법을 이용하여 제2 등록그룹(Gr2)과 제2 그룹(G2)의 제2 유사도를 산출하고, 제3 등록그룹(Gr3)과 제3 그룹(G3) 사이의 제3 유사도를 산출할 수 있다.Subsequently, the server 100 calculates a second degree of similarity between the second registration group Gr2 and the second group G2 using the above-described method, and between the third registration group Gr3 and the third group G3. The third degree of similarity of can be calculated.

이어서, 서버(100)는 산출된 복수의 유사도에 대해 평균 유사도를 산출할 수 있다. 즉, 서버(100)는 제1 유사도, 제2 유사도 및 제3 유사도에 대한 평균 유사도를 산출할 수 있다. 다만, 위 공식을 이용하는 실시예는 본 발명의 하나의 예시에 불과하며, 유사도를 산출할 수 있는 다양한 공식이 적용될 수 있음은 자명하다.Subsequently, the server 100 may calculate an average similarity for the calculated plurality of similarities. That is, the server 100 may calculate an average degree of similarity for the first degree of similarity, the second degree of similarity, and the third degree of similarity. However, the embodiment using the above formula is only an example of the present invention, and it is obvious that various formulas capable of calculating the similarity can be applied.

도 7은 도 3의 S260 단계에서 딥러닝 모듈을 이용하여 유사도를 산출하는 본 발명의 다른 예를 설명하기 위한 도면이다. 즉, 본 발명은 수학식을 이용하여 유사도를 산출하는 방법을 대신하여, 딥러닝 모듈을 이용하여 산출된 유사도를 이용하여 사용자 인증을 수행할 수 있다.FIG. 7 is a diagram illustrating another example of the present invention in which a similarity degree is calculated using a deep learning module in step S260 of FIG. 3. That is, the present invention may perform user authentication using the similarity calculated using the deep learning module, instead of the method of calculating the similarity using an equation.

구체적으로, 도 7을 참조하면, 딥러닝 모듈(DM)은 터치패턴 프로파일 및 고객등록패턴 프로파일을 입력 받고, 이에 대한 출력으로 터치패턴 프로파일 및 고객등록패턴 프로파일 간의 유사도를 제공할 수 있다.Specifically, referring to FIG. 7, the deep learning module DM may receive a touch pattern profile and a customer registration pattern profile, and may provide a similarity between the touch pattern profile and the customer registration pattern profile as an output thereof.

이때, 딥러닝 모듈(DM)은 미리 설정된 영역을 이용하여 생성된 고객등록패턴 프로파일의 센싱데이터에 대한 그룹별 대표값과, 현재 입력된 터치패턴 프로파일의 센싱데이터에 대한 그룹별 대표값을 입력 받을 수 있다.At this time, the deep learning module (DM) receives a representative value for each group for the sensing data of the customer registration pattern profile created using a preset area and a representative value for each group for the sensing data of the currently input touch pattern profile. I can.

이어서, 딥러닝 모듈(DM)은 빅데이터를 기초로 사전 학습된 인공신경망을 이용하여, 유사도를 도출할 수 있다. 도출된 유사도는 전술한 사용자의 신원확인 또는 본인인증을 수행하는데 이용될 수 있다.Subsequently, the deep learning module (DM) may derive a degree of similarity using an artificial neural network that has been pre-learned based on big data. The derived degree of similarity may be used to perform the above-described user identification or identification.

딥러닝 모듈(DM)은 학습 인자로 입력되는 파라미터들에 대하여 머신 러닝(machine learning)을 수행할 수 있다. 딥러닝 모듈(DM)은 학습 인자로 입력되는 해당 고객의 수집데이터(즉, positive data)와 다른 고객의 수집데이터(즉, negative data)를 이용하여 인공신경망을 학습시킬 수 있다. 이때, 서버(100)의 메모리에는 머신 러닝에 사용되는 데이터 및 결과 데이터 등이 저장될 수 있다.The deep learning module DM may perform machine learning on parameters input as learning factors. The deep learning module (DM) may train an artificial neural network using collected data (ie, positive data) of a corresponding customer input as a learning factor and data collected from other customers (ie, negative data). In this case, data and result data used for machine learning may be stored in the memory of the server 100.

보다 자세히 설명하자면, 머신 러닝(Machine Learning)의 일종인 딥러닝(Deep Learning) 기술은 데이터를 기반으로 다단계로 깊은 수준까지 내려가 학습하는 것이다.In more detail, deep learning technology, a kind of machine learning, is to learn by going down to the deep level in multiple stages based on data.

딥러닝(Deep learning)은, 단계를 높여가면서 복수의 데이터들로부터 핵심적인 데이터를 추출하는 머신 러닝(Machine Learning) 알고리즘의 집합을 나타낸다.Deep learning refers to a set of machine learning algorithms that extract core data from a plurality of data while increasing the level.

딥러닝 모듈(DM)은 공지된 다양한 딥러닝 구조를 이용할 수 있다. 예를 들어, 딥러닝 모듈(DM)은 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network), GNN(Graph Neural Network) 등의 구조를 이용할 수 있다.The deep learning module (DM) may use various known deep learning structures. For example, the deep learning module (DM) may use a structure such as a Convolutional Neural Network (CNN), a Recurrent Neural Network (RNN), a Deep Belief Network (DBN), and a Graph Neural Network (GNN).

구체적으로, CNN(Convolutional Neural Network)은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출한 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 기반으로 만들어진 사람의 뇌 기능을 모사한 모델이다.Specifically, CNN (Convolutional Neural Network) is based on the assumption that a person recognizes an object based on the result of complex calculations after extracting the basic features of an object when a person recognizes an object. It is a replica model.

RNN(Recurrent Neural Network)은 자연어 처리 등에 많이 이용되며, 시간의 흐름에 따라 변하는 시계열 데이터(Time-series data) 처리에 효과적인 구조로 매 순간마다 레이어를 쌓아올려 인공신경망 구조를 구성할 수 있다.RNN (Recurrent Neural Network) is widely used for natural language processing, etc., and is an effective structure for processing time-series data that changes with the passage of time, and can construct an artificial neural network structure by stacking layers every moment.

DBN(Deep Belief Network)은 딥러닝 기법인 RBM(Restricted Boltzman Machine)을 다층으로 쌓아 구성되는 딥러닝 구조이다. RBM(Restricted Boltzman Machine) 학습을 반복하여 일정 수의 레이어가 되면, 해당 개수의 레이어를 가지는 DBN(Deep Belief Network)이 구성될 수 있다.DBN (Deep Belief Network) is a deep learning structure composed by stacking multiple layers of RBM (Restricted Boltzman Machine), a deep learning technique. When RBM (Restricted Boltzman Machine) learning is repeated to become a certain number of layers, a Deep Belief Network (DBN) having the corresponding number of layers may be formed.

GNN(Graphic Neural Network, 그래픽 인공신경망, 이하, GNN)는 특정 파라미터 간 매핑된 데이터를 기초로 모델링된 모델링 데이터를 이용하여, 모델링 데이터 간의 유사도와 특징점을 도출하는 방식으로 구현된 인공신경망 구조를 나타낸다.GNN (Graphic Neural Network, hereinafter GNN) represents an artificial neural network structure implemented by deriving similarity and feature points between modeling data using modeling data modeled based on data mapped between specific parameters. .

한편, 딥러닝 모듈(DM)의 인공신경망 학습은 주어진 입력에 대하여 원하는 출력이 나오도록 노드간 연결선의 웨이트(weight)를 조정(필요한 경우 바이어스(bias) 값도 조정)함으로써 이루어질 수 있다. 또한, 인공신경망은 학습에 의해 웨이트(weight) 값을 지속적으로 업데이트시킬 수 있다. 또한, 인공신경망의 학습에는 역전파(Back Propagation) 등의 방법이 사용될 수 있다.Meanwhile, the artificial neural network learning of the deep learning module (DM) can be performed by adjusting the weight of the connection line between nodes (if necessary, adjusting the bias value) so that a desired output is produced for a given input. In addition, the artificial neural network may continuously update the weight value by learning. In addition, a method such as back propagation may be used for learning of the artificial neural network.

한편, 서버(100)의 메모리에는 머신 러닝으로 미리 학습된 인공신경망(Artificial Neural Network)이 탑재될 수 있다.Meanwhile, an artificial neural network previously learned by machine learning may be mounted in the memory of the server 100.

딥러닝 모듈(DM)은 도출된 파라미터에 대한 모델링 데이터를 입력 데이터로 하는 머신 러닝(machine learning) 기반의 개선 프로세스 추천 동작을 수행할 수 있다. 이때, 인공신경망의 머신 러닝 방법으로는 준지도학습(semi-supervised learning)과 지도학습(supervised learning)이 모두 사용될 수 있다. 또한, 딥러닝 모듈(DM)은 설정에 따라 학습 후 터치패턴 유사도를 출력하기 위한 인공신경망 구조를 자동 업데이트하도록 제어될 수 있다.The deep learning module DM may perform a machine learning-based improvement process recommendation operation using modeling data for the derived parameters as input data. In this case, both semi-supervised learning and supervised learning may be used as a machine learning method of the artificial neural network. In addition, the deep learning module DM may be controlled to automatically update an artificial neural network structure for outputting a touch pattern similarity after learning according to a setting.

추가적으로, 도면에 명확하게 도시하지는 않았으나, 본 발명의 다른 실시예에서, 딥러닝 모듈(DM)의 동작은 서버(100) 또는 별도의 클라우드 서버(미도시)에서 실시될 수 있음은 물론이다.Additionally, although not clearly shown in the drawings, in another embodiment of the present invention, the operation of the deep learning module DM may be performed in the server 100 or a separate cloud server (not shown).

정리하면, 본 발명의 사용자 인증 방법은, 사용자에 의해 입력된 터치패턴에서 인접한 두개의 점을 잇는 선을 도출함으로써 상기 터치패턴의 센싱데이터를 그룹핑하고, 그룹핑된 센싱데이터를 기초로 생성된 터치패턴 프로파일과 미리 등록된 고객등록패턴 프로파일 간에 유사도를 각각 산출하여 비교함으로써, 기존의 터치패턴의 일치여부만 비교하던 방식에 비해 인증의 보안성을 강화시킬 수 있다. 이와 동시에, 기존의 터치패턴을 이용한 방식과 동일한 입력 인터페이스를 이용하기에, 사용자가 새로운 인증환경에 적응해야 하는 불편을 없앨 수 있다.In summary, the user authentication method of the present invention groups sensing data of the touch pattern by deriving a line connecting two adjacent points from a touch pattern input by a user, and a touch pattern generated based on the grouped sensing data. By calculating and comparing the similarity between the profile and the pre-registered customer registration pattern profile, it is possible to enhance the security of authentication compared to the method of comparing only the matching of the existing touch pattern. At the same time, since the same input interface as the method using the existing touch pattern is used, the inconvenience that the user has to adapt to the new authentication environment can be eliminated.

도 8은 본 발명의 다른 실시예에 따른 사용자 인증 방법을 설명하기 위한 순서도이다. 이하에서는, 전술한 본 발명의 일 실시예에 대한 내용과 중복되는 내용은 생략하여 설명하도록 한다.8 is a flowchart illustrating a user authentication method according to another embodiment of the present invention. Hereinafter, contents overlapping with the contents of the above-described embodiment of the present invention will be omitted and described.

도 8을 참조하면, 서버(100)는 사용자 단말(200)을 통해 최초로 입력된 최초 터치패턴을 추출한다(S310).Referring to FIG. 8, the server 100 extracts an initial touch pattern initially input through the user terminal 200 (S310 ).

구체적으로, 사용자가 사용자 단말(200)을 통해 특정 업무(예를 들어, 어플리케이션의 회원가입)를 수행하는 경우, 서버(100)는 해당 업무를 수행하는 동안 사용자의 터치패턴을 추출할 수 있다. Specifically, when a user performs a specific task (eg, membership registration of an application) through the user terminal 200, the server 100 may extract the user's touch pattern while performing the corresponding task.

이때, 서버(100)는 미리 정해진 윈도우의 크기(d)마다 사용자의 터치를 추출할 수 있다. 여기에서, 윈도우는 슬라이딩 윈도우 방식으로 미리 설정된 시간(t)마다 오른쪽으로 이동할 수 있다.In this case, the server 100 may extract the user's touch for each predetermined window size (d). Here, the window may move to the right every preset time (t) in a sliding window method.

이어서, 추출된 최초 터치패턴을 기초로, 서버(100)는 고객등록패턴 프로파일을 생성한다(S320). 서버(100)는 최초 터치패턴에 대한 센싱데이터를 수신하여 그룹핑할 수 있다. Subsequently, based on the extracted first touch pattern, the server 100 generates a customer registration pattern profile (S320). The server 100 may group by receiving sensing data for an initial touch pattern.

이때, 센싱데이터는 생성시간 순으로 정렬되어 수신될 수 있고, 서버(100)는 슬라이딩 윈도우 방식을 통해 수신된 센싱데이터의 일부를 그룹핑함으로써, 고객등록패턴의 프로파일을 생성할 수 있다. 예를 들어, 서버(100)는 미리 설정된 기준시간단위에 포함된 복수의 센싱데이터를 하나의 그룹으로 설정할 수 있다. 설정되는 복수의 그룹은 각각 다른 시작점을 기준으로 기준시간단위를 이용하여 범위가 설정될 수 있다. 이에 대한 자세한 내용은 도 9를 통해 설명하도록 한다.In this case, the sensing data may be sorted and received in the order of generation time, and the server 100 may generate a profile of a customer registration pattern by grouping some of the sensing data received through a sliding window method. For example, the server 100 may set a plurality of sensing data included in a preset reference time unit as one group. A range of a plurality of groups to be set may be set using a reference time unit based on different starting points. Details about this will be described with reference to FIG. 9.

다른 예로, 도면에 명확히 도시되지는 않았으나, 서버(100)는 수신한 센싱데이터를 미리 정해진 타입의 이벤트로 구분하고, 미리 정해진 이벤트의 기준개수에 대응되는 센싱데이터를 포함하도록 그룹을 생성할 수 있다. 이때, 설정되는 각각의 그룹은 다른 시작점을 기준으로 이벤트의 기준개수를 이용하여 범위가 설정될 수 있다. 이벤트를 이용하여 그룹핑하는 내용은 도 10 및 도 11에서 자세히 기술하도록 한다.As another example, although not clearly shown in the drawing, the server 100 may divide the received sensing data into events of a predetermined type, and create a group to include sensing data corresponding to the reference number of events. . In this case, each group to be set may have a range set using a reference number of events based on a different starting point. Contents for grouping using events will be described in detail in FIGS. 10 and 11.

이어서, 서버(100)는 생성된 각 그룹별 센싱데이터의 각 파라미터에 대한 대표값을 산출하고, 산출된 대표값을 기초로 고객등록패턴 프로파일을 생성할 수 있다.Subsequently, the server 100 may calculate a representative value for each parameter of the generated sensing data for each group, and generate a customer registration pattern profile based on the calculated representative value.

이어서, 서버(100)는 사용자의 앱 활동 중에 사용자 단말(200)을 통해 입력되는 터치패턴을 추출한다(S330). 이때, 서버(100)는 사용자가 어플리케이션을 사용하는 동안 발생하는 모든 터치에 대해 실시간으로 터치패턴을 추출할 수 있다. 서버(100)는 추출된 터치패턴에 대한 센싱데이터를 그룹핑하고, 그룹별 센싱데이터를 기초로 그룹별 대표값을 산출하여 터치패턴 프로파일을 생성할 수 있다.Subsequently, the server 100 extracts a touch pattern input through the user terminal 200 during the user's app activity (S330). In this case, the server 100 may extract a touch pattern in real time for all touches that occur while the user uses the application. The server 100 may generate a touch pattern profile by grouping sensing data for the extracted touch patterns and calculating a representative value for each group based on the sensing data for each group.

이어서, 서버(100)는 어플리케이션으로부터 금융거래 요청을 수신한다(S340).Subsequently, the server 100 receives a financial transaction request from the application (S340).

이어서, 서버(100)는 생성된 터치패턴 프로파일과 미리 생성된 고객등록패턴 프로파일 간 유사도를 산출한다(S350). 서버(100)는 터치패턴 프로파일과 이에 대응되는 고객등록패턴 프로파일의 그룹별 유사도를 산출하고, 산출된 그룹별 유사도의 평균값을 최종 유사도로 산출할 수 있다.Subsequently, the server 100 calculates a similarity between the generated touch pattern profile and the previously generated customer registration pattern profile (S350). The server 100 may calculate a similarity for each group of the touch pattern profile and the corresponding customer registration pattern profile, and calculate an average value of the calculated similarity for each group as a final similarity.

이어서, 서버(100)는 산출된 유사도가 기준치보다 큰지 여부를 판단한다(S360). 산출된 유사도가 미리 설정된 기준치보다 큰 경우, 서버(100)는 사용자 단말(200)을 통해 요청된 금융거래를 수행할 수 있다(S371).Subsequently, the server 100 determines whether the calculated similarity is greater than the reference value (S360). When the calculated similarity is greater than a preset reference value, the server 100 may perform the requested financial transaction through the user terminal 200 (S371).

반면, 터치패턴 유사도가 미리 설정된 기준치보다 작은 경우, 서버(100)는 사용자 단말(200)을 이용하여 추가인증을 요구할 수 있다(S373).On the other hand, when the similarity of the touch pattern is less than the preset reference value, the server 100 may request additional authentication using the user terminal 200 (S373).

이하에서는, 기준시간단위 또는 미리 정해진 타입의 이벤트를 이용하여 센싱데이터를 그룹핑하는 방법에 대해 자세히 설명하도록 한다.Hereinafter, a method of grouping sensing data using a reference time unit or a predetermined type of event will be described in detail.

도 9는 도 8의 S330 단계에서 기준시간단위를 이용하여 센싱데이터를 그룹핑하는 본 발명의 일 예를 설명하기 위한 도면이다.FIG. 9 is a diagram illustrating an example of the present invention in which sensing data is grouped using a reference time unit in step S330 of FIG. 8.

도 9를 참조하면, 서버(100)는 사용자의 터치패턴에 대한 복수의 센싱데이터를 수신할 수 있다. 이때, 센싱데이터는 생성시간 순으로 정렬되어 수신될 수 있다. Referring to FIG. 9, the server 100 may receive a plurality of sensing data for a user's touch pattern. In this case, the sensing data may be received after being sorted in the order of generation time.

이어서, 서버(100)는 수신한 복수의 센싱데이터에 기준시간단위를 적용하여 그룹을 생성할 수 있다. 각각의 그룹은 서로 다른 시작점을 기준으로 생성될 수 있고, 기준시간단위를 이용하여 범위가 설정될 수 있다. 이때, 서버(100)는 수신한 모든 센싱데이터를 각각의 시작점으로 설정할 수 있다. 다만, 본 발명이 이에 제한되는 것은 아니다.Subsequently, the server 100 may generate a group by applying a reference time unit to the plurality of received sensing data. Each group may be created based on a different starting point, and a range may be set using a reference time unit. In this case, the server 100 may set all the received sensing data as respective starting points. However, the present invention is not limited thereto.

이하에서는, 설명의 편의를 위하여 기준시간단위가 5초이고, 센싱데이터는 1초에 한 개씩 생성되는 것을 예로 들어 설명하도록 한다. Hereinafter, for convenience of explanation, the reference time unit is 5 seconds, and the sensing data is generated once every second.

이때, 서버(100)는 터치패턴에 대한 복수의 센싱데이터인 제1 내지 제 n+2 센싱데이터(T1~Tn+2)를 수신할 수 있다. In this case, the server 100 may receive the first to n+2 sensing data T1 to Tn+2, which is a plurality of sensing data for the touch pattern.

이어서, 서버(100)는 수신한 센싱데이터로부터 기준시간단위인 5초 이내에 발생한 모든 터치패턴에 대한 센싱데이터를 추출할 수 있다.Subsequently, the server 100 may extract sensing data for all touch patterns occurring within 5 seconds, which is a reference time unit, from the received sensing data.

이어서, 서버(100)는 5초 이내에 발생한 센싱데이터 중에서 시계열적으로 선순위에 생성된 제1 센싱데이터(T1)를 제1 시작점으로 설정할 수 있다. 서버(100)는 제1 센싱데이터(T1)를 포함하여 기준시간단위인 5초 이내에 발생한 모든 터치패턴에 대해 생성된 제1 내지 제5 센싱데이터(T1~T5)를 제1 윈도우(W1)로 그룹핑할 수 있다.Subsequently, the server 100 may set the first sensing data T1 generated in a time-sequential priority among sensing data generated within 5 seconds as a first starting point. The server 100 uses the first to fifth sensing data T1 to T5 generated for all touch patterns generated within 5 seconds, which is a reference time unit, including the first sensing data T1 as a first window W1. Can be grouped.

이어서, 서버(100)는 제2 센싱데이터(T2)를 제2 시작점으로 설정하여 5초 이내에 생성된 제2 내지 제6 센싱데이터(T2~T6)를 하나의 그룹으로 설정하여 제2 윈도우(W2)를 생성할 수 있다. 이때, 제2 내지 제5 센싱데이터(T2~T5)는 제1 윈도우(W1) 및 제2 윈도우(W2)에 동시에 포함될 수 있다.Subsequently, the server 100 sets the second sensing data T2 as a second starting point and sets the second to sixth sensing data T2 to T6 generated within 5 seconds as one group, and the second window W2 ) Can be created. In this case, the second to fifth sensing data T2 to T5 may be simultaneously included in the first window W1 and the second window W2.

이어서, 서버(100)는 제3 내지 제7 센싱데이터(T3~T7)에 대해 제3 윈도우(W3), 제4 내지 제8 센싱데이터(T4~T8)에 대해 제4 윈도우(W4) 및 제n-2 내지 제n+1 센싱데이터(Tn-2~Tn+2)에 대해 제n-2 윈도우(Wn-2)를 생성할 수 있다.Subsequently, the server 100 provides a third window W3 for the third to seventh sensing data T3 to T7, and a fourth window W4 for the fourth to eighth sensing data T4 to T8. An n-2th window W n-2 may be generated for n-2 to n+1th sensing data T n-2 to T n+2.

즉, 전술한 방법을 통하여 서버(100)는 슬라이딩 윈도우 방식을 이용하여 미리 설정된 기준시간단위로 수신된 센싱데이터를 그룹핑할 수 있다.That is, through the above-described method, the server 100 may group sensing data received in a preset reference time unit using a sliding window method.

도 10 및 도 11은 도 8의 S330 단계에서 제스처 타입을 이용하여 센싱데이터를 그룹핑하는 본 발명의 다른 예를 설명하기 위한 도면이다. 여기에서 도 10은 미리 정해진 이벤트의 타입을 설명하기 위한 도면이고, 도 11은 미리 정해진 타입으로 분류된 이벤트에 대한 센싱데이터를 그룹핑하는 방법을 나타내는 도면이다.10 and 11 are diagrams for explaining another example of the present invention in which sensing data is grouped using a gesture type in step S330 of FIG. 8. Here, FIG. 10 is a diagram illustrating a type of a predetermined event, and FIG. 11 is a diagram illustrating a method of grouping sensing data for events classified into a predetermined type.

도 10을 참조하면, 서버(100)는 사용자 단말(200)의 화면에 첫 터치가 발생하는 순간부터 센싱데이터를 수집하고, 터치가 종료된 경우 센싱데이터 수집을 종료할 수 있다. 이때, 서버(100)는 사용자 단말(200)의 화면에 발생한 터치에 대한 기본적인 터치정보 또는 터치에 대해 수집되는 센싱데이터의 종류를 이용하여 이벤트 타입을 분류할 수 있다. Referring to FIG. 10, the server 100 may collect sensing data from the moment when the first touch occurs on the screen of the user terminal 200, and may terminate sensing data collection when the touch is terminated. In this case, the server 100 may classify the event type using basic touch information about a touch generated on the screen of the user terminal 200 or a type of sensing data collected for the touch.

예를 들어, 서버(100)는 센싱데이터를 손가락 터치동작(onDown; GT0), 던지기(onFling; GT1), 스크롤(onScroll; GT2) 및 싱글탭(onSingleTap; GT3)의 이벤트 타입으로 구분할 수 있다. 다만, 이는 하나의 예시에 불과하고, 추가적인 이벤트 타입이 추가될 수 있음은 물론이다.For example, the server 100 may classify sensing data into event types of a finger touch operation (onDown; GT0), throwing (onFling; GT1), scrolling (onScroll; GT2) and single tap (onSingleTap; GT3). However, this is only an example, and it goes without saying that an additional event type may be added.

구체적으로, 사용자 단말(200)에 최초로 터치이벤트가 발생하는 경우, 서버(100)는 최초 터치동작을 손가락 터치동작(GT0)으로 설정할 수 있다. 손가락 터치동작(GT0)은 터치가 발생한 x좌표, 터치가 발생한 y좌표, 터치압력, 터치크기, 자이로센서의 데이터 또는 가속도센서의 데이터를 포함할 수 있다. 손가락 터치동작(GT0)은 던지기(GT1), 스크롤(GT2) 및 싱글탭(GT3) 등의 모든 이벤트가 발생하기전에 우선적으로 선행될 수 있다.Specifically, when a touch event occurs for the first time in the user terminal 200, the server 100 may set the initial touch operation as a finger touch operation GT0. The finger touch operation GT0 may include an x-coordinate where a touch occurs, a y-coordinate where a touch occurs, a touch pressure, a touch size, data of a gyro sensor or data of an acceleration sensor. The finger touch operation GT0 may precede all events such as throwing (GT1), scrolling (GT2), and single tapping (GT3).

던지기(GT1)는 손가락 터치동작(GT0)이 발생한 후에 사용자 단말(200)의 화면을 슬라이딩하듯이 터치하는 이벤트를 나타낼 수 있다. 이때, 던지기(GT1) 동작은, 터치가 발생한 x좌표 및 y좌표, 터치압력, 터치크기, x좌표 및 y좌표의 속도, 자이로센서의 데이터 또는 가속도센서의 데이터를 포함할 수 있다.The throw GT1 may represent an event of sliding the screen of the user terminal 200 after the finger touch operation GT0 occurs. In this case, the throwing (GT1) operation may include the x-coordinate and y-coordinate, the touch pressure, the touch size, the speed of the x-coordinate and y-coordinate, data of a gyro sensor, or data of an acceleration sensor.

스크롤(GT2)은 손가락 터치동작(GT0) 후 화면을 스크롤하는 이벤트를 나타낼 수 있다. 스크롤(GT2) 동작은, 터치가 발생한 x좌표 및 y좌표, 터치압력, 터치크기, x좌표 및 y좌표의 변경된 거리, 자이로센서의 데이터 또는 가속도센서의 데이터를 포함할 수 있다. 이때, 서버(100)는 터치동작(GT0)이 발생한 x좌표 및 y좌표에서 스크롤(GT2)이 종료된 위치에서 수신된 x좌표 및 y좌표의 거리를 이용하여 변경된 거리를 산출할 수 있다.The scroll GT2 may indicate an event of scrolling a screen after a finger touch operation GT0. The scroll GT2 operation may include an x-coordinate and y-coordinate, a touch pressure, a touch size, a changed distance of the x-coordinate and y-coordinate, data of a gyro sensor, or data of an acceleration sensor. In this case, the server 100 may calculate the changed distance by using the distances of the x-coordinate and y-coordinate received at the position where the scroll GT2 is terminated in the x-coordinate and y-coordinate where the touch operation GT0 has occurred.

이어서, 싱글탭(GT3)은 손가락 터치동작(GT0) 이벤트 후에 사용자가 사용자 단말(200)의 화면에서 손가락을 뗄 때 발생하는 이벤트일 수 있다. 이때, 싱글탭(GT3)은 터치가 종료된 상태이므로, 어떠한 데이터도 포함하지 않을 수 있다.Subsequently, the single tap GT3 may be an event that occurs when the user removes a finger from the screen of the user terminal 200 after the finger touch operation GT0 event. At this time, since the single tap GT3 is in a state in which the touch is terminated, any data may not be included.

한편, 도 11을 참조하면, 서버(100)는 이벤트 타입별로 분류된 데이터를 수신할 수 있다. 이때, 서버(100)는 발생시간 순으로 이벤트 타입 및 이벤트 타입에 대한 센싱데이터를 수신할 수 있다.Meanwhile, referring to FIG. 11, the server 100 may receive data classified by event type. In this case, the server 100 may receive the event type and sensing data for the event type in the order of occurrence time.

이어서, 서버(100)는 설정된 복수의 센싱데이터에 대해 미리 설정된 이벤트의 기준개수를 기초로 그룹을 설정할 수 있다. Subsequently, the server 100 may set a group based on a reference number of events set in advance for a plurality of set sensing data.

예를 들어, 기준개수가 3개인 경우, 서버(100)는 최초로 수신된 손가락 터치동작에 대한 센싱데이터를 이용하여 그룹을 생성할 수 있다. 서버(100)는 제1 센싱데이터(R1)를 시작점으로 설정하고, 제1 센싱데이터(R1) 수신 직후에 수신된 제2 센싱데이터(R2) 및 제3 센싱데이터(R3)를 포함하여 총 3개의 센싱데이터를 제1 그룹으로 설정할 수 있다. 또한, 서버(100)는 제2 센싱데이터(R2)를 시작점으로 설정하고, 제2 내지 제4 센싱데이터(R2~R4)를 제2 그룹으로 설정할 수 있다. For example, when the reference number is three, the server 100 may create a group by using sensing data for the first received finger touch operation. The server 100 sets the first sensing data R1 as a starting point, and includes the second sensing data R2 and the third sensing data R3 received immediately after receiving the first sensing data R1. Sensing data may be set as the first group. In addition, the server 100 may set the second sensing data R2 as a starting point and may set the second to fourth sensing data R2 to R4 as a second group.

이어서, 서버(100)는 그룹별 센싱데이터의 각 피라미터에 대한 대표값을 산출하고, 산출된 대표값을 기초로 터치패턴 프로파일을 추출할 수 있다.Subsequently, the server 100 may calculate a representative value for each parameter of the sensing data for each group, and extract a touch pattern profile based on the calculated representative value.

이어서, 서버(100)는 생성된 각 그룹 내에서 동일한 타입의 이벤트를 추출하고, 추출된 동일 타입의 이벤트에 포함된 센싱데이터에 대해 각 파라미터 대표값을 산출할 수 있다. 예를 들어, 서버(100)는 그룹별로 던지기(GT1), 스크롤(GT2) 및 싱글탭(GT3)에 대한 대표값을 추출할 수 있다. Subsequently, the server 100 may extract an event of the same type in each generated group, and calculate a representative value of each parameter for sensing data included in the extracted event of the same type. For example, the server 100 may extract representative values for throw (GT1), scroll (GT2), and single tap (GT3) for each group.

이어서, 서버(100)는 각 그룹에서 이벤트 타입별로 추출된 대표값들을 하나의 벡터로 연결할 수 있다. 예를 들어, 서버(100)는 제1 그룹 내지 제n 그룹에서 추출된 던지기(GT1), 스크롤(GT2) 및 싱글탭(GT3) 이벤트에 대한 대표값들을 하나의 벡터로 연결할 수 있다. 이어서, 생성된 단일 벡터는 터치패턴 프로파일에 포함될 수 있다.Subsequently, the server 100 may connect the representative values extracted for each event type from each group into one vector. For example, the server 100 may connect representative values for throwing (GT1), scrolling (GT2), and single tapping (GT3) events extracted from the first to nth groups into one vector. Subsequently, the generated single vector may be included in the touch pattern profile.

추가적으로, 손가락 터치동작(GT0)의 데이터는, 직후에 오는 이벤트에 포함되어 해당 이벤트의 대표값에 반영될 수 있다. 또한, 그룹 내에서 맨 마지막에 오는 손가락 터치동작(GT0)의 데이터는 대표값을 계산하는데 반영되지 않고 버려질 수 있다. 다만, 이는 하나의 예시에 불과하며, 본 발명이 이에 한정되는 것은 아니다.Additionally, data of the finger touch operation GT0 may be included in an event immediately following and reflected in a representative value of the event. In addition, data of the last finger touch operation GT0 in the group may be discarded without being reflected in calculating the representative value. However, this is only an example, and the present invention is not limited thereto.

즉, 전술한 방법을 통하여, 서버(100)는 미리 설정된 이벤트 타입으로 센싱데이터를 분류하고, 이벤트의 기준개수를 이용함으로써, 수신된 센싱데이터를 그룹핑할 수 있다.That is, through the above-described method, the server 100 may group the received sensing data by classifying the sensing data into a preset event type and using the reference number of events.

도 12는 도 8의 S350 단계에서 딥러닝 모듈을 이용하여 유사도를 산출하는 방법을 설명하기 위한 도면이다. 이하에서는 전술된 내용과 중복되는 내용은 생략하여 기술하도록 한다.FIG. 12 is a diagram illustrating a method of calculating a similarity by using a deep learning module in step S350 of FIG. 8. Hereinafter, contents overlapping with the above-described contents will be omitted and described.

구체적으로, 도 12를 참조하면, 딥러닝 모듈(DM)은 터치패턴 프로파일 및 고객등록패턴 프로파일을 입력받고, 이에 대한 출력으로 터치패턴 프로파일 및 고객등록패턴 프로파일 간의 터치패턴 유사도를 출력할 수 있다.Specifically, referring to FIG. 12, the deep learning module DM may receive a touch pattern profile and a customer registration pattern profile, and output the similarity of a touch pattern between the touch pattern profile and the customer registration pattern profile as an output thereof.

이때, 딥러닝 모듈(DM)은 미리 설정된 기준시간단위를 이용하여 생성된 고객등록패턴 프로파일의 센싱데이터에 대한 그룹별 대표값과, 사용자로부터 입력된 터치패턴 프로파일의 센싱데이터에 대한 그룹별 대표값을 입력받을 수 있다.At this time, the deep learning module (DM) is a representative value for each group for the sensing data of the customer registration pattern profile generated using a preset reference time unit, and a representative value for each group for the sensing data of the touch pattern profile input from the user. Can be input.

한편, 터치패턴 프로파일이 미리 설정된 이벤트 타입을 이용하여 생성된 경우, 터치패턴 프로파일은 던지기(GT1), 스크롤(GT2) 및 싱글탭(GT3) 이벤트에 대한 대표값을 포함하는 단일 벡터로 구성될 수 있다. 이때, 고객등록패턴 프로파일도 터치패턴 프로파일와 동일한 단일 벡터 형태로 구성될 수 있다.Meanwhile, when the touch pattern profile is generated using a preset event type, the touch pattern profile may be composed of a single vector including representative values for throw (GT1), scroll (GT2), and single tap (GT3) events. have. In this case, the customer registration pattern profile may also be configured in the same single vector form as the touch pattern profile.

이어서, 딥러닝 모듈(DM)은 빅데이터를 기초로 미리 학습된 인공신경망을 이용하여, 터치패턴의 유사도를 도출할 수 있다. 딥러닝 모듈(DM)은 학습 인자로 입력되는 파라미터들에 대하여 머신 러닝(machine learning)을 수행할 수 있다. 딥러닝 모듈(DM)은 학습 인자로 입력되는 해당 고객의 수집데이터(즉, positive data)와 다른 고객의 수집데이터(즉, negative data)를 이용하여 인공신경망을 학습시킬 수 있다. 이때, 서버(100)의 메모리에는 머신 러닝에 사용되는 데이터 및 결과 데이터 등이 저장될 수 있다.Subsequently, the deep learning module DM may derive the similarity of the touch pattern by using the artificial neural network learned in advance based on the big data. The deep learning module DM may perform machine learning on parameters input as learning factors. The deep learning module (DM) may train an artificial neural network using collected data (ie, positive data) of a corresponding customer input as a learning factor and data collected from other customers (ie, negative data). In this case, data and result data used for machine learning may be stored in the memory of the server 100.

딥러닝 모듈(DM)의 인공신경망 학습은 주어진 입력에 대하여 원하는 출력이 나오도록 노드간 연결선의 웨이트(weight)를 조정(필요한 경우 바이어스(bias) 값도 조정)함으로써 이루어질 수 있다. 또한, 인공신경망은 학습에 의해 웨이트(weight) 값을 지속적으로 업데이트시킬 수 있다. 또한, 인공신경망의 학습에는 역전파(Back Propagation) 등의 방법이 사용될 수 있다.The artificial neural network learning of the deep learning module (DM) can be accomplished by adjusting the weight of the connection line between nodes (and adjusting the bias value if necessary) so that a desired output is produced for a given input. In addition, the artificial neural network may continuously update the weight value by learning. In addition, a method such as back propagation may be used for learning of the artificial neural network.

한편, 서버(100)의 메모리에는 머신 러닝으로 미리 학습된 인공신경망(Artificial Neural Network)이 탑재될 수 있다.Meanwhile, an artificial neural network previously learned by machine learning may be mounted in the memory of the server 100.

딥러닝 모듈(DM)은 도출된 파라미터에 대한 모델링 데이터를 입력 데이터로 하는 머신 러닝(machine learning) 기반의 개선 프로세스 추천 동작을 수행할 수 있다. 이때, 인공신경망의 머신 러닝 방법으로는 준지도학습(semi-supervised learning)과 지도학습(supervised learning)이 모두 사용될 수 있다. 또한, 딥러닝 모듈(DM)은 설정에 따라 학습 후 터치패턴 유사도를 출력하기 위한 인공신경망 구조를 자동 업데이트하도록 제어될 수 있다.The deep learning module DM may perform a machine learning-based improvement process recommendation operation using modeling data for the derived parameters as input data. In this case, both semi-supervised learning and supervised learning may be used as a machine learning method of the artificial neural network. In addition, the deep learning module DM may be controlled to automatically update an artificial neural network structure for outputting a touch pattern similarity after learning according to a setting.

추가적으로, 도면에 명확하게 도시하지는 않았으나, 본 발명의 다른 실시예에서, 딥러닝 모듈(DM)의 동작은 서버(100) 또는 별도의 클라우드 서버(미도시)에서 실시될 수 있다. 이하에서는, 전술한 본 발명의 실시예에 따른 딥러닝 모듈(DM)의 구성에 대해 살펴보도록 한다.Additionally, although not clearly shown in the drawings, in another embodiment of the present invention, the operation of the deep learning module DM may be performed in the server 100 or a separate cloud server (not shown). Hereinafter, a configuration of the deep learning module (DM) according to an embodiment of the present invention described above will be described.

도 13은 본 발명의 몇몇 실시예에서 이용되는 딥러닝 모듈의 구성을 도시한 도면이다. 여기에서, 도 13에 도시된 딥러닝 모듈의 구성은 도 7 및 도 12를 참조하여 전술한 딥러닝 모듈(DM)에 적용가능한 하나의 실시예가 될 수 있다.13 is a diagram showing the configuration of a deep learning module used in some embodiments of the present invention. Here, the configuration of the deep learning module shown in FIG. 13 may be an embodiment applicable to the deep learning module (DM) described above with reference to FIGS. 7 and 12.

도 13을 참조하면, 딥러닝 모듈(DM)은 터치패턴 프로파일 및 고객등록패턴 프로파일을 입력노드로 하는 입력 레이어(input)와, 터치패턴 프로파일 및 고객등록패턴 프로파일 간의 유사도를 출력노드로 하는 출력 레이어(Output)와, 입력 레이어와 출력 레이어 사이에 배치되는 M 개의 히든 레이어를 포함한다.Referring to FIG. 13, the deep learning module (DM) is an input layer using a touch pattern profile and a customer registration pattern profile as an input node, and an output layer using a similarity between the touch pattern profile and the customer registration pattern profile as an output node. It includes (Output) and M hidden layers disposed between the input layer and the output layer.

여기서, 각 레이어들의 노드를 연결하는 에지(edge)에는 가중치가 설정될 수 있다. 이러한 가중치 혹은 에지의 유무는 학습 과정에서 추가, 제거, 또는 업데이트 될 수 있다. 따라서, 학습 과정을 통하여, k개의 입력노드와 i개의 출력노드 사이에 배치되는 노드들 및 에지들의 가중치는 업데이트될 수 있다.Here, a weight may be set on an edge connecting nodes of each layer. The presence or absence of these weights or edges can be added, removed, or updated during the learning process. Accordingly, through the learning process, weights of nodes and edges disposed between k input nodes and i output nodes may be updated.

딥러닝 모듈(DM)이 학습을 수행하기 전에는 모든 노드와 에지는 초기값으로 설정될 수 있다. 그러나, 누적하여 정보가 입력될 경우, 노드 및 에지들의 가중치는 변경되고, 이 과정에서 학습인자로 입력되는 파라미터들(즉, 터치패턴 프로파일 및 등록패턴 프로파일의 그룹별 각 파라미터에 대한 대표값 또는 단일벡터)과 출력노드로 할당되는 값(즉, 터치패턴 프로파일 및 고객등록패턴 프로파일 간의 유사도) 사이의 매칭이 이루어질 수 있다.Before the deep learning module (DM) performs learning, all nodes and edges may be set to initial values. However, when information is accumulated and inputted, the weights of nodes and edges are changed, and parameters input as learning factors in this process (i.e., representative values for each parameter of each group of the touch pattern profile and registration pattern profile or single Vector) and a value assigned to the output node (ie, similarity between the touch pattern profile and the customer registration pattern profile) may be matched.

추가적으로, 클라우드 서버(미도시)를 이용하는 경우, 딥러닝 모듈(DM)은 많은 수의 파라미터들을 수신하여 처리할 수 있다. 따라서, 딥러닝 모듈(DM)은 방대한 데이터에 기반하여 학습을 수행할 수 있다.Additionally, when using a cloud server (not shown), the deep learning module DM may receive and process a large number of parameters. Therefore, the deep learning module (DM) can perform learning based on vast amounts of data.

딥러닝 모듈(DM)을 구성하는 입력노드와 출력노드 사이의 노드 및 에지의 가중치는 딥러닝 모듈(DM)의 학습 과정에 의해 업데이트될 수 있다. 또한, 딥러닝 모듈(DM)에서 출력되는 파라미터는 터치패턴 프로파일 및 고객등록패턴 프로파일 간의 유사도 외에도 다양한 데이터로 추가 확장될 수 있음은 물론이다.The weights of nodes and edges between the input node and the output node constituting the deep learning module DM may be updated by a learning process of the deep learning module DM. In addition, it goes without saying that the parameters output from the deep learning module (DM) can be further extended to various data in addition to the similarity between the touch pattern profile and the customer registration pattern profile.

이어서, 서버(100)는 산출된 유사도를 기초로 터치패턴 유사도가 미리 설정된 기준치보다 큰지 판단하고, 미리 설정된 기준치보다 큰 경우, 사용자 단말(200)에서 요청받은 금융거래를 제공할 수 있다. Subsequently, the server 100 may determine whether the touch pattern similarity is greater than a preset reference value based on the calculated similarity, and if it is greater than the preset reference value, the server 100 may provide a financial transaction requested from the user terminal 200.

따라서, 본 발명의 사용자 인증 방법은, 사용자에 의해 입력된 터치패턴에서 추출된 센싱데이터를 기준시간단위 또는 미리 설정된 이벤트의 기준개수를 이용하여 그룹핑하고, 그룹핑된 센싱데이터를 기초로 생성된 터치패턴 프로파일과 미리 등록된 고객등록패턴 프로파일 간에 유사도를 각각 산출하여 비교함으로써, 인증의 보안성을 향상시킬 수 있다. Accordingly, in the user authentication method of the present invention, the sensing data extracted from the touch pattern input by the user are grouped using a reference time unit or a reference number of preset events, and a touch pattern generated based on the grouped sensing data By calculating and comparing the degree of similarity between the profile and the previously registered customer registration pattern profile, it is possible to improve the security of authentication.

또한, 인증을 위한 별도의 패턴 입력 단계를 생략할 수 있어 사용자의 편의성을 향상시킬 수 있고, 사용자가 평소에 입력하는 터치패턴을 이용하여 유사도를 분석함으로써 인증의 정확도를 높일 수 있다.In addition, since a separate pattern input step for authentication can be omitted, user convenience can be improved, and accuracy of authentication can be improved by analyzing the similarity using a touch pattern that the user normally inputs.

또한, 본 발명의 사용자 인증 방법은, 미리 학습된 딥러닝 모듈을 이용하여 전술한 방법으로 산출된 터치패턴 프로파일과 고객등록패턴 프로파일 간의 유사도를 산출하고, 산출된 유사도를 이용하여 사용자를 인증함으로써, 사용자 인증에 대한 정확도와 보안성을 향상시킬 수 있다. In addition, the user authentication method of the present invention calculates the similarity between the touch pattern profile calculated by the above-described method and the customer registration pattern profile using a pre-learned deep learning module, and authenticates the user using the calculated similarity, The accuracy and security of user authentication can be improved.

도 14는 본 발명의 몇몇 실시예에 따른 사용자 인증 방법을 수행하는 시스템의 하드웨어 구현을 설명하기 위한 도면이다.14 is a diagram illustrating a hardware implementation of a system that performs a user authentication method according to some embodiments of the present invention.

도 14를 참조하면, 본 발명의 몇몇 실시예들에 따른 사용자 인증 방법을 수행하는 서버(100)는 전자 장치(1000)로 구현될 수 있다. 전자 장치(1000)는 컨트롤러(1010), 입출력 장치(1220, I/O), 메모리 장치(1230, memory device), 인터페이스(1040) 및 버스(1250, bus)를 포함할 수 있다. 컨트롤러(1010), 입출력 장치(1020), 메모리 장치(1030) 및/또는 인터페이스(1040)는 버스(1050)를 통하여 서로 결합될 수 있다. 버스(1050)는 데이터들이 이동되는 통로(path)에 해당한다.Referring to FIG. 14, the server 100 performing the user authentication method according to some embodiments of the present invention may be implemented as an electronic device 1000. The electronic device 1000 may include a controller 1010, an input/output device 1220 (I/O), a memory device 1230, an interface 1040, and a bus 1250. The controller 1010, the input/output device 1020, the memory device 1030, and/or the interface 1040 may be coupled to each other through the bus 1050. The bus 1050 corresponds to a path through which data is moved.

구체적으로, 컨트롤러(1010)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit), 마이크로프로세서, 디지털 신호 프로세스, 마이크로컨트롤러, 어플리케이션 프로세서(AP, application processor) 및 이들과 유사한 기능을 수행할 수 있는 논리 소자들 중에서 적어도 하나를 포함할 수 있다. Specifically, the controller 1010 is a CPU (Central Processing Unit), MPU (Micro Processor Unit), MCU (Micro Controller Unit), GPU (Graphic Processing Unit), microprocessor, digital signal processor, microcontroller, application processor (AP , application processor), and at least one of logic elements capable of performing functions similar to these.

입출력 장치(1020)는 키패드(keypad), 키보드, 터치스크린 및 디스플레이 장치 중 적어도 하나를 포함할 수 있다. 메모리 장치(1030)는 데이터 및/또는 프로그램 등을 저장할 수 있다.The input/output device 1020 may include at least one of a keypad, a keyboard, a touch screen, and a display device. The memory device 1030 may store data and/or programs.

인터페이스(1040)는 통신 네트워크로 데이터를 전송하거나 통신 네트워크로부터 데이터를 수신하는 기능을 수행할 수 있다. 인터페이스(1040)는 유선 또는 무선 형태일 수 있다. 예컨대, 인터페이스(1040)는 안테나 또는 유무선 트랜시버 등을 포함할 수 있다. 도시하지 않았지만, 메모리 장치(1030)는 컨트롤러(1010)의 동작을 향상시키기 위한 동작 메모리로서, 고속의 디램 및/또는 에스램 등을 더 포함할 수도 있다. 메모리 장치(1030)는 내부에 프로그램 또는 어플리케이션을 저장할 수 있다. The interface 1040 may perform a function of transmitting data to a communication network or receiving data from a communication network. The interface 1040 may be wired or wireless. For example, the interface 1040 may include an antenna or a wired/wireless transceiver. Although not shown, the memory device 1030 is an operation memory for improving the operation of the controller 1010 and may further include a high-speed DRAM and/or SRAM. The memory device 1030 may store a program or application therein.

사용자 단말(200)은 개인 휴대용 정보 단말(PDA, personal digital assistant) 포터블 컴퓨터(portable computer), 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 디지털 뮤직 플레이어(digital music player), 메모리 카드(memory card), 또는 정보를 무선환경에서 송신 및/또는 수신할 수 있는 모든 전자 제품에 적용될 수 있다.The user terminal 200 includes a personal digital assistant (PDA), a portable computer, a web tablet, a wireless phone, a mobile phone, and a digital music player. music player), memory card, or any electronic product capable of transmitting and/or receiving information in a wireless environment.

또는, 본 발명의 실시예들에 따른 서버(100) 및 사용자 단말(200)은 각각 복수의 전자 장치(1000)가 네트워크를 통해서 서로 연결되어 형성된 시스템일 수 있다. 이러한 경우에는 각각의 모듈 또는 모듈의 조합들이 전자 장치(1000)로 구현될 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.Alternatively, the server 100 and the user terminal 200 according to embodiments of the present invention may be a system formed by connecting a plurality of electronic devices 1000 to each other through a network, respectively. In this case, each module or combination of modules may be implemented as the electronic device 1000. However, this embodiment is not limited thereto.

추가적으로, 서버(100)는 워크스테이션(workstation), 데이터 센터, 인터넷 데이터 센터(internet data center(IDC)), DAS(direct attached storage) 시스템, SAN(storage area network) 시스템, NAS(network attached storage) 시스템 및 RAID(redundant array of inexpensive disks, or redundant array of independent disks) 시스템 중 적어도 하나로 구현될 수 있으나, 본 실시예가 이에 제한되는 것은 아니다.Additionally, the server 100 includes a workstation, a data center, an internet data center (IDC), a direct attached storage (DAS) system, a storage area network (SAN) system, and a network attached storage (NAS) system. It may be implemented as at least one of a system and a redundant array of inexpensive disks, or redundant array of independent disks (RAID) system, but the present embodiment is not limited thereto.

또한, 서버(100)는 사용자 단말(200)을 이용하여 네트워크를 통해서 데이터를 전송할 수 있다. 네트워크는 유선 인터넷 기술, 무선 인터넷 기술 및 근거리 통신 기술에 의한 네트워크를 포함할 수 있다. 유선 인터넷 기술은 예를 들어, 근거리 통신망(LAN, Local area network) 및 광역 통신망(WAN, wide area network) 중 적어도 하나를 포함할 수 있다.In addition, the server 100 may transmit data through a network using the user terminal 200. The network may include a network based on wired Internet technology, wireless Internet technology, and short-range communication technology. Wired Internet technology may include, for example, at least one of a local area network (LAN) and a wide area network (WAN).

무선 인터넷 기술은 예를 들어, 무선랜(Wireless LAN: WLAN), DMNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS) 및 5G NR(New Radio) 기술 중 적어도 하나를 포함할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.Wireless Internet technologies include, for example, Wireless LAN (WLAN), Digital Living Network Alliance (DMNA), Wireless Broadband: Wibro, World Interoperability for Microwave Access (Wimax), and High Speed Downlink Packet (HSDPA). Access), High Speed Uplink Packet Access (HSUPA), IEEE 802.16, Long Term Evolution (LTE), Long Term Evolution-Advanced (LTE-A), Wireless Mobile Broadband Service (WMBS) And at least one of 5G New Radio (NR) technology. However, this embodiment is not limited thereto.

근거리 통신 기술은 예를 들어, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra-Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct), 5G NR (New Radio) 중 적어도 하나를 포함할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.Short-range communication technologies include, for example, Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra-Wideband (UWB), ZigBee, and Near Field Communication: NFC), Ultra Sound Communication (USC), Visible Light Communication (VLC), Wi-Fi, Wi-Fi Direct, at least one of 5G NR (New Radio) It may include. However, this embodiment is not limited thereto.

네트워크를 통해서 통신하는 서버(100)는 이동통신을 위한 기술표준 및 표준 통신 방식을 준수할 수 있다. 예를 들어, 표준 통신 방식은 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTEA(Long Term Evolution-Advanced) 및 5G NR(New Radio) 중 적어도 하나를 포함할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.The server 100 communicating through a network may comply with a technical standard and a standard communication method for mobile communication. For example, standard communication methods are GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000), EV-DO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only). , WCDMA (Wideband CDMA), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), LTEA (Long Term Evolution-Advanced) and at least one of 5G NR (New Radio) It may include. However, this embodiment is not limited thereto.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present embodiment, and those of ordinary skill in the technical field to which the present embodiment pertains will be able to make various modifications and variations without departing from the essential characteristics of the present embodiment. Accordingly, the present embodiments are not intended to limit the technical idea of the present embodiment, but to explain the technical idea, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The scope of protection of this embodiment should be interpreted by the claims below, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present embodiment.

Claims (14)

사용자 단말과 연계되는 인증 서버에서 수행되는 사용자 인증 방법에 있어서,
상기 사용자 단말의 화면 상에 입력된 터치패턴에 대한 센싱데이터를 수신하는 단계;
상기 수신된 복수의 센싱데이터를 그룹핑하는 단계;
상기 그룹핑된 각 그룹에 포함된 복수의 센싱데이터에 대하여, 상기 센싱데이터의 각 파라미터에 대한 대표값을 산출하는 단계;
상기 산출된 각 파라미터에 대한 대표값을 이용하여 각 그룹별로 터치패턴 프로파일을 생성하는 단계;
상기 생성된 터치패턴 프로파일과, 상기 사용자 단말로부터 과거에 수신하여 미리 저장된 고객등록패턴 프로파일 간의 유사도를 산출하는 단계; 및
상기 산출된 유사도를 기초로 상기 사용자 단말이 요청한 서비스의 인증여부를 결정하는 단계를 포함하되,
상기 그룹핑된 각 그룹에서, 서로 인접한 제1 그룹 및 제2 그룹은, 서로 공통된 점영역에서 발생된 센싱데이터를 공통되게 포함하는
사용자 인증 방법.
In the user authentication method performed in an authentication server linked to a user terminal,
Receiving sensing data for a touch pattern input on the screen of the user terminal;
Grouping the plurality of received sensing data;
Calculating a representative value for each parameter of the sensing data for a plurality of sensing data included in each grouped group;
Generating a touch pattern profile for each group using the calculated representative values for each parameter;
Calculating a similarity between the generated touch pattern profile and a customer registration pattern profile previously stored and previously stored from the user terminal; And
Including the step of determining whether to authenticate the service requested by the user terminal based on the calculated similarity,
In each of the grouped groups, the first group and the second group adjacent to each other include sensing data generated in common point regions
User authentication method.
제1 항에 있어서,
상기 터치패턴은, 미리 설정된 복수의 점을 중심으로, 해당 점의 주변영역에 각각 설정된 복수의 점영역을 지나도록 형성되고,
상기 그룹핑하는 단계는, 상기 터치패턴 내에서 인접한 두개의 점영역을 잇는 선에서 도출되는 복수의 센싱데이터를 하나의 그룹으로 설정하는 것을 포함하는
사용자 인증 방법.
The method of claim 1,
The touch pattern is formed to pass through a plurality of point areas respectively set in a peripheral area of the corresponding point, centering on a plurality of preset points,
The grouping includes setting a plurality of sensing data derived from a line connecting two adjacent dot regions within the touch pattern as one group.
User authentication method.
제2 항에 있어서,
상기 터치패턴은, 미리 설정된 제1 내지 제3 점을 중심으로 각각 설정된 제1 내지 제3 영역을 지나도록 형성되되,
상기 그룹핑하는 단계는,
상기 제1 점을 중심으로 설정된 상기 제1 영역에 대한 제1 센싱데이터를 제1 시작점으로 하고, 상기 제2 점을 중심으로 설정된 상기 제2 영역에 대한 제2 센싱데이터를 제1 종료점으로 하여, 상기 제1 시작점과 상기 제1 종료점 사이의 센싱데이터를 상기 제1 그룹으로 설정하고,
상기 제2 센싱데이터를 제2 시작점으로 하고, 상기 제3 점을 중심으로 설정된 상기 제3 영역에 대한 제3 센싱데이터를 제2 종료점으로 하여, 상기 제2 시작점과 상기 제2 종료점 사이의 센싱데이터를 상기 제2 그룹으로 설정하는 것을 포함하는
사용자 인증 방법.
The method of claim 2,
The touch pattern is formed to pass through first to third regions respectively set around first to third points set in advance,
The grouping step,
First sensing data for the first area set around the first point as a first starting point, and second sensing data for the second area set around the second point as a first end point, Set sensing data between the first start point and the first end point as the first group,
Sensing data between the second starting point and the second ending point by using the second sensing data as a second starting point and third sensing data for the third area set around the third point as a second ending point Comprising setting to the second group
User authentication method.
제3 항에 있어서,
상기 센싱데이터는, 미리 설정된 시간단위로 생성되고,
상기 제1 그룹과 상기 제2 그룹은, 상기 제2 점을 중심으로 설정된 상기 제2 영역에 대한 상기 제2센싱데이터를 공통되게 포함하여, 상기 제1 및 제2 그룹은 서로 중복되는 센싱데이터를 포함하는
사용자 인증 방법.
The method of claim 3,
The sensing data is generated in a preset time unit,
The first group and the second group commonly include the second sensing data for the second area set around the second point, and the first and second groups receive sensing data overlapping each other. Inclusive
User authentication method.
제2 항에 있어서,
상기 터치패턴에서 그룹핑된 그룹의 개수는, 상기 터치패턴이 지나는 상기 영역의 개수보다 작은
사용자 인증 방법.
The method of claim 2,
The number of groups grouped in the touch pattern is smaller than the number of regions through which the touch pattern passes.
User authentication method.
제2 항에 있어서,
상기 인증여부를 결정하는 단계는,
상기 유사도가 미리 설정된 기준치보다 높고, 상기 터치패턴이 미리 설정된 등록패턴과 일치하는 경우, 상기 서비스의 인증을 승인하는 것을 포함하는
사용자 인증 방법.
The method of claim 2,
The step of determining whether to authenticate,
If the similarity is higher than a preset reference value and the touch pattern matches a preset registration pattern, approving the authentication of the service.
User authentication method.
사용자 단말과 연계되는 인증 서버에서 수행되는 사용자 인증 방법에 있어서,
상기 사용자 단말의 화면 상에 입력된 터치패턴에 대한 센싱데이터를 수신하는 단계;
상기 수신된 복수의 센싱데이터를 그룹핑하는 단계;
상기 그룹핑된 각 그룹에 포함된 복수의 센싱데이터에 대하여, 상기 센싱데이터의 각 파라미터에 대한 대표값을 산출하는 단계;
상기 산출된 각 파라미터에 대한 대표값을 이용하여 각 그룹별로 터치패턴 프로파일을 생성하는 단계;
상기 생성된 터치패턴 프로파일과, 상기 사용자 단말로부터 과거에 수신하여 미리 저장된 고객등록패턴 프로파일 간의 유사도를 산출하는 단계; 및
상기 산출된 유사도를 기초로 상기 사용자 단말이 요청한 서비스의 인증여부를 결정하는 단계를 포함하되,
상기 터치패턴은, 생성시간 순으로 정렬되는 복수의 센싱데이터를 포함하고,
상기 그룹핑하는 단계는,
미리 설정된 기준시간단위에 포함된 센싱데이터를 이용하여 그룹을 생성하되,
상기 각각의 그룹은, 서로 다른 시작점을 기준으로, 상기 기준시간단위를 이용하여 범위가 설정되되,
상기 생성된 복수의 그룹 중, 시간순으로 인접한 복수의 그룹은, 동일한 센싱데이터를 공통되게 포함하는
사용자 인증 방법.
In the user authentication method performed in an authentication server linked to a user terminal,
Receiving sensing data for a touch pattern input on the screen of the user terminal;
Grouping the plurality of received sensing data;
Calculating a representative value for each parameter of the sensing data for a plurality of sensing data included in each grouped group;
Generating a touch pattern profile for each group using the calculated representative values for each parameter;
Calculating a similarity between the generated touch pattern profile and a customer registration pattern profile previously stored and previously stored from the user terminal; And
Including the step of determining whether to authenticate the service requested by the user terminal based on the calculated similarity,
The touch pattern includes a plurality of sensing data arranged in the order of generation time,
The grouping step,
A group is created using the sensing data included in the preset reference time unit,
Each of the groups is set with a range based on a different starting point using the reference time unit,
Among the generated plurality of groups, a plurality of groups adjacent to each other in chronological order include the same sensing data in common.
User authentication method.
사용자 단말과 연계되는 인증 서버에서 수행되는 사용자 인증 방법에 있어서,
상기 사용자 단말의 화면 상에 입력된 터치패턴에 대한 센싱데이터를 수신하는 단계;
상기 수신된 복수의 센싱데이터를 그룹핑하는 단계;
상기 그룹핑된 각 그룹에 포함된 복수의 센싱데이터에 대하여, 상기 센싱데이터의 각 파라미터에 대한 대표값을 산출하는 단계;
상기 산출된 각 파라미터에 대한 대표값을 이용하여 각 그룹별로 터치패턴 프로파일을 생성하는 단계;
상기 생성된 터치패턴 프로파일과, 상기 사용자 단말로부터 과거에 수신하여 미리 저장된 고객등록패턴 프로파일 간의 유사도를 산출하는 단계; 및
상기 산출된 유사도를 기초로 상기 사용자 단말이 요청한 서비스의 인증여부를 결정하는 단계를 포함하되,
상기 터치패턴은, 생성시간 순으로 정렬되는 복수의 센싱데이터를 포함하고,
상기 각각의 센싱데이터는, 미리 정해진 타입의 이벤트로 구분되되,
상기 그룹핑하는 단계는,
미리 정해진 상기 이벤트의 기준개수에 대응되는 센싱데이터를 포함하도록 그룹을 생성하고,
상기 각각의 그룹은, 서로 다른 시작점을 기준으로, 상기 이벤트의 기준개수를 이용하여 범위가 설정되어 생성되되,
상기 생성된 복수의 그룹 중, 시간순으로 인접한 복수의 그룹은, 동일한 센싱데이터를 공통되게 포함하는
사용자 인증 방법.
In the user authentication method performed in an authentication server linked to a user terminal,
Receiving sensing data for a touch pattern input on the screen of the user terminal;
Grouping the plurality of received sensing data;
Calculating a representative value for each parameter of the sensing data for a plurality of sensing data included in each grouped group;
Generating a touch pattern profile for each group using the calculated representative values for each parameter;
Calculating a similarity between the generated touch pattern profile and a customer registration pattern profile previously stored and previously stored from the user terminal; And
Including the step of determining whether to authenticate the service requested by the user terminal based on the calculated similarity,
The touch pattern includes a plurality of sensing data arranged in the order of generation time,
Each of the sensing data is divided into a predetermined type of event,
The grouping step,
Create a group to include sensing data corresponding to the predetermined reference number of events,
Each of the groups is created by setting a range based on a different starting point using the reference number of events,
Among the generated plurality of groups, a plurality of groups adjacent to each other in chronological order include the same sensing data in common.
User authentication method.
제8 항에 있어서,
상기 이벤트는, 던지기(onfling), 스크롤(onscroll) 및 싱글탭(onsingleTap) 중 어느 하나의 타입으로 구분되고,
각각의 상기 이벤트는, 손가락 터치동작(onDown)에 의해 구분되는
사용자 인증 방법.
The method of claim 8,
The event is classified into any one type of throwing (onfling), scrolling (onscroll) and single tapping (onsingleTap),
Each of the above events is classified by a finger touch operation (onDown).
User authentication method.
제8 항에 있어서,
상기 각 파라미터에 대한 대표값을 산출하는 단계는,
동일 그룹 내에서 동일한 타입의 상기 이벤트를 추출하고,
상기 추출된 동일한 타입의 이벤트에 포함된 센싱데이터에 대하여, 각 파라미터에 대한 대표값을 산출하는 것을 포함하고,
상기 각 그룹별로 터치패턴 프로파일을 생성하는 단계에서,
상기 터치패턴 프로파일은, 상기 대표값으로 구성된 각각의 이벤트 타입을 연결하여 생성된 하나의 벡터를 포함하는
사용자 인증 방법.
The method of claim 8,
The step of calculating a representative value for each parameter,
Extracting the event of the same type within the same group,
For the sensing data included in the extracted event of the same type, including calculating a representative value for each parameter,
In the step of generating a touch pattern profile for each group,
The touch pattern profile includes one vector generated by connecting each event type composed of the representative value.
User authentication method.
제1 항, 제7 항 또는 제8 항에 있어서,
상기 센싱데이터의 파라미터는, 터치시간, 터치위치, 터치압력, 터치크기, 자이로센서의 데이터, 또는 가속도센서의 데이터 중 적어도 둘 이상으로 구성되고,
상기 대표값을 산출하는 단계는, 상기 각 파라미터의 평균값, 최대값, 최소값, 표준편차, 중간값, RMS(Root mean square), 또는 RSS(Root Sum Square)를 계산하는 것을 포함하는
사용자 인증 방법.
The method of claim 1, 7 or 8,
The parameters of the sensing data are composed of at least two or more of touch time, touch position, touch pressure, touch size, data of a gyro sensor, or data of an acceleration sensor,
The step of calculating the representative value includes calculating an average value, a maximum value, a minimum value, a standard deviation, a median value, a root mean square (RMS), or a root sum square (RSS) of each parameter.
User authentication method.
제1 항, 제7 항 또는 제8 항에 있어서,
상기 유사도를 산출하는 단계는,
상기 터치패턴에서 도출된 상기 그룹별 터치패턴 프로파일과, 이에 대응되는 미리 저장된 고객등록패턴 프로파일에 대한 그룹별 유사도를 각각 산출하고, 산출된 복수의 유사도에 대한 평균을 산출하는 것을 포함하고,
상기 인증여부를 결정하는 단계는,
상기 산출된 평균이 미리 설정된 기준치보다 높은 경우, 인증이 성공되었음을 판단하고,
상기 산출된 평균이 미리 설정된 기준치보다 작은 경우, 추가적인 인증을 요청하는 것을 포함하는
사용자 인증 방법.
The method of claim 1, 7 or 8,
The step of calculating the similarity,
Comprising each group-specific similarity to the group-specific touch pattern profile derived from the touch pattern and a pre-stored customer registration pattern profile corresponding thereto, and calculating an average of the calculated plurality of similarities,
The step of determining whether to authenticate,
If the calculated average is higher than a preset reference value, it is determined that authentication is successful,
If the calculated average is less than a preset reference value, including requesting additional authentication
User authentication method.
제12 항에 있어서,
상기 유사도를 산출하는 단계는, 미리 학습된 딥러닝 모듈을 이용하여 상기 그룹별 유사도를 산출하는 것을 포함하되,
상기 딥러닝 모듈은,
상기 터치패턴 프로파일, 및 상기 고객등록패턴 프로파일을 입력 노드로 하는 입력 레이어와,
상기 유사도를 출력 노드로 하는 출력 레이어와,
상기 입력 레이어와 상기 출력 레이어 사이에 배치되는 하나 이상의 히든 레이어를 포함하고,
상기 입력 노드와 상기 출력 노드 사이의 노드 및 에지의 가중치는 상기 딥러닝 모듈의 학습 과정에 의해 업데이트되는
사용자 인증 방법.
The method of claim 12,
The step of calculating the similarity includes calculating the similarity for each group using a deep learning module that has been learned in advance,
The deep learning module,
An input layer using the touch pattern profile and the customer registration pattern profile as input nodes,
An output layer having the similarity as an output node,
Including one or more hidden layers disposed between the input layer and the output layer,
The weights of nodes and edges between the input node and the output node are updated by the learning process of the deep learning module.
User authentication method.
사용자 단말과 연계되는 인증 서버에서 수행되는 사용자 인증 방법에 있어서,
상기 사용자 단말의 화면 상에 입력된 터치패턴에 대한 센싱데이터를 수신하는 단계;
상기 수신된 복수의 센싱데이터를 그룹핑하는 단계;
상기 그룹핑된 각 그룹에 포함된 복수의 센싱데이터를 기초로, 각 그룹별로 터치패턴 프로파일을 생성하는 단계;
상기 생성된 터치패턴 프로파일과, 상기 사용자 단말로부터 과거에 수신하여 미리 저장된 고객등록패턴 프로파일 간의 유사도를 산출하는 단계; 및
상기 산출된 유사도를 기초로 상기 사용자 단말이 요청한 서비스의 인증여부를 결정하는 단계를 포함하되,
상기 그룹핑하는 단계는,
상기 터치패턴 내에서 인접한 두개의 점을 잇는 선에서 도출되는 복수의 센싱데이터를 하나의 그룹으로 설정하거나,
미리 설정된 기준시간단위 또는 미리 설정된 이벤트의 기준개수에 대응되는 센싱데이터를 하나의 그룹으로 설정하는 것을 포함하되,
상기 생성된 복수의 그룹 중, 시간순으로 인접한 복수의 그룹은, 동일한 센싱데이터를 공통되게 포함하는
사용자 인증 방법.
In the user authentication method performed in an authentication server linked to a user terminal,
Receiving sensing data for a touch pattern input on the screen of the user terminal;
Grouping the plurality of received sensing data;
Generating a touch pattern profile for each group based on a plurality of sensing data included in each grouped group;
Calculating a similarity between the generated touch pattern profile and a customer registration pattern profile previously stored and previously stored from the user terminal; And
Including the step of determining whether to authenticate the service requested by the user terminal based on the calculated similarity,
The grouping step,
A plurality of sensing data derived from a line connecting two adjacent points in the touch pattern is set as one group, or
Including setting the sensing data corresponding to the preset reference time unit or the preset reference number of events as one group,
Among the generated plurality of groups, a plurality of groups adjacent to each other in chronological order include the same sensing data in common.
User authentication method.
KR1020200132314A 2020-10-14 2020-10-14 Method for authenticating user using touch pattern KR102243341B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200132314A KR102243341B1 (en) 2020-10-14 2020-10-14 Method for authenticating user using touch pattern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200132314A KR102243341B1 (en) 2020-10-14 2020-10-14 Method for authenticating user using touch pattern

Publications (1)

Publication Number Publication Date
KR102243341B1 true KR102243341B1 (en) 2021-04-22

Family

ID=75731215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200132314A KR102243341B1 (en) 2020-10-14 2020-10-14 Method for authenticating user using touch pattern

Country Status (1)

Country Link
KR (1) KR102243341B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220163583A (en) * 2021-06-03 2022-12-12 주식회사 카카오뱅크 Method for detecting fraud using effective transaction pattern and server performing the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110046004A (en) * 2009-10-28 2011-05-04 주식회사 비원플러스 Method and apparatus for authenticating user based on multi-touch input
KR20120068429A (en) * 2010-12-17 2012-06-27 고려대학교 산학협력단 User identification apparatus and method with means for sensing touch input
KR20190092081A (en) * 2018-01-30 2019-08-07 고다현 System and method for user authorization based on touch input

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110046004A (en) * 2009-10-28 2011-05-04 주식회사 비원플러스 Method and apparatus for authenticating user based on multi-touch input
KR20120068429A (en) * 2010-12-17 2012-06-27 고려대학교 산학협력단 User identification apparatus and method with means for sensing touch input
KR20190092081A (en) * 2018-01-30 2019-08-07 고다현 System and method for user authorization based on touch input

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220163583A (en) * 2021-06-03 2022-12-12 주식회사 카카오뱅크 Method for detecting fraud using effective transaction pattern and server performing the same
KR102591898B1 (en) * 2021-06-03 2023-10-20 주식회사 카카오뱅크 Method for detecting fraud using effective transaction pattern and server performing the same

Similar Documents

Publication Publication Date Title
KR102608470B1 (en) Data recognition device and method and training device and method
Lamiche et al. A continuous smartphone authentication method based on gait patterns and keystroke dynamics
US8942431B2 (en) Biometrics based methods and systems for user authentication
Lu et al. Continuous authentication by free-text keystroke based on CNN and RNN
Blanco‐Gonzalo et al. Performance evaluation of handwritten signature recognition in mobile environments
US20130111580A1 (en) Method for providing computer-based authentication utilizing gesture biometrics
CN106030599A (en) Continuous authentication with a mobile device
US11380131B2 (en) Method and device for face recognition, storage medium, and electronic device
CN109447099A (en) A kind of Combining Multiple Classifiers based on PCA dimensionality reduction
US20230027527A1 (en) Identity authentication method, and method and apparatus for training identity authentication model
Van Nguyen et al. Finger-drawn pin authentication on touch devices
US20230050957A1 (en) Information processing method and apparatus based on face recognition, storage medium, and terminal
KR102243341B1 (en) Method for authenticating user using touch pattern
Pahuja et al. Biometric authentication & identification through behavioral biometrics: A survey
Buriro et al. Risk-driven behavioral biometric-based one-shot-cum-continuous user authentication scheme
Ali et al. Smartphone security using swipe behavior-based authentication
Chen et al. A behavioral authentication method for mobile based on browsing behaviors
Stragapede et al. IJCB 2022 mobile behavioral biometrics competition (MobileB2C)
Ouadjer et al. Feature importance evaluation of smartphone touch gestures for biometric authentication
Thapliyal et al. Multimodal behavioral biometric authentication in smartphones for Covid-19 pandemic
Alpar et al. Biometric swiping on touchscreens
Davarci et al. Hybrid architecture for gender recognition using smartphone motion sensors
Alghamdi et al. Artificial intelligence Techniques based learner authentication in cybersecurity higher education institutions
Chandrasekar et al. A dexterous feature selection artificial immune system algorithm for keystroke dynamics
Bharadwaj et al. Reliable human authentication using AI-based multibiometric image sensor fusion: Assessment of performance in information security

Legal Events

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