KR102664795B1 - 열 기반 슬라이싱을 이용한 폐기 가능한 홍채 템플릿 생성 장치 및 방법 - Google Patents
열 기반 슬라이싱을 이용한 폐기 가능한 홍채 템플릿 생성 장치 및 방법 Download PDFInfo
- Publication number
- KR102664795B1 KR102664795B1 KR1020220008458A KR20220008458A KR102664795B1 KR 102664795 B1 KR102664795 B1 KR 102664795B1 KR 1020220008458 A KR1020220008458 A KR 1020220008458A KR 20220008458 A KR20220008458 A KR 20220008458A KR 102664795 B1 KR102664795 B1 KR 102664795B1
- Authority
- KR
- South Korea
- Prior art keywords
- iris
- column
- input vector
- hashing
- generating
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 239000013598 vector Substances 0.000 claims abstract description 55
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 210000000554 iris Anatomy 0.000 description 101
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 208000025721 COVID-19 Diseases 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response 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
- 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/45—Structures or tools for the administration of authentication
-
- 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/18—Eye characteristics, e.g. of the iris
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Power Engineering (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Ophthalmology & Optometry (AREA)
- General Health & Medical Sciences (AREA)
- Collating Specific Patterns (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
열 기반 슬라이싱을 이용한 폐기 가능한 홍채 템플릿 생성 장치 및 방법이 개시된다. 상기 폐기 가능한 홍채 템플릿 생성 장치는 홍채 이미지로부터 홍채 이진 코드를 생성하는 이진 코드 생성부, 상기 홍채 이진 코드로부터 IoM 해싱(Index-of-Max Hashing) 기법을 위한 입력 벡터를 생성하는 입력 벡터 생성부, 및 IoM 해싱을 수행하여 상기 입력 벡터에 대응하는 해시 코드를 생성하는 템플릿 생성부를 포함한다.
Description
본 발명은 홍채 인식 환경에서 인증의 정확성과 보안성을 높일 수 있는 폐기 가능한 홍채 템플릿의 생성 방법에 관한 것으로, 특히 열 기반의 슬라이싱 기법을 활용하여 보안성과 효율성을 향상시킬 수 있는 폐기 가능한 홍채 템플릿을 생성하는 장치 및 방법에 관한 것이다.
최근 코로나 19로 인한 언택트 지향의 문화가 형성되고, 2020년 5월 전자서명법 개정안이 국회 본회의에 통과되면서 사용자인증기술에 대한 관심이 증가하였다. 특히, 홍채를 이용한 생체 인증은 높은 정확성을 가지며 비접촉 방식을 취하고 있어 더욱 주목을 받고 있다. 그런데 홍채의 불변성은 인증 시 장점이지만, 유출될 경우 해당 홍채 정보로 다른 사용자도 시스템에 접속할 수 있게 된다. 따라서, 이러한 위협을 사전에 방지하기 위해서는 홍채 정보를 통해 생성한 템플릿을 폐기 가능하도록 설계하여 저장해야 한다. 폐기 가능한 생체 템플릿은 같은 홍채로부터 다수의 구별불가능한 새로운 템플릿을 다시 생성한다.
Kim et al.은 Jin et al.의 IoM(Index-of-Max) 해싱(Z. Jin, J.Y. Hwang, Y.L. Lai, S. Kim and A.B.J. Teoh, “locality sensitive hashing-enabled cancelable biometrics: Index-of-max hashing,”IEEE Transactions on Information Forensics and Security, vol. 13, no. 2, pp. 393-407, 2018.)을 지문이 아닌 홍채 템플릿에 적용하여 유출 등의 공격에 강력함을 입증하였다(김진아, 정재열, 김기성, 정익래. “해싱을 이용한 폐기가능한 홍채 템플릿,”정보보호학회논문지, vol. 29, no. 3, 565-577, 2019.). 그러나 Kim et al.의 홍채 템플릿 생성과정은 사전정렬을 위해 시프트 연산을 진행하게 되면서 추가적인 연산이 발생한다.
본 발명에서는 이러한 점에 주목하여 연산 처리속도를 향상하고자 홍채 이진 코드를 행 기반이 아닌 열 기반으로 분할한다. 홍채 이진 코드에서 가로 10bit씩이 아닌 세로로 슬라이싱하여 IoM 해싱의 입력벡터를 구성한다면 기존 연산의 효율성을 개선할 수 있다.
본 발명이 이루고자 하는 기술적인 과제는 연산 처리속도가 향상된, 폐기 가능한 홍채 템플릿을 생성하는 방법 및 장치을 제공하는 것이다.
본 발명의 일 실시예에 따른 폐기 가능한 홍채 템플릿 생성 장치는 홍채 이미지로부터 홍채 이진 코드를 생성하는 이진 코드 생성부, 상기 홍채 이진 코드로부터 IoM 해싱(Index-of-Max Hashing) 기법을 위한 입력 벡터를 생성하는 입력 벡터 생성부, 및 IoM 해싱을 수행하여 상기 입력 벡터에 대응하는 해시 코드를 생성하는 템플릿 생성부를 포함한다.
또한, 본 발명의 일 실시예에 따른 폐기 가능한 홍채 템플릿 생성 방법은 적어도 프로세서를 포함하는 컴퓨팅 장치에 의해 수행되고, 홍채 이미지로부터 홍채 이진 코드를 생성하는 단계, 상기 홍채 이진 코드로부터 IoM 해싱(Index-of-Max Hashing) 기법을 위한 입력 벡터를 생성하는 단계, 및 IoM 해싱을 수행하여 상기 입력 벡터에 대응하는 해시 코드를 생성하는 단계를 포함한다.
본 발명의 실시예에 따른 폐기 가능한 홍채 템플릿 생성 장치 및 방법에 의할 경우, 열 기반 슬라이싱 기법을 통해 IoM 해싱의 매칭 수행 시간을 향상시킬 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 홍채 이미지의 일 예를 도시한다.
도 2는 홍채 이진 코드의 일 예를 도시한다.
도 3은 본 발명의 일 실시예에 의한 IoM 해싱의 입력값 변환 단계를 설명하기 위한 도면이다.
도 4는 본 발명과 종래 기법의 실험 결과를 도시하는 그래프이다.
도 5는 본 발명의 일 실시예에 따른 홍채 템플릿 생성 장치의 기능 블럭도이다.
도 6은 본 발명의 일 실시예에 따른 홍채 템플릿 생성 방법을 설명하기 위한 흐름도이다.
도 1은 홍채 이미지의 일 예를 도시한다.
도 2는 홍채 이진 코드의 일 예를 도시한다.
도 3은 본 발명의 일 실시예에 의한 IoM 해싱의 입력값 변환 단계를 설명하기 위한 도면이다.
도 4는 본 발명과 종래 기법의 실험 결과를 도시하는 그래프이다.
도 5는 본 발명의 일 실시예에 따른 홍채 템플릿 생성 장치의 기능 블럭도이다.
도 6은 본 발명의 일 실시예에 따른 홍채 템플릿 생성 방법을 설명하기 위한 흐름도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시예들을 상세히 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 발명에서 제안하는 폐기 가능한 홍채 템플릿을 생성하는 방법은 크게 다음과 같이 구성된다.
1) 홍채 이진 코드를 생성한다.
2) 홍채 이진 코드로부터 추출한 이진값을 실수화하여 IoM 해싱(Index-of-Max Hashing)의 입력 벡터값으로 변환한다.
3) GRP(Gaussian Random Projection) 혹은 URP(Uniform Random Permutation) 방식으로 IoM 해싱을 수행한다.
4) LSH(Locality Sensitive Hashing) 기반으로 IoM 해싱의 매칭을 수행한다.
본 발명에서 제안하는 열 기반 슬라이싱은 두번째 단계인 IoM 해싱의 입력 벡터 변환단계에서 활용된다. 따라서, 본 명세서에서는 해당 단계에서 효율성을 개선하는 방법을 자세히 기술한 후 나머지 단계는 간략히 서술하고자 한다.
홍채 이미지의 이진 코드 생성 단계
홍채 이미지(도 1 참조)는 해싱 및 매칭을 위해 이진 코드로 변환하는 과정을 거친다. 이때 사용되는 도그만(Daugman) 알고리즘은 홍채 이미지에서 노이즈를 제거하고, 정규화 작업을 진행한 뒤 홍채 특징을 가버 필터(Garbor Filter)로 검출한다. 이렇게 생성된 홍채 이진 코드는 가로 a비트(a는 임의의 자연수로써 예시적인 값은 480임), 세로 b비트(b는 임의의 자연수로써 예시적인 값은 20임)의 크기를 가진다(도 2 참조).
IoM 해싱의 입력값 변환 단계
IoM 해싱의 입력값(입력 벡터 또는 특징 벡터로 명명될 수도 있음)은 실숫값의 특징 벡터이므로, 앞선 단계에서 도출한 홍채 이진 코드는 실수화 변환과정이 필요하다. 본 발명에서는 열(column) 기반 슬라이싱을 통한 실수화를 진행한다(도 3 참조).
열 기반 슬라이싱을 통한 실숫값 변환과정은 정렬 과정이 불필요(alignment-free)하다는 점에서 명확한 강점을 가진다. 일반적으로 생체정보는 사전에 정확히 정렬되어야 비교가 가능하다. 홍채의 경우 코드를 시프트함으로써 완전한 정렬을 찾아간다. 그러나 세로(열)를 기반으로 코드를 분할하여 정렬할 경우 별도의 시프트 과정이 필요로 하지 않아 과정이 간편해 진다. 따라서 처리 속도 측면에서 효율성이 높아지게 된다.
홍채코드의 실수화 변환 순서는 다음과 같다.
먼저, 홍채 이진 코드를 b×a비트(예컨대, 20×480비트)의 테이블로 생성한다. 다음으로 열별로 슬라이싱하여 b(예컨대, 20)행 1열의 데이터를 추출한 후 1행 b(예컨대, 20)열의 행렬로 해당 행렬을 전치한다. 이와 같은 방식으로 a(예컨대, 480) 번을 진행하면 총 1×(a×b)비트(예컨대, 1×9600비트)의 테이블이 형성된다. 원활한 실수화와 보안상의 강점을 가지기 위해서는 벡터의 값이 음과 양의 값으로 생성해야 한다. 따라서 해당 연산을 진행하기 위해 1×(a×b)비트(예컨대, 1×9600비트)의 테이블을 c비트(c는 임의의 자연수로써, 예시적인 값은 10임)씩 분할하여 1×(a×b)/c(예컨대, 960)개의 벡터로 생성한다. 그리고 각 c(예컨대, 10)비트씩의 이진수를 0~1023 범위의 십진수로 변환한 후, 1,024로 나누고 0.5를 빼 -0.5~0.4990 사이의 값을 가지도록 계산한다. 실시예에 따라, 512를 뺀 후 512로 나누는 것도 가능하다.
IoM 해싱 수행 단계
IoM 해싱은 실숫값의 특징 벡터를 입력으로 하여 최대 값을 갖는 인덱스를 가지는 순위 기반의 코드로 변환함으로써 다음과 같은 장점을 갖는다.
1) 해싱된 코드를 가지고 원본 특징 벡터를 복원할 수 없기 때문에 비가역성을 만족한다.
2) 상대적인 순서에 의존적인 방법이기 때문에 특징 벡터의 크기에 영향을 받지 않는다. 따라서, 노이즈나 변형에 강력하다.
3) IoM 해싱의 크기 독립성으로 인해 해시 코드를 크기 불변(scale-invariant)하게 한다.
IoM 해싱은 두 가지 방법으로 실현될 수 있고, IoM 해싱과 이하에서 기술될 매칭과 관하여서는, Z. Jin 등의 논문(Z. Jin, J.Y. Hwang, Y.L. Lai, S. Kim and A.B.J. Teoh, “locality sensitive hashing-enabled cancelable biometrics: Index-of-max hashing,”IEEE Transactions on Information Forensics and Security, vol. 13, no. 2, pp. 393-407, 2018.)이 참조될 수 있다.
첫 번째, GRP 기반 IoM 해싱은 d(d는 임의의 자연수)차원의 특징 벡터 x를 입력받아 가우시안(Guassian) 랜덤 투영 벡터 q를 생성하여 m(m은 임의의 자연수)개의 가우시안(Guassian) 랜덤 행렬에서 최댓값의 인덱스를 출력한다. GRP 기반의 IoM 해싱을 수행하기 위한 알고리즘 1은 아래와 같다.
[알고리즘 1]
두 번째, URP 기반 IoM 해싱은 특징 벡터 x를 입력받아 균일 랜덤 치환을 수행하여 p(p는 임의의 자연수)개의 벡터를 생성한 후 아다마르 곱(Hadamard Product) 연산으로 각각의 집합을 만들어낸 뒤 최댓값의 인덱스를 출력한다. URP 기반의 IoM 해싱을 수행하기 위한 알고리즘 2는 아래와 같다.
[알고리즘 2]
IoM 해싱 결과값간의 매칭 단계
IoM 해싱의 매칭은 유사도가 높은 와 간에 충돌 확률이 높은 순위 기반 LSH(Locality Sensitive Hashing) 알고리즘을 따른다. 두 개의 홍채 벡터가 유사도가 높으면 해시코드의 충돌 확률이 높고, 유사도가 낮으면 해시코드(IoM 해싱의 결괏값을 의미할 수 있음)의 충돌 확률이 낮다.
등록된 해시코드 와 쿼리 해시코드 사이의 충돌 가능성은 유사도 로 표현된다. 즉, 이 된다.
1) GRP 기반의 IoM 매칭
를 로 정의되는 LSH 함수라 하자. 이고 이다. 여기서 이다.
GRP 기반 IoM 해싱에서의 유사도 이다.
구현에서의 매칭 점수는 해시코드의 총 엔트리(m)에 대한 와 간의 요소별 뺄셈에 의해 '0'(충돌)이 되는 횟수이다.
2) URP 기반 IoM 매칭
URP 기반 IoM 해싱에서의 유사도는 일정한 범위 내에서의 상대적인 순서 측정이며, 수학식 1과 같다.
[수학식 1]
구현에서의 매칭 점수는 해시코드의 총 엔트리(m)에 대한 와 간의 요소별 뺄셈에 의해 '0'(충돌)이 되는 횟수이다.
결국, GRP 기반의 IoM 매칭과 URP 기반의 IoM 매칭에서, 매칭 점수가 미리 정해진 기준치를 초과(또는 기준치와 같거나 기준치를 초과)하는 경우 두 해시코드가 매칭된다고 결정될 수 있고, 그렇지 않은 경우 두 해시코드가 매칭되지 않는다고 결정될 수 있다. 두 해시코드가 매칭된다는 것은 비교대상인 두 홍채가 동일인의 홍채임을 의미할 수 있다.
이하에서는 실험 및 평가 결과를 설명한다.
제안하는 방법론의 효율성을 평가하기 위한 실험 환경은 아래 표 1과 같다.
[표 1]
실험에서는 본 방법론의 성능을 평가하기 위해 IoM 해싱의 매칭 시간에서 비교적 큰 차이를 보이는 GRP 기반의 IoM 해싱을 기준으로 비교·분석하였다. Kim et al.에 따르면, 기존 가로 기반 슬라이싱 기법 중 GRP 기반의 IoM 해싱은 0.065초, URP 기반의 IoM 해싱은 0.058초로 측정되었다.
실험 데이터는 Kim et al.과의 동등한 비교를 위해 같은 방식으로 CASIA v3를 사용하였다. 249개의 subject의 이미지를 추출하되, 한 subject의 좌우 홍채는 각기 다른 subject로 취급하였고, 그중 7개 이상의 이미지만 가진 subject를 선택하였다.
효율성의 척도는 매개변수인 Guassian 랜덤 투영 벡터인 q, Gaussian 랜덤 행렬 m의 값에 따라 1개의 홍채 쿼리 템플릿이 등록된 해시 이진 코드와 매칭하는데 소요되는 시간으로 설정하였다.
기존 가로 기반의 슬라이싱 기법은 실험 결과 q와 m의 값이 증가할수록 소요시간도 비례하여 증가하였다. 특히 m이 100 이상으로 커질수록 증가폭도 커졌다. 그러나 본 방법론은 m의 값이 증가하여도 소요되는 시간은 0.02초 이내로 측정되었다.
도 4는 그중 차이가 확연히 드러난 지점인 q가 5일 때 소요시간의 추이를 나타낸다. m이 작은 순간인 10일 때를 제외하고, 나머지 값에서는 모두 빠른 속도를 보였다
표 2는 그중 결괏값이 확연히 드러나는 지점인 q가 5, m이 300일 때의 소요시간을 나타낸다. 본 방법론은 시프트 연산을 수행하여 17 개의 템플릿을 생성하는 열 기반 기법에 비해 약 21배 정도의 높은 처리율을 보였다. 한편, 정확도를 평가하는 척도인 EER은 Kim et al.보다 약 10배 정도 높아졌음을 확인하였다
[표 2]
도 5는 본 발명의 일 실시예에 따른 홍채 템플릿 생성 장치의 기능 블럭도이다.
도 5를 참조하면, 홍채 템플릿 생성 장치(100)는 적어도 프로세서 및/또는 메모리를 포함하는 컴퓨팅 장치로 구현될 수 있다. 컴퓨팅 장치는 데스크톱 PC, 태블릿 PC, 서버, 스마트폰, 네비게이션 등을 포함할 수 있다. 홍채 템플릿 생성 장치(100)는 이미지 획득부(110), 이진 코드 생성부(120), 입력 벡터 생성부(130), 템플릿 생성부(140), 매칭부(150), 및 저장부(160) 중 적어도 하나 이상을 포함할 수 있다. 홍채 템플릿 생성 장치(100)를 설명함에 있어 앞선 기재와 중복되는 내용에 관하여는 그 상세한 기재를 생략하기로 한다.
이미지 획득부(110)는 폐기 가능한 홍체 템플릿을 생성할 대상 홍채 이미지를 획득할 수 있다. 실시예에 따라, 홍채 이미지는 미리 저장부(160)에 저장되어 있을 수 있고, 이 경우 홍채 템플릿 생성 장치(100)는 이미지 획득부(110)를 포함하지 않을 수도 있다.
구체적으로, 이미지 획득부(110)는 홍채를 스캔할 수 있는 스캐너 등으로부터 유무선 통신망을 통하여 사용자의 홍채 이미지를 수신할 수 있다. 실시예에 따라, USB 저장 장치와 같은 휴대용 저장 장치로부터 소정의 입력 인터페이스를 통해 홍채 이미지를 수신하는 것도 가능하다. 또 다른 예로, 홍채 템플릿 생성 장치(100)에 구비된 카메라 등과 같은 촬상 장치를 이용하여 사용자의 홍채 이미지를 촬영함으로써 사용자의 홍채 이미지를 획득할 수도 있다.
이진 코드 생성부(120)는 이미지 획득부(110)에 의해 획득된 홍채 이미지 또는 저장부(160)에 저장되어 있는 홍채 이미지로부터 이에 대응하는 이진 코드(또는 홍채 이진 코드)를 생성할 수 있다. 이를 위해, 이진 코드 생성부(120)는 홍채 이미지로부터 홍채 영역 검출, 노이즈 제거, 정규화 작업 중 적어도 하나를 수행할 수 있다.
입력 벡터 생성부(130)는 홍채 이진 코드로부터 IoM 해싱을 위한 입력 벡터를 생성할 수 있다. 입력 벡터 생성부(130)는 앞선 기재와 같이, 열 단위의 슬라이싱을 적용하여 IoM 해싱을 위한 입력 벡터를 생성할 수 있다.
템플릿 생성부(140)는 입력 벡터 생성부(130)에 의해 생성된 입력 벡터로부터 폐기 가능한 홍채 템플릿을 생성할 수 있다. 여기서, 홍채 템플릿은 입력 벡터를 입력으로 하는 IoM 해싱의 결과물로써, 해싱 코드로 명명될 수도 있다.
홍채 템플릿 생성 장치(100)는 매칭부(150)를 더 포함할 수 있다. 이 경우, 홍채 템플릿 생성 장치(100)는 홍채 인식 장치, 홍채 매칭 장치 등으로 명명될 수도 있다.
매칭부(150)는 생성된 홍채 템플릿과 미리 저장되어 있는 복수의 홍채 템플릿들 중 적어도 하나를 비교하여 유사도를 계산함으로써 두 홍채 템플릿의 매칭 여부를 결정할 수 있다.
저장부(160)에는 홍채 템플릿 생성 장치(100)의 구동에 필요한 프로그램, 소프트웨어 등이 저장되어 있을 수 있다. 또한, 저장부(160)에는 폐기 가능한 홍채 템플릿을 생성하는 과정 중에 생성되는 데이터, 예컨대, 홍채 이미지, 홍체 이진 코드, 입력 벡터, 홍체 템플릿, 유사도, 매칭의 결과 등이 일시적으로 또는 비일시적으로 저장될 수 있다.
도 6은 본 발명의 일 실시예에 따른 홍채 템플릿 생성 방법을 설명하기 위한 흐름도이다.
홍채 템플릿 생성 방법은 도 5에 도시된 홍채 템플릿 생성 장치(100), 즉 컴퓨팅 장치에 의해 수행될 수 있으며, 홍채 인식 방법, 홍채 매칭 방법 등으로 명명될 수도 있다.
우선, 홍채 템플릿 생성 장치(100)의 이미지 획득부(110)에 의해 홍채 이미지가 획득된다(S110). 획득된 홍채 이미지는 저장부(160)에 저장될 수 있다.
다음으로, 홍채 템플릿 생성 장치(100)의 이진 코드 생성부(120)는 획득된 홍채 이미지에 대응하는 홍채 이진 코드를 생성할 수 있다(S120). 홍채 이진 코드는 알려진 기법을 이용하여 생성될 수 있으므로, 이에 대한 상세한 설명은 생략하기로 한다.
홍채 템플릿 생성 장치(100)의 입력 벡터 생성부(130)는 홍채 이진 코드로부터 IoM 해싱의 입력을 위한 입력 벡터를 생성할 수 있다(S130). IoM 해싱 기법을 통해 해시 코드, 즉 홍채 템플릿을 생성하기 위해서는, 미리 정해진 규격의 입력이 필요하다. 따라서, 입력 벡터 생성부(130)는 미리 정해진 규격에 맞도록 홍채 이진 코드를 입력 벡터로 변환할 수 있다.
홍채 템플릿 생성 장치(100)의 템플릿 생성부(140)는 IoM 해싱 기법을 이용하여 입력 벡터에 대응하는 해시 코드를 생성할 수 있다(S140). 해시 코드는 입력된 홍채 이미지에 대응하는 홍채 템플릿을 의미할 수 있다. 이에 따라, 사용자의 홍채 이미지에 대응하고 폐기가 가능한 홍채 템플릿을 생성할 수 있다.
홍채 템플릿 생성 장치(100)의 매칭부(150)는 쿼리 해시 코드(쿼리 홍채 템플릿으로써, 템플릿 생성부(140)에 의해 생성된 해시 코드를 의미할 수 있음)와 미리 저장된 해시 코드들 중 적어도 하나와의 매칭 여부를 결정할 수 있다(S150). 이를 통해, 홍채를 이용한 인증을 수행할 수 있다. 즉, 쿼리 해시 코드와 매칭되는 해시 코드가 존재하는 경우 사용자에 대한 인증이 완료되고, 쿼리 해시 코드와 매칭되는 해시 코드가 존재하지 않는 경우 사용자에 대한 인증이 실패할 수 있다.
이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 집합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(Digital Signal Processor), 마이크로컴퓨터, FPA(Field Programmable array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(Operation System, OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(Processing Element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(Parallel Processor)와 같은, 다른 처리 구성(Processing Configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(Computer Program), 코드(Code), 명령(Instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(Collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성 요소(Component), 물리적 장치, 가상 장치(Virtual Equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(Signal Wave)에 영구적으로, 또는 일시적으로 구체화(Embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-optical Media), 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성 요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100 : 홍채 템플릿 생성 장치
110 : 이미지 획득부
120 : 이진 코드 생성부
130 : 입력 벡터 생성부
140 : 템플릿 생성부
150 : 매칭부
160 : 저장부
110 : 이미지 획득부
120 : 이진 코드 생성부
130 : 입력 벡터 생성부
140 : 템플릿 생성부
150 : 매칭부
160 : 저장부
Claims (8)
- 홍채 이미지로부터 홍채 이진 코드를 생성하는 이진 코드 생성부;
상기 홍채 이진 코드로부터 IoM 해싱(Index-of-Max Hashing) 기법을 위한 입력 벡터를 생성하는 입력 벡터 생성부; 및
IoM 해싱을 수행하여 상기 입력 벡터에 대응하는 해시 코드를 생성하는 템플릿 생성부를 포함하고,
상기 입력 벡터 생성부는 상기 홍채 이진 코드에 열(column) 기반의 슬라이싱을 적용하여 상기 입력 벡터를 생성하고,
상기 입력 벡터 생성부는,
b(b는 임의의 자연수)행 a(a는 임의의 자연수)열의 상기 홍채 이진 코드의 각 열(column)을 분리하여 a개의 b행 1열 데이터를 추출하고,
추출된 b행 1열 데이터들 각각을 1행 b열의 데이터로 변환하고,
1행 b열의 데이터들을 결합하여 1행 (a×b)열의 테이블을 생성하고,
1행 (a×b)열의 테이블을 c(c는 임의의 자연수) 단위로 분할한 후 십진수로 변환하고,
십진수로 변환된 값들 각각에 대한 실수화 변환 동작을 수행하여 상기 입력 벡터를 생성하고,
상기 템플릿 생성부는 GRP(Gaussian Random Projection) 기반 IoM 해싱을 수행하되, 가우시안 랜덤 프로젝션 벡터(Gaussian random projection vector)의 개수(q)는 5인,
폐기 가능한 홍채 템플릿 생성 장치. - 제1항에 있어서,
상기 폐기 가능한 홍채 템플릿 생성 장치는 상기 해시 코드와 미리 저장된 복수의 해시 코드들 중 적어도 하나의 매칭 여부를 결정하는 매칭부를 더 포함하는,
폐기 가능한 홍채 템플릿 생성 장치. - 삭제
- 제1항에 있어서,
상기 GRP 기반 IoM 해싱에서, 가우시안 랜덤 행렬(Gaussian random matrices)의 개수(m)는 10 보다 크고 300 보다 작거나 같은,
폐기 가능한 홍채 템플릿 생성 장치. - 적어도 프로세서를 포함하는 컴퓨팅 장치에 의해 수행되는, 폐기 가능한 홍채 템플릿 생성 방법에 있어서,
홍채 이미지로부터 홍채 이진 코드를 생성하는 단계;
상기 홍채 이진 코드로부터 IoM 해싱(Index-of-Max Hashing) 기법을 위한 입력 벡터를 생성하는 단계; 및
IoM 해싱을 수행하여 상기 입력 벡터에 대응하는 해시 코드를 생성하는 단계를 포함하고,
상기 입력 벡터를 생성하는 단계는, 상기 홍채 이진 코드에 열(column) 기반의 슬라이싱을 적용하여 상기 입력 벡터를 생성하는고,
상기 입력 벡터를 생성하는 단계는,
b(b는 임의의 자연수)행 a(a는 임의의 자연수)열의 상기 홍채 이진 코드의 각 열(column)을 분리하여 a개의 b행 1열 데이터를 추출하고,
추출된 b행 1열 데이터들 각각을 1행 b열의 데이터로 변환하고,
1행 b열의 데이터들을 결합하여 1행 (a×b)열의 테이블을 생성하고,
1행 (a×b)열의 테이블을 c(c는 임의의 자연수) 단위로 분할한 후 십진수로 변환하고,
십진수로 변환된 값들 각각에 대한 실수화 변환 동작을 수행하여 상기 입력 벡터를 생성하고,
상기 해시 코드를 생성하는 단계는, GRP(Gaussian Random Projection) 기반 IoM 해싱을 수행하되, 가우시안 랜덤 프로젝션 벡터(Gaussian random projection vector)의 개수(q)는 5인,
폐기 가능한 홍채 템플릿 생성 방법. - 제5항에 있어서,
상기 폐기 가능한 홍채 템플릿 생성 방법은 상기 해시 코드와 미리 저장된 복수의 해시 코드들 중 적어도 하나의 매칭 여부를 결정하는 단계를 더 포함하는,
폐기 가능한 홍채 템플릿 생성 방법. - 삭제
- 제5항에 있어서,
상기 입력 벡터를 생성하는 단계는,
10 보다 크고 300 보다 작거나 같은 개수의 가우시안 랜덤 행렬(Gaussian random matrices)을 이용하는,
폐기 가능한 홍채 템플릿 생성 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210010156 | 2021-01-25 | ||
KR20210010156 | 2021-01-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220107963A KR20220107963A (ko) | 2022-08-02 |
KR102664795B1 true KR102664795B1 (ko) | 2024-05-24 |
Family
ID=82845658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220008458A KR102664795B1 (ko) | 2021-01-25 | 2022-01-20 | 열 기반 슬라이싱을 이용한 폐기 가능한 홍채 템플릿 생성 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102664795B1 (ko) |
-
2022
- 2022-01-20 KR KR1020220008458A patent/KR102664795B1/ko active IP Right Grant
Non-Patent Citations (1)
Title |
---|
Index-of-Max 해싱을 이용한 폐기가능한 홍채 템플릿, 김진아 외 3명, 고려대학교 정보보호대학원, 대구가톨릭대학교, Journal of The Korea Institute of Information Security & Cryptology VOL.29, NO.3, Jun. 2019* |
Also Published As
Publication number | Publication date |
---|---|
KR20220107963A (ko) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yajamanam et al. | Deep Learning versus Gist Descriptors for Image-based Malware Classification. | |
Bozkir et al. | Catch them alive: A malware detection approach through memory forensics, manifold learning and computer vision | |
JP6651565B2 (ja) | バイオメトリックテンプレートセキュリティおよびキー生成 | |
Naeem et al. | Identification of malicious code variants based on image visualization | |
Hassen et al. | Scalable function call graph-based malware classification | |
Pinhero et al. | Malware detection employed by visualization and deep neural network | |
Baptista et al. | A novel malware detection system based on machine learning and binary visualization | |
RU2654146C1 (ru) | Система и способ обнаружения вредоносных файлов с использованием элементов статического анализа | |
Kirat et al. | Sigmal: A static signal processing based malware triage | |
Naeem et al. | A light-weight malware static visual analysis for IoT infrastructure | |
CN110572393A (zh) | 一种基于卷积神经网络的恶意软件流量分类方法 | |
US11397869B2 (en) | Methods and systems for detecting impersonating social media profiles | |
JP2019101927A (ja) | 学習システム及び画像検索システム | |
Anandhi et al. | Malware visualization and detection using DenseNets | |
EP3371739A1 (en) | High speed reference point independent database filtering for fingerprint identification | |
Arslan et al. | AMD‐CNN: Android malware detection via feature graph and convolutional neural networks | |
Naeem et al. | Visual malware classification using local and global malicious pattern | |
KR102516366B1 (ko) | 특징 데이터 획득 방법 및 장치 | |
Sharif et al. | A deep learning based technique for the classification of malware images | |
KR102664795B1 (ko) | 열 기반 슬라이싱을 이용한 폐기 가능한 홍채 템플릿 생성 장치 및 방법 | |
Jureček et al. | Application of distance metric learning to automated malware detection | |
Fan et al. | Security Analysis of Alignment-Robust Cancelable Biometric Scheme for Iris Verification | |
Padmanabhan et al. | Optimal feature selection-based biometric key management for identity management system: emotion oriented facial biometric system | |
Wai et al. | Clustering based opcode graph generation for malware variant detection | |
KR20190129417A (ko) | 바이오매트릭스와 Fuzzy Vault를 이용하여 암호학적 키를 생성하는 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |