KR20170120644A - 인간 또는 기계를 식별하기 위한 방법 및 시스템 - Google Patents

인간 또는 기계를 식별하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20170120644A
KR20170120644A KR1020177026468A KR20177026468A KR20170120644A KR 20170120644 A KR20170120644 A KR 20170120644A KR 1020177026468 A KR1020177026468 A KR 1020177026468A KR 20177026468 A KR20177026468 A KR 20177026468A KR 20170120644 A KR20170120644 A KR 20170120644A
Authority
KR
South Korea
Prior art keywords
human
machine
action
behavior
triggering
Prior art date
Application number
KR1020177026468A
Other languages
English (en)
Inventor
차오신 완
싱구오 웨이
송잉 린
Original Assignee
알리바바 그룹 홀딩 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알리바바 그룹 홀딩 리미티드 filed Critical 알리바바 그룹 홀딩 리미티드
Priority claimed from PCT/US2016/026624 external-priority patent/WO2016171923A1/en
Publication of KR20170120644A publication Critical patent/KR20170120644A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Social Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

인간 또는 기계를 식별하는 방법이 개시되고, 상기 방법은 현재 트리거링(triggering)된 인간 또는 기계 식별 요청을 서버로 전송하는 단계, 인간 또는 기계 식별 요청에 응답하여 서버에 의해 렌더링된 제 1 동작을 수신하는 단계로서, 제 1 동작은 인간 또는 기계를 식별하도록 구성되고 인간 또는 기계를 식별하기 위한 동작 트랙을 표현하는, 상기 제 1 동작 수신 단계, 및 제 1 동작에 응답하여 트리거링된 제 2 동작을 서버로 전송하여 미리 설정된 거동 특성 모델(behavioral characteristic model)에 기초하여 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별하는 단계를 포함한다.

Description

인간 또는 기계를 식별하기 위한 방법 및 시스템
본 출원은 모든 목적들을 위해 참고로써 본 명세서에 통합되는 2015년 4월 21일에 출원된, 명칭이 인간 또는 기계 방법 및 디바이스와 거동 특성 데이터를 수집하기 위한 방법 및 디바이스(A HUMAN OR MACHINE METHOD AND DEVICE AND A METHOD AND A DEVICE FOR COLLECTING BEHAVIORAL CHARACTERISTIC DATA)인 중화 인민 공화국 특허 출원 번호 제 201510191030.X호에 대한 우선권을 주장한다.
본 출원은 인간 또는 기계를 식별하기 위한 방법 및 시스템에 관한 것이다.
튜링 테스트(Turing test)는 기계가 생각할 수 있는지의 여부를 결정하기 위해 1950년에 앨런 튜링에 의해 고안된 테스트이다. 튜링 테스트는 기계가 인간의 지능과 등가이거나 구별가능하지 않은 지능을 나타낼 수 있는지의 여부를 테스트했다. 챕차(Completely Automated Public Turing Test to Tell Computers and Humans Apart; CAPTCHA) 테스트는 역 튜링 테스트의 유형으로서 종종 간주되고, 이는 컴퓨터에 의해 관리되어 질문에 대한 응답을 제공하는 당사자가 인간 또는 기계인지의 여부를 검출하는 테스트이다. 컴퓨터가 종종 챕차 질문에 응답할 수 없기 때문에, 질문에 대한 정확한 응답을 제공하는 당사자는 인간으로서 간주될 수 있다. 예를 들면, 컴퓨터는 인간 또는 기계가 인식하려고 시도하는 검증 코드를 포함하는 왜곡된 이미지(twisted image)를 제공한다. 검증 코드를 정확하게 인식하는 당사자는 인간인 것으로 결정된다. 검증 코드를 인식할 수 없는 당사자는 기계인 것으로 결정된다.
본 발명의 목적은 인간 또는 기계를 식별하기 위한 방법 및 시스템을 제공하는 것이다.
본 발명의 다양한 실시예들은 다음의 상세한 설명 및 첨부된 도면들에서 개시된다.
본 출원의 실시예들에서 기술 방식들을 더 분명하게 설명하기 위해, 실시예들을 설명하기 위해 필요한 도면들이 하기에 간략하게 설명된다. 확실하게, 하기에 설명된 도면들은 단지 본 출원의 일부 예들이다. 당업자는 창의적인 노력을 하지 않고 상기 도면들에 기초하여 다른 도면들을 얻을 수 있다.
도 1a는 거동 특성 모델(behavioral characteristic model)을 트레이닝(training)하기 위한 프로세스의 일 실시예의 흐름도.
도 1b는 사전 필터링된 동작 샘플들의 거동 특성 데이터의 크기를 감소시키기 위한 프로세스의 일 실시예의 흐름도.
도 1c는 제 1 거동 특성 벡터들 및 제 2 거동 특성 벡터들을 가지는 분류자를 얻기 위해 크기 감소된 거동 특성 데이터를 분류하기 위한 프로세스의 일 실시예의 흐름도.
도 2a는 인간 또는 기계를 식별하기 위한 프로세스의 일 실시예의 흐름도.
도 2b는 인간 또는 기계를 식별하기 위해 미리 설정된 거동 특성 모델을 이용하기 위한 프로세스의 일 실시예의 흐름도.
도 3은 거동 특성 데이터를 수집하기 위한 프로세스의 일 실시예의 흐름도.
도 4는 인간 또는 기계를 식별하기 위한 프로세스의 또 다른 실시예의 흐름도.
도 5a는 인간 또는 기계를 식별하기 위한 디바이스의 일 실시예의 구조적 블록도.
도 5b는 제 1 식별 모듈의 일 실시예의 구조적 블록도.
도 6a는 거동 특성 모델을 트레이닝하기 위한 디바이스의 일 실시예의 구조적 블록도.
도 6b는 크기 감소 모듈의 일 실시예의 구조적 블록도.
도 6c는 분류 모듈의 일 실시예의 구조적 블록도.
도 7은 거동 특성 데이터를 수집하기 위한 디바이스의 일 실시예의 구조적 블록도.
도 8은 인간 또는 기계를 식별하기 위한 디바이스의 또 다른 실시예의 구조적 블록도.
도 9는 인간 또는 기계를 식별하기 위한 시스템의 일 실시예의 도면.
도 10은 인간 또는 기계를 식별하기 위한 프로그래밍된 컴퓨터 시스템의 일 실시예를 도시하는 기능도.
본 발명은 프로세스; 장치; 시스템; 재료의 구성; 컴퓨터 판독가능한 저장 매체 상에 구현된 컴퓨터 프로그램 제품; 및/또는 프로세서에 결합된 메모리 상에 저장되고/되거나 그것에 의해 제공된 지시들을 실행하도록 구성된 프로세서와 같은, 프로세서를 포함하는, 다수의 방식들로 구현될 수 있다. 본 명세서에서, 상기 구현들, 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술들로서 언급될 수 있다. 일반적으로, 개시된 프로세스들의 단계들의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 서술되지 않는다면, 동작을 수행하도록 구성되는 것으로서 설명된 프로세서 또는 메모리와 같은 구성요소는 주어진 시간에서 동작을 수행하도록 임시로 구성되는 일반 구성요소 또는 동작을 수행하기 위해 제작되는 특정 구성요소로서 구현될 수 있다. 본 명세서에서 이용되는 바와 같이, 용어('프로세서')는 컴퓨터 프로그램 지시들과 같은, 데이터를 프로세싱하도록 구성된 하나 이상의 디바이스들, 회로들, 및/또는 프로세싱 코어들을 언급한다.
본 발명의 하나 이상의 실시예들의 상세한 설명은 본 발명의 원리들을 도시하는 첨부된 도면들과 함께 하기에 제공된다. 본 발명은 이러한 실시예들과 관련되어 설명되지만, 본 발명은 임의의 실시예로 제한되지 않는다. 본 발명의 범위는 단지 청구항들에 의해서만 제한되고 본 발명은 다수의 대안들, 수정들 및 등가물들을 포함한다. 다수의 특정 상세들은 본 발명의 철저한 이해를 제공하기 위해 다음의 설명에서 제시된다. 상기 상세들은 예의 목적을 위해 제공되며 본 발명은 상기 특정 상세들의 일부 또는 전부 없이 청구항들에 따라 실시될 수 있다. 명료함을 위해, 본 발명에 관련된 기술 분야들에서 공지되는 기술적 자료는 본 발명이 불필요하게 모호하게 되지 않도록 상세하게 설명되지 않았다.
본 출원은 기계 학습을 통해 트레이닝되는 거동 특성 모델을 개시하고, 거동 특성 모델을 이용하여 인간들 또는 기계들을 식별한다.
도 1a는 거동 특성 모델을 트레이닝하기 위한 프로세스의 일 실시예의 흐름도이다. 일부 실시예들에서, 프로세스(100)는 도 9의 서버(910)에 의해 구현되고 다음을 포함한다:
110에서, 복수의 동작 샘플들은 복수의 동작 샘플들의 동작 이동 속도 및 동작 임의성(operation randomness)의 정도에 기초하여 사전 필터링된다. 동작 임의성의 정도는 동작 샘플 트랙의 업 앤드 다운 플러터(up-and-down flutter)들에 대응한다.
첫째, 이 예에서, 서버는 동작 샘플들의 세트를 얻는다. 예를 들면, 서버는 데이터베이스에 저장된 기존의 운영 동작들 중 100개의 저장된 동작 샘플들을 랜덤으로 선택한다. 기존의 동작들은 서버가 이전에 응답한 이용자 제스처들, 또는 서버가 이전에 거부한 기계 거동을 포함할 수 있다. 상기 기존의 운영 동작들의 동작 샘플들(예로서, 선택된 것들)은 거동 특성 모델을 트레이닝시키기 위해 이용될 수 있다.
하기의 표 1에 도시된 동작 데이터 포맷은 기록되는 일 예시적인 데이터 포맷을 도시하고 운영 동작들과 연관된 동작 데이터를 저장하는 데이터베이스로부터 추출될 수 있다.
정보의 유형 콘텐트
장비 정보 브라우저/애플리케이션 정보, 운영 체제, 하드웨어 정보, 등.
거동 정보 마우스 이동, 마우스 클릭, 이용자가 누른 키, 등.
표 1에서의 장비 정보 필드에 관하여, 브라우저/애플리케이션 정보는 동작 샘플이 트리거링(triggering)될 때, 브라우저 또는 독립형 애플리케이션의 어떤 버전이 대응하는 동작 샘플을 위해 이용되는지에 대응할 수 있다. 동작 샘플이 트리거링되면, 운영 체제는 운영 체제의 어떤 유형 및/또는 버전 예로서, 안드로이드 6 또는 윈도우즈 10이 대응하는 동작 샘플을 위해 이용되는지를 나타낼 수 있다. 동작 샘플이 트리거링되면, 하드웨어 정보는 모바일 단말의 국제 모바일 장비 식별(IMEI) 번호 또는 대응하는 동작 샘플에 대한 컴퓨터의 인터넷 프로토콜(IP) 어드레스와 같은 정보를 표현할 수 있다. 표 1에서의 거동 정보 필드에 관하여, 동작 샘플이 트리거링되면, 마우스 이동은 대응하는 동작 샘플에 대한 마우스 커서 위치 트랙에 대응할 수 있다. 마우스 클릭이 트리거링될 때, 마우스 클릭은 대응하는 샘플에 대한 디스플레이 화면 상의 마우스의 클릭 위치 정보에 대응할 수 있다. "이용자가 누른 키"는 키들이 트리거링되었으면, 어떤 키들이 대응하는 샘플에 대해 터치화면 상에 이용자에 의해 눌러졌는지에 대응할 수 있다. 다른 실시예들에서, 상기 유형들보다 많은 동작 데이터가 서버 데이터베이스에 저장될 수 있다. 표 1은 예시적인 예들을 단지 제공한다.
추출된 동작 샘플들의 거동 특성 데이터는 표 1에서의 거동 정보 필드로부터 추출된다. 표 2는 거동 특성 데이터의 콘텐트를 도시한다:
특성 이름 특성 설명
동작 슬라이드 시간 길이 동작 샘플이 동작되고 있는 시간이 총 길이
각각의 세그먼트의 동작 슬라이드 시간 길이(T(i)) 동작 트랙을 N개의 세그먼트들로 분할함; i번째 트랙 세그먼트의 시간 길이는 T(i)임.
각각의 세그먼트의 중심 라인 편이 주파수(O(i)) 동작 트랙을 N개의 세그먼트들로 분할함; i번째 트랙 세그먼트의 중심 축으로부터의 편이들의 수는 (O(i))임.
각각의 세그먼트의 평균 편이 간격(OV(i)) 동작 트랙을 N개의 세그먼트들로 분할함; i번째 트랙 세그먼트의 중심 축으로부터의 편이들의 평균 간격은 (OV(i))임.
트리거링될 때 동작의 초기 위치(D(x,y)) 동작 트랙의 시작 지점 좌표들은 D(x,y)임.
릴리싱(releasing)될 때 동작의 단말 위치(U(x,y)) 동작 트랙의 종료 지점 좌표들은 U(x,y)임.
표 2에서, 동작 슬라이드 시간 길이는 대응하는 동작 샘플이 동작되고 있는 총 시간을 언급할 수 있다(또한, 총 동작 시간으로서 언급됨). 예를 들면, 이용자가 마우스 커서를 이동시키거나 슬라이더를 드래깅하는데 소비한 총 시간이다. 일부 실시예들에서, 시간 길이를 N개의 세그먼트들로 분할하는 것이 가능하고 N의 값들은 20부터 50까지일 수 있다. N의 또 다른 값은 실제 필요성에 기초하여 설정될 수 있다. 따라서, 각각의 세그먼트의 시간 길이(T(i))는 i번째 트랙 세그먼트의 시간 길이에 대응한다. i번째 트랙 세그먼트는 N개의 세그먼트들 중 하나를 언급한다. 각각의 세그먼트의 중심 라인 편이 주파수(O(i))는 다음과 같이 산출된다: 동작 트랙을 N개의 세그먼트들로 분할한 후에, i번째 트랙 세그먼트의 중심 축으로부터의 편이들의 수는 O(i)이고, 여기서 동작 트랙에서의 하나의 트랙 플러터 업 또는 다운은 중심 축으로부터의 하나의 편이로서 간주될 수 있고, 중심 축은 동작 트랙의 중심 축에 대응한다. 각각의 세그먼트의 평균 편이 간격(OV(i))은 다음과 같이 산출된다: 동작 트랙을 N개의 세그먼트들로 분할하고, i번째 트랙 세그먼트의 중심 축으로부터의 편이들의 평균 간격은 OV(i)이다. 여기서, 중심 축은 슬라이더의 중심에 위치되는 축을 언급한다. 동작이 트리거링되면 초기 위치(D(x,y))는 동작 트랙의 시작 지점에 대응하고, 동작이 릴리싱되면 최종 위치(U(x,y))는 동작 트랙의 종료 지점에 대응한다. 예를 들면, 이용자가 커서를 이동하기 시작할 때, 초기 위치(D(x,y))는 마우스 커서의 시작 위치에 대응할 수 있고, 이용자가 커서를 이동하는 것을 중단할 때, 최종 위치(U(x,y))는 마우스 커서의 최종 위치에 대응할 수 있다.
표 2에서의 거동 특성 데이터가 단지 예시적임에 주의한다. 게다가, 일례로서, 동작은 인간 또는 기계 식별을 위해 표 2에서 거동 특성 데이터의 하나의 유형을 선택할 수 있다. 또 다른 예에서, 동작은 인간 또는 기계 식별을 위해 표 2에서 거동 특성 데이터의 임의의 조합을 선택할 수 있다. 하나의 예에서, 동작 슬라이드 시간 길이는 단독으로 거동 특성 데이터로서 선택된다. 다른 예들에서, 각각의 세그먼트의 동작 슬라이드 시간 길이, 각각의 세그먼트의 중심 라인 편이 주파수, 또는 각각의 세그먼트의 평균 편이 간격은 거동 특성 데이터로서 선택된다. 여전히 또 다른 예에서, 동작 트리거링 초기 위치 및 동작 트리거링 단말 위치는 거동 특성 데이터로서 선택된다. 본 명세서에서 설명된 기술은 거동 특성 데이터의 유형들로 제한되지 않는다. 거동 특성 데이터 카테고리들의 양 또는 거동 특성 데이터의 선택은 프로세스(100)의 구현에 영향을 미치지 않는다.
동작 슬라이드 시간 길이는 동작 샘플의 유효 동작의 총 시간 길이에 대응한다. 각각의 세그먼트의 동작 슬라이드 시간 길이는 동작 샘플의 총 동작 시간을 몇몇 같은 세그먼트들로 분할함으로써 그리고 각각의 세그먼트의 동작 시간 길이를 산출함으로써 얻어진다. 각각의 세그먼트의 중심 라인 편이 주파수는 동작 샘플의 총 동작 시간을 몇몇 같은 세그먼트들로 분할함으로써 그리고 각각의 세그먼트에 대한 중심 라인으로부터의 동작 편이들의 수를 산출함으로써 얻어진다. 예를 들면, 동작 편이들의 수는 이용자의 마우스 포인터가 슬라이더의 중심 라인으로부터 벗어나는 간격에 기초하여 산출된다. 각각의 세그먼트의 평균 편이 간격은 동작 샘플의 총 동작 시간을 몇몇 같은 세그먼트들로 분할함으로써 그리고 각각의 세그먼트에 대한 중심 축으로부터의 동작 간격 편이를 산출함으로써 얻어진다. 동작 샘플이 트리거링(예로서, 마우스 클릭)을 겪기 시작하면 좌표들은 동작 트리거링 초기 위치에 대응할 수 있고, 동작 샘플이 트리거링을 겪는 것을 중단할 때의 좌표들은 동작 트리거링 단말 위치에 대응할 수 있다.
다음, 동작 샘플들의 거동 특성 데이터가 추출된 후에, 동작 샘플들은 동작 샘플들의 이동 속도 및 동작 임의성의 정도에 기초하여 사전 필터링된다. 동작 이동 속도는 동작 샘플의 추적 이동 속도를 나타낸다. 동작 이동 속도가 너무 빠르면(예로서, 제 1 임계치보다 큼), 또는 동작 이동 시간이 짧으면(예로서, 제 1 임계치 미만), 동작 샘플은 기계 거동으로서 고려될 수 있다. 예를 들면, 동작 이동 시간이 100ms 또는 그 미만이면, 대응하는 동작 샘플은 기계 거동으로서 간주된다. 그에 따라, 이러한 동작 샘플은 필터링 아웃된다. 동작 임의성의 정도는 동작 샘플 트랙의 업 앤드 다운 플러터들에 대응한다. 예를 들면, 동작 샘플이 기본적으로 어떠한 업 다운 플러터들도 갖지 않으면, 동작 샘플은 또한, 기계 거동으로서 간주될 것이고, 동작 샘플은 필터링 아웃될 것이다.
120에서, 서버는 주 구성요소 분석(PCA) 기술에 기초하여 사전 필터링된 동작 샘플들의 거동 특성 데이터의 크기를 감소시킨다.
사전 필터링된 동작 샘플의 거동 특성 데이터의 크기를 감소시키기 위해, 주 구성요소 분석(PCA)이 이용된다. 결과적으로, 거동 특성 데이터는 크기의 수의 감소를 갖고, 이는 후속 지원 벡터 기계(support vector machine; SVM) 분류를 용이하게 한다. PCA는 잘 공지된 데이터 마이닝(data mining) 및 통계 기술이다. 동작 슬라이드 시간 길이는 거동 특성 데이터의 크기의 일례이다.
도 1b는 사전 필터링된 동작 샘플들의 거동 특성 데이터의 크기를 감소시키기 위한 프로세스의 일 실시예의 흐름도이다. 일부 실시예들에서, 프로세스(1200)는 도 1a의 동작(120)의 일 구현이고 다음을 포함한다:
1210에서, 서버는 사전 필터링된 동작 샘플들의 거동 특성 데이터를 디미닝(de-meaning)한다.
사전 필터링된 동작 샘플들의 거동 특성 데이터가 디미닝된다. 예를 들면, 경험적 평균 벡터는 디미닝된 거동 특성 데이터를 얻기 위해 거동 특성 데이터로부터 차감된다. 예를 들면, [ai bi ci....mi]의 각각이 이용자(i)에 의해 수행된 동작의 하나의 동작 거동 벡터에 대응하고, m이 이용자(i)에 의해 수행된 하나의 동작에서의 상이한 유형들의 거동 특성들을 나타낸다고 가정한다. 거동 특성들의 예들은 표 2에 도시된다. 벡터 요소들(ai, bi, 등)은 세그먼트들의 동작 슬라이드 시간 길이, 세그먼트들의 중심 라인 편이 주파수, 등에 대응할 수 있고, 각각의 벡터 요소는 단일 값이다. 또한, 총 n명의 이용자들이 존재한다고 가정한다. 다음, n명의 이용자들에 대해 각각의 유형의 동작 거동 벡터들을 평균화함으로써,
Figure pct00001
에 관련된 벡터가 얻어진다. 그 다음, 각각의 유형의 동작 거동 벡터들의 평균은 동작 거동 벡터들을 정규화하기 위해 이용될 수 있다. 결과는 하기에 도시된 행렬(Y)이다:
Figure pct00002
1220에서, 서버는 디미닝된 거동 특성 데이터의 공분산 행렬을 산출한다.
디미닝된 거동 특성 데이터에 대한 공분산 행렬이 산출된다. 공분산 행렬은 하기의 공식(Ⅰ)에 기초하여 산출될 수 있다:
Figure pct00003
여기서, n은 이용자들의 수이고, Y는 동작(1210)에서 산출된 행렬이다.
1230에서, 서버는 표준의, 공지된 기술들을 이용하여 공분산 행렬에 기초하여 거동 특성 데이터의 공분산 고유값들 및 고유벡터들을 산출한다.
후속적으로, 동작(1220)에서 산출된 공분산 행렬(C)은 거동 특성 데이터의 공분산 고유값들 및 고유벡터들을 산출하기 위해 이용된다.
1240에서, 서버는 공분산 고유값들에 기초하여 내림 차순으로 거동 특성 데이터의 순위를 매긴다.
1250에서, 서버는 순위가 매겨진 거동 특성 데이터 중 제 1 N개의 거동 특성 데이터를 크기 감소 행렬(P)로서 선택하고, 여기서 N은 1 이상의 정수이다.
1260에서, 서버는 크기 감소 행렬에 기초하여 거동 특성 데이터의 크기를 감소시킨다.
서버는 동작(1250)의 크기 감소 행렬(P)에 기초하여, 공식("Z=PX")에 기초하여 거동 데이터의 크기를 감소시키고, 여기서 X는 동작(1210)에서의 행렬(Y)에 대응하는 로우 데이터(raw data)이며, Z는 크기 감소된 거동 특성 데이터이다.
도 1a로 되돌아오면, 130에서, 서버는 지원 벡터 기계(SVM) 기술에 기초하여, 크기 감소된 거동 특성 데이터를 분류하여 인간 거동에 관련된 제 1 거동 특성 벡터들 및 기계 거동에 관련된 제 2 거동 특성 벡터들을 가지는 분류자를 얻는다. SVM에서, 분류자는 상이한 유형들의 입력 벡터들을 분리하는 최적의 초평면을 얻기 위해 트레이닝 데이터(예로서, 인간 거동 또는 기계 거동으로서 라벨링(labeling)되는 거동 특성 벡터들)에 기초하여 트레이닝된다. 일단 분류자가 트레이닝되면, 라벨링되지 않은 크기 감소된 거동 특성 데이터는 라벨링될(또는 동등하게, 분류될) 트레이닝된 분류자로 입력될 수 있다. 트레이닝을 수행하고 SVM을 구현하는 방법은 도 1c와 관련되어 하기에 설명된다.
동작(120)에서 수행된 크기 감소에 이어서, 서버는 SVM에 기초하여 크기 감소된 거동 특성 데이터를 분류하고 따라서, 2개의 유형들의 거동 특성 데이터를 얻는다. 하나의 유형의 거동 특성 데이터는 인간 거동에 따르고 인간 거동으로서 분류되는 거동 특성 데이터에 대응한다. 다른 유형은 기계 거동에 따르고 기계 거동으로서 분류되는 거동 특성 데이터에 대응한다.
도 1c는 제 1 거동 특성 벡터들 및 제 2 거동 특성 벡터들을 가지는 분류자를 얻기 위해 크기 감소된 거동 특성 데이터를 분류하기 위한 프로세스의 일 실시예의 흐름도이다. 일부 실시예들에서, 프로세스(1300)는 도 1a의 130의 일 구현이고 다음을 포함한다:
1310에서, 서버는 매핑 함수에 기초하여 크기 감소된 거동 특성 데이터를 더 고차원의 공간 상에 투사한다. 매핑 함수의 일례는 커널 함수이다.
여기서 이용되는 커널 함수는 가우시안 커널 함수이다. 가우시안 커널 함수는 공식(Ⅱ)로 도시된 바와 같다:
Figure pct00004
가우시안 커널 함수 기반 분류 함수는 공식(Ⅲ)로 도시된 바와 같다:
Figure pct00005
1320에서, 서버는 투사된 거동 특성 데이터의 샘플 데이터에 기초하여 지원 벡터 기계들을 트레이닝한다.
샘플 데이터가 세트({Xi, Zi})에 대응하고, 여기서 Xi는 거동 특성 데이터이고, Zi는 {-1, 1}이고, 여기서 -1은 거동 특성 벡터에 대응하는 동작 샘플이 기계 동작임을 나타내며, 1은 거동 특성 벡터에 대응하는 동작 샘플이 인간 동작임을 나타냄을 가정한다. 로지스틱 회귀(logistic regression)와 같은 공지된 기술들은 분류자의 트레이닝을 수행하기 위해 이용될 수 있다.
1330에서, 서버는 트레이닝 결과들을 인간 동작들 및 기계 동작들에 대한 분류자로서 저장한다.
동작(1320)을 수행한 후에, 서버는 α, b, 및 지원 벡터들을 포함하는 최적 분류 초평면을 얻고 최적 분류 초평면을 인간 동작들 및 기계 동작들에 대한 분류자로서 저장하여 후속적으로 수집된 거동 특성 데이터의 이진화된 분류를 용이하게 할 수 있다.
일부 실시예들에서, 크기 감소된 거동 특성 데이터의 분류는 크기 감소된 거동 특성 데이터를 이진화하여(예로서, 사실 또는 거짓, 1 또는 0, 등) 크기 감소된 거동 특성 데이터의 이진화된 이미지를 얻는 단계, 이진화된 이미지로부터 크기 감소된 거동 특성 데이터의 이진화된 특성들을 추출하는 단계, SVM 포맷에 기초하여 이진화된 특성들을 포맷하여 포맷된 이진화된 특성들을 얻는 단계, 및 미리 설정된 SVM 파라미터들에 기초하여, 포맷된 이진화된 특성들을: 인간 거동에 따르는 제 1 거동 특성 데이터 및 기계 거동에 따르는 제 2 거동 특성 데이터로 분류하는 분류자를 트레이닝하는 단계를 포함한다.
거동 특성 모델을 위한 트레이닝 프로세스의 개시를 완료한 후에, 인간 또는 기계 식별 프로세스가 수행될 수 있다. 도 2a는 인간 또는 기계를 식별하기 위한 프로세스의 일 실시예의 흐름도이다. 일부 실시예들에서, 프로세스(200)는 도 9의 서버(910)에 의해 구현되고 다음을 포함한다:
210에서, 인간 또는 기계 식별 요청이 클라이언트로부터 수신되면, 서버는 디스플레이될 클라이언트로 전송될 인간 또는 기계를 식별하기 위한 제 1 동작을 렌더링(rendering)한다.
프로세스(200)는 인간 또는 기계를 식별하고 서버에 접속된 클라이언트들에 의해 제출된 동작들에 관해 인간 또는 기계를 식별하기 위한 서버에 적용될 수 있다. 일부 실시예들에서, 알리페이(Alipay) 예를 이용하여, 이용자들에 의한 알리페이 지갑의 이용은 종종 계좌 이체들 또는 지불들과 같은 통화 운용들을 수반한다. 따라서, 일부 실시예들에서, 클라이언트에 의해 제출된 동작이 인간 이용자 또는 기계에 의해 수행되었는지의 여부를 식별하는 것이 수행될 것이다. 기계에 의해 제출된 동작이 이용자인 체하는 것과 같은 악의적인 프로그램에 의한 가능성이 있기 때문에 식별이 수행될 것이다. 일부 실시예들에서, 클라이언트가 계좌 이체 동작을 제출한 후에, 서버는 인간 또는 기계를 식별하기 위한 제 1 동작을 제공한다. 예를 들면, 이용자가 동작(예로서, 제 1 동작)을 수행하도록 요구하는 동작 트랙은 디스플레이될 클라이언트로 전송된다. 예를 들면, 계좌 이체 동작은 인간 또는 기계 식별 요청의 하나의 유형이다. 물론, 클라이언트에 의해 제출된 동작들이 인간 또는 기계 식별 요청들이라고 미리 설정하는 것이 가능하다. 클라이언트에 의해 제출된 동작이 인간 또는 기계 식별 요청에 대응할 때, 제 1 동작이 렌더링되고, 제 1 동작은 디스플레이될 클라이언트로 전송된다.
일부 실시예들에서, 웹(개인용 컴퓨터(PC) 웹 페이지들 및 모바일 단말 브라우저 웹 페이지들을 포함할 수 있음)의 경우에, 대화형 동작은 디스플레이될 서버 상에서 자바스크립트에 의해 렌더링될 수 있다. 모바일 단말들 상에서 이용자들에 의해 이용된 무선 앱들의 일례(안드로이드 운영 체제들 및 iOS 시스템들 하에서 애플리케이션 시나리오들을 포함할 수 있음)에서, 대화형 동작들은 디스플레이될 서버 상에서 자바(안드로이드) 또는 오브젝티브(Objective) C(iOS)에 의해 렌더링될 수 있다. 하나의 예에서, 트랙(예로서, 라인, 바, 등)은 이용자에 디스플레이되고, 이용자가 그가 인간임을 증명하기 위해 수행되도록 요구되는 대화형 동작은 트랙을 "잠금해제"하기 위해 터치화면 상의 트랙에 걸쳐 그의 손가락을 슬라이딩하거나 디스플레이 상의 트랙에 걸쳐 마우스 커서를 이동시키는 것을 포함한다. 또 다른 예에서, 트랙, 볼, 및 바스켓(basket)은 이용자에 디스플레이되고, 이용자가 인간임을 증명하기 위해 수행될 대화형 동작은 볼을 트랙 다음의 바스켓으로 드레깅하는 것을 포함한다.
220에서, 서버는 클라이언트에 의해 현재 제출되고 제 1 동작에 의해 묘사된 동작 트랙에 기초하여 트리거링되는 제 2 동작을 수신한다.
서버가 제 1 동작을 디스플레이될 클라이언트로 전송한 후에, 서버는 그 다음, 클라이언트에 의해 제출되고 제 1 동작에 의해 제공된 동작 트랙을 시뮬레이팅(simulating)하는 이용자 또는 기계에 의해 트리거링되거나 수행된 제 2 동작을 수신하기 위한 것이다. 서버는 제 2 동작을 위한 트리거링 개체(즉, 제 2 동작을 수행했고 제 2 동작과 연관된 데이터로 하여금 서버로 전송되게 한 당사자)가 제 2 동작의 거동 특성들에 기초하여 인간 또는 기계인지의 여부를 결정한다.
230에서, 서버는 미리 트레이닝된 거동 특성 모델에 기초하여 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별한다. 일부 실시예들에서, 거동 특성 모델은: 동작 샘플들에 기초하여 트레이닝되는 인간 동작들 및 기계 동작들에 대한 분류자에 대응한다.
도 2b는 인간 또는 기계를 식별하기 위해 미리 설정된 거동 특성 모델을 이용하기 위한 프로세스의 일 실시예의 흐름도이다. 일부 실시예들에서, 프로세스(2300)는 도 2a의 동작(230)의 일 구현이고 다음을 포함한다:
2310에서, 서버는 제 2 동작의 식별될 거동 특성 데이터를 추출한다.
서버가 클라이언트에 의해 제출된 제 2 동작을 수신한 후에, 서버는 먼저, 제 2 동작으로부터 제 2 동작의 거동 특성 데이터를 추출한다. 식별될 거동 특성 데이터의 추출은 도 1a의 프로세스(100)에서 수행된 거동 특성 데이터의 추출과 유사한 방식으로 수행될 수 있다. 거동 특성 모델에 대한 동작 샘플들은 거동 특성 데이터가 추출될 방법을 도시한다. 후속 제 2 동작은 또한, 동일한 접근법을 이용하여 식별될 거동 특성 데이터를 제공할 수 있다.
2320에서, 서버는 식별될 거동 특성 데이터가 식별될 거동 특성 데이터를 거동 특성 모델에 적용함으로써 인간 동작 또는 기계 동작에 따르는지의 여부를 결정한다.
2330에서, 식별될 거동 특성 데이터가 인간 동작에 따르면, 서버는 제 2 동작의 트리거링 개체가 인간이라고 결정한다.
그 다음, 서버는 동작(2310)에서 추출된 거동 특성 데이터가 거동 특성 모델에서의 제 1 거동 특성 데이터 또는 거동 특성 모델에서의 제 2 거동 특성 데이터인지의 여부를 결정한다. 추출된 거동 특성 데이터가 제 1 거동 특성 데이터에 대응하면, 서버는 추출된 거동 특성 데이터가 인간 동작에 관한 것이라고 결정한다. 그에 따라, 제 2 동작을 위한 트리거링 개체는 인간인 것으로 결정된다.
2340에서, 식별될 거동 특성 데이터가 기계 동작에 관한 것이면, 서버는 제 2 동작의 트리거링 개체가 기계라고 결정한다.
식별될 거동 특성 데이터가 제 2 거동 특성 데이터에 대응하면, 서버는 추출된 거동 특성 데이터가 기계 동작에 대응한다고 결정한다. 그에 따라, 제 2 동작을 위한 트리거링 개체는 기계인 것으로 결정된다.
도 2a를 다시 참조하면, 240에서, 인간 또는 기계 식별의 결과가 기계이면, 서버는 기계에 의해 후속적으로 전송된 액세스 요청들을 거부한다.
250에서, 인간 또는 기계 식별의 결과가 인간이면, 서버는 클라이언트를 통해 인간에 의해 후속적으로 전송된 액세스 요청들에 응답한다.
서버가 제 2 동작을 위한 트리거링 개체를 인간으로서 식별하면, 서버는 이용자에 의해 후속적으로 전송된 액세스 요청들에 정상적으로 응답할 수 있다. 일례로서, 서버가 제 2 동작을 위한 트리거링 개체를 기계로서 식별하면, 서버는 현재 액세스 요청을 악의적인 공격들 또는 보안 문제들에 가능하게 관련된 것으로서 고려하기 위한 것이다. 서버는 기계에 의해 후속적으로 발행된 액세스 요청들을 거부하고 따라서, 증가된 네트워크 보안을 성취할 수 있다.
일부 실시예들에서, 서버가 인간 또는 기계를 식별하기 위한 것일 때, 서버는 인간 또는 기계 식별을 위해 제 1 동작을 수행하기 위한 요청을 디스플레이될 클라이언트로 전송한다. 이 제 1 동작은 예를 들면, 인간 또는 기계를 식별하기 위해 이용되는 동작 트랙을 보여줄 수 있다. 그 다음, 서버가 클라이언트에 의해 제출되었고 제 1 동작에 기초하여 트리거링된 제 2 동작을 수신한 후에, 서버는 제 2 동작을 위한 트리거링 개체가 사전 트레이닝된 거동 특성 모델에 기초하여 인간 또는 기계인지의 여부를 식별한다. 즉, 서버는 제 2 동작을 위한 트리거링 개체가 인간 또는 기계인지의 여부를 결정한다. 예를 들면, 이용자들이 마우스 동작들 또는 트리거링 동작들을 수행할 때, 이용자들은 그 자신의 특성들을 갖는다. 예를 들면, 이용자들은 특정 속도에 기초하여 스와이핑(swiping)하는 것에 익숙하고, 스와이핑 프로세스 동안 떨리는 것을 회피할 수 없고, 등이다. 따라서, 클라이언트에 의해 제출된 제 2 동작 거동 특성 데이터는 제 2 동작이 인간 또는 기계에 의해 트리거링되었는지의 여부를 결정하기 위해 이용될 수 있다. 따라서, 인간 또는 기계를 식별하기 위한 프로세스(200)는 종래의 프로세스들보다 정확할 수 있고 따라서, 기계 액세스 요청들을 거부함으로써 네트워크 보안을 또한 증가시킬 수 있지만, 프로세스(200)는 또한, 더 양호한 이용자 경험들을 제공할 수 있는데, 이는 이용자가 제 1 동작에 기초하여 제 2 동작을 직접적으로 수행할 수 있기 때문이다.
도 3은 거동 특성 데이터를 수집하기 위한 프로세스의 일 실시예의 흐름도이다. 일부 실시예들에서, 프로세스(300)는 도 9의 클라이언트(920)에 의해 구현되고 다음을 포함한다:
클라이언트는 앱, 개인용 컴퓨터(PC) 애플리케이션, 브라우저, 디바이스, 등을 포함할 수 있다.
310에서, 클라이언트는 현재 트리거링된 인간 또는 기계 식별 요청을 서버로 전송한다.
클라이언트는 현재 트리거링된 거동 특성 데이터 즉, 제 2 동작을 수집한다. 첫째, 인간 또는 기계의 식별을 요구하는 일부 대화형 프로세스들(예로서, 쇼핑 카트 확인 프로세스)에서, 클라이언트가 이용자에 의해 트리거링된 대화형 요청 예로서, 지불 동작을 수신하면, 클라이언트는 현재 트리거링된 인간 또는 기계 식별 요청을 서버로 전송할 수 있다.
320에서, 클라이언트는 인간 또는 기계 식별 요청에 응답하여 서버에 의해 렌더링된 제 1 동작을 수신하고, 제 1 동작은 인간 또는 기계를 식별하고 동작 트랙을 표현하기 위해 이용된다.
서버가 클라이언트에 의해 전송된 인간 또는 기계 식별 요청을 수신한 후에, 서버는 인간 또는 기계를 식별하기 위한 제 1 동작을 렌더링한다. 제 1 동작은 클라이언트에 의해 시뮬레이팅되거나 복제될 동작 트랙을 제공할 수 있다. 제 1 동작은 그 다음, 디스플레이될 클라이언트로 전송된다.
330에서, 클라이언트는 제 1 동작에 기초하여 트리거링된 제 2 동작을 서버로 전송하여 미리 설정된 거동 특성 모델에 기초하여 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별한다. 일부 실시예들에서, 거동 특성 모델은 동작 샘플들에 기초하여 트레이닝되는 인간 동작들 및 기계 동작들에 대한 분류자에 대응한다.
클라이언트가 제 1 동작을 디스플레이한 후에, 클라이언트는 제 1 동작에 의해 제공된 동작 트랙에 기초하여 트리거링된 제 2 동작을 서버로 전송한다. 서버는 그 다음, 미리 설정된 거동 특성 모델에 기초하여 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별할 수 있다. 일부 실시예들에서, 거동 특성 모델은 동작 샘플들에 기초하여 트레이닝되는 인간 동작들 및 기계 동작들에 대한 분류자를 포함한다.
인간 또는 기계 식별의 수행은 도 2a의 프로세스(200)에 도시되고 여기서 반복되지 않을 것이다.
일부 실시예들에서, 클라이언트는 서버에 의해 전송된 제 1 동작에 기초하여 제 2 동작을 트리거링하고, 제 1 동작은 인간 또는 기계를 식별하기 위한 동작 트랙을 제공할 수 있다. 후속적으로, 클라이언트가 제 2 동작을 제출한 후에, 서버는 사전 트레이닝된 거동 특성 모델에 기초하여 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별한다. 즉, 서버는 제 2 동작을 위한 트리거링 개체가 인간 또는 기계인지의 여부를 결정한다. 예를 들면, 이용자들이 마우스 동작들 또는 트리거링 동작들을 수행할 때, 이용자들은 그 자신의 특성들을 갖는다. 예를 들면, 이용자는 특정 속도로 화면에 걸쳐 그의 손가락을 스와이핑하는 것에 익숙하고, 스와이핑 프로세스 동안 떨림을 회피할 수 없고, 등이다. 따라서, 클라이언트에 의해 제출된 제 2 동작의 거동 특성 데이터는 제 2 동작이 인간 또는 기계에 의해 트리거링되었는지의 여부를 결정하기 위해 이용될 수 있다. 따라서, 인간 또는 기계 식별의 수행은 종래의 프로세스들에 의한 것보다 정확하게 결정될 수 있고 따라서, 기계 액세스 요청들을 거부함으로써 네트워크 보안을 증가시킬 수 있지만, 또한 이용자 경험들을 개선시킬 수 있는데, 이는 이용자가 제 1 동작에 기초하여 제 2 동작을 직접적으로 수행할 수 있기 때문이다.
도 4는 인간 또는 기계를 식별하기 위한 프로세스의 또 다른 실시예의 흐름도이다. 일부 실시예들에서, 프로세스(400)는 도 9의 독립 디바이스 또는 서버(910)에 의해 구현되고 다음을 포함한다:
410에서, 현재 트리거링된 인간 또는 기계 식별 요청이 클라이언트로부터 수신되면, 서버는 디스플레이될 클라이언트로 전송될 인간 또는 기계를 식별하기 위한 제 1 동작을 렌더링한다.
일부 실시예들에서, 인간 또는 기계를 식별하는 것이 수행될 것이고 여기서, 어떠한 네트워크도 존재하지 않는다. 따라서, 서버 또는 독립 디바이스 및 클라이언트가 상호작용할 수 없는 정확한 인간 또는 기계 식별을 보장하기 위해, 독립 디바이스들에 적용되는 인간 또는 기계를 식별하기 위한 프로세스(400)가 제공된다. 독립 디바이스는 컴퓨터, 모바일 단말, 또는 또 다른 오프라인 디바이스일 수 있다. 이 독립 디바이스는 독립 디바이스 그 자체 상에 트리거링된 동작들에 대한 거동 특성 데이터를 수집할 수 있다. 독립 디바이스는 그 다음, 독립 디바이스 그 자체 상에 저장된 사전 트레이닝된 거동 특성 모델에 기초하여 인간 또는 기계를 식별할 수 있다. 하나의 예는 그에 의해 도 2a의 동작(210)으로 설명된 바와 같은 인간 또는 기계 식별 요청의 수신 다음의 제 1 동작이 구현되는 기술이고, 간결성을 위해 또한 논의되지 않을 것이다.
420에서, 서버는 제 1 동작에 의해 표현된 동작 트랙에 기초하여 트리거링되는 제 2 동작을 수신한다.
독립 디바이스는 제 1 동작에 의해 표현된 동작 트랙을 렌더링한 후에 제 1 동작을 디스플레이할 수 있다. 제 1 동작이 시뮬레이팅되고 트리거링될 동작 트랙을 이미 제공했기 때문에, 독립 디바이스는 그 다음, 제 1 동작이 시뮬레이팅되고 트리거링된 후에 제 2 동작을 수신할 수 있다.
430에서, 서버는 미리 설정된 거동 특성 모델에 기초하여 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별한다. 일부 실시예들에서, 거동 특성 모델은 동작 샘플들에 기초하여 트레이닝되는 인간 동작들 및 기계 동작들에 대한 분류자를 포함한다.
독립 디바이스는 제 2 동작으로부터 식별될 거동 특성 데이터를 추출한다. 게다가, 사전 트레이닝된 거동 특성 모델에 관련하여, 서버는 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별한다. 일부 실시예들에서, 거동 특성 모델은: 동작 샘플들에 기초하여 트레이닝되는 인간 동작들 및 기계 동작들에 대한 분류자이다. 인간 또는 기계 동작의 식별에 관하여, 인간 또는 기계 동작의 식별은 도 2a의 프로세스(200)에서 설명되고, 간결성을 위해 또한 논의되지 않을 것이다.
일부 실시예들에서, 제 2 동작의 트리거링은 제 1 동작에 기초하여 수행되고, 제 1 동작은 인간 또는 기계의 식별을 위해 동작 트랙을 제공한다. 후속적으로, 서버는 사전 트레이닝된 거동 특성 모델에 기초하여, 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별한다. 즉, 서버는 제 2 동작을 위한 트리거링 개체가 인간 또는 기계인지의 여부를 결정한다. 예를 들면, 이용자들이 마우스 동작들 또는 트리거링 동작들을 수행하면, 이용자들은 그 자신의 특성들을 갖는다. 예를 들면, 이용자들은 특정 속도에 기초하여 스와이핑하는 것에 익숙하고, 스와이핑 프로세스 동안 떨리는 것을 회피할 수 없고, 등이다. 따라서, 제 2 동작 거동 특성 데이터는 제 2 동작이 인간 또는 기계에 의해 트리거링되었는지의 여부를 결정하기 위해 이용될 수 있다. 따라서, 인간 또는 기계의 식별은 종래의 프로세스들보다 정확하게 수행될 수 있고 따라서, 기계 액세스 요청들을 거부함으로써 네트워크 보안을 또한 증가시킬 수 있지만, 또한 이용자 경험들을 개선시킬 수 있는데, 이는 이용자가 제 1 동작에 기초하여 제 2 동작을 직접적으로 트리거링할 수 있기 때문이다.
상기 설명된 프로세스들에 관하여, 프로세스들은 일련의 동작들의 조합으로서 표현되었다. 그러나, 당업자들은 프로세스들이 설명된 동작들에 의해 제한되지 않음을 이해하는데, 이는 특정 동작들이 다른 시퀀스들로 또는 동시에 수행될 수 있기 때문이다. 또한, 당업자들은 또한, 동작들을 알아야 하고 그 안에 수반된 모듈들은 필연적으로 요구되지 않는다.
도 5a는 인간 또는 기계를 식별하기 위한 디바이스의 일 실시예의 구조적 블록도이다. 일부 실시예들에서, 디바이스(500)는 도 2a의 프로세스(200)를 수행하도록 구성되고: 제 1 렌더링 모듈(510), 제 1의 제 2 동작 수신 모듈(520), 제 1 식별 모듈(530), 거부 모듈(540), 및 응답 모듈(550)을 포함한다.
일부 실시예들에서, 클라이언트에 의해 전송된 인간 또는 기계 식별 요청에 응답하여, 제 1 렌더링 모듈(510)은 디스플레이될 클라이언트로 전송될 인간 또는 기계를 식별하기 위한 제 1 동작을 렌더링하도록 구성된다.
일부 실시예들에서, 제 1의 제 2 동작 수신 모듈(520)은 클라이언트에 의해 현재 제출되고 제 1 동작에 의해 표현된 동작 트랙에 기초하여 트리거링되는 제 2 동작을 수신하도록 구성된다.
일부 실시예들에서, 제 1 식별 모듈(530)은 미리 설정된 거동 특성 모델에 기초하여 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별하도록 구성된다. 일부 실시예들에서, 거동 특성 모델은: 동작 샘플들에 기초하여 트레이닝되는 인간 동작들 및 기계 동작들에 대한 분류자이다.
상기 설명된 모듈들은 특정 기능들 또는 그의 조합을 수행하도록 설계된 프로그래밍가능한 로직 디바이스들 및/또는 주문형 반도체(Application Specific Integrated Circuit)들과 같은 하드웨어와 같이, 하나 이상의 범용 프로세서들 상에서 실행하는 소프트웨어 구성요소들로서 구현될 수 있다. 일부 실시예들에서, 모듈들은 컴퓨터 디바이스(개인용 컴퓨터들, 서버들, 네트워크 장비, 등과 같은)로 하여금 본 발명의 실시예들에서 설명된 방법들을 구현하게 하기 위한 복수의 지시들을 포함하는, 비휘발성 저장 매체(광학 디스크, 플래시 저장 디바이스, 모바일 하드 디스크, 등과 같은)에 저장될 수 있는 소프트웨어 제품들의 형태로 구현될 수 있다. 모듈들은 단일 디바이스 상에 구현되거나 다수의 디바이스들에 걸쳐 분산될 수 있다. 모듈들의 기능들은 서로 병합되거나 또한, 다수의 서브 모듈들로 분할될 수 있다.
도 5b는 제 1 식별 모듈의 일 실시예의 구조적 블록도이다. 일부 실시예들에서, 제 1 식별 모듈(5300)은 도 5a의 제 1 식별 모듈(530)의 일 구현이고: 특성 데이터 추출 모듈(5310), 결정 모듈(5320), 인간 동작 모듈(5330), 및 기계 동작 모듈(5340)을 포함한다.
일부 실시예들에서, 특성 데이터 추출 모듈(5310)은 제 2 동작의 식별될 거동 특성 데이터를 추출하도록 구성된다.
일부 실시예들에서, 결정 모듈(5320)은 식별될 거동 특성 데이터가 인간 동작 또는 기계 동작에 따르는지의 여부를 결정하도록 구성된다.
일부 실시예들에서, 식별될 거동 특성 데이터가 인간 동작에 따르면, 인간 동작 모듈(5330)은 제 2 동작의 트리거링 개체가 인간이라고 결정하도록 구성된다.
일부 실시예들에서, 식별될 거동 특성 데이터가 기계 동작에 관한 것이면, 기계 동작 모듈(5340)은 제 2 동작의 트리거링 개체가 기계라고 결정하도록 구성된다.
도 5a를 다시 참조하면, 일부 실시예들에서, 인간 또는 기계 식별의 결과가 기계이면, 거부 모듈(540)은 기계에 의해 후속적으로 전송된 액세스 요청들을 거부하도록 구성된다.
일부 실시예들에서, 인간 또는 기계 식별의 결과가 인간이면, 응답 모듈(550)은 클라이언트를 통해 인간에 의해 후속적으로 전송된 액세스 요청들에 응답하도록 구성된다.
도 6a는 거동 특성 모델을 트레이닝하기 위한 디바이스의 일 실시예의 구조적 블록도이다. 일부 실시예들에서, 디바이스(600)는 도 1a의 프로세스(100)를 구현하도록 구성되고: 사전 필터링 모듈(610), 크기 감소 모듈(620), 및 분류 모듈(630)을 포함한다.
일부 실시예들에서, 사전 필터링 모듈(610)은 동작 샘플들의 동작 이동 속도 및 동작 임의성의 정도에 기초하여 동작 샘플들을 사전 필터링하도록 구성된다.
일부 실시예들에서, 크기 감소 모듈(620)은 주 구성요소 분석(PCA) 알고리즘에 기초하여 사전 필터링된 동작 샘플들의 거동 특성 데이터의 크기를 감소시키도록 구성된다.
일부 실시예들에서, 분류 모듈(630)은 지원 벡터 기계(SVM) 알고리즘에 기초하여 크기 감소된 거동 특성 데이터를 분류하여 인간 거동에 따르는 제 1 거동 특성 데이터 및 기계 거동에 따르는 제 2 거동 특성 데이터를 얻도록 구성된다.
도 6b는 크기 감소 모듈의 일 실시예의 구조적 블록도이다. 일부 실시예들에서, 크기 감소 모듈(6200)은 도 6a의 크기 감소 모듈(620)의 일 구현이고: 디미닝 모듈(6210), 공분산 행렬 산출 모듈(6220), 고유 파라미터 산출 모듈(6230), 내림 차순 모듈(6240), 선택 모듈(6250), 및 크기 감소 모듈(6260)을 포함한다.
일부 실시예들에서, 디미닝 모듈(6210)은 사전 필터링된 동작 샘플들의 거동 특성 데이터를 디미닝하도록 구성된다.
일부 실시예들에서, 공분산 행렬 산출 모듈(6220)은 디미닝된 거동 특성 데이터의 공분산 행렬을 산출하도록 구성된다.
일부 실시예들에서, 고유 파라미터 산출 모듈(6230)은 공분산 행렬에 기초하여 거동 특성 데이터의 공분산 고유값들 및 고유벡터들을 산출하도록 구성된다.
일부 실시예들에서, 내림 차순 모듈(6240)은 공분산 고유값들에 기초하여 내림 차순으로 거동 특성 데이터의 순위를 매기도록 구성된다.
일부 실시예들에서, 선택 모듈(6250)은 순위가 매겨진 거동 특성 데이터로부터 제 1 N개의 거동 특성 데이터를 크기 감소 행렬로서 선택하도록 구성되고, 여기서 N은 1 이상의 정수이다.
일부 실시예들에서, 크기 감소 모듈(6260)은 크기 감소 행렬에 기초하여 거동 특성 데이터의 크기를 감소시키도록 구성된다.
도 6c는 분류 모듈의 일 실시예의 구조적 블록도이다. 일부 실시예들에서, 분류 모듈(6300)은 도 6a의 분류 모듈(630)의 일 구현이고: 투사 모듈(6310), 트레이닝 모듈(6320), 및 저장 모듈(6330)을 포함한다.
일부 실시예들에서, 투사 모듈(6310)은 매핑 함수에 기초하여 크기 감소된 거동 특성 데이터를 더 고차원의 공간 상에 투사하도록 구성된다.
일부 실시예들에서, 트레이닝 모듈(6320)은 투사된 거동 특성 데이터의 샘플 데이터에 기초하여 지원 벡터 기계들을 트레이닝하도록 구성된다.
일부 실시예들에서, 저장 모듈(6330)은 트레이닝 결과들을 인간 동작들 및 기계 동작들에 대한 분류자로서 저장하도록 구성된다.
도 7은 거동 특성 데이터를 수집하기 위한 디바이스의 일 실시예의 구조적 블록도이다. 일부 실시예들에서, 디바이스(700)는 도 3의 프로세스(300)를 구현하도록 구성되고: 요청 전송 모듈(710), 제 1 동작 수신 모듈(720), 및 동작 전송 모듈(730)을 포함한다.
일부 실시예들에서, 요청 전송 모듈(710)은 현재 트리거링된 인간 또는 기계 식별 요청을 서버로 전송하도록 구성된다.
일부 실시예들에서, 제 1 동작 수신 모듈(720)은 인간 또는 기계 식별 요청에 응답하여 서버에 의해 렌더링되고 인간 또는 기계 식별을 위해 이용된 제 1 동작을 수신하도록 구성된다. 일부 실시예들에서, 제 1 동작은 인간 또는 기계를 식별하기 위한 동작 트랙을 표현한다.
일부 실시예들에서, 동작 전송 모듈(730)은 제 1 동작에 기초하여 트리거링된 제 2 동작을 서버로 전송하여 미리 설정된 거동 특성 모델에 기초하여 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별하도록 구성된다. 일부 실시예들에서, 거동 특성 모델은: 동작 샘플들에 기초하여 트레이닝되는 인간 동작들 및 기계 동작들에 대한 분류자이다.
일부 실시예들에서, 클라이언트는 서버에 의해 전송된 제 1 동작에 기초하여 제 2 동작을 트리거링하고, 제 1 동작은 인간 또는 기계를 식별하기 위한 동작 트랙을 제공한다. 그 다음, 클라이언트가 제 2 동작을 제출한 후에, 서버는 사전 트레이닝된 거동 특성 모델에 기초하여 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별한다. 즉, 서버는 제 2 동작을 위한 트리거링 개체가 인간 또는 기계인지의 여부를 결정한다. 예를 들면, 이용자들이 마우스 동작들 또는 트리거링 동작들을 수행할 때, 이용자들은 그 자신의 특성들을 갖는다. 예를 들면, 이용자들은 특정 속도에 기초하여 스와이핑하는 것에 익숙하고, 스와이핑 프로세스 동안 떨리는 것을 회피할 수 없고, 등이다. 따라서, 클라이언트는 제 2 동작이 제 2 동작 거동 특성 데이터에 기초하여 인간 또는 기계에 의해 트리거링되었는지의 여부를 결정할 수 있다. 따라서, 디바이스는 인간 또는 기계를 종래의 디바이스들보다 정확하게 식별할 수 있고 따라서, 기계 액세스 요청들을 거부함으로써 네트워크 보안을 또한 증가시킬 수 있지만, 또한 이용자 경험들을 개선시킬 수 있는데, 이는 이용자가 제 1 동작에 기초하여 제 2 동작을 직접적으로 트리거링할 수 있기 때문이다.
도 8은 인간 또는 기계를 식별하기 위한 디바이스의 또 다른 실시예의 구조적 블록도이다. 일부 실시예들에서, 디바이스(800)는 도 4의 프로세스(400)를 구현하도록 구성되고: 제 2 렌더링 모듈(810), 제 2의 제 2 동작 수신 모듈(820), 및 제 2 식별 모듈(830)을 포함한다.
일부 실시예들에서, 현재 트리거링된 인간 또는 기계 식별 요청이 클라이언트로부터 수신되면, 제 2 렌더링 모듈(810)은 디스플레이될 클라이언트로 전송될 인간 또는 기계 식별을 위한 제 1 동작을 렌더링하도록 구성된다.
일부 실시예들에서, 제 2의 제 2 동작 수신 모듈(820)은 제 1 동작에 의해 표현된 동작 트랙에 기초하여 트리거링되는 제 2 동작을 수신하도록 구성된다.
일부 실시예들에서, 제 2 식별 모듈(830)은 미리 설정된 거동 특성 모델에 기초하여 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별하도록 구성된다. 일부 실시예들에서, 거동 특성 모델은: 동작 샘플들에 기초하여 트레이닝되는 인간 동작들 및 기계 동작들에 대한 분류자이다.
일부 실시예들에서, 제 2 동작의 트리거링은 제 1 동작에 기초하여 수행되고, 제 1 동작은 인간 또는 기계의 식별을 위해 동작 트랙을 제공한다. 후속적으로, 제 2 식별 모듈(830)은 사전 트레이닝된 거동 특성 모델에 기초하여 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별한다. 즉, 제 2 식별 모듈(830)은 제 2 동작을 위한 트리거링 개체가 인간 또는 기계인지의 여부를 결정한다. 예를 들면, 이용자들이 마우스 동작들 또는 트리거링 동작들을 수행할 때, 이용자들은 그 자신의 특성들을 갖는다. 예를 들면, 이용자들은 특정 속도에 기초하여 스와이핑하는 것에 익숙하고, 스와이핑 프로세스 동안 떨리는 것을 회피할 수 없고, 등이다. 따라서, 제 2 동작 거동 특성 데이터는 제 2 동작이 인간 또는 기계에 의해 트리거링되었는지의 여부를 결정하기 위해 이용될 수 있다. 따라서, 디바이스(800)는 인간 또는 기계를 종래의 디바이스들보다 정확하게 식별할 수 있고 따라서, 기계 액세스 요청들을 거부함으로써 네트워크 보안을 또한 증가시킬 수 있지만, 또한 이용자 경험들을 개선시킬 수 있는데, 이는 이용자가 제 1 동작에 기초하여 제 2 동작을 직접적으로 트리거링할 수 있기 때문이다.
도 9는 인간 또는 기계를 식별하기 위한 시스템의 일 실시예의 도면이다. 일부 실시예들에서, 시스템(900)은 네트워크(930)를 통해 클라이언트(920)에 접속된 서버(910)를 포함한다.
인간 또는 기계 식별 요청이 클라이언트(920)로부터 수신되면, 서버(910)는 디스플레이될 클라이언트(920)로 전송될 인간 또는 기계 식별을 위한 제 1 동작을 렌더링할 수 있다.
서버(910)는 클라이언트(920)에 의해 현재 제출되고 제 1 동작에 의해 표현된 동작 트랙에 기초하여 트리거링되는 제 2 동작을 수신할 수 있다.
서버(910)는 미리 트레이닝된 거동 특성 모델에 기초하여 제 2 동작을 위한 트리거링 개체 상의 인간 또는 기계를 식별할 수 있다. 일부 실시예들에서, 거동 특성 모델은: 동작 샘플들에 기초하여 트레이닝되는 인간 동작들 및 기계 동작들에 대한 분류자에 대응한다.
도 10은 인간 또는 기계를 식별하기 위한 프로그래밍된 컴퓨터 시스템의 일 실시예를 도시하는 기능도이다. 분명하게 될 바와 같이, 다른 컴퓨터 시스템 아키텍처들 및 구성들은 인간 또는 기계를 식별하기 위해 이용될 수 있다. 하기에 설명된 바와 같이 다양한 서브시스템들을 포함하는 컴퓨터 시스템(1000)은 적어도 하나의 마이크로프로세서 서브시스템(1002)(프로세서 또는 중앙 처리 장치(CPU)로서 또한 언급됨)을 포함한다. 예를 들면, 프로세서(1002)는 단일 칩 프로세서에 의해 또는 다수의 프로세서들에 의해 구현될 수 있다. 일부 실시예들에서, 프로세서(1002)는 컴퓨터 시스템(1000)의 동작을 제어하는 범용 디지털 프로세서이다. 메모리(1010)로부터 검색된 지시들을 이용하여, 프로세서(1002)는 입력 데이터의 수신 및 조작, 및 출력 디바이스들(예로서, 디스플레이(1018)) 상의 데이터의 출력 및 디스플레이를 제어한다.
프로세서(1002)는 메모리(1010)와 양방향으로 결합되고, 상기 메모리는 제 1 주 저장 영역, 전형적으로 랜덤 액세스 메모리(RAM), 및 제 2 주 저장 영역, 전형적으로 판독 전용 메모리(ROM)를 포함할 수 있다. 본 분야에서 잘 공지되는 바와 같이, 주 저장장치는 일반 저장 영역으로서 그리고 스크래치 패드(scratch-pad) 메모리로서 이용될 수 있고 또한, 입력 데이터 및 프로세싱된 데이터를 저장하기 위해 이용될 수 있다. 주 저장장치는 또한, 프로세서(1002) 상에서 동작하는 프로세스들을 위한 다른 데이터 및 지시들에 더하여, 데이터 객체들 및 텍스트 객체들의 형태로, 프로그래밍 지시들 및 데이터를 저장할 수 있다. 또한, 본 분야에서 잘 공지되는 바와 같이, 주 저장장치는 전형적으로, 그것의 기능들(예로서, 프로그래밍된 지시들)을 수행하기 위해 기본 동작 지시들, 프로그램 코드, 데이터, 및 프로세서(1002)에 의해 이용된 객체들을 포함한다. 예를 들면, 메모리(1010)는 예를 들면, 데이터 액세스가 양방향 또는 단일 방향일 필요가 있는지의 여부에 의존하여, 하기에 설명된 임의의 적합한 컴퓨터 판독가능한 저장 매체들을 포함할 수 있다. 예를 들면, 프로세서(1002)는 또한, 캐시 메모리(도시되지 않음)에서 필요한 데이터를 직접적으로 및 매우 빠르게 검색하고 자주 저장할 수 있다.
착탈가능한 대용량 저장 디바이스(1012)는 컴퓨터 시스템(1000)에 부가적인 데이터 저장 용량을 제공하고, 프로세서(1002)에 양방향으로(판독/기록) 또는 단방향으로(판독 전용) 결합된다. 예를 들면, 저장장치(1012)는 또한, 자기 테이프, 플래시 메모리, PC-CARDS, 휴대용 대용량 저장 디바이스들, 홀로그래픽 저장 디바이스들, 및 다른 저장 디바이스들과 같은 컴퓨터 판독가능한 매체들을 포함할 수 있다. 고정된 대용량 저장장치(1020)는 또한 예를 들면, 부가적인 데이터 저장 용량을 제공할 수 있다. 대용량 저장장치(1020)의 가장 공통적인 예는 하드 디스크 드라이브이다. 대용량 저장장치들(1012 및 1020)은 일반적으로, 전형적으로 프로세서(1002)에 의해 적극적으로 이용 중이지 않은 부가적인 프로그래밍 지시들, 데이터, 등을 저장한다. 대용량 저장장치들(1012 및 1020) 내에 유지된 정보가, 필요하다면, 가상 메모리로서의 메모리(1010)(예로서, RAM)의 부분으로서 표준 방식으로 통합될 수 있음이 이해될 것이다.
저장 서브시스템들에 대한 프로세서(1002) 액세스를 제공하는 것에 더하여, 버스(1014)는 또한, 다른 서브시스템들 및 디바이스들에 대한 액세스를 제공하기 위해 이용될 수 있다. 도시된 바와 같이, 이들은 디스플레이 모니터(1018), 네트워크 인터페이스(1016), 키보드(1004), 및 포인팅 디바이스(pointing device)(1006) 뿐만 아니라, 보조 입력/출력 디바이스 인터페이스, 사운드 카드, 스피커들, 및 필요한 대로 다른 서브시스템들을 포함할 수 있다. 예를 들면, 포인팅 디바이스(1006)는 마우스, 스타일러스, 트랙 볼, 또는 태블릿일 수 있고, 그래픽 이용자 인터페이스와 상호작용하기 위해 유용하다.
네트워크 인터페이스(1016)는 프로세서(1002)가 도시된 바와 같은 네트워크 접속부를 이용하여 또 다른 컴퓨터, 컴퓨터 네트워크, 또는 원격통신 네트워크에 결합되는 것을 허용한다. 예를 들면, 네트워크 인터페이스(1016)를 통해, 프로세서(1002)는 방법/프로세스 단계들을 수행하는 동안 또 다른 네트워크로부터 정보(예로서, 데이터 객체들 또는 프로그램 지시들)를 수신하거나 또 다른 네트워크로 정보를 출력할 수 있다. 프로세서 상에서 실행될 지시들의 시퀀스로서 종종 표현된 정보는 또 다른 네트워크로부터 수신되고 상기 또 다른 네트워크로 출력될 수 있다. 인터페이스 카드 또는 유사한 디바이스 및 프로세서(1002)에 의해 구현된(예로서, 상기 프로세서(1002) 상에서 실행된/수행된) 적절한 소프트웨어는 표준 프로토콜들에 따라 컴퓨터 시스템(1000)을 외부 네트워크에 접속시키거나 데이터를 전달하기 위해 이용될 수 있다. 예를 들면, 본 명세서에 개시된 다양한 프로세스 실시예들은 프로세서(1002) 상에서 실행될 수 있거나, 프로세싱의 일부분을 공유하는 원격 프로세서와 결부하여, 인터넷, 인트라넷 네트워크들, 또는 근거리 통신망들과 같은 네트워크에 걸쳐 수행될 수 있다. 부가적인 대용량 저장 디바이스들(도시되지 않음)은 또한, 네트워크 인터페이스(1016)를 통해 프로세서(1002)에 접속될 수 있다.
보조 I/O 디바이스 인터페이스(도시되지 않음)는 컴퓨터 시스템(1000)과 결부하여 이용될 수 있다. 보조 I/O 디바이스 인터페이스는 프로세서(1002)가, 마이크로폰들, 터치 감지 디스플레이들, 트랜스듀서(transducer) 카드 판독기들, 테이프 판독기들, 음성 또는 필체 인식기들, 생체인식 판독기들, 카메라들, 휴대용 대용량 저장 디바이스들, 및 다른 컴퓨터들과 같은 다른 디바이스들로부터 데이터를 전송하고, 더 전형적으로 수신하는 것을 허용하는 일반적이고 맞춤화된 인터페이스들을 포함할 수 있다.
도 10에 도시된 컴퓨터 시스템은 본 명세서에 개시된 다양한 실시예들로 이용하기 위해 적합한 컴퓨터 시스템의 유일한 일례이다. 이러한 이용을 위해 적합한 다른 컴퓨터 시스템들은 부가적이거나 더 적은 서브시스템들을 포함할 수 있다. 게다가, 버스(1014)는 서브시스템들을 연결하기 위한 역할을 하는 임의의 상호접속 방식의 예시이다. 서브시스템들의 상이한 구성들을 가지는 다른 컴퓨터 아키텍처들이 또한 활용될 수 있다.
본 명세서에 개시된 실시예들을 고려하여 설명된 방법들 또는 알고리즘 단계들은 하드웨어, 프로세서 실행 소프트웨어 모듈들, 또는 둘 모두의 조합들을 이용하여 구현될 수 있다. 소프트웨어 모듈들은 랜덤 액세스 메모리(RAM), 메모리, 판독 전용 메모리(ROM), 전기적으로 프로그래밍가능한 ROM, 전기적으로 소거가능한 프로그래밍가능한 ROM, 레지스터들, 하드 드라이브들, 착탈가능한 디스크들, CD-ROM, 또는 기술 분야에 공지된 임의의 다른 유형들의 저장 매체들에 설치될 수 있다.
상기 실시예들이 명확한 이해의 목적들을 위해 일부 상세하게 설명되었지만, 본 발명은 제공된 상세들로 제한되지 않는다. 본 발명을 구현하는 많은 대안적인 방식들이 존재한다. 개시된 실시예들은 제한적인 것이 아니라 예시적이다.
500, 600, 700, 800: 디바이스 510: 제 1 렌더링 모듈
520: 제 1의 제 2 동작 수신 모듈 530: 제 1 식별 모듈
540: 거부 모듈 550: 응답 모듈
610: 사전 필터링 모듈 620: 크기 감소 모듈
630: 분류 모듈 710: 요청 전송 모듈
720: 제 1 동작 수신 모듈 730: 동작 전송 모듈
810: 제 2 렌더링 모듈
820: 제 2의 제 2 동작 수신 모듈 830: 제 2 식별 모듈
900: 시스템 910: 서버
920: 클라이언트 930: 네트워크
1002: 프로세서 1010: 메모리
1000: 컴퓨터 시스템 1004: 키보드
1006: 포인팅 디바이스
1012: 착탈가능한 대용량 저장 디바이스 1014: 버스
1016: 네트워크 인터페이스 1018: 디스플레이 모니터
1020: 고정된 대용량 저장장치 5300: 제 1 식별 모듈
5310: 특성 데이터 추출 모듈 5320: 결정 모듈
5330: 인간 동작 모듈 5340: 기계 동작 모듈
6200: 크기 감소 모듈 6210: 디미닝 모듈
6220: 공분산 행렬 산출 모듈 6230: 고유 파라미터 산출 모듈
6240: 내림 차순 모듈 6250: 선택 모듈
6260: 크기 감소 모듈 6300: 분류 모듈
6310: 투사 모듈 6320: 트레이닝 모듈
6330: 저장 모듈

Claims (13)

  1. 클라이언트에 의해 전송된 인간 또는 기계 식별 요청에 응답하여, 인간 또는 기계를 식별하도록 구성된 제 1 동작에 관련된 정보를 디스플레이될 상기 클라이언트로 전송하는 단계;
    상기 클라이언트에 의해 제출되는 제 2 동작을 수신하는 단계로서, 상기 제 2 동작은 상기 제 1 동작과 연관된 동작 트랙 상에서 수행된 대화형 동작에 응답하여 트리거링(triggering)되는, 상기 제 2 동작 수신 단계; 및
    상기 제 2 동작을 위한 트리거링 개체를 거동 특성 모델(behavioral characteristic model)에 기초하여 인간 또는 기계로서 식별하는 단계를 포함하고, 상기 거동 특성 모델은 인간 동작들 및 기계 동작들에 대한 분류자를 포함하며, 상기 분류자는 동작 샘플들에 기초하여 트레이닝(training)되는, 방법.
  2. 제 1 항에 있어서,
    상기 동작 샘플들의 거동 특성 데이터는 동작 슬라이드 시간 길이를 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 동작 샘플들의 거동 특성 데이터는 동작 슬라이드 시간 길이를 포함하고, 상기 동작 슬라이드 시간 길이는 상기 동작 샘플들의 유효 동작들의 총 시간 길이를 결정함으로써 얻어지는, 방법.
  4. 제 1 항에 있어서,
    상기 거동 특성 모델의 거동 특성 데이터는: 적어도 하나의 세그먼트의 동작 슬라이드 시간 길이, 적어도 하나의 세그먼트의 중심 라인 편이 주파수, 및 적어도 하나의 세그먼트의 평균 편이 간격 중 적어도 하나를 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 거동 특성 모델의 거동 특성 데이터는: 적어도 하나의 세그먼트의 동작 슬라이드 시간 길이, 적어도 하나의 세그먼트의 중심 라인 편이 주파수, 및 적어도 하나의 세그먼트의 평균 편이 간격 중 적어도 하나를 포함하고;
    상기 적어도 하나의 세그먼트의 동작 슬라이드 시간 길이는:
    상기 동작 샘플들의 총 동작 시간을 복수의 같은 세그먼트들로 분할하고;
    적어도 하나의 동작 세그먼트의 시간 길이를 산출하는 것에 적어도 부분적으로 기초하여 얻어지고;
    상기 적어도 하나의 세그먼트의 중심 라인 편이 주파수는:
    상기 동작 샘플들의 총 동작 시간을 복수의 같은 세그먼트들로 분할하고;
    적어도 하나의 동작 세그먼트 동안 중심 축으로부터의 편이들의 수를 산출하는 것에 적어도 부분적으로 기초하여 얻어지며;
    상기 적어도 하나의 세그먼트의 평균 편이 간격은:
    상기 동작 샘플들 중 적어도 하나의 총 동작 시간을 복수의 같은 세그먼트들로 분할하고;
    상기 적어도 하나의 동작 세그먼트 동안 상기 중심 축으로부터의 편이들의 간격을 산출하는 것에 기초하여 얻어지는, 방법.
  6. 제 1 항에 있어서,
    상기 동작 샘플들의 거동 특성 데이터는: 동작 트리거링 초기 위치 및 동작 트리거링 단말 위치를 포함하는, 방법.
  7. 제 1 항에 있어서,
    상기 동작 샘플들의 거동 특성 데이터는: 동작 트리거링 초기 위치 및 동작 트리거링 단말 위치를 포함하고;
    상기 동작 트리거링 초기 위치 및 상기 동작 트리거링 단말 위치는:
    동작 샘플이 트리거링을 겪는 것을 시작하면 좌표들을 상기 동작 트리거링 초기 위치로서 결정하고;
    상기 동작 샘플이 트리거링을 겪는 것을 중단하면 좌표들을 상기 동작 트리거링 단말 위치로서 결정하는 것에 기초하여 얻어지는, 방법.
  8. 제 1 항에 있어서,
    상기 거동 동작 모델에 기초하여 상기 제 2 동작을 위한 상기 트리거링 개체를 식별하는 단계는:
    상기 제 2 동작의 식별될 거동 특성 데이터를 추출하는 단계;
    상기 식별될 거동 특성 데이터가 인간 동작에 따르면, 상기 제 2 동작의 트리거링 개체가 인간이라고 결정하는 단계; 및
    상기 식별될 거동 특성 데이터가 기계 동작에 따르면, 상기 제 2 동작의 트리거링 개체가 기계라고 결정하는 단계를 포함하는, 방법.
  9. 제 1 항에 있어서,
    미리 설정된 상기 거동 특성 모델에 기초하여 상기 제 2 동작을 위한 상기 트리거링 개체 상의 상기 인간 또는 기계를 식별한 후에:
    상기 인간 또는 기계 식별의 결과가 기계이면, 상기 기계에 의해 전송된 액세스 요청들을 거부하는 단계; 및
    상기 인간 또는 기계 식별의 결과가 인간이면, 상기 인간에 의해 전송된 액세스 요청들에 응답하는 단계를 더 포함하는, 방법.
  10. 하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들과 결합된 하나 이상의 메모리들을 포함하고, 상기 하나 이상의 메모리들은 실행될 때, 상기 하나 이상의 프로세서들로 하여금:
    클라이언트에 의해 전송된 인간 또는 기계 식별 요청에 응답하여, 인간 또는 기계를 식별하도록 구성된 제 1 동작에 관련된 정보를 디스플레이될 상기 클라이언트로 전송하고;
    상기 클라이언트에 의해 제출되는 제 2 동작을 수신하는 것으로서, 상기 제 2 동작은 상기 제 1 동작과 연관된 동작 트랙 상에서 수행된 대화형 동작에 응답하여 트리거링되는, 상기 제 2 동작을 수신하며;
    상기 제 2 동작을 위한 트리거링 개체를 거동 특성 모델에 기초하여 인간 또는 기계로서 식별하게 하는 지시들을 상기 하나 이상의 프로세서들에 제공하도록 구성되고,
    상기 거동 특성 모델은 인간 동작들 및 기계 동작들에 대한 분류자를 포함하며, 상기 분류자는 동작 샘플들에 기초하여 트레이닝되는, 디바이스.
  11. 제 10 항에 있어서,
    인간 또는 기계를 식별하도록 구성된 상기 제 1 동작에 관련된 상기 정보를 디스플레이될 상기 클라이언트로 전송하는 것은:
    상기 제 2 동작의 식별될 거동 특성 데이터를 추출하고;
    상기 식별될 거동 특성 데이터가 인간 동작에 따르면, 상기 제 2 동작의 트리거링 개체가 인간이라고 결정하며;
    상기 식별될 거동 특성 데이터가 기계 동작에 따르면, 상기 제 2 동작의 트리거링 개체가 기계라고 결정하는 것을 포함하는, 디바이스.
  12. 제 10 항에 있어서,
    상기 하나 이상의 메모리들은 또한, 실행될 때 상기 하나 이상의 프로세서들로 하여금:
    상기 거동 특성 모델에 기초하여 상기 제 2 동작을 위한 상기 트리거링 개체를 인간 또는 기계로서 식별한 후에:
    상기 인간 또는 기계 식별의 결과가 기계이면, 상기 기계에 의해 후속적으로 전송된 액세스 요청들을 거부하고;
    상기 인간 또는 기계 식별의 결과가 인간이면, 상기 인간에 의해 후속적으로 전송된 액세스 요청들에 응답하게 하는 지시들을 상기 하나 이상의 프로세서들에 제공하도록 구성되는, 디바이스.
  13. 컴퓨터 지시들을 포함하는 컴퓨터 프로그램이 기록된 비 일시적 컴퓨터 판독가능한 저장 매체에 있어서,
    상기 컴퓨터 지시들은:
    클라이언트에 의해 전송된 인간 또는 기계 식별 요청에 응답하여, 인간 또는 기계를 식별하도록 구성된 제 1 동작에 관련된 정보를 디스플레이될 상기 클라이언트로 전송하고;
    상기 클라이언트에 의해 제출되는 제 2 동작을 수신하는 것으로서, 상기 제 2 동작은 상기 제 1 동작과 연관된 동작 트랙 상에서 수행된 대화형 동작에 응답하여 트리거링되는, 상기 제 2 동작을 수신하며;
    상기 제 2 동작을 위한 트리거링 개체를 거동 특성 모델에 기초하여 인간 또는 기계로서 식별하기 위한 것이고,
    상기 거동 특성 모델은 인간 동작들 및 기계 동작들에 대한 분류자를 포함하며, 상기 분류자는 동작 샘플들에 기초하여 트레이닝되는, 비 일시적 컴퓨터 판독가능한 저장 매체.
KR1020177026468A 2015-04-21 2016-04-08 인간 또는 기계를 식별하기 위한 방법 및 시스템 KR20170120644A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201510191030.XA CN106155298B (zh) 2015-04-21 2015-04-21 人机识别方法及装置、行为特征数据的采集方法及装置
CN201510191030.X 2015-04-21
US15/093,251 US9917848B2 (en) 2015-04-21 2016-04-07 Method and system for identifying a human or machine
US15/093,251 2016-04-07
PCT/US2016/026624 WO2016171923A1 (en) 2015-04-21 2016-04-08 Method and system for identifying a human or machine

Publications (1)

Publication Number Publication Date
KR20170120644A true KR20170120644A (ko) 2017-10-31

Family

ID=57148249

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177026468A KR20170120644A (ko) 2015-04-21 2016-04-08 인간 또는 기계를 식별하기 위한 방법 및 시스템

Country Status (6)

Country Link
US (2) US9917848B2 (ko)
EP (1) EP3286679B1 (ko)
JP (1) JP2018520397A (ko)
KR (1) KR20170120644A (ko)
CN (1) CN106155298B (ko)
TW (1) TWI689942B (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529269A (zh) * 2016-12-01 2017-03-22 微梦创科网络科技(中国)有限公司 一种安全验证方法及系统
CN106815515A (zh) * 2016-12-12 2017-06-09 微梦创科网络科技(中国)有限公司 一种基于轨迹验证的验证码实现方法及装置
GB2561070B (en) * 2017-02-08 2020-09-16 Sage (Uk) Ltd Identifying human interaction with a computer
CN108460268A (zh) 2017-02-20 2018-08-28 阿里巴巴集团控股有限公司 验证方法及装置
CN108229128A (zh) * 2017-04-10 2018-06-29 珠海市魅族科技有限公司 一种信息识别的方法及装置
CN108804885B (zh) * 2017-05-03 2022-06-14 阿里巴巴集团控股有限公司 人机验证方法和装置、存储介质及处理器
CN108877813A (zh) * 2017-05-12 2018-11-23 阿里巴巴集团控股有限公司 人机识别的方法、装置和系统
CN108958458B (zh) * 2017-05-19 2022-11-25 腾讯科技(深圳)有限公司 一种用户设备互动方法、装置、用户设备、以及计算机可读存储介质
CN107153786A (zh) * 2017-05-26 2017-09-12 北京奇点数聚科技有限公司 一种人机识别方法、系统及终端设备、可读存储介质
CN107330311A (zh) * 2017-06-29 2017-11-07 苏州锦佰安信息技术有限公司 一种人机识别的方法和设备
WO2019001566A1 (zh) * 2017-06-29 2019-01-03 苏州锦佰安信息技术有限公司 一种认证的方法和设备
CN107463879A (zh) * 2017-07-05 2017-12-12 成都数联铭品科技有限公司 基于深度学习的人体行为识别方法
CN107545464A (zh) * 2017-08-15 2018-01-05 上海精数信息科技有限公司 基于WiFi的人机识别方法及应用其的广告投放方法和系统
CN107688826A (zh) * 2017-08-15 2018-02-13 上海精数信息科技有限公司 基于光感的人机识别方法及应用其的广告投放方法和系统
CN107507027A (zh) * 2017-08-15 2017-12-22 上海精数信息科技有限公司 基于人机识别的广告投放控制方法及投放系统
CN107491991A (zh) * 2017-08-15 2017-12-19 上海精数信息科技有限公司 基于晃动的人机识别方法及应用其的广告投放方法和系统
CN109858211B (zh) * 2017-08-23 2021-02-19 北京三快在线科技有限公司 一种基于滑动轨迹的人机识别方法及装置,电子设备
CN109426701B (zh) * 2017-08-30 2022-04-05 西门子(中国)有限公司 数据模型的运行方法、运行系统和存储介质
CN107911338B (zh) * 2017-10-13 2019-06-28 深圳市迅雷网络技术有限公司 一种数据验证方法、相关设备和系统
CN108022101A (zh) * 2017-11-29 2018-05-11 上海壹账通金融科技有限公司 人机输入操作识别方法、装置、设备及可读存储介质
CN107766852A (zh) * 2017-12-06 2018-03-06 电子科技大学 一种基于卷积神经网络的人机鼠标轨迹检测方法
CN108287989B (zh) * 2018-01-18 2021-05-28 北京科技大学 一种基于轨迹的滑动验证码人机识别方法
CN110069910A (zh) * 2018-01-23 2019-07-30 袁明凯 一种机器行为确定方法、网页浏览器及网页服务器
CN108416198B (zh) * 2018-02-06 2022-02-01 平安科技(深圳)有限公司 人机识别模型的建立装置、方法及计算机可读存储介质
CN114374560A (zh) * 2018-02-07 2022-04-19 阿里巴巴集团控股有限公司 数据处理方法、设备及存储介质
CN110299063B (zh) * 2018-03-22 2022-01-25 阿里巴巴集团控股有限公司 轨迹数据的可视化展示方法及装置
CN108491714A (zh) * 2018-04-09 2018-09-04 众安信息技术服务有限公司 验证码的人机识别方法
CN109033793A (zh) * 2018-07-11 2018-12-18 北京京东金融科技控股有限公司 滑动验证码人机识别方法及装置、电子设备及可读介质
TWI697845B (zh) 2018-07-13 2020-07-01 緯創資通股份有限公司 多目標追蹤方法與系統
CN109447099B (zh) * 2018-08-28 2022-01-07 西安理工大学 一种基于pca降维的多分类器融合方法
CN109190357B (zh) * 2018-08-30 2021-08-06 袁精侠 一种仅利用缓存资源进行人机验证的手势验证码实现方法
CN109255230A (zh) * 2018-09-29 2019-01-22 武汉极意网络科技有限公司 异常验证行为的识别方法、系统、用户设备及存储介质
CN109361660B (zh) * 2018-09-29 2021-09-03 武汉极意网络科技有限公司 异常行为分析方法、系统、服务器及存储介质
CN109194689B (zh) * 2018-10-22 2021-04-23 武汉极意网络科技有限公司 异常行为识别方法、装置、服务器及存储介质
CN110162939B (zh) * 2018-10-25 2023-05-02 腾讯科技(深圳)有限公司 人机识别方法、设备和介质
CN110046647A (zh) * 2019-03-08 2019-07-23 同盾控股有限公司 一种验证码机器行为识别方法及装置
CN109977651A (zh) * 2019-03-14 2019-07-05 广州多益网络股份有限公司 基于滑动轨迹的人机识别方法、装置及电子设备
CN111723348B (zh) * 2019-03-18 2023-07-07 腾讯科技(深圳)有限公司 人机识别方法、装置、设备及存储介质
CN110188519A (zh) * 2019-05-20 2019-08-30 北京奇艺世纪科技有限公司 一种异常滑动轨迹的检测方法、装置及电子设备
CN110768980B (zh) * 2019-10-22 2022-04-05 武汉极意网络科技有限公司 网络人机验证方法、装置、设备及存储介质
CN111047332B (zh) * 2019-11-13 2021-05-07 支付宝(杭州)信息技术有限公司 模型训练和风险识别方法、装置及设备
CN111046379B (zh) * 2019-12-06 2021-06-18 支付宝(杭州)信息技术有限公司 一种对抗攻击的监测方法和装置
CN111046957B (zh) * 2019-12-13 2021-03-16 支付宝(杭州)信息技术有限公司 一种模型盗用的检测、模型的训练方法和装置
CN111125669B (zh) * 2019-12-17 2022-03-01 美的集团股份有限公司 滑动操作人机识别方法、装置、电子设备及存储介质
CN111125670B (zh) * 2019-12-17 2022-03-01 美的集团股份有限公司 滑动轨迹人机识别方法、装置、电子设备及存储介质
CN111666968A (zh) * 2020-04-21 2020-09-15 北京奇艺世纪科技有限公司 人机识别方法及装置、电子设备、计算机可读存储介质
CN111385313B (zh) * 2020-05-28 2020-09-11 支付宝(杭州)信息技术有限公司 一种对象请求合法性验证的方法和系统
CN111563049B (zh) * 2020-07-13 2020-11-03 支付宝(杭州)信息技术有限公司 一种生物特征识别的攻击测试方法、装置及设备
CN112182519B (zh) * 2020-10-10 2021-05-11 上海威固信息技术股份有限公司 一种计算机存储系统安全访问方法及访问系统
US20220239673A1 (en) * 2021-01-27 2022-07-28 Zscaler, Inc. System and method for differentiating between human and non-human access to computing resources
CN113900889B (zh) * 2021-09-18 2023-10-24 百融至信(北京)科技有限公司 一种智能识别app人为操作的方法及系统
US20230199025A1 (en) * 2021-12-21 2023-06-22 Microsoft Technology Licensing, Llc Account classification using a trained model and sign-in data
CN114861162A (zh) * 2022-04-22 2022-08-05 北京达佳互联信息技术有限公司 操作验证方法、装置、计算机设备及介质

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2558943B2 (ja) * 1990-10-19 1996-11-27 富士通株式会社 ニューラルネットワークを用いた人間の動作自動認識装置
CN1517889A (zh) 2003-01-14 2004-08-04 盖内蒂克瓦尔有限公司 具有身份认证功能的键盘装置及其方法
US20050008148A1 (en) * 2003-04-02 2005-01-13 Dov Jacobson Mouse performance identification
JP2006133937A (ja) * 2004-11-04 2006-05-25 Fuji Xerox Co Ltd 動作識別装置
US7370050B2 (en) * 2005-02-28 2008-05-06 Microsoft Corporation Discoverability and enumeration mechanisms in a hierarchically secure storage system
US20070026372A1 (en) * 2005-07-27 2007-02-01 Huelsbergen Lorenz F Method for providing machine access security by deciding whether an anonymous responder is a human or a machine using a human interactive proof
KR100738537B1 (ko) * 2005-12-27 2007-07-11 삼성전자주식회사 네트워크 침입 탐지 시스템 및 그 탐지 방법
GB2437100A (en) * 2006-04-10 2007-10-17 Univ Westminster Biometric security system using keystroke dynamics of a user's login attempt
US20080086524A1 (en) 2006-08-18 2008-04-10 Akamai Technologies, Inc. Method and system for identifying valid users operating across a distributed network
DE102007011912A1 (de) * 2007-03-13 2008-09-18 Sanofi-Aventis Verfahren für das Erzeugen von Peptidbibliotheken und deren Verwendung
US20090150983A1 (en) * 2007-08-27 2009-06-11 Infosys Technologies Limited System and method for monitoring human interaction
US8352598B2 (en) 2007-11-27 2013-01-08 Inha-Industry Partnership Institute Method of providing completely automated public turing test to tell computer and human apart based on image
US8140335B2 (en) * 2007-12-11 2012-03-20 Voicebox Technologies, Inc. System and method for providing a natural language voice user interface in an integrated voice navigation services environment
US20090276839A1 (en) * 2008-05-02 2009-11-05 Fortknock Protection Llc Identity collection, verification and security access control system
JP5252393B2 (ja) * 2008-05-13 2013-07-31 独立行政法人情報通信研究機構 動作学習装置
US8683582B2 (en) 2008-06-16 2014-03-25 Qualcomm Incorporated Method and system for graphical passcode security
US8494854B2 (en) * 2008-06-23 2013-07-23 John Nicholas and Kristin Gross CAPTCHA using challenges optimized for distinguishing between humans and machines
US8763127B2 (en) * 2009-03-13 2014-06-24 Rutgers, The State University Of New Jersey Systems and method for malware detection
US9225531B2 (en) * 2009-06-18 2015-12-29 Visa International Service Association Automated test to tell computers and humans apart
US20120002008A1 (en) * 2010-07-04 2012-01-05 David Valin Apparatus for secure recording and transformation of images to light for identification, and audio visual projection to spatial point targeted area
US11520455B2 (en) * 2009-06-29 2022-12-06 International Business Machines Corporation Dioramic user interface having a user customized experience
US8669846B2 (en) * 2009-10-19 2014-03-11 Eigent Technologies Inc. Wireless devices for process automation and verification
CN101833619A (zh) 2010-04-29 2010-09-15 西安交通大学 基于键鼠交叉认证的身份判定方法
JP5054177B2 (ja) * 2010-09-28 2012-10-24 楽天株式会社 認証システム、認証方法、認証装置、情報端末、プログラム及び情報記録媒体
CN102542137A (zh) * 2010-12-21 2012-07-04 F2威尔股份有限公司 基于全自动区分人机的测试数据的数据处理方法与系统
US8776173B2 (en) * 2011-03-24 2014-07-08 AYAH, Inc. Method for generating a human likeness score
CN102737019B (zh) * 2011-03-31 2016-08-24 阿里巴巴集团控股有限公司 机器行为确定方法、网页浏览器及网页服务器
JP6106921B2 (ja) * 2011-04-26 2017-04-05 株式会社リコー 撮像装置、撮像方法および撮像プログラム
US8635692B2 (en) 2011-05-04 2014-01-21 Cisco Technology, Inc. System and method for user friendly detection of spammers
JP5520886B2 (ja) * 2011-05-27 2014-06-11 日本電信電話株式会社 行動モデル学習装置、方法、及びプログラム
CA2844262A1 (en) * 2011-08-05 2013-02-14 M-Qube, Inc. Method and system for verification of human presence at a mobile device
JP5953673B2 (ja) * 2011-08-11 2016-07-20 日本電気株式会社 行動識別装置、行動識別方法、及びプログラム
JP6168645B2 (ja) * 2012-03-31 2017-07-26 国立大学法人秋田大学 反転チューリングテスト方法およびアクセス認証方法
CN102902971A (zh) * 2012-08-31 2013-01-30 电子科技大学 基于智能视觉感知的电梯人流量统计方法及系统
CN103093235B (zh) * 2012-12-30 2016-01-20 北京工业大学 一种基于改进距离核主成分分析的手写体数字识别方法
CN104036780B (zh) * 2013-03-05 2017-05-24 阿里巴巴集团控股有限公司 一种人机识别方法及系统
CN104104652B (zh) * 2013-04-03 2017-08-18 阿里巴巴集团控股有限公司 一种人机识别方法、网络服务接入方法及相应的设备
US9589120B2 (en) * 2013-04-05 2017-03-07 Microsoft Technology Licensing, Llc Behavior based authentication for touch screen devices
US9177318B2 (en) * 2013-04-22 2015-11-03 Palo Alto Research Center Incorporated Method and apparatus for customizing conversation agents based on user characteristics using a relevance score for automatic statements, and a response prediction function
US9003196B2 (en) * 2013-05-13 2015-04-07 Hoyos Labs Corp. System and method for authorizing access to access-controlled environments
JP2014222392A (ja) * 2013-05-13 2014-11-27 株式会社Nttドコモ 電子機器、認証方法、プログラム
CN104239758B (zh) 2013-06-13 2018-04-27 阿里巴巴集团控股有限公司 一种人机识别方法及相应的人机识别系统
CN104301286B (zh) 2013-07-15 2018-03-23 中国移动通信集团黑龙江有限公司 用户登录认证方法及装置
US9996803B2 (en) * 2013-09-03 2018-06-12 Arizona Board Of Regents On Behalf Of Arizona State University Systems and methods for authenticating a user through an unobservable re-authentication system
CN103530543B (zh) 2013-10-30 2017-11-14 无锡赛思汇智科技有限公司 一种基于行为特征的用户识别方法及系统
US9015847B1 (en) * 2014-05-06 2015-04-21 Synack, Inc. Computer system for distributed discovery of vulnerabilities in applications
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system

Also Published As

Publication number Publication date
EP3286679B1 (en) 2021-01-20
US20160315948A1 (en) 2016-10-27
CN106155298A (zh) 2016-11-23
CN106155298B (zh) 2019-11-08
EP3286679A4 (en) 2018-10-10
TW201638816A (zh) 2016-11-01
TWI689942B (zh) 2020-04-01
US10404720B2 (en) 2019-09-03
JP2018520397A (ja) 2018-07-26
US20180270253A1 (en) 2018-09-20
US9917848B2 (en) 2018-03-13
EP3286679A1 (en) 2018-02-28

Similar Documents

Publication Publication Date Title
US10404720B2 (en) Method and system for identifying a human or machine
CN106897658B (zh) 人脸活体的鉴别方法和装置
US11126827B2 (en) Method and system for image identification
US11531987B2 (en) User profiling based on transaction data associated with a user
JP7454105B2 (ja) 顔画像品質評価方法及び装置、コンピュータ機器並びにコンピュータプログラム
US11837061B2 (en) Techniques to provide and process video data of automatic teller machine video streams to perform suspicious activity detection
US11935298B2 (en) System and method for predicting formation in sports
WO2012139269A1 (en) Tracking and recognition of faces using selected region classification
US10521580B1 (en) Open data biometric identity validation
US20230109673A1 (en) Computing techniques to predict locations to obtain products utilizing machine-learning
WO2016171923A1 (en) Method and system for identifying a human or machine
US20220215393A1 (en) Real-time updating of a security model
CN111738199B (zh) 图像信息验证方法、装置、计算装置和介质
US20220383458A1 (en) Control method, storage medium, and information processing apparatus
CN111680546A (zh) 注意力检测方法、装置、电子设备及存储介质
CN110675252A (zh) 风险评估方法、装置、电子设备及存储介质
CN111160251A (zh) 一种活体识别方法及装置
Santopietro et al. Assessing the quality of swipe interactions for mobile biometric systems
US20210374419A1 (en) Semi-Supervised Action-Actor Detection from Tracking Data in Sport
Davis et al. Predicting sex and age using swipe-gesture data from a mobile device
CN110533297B (zh) 一种识别异常设备的方法及装置
US11195170B1 (en) Method and a system for creating a behavioral user profile
US20240177519A1 (en) Digital Verification of Users Based On Real-time Video Stream
CN112685588B (zh) 资源推荐方法、装置、设备和存储介质
WO2021060256A1 (ja) 顔認証装置、顔認証方法、及びコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application