KR101077975B1 - 생체 정보 퍼지 볼트 생성방법 및 생체 정보 퍼지 볼트를 이용한 인증 방법 - Google Patents

생체 정보 퍼지 볼트 생성방법 및 생체 정보 퍼지 볼트를 이용한 인증 방법 Download PDF

Info

Publication number
KR101077975B1
KR101077975B1 KR1020090122010A KR20090122010A KR101077975B1 KR 101077975 B1 KR101077975 B1 KR 101077975B1 KR 1020090122010 A KR1020090122010 A KR 1020090122010A KR 20090122010 A KR20090122010 A KR 20090122010A KR 101077975 B1 KR101077975 B1 KR 101077975B1
Authority
KR
South Korea
Prior art keywords
polynomial
server
feature point
security token
smart card
Prior art date
Application number
KR1020090122010A
Other languages
English (en)
Other versions
KR20110065139A (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 KR1020090122010A priority Critical patent/KR101077975B1/ko
Publication of KR20110065139A publication Critical patent/KR20110065139A/ko
Application granted granted Critical
Publication of KR101077975B1 publication Critical patent/KR101077975B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/08Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means
    • G06K19/10Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means at least one kind of marking being used for authentication, e.g. of credit or identity cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Collating Specific Patterns (AREA)

Abstract

본 발명은 생체 정보 퍼지 볼트 생성방법 및 생체 정보 퍼지 볼트를 이용한 인증 방법에 관한 것으로서, 스마트 카드에 대응하는 생체 정보 특징점을 제 1 다항식에 대입하여 생체 정보 특징점 대응 좌표를 생성하고, 제 1 다항식을 만족하지 않는 거짓 특징점 대응 좌표를 생성한 후, 생체 정보 특징점 대응 좌표와 거짓 특징점 대응 좌표를 이용하여 제 1 볼트를 생성한다. 이때 제 1 다항식의 차수는 제 1 장치에 대응하는 생체 정보 특징점의 갯수와 비교할 때 같거나 큰 것을 특징으로 하며, 스마트 카드와 서버에 있는 지문 특징점들을 모두 획득한 경우에만 다항식이 복원되므로, 보안성을 향상시키고 인증 정확도를 떨어뜨리지 않을 수 있다.

Description

생체 정보 퍼지 볼트 생성방법 및 생체 정보 퍼지 볼트를 이용한 인증 방법{Method of generating fuzzy vault based on biometric information and verifying user's indentification using fuzzy vault}
본 발명은 생체 정보 퍼지 볼트 생성방법 및 생체 정보 퍼지 볼트를 이용한 인증 방법에 관한 것으로서, 더욱 상세하게는 인증 정확도를 떨어뜨리지 않으면서, 보안성을 향상시키는 생체 정보 퍼지 볼트 생성방법 및 인증 방법에 관한 것이다.
최근 지문이 사용자 바이오 인증에 널리 사용되고 있다. 지문 템플릿이 데이터베이스 및/또는 스마트 카드에 저장되기 때문에 많은 보안 위험에 노출되어 있다. 사용자 지문의 특징을 저장하는 지문 템플릿이 유출되면 사용자는 유출된 지문을 사용자 인증에 다시 사용할 수 없게 된다.
지문 템플릿을 보호하는데 가장 어려운 점 중에 같은 사용자로부터 획득한 하나의 지문 정보가 측정시마다 달라질 수 있다는 점이다. 이러한 점을 해결하기 위해 퍼지 볼트(fuzzy vault)라는 암호이론을 사용하는데, 퍼지 볼트 암호이론은 다항식 복원의 어려움에 기초하여 지문 템플릿을 보호하는데 널리 사용되는 기술이다. 즉, 퍼지 볼트 암호 이론에서는 랜덤 함수를 통하여 거짓 특징점(Chaff Minutiae)을 생성한 후, 사용자의 지문 특징점(Real Minutiae)과 함께 지문 템플릿을 구성한다. 퍼지 볼트란 거짓 특징점과 사용자의 지문 특징점을 이용하여 구성한 지문 템플릿을 의미한다.
한편, 지문 퍼지볼트 시스템의 보안성은 지문 템플릿으로부터 지문 특징점과 거짓 특징점을 구분하는 어려움에 기반을 둔다.
일반적으로 채프(chaff)라는 거짓 특징점들을 퍼지 볼트에 더함으로써, 지문 특징점들을 보호한다. 이때 스마트 카드는 단지 저장장치로 사용되며, 스마트 카드에 저장되는 모든 지문 데이터는 지문 인증을 하기 위해 서버로 전달된다. 또한 사용자의 지문 특징점을 숨기기 위한 거짓 특징점의 최대 수는 지문 센서의 크기에 의해 제한된다. 거짓 특징점이 사용자의 지문 특징점에 많이 삽입될수록 보안이 강화된다. 그러나 센서 크기에 의해 결정되는 고정된 이미지 평면에 많은 거짓 특징점들을 삽입하는 것은 인증의 정확성을 상당히 떨어뜨릴 수 있다.
도 1은 일반적인 지문 퍼지 볼트를 이용한 사용자 인증 시스템의 구성도이다.
도 1을 참조하면, 일반적인 지문 퍼지 볼트를 이용한 사용자 인증 장치는 지문정보 추출부(100), 인증부(110), 및 데이터베이스부(120)로 구성된다.
지문정보 추출부(100)는 인증을 수행하고자 하는 사용자의 지문 영상에서 지문 정보를 추출한다. 추출되는 지문 정보는 사용자가 인증하고자 할 때 입력하는 지문 영상으로부터 추출된 인증 지문 정보와 인증 지문 정보와 비교 대상이 되는 등록 지문 정보를 포함한다.
인증부(110)는 미리 저장된 등록 지문 정보와 인증 지문 정보를 비교하여 사용자 인증을 수행한다. 인증부(110)는 데이터베이스부(120)에 저장된 등록 지문 정보와 지문 정보 추출부(100)가 추출한 인증 지문 정보를 특정 다항식을 이용하여 상호 비교하고, 비교 결과 지문 정보가 유사할 경우 사용자의 인증에 성공하고, 유사하지 않을 경우 사용자의 인증에 실패하게 된다.
데이터베이스부(120)는 지문정보 추출부(100)가 추출한 등록 지문 정보를 저장한다.
이러한 일반적인 지문 퍼지 볼트를 이용한 사용자 인증 시스템에서는 미리 저장된 등록 지문 정보가 노출될 경우 보안에 큰 문제가 되므로 이를 보완하는 방법이 필요하다.
따라서, 본 발명이 해결하고자 하는 첫 번째 과제는 보안성을 향상시키고 인증 정확도를 떨어뜨리지 않는 생체 정보 퍼지 볼트 생성방법을 제공하는 것이다.
본 발명이 해결하고자 하는 두 번째 과제는 보안성을 향상시키고 인증 정확도를 떨어뜨리지 않는 생체 정보 퍼지 볼트를 이용한 인증 방법을 제공하는 것이다.
본 발명은 상기 첫 번째 과제를 달성하기 위하여, 제 1 장치에 대응하는 생체 정보 특징점을 제 1 다항식에 대입하여 생체 정보 특징점 대응 좌표를 생성하는 단계; 상기 제 1 다항식을 만족하지 않는 거짓 특징점 대응 좌표를 생성하는 단계; 및 상기 생체 정보 특징점 대응 좌표와 상기 거짓 특징점 대응 좌표를 이용하여 제 1 볼트를 생성하는 단계를 포함하고, 상기 제 1 다항식의 차수는 상기 제 1 장치에 대응하는 생체 정보 특징점의 갯수와 비교할 때 같거나 큰 것을 특징으로 하는 생체 정보 퍼지 볼트 생성방법을 제공한다.
또한, 본 발명은 상기 첫 번째 과제를 달성하기 위하여 다항식 특징점을 제 1 장치로부터 수신하는 단계; 상기 다항식 특징점의 좌표를 이용하여 제 2 다항식의 계수를 생성하는 단계; 제 2 장치에 대응하는 생체 정보 특징점을 상기 제 2 다항식에 대입하여 생체 정보 특징점 대응 좌표를 생성하는 단계; 상기 제 2 다항식을 만족하지 않는 거짓 특징점 대응 좌표를 생성하는 단계; 및 상기 생체 정보 특 징점 대응 좌표와 상기 거짓 특징점 대응 좌표를 이용하여 제 2 볼트를 생성하는 단계를 포함하는 것을 특징으로 하는 생체 정보 퍼지 볼트 생성방법을 제공한다.
본 발명은 상기 두 번째 과제를 달성하기 위하여, 입력된 지문 정보와 제 2 볼트에 대하여 지문 정합을 수행하고, 정합 특징점 좌표를 생성하는 단계; 상기 정합 특징점 좌표를 이용하여 제 2 다항식의 계수를 추정하는 단계; 및 상기 추정된 제 2 다항식의 계수를 제 1 장치로 전송하는 단계를 포함하는 것을 특징으로 하는 생체 정보 퍼지 볼트를 이용한 인증 방법을 제공한다.
또한, 본 발명은 상기 두 번째 과제를 달성하기 위하여, 입력된 지문 정보와 제 1 볼트에 대하여 지문 정합을 수행하고, 정합 특징점 좌표를 생성하는 단계; 제 2 장치로부터 수신된 제 2 다항식의 계수로부터 생성한 생체 정보 특징점 및 상기 생성된 정합 특징점을 이용하여 제 1 다항식의 계수를 추정하는 단계; 및 상기 추정된 제 1 다항식의 계수와 상기 제 1 볼트를 생성할 때 사용한 제 1 다항식의 계수를 비교하여 일치하는 경우 사용자 인증하는 단계를 포함하는 것을 특징으로 하는 생체 정보 퍼지 볼트를 이용한 인증 방법을 제공한다.
본 발명에 따르면, 스마트 카드와 서버에 있는 지문 특징점들을 모두 획득한 경우에만 다항식이 복원되므로, 보안성을 향상시키고 인증 정확도를 떨어뜨리지 않을 수 있다. 또한 본 발명에 따르면, 리소스가 많이 요구되는 작업을 서버에서 수행함으로써, 스마트 카드는 많은 리소스를 필요로 하지 않기 때문에 실시간으로 사용자 인증을 수행할 수 있다. 나아가 본 발명에 따르면, 서버나 스마트카드 중 어 느 하나의 장치가 다항식을 복원할 수 있는 충분한 양의 특징점 정보를 갖고 있지 않도록 하여 어느 한 곳의 특징점 정보가 노출될 경우에 사용자 인증에 성공할 수 있는 것을 방지할 수 있다.
이하, 본 발명을 상세하게 설명한다.
본 발명의 일 실시예에 따른 생체 정보 퍼지 볼트 생성방법은 스마트 카드에 대응하는 생체 정보 특징점을 스마트 카드 다항식에 대입하여 생체 정보 특징점 대응 좌표를 생성하는 단계; 상기 스마트 카드 다항식을 만족하지 않는 거짓 특징점 대응 좌표를 생성하는 단계; 및 상기 생체 정보 특징점 대응 좌표와 상기 거짓 특징점 대응 좌표를 이용하여 스마트 카드 볼트를 생성하는 단계를 포함하고, 상기 스마트 카드 다항식의 차수는 상기 스마트 카드에 대응하는 생체 정보 특징점의 갯수와 비교할 때 같거나 큰 것을 특징으로 하는 생체 정보 퍼지 볼트 생성방법을 제공한다.
또한, 본 발명은 상기 첫 번째 과제를 달성하기 위하여 다항식 특징점을 스마트 카드로부터 수신하는 단계; 상기 다항식 특징점의 좌표를 이용하여 서버 다항식의 계수를 생성하는 단계; 서버에 대응하는 생체 정보 특징점을 상기 서버 다항식에 대입하여 생체 정보 특징점 대응 좌표를 생성하는 단계; 상기 서버 다항식을 만족하지 않는 거짓 특징점 대응 좌표를 생성하는 단계; 및 상기 생체 정보 특징점 대응 좌표와 상기 거짓 특징점 대응 좌표를 이용하여 서버 볼트를 생성하는 단계를 포함하는 것을 특징으로 하는 생체 정보 퍼지 볼트 생성방법을 제공한다.
본 발명은 상기 두 번째 과제를 달성하기 위하여, 입력된 지문 정보와 서버 볼트에 대하여 지문 정합을 수행하고, 정합 특징점 좌표를 생성하는 단계; 상기 정합 특징점 좌표를 이용하여 서버 다항식의 계수를 추정하는 단계; 및 상기 추정된 서버 다항식의 계수를 스마트 카드로 전송하는 단계를 포함하는 것을 특징으로 하는 생체 정보 퍼지 볼트를 이용한 인증 방법을 제공한다.
또한, 본 발명은 상기 두 번째 과제를 달성하기 위하여, 입력된 지문 정보와 스마트 카드 볼트에 대하여 지문 정합을 수행하고, 정합 특징점 좌표를 생성하는 단계; 서버로부터 수신된 서버 다항식의 계수로부터 생성한 생체 정보 특징점 및 상기 생성된 정합 특징점을 이용하여 스마트 카드 다항식의 계수를 추정하는 단계; 및 상기 추정된 스마트 카드 다항식의 계수와 상기 스마트 카드 볼트를 생성할 때 사용한 스마트 카드 다항식의 계수를 비교하여 일치하는 경우 사용자 인증하는 단계를 포함하는 것을 특징으로 하는 생체 정보 퍼지 볼트를 이용한 인증 방법을 제공한다.
이하, 바람직한 실시예를 들어 본 발명을 더욱 상세하게 설명한다. 그러나 이들 실시예는 본 발명을 보다 구체적으로 설명하기 위한 것으로, 본 발명의 범위가 이에 의하여 제한되지 않는다는 것은 당업계의 통상의 지식을 가진 자에게 자명할 것이다.
생체 정보를 이용한 사용자 인증 시스템은 사용자의 생체 정보를 데이터베이스에 등록시키는 등록과정과 사용자의 인증을 위한 인증 과정으로 나누어진다.
본 발명의 일 실시예에서는 사용자의 생체 정보를 보호하기 위하여 퍼지 볼 트 이론을 이용하고, 높은 보안성을 위하여 스마트카드와 서버에 생체 정보를 분산 저장하는 방법을 이용한다. 이때, 사용자 인증에 성공하기 위해서는 서버와 스마트카드에 저장된 생체 정보가 사용자로부터 입력되는 생체 정보와 정합되는 특징점이 존재해야 하며, 그 수는 다항식을 복원하기에 충분해야 한다. 그러나 퍼지 볼트 이론을 이용하는 경우 다항식을 복원하기 전에는 사용자 특징점과 가짜 특징점을 구분할 수 없기 때문에, 정합된 특징점이 서버와 스마트카드에 저장된 특징점인지 알 수 없다. 따라서 스마트카드와 서버 모두에서 사용자 인증 여부를 결정할 수 있는 사용자 인증 방법이 필요하다. 이하에서는 이를 구체적으로 구현하는 장치 및 방법을 살펴보기로 한다. 이하의 실시예들은 생체 정보 중 대표적으로 지문의 경우를 예로 들어 설명하고 있으나, 홍채, 음성, 얼굴 등 다양한 생체 정보에도 마찬가지로 적용될 수 있을 것이다. 또한 스마트 카드와 서버는 본 발명의 일 실시예에서 사용되는 장치에 불과하며, 다양한 기기에 적용이 가능할 것이다.
도 2는 본 발명의 일 실시예에 따른 지문 퍼지 볼트를 이용한 사용자 인증 시스템의 구성도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 지문 퍼지 볼트를 이용한 사용자 인증 시스템은 지문 단말기(200), 서버부(230), 및 스마트 카드부(240)로 구성된다. 지문 단말기(200)는 지문 특징점 추출부(210)와 지문 특징점 분산부(220)로 구성된다. 본 발명의 다른 실시예에 따른 지문 퍼지 볼트를 이용한 사용자 인증 시스템은 서버부(230)가 지문 특징점 추출부(210)와 지문 특징점 분산부(220)를 포함하여 구성될 수 있으며, 본 발명의 실시예는 이에 한정되지 아니한다.
지문 단말기(200)는 인증을 수행하고자 하는 사용자의 지문 영상에서 지문 특징점을 추출하고, 서버부(230)와 스마트 카드부(240)에 지문 특징점을 전송한다. 이때 인증시에는 추출된 지문 특징점 전부를 서버부(230)와 스마트 카드부(240)에 전송하고, 지문 퍼지 볼트를 생성시에는 추출된 지문 특징점을 분산하여 서버부(230)와 스마트 카드부(240)에 전송할 수도 있다.
지문 특징점 추출부(210)는 인증을 수행하고자 하는 사용자의 지문 영상에서 지문 특징점을 추출한다. 추출되는 지문 특징점은 지문 퍼지 볼트를 생성하는데 사용되는 등록 지문 특징점과 사용자가 인증할 때 사용하는 인증 지문 특징점을 포함한다. 등록 지문 특징점은 서버부(230)와 스마트 카드부(240)로 분산되어 저장되고, 인증 지문 특징점은 서버부(230)와 스마트 카드부(240)에 각각 전송되는 것이 바람직하다.
지문 특징점 분산부(220)는 지문 특징점 추출부(210)가 추출한 등록 지문 특징점을 서버부(230)와 스마트 카드부(240)에 분산하여 전송한다.
서버부(230)는 지문 특징점 분산부(220)로부터 서버부(230)로 분산된 등록 지문 특징점을 수신하거나, 지문 특징점 추출부(210)로부터 추출된 인증 지문 특징점을 수신한다. 서버부(230)는 등록 지문 특징점을 이용하여 서버 볼트를 생성하고, 인증 지문 특징점을 이용하여 서버 다항식의 계수를 추정하고, 추정된 서버 다항식의 계수를 스마트 카드부(240)로 전송한다.
스마트 카드부(240)는 지문 특징점 분산부(220)로부터 스마트 카드부(240)로 분산된 등록 지문 특징점을 수신하거나, 지문 특징점 추출부(210)로부터 추출된 인 증 지문 특징점을 수신한다. 스마트 카드부(240)는 등록 지문 특징점을 이용하여 스마트 카드 볼트를 생성하고, 인증 지문 특징점과 서버부(230)로부터 수신한 서버 다항식의 계수를 이용하여 사용자를 인증한다. 스마트 카드부(240)는 보안 토큰(HSM, Hardware Security Module)의 일종으로 보안 토큰에 속하는 다른 기기로 대체 가능할 것이다. 보안 토큰은 전자 서명 생성 키 등 비밀 정보를 안전하게 저장 및 보관할 수 있고 기기 내부에 프로세스 및 암호 연산 장치가 있어 전자 서명 키 생성, 전자 서명 생성 및 검증 등이 가능한 하드웨어 장치를 말한다.
본 발명의 일 실시예에서는 스마트 카드부(240)에서의 퍼지볼트 다항식을 제 1 다항식 또는 스마트 카드 다항식이라 하고, 이 다항식은 최종적으로 사용자 인증 여부를 결정하는데 이용된다. 또한, 서버부(230)에서의 퍼지볼트 다항식을 제 2 다항식 또는 서버 다항식이라 하고, 이 다항식은 최종 다항식을 복원하기 위해 필요한 정보를 스마트 카드부(240)에 제공해 주는 다항식이다. 즉, 제 2 다항식이 올바르게 복원되어야 제 1 다항식을 복원할 수 있음을 알 수 있다.
도 3은 본 발명의 일 실시예에 따른 스마트 카드 볼트 생성장치의 블록도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 스마트 카드 볼트 생성장치는 수신부(310), 다항식 계수 생성부(320), 지문 특징점 변환부(330), 지문 특징점 대응좌표 생성부(340), 스마트 카드 볼트 생성부(350), 다항식 특징점 선택부(360), 및 송신부(370)로 구성된다. 도 2와 도 3을 참조하여 스마트 카드부(240)에 포함된 스마트 카드 볼트 생성장치를 설명하기로 한다.
수신부(310)는 지문 특징점 분산부(220)로부터 스마트 카드부(240)에 할당된 등록 지문 특징점을 수신한다. 수신된 n개의 등록 지문 특징점의 집합 L을
Figure 112009076135791-pat00001
과 같이 표현할 수 있다. 스마트 카드부(240)에 할당된 등록 지문 특징점외의 다른 지문 특징점들은 서버부(230)에 할당될 것이다.
다항식 계수 생성부(320)는 스마트 카드 다항식의 다항식 계수를 생성한다. 개인키 정보 S로부터 스마트 카드 다항식의 계수를 생성한다. 이후 인증시에 개인키 정보 S를 해쉬함수 h에 대입하여 해쉬값 h(S)를 생성한 후, 인증할 때 추정되는 스마트 카드 다항식의 계수를 해쉬함수 h에 대입한 값과 이 해쉬값 h(S)를 비교하여 사용자 인증을 수행한다. 스마트 카드 다항식 p(x), 개인키 정보 S, 스마트 카드 다항식의 계수 ai, 및 해쉬값 κ는 다음과 같이 표현된다.
Figure 112009076135791-pat00002
지문 특징점 변환부(330)는 수신부(310)가 수신한 등록 지문 특징점을 스마트 카드 다항식에 대입할 수 있는 값으로 변환한다. 등록 지문 특징점을 변환하기 위해서 등록 지문 특징점의 x,y 좌표를 해쉬함수에 대입함으로써 변환할 수 있다. 해쉬 함수(hash function)는 임의 길이의 비트열을 특정 길이의 비트열로 대응시키는 함수이다. 따라서, x,y 좌표를 2진 비트열로 표현하여 결합하고, 결합된 비트열을 해쉬 함수에 대입하여 특정 길이의 비트열을 얻음으로써 변환이 가능하다. 등록 지문 특징점을 변환하는 다른 방법으로는 등록 지문 특징점의 집합 L의 원소들을 GF(p2)의 원소로 변환하는 방법이 있다. 만일 GF(p2)의 원소를 AX+B(A,B∈GF(p))로 표시하면, 등록 지문 특징점의 x,y 좌표를 A,B 대신 사용함으로써 집합 L의 원소들을 GF(p2)의 원소로 변환할 수 있다.
지문 특징점 대응좌표 생성부(340)는 등록 지문 특징점으로부터 변환된 값을 스마트 카드 다항식에 대입하여, 등록 지문 특징점에 대응하는 좌표를 생성한다. 만일 등록 지문 특징점의 집합 L의 원소들을 GF(p2)의 원소로 변환하면, 이 값을 스마트 카드 다항식 p(x) 상에 사영하여 집합 RL을 생성한다. 상술한 내용을 수식으로 표현하면 다음과 같다. 다항식 연산은 GF(p2) 상에서 수행되는 것이 바람직하다.
Figure 112009076135791-pat00003
스마트 카드 볼트 생성부(350)는 거짓 특징점을 생성하여 집합 RL과 통합함으로써, 스마트 카드 볼트를 생성한다. 스마트 카드 볼트 생성부(350)는 등록 지문 특징점 집합 L을 숨기기 위해 거짓 특징점의 집합 C를 생성한다. 이를 수식으로 표현하면 다음과 같다.
Figure 112009076135791-pat00004
여기서, ai는 0이 아닌 임의의 수이다. 이때 거짓 특징점의 집합 C는 스마트 카드 다항식을 만족하지 않는 것이 바람직하다.
스마트 카드 볼트 생성부(350)는 집합 RL과 집합 C를 통합하여 집합 R을 구성한다. 집합 R은 다음과 같이 표현된다.
Figure 112009076135791-pat00005
스마트 카드 볼트 생성부(350)는 집합 R과 개인키 정보 S의 해쉬값(κ) 및 스마트 카드 다항식의 차수 k로 구성된 볼트를 다음과 같이 생성한다.
Figure 112009076135791-pat00006
이하에서 설명할 서버 볼트 생성장치가 서버 볼트를 생성할 때도 스마트 카드 볼트를 생성하는 방법과 마찬가지로 생성하는 것이 바람직할 것이다.
다항식 특징점 선택부(360)는 스마트 카드 다항식을 만족하는 임의의 다항식 특징점을 선택한다. 임의의 다항식 특징점은 등록 지문 특징점을 제외하는 것이 바람직하다. 임의의 다항식 특징점이 5개(m1~m5)인 경우 m1(b0,b1), m2(b2,b3), m3(b4,b5), m4(b6,b7), m5(b8,b9)과 같이 표현될 수 있다. 한편, 임의의 다항식 특징점의 갯수는 스마트 카드 다항식의 차수와 같거나 작고, 선택된 다항식 특징점들은 스마트 카드부(240)에 할당된 등록 지문 특징점과는 다른 점이다.
송신부(370)는 다항식 특징점 선택부(360)가 선택한 다항식 특징점의 x좌표와 y좌표를 서버부(230)로 전송한다. 전송된 다항식 특징점의 x,y좌표는 서버부(230)가 서버 다항식을 생성하는데 사용된다.
도 4는 본 발명의 일 실시예에 따른 서버 볼트 생성장치의 블록도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 서버 볼트 생성장치는 수신부(410), 다항식 계수 생성부(420), 지문 특징점 변환부(430), 지문 특징점 대응좌표 생성부(440), 및 서버 볼트 생성부(450)로 구성된다. 도 2 내지 도 4를 참조하여 서버부(230)에 포함된 서버 볼트 생성장치를 설명하기로 한다.
수신부(410)는 스마트 카드부(240)의 송신부(370)로부터 다항식 특징점 정보와 지문 특징점 분산부(220)로부터 서버부(230)에 할당된 등록 지문 특징점을 수신한다. 다항식 특징점 정보는 다항식 특징점의 x,y좌표인 것이 바람직하다. 수신된 등록 지문 특징점 집합을 집합 Q로 표현할 수 있다.
다항식 계수 생성부(420)는 다항식 특징점 정보를 이용하여 서버 다항식의 계수를 생성한다. 수신부(410)가 스마트 카드부(240)의 송신부(370)로부터 수신한 다항식 특징점 정보가 m1(b0,b1), m2(b2,b3), m3(b4,b5), m4(b6,b7), m5(b8,b9)인 경우 서버 다항식 s(x)은 다음과 같이 표현될 수 있다.
s(x)=b9x9+b8x8+b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b0
지문 특징점 변환부(430)는 수신부(410)가 수신한 등록 지문 특징점을 서버 다항식에 대입할 수 있는 값으로 변환한다. 등록 지문 특징점을 서버 다항식에 대입할 수 있는 값으로 변환하는 방법은 지문 특징점 변환부(330)와 동일한 방법인 것이 바람직하다. 예를 들면, 등록 지문 특징점 집합 Q의 원소들을 GF(s2)의 원소로 변환한다.
지문 특징점 대응좌표 생성부(440)는 등록 지문 특징점으로부터 변환된 값을 서버 다항식에 대입하여, 등록 지문 특징점에 대응하는 좌표를 생성한다. 서버 다항식은 다항식 계수 생성부(420)로부터 수신한 다항식 계수로부터 생성할 수 있다.
예를 들면, 등록 지문 특징점 집합 Q의 원소들을 GF(s2)의 원소로 변환하고, 이 값을 서버 다항식 s(x) 상에 사영하여 집합 RQ를 생성한다. 만일 GF(s2)의 원소를 AX+B(A,B∈GF(s))로 표시하면, 등록 지문 특징점의 x,y 좌표를 A,B 대신 사용할 수 있다.
서버 볼트 생성부(450)는 거짓 특징점을 생성하여 등록 지문 특징점의 집합 RQ와 통합함으로써, 서버 볼트를 생성한다. 서버 볼트 생성부(450)는 등록 지문 특징점 집합 Q를 숨기기 위해 거짓 특징점의 집합 C'를 생성한다. 이때 거짓 특징점의 집합 C'은 서버 다항식을 만족하지 않는 것이 바람직하다.
본 발명의 일 실시예에 따르면, 보안을 강화하기 위해 많은 수의 거짓 특징점을 사용할 수 있다. 등록 지문 특징점들은 스마트 카드부(240)와 서버부(230)에 분리되어 저장되고, 종래보다 많은 거짓 특징점들이 스마트 카드부(240)와 서버 부(230) 각각에 삽입되어 두 개의 퍼지 볼트가 생성된다. 다만, 스마트 카드부(240)의 리소스 한계로 인하여 리소스를 많이 사용하는 연산 작업은 서버부(230)가 수행하는 것이 바람직하다.
서버 볼트 생성부(450)는 집합 RM과 집합 C'를 통합하여 집합 R'을 구성하고, 이를 서버 볼트로 생성한다.
도 5는 본 발명의 일 실시예에 따른 서버 인증 장치의 블록도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 서버 인증 장치는 수신부(510), 정합 특징점 좌표 생성부(520), 다항식 계수 추정부(530), 및 송신부(540)로 구성된다. 도 2와 도 5를 참조하여 서버부(230)에 포함된 서버 인증 장치를 설명하기로 한다.
수신부(510)는 지문 특징점 추출부(210)로부터 인증 지문 특징점을 수신한다.
정합 특징점 좌표 생성부(520)는 수신된 인증 지문 특징점과 서버 인증 장치에 저장된 서버 볼트를 비교하여 지문 정합을 수행하고, 정합 특징점 좌표를 생성한다. 생성되는 정합 특징점 좌표의 갯수는 서버 다항식의 차수보다 커야 서버 다항식 계수의 추정이 가능하다.
다항식 계수 추정부(530)는 생성된 정합 특징점 좌표를 이용하여 서버 다항식을 추정한다. 추정된 서버 다항식을 s'(x)라고 하면, s'(x)=b9'x9+b8'x8+b7'x7+b6'x6+b5'x5+b4'x4+b3'x3+b2'x2+b1'x+b0'과 같이 표현될 수 있 다.
송신부(540)는 추정된 서버 다항식의 계수를 스마트 카드부(240)로 전송한다.
도 6은 본 발명의 일 실시예에 따른 스마트 카드 인증 장치의 블록도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 스마트 카드 인증 장치는 수신부(610), 정합 특징점 좌표 생성부(620), 다항식 계수 추정부(630), 및 인증부(640)로 구성된다. 도 2, 도 5 및 도 6을 참조하여 스마트 카드부(240)에 포함된 스마트 카드 인증 장치를 설명하기로 한다.
수신부(610)는 서버부(230)의 송신부(540)로부터 서버 다항식의 계수를 수신하고, 지문 단말기(200)의 지문 특징점 추출부(210)로부터 인증 지문 특징점을 수신한다. 인증 지문 특징점이 m개인 경우 인증 지문 특징점 집합 U는
Figure 112009076135791-pat00007
과 같이 표현할 수 있다.
정합 특징점 좌표 생성부(620)는 수신된 인증 지문 특징점과 스마트 카드 볼트를 비교하여 지문 정합을 수행하고, 정합 특징점 좌표를 생성한다. 집합 U와 스마트 카드 볼트 V를 입력으로 하는 지문 정합을 수행한 결과 t개의 서로 일치하는 특징점을 구하고, 이들 일치하는 특징점 정보와 vi값으로 구성된 집합 M을 생성하면 다음과 같다.
Figure 112009076135791-pat00008
다항식 계수 추정부(630)는 수신된 서버 다항식의 계수를 이용하여 지문 특징점 좌표를 생성하고, 이 지문 특징점 좌표와 정합 특징점 좌표를 이용하여 스마트 카드 다항식의 계수를 추정한다. 서버 다항식의 계수를 이용하여 생성한 지문 특징점 좌표의 갯수는 스마트 카드 다항식의 차수와 같거나 작으므로, 스마트 카드 다항식의 계수를 추정하기 위해서는 정합 특징점 좌표가 적어도 하나 이상 필요하다. 예를 들면, 스마트 카드 다항식의 차수 k와 집합 M을 RSDECODE의 입력으로 하여 k차 스마트 카드 다항식 p'(x)를 복원하고 개인키 정보 S의 해쉬값 κ'을 구한다. RSDECODE은 오류가 있는 데이터를 다시 복구시키기 위해 사용하는 디코더(Reed-Solomon Decoder)이다. 동일인의 지문을 이용하여 지문 인증을 시도할 경우에도 일치하는 정합 특징점의 집합 M에 거짓 특징점이 포함될 수 있기 때문에 RSDECODE을 사용한다.
Figure 112009076135791-pat00009
인증부(640)는 다항식 계수 생성부(320)가 생성한 스마트 카드 다항식의 다항식 계수와 다항식 계수 추정부(630)가 추정한 스마트 카드 다항식의 계수를 비교하여 일치하는 경우 사용자 인증을 한다. 추정된 서버 다항식의 계수가 정확하게 복원되지 아니한 경우 추정된 스마트 카드 다항식의 계수도 역시 정확하게 복원되지 않을 것이다. 따라서 추정된 스마트 카드 다항식의 계수가 정확하게 복원되었는 지 여부만으로 서버부(230)와 스마트 카드부(240)에서의 인증이 동시에 성공하는지를 확인할 수 있다. 예를 들면, 개인키 정보 S의 해쉬값 κ와 κ'이 일치하면 사용자 인증이 성공하고 일치하지 않는 경우 사용자 인증이 실패하게 된다.
도 7은 본 발명의 일 실시예에 따른 스마트 카드에서의 생체 정보 퍼지 볼트 생성방법의 흐름도이다. 본 발명의 일 실시예에 따르면, 생체 정보가 스마트 카드와 서버에 분산되어 전송되며, 이를 이용하여 각각의 장치에서 생체 정보 퍼지 볼트를 생성한다. 이때 서버와 비교하여 상대적으로 적은 리소스를 갖는 스마트 카드와 같은 장치를 제 1 장치라고 하고, 상대적으로 많은 리소스를 갖는 서버와 같은 장치를 제 2 장치로 정의한다. 도 7은 스마트 카드와 같은 제 1 장치에서의 생체 정보 퍼지볼트 생성방법의 흐름도이다. 본 흐름도에서는 이해를 돕기 위해 지문을 생체 정보로 사용하였으나 이에 한정되지 아니하여 홍채, 얼굴, 음성 등을 생체 정보로 사용할 수 있다.
우선, 사용자의 등록 지문 특징점을 스마트 카드부(240)와 서버부(230)에 분산함으로써, 보다 강화된 보안성과 인증 정확성을 동시에 확보하도록 하기 위해 보안 레벨과 스마트 카드부(240)의 계산 부담을 고려하여 스마트 카드부(240)에 저장될 사용자 등록 지문 특징점의 갯수를 정한다.
지문 특징점 분산부(220)는 지문 특징점 추출부(210)가 추출한 등록 지문 특징점들 중에서 n개의 등록 지문 특징점을 스마트 카드부(240)로 전송하고, 나머지 등록 지문 특징점을 서버부(230)로 전송한다. 따라서 권한이 없는 자가 스마트 카드부(240)에 저장된 퍼지 볼트를 안다고 하더라도, 스마트 카드부(240)의 퍼지 볼 트에는 n개의 등록 지문 특징점만이 저장되어 있기 때문에 n차 다항식을 복원할 수 없다. n차 다항식은 서버에 저장된 퍼지 볼트만을 가지고도 복원할 수 없는 다항식이다. 복원된 n차 다항식의 계수는 개인키를 생성하는데 사용될 수 있다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 스마트 카드에서의 생체 정보 퍼지 볼트 생성방법은 도 3에 도시된 스마트 카드 볼트 생성장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 3에 도시된 스마트 카드 볼트 생성장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 생체 정보 퍼지 볼트 생성방법에도 적용된다.
본 발명의 일 실시예에 따른 스마트 카드 볼트 생성 장치가 스마트 카드 볼트를 생성하기 전에 지문 단말기(200)는 사용자의 지문 이미지로부터 등록 지문 특징점을 추출한다. 스마트 카드 볼트 생성 장치는 스마트 카드에 저장할 갯수 만큼의 등록 지문 특징점을 지문 단말기(200)로부터 수신한다.
710 단계에서 스마트 카드 볼트 생성 장치는 스마트 카드에서 이용할 등록 지문 특징점을 스마트 카드 다항식에 대입하여 등록 지문 특징점 대응좌표를 생성한다.
720 단계에서 스마트 카드 볼트 생성 장치는 스마트 카드 다항식을 만족하지 않는 거짓 특징점 대응 좌표를 생성한다.
730 단계에서 스마트 카드 볼트 생성 장치는 등록 지문 특징점 대응좌표와 거짓 특징점 대응 좌표를 이용하여 스마트 카드 볼트를 생성한다. 생성된 스마트 카드 퍼지 볼트는 스마트 카드에 저장되는 것이 바람직하다.
도 8은 본 발명의 일 실시예에 따른 서버에서의 생체 정보 퍼지 볼트 생성방법의 흐름도이다. 도 8은 서버와 같은 제 2 장치에서의 생체 정보 퍼지볼트 생성방법의 흐름도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 서버에서의 생체 정보 퍼지 볼트 생성방법은 도 4에 도시된 서버 볼트 생성장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 4에 도시된 서버 볼트 생성장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 생체 정보 퍼지 볼트 생성방법에도 적용된다.
810 단계에서 서버 볼트 생성 장치는 다항식 특징점을 스마트 카드로부터 수신한다.
820 단계에서 서버 볼트 생성 장치는 다항식 특징점의 좌표를 이용하여 서버 다항식의 계수를 생성한다.
830 단계에서 서버 볼트 생성 장치는 서버에서 이용할 등록 지문 특징점을 서버 다항식에 대입하여 등록 지문 특징점 대응 좌표를 생성한다.
840 단계에서 서버 볼트 생성 장치는 서버 다항식을 만족하지 않는 거짓 특징점 대응 좌표를 생성한다.
850 단계에서 서버 볼트 생성 장치는 등록 지문 특징점 대응 좌표와 거짓 특징점 대응 좌표를 이용하여 서버 볼트를 생성한다.
도 9는 본 발명의 일 실시예에 따른 서버에서의 생체 정보 퍼지 볼트를 이용한 인증방법의 흐름도이다. 도 9는 서버와 같은 제 2 장치에서의 생체 정보 퍼지볼 트를 이용한 인증방법의 흐름도이다.
본 발명의 일 실시예에 따른 서버에서의 생체 정보 퍼지 볼트를 이용한 인증방법은 인증 지문 특징점으로부터 스마트 카드 다항식을 복원하는 방법이다. 스마트 카드 다항식은 스마트 카드에 저장된 등록 지문 특징점만 갖고는 복원될 수 없기 때문에 스마트 카드에 저장된 등록 지문 특징점과 서버에서 복원된 서버 다항식의 계수를 이용하여 스마트 카드 다항식을 복원한다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 서버에서의 생체 정보 퍼지 볼트를 이용한 인증방법은 도 5에 도시된 서버 인증 장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 5에 도시된 서버 인증 장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 생체 정보 퍼지 볼트를 이용한 인증방법에도 적용된다.
910 단계에서 서버 인증 장치는 사용자로부터 입력된 인증 지문 특징점과 서버 볼트를 비교하여 지문 정합을 수행하고, 정합 특징점 좌표를 생성한다. 또한 서버 인증 장치는 지문 정합시 정렬 정보를 생성하는 것이 바람직하다. 정렬 정보는 스마트 카드 인증 장치로 전송되어 스마트 카드 퍼지 볼트에 저장된 등록 지문 특징점과 사용자로부터 입력된 인증 지문 특징점을 정렬시키는데 사용된다. 따라서 정렬 정보는 스마트 카드 인증 장치가 지문 특징점을 매칭하는데 소요되는 계산량을 줄일 수 있도록 한다. 한편, 정렬 정보를 이용한 특징점 정렬은 사용자 지문 특징점과 거짓 특징점을 분리하지 않고 수행되고, 이러한 정렬은 어느 정도의 계산 능력을 갖고 있어야 하므로, 리소스가 제한된 스마트 카드 인증 장치에서 실시간으 로 실행되기에는 어렵다.
920 단계에서 서버 인증 장치는 정합 특징점 좌표를 이용하여 서버 다항식의 계수를 추정한다.
930 단계에서 서버 인증 장치는 추정된 서버 다항식의 계수를 스마트 카드로 전송한다. 이때 정렬 정보를 함께 스마트 카드로 전송하는 것이 바람직하다.
만일 서버 다항식을 정확하게 추정하는 경우, 서버 다항식의 계수 정보는 스마트 카드 볼트 생성과정에서 선택된 스마트 카드 다항식의 그래프 상의 다항식 특징점들의 x,y좌표와 일치할 것이다.
도 10은 본 발명의 일 실시예에 따른 스마트 카드에서의 생체 정보 퍼지 볼트를 이용한 인증방법의 흐름도이다. 도 10은 스마트 카드와 같은 제 1 장치에서의 생체 정보 퍼지볼트를 이용한 인증방법의 흐름도이다.
도 10을 참조하면, 본 발명의 일 실시예에 따른 스마트 카드에서의 생체 정보 퍼지 볼트를 이용한 인증방법은 도 6에 도시된 스마트 카드 인증 장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 6에 도시된 스마트 카드 인증 장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 생체 정보 퍼지 볼트를 이용한 인증방법에도 적용된다.
1010 단계에서 스마트 카드 인증 장치는 사용자로부터 입력된 인증 지문 특징점과 스마트 카드 볼트를 비교하여 지문 정합을 수행하고, 정합 특징점 좌표를 생성한다. 스마트 카드 인증 장치는 서버 인증 장치로부터 수신한 정렬 정보에 기초하여 인증 지문 특징점을 정렬하고, 정렬된 인증 지문 특징점과 스마트 카드 퍼 지 볼트에 저장된 사용자 지문 특징점 간에 지문 정합 작업을 수행하는 것이 바람직하다. 지문 정합 작업을 리소스가 제한된 스마트 카드에서 실시간으로 수행시 정렬 정보를 이용하면 보다 용이하게 수행할 수 있다.
1020 단계에서 스마트 카드 인증 장치는 서버로부터 수신된 서버 다항식의 계수로부터 생성된 지문 특징점 및 생성된 정합 특징점을 이용하여 스마트 카드 다항식의 계수를 추정한다.
1030 단계에서 스마트 카드 인증 장치는 추정된 스마트 카드 다항식의 계수와 스마트 카드 볼트 생성 시에 사용한 스마트 카드 다항식의 계수를 비교하여 일치하는 경우 사용자 인증을 한다.
따라서 본 발명의 일 실시예에서는 스마트 카드와 서버에 사용되는 다항식을 다르게 하고, 서버 혹은 스마트 카드 중 어느 하나에 저장되어 있는 지문 특징점만으로는 스마트 카드와 서버에 사용되는 다항식을 복원할 수 없도록 하여 보안성을 높인다.
이상의 생체 정보 퍼지 볼트 생성방법을 정리하여 살펴보면, 스마트 카드에서 임의의 다항식을 생성하고, 이 다항식으로부터 스마트 카드에 대한 퍼지 볼트가 생성되면, 다항식이 나타내는 그래프 위에 있는 임의의 점들을 선택하여 서버로 전송한다. 서버에서는 또 다른 다항식이 생성되는데, 이때 서버에서의 다항식의 계수들은 스마트 카드로부터 수신한 점들의 x-y 좌표로 구성된다.
생체 정보 퍼지 볼트를 이용한 인증방법을 살펴보면, 스마트 카드의 퍼지 볼트가 확인되어야 인증을 할 수 있다. 스마트 카드의 퍼지 볼트를 확인하기 위해서 는 서버의 다항식의 계수 및 스마트 카드에 있는 사용자 지문 특징점이 필요하다
이하에서는 본 발명의 다른 실시예에 따라 지문 퍼지 볼트를 생성하고, 이를 이용하여 사용자를 인증하는 과정을 살펴보기로 한다.
우선 본 발명의 다른 실시예에 따라 지문 퍼지 볼트을 생성하는 과정을 살펴보기로 한다.
지문 특징점 추출부(210)가 지문 특징점을 30개 추출하고, 지문 특징점 분산부(220)가 서버부(230)로 지문 특징점을 25개, 스마트 카드부(240)로 지문 특징점을 5개 분산하여 전송한다고 가정한다. 또한 서버부(230)는 거짓 특징점을 400개 사용하고, 스마트 카드부(240)는 거짓 특징점을 200개 사용한다.
스마트 카드부(240)의 다항식 계수 생성부(320)는 개인키 정보를 이용하여 임의의 5차 다항식의 계수를 생성한다. 5차 다항식은 스마트 카드부(240)에 분산 저장된 지문 특징점만을 가지고는 복원이 불가능한 최소 차수의 다항식이다. 스마트 카드 다항식인 5차 다항식은 다음과 같이 표현될 수 있다.
p(x)=bo+b1x+b2x2+b3x3+b4x4+b5x5
스마트 카드부(240)의 지문 특징점 변환부(330)는 5개의 지문 특징점을 5차 다항식에 대입할 수 있는 값으로 변환하고, 지문 특징점 대응 좌표 생성부(340)는 변환된 5개의 지문 특징점을 5차 다항식에 대입하여 좌표를 생성한다. 스마트 카드 볼트 생성부(350)는 200개의 거짓 특징점의 좌표를 생성하여 지문 특징점 대응 좌표와 결합함으로써, 스마트 카드 볼트를 생성한다.
한편, 스마트 카드부(240)의 다항식 특징점 선택부(360)는 다항식 계수 생성부(320)가 생성한 5차 다항식 계수를 이용하여 5차 다항식을 만족하는 임의의 다항식 특징점을 5개 선택한다. 송신부(370)는 선택된 5개의 임의의 다항식 특징점을 서버부(230)로 전송한다. 5개의 임의의 다항식 특징점은 다음과 같이 표현된다.
a1=p(a0), a3=p(a2), a5=p(a4), a7=p(a6), a9=p(a8)
서버부(230)는 임의의 다항식 특징점의 x,y 좌표를 계수로 하는 9차 다항식을 생성한다. 서버 다항식인 9차 다항식은 다음과 같이 표현될 수 있다.
s(x)=a0+a1x+a2x2+a3x3+a4x4+a5x5+a6x6+a7x7+a8x8+a9x9
한편, 서버부(230)의 지문 특징점 변환부(430)는 25개의 지문 특징점을 9차 다항식에 대입할 수 있는 값으로 변환하고, 지문 특징점 대응 좌표 생성부(440)는 변환된 25개의 지문 특징점을 9차 다항식에 대입하여 좌표를 생성한다. 서버 볼트 생성부(450)는 400개의 거짓 특징점의 좌표를 생성하여 지문 특징점 대응 좌표와 결합함으로써, 서버 볼트를 생성한다.
다음으로, 본 발명의 일 실시예에 따라 사용자를 인증하는 과정을 살펴보기로 한다.
서버부(230)의 정합 특징점 좌표 생성부(520)는 지문 특징점 추출부(210)로부터 추출된 인증 지문 특징점과 서버 볼트를 비교하여 지문 정합을 수행하고, 정합 특징점 좌표를 생성한다. 서버부(230)의 다항식 계수 추정부(530)는 정합 특징점 좌표를 이용하여 서버 다항식인 9차 다항식을 복원한다. 9차 다항식을 복원하기 위해서는 적어도 정합 특징점 좌표가 10개가 필요할 것이다. 복원된 9차 다항식은 다음과 같이 표현될 수 있다.
s'(x)=a0'+a1'x+a2'x2+a3'x3+a4'x4+a5'x5+a6'x6+a7'x7+a8'x8+a9'x9
서버부(230)의 송신부(540)는 복원된 9차 다항식의 계수를 스마트 카드부(240)로 전송한다.
스마트 카드부(240)의 정합 특징점 좌표 생성부(620)는 지문 특징점 추출부(210)로부터 추출된 인증 지문 특징점과 스마트 카드 볼트를 비교하여 지문 정합을 수행하고, 정합 특징점 좌표를 생성한다.
스마트 카드부(240)의 다항식 계수 추정부(630)는 서버부(230)로부터 수신한 9차 다항식의 계수 10개를 이용하여 5개의 지문 특징점을 생성하고, 이 5개의 지문 특징점과 정합 특징점 좌표를 이용하여 스마트 카드 다항식인 5차 다항식을 추정한다. 따라서 서버부(230)가 서버 다항식 s'(x)를 정확하게 복원하는 경우 하나의 정합 특징점만 있어도 다항식 복원이 가능하고, 서버부(230)가 서버 다항식 s'(x)를 정확하게 복원하지 못하는 경우 정합 특징점 좌표만을 가지고는 5차 다항식을 복원할 수 없다. 9차 다항식의 계수 10개를 이용하여 생성한 5개의 지문 특징점은 다음과 같이 표현된다.
m1(a0',a1'), m2(a2',a3'), m3(a4',a5'), m4(a6',a7'), m5(a8',a9')
5개의 지문 특징점과 정합 특징점 좌표를 이용하여 추정되는 스마트 카드 다항식인 5차 다항식은 다음과 같이 표현된다.
p'(x)=bo'+b1'x+b2'x2+b3'x3+b4'x4+b5'x5
스마트 카드부(240)의 인증부(640)는 p(x)와 p'(x)를 비교하는 데 있어서 해쉬함수(hash function)를 이용하는 것이 바람직하다. 즉, h(p(x))와 h(p'(x))를 비교하여 동일 여부를 판단한다.
도 11은 스마트 카드부(240)의 다항식 특징점 선택부(360)가 임의의 다항식 특징점 5개를 선택하여 각 좌표축으로 사영한 것을 나타낸 것이다.
즉, a1=p(a0), a3=p(a2), a5=p(a4), a7=p(a6), a9=p(a8)이고, 각각의 값은 서버부(230)로 전송되어 서버 다항식인 9차 다항식이 생성된다.
s(x)=a0+a1x+a2x2+a3x3+a4x4+a5x5+a6x6+a7x7+a8x8+a9x9
이상에서 살펴본 바와 같이 본 발명의 일 실시예에서는 스마트 카드와 서버에 사용되는 다항식을 다르게 함으로써, 서버 혹은 스마트 카드 중 어느 하나에 저장되어 있는 특징점만으로는 다항식을 복원할 수 없도록 한다.
본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관 점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 일반적인 지문 퍼지 볼트를 이용한 사용자 인증 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 지문 퍼지 볼트를 이용한 사용자 인증 시스템의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 스마트 카드 볼트 생성장치의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 서버 볼트 생성장치의 블록도이다.
도 5는 본 발명의 일 실시예에 따른 서버 인증 장치의 블록도이다.
도 6은 본 발명의 일 실시예에 따른 스마트 카드 인증 장치의 블록도이다.
도 7은 본 발명의 일 실시예에 따른 스마트 카드에서의 생체 정보 퍼지 볼트 생성방법의 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 서버에서의 생체 정보 퍼지 볼트 생성방법의 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 서버에서의 생체 정보 퍼지 볼트를 이용한 인증방법의 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 스마트 카드에서의 생체 정보 퍼지 볼트를 이용한 인증방법의 흐름도이다.
도 11은 스마트 카드부(240)의 다항식 특징점 선택부(360)가 임의의 다항식 특징점 5개를 선택하여 각 좌표축으로 사영한 것을 나타낸 것이다.

Claims (12)

  1. 보안 토큰으로 수신된 생체 정보 특징점의 좌표를 상기 보안 토큰이 사용하는 보안 토큰용 퍼지 볼트 다항식의 입력값으로 변환하여 상기 보안 토큰용 퍼지 볼트 다항식에 대입함으로써, 상기 생체 정보 특징점 대응 좌표를 생성하는 단계;
    상기 보안 토큰용 퍼지 볼트 다항식을 만족하지 않는 거짓 특징점 대응 좌표를 생성하는 단계; 및
    상기 생체 정보 특징점 대응 좌표와 상기 거짓 특징점 대응 좌표를 이용하여 상기 보안 토큰의 보안 토큰 퍼지 볼트를 생성하는 단계를 포함하고,
    상기 보안 토큰용 퍼지 볼트 다항식의 차수는 상기 보안 토큰으로 수신된 생체 정보 특징점의 갯수와 비교할 때 같거나 큰 것을 특징으로 하는 생체 정보 퍼지 볼트 생성방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 보안 토큰용 퍼지 볼트 다항식의 계수는 상기 보안 토큰의 개인키 정보를 이용하여 결정되는 것을 특징으로 하는 생체 정보 퍼지 볼트 생성방법.
  4. 제 1 항에 있어서,
    상기 보안 토큰용 퍼지 볼트 다항식을 만족하는 다항식 특징점들 중에서 상기 보안 토큰으로 수신된 생체 정보 특징점을 제외한 다항식 특징점들을 서버로 송신하는 단계를 더 포함하는 것을 특징으로 하는 생체 정보 퍼지 볼트 생성방법.
  5. 보안토큰용 퍼지 볼트 다항식을 만족하는 다항식 특징점 좌표를 보안 토큰으로부터 수신하는 단계;
    상기 다항식 특징점의 좌표를 이용하여 서버용 퍼지 볼트 다항식의 계수를 생성하는 단계;
    상기 서버로 입력된 생체 정보 특징점의 좌표를 상기 서버용 퍼지 볼트 다항식의 입력값으로 변환하여 상기 서버용 퍼지 볼트 다항식에 대입함으로써, 상기 생체 정보 특징점 대응 좌표를 생성하는 단계;
    상기 서버용 퍼지 볼트 다항식을 만족하지 않는 거짓 특징점 대응 좌표를 생성하는 단계; 및
    상기 생체 정보 특징점 대응 좌표와 상기 거짓 특징점 대응 좌표를 이용하여 상기 서버의 서버 퍼지 볼트를 생성하는 단계를 포함하는 것을 특징으로 하는 생체 정보 퍼지 볼트 생성방법.
  6. 삭제
  7. 입력된 지문 정보와 서버가 생성한 서버 퍼지 볼트에 대하여 지문 정합을 수행하고, 정합 특징점 좌표를 생성하는 단계;
    상기 정합 특징점 좌표를 이용하여 상기 서버가 사용하는 서버용 퍼지 볼트 다항식의 계수를 추정하는 단계; 및
    상기 추정된 서버용 퍼지 볼트 다항식의 계수를 보안 토큰으로 전송하는 단계를 포함하는 것을 특징으로 하는 생체 정보 퍼지 볼트를 이용한 인증 방법.
  8. 제 7 항에 있어서,
    상기 생성된 정합 특징점 좌표의 갯수는 적어도 상기 서버용 퍼지 볼트 다항식의 차수보다 큰 것을 특징으로 하는 생체 정보 퍼지 볼트를 이용한 인증 방법.
  9. 입력된 지문 정보와 보안 토큰이 생성한 보안 토큰 퍼지 볼트에 대하여 지문 정합을 수행하고, 정합 특징점 좌표를 생성하는 단계;
    서버로부터 수신된 서버용 퍼지 볼트 다항식의 계수로부터 생성한 생체 정보 특징점 및 상기 생성된 정합 특징점을 이용하여 상기 보안 토큰이 사용하는 보안 토큰용 퍼지 볼트 다항식의 계수를 추정하는 단계; 및
    상기 추정된 보안 토큰용 퍼지 볼트 다항식의 계수와 상기 보안 토큰 퍼지 볼트를 생성할 때 사용한 보안 토큰용 퍼지 볼트 다항식의 계수를 비교하여 일치하는 경우 사용자 인증하는 단계를 포함하는 것을 특징으로 하는 생체 정보 퍼지 볼트를 이용한 인증 방법.
  10. 제 9 항에 있어서,
    상기 추정된 보안 토큰용 퍼지 볼트 다항식의 차수는 상기 생체 정보 특징점의 갯수와 같거나 큰 것을 특징으로 하는 생체 정보 퍼지 볼트를 이용한 인증 방법.
  11. 제 9 항에 있어서,
    상기 사용자 인증하는 단계는
    상기 추정된 보안 토큰용 퍼지 볼트 다항식의 계수와 상기 보안 토큰 퍼지 볼트를 생성할 때 사용한 보안 토큰용 퍼지 볼트 다항식의 계수 각각을 해쉬 함수의 입력값으로 하여 출력된 결과값이 동일한 경우 사용자 인증하는 단계인 것을 특징으로 하는 생체 정보 퍼지 볼트를 이용한 인증 방법.
  12. 제 1 항, 제 3 항 내지 제 5 항, 또는 제 7 항 내지 제 11 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020090122010A 2009-12-09 2009-12-09 생체 정보 퍼지 볼트 생성방법 및 생체 정보 퍼지 볼트를 이용한 인증 방법 KR101077975B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090122010A KR101077975B1 (ko) 2009-12-09 2009-12-09 생체 정보 퍼지 볼트 생성방법 및 생체 정보 퍼지 볼트를 이용한 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090122010A KR101077975B1 (ko) 2009-12-09 2009-12-09 생체 정보 퍼지 볼트 생성방법 및 생체 정보 퍼지 볼트를 이용한 인증 방법

Publications (2)

Publication Number Publication Date
KR20110065139A KR20110065139A (ko) 2011-06-15
KR101077975B1 true KR101077975B1 (ko) 2011-10-31

Family

ID=44398455

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090122010A KR101077975B1 (ko) 2009-12-09 2009-12-09 생체 정보 퍼지 볼트 생성방법 및 생체 정보 퍼지 볼트를 이용한 인증 방법

Country Status (1)

Country Link
KR (1) KR101077975B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101249587B1 (ko) * 2011-09-09 2013-04-01 아이리텍 잉크 홍채이미지 정보를 포함하는 일회용 비밀번호가 탑재된 스마트카드
KR101268500B1 (ko) * 2012-03-30 2013-06-04 이화여자대학교 산학협력단 신뢰구간을 이용한 키 결합 방식의 비밀키 공유 방법 및 시스템
US11223478B2 (en) 2018-04-04 2022-01-11 Sri International Biometric authentication with template privacy and non-interactive re-enrollment
US11023569B2 (en) 2018-05-29 2021-06-01 Sri International Secure re-enrollment of biometric templates using functional encryption
US11321445B2 (en) 2019-10-01 2022-05-03 Visa International Service Association Delegated biometric authentication
KR102357694B1 (ko) * 2021-06-29 2022-02-08 주식회사 아이리시스 생체 정보를 이용한 퍼지 커밋먼트 기반 퍼지 축출 시스템 및 폐기 가능 생체 정보 보안 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100714303B1 (ko) 2005-12-09 2007-05-07 한국전자통신연구원 특징점을 은닉하는 지문 인식 방법 및 그 장치
KR100824733B1 (ko) 2006-12-07 2008-04-28 고려대학교 산학협력단 3차원 퍼지볼트를 이용한 지문 데이터 은닉 방법, 3차원퍼지볼트를 이용한 지문 데이터 인증 방법, 3차원퍼지볼트를 이용한 지문 데이터 은닉 장치 및 3차원퍼지볼트를 이용한 지문 데이터 인증 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100714303B1 (ko) 2005-12-09 2007-05-07 한국전자통신연구원 특징점을 은닉하는 지문 인식 방법 및 그 장치
KR100824733B1 (ko) 2006-12-07 2008-04-28 고려대학교 산학협력단 3차원 퍼지볼트를 이용한 지문 데이터 은닉 방법, 3차원퍼지볼트를 이용한 지문 데이터 인증 방법, 3차원퍼지볼트를 이용한 지문 데이터 은닉 장치 및 3차원퍼지볼트를 이용한 지문 데이터 인증 시스템

Also Published As

Publication number Publication date
KR20110065139A (ko) 2011-06-15

Similar Documents

Publication Publication Date Title
US11108546B2 (en) Biometric verification of a blockchain database transaction contributor
US10680808B2 (en) 1:N biometric authentication, encryption, signature system
US8443201B2 (en) Biometric authentication system, enrollment terminal, authentication terminal and authentication server
KR100714303B1 (ko) 특징점을 은닉하는 지문 인식 방법 및 그 장치
Lee et al. Biometric key binding: Fuzzy vault based on iris images
KR101255555B1 (ko) 보안성이 강화된 지문인식 방법 및 장치
Cimato et al. Privacy-aware biometrics: Design and implementation of a multimodal verification system
US11227037B2 (en) Computer system, verification method of confidential information, and computer
KR101077975B1 (ko) 생체 정보 퍼지 볼트 생성방법 및 생체 정보 퍼지 볼트를 이용한 인증 방법
JP2008502071A (ja) バイオメトリック・テンプレートの保護および特徴処理
US11741263B1 (en) Systems and processes for lossy biometric representations
CN103929425B (zh) 一种身份注册、身份认证的方法、设备和系统
JP6142704B2 (ja) 秘匿データ照合装置、秘匿データ照合プログラムおよび秘匿データ照合方法
US20100241865A1 (en) One-Time Password System Capable of Defending Against Phishing Attacks
Martínez et al. Secure crypto-biometric system for cloud computing
Chandra et al. Cancelable biometric template generation and protection schemes: A review
CN104751042A (zh) 基于密码哈希与生物特征识别的可信性检测方法
Moon et al. Fingerprint template protection using fuzzy vault
JP2007188194A (ja) 認証システム、変換関数生成装置、変換関数生成方法、この変換関数生成方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムをコンピュータが実行することが可能にて記録した記録媒体
CN114168918A (zh) 基于puf的人脸信息保护及双向认证系统
KR100986980B1 (ko) 생체 인증 방법, 클라이언트 및 서버
Ponce-Hernandez et al. Template protection approaches: Fuzzy Vault scheme
Soltane et al. A review regarding the biometrics cryptography challenging design and strategies
Li et al. Fingerprint authentication based on fuzzy extractor in the mobile device
JP6780953B2 (ja) 認証装置、認証方法及び認証プログラム

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
FPAY Annual fee payment

Payment date: 20151026

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee