KR20180016349A - 보안 생체 인식 데이터 캡처, 처리 및 관리 - Google Patents

보안 생체 인식 데이터 캡처, 처리 및 관리 Download PDF

Info

Publication number
KR20180016349A
KR20180016349A KR1020177032147A KR20177032147A KR20180016349A KR 20180016349 A KR20180016349 A KR 20180016349A KR 1020177032147 A KR1020177032147 A KR 1020177032147A KR 20177032147 A KR20177032147 A KR 20177032147A KR 20180016349 A KR20180016349 A KR 20180016349A
Authority
KR
South Korea
Prior art keywords
biometric
execution environment
data
biometric data
trusted
Prior art date
Application number
KR1020177032147A
Other languages
English (en)
Other versions
KR102531418B1 (ko
Inventor
니라지 발리
쿠마르 엔. 드와라카나스
아사프 하스켈
게나디 이오사드
아눕 케이. 자야산카란
빅토리아 씨. 무어
비노드 고마티 나야감
데이비드 자하비
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20180016349A publication Critical patent/KR20180016349A/ko
Application granted granted Critical
Publication of KR102531418B1 publication Critical patent/KR102531418B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • G06K9/00087
    • G06K9/00885
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/50Maintenance of biometric data or enrolment thereof
    • G06V40/53Measures to keep reference information secret, e.g. cancellable biometrics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • G06K2009/00953
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Abstract

시스템은 하나 이상의 생체 인식 센서, 센서 허브 및 신뢰된 애플리케이션 실행 환경을 포함한다. 센서 허브는 센서들에 독점적 액세스를 할 수 있고 또한 운영 체제의 비신뢰된/비인증된 부분들을 센서들에 의해 취득된 비암호화된 생체 인식 데이터에의 직접 액세스로부터 격리한다. 생체 인식 스캔/수집 프로세스 동안에, 센서 허브와 보안 엔진만이 센서들 및 저장소 컴포넌트에 액세스할 수 있다. 센서 허브는 스캔/수집 프로세스와 연관된 생체 인식 데이터를 획득하기 위해 센서들을 판독하고 생체 인식 데이터를 저장소 컴포넌트 내에 저장한다. 보안 엔진은 센서 허브가 액세스 제한들을 제거하기 전에 생체 인식 데이터를 암호화한다. 다양한 컴포넌트들은 저장소 컴포넌트로부터의 암호화된 생체 인식 데이터를 신뢰된 환경으로 전송하며, 신뢰된 환경은 생체 인식 데이터를 처리하는 알고리즘들을 호스트한다.

Description

보안 생체 인식 데이터 캡처, 처리 및 관리
정보 보안의 분야에서, 액세스 제어는 보호된 혹은 달리 보안의 리소스에의 액세스의 선택적 제한을 포함한다. 이러한 리소스들은 민감한 또는 기밀의 정보를 포함할 수 있다. 리소스에의 액세스의 허용은 사용자의 신원의 인증 시에 일어난다. 패스워드들, 보안 토큰들 및 생체 인식이 통상적으로 이러한 인증을 위해 사용된다. 이들 기술은 변화하는 레벨들의 보안성을 제공한다. 예를 들어, 패스워드 인증은 구현하기가 비교적 쉽지만, 패스워드들은 쉽게 잊어진다. 또한, 도난되거나 추측된 패스워드들은 제한된 리소스들에의 허가되지 않은 액세스를 허용하게 된다. 보안 토큰은 패스워드와 함께 사용될 때, 추가의 보안성을 제공할 수 있는 전자 키의 유형이다. 그러나, 허가되지 않은 액세스가 보안 토큰들을 불법으로 가로챈 사용자들에 의해 또한 일어난다. 생체 인식 인증은 지문들과 같은 생체 인식 식별자들이 재생하기 어려운 구별되고 측정가능한 물리적 특성들을 포함하기 때문에 패스워드들 및 보안 토큰들보다 많은 보안성을 제공한다. 생체 인식 정보를 나타내는 보안 데이터는 도난 및 부정 사용을 감소시킨다.
도 1은 본 개시내용의 실시예에 따른, 생체 인식 데이터 캡처, 처리 및 관리를 위해 구성된 예시적인 컴퓨팅 시스템을 도시한다.
도 2a는 본 개시내용의 실시예에 따른, 생체 인식 데이터 캡처, 처리 및 관리를 위한 예시적인 방법론의 흐름도이다.
도 2b는 본 개시내용의 실시예에 따른, 도 2a의 예시적인 방법론을 더 상세히 도시한 흐름도이다.
도 3은 본 개시내용의 실시예에 따른, 생체 인식 데이터 캡처, 처리 및 관리를 위해 구성된 예시적인 컴퓨팅 디바이스를 도시한다.
도 4는 본 개시내용의 실시예에 따른, 컴퓨팅 환경에서의 생체 인식 데이터 캡처, 처리 및 관리를 위한 또 하나의 예시적인 방법론의 흐름도이다.
도 5는 본 개시내용의 실시예에 따라 구성된 미디어 시스템을 도시한다.
도 6은 본 개시내용의 실시예에 따라 구성된 이동 컴퓨팅 시스템을 도시한다.
생체 인식 데이터 캡처, 처리 및 관리를 위한 기술들이 개시된다. 특히, 실시예에 따라, 스마트폰, 태블릿 또는 다른 컴퓨팅 디바이스와 같은 컴퓨팅 시스템은 생체 인식 하드웨어, 펌웨어, 또는 하드웨어와 펌웨어의 조합을 지원하는 프레임워크 상에서 설계된다. 프레임워크는 여러 가지 것들 중에서, 운영 체제, 신뢰된 실행 환경, 및 비신뢰된 실행 환경의 사용을 가능하게 한다. 생체 인식 하드웨어/펌웨어는 센서 허브, 하나 이상의 생체 인식 센서(예를 들어, 몇가지 예로, 지문, 홍채, 음성), 및 보안 엔진을 포함한다. 각각의 센서는 생체 인식 샘플(예를 들어, 지문 패턴, 홍채 구조 특징, 음성 패턴)을 캡처, 또는 스캔한다. 일부 센서들은 생체 인식 데이터를 나타내는 전기 신호를 생성하도록 구성된 트랜스듀서를 포함한다. 생체 인식 하드웨어/소프트웨어는 실시예에 따라, 센서들을 독점적으로 제어 및 판독하는 인증된 로직 또는 회로를 포함한다. 특히, 인증된 로직은 생체 인식 하드웨어/펌웨어 및 비암호화된 생체 인식 센서 데이터를 운영 체제의 나머지 및 임의의 애플리케이션들, 적어도 비신뢰된 실행 환경 내의 프로세스들 및 컴포넌트들로부터 선택적으로 격리한다. 생체 인식 센서(들) 및 비암호화된 생체 인식 데이터를 저장하기 위해 사용된 메모리에의 액세스는 센서 허브, 보안 엔진, 또는 둘 다로 제한된다. 인증된 로직은 시스템의 다른 컴포넌트들이 데이터를 신뢰된 실행 환경 내로 전송하기 전에 생체 인식 데이터를 암호화한다. 또한, 신뢰된 실행 환경 내에서 저장된 생체 인식 애플리케이션들 및 데이터는 비신뢰된 실행 환경 및 비인증된 운영 체제 프로세스들로부터 격리된다. 이 방식으로, 컴퓨팅 시스템의 인증된 운영 체제 프로세스들 및 신뢰된 컴포넌트들만이 센서(들)에 액세스하고, 생체 인식 데이터는 항상 암호화되거나 컴퓨팅 시스템의 비신뢰된 또는 비인증된 컴포넌트들로터 격리된다. 많은 변화들 및 구성들이 본 개시내용에 비추어서 분명해질 것이다.
일반적 개요
도전-응답 인증은 사용자가 인증 기관에 의해 제기된 질문(도전)에 대해 유효한 대답(응답)을 제공할 때 사용자 신원 인증이 일어나는 컴퓨터 보안 기술이다. 패스워드들, 보안 토큰들 및 생체 인식 지문들이 몇가지 형태들의 도전-응답 인증이다. 패스워드들은 쉽게 구현되지만, 그들은 또한 쉽게 잊어지고, 도난되거나 혹은 취약하다. 마찬가지로, 보안 토큰들도 쉽게 분실 또는 도난된다. 패스워드들 및 보안 토큰들과 대조적으로, 생체 인식 정보는 각각의 개인에 독특한 고유한 특성이다. 이와 같이, 패스워드들, 보안 토큰들 및 다른 형태들의 도전-응답 인증의 경우와 같이, 사용자들은 생체 인식을 분실하거나, 잊거나 또는 쉽게 훔칠 수가 없다. 그러나, 수집될 때, 전자 형태의 생체 인식 정보는 허가되지 않은 변조, 가로챔 또는 절도를 방지하기 위해 보호되어야 한다. 예를 들어, 허가되지 않은 사용자가 안전하지 않게 저장된 지문 스캔을 획득하여, 그것을 허가되지 않은 사용자가 스푸프하거나 혹은 보호된 리소스에 불법적인 액세스를 하기 위해 허가된 사용자의 신원을 모방하는 공격을 위해 사용할 수 있다. 또한, 지문 스캔 데이터에 액세스하고 그것을 조작하도록 구성된 불법의 알고리즘들이 생체 인식 데이터 처리 알고리즘들을 무력할 수 있어서, 생체 인식 인증이 제공하고자 하는 보안성이 취약해진다.
그러므로, 본 개시내용은 다양한 실시예들에 따라, 보안 생체 인식 데이터 캡처, 처리 및 관리를 위한 새로운 기술을 제공한다. 실시예에서, 컴퓨팅 시스템은 하나 이상의 생체 인식 지문 센서, 센서 허브, 비신뢰된 애플리케이션 실행 환경 및 신뢰된 애플리케이션 실행 환경을 포함한다. 센서 허브는 센서들에 독점적 액세스를 할 수 있고 또한 운영 체제의 비신뢰된 또는 비인증된 부분들, 및 컴퓨팅 시스템 상에서 실행하는 다른 프로세스들을 센서들에 의해 취득된 비암호화된 생체 인식 데이터에의 직접 액세스로부터 격리시킨다. 특히, 지문 스캔 동안에, 센서 허브는 시스템의 다른 컴포넌트들로부터의 지문 센서들에의 액세스를 금지한다. 센서 허브는 지문 스캔과 연관된 생체 인식 데이터를 획득하기 위해 센서들을 판독하고 생체 인식 데이터를 메모리 스택 또는 레지스터와 같은 데이터 저장소 컴포넌트 내에 저장한다. 센서 허브 및 보안 엔진만이 데이터 저장소 컴포넌트에 액세스할 수 있다. 일부 실시예들에서, 보안 엔진은 센서 허브가 데이터 저장 및 센서 액세스 제한들을 제거하기 전에 데이터 저장소 컴포넌트 내에 저장된 생체 인식 데이터를 암호화한다. 일부 실시예들에서, 보안 엔진은 지문 스캔과 연관된 생체 인식 데이터를 처리하고 추가의 허가 처리를 위해 검증 결과를 신뢰된 애플리케이션 실행 환경으로 전송한다. 시스템의 다양한 컴포넌트들(예를 들어, 원시 라이브러리 컴포넌트)은 후속적으로 메모리 저장소 컴포넌트로부터의 암호화된 생체 인식 데이터를 신뢰된 및 안전한 애플리케이션 실행 환경으로 전송할 수 있다. 신뢰된 환경은 생체 인식 데이터를 처리하는 알고리즘들을 호스트한다. 또한, 신뢰된 애플리케이션 실행 환경의 외부에서 실행하는 프로세스들은 신뢰된 애플리케이션 실행 환경 내의 생체 인식 데이터 또는 알고리즘들에 액세스할 수 없다. 지문 센서가 본 예시적인 실시예에서 사용되지만, 다른 실시예들이 본 개시내용의 비추어서 분명한 바와 같이, 다른 생체 인식 센서들 또는 이러한 센서들의 임의의 조합을 이용하고 본원에서 제공된 기술들에 따라 여전히 동작할 수 있다.
본 개시내용에서 사용된 바와 같이, 용어 "생체 인식"은 측정가능한 생물학적 특성 및 생물학적 특성을 갖는 개인을 인식하는 프로세스를 말한다. 생물학적 특성은 일부 경우들에서, 몇가지 예들 들자면, 지문들, 손바닥 특징들(예를 들어, 정맥들), 얼굴 특징들, DNA, 서명들, 음성 특징들, 손 특징들(예를 들어, 기하구조), 홍채 구조, 망막 특징들, 및 냄새 세부 사항들을 포함하는 해부학적 또는 생리학적인 것이다. 임의의 이러한 특성들은 일반적으로 생체 인식 샘플의 형태로 캡처될 수 있거나 생체 인식 센서에 의해 캡처된 데이터일 수 있다. 인식 프로세스는 개인의 신원을 식별, 및 검증하기 위해 생물학적 특성을 나타내는 생체 인식 데이터를 처리하는 것을 포함할 수 있다.
본 개시내용에서 사용된 바와 같이, 용어 "생체 인식 센서"는 생체 인식 및 검증을 위해 필요한 데이터를 취득하도록 구성된 디바이스를 말한다. 이러한 디바이스들은 예를 들어, 지문 센서들, 망막 및 홍채 센서들, 카메라들, 마이크로폰들, 및 생체 인식을 수집할 수 있는 다른 그러한 도구들을 포함할 수 있다. 예를 들어, 지문 센서는 사람의 지문들의 상세들을 캡처하기 위해 광학 지문 영상, 초음파 영상, 및 용량성 영상과 같은, 특징 검출 기술들을 포함할 수 있다. 홍채 인식 센서는 사람의 홍채 구조의 영상들을 캡처하기 위해 근적외선 조명을 갖는 비디오 카메라 기술을 포함할 수 있다. 얼굴 인식 센서는 사람의 구별되는 얼굴 특징들의 고 해상도 영상들을 캡처하기 위해 고 해상도 비디오 카메라 기술(예를 들어, 화소 해상도, 공간 해상도, 스펙트럼 해상도, 시간적 해상도, 및 방사성 해상도)을 포함할 수 있다. 음성 인식 센서는 사람의 음성 패턴들을 캡처하기 위해, 마이크로폰 및 가능하게는 하나 이상의 오디오 필터를 포함할 수 있다. 일부 실시예들에서, 이러한 센서들의 조합이 보안성을 더욱 증가시키기 위해 사용될 수 있다. 일부 실시예들에서, 센서는 생체 인식 데이터를 나타내는 전기 신호를 생성하도록 구성된 트랜스듀서를 포함한다.
본 개시내용에서 사용된 바와 같이, 용어 "생체 인식 템플릿"은 하나 이상의 생체 인식 샘플의 디지털 표현을 말한다. 예를 들어, 지문 센서를 사용하여 획득된 지문 스캔은 특정한 개인의 지문에 독특하게 대응하는 생체 인식 템플릿으로 변환될 수 있다. 다양한 모델들 및 알고리즘들은 생체 인식 템플릿을 생성하고 인증 목적들을 위해 이전에 저장된 템플릿들을 후보 지문들과 비교한다. 예를 들어, 영상- 또는 패턴-기반 알고리즘은 템플릿을 생성하거나 지문을 형성하는 패턴들의 유형, 크기, 형상 및 배향을 포함하는 2개 이상의 템플릿들을 비교할 수 있다.
본 개시내용에서 사용된 바와 같이, 용어들 "생체 인식 검증" 및 "생체 인식 인증"은 지문 스캔 또는 음성 스캔 또는 얼굴 스캔 또는 홍채 스캔과 같은 생체 인식 샘플을 취득하고, 캡처된 샘플을 데이터베이스 내에 등록된 이전에 유효화된 샘플과 비교함으로써 개인의 신원을 확인하는 프로세스를 말한다. 샘플들 간의 일치가 일어날 때 검증 또는 인증이 된다. 유효화된 샘플은 신뢰된 당사자에 의해 점검되었거나 그렇지 않으면 검증 또는 인증 프로세스를 수행하는 책임이 있는 보안 기관에 의해 인증되고 유효한 것으로 고려된 것이다.
본 개시내용에서 사용된 바와 같이, 용어 "생체 인식 식별"은 일치를 획득하기 위해 지문 스캔 또는 음성 스캔 또는 얼굴 스캔 또는 홍채 스캔과 같은 생체 인식 샘플을 데이터베이스 내의 하나 이상의 샘플과 비교함으로써 개인의 신원을 결정하는 프로세스를 말한다. 일부 경우들에서 검증 및 인증은 식별을 포함할 수 있지만, 식별은 반드시 유효화된 샘플과의 비교를 포함하는 것은 아니다(예를 들어, 식별은 인증으로 이어지지 않을 수 있다).
예시적인 시스템
도 1은 실시예에 따른, 생체 인식 데이터 캡처, 처리 및 관리를 위해 구성된 예시적인 컴퓨팅 시스템(100)을 도시한다. 시스템(100)은 예를 들어, 스마트폰, 태블릿 컴퓨터, 이동 디바이스, 데스크탑 컴퓨터, 또는 기타 적합한 컴퓨팅 디바이스에서 구현될 수 있다. 시스템(100)은 일반적으로 생체 인식 컴포넌트(110), 운영 체제(120), 및 애플리케이션 실행 환경(130)을 포함한다. 생체 인식 컴포넌트(110)는 예를 들어, 하드웨어, 펌웨어, 또는 둘 다(예를 들어, 시스템의 하나 이상의 로컬 프로세서에 의해 액세스가능하고 실행가능한 내장된 코드)를 포함할 수 있다.
생체 인식 컴포넌트(110)는 센서 허브(112), 하나 이상의 생체 인식 센서(114)(예를 들어, 지문 센서), 및 보안 엔진(116)을 포함한다. 센서 허브(112)는 컴퓨팅 시스템(100)의 다른 부분들을 (예를 들어, 운영 체제(120)를 통해) 생체 인식 센서(114)와 인터페이스시키는 회로 및 로직을 포함한다. 센서 허브(112)는 생체 인식 센서(114)로부터 생체 인식 샘플들을 제어하고 캡처하는 회로 및 로직을 더 포함한다. 생체 인식 컴포넌트(110)는 생체 인식 센서들(114)을 운영 체제(120) 및 애플리케이션 실행 환경(130)에 의한 직접 액세스로부터 동작적으로 격리시킬 수 있다. 예를 들어, 센서 허브(112)는 생체 인식 센서들(114)과 통신하기 위한 공통 버스 인터페이스를 포함할 수 있다. 이러한 공통 버스 인터페이스의 예들은 직렬 주변 인터페이스(SPI) 및 SPI 컨트롤러(예를 들어, SSP6), I2C(상호-집적 회로), 유니버설 비동기 수신기/송신기(UART) 및 이동 산업 프로세서 인터페이스(MIPI)를 포함한다. 지문 생체 인식 센서들의 예들은 용량성 센서들(Fingerprint Card 1020 패밀리, Synaptics 5100 패밀리), 광학(센서들의 OxiTechnology 모든 패밀리들, 인증), 및 초음파(센서들의 UltraScan 및 Sonavation 모든 패밀리들)를 포함하지만, 이들로 제한되지 않는다. 위에 주목된 바와 같이, 이들 센서 중 어느 것은 생체 인식 데이터를 나타내는 전기 신호를 생성하도록 구성된 트랜스듀서를 포함할 수 있다. 보안 엔진(116)은 안전한 실행 환경에서 암호 기능성을 제공하는 임의 유형의 하드웨어 또는 소프트웨어-기반 보안 엔진을 포함할 수 있다. 예를 들어, 보안 엔진(116)은 본 개시내용에 비추어서 분명한 바와 같이, 지문 스캔을 나타내는 생체 인식 데이터와 같은, 센서 허브(112)에 의해 취득된 데이터, 및 시스템(100)의 다양한 다른 컴포넌트들에 대한 암호화 및 복호화 능력들을 제공하도록 정의된 보안 방식들을 구현할 수 있다.
운영 체제(120)는 데이터 저장소(122)(예를 들어, 랜덤 액세스 메모리, 데이터 스택, 또는 다른 데이터 레지스터)를 포함한다. 생체 인식 컴포넌트(110)는 데이터 저장소(122)에 직접 액세스한다. 데이터 저장소(124)는 센서 허브(112)로부터 수신된 생체 인식 데이터를 저장하는 메모리를 제공한다. 예를 들어, 데이터 저장소(124)는 애플리케이션 실행 환경(130)으로의 데이터의 전송이 일어나기 전에 지문 스캔을 나타내는 데이터를 임시로 저장할 수 있다. 또한, 애플리케이션 실행 환경(130)은 운영 체제(120)를 통해 데이터 저장소(122)에 액세스할 수 있다. 그러나, 센서 허브(112)는 애플리케이션 실행 환경으로부터의 데이터 저장소에의 액세스를 선택적으로 금지한다. 예를 들어, 센서 허브(112)는 생체 인식 샘플을 캡처하라는 애플리케이션 실행 환경(130)으로부터의 요청에 응답하여, 직접 또는 운영 체제(120)를 통해, 애플리케이션 실행 환경(130)으로부터 데이터 저장소(122)에의 액세스를 금지할 수 있다. 이것은 동작적으로 격리된 생체 인식 컴포넌트(110)와 조합하여, 운영 체제(120) 및 애플리케이션 실행 환경(130)을 포함하는, 컴퓨팅 시스템(100)의 다른 부분들에 의한 판독 및 기입 액세스로부터 생체 인식 샘플로부터 획득된 비암호화된 생체 인식 데이터를 보호하는 역할을 한다. 보안 엔진(116)은 예를 들어, 생체 인식 데이터를 암호화할 수 있다. 생체 인식 데이터가 암호화될 때, 센서 허브(112)는 운영 체제(120) 및 애플리케이션 실행 환경(130)으로부터의 데이터 저장소(122)에의 액세스를 허용한다.
애플리케이션 실행 환경(130)은 비신뢰된 애플리케이션 실행 환경(132) 및 신뢰된 애플리케이션 실행 환경(134)을 포함한다. 비신뢰된 애플리케이션 실행 환경(132)은 컴퓨팅 시스템(100) 상에서 실행하는 어떤 프로세스에 의해 반드시 안전하지 않거나 그렇지 않으면 액세스로부터 보호되지 않은 추가의 데이터 저장소를 포함한다. 예를 들어, 컴퓨팅 시스템(100) 상에서 실행하는 신뢰된 또는 비신뢰된 프로세스들은 비신뢰된 애플리케이션 실행 환경(132) 내에 저장된 데이터에 액세스할 수 있다. 비신뢰된 애플리케이션 실행 환경(132)에서 실행하는 저장된 데이터 또는 애플리케이션들은 예를 들어, 컴퓨터 바이러스들 또는 악의적인 콘텐트를 포함할 수 있다. 또한, 허가되지 않거나 인증되지 않은 사용자들, 디바이스들 또는 애플리케이션들은 비신뢰된 애플리케이션 실행 환경(132) 내의 데이터 및 애플리케이션들에 액세스하거나 그들을 수정할 수 있다. 그러므로, 도난 및 오용으로부터 기밀 정보를 보호하는 것과 같은, 소정의 목적들을 위해, 비신뢰된 애플리케이션 실행 환경(132)은 생체 인식 데이터를 저장하거나 처리하기에 적합하지 않을 수 있다.
대조적으로, 신뢰된 애플리케이션 실행 환경(134)은 신뢰된 애플리케이션 실행 환경(134)의 외부에서 실행하는 허가되지 않거나 인증되지 않은 프로세스들에 의해 사용된 메모리로부터 격리된 데이터 저장소를 포함한다. 또한, 신뢰된 애플리케이션 실행 환경(134)에서 실행하는 프로세스들은 신뢰된 애플리케이션 실행 환경(134)의 외부에서 실행하는 모든 프로세스들을 제외하고, 그 안에 저장된 데이터에 독점적 액세스를 할 수 있다. 이 방식으로, 신뢰된 애플리케이션 실행 환경(134)은 (예를 들어, 운영 체제(120) 또는 비신뢰된 애플리케이션 실행 환경(132)에서) 신뢰된 애플리케이션 실행 환경(134)의 외부에서 실행하는 프로세스들로부터 그 안에 저장된 생체 인식 데이터를 포함하는, 소정의 데이터를 안전하게 격리한다. 일부 실시예들에서, 비신뢰된 애플리케이션 실행 환경(132)의 부분들을 형성하는 메모리 또는 다른 데이터 저장소 요소들은 애플리케이션에 따라, 신뢰된 애플리케이션 실행 환경(134)의 부분들을 형성하는 메모리 또는 다른 데이터 저장소 요소들과 물리적으로 분리될 수 있거나, 또는 통합될 수 있다. 또한, 일부 경우들에서, 하드웨어(예를 들어, 개별적 데이터 버스들, 비공유 메모리), 펌웨어 또는 소프트웨어(예를 들어, 세그멘테이션, 프로세스 격리, 가상 어드레싱, 보호 키들, 특권들 및 허용들, 어드레스 마스크들 등)는 시스템(100)의 한 메모리 영역을 다른 것으로부터 격리시킬 수 있다.
예시적인 방법론
도 2a는 실시예에 따른, 생체 인식 데이터 캡처, 처리 및 관리를 위한 예시적인 방법론의 흐름도이다. 도 2b는 실시예에 따른, 도 2a의 예시적인 방법론을 더 상세히 도시한 흐름도이다. 비신뢰된 애플리케이션(202)은 도 1의 비신뢰된 애플리케이션 실행 환경(132)과 같은, 컴퓨터 처리 환경의 부분에서 실행한다. 비신뢰된 애플리케이션(202)은 사용자(204)의 생체 인식 인증을 요청한다. 이러한 인증은 예를 들어, 비신뢰된 애플리케이션(202)이 소정의 보호된 또는 보안 정보에 액세스하고 또는 허가된 사용자들로 제한된 소정의 기능들을 수행하는 것을 허용하는 전제 조건의 역할을 할 수 있다. 일부 경우들에서, 패스워드들 또는 보안 토큰들과 같은 다른 적합한 인증 기술들이 생체 인식 인증을 보완할 수 있다. 인증 요청에 응답하여, 비신뢰된 애플리케이션(202)에 독립적이고 그로부터 격리된, 컴퓨터 처리 환경(예를 들어, 신뢰된 애플리케이션 실행 환경(134), 운영 체제 커널(120), 생체 인식 컴포넌트(110), 또는 이들의 임의의 조합)의 분리된 부분은 사용자(204)로부터 생체 인식 데이터(예를 들어, 지문 스캔)를 수집한다(210). 도 2b를 참조하면, 생체 인식 데이터의 보안 수집(210)은 다음 중 하나 이상을 포함할 수 있다: 암호 키를 생성(212a), 운영 체제로부터 데이터 저장소에의 액세스를 금지(214), 및 생체 인식 데이터를 캡처하고 암호화하여 데이터 저장소 내에 저장(216).
도 2a를 다시 참조하면, 생체 인식 데이터를 수집한(210) 후에 생체 인식 데이터는 컴퓨터 처리 환경의 한 부분으로부터 다른 부분으로 송신된다(220). 도 2b를 참조하면, 생체 인식 데이터의 송신(220)은 다음 중 하나 이상을 포함할 수 있다: 운영 체제로부터 데이터 저장소에의 액세스를 허용(222), 및 데이터 저장소로부터의 생체 인식 데이터를 신뢰된 애플리케이션 실행 환경으로 전송(224). 예를 들어, 도 1을 참조하면, 생체 인식 데이터는 생체 인식 컴포넌트(110)로부터 운영 체제 커널(120)(예를 들어, 데이터 저장소(124)), 및 나아가 신뢰된 애플리케이션 실행 환경(134)에 송신될 수 있다. 생체 인식 데이터는 안전하게(예를 들어, 암호화된 형태로) 송신되므로(220), 비신뢰된 애플리케이션(202)은 비암호화되거나 혹은 비보안 형태로 생체 인식 데이터에 액세스하지 못한다.
도 2a 및 2b를 다시 참조하면, 생체 인식 데이터의 처리 및 관리(230)는 비신뢰된 애플리케이션(202)에 독립적이고 그로부터 분리된 유사하게 안전한 방식으로 이루어진다. 예를 들어, 생체 인식 데이터의 복호화 및 처리(232)는 지문 스캔을 등록하거나 이전에 등록된 지문 스캔에 대한 유효화를 위한 템플릿을 생성하기 위해 신뢰된 환경 내에서 이루어질 수 있다. 생체 인식 데이터를 암호화 및 복호화하기 위해 사용된 임의의 암호 키들은 비신뢰된 애플리케이션(202)에 전혀 노출되지 않는다. 이와 같이, 본 예시적인 프레임워크 및 방법론에서, 비신뢰된 애플리케이션(202)은 비암호화되거나 혹은 비보안 형태로 생체 인식 데이터에 직접 액세스하지 못하거나, 비암호화되거나 혹은 비보안 형태로 생체 인식 데이터를 수집, 송신, 처리, 또는 관리하는 생체 인식 컴포넌트, 또는 임의의 프로세스 또는 통신 채널에 직접 액세스하지 못한다.
예시적인 디바이스
도 3은 실시예에 따른, 생체 인식 데이터 캡처, 처리 및 관리를 위해 구성된 예시적인 컴퓨팅 디바이스(300)를 도시한다. 컴퓨팅 디바이스(300)는 생체 인식 컴포넌트(310), 운영 체제 컴포넌트(320), 비신뢰된 환경 컴포넌트(330) 및 신뢰된 및 안전한 환경 컴포넌트(340)를 포함한다. 생체 인식 컴포넌트(310)는 센서 허브(312), 하나 이상의 생체 인식 지문 센서(314), 및 보안 엔진(316)을 포함한다. 일부 경우들에서, 센서 허브(312) 및 보안 엔진(316)은 컴퓨팅 디바이스(300) 내로 통합된 하나 이상의 액세스 제어 레지스터(도시 안됨)를 구성함으로써 생체 인식 지문 센서들(314)에 독점적 액세스를 할 수 있다. 센서 허브(312)는 하나 이상의 애플리케이션 및 프로세스를 실행한다. 이들 애플리케이션 또는 프로세스는 서로 상호 배타적으로, 및 서로 격리되어 실행할 수 있다(예를 들어, 센서 허브(312) 상의 애플리케이션 또는 프로세스는 다른 것의 존재를 알 수 없고, 센서 허브(312) 상의 애플리케이션 또는 프로세스는 서로 데이터를 액세스할 수 없다). 예를 들어, 센서 허브(312) 내의 각각의 애플리케이션 또는 프로세스는 보호 링(예를 들어, Ring 3) 아키텍처에서 실행할 수 있다. 운영 체제 컴포넌트(320)는 센서 허브 프로세스 간 통신(IPC) 컴포넌트(322), 데이터 저장소 컴포넌트(324), 보안 엔진 인터페이스 컴포넌트(326), 및 생체 인식 구동기 컴포넌트(328)를 포함한다. 비신뢰된 환경(330)은 다음 중 하나 이상을 포함한다: 비신뢰된 애플리케이션(332), 생체 인식 서비스(334), 및 생체 인식 서비스 라이브러리(336). 생체 인식 서비스(334)는 예를 들어, 생체 인식 하드웨어/펌웨어(310)를 통해 사용자들을 등록, 검증 및 식별하는 하나 이상의 애플리케이션 프로그래밍 인터페이스들(API들)을 제공할 수 있다. 일부 경우들에서, 비신뢰된 애플리케이션(332)은 임의의 표준 생체 인식 API들을 사용하여 사용자들을 등록, 검증 및 식별할 수 있다. 신뢰된 및 안전한 환경(340)은 다음 중 하나 이상을 포함한다: 신뢰된 생체 인식 애플리케이션(342) 및 신뢰된 생체 인식 서비스(344). 일부 실시예들에서, 센서 허브(312)는 다음 중 하나 이상을 포함할 수 있다: 센서 처리 모듈(350) 및 센서 인터페이스(352).
컴퓨팅 디바이스(300)는 스마트폰, 태블릿, 데스크탑 컴퓨터, 사용자 단말기, 포인트-오브-세일 단말기, 현금 자동 입출금기, 자동 판매기, 공항 체크인 시스템, 내장된 디바이스 콘트롤러, 차량 제어 시스템, 설비 액세스 제어 시스템, 또는 생체 인식이 사용자 식별 및 인증을 위해 이용되는 다른 디바이스 또는 시스템 또는 디바이스들 또는 시스템들의 조합과 같은, 하나 이상의 이동 또는 데스크탑 컴퓨팅 디바이스들에서 구현될 수 있다.
일반적으로, 컴퓨팅 디바이스(300)는 실시예에 따라, 다음과 같은 방식으로 동작한다. 비신뢰된 애플리케이션(332)는 사용자의 생체 인식 식별 또는 인증을 포함하는 컴퓨팅 디바이스(300) 상에서 실행하는 임의의 애플리케이션을 포함할 수 있다. 이러한 애플리케이션의 예는 사용자에게 소정의 금융 거래들을 허용하기 전에 생체 인식 정보를 사용하여 사용자를 식별하고 인증하는 온라인 뱅킹 애플리케이션을 포함한다. 예를 들어, 사용자명 및 패스워드를 사용하여 금융 기관의 뱅킹 애플리케이션에 로그인하는 것 대신에, 또는 그에 부가하여, 비신뢰된 애플리케이션(332)은 사용자의 지문 스캔을 획득한다. 알려지고 유효화된 생체 인식 데이터와 지문 스캔으로부터 획득된 생체 인식 데이터를 비교하면 사용자가 누구인지와 사용자가 잔고를 체크하고, 펀드들을 해지 또는 전환하고, 구매를 하고 금융 기관에 의해 허가된 사용자들에게만 가용한 다른 유형들의 거래들과 같은, 소정의 기능들을 수행하는 것이 허용되는지가 결정된다. 생체 인식 기반 보안이 사용될 수 있는 애플리케이션들의 다른 예들이 본 개시내용에 비추어서 분명해질 것이다.
디바이스(300)는 비신뢰된 애플리케이션(332)을 포함하는, 비신뢰된 환경(330)에서 실행하는 애플리케이션들 또는 다른 프로세스들이 허가되지 않은 사용자들이 부적절한 목적들을 위해 이용하거나 혹은 오용할 수 있는 감지 데이터에 직접 액세스하는 것을 허용하지 않는다. 이와 같이, 디바이스(300)는 비신뢰된 애플리케이션(332)이 생체 인식 데이터에 적어도 비암호화된 형태로, 액세스하거나 혹은 가로채거나 조작하는 것을 허용하지 않는다. 대신에, 비신뢰된 애플리케이션(332)은 신뢰된 생체 인식 애플리케이션(342), 데이터 저장소 컴포넌트(324), 및 생체 인식 컴포넌트(310)를 포함하지만, 이들로 제한되지 않는, 컴퓨팅 디바이스(300)의 다른 컴포넌트들에 보내진 요청을 통해 간접적으로 생체 인식 기반 식별 또는 허가를 달성한다. 다양한 실시예들에 따라, 이러한 다른 컴포넌트들은 생체 인식 데이터의 무결성 및 보안성을 유지하도록 설계되고, 생체 인식 컴포넌트(310) 및 데이터 저장소(324)를 비신뢰된 환경으로부터 격리하도록 더 설계된다. 요청은 예를 들어, 새로운 지문 스캔을 데이터베이스 내로 등록하고 또는 이전에 등록된 지문 스캔과 비교하여 새로운 지문 스캔을 인증하고, "성공" 또는 "실패"와 같은, 그러한 등록 또는 인증의 결과를 되돌려 주는 요청을 포함할 수 있다. 일부 경우들에서, 생체 인식 서비스(334)는 비신뢰된 애플리케이션(332)으로부터의 요청의 센서 허브 IPC(322)와 같은, 컴퓨팅 디바이스(300)의 다양한 다른 컴포넌트들로의 제출을 용이하게 하는 하나 이상의 API들을 제공한다.
비신뢰된 애플리케이션(332)으로부터 생체 인식 요청을 수신한 것에 응답하여, 구동기(328)는 생체 인식 지문 센서(314)로부터 캡처된 생체 인식 데이터를 암호화하기 위한 암호 키를 생성하기 위해 신뢰된 생체 인식 서비스(344)를 통해 신뢰된 생체 인식 애플리케이션(342)에 명령을 보낸다. 신뢰된 생체 인식 애플리케이션(342)은 암호 키를 생성하여 그 키를 보안 엔진 인터페이스(326)를 통해 보안 엔진(316)에 공급한다. 부가적으로, 생체 인식 요청을 수신한 것에 응답하여, 센서 허브 IPC(322)는 생체 인식 샘플을 캡처하기 위해 센서 허브(312) 및 지문 센서(314)에 명령을 보낸다. 데이터 저장소(324)는 운영 체제(320)와, 센서 허브(312)와 보안 엔진(326) 간에 공유된다. 센서 허브(312)는 운영 체제(320)가 데이터 저장소(324)에 액세스하는 것을 금지하기 위해 생체 인식 샘플을 캡처하기 전에 데이터 저장소(324)를 잠근다. 다음에, 센서 처리 모듈(350)은 센서 인터페이스(352)를 사용하여 생체 인식 샘플을 나타내는 미가공 생체 인식 데이터를 취득하고, 미가공 생체 인식 데이터를 데이터 저장소(324) 내에 저장한다. 센서 처리 모듈(350)은 생체 인식 데이터를 운영 체제(320)에 보내기 전에 암호 키를 사용하여 미가공 생체 인식 데이터를 암호화하기 위해 보안 엔진(326)을 호출한다. 센서 허브(312)는 데이터 저장소 내에 저장된 생체 인식 데이터가 암호화되었을 때 데이터 저장소(324)에의 액세스를 잠금해제한다.
다음에, 센서 허브 IPC(322)는 데이터 저장소(324)로부터 암호화된 생체 인식 데이터를 수집하고 그것을 비신뢰된 환경(330) 내의 버퍼에 복사한다. 생체 인식 서비스 라이브러리(336)는 다음에 암호화된 생체 인식 데이터를 신뢰된 및 안전한 환경(340)으로 전송한다. 암호화된 생체 인식 데이터를 수신할 때, 신뢰된 생체 인식 애플리케이션(342)은 생체 인식 데이터를 암호화하기 위해 보안 엔진(316)에 의해 사용된 동일한 암호 키를 사용하여 데이터를 복호화한다. 신뢰된 생체 인식 애플리케이션(342)은 생체 인식 데이터의 무결성 및 유효성을 체크하고, 데이터를 사전 처리하고, 생체 인식 템플릿을 추출하고 암호화된 형태로 템플릿을 저장하거나 템플릿을 이전에 등록된 템플릿과 비교한다. 이들 기능의 모두는 신뢰된 및 안전한 환경(340) 내에서 수행되어, 비신뢰된 환경(330) 또는 운영 체제(320)로부터의 액세스에 대해 생체 인식 데이터 및 템플릿들의 보안성을 보장한다. 컴퓨팅 디바이스(300)의 동작 및 사용의 다른 예가 도 4와 관련하여 더 상세히 제공된다.
예시적인 방법론
도 4는 실시예에 따른, 컴퓨팅 환경에서의 생체 인식 데이터 캡처, 처리 및 관리를 위한 또 하나의 예시적인 방법론의 흐름도이다. 분명히 하기 위해, 도 4에서, 예시적인 방법론의 다양한 단계들이 도 2의 컴퓨팅 디바이스의 다양한 컴포넌트들에 대해 정의된다. 그러나, 이들 단계 중 일부 또는 모두는 별도로 설명된 컴포넌트들의 조합들인 컴포넌트들, 개별적으로 설명된 컴포넌트들의 서브셋들인 컴포넌트들, 컴퓨팅 환경(예를 들어, 클라이언트-서버 방식)과 떨어진 컴포넌트들, 또는 컴퓨팅 환경의 별도의 컴퓨팅 환경 또는 별도의 부분들에 위치한 컴포넌트들을 포함하는, 본 예시적인 실시예에서 분명히 참조된 것들과 상이한 컴포넌트들에 의해 수행될 수 있다. 또한, 이들 단계 중 하나 이상의 단계의 수행은 본 예시적인 실시예에서 분명히 설명되거나, 전체적으로 생략된 것들과 상이한 순서들로 일어날 수 있다. 따라서, 도 4의 예시적인 흐름도는 단지 한 예시적인 방법론의 일반적 개요를 제공하고, 다양한 다른 실시예들의 범위를 제한하지 않는다.
일반적으로, 생체 인식 인증 세션 동안에, 예시적인 방법론은 다음 액션들 중 하나 이상을 포함한다: 생체 인식 데이터를 암호화 및 복호화하기 위한 암호 키를 생성하고, 컴퓨팅 환경 내의 소정의 컴포넌트들에의 생체 인식 하드웨어/펌웨어 액세스를 제한하고, 생체 인식 데이터(예를 들어, 지문 스캔)를 캡처하고, 생체 인식 데이터를 암호화하여 신뢰된 환경으로 전송하고, 생체 인식 데이터를 더 처리하여 신뢰된 환경 내에서 저장하는 것. 예시적인 방법론은 이러한 처리의 결과를 비신뢰된 환경에서 실행하는 애플리케이션들에 보고하는 것을 더 포함할 수 있다. 예를 들어, 지문 스캔 등록 또는 인증의 결과는 성공 또는 실패로서 비신뢰된 애플리케이션에 보고될 수 있다. 결국, 예시적인 방법론은 결과에 기초하여 보호된 리소스에의 비신뢰된 애플리케이션에 의한 액세스를 승인 또는 거절할 수 있다.
더 상세히, 초기에, 비신뢰된 환경에서 실행할 수 있는 비신뢰된 애플리케이션은 생체 인식 인증 요청을 발행한다(402). 이러한 요청은 예를 들어, 비신뢰된 애플리케이션이 사용자에 의해 소유되거나 혹은 사용자를 대신하여 비허가된 액세스가 방지된 보호된 리소스(예를 들어, 데이터, 서비스들 또는 애플리케이션들)에 액세스하기 위해 사용자의 인증을 획득할 필요가 있을 때 발행될 수 있다. 컴퓨팅 환경에서 실행하는 애플리케이션은 생체 인식 인증 요청을 발행할 수 있다. 이러한 애플리케이션들은 비신뢰된 환경에서 실행하는 것들로 제한되지 않고 컴퓨팅 환경의 다른 부분들에서 또는 신뢰된 환경, 운영 체제 커널 및 임의의 하드웨어 또는 펌웨어를 포함하는, 별도의 컴퓨팅 환경 환경들에서 실행하는 애플리케이션들 또는 다른 프로세스들을 포함할 수 있다. 비신뢰된 환경에서 실행하는 비신뢰된 생체 인식 서비스는 생체 인식 인증 요청을 수신한다. 비신뢰된 생체 인식 서비스는 생체 인식 데이터가 캡처, 송신, 처리, 또는 관리되는 생체 인식 인증 세션을 인스턴트화한다(404). 생체 인식 인증 세션은 도 4와 관련하여 설명된 액션들 중 하나 이상을 포함할 수 있다. 생체 인식 인증 세션의 인스턴트화에 응답하여, 비신뢰된 생체 인식 서비스는 신뢰된 생체 인식 애플리케이션을 호출한다(406). 신뢰된 생체 인식 애플리케이션은 액세스가 신뢰된 환경에서 실행하는 컴포넌트들로 제한된 격리된 메모리 영역들 또는 다른 데이터 저장소 컴포넌트들을 포함할 수 있는 신뢰된 환경에서 실행한다.
비신뢰된 생체 인식 서비스로부터 호출을 수신한 것에 응답하여, 신뢰된 생체 인식 애플리케이션은 또한 신뢰된 환경 내에서, 신뢰된 생체 인식 서비스를 통해 암호 키를 생성한다(408). 신뢰된 생체 인식 서비스는 암호 키를 생성하기 위해 보안 엔진과 함께 동작할 수 있다. 예를 들어, 신뢰된 생체 인식 서비스는 암호 키를 요청하는 보안 엔진을 호출할 수 있고, 보안 엔진은 신뢰된 생체 인식 서비스를 대신하여 암호 키를 생성하고 보안 또는 전용 통신 채널을 사용하여 암호 키를 신뢰된 생체 인식 서비스에 돌려줄 수 있다. 보안 엔진은 또한 암호 키를 예를 들어, 센서 허브와 공유할 수 있다.
지문을 스캔하기 전에, 커널 스택과 같은 데이터 저장소 컴포넌트에의 액세스는 컴퓨팅 환경의 하드웨어/펌웨어에서 센서 허브, 보안 엔진, 또는 둘 다로 제한된다(410). 결과적으로, 비신뢰된 환경으로부터 커널 스택에의 액세스는 허용되지 않는다. 커널 스택에의 액세스는 컴퓨팅 환경 내의 비신뢰된 또는 비인증된 애플리케이션들 또는 컴포넌트들이 생체 인식 인증 세션 동안 취득된 임의의 비암호화되거나 혹은 비보안된 생체 인식 데이터에 액세스하는 것을 방지하도록 제한된다. 커널 스택 액세스가 그렇게 제한된 후에, 생체 인식 데이터가 지문 센서로부터 캡처되고(412) 커널 스택 상에 배치된다(414). 일부 경우들에서, 캡처된 생체 인식 센서 데이터는 하드웨어/펌웨어, 커널 또는 액세스가 컴퓨팅 환경 내의 인증되거나 신뢰된 컴포넌트들로 적합하게 제한된 신뢰된 환경 내의 다른 데이터 저장소 컴포넌트들 내에 부가적으로 또는 대안적으로 저장될 수 있다.
센서 허브 또는 보안 엔진은 생체 인식 데이터가 커널 스택 상에 있는 동안 그리고 커널 스택에의 액세스가 센서 허브, 보안 엔진, 또는 둘 다로 제한되는 동안 암호 키를 사용하여 생체 인식 데이터를 암호화한다(416). 생체 인식 데이터를 암호화하는 것에 후속적으로, 센서 허브는 커널 스택 액세스 제한을 제거하여, 애플리케이션 실행 환경으로부터 커널 스택에의 액세스를 허용한다(418). 생체 인식 서비스 라이브러리는 암호화된 생체 인식 데이터를 운영 체제 또는 컴퓨팅 환경의 다른 비신뢰된 프로세스들 및 컴포넌트들에 의해 직접 액세스가능하지 않은, 신뢰된 및 안전한 환경으로 전송한다(420).
암호화된 생체 인식 데이터가 신뢰된 환경으로 전송될 때, 신뢰된 생체 인식 애플리케이션은 암호화된 생체 인식 데이터를 암호 키를 사용하여 복호화하고(422) 생체 인식 데이터를 더 처리한다(424). 이러한 추가의 처리는 예를 들어, 생체 인식 데이터(예를 들어, 지문 스캔)에 대응하는 생체 인식 템플릿을 생성하고 또는 수신된 처리된 데이터에 기초하여 추가의 허가 결정들을 하는 것을 포함할 수 있다. 생체 인식 센서 데이터에 기초한 생체 인식 템플릿은 필요한 대로, 생체 인식 유효화, 인증, 또는 식별 동안 미래의 사용을 위해 신뢰된 환경 내에서 저장될 수 있다. 신뢰된 환경은 신뢰된 환경 외부의 애플리케이션들, 프로세스들 또는 컴포넌트들이 생체 인식 템플릿에 액세스하지 못하는 것을 보장함으로써 생체 인식 템플릿을 위한 안전한 데이터 저장소를 제공한다. 격리된, 보호된, 또는 암호화된 메모리 영역들은 예를 들어, 생체 인식 데이터 및 템플릿들의 안전한 저장을 제공할 수 있다. 신뢰된 생체 인식 애플리케이션은 생체 인식 템플릿을 등록 또는 인증한다(426). 예를 들어, 생체 인식 샘플이 처음에 개인으로부터 획득되면, 결과적인 생체 인식 템플릿은 후속적으로 획득되는 샘플들과 비교하기 위해 데이터베이스 내에 등록될 수 있다. 다른 한편으로, 유효화된 생체 인식 템플릿이 이미 등록되어 있으면, 생체 인식 템플릿은 등록된 템플릿에 대한 검증 또는 인증을 위해 사용될 수 있다. 후속적으로 비신뢰된 애플리케이션에 등록 또는 인증의 결과가 통지된다(430). 예를 들어, 인증 결과가 등록된 생체 인식 템플릿과 현재의 생체 인식 템플릿 간에 일치하는 것으로 나오면, 사용자가 보호된 리소스에 액세스하는 것이 허가된 것이 비신뢰된 애플리케이션에 통지될 수 있다. 일부 경우들에서, 통지는 보안 토큰 또는 비신뢰된 애플리케이션이 보호된 리소스에 액세스하기 위해 사용할 수 있는 다른 정보를 포함할 수 있다. 통지(430)에 후속적으로, 생체 인식 인증 세션이 종료할 수 있고, 비신뢰된 애플리케이션은 사용자에게 결과를 통지한다(432). 일부 경우들에서, 예시적인 방법론은 비신뢰된 애플리케이션의 사용자에게 생체 인식 인증의 결과(예를 들어, "통과" 또는 "실패" 메시지 또는 다른 표시)를 통지하는 것을 포함한다. 이 예시적인 방법론은 컴퓨팅 환경에서 실행하는 임의의 애플리케이션이 생체 인식 인증을 요청할 때마다 반복될 수 있다.
예시적인 시스템
도 5는 실시예에 따른, 생체 인식 데이터 캡처, 처리 및 관리를 위한 기술들을 수행할 수 있는 예시적인 시스템(500)을 도시한다. 일부 실시예들에서, 시스템(500)은 미디어 시스템일 수 있지만 시스템(500)은 이 맥락으로 제한되지 않는다. 예를 들어, 시스템(500)은 퍼스널 컴퓨터(PC), 랩탑 컴퓨터, 울트라-랩탑 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 휴대형 컴퓨터, 팜탑 컴퓨터, 개인 휴대 단말기(PDA), 셀룰러 전화, 조합 셀룰러 전화/PDA, 텔레비전, 스마트 디바이스(예를 들어, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 이동 인터넷 디바이스(MID), 메시징 디바이스, 데이터 통신 디바이스, 셋톱 박스, 게임 콘솔, 또는 그래픽 렌더링 동작들을 수행할 수 있는 다른 그러한 컴퓨팅 환경들 내로 통합될 수 있다.
일부 실시예들에서, 시스템(500)은 디스플레이(520)에 결합된 플랫폼(502)을 포함한다. 플랫폼(502)은 콘텐트 서비스 디바이스(들)(530) 또는 콘텐트 전달 디바이스(들)(540) 또는 다른 유사한 콘텐트 소스들과 같은 콘텐트 디바이스로부터 콘텐트를 수신할 수 있다. 하나 이상의 내비게이션 특징을 포함하는 내비게이션 제어기(550)는 예를 들어, 플랫폼(502) 및/또는 디스플레이(520)와 상호작용하기 위해 사용될 수 있다. 이들 예시적인 컴포넌트 각각이 아래에 보다 상세히 설명된다.
일부 실시예들에서, 플랫폼(502)은 칩셋(505), 프로세서(510), 메모리(512), 저장소(514), 그래픽 서브시스템(515), 애플리케이션들(516) 및/또는 무선 장치(518)의 임의의 조합을 포함한다. 칩셋(505)은 프로세서(510), 메모리(512), 저장소(514), 그래픽 서브시스템(515), 애플리케이션들(516) 및/또는 무선 장치(518) 간의 상호통신을 제공한다. 예를 들어, 칩셋(505)은 저장소(514)와의 상호통신을 제공할 수 있는 저장소 어댑터(도시되지 않음)를 포함할 수 있다.
프로세서(510)는 예를 들어, 복잡한 명령어 세트 컴퓨터(CISC) 또는 감소된 명령어 세트 컴퓨터(RISC) 프로세서들, x86 명령어 세트 호환가능한 프로세서들, 멀티-코어, 또는 기타 마이크로프로세서 또는 중앙 처리 장치(CPU)로서 구현될 수 있다. 일부 실시예들에서, 프로세서(510)는 듀얼-코어 프로세서(들), 듀얼-코어 이동 프로세서(들) 등을 포함한다. 메모리(612)는 예를 들어, 랜덤 액세스 메모리(RAM), 다이내믹 랜덤 액세스 메모리(DRAM), 또는 스테틱 RAM(SRAM)과 같지만, 이들로 제한되지 않는 휘발성 메모리 디바이스로서 구현될 수 있다. 저장소(514)는 예를 들어, 자기 디스크 드라이브, 광학 디스크 드라이브, 테이프 드라이브, 내부 저장 디바이스, 부착된 저장 디바이스, 플래시 메모리, 배터리 백업 SDRAM(동기 DRAM), 및/또는 네트워크 액세스가능한 저장 디바이스와 같지만, 이들로 제한되지 않는 비휘발성 저장 디바이스로서 구현될 수 있다. 일부 실시예들에서, 저장소(514)는 예를 들어, 다수의 하드 드라이브가 포함될 때 가치있는 디지털 미디어에 대한 저장 성능 향상된 보호를 증가시키는 기술을 포함한다.
그래픽 서브시스템(515)은 디스플레이를 위한 정지 또는 비디오와 같은 영상들의 처리를 수행할 수 있다. 그래픽 서브시스템(515)은 예를 들어, 그래픽 처리 장치(GPU) 또는 시각 처리 장치(VPU)일 수 있다. 아날로그 또는 디지털 인터페이스가 그래픽 서브시스템(515)과 디스플레이(520)를 통신 결합하기 위해 사용될 수 있다. 예를 들어, 인터페이스는 고선명 멀티미디어 인터페이스, 디스플레이포트, 무선 HDMI, 및/또는 무선 HD 순응 기술들 중 어느 것일 수 있다. 그래픽 서브시스템(515)은 프로세서(510) 또는 칩셋(505) 내로 통합될 수 있다. 그래픽 서브시스템(515)은 칩셋(505)에 통신 결합된 스탠드-얼론 카드일 수 있다. 여기에 설명된 그래픽 및/또는 비디오 처리 기술들은 다양한 하드웨어 아키텍처들에서 구현될 수 있다. 예를 들어, 여기에 제공된 것과 같은 하드웨어 지원 특권 액세스 침해 체크 기능이 그래픽 및/또는 비디오 칩셋 내에 통합될 수 있다. 대안적으로, 별도의 보안 프로세서가 사용될 수 있다. 또 다른 실시예에서, 특권 액세스 침해 체크들을 위한 하드웨어 지원을 포함하는 그래픽 및/또는 비디오 기능들은 멀티-코어 프로세서를 포함하는 범용 프로세서에 의해 구현될 수 있다.
무선 장치(518)는 다양한 적합한 무선 통신 기술들을 사용하여 신호들을 송신 및 수신할 수 있는 하나 이상의 무선 장치를 포함할 수 있다. 이러한 기술들은 하나 이상의 무선 네트워크를 통한 통신들을 포함할 수 있다. 예시적인 무선 네트워크들은 무선 근거리 네트워크들(WLAN들), 무선 개인 네트워크들(WPAN들), 무선 도시 지역 네트워크(WMAN들), 셀룰러 네트워크들, 및 위성 네트워크들을 포함한다(그러나 이들로 제한되지 않는다). 이러한 네트워크들을 통해 통신하는데 있어서, 무선 장치(618)는 임의의 버전에서 하나 이상의 적용가능한 표준에 따라 동작할 수 있다.
일부 실시예들에서, 디스플레이(520)는 임의의 텔레비전 또는 컴퓨터 모니터 또는 디스플레이를 포함한다. 디스플레이(520)는 예를 들어, 액정 디스플레이(LCD) 스크린, 전기영동 디스플레이(EPD) 또는 액정 페이퍼 디스플레이, 플랫 패널 디스플레이, 터치 스크린 디스플레이, 텔레비전형 디바이스 및/또는 텔레비전을 포함할 수 있다. 디스플레이(520)는 디지털 및/또는 아날로그일 수 있다. 일부 실시예들에서, 디스플레이(520)는 홀로그래픽 또는 3차원 디스플레이이다. 또한, 디스플레이(520)는 시각적 투사를 수신할 수 있는 투명한 표면일 수 있다. 이러한 투사들은 다양한 형태들의 정보, 영상들, 및/또는 물체들을 전달할 수 있다. 예를 들어, 이러한 투사들은 이동 증강 현실(MAR) 애플리케이션을 위한 시각적 오버레이일 수 있다. 하나 이상의 소프트웨어 애플리케이션(516)의 제어 하에서, 플랫폼(502)은 디스플레이(620) 상에 사용자 인터페이스(522)를 디스플레이할 수 있다.
일부 실시예들에서, 콘텐트 서비스 디바이스(들)(530)는 임의의 국가적, 국제적 및/또는 독립 서비스에 의해 호스트될 수 있으므로, 예를 들어, 인터넷 또는 다른 네트워크를 통해 플랫폼(502)에 액세스가능하다. 콘텐트 서비스 디바이스(들)(530)는 플랫폼(502) 및/또는 디스플레이(520)에 결합될 수 있다. 플랫폼(502) 및/또는 콘텐트 서비스 디바이스(들)(630)는 네트워크(560)와 미디어 정보를 통신하기 위해(예를 들어, 송신 및/또는 수신하기 위해) 네트워크(560)에 결합될 수 있다. 콘텐트 전달 디바이스(들)(540)는 플랫폼(502) 및/또는 디스플레이(520)에 결합될 수 있다. 일부 실시예들에서, 콘텐트 서비스 디바이스(들)(530)는 케이블 텔레비전 박스, 퍼스널 컴퓨터, 네트워크, 전화기, 디지털 정보 및/또는 콘텐트를 전달할 수 있는 인터넷 가능 디바이스들 또는 기기, 및 제공자들과 플랫폼(502) 및/또는 디스플레이(520) 사이에 콘텐트를, 네트워크(560)를 통해 또는 직접 일방향으로 또는 양방향으로 통신할 수 있는 기타 유사한 디바이스를 포함한다. 콘텐트는 네트워크(560)를 통해 시스템(500) 내의 컴포넌트들과 콘텐트 제공자 중 어느 하나와 일방향으로 및/또는 양방향으로 통신될 수 있다는 것을 알 것이다. 콘텐트의 예들은 예를 들어, 비디오, 음악, 그래픽, 텍스트, 의료 및 게이밍 콘텐트 등을 포함하는 임의의 미디어 정보를 포함할 수 있다.
콘텐트 서비스 디바이스(들)(530)는 미디어 정보, 디지털 정보, 및/또는 다른 콘텐트를 포함하는 케이블 텔레비전 프로그래밍과 같은 콘텐트를 수신한다. 콘텐트 제공자들의 예들은 임의의 케이블 또는 위성 텔레비전 또는 무선 또는 인터넷 콘텐트 제공자들을 포함할 수 있다. 제공된 예들은 본 개시내용의 범위를 제한하려는 것이 아니다. 일부 실시예들에서, 플랫폼(502)은 하나 이상의 내비게이션 특징들을 갖는 내비게이션 제어기(550)로부터 제어 신호들을 수신한다. 제어기(550)의 내비게이션 특징들은 예를 들어, 사용자 인터페이스(522)와 상호작용하기 위해 사용될 수 있다. 일부 실시예들에서, 내비게이션 제어기(550)는 사용자가 컴퓨터 내로 공간적(예를 들어, 연속 및 다차원) 데이터를 입력하게 하는 컴퓨터 하드웨어 컴포넌트(구체적으로 사람 인터페이스 디바이스)일 수 있는 포인팅 디바이스일 수 있다. 그래픽 사용자 인터페이스들(GUI), 및 텔레비전 및 모니터들과 같은 많은 시스템들은 사용자가 데이터를 제어하고 물리적 제스처를 사용하여 컴퓨터 또는 텔레비전에 데이터를 제공하게 한다.
제어기(550)의 내비게이션 특징들의 이동은 포인터, 커저, 초점 링, 또는 디스플레이 상에 디스플레이되는 다른 시각적 표시기들의 이동에 의해 디스플레이(예를 들어, 디스플레이(520)) 상에 에코될 수 있다. 예를 들어, 소프트웨어 애플리케이션들(516)의 제어 하에서, 내비게이션 제어기(550) 상에 배치된 내비게이션 특징들은 사용자 인터페이스(522) 상에 디스플레이되는 가상 내비게이션 특징들에 맵핑될 수 있다. 일부 실시예들에서, 제어기(550)는 별도의 컴포넌트가 아니고 오히려 플랫폼(502) 및/또는 디스플레이(520) 내로 통합된다.
일부 실시예들에서, 드라이버들(도시 안됨)은 사용자들이 예를 들어, 가능하게 될 때, 초기의 부트-업 후에 버튼의 터치로 텔레비전과 같은 플랫폼(502)을 순간적으로 턴 온 및 오프하게 하는 기술을 포함한다. 프로그램 로직은 플랫폼이 턴 "오프"될 때 플랫폼(502)이 미디어 어댑터들 또는 다른 콘텐트 서비스 디바이스(들)(530) 또는 콘텐트 전달 디바이스(들)(540)에 콘텐트를 스트리밍하게 할 수 있다. 또한, 칩셋(505)은 예를 들어, 5.1 서라운드 사운드 오디오 및/또는 고음질 7.1 서라운드 사운드 오디오를 위한 하드웨어 및/또는 소프트웨어 지원을 포함할 수 있다. 드라이버들은 통합된 그래픽 플랫폼들을 위한 그래픽 드라이버를 포함할 수 있다. 일부 실시예들에서, 그래픽 드라이버는 주변 컴포넌트 인터커넥트(PCI) 익스프레스 그래픽 카드를 포함한다.
다양한 실시예들에서, 시스템(500) 내에 도시한 컴포넌트들 중 어느 하나 이상은 통합될 수 있다. 예를 들어, 플랫폼(502)과 콘텐트 서비스 디바이스(들)(530)는 통합될 수 있거나, 플랫폼(502)과 콘텐트 전달 디바이스(들)(540)는 통합될 수 있거나, 예를 들어, 플랫폼(502)과 콘텐트 서비스 디바이스(들)(530)와 콘텐트 전달 디바이스(들)(540)는 통합될 수 있다. 다양한 실시예들에서, 플랫폼(502)과 디스플레이(520)은 통합된 유닛일 수 있다. 디바이스(520)와 콘텐트 서비스 디바이스(들)(530)는 통합될 수 있거나, 예를 들어, 디스플레이(520)와 콘텐트 전달 디바이스(들)(540)는 통합될 수 있다. 이들 예는 본 개시내용의 범위를 제한하려는 것이 아니다.
다양한 실시예들에서, 시스템(500)은 무선 시스템, 유선 시스템, 또는 둘 다의 조합으로서 구현될 수 있다. 무선 시스템으로서 구현될 때, 시스템(500)은 하나 이상의 안테나, 송신기들, 수신기들, 송수신기들, 증폭기들, 필터들, 제어 로직 등과 같은 무선 공유 미디어를 통해 통신하기에 적합한 컴포넌트들 및 인터페이스들을 포함할 수 있다. 무선 공유 미디어의 예는 RF 스펙트럼 등과 같은 무선 스펙트럼의 부분들을 포함할 수 있다. 유선 시스템으로서 구현될 때, 시스템(500)은 대응하는 유선 통신 매체, 네트워크 인터페이스 카드(NIC), 디스크 컨트롤러, 비디오 컨트롤러, 오디오 컨트롤러 등에 I/O 어댑터를 접속하기 위해 입/출력(I/O) 어댑터들, 물리 접속기들과 같은 유선 통신 미디어를 통해 통신하기에 적합한 컴포넌트들 및 인터페이스들을 포함할 수 있다. 유선 통신 매체의 예들은 와이어, 케이블, 금속 도선들, 인쇄 회로 기판(PCB), 백플레인, 스위치 패브릭, 반도체 재료, 이중 연선, 동축 케이블, 광 섬유 등을 포함한다.
플랫폼(502)은 정보를 통신하기 위해 하나 이상의 논리적 또는 물리적 채널을 확립할 수 있다. 정보는 미디어 정보 및 제어 정보를 포함할 수 있다. 미디어 정보는 사용자가 소비하는 것으로 되어 있는 콘텐트를 나타내는 임의의 데이터를 말한다. 콘텐트의 예들은 예를 들어, 음성 대화, 화상 회의, 스트리밍 비디오, 이메일 또는 텍스트 메시지들, 음성 메일 메시지, 알파뉴메릭 기호들, 그래픽들, 영상, 비디오, 텍스트 등으로부터의 데이터를 포함한다. 제어 정보는 자동화된 시스템이 사용하는 것으로 되어 있는 명령들, 명령어들 또는 제어 워드들을 나타내는 임의의 데이터를 말한다. 예를 들어, 제어 정보는 시스템을 통해 미디어 정보를 전송하고, 또는 노드에 미리 결정된 방식으로 (예를 들어, 여기에 설명된 것과 같은 특권 액세스 침해 체크들을 위해 지원된 하드웨어를 사용하여) 미디어 정보를 처리하라고 지시하기 위해 사용될 수 있다. 그러나, 실시예들은 도 5에 도시 및 설명된 요소들 또는 맥락으로 제한되지 않는다.
위에 설명된 바와 같이, 시스템(500)은 변화하는 물리적 스타일들 또는 폼 팩터들에서 실시될 수 있다. 도 6은 시스템(500)이 실시될 수 있는 작은 폼 팩터 디바이스(600)의 실시예들을 도시한다. 일부 실시예들에서, 예를 들어, 디바이스(600)는 무선 능력들을 갖는 이동 컴퓨팅 디바이스로서 구현될 수 있다. 이동 컴퓨팅 디바이스는 처리 시스템 및 예를 들어, 하나 이상의 배터리와 같은 이동 전원 또는 공급 장치를 갖는 임의의 디바이스를 말한다.
앞서 설명된 바와 같이, 이동 컴퓨팅 디바이스의 예들은 퍼스널 컴퓨터(PC), 랩탑 컴퓨터, 울트라-랩탑 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 휴대형 컴퓨터, 팜탑 컴퓨터, 개인 휴대 단말기(PDA), 셀룰러 전화, 조합 셀룰러 전화/PDA, 텔레비전, 스마트 디바이스(예를 들어, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 이동 인터넷 디바이스(MID), 메시징 디바이스, 데이터 통신 디바이스 등을 포함한다.
이동 컴퓨팅 디바이스의 예들은 손목 컴퓨터, 손가락 컴퓨터, 반지 컴퓨터, 안경 컴퓨터, 벨트-클립 컴퓨터, 아암-밴드 컴퓨터, 신발 컴퓨터들, 의복 컴퓨터들, 및 다른 웨어러블 컴퓨터들과 같은, 사람이 착용하도록 되어 있는 컴퓨터들을 또한 포함한다. 일부 실시예들에서, 예를 들어, 이동 컴퓨팅 디바이스는 음성 통신들 및/또는 데이터 통신들뿐만 아니라, 컴퓨터 애플리케이션들을 실행할 수 있는 스마트폰으로서 구현될 수 있다. 일부 실시예들이 스마트폰으로서 구현되는 이동 컴퓨팅 디바이스로 설명되지만, 다른 실시예들은 역시 다른 무선 이동 컴퓨팅 디바이스를 사용하여 구현될 수 있다는 것을 알 것이다.
도 6에 도시한 바와 같이, 디바이스(600)는 하우징(602), 디스플레이(604), 입/출력(I/O) 디바이스(606), 및 안테나(608)를 포함한다. 디바이스(600)는 예를 들어, 내비게이션 특징들(612)을 포함할 수 있다. 디스플레이(604)는 이동 컴퓨팅 디바이스에 적절한 정보를 디스플레이하는 임의의 적합한 디스플레이 유닛을 포함한다. I/O 디바이스(606)는 이동 컴퓨팅 디바이스 내로 정보를 입력하는 임의의 적합한 I/O 디바이스를 포함한다. I/O 디바이스(606)의 예들은 알파뉴메릭 키보드, 뉴메릭 키패드, 터치 패드, 입력 키들, 버튼들, 스위치들, 로커 스위치들, 마이크로폰들, 스피커들, 음성 인식 디바이스 및 소프트웨어 등을 포함한다. 정보는 마이크로폰에 의해 디바이스(600) 내로 입력될 수 있다. 이러한 정보는 음성 인식 디바이스에 의해 디지털화될 수 있다.
다양한 실시예들은 하드웨어 요소들, 소프트웨어 요소들, 또는 둘 다의 조합을 사용하여 구현될 수 있다. 하드웨어 요소들의 예들은 프로세서들, 마이크로프로세서들, 회로들, 회로 요소들(예를 들어, 트랜지스터들, 저항기들, 캐패시터들, 인덕터들 등), 집적 회로들, 주문형 집적 회로들(ASIC), 프로그래머블 로직 디바이스들(PLD), 디지털 신호 프로세서들(DSP), 필드 프로그래머블 게이트 어레이(FPGA), 로직 게이트들, 레지스터들, 반도체 디바이스, 칩들, 마이크로칩들, 칩 셋들 등을 포함한다. 소프트웨어의 예들은 소프트웨어 컴포넌트들, 프로그램들, 애플리케이션들, 컴퓨터 프로그램들, 애플리케이션 프로그램들, 시스템 프로그램들, 머신 프로그램들, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈들, 루틴들, 서브루틴들, 기능들, 방법들, 절차들, 소프트웨어 인터페이스들, 애플리케이션 프로그램 인터페이스들(API), 명령어 세트들, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트들, 컴퓨터 코드 세그먼트들, 워드들, 값들, 기호들, 또는 이들의 임의의 조합을 포함할 수 있다. 하드웨어 요소들 및/또는 소프트웨어 요소들이 사용되는지는 원하는 계산 속도, 전력 레벨들, 내열성들, 처리 사이클 예산, 입력 데이터 율들, 출력 데이터 율들, 메모리 리소스들, 데이터 버스 속도들 및 다른 설계 및 성능 제약들과 같은, 임의 수의 요인들에 따라 실시예마다 다를 수 있다.
일부 실시예들이 예를 들어, 머신에 의해 실행되는 경우에 머신으로 하여금 본 개시내용의 실시예에 따른 방법들 및/또는 동작들을 수행하게 할 수 있는 명령어 또는 명령어들의 세트를 저장할 수 있는 머신 판독가능 매체 또는 제품을 사용하여 구현될 수 있다. 이러한 머신은 예를 들어, 임의의 적합한 처리 플랫폼, 컴퓨팅 플랫폼, 컴퓨팅 디바이스, 처리 디바이스, 컴퓨팅 시스템, 처리 시스템, 컴퓨터, 프로세서 등을 포함할 수 있고, 하드웨어와 소프트웨어의 임의의 적합한 조합을 사용하여 구현될 수 있다. 머신 판독가능 매체 또는 제품은 예를 들어, 임의의 적합한 유형의 메모리 유닛, 메모리 디바이스, 메모리 제품, 메모리 매체, 저장 디바이스, 저장 제품, 저장 매체 및/또는 저장 유닛, 예를 들어, 메모리, 착탈가능한 또는 비착탈가능한 매체, 소거가능한 또는 비소거가능한 매체, 기입가능한 또는 재기입가능한 매체, 디지털 또는 아날로그 매체, 하드 디스크, 플로피 디스크, 컴팩트 디스크 판독 전용 메모리(CD-ROM), 컴팩트 디스크 기록가능(CD-R), 컴팩트 디스크 재기입가능(CD-RW), 광학 디스크, 자기 매체, 자기-광학 매체, 착탈가능한 메모리 카드들 또는 디스크들, 다양한 유형들의 디지털 다기능 디스크(DVD), 테이프, 카세트 등을 포함할 수 있다. 명령어들은 임의의 적합한 하이-레벨, 로우-레벨, 객체-지향, 비주얼, 컴파일된 및/또는 인터프리트된 프로그래밍 언어를 사용하여 구현된 임의의 적합한 유형의 실행가능한 코드를 포함할 수 있다.
달리 구체적으로 명시되지 않으면, "처리", "컴퓨팅", "계산", "결정" 등과 같은 용어들은 컴퓨팅 시스템의 레지스터들 및/또는 메모리 내의 물리적 양들(예를 들어, 전자적)로서 표현된 데이터를 컴퓨팅 시스템의 메모리들, 레지스터들 또는 다른 그러한 정보 저장, 전송 또는 디스플레이들 내의 물리적 양들로서 유사하게 표현되는 다른 데이터로 조작 및/또는 변환하는, 컴퓨터 또는 컴퓨팅 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 액션 및/또는 프로세스들을 말한다는 것을 알 것이다.
추가의 예시적인 실시예들
다음의 예들은 많은 순열들 및 구성들이 분명해지는 추가 실시예들에 관한 것이다.
예 1은 애플리케이션 실행 환경, 운영 체제, 상기 애플리케이션 환경으로부터 상기 운영 체제를 통해 선택적으로 액세스가능한 데이터 저장소, 및 상기 데이터 저장소에 직접 액세스하는 생체 인식 컴포넌트를 포함하는 컴퓨팅 시스템이다. 상기 생체 인식 컴포넌트는 상기 애플리케이션 실행 환경으로부터 상기 데이터 저장소에의 액세스를 선택적으로 금지하도록 구성된다.
예 2는 예 1의 주제를 포함하고, 상기 생체 인식 컴포넌트는 생체 인식 센서를 포함하고, 상기 생체 인식 컴포넌트는 생체 인식 샘플을 캡처하라는 상기 애플리케이션 실행 환경으로부터의 요청에 응답하여, 상기 애플리케이션 실행 환경으로부터 상기 데이터 저장소에의 액세스를 금지하고, 생체 인식 데이터를 획득하기 위해 상기 생체 인식 센서로 상기 생체 인식 샘플을 캡처하고, 암호 키를 사용하여 상기 생체 인식 데이터를 암호화하고, 상기 암호화된 생체 인식 데이터를 상기 데이터 저장소 컴포넌트 내에 저장하고, 상기 생체 인식 데이터를 암호화하는 것에 후속적으로 상기 애플리케이션 실행 환경으로부터 상기 운영 체제를 통한 상기 데이터 저장소에의 액세스를 허용하도록 더 구성된다.
예 3은 상기 예들 중 어느 하나의 주제를 포함하고, 상기 생체 인식 컴포넌트는 생체 인식 센서 및 보안 엔진을 포함하고, 상기 보안 엔진은 상기 생체 인식 센서로부터 획득된 생체 인식 데이터를 암호화하도록 구성된다. 상기 생체 인식 센서는 예를 들어, 지문 센서, 마이크로폰, 카메라, 또는 생체 인식 샘플이 캡처되게 하는 기타 그러한 도구일 수 있다.
예 4는 상기 예들 중 어느 하나의 주제를 포함하고, 상기 애플리케이션 실행 환경은 상기 운영 체제를 통해 상기 데이터 저장소에 액세스하는 비신뢰된 애플리케이션 실행 환경, 및 상기 운영 체제를 통해 상기 데이터 저장소에 액세스하는 신뢰된 애플리케이션 실행 환경을 포함한다.
예 5는 예 4의 주제를 포함하고, 상기 비신뢰된 애플리케이션 실행 환경은 상기 신뢰된 애플리케이션 실행 환경으로부터 동작적으로 격리된다.
예 6은 예들 4 및 5 중 어느 하나의 주제를 포함하고, 상기 운영 체제는 상기 데이터 저장소부터의 상기 암호화된 생체 인식 데이터를 상기 신뢰된 애플리케이션 실행 환경으로 전송하도록 구성된다.
예 7은 예들 4, 5 및 6 중 어느 하나의 주제를 포함하고, 상기 신뢰된 애플리케이션 실행 환경은 생체 인식 센서로부터 획득된 생체 인식 데이터에 기초하여 사용자를 등록하는 것, 상기 생체 인식 데이터에 기초하여 사용자를 인증하는 것, 또는 둘 다를 하도록 구성된 생체 인식 애플리케이션을 포함한다.
예 8은 예들 4, 5, 6 및 7 중 어느 하나의 주제를 포함하고, 상기 신뢰된 애플리케이션 실행 환경은 생체 인식 센서로부터 획득된 암호화된 생체 인식 데이터를 암호 키를 사용하여 복호화하도록 구성된 생체 인식 애플리케이션을 포함한다.
예 9는 예들 4, 5, 6, 7 및 8 중 어느 하나의 주제를 포함하고, 상기 신뢰된 애플리케이션 실행 환경은 생체 인식 템플릿을 생성하기 위해 생체 인식 센서로부터 획득된 생체 인식 데이터를 처리하도록 구성된 생체 인식 애플리케이션을 포함한다.
예 10은 컴퓨팅 시스템에서 생체 인식 데이터를 캡처, 처리 및 관리하는 방법이다. 상기 방법은 생체 인식 샘플을 캡처하라는 상기 컴퓨팅 시스템의 애플리케이션 실행 환경으로부터의 요청에 응답하여, 상기 애플리케이션 실행 환경으로부터 상기 컴퓨팅 시스템의 데이터 저장소 컴포넌트에의 액세스를 금지하는 단계, 생체 인식 데이터를 획득하기 위해 생체 인식 센서로 생체 인식 샘플을 캡처하는 단계, 암호 키를 사용하여 상기 생체 인식 데이터를 암호화하는 단계, 상기 암호화된 생체 인식 데이터를 상기 데이터 저장소 컴포넌트 내에 저장하는 단계, 및 상기 생체 인식 데이터를 암호화하는 것에 후속적으로 상기 애플리케이션 실행 환경으로부터 상기 데이터 저장소 컴포넌트에의 액세스를 허용하는 단계를 포함한다.
예 11은 예 10의 주제를 포함하고, 상기 생체 인식 데이터의 상기 암호화는 상기 운영 체제와는 독립적으로 상기 컴퓨팅 시스템의 생체 인식 컴포넌트에 의해 수행된다.
예 12는 예들 10 및 11 중 어느 하나의 주제를 포함하고, 상기 방법은 상기 데이터 저장소 컴포넌트로부터의 상기 암호화된 생체 인식 데이터를 상기 운영 체제를 통해 상기 애플리케이션 실행 환경 내의 신뢰된 실행 환경으로 전송하는 단계를 더 포함하고, 상기 애플리케이션 실행 환경 내의 비신뢰된 실행 환경은 상기 신뢰된 실행 환경으로부터 동작적으로 격리된다.
예 13은 예 12의 주제를 포함하고, 상기 방법은 상기 신뢰된 실행 환경 내에서 상기 암호 키를 생성하는 단계를 포함한다.
예 14는 예들 12 및 13 중 어느 하나의 주제를 포함하고, 상기 방법은 상기 신뢰된 실행 환경 내에서 상기 암호화된 생체 인식 데이터를 상기 암호 키를 사용하여 복호화하는 단계를 포함한다.
예 15는 예들 12, 13 및 14 중 어느 하나의 주제를 포함하고, 상기 방법은 상기 신뢰된 실행 환경 내에서 생체 인식 템플릿을 생성하기 위해 상기 생체 인식 데이터를 처리하는 단계를 포함한다.
예 16은 예들 12, 13, 14 및 15 중 어느 하나의 주제를 포함하고, 상기 방법은 상기 생체 인식 데이터에 기초하여 사용자를 등록하는 것, 사용자를 인증하는 것, 또는 둘 다를 하는 단계를 포함한다.
예 17은 하나 이상의 프로세서에 의해 실행될 때 프로세스가 수행되게 하는 명령어들이 인코드되어 있는 비일시적 컴퓨터 프로그램 제품이다. 상기 프로세스는 생체 인식 샘플을 캡처하라는 요청에 응답하여, 상기 애플리케이션 실행 환경으로부터 상기 컴퓨팅 시스템의 데이터 저장소 컴포넌트에의 액세스를 금지하는 것, 생체 인식 데이터를 획득하기 위해 생체 인식 센서로 생체 인식 샘플을 캡처하는 것, 암호 키를 사용하여 상기 생체 인식 데이터를 암호화하는 것, 상기 암호화된 생체 인식 데이터를 상기 데이터 저장소 컴포넌트 내에 저장하는 것, 및 상기 생체 인식 데이터를 암호화하는 것에 후속적으로만 상기 애플리케이션 실행 환경으로부터 상기 데이터 저장소 컴포넌트에의 액세스를 허용하는 것을 포함한다.
예 18은 예 17의 주제를 포함하고, 상기 생체 인식 데이터의 상기 암호화는 상기 운영 체제와는 독립적으로 상기 컴퓨팅 시스템의 생체 인식 컴포넌트에 의해 수행된다.
예 19는 예 17 및 18 중 어느 하나의 주제를 포함하고, 상기 프로세스는 상기 데이터 저장소 컴포넌트로부터의 상기 암호화된 생체 인식 데이터를 상기 운영 체제를 통해 상기 애플리케이션 실행 환경 내의 신뢰된 실행 환경으로 전송하는 것을 더 포함하고, 상기 애플리케이션 실행 환경 내의 비신뢰된 실행 환경은 상기 신뢰된 실행 환경으로부터 동작적으로 격리된다.
예 20은 예 19의 주제를 포함하고, 상기 프로세스는 상기 신뢰된 실행 환경 내에서 상기 암호 키를 생성하는 것을 포함한다.
예 21은 예들 19 및 20 중 어느 하나의 주제를 포함하고, 상기 프로세스는 상기 신뢰된 실행 환경 내에서 상기 암호화된 생체 인식 데이터를 상기 암호 키를 사용하여 복호화하는 것을 포함한다.
예 22는 예들 19, 20 및 21 중 어느 하나의 주제를 포함하고, 상기 프로세스는 상기 신뢰된 실행 환경 내에서 생체 인식 템플릿을 생성하기 위해 상기 생체 인식 데이터를 처리하는 것을 포함한다.
예 23은 예들 19, 20, 21 및 22 중 어느 하나의 주제를 포함하고, 상기 프로세스는 상기 생체 인식 데이터에 기초하여 사용자를 등록하는 것, 사용자를 인증하는 것, 또는 둘 다를 하는 것을 포함한다.
예시적인 실시예들의 상기 설명이 예시 및 설명의 목적들을 위해 제시되었다. 본 설명은 본 개시내용을 개시된 정확한 형태들로 한정하거나 제한하려는 것이 아니다. 많은 수정들 및 변화들이 본 개시내용에 비추어서 가능하다. 본 개시내용은 다양한 실시예들의 범위를 제한하려는 것이 아니다. 본원의 우선권을 주장하는 앞으로 제출되는 출원들은 개시된 주제를 상이한 방식으로 청구할 수 있고, 다양하게 개시되거나 혹은 여기에 제시된 것과 같은 하나 이상의 제한의 임의의 세트를 일반적으로 포함할 수 있다.

Claims (22)

  1. 컴퓨팅 시스템으로서,
    애플리케이션 실행 환경;
    운영 체제;
    상기 애플리케이션 실행 환경으로부터 상기 운영 체제를 통해 선택적으로 액세스가능한 데이터 저장소; 및
    상기 데이터 저장소에 직접 액세스하는 생체 인식 컴포넌트를 포함하고, 상기 생체 인식 컴포넌트는 생체 인식 샘플을 캡처하라는 요청에 응답하여, 상기 애플리케이션 실행 환경으로부터 상기 데이터 저장소에의 액세스를 선택적으로 금지하도록 구성되어, 상기 생체 인식 샘플이 안전하게 캡처하도록 하는 컴퓨팅 시스템.
  2. 제1항에 있어서, 상기 생체 인식 컴포넌트는 생체 인식 센서를 포함하고, 상기 생체 인식 컴포넌트는
    생체 인식 데이터를 획득하기 위해 센서로부터 생체 인식 샘플을 캡처하고;
    암호 키를 사용하여 상기 생체 인식 데이터를 암호화하고;
    상기 암호화된 생체 인식 데이터를 상기 데이터 저장소 컴포넌트 내에 저장하고;
    상기 생체 인식 데이터를 암호화하는 것에 후속적으로 상기 애플리케이션 실행 환경으로부터 상기 운영 체제를 통한 상기 데이터 저장소에의 액세스를 허용하도록 더 구성된 시스템.
  3. 제1항에 있어서, 상기 생체 인식 컴포넌트는 생체 인식 센서 및 보안 엔진을 포함하고, 상기 보안 엔진은 상기 생체 인식 센서로부터 획득된 생체 인식 데이터를 암호화하도록 구성된 시스템.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 애플리케이션 실행 환경은
    상기 운영 체제를 통해 상기 데이터 저장소에 액세스하는 비신뢰된 애플리케이션 실행 환경; 및
    상기 운영 체제를 통해 상기 데이터 저장소에 액세스하는 신뢰된 애플리케이션 실행 환경을 포함하는 시스템.
  5. 제4항에 있어서, 상기 비신뢰된 애플리케이션 실행 환경은 상기 신뢰된 애플리케이션 실행 환경과는 동작적으로 격리되는 시스템.
  6. 제4항에 있어서, 상기 운영 체제는 상기 데이터 저장소부터의 상기 암호화된 생체 인식 데이터를 상기 신뢰된 애플리케이션 실행 환경으로 전송하도록 구성된 시스템.
  7. 제4항에 있어서, 상기 신뢰된 애플리케이션 실행 환경은 생체 인식 센서로부터 획득된 생체 인식 데이터에 기초하여 사용자를 등록하는 것 및 상기 생체 인식 데이터에 기초하여 사용자를 인증하는 것 중 적어도 하나를 하도록 구성된 생체 인식 애플리케이션을 포함하는 시스템.
  8. 제4항에 있어서, 상기 신뢰된 애플리케이션 실행 환경은 생체 인식 센서로부터 획득된 암호화된 생체 인식 데이터를 암호 키를 사용하여 복호화하도록 구성된 생체 인식 애플리케이션을 포함하는 시스템.
  9. 제4항에 있어서, 상기 신뢰된 애플리케이션 실행 환경은 생체 인식 템플릿을 생성하기 위해 생체 인식 센서로부터 획득된 생체 인식 데이터를 처리하도록 구성된 생체 인식 애플리케이션을 포함하는 시스템.
  10. 컴퓨팅 시스템에서 생체 인식 데이터를 캡처, 처리 및 관리하는 방법으로서,
    생체 인식 샘플을 캡처하라는 상기 컴퓨팅 시스템의 애플리케이션 실행 환경으로부터의 요청에 응답하여, 상기 애플리케이션 실행 환경으로부터 상기 컴퓨팅 시스템의 데이터 저장소 컴포넌트에의 액세스를 금지하는 단계;
    생체 인식 데이터를 획득하기 위해 센서로부터 생체 인식 샘플을 캡처하는 단계;
    암호 키를 사용하여 상기 생체 인식 데이터를 암호화하는 단계;
    상기 암호화된 생체 인식 데이터를 상기 데이터 저장소 컴포넌트 내에 저장하는 단계; 및
    상기 생체 인식 데이터를 암호화하는 것에 후속적으로 상기 애플리케이션 실행 환경으로부터 상기 데이터 저장소 컴포넌트에의 액세스를 허용하는 단계
    를 포함하는 방법.
  11. 제10항에 있어서, 상기 생체 인식 데이터의 상기 암호화는 상기 운영 체제와는 독립적으로 상기 컴퓨팅 시스템의 생체 인식 컴포넌트에 의해 수행되는 방법.
  12. 제10항 또는 제11항에 있어서, 상기 데이터 저장소 컴포넌트로부터의 상기 암호화된 생체 인식 데이터를 상기 운영 체제를 통해 상기 애플리케이션 실행 환경 내의 신뢰된 실행 환경으로 전송하는 단계를 더 포함하고, 상기 애플리케이션 실행 환경 내의 비신뢰된 실행 환경은 상기 신뢰된 실행 환경으로부터 동작적으로 격리되는 방법.
  13. 제12항에 있어서, 상기 신뢰된 실행 환경 내에서 상기 암호 키를 생성하는 단계를 더 포함하는 방법.
  14. 제12항에 있어서, 상기 신뢰된 실행 환경 내에서 상기 암호화된 생체 인식 데이터를 상기 암호 키를 사용하여 복호화하는 단계를 더 포함하는 방법.
  15. 제12항에 있어서, 상기 신뢰된 실행 환경 내에서 생체 인식 템플릿을 생성하기 위해 상기 생체 인식 데이터를 처리하는 단계를 더 포함하는 방법.
  16. 제12항에 있어서, 상기 생체 인식 데이터에 기초하여, 사용자를 등록하는 단계 및 사용자를 인증하는 단계 중 적어도 하나를 더 포함하는 방법.
  17. 하나 이상의 프로세서에 의해 실행될 때 프로세스가 수행되게 하는 명령어들이 인코드되어 있는 비일시적 컴퓨터 프로그램 제품으로서, 상기 프로세스는
    생체 인식 샘플을 캡처하라는 요청에 응답하여, 상기 컴퓨팅 시스템의 상기 데이터 저장소 컴포넌트에의 액세스를 금지하는 것;
    생체 인식 데이터를 획득하기 위해 센서로부터 생체 인식 샘플을 캡처하는 것;
    암호 키를 사용하여 상기 생체 인식 데이터를 암호화하는 것;
    상기 암호화된 생체 인식 데이터를 상기 데이터 저장소 컴포넌트 내에 저장하는 것; 및
    상기 생체 인식 데이터를 암호화하는 것에 후속적으로만 애플리케이션 실행 환경으로부터 상기 데이터 저장소 컴포넌트에의 액세스를 허용하는 것
    을 포함하는 컴퓨터 프로그램 제품.
  18. 제17항에 있어서, 상기 프로세스는 상기 데이터 저장소 컴포넌트로부터의 상기 암호화된 생체 인식 데이터를 상기 운영 체제를 통해 상기 애플리케이션 실행 환경 내의 신뢰된 실행 환경으로 전송하는 것을 더 포함하고, 상기 애플리케이션 실행 환경 내의 비신뢰된 실행 환경은 상기 신뢰된 실행 환경과는 동작적으로 격리되는 컴퓨터 프로그램 제품.
  19. 제17항에 있어서, 상기 프로세스는 상기 신뢰된 실행 환경 내에서 상기 암호 키를 생성하는 것을 더 포함하는 컴퓨터 프로그램 제품.
  20. 제17항에 있어서, 상기 프로세스는 상기 신뢰된 실행 환경 내에서 상기 암호 키를 사용하여 상기 암호화된 생체 인식 데이터를 복호화하는 것을 더 포함하는 컴퓨터 프로그램 제품.
  21. 제17항에 있어서, 상기 프로세스는 상기 신뢰된 실행 환경 내에서 생체 인식 템플릿을 생성하기 위해 상기 생체 인식 데이터를 처리하는 것을 더 포함하는 컴퓨터 프로그램 제품.
  22. 제17항 내지 제21항 중 어느 한 항에 있어서, 상기 프로세스는 상기 생체 인식 데이터에 기초하여 사용자를 등록하는 것 및 사용자를 인증하는 것 중 적어도 하나를 더 포함하는 컴퓨터 프로그램 제품.
KR1020177032147A 2015-06-09 2016-05-09 보안 생체 인식 데이터 캡처, 처리 및 관리 KR102531418B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/734,710 2015-06-09
US14/734,710 US10061910B2 (en) 2015-06-09 2015-06-09 Secure biometric data capture, processing and management for selectively prohibiting access to a data storage component from an application execution environment
PCT/US2016/031433 WO2016200523A1 (en) 2015-06-09 2016-05-09 Secure biometric data capture, processing and management

Publications (2)

Publication Number Publication Date
KR20180016349A true KR20180016349A (ko) 2018-02-14
KR102531418B1 KR102531418B1 (ko) 2023-05-12

Family

ID=57504822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177032147A KR102531418B1 (ko) 2015-06-09 2016-05-09 보안 생체 인식 데이터 캡처, 처리 및 관리

Country Status (6)

Country Link
US (1) US10061910B2 (ko)
EP (1) EP3308312B1 (ko)
JP (1) JP6887956B2 (ko)
KR (1) KR102531418B1 (ko)
CN (1) CN107592933B (ko)
WO (1) WO2016200523A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022196932A1 (ko) * 2021-03-19 2022-09-22 삼성전자 주식회사 생체 데이터를 암호화하는 전자 장치 및 전자 장치의 동작 방법

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286457B2 (en) * 2004-06-14 2016-03-15 Rodney Beatson Method and system for providing password-free, hardware-rooted, ASIC-based authentication of a human to a mobile device using biometrics with a protected, local template to release trusted credentials to relying parties
US10402089B2 (en) * 2015-07-27 2019-09-03 Jordan A. Berger Universal keyboard
CN105243311B (zh) 2015-10-19 2017-02-22 广东欧珀移动通信有限公司 一种指纹信息的安全调用方法、装置及移动终端
CN105488374B (zh) * 2015-11-28 2018-06-12 小米科技有限责任公司 解锁方法及装置
DE102015225778A1 (de) * 2015-12-17 2017-06-22 Deutsche Post Ag Vorrichtung und Verfahren für die personalisierte Bereitstellung eines Schlüssels
PH22016000048U1 (en) * 2016-01-13 2016-02-05 Renato C Valencia A system for proximate and/or remote electronic transaction authorization based on user authentication and/or biometric identification
US11341573B1 (en) * 2016-02-04 2022-05-24 United Services Automobile Association (Usaa) Using voice biometrics for trade of financial instruments
US11354666B1 (en) * 2016-05-26 2022-06-07 Wells Fargo Bank, N.A. Smart dust usage
GB2545534B (en) * 2016-08-03 2019-11-06 Cirrus Logic Int Semiconductor Ltd Methods and apparatus for authentication in an electronic device
GB2555532B (en) * 2016-08-03 2019-11-06 Cirrus Logic Int Semiconductor Ltd Methods and apparatus for authentication in an electronic device
GB2552721A (en) 2016-08-03 2018-02-07 Cirrus Logic Int Semiconductor Ltd Methods and apparatus for authentication in an electronic device
US10404464B2 (en) * 2016-08-22 2019-09-03 Mastercard International Incorporated Method and system for secure FIDO development kit with embedded hardware
US11036870B2 (en) 2016-08-22 2021-06-15 Mastercard International Incorporated Method and system for secure device based biometric authentication scheme
US10884952B2 (en) 2016-09-30 2021-01-05 Intel Corporation Enforcing memory operand types using protection keys
GB2555660B (en) 2016-11-07 2019-12-04 Cirrus Logic Int Semiconductor Ltd Methods and apparatus for authentication in an electronic device
US10367639B2 (en) 2016-12-29 2019-07-30 Intel Corporation Graphics processor with encrypted kernels
US10558978B1 (en) * 2016-12-30 2020-02-11 Wells Fargo Bank, N.A. One-time passcode
EP3631665A4 (en) * 2017-05-23 2021-03-03 Fingerprint Cards AB METHOD AND ELECTRONIC DEVICE FOR AUTHENTICATING A USER
US11178142B2 (en) * 2017-06-23 2021-11-16 Hewlett-Packard Development Company, L.P. Biometric data synchronization devices
CN107920070A (zh) * 2017-11-15 2018-04-17 中移在线服务有限公司 身份认证方法、服务器和系统
US11055800B2 (en) 2017-12-04 2021-07-06 Telcom Ventures, Llc Methods of verifying the onboard presence of a passenger, and related wireless electronic devices
US10997446B2 (en) * 2018-02-16 2021-05-04 Fingerprint Cards Ab Enrollment scheme for an electronic device
US10755250B2 (en) 2018-09-07 2020-08-25 Bank Of America Corporation Processing system for providing a teller assistant experience using enhanced reality interfaces
US10462425B1 (en) 2018-09-07 2019-10-29 Bank Of America Corporation Processing system for providing a teller assistant experience using enhanced reality interfaces
US11429753B2 (en) * 2018-09-27 2022-08-30 Citrix Systems, Inc. Encryption of keyboard data to avoid being read by endpoint-hosted keylogger applications
TWI747052B (zh) * 2018-10-24 2021-11-21 大陸商廣州印芯半導體技術有限公司 具有加密功能的光學感測器及影像資料加密方法
US11316680B2 (en) * 2019-02-21 2022-04-26 Dell Products, L.P. Protected credentials for roaming biometric login profiles
WO2020185388A1 (en) * 2019-03-08 2020-09-17 Master Lock Company Llc Locking device biometric access
US11641274B2 (en) * 2019-03-22 2023-05-02 Jpmorgan Chase Bank, N.A. Systems and methods for manipulation of private information on untrusted environments
US11200306B1 (en) 2021-02-25 2021-12-14 Telcom Ventures, Llc Methods, devices, and systems for authenticating user identity for location-based deliveries
US11972035B2 (en) 2021-03-24 2024-04-30 Western Digital Technologies, Inc. Key based partial data restriction in storage systems
WO2023211803A1 (en) * 2022-04-26 2023-11-02 Google Llc Encoding independent user interface streams to perform asynchronous reprojection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164797A1 (en) * 2007-12-21 2009-06-25 Upek, Inc. Secure off-chip processing such as for biometric data
US20090287895A1 (en) * 2008-05-15 2009-11-19 Advanced Micro Devices Secure Memory Access System
US20100257369A1 (en) * 2009-04-01 2010-10-07 Microsoft Corporation Secure biometric identity broker module
US20140173639A1 (en) * 2012-12-14 2014-06-19 Dell Products L.P. System and method for extending a biometric framework
KR20150036558A (ko) * 2012-09-12 2015-04-07 인텔 코포레이션 센서 데이터 보안성을 갖는 모바일 플랫폼

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7415605B2 (en) 2002-05-21 2008-08-19 Bio-Key International, Inc. Biometric identification network security
TWI307046B (en) 2004-04-30 2009-03-01 Aimgene Technology Co Ltd Portable encrypted storage device with biometric identification and method for protecting the data therein
US8190908B2 (en) * 2006-12-20 2012-05-29 Spansion Llc Secure data verification via biometric input
US8996879B2 (en) * 2010-12-23 2015-03-31 Intel Corporation User identity attestation in mobile commerce
US9152779B2 (en) * 2011-01-16 2015-10-06 Michael Stephen Fiske Protecting codes, keys and user credentials with identity and patterns
WO2012125655A1 (en) * 2011-03-14 2012-09-20 Conner Investments, Llc Bluetooth enabled credit card with a large date storage volume
US9858401B2 (en) * 2011-08-09 2018-01-02 Biogy, Inc. Securing transactions against cyberattacks
JP5954955B2 (ja) * 2011-10-17 2016-07-20 本田技研工業株式会社 形状データ作成システム及び形状データ作成方法
US9286455B2 (en) 2012-10-04 2016-03-15 Msi Security, Ltd. Real identity authentication
US9424409B2 (en) * 2013-01-10 2016-08-23 Lookout, Inc. Method and system for protecting privacy and enhancing security on an electronic device
KR102216877B1 (ko) * 2014-02-19 2021-02-18 삼성전자 주식회사 전자장치에서 생체 정보를 이용한 인증 방법 및 장치
US9762573B2 (en) * 2014-05-30 2017-09-12 Verizon Patent And Licensing Inc. Biometric framework allowing independent application control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164797A1 (en) * 2007-12-21 2009-06-25 Upek, Inc. Secure off-chip processing such as for biometric data
US20090287895A1 (en) * 2008-05-15 2009-11-19 Advanced Micro Devices Secure Memory Access System
US20100257369A1 (en) * 2009-04-01 2010-10-07 Microsoft Corporation Secure biometric identity broker module
KR20150036558A (ko) * 2012-09-12 2015-04-07 인텔 코포레이션 센서 데이터 보안성을 갖는 모바일 플랫폼
US20140173639A1 (en) * 2012-12-14 2014-06-19 Dell Products L.P. System and method for extending a biometric framework

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022196932A1 (ko) * 2021-03-19 2022-09-22 삼성전자 주식회사 생체 데이터를 암호화하는 전자 장치 및 전자 장치의 동작 방법

Also Published As

Publication number Publication date
EP3308312A4 (en) 2018-12-19
US20160364559A1 (en) 2016-12-15
CN107592933A (zh) 2018-01-16
JP6887956B2 (ja) 2021-06-16
CN107592933B (zh) 2022-05-27
KR102531418B1 (ko) 2023-05-12
JP2018524651A (ja) 2018-08-30
WO2016200523A1 (en) 2016-12-15
EP3308312A1 (en) 2018-04-18
US10061910B2 (en) 2018-08-28
EP3308312B1 (en) 2021-11-17

Similar Documents

Publication Publication Date Title
KR102531418B1 (ko) 보안 생체 인식 데이터 캡처, 처리 및 관리
US11449598B2 (en) Method and system for securing user access, data at rest, and sensitive transactions using biometrics for mobile devices with protected local templates
US10068076B1 (en) Behavioral authentication system using a behavior server for authentication of multiple users based on their behavior
EP3332372B1 (en) Apparatus and method for trusted execution environment based secure payment transactions
US10440019B2 (en) Method, computer program, and system for identifying multiple users based on their behavior
RU2718226C2 (ru) Системы и способы безопасного обращения с биометрическими данными
US9531710B2 (en) Behavioral authentication system using a biometric fingerprint sensor and user behavior for authentication
US9301140B1 (en) Behavioral authentication system using a secure element, a behaviometric server and cryptographic servers to authenticate users
US10108796B2 (en) System and method for PIN entry on mobile devices
JP2023525461A (ja) 難読化済みバイオメトリクスを用いたアクセス認証
Zhang et al. To swipe or not to swipe: A challenge for your fingers
US11522699B2 (en) Information processing system, information processing apparatus, and non-transitory computer readable medium
TWI651626B (zh) 生物特徵資料加密方法及利用其之資訊處理裝置
CN114900289A (zh) 一种数据安全处理方法、系统、设备及介质
Liu-Jimenez et al. Improving security in ID tokens through HW/SW co-design
TW201947454A (zh) 生物特徵量測資料之安全登記
TW201926121A (zh) 顯示屏的資料安全維護方法及利用其之資訊處理裝置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant