KR101768063B1 - 다중 요소 임계 인증 방법 및 시스템 - Google Patents

다중 요소 임계 인증 방법 및 시스템 Download PDF

Info

Publication number
KR101768063B1
KR101768063B1 KR1020160022583A KR20160022583A KR101768063B1 KR 101768063 B1 KR101768063 B1 KR 101768063B1 KR 1020160022583 A KR1020160022583 A KR 1020160022583A KR 20160022583 A KR20160022583 A KR 20160022583A KR 101768063 B1 KR101768063 B1 KR 101768063B1
Authority
KR
South Korea
Prior art keywords
authentication
value
user device
elements
server
Prior art date
Application number
KR1020160022583A
Other languages
English (en)
Other versions
KR20160105718A (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 KR20160105718A publication Critical patent/KR20160105718A/ko
Application granted granted Critical
Publication of KR101768063B1 publication Critical patent/KR101768063B1/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
    • 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/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

인증 서버 및 사용자 장치를 포함하며, 다중 요소 임계 인증을 수행하는 인증 시스템에 있어서, 다중 요소 임계 인증을 수행하는 방법이 개시된다. 다중 요소 임계 인증 방법은 사용자 장치가 인증 서버로부터 제1 인증 요소 집합(w) 및 질의 값(m)에 대한 암호문을 수신하는 단계, 사용자 장치가 제2 인증 요소 집합(w')과 제1 인증 요소 집합(w)의 교집합의 개수가 임계 값(t)보다 크거나 같은지 확인하는 단계, 교집합의 개수가 임계 값(t)보다 크거나 같은 경우, 사용자 장치가 제2 인증 요소 집합(w')과 제1 인증 요소 집합(w)의 교집합에 속하는 인증 요소들로 구성된 제3 인증 요소 집합(S)을 선택하는 단계, 사용자 장치가 제3 인증 요소 집합에 속하는 각각의 인증 요소에 대응하는 입력값을 입력받는 단계, 사용자 장치가 복호화키를 생성하는 단계, 사용자 장치가 상기 복호화키를 이용하여 암호문을 복호화하고 응답값(m')을 획득하는 단계, 및 사용자 장치가 인증 서버에 상기 응답값(m')을 전송하는 단계를 포함한다.

Description

다중 요소 임계 인증 방법 및 시스템{METHOD AND SYSTEM OF THRESHOLD MULTI-FACTOR AUTHENTICATION}
본 발명의 개념에 따른 실시 예는 다중 요소 임계 인증 방법에 관한 것으로, 특히 현재 널리 사용되는 비밀번호, SMS, ARS, OTP 와 같은 다양한 인증 요소 중 임계값 이상의 요소를 만족할 시 인증이 완료되는 다중 요소 임계 인증 방법 및 장치에 관한 것이다.
뱅킹, 쇼핑 등 다양한 인터넷 서비스를 제공받기 위해서는 웹 사이트에 본인을 인증하는 절차를 수행해야 한다. 일반적으로 비밀번호 입력하여 인증을 완료하는 방식을 사용하고 있으나, 수시로 교체해야 하는 관리적 어려움을 수반하는 동시에, 추측(guessing), 엿보기(shoulder surfing), 악의적인 키 로그 툴, 피싱(phshing), 파밍(pharming) 등 다양한 위협에 노출되어 있다. 이러한 취약점을 보완하기 위하여 뱅킹과 같이 강력한 보안을 필요로 하는 곳에서는 이중-요소(two-factor) 인증 방법을 사용한다. 다중 요소(multi-factor) 인증이란 비밀번호와 같은 알고 있는 것(what you know), OTP 기기, 스마트폰과 같은 소유한 것(what you have), 지문, 홍채와 같은 사용자의 자체(what you are) 중 여러 요소를 인증에 사용하는 것을 말한다.
현재 금융권에서 사용하는 이중-요소 인증 방식은 각 인증 요소를 독립적으로 수행한다. 예를 들면, 패스워드 인증을 관리하는 알고리즘과 OTP 인증을 관리하는 알고리즘이 독립적으로 구현되어 있다. 각 알고리즘의 안전성이 이론적으로 증명되어도 이를 통합하는 과정에서 예상치 못한 새로운 보안 위협이 발생할 수 있으며, 이에 대한 안전 모델을 확립하는 것이 매우 어려운 문제점이 있다. 따라서, 본 발명에서는 다중 요소를 단 하나의 알고리즘으로 인증하여 안전성을 보장할 수 있는 다중 요소 인증 방법을 제안한다.
또한, 현재 사용하는 인증 요소는 매우 제한적이지만, 향후 인증 요소의 변경(추가/삭제)은 불가피하다. 최근 수신변경으로 SMS의 보안 위협으로 인해 ARS 방식이 다시 주목받기 시작하였으며, 지문 인식의 경우 높은 오인식률, 복제 문제 등으로 향후 인증 요소로 사용할 수 없다는 학계의 목소리가 나오고 있다. 이러한 상황에서 인증 요소의 변경이 용이하고, 나아가 인증 완료를 위한 임계치를 설정할 수 있으면 사용자의 편의, 시스템의 보안 레벨에 따라 유연하게 구현할 수 있는 인증 기술이 요구된다.
본 발명이 이루고자 하는 기술적인 과제는 비밀번호, SMS, ARS, OTP 와 같은 다양한 인증 요소 중 임계값 이상의 요소가 만족될 때 인증이 완료되는 다중 요소 임계 인증 방법 및 장치를 제공하는 것이다.
본 발명의 실시 예에 따른 인증 서버 및 사용자 장치를 포함하는 다중 요소 임계 인증 시스템을 이용한 다중 요소 임계 인증 방법은, 상기 사용자 장치가 상기 인증 서버로부터 제1 인증 요소 집합(w) 및 질의 값(m)에 대한 암호문을 수신하는 단계, 상기 사용자 장치가 제2 인증 요소 집합(w')과 상기 제1 인증 요소 집합(w)의 교집합의 개수가 임계 값(t)보다 크거나 같은지 확인하는 단계, 상기 교집합의 개수가 상기 임계 값(t)보다 크거나 같은 경우, 상기 사용자 장치가 상기 제2 인증 요소 집합(w')과 상기 제1 인증 요소 집합(w)의 교집합에 속하는 인증 요소들로 구성된 제3 인증 요소 집합(S)을 선택하는 단계, 상기 사용자 장치가 상기 제3 인증 요소 집합에 속하는 각각의 인증 요소에 대응하는 입력값을 입력받는 단계, 상기 사용자 장치가 복호화키를 생성하는 단계, 상기 사용자 장치가 상기 복호화키를 이용하여 상기 암호문을 복호화하고 응답값(m')을 획득하는 단계, 및 상기 사용자 장치가 상기 인증 서버에 상기 응답값(m')을 전송하는 단계를 포함한다.
본 발명의 실시 예에 따른 다중 요소 임계 인증 방법에 의할 경우, 하나의 알고리즘으로 다중 요소를 인증 할 수 있으며, 임계 기능(n개 요소 중 t개 만족 시 인증 완료)을 제공할 수 있다.
또한, 시스템을 구현한 후에도 용이하게 각 인증 요소를 변경할 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 다중 요소 임계 인증 시스템의 개략도이다.
도 2는 도 1에 도시된 인증(검증자) 서버의 기능 블럭도이다.
도 3은 도 1에 도시된 사용자(증명자) 장치의 기능 블럭도이다.
도 4는 도 1에 도시된 다중 요소 임계 인증 시스템을 이용한 다중 요소 임계 인증 방법을 설명하기 위한 흐름도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
본 발명을 설명하기에 앞서 배경 지식이 되는 라그랑지 보간법(Lagrange interpolation)과 함께 겹선형 함수에 대하여 설명하고, 공개키 암호를 이용한 질의, 응답 인증 방식을 설명하기로 한다.
라그랑지 보간법이란 다항식 위의 서로 다른 점들을 이용하여 다항식을 보간하거나 다항식 위의 또 다른 점을 연산하는 방법으로, n차 다항식에 대하여 n+1개 점이 주어지면, 다항식 위의 임의의 점을 주어진 값을 이용하여 쉽게 연산할 수 있는 보간법이다. 즉, n+1개의 주어진 점
Figure 112016018660192-pat00001
에서 라그랑지 계수(
Figure 112016018660192-pat00002
)를 이용하여, n차 다항식
Figure 112016018660192-pat00003
를 보간할 수 있으며, 또한 다항식 위의 점
Figure 112016018660192-pat00004
을 쉽게 연산할 수 있다. 라그랑지 계수는 아래와 같이 정의한다.
Figure 112016018660192-pat00005
,
Figure 112016018660192-pat00006
예를 들어, 2차 다항식
Figure 112016018660192-pat00007
에 대하여 3개의 점
Figure 112016018660192-pat00008
이 주어졌을 때, 라그랑지 계수를 이용하여 아래와 같이
Figure 112016018660192-pat00009
를 구할 수 있다.
Figure 112016018660192-pat00010
Figure 112016018660192-pat00011
Figure 112016018660192-pat00012
Figure 112016018660192-pat00013
즉,
Figure 112016018660192-pat00014
를 정확히 알지 못하더라고,
Figure 112016018660192-pat00015
값을 구할 수 있다.
본 발명에서는 암호화 및 복호화를 위한 연산에 있어서, 겹선형 함수를 사용한다. 겹선형 함수
Figure 112016018660192-pat00016
란 겹선형 성질
Figure 112016018660192-pat00017
을 만족하는 함수를 의미한다. 또한, 겹선형 함수는 상기 겹선형 성질에 의하여 아래의 식을 만족한다.
Figure 112016018660192-pat00018
또한, 본 발명에서는 검증자 장치가 증명자(사용자) 장치를 인증하기 위하여 질의-응답(Challenge-response) 방식을 사용한다. 인증을 받는 객체와 검증을 하는 객체를 각각 증명자(Prover), 검증자(Verifier)라 할 때, 질의-응답(challenge-response) 인증 방식은 검증자의 질의(Challenge)에 대하여 증명자가 응답하는 방식으로, 인증 시 매번 새로운 질의값을 생성하여 재사용 공격을 방지할 수 있다. 공개키 암호시스템을 이용한 인증 방법은 아래와 같다.
(Stage 1. 질의) 검증자는 자신이 임의로 선택한 값(m)을 증명자의 공개키로 암호화 한 E(m)을 증명자에게 전송한다.
(Stage 2. 응답) 검증자는 전송받은 E(m)을 자신의 비밀키로 복호화한 결과(m')룰 검증자에게 전송한다.
(Stage 3. 검증) 임의로 선택한 값(m)과 복호화한 결과 값(m')이 일치하면(m = m'), 검증자는 인증을 완료한다.
이하, 도 1 내지 도 3을 참조하여, 본 발명의 일 실시예에 따른 다중 요소 임계 인증 시스템 및 장치에 대해 상술한다.
도 1은 본 발명의 일 실시예에 따른 다중 요소 임계 인증 시스템(10)을 도시한다. 도 1을 참조하면, 다중 요소 임계 인증 시스템(10)은 인증 서버(100), 사용자 장치(200), 및 키생성 서버(300)를 포함한다.
인증 서버(100)는 질의-응답 인증 기법을 이용하여 인증을 요청하는 사용자 장치(200)를 인증한다. 인증 서버(100) 및 키생성 서버(300)는 동일한 서버일 수 있다. 이와는 달리, 인증 서버(100) 및 키생성 서버(300)가 각각 다른 주체로 분리되어 동작할 수도 있다. 예를 들어, 인증 서버(100)는 인증 서비스를 전문적으로 제공하는 제3의 기관이 운영하는 서버일 수 있다.
도 2는 도 1에 도시된 인증 서버(100)의 기능 블럭도이다. 도 1과 도 2를 참조하면, 상기 인증 서버(100)는 인증 요소 선택부 및 질의값 선택부를 포함하는 암호화부(110), 인증부(130), 통신부(170), 저장부(180), 및 제어부(190)을 포함한다.
본 명세서에서 사용되는 '~부' 또는 '~모듈'이라 함은 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 '~부' 또는 '모듈'은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나 한 종류의 하드웨어를 의미하는 것은 아니다.
인증 서버(100)의 암호화부(110)는 제어부(190)의 제어 하에, 질의값 선택부에 의하여 선택된 질의값(m)을 공개키를 이용하여 암호화한다. 이때, 공개키는 키생성 서버(300)에서 생성하고 공개한 공개 파라미터를 이용할 수 있다. 또한, 암호화부(110)는 인증 요소 선택부에 의하여 선택된 인증 요소(w)를 암호화할 수 있다.
인증 서버(100)의 인증부(130)는 사용자 장치(200)로부터 수신한 응답값(m')이 상기 질의값(m)과 일치하는지 여부를 확인하고, 일치하는 경우 인증을 완료한다.
인증 서버(100)의 통신부(170)는 제어부(190)의 제어 하에, 인증을 요청하는 사용자 장치(200)들과 통신을 수행할 수 있다. 예를 들어, 통신부(170)는 각각의 사용자 장치(200)에 질의값에 대한 암호문을 송신할 수 있고, 각각의 사용자 장치(200)로부터 응답값을 수신할 수 있다.
인증 서버(100)의 저장부(180)는 프로그램 저장부와 데이터 저장부를 포함할 수 있다. 상기 프로그램 저장부는 인증 서버(100)의 동작을 제어하기 위한 프로그램들이 저장될 수 있다. 상기 데이터 저장부에는 상기 프로그램들을 수행하는 과정 중에 발생하는 데이터들이 저장될 수 있다.
인증 서버(100)의 제어부(190)는 인증 서버(100)의 전반적인 동작을 제어한다. 즉, 암호화부(110), 인증부(130), 통신부(170) 및 저장부(180)의 동작을 제어할 수 있다.
도 3은 도 1에 도시된 다중 요소 임계 사용자(증명자) 장치(200)의 기능 블럭도이다. 도 1과 도 3을 참조하면, 상기 사용자 장치(200)는 복호화 모듈(120), 통신 모듈(270), 메모리(280), 및 제어 모듈(290)을 포함한다.
사용자 장치(200)의 복호화 모듈(210)은 제어 모듈(290)의 제어 하에, 사용자 장치(200)에 입력되는 각각의 인증 요소에 대한 입력값을 이용하여 복호화키를 생성하고, 상기 복호화키를 이용하여 상기 인증 서버(100)로부터 수신한 질의값에 대한 암호문을 복호화를 수행하여 응답값을 획득할 수 있다.
사용자 장치(200)의 통신모듈(270)은 제어 모듈(290)의 제어 하에, 인증 서버(100)와 유선 또는 무선 통신망을 통하여 통신을 수행할 수 있다. 예를 들어, 통신 모듈(270)은 인증 서버(100)로부터 질의값에 대한 암호문을 수신할 수 있고, 인증 서버(100)에 응답값을 송신할 수 있다.
사용자 장치(200)의 메모리(280)는 사용자 장치(200)의 동작을 제어하기 위한 프로그램들이 저장되어 있는 프로그램 메모리와 상기 프로그램을 수행하는 과정 중에 발생하는 데이터들을 저장하는 데이터 메모리를 포함할 수 있다.
제어 모듈(290)은 사용자 장치(200)의 전반적인 동작을 제어한다.
이하, 도 4를 참조하여, 본 발명의 일 실시예에 따른 다중 요소 임계 인증 시스템을 이용하여 다중 요소 임계 인증을 수행하는 방법에 대해 상술한다.
도 4는 도 1에 도시된 다중 요소 임계 인증 시스템을 이용한 다중 요소 임계 인증 방법을 설명하기 위한 흐름도이다. 이하에서는 상술한 내용과 중복되는 내용에 관한 기재는 생략하기로 한다.
본 발명은 설정(Setup) 단계(S100), 키생성 단계(S200), 암호화 및 질의 단계(S300), 복호화 및 응답 단계(S400), 인증 단계(S500)로 구성된다.
인증을 수행하기에 앞서, 키생성 서버(300)는 아래와 같이 설정 단계(S100)를 수행한다. 먼저, 키 생성 기관의 키생성 서버(300)는 인증 요소의 개수가 n일 때, 임계 값 t를 설정한다. 이때, 임계값 t는 인증 요소의 개수 n보다 작거나 같다. 다음, 위수가 소수 p인 그룹 G에 대하여 생성원(generator) g(
Figure 112016018660192-pat00019
)와 암호학적 해쉬함수 H(
Figure 112016018660192-pat00020
), 그리고 제1 랜덤값
Figure 112016018660192-pat00021
(
Figure 112016018660192-pat00022
)을 선택한다. 다음, 키 생성 기관의 키생성 서버(300)는 상기 키 생성 기관의 비밀값(
Figure 112016018660192-pat00023
) 및, 공개파라미터(
Figure 112016018660192-pat00024
)를 아래와 같이 생성한다. 상기 비밀값(
Figure 112016018660192-pat00025
) 은 키생성 서버(300)에 안전하게 저장하고, 상기 공개 파라미터(
Figure 112016018660192-pat00026
)는 공개한다.
Figure 112016018660192-pat00027
다음, 키생성 서버(300)는 아래와 같이 키생성 단계(S200)를 수행한다.
키생성 서버(300)는 제2 랜덤값(
Figure 112016018660192-pat00028
)을 선택하고,
Figure 112016018660192-pat00029
를 만족하는 t-1 차수(degree)를 다항식
Figure 112016018660192-pat00030
을 생성한다. 이때, 사용자 ID에 대하여 인증 요소가
Figure 112016018660192-pat00031
개 있을 때, 일반성을 잃지 않고, 인증 요소의 집합을
Figure 112016018660192-pat00032
라 한다.
다음, 키생성 기관 서버(300)는
Figure 112016018660192-pat00033
개의 서로 다른 임의의 값들을
Figure 112016018660192-pat00034
를 이용하여 아래와 같이 해당 사용자에 대한 비밀키(
Figure 112016018660192-pat00035
)를 생성한다.
Figure 112016018660192-pat00036
이때, 기본 비밀키
Figure 112016018660192-pat00037
Figure 112016018660192-pat00038
를 제외한 각각의 인증 요소에 대한 비밀키
Figure 112016018660192-pat00039
는 사용자가 직접 알 수 없으며, 사용자 장치(200)에 임베디드되어 배포된다. 예를 들어, 보안 장치(예를 들어, OTP 장치 등) 또는 어플리케이션에 임베디드되어 배포될 수 있다.
다음, 인증 서버(100)는 아래와 같이 암호화 및 질의 단계(S300)를 수행한다. 인증 서버(100)는 임의의 메시지(m)와 함께 인증 수행에 필요한 인증 요소를
Figure 112016018660192-pat00040
개 선택한다. 이때, 일반성을 잃지 않고, 인증 서버(100)가 선택한 인증 요소의 집합을
Figure 112016018660192-pat00041
라 한다. 인증 서버(100)는 임의의 값
Figure 112016018660192-pat00042
를 선택하고, 상기 키생성 서버(300)에 의하여 공개된 공개파라미터를 이용하여, 아래와 같이 암호문(CT)을 생성하고, 사용자 장치(200)에 전송한다.
Figure 112016018660192-pat00043
다음, 사용자 장치(200)는 아래와 같이 복호화 및 응답 단계(S400)를 수행한다. 사용자 장치(200)는 해당 사용자에 대한 인증 요소의 집합(
Figure 112017034989555-pat00045
)과 검증자 장치(100)가 선택한 인증 요소의 집합(
Figure 112017034989555-pat00046
)의 교집합의 개수가 임계 값(t)보다 크거나 같은지 여부를 확인한다.
인증 요소의 교집합의 개수가 임계 값(t)보다 크거나 같은 경우, 사용자 장치(200)는 아래의 조건을 만족하는 인증요소의 집합 S를 선택한다. 이때, 일반성을 잃지 않고,
Figure 112016018660192-pat00047
라고 한다.
Figure 112016018660192-pat00048
다음, 사용자 장치(200)는 인증 요소(예를 들어, 생체 정보, 시간 정보 등)를 입력값(
Figure 112016018660192-pat00049
)으로하고, 임의의 값
Figure 112016018660192-pat00050
을 선택하여, 아래와 같이 출력값(
Figure 112016018660192-pat00051
,
Figure 112016018660192-pat00052
)을 생성한다.
Figure 112016018660192-pat00053
이때,
Figure 112016018660192-pat00054
는 인증 요소 i에 대한 비밀키(
Figure 112016018660192-pat00055
)를 의미하며, 상기 인증 요소 i에 대한 비밀키(
Figure 112016018660192-pat00056
)는 사용자 장치(200)에 임베디드되어 있다.
구체적으로, 제1 인증 요소(예를 들어, 지문 정보)에 대한 제1 비밀키(
Figure 112016018660192-pat00057
)가 임베디드되어 있는 사용자 장치(200)에 로그인(인증)을 위한 제1 인증 요소 값(또는 제1 인증 요소에 대한 입력값,
Figure 112016018660192-pat00058
, 예를 들어 지문 정보 값)이 입력되면, 사용자 장치는 제1 인증 요소에 대한 제1 출력값(
Figure 112016018660192-pat00059
) 및 제1 인증 요소에 대한 제2 출력값(
Figure 112016018660192-pat00060
)을 생성한다.
다음, 사용자 장치(200)는 라그랑지 계수
Figure 112016018660192-pat00061
, 비밀키, 그리고, 상기 선택된 인증 요소에 대한 출력값을 이용하여 아래와 같이 복호화 키(
Figure 112016018660192-pat00062
)를 생성한다.
Figure 112016018660192-pat00063
다음, 사용자 장치(200)는 상기 복호화 키(
Figure 112016018660192-pat00064
)를 이용하여, 아래와 같이 복호화를 수행하여 메시지(m)를 획득하고, 상기 메시지(m)를 검증자 장치(100)에 전송한다.
Figure 112016018660192-pat00065
다음, 인증 서버(100)는 사용자 장치(200)로부터 수신한 메시지(m)가 인증 서버(100)가 선택한 메시지(m)와 동일한지 확인하고, 동일한 경우. 인증을 완료한다(S500). 사용자 장치(200)로부터 수신한 메시지(m)가 인증 서버(100)가 선택한 메시지(m)와 동일하지 아니한 경우, 인증 서버(100)는 사용자 또는 사용자 장치(200)에게 인증 실패 메시지를 전송하고 상기 인증을 다시 수행할 수 있다.
이하, 보다 구체적인 예를 이용하여 본 발명에 따른 다중 요소 임계 인증 방법에 대하여 상세하게 설명한다.
예를 들어, 사용자가 뱅킹 서비스를 받기 위해 비밀번호(제1 인증 요소 값,
Figure 112016018660192-pat00066
), 지문(제2 인증 요소 값,
Figure 112016018660192-pat00067
)에 대한 값을 등록하고, OTP(제3 인증 요소) 장치를 수령하고, 임계 값(t)이 2로 설정된 경우, 키생성 서버(300)는 '
Figure 112016018660192-pat00068
'인 1차식
Figure 112016018660192-pat00069
에 대한 사용자의 비밀키를 아래와 같이 생성(S200)하고, 각각의 인증 요소에 대한 비밀키는 사용자 장치(200)에 임베디드하여 배포한다.
Figure 112016018660192-pat00070
비밀번호에 대한 비밀키(제1 비밀키,
Figure 112016018660192-pat00071
)가 임베디드되어 있는 웹 브라우저 또는 어플리케이션을 통해 로그인을 위한 비밀번호(제1 인증요소 값,
Figure 112016018660192-pat00072
)가 입력되면, 사용자 장치(200)는 제1 인증요소에 대한 출력값(
Figure 112016018660192-pat00073
)을 생성하여 출력한다. 지문에 대한 비밀키(제2 비밀키,
Figure 112016018660192-pat00074
)가 임베디드되어 있는 지문 인식 장치를 통해 지문 값(제2 인증요소 값,
Figure 112016018660192-pat00075
)가 입력되면, 사용자 장치(200)는 제2 인증요소에 대한 출력값(
Figure 112016018660192-pat00076
)을 생성하여 출력한다. OTP에 대한 비밀키(제3 비밀키,
Figure 112016018660192-pat00077
)가 임베디드되어 있는 OTP 장치의 버튼을 누를 때마다 시간 정보(유효 구간)
Figure 112016018660192-pat00078
(제3 인증요소 값)이 입력되면, 사용자 장치(200)는 제3 인증요소에 대한 출력값(
Figure 112016018660192-pat00079
)을 생성하여 출력한다.
다음, 사용자 인증을 위하여, 검증자 서버(또는 검증자 장치, 100)는 암호화 및 질의 단계(S300)를 수행한다. 이때, 검증자 서버(100)는 인증 서비스를 전문적으로 제공하는 제3의 기관에서 운영하는 서버일 수 있다.
검증자 서버(100)는 질의 값(m) 및 사용자 등록 시 저장된
Figure 112016018660192-pat00080
,
Figure 112016018660192-pat00081
및, 현재 시간 정보를 이용한
Figure 112016018660192-pat00082
에 대한 암호문을 아래와 같이 생성하여 사용자 장치(200)에 전송한다.
Figure 112016018660192-pat00083
다음, 사용자 장치(200)는 복호화 및 응답 단계(S400)를 수행한다. 구체적으로, 사용자에 대한 인증 요소의 집합(
Figure 112017034989555-pat00085
)과 검증자 서버(100)가 선택한 인증 요소의 집합(
Figure 112017034989555-pat00086
)의 교집합의 개수(
Figure 112017034989555-pat00087
)가 임계 값(t=2)보다 크거나 같은지 확인한 후, 상기 검증자 서버(100)로부터 수신한 암호문을 복호화한다. 예를 들어, 사용자 장치(200)가 응답을 위한 인증 요소 집합
Figure 112017034989555-pat00088
Figure 112017034989555-pat00089
으로 설정한 경우, 즉, 제1 인증 요소 및 제3 인증 요소를 응답을 위한 인증 요소로 선택한 경우, 제1 인증 요소(비밀번호) 및 제3 인증 요소(OTP)를 이용하여 복호화하는 과정은 아래와 같다. 사용자 장치(200)는 사용자로부터 비밀번호
Figure 112017034989555-pat00090
(제1 인증 요소 값)을 입력받아서
Figure 112017034989555-pat00091
Figure 112017034989555-pat00092
값을 획득하고, OTP 장치의 버튼을 눌러 시간 정보
Figure 112017034989555-pat00093
(제3 인증 요소 값)에 대한
Figure 112017034989555-pat00094
Figure 112017034989555-pat00095
값을 획득한 후, 아래와 같이 복호화 키(
Figure 112017034989555-pat00096
)를 생성한다.
Figure 112016018660192-pat00097
사용자 장치(100)는 상기 복호화 키(
Figure 112016018660192-pat00098
)를 이용하여 응답 값(m')을 획득하고 이를 검증자 서버(200)에 전송한다.
검증자 서버(200)는 상기 질의 값(m)과 상기 응답 값(m')이 동일한 경우, 인증을 완료한다(S500).
상술한 다중 요소 임계 인증 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
예를 들어, 기록매체에 저장되며 다중 요소 임계 인증을 수행하는 다중 요소 임계 인증 프로그램으로서, 상기 프로그램은 인증 서버 및 사용자 장치를 포함하며, 다중 요소 임계 인증을 수행하는 인증 시스템에 있어서, 상기 사용자 장치가 상기 인증 서버로부터 제1 인증 요소 집합(w) 및 질의 값(m)에 대한 암호문을 수신하는 명령어 세트; 상기 사용자 장치가 제2 인증 요소 집합(w')과 상기 제1 인증 요소 집합(w)의 교집합의 개수가 임계 값(t)보다 크거나 같은지 확인하는 명령어 세트; 상기 교집합의 개수가 상기 임계 값(t)보다 크거나 같은 경우, 상기 사용자 장치가 상기 제2 인증 요소 집합(w')과 상기 제1 인증 요소 집합(w)의 교집합에 속하는 인증 요소들로 구성된 제3 인증 요소 집합(S)을 선택하는 명령어 세트; 상기 사용자 장치가 상기 제3 인증 요소 집합에 속하는 각각의 인증 요소에 대응하는 입력값을 입력받는 명령어 세트; 상기 사용자 장치가 복호화키를 생성하는 명령어 세트; 상기 사용자 장치가 상기 복호화키를 이용하여 상기 암호문을 복호화하고 응답값(m')을 획득하는 명령어 세트; 및 상기 사용자 장치가 상기 인증 서버에 상기 응답값(m')을 전송하는 명령어 세트;를 포함할 수 있다.
상기 다중 요소 임계 인증 프로그램은 상기 기록매체에 저장되며, 상기 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다. 또한, 상기 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 명령어 세트가 저장되고 실행될 수 있다.
본 발명에서 개시된 블록도들은 본 발명의 원리들을 구현하기 위한 회로를 개념적으로 표현한 형태라고 당업자에게 해석될 수 있을 것이다. 유사하게, 임의의 흐름 차트, 흐름도, 상태 전이도, 의사코드 등은 컴퓨터 판독가능 매체에서 실질적으로 표현되어, 컴퓨터 또는 프로세서가 명시적으로 도시되든지 아니든지 간에 이러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세스를 나타낸다는 것이 당업자에게 인식될 것이다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 다중 요소 임계 인증 시스템
100 : 인증 서버 200 : 사용자 장치
300 : 키생성 서버

Claims (7)

  1. 인증 서버 및 사용자 장치를 포함하며, 다중 요소 임계 인증을 수행하는 인증 시스템에 있어서,
    상기 사용자 장치가 상기 인증 서버로부터 제1 인증 요소 집합(w) 및 질의 값(m)에 대한 암호문을 수신하는 단계;
    상기 사용자 장치가 상기 사용자 장치에 등록된 제2 인증 요소 집합(w')과 상기 제1 인증 요소 집합(w)의 교집합의 개수가 임계 값(t)보다 크거나 같은지 확인하는 단계;
    상기 교집합의 개수가 상기 임계 값(t)보다 크거나 같은 경우, 상기 사용자 장치가 상기 제2 인증 요소 집합(w')과 상기 제1 인증 요소 집합(w)의 교집합에 속하는 인증 요소들로 구성된 제3 인증 요소 집합(S)을 선택하는 단계;
    상기 사용자 장치가 상기 제3 인증 요소 집합에 속하는 각각의 인증 요소에 대응하는 입력값을 입력받는 단계;
    상기 사용자 장치가 상기 입력값을 이용하여 복호화키를 생성하는 단계;
    상기 사용자 장치가 상기 복호화키를 이용하여 상기 암호문을 복호화하고 응답값(m')을 획득하는 단계; 및
    상기 사용자 장치가 상기 인증 서버에 상기 응답값(m')을 전송하는 단계;를 포함하는 다중 요소 임계 인증 방법.
  2. 제1항에 있어서,
    상기 제3 인증 요소 집합(S)을 선택하는 단계에서,
    상기 제3 인증 요소 집합(S)의 포함된 인증 요소의 개수는 상기 임계 값(t)과 동일한 다중 요소 임계 인증 방법.
  3. 제1항에 있어서,
    상기 복호화키 생성 단계는,
    상기 사용자 장치가 제3 인증 요소 집합(S)에 포함된 각각의 인증 요소에 대하여 상기 인증 요소에 대한 인증 요소 값(
    Figure 112016018660192-pat00099
    )을 입력값으로 하고, 제1 랜덤값(
    Figure 112016018660192-pat00100
    )을 선택하여, 아래의 수학식을 이용하여 상기 인증 요소에 대한 출력값(
    Figure 112016018660192-pat00101
    ,
    Figure 112016018660192-pat00102
    )을 생성하는 단계; 및
    Figure 112016018660192-pat00103

    (이때,
    Figure 112016018660192-pat00104
    는 상기 인증 요소에 대한 비밀키)
    상기 제3 인증 요소 집합(S)에 포함된 각각의 인증 요소에 대한 출력값 및 라그랑지 계수를 이용하여 상기 복호화키를 생성하는 단계;를 포함하는 다중 요소 임계 인증 방법.
  4. 제3항에 있어서,
    상기 인증 요소에 대한 비밀키(
    Figure 112016018660192-pat00105
    )는 상기 사용자 장치에 임베디드되어 배포되는 다중 요소 임계 인증 방법.
  5. 제1항에 있어서,
    상기 인증 서버가 상기 사용자 장치로부터 수신한 상기 응답값(m')이 상기 질의값(m)과 동일한 경우, 상기 사용자 장치에 대한 인증을 완료하는 단계를 더 포함하는 다중 요소 임계 인증 방법.
  6. 인증을 요청하는 사용자 장치, 및
    질의-응답 인증 기법을 이용하여 상기 사용자 장치를 인증하는 인증 서버를 포함하되,
    상기 사용자 장치는 복호화키를 이용하여 상기 인증 서버로부터 수신한 암호문의 복호화를 수행하고 응답값(m')를 획득하는 복호화 모듈, 및 상기 암호문을 수신하고 상기 응답값(m')을 송신하는 통신 모듈을 포함하고,
    상기 인증 서버는 상기 사용자 장치의 인증을 위한 질의값(m) 및 제1 인증 요소 집합(w)을 공개파라미터로 암호화하여 상기 암호문을 생성하는 암호화부, 상기 암호문을 상기 사용자 장치에 전송하고 상기 사용자 장치로부터 상기 암호문을 복호화한 상기 응답값(m')을 수신하는 통신부, 및 상기 응답값(m')과 상기 질의값(m)이 일치하는 경우, 인증을 완료하는 인증부를 포함하며,
    상기 사용자 장치는,
    상기 사용자 장치가 상기 사용자 장치의 제2 인증 요소 집합(w')과 상기 제1 인증 요소 집합(w)의 교집합의 개수가 임계 값(t)보다 크거나 같은 경우, 상기 사용자 장치가 상기 제2 인증 요소 집합(w')과 상기 제1 인증 요소 집합(w)의 교집합에 속하는 인증 요소들로 구성된 제3 인증 요소 집합(S)을 선택하고,
    상기 사용자 장치가 상기 제3 인증 요소 집합(S)에 속하는 각각의 인증 요소에 대응하는 인증 요소 값을 입력값으로 하여 복호화키를 생성하는 다중 요소 임계 인증 시스템.
  7. 삭제
KR1020160022583A 2015-02-27 2016-02-25 다중 요소 임계 인증 방법 및 시스템 KR101768063B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150028021 2015-02-27
KR1020150028021 2015-02-27

Publications (2)

Publication Number Publication Date
KR20160105718A KR20160105718A (ko) 2016-09-07
KR101768063B1 true KR101768063B1 (ko) 2017-08-16

Family

ID=56949873

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160022583A KR101768063B1 (ko) 2015-02-27 2016-02-25 다중 요소 임계 인증 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101768063B1 (ko)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. Menezes 외 2명, Handbook of Applied Cryptography, Chapter.10, CRC Press (1996)*

Also Published As

Publication number Publication date
KR20160105718A (ko) 2016-09-07

Similar Documents

Publication Publication Date Title
JP6701364B2 (ja) パスワードなしのコンピュータログインのサービス支援モバイルペアリングのためのシステム及び方法
JP6382272B2 (ja) ある装置を使用して別の装置をアンロックする方法
CN106575326B (zh) 利用非对称加密实施一次性密码的系统和方法
US10797879B2 (en) Methods and systems to facilitate authentication of a user
KR101658501B1 (ko) 해시함수 기반의 전자서명 서비스 시스템 및 그 방법
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
US20190173873A1 (en) Identity verification document request handling utilizing a user certificate system and user identity document repository
US8509449B2 (en) Key protector for a storage volume using multiple keys
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
CN107359998B (zh) 一种便携式智能口令管理体制的建立与操作方法
Uymatiao et al. Time-based OTP authentication via secure tunnel (TOAST): A mobile TOTP scheme using TLS seed exchange and encrypted offline keystore
US10057060B2 (en) Password-based generation and management of secret cryptographic keys
EP2304636A1 (en) Mobile device assisted secure computer network communications
CN104038486A (zh) 一种基于标识型密码实现用户登录鉴别的系统及方法
KR101739203B1 (ko) 일회용 개인키 기반 전자 서명과 동형 암호를 이용한 패스워드 기반 사용자 인증 방법
JP6751545B1 (ja) 電子署名システム及び耐タンパ装置
US11743053B2 (en) Electronic signature system and tamper-resistant device
KR101714742B1 (ko) 원격제어를 위한 인증 방법 및 서버
CN112257121A (zh) 加密方法、解密方法、电子设备和存储介质
JP7250960B2 (ja) ユーザのバイオメトリクスを利用したユーザ認証および署名装置、並びにその方法
KR101768063B1 (ko) 다중 요소 임계 인증 방법 및 시스템
Borisov A novel approach for user authentication to industrial components using QR codes
JP2021111925A (ja) 電子署名システム
JP6165044B2 (ja) 利用者認証装置、システム、方法及びプログラム
KR101701226B1 (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