KR101897715B1 - 바이오정보를 이용한 패스워드 없는 전자서명 시스템 - Google Patents

바이오정보를 이용한 패스워드 없는 전자서명 시스템 Download PDF

Info

Publication number
KR101897715B1
KR101897715B1 KR1020170107781A KR20170107781A KR101897715B1 KR 101897715 B1 KR101897715 B1 KR 101897715B1 KR 1020170107781 A KR1020170107781 A KR 1020170107781A KR 20170107781 A KR20170107781 A KR 20170107781A KR 101897715 B1 KR101897715 B1 KR 101897715B1
Authority
KR
South Korea
Prior art keywords
certificate
information
password
client
digital signature
Prior art date
Application number
KR1020170107781A
Other languages
English (en)
Other versions
KR20180069669A (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 한국인터넷진흥원
Publication of KR20180069669A publication Critical patent/KR20180069669A/ko
Application granted granted Critical
Publication of KR101897715B1 publication Critical patent/KR101897715B1/ko

Links

Images

Classifications

    • 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
    • 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/33User authentication using certificates
    • 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (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)
  • Storage Device Security (AREA)

Abstract

본 발명은 공인인증서 유출과 개인키에 대한 비밀번호 검출공격으로부터 안전한 전자서명 시스템에 관한 것이다.
본 발명에 따른 바이오정보를 이용한 패스워드 없는 전자서명 시스템은 바이오정보로 암호화된 공인인증서 개인키를 안전한 저장소에 저장하고, 인증 및 전자서명은 보안실행환경에서 안전하게 수행되도록 하고, 지문의 특징 정보를 바이오템플릿으로 변환하여 개인키를 암호화하는데 사용하며, 글로벌 인증기술 표준인 FIDO와 국내 공인인증 체계를 화학적으로 융합함에 따라 FIDO 지원 단말에서 제공하는 다양한 인증기법들을 공인인증서와 연동할 수 있도록 확장성있는 프레임 워크를 제공하는 것을 특징으로 한다.

Description

바이오정보를 이용한 패스워드 없는 전자서명 시스템{SYSTEM FOR NON-PASSWORD SECURE BIOMETRIC DIGITAL SIGNAGURE}
본 발명은 공인인증서 유출과 개인키에 대한 비밀번호 검출공격으로부터 안전한 전자서명 시스템에 관한 것이다.
신원 확인 및 메시지 내용에 대한 보호를 위해 공인인증제도가 도입된 이래, 공인인증서는 2016년 12월 기준 그 발급건수가 3,544만 건을 넘어섰으며, 공인인증서 발급 건수는 지속적으로 증가하고 있는 추세이다.
공개키 기반구조의 공인인증서는 공개키 암/복호화 알고리즘과 해시 알고리즘 등 신뢰성 있고 안전한 거래를 위해 전 세계적으로 사용되고 있는 국제 표준 암호 알고리즘에 의해 발급 및 사용이 보호된다.
공인인증서에는 공개키가 포함되고 공개키와 쌍을 이루는 개인키는 유출 시 본인외 사용 등 보안상 위험에 따라, 비밀번호로 암호화되어 보관된다.
하지만, 인증서와 개인키는 파일 형태로 존재하기 때문에, 하드디스크에 저장되어 있는 위치(NPKI)에 접근이 쉽고, 복사/사용이 쉬워 보안이 취약한 문제점이 있다.
최근, 사용자 PC에 설치된 악성코드로 인해 사용자의 인증서와 개인키 파일 및 관련 전자금융정보가 유출되는 사고가 빈번하게 발생하고 있다.
2015년 8월 기준으로 약 7만810건의 공인인증서가 해킹된 것으로 집계되고 있으며, 사용자들이 기억하기 쉽고 입력이 편리한 비밀번호를 사용함에 따라 유출된 개인키는 비밀번호 검출공격에 의해 복호화되어 불법적으로 사용되는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위하여 제안된 것으로, 공인인증서 유출문제를 방지하고, 암호화된 개인키를 비밀번호 검출공격으로부터 보호하는 안전한 전자서명 시스템을 제공하는데 목적이 있다.
본 발명에 따른 바이오정보를 이용한 패스워드 없는 안전한 전자서명 시스템은 바이오정보로 암호화된 공인인증서 개인키를 안전한 저장소에 저장하고, 인증 및 전자서명은 보안실행환경에서 안전하게 수행되도록 하고, 지문의 특징 정보를 바이오템플릿으로 변환하여 개인키를 암호화하는데 사용하며, 글로벌 인증기술 표준인 FIDO와 국내 공인인증 체계를 화학적으로 융합함에 따라 FIDO 지원 단말에서 제공하는 다양한 인증기법들을 공인인증서와 연동할 수 있도록 확장성있는 프레임 워크를 제공하는 것을 특징으로 한다.
본 발명에 따른 바이오정보를 이용한 패스워드 없는 안전한 전자서명 시스템은 종래 기술에 따른 사용자 입력 패스워드를 통해 개인키를 암호화하는 방식과 비교하여 볼 때, 패스워드 방식에 비해 엔트로피가 약 22.7배 높게 획득되어, 암호화된 개인키를 복호화하는 것이 불가능한 효과가 있다.
또한, 본 발명에 따르면, 사용자는 공인인증서를 이용할 경우 패스워드 입력 없이 간단하고 편리하게 바이오정보를 인식시킴으로써 전자서명을 생성할 수 있어, 사용자가 복잡한 패스워드를 기억하지 않아도 공인인증서를 쉽고 편리하게 이용할 수 있고, 공인인증서 유출, 무작위 공격 등 해킹 공격으로부터 안전한 보안강도를 제공하는 것이 가능한 효과가 있다.
본 발명의 효과는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 패스워드 없는 안전한 전자서명을 위한 시스템 구성도이다.
도 2는 본 발명의 실시예에 따른 모바일 단말 환경 구성을 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 바이오템플릿의 구성을 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 바이오정보를 이용한 개인키 암호화 방법을 나타내는 도면이다.
도 5는 본 발명의 실시예에 따른 바이오정보를 이용한 개인키 암호화 및 복호화 과정을 나타내는 도면이다.
도 6은 본 발명의 실시예에 따른 인증서 신규발급 절차를 나타내는 도면이다.
도 7은 본 발명의 실시예에 따른 인증서 갱신발급 절차를 나타내는 도면이다.
도 8은 본 발명의 실시예에 따른 인증서 폐지 절차를 나타내는 도면이다.
도 9는 본 발명의 실시예에 따른 인증서 등록 절차를 나타내는 도면이다.
도 10은 본 발명의 실시예에 따른 인증 및 전자서명 절차를 나타내는 도면이다.
도 11은 본 발명의 실시예에 따른 서비스 구성요소를 나타내는 블록도이다.
도 12는 본 발명의 실시예에 따른 FIDO 등록 및 공인인증서 발급 절차를 나타내는 도면이다.
도 13은 도 12에 도시한 본 발명의 실시예에 따른 FIDO 등록 및 공인인증서 발급의 상세 절차를 나타내는 도면이다.
도 14는 본 발명의 실시예에 따른 FIDO 인증 및 공인전자서명 절차를 나타태는 도면이다.
도 15는 도 14에 도시한 본 발명의 실시예에 따른 FIDO 인증 및 공인전자서명의 상세 절차를 나타내는 도면이다.
도 16은 본 발명의 실시예에 따른 지문 이미지의 특징점 각도에 따른 분할을 나타내는 도면이다.
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 목적, 구성 및 효과를 용이하게 알려주기 위해 제공되는 것일 뿐으로서, 본 발명의 권리범위는 청구항의 기재에 의해 정의된다.
한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가됨을 배제하지 않는다.
이하에서는, 도면을 참조하여 본 발명의 실시예에 대하여 상술하기로 한다.
1. 패스워드 없는 안전한 전자서명 기법
1. 1. 패스워드 없는 안전한 전자서명 시스템의 구성
도 1은 본 발명의 실시예에 따른 패스워드 없는 안전한 전자서명 시스템을 나타내는 구성도이다.
본 발명의 실시예에 따르면, 단말(클라이언트, 100, PC 또는 모바일) 내 사전에 등록된 바이오정보(지문)을 이용해 공인인증서의 개인키를 암호화하고, 암호화된 개인키를 안전한 저장 공간(Secure Element)에 저장한다.
사용자는 공인인증서를 이용할 경우 패스워드 입력 없이 간단하고 편리하게 바이오정보를 인식시킴으로써 전자서명을 생성한다.
도 1을 참조하면, 패스워드 없는 안전한 전자서명 기법에서 사용되는 바이오정보(지문) 인식 및 이용 기술은 FIDO UAF 프로토콜에서 제공하는 통신규약과 상호 연동되도록 설계한다.
이는 추후 지문 외 홍채, 정맥, 음성, 얼굴 등 다양한 바이오정보로 발전할 수 있도록 확장성 있는 프레임워크를 제공하기 위한 것으로, 본 실시예에 따른 모바일 내 시스템 구성은 안드로이드 운영체제 영역인 일반실행환경(REE, Rich Execution Environment)과 보안실행환경(TEE, Trustred Execution Environment)으로 구성되며, 바이오정보와 개인키를 안전하게 저장하고 전자서명에 이용하기 위해 보안 실행환경이 설계된다.
보안실행환경에서는 지문인식장치 어플리케이션과 FIDO 클라이언트 어플리케이션, 인증서 관리 모듈 및 안전한 저장 공간으로 구성된다.
단말 내 안전한 저장 공간(Secure Element)은 키 쌍을 생성 및 저장하며, 인증서 신규발급, 갱신발급, 폐지 등을 위해 인증서 관리 모듈(Certificate Management)이 신뢰할 수 있는 보안실행환경에서 동작된다.
서비스 제공자(200, Service Provider, Relying Party)는 웹 서비스를 제공하기 위해 서비스 제공 서버(Service Server), FIDO 서버(FIDO Server), 인증서 유효성 및 전자서명 검증을 위한 인증서 검증 모듈(Certificate and Signature Verification)을 포함한다.
FIDO 서버는 사용자의 인증서를 등록하고, 전자서명을 검증하는 기능을 수행한다.
공인인증기관(300, CA, Certification Authority)은 인증서 발급을 위한 CA 서버(CA Server)를 운영하고, 인증서에 대한 유효성 검증을 제공하기 위해 인증서 디렉토리(LDAP Directory)와 OCSP서버(OCSP Server)를 운영한다.
1.2 클라이언트 내 환경 구성
도 2를 참조하면, 클라이언트(user device) 내 환경 구성은 글로벌 플랫폼에서 표준화하고 있는 보안 실행 환경을 패스워드 없는 안전한 전자서명 기법에 적합하게 동작하도록 설계한 것이다.
도 2를 참조하면, 일반실행환경(REE)의 서비스 어플리케이션은 보안실행환경(TEE)의 서비스 어플리케이션과 하나의 쌍으로 설치가 되며, 지문인식 어플리케이션(Authenticator Application), FIDO 클라이언트 어플리케이션(FIDO Client Application)은 신뢰할 수 있는 환경에서만 동작하도록 보안실행환경(TEE)에 설치될 수도 있고, 일반실행환경(REE)에 설치될 수도 있다.
공인인증서 및 개인키는 보안실행환경(TEE) 내 신뢰할 수 있는 어플리케이션에서만 접근이 가능하도록, 안전한 저장 공간 및 지문인식장치에 저장된다.
또한, 바이오정보를 인식하고, 개인키를 이용한 전자서명은 보안실행환경 에서 신뢰할 수 있는 어플리케이션을 통해서만 수행되며, 이는 별도의 메모리를 할당받아 독립적으로 수행된다.
2. 바이오정보를 이용한 개인키 암호화 기법
2. 1. 바이오템플릿 추출방법
본 발명의 실시예에 따르면, 모바일에 기본적으로 탑재된 지문 인식장치를 이용해 지문의 특징점 정보를 추출하고 바이오템플릿은 바이오 인식장치 내 별도의 안전한 저장 역역에 저장한다.
본 발명의 실시예에 따른 바이오템플릿의 구성은 도 3에 도시한 바와 같다.
바이오템플릿은 개인키를 암호화 및 복호화하기 위한 용도로 활용되는데, 바이오정보는 지문의 특징정보인 융선, 분기점, 끝점을 구분하여 추출하고, 본 발명의 실시예에 따르면 56개의 특징 정보를 5바이트 단위로 저장하며, 5바이트로 저장되는 정보는 아래 [표 1]과 같다.
구분 크기
특징점의 특성(분기점, 끝점) 2bit
X좌표의 절대값 14bit
Y좌표의 절대값 14bit
특징점의 각도 8bit
특징점 신뢰도 2bit
합계 40bit
2.2. 바이오정보를 이용한 개인키 암호화 기법
개인키는 바이오정보를 바이오 템플릿으로 변환한 값을 이용해 암호화되어 저장된다.
바이오정보를 이용한 개인키 암호화 기법은 도 4에 도시한 바와 같다.
(1) PKCS#5에서 정의한 PBES2 암호화 기법을 이용한다. 이 때, PBKDF2 키 생성 함수와 블록 암호화 알고리즘을 사용한다.
(2) PBKDF2 키 생성 함수를 사용할 때의 파라미터는 아래 [표 2]와 같이 정의한다.
파라미터 설명
Password - 사용자가 입력한 비밀번호
- 바이오정보(ex. 지문의 특징정보)
Salt 8byte Random Value
Iteration Count 1024
(3) PBKDF2 키 생성 함수를 이용하여 20바이트의 추출키를 유도하고, 처음 16바이트를 암호화 키로 정의하며, 나머지 4바이트를 SHA-1으로 해쉬하여 생성된 20바이트 중 처음 16바이트를 초기 벡터로 정의한다
전술한 과정을 요약한 바이오 정보를 이용한 개인키 암호화 및 복호화 과정은 도 5와 도시된 바와 같다.
본 발명의 실시예에 따르면, 기존의 PKCS#5 표준에서 정의한 패스워드를 지문의 특징 정보로도 이용할 수 있도록 알고리즘을 정의하여, PBKDF2 키 생성 함수를 통해 암/복호화 키를 유도하고, PBES2 암호화 알고리즘을 통해 개인키를 암호화 및 복호화 한다.
3. 모바일 환경에서 인증서 관리
3. 1. 인증서 신규발급 절차
인증서 신규 발급 절차는 도 6에 도시한 바와 같으며, 본 발명의 실시예에 따르면, 모바일 내 안전한 저장 공간에서 인증서 공개키와 개인키 쌍을 생성하여 RFC 4210 CMP 프로토콜을 이용해 인증서를 직접 발급받고 안전한 저장 공간에 저장한다.
사용자는 일회성 정보, 가입자의 공개키를 포함하는 공인인증서 요청형식을 생성하여 재생 공격, 메시지 위/변조를 방지할 수 있는 형식을 구성하여 공인인증기관 또는 등록대행 업무기관에 공인인증서 요청 형식을 전달한다.
(1) 사용자(100)는 인증서를 발급받기 위해 인증기관(CA, 300) 또는 등록업무대행기관을 직접 방문하여 인증서 발급 신청서를 작성하고 본인임을 확인한다.
(2) 인증기관(300) 또는 등록업무대행기관은 사용자를 직접 대면하여 주민 등록증, 운전면허증 등 신원확인증표를 통해 실지명의를 확인하고 참조번호(ID)/인가코드(PW)를 발행한다.
(3) 사용자(100)는 모바일의 서비스 어플리케이션을 구동시키고, 인증서를 발급받기 위해 참조번호/인가코드, 사용자명(DN), 주민등록번호(IDN)를 입력한다.
Figure 112017082373364-pat00001
(4) 인증서 관리 모듈(130, Certificate Management)은 일반요청 메시지(genm, general message)를 생성한다.
Figure 112017082373364-pat00002
(5) 인증서 관리 모듈(130)은 일반요청메시지를 인증기관(CA)에 전달한다.
(6) 인증기관(300)은 수신한 초기화 요청 메시지를 이용하여, 일반응답메시지(genp, general response)를 생성 한다.
Figure 112017082373364-pat00003
(7) 인증기관(300)은 인증서 관리 모듈에 일반응답메시지를 전달한다.
(8) 인증서 관리 모듈(130)은 사용자의 인증서 생성을 위해 안전한 저장소(110, Secure Element)에 필요정보를 전달한다.
Figure 112017082373364-pat00004
(9) 안전한 저장소(110)는 지문 요청 메시지(br, bio information request)를 지문인식장치(120)에 전달한다.
(10) 지문인식장치(120)는 안전한 저장소(110)로부터 수신한 지문 요청 메시지로 지문인식장치를 구동하고, 서비스 어플리케이션(150)에 지문 요청 메시지를 전달한다.
(11) 서비스 어플리케이션(150)은 사용자의 지문을 입력 받아 지문 응답 메시지(bp, bio information response)를 통해 지문인식장치(120)로 바이오정보를 전달한다.
(12) 지문인식장치(120)는 사용자의 바이오정보를 기 등록된 바이오정보들과 비교하여 정당한 사용자임을 확인하고, 기 등록된 바이오정보를 해시하여 바이오 키(Biokey)를 생성한다.
Figure 112017082373364-pat00005
Figure 112017082373364-pat00006
(13) 바이오인식장치(120)는 생성된 바이오키를 안전한 저장소(110)에 전달한다.
(14) 안전한 저장소(110)는 기 수집된 정보를 이용해 초기화요청메시지(ir, initialization request)를 생성한다.
Figure 112017082373364-pat00007
Figure 112017082373364-pat00008
Figure 112017082373364-pat00009
Figure 112017082373364-pat00010
Figure 112017082373364-pat00011
Figure 112017082373364-pat00012
Figure 112017082373364-pat00013
Figure 112017082373364-pat00014
(15) 안전한 저장소(110)는 생성한 초기화요청메시지를 인증서 관리 모듈(130)에 전달한다.
(16) 인증서 관리 모듈(130)은 안전한 저장소(110)로부터 수신한 초기화요청메시지를 인증기관(300)에 전송한다.
(17) 인증기관(300)은 인증서 관리 모듈(130)로부터 수신한 초기화요청메시지를 확인하고, 초기화응답메시지(ip, initialization response)를 생성한다.
Figure 112017082373364-pat00015
Figure 112017082373364-pat00016
Figure 112017082373364-pat00017
Figure 112017082373364-pat00018
Figure 112017082373364-pat00019
Figure 112017082373364-pat00020
Figure 112017082373364-pat00021
Figure 112017082373364-pat00022
(18) 인증기관(300)은 생성한 초기화응답메시지(ip)를 사용자의 인증서 관리 모듈(130)로 전송한다.
(19) 인증서 관리 모듈(130)은 인증기관(300)으로부터 수신한 초기화응답메시지를 안전한 저장소(110)에 전달한다.
(20) 안전한 저장소(110)는 초기화응답메시지를 사용자의 개인키로 복호화한다.
Figure 112017082373364-pat00023
(21) 안전한 저장소(110)는 인증기관(300)에서 발급한 인증서를 인증서 관리 모듈(130)에 전달한다.
(22) 인증서 관리 모듈(130)은 안전한 저장소(110)로부터 수신한 인증서를 관리 하기 위해 인덱스 번호를 부여한 후 지문인식장치로 전달한다.
Figure 112017082373364-pat00024
(23) 지문인식장치는 인증서의 인덱스 번호와 함께 기 등록된 바이오 정보를 저장한다.
Figure 112017082373364-pat00025
(24) 인증서 관리 모듈(130)은 동일 정보를 안전한 저장소(110)로 전달한다
Figure 112017082373364-pat00026
(25) 안전한 저장소(110)는 인증서의 인덱스 번호와 함께 암호화된 개인키를 저장하고, 결과값(Result)을 생성한다.
Figure 112017082373364-pat00027
Figure 112017082373364-pat00028
(26) 안전한 저장소(110)는 생성한 결과값을 인증서 관리 모듈(130)에 전달한다.
(27) 인증서 관리 모듈(130)은 결과값을 인증기관(300)의 공개키로 암호화해 확인 메시지(conf)를 생성한다.
Figure 112017082373364-pat00029
(28) 인증서 관리 모듈(130)은 생성한 확인메시지를 인증기관(300)에 전송한다.
(29) 인증기관(300)은 수신한 확인메시지를 인증기관(300)의 개인키로 복호화해 이전 사용자에게 보낸 임의 난수인지 확인하고, 정상적으로 인증서가 발급될 경우 디렉토리에 사용자의 인증서를 공고한다.
Figure 112017082373364-pat00030
Figure 112017082373364-pat00031
Figure 112017082373364-pat00032
(30) 인증기관(300)은 정상적으로 사용자의 인증서가 발급되었음을 인증서 발급 확인 메시지를 인증서 관리 모듈(120)에 전송한다.
(31) 인증서 관리 모듈(130)은 서비스 어플리케이션(150)에 사용자의 인증서가 정상적으로 발급되었음을 확인하도록 메시지를 전달한다
3.2 인증서 갱신발급 절차
본 발명의 실시예에 따르면, 사용자의 인증서 만료 1개월 전부터 만료일까지 인증서 갱신발급 요청 형식을 구성 및 작성하여 공인인증기관 또는 등록대행업무기관에 전달한다.
이러한 갱신발급은 키 교체가 발생하지 않을 경우, 키 교체가 일어날 경우 두 가지 경우가 발생할 수 있으며, 본 명세서에서는 키 교체가 일어날 경우의 갱신발급 절차를 정의한다.
본 발명의 실시예에 따른 인증서 갱신발급 절차는 도 7에 도시한 바와 같으며, 모바일 내 안전한 저장 공간에 저장되어 있는 공개키와 개인키 쌍을 재사용해 RFC 4210 인증서 관리 프로토콜을 이용해 인증서를 갱신발급 받고 안전한 저장 공간에 저장한다.
(1) 사용자(100)는 서비스 어플리케이션(150)에서 인증서 갱신발급을 선택한다.
(2) 서비스 어플리케이션(150)은 인증서 관리 모듈(130, Certificate Management)에 인증서 목록을 요청한다.
Figure 112017082373364-pat00033
(3) 사용자(100)는 모바일 내 저장된 인증서 리스트에서 갱신하고자 하는 인증서를 선택한다.
Figure 112017082373364-pat00034
(4) 인증서 관리 모듈(130)은 일반요청메시지(genm, general message)를 생성한다.
Figure 112017082373364-pat00035
(5) 인증서 관리 모듈(130)은 일반요청메시지를 인증기관(300, CA)에 전달한다.
(6) 인증기관(300)은 수신한 일반요청메시지를 이용하여, 일반응답메시지(genp, general response)를 생성한다.
Figure 112017082373364-pat00036
(7) 인증기관(300)은 인증서 관리 모듈(130)에 일반응답메시지를 전달한다.
(8) 인증서 관리 모듈(130)은 인증서 갱신발급을 위한 필요 정보를 지문인식 장치에 전달한다.
Figure 112017082373364-pat00037
(9) 지문인식장치(120)는 서비스 어플리케이션(150)에 지문 요청 메시지(br, bio information request)를 요청 한다.
(10) 서비스 어플리케이션(150)은 사용자로부터 입력받은 바이오정보를 지문 응답 메시지(bp, bio information response)로 변환하여 지문인식 장치로 전달한다.
(11) 지문인식장치(120)는 인증서에 부여된 인덱스 번호를 이용해 사용자의 바이오정보를 기 등록된 바이오정보들과 비교하여 정당한 사용자 임을 확인하고, 기 등록된 바이오정보를 해시하여 바이오키(Biokey)를 생성한다.
Figure 112017082373364-pat00038
Figure 112017082373364-pat00039
(12) 지문인식장치(120)는 인증서 갱신 발급을 위해 안전한 저장소(110)에 필요 정보를 전달한다.
Figure 112017082373364-pat00040
(13) 안전한 저장소(110)는 지문인식장치(120)로부터 수신한 정보로 키 갱신 요청 메시지(kur, key update request)를 생성한다.
Figure 112017082373364-pat00041
Figure 112017082373364-pat00042
Figure 112017082373364-pat00043
Figure 112017082373364-pat00044
Figure 112017082373364-pat00045
Figure 112017082373364-pat00046
Figure 112017082373364-pat00047
Figure 112017082373364-pat00048
Figure 112017082373364-pat00049
Figure 112017082373364-pat00050
(14) 안전한 저장소(110)는 키 갱신 요청 메시지를 인증서 관리 모듈(130)에 전달한다.
(15) 인증서 관리 모듈(130)은 키 갱신 요청 메시지를 인증기관(300)에 전달한다.
(16) 인증기관(300)은 사용자의 인증서 관리 모듈(130)로부터 수신한 키 갱신 요청 메시지를 확인하고, 키 갱신 응답 메시지(kup, key update response)를 생성한다.
Figure 112017082373364-pat00051
Figure 112017082373364-pat00052
Figure 112017082373364-pat00053
Figure 112017082373364-pat00054
Figure 112017082373364-pat00055
(17) 인증기관(300)은 생성한 키 갱신 응답 메시지를 사용자의 인증서 관리 모듈(130)에 전송한다.
(18) 인증서 관리 모듈(130)은 인증기관(300)으로부터 수신한 키 갱신 응답 메시지를 안전한 저장소(110)에 전달한다.
(19) 안전한 저장소(110)는 키 갱신 응답 메시지를 자신의 개인키로 확인한다.
Figure 112017082373364-pat00056
(20) 안전한 저장소(110)는 갱신 발급된 인증서를 인증서 관리 모듈(130)에 전달한다.
Figure 112017082373364-pat00057
(21) 인증서 관리 모듈(130)은 갱신 발급된 인증서에 식별번호를 부여하고, 지문인식장치(120)에 전달한다.
Figure 112017082373364-pat00058
(22) 지문인식장치(120)는 인증서 관리 모듈(130)로부터 수신한 갱신된 인증서의 식별번호에 부합하는 바이오템플릿을 같이 저장한다.
Figure 112017082373364-pat00059
(23) 인증서 관리 모듈은 식별번호가 부여된 갱신된 인증서를 안전한 저장소에 전달한다.
(24) 안전한 저장소는 식별번호가 부여된 갱신된 인증서를 암호화된 개인키와 같이 저장하고, 확인메시지(conf, confirmation)를 생성한다.
Figure 112017082373364-pat00060
Figure 112017082373364-pat00061
(25) 안전한 저장소(110)는 생성된 확인메시지를 인증서 관리 모듈(130)로 전달한다.
(26) 인증서 관리 모듈(130)은 안전한 저장소(110)로부터 수신한 확인메시지를 인증기관(300)으로 전송한다.
(27) 인증기관(300)은 확인메시지를 복호화하고, 사용자의 참조번호와 임의의 난수를 확인한다.
Figure 112017082373364-pat00062
Figure 112017082373364-pat00063
(28) 인증기관(300)은 인증서 관리 모듈(130)에 인증서 갱신 발급 확인 메시지를 전송한다.
(29) 인증서 관리 모듈(130)은 서비스 어플리케이션(150)에 인증기관(300)으로부터 수신한 인증서 갱신 발급 확인 메시지를 전달한다.
3.3 인증서 폐지 절차
본 발명의 실시예에 따른 도 8은 인증서 폐지 절차를 나타내는 도면으로, 사용자가 서비스 어플리케이션을 통해 개인정보 도용 및 유출 등으로 인증서를 폐지할 경우 도 8에 도시한 절차를 따른다.
사용자가 인증서를 폐지 신청 한 경우와 가입 자의 생성키에 대한 분실, 훼손 또는 도난/유출이 의심되는 경우에 사용자는 폐지발급요청형식을 작성하여 인증기관 또는 등록대행업무기관에 전달한다.
(1) 사용자(100)는 서비스 어플리케이션(150) 메뉴에서 인증서 폐지를 선택하고, 사용자에게 폐지할 인증서 목록을 보여주기 위하여 지문인식장치(120)로부터 인증서 목록을 요청한다.
(2) 지문인식장치(120)는 사용자의 정보에 부합하는 인증서 목록을 서비스 어플리케이션(150)에 전달한다.
Figure 112017082373364-pat00064
(3) 사용자(100)는 서비스 어플리케이션(150)에서 폐지할 인증서를 선택하고, 선택결과를 인증서 관리 모듈(130)에 전달한다.
Figure 112017082373364-pat00065
(4) 인증서 관리 모듈(130)은 폐지할 인증서의 식별번호를 지문인식장치로 전달한다.
(5) 지문인식장치(120)는 서비스 어플리케이션에 지문 요청 메시지(br, bio information request)를 전달한다.
(6) 사용자(100)는 자신의 지문을 인식하고, 지문 응답 메시지(bp, bio information response)를 지문인식장치(120)로 전달한다.
(7) 지문인식장치(120)는 사용자가 인식한 지문정보와 폐지할 인증서의 바이오템플릿을 비교하여 개인키 복호화에 이용할 바이오키를 생성한다.
Figure 112017082373364-pat00066
Figure 112017082373364-pat00067
(8) 지문인식장치(120)는 폐지할 인증서의 식별번호와 바이오키를 안전한 저장소(110)로 전달한다.
Figure 112017082373364-pat00068
(9) 안전한 저장소(110)는 사용자가 폐지할 인증서에 대해 폐지 요청 메시지 (rr, revocation request)를 생성한다.
Figure 112017082373364-pat00069
Figure 112017082373364-pat00070
(10) 안전한 저장소(110)는 폐지 요청 메시지를 인증서 관리 모듈(130)에 전달한다.
(11) 인증서 관리 모듈(130)은 사용자가 폐지할 인증서와 폐지 요청 메시지를 인증기관에 전송한다.
Figure 112017082373364-pat00071
(12) 인증기관(300)은 폐지 요청 메시지를 확인하고,사용자의 인증서와 폐기 사유를 폐지목록에 삽입하고, 인증서 폐지 응답 메시지(rp,revocation response)를 생성한다.
Figure 112017082373364-pat00072
Figure 112017082373364-pat00073
Figure 112017082373364-pat00074
(13) 인증기관(300)은 생성된 인증서 폐지 응답 메시지를 사용자의 인증서 관리 모듈에 전송한다.
(14) 인증서 관리 모듈(130)은 인증기관으로부터 수신한 인증서 폐지 응답 메시지를 안전한 저장소로 전달한다.
(15) 안전한 저장소(110)는 인증서 폐지 응답 메시지를 확인하고, 인증서 폐지 확인을 위한 결과를 생성 후 확인메시지 (conf, confirmation)를 생성한다.
Figure 112017082373364-pat00075
Figure 112017082373364-pat00076
Figure 112017082373364-pat00077
Figure 112017082373364-pat00078
(16) 안전한 저장소(110)는 인증서 폐지를 위한 확인메시지를 인증서 관리 모듈(130)로 전달한다.
(17) 인증서 관리 모듈(130)은 인증서 폐지를 위한 확인메시지를 인증기관(300)으로 전송한다.
(18) 인증기관(300)은 인증서 관리 모듈로부터 수신한 확인메시지를 복호화하여 송신자와 임의의 난수를 확인한다.
Figure 112017082373364-pat00079
Figure 112017082373364-pat00080
(14) 인증기관(300)은 인증서 폐지 확인 결과를 사용자의 인증서 관리 모듈(130)로 전송한다.
(15) 인증서 관리 모듈(130)은 서비스 어플리케이션(150)에 인증서 폐지 확인 결과를 전달한다.
4. 모바일 환경에서 인증서 이용 방법
4. 1. 인증서 등록 절차
본 발명의 실시예에 따르면, 웹 서비스 이용 시, 사용자의 공개키 정보를 최초 한번 등록함으로써 이후 별도의 정보 제출 없이도 사용자에 대한 식별 및 인증이 가능하며, 인증서 등록 절차는 도 9에 도시한 바와 같다.
(1) 서비스 어플리케이션(150)은 서비스 제공 서버와 안전한 통신을 위해 URL을 전달한다.
(2) 서비스 제공 서버(210)는 사용자가 웹 서비스의 회원임을 확인하기 위해 로그인 양식을 전송한다.
(3) 사용자(100)는 아이디와 패스워드를 입력하고, 서비스 제공 서버에 입력값을 전송한다.
(4) 서비스 제공 서버(210)는 사용자로부터 수신한 입력값을 확인한다.
(5) 서비스 제공 서버(210)는 FIDO 서버(220)에 UAF 등록 메시지를 요청한다.
Figure 112017082373364-pat00081
(6) FIDO 서버(220)는 UAF 등록 요청 메시지를 전달한다.
Figure 112017082373364-pat00082
(7) 서비스 제공 서버(210)는 FIDO 서버(220)로부터 수신한 UAF 등록 요청 메시지를 사용자의 서비스 어플리케이션(150)에 전송한다.
(8) 서비스 어플리케이션(150)은 서비스 제공 서버로부터 수신한 UAF 등록 요청메시지와 함께 사용자의 아이디와 어플리케이션의 아이디를 FIDO 클라이언트(140)로 전달한다.
Figure 112017082373364-pat00083
(9) FIDO 클라이언트(140)는 서비스 제공 서버(210)에 어플리케이션 아이디에 해당하는 바이오인식장치 목록을 요청한다.
Figure 112017082373364-pat00084
(10) 서비스 제공 서버(210)는 수신한 어플리케이션 아이디를 통해 사용자가 이용 가능한 바이오인식장치 목록을 임의의 난수와 함께 FIDO 클라이언트(140)로 전송한다.
Figure 112017082373364-pat00085
(11) FIDO 클라이언트(140)는 서비스 제공 서버(210)로부터 전달받은 바이오인식 장치 목록 중 지문인식장치를 선택하고, 인증서 등록을 위한 값을 전달한다.
Figure 112017082373364-pat00086
(12) 지문인식장치(120)는 서비스 어플리케이션에 인증서 목록과 바이오정보 요청 메시지(br, bio information request를 전달한다.
Figure 112017082373364-pat00087
(13) 사용자(100)는 등록할 인증서를 선택하고 지문을 인식하여 지문인식장치(120)에 바이오정보 응답 메시지(bp, bio information response)를 전달한다.
Figure 112017082373364-pat00088
(14) 지문인식장치(120)는 서비스 어플리케이션(150)으로부터 수신한 인증서와 바이오템플릿으로 바이오키를 생성한다.
Figure 112017082373364-pat00089
Figure 112017082373364-pat00090
(15) 지문인식장치(120)는 인증서 등록을 위해 필요한 값을 안전한 저장소에 전달한다.
Figure 112017082373364-pat00091
(16) 안전한 저장소(110)는 인증서 등록을 위해 KRD 객체를 생성한다.
Figure 112017082373364-pat00092
Figure 112017082373364-pat00093
Figure 112017082373364-pat00094
(17) 안전한 저장소(110)는 KRD 객체를 지문인식장치(120)에 전달한다.
(18) 지문인식장치(120)는 FIDO 클라이언트(140)에 KRD와 등록할 인증서를 전달 한다.
Figure 112017082373364-pat00095
(19) FIDO 클라이언트(140)는 UAF 등록 응답메시지를 서비스 어플리케이션(150)에 전달한다.
Figure 112017082373364-pat00096
(20) 서비스 어플리케이션(150)은 UAF 등록 응답 메시지를 서비스 제공 서버에 전송한다.
(21) 서비스 제공 서버(210)는 UAF 등록 응답 메시지를 FIDO 서버(220)에 전달한다.
(22) FIDO 서버(220)는 인증기관(300)에 사용자의 인증서에 대한 유효성 검증을 요청한다.
(23) 인증기관(300)은 사용자 인증서의 유효성을 검증하고 결과를 FIDO 서버(220)로 전송한다.
(24) FIDO 서버(220)는 KRD를 확인하고 사용자의 공개키를 등록한다.
Figure 112017082373364-pat00097
Figure 112017082373364-pat00098
(25) FIDO 서버(220)는 사용자 공개키 등록 결과를 서비스 제공 서버(210)에 전달한다.
(26) 서비스 제공 서버(210)는 서비스 어플리케이션(150)에 사용자 등록 결과를 전달한다.
도 11은 본 발명의 실시예에 따른 서비스 구성요소를 나타내는 블록도로서, 전술한 모바일의 예 뿐 아니라 OS에서 FIDO를 이용하여 공인인증서를 안전하게 이용할 수 있도록 하는 연계 방안에 따라 구축된 시스템이다.
도 11에 도시된 바와 같이, 클라이언트(유저 디바이스)의 normal world, 즉 일반 실행환경(REE)에서는 PC 브라우저 또는 모바일의 앱이 구동되고, secure world, 즉 보안실행환경(TEE)에는 FIDO 클라이언트, ASM, FIDO Authenticator, PKI Library, PKI 안전 저장소가 포함된다. FIDO 클라이언트는 보안실행환경뿐 아니라 일반실행환경에서도 실행 가능하다.
또한, 서버(서비스 제공 서버, Relying Party)는 PKI 서버와 FIDO 서버를 포함하고, 인증기관(CA)는 external PKI service 서버 및 FIDO metadata service 서버를 포함한다.
도 12는 본 발명의 실시예에 따른 FIDO 등록 및 공인인증서 발급 절차를 나타내는 도면이다.
클라이언트는 이름, 주민등록번호, 계좌번호, 계좌비밀번호 등을 포함하여 가입자 인증 요청을 전송한다.
서비스 제공 서버는 가입자를 확인하고, 클라이언트로 FIDO 등록 요청을 전송한다.
클라이언트에서는 생체 정보(예: 홍채, 지문 등)이 등록되고, FIDO 클라이언트에서 FIDO 키 쌍이 생성되며, 전자서명값(Attestation)이 생성되어, FIDO 등록 응답(공개키, 전자서명값)을 전송한다.
서비스 제공 서버는 FIDO 등록 응답을 수신하여 전자서명값을 검증하고, FIDO 공개키를 등록하며, 공인인증서 발급정보를 요청한다(CA 인증서).
클라이언트에서는 생체 인증을 수행하고, PKI 라이브러리에서 공인인증서 키쌍을 생성하고, R, EVID(주민번호를 암호화한 값)을 생성하고, POP 전자서명 후 공인인증서 발급 요청을 전송한다.
이 때, 공인인증서 발급 요청에는 참조번호, POP 전자서명값, EVID가 포함된다.
서비스 제공 서버는 POP 전자서명을 검증하여, 공인인증서를 발급하여 발급응답하고, 클라이언트는 공인인증서를 저장하고 그에 대한 발급 확인을 요청한다.
서비스 제공 서버는 공인인증서 발급 확인 요청을 수신하여, FIDO 등록 완료에 대한 알림을 클라이언트로 전송한다.
도 13을 참조하면, 사용자는 URL을 클릭 또는 입력하면, 사용자 에이전트는 RP 서버(서비스 제공 서버)로부터 로그인 양식을 수신하고, 이를 사용자에게 전송한다.
사용자로부터 이름, 패스워드 등에 대한 제출요청이 있으면, 사용자 에이전트는 이를 RP 서버로 전달하고, RP 서버는 사용자 이름과 패스워드에 대한 검증을 수행하고, UAF 등록 절차 개시 요청을 FIDO 서버로 전송한다.
FIDO 서버는 UAF 등록 요청 메시지를 전달하고, RP서버는 이를 사용자 에이전트로 전달하며, FIDO 클라이언트는 수신한 사용자의 아이디 및 애플리케이션의 아이디를 수신하여, 바이오인식장치 목록을 요청한다.
RP서버로부터 바이오인식장치 목록이 회신되면, FIDO 클리아언트는 예컨대 지문인식 장치로 인증서 등록을 위한 값을 전달하고, 지문인식 장치는 KH access token을 생성한다.
사용자는 생체 정보 인식(예컨대 음성 인식, 홍채 인식, 본 설명에 따른 지문 인식 등)을 수행하고, 지문인식장치는 인식된 생체 정보를 FIDO 클라이언트로 전달한다.
FIDO 클라이언트는 사용자 에이전트로 UAF 등록요청에 대한 응답을 전송하고, 이는 RP 서버로 전달된다.
RP 서버로부터 UAF 등록에 대한 응답을 전달 받은 FIDO 서버는 유효성 검증 결과를 RP 서버로 전달하고, 사용자 에이전트는 PKI 라이브러리로 인증서 발급 요청을 전송한다.
PKI 라이브러리로부터 사용자 인증 요청을 수신한 authenticator는 사용자에게 사용자 인증을 요청하고, 그 인증 결과를 PKI 라이브러리로 전송한다.
PKI 라이브러리는 초기화 요청 메시지를 PKI 서버로 전송하고, PKI 서버로부터 초기화 응답 메시지를 수신하여 키쌍을 생성한다.
PKI 라이브러리는 IR 메시지(초기화요청메시지)를PKI 서버로 전송하여, POP 검증 및 인증서 생성이 수행되고, IP(초기화응답메시지)메시지를 수신한다.
PKI 라이브러리는 PKI 스토리지로 인증서와 개인키에 대한 저장을 요청하고, PKI 스토리지는 인증서와 개인키를 저장하고, 그 저장 결과를 PKI 라이브러리로 전송한다.
PKI 라이브러리는 결과값을 공개키로 암호화해 확인 메시지를 생성하여 전송하고, PKI 서버는 인증서 게시 후 공인인증서 발급 완료를 PKI 라이브러리로 통지하며, 발급 완료 통지는 사용자 에이전트로 전달된다.
4.2. 인증 및 전자서명 절차
본 발명의 실시예에 따른 인증 및 전자서명 절차는 도 10에 도시한 바와 같으며, 자금이체, 카드결제, 약관동의 등 웹 서비스 이용 시 사용자의 전자서명이 필요한 경우, 사용자가 등록한 인증서와 일치하는 개인키로 메시지에 대한 전자서명을 수행한다.
전자서명을 위한 사용자의 개인키는 모바일 내 안전한 저장소에 보관되며, 메시지에 대한 위변조 방지를 위해 보안실행환경에서 접근 가능한 신뢰할 수 있는 어플리케이션에 의해 전자서명이 수행된다.
(1) 서비스 어플리케이션(150)은 안전한 통신을 위해 서비스 제공 서버에 URL 을 전달한다.
(2) 서비스 제공 서버(210)는 FIDO 서버(220)에 UAF 인증 요청 메시지를 요청한다.
Figure 112017082373364-pat00099
(3) FIDO 서버(220)는 UAF 인증 요청 메시지를 생성하여 서비스 제공 서버(210)에 전달한다.
Figure 112017082373364-pat00100
(4) 서비스 제공 서버(210)는 서비스 어플리케이션(150)에 UAF 인증 요청 메시지를 전송한다.
(5) 서비스 어플리케이션(150)은 UAF 인증 요청 메시지에 대한 응답을 FIDO 클라이언트(140)에 요청한다.
Figure 112017082373364-pat00101
(6) FIDO 클라이언트(140)는 서비스 제공 서버(210)에 사용가능한 인증장치 목록을 요청한다.
Figure 112017082373364-pat00102
(7) FIDO 클라이언트(140)는 서비스 제공서버(210)에 사용가능한 인증장치 목록과 임의의 난수를 전송한다.
Figure 112017082373364-pat00103
(8) FIDO 클라이언트(140)는 지문인식장치에 전달받은 전자서명 원문을 보내 전자서명을 요청한다.
Figure 112017082373364-pat00104
(9) 지문인식장치(120)는 사용자에게 지문 입력(br, bio information request)을 요청한다.
(10) 사용자는 사전에 등록한 지문을 인식시키고 지문인식장치(120)에 지문 응답 메 지 (bp, bio inforamtion response)를 전달한다.
(11) 지문인식장치(120)는 안전한 저장소(110)에 서명을 요청하기 위해 바이오키를 생성한다.
Figure 112017082373364-pat00105
Figure 112017082373364-pat00106
(12) 지문인식장치(120)는 안전한 저장소(110)에 전자서명 원문과 기타 정보를 전달하고 서명을 요청한다.
Figure 112017082373364-pat00107
(13) 안전한 저장소(110)는 수신한 정보를 통해 전자서명문을 생성한다.
Figure 112017082373364-pat00108
Figure 112017082373364-pat00109
Figure 112017082373364-pat00110
(14) 안전한 저장소(110)는 생성한 SD 객체를 지문인식장치(120)에 전달한다.
(15) 지문인식장치(120)는 전자서명 원문과 사용자의 인증서 그리고 SD 객체를 FIDO 클라이언트(140)에 전달한다.
Figure 112017082373364-pat00111
(16) FIDO 클라이언트(140)는 UAF 인증 응답 메시지를 생성하여 서비스 어플리케이션(150)에 전달한다.
Figure 112017082373364-pat00112
(17) 서비스 어플리케이션(150)은 UAF 인증 응답 메시지를 서비스 제공 서버(210)에 전달한다.
(18) 서비스 제공 서버(210)는 FIDO 서버(220)에 UAF 인증 응답 메시지를 전달한다.
(19) FIDO 서버(220)는 인증기관(300)에 사용자의 인증서에 대한 유효성 검증을 요청한다.
(20) 인증기관(300)은 인증서 유효성 검증 결과를 FIDO 서버(220)로 전송한다.
(21) FIDO 서버(220)는 전자서명문을 등록된 사용자의 공개키로 검증한다.
Figure 112017082373364-pat00113
Figure 112017082373364-pat00114
(22) FIDO 서버(220)는 전자서명 검증 결과를 서비스 제공 서버(210)에 전달한다.
(23) 서비스 제공 서버(210)는 전자서명 검증 결과를 서비스 어플리케이션(150)에 전달한다.
도 14는 본 발명의 실시예에 따른 FIDO 인증 및 공인전자서명 절차를 나타태는 도면이다.
클라이언트가 서비스 제공 서버로 가입자 인증을 요청하는 경우(예: 앱실 행 후 계좌 조회 또는 이체 실행 요청), 서비스 제공 서버는 FIDO 인증 요청을 클라이언트로 전송한다.
클라이언트는 생체정보 인증 후 FIDO 인증 응답을 서비스 제공 서버로 전송하고, 서비스 제공 서버는 FIDO에 대한 인증을 검증하여 전자서명 원문을 전달한다.
사용자의 생체 정보는 생체정보 인증에서 입력되었으므로, 2차적으로 공인전자서명 생성 전 생체정보 인증을 이루어지나, 사용자의 능동적인 생체정보 인식이 재수행되지는 아니한다.
클라이언트로부터 공인전자서명을 전달받은 서비스 제공 서버는 공인인증서에 대한 유효성과 공인전자서명을 검증하여, 그 서명 확인 결과를 클라이언트로 전송한다.
도 15를 참조하면, 사용자는 웹 브라우저 또는 애플리케이션을 통해 실행 요청을 전송하고, 사용자 에이전트는 PKI 스토리지로 인증서 리스트를 요청하여 수신한다.
사용자 에이전트에서는 인증서 리스트를 디스플레이하여 인증서 선택 요청을 사용자에게 전송한다.
사용자로부터 선택된 인증서는 사용자 에이전트에 임시저장되고, 사용자 에이전트는 RP 서버를 통해 FIDO 서버로 UAF 인증을 요청한다.
FIDO 서버는 UAF 인증 요청 메시지를 수신하고, FIDO 클라이언트는 사용 가능한 인증 장치 목록을 RP 서버에 요청하고, FIDO 클라이언트는 ASM/Authenticator로 전자서명을 요청한다.
지문 인식 장치는 사용자에게 지문 입력을 요청하고, 지문 인식 후 지문 응답 메시지를 전송한다.
FIDO 클라이언트는 sign data를 포함하는 UAF 인증 응답 메시지를 생성하여 사용자 에이전트에 전달하고, 이는 RP 서버로 전달된다.
RP 서버는 FIDO 서버에 UAF 인증 응답 메시지를 전달하여 유효성 검증을 요청하고, FIDO 서버는 검증 결과를 RP 서버로 전송한다.
RP 서버는 전자서명 검증 결과를 사용자 에이전트에 전송하고, 사용자 에이전트는 PKI 라이브러리로 전자서명을 요청한다.
PKI 라이브러리는 PKI 스토리지에 인증서/개인키를 요청하여 수신하고, 전자서명문을 생성하여 사용자 에이전트로 전송한다.
사용자 에이전트는 전자서명에 대한 검증 요청을 전송하고, 전자서명 검증 결과를 수신한다.
이하에서는 종래 기술에 따른 패스워드 방식과 본 발명의 실시예에 따른 안전한 전자서명 방식에 대한 보안성 및 성능을 비교 분석한 결과를 상세히 설명하기로 한다.
5. 보안성 및 성능 비교 대상
5. 1. 비교 대상 정의
보안성 분석은 공개키 암호 표준 PKCS#5, PKCS#8에 따라 개인키를 암호화하는데 있어 가장 중요한 입력 정보의 경우의 수, 엔트로피를 분석하고, 암호화된 개인키의 암호화 연산량 분석을 통해 슈퍼컴퓨터의 성능으로 복호화하는데 걸리는 소요시간을 측정한다.
아래 [표 3]은 보안성 분석을 위한 비교 분석 대상을 나타낸다.
구분 패스워드 방식 안전한 전자서명 방식
입력 정보 10자리 문자정보 56개의 지문 특징정보
상세 입력값 영문 대문자(A~Z)
영문 소문자(a~z)
숫자(0~9)
특수문자
특징점의 특성
지문이미지의 좌표
특징점의 각도
특징점의 신뢰도
개인키 암호화 알고리즘 PKCS#5, PKCS#8 PKCS#5, PKCS#8
암호화된 개인키의 저장장소 NPKI 폴더
USB 저장소
보안토큰
웹브라우저 저장소 등
스마트폰 내 안전한 저장 공간
5. 2. 보안성 및 성능 비교 분석
5. 2. 1. 보안성 비교 분석
사용자가 입력한 패스워드로 개인키를 암호화하는 방식과 사용자 지문의 특징 정보를 통해 개인키를 암호화하는 방식의 엔트로피를 분석한다.
엔트로피란 정보에 대한 무질서, 난수성 또는 가변성의 척도로서, 정보의 불확실성 혹은 정보량을 의미한다.
엔트로피 분석은 암호화된 개인키를 무작위공격, 사전공격 등의 공격기법으로 전자서명을 하기 위해 시도되는 정보량을 의미하므로 중요한 지표이다.
아래 [표 4]는 엔트로피를 통한 보안성 분석 결과를 나타낸다.
구분 패스워드 방식 안전한 전자서명 방식
입력 정보 10자리 문자정보 56개의 지문 특징정보
상세 입력정보 영문 대문자(A~Z)
영문 소문자(a~z)
숫자(0~9)
특수문자
특징점의 특성
지문이미지의 좌표
특징점의 각도
특징점의 신뢰도
입력 정보에 대한 경우의 수 92가지 38가지
입력 정보의 길이 10 56
경우의 수 9210 3856
엔트로피 65.2356비트 1,480.531752비트
1) 기존 패스워드 방식의 엔트로피 분석
패스워드로 사용 가능한 문자는 숫자(0~9), 영문 대문자(A~Z), 영문 소문자(a~z), 특수문자로서 총 92가지이다.
만약 네 가지 종류의 문자 구성으로 10자리 길이로 구성된 문자열을 패스워드로 사용한다면, 패스워드에 대해 가능한 경우의 수는 9210 = 43,438,845,422,363,213,824가지이다.
즉, 네 가지 종류의 문자 구성으로 10자리 길이로 구성된 문자열을 패스워드로 사용하면, 패스워드에 대한 엔트로피는 약 65.2356 비트임을 확인할 수 있다.
PKCS#5의 PBKDF2 에서 PRF(Pseudorandom function) 로 SHA-256을 사용한다고 가정하고, 네 가지 종류의 문자 구성으로 10자리 길이로 구성된 문자열을 패스워드로 하여 PBKDF2에 입력한다고 가정하면 패스워드의 엔트로피가 약 65.2356 비트이기 때문에, SHA-256의 출력에 대한 최대 엔트로피는 약 65.2356 비트이다.
따라서 PBKDF2 에서 SHA-256을 이용하여 개인키 암호화에 사용될 키를 생성하였어도, 키에 대한 최대 엔트로피는 256 비트가 아니라 약 65.2356 비트이다. 따라서 암호화된 개인키에 대한 최대 엔트로피도 약 65.2356 비트이다.
2) 안전한 전자서명 방식의 엔트로피 분석
지문 정보를 저장할 때, 지문의 특징점에 대한 정보뿐 아니라 지문인식 시스템과 관련된 여러 정보들도 같이 저장한다. 저장정보 중 지문에 따라 값이 바뀌는 정보들은 특징 점의 유형, 특징 점의 각도, 특징점 의 x, y 좌표 이다. 이러한 정보들 이외의 정보들은 지문인식 시스템에 따라 값이 고정된다.
가) 특징점의 유형에 따른 엔트로피 분석
특징점 유형은 3가지 값(0x0, 1, 2)으로 결정된다. 그리고 특징점을 분류할 때, 특징점이 '기타'인 경우에 대한 발생 확률이 매우 낮기 때문에 특징점을 크게 '융선의 끝점'과 '융선의 분기점'으로만 분류한다.
이를 고려하여 특징점 유형에 대한 엔트로피 값을 계산하기 위해, 특징점이 '기타'일 확률은 1/100, 특징점이 '융선의 끝점'일 확률은49/100, 특징점 이 '융선의 분기점'일 확률은 50/100으로 가정한다.
이로부터 특징점 유형에 대한 엔트로피는 다음 [수학식 1]과 같이 계산되며, 특징점의 유형에 대한 엔트로피는 약 1.0707 비트임을 확인할 수 있다.
Figure 112017082373364-pat00115
나) 특징점의 각도에 따른 엔트로피 분석
지문 이 미지 의 각 픽 셀 좌표에서 전체 각도 2ㅠ에 대해 특징점의 각도가 될 수 있는 부분의 각도 Θ를 구하여 특징점의 각도에 대 한 엔트로피 8Θ/2ㅠ 비트를 계산하였다.
그리고 특징점 이 존재 가능한 좌표들에 대해 엔트로피를 모두 더하고, 엔트로피의 총합을 특징점이 존재 가능한 좌표들의 수로 나누어, 특징점의 각도에 대한 평균 엔트로피 값을 계산하였다.
계산의 편의를 위하여 지문 이미지를 도 16과 같이 분할하였다.
도 16은 지문 이미지의 왼쪽 윗부분에 해당하며, 전체 지문 이미지의 1/4부분이다.
특징점의 각도에 따른 엔트로피 를 계산하기 쉽도록 지문 이미지를 A, B, ..., F로 분할하였다.
분할 영역은 측정 가능한 특징점 각도에 대한 범위와 측정 가능한 특징점의 각도 외에 특징점의 각도가 될 수 있는 범위, 그리고 특징점의 각도가 될 수 있는 부분 간에 서로 간섭을 일으키는지에 대한 여부에 따라 나누었다.
각 영역별 엔트로피 값을 이용하여 특징점의 각도가 갖는 엔트로피
Figure 112017082373364-pat00116
을 계산할 수 있다.
따라서 특징점의 각도를 저장하기 위한 8비트 정보에 대한 엔트로피는 7.400487 비트가 된다.
다) 특징점의 x, y 좌표에 따른 엔트로피 분석
특징점의 각도에 따른 엔트로피를 적분하기 쉽도록 지문 이미지를 A, B, B', C, D로 분할하였고, 분할 영역은 측정 가능한 특징점의 각의 크기에 따라 나누었다.
A: 특징점 의 모든 각도를 측정 가능한 영역
B: 지문 이미지의 x 축에 의해 잘린 특징점이 중심인 원의 호에 대해서 특징점의 각도가 측정이 불가능한 영역
B': 지문 이미지의 y 축에 의해 잘린 특징점이 중심인 원의 호에 대해서 특징점 의 각도가 측정이 불가능한 영역
C: 지문 이미지의 x, y 축에 의해 잘린 특징점이 중심인 원의 호에 대해서 특징점의 각도가 측정이 불가능한 영역
D: 지문 이미지의 x와 y 축에 의해 잘린 특징점이 중심인 원의 두 개의 호에 대해서 특징점의 각도가 측정이 불가능한 영역
이러한 방법으로 계산한 값들은 다음과 같다.
A의 각 좌표에서 가능한 각도의 합
Figure 112017082373364-pat00117
B의 각 좌표에서 가능한 각도의 합
Figure 112017082373364-pat00118
B'의 각 좌표에서 가능한 각도의 합
Figure 112017082373364-pat00119
C의 각 좌표에서 가능한 각도의 합
Figure 112017082373364-pat00120
D의 각 좌표에서 가능한 각도의 합
Figure 112017082373364-pat00121
따라서 T=A+B+B'+C+D=377946.685가 되고, T를 이용해 A, B, B', C, D에서의 좌표 엔트로피를 계산하면 다음과 같다.
A에서 좌표 엔트로피의 합
Figure 112017082373364-pat00122
B에서 좌표 엔트로피의 합
Figure 112017082373364-pat00123
B'에서 좌표 엔트로피의 합
Figure 112017082373364-pat00124
C에서 좌표 엔트로피의 합
Figure 112017082373364-pat00125
D에서 좌표 엔트로피의 합
Figure 112017082373364-pat00126
Figure 112017082373364-pat00127
따라서 지문 이미지에서 좌표를 표현하는데 필요한 엔트로피는 4 (3.72788 + 0.36488 x 2 + 0.02393 + 0.01014) = 17.96688 이 된다.
위의 모든 과정을 고려하여, 하나의 특징점이 갖는 엔트로피는 약 26.438067 비트가 되고, 본 발명의 실시예에 따르면 56개의 특징점을 추출하고 있으므로 약 1,480.531752 비트의 엔트로피를 갖는다.
5. 2. 2. 성능 비교 분석
이하에서는 PKCS#5의 PBKDF2에서 PRF로 SHA-256을 이용하고, 기존 패스워드 방식과 안전한 전자서명 방식을 이용하여 생성된 값을 PBKDF2 에 입력하여 유도된 키에 대해 무작위공격을 적용하여, PBKDF2로 유도된 키를 생성하는데 사용된 패스워드 흑인 지문의 특징 정보를 복구하는데 필요한 시간을 분석한 결과를 설명한다.
무작위 공격에 대한 성능 비교 분석 결과는 아래 [표 5]와 같다.
구분 패스워드 방식 안전한 전자서명 방식
SHA-256 입력 22바이트 44바이트
처리 메시지 64바이트 64바이트
SHA-256 1회 수행시간 2,2326.72lops 4,653.4Flops
SHA-256 수행 횟수 1,000회 1,000회
SHA-256 999회 수행시간 4,439,804.8Flops 6,783,316.96Flops
엔트로피 65.2456비트 1,480.531752비트
암호화 연산량 265.2356 2256
무작위 공격 소요시간 180.60년 2198.87
무작위공격은 현재까지 알려진 가장 성능이 좋은 슈퍼컴퓨터 (Tianhe-2)를 사용하였다. 슈퍼컴퓨터의 성능은 [표 6]과 같다.
구분 상세 성능
Core 3,120,000
Linpack Performance 33,862.7 TFlop/s
Theoretical Peak 54,902.4 TFlop/s
Nmax 9,960,000
Memory 1,024,000 GB
Processor Intel Xeon E5-2692v2 12C 2.2GHz
1) 기존 패스워드 방식에 대한 무작위공격 성능 분석
패스워드로 사용 가능한 문자는 숫자(0~9), 영문 대문자(A~Z), 영문 소문자 (a~z), 특수문자(', ",\, I 제외)로서 총 92가지이다.
이러한 네 가지 종류의 문자 구성으로 10자리 길이로 구성된 문자열을 PKCS#5의 PBKDF2에 입력할 패스워드로 사용한다.
슈퍼컴퓨터의 속도는 33,862,700,000,000,000 Flops/s이고, SHA-256의 속도는 64바이트 메시지에 대하여 26.44 cycles/byte이다. 패스워드로 사용되는 문자들은 아스키코드로서 각 8비트길이이다.
10자리 길이로 구성된 문자열을 패스워드로 사용하므로, SHA-256에는 8 바이트 Salt와 4바이트 정수 1을 포함하여 총 22바이트가 입력된다.
따라서 이러한 패스워드를 SHA-256이 처리하는데 64 바이트 메시지에 대한 SHA-256의 속도 26.44 cycles/byte를 적용하면, (26.44 cycles/byte) x(22 bytes) = 581.68 cycles이 필요하다.
1 clock cycle당 4 Flops를 수행할 수 있으므로, 22 바이트가 입력된 SHA-256의 1회 수행 시간을 Flop단위로 표현하면 2,326.72 Flops이다.
PKCS#5의 PBKDF2에서는 SHA-256을 1,000회 수행해야 하는데, 패스워드와 SHA-256의 출력을 연접하여 다시 SHA-256에 입력하는 것을 반복 수행한다.
따라서 SHA-256이 반복 수행되는 경우에는 SHA-256에 42 바이트가 입력된다.
이러한 입력을 SHA-256이 처리하는데 64 바이트 메시지에 대한 SHA-256의 속도 26.44 cycles/byte를 적용하면, (26.44 cycles/byte)x(42 bytes) = 1,110.48 cycles이 필요하다.
1 clock cycle 당 4 Flops를 수행할 수 있으므로, SHA-256의 1회 수행 시간을 Flop 단위로 표현하면 4,441.92 Flops이다.
이로부터 PKCS#5의 PBKDF2에서 SHA-256을 1,000회 수행하는데 필요한 시간은 (2,326.72+4,441.92x999) = 4,439,804.8 Flops 이다.
이로부터 슈퍼컴퓨터 (Tianhe-2)로 PKCS#5의 PBKDF2를 1초당 약 7,627,069,550(= 33,862,700,000,000,000 / 4,439,804.8) 회 수행 할 수 있다는 것을 계산할 수 있다.
패스워드에 대한 엔트로피는 약 65.2356 비트이므로, 무작위 공격을 위해 265,2356회의 암호화가 필요하다.
이를 슈퍼컴퓨터로 수행하면, 약5,695,274,729 초의 시간이 필요하다는 것을 계산할 수 있고, 이는 약 180.60 년의 시간이다.
2) 안전한 전자서명 방식에 대한 무작위공격 성능 분석
본 발명의 실시예에 따르면 바이오정보를 이용한 개인키 암호화 방식에서는 바이오정보헤더(16바이트), 바이오정보(280바이트), 서명정보(24바이트)로 구성된다.
이렇게 구성된 320 바이트의 정보에 대한 SHA-256의 해시값을 PKCS#5의 PBKDF2에 입력할 패스워드로 사용한다.
슈퍼컴퓨터의 속도는 33,862,700,000,000,000 Flops/s이고, SHA-256의 속도는 64 바이트 메시지에 대하여 26.44 cycles/byte, 576바이트 메시지에 대하여 13.16 cycles/byte 이다.
패스워드로 사용될 값은, 320 바이트의 바이오 정보에 대한 SHA-256의 해시 값이므로 32 바이트이다.
우선 이러한 패스워드를 계산하기 위해, 576 바이트 메시지에 대한 SHA-256의 속도인 13.16 cycles/byte를 적용하면, (13.16 cycles/byte)x(319 bytes) = 4,198.04 cycles이 필요하고, 이는 16,792.16 Flops이다.
PKCS#5의 PBKDF2 에서는 SHA-256을 1,000회 수행해야 하는데, 패스워드와 SHA-256의 출력을 연접하여 다시 SHA-256에 입력하는 것을 반복 수행한다.
PBKDF2에서 제일 처음에는 SHA-256 패스워드 32 바이트와 8 바이트 Salt, 4 바이트 정수 1이 입력된다.
이러한 44 바이트 입력을 SHA-256이 처리하는데, 64 바이트 메시지에 대한 SHA-256의 속도 26.44 cycles/byte를 적용하면 (26.44 cycles/byte)x(44 bytes) = 1,163.36 cycles이 필요하고, 이는 4,6533.44 Flops이다.
PBKDF2에서 나머지 999회의 SHA-256을 반복 수행하는 동안에 입력되는 메시지의 길이는 패스워드 32 바이트와 이전의 출력 32 바이트이므로 64바이트가 된다.
64바이트 메시지에 대한 SHA-256의 속도 26.44 cycles/byte를 적용하면,(26.44 cycles/byte) x(64 bytes) = 1,692.16 cycles 이필요하고,이는 6,768.64 Flops이다.
따라서 키가 유도되는데 필요한 시간은6,783,316.96 Flops이다.
이로부터 슈퍼컴퓨터로 PKCS#5의 PBKDF2를 1초당 약 4,992,056,276회 수행할 수 있다는 것을 계산할 수 있다.
지문의 특징점 1개에 대한 엔트로피는 약 26.438067 비트이며, 320 바이트의 바이오정보에 56개의 특징점에 대한 정보가 포함되어 있다면, 바이오정보에 대한 엔트로피는 약 1,480.531752이다.
이것은 키의 길이 256 비트보다 길기 때문에 키가 256 비트의 엔트로피를 갖는다고 기대할 수 있다.
따라서 이 바이오 정보를 이용하여 만든 패스워드에 대해서 무작위 공격을 위해 2256회의 암호화가 필요하다.
이를 슈퍼컴퓨터(Tianhe-2)로 수행하면, 약 2223.78 초(2256 + 4,992,056,276)의 시간이 필요하다는 것을 계산할 수 있고, 이는 약 2198.87 년의 시간이 소모됨을 알 수 있다.
5.3 보안성 및 성능 비교 분석 결과
본 발명의 실시예에 따르면 기존 패스워드 방식의 개인키 암호화 기법의 문제점을 개선 하기 위해 지문의 특징점 정보를 이용한 개인키 암호화 기법을 제안하였다.
그리고 패스워드 방식과 제안 방식의 입력값에 대한 경우의 수, 엔트로피를 분석하고, 암호화된 개인키의 암호화 연산량 분석을 통해 슈퍼컴퓨터의 성능으로 복호화하는데 걸리는 소요 시간을 측정하였다.
성능 분석 결과, 본 발명의 실시예에 따르면 패스워드 방식에 비해 엔트로피가 약 22.7배 높게 나왔으며, 슈퍼컴퓨터로 암호화된 개인키를 복호화하는데 패스워드 방식은 약 180년이 소요되고, 제안 방식은 암호화된 개인키를 복호화하는 것이 거의 불가능한 것(약 2198년)으로 분석되었다.
구분 패스워드 방식 제안 방식
입력값 10자리 문자열
(영문대문자, 영문소문자, 숫자, 특수문자)
56개의 지문 특징정보(특징점 유형, 각도, 지문이미지 좌표)
경우의 수 9210
(특수문자 4개 제외)
3856
(특징점 유형 2비트, 특징점 각도 8비트, 지문이미지 좌표 28비트)
엔트로피 분석 65.2456비트 1,480.531752비트
※56개의 특징점 * 1개의 특징점 엔트로피(26.438067)
암호화 연산량 265.2356 2256
무작위 공격 소요시간 180.60년 2198.87
이제까지 본 발명의 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (16)

  1. 가입자 정보를 전송하여 가입자 인증을 수행하고, FIDO 등록 요청에 따라 생체 정보를 등록받아 FIDO 키쌍을 생성하며, 공인인증서 발급 요청에 따라 생체 인증을 통해 공인인증서 키쌍을 생성하는 클라이언트; 및
    상기 가입자 인증 요청을 수신하고 가입자를 확인하여 상기 FIDO 등록 요청을 전송하고, 상기 공인인증서 발급 요청에 따라 공인인증서 발급 응답을 전송하는 서비스 제공 서버를 포함하고,
    상기 클라이언트에는 일반실행환경의 서비스 어플리케이션과 보안실행환경의 서비스 어플리케이션이 하나의 쌍으로 설치되는 것
    인 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 클라이언트는 저장부 및 생체정보 인식부에 공인인증서 및 개인키를 저장하여, 보안실행환경의 서비스 어플리케이션에 대한 접근 제어를 수행하는 것
    인 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  4. 제1항에 있어서,
    상기 클라이언트는 생체 정보로 입력되는 지문의 특징점 정보를 추출하고, 바이오템플릿을 저장부에 저장시키는 것
    인 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  5. 제1항에 있어서,
    상기 클라이언트는 사용자의 생체 정보와 기등록된 생체 정보를 비교하여 정당한 사용자인 것으로 확인된 경우, 기등록된 생체 정보를 해시하여 바이오키를 생성하는 것
    인 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  6. 제1항에 있어서,
    생체 정보 인증에 따른 로컬 인증 후, 전자서명생성정보 암호화/복호화용 키를 생성하거나, 암호화/복호화/서명을 수행하는 객체를 이용하는 것
    을 특징으로 하는 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  7. 제1항에 있어서,
    상기 가입자의 생체 정보를 통해 생성한 바이오키를 전자서명생성정보 암호로 사용하며, 그 암호화 방법은 PKCS #5 또는 PKCS #8에서 정의되는 암호화 기법에 따르는 것
    을 특징으로 하는 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  8. 제1항에 있어서,
    복수의 인증수단을 통해 생성된 복수의 생체 정보 기반 비밀번호를 통해, 전자서명생성정보 암호화를 확장하는 것
    을 특징으로 하는 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  9. 제1항에 있어서,
    공인인증서 비밀번호, 금융거래 카드, 생체정보 인식을 조합하여 전자서명생성정보를 암호화하는 것
    을 특징으로 하는 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  10. 제1항에 있어서,
    상기 클라이언트는 인증기관으로부터 수신한 인증서 응답 메시지를 사용자의 개인키로 복호화하는 것
    인 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  11. 제1항에 있어서,
    상기 클라이언트는 인증서의 인덱스 번호를 부여하고, 이와 함께 기등록된 생체정보를 저장하는 것
    인 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  12. 제1항에 있어서,
    상기 클라이언트는 인증서 갱신 발급이 선택되는 경우, 인증서 목록을 조회하여 갱신 대상 인증서를 선택하고, 사용자로부터 입력된 생체정보와 기등록된 생체정보를 비교하여 정당한 사용자로 확인한 경우 갱신 요청 메시지를 생성하여 인증 기관에 전송하는 것
    인 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  13. 제1항에 있어서,
    상기 클라이언트는 상기 서비스 제공 서버로부터 수신한 UAF 등록 요청 메시지와, 사용자 및 어플리케이션의 아이디를 수신하여 생체정보 인식 장치의 목록을 요청하고, 생체정보인식 장치를 선택하여 인증서 등록을 위한 값을 전달하는 FIDO 클라이언트를 포함하는 것
    인 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  14. 삭제
  15. 제1항에 있어서,
    상기 서비스 제공 서버는 UAF 등록 요청 메시지를 생성하여 상기 클라이언트의 서비스 어플리케이션으로 전송하고, 상기 클라이언트의 FIDO 클라이언트로부터 수신한 어플리케이션 아이디를 이용하여 사용자가 이용 가능한 생체정보 인식 장치의 목록을 임의의 난수와 함께 상기 FIDO 클라이언트로 전송하는 것
    인 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
  16. 제1항에 있어서,
    상기 서비스 제공 서버는 UAF 인증 요청 메시지를 생성하여, 그에 대한 응답을 상기 클라이언트에 포함되는 FIDO 클라이언트에 요청하고, 상기 FIDO 클라이언트의 요청에 따라 사용 가능한 인증장치 목록을 제공하며, UAF 인증 응답 메시지를 수신하면 인증기관으로 사용자의 인증서에 대한 유효성 검증을 요청하는 것
    인 바이오정보를 이용한 패스워드 없는 전자서명 시스템.
KR1020170107781A 2016-12-15 2017-08-25 바이오정보를 이용한 패스워드 없는 전자서명 시스템 KR101897715B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160171473 2016-12-15
KR1020160171473 2016-12-15

Publications (2)

Publication Number Publication Date
KR20180069669A KR20180069669A (ko) 2018-06-25
KR101897715B1 true KR101897715B1 (ko) 2018-10-29

Family

ID=62806412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170107781A KR101897715B1 (ko) 2016-12-15 2017-08-25 바이오정보를 이용한 패스워드 없는 전자서명 시스템

Country Status (1)

Country Link
KR (1) KR101897715B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210039735A (ko) 2019-10-02 2021-04-12 삼성에스디에스 주식회사 사용자 인증 방법 및 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102192477B1 (ko) * 2018-07-16 2020-12-18 (주)이더블유비엠 Fido 기반 인증 대용의 암묵인증방법, 시스템 및 프로그램
KR102547590B1 (ko) * 2018-11-12 2023-06-27 한국전자통신연구원 바이오 인증서를 이용하여 비대면으로 본인 확인을 수행하는 장치 및 방법
CN110032853A (zh) * 2019-04-15 2019-07-19 北京中电普华信息技术有限公司 一种双重认证的调整方法、系统、存储介质及电子设备
KR102068041B1 (ko) 2019-05-23 2020-01-20 주식회사 네오패드 유저 바이오 데이터를 이용한 유저 인증 및 서명 장치와 방법
KR20220126733A (ko) * 2019-11-20 2022-09-16 (주)이더블유비엠 Fido 기반 암묵인증방법, 시스템 및 프로그램
CN112035806B (zh) * 2020-07-21 2023-12-08 杜晓楠 区块链中基于指纹识别生成分布式身份的方法和计算机可读介质
KR102288445B1 (ko) * 2020-09-11 2021-08-11 스티븐 상근 오 단체용 인증모듈의 온보딩 방법, 장치 및 프로그램

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929488B1 (ko) 2009-02-20 2009-12-03 주식회사 한국무역정보통신 서버 기반의 전자서명 위임 시스템 및 방법
KR101690989B1 (ko) 2016-07-29 2017-01-02 한국스마트아이디 주식회사 Fido 인증모듈을 이용한 전자서명 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929488B1 (ko) 2009-02-20 2009-12-03 주식회사 한국무역정보통신 서버 기반의 전자서명 위임 시스템 및 방법
KR101690989B1 (ko) 2016-07-29 2017-01-02 한국스마트아이디 주식회사 Fido 인증모듈을 이용한 전자서명 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210039735A (ko) 2019-10-02 2021-04-12 삼성에스디에스 주식회사 사용자 인증 방법 및 장치

Also Published As

Publication number Publication date
KR20180069669A (ko) 2018-06-25

Similar Documents

Publication Publication Date Title
KR101897715B1 (ko) 바이오정보를 이용한 패스워드 없는 전자서명 시스템
US11824991B2 (en) Securing transactions with a blockchain network
KR100876003B1 (ko) 생체정보를 이용하는 사용자 인증방법
JP4460763B2 (ja) 生物測定データを用いた暗号キー発生法
KR101198120B1 (ko) 홍채정보를 이용한 양방향 상호 인증 전자금융거래시스템과 이에 따른 운영방법
US10848304B2 (en) Public-private key pair protected password manager
KR102514429B1 (ko) 생체인식 데이터 템플레이트의 업데이트
JP5710439B2 (ja) テンプレート配信型キャンセラブル生体認証システムおよびその方法
JP2008538146A (ja) バイオメトリック・テンプレートのプライバシー保護のためのアーキテクチャ
JPWO2007094165A1 (ja) 本人確認システムおよびプログラム、並びに、本人確認方法
KR102477000B1 (ko) 신뢰받는 키 서버
JP2008504595A (ja) 更新可能かつプライベートなバイオメトリクス
JP7259868B2 (ja) システムおよびクライアント
KR102578428B1 (ko) 생체 인식 템플릿 보호 키 업데이트
JP7231023B2 (ja) 照合システム、クライアントおよびサーバ
WO2021111824A1 (ja) 電子署名システム及び耐タンパ装置
CN111739200B (zh) 一种指纹电子锁的加密、解密认证方法和指纹电子锁
JP7302606B2 (ja) システムおよびサーバ
KR20200092950A (ko) 지문의 2단계 중앙 일치
KR101616795B1 (ko) Pki 기반의 개인키 파일 관리 방법 및 그 시스템
KR101868564B1 (ko) 사용자 본인 확인(identification) 등록과 로컬 인증을 연계한 사용자 인증 장치 및 방법
JP6701011B2 (ja) 端末登録方法、及び端末登録システム
JP2021111925A (ja) 電子署名システム
JP2006293473A (ja) 認証システム及び認証方法、端末装置及び認証装置
WO2022130528A1 (ja) 回復用検証システム、照合システム、回復用検証方法および非一時的なコンピュータ可読媒体

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant