KR102536354B1 - 바이오메트릭 식별을 위한 시스템 및 방법 - Google Patents
바이오메트릭 식별을 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR102536354B1 KR102536354B1 KR1020197036575A KR20197036575A KR102536354B1 KR 102536354 B1 KR102536354 B1 KR 102536354B1 KR 1020197036575 A KR1020197036575 A KR 1020197036575A KR 20197036575 A KR20197036575 A KR 20197036575A KR 102536354 B1 KR102536354 B1 KR 102536354B1
- Authority
- KR
- South Korea
- Prior art keywords
- vector
- biometric
- euclidean measurable
- measurable feature
- euclidean
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 239000013598 vector Substances 0.000 claims description 178
- 238000013528 artificial neural network Methods 0.000 claims description 64
- 230000006870 function Effects 0.000 claims description 40
- 238000004891 communication Methods 0.000 claims description 30
- 238000007667 floating Methods 0.000 claims description 22
- 238000004422 calculation algorithm Methods 0.000 claims description 18
- 238000011176 pooling Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 8
- 210000002569 neuron Anatomy 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000007635 classification algorithm Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000005192 partition Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000711450 Infectious bronchitis virus Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computer Hardware Design (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Biodiversity & Conservation Biology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Nonlinear Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Collating Specific Patterns (AREA)
- Storage Device Security (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Electrotherapy Devices (AREA)
Abstract
입력 및 적어도 하나 이상의 저장된 레코드의 데이터 복호화 없이, 암호화된 바이오메트릭(biometric) 입력 레코드를 적어도 하나 이상의 저장된 암호화된 바이오메트릭 레코드와 매칭시키기 위한 컴퓨터 구현 시스템 및 방법.
Description
본 발명은 일반적으로 바이오메트릭(biometric) 특징을 획득 및 특성화 하기 위한 시스템 및 방법에 관한 것으로, 특히 사용자를 식별 또는 인증할 목적으로 바이오메트릭 특징을 획득 및 특성화 하기 위한 시스템 및 방법에 관한 것이다.
모든 종류의 정보는 데이터 통신 네트워크를 통해 액세스 가능한 저장 장치에서와 같이 원격으로 저장 및 액세스된다. 예를 들어, 많은 사람들과 회사는 금융 정보, 건강 및 의료 정보, 상품 및 서비스 정보, 구매 정보, 엔터테인먼트 정보, 인터넷 또는 기타 통신 네트워크를 통한 멀티미디어 정보를 저장하고 액세스한다. 정보에 액세스 하는 것 외에도, 사용자는 금전적 양도 (예: 구매, 양도, 판매 등)에 영향을 줄 수 있다. 일반적인 시나리오에서 사용자는 정보에 액세스하기 위해 등록한 후 사용자 이름과 비밀번호를 제출하여 "로그인"하고, 정보에 액세스 한다. 데이터/통신 네트워크에 저장된 정보 및 데이터에 대한 액세스를 확보하는 것이 가장 중요한 문제이다.
편리성은 소비자에게 바이오메트릭-기반의 액세스 관리 솔루션 방향으로 몰아가고 있다. 대부분의 스마트폰 사용자는 암호 대신에 지문을 사용하는 것을 선호하며, 지문 인식 대신 안구 인식을 더 선호하기도 한다. 바이오메트릭은 신원 탐지 및 검증, 그리고 인증을 위한 선호되고 편리한 방법이 되고 있다.
전송-레벨(Transport-level) 암호화 기술은 바이오메트릭 데이터를 포함하여 다양한 유형의 데이터 전송의 비교적 강력한 보호를 제공하고, 기밀성, 보증 및 부인 방지(non-repudiation) 요구 사항을 지원한다. IEEE 2410-2016과 같은 표준은 통신을 통해 상대방의 청취를 차단하고, 바이오메트릭을 암호화된 형태로 저장하는 등 사전 등록된 장치 및 이전 ID(identity)를 기반으로 인증하는 자세한 메커니즘을 제공한다. 이는 일대일 사례로 간주되며 기존의 암호화된 바이오메트릭 샘플과 비교하여 암호화된 바이오메트릭 데이터를 보내고 받는 단계를 포함한다. 따라서, 이러한 일대일 케이스는 주어진 바이오메트릭 벡터 및 ID가 입력으로서 사용될 수 있고, 바이오메트릭 벡터가 각각의 ID에 대응하는 기존 바이오메트릭 벡터와 일치할 때 인증이 발생할 수 있기 때문에 인증 사용 케이스인 것으로 간주된다.
하나 이상의 구현에서, 본 출원은 입력 및 적어도 하나 이상의 저장된 레코드의 데이터 복호화없이, 암호화된 바이오메트릭 입력 레코드를 적어도 하나 이상의 저장된 암호화된 바이오메트릭 레코드와 매칭시키는 컴퓨터 구현 시스템 및 방법을 제공한다. 초기 바이오메트릭 벡터가 신경망에 제공되고, 신경망은 초기 바이오메트릭 벡터를 유클리드 측정 가능한 특징 벡터(Euclidian measurable feature vector)로 변환한다. 상기 유클리드 측정 가능한 특징 벡터는 다른 유클리드 측정 가능한 특징 벡터와 함께 저장소에 저장된다. 또한, 암호화된 바이오메트릭 입력 레코드를 나타내는 현재의 바이오메트릭 벡터는 데이터 통신 네트워크를 통해 모바일 컴퓨팅 장치로부터 수신되고, 현재의 바이오메트릭 벡터는 신경망에 제공된다. 상기 신경망은 현재의 바이오메트릭 벡터를 현재의 유클리드 측정 가능한 특징 벡터로 변환시킨다. 또한, 저장된 유 클리드 측정 가능한 특징 벡터 중 적어도 일부의 검색은 현재의 유클리드 측정 가능한 특징 벡터를 사용하여 데이터 저장소의 일부분에서 수행된다. 상기 저장소의 일부분에서 상기 현재의 유클리드 측정 가능한 특징 벡터와 상기 각각의 유클리드 측정 가능한 특징 벡터들의 각 연산(calculation) 사이에서 계산된 절대거리의 함수로서 상기 암호화된 바이오메트릭 입력 레코드는 암호화된 공간 내 적어도 하나 이상의 암호화된 바이오메트릭 레코드와 매칭된다.
하나 이상의 구현에서, 본 발명은 상기 유클리드 측정 가능한 벡터를 분류하는 단계; 및/또는 상기 현재의 유클리드 측정 가능한 벡터를 분류하는 단계를 추가로 포함하며, 상기 분류는 하나 이상의 거리 함수를 사용하여 적어도 부분적으로 수행이 되는 것을 특징으로 하는 시스템 및 방법을 추가로 제공한다.
하나 이상의 구현에서, 본 발명은 상기 유클리드 측정 가능한 특징 및/또는 상기 현재의 유클리드 측정 가능한 특징 벡터를 분류하는 단계는 부동 소수점 값(floating point values)을 반환하고, 및 프로베니우스(Frobenius) 알고리즘은 각각의 부동 소수점과 이의 평균 사이의 절대 거리를 계산하기 위해 이용되는 것을 특징으로 하는 시스템 및 방법을 제공한다.
하나 이상의 구현에서, 본 발명에서 상기 검색은 오더 로그(Order log, n) 시간에 수행되고, 상기 유클리드 측정 가능한 바이오메트릭 벡터를 분류하기 위해 프로베니우스 알고리즘을 사용하는 단계; 상기 분류된 유클리드 측정 가능한 바이오메트릭 벡터의 계층(hierarchy)을 오더 로그(n) 시간으로 순회(traversing)하는 단계; 및 각각의 유클리드 측정 가능한 바이오메트릭 벡터가 상기 현재의 유클리드 측정 가능한 특징 벡터인 것을 식별하는 단계를 추가로 포함하는 것을 특징으로 하는 시스템 및 방법을 제공한다.
하나 이상의 구현에서, 각각의 유클리드 측정 가능한 바이오메트릭 벡터에 대해, 복수의 부동 소수점 값을 식별하는 단계; 및 모든 벡터에 존재하지 않는 상기 복수의 값 중 임의의 값을 절대 거리 연산으로부터 제거하기 위해 비트맵(bitmap)을 사용하는 단계를 추가로 포함하는 것을 특징으로 하는 시스템 및 방법을 제공한다.
하나 이상의 구현에서, 각각의 유클리드 측정 가능한 바이오메트릭 벡터에 대해, 복수의 부동 소수점 값을 식별하는 단계; 및 모든 벡터에 존재하지 않는 상기 복수의 값 중 임의의 값을 절대 거리 연산으로부터 제거하기 위해 비트맵(bitmap)을 사용하는 단계를 추가로 포함하는 것을 특징으로 하는 시스템 및 방법을 제공한다.
하나 이상의 구현에서, 각각의 유클리드 측정 가능한 바이오메트릭 벡터에 대해, 복수의 부동 소수점 값을 식별하는 단계; 및 상기 부동 소수점 값 각각이 나타내는 벡터의 수에 기초하여 중요도의 슬라이딩 스캐일(sliding scale)을 정의하는 단계를 추가로 포함하는 것을 특징으로 하는 시스템 및 방법을 제공한다.
하나 이상의 구현에서, 상기 신경망은 정류기(ReLU) 및 풀링 노드(pooling nodes)와 함께, 다양한 컨볼루션 층(convolutional layers)으로 구성된 것을 특징으로 하는 시스템 및 방법을 제공한다.
하나 이상의 구현에서, 상기 신경망은 풀링(pooling)을 비선형(non-linear) 다운-샘플링(down-sampling)의 형태로서 사용하도록 구성되고, 및 또한 하나 이상의 풀링 노드는 표현된 유클리드 측정 가능한 특징 벡터의 공간 크기를 점진적으로 감소시켜 상기 신경망에서 파라미터 및 계산의 양을 감소시키는 것을 특징으로 하는 시스템 및 방법을 제공한다.
하나 이상의 구현에서, 복수의 저장된 유클리드 측정 가능한 특징 벡터 각각에 대해, 평균 얼굴(face) 벡터 및 상기 각각의 유클리드 측정 가능한 특징 벡터 사이의 상대 위치 차이를 계산하는 단계; 상기 상대 위치 차이를 제곱하는 단계; 상기 값을 합산하는 단계; 및 상기 제곱근을 계산하는 단계를 추가로 포함하는 것을 특징으로 하는 시스템 및 방법을 제공한다.
하나 이상의 구현에서, 상기 신경망의 성능은 비용 함수(cost function)의 함수로서 결정되며, 여기서 출력 볼륨의 공간 크기로서 주어진 다수의 층(layer)은 입력 볼륨 크기 W, 층 뉴런(layer neuron)의 커넬 필드(kernel field) 크기 K, 상기 층과 함께 적용되는 스트라이드(stride) S, 및 경계에서 사용되는 제로 패딩(zero padding)의 양 P의 함수로서 계산되는 것을 특징으로 하는 시스템 및 방법을 제공한다.
이들 및 다른 양상들, 특징들 및 장점들은 본 발명의 특정 실시예들의 첨부된 설명, 첨부된 도면 및 청구범위로부터 이해될 수 있다.
도 1은 하나 이상의 실시예에 따라 사용자를 식별하기 위한 예시적인 시스템을 도시한다.
도 2a는 예시적인 사용자 컴퓨팅 장치의 구성 요소 및 특징을 도시하는 블록도이며, 시스템의 작동을 가능하게 하는 다양한 하드웨어 및 소프트웨어 구성 요소를 포함한다.
도 2b는 하나 이상의 실시예에 따른, 저장소 및/또는 메모리에 인코딩 된 것과 같은 복수의 예시적인 모듈을 도시한다.
도 2c는 시스템 서버의 예시적인 구성을 도시한 블록도이다.
도 3은 하나 이상의 실시예에 따른 건강 모니터링 및 추적 시스템의 다양한 양태를 도시한 시스템 도면이다.
도 4a 및 4b는 본 출원의 예시적인 구현에 따른, 동작중인 예시적인 신경망의 예를 도시한다.
도 5는 신경망에 따른 예시적인 프로세스를 도시한다.
도 6은 일 구현에 따른 예시적인 프로세스 단계들을 도시한 흐름도이다.
도 2a는 예시적인 사용자 컴퓨팅 장치의 구성 요소 및 특징을 도시하는 블록도이며, 시스템의 작동을 가능하게 하는 다양한 하드웨어 및 소프트웨어 구성 요소를 포함한다.
도 2b는 하나 이상의 실시예에 따른, 저장소 및/또는 메모리에 인코딩 된 것과 같은 복수의 예시적인 모듈을 도시한다.
도 2c는 시스템 서버의 예시적인 구성을 도시한 블록도이다.
도 3은 하나 이상의 실시예에 따른 건강 모니터링 및 추적 시스템의 다양한 양태를 도시한 시스템 도면이다.
도 4a 및 4b는 본 출원의 예시적인 구현에 따른, 동작중인 예시적인 신경망의 예를 도시한다.
도 5는 신경망에 따른 예시적인 프로세스를 도시한다.
도 6은 일 구현에 따른 예시적인 프로세스 단계들을 도시한 흐름도이다.
암호화는 정보의 전송 동안 정보를 보호하기 위해 널리 보급되고 효과적인 방법으로 남아있다. 정보의 특성은 정보를 보호하는데 사용되는 암호화 수준 및 유형, 특히 정보가 전송되는 동안 손상을 방지하기 위해 사용되는 암호화 수준을 나타내는 경우가 많다. 불행하게도, 예를 들어, 데이터를 검색할 필요성으로 인해, 저장된 모든 데이터를 어플리케이션 레벨에서 암호화하는 것이 가능하지 않거나 실용적이지 않았다. 적어도 성능 관점에서 볼 때 데이터를 복호화(decrypting)하는 것을 포함하는 철저한 검색 프로세스를 필요로 하지 않고 암호화된 데이터를 효과적으로 검색하는 것은 불가능하다.
특히, 개인 식별 정보 (Personally identifiable information, “PII")는 데이터에 대한 다양한 작업들이 데이터를 보거나 편집하기 위해 이러한 데이터의 복호화를 요구하기 때문에, 데이터 보호를 위한 암호화 메커니즘 및 추가 정책 및 프로세스를 필요로 한다. 예를 들어, HIPAA (Health Insurance Portability and Accountability Act)는 운송 중에 데이터를 암호화하는 것이 필요하며, 해당 데이터의 배포 및 보급을 위한 정책을 제공한다. 암호화 강도 정책은 도난과 같은 PII 데이터베이스의 손상을 방지하기 위한 것이다. 복호화 없이 검색과 같은 작업을 수행하면 데이터가 잠재적으로 손상될 필요가 없다. 바이오메트릭(biometric) 데이터는 시각적 암호화와 같은 보다 정교한 암호화 체계를 포함한 추가 메커니즘을 도입하는 프로세스 및 정책에 의한 추가 보호가 필요하다.
본 출원은 레퍼런스(reference) 바이오메트릭 및 새로운 입력 레코드가 주어지면, 일대일 레코드 매칭을 넘어서, 암호화된 검색을 제공하기 위한 특징 및 기능을 포함한다. 또한, 본 출원은 데이터베이스, 파일 시스템 또는 다른 지속 메커니즘과 같은 저장 매체에서 데이터 복호화를 요구하지 않고 암호화된 바이오메트릭 데이터를 검색하기 위한 새로운 방법 및 시스템을 제공한다. 일대일 구현에 더하여, 일대다(one-to-many) 구현은 본 명세서의 교시에 의해 지원되며, 여기서 암호화된 바이오메트릭 레코드의 검색은 새로 수신된 생체 레코드의 함수로서 발생할 수 있다. 이러한 경우에, 각 레코드가 복호화 및 비교되는 직교 그룹(orthogonal group) O(n) 철저한 검색이 수행될 수 있다. 본 발명의 하나 이상의 구현에 따르면, 복호화를 요구하지 않고 복호화 없이 레코드의 위치를 찾는 것을 지원하는 O(log n) 솔루션이 제공된다. 본 명세서에서, 일반적으로, ID(identity) 사용 사례로서, 주어진 바이오메트릭 벡터가 입력으로서 제공되고, 바이오메트릭이 데이터베이스에 있는지 여부를 결정하기 위해 각각의 바이오메트릭이 검색될 수 있다.
하나 이상의 구현에서, 본 출원은 바이오메트릭의 암호화된 큰 데이터 저장소에서 식별을 위한 다항식 기반(polynomial-based) 솔루션을 제공함으로써 프라이버시를 보호하기 위한 시스템 및 메커니즘을 제공한다. 또한, 엔트로피가 낮은 초기 바이오메트릭을 선택하는 것이 이루어진다. 그 후, 데이터 구조의 선택은 검색을 위한 오더 로그 (Order log, n)를 제공한다. 그 후, 바이오메트릭이 발견될 수 없거나 해싱 알고리즘(hashing algorithm)이 원래 바이오메트릭으로 역전될 수 없도록 중간 노드에 대한 알고리즘의 선택이 이루어진다. 따라서, 본 출원에 따른 구현은 바이오메트릭이 수천 (또는 그 이상)의 대상의 데이터베이스에 걸쳐 식별을 제공하기 위해 사용되는 엔드-투-엔드(end-to-end) 기술을 제공한다.
하나 이상의 구현에서, 컨볼루션 신경망(convolutional neural network)을 포함할 수 있는 신경망은 이미지를 처리하고 신경망의 성능 품질을 나타내는 것과 같은 정확한 비용 함수(cost function)를 결정하는데 이용된다. 하나 이상의 구현에서, 신경망은 사람의 음성의 녹음 또는 표현과 같은 오디오 컨텐츠를 포함하는 다른 데이터를 처리하기 위해 이용된다. 본 명세서에 도시되고 설명된 많은 예시적인 구현이 하나 이상의 이미지 파일을 처리하는 것에 관한 것이지만, 당업자는 본 출원이 바람직하게는 바이오메트릭에 구애받지 않고, 본 명세서의 교시에 따라 임의의 적합한 바이오메트릭이 사용될 수 있음을 인식할 것이다. 컨볼루션 신경망, 재발성 신경망(recurrent neural network, “RNN”), 또는 딥 머신 학습 시스템과 같은 다양한 유형의 신경망은 다양한 형식의 정보를 수신하고 특징 벡터를 생성하는데 적합하다.
하나 이상의 구현에서, 컨볼루션 신경망(convolutional neural network)을 포함할 수 있는 신경망은 이미지를 처리하고 신경망의 성능 품질을 나타내는 것과 같은 정확한 비용 함수(cost function)를 결정하는데 이용된다. 하나 이상의 구현에서, 신경망은 사람의 음성의 녹음 또는 표현과 같은 오디오 컨텐츠를 포함하는 다른 데이터를 처리하기 위해 이용된다. 본 명세서에 도시되고 설명된 많은 예시적인 구현이 하나 이상의 이미지 파일을 처리하는 것에 관한 것이지만, 당업자는 본 출원이 바람직하게는 바이오메트릭에 구애받지 않고, 본 명세서의 교시에 따라 임의의 적합한 바이오메트릭이 사용될 수 있음을 인식할 것이다. 컨볼루션 신경망, 재발성 신경망(recurrent neural network, “RNN”), 또는 딥 머신 학습 시스템과 같은 다른 유형의 신경망은 다양한 형식의 정보를 수신하고 특징 벡터를 생성하는데 적합하다.
사용자를 식별하기 위한 예시적인 시스템이 도 1에 블록도로서 도시되어 있으며, 이는 신경망 (도시되지 않음)과 인터페이스 하도록 구성될 수 있다. 예시적인 구성에서, 시스템 서버 (105), 원격 컴퓨팅 장치 (102) 및 사용자 컴퓨팅 장치 (101a 및 101b)가 포함될 수 있다. 상기 시스템 서버 (105)는 실질적으로 본 명세서에 추가로 설명된 바와 같이 전자 정보 및 프로세스 요청을 수신, 전송 및 저장하는 것을 포함하여 장치 (101a, 101b) 및 다른 원격 컴퓨팅 장치 (102)와 통신할 수 있는 임의의 컴퓨팅 장치 및/또는 데이터 처리 장치 일 수 있다. 시스템 서버 (105), 원격 컴퓨팅 장치 (102) 및 사용자 장치 (101a 및 101b)는 랩탑 컴퓨터, 데스크탑 컴퓨터, 컴퓨터 워크 스테이션, 개인용 디지털 어시스턴트, 서버, 블레이드(blade) 서버, 메인 프레임 및 기타 컴퓨터 및/또는 네트워크 또는 클라우드 기반 컴퓨팅 시스템과 같은 다양한 형태의 컴퓨터를 나타내도록 의도된다.
하나 이상의 구현에서, 원격 컴퓨팅 장치 (102)는 기업 조직, 예를 들어 금융 기관, 보험 회사, 또는 사용자 기업 계정 ("거래 계정"이라고도 함)을 유지하는 임의의 독립체(entity)와 연관될 수 있다. 이러한 기업 조직은 계정 보유자에게 서비스를 제공하며 기업 시스템 및 서비스에 대한 액세스 권한을 부여하기 전에 사용자 인증이 필요하다. 추가의 예로서, 원격 컴퓨팅 장치 (102)는 당업자에게 이해되는 바와 같이 금융 거래를 처리하기 위한 지불 네트워크 및/또는 뱅킹 네트워크를 포함할 수 있다.
사용자 컴퓨팅 장치 (101a, 101b)는 퍼스널 컴퓨터, 태블릿 컴퓨터, 퍼스널 디지털 어시스턴트, 모바일 전자 장치, 휴대 전화 또는 스마트 폰 장치 등을 포함하지만 이에 제한되지 않는 본원에 기술된 시스템 및/또는 방법을 구현할 수 있는 임의의 컴퓨팅 장치 및/또는 데이터 처리 장치일 수 있다. 거래 단말기 (101b)는 워크 스테이션, 전용 POS(point-of-sale) 시스템, ATM 단말기, 개인용 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰 장치, 개인용 디지털 어시스턴트 또는 전자 거래를 수행하는 데 사용될 수 있는 기타 적절한 컴퓨터와 같은 다양한 형태의 컴퓨팅 장치를 나타내는 것으로 의도된다. 상기 디바이스들 (101a, 101b)은 또한 본 명세서에서 더 설명되는 바와 같이, 사용자 입력을 수신할 뿐만 아니라, 바이오메트릭 정보, 예를 들어, 사용자의 디지털 이미지를 캡쳐하고 처리하도록 구성될 수 있다.
하나 이상의 구현에서, 상기 시스템 서버 (105)는 정보에 액세스 하는 것 및/또는 사용자가 상호 작용하는 컴퓨팅 장치 (예를 들어, 장치 (101a, 101b))와 하나 이상의 신뢰할 수 있는 백 엔드(back end) 서버 (예를 들어, 원격 컴퓨팅 장치 (102)) 사이에 정보의 전송을 제어하는 규칙을 구현한다.
본 명세서에서 추가로 설명되는 바와 같이, 사용자를 식별 및/또는 인증하기 위한 시스템 및 방법은 기존 시스템 (예를 들어, 금융 기관의 거래 처리 및 데이터 관리 시스템)과 통합하기 위해 API를 사용함으로써 기업 시스템에 요구되는 보안 레벨을 충족시킬 수 있다. 따라서, 상기 시스템 서버 (105)는 기본 시스템 (예를 들어, 원격 컴퓨팅 장치 (102))이 관계형 데이터베이스 관리 시스템 (RDBMS), 검색 엔진, 금융 거래 처리 시스템 등 인지 알 필요가 없다. 따라서, 보안 인증을 용이하게 하기 위한 상기 시스템 및 방법은 개발중인 시스템뿐만 아니라 기존 기업 시스템에 적절한 보안을 추가하기 위한 "포인트 앤 컷(point and cut)" 메커니즘을 제공한다. 일부 구현에서, 상기 시스템 아키텍처는 REST, JSON 및 SSL (Secure Socket Layer)이 다양한 컴퓨팅 장치들 (예를 들어, 101a, 101b, 102 및 105) 사이의 통신 인터페이스를 제공할 수 있게 하는 언어 중립적이다. 또한, 하나 이상의 구현에서, 상기 아키텍처는 서블릿 사양(servlet specification), 개방형 보안 소켓 계층(open secure socket layers), Java, JSON, REST 및/또는 Apache Solr을 기반으로 한다. 따라서, 상기 설명된 사용자 인증 시스템은 개방형 표준을 구현할 수 있어 상당한 상호 운용성을 가능하게 한다.
사용자 장치 (101a 및 101b)를 포함하지만 이에 제한되지 않는 본 명세서에서 참조된 다양한 컴퓨팅 장치 및 기계가 있지만, 시스템 서버 (105) 및 원격 컴퓨팅 장치 (102)는 본 명세서에서 개별/단일 장치 및/또는 기계로 지칭되는 것으로 이해되어야 한다. 특정 구현들에서, 참조된 장치들 및 기계들, 및 이것들의 연관된 및/또는 수반되는 동작들, 특징들 및/또는 기능들은 당업자에게 알려진 바와 같이 네트워크 연결 또는 유선 연결과 같은 임의의 수의 장치들 및/또는 기계들에 걸쳐 결합되거나 배열되거나 달리 이용될 수 있다.
도 2a는 사용자 컴퓨팅 장치 (101a)의 구성 요소 및 특징을 도시하는 블록도이며, 하나 이상의 프로세서 (110), 메모리 (120), 마이크로폰 (125), 디스플레이 (140), 카메라 (145), 오디오 출력 (155), 저장소 (190) 및 통신 인터페이스 (150)를 포함하는, 시스템의 동작을 가능하게 하는 다양한 하드웨어 및 소프트웨어 구성 요소를 포함한다. 프로세서 (110)는 메모리 (120)에 로드될 수 있는 소프트웨어 명령의 형태로 클라이언트 애플리케이션을 실행하는 역할을 한다. 프로세서 (110)는 다수 일 수 있다. 특정 구현에 따라 프로세서는 중앙 처리 유닛 CPU, 그래픽 처리 유닛 GPU, 다중 프로세서 코어, 또는 다른 유형의 프로세서를 포함한다.
바람직하게는, 상기 메모리 (120) 및/또는 저장소 (190)는 프로세서 (110)에 의해 액세스 가능하여, 프로세서가 상기 메모리 및/또는 저장소 상에 인코딩 된 명령을 수신 및 실행하여 장치 및 그의 다양한 하드웨어 구성 요소가 본 명세서에 개시된 예시적인 시스템 및 방법의 양태에 대한 동작을 수행할 수 있도록 할 수 있다. 메모리는 예를 들어, 랜덤 액세스 메모리 (RAM) 또는 임의의 다른 적합한 휘발성 또는 비-휘발성 컴퓨터 판독 가능 저장 매체일 수 있다. 상기 저장소 (190)는 특정 구현에 따라 다양한 형태를 취할 수 있다. 예를 들어, 상기 저장소는 하드 드라이브, 플래시 메모리, 재기록 가능 광 디스크, 재기록 가능 자기 테이프, 또는 이들의 일부 조합과 같은 하나 이상의 구성 요소 또는 장치를 포함할 수 있다. 또한, 상기 메모리 및/또는 저장소는 고정되거나 제거 가능할 수 있다.
하나 이상의 소프트웨어 모듈 (130)은 저장소 (190) 및/또는 메모리 (120)에 인코딩 된다. 상기 소프트웨어 모듈 (130)은 컴퓨터 프로그램 코드 또는 상기 프로세서 (110)에서 실행되는 명령 세트를 갖는 하나 이상의 소프트웨어 프로그램 또는 애플리케이션을 포함할 수 있다. 도 2b에 도시한 바와 같이, 사용자 인터페이스 모듈 (170), 바이오메트릭 캡쳐 모듈 (172), 분석 모듈 (174), 등록 모듈 (176), 데이터베이스 모듈 (178), 인증 모듈 (180) 및 통신 모듈 (182) 중 하나 이상이 프로세서 (110)에 의해서 수행될 수 있는 상기 소프트웨어 모듈 (130) 중에 포함이 될 수 있다. 이러한 컴퓨터 프로그램 코드 또는 명령은 본 발명에 개시된 시스템 및 방법의 동작을 수행하도록 상기 프로세서 (110)를 구성하고, 하나 이상의 프로그래밍 언어의 임의의 조합으로 작성될 수 있다.
프로그램 코드는 독립형 장치(stand-alone device)로서, 전체적으로 사용자 컴퓨팅 장치 (101)에서, 부분적으로 사용자 컴퓨팅 장치 (101)에서, 부분적으로 시스템 서버 (105)에서, 또는 전체적으로 시스템 서버 (105) 또는 다른 원격 컴퓨터/장치 (102)에서 실행될 수 있다. 후자의 시나리오에서, 상기 원격 컴퓨터는 근거리 통신망 (LAN) 또는 광역 통신망 (WAN), 이동 통신 네트워크, 셀룰러 네트워크를 포함하는 임의의 유형의 네트워크를 통해 사용자 컴퓨팅 장치 (101)에 연결될 수 있거나, 또는 외부 컴퓨터 (예: 인터넷 서비스 공급자를 사용하여 인터넷을 통해)를 통해 연결될 수 있다.
또한, 소프트웨어 모듈 (130)의 프로그램 코드 및 하나 이상의 컴퓨터 판독 가능 저장 장치 (예컨대 메모리 (120) 및/또는 저장소 (190))는 당업자에게 알려진 바와 같이, 본 발명에 따라 제조 및/또는 배포될 수 있는 컴퓨터 프로그램 제품을 형성할 수 있다.
일부 예시적인 실시예에서, 하나 이상의 소프트웨어 모듈 (130)은 통신 인터페이스 (150)를 통해 다른 장치 또는 시스템으로부터 저장소 (190)로 네트워크를 거쳐 다운로드 될 수 있음을 이해해야 한다. 또한, 다른 정보 및/또는 본 시스템 및 방법 (예컨대, 데이터베이스 (185))의 동작과 관련된 데이터는 또한 저장소 상에 저장될 수 있다. 일부 구현들에서, 이러한 정보는 소프트웨어 모듈 (130)을 실행하는 프로세서 (110)에 의해 수집되거나 생성된 정보를 안전하게 저장하기 위해 구체적으로 할당된 암호화된 데이터 저장소에 저장된다. 바람직하게는, 암호화 수단은 정보를 근접하게는 사용자 컴퓨팅 장치 저장소에 저장하기 위해, 그리고 정보를 상기 시스템 서버 (105)에 전송하기 위해 이용된다. 예를 들어, 이러한 데이터는 1024 비트 다형성 암호(polymorphic cipher)를 사용하여, 또는 내보내기 제어에 따라 AES 256 비트 암호화 방법을 사용하여 암호화될 수 있다. 또한, 암호화는 원격 키 (시드) 또는 로컬 키 (시드)를 사용하여 수행될 수 있다. 당업자에게 이해될 수 있는 대안적인 암호화 방법들, 예를 들어 SHA256, 이 사용될 수 있다.
또한, 사용자 컴퓨팅 장치 (101a) 및/또는 시스템 서버 (105)에 저장된 데이터는 본 명세서에서 더 설명된 바와 같이, 사용자의 바이오메트릭 정보, 라이브니스(liveness) 정보 또는 사용자 컴퓨팅 장치 정보로부터 생성된 암호화 키를 사용하여 암호화될 수 있다. 일부 구현들에서, 전술한 것의 조합은 Elliptic Curve Cryptography, 바람직하게는 적어도 384 비트 이상의 길이의 Elliptic Curve Cryptography를 사용하여 사용자 컴퓨팅 장치 상에 암호화될 수 있는, 사용자를 위한 복잡한 고유 키를 생성하는데 사용될 수 있다. 또한, 이 키는 사용자 컴퓨팅 장치 및/또는 시스템 서버에 저장된 사용자 데이터를 보호하기 위해 사용될 수 있다.
또한, 저장소 (190)에는 데이터베이스 (185)가 저장되는 것이 바람직하다. 아래에서 보다 상세히 설명되는 바와 같이, 상기 데이터베이스는 거래 단말기에서 금융 거래를 수행하는 사용자를 인증하기 위한 시스템 및 방법의 다양한 동작들에 걸쳐 활용되는 다양한 데이터 아이템 및 구성요소를 포함하고 및/또는 유지한다. 데이터베이스 (185)에 저장된 정보는 본 명세서에서 더 상세히 설명될 사용자 프로파일을 포함할 수 있지만, 이에 제한되지는 않는다. 데이터베이스 (185)가 사용자 컴퓨팅 장치 (101a)에 로컬로 구성되는 것으로 도시되어 있지만, 특정 구현에서 상기 데이터베이스 및/또는 그 안에 저장된 다양한 데이터 요소는, 추가로 또는 대안적으로, 원격으로 (예를 들어, 원격 장치 (102) 또는 시스템 서버 (105) - 도시되지 않음)위치해 있을 수 있고, 당업자에게 알려진 방식으로 네트워크를 통해 사용자 컴퓨팅 장치에 연결될 수 있다.
사용자 인터페이스 (115)는 또한 상기 프로세서에 작동 가능하게 연결된다. 상기 인터페이스는 전자 컴퓨팅 분야에서 이해될 수 있는 스위치(들), 버튼(들), 키(들), 터치 스크린, 마이크로폰 등과 같은 하나 이상의 입력 또는 출력 장치(들) 일 수 있다. 사용자 인터페이스 (115)는 온-오프 명령 또는 사용자 정보 및 사용자를 인증하기 위한 시스템의 동작과 관련된 설정과 같은 사용자로부터의 명령의 캡쳐를 용이하게 하는 역할을 한다. 예를 들어, 인터페이스는 사용자 프로파일을 생성하기 위해 시스템에 등록하기 위한 개인 사용자 정보와 같은 사용자 컴퓨팅 장치 (101)로부터의 특정 정보의 캡쳐를 용이하게 하는 역할을 한다.
컴퓨팅 장치 (101a)는 또한 프로세서 (110)에 작동 가능하게 연결하는 디스플레이 (140)를 포함할 수 있다. 상기 디스플레이는 사용자 컴퓨팅 장치가 시스템 (100)의 동작에 관해 사용자에게 지시하거나 피드백을 제공할 수 있게 하는 스크린 또는 임의의 다른 그러한 프리젠테이션 장치를 포함한다. 예로서, 상기 디스플레이는 도트 매트릭스 디스플레이(dot matrix display) 또는 다른 2 차원 디스플레이와 같은 디지털 디스플레이일 수 있다.
추가적인 예시로서, 상기 인터페이스 및 디스플레이는 터치 스크린 디스플레이에 통합될 수 있다. 따라서, 상기 디스플레이는 또한 다양한 데이터를 표시할 수 있고 사용자에 의한 정보의 입력을 허용하는 필드를 포함하는 "양식"을 제공할 수 있는 그래픽 사용자 인터페이스를 표시하는데 사용된다. 그래픽 사용자 인터페이스의 디스플레이에 대응하는 위치에서 터치 스크린을 터치하면 사용자는 장치와 상호 작용하여 데이터를 입력하고, 설정을 변경하고, 기능을 제어할 수 있다. 따라서, 터치 스크린이 터치될 때, 상기 사용자 인터페이스 (115)는 이 변화를 상기 프로세서 (110)로 통신하고, 설정들이 변경될 수 있고, 또는 사용자가 입력한 정보가 캡쳐될 수 있고 상기 메모리 (120) 및/또는 저장소 (190)에 저장될 수 있다.
장치 (101a, 101b)는 또한 디지털 이미지를 캡쳐할 수 있는 카메라 (145)를 포함할 수 있다. 상기 카메라는 사용자 컴퓨팅 장치 (101a)를 이용하면서 사용자의 눈 및/또는 얼굴을 포함하여 사용자 신체의 적어도 일부의 이미지를 캡처하도록 구성된 하나 이상의 이미징 장치일 수 있다. 상기 카메라는 이미지로부터 사용자를 (바이오메트릭적으로) 인증하기 위한 바이오메트릭 특징을 식별하는 것을 포함하는, 구성된 사용자 컴퓨팅 장치 프로세서에 의한 이미지 분석의 목적을 위해 사용자의 이미지의 캡쳐를 용이하게 하는 역할을 한다. 상기 사용자 컴퓨팅 장치 (101a) 및/또는 카메라 (145)는 또한 하나 이상의 광 또는 신호 방출기 (미도시), 예를 들어 가시광 방출기 및/또는 적외선 발광기 등을 포함할 수 있다. 상기 카메라는 예를 들어 CCD 또는 CMOS 센서와 같은 센서를 포함하는 전면 카메라 또는 후면 카메라와 같이, 사용자 컴퓨팅 장치에 통합될 수 있다. 대안적으로, 상기 카메라는 사용자 컴퓨팅 장치 (101a) 외부에 있을 수 있다. 상기 카메라 및 발광기의 가능한 변형은 당업자에 의해 이해될 것이다. 또한, 상기 사용자 컴퓨팅 장치는 당업자에 의해 이해되는 바와 같이 오디오 기록을 캡쳐하기 위한 하나 이상의 마이크로폰 (125)을 포함할 수 있다.
오디오 출력부 (155)는 또한 상기 프로세서 (110)에 작동 가능하게 연결될 수 있다. 상기 오디오 출력부는 사용자 컴퓨팅 장치 (101)에 통합되거나 사용자 컴퓨팅 장치 외부에 있을 수 있으며, 전자 오디오 파일을 당업자가 이해할 수 있는 바와 같이 재생하도록 구성된 임의의 유형의 스피커 시스템일 수 있다.
다양한 하드웨어 장치/센서 (160)가 프로세서에 작동 가능하게 연결될 수 있다. 상기 센서들 (160)은 당업자에게 이해될 수 있는 바와 같이 다음의 것들을 포함한다: 시간을 추적하기 위한 온-보드(on-board) 시계; 사용자 컴퓨팅 장치의 위치를 결정하는 GPS 가능 장치; 사용자 컴퓨팅 장치의 방향 및 가속도를 추적하는 가속도계; 지구 자기장을 측정하기 위한 중력 자력계; 사용자 컴퓨팅 장치로부터 물체까지의 거리를 측정하기 위한 근접 센서; 방사선을 측정하기 위한 RF 방사선 센서; 및 사용자 컴퓨팅 장치의 환경에 관한 정보를 포착하기 위한 다른 그러한 장치.
통신 인터페이스 (150)는 또한 프로세서 (110)에 작동 가능하게 연결되며, 사용자 컴퓨팅 장치 (101a)와 외부 장치, 기계 및/또는 요소 사이의 통신을 가능하게 하는 임의의 인터페이스일 수 있다. 바람직하게는, 상기 통신 인터페이스는 모뎀, 네트워크 인터페이스 카드 (NIC), 통합 네트워크 인터페이스, 무선 주파수 송신기/수신기 (예를 들어, 블루투스, 셀룰러, NFC), 위성 통신 송신기/수신기, 적외선 포트, USB 연결 및/또는 사용자 컴퓨팅 장치를 다른 컴퓨팅 장치 및/또는 사설 네트워크 및 인터넷과 같은 통신 네트워크에 연결하기 위한 다른 인터페이스를 포함할 수 있지만, 이에 제한되지는 않는다. 이러한 연결은 유선 연결 또는 무선 연결 (예를 들어, 802.11 표준 사용)을 포함할 수 있지만, 통신 인터페이스는 사용자 컴퓨팅 장치와의 통신을 가능하게 하는 임의의 인터페이스 일 수 있음을 이해해야 한다.
도 2c는 시스템 서버 (105)의 예시적인 구성을 도시하는 블록도이다. 시스템 서버 (105)는, 예를 들어, 거래 단말기에서의 거래와 관련하여 사용자를 인증하기 위한 시스템의 동작을 가능하도록 역할을 하는 다양한 하드웨어 및 소프트웨어 구성요소와 작동 가능하게 연결되는 프로세서 (210)를 포함한다. 상기 프로세서 (210)는 사용자 인증 및 거래 처리/권한 부여와 관련된 다양한 동작을 수행하기 위한 명령을 실행하는 역할을 한다. 상기 프로세서 (210)는 특정 구현에 따라 다수의 프로세서, 다중 프로세서 코어, 또는 일부 다른 유형의 프로세서일 수 있다.
특정 구현들에서, 메모리 (220) 및/또는 저장 매체 (290)는 프로세서 (210)에 의해 액세스 가능하여, 프로세서 (210)가 메모리 (220) 및/또는 저장소 (290)에 저장된 명령들을 수신 및 실행할 수 있게 한다. 상기 메모리 (220)는, 예를 들어, 랜덤 액세스 메모리 (RAM) 또는 임의의 다른 적합한 휘발성 또는 비- 휘발성 컴퓨터 판독 가능 저장 매체일 수 있다. 또한, 상기 메모리 (220)는 고정 또는 제거 가능할 수 있다. 상기 저장소 (290)는 특정 구현에 따라 다양한 형태를 취할 수 있다. 예를 들어, 상기 저장소 (290)는 하드 드라이브, 플래시 메모리, 재기록 가능 광 디스크, 재기록 가능 자기 테이프, 또는 이들의 일부 조합과 같은 하나 이상의 구성 요소 또는 장치를 포함할 수 있다. 상기 저장소 (290)는 또한 고정 또는 제거 가능할 수 있다.
하나 이상의 소프트웨어 모듈 (130) (도 2b에 도시됨)은 저장소 (290) 및/또는 메모리 (220)에 인코딩 될 수 있다. 상기 소프트웨어 모듈 (130)은 컴퓨터 프로그램 코드 또는 프로세서 (210)에 의해서 실행되는 명령어 세트를 갖는 하나 이상의 소프트웨어 프로그램 또는 애플리케이션 (통칭하여 "보안 인증 서버 애플리케이션"으로 지칭됨)을 포함할 수 있다. 본 명세서에 개시된 시스템 및 방법의 양태에 대한 동작을 수행하기 위한 이러한 컴퓨터 프로그램 코드 또는 명령어는 본 기술 분야의 통상의 지식을 가진 자에 의해 이해될 수 있는 바와 같이 하나 이상의 프로그래밍 언어의 임의의 조합으로 작성될 수 있다. 상기 프로그램 코드는 독립형 소프트웨어 패키지(stand-alone software package)로서 전체적으로 시스템 서버 (105)에서, 부분적으로 시스템 서버 (105)에서, 및 부분적으로 원격 컴퓨팅 장치 (102), 사용자 컴퓨팅 장치 (101a) 및/또는 사용자 컴퓨팅 장치 (101b)와 같은 원격 컴퓨팅 장치에서, 또는 전체적으로 이러한 원격 컴퓨팅 장치에서 실행될 수 있다.
또한, 바람직하게는 저장소 (290)에 데이터베이스 (280)가 저장된다. 아래에서 더 상세히 설명될 바와 같이, 상기 데이터베이스 (280)는 시스템 (100)의 다양한 동작에 걸쳐 이용되는 다양한 데이터 아이템 및 요소를 포함하고/하거나 유지하며, 이에 제한되지는 않으나, 본 명세서에서 더 상세히 설명될 사용자 프로파일을 포함한다. 상기 데이터베이스 (280)가 컴퓨팅 장치 (105)에 로컬로 구성되는 것으로 도시되어 있지만, 특정 구현에서 상기 데이터베이스 (280) 및/또는 그에 저장된 다양한 데이터 요소는, 본 기술 분야의 통상의 지식을 가진 자에게 알려진 방식으로 네트워크 (도시되지 않음)를 통해 원격으로 위치되고 시스템 서버 (105)에 연결된 컴퓨터 판독 가능한 메모리 또는 저장 매체에 저장될 수 있음에 유의해야 한다.
통신 인터페이스 (250)는 또한 프로세서 (210)에 작동 가능하게 연결된다. 상기 통신 인터페이스는 시스템 서버 (105)와 외부 장치, 기계 및/또는 요소 사이의 통신을 가능하게 하는 임의의 인터페이스일 수 있다. 특정 구현들에서, 상기 통신 인터페이스는 모뎀, 네트워크 인터페이스 카드 (NIC), 통합 네트워크 인터페이스, 무선 주파수 송신기/수신기 (예를 들어, 블루투스, 셀룰러, NFC), 위성 통신 송신기/수신기, 적외선 포트, USB 연결 및/또는 컴퓨팅 장치 (105)를 다른 컴퓨팅 장치 및/또는 사설 네트워크 및 인터넷과 같은 통신 네트워크에 연결하기 위한 다른 인터페이스를 포함할 수 있지만, 이에 제한되지는 않는다. 이러한 연결은 유선 연결 또는 무선 연결 (예를 들어, 802.11 표준 사용)을 포함할 수 있지만, 통신 인터페이스 (255)는 프로세서 (210)와의 통신을 가능하게 하는 임의의 인터페이스일 수 있음을 이해해야 한다.
사용자를 인증하기 위한 시스템 및 전술한 다양한 요소 및 구성 요소의 동작은 도 1 및 2a-2b를 계속해서 참조하면서, 도 3-4b를 참고하여 더 이해될 것이다. 도 3 및 도 4에 도시된 프로세스는 시스템 서버 (105)뿐만 아니라 사용자 컴퓨팅 장치 (101a)의 관점에서 도시되지만, 상기 프로세스는 사용자 컴퓨팅 장치 (101a), 시스템 서버 (105) 및/또는 다른 컴퓨팅 장치 (예를 들어, 원격 컴퓨팅 장치 (102)) 또는 이들의 임의의 조합에 의해, 전체 또는 일부가 수행될 수 있음을 이해해야 한다.
도 3은 신경망에서 일련의 노드 X1, X2 및 X3을 도시하는 간단한 다이어그램이고, 가중치 X배 값의 행렬 (matrix of weights times the X values)의 합으로서의 활성화 함수(activation function)를 더 도시하며, 이는 Y를 산출한다. 목표는 신경망에서 이상적인 수의 뉴런과 층을 찾는 것이다. 주어진 볼륨에서 "적합한" 뉴런의 수를 계산하는 공식은 (W - K + 2P) / S + 1로 표시된다. 예를 들어, 비용 함수(cost function)는 유클리드(Euclidean)이고 출력 볼륨의 공간적인 크기로서 주어진 층 수(the number of layer)는 입력 볼륨 크기 W, Conv 층 뉴런(Conv layer neuron)의 커넬 필드(kernel field) 크기 K, 이들과 함께 적용되는 스트라이드(stride) S, 및 경계에서 사용되는 제로 패딩(zero padding)의 양 P의 함수로서 계산될 수 있다.
예를 들어, 신경망은 라벨링 된 바이오메트릭 데이터를 사용하여 분류기(classifier)로서 초기에 훈련된다. 훈련 과정의 일부로, 각 사람이 저장되고 훈련으로부터 이미지가 나타난다. 초기 바이오메트릭 벡터 (initial biometiric vector, "IBV")가 신경망에 도입된 후, n-1 층에서 사용된 벡터는 이체동형(homomorphic)의 암호화된 공간에도 불구하고, 상기 초기 바이오메트릭 벡터를 식별하기 위해 고유한 특징 벡터로서 사용될 수 있다. 이 특징 벡터는 유클리드 측정 가능(Euclidean-measurable)하며, 및 암호화된다. 또한, 상기 특징 벡터는 상기 바이오메트릭 벡터를 대체한다. 하나 이상의 구현에서, 상기 특징 벡터는 256 개의 부동 소수점 숫자의 리스트이고, 상기 바이오메트릭은 256 개의 부동 소수점 숫자의 리스트로부터 재구성된다. 따라서, 상기 특징 벡터는 단방향 암호화이다. 특징 벡터는 유클리드 측정 가능한(Euclidean-measurable) 속성을 갖는다.
본 출원은 바이오메트릭 입력을 이용한 식별을 위해 암호화된 검색을 요구할 수 있는 다양한 수직 시장(vertical markets)에서 적용 가능성을 제공하는 것으로 인식된다. 예를 들어, 보험 회사와 은행은 계좌 번호를 잃어버린 계좌 소유자를 식별하기 위한 메커니즘을 희망한다. 본 출원에 따라 제공된 솔루션은 O (log (n)) 시간으로 실행될 수 있으며, 이는 암호화된 바이오메트릭 레코드의 데이터베이스를 통해 암호화된 검색을 위한 기존 O (n) 알고리즘을 개선시키는 것으로 여겨진다.
하나 이상의 구현에서, 예를 들어, 선형 검색을 위한 분할을 제공하기 위해 수학적 변환이 사용된다. 이 경우, 이러한 변환은 바이오메트릭 벡터를 가져오고, 특징 벡터를 반환한다. 그 후, 상기 특징 벡터는 노드(node)에 직접 액세스하기 위해 사용될 수 있다. 상기 액세스된 노드는 선형적으로 스캔되어 각각의 ID(identity)를 결정할 수 있다. 예를 들어, 개별 사용자는 특징 벡터의 함수로서 액세스되는 노드의 함수로서 식별될 수 있다.
하나 이상의 구현에서, B+ 트리와 같은 트리 구조를 지원하기 위한 바이오메트릭과 관련된 정보 (예를 들어, 벡터)를 분할하는 수학적 함수가 사용될 수 있다. 대안적으로 또는 추가적으로, 바이오메트릭(예를 들어, 생체 인식 벡터)과 관련된 정보는 신경망을 통해 배치될 수 있으며, 이는 매칭 또는 근접을 위해 비가역적인 바이오메트릭을 생성하도록 작동 가능하다.
신경망을 사용하는 구현과 관련하여, 유클리드 거리 알고리즘은 얼굴 바이오메트릭 벡터 또는 다른 값을 비교될 수 있는 것으로 변환하는 기능을 한다. 초기 바이오메트릭 값 (템플릿(templete))은 신경망을 통해 처리되어 특징 벡터가 된다. 이러한 구현은, 예를 들어 "일대일(one to one)"사용 사례 또는 일대다(one-to-many) 사례와 관련하여 유용하다. 어느 경우든, 신경망 및 특징 벡터는 암호화된 공간에서 비교를 수행하는데 사용될 수 있다. 일대일 경우에 부가하여, 신경 네트워크는 다중 레벨의 신경 네트워크를 적용한 후, 특정 바이오메트릭 또는 하나 이상의 바이오메트릭 그룹에 액세스하기 위해 유클리드 비용(Euclidian cost)을 수행하도록 동작할 수 있다. 각각의 층에 대한 행렬 곱셈에 따른 결과 벡터는 유클리드 비용 함수에 기초하여 유클리드 거리 알고리즘을 사용할 수 있으며, 이는 본 명세서에서 일반적으로 특징 벡터로 지칭된다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다.
도 4a 및 4b는 본 출원의 예시적인 구현에 따른, 동작중인 예시적인 신경망의 예를 도시한다. 초기 이미지는 신경망에 적용된다. 결과로 생성된 소프트맥스(softmax)가 제공되며, 이는 정의된 "버킷(buckets)"중 이미지가 속하는 것을 나타낸다. 도시된 각각의 버킷에서, 주어진 개인에 대한 이미지가 제공된다. 예를 들어, 분류 함수(classifying function)에 적용될 때, 인물 X의 특징 벡터 (256 값)는 Y의 부동 소수점 값을 도출한다. 상기 특징 벡터가 유클리드 측정 가능(Euclidean-measurable)하며 분류 함수가 안정적이라면, Y 근처의 모든 값에 대해 상기 개인이 식별될 수 있다.
도 4a 및 4b를 계속해서 참고하면, 결과적인 소프트맥스 함수는 훈련 세트 내 대상자(subject)의 이미지를 도시한다. 그 후, 상기 소프트맥스를 생성하기 위한 행렬 계산이 도시된다. 소프트맥스 이전의 두 가지 컨볼루션 단계는 컨볼루션 층 7의 출력을 갖는 fc7-conv이다. 상기 출력은 특징 벡터이다.
도 5는 신경망에 따른 예시적인 프로세스를 도시한다. 정류기 (ReLU) 및 풀링 노드(pooling node)와 함께 다양한 컨볼루션 층이 제공된다. 도 5에 도시 된 예에서, 상기 정류기는 깊은 신경망(deep neural networks)에 적합한 활성화 함수이며, f (x) = max (0, x)로 정의된 활성화 함수이다.
ReLU 이외에, 본 출원의 신경망은 풀링(pooling)을 비선형 다운 샘플링(non-linear down-sampling)의 형태로 사용하도록 구성될 수 있다. 보다 구체적으로, 본 명세서에서 일반적으로 맥스 풀링 (maxpooling)으로 지칭되는 유형의 풀링 알고리즘은 입력 이미지를 겹치지 않는 직사각형의 세트로 분할하고, 이러한 각 하위 영역에 대해 최대값을 출력한다. 일단 특징이 발견되면, 이의 정확한 위치가 다른 특징과의 관계보다 덜 중요할 수 있다. 풀링 층(pooling layer)의 기능은 표현의 공간 크기를 점진적으로 줄여 네트워크의 파라미터 및 계산량을 줄인다. 따라서 컨벌루션, ReLU 및 maxpooling을 사용하여, 매칭, 분류 및 비교에 사용하기 위해 256의 합리적인 크기의 벡터가 제공된다. 또한, 신경망으로부터 생성된 암호화된 유클리드 측정 가능한 특징 벡터 (Euclidean-measurable feature vectors, EMFV)는 나중에 분류 알고리즘에서 다른 바이오메트릭으로부터의 특징 벡터와 비교될 수 있는 스칼라 값(scalar value)을 수신하기 위해 사용될 수 있다. 하나 이상의 구현에서, 본 출원은 얼굴의 이미지와 관련된 데이터에 대해 훈련된 딥 러닝 모델과 같은, 사전 훈련된 모델을 이용한다.
도 5를 계속해서 참조하면, 특징 벡터는 저장에 사용하기 위한 인덱스이다. 인덱싱을 위해, 입력 특징 벡터가 주어지면, 부동 소수점 값 반환하는 분류 알고리즘이 사용되는데, 이는 저장을 위한 인덱스로서 사용 가능하다. 상기 분류 알고리즘은 사람 사이의 거리를 만드는데 도움이 되는 고품질 평균 벡터에 의존한다. 상기 분류 알고리즘을 통해 다항식 시간(polynomial time)에 등록된 사람을 검색하고 찾을 수 있다.
전술한 부동 소수점 값은 미리 저장된 바이오메트릭에 대한 인덱스 검색을 허용한다. 또한, 본 출원은 입력 특징 벡터에 기초하여 의도된 사람을 제공하기 위해 분류 알고리즘을 사용한다.
하나 이상의 구현에서, 학습된 모델을 제공하기 위해 데이터 및 행렬이 저장되는 알고리즘이 이용된다. 이러한 경우에, 평균 얼굴 벡터는 각각의 IBV와 비교되고, 평균 얼굴 벡터와 IBV 사이의 차이가 계산된다. 예를 들어, 각 부동 소수점과 이의 평균 사이의 절대 거리가 계산되는 프로베니우스 알고리즘(Frobenius algorithm)이 사용될 수 있다. 또한, 평균 얼굴 벡터와 각각의 IBV 사이의 상대 위치 차이가 계산된 후, 제곱된다. 그 후, 모든 값들이 합산되고 제곱근이 계산된다. 결과적으로 상대적으로 가까운 값, 즉 계산된 프로베니우스 거리는 모두 비교적 가까운 클러스터이다.
하나 이상의 구현에서, 등록(enrollment) 동안 다수의 얼굴 벡터 (0-12)가 획득된다. 상기 벡터는 신경망을 통해 처리되며 처리된 임의의 특징 벡터 중 어느 하나의 값이 0이면, 상기 값이 모든 특징 벡터에 존재하지 않기 때문에 중요하지 않으므로, 값이 분해된다 (0에 접근하거나 0을 얻음).
작동 중에, 이미지가 사용될 때마다, 이미지가 분해(degraded)되어 특징 벡터 내에서 더 많은 분리를 제공한다. 256개의 음이 아닌 정수의 특징 벡터가 주어지면, 본 명세서에 기술된 절차는 벡터를 적절한 풀로 분류하고, 각 풀은 오직 한 명, 그리고 오직 한 명의 별개의 사람을 위한 것이다. 사람을 찾을 수 없으면, 알고리즘은 주변 사람을 검색하여 검색을 완료할 것이라고 가정된다.
따라서, 본 출원은 유클리드 거리를 사용하여 ) 형태의 미지의 벡터를 분류한다. 달리 언급되지 않는 한, 는 모든 에 대하여 음이 아닌 정수이다. 두 벡터 사이의 거리는 로 정의된다. 벡터 x가 주어지면, 라고 한다.
작동 중에, U는 알려진 벡터의 세트 및 U내 벡터의 수 로 정의된다. 는 로 가정한다. 그 다음으로, U내 모든 벡터의 평균은 로 주어지며, 만약 가 충분히 작다면 명확하게 계산될 수 있다. 만약 가 충분히 작지 않다면, 가 근사될 수 있다. 의 좌표(coordinates)가 음이 아닌 정수일 필요는 없다.
이제, 의 파티션(partition)을 가정한다. 본 발명자는 각각의 에 대해 모든 에 대해 와 같은 이 존재한다는 것을 실험적으로 관찰했다. 또한, 는 에 대해 로부터 분리되어 있다. 다시 말해, 평균 벡터로부터의 거리의 밴드는 미지의 벡터를 분류하는데 사용될 수 있다.
벡터 가 주어지면, U의 파티션을 의 파티션으로 고유하게 확장하는 방법을 결정하기 위해 가 계산된다. 만약 모든 j에 대해 이라면, y 와 가장 가까운 구간 가 선택되고, 원래 파티션의 의 파티션으로의 확장 내에 y를 포함시키기 위해 이 구간과 연관된 서브셋(subset) 가 선택된다. 만약 y가 두 개의 다른 구간과 동일한 거리에 있으면, V의 파티션 내 y를 포함하는 서브셋이 올바르게 정의되지 않는다. 이런 경우에, 수치 결과는 다시 검사되어야 하며, y와 동일한 거리에 있는 두 구간들 중 적어도 하나에 대한 더 나은 선택이 이루어져야 한다.
예시적인 작동에서, 257개의 이미지가 훈련을 위해 사용된다. 예시적인 훈련 작동에서, 신경망은 32 노드, 8 컨볼루션 층 네트워크이다. 훈련은 적절한 가중치를 네트워크에 할당한다. 이 훈련된 네트워크를 통해, 저장소 또는 색인(lookup)에 새로운 얼굴이 적용되었다. 어느 경우이든, 상기 얼굴은 신경망을 통해 그리고 컨볼루션 층 (7)에서 특징 벡터가 수신되었다.
이미지 세트를 사용하고, 본 발명의 신경망을 적용하여 다음의 EMFV가 컨볼루션 계층 (7)에서 수신되었다. 그러한 출력 중 하나의 예는 다음과 같다:
상기 특징 벡터는 런타임 O (1) 내의 특정 사람으로 분류한다. 본원에 기재된 알고리즘을 사용하여, 3명의 개체의 범위가 결정되었다. 정규화 된 벡터를 사용하여 결과 이미지 범위는 다음과 같다. 사람 1 (Person 1)의 경우 정규화 된 거리는 0.85에서 1.12 범위이다. 사람 2 (Person 2)의 경우 범위는 1.18에서 1.32이다. Person 3 (Person 3)의 경우 정규화 된 거리는 0.39에서 0.68 범위이다.
실제 예로서, 사람 1의 후속 IBV는 신경망 및 분류 알고리즘에 제공될 때 0.85 내지 1.12의 결과를 생성한다. 마찬가지로 사람 3의 후속 IBV는 0.39에서 0.68 사이의 결과를 생성한다. 이 허용 범위는 각 개인마다 밴딩(banding)을 제공한다. 따라서, 사람 사이의 밴드에 대해서는 밴딩 및 충돌이 관찰되지 않는다. 작은 데이터 세트의 경우 결과가 정확하다.
따라서, 본 출원은 다음을 위한 기술을 제공한다: (1) 바이오메트릭 획득, (2) 평문(plaintext) 바이오메트릭 매칭, (3) 바이오메트릭 암호화, (4) 유클리드 측정 가능한 매칭 수행 및 (5) 일대다(one-to-many) 인덱싱 체계를 이용한 검색. 이들은 개인 정보 보호 및 다항식 시간 기반 방식으로 제공되며 바이오메트릭-불가지론(agnostic)이며, 기계 학습의 기능으로 수행된다. 본 출원은 컨볼루션 신경망의 함수로서 포함한, 유클리드 측정 가능한 바이오메트릭 암호문을 생성하는 일반-목적의 솔루션을 제공한다. 이것은 일대다 식별에 사용되는 분류 알고리즘의 함수로서 제공되며, 프라이버시를 최대화하고 O (1)과 O (log (n)) 시간 사이에서 실행된다.
초기 바이오메트릭 벡터 (initial biometric vector, IBV)가 수신되고, 하나 이상의 모듈이 신경망을 IBV에 적용한다. 상기 IBV는 사용자 컴퓨팅 장치 또는 서버에서 일련의 행렬 연산을 통해 처리되어 특징 벡터를 생성한다. 일부 또는 전체 특징 벡터는 클라이언트 또는 서버에 저장될 수 있다. 여러 층에 걸친 행렬 곱셈에 따라, 상기 IBV는 유클리드 측정 가능한 벡터로 반환된다. 하나 이상의 구현에서, CBV (Current Biometric Vector)로 동일한 동작이 발생할 수 있고, 두 벡터가 매칭된다.
도 6은 일구현에 따른 예시적인 프로세스 단계 (600)를 나타내는 흐름도이다. 본 명세서에 기술된 몇몇 논리적 작동 (1) 통신 장치상에서 실행되는 일련의 컴퓨터 구현 동작 또는 프로그램 모듈로서 및/또는 (2) 통신 장치 내의 상호 연결된 기계 논리 회로(machine logic circuits) 또는 회로 모듈로서 구현됨을 이해해야 한다. 구현은 장치의 요구 사항 (예: 크기, 에너지, 소비, 성능 등)에 따라 선택해야 한다. 따라서, 본 명세서에 기술된 논리적 작동은 동작, 구조적 장치, 실행 또는 모듈로 다양하게 지칭된다. 이러한 동작, 구조적 장치, 실행 및 모듈의 다양한 것은 소프트웨어, 펌웨어, 특수 목적의 디지털 로직 및 이들의 임의의 조합으로 구현될 수 있다. 또한, 도면에 도시되고 본 명세서에 기술된 것보다 더 많거나 더 적은 동작이 수행될 수 있음을 이해해야 한다. 이들 동작은 본 명세서에서 설명된 것과 다른 순서로 수행될 수도 있다. 도 6에 도시된 예시적인 단계 (600)는 입력 및 적어도 하나 이상의 저장된 레코드의 데이터 복호화 없이, 암호화된 바이오메트릭(biometric) 입력 레코드를 적어도 하나 이상의 저장된 암호화된 바이오메트릭 레코드와 매칭시키기 위한 컴퓨터 구현 방법을 제공한다.
프로세스는 단계 (602)에서 시작하고, 초기 바이오메트릭 벡터가 신경망에 제공되고, 상기 신경망은 초기 바이오메트릭 인식 벡터를 유클리드 측정 가능한 특징 벡터로 변환한다 (단계 604). 상기 유클리드 측정 가능 특징 벡터는 다른 유클리드 측정 가능 특징 벡터와 저장소에 저장된다 (단계 606). 또한, 암호화된 바이오메트릭 입력 레코드를 나타내는 현재 바이오메트릭 벡터가 데이터 통신 네트워크를 통해 모바일 컴퓨팅 장치로부터 수신되고, 현재의 바이오메트릭 벡터가 신경망에 제공된다 (단계 608). 상기 신경망은 현재의 바이오메트릭 벡터를 현재의 유클리드 측정 가능한 특징 벡터로 변환한다 (단계 610). 또한, 저장된 유클리드 측정 가능한 특징 벡터 중 적어도 일부의 검색은 현재의 유클리드 측정 가능 특징 벡터를 사용하여 데이터 저장소의 일부에서 수행된다 (단계 614). 상기 저장소의 일부분에서 상기 현재의 유클리드 측정 가능한 특징 벡터와 상기 각각의 유클리드 측정 가능한 특징 벡터들의 각 연산(calculation) 사이에서 계산된 절대거리의 함수로서 상기 암호화된 바이오메트릭 입력 레코드는 암호화된 공간 내 적어도 하나 이상의 암호화된 바이오메트릭 레코드와 매칭된다 (단계 616).
전술한 주제는 단지 예시를 위해 제공되며, 제한적인 것으로 해석되어서는 안된다. 도시되고 설명된 예시적인 실시예 및 응용을 따르지 않고, 그리고 다음의 청구범위 각각에 기재된 것을 포함하여 본 발명의 진정한 사상 및 범위를 벗어나지 않고, 본명세서에 기술된 주제에 대한 다양한 수정 및 변경이 이루어질 수 있다.
Claims (24)
- 하기 단계를 포함하는, 입력 및 적어도 하나 이상의 저장된 레코드의 데이터 복호화 없이 암호화된 바이오메트릭(biometric) 입력 레코드를 적어도 하나 이상의 저장된 암호화된 바이오메트릭 레코드와 매칭시키기 위한 컴퓨터 구현 방법:
초기 바이오메트릭 벡터를 신경망에 제공하는 단계로서, 상기 신경망은 상기 초기 바이오메트릭 벡터를 유클리드 측정 가능한 특징 벡터(Euclidian measurable feature vector)로 변환하는 단계;
상기 유클리드 측정 가능한 특징 벡터를 다른 유클리드 측정 가능한 특징 벡터와 함께 저장소에 저장하는 단계;
상기 유클리드 측정 가능한 특징 벡터를 분류하는 단계; 상기 현재의 유클리드 측정 가능한 특징 벡터를 분류하는 단계; 또는 상기 유클리드 측정 가능한 특징 벡터를 분류하는 단계 및 상기 현재의 유클리드 측정 가능한 특징 벡터를 분류하는 단계로서, 상기 분류는 하나 이상의 거리 함수를 사용하여 적어도 부분적으로 수행이 되는 단계;
상기 암호화된 바이오메트릭 입력 레코드를 나타내는 현재의 바이오메트릭 벡터를 데이터 통신 네트워크를 통해 모바일 컴퓨팅 장치로부터 수신하는 단계;
상기 현재의 바이오메트릭 벡터를 상기 신경망에 제공하는 단계로서, 상기 신경망은 상기 현재의 바이오메트릭 벡터를 현재의 유클리드 측정 가능한 특징 벡터로 변환하는 단계; 및
상기 현재의 유클리드 측정 가능한 특징 벡터를 사용하여 상기 데이터 저장소의 일부분에서 상기 저장된 유클리드 측정 가능한 특징 벡터 중 적어도 일부의 검색을 수행하는 단계,
상기 저장소의 일부분에서 상기 현재의 유클리드 측정 가능한 특징 벡터와 상기 각각의 유클리드 측정 가능한 특징 벡터들의 각 연산(calculation) 사이에서 계산된 절대거리의 함수로서 상기 암호화된 바이오메트릭 입력 레코드는 암호화된 공간 내 적어도 하나 이상의 암호화된 바이오메트릭 레코드와 매칭되고,
상기 유클리드 측정 가능한 특징 벡터, 상기 현재의 유클리드 측정 가능한 특징 벡터, 또는 상기 유클리드 측정 가능한 특징 벡터 및 상기 현재의 유클리드 측정 가능한 특징 벡터를 분류하는 단계는 부동 소수점 값(floating point values)을 반환하고, 및 프로베니우스(Frobenius) 알고리즘은 각각의 부동 소수점과 이의 평균 사이의 절대 거리를 계산하기 위해 이용되는 컴퓨터 구현 방법.
- 제1항에 있어서,
상기 검색은 오더 로그(Order log, n) 시간에 수행되는 것;
상기 신경망은 정류기(ReLU) 및 풀링 노드(pooling nodes)와 함께 다양한 컨볼루션 층(convolutional layers)으로 구성되는 것; 또는
상기 신경망은 상기 초기 바이오메트릭 벡터 및 상기 현재의 바이오메트릭 벡터를 각각의 층에 대한 행렬 곱셈(matrix multiplication)의 함수로서 변환 및 유클리드 비용 함수(cost function)에 기초한 유클리드 거리 알고리즘을 사용하는 것;
을 특징으로 하는 컴퓨터 구현 방법.
- 제1항에 있어서,
상기 유클리드 측정 가능한 바이오메트릭 벡터를 분류하기 위해 프로베니우스 알고리즘을 사용하는 단계;
상기 분류된 유클리드 측정 가능한 바이오메트릭 벡터의 계층(hierarchy)을 오더 로그(n) 시간으로 순회(traversing)하는 단계; 및
각각의 유클리드 측정 가능한 바이오메트릭 벡터가 상기 현재의 유클리드 측정 가능한 특징 벡터인 것을 식별하는 단계를 추가로 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
- 제1항에 있어서,
각각의 유클리드 측정 가능한 바이오메트릭 벡터에 대해, 복수의 부동 소수점 값을 식별하는 단계; 및
모든 벡터에 존재하지 않는 상기 복수의 값 중 임의의 값을 절대 거리 연산으로부터 제거하기 위해 비트맵(bitmap)을 사용하는 단계를 추가로 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
- 제1항에 있어서,
각각의 유클리드 측정 가능한 바이오메트릭 벡터에 대해, 복수의 부동 소수점 값을 식별하는 단계; 및
상기 부동 소수점 값 각각이 나타내는 벡터의 수에 기초하여 중요도의 슬라이딩 스캐일(sliding scale)을 정의하는 단계를 추가로 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
- 삭제
- 제1항에 있어서, 상기 신경망은 풀링(pooling)을 비선형(non-linear) 다운-샘플링(down-sampling)의 형태로서 사용하도록 구성되고, 및
또한 하나 이상의 풀링 노드는 표현된 유클리드 측정 가능한 특징 벡터의 공간 크기를 점진적으로 감소시켜 상기 신경망에서 파라미터 및 계산의 양을 감소시키는 것을 특징으로 하는 컴퓨터 구현 방법.
- 제2항에 있어서, 복수의 저장된 유클리드 측정 가능한 특징 벡터 각각에 대해, 평균 얼굴(face) 벡터 및 상기 각각의 유클리드 측정 가능한 특징 벡터 사이의 상대 위치 차이를 계산하는 단계;
상기 상대 위치 차이를 제곱하는 단계;
상기 값을 합산하는 단계; 및
상기 제곱근을 계산하는 단계를 추가로 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
- 제1항에 있어서, 상기 신경망의 성능은 비용 함수(cost function)의 함수로서 결정되며, 여기서 출력 볼륨의 공간 크기로서 주어진 다수의 층(layer)은 입력 볼륨 크기 W, 층 뉴런(layer neuron)의 커넬 필드(kernel field) 크기 K, 상기 층과 함께 적용되는 스트라이드(stride) S, 및 경계에서 사용되는 제로 패딩(zero padding)의 양 P의 함수로서 계산되는 것을 특징으로 하는 컴퓨터 구현 방법.
- 삭제
- 하기를 포함하는, 입력 및 적어도 하나 이상의 저장된 레코드의 데이터 복호화 없이 암호화된 바이오메트릭(biometric) 입력 레코드를 적어도 하나 이상의 저장된 암호화된 바이오메트릭 레코드와 매칭시키기 위한 컴퓨터 구현 시스템:
하나 이상의 프로세서 및 컴퓨터 판독 가능 매체로서, 상기 하나 이상의 프로세서는 하기를 포함하는 작업을 수행하기 위해 상기 컴퓨터 판독 가능 매체와 상호 작용하도록 구성된다:
초기 바이오메트릭 벡터를 신경망에 제공하는 작업으로서, 상기 신경망은 상기 초기 바이오메트릭 벡터를 유클리드 측정 가능한 특징 벡터(Euclidian measurable feature vector)로 변환하는 작업;
상기 유클리드 측정 가능한 특징 벡터를 다른 유클리드 측정 가능한 특징 벡터와 함께 저장소에 저장하는 작업;
상기 유클리드 측정 가능한 특징 벡터를 분류하는 작업; 상기 현재의 유클리드 측정 가능한 특징 벡터를 분류하는 작업; 또는 상기 유클리드 측정 가능한 특징 벡터를 분류하는 작업 및 상기 현재의 유클리드 측정 가능한 특징 벡터를 분류하는 작업으로서, 상기 분류는 하나 이상의 거리 함수를 사용하여 적어도 부분적으로 수행이 되는 작업;
상기 암호화된 바이오메트릭 입력 레코드를 나타내는 현재의 바이오메트릭 벡터를 데이터 통신 네트워크를 통해 모바일 컴퓨팅 장치로부터 수신하는 작업;
상기 현재의 바이오메트릭 벡터를 상기 신경망에 제공하는 작업으로서, 상기 신경망은 상기 현재의 바이오메트릭 벡터를 현재의 유클리드 측정 가능한 특징 벡터로 변환하는 작업; 및
상기 현재의 유클리드 측정 가능한 특징 벡터를 사용하여 상기 데이터 저장소의 일부분에서 상기 저장된 유클리드 측정 가능한 특징 벡터 중 적어도 일부의 검색을 수행하는 작업,
상기 저장소의 일부분에서 상기 현재의 유클리드 측정 가능한 특징 벡터와 상기 각각의 유클리드 측정 가능한 특징 벡터들의 각 연산(calculation) 사이에서 계산된 절대거리의 함수로서 상기 암호화된 바이오메트릭 입력 레코드는 암호화된 공간 내 적어도 하나 이상의 암호화된 바이오메트릭 레코드와 매칭되고,
상기 유클리드 측정 가능한 특징 벡터, 상기 현재의 유클리드 측정 가능한 특징 벡터, 또는 상기 유클리드 측정 가능한 특징 벡터 및 상기 현재의 유클리드 측정 가능한 특징 벡터를 분류하는 작업은 부동 소수점 값(floating point values)을 반환하고, 및 프로베니우스(Frobenius) 알고리즘은 각각의 부동 소수점과 이의 평균 사이의 절대 거리를 계산하기 위해 이용되는 컴퓨터 구현 시스템.
- 제11항에 있어서,
상기 검색은 오더 로그(Order log, n) 시간에 수행되는 것;
상기 신경망은 정류기(ReLU) 및 풀링 노드(pooling nodes)와 함께, 다양한 컨볼루션 층(convolutional layers)으로 구성된 것;
상기 신경망의 성능은 비용 함수(cost function)의 함수로서 결정되며, 여기서 출력 볼륨의 공간 크기로서 주어진 다수의 층(layer)은 입력 볼륨 크기 W, 층 뉴런(layer neuron)의 커넬 필드(kernel field) 크기 K, 상기 층과 함께 적용되는 스트라이드(stride) S, 및 경계에서 사용되는 제로 패딩(zero padding)의 양 P의 함수로서 계산되는 것; 또는
상기 신경망은 상기 초기 바이오메트릭 벡터 및 상기 현재의 바이오메트릭 벡터를 각각의 층에 대한 행렬 곱셈(matrix multiplication)의 함수로서 변환하고, 및 유클리드 비용 함수(cost function)에 기초한 유클리드 거리 알고리즘을 사용하는 것;
을 특징으로 하는 컴퓨터 구현 시스템.
- 제11항에 있어서, 상기 하나 이상의 프로세서는 하기를 포함하는 작업을 수행하기 위해 상기 컴퓨터 판독 가능 매체와 상호 작용하도록 구성되는 것을 특징으로 하는 컴퓨터 구현 시스템:
상기 유클리드 측정 가능한 바이오메트릭 벡터를 분류하기 위해 프로베니우스 알고리즘을 사용하는 작업;
상기 분류된 유클리드 측정 가능한 바이오메트릭 벡터의 계층(hierarchy)을 오더 로그(n) 시간으로 순회(traversing)하는 작업; 및
각각의 유클리드 측정 가능한 바이오메트릭 벡터가 상기 현재의 유클리드 측정 가능한 특징 벡터인 것을 식별하는 작업.
- 제11항에 있어서, 상기 하나 이상의 프로세서는 하기를 포함하는 작업을 수행하기 위해 상기 컴퓨터 판독 가능 매체와 상호 작용하도록 구성되는 것을 특징으로 하는 컴퓨터 구현 시스템:
각각의 유클리드 측정 가능한 바이오메트릭 벡터에 대해, 복수의 부동 소수점 값을 식별하는 작업; 및
모든 벡터에 존재하지 않는 상기 복수의 값 중 임의의 값을 절대 거리 연산으로부터 제거하기 위해 비트맵(bitmap)을 사용하는 작업을 추가로 포함하는 것을 특징으로 하는 작업.
- 제11항에 있어서, 상기 하나 이상의 프로세서는 하기를 포함하는 작업을 수행하기 위해 상기 컴퓨터 판독 가능 매체와 상호 작용하도록 구성되는 것을 특징으로 하는 컴퓨터 구현 시스템:
각각의 유클리드 측정 가능한 바이오메트릭 벡터에 대해, 복수의 부동 소수점 값을 식별하는 작업; 및
상기 부동 소수점 값 각각이 나타내는 벡터의 수에 기초하여 중요도의 슬라이딩 스캐일(sliding scale)을 정의하는 작업을 추가로 포함하는 것을 특징으로 하는 작업.
- 삭제
- 제11항에 있어서, 상기 신경망은 풀링(pooling)을 비선형(non-linear) 다운-샘플링(down-sampling)의 형태로서 사용하도록 구성되고, 및
또한 하나 이상의 풀링 노드는 표현된 유클리드 측정 가능한 특징 벡터의 공간 크기를 점진적으로 감소시켜 상기 신경망에서 파라미터 및 계산의 양을 감소시키는 것을 특징으로 하는 컴퓨터 구현 시스템.
- 제15항에 있어서, 상기 하나 이상의 프로세서는 하기를 포함하는 작업을 수행하기 위해 상기 컴퓨터 판독 가능 매체와 상호 작용하도록 구성되는 것을 특징으로 하는 컴퓨터 구현 시스템:
복수의 저장된 유클리드 측정 가능한 특징 벡터 각각에 대해, 평균 얼굴(face) 벡터 및 상기 각각의 유클리드 측정 가능한 특징 벡터 사이의 상대 위치 차이를 계산하는 작업;
상기 상대 위치 차이를 제곱하는 작업;
상기 값을 합산하는 작업; 및
상기 제곱근을 계산하는 작업.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/592,542 US10255040B2 (en) | 2017-05-11 | 2017-05-11 | System and method for biometric identification |
US15/592,542 | 2017-05-11 | ||
PCT/US2018/031368 WO2018208661A1 (en) | 2017-05-11 | 2018-05-07 | System and method for biometric identification |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200007010A KR20200007010A (ko) | 2020-01-21 |
KR102536354B1 true KR102536354B1 (ko) | 2023-05-23 |
Family
ID=64096687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197036575A KR102536354B1 (ko) | 2017-05-11 | 2018-05-07 | 바이오메트릭 식별을 위한 시스템 및 방법 |
Country Status (12)
Country | Link |
---|---|
US (1) | US10255040B2 (ko) |
EP (1) | EP3635937B1 (ko) |
JP (1) | JP7060619B2 (ko) |
KR (1) | KR102536354B1 (ko) |
CN (1) | CN110892693B (ko) |
AU (1) | AU2018266602B2 (ko) |
BR (1) | BR112019023750A2 (ko) |
CA (1) | CA3063126A1 (ko) |
CO (1) | CO2019013817A2 (ko) |
MX (1) | MX2019013495A (ko) |
WO (1) | WO2018208661A1 (ko) |
ZA (1) | ZA201907621B (ko) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11017214B1 (en) * | 2012-09-07 | 2021-05-25 | Stone Lock Global, Inc. | Methods and apparatus for biometric verification |
US11594072B1 (en) | 2012-09-07 | 2023-02-28 | Stone Lock Global, Inc. | Methods and apparatus for access control using biometric verification |
US11017211B1 (en) * | 2012-09-07 | 2021-05-25 | Stone Lock Global, Inc. | Methods and apparatus for biometric verification |
US11017213B1 (en) * | 2012-09-07 | 2021-05-25 | Stone Lock Global, Inc. | Methods and apparatus for biometric verification |
US11301670B2 (en) * | 2012-09-07 | 2022-04-12 | Stone Lock Global, Inc. | Methods and apparatus for collision detection in biometric verification |
US11163983B2 (en) * | 2012-09-07 | 2021-11-02 | Stone Lock Global, Inc. | Methods and apparatus for aligning sampling points of facial profiles of users |
US11017212B2 (en) * | 2012-09-07 | 2021-05-25 | Stone Lock Global, Inc. | Methods and apparatus for biometric verification |
US11275929B2 (en) * | 2012-09-07 | 2022-03-15 | Stone Lock Global, Inc. | Methods and apparatus for privacy protection during biometric verification |
US11163984B2 (en) * | 2012-09-07 | 2021-11-02 | Stone Lock Global, Inc. | Methods and apparatus for constructing biometrical templates using facial profiles of users |
US9838388B2 (en) * | 2014-08-26 | 2017-12-05 | Veridium Ip Limited | System and method for biometric protocol standards |
US11329980B2 (en) | 2015-08-21 | 2022-05-10 | Veridium Ip Limited | System and method for biometric protocol standards |
US10713535B2 (en) * | 2017-09-15 | 2020-07-14 | NovuMind Limited | Methods and processes of encrypted deep learning services |
WO2019094071A1 (en) * | 2017-11-07 | 2019-05-16 | Visa International Service Association | Biometric validation process utilizing access device and location determination |
US11449587B2 (en) * | 2017-11-20 | 2022-09-20 | Ppip, Llc | Systems and methods for biometric identity and authentication |
US11789699B2 (en) | 2018-03-07 | 2023-10-17 | Private Identity Llc | Systems and methods for private authentication with helper networks |
US11489866B2 (en) | 2018-03-07 | 2022-11-01 | Private Identity Llc | Systems and methods for private authentication with helper networks |
US11265168B2 (en) | 2018-03-07 | 2022-03-01 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
US11138333B2 (en) * | 2018-03-07 | 2021-10-05 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
US10721070B2 (en) | 2018-03-07 | 2020-07-21 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
US11502841B2 (en) | 2018-03-07 | 2022-11-15 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
US11392802B2 (en) | 2018-03-07 | 2022-07-19 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
US11210375B2 (en) | 2018-03-07 | 2021-12-28 | Private Identity Llc | Systems and methods for biometric processing with liveness |
US10938852B1 (en) | 2020-08-14 | 2021-03-02 | Private Identity Llc | Systems and methods for private authentication with helper networks |
US11394552B2 (en) | 2018-03-07 | 2022-07-19 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
US11170084B2 (en) * | 2018-06-28 | 2021-11-09 | Private Identity Llc | Biometric authentication |
CN108595927B (zh) * | 2018-04-04 | 2023-09-19 | 北京市商汤科技开发有限公司 | 身份认证、解锁及支付方法、装置、存储介质、产品和设备 |
FR3087028B1 (fr) * | 2018-10-04 | 2021-05-07 | Idemia Identity & Security France | Procede de classification securisee d'une donnee d'entree au moyen d'un reseau de neurones a convolution |
US11079911B2 (en) * | 2018-12-26 | 2021-08-03 | Synaptics Incorporated | Enrollment-free offline device personalization |
US11201745B2 (en) * | 2019-01-10 | 2021-12-14 | International Business Machines Corporation | Method and system for privacy preserving biometric authentication |
US11495041B2 (en) * | 2019-03-29 | 2022-11-08 | Jumio Corporation | Biometric identification using composite hand images |
CN110414200B (zh) * | 2019-04-08 | 2021-07-23 | 广州腾讯科技有限公司 | 身份验证方法、装置、存储介质和计算机设备 |
CN110048827B (zh) * | 2019-04-15 | 2021-05-14 | 电子科技大学 | 一种基于深度学习卷积神经网络的类模板攻击方法 |
CN110598438B (zh) * | 2019-07-19 | 2023-05-30 | 福州大学 | 基于深度卷积神经网络的云中保护外包数据隐私保护*** |
JP2022541919A (ja) * | 2019-07-23 | 2022-09-28 | ヴェリディウム アイピー リミテッド | バイオメトリックプロトコル標準に関するシステム及び方法 |
CA3150735A1 (en) * | 2019-08-13 | 2021-02-18 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
WO2021055380A1 (en) * | 2019-09-17 | 2021-03-25 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
CN110889070B (zh) * | 2019-11-14 | 2023-06-30 | 深圳小蛙出海科技有限公司 | 一种内容推送方法、计算机装置及*** |
WO2022015948A1 (en) * | 2020-07-15 | 2022-01-20 | Georgia Tech Research Corporation | Privacy-preserving fuzzy query system and method |
USD976904S1 (en) | 2020-12-18 | 2023-01-31 | Stone Lock Global, Inc. | Biometric scanner |
FR3125188B1 (fr) * | 2021-07-07 | 2024-04-12 | Idemia Identity & Security France | Procédés de comparaison de bases de données biométriques confidentielles |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160373440A1 (en) | 2014-08-26 | 2016-12-22 | Hoyos Labs Ip Ltd. | System and method for biometric protocol standards |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5161204A (en) | 1990-06-04 | 1992-11-03 | Neuristics, Inc. | Apparatus for generating a feature matrix based on normalized out-class and in-class variation matrices |
EP1759330B1 (en) * | 2004-06-09 | 2018-08-08 | Koninklijke Philips Electronics N.V. | Biometric template similarity based on feature locations |
WO2007016936A1 (en) | 2005-07-29 | 2007-02-15 | Telecom Italia, S.P.A. | Automatic biometric identification based on face recognition and support vector machines |
US20080298642A1 (en) * | 2006-11-03 | 2008-12-04 | Snowflake Technologies Corporation | Method and apparatus for extraction and matching of biometric detail |
US8041956B1 (en) * | 2010-08-16 | 2011-10-18 | Daon Holdings Limited | Method and system for biometric authentication |
WO2012123727A1 (en) | 2011-03-11 | 2012-09-20 | Callsign, Inc | Personal identity control |
US8942431B2 (en) * | 2012-06-24 | 2015-01-27 | Neurologix Security Group Inc | Biometrics based methods and systems for user authentication |
US8369595B1 (en) | 2012-08-10 | 2013-02-05 | EyeVerify LLC | Texture features for biometric authentication |
US8811772B2 (en) * | 2012-08-21 | 2014-08-19 | Tianzhi Yang | Mapping evaluating for spatial point sets |
JP2014126865A (ja) | 2012-12-27 | 2014-07-07 | Fujitsu Ltd | 暗号処理装置および方法 |
US8966277B2 (en) | 2013-03-15 | 2015-02-24 | Mitsubishi Electric Research Laboratories, Inc. | Method for authenticating an encryption of biometric data |
US9003196B2 (en) | 2013-05-13 | 2015-04-07 | Hoyos Labs Corp. | System and method for authorizing access to access-controlled environments |
US10095917B2 (en) * | 2013-11-04 | 2018-10-09 | Facebook, Inc. | Systems and methods for facial representation |
IL231862A (en) | 2014-04-01 | 2015-04-30 | Superfish Ltd | Image representation using a neural network |
US20150356704A1 (en) * | 2014-06-08 | 2015-12-10 | Yeda Research And Development Co. Ltd. | Good planar mappings and controlling singular values with semidefinite programming |
JP2016139176A (ja) | 2015-01-26 | 2016-08-04 | シャープ株式会社 | 画像処理装置、画像処理システム、画像処理方法、およびその画像処理プログラム |
CN104616032B (zh) * | 2015-01-30 | 2018-02-09 | 浙江工商大学 | 基于深度卷积神经网络的多摄像机***目标匹配方法 |
CN104766062A (zh) * | 2015-04-07 | 2015-07-08 | 广西大学 | 基于轻量级智能终端的人脸识别***及注册、识别方法 |
RU2711050C2 (ru) * | 2015-09-11 | 2020-01-14 | Айверифай Инк. | Качество изображения и признака, улучшение изображения и выделение признаков для распознавания по сосудам глаза и лицам и объединение информации о сосудах глаза с информацией о лицах и/или частях лиц для биометрических систем |
JP6504013B2 (ja) * | 2015-10-13 | 2019-04-24 | 富士通株式会社 | 暗号処理方法、暗号処理装置、および暗号処理プログラム |
US20170124263A1 (en) * | 2015-10-30 | 2017-05-04 | Northrop Grumman Systems Corporation | Workflow and interface manager for a learning health system |
US9846800B2 (en) | 2015-11-16 | 2017-12-19 | MorphoTrak, LLC | Fingerprint matching using virtual minutiae |
CN105553980A (zh) * | 2015-12-18 | 2016-05-04 | 北京理工大学 | 基于云计算的安全指纹识别***和方法 |
CN105956532B (zh) * | 2016-04-25 | 2019-05-21 | 大连理工大学 | 一种基于多尺度卷积神经网络的交通场景分类方法 |
JP6850817B2 (ja) * | 2016-06-03 | 2021-03-31 | マジック リープ, インコーポレイテッドMagic Leap,Inc. | 拡張現実識別検証 |
CN106227851B (zh) * | 2016-07-29 | 2019-10-01 | 汤一平 | 基于深度卷积神经网络的分层深度搜索的图像检索方法 |
JP6900664B2 (ja) * | 2016-12-14 | 2021-07-07 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
-
2017
- 2017-05-11 US US15/592,542 patent/US10255040B2/en active Active
-
2018
- 2018-05-07 MX MX2019013495A patent/MX2019013495A/es unknown
- 2018-05-07 WO PCT/US2018/031368 patent/WO2018208661A1/en active Search and Examination
- 2018-05-07 BR BR112019023750-0A patent/BR112019023750A2/pt unknown
- 2018-05-07 CA CA3063126A patent/CA3063126A1/en active Pending
- 2018-05-07 KR KR1020197036575A patent/KR102536354B1/ko active IP Right Grant
- 2018-05-07 JP JP2019562266A patent/JP7060619B2/ja active Active
- 2018-05-07 CN CN201880046426.7A patent/CN110892693B/zh active Active
- 2018-05-07 EP EP18799270.6A patent/EP3635937B1/en active Active
- 2018-05-07 AU AU2018266602A patent/AU2018266602B2/en active Active
-
2019
- 2019-11-18 ZA ZA2019/07621A patent/ZA201907621B/en unknown
- 2019-12-09 CO CONC2019/0013817A patent/CO2019013817A2/es unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160373440A1 (en) | 2014-08-26 | 2016-12-22 | Hoyos Labs Ip Ltd. | System and method for biometric protocol standards |
Also Published As
Publication number | Publication date |
---|---|
US20180330179A1 (en) | 2018-11-15 |
JP2020520509A (ja) | 2020-07-09 |
AU2018266602A1 (en) | 2019-12-12 |
CA3063126A1 (en) | 2018-11-15 |
EP3635937B1 (en) | 2024-06-26 |
EP3635937A1 (en) | 2020-04-15 |
AU2018266602B2 (en) | 2023-01-12 |
CN110892693B (zh) | 2022-04-19 |
EP3635937A4 (en) | 2021-01-20 |
US10255040B2 (en) | 2019-04-09 |
KR20200007010A (ko) | 2020-01-21 |
WO2018208661A1 (en) | 2018-11-15 |
CO2019013817A2 (es) | 2020-01-17 |
MX2019013495A (es) | 2020-11-06 |
WO2018208661A9 (en) | 2019-05-09 |
ZA201907621B (en) | 2021-04-28 |
CN110892693A (zh) | 2020-03-17 |
JP7060619B2 (ja) | 2022-04-26 |
BR112019023750A2 (pt) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102536354B1 (ko) | 바이오메트릭 식별을 위한 시스템 및 방법 | |
US9660991B2 (en) | Relational encryption | |
Kumar et al. | Privacy preserving security using biometrics in cloud computing | |
US11615176B2 (en) | Registration and verification of biometric modalities using encryption techniques in a deep neural network | |
CN111466097B (zh) | 服务器辅助式隐私保护生物统计比较 | |
JP2016508323A (ja) | 暗号化したものを認証する方法及びバイオメトリックデータを認証するシステム | |
Kim et al. | Efficient Privacy‐Preserving Fingerprint‐Based Authentication System Using Fully Homomorphic Encryption | |
US10083194B2 (en) | Process for obtaining candidate data from a remote storage server for comparison to a data to be identified | |
US20230306131A1 (en) | Systems and methods for tracking propagation of sensitive data | |
CN111915306A (zh) | 业务数据的验证方法和验证平台 | |
Khazbak et al. | TargetFinder: A privacy preserving system for locating targets through IoT cameras | |
CN115983848A (zh) | 加密电子钱包的安全监测方法及*** | |
Manisha et al. | CBRC: a novel approach for cancelable biometric template generation using random permutation and Chinese Remainder Theorem | |
CN110535630B (zh) | 密钥生成方法、装置及存储介质 | |
CN116018590A (zh) | 动态私密性保护应用程序认证 | |
Verma et al. | A novel model to enhance the data security in cloud environment | |
Jasmine et al. | A privacy preserving based multi-biometric system for secure identification in cloud environment | |
Gayathri et al. | Fisher-Yates chaotic shuffling based visual cryptography scheme for multimodal biometric authentication | |
Catak et al. | A privacy-preserving fully homomorphic encryption and parallel computation based biometric data matching | |
US11501580B1 (en) | Methods and systems for implementing secure biometric recognition | |
CN111917695A (zh) | 业务注册数据的注册方法和注册*** | |
Tran et al. | Improving gait cryptosystem security using gray code quantization and linear discriminant analysis | |
Meraoumia et al. | Biometric cryptosystem to secure smart object communications in the internet of things | |
Satheesh Kumar et al. | Content-based video retrieval based on security using enhanced video retrieval system with region-based neural network (EVRS-RNN) and K-Means classification | |
Ghani et al. | Toward robust and privacy-enhanced facial recognition: A decentralized blockchain-based approach with GANs and deep learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |