KR20220123118A - 모션 센서 데이터에 기록된 사용자, 동작 및 장치에 특유한 특징을 구분하기 위한 시스템 및 방법 - Google Patents

모션 센서 데이터에 기록된 사용자, 동작 및 장치에 특유한 특징을 구분하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20220123118A
KR20220123118A KR1020227027088A KR20227027088A KR20220123118A KR 20220123118 A KR20220123118 A KR 20220123118A KR 1020227027088 A KR1020227027088 A KR 1020227027088A KR 20227027088 A KR20227027088 A KR 20227027088A KR 20220123118 A KR20220123118 A KR 20220123118A
Authority
KR
South Korea
Prior art keywords
segment
user
processor
segments
mobile device
Prior art date
Application number
KR1020227027088A
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 베라디움 아이피 리미티드
Publication of KR20220123118A publication Critical patent/KR20220123118A/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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2132Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on discrimination criteria, e.g. discriminant analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06K9/0055
    • G06K9/6234
    • G06K9/6262
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching
    • G06F2218/16Classification; Matching by matching signal segments

Abstract

모션 신호로부터 장치의 사용자의 구별적인 특징을 구분하고 모바일 장치에서 사용자를 인증하기 위한 방법 및 시스템이 제공된다. 방법 및 시스템의 적어도 하나의 양상에서, 각각의 캡처된 모션 신호는 세그먼트로 분할된다. 그리고나서 세그먼트는 하나 이상의 훈련된 변형 알고리즘을 이용하여 변형된 세그먼트로 변환된다. 그리고나서 세그먼트 및 변형된 세그먼트는 기계 학습 시스템에 제공된다. 그리고나서 하나 이상의 특징 추출 알고리즘을 적용하는 기계 학습 시스템을 이용하여 프로세서로 세그먼트 및 변형된 세그먼트로부터 사용자의 구별적인 특징이 추출된다.

Description

모션 센서 데이터에 기록된 사용자, 동작 및 장치에 특유한 특징을 구분하기 위한 시스템 및 방법
본 출원은 2020년 1월 6일에 출원된 "모션 센서 데이터에 기록된 사용자, 동작 및 장치에 특유한 특징을 구분하기 위한 시스템 및 방법"이라는 제목의 미국 임시 특허 출원(출원 번호: 62/957,653)에 기초하여 우선권을 주장하며, 그 내용은 그것의 전체가 여기에 명시적으로 설명된 것 것처럼 여기에 참조에 의해 통합된다.
본 출원은 사용자의 특징을 추출하는 시스템 및 방법에 관한 것이고, 특히 사용자와 관련된 모션 센서 데이터로부터 장치의 사용자의 구별적인 특징을 추출하는 시스템 및 방법에 관한 것이다.
스마트폰 사용자(소유자) 식별 및 인증을 위해 모션 센서 데이터에 기반하여 설계된 표준 기계 학습(Machine Learning, ML) 시스템은, 공격자가 소유자의 스마트폰에 대해 인증하는 것을 시도할 때 심각한 성능 및 정확도 저하(예를 들어, 10% 이상)로 고통받는다. 이 문제는 ML 시스템이 스마트폰 장치의 구별적인 특징 또는 일반적인 동작(예를 들어, 테이블에서 전화를 치우기, 전화 받기 등)의 구별적인 특징으로부터 사용자의 구별적인 특징을 구분할 수 없을 때 자연스럽게 발생한다. 문제는 인증 세션 동안 모션 센서(예를 들어, 가속도계 및 자이로스코프)에 의해 기록된 신호가 이러한 모든 특징들(사용자, 동작 및 장치를 대표하는)을 함께 포함한다는 사실에 기인한다.
이 문제를 해결하기 위한 한 가지 접근법은, (a) 다른 동작(예를 들어, 의자에 앉기, 서기, 손 바꾸기 등)을 수행하는 동안 사용자가 다수의 장치에서 인증하도록 요청하는 것, 또는 (b) (잠재적인 공격을 시뮬레이션하기 위해) 스마트폰 소유자가 다른 사람이 몇 가지(a few) 인증을 하게 하도록 요청하는 것에 의해, 사용자 등록 중 추가적인 모션 신호를 수집하는 것이다. 그러나 이 옵션들 둘다는 사용자에게 불편하다.
이와 같이, 모바일 장치의 사용자의 구별적인 특징을 추출하기 위한 더 신뢰할 수 있고 효율적인 방법이 필요하다.
첫번째 양상에서, 모바일 장치에 의해 캡처된 모션 신호로부터 장치의 사용자의 구별적인 특징을 구분하기(disentangle) 위한 컴퓨터 실행 방법이 제공된다. 모바일 장치는 하나 이상의 모션 센서, 저장 매체, 저장 매체에 저장된 명령어, 및 명령어를 실행함으로써 구성되는 프로세서를 가진다. 이 방법에서, 프로세서로, 각각의 캡처된 모션 신호는 세그먼트로 분할된다. 그리고 나서, 하나 이상의 훈련된 변형 알고리즘을 이용하는 프로세서로, 세그먼트는 변형된 세그먼트로 변환된다. 그리고 나서 세그먼트 및 변형된 세그먼트는, 프로세서로, 기계 학습 시스템에 제공된다. 그리고 나서, 하나 이상의 특징 추출 알고리즘을 적용하는 기계 학습 시스템을 이용하는 프로세서로, 세그먼트 및 변형된 세그먼트로부터 사용자의 구별적인 특징이 추출된다.
다른 양상에서, 사용자의 구별적인 특징은 사용자에 의한 장치의 향후 이용 시 사용자를 식별하는데 사용된다. 다른 양상에서, 하나 이상의 모션 센서는 자이로스코프 및 가속도계 중 적어도 하나를 포함한다. 다른 양상에서, 하나 이상의 모션 신호는 사용자와 모바일 장치 사이의 하나 이상의 상호작용에 대응한다.
다른 양상에서, 모션 신호는 사용자의 구별적인 특징, 사용자에 의해 수행된 동작의 구별적인 특징 및 모바일 장치의 구별적인 특징을 포함한다. 추가적인 양상에서, 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하는 단계는 사용자에 의해 수행되는 동작의 구별적인 특징을 제거한다. 추가적인 양상에서, 세그먼트를 변형된 세그먼트로 변환하는 단계는 모바일 장치의 구별적인 특징을 제거한다.
다른 양상에서, 하나 이상의 훈련된 변형 알고리즘은 하나 이상의 Cycle-GANs(Cycle-consistent Generative Adversarial Networks)을 포함하고, 변형된 세그먼트는 다른 장치로부터 유래하는 모션 신호를 시뮬레이션하는 합성한 모션 신호를 포함한다.
다른 양상에서, 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하는 단계는 각각의 모션 신호를 고정된 수의 세그먼트로 분할하는 단계를 포함하며, 여기서 각각의 세그먼트는 고정 길이를 가진다.
두번째 양상에서, 모바일 장치에 의해 캡처된 모션 신호로부터 모바일 장치 상에서 사용자를 인증하기 위한 컴퓨터 실행 방법이 제공된다. 모바일 장치는 하나 이상의 모션 센서, 저장 매체, 저장 매체에 저장된 명령어, 및 명령어를 실행함으로써 구성되는 프로세서를 가진다. 상기 방법에서, 하나 이상의 캡처된 모션 신호는 프로세서에 의해 세그먼트로 분할된다. 세그먼트는 하나 이상의 훈련된 변형 알고리즘을 이용하는 프로세서로, 변형된 세그먼트로 변환된다. 세그먼트 및 변형된 세그먼트는, 프로세서로, 기계 학습 시스템에 제공된다. 그리고 나서, 세그먼트 및 변형된 세그먼트는 세그먼트 및 변형된 세그먼트의 각각에 점수를 할당함으로써, 프로세서로, 인가된 사용자에 속하는 것으로 또는 인가되지 않은 사용자에 속하는 것으로 분류된다. 그리고 나서, 투표 방식 또는 메타 학습 모델이, 프로세서로, 세그먼트 및 변형된 세그먼트에 할당된 점수에 적용된다. 그리고 나서, 프로세서로, 투표 방식 또는 메타 학습 모델을 기반으로 사용자가 인가된 사용자인지 여부가 결정된다.
다른 양상에서, 분류하는 단계는, 세그먼트 및 변형된 세그먼트를, 등록 프로세스 중에 인가된 사용자에 의해 제공된 샘플 세그먼트로부터 추출된 인가된 사용자의 특징(feature)과 비교하는 단계 - 여기서 특징은 저장 매체에 저장됨; 및 분류 모델에 기반하여 각각의 세그먼트에 점수를 할당하는 단계를 포함한다.
다른 양상에서, 하나 이상의 모션 센서는 자이로스코프 및 가속도계 중 적어도 하나를 포함한다. 다른 양상에서, 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하는 단계는, 각각의 모션 신호를 고정된 수의 세그먼트로 분할하는 단계를 포함하고, 각각의 세그먼트는 고정된 길이를 가진다. 다른 양상에서, 세그먼트들의 적어도 일부는 중첩한다.
다른 양상에서, 하나 이상의 훈련된 변형 알고리즘은 하나 이상의 Cycle-GAN을 포함하고, 변환하는 단계는, 제1 생성기를 통해 세그먼트를 다른 장치에서 생성된 세그먼트를 모방하는 변형된 세그먼트로 변형시키는 단계; 및, 모바일 장치에서 생성된 세그먼트를 모방하기 위해, 제2 생성기를 통해 변형된 세그먼트를 재-변형시키는 단계를 포함한다.
다른 양상에서, 변형된 세그먼트는 다른 장치로부터 유래하는 모션 신호를 시뮬레이션하는 합성한 모션 신호를 포함한다. 다른 양상에서, 제공하는 단계는, 하나 이상의 특징 추출 기술을 이용한 처리로, 특징 벡터를 형성하기 위해 세그먼트 및 변형된 세그먼트로부터 특징을 추출하는 단계; 및, 세그먼트 및 변형된 세그먼트에 대응하는 특징 벡터에 대해 학습된 분류 모델을 사용하는 단계를 포함한다.
세번째 양상에서, 모바일 장치에서 캡처된 모션 신호로부터 장치의 사용자의 구별적인 특징을 구분하고 모바일 장치 상에서 사용자를 인증하기 위한 시스템이 제공되며, 여기서 모바일 장치는 적어도 하나의 모션 센서를 가진다. 시스템은, 네트워크 통신 인터페이스, 컴퓨터 판독 가능한 저장 매체, 및, 네트워크 통신 인터페이스 및 컴퓨터 판독 가능 저장 매체와 상호 작용하고 저장 매체에 저장된 하나 이상의 소프트웨어 모듈을 실행하도록 구성되는 프로세서;를 포함한다. 소프트웨어 모듈은,
실행될 때 각각의 캡처된 모션 신호를 세그먼트로 분할하도록 프로세서를 구성하는 분할 모듈;
실행될 때 하나 이상의 훈련된 Cycle-GAN(Cycle-consistent Generative Adversarial Networks)를 이용하여 세그먼트를 변형된 세그먼트로 변환하도록 상기 프로세서를 구성하는 변환 모듈;
실행될 때, 기계 학습 시스템을 이용하는 프로세서로, 세그먼트 및 변형된 세그먼트로부터 사용자의 추출하는 구별적인 특징을 추출하도록 프로세서를 구성하는 특징 추출 모듈;
실행될 때, 세그먼트 및 변형된 세그먼트에 점수를 할당하고 그들의 각각의 점수에 기반하여 세그먼트 및 변형된 세그먼트가 인가된 사용자 또는 인가되지 않은 사용자에 속하는지 여부를 결정하도록 프로세서를 구성하는 분류 모듈; 및
실행될 때 사용자에 대응하는 저장된 세그먼트에 기반하여 세그먼트 및 변형된 세그먼트에 할당된 점수에 대한 투표 방식 또는 메타 학습 모델을 적용하도록 프로세서를 구성하는 메타 학습 모듈을 포함한다.
다른 양상에서, 적어도 하나의 모션 센서는 자이로스코프 및 가속도계 중 적어도 하나를 포함한다.
다른 양상에서, 변환 모듈은 제1 생성기를 통해 세그먼트를 다른 장치에서 생성된 세그먼트를 모방하는 변형된 세그먼트로 변형시키고 모바일 장치에서 생성된 세그먼트를 모방하기 위해 제2 생성기를 통해 변형된 세그먼트를 재-변형시키도록 프로세서를 구성한다.
다른 양상에서, 특징 추출 모듈은 세그먼트 및 변형된 세그먼트에 대응하는 추출된 특징에 대해 학습된 분류 모델을 사용하도록 더 구성된다.
도 1a는 여기에 개시된 적어도 하나의 실시예에 따라, 모션 센서 데이터로부터 장치의 사용자의 구별적인 특징을 구분하고 모션 센서 데이터로부터 사용자를 인증하기 위한 시스템의 상위 레벨 도면을 개시한다.
도 1b는 여기에 개시된 적어도 하나의 실시예에 따른, 모션 센서 데이터로부터 장치의 사용자의 구별적인 특징을 구분하고 모션 센서 데이터로부터 사용자를 인증하기 위한 컴퓨터 시스템의 블록도이다.
도 1c는 여기에 개시된 적어도 하나의 실시예에 따른, 모션 센서 데이터로부터 장치의 사용자의 구별적인 특징을 구분하고 모션 센서 데이터로부터 사용자를 인증하기 위한 소프트웨어 모듈의 블록도이다.
도 1d는 여기에 개시된 적어도 하나의 실시예에 따른, 모션 센서 데이터로부터 장치의 사용자의 구별적인 특징을 구분하고 모션 센서 데이터로부터 사용자를 인증하기 위한 컴퓨터 시스템의 블록도이다.
도 2는 하나 이상의 실시예에 따른, 기계 학습에 기반한 예시적인 표준 스마트폰 사용자 식별 시스템 및 흐름도를 도시한 도면이다.
도 3은 하나 이상의 실시예에 따른, 기계 학습에 기반하여 동작의 구별적인 특징을 제거함에 의한 사용자 식별에 대한 예시적인 모바일 장치 시스템 및 흐름도를 도시한 도면이다.
도 4는 하나 이상의 실시예에 따른, 신호-대-신호 변형을 위한 예시적인 Cycle-GAN(Cycle-consistent Generative Adversarial Network)의 도면이다.
도 5a 내지 도 5d는 하나 이상의 실시예에 따른, 모션 센서 데이터로부터 모바일 장치의 사용자의 구별적인 특징을 구분하고 모션 센서 데이터로부터 사용자를 인증하기 위한 시스템 및 흐름도를 도시한다.
도 6a는 여기에 개시된 적어도 하나의 실시예에 따른, 모션 센서 데이터로부터 징치의 사용자의 구별적인 특징을 구분하기 위한 계산 흐름을 나타내는 상위 레벨 도면을 개시한다.
도 6b는 여기에 개시된 적어도 하나의 실시예에 따른, 모션 센서 데이터로부터 모바일 장치 상에서 사용자를 인증하기 위한 계산 흐름을 나타내는 상위 레벨 블록도를 개시한다.
개요 및 소개의 방식으로, 등록 중에 사용자가 어떤 추가적인 인증을 수행하는 것을 요구하는 것 없이, 스마트폰 사용자의 구별적인 특징을 모션 신호로부터 추출하거나 구분하고, 동작을 구별하고 장치를 구별하는 데 유용한 특징으로부터 그들을 분리하기 위한, 예시적인 시스템 및 방법이 여기에 개시된다. 방법의 하나 이상의 실시예에 따르면, 제1 단계에서, 신호를 더 작은 청크로 축소(cut down)함으로써 그리고 이 청크들의 각각에 독립적으로 기계 학습 시스템을 적용함으로써 동작을 구별하는 특징이 제거된다. "제거하다(eliminate)"라는 용어는 동작(또는 장치)과 관련된 신호 특징이 결과적인 모션 데이터 신호(들)로부터 삭제되는(removed) 것을 반드시 의미하지는 않는다는 것으로 이해되어야 한다. 오히려, 프로세스는 신호 청크의 독립적인 처리를 통해 이 구별적인 특징을 난독화(obfuscate)함으로써 동작의 구별적인 특징을 효과적으로 제거한다(eliminate). 다시 말해서, 시스템은 작은 청크로부터 전체 신호를 다시 재구성할 수 없기 때문에, 동작 신호에 대응하는 사용자의 동작(예를 들어, 손가락 스와이프, 제스처)은 더 이상 복구 및 식별될 수 없고 그러므로 효과적으로 제거된다. 두 번째 단계에서는, 장치의 미리 정의된 세트 상에서 인증 세션을 시뮬레이션하기 위해, 생성적 모델(예를 들어, 생성적 적대 네트워크(Generative Adversarial Networks))을 사용함으로써 장치를 구별하는 특징이 효과적으로 제거된다. 생성적 모델은 장치로부터의 신호의 청크를 입력으로써 가져오고 입력 장치의 특징을 미리 정의된 세트에서의 다른 장치에 대한 구별적인 특징으로 대체하는 신호의 유사한 청크를 출력으로써 제공하도록 트레이닝된다. 다른 장치로부터의 특징을 특정한 사용자의 신호에 주입한 후, 기계 학습 시스템은 본래의 신호 청크와 시뮬레이션된 신호 청크로부터 장치 간에 변경되지 않는 특징을 학습할 수 있다. 이것은 의심스러운 사용자를 구별하는 데 유용한 특징이다.
여기에 설명된 방법 및 시스템은, 예를 들어, 스마트폰 사용자(소유자) 식별 및 인증을 위해 설계된 임의의 기계 학습 시스템에 연결될 수 있다. 장치와 동작을 구별하는 특징을 제거하는 동안, 설명된 방법 및 시스템은 사용자의 구별적인 특징에 초점을 맞춘다. 방법 및 시스템은 일련의 실험에서 검증되었으며 이점이 경험적으로 입증되었다.
도 1a는 적어도 하나의 실시예에 따라 모션 센서 데이터로부터 장치의 사용자의 구별적인 특징을 구분하고 모션 센서 데이터로부터 사용자를 인증하기 위한 본 시스템(100)의 상위 레벨 도면을 개시한다. 본 방법은, 아래에서 더 상세히 설명되는 바와 같이, 본 시스템(100)의 하나 이상의 양상을 이용하여 구현될 수 있다. 일부 구현에서, 시스템(100)은 고정된 PC, 서버 및 사용자에 의해 작동되는 스마트폰, 태블릿 및 랩톱과 같은 장치와 통신하는 클라우드 기반 시스템 서버 플랫폼을 포함한다.
하나의 방식에서, 시스템(100)은 시스템 서버(백엔드 서버)(105) 및 하나 이상의 모바일 장치(들)(101)를 포함하는 하나 이상의 사용자 장치(들)를 포함한다. 본 시스템 및 방법은 부분적으로 모바일 장치(예를 들어, 스마트폰)로 수행되는 것으로 일반적으로 설명되지만, 적어도 하나의 구현에서, 본 시스템 및 방법은 워크스테이션, 퍼스널 컴퓨터, 랩톱 컴퓨터, 액세스 제어 장치 또는 다른 적절한 디지털 컴퓨터와 같은, 다른 유형의 컴퓨팅 장치 상에서 실행될 수 있다. 예를 들어, 모바일 장치(101)와 같은 사용자 대면 장치는 일반적으로 모션 신호를 캡처하는 반면, 모션 신호로부터 사용자의 구별적인 특징을 구분하는 것으로 향하는 예시적인 처리 동작 중 하나 이상, 그리고 인증/식별이 시스템 서버(105)에 의해 수행될 수 있다. 시스템(100)은 또한 하나 이상의 원격 컴퓨팅 장치(102)를 포함할 수 있다.
시스템 서버(105)는 실질적으로, 사용자 장치 및 원격 컴퓨팅 장치와 통신하고 전자 정보를 수신, 전송 및 저장하고, 여기에 추가로 설명되는 바와 같은 요청을 처리할 수 있는 임의의 컴퓨팅 장치 또는 데이터 처리 장치일 수 있다. 유사하게, 원격 컴퓨팅 장치(102)는 실질적으로 시스템 서버 또는 사용자 장치와 통신할 수 있고 전자 정보를 수신, 전송 및 저장하고 여기에 추가로 설명되는 바와 같은 요청을 처리할 수 있는 임의의 컴퓨팅 장치 또는 데이터 처리 장치일 수 있다. 또한 시스템 서버 또는 원격 컴퓨팅 장치는 많은 네트워크화한 또는 클라우드 기반의 컴퓨팅 장치일 수 있음이 이해되어야 한다.
하나 이상의 실시예에서, 사용자 장치(들), 모바일 장치(들)(101)는 서로, 시스템 서버(105) 또는 원격 컴퓨팅 장치(102)와 통신하여 전자 정보를 그것에 전송하고 그것으로부터 전자 정보를 수신하도록 구성될 수 있다. 사용자 장치는, 예를 들어 사용자(124)로부터의 하나 이상의 제스처(상호작용)에 대응하는, 사용자로부터의 모션 신호를 캡처 및 처리하도록 구성될 수 있다.
모바일 장치(들)(101)는 여기에 설명된 시스템 및 방법을 구현할 수 있는, 퍼스널 컴퓨터, 태블릿 컴퓨터, 개인 정보 단말기(personal digital assistant), 모바일 전자 장치, 휴대 전화 또는 스마트폰 장치 등을 포함하되 이에 제한되지 않는, 임의의 모바일 컴퓨팅 장치 또는 데이터 처리 장치일 수 있다.
도 1a은 사용자의 구별적인 특징을 구분하기 위한 그리고 모바일 장치(들)(101) 및 원격 컴퓨팅 장치(102)에 관한 사용자 인증을 위한 시스템(100)을 도시하지만, 많은 그러한 장치가 여기에서 설명되는 방식으로 시스템과 상호작용할 수 있다는 것에 유의해야 한다. 도 1a가 사용자의 구별적인 특징을 구분하기 위한 그리고 사용자(124)에 관한 인증을 위한 시스템(100)을 묘사하지만, 많은 사용자가 여기에서 설명되는 방식으로 시스템과 상호작용할 수 있다는 것에 유의해야 한다.
모바일 장치(들)(101) 및 시스템 서버(105) 및 원격 컴퓨팅 장치(102)를 포함하지만 이에 제한되지 않는, 여기에서 참조된 다양한 컴퓨팅 장치 및 기계가 여기에서 개별 또는 단일 장치 및 기계들로 지칭되지만, 특정 구현에서는 참조된 장치 및 기계, 그리고 그들의 연관되거나 수반되는 동작, 특징 및 기능은, 당업자에게 알려진 바와 같이, 네트워크 연결 또는 유선 연결을 통하는 것과 같이 다수의 그러한 장치 또는 기계에 걸쳐 결합되거나 배열되거나 다르게 사용될 수 있음이 더 이해되어야 한다.
모바일 장치(들)(101)(또한 스마트폰이라고 지칭됨)의 맥락에서 여기에 설명된 예시적인 시스템 및 방법은 모바일 장치에 특별히 제한되지 않고 다른 이용할 수 있는 컴퓨팅 장치를 이용하여 구현될 수 있음이 또한 이해되어야 한다.
이제 도 1b를 참조하면, 시스템(100)의 모바일 장치(101)는 하나 이상의 프로세서(110), 메모리(120), 마이크로폰(125), 디스플레이(140), 카메라(145), 오디오 출력기(155), 스토리지(190) 및 통신 인터페이스(150)를 포함하는, 시스템의 동작을 가능하게 하는 것을 제공하는 다양한 하드웨어 및 소프트웨어 구성요소를 포함한다. 프로세서(110)는 메모리(120)에 로드될 수 있는 소프트웨어 명령어의 형태로 클라이언트 애플리케이션을 실행하도록 제공한다. 프로세서(110)는, 구현에 따라, 많은 프로세서, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 다중 프로세서 코어, 또는 임의의 다른 유형의 프로세서일 수 있다.
바람직하게는, 메모리(120) 및/또는 스토리지(190)는 프로세서(110)에 의해 액세스 가능하며, 그렇게 함으로써 프로세서가 메모리 및/또는 스토리지에 인코딩된 명령어를 수신 및 실행할 수 있게 하여 아래에서 더 자세히 설명될 것처럼 모바일 장치 및 그것의 다양한 하드웨어 구성요소가 시스템 및 방법의 양상에 대한 동작을 실행하는 것을 야기한다. 메모리는, 예를 들어, 랜덤 액세스 메모리(RAM) 또는 임의의 다른 적절한 휘발성 또는 비휘발성 컴퓨터 판독 가능 저장 매체일 수 있다. 또한 메모리는 고정되거나 분리가 가능하다. 스토리지(190)는, 구현에 따라, 다양한 형태를 가질 수 있다. 예를 들어, 스토리지는 하드 드라이브, 플래시 메모리, 재기록할 수 있는 광 디스크, 재기록 할 수 있는 자기 테이프, 또는 상술한 것의 일부의 조합과 같은 하나 이상의 구성 요소 또는 장치를 포함할 수 있다. 스토리지 또한 고정되거나 분리가 가능하다.
하나 이상의 소프트웨어 모듈(130)은 스토리지(190) 및/또는 메모리(120)에 인코딩될 수 있다. 소프트웨어 모듈(130)은 컴퓨터 프로그램 코드를 가지는 하나 이상의 소프트웨어 프로그램 또는 애플리케이션, 또는 프로세서(110)에서 실행되는 명령어의 세트를 포함할 수 있다. 예시적인 실시예에서, 도 1c에 도시된 바와 같이, 바람직하게는, 프로세서(110)에 의해 실행되는, 사용자 인터페이스 모듈(170), 특징 추출 모듈(172), 분할 모듈(173), 분류 모듈(174), 메타 학습 모듈(175), 데이터베이스 모듈(176), 통신 모듈(177), 및 변환 모듈(178)이 소프트웨어 모듈(130) 중에 포함된다. 이러한 컴퓨터 프로그램 코드 또는 명령어는 여기에 개시된 시스템 및 방법의 동작을 실행하도록 프로세서(110)를 구성하고 하나 이상의 프로그래밍 언어의 임의의 조합으로 작성될 수 있다.
구체적으로, 사용자 인터페이스 모듈(170)은 사용자로부터의 모션 신호를 캡처하고 사용자의 신원을 인증하는 것과 관련된 단계를 수행하기 위한 하나 이상의 알고리즘을 포함할 수 있다. 특징 추출 모듈(172)은 사용자의 모션 신호의 세그먼트 및 변형된 세그먼트로부터 사용자의 구별적 특징을 추출하는 것과 관련된 단계를 수행하기 위한 하나 이상의 특징 추출 알고리즘(예를 들어, 기계 학습 알고리즘)을 포함할 수 있다. 분할 모듈(173)은 캡처된 모션 신호를 세그먼트로 분할하는 것과 관련된 단계를 수행하기 위한 하나 이상의 알고리즘을 포함할 수 있다. 변환 모듈(178)은 모션 신호의 세그먼트를 변형된 세그먼트로 변환하는 것과 관련된 단계를 수행하기 위한 하나 이상의 변형 알고리즘을 포함한다. 분류 모듈(174)은 세그먼트 및 변형된 세그먼트에 대한 스코어링(scoring)(예를 들어, 클래스 확률을 할당)과 관련된 단계를 수행하기 위한 하나 이상의 알고리즘을 포함한다. 메타 학습 모듈(175)은 인증을 시도하는 사용자를 식별하거나 거부하기 위해 세그먼트 및 변형된 세그먼트에 할당된 점수를 통합하는 것과 관련된 단계를 수행하기 위한 하나 이상의 알고리즘(예를 들어, 투표 방식 또는 메타 학습 모델)을 포함한다. 데이터베이스 모듈(176)은 모션 신호, 세그먼트 또는 변형된 세그먼트와 관련된 데이터를 데이터베이스(185) 또는 스토리지(190)에 저장(store)하거나 세이브(save)하기 위한 하나 이상의 알고리즘을 포함한다. 통신 모듈(177)은 시스템(100)의 컴퓨팅 장치(101, 102, 및/또는 105) 사이에서 신호를 전송 및 수신하기 위한 하나 이상의 알고리즘을 포함한다.
프로그램 코드는 독립형의 소프트웨어 패키지로서 모바일 장치(101)에서 전부, 모바일 장치에서 부분적으로, 시스템 서버(105)에서 부분적으로, 또는 시스템 서버 또는 다른 원격 컴퓨터 또는 장치에서 전부, 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 근거리 통신망(LAN) 또는 광역 통신망(WAN), 이동 통신 네트워크, 셀룰러 네트워크를 포함하는 임의의 유형의 네트워크를 통해 모바일 장치(101)에 연결될 수 있거나, 연결은 외부 컴퓨터에 만들어질 수 있다(예를 들어, 인터넷 서비스 제공자를 이용하는 인터넷을 통해).
하나 이상의 실시예에서, 당업자에게 알려진 바와 같이, 소프트웨어 모듈(130) 및 하나 이상의 컴퓨터 판독가능 저장 장치(메모리(120) 및/또는 스토리지(190)와 같은)의 프로그램 코드는 본 발명에 따라 제조 및/또는 배포될 수 있는 컴퓨터 프로그램 제품을 형성한다.
일부 예시적인 실시예에서, 시스템(100) 내에서 이용하기 위해, 하나 이상의 소프트웨어 모듈(130)은 통신 인터페이스(150)를 통해 다른 장치 또는 시스템으로부터 네트워크를 통해 스토리지(190)로 다운로드될 수 있다. 추가적으로, 본 시스템 및 방법의 동작과 관련된 다른 정보 및/또는 데이터(데이터베이스(185)와 같은)가 또한 스토리지에 저장될 수 있다는 점에 유의해야 한다. 바람직하게는, 이러한 정보는 보안 인증 애플리케이션을 실행하는 프로세서에 의해 수집되거나 생성된 정보를 안전하게 저장하도록 특별히 할당된 암호화된 데이터 저장소에 저장된다. 바람직하게는, 암호화 조치는 정보를 모바일 장치 저장소에 국지적으로(locally) 저장하고 정보를 시스템 서버(105)에 전송하는 데 사용된다. 예를 들어, 이러한 데이터는 1024비트의 다형성 암호(polymorphic cipher), 또는 내보내는(export) 제어에 의존하여 AES 256비트 암호화 방법을 이용하여 암호화될 수 있다. 또한 원격 키(seed) 또는 로컬 키(seed)를 이용하여 암호화가 수행될 수 있다. 예를 들어, SHA256과 같은 다른 암호화 방법이 당업자에 의해 이해되는 바와 같이 사용될 수 있다.
또한, 모바일 장치(들)(101) 및/또는 시스템 서버(105)에 저장된 데이터는 사용자의 모션 센서 데이터 또는 모바일 장치 정보를 암호화 키로 이용하여 암호화될 수 있다. 일부 구현에서, 전술한 것의 조합은, 바람직하게는 길이가 적어도 384비트인 타원 곡선 암호 방식(Elliptic Curve Cryptography)을 이용하여 모바일 장치에서 암호화될 수 있는 사용자에 대한 복합 고유 키를 생성하는 데 사용될 수 있다. 또한 그 키는 모바일 장치 또는 시스템 서버에 저장된 사용자 데이터를 보호하는 데 사용될 수 있다.
또한, 하나 이상의 실시예에서, 데이터베이스(185)는 스토리지(190)에 저장된다. 아래에서 더 상세히 설명되는 바와 같이, 데이터베이스(185)는 시스템(100)의 다양한 동작과 사용자의 구별적인 특징을 구분하기 위한 방법 및 사용자 인증 전체에 걸쳐 활용되는 다양한 데이터 항목 및 요소를 포함하거나 유지한다. 데이터베이스에 저장된 정보는, 여기에서 더 자세히 설명될, 사용자 모션 센서 데이터 템플릿 및 프로파일 정보를 포함할 수 있지만 이에 제한되지는 않는다. 데이터베이스가 모바일 장치(101)에 국지적으로(locally) 구성되는 것으로 도시되어 있음에도 불구하고, 특정 구현에서 데이터베이스 또는 그 안에 저장된 다양한 데이터 요소는, 추가로 또는 대안적으로, 원격으로(원격 장치(102) 또는 시스템 서버(105) 상에서와 같이- 미도시) 위치할 수 있고 당업자에게 알려진 방식으로 네트워크를 통해 모바일 장치에 연결될 수 있다.
사용자 인터페이스(115)는 또한 프로세서에 작동 가능하게 연결된다. 인터페이스는 전자 컴퓨팅 장치의 분야에서 이해되는 바와 같이, 스위치(들), 버튼(들), 키(들), 터치 스크린, 마이크로폰 등과 같은 하나 이상의 입력 또는 출력 장치(들)일 수 있다. 사용자 인터페이스(115)는 사용자 인식을 위한 시스템(100)의 동작과 관련된 온-오프 명령 또는 사용자 정보 및 설정과 같은 사용자로부터의 명령의 캡처를 촉진하는 것을 제공한다. 예를 들어, 적어도 하나의 실시예에서, 인터페이스(115)는 사용자 프로파일을 생성하기 위해 시스템에 등록하기 위한 개인 사용자 정보와 같은 모바일 장치(들)(101)로부터의 특정 정보의 캡처를 촉진하는 것을 제공할 수 있다.
모바일 장치(101)는 또한 프로세서(110)에 작동 가능하게 연결된 디스플레이(140)를 또한 포함할 수 있다. 디스플레이는 시스템이 사용자의 구별적인 특징의 구분 및 사용자 인증을 위한 시스템(100)의 동작과 관련하여 사용자에게 지시하거나 그렇지 않으면 피드백을 제공할 수 있게 하는 스크린 또는 임의의 다른 그러한 프리젠테이션 장치를 포함한다. 예로서, 디스플레이는 도트 매트릭스 디스플레이(dot matrix display) 또는 다른 2차원 디스플레이와 같은 디지털 디스플레이일 수 있다.
추가적인 예로서, 모바일 장치(101)와 같은 스마트폰에서 일반적인 것처럼, 인터페이스 및 디스플레이는 터치 스크린 디스플레이로 통합될 수 있다. 따라서 디스플레이는 또한 다양한 데이터를 표시하고 사용자에 의한 정보의 진입을 감안하는 필드를 포함하는 "양식(forms)"을 제공할 수 있는 그래픽 사용자 인터페이스를 표시하는 데에 사용된다. 그래픽 사용자 인터페이스의 디스플레이에 대응하는 위치에서 터치 스크린을 터치하는 것은 사람이 장치와 상호 작용하여 데이터를 입력하고, 설정을 변경하고, 기능을 제어하는 등의 것을 허용한다. 따라서, 터치 스크린이 터치되면, 사용자 인터페이스는 이 변경을 프로세서에 전달하고, 설정이 변경되거나, 사용자 입력된 정보가 캡처되어 메모리에 저장될 수 있다.
모바일 장치(101)는 또한 디지털 이미지를 캡처할 수 있는 카메라(145)를 포함할 수 있다. 모바일 장치(101) 또는 카메라(145)는 또한 하나 이상의 광 또는 신호 이미터(예를 들어, LED, 미도시), 예를 들어 가시광 이미터 또는 적외선 이미터 등을 포함할 수 있다. 센서(예를 들어 그리고 제한되는 것 없이, CCD 또는 CMOS 센서)를 통합하는 전방 포커싱 카메라 또는 후방 포커싱 카메라와 같은, 카메라는 모바일 장치에 통합될 수 있다. 당업자에 의해 이해되는 바와 같이, 카메라(145)는 또한 렌즈, 라이트 미터(light meter)(예를 들어, 조도계(lux meters))와 같은 추가적인 하드웨어 및 줌, 초점, 조리개, 노출, 셔터 스피드 등과 같은 이미지 캡처 설정을 조정하는데 사용할 수 있는 다른 기존의 하드웨어 및 소프트웨어 기능을 또한 포함할 수 있다. 대안적으로, 카메라는 모바일 장치(101)의 외부에 있을 수 있다. 카메라 및 광 이미터의 가능한 변형이 당업자에 의해 이해될 것이다. 추가적으로, 모바일 장치는 또한 당업자에 의해 이해되는 바와 같이 오디오 녹음을 캡처하기 위한 하나 이상의 마이크로폰(125)을 포함할 수 있다.
오디오 출력기(155)은 또한 프로세서(110)에 작동 가능하게 연결된다. 오디오 출력기는 당업자에 의해 이해되는 바와 같이 전자 오디오 파일을 재생하도록 구성되는 임의의 유형의 스피커 시스템일 수 있다. 오디오 출력기는 모바일 장치(101)에 통합되거나 모바일 장치(101) 외부에 있을 수 있다.
다양한 하드웨어 장치 또는 센서(160)가 또한 프로세서에 작동 가능하게 연결될 수 있다. 예를 들어, 센서(160)는 하루 중 시간 등을 추적하기 위한 온보드 시계(on-board clock); 모바일 장치의 위치를 결정하기 위한 GPS 가능한 장치; 모바일 장치의 3차원 방향을 결정하기 위해 지구의 자기장을 감지하는 중력 자력계; 모바일 장치와 다른 물체 사이의 거리를 감지하는 근접 센서; RF 방사 레벨을 감지하는 RF 방사 센서; 및 당업자에 의해 이해되는 것과 같은 다른 그러한 장치를 포함한다.
모바일 장치(들)(101)는 또한 사용자(124)로부터의 모션 신호를 캡처하도록 구성되는 가속도계(135) 및/또는 자이로스코프(136)를 포함한다. 적어도 하나의 실시예에서, 가속도계는 또한 모바일 장치의 방향 및 가속도를 추적하도록 구성될 수 있다. 모바일 장치(101)는 가속도계 및 자이로스코프 값을, 예를 들어 특징 추출 모듈(172), 분류 모듈(174), 및 메타 학습 모듈(175)을 포함하는 다양한 소프트웨어 모듈(130)을 실행하는 프로세서(110)에 제공하도록 설정(구성)될 수 있다.
통신 인터페이스(150)는 또한 프로세서(110)에 작동 가능하게 연결되고, 모바일 장치(101)와 외부 장치, 시스템 서버(105)를 포함하는 기계들 및/또는 요소들 사이의 통신을 가능하게 하는 임의의 인터페이스일 수 있다. 바람직하게는, 통신 인터페이스는 모뎀, 네트워크 인터페이스 카드(NIC), 통합 네트워크 인터페이스, 무선 주파수 송신기/수신기(예를 들어, Bluetooth, 셀룰러, NFC), 위성 통신 송신기/수신기, 적외선 포트, USB 연결, 및/또는 모바일 장치를 다른 컴퓨팅 장치 및/또는 사설 네트워크 및 인터넷과 같은 통신 네트워크에 연결하기 위한 임의의 다른 그러한 인터페이스를 포함하지만 이에 제한되지 않는다. 이러한 연결은 유선 연결 또는 무선 연결(예를 들어, 802.11 표준을 이용하는)을 포함할 수 있지만, 통신 인터페이스는 모바일 장치로의 그리고 모바일 장치로부터의 통신을 가능하게 하는 사실상 임의의 인터페이스일 수 있음을 이해해야 한다.
사용자의 구별적인 특징의 구분 및 사용자 인증을 위한 시스템(100)의 동작 동안 다양한 지점에서, 모바일 장치(101)는 시스템 서버(105) 및/또는 원격 컴퓨팅 장치(102)와 같은 하나 이상의 컴퓨팅 장치와 통신할 수 있다. 이러한 컴퓨팅 장치는 모바일 장치(101)로 그리고 모바일 장치(101)로부터 데이터를 전송 및/또는 수신하고, 그렇게 함으로써 바람직하게는 아래에서 더 자세히 설명되는 바와 같이 시스템(100)의 동작을 개시, 유지 및/또는 향상시킨다.
도 1d는 시스템 서버(105)의 예시적인 구성을 도시하는 블록도이다. 시스템 서버(105)는 사용자의 구별적인 특징의 구분 및 사용자 인식을 위한 시스템(100)의 동작을 가능하게 하는 것을 제공하는 다양한 하드웨어 및 소프트웨어 구성요소들에 작동 가능하게 연결되는 프로세서(210)를 포함할 수 있다. 프로세서(210)는 이하에서 더 상세히 설명되는 바와 같이 사용자 인식과 관련된 다양한 동작을 수행하기 위한 명령어를 실행하는 것을 제공한다. 프로세서(210)는 특정 구현에 의존하여, 다수의 프로세서, 다중 프로세서 코어, 또는 일부 다른 유형의 프로세서일 수 있다.
특정 구현에서, 메모리(220) 및/또는 저장 매체(290)는 프로세서(210)에 의해 액세스 가능하고, 그렇게 함으로써 프로세서(210)가 메모리(220) 및/또는 스토리지(290)에 저장된 명령어를 수신하고 실행할 수 있게 한다. 메모리(220)는 예를 들어 랜덤 액세스 메모리(RAM) 또는 임의의 다른 적절한 휘발성 또는 비휘발성 컴퓨터 판독가능 저장 매체일 수 있다. 또한, 메모리(220)는 고정되거나 착탈 가능할 수 있다. 스토리지(290)는 특정 구현에 의존하여, 다양한 형태를 취할 수 있다. 예를 들어, 스토리지(290)는 하드 드라이브, 플래시 메모리, 재기록 가능한 광 디스크, 재기록 가능한 자기 테이프, 또는 상술한 것의 일부 조합과 같은 하나 이상의 구성요소 또는 장치를 포함할 수 있다. 스토리지(290) 또한 고정되거나 제거 가능할 수 있다.
하나 이상의 소프트웨어 모듈(230)은 스토리지(290) 및/또는 메모리(220)에 인코딩된다. 하나 이상의 소프트웨어 모듈(230)은 컴퓨터 프로그램 코드, 또는 프로세서(210)에서 실행되는 명령어들의 세트를 가지는 하나 이상의 소프트웨어 프로그램 또는 애플리케이션을 포함할 수 있다. 일 실시예에서, 소프트웨어 모듈(230)은 하나 이상의 소프트웨어 모듈(130)을 포함할 수 있다. 여기에 개시된 시스템 및 방법의 양상에 대한 동작을 수행하기 위한 이러한 컴퓨터 프로그램 코드 또는 명령어는, 당업자에 의해 이해되는 바와 같이, 하나 이상의 프로그래밍 언어의 임의의 조합으로 작성될 수 있다. 프로그램 코드는 독립형 소프트웨어 패키지로서 전체적으로 시스템 서버(105) 상에서, 부분적으로 시스템 서버(105) 상에서 그리고 부분적으로 원격 컴퓨팅 장치(102) 및/또는 모바일 장치(들)(101)와 같은 원격 컴퓨팅 장치(102) 상에서, 또는 전체적으로 이러한 원격 컴퓨팅 장치 상에서, 실행될 수 있다. 하나 이상의 실시예에서, 도 1b에 도시된 바와 같이, 바람직하게는, 시스템 서버의 프로세서(210)에 의해 실행될 수 있는, 특징 추출 모듈(172), 분할 모듈(173), 분류 모듈(174), 메타 학습 모듈(175), 데이터베이스 모듈(176), 통신 모듈(177), 및 변환 모듈(178)이 소프트웨어 모듈(230) 중에 포함된다.
또한, 바람직하게는 데이터베이스(280)가 스토리지(290)에 저장된다. 아래에서 더 상세히 설명되는 바와 같이, 데이터베이스(280)는, 여기에 더 자세히 설명되는 사용자 프로파일을 포함하지만 이에 제한되지 않는, 시스템(100)의 다양한 동작 전체에 걸쳐 활용되는 다양한 데이터 항목 및 요소를 포함하거나 유지한다. 비록 데이터베이스(280)가 컴퓨팅 장치(105)에 국지적으로(locally) 구성되는 것으로 도시되어 있지만, 특정 구현에서 데이터베이스(280) 또는 그 안에 저장된 다양한 데이터 요소는 원격으로 위치하고 당업자에게 알려진 방식으로 네트워크(미도시)를 통해 시스템 서버(105)에 연결된 컴퓨터 판독 가능 메모리 또는 저장 매체에 저장될 수 있다는 점에 유의해야 한다.
통신 인터페이스(250)는 또한 프로세서(210)에 작동 가능하게 연결된다. 통신 인터페이스(250)는 시스템 서버(105)와 외부 장치, 기계들 또는 요소들 사이의 통신을 가능하게 하는 임의의 인터페이스일 수 있다. 특정 구현에서, 통신 인터페이스(250)는 모뎀, 네트워크 인터페이스 카드(Network Interface Card, NIC), 통합 네트워크 인터페이스, 무선 주파수 송신기/수신기(예를 들어, 블루투스, 셀룰러, NFC), 위성, 통신 송신기/수신기, 적외선 포트, USB 연결, 또는 컴퓨팅 장치(105)를 사설 네트워크 및 인터넷과 같은 다른 컴퓨팅 장치 또는 통신 네트워크에 연결하기 위한 임의의 다른 그러한 인터페이스를 포함하지만 이에 제한되지 않는다. 이러한 연결은 유선 연결 또는 무선 연결(예를 들어, 802.11 표준을 이용하여)을 포함할 수 있지만 통신 인터페이스(250)는 프로세서(210)로의 그리고 프로세서(210)로부터의 통신을 가능하게 하는 실질적으로 임의의 인터페이스일수 있음을 이해하여야 한다.
시스템(100) 및 그것의 다양한 요소 및 구성요소의 동작은, 예를 들어 도 2, 3, 4, 5a 내지 5d, 6a 내지 6b를 참조하여 이하에 설명하는 바와 같이, 모션 센서 데이터를 이용하는 사용자의 구별적인 특징의 구분 및 사용자 인증을 위한 방법을 참조하여 더 이해될 수 있다. 여기에 설명된 프로세스는 모바일 장치(101) 및/또는 시스템 서버(105)의 관점에서 보여지고, 그러나 프로세스는 모바일 장치(들)(101), 시스템 서버(105) 및/또는 다른 컴퓨팅 장치(예를 들어, 원격 컴퓨팅 장치(102)) 또는 전술한 것의 임의의 조합에 의해 전체적으로 또는 부분적으로 수행될 수 있음을 이해해야 한다. 도면에 도시되고 여기에 설명된 것보다 더 많거나 더 적은 동작이 수행될 수 있다는 것을 이해해야 한다. 이러한 동작은 여기에 설명된 것과 다른 순서로 수행될 수도 있다. 또한, 하나 이상의 단계가 모바일 장치(101)에 의해 및/또는 다른 컴퓨팅 장치(예를 들어, 시스템 서버(105) 및 원격 컴퓨팅 장치(102)) 상에서 수행될 수 있음을 이해해야 한다.
모션 센서에 기반하는 스마트폰 사용자에 대한 여러 사용자 행동 인증(User Behavior Authentication, UBA) 시스템이 최근 문헌에서 제안되었다. 최고 수준의 정확도를 얻는 최신 시스템은 판별 모델(예를 들어, "N. Neverova, C. Wolf, G. Lacey, L. Fridman, D. Chandra, B. Barbello, G. Taylor. Learning Human Identity from Motion Patterns. IEEE Access, vol. 4, pp. 1810-1820, 2016”)을 학습하는 기계 학습(ML) 및 심층 학습 원칙에 의존한다. 그러나 이러한 모델은, 장치당 하나의 사용자(적법한 소유자)를 가지는, 스마트폰 사용자로부터 수집된 데이터 세트 상에서 평가된다.
도 2는 하나 이상의 실시예에 따른 기계 학습에 기반한 표준 스마트폰 사용자 식별 시스템을 보여주는 하이브리드 시스템 및 프로세스 흐름도를 표시한다. 구체적으로, 도 2는 스마트폰을 이용하여 구현될 수 있는 일반적인 UBA 시스템(300)의 실행 흐름을 표시한다. 도 2에 도시된 바와 같이, 일반적인 UBA 시스템(300)에서, 가속도계 또는 자이로스코프 신호는 각각의 인증 또는 등록 세션 동안 기록된다. 그리고나서 신호는 기계 학습 시스템에 대한 입력으로 제공된다. 시스템(300)은 특징을 추출하고 사용자 등록 동안 수집된 훈련 샘플의 세트에 대하여 모델을 학습한다. 사용자 인증 동안, 훈련된 모델은 신호를, 소유자에게 속한 것으로(세션을 인가) 또는 다른 사용자에게 속한 것으로(세션을 거부) 분류한다. UBA 시스템(300)의 특정한 예시적인 단계는 다음과 같다.
1. 사용자 등록 또는 인증 중에, 가속도계 및 자이로스코프와 같은 내장된 센서로부터 신호를 캡처한다.
2. ML 시스템 내에서, 일련의 특징 추출 기술을 사용하여, 신호로부터 관련 있는 특징을 추출한다.
3. 등록 중, ML 시스템 내부에서, 사용자 등록 중에 기록된 신호에 대응하는 특징 벡터에 대하여 분류 모델을 훈련한다.
4. 인증 중, ML 시스템 내부에서, 대응하는 특징 벡터에 대하여 학습된 분류 모델을 사용하여 적법한 사용자(스마트폰 소유자)와 잠재적 공격자를 분간(distinguish)한다.
이 설정에서, ML 시스템의 결정 경계(boundary)는 사용자의 구별적인 특징에 의해서 보다는 차라리 장치 또는 동작의 구별적인 특징에 의해 영향을 받을 수 있다. 이 가설을 테스트하기 위해 실험이 수행되었다. 실증적인 결과는 사용자에 대응하는 특징보다 장치에 대응하는 특징에 의존하는 것이 실제로 더 쉽다는 것을 나타낸다. 이 이슈는 이전 문헌에서 지적되거나 다루어지지 않았다. 그러나, 이 이슈는 공격자들이 적법한 사용자에 의해 소유된 스마트폰을 그들의 손에 넣을 수 있고 그들이 UBA 시스템으로 보호되는 애플리케이션에 인증을 시도할 때 문제가 된다. 또한 공격자는 인증 중에 수행되는 움직임의 철저한 분석 및 모방 후에 적법한 사용자를 가장할 수 있다. ML 시스템이 장치 또는 동작을 특징짓는 더 두드러지는 특징에 의존하는 경우, 공격자가 애플리케이션에 액세스하는 것을 승인하기가 쉽다. 따라서 ML 시스템은 증가하는 오탐률(false positive rate)을 가질 것이고 그러한 공격을 거부할 수 없을 것이다.
이 문제를 해결하기 위해, 시스템(300)은 다른 움직임(예를 들어, 앉거나 서 있는 동안, 왼손, 오른손으로 인증하는 등)을 이용하여 다수의 장치에서 인증하도록 사용자에게 요청하도록 구성될 수 있고, 동일한 장치로부터 부정(negative) 샘플을 획득하기 위해 시스템(300)은 다른 누군가가 그 자신의 장치에서 여러 인증 세션을 하게 하도록 사용자를 유도(prompt)할 수 있다. 그러나 이러한 모든 것은 번거로운 등록 절차로 이어지는 비현실적인 솔루션이다.
따라서, 모션 센서에 기반하는 UBA 시스템에 본질적인 문제에 대한 실용적인 2단계 솔루션을 제공하는 방법 및 시스템이, 다시 말해 사용자의 구별적인 특징을 장치 및 동작의 구별적인 특징으로부터 구분함으로써, 여기에서 제공된다. 본 출원의 하나 이상의 실시예에서, 개시된 방법은 다음의 두 개의 주요 처리 단계로 구성된다.
1. 사용자의 움직임이나 동작을 구별하는 특징(예를 들어, 손가락 스와이프, 제스처)을 제거하기 위해, 모션 신호는 매우 작은 청크로 잘리고 ML 시스템은 개별의 청크들의 각각에 적용된다. 이 청크들로부터 전체 신호를 다시 재구성할 수 없기 때문에, 움직임(사용자에 의해 수행되는 일반적인 동작)은 더 이상 식별될 수 없다. 그러나 본래의 신호의 이 작은 청크들은 여전히 사용자 및 장치에 대한 구별적인 특징을 포함한다.
2. 장치를 구별하는 특징을 제거하기 위해, 변형 알고리즘들의 세트(예를 들어, 짧은(short) Cycle-GAN의 경우, Cycle-consistent Generative Adversarial Networks와 같은 생성적 모델)가 미리 정의된 장치의 세트에서 인증 세션을 시뮬레이션하기 위해 적용된다. 생성적 모델은 신호의 청크를 입력으로 얻고 우리의 미리 정의된 세트로부터의 장치의 특징을 포함하는 유사한 청크를 출력으로 제공하도록 훈련된다. 다른 장치로부터의 특징을 특정 사용자의 신호에 주입한 후, ML 시스템은 장치들에 걸쳐 변경되지 않는 특징을 학습할 수 있다. 이것들은 각 사용자를 구별하는 데 도움이 되는 특징이다.
두 번째 단계에서, Cycle-GAN과 같은 하나 이상의 변형 알고리즘을 이용함으로써, 스마트폰 센서를 설명하는 특징을 마스킹하고 사용자 행동을 형성하는 그것들을 드러내는데 도움이 되는 스마트폰 대 스마트폰(smartphone-to-smartphone) 사용자 행동 변형이 성취된다. 정당한 사용자 행동을 명확하게 하는 긍정적인 결과는 UBA 시스템이 더 경계하고 속이기 어려워진다는 것이다(즉, 오탐률이 감소한다). 하나 이상의 실시예에서, 개시된 시스템(예를 들어, 시스템(100)) 및 방법은 향상된 UBA 시스템을 제공하거나 대안적으로 기존 UBA 시스템을 향상시키기 위해 종래의 UBA 시스템에 통합될 수 있다.
통상적으로, PIN, 그래픽 암호 및 핑거프린트 스캔과 같은 일반적인 모바일 장치 인증 메커니즘은 제한된 보안을 제공한다. 이러한 메커니즘은 추측하기(guessing)(또는 핑거프린트 스캔의 경우 스푸핑(spoofing)) 및 얼룩, 반사 및 비디오 캡처 공격과 같은 부채널 공격(side channel attacks)에 취약하다. 이에 따라, 행동 생체 신호에 기반하는 연속적인 인증 방식이 학계와 산업계 둘다에서 각광받는다.
모바일 장치 사용자의 걸음걸이를 인식하기 위해 가속도계 데이터를 분석한 최초의 연구 논문은 “E. Vildjiounaite, S.-M. Make la, M. Lindholm, R. Riihimaki, V. Kyllonen, J. Mantyjarvi, H. Ailisto. Unobtrusive multimodal biometrics for ensuring privacy and information security with personal devices. In: Proceedings of International Conference on Pervasive Computing, 2006”이다.
그 이후로, 키 입력 패턴 인식(keystroke dynamics)에 초점을 맞춘 “N. Clarke, S. Furnell. Advanced user authentication for mobile devices. Computers & Security, vol. 26, no. 2, 2007” 및 “P. Campisi, E. Maiorana, M. Lo Bosco, A. Neri. User authentication using keystroke dynamics for cellular phones. Signal Processing, IET, vol .3, no. 4, 2009”, 그리고 기계 또는 심층 학습 기술에 초점을 맞춘 “C. Shen, T. Yu, S. Yuan, S., Y. Li, X. Guan. Performance analysis of motion-sensor behavior for user authentication on smartphones. Sensors, vol. 16, no. 3, pp. 345-365, 2016”, “A. Buriro, B. Crispo, F. Del Frari, K. Wrona. Hold & Sign: A Novel Behavioral Biometrics for Smartphone User Authentication. In: Proceedings of Security and Privacy Workshops, 2016”, “G. Canfora, P. di Notte F. Mercaldo, C. A. Visaggio. A Methodology for Silent and Continuous Authentication in Mobile Environment. In: Proceedings of International Conference on E-Business and Telecommunications, pp. 241-265, 2016”, “N. Neverova, C. Wolf, G. Lacey, L. Fridman, D. Chandra, B. Barbello, G. Taylor. Learning Human Identity from Motion Patterns. IEEE Access, vol. 4, pp. 1810-1820, 2016”와 같은, 다양한 UBA 시스템이 연구 커뮤니티에서 제안되었다.
연구 문헌이나 특허에 제시된 방법은 사용자, 동작 및 장치에 특유한 특징을 포함하는 모션 신호의 문제를 모두 다루지 않는다. 최근 연구에서는, 사용자들이 각각 그들 자신의 장치에서 인증을 수행할 때 높은 성능 수준이 보고되었다. 이 설정에서는, 기계 학습 모델의 높은 수준의 정확도가 사용자들을 또는 장치들을 구별하는 모델의 능력 때문인지가 불명확하다. 이 문제는 각각의 사용자가 그의 자신의 장치에서 인증하고 장치가 사용자들 사이에 공유되지 않기 때문에 발생한다.
각각의 사용자가 각각의 장치에서 인증에 이르도록 일련의 장치들에서 인증을 수행하는 일련의 사용자들로 수행된 실험은 사용자들을 구별하는 것(정확도는 약 93%) 보다 장치들을 구별하는 것(정확도는 약 98%)이 실제로 더 쉽다는 것을 드러낸다. 이것은 연구 문헌 및 특허에 제시된 UBA 시스템이 사용자에 특유한 특징보다 차라리 장치에 특유한 특징에 의존하기 때문에 잘 수행될 가능성이 더 크다는 것을 시사한다. 이러한 시스템은 소유자로부터 도난당한 장치에 대해 공격자가 인증을 수행할 때, 높은 오탐률(공격자가 시스템에 인가됨)이 되기 쉽다.
이 문제는 문헌에서 논의되지 않았기 때문에, 적어도 스마트폰 센서에 대한 모션 신호에 기반한 사용자 식별의 맥락에서, 개시된 시스템 및 방법은 사용자, 동작 및 장치에 특유한 특징을 구분하기 위한 과제(task)를 처음으로 해결한 것이다. 적어도 하나의 실시예에서, 방법은 두 개의 단계/접근법 중 하나 이상을 포함하고, 하나는 동작에 특유한 특징으로부터 사용자 및 장치에 특유한 특징을 구분하는 것이고, 하나는 장치에 특유한 특징으로부터 사용자에 특유한 특징을 구분하는 것이다.
후자의 접근법은 Generative Adversarial Networks에 기반한 이미지 스타일 전이(transfer)에 대한 최근 연구에서 영감을 받았다. “I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, Y. Bengio. Generative Adversarial Nets. In: Proceedings of Advances in Neural Information Processing Systems, pp. 2672-2680, 2014”에서, 저자는 Kullback-Leibler 발산(Kullback-Leibler divergence)의 최소화를 통해 훈련 샘플의 분포를 학습함으로써 새로운 (현실적인) 이미지를 생성하는, 생성기 및 판별기라는 두 개의 신경망으로 구성된 모델인 생성적 적대 네트워크(Generative Adversarial Networks, GAN)를 소개했다. 여러 다른 GAN 기반 접근법이, 이미지의 소스(source) 세트의 분포를 이미지의 타겟 세트에 매핑하기 위해, 즉 스타일 전이(style transfer)를 수행하기 위해 제안되었다. 예를 들어, “J.Y. Zhu, T. Park, P. Isola, A.A. Efros. Unpaired image-to-image translation using cycle-consistent adversarial networks. In: Proceedings of IEEE International Conference on Computer Vision, pp. 2223-2232, 2017”“J. Kim, M. Kim, H. Kang, K Lee. U-GAT-IT: Unsupervised generative attentional networks with adaptive layer-instance normalization for image-to-image translation. arXiv preprint arXiv: 1907.10830, 2019”와 같은 방법은 타겟 및 소스 분포 사이에 주기 일관성(cycle-consistency) 손실(loss)을 추가한다. 그러나 이러한 기존 방법은 이미지 스타일 전이에 특수하다.
본 출원의 하나 이상의 실시예에서, 심층 생성적 신경망은 시간 영역에서 모션 센서 데이터 신호로부터의 특징을 신호로 전이(transferring)하는 것에 초점을 맞춤으로써 모션 신호 데이터에 적응된다. 보다 구체적으로, 심층 생성적 신경망의 중심 구성 요소인 컨볼루션 레이어와 풀링 레이어는 각각 시간 영역에서만 컨볼루션 및 풀링 연산을 수행하도록 수정된다. 추가적으로, 적어도 하나의 실시예에서, cycle-consistent GANs은 다중 영역(multi-domain) 셋업(예를 들어, 3개 이상의 장치를 포함할 수 있는 다중 장치 설정)에서 신호를 전이하는 데 사용된다. 대조적으로, 기존 GAN은 이미지 영역(domain)에서 동작하며, 두 영역 사이에서만(예를 들어, 자연 이미지(natural image )와 도화(paintings) 사이에서) 스타일을 전이하는데 적용된다.
하나 이상의 실시예에 따르면, 그리고 위에서 언급한 바와 같이, 장치 및 동작(action)의 구별적인 특징으로부터 사용자의 구별적인 특징을 구분하기 위해, 두 단계의 방법이 제공된다.
첫 번째 단계는 기본적으로, 신호를 ML 시스템에 입력으로 주기 전에, 신호를 전처리하는 것에 기반한다. 전처리는 신호를 여러 청크로 분할하는 것에 있다. 청크들의 개수, 그들의 길이 뿐만 아니라, 청크를 선택하는데 사용되는 간격도, 제안되는 전처리 단계의 파라미터이고, 그들은 정확도와 시간에 직접적인 영향을 미칠 수 있다. 예를 들어, 고정된 수의 청크와 각각의 청크에 대한 고정된 길이가 설정된다. 이 경우, 신호의 길이를 고려함으로써 신호로부터 청크를 추출하는 간격이 계산된다. 더 느린 인증은 더 긴 신호를 생성하고 청크가 전체 신호를 포함시키지 않을 수 있는 반면(일부의 부분들이 손실됨), 더 빠른 인증은 더 짧은 신호를 생성할 것이고 청크가 중첩될 수 있다. 다른 예는 간격과 신호 길이를 고정하여 입력 신호 길이에 의존하여 다른 수의 청크를 획득하는 것이다. 또 다른 예는 전체 입력 신호를 포함하기 위해 청크의 수를 고정하고 간격과 대응하는 길이를 계산하는 것이다. 예시된 모든 케이스(그리고 추가적인 유사한 케이스)가 개시된 시스템에 의해 수행되는 본 출원의 전처리 접근법에 의해 포함된다. 결과 청크는 도 3에 도시한바와 같이 예시적인 UBA 시스템의 특징 추출 및 분류 파이프라인에 추가로 종속된다.
도 3은 하나 이상의 실시예에 따른, 기계 학습에 기반하여, 동작의 구별적인 특징을 제거함으로써 사용자 식별을 위한 예시적인 모바일 장치 시스템 및 프로세스 흐름도(305)를 나타내는 도면을 표시한다. 일 실시예에서, 프로세스는 시스템(100)의 하나 이상의 요소(예를 들어, 모바일 장치(100) 단독으로, 또는 시스템 서버(105)와 함께)를 이용하여 구현될 수 있다. 도 3에 도시된 바와 같이, 가속도계 또는 자이로스코프 신호(모션 신호)(310)는 각각의 인증 세션 동안 모바일 장치(101)에 의해 기록된다. 그리고나서, 신호(310)는 시스템(예를 들어, 모바일 장치(100) 및/또는 시스템 서버(105)의 프로세서)에 의해 N개의 더 작은(잠재적으로 중첩하는) 청크 또는 세그먼트(315)로 분할된다. 청크(315)는 개별 샘플로 간주되고 기계 학습 시스템에 대한 입력으로 제공된다. 그리고나서 기계 학습 시스템은 특징을 추출하고 사용자 등록 중에 수집된 훈련 샘플의 세트에서 모델을 학습한다. 사용자 인증 동안, 기계 학습 시스템은 소유자에게 속하는 것으로 또는 다른 사용자에게 속하는 것으로 청크(315)를 분류한다. (인증 세션 동안 기록된 신호로부터 추출된) 청크에 할당된 레이블 또는 점수에 대한 메타 학습(meta-learning) 접근법 또는 (가중) 다수결((weighted) majority vote)이 세션을 인가하거나 거부하기 위해 적용될 수 있다.
여기에 개시된 예시적인 시스템 및 방법은 암시적 및/또는 명시적 인증 세션 동안 캡처된 모션 센서 데이터를 이용하여 구현될 수 있다. 명시적 인증은 사용자가 모바일 장치를 이용하여 미리 정해진 동작을 수행하도록 유도하는(prompt) 인증 세션을 지칭한다. 이와 대조적으로 암시적 인증은 사용자가 임의의 동작을 수행하도록 명시적으로 유도하는 것 없이 수행되는 사용자 인증 세션을 지칭한다. 모션 신호(310)를 청크(315)로 분할하는 것, 즉 위에서 설명된 전처리를 적용하는 것의 목표는, 동작의 구별적인 특징을 제거하는 것이다. 명시적 또는 암시적 인증 중에 사용자는 다른 동작을 수행할 수 있지만, 명시적 인증이 더 낮은 변동성을 보일 수 있다. 실제로, 명시적 인증 세션에서, 사용자는 항상 동일한 단계들(예를 들어, QR 코드를 스캔하고, 스마트폰을 얼굴 쪽으로 가리키고, 핑거프린트 스캐너에 손가락을 대는 등)을 수행할 가능성이 높다. 그러나 이러한 단계는 한 손(왼쪽 또는 오른쪽) 또는 두 손을 이용하여 수행될 수 있으며, 사용자는 의자에 앉거나 서거나 걷는 동안 그들을 수행할 수 있다. 이 케이스들의 각각에서, 기록된 모션 신호는 다를 것이다. 훈련된 ML 모델은 이러한 변경에 대해 잘 일반화되지 않을 것이기 때문에, 사용자가 등록 중에 한 손, 그리고 인증 중에 다른 손으로 인증 단계를 수행하는 경우, 문제가 나타날 수 있다. 이 상황에서, 기존 시스템은 정당한 사용자를 거부할 것이고, 그러므로 높은 미탐률(false negative rate)을 가진다. 암시적 사용자 인증에서, 즉 사용자가 일부 데이터에 민감한 애플리케이션(예를 들어, 뱅킹 애플리케이션)과 상호 작용하는 동안, 동일한 상황은 더 만연할 것이다. 이 설정에서는, 예를 들어 손이 움직이는 방식이나 사용자 포즈 뿐만 아니라, 사용자에 의해 수행되는 동작(화면 상의 다른 위치에서 탭 제스처, 다른 방향으로의 스와이프 제스처 등)도 다를 수 있다. 이러한 동작을 분리(분류)하는 가장 직접적인 방법은, 기록의 시작부터 끝까지, 시간이 흐르는 동안 모션 신호의 변화를 살펴보는 것이다. 그러나 여기서 목표는 동작(action)을 분리하는 시스템의 능력을 제거하는 것이다. 모션 신호(310)가 독립적으로 처리되는 작은 청크(315)로 분리되는 경우, 스마트폰 사용자의 구별적인 특징을 모션 신호로부터 구분하기(disentangling) 위한 개시된 시스템의 하나 이상의 실시예에 의해 구현되는 접근 방식과 같이, ML 시스템은 더 이상 전체의 기록된 신호를 전체로서 볼 기회가 없다. 어느 청크가 어디로 가는지 모르기 때문에, ML 시스템은 전체의 기록을 봐야만 식별 가능한 동작을 인식할 수 없을 것이다. 이것은, 청크를 다른 순서로 다시 조립한 것은 다른 동작에 대응할 것이기 때문에 발생한다. 본 방법의 신호 전처리 단계는, 사용자가 ML 시스템을 훈련하는 동안 동작들의 세트를, 그리고 테스트 중에 동작들의 다른 세트를 수행할 때, 인식 정확도를 4% 향상시키는 것으로 관찰되었다. ML 시스템은 각각의 청크에 대한 결정(예를 들어, 레이블을 생성 또는 점수를 계산)을 하기 때문에, 투표 방식 또는 메타 학습 모델은 인증을 수행하는 사용자가 정당한지 또는 아닌지를 결정하기 위해, 인증에 대응하는 결정들(라벨 또는 점수)의 세트에 시스템에 의해 적용될 수 있다.
“N. Khanna, A.K. Mikkilineni, A.F. Martone, G.N. Ali, G.T.C. Chiu, J.P. Allebach, E.J. Delp. A survey of forensic characterization methods for physical devices. Digital Investigation, vol. 3, pp. 17-28, 2006”에 자세히 설명된 대로, 하드웨어 센서들은, 내장된 결함 때문에 이 센서들에 의해 생성된 출력을 봄으로써 쉽게 식별될 수 있다는 것이 잘 알려져 있다. 예를 들어 “K.R. Akshatha, A.K. Karunakar, H. Anitha, U. Raghavendra, D. Shetty. Digital camera identification using PRNU: A feature based approach. Digital Investigation, vol. 19, pp. 69-77, 2016”에서, 저자는 캡처된 사진을 분석하여 스마트폰 카메라를 식별하는 방법을 설명하고, “A. Ferreira, L.C. Navarro, G. Pinheiro, J.A. dos Santos, A. Rocha. Laser printer attribution: Exploring new features and beyond. Forensic Science International, vol. 247, pp. 105-125, 2015”에서 저자는 인쇄된 페이지를 분석하여 레이저 인쇄 장치를 식별하는 접근법을 제시한다. 마찬가지로, 가속도계와 자이로스코프 센서는 생성된 모션 신호를 분석함으로써 고유하게 식별될 수 있다. 이것은 사용자 등록 및 인증 중에 기록된 모션 신호는 본질적으로 장치의 구별적인 특징을 포함할 것이라는 것을 의미한다. 이전 시스템의 데이터를 기반으로, 사용자(정확도는 93%) 또는 동작(정확도는 92%)을 식별하는 것보다 기록된 모션 신호를 기반으로 스마트폰(정확도는 98%)을 식별하는 것이 훨씬 쉽다는 것이 확인되었다.
신호를 청크로 분할하는 것이 동작에 대한 구별적인 특징을 제거하는 반면, 그것은 장치에 대한 구별적인 특징에 의해 야기되는 문제를 완화하지는 않는다. 주된 문제는 사용자 등록 중 기록된 모션 신호 내부에, 그리고 우리의 전처리 단계 후 발생된 청크 내부에, 장치의 구별적인 특징과 사용자(스마트폰 소유자)의 구별적인 특징이 함께 얽힌다는 것이다.
추가적인 두드러진 양상에 따르면, 여기에 개시된 모션 신호로부터 스마트폰 사용자의 구별적인 특징을 구분하기 위한 시스템 및 방법은, 사용자(스마트폰 소유자)가 단일 장치를 이용하여 표준 등록 이외의 추가적인 단계를 수행하는 것을 요구하지 않는, 이 문제에 대한 솔루션을 제공한다. 모션 센서 데이터로부터 장치의 사용자의 구별적인 특징을 구분하고 모션 센서 데이터로부터 사용자를 인증하기 위한 개시된 방법 및 시스템은, 스타일 전이를 가지는 이미지 대 이미지(image-to-image) 변형에서의 Cycle-consistent Generative Adversarial Networks의 성공에 의해 부분적으로 영감을 받았다. “J.Y. Zhu, T. Park, P. Isola, A. A. Efros. Unpaired image-to-image translation using cycle-consistent adversarial networks. In: Proceedings of IEEE International Conference on Computer Vision, pp. 2223-2232, 2017”에서 보여주는 것과 같이, Cycle-GAN은 이미지의 스타일을 다른 스타일로 대체하는 반면, 그것의 내용을 유지할 수 있다. 유사한 방식으로, 개시된 시스템 및 방법은 모션 신호를 기록하는 데 사용되는 장치를 다른 장치로 대체하는 반면, 사용자의 구별적인 특징을 유지한다. 그러나, 위에서 언급한 바와 같이, 기존 방법은 이미지 스타일 전이에 특유한 반면, 여기에 개시된 접근법은 특히 시간 영역에서 특정 장치의 모션 센서 데이터 신호로부터 다른 장치에 대하여 시뮬레이션된 신호로 특징을 전이하는 것을 목표로 한다.
따라서, 하나 이상의 실시예에서, Cycle-GAN과 같은 적어도 하나의 변형 알고리즘은, 도 4에 도시된 바와 같이 신호 대 신호(signal-to-signal) 변형을 위해 시스템(100)에 의해 구현된다. 구체적으로, 도 4는 하나 이상의 실시예에 따른 신호 대 신호 변형(translation)을 위한 예시적인 Cycle-GAN(Cycle-consistent Generative Adversarial Network)(400)의 도면이다. 도 4에 도시된 바와 같이, 그리고 적어도 하나의 실시예에 따르면, 장치 X에 기록된 입력 신호 x는, 그것이 다른 장치 Y에 기록된 것처럼 보이도록 생성기 G를 이용하여 변형된다. 신호는 생성기 F를 이용하여 본래의 장치 X로 다시 변형된다. 판별기 DY는 장치 Y에 기록된 신호와 G에 의해 생성된 신호를 구별한다. 생성기 G는 판별기 DY를 속이도록 최적화되어 있는 반면, 판별기 DY는 적대적인 방식으로 샘플을 분리하도록 최적화된다. 또한 Generative Adversarial Network (생성기 G 및 F와 판별기 DY로 형성되는)는 신호 x를 본래의 장치 X로 다시 변형시킨 후 계산된 복원 오류를 줄이기 위해 최적화된다. 적어도 하나의 실시예에서, 최적화는 당업자에 의해 이해되는 바와 같이, 신경망을 최적화하기 위해 일반적으로 이용되는 알고리즘인 확률적 경사 하강법(stochastic gradient descent)(또는 그것의 많은 변형들 중 하나)을 이용하여 수행된다. 그래디언트(gradient)는 손실 함수에 관하여 계산되고 당업자가 이해하는 바와 같이 연쇄 법칙(chain rule)을 이용하여 신경망을 통해 역전파된다. 하나 이상의 실시예에서, 신경망의 최적화는 진화 알고리즘(evolutionary algorithms)을 이용하여 수행될 수 있다. 그러나, 개시된 방법은 경사 하강법 또는 진화 알고리즘에 의한 최적화에 제한되지 않는다는 것이 이해되어야 한다.
전체 손실 함수에 복원 오류를 추가하는 것은 주기 일관성(cycle-consistency)을 보장한다. 장치 X로부터 장치 Y로 변형하는 것에 추가로, Cycle-GAN은 장치 Y로부터 장치 X로 전이하도록 동시에 훈련된다. 따라서, 결국, 개시된 시스템 및 방법은 신호를 양방향으로 변형한다. 하나 이상의 실시예에서, 양방향으로 신호 대 신호 변형을 위해 Cycle-GAN을 훈련하는데 사용되는 손실 함수는 다음과 같다.
Figure pct00001
여기서,
● G 및 F는 생성기;
● DX 및 Dy 는 판별기;
● x 및 y는 각각 장치 X 및 장치 Y로부터의 모션 신호(청크);
● λ는 GAN 손실에 관하여 주기 일관성의 중요성(importance)을 제어하는 파라미터;
Figure pct00002
는 장치 X로부터 장치 Y로의 변형에 대응하는 교차 엔트로피 손실(cross-entropy loss)이며, 여기서
Figure pct00003
는 기대값이고
Figure pct00004
는 데이터 샘플의 확률 분포;
Figure pct00005
는 장치 Y로부터 장치 X로의 변형에 대응하는 교차 엔트로피 손실;
Figure pct00006
는 두 변형에 대한 주기 일관성 손실의 합이며, 여기서
Figure pct00007
Figure pct00008
놈(
Figure pct00009
norm).
Cycle GAN에 추가로 또는 대안적으로, “J. Kim, M. Kim, H. Kang, K Lee. U-GAT-IT: Unsupervised generative attentional networks with adaptive layer-instance normalization for image-to-image translation. arXiv preprint arXiv: 1907.10830, 2019”에서 소개되는 U-GAT-IT 모델은 신호 대 신호 변형을 위한 현재의 시스템 및 방법에 통합될 수 있다. U-GAT-IT 모델은 소스 영역으로부터 타겟 영역으로의 변형을 개선하는 목적으로, 생성기와 판별기 둘 다에서, 어텐션 모듈(attention module)과 정규화 함수(Adaptive Layer-Instance Normalization)을 통합한다. 어텐션 맵은 보조적인 분류기(classifier)로 획득되며, 반면에 정규화 함수의 파라미터는 훈련 중에 학습된다. 적어도 하나의 실시예에서, U-GAT-IT를 훈련하는데 사용되는 손실 함수는 다음과 같다.
Figure pct00010
여기서,
● G 및 F는 생성기;
● DX 및 Dy 는 판별기;
● x 및 y는 각각 장치 X 및 장치 Y로부터의 모션 신호(청크);
● λ1, λ2, λ3 및 λ4는 다양한 손실 구성요소의 중요성을 제어하는 파라미터;
Figure pct00011
는 장치 X에서 장치 Y로의 변형에 대응하는 최소 제곱 손실;
Figure pct00012
는 장치 Y에서 장치 X로의 변형에 대응하는 최소 제곱 손실;
Figure pct00013
는 두 변형에 대한 주기 일관성 손실의 합이며,
Figure pct00014
Figure pct00015
놈(
Figure pct00016
norm).
Figure pct00017
는 입력 및 출력 신호의 진폭 분포가 유사한 것을 보장하는 식별 손실의 합;
Figure pct00018
은 어텐션 맵을 도입하는 최소 제곱 손실의 합.
하나 이상의 실시예에서, 다수의 장치에 걸쳐 일반화하는 전이 결과를 획득하기 위해, 여러 장치 쌍 사이에서 신호를 전이하기 위해 여러 Cycle-GAN(또는 U-GAT-IT) 모델이 사용된다. 적어도 하나의 실시예에서, 고정된 수의 T개의 스마트폰이 설정되고 T개의 장치 각각으로부터 모션 신호가 수집된다. 하나 이상의 실시예에서, T개의 장치 각각에 대한 등록을 수행하는 고정된 수의 사용자가 설정된다. UBA 시스템이 생산에 배치되기 전에 데이터 수집이 수행되고, 즉 최종 사용자는 T개의 장치에서 등록을 수행하도록 결코 요청받지 않으며 이는 실행 불가능하다. 훈련된 Cycle-GAN의 수는 T이므로, 아래에서 더 자세히 논의되는, 도 5a 내지 도 5d에서 도시한 바와 같이, 각각의 Cycle-GAN은 특정 장치에서 다른 모든 장치로, 그리고 반대로, 신호를 변형(translate)하는 것을 학습한다.
여기에 개시된 시스템 및 방법의 한 가지 목표는, 본래의 장치에 관계없이, 일부 본래의 장치에서 캡처된 신호를 세트 내 T개의 장치 중 하나로 변형(translate)할 수 있는 일반적인 Cycle-GAN 모델을 획득하는 것이다. 적어도 하나의 실시예에서, 상이한 GAN 아키텍처, 다양한 네트워크 뎁스, 학습률 또는 최적화 알고리즘을 이용함으로써 동일한 범위(scope)가 달성될 수 있다. 일반화 능력은 장치에서 다른 장치로 변형하는 것만을 학습하는 대신 다수의 장치에서 단일 장치로 변형하는 것을 학습함으로써 보장된다. 따라서, 개시된 실시예의 변형 알고리즘(예를 들어, Cycle-GAN)은, 변형 알고리즘(예를 들어, Cycle-GAN 모델)의 트레이닝 동안, 사용자를 아는 것 또는 그/그녀가 이용하는 장치에 대한 정보를 가지는 것 없이, 일부 사용자의 장치에서 캡처된 신호를 세트 내 T개의 장치 중 하나로 변형하는데 적용될 수 있다. 본래의 신호가 T개의 장치 중 하나로 변형될 때마다, 소유자의 장치의 특징은 사용자에 특유한 특징을 유지하면서 T개의 장치의 세트로부터의 특정 장치 특징으로 대체된다. 모션 센서 데이터로부터 장치의 사용자의 구별적인 특징을 구분(disentangle)하기 위한 시스템의 하나 이상의 실시예에 따라 본래의 신호 뿐만 아니라 변형된 신호 둘다를 ML 시스템에 공급함으로써, ML 시스템은 더 이상 본래의 장치에 특유한 구별적인 특징을 학습할 수 없다. 이것은 ML 시스템이 본래의 그리고 변형된 신호를 동일한 클래스에 배치(분류)하도록 구성되어 있기 때문에 발생하며, 이러한 결정 경계(boundary)를 획득하는 가장 적절한 방법은 사용자에 대하여 구별적인 특징을 봄으로써이다.
예시적인 실시예
본 시스템 및 방법의 예시적인 실시예는, 모바일 장치 모션 센서에 의해 캡처된 모션 신호에 기반하여 장치의 사용자의 구별적인 특징을 구분하는 것 및 인증을 위한 시스템 및 방법이 적용될 수 있는 기술 및 기타 실제 시나리오의 실제 적용에 덧붙여, 도 5a 내지 5d, 도 6a 내지 6b, 그리고 도 1a 내지 1d를 참조하여 아래에서 더 상세히 논의된다.
하나 이상의 실시예에서, 여기에 개시된 방법은 수정된 UBA 실행 파이프라인을 제공한다. 수정된 UBA 실행 파이프라인은, 도 5a 내지 5d에서 예시된 바와 같이, 동작 및 장치의 구별적인 특징으로부터 사용자의 구별적인 특징을 구분할 수 있다. 도 5a 내지 도 5d는 하나 이상의 실시예에 따라 모션 센서 데이터로부터 모바일 장치의 사용자의 구별적인 특징을 구분하고 사용자를 인증하기 위한 시스템 및 흐름도를 도시한다. 도 5a 내지 도 5d의 흐름도에서의 단계는, 예를 들어 모바일 장치(101) 및/또는 시스템(100)의 시스템 서버(105)를 포함하는, 모션 센서 데이터로부터 장치의 사용자의 구별적인 특징을 구분하기 위한 예시적인 시스템을 이용하여 수행될 수 있다. 도 5a 내지 도 5d의 흐름도에서의 단계는 아래에서 자세히 설명된다.
1. 사용자 등록 또는 인증 동안, 모션 신호(310)는 가속도계 및 자이로스코프와 같은 내장 센서로부터 모바일 장치(101)에 의해 캡처된다.
2. 모션 신호(310)는 더 작은 청크(315)로 분할된다.
3. 훈련된 Cycle-GAN(400)의 세트를 이용하여, 다른 장치에서 사용자의 인증 세션을 시뮬레이션하는, 새로운 신호(500)(변형된 신호)가 생성된다.
4. ML 시스템(505) 내에서, 특징 추출 기술의 세트를 사용함으로써, 특징 벡터를 형성하기 위해 본래의 및 변형된 신호 청크로부터 관련 특징이 추출된다.
5. 등록 동안, ML 시스템(505) 내부에서, 분류 모델은 기록된 및 변형된 신호 청크(500)에 대응하는 특징 벡터에 대하여 훈련된다.
6. 인증 동안, ML 시스템(505) 내부에서, 학습된 분류 모델은 기록된 및 변형된 신호 청크에 대응하는 특징 벡터에 대하여 사용된다.
7. 인증 동안, 정당한 사용자(스마트폰 소유자)와 잠재적인 공격자를 분간(distinguish)하기 위해, 인증 세션에 대응하는 기록된 및 변형된 청크에 대해 획득된 점수 또는 레이블에 대하여 투표 방식 또는 메타 학습 모델이 사용된다.
이들 단계들 및 다른 단계들은 도 6a 내지 도 6b의 다음의 예시적인 방법에서 추가로 설명되고 예시된다.
하나 이상의 실시예에 따르면, 도 6a는 모션 센서 데이터로부터 장치의 사용자의 구별적인 특징을 구분하기 위한 계산 흐름을 나타내는 상위 레벨 블록도를 개시한다. 하나 이상의 실시예에서, 도 6a의 방법은 도 1a의 예시적인 시스템(100)과 같은 본 시스템에 의해 수행될 수 있다. 다음 단계들 중 다수가 모바일 장치(101)(도 1a)에 의해 수행되는 것으로 설명되지만, 특정 실시예에서, 다음 단계 중 하나 이상은 모바일 장치(101)와 통신하는 시스템 서버(백엔드 서버)(105)에 의해 수행될 수 있다.
도 5a 및 도 1a 내지 1d를 참조하면, 프로세스는 단계 S105에서 시작하며, 여기서 모바일 장치(101)의 프로세서가 하나 이상의 소프트웨어 모듈(예를 들어, 사용자 인터페이스 모듈(170))을 실행함으로써, 모바일 장치의 적어도 하나의 모션 센서(예를 들어, 가속도계(135), 자이로스코프(136))가 하나 이상의 모션 신호의 형태로 사용자로부터 데이터를 캡처하는 것을 야기하도록 구성된다. 하나 이상의 실시예에서, 모션 신호는 모바일 장치의 적어도 하나의 모션 센서로부터 특정한 시간 영역(domain) 동안 수집된, 장치와의 사용자의 물리적 움직임 또는 상호작용에 대응하는 다축(multi-axis) 신호이다. 사용자의 물리적 움직임은 "제스처"(예를 들어, 손가락 탭 또는 손가락 스와이프) 또는 모바일 장치와의 다른 물리적 상호작용(예를 들어, 모바일 장치를 집어올리기(picking up))의 형태일 수 있다. 예를 들어, 모션 센서는 사용자가 허공에서(in the air) 그들의 서명을 작성하거나("명시적" 상호작용) 사용자가 그들의 전화(phone)를 탭하는 것("암시적" 상호작용)에 대응하는 모션 신호를 수집하거나 캡처할 수 있다. 이와 같이, 모션 신호는 사용자, 사용자에 의해 수행되는 동작(예를 들어, 제스처) 및 특정 모바일 장치에 특유한(사용자, 사용자에 의해 수행되는 동작 및 특정 모바일 장치의 구별적인) 특징을 포함한다.
하나 이상의 실시예에서, 모바일 장치의 모션 센서에 의한 모션 신호의 수집 또는 캡처는 바람직하게는 짧은 시간 윈도우인 하나 이상의 미리 결정된 시간 윈도우 동안 수행될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시간 윈도우는 대략 2초일 수 있다. 사용자의 등록 동안(during)과 같은 적어도 하나의 실시예에서, 모바일 장치는 사용자가 특정 제스처 또는 명시적 상호작용을 하도록 유도함으로써 사용자로부터 모션 신호를 수집(캡처)하도록 구성될 수 있다. 더욱이, 적어도 하나의 실시예에서, 수집된 모션 신호가 암시적 제스처 또는 사용자의 모바일 장치와의 상호 작용을 나타내도록, 모바일 장치는 사용자를 유도하는 것 없이 모션 신호를 수집하도록 구성될 수 있다. 하나 이상의 실시예에서, 모바일 장치(101)의 프로세서는, 하나 이상의 소프트웨어 모듈(예를 들어, 데이터베이스 모듈(176))을 실행함으로써, 캡처된 모션 신호를 모바일 장치의 데이터베이스(185)에 세이브(save)하거나, 대안적으로 캡처된 모션 신호가 백엔드(back-end) 서버(105)의 데이터베이스(280)에 세이브(save)될 수 있도록 구성될 수 있다.
단계 S110에서, 모바일 장치의 프로세서는, 하나 이상의 소프트웨어 모듈(예를 들어, 분할 모듈(173))을 실행함으로써, 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하도록 구성된다. 구체적으로, 캡처된 모션 신호는 N개의 수의 더 작은 청크 또는 세그먼트로 분할된다. 이전에 논의된 바와 같이, 개시된 시스템 및 방법은 모션 신호에서 특정 사용자에게 특유(specific)하거나 고유한(unique) 특징 및 사용자에 의해 수행된 동작의 구별적인 특징을 분간(distinguishing)하는 이슈를 부분적으로 해결하도록 구성된다. 이와 같이 모션 신호를 세그먼트로 분할함으로써, 사용자에 의해 수행되는 동작의 구별적인 특징이 제거된다. 하나 이상의 실시예에서, 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하는 단계는 각각의 모션 신호를 고정된 수의 세그먼트로 분할하는 단계를 포함하며, 여기서 각각의 세그먼트는 고정된 길이를 가진다. 하나 이상의 실시예에서, 세그먼트 또는 청크 중 적어도 일부는 중첩 세그먼트 또는 청크이다.
도 5a를 계속 참조하면, 단계 S115에서, 모바일 장치의 프로세서는 하나 이상의 소프트웨어 모듈(530)(예를 들어, 변환 모듈(178))을 실행함으로써, Cycle-GANs(Cycle-Consistent Generative Adversarial Networks)와 같은, 하나 이상의 훈련된 변형 알고리즘을 이용하여 세그먼트를 변형된 세그먼트로 변환(convert)하도록 구성된다. 이전에 논의된 바와 같이, 본 시스템 및 방법은 부분적으로, 모션 신호에서 특정 사용자에게 특유하거나 고유한 특징과 사용자의 모바일 장치의 구별적인 특징 사이를 분간(distinguishing)하는 이슈를 해결하도록 구성된다. Cycle-GAN을 이용하여 세그먼트를 변형된(translated) 세그먼트로 변환(convert)함으로써, 본 방법은 ML 모델에 제공된, 수집된 모션 데이터 신호(들)로부터 모바일 장치의 구별적인 특징을 효과적으로 제거한다.
보다 구체적으로, 하나 이상의 실시예에 따르면, 청크/세그먼트들은 개별의 샘플로 간주되고, 이 청크/세그먼트들은 하나 이상의 변형 알고리즘(예를 들어, Cycle-GAN)에 대한 입력으로서 제공된다. Cycle-GAN을 활용하는 하나 이상의 실시예에서, 각각의 Cycle-GAN은 다른 장치들의 T개의 미리 정의된 세트에서 수집된 모션 신호의 분리된 데이터 세트에 대해 오프라인으로 훈련된다. 입력으로 세그먼트가 주어지면, 변형된 세그먼트가 사용자의 모바일 장치와 다른 T개의 장치의 미리 정의된 세트로부터 장치에 기록되었을 때의 세그먼트에 대응하도록, Cycle-GAN은 각각의 세그먼트를 변형된 세그먼트로 변환할 수 있다. 다시 말해서, 변형된(translated) 세그먼트는 다른 장치에서 유래하는 모션 신호를 시뮬레이션하는 하나 이상의 합성한 모션 신호를 포함한다. 예를 들어, 장치 X에 기록된 모션 신호 x의 입력 세그먼트는, 그것이 다른 장치 Y에서 기록된 것처럼 보이게 하기 위해, Cycle-GAN(생성기) G를 이용하여 변형된다.
Cycle-GAN들 중 하나를 이용하여 본래의 세그먼트가 변형될 때마다, 사용자에 특유한 특징은 유지되는 반면, 사용자의 자신의 장치의 특징은 T개의 장치의 미리 정의된 세트로부터의 특정 장치의 특징으로 대체된다. 앞서 언급한 바와 같이, 프로세스의 한 목표는, 사용자의 특유한(구별적인) 모션 신호에서의 특징과, 단지 사용자에 의해 사용되는 장치의 특유한(구별적인)인 이 특징을 분리(separate)하는 것이다. 따라서, 적어도 하나의 실시예에 따르면, 사용자가 다수의 장치에 걸쳐 식별될 수 있도록 사용자에 특유한 결과를 획득하기 위해, 여러 Cycle-GAN 모델(또는 U-GAT-IT 또는 다른 변형 알고리즘)이 여러 장치 간의 세그먼트를 변형하는 데 사용된다. 하나 이상의 실시예에서, 고정된 수의 장치(예를 들어, 스마트폰) T개가 설정되고 T개의 디바이스 각각으로부터 모션 신호의 세그먼트가 수집된다. T개의 장치의 각각에 등록을 수행하는 고정된 수의 사용자 또한 설정된다. 이와 같이, 그림 4a에 도시된 바와 같이, 각각의 Cycle-GAN이 세그먼트를 특정 장치로부터 세트 내 모든 다른 장치로, 그리고 반대로 변형하는 것을 학습하도록 설정된 수의 Cycle-GAN이 훈련된다. 따라서, 적어도 하나의 실시예에 따르면, 본 시스템은 본래의 장치에 관계없이, 일부 본래의 장치에서 캡처된 신호를 T개의 장치의 미리 정의된 세트 내 다른 장치로 변형할 수 있는 포괄적인(generic) Cycle-GAN 모델을 야기(result in)한다.
적어도 하나의 실시예에서, 이 단계는 상이한 GAN 아키텍처, 다양한 네트워크 뎁스, 학습률 또는 최적화 알고리즘을 이용함으로써 달성될 수 있음을 주목한다. 일반화(generalization) 능력은, 단지 한 장치에서 다른 장치로 변형하는 것을 학습하는 대신, 다수의 장치에서 단일한 하나의 장치로 변형하는 것을 학습함으로써 보장된다. 따라서 Cycle-GAN 모델을 훈련하는 동안, Cycle-GAN은, 사용자를 아는 것 없이, 또는 그나 그녀가 이용중인 장치에 대한 정보를 가지는 것 없이, 사용자의 장치에서 캡처된 신호를 T개의 장치의 세트 내 다른 장치로 변형하는 데 적용할 수 있습니다. 본래의 세그먼트가 세트 내 T개의 장치 중 하나로 변형될 때마다, 사용자의 장치의 특징은 사용자에 특유한 특징을 유지하면서 T개의 장치의 세트 내 다른 장치의 특징으로 대체된다.
단계 S115의 하나 이상의 실시예에서, 입력 세그먼트가 변형되면, 모바일 장치의 프로세서는 하나 이상의 소프트웨어 모듈(예를 들어, 변환 모듈(178))을 실행함으로써 세그먼트를 다시 변형하도록 구성된다. 예를 들어, 앞의 예에서 언급했듯이, 장치 X에 기록된 모션 신호 x의 입력 세그먼트는, 그것이 다른 장치 Y에 기록된 것처럼 보이게 하기 위해, Cycle-GAN(생성기) G를 이용하여 변형된다. 그리고 나서 변형된 세그먼트는 Cycle-GAN(생성기) F를 이용하여 본래의 장치 X로 다시 변형된다. 그리고 나서, 적어도 하나의 실시예에 따르면, 판별기 DY는 장치 Y에 기록된 신호와 Cycle-GAN(생성기) G에 의해 생성된 신호를 구별 (discriminate)한다. 생성기 G는 판별기 DY를 속이도록 최적화되어 있는 반면, 판별기 DY는 적대적인 방식으로 샘플을 분리하도록 최적화된다. 또한, 적어도 하나의 실시예에서, 전체 시스템은 신호 x를 본래의 장치 X로 다시 변형한 후에 계산된 복원 오류를 줄이기 위해 최적화된다. 전체 손실 함수에 복원 오류를 추가하는 것은 주기 일관성(cycle-consistency)을 보장한다.
계속해서 도 5a를 참조하면, 단계 S120에서, 모바일 장치의 프로세서는, 하나 이상의 소프트웨어 모듈(예를 들어, 특징 추출 모듈(172))을 실행함으로써, 세그먼트 및 변형된 세그먼트를 기계 학습 시스템에 제공하도록 구성된다. 기계 학습 시스템에 대한 입력으로 제공된 세그먼트 및 변형된 세그먼트는 개별적인 샘플로 간주된다.
그리고 나서, 단계 S125에서, 모바일 장치의 프로세서는, 하나 이상의 소프트웨어 모듈을 실행함으로써, 하나 이상의 특징 추출 알고리즘을 적용하는 기계 학습 시스템을 이용하여 세그먼트 및 변형된 세그먼트로부터 사용자의 구별적인 특징을 추출하도록 구성된다. 예를 들어, 사용자 등록 프로세스 동안의 하나 이상의 실시예에서, 프로세서는 하나 이상의 특징 추출 기술을 이용하여 특징 벡터를 형성하기 위해 세그먼트 및 변형된 세그먼트로부터 관련 특징을 추출하도록 구성된다. 단계 S127에서, 프로세서는 세그먼트 및 변형된 세그먼트에 대응하는 특징 벡터에 대해 학습된 분류 모델을 사용하고 훈련하도록 구성된다. 적어도 하나의 실시예에서, 기계 학습 시스템은 특징 추출(S125) 및 분류(S127) 단계 둘 다를 포함하는 단 대 단(end-to-end) 심층 신경망일 수 있다. 하나 이상의 실시예에서, 기계 학습 시스템은 두 개의 구성요소(특징 추출기 및 분류기) 또는 3개의 구성요소(특징 추출기, 특징 선택 방법(미도시) 및 분류기)로 형성될 수 있다. 어느 실시예에서든, 훈련 가능한 구성요소, 즉 심층 신경망 또는 분류기가 존재한다. 당업자에 의해 이해되는 바와 같이, 훈련 가능한 구성 요소는, 훈련 가능한 구성 요소가 훈련 데이터 샘플(사용자 등록 중에 수집된 본래의 또는 변형된 세그먼트)에 대한 올바른 레이블을 얼마나 잘 예측할 수 있는지를 나타내는 손실 함수와 관련한 최적화 알고리즘(예를 들어, 경사하강법)을 적용함으로써, 일반적으로 샘플의 데이터 세트(모션 신호의 청크) 및 대응하는 레이블(사용자 식별자)에 대해 훈련된다. 최적화 알고리즘의 목표는 손실 함수를 최소화하는 것, 즉 훈련 가능한 구성 요소의 예측 능력을 향상시키는 것이다. 단계 S130에서, 방법이 종료된다.
도 6b는 적어도 하나의 실시예에 따른 모션 센서 데이터로부터 모바일 장치 상의 사용자를 인증하기 위한 계산 흐름을 나타내는 상위 레벨 블록도를 개시한다. 이제 도 5b를 참조하면, 방법은 단계 S105에서 시작한다. 도 6b에 도시된 단계 S105 내지 S120은 도 6a에 도시된 방법과 관련하여 위에서 설명된 동일한 단계이다. 구체적으로, 단계 S105에서, 사용자로부터의 하나 이상의 모션 신호가 모바일 장치에 의해 캡처되고, 단계 S110에서, 하나 이상의 캡처된 모션 신호가 세그먼트로 분할된다. 단계 S115에서, 세그먼트는 하나 이상의 훈련된 변형 알고리즘(예를 들어, Cycle-GAN)을 이용하여 변형된 세그먼트로 변환되고, 단계 S120에서, 세그먼트 및 변형된 세그먼트는 기계 학습 시스템에 제공된다.
계속해서 도 5b 및 도 1a 내지 1b를 참조하면, 단계 S120 이후에, 단계 S135에서 모바일 장치의 프로세서는, 하나 이상의 소프트웨어 모듈(예를 들어, 분류 모듈(174))을 실행함으로써, 세그먼트 및 변형된 세그먼트를 분류(예를 들어, 점수, 클래스 확률을 할당)하도록 구성된다. 보다 구체적으로, 하나 이상의 실시예에서, 세그먼트 및 변형된 세그먼트를 나타내는 특징 벡터가 분석되고 스코어링된다. 하나 이상의 실시예에서, 세그먼트 및 변형된 세그먼트가 사용자 등록 동안 수집된 데이터에 대해, 도 6a의 단계 S127에서, 이전에 훈련된 기계 학습 모델(예를 들어, 분류기 또는 심층 신경망)에 따라 스코어링되도록, 세그먼트 및 변형된 세그먼트는 인증 세션에 대응할 수 있다.
단계 S140에서, 모바일 장치는, 하나 이상의 소프트웨어 모듈(130)(예를 들어, 메타 학습 모듈(175))을 실행하여, 인증 세션 중에 획득된 세그먼트 및 변형된 세그먼트에 할당된 점수(예를 들어, 클래스 확률)에 투표 방식 또는 메타 학습 모델을 적용하도록 구성된다. 투표 방식 또는 메타 학습 모델을 적용함으로써, 모바일 장치는 사용자를 인가하거나 거부하는 만장일치의(unanimous) 결정을 제공하도록 구성된다. 하나 이상의 실시예에서, 세션에 대한 만장일치의 결정은 모든 세그먼트 및 변형된 세그먼트의 스코어에 적용되는 투표 방식 또는 메타 학습 모델에 기반한다.
마지막으로, 단계 S145에서 모바일 장치는, 하나 이상의 소프트웨어 모듈(예를 들어, 메타 학습 모듈(175))을 실행하여, 투표 또는 메타 학습 단계에 기반하여 사용자가 인가된 사용자인지 여부를 결정하도록 구성된다. 이전에 언급했듯이, 세그먼트 및 변형된 세그먼트는, 등록 중에, 알려진 사용자를 식별하도록 훈련된 기계 학습 모델에 의해 출력으로 제공된 클래스 확률에 따라 스코어링된다. 이와 같이, 각 세그먼트 및 변형된 세그먼트의 점수에 적용된 투표 방식 또는 메타 학습기를 기반으로, 프로세서는 세그먼트 및 변형된 세그먼트가 특정(인가된) 사용자에 속하는지 또는 아닌지를 결정하도록 구성되며, 이렇게 하여 궁극적으로 사용자가 인가된 사용자인지 또는 인가되지 않은 사용자인지를 결정한다. 여기에 개시된 인증 과정은 일대일 인증(one- to-one)(사용자 확인(verification))에 적용된다. 단계 S150에서, 모션 센서 데이터에 기반하여 사용자를 인증하는 방법이 종료된다.
실험 결과
이 섹션에서, 여기에 개시된 구분 방법으로 획득된 실험 결과는 하나 이상의 실시예에 따라 제시된다. 두 가지 다른 데이터 세트가 다음 실험에서 사용되었다. 첫 번째 데이터 세트(이하, 5x5 데이터베이스로 지칭되는)는, 5명의 개인에 의해 인증을 수행하는 것에 활용될 때, 5개의 스마트폰에서 가속도계 및 자이로스코프로부터 기록된 신호로 구성된다. 개인은 인증 중에 위치를 변경(즉, 일어서거나 앉는 것, 그리고 오른손 또는 왼손을 사용하는 것)하여, 다른 일반적인 동작을 수행하도록 요청 받았다. 각각의 위치에서, 50개의 인증으로부터의 신호가 캡처되었으며, 이는 각각의 개인이 5개의 스마트폰의 각각에서 총 1000개의 인증을 수행했음을 의미하며, 즉, 총 세션의 수는 5000개이다. 두 번째 데이터 세트(이하 3x3 데이터베이스라고 지칭됨)은 첫번째 데이터베이스와 동일한 위치 변화로, 그러나 3명의 다른 사람과 3개의 다른 스마트폰으로 형성되었다.
각각의 데이터베이스로부터의 신호는 전처리 단계에서 25개의 청크로 분할되었다. 5x5 데이터 세트에서 비롯되는 신호 청크는, 5개의 장치로의 그리고 5개의 장치로부터의 신호들로 변형시키는 목적으로 5개의 Cycle-GAN을 훈련하는 데 사용된다. 그리고나서, 3x3 데이터베이스로부터 획득된 신호 청크들의 각각은, 이 방식으로 완전히 새로운 신호들의 세트를 획득하는, 훈련된 GAN에 넣어진다. 이들 새로운(변형된) 신호들은, 하나는 훈련에 사용되고 다른 하나는 모션 신호에 기반한 사용자 식별을 위한 ML 시스템을 테스트하는데 사용되는, 두개의 서브셋으로 더 분할된다.
GAN은 고차원 파라미터를 가지는 비-컨벡스 미니맥스 게임(non-convex minimax game)의 내쉬 균형(Nash equilibrium)을 찾는 것이 요구되기 때문에, GAN 훈련이 매우 불안정하고 어렵다는 것은 잘 알려져 있다. 그러나 이 실험에서, 평형점이 달성되었다는 생각을 지탱하는, 손실 함수의 단조 하강(monotonic descent)이 생성적 네트워크에 대해 관찰되었다.
신호를 청크로 분할함으로써, 사용자 구별적인 특징이 캡처되었고 움직임(동작)의 중요성이 최소화되었다. 분명한 증거는 신호의 청크(GAN을 적용하는 것 없이)를 ML 시스템에 공급함으로써 사용자 인식의 4%의 정확도 증가가 관찰되었다는 것이다. 다른 모바일 장치들에 걸쳐 사용자 행동을 변형하는 것(GAN을 적용함으로써)은 사용자 인식 정확도의 추가적인 증가를 추가 3%로 이끌었다(신호 청크를 단독으로 이용하는 것으로부터 획득된 정확도에 비해). 따라서 다양한 장치들로부터의 특징을 시뮬레이션하는 것을 통하여, 보다 강건하고 장치 특징에 불변하는 ML 시스템이 획득되었다고 결론지을 수 있다.
모바일 장치의 수의 증가와 함께, 공격의 빈도가 크게 증가하고 있다. 따라서 최근에는 사용자 인증 동안 모션 센서에 의해 캡처된 신호를 기반으로 하는 시스템을 포함하는, 다양한 사용자 행동 분석 알고리즘이 제안되었다. 오늘날 모션 센서 데이터에 기반한 알고리즘이 직면한 주요 문제는 사용자에 특유한 특징들을 동작 및 장치에 특유한 특징들로부터 구분하는 것이 매우 어렵다는 것이다. 본 출원의 시스템 및 방법은 사용자 등록 프로세스에 대한 임의의 변경을 요구하는 것 없이, 모션 신호를 청크로 분할하고 변형 알고리즘(예를 들어, Cycle-GAN)을 이용하여 신호를 다른 장치로 변형함으로써 이 문제를 해결한다.
실제로, 신호를 더 작은 청크로 나누는 것은 ML 시스템의 결정 경계에 대한 동작(사용자에 의해 수행되는)의 영향을 줄이는 데 도움이 되며, 위의 예에서 본 것과 같이 사용자 식별 정확도를 4%까지 높인다. 또한, 장치가 동일한 제조사 및 모델이고 동일한 생산 라인에서 나올때 조차도, 제조 공정 때문에 다른 장치들로부터의 센서들은 다르다는 것이 잘 알려져 있다. 이 사실은 사용자 식별을 위한 ML 시스템의 결정 경계에 대한 모바일 장치 센서의 중요한 영향으로 이어진다. 하나 이상의 실시예에 따르면, 여기에 개시된 시스템 및 방법은, GAN을 활용하여, 임의의 장치로부터의 기록된 모션 신호에 기반하여 다수의 장치로부터의 인증을 시뮬레이션하고, ML 시스템에 대한 모바일 장치의 영향을 감소시키고, 사용자에 특유한 특징의 영향력을 증가시킨다. 개시된 시스템 및 방법은 ML 시스템 정확도를 약 3% 더 개선한다. 따라서, 하나 이상의 실시예에서, 전체적으로, 본 시스템 및 방법은 성능을 7% 향상시키고 오탐 및 미탐률 둘다를 감소시킬 수 있다.
모션 신호로부터 장치의 사용자의 구별적인 특징을 구분하고 모션 신호로부터 모바일 장치 상의 사용자를 인증하기 위한 예시적인 시스템 및 방법은 다음 항목에서 제시된다.
항목 1. 하나 이상의 모션 센서, 저장 매체, 저장 매체에 저장된 명령어, 및 명령어를 실행함으로써 구성되는 프로세서를 가지는 모바일 장치에 의해 캡처된 모션 신호로부터 장치의 사용자의 구별적인 특징(discriminative features)을 구분하기 위한 컴퓨터 실행 방법은,
프로세서로, 각각의 캡처된 모션 신호를 세그먼트로 분할하는 단계;
하나 이상의 훈련된 변형 알고리즘을 이용하는 프로세서로, 세그먼트를 변형된 세그먼트로 변환하는 단계;
프로세서로, 기계 학습 시스템에 세그먼트 및 변형된 세그먼트를 제공하는 단계; 및
하나 이상의 특징 추출 알고리즘을 적용하는 기계 학습 시스템을 이용하는 상기 프로세서로, 세그먼트 및 변형된 세그먼트로부터 사용자의 구별적인 특징을 추출하는 단계를 포함한다.
항목 2. 항목 1의 방법에서, 사용자의 구별적인 특징은 사용자에 의한 장치의 향후 사용 시 사용자를 식별하기 위해 사용된다.
항목 3. 이전의 항목들의 방법에서, 하나 이상의 모션 센서는 자이로스코프 및 가속도계 중 적어도 하나를 포함한다.
항목 4. 이전의 항목들의 방법에서, 하나 이상의 모션 신호는 사용자와 모바일 장치 사이의 하나 이상의 상호작용에 대응한다.
항목 5. 이전의 항목의 방법에서, 상기 모션 신호는 사용자의 구별적인 특징, 사용자에 의해 수행되는 동작의 구별적인 특징 및 모바일 장치의 구별적인 특징을 포함한다.
항목 6. 항목 5의 방법에서, 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하는 단계는 사용자에 의해 수행되는 동작의 구별적인 특징을 제거한다.
항목 7. 항목 5의 방법에서, 세그먼트를 변형된 세그먼트로 변환하는 단계는 모바일 장치의 구별적인 특징을 제거한다.
항목 8. 이전의 항목의 방법에 있어서, 하나 이상의 훈련된 변형 알고리즘은 하나 이상의 Cycle-GANs(Cycle-consistent Generative Adversarial Networks)을 포함하고, 상기 변형된 세그먼트는 다른 장치로부터 유래하는 모션 신호를 시뮬레이션하는 합성한 모션 신호를 포함한다.
항목 9. 이전의 항목의 방법에서, 상기 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하는 단계는 각각의 모션 신호를 고정된 수의 세그먼트로 분할하는 단계를 포함하고, 각각의 세그먼트는 고정된 길이를 가진다.
항목 10. 하나 이상의 모션 센서, 저장 매체, 저장 매체에 저장된 명령어, 및 명령어를 실행함으로써 구성되는 프로세서를 가지는 모바일 장치에 의해 캡처된 모션 신호로부터 모바일 장치에서 사용자를 인증하기 위한 컴퓨터 실행 방법은,
프로세서로, 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하는 단계;
하나 이상의 훈련된 변형 알고리즘을 이용하는 프로세서로, 세그먼트를 변형된 세그먼트로 변환하는 단계;
프로세서로, 기계 학습 시스템에 세그먼트 및 변형된 세그먼트를 제공하는 단계; 및
프로세서로, 세그먼트 및 변형된 세그먼트의 각각에 점수를 할당함으로써 세그먼트 및 변형된 세그먼트를 인가된 사용자에 속하는 것으로 또는 인가되지 않은 사용자에 속하는 것으로 분류하는 단계;
프로세서로, 세그먼트 및 변형된 세그먼트에 할당된 점수에 투표 방식 또는 메타 학습 모델을 적용하는 단계; 및
프로세서로, 투표 방식 또는 메타 학습 모델에 기반하여, 사용자가 인가된 사용자인지 여부를 결정하는 단계를 포함한다.
항목 11. 항목 10의 방법에서, 점수를 할당하는 단계는,
세그먼트 및 변형된 세그먼트를, 등록 프로세스 중에 인가된 사용자에 의해 제공된 샘플 세그먼트로부터 추출된 인가된 사용자의 특징(feature)과 비교하는 단계 - 특징은 저장 매체에 저장됨; 및
분류 모델에 기반하여 각각의 세그먼트에 점수를 할당하는 단계를 포함한다.
항목 12. 항목 10 또는 11의 방법에서, 상기 하나 이상의 모션 센서는 자이로스코프 및 가속도계 중 적어도 하나를 포함한다.
항목 13. 항목 10 내지 12의 방법에서, 상기 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하는 단계는, 각각의 모션 신호를 고정된 수의 세그먼트로 분할하는 단계를 포함하고, 여기서 각각의 세그먼트는 고정된 길이를 가진다.
항목 14. 항목 10 내지 13의 방법에서, 세그먼트들의 적어도 일부는 중첩한다.
항목 15. 항목 10 내지 14의 방법에서, 상기 하나 이상의 훈련된 변형 알고리즘은 하나 이상의 Cycle-GAN을 포함하고, 상기 변환하는 단계는,
제1 생성기를 통해 세그먼트를 다른 장치에서 생성된 세그먼트를 모방하는 변형된 세그먼트로 변형시키는 단계; 및
모바일 장치에서 생성된 세그먼트를 모방하기 위해, 제2 생성기를 통해 변형된 세그먼트를 재-변형시키는 단계를 포함한다.
항목 16. 항목 10 내지 15의 방법에서, 상기 변형된 세그먼트는 다른 장치로부터 유래하는 모션 신호를 시뮬레이션하는 합성한 모션 신호를 포함한다.
항목 17. 항목 10 내지 16의 방법에서, 상기 제공하는 단계는,
하나 이상의 특징 추출 기술을 이용한 처리로, 특징 벡터를 형성하기 위해 세그먼트 및 변형된 세그먼트로부터 특징을 추출하는 단계; 및
세그먼트 및 변형된 세그먼트에 대응하는 특징 벡터에 대해 학습된 분류 모델을 사용하는 단계를 포함한다.
항목 18. 적어도 하나의 모션 센서를 가지는 모바일 장치에서 캡처된 모션 신호로부터 장치의 사용자의 구별적인 특징을 구분하고 모바일 장치 상의 사용자를 인증하기 위한 시스템으로서, 시스템은,
네트워크 통신 인터페이스;
컴퓨터 판독 가능한 저장 매체;
네트워크 통신 인터페이스 및 컴퓨터 판독 가능 저장 매체와 상호 작용하고 저장 매체에 저장된 하나 이상의 소프트웨어 모듈을 실행하도록 구성되는 프로세서;를 포함하고, 상기 프로세서는,
실행될 때 각각의 캡처된 모션 신호를 세그먼트로 분할하도록 프로세서를 구성하는 분할 모듈;
실행될 때 하나 이상의 훈련된 Cycle-GAN(Cycle-consistent Generative Adversarial Networks)를 이용하여 세그먼트를 변형된 세그먼트로 변환하도록 프로세서를 구성하는 변환 모듈;
실행될 때, 기계 학습 시스템을 이용하는 프로세서로 세그먼트 및 변형된 세그먼트로부터 사용자의 추출하는 구별적인 특징을 추출하도록 프로세서를 구성하는 특징 추출 모듈;
실행될 때 세그먼트 및 변형된 세그먼트에 점수를 할당하고 그들의 각각의 점수에 기초하여 세그먼트 및 변형된 세그먼트가 인가된 사용자 또는 인가되지 않은 사용자에 속하는지 여부를 결정하도록 프로세서를 구성하는 분류 모듈; 및
실행될 때 사용자에 대응하는 저장된 세그먼트에 기반하여 세그먼트 및 변형된 세그먼트에 할당된 점수를 기반으로 투표 방식 또는 메타 학습 모델을 적용하도록 프로세서를 구성하는 메타 학습 모듈을 포함한다.
항목 19. 항목 18의 시스템에서, 상기 적어도 하나의 모션 센서는 자이로스코프 및 가속도계 중 적어도 하나를 포함한다.
항목 20. 항목 18 및 19의 시스템에서, 변환 모듈은 제1 생성기를 통해 세그먼트를 다른 장치에서 생성된 세그먼트를 모방하는 변형된 세그먼트로 변형시키고 모바일 장치에서 생성된 세그먼트를 모방하기 위해 제2 생성기를 통해 변형된 세그먼트를 재-변형시키도록 프로세서를 구성한다.
항목 21. 항목 18 내지 20의 시스템에서, 상기 특징 추출 모듈은 세그먼트 및 변형된 세그먼트에 대응하는 추출된 특징에 대해 학습된 분류 모델을 사용하도록 더 구성된다.
이 시점에서, 전술한 설명의 많은 부분이 모션 센서 데이터를 이용하여 사용자의 구별적인 특징의 구분 및 사용자 인증을 위한 시스템 및 방법에 관한 것이지만, 여기에 개시된 시스템 및 방법은 언급된 시나리오를 넘는 시나리오들, 상황들 및 설정들에서 유사하게, 알맞게 사용 및/또는 구현될 수 있다.
이 명세서는 많은 특정 구현들 및 세부 사항들을 포함하지만, 이들은 임의의 구현 또는 청구될 수 있는 것의 범위에 대한 제한으로 해석되어서는 안 되며, 오히려 특정 구현의 특정 실시예에 특유할 수 있는 특징의 설명으로 해석되어야 한다. 분리된 실시예의 맥락에서 본 명세서에 설명된 특정 특징은 단일 실시예에서 조합하여 구현될 수도 있다. 역으로, 단일 실시예의 맥락에서 설명된 다양한 특징은 개별적으로 또는 임의의 적절한 하위 조합으로 다중 실시예에서 구현될 수도 있다. 더욱이, 특징이 특정 조합으로 작동하는 것으로 위에서 설명될 수 있고 심지어 초기에 그렇게 청구될 수도 있지만, 청구된 조합의 하나 이상의 특징이 어떤 경우에는 조합에서 제거될 수 있고 청구된 조합은 하위 조합 또는 하위 조합의 변형으로 지시될 수 있다.
유사하게, 동작이 특정 순서로 도면에 도시되어 있지만, 이것은, 바람직한 결과를 달성하기 위해 그러한 동작이 도시된 특정 순서로 또는 순차적인 순서로 수행되거나 도시된 모든 동작이 수행될 것을 요구하는 것으로 이해되어서는 안 된다. 특정 상황에서는 멀티태스킹과 병렬 처리가 유리할 수 있다. 더욱이, 위에서 설명된 실시예에서 다양한 시스템 구성요소의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안 되며, 설명된 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 여러 소프트웨어 제품으로 패키지될 수 있음을 이해해야 한다.
여기서 사용된 용어는 단지 특정 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 여기서 사용된 단수 형태 "a", "an" 및 "the"는 문맥 상 명백히 다르게 지시하지 않는 한 복수 형태를 포함하도록 의도된다. 이 명세서에서 사용될 때, "포함한다(comprise)" 및/또는 "포함하는(comprising)"이라는 용어는 언급된 특징, 정수, 단계, 동작, 요소 및/또는 구성요소의 존재를 명시하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 구성요소 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않는다는 것이 추가로 이해될 것이다. 청구 요소를 수정하기 위해 청구항들에서 "제 1", "제 2", "제 3" 등과 같은 서수 용어를 사용하는 것은 그 자체로 방법의 동작이 수행되는 임의의 우선 순위, 선행 또는 하나의 청구 요소의 다른 또는 시간적 순서에 대한 순서를 의미하는 것이 아니라 청구항 요소를 구별하기 위해 특정 이름을 가진 하나의 청구항 요소를 동일한 이름을 가진 (그러나 서수 용어를 사용하는) 다른 요소와 구별하기 위한 라벨로서 단지 사용된다는 것에 유의하여야 한다. 또한, 여기에서 사용되는 표현 및 용어는 설명을 위한 것이며 제한으로 간주되어서는 안 된다. 여기에서 ”포함하는(including)", "포함하는(comprising)" 또는 "가지는(having)", "포함하는(contain)", "수반하는(involving)” 및 그 변형의 사용은 이후에 나열되는 항목과 이에 상응하는 항목 및 추가 항목을 포함한다. 도면에서 유사한 숫자는 여러 도면을 통해 유사한 요소를 나타내고, 도면을 참조하여 설명되고 예시된 모든 구성요소 및/또는 단계가 모든 실시예 또는 배열에 필요한 것은 아님을 이해해야 한다.
따라서, 개시된 시스템 및 방법의 실례가 되는 실시예 및 배열은 모션 센서 데이터를 이용하는 사용자 인증을 위한 컴퓨터 실행 방법, 컴퓨터 시스템, 및 컴퓨터 프로그램 제품을 제공한다. 도면의 흐름도 및 블록도는 다양한 실시예 및 배열에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현의 아키텍처, 기능 및 동작을 예시한다. 이와 관련하여, 흐름도 또는 블록 다이어그램의 각각의 블록은 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 이는 지정된 논리 기능(들)을 구현하기 위한 하나 이상의 실행 가능한 명령어를 포함한다. 또한, 일부 대안적인 구현에서, 블록에 언급된 기능은 도면에 언급된 순서와 다르게 발생할 수 있다는 점에 유의해야 한다. 예를 들어, 연속적으로 도시된 2개의 블록은 실제로 실질적으로 동시에 실행될 수 있거나 관련된 기능에 따라 블록이 때때로 역순으로 실행될 수 있다. 블록도 및/또는 순서도 그림의 각 블록과, 블록도 및/또는 순서도 그림의 블록의 조합은, 지정된 기능 또는 동작을 수행하는 특수 목적 하드웨어 기반 시스템, 또는 특수 목적 하드웨어와 컴퓨터 명령어의 조합에 의해 구현될 수 있음에 주목한다.
위에서 설명된 주제는 단지 예시를 위해 제공되며 제한하는 것으로 해석되어서는 안된다. 예시적인 실시예와 예시된 그리고 설명된 적용을 따르지 않고, 그리고 다음 청구범위에 설명된 본 발명의 진정한 사상 및 범위를 벗어나지 않고 여기에 설명된 주제에 다양한 수정 및 변경이 이루어질 수 있다.

Claims (21)

  1. 하나 이상의 모션 센서를 가지는 모바일 장치에 의해 캡처된 모션 신호로부터 장치의 사용자의 구별적인 특징(discriminative features)을 구분하기 위한 컴퓨터 실행 방법으로서,
    프로세서에, 상기 모바일 장치에 의해 캡처된 하나 이상의 캡처된 모션 신호를 제공하는 단계;
    상기 프로세서로, 각각의 캡처된 모션 신호를 세그먼트로 분할하는 단계;
    하나 이상의 훈련된 변형 알고리즘을 이용하는 상기 프로세서로, 상기 세그먼트를 변형된 세그먼트로 변환하는 단계;
    상기 프로세서로, 기계 학습 시스템에 대한 입력으로서 상기 세그먼트 및 상기 변형된 세그먼트를 제공하는 단계; 및
    하나 이상의 특징 추출 알고리즘을 적용하는 기계 학습 시스템을 이용하는 상기 프로세서로, 상기 세그먼트 및 상기 변형된 세그먼트로부터 상기 사용자의 구별적인 특징을 추출하는 단계;를 포함하는
    컴퓨터 실행 방법.
  2. 제1항에 있어서,
    상기 사용자의 상기 구별적인 특징은 상기 사용자에 의한 상기 장치의 향후 이용 시 상기 사용자를 식별하기 위해 사용되는 컴퓨터 실행 방법.
  3. 제1항에 있어서,
    상기 하나 이상의 모션 센서는 자이로스코프 및 가속도계 중 적어도 하나를 포함하는 컴퓨터 실행 방법.
  4. 제1항에 있어서,
    상기 하나 이상의 모션 신호는 상기 사용자와 상기 모바일 장치 사이의 하나 이상의 상호작용에 대응하는 컴퓨터 실행 방법.
  5. 제 1 항에 있어서,
    상기 모션 신호는 상기 사용자의 구별적인 특징, 상기 사용자에 의해 수행되는 동작의 구별적인 특징 및 상기 모바일 장치의 구별적인 특징을 포함하는 컴퓨터 실행 방법.
  6. 제5항에 있어서,
    상기 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하는 단계는 상기 사용자에 의해 수행되는 동작의 구별적인 특징을 제거하는 컴퓨터 실행 방법.
  7. 제5항에 있어서,
    상기 세그먼트를 상기 변형된 세그먼트로 변환하고 상기 세그먼트 및 상기 변형된 세그먼트를 상기 기계 학습 시스템에 제공하는 단계는 상기 모바일 장치의 구별적인 특징을 효과적으로 제거하는 컴퓨터 실행 방법.
  8. 제1항에 있어서,
    상기 하나 이상의 훈련된 변형 알고리즘은 하나 이상의 Cycle-GANs(Cycle-consistent Generative Adversarial Networks)을 포함하고,
    상기 변형된 세그먼트는 다른 장치로부터 유래하는 모션 신호를 시뮬레이션하는 합성한 모션 신호를 포함하는 컴퓨터 실행 방법.
  9. 제1항에 있어서,
    상기 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하는 단계는 각각의 모션 신호를 고정된 수의 세그먼트로 분할하는 단계를 포함하고, 각각의 세그먼트는 고정된 길이를 가지는 컴퓨터 실행 방법.
  10. 하나 이상의 모션 센서를 가지는 모바일 장치에 의해 캡처된 모션 신호로부터 모바일 장치의 사용자를 인증하기 위한 컴퓨터 실행 방법으로서,
    프로세서에, 하나 이상의 캡처된 모션 신호를 제공하는 단계;
    상기 프로세서로, 상기 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하는 단계;
    하나 이상의 훈련된 변형 알고리즘을 이용하는 상기 프로세서로, 상기 세그먼트를 변형된 세그먼트로 변환하는 단계;
    상기 프로세서로, 기계 학습 시스템에 대한 입력으로서 상기 세그먼트 및 상기 변형된 세그먼트를 제공하는 단계; 및
    상기 기계 학습 시스템을 이용하는 상기 프로세서로, 상기 세그먼트 및 변형된 세그먼트의 각각에 점수를 할당함으로써 상기 세그먼트 및 변형된 세그먼트를 인가된 사용자에 속하는 것으로 또는 인가되지 않은 사용자에 속하는 것으로 분류하는 단계;
    상기 프로세서로, 상기 세그먼트 및 변형된 세그먼트에 할당된 점수에 투표 방식 또는 메타 학습 모델을 적용하는 단계; 및
    상기 프로세서로, 상기 투표 방식 또는 메타 학습 모델에 기반하여 상기 사용자가 인가된 사용자인지 여부를 결정하는 단계를 포함하는 컴퓨터 실행 방법.
  11. 제 10항에 있어서,
    상기 분류하는 단계는,
    상기 세그먼트 및 변형된 세그먼트를, 등록 프로세스 중에 상기 인가된 사용자의 샘플 세그먼트로부터 추출된 상기 인가된 사용자의 특징(feature)과 비교하는 단계 - 상기 특징은 저장 매체에 저장됨; 및
    분류 모델에 기반하여 각각의 세그먼트에 점수를 할당하는 단계;를 포함하는 컴퓨터 실행 방법.
  12. 제10항에 있어서,
    상기 하나 이상의 모션 센서는 자이로스코프 및 가속도계 중 적어도 하나를 포함하는 컴퓨터 실행 방법.
  13. 제10항에 있어서,
    상기 하나 이상의 캡처된 모션 신호를 세그먼트로 분할하는 단계는, 각각의 모션 신호를 고정된 수의 세그먼트로 분할하는 단계를 포함하고, 각각의 세그먼트는 고정된 길이를 가지는 컴퓨터 실행 방법.
  14. 제10항에 있어서,
    세그먼트들의 적어도 일부는 중첩하는 컴퓨터 실행 방법.
  15. 제10항에 있어서,
    상기 하나 이상의 훈련된 변형 알고리즘은 하나 이상의 Cycle-GAN을 포함하고,
    상기 변환하는 단계는,
    제1 생성기를 통해 상기 세그먼트를 다른 장치에서 생성된 세그먼트를 모방하는 변형된 세그먼트로 변형시키는 단계; 및
    상기 모바일 장치에서 생성된 세그먼트를 모방하기 위해, 제2 생성기를 통해 상기 변형된 세그먼트를 재-변형시키는 단계를 포함하는 컴퓨터 실행 방법.
  16. 제10항에 있어서,
    상기 변형된 세그먼트는 다른 장치로부터 유래하는 모션 신호를 시뮬레이션하는 합성한 모션 신호를 포함하는 컴퓨터 실행 방법.
  17. 제10항에 있어서,
    상기 제공하는 단계는,
    하나 이상의 특징 추출 기술을 이용한 처리로, 특징 벡터를 형성하기 위해 상기 세그먼트 및 변형된 세그먼트로부터 특징을 추출하는 단계; 및
    상기 세그먼트 및 상기 변형된 세그먼트에 대응하는 특징 벡터에 대해 학습된 분류 모델을 사용하는 단계를 포함하는 컴퓨터 실행 방법.
  18. 적어도 하나의 모션 센서를 가지는 모바일 장치에서 캡처된 모션 신호로부터 장치의 사용자의 구별적인 특징을 구분하고 상기 모바일 장치의 사용자를 인증하기 위한 시스템으로서, 상기 시스템은,
    네트워크 통신 인터페이스;
    컴퓨터 판독 가능한 저장 매체;
    상기 네트워크 통신 인터페이스 및 상기 컴퓨터 판독 가능 저장 매체와 상호 작용하고 상기 저장 매체에 저장된 하나 이상의 소프트웨어 모듈을 실행하도록 구성되는 프로세서;를 포함하고,
    상기 프로세서는,
    실행될 때 각각의 캡처된 모션 신호를 세그먼트로 분할하도록 상기 프로세서를 구성하는 분할 모듈;
    실행될 때 하나 이상의 훈련된 Cycle-GAN(Cycle-consistent Generative Adversarial Networks)를 이용하여 상기 세그먼트를 변형된 세그먼트로 변환하도록 상기 프로세서를 구성하는 변환 모듈;
    실행될 때 기계 학습 시스템을 이용하는 상기 프로세서로 상기 세그먼트 및 상기 변형된 세그먼트로부터 사용자의 구별적인 특징을 추출하도록 상기 프로세서를 구성하는 특징 추출 모듈;
    실행될 때 상기 세그먼트 및 상기 변형된 세그먼트에 점수를 할당하고 그들의 각각의 점수에 기초하여 상기 세그먼트 및 상기 변형된 세그먼트가 인가된 사용자 또는 인가되지 않은 사용자에 속하는지 여부를 결정하도록 상기 프로세서를 구성하는 분류 모듈; 및
    실행될 때 상기 사용자에 대응하는 저장된 세그먼트에 기반하여 상기 세그먼트 및 변형된 세그먼트에 할당된 점수에 대한 투표 방식 또는 메타 학습 모델을 적용하도록 상기 프로세서를 구성하는 메타 학습 모듈을 포함하는 시스템.
  19. 제18항에 있어서,
    상기 적어도 하나의 모션 센서는 자이로스코프 및 가속도계 중 적어도 하나를 포함하는 시스템.
  20. 제18항에 있어서,
    상기 변환 모듈은 제1 생성기를 통해 상기 세그먼트를 다른 장치에서 생성된 세그먼트를 모방하는 상기 변형된 세그먼트로 변형시키고 상기 모바일 장치에서 생성된 세그먼트를 모방하기 위해 제2 생성기를 통해 상기 변형된 세그먼트를 재-변형시키도록 상기 프로세서를 구성하는 시스템.
  21. 제18항에 있어서,
    상기 특징 추출 모듈은 상기 세그먼트 및 상기 변형된 세그먼트에 대응하는 추출된 특징에 대해 학습된 분류 모델을 사용하도록 더 구성되는 시스템.

KR1020227027088A 2020-01-06 2021-01-06 모션 센서 데이터에 기록된 사용자, 동작 및 장치에 특유한 특징을 구분하기 위한 시스템 및 방법 KR20220123118A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062957653P 2020-01-06 2020-01-06
US62/957,653 2020-01-06
PCT/IB2021/050077 WO2021140450A1 (en) 2020-01-06 2021-01-06 System and method for disentangling features specific to users, actions and devices recorded in motion sensor data

Publications (1)

Publication Number Publication Date
KR20220123118A true KR20220123118A (ko) 2022-09-05

Family

ID=74550697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227027088A KR20220123118A (ko) 2020-01-06 2021-01-06 모션 센서 데이터에 기록된 사용자, 동작 및 장치에 특유한 특징을 구분하기 위한 시스템 및 방법

Country Status (14)

Country Link
US (1) US20210209508A1 (ko)
EP (1) EP4088205B1 (ko)
JP (1) JP2023509482A (ko)
KR (1) KR20220123118A (ko)
CN (1) CN115087973A (ko)
AU (1) AU2021205292A1 (ko)
CA (1) CA3166863A1 (ko)
CO (1) CO2022011128A2 (ko)
ES (1) ES2967932T3 (ko)
MX (1) MX2022008396A (ko)
PE (1) PE20221863A1 (ko)
PL (1) PL4088205T3 (ko)
WO (1) WO2021140450A1 (ko)
ZA (1) ZA202207976B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023136433A1 (ko) * 2022-01-12 2023-07-20 삼성전자 주식회사 휠체어와 관련된 운동 정보 산출 방법 및 웨어러블 디바이스
US20230377004A1 (en) * 2022-05-23 2023-11-23 Verizon Patent And Licensing Inc. Systems and methods for request validation
CN116664880B (zh) * 2023-07-31 2023-11-28 南昌大学 深度伪造反取证图像的生成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11733780B2 (en) * 2018-03-16 2023-08-22 Veridium Ip Limited System and method for user recognition using motion sensor data

Also Published As

Publication number Publication date
PL4088205T3 (pl) 2024-03-04
MX2022008396A (es) 2022-11-30
WO2021140450A1 (en) 2021-07-15
EP4088205C0 (en) 2023-11-15
US20210209508A1 (en) 2021-07-08
PE20221863A1 (es) 2022-11-30
ES2967932T3 (es) 2024-05-06
AU2021205292A1 (en) 2022-08-11
CA3166863A1 (en) 2021-07-15
CN115087973A (zh) 2022-09-20
JP2023509482A (ja) 2023-03-08
ZA202207976B (en) 2023-12-20
CO2022011128A2 (es) 2023-07-10
EP4088205A1 (en) 2022-11-16
EP4088205B1 (en) 2023-11-15

Similar Documents

Publication Publication Date Title
JP7040952B2 (ja) 顔認証方法及び装置
US9294475B2 (en) System and method for generating a biometric identifier
KR101242390B1 (ko) 사용자를 인증하기 위한 방법, 장치, 및 컴퓨터 판독 가능한 기록 매체
US10877568B2 (en) Three-dimensional in-the-air finger motion based user login framework for gesture interface
KR101997371B1 (ko) 신원 인증 방법 및 장치, 단말기 및 서버
US20160057138A1 (en) System and method for determining liveness
EP4088205B1 (en) System and method for disentangling features specific to users, actions and devices recorded in motion sensor data
KR102401170B1 (ko) 복합 인증 장치 및 방법
Dahia et al. Continuous authentication using biometrics: An advanced review
Smith-Creasey et al. Continuous face authentication scheme for mobile devices with tracking and liveness detection
Li et al. CNN-based continuous authentication on smartphones with conditional Wasserstein generative adversarial network
Fenu et al. Controlling user access to cloud-connected mobile applications by means of biometrics
WO2016033184A1 (en) System and method for determining liveness
Li et al. Adaptive deep feature fusion for continuous authentication with data augmentation
JP2015041307A (ja) 照合装置及び照合方法、照合システム、並びにコンピュータ・プログラム
KR20190128536A (ko) 전자 장치 및 그 제어 방법
Ezz et al. Challenge-response emotion authentication algorithm using modified horizontal deep learning
CN112334897A (zh) 认证用户的方法和电子设备
US11601276B2 (en) Integrating and detecting visual data security token in displayed data via graphics processing circuitry using a frame buffer
Ducray et al. Authentication based on a changeable biometric using gesture recognition with the kinect™
US10867022B2 (en) Method and apparatus for providing authentication using voice and facial data
Hamme et al. Ai for biometric authentication systems
Shibel et al. Deep learning detection of facial biometric presentation attack
KR102380426B1 (ko) 얼굴 인증 방법 및 장치
Nguyen et al. Personalized Image-based User Authentication using Wearable Cameras