KR20210097434A - 생체정보 분산관리 시스템 및 이를 이용한 생체인식 방법 - Google Patents

생체정보 분산관리 시스템 및 이를 이용한 생체인식 방법 Download PDF

Info

Publication number
KR20210097434A
KR20210097434A KR1020200011125A KR20200011125A KR20210097434A KR 20210097434 A KR20210097434 A KR 20210097434A KR 1020200011125 A KR1020200011125 A KR 1020200011125A KR 20200011125 A KR20200011125 A KR 20200011125A KR 20210097434 A KR20210097434 A KR 20210097434A
Authority
KR
South Korea
Prior art keywords
biometric information
information template
distance
template
pieces
Prior art date
Application number
KR1020200011125A
Other languages
English (en)
Other versions
KR102409790B1 (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 주식회사 알체라
Priority to KR1020200011125A priority Critical patent/KR102409790B1/ko
Priority to PCT/KR2020/016266 priority patent/WO2021153889A1/ko
Priority to JP2021537124A priority patent/JP7274183B2/ja
Priority to US17/417,659 priority patent/US11977555B2/en
Publication of KR20210097434A publication Critical patent/KR20210097434A/ko
Application granted granted Critical
Publication of KR102409790B1 publication Critical patent/KR102409790B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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
    • G06K9/6215
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • 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/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Collating Specific Patterns (AREA)
  • Image Analysis (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

복수의 데이터베이스들에 생체정보가 분산 저장되는 시스템에서 생체인식을 수행하는 방법은, 사용자의 생체정보를 추출하는 단계, 상기 추출된 생체정보를 분할하여 복수의 생체정보 조각들을 생성하는 단계, 상기 복수의 데이터베이스별로 미리 저장된 생체정보 템플릿 조각들과 상기 각각의 생체정보 조각들 간의 거리(distance)를 산출하는 단계 및 상기 산출된 거리를 이용하여 상기 생체정보에 매칭되는 생체정보 템플릿을 검출하는 단계를 포함한다.

Description

생체정보 분산관리 시스템 및 이를 이용한 생체인식 방법 {BIOMETRIC DATA DISTRIBUTED MANAGEMENT SYSTEM AND BIOMETRICS METHOD USING THE SAME}
본 명세서에서 개시되는 실시예들은 생체인식을 수행하기 위한 생체정보 분산관리 시스템 및 이를 이용하여 생체인식을 수행하는 방법에 관한 것이다.
생체인식(biometrics)이란 개개인이 갖는 고유의 신체적 특징, 목소리, 걸음걸이 등과 같은 생체정보(biometric data)를 이용하여 특정인이 맞는지 여부를 인증(verification)하거나 특정인의 신원을 인식(identification)하는 것을 의미한다.
생체인식 기술은 사용자가 생체정보를 분실할 우려가 없고 복제나 도용이 어렵다는 점에서 장점이 있지만, 한편으로는 개인 고유의 신체적 특징을 포함하는 생체정보가 유출될 경우 개인정보가 침해될 우려도 있다.
이러한 단점을 극복하기 위해 생체인식 시스템에 생체정보 템플릿 등록 시 생체정보 템플릿을 분할하여 복수의 데이터베이스들에 분산 저장하는 기술이 이용되고 있다. 이와 같이 생체정보를 분산하여 관리할 경우 어느 하나의 데이터베이스에서 정보가 유출되더라도 사용자의 생체정보가 완전히 노출되는 것이 아니기 때문에 개인정보를 보호할 수 있다.
다만, 기존의 생체정보 분산관리 시스템에서는 생체인식 수행 시 각각의 데이터베이스에 저장된 분할된 생체정보 템플릿을 다른 데이터베이스로 전송하여 조합한 후 인식을 하는데, 전송해야 할 생체정보 템플릿의 개수가 많은 경우 데이터 전송량이 많아 네트워크 부하가 커지는 문제점이 있었다.
따라서, 데이터 전송량을 낮추면서도 높은 수준의 인식 정확도를 유지할 수 있는 생체인식 방법에 대한 개발 필요성이 대두되었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 명세서에서 개시되는 실시예들은, 생체인식 수행 시 필요한 데이터 전송량은 낮추면서도 높은 수준의 인식 정확도를 유지할 수 있는 생체인식 방법 및 이를 수행하기 위한 생체정보 분산관리 시스템을 제공하고자 한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따르면 복수의 데이터베이스들에 생체정보가 분산 저장되는 시스템에서 생체인식을 수행하는 방법은, 사용자의 생체정보를 추출하는 단계, 상기 추출된 생체정보를 분할하여 복수의 생체정보 조각들을 생성하는 단계, 상기 복수의 데이터베이스별로 미리 저장된 생체정보 템플릿 조각들과 상기 각각의 생체정보 조각들 간의 거리(distance)를 산출하는 단계 및 상기 산출된 거리를 이용하여 상기 생체정보에 매칭되는 생체정보 템플릿을 검출하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 복수의 데이터베이스들에 생체정보가 분산 저장되는 시스템에서 생체인식을 수행하는 방법을 수행하기 위한 컴퓨터 프로그램으로서, 생체인식을 수행하는 방법은, 사용자의 생체정보를 추출하는 단계, 상기 추출된 생체정보를 분할하여 복수의 생체정보 조각들을 생성하는 단계, 상기 복수의 데이터베이스별로 미리 저장된 생체정보 템플릿 조각들과 상기 각각의 생체정보 조각들 간의 거리(distance)를 산출하는 단계 및 상기 산출된 거리를 이용하여 상기 생체정보에 매칭되는 생체정보 템플릿을 검출하는 단계를 포함할 수 있다.
또 다른 실시예에 따르면, 복수의 데이터베이스들에 생체정보가 분산 저장되는 시스템에서 생체인식을 수행하는 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체로서, 생체인식을 수행하는 방법은, 사용자의 생체정보를 추출하는 단계, 상기 추출된 생체정보를 분할하여 복수의 생체정보 조각들을 생성하는 단계, 상기 복수의 데이터베이스별로 미리 저장된 생체정보 템플릿 조각들과 상기 각각의 생체정보 조각들 간의 거리(distance)를 산출하는 단계 및 상기 산출된 거리를 이용하여 상기 생체정보에 매칭되는 생체정보 템플릿을 검출하는 단계를 포함할 수 있다.
또 다른 실시예에 따르면, 복수의 데이터베이스들을 포함하는 생체정보 분산관리 시스템은, 상기 복수의 데이터베이스들 중에서 선택된 어느 하나의 데이터베이스이며, 생체인식 프로세스를 제어하기 위한 메인서버 및 상기 복수의 데이터베이스들 중에서 상기 메인서버를 제외한 나머지 데이터베이스인 적어도 하나의 분산서버를 포함하며, 상기 메인서버는 사용자로부터 추출된 생체정보를 분할하여 복수의 생체정보 조각들을 생성하고, 상기 메인서버 및 상기 적어도 하나의 분산서버 각각은 미리 저장된 생체정보 템플릿 조각들과 상기 각각의 생체정보 조각들 간의 거리(distance)를 산출하고, 상기 메인서버는 상기 산출된 거리를 이용하여 상기 생체정보에 매칭되는 생체정보 템플릿을 검출할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 복수의 데이터베이스에 분산 저장된 생체정보 템플릿 조각 자체를 전송하는 대신에 데이터베이스별로 미리 등록된 생체정보 템플릿 조각들과 사용자로부터 추출된 생체정보 조각 간 거리(distance)를 산출하여 전송하므로 데이터 전송량을 크게 낮출 수 있는 장점이 있다.
또한 다른 과제 해결 수단에 의하면, 복수의 데이터베이스들에 분산 저장된 생체정보 템플릿 조각들 중 사용자로부터 추출된 생체정보와의 매칭 가능성이 낮은 것은 제외한 나머지만 전송함으로써 데이터 전송량을 낮추면서도 인식 정확도를 높게 유지할 수 있는 장점이 있다.
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 생체정보 분산관리 시스템을 도시한 도면이다.
도 2는 도 1에 도시된 생체정보 분산관리 시스템에 포함된 제1 데이터베이스(메인서버)의 구성을 도시한 도면이다.
도 3 및 도 4는 일 실시예에 따른 생체인식 방법을 설명하기 위한 순서도들이다.
도 5는 일 실시예에 따른 생체정보 분산관리 시스템에서 생체인식이 수행되는 프로세스를 설명하기 위한 도면이다.
도 6 및 도 7은 일 실시예에 따른 생체인식 방법에 따라 데이터베이스별로 거리를 산출하고 산출된 거리를 전송하여 생체인식을 수행하는 예를 설명하기 위한 도면들이다.
도 8은 일 실시예에 따른 생체인식 방법을 설명하기 위한 순서도이다.
도 9는 일 실시예에 따른 생체정보 분산관리 시스템에서 생체인식이 수행되는 프로세스를 설명하기 위한 도면이다.
도 10 및 도 11은 일 실시예에 따른 생체인식 방법에 따라 데이터베이스별로 거리를 산출하고, 일부 생체정보 템플릿 조각들만을 전송하여 생체인식을 수행하는 예를 설명하기 위한 도면들이다.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐 아니라, ‘그 중간에 다른 구성을 사이에 두고 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.
이하 첨부된 도면들을 참고하여 실시예들을 상세히 설명하기로 한다.
먼저 이하의 실시예들에서 사용되는 용어들의 의미에 대해서 설명한다.
이하의 실시예들에서 ‘생체정보’란 신체적 특징이나, 목소리, 걸음걸이 등과 같이 개인이 갖는 고유한 정보를 의미하고, ‘생체인식’이란 생체정보를 이용하여 인증(verification) 또는 인식(identification)을 수행하는 것을 의미한다.
또한, ‘생체정보 템플릿’이란 생체인식을 위해 미리 저장해 놓는 사용자들의 생체정보를 의미한다. 즉, 사용자로부터 생체인식 요청이 있으면 사용자로부터 생체정보를 추출하고, 추출된 생체정보를 미리 저장된 생체정보 템플릿과 비교함으로써 생체인식을 수행할 수 있다.
또한, ‘생체정보 템플릿 조각’이란 분할된 생체정보 템플릿을 의미한다. 자세하게는, 생체정보 분산관리 시스템에서 개인정보를 보호하기 위해 생체정보 템플릿을 분할하여 복수의 데이터베이스들에 분산 저장하는데, 이때 분할된 생체정보 템플릿을 생체정보 템플릿 조각이라고 한다.
또한, ‘생체정보 조각’이란 분할된 생체정보를 의미한다. 자세하게는, 생체인식 수행 시 사용자로부터 추출된 생체정보를 미리 저장된 생체정보 템플릿 조각과 비교하기 위해 분할하는데, 이때 분할된 생체정보를 생체정보 조각이라고 한다.
도 1은 일 실시예에 따른 생체정보 분산관리 시스템을 도시한 도면이고, 도 2는 도 1에 도시된 생체정보 분산관리 시스템에 포함된 제1 데이터베이스(100)의 구성을 도시한 도면이다.
도 1을 참조하면, 일 실시예에 따른 생체정보 분산관리 시스템은 2개의 데이터베이스들(100, 200)을 포함할 수 있다. 도 1에는 생체정보 분산관리 시스템이 2개의 데이터베이스들(100, 200)을 포함하는 것으로 도시하였으나, 이와 다르게 3개 이상의 데이터베이스들을 포함할 수도 있다.
생체정보 분산관리 시스템에 포함된 복수의 데이터베이스들 중에서 어느 하나는 메인서버로서 동작하고, 나머지 데이터베이스들은 분산서버로서 동작할 수 있다. 도 1에는 제1 데이터베이스(100)가 메인서버로 동작하고 제2 데이터베이스(200)가 분산서버로 동작하는 실시예를 도시하였다. 메인서버는 생체정보 템플릿 등록 과정 또는 생체인식 수행 과정에서 단말(10)과 통신하여 전체적인 프로세스를 제어하고, 분산서버들에 필요한 요청을 전송할 수 있다.
생체정보 분산관리 시스템은 복수의 데이터베이스들에 생체정보 템플릿을 분산하여 저장한다. 예를 들어, 사용자(1)가 단말(10)을 통해 안면 이미지의 등록을 요청하면, 제1 데이터베이스(100)는 단말(10)로부터 수신한 사용자(1)의 안면 이미지로부터 특징점을 추출한 뒤 이를 암호화하여 생체정보 템플릿을 생성한다. 이어서, 제1 데이터베이스(100)는 생성된 생체정보 템플릿을 분할하여 2개의 생체정보 템플릿 조각들을 생성하고, 각각의 생체정보 템플릿 조각을 제1 데이터베이스(100) 및 제2 데이터베이스(200)에 저장한다.
생체정보 분산관리 시스템은 사용자(1)로부터 생체인식 요청을 받으면 사용자(1)로부터 추출된 생체정보와 미리 저장된 생체정보 템플릿을 비교함으로써 생체인식을 수행할 수 있다.
생체인식을 수행하는 방식은 크게 인증(verification)과 인식(identification)으로 나눌 수 있으며, 이하에서는 각각의 방식에 대해서 간단히 설명한다.
‘인증’이란 사용자의 생체정보가 특정 생체정보 템플릿에 매칭되는지 여부를 검증하는 것을 의미한다. 예를 들어, 사용자가 생체인식을 요청하면서 사용자 ID 등과 같이 자신을 식별하기 위한 정보를 생체정보 분산관리 시스템에 전송하면, 생체정보 분산관리 시스템은 수신한 사용자 ID에 대응되는 생체정보 템플릿을 추출하고, 추출된 생체정보 템플릿이 사용자로부터 추출된 생체정보에 매칭되는지 여부를 판단하는 방식이다. 즉, 인증을 수행할 때에는 사용자로부터 추출된 생체정보와 미리 등록된 생체정보 템플릿 간 일대일 비교가 이루어진다.
한편, ‘인식’이란 미리 등록된 생체정보 템플릿들 중에 사용자의 생체정보에 매칭되는 생체정보 템플릿을 찾는 것을 의미한다. 예를 들어, 사용자가 생체인식을 요청하면 사용자로부터 추출된 생체정보를 생체정보 분산관리 시스템에 미리 등록된 모든 생체정보 템플릿들과 비교함으로써, 사용자로부터 추출된 생체정보와 매칭되는 생체정보 템플릿을 검출하는 방식이다. 즉, 인식을 수행할 때에는 사용자로부터 추출된 생체정보와 미리 등록된 생체정보 템플릿들 간 일대다 비교가 이루어진다.
이하의 실시예들에서는 사용자로부터 추출된 생체정보와 미리 등록된 생체정보 템플릿들 간 일대다 비교가 이루어지는 ‘인식’ 방식을 이용한다고 가정한다.
도 2를 참조하면, 도 1의 메인서버(100)는 입출력부(110), 제어부(120) 및 저장부(130)를 포함할 수 있다. 도시하지는 않았지만 도 1의 분산서버(200) 역시 도 2에 도시된 메인서버(100)와 동일한 구성들을 포함할 수 있다.
입출력부(110)는 데이터를 입력 받고, 이를 연산 처리하여 출력하기 위한 구성이다. 메인서버(100)는 입출력부(110)를 통해 단말(10)로부터 생체정보를 수신하거나, 분산서버(200)와 생체인식에 필요한 데이터를 주고받을 수 있다.
제어부(120)는 CPU 등과 같은 적어도 하나의 프로세서를 포함하는 구성으로서 메인서버(100)를 전체적으로 제어할 수 있다. 제어부(120)는 저장부(130)에 저장된 프로그램을 실행시킴으로써 생체인식에 필요한 프로세스들이 수행되도록 제어할 수 있다.
저장부(130)는 파일 및 프로그램이 저장될 수 있는 구성으로서 다양한 종류의 메모리를 통해 구성될 수 있다. 특히, 저장부(130)에는 복수의 사용자들에 대한 생체정보 템플릿 조각이 저장될 수 있으며, 생체인식을 수행하기 위한 프로그램이 저장되어 제어부(120)에 의해 실행될 수도 있다.
이하에서는 생체정보 분산관리 시스템이 생체인식을 수행하는 구체적인 과정에 대해서 설명한다.
도 3은 일 실시예에 따른 생체인식 방법을 설명하기 위한 순서도이다.
도 3을 참조하면, 301 단계에서 사용자의 생체정보를 추출한다. 예를 들어, 사용자(1)가 단말(10)을 통해 생체인식을 요청하면, 단말(10)은 사용자(1)의 생체정보를 포함하는 데이터(e.g. 안면인식의 경우 사용자의 안면을 촬영한 이미지)를 획득하여 메인서버(100)로 전송하고, 메인서버(100)의 제어부(120)는 수신한 데이터로부터 특징점들을 추출한 뒤 이를 암호화함으로써 생체정보를 추출한다. 물론, 단말(10)이 직접 사용자(1)로부터 생체정보를 추출한 뒤 추출된 생체정보를 메인서버(100)에 전송할 수도 있다.
302 단계에서 메인서버(100)의 제어부(120)는 301 단계에서 추출된 생체정보를 분할하여 복수의 생체정보 조각들을 생성한다. 이때, 제어부(120)는 메인서버(100) 및 분산서버(200)에 분산 저장된 생체정보 템플릿 조각들에 대응되도록 생체정보를 분할한다. 예를 들어, 생체정보가 N개의 플로트(float)를 갖는 데이터이고, 메인서버(100)와 분산서버(200)에는 각각 N/2개씩의 플로트를 갖는 생체정보 템플릿 조각이 저장되어 있다면, 제어부(120)는 생체정보를 각각 N/2개의 플로트를 갖는 2개의 생체정보 조각으로 분할한다. 한편, 본 실시예에서는 메인서버(100)가 생체정보를 분할하는 것으로 설명하였으나, 이와 다르게 메인서버(100)는 생체정보를 분산서버(200)에 전송하고, 분산서버(200)가 생체정보를 분할할 수도 있다.
303 단계에서 생체정보 분산관리 시스템은 데이터베이스별로 미리 등록된 생체정보 템플릿 조각들과 생체정보 조각 간의 거리(distance)를 산출한다. 일 실시예에 따르면, 메인서버(100)는 302 단계에서 분할된 생체정보 조각들 중 분산서버(200)에 대응되는 생체정보 조각을 분산서버(200)에 전송하고, 메인서버(100)와 분산서버(200)는 각각에 미리 저장된 생체정보 템플릿 조각들과 생체정보 조각 간의 거리를 산출할 수 있다.
다양한 방식으로 거리를 산출할 수 있으며, 예를 들어 절대차(absolute difference), 내적(inner product) 또는 유클리디안 거리(Euclidean distance) 등을 이용하여 거리를 산출할 수 있다. 이외에도 선형적(linear)인 특성을 갖는 거리 값을 산출하는 다른 방식들도 본 명세서에서 설명되는 실시예들에 적용될 수 있다.
데이터베이스별로 생체정보 템플릿 조각들과 생체정보 조각 간의 거리 산출이 완료되면, 304 단계에서 생체정보 분산관리 시스템은 데이터베이스별로 산출된 거리를 이용하여 생체정보에 매칭되는 생체정보 템플릿을 검출한다.
일 실시예에 따르면, 메인서버(100)와 분산서버(200)가 각각 미리 저장된 생체정보 템플릿 조각들과 생체정보 조각 간 거리를 산출한 후 분산서버(200)는 산출된 거리를 메인서버(100)로 전송한다. 메인서버(100)는 수신한 거리를 메인서버(100)에서 산출된 거리와 합한 값에 기초하여 생체정보에 매칭되는 생체정보 템플릿을 찾는다. 본 실시예에 대해서는 아래에서 도 4 내지 도 7을 참조하여 자세히 설명한다. (거리만을 전송하는 방식)
한편 다른 실시예에 따르면, 메인서버(100)와 분산서버(200)가 각각 미리 저장된 생체정보 템플릿 조각들과 생체정보 조각 간 거리를 산출한 후 분산서버(200)는 산출된 거리에 기초하여 일부 생체정보 템플릿 조각만을 메인서버(100)에 전송한다. 자세하게는 분산서버(200)는 생체정보 템플릿 조각별로 산출된 거리를 미리 설정된 기준 값과 비교한 결과에 기초하여 메인서버(100)에 전송할 생체정보 템플릿 조각을 선택한다. 메인서버(100)는 분산서버(200)로부터 수신한 생체정보 템플릿 조각들을, 그에 대응되는 생체정보 템플릿 조각들과 조합함으로써 생체정보 템플릿을 생성하고, 생성된 생체정보 템플릿을 사용자로부터 추출된 생체정보와 비교(e.g. 생체정보 템플릿과 생체정보 간 거리를 산출)함으로써 사용자의 생체정보에 매칭되는 생체정보 템플릿을 검출한다. 본 실시예에 대해서는 아래에서 도 8 내지 도 11을 참조하여 자세히 설명한다. (일부 생체정보 템플릿 조각들만 전송하는 방식)
1. 거리만을 전송하는 방식에 대한 상세 설명
이하에서는 거리만을 전송하는 방식에 대해서 자세히 설명한다.
도 4는 일 도 3의 304단계에 포함되는 상세 단계들을 도시한 순서도이다. 도 4를 참조하면, 401 단계에서 생체정보 분산관리 시스템은 데이터베이스별로 산출된 거리를 미리 정해진 어느 하나의 데이터베이스로 전송한다. 예를 들어, 생체정보 분산관리 시스템에 포함된 복수의 데이터베이스들은 메인서버로 지정된 데이터베이스로 전송할 수 있다.
402 단계에서 거리를 전송받은 데이터베이스(메인서버)는 생체정보 템플릿별로 거리를 합한 후 미리 설정된 기준 값과 비교한다.
403 단계에서 메인서버는 미리 설정된 기준 값 미만의 거리에 대응되는 생체정보 템플릿을 검출한다.
도 5는 일 실시예에 따른 생체정보 분산관리 시스템에서 생체인식이 수행되는 프로세스를 설명하기 위한 도면이며, 도 6 및 도 7에는 도 5에 도시된 프로세스에 따라 데이터베이스별로 거리를 산출하고 산출된 거리만을 메인서버로 전송하는 구체적인 예시를 도시하였다.
501 단계에서 단말(10)은 사용자(1)로부터 생체정보 X를 추출하고, 502 단계에서는 추출된 생체정보 X를 메인서버(100)에 전송한다.
메인서버(100)는 503 단계에서 생체정보 X를 생체정보 조각 X-1 및 생체정보 조각 X-2로 분할하고, 504 단계에서 생체정보 조각 X-2를 분산서버(200)에 전송한다.
505 단계에서 메인서버(100)는 미리 등록된 생체정보 템플릿 조각들과 생체정보 조각 X-1 간 거리를 산출하고, 506 단계에서 분산서버(200)는 미리 등록된 생체정보 템플릿 조각들과 생체정보 조각 X-2 간 거리를 산출한다.
도 6에 도시된 상세 실시예에서는, 생체정보 템플릿 A 내지 E가 각각 2개의 생체정보 템플릿 조각으로 분할되어 메인서버(100) 및 분산서버(200)에 분산 저장되어 있다. 메인서버(100)는 생체정보 템플릿 조각 A-1 내지 E-1과 생체정보 조각 X-1 간 거리를 산출한다. 101 영역에는 메인서버(100)에서 생체정보 템플릿 조각별로 산출된 거리를 표시하였다. 마찬가지로 분산서버(200)는 생체정보 템플릿 조각 A-2 내지 E-2와 생체정보 조각 X-2 간 거리를 산출한다. 201 영역에는 분산서버(200)에서 생체정보 템플릿 조각별로 산출된 거리를 표시하였다.
507 단계에서 분산서버(200)는 산출된 거리(201)를 메인서버(100)에 전송하고, 508 단계에서 메인서버(100)는 데이터베이스별 산출된 거리를 이용하여 생체정보 X와 매칭되는 생체정보 템플릿을 검출한다. 이에 대해서 자세히 설명하면, 메인서버(100)는 분산서버(200)로부터 산출된 거리(201)를 수신하면, 도 7에 도시된 바와 같이 메인서버(100) 및 분산서버(200)에서 각각 산출된 거리(101, 201)를 합하여 총 거리(70)를 산출한다. 메인서버(100)는 총 거리(70)를 미리 설정된 기준 값과 비교하여 생체정보 X에 매칭되는 생체정보 템플릿을 검출한다. 예를 들어, 기준 값이 0.5로 설정되었다면 메인서버(100)는 기준 값 미만의 거리인 0.3에 대응되는 생체정보 템플릿 C가 생체정보 X에 매칭되는 것으로 판단한다.
이와 같이 생체정보 분산관리 시스템은 생체인식 수행 시 복수의 데이터베이스들에 분산 저장된 생체정보 템플릿 조각을 다른 데이터베이스로 전송하는 대신, 각각의 데이터베이스별로 산출된 거리만을 다른 데이터베이스로 전송함으로써 기존 방식에 비해 데이터 전송량을 많이 낮추면서도 인식 정확도는 높은 수준으로 유지할 수 있다.
2. 일부 생체정보 템플릿 조각들만 전송하는 방식에 대한 상세 설명
이하에서는 일부 생체정보 템플릿 조각들만 전송하는 방식에 대해서 자세히 설명한다.
도 8은 일 실시예에 따른 생체인식 방법을 설명하기 위한 순서도이다. 도 8을 참조하면, 801 단계에서 생체정보 분산관리 시스템은 데이터베이스별로 산출된 거리를 미리 설정된 기준 값과 비교한다. 기준 값이 높을수록 802 단계에서 제외되는 생체정보 템플릿 조각의 수가 적어져 데이터 전송량을 낮추는 효과는 작아지지만, 사용자의 생체정보에 매칭되는 생체정보 템플릿이 제외될 가능성은 낮아져 인식 정확도는 높아진다. 반대로, 기준 값이 낮을수록 802 단계에서 제외되는 생체정보 템플릿 조각의 수가 많아져 데이터 전송량을 낮추는 효과는 커지지만, 사용자의 생체정보에 매칭되는 생체정보 템플릿이 제외될 가능성이 높아져 인식 정확도는 낮아진다. 따라서, 이러한 장단점들을 고려하여 기준 값은 매칭 가능성이 낮은 생체정보 템플릿만을 효과적으로 걸러낼 수 있도록 적절한 값으로 설정될 수 있다.
생체정보 분산관리 시스템은 802 단계에서 각각의 데이터베이스별로 미리 설정된 기준 값 이상의 거리에 대응되는 생체정보 템플릿 조각들을 제외시키고, 803 단계에서는 802 단계에서 제외되고 남은 생체정보 템플릿 조각들을 그에 대응되는 생체정보 템플릿 조각들과 결합하여 생체정보 템플릿들을 생성한다. 이를 위해 각각의 데이터베이스들은 제외되고 남은 생체정보 템플릿 조각들을 어느 하나의 데이터베이스(메인서버)에 전송할 수 있다.
804 단계에서 생체정보 분산관리 시스템은 803 단계에서 생성된 생체정보 템플릿들을 사용자로부터 추출된 생체정보와 비교함으로써 사용자로부터 추출된 생체정보에 대응되는 생체정보 템플릿을 검출한다.
도 9는 일 실시예에 따른 생체정보 분산관리 시스템에서 생체인식이 수행되는 프로세스를 설명하기 위한 도면이며, 도 10 및 도 11에는 도 9에 도시된 프로세스에 따라 데이터베이스별로 거리를 산출하고 일부의 생체정보 템플릿 조각들만을 메인서버로 전송하는 구체적인 예시를 도시하였다.
901 단계에서 단말(10)은 사용자(10)로부터 생체정보 X를 추출하고, 902 단계에서는 추출된 생체정보 X를 메인서버(100)에 전송한다.
메인서버(100)는 903 단계에서 생체정보 X를 생체정보 조각 X-1 및 생체정보 조각 X-2로 분할하고, 904 단계에서 생체정보 조각 X-2를 분산서버(200)에 전송한다.
905 단계에서 메인서버(100)는 미리 등록된 생체정보 템플릿 조각들과 생체정보 조각 X-1 간 거리를 산출하고, 906 단계에서 분산서버(200)는 미리 등록된 생체정보 템플릿 조각들과 생체정보 조각 X-2 간 거리를 산출한다.
도 10에 도시된 실시예에서는, 생체정보 템플릿 A 내지 E가 각각 2개의 생체정보 템플릿 조각으로 분할되어 메인서버(100) 및 분산서버(200)에 분산 저장되어 있다. 메인서버(100)는 생체정보 템플릿 조각 A-1 내지 E-1과 생체정보 조각 X-1 간 거리를 산출한다. 101 영역에는 메인서버(100)에서 생체정보 템플릿 조각별로 산출된 거리를 표시하였다. 마찬가지로 분산서버(200)는 생체정보 템플릿 조각 A-2 내지 E-2와 생체정보 조각 X-2 간 거리를 산출한다. 201 영역에는 분산서버(200)에서 생체정보 템플릿 조각별로 산출된 거리를 표시하였다.
분산서버(200)는 907 단계에서 미리 설정된 기준 값 이상의 거리에 대응되는 생체정보 템플릿 조각들을 메인서버(100)에 전송할 대상에서 제외시키고, 남은 생체정보 템플릿 조각들을 908 단계에서 메인서버(100)에 전송한다. 어떤 생체정보 템플릿 조각과 생체정보 조각 간 거리가 높다는 것은, 해당 생체정보 템플릿 조각에 대응되는 생체정보 템플릿과 생체정보가 매칭될 가능성이 낮음을 의미하므로, 일정 수준 이상으로 높은 거리에 대응되는 생체정보 템플릿 조각을 우선적으로 제외시킬 수 있다.
도 10에서 예를 들어 기준 값이 0.4로 설정되었다면, 분산서버(200)는 생체정보 템플릿 조각 A-2, B-2 및 E-2를 제외시키고, 남은 생체정보 템플릿 C-2 및 D-2만을 메인서버(100)에 전송한다.
한편, 도 11에 도시된 바와 같이 메인서버(100) 및 분산서버(200) 각각에서 미리 설정된 기준 값 이상의 거리에 대응되는 생체정보 템플릿 조각들을 제외시키고, 두 데이터베이스들(100, 200)에서 공통적으로 남은 생체정보 템플릿 조각들만을 메인서버(100)로 전송할 수도 있다. 예를 들어 기준 값이 0.4로 설정되었다면, 도 11에서 메인서버(100)에서는 생체정보 템플릿 조각 A-1, D-1 및 E-1이 제외되고, 분산서버(200)에서는 생체정보 템플릿 조각 A-2, B-2 및 E-2가 제외된다. 따라서, 분산서버(200)는 양측에서 공통적으로 남은 생체정보 템플릿 조각인 생체정보 템플릿 조각 C-2만을 메인서버(100)에 전송한다.
메인서버(100)는 909 단계에서 분산서버(200)로부터 수신한 생체정보 템플릿 조각들을 미리 등록된 생체정보 템플릿 조각들과 결합하여 생체정보 템플릿을 생성하고, 생성된 생체정보 템플릿을 생체정보 X와 비교하고, 910 단계에서 생체정보 X에 매칭되는 생체정보 템플릿을 검출한다.
예를 들어, 도 10에서는 메인서버(100)가 생체정보 템플릿 조각 C-1 및 D-1을 각각 생체정보 템플릿 조각 C-2 및 D-2와 결합하여 생체정보 템플릿 C 및 D를 생성한다. 이어서 메인서버(100)는 생체정보 템플릿 C 및 D와 생체정보 X 간 거리를 산출하고, 산출된 거리를 미리 설정된 기준 값과 비교함으로써 매칭 여부를 판단한다.
또한 예를 들어, 도 11에서는 메인서버(100)가 생체정보 템플릿 조각 C-2만을 수신하므로 이를 생체정보 템플릿 조각 C-1과 결합하여 생체정보 템플릿 C를 생성한다. 이어서 메인서버(100)는 생체정보 템플릿 C와 생체정보 X 간 거리를 산출하고, 산출된 거리를 미리 설정된 기준 값과 비교함으로써 매칭 여부를 판단한다.
이와 같이 생체정보 분산관리 시스템은 데이터베이스별로 분산 저장된 생체정보 템플릿 조각을 전부 어느 하나의 데이터베이스(메인서버)에 전송하는 대신에, 데이터베이스별로 산출된 거리에 기초하여 전송할 생체정보 템플릿 조각을 선택하고, 선택된 생체정보 템플릿만을 메인서버에 전송함으로써 기존 방식에 비해 데이터 전송량을 낮추면서도 인식 정확도는 높은 수준으로 유지할 수 있다.
도 4 내지 도 7을 참조하여 설명한 ‘거리만을 전송하는 방식’과 도 8 내지 도 11을 참조하여 설명한 ‘일부 생체정보 템플릿 조각들만 전송하는 방식’을 비교하면, ‘거리만을 전송하는 방식’이 데이터 전송량을 낮추는 효과는 상대적으로 더 높지만, 산출되는 거리가 선형적인 특성을 갖더라도 분할된 각각의 생체정보 템플릿 조각에 대해서 산출된 거리를 합한 값은 온전한 생체정보 템플릿에 대해서 산출되는 거리와 차이가 있을 수 있어 정확도는 상대적으로 낮다. 따라서, 이러한 각 방식의 장단점을 고려하여 상황에 맞게 선택하여 사용할 수 있다.
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.
도 3 내지 도 11을 통해 설명된 실시예에 따른 생체정보 분산관리 시스템을 이용한 생체인식 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.
또한 도 3 내지 도 11을 통해 설명된 실시예에 따른 생체정보 분산관리 시스템을 이용한 생체인식 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 도 3 내지 도 11을 통해 설명된 실시예에 따른 생체정보 분산관리 시스템을 이용한 생체인식 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 명세서를 통해 보호 받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.
1: 사용자 10: 단말
100: 제1 데이터베이스(메인서버) 200: 제2 데이터베이스(분산서버)
110: 입출력부 120: 제어부
130: 저장부

Claims (18)

  1. 복수의 데이터베이스들에 생체정보가 분산 저장되는 시스템에서 생체인식을 수행하는 방법에 있어서,
    사용자의 생체정보를 추출하는 단계;
    상기 추출된 생체정보를 분할하여 복수의 생체정보 조각들을 생성하는 단계;
    상기 복수의 데이터베이스별로 미리 저장된 생체정보 템플릿 조각들과 상기 각각의 생체정보 조각들 간의 거리(distance)를 산출하는 단계; 및
    상기 산출된 거리를 이용하여 상기 생체정보에 매칭되는 생체정보 템플릿을 검출하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 생체정보 템플릿을 검출하는 단계는,
    상기 복수의 데이터베이스별로 산출된 거리를 미리 정해진 어느 하나의 데이터베이스에 전송하는 단계; 및
    상기 어느 하나의 데이터베이스는 생체정보 템플릿별로 거리를 합한 값을 미리 설정된 기준 값과 비교하고, 상기 기준 값 미만의 거리에 대응되는 생체정보 템플릿을 검출하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 생체정보 템플릿을 검출하는 단계는,
    상기 복수의 데이터베이스별로 산출된 거리를 미리 설정된 기준 값과 비교하는 단계;
    상기 복수의 데이터베이스별로 상기 기준 값 이상의 거리에 대응되는 생체정보 템플릿 조각을 제외하고 남은 적어도 하나의 생체정보 템플릿 조각을, 그에 대응되는 생체정보 템플릿 조각과 결합하여 적어도 하나의 생체정보 템플릿을 생성하는 단계; 및
    상기 생성된 생체정보 템플릿을 상기 추출된 생체정보와 비교함으로써 상기 추출된 생체정보에 매칭되는 생체정보 템플릿을 검출하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 적어도 하나의 생체정보 템플릿을 생성하는 단계는,
    상기 복수의 데이터베이스들 각각에서 남은 적어도 하나의 생체정보 템플릿 조각을 미리 정해진 어느 하나의 데이터베이스에 전송하는 단계; 및
    상기 어느 하나의 데이터베이스는 수신한 적어도 하나의 생체정보 템플릿 조각을 대응되는 생체정보 템플릿 조각과 결합하여 상기 적어도 하나의 생체정보 템플릿을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제3항에 있어서,
    상기 적어도 하나의 생체정보 템플릿을 생성하는 단계는,
    상기 복수의 데이터베이스들에서 공통적으로 남은 적어도 하나의 생체정보 템플릿 조각에 대응되는 생체정보 템플릿 조각을 미리 정해진 어느 하나의 데이터베이스에 전송하는 단계; 및
    상기 어느 하나의 데이터베이스는 수신한 적어도 하나의 생체정보 템플릿 조각을 대응되는 생체정보 템플릿 조각과 결합하여 상기 적어도 하나의 생체정보 템플릿을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 복수의 생체정보 조각들을 생성하는 단계는,
    상기 복수의 데이터베이스들에 분산 저장된 생체정보 템플릿 조각들에 대응되도록 상기 생체정보를 분할하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 거리를 산출하는 단계는,
    상기 생성된 복수의 생체정보 조각들을 각각 대응되는 데이터베이스에 전송하는 단계; 및
    상기 각각의 데이터베이스에서 수신한 생체정보 조각과 상기 각각의 데이터베이스에 미리 저장된 생체정보 템플릿 조각들 간의 거리를 산출하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 거리를 산출하는 단계는,
    절대차(absolute difference), 내적(inner product) 또는 유클리디안 거리(Euclidean distance) 중 어느 하나의 방식으로 상기 거리를 산출하는 것을 특징으로 하는 방법.
  9. 제1항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
  10. 생체정보 분산관리 시스템에 의해 수행되며, 제1항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.
  11. 복수의 데이터베이스들을 포함하는 생체정보 분산관리 시스템에 있어서,
    상기 복수의 데이터베이스들 중에서 선택된 어느 하나의 데이터베이스이며, 생체인식 프로세스를 제어하기 위한 메인서버; 및
    상기 복수의 데이터베이스들 중에서 상기 메인서버를 제외한 나머지 데이터베이스인 적어도 하나의 분산서버를 포함하며,
    상기 메인서버는 사용자로부터 추출된 생체정보를 분할하여 복수의 생체정보 조각들을 생성하고,
    상기 메인서버 및 상기 적어도 하나의 분산서버 각각은 미리 저장된 생체정보 템플릿 조각들과 상기 각각의 생체정보 조각들 간의 거리(distance)를 산출하고,
    상기 메인서버는 상기 산출된 거리를 이용하여 상기 생체정보에 매칭되는 생체정보 템플릿을 검출하는, 시스템.
  12. 제11항에 있어서,
    상기 적어도 하나의 분산서버는 상기 산출된 거리를 상기 메인서버에 전송하고,
    상기 메인서버는 생체정보 템플릿별로 거리를 합한 값을 미리 설정된 기준 값과 비교하고, 상기 기준 값 미만의 거리에 대응되는 생체정보 템플릿을 검출하는 것을 특징으로 하는 시스템.
  13. 제11항에 있어서,
    상기 메인서버는,
    상기 복수의 데이터베이스별로 상기 기준 값 이상의 거리에 대응되는 생체정보 템플릿 조각을 제외하고 남은 적어도 하나의 생체정보 템플릿 조각을, 그에 대응되는 생체정보 템플릿 조각과 결합하여 적어도 하나의 생체정보 템플릿을 생성하고, 상기 생성된 생체정보 템플릿을 상기 추출된 생체정보와 비교함으로써 상기 추출된 생체정보에 매칭되는 생체정보 템플릿을 검출하는 것을 특징으로 하는 시스템.
  14. 제13항에 있어서,
    상기 적어도 하나의 분산서버는 각각의 분산서버에서 남은 적어도 하나의 생체정보 템플릿 조각을 상기 메인서버에 전송하고,
    상기 메인서버는 수신한 적어도 하나의 생체정보 템플릿 조각을 대응되는 생체정보 템플릿 조각과 결합하여 상기 적어도 하나의 생체정보 템플릿을 생성하는 것을 특징으로 하는 시스템.
  15. 제13항에 있어서,
    상기 적어도 하나의 분산서버는 상기 메인서버 및 적어도 하나의 분산서버에서 공통적으로 남은 적어도 하나의 생체정보 템플릿 조각에 대응되는 생체정보 템플릿 조각을 상기 메인서버에 전송하고,
    상기 메인서버는 수신한 적어도 하나의 생체정보 템플릿 조각을 대응되는 생체정보 템플릿 조각과 결합하여 상기 적어도 하나의 생체정보 템플릿을 생성하는 것을 특징으로 하는 시스템.
  16. 제11항에 있어서,
    상기 메인서버는 상기 복수의 데이터베이스들에 분산 저장된 생체정보 템플릿 조각들에 대응되도록 상기 생체정보를 분할하는 것을 특징으로 하는 시스템.
  17. 제11항에 있어서,
    상기 메인서버는 상기 생성된 복수의 생체정보 조각들을 각각 대응되는 적어도 하나의 분산서버에 전송하고,
    상기 메인서버 및 상기 적어도 하나의 분산서버는 수신한 생체정보 조각과 미리 저장된 생체정보 템플릿 조각들 간의 거리를 산출하는 것을 특징으로 하는 시스템.
  18. 제11항에 있어서,
    상기 메인서버 및 상기 적어도 하나의 분산서버는 절대차(absolute difference), 내적(inner product) 또는 유클리디안 거리(Euclidean distance) 중 어느 하나의 방식으로 상기 거리를 산출하는 것을 특징으로 하는 시스템.
KR1020200011125A 2020-01-30 2020-01-30 생체정보 분산관리 시스템 및 이를 이용한 생체인식 방법 KR102409790B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200011125A KR102409790B1 (ko) 2020-01-30 2020-01-30 생체정보 분산관리 시스템 및 이를 이용한 생체인식 방법
PCT/KR2020/016266 WO2021153889A1 (ko) 2020-01-30 2020-11-18 생체정보 분산관리 시스템 및 이를 이용한 생체인식 방법
JP2021537124A JP7274183B2 (ja) 2020-01-30 2020-11-18 生体情報分散管理システム及びこれを用いた生体認証方法
US17/417,659 US11977555B2 (en) 2020-01-30 2020-11-18 Biometric data distributed management system, and biometric recognition method using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200011125A KR102409790B1 (ko) 2020-01-30 2020-01-30 생체정보 분산관리 시스템 및 이를 이용한 생체인식 방법

Publications (2)

Publication Number Publication Date
KR20210097434A true KR20210097434A (ko) 2021-08-09
KR102409790B1 KR102409790B1 (ko) 2022-06-17

Family

ID=77078930

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200011125A KR102409790B1 (ko) 2020-01-30 2020-01-30 생체정보 분산관리 시스템 및 이를 이용한 생체인식 방법

Country Status (4)

Country Link
US (1) US11977555B2 (ko)
JP (1) JP7274183B2 (ko)
KR (1) KR102409790B1 (ko)
WO (1) WO2021153889A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102424040B1 (ko) * 2022-02-21 2022-07-22 (주)레오컴 생체정보 분산관리 시스템 및 이를 이용한 생체정보 분산관리 방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115597A1 (en) * 2008-11-05 2010-05-06 Konica Minolta Business Technologies, Inc. Computer readable medium, image processing system, and image processing device
CN103164646A (zh) * 2011-12-12 2013-06-19 株式会社日立制作所 安全性高的生物体认证系统
US20150347781A1 (en) * 2014-06-03 2015-12-03 Alain Patey Methods, systems, and devices for securing distributed storage
KR20160006836A (ko) * 2014-07-09 2016-01-20 전남대학교산학협력단 생체정보 또는 생체정보로부터 파생된 정보 또는 사용자 특징 정보를 이용한 안전한 인증 시스템, 그 시스템에서의 인증 제어를 위한 장치 및 방법
KR101774151B1 (ko) * 2016-04-22 2017-09-12 아이리텍 잉크 홍채템플릿 분산 저장 및 매칭을 이용한 홍채인식 보안 강화 방법 및 장치
JP6349062B2 (ja) * 2013-07-19 2018-06-27 株式会社ディー・ディー・エス 認証システム、クライアント端末、認証サーバー、端末プログラム及びサーバープログラム
JP2018206442A (ja) * 2015-09-11 2018-12-27 アイベリファイ インコーポレイテッド 眼球血管および顔認識のための画像および特徴品質、画像強化および特徴抽出、ならびにバイオメトリックシステムのための眼球血管と顔領域および/またはサブ顔領域との融合
CN109583279A (zh) * 2017-09-29 2019-04-05 山西圣点世纪科技股份有限公司 一种指纹和指静脉联合识别算法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7106843B1 (en) * 1994-04-19 2006-09-12 T-Netix, Inc. Computer-based method and apparatus for controlling, monitoring, recording and reporting telephone access
JP2008059509A (ja) 2006-09-04 2008-03-13 Matsushita Electric Ind Co Ltd 個人識別装置及び個人識別方法
JP4919744B2 (ja) 2006-09-12 2012-04-18 富士通株式会社 生体認証装置及び生体認証方法
US8185646B2 (en) * 2008-11-03 2012-05-22 Veritrix, Inc. User authentication for social networks
US8380637B2 (en) * 2011-01-16 2013-02-19 Yerucham Levovitz Variable fractions of multiple biometrics with multi-layer authentication of mobile transactions
US9979547B2 (en) * 2013-05-08 2018-05-22 Google Llc Password management
US9438590B2 (en) * 2014-05-23 2016-09-06 Fujitsu Limited Privacy preserving biometric authentication based on error correcting codes
JP6630999B2 (ja) 2014-10-15 2020-01-15 日本電気株式会社 画像認識装置、画像認識方法、および、画像認識プログラム
JP5951057B1 (ja) 2015-02-13 2016-07-13 エヌ・ティ・ティ・インターネット株式会社 生体認証プラットフォームシステム、生体認証情報管理装置、生体認証情報管理方法、及び生体認証情報管理プログラム
JP6504013B2 (ja) * 2015-10-13 2019-04-24 富士通株式会社 暗号処理方法、暗号処理装置、および暗号処理プログラム
WO2020051232A1 (en) * 2018-09-04 2020-03-12 Anonybit, Inc. Decentralized biometric identification and authentication network
US10812479B2 (en) * 2018-12-05 2020-10-20 Fiserv, Inc. Authenticating a user via multiple biometric inputs
US11909892B2 (en) * 2018-12-12 2024-02-20 Nec Corporation Authentication system, client, and server

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115597A1 (en) * 2008-11-05 2010-05-06 Konica Minolta Business Technologies, Inc. Computer readable medium, image processing system, and image processing device
CN103164646A (zh) * 2011-12-12 2013-06-19 株式会社日立制作所 安全性高的生物体认证系统
JP6349062B2 (ja) * 2013-07-19 2018-06-27 株式会社ディー・ディー・エス 認証システム、クライアント端末、認証サーバー、端末プログラム及びサーバープログラム
US20150347781A1 (en) * 2014-06-03 2015-12-03 Alain Patey Methods, systems, and devices for securing distributed storage
KR20160006836A (ko) * 2014-07-09 2016-01-20 전남대학교산학협력단 생체정보 또는 생체정보로부터 파생된 정보 또는 사용자 특징 정보를 이용한 안전한 인증 시스템, 그 시스템에서의 인증 제어를 위한 장치 및 방법
JP2018206442A (ja) * 2015-09-11 2018-12-27 アイベリファイ インコーポレイテッド 眼球血管および顔認識のための画像および特徴品質、画像強化および特徴抽出、ならびにバイオメトリックシステムのための眼球血管と顔領域および/またはサブ顔領域との融合
KR101774151B1 (ko) * 2016-04-22 2017-09-12 아이리텍 잉크 홍채템플릿 분산 저장 및 매칭을 이용한 홍채인식 보안 강화 방법 및 장치
CN109583279A (zh) * 2017-09-29 2019-04-05 山西圣点世纪科技股份有限公司 一种指纹和指静脉联合识别算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
홍윤기 등, "생체정보 다분할 분산저장 기법을 통한 보안성 향상의 생체인증 시스템 설계", 한국융합보안학회, pp.31-39 (2016.10.) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102424040B1 (ko) * 2022-02-21 2022-07-22 (주)레오컴 생체정보 분산관리 시스템 및 이를 이용한 생체정보 분산관리 방법

Also Published As

Publication number Publication date
WO2021153889A1 (ko) 2021-08-05
JP7274183B2 (ja) 2023-05-16
JP2022521880A (ja) 2022-04-13
US20230026106A1 (en) 2023-01-26
US11977555B2 (en) 2024-05-07
KR102409790B1 (ko) 2022-06-17

Similar Documents

Publication Publication Date Title
US9036876B2 (en) Method and system for authenticating biometric data
US10997443B2 (en) User identity verification method, apparatus and system
US10509895B2 (en) Biometric authentication
US11205014B2 (en) Method and server for authenticating and verifying file
US10963551B2 (en) Method and apparatus for user authentication based on feature information
KR102349059B1 (ko) 영상의 관심영역으로부터 랜드마크를 결정하는 장치 및 방법
US11126827B2 (en) Method and system for image identification
US20200285836A1 (en) Systems and methods for secure user logins with facial recognition and blockchain
JP2016006679A (ja) 顔認識方法、装置、および該方法を実行するためのコンピュータ可読記録媒体
KR102317598B1 (ko) 서버, 서버의 제어 방법 및 단말 장치
US20170323149A1 (en) Rotation invariant object detection
CN105212942A (zh) 利用生物体信息的认证系统
US20200014540A1 (en) Biometric signature system and biometric signature method
KR102409790B1 (ko) 생체정보 분산관리 시스템 및 이를 이용한 생체인식 방법
US9489501B2 (en) Authentication method, authentication device, and system
JP6241165B2 (ja) 認証方法、認証装置、認証システム、および認証プログラム
US20200106602A1 (en) Blockchain system having multiple parity levels and multiple layers for improved data security
KR102088206B1 (ko) 이미지 기반의 객체 인식 방법 및 이러한 방법을 수행하는 장치
KR20190129417A (ko) 바이오매트릭스와 Fuzzy Vault를 이용하여 암호학적 키를 생성하는 방법 및 시스템
WO2021139329A1 (zh) 实体识别方法、装置、计算机设备及计算机可读存储介质
WO2021106334A1 (ja) 鍵生成装置、鍵利用装置、及び鍵生成方法
KR102434483B1 (ko) 생체인증 시스템의 관리 방법 및 이를 수행하기 위한 장치
KR101494309B1 (ko) 디지털 컨텐츠를 위한 비대칭형 핑거프린트 정합 시스템 및 그 제공방법
KR101240901B1 (ko) 얼굴 인식 방법, 장치, 및 이 방법을 실행하기 위한 컴퓨터 판독 가능한 기록 매체
US10719690B2 (en) Fingerprint sensor and method for processing fingerprint information

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