KR101550747B1 - 신원 풋프린트에 기초한 사용자들의 인증 - Google Patents

신원 풋프린트에 기초한 사용자들의 인증 Download PDF

Info

Publication number
KR101550747B1
KR101550747B1 KR1020130064676A KR20130064676A KR101550747B1 KR 101550747 B1 KR101550747 B1 KR 101550747B1 KR 1020130064676 A KR1020130064676 A KR 1020130064676A KR 20130064676 A KR20130064676 A KR 20130064676A KR 101550747 B1 KR101550747 B1 KR 101550747B1
Authority
KR
South Korea
Prior art keywords
user
computing device
time interval
user signature
timestamp
Prior art date
Application number
KR1020130064676A
Other languages
English (en)
Other versions
KR20130136937A (ko
Inventor
노암 소렉
Original Assignee
브로드콤 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브로드콤 코포레이션 filed Critical 브로드콤 코포레이션
Publication of KR20130136937A publication Critical patent/KR20130136937A/ko
Application granted granted Critical
Publication of KR101550747B1 publication Critical patent/KR101550747B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0492Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload by using a location-limited connection, e.g. near-field communication or limited proximity of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/126Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/68Gesture-dependent or behaviour-dependent

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

사용자와 연관된 사용자 시그니처를 생성하고 사용자를 인증하는 다양한 실시예들이 개시된다. 컴퓨팅 디바이스 내의 적어도 하나의 센서와 연관된 적어도 하나의 거동이 정의된다. 타임스탬프가 생성되며, 거동과 연관된다. 거동 및 타임스탬프에 적어도 부분적으로 기초하는 사용자에 대응하는 사용자 시그니처가 생성 및 저장된다.

Description

신원 풋프린트에 기초한 사용자들의 인증{AUTHENTICATING USERS BASED UPON AN IDENTITY FOOTPRINT}
관련 출원들의 상호 참조
본 출원은, 그 전체가 본 명세서에 참조로써 통합되며, 2012.06.05자로 출원된 출원번호 61/655,653호를 갖는, "Authenticating Users Based Upon Identity Footprint"라는 명칭으로 동시에 계류중인 미국 가특허 출원에 대한 우선권을 주장한다.
기술분야
본 발명은 신원 풋프린트(identity footprint)에 기초한 사용자들의 인증에 관한 것이다.
패스워드 검증을 이용한 사용자 인증에 기초하는 시스템 보안은 손상될 수 있는 보안 프레임워크(framework)이다. 예를 들어, 공격자는, 단순히 사용자의 사용자명(username)/패스워드 쌍을 제시함으로써 사용자의 증명서(credentials)를 갖는 시스템에 대한 액세스를 획득하기 위하여 공격자에 의해 사용될 수 있는, 사용자명/패스워드를 획득 또는 생성할 수 있다. 추가적으로, 근거리 필드 통신(near field communication; NFC), 라디오 주파수 식별(RFID) 및 라디오 주파수 통신의 다른 유형들은, 사용자명/패스워드 쌍 없이, 단순히 사용자의 디바이스의 제시에 의한 사용자 인증을 허용할 수 있다. 따라서, 이러한 시나리오에 있어, 공격자는 패스워드 및/또는 패스프레이즈(passphrase)를 제시하지 않고, 적합한 NFC 및/또는 RFID 증명서를 내포하는 사용자의 디바이스를 단순히 제시함으로써 사용자와 연관된 시스템에 대한 액세스를 획득할 수 있으며, 이는 사용자의 모바일 디바이스가 유실되거나 및/또는 도난된 경우에 있어 심각한 위험이 될 수 있다.
일 측면에 따르면, 시스템은:
시스템의 포지션(position) 또는 움직임(movement) 중 적어도 하나를 결정하도록 구성된 적어도 하나의 센서; 및
상기 적어도 하나의 센서와 통신하는 회로부(circuitry)로서:
상기 적어도 하나의 센서와 연관된 적어도 하나의 거동(behavior)을 식별하고;
상기 적어도 하나의 거동과 연관된 적어도 하나의 타임스탬프(timestamp)를 생성하되, 상기 적어도 하나의 타임스탬프는 시각(time of day)과 연관되며;
상기 적어도 하나의 거동 및 상기 적어도 하나의 타임스탬프에 적어도 부분적으로 기초하여 사용자에 대응하는 사용자 시그니처(signature)를 생성하고; 및
상기 사용자 시그니처를 상기 시스템에 액세스가능한(accessible) 메모리에 저장하도록 구성된, 상기 회로부를 포함한다.
바람직하게, 상기 적어도 하나의 센서는 가속도계(accelerometer)를 포함하며,
상기 회로부는:
상기 가속도계로부터 검색된 주기적인 데이터로부터 상기 시스템의 가속도를 식별하고; 및
상기 가속도와 상기 타임스탬프를 연관시키도록 더 구성된다.
바람직하게, 상기 적어도 하나의 센서는 GNSS(global navigation satellite system) 칩셋을 더 포함하며,
상기 회로부는:
상기 GNSS 칩셋으로부터 상기 시스템의 로케이션(location)을 식별하고; 및
상기 포지션과 상기 타임스탬프를 연관시키도록 더 구성된다.
바람직하게, 상기 적어도 하나의 센서는 가속도계 및 GNSS 칩셋을 더 포함하며,
상기 회로부는:
상기 가속도계 및 상기 GNSS 칩셋 중 적어도 하나로부터 획득된 센서 데이터와 연관된 속도(velocity)를 식별하고; 및
상기 속도를 상기 타임스탬프에 연관시키도록 더 구성된다.
바람직하게, 상기 적어도 하나의 센서는 무선 네트워크 인터페이스를 더 포함하고,
상기 적어도 하나의 거동을 식별하는 상기 회로부는:
상기 무선 네트워크 인터페이스가 이에 대한 통신 범위 내에 있는, 적어도 하나의 네트워크를 식별하고; 및
상기 적어도 하나의 네트워크와 상기 타임스탬프를 연관시키도록 더 구성된다.
바람직하게, 상기 적어도 하나의 센서는 네트워크 인터페이스를 더 포함하고,
상기 적어도 하나의 거동을 식별하는 상기 회로부는:
상기 무선 네트워크 인터페이스가 연결된 적어도 하나의 네트워크를 식별하고; 및
상기 적어도 하나의 네트워크와 상기 타임스탬프를 연관시키도록 더 구성된다.
바람직하게, 상기 회로부는:
상기 적어도 하나의 센서 및 시간 구간(time period)과 연관된 복수의 거동들을 추적(track)하고;
상기 사용자를 인증하기 위한 요청을 획득하며;
상기 시간 구간에 걸친 상기 복수의 거동들이 상기 사용자 시그니처에 대응하는지 여부를 결정하고; 및
상기 시간 구간 동안에 대응하는 상기 복수의 거동들이 상기 사용자 시그니처에 대응할 때 상기 사용자를 인증하도록 더 구성된다.
바람직하게, 상기 시간 구간에 걸친 상기 복수의 거동들이 상기 사용자 시그니처에 대응하는지 여부를 결정하는 상기 회로부는, 상기 시간 구간 내의 시점(time)에서의 상기 시스템의 제 1 속도가, 상기 제 1 속도와 부합하는(correspond with) 상기 시점에 대응하는 타임스탬프와 연관된 제 2 속도에 대응하는지 여부를 결정하도록 더 구성된다.
바람직하게, 상기 시간 구간에 걸친 상기 복수의 거동들이 상기 사용자 시그니처에 대응하는지 여부를 결정하는 상기 회로부는, 상기 시간 구간 내의 시점에서의 상기 시스템의 제 1 로케이션이, 상기 제 1 로케이션에 부합하는 상기 시점에 대응하는 타임스탬프와 연관된 제 2 로케이션에 대응하는지 여부를 결정하도록 더 구성된다.
바람직하게, 상기 시간 구간에 걸친 상기 복수의 거동들이 상기 사용자 시그니처에 대응하는지 여부를 결정하는 상기 회로부는, 상기 시간 구간 내의 시점에서의 상기 시스템의 통신 범위 내의 제 1 네트워크가, 상기 제 1 네트워크에 부합하는 상기 시점에 대응하는 타임스탬프와 연관된 상기 시스템의 통신 범위 내의 제 2 네트워크에 대응하는지 여부를 결정하도록 더 구성된다.
일 측면에 따르면, 방법은:
적어도 하나의 회로에서, 상기 적어도 하나의 회로와 통신하는 컴퓨팅 디바이스 내의 적어도 하나의 센서와 연관된 적어도 하나의 거동을 식별하는 단계;
상기 적어도 하나의 회로에서, 상기 적어도 하나의 거동과 연관된 적어도 하나의 타임스탬프를 생성하는 단계로서, 상기 적어도 하나의 타임스탬프는 시각과 연관되는, 단계;
상기 적어도 하나의 회로에서, 상기 적어도 하나의 거동 및 상기 적어도 하나의 타임스탬프에 적어도 부분적으로 기초하여 사용자에 대응하는 사용자 시그니처를 생성하는 단계; 및
상기 사용자 시그니처를 상기 적어도 하나의 회로와 통신하는 메모리에 저장하는 단계를 포함한다.
바람직하게, 상기 적어도 하나의 센서는 가속도계를 포함하며,
상기 적어도 하나의 거동을 식별하는 단계는:
상기 적어도 하나의 회로에서, 상기 가속도계로부터 검색된 주기적인 데이터와 연관된 가속도를 식별하는 단계; 및
상기 적어도 하나의 회로에서, 상기 가속도를 상기 타임스탬프에 연관시키는 단계를 더 포함한다.
바람직하게, 상기 적어도 하나의 센서는 GNSS 칩셋을 더 포함하며,
상기 적어도 하나의 거동을 식별하는 단계는:
상기 적어도 하나의 회로에서, 상기 GNSS 칩셋으로부터 상기 시스템의 로케이션을 식별하는 단계; 및
상기 적어도 하나의 회로에서, 상기 포지션을 상기 타임스탬프에 연관시키는 단계를 더 포함한다.
바람직하게, 상기 적어도 하나의 센서는 가속도계 및 GNSS 칩셋을 더 포함하며,
상기 적어도 하나의 거동을 식별하는 단계는:
상기 적어도 하나의 회로에서, 상기 가속도계 및 상기 GNSS 칩셋 중 적어도 하나로부터 획득된 센서 데이터와 연관된 속도를 식별하는 단계; 및
상기 적어도 하나의 회로에서, 상기 속도를 상기 타임스탬프에 연관시키는 단계를 더 포함한다.
바람직하게, 상기 적어도 하나의 센서는 네트워크 인터페이스를 더 포함하며,
상기 적어도 하나의 거동을 식별하는 단계는:
상기 적어도 하나의 회로에서, 상기 무선 통신 인터페이스가 통신 범위 내에 있는 적어도 하나의 네트워크를 식별하는 단계; 및
상기 적어도 하나의 회로에서, 상기 적어도 하나의 네트워크를 상기 타임스탬프에 연관시키는 단계를 더 포함한다.
바람직하게, 상기 적어도 하나의 센서는 네트워크 인터페이스를 더 포함하며,
상기 적어도 하나의 거동을 식별하는 단계는:
상기 적어도 하나의 회로에서, 상기 무선 통신 인터페이스가 연결된 적어도 하나의 네트워크를 식별하는 단계; 및
상기 적어도 하나의 회로에서, 상기 적어도 하나의 네트워크를 상기 타임스탬프에 연관시키는 단계를 더 포함한다.
바람직하게, 상기 방법은:
상기 적어도 하나의 회로에서, 상기 적어도 하나의 센서 및 시간 구간과 연관된 복수의 거동들을 추적하는 단계;
상기 적어도 하나의 회로에서, 상기 사용자를 인증하기 위한 요청을 획득하는 단계;
상기 적어도 하나의 회로에서, 상기 시간 구간에 걸친 상기 복수의 거동들이 상기 사용자 시그니처에 대응하는지 여부를 결정하는 단계; 및
상기 적어도 하나의 회로에서, 상기 시간 구간 동안에 대응하는 상기 복수의 거동들이 상기 사용자 시그니처에 대응할 때, 상기 사용자를 인증하는 단계를 더 포함한다.
바람직하게, 상기 시간 구간에 걸친 상기 복수의 거동들이 상기 사용자 시그니처에 대응하는지 여부를 결정하는 단계는, 상기 시간 구간 내의 시점에서의 상기 시스템의 제 1 속도가, 상기 제 1 속도와 부합하는 상기 시점에 대응하는 타임스탬프와 연관된 제 2 속도에 대응하는지 여부를 결정하는 단계를 더 포함한다.
바람직하게, 상기 시간 구간에 걸친 상기 복수의 거동들이 상기 사용자 시그니처에 대응하는지 여부를 결정하는 단계는, 상기 시간 구간 내의 시점에서의 상기 시스템의 제 1 로케이션이, 상기 제 1 로케이션에 부합하는 상기 시점에 대응하는 타임스탬프와 연관된 제 2 로케이션에 대응하는지 여부를 결정하는 단계를 더 포함한다.
컴퓨팅 디바이스 내에서 실행가능한 소프트웨어 프로그램을 포함하는 비-일시적인 컴퓨터-판독가능 매체가 제공되며,
상기 소프트웨어 프로그램은:
상기 컴퓨팅 디바이스 내의 적어도 하나의 센서와 연관된 거동을 식별하되, 상기 거동은 속도, 가속도, 로케이션 또는 상기 컴퓨팅 디바이스가 통신하는 네트워크 중 적어도 하나이며;
상기 거동과 연관된 타임스탬프를 생성하되, 상기 타임스탬프는 상기 컴퓨팅 디바이스와 연관된 클럭(clock)으로부터 추출된 시각과 연관되며;
상기 거동 및 상기 타임스탬프에 적어도 부분적으로 기초하여 사용자에 대응하는 사용자 시그니처를 생성하고; 및
상기 사용자 시그니처를 상기 컴퓨팅 디바이스에 액세스가능한 메모리에 저장하도록 구성된다.
본 발명의 많은 측면들이 다음의 도면들을 참조하여 더 잘 이해될 수 있을 것이다. 도면들 내의 구성요소들이 필수적으로 스케일링되어야 하는 것은 아니며, 오히려 본 발명의 원리들을 명료하게 예시하는 것에 주안점을 둔다. 또한, 도면들 내에서, 동일한 도면부호들은 몇몇 도면들에 걸쳐 대응하는 부분들을 지시한다.
도 1은 본 발명의 다양한 실시예들에 따른 컴퓨팅 디바이스를 예시하는 네트워크화 환경의 도면이다.
도 2는 본 발명의 다양한 실시예들에 따른 도 1의 네트워크화 환경의 컴퓨팅 디바이스 내에서 실행되는 사용자 신원 로직의 부분들로서 구현된 기능성의 일 예를 예시하는 순서도이다.
도 3은 본 발명의 다양한 실시예들에 따른 도 1의 네트워크화 환경의 컴퓨팅 디바이스 내에서 실행되는 사용자 신원 로직의 부분들로서 구현된 기능성의 다른 예를 예시하는 순서도이다.
도 4는 본 발명의 다양한 실시예들에 따른 도 1의 네트워크화 환경의 컴퓨팅 디바이스 내에서 실행되는 사용자 신원 로직의 부분들로서 구현된 기능성의 또 다른 예를 예시하는 순서도이다.
본 발명의 실시예들은, 모바일 디바이스 또는 다른 유형의 컴퓨팅 시스템이 사용자들의 외부 세상과의 상호작용들과 관계됨에 따라, 모바일 디바이스 또는 다른 유형의 컴퓨팅 시스템을 통한, 사용자의 거동들에 기초하는 사용자 시그니처(signature), 또는 사용자 풋프린트(footprint)의 생성을 목적으로 한다. 사용자의 디바이스 내에 통합될 수 있는 다양한 유형들의 센서들을 통해 사용자의 거동을 관찰하고 추적함으로써, 거동적인 경향들에 기초한 사용자 시그니처가 생성될 수 있고, 사용자 시그니처는, 예를 들어, 사용자의 신원(identity)의 인증이 요청되는 경우와 같은, 그 후의 시점에서 사용자를 인증하기 위해 사용될 수 있다. 본 발명의 맥락에 있어, 센서는 모바일 디바이스 및/또는 컴퓨팅 시스템 내에 통합될 수 있는 다양한 환경 센서(environmental sensor)들 중 임의의 것일 수 있다. 예를 들어, 센서는 디바이스의 가속도 또는 움직임(movement)들을 검출하도록 구성된 가속도계(accelerometer)를 포함할 수 있다. 센서는 또한 디바이스의 방위(orientation)를 검출하도록 구성된 자이로스코프(gyroscope)를 포함할 수 있다. 센서는, 예를 들어, GPS(global positioning system), GLONASS(Globalnaya Nvigatsionnaya Sputnikovaya Sistema), IRNSS(Indian Regional Navigational Satellite System), 갈릴레오(Galileo), 등과 같은 GNSS(global navigation satellite system) 시스템과 통신하는 GNSS 칩셋을 포함할 수 있다.
센서는 속도, 또는 움직임의 임의의 다른 유형을 검출하도록 구성된 센서일 수 있다. 추가적으로, 본 발명의 맥락에 있어 센서는 네트워크(예를 들어, 유선 및/또는 무선 네트워크)와 통신하도록 구성된 네트워크 인터페이스를 포함할 수 있다. 이러한 시나리오에 있어, 센서는 네트워크 인터페이스일 수 있으며, 이는 인터페이스가 연결되거나 또는 인터페이스의 범위 내에 있는 네트워크들에 관한 정보(예를 들어, 서비스 세트(set) 식별자, 네트워크 네임, 기지국 식별자, 또는 다른 네트워크에 관해 식별하는 정보)를 제공할 수 있다.
따라서, 본 발명의 실시예는 사용자의 모바일 디바이스(예를 들어, 스마트폰, 태블릿 컴퓨팅 시스템, 랩탑 컴퓨팅 시스템, 미디어 플레이어, 등)와 연관된 센서를 통해 사용자의 거동을 검출할 수 있다. 이러한 거동들은 타임스탬프 및 적어도 부분적으로 하나 이상의 거동/타임스탬프 쌍들에 기초하여 생성된 사용자 시그니처와 연관될 수 있다. 이러한 방식으로, 사용자 시그니처는 사용자를 인증하기 위해 사용될 수 있는 매일(daily)의 및/또는 매주(weekly)의 루틴(routine)의 표현(representation)을 내포(contain)할 수 있다. 이러한 인증의 형식이 사용자명/패스워드, 개인적인 인증 번호, 패스프레이즈, 및/또는 NFC 및/또는 RFID 인증과 함께 사용될 수 있다. 공격자가 사용자의 디바이스의 소유를 획득한 경우, 공격자는 디바이스 내의 센서들에 의해 검출된 바와 같은 사용자의 거동들에 대응하는 거동들을 보이지 않을 수 있다. 따라서, 공격자가 사용자의 디바이스 및/또는 사용자의 증명서를 획득한 경우에도, 공격자가 인증의 이러한 형식을 우회(bypass)하지 못할 수 있다.
도 1을 참조하면, 다양한 실시예들에 따른 네트워크화(networked) 환경(100)이 도시된다. 네트워크화 환경(100)은 하나 이상의 네트워크(108a, 108b, 등)와 통신하는 컴퓨팅 디바이스(101)를 포함한다. 네트워크(108)는, 예를 들어, 인터넷, 인트라넷들, 익스트라넷들, 광역 네트워크들(WANs), 근거리 네트워크들(LANs), 유선 네트워크들, 무선 네트워크들, 또는 다른 적절한 네트워크들, 등, 또는 2개 이상의 이러한 네트워크들의 조합을 포함할 수 있다. 예를 들어, 네트워크(108a)는, 컴퓨팅 디바이스가 연결된 무선 캐리어(carrier) 네트워크를 포함할 수 있다. 네트워크(108b)는 컴퓨팅 디바이스(101)가 연결된 무선 근거리 네트워크(108b)를 포함할 수 있다. 컴퓨팅 디바이스(101)는 다양한 시점들에서 임의의 수의 네트워크들과 통신할 수 있거나, 또는 임의의 수의 네트워크들의 통신 범위 내에 있을 수 있다.
컴퓨팅 디바이스(101)는, 예를 들어, 컴퓨터 시스템과 같은 프로세서-기반 시스템을 포함할 수 있다. 이러한 컴퓨터 시스템은, 데스크탑 컴퓨터, 랩탑 컴퓨터, PDA, 스마트 폰, 무선 전화기, 셋-탑 박스, 뮤직 플레이어, 웹 패드들, 태블릿 컴퓨터 시스템들, 게임 콘솔들, 도는 유사한 성능을 가진 다른 디바이스들의 형태로 구현될 수 있다. 컴퓨팅 디바이스(101)는, 소프트웨어 어플리케이션들을 실행하고 컴퓨팅 디바이스(101)의 다양한 하드웨어 성능들과의 상호작용들을 가능하게 하는 하나 이상의 중앙 프로세싱 유닛들(103)을 포함할 수 있다. 컴퓨팅 디바이스(101)는 또한 컴퓨팅 디바이스(101)와 연관된 디스플레이(display) 상에 렌더링되는(rendered) 사용자 인터페이스와 상호작용할 수 있는 적어도 하나의 입력 디바이스(105)와 구성될 수 있다. 하나의 실시예에 있어, 입력 디바이스(105)는, 컴퓨팅 디바이스(101)의 디스플레이와 통합된 정전용량 터치스크린(capacitive touch screen) 입력 디바이스를 포함할 수 있다. 다른 실시예에 있어, 입력 디바이스(105)는 컴퓨팅 디바이스(101)와 통신하는 키보드 및/또는 마우스를 포함할 수 있다.
컴퓨팅 디바이스(101)는 또한 이로부터 컴퓨팅 디바이스(101)의 방위가 결정될 수 있는 적어도 하나의 자이로스코프(107)를 포함할 수 있다. 자이로스코프(107)는 컴퓨팅 디바이스(101) 내의 CPU(103) 또는 다른 시스템들로 각 운동량(angular momentum) 데이터 및/또는 방위 데이터를 제공할 수 있는 MEMS 자이로스코프를 포함할 수 있다. 컴퓨팅 디바이스(101)는 또한, 가속도, 또는 속도의 레이트(rate)의 변화를 결정할 수 있고, 가속도 데이터를 컴퓨팅 디바이스(101) 내의 CPU(103) 또는 다른 시스템들로 제공할 수 있는 적어도 하나의 가속도계를 포함할 수 있다. 일부 실시예들에 있어, 컴퓨팅 디바이스(101)는 또한 위성 네비게이션 시스템과의 통신을 가능하게 하는 GNSS 칩셋(111)을 포함한다. GNSS 칩셋(111)은, 요청되는 경우 컴퓨팅 디바이스(101) 내의 CPU(103) 또는 다른 시스템들로 로케이션(location) 데이터를 제공한다.
컴퓨팅 디바이스(101)는 또한 하나 이상의 네트워크들(108)과의 통신을 가능하게 하는 하나 이상의 네트워크 인터페이스들(113)을 포함할 수 있다. 컴퓨팅 디바이스(101)는 802.11 b/g/n 네트워크와 같은 무선 근거리 네트워크와 통신할 수 있는 제 1 네트워크 인터페이스(113)를 포함할 수 있다. 컴퓨팅 디바이스(101)는 셀룰러 음성 및/또는 데이터 네트워크들과 같은 무선 광역 네트워크와 통신할 수 있는 제 2 네트워크 인터페이스(113)를 포함할 수 있다. 컴퓨팅 디바이스(101)는 네트워크 통신 성능들을 가능하게 하기 위한 다양한 조합들의 추가적인 네트워크 인터페이스들(113)을 포함할 수 있다. 추가적으로, 네트워크 인터페이스들(113)은, 컴퓨팅 디바이스(101)가 네트워크의 범위(range) 내에 있거나 또는 컴퓨팅 디바이스(101)가 네트워크와 통신하고 있는 네트워크들(108)에 대한 정보를 제공할 수 있다. 이러한 센서들 및/또는 인터페이스들 중 임의의 것이 CPU(103)와 통신하는 단일 모듈, 칩셋, 및/또는 마더보드(motherboard) 내에 통합될 수 있다는 것이 이해되어야 한다.
컴퓨팅 디바이스(101)는 또한 CPU(103)에 의해 실행되거나 및/또는 이에 의해 액세스가능한 소프트웨어 어플리케이션들 및/또는 다른 데이터를 저장할 수 있는 하나 이상의 메모리(115) 디바이스들을 포함할 수 있다. 본 발명의 실시예에 있어, 메모리(115)는, 컴퓨팅 디바이스(101)와 연관된 사용자의 거동(behavior)들에 대응하는 사용자 시그니처(user signature)(117)뿐만 아니라 컴퓨팅 디바이스(101)에 의해 실행되는 사용자 신원 로직(user identity logic)(116)을 포함할 수 있다. 일부 실시예들에 있어, 사용자 신원 로직(116)은 컴퓨팅 디바이스(101) 내에 통합된 프로세싱 회로부로 구현될 수 있다.
다시 말해서, 메모리(115)는 다양한 실시예들에 따라 컴퓨터 디바이스(101) 내에서 실행되는 다양한 어플리케이션들 및/또는 다른 기능성을 포함한다. 컴퓨팅 디바이스(101) 상에서 실행되는 컴포넌트들은, 예를 들어, 사용자 신원 로직(116), 및 본 명세서에서 상세하게 논의되지 않는 다른 어플리케이션들, 서비스들, 프로세스들, 시스템들, 엔진들, 또는 기능성을 포함한다. 사용자 신원 로직(116)은 컴퓨팅 디바이스(101)와 연관된 사용자에 대응하는 사용자 시그니처(117)를 생성하도록 구성된다. 일부 실시예들에 있어, 컴퓨팅 디바이스(101)는, 본 명세서에서 설명되는 바와 같은 사용자 시그니처(117) 및 그것의 다양한 특질(dimension)들을 저장할뿐만 아니라 사용자 신원 로직(116)의 단계들을 수행하도록 구성된, 디지털 로직 또는 임의의 다른 회로부를 포함할 수 있다. 도 1에 도시된 실시예가 단지 하나의 예에 불과하다는 것이 이해되어야 한다.
사용자 신원 로직(116)은, GNSS 칩셋(111), 자이로스코프(107), 가속도계(109), 네트워크 인터페이스(113), 또는 다른 센서들과 같은 컴퓨팅 디바이스(101) 내의 다양한 센서들 중 하나 이상으로부터 주기적으로 데이터를 획득하고, 다양한 센서들로부터의 데이터를 타임스탬프(timestamp)와 연관시킴으로써, 사용자 시그니처(117)를 생성한다. 센서들의 추가적인 예들은 키보드, 정전용량 터치스크린 입력 디바이스, 파워 및/또는 충전 연결, 환경 광 레벨 센서(ambient light level sensor), 및/또는 마이크로폰을 포함할 수 있다. 추가적으로, 다양한 센서들은 공격자가 센서들 중 하나 이상으로부터의 데이터를 대체(replace)하거나 또는 스푸핑(spoofing)하는 가능성을 감소시키기 위하여, 하나 이상의 집적된 및/또는 사유의(proprietary) 유닛들 내에 구현될 수 있다. 타임스탬프는, CPU(103)와 연관된 클럭(clock), GNSS 칩셋(111)으로부터 검색된 시간 데이터, 또는 컴퓨팅 디바이스(101)와 연관된 다른 클럭으로부터 획득될 수 있다. 이러한 방식으로, 사용자 시그니처(117)는 매일(daily), 매주, 또는 사용자와 연관된 임의의 다른 주기적인 루틴(routine)의 표현을 나타낼 수 있다. 일부 실시예들에 있어, 사용자 신원 로직(116)은 이벤트가 발생할 때 컴퓨팅 디바이스(101) 내의 다양한 센서들로부터 정보를 획득하는 이벤트 기반 아키텍처(event based architecture)를 포함할 수 있다. 즉, 컴퓨팅 디바이스(101)와 연관된 로케이션(location), 가속도, 속도, 및/또는 네트워크들의 변화를 나타내는 이벤트가 발생할 때, 사용자 신원 로직(116)은 그 이벤트와 연관된 관련 데이터를 획득하고, 그 데이터를 타임스탬프 및 사용자 시그니처(117)에 연관시킬 수 있다.
예를 들어, 사용자 신원 로직(116)은 GNSS 칩셋(111)으로부터 컴퓨팅 디바이스(101)와 연관된 주기적인 및/또는 이벤트 기반의 로케이션 데이터를 획득할 수 있다. 로케이션 데이터는 사용자 시그니처(117)의 일 부분으로서 타임스탬프와 연관될 수 있다. 이러한 방식으로, 컴퓨팅 디바이스(101)의 로케이션과 관련됨에 따라, 사용자 시그니처(117)가 사용자의 매일의 루틴을 캡처할 수 있다. 예를 들어, 컴퓨팅 디바이스(101), 및 그에 따라 사용자가 소수의 지리적 로케이션들(예를 들어, 가정, 사무실, 및 통근(commute)과 연관된 그 사이의 지점들)에 일관되게 위치되는 경우, 사용자 신원 로직(116)은 GNSS 칩셋(111)으로부터 이러한 로케이션들을 획득할 수 있고, 이들을 개별적인 타임스탬프들과 연관시킬 수 있으며, 그럼으로써 사용자의 매일의 루틴을 학습할 수 있다. 추가적으로, 사용자 신원 로직(116)은 또한 가정 및/또는 사무실 로케이션을 나타내지 않을 수 있는 사용자와 연관된 로케이션 데이터(예를 들어, 주말 동안의)를 획득하고, 로케이션 데이터를 타임스탬프와 연관시키며, 그럼으로써 사용자가 다른 로케이션들에 있을 수 있는 때에 대한 사용자의 루틴을 학습한다. 로케이션 데이터 및 대응하는 타임스탬프들은, 사용자 시그니처(117)가 지리적 로케이션에 관한 사용자의 습관적인 루틴 또는 패턴에 관한 정보를 포함하도록 하기 위하여, 사용자 시그니처(117)의 일부분으로서 저장될 수 있다.
따라서, 컴퓨팅 디바이스(101)의 로케이션이 사용자 시그니처(117) 내에 포함된 사용자의 루틴으로부터 벗어나는 경우, 사용자 신원 로직(116)은 공격자가 디바이스를 소유하고 있을 가능성이 있는(potentially) 때를 검출할 수 있다. 일부 경우들에 있어, 사용자 시그니처(117)가 패턴 또는 습관적인 루틴을 조금만 반영하거나 또는 반영하지 않을 수 있다. 이러한 시나리오에 있어, 패턴의 부재는 사용자 시그니처(117)의 독특한 특징일 수 있으며, 공격자가 갑자기 컴퓨팅 디바이스(101)의 장소에 관한 움직임들의 고정된(rigid) 패턴을 보이는 경우 ,사용자 신원 로직(116)은 공격자가 디바이스를 소유했다는 것을 검출할 수 있다.
다른 예로서, 사용자 신원 로직(116)은 자이로스코프(107)로부터 컴퓨팅 디바이스(101)와 연관된 주기적인 및/또는 이벤트 기반의 각도 방위(angular orientation)를 획득할 수 있다. 각도 방위는 사용자 시그니처(117)의 일부분으로서 타임스탬프와 연관될 수 있다. 이러한 방식으로, 컴퓨팅 디바이스의 방위와 관계됨에 따라, 사용자 시그니처(117)가 사용자의 매일의 루틴을 캡처할 수 있다. 예를 들어, 컴퓨팅 디바이스(101), 및 그에 따라 사용자가 지속적으로 특정 각도 방위들을 이용(employ)하는 경우, 사용자 신원 로직(116)은 이러한 각 방위들을 타임스탬프들과 연관시키고, 방위 데이터를 사용자 시그니처(117)의 일부분으로서 저장할 수 있다. 이러한 방식으로, 이러한 시나리오에 있어 방위 데이터와 연관된 특정 타임스탬프들이 덜 유용할 수 있다 하더라도, 디바이스가 사용될 때 사용자가 컴퓨팅 디바이스(101)를 잡는 방위와 관련됨에 따라, 사용자 신원 로직(116)이 사용자의 선호도(preference)를 학습할 수 있다. 사용자 시그니처(117)가 컴퓨팅 디바이스(101)의 각도 방위에 관한 사용자의 습관적인 루틴에 대한 정보를 포함할 수 있도록, 방위 데이터 및 대응하는 타임스탬프들이 사용자 시그니처(117)의 일부분으로서 저장될 수 있다.
다른 예로서, 사용자 신원 로직(116)은 가속도계(109)로부터 컴퓨팅 디바이스(101)와 연관된 주기적인 및/또는 이벤트 기반의 가속도 데이터를 획득할 수 있다. 가속도 데이터는 사용자 시그니처(117)의 일부분으로서 타임스탬프와 연관될 수 있다. 이러한 방식으로, 컴퓨팅 디바이스(101)의 가속도 및/또는 속도와 관련됨에 따라, 사용자 시그니처(117)는 사용자의 매일의 루틴을 캡처할 수 있다. 예를 들어, 컴퓨팅 디바이스(101), 및 그에 따라 사용자가 매일 통근시 특정 모드의 교통수단(예를 들어, 열차, 오토바이, 차량, 도보)에 의해 지속적으로 이동하는 경우, 가속도계(109)로부터의 가속도 데이터는 사용자 시그니처(117) 내에 포함되는 패턴을 보일 수 있다. 사용자 시그니처(117)가 움직임에 관하여 사용자의 습관적인 루틴 또는 패턴에 대한 정보를 포함할 수 있도록, 가속도 데이터 및 대응하는 타임스탬프들이 사용자 시그니처(117)의 일부로서 저장될 수 있다.
따라서, 가속도계(109)로부터의 가속도 데이터가 사용자 시그니처(117) 내에 반영된 패턴으로부터 벗어날 때, 사용자 신원 로직(116)은 공격자가 디바이스를 소유하고 있을 가능성이 있는 때를 검출할 수 있다. 예를 들어, 가속도 데이터가 사용자 시그니처(117) 내에 반영된 가속도들에 비하여 가속도의 변화하는 레벨들을 반영하는 경우, 사용자 신원 로직(116)은 공격자가 디바이스를 소유하고 있을 가능성이 있다는 것을 검출할 수 있다. 다른 예로서, 사용자 신원 로직(116)이 사용자 시그니처(117) 내에 반영된 가속도에 비하여 데이터의 변화하는 시간들에서의 가속도를 검출하는 경우, 사용자 신원 로직(116)은 공격자가 컴퓨팅 디바이스(101)를 소유하고 있을 가능성이 있다는 것을 유사하게 검출할 수 있다. 일부 경우들에 있어, 사용자 시그니처(117)가 패턴 또는 습관적인 루틴을 조금만 반영하거나 또는 반영하지 않을 수 있다. 이러한 시나리오에 있어, 패턴의 부재는 사용자 시그니처(117)의 독특한 특징일 수 있으며, 공격자가 갑자기 컴퓨팅 디바이스(101)의 가속도 및/또는 속도 관한 움직임들의 고정된 패턴을 보이는 경우 ,사용자 신원 로직(116)은 공격자가 디바이스를 소유했다는 것을 검출할 수 있다.
다른 예로서, 사용자 신원 로직(116)은 하나 이상의 네트워크 인터페이스들(113)로부터 컴퓨팅 디바이스(101)와 연관된 주기적인 및/또는 이벤트 기반의 네트워크 데이터를 획득할 수 있다. 네트워크 데이터는 컴퓨팅 디바이스(101)가 통신하고 있는 및/또는 범위 내에 있는 네트워크들에 관한 데이터를 나타낼 수 있다. 이러한 네트워크들이 사용자 시그니처(117)의 일부로서 타임스탬프와 연관될 수 있다. 예를 들어, 네트워크 인터페이스들(113)은 네트워크 트래픽, 대역폭 소모, 호(call) 데이터, 방문된 웹사이트들, 및 다른 네트워크 관련 데이터에 관한 데이터를 사용자 신원 로직(116)으로 제공할 수 있다. 사용자 신원 로직(116)은 이러한 네트워크 데이터의 일부 또는 전부를 사용자 시그니처(117)의 일부분으로서 타임스탬프와 연관시킬 수 있다. 이러한 방식으로, 사용자 신원 로직(116)은 네트워크 사용(usage), 사용자가 전형적으로 호들을 개시하거나 또는 수신하는 시기, 사용자의 선호 사이트들, 또는 다른 정보들에 관한 사용자의 습관들을 학습할 수 있다. 따라서, 네트워크 사용 데이터가 사용자 시그니처(117) 내에 포함된 네트워크 사용 데이터로부터 벗어나는 경우, 사용자 신원 로직(116)은 공격자가 컴퓨팅 디바이스(101)를 소유하고 있다는 것을 검출할 수 있다.
추가적인 예로서, 셀룰러 네트워크 인터페이스(113)의 경우에 있어, 네트워크 인터페이스(113)는 컴퓨팅 디바이스(101)가 통신하고 있는 또는 범위 내에 있는 셀룰러 기지국들에 관한 정보를 제공할 수 있으며, 이는 또한 타임스탬프와 연관될 수 있다. 이러한 방식으로, 사용자 신원 로직(116)은, 컴퓨팅 디바이스(101)가 이러한 기지국들과 통신하는 시각(time of day)뿐만 아니라 컴퓨팅 디바이스(101)가 전형적으로 셀룰러 네트워크에 액세스하기 위해 통신하는 기지국들에 관하여, 그들이 셀룰러 네트워크와 통신하는 방법에 관한 사용자의 루틴을 학습할 수 있다. 따라서, 셀룰러 네트워크 데이터가 사용자 시그니처(117) 내에 포함된 것으로부터 벗어나는 경우, 사용자 신원 로직(116)은 공격자가 컴퓨팅 디바이스(101)를 소유하고 있을 가능성이 있다는 것을 검출할 수 있다.
다른 예로서, 무선 근거리 네트워크 인터페이스(113)의 경우에 있어, 네트워크 인터페이스(113)는 컴퓨팅 디바이스(101)가 통신하고 있는 또는 범위 내에 있는 무선 네트워크들에 관한 정보를 제공할 수 있으며, 이는 또한 타임스탬프와 연관될 수 있다. 이러한 방식으로, 사용자 시그니처가 컴퓨팅 디바이스(101)가 통신하는 및/또는 통신 범위 내에 있는 네트워크들과 관련됨에 따라, 사용자 시그니처(117)가 사용자의 매일의 루틴을 캡처할 수 있다. 예를 들어, 컴퓨팅 디바이스(101), 및 그에 따른 사용자가 지속적으로 특정 SSID 및/또는 특정 인터넷 프로토콜 주소 및/또는 매체 액세스 제어 주소를 갖는 네트워크 디바이스를 갖는 무선 네트워크의 통신 범위 내에 있는 경우, 네트워크 인터페이스(113)로부터 수신된 데이터가 사용자 시그니처(117) 내에 포함되는 패턴을 보일 수 있다. 사용자 시그니처(117)가 네트워크 인터페이스(113)의 범위 내에 있거나 또는 이와 통신하는 네트워크들에 대한 사용자의 습관적인 루틴 또는 패턴에 관한 정보를 포함하도록 하기 위하여, 이러한 네트워크 데이터 및 대응하는 타임스탬프들이 사용자 시그니처(117)의 일부분으로서 저장될 수 있다.
따라서, 네트워크 인터페이스(113)의 범위 내에 있거나 또는 이와 통신하는 네트워크들이 사용자 시그니처(117) 내에 반영된 패턴으로부터 벗어나는 경우, 사용자 신원 로직(116)은 공격자가 디바이스를 소유하고 있을 가능성이 있는 때를 검출할 수 있다. 예를 들어, 네트워크 인터페이스(113)가 갑자기 새로운 또는 상이한 네트워크들의 범위 내에 지속적으로 있는 경우, 사용자 신원 로직(116)은 공격자가 디바이스를 소유하고 있을 가능성이 있다는 것을 검출할 수 있다. 다른 예로서, 사용자 신원 로직(116)이 사용자 시그니처(117) 내에 반영된 네트워크에 비하여 데이터의 변화하는 시간들에서 네트워크들을 검출하는 경우, 사용자 신원 로직(116)은 유사하게 공격자가 컴퓨팅 디바이스(101)를 소유하고 있을 가능성이 있다는 것을 검출할 수 있다. 일부 경우들에 있어, 사용자 시그니처(117)가 패턴 또는 습관적인 루틴을 조금만 반영하거나 또는 반영하지 않을 수 있다. 이러한 시나리오에 있어, 패턴의 부재가 사용자 시그니처(117)의 독특한 특징일 수 있으며, 사용자 신원 로직(116)은, 공격자가 갑자기 컴퓨팅 디바이스(101)의 범위 내에 있거나 또는 이와 통신하는 네트워크들과 관련하여 고정된 패턴을 보이는 경우, 공격자가 디바이스를 소유하고 있을 가능성이 있다는 것을 검출할 수 있다.
다른 예로서, 사용자 신원 로직(116)은 입력 디바이스(105)로부터의 컴퓨팅 디바이스(101)와 연관된 주기적인 및/또는 이벤트 기반의 사용자 입력 데이터를 획득할 수 있다. 사용자 입력 데이터는 사용자 시그니처(117)의 일부로서 타임스탬프와 연관될 수 있다. 이러한 방식으로, 사용자 시그니처(117)는, 사용자가 컴퓨팅 디바이스(101)의 입력 디바이스와 상호작용하는 방식의 특성을 캡처할 수 있다. 예를 들어, 컴퓨팅 디바이스(101) 및 이에 따른 사용자가 지속적으로 특정 속도로 타이핑하거나, 특정 각도들로 마우스를 움직이거나, 특정 방식으로 터치 입력 디바이스를 사용하여 제스처(gesture)들을 수행하거나, 또는 임의의 다른 사용자 입력 패턴들을 보이는 경우, 이러한 패턴들이 사용자 시그니처(117) 내에 포함될 수 있다.
따라서, 사용자 신원 로직(116)은 입력 디바이스(105)로부터의 사용자 입력 데이터가 사용자 시그니처(117) 내에 반영된 패턴으로부터 벗어나는 경우, 공격자가 디바이스를 소유하고 있을 가능성이 있는 때를 검출할 수 있다. 예를 들어, 사용자 입력 데이터가 터치 입력 디바이스와 연관된 변화하는 타이핑 속도들, 마우스 각도들, 및/또는 스와이프(swipe) 속도들을 반영하는 경우, 사용자 신원 로직(116)은 공격자가 디바이스를 소유하고 있을 가능성이 있다는 것을 검출할 수 있다. 일부 경우들에 있어, 사용자 시그니처(117)가 패턴 또는 습관적인 루틴을 조금만 반영하거나 또는 반영하지 않을 수 있다. 이러한 시나리오에 있어, 패턴의 부재가 사용자 시그니처(117)의 독특한 특징일 수 있으며, 사용자 신원 로직(116)은, 공격자가 갑자기 컴퓨팅 디바이스(101)의 입력 디바이스(105)와의 상호작용의 고정된 패턴을 보이는 경우, 공격자가 디바이스를 소유하고 있을 가능성이 있다는 것을 검출할 수 있다.
사용자 신원 로직(116)은 컴퓨팅 디바이스(101)의 센서로부터의 데이터의 이상의 유형들 중 하나 이상을 사용자 시그니처(117)의 일부분으로서 통합할 수 있다. 일부 실시예들에 있어, 사용자 시그니처(117)는 컴퓨팅 디바이스(101)의 센서들로부터 획득된 다양한 거동 데이터뿐만 아니라 대응하는 타임스탬프를 포함하는 테이블을 포함할 수 있다. 일부 실시예들에 있어, 사용자 시그니처(117)가 암호화(encrypt)될 수 있으며, 컴퓨팅 디바이스(101)와 연관된 메모리 및/또는 대용량 저장장치에 저장될 수 있다.
따라서, 사용자 신원 로직(116)은 컴퓨팅 디바이스(101) 센서들로부터 획득된 데이터에 기초하여 사용자를 인증(authenticate)할 수 있다. 일 실시예에 있어, 사용자 시그니처(117)가 컴퓨팅 디바이스(101) 내에서 생성 및 저장된다. 하나의 시나리오에 있어, 사용자가, 예를 들어, 사용자가 상호작용하는 엔터티(entity)에 의해 사용자 인증이 요청되는 트랜잭션(transaction)(예를 들어, 뱅킹(banking) 트랜잭션, 포인트 오브 세일(point of sale) 트랜잭션, 등)에 참여하는 경우, 사용자 신원 로직(116)은, 선행하는(preceding) 시간의 구간(예를 들어, 하루, 한 주, 등)과 연관된, 컴퓨팅 디바이스(101) 내의 다양한 센서들로부터 획득된 데이터로부터의 거동들을 조사할 수 있다. 이러한 시나리오에 있어, 사용자 신원 로직(116)은 인증 요청 시스템으로부터 인증 요청을 획득할 수 있다. 그 후 사용자 신원 로직(116)은 거동들이 컴퓨팅 디바이스(101) 내에 저장된 사용자 시그니처(117) 내에 포함된 거동들에서 벗어나는지 여부를 결정할 수 있다. 선행하는 시간 구간으로부터의 거동들이 사용자 시그니처(117) 내에 명시된(specified) 거동들로부터 벗어나는 경우, 사용자 신원 로직(116)은 사용자의 인증이 실패하도록 할 수 있다. 인증이 실패하는 경우, 사용자 신원 로직(116)은 실증 실패를 요청 시스템으로 송신할 수 있다.
이러한 시나리오에 있어, 사용자 신원 로직(116)은 사용자 시그니처(117)로부터의 이탈(deviation) 정도를 결정하기 위하여 선행하는 시간 구간에 대해 센서들로부터의 데이터를 조사할 수 있다. 일부 실시예들에 있어, 인증 요청은, 인증이 요구되는 트랜잭션의 중요도 레벨을 명시하는 필드를 포함할 수 있다. 트랜잭션과 연관된 중요도의 정도가 큰 경우, 사용자 신원 로직(116)은 성공적인 인증을 생성하기 위하여 선행하는 시간 구간으로부터의 거동들이 사용자 시그니처(117)에 더 밀접하게 일치할 것을 요구할 수 있다.
인증 요청이 성공했는지 또는 실패했는지 여부를 결정하기 위해, 사용자 신원 로직(116)은 사용자 시그니처(117)의 각각의 컴포넌트를 조사할 수 있고, 최근의 선행하는 시간 구간으로부터의 거동들이 사용자 시그니처(117)와 일치하는지 여부를 결정할 수 있다. 예를 들어, 사용자 신원 로직(116)은 사용자 시그니처(117)의 로케이션 기반 컴포넌트들(로케이션 및 연관된 타임스탬프들)이 선행하는 일(day), 주(week), 달(month), 등에 대해 GNSS 칩셋(111)으로부터 획득된 로케이션 데이터와 일치하는지 여부를 조사할 수 있다. 선행하는 시간 구간에 대한 로케이션 데이터가 사용자 시그니처(117) 로케이션 데이터로부터 크게 벗어나는 경우, 사용자 신원 로직(116)은 사용자의 인증이 실패하도록 하며, 인증 실패를 공표(issue)할 수 있다. 추가적으로, 사용자 신원 로직(116)은 다른 센서들(예를 들어, 입력 디바이스(105), 자이로스코프(107), 가속도계(109), 네트워크 인터페이스(113))로부터 획득된 데이터에 대하여 선행하는 시간 구간에 대해 동일한 분석을 수행할 수 있으며, 선행하는 시간 구간과 연관된 거동이 사용자 시그니처(117)로부터 벗어나는지 여부를 결정할 수 있다.
예를 들어, 사용자 신원 로직(116)은 선행하는 시간 구간 동안 컴퓨팅 디바이스(101)가 통신하는 또는 범위에 있는 네트워크들이 사용자 시그니처(117) 내에 명시된 네트워크들과 동일 또는 유사한지 여부를 조사할 수 있다. 추가적으로, 선행하는 시간 구간과 연관된 네트워크들이 사용자 시그니처(117) 내의 네트워크들과 유사한 경우에도, 사용자 신원 로직(116)은 네트워크들과 연관된 타임스탬프들이 사용자 시그니처(117) 내의 타임스탬프들의 미리 결정된 임계 시간 구간 내에 있는지 여부를 결정할 수 있다. 다시 말해서, 사용자 신원 로직(116)은 네트워크 인터페이스(113)가 동일 또는 유사한 네트워크들과 사용자 시그니처(117)에 대하여 유사한 시각에 통신하는지 여부를 결정한다.
유사하게, 사용자 신원 로직(116)은 가속도계(109) 데이터가 사용자 시그니처(117) 내에 포함된 것과 유사한지 여부를 조사할 수 있으며, 이는 컴퓨팅 디바이스(101)의 움직임들이 사용자 시그니처(117)에 대하여 유사한 속도 및/또는 가속도와 연관되었는지 여부의 표시(indication)를 제공할 수 있다. 이러한 방식으로, 컴퓨팅 디바이스(101)가 사용자 시그니처(117)에 포함된 가속도 데이터로부터 크게 벗어나는 가속도 데이터와 연관되는 경우, 사용자 신원 로직(116)은 인증이 실패하도록 하며, 인증 실패를 공표할 수 있다. 이상에서 언급된 바와 같이, 사용자 신원 로직(116)은 컴퓨팅 디바이스(101) 내의 다른 센서들로부터 획득된 데이터에 대해 유사한 분석들을 수행할 수 있다.
일부 실시예들에 있어, 사용자 시그니처(117)에 기반한 사용자의 인증이, 사용자 시그니처(117)와 연관된 컴퓨팅 디바이스(101)가 아니라 다른 디바이스에서 수행될 수 있다. 예를 들어, 사용자 신원 로직(116)은, 사용자 시그니처(117)가 원격 서버 상에 저장되도록, 암호화된 형태의 사용자 시그니처(117)를 원격 서버로 송신하도록 구성될 수 있다. 따라서, 인증 요청에 대해 선행하는 시간 구간(예를 들어, 이전 24 시간)에 대응하는 센서 데이터가 사용자 시그니처(117)에 의해 정의된(defined) 거동들에 대응하는지 여부를 결정함에 의한 인증시, 사용자 시그니처(117)의 인증이 그 때 사용자 시그니처에 대해 수행될 수 있다. 이러한 시나리오에 있어, 사용자 신원 로직(116)은 선행하는 시간 구간에 대응하는 센서 데이터를 인증을 수행하기 위한 원격 서버로 제공할 수 있다.
다음으로, 도 2를 참조하면, 다양한 실시예들에 따라 사용자 시그니처를 생성하기 위한 사용자 신원 로직(116)의 일부분의 동작의 일 예를 제공하는 순서도가 도시된다. 도 2의 순서도가 본 명세서에서 설명된 바와 같은 사용자 신원 로직(116)의 부분의 동작을 구현하기 위해 이용될 수 있는 많은 상이한 유형들의 기능적 처리 방식의 일 예를 제공할 뿐이라는 것이 이해되어야 한다. 대안으로서, 도 2의 순서도는 하나 이상의 실시예들에 따른 컴퓨팅 디바이스(101)(도 1) 내에 구현된 방법의 단계들의 일 예를 묘사하는 것으로서 간주될 수 있다.
먼저, 사용자 신원 로직(116)은, 입력 디바이스(105), 자이로스코프(107), 가속도계(109), GNSS 칩셋(111), 네트워크 인터페이스(113), 및 컴퓨팅 디바이스(101)와 연관된 임의의 다른 센서들과 같은, 컴퓨팅 디바이스(101)와 연관된 다양한 센서들 중 하나 이상으로부터 센서 데이터를 획득한다(201). 이상에서 설명된 바와 같이, 센서 데이터는 주기적으로 또는 간헐적으로 획득될 수 있으며, 및 센서들에 관해 발생하는 이벤트들에 기초하여 개별적인 센서들에 의해 제공될 수 있다. 예를 들어, GNSS 칩셋(111)이 컴퓨팅 디바이스(101)의 로케이션 및/또는 속도가 변화한 것을 검출하는 경우, GNSS 칩셋(111)은 로케이션 및/또는 속도의 변화에 대응하는 로케이션 이벤트를 생성하며, 이는 사용자 신원 로직(116)에 의해 획득될 수 있다. 다른 예로서, 네트워크 인터페이스(113)가 통신하는 또는 네트워크 인터페이스(113)가 그것의 통신 범위 내에 있는 네트워크들에 변화가 존재하는 경우, 네트워크 인터페이스(113)는, 사용자 신원 로직(116)에 의해 획득될 수 있는, 대응하는 이벤트를 생성할 수 있다. 다른 예로서, 가속도계(109)가 미리 정의된 임계를 초과하는 가속도를 검출하는 경우, 가속도 데이터가 사용자 신원 로직(116)에 의해 타임스탬프와 연관될 수 있으며, 사용자 시그니처(117)가 갱신될 수 있다. 또한, 자이로스코프(107)가 컴퓨팅 디바이스(101)의 방위의 변화를 나타내는 경우, 대응하는 이벤트가 사용자 신원 로직(116)에 의해 획득될 수 있으며, 사용자 시그니처(117) 내로 통합될 수 있다.
다음으로, 사용자 신원 로직(116)은 센서 데이터와 연관된 타임스탬프를 획득할 수 있다(203). 사용자 신원 로직(116)은 그 뒤 획득된 센서 데이터를 타임스탬프와 연관시킨다(205). 사용자 시그니처가 그 후 타임스탬프와 연관된 센서 데이터를 이용해 갱신된다(207). 다음으로, 사용자 신원 로직(116)은 사용자 시그니처(117)를 저장할 수 있다(209). 이상에서 언급된 바와 같이, 사용자 시그니처(117)는 암호화될 수 있으며, 플래시 메모리, 자기 하드 디스크, 또는 다른 저장 매체를 포함할 수 있는, 컴퓨팅 디바이스(101)와 연관된 메모리 및/또는 대용량 저장 디바이스에 저장될 수 있다.
다음으로, 도 3을 참조하면, 다양한 실시예들에 따라 사용자 시그니처(117)를 생성하기 위한 사용자 신원 로직(116)의 일부분의 동작의 일 예를 제공하는 순서도가 도시된다. 도 3의 순서도가 본 명세서에서 설명된 바와 같은 사용자 신원 로직(116)의 부분의 동작을 구현하기 위해 이용될 수 있는 많은 상이한 유형들의 기능적 처리 방식의 일 예를 제공할 뿐이라는 것이 이해되어야 한다. 대안으로서, 도 3의 순서도는 하나 이상의 실시예들에 따른 컴퓨팅 디바이스(101)(도 1) 내에 구현된 방법의 단계들의 일 예를 묘사하는 것으로서 간주될 수 있다.
먼저, 사용자 신원 로직(116)은 컴퓨팅 디바이스(101)와 연관된 다양한 센서들로부터 센서 데이터를 획득할 수 있다(301). 다음으로, 사용자 신원 로직(116)은 로케이션 이벤트가 GNSS 칩셋(111) 또는 컴퓨팅 디바이스(101) 내의 하나 이상의 다른 센서들로부터 획득될 수 있는지 여부를 결정할 수 있다(303). 로케이션 이벤트가 획득될 때, 로케이션 이벤트는 타임스탬프와 연관된다(305). 로케이션 이벤트는 GNSS 칩셋(111) 또는 컴퓨팅 디바이스(101) 내의 다른 센서들에 의해 결정되는 바와 같은 컴퓨팅 디바이스의 로케이션의 변화를 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(101)의 로케이션이 미리 정의된 임계량 또는 거리만큼 변화하는 경우, GNSS 칩셋(111)은 사용자 신원 로직(116)이 컴퓨팅 디바이스(101)와 연관된 사용자 시그니처를 갱신하도록 트리거(trigger)할 수 있는 로케이션 이벤트를 생성할 수 있다.
사용자 신원 로직(116)은, 컴퓨팅 디바이스(101)의 통신 범위 내에 있는 네트워크들과 관련된 네트워크 이벤트가 네트워크 인터페이스(113)로부터 획득될 수 있는지 여부를 결정할 수 있다(307). 네트워크 이벤트가 획득될 수 있는 경우, 네트워크 이벤트가 타임스탬프와 연관된다(309). 네트워크 이벤트는 컴퓨팅 디바이스(101)가 연결된 무선 또는 다른 유형의 네트워크의 신원(identity)을 포함할 수 있다. 네트워크 이벤트는, 컴퓨팅 디바이스(101)가 그것의 범위 내에 있는 무선 또는 다른 유형의 네트워크의 신원을 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(101)와 연관된 네트워크 인터페이스(113)는 컴퓨팅 디바이스(101)가 특정 네트워크에 연결될 때 이벤트를 생성할 수 있다. 사용자 신원 로직(116)은 네트워크에 관한 식별 정보(예를 들어, SSID, 피어(peer) 디바이스들의 MAC 주소들, 등)를 사용자 시그니처와 연관시킬 수 있다.
유사하게, 사용자 신원 로직(116)은 움직임 및/또는 가속 이벤트가 자이로스코프(107), 가속도계(109) 및/또는 GNSS 칩셋(111)으로부터 획득될 수 있는지 여부를 결정할 수 있고(311), 움직임을 타임스탬프와 연관시킬 수 있다(313). 예를 들어, 사용자 신원 로직(116)은 GNSS 칩셋(111)으로부터 속도 데이터를 획득할 수 있고, 가속도계(109)로부터 가속도 데이터를 획득할 수 있으며, 자이로스코프(107)로부터 방위 데이터를 획득할 수 있고, 움직임 데이터의 이러한 유형들 중 임의의 것을 사용자 시그니처와 연관시킬 수 있다.
이러한 점에 있어, 로케이션 이벤트, 네트워크 이벤트, 및/또는 움직임 이벤트의 검출은 모바일 디바이스를 소유할 수 있는 사용자와 연관된 거동 검출의 다양한 형태들이다. 이러한 방식으로, 사용자 신원 로직(116)은 모바일 디바이스와 연관된 하나 이상의 거동들을 검출하고, 검출된 거동들에 기초하여 사용자 시그니처를 생성한다. 사용자 신원 로직(116)은 그 뒤 검출된 이벤트 및 사용자 신원 로직(116)에 의해 생성된 대응하는 타임스탬프에 관한 데이터를 이용해 컴퓨팅 디바이스(101)와 연관된 사용자 시그니처(117)를 갱신할 수 있다(315). 이러한 방식으로, 사용자 신원 로직(116)은 다양한 시각들 동안의 사용자의 거동에 적어도 부분적으로 기초하여 사용자 시그니처를 전개(develop) 및 갱신할 수 있다. 사용자 신원 로직(116)은 그 후 컴퓨팅 디바이스에 저장된 사용자 시그니처(117)를 갱신할 수 있다(317).
다음으로, 도 4를 참조하면, 다양한 실시예들에 따라 사용자 시그니처(117)를 생성하기 위한 사용자 신원 로직(116)의 일부분의 동작의 일 예를 제공하는 순서도가 도시된다. 도 4의 순서도가 본 명세서에서 설명된 바와 같은 사용자 신원 로직(116)의 부분의 동작을 구현하기 위해 이용될 수 있는 많은 상이한 유형들의 기능적 처리 방식의 일 예를 제공할 뿐이라는 것이 이해되어야 한다. 대안으로서, 도 4의 순서도는 하나 이상의 실시예들에 따른 컴퓨팅 디바이스(101)(도 1) 내에 구현된 방법의 단계들의 일 예를 묘사하는 것으로서 간주될 수 있다.
먼저, 사용자 신원 로직(116)은 인증 요청을 획득할 수 있다(401). 이상에서 언급된 바와 같이, 이러한 인증 요청은 컴퓨팅 디바이스(101)와 연관된 사용자의 인증을 요청하는 시스템으로부터 수신될 수 있다. 따라서, 사용자 신원 로직(116)은 그 후 요청의 수령(receipt)에 선행하는 미리 정의된 시간 구간에 대해 컴퓨팅 디바이스(101) 내의 다양한 센서들로부터 센서 데이터 및/또는 이벤트들을 검색할 수 있다(403). 예를 들어, 사용자 신원 로직(116)은 선행하는 24시간 또는 다른 시간 구간에 대한 센서 데이터를 획득할 수 있으며, 센서 데이터 내에 반영된 거동들과 사용자 시그니처를 비교할 수 있다. 이러한 방식으로, 사용자 신원 로직(116)은 사용자 시그니처(117)와 연관된 사용자가 컴퓨팅 디바이스(101)를 소유하고 있는지 여부 및 사용자의 매일의 루틴에 일치하게 디바이스를 사용해 왔는지 여부를 결정할 수 있다.
따라서, 그 뒤 사용자 신원 로직(116)은 컴퓨팅 디바이스(101)에 대응하는 사용자 시그니처(117)를 검색할 수 있다(405). 이상에서 언급된 바와 같이, 사용자 시그니처(117)는 암호화된 형태로 메모리, 플래시 메모리, 자기 저장장치, 또는 임의의 다른 저장 매체에 저장될 수 있다. 다음으로, 사용자 신원 로직(116)은 선행하는 시간 구간에 대한 센서 데이터가 사용자 시그니처(117)에 포함된 것으로부터 벗어나는지 여부를 결정할 수 있다(409). 그렇다면, 사용자 신원 로직(116)은 인증 실패를 생성할 수 있다(411). 그렇지 않다면, 사용자 신원 로직(116)은 인증 성공을 생성할 수 있으며, 사용자 시그니처(117) 및 선행하는 시간 구간으로부터의 센서 데이터와 연관된 거동들에 기초하여 사용자를 인증할 수 있다(413). 센서 데이터가 사용자 시그니처(117)로부터 벗어나는 거동을 나타내는지 또는 이에 부합하는 거동을 나타내는지 여부를 결정하기 위하여, 사용자 신원 로직(116)은 선행하는 시간 구간으로부터 컴퓨팅 디바이스(101) 내의 다양한 센서들에 의해 생성된 다양한 이벤트들을 조사할 수 있다.
예를 들어, 사용자 신원 로직(116)은, 선행하는 시간 구간 동안 컴퓨팅 디바이스(101)가 연결되었던 또는 컴퓨팅 디바이스(101)가 그것의 범위 내에 있었던 근거리 네트워크들 및/또는 광역 네트워크들을 식별하는, 네트워크 인터페이스(113)에 의해 생성된 네트워크 이벤트들을 조사할 수 있다. 선행하는 시간 구간으로부터의 네트워크들 및/또는 네트워크들과 연관된 타임스탬프들이 사용자 시그니처(117) 내에 명시된 네트워크들에 대응하지 못하는 경우, 사용자 신원 로직(116)은 인증 실패를 생성할 수 있다.
유사하게, 사용자 신원 로직(116)은 선행하는 시간 구간 동안의 로케이션 및/또는 움직임 데이터뿐만 아니라 로케이션 및/또는 움직임 데이터와 연관된 타임스탬프들을 조사할 수 있다. 예를 들어, 선행하는 시간 구간 동안의 로케이션 및/또는 움직임 데이터가 사용자 시그니처(117)에 의해 명시되는 것들과 다른 로케이션 및/또는 움직임을 나타내는 경우, 사용자 신원 로직(116)은 인증 실패를 생성할 수 있다. 예를 들어, 로케이션 데이터는, 컴퓨팅 디바이스(101)가 사용자 시그니처(117)로부터 벗어난 로케이션 및/또는 움직임을 보이고 있었다는 것을 나타낼 수 있다. 이러한 시나리오에 있어, 인증 실패가 생성될 수 있다. 반면, 로케이션 및/또는 움직임 데이터가 사용자 시그니처(117)에 의해 명시된 것과 부합하는 경우 또는 사용자 시그니처(117)에 의해 명시된 데이터의 미리 정의된 임계 범위 내에 있는 경우, 사용자 신원 로직(116)은 인증 성공을 생성할 수 있다.
일부 실시예들에 있어, 사용자 신원 로직(116)은 인증 요청과 연관된 인증 레벨을 식별할 수 있다. 예를 들어, 인증을 요청하는 엔터티는 인증이 요구되는 트랜잭션의 중요도에 기초하여 다양한 레벨의 인증을 요청할 수 있다. 따라서, 사용자 시그니처에 기초하여 사용자를 인증함에 있어, 사용자 신원 로직(116)은, 인증 요청에 지시된 인증 레벨에 따라, 사용자 시그니처에 의해 명시된 거동들로부터 선행하는 시간 구간으로부터의 거동들의 이탈의 상이한 레벨들을 허용할 수 있다. 예를 들어, 인증 요청이 엄격한 또는 높은 레벨의 인증을 요구하는 경우, 사용자 신원 로직(116)은 사용자 시그니처에 의해 명시된 거동들로부터 선행하는 시간 구간으로부터의 거동들의 더 적은 정도의 이탈을 허용할 수 있다. 인증 요청이 더 낮은 레벨의 인증을 요구하는 경우, 사용자 신원 로직(116)은 사용자 시그니처에 의해 명시된 거동들로부터 선행하는 시간 구간으로부터의 거동들의 더 많은 정도의 이탈을 허용할 수 있다.
도 2 내지 도 4의 순서도들은 본 발명의 다양한 실시예들에 따른 컴퓨팅 디바이스(101)에 의해 실행되는 사용자 신원 로직(116)의 기능성 및 동작을 도시한다. 소프트웨어로 구현되는 경우, 각각의 블록은 지정된 논리적 기능(들)을 구현하기 위한 프로그램 명령들을 포함하는 코드의 부분, 세그먼트, 또는 모듈을 나타낼 수 있다. 프로그램 명령들은, 프로그래밍 언어로 작성된 인간-판독가능 구문(statement)들을 포함하는 소스 코드, 또는 프로세서와 같은 적절한 실행 시스템에 의해 인식될 수 있는 수치적인 명령들을 포함하는 기계 코드의 형태로 구현될 수 있다. 기계 코드는 소스 코드, 등으로부터 변환될 수 있다. 하드웨어로 구현되는 경우, 각각의 블록은 지정된 논리적 기능(들)을 구현하기 위한 회로 또는 복수의 상호연결된 회로들을 나타낼 수 있다.
도 2 내지 도 4의 순서도들이 실행의 특정 순서를 도시하고 있지만, 실행의 순서가 도시된 것과 상이할 수 있다는 것이 이해되어야 한다. 예를 들어, 2 이상의 블록들의 실행 순서가 도시된 순서에 비해 혼합될 수 있다. 또한, 도 2 내지 도 4의 순서도들 내에서 연속으로 도시된 2 이상의 블록들이 동시에 또는 부분적으로 동시에 실행될 수 있다. 또한, 일부 실시예들에 있어, 도 2 내지 도 4의 순서도들에 도시된 블록들 중 하나 이상이 스킵(skip)되거나 또는 생략(omit)될 수 있다. 이에 더하여, 임의의 수의 카운터들, 상태 변수들, 경고 세마포(semaphore)들, 또는 메시지들이, 향상된 유용성, 회계(accounting), 성능 측정, 또는 트러블슈팅 보조(troubleshooting aid)들의 제공, 등의 목적들을 위하여, 본 명세서에서 설명된 로직 흐름에 부가될 수 있다. 이러한 모든 변형예들이 본 발명의 범위 내에 있음이 이해되어야 한다.
또한, 컴퓨팅 디바이스(101) 내에서 실행되는 임의의 것을 포함하는, 소프트웨어 또는 코드를 포함하는 본 명세서에서 설명된 임의의 로직 또는 어플리케이션은, 예를 들어, 프로세서, 디지털 로직, 및/또는 컴퓨터 시스템 또는 다른 시스템 내의 임의의 다른 회로부와 같은 명령 실행 시스템에 의해 또는 이와 함께 사용되기 위한 임의의 비-일시적인 컴퓨터-판독가능 매체로 구현될 수 있다. 이러한 의미에서, 로직은, 예를 들어, 컴퓨터-판독가능 매체로부터 인출(fetch)되고, 명령 실행 시스템에 의해 실행될 수 있는 명령들 및 선언들을 포함하는 구문들을 포함할 수 있다. 본 발명의 문맥에서, "컴퓨터-판독가능 매체"는, 명령 실행 시스템에 의한 사용 또는 이와 관련된 사용을 위한 본 명세서에서 설명된 코드 또는 어플리케이션을 내포(contain), 저장, 또는 유지할 수 있는 임의의 매체일 수 있다. 컴퓨터-판독가능 매체는, 예를 들어, 자기, 광, 또는 반도체 매체와 같은 다수의 물리적 매체들 중 임의의 하나를 포함할 수 있다. 적합한 컴퓨터-판독가능 매체들의 보다 구체적인 예들은, 자기 테이프들, 자기 플로피 디스켓들, 자기 하드 드라이브들, 메모리 카드들, 반도체 드라이브들, USB 플래시 드라이브들, 또는 광 디스크들을 포함할 수 있지만, 이에 한정되는 것은 아니다. 또한, 컴퓨터-판독가능 매체는, 예를 들어, SRAM(static random access memory), DRAM(dynamic random access memory), 또는 MRAM(magnetic random access memory)을 포함하는 RAM(random access memory)일 수 있다. 또한, 컴퓨터-판독가능 매체는 ROM(read-only memory), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 또는 다른 유형의 메모리 디바이스일 수 있다.
이상에서 설명된 본 발명의 실시예들이 본 발명의 원리들의 명료한 이해를 위해 진술되는 구현예들의 가능한 예들에 불과하다는 것이 강조되어야 한다. 많은 변형들 및 수정들이 본 발명의 사상 및 원리들로부터 거의 벗어나지 않고 이상에서 설명된 실시예(들)에 대하여 이루어질 수 있다. 이러한 모든 수정들 및 변형들은 다음의 청구항들에 의해 보호되며 본 발명의 범위 내에서 본 명세서에 포함되도록 의도된다.

Claims (15)

  1. 시스템의 포지션(position) 또는 움직임(movement) 중 적어도 하나를 결정하도록 구성된 적어도 하나의 센서; 및
    상기 적어도 하나의 센서와 통신하는 회로부(circuitry)로서:
    상기 적어도 하나의 센서를 사용하여, 제 1 시간 구간 동안의 상기 시스템의 사용과 연관된 적어도 하나의 거동(behavior)을 식별하고;
    상기 적어도 하나의 거동 및 상기 제 1 시간 구간과 연관된 적어도 하나의 타임스탬프(timestamp)를 생성하며;
    상기 적어도 하나의 거동 및 상기 적어도 하나의 타임스탬프에 적어도 부분적으로 기초하여 상기 제 1 시간 구간 동안의 상기 시스템의 상기 사용에 대응하는 사용자 시그니처(signature)를 생성하고;
    인증을 요청하는 시스템으로부터 상기 시스템의 사용자를 인증하기 위한 요청을 획득하며; 및
    상기 요청에 응답하여, 제 2 시간 구간 동안의 상기 시스템의 사용이 상기 사용자 시그니처에 대응되는지 여부를 결정하도록 구성된, 상기 회로부를 포함하는, 시스템.
  2. 청구항 1에 있어서,
    상기 적어도 하나의 센서는 가속도계(accelerometer)를 포함하며,
    상기 회로부는:
    상기 가속도계로부터의 데이터를 사용하여 상기 시스템의 가속도를 식별하고; 및
    상기 가속도를 상기 사용자 시그니처 내에서 상기 적어도 하나의 타임스탬프와 연관시키도록 더 구성된, 시스템.
  3. 청구항 1에 있어서,
    상기 적어도 하나의 센서는 GNSS(global navigation satellite system) 칩셋을 더 포함하며,
    상기 회로부는:
    상기 GNSS 칩셋으로부터의 데이터를 사용하여 상기 시스템의 로케이션(location)을 식별하고; 및
    상기 로케이션을 상기 사용자 시그니처 내에서 상기 적어도 하나의 타임스탬프와 연관시키도록 더 구성된, 시스템.
  4. 청구항 1에 있어서,
    상기 적어도 하나의 센서는 가속도계 및 GNSS 칩셋을 더 포함하며,
    상기 회로부는:
    상기 가속도계 및 상기 GNSS 칩셋 중 적어도 하나로부터의 데이터를 사용하여 상기 시스템의 속도(velocity)를 식별하고; 및
    상기 속도를 상기 사용자 시그니처 내에서 상기 타임스탬프와 연관시키도록 더 구성된, 시스템.
  5. 청구항 1에 있어서,
    상기 적어도 하나의 센서는 무선 네트워크 인터페이스를 더 포함하고,
    상기 회로부는:
    상기 무선 네트워크 인터페이스가 이에 대한 통신 범위 내에 있는, 적어도 하나의 네트워크를 식별하고; 및
    상기 적어도 하나의 네트워크를 상기 사용자 시그니처 내에서 상기 타임스탬프와 연관시키도록 더 구성된, 시스템.
  6. 청구항 1에 있어서,
    상기 적어도 하나의 센서는 무선 네트워크 인터페이스를 더 포함하고,
    상기 회로부는:
    상기 무선 네트워크 인터페이스가 연결된 적어도 하나의 네트워크를 식별하고; 및
    상기 적어도 하나의 네트워크를 상기 사용자 시그니처 내에서 상기 타임스탬프와 연관시키도록 더 구성된, 시스템.
  7. 삭제
  8. 청구항 1에 있어서,
    상기 회로부는, 상기 제 1 시간 구간 내의 시점(time)에서의 상기 시스템의 제 1 속도가, 상기 제 1 속도와 부합하는(correspond with) 상기 제 2 시간 구간 내의 상기 시점에 대응하는 타임스탬프와 연관된 제 2 속도에 대응하는지 여부를 결정하도록 더 구성된, 시스템.
  9. 청구항 1에 있어서,
    상기 회로부는, 상기 제 1 시간 구간 내의 시점에서의 상기 시스템의 제 1 로케이션이, 상기 제 1 로케이션과 부합하는 상기 제 2 시간 구간 내의 상기 시점에 대응하는 타임스탬프와 연관된 제 2 로케이션에 대응하는지 여부를 결정하도록 더 구성된, 시스템.
  10. 청구항 1에 있어서,
    상기 회로부는, 상기 제 1 시간 구간 내의 시점에서의 상기 시스템의 통신 범위 내의 제 1 네트워크가, 상기 제 1 네트워크에 부합하는 상기 제 2 시간 구간 내의 상기 시점에 대응하는 타임스탬프와 연관된 상기 시스템의 통신 범위 내의 제 2 네트워크에 대응하는지 여부를 결정하도록 더 구성된, 시스템.
  11. 적어도 하나의 회로를 이용하여, 적어도 하나의 센서로부터의 데이터를 사용하여 제 1 시간 구간 동안의 컴퓨팅 디바이스의 사용과 연관된 적어도 하나의 거동을 식별하는 단계;
    상기 적어도 하나의 회로를 이용하여, 상기 적어도 하나의 거동 및 상기 제 1 시간 구간과 연관된 적어도 하나의 타임스탬프를 생성하는 단계;
    상기 적어도 하나의 회로를 이용하여, 상기 적어도 하나의 거동 및 상기 적어도 하나의 타임스탬프에 적어도 부분적으로 기초하여 상기 제 1 시간 구간 동안의 상기 컴퓨팅 디바이스의 상기 사용에 대응하는 사용자 시그니처를 생성하는 단계;
    인증을 요청하는 시스템으로부터 상기 컴퓨팅 디바이스의 사용자를 인증하기 위한 요청을 획득하는 단계;
    상기 요청에 응답하여, 제 2 시간 구간 동안의 상기 컴퓨팅 디바이스의 사용이 상기 사용자 시그니처에 대응되는지 여부를 결정하는 단계; 및
    상기 제 2 시간 구간 동안의 상기 컴퓨팅 디바이스의 상기 사용이 상기 사용자 시그니처에 따른 상기 제 1 시간 구간 동안의 상기 컴퓨팅 디바이스의 상기 사용에 대응할 때 상기 사용자를 인증하는 단계를 포함하는, 방법.
  12. 청구항 11에 있어서,
    상기 적어도 하나의 센서는 가속도계를 포함하며,
    상기 적어도 하나의 거동을 식별하는 단계는:
    상기 가속도계로부터의 데이터를 사용하여 가속도를 식별하는 단계; 및
    상기 가속도를 상기 사용자 시그니처 내에서 상기 적어도 하나의 타임스탬프와 연관시키는 단계를 더 포함하는, 방법.
  13. 청구항 11에 있어서,
    상기 적어도 하나의 센서는 GNSS 칩셋을 더 포함하며,
    상기 적어도 하나의 거동을 식별하는 단계는:
    상기 GNSS 칩셋으로부터의 데이터를 사용하여 상기 컴퓨팅 디바이스의 로케이션(location)을 식별하는 단계; 및
    상기 로케이션을 상기 사용자 시그니처 내에서 상기 적어도 하나의 타임스탬프와 연관시키는 단계를 더 포함하는, 방법.
  14. 청구항 11에 있어서,
    상기 적어도 하나의 센서는 가속도계 및 GNSS 칩셋을 더 포함하며,
    상기 적어도 하나의 거동을 식별하는 단계는:
    상기 가속도계 및 상기 GNSS 칩셋 중 적어도 하나로부터의 데이터를 사용하여 상기 컴퓨팅 디바이스의 속도를 식별하는 단계; 및
    상기 속도를 상기 사용자 시그니처 내에서 상기 적어도 하나의 타임스탬프와 연관시키는 단계를 더 포함하는, 방법.
  15. 컴퓨팅 디바이스에 의해 실행될 때 상기 컴퓨팅 디바이스가 방법을 수행하게 하는 소프트웨어 프로그램을 포함하는 비-일시적인 컴퓨터-판독가능 매체에 있어서,
    상기 방법은:
    상기 컴퓨팅 디바이스를 이용하여, 적어도 하나의 센서로부터의 데이터를 사용하여 제 1 시간 구간 동안의 상기 컴퓨팅 디바이스의 사용과 연관된 거동을 식별하는 단계;
    상기 컴퓨팅 디바이스를 이용하여, 상기 제 1 시간 구간 동안의 상기 컴퓨팅 디바이스의 상기 사용에 대응하는 사용자 시그니처를 생성하는 단계;
    인증을 요청하는 시스템으로부터 상기 컴퓨팅 디바이스의 사용자를 인증하기 위한 요청을 획득하는 단계;
    상기 요청에 응답하여, 제 2 시간 구간 동안의 상기 컴퓨팅 디바이스의 사용이 상기 사용자 시그니처에 대응되는지 여부를 결정하는 단계; 및
    상기 제 2 시간 구간 동안의 상기 컴퓨팅 디바이스의 상기 사용이 상기 사용자 시그니처에 따른 상기 제 1 시간 구간 동안의 상기 컴퓨팅 디바이스의 상기 사용에 대응할 때 상기 사용자를 인증하는 단계를 포함하는, 컴퓨터-판독가능 매체.
KR1020130064676A 2012-06-05 2013-06-05 신원 풋프린트에 기초한 사용자들의 인증 KR101550747B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261655653P 2012-06-05 2012-06-05
US61/655,653 2012-06-05
US13/537,672 US8863307B2 (en) 2012-06-05 2012-06-29 Authenticating users based upon an identity footprint
US13/537,672 2012-06-29

Publications (2)

Publication Number Publication Date
KR20130136937A KR20130136937A (ko) 2013-12-13
KR101550747B1 true KR101550747B1 (ko) 2015-09-07

Family

ID=48672318

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130064676A KR101550747B1 (ko) 2012-06-05 2013-06-05 신원 풋프린트에 기초한 사용자들의 인증

Country Status (5)

Country Link
US (2) US8863307B2 (ko)
EP (1) EP2672745A1 (ko)
KR (1) KR101550747B1 (ko)
CN (1) CN103475470A (ko)
TW (1) TWI487360B (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339549B1 (en) 2010-03-23 2019-07-02 Amazon Technologies, Inc. Transaction bootstrapping to create relationships
US9965768B1 (en) 2011-05-19 2018-05-08 Amazon Technologies, Inc. Location-based mobile advertising
US20150073987A1 (en) 2012-04-17 2015-03-12 Zighra Inc. Fraud detection system, method, and device
US8863307B2 (en) 2012-06-05 2014-10-14 Broadcom Corporation Authenticating users based upon an identity footprint
US9450936B2 (en) * 2012-11-02 2016-09-20 Silverlake Mobility Ecosystem Sdn Bhd Method of processing requests for digital services
US9560027B1 (en) * 2013-03-28 2017-01-31 EMC IP Holding Company LLC User authentication
US10033737B2 (en) * 2013-10-10 2018-07-24 Harmon.Ie R&D Ltd. System and method for cross-cloud identity matching
CN105024817B (zh) * 2014-04-29 2018-11-02 中国移动通信集团湖南有限公司 一种身份认证方法及装置
US20160259926A1 (en) * 2014-05-05 2016-09-08 Sony Corporation User Authentication Based on Body Tremors
US20170280364A1 (en) * 2014-09-17 2017-09-28 Huawei Technologies Co., Ltd. Mobile Terminal Control Method and Mobile Terminal
US10262655B2 (en) * 2014-11-03 2019-04-16 Microsoft Technology Licensing, Llc Augmentation of key phrase user recognition
US9813906B2 (en) * 2014-11-12 2017-11-07 Qualcomm Incorporated Mobile device to provide enhanced security based upon contextual sensor inputs
US20160162900A1 (en) 2014-12-09 2016-06-09 Zighra Inc. Fraud detection system, method, and device
US9407754B1 (en) 2015-02-13 2016-08-02 Qualcomm Incorporated Multi-granular authentication techniques
US10216914B2 (en) 2015-08-18 2019-02-26 Richard James Hallock System, method, and apparatus for personal identification
US10037419B2 (en) 2016-07-11 2018-07-31 Richard James Hallock System, method, and apparatus for personal identification
US11102648B2 (en) 2015-08-18 2021-08-24 Proteqsit Llc System, method, and apparatus for enhanced personal identification
US9860227B2 (en) * 2015-09-11 2018-01-02 Google Llc Identifying panelists based on input interaction patterns
US11094418B2 (en) * 2015-12-31 2021-08-17 Nokia Technologies Oy Optimized biological measurement
US10027657B1 (en) 2016-07-06 2018-07-17 Wells Fargo Bank, N.A. Authentication/authorization without a password
US10864444B1 (en) 2016-08-30 2020-12-15 Wells Fargo Bank, N.A. Utilizing gaming behavior in user authentication
US10389731B2 (en) * 2016-11-22 2019-08-20 Microsoft Technology Licensing, Llc Multi-factor authentication using positioning data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070073630A1 (en) 2004-09-17 2007-03-29 Todd Greene Fraud analyst smart cookie
KR101111941B1 (ko) 2006-09-26 2012-04-06 퀄컴 인코포레이티드 무선 디바이스에 기초한 센서 네트워크

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526389B1 (en) * 1999-04-20 2003-02-25 Amdocs Software Systems Limited Telecommunications system for generating a three-level customer behavior profile and for detecting deviation from the profile to identify fraud
US8909926B2 (en) * 2002-10-21 2014-12-09 Rockwell Automation Technologies, Inc. System and methodology providing automation security analysis, validation, and learning in an industrial controller environment
TWI353748B (en) * 2003-08-18 2011-12-01 Qualcomm Inc Method and apparatus for time-based charging for b
US20050076230A1 (en) * 2003-10-02 2005-04-07 George Redenbaugh Fraud tracking cookie
US7480899B2 (en) * 2004-03-22 2009-01-20 International Business Machines Corporation Method and apparatus for autonomic test case feedback using hardware assistance for code coverage
US20050212760A1 (en) 2004-03-23 2005-09-29 Marvit David L Gesture based user interface supporting preexisting symbols
TWI353759B (en) * 2004-05-13 2011-12-01 Qualcomm Inc Synchronization of audio and video data in a wirel
US7620071B2 (en) * 2004-11-16 2009-11-17 Intel Corporation Packet coalescing
US7817983B2 (en) * 2005-03-14 2010-10-19 Qualcomm Incorporated Method and apparatus for monitoring usage patterns of a wireless device
CN101375546B (zh) * 2005-04-29 2012-09-26 甲骨文国际公司 用于欺骗监控、检测和分层用户鉴权的系统和方法
US7848765B2 (en) * 2005-05-27 2010-12-07 Where, Inc. Location-based services
US8364120B2 (en) * 2006-08-02 2013-01-29 Motorola Mobility Llc Identity verification using location over time information
US7689524B2 (en) * 2006-09-28 2010-03-30 Microsoft Corporation Dynamic environment evaluation and service adjustment based on multiple user profiles including data classification and information sharing with authorized other users
US7441429B1 (en) * 2006-09-28 2008-10-28 Narus, Inc. SIP-based VoIP traffic behavior profiling
US8359278B2 (en) * 2006-10-25 2013-01-22 IndentityTruth, Inc. Identity protection
US8272033B2 (en) * 2006-12-21 2012-09-18 International Business Machines Corporation User authentication for detecting and controlling fraudulent login behavior
US20080222706A1 (en) * 2007-03-06 2008-09-11 Martin Renaud Globally aware authentication system
WO2008122923A2 (en) * 2007-04-05 2008-10-16 International Business Machines Corporation System and method for distribution of credentials
US8176159B2 (en) * 2007-08-16 2012-05-08 Avaya Inc. Habit-based authentication
WO2009100230A1 (en) * 2008-02-07 2009-08-13 Inflexis Corporation Mobile electronic security apparatus and method
US10163113B2 (en) 2008-05-27 2018-12-25 Qualcomm Incorporated Methods and apparatus for generating user profile based on periodic location fixes
US8613064B1 (en) * 2008-09-30 2013-12-17 Symantec Corporation Method and apparatus for providing a secure authentication process
US8590021B2 (en) * 2009-01-23 2013-11-19 Microsoft Corporation Passive security enforcement
US8680995B2 (en) * 2010-01-28 2014-03-25 Honeywell International Inc. Access control system based upon behavioral patterns
US8424072B2 (en) * 2010-03-09 2013-04-16 Microsoft Corporation Behavior-based security system
US20110231225A1 (en) * 2010-03-19 2011-09-22 Visa U.S.A. Inc. Systems and Methods to Identify Customers Based on Spending Patterns
US8776171B2 (en) * 2011-03-07 2014-07-08 Ricoh Co., Ltd. Generating log with location and accelerometer history
US8800056B2 (en) * 2011-08-12 2014-08-05 Palo Alto Research Center Incorporated Guided implicit authentication
US8590018B2 (en) * 2011-09-08 2013-11-19 International Business Machines Corporation Transaction authentication management system with multiple authentication levels
US8863307B2 (en) 2012-06-05 2014-10-14 Broadcom Corporation Authenticating users based upon an identity footprint
US9300684B2 (en) * 2012-06-07 2016-03-29 Verisign, Inc. Methods and systems for statistical aberrant behavior detection of time-series data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070073630A1 (en) 2004-09-17 2007-03-29 Todd Greene Fraud analyst smart cookie
KR101111941B1 (ko) 2006-09-26 2012-04-06 퀄컴 인코포레이티드 무선 디바이스에 기초한 센서 네트워크

Also Published As

Publication number Publication date
US20130326600A1 (en) 2013-12-05
US8863307B2 (en) 2014-10-14
TW201351948A (zh) 2013-12-16
EP2672745A1 (en) 2013-12-11
CN103475470A (zh) 2013-12-25
TWI487360B (zh) 2015-06-01
US9160546B2 (en) 2015-10-13
US20150058961A1 (en) 2015-02-26
KR20130136937A (ko) 2013-12-13

Similar Documents

Publication Publication Date Title
KR101550747B1 (ko) 신원 풋프린트에 기초한 사용자들의 인증
US10462128B2 (en) Verification of both identification and presence of objects over a network
Narain et al. Inferring user routes and locations using zero-permission mobile sensors
US11184347B2 (en) Secure authentication using variable identifiers
JP2017538176A (ja) ジオフェンシング通知登録
KR101871794B1 (ko) 개인용 지오펜스
US9319379B1 (en) Methods and systems of generating a unique mobile device identifier
KR20200083527A (ko) 교차 블록체인 상호 작용을 위한 방법, 장치, 시스템, 및 전자 디바이스
US20130225196A1 (en) Geo-Fence Generation and Updating Based on Device Movement Patterns
US9817101B2 (en) Certified location for mobile devices
US9485747B1 (en) Systems and methods for acquiring location data
CN103534705A (zh) 私密和公开应用
WO2017112739A1 (en) Maintaining privacy in location-based operations
CN107018491B (zh) 位置数据的处理方法和装置
JP5764720B2 (ja) 情報処理装置、情報提供方法及びプログラム
CN104350502B (zh) 认证装置
Jemilda et al. Mobile application for college bus tracking
US20140180574A1 (en) Electronic device and method for updating rendezvous location of communication devices
US10306053B1 (en) Restricting computing devices used by vehicle operators
Narain et al. Mitigating location privacy attacks on mobile devices using dynamic app sandboxing
Tiwari et al. Location leakage from network access patterns
JP6140660B2 (ja) 端末装置、位置取得方法、及び、位置取得制御用プログラム
Pierre et al. Cross-platform mobile geolocation applications based on PhoneGap
Kasai Embedded middleware and software development kit for area-based distributed mobile cache system
US11683152B2 (en) System and method using a locally referenced blockchain

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180823

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190827

Year of fee payment: 5