KR100398161B1 - 서버의 사전 탐색 공격을 고려한 패스워드 기반의 사용자인증 프로토콜 - Google Patents

서버의 사전 탐색 공격을 고려한 패스워드 기반의 사용자인증 프로토콜 Download PDF

Info

Publication number
KR100398161B1
KR100398161B1 KR10-2002-0010313A KR20020010313A KR100398161B1 KR 100398161 B1 KR100398161 B1 KR 100398161B1 KR 20020010313 A KR20020010313 A KR 20020010313A KR 100398161 B1 KR100398161 B1 KR 100398161B1
Authority
KR
South Korea
Prior art keywords
key
user
authentication
server
password
Prior art date
Application number
KR10-2002-0010313A
Other languages
English (en)
Other versions
KR20020026504A (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 KR10-2002-0010313A priority Critical patent/KR100398161B1/ko
Publication of KR20020026504A publication Critical patent/KR20020026504A/ko
Priority to US10/325,904 priority patent/US20030163698A1/en
Application granted granted Critical
Publication of KR100398161B1 publication Critical patent/KR100398161B1/ko

Links

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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
    • 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/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/3271Cryptographic 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 challenge-response

Abstract

본 발명은 사용자 인증 프로토콜에 관한 것으로, 상세하게는 서버의 사전 탐색 공격에 대하여 안전성이 뛰어난 패스워드 기반의 인증 프로토콜에 대한 것이다.
본 발명은 키 인증을 위하여 복수개의 키 서버를 두어 관리하며, 복수개의 키 서버들의 개인 키와 그룹 공개키를 이용하여 인증 키를 발생시키므로, 키 서버는 사용자의 아이디 이외에, 예를 들어 사용자의 패스워드 등을 저장하고 있지 않는다. 그 결과, 위장 서버의 사용자 패스워드에 대한 사전 탐색 공격을 차단할 수 있다.
또한, 종래 기술과 달리 인증 키 계산 및 인증 과정에서 SSL과 함께 사용하지 않아도 안전한 특징이 있다. 더욱이, 본 발명은 연산 시간 면에 있어서 n 개의 키서버가 사용될 경우 사용자 단말기가 (n+1)번의 지수승 연산을 하여야 하는 종래의 포드-칼리스키 방식과 달리, 2회의 지수승과 (n+1)회의 곱셈 연산으로 구현 가능하므로 효율성이 탁월한 장점이 있다.

Description

서버의 사전 탐색 공격을 고려한 패스워드 기반의 사용자 인증 프로토콜{PASSWORD-BASED PROTOCOL SECURE AGAINST SERVER'S DICTIONARY ATTACK}
본 발명은 사용자 인증 프로토콜에 관한 것으로, 상세하게는 서버의 사전 탐색 공격(dictionary attack)에 대하여 안전성이 뛰어난 패스워드 기반의 인증 프로토콜에 대한 것이다.
컴퓨터 네트워크를 통해 사용자가 응용 서버로부터 서비스를 받기 위해서는 사용자 단말기 간의 또는 사용자 단말기와 응용 서버(application server) 사이에 인증이 필수적 요건이다. 즉, 이러한 인증 과정은 현재 통신 접속하고 있는 상대가 실제 의도한 진정한 상대인가를 확인하는 과정을 의미한다.
사용자 인증 프로토콜은 기반이 되는 요소가 무엇인가에 따라 다음과 같은 세 가지 방식으로 분류될 수 있다. 첫째로, 사용자의 물리적 특징을 이용하여 인증할 수 있다. 즉, 사용자의 목소리 식별 방식, 망막 검사 방식, 또는 지문 채집 방식 등을 통해 진정한 사용자 인증 과정을 수행할 수 있다. 두번째는, 사용자가 소유하고 있는 물건을 통해 인증할 수 있다. 즉, 사용자가 지참하고 있는 아이디 카드(ID card) 또는 스마트 카드(smart card) 등을 이용하면 사용자 인증 과정을 보다 안전하게 진행할 수 있다.
마지막 세번째로, 사용자가 알고 있는 지식에 기반을 두어 인증 절차를 수행할 수 있다. 즉, 사용자가 암기하고 있는 패스워드 또는 PIN을 이용하여 사용자 인증을 수행하는 방식이 흔히 이용되고 있다.
그런데, 전술한 세 가지 방식 중 첫 번째 방식과 두 번째 방식은 강력한 보안을 위하여 사용될 수 있으나, 그에 따르는 부가적 하드웨어 비용이 또한 크다. 반면에, 패스워드를 기반으로 하는 세 번째 방식은 부가적 장비의 설치가 필요하지 않으므로 큰 비용을 들이지 않고 손쉽게 적용될 수 있는 장점이 있다.
따라서, 이러한 패스워드를 이용한 인증 프로토콜은 정보 보호 전문 회사에서 로밍 서비스(roaming service) 제공의 핵심 기술로서 활발히 활용되고 있다. 그러나, 패스워드 기반의 인증 방식을 이용하는 일반 사용자들은 자신이 쉽게 기억할 수 있는, 즉, 정보량 측면에서 낮은 엔트로피를 지니는, 패스워드를 선택하는 경향이 있으므로, 만약 이렇게 선택된 패스워드를 암호키로 사용한 암호문이나 패스워드의 해쉬값이 공격자에게 노출된다면, 공격자의 사전 탐색 공격(dictionary attack)을 당할 위험이 있다.
여기서, 사전 탐색 공격이란 미리 사용자들이 사용할 가능성이 있는 패스워드를 모아서 일정한 규칙에 따라 패스워드를 검색하는 것이다. 이와 같은 패스워드가 지니는 사전 탐색 공격에 대한 취약성 때문에, 기존에는 패스워드를 자주 변경하도록 한다던가, 긴 패스워드 또는 여러 개의 문자가 포함된 패스워드를 사용하도록 하는 방식이 적용되어 왔으나 근본적 해결책은 제시하지 못하였다.
1992년 에스. 엠. 벨로빈(S. M. Bellovin)과 엠. 메릿(M. Merritt)은 사전 탐색 공격에 안전한 패스워드를 이용한 사용자 인증 및 키분배 방식을 최초로 제안한 바 있다(“Password-Based Protocols Secure Against Dictionary Attacks, “Proceedings of the IEEE Symposium on Research in Security and Privacy, Oakland, May 1992).
그런데, 벨로빈과 메릿의 방법은 패스워드에 대한 종래 기술이 지니는 취약점을 보완할 수는 있었으나, 제안 방식의 불완전성으로 인하여 암호 분석적 방법으로 패스워드에 대한 사전 탐색 공격이 가능하다는 것으로 판명되었다.
1996년 디. 자블론(D. Jablon)은 벨로빈과 메릿의 개념을 발전시켜서 사전 탐색 공격에 안전한 SPEKE(Strong Password Encrypted Key Exchange)를 제안하였다(“Strong Password-Only Authenticated Key Exchange,” Computer Communication Review, ACM SIGCOMM, vol. 26, no. 5, pp. 5-26, October 1996). 전술한 SPEKE는 PKI(Public Key Infrastructure) 전문 업체인 인트러스트(Entrust)사에서 로밍 서비스 등에서 사용되고 있다.
그러나, SPEKE는 인증 서버와 사용자가 패스워드를 똑같이 나누어 갖기 때문에 공격자가 서버를 공격하여 사용자 패스워드를 획득할 위험성이 내재되어 있다. 디. 자블론은 이러한 문제점을 해결하기 위하여 서버는 단지 패스워드를 확인할 수 있는 패스워드 인증자(verifier) 만을 갖도록 하는 확장 패스워드 키 교환 프로토콜(Extended Password Key Exchange Protocol)을 제안하였다(“Extended Password Key Exchange Protocols Immune to Dictionary Attacks,” Proceedings of the Sixth Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises(WET-ICE ’97), pp. 248-255, IEEE Computer Society, June 18-20, 1997, Cambridge, MA, USA).
이 경우, 서버가 공격되어도 사용자의 패스워드가 노출되지는 않지만, 서버가 가지고 있는 패스워드 인증자를 이용하면 사전 탐색 공격에 의해 사용자 패스워드를 구할 수 있다. 따라서, 현재까지 많은 패스워드 기반의 인증 및 키분배 방식들이 제안되고 있으나, 서버가 가지고 있는 패스워드 인증자에 대한 사전 탐색 공격을 막을 수 있는 방법은 제안되고 있지 않은 실정이다.
전술한 문제점을 해결하기 위하여, 2000년 베리사인(VeriSign)사의 더블류. 포드(W. Ford) 및 비. 칼리스키(B. Kaliski)는 하나의 인증 서버를 두는 여러 개의 인증 서버를 두고, 여러 서버의 도움으로 사용자가 인증키를 생성하도록 함으로써, 공격자가 사용자의 패스워드를 얻기 위해서는 여러 대의 서버를 동시에 공격하여야만 하는 패스워드 기반의 인증 방식(“Server-Assisted Generation of a Strong Secret from a Password,” Proceedings of the IEEE 9th International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, NIST, Gathersburg, MD, June 14-16, 2000)을 제안하였다. 생성된 인증키는 사용자의 패스워드에 비해 난수성을 가지게 되어 사전 탐색 공격 등과 같은 공격에 강한 안전성을 갖게 된다.
상기 포드 및 칼리스키가 제안한 인증 프로토콜은 미합중국 특허 공개 제2001/0055388 A1호에 개시되어 있다.
도1a 및 도1b는 종래 기술에 따른 포드-칼리스키 방식의 초기 사용자 등록 과정과 사용자 인증 과정을 각각 나타낸 도면이다. 도1a를 참조하면, 초기 사용자 등록 과정에서 서버 인증 및 비밀 채널이 형성되어 있다고 가정한다. 이하 설명에서 사용되는 시스템 파라미터는 다음과 같다.
즉, p는 소수이며, p = 2q + 1 (단, q는 큰 소수), g는 그룹의 원시원소로서 order(g) = q를 만족한다. 또한, f는 사용자의 패스워드를 Zp *상의 곱연산에 대한위수가 q인 원소로 대응시키는 함수이다. 한편, KDF()는 인증키 계산 함수이고, OWF()는 일방향 함수이다. 또한 PWD는 사용자의 패스워드이다.
다시 도1a를 참조하면, 사용자 단말기(10)는 패스워드 PWD와 함수 f를 이용하여 w = f(PWD)를 계산한다. 이어서, 사용자 단말기(10)는 k(1 ≤k ≤q-1)를 선택한 후를 계산한다. 그리고 나면, 사용자 단말기(10)는 자신의 아이디인 A와 r, 즉 (A, r)을 키서버 KS1, …, KSn(100, 101, 102, 103)에 전송한다(단계 S20, S21, S22, S23).
한편, 키서버 KSi(i = 1, 2, …, n)(100, 101, 102, 103)는 사용자 단말기(10)에 대해 난수 di(1 ≤di≤q-1)를 생성하고, di(i = 1, 2, …, n)를 이용하여(i = 1, 2, …, n)를 계산한다. 이어서, (A, di)를 데이터베이스에 저장하고, Si(i = 1, 2, …, n)를 사용자 단말기(10)에게 전송한다(단계 S24, S25, S26, S27).
이어서, 사용자 단말기(10)는 키서버 KSi(i = 1, …, n)(100, 101, 102, 103)로부터 수신한 Si(i = 1, …, n)와 k를 이용하여 Ri(i = 1, …, n)를 계산한다.
이어서, 사용자 단말기(10)는 KDF를 이용하여 인증키 K를 계산한다.
한편, 사용자 단말기(10)는 서비스를 제공하는 응용 서버 ASj(j = 1, …, m)(111, 112, 113)에게 각각 K1, K2, …, Km을 다음과 같이 계산하여 안전하게 전달한다.
여기서, Kj(j = 1, …, m)는 사용자 등록 과정에서 한번만 응용 서버에 전달된다(단계 S28, S29, S30). 응용 서버 ASj(j = 1, …, m)(111, 112, 113)는 키 Kj(j = 1, …, m)을 안전하게 보관한다. 이 때에, 키서버와 응용 서버는 동일할 수도 있다.
한편, 사용자 인증 과정을 첨부 도면 도1b를 참조하여 설명하면 다음과 같다. 도1b를 참조하면, 사용자 단말기(10)는 사용자 인증을 위하여 사용자가 패스워드 PWD와 함수 f를 이용하여 w = f(PWD)를 계산한다. 이어서, 사용자 단말기(10)는 k(1 ≤k ≤q-1)를 선택한 후를 계산한다. 그리고 나면, 사용자 단말기(10)는 자신의 아이디인 A와 r, 즉 (A, r)을 키서버 KS1, …, KSn(100, 101, 102, 103)에 전송한다(단계 S31, S32, S33, S34).
한편, 키서버 KSi(i = 1, 2, …, n)(100, 101, 102, 103)는 데이터베이스의 (A, di)에서 di를 추출한다. 이어서, di를 이용하여를 계산하여, Si를 사용자 단말기(10)에게 전송한다(단계 S35, S36, S37, S38).
이어서, 사용자 단말기(10)는 키서버 KSi(i = 1, …, n)(100, 101, 102, 103)로부터 수신한 Si(i = 1, …, n)와 k를 이용하여 Ri를 계산한다.
사용자 단말기(10)는 KDF와 OWF를 이용하여 인증키 K 및 Ki를 계산한다.
한편, 응용 서버 ASj(j = 1, …, m)(111, 112, 113)는 챌린지 값 cj(1 ≤cj≤q-1)을 생성하여 사용자 단말기(10)에게 전송한다(단계 S39, S40, S41). 그리고 나면, 사용자 단말기(10)는 챌린지 cj의 응답 OWF(Kj, cj)를 계산하여 응용 서버 ASj(j = 1, …, m)(111, 112, 113)에게 각각 전송한다(단계 S42, 43, 44). 마지막으로, 응용 서버 ASj(j = 1, …, m)(111, 112, 113)는 자신의 데이터베이스에 저장된 사용자 단말기(10)의 키 Kj(j = 1, …, m)를 이용하여 계산된 OWF(Kj, cj)값과 전송 받은 값을 비교하여 올바른 사용자인지를 확인한다.
이상에서, 종래 기술로서 포드-칼리스키 방식의 초기 사용자 등록 과정과 사용자 인증 과정을 설명하였다. 그런데, 전술한 포드 및 칼리스키의 방식은 사용자 인증 과정에서 사용자가 서버를 인증하는 과정이 없으므로, 공격자가 키서버와 응용 서버를 위장하면 사전 탐색 공격에 가능한 정보를 얻을 수 있는 문제점이 있다.
또한, 포드와 칼리스키도 논문에서 이러한 문제점을 언급하였으며, 상기 문제점을 치유하기 위해서 SSL(Secure Socket Layer)과 같은 인증 프로토콜을 사용하도록 권고하고 있다.
이하에서는 첨부 도면 도2a 및 도2b를 참조하여 종래 기술에 따른 포드-칼리스키 인증 프로토콜이 지니는 결함을 상세히 설명한다.
도2a를 참조하면, 이해를 쉽게 하기 위하여 2개의 키서버와 응용 서버가 있다고 가정하고 설명한다. 우선, 사용자 단말기가 (A, r)를 키서버들에게 전송할 때, 공격자는 2개의 키서버(200, 201)를 위장하여 d1 *과 d2 *를 생성하고, S1 *과 S2 *를 계산하여 사용자 단말기에게 전송한다(단계 S52 및 단계 S53).
이 경우, 사용자 단말기는 원래의 인증키 K와는 다른 인증키 K*를 계산하게 되며, 제1 응용 서버와 제2 응용 서버를 위한 키 K1 *및 K2 *를 계산한다.
이제 다시 공격자는 응용 서버 AS1 *(202)를 가장하여 챌린지 c1 *를 사용자 단말기(10)에게 전송하면(단계 S61), 사용자 단말기(10)는 이에 대한 응답으로 OWF(K1 *, c1 *)을 공격자에게 제공하게 된다(단계 S62). 그리고 나면, 공격자(202)는 사용자 단말기(10)로부터 수신한 OWF(K1 *, c1 *)에 대해 다음 관계식을 이용하여 패스워드에 대한 사전 탐색 공격을 할 수 있다.
전술한 문제점을 해결하기 위해 포드와 칼리스키는 사용자 인증 과정에서 키서버와 인증 서버를 인증하는 방법으로 기존의 SSL을 병행하여 사용하도록 권고하고 있다.
따라서, 본 발명의 제1 목적은 서버의 사전 탐색 공격에 대하여 안전한 패스워드 기반의 사용자 인증 프로토콜을 제공하는데 있다.
본 발명의 제2 목적은 상기 제1 목적에 부가하여, 서버의 사전 탐색 공격에 대하여 안전하고 SSL과 함께 사용될 필요가 없이 구현이 용이한 패스워드 기반의 사용자 인증 프로토콜을 제공하는데 있다.
본 발명의 제3 목적은 상기 제1 목적에 부가하여, 서버의 사전 탐색 공격에 대해 안전하고 인증키 생성 과정에서 사용자의 계산량을 감소시킴으로써 효율성을 증대시킨 패스워드 기반의 사용자 인증 프로토콜을 제공하는데 있다.
도1a 및 도1b는 종래 기술에 따른 포드-칼리스키 방식의 초기 사용자 등록 과정과 사용자 인증 과정을 각각 나타낸 도면.
도2a 및 도2b는 종래 기술에 따른 포드-칼리스키 인증 프로토콜이 지니는 결함을 상세히 설명한 도면.
도3a는 본 발명에 따른 패스워드 기반의 인증 프로토콜에 있어서, 초기 사용자 등록 과정을 나타낸 도면.
도3b는 사용자 인증 과정을 상세히 설명한 도면.
<도면의 주요 부분에 대한 부호의 설명>
10 : 사용자 단말기
20 : 서버
100, 101, 102, 103 : 키서버
111, 112, 113 : 응용 서버
200, 201 : 위장 키서버
202 : 위장 응용 서버
본 발명은 n 개의 키서버 KS1, KS2, …, KSn가 각각의 개인키 xi(i = 1, …, n)와 그룹 공개키 y를 구비하는 것을 특징으로 한다.
먼저, 이하 본 발명의 양호한 실시예에서 사용되는 파라미터를 요약하면 다음과 같다. 이하에서, p는 소수로서, p = 2q + 1(단, q는 큰 소수)를 만족한다. 또한, g는 그룹의 원시원소로서 order(g) = q이다.
한편, f는 패스워드를 Zp *상의 곱연산에 대한 위수가 q인 원소로 대응시키는 함수이다. 또한 KDF()는 인증키 계산 함수, OWF()는 일방향 함수이다. PWD는 사용자의 패스워드를 의미하며, xi(i = 1, …, n)는 키서버 KSi(i = 1, …, n)의 개인키, y는 키서버 KSi(i = 1, …n)들의 그룹 공개키로서 연산식은 다음과 같다.
이하에서는 첨부 도면 도3a 및 도3b를 참조하여 본 발명에 따른 패스워드 기반의 인증 프로토콜을 상세히 설명한다.
도3a는 본 발명에 따른 패스워드 기반의 인증 프로토콜에 있어서, 초기 사용자 등록 과정을 나타낸 도면이다. 도3a를 참조하면, 사용자 단말기(10)는 패스워드 PWD와 함수 f를 사용하여 w = f(PWD)를 계산한다. 이어서, 난수 z(1 ≤z ≤q-1)를 선택하고를 계산한 후, 사용자 아이디인 A와 함께 키서버 KSi(i = 1, …, n)(100, 101, 102)에게 전송한다(단계 S80, S81, S82).
이어서, 키서버 KSi(i = 1, …, n)(100, 101, 102)는(i = 1, …, n)을 계산하여 사용자 단말기(10)에게 전송하고, 자신의 데이터베이스에 사용자 아이디인 A를 등록한다(단계 S83, S84, S85).
한편, 사용자 단말기(10)는 인증키 K 및 Kj(i = 1, …, m)를 다음과 같이 계산한다.
이어서, 사용자는 (A, Kj)를 각각 ASj(j = 1, …, m)(111, 112, 113)에게 전송한다(단계 S86, S87, S88).
이하에서는, 첨부 도면 도3b를 참조하여 사용자 인증 과정을 상세히 설명한다. 도3b를 참조하면, 사용자 단말기(10)는 사용자가 입력한 패스워드 PWD와 난수 z를 이용하여(단, w = f(PWD))를 계산한 후, 사용자 아이디 A와 함께 키서버 KSi(i = 1, …, n)(100, 101, 102)에 전송한다(단계 S90, S91, S92).
이어서, 키서버 KSi(i = 1, …, n)(100, 101, 102)은 자신의 데이터베이스를 검색하여 등록된 사용자임을 확인한 후,을 계산하여 사용자 단말기(10)에게 전송한다(단계 S93, S94, S95).
사용자 단말기(10)는 인증키 K 및 Kj(j = 1, …, m)를 다음과 같이 계산한다.
이렇게 생성된 인증키는 사용자의 패스워드에 비해 난수성을 가지게 되어 사전 탐색 공격 등과 같은 공격에 강한 안전성을 갖게 된다.
한편, 응용 서버 ASj(j = 1, …, m)(111, 112, 113)는 챌린지 값 cj(1 ≤cj≤q-1)을 생성하여 사용자 단말기(10)에게 전송한다(단계 S96, S97, S98). 이어서, 사용자 단말기(10)는 챌린지 cj의 응답 OWF(Kj, cj)를 계산하여 응용 서버 ASj(j = 1, …, m)(111, 112, 113)에게 각각 전송한다(단계 S99, S100, S101).
한편, 응용 서버 ASj(j = 1, …, m)(111, 112, 113)는 데이터베이스에 저장된 사용자 단말기(10)의 키 Kj(j = 1, …, m)를 이용하여 계산된 OWF(Kj, cj)(i = 1, …, m)값과 전송 받은 값을 비교하여 올바른 사용자 단말기인지를 확인한다. 그 결과, 사용자 인증이 완료되면 Kj로 암호화된 사용자의 개인키를 내려주며, 사용자 단말기는 그 개인키를 이용하여 전자서명 등의 암호 이용 서비스를 이용할 수 있다.이상에서 살펴보았듯이, 종래의 포드-칼리스키 방식은 사용자 단말기가 인증키 계산하는 단계에서 (n+1)번의 지수승 연산이 필요하지만, 본 발명에 따른 패스워드 기반의 인증 방식은 두 번의 지수승 연산과 (n+1)번의 곱셈 연산만을 필요로 하기 때문에 키서버가 증가하더라도 인증키 K를 효율적으로 계산할 수 있다.
또한, 인증키 계산 시에 키서버 그룹 공개키 y와 비밀 난수 z를 사용하기 때문에 키서버의 개인키를 알지 못하는 위장 서버는 사용자 패스워드에 대해 사전 탐색 공격을 할 수 있는 정보를 얻을 수 없다.
전술한 내용은 후술할 발명의 특허 청구 범위를 보다 잘 이해할 수 있도록 본 발명의 특징과 기술적 장점을 다소 폭넓게 개설하였다. 본 발명의 특허 청구 범위를 구성하는 부가적인 특징과 장점들이 이하에서 상술될 것이다. 개시된 본 발명의 개념과 특정 실시예는 본 발명과 유사 목적을 수행하기 위한 다른 구조의 설계나 수정의 기본으로서 즉시 사용될 수 있음이 당해 기술 분야의 숙련된 사람들에 의해 인식되어야 한다.
또한, 본 발명에서 개시된 발명 개념과 실시예가 본 발명의 동일 목적을 수행하기 위하여 다른 구조로 수정하거나 설계하기 위한 기초로서 당해 기술 분야의 숙련된 사람들에 의해 사용되어질 수 있을 것이다. 또한, 당해 기술 분야의 숙련된 사람에 의한 그와 같은 수정 또는 변경된 등가 구조는 특허 청구 범위에서 기술한 발명의 사상이나 범위를 벗어나지 않는 한도 내에서 다양한 변화, 치환 및 변경이 가능하다.
이상과 같이, 본 발명은 서버의 사전 탐색 공격에 대해서도 안전하며, 종래의 포드-칼리스키 방식과 달리 계산 및 인증 과정에서 SSL과 함께 사용하지 않아도 안전한 특징이 있다.
더욱이, 본 발명은 n 개의 키서버가 사용될 경우 사용자 단말기가 (n+1)번의 지수승 연산을 하여야 하는 종래의 포드-칼리스키 방식과 달리 2회의 지수승과 (n+1)회의 곱셈 연산으로 구현 가능하므로 효율성이 탁월한 장점이 있다.

Claims (13)

  1. (a) 사용자 단말기가 기억할 수 있는 비밀정보로부터 계산된 값 s를 사용자 아이디 A와 함께 n 개의 서버 KSi(i = 1, …, n)에게 전송하는 단계;
    (b) 상기 각각의 키서버 KSi(i = 1, …, n)가 자신의 개인키 xi(i = 1, …, n)와 전송 받은 값 s를 이용하여 Bi(i = 1, …, n)를 계산하여 사용자 단말기에게 전송하고, 자신의 데이터베이스에 상기 사용자의 아이디 A를 등록 저장하는 단계;
    (c) 상기 사용자 단말기가 전송 받은 n 개의 Bi(i = 1, …, n)와 서버들의 그룹 공개키 y를 이용하여 인증키 K를 생성하는 단계;
    를 이용하여 사용자가 기억할 수 있는 비밀정보로부터 인증키 K를 생성하는 인증 방법.
  2. 제1항에 있어, 상기 사용자가 기억할 수 있는 비밀정보가 PIN(Personal Identification Number) 또는 패스워드인 것을 포함하는 인증 방법.
  3. 제1항에 있어서, 상기 n 개의 키서버 KS1, …, KSn의 그룹 공개키 y는(단, g는 그룹의 원시원소이며 order(g) = q, p는 소수이며 p = 2q +1, q는 큰 소수)의 식으로 산출됨을 특징으로 하는 인증 방법.
  4. 제1항에 있어서, 상기 단계 (a)에서 산출되어 각각의 서버 KSi(i = 1, …, n)에 사용자의 아이디 A와 함께 전송되는 s는(단, g는 그룹의 원시원소이며 order(g) = q, p는 소수이며 p = 2q +1, q는 큰 소수이며, z는 난수)의 관계식으로부터 산출됨을 특징으로 하는 인증 방법.
  5. 제1항에 있어서, 상기 단계 (b)에서 각각의 서버 KSi(i = 1, …, n)가 산출하여 상기 사용자 단말기에 전송하는 Bi(i = 1, …, n)는(단, p는 소수이며 p = 2q +1, q는 큰 소수)의 관계식으로부터 산출함을 특징으로 하는 인증 방법.
  6. 제1항에 있어서, 상기 단계 (c)에서 산출하는 인증키 K는, (단, p는 소수이며 p = 2q +1, q는 큰 소수)의 관계식으로부터 산출되며, 상기 KDF()는 인증키 계산 함수임을 특징으로 하는 인증 방법.
  7. 삭제
  8. 제1항에 있어서, 상기 단계 (a)는 상기 사용자 단말기가 사용자가 기억할 수 있는 비밀정보 PWD를 Zp *상의 곱연산에 대한 위수가 소수 q인 원소로 대응시키는 함수 f를 이용하여 계산된 w(= f(PWD))와, 선택된 난수 z(1 ≤z ≤q-1)로부터 s를 계산한 후 사용자 아이디 A와 함께 (A, s)가 상기 n 개의 서버 KSi(i = 1, …, n)에 각각 전송되는 단계
    를 포함하는 인증 방법.
  9. 사용자 단말기가 기억할 수 있는 비밀정보 PWD로부터 n 개의 서버 KS1, KS2, …, KSn의 개인키 x1, x2, …, xn과 상기 복수 개의 키서버들의 공개키 y를 이용하여 인증키 K를 생성하는 시스템에 있어서,
    상기 사용자 단말기가 기억할 수 있는 비밀정보 PWD로부터 연산하여 송부된 값 s에 대해 자신의 개인키 xi(i = 1, …, n)를 이용하여 Bi를 산출하여 상기 사용자 단말기 측에 전송하는 서버 KSi(i = 1, …, n); 및
    상기 서버 KSi(i = 1, …, n)으로부터 전송받은 Bi(i = 1, …, n)와 상기 서버들의 공개키 y를 이용하여 인증키 K를 계산하는 사용자 단말기
    를 포함하는 인증 시스템.
  10. 제9항에 있어서, 상기 서버 KSi(i = 1, …, n)에 전송되는 s는 상기 사용자가 기억할 수 있는 비밀정보 PWD와 함수 f를 이용하여 w = f(P)가 계산되고, 난수 z(1 ≤z ≤q-1)을 선택하여(단, g는 그룹의 원시원소이며 order(g) = q, p는 소수이며 p = 2q +1, q는 큰 소수)를 계산하여 산출됨을 특징으로 하는 인증 시스템.
  11. 제9항에 있어서, 상기 서버 KSi(i = 1, …, n)가 전송하는 Bi(단, xi는 상기 서버 KSi의 개인키)의 관계식으로부터 연산되는 것을 특징으로 하는 인증 시스템.
  12. 제9항에 있어서, 상기 인증키 K는의 관계식으로부터 연산됨을 특징으로 하는 인증 시스템.
  13. 삭제
KR10-2002-0010313A 2002-02-26 2002-02-26 서버의 사전 탐색 공격을 고려한 패스워드 기반의 사용자인증 프로토콜 KR100398161B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2002-0010313A KR100398161B1 (ko) 2002-02-26 2002-02-26 서버의 사전 탐색 공격을 고려한 패스워드 기반의 사용자인증 프로토콜
US10/325,904 US20030163698A1 (en) 2002-02-26 2002-12-23 Password-based authentication protocol secure against server's dictionary attack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0010313A KR100398161B1 (ko) 2002-02-26 2002-02-26 서버의 사전 탐색 공격을 고려한 패스워드 기반의 사용자인증 프로토콜

Publications (2)

Publication Number Publication Date
KR20020026504A KR20020026504A (ko) 2002-04-10
KR100398161B1 true KR100398161B1 (ko) 2003-09-26

Family

ID=19719485

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0010313A KR100398161B1 (ko) 2002-02-26 2002-02-26 서버의 사전 탐색 공격을 고려한 패스워드 기반의 사용자인증 프로토콜

Country Status (2)

Country Link
US (1) US20030163698A1 (ko)
KR (1) KR100398161B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143830A1 (en) * 2005-12-20 2007-06-21 International Business Machines Corporation Method, apparatus and system for preventing unauthorized access to password-protected system
US8464058B1 (en) 2008-04-08 2013-06-11 Hewlett-Packard Development Company, L.P. Password-based cryptographic method and apparatus
US7522723B1 (en) * 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information
GB2490483B (en) 2011-04-26 2019-05-29 Hewlett Packard Entpr Dev Lp Digital signature method and system
US9323909B1 (en) * 2012-12-07 2016-04-26 Emc Corporation Sharing a cryptographic device by partitioning challenge-response space

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920630A (en) * 1997-02-25 1999-07-06 United States Of America Method of public key cryptography that includes key escrow
US6829356B1 (en) * 1999-06-29 2004-12-07 Verisign, Inc. Server-assisted regeneration of a strong secret from a weak secret
CA2277633C (en) * 1999-07-19 2009-10-20 Certicom Corp. Split-key key-agreement protocol
US7359507B2 (en) * 2000-03-10 2008-04-15 Rsa Security Inc. Server-assisted regeneration of a strong secret from a weak secret
CN1249972C (zh) * 2000-06-05 2006-04-05 凤凰技术有限公司 使用多个服务器的远程密码验证的系统和方法
KR100406754B1 (ko) * 2001-04-11 2003-11-21 한국정보보호진흥원 피케이아이 기반의 상업용 키위탁 방법 및 시스템

Also Published As

Publication number Publication date
KR20020026504A (ko) 2002-04-10
US20030163698A1 (en) 2003-08-28

Similar Documents

Publication Publication Date Title
Mandal et al. Certificateless-signcryption-based three-factor user access control scheme for IoT environment
Amin et al. An untraceable and anonymous password authentication protocol for heterogeneous wireless sensor networks
Kumari et al. Design of a provably secure biometrics-based multi-cloud-server authentication scheme
Chang et al. An efficient and secure multi-server password authentication scheme using smart cards
US9692603B2 (en) Biometric PKI authentication
CN108270571A (zh) 基于区块链的物联网身份认证系统及其方法
US8621216B2 (en) Method, system and device for synchronizing between server and mobile device
WO2001084761A1 (en) Method for securing communications between a terminal and an additional user equipment
JP2003536320A (ja) 複数のサーバを使用した遠隔パスワード認証のためのシステム、方法およびソフトウェア
JP2009510955A (ja) ユーザ認証の方法およびデバイス
CN101278538A (zh) 用于用户认证的方法和设备
Qu et al. Two-factor user authentication with key agreement scheme based on elliptic curve cryptosystem
US20080181401A1 (en) Method of Establishing a Secure Communication Link
Tsai et al. A new password-based multi-server authentication scheme robust to password guessing attacks
CN108289026A (zh) 一种卫星网络中的身份认证方法及相关设备
KR100398161B1 (ko) 서버의 사전 탐색 공격을 고려한 패스워드 기반의 사용자인증 프로토콜
EP1933497A1 (en) Method of and server for authorizing critical commands
Han et al. A novel multifactor two-server authentication scheme under the mobile cloud computing
Chang et al. A secure and efficient strong-password authentication protocol
Tseng et al. On the security of methods for protecting password transmission
Mohan et al. Cryptanalysis of Design and Analysis of a Provably Secure Multi-server Authentication Scheme.
Chen et al. An efficient authentication and access control scheme using smart cards
Sudhakar et al. Secured mutual authentication between two entities
Gouda et al. Single password, multiple accounts
Hart et al. Website credential storage and two-factor web authentication with a Java SIM

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
FPAY Annual fee payment

Payment date: 20120713

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20130830

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140829

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee