KR20180087739A - 신원확인 또는 부인방지가 가능한 fido 인증 장치 및 그 방법 - Google Patents

신원확인 또는 부인방지가 가능한 fido 인증 장치 및 그 방법 Download PDF

Info

Publication number
KR20180087739A
KR20180087739A KR1020170012165A KR20170012165A KR20180087739A KR 20180087739 A KR20180087739 A KR 20180087739A KR 1020170012165 A KR1020170012165 A KR 1020170012165A KR 20170012165 A KR20170012165 A KR 20170012165A KR 20180087739 A KR20180087739 A KR 20180087739A
Authority
KR
South Korea
Prior art keywords
fido
authentication
service
user
server
Prior art date
Application number
KR1020170012165A
Other languages
English (en)
Other versions
KR101941227B1 (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 KR1020170012165A priority Critical patent/KR101941227B1/ko
Publication of KR20180087739A publication Critical patent/KR20180087739A/ko
Application granted granted Critical
Publication of KR101941227B1 publication Critical patent/KR101941227B1/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 신원확인 또는 부인방지가 가능한 FIDO 인증 장치 및 그 방법에 관한 것으로서, 생체정보를 입력받는 생체정보 입력부; 개인키 및 공개키의 키쌍을 생성하여, 상기 개인키를 저장하고, 상기 공개키를 FIDO 서버로 전송하게 하는, 개인키 생성등록부; 생체정보, 개인키, 서비스, 및, 사용자 아이디를 하나의 매핑정보로 설정하여, 설정된 매핑정보를 매핑테이블에 저장하는 생체인증 매핑부; 입력된 생체정보를 매핑테이블에 저장된 생체정보와 대비하여, 양 생체정보의 동일 여부에 따라 검증 여부를 결정하는 생체정보 검증부; 및, 인증요청을 수신하여, 인증요청의 서비스와 사용자 아이디가 동일한 매핑정보를 상기 매핑테이블에서 검색하고, 검색된 매핑정보의 생체정보를 이용하여 생체정보를 검증하고, 생체정보가 검색되면 검색된 매핑정보의 개인키로 인증응답을 생성하는 인증응답 생성부를 포함하는 구성을 마련한다.
상기와 같은 FIDO 인증 장치 및 그 방법에 의하여, 사용자 인증을 위한 생체인증정보를 사용자 인증서 또는 인증서 키쌍과 매핑시킴으로써, 생체인증정보와 개인키(또는 인증서)를 연결시켜 신원확인 또는 부인방지를 할 수 있다.

Description

신원확인 또는 부인방지가 가능한 FIDO 인증 장치 및 그 방법 { A FIDO authentication device capable of identity confirmation or non-repudiation and the method thereof }
본 발명은 생체데이터와 개인키를 매핑하여 생체 인증을 수행하여 생체데이터 인증시 신원확인과 부인방지를 할 수 있는, 신원확인 또는 부인방지가 가능한 FIDO 인증 장치 및 그 방법에 관한 것이다.
일반적으로, 파이도(FIDO, Fast Identity Online)는 아이디와 비밀번호 대신 지문 인식, 홍채 인식 또는, 얼굴 인식등을 통해 대체가 불가능 하면서도 간단한 절차를 통해 인증을 처리할 수 있도록 해주는 새로운 인증 시스템의 표준 규격이다. FIDO 인증은 기본적으로 아이디(ID)와 패스워드를 사용하는 시스템의 취약성을 해결하기 위해 사용되는 인증 체계로서, 사용자가 기억해야 하는 패스워드가 아닌 자신이 지니고 있는 것, 예를 들어, 지문과 같은 생체 인식을 패스워드로 하여 더욱 보안성을 높이고 있다.
FIDO는 공개키 암호화 방식을 사용한다. 즉, 사용자가 인증방식을 선택하고 그것을 등록할 때 새로운 키 쌍이 생성되어 저장된다. 이때, 인증 자료가 서버로 전송되지 않는다. 예를 들어, 지문으로 인증을 하게 되면, 이에 맞는 개인키로 인증정보를 생성하고, 서버에 저장되어 있는 공개키로 검증하여 개인키와 맞는지를 확인한다. 그래서 일치하면 인증을 확인하는 방식이다. 따라서 파이도(FIDO)는 인증으로 사용한 지문을 서버로 전송하여 이전에 등록되었던 지문과 일치하는지 확인하는 방식이 아니다.
즉, FIDO 인증은 사용자가 서비스 제공 시스템에 접근하기 위해 기반 기술로 공개키 기반 구조(PKI) 기술을 사용하지만 사용자는 PKI 사용 여부나 사용하는 공개키 및 개인키를 몰라도 된다. 이러한 특성으로 인하여 인증 시에 인증기(Authenticator)라고 하는 부가적인 사용자 장치(이하 FIDO 인증장치)가 필요하다. FIDO 인증장치는 서비스 제공 시스템에 로그인하기 위한 개인키를 안전하게 저장한다.
상기 FIDO 인증장치는 H/W나 S/W등 형태에 제한을 두지 않아, 이를 서비스 제공자가 직접 정할 수 있다. 이때, 서비스 제공자는 FIDO 인증장치 허용 및 차단 정책을 이용하여, FIDO 인증장치가 제공할 수 있는 보안수준 대비, 서비스 제공에 필요한 보안 수준을 설정할 수 있다.
또한, 생체정보 및 개인키가 FIDO 인증장치에 저장되고, 공개키 부분만 FIDO 서버에 저장함으로써 서버가 해킹되더라도 사용자 공개키로는 할 수 있는 것이 없기 때문에 개인정보 보호에 완벽하다고 할 수 있다. 사용자는 사용하고자 하는 서비스의 접근을 위해서 FIDO 인증장치 내의 개인키에 접근해야 하고, 해당 개인키에 접근하기 위해 FIDO 인증장치에 대한 인증을 수행한다. 이때, FIDO는 이러한 인증의 수단(이하 지역 사용자 인증장치)에 제한을 두지 않지만 지문 등 생체정보를 이용한 인증을 이용함으로써 각광을 받고 있다. 다만, 현재 스마트폰의 지문장치를 FIDO 인증장치로 사용함으로써 기 등록된 지문이 서비스 사용자의 지문이 맞다는 본인인증이 불가능하여 금융 거래 등 사용자를 특정해야 하는 경우에는 서비스 제공자가 사용자에 대한 신원확인 및 사용자의 행위에 대한 부인을 방지할 수 없게 되는 부작용을 낳을 수 있다.
상기와 같은 문제점을 해결하고자 FIDO 인증을 수행할 때 FIDO 인증 외에 인증서를 이용한 전자서명 및 인증서 검증을 수행함으로써 사용자 인증 외에 사용자의 신원확인 또는, 사용자 행위에 대한 부인방지를 하고자 하는 기술이 제시되고 있다[특허문헌 1].
그러나 상기 선행기술과 같은 기존 FIDO 인증장치 기술은 사용자 인증 절차(생체정보 매칭에 의한 사용자 인증 과정)와 사용자 키쌍 생성 절차(또는 인증서 생성/보관 과정)가 분리되어 있다. 따라서 인증서(또는 키쌍)의 본인인 해당 사용자가 아닌 다른 사용자도 사용자 검증 데이터(생체정보)를 등록할 수 있다. 이와 같은 이유로, 상기 선행기술 등 종래기술의 FIDO 인증장치는 본인 인증 또는 거래 서명에 이용될 수 없다는 문제점이 있다.
한국등록특허 제10-1611872호 (2016.04.12.공고)
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 생체데이터와 개인키를 매핑하여 생체 인증을 수행하여 생체데이터 인증시 신원확인과 부인방지를 할 수 있는, 신원확인 또는 부인방지가 가능한 FIDO 인증 장치 및 그 방법을 제공하는 것이다.
특히, 본 발명의 목적은 생체데이터를 사용자 인증 데이터로 등록할 때 대면/비대면 실명 확인을 거친 후 생체인증 데이터와 개인키(또는 인증서)를 매핑시켜 저장하여 등록하는, 신원확인 또는 부인방지가 가능한 FIDO 인증 장치 및 그 방법을 제공하는 것이다.
또한, 본 발명의 목적은 종래의 FIDO 인증장치 규격에서 FIDO 프로토콜 익스텐션을 이용하여 서비스에서 설정한 변경가능 여부 정책을 설정하고, 설정된 정책에 따라 사용자 임의로 FIDO 인증장치에 생체인증정보(사용자 인증 정보)의 등록/수정/삭제를 제한하는, 신원확인 또는 부인방지가 가능한 FIDO 인증 장치 및 그 방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 FIDO 클라이언트에 의해 호출되고, 상기 FIDO 클라이언트를 통해 FIDO 서버와 통신하는, 신원확인 또는 부인방지가 가능한 FIDO 인증 장치에 관한 것으로서, 생체정보를 입력받는 생체정보 입력부; 개인키 및 공개키의 키쌍을 생성하여, 상기 개인키를 저장하고, 상기 공개키를 FIDO 서버로 전송하게 하는, 개인키 생성등록부; 생체정보, 개인키, 서비스, 및, 사용자 아이디를 하나의 매핑정보로 설정하여, 설정된 매핑정보를 매핑테이블에 저장하는 생체인증 매핑부; 입력된 생체정보를 매핑테이블에 저장된 생체정보와 대비하여, 양 생체정보의 동일 여부에 따라 검증 여부를 결정하는 생체정보 검증부; 및, 인증요청을 수신하여, 인증요청의 서비스와 사용자 아이디가 동일한 매핑정보를 상기 매핑테이블에서 검색하고, 검색된 매핑정보의 생체정보를 이용하여 생체정보를 검증하고, 생체정보가 검색되면 검색된 매핑정보의 개인키로 인증응답을 생성하는 인증응답 생성부를 포함하는 것을 특징으로 한다.
또한, 본 발명은 신원확인 또는 부인방지가 가능한 FIDO 인증 장치에 있어서, 상기 생체인증 매핑부는 실명인증이 확인된 경우에 한하여 상기 FIDO 서버의 요청에 의하여, 생체정보에 대한 매핑정보를 상기 매핑테이블에 등록하는 것을 특징으로 한다.
또한, 본 발명은 신원확인 또는 부인방지가 가능한 FIDO 인증 장치에 있어서, 상기 매핑테이블의 매핑정보는 변경가능 또는 변경불가로 설정되는 변경정책을 더 포함하여 구성되고, 상기 생체인증 매핑부는 상기 FIDO 서버의 변경정책이 변경불가로 설정되는 경우 실명인증을 수행하는 등록 절차에 의해서만, 생체정보에 대한 매핑정보가 상기 매핑테이블에 등록되는 것을 특징으로 한다.
또한, 본 발명은 FIDO 인증장치, FIDO 클라이언트, 서비스 클라이언트, 서비스 서버, 및, FIDO 서버에 의해 수행되는 신원확인 또는 부인방지가 가능한 FIDO 인증 방법에 관한 것으로서, (a1) 상기 서비스 클라이언트가 사용자로부터 서비스 개설 및 FIDO 등록을 요청받는 단계; (a2) 상기 서비스 클라이언트는 상기 서비스 서버와 연동하여, 사용자에 대한 실명인증을 수행하는 단계; (a3) 실명인증이 완료되면, 상기 서비스 클라이언트는 서비스 개설을 상기 서비스 서버에 요청하여, 상기 서비스 서버는 상기 사용자에 대한 서비스를 개설하고, 서비스를 식별하기 위한 사용자 아이디를 설정하는 단계; (a4) 상기 서비스 클라이언트는 FIDO 서버에 FIDO 등록을 요청하고, 상기 FIDO 서버는 상기 FIDO 클라이언트로 FIDO 등록을 요청하고, 요청시 등록정책을 함께 전송하는 단계; (a5) 상기 FIDO 클라이언트는 등록정책에 따른 FIDO 인증장치를 호출하는 단계; (a6) 상기 FIDO 인증장치는 사용자의 생체정보를 입력받고, 사용자의 개인키 및 공개키를 생성하고, 상기 서비스와 사용자 아이디, 개인키, 입력된 생체정보를 하나의 매핑정보를 생성하여 매핑테이블에 저장하는 단계; (a7) 상기 FIDO 인증장치는 등록응답을 생성하고, 생성된 등록응답과 사용자 공개키를 상기 FIDO 클라이언트를 통해 상기 FIDO 서버로 전송하는 단계; 및, (a8) 상기 FIDO 서버는 상기 등록응답을 검증하고, 검증되면 사용자 공개키를 저장하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은 신원확인 또는 부인방지가 가능한 FIDO 인증 방법에 있어서, 상기 방법은, (b1) 상기 서비스 클라이언트는 사용자로부터 서비스 제공을 요청받고, 사용자의 서비스 요청을 상기 서비스 서버에 요청하는 단계; (b2) 상기 서비스 서버는 상기 FIDO 서버에 FIDO 인증 개시를 요청하고, 상기 FIDO 서버는 챌린지값을 생성하고, FIDO 인증 요청을 상기 FIDO 클라이언트로 전송하되, 상기 챌린지값과 인증정책을 함께 전송하는 단계; (b3) 상기 FIDO 클라이언트는 상기 인증정책에 따라 FIDO 인증장치를 호출하는 단계; (b4) 호출된 FIDO 인증장치는 사용자의 생체정보를 입력받고, 입력된 생체정보와 매핑테이블에 저장된 매핑정보의 생체인증과 대비하여 생체인증 여부를 결정하는 단계; (b5) 생체인증이 성공하면, 상기 FIDO 인증장치는 해당 매핑정보의 사용자 개인키에 접근하여, 상기 사용자 개인키로 인증응답을 생성하고, 생성된 인증응답을 상기 FIDO 클라이언트를 통해 상기 FIDO 서버로 전송하는 단계; (b6) 상기 FIDO 서버는 상기 인증응답을 상기 사용자의 공개키로 검증하고, 검증결과를 상기 서비스 서버로 전송하는 단계; 및, (b7) 상기 서비스 서버는 검증결과가 성공한 것이면 요청된 서비스를 허용하고 제공하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은 신원확인 또는 부인방지가 가능한 FIDO 인증 방법에 있어서, 상기 방법은, (c1) 상기 서비스 클라이언트는 생체정보 재등록을 요청받는 단계; (c2) 상기 서비스 클라이언트는 상기 서비스 서버와 연동하여, 사용자에 대한 실명인증을 수행하는 단계; (c3) 상기 서비스 클라이언트는 상기 서비스 서버를 통해 상기 FIDO 서버로부터 사용자 인증장치의 리스트를 수신하고, 인증장치 리스트 중에서 하나의 사용자 인증장치를 선택하는 단계; (c4) 상기 FIDO 서버는 선택된 사용자 인증장치를 수신하여, 해당 사용자 인증장치에 대하여 사용불가로 설정하는 단계; (c5) 상기 서비스 클라이언트는 생체정보 재등록을 상기 FIDO 클라이언트로 요청하면, 상기 FIDO 클라이언트는 재등록 요청에 따른 사용자 인증장치를 호출하는 단계; (c6) 상기 FIDO 인증장치는 사용자의 생체정보를 입력받고, 입력받은 생체정보로 상기 매핑테이블을 갱신하는 단계; (c7) 상기 FIDO 인증장치는 생체정보 재등록 완료 메시지를 생성하여 상기 서비스 클라이언트로 전송하는 단계; 및, (c8) 상기 서비스 클라이언트는 재등록 완료결과를 표시하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은 신원확인 또는 부인방지가 가능한 FIDO 인증 방법에 있어서, 상기 FIDO 클라이언트와 상기 FIDO 서버 간의 통신은 상기 서비스 클라이언트 및, 상기 서비스 서버의 중계에 의하여 수행되는 것을 특징으로 한다.
또한, 본 발명은 신원확인 또는 부인방지가 가능한 FIDO 인증 방법에 있어서, 상기 생체정보는 홍채인식 또는 지문인식에 의한 생체정보인 것을 특징으로 한다.
또한, 본 발명은 신원확인 또는 부인방지가 가능한 FIDO 인증 방법에 있어서, 상기 등록응답에는 FIDO 인증장치의 인증서 및 서명값도 포함되고, 상기 (a8)단계에서, 상기 FIDO 서버는 FIDO 인증장치에 대한 인증장치 검증도 수행하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 신원확인 또는 부인방지가 가능한 FIDO 인증 장치 및 그 방법에 의하면, 사용자 인증을 위한 생체인증정보를 사용자 인증서 또는 인증서 키쌍과 매핑시킴으로써, 생체인증정보와 개인키(또는 인증서)를 연결시켜 신원확인 또는 부인방지를 할 수 있는 효과가 얻어진다.
특히, 본 발명에 따른 신원확인 또는 부인방지가 가능한 FIDO 인증 장치 및 그 방법에 의하면, 대면/비대면 실명확인을 거친 후 생체인증정보와 개인키(또는 인증서)를 매핑하여 등록함으로써, 해당 서비스에서 사용자 인증시 실명확인후 등록된 생체정보로 검색한 개인키로 서명을 하여 신원확인된 해당 사용자임을 보장할 수 있고, 이체나 결제 금액에 대한 거래확인시에도 실명확인후 등록된 생체정보로 검색한 개인키로 서명을 하여 부인방지를 할 수 있는 효과가 얻어진다.
도 1은 본 발명에 따른 신원확인 또는 부인방지가 가능한 FIDO 인증 장치를 수행하기 위한 전체 시스템의 구성에 대한 블록도.
도 2는 본 발명의 실시예에 따른 사용자인증장치의 구성에 대한 블록도.
도 3은 본 발명의 일실시예에 따른 매핑 테이블의 예시를 나타낸 표.
도 4는 본 발명의 일실시예에 따른 FIDO 인증을 위한 매핑정보 등록 방법을 설명하는 흐름도.
도 5는 본 발명의 일실시예에 따른 신원확인 또는 부인방지가 가능한 FIDO 인증 방법을 설명하는 흐름도.
도 6은 본 발명의 일실시예에 따른 생체정보 재등록 방법을 설명하는 흐름도.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명에 따른 신원확인 또는 부인방지가 가능한 FIDO 인증 장치를 수행하기 위한 전체 시스템의 구성을 도 1을 참조하여 설명한다.
도 1에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 스마트폰 등 사용자 단말(10), 사용자 단말(10)에 설치되는 서비스 클라이언트(11) 및 FIDO 클라이언트(20), 생체인증을 직접 처리하는 FIDO 인증장치(30), 서비스를 제공하는 서비스 서버(50) 및, FIDO 인증을 수행하는 FIDO 서버(60)로 구성된다. 사용자 단말(10)과 서비스 서버(50) 또는 FIDO 서버(60)는 네트워크(40)를 통해 데이터를 송수신한다.
먼저, 사용자 단말(10)은 사용자가 서비스를 받기 위해 사용하는 단말로서, 스마트폰, 태블릿PC, 노트북, 개인용 컴퓨터(PC) 등 컴퓨팅 기능을 가지는 통상의 컴퓨터 단말이나 전용 단말이다.
사용자 단말(10)에는 사용자가 서비스를 제공받기 위한 서비스 클라이언트(11)와 FIDO 인증을 처리하는 FIDO 클라이언트(20)가 설치된다. 즉 서비스 클라이언트(11)와 FIDO 클라이언트(20)는 사용자 단말(10)에 설치되는 앱, 어플, 또는, 프로그램 시스템이다. 한편, FIDO 인증장치(30)는 사용자 단말(10)에 구비되거나, 사용자 단말(10)과 별도의 장치로서 구성될 수 있다.
서비스 클라이언트(11)는 서비스 서버(50)에 접속하여 서비스를 받기 위한 클라이언트 모듈(또는 클라이언트 시스템)로서, 서비스를 받기 위한 웹 브라우저, 서비스 앱(또는 어플) 등이다.
또한, 서비스 클라이언트(11)는 서비스 제공자가 제공하는 서비스를 이용하기 위해 서비스 서버(50)에 접근하고, 서비스 이용을 위해 인증이 필요한 경우 서비스 서버(50)로부터 수신한 인증요청을 FIDO 클라이언트(20)로 전송한다. 또한, 서비스 클라이언트(11)는 인증요청에 대해 FIDO 클라이언트(20)로부터 받은 인증응답을 서비스 서버(50)로 전송한다. 즉, 서비스 클라이언트(11)와 서비스 서버(50)는 FIDO 인증을 위하여 FIDO 클라이언트(20)와 FIDO 서버(60) 간을 중계한다.
FIDO 클라이언트(20)는 FIDO 프로토콜에 의하여 FIDO 서버(60)와 통신하여, FIDO 인증을 수행하기 위한 클라이언트 모듈(또는 시스템)이다. 즉, FIDO 클라이언트(20)는 FIDO 프로토콜에 정해진 규격에 따라 FIDO 서버(60) 또는 FIDO 인증장치(30)와 통신을 수행한다. 특히, FIDO 클라이언트(20)는 ASM(Authenticator Specific Module) 모듈을 두어, ASM 인터페이스를 통해 FIDO 인증장치(30)와 인증정보를 주고받는다.
FIDO 클라이언트(20)는 FIDO 서버(60), 또는 서비스 서버(50), 서비스 클라이언트(11)로부터 인증요청을 받으면, 해당 인증 요청에 따라 FIDO 인증장치(30)에 FIDO 인증을 요청하고, 그 인증 결과인 인증응답을 받아와서 회신한다.
바람직하게는, FIDO 클라이언트(20)는 신뢰할 수 있는 서비스 클라이언트(11)인지를 확인하기 위해 서비스 서버(50)에 접속하여 FIDO 클라이언트(20) 및 FIDO 인증장치(30)를 사용할 수 있는 서비스 클라이언트(11)의 앱 아이디 리스트를 받아 올 수 있다.
또한, 바람직하게는, FIDO 표준 버전 2.0에서는 FIDO 클라이언트(20) 및 ASM이 운영체제 및 브라우저에 포함될 수 있으므로 서비스 클라이언트(11)가 FIDO 클라이언트(20) 및 ASM이 포함된 운영체제나 브라우저에 FIDO 인증을 요청하면 운영체제나 브라우저 내부의 FIDO 인증장치(30) 또는 외부 FIDO 인증장치(30)를 통해 FIDO 인증을 수행하고 그 결과를 운영체제나 브라우저를 통해 서비스 클라이언트(11)로 전달한다.
FIDO 인증장치(30)는 사용자의 생체 데이터를 인식하거나 입력받아 사용자 인증에 이용하는 장치로서, 생체를 인식하는 생체인식 장치(또는 생체인식 모듈)를 이용한다. FIDO 인증장치(30)는 생체인식장치(또는 생체인식 모듈)를 직접 구비할 수도 있고, 사용자 단말(10)에 구비된 생체인식장치를 이용할 수 있다. 생체인식장치는 얼굴인식장치, 음성인식장치, 뇌파인증 장치, 심박인증장치, 지문인식장치, 홍채인식장치 등 생체를 인식하는 장치이다. 예를 들어 삼성페이의 경우는 지문인식장치는 스마트폰 등 사용자 단말(10)에 부착된다.
또한, FIDO 인증장치(30)는 저장소로서 자체 저장매체를 사용하거나, 사용자 단말(10) 내의 저장장치를 사용할 수 있다. 예를 들어, FIDO 인증장치(30)는 저장소로서, 안드로이드의 보안영역, 보안 칩 메모리 등 사용자 단말(10) 내의 저장장치를 사용할 수 있다. 또한, 보안이 되는 채널이면 FIDO 인증장치(30)와 저장소의 로밍(roaming)도 허용된다. FIDO 인증장치(30)의 구현 형태가 제약되지 않는다.
FIDO 인증장치(30)는 생체 데이터(또는 생체정보)와 인증 개인키(또는 인증서)를 매핑하는 매핑 테이블을 보유한다. 생체정보는 생체를 인식하기 위한 데이터이다. 즉, 입력된 생체 데이터와 저장된 생체 데이터를 비교하여, 등록된 사용자가 생체인식을 하는 것인지를 확인한다. 개인키 또는 인증 개인키는 공개키 기반 구조(PKI)의 비대칭키의 개인키이다. 개인키는 생체정보를 등록할 때 생성되거나, 사전에 생성된 사용자의 비대칭키의 개인키일 수 있다. 또는, 사용자의 인증서(공인인증서를 포함)에 사용되는 개인키일 수 있다. 그리고 FIDO 인증장치(30)는 인증요청을 수신하면, 생체정보에 의해 생체인식이 수행되고, 생체인식에 성공하면 해당 생체인식에 매핑되는 개인키에 의하여 인증응답을 작성한다.
또한, 바람직하게는, FIDO 인증장치(30)는 생체정보와 개인키의 매핑에 대하여, 서비스(또는 서비스 및 사용자 아이디)를 추가하여 매핑한다. 즉, 매핑 테이블에는 생체정보, 개인키, 서비스(앱 아이디 등 서비스 식별정보), 사용자 아이디가 매핑되어 저장된다. 그리고 이 경우, FIDO 인증장치(30)는 인증요청을 수신하면, 해당 서비스 및 사용자 아이디에 매핑되는 생체정보에 의해 생체인식이 수행되고, 생체인식에 성공하면 매핑되는 개인키에 의하여 인증응답을 작성한다.
다음으로, 서비스 서버(50)는 서비스 제공자가 서비스를 제공하기 위한 서버로서, 접속하는 서비스 클라이언트(11)의 요청에 따라 서비스를 제공한다. 서비스 클라이언트(11)가 요청하는 서비스 제공에 인증이 필요한 경우, 서비스 서버(50)는 FIDO 서버(60)에 인증요청의 생성을 요청한다. 서비스 서버(50)는 FIDO 서버(60)로부터 수신한 인증요청을 서비스 클라이언트(11)에 전송한다.
바람직하게는, 인증요청 내에 서비스(또는 서비스 식별정보)가 포함될 수 있다. 즉, 인증요청에 포함된 서비스는 어떤 서비스에서 인증을 요청하는지를 나타낸다. 예를 들어, 서비스 서버(50)가 "A 은행"의 뱅킹 서비스인 경우, 인증요청 내에 "A 은행" 등 서비스를 나타내는 정보(서비스 식별정보)를 포함시킨다.
FIDO 규격에 의하면, FIDO 프로토콜 메시지를 서비스제공자가 전송할 때 래핑(wrapping)할 수 있다. 이때 서명을 위한 서명대상 정보를 부가적으로 보낼 수 있다. 예를 들어, FIDO 인증요청에 대한 응답과 함께 옵션으로 서비스 제공자가 정한 정보 혹은 전송한 정보를 서명한다.
또한, 서비스 서버(50)는 서비스 클라이언트(11)로부터 수신한 인증응답을 FIDO 서버(60)로 전송한다.
또한, 서비스 서버(50)는 서비스 클라이언트(11)로부터의 서비스 접근요청에 대하여, FIDO 클라이언트(20)에서 생성한 인증응답에 대한 검증결과를 FIDO 서버(60)로부터 수신하여 접근 허용 및 차단을 판단한다. 또한, 서비스 서버(50)는 FIDO 서버(60)로부터 서비스 클라이언트(또는 FIDO 클라이언트)의 인증응답에 대한 검증결과를 수신하여 사용자의 신원확인 또는 사용자행위의 부인방지를 검증한다.
다음으로, FIDO 서버(60)는 서비스 서버(50)로부터 수신한 인증요청 생성 요구에 대해 인증요청을 생성한다. FIDO 서버(60)는 생성된 인증요청을 서비스 서버(50) 또는, 서비스 클라이언트(11) 또는, FIDO 클라이언트(20)로 전송한다.
FIDO 서버(60)는 FIDO 클라이언트(20)가 생성한 인증응답을 검증한다. 이때, FIDO 서버(60)는 서비스 서버(50)로부터 인증응답을 수신한다. FIDO 서버(60)는 인증응답 검증 결과를 서비스 서버(50)로 전송한다.
또한, FIDO 서버(60)는 인증응답을 FIDO 규격에 따라 검증한다. 이때, FIDO 인증을 위해 사용하는 공개키 및 개인키(또는 비대칭키)는 실명 확인을 거친 후 등록된 비대칭키이다. 따라서 FIDO 인증을 위한 공개키 및 개인키(또는 비대칭키)는 사용자의 인증서 역할을 한다. 따라서, FIDO 인증을 위한 비대칭키(또는 개인키)에 의한 전자서명은 신원확인 또는 부인방지에 이용될 수 있다.
다음으로, 본 발명의 일실시예에 따른 FIDO 인증장치(30)의 구성에 대하여 도 2를 참조하여 설명한다.
도 2에서 보는 바와 같이, FIDO 인증장치(30)는 생체 데이터(또는 생체정보)를 입력받는 생체정보 입력부(31), 개인키(또는 인증서)를 생성하여 등록하는 개인키 생성등록부(32), 개인키와 생체정보를 매핑하는 생체인증 매핑부(33), 입력된 생체정보를 검증(인식)하는 생체정보 검증부(34), 및, 인증요청에 대한 인증응답을 생성하는 인증응답 생성부(35)로 구성된다. 또한, 추가적으로 생체정보, 개인키, 매핑 테이블 등을 저장하는 저장소(39)를 더 구비할 수 있다. 또한, 추가적으로, FIDO 인증장치 자체의 기기 인증 정보를 저장하여 관리하는 기기인증 관리부(36)를 더 포함하여 구성될 수 있다.
먼저, 생체정보 입력부(31)는 생체인식 장치 또는 생체인식 모듈(15)로부터 생체 데이터(또는 생체정보)를 입력받는다. 생체인식장치(모듈)(15)는 얼굴인식장치, 음성인식장치, 뇌파인증 장치, 심박인증장치, 지문인식장치, 홍채인식장치 등 생체를 인식하는 장치이다. 생체인식모듈(15)은 FIDO 인증장치(30) 내에 구성될 수도 있고, 사용자 단말(10) 등에 구성될 수도 있다. 입력되는 생체정보는 지문인식장치, 홍채인식장치 등의 생체인식모듈(15)에 의해 인식된 생체 데이터이다.
다음으로, 개인키 생성등록부(32)는 사용자 등록시 키쌍(개인키, 공개키)을 생성하여 개인키는 생체정보와 매핑하여 저장소(39)에 저장하고 공개키는 FIDO 서버(50)로 전달하여 저장한다.
개인키는 FIDO인증장치(30)의 개인키 생성등록부(32)에 의하여 생성되는 키 쌍의 개인키이다.
다음으로, 생체인증 매핑부(33)는 입력된 생체정보와, 생성된 개인키를 매핑하여 매핑 테이블에 등록한다. 바람직하게는, 서비스(또는 서비스 식별정보) 및 사용자 아이디와 함께 매핑하여 등록한다.
도 3에서 보는 바와 같이, 매핑 테이블은 생체정보, 서비스(또는 서비스 식별정보), 사용자 아이디, 개인키 등으로 매핑되어 구성된다. 바람직하게는, 각 매핑에 변경정책이 추가되어 매핑될 수 있다. 매핑 테이블은 안전한 저장소(39)에 저장된다. 또한, 생체정보 및 개인키 등 사용자의 인증을 위한 데이터들도 저장소(39)에 저장된다.
바람직하게는, 생체인증 매핑부(33)는 서비스 서버(50)로부터 변경정책을 수신하여, 수신된 변경정책에 따라 매핑 내용을 매핑 테이블에 등록한다. 서비스 제공자의 사용자 등록에 의한 매핑 정보는 하나의 매핑 관계로서, 도 3에서 하나의 행에 해당되는 항목들을 포함한다.
예를 들어 지문인증장치, 홍채인증장치는 도 3과 같은 구조로서 각기 별도로 구성될 수 있다. 또한, 인증장치 별로 저장소(39)를 가지므로 도 3의 (a) 및 (b)와 같이 각각의 인증장치에 별도의 매핑 테이블을 가지게 된다.
변경가능 정책의 경우, 기존에 사용자 단말(10)에 등록되어 있는 지문이나 홍채데이터를 그대로 이용할 수 있다. 그러나 지문이나 홍채의 소유주를 알 수 없을 뿐만 아니라 사용자 단말에서 임의로 변경이 가능하다. 따라서 신원확인이나 부인방지로는 사용이 불가능하다.
또한, 변경불가 정책의 경우, 사용자 등록 시점에 사용자에 대한 실명확인 후에 지문 또는 홍채 등 생체정보를 등록한다. 이때, 해당 서비스와 사용자 아이디, 생성된 개인키, 변경불가 속성을 함께 설정함으로써 추후 사용자 인증 및 거래 확인시 신원확인 및 부인방지가 가능하다.
변경불가로 설정된 생체정보의 경우, 사용자가 임의로 변경할 수 없도록 제한된다. 이 경우, 사용자가 생체정보를 변경하고자 하면, 서비스 제공자에게 요청 후 다시 실명확인 절차를 수행하고 생체정보를 재등록해야 한다. 이렇게 함으로써 지속적으로 신원확인 및 부인방지가 가능하다.
한편, 변경불가의 경우는 생체정보, 서비스, 사용자 아이디, 개인키 매핑이 필요하고, 변경가능의 경우는 굳이 매핑 테이블에 없어도 된다. 서비스에서 사용자 인증시 지문 인증정책의 경우 지문입력을 받고 해당 서비스와 매핑된 지문인지 검증하여 같은 경우 신원확인이 되는 것이다.
FIDO 등록, 인증 정책에 따라 한 개 이상의 인증장치에 생체정보를 등록하고, 사용자 인증시에도 서비스의 인증정책에 따라 지문, 홍채, 지문과 홍채, 지문 또는 홍채로 사용자를 인증할 수 있으며 이는 FIDO 표준규격을 따른다.
또한, 생체인증 매핑부(33)는 매핑 테이블의 매핑 데이터(또는 매핑정보)를 변경할 수 있다.
변경가능 방식은 기존 FIDO 방식을 말한다. 기존 FIDO 방식은 사용자 단말에 기등록되어 있는 지문, 홍채 정보를 그대로 이용한다. 또한, FIDO 인증장치에서 해당 정보에 대한 변경을 제어하지 못하고 사용자 단말의 설정에서 생체정보를 언제든지 변경가능하다. 변경가능 정책의 경우는 사용자가 언제든지 생체정보를 변경할 수 있다는 것을 의미한다. 이때, 매핑을 해놓는 이유는 등록시 사용한 생체정보를 알 수 있도록 하여 인증시 같은 생체정보로 인증을 하는지를 서비스에 알려줄 수 있다. 이를 통해, 신원확인 및 부인방지 수준은 아니지만 등록자와 인증자가 동일인인지 판단할 수 있도록 한다.
다음으로, 생체정보 검증부(34)는 입력된 생체정보를 저장된 생체정보와 대비하여 검증한다. 즉, 사용자가 생체인식 모듈(15)을 통해 생체정보를 입력하면, 생체정보 검증부(34)는 입력된 생체정보를 저장된 생체정보와 대비하여, 양 데이터의 동일 여부(또는 매칭 정도)에 따라 검증 여부를 결정한다.
다음으로, 인증응답 생성부(35)는 인증요청에 대하여 인증응답을 생성한다.
특히, 인증응답 생성부(35)는 생체정보 검증부(34)에 의해 생체정보가 검증된지를 확인하고, 검증된 생체정보에 매칭되는 개인키를 매핑 테이블에서 검색한다. 그리고 인증응답 생성부(35)는 검색된 개인키를 이용하여 인증응답을 생성한다.
바람직하게는, 인증응답 생성부(35)는 인증요청을 요청하는 서비스(서비스 식별정보), 사용자 아이디를 확인하고, 매핑 테이블에서, 확인된 서비스, 사용자 아이디, 및 검증된 생체정보와 모두 매칭되는 개인키를 검색한다.
인증응답 생성부(35)는 통상의 FIDO 규격에 의하여 인증응답을 생성한다. 인증응답은 검색된 개인키로 서명한 서명응답을 포함하는 메시지이다. 또한, 인증응답은 서비스에 필요한 부가정보를 포함할 수 있다. 부가정보는 사용자가 입력할 수도 있고, 서비스 제공자(또는 서비스 서버)가 미리 대상을 정하거나 약속할 수도 있다. 예를 들어, 부가정보로서, 인터넷 뱅킹에서 이체정보, 로그인 시 사용자 인증서정보, 세션정보, 온라인쇼핑에서 구매목록 및 가격, 재생공격(Replay Attack) 방지를 위한 난스(nonce) 등을 사용한다.
또한, FIDO 규격에 따라 FIDO 인증응답이 인증응답에 포함되어야 하는 경우, FIDO 인증응답을 생성하기 위한 개인키는 앞서 매칭되어 검색된 개인키로 사용한다. 즉, 본 발명은 FIDO 인증을 위한 개인키와, 전자서명을 위한 개인키를 모두 동일하게 사용한다.
한편, 앞서 설명과 같이, 인증응답은 개인키(또는 인증서)를 이용하여 전자서명한 서명응답으로 구성된 메시지이다. 이와 같은 인증응답의 전자서명은 FIDO 서버(60)로 전송 후 검증된다. 신원확인과 부인방지는 전자서명에 사용된 개인키(또는 인증서)의 소유확인으로 이뤄진다. 인증서에 있는 공개키와 짝을 이룬 개인키로 서명했다는 것은 일반 공인인증의 경우 암호화된 개인키의 패스워드를 알고 있어서 개인키를 복호화하여 전자서명에 사용할 수 있다거나 보안토큰의 PIN을 알고 있어서 개인키에 접근이 가능하다는 것으로, 이를 통해 해당 개인키를 사용자가 소유하고 있다고 확인할 수 있다. 마찬가지로, 개인키를 생체정보와 매칭시, 서비스 서버(50)에 의하여 실명확인을 확인하였기 때문에, 인증서(또는 개인키)와 소유자(사용자)의 관계는 전자서명 검증으로 확인될 수 있다. 이런 관계를 통해 소유자(사용자)만 개인키를 이용할 수 있으므로 개인키를 이용한 행위에 대해 부인을 방지하거나 신원을 확인할 수 있다.
다음으로, 기기인증 관리부(36)는 FIDO 인증장치(30) 자체를 검증하기 위해, 기기인증정보를 저장하여 관리한다. 기기인증정보는 기기의 고유 식별번호나, 제조사 개인키, 기기 개인키 등을 포함할 수 있다.
FIDO 인증장치 제조사에서 FIDO 인증장치를 FIDO 표준 협회에 등록하고자 하는 경우, 해당 FIDO 인증장치에 대한 인증서를 제조사 CA(인증서 인증서버)를 통해 발급하고, FIDO 인증장치에 대한 메타데이터(루트 CA 인증서)를 FIDO 표준 협회에 등록한다. 또한, 해당 FIDO 인증장치를 사용하고자 하는 서비스 제공자들은 FIDO 표준 협회에서 제공하는 메타데이터를 서비스 제공자의 FIDO 서버(60)에 등록한다.
또한 FIDO 인증장치 제조사들은 해당 인증장치의 저장소(39)에 메타데이터 생성시 만든 해당 인증장치의 인증서(공개키) 및 개인키를 저장하고, 사용자 단말의 제조단계 또는 서비스 제공자의 배포에 의해 사용자 단말에 설치된다.
FIDO 사용자 등록과정에서 FIDO 서버로 전달하는 등록 메시지에 해당 인증장치의 인증서, 인증장치의 개인키로 서명한 데이터(사용자 아이디, 인증장치 아이디, 사용자 공개키 등)를 넣어서 전달한다. 그리고 FIDO 서버는 해당 인증서의 유효성을 루트 CA 인증서 또는 제조사의 CA(인증서 인증서버)를 통해 확인하고, 인증서가 유효하면 해당 공개키로 서명을 검증한다. 그리고 검증이 성공하면 등록메시지에 포함된 사용자 정보(사용자 아이디, 인증장치 아이디, 사용자 공개키 등)를 저장한다.
다음으로, 본 발명의 일실시예에 따른 FIDO 인증을 위한 매핑정보 등록 방법을 도 4를 참조하여 설명한다.
도 4에서 보는 바와 같이, FIDO 서버(60)는 등록정책 및 변경정책을 사전에 설정하고(S1), 등록정책에 대한 식별정보, 즉, 등록정책 아이디를 서비스 서버(50)로 전송한다(S2).
등록정책은 해당 사이트에서 생체인증의 종류에 대한 정책이다. 즉, 사용자 등록시 적용하는 정책이 등록정책이며, 사이트(회사)에 1개의 등록정책(등록정책 예 : 지문과 홍채)만 존재한다. 등록정책 아이디는 서비스 관리자가 FIDO 사용자 등록시 어떤 정책(등록정책 예 : 지문과 홍채)을 사용할 것인지 FIDO 서버(60)에 미리 등록하고 발급받은 아이디이다. 하나의 사이트(회사)에서 여러 서비스 서버(50)가 하나의 FIDO 서버(60)를 공동으로 사용할 수 있으나 등록정책은 하나이다. 물론 해당 사이트의 변경 정책(변경가능, 변경불가) 또한 하나이다. 즉 등록정책이 ‘지문과 홍채’이고 변경정책이 ‘변경불가’인 사이트의 경우 FIDO 사용자 등록시 사용자는 기존 폰에 등록된 지문과 홍채를 사용할 수 없고 지문과 홍채를 새로 등록하여야 하며, 매핑테이블에 저장시 변경불가로 설정된다.
참고로, 인증정책은 사이트에서 원하는 대로 FIDO 서버를 통해 생성이 가능하며 인증정책 아이디가 발급된다. 예를 들어, 인증정책 1은 지문, 인증정책 2는 홍채, 인증정책 3은 지문 또는 홍채, 인증정책 4는 지문과 홍채로 설정될 수 있다. 서비스 서버(50)에서 FIDO 서버(60)로 서비스를 위한 사용자 인증 요청시 기 등록된 인증정책 중의 하나를 선택하여 요청한다. 예를 들어, 국민은행의 등록정책은 1개(지문과 홍채)이며, 인증정책은 N개가 될 수 있다. 등록시는 등록정책에 따라 지문과 홍채를 등록하고, 국민은행의 서비스들이 FIDO 서버에 인증을 요청하는 경우 서비스에 따라 다른 인증정책을 선택하여 FIDO 서버에 인증을 요청한다. 일례로서, 계좌조회의 경우는 인증정책 1(지문)을 선택하고, 계좌이체의 경우는 인증정책 2(홍채)를 선택할 수 있다.
다음으로, 서비스 클라이언트(11)는 사용자로부터 서비스 개설 및, 이를 위한 FIDO 등록을 요청받는다(S10). 서비스는 금융계좌 개설이나 신용카드 서비스 등록 등 금융거래 또는 실명인증이 필요한 서비스이다. 이하에서 설명의 편의를 위하여, 대면 또는 비대면의 금융계좌 개설에 대한 서비스를 예로 설명한다.
이때, 서비스 클라이언트(11)는 서비스 서버(50)와 연동하여, 사용자에 대한 실명인증을 수행한다(S20). 즉, 서비스 클라이언트(S11)는 사용자로부터 실명인증에 필요한 데이터를 입력받고(S21), 이를 서비스 서버(50)에 전송하면 서비스 서버(50)에서 사용자에 대한 실명인증을 수행한다(S22).
일례로서, 실명 인증을 위해, 사용자는 서비스 클라이언트(11)를 통해 신분증 정보 등을 전송하거나, 핸드폰(이동통신) 번호를 확인하거나, 화상 연결을 통해 화상 대면을 실시한다. 즉, 서비스 서버(50)는 실명인증에 필요한 데이터를 서비스 클라이언트(11)로부터 수신하거나, 서비스 클라이언트(11)와 연동하여 화상 대면 등의 실명 인증을 위한 서비스를 수행한다.
실명이 인증이 완료되면(또는 성공하면), 서비스 클라이언트(11)는 서비스 개설을 서비스 서버(50)에 요청하고, 서비스 개설에 필요한 정보를 입력하여 전송한다(S31,S32). 즉, 서비스 서버(50)는 서비스 개설에 필요한 정보를 서비스 클라이언트(11)를 통해 사용자에게 요청하고, 이들을 수신하여 서비스를 개설한다(S32). 서비스 서버(50)는 서비스가 개설되면 서비스 이용을 위한 사용자 아이디를 서비스 클라이언트(11)에 전송한다.
일례로서, 계좌를 개설하는 경우, 서비스 서버(50)는 계좌 이용에 대한 약관 동의, 또는 사용자의 서명, 임시 비밀번호 등을 요청하고, 이들 계좌 개설 정보를 수신하여 계좌를 개설한다. 또한, 서비스 서버(50)는 계좌가 개설되면, 계좌번호를 서비스 클라이언트(11)로 전송한다. 계좌번호는 해당 서비스의 사용자의 거래를 식별하기 위한 것으로서, 일종의 사용자 아이디와 같다.
다음으로, 서비스 클라이언트(11)는 서비스 서버(50)를 통해 FIDO 서버(60)에 FIDO 등록을 요청함으로써, FIDO 등록 절차를 개시한다(S41). 즉, FIDO 등록 요청은 서비스 클라이언트(11)에서 서비스 서버(50)를 통해 FIDO 서버(60)로 전송된다. 서비스 클라이언트(11)는 FIDO 등록 요청시의 서비스(또는 서비스 식별정보)와 이를 이용하기 위한 사용자 아이디를 FIDO 서버(60)에 함께 전송한다.
구체적으로, 서비스 클라이언트(11)는 서비스 서버(50)로 FIDO 사용자 등록을 개시하면, 서비스 서버(50)는 FIDO 서버(60)에서 제공하는 사용자등록 API를 호출하고, 이때 서비스 아이디, 사용자 아이디, 등록정책 아이디 등을 전달한다. 이 내용을 등록요청 메시지에 넣어 FIDO 클라이언트(20)에 등록요청을 한다.
또한, FIDO 서버(60)는 FIDO 등록 요청(또는 등록요청 메시지)을 FIDO 클라이언트(20)에 요청한다(S42). 이때, FIDO 등록요청은 서비스 서버(50) 또는 서비스 클라이언트(11)의 중계에 의하여, FIDO 서버(60)로부터 FIDO 클라이언트(20)로 전송된다.
또한, 이때, FIDO 서버(60)는 FIDO 등록 요청과 함께, 사전에 설정된 등록정책, 변경정책을 전송한다. FIDO 등록과정에서 등록정책(지문, 홍채, 지문과 홍채)에 따라 생체정보도 입력받아 등록한다.
즉, 등록요청 메시지에는 서비스 아이디, 사용자 아이디, 등록정책 아이디, 변경정책 등이 포함되어 전송된다.
그리고 FIDO 클라이언트(20)는 FIDO 등록요청을 FIDO 서버(60)로부터 수신하여, 등록정책에 따른 FIDO 인증장치(30)를 호출한다(S43). 예를 들어, 홍채인식을 위해서는 홍채인식 장치(또는 홍채인식을 위한 FIDO 인증장치)를 호출하거나, 지문인식을 위해서는 지문인식 장치를 호출한다.
다음으로, FIDO 인증장치(30)는 사용자에게 요청하여 생체정보를 입력하게 하고, 입력된 생체정보를 인식하여 이를 생체정보로 등록한다(S51). 그리고 등록된 생체정보와 매칭되는 키쌍(개인키 및 공개키)을 생성한다(S52).
그리고 FIDO 인증장치(30)는 생체정보, 서비스, 사용자 아이디, 개인키, 변경정책를 하나의 매핑정보로 생성하고, 이 매핑정보를 매핑 테이블에 등록한다(S53).
그리고 FIDO 인증장치(30)는 FIDO 서버(60)에 전송할 응답 메시지, 즉, 등록응답을 생성한다(S54). 등록응답 메시지에는 사용자 공개키가 포함된다. 바람직하게는, 추가적으로 등록응답에는 인증장치의 인증서 및 서명값이 포함될 수 있다. 즉, 이들 값을 함께 FIDO 서버(60)에 전송할 수 있다. 인증장치의 인증서 및 서명값은 FIDO 인증장치(30)에 대한 인증서 및 서명이다.
또한, 생성된 등록응답 메시지는 FIDO 인증장치(30)에서 FIDO 클라이언트(20)에 전달되고, FIDO 클라이언트(20)는 이를 FIDO 서버(60)에 전송한다(S55). 이때, 등록응답 메시지는 서비스 클라이언트(11), 서비스 서버(50)의 중계에 의하여, FIDO 서버(60)로 전송된다.
한편, 등록응답 메시지의 서명된 데이터에는 챌린지(예를들어, 랜덤값 등), 등록카운터 등을 함께 넣어, 개인키로 암호화된다.
다음으로, FIDO 서버(60)는 등록응답 또는 등록응답 메시지를 검증한다(S61). 즉, FIDO 서버(60)는 등록응답으로 수신한 인증장치의 인증서와 서명값을 검증함으로써 인증장치를 검증한다.
먼저, FIDO 서버(60)는 인증장치의 인증서를 검증함으로써 인증장치를 검증한다. 즉, FIDO 서버(60)는 등록응답의 인증장치 인증서를 FIDO 서버(60)에 저장된 해당 인증장치 메타데이터의 루트 CA 인증서 또는 제조사 CA 서버를 통해 유효성을 확인함으로써 해당 인증장치의 인증서를 검증한다.
또한, FIDO 서버(60)는 해당 인증서의 공개키로 서명된 데이터(인증장치 아이디, 챌린지, 등록카운터, 사용자 공개키)를 복호화한다. 그리고 평문으로 전송된 값(인증장치 아이디, 챌린지, 등록카운터, 사용자 공개키)과 비교함으로써 전송된 데이터의 무결성을 확인한다.
즉, 등록응답 검증은 인증장치에 대한 검증 및 서명값에 대한 검증을 모두 수행한다.
그리고 FIDO 서버(60)는 수신한 사용자 공개키를 저장한다(S63). 즉 FIDO 서버(60)에 사용자 아이디, 인증장치 아이디, 사용자 공개키를 매핑하여 저장한다. FIDO 서버(60)가 인증서 관리 서버의 역할을 하며, 공개키에 대한 유효기간 관리, 강제 무효화 등이 가능하다.
그리고 FIDO 서버(60)는 FIDO 등록결과를 서비스 클라이언트(11)로 전송한다(S64).
서비스 클라이언트(11)는 수신한 FIDO 등록결과를 표시할 수 있다(S70).
앞서 설명한 바와 같이, 사용자가 FIDO 등록을 요청하는 경우 대면/비대면 실명확인 후에 해당 세션 내에서 바로 생체정보 등록, 키생성, 매핑저장을 수행한다. 이들이 성공한 후에 FIDO 등록이 종료된다. 사용자가 특정 사유로 생체정보를 재등록 하고자 하는 경우에도 대면/비대면 실명확인 후에 해당 세션내에서 바로 생체정보 재등록이 성공한 후에 종료된다. 따라서 대면/비대면 실명확인을 하고 그 상태에서 FIDO 등록, 생체정보 재등록을 바로 진행하므로 실명확인과 매핑정보가 해당 사용자임이 보장된다.
다음으로, 본 발명의 일실시예에 따른 신원확인 또는 부인방지가 가능한 FIDO 인증 방법을 도 5를 참조하여 설명한다.
도 5에서 보는 바와 같이, FIDO 서버(60)는 인증정책을 사전에 설정하고(S101), 인증정책에 대한 식별정보, 즉, 인증정책 아이디를 서비스 서버(50)로 전송한다(S102).
인증정책은 생체인증의 종류에 대한 정책이다. 사용자 등록시 적용하는 정책이 등록정책이며, 사이트(회사)에 1개의 등록정책(등록정책 예 : 지문과 홍채)만 존재한다. 인증정책은 해당 사이트에서 제공하는 서비스 별로 각자 달리 선택할 수 있는 정책으로서, 등록정책 내에서 설정될 수 있다. 인증정책은 사이트에서 원하는 대로 FIDO 서버를 통해 생성이 가능하며 인증정책 아이디가 발급된다. 예를 들어, 인증정책 1은 지문, 인증정책 2는 홍채, 인증정책 3은 지문 또는 홍채, 인증정책 4는 지문과 홍채로 설정될 수 있다.
서비스 서버(50)에서 FIDO 서버(60)로 사용자 인증 요청시 기 등록된 인증정책 중의 하나를 선택하여 요청할 수 있다. 예를 들어, 국민은행의 등록정책은 1개(지문과 홍채)이며, 인증정책은 N개가 될 수 있다. 등록시는 등록정책에 따라 지문과 홍채를 등록하고, 국민은행의 서비스들이 FIDO 서버에 인증을 요청하는 경우 서비스에 따라 다른 인증정책을 선택하여 FIDO 서버에 인증을 요청한다. 일례로서, 계좌조회의 경우는 인증정책 1(지문)을 선택하고, 계좌이체의 경우는 인증정책 2(홍채)를 선택할 수 있다.
다음으로, 서비스 클라이언트(11)는 사용자로부터 서비스 제공을 요청받는다(S111). 서비스는 금융계좌 나 신용카드 결제 등 금융거래 또는 본인확인이 필요한 서비스이다. 그리고 서비스 클라이언트(11)는 사용자의 서비스 요청을 서비스 서버(50)에 요청한다(S112).
서비스 서버(50)는 FIDO 서버(60)에 FIDO 인증 개시를 요청한다(S121). 해당 사이트의 다양한 서비스 서버에서 FIDO 서버에서 제공하는 사용자 인증 API를 호출함으로써, FIDO 인증 개시를 요청한다. 이때, 해당 서비스에 맞는 인증정책을 선택 후 서비스 아이디, 사용자 아이디, 인증정책 아이디를 FIDO 서버에 전달한다. 즉, 서비스 클라이언트(11)가 서비스 서버(50)로 FIDO 사용자 인증을 개시하면, 서비스 서버(50)는 FIDO 서버(60)에서 제공하는 사용자인증 API를 호출하면서 서비스 아이디, 사용자 아이디, 인증정책 아이디를 전달한다. 이 내용을 인증요청 메시지에 넣어 FIDO 클라이언트에 인증요청을 한다. 인증정책 아이디는 서비스 관리자가 FIDO 사용자 인증시 어떤 정책(인증정책1:지문, 인증정책2:홍채, 인증정책3:지문 또는 홍채, 인증정책4:지문과 홍채)을 사용할 것인지 FIDO 서버(60)에 미리 등록하고 발급받은 아이디이다. 사이트의 등록정책, 변경정책은 1개지만 인증정책은 원하는 대로 생성이 가능하다.
FIDO 서버(60)는 FIDO 인증 개시 요청을 받으면, 먼저, FIDO 인증을 위한 챌린지값을 생성한다(S122). 그리고 FIDO 서버(60)는 FIDO 인증 요청과 함께, 챌린지값 및, 사전에 정해진 인증정책을 FIDO 클라이언트(20)로 전송한다(S123). 이때, 인증요청은 서비스 서버(50) 및 서비스 클라이언트(11)의 중계에 따라 전송된다.
서버 챌린지 값은 서버에서 생성하는 난수 값이다. 챌린지 값을 전송하고 인증장치에서 개인키로 서명해서 되돌아오면, 공개키로 복호화하여 수신한 챌린지 값과 원래의 챌린지 값이 동일한지 비교함으로써 인증응답을 검증한다.
한편, FIDO 인증 개시를 요청시 거래내역을 포함할 수 있다. 일반적인 사용자 인증의 경우, FIDO 서버의 사용자 인증 API 호출시 서비스 아이디, 사용자 아이디, 인증정책 아이디 등 3개의 값으로 충분하다. 그런데 서비스 클라이언트에서 특정 텍스트(예.이체금액)에 대해 부인방지가 필요한 경우 해당 텍스트를 FIDO 서버 인증 API 호출시 거래내역으로 전달한다. 이를 통해, 해당 내역이 FIDO 인증장치에 디스플레이되며 사용자가 해당 내역에 대해 컨펌(인증정책에 따른 생체인증)하고, 이를 사용자 개인키로 서명해서 FIDO 서버로 전달하면 공개키로 검증함으로써 부인방지를 하게 된다.
다음으로, FIDO 클라이언트(20)는 FIDO 인증요청의 인증정책에 따라 FIDO 인증장치(30)를 호출한다(S130). 예를 들어, 사용자 단말(10)에는 홍채인식 장치, 지문인식 장치 등 다수의 FIDO 인증장치가 구비되어 있고, 이 중에서 인증정책에 따른 FIDO 인증장치가 호출된다.
다음으로, 호출된 FIDO 인증장치(30)는 사용자에게 생체인증을 하도록 요청하여 생체인증 데이터를 입력받는다(S141). FIDO 인증장치(30)는 입력된 생체인증 데이터와, 저장된 생체인증 데이터를 비교하여, 그 동일(또는 유사) 여부에 따라 생체인증의 성공 여부를 결정한다(S142).
생체인증이 성공하면, FIDO 인증장치(30)는 해당 생체인증 및, 서비스, 사용자 아이디에 해당하는 사용자 개인키에 접근한다(S143).
그리고 FIDO 인증장치(30)는 접근한 사용자 개인키를 이용하여, 인증응답을 생성한다(S144).
그리고 FIDO 클라이언트(20)는 FIDO 인증장치(30)로부터, 생성한 인증응답 또는 인증응답 메시지를 받아와서, FIDO 서버(60)로 인증응답을 전송한다. 이때, 인증응답 메시지는 서비스 클라이언트(11) 및 서비스 서버(50)의 중계에 의해 FIDO 서버(60)로 전달된다.
다음으로, FIDO 서버(60)는 인증응답 메시지를 수신하여, 인증응답을 검증한다(S151). 이때, FIDO 서버(60)는 사용자 공개키로 인증응답을 복호화하여, 인증응답을 검증한다.
FIDO 서버에서 생성하는 인증 요청 메시지에는 서버 챌린지값이 포함되어 FIDO 인증장치로 전달된다. 그리고 인증정책에 따라 사용자 생체인증이 성공한 경우 해당 챌린지 값을 사용자 개인키로 서명한 값을 인증응답 메시지로 만들어 FIDO 서버로 전송한다. 그리고, FIDO 서버에서는 사용자의 공개키로 서명을 검증하고 챌린지값을 복호화하여 원래의 챌린지값과 비교함으로써 인증응답을 검증한다.
그리고 FIDO 서버(60)는 인증응답의 인증결과에 따라, FIDO 인증의 최종결과를 결정하고, 해당 FIDO 인증결과를 서비스 서버(50)로 전송한다(S152). 즉, 최종결과는 FIDO 인증의 실패 또는 성공을 말한다.
다음으로, 서비스 서버(50)는 FIDO 인증이 성공된 것으로 수신하면, 서비스 클라이언트(11)의 서비스 제공 요청을 허용한다(S161). 즉, 서비스 서버(50)는 서비스 요청에 필요한 인증이 완료된 것으로 판단하고, 이후, 서비스를 사용자 또는 서비스 클라이언트(11)에 제공한다(S162).
앞서의 금융계좌인 경우는, 금융계좌와 관련하여 조회, 이체 등의 서비스를 제공하거나, 금융카드인 경우 조회, 결제 등의 서비스를 제공한다.
다음으로, 본 발명의 일실시예에 따른 FIDO 인증을 위한 생체정보 재등록 방법을 도 6을 참조하여 설명한다.
도 6에서 보는 바와 같이, 먼저, 서비스 클라이언트(11)는 사용자로부터 생체정보 재등록을 요청받는다(S210). 이때, 사용자 아이디를 입력하며 재 등록하고자 하는 인증장치를 선택한다. 즉, 서비스 클라이언트에서 생체정보 재등록을 요청하는 경우 해당 화면에서 사용자 아이디를 입력하고 생체정보를 재등록할 인증장치를 선택해야 한다. 서비스 아이디(예, 앱 아이디)는 서비스 클라이언트에서 이미 알고 있는 값이다.
다음으로, 생체정보 재등록 요청에 대하여, 서비스 클라이언트(11)는 서비스 서버(50)와 연동하여, 사용자에 대한 실명인증을 수행한다(S220). 즉, 서비스 클라이언트(S11)는 사용자로부터 실명인증에 필요한 데이터를 입력받고(S221), 이를 서비스 서버(50)에 전송하면 서비스 서버(50)에서 사용자에 대한 실명인증을 수행한다(S222). 앞서 FIDO 등록 과정과 같이, 실명 인증을 위해, 사용자는 서비스 클라이언트(11)를 통해 신분증 정보 등을 전송하거나, 핸드폰(이동통신) 번호를 확인하거나, 화상 연결을 통해 화상 대면을 실시한다. 서비스 서버(50)는 실명이 인증이 완료되면, 그 결과를 서비스 클라이언트(11)에 전송한다(S223).
다음으로, 서비스 서버(50)는 FIDO 서버(60)에 사용자 인증장치 리스트를 요청하여(S231), 사용자 인증장치의 리스트를 수신한다(S232). 그리고 서비스 클라이언트(11)는 서비스 서버(60)로부터 사용자 인증장치 리스트를 가져와서, 리스트 중에서 생체정보 재등록을 할 인증장치를 선택한다(S233). 즉, 어느 생체인증장치의 생체정보를 재등록할 것인지에 대하여 사용자에게 요청하여, 다수의 생체인증 장치 중 등록할 1개의 생체인증 장치를 선택받을 수 있다.
다음으로, 서비스 클라이언트(11)는 인증장치의 변경 상태(생체정보가 갱신되는 상태)라는 것을 서비스 서버(50)를 통해 FIDO 서버(60)에 전송한다(S236). FIDO 서버(60)는 해당 사용자 인증장치에 대하여 사용불가 상태로 설정한다(S237).
다음으로, 서비스 클라이언트(11)는 FIDO 클라이언트(20)에 생체정보 재등록을 요청한다(S241). 이때, 서비스 클라이언트(11)는 해당 서비스 및 사용자 아이디, 인증장치를 FIDO 클라이언트(20)에 함께 전송한다.
FIDO 클라이언트(20)는 사용자 요청에 따른 생체인증 장치 또는 FIDO 인증장치를 호출한다(S242).
다음으로, 호출된 FIDO 인증장치(30)는 생체인증 장치를 통해, 사용자의 생체정보를 입력받는다(S251).
서비스와 사용자 아이디와 동일한 매핑정보를 매핑테이블에서 검색하고, 검색된 매핑정보에서 생체정보를 새로 입력받은 생체정보로 갱신한다(S253).
그리고 FIDO 인증장치(30)는 매핑테이블의 갱신 완료 상태를 FIDO 클라이언트(20)에게 알리고, FIDO 클라이언트(20)는 그 결과를 서비스 클라이언트(11)에 전달한다(S254).
또한, 서비스 클라이언트(11)는 재등록 완료응답을 FIDO 서버(60)에 전송한다(S255). FIDO 서버(60)는 재등록 완료응답을 수신하여, 생체정보가 갱신되었음을 확인한다.
인증장치 매핑테이블의 생체정보에 대한 수정 결과 메시지는 FIDO 클라이언트, 서비스 클라이언트, 서비스 서버를 거쳐 FIDO 서버로 전달된다. 메시지는 사용자 아이디, 인증장치 아이디, 생체정보 변경 결과(성공, 실패)로 구성된다. 또한, 메시지는 서명 필요없이 일반적인 테스트 메시지로 전달된다.
다음으로, FIDO 서버(60)는 해당 사용자 인증장치를 사용가능 상태로 설정한다(S261). 즉, 앞서 해당 사용자 인증장치를 사용불가 상태에서 사용가능 상태로 변경한다.
그리고 FIDO 서버(60)는 재등록된 결과를 서비스 서버(50)를 통해 서비스 클라이언트(11)로 전송하고(S262), 서비스 클라이언트(11)는 생체정보 재등록이 완료되었음을 사용자 단말(10) 상에 표시한다(S263).
한편, 변경가능 정책의 경우 생체정보 재등록은 사용자가 단말의 설정에 들어가 마음대로 변경가능하다. 생체정보 재등록은 변경불가 정책의 경우, 동일 단말에서 사용자의 기등록된 지문, 홍채가 잘 인식되지 않는 경우 새로이 등록하는 방법이다.
생체정보 재등록은 FIDO 사용자 등록을 하여 사용 중인 상태에서 사용자가 생체정보를 변경하고자 할 경우의 방법이다. 예를 들어, 신체상의 변화로 기등록한 지문이나 홍채인식이 잘 안되는 경우, 기존 사용자가 맞는지 실명확인을 통해 확인 후 변경할 수 있도록 해주는 방법이다.
생체정보 재등록시는 키쌍을 생성하지 않고 매핑테이블의 생체정보 부분만 갱신한다. 즉, 변경가능 정책의 경우 기존 스마트폰 설정 화면의 지문등록을 통해 사용자 마음대로 수정이 가능하며, 변경불가 정책의 경우 사용자가 실명확인이 된 경우에만 수정할 권한이 생긴다.
그리고 스마트폰에서의 생제정보 입력은 변경가능 정책인 경우나, 변경불가 정책인 경우 모두 동일하다. 다만, 수정을 허가 없이 또는 허가된 경우에 수행된다는 차이점이 있다.
이상, 본 발명자에 의해서 이루어진 발명을 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 사용자 단말 11 : 서비스 클라이언트
15 : 생체인식 모듈 20 : FIDO 클라이언트
30 : FIDO 인증장치 31 : 생체정보 입력부
32 : 개인키 생성등록부 33 : 생체인증 매핑부
34 : 생체정보 검증부 35 : 인증응답 생성부
36 : 기기인증 관리부 39 : 저장소
40 : 네트워크 50 : 서비스 서버
60 : FIDO 서버

Claims (8)

  1. FIDO 클라이언트에 의해 호출되고, 상기 FIDO 클라이언트를 통해 FIDO 서버와 통신하는, 신원확인 또는 부인방지가 가능한 FIDO 인증 장치에 있어서,
    생체정보를 입력받는 생체정보 입력부;
    개인키 및 공개키의 키쌍을 생성하여, 상기 개인키를 저장하고, 상기 공개키를 FIDO 서버로 전송하게 하는, 개인키 생성등록부;
    생체정보, 개인키, 서비스, 및, 사용자 아이디를 하나의 매핑정보로 설정하여, 설정된 매핑정보를 매핑테이블에 저장하는 생체인증 매핑부;
    입력된 생체정보를 매핑테이블에 저장된 생체정보와 대비하여, 양 생체정보의 동일 여부에 따라 검증 여부를 결정하는 생체정보 검증부; 및,
    인증요청을 수신하여, 인증요청의 서비스와 사용자 아이디가 동일한 매핑정보를 상기 매핑테이블에서 검색하고, 검색된 매핑정보의 생체정보를 이용하여 생체정보를 검증하고, 생체정보가 검색되면 검색된 매핑정보의 개인키로 인증응답을 생성하는 인증응답 생성부를 포함하는 것을 특징으로 하는 신원확인 또는 부인방지가 가능한 FIDO 인증 장치.
  2. 제1항에 있어서,
    상기 생체인증 매핑부는 실명인증이 확인된 경우에 한하여 상기 FIDO 서버의 요청에 의하여, 생체정보에 대한 매핑정보를 상기 매핑테이블에 등록하는 것을 특징으로 하는 신원확인 또는 부인방지가 가능한 FIDO 인증 장치.
  3. 제1항에 있어서,
    상기 매핑테이블의 매핑정보는 변경가능 또는 변경불가로 설정되는 변경정책을 더 포함하여 구성되고,
    상기 생체인증 매핑부는 상기 FIDO 서버의 변경정책이 변경불가인 경우 실명확인을 수행하는 등록 절차에 의해서만, 생체정보에 대한 매핑정보가 상기 매핑테이블에 등록되는 것을 특징으로 하는 신원확인 또는 부인방지가 가능한 FIDO 인증 장치.
  4. FIDO 인증장치, FIDO 클라이언트, 서비스 클라이언트, 서비스 서버, 및, FIDO 서버에 의해 수행되는 신원확인 또는 부인방지가 가능한 FIDO 인증 방법에 있어서,
    (a1) 상기 서비스 클라이언트가 사용자로부터 서비스 개설 및 FIDO 등록을 요청받는 단계;
    (a2) 상기 서비스 클라이언트는 상기 서비스 서버와 연동하여, 사용자에 대한 실명인증을 수행하는 단계;
    (a3) 실명인증이 완료되면, 상기 서비스 클라이언트는 서비스 개설을 상기 서비스 서버에 요청하여, 상기 서비스 서버는 상기 사용자에 대한 서비스를 개설하고, 서비스를 식별하기 위한 사용자 아이디를 설정하는 단계;
    (a4) 상기 서비스 클라이언트는 FIDO 서버에 FIDO 등록을 요청하고, 상기 FIDO 서버는 상기 FIDO 클라이언트로 FIDO 등록을 요청하고, 요청시 등록정책을 함께 전송하는 단계;
    (a5) 상기 FIDO 클라이언트는 등록정책에 따른 FIDO 인증장치를 호출하는 단계;
    (a6) 상기 FIDO 인증장치는 사용자의 생체정보를 입력받고, 사용자의 개인키 및 공개키를 생성하고, 상기 서비스와 사용자 아이디, 개인키, 입력된 생체정보를 하나의 매핑정보를 생성하여 매핑테이블에 저장하는 단계;
    (a7) 상기 FIDO 인증장치는 등록응답을 생성하고, 생성된 등록응답과 사용자 공개키를 상기 FIDO 클라이언트를 통해 상기 FIDO 서버로 전송하는 단계; 및,
    (a8) 상기 FIDO 서버는 상기 등록응답을 검증하고, 검증되면 사용자 공개키를 저장하는 단계를 포함하는 것을 특징으로 하는 신원확인 또는 부인방지가 가능한 FIDO 인증 방법.
  5. 제4항에 있어서, 상기 방법은,
    (b1) 상기 서비스 클라이언트는 사용자로부터 서비스 제공을 요청받고, 사용자의 서비스 요청을 상기 서비스 서버에 요청하는 단계;
    (b2) 상기 서비스 서버는 상기 FIDO 서버에 FIDO 인증 개시를 요청하고, 상기 FIDO 서버는 챌린지값을 생성하고, FIDO 인증 요청을 상기 FIDO 클라이언트로 전송하되, 상기 챌린지값과 인증정책을 함께 전송하는 단계;
    (b3) 상기 FIDO 클라이언트는 상기 인증정책에 따라 FIDO 인증장치를 호출하는 단계;
    (b4) 호출된 FIDO 인증장치는 사용자의 생체정보를 입력받고, 입력된 생체정보와 매핑테이블에 저장된 매핑정보의 생체인증과 대비하여 생체인증 여부를 결정하는 단계;
    (b5) 생체인증이 성공하면, 상기 FIDO 인증장치는 해당 매핑정보의 사용자 개인키에 접근하여, 상기 사용자 개인키로 인증응답을 생성하고, 생성된 인증응답을 상기 FIDO 클라이언트를 통해 상기 FIDO 서버로 전송하는 단계;
    (b6) 상기 FIDO 서버는 상기 인증응답을 상기 사용자의 공개키로 검증하고, 검증결과를 상기 서비스 서버로 전송하는 단계; 및,
    (b7) 상기 서비스 서버는 검증결과가 성공한 것이면 요청된 서비스를 허용하고 제공하는 단계를 포함하는 것을 특징으로 하는 신원확인 또는 부인방지가 가능한 FIDO 인증 방법.
  6. 제4항에 있어서, 상기 방법은,
    (c1) 상기 서비스 클라이언트는 생체정보 재등록을 요청받는 단계;
    (c2) 상기 서비스 클라이언트는 상기 서비스 서버와 연동하여, 사용자에 대한 실명인증을 수행하는 단계;
    (c3) 상기 서비스 클라이언트는 상기 서비스 서버를 통해 상기 FIDO 서버로부터 사용자 인증장치의 리스트를 수신하고, 인증장치 리스트 중에서 하나의 사용자 인증장치를 선택하는 단계;
    (c4) 상기 FIDO 서버는 선택된 사용자 인증장치를 수신하여, 해당 사용자 인증장치에 대하여 사용불가로 설정하는 단계;
    (c5) 상기 서비스 클라이언트는 생체정보 재등록을 상기 FIDO 클라이언트로 요청하면, 상기 FIDO 클라이언트는 재등록 요청에 따른 사용자 인증장치를 호출하는 단계;
    (c6) 상기 FIDO 인증장치는 사용자의 생체정보를 입력받고, 입력받은 생체정보로 상기 매핑테이블을 갱신하는 단계;
    (c7) 상기 FIDO 인증장치는 생체정보 재등록 완료 메시지를 생성하여 상기 서비스 클라이언트로 전송하는 단계; 및,
    (c8) 상기 서비스 클라이언트는 재등록 완료결과를 표시하는 단계를 포함하는 것을 특징으로 하는 신원확인 또는 부인방지가 가능한 FIDO 인증 방법.
  7. 제4항에 있어서,
    상기 FIDO 클라이언트와 상기 FIDO 서버 간의 통신은 상기 서비스 클라이언트 및, 상기 서비스 서버의 중계에 의하여 수행되는 것을 특징으로 하는 신원확인 또는 부인방지가 가능한 FIDO 인증 방법.
  8. 제4항에 있어서,
    상기 등록응답에는 FIDO 인증장치의 인증서 및 서명값도 포함되고,
    상기 (a8)단계에서, 상기 FIDO 서버는 FIDO 인증장치의 인증서를 통한 인증장치 검증과 서명값에 대한 검증을 수행하는 것을 특징으로 하는 신원확인 또는 부인방지가 가능한 FIDO 인증 방법.
KR1020170012165A 2017-01-25 2017-01-25 신원확인 또는 부인방지가 가능한 fido 인증 장치 및 그 방법 KR101941227B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170012165A KR101941227B1 (ko) 2017-01-25 2017-01-25 신원확인 또는 부인방지가 가능한 fido 인증 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170012165A KR101941227B1 (ko) 2017-01-25 2017-01-25 신원확인 또는 부인방지가 가능한 fido 인증 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20180087739A true KR20180087739A (ko) 2018-08-02
KR101941227B1 KR101941227B1 (ko) 2019-01-22

Family

ID=63251541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170012165A KR101941227B1 (ko) 2017-01-25 2017-01-25 신원확인 또는 부인방지가 가능한 fido 인증 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101941227B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111291329A (zh) * 2018-12-10 2020-06-16 航天信息股份有限公司 一种文件查看方法、装置、***、服务器及可读存储介质
CN111726365A (zh) * 2020-06-29 2020-09-29 深圳前海微众银行股份有限公司 一种在线身份认证的方法及装置
CN111861355A (zh) * 2019-04-30 2020-10-30 富金通金融信息服务(上海)有限公司 一种全线上化的企业互联网实名认证方法
US20200387906A1 (en) * 2018-02-23 2020-12-10 Visa International Service Association Efficient biometric self-enrollment
KR20200143772A (ko) * 2019-06-17 2020-12-28 현대오토에버 주식회사 디지털 식별자 위변조 방지 시스템, 방법 및 장치
KR102273315B1 (ko) * 2020-02-06 2021-07-07 (주)올잇코인 가상화폐 중계거래용 앱에서 개인 키(Private Key)를 초기화시키는 방법
KR20210085778A (ko) * 2019-12-31 2021-07-08 주식회사 와이키키소프트 고속 모바일 연동 사용자 인증 방법 및 장치
CN113761507A (zh) * 2020-10-30 2021-12-07 北京沃东天骏信息技术有限公司 一种认证的方法和装置
KR102497076B1 (ko) * 2022-06-23 2023-02-07 (주)탭핀 Fido 생체인증 보안키 기반의 블록체인 전자지갑 서비스를 제공하는 컴퓨터 장치, 방법 및 컴퓨터 프로그램

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102479454B1 (ko) * 2019-10-02 2022-12-20 주식회사 디젠트아이디 본인 인증을 수행하는 이동 통신 단말기, 본인 인증 시스템, 및 이동 통신 단말기를 이용한 본인 인증 방법
KR102452717B1 (ko) * 2021-04-06 2022-10-12 한국전자통신연구원 사용자 인증 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150044614A (ko) * 2013-10-17 2015-04-27 중소기업은행 생체정보를 이용한 실명확인 시스템 및 방법
KR20160037520A (ko) * 2014-09-29 2016-04-06 삼성에스디에스 주식회사 생체 인식 기반의 통합 인증 시스템 및 방법
KR101611872B1 (ko) 2015-11-05 2016-04-12 에스지에이솔루션즈 주식회사 Fido와 인증서를 이용한 인증 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150044614A (ko) * 2013-10-17 2015-04-27 중소기업은행 생체정보를 이용한 실명확인 시스템 및 방법
KR20160037520A (ko) * 2014-09-29 2016-04-06 삼성에스디에스 주식회사 생체 인식 기반의 통합 인증 시스템 및 방법
KR101611872B1 (ko) 2015-11-05 2016-04-12 에스지에이솔루션즈 주식회사 Fido와 인증서를 이용한 인증 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200387906A1 (en) * 2018-02-23 2020-12-10 Visa International Service Association Efficient biometric self-enrollment
CN111291329A (zh) * 2018-12-10 2020-06-16 航天信息股份有限公司 一种文件查看方法、装置、***、服务器及可读存储介质
CN111291329B (zh) * 2018-12-10 2023-08-18 航天信息股份有限公司 一种文件查看方法、装置、***、服务器及可读存储介质
CN111861355A (zh) * 2019-04-30 2020-10-30 富金通金融信息服务(上海)有限公司 一种全线上化的企业互联网实名认证方法
KR20200143772A (ko) * 2019-06-17 2020-12-28 현대오토에버 주식회사 디지털 식별자 위변조 방지 시스템, 방법 및 장치
KR20210085778A (ko) * 2019-12-31 2021-07-08 주식회사 와이키키소프트 고속 모바일 연동 사용자 인증 방법 및 장치
KR102273315B1 (ko) * 2020-02-06 2021-07-07 (주)올잇코인 가상화폐 중계거래용 앱에서 개인 키(Private Key)를 초기화시키는 방법
CN111726365A (zh) * 2020-06-29 2020-09-29 深圳前海微众银行股份有限公司 一种在线身份认证的方法及装置
CN113761507A (zh) * 2020-10-30 2021-12-07 北京沃东天骏信息技术有限公司 一种认证的方法和装置
KR102497076B1 (ko) * 2022-06-23 2023-02-07 (주)탭핀 Fido 생체인증 보안키 기반의 블록체인 전자지갑 서비스를 제공하는 컴퓨터 장치, 방법 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
KR101941227B1 (ko) 2019-01-22

Similar Documents

Publication Publication Date Title
KR101941227B1 (ko) 신원확인 또는 부인방지가 가능한 fido 인증 장치 및 그 방법
US11870775B2 (en) Biometric identification and verification among IoT devices and applications
US11743042B2 (en) Secure remote token release with online authentication
KR102358546B1 (ko) 장치에 대해 클라이언트를 인증하기 위한 시스템 및 방법
US9813236B2 (en) Multi-factor authentication using a smartcard
KR101611872B1 (ko) Fido와 인증서를 이용한 인증 방법
KR102116235B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
AU2017354083A1 (en) Verifying an association between a communication device and a user
KR102118962B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
KR101858653B1 (ko) 블록체인 데이터베이스 및 이와 연동하는 머클 트리 구조를 통해 모바일 아이디를 이용하여 사용자를 인증하는 방법, 단말 및 이를 이용한 서버
KR102118935B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
KR20220167366A (ko) 온라인 서비스 서버와 클라이언트 간의 상호 인증 방법 및 시스템
KR102118947B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
KR102160892B1 (ko) 공개키 기반의 서비스 인증 방법 및 시스템
KR101936941B1 (ko) 생체인증을 이용한 전자결재 시스템, 방법 및 프로그램
KR20170099339A (ko) 보안 회원가입 및 로그인 호스팅 서비스 제공 시스템 및 그 방법
KR20220116483A (ko) 악성 프로그램 코드 주입으로부터의 보호를 위한 시스템 및 방법
KR102352995B1 (ko) 무자각 인증을 이용한 간편이체 서비스방법 및 그 시스템
US20240013198A1 (en) Validate digital ownerships in immutable databases via physical devices
EP4341834A1 (en) Custody service for authorising transactions
KR101647468B1 (ko) 이중 인증 수단을 이용한 사용자 인증 방법 이를 실행하는 시스템
KR101576038B1 (ko) 사용자 신원 인증을 안전하게 보장하기 위한 네트워크 인증 방법
KR20140143987A (ko) 모바일 디바이스를 통한 사용자 주도적 통합인증 시스템 및 개인정보 제공 방법

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