KR20150115593A - 사용자 인증 방법, 서버 및 사용자 단말 - Google Patents

사용자 인증 방법, 서버 및 사용자 단말 Download PDF

Info

Publication number
KR20150115593A
KR20150115593A KR1020140087221A KR20140087221A KR20150115593A KR 20150115593 A KR20150115593 A KR 20150115593A KR 1020140087221 A KR1020140087221 A KR 1020140087221A KR 20140087221 A KR20140087221 A KR 20140087221A KR 20150115593 A KR20150115593 A KR 20150115593A
Authority
KR
South Korea
Prior art keywords
authentication
tag
public key
user
identification information
Prior art date
Application number
KR1020140087221A
Other languages
English (en)
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 KR1020140087221A priority Critical patent/KR20150115593A/ko
Publication of KR20150115593A publication Critical patent/KR20150115593A/ko

Links

Images

Classifications

    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/3226Cryptographic 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/3231Biological data, e.g. fingerprint, voice or retina

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명의 일 실시예에 따르면, 상술한 목적을 달성하기 위한 본 발명의 일 실시예에 생체 정보 입력이 가능한 사용자 단말 및 서드 파티 서버와 연결된 인증 중계 서버의 인증 방법은 사용자 인증 승인에 따라 수신된 제1 공개키로 암호화된 사용자 식별 정보 및 태그를 제1 개인키로 복호화하는 단계; 상기 사용자 식별 정보 및 상기 태그를 서드 파티 서버로 송신하는 단계; 상기 서드 파티 서버로부터 상기 태그에 대응하는 상기 사용자 식별 정보의 복호화 결과를 수신하는 단계; 및 상기 복호화 결과에 대응하여 상기 사용자 인증 결과를 상기 사용자 단말로 송신하는 단계를 포함한다.

Description

사용자 인증 방법, 서버 및 사용자 단말 {METHOD, SERVER AND USER DEVICE FOR VERIFYING USER}
본 발명은 사용자 인증 방법, 서버 및 사용자 단말에 관한 것으로, 보다 상세하게는 개인 식별 정보 인증 및 암호화 방식을 이용하여 사용자를 인증하는 방법, 서버 및 컴퓨터 판독 가능 기록 매체에 관한 것이다.
최근 스마트 디바이스의 보급률 증가와 함께, 많은 사람들이 스마트 디바이스를 통해 시간과 공간의 제약 없이 물건의 구매, 송금, 금융 상품의 가입, 서비스 예매 등을 할 수 있게 되었다.
이에 따라, 사용자 편의성이 증대되었지만, 단말의 분실 및 해킹 등에 따른 개인 정보 유출 및 각종 금융 사고 등, 부작용 발생 건수도 증가하고 있다.
이러한 문제를 해결하기 위해, 공인 인증서를 통해 사용자를 인증하거나, 사용자 단말에서 외부 서버로 전송되는 각종 정보들을 암호화하는 방법들이 사용되고 있다.
그러나, 공인 인증서를 사용하는 경우, 인증서를 통한 인증 절차가 복잡하며, 인증서가 저장된 단말이 분실될 경우 여전히 금융 사고가 발생할 수 밖에 없으며, 해킹을 통한 정보 유출의 위험이 있어, 사용자 편의성을 증대시키면서 보안을 더욱 강화할 수 있는 새로운 방법에 대한 니즈가 증대하고 있다.
본 발명은, 간편하면서도 보안이 한층 강화된 인증 방법을 제공하는 것을 그 목적으로 한다.
상술한 목적을 달성하기 위한 본 발명의 일 실시예에 생체 정보 입력이 가능한 사용자 단말 및 서드 파티 서버와 연결된 인증 중계 서버의 인증 방법은 사용자 인증 승인에 따라 수신된 제1 공개키로 암호화된 사용자 식별 정보 및 태그를 제1 개인키로 복호화하는 단계; 상기 사용자 식별 정보 및 상기 태그를 서드 파티 서버로 송신하는 단계; 상기 서드 파티 서버로부터 상기 태그에 대응하는 상기 사용자 식별 정보의 복호화 결과를 수신하는 단계; 및 상기 복호화 결과에 대응하여 상기 사용자 인증 결과를 상기 사용자 단말로 송신하는 단계를 포함한다.
상기 사용자 식별 정보 및 상기 태그를 서드 파티 서버로 송신하는 단계는
상기 사용자 식별 정보 및 상기 태그를 제2 공개키로 암호화하여 상기 서드 파티 서버로 송신하는 것이고, 상기 서드 파티 서버에서 제2 개인키로 복호화한 후, 상기 태그에 대응하는 상기 사용자 식별 정보를 복호화하는 것일 수 있다.
본 발명에 따르면, 개인 식별 정보 인증 및 암호화 방식을 통해, 간편하지만 보안이 더욱 강화된 사용자 인증이 가능해질 수 있다.
또한, 본 발명에 따르면, 생체 정보가 사용자 단말 외부로 전송되지 않으며, 생체 정보의 인증 결과가 해킹되지 않도록, 인증 중계 서버가 시간 의존적인 암호화를 2중 또는 3중으로 수행함으로써, 보안성이 향상된 사용자 인증이 가능해질 수 있다.
또한, 본 발명에 따르면, 인증 중계 서버를 통해 부인 방지가 가능하며, 중간자 공격에 대한 방지가 가능하고, 해킹의 위험성이 줄어들 수 있다.
도 1은 본 발명의 일 실시예에 따른 인증 시스템을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 사용자 등록 방법을 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 사용자 인증 방법을 도시한 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 사용자 인증 방법을 도시한 흐름도이다.
도 5는 본 발명의 또 다른 실시예에 따른 사용자 인증 방법을 도시한 흐름도이다.
도 6a 내지 도 6c는 본 발명의 실시예에 따른 사용자 등록 및 인증 후, 사용자 단말, 인증 중계 서버 및 서드 파티 서버에 저장된 데이터들을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 사용자 단말의 내부 구성을 도시한 블록도이다.
도 8은 본 발명의 일 실시예에 따른 인증 중계 서버의 내부 구성을 도시한 블록도이다.
도 9는 본 발명의 일 실시예에 따른 서드 파티 서버의 내부 구성을 도시한 블록도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
본 명세서 상에서, 제1 공개키(1st public key), 제1 개인키 (1st private key) 는 동일한 알고리즘을 통해 변경되며, 서로 짝을 이루어 복호화, 암호화하는 데에 사용될 수 있다. 제2 공개키(2nd public key), 제2 개인키(2nd private key)도 제1 키 쌍과 다르고 제2 키 쌍끼리 동일한 알고리즘을 통해 변경되며, 서로 짝을 이루어 복호화, 암호화하는 데에 사용될 수 있다. 즉, 서로 쌍을 이루어 제1 공개키(1st public key)로 암호화 된 정보는 제1 개인키(1st private key)로 복호화할 수 있으며, 이는 제2 공개키(2nd public key)와 제2 개인키(2nd private key)에서도 동일하게 적용된다. 그러나 제1 공개키로 제2 개인키를 복호화하는 동작 등은 서로 다른 알고리즘으로써 할 수 없다.
본 명세서 상에서, 제3 공개키 및 제3 개인키는 서드 파티 서버(3rd party server)에서 생성되며, 제3 공개키(3rd public key)로 암호화 된 정보는 제3 개인키(3rd private key)로 복호화할 수 있다.
본 명세서 상에서 트랜잭션(transaction) 태그(TAG)는, 사용자 식별 정보(ID)에 상응하여 생성되며, 생성된 사용자 식별 정보를 이용한 사용자 등록 및 인증 절차에서 해당 처리 과정을 식별하기 위한 태그(TAG)로 사용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 인증 시스템을 도시한 도면이다.
본 발명의 일 실시예에 따른 인증 시스템은, 사용자 단말(100), 인증 중계 서버(200) 및 서드 파티 서버(3rd party server, 300)를 포함할 수 있다.
일 실시예에 따르면, 사용자 단말(100)은 인증 중계 서버(200) 및 서드 파티 서버(300)와 네트워크를 통해 연결된다. 사용자 단말(100)은 지문 인식을 위한 지문 센서, 홍채 인식을 위한 홍채 센서, 얼굴의 형상을 인식하는 얼굴 인식 센서, 혈관을 인식하는 정맥 센서, 손바닥의 손금을 인식하는 센서 등과 같은 개인의 다양한 생체 정보 인식을 위한 각종 센서를 포함할 수 있다.
일 실시예에 따르면 사용자 단말(100)에는 생체 정보 인식을 위한 생체 정보 인식 애플리케이션이 설치되어 있으며, 서드 파티 서버(300)를 위한, 서드 파티 서버용 애플리케이션과 사용자 인증을 위한 제1 인증 프로그램이 설치되어 있을 수 있다.
본 명세서 상에서, 서드 파티 서버용 애플리케이션은 인증을 필요로 하는 모든 애플리케이션을 일컫는 말로 사용되며, 일례로 금융 애플리케이션, 쇼핑 애플리케이션 등일 수 있다. 이때, 서드 파티 서버(300)는 각각 금융사 서버, 쇼핑몰 서버 등일 수 있다.
일 실시예에 따르면, 제1 인증 프로그램은, 서드 파티 서버용 애플리케이션에서 사용자 인증을 요청하는 경우, 호출되어 사용자 인증 프로세스를 수행할 수 있으며, 사용자 단말(100)은, 제1 인증 프로그램을 통해 인증 중계 서버(200)로부터 적어도 하나의 제1 공개키를 제공받을 수 있다.
이와 같이, 제1 공개키(1st public key)는, 인증 중계 서버(200)로부터, 제1 인증 프로그램을 통해 복수개 제공될 수 있으며, 제1 개인키(1st private key)는, 제1 공개키 선택에 시간적으로 동기되어 생성될 수 있다.
예를 들어, 사용자 단말(100)이 안드로이드® 운영 체계인 경우 제1 인증 프로그램은 apk 파일 등의 형태일 수 있고, 아이폰® 운영 체계인 경우 제1 인증 프로그램은 ipa 파일 등의 형태일 수 있다.
일 실시예에 따르면, 제1 인증 프로그램은 상기 서드 파티 서버(300)를 위한 애플리케이션을 사용자 단말(100)에 설치하는 과정에서 별도의 라이브러리로 사용자 단말(100)에 설치되거나, 사용자 단말(100)에 설치된 생체 정보 인식 애플리케이션과 연계되어 설치 될 수 있다.
이와 같이, 사용자 단말(100)은 네트워크를 통해, 인증 중계 서버(200) 및 서드 파티 서버(300) 등의 외부 대상과 통신을 수행할 수 있는데, 네트워크는 무선 통신망일 수 있으며, Wifi(Wireless fidelity), 3G, Wibro(Wireless Broadband) 등의 이동통신 방식에 기반할 수 있다.
본 발명의 일 실시예에 따르면, 사용자 단말(100)은 스마트 폰, 태블릿 피씨, PDA, 노트북, 데스크 탑 등 네트워크를 통해 외부 서버와 통신이 가능한 단말이면, 어느 것에 제한되지 않는다.
인증 중계 서버(200)는, 사용자 단말(100) 및 서드 파티 서버(300) 간의 인증 절차를 중계할 수 있다.
일 실시예에 따르면, 인증 중계 서버(200)는 제1 공개키의 선택에 시간적으로 동기되어 생성된 제1 개인키(1st private key)를 보유하고 있다가, 인증 요청에 따라 사용자 단말(100)로부터 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보와 트랜잭션 태그(1st locked_(3rd locked_ID& TAG))를 수신하면, 이를 제1 개인키(1st private key)로 복호화(1st unlock)할 수 있다.
일 실시예에 따르면, 인증 중계 서버(200)가 시간 정보와 함께 사용자 단말의 인증 로그를 저장, 관리하여, 인증과 관련된 사실을 사후에 증명할 수 있으므로, 사실 부인을 방지할 수 있다.
서드 파티 서버(300)는, 사용자 단말(100)의 요청에 따라 사용자 인증 절차를 수행할 수 있으며, 이를 위해 서드 파티 서버(300)에는 제2 인증 프로그램이 설치되어 있을 수 있다. 일 실시예에 따르면, 제2 인증 프로그램은, 본 발명의 실시예에 따른 인증 절차를 수행하기 위한 프로그램으로, STK(Server Tool Kit)과 같은 형태일 수 있다.
일 실시예에 따른, 제2 인증 프로그램은, 인증 중계 서버(200)에 의하여 서드 파티 서버(300)로 제공될 수 있으며, 제2 공개키(2nd public key) 선택에 시간적으로 동기되는 제2 개인키(2nd private key)를 생성할 수 있다.
제2 공개키(2nd public key) 인증 중계 서버(200)에 복수개 제공된 상태이며, 복수개 제공된 제2 공개키(2nd public key) 중 어느 하나에 대한 선택에 시간적으로 동기되는 제2 개인키(2nd private key)가 서드 파티 서버(300)에 설치된 제2 인증 프로그램을 통해 생성될 수 있다.
사용자 인증 절차
일 실시예에 따라, 사용자 인증 절차를 살펴보면, 사용자 단말(100)에 설치된 서드 파티 서버용 애플리케이션으로부터 인증이 요청되는 경우, 사용자 단말(100)은 생체 정보 인식 애플리케이션을 호출하여, 센서를 통하여 개인의 생체 정보를 감지할 수 있다. 생체 정보로는 지문, 홍채, 안면, 음성 등 공지의 다양한 생체 정보를 포함한다.
예를 들어, 생체 정보가 지문인 경우, 사용자 단말(100)에 설치된 서드 파티 서버용 애플리케이션으로부터 인증이 요청되면, 사용자 단말(100)은, 생체 정보 인식 애플리케이션을 통해 사용자에게 지문 인식을 요청하여, 감지된 지문이 미리 저장된 지문과 일치하는지 여부를 판단할 수 있다.
일 실시예에 따르면, 사용자 단말(100)은 생체 정보 인식 애플리케이션을 통한, 생체 정보의 인식 결과에 따라 생체 정보의 인증 성공에 응답하여, 제3 공개키로 암호화되어 있는 상태의 사용자 식별 정보(3rd locked_ ID)와 트랜잭션 태그(TAG)를, 제1 인증 프로그램이 제공하는, 제1 공개키로 암호화하여, 인증 중계 서버(200)로 전송할 수 있다.
다른 실시예에 따르면, 사용자 단말(100)은 서드 파티 서버(300)로 제1 공개키로 암호화된, 제3 공개키로 암호화한 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ ID & TAG))를 전송하고, 서드 파티 서버(300)가 수신한 제1 공개키로 암호화된, 제3 공개키로 암호화한 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ ID & TAG))를 인증 중계 서버(200)로 전송할 수도 있다.
일 실시예에 따르면, 인증 중계 서버(200)는 수신한 제1 공개키로 암호화된, 제3 공개키로 암호화한 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ ID & TAG))를 미리 저장하고 있던 제1 개인키를 이용하여 복호화(1st unlock)할 수 있다.
이때, 제1 개인키는, 제1 공개키의 선택에 시간적으로 동기되어 선택될 수 있다.
인증 중계 서버(200)는 복호화한 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ ID)를 트랜잭션 태그(TAG)와 함께 서드 파티 서버(300)로 전송할 수 있다.
서드 파티 서버(300)는, 수신한 3 공개키로 암호화된 사용자 식별 정보(3rd locked_ ID)를 트랜잭션 태그(TAG)와 매칭되어 미리 저장된 제3 개인키로 복호화(3rd unlock)하여 사용자 식별 정보(ID')를 얻을 수 있으며, 복호화한 사용자 식별 정보(ID')를 미리 저장되어 있던 사용자 식별 정보(ID)와 비교하여 인증하고, 인증 중계 서버(200)는 서드 파티 서버(300)의 인증 결과를 수신하여 사용자 단말(100)로 전송하거나, 서드 파티 서버(300)에서 직접 인증 결과를 사용자 단말(100)로 전송할 수 있다.
다른 실시예에 따르면, 인증 중계 서버(200)는 수신한 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ ID & TAG))를 미리 저장하고 있던 제1 개인키를 이용하여 복호화(1st unlocked)한 후, 제1 개인키(1st private key)를 이용한 복호화 성공에 응답하여, 다시 제 2공개키로 암호화(2nd locked_(3rd locked_ ID & TAG))하여 서드 파티 서버(300)로 전송할 수 있다.
이때, 서드 파티 서버(300)는 제2 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2nd locked_(3rd locked_ ID & TAG)를 미리 저장하고 있던 제2 개인키로 복호화(2nd unlock)하고, 미리 저장된 제3 개인키로 한번 더 복호화(3rd unlock)하여 사용자 식별 정보(ID')를 얻을 수 있으며, 복호화한 사용자 식별 정보(ID')를 미리 저장되어 있던 사용자 식별 정보(ID)와 비교하여 인증할 수 있다.
서드 파티 서버(300)는 제2 개인키(2nd private key)로 복호화한 트랜잭션 태그(TAG)를 기준으로, 제3 공개키(3rd public key)에 대응하는 제3 개인키(3rd private key)를 찾아, 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ ID)를 복호화(3rd unlock)함으로써, 미리 저장되어 있는 사용자 식별 정보(ID)와의 일치 여부를 판단할 수 있다.
제2 개인키(2nd private key)는, 서드 파티 서버(300)에 설치된 제2 인증 프로그램이, 제2 공개키 선택에 시간적으로 동기되도록 생성한 것일 수 있다.
이후, 서드 파티 서버(300)가 사용자 식별 정보(ID)의 일치 여부에 따라 인증 결과를 인증 중계 서버(200)로 전송하고, 인증 중계 서버(200)가 인증 결과를 사용자 단말(100)로 전달하는 과정 또는 서드 파티 서버(300)가 직접 인증 결과를 사용자 단말(100)로 전송하는 과정을 통해 인증 절차가 완료될 수 있다.
이와 같이, 본 발명의 일 실시예에 따르면, 인증 과정 중에 전송되는 사용자 식별 정보가 제3 공개키로 암호화된 상태(3rd locked_ ID)이고, 제 1 공개키 내지 제3 공개키 중 어떠한 키도 키 자체로 공개되어 전송되지 않으므로, 인증 트랜잭션 중에 발생할 수 있는 중간자 공격에 대한 방지가 가능하며, 해킹의 위험성이 줄어들 수 있다.
사용자 등록 절차
일 실시예에 따르면, 전술한 인증 프로세스가 진행되기 전에, 사용자가 서드 파티 서버(300)에 사용자 등록을 할 수 있는데, 이러한 사용자 등록 절차를 통해 서드 파티 서버(300)는 사용자 등록을 요청한 사용자에 대한 사용자 식별 정보를 생성하게 된다.
구체적으로, 일 실시예에 따르면, 사용자 단말(100)에 설치된 서드 파티 서버용 애플리케이션을 통해 서드 파티 서버(300)로 사용자 등록 요청(Req_Enroll)이 수신되면, 서드 파티 서버(300)는 사용자 식별 정보(ID), 제3 공개키(3rd public key) 및 제3 개인키(3rd private key) 그리고 트랜잭션 태그(TAG)를 생성할 수 있다.
일 실시예에 따르면, 서드 파티 서버(300)는, 생성한 사용자 식별 정보를 제3 공개키로 암호화한 후(3rd locked_ ID), 제3 공개키로 암호화한 사용자 식별 정보(3rd locked_ID)를 트랜잭션 태그(TAG)와 함께 사용자 단말(100)로 전송할 수 있으며, 제3 공개키(3rd public key)는 사용자 식별 정보를 암호화하는 데에 사용된 뒤, 바로 삭제 될 수 있다.
일 실시예에 따르면, 제3 공개키로 암호화한 사용자 식별 정보(3rd locked_ID) 및 트랜잭션 태그(TAG)를 수신한 사용자 단말(100)은, 생체 정보 인식을 위한 센서를 통해 생체 정보를 획득하여, 생체 정보에 상응하는 템플릿(template)를 생성한 뒤, 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ID) 및 트랜잭션 태그(TAG)와 매칭시켜 저장한다. 예를 들어, 생체 정보가 지문인 경우, 사용자 단말(100)은, 지문 센서를 통해 지문 영상을 획득한 후, 획득한 지문 영상에 대한 템플릿을 생성하고, 템플릿(template)과 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ID), 그리고 트랜잭션 태그(TAG)를 매칭시켜 저장할 수 있다.
템플릿(template), 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ID) 및 트랜잭션 태그(TAG)의 저장이 완료되면, 사용자 단말(100)은 트랜잭션 태그(TAG)를 포함하는 사용자 식별 정보의 저장 결과를 서드 파티 서버(300)로 전송하게 된다.
서드 파티 서버(300)는 수신된 트랜잭션 태그(TAG)와 매칭되어 저장되어 있는 사용자 식별 정보(ID)의 등록이 완료되었음을 확인할 수 있으며 이에 따라 서드 파티 서버(300)도 트랜잭션 태그(TAG)와 매칭되는 제3 개인키(3rd private key) 및 사용자 식별 정보(ID)를 서로 매칭시켜 저장할 수 있다.
일 실시예에 따라, 전술한 과정을 통해 사용자 등록이 완료되면, 서드 파티 서버(300)에는 사용자 식별 정보(ID), 제3 개인키(3rd private key) 및 트랜잭션 태그(TAG)가 매칭되어 저장되고, 사용자 단말(100)에는 템플릿(template), 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ ID) 및 트랜잭션 태그(TAG)가 매칭되어 저장될 수 있다.
이와 같이, 본 발명의 일 실시예에 따르면, 사용자 식별 정보를 생성한 서드 파티 서버(300)를 제외하고, 인증 중계 서버(200) 및 사용자 단말(100)에서 사용자 식별 정보가 제3 공개키로 암호된 상태(3rd locked_ID)로 저장되고, 전송된다. 따라서, 인증/등록 과정 중에 사용자 식별 정보(ID)가 유출되더라도, 유출한 측에서 해당 사용자 식별 정보(ID)를 정확하게 인지할 수 없다. 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ID)를 복호화할 수 있는 제3 개인키(3rd private key)는 사용자 식별 정보(ID)를 생성한 서드 파티 서버(300)에서만 보관하고 있기 때문이다. 따라서, 본 발명의 일 실시예에 따르면, 인증 과정 중 사용자 식별 정보(ID) 유출, 도용 등에 따라 발생할 수 있는 위험을 크게 줄일 수 있다.
이하, 도 2 내지 도 6c를 참조하여, 본 발명의 일 실시예에 따른 사용자 등록 및 인증 방법을 살펴보도록 한다.
도 2는 본 발명의 일 실시예에 따른 사용자 등록 방법을 도시한 흐름도이고, 도 3은 본 발명의 일 실시예에 따른 사용자 인증 방법을 도시한 흐름도이고, 도 4는 본 발명의 다른 실시예에 따른 사용자 인증 방법을 도시한 흐름도이고, 도 6은 본 발명의 또 다른 실시예에 따른 사용자 인증 방법을 도시한 흐름도이다. 도 6a 내지 도 6c는 본 발명의 실시예에 따른 사용자 등록 및 인증 후, 사용자 단말, 인증 중계 서버 및 서드 파티 서버에 저장된 데이터들을 도시한 도면이다.
먼저, 도 2를 참조하여, 본 발명의 일 실시예에 따른 사용자 등록 절차를 살펴보도록 한다.
일 실시예에 따르면, 사용자 단말(100)은 설치된 서드 파티 서버용 애플리케이션을 통해 서드 파티 서버(300)로 사용자 등록 요청(Req_Enroll)을 전송한다(S210).
이에 따라, 서드 파티 서버(300)는 사용자 등록 요청(Req_Enroll)에 기초하여 사용자 식별 정보(ID)를 생성하고(S221), 서드 파티 서버(300)에 설치된 제2 인증 프로그램을 통해 제3 공개키, 제3 개인키 그리고 트랜잭션 태그(3rd public key, 3rd private key, TAG)를 생성할 수 있다(S223).
서드 파티 서버(300)는, 사용자 식별 정보(ID)를 제3 공개키로 암호화(3rd locked_ID)한 후(S230), 제3 공개키로 암호화한 사용자 식별 정보(3rd locked_ID)를 트랜잭션 태그(TAG)와 함께 사용자 단말(100)로 전송할 수 있다(S240).
사용자 단말(100)은 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(3rd locked_ID 및 TAG)가 수신되면, 서드 파티 서버용 애플리케이션을 통해 푸쉬(Push) 알림을 보내어 생체 정보 인식 애플리케이션을 실행할 수 있다.
일 실시예에 따르면, 사용자 단말(100)은 실행된 생체 정보 인식 애플리케이션을 통해 사용자에게 생체 정보의 감지를 요청하여, 센서를 통해 입력되는 생체 정보를 감지할 수 있다(S250). 그리고, 획득한 생체 정보에 대응하는 템플릿(template)를 생성하고(S260), 템플릿(template)과 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(3rd locked_ID 및 TAG)를 서로 매칭시켜 저장할 수 있다(S270).
일 실시예에 따르면, 생체 정보에는 지문, 홍채, 성문(聲問), 얼굴, 정맥 등이 포함될 수 있으며, 경우에 따라 PIN 번호가 생체 정보를 대신하여 사용될 수도 있다.
템플릿(template)은 지문을 식별하기 위해 생성된 정보이면 그 어느 것에 제한되지 않으며, 일 실시예에 따르면 해쉬 키(Hash key) 등의 형태 일 수 있다.
일 실시예에 따르면, 사용자 단말(100)이 트랜잭션 태그(TAG)를 포함하는 등록 결과를 서드 파티 서버(300)로 전송하면(S280), 서드 파티 서버(300)가 수신된 트랜잭션 태그(TAG)에 상응하는 사용자 식별 정보(ID) 및 제3 개인키(3rd private key)를, 트랜잭션 태그(TAG)와 매칭시켜 저장함으로써, 사용자 등록 절차가 완료될 수 있다.
일 실시예에 따르면, 사용자 단말(100)에 저장되는, 템플릿(template), 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(3rd locked_ID, TAG)는, 키 싸이닝(Key Signing) 절차를 통해 사용자 단말(100) 내에서 보호 관리 될 수 있으며, 이때, 키 싸이닝을 위하여 사용자 단말(100)의 식별 정보 예를 들어 맥 어드레스(MAC address) 등을 이용할 수 있다.
전술한 본 발명의 일 실시예에 따른 사용자 등록 과정이 완료되면, 도 6a에 도시된 바와 같이, 사용자 단말(100)에는 제1 공개키(1st public key), 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ID) 및 트랜잭션 태그(TAG)가 템플릿(template)과 매칭되어 저장될 수 있다. 그리고, 인증 중계 서버(200)에는 제1 개인키(1st private key)가, 서드 파티 서버(300)에는 트랜잭션 태그(TAG), 제3 개인키(3rd private key) 및 사용자 식별 정보(ID)가 매칭되어 저장될 수 있다.
본 발명의 다른 실시예에 따르면, 사용자 등록 과정이 완료된 후, 도 6b에 도시된 바와 같이, 사용자 단말(100)에는 제1 공개키(1st public key), 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ID) 및 트랜잭션 태그(TAG)가 템플릿(template)와 매칭되어 저장될 수 있다.
또한, 인증 중계 서버(200)에는 제1 개인키(1st private key) 및 제2 공개키(2nd public key)가, 서드 파티 서버(300)에는 트랜잭션 태그(TAG), 제3 개인키(3rd private key) 및 사용자 식별 정보(ID)가 제2 개인키(2nd private key)와 함께 저장되어 있을 수 있다.
이와 같이, 본 발명의 실시예에 따르면, 사용자 인증을 위해 필요한 사용자 식별 정보(ID)는, 제3 공개키로 암호화된 상태(3rd locked_ID)로 서드 파티 서버(300)에서 사용자 단말(100)로 전송되어 저장됨으로써, 사용자 식별 정보(ID)를 생성한 서드 파티 서버(300)를 제외한 인증 중계 서버(200) 및 사용자 단말(100)에서는 암호화 되기 전의 사용자 식별 정보(ID)를 알 수 없어, 해킹의 위험이 줄어들 수 있다.
이하, 도 3을 참조하여 본 발명의 일 실시예에 따른 사용자 인증 절차를 살펴 본다. 도 3에 도시된 사용자 인증 절차는, 전술한 도 2에 도시된 사용자 등록 절차를 통해 사용자 식별 정보가 생성된 이후에 수행되는 절차일 수 있다.
도 3을 참조하여 설명하는 인증 절차는, 생체 정보 중 지문을 사용하는 경우를 예를 들어 설명한다. 물론, 지문에 제한되지 않고, 홍채, 성문, 정맥, 얼굴 등의 다양한 사용자의 생체 정보가 본 발명에 따른 인증 절차에 활용될 수 있다.
사용자가 사용자 단말(100)의 서드 파티 서버용 애플리케이션을 통해 인증 요청(Req_Verify)을 입력하면(S310), 서드 파티 서버용 애플리케이션이 사용자 단말(100)에 설치된 제1 인증 프로그램을, 푸쉬 메시지 등을 통해 호출할 수 있다.
이후, 제1 인증 프로그램은, 생체 정보 인식 애플리케이션을 호출하여, 사용자에게 생체 정보의 인식 예를 들어, 지문 인식을 요청하고, 센서를 통해 지문을 감지하여(S321), 감지된 지문이 기 등록된 지문과 일치하는지 여부를 판단할 수 있다(S323).
이때, 인증 중계 서버(200)는 제1 인증 프로그램를 통해 후술할 제3 공개키로 암호화된 사용자 식별 정보와 트랜잭션 태그(3rd locked_ID 및 TAG)를 암호화하는 제1 공개키(1st public key)를 사용자 단말(100)로 제공할 수 있다.
판단 결과, 센서를 통해 감지된 지문이 기 등록된 지문과 일치하여, 지문 인증이 성공하면, 사용자 단말(100)은, 지문 인증 성공에 응답하여 제1 공개키를 선택하고, 센서를 통해 감지된 지문의 템플릿과 매칭되어 저장되어 있던 제3 공개키로 암호화된 사용자 식별 정보와 트랜잭션 태그(3rd locked_ID 및 TAG)를 제1 공개키(1st public key)로 암호화한다(S330).
사용자 단말(100)은 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG))를 인증 중계 서버(200)로 전송할 수 있다(S340).
전술한 바와 같이, 도 3에 도시된 인증 과정 Ⅰ이 완료된 이후에, 사용자 단말(100)에는 도 6a에 도시된 바와 같이, 제1 공개키(1st public key), 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ID) 및 트랜잭션 태그(TAG)가 템플릿(template)와 매칭되어 저장될 수 있다.
또한, 도 6a에 도시된 바와 같이, 인증 중계 서버(200)에는 제1 개인키(1st private key)와 사용자 단말(100)로부터 수신한 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG))가 함께 저장될 수 있으며, 서드 파티 서버(300)에는 트랜잭션 태그(TAG), 제3 개인키(3rd private key) 및 사용자 식별 정보(ID)가 매칭되어 저장될 수 있다.
이때, 도 6a에 화살표로 표시한 데이터는 상호 암호화/복호화하는데에 사용될 수 있으며, 암호화하는 경우를 선형 화살표로, 복호화하는 경우를 블록형 화살표로 표시하였다. 즉, 제1 공개키(1st public key)는 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ID) 및 트랜잭션 태그(TAG)를 암호화하고, 제1 개인키(1st private key)는 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG))를 복호화할 수 있다.
본 발명의 일 실시예에 따르면, 인증 중계 서버(200)는 제1 개인키(1st private key)를 이용하여, 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG)를 복호화(1st unlock)하고(S350), 서드 파티 서버(300)로 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그_(3rd locked_ID & TAG)를 전송할 수 있다(S360).
제1 개인키(1st private key)는, 상기 제1 공개키의 선택에 시간적으로 동기되어 생성된 것일 수 있다. 즉, 사용자 단말(100)에 설치된 제1 인증 프로그램이, 생체 정보 인증 성공에 응답하여, 인증 중계 서버(200)로부터 제공받은 제1 공개키를 선택하는 것에 시간적으로 동기된 제1 개인키가 선택될 수 있다.
전술한 바와 같이, 도 3에 도시된 인증 과정 Ⅱ가 완료된 이후에, 사용자 단말(100)에는 도 6a에 도시된 바와 같이, 인증 과정 Ⅰ과 비교하여 저장되어 있는 데이터의 변화가 없으며, 인증 중계 서버(200)에는 제1 공개키 선택에 시간적으로 동기되어 생성된 제1 개인키(1st private key)가 저장될 수 있으며, 서드 파티 서버(300)에는 트랜잭션 태그(TAG), 제3 개인키(3rd private key) 및 사용자 식별 정보(ID)가 매칭되어 저장되고, 인증 중계 서버(200)로부터 수신한 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그_(3rd locked_ID & TAG)가 함께 저장되어 있을 수 있다. 이때, 제3 개인키(3rd private key)는, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그_(3rd locked_ID & TAG)를 복호화할 수 있다.
서드 파티 서버(300)는 수신된 트랜잭션 태그(TAG)와 매칭되는 제3 개인키(3rd private key)를 추출하여, 제3 공개키로 암호한 사용자 식별 정보(3rd locked_ID)를 복호화(3rd unlock)할 수 있다(S370).
서드 파티 서버(300)는 복호화를 통해 획득한 사용자 식별 정보(ID')를 트랜잭션 태그(TAG)와 매칭되어 저장되어 있는 사용자 식별 정보(ID)와 비교하여 인증하고(S380), 그 결과를 인증 중계 서버(200)로 전송할 수 있다(S391).
서드 파티 서버(300)는 복호화를 통해 얻어진 사용자 식별 정보(ID')가 서드 파티 서버(300)에 저장되어 있던 사용자 식별 정보 (ID)와 일치하면, 인증 성공으로, 그렇지 않은 경우, 인증 실패로 처리하여(S380), 그 결과를 인증 중계 서버(200)로 전송할 수 있다(S391)
인증 결과를 수신한 인증 중계 서버(200)는 사용자 단말(100)로 수신한 인증 결과를 전송할 수 있으며(S393), 이러한 과정을 통해, 사용자 인증이 완료될 수 있다.
전술한 바와 같이, 도 3에 도시된 인증 과정 Ⅲ이 완료된 이후에, 사용자 단말(100), 인증 중계 서버(200) 및 서드 파티 서버(300)는 도 6a에 도시된 바와 같이, 사용자 등록이 완료된 상태 즉, 인증 과정이 시작되기 전과 동일한 데이터를 저장하고 있을 수 있다.
이하, 도 4을 참조하여 본 발명의 다른 실시예에 따른 사용자 인증 절차를 살펴 본다. 도 4에 도시된 사용자 인증 절차는, 전술한 도 2에 도시된 사용자 등록 절차를 통해 사용자 식별 정보가 생성이 된 이후 수행되는 절차일 수 있으며, 도 3에 도시된 인증 절차와 비교하였을 때, 제2 공개키(2nd public key) 및 제2 개인키(2nd private key)를 이용한 암호화, 복호화 과정이 추가된다는 점에서 상이하다.
여기서, 제2 공개키(2nd public key)는, 인증 중계 서버(200)의 제1 개인키(1st private key)를 이용한 복호화 성공에 응답하여 선택되며, 제2 개인키(2nd private key)는, 서드 파티 서버(300)에 설치된 제2 인증 프로그램이, 인증 중계 서버(200)에서의 제2 공개키 선택에 시간적으로 동기되도록 생성한 것일 수 있다.
먼저, 사용자 단말(100)에 설치된 서드 파티 서버용 애플리케이션을 통해 인증 요청(Req_Verify)이 입력되면(S410), 서드 파티 서버용 애플리케이션이 사용자 단말(100)에 설치된 제1 인증 프로그램을 호출할 수 있다.
이후, 제1 인증 프로그램은, 생체 정보 인식 애플리케이션을 호출하며, 생체 정보 인식 애플리케이션은, 사용자에게 생체 정보의 인식을 요청하고, 센서를 통해 생체 정보를 감지하여(S421), 감지된 생체 정보가 기 등록된 생체 정보와 일치하는지 여부를 판단할 수 있다(S423). 이때, 생체 정보 인식 애플리케이션은 제1 인증 프로그램에 포함되어 설치되거나, 제1 인증 프로그램과 별도로 설치되어 상호 연계될 수 있다.
판단 결과, 센서를 통해 감지된 생체 정보가 기 등록된 생체 정보와 일치하여 생체 정보의 인증이 성공하면, 생체 정보의 인증 성공에 응답하여, 제1 공개키(1st public key)를 선택할 수 있다.
사용자 단말(100)은, 센서를 통해 감지된 생체 정보의 템플릿과 매칭되어 저장되어 있던 제3 공개키로 암호화된 사용자 식별 정보와 트랜잭션 태그(3rd locked_ID 및 TAG)를, 선택된 제1 공개키(1st public key)로 암호화한다(S430).
사용자 단말(100)은 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG))를 인증 중계 서버(200)로 전송할 수 있다(S440).
전술한 바와 같이, 도 4에 도시된 인증 과정 Ⅰ이 완료된 이후에, 사용자 단말(100)에는 도 6b에 도시된 바와 같이, 사용자 등록 과정이 완료된 후에 저장되어 있는 데이터와 동일한 데이터가 저장되어 있다.
또한, 도 6b에 도시된 바와 같이, 인증 중계 서버(200)에는 제1 개인키(1st private key) 및 제2 공개키(2nd public key)가 사용자 단말(100)로부터 수신한 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG))와 함께 저장되어 있을 수 있으며, 서드 파티 서버(300)에는 트랜잭션 태그(TAG), 제2 개인키(2nd private key), 제3 개인키(3rd private key) 및 사용자 식별 정보(ID)가 매칭되어 저장될 수 있다.
전술한 바와 같이, 제2 공개키(2nd public key)는, 인증 중계 서버(200)의 제1 개인키(1st private key)를 이용한 복호화 성공에 응답하여 선택되며, 제2 개인키(2nd private key)는, 서드 파티 서버(300)에 설치된 제2 인증 프로그램이, 인증 중계 서버(200)에서의 제2 공개키 선택에 시간적으로 동기되도록 생성한 것일 수 있다.
이때, 도 6b에 화살표로 표시한 데이터는 상호 암호화/복호화하는데에 사용될 수 있으며, 암호화하는 경우를 선형 화살표로, 복호화하는 경우를 블록형 화살표로 표시하였다. 즉, 제1 공개키(1st public key)는 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ID) 및 트랜잭션 태그(TAG)를 암호화하고, 제1 개인키(1st private key)는 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG))를 복호화할 수 있다.
본 발명의 다른 실시예에 따른, 인증 중계 서버(200)는 제1 개인키(1st private key)를 이용하여, 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG)를 복호화(1st unlock)하고(S451), 복호화한 제3 공개키로 암호화되어 있는 사용자 식별 정보 및 트랜잭션 태그(3rd locked_ID & TAG)를 다시 제2 공개키로 암호화하여(2nd locked_(3rd locked_ID & TAG))(S453), 서드 파티 서버(300)로 전송할 수 있다(S460).
인증 중계 서버(200)는, 제1 공개키(1st public key) 선택에 시간적으로 동기되어 생성된 제1 개인키(1st private key)를 이용하여, 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG)를 복호화(1st unlock)하며(S451), 제1 개인키를 이용한 복호화(1st unlock) 성공에 응답하여, 제2 공개키(2nd public key)를 선택할 수 있다.
이때, 인증 중계 서버(200)에서 제1 개인키를 이용한 복호화(1st unlock) 성공에 응답하여, 제2 공개키(2nd public key)를 선택하는 것에 시간적으로 동기되어 생성된 제2 개인키(2nd private key)가 제2 인증 프로그램을 통해, 서드 파티 서버(300)에서 선택될 수 있다.
인증 중계 서버(200)는, 선택된 제2 공개키(2nd public key)로 제3 공개키로 암호화되어 있는 사용자 식별 정보 및 트랜잭션 태그(3rd locked_ID & TAG)를 암호화하여(2nd locked_(3rd locked_ID & TAG))(S453), 서드 파티 서버(300)로 전송할 수 있다(S460).
전술한 바와 같이, 도 4에 도시된 인증 과정 Ⅱ가 완료된 이후에, 사용자 단말(100)에는 도 6b에 도시된 바와 같이, 인증 과정 Ⅰ과 비교하여 저장되어 있는 데이터의 변화가 없으며, 인증 중계 서버(200)에는 제1 개인키(1st private key) 및 제2 공개키(2nd public key)가 저장되어 있을 수 있다.
또한, 서드 파티 서버(300)에는 트랜잭션 태그(TAG), 제2 개인키(2nd private key), 제3 개인키(3rd private key) 및 사용자 식별 정보(ID)가, 인증 중계 서버(200)로부터 수신한 제2 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2nd locked_(3rd locked_ID & TAG))와 함께 저장되어 있을 수 있다.
이때, 제2 개인키(2nd private key), 및 제3 개인키(3rd private key)는, 제2 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2nd locked_(3rd locked_ID & TAG))를 복호화할 수 있다.
일 실시예에 따르면, 서드 파티 서버(300)는 제2 인증 프로그램을 통해 제2 공개키(2nd public key)를 선택하는 것에 시간적으로 동기되는 제2 개인키(2nd private key)를 이용하여, 제2 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2nd locked_(3rd locked_ID & TAG))를, 복호화한 후(2nd unlock)(S471), 복호화한 트랜잭션 태그(TAG)와 매칭되는 제3 개인키(3rd private key)를 추출하여, 제3 공개키로 암호한 사용자 식별 정보(3rd locked_ID)를 복호화(3rd unlock)할 수 있다(S473).
서드 파티 서버(300)는 복호화를 통해 획득한 사용자 식별 정보(ID')를 트랜잭션 태그(TAG)와 매칭되어 저장되어 있는 사용자 식별 정보(ID)와 비교하여 인증하고(S480), 그 결과를 인증 중계 서버(200)로 전송할 수 있다(S491).
인증 결과를 수신한 인증 중계 서버(200)는 사용자 단말(100)로 수신한 인증 결과를 전송할 수 있으며(S493), 이러한 과정을 통해, 사용자 인증이 완료될 수 있다.
전술한 바와 같이, 도 4에 도시된 인증 과정 Ⅲ이 완료된 이후에, 사용자 단말(100), 인증 중계 서버(200) 및 서드 파티 서버(300)는 도 6b에 도시된 바와 같이, 사용자 등록이 완료된 상태와 동일한 데이터를 저장하고 있을 수 있다.
이하, 도 5를 참조하여 본 발명의 또 다른 실시예에 따른 사용자 인증 절차를 살펴 본다. 도 5에 도시된 사용자 인증 절차는, 전술한 도 2에 도시된 사용자 등록 절차를 통해 사용자 식별 정보가 생성이 된 이후 수행되는 절차일 수 있으며, 도 4에 도시된 인증 절차와 비교하였을 때, 사용자 단말(100)이 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG))를 인증 중계 서버(200)가 아닌 서드 파티 서버(300)로 전송한다는 점에서 상이하다. 즉, 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG))가 서드 파티 서버(300)를 경유하여 인증 중계 서버(200)로 수신된다.
먼저, 사용자 단말(100)에 설치된 서드 파티 서버용 애플리케이션을 통해 인증 요청(Req_Verify)이 입력되면(S510), 서드 파티 서버용 애플리케이션이 사용자 단말(100)에 설치된 제1 인증 프로그램을 호출할 수 있다.
이후, 제1 인증 프로그램은, 생체 정보 인식 애플리케이션을 호출하며, 생체 정보 인식 애플리케이션은, 사용자에게 생체 정보의 인식을 요청하고, 센서를 통해 생체 정보를 감지하여(S521), 감지된 생체 정보가 기 등록된 생체 정보와 일치하는지 여부를 판단할 수 있다(S523).
이때, 생체 정보 인식 애플리케이션은 제1 인증 프로그램에 포함되어 설치되거나, 제1 인증 프로그램과 별도로 설치되어 상호 연계될 수 있다.
판단 결과, 센서를 통해 감지된 생체 정보가 기 등록된 생체 정보와 일치하 여 생체 정보의 인증이 성공하면, 생체 정보의 인증 성공에 응답하여, 제1 공개키(1st public key)를 선택할 수 있다.
사용자 단말(100)은, 센서를 통해 감지된 생체 정보의 템플릿과 매칭되어 저장되어 있던 제3 공개키로 암호화된 사용자 식별 정보와 트랜잭션 태그(3rd locked_ID 및 TAG)를 전술한 과정을 통해 선택된 제1 공개키(1st public key)로 암호화한다(S530).
사용자 단말(100)은 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG))를 서드 파티 서버(300)로 전송할 수 있다(S541).
전술한 바와 같이, 도 5에 도시된 인증 과정 Ⅰ이 완료된 이후에, 사용자 단말(100) 및 인증 중계 서버(200)에는 도 6c에 도시된 바와 같이, 사용자 등록 과정이 완료된 후에 저장되어 있는 데이터와 동일한 데이터가 저장되어 있다.
또한, 도 6c에 도시된 바와 같이, 서드 파티 서버(300)에는, 트랜잭션 태그(TAG), 제2 개인키(2nd private key), 제3 개인키(3rd private key) 및 사용자 식별 정보(ID)가 사용자 단말(100)로부터 수신한 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG))와 함께 저장되어 있을 수 있다.
전술한 바와 같이, 제2 공개키(2nd public key)는, 인증 중계 서버(200)의 제1 개인키(1st private key)를 이용한 복호화 성공에 응답하여 선택되며, 제2 개인키(2nd private key)는, 서드 파티 서버(300)에 설치된 제2 인증 프로그램이, 인증 중계 서버(200)에서의 제2 공개키 선택에 시간적으로 동기되도록 생성한 것일 수 있다.
이때, 도 6c에 화살표로 표시한 데이터는 상호 암호화/복호화하는데에 사용될 수 있으며, 암호화하는 경우를 선형 화살표로, 복호화하는 경우를 블록형 화살표로 표시하였다. 즉, 제1 공개키(1st public key)는 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ID) 및 트랜잭션 태그(TAG)를 암호화할 수 있다.
본 발명의 또 다른 실시예에 따른, 서드 파티 서버(300)는, 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG))를 인증 중계 서버(200)로 전송할 수 있다(S543).
즉, 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG))가 서드 파티 서버(300)를 경유하여 인증 중계 서버(200)로 수신될 수 있다(S543).
인증 중계 서버(200)는 제1 개인키(1st private key)를 이용하여, 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG)를 복호화(1st unlock)하고(S551), 복호화한 제3 공개키로 암호화되어 있는 사용자 식별 정보 및 트랜잭션 태그(3rd locked_ID & TAG)를 다시 제2 공개키로 암호화하여(2nd locked_(3rd locked_ID & TAG))(S553), 서드 파티 서버(300)로 전송할 수 있다(S560).
인증 중계 서버(200)는, 제1 공개키(1st public key) 선택에 시간적으로 동기화되어 선택된 제1 개인키(1st private key)를 이용하여, 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG)를 복호화(1st unlock)하며(S551), 제1 개인키를 이용한 복호화(1st unlock) 성공에 응답하여, 제2 공개키(2nd public key)를 선택할 수 있다.
이때, 인증 중계 서버(200)에서 제1 개인키를 이용한 복호화(1st unlock) 성공에 응답하여, 제2 공개키(2nd public key)를 선택하는 것에 시간적으로 동기되는 제2 개인키(2nd private key)가 제2 인증 프로그램을 통해, 서드 파티 서버(300)에서 생성될 수 있다.
인증 중계 서버(200)는, 선택된 제2 공개키(2nd public key)로 제3 공개키로 암호화되어 있는 사용자 식별 정보 및 트랜잭션 태그(3rd locked_ID & TAG)를 암호화하여(2nd locked_(3rd locked_ID & TAG))(S553), 서드 파티 서버(300)로 전송할 수 있다(S560).
전술한 바와 같이, 도 5에 도시된 인증 과정 Ⅱ가 완료된 이후에, 사용자 단말(100) 및 인증 중계 서버(200)에는 도 6c에 도시된 바와 같이, 인증 과정 Ⅰ과 비교하여 저장되어 있는 데이터의 변화가 없다. 다만, 서드 파티 서버(300)에는 트랜잭션 태그(TAG), 제2 개인키(2nd private key(), 제3 개인키(3rd private key) 및 사용자 식별 정보(ID)가, 인증 중계 서버(200)로부터 수신한 제2 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2nd locked_(3rd locked_ID & TAG))와 함께 저장되어 있을 수 있다.
이때, 제2 개인키(2nd private key), 및 제3 개인키(3rd private key)는, 제2 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2nd locked_(3rd locked_ID & TAG))를 복호화할 수 있다.
일 실시예에 따르면, 서드 파티 서버(300)는 제2 인증 프로그램을 통해 제2 공개키(2nd public key) 선택에 시간적으로 동기되는 제2 개인키(2nd private key)를 이용하여, 제2 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2nd locked_(3rd locked_ID & TAG))를 복호화한 후(2nd unlock)(S571), 복호화한 트랜잭션 태그(TAG)와 매칭되는 제3 개인키(3rd private key)를 추출하여, 제3 공개키로 암호한 사용자 식별 정보(3rd locked_ID)를 복호화(3rd unlock)할 수 있다(S573).
서드 파티 서버(300)는 복호화를 통해 획득한 사용자 식별 정보(ID')를 트랜잭션 태그(TAG)와 매칭되어 저장되어 있는 사용자 식별 정보(ID)와 비교하여 인증하고(S580), 그 결과를 사용자 단말(100)로 전송할 수 있다(S590).
전술한 바와 같이, 도 5에 도시된 인증 과정 Ⅲ이 완료된 이후에, 사용자 단말(100), 인증 중계 서버(200) 및 서드 파티 서버(300)는 도 6c에 도시된 바와 같이, 사용자 등록이 완료된 상태와 동일한 데이터를 저장하고 있을 수 있다
이하, 도 7 내지 도 9을 참조하여, 본 발명의 실시예에 따른 사용자 단말, 인증 중계 서버 및 서드 파티 서버의 내부 구성에 대하여 살펴보도록 한다.
도 7은 본 발명의 일 실시예에 따른 사용자 단말(100)의 내부 구성을 도시한 블록도이다.
도 7을 참조하여 살펴보면, 본 발명의 일 실시예에 따른 사용자 단말(100)은, 서드 파티 서버용 애플리케이션(110), 제1 인증프로그램(120), 생체 정보 인증부(130), 저장부(140), 제어부(150) 및 통신부(160)를 포함할 수 있다.
서드 파티 서버용 애플리케이션(110)은, 서드 파티 서버(300)를 위한 애플리케이션으로서, 인증을 필요로 하는 모든 애플리케이션, 일례로 금융 애플리케이션, 쇼핑 애플리케이션 등일 수 있다.
일 실시예에 따른, 서드 파티 서버용 애플리케이션(110)은, 서드 파티 서버(300)로 사용자 등록 요청(Req_Enroll)을 전송하고, 이에 대한 결과로 수신된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(3rd locked_ID, TAG)는 이후, 저장부(140)에 저장될 수 있다.
또한, 서드 파티 서버용 애플리케이션(110)을 통해 사용자가 인증 요청을 입력할 수 있으며, 서드 파티 서버용 애플리케이션(110)에 입력된 사용자 인증 요청에 따라, 사용자 단말(100)은 사용자 인증 과정을 수행할 수 있다.
일 실시예에 따른, 서드 파티 서버용 애플리케이션(110)은, 서드 파티 서버(300)에 사용자 식별 정보를 요청하는 기능, 서드 파티 서버(300)로부터 제3 공개키로 암호화된 사용자 식별 정보를 수신하는 기능, 사용자의 생체 정보를 사용자 단말(100)에 등록하는 기능, 등록된 생체 정보와 상기 제3 공개키로 암호화된 사용자 식별 정보를 매칭 시켜 저장하는 기능을 포함할 수 있다.
일 실시예에 따른, 제1 인증 프로그램(120)은, 서드 파티 서버용 애플리케이션(110)을 통해 사용자 인증 요청이 입력되면, 생체 정보 인식 애플리케이션을 호출하여, 생체 정보 인증부(130)를 활성화시킨다.
생체 정보 인증부(130)는, 생체 정보 인증부(130)에 포함된 센서를 통해 생체 정보를 입력받고, 입력된 생체 정보를 미리 저장된 생체 정보와 일치하는지 여부를 확인하여, 생체 정보를 인증할 수 있다.
일 실시예에 따른, 생체 정보 인증부(130)는, 생체 정보 인증을 위해 필요한 생체 정보 인식 애플리케이션이 설치된 상태일 수 있으며, 생체 정보 예를 들어 지문 인식을 위한 지문 센서 등을 포함할 수 있다.
생체 정보 인증부(130)가 생체 정보의 인증을 완료하면, 제1 인증 프로그램(120)은 저장부(140)에 인증된 생체 정보에 상응하는 템플릿(template)과 매칭되어 미리 저장되어 있던 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(3rd locked_ID, TAG)를, 제1 공개키로 암호화(1st locked_(3rd locked_ID & TAG)할 수 있다.
이때, 제1 공개키(1st public key)는 생체 정보의 인증 성공에 응답하여, 제
1 인증 프로그램(120)이 선택한 것일 수 있으며, 이와 같은 제1 공개키(1st public key) 선택에 시간적으로 동기된 제1 개인키(1st private key)가 인증 중계 서버(200)에서 선택될 수 있다.
생체 정보 인증부(130)는, 생체 정보가 센서를 통해 인식되면, 인식된 생체 정보를 인증하고, 생체 정보에 상응하는 템플릿(template)를 생성할 수 있다.
일 실시예에 따른 제1 인증 프로그램(120)은 전술한 과정을 통해 선택된 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG)를 인증 중계 서버(200)로 직접 또는 서드 파티 서버(300)를 경유하여 전송할 수 있다.
일 실시예에 따른, 인증 중계 서버(200)는, 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG) 를, 제1 개인키를 이용하여 복호화한 후(1st unlock), 다시 제2 공개키로 암호화(2nd locked_(3rd locked_ID & TAG))하여 서드 파티 서버(300)로 전송할 수 있다.
이때, 제1 개인키(1st private key)는 제1 공개키(1st public key) 선택에 시간적으로 동기되어 인증 중계 서버(200)에서 생성된 것으로, 제1 공개키(1st public key) 선택에 시간적으로 동기화되어 선택될 수 있다.
또한, 제2 공개키(2nd public key)는, 인증 중계 서버(200)의 제1 개인키를 이용한 복호화 과정(1st unlock)의 성공에 응답하여 선택될 수 있으며, 이때 제2 공개키(2nd public key)가 선택되는 것에 시간적으로 동기되어 생성된, 제2 개인키(2nd private key)가 서드 파티 서버(300)에서 제2 인증 프로그램을 통해 2 공개키(2nd public key) 선택에 동기화되어 선택될 수 있다.
일 실시예에 따른, 서드 파티 서버(300)는, 인증 중계 서버(200)로부터 수신한 제2 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2nd locked_(3rd locked_ID & TAG))에 기초하여 사용자 인증 절차를 수행하고, 그 결과를 인증 중계 서버(200)를 통해 사용자 단말(100)에 설치되어 있는 서드 파티 서버용 애플리케이션(110)으로 전송할 수 있다.
일 실시예에 따른 저장부(140)는, 사용자 등록 요청(Req_Enroll)에 따라 서드 파티 서버(300)로부터 수신한 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(3rd locked_ID, TAG)를, 템플릿(template), 예를 들어, 지문 센서를 통해 입력된 지문에 상응하여 생성된 지문의 식별 정보(template)와 매칭시켜 저장할 수 있다.
일 실시예에 따르면, 저장부(140)는, 제3 공개키로 암호화된 사용자 식별 정보, 트랜잭션 태그(3rd locked_ID, TAG) 및 템플릿(template)을 데이터 베이스에 저장할 수 있는데, 데이터 베이스는, 저장부(140)에 포함되거나, 저장부(140)와 별도로 존재할 수도 있다.
일 실 시예에 따른, 저장부(140)는, 사용자 식별 정보, 트랜잭션 태그(3rd locked_ID, TAG) 및 템플릿(template) 이외에, 제1 공개키도 저장할 수 있다.
일 실시예에 따르면, 저장부(140)가 매칭시켜 저장하는, 템플릿(template), 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(3rd locked_ID, TAG)는, 키 싸이닝(Key Signing) 절차를 통해 사용자 단말(100) 내에서 보호 관리 될 수 있으며, 이때, 키 싸이닝을 위하여 단말의 식별 정보 예를 들어 맥 어드레스(MAC address) 등을 이용할 수 있다. 저장부(140)는 플래쉬 메모리, 보안 SD 카드, USIM 카드 또는 CPU 내의 특정 메모리 영역이 될 수 있다.
일 실시예에 따른 통신부(160)는 사용자 단말(100)과 외부 장치 간 통신이 가능하도록 한다. 구체적으로, 사용자 단말(100)은, 통신부(160)를 통해 외부 서버인, 인증 중계 서버(200) 및 서드 파티 서버(300)와 데이터의 송수신을 할 수 있다. 통신부(160)는 3GPP, WIFI, Wimax 등의 통신 규격을 따르는 데이터 송수신 모듈이 될 수 있다.
일 실시예에 따른 제어부(150)는, 서드 파티 서버용 애플리케이션(110), 제1 인증프로그램(120), 생체 정보 인증부(130), 저장부(140) 및 통신부(160) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명에 따른 제어부(150)는, 서드 파티 서버용 애플리케이션(110), 제1 인증프로그램(120), 생체 정보 인증부(130), 저장부(140) 및 통신부(160)에서 각각 고유한 기능을 수행하도록 제어할 수 있다. 제어부(150)는 사용자 단말(100)을 전체적으로 제어하는 CPU 또는 디바이스를 국부적으로 제어하는 MCU가 될 수 있다.
도8은 본 발명의 일 실시예에 따른 인증 중계 서버(200)의 내부 구성을 도시한 블록도이다.
도 8을 참조하여 살펴보면, 본 발명의 일 실시예에 따른 인증 중계 서버(200)는, 암호화/복호화부(210), 저장부(220), 제어부(230) 및 통신부(240)를 포함할 수 있다
일 실시예에 따른, 암호화/복호화부(210)는, 서드 파티 서버(300)로부터 수신한 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG) 를 저장부(220)에 저장되어 있던 제1 개인키(1st private key)를 이용하여 복호화(1st unlock)한 후, 제2 공개키로 암호화(2nd locked_(3rd locked_ID & TAG))하여, 통신부(240)를 통해 서드 파티 서버(300)로 전송할 수 있다.
일 실시예에 따른 저장부(220)는, 제1 개인키(1st private key) 및 제2 공개키(2nd public key)를 함께 저장하고 있을 수 있다. 저장부(220)는 다수의 사용자 또는 특정 시간에 대응하여 다수의 개인키 또는 공개키를 저장하고 있는 데이터베이스 서버일 수 있다.
일 실시예에 따른 통신부(240)는 인증 중계 서버(200)와 외부 장치 간 통신이 가능하도록 한다. 구체적으로, 인증 중계 서버(200)는, 통신부(240)를 통해 외부 서버인, 사용자 단말(100) 및 서드 파티 서버(300)와 데이터의 송수신을 할 수 있다.
일 실시예에 따른 통신부(240)는, 제2 공개키로 암호화된 사용자 식별정보 및 태그(2nd locked_(3rd locked_ID & TAG))를 서드 파티 서버(300)로 전송할 수 있다.
일 실시예에 따른 제어부(230)는 암호화/복호화부(210), 저장부(220) 및 통신부(240) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명에 따른 제어부(230)는 암호화/복호화부(210), 저장부(220) 및 통신부(240)에서 각각 고유한 기능을 수행하도록 제어할 수 있다.
도 9는 본 발명의 일 실시예에 따른 서드 파티 서버(300)의 내부 구성을 도시한 블록도이다.
도 9를 참조하여 살펴보면, 본 발명의 일 실시예에 따른 서드 파티 서버(300)는, 제2 인증 프로그램(310), 저장부(320), 제어부(330) 및 통신부(340)를 포함할 수 있다. 서드 파티 서버(300)은 생체 인증을 이용한 사용자 인증 또는 대금 결제가 가능한 온라인 쇼핑몰, 금융 기관, 지급 대행 업체 서버일 수 있다.
일 실시예에 따른 제2 인증 프로그램(310)은, 사용자 등록 요청(Req_Enroll)을 수신하면, 사용자 식별 정보(ID)를 제3 공개키로 암호화하여(3rd locked_ID), 트랜잭션 태그(TAG)와 함께 사용자 단말(100)로 전송할 수 있다. 이때, 제3 공개키(3rd public key)는 사용자 식별 정보(ID)를 암호화한 뒤에, 바로 삭제될 수 있다.
일 실시예에 따른, 제2 인증 프로그램(310)은, 사용자 단말(100)로부터 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG)를 수신하여 인증 중계 서버(200)로 전송할 수 있다.
다른 실시예에서는 상기 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG)는 사용자 단말로부터 인증 중계 서버(200)으로 직접 전송될 수 있다.
일 실시예에 따른, 제2 인증 프로그램(310)는, 인증 중계 서버(200)가 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1st locked_(3rd locked_ID & TAG)를 제1 개인키(1st private key)로 복호화한 뒤, 제2 공개키로 암호화한, 제2 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2nd locked_(3rd locked_ID&TAG))를 수신할 수 있다.
일 실시예에 따른, 제2 인증 프로그램(310)은 제2 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2nd locked(3rd locked_ID&TAG))를, 제2 개인키로 복호화한(2nd unlock) 후, 트랜잭션 태그(TAG)와 매칭되어 저장된 제3 개인키를 이용하여, 제3 공개키로 암호화된 사용자 식별 정보(3rd locked_ID)를 복호화할 수 있다.
일 실시예에 따른, 제2 인증 프로그램(310)은, 복호화한 사용자 식별 정보(ID')와 미리 저장되어 있는 사용자 식별 정보(ID)와 비교함으로써, 사용자를 인증하고, 인증 결과를 사용자 단말(100)로 전송할 수 있으며, 사용자 단말(100)은 수신된 인증 결과에 기초하여 인증 절차를 완료할 수 있다.
일 실시예에 따른 저장부(320)는, 사용자 단말(100)로부터 사용자 등록 요청(Req_Enroll)을 수신하여 생성한, 사용자 식별 정보, 제3 개인키 및 트랜잭션 태그(ID, 3rd private key, TAG) 및 제2 개인키(2nd private key)를 저장할 수 있다.
일 실시예에 따르면, 저장부(320)는, 제2 개인키(2nd private key)를 제외한, 사용자 식별 정보, 제3 개인키 및 트랜잭션 태그(ID, 3rd private key, TAG)를 데이터 베이스에 저장할 수 있는데, 데이터 베이스는 저장부(320)에 포함되거나, 저장부(320)와 별도로 존재할 수도 있다.
일 실시예에 따른 통신부(340)는 서드 파티 서버(300)와 외부 장치 간 통신이 가능하도록 한다. 구체적으로, 서드 파티 서버(300)는, 통신부(340)를 통해 외부 서버인, 사용자 단말(100) 및 인증 중계 서버(200)와 데이터의 송수신을 할 수 있다.
일 실시예에 따른 제어부(330)는 암호화/복호화부(310), 저장부(320) 및 통신부(340) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명에 따른 제어부(330)는 암호화/복호화부(310), 저장부(320) 및 통신부(340)에서 각각 고유한 기능을 수행하도록 제어할 수 있다.
이와 같이, 본 발명의 실시예에 따르면, 개인 식별 정보의 인증 및 암호화 방식을 통해, 간편하지만 보안이 더욱 강화된 사용자 인증이 가능해지며, 이에 따라 별도의 인증서 저장 없이도 인증 절차를 수행할 수 있어 사용자 편의성이 증대될 수 있다.
또한, 본 발명의 실시예에 따르면, 사용자의 생체 정보는 생체 정보에 부여된 식별 정보로 저장, 관리되므로, 개인 정보의 유출 위험이 적어지며, 생체 정보 자체가 사용자 단말 외부로 전송되지 않으며, 사용자 단말과 서드 파티 서버 간의 인증 절차가 아닌, 사용자 단말, 서드 파티 서버 및 인증 중계 서버의 삼자간 인증 절차를 통해 중간자 공격에 대한 방지가 가능해지며, 생체 정보가 인증 결과가 해킹되지 않도록 시간 의존적인 암호화 기법을 사용함으로써, 해킹의 위험이 줄어들 수 있다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 애플리케이션 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 애플리케이션 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 애플리케이션 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 애플리케이션 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 애플리케이션 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 사용자 단말
200: 인증 중계 서버
300: 서드 파티 서버
110: 애플리케이션
120: 제1 인증 프로그램
130: 생체 정보 인증부
140: 데이터베이스
150: 제어부
160: 통신부
210: 암호화/복호화부
220: 데이터베이스
230: 제어부
240: 통신부
310: 제2 인증 프로그램
320: 데이터베이스
330: 제어부
340: 통신부

Claims (2)

  1. 생체 정보 입력이 가능한 사용자 단말 및 서드 파티 서버와 연결된 인증 중계 서버의 인증 방법에 있어서,
    사용자 인증 승인에 따라 수신된 제1 공개키로 암호화된 사용자 식별 정보 및 태그를 제1 개인키로 복호화하는 단계;
    상기 사용자 식별 정보 및 상기 태그를 서드 파티 서버로 송신하는 단계;
    상기 서드 파티 서버로부터 상기 태그에 대응하는 상기 사용자 식별 정보의 복호화 결과를 수신하는 단계; 및
    상기 복호화 결과에 대응하여 상기 사용자 인증 결과를 상기 사용자 단말로 송신하는 단계를 포함하는 인증 중계 서버의 인증 방법.
  2. 제1항에 있어서, 상기 사용자 식별 정보 및 상기 태그를 서드 파티 서버로 송신하는 단계는
    상기 사용자 식별 정보 및 상기 태그를 제2 공개키로 암호화하여 상기 서드 파티 서버로 송신하는 것이고,
    상기 서드 파티 서버에서 제2 개인키로 복호화한 후, 상기 태그에 대응하는 상기 사용자 식별 정보를 복호화하는 것인, 인증 중계 서버의 인증 방법.
KR1020140087221A 2014-07-11 2014-07-11 사용자 인증 방법, 서버 및 사용자 단말 KR20150115593A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140087221A KR20150115593A (ko) 2014-07-11 2014-07-11 사용자 인증 방법, 서버 및 사용자 단말

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140087221A KR20150115593A (ko) 2014-07-11 2014-07-11 사용자 인증 방법, 서버 및 사용자 단말

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020140039417A Division KR101520722B1 (ko) 2014-01-17 2014-04-02 사용자 인증 방법, 서버 및 사용자 단말

Publications (1)

Publication Number Publication Date
KR20150115593A true KR20150115593A (ko) 2015-10-14

Family

ID=54357709

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140087221A KR20150115593A (ko) 2014-07-11 2014-07-11 사용자 인증 방법, 서버 및 사용자 단말

Country Status (1)

Country Link
KR (1) KR20150115593A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019231140A1 (ko) * 2018-05-31 2019-12-05 삼성전자주식회사 생체 정보를 이용한 서비스 수행을 위한 시스템 및 그의 제어 방법
KR20190136902A (ko) * 2018-05-31 2019-12-10 삼성전자주식회사 생체 정보를 이용한 서비스 수행을 위한 시스템 및 그의 제어 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019231140A1 (ko) * 2018-05-31 2019-12-05 삼성전자주식회사 생체 정보를 이용한 서비스 수행을 위한 시스템 및 그의 제어 방법
KR20190136902A (ko) * 2018-05-31 2019-12-10 삼성전자주식회사 생체 정보를 이용한 서비스 수행을 위한 시스템 및 그의 제어 방법
US11546163B2 (en) 2018-05-31 2023-01-03 Samsung Electronics Co., Ltd System for performing service by using biometric information, and control method therefor

Similar Documents

Publication Publication Date Title
KR101520722B1 (ko) 사용자 인증 방법, 서버 및 사용자 단말
KR102328725B1 (ko) 하나의 장치를 이용하여 다른 장치를 언로크하는 방법
CN106575326B (zh) 利用非对称加密实施一次性密码的系统和方法
JP2018521417A (ja) 生体特徴に基づく安全性検証方法、クライアント端末、及びサーバ
US9280650B2 (en) Authenticate a fingerprint image
US11075758B2 (en) Access security system and method
KR20150115593A (ko) 사용자 인증 방법, 서버 및 사용자 단말
KR102561689B1 (ko) 생체 정보 등록 장치 및 방법, 생체 인증 장치 및 방법
KR20140007628A (ko) 모바일 계좌이체 검증처리 방법
KR20140007630A (ko) 아이씨 칩

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid