KR20210050229A - 모바일 단말기에서 유저의 동작 패턴을 이용하여 유저를 인증하는 방법 - Google Patents

모바일 단말기에서 유저의 동작 패턴을 이용하여 유저를 인증하는 방법 Download PDF

Info

Publication number
KR20210050229A
KR20210050229A KR1020190134582A KR20190134582A KR20210050229A KR 20210050229 A KR20210050229 A KR 20210050229A KR 1020190134582 A KR1020190134582 A KR 1020190134582A KR 20190134582 A KR20190134582 A KR 20190134582A KR 20210050229 A KR20210050229 A KR 20210050229A
Authority
KR
South Korea
Prior art keywords
mobile device
data
touch
user
motion data
Prior art date
Application number
KR1020190134582A
Other languages
English (en)
Inventor
강용현
김두현
Original Assignee
에이비엑스지 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에이비엑스지 주식회사 filed Critical 에이비엑스지 주식회사
Priority to KR1020190134582A priority Critical patent/KR20210050229A/ko
Publication of KR20210050229A publication Critical patent/KR20210050229A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • 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/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means

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)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)

Abstract

모바일 기기 상의 터치 및/또는 모바일 기기의 모션의 패턴에 기초하여 모바일 기기의 유저가 정당한 유저인지 여부를 인증하는 방법 및 모바일 기기가 개시된다. 본 발명의 일 실시예에 따른 모바일 기기의 유저를 인증하기 위한 방법은, 모바일 기기 상에서 실행되는 애플리케이션을 식별하는 단계; 애플리케이션의 실행 중 모바일 기기 상의 터치 데이터 및/또는 모바일 기기의 모션 데이터를 수집하는 단계; 및 수집된 터치 데이터 및/또는 모션 데이터의 패턴이 식별된 애플리케이션과 연관된 사용 패턴 프로파일에 대응하는지 여부를 결정하는 단계를 포함한다. 터치 데이터 및/또는 모션 데이터의 패턴이 사용 패턴 프로파일에 대응하는지 여부는 사용 패턴 프로파일과 입력 데이터 간의 대응 정도를 출력하도록 훈련된 인공 신경망을 이용하여, 머신 러닝 또는 딥 러닝 방식으로 결정된다. 본 발명에 의하면, 모바일 기기의 사용 중에 실시간으로 유저를 방해하지 않고 유저를 인증할 수 있다.

Description

모바일 단말기에서 유저의 동작 패턴을 이용하여 유저를 인증하는 방법{METHOD FOR AUTHENTICATING USER USING USER'S BEHAVIOR PATTERN ON MOBILE DEVICE}
본 발명은 유저를 인증하는 방법에 관한 것으로, 보다 상세하게는, 모바일 기기를 사용하는 유저의 동작 패턴을 이용하여 유저를 인증하는 방법 및 디바이스에 관한 것이다.
스마트폰과 같은 모바일 기기는 점점 더 스마트해지고 방대한 데이터를 수집하고 이용하도록 발전되고 있다. 편리함을 위해 많은 모바일 기기는 유저의 개인 식별 정보(Personal Identifying Information; PII) 또는 민감 개인 정보(Sensitive Personal Information; SPI)와 같은 민감한 정보를 이용하고 저장하고 있다. 타인이 이러한 모바일 기기를 획득하게 되면, 유저의 민감 정보가 유출될 우려가 있다. 이 때문에, 많은 모바일 기기는 종종 유저의 인증 후에만 디바이스 내부의 정보에 액세스할 수 있도록 잠겨있다.
유저의 액세스를 위해, 종래에는 패턴의 개인 식별 번호(Personal Identification Number; PIN) 또는 미리 설정된 패턴의 입력을 통한 유저 인증이 사용되었다. 최근에는 지문, 안면, 또는 홍채와 같은 생체인식 식별(biometric identification)을 통한 유저 인증이 널리 사용되고 있다. 생체인식 식별을 통한 유저 인증은, 유저가 PIN이나 미리 결정된 패턴을 기억하지 않아도 되고, 번거로운 입력 없이도 유저 인증이 가능하다는 점에서 유저에게 편리함을 제공한다.
상술한, PIN 또는 미리 결정된 패턴의 입력, 또는 생체인식 식별을 통한 유저 인증은 일회성으로 유저를 인증한다. 일단 유저가 인증되면, 디바이스가 다시 잠기기 전까지 디바이스는 유저의 액세스에 자유롭게 노출될 수 있다. 일반적으로 디바이스는 미리 결정된 시간을 초과하여 유저에 의해 액세스되지 않으면 잠금 상태로 변한다. 이때, 미리 결정된 시간이 지나치게 짧으면 유저 편의성이 악화될 수 있고, 미리 결정된 시간이 지나치게 길면 보안성이 악화될 수 있다. 예를 들어, 미리 결정된 시간이 길면, 유저의 손을 떠난 디바이스가 잠금해제된 상태로 유지되어 타인이 잠금해제된 디바이스를 획득할 가능성이 생긴다.
본 발명의 일 과제는, 모바일 기기의 사용 중에 실시간으로 정당한 유저에 의한 사용인지 여부를 인증하기 위한 것이다.
본 발명의 목적은 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
본 발명의 실시예들에 따른 모바일 기기 및 유저를 인증하기 위한 방법은, 모바일 기기 상의 터치 및/또는 모바일 기기의 모션의 패턴에 기초하여 유저가 정당한 유저인지 여부를 결정할 수 있다.
본 발명의 일 양상에 따른 모바일 기기의 유저를 인증하기 위한 방법은, 모바일 기기 상에서 실행되는 애플리케이션을 식별하는 단계와, 애플리케이션의 실행 중 모바일 기기 상의 터치 데이터 및/또는 모바일 기기의 모션 데이터를 수집하는 단계와, 수집된 터치 데이터 및/또는 모션 데이터의 패턴이 식별된 애플리케이션과 연관된 사용 패턴 프로파일에 대응하는지 여부를 결정하는 단계를 포함한다.
일 실시예에서, 터치 데이터 및/또는 모션 데이터는, 실행 중인 애플리케이션에 따라 미리 결정된 시간 동안 수집될 수 있다.
추가 실시예에서, 사용 패턴 프로파일은 신규 애플리케이션의 설치 시에 또는 신규 애플리케이션의 최초의 실행 시에 생성되고, 신규 애플리케이션의 실행 중 수집된 터치 데이터 및/또는 모션 데이터를 이용하여 업데이트된다.
본 발명에 의하면, 모바일 기기의 사용 중에 실시간으로 발생하는 데이터가 유저를 인증하기 위해 사용되기 때문에, 모바일 기기의 사용 중에 실시간으로 유저를 인증할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 통상의 기술자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 2는 모바일 기기의 3차원 공간에서의 모션들을 나타내는 도면이다.
도 3은 유저가 모바일 기기를 파지하는 방법의 다양한 예시들을 도시한다.
도 4는 모바일 기기의 상이한 파지 방법들이 실행되는 애플리케이션에 따라 상이한 터치 데이터를 야기하는 예시들을 도시한다.
도 5는 모바일 기기의 상이한 파지 방법들이 상이한 모션 데이터를 야기하는 예시들을 도시한다.
도 6은 본 발명의 일 실시예에 따른 모바일 기기에서 사용 패턴 프로파일을 생성하고 학습하는 방법을 나타내는 흐름도이다.
도 7은 본 발명의 일 실시예에 따라 터치 데이터를 이미지 데이터로 변환하는 방법을 나타내는 도면이다.
도 8은 본 발명의 일 실시예에 따라 모션 데이터를 이미지 데이터로 변환하는 방법을 나타내는 도면이다.
도 9는 본 발명의 일 실시예에 따른 모바일 기기에서 사용 패턴에 따라 유저를 인증하는 방법을 나타내는 흐름도이다.
도 10은 본 발명의 일 실시예에 따라 데이터의 학습 및 사용 패턴 인증이 수행되는 시점들을 나타내는 그래프이다.
도 11은 본 발명의 일 실시예에 따은 누름 감지 장치를 도시하는 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 모바일 기기를 나타내는 블록도이다. 도 1을 참조하면, 모바일 기기(100)는 메모리(120), 터치스크린(130), 3차원 모션 센서(140), 및 생체인식 센서(150), 그리고 이들과 전기적으로 통신 가능하게 연결된 프로세싱 유닛(110)을 포함할 수 있다. 모바일 기기(100)는, 예를 들어, 모바일폰, 스마트폰, 태블릿 컴퓨터, 랩탑(laptop) 컴퓨터, 팜탑(palmtop) 컴퓨터, PDA(Personal Digital Assistant), 음악 플레이어, 또는 휴대형 게임 콘솔 등일 수 있으나, 이에 한정되는 것은 아니다.
프로세싱 유닛(110)은 예를 들어 컴퓨터 프로그램에 포함된 코드들 또는 명령어들로 표현된 기능들을 수행하기 위해 구조화된 회로를 갖는, 하드웨어로 구현된 임의의 형태의 데이터 처리 디바이스일 수 있다. 프로세싱 유닛(110)은, 예를 들어, 모바일 프로세서(Mobile Processor), 애플리케이션 프로세서(Application Processor; AP), 마이크로프로세서, 중앙처리장치(Central Processing Unit; CPU), 그래픽 프로세싱 유닛(Graphic Processing Unit; GPU), 신경 프로세싱 유닛(Neural Processing Unit; NPU), 프로세서 코어, 멀티프로세서, 주문형 집적회로(Application-Specific Integrated Circuit; ASIC), 또는 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array; FPGA) 중 하나 이상을 포함할 수 있으나, 이에 한정되는 것은 아니다.
프로세싱 유닛(110)은 메모리(120)에 저장된 컴퓨터 프로그램(121)에 따라 모바일 기기(100)의 동작들을 제어한다. 예시적으로, 프로세싱 유닛(110)은 메모리(120)에 저장된 운영 체제(122)의 명령들에 따라 모바일 기기(100)의 동작들을 제어할 수 있다. 프로세싱 유닛(110)은 또한 메모리(120)에 저장된 하나 이상의 애플리케이션(123)의 명령들에 따라 기능들을 수행할 수 있다.
메모리(120)는 프로세싱 유닛(110)에 의해 실행되기 위한 컴퓨터 프로그램(121) 및/또는 컴퓨터 프로그램들과 연관된 데이터를 저장하는 유형의(tangible) 컴퓨터로 판독가능한 매체일 수 있다. 컴퓨터 프로그램(121)은 모바일 기기의 하드웨어를 관리하고 애플리케이션(123)을 실행하기 위한 플랫폼을 제공하는 운영 체제(122)를 포함한다. 컴퓨터 프로그램(121)은 또한 운영 체제(122) 상에서 실행되는 하나 이상의 애플리케이션(123-1, 123-2, 123-N)을 포함할 수 있다. 애플리케이션(123)은, 예를 들어, 웹 브라우저, 가상 키보드, 인스턴트 메신저, 멀티미디어 플레이어, 소셜 미디어 서비스, 또는 게임 중 하나 이상을 포함할 수 있으나, 이에 한정되는 것은 아니다.
메모리(120)는 또한 유저를 인증하기 위한 인증 데이터(124)를 포함할 수 있다. 인증 데이터(124)는 유저의 PIN 정보(125), 잠금해제 패턴 정보(126), 생체인식 정보(127), 및 하나 이상의 사용 패턴 프로파일(128)을 포함할 수 있다. PIN 정보(125), 잠금해제 패턴 정보(126), 및/또는 생체인식 정보(127)는 원래의 데이터를 알아볼 수 없는 방식으로 암호화되어 메모리(120)에 저장되어 있을 수 있다.
사용 패턴 프로파일들(128-1, 128-2, 128-N)은 애플리케이션들(123-1, 123-2, 123-N)과 각각 연관된다. 예를 들어, 제1 사용 패턴 프로파일(128-1)은 제1 애플리케이션(123-1)과 연관되고, 제2 사용 패턴 프로파일(128-2)은 제2 애플리케이션(123-2)과 연관되고, 제N 사용 패턴 프로파일(128-N)은 제3 애플리케이션(123-N)과 연관된다.
터치스크린(130)은 운영 체제 또는 애플리케이션의 실행에 따른 텍스트, 그래픽, 이미지, 또는 비디오를 디스플레이함과 동시에, 스크린 상에서 유저가 손가락이나 스타일러스 등으로 스크린을 터치하는 것을 감지하여 터치 데이터를 생성하는 입/출력 디바이스이다.
3차원 모션 센서(140)는 3차원 공간에서의 모바일 기기의 모션을 검출하고, 모션을 나타내는 모션 데이터를 생성하는 센서이다. 3차원 모션 센서(140)는 3차원 공간에서의 모바일 기기의 회전을 검출하기 위한 자이로스코프 센서(141) 및 3차원 공간에서의 모바일 기기의 병진 가속 운동을 검출하기 위한 가속도계 센서(143)을 포함할 수 있다.
도 2는 모바일 기기의 3차원 공간에서의 모션들을 나타내는 도면이다. 도 2를 참조하면, 자이로스코프 센서(141)는 모바일 기기의 3개의 축(x-축, y-축, z-축) 주위로의 모바일 기기의 회전들(Pitch, Roll, Yaw)을 나타내는 신호들(GyroX, GyroY, GyroZ)을 생성할 수 있다. 가속도계 센서(143)는 3차원 공간에서의 3개의 방향(x-방향, y-방향, z-방향)을 따른 가속도를 나타내는 신호들(AccX, AccY, AccZ)을 생성할 수 있다. 본 명세서에서는, 모바일 기기(100)의 터치스크린(130)의 짧은 변과 평행한 방향을 x-방향으로, 터치스크린(130)의 긴 변과 평행한 방향을 y-방향으로, 그리고 터치스크린(130)에 수직한 방향을 z-방향으로 정의한다. 그러나, 본 명세서에서의 x, y, z 방향은 단지 예시적인 것이며, 상이한 기준들에 따라 상이한 방향으로 정의될 수 있다.
다시 도 1을 참조하면, 생체인식 센서(150)는 유저를 인증하기 위한 생체인식 정보를 수집하기 위한 하나 이상의 센서를 포함한다. 생체인식 센서(150)는, 예를 들어, 유저의 안면 또는 홍채를 인식하기 위한 카메라(151) 및 유저의 지문을 인식하기 위한 지문 센서(153)를 포함할 수 있다. 일 실시예에서, 지문 센서(153)는 터치스크린(130)의 일부로 통합될 수도 있다.
단순화를 위해 도 1에 도시되지 않았지만, 모바일 기기(100)는 모바일 기기(100)의 기능성을 위해 또는 유저의 편의를 위해 요구되는 다양한 컴포넌트들, 예컨대, 통신 모듈, GPS 모듈, 스피커, 또는 마이크로폰 등을 더 포함할 수 있다.
도 3은 유저가 모바일 기기를 파지하는 방법의 다양한 예시들을 도시한다. 도 3(a)에서 유저는 오른손으로 모바일 기기(100)를 수직(초상화) 배향으로 파지하고 오른손 엄지로 터치스크린(130)을 터치한다. 도 3(b)에서 유저는 왼손으로 모바일 기기(100)를 파지하고 오른손 검지로 터치스크린(130)을 터치한다. 도 3(c)에서 유저는 양손으로 모바일 기기(100)를 파지하고 양손의 엄지로 터치스크린(130)을 터치한다. 도 3(d)에서 유저는 양손으로 모바일 기기(100)를 파지하지만, 수평(풍경화) 배향으로 파지한다. 도 3의 예시들 이외에도 모바일 기기를 파지하는 다양한 방법이 존재할 수 있다. 모바일 기기를 파지하기 위한 유저의 선호 방법은 유저에 따라 상이할 수 있다. 유저는 무의식적으로 자신이 선호하는 방법으로 모바일 기기를 파지하고 사용한다. 모바일 기기를 파지하는 상이한 방법들은 상이한 터치 데이터 및 모션 데이터를 야기할 수 있다.
도 4는 모바일 기기의 상이한 파지 방법들이 실행되는 애플리케이션에 따라 상이한 터치 데이터를 야기하는 예시들을 도시한다.
도 4(a) 및 도 4(b)는 각각 수직(초상화) 배향 및 수평(풍경화) 배향으로 인스턴트 메신저에 텍스트 메시지를 입력하는 예시들을 도시한다. 도 4(a)의 예에서 유저는 모바일 기기(100)를 수직(초상화) 배향으로 파지하고 양손의 엄지들로 터치스크린 상의 가상 키보드(135)를 터치한다. 이 예에서는, 터치스크린(130)의 y-방향의 하부에 편향된 터치 데이터가 생성될 수 있다.
도 4(b)의 예에서 유저는 모바일 기기(100)를 수평(풍경화) 배향으로 파지하고 양손의 엄지들로 터치스크린(130) 상의 가상 키보드(135)를 터치한다. 이 예에서는, 터치스크린(130)의 x-방향의 하부에 편향된 터치 데이터가 생성될 수 있다.
도 4(c) 및 도 4(d)는 한손 파지 방법 및 양손 파지 방법에 따라 사진 공유 소셜 미디어 서비스를 이용하는 터치 동작의 예시를 도시한다.
도 4(c)의 예에서 유저는 모바일 기기(100)의 y-방향 하단부를 오른손 소지 위에, 그리고 모바일 기기(100)의 z-방향 후면을 오른손 검지, 중지, 및 약지 위에 올려놓는다. 유저는 이미지를 스크롤하기 위해, 모바일 기기(100)의 우측 하단 부분을 중심으로 회동하는 방식으로 오른손 엄지를 터치스크린(130) 상에서 드래그한다. 이 예에서는, 곡률 중심이 터치스크린의 우측 하단에 있고 곡률 반경이 비교적 작은 원호(arc)에 대응하는 터치 데이터(드래그 데이터)가 생성될 수 있다.
도 4(d)의 예에서 유저는 왼손의 모든 손가락 및 손바닥으로 모바일 기기(100)를 파지하고, 이미지를 스크롤하기 위해 터치스크린(130) 상에서 우측을 향하여 거의 직선으로 오른손 검지를 드래그한다. 이 예에서는, 곡률 반경이 상당히 큰, 거의 직선에 대응하는 터치 데이터(드래그 데이터)가 생성될 수 있다.
도 5는 모바일 기기의 상이한 파지 방법들이 상이한 모션 데이터를 야기하는 예시들을 도시한다.
도 5(a)는, 유저가 예를 들어 도 4(c)의 방법으로 모바일 기기(100)를 파지했을 때의 모바일 기기(100)의 배향을 도시한다. 도 5(a)의 예에서, 모바일 기기의 y-축은 수평면에 대하여 낮은 고도각(θy)을 갖도록 배향된다.
도 5(b)는, 유저가 예를 들어 도 4(d)의 방법으로 모바일 기기(100)를 파지했을 때의 모바일 기기(100)의 배향을 도시한다. 도 5(b)의 예에서, 모바일 기기(100)의 y-축은 수평면에 대하여 비교적 높은 고도각(θy)을 갖도록 배향되고, 모바일 기기(100)의 x-축은 수평면에 대하여 기울어져서 고도각(θx)을 형성할 수 있다.
도 3 내지 도 5에 예시된 바와 같이, 유저의 선호에 따른 모바일 기기를 파지하는 다양한 방법이 존재할 수 있고, 모바일 기기를 파지하는 방법에 따라 그리고 실행되는 애플리케이션에 따라 상이한 패턴의 터치 데이터 및 모션 데이터가 생성될 수 있다. 유저는 습관적으로 특정한 상황에서(예를 들어, 실행되는 애플리케이션에 따라) 특정한 방법으로 모바일 기기를 파지한다. 따라서, 특정한 애플리케이션이 실행될 때의 터치 데이터 및/또는 모션 데이터의 패턴들은 유저를 식별할 수 있는 인증 데이터로서 활용될 수 있다.
도 6은 본 발명의 일 실시예에 따른 모바일 기기에서 사용 패턴 프로파일을 생성하고 학습하는 방법을 나타내는 흐름도이다.
도 6을 참조하면, 단계 S610에서 모바일 기기(100)는 유저를 인증하고, 인증된 유저의 사용을 위해 모바일 기기(100)를 잠금해제한다. 유저의 인증은, 터치스크린(130) 상에서의 PIN 또는 미리 결정된 패턴의 입력, 또는 생체인식 센서(150)를 이용한 생체인식 식별 등 당업자에게 알려진 임의의 인증 방법을 통해 수행될 수 있다.
단계 S620에서 모바일 기기(100)는 모바일 기기(100)의 운영 체제(122) 상에서 실행 중인 애플리케이션(123)을 식별한다. 운영 체제(122) 상에서 복수의 애플리케이션이 동시에 실행되는 경우, 모바일 기기(100)는 포어그라운드(foreground)에서 실행되는 하나의 애플리케이션(123)을 식별할 수 있다. 즉, 모바일 기기(100)는 모바일 기기(100)의 터치스크린(130) 상에 나타나는 유저 인터페이스(User Interface; UI) 또는 유저 경험(User Experience; UX)과 연관된 애플리케이션(123)을 식별할 수 있다.
단계 S630에서 모바일 기기(100)는 식별된 애플리케이션(123)이, 이전에 모바일 기기(100)에서 실행된 적이 없는 신규 애플리케이션인지 여부를 판단한다. 일 실시예에서, 모바일 기기(100)의 운영 체제(122)는 개개의 애플리케이션들(123)에 대한 실행 카운트를 관리하고 있을 수 있다. 모바일 기기(100)는 식별된 애플리케이션에 대한 실행 카운트를 참조함으로써 식별된 애플리케이션(123)이 신규 애플리케이션인지 여부를 판단할 수 있다. 다른 실시예에서, 모바일 기기(100)는 식별된 애플리케이션(123)과 연관된 사용 패턴 프로파일(128)을 메모리(120)에서 검색함으로써 식별된 애플리케이션이 신규 애플리케이션인지 여부를 판단할 수 있다.
식별된 애플리케이션이 신규 애플리케이션인 경우, 단계 S640에서 모바일 기기는 식별된 애플리케이션에 대한 초기 사용 패턴 프로파일을 생성한다. 사용 패턴 프로파일은 인공 신경망(머신 러닝 모델)의 아키텍처를 정의하는 파라미터들 및 가중치들을 저장한다. 초기 사용 패턴 프로파일은 파라미터들 및 가중치들이 미리 설정된(디폴트) 값들로 설정된 명목상의 사용 패턴 프로파일일 수 있다.
다른 실시예에서, 모바일 기기(100)는 신규 애플리케이션이 설치될 때 초기 사용 패턴 프로파일을 생성할 수도 있다. 이 경우, 단계 S630과 S640은 생략될 수 있다.
단계 S650에서 모바일 기기(100)는 애플리케이션(123)의 실행 중에 터치 데이터 및/또는 모션 데이터를 수집한다. 일 실시예에서, 수집되는 터치 데이터 및 모션 데이터는, 각각 터치스크린(130) 및 3차원 모션 센서(140)로부터 제공되는 미가공(raw) 데이터일 수 있다. 다른 실시예에서, 수집되는 터치 데이터 및 모션 데이터는, 프로그래머 또는 운영 체제(122) 상의 애플리케이션에 의해 이해될 수 있도록 운영 체제(122)에 의해 또는 별개의 애플리케이션에 의해 전처리된 데이터일 수 있다.
전처리된 터치 데이터는, 예를 들어, 터치스크린(130) 상에서의 터치 좌표, 터치 상태(터치가 이루어짐, 터치가 해제됨, 터치가 이동됨(드래그 또는 스와이프), 멀티 터치의 개수, 드래그 거리, 터치 시점(터치가 이루어지는 시점, 터치가 해제되는 시점), 또는 터치 지속 시간을 포함할 수 있으나, 이에 한정되는 것은 아니다.
전처리된 모션 데이터는, 예를 들어, 수평면에 대한 모바일 기기의 x-축, y-축, 및 z-축의 각도(고도각), x-방향, y-방향, 및 z-방향의 각각에 따른 모바일 기기(100)의 이동 거리, 이동 속도, 또는 가속도를 포함할 수 있으나, 이에 한정되는 것은 아니다.
모바일 기기(100)는 미리 결정된 시간 동안 터치 데이터 및/또는 모션 데이터를 수집할 수 있다. 일 실시예에서, 미리 결정된 시간은 실행되는 애플리케이션의 특성에 따라 결정될 수 있다. 예를 들어, 게임의 경우, 단위 시간 동안 상대적으로 많은 양의 터치 데이터와 모션 데이터가 발생하므로, 모바일 기기(100)는 상대적으로 짧은 시간(예를 들어, 10초) 동안 터치 데이터 및 모션 데이터를 수집할 수 있다. 웹 브라우저의 경우, 단위 시간 동안 상대적으로 적은 양의 터치 데이터와 모션 데이터가 발생하므로, 모바일 기기(100)는 상대적으로 긴 시간(예를 들어, 1분) 동안 터치 데이터 및 모션 데이터를 수집할 수 있다.
단계 S660에서 모바일 기기(100)는 수집된 터치 데이터 및/또는 모션 데이터를 이미지 데이터로 변환한다. 이미지 데이터는 예를 들어 RGB 이미지의 형태일 수 있고, 머신 러닝 모델의 입력 레이어에 입력되기에 적합한 크기(해상도)를 가질 수 있다. 터치 데이터 및 모션 데이터를 이미지 데이터로 변환하는 방법은 아래에서 상세히 설명될 것이다.
단계 S670에서 모바일 기기(100)는 터치 데이터 및/또는 모션 데이터를 이용하여 실행 중인 애플리케이션과 연관된 사용 패턴 프로파일을 업데이트한다. 예를 들어, 모바일 기기(100)는 RGB 이미지 형태로 변환된 데이터를 학습 데이터로서 인공 신경망의 머신 러닝 모델에 적용한다. 일 실시예에서, 터치 데이터의 RGB 이미지와 모션 데이터의 RGB 이미지는 채널별로 병합되어 하나의 RGB 이미지를 생성할 수 있고, 병합된 RGB 이미지가 머신 러닝 모델의 입력 레이어에 입력될 수 있다. 머신 러닝 모델은 입력된 데이터를 이용하여 인공 신경망의 아키텍처를 정의하는 파라미터들 및 가중치들을 업데이트한다.
머신 러닝 모델은 예를 들어 딥 러닝 기술을 이용한 인공 신경망(Artificial Neural Network; ANN)을 포함하고, 하드웨어 모듈 및/또는 소프트웨어 모듈로서 구현될 수 있다.
인공 신경망은 생물학적 뉴런의 동작원리와 뉴런간의 연결 관계를 모델링한 것으로 노드 또는 처리 요소(processing element)라고 하는 다수의 뉴런들이 레이어(layer) 구조의 형태로 연결된 정보처리 시스템이다. 인공 신경망은 기계 학습에서 사용되는 모델로서, 기계 학습과 인지 과학에서 생물학의 신경망(동물의 중추신경계 중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘이다. 구체적으로 인공 신경망은 시냅스(synapse)의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 복수의 레이어(layer)를 포함할 수 있고, 레이어들 각각은 복수의 뉴런(neuron)을 포함할 수 있다. 또한 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다.
인공 신경망은 일반적으로 다음의 세가지 인자, 즉 (1) 다른 레이어의 뉴런들 사이의 연결 패턴, (2) 연결의 가중치를 갱신하는 학습 과정, 및 (3) 이전 레이어로부터 수신되는 입력에 대한 가중 합으로부터 출력값을 생성하는 활성화 함수에 의해 정의될 수 있다.
인공 신경망은, 예를 들어, 컨볼루션 신경망(Convolution Neural Network; CNN), 순환 신경망(Recurrent Neural Network; RNN), 심층 신뢰 신경망(Deep Belief Network; DBN) 등의 심층신경망(Deep Neural Network; DNN)을 포함할 수 있으나, 이에 한정되는 것은 아니다.
인공 신경망은 계층 수에 따라 단층 신경망(Single-Layer Neural Networks)과 다층 신경망(Multi-Layer Neural Networks)으로 구분된다. 일반적인 단층 신경망은, 입력층과 출력층으로 구성된다. 또한, 일반적인 다층 신경망은 입력층(Input Layer)과 하나 이상의 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성된다.
입력층은 외부의 자료들을 받아들이는 층으로서, 입력층의 뉴런 수는 입력되는 변수의 수와 동일하며, 은닉층은 입력층과 출력층 사이에 위치하며 입력층으로부터 신호를 받아 특성을 추출하여 출력층으로 전달한다. 출력층은 은닉층으로부터 신호를 받고, 수신한 신호에 기반한 출력 값을 출력한다. 뉴런간의 입력신호는 각각의 연결 강도(가중치)와 곱해진 후 합산되며 이 합이 뉴런의 임계치보다 크면 뉴런이 활성화되어 활성화 함수를 통하여 획득한 출력값을 출력한다.
입력층과 출력 층 사이에 복수의 은닉층을 포함하는 심층 신경망은, 기계 학습 기술의 한 종류인 딥 러닝을 구현하는 대표적인 인공 신경망일 수 있다.
한편, 용어 '딥 러닝'은 용어 '심층 학습'과 혼용되어 사용될 수 있다.
인공 신경망은 훈련 데이터(training data)를 이용하여 학습(training)될 수 있다. 여기서 학습이란, 입력 데이터를 분류(classification)하거나 회귀분석(regression)하거나 군집화(clustering)하는 등의 목적을 달성하기 위하여, 학습 데이터를 이용하여 인공 신경망의 파라미터(parameter)를 결정하는 과정을 의미할 수 있다. 인공 신경망의 파라미터의 대표적인 예시로써, 시냅스에 부여되는 가중치(weight)나 뉴런에 적용되는 편향(bias)을 들 수 있다.
훈련 데이터에 의하여 학습된 인공 신경망은, 입력 데이터를 입력 데이터가 가지는 패턴에 따라 분류하거나 군집화 할 수 있다.
한편 훈련 데이터를 이용하여 학습된 인공 신경망을, 본 명세서에서는 학습 모델(a trained model)이라 명칭 할 수 있다.
도 7은 본 발명의 일 실시예에 따라 터치 데이터를 이미지 데이터로 변환하는 방법을 나타내는 도면이다.
도 7(a)를 참조하면, 예를 들어 1080Х1920의 해상도를 갖는 터치스크린(710)의 픽셀들은 예를 들어 270Х384의 해상도를 갖는 RGB 이미지(760)로 변환된다. RGB 이미지(760)의 크기(해상도)는 인공 신경망의 입력 레이어에 입력되기에 적당한 크기로 설정되며, 인공 신경망의 연산을 수행하는 프로세서의 성능에 따라 상이한 크기를 가질 수 있다.
터치스크린(710)의 4Х5 크기의 픽셀 블록(711)이 RGB 이미지(760)의 하나의 점(761)에 대응한다. 터치스크린(710)에서의 곡선 형태의 드래그(713)는 RGB 이미지(760)에서 x-방향으로 1/4의 인자로, y-방향으로 1/5의 인자로 스케일링된 곡선(763)으로 변환된다.
RGB 이미지(760)에서의 점(761)의 적색 성분(r 값)은 터치스크린(710)의 4Х5 픽셀 블록(711)에서 터치가 x-방향으로 드래그된 횟수에 의해 결정될 수 있고, RGB 이미지(760)에서의 점(761)의 녹색 성분(g 값)은 터치스크린(710)의 4Х5 픽셀 블록(711)에서 터치가 y-방향으로 드래그된 횟수에 의해 결정될 수 있다.
도 7(b)의 예에서, 드래그는 x-방향으로 완전히 픽셀 블록(711)을 횡단한다. 따라서, 픽셀 블록(711)에 대응하는 점(761)의 r 값이 1만큼 증가한다. 하지만, 드래그는 y-방향으로 완전히 픽셀 블록(711)을 횡단하지 않는다. 따라서, 픽셀 블록(711)에 대응하는 점(761)의 g 값은 증가하지 않는다.
도 7(c)의 예에서, 드래그는 y-방향으로 완전히 픽셀 블록(711)을 횡단한다. 따라서, 픽셀 블록(711)에 대응하는 점(761)의 g 값이 1만큼 증가한다. 하지만, 드래그는 x-방향으로 완전히 픽셀 블록(711)을 횡단하지 않는다. 따라서, 픽셀 블록(711)에 대응하는 RGB 이미지 내의 점(761)의 r 값은 증가하지 않는다.
도 7(d)의 예에서, 드래그는 x-방향으로 그리고 y-방향으로 완전히 픽셀 블록(711)을 횡단한다. 따라서, 픽셀 블록(711)에 대응하는 점(761)의 r 값 및 g 값이 각각 1만큼 증가한다.
동일한 픽셀 블록(711)에 드래그가 반복되면, 픽셀 블록(711)에 대응하는 점(761)의 r 값 및/또는 g 값이 반복적으로 증가한다.
RGB 이미지(760)에서의 점(761)의 청색 성분(b 값)은 터치스크린(710)의 4Х5 픽셀 블록(711)에서 터치가 지속된 시간에 의해 결정될 수 있다. 예를 들어, 픽셀 블록(711)에 터치가 0.1초 동안 지속되면 대응하는 점(761)의 b 값은 1만큼 증가할 수 있다. b 값은 터치의 지속 시간의 누적에 따라 증가할 수 있다. 예를 들어, 동일한 픽셀 블록(711)에 0.1초 동안의 터치, 1초 동안의 터치, 및 0.5초 동안의 터치가 이루어진다면, 대응하는 점(761)의 b 값은 (1 + 10 + 5 = 16)만큼 증가할 수 있다.
RGB 이미지(760)에서의 점들의 r, g, 및 b 값들은 터치 데이터를 생성하기 위한 미리 결정된 시간 동안 누적되어 증가할 수 있고, 누적된 r, g, 및 b 값들은, 예를 들어 0 내지 255의 값을 갖도록 정규화될 수 있다. 이와 같이, 미리 결정된 시간 동안 누적된 터치 데이터는 하나의 RGB 이미지(760)로 변환될 수 있다.
도 8은 본 발명의 일 실시예에 따라 모션 데이터를 이미지 데이터로 변환하는 방법을 나타내는 도면이다.
도 8(a)는 3차원 공간 상에서 모바일 기기(100)의 이동 자취(810)의 예를 도시한다. 3차원 공간 상에서의 모바일 기기(100)의 x, y, z 좌표들은, 예를 들어, 가속도계 센서(143)로부터의 가속도 신호들(AccX, AccY, AccZ)을 각각 이중 적분함으로써 얻을 수 있다. 3차원 공간 상에서의 모바일 기기(100)의 이동 자취(810)는 x-y 평면 상에 투영되어, 도 8(b)에 도시된 바와 같이 2차원 이미지(820)를 생성한다. 이미지(820)에서 각 점(821)의 x, y 좌표는, 생성된 이미지(820)가 인공 신경망의 입력 레이어에 입력되기에 적당한 크기(예를 들어 270Х384의 해상도)를 갖도록 정규화된다. 즉, 정규화된 x 좌표는 0 내지 269의 값을 가질 수 있고, 정규화된 y 좌표는 0 내지 383의 값을 가질 수 있다.
이미지(820)의 각 점(821)에서의 적색 성분(r 값)은 그 점(821)에 대응하는 시점에서의 모바일 기기(100)의 x-축의 고도각(θx) 및 y-축의 고도각(θy)에 의해 결정될 수 있다. 예를 들어, 복수의 시점들에서의 모바일 기기(100)의 x-축의 고도각(θx) 및 y-축의 고도각(θy)은 도 8(c)에 도시된 바와 같은 분포를 가질 수 있다. x-축의 고도각(θx) 및 y-축의 고도각(θy)의 분포 데이터는 주성분 분석(Principal Component Analysis; PCA)에 의해 차원-감소되어, 도 8(d)에 도시된 바와 같은 1차원 데이터를 생성한다. 1차원 데이터는 예를 들어 0 내지 255의 값을 갖도록 정규화될 수 있다. 이로써, 도 8(b)의 이미지(820)에서의 각 점(821)의 r 값은 도 8(d)에서 대응되는 점(841)의 값에 의해 결정될 수 있다.
이미지(820)에서의 각 점(821)의 녹색 성분(g 값)은 그 점에 대응하는 3차원 공간에서의 점(811)의 z-좌표에 의해 결정될 수 있다. 예를 들어, 도 8(a)에서의 3차원 이동 궤적(810)의 z-좌표는 0 내지 255의 값을 갖도록 정규화될 수 있다. 이미지(820)에서의 각 점(821)의 g 값은, 3차원 이동 궤적(810) 상의 대응하는 점(811)의 정규화된 z-값을 가질 수 있다.
이미지(820)에서의 각 점(821)의 청색 성분(b 값)은 그 점(821)에 대응하는 3차원 공간에서의 모바일 기기의 점유 시간에 의해 결정될 수 있다. b 값은 모션 데이터를 생성하기 위한 미리 결정된 시간 동안 누적되어 증가할 수 있고, 누적된 b 값은, 예를 들어 0 내지 255의 값을 갖도록 정규화될 수 있다. 이와 같이, 미리 결정된 시간 동안 누적된 모션 데이터는 하나의 RGB 이미지로 변환될 수 있다.
도 7 및 도 8의 실시예에서는, 터치 데이터가 하나의 RGB 이미지로 변환되고, 모션 데이터가 다른 하나의 RGB 이미지로 변환된다. 그러나, 터치 데이터와 모션 데이터가 함께 하나의 RGB 이미지로 변환되어도 무방하다. 다수의 데이터는 서로 간의 계산 및/또는 차원 감소 기법(예컨대, PCA)을 통해 2차원 RGB 이미지를 생성하기 위한 데이터로 변환될 수 있다. 상술한 RGB 이미지를 생성하는 방법은 단지 예시적인 것에 불과하고, 이용가능한 데이터의 개수 및 형태에 따라 다양한 방법들이 사용될 수도 있다. 또한, 상술한 실시예에서는 터치 데이터 및 모션 데이터가 RGB 이미지의 형태로 인공 신경망에 입력되는 것으로 예시되었으나, 인공 신경망의 입력 레이어의 특성에 따른 다양한 형태의 데이터가 인공 신경망에 입력될 수도 있다.
도 9는 본 발명의 일 실시예에 따른 모바일 기기에서 사용 패턴에 따라 유저를 인증하는 방법을 나타내는 흐름도이다.
도 9를 참조하면, 단계 S910에서 모바일 기기(100)는 잠김해제된 상태로 유저에 의해 사용되고 있다. 예를 들어, 모바일 기기(100)는, PIN 또는 미리 결정된 패턴의 입력, 또는 생체인식 식별 등 임의의 인증 방법을 잠금해제되어 있고, 유저에 의해 사용된다.
단계 S920에서 모바일 기기(100)는 모바일 기기(100)의 운영 체제(122) 상에서 실행 중인 애플리케이션(123)을 식별한다. 운영 체제(122) 상에서 복수의 애플리케이션이 동시에 실행되는 경우, 모바일 기기(100)는 포어그라운드(foreground)에서 실행되는 하나의 애플리케이션(123)을 식별할 수 있다. 즉, 모바일 기기(100)는 모바일 기기(100)의 터치스크린(130) 상에 나타나는 유저 인터페이스(User Interface; UI) 또는 유저 경험(User Experience; UX)과 연관된 애플리케이션(123)을 식별할 수 있다.
단계 S930에서 모바일 기기(100)는 애플리케이션(123)의 실행 중에 모바일 기기(100)의 터치스크린(130)으로부터 터치 데이터를 수집하거나, 그리고/또는 모바일 기기(100)의 3차원 모션 센서(140)로부터 모션 데이터를 수집한다. 일 실시예에서, 수집되는 터치 데이터 및 모션 데이터는, 각각 터치스크린(130) 및 3차원 모션 센서(140)로부터 제공되는 미가공(raw) 데이터일 수 있다. 다른 실시예에서, 수집되는 터치 데이터 및 모션 데이터는, 프로그래머 또는 운영 체제(122) 상의 애플리케이션에 의해 이해될 수 있도록 운영 체제(122)에 의해 또는 별개의 애플리케이션에 의해 전처리된 데이터일 수 있다.
전처리된 터치 데이터는, 예를 들어, 터치스크린(130) 상에서의 터치 좌표, 터치 상태(터치가 이루어짐, 터치가 해제됨, 터치가 이동됨(드래그 또는 스와이프), 멀티 터치의 개수, 드래그 거리, 터치 시점(터치가 이루어지는 시점, 터치가 해제되는 시점), 또는 터치 지속 시간을 포함할 수 있으나, 이에 한정되는 것은 아니다.
전처리된 모션 데이터는, 예를 들어, 수평면에 대한 모바일 기기의 x-축, y-축, 및 z-축의 각도(고도각), x-방향, y-방향, 및 z-방향의 각각에 따른 모바일 기기(100)의 이동 거리, 이동 속도, 또는 가속도를 포함할 수 있으나, 이에 한정되는 것은 아니다.
모바일 기기(100)는 미리 결정된 시간 동안 터치 데이터 및/또는 모션 데이터를 수집할 수 있다. 일 실시예에서, 미리 결정된 시간은 실행되는 애플리케이션의 특성에 따라 결정될 수 있다. 예를 들어, 게임의 경우, 단위 시간 동안 상대적으로 많은 양의 터치 데이터와 모션 데이터가 발생하므로, 모바일 기기(100)는 상대적으로 짧은 시간(예를 들어, 10초) 동안 터치 데이터 및 모션 데이터를 수집할 수 있다. 다른 실시예에서, 미리 결정된 시간은 사용 패턴 인증이 연속적으로 성공한 횟수에 따라 결정될 수 있고, 이에 관하여는 후술하기로 한다.
단계 S940에서 모바일 기기(100)는 수집된 터치 데이터 및/또는 모션 데이터를 이용하여 사용 패턴 인증을 수행한다. 구체적으로, 모바일 기기(100)는 수집된 터치 데이터 및/또는 모션 데이터의 패턴이 식별된 애플리케이션(123)과 연관된 사용 패턴 프로파일(128)에 대응하는지 여부를 결정한다. 일 실시예에서, 모바일 기기(100)는 수집된 터치 데이터 및 모션 데이터를, 도 7 및 도 8과 관련하여 설명한 방법에 따라, RGB 이미지로 변환할 수 있다. 모바일 기기(100)는 변환된 RGB 이미지를 식별된 애플리케이션(123)과 연관된 사용 패턴 프로파일(128)로 훈련된 인공 신경망에 입력한다. 인공 신경망은, 입력된 RGB 이미지가 식별된 애플리케이션(123)과 연관된 사용 패턴 프로파일(128)에 대응하는 정도(예를 들어, 유사도)를 출력할 수 있다.
수집된 터치 데이터 및 모션 데이터의 패턴이 식별된 애플리케이션(123)과 연관된 사용 패턴 프로파일(128)에 대응한다고 결정되면(즉, 인공 신경망으로부터 출력된 유사도가 기준값 이상이면), 모바일 기기(100)는 잠금해제된 상태로 유지되어 유저에 의한 사용을 허용한다(단계 S910으로 복귀).
수집된 터치 데이터 및 모션 데이터의 패턴이 식별된 애플리케이션(123)과 연관된 사용 패턴 프로파일(128)에 대응하지 않는다고 결정되면(즉, 인공 신경망으로부터 출력된 유사도가 기준값 미만이면), 단계 S950에서 모바일 기기(100)는 유저를 인증하기 위한 추가 조치를 수행한다.
일 실시예에서, 모바일 기기(100)는 카메라(151)를 활성화하여 유저의 안면 또는 홍채를 인식할 수 있다. 이 실시예에서는, 모바일 기기(100)는 유저를 방해하지 않고 유저가 알아채지 못하는 방식으로 유저의 인증을 수행할 수 있다.
다른 실시예에서, 모바일 기기(100)는 유저 인증을 위한 유저 인터페이스를 터치스크린(130) 상에 출력할 수 있다. 예를 들어, 모바일 기기(100)는 PIN 또는 잠금해제 패턴을 입력하기 위한 인터페이스를 출력하고, 유저의 입력을 요구할 수 있다. 모바일 기기(100)는 유저로부터의 입력을 메모리(120)에 저장된 PIN 정보(125) 또는 잠금해제 패턴 정보(126)와 비교함으로써, 유저를 인증할 수 있다.
또 다른 실시예에서, 모바일 기기(100)는, 실행 중인 애플리케이션과는 다른, 유저가 자주 사용하는 애플리케이션의 유저 경험(User Experience; UX) 화면을 출력하고, 유저에게 평소와 같이 터치 입력을 수행할 것을 요구할 수 있다. 모바일 기기(100)는 미리 결정된 시간 동안 터치 데이터 및/또는 모션 데이터를 수집하고, 수집된 터치 데이터 및/또는 모션 데이터의 패턴을 유저가 자주 사용하는 애플리케이션에 관한 사용 패턴 프로파일과 비교하여, 유저를 인증할 수도 있다.
추가 조치에 의해 유저의 인증이 성공한다면, 단계 S930에서 수집되었던 터치 데이터 및/또는 모션 데이터는 정당한 유저의 사용에 의해 발생한 것으로 평가되어야 한다. 단계 S970에서 모바일 기기(100)는 수집된 모션 데이터 및/또는 터치 데이터를 학습 데이터로서 인공 신경망에 입력하고, 수집된 터치 데이터 및/또는 모션 데이터의 패턴을 반영하도록, 식별된 애플리케이션(123)과 연관된 사용 패턴 프로파일(128)을 업데이트한다.
추가 조치에 의해서도 유저의 인증이 실패하면, 단계 S980에서 모바일 기기(100)는 유저의 액세스를 차단하도록 잠금 상태로 들어간다. 이에 의해, 타인에 의한 모바일 기기(100)의 사용을 효과적으로 차단할 수 있다.
도 10은 본 발명의 일 실시예에 따라 데이터의 학습 및 사용 패턴 인증이 수행되는 시점들을 나타내는 그래프이다.
도 10을 참조하면, 시점 t0에서 생체인식 식별을 통한 유저 인증이 성공한다. 생체인식 인증은 신뢰도가 가장 높은 인증 방법으로 여겨지므로, 시점 t0에서 신뢰도는 100%에 도달한다. 또한, 생체인식 인증 이후 미리 결정된 시간(예를 들어, 1분) 동안은 정당한 유저에 의해 사용될 가능성이 높으므로, 신뢰도는 시점 t1까지 100%로 유지된다.
시점 t1부터 시간의 경과에 따라 신뢰도가 감소한다. 시점 t2에서 신뢰도는 학습 기준치 이하로 내려간다. 신뢰도가 학습 기준치 이상인 때의 터치 데이터 및/또는 모션 데이터는 정당한 유저의 사용에 의해 발생한 것으로 여겨지므로, 시점 t0부터 시점 t2까지의 터치 데이터 및 모션 데이터는 인공 신경망에 대한 학습 데이터로서 사용된다. 즉, 시점 t0부터 시점 t2까지는 도 6의 실시예에 따른 방법이 수행될 수 있다.
시점 t2부터는 도 9의 실시예에 따른 방법이 수행될 수 있다. 시점 t3에서 신뢰도는 신뢰 임계치까지 감소하여, 첫번째 사용 패턴 인증이 수행된다. 사용 패턴 인증이 성공하면 신뢰도는 어느 정도 증가하고, 이후 시간의 경과에 따라 신뢰도가 다시 감소한다.
시점 t4에서 신뢰도는 다시 신뢰 임계치까지 감소하여, 두번째 사용 패턴 인증이 수행된다. 사용 패턴 인증이 성공하면 신뢰도는 어느 정도 증가하고, 이후 시간의 경과에 따라 신뢰도가 다시 감소한다. 시점 t5에서 신뢰도는 신뢰 임계치에 도달하여, 세번째 사용 패턴 인증이 수행된다. 마찬가지로, 시점 t6에서 네번째 사용 패턴 인증이 수행된다.
이때, 첫번째 사용 패턴 인증(t3)과 두번째 사용 패턴 인증(t4) 사이의 시간 길이(t4 - t3)보다 두번째 사용 패턴 인증(t4)과 세번째 사용 패턴 인증(t5) 사이의 시간 길이(t5 - t4)가 더 길 수 있다. 또한, 두번째 사용 패턴 인증(t4)과 세번째 사용 패턴 인증(t5) 사이의 시간 길이(t5 - t4)보다 세번째 사용 패턴 인증(t5)과 네번째 사용 패턴 인증(t6) 사이의 시간 길이(t6 - t5)가 더 길 수 있다. 예를 들어, t4 - t3 는 10초일 수 있고, t5 - t4 는 12초일 수 있고, 그리고 t6 - t5 는 15초일 수 있다. 즉, 사용 패턴 인증의 성공이 반복됨에 따라, 사용 패턴 인증의 성공시 신뢰도가 보다 크게 증가하거나, 시간의 경과에 따라 신뢰도가 보다 천천히 감소할 수 있다.
도 10의 예에서, 시점 t6에서 네번째 사용 패턴 인증이 실패하고, 추가 조치로서 수행된 생체인식 인증이 성공한다. 생체인식 인증이 성공의 결과, 네번째 사용 패턴 인증에 사용되었던, 시점 t5부터 시점 t6까지의 터치 데이터 및/또는 모션 데이터가 학습 데이터로서 인공 신경망에 입력되어, 사용 중인 애플리케이션과 연관된 사용 패턴 프로파일을 업데이트한다.
한편, 시점 t6에서의 생체인식 인증의 성공의 결과, 시점 t6에서 신뢰도는 100%에 도달하고 미리 결정된 시간 동안(시점 t7까지) 100%로 유지된다. 다시 시점 t8부터 신뢰도가 감소하기 시작하고, 이후 시점 t2 이후와 유사하게 동작들이 수행된다.
사용 패턴 인증의 성공이 반복되면 n번째 사용 패턴 인증과 n+1번째 사용 패턴 인증 사이의 시간 길이는 점점 길어질 수 있다. 다만, n번째 사용 패턴 인증과 n+1번째 사용 패턴 인증 사이의 시간 길이는, 예를 들어, 최대 1분보다 길어지지 않도록 제한될 수 있다. 상술한 사용 패턴 인증 사이의 시간 길이는 단지 예시적인 것이고, 실행되는 애플리케이션의 특성에 따라 상이하게 설정될 수 있다.
상술한 본 발명의 실시예들에 따르면, 모바일 기기(100)의 사용 중에 실시간으로 정당한 유저에 의한 사용인지 여부를 인증할 수 있다. 또한, 유저에게 특정한 응답이나 동작을 요구하지 않고 애플리케이션을 사용하는 사용 패턴만으로 유저를 인증할 수 있다. 따라서, 유저를 방해하지 않고 실시간으로 모바일 기기를 사용하는 유저를 인증할 수 있는 유리한 효과가 달성된다.
한편, 본 발명은 누름 감지 장치(1100)를 더 포함할 수 있다. 누름 감지 장치(1100)는 제 1 플레이트들(1110), 제 2 플레이트들(1120) 및 제 3 플레이트(1130)를 내부에 포함할 수 있다. 제 1 플레이트들(1110)는 일정 간격으로 배열되고 종단에서 상호 연결되고 전류가 흐르며, 제 2 플레이트들(1120)은 일정 간격으로 배열되며, 제 1 플레이트들 사이에 위치되고 종단에서 상호 연결되며 전류가 흐른다. 제 3 플레이트(1130)는 전류가 흐르는 탄성체로 이루어지고, 제 1 플레이트들과 제 2 플레이트들의 상부에 위치된다. 제3 플레이트(1130)가 눌려 탄성 변형되면서 제 1 플레이트들(1110)과 제 2 플레이트들(1120) 사이의 저항이 변하게 된다. 이러한 저항 변화에 의해 누름을 감지할 수 있다.
상술한 본 발명의 실시예들에 따른 방법들은 모바일 기기(100)의 운영 체제(122)의 일부로서 통합된 사용 패턴 인증 에이전트의 프로그램 코드들 또는 명령어들에 따라 프로세싱 유닛(110)에 의해 수행될 수 있다. 사용 패턴 인증 에이전트는 운영 체제(122)의 백그라운드(background)에서 실행되는 별개의 프로그램으로 구현될 수도 있다.
컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 개시에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 개시에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명의 실시예를 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (8)

  1. 모바일 기기의 유저를 인증하기 위한 방법으로서,
    모바일 기기 상에서 실행되는 애플리케이션을 식별하는 단계;
    상기 애플리케이션의 실행 중 상기 모바일 기기 상의 터치 데이터, 상기 모바일 기기의 모션 데이터 및/또는 상기 모바일 기기의 오동작을 수집하는 단계; 및
    상기 수집된 터치 데이터 및/또는 모션 데이터의 패턴이 상기 식별된 애플리케이션과 연관된 사용 패턴 프로파일에 대응하는지 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 수집된 터치 데이터 및/또는 모션 데이터의 패턴이 상기 애플리케이션과 연관된 사용 패턴 프로파일에 대응하지 않는다고 결정되는 경우, 상기 모바일 기기의 유저를 인증하기 위한 추가 조치를 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 모션 데이터는 3차원 공간에서의 상기 모바일 기기의 가속 데이터 또는 회전 데이터 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 터치 데이터는, 터치스크린 상의 터치 좌표, 멀티 터치의 개수, 터치 횟수, 또는 터치 지속시간 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 터치 데이터 및/또는 모션 데이터를 수집하는 단계는, 상기 식별된 애플리케이션에 따라 미리 결정된 시간 동안 상기 터치 데이터 및/또는 모션 데이터를 수집하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 결정하는 단계는, 인공 신경망과 연관된 사용 패턴 프로파일과 입력 데이터 간의 대응 정도를 출력하도록 훈련된 인공 신경망에 상기 수집된 터치 데이터 및/또는 모션 데이터를 입력하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 수집된 터치 데이터 및/또는 모션 데이터를 이미지 데이터로 변환하는 단계를 더 포함하고,
    상기 터치 데이터 및/또는 모션 데이터를 입력하는 단계는 상기 변환된 이미지 데이터를 입력하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 모바일 기기 상의 신규 애플리케이션의 설치 또는 최초의 실행에 응답하여 상기 신규 애플리케이션과 연관된 사용 패턴 프로파일을 생성하는 단계;
    상기 신규 애플리케이션의 실행 중 상기 모바일 기기 상의 터치 데이터 및/또는 상기 모바일 기기의 모션 데이터를 수집하는 단계; 및
    상기 수집된 터치 데이터 및/또는 모션 데이터를 이용하여, 상기 신규 애플리케이션과 연관된 사용 패턴 프로파일을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 방법.
KR1020190134582A 2019-10-28 2019-10-28 모바일 단말기에서 유저의 동작 패턴을 이용하여 유저를 인증하는 방법 KR20210050229A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190134582A KR20210050229A (ko) 2019-10-28 2019-10-28 모바일 단말기에서 유저의 동작 패턴을 이용하여 유저를 인증하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190134582A KR20210050229A (ko) 2019-10-28 2019-10-28 모바일 단말기에서 유저의 동작 패턴을 이용하여 유저를 인증하는 방법

Publications (1)

Publication Number Publication Date
KR20210050229A true KR20210050229A (ko) 2021-05-07

Family

ID=75916860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190134582A KR20210050229A (ko) 2019-10-28 2019-10-28 모바일 단말기에서 유저의 동작 패턴을 이용하여 유저를 인증하는 방법

Country Status (1)

Country Link
KR (1) KR20210050229A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102471998B1 (ko) * 2022-06-23 2022-12-02 (주)탭핀 Fido 생체인증 보안키 기반의 파일 관리 서비스를 제공하는 컴퓨터 장치, 방법 및 컴퓨터 프로그램
WO2024128634A1 (ko) * 2022-12-12 2024-06-20 주식회사 카카오뱅크 입력 패턴 정보를 이용한 사용자 인증 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102471998B1 (ko) * 2022-06-23 2022-12-02 (주)탭핀 Fido 생체인증 보안키 기반의 파일 관리 서비스를 제공하는 컴퓨터 장치, 방법 및 컴퓨터 프로그램
WO2024128634A1 (ko) * 2022-12-12 2024-06-20 주식회사 카카오뱅크 입력 패턴 정보를 이용한 사용자 인증 방법 및 장치

Similar Documents

Publication Publication Date Title
US20200042687A1 (en) Method and device for authenticating user using user's behavior pattern
Buriro et al. Hold and sign: A novel behavioral biometrics for smartphone user authentication
Jain et al. Exploring orientation and accelerometer sensor data for personal authentication in smartphones using touchscreen gestures
Zhao et al. Mobile user authentication using statistical touch dynamics images
Xu et al. MEMS accelerometer based nonspecific-user hand gesture recognition
US10042995B1 (en) Detecting authority for voice-driven devices
US8376854B2 (en) Around device interaction for controlling an electronic device, for controlling a computer game and for user verification
Impedovo et al. Automatic signature verification in the mobile cloud scenario: survey and way ahead
US20150177842A1 (en) 3D Gesture Based User Authorization and Device Control Methods
WO2015195242A1 (en) Technologies for determining confidence of user authentication
KR20070110335A (ko) 수기 서명의 획득, 분석, 인증 시스템 및 방법
Shi et al. Fine-grained and context-aware behavioral biometrics for pattern lock on smartphones
KR20190104929A (ko) 사용자 인증과 기능 실행을 동시에 수행하는 방법 및 이를 위한 전자 디바이스
Li et al. Adaptive deep feature fusion for continuous authentication with data augmentation
KR20210050229A (ko) 모바일 단말기에서 유저의 동작 패턴을 이용하여 유저를 인증하는 방법
WO2018097651A1 (ko) 서명 인증 장치 및 방법
Ali et al. User behaviour-based mobile authentication system
Ellavarason et al. Evaluation of stability of swipe gesture authentication across usage scenarios of mobile device
Zhao et al. Hand gesture authentication using depth camera
JP2007280219A (ja) 動きパターン認識装置、動きパターン認識方法及び動きパターン認識プログラム
JP2023554336A (ja) 行動バイオメトリクスについての時空間深層学習
Ouadjer et al. Feature importance evaluation of smartphone touch gestures for biometric authentication
Iyer et al. Generalized hand gesture recognition for wearable devices in IoT: Application and implementation challenges
Shukran et al. Kinect-based gesture password recognition
KR20180105035A (ko) 지문 인증 방법 및 장치