KR20200089971A - 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법 - Google Patents

사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20200089971A
KR20200089971A KR1020190006925A KR20190006925A KR20200089971A KR 20200089971 A KR20200089971 A KR 20200089971A KR 1020190006925 A KR1020190006925 A KR 1020190006925A KR 20190006925 A KR20190006925 A KR 20190006925A KR 20200089971 A KR20200089971 A KR 20200089971A
Authority
KR
South Korea
Prior art keywords
user
authentication
data
electronic device
blockchain
Prior art date
Application number
KR1020190006925A
Other languages
English (en)
Inventor
올렉산드르 포포브
미키타 빌리아브스키
아르템 포포브
볼로디미어 브린자
안드리 올리니크
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190006925A priority Critical patent/KR20200089971A/ko
Priority to EP19910064.5A priority patent/EP3896587B1/en
Priority to PCT/KR2019/003025 priority patent/WO2020149454A1/ko
Publication of KR20200089971A publication Critical patent/KR20200089971A/ko
Priority to US17/378,385 priority patent/US20210342427A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/065Continuous authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/33Security of mobile devices; Security of mobile applications using wearable devices, e.g. using a smartwatch or smart-glasses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/61Time-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/67Risk-dependent, e.g. selecting a security level depending on risk profiles
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Human Computer Interaction (AREA)
  • Biophysics (AREA)
  • Bioethics (AREA)
  • Collating Specific Patterns (AREA)
  • User Interface Of Digital Computer (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다.
전자 장치에서, 사용자에 대한 인증을 수행하는 방법에 있어서, 인증 모델을 획득하고, 사용자에 대한 행동 데이터를 획득하고, 인증 모델을 이용하여, 획득된 행동 데이터에 대해 인증을 수행하고, 인증이 수행된 결과에 기초하여, 인증된 행동 데이터를 블록 체인에 제출하고, 인증 모델은, 블록 체인에 등록된 상기 사용자에 대한 적어도 하나의 행동 데이터에 기초하여 학습되는 모델인, 사용자에 대한 인증을 수행하는 방법이 개시된다.

Description

사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법 {Electronic device and operating method for authenticating a user}
본 개시는, 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법에 관한 것이다. 또한, 본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하는 인공지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관련된 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
전자 장치에서 제공되는 다양한 서비스, 애플리케이션 등은 이에 접근하고자 하는 사용자의 인증을 요구할 수 있다. 예를 들면, 금융 서비스 제공자, 신용 카드 서비스 제공자, 의료 서비스 제공자, 소셜 네트워크 서비스 제공자 등 다양한 종류의 서비스 제공자들은 전자 장치의 사용자가 진정한 사용자라는 검증을 요구할 수 있다.
사용자 인증은, 사용자로부터 수집되거나 입력된 정보에 기초하여 수행될 수 있다. 예를 들면, 사용자로부터 입력된 아이디 및 패스워드 정보, 지문 인식 정보, 얼굴 인식 정보, 패턴 입력 정보 등 다양한 종류의 사용자 정보에 기초하여 사용자 인증이 수행될 수 있다.
만약, 사용자가 다양한 전자 장치를 소유하고, 동시에 여러 기기를 사용하는 경우, 각각의 전자 장치에서 사용자에 관한 정보가 수집될 수 있다. 따라서, 다양한 전자 기기에서 수집된 다양한 종류의 행동 데이터에 기초하여, 효과적이고 정확도 높게 사용자 인증을 수행하는 방법이 요구된다.
본 개시가 해결하고자 하는 과제는 전술한 문제를 해결하기 위한 것으로서, 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법을 제공하기 위한 것이다.
또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함하는 컴퓨터 프로그램 제품을 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 전자 장치에서, 사용자에 대한 인증을 수행하는 방법에 있어서, 인증 모델을 획득하는 단계; 상기 사용자에 대한 행동 데이터를 획득하는 단계; 상기 인증 모델을 이용하여, 상기 획득된 행동 데이터에 대해 인증을 수행하는 단계; 및 상기 인증이 수행된 결과에 기초하여, 상기 인증된 행동 데이터를 블록 체인에 제출하는 단계를 포함하고, 상기 인증 모델은, 상기 블록 체인에 등록된 상기 사용자에 대한 적어도 하나의 행동 데이터에 기초하여 학습되는 모델인, 방법을 포함한다. 
또한, 본 개시의 제2 측면은, 사용자에 대한 인증을 수행하는 전자 장치에 있어서, 인증 모델을 저장하는 메모리; 상기 사용자에 대한 행동 데이터를 획득하고, 상기 인증 모델을 이용하여, 상기 획득된 행동 데이터에 대해 인증을 수행하는 적어도 하나의 프로세서; 및 상기 인증이 수행된 결과에 기초하여, 상기 인증된 행동 데이터를 블록 체인에 제출하는 통신부를 포함하고, 상기 인증 모델은, 상기 블록 체인에 등록된 상기 사용자에 대한 적어도 하나의 행동 데이터에 기초하여 학습되는 모델인, 전자 장치를 포함한다. 
또한, 본 개시의 제3 측면은, 제1 측면 또는 제2 측면의 방법을 수행하도록 하는 프로그램이 저장된 기록매체를 포함하는 컴퓨터 프로그램 제품을 제공할 수 있다.
일 실시 예에 의하면, 적어도 하나의 전자 장치에서 수집된 사용자의 행동 데이터에 기초하여, 신뢰도 및 보안성이 높은 사용자 인증이 수행될 수 있다.
도 1은 일 실시 예에 의한 사용자에 대한 인증을 수행하는 시스템을 설명하기 위한 도면이다.
도 2는 일 실시 예에 의한 사용자에 대한 인증을 수행하는 다수의 노드를 포함하는 블록 체인을 설명하기 위한 도면이다.
도 3은 일 실시 예에 의한 사용자 인증을 수행하기 위한 블록 체인 및 복수 개의 전자 장치의 동작을 설명하기 위한 도면이다.
도 4는 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 5는 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 6은 일 실시 예에 의한 사용자 인증을 수행하는 방법을 나타낸 순서도이다.
도 7은 일 실시 예에 의한 전자 장치가 행동 데이터를 블록 체인에 제출하는 방법을 나타낸 순서도이다.
도 8은 일 실시 예에 의한 2단계로 사용자 인증을 수행하는 방법을 나타낸 순서도이다.
도 9는 일 실시 예에 의한 2차 인증을 수행하는 방법을 나타낸 순서도이다.
도 10은 일 실시 예에 의한 2차 인증을 수행하는 방법을 나타낸 순서도이다.
도 11은 일 실시 예에 의한 행동 데이터에 기초하여 사용자 인증을 수행하는 방법을 나타낸 도면이다.
도 12는 일 실시 예에 의한 전자 장치가 블록 체인에 참여하는 한 노드를 통해 블록 체인의 노드로서 동작하는 일 예를 나타낸 도면이다.
도 13은 일 실시 예에 의한 블록 및 블록체인의 구조를 설명하기 위한 블록도이다.
도 14은 일 실시 예에 의한 사용자 인증을 활용하는 실시예를 나타낸 도면이다.
도 15는 일 실시 예에 의한 복수 개의 전자 장치에서 사용자 인증을 수행하는 방법을 나타낸 순서도이다.
도 16은 일 실시 예에 의한 사용자 인증을 수행하는 일 예를 나타낸 도면이다.
도 17는 일부 실시예에 따른 프로세서의 블록도이다.
도 18은 일부 실시예에 따른 데이터 학습부의 블록도이다.
도 19은 일부 실시예에 따른 데이터 인식부의 블록도이다.
도 20의 일부 실시예에 따른 전자 장치 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 "블록체인"은 무결성을 확보하고 유지하기 위해 순서에 따라 연결된 블록들이 거래 정보를 암호화 기법과 보안기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어 요소를 활용하는 원장(ledger)의 분산 P2P (Peer to Peer)시스템을 의미할 수 있다. 여기서, 분산 P2P 시스템은 분산 시스템의 특수한 형태일 수 있다. 또한, P2P 시스템은 중앙 노드의 조정 없이 네크워크의 모든 노드들이 서로에게 자원(처리 능력, 저장 공간, 데이터 또는 네트워크 대역폭 등)을 제공할 수 있다. 또한, "블록체인"은 거래 정보를 기록한 원장을 특정 기관의 중앙 서버가 아닌 P2P 네트워크에 분산하여 네트워크 내의 노드들이 공동으로 기록하고 관리하는 분산원장(distributed ledger) 기술을 의미할 수 있다.
본 명세서에서, "노드"는 블록체인의 네트워크 내에서 구성요소를 의미할 수 있다. 예를 들면, 노드는 특수 목적 컴퓨터(Special-purpose Computer), 범용 컴퓨터(General-purpose Computer), 슈퍼 컴퓨터(Supercomputer), 대형 컴퓨터(Mainframe Computer), 개인용 컴퓨터(Personal Computer), 스마트폰, 태블릿 PC 등일 수 있으나, 이에 제한되지 않는다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시 예에 의한 사용자에 대한 인증을 수행하는 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시 예에 의한 사용자에 대한 인증을 수행하는 시스템은 전자 장치(1000) 및 블록 체인(300)을 포함할 수 있다.
일 실시 예에 따른 전자 장치(1000)는, 사용자(100)의 행동 데이터를 수집하여, 사용자에 대한 인증을 수행하는 장치로, 다양한 형태로 구현될 수 있다.
예를 들어, 본 명세서에서 기술되는 전자 장치(1000)는, 스마트 TV, 셋탑 박스, 휴대폰, 태블릿 PC, 디지털 카메라, 노트북 컴퓨터(laptop computer), 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
또한, 본 명세서에서 기술되는 전자 장치(1000)는 사용자에 의해 착용될 수 있는 장치(wearable device)일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예컨대, 시계, 반지, 팔목 밴드, 발목 밴드, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형 장치(예: 전자 의복), 신체 부착형 장치(예컨대, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예: implantable circuit) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 이하에서는, 설명의 편의상, 전자 장치(1000)가 스마트 폰인 경우를 예로 들어 설명하기로 한다.
일 실시 예에 의한 전자 장치(1000)는 사용자로부터 행동 데이터를 수집하고, 사용자 인증을 수행할 수 있다. 일 실시 예에 의한, 전자 장치(1000)는 수집된 행동 데이터에 대한 인증을 수행함으로써, 상기 행동 데이터를 제공하는 사용자가 진정한 사용자임을 인증할 수 있다. 예를 들면, 전자 장치(1000)는 수집된 행동 데이터의 패턴이, 미리 학습된 행동 데이터의 패턴과 일치하는 정도에 따라서, 상기 행동 데이터를 제공하는 사용자가 진정한 사용자인지 여부를 판단할 수 있다.
일 실시 예에 의한 전자 장치(1000)는 사용자(100)로부터 다양한 종류의 행동 데이터를 수집할 수 있다. 예를 들면, 전자 장치(1000)는 사용자(100)의 행동 데이터로서, 버튼 입력, 지문 인식, 얼굴 인식, 패턴 인식, 비밀번호 입력, 터치 스크린에서의 터치 입력, 음성 입력 등의 사용자에 의해 입력된 정보와, 센서에 의해 감지된 사용자의 생체 정보, 움직임 정보, 위치 정보 등을 수집할 수 있다. 사용자에 의해 입력된 정보는 사용자가 사용자 인증을 위해 직접 입력한 정보를 포함할 수 있다. 또한, 행동 데이터는, 상기 행동 데이터가 수집된 전자 장치(1000)의 특징(ex. 종류)에 관한 정보, 상기 행동 데이터가 수집된 시간 및 위치에 관한 정보 등을 더 포함할 수 있다. 상술한 예에 한하지 않고, 전자 장치(1000)는 사용자(100)와 관련된 다양한 종류의 행동 데이터를 수집할 수 있다.
일 실시 예에 의한 사용자 인증은, 일 세션 동안 연속적으로 인증을 수행하는, 연속 인증(continuous authentication)을 포함할 수 있다.
연속 인증이란, 아이디 및 패스워드 입력과 같이 인증을 위한 사용자의 직접적인 입력을 통해 일회적으로 인증을 수행하는 대신, 사용자로부터 수집된 행동 데이터에 기초하여, 인증이 지속적으로 수행되는 인증 기술을 의미한다. 연속 인증에 의하면, 사용자의 인지 없이 전자 장치(1000)에서 수집될 수 있는 행동 데이터를 통해 인증이 지속적으로 수행될 수 있다. 따라서, 연속 인증에 의하면, 사용자에 의해 인증을 위한 정보가 직접적으로 입력되지 않더라도, 높은 수준의 보안이 유지될 수 있다.
일 실시 예에 의하면, 사용자 인증은, 아이디, 패스워드를 이용한 인증 방식에 의한 1차 인증 및 상술한 연속 인증 방식에 의한 2차 인증의 2단계로 수행될 수 있다. 예를 들면, 1차 인증이 수행된 이후 2차 인증을 위한 세션이 설정되고, 설정된 세션이 종료될 때까지 2차 인증을 통해 사용자에 대한 지속적인 인증이 수행될 수 있다. 일 실시 예에 의하면, 미리 설정된 시간이 경과하거나, 2차 인증이 반복하여 실패하는 경우, 세션이 종료될 수 있다. 세션이 종료된 이후에는 다시 1차 인증이 수행될 수 있다. 상술한 예에 한하지 않고, 사용자 인증은 다양한 방식에 따라 연속 인증을 포함한 인증이 수행될 수 있다.
일 실시 예에 의한 연속 인증에 의하면, 사용자로부터 수집된 행동 데이터의 패턴이 미리 학습된 행동 패턴과 비교됨으로써, 인증이 수행될 수 있다. 예를 들어, 수집된 행동 데이터의 패턴이 미리 학습된 행동 패턴과 일치할수록 높은 신뢰도 값이 결정될 수 있다. 결정된 신뢰도 값이 기준값 이상이면 상기 행동 데이터의 사용자가 진정한 사용자인 것으로 판단될 수 있고, 상기 행동 데이터는 일 실시 예에 따라 인증된 행동 데이터로 결정될 수 있다.
또한, 신뢰도 값이 기준값 이상인, 상기 행동 데이터는, 블록 체인(300)에 제출될 수 있다. 블록 체인(300)에 제출된 행동 데이터는, 블록 체인(300)에 참여하는 노드들 간의 합의가 도출됨에 따라, 새로운 블록으로 블록 체인(300)에 추가됨으로써, 블록 체인(300)에 등록될 수 있다. 일 실시 예에 의하면, 블록 체인(300)에 참여하는 적어도 하나의 노드는 블록 체인(300)에 제출된 행동 데이터를 블록 체인(300)에 등록할지 여부를 결정하기 위하여, 블록 체인(300)에 제출된 상기 행동 데이터에 대한 검증을 수행할 수 있다. 검증 결과에 따라, 적어도 하나의 노드는 상기 행동 데이터가 블록 체인(300)에 등록되는 것에 대하여 동의할 수 있다.
일 실시 예에 의한 미리 학습된 행동 패턴은 행동 데이터를 인증하기 위한 인증 모델일 수 있다. 예를 들면, 전자 장치(1000)는 인증 모델에 기초하여, 행동 데이터에 대한 신뢰도 값을 획득함으로써, 사용자에 대한 인증을 수행할 수 있다.
일 실시 예에 의한 인증 모델은, 사용자 인증이 수행된 결과에 따라, 인증된 행동 데이터에 기초하여, 학습될 수 있다. 또한, 일 실시 예에 의한 인증 모델은 블록 체인(300)에 등록된 행동 데이터에 기초하여, 학습될 수 있다.
블록 체인(300)에 등록된 행동 데이터는 상기 전자 장치(1000)에서 인증된 행동 데이터뿐만 아니라, 다른 전자 장치에서 일 실시 예에 따라 인증된 행동 데이터도 포함할 수 있다. 일 실시 예에 의하면, 다른 전자 장치에서 수집된 행동 데이터는 전자 장치(1000)에서 수집된 행동 데이터의 사용자와 동일한 사용자에 대하여 인증된 행동 데이터일 수 있다. 예를 들면, 블록 체인(300)에 등록된 행동 데이터는 전자 장치(1000)의 사용자와 동일한 사용자가 소유한 다른 전자 장치에서, 수집된 행동 데이터 중 인증된 행동 데이터를 포함할 수 있다.
일 실시 예에 의한 행동 데이터는, 서버나 외부 장치에 중앙 집중식으로 저장되는 대신, 블록 체인(300)에 등록됨으로써, 블록 체인(300)에 참여하는 복수 개의 장치들 간 공유될 수 있다. 따라서, 일 실시예에 의하면, 서버-클라이언트 방식으로 데이터가 분배되는 경우에 비해, 보안성이 보다 강화될 수 있고, 서버를 관리할 필요가 없어짐에 따라 비용이 절감될 수 있다. 또한, 일 실시 예에 의하면, 데이터가 블록 체인(300)에 참여하는 복수 개의 장치들로 분배되어 저장되므로, 서버를 집중 공격하는 해킹 방법인 DDoS(Distributed Denial of Service) 공격을 방지할 수 있다. 또한, 블록 체인(300) 기술의 특성 상 각 장치에 분산 원장이 저장됨에 의하여, 데이터의 투명성이 보장되므로 서버-클라이언트 방식보다 더 높은 신뢰성을 확보할 수 있다.
일 실시 예에 따라, 동일한 사용자에 대한 행동 데이터를 수집할 수 있는 적어도 하나의 전자 장치(1000)는, 동일한 블록 체인(300)에 노드로서 참여할 수 있다. 상기 적어도 하나의 전자 장치(1000)에서 이용되는 인증 모델은, 상기 블록 체인(300)에 등록된 행동 데이터에 기초하여 학습될 수 있다. 상기 각각의 전자 장치(1000)가 동일한 블록 체인(300)에 참여하는 경우, 각 전자 장치(1000)의 인증 모델이 학습되는데 이용되는 행동 데이터들은 서로 동일할 수 있다. 일 실시 예에 의하면, 인증 모델에 대한 학습은 각 전자 장치(1000)에서 따로 수행되므로, 각 전자 장치(1000)에서 이용되는 인증 모델은 서로 다를 수 있다.
블록 체인(300)에 참여하는 각 노드는, 블록 체인(300)에 제출된 행동 데이터가 타당한지 여부를 판단할 수 있다. 예를 들면, 블록 체인(300)에 참여하는 각 노드는, 상기 행동 데이터가 블록 체인(300)에 등록된 기존의 다른 행동 데이터와 모순되는지 여부를 판단할 수 있다. 일 실시 예에 의하면, 블록 체인(300)에 참여하는 노드들 중 과반의 동의에 따라, 상기 행동 데이터가 새로운 블록으로 블록 체인(300)에 추가될 수 있다. 상술한 예에 한하지 않고, 블록 체인(300)에 제출된 행동 데이터는 다양한 방식의 합의 알고리즘에 따라서, 새로운 블록으로 블록 체인(300)에 등록될 수 있다.
일 실시 예에 의한 블록 체인(300)은, 인증하고자 하는 사용자마다 존재할 수 있다. 예를 들어, 전자 장치(1000)가 복수의 사용자로부터 행동 데이터를 수집할 수 있는 경우, 전자 장치(1000)는 상기 복수의 사용자의 수만큼 복수 개의 블록 체인(300)에 노드로 참여할 수 있다. 상술한 예에 한하지 않고, 블록 체인(300)은, 복수의 사용자 또는 복수의 사용자들의 그룹에 대해, 존재할 수 있다.
도 2는 일 실시 예에 의한 사용자에 대한 인증을 수행하는 다수의 노드를 포함하는 블록 체인을 설명하기 위한 도면이다.
도 2를 참조하면, 일 실시 예에 의한 사용자에 대한 인증을 수행하기 위한 블록 체인(300)에 참여하는 다수의 노드는, 복수 개의 전자 장치(210, 220, 230, 400)를 포함할 수 있다. 도 2의 복수 개의 전자 장치(210, 220, 230, 400) 중 적어도 하나는 도 1의 전자 장치(1000)와 대응될 수 있다.
블록 체인(300)에 참여하는 노드는, 풀 노드(full node)와 라이트 노드(light node)로 구분될 수 있다.
풀 노드는, 블록 체인(300)의 노드로서 수행될 수 있는 대부분의 기능을 수행할 수 있다. 예를 들면, 풀 노드는, 블록 체인(300)에 관한 대부분의 정보를 저장하거나, 블록 체인(300)에 새로 제출된 데이터를 새로운 블록으로 추가할지 여부를 결정하기 위한 검증을 수행할 수 있다.
풀 노드는, 블록 체인(300)의 노드로서 수행될 수 있는 대부분의 기능을 수행할 수 있어야 하므로, 고용량 또는 고성능의 전자 장치일 수 있다. 예를 들면, 풀 노드는 특수 목적 컴퓨터(Special-purpose Computer), 범용 컴퓨터(General-purpose Computer), 슈퍼 컴퓨터(Supercomputer), 대형 컴퓨터(Mainframe Computer), 개인용 컴퓨터(Personal Computer), 서버 컴퓨터(Server computer), 클라우드 컴퓨터(Cloud computer) 등의 장치일 수 있다.
라이트 노드는, 풀 노드와는 달리 블록 체인(300)의 노드로서 수행될 수 있는 기능 중 일부 기능을 수행할 수 있다. 예를 들면, 라이트 노드는, 블록 체인(300)에 관한 정보 중 일부 정보를 저장할 수 있으며, 일 예로 블록 체인(300)의 모든 블록에 대한 모든 정보를 저장하는 대신 적어도 하나의 블록에 대하여 요약된 일부 정보를 저장할 수 있다. 라이트 노드는, 블록 체인(300)의 노드로서 일부 기능을 수행할 수 있고, 필요한 경우, 풀 노드를 통해 블록 체인(300)에서 필요한 기능을 수행할 수 있다. 예를 들면, 라이트 노드는, 블록 체인(300)에 새로 제출된 데이터를 새로운 블록으로 추가할지 여부를 결정하기 위한 검증을 수행하지 않을 수 있다.
또한, 일 실시 예에 의하면, 라이트 노드는, 블록 체인(300)에 대한 분산 원장 전체를 저장하는 대신, 블록 체인(300)에 관한 일부 정보만을 저장하고, 다른 노드(ex. 풀 노드)에 저장된 분산 원장에 접근하여 블록 체인(300)의 노드로서 동작할 수 있다. 예를 들면, 라이트 노드는, 블록 체인(300)의 노드로서의 동작을 수행할 때, 필요한 경우 신뢰하는(trusted) 다른 노드(ex. 풀 노드, 클라우드 서버 등)에 저장된 분산 원장에 접근하여, 동작을 수행할 수 있다.
따라서, 라이트 노드는 풀 노드에 비해 상대적으로 저용량 또는 저성능의 전자 장치일 수 있다. 예를 들면, 라이트 노드는 모바일 장치, 웨어러블 장치, 노트북, 가전 제품(household appliance) 등일 수 있다.
일 실시 예에 의하면, 복수 개의 전자 장치(210, 220, 230, 400)은, 풀 노드 또는 라이트 노드로 블록 체인(300)에 참여할 수 있으며, 블록 체인(300)에 참여하는 노드 중 적어도 하나의 노드는, 사용자(100)로부터 사용자(100)의 행동 데이터를 수집할 수 있다.
일 실시 예에 의하면, 도 2의 전자 장치들(210, 220, 230)은, 모바일 장치 또는 가전 제품일 수 있고, 제한된 용량을 가짐에 따라, 라이트 노드로서, 블록 체인(300)에 참여할 수 있다. 또한, 전자 장치들(210, 220, 230)은 센서 또는 입력 인터페이스를 구비하여, 사용자(100)의 생체 정보 또는 사용자(100)의 입력 정보에 기초하여, 사용자(100)의 행동 데이터를 수집하고, 인증 모델에 기초하여 인증을 수행할 수 있다.
또한, 일 실시 예에 의하면, 도 2의 전자 장치(400)는, 고용량 및 고성능의 데스크탑 컴퓨터일 수 있고, 풀 노드로서, 블록 체인(300)에 참여할 수 있다. 예를 들면, 전자 장치(400)는, 입력 인터페이스를 통해 수집된 사용자(100)의 입력 정보에 기초하여, 사용자(100)의 행동 데이터를 수집하고, 인증 모델에 기초하여 인증을 수행할 수 있다.
또한, 일 실시 예에 의하면, 도 2의 풀 노드로 동작할 수 있는 전자 장치(400)는 서버 컴퓨터 또는 클라우드 컴퓨터와 같이 사용자(100)의 행동 데이터를 직접적으로 수집하지 못하는 장치일 수 있다. 일 실시 예에 의하면, 풀 노드로 동작할 수 있는 전자 장치(400)는, 다른 전자 장치들(210, 220, 230)에서 수집된 사용자(100)의 행동 데이터에 기초하여 사용자에 대한 인증을 수행하고, 인증 결과에 따라 블록 체인(300)에 인증된 행동 데이터를 블록 체인(300)에 제출할 수 있다. 또한, 일 실시 예에 의하면 풀 노드로 동작할 수 있는 전자 장치(400)는, 다른 전자 장치들(210, 220, 230) 대신 다른 전자 장치들(210, 220, 230)에서 수집된 사용자(100)의 행동 데이터에 대한 인증을 수행할 수 있다.
일 실시 예에 의한, 블록 체인(300)에 참여하는 적어도 하나의 노드들(ex. 제1, 제2 제3 전자 장치들)은 동일한 사용자(100)가 소유하는 장치들일 수 있다. 이에 한하지 않고, 블록 체인(300)에 참여하는 적어도 하나의 노드들(210, 220, 230, 400)은 동일한 사용자(100)가 소유하는 것은 아니나, 동일한 사용자(100)로부터 행동 데이터들을 수집할 수 있는 장치일 수 있다.
도 3은 일 실시 예에 의한 사용자 인증을 수행하기 위한 블록 체인(300) 및 복수 개의 전자 장치(210, 220, 230)의 동작을 설명하기 위한 도면이다.
도 3의 복수 개의 전자 장치(210, 220, 230) 중 적어도 하나는, 도 1의 전자 장치(1000)와 대응될 수 있다.
도 3을 참조하면, 제1 전자 장치(210)는, 사용자(100)로부터 행동 데이터를 수집하여, 사용자(100)를 인증할 수 있다. 예를 들면, 제1 전자 장치(210)는, 수집된 행동 데이터를 제1 전자 장치(210)에 저장된 인증 모델 1(213)에 기초하여 인증할 수 있다. 일 실시 예에 의하면, 인증 모델 1(213)에 기초하여, 행동 데이터에 대한 신뢰도 값이 결정될 수 있고, 신뢰도 값에 기초하여, 행동 데이터에 대한 사용자 인증이 수행될 수 있다.
일 실시 예에 의한 신뢰도 값은 제1 전자 장치(210)에서 내부적으로 수행된 동작을 통하여 획득될 수 있으므로, 외부 공격으로부터 안전할 수 있다.
일 실시 예에 의하면, 제1 전자 장치(210)는, 행동 데이터에 대한 인증 결과에 기초하여, 사용자(100)의 요청에 따른 동작을 수행할 수 있다. 예를 들면, 제1 전자 장치(210)는, 행동 데이터에 대한 인증 결과, 신뢰도 값이 기준값 이상이면, 상기 행동 데이터의 사용자(100)가 진정한 사용자인 것으로 판단하고, 사용자(100) 요청에 따른 동작을 수행할 수 있다.
반면, 행동 데이터에 대한 인증 결과, 신뢰도 값이 기준값 이하이면, 제1 전자 장치(210)는, 사용자(100)에 대한 다른 행동 데이터를 추가로 획득할 수 있다. 예를 들면, 제1 전자 장치(210)는 사용자(100)가 진정한 사용자인지 검증하기 위한 추가 정보를 사용자(100)에게 요청할 수 있고, 사용자(100)로부터 제공된 추가 정보를 상술한 다른 행동 데이터로서 획득할 수 있다. 또 다른 예로, 제1 전자 장치(210)는 신뢰도 값이 기준값 보다 낮게 나온 행동 데이터(ex. 위치 정보)와 다른 종류의 행동 데이터(ex. 사용자 얼굴 정보)를 상술한 다른 행동 데이터로서 획득할 수 있다.
제1 전자 장치(210)는 다른 행동 데이터에 기초하여, 사용자(100) 요청에 따른 동작을 수행할 지 여부를 결정할 수 있다. 예를 들면, 제1 전자 장치(210)는 인증 모델에 기초하여 다른 행동 데이터에 대한 신뢰도 값을 결정하고, 결정된 신뢰도 값에 기초하여 사용자 인증이 수행될 수 있다. 일 실시 예에 의하면, 다른 행동 데이터에 대한 신뢰도 값이 기준값 이상이면, 상기 다른 행동 데이터가 인증된 행동 데이터로서, 블록 체인(300)에 제출될 수 있다.
일 실시 예에 의하면, 사용자(100) 요청에 따른 동작은 각 전자 장치(210, 220, 230)에 포함된 스마트 계약(212)에 의해 자동으로 수행될 수 있다.
'스마트 계약'(Smart contract)은 프로그래밍된 조건이 모두 충족되면 자동으로 계약을 이행하는 ‘자동화 계약’ 시스템이다. 스마트 계약에 의하면, 계약 조건이 컴퓨터 코드로 지정될 수 있고, 조건이 맞으면 자동으로 계약이 이행될 수 있다. 일 실시 예에 의하면, 인증 모델 1(213)에 기초하여 획득된 행동 데이터의 신뢰도 값이 기준값 이상일 것이 상기 스마트 계약(212)의 계약 이행 조건으로 설정될 수 있고, 계약 이행 조건이 만족하면, 계약을 이행하는 동작으로서, 사용자에 의하여 요청된 동작이 자동으로 수행될 수 있다.
또한, 일 실시 예에 의하면, 제1 전자 장치(210)는 행동 데이터에 대한 인증 결과에 기초하여, 인증된 행동 데이터를 블록 체인(300)에 제출할 수 있다.
블록 체인(300)에 제출된 행동 데이터는, 블록 체인(300)에 참여하는 적어도 하나의 노드들 간의 합의가 도출됨에 따라, 블록 체인(300)에 새로운 블록으로 추가됨으로써, 등록될 수 있다. 예를 들면, 블록 체인(300)에 참여하는 노드들 중 적어도 하나의 풀 노드에 의해 행동 데이터에 대한 검증이 수행될 수 있다. 또한, 검증 결과에 따라 상기 적어도 하나의 풀 노드는 행동 데이터를 블록 체인(300)에 등록할지 여부에 대해 동의할 수 있다. 일 실시 예에 의하면, 검증을 수행한 풀 노드들 중 과반 이상의 동의에 의해, 노드들 간의 합의가 도출되는 경우, 행동 데이터는 블록 체인(300)에 새로운 블록으로 추가될 수 있다.
일 실시 예에 따라, 행동 데이터가 새로운 블록으로 블록 체인(300)에 추가되는 경우, 새로운 블록에 관한 정보가 블록 체인(300)에 노드로 참여하는 제1 전자 장치(210), 제2 전자 장치(220) 및 제3 전자 장치(230)로 전달될 수 있다. 예를 들면, 적어도 하나의 풀 노드에 의한 검증을 통해 합의가 도출되어, 행동 데이터가 새로운 블록으로 블록 체인(300)에 추가되는 경우, 새로운 블록에 관한 정보가 각 노드의 분산 원장에 반영될 수 있도록, 제1, 제2, 제3 전자 장치(210, 220, 230)로 전달될 수 있다.
새로운 블록에 관한 정보를 수신한 각각의 전자 장치(210, 220, 230)들은, 새로운 블록에 관한 정보에 기초하여, 각 전자 장치(210, 220, 230)에 저장된 분산 원장(211, 221, 231)과 인증 모델 1, 2, 3(213, 223, 233)을 갱신할 수 있다. 예를 들면, 각각의 분산 원장(211, 221, 231)에서, 새로운 블록에 관한 정보에 기초하여, 블록 체인(300)에 포함된 블록들에 관한 정보가 갱신될 수 있다. 또한, 각각의 인증 모델들(213, 223, 233)은, 새로운 블록에 포함된 행동 데이터에 기초하여, 재학습됨(retraining)으로써, 각 전자 장치(210, 220, 230)에 의해 갱신될 수 있다.
일 실시 예에 의하면, 각 전자 장치(210, 220, 230)의 인증 모델 1, 2, 3(213, 223, 233)들은 전자 장치(210, 220, 230)의 메모리 및 분산된 파일 시스템(distributed file system), 예를 들면, IPFS(Inter Planetary File System) 중 적어도 한 곳에 저장될 수 있다.
분산된 파일 시스템이란, 서버-클라이언트 방식에 따라 서버로부터 데이터를 수신하는 대신, 데이터가 저장된 복수 개의 저장 장치로부터 데이터를 수신하는 방식에 따른 파일 저장 시스템을 의미한다. 예를 들면, 제1 전자 장치(210)는, 인증 모델 1(213)을 새로 등록된 블록 체인(300)의 블록 데이터에 기초하여 갱신한 후, 갱신된 인증 모델 1(213)을 복수 개의 저장 장치로 전송함으로써, 인증 모델 1(213)을 분산된 파일 시스템에 저장할 수 있다. 또한, 제1 전자 장치(210)는, 복수 개의 저장 장치로부터 인증 모델 1(213)의 일부, 예를 들면, 인증 모델 1(213)이 분할된 데이터인, 인증 모델 1-1, 인증 모델 1-2 및 인증 모델 1-3을 각각 다른 저장 장치로부터 수신함으로써, 인증 모델 1(213)을 분산된 파일 시스템으로부터 획득할 수 있다. 상술한 예에 한하지 않고, 일 실시 예에 의한 인증 모델은 다양한 방식으로 다양한 장치에 저장될 수 있다.
도 4는 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 5는 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 4를 참조하면, 전자 장치(1000)는, 프로세서(1300), 메모리(1700) 및 통신부(1500)를 포함할 수 있다. 그러나, 도 4에 도시된 구성 요소 모두가 전자 장치(1000)의 필수 구성 요소인 것은 아니다. 도 4에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있고, 도 4에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있다.
예를 들면, 전자 장치(1000)는 도 5에 도시된 바와 같이, 일부 실시예에 따른 전자 장치(1000)는, 프로세서(1300), 메모리(1700) 및 통신부(1500) 이외에 사용자 입력부(1100), 출력부(1200), 센싱부(1400) 및 A/V 입력부(1600)를 더 포함할 수도 있다.
사용자 입력부(1100)는, 사용자가 전자 장치(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 사용자 입력부(1100)는, 소정의 동작을 수행하기 위한 사용자 입력을 수신할 수 있다. 사용자 입력부(1100)에 의해 수신된 사용자 입력은, 일 실시 예에 의한 행동 데이터로써 수집될 수 있다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.
일 실시 예에 의한 출력부(1200)는, 사용자 요청에 따른 동작의 수행 결과를 출력할 수 있다. 예를 들면, 행동 데이터에 대한 인증 수행 결과에 따라 전자 장치(1000)에서 소정 동작이 수행될 수 있고, 소정 동작이 수행된 결과는 출력부(1200)를 통해 출력될 수 있다.
디스플레이부(1210)는 전자 장치(1000)에서 처리되는 정보를 표시 출력한다.
한편, 디스플레이부(1210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(1210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 전자 장치(1000)의 구현 형태에 따라 전자 장치(1000)는 디스플레이부(1210)를 2개 이상 포함할 수도 있다.
음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다.
진동 모터(1230)는 진동 신호를 출력할 수 있다. 또한, 진동 모터(1230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
프로세서(1300)는, 통상적으로 전자 장치(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다. 전자 장치(1000)는 적어도 하나의 프로세서(1300)를 포함할 수 있다.
프로세서(1300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(1700)로부터 프로세서(1300)에 제공되거나, 통신부(1500)를 통해 수신되어 프로세서(1300)로 제공될 수 있다. 예를 들면 프로세서(1300)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일 실시 예에 의한 프로세서(1300)는 사용자의 행동 데이터를 수집하고, 수집된 행동 데이터에 대한 인증을 수행할 수 있다. 프로세서(1300)는, 전자 장치(1000)가 참여하는 블록 체인(300)에 등록된 사용자의 적어도 하나의 행동 데이터에 기초하여 학습된 인증 모델을 이용하여 인증을 수행할 수 있다. 프로세서(1300)는, 행동 데이터에 대한 인증이 수행된 결과에 따라, 인증된 행동 데이터를, 블록 체인(300)에 제출할 수 있다. 블록 체인(300)에 제출된 행동 데이터는, 블록 체인(300)에 참여하는 노드들 간의 합의가 도출됨에 따라, 새로운 블록으로 블록 체인(300)에 추가됨으로써, 블록 체인(300)에 등록될 수 있다.
센싱부(1400)는, 전자 장치(1000)의 상태 또는 전자 장치(1000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(1300)로 전달할 수 있다. 일 실시 예에 의하면, 센싱부(1400)에 의해 감지된 정보는, 사용자에 대하여 수집된 행동 데이터로써, 프로세서(1300)로 전달될 수 있다.
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
통신부(1500)는, 전자 장치(1000)가 서버(2000) 또는 외부 장치(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
일 실시 예에 의한 통신부(1500)는, 프로세서(1300)에 의해 인증된 사용자의 행동 데이터를 블록 체인(300)으로 전달할 수 있다. 예를 들면, 통신부(1500)는, 블록 체인(300)에 참여하는 적어도 하나의 노드가 행동 데이터를 검증할 수 있도록, 상기 적어도 하나의 노드로, 상기 인증된 행동 데이터를 전달할 수 있다.
근거리 통신부(short-range wireless communication unit)(1510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 장치(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다.
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수도 있다.
일 실시 예에 의한 메모리(1700)는 전자 장치(1000)에서 수집된 사용자의 행동 데이터와, 사용자의 행동 데이터를 인증하는데 이용되는 인증 모델을 저장할 수 있다. 또한, 메모리(1700)는, 블록 체인(300)과 관련된 정보로, 스마트 계약 및 분산 원장과 관련된 정보를 더 저장할 수 있다. 메모리(1700)에 저장된 스마트 계약 및 분산 원장과 관련된 정보에 기초하여, 전자 장치(1000)는, 블록 체인(300)에 인증된 행동 데이터를 제출하거나, 블록 체인(300)에 등록된 블록에 관한 정보를 이용하여 인증 모델을 갱신할 수 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 전자 장치(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(1730)은 전자 장치(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다.
도 6은 일 실시 예에 의한 사용자 인증을 수행하는 방법을 나타낸 순서도이다.
도 6을 참조하면, 단계 610에서, 전자 장치(1000)는 블록 체인(300)에 등록된 행동 데이터에 기초하여 학습된, 인증 모델을 획득할 수 있다. 인증 모델은 전자 장치(1000)의 메모리에 저장될 수 있고, 블록 체인(300)에 새로운 블록이 등록될 때마다, 전자 장치(1000)에서 새로운 블록의 행동 데이터에 기초하여 재 학습됨으로써 갱신될 수 있다. 일 실시 예에 의한 인증 모델은, 전자 장치(1000) 내부에서 학습되고, 이용되므로, 인증 모델에 대한 외부로부터의 공격에 강인할 수 있다. 상술한 예에 한하지 않고, 인증 모델은 분산 파일 시스템에 따라 다양한 장치에 저장되거나 전자 장치(1000)와 연결된 외부 서버에 저장될 수도 있다.
단계 620에서, 전자 장치(1000)는 사용자로부터 수집된 행동 데이터를 획득할 수 있다. 예를 들면, 전자 장치(1000)는 센서에 의해 감지된 사용자의 생체 정보, 환경 정보 및 입력 인터페이스를 통해 수신된 사용자의 입력 정보 등을 사용자의 행동 데이터로 획득할 수 있다. 상술한 예에 한하지 않고, 전자 장치(1000)는 사용자와 관련된 다양한 종류의 데이터를 행동 데이터로 획득할 수 있다.
단계 630에서, 전자 장치(1000)는 단계 610에서 획득된 인증 모델을 이용하여 행동 데이터에 대한 인증을 수행할 수 있다. 예를 들면, 전자 장치(1000)는, 인증 모델을 이용하여, 행동 데이터의 사용자가 진정한 사용자일 가능성을 나타내는 신뢰도 값을 획득할 수 있다. 일 예로, 인증 모델에 의한 사용자의 행동 패턴 및 행동 데이터에 의한 사용자의 행동 패턴이 일치할수록 높은 신뢰도 값이 획득될 수 있다.
단계 640에서, 전자 장치(1000)는 단계 630에서 수행된 인증 결과에 기초하여, 인증된 행동 데이터를 블록 체인(300)에 제출할 수 있다. 예를 들면, 행동 데이터에 대한 신뢰도 값이 기준 값 이상인 경우, 전자 장치(1000)는, 행동 데이터로 나타나는 사용자가 진정한 사용자인 것으로 판단하고, 상기 행동 데이터를 진정한 사용자에 대한 행동 데이터로서 블록 체인(300)에 제출할 수 있다. 블록 체인(300)에 제출된 행동 데이터는, 블록 체인(300)에 참여하는 노드들 간의 합의 도출 과정을 통하여, 블록 체인(300)에 등록될 수 있다.
또한, 전자 장치(1000)는, 상기 블록 체인(300)에 제출된 행동 데이터가 블록 체인(300)에 등록되면, 상기 등록된 행동 데이터에 기초하여 인증 모델을 갱신할 수 있다. 전자 장치(1000)에 의해 블록 체인(300)에 등록된 행동 데이터에 기초하여 갱신되는 인증 모델은 전자 장치(1000)에서 일 실시 예에 따라 사용자 인증을 수행하는데 이용되는 인증 모델일 수 있다.
또한, 전자 장치(1000)는, 단계 630에서 수행된 인증 결과, 사용자로부터 수집된 행동 데이터가 인증된 경우, 사용자로부터 요청된 동작을 수행할 수 있다. 예를 들어, 전자 장치(1000)는, 행동 데이터에 대한 인증 결과에 기초하여, 사용자가 요청한 고도의 보안이 요구되는 동작을 수행할 수 있다.
일 실시 예에 따라 수집된 행동 데이터가 인증된 경우, 행동 데이터가 수집된 시점을 기준으로 설정된 일 세션 동안, 사용자로부터 요청된 동작이, 전자 장치(1000)에 의해 수행될 수 있다. 예를 들면, 행동 데이터가 수집된 시점부터 미리 설정된 구간까지의 시간 구간이 상기 일 세션으로 설정될 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 세션이 종료되기 전에 행동 데이터를 지속적으로 수집하고 수집된 행동 데이터에 대한 인증을 반복적으로 수행함으로써, 일정 수준의 보안 상태를 계속 유지할 수 있다.
도 7은 일 실시 예에 의한 전자 장치(1000)가 행동 데이터를 블록 체인(300)에 제출하는 방법을 나타낸 순서도이다.
도 7을 참조하면, 단계 701에서 전자 장치(1000)는 일 실시 예에 따라 사용자의 행동 데이터를 수집하고, 단계 702에서 전자 장치(1000)에 구비된 스마트 계약(700)에 인증을 요청할 수 있다. 예를 들면, 전자 장치(1000)는 사용자의 인지 없이 연속 인증을 주기적으로 수행하기 위해, 주기적으로 수집된 행동 데이터에 기초하여 스마트 계약(700)에 인증을 주기적으로 요청할 수 있다.
스마트 계약(700)은, 미리 설정된 조건이 만족되면, 전자 장치(1000)로 하여금 미리 설정된 동작을 자동으로 이행하게 하는, 전자 장치(1000) 내부에 설치된 사용자 인터페이스일 수 있다.
단계 703에서, 스마트 계약(700)은, 전자 장치(1000)의 요청에 따라 행동 데이터에 대한 인증을 수행할 수 있다. 예를 들면, 스마트 계약(700)은 전자 장치(1000)에 저장된 인증 모델에 기초하여, 행동 데이터에 대한 신뢰도 값을 획득할 수 있다. 일 실시 예에 의하면, 신뢰도 값이 기준값 이하이면, 스마트 계약(700)은 사용자 인증을 위한 다른 행동 데이터를 추가로 획득하고, 다른 행동 데이터에 기초하여, 신뢰도 값을 다시 획득할 수 있다. 스마트 계약(700)은, 행동 데이터 또는 추가로 획득된 행동 데이터의 신뢰도 값이 기준값 이상이면, 사용자 인증이 성공한 것으로 결정할 수 있다.
단계 704에서, 스마트 계약(700)은, 행동 데이터에 대한 신뢰도 값 또는, 추가로 획득된 다른 행동 데이터에 대한 신뢰도 값에 기초하여, 전자 장치(1000)에 인증 결과를 전달할 수 있다. 일 실시 예에 의하면, 스마트 계약(700)에 의해 인증 결과가 전달됨으로써, 사용자에 의해 요청된 동작이 단계 703에서의 인증 결과에 따라 자동으로 수행될 수 있다.
단계 705에서, 전자 장치(1000)는 스마트 계약(700)으로부터 전달된 인증 결과에 기초하여 동작을 수행할 수 있다. 예를 들어, 전자 장치(1000)는 스마트 계약(700)으로부터 전달된 인증 결과에 기초하여 사용자에 의해 요청된 동작을 수행할 지 여부를 결정할 수 있다.
단계 706에서, 전자 장치(1000)는 스마트 계약(700)에 의해 인증된 행동 데이터를 블록 체인(300)에 제출할 수 있다. 블록 체인(300)에 제출된 행동 데이터는, 블록 체인(300)에 참여하는 노드들 간의 합의가 도출됨에 따라 블록 체인(300)에 새로운 블록으로서 등록될 수 있다.
블록 체인(300)에 새로운 블록이 등록되면, 새로 등록된 블록에 관한 정보를 블록 체인(300)에 참여하는 각 노드들의 분산 원장에도 반영하기 위하여, 전자 장치(1000)는 단계 707에서 분산 원장 갱신을 위한 데이터를 수신할 수 있다. 전자 장치(1000)는, 단계 707에서 블록 체인(300)로부터 수신된 데이터에 기초하여, 전자 장치(1000)에 저장된 분산 원장을 갱신할 수 있다.
도 8은 일 실시 예에 의한 2단계로 사용자 인증을 수행하는 방법을 나타낸 순서도이다.
일 실시 예에 의하면, 사용자 인증은, 아이디, 패스워드를 이용한 인증 방식에 의한 1차 인증 및 행동 데이터에 대한 연속 인증 방식에 의한 2차 인증의 2단계로 수행될 수 있다. 도 8에 도시된 방법은, 상술한 1차 인증 후 2차 인증을 수행하는 방법을 나타낸다.
도 8을 참조하면, 단계 801에서, 사용자(100)는 전자 장치(1000)에 정보 A를 제공하여 줄 것을 요청할 수 있다. 정보 A는 개인 정보, 금융 정보 등의 고도의 보안이 요구되는 정보일 수 있다. 일 실시 예에 의하면, 단계 801에서 사용자(100)는, 정보 요청 대신 특정한 동작을 전자 장치(1000)에 요청할 수도 있다. 동작을 요청하는 경우에도, 정보를 요청하는 경우와 동일하게 일 실시 예에 의한 사용자 인증이 수행될 수 있다.
단계 802에서, 전자 장치(1000)는, 사용자(100)의 정보 제공 요청에 따라서, 사용자(100)의 비밀 정보, 예를 들면, 아이디 및 패스워드 정보, 지문 인증 정보, 얼굴 인증 정보, 패턴 인증 정보 등을 제공하여 줄 것을 요청할 수 있다. 사용자(100)의 비밀 정보는 사용자(100)가 진정한 사용자임을 증명하기 위한 정보를 포함할 수 있다. 또한, 사용자(100)의 비밀 정보는 전자 장치(1000)의 인증 정보 요청에 따라 사용자(100)의 직접적인 입력을 통해 전자 장치(1000)에 제공될 수 있다.
단계 803에서 사용자(100)는 전자 장치(1000)의 요청에 따라 비밀 정보를 제공할 수 있다. 또한, 단계 804에서, 전자 장치(1000)는 사용자(100)로부터 제공된 비밀 정보에 대하여 인증을 수행할 수 있다. 예를 들면, 사용자(100)로부터 제공된 비밀 정보에 기초하여, 전자 장치(1000)는 1차 인증을 수행함으로써 사용자(100)가 진정한 사용자가 맞는지에 대하여 판단할 수 있다.
일 실시 예에 의한 1차 인증은, 2차 인증과는 달리 인증 모델을 이용하지 않고, 사용자를 인증하기 위한 다양한 방법에 따라 수행될 수 있다.
단계 805에서, 전자 장치(1000)는 1차 인증이 성공한 경우에, 2차 인증을 추가로 수행할 수 있다. 예를 들면, 전자 장치(1000)는 사용자(100)로부터 수집된 행동 데이터에 기초하여, 사용자(100)에 대한 신뢰도 값을 획득할 수 있다. 상기 2차 인증은, 1차 인증이 수행된 후 일 세션 동안 수집된 행동 데이터에 기초하여 수행될 수 있다.
예를 들면, 전자 장치(1000)는, 사용자(100)가 비밀 정보를 전자 장치(1000)에 제공하기 위하여 수행된 동작을 나타내는, 행동 데이터에 대하여, 인증 모델을 이용하여 신뢰도 값을 획득할 수 있다. 행동 데이터는, 사용자(100)가 비밀 정보를 전자 장치(1000)에 제공하기 위하여 입력한 데이터의 값, 사용자(100)가 비밀 정보를 입력한 때의 전자 장치(1000)의 위치, 사용자(100)가 비밀 정보를 전자 장치(1000)에 제공하기 위하여 데이터를 입력하는데 걸린 시간 등을 포함할 수 있다. 일 실시 예에 의한 행동 데이터는, 사용자(100)가 1차 인증을 위해 입력한 비밀 정보도 포함할 수 있다. 상술한 예에 한하지 않고, 전자 장치(1000)는 사용자(100)에 대한 다양한 종류의 행동 데이터를 수집할 수 있다.
전자 장치(1000)는, 신뢰도 값에 기초하여, 2차 인증을 수행할 수 있다. 예를 들어, 전자 장치(1000)는 신뢰도 값이 기준값 이상이면, 2차 인증이 성공한 것으로 판단할 수 있고, 기준값 이상의 신뢰도 값을 가지는 행동 데이터가 블록 체인(300)에 제출될 수 있다. 반면, 신뢰도 값이 기준값 이하이면, 전자 장치(1000)는 2차 인증은 실패한 것으로 판단할 수 있고, 기준값 이하의 신뢰도 값을 가지는 행동 데이터는 블록 체인(300)에도 제출되지 않을 수 있다.
단계 806에서, 전자 장치(1000)는, 1차 인증 및 2차 인증의 수행 결과에 기초하여, 사용자(100)에게 사용자(100)가 요청한 정보 A를 제공할 수 있다. 예를 들어, 전자 장치(1000)는 1차 인증이 성공한 경우, 1차 인증이 성공한 시점을 기준으로 설정된 일 세션 동안에는, 2차 인증을 주기적으로 수행하여, 사용자를 연속적으로 인증할 수 있다. 2차 인증을 수행하기 위한 행동 데이터는 사용자가 직접 입력할 필요 없이, 사용자로부터 지속적으로 수집될 수 있다. 전자 장치(1000)는 지속적으로 수집된 행동 데이터에 기초하여, 2차 인증을 반복하여 수행할 수 있다.
단계 807에서, 사용자(100)는 전자 장치(1000)로부터 제공된 정보 A를 활용하거나, 전자 장치(1000)에서 정보 A를 활용하여 다른 동작을 수행하도록 전자 장치(1000)를 제어할 수 있다.
도 9는 일 실시 예에 의한 2차 인증을 수행하는 방법을 나타낸 순서도이다. 도 9는, 상술한 1차 인증이 성공한 이후 설정된 일 세션 동안에 2차 인증을 수행하는 방법을 나타낸다.
도 9를 참조하면, 사용자(100)는 단계 901에서, 전자 장치(1000)에 정보 B를 제공하여 줄 것을 요청할 수 있다. 전자 장치(1000)는 사용자(100)의 요청에 따라 정보 B를 제공할지 여부를 결정하기 위해 사용자를 인증하기 위한 연속 인증을 사용자의 행동 데이터에 기초하여 지속적으로 수행할 수 있다.
일 실시 예에 의하면, 1차 인증이 성공한 이후 설정된 일 세션 동안에는 2차 인증이 수행될 수 있으며, 2차 인증은, 사용자에 인증을 위한 비밀 정보를 요청하는 과정 없이, 사용자로부터 수집된 다양한 종류의 행동 데이터에 기초하여 수행될 수 있다.
전자 장치(1000)는 단계 902에서, 수집한 사용자(100)의 행동 데이터에 대한 신뢰도 값을 인증 모델을 이용하여 획득함으로써, 2차 인증을 수행할 수 있다. 예를 들면, 신뢰도 값이 기준값 이상이면 전자 장치(1000)는 2차 인증이 성공한 것으로 결정할 수 있다.
단계 903에서, 전자 장치(1000)는 2차 인증이 수행된 결과에 따라 사용자(100)에게 정보 B를 제공하여 줄 수 있다.
단계 904에서, 사용자(100)는 전자 장치(1000)로부터 제공된 정보 B를 활용하거나, 전자 장치(1000)에서 정보 B를 활용하여 다른 동작을 수행하도록 전자 장치(1000)를 제어할 수 있다.
도 10은 일 실시 예에 의한 2차 인증을 수행하는 방법을 나타낸 순서도이다. 도 10는, 상술한 1차 인증이 성공한 이후 설정된 일 세션 동안에 2차 인증을 수행하는 방법을 나타낸다. 도 9와는 달리 도 10에 의하면, 2차 인증이 실패한 경우, 사용자로부터 수신한 추가 정보에 기초하여, 2차 인증이 추가로 수행될 수 있다.
도 10을 참조하면, 단계 1001에서, 사용자(100)는 전자 장치(1000)에 정보 C를 제공하여 줄 것을 요청할 수 있다. 전자 장치(1000)는 사용자(100)의 요청에 따라 정보 C를 제공할지 여부를 결정하기 위해 사용자를 인증하기 위한 연속 인증을 사용자의 행동 데이터에 기초하여 지속적으로 수행할 수 있다.
단계 1002에서, 전자 장치(1000)는 1차 인증이 성공한 이후 설정된 일 세션 동안에 2차 인증을 주기적으로 수행한 결과, 현재 수집된 사용자의 행동 데이터로부터 신뢰도 값을 획득할 수 있다. 2차 인증은, 사용자에 인증을 위한 비밀 정보를 요청하는 과정 없이, 사용자로부터 수집된 행동 데이터에 기초하여 수행될 수 있다.
단계 1003에서, 전자 장치(1000)는 신뢰도 값이 기준값 이하인 경우, 사용자(100)에게 사용자 인증을 위한 추가 정보를 제공하여 줄 것을 요청할 수 있다. 예를 들어, 전자 장치(1000)는 사용자(100)가 진정한 사용자임을 증명할 수 있는 비밀 정보를 사용자(100)에게 추가로 요청할 수 있다. 추가로 요청될 수 있는 비밀 정보는 일 예로, 사용자(100)의 생년월일 정보, 주소 정보, 가족 관계 정보 등을 포함할 수 있다. 상술한 예에 한하지 않고, 사용자(100)가 진정한 사용자임을 증명할 수 있는 다양한 종류의 정보가 비밀 정보로서 사용자(100)에게 요청될 수 있다.
단계 1004에서, 사용자(100)는 전자 장치(1000)의 요청에 응답하여 추가 정보를 제공할 수 있다. 단계 1005에서, 전자 장치(1000)는 사용자(100)로부터 제공된 추가 정보에 기초하여, 사용자(100)에 대한 인증을 수행할 수 있다. 예를 들면, 사용자(100)로부터 제공된 추가 정보에 대하여 인증 모델에 기초한 신뢰도 값이 결정될 수 있다.
상술한 예에 한하지 않고, 전자 장치(1000)는 추가 정보를 사용자(100)에게 직접 요청하는 대신, 사용자(100)의 직접적인 입력 없이 사용자(100)로부터 수집된 다른 행동 데이터를 추가로 획득함으로써, 추가 정보를 획득할 수 있다.
단계 1005에서, 전자 장치(1000)는, 추가 정보에 기초하여, 사용자 인증을 다시 수행할 수 있다. 예를 들어, 전자 장치(1000)는 추가 정보에 기초하여 획득된 신뢰도 값이 기준값 이상이면, 사용자 인증이 성공한 것으로 판단할 수 있고, 신뢰도 값을 구하는데 이용된 추가 정보가 인증된 행동 데이터로서 블록 체인(300)에 제출될 수 있다. 반면, 신뢰도 값이 기준값 이하이면, 전자 장치(1000)는 사용자 인증은 실패한 것으로 판단할 수 있고, 추가 정보는 블록 체인(300)에도 제출되지 않을 수 있다.
단계 1006에서, 전자 장치(1000)는 단계 1005에서 수행된 사용자 인증의 결과에 따라 사용자(100)에게 정보 C를 제공하여 줄 수 있다.
단계 1007에서, 사용자(100)는 전자 장치(1000)로부터 제공된 정보 C를 활용하거나, 전자 장치(1000)에서 정보 C를 활용하여 다른 동작을 수행하도록 전자 장치(1000)를 제어할 수 있다.
도 11은 일 실시 예에 의한 행동 데이터에 기초하여 사용자 인증을 수행하는 일 예를 나타낸 도면이다.
도 11에 도시된 예는, 행동 데이터가 음성 데이터인 경우에 사용자에 대한 인증을 수행하는 방법을 나타낸 것이다. 일 실시 예에 의하면, 행동 데이터가 음성 데이터인 경우에 한하지 않고, 다양한 종류의 행동 데이터가 획득됨으로써, 사용자에 대한 인증이 수행될 수 있다.
도 11을 참조하면, 단계 1101에서 전자 장치(1000)는 사용자(100)의 행동 데이터로서, 음성 데이터를 획득할 수 있다. 일 실시 예에 의하면, 사용자(100)의 인지 없이, 사용자 인증을 위하여, 전자 장치(1000)가 일 세션 동안 지속적으로 사용자의 음성 데이터를 수신함으로써 획득할 수 있다.
단계 1102에서, 전자 장치(1000)는 획득된 사용자(100)의 음성 데이터에 대하여 특징을 추출할 수 있다. 음성 데이터에 대한 특징 추출은, MFCC (Mel-frequency cepstrum coefficients), LPC (Linear predictive coding) 등의 방법을 통해 수행될 수 있다. 상술한 예에 한하지 않고, 다양한 방법에 따라 음성 데이터에 대한 특징이 추출될 수 있다.
단계 1103에서, 전자 장치(1000)는 음성 데이터에 대하여 추출된 특징 정보를 사용자 모델(1103) 및 UBM(universal background model, 1104)에 각각 적용시킬 수 있다.
상술한 사용자 모델은 예를 들면, 가우시안 혼합 모델(GMM, Gaussian mixture model)에 의하여, 사용자(100)에 대한 다수의 음성 데이터에 기초하여 학습된 모델일 수 있다. 또한, UBM은 다양한 종류의 음악들의 일반적인 특징 분포 모델이다. 상술한 예에 한하지 않고, 음성 데이터에 대하여, 다양한 방식으로 학습된 모델이 이용될 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 음성 데이터에 대하여 추출된 특징 정보가 사용자 모델(1103)에 의한 패턴에 가까운지, UBM에 의한 패턴에 가까운지 여부를 판단할 수 있다. 음성 데이터에 대하여 추출된 특징 정보가 사용자 모델(1103)에 의한 패턴에 가까운지 및 UBM에 의한 패턴에 가까운지 여부를 나타내는 값은 각각 LLuser 및 LLubm 로 나타날 수 있다.
단계 1105에서, 전자 장치(1000)는, 음성 데이터에 대하여 추출된 특징 정보가 사용자 모델(1103)에 의한 패턴에 가까운지를 나타내는, LLuser이 더 큰지, 음성 데이터에 대하여 추출된 특징 정보가 UBM에 의한 패턴에 가까운지 여부를 나타내는 LLubm 이 더 큰지 여부를 판단할 수 있다.
예를 들면, 사용자 인증을 위한 행동 데이터의 신뢰도 값은, LLuser 및 LLubm의 대비 값에 기초하여 결정될 수 있다. 일 예로, LLuser / LLubm 값이 신뢰도 값이고, 기준값이 1인 경우, 전자 장치(1000)는, LLuser / LLubm 값이 1보다 큰 값을 가지는지에 기초하여, 사용자 인증을 수행할 수 있다. 상술한 예에 한하지 않고, 신뢰도 값은, 다양한 방법으로, LLuser 및 LLubm의 값에 기초하여 결정될 수 있다.
LLuser이 더 큰 경우, 전자 장치(1000)는, 사용자 인증을 위한 행동 데이터의 신뢰도 값이 기준값 보다 큰 경우에 해당되는 것으로 판단할 수 있다. 따라서, 단계 1106에서, 전자 장치(1000)는 단계 1101에서 획득된 음성 데이터는 진정한 사용자의 음성 데이터인 것으로 판단하여, 인증을 성공한 것으로 결정할 수 있다.
반면, LLubm 이 더 큰 경우, 전자 장치(1000)는, 사용자 인증을 위한 행동 데이터의 신뢰도 값이 기준값 보다 작은 경우에 해당되는 것으로 판단할 수 있다. 따라서, 단계 1107에서, 전자 장치(1000)는 단계 1101에서 획득된 음성 데이터는 진정한 사용자의 음성 데이터로 보기 어렵다고 판단하여, 인증을 실패한 것으로 결정할 수 있다.
도 12는 일 실시 예에 의한 전자 장치(1000)가 블록 체인(300)에 참여하는 한 노드(1201)를 통해 블록 체인(300)의 노드로서 동작하는 일 예를 나타낸 도면이다.
도 12를 참조하면, 전자 장치(1000)는 사용자(100)로부터 행동 데이터를 수집하여 사용자(100)에 대한 인증을 수행할 수 있다. 전자 장치(1000)는 인증 모델을 이용하여 수집된 행동 데이터에 대한 인증을 수행함으로써, 사용자(100)에 대한 인증을 수행할 수 있다. 인증에 이용되는 인증 모델은, 전자 장치(1000)가 노드로서 참여하는 블록 체인(300)의 분산 원장에 등록된 행동 데이터에 기초하여 갱신될 수 있다.
일 실시 예에 의한 전자 장치(1000)는 블록 체인(300)에 참여하는 노드로서, 블록 체인(300)에 대한 등록 여부를 결정하기 위해 행동 데이터를 검증하거나, 블록 체인(300)에 등록된 블록들에 관한 정보를 포함하는 분산 원장에 관한 데이터를 저장할 수 있다.
다만, 일 실시 예에 의한 전자 장치(1000)의 연산 능력이 부족한 경우, 전자 장치(1000)는 행동 데이터를 검증하는 동작을 수행하지 않을 수 있다. 예를 들면, 블록 체인(300)에 등록될 수 있는 행동 데이터를 검증하는 동작은, 전자 장치(1000) 대신 연산 능력이 좋은 다른 블록 체인 노드(1201)에서 수행될 수 있다.
또한, 전자 장치(1000)의 메모리의 크기가 블록 체인(300)의 분산 원장을 저장하기에 부족한 경우, 전자 장치(1000)는 블록 체인(300)에 참여하는 블록 체인 노드(1201)를 통해 분산 원장의 데이터를 획득할 수 있다. 전자 장치(1000)는, 다른 블록 체인 노드(1201)에 저장된 분산 원장의 데이터에 기초하여, 전자 장치(1000)에서 이용되는 인증 모델을 갱신할 수 있다.
상술한 다른 블록 체인 노드(1201)는, 전자 장치(1000)보다 연산 능력 및 저장 능력이 더 좋은 장치로서, 블록 체인(300)에 풀 노드로 참여하는 장치일 수 있다.
도 13은 일 실시 예에 의한 블록 및 블록체인의 구조를 설명하기 위한 블록도이다.
도 13에 도시된 바와 같이, 블록 체인(300)은 유효한 거래 정보들을 기록한 블록들(1350, 1360, 1370)이 연결되어 구성될 수 있다. 즉, 블록 체인(300)의 데이터 구조는 거래 정보(1359, 1369, 1379)를 기록한 블록들이 순서대로 정렬된 단위로 구성된 소정의 데이터 구조일 수 있다.
일 실시 예에 의한 거래 정보(1359, 1369, 1379)는, 블록 체인(300)에 등록된 행동 데이터에 관한 정보를 포함할 수 있다. 따라서, 일 실시 예에 의한 인증된 행동 데이터는, 거래 정보로서 블록 체인(300)을 구성하는 블록에 포함될 수 있다.
또한, 블록 체인(300)의 데이터 구조는 각 블록 헤더가 이전 블록 헤더를 참조하여 체인 형식으로 연결된 데이터 구조, 및 거래 정보의 데이터를 가리키는 해시 참조와 거래 정보의 데이터가 트리 형태로 연결된 머클 트리의 데이터 구조로 구성될 수 있다.
블록 체인(300)에 포함된 블록들(1350, 1360, 1370)은 블록 해시(1351, 1361, 1371), 블록 헤더(1352, 1362, 1372), 거래 정보(1359, 1369, 1379) 등을 포함할 수 있다. 또한, 블록 헤더(1352, 1362, 1372)는 현재 프로그램의 버전(1353, 1363, 1373), 이전 블록 헤더의 해시값(1354, 1364, 1374), 머클 트리의 루트(1355, 1365, 1375), 타임스태프(1356, 1366, 1376), 난이도(1357, 1367, 1377) 및 난스(nonce, 1358, 1368, 1378)의 정보를 포함할 수 있다.
블록 해시(1351, 1361, 1371)는 현재 프로그램의 버전(1353, 1363, 1373), 이전 블록 헤더의 해시값(1354, 1364, 1374), 머클 트리의 루트(1355, 1365, 1375), 타임스태프(1356, 1366, 1376), 난이도(1357, 1367, 1377) 및 난스(1358, 1368, 1378)의 정보를 입력값으로 하여 적용된 해시 함수의 해시값일 수 있다. 즉, 블록 해시(1351, 1361, 1371)의 값은 블록 전체를 해시한 값이 아니라, 블록 헤더(1352, 1362, 1372)를 해시한 값일 수 있다.
이전 블록 헤더의 해시값(1354, 1364, 1374)은 각 블록 헤더(1352, 1362, 1372)를 고유하게 식별하고, 이전 블록 헤더를 참조하기 위해 사용될 수 있다. 각 블록 헤더(1352, 1362, 1372)가 이전 블록 헤더를 참조하면, 개별 블록 헤더와 블록의 순서는 유지될 수 있다.
도 13을 참조하면, 제1 블록(1350)은 최초 블록이어서 이전 블록이 없으므로, 이전 블록 헤더를 가리키는 어떠한 참조도 없다. 따라서, 제1 블록(1350)의 이전 블록 헤더의 해시값(1354)은 0이다. 또한, 제2 블록(1360)은 이전 블록인 제1 블록(1350)이 있으므로, 제2 블록 헤더(1362)는 제1 블록 헤더(1352)를 가리키는 해시값(1364)을 갖는다. 마찬가지로, 제3 블록(1370)은 이전 블록인 제2 블록(1360)이 있으므로, 제3 블록 헤더(1372)는 제2 블록 헤더(1362)를 가리키는 해시값(1374)을 갖는다.
머클 트리는 해시 참조와 거래 정보의 데이터가 트리 형태로 연결되어 있는 구조를 의미할 수 있다. 해시 참조는 암호화 해시값을 이용하여 거래 정보의 데이터를 가리키는 것을 의미할 수 있다. 한편, 암호화 해시값은 데이터의 고유값이므로, 서로 다른 데이터들은 동일한 해시값을 갖지 않는다.
머클 트리가 생성되는 과정을 구체적으로 설명하면, 거래 정보(예를 들면, 제1 거래 정보, 제2 거래 정보, 제3 거래 정보, 제4 거래 정보)의 데이터 각각을 가리키는 해시 참조(예를 들면, 제1 해시 참조, 제2 해시 참조, 제3 해시 참조, 제4 해시 참조)가 생성될 수 있다. 해시 참조가 생성되면, 해시 참조의 쌍을 가리키는 해시 참조(예를 들면, 제1 해시 참조와 제2 해시 참조를 가리키는 제12 해시 참조, 제3 해시 참조와 제4 해시 참조를 가리키는 제34 해시 참조)가 생성될 수 있다. 그리고 나서, 해시 참조의 쌍을 가리키는 해시 참조를 생성하는 작업이 반복 수행되어 단일 해시 참조(예를 들면, 제12 해시 참조와 제34 해시 참조를 가리키는 제1234 해시 참조)가 생성될 수 있다. 즉, 머클 트리는 단일 해시 참조에서 시작되어 각 거래 정보의 데이터까지 연결된 트리 형태의 구조일 수 있다. 머클 트리의 루트(1355, 1365, 1375)는 최종적으로 생성된 단일 해시 참조를 의미할 수 있다.
타임스태프(1356, 1366, 1376)는 작업 증명을 위해 작업을 시작한 시각을 의미할 수 있다.
난이도(1357, 1367, 1377)는 작업 증명 또는 해시 퍼즐에서의 제약 조건을 의미할 수 있다.
난스(1358, 1368, 1378)는 작업 증명을 위해 블록해시의 값이 제약 조건을 만족하도록 조절되는 값을 의미할 수 있다.
도 14은 일 실시 예에 의한 사용자 인증을 활용하는 실시예를 나타낸 도면이다.
도 14를 참조하면, 사용자(100) 주변의 다양한 전자 장치들(1401, 1402, 1403, 1404, 1405)은, 사용자(100)로부터 다양한 종류의 행동 데이터를 수집함으로써, 사용자(100)에 대해 인증을 수행할 수 있다.
일 실시 예에 의한 로봇 청소기(1401)는 집안 환경에 관한 다양한 데이터를 수집하여 집안 구조에 대한 맵 데이터를 생성할 수 있다. 예를 들어, 로봇 청소기(1401)는, 집안을 돌아다니면서 이동 거리, 충돌 지점 등을 측정함으로써, 방 크기, 거실 크기, 각 방의 위치 등을 파악하고, 파악한 정보에 기초하여 맵 데이터를 구성할 수 있다.
또한, 로봇 청소기(1401)는, 사용자(100)는 스마트폰(1402)을 항상 휴대하고 있는 것으로 가정하고, 사용자(100)의 스마트폰(1402)에 사용자(100)의 현재 위치에 관한 정보를 요청할 수 있다. 로봇 청소기(1401)는 상기 구성된 맵 데이터에 스마트폰(1402)으로부터 수신된 사용자(100)의 위치 정보를 추가할 수 있다.
로봇 청소기(1401)는, 맵 데이터 상의 사용자(100)의 위치 정보에 기초하여, 이동 경로를 결정할 수 있다. 예를 들면, 로봇 청소기(1401)는 사용자(100)가 위치하는 방에는 이동하지 않도록, 이동 경로를 결정할 수 있다.
또한, 일 실시 예에 의한 로봇 청소기(1401)는, 스마트폰(1402)으로부터 수신된 사용자(100)의 위치 정보에 기초하여, 사용자 인증을 수행할 수 있다. 일 실시 예에 의하면, 사용자(100)의 위치 정보를 행동 데이터로 수집하고, 행동 데이터를 로봇 청소기(1401)의 인증 모델에 기초하여 인증할 수 있다. 로봇 청소기(1401)는 인증 결과에 따라 사용자(100)의 위치 정보를 행동 데이터로서, 블록 체인(300)에 제출할 수 있다. 블록 체인(300)에 제출된 행동 데이터가 등록되면, 로봇 청소기(1401)에서 수집된 행동 데이터가 다른 전자 장치에서 이용되는 인증 모델을 갱신하는데 이용될 수 있다.
일 실시 예에 의한 스마트폰(1402)은 다양한 종류의 센서를 이용하여 사용자(100)의 생체 정보, 위치 정보, 이동 정보 등을 행동 데이터로서 수집할 수 있다. 예를 들면, 사용자(100)의 생체 정보는, 사용자(100)의 지문 정보, 홍채 정보, 얼굴 인식 정보, 맥박 정보, 심장박동 정보 등 사용자(100)의 생체에 관한 다양한 종류의 정보를 포함할 수 있다. 또한, 사용자(100)의 위치 정보는, 센서에 의해 감지될 수 있는 GPS 정보, 와이파이 및 블루투스 접속을 통해 판단될 수 있는 스마트폰(1402)의 위치 정보 등 사용자(100)의 위치에 관한 다양한 종류의 정보를 포함할 수 있다. 또한, 사용자(100)의 이동 정보는, 가속도 센서, 중력 센서 등에 의해 감지될 수 있는 사용자(100)의 이동에 관한 다양한 종류의 정보를 포함할 수 있다. 예를 들면, 사용자(100)의 이동 정보는, 사용자(100)가 스마트폰(1402)을 들고 스마트 TV(1404)에서 스마트 냉장고(1405) 쪽으로 이동하는 동작과 관련된 정보를 포함할 수 있다.
또한, 일 실시 예에 의한 스마트폰(1402)은, 센서에 의해 감지된 다양한 종류의 사용자(100)에 관한 정보에 기초하여, 사용자 인증을 수행할 수 있다. 예를 들면, 스마트폰(1402)은 생체 정보를 스마트폰(1402)의 인증 모델에 기초하여 인증할 수 있고, 인증 결과에 따라 사용자(100)의 생체 정보를 행동 데이터로서, 블록 체인(300)에 제출할 수 있다. 블록 체인(300)에 제출된 행동 데이터가 등록되면, 스마트폰(1402)에서 수집된 행동 데이터가 다른 전자 장치에서 이용되는 인증 모델을 갱신하는데 이용될 수 있다. 또한, 스마트폰(1402)은, 인증 결과에 따라, 보안이 요구되는 동작을 수행하고, 그 결과를 사용자(100)에게 제공할 수 있다.
일 실시 예에 의하면, 스마트폰(1402)은 사용자(100)로부터 인증을 위한 정보를 직접적으로 수신함으로써, 1차 인증을 수행할 수 있다. 예를 들면, 사용자(100)는 인증을 위한 정보로, 아이디 및 패스워드 정보를 입력하거나, 지문 인증을 위해 지문을 스마트폰(1402)에 입력하거나, 패턴 정보를 입력하거나, 얼굴 인증을 위해 얼굴 촬영을 수행하는 등 다양한 정보를 스마트폰(1402)에 입력할 수 있다. 1차 인증은, 사용자를 인증하기 위한 다양한 방법에 따라 사용자로부터 직접 수신된 정보에 기초하여 수행될 수 있다.
1차 인증이 성공하면, 스마트폰(1402)은, 일 세션을 설정하고 설정된 세션 동안에 2차 인증을 수행할 수 있다. 일 실시 예에 의하면 2차 인증은, 보안이 요구되는 동작이 수행되는 경우에, 지속적으로 수행될 수 있다. 예를 들면, 2차 인증은, 금융 어플리케이션이 동작되는 동안에, 1차 인증이 성공한 이후 지속적으로 수행될 수 있다.
2차 인증은, 사용자(100)로부터 인증을 위한 직접적인 정보를 입력 받는 과정 없이, 스마트폰(1402)에 구비된 적어도 하나의 센서에 의해 감지된 정보, 사용자(100)가 다양한 동작을 수행하기 위해 입력된 정보 등에 기초하여 수행될 수 있다. 예를 들면, 2차 인증은, 스마트폰(1402)이 사용자(100)가 계좌 이체를 수행하기 위해 입력된 정보를 행동 데이터로서 수집함으로써, 수행될 수 있다. 또한, 사용자(100)가 인증을 위해 직접 입력한 정보, 예를 들면, 1차 인증을 위해 입력된 정보도 2차 인증을 위한 행동 데이터로서 획득됨으로써, 2차 인증이 수행될 수 있다.
또한, 2차 인증은, 스마트폰(1402)이 사용자(100)가 계좌 이체를 수행하는 동안 사용자(100)의 신체 일부(ex. 홍채, 얼굴 등)가 촬영된 영상을 행동 데이터로서 수집함으로써, 수행될 수 있다.
또한, 2차 인증은, 스마트폰(1402)에서 사용자가 요청하는 동작들을 행동 데이터로서 수집함으로써, 수행될 수 있다. 예를 들면, 사용자가 매달 정해진 날짜에 금융 어플리케이션을 통하여 계좌 이체를 수행하는 경우, 스마트폰(1402)은 사용자의 계좌 이체 요청을 행동 데이터로 수집할 수 있고, 수집된 행동 데이터에 기초하여 2차 인증을 수행할 수 있다.
일 실시 에에 의한 리모콘(1403)은 사용자(100)에 의해 입력된 정보를 행동 데이터로서 수집할 수 있다. 예를 들면, 리모콘(1403)은 사용자(100)가 입력한 버튼 정보를 행동 데이터로서 수집할 수 있다. 또 다른 예로, 리모콘(1403)은, 리모콘(1403)의 중력 센서에 의해 감지된 정보를 사용자(100)의 행동 데이터로서 수집할 수 있다. 예를 들면, 리모콘(1403)은, 사용자(100)가 특정 시간에 리모콘(1403)을 집어 드는 경우를 감지하여, 감지된 정보를 사용자(100)의 행동 데이터로서 수집할 수 있다.
일 실시 예에 의한 리모콘(1403)은, 리모콘(1403)에서 수집된 행동 데이터에 기초하여, 사용자 인증을 수행할 수 있다. 리모콘(1403)은 행동 데이터를 리모콘(1403)의 인증 모델에 기초하여 인증할 수 있고, 인증 결과에 따라 행동 데이터를 블록 체인(300)에 제출할 수 있다. 블록 체인(300)에 제출된 행동 데이터가 등록되면, 리모콘(1403)에서 수집된 행동 데이터가 다른 전자 장치에서 이용되는 인증 모델을 갱신하는데 이용될 수 있다.
일 실시 예에 의한 스마트 TV(1404)은 사용자(100)에 의해 입력된 정보를 행동 데이터로서 수집할 수 있다. 예를 들면, 스마트 TV(1404)은 사용자(100)가 입력한 채널 정보를 행동 데이터로서 수집할 수 있다. 또 다른 예로, 스마트 TV(1404)은, 사용자(100)에 의한 컨텐츠 구매 요청에 관한 정보를 사용자(100)의 행동 데이터로서 수집할 수 있다.
일 실시 예에 의한 스마트 TV(1404)는 스마트 TV(1404)에서 수집된 행동 데이터에 기초하여, 사용자 인증을 수행할 수 있다. 스마트 TV(1404)는 행동 데이터를 스마트 TV(1404)의 인증 모델에 기초하여 인증할 수 있고, 인증 결과에 따라 행동 데이터를 블록 체인(300)에 제출할 수 있다. 또한, 스마트 TV(1404)는 인증 결과에 기초하여, 사용자(100)의 요청에 따른 컨텐츠 구매 동작을 수행할 수 있다. 블록 체인(300)에 제출된 행동 데이터가 등록되면, 스마트 TV(1404)에서 수집된 행동 데이터가 다른 전자 장치에서 이용되는 인증 모델을 갱신하는데 이용될 수 있다.
일 실시 예에 의한 스마트 냉장고(1405)는 사용자(100)에 의해 수행된 동작과 관련하여 수집된 정보를 행동 데이터로서 수집할 수 있다. 스마트 냉장고(1405)는 식품을 냉장 또는 냉동 저장하는 기능을 넘어, 네트워크를 통해 사용자(100)에게 다양한 정보 및 서비스를 제공할 수 있는 장치일 수 있다.
예를 들면, 스마트 냉장고(1405)는 현재 저장된 식품의 상태를 파악하고, 구매가 필요한 식품에 대해 온라인 구매를 진행할 수 있다. 스마트 냉장고(1405)에 저장된 맥주가 얼마 남지 않은 경우, 스마트 냉장고(1405)는 사용자(100)에게 맥주가 얼마 남지 않아 추가 구매를 진행할지 여부를 문의할 수 있다. 스마트 냉장고(1405)에 구비된 구매 시스템을 통하여, 사용자(100)의 구매 요청에 다라 맥주 추가 구매를 진행할 수 있다. 스마트 냉장고(1405)는 사용자(100)가 스마트 냉장고(1405)에 저장된 맥주를 가져가는 동작과 관련하여 수집된 정보, 사용자(100)의 맥주 구매 요청에 관한 정보, 맥주 구매를 위해 사용자(100)로부터 입력된 인증과 관련된 정보 등을 사용자(100)의 행동 데이터로서 수집할 수 있다.
일 실시 예에 의한 스마트 냉장고(1405)는 스마트 냉장고(1405)에서 수집된 행동 데이터에 기초하여, 사용자 인증을 수행할 수 있다. 스마트 냉장고(1405)는 행동 데이터를 스마트 냉장고(1405)의 인증 모델에 기초하여 인증할 수 있고, 인증 결과에 따라 행동 데이터를 블록 체인(300)에 제출할 수 있다. 또한, 스마트 냉장고(1405)는 인증 결과에 기초하여, 사용자(100)의 요청에 따른 맥주 구매 동작을 수행할 수 있다. 블록 체인(300)에 제출된 행동 데이터가 등록되면, 스마트 냉장고(1405)에서 수집된 행동 데이터가 다른 전자 장치에서 이용되는 인증 모델을 갱신하는데 이용될 수 있다.
도 15는 일 실시 예에 의한 복수 개의 전자 장치(1401, 1402, 1404, 1405)에서 사용자 인증을 수행하는 방법을 나타낸 순서도이다. 도 15의 복수 개의 전자 장치(1401, 1402, 1404, 1405)는 도 14의 복수 개의 전자 장치(1401, 1402, 1404, 1405)와 대응될 수 있다.
도 15를 참조하면, 단계 1501-1에서, 로봇 청소기(1401)는 청소 동작을 수행하면서, 집안 구조에 관한 맵을 생성할 수 있다. 로봇 청소기(1401)는 사용자(100)의 위치 정보를 생성된 맵에 추가하기 위하여, 단계 1501-2에서, 스마트폰(1402)에 사용자(100)의 위치 정보를 요청할 수 있다.
단계 1501-3에서, 스마트폰(1402)은 로봇 청소기(1401)로부터의 요청에 따라 사용자(100)에 현재 위치 정보를 요청하여, 단계 1501-4에서, 사용자(100)의 위치 정보를 제공받을 수 있다. 스마트폰(1402)은, 사용자(100)에 직접 문의하여 현재 위치 정보를 획득할 수 있으나, 이에 한하지 않고, 스마트폰(1402)에 구비된 센서에 의해 감지된 정보에 기초하여, 위치 정보를 획득할 수도 있다. 상술한 예에 한하지 않고, 스마트폰(1402)은 다양한 방법을 통해 사용자(100)의 현재 위치 정보를 획득할 수 있다.
단계 1501-5, 1501-6 및 1501-7에서, 스마트폰(1402)은 사용자(100)의 현재 위치 정보를 사용자(100)의 행동 데이터로서 로봇 청소기(1401), 스마트 TV(1404) 및 스마트 냉장고(1405)에 전달할 수 있다. 예를 들면, 스마트폰(1402)은, 일 실시 예에 따라 사용자(100)의 현재 위치 정보에 대해 사용자(100)의 행동 데이터로서 인증을 수행하고, 인증 결과에 따라 블록 체인(300)에 사용자(100)의 현재 위치 정보를 제출함으로써, 사용자(100)의 현재 위치 정보를 로봇 청소기(1401), 스마트 TV(1404) 및 스마트 냉장고(1405)에 전달할 수 있다. 로봇 청소기(1401), 스마트 TV(1404) 및 스마트 냉장고(1405)는, 블록 체인(300)에 제출된 사용자(100)의 현재 위치 정보가 검증을 통하여 등록됨으로써, 사용자(100)의 현재 위치 정보를 획득할 수 있다.
단계 1501-8, 1501-9, 1501-10 및 1501-11에서, 로봇 청소기(1401), 스마트폰(1402), 스마트 TV(1404) 및 스마트 냉장고(1405)는 블록 체인(300)에 등록된 사용자(100)의 현재 위치에 관한 정보를 사용자(100)의 행동 데이터로서 각 장치들의 분산 원장에 저장할 수 있다. 예를 들면, 사용자(100)의 현재 위치에 관한 정보는 블록 체인(300)에 등록된 거래 정보로서, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장될 수 있다. 또한, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장된 정보에 기초하여, 사용자 인증에 이용되는 각 장치들(1401, 1402, 1404, 1405)의 인증 모델이 갱신될 수 있다.
단계 1502-1에서, 사용자(100)는 스마트폰(1402)의 어시스턴트에 접속하기 위한 사용자 인증을 수행할 수 있다. 어시스턴트는, 사용자(100)가 대화형 인터페이스를 통해 스마트폰(1402)의 동작을 제어할 수 있는 사용자 인터페이스를 의미할 수 있다. 사용자(100)는 어시스턴트에 접속하기 위하여, 인증을 위한 정보로, 아이디 및 패스워드 정보를 입력하거나, 지문 인증을 위해 지문을 스마트폰(1402)에 입력하거나, 패턴 정보를 입력하거나, 얼굴 인증을 위해 얼굴 촬영을 수행하는 등 다양한 정보를 스마트폰(1402)에 입력할 수 있다.
단계 1502-2, 1502-3 및 1502-3에서, 스마트폰(1402)은 사용자(100)가 인증을 위해 입력한 정보를 사용자(100)의 행동 데이터로서 로봇 청소기(1401), 스마트 TV(1404) 및 스마트 냉장고(1405)에 전달할 수 있다. 예를 들면, 스마트폰(1402)은, 일 실시 예에 따라 사용자(100)가 인증을 위해 입력한 정보에 대해 사용자(100)의 행동 데이터로서 인증을 수행할 수 있다. 또한, 스마트폰(1402)은 인증 결과에 따라 블록 체인(300)에 사용자(100)가 인증을 위해 입력한 정보를 제출함으로써, 사용자(100)가 인증을 위해 입력한 정보를 로봇 청소기(1401), 스마트 TV(1404) 및 스마트 냉장고(1405)에 전달할 수 있다. 로봇 청소기(1401), 스마트 TV(1404) 및 스마트 냉장고(1405)는, 블록 체인(300)에 제출된 사용자(100)가 인증을 위해 입력한 정보가 검증을 통하여 등록됨으로써, 사용자(100)가 인증을 위해 입력한 정보를 획득할 수 있다.
단계 1502-5, 1502-6, 1502-7 및 1502-8에서, 로봇 청소기(1401), 스마트폰(1402), 스마트 TV(1404) 및 스마트 냉장고(1405)는 블록 체인(300)에 등록된 사용자(100)가 인증을 위해 입력한 정보를 사용자(100)의 행동 데이터로서 각 장치들의 분산 원장에 저장할 수 있다. 예를 들면, 사용자(100)가 인증을 위해 입력한 정보를 블록 체인(300)에 등록된 거래 정보로서, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장될 수 있다. 또한, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장된 정보에 기초하여, 사용자 인증에 이용되는 각 장치들(1401, 1402, 1404, 1405)의 인증 모델이 갱신될 수 있다.
단계 1503-1에서, 사용자(100)는 스마트 냉장고(1405)에서 구매 이력을 확인하기 위하여 사용자 인증을 수행할 수 있다. 사용자(100)는 구매 이력을 확인하기 위하여, 인증을 위한 정보로, 아이디 및 패스워드 정보를 입력하거나, 지문 인증을 위해 지문을 입력하거나, 패턴 정보를 입력하거나, 얼굴 인증을 위해 얼굴 촬영을 수행하는 등 다양한 정보를 스마트 냉장고(1405)의 사용자 인터페이스에 입력할 수 있다.
단계 1503-2, 1503-3 및 1503-3에서, 스마트 냉장고(1405)는 사용자(100)가 인증을 위해 입력한 정보를 사용자(100)의 행동 데이터로서 로봇 청소기(1401), 스마트폰(1402) 및 스마트 TV(1404)에 전달할 수 있다. 예를 들면, 스마트 냉장고(1405)는, 일 실시 예에 따라 사용자(100)가 인증을 위해 입력한 정보에 대해 사용자(100)의 행동 데이터로서 인증을 수행할 수 있다. 또한, 스마트 냉장고(1405)는 인증 결과에 따라 블록 체인(300)에 사용자(100)가 인증을 위해 입력한 정보를 제출함으로써, 사용자(100)가 인증을 위해 입력한 정보를 로봇 청소기(1401), 스마트폰(1402) 및 스마트 TV(1404)에 전달할 수 있다. 로봇 청소기(1401), 스마트폰(1402) 및 스마트 TV(1404)는, 블록 체인(300)에 제출된 사용자(100)가 인증을 위해 입력한 정보가 검증을 통하여 등록됨으로써, 사용자(100)가 인증을 위해 입력한 정보를 획득할 수 있다.
단계 1503-5, 1503-6, 1503-7 및 1503-8에서, 로봇 청소기(1401), 스마트폰(1402), 스마트 TV(1404) 및 스마트 냉장고(1405)는 블록 체인(300)에 등록된 사용자(100)가 인증을 위해 입력한 정보를 사용자(100)의 행동 데이터로서 각 장치들의 분산 원장에 저장할 수 있다. 예를 들면, 사용자(100)가 인증을 위해 입력한 정보를 블록 체인(300)에 등록된 거래 정보로서, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장될 수 있다. 또한, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장된 정보에 기초하여, 사용자 인증에 이용되는 각 장치들(1401, 1402, 1404, 1405)의 인증 모델이 갱신될 수 있다.
단계 1504-1에서, 사용자(100)는 스마트 TV(1404)에서 컨텐츠 구매를 요청하기 위하여 사용자 인증을 수행할 수 있다. 사용자(100)는 컨텐츠 구매를 요청하기 위하여, 인증을 위한 정보로, 아이디 및 패스워드 정보를 입력하거나, 지문 인증을 위해 지문을 입력하거나, 패턴 정보를 입력하거나, 얼굴 인증을 위해 얼굴 촬영을 수행하는 등 다양한 정보를 스마트 TV(1404)의 사용자 인터페이스에 입력할 수 있다.
단계 1504-2, 1504-3 및 1504-3에서, 스마트 TV(1404)는 사용자(100)가 인증을 위해 입력한 정보를 사용자(100)의 행동 데이터로서 로봇 청소기(1401), 스마트폰(1402) 및 스마트 냉장고(1405)에 전달할 수 있다. 예를 들면, 스마트 TV(1404)는, 일 실시 예에 따라 사용자(100)가 인증을 위해 입력한 정보에 대해 사용자(100)의 행동 데이터로서 인증을 수행할 수 있다. 또한, 스마트 TV(1404)는 인증 결과에 따라 블록 체인(300)에 사용자(100)가 인증을 위해 입력한 정보를 제출함으로써, 사용자(100)가 인증을 위해 입력한 정보를 로봇 청소기(1401), 스마트폰(1402) 및 스마트 냉장고(1405)에 전달할 수 있다. 로봇 청소기(1401), 스마트폰(1402) 및 스마트 냉장고(1405)는, 블록 체인(300)에 제출된 사용자(100)가 인증을 위해 입력한 정보가 검증을 통하여 등록됨으로써, 사용자(100)가 인증을 위해 입력한 정보를 획득할 수 있다.
단계 1504-5, 1504-6, 1504-7 및 1504-8에서, 로봇 청소기(1401), 스마트폰(1402), 스마트 TV(1404) 및 스마트 냉장고(1405)는 블록 체인(300)에 등록된 사용자(100)가 인증을 위해 입력한 정보를 사용자(100)의 행동 데이터로서 각 장치들의 분산 원장에 저장할 수 있다. 예를 들면, 사용자(100)가 인증을 위해 입력한 정보를 블록 체인(300)에 등록된 거래 정보로서, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장될 수 있다. 또한, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장된 정보에 기초하여, 사용자 인증에 이용되는 각 장치들(1401, 1402, 1404, 1405)의 인증 모델이 갱신될 수 있다.
도 16은 일 실시 예에 의한 사용자 인증을 수행하는 일 예를 나타낸 도면이다.
도 16을 참조하면, 사용자(100)는, 집(1601)에서 공원(1603)으로, 공원(1603)에서 회사(1605)로, 회사(1605)에서 상점(1607)으로, 상점(1608)에서 집(1601)으로, 이동할 수 있다. 사용자(100)는 각각의 이동 루트에서 이동을 위해, 자전거 렌탈 요금을 결제(1602)하거나, 버스 티켓 요금을 결제(1604)하거나, 택시 요금을 결제(1606, 1608)할 수 있다.
일 실시 예에 의하면, 사용자(100)의 이동 루트와 자전거, 버스, 택시 등에 대한 요금 결제(1602, 1604, 1606, 1608)에 대한 요청은, 사용자(100)의 행동 데이터로서 전자 장치(1000)에서 수집될 수 있다. 또한, 전자 장치(1000)는 일 실시 예에 따라 수집된 행동 데이터를 인증 모델에 기초하여 인증하고, 인증 결과에 따라 보안이 요구되는 동작을 수행할 수 있다. 예를 들면, 전자 장치(1000)는 인증 결과에 따라, 사용자(100)의 자전거, 버스, 택시 등에 대한 요금 결제 동작(1602, 1604, 1606, 1608)을 수행할 수 있다.
또한, 일 실시 예에 의하면, 전자 장치(1000)는 사용자(100)가 인증을 위한 정보를 직접적으로 입력하는 과정 없이, 사용자(100)로부터 수집된 행동 데이터에 대한 인증을 수행하고, 인증 결과에 따라 동작을 수행할 수 있다. 따라서, 일 실시 예에 의하면, 사용자(100)가 인증을 위한 정보를 입력하는 과정 없이도 보안 수준이 낮아지지 않은 상태에서, 전자 장치(1000)에 의한 동작이 수행될 수 있다.
예를 들어, 회사(1605)에서 상점(1607)으로 이동하는 루트에서 사용자(100)가 택시비를 결제(1606)하는 행동 데이터에 대한 신뢰도 값이 기준값 이하인 경우, 전자 장치(1000)는 상점(1607)에서 수행된 사용자(100)의 결제 요청에 대하여 추가 정보를 요청할 수 있다. 일 예로, 사용자(100)가 택시비 결제(1606) 시 기존에 이용하던 카드 결제 대신 모바일 결제를 사용하는 등 기존 패턴과 다른 방식으로 결제가 수행됨에 따라 택시비 결제(1606)의 행동 데이터에 대한 신뢰도 값이 기준값 이하로 결정될 수 있다. 따라서, 전자 장치(1000)는, 신뢰도 값이 낮음에 따라 사용자(100)의 상점(1607)에서의 결제 요청에 대응하여 사용자 인증을 위한 추가 정보를 요청할 수 있다. 전자 장치(1000)는 추가 정보에 대한 인증을 통해 사용자(100)가 요청한 결제 동작을 수행할 수 있다.
또한, 인증 결과에 따라 인증된 행동 데이터는, 블록 체인(300)에 제출될 수 있고, 블록 체인(300)에 제출된 행동 데이터가 블록 체인(300)에 새롭게 등록되면, 전자 장치(1000)는, 블록 체인(300)에 새로 등록된 행동 데이터에 기초하여, 행동 데이터를 인증하기 위한 인증 모델을 갱신할 수 있다. 또한, 전자 장치(1000)는, 블록 체인(300)에 새로 등록된 행동 데이터에 관한 정보에 기초하여, 전자 장치(1000)의 분산 원장을 갱신할 수 있다.
또한, 일 실시 예에 의하면, 집(1601), 공원(1603), 회사(1605) 및 상점(1607) 등 다양한 위치에서 사용자(100)에 의해 수행된 동작들은 행동 데이터로서 수집될 수 있고, 수집된 행동 데이터에 기초하여, 사용자에 대한 인증이 반복적으로 수행될 수 있다. 상기 행동 데이터는, 사용자(100)의 행동에 관한 정보를 수집할 수 있는 다양한 종류의 전자 장치(1000)에 의해 수집될 수 있다. 예를 들면, 사용자(100)가 소지한 전자 장치(1000) 및 집(1601), 공원(1603), 회사(1605) 및 상점(1607) 등의 다양한 장소에 설치되어, 사용자(100)의 정보를 수집할 수 있는 다양한 종류의 전자 장치 또는 전자 시스템(ex. 가전제품(집), 출입 시스템(회사), 물품 결제 시스템(상점))에 의해 행동 데이터가 수집될 수 있다.
일 실시 예에 의하면, 다양한 방법으로 수집된 사용자(100)의 행동 데이터에 기초하여, 사용자(100)에 대한 인증이 지속적으로 수행될 수 있으며, 그 결과에 기초하여, 집(1601), 공원(1603), 회사(1605) 및 상점(1607) 등에 설치된 전자 장치 또는 전자 시스템은 사용자(100)가 요청하는 동작(ex. 일부 구역에 대한 출입 허가)을 수행할지 여부를 결정할 수 있다.
도 17은 일부 실시예에 따른 프로세서(1300)의 블록도이다.
도 17을 참조하면, 일부 실시예에 따른 프로세서(1300)는 데이터 학습부(1310) 및 데이터 인식부(1320)를 포함할 수 있다.
데이터 학습부(1310)는 상황 판단을 위한 기준을 학습할 수 있다. 데이터 학습부(1310)는 소정의 상황을 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 데이터 학습부(1310)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 상황 판단을 위한 기준을 학습할 수 있다.
일 실시 예에 의하면, 데이터 학습부(1310)는 사용자(100)로부터 수집된 행동 데이터를 학습함으로써, 행동 데이터를 인증하기 위한 인증 모델이 생성되거나 갱신될 수 있다.
데이터 인식부(1320)는 데이터에 기초한 상황을 판단할 수 있다. 데이터 인식부(1320)는 학습된 데이터 인식 모델을 이용하여, 소정의 데이터로부터 상황을 인식할 수 있다. 데이터 인식부(1320)는 학습에 의한 기 설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델을 이용함으로써, 소정의 데이터에 기초한 소정의 상황을 판단할 수 있다. 또한, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델에 의해 출력된 결과 값은, 데이터 인식 모델을 갱신하는데 이용될 수 있다.
일 실시 예에 의하면, 데이터 인식부(1320)는 데이터 학습부(1310)에 의해 학습된 인증 모델을 이용하여, 사용자(100)로부터 수집된 행동 데이터를 인증함으로써, 사용자(100)가 진정한 사용자인지 여부를 판단할 수 있다.
데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(1310) 및 데이터 인식부(1320)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(1310) 및 데이터 인식부(1320)는 유선 또는 무선으로 통하여, 데이터 학습부(1310)가 구축한 모델 정보를 데이터 인식부(1320)로 제공할 수도 있고, 데이터 인식부(1320)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(1310)로 제공될 수도 있다.
한편, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 18은 일부 실시예에 따른 데이터 학습부(1310)의 블록도이다.
도 18을 참조하면, 일부 실시예에 따른 데이터 학습부(1310)는 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)를 포함할 수 있다.
데이터 획득부(1310-1)는 상황 판단에 필요한 데이터를 획득할 수 있다. 데이터 획득부(1310-1)는 상황 판단을 위한 학습을 위하여 필요한 데이터를 획득할 수 있다.
데이터 획득부(1310-1)는 일 실시 예에 의한 사용자(100)로부터 수집된 다양한 정보를 행동 데이터로서 획득할 수 있다. 일 실시 예에 따라, 인증 모델의 학습에 이용되는 행동 데이터는, 전자 장치(1000)가 참여하는 블록 체인(300)에 거래 정보로서 등록된 데이터일 수 있다. 따라서, 데이터 획득부(1310-1)는, 블록 체인(300)을 통해 인증 모델을 학습시키기 위한 데이터를 획득할 수 있다.
전처리부(1310-2)는 상황 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1310-2)는 후술할 모델 학습부(1310-4)가 상황 판단을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
예를 들어, 전처리부(1310-2)는, 블록 체인(300)을 통해 획득된 사용자(100)의 행동 데이터를 인증 모델 학습을 위한 포맷으로 가공할 수 있다.
학습 데이터 선택부(1310-3)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(1310-4)에 제공될 수 있다. 학습 데이터 선택부(1310-3)는 상황 판단을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1310-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
모델 학습부(1310-4)는 학습 데이터에 기초하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(1310-4)는 상황 판단을 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.
일 실시 예에 의하면, 모델 학습부(1310-4)는 사용자(100)로부터 획득된 다양한 종류의 행동 데이터에 기초하여, 사용자(100)가 진정한 사용자인지 여부를 판단할 수 있는 인증 모델을 생성할 수 있다.
또한, 모델 학습부(1310-4)는 상황 판단에 이용되는 데이터 인식 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 인식 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 인식 모델은 기본 학습 데이터(예를 들어, 샘플 이미지 등)을 입력 받아 미리 구축된 모델일 수 있다.
데이터 인식 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 인식 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(1310-4)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(1310-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.
또한, 모델 학습부(1310-4)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning) 을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1310-4)는, 예를 들어, 별다른 지도없이 상황 판단을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 상황 판단을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1310-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 데이터 인식부(1320)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 후술할 데이터 인식부(1320)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(1310-5)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1310-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(1310-5)는 평가 데이터에 대한 학습된 데이터 인식 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(1310-5)는 학습된 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(1310-5)는 각각의 학습된 동영상 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1310-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.
한편, 데이터 학습부(1310) 내의 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 19는 일부 실시예에 따른 데이터 인식부(1320)의 블록도이다.
도 19를 참조하면, 일부 실시예에 따른 데이터 인식부(1320)는 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)를 포함할 수 있다.
데이터 획득부(1320-1)는 상황 판단에 필요한 데이터를 획득할 수 있으며, 전처리부(1320-2)는 상황 판단을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1320-2)는 후술할 인식 결과 제공부(1320-4)가 상황 판단을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
인식 데이터 선택부(1320-3)는 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(1320-4)에게 제공될 수 있다. 인식 데이터 선택부(1320-3)는 상황 판단을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(1320-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(1320-4)는 선택된 데이터를 데이터 인식 모델에 적용하여 상황을 판단할 수 있다. 인식 결과 제공부(1320-4)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 인식 모델에 적용할 수 있다. 또한, 인식 결과는 데이터 인식 모델에 의해 결정될 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 인증 모델을 이용하여 사용자(100)로부터 수집된 행동 데이터가 진정한 사용자에 의한 행동 데이터인지 여부를 판단할 수 있다.
모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과를 모델 학습부(1310-4)에게 제공함으로써, 모델 학습부(1310-4)가 데이터 인식 모델을 갱신하도록 할 수 있다.
일 실시 예에 의한, 모델 갱신부(1320-5)는, 상술한 예에 한하지 않고, 전자 장치(1000)가 참여하는 블록 체인(300)에 새로 등록된 행동 데이터에 기초하여 인증 모델을 갱신할 수도 있다.
한편, 데이터 인식부(1320) 내의 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 20의 일부 실시예에 따른 전자 장치(1000) 및 서버(2000)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 20의 전자 장치(1000)는 도 1에 도시된 전자 장치(1000), 도 2에 도시된 복수 개의 전자 장치(210, 220, 230, 400), 도 3에 도시된 복수 개의 전자 장치(210, 220, 230) 중 적어도 하나와 대응될 수 있다.
서버(2000)는 네트워크(미도시)를 통해 전자 장치(1000)와 통신하며, 적어도 하나의 컴퓨터 장치로 구현될 수 있다. 서버(2000)는 클라우드 형태로 분산될 수 있으며, 명령, 코드, 파일, 컨텐츠 등을 제공할 수 있다.
일 실시 예에 의한 서버(2000)는 전자 장치(1000)가 사용자의 행동 데이터에 기초하여 사용자에 대하여 인증을 수행하는데 필요한 데이터를 전자 장치(1000)에 제공할 수 있다. 예를 들면, 서버(2000)는 사용자에 대하여 인증을 수행하는데 필요한 인증 모델을 전자 장치(1000)에 제공할 수 있다.
일 실시 예에 의한 서버(2000)는 전자 장치(1000)가 실행할 수 있는 동작들을 대신 수행할 수 있다. 예컨대, 서버(2000)는, 전자 장치(1000) 대신 전자 장치(1000)에서 수집된 행동 데이터에 기초하여 사용자에 대한 인증을 수행할 수 있다.
상술된 예에 한하지 않고 서버(2000)는 전자 장치(1000)가 사용자에 대한 인증을 수행하기 위한 다양한 동작을 수행하고, 그 결과를 전자 장치(1000)로 송신할 수 있다.
도 20을 참조하면, 서버(2000)는 상황 판단을 위한 기준을 학습할 수 있으며, 전자 장치(1000)는 서버(2000)에 의한 학습 결과에 기초하여 상황을 판단할 수 있다.
이 경우, 서버(2000)의 모델 학습부(2340)는 도 13에 도시된 데이터 학습부(1310)의 기능을 수행할 수 있다. 서버(2000)의 모델 학습부(2340)는 소정의 상황을 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 모델 학습부(2340)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 상황 판단을 위한 기준을 학습할 수 있다.
또한, 전자 장치(1000)의 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)에 의해 생성된 데이터 인식 모델에 적용하여 상황을 판단할 수 있다. 예를 들어, 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)에게 전송하고, 서버(2000)가 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 인식 모델에 적용하여 상황을 판단할 것을 요청할 수 있다. 또한, 인식 결과 제공부(1320-4)는 서버(2000)에 의해 판단된 상황에 관한 정보를 서버(2000)로부터 수신할 수 있다.
예를 들면, 전자 장치(1000)는, 사용자로부터 수집된 행동 데이터를 서버(2000)로 전송하고, 서버(2000)는, 인증 모델을 이용하여, 행동 데이터를 인증할 수 있다. 서버(2000)는, 행동 데이터에 대하여 수행된 인증 결과를 전자 장치(1000)로 전송할 수 있다.
또는, 전자 장치(1000)의 인식 결과 제공부(1320-4)는 서버(2000)에 의해 생성된 인증 모델을 서버(2000)로부터 수신하고, 수신된 인증 모델을 이용하여 상황을 판단할 수 있다. 이 경우, 전자 장치(1000)의 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)로부터 수신된 인증 모델에 적용하여 상황을 판단할 수 있다.
예를 들면, 전자 장치(1000)는 사용자로부터 수집된 행동 데이터를 서버(2000)로부터 수신된 인증 모델에 적용하여, 행동 데이터에 대한 인증을 수행하고, 인증 결과에 따라 수행된 동작의 결과를 사용자에게 제공할 수 있다.
일 실시 예에 의하면, 적어도 하나의 전자 장치에서 수집된 사용자의 행동 데이터에 기초하여, 신뢰도 및 보안성이 높은 사용자 인증이 수행될 수 있다.
일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치에서, 사용자에 대한 인증(authenticate)을 수행하는 방법에 있어서,
    인증 모델을 획득하는 단계;
    상기 사용자에 대한 행동 데이터(behavior data)를 획득하는 단계;
    상기 인증 모델을 이용하여, 상기 획득된 행동 데이터에 대해 인증을 수행하는 단계; 및
    상기 인증이 수행된 결과에 기초하여, 상기 인증된 행동 데이터를 블록 체인에 제출(submit)하는 단계를 포함하고,
    상기 인증 모델은, 상기 블록 체인에 등록(enroll)된 상기 사용자에 대한 적어도 하나의 행동 데이터에 기초하여 학습(train)되는 모델인, 방법.
  2. 제1항에 있어서, 상기 블록 체인에 제출된 행동 데이터는,
    상기 블록 체인에 참여하는 노드들 간에, 상기 블록 체인에 제출된 행동 데이터에 대한 합의(consensus)가 도출(achieve)됨에 따라, 상기 블록 체인에 새로운 블록으로 추가됨으로써, 상기 블록 체인에 등록되는, 방법.
  3. 제1항에 있어서,
    상기 블록 체인에 새로운 블록이 추가되면, 상기 새로운 블록에 포함된 행동 데이터에 기초하여, 상기 인증 모델을 갱신하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서, 상기 인증을 수행하는 단계는
    상기 인증 모델을 이용하여, 상기 행동 데이터에 대한 신뢰도 값(confident value)을 획득하는 단계; 및
    상기 신뢰도 값에 기초하여, 상기 인증을 수행하는 단계를 포함하는, 방법.
  5. 제4항에 있어서, 상기 신뢰도 값이 기준값 이상인 경우, 상기 행동 데이터가 상기 블록 체인에 제출되는, 방법.
  6. 제4항에 있어서, 상기 인증을 수행하는 단계는
    상기 신뢰도 값이 기준값 이하인 경우, 상기 사용자에 대한 다른 행동 데이터를 추가로 획득하는 단계;
    상기 인증 모델을 이용하여, 상기 다른 행동 데이터에 대한 신뢰도 값을 획득하는 단계; 및
    상기 다른 행동 데이터에 대한 신뢰도 값에 기초하여, 상기 인증을 수행하는 단계를 포함하는, 방법.
  7. 제6항에 있어서, 상기 다른 행동 데이터에 대한 신뢰도 값이 기준값 이상인 경우, 상기 다른 행동 데이터가 상기 블록 체인에 제출되는, 방법.
  8. 사용자에 대한 인증을 수행하는 전자 장치에 있어서,
    인증 모델을 저장하는 메모리;
    상기 사용자에 대한 행동 데이터를 획득하고, 상기 인증 모델을 이용하여, 상기 획득된 행동 데이터에 대해 인증을 수행하는 적어도 하나의 프로세서; 및
    상기 인증이 수행된 결과에 기초하여, 상기 인증된 행동 데이터를 블록 체인에 제출하는 통신부를 포함하고,
    상기 인증 모델은, 상기 블록 체인에 등록된 상기 사용자에 대한 적어도 하나의 행동 데이터에 기초하여 학습되는 모델인, 전자 장치.
  9. 제8항에 있어서, 상기 블록 체인에 제출된 행동 데이터는,
    상기 블록 체인에 참여하는 노드들 간에, 상기 블록 체인에 제출된 행동 데이터에 대한 합의(consensus)가 도출(achieve)됨에 따라, 상기 블록 체인에 새로운 블록으로 추가됨으로써, 상기 블록 체인에 등록되는, 전자 장치.
  10. 제8항에 있어서, 상기 적어도 하나의 프로세서는
    상기 블록 체인에 새로운 블록이 추가되면, 상기 새로운 블록에 포함된 행동 데이터에 기초하여, 상기 인증 모델을 갱신하는, 전자 장치.
  11. 제8항에 있어서, 상기 적어도 하나의 프로세서는
    상기 인증 모델을 이용하여, 상기 행동 데이터에 대한 신뢰도 값을 획득하고, 상기 신뢰도 값에 기초하여, 상기 인증을 수행하는, 전자 장치.
  12. 제11항에 있어서, 상기 신뢰도 값이 기준값 이상인 경우, 상기 행동 데이터가 상기 블록 체인에 제출되는, 전자 장치.
  13. 제11항에 있어서, 상기 적어도 하나의 프로세서는
    상기 신뢰도 값이 기준값 이하인 경우, 상기 사용자에 대한 다른 행동 데이터를 추가로 획득하고, 상기 인증 모델을 이용하여, 상기 다른 행동 데이터에 대한 신뢰도 값을 획득하고, 상기 다른 행동 데이터에 대한 신뢰도 값에 기초하여, 상기 인증을 수행하는, 전자 장치.
  14. 제13항에 있어서, 상기 다른 행동 데이터에 대한 신뢰도 값이 기준값 이상인 경우, 상기 다른 행동 데이터가 상기 블록 체인에 제출되는, 전자 장치.
  15. 인증 모델을 획득하는 동작;
    사용자에 대한 행동 데이터를 획득하는 동작;
    상기 인증 모델을 이용하여, 상기 획득된 행동 데이터에 대해 인증을 수행하는 동작; 및
    상기 인증이 수행된 결과에 기초하여, 상기 인증된 행동 데이터를 블록 체인에 제출하는 동작을 수행하도록 하는 프로그램이 저장된 기록매체를 포함하고,
    상기 인증 모델은, 상기 블록 체인에 등록된 상기 사용자에 대한 적어도 하나의 행동 데이터에 기초하여 학습되는 모델인, 컴퓨터 프로그램 제품.
KR1020190006925A 2019-01-18 2019-01-18 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법 KR20200089971A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190006925A KR20200089971A (ko) 2019-01-18 2019-01-18 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법
EP19910064.5A EP3896587B1 (en) 2019-01-18 2019-03-15 Electronic device for performing user authentication and operation method therefor
PCT/KR2019/003025 WO2020149454A1 (ko) 2019-01-18 2019-03-15 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법
US17/378,385 US20210342427A1 (en) 2019-01-18 2021-07-16 Electronic device for performing user authentication and operation method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190006925A KR20200089971A (ko) 2019-01-18 2019-01-18 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20200089971A true KR20200089971A (ko) 2020-07-28

Family

ID=71614540

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190006925A KR20200089971A (ko) 2019-01-18 2019-01-18 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법

Country Status (4)

Country Link
US (1) US20210342427A1 (ko)
EP (1) EP3896587B1 (ko)
KR (1) KR20200089971A (ko)
WO (1) WO2020149454A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220021543A (ko) * 2020-08-14 2022-02-22 세종대학교산학협력단 비밀번호 및 행동 패턴을 이용한 멀티 팩터 인증 시스템 및 방법
KR102402705B1 (ko) * 2021-09-24 2022-05-30 (주)시큐레이어 망분리 환경에서의 모바일 원격 관제를 위한, 제로 트러스트 모델 기반 멀티팩터 보안인증 방법 및 서버
KR102491687B1 (ko) * 2021-09-02 2023-01-20 김종덕 결제자 행동 기반의 결제 검증 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102504100B1 (ko) * 2021-09-02 2023-02-24 김종덕 Qr 코드를 이용한 통합 결제 시스템 및 이를 위한 장치
KR20230059211A (ko) * 2021-10-26 2023-05-03 이건우 사용자 행동 패턴에 기반한 스마트 기기 잠금 해제 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288347B2 (en) * 2019-03-07 2022-03-29 Paypal, Inc. Login from an alternate electronic device
KR20210051423A (ko) * 2019-10-30 2021-05-10 삼성전자주식회사 사용자의 액티비티 정보를 제공하는 전자 장치와 이의 동작 방법
US20220027444A1 (en) * 2020-12-17 2022-01-27 Signzy Technologies Private Limited Method and system for automated user authentication based on video and audio feed in real-time
EP4020341A1 (de) * 2020-12-23 2022-06-29 Red Bull GmbH System für die echtheitsprüfung von produkten
US20230065546A1 (en) * 2021-08-31 2023-03-02 Advanced Micro Devices, Inc. Distributing Model Data in Memories in Nodes in an Electronic Device
US20230138176A1 (en) * 2021-11-01 2023-05-04 At&T Intellectual Property I, L.P. User authentication using a mobile device
CN114677563A (zh) * 2022-04-08 2022-06-28 李燕秋 基于区块链的神经网络在线学习方法及系统
WO2024124338A1 (en) * 2022-12-16 2024-06-20 Iptoki Inc. Method and system for authenticating a user using biometrics

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011059837A (ja) * 2009-09-08 2011-03-24 Hitachi Ltd 行動履歴情報活用個人認証システム及び方法
JP2013020304A (ja) * 2011-07-07 2013-01-31 Ntt Docomo Inc 移動情報端末、行動特徴学習方法、行動特徴認証方法、プログラム
US9185095B1 (en) * 2012-03-20 2015-11-10 United Services Automobile Association (Usaa) Behavioral profiling method and system to authenticate a user
US9166962B2 (en) * 2012-11-14 2015-10-20 Blackberry Limited Mobile communications device providing heuristic security authentication features and related methods
US9967334B2 (en) * 2015-03-02 2018-05-08 Dell Products Lp Computing device configuration and management using a secure decentralized transaction ledger
US10721274B1 (en) * 2016-12-12 2020-07-21 United Services Automobile Association (Usaa) Operational monitoring of network devices
DE102016225644A1 (de) * 2016-12-20 2018-06-21 Bundesdruckerei Gmbh Verfahren und System zur verhaltensbasierten Authentifizierung eines Nutzers
US9882918B1 (en) * 2017-05-15 2018-01-30 Forcepoint, LLC User behavior profile in a blockchain
US11042934B2 (en) * 2017-11-13 2021-06-22 Bank Of America Corporation Crypto-machine learning enabled blockchain based profile pricer
CN108241970B (zh) * 2018-01-09 2021-05-18 重庆金窝窝网络科技有限公司 基于区块链的挖矿方法、装置及计算机可读存储介质
US20190311352A1 (en) * 2018-04-10 2019-10-10 Aeneas Technology Limited Method and system for conducting transactions on cryptocurrencies with underlying value supported by intellectual properties and intangible assets
US11544782B2 (en) * 2018-05-06 2023-01-03 Strong Force TX Portfolio 2018, LLC System and method of a smart contract and distributed ledger platform with blockchain custody service
US10970411B2 (en) * 2018-09-12 2021-04-06 International Business Machines Corporation Database preference sharing and management
US10997251B2 (en) * 2018-10-15 2021-05-04 Bao Tran Smart device
US11526610B2 (en) * 2019-05-21 2022-12-13 Veracode, Inc. Peer-to-peer network for blockchain security

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220021543A (ko) * 2020-08-14 2022-02-22 세종대학교산학협력단 비밀번호 및 행동 패턴을 이용한 멀티 팩터 인증 시스템 및 방법
KR102491687B1 (ko) * 2021-09-02 2023-01-20 김종덕 결제자 행동 기반의 결제 검증 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102504100B1 (ko) * 2021-09-02 2023-02-24 김종덕 Qr 코드를 이용한 통합 결제 시스템 및 이를 위한 장치
KR102402705B1 (ko) * 2021-09-24 2022-05-30 (주)시큐레이어 망분리 환경에서의 모바일 원격 관제를 위한, 제로 트러스트 모델 기반 멀티팩터 보안인증 방법 및 서버
KR20230059211A (ko) * 2021-10-26 2023-05-03 이건우 사용자 행동 패턴에 기반한 스마트 기기 잠금 해제 방법

Also Published As

Publication number Publication date
EP3896587A4 (en) 2022-02-16
WO2020149454A1 (ko) 2020-07-23
EP3896587A1 (en) 2021-10-20
US20210342427A1 (en) 2021-11-04
EP3896587B1 (en) 2024-09-11

Similar Documents

Publication Publication Date Title
EP3896587B1 (en) Electronic device for performing user authentication and operation method therefor
US11017070B2 (en) Visual data processing of response images for authentication
US11983964B2 (en) Liveness detection
US11275819B2 (en) Generative adversarial network training and feature extraction for biometric authentication
US9955349B1 (en) Triggering a request for an authentication
US10587776B2 (en) Electronic device and method for controlling the electronic device
JP6961003B2 (ja) 生体特徴データベース確立方法および装置
WO2016119696A1 (zh) 基于动作的身份识别系统及方法
US11605081B2 (en) Method and device applying artificial intelligence to send money by using voice input
US20210326428A1 (en) Systems and methods for authenticating users
US10860875B2 (en) Device and method to register user
KR20190089628A (ko) 복수 개의 전자 디바이스를 이용하여 신경망 모델을 처리하는 방법 및 시스템
US12014740B2 (en) Systems and methods for contactless authentication using voice recognition
CN118115158A (zh) 认证系统和计算机实现的方法
US20220188833A1 (en) Facilitating payments in an extended reality system based on behavioral biometrics
US11531912B2 (en) Electronic apparatus and server for refining artificial intelligence model, and method of refining artificial intelligence model
US12061955B2 (en) Electronic apparatus and server for refining artificial intelligence model, and method of refining artificial intelligence model
KR102335534B1 (ko) 인공지능에 기반한 온라인 교육 지원을 위한 출석관리 및 집중도 분석 방법 및 장치
Miraftabzadeh Real-time adaptive data-driven perception for anomaly priority scoring at scale
KR102682571B1 (ko) 얼굴 인식 기반 성인 여부 인증을 통한 무인 키오스크의 출입 제어 방법, 장치 및 시스템
KR102698966B1 (ko) 뉴럴 네트워크를 이용하여 물품 거래 서비스를 해외 체류자 단말에게 제공하는 방법 및 장치
Agac et al. User Authentication and Identification on Smart Glasses with Motion Sensors
WO2023189481A1 (ja) 情報処理装置、情報処理方法およびプログラム
US20230386207A1 (en) Notification priority sequencing for video security
US12039018B2 (en) Computer-based systems having components configured/programmed for video password based authentication and methods of use thereof