KR102274132B1 - 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버 및 그 동작 방법 - Google Patents
복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버 및 그 동작 방법 Download PDFInfo
- Publication number
- KR102274132B1 KR102274132B1 KR1020190113354A KR20190113354A KR102274132B1 KR 102274132 B1 KR102274132 B1 KR 102274132B1 KR 1020190113354 A KR1020190113354 A KR 1020190113354A KR 20190113354 A KR20190113354 A KR 20190113354A KR 102274132 B1 KR102274132 B1 KR 102274132B1
- Authority
- KR
- South Korea
- Prior art keywords
- verification
- matrix
- authentication
- server
- user
- Prior art date
Links
Images
Classifications
-
- 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/32—Cryptographic 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/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- 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
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Collating Specific Patterns (AREA)
Abstract
복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버 및 그 동작 방법이 개시된다. 본 발명에 따른 사용자 인증 서버 및 그 동작 방법은 사용자 단말로부터 생체 정보 인증을 통해 생성된 전자 서명 데이터가 수신되면, 복수의 검증 서버들로부터 상태 정보를 수신한 후 상기 복수의 검증 서버들 중 소정의 기준치에 부합하는 제1 검증 서버를 선택하여 상기 제1 검증 서버로 상기 전자 서명 데이터에 대한 복호화 요청을 전송하고, 상기 제1 검증 서버로부터 상기 전자 서명 데이터에 대한 복호화 데이터가 수신되면, 상기 수신된 복호화 데이터를 기반으로 사용자가 진정한 사용자인지 여부를 인증함으로써, 전자 서명 기반의 사용자 인증 과정에서 보안성을 더욱 강화할 수 있다.
Description
본 발명은 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버 및 그 동작 방법에 대한 것이다.
최근, 인터넷이 널리 보급됨에 따라, 온라인을 이용한 뱅킹 서비스나 결제 시스템의 도입이 활발하게 이루어지고 있다.
이러한 온라인 뱅킹 서비스나 결제 시스템에서는 계좌 이체나 전자 결제를 하고자 하는 진정한 사람으로부터 계좌 이체 또는 전자 결제 요청이 있는지 여부를 정확하게 판단해야 할 필요가 있다.
이러한 사용자 인증 방식 중 하나로 전자 서명을 이용한 사용자 인증 방식이 존재한다. 전자 서명을 이용한 사용자 인증 방식은 발신측에서 개인키로 소정의 데이터를 전자 서명하여 수신측으로 전송하면, 수신측에서 상기 개인키에 대응되는 공개키로 전자 서명된 데이터를 복호화함으로써, 전자 서명에 대한 검증을 수행하는 방식으로 진행된다.
최근에는 지문 인식, 홍채 인식 등과 같이 사용자의 생체 정보를 인식할 수 있는 다양한 기기가 등장하면서, 생체 인식 기술을 활용하여 사용자 인증을 수행하는 다양한 인증 프로토콜도 제시되고 있다. 따라서, 이러한 생체 인식 기술과 전자 서명 기술을 조합하여 사용자 인증을 수행하는 기법에 대한 연구가 필요한 실정이다.
또한, 기존의 전자 서명을 이용한 사용자 인증 방식은 중앙에 존재하는 하나의 인증 서버가 사용자 단말로부터 수신된 전자 서명을 검증하는 방식으로 운영되고 있었기 때문에 상기 인증 서버에 문제가 발생하는 경우, 보안 상의 취약성이 드러나는 문제가 있었다.
따라서, 다수의 분산 서버들을 통해서 전자 서명을 검증하는 방식으로 보안 프로토콜을 구성함으로써, 보안성을 강화할 수 있는 기법에 대한 연구가 필요하다.
본 발명에 따른 사용자 인증 서버 및 그 동작 방법은 사용자 단말로부터 생체 정보 인증을 통해 생성된 전자 서명 데이터가 수신되면, 복수의 검증 서버들로부터 상태 정보를 수신한 후 상기 복수의 검증 서버들 중 소정의 기준치에 부합하는 제1 검증 서버를 선택하여 상기 제1 검증 서버로 상기 전자 서명 데이터에 대한 복호화 요청을 전송하고, 상기 제1 검증 서버로부터 상기 전자 서명 데이터에 대한 복호화 데이터가 수신되면, 상기 수신된 복호화 데이터를 기반으로 사용자가 진정한 사용자인지 여부를 인증함으로써, 전자 서명 기반의 사용자 인증 과정에서 보안성을 더욱 강화할 수 있도록 한다.
본 발명의 일실시예에 따른 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버는 복수의 사용자들 각각에 대한 사전 발급된 식별 데이터와 각 사용자에 대해 사전 발급된 개인키에 대응하는 공개키가 서로 대응되어 저장되어 있는 공개키 저장부, 사전 발급된 제1 개인키가 저장되어 있는 제1 사용자의 제1 사용자 단말로부터 상기 제1 사용자의 생체 정보가 인증됨에 따라 상기 제1 사용자에 대한 제1 식별 데이터와 상기 제1 개인키에 기초한 제1 전자 서명 데이터 - 상기 제1 전자 서명 데이터는 상기 제1 사용자 단말에서 상기 제1 사용자의 생체 정보가 인증되면, 상기 제1 사용자 단말이 상기 제1 개인키로 상기 제1 식별 데이터를 암호화하여 생성한 데이터임 - 가 수신되면서, 상기 제1 사용자에 대한 인증 요청이 수신되면, 상기 공개키 저장부로부터 상기 제1 식별 데이터에 대응되어 저장되어 있는 제1 공개키를 추출하는 공개키 추출부, 상기 복수의 검증 서버들로 미리 지정된 n(n은 2이상의 자연수)개의 상태 정보들의 전송을 요청하는 상태 정보 요청부, 상기 복수의 검증 서버들 각각으로부터, 상기 복수의 검증 서버들 각각에서 생성된 상기 n개의 상태 정보들을 수신하는 상태 정보 수신부, 상기 복수의 검증 서버들 각각으로부터 수신된 상기 n개의 상태 정보들을 기초로, 상기 복수의 검증 서버들 각각에 대해 상기 n개의 상태 정보들을 성분으로 갖는 n차원의 특성 벡터를 생성하는 특성 벡터 생성부, 상기 복수의 검증 서버들 각각에 대한 상기 n차원의 특성 벡터가 생성되면, 상기 n차원의 특성 벡터와 상기 제1 전자 서명 데이터를 복호화할 검증 서버를 선택하기 위한 기준으로 미리 지정된 n차원의 기준 벡터 사이의 벡터 유사도를 연산하는 벡터 유사도 연산부, 상기 복수의 검증 서버들 각각에 대해 생성된 상기 n차원의 특성 벡터 중, 상기 벡터 유사도가 최대로 연산되는 제1 특성 벡터를 선택한 후, 상기 제1 특성 벡터를 구성하는 상태 정보를 전송한 검증 서버인 제1 검증 서버를 선택하는 검증 서버 선택부, 상기 제1 검증 서버가 선택되면, 상기 제1 검증 서버로 상기 제1 공개키와 상기 제1 전자 서명 데이터를 전송하면서, 상기 제1 전자 서명 데이터에 대한 복호화 요청을 전송하는 복호화 요청부 및 상기 제1 검증 서버로부터 상기 제1 전자 서명 데이터에 대한 복호화 데이터로 제1 복호화 데이터가 수신되면, 상기 제1 복호화 데이터가 상기 제1 식별 데이터와 동일한지 비교하여 상기 제1 사용자에 대한 인증을 처리하는 인증 처리부를 포함한다.
또한, 본 발명의 일실시예에 따른 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법은 복수의 사용자들 각각에 대한 사전 발급된 식별 데이터와 각 사용자에 대해 사전 발급된 개인키에 대응하는 공개키가 서로 대응되어 저장되어 있는 공개키 저장부를 유지하는 단계, 사전 발급된 제1 개인키가 저장되어 있는 제1 사용자의 제1 사용자 단말로부터 상기 제1 사용자의 생체 정보가 인증됨에 따라 상기 제1 사용자에 대한 제1 식별 데이터와 상기 제1 개인키에 기초한 제1 전자 서명 데이터 - 상기 제1 전자 서명 데이터는 상기 제1 사용자 단말에서 상기 제1 사용자의 생체 정보가 인증되면, 상기 제1 사용자 단말이 상기 제1 개인키로 상기 제1 식별 데이터를 암호화하여 생성한 데이터임 - 가 수신되면서, 상기 제1 사용자에 대한 인증 요청이 수신되면, 상기 공개키 저장부로부터 상기 제1 식별 데이터에 대응되어 저장되어 있는 제1 공개키를 추출하는 단계, 상기 복수의 검증 서버들로 미리 지정된 n(n은 2이상의 자연수)개의 상태 정보들의 전송을 요청하는 단계, 상기 복수의 검증 서버들 각각으로부터, 상기 복수의 검증 서버들 각각에서 생성된 상기 n개의 상태 정보들을 수신하는 단계, 상기 복수의 검증 서버들 각각으로부터 수신된 상기 n개의 상태 정보들을 기초로, 상기 복수의 검증 서버들 각각에 대해 상기 n개의 상태 정보들을 성분으로 갖는 n차원의 특성 벡터를 생성하는 단계, 상기 복수의 검증 서버들 각각에 대한 상기 n차원의 특성 벡터가 생성되면, 상기 n차원의 특성 벡터와 상기 제1 전자 서명 데이터를 복호화할 검증 서버를 선택하기 위한 기준으로 미리 지정된 n차원의 기준 벡터 사이의 벡터 유사도를 연산하는 단계, 상기 복수의 검증 서버들 각각에 대해 생성된 상기 n차원의 특성 벡터 중, 상기 벡터 유사도가 최대로 연산되는 제1 특성 벡터를 선택한 후, 상기 제1 특성 벡터를 구성하는 상태 정보를 전송한 검증 서버인 제1 검증 서버를 선택하는 단계, 상기 제1 검증 서버가 선택되면, 상기 제1 검증 서버로 상기 제1 공개키와 상기 제1 전자 서명 데이터를 전송하면서, 상기 제1 전자 서명 데이터에 대한 복호화 요청을 전송하는 단계 및 상기 제1 검증 서버로부터 상기 제1 전자 서명 데이터에 대한 복호화 데이터로 제1 복호화 데이터가 수신되면, 상기 제1 복호화 데이터가 상기 제1 식별 데이터와 동일한지 비교하여 상기 제1 사용자에 대한 인증을 처리하는 단계를 포함한다.
본 발명에 따른 사용자 인증 서버 및 그 동작 방법은 사용자 단말로부터 생체 정보 인증을 통해 생성된 전자 서명 데이터가 수신되면, 복수의 검증 서버들로부터 상태 정보를 수신한 후 상기 복수의 검증 서버들 중 소정의 기준치에 부합하는 제1 검증 서버를 선택하여 상기 제1 검증 서버로 상기 전자 서명 데이터에 대한 복호화 요청을 전송하고, 상기 제1 검증 서버로부터 상기 전자 서명 데이터에 대한 복호화 데이터가 수신되면, 상기 수신된 복호화 데이터를 기반으로 사용자가 진정한 사용자인지 여부를 인증함으로써, 전자 서명 기반의 사용자 인증 과정에서 보안성을 더욱 강화할 수 있다.
도 1은 본 발명의 일실시예에 따른 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법을 도시한 순서도이다.
도 2는 본 발명의 일실시예에 따른 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명에 따른 사용자 인증 서버(110)는 공개키 저장부(111), 공개키 추출부(112), 상태 정보 요청부(113), 상태 정보 수신부(114), 특성 벡터 생성부(115), 벡터 유사도 연산부(116), 검증 서버 선택부(117), 복호화 요청부(118) 및 인증 처리부(119)를 포함한다.
공개키 저장부(111)에는 복수의 사용자들 각각에 대한 사전 발급된 식별 데이터와 각 사용자에 대해 사전 발급된 개인키에 대응하는 공개키가 서로 대응되어 저장되어 있다.
관련해서, 공개키 저장부(111)에는 하기의 표 1과 같이 데이터가 저장되어 있을 수 있다.
복수의 사용자들의 식별 데이터 | 공개키 |
식별 데이터 1 | 공개키 1 |
식별 데이터 2 | 공개키 2 |
식별 데이터 3 | 공개키 3 |
... | ... |
공개키 추출부(112)는 사전 발급된 제1 개인키가 저장되어 있는 제1 사용자의 제1 사용자 단말(130)로부터 상기 제1 사용자의 생체 정보가 인증됨에 따라 상기 제1 사용자에 대한 제1 식별 데이터와 상기 제1 개인키에 기초한 제1 전자 서명 데이터가 수신되면서, 상기 제1 사용자에 대한 인증 요청이 수신되면, 공개키 저장부(111)로부터 상기 제1 식별 데이터에 대응되어 저장되어 있는 제1 공개키를 추출한다.
여기서, 상기 제1 전자 서명 데이터는 제1 사용자 단말(130)에서 상기 제1 사용자의 생체 정보가 인증되면, 제1 사용자 단말(130)이 상기 제1 개인키로 상기 제1 식별 데이터를 암호화하여 생성한 데이터를 의미한다.
관련해서, 제1 사용자 단말(130)에는 사용자의 지문이나 홍채 등과 같은 생체 정보를 인식할 수 있는 인식기가 탑재되어 있을 수 있고, 상기 제1 사용자가 제1 사용자 단말(130)의 인식기에 자신의 생체 정보를 인식시키면, 제1 사용자 단말(130)은 상기 제1 사용자의 생체 정보를 인증하고, 상기 제1 사용자의 생체 정보가 인증되면, 제1 사용자 단말(130)에 미리 발급되어 저장되어 있는 상기 제1 개인키로 상기 제1 식별 데이터를 암호화하여 상기 제1 전자 서명 데이터를 생성한 후 상기 제1 식별 데이터와 상기 제1 전자 서명 데이터를 사용자 인증 서버(110)로 전송할 수 있다.
상태 정보 요청부(113)는 상기 제1 공개키가 추출되면, 복수의 검증 서버들(141, 142, 143)로 미리 지정된 n(n은 2이상의 자연수)개의 상태 정보들의 전송을 요청한다.
그리고, 상태 정보 수신부(114)는 복수의 검증 서버들(141, 142, 143) 각각으로부터, 복수의 검증 서버들(141, 142, 143) 각각에서 생성된 상기 n개의 상태 정보들을 수신한다.
특성 벡터 생성부(115)는 복수의 검증 서버들(141, 142, 143) 각각으로부터 수신된 상기 n개의 상태 정보들을 기초로, 복수의 검증 서버들(141, 142, 143) 각각에 대해 상기 n개의 상태 정보들을 성분으로 갖는 n차원의 특성 벡터를 생성한다.
이때, 본 발명의 일실시예에 따르면, 상기 n은 3일 수 있고, 상기 n차원의 특성 벡터를 구성하는 성분인 상기 n개의 상태 정보들은 과거의 기설정된(predetermined) 기간 동안 검증 서버로 선택된 총 횟수, 현재 CPU 사용률, 현재 네트워크 트래픽 수치일 수 있다.
관련해서, 3개의 상태 정보들이 과거 특정 시점의 7일 동안 검증 서버로 선택된 총 횟수, 검증 서버의 현재 CPU 사용률(%), 검증 서버의 현재 네트워크 트래픽 수치(byte)라고 하는 경우, 특성 벡터 생성부(115)는 복수의 검증 서버들(141, 142, 143) 각각으로부터 수신된 과거 특정 시점의 7일 동안 검증 서버로 선택된 총 횟수, 검증 서버의 현재 CPU 사용률(%), 검증 서버의 현재 네트워크 트래픽 수치(byte)를 성분으로 갖는 3차원의 특성 벡터를 생성할 수 있다. 관련해서, 어느 특정 검증 서버로부터 수신된 3개의 상태 정보들이 'a, b, c'라고 하는 경우, 특성 벡터 생성부(115)는 해당 검증 서버에 대한 특성 벡터로 '(a, b, c)'라고 하는 3차원 벡터를 생성할 수 있다.
벡터 유사도 연산부(116)는 복수의 검증 서버들(141, 142, 143) 각각에 대한 상기 n차원의 특성 벡터가 생성되면, 상기 n차원의 특성 벡터와 상기 제1 전자 서명 데이터를 복호화할 검증 서버를 선택하기 위한 기준으로 미리 지정된 n차원의 기준 벡터 사이의 벡터 유사도를 연산한다.
여기서, 상기 n차원 기준 벡터는 복수의 검증 서버들(141, 142, 143) 중 상기 제1 전자 서명 데이터에 대한 복호화를 수행할 검증 서버를 선택하기 위한 기준으로 관리자에 의해 미리 지정된 벡터를 의미한다.
이때, 관리자는 상기 n차원의 기준 벡터를 지정할 때, 과거의 기설정된 기간동안 검증 서버로 선택된 총 횟수가 많을수록 해당 검증 서버가 상기 제1 전자 서명 데이터를 복호화할 검증 서버로 선택될 가능성이 높게 설정되도록 상기 n차원의 기준 벡터를 지정해 둘 수 있다.
또한, 전자 서명 데이터를 복호화하는 데에는 소정의 시스템 자원을 필요로 하기 때문에, 관리자는 복호화의 효율성을 증대시키기 위해, 상기 n차원의 기준 벡터를 지정할 때, 검증 서버의 현재 CPU 사용률과 네트워크 트래픽 수치가 낮을수록 해당 검증 서버가 상기 제1 전자 서명 데이터를 복호화할 검증 서버로 선택될 가능성이 높게 설정되도록 상기 n차원의 기준 벡터를 지정해 둘 수 있다.
이때, 본 발명의 일실시예에 따르면, 복수의 검증 서버들(141, 142, 143) 각각에 대해 생성된 상기 n차원의 특성 벡터와 상기 n차원의 기준 벡터 사이의 상기 벡터 유사도의 연산은 하기의 수학식 1에 따라 수행될 수 있다.
여기서, M은 두 벡터 사이의 벡터 유사도로, S는 두 벡터 사이의 코사인 유사도, D는 두 벡터 사이의 유클리드 거리(Euclidean Distance)를 의미하고, 상기 두 벡터 사이의 코사인 유사도 S와 상기 두 벡터 사이의 유클리드 거리 D는 하기의 수학식 2와 하기의 수학식 3에 따라 연산될 수 있다.
여기서, S는 벡터 A와 B 사이의 코사인 유사도로 -1에서 1사이의 값을 가지며, 그 값이 클수록 유사한 벡터임을 의미하고, Ai는 벡터 A의 i번째 성분, Bi는 벡터 B의 i번째 성분을 의미한다.
상기 수학식 3에서 D는 유클리드 거리를 의미하고, Ai와 Bi는 두 벡터에 포함되어 있는 i번째 성분들을 의미한다. 보통, 두 벡터 간의 유클리드 거리가 작을수록 두 벡터는 유사한 벡터라고 볼 수 있고, 두 벡터 간의 유클리드 거리가 클수록 두 벡터는 비유사한 벡터라고 볼 수 있다.
검증 서버 선택부(117)는 복수의 검증 서버들(141, 142, 143) 각각에 대해 생성된 상기 n차원의 특성 벡터 중, 상기 벡터 유사도가 최대로 연산되는 제1 특성 벡터를 선택한 후, 상기 제1 특성 벡터를 구성하는 상태 정보를 전송한 검증 서버인 제1 검증 서버를 선택한다.
본 실시예에서는 상기 제1 검증 서버를 도면부호 141로 표시한 검증 서버인 것으로 가정하고 설명하기로 한다.
복호화 요청부(118)는 제1 검증 서버(141)가 선택되면, 제1 검증 서버(141)로 상기 제1 공개키와 상기 제1 전자 서명 데이터를 전송하면서, 상기 제1 전자 서명 데이터에 대한 복호화 요청을 전송한다.
이때, 제1 검증 서버(141)는 사용자 인증 서버(110)로부터 상기 제1 공개키와 상기 제1 전자 서명 데이터가 수신되면, 상기 제1 공개키로 상기 제1 전자 서명 데이터를 복호화하여 제1 복호화 데이터를 생성한 후 사용자 인증 서버(110)로 전송할 수 있다.
인증 처리부(119)는 제1 검증 서버(141)로부터 상기 제1 전자 서명 데이터에 대한 복호화 데이터로 상기 제1 복호화 데이터가 수신되면, 상기 제1 복호화 데이터가 상기 제1 식별 데이터와 동일한지 비교하여 상기 제1 사용자에 대한 인증을 처리한다.
즉, 인증 처리부(119)는 상기 제1 복호화 데이터가 상기 제1 식별 데이터와 동일한 것으로 판단되면, 상기 제1 사용자를 인증된 사용자로 판단하고, 사용자 인증을 완료할 수 있다.
결국, 본 발명에 따른 사용자 인증 서버(110)는 사용자 단말로부터 생체 정보 인증을 통해 생성된 전자 서명 데이터가 수신되면, 복수의 검증 서버들(141, 142, 143)로부터 상태 정보를 수신한 후 복수의 검증 서버들(141, 142, 143) 중 소정의 기준치에 부합하는 제1 검증 서버(141)를 선택하여 제1 검증 서버(141)로 상기 전자 서명 데이터에 대한 복호화 요청을 전송하고, 제1 검증 서버(141)로부터 상기 전자 서명 데이터에 대한 복호화 데이터가 수신되면, 상기 수신된 복호화 데이터를 기반으로 사용자가 진정한 사용자인지 여부를 인증함으로써, 전자 서명 기반의 사용자 인증 과정에서 보안성을 더욱 강화할 수 있다.
본 발명의 일실시예에 따르면, 복호화 요청부(118)는 제1 검증 서버(141)가 선택되었을 때, 제1 검증 서버(141)가 신뢰할 수 있는 검증 서버가 맞는지 여부를 추가적으로 인증하기 위한 구성으로, 인증용 행렬 저장부(120), 랜덤 행렬 생성부(121), 피드백 요청부(122), 검증 서버 인증부(123) 및 요청부(124)를 포함할 수 있다.
인증용 행렬 저장부(120)에는 검증 서버의 인증에 사용하기 위한 k x k(k는 2이상의 자연수) 크기의 사전 설정된 인증용 행렬이 저장되어 있다.
랜덤 행렬 생성부(121)는 제1 검증 서버(141)가 선택되면, (k+1) x k 크기를 갖는 랜덤한 성분 값들로 구성된 랜덤 행렬을 생성할 수 있다.
예컨대, 인증용 행렬 저장부(120)에 저장되어 있는 상기 인증용 행렬이 5 x 5 크기를 갖는 행렬이라면, 랜덤 행렬 생성부(121)는 6 x 5 크기를 갖는 랜덤 행렬을 생성할 수 있다.
피드백 요청부(122)는 상기 랜덤 행렬을 제1 검증 서버(141)로 전송하면서, 제1 검증 서버(141)로 상기 랜덤 행렬에 대응되는 피드백 행렬의 전송을 요청한다.
이때, 본 발명의 일실시예에 따르면, 제1 검증 서버(141)는 메모리 상에 상기 인증용 행렬을 저장하고 있을 수 있고, 사용자 인증 서버(110)로부터 상기 랜덤 행렬이 수신되면, 상기 랜덤 행렬에서 사전 설정된 제1 위치의 행의 성분들을 제거하여 k x k 크기의 변형 행렬을 생성하고, 상기 메모리 상에 저장되어 있는 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱(Hadamard product)을 연산하여 제1 피드백 행렬을 생성한 후 상기 제1 피드백 행렬을 사용자 인증 서버(110)로 전송할 수 있다.
예컨대, 상기 랜덤 행렬이 6 x 5 크기를 갖는 행렬이라고 하고, 상기 제1 위치가 4행이라고 하는 경우, 제1 검증 서버(141)는 상기 랜덤 행렬에서 4행에 위치하는 성분들을 제거하여 5 x 5 크기의 변형 행렬을 생성하고, 상기 메모리에 저장되어 있는 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱을 연산하여 상기 제1 피드백 행렬을 생성할 수 있다.
여기서, 아다마르 곱이란 같은 크기의 행렬에서 각 성분을 곱하는 연산을 의미한다.
검증 서버 인증부(123)는 제1 검증 서버(141)로부터 상기 랜덤 행렬에 대응되는 피드백 행렬로 상기 제1 피드백 행렬(상기 제1 피드백 행렬은 상기 랜덤 행렬에서 상기 제1 위치의 행의 성분들이 제거되어 k x k 크기의 변형 행렬이 생성된 후 제1 검증 서버(141)에 기 저장되어 있는 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱이 연산되어 생성된 행렬임)이 수신되면, 상기 랜덤 행렬에서 상기 제1 위치의 행의 성분들을 제거하여 상기 변형 행렬을 생성한 후 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱을 연산하여 제1 연산 행렬을 생성하고, 상기 제1 연산 행렬이 상기 제1 피드백 행렬과 동일한지 확인함으로써, 제1 검증 서버(141)에 대한 인증을 완료한다.
즉, 검증 서버 인증부(123)는 제1 검증 서버(141)로부터 수신된 상기 제1 피드백 행렬과 상기 제1 연산 행렬이 서로 일치하는 것으로 확인되는 경우, 제1 검증 서버(141)가 상기 인증용 행렬과 상기 제1 위치에 대한 정보를 정상적으로 공유하고 있는 서버인 것으로 볼 수 있기 때문에 제1 검증 서버(141)에 대한 인증을 완료할 수 있다.
요청부(124)는 제1 검증 서버(141)에 대한 인증이 완료되면, 제1 검증 서버(141)로 상기 제1 공개키와 상기 제1 전자 서명 데이터를 전송하면서, 상기 제1 전자 서명 데이터에 대한 복호화 요청을 전송한다.
도 2는 본 발명의 일실시예에 따른 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 복수의 사용자들 각각에 대한 사전 발급된 식별 데이터와 각 사용자에 대해 사전 발급된 개인키에 대응하는 공개키가 서로 대응되어 저장되어 있는 공개키 저장부를 유지한다.
단계(S220)에서는 사전 발급된 제1 개인키가 저장되어 있는 제1 사용자의 제1 사용자 단말로부터 상기 제1 사용자의 생체 정보가 인증됨에 따라 상기 제1 사용자에 대한 제1 식별 데이터와 상기 제1 개인키에 기초한 제1 전자 서명 데이터(상기 제1 전자 서명 데이터는 상기 제1 사용자 단말에서 상기 제1 사용자의 생체 정보가 인증되면, 상기 제1 사용자 단말이 상기 제1 개인키로 상기 제1 식별 데이터를 암호화하여 생성한 데이터임)가 수신되면서, 상기 제1 사용자에 대한 인증 요청이 수신되면, 상기 공개키 저장부로부터 상기 제1 식별 데이터에 대응되어 저장되어 있는 제1 공개키를 추출한다.
단계(S230)에서는 상기 복수의 검증 서버들로 미리 지정된 n(n은 2이상의 자연수)개의 상태 정보들의 전송을 요청한다.
단계(S240)에서는 상기 복수의 검증 서버들 각각으로부터, 상기 복수의 검증 서버들 각각에서 생성된 상기 n개의 상태 정보들을 수신한다.
단계(S250)에서는 상기 복수의 검증 서버들 각각으로부터 수신된 상기 n개의 상태 정보들을 기초로, 상기 복수의 검증 서버들 각각에 대해 상기 n개의 상태 정보들을 성분으로 갖는 n차원의 특성 벡터를 생성한다.
단계(S260)에서는 상기 복수의 검증 서버들 각각에 대한 상기 n차원의 특성 벡터가 생성되면, 상기 n차원의 특성 벡터와 상기 제1 전자 서명 데이터를 복호화할 검증 서버를 선택하기 위한 기준으로 미리 지정된 n차원의 기준 벡터 사이의 벡터 유사도를 연산한다.
단계(S270)에서는 상기 복수의 검증 서버들 각각에 대해 생성된 상기 n차원의 특성 벡터 중, 상기 벡터 유사도가 최대로 연산되는 제1 특성 벡터를 선택한 후, 상기 제1 특성 벡터를 구성하는 상태 정보를 전송한 검증 서버인 제1 검증 서버를 선택한다.
단계(S280)에서는 상기 제1 검증 서버가 선택되면, 상기 제1 검증 서버로 상기 제1 공개키와 상기 제1 전자 서명 데이터를 전송하면서, 상기 제1 전자 서명 데이터에 대한 복호화 요청을 전송한다.
단계(S290)에서는 상기 제1 검증 서버로부터 상기 제1 전자 서명 데이터에 대한 복호화 데이터로 제1 복호화 데이터가 수신되면, 상기 제1 복호화 데이터가 상기 제1 식별 데이터와 동일한지 비교하여 상기 제1 사용자에 대한 인증을 처리한다.
이때, 본 발명의 일실시예에 따르면, 상기 n은 3이고, 상기 n차원의 특성 벡터를 구성하는 성분인 상기 n개의 상태 정보들은 과거의 기설정된 기간 동안 검증 서버로 선택된 총 횟수, 현재 CPU 사용률, 현재 네트워크 트래픽 수치일 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 복수의 검증 서버들 각각에 대해 생성된 상기 n차원의 특성 벡터와 상기 n차원의 기준 벡터 사이의 상기 벡터 유사도의 연산은 상기 수학식 1에 따라 수행될 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S280)에서는 검증 서버의 인증에 사용하기 위한 k x k(k는 2이상의 자연수) 크기의 사전 설정된 인증용 행렬이 저장되어 있는 인증용 행렬 저장부를 유지하는 단계, 상기 제1 검증 서버가 선택되면, (k+1) x k 크기를 갖는 랜덤한 성분 값들로 구성된 랜덤 행렬을 생성하는 단계, 상기 랜덤 행렬을 상기 제1 검증 서버로 전송하면서, 상기 제1 검증 서버로 상기 랜덤 행렬에 대응되는 피드백 행렬의 전송을 요청하는 단계, 상기 제1 검증 서버로부터 상기 랜덤 행렬에 대응되는 피드백 행렬로 제1 피드백 행렬(상기 제1 피드백 행렬은 상기 랜덤 행렬에서 사전 설정된 제1 위치의 행의 성분들이 제거되어 k x k 크기의 변형 행렬이 생성된 후 상기 제1 검증 서버에 기 저장되어 있는 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱이 연산되어 생성된 행렬임)이 수신되면, 상기 랜덤 행렬에서 상기 제1 위치의 행의 성분들을 제거하여 상기 변형 행렬을 생성한 후 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱을 연산하여 제1 연산 행렬을 생성하고, 상기 제1 연산 행렬이 상기 제1 피드백 행렬과 동일한지 확인함으로써, 상기 제1 검증 서버에 대한 인증을 완료하는 단계 및 상기 제1 검증 서버에 대한 인증이 완료되면, 상기 제1 검증 서버로 상기 제1 공개키와 상기 제1 전자 서명 데이터를 전송하면서, 상기 제1 전자 서명 데이터에 대한 복호화 요청을 전송하는 단계를 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 제1 검증 서버는 메모리 상에 상기 인증용 행렬을 저장하고 있고, 상기 사용자 인증 서버로부터 상기 랜덤 행렬이 수신되면, 상기 랜덤 행렬에서 상기 제1 위치의 행의 성분들을 제거하여 상기 변형 행렬을 생성하고, 상기 메모리 상에 저장되어 있는 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱을 연산하여 상기 제1 피드백 행렬을 생성한 후 상기 제1 피드백 행렬을 상기 사용자 인증 서버로 전송할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법은 도 1을 이용하여 설명한 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버
111: 공개키 저장부 112: 공개키 추출부
113: 상태 정보 요청부 114: 상태 정보 수신부
115: 특성 벡터 생성부 116: 벡터 유사도 연산부
117: 검증 서버 선택부 118: 복호화 요청부
119: 인증 처리부 120: 인증용 행렬 저장부
121: 랜덤 행렬 생성부 122: 피드백 요청부
123: 검증 서버 인증부 124: 요청부
130: 제1 사용자 단말 141, 142, 143: 복수의 검증 서버들
111: 공개키 저장부 112: 공개키 추출부
113: 상태 정보 요청부 114: 상태 정보 수신부
115: 특성 벡터 생성부 116: 벡터 유사도 연산부
117: 검증 서버 선택부 118: 복호화 요청부
119: 인증 처리부 120: 인증용 행렬 저장부
121: 랜덤 행렬 생성부 122: 피드백 요청부
123: 검증 서버 인증부 124: 요청부
130: 제1 사용자 단말 141, 142, 143: 복수의 검증 서버들
Claims (12)
- 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버에 있어서,
복수의 사용자들 각각에 대한 사전 발급된 식별 데이터와 각 사용자에 대해 사전 발급된 개인키에 대응하는 공개키가 서로 대응되어 저장되어 있는 공개키 저장부;
사전 발급된 제1 개인키가 저장되어 있는 제1 사용자의 제1 사용자 단말로부터 상기 제1 사용자의 생체 정보가 인증됨에 따라 상기 제1 사용자에 대한 제1 식별 데이터와 상기 제1 개인키에 기초한 제1 전자 서명 데이터 - 상기 제1 전자 서명 데이터는 상기 제1 사용자 단말에서 상기 제1 사용자의 생체 정보가 인증되면, 상기 제1 사용자 단말이 상기 제1 개인키로 상기 제1 식별 데이터를 암호화하여 생성한 데이터임 - 가 수신되면서, 상기 제1 사용자에 대한 인증 요청이 수신되면, 상기 공개키 저장부로부터 상기 제1 식별 데이터에 대응되어 저장되어 있는 제1 공개키를 추출하는 공개키 추출부;
상기 복수의 검증 서버들로 미리 지정된 n(n은 2이상의 자연수)개의 상태 정보들의 전송을 요청하는 상태 정보 요청부;
상기 복수의 검증 서버들 각각으로부터, 상기 복수의 검증 서버들 각각에서 생성된 상기 n개의 상태 정보들을 수신하는 상태 정보 수신부;
상기 복수의 검증 서버들 각각으로부터 수신된 상기 n개의 상태 정보들을 기초로, 상기 복수의 검증 서버들 각각에 대해 상기 n개의 상태 정보들을 성분으로 갖는 n차원의 특성 벡터를 생성하는 특성 벡터 생성부;
상기 복수의 검증 서버들 각각에 대한 상기 n차원의 특성 벡터가 생성되면, 상기 n차원의 특성 벡터와 상기 제1 전자 서명 데이터를 복호화할 검증 서버를 선택하기 위한 기준으로 미리 지정된 n차원의 기준 벡터 사이의 벡터 유사도를 연산하는 벡터 유사도 연산부;
상기 복수의 검증 서버들 각각에 대해 생성된 상기 n차원의 특성 벡터 중, 상기 벡터 유사도가 최대로 연산되는 제1 특성 벡터를 선택한 후, 상기 제1 특성 벡터를 구성하는 상태 정보를 전송한 검증 서버인 제1 검증 서버를 선택하는 검증 서버 선택부;
상기 제1 검증 서버가 선택되면, 상기 제1 검증 서버로 상기 제1 공개키와 상기 제1 전자 서명 데이터를 전송하면서, 상기 제1 전자 서명 데이터에 대한 복호화 요청을 전송하는 복호화 요청부; 및
상기 제1 검증 서버로부터 상기 제1 전자 서명 데이터에 대한 복호화 데이터로 제1 복호화 데이터가 수신되면, 상기 제1 복호화 데이터가 상기 제1 식별 데이터와 동일한지 비교하여 상기 제1 사용자에 대한 인증을 처리하는 인증 처리부
를 포함하는 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버. - 제1항에 있어서,
상기 n은 3이고, 상기 n차원의 특성 벡터를 구성하는 성분인 상기 n개의 상태 정보들은 과거의 기설정된(predetermined) 기간 동안 검증 서버로 선택된 총 횟수, 현재 CPU 사용률, 현재 네트워크 트래픽 수치인 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버. - 제1항에 있어서,
상기 복호화 요청부는
검증 서버의 인증에 사용하기 위한 k x k(k는 2이상의 자연수) 크기의 사전 설정된 인증용 행렬이 저장되어 있는 인증용 행렬 저장부;
상기 제1 검증 서버가 선택되면, (k+1) x k 크기를 갖는 랜덤한 성분 값들로 구성된 랜덤 행렬을 생성하는 랜덤 행렬 생성부;
상기 랜덤 행렬을 상기 제1 검증 서버로 전송하면서, 상기 제1 검증 서버로 상기 랜덤 행렬에 대응되는 피드백 행렬의 전송을 요청하는 피드백 요청부;
상기 제1 검증 서버로부터 상기 랜덤 행렬에 대응되는 피드백 행렬로 제1 피드백 행렬 - 상기 제1 피드백 행렬은 상기 랜덤 행렬에서 사전 설정된 제1 위치의 행의 성분들이 제거되어 k x k 크기의 변형 행렬이 생성된 후 상기 제1 검증 서버에 기 저장되어 있는 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱(Hadamard product)이 연산되어 생성된 행렬임 - 이 수신되면, 상기 랜덤 행렬에서 상기 제1 위치의 행의 성분들을 제거하여 상기 변형 행렬을 생성한 후 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱을 연산하여 제1 연산 행렬을 생성하고, 상기 제1 연산 행렬이 상기 제1 피드백 행렬과 동일한지 확인함으로써, 상기 제1 검증 서버에 대한 인증을 완료하는 검증 서버 인증부; 및
상기 제1 검증 서버에 대한 인증이 완료되면, 상기 제1 검증 서버로 상기 제1 공개키와 상기 제1 전자 서명 데이터를 전송하면서, 상기 제1 전자 서명 데이터에 대한 복호화 요청을 전송하는 요청부
를 포함하는 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버. - 제4항에 있어서,
상기 제1 검증 서버는
메모리 상에 상기 인증용 행렬을 저장하고 있고, 상기 사용자 인증 서버로부터 상기 랜덤 행렬이 수신되면, 상기 랜덤 행렬에서 상기 제1 위치의 행의 성분들을 제거하여 상기 변형 행렬을 생성하고, 상기 메모리 상에 저장되어 있는 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱을 연산하여 상기 제1 피드백 행렬을 생성한 후 상기 제1 피드백 행렬을 상기 사용자 인증 서버로 전송하는 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버. - 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법에 있어서,
복수의 사용자들 각각에 대한 사전 발급된 식별 데이터와 각 사용자에 대해 사전 발급된 개인키에 대응하는 공개키가 서로 대응되어 저장되어 있는 공개키 저장부를 유지하는 단계;
사전 발급된 제1 개인키가 저장되어 있는 제1 사용자의 제1 사용자 단말로부터 상기 제1 사용자의 생체 정보가 인증됨에 따라 상기 제1 사용자에 대한 제1 식별 데이터와 상기 제1 개인키에 기초한 제1 전자 서명 데이터 - 상기 제1 전자 서명 데이터는 상기 제1 사용자 단말에서 상기 제1 사용자의 생체 정보가 인증되면, 상기 제1 사용자 단말이 상기 제1 개인키로 상기 제1 식별 데이터를 암호화하여 생성한 데이터임 - 가 수신되면서, 상기 제1 사용자에 대한 인증 요청이 수신되면, 상기 공개키 저장부로부터 상기 제1 식별 데이터에 대응되어 저장되어 있는 제1 공개키를 추출하는 단계;
상기 복수의 검증 서버들로 미리 지정된 n(n은 2이상의 자연수)개의 상태 정보들의 전송을 요청하는 단계;
상기 복수의 검증 서버들 각각으로부터, 상기 복수의 검증 서버들 각각에서 생성된 상기 n개의 상태 정보들을 수신하는 단계;
상기 복수의 검증 서버들 각각으로부터 수신된 상기 n개의 상태 정보들을 기초로, 상기 복수의 검증 서버들 각각에 대해 상기 n개의 상태 정보들을 성분으로 갖는 n차원의 특성 벡터를 생성하는 단계;
상기 복수의 검증 서버들 각각에 대한 상기 n차원의 특성 벡터가 생성되면, 상기 n차원의 특성 벡터와 상기 제1 전자 서명 데이터를 복호화할 검증 서버를 선택하기 위한 기준으로 미리 지정된 n차원의 기준 벡터 사이의 벡터 유사도를 연산하는 단계;
상기 복수의 검증 서버들 각각에 대해 생성된 상기 n차원의 특성 벡터 중, 상기 벡터 유사도가 최대로 연산되는 제1 특성 벡터를 선택한 후, 상기 제1 특성 벡터를 구성하는 상태 정보를 전송한 검증 서버인 제1 검증 서버를 선택하는 단계;
상기 제1 검증 서버가 선택되면, 상기 제1 검증 서버로 상기 제1 공개키와 상기 제1 전자 서명 데이터를 전송하면서, 상기 제1 전자 서명 데이터에 대한 복호화 요청을 전송하는 단계; 및
상기 제1 검증 서버로부터 상기 제1 전자 서명 데이터에 대한 복호화 데이터로 제1 복호화 데이터가 수신되면, 상기 제1 복호화 데이터가 상기 제1 식별 데이터와 동일한지 비교하여 상기 제1 사용자에 대한 인증을 처리하는 단계
를 포함하는 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법. - 제6항에 있어서,
상기 n은 3이고, 상기 n차원의 특성 벡터를 구성하는 성분인 상기 n개의 상태 정보들은 과거의 기설정된(predetermined) 기간 동안 검증 서버로 선택된 총 횟수, 현재 CPU 사용률, 현재 네트워크 트래픽 수치인 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법. - 제6항에 있어서,
상기 제1 전자 서명 데이터에 대한 복호화 요청을 전송하는 단계는
검증 서버의 인증에 사용하기 위한 k x k(k는 2이상의 자연수) 크기의 사전 설정된 인증용 행렬이 저장되어 있는 인증용 행렬 저장부를 유지하는 단계;
상기 제1 검증 서버가 선택되면, (k+1) x k 크기를 갖는 랜덤한 성분 값들로 구성된 랜덤 행렬을 생성하는 단계;
상기 랜덤 행렬을 상기 제1 검증 서버로 전송하면서, 상기 제1 검증 서버로 상기 랜덤 행렬에 대응되는 피드백 행렬의 전송을 요청하는 단계;
상기 제1 검증 서버로부터 상기 랜덤 행렬에 대응되는 피드백 행렬로 제1 피드백 행렬 - 상기 제1 피드백 행렬은 상기 랜덤 행렬에서 사전 설정된 제1 위치의 행의 성분들이 제거되어 k x k 크기의 변형 행렬이 생성된 후 상기 제1 검증 서버에 기 저장되어 있는 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱(Hadamard product)이 연산되어 생성된 행렬임 - 이 수신되면, 상기 랜덤 행렬에서 상기 제1 위치의 행의 성분들을 제거하여 상기 변형 행렬을 생성한 후 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱을 연산하여 제1 연산 행렬을 생성하고, 상기 제1 연산 행렬이 상기 제1 피드백 행렬과 동일한지 확인함으로써, 상기 제1 검증 서버에 대한 인증을 완료하는 단계; 및
상기 제1 검증 서버에 대한 인증이 완료되면, 상기 제1 검증 서버로 상기 제1 공개키와 상기 제1 전자 서명 데이터를 전송하면서, 상기 제1 전자 서명 데이터에 대한 복호화 요청을 전송하는 단계
를 포함하는 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법. - 제9항에 있어서,
상기 제1 검증 서버는
메모리 상에 상기 인증용 행렬을 저장하고 있고, 상기 사용자 인증 서버로부터 상기 랜덤 행렬이 수신되면, 상기 랜덤 행렬에서 상기 제1 위치의 행의 성분들을 제거하여 상기 변형 행렬을 생성하고, 상기 메모리 상에 저장되어 있는 상기 인증용 행렬과 상기 변형 행렬 간의 아다마르 곱을 연산하여 상기 제1 피드백 행렬을 생성한 후 상기 제1 피드백 행렬을 상기 사용자 인증 서버로 전송하는 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버의 동작 방법. - 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
- 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190113354A KR102274132B1 (ko) | 2019-09-16 | 2019-09-16 | 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버 및 그 동작 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190113354A KR102274132B1 (ko) | 2019-09-16 | 2019-09-16 | 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210032088A KR20210032088A (ko) | 2021-03-24 |
KR102274132B1 true KR102274132B1 (ko) | 2021-07-08 |
Family
ID=75257160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190113354A KR102274132B1 (ko) | 2019-09-16 | 2019-09-16 | 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버 및 그 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102274132B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230056203A (ko) * | 2021-10-20 | 2023-04-27 | 주식회사 한글과컴퓨터 | 복수의 포맷 변환 서버들의 상태를 기초로 문서 파일의 포맷 변환 작업을 할당하기 위한 스케줄링을 수행하는 스케줄링 장치 및 그 동작 방법 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102633817B1 (ko) * | 2021-03-25 | 2024-02-05 | 주식회사 한컴위드 | 2차원 코드를 기반으로 가맹점에 대한 이용 후기 정보를 조회할 수 있도록 지원하는 서비스 서버 및 그 동작 방법 |
KR102622454B1 (ko) * | 2021-03-25 | 2024-01-08 | 주식회사 한컴위드 | 2차원 코드를 기반으로 농산물이 친환경 인증을 받은 농산물인지 여부에 대한 확인을 수행하는 농산물 친환경 인증 확인 서버 및 그 동작 방법 |
KR102407874B1 (ko) * | 2021-12-21 | 2022-06-10 | (주)한컴인텔리전스 | 건물 내에 설치된 엘리베이터의 동작을 제어하는 제어 시스템 장치와 연동하여 상기 엘리베이터의 상태에 대한 정보를 사용자 단말로 제공할 수 있는 실시간 모니터링 서비스 서버 및 그 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101520722B1 (ko) | 2014-01-17 | 2015-05-21 | 크루셜텍 (주) | 사용자 인증 방법, 서버 및 사용자 단말 |
JP2015176167A (ja) | 2014-03-13 | 2015-10-05 | キーパスコ アーベーKeypasco AB | ユーザ識別情報を安全に検証するためのネットワーク認証方法 |
KR101656212B1 (ko) | 2015-02-13 | 2016-09-12 | 경일대학교산학협력단 | 손동작 인식을 이용한 접근 제어 시스템, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11353280A (ja) * | 1998-06-10 | 1999-12-24 | Hitachi Ltd | 秘密データの暗号化による本人確認方法及びシステム |
KR101827338B1 (ko) * | 2017-02-28 | 2018-02-08 | 삼성전자주식회사 | 이동통신 단말기에서 인터넷 서비스 제공 방법 및 장치 |
-
2019
- 2019-09-16 KR KR1020190113354A patent/KR102274132B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101520722B1 (ko) | 2014-01-17 | 2015-05-21 | 크루셜텍 (주) | 사용자 인증 방법, 서버 및 사용자 단말 |
JP2015176167A (ja) | 2014-03-13 | 2015-10-05 | キーパスコ アーベーKeypasco AB | ユーザ識別情報を安全に検証するためのネットワーク認証方法 |
KR101656212B1 (ko) | 2015-02-13 | 2016-09-12 | 경일대학교산학협력단 | 손동작 인식을 이용한 접근 제어 시스템, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230056203A (ko) * | 2021-10-20 | 2023-04-27 | 주식회사 한글과컴퓨터 | 복수의 포맷 변환 서버들의 상태를 기초로 문서 파일의 포맷 변환 작업을 할당하기 위한 스케줄링을 수행하는 스케줄링 장치 및 그 동작 방법 |
KR102545266B1 (ko) | 2021-10-20 | 2023-06-20 | 주식회사 한글과컴퓨터 | 복수의 포맷 변환 서버들의 상태를 기초로 문서 파일의 포맷 변환 작업을 할당하기 위한 스케줄링을 수행하는 스케줄링 장치 및 그 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20210032088A (ko) | 2021-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102274132B1 (ko) | 복수의 검증 서버들과 연동하여 생체 인증을 기초로 생성된 전자 서명 데이터의 검증을 수행하는 사용자 인증 서버 및 그 동작 방법 | |
JP6882254B2 (ja) | 生体特徴に基づく安全性検証方法、クライアント端末、及びサーバ | |
JP4996904B2 (ja) | 生体認証システム、登録端末、認証端末、及び認証サーバ | |
JP6238867B2 (ja) | 逐次バイオメトリック暗号システムおよび逐次バイオメトリック暗号処理方法 | |
US20130262873A1 (en) | Method and system for authenticating remote users | |
US9485098B1 (en) | System and method of user authentication using digital signatures | |
JP2017175244A (ja) | 1:n生体認証・暗号・署名システム | |
US11227037B2 (en) | Computer system, verification method of confidential information, and computer | |
CN112329519B (zh) | 一种安全的在线指纹匹配方法 | |
KR20180003113A (ko) | 서버, 디바이스 및 이에 의한 사용자 인증 방법 | |
Martínez et al. | Secure crypto-biometric system for cloud computing | |
Wang et al. | Biometrics-authenticated key exchange for secure messaging | |
CN102354354A (zh) | 一种基于信息指纹技术的图片密码生成认证方法 | |
CN114065169A (zh) | 一种隐私保护生物认证方法和装置、电子设备 | |
JP6791263B2 (ja) | 暗号文照合システム及び暗号文照合方法 | |
KR102149706B1 (ko) | 블록체인을 이용한 전자 서명 기반의 사용자 인증 처리 장치 및 그 동작 방법 | |
US11075760B1 (en) | Utilizing voice biometrics to generate a secure digital identity for a user without access to technology | |
JPWO2020121459A1 (ja) | 認証システム、クライアントおよびサーバ | |
JP4606040B2 (ja) | 資格認証システム、資格認証方法、および情報処理装置 | |
WO2022130528A1 (ja) | 回復用検証システム、照合システム、回復用検証方法および非一時的なコンピュータ可読媒体 | |
CN113051623A (zh) | 一种数据处理方法、装置和电子设备 | |
CN110995416A (zh) | 一种将移动端与客户端关联的方法 | |
KR102322435B1 (ko) | 퍼지 데이터로부터 동일한 키를 추출하는 방법 및 이를 이용한 사용자 인증 방법 | |
JP6370459B2 (ja) | 逐次バイオメトリック暗号システムおよび逐次バイオメトリック暗号処理方法 | |
US11681779B1 (en) | Notification service server capable of providing access notification service to harmful sites and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |