DOI QR코드

DOI QR Code

Multi-Server Authenticated Key Exchange Protocol

다중서버를 이용한 인증된 키교환 프로토콜

  • 이정현 (고려대학교 정보보호기술연구센터(CIST)) ;
  • 김현정 (고려대학교 정보보호기술연구센터(CIST)) ;
  • 이동훈 (고려대학교 정보보호기술연구센터(CIST))
  • Published : 2003.02.01

Abstract

In this paper, we define two security concepts, “non-computable security” and “distribution security”, about authentication information committed to a authentication server without any trustee, and propose an authenticatied key exchange protocol based on password, satisfying “distribution security”. We call it MAP(Muti-Server Authentication Protocol based on Password) and show that SSSO(Secure Single Sign On) using MAP solves a problem of SSO(Single Sign On) using authentication protocol based on password with a trustee.

본 논문에서는 사용자가 서버를 신뢰하지 않아도 되는 인증프로토콜을 설계하기 위하여 인증서버에 위탁되는 인증정보에 대한 두 가지 안전성인 “계산 불가능 안전성”과 “분산 안전성”을 정의한다 또한 분산 안전성에 기반 하여 서버를 신뢰하지 않아도 되는 패스워드 기반 인증프로토콜인 MAP(Multiplex Server Authentication Protocol)을 제시하고, 이러한 MAP을 이용한 SSSO(Secure Single Sign On)가 서버를 신뢰하여야 하는 인증프로토콜을 이용한 SSO(Single Sign On)의 문제점을 해결함을 보인다.

Keywords

I. 서론

구현된 인증 프로토콜의 안전성은 2가지 측면에서고려해야 한다. 하나는 프로토콜의 인증과정에서의안전성이고 다른 하나는 구현된 프로토콜의 인증서버에 대한 안전성을 고려할 수 있다. 전자는 사용자와인증서버 사이에 프로토콜 진행 과정 중 전달되는 메시지에 대한 프로토콜의 안전성이고, 후자는 인증과정에 필요한 사용자 인증정보에 대한 안전성이다. 기존의 패스워드 기반 인증프로토콜의 안전성 연구는후자에 대해서는 안전하다고 가정하고, 전자에 대해서만 언급해왔다. 하지만 이러한 가정은 인증서버를사용자가 신뢰한다는 가정하에서 시작된다.

본 논문에서는 후자에 대한 안전성을 고려한 패스워드 기반 인증 프로토콜을 제시한다. 후자에 대한안전성은 인증서버에 대한 외부공격자와 내부공격자두 종류의 공격자에 대한 안전성을 고려해야 한다. 외부공격자에 대한 안전성은 인증시스템 밖에서부터 인증 시스템에 침입해 인증서버에 저장된사용자 인증정보를 알아내려는 공격자이고, 내부공격자는 인증서버에 저장된 인증정보를 가지고사용자를 위장하려는 공격자이다. 외부 공격자에대한 안전성은 프로토콜에 대한 안전성측면에서고려해야 할 사항이 아닌 시스템에 대한 안전성에서 고려해야 할 사항이다. 따라서 본 논문에서는 외부공격자에 대한 안전성은 안전하다고 가정하고, 내부 공격자에 대하여 안전한 인증프로토콜을 제시한다

인증프로토콜에서 인증서 버는 사용자에게서 위탁받은 사용자 인증정보를 통해 인증과정을 수행한다. 이러한 인증프로토콜에서 사용자가 위탁하는 인증정보에 대한안전성은 매우 중요하게 고려되어야 한다. 특히 패스워드 기반 인증프로토콜에서의 사용자는 자신이 기억하는 패스워드에 대한 인증정보를 인증서버에 위탁해 인증과정을 수행한다. 그러나 패스워드는사용자가 기억할 수 있는 정보이어야 하기 때문에 비밀키에 비해 상대적으로 엔트로피가 매우 낮다는 문제점을 가지고 있다. 따라서 패스워드 기반 인증프로토콜의 경우 패스워드에 대한 인증정보 위탁은 더욱더 안전하게 고려되어야 한다. 인증프로토콜에서 사용자가 서버와 인증과정에서 사용할 인증정보를 위탁할 때, 안전하지 않은 인증정보를 위탁한다면 사용자는 서버를 신뢰하여야 한다. 즉 내부 공격자에 대해안전하지 않는 인증프로토콜이 된다.

본 논문에서는 내부 공격자에 대해 안전성을 재고하기 위해 사용자가 위탁하는 인증정보를 안전하게생성하기 위한 두 가지 안전성 개념인 ''계산 불가능안전성'' 과 “분산 안전성”을 정의한다. 특히 “분산안전성''에 기반하여 내부 공격자에 대해 안전한 인증정보를 생성하는 패스워드 기반 분산 인증프로토콜인 MARMulti Server Authenticated Key Exchange Protocol) 을 제시한다. 또한 서버를 신뢰하지 않아도 되는 MAP 을 이용한 SSSCXSecure Single Sign On)가 서버를 신뢰하여야 하는 패스워드 기반 인증프로토콜올 이용한 SSCXSingle Sign On)의 문제점을 해결함을 보인다.

2절에서는 지금까지의 패스워드 기반 프로토콜의연구를 설명하고, 3절에서는 서버를 신뢰하지 않아도되는 패스워드 기반 인증프로토콜을 설계하기 위한인증정보에 대한 두 가지 안전성 개념인 “계산 불가능 안전성”과 “분산 안전성”을 정의한다. 또한 4절에서는 CDL(Credential Down Load) 프로토콜올 이용하여 서버를 신뢰하지 않아도 되는 패스워드 기반 인증된 키교환 프로토콜을 설명한다. 그리고 5절에서는서버를 신뢰하지 않을 뿐만 아니라 CDL프로토콜을이용한 서버를 신뢰하지 않아도 되는 인증된 키교환프로토콜보다 효율적인 MAP을 제사하고, 6절에서는의 안전성에 대하여 설명한다. 또한, 7절에서는 기존의 패스워드 기반 인증프로토콜을 이용한 SSO 의 문제점을 지적하고, 을 이용한 SSSO가 이러한 문제점을 해결함을 보인다.

II. 기존 연구

패스워드 기반 인증프로토콜이란 어떤 서버에게인증을 받으려는 사용자가 스마트카드와 같은 추가적인 장비 없이 오직 자신이 기억하고 있는 한 개의 패스워드(long term secret)만을 가지고 인증받을 수 있도록 하는 프로토콜 적이다. 이러한 편리성 때문에패스워드 기반 프로토콜은 이동 사용자 서비스(key roaming service) 등 각 분야에 널리 사용되고 있다. 지금까지 패스워드 기반 프로토콜은 크게 인증된 키교환 프로토콜과 CDZ, (Credential Down Load) 프로토콜두 분야로 연구되고 있다'지.

2.1 패스워드 기반 인증된 키교환 프로토콜

이 카테고리에 속한 프로토콜은 사용자가 패스워드만올 이용하여 서버와 서로 인증된 키(세션키)를교환 . 공유하는 프로토콜이다. 이러한 패스워드 기반인증된 키교환 프로토콜은 대칭 구조와 비대칭구조 프로토콜로 분류될 수 있다街. 대칭 구조 프로토콜은 사용자와 서버가 각각 같은 값을 이용하여 서로 정당한사용자 그리고 정당한 서버라는 것을 증명하는 프로토콜이고, 비대칭구조 프로토콜은 사용자와 서버가각각 다른 값을 이용하여 서로 정당한 사용자 그리고정당한 서버라는 것을 증명하는 프로토콜이다. 대칭구조의 경우 서버가 저장하고 있는 사용자 인증정보파일(패스워드 파일)을 공격자가 얻게 되면 그 공격자는 항상 사용자 위장 공격과 서버 위장 공격을 할 수 있다. 이러한 대칭 구조의 패스워드 기반 인증된 키교환 프로토콜은 EK般 SBEKE1'】등이 있다.

이러한 문제점을 개선하기 위해 제시된 프로토콜이 비대칭구조 프로토콜이다. 비대칭구조 프로토콜은서버가 저장하는 사용자 인증정보 파일(패스워드 검증 파일)올 공격자가 얻더라도 공격자는 곧바로 사용자 위장공격을 할 수 없다. 하지만 여전히 공격자는오프라인 사전공격을 통해 사용자를 위장할 수 있다. 결국 비대칭구조에서 서버의 사용자 인증정보 파일이공격자에게 알려졌올 경우 공격자는 서버를 항상 위장할 수 있는 점에서 대칭 구조와 같지만 사용자를위장하기 위해 먼저 사전공격을 수행해야 한다는 점에서 대칭구조보다 좀 더 안전성을 확보할 수 있다. 이러한 비대칭 구조 프로토콜의 예는 A- EKE地 B- SFEKg sRpE, AuthAm, (가寥이 등이 있다.

비대칭 구조에 대한 또 다른 기법은 서버의 비밀키를 이용하는 4"别를 들 수 있다. AMP는 서버에서 안전하게 관리되는 서버 비밀키를 사용자 인증정보를 생성할 때 이용하여 사용자 인증정보 파일이공격자에게 알려져도 사전공격 및 서버 위장공격이이루어질 수 없도록 하는 구조이다. 하지만 는서버위장 공격과 사용자 인증정보 파일에 대한 사전공격을 막는 실용적인 프로토콜이라 할 수 없다. 그이유는 AMP가 주장하는 안전성을 확보하기 위해서버의 비밀키는 서버와 분리된 보호 모듈 안에만 저장되어 있어야 하기 때문에 서버의 사용자 인증연산이 분리된 보호 모듈 내에서 수행되어야 한다. 이는연산 속도에 영향을 미치며 결과적으로 사용자가 많은 시스템에서는 AMP 저자가 지적한 것처럼 프로토콜 진행 과정에서 병목현상이 발생하게 된다. 이러한 병목현상을 막기 위해서는 서버의 사용자 인증연산 과정에서 서버 비밀키가 분리된 보호모듈 밖으로나올 수 밖에 없고 이러한 경우 AAfP의 안전성은 결국 다른 비대칭 패스워드 기반 인증된 키교환 프로토콜과 동일해 진다.

또한 위에서 언급한 모든 패스워드 기반의 인증된키교환 프로토콜은 그것이대칭 구조이든든 비대칭구조이든 또는 서버 비밀키를 이용하든 패스워드에 대한일방향 함수 값은 사전공격에 대해 취약하기 때문에내부공격자에 대해 안전하지 않다. 즉 사용자는 서버를 신뢰하여야 한다.

2.2 CDL(Credential Down Load) 프로토콜

지금까지 패스워드 기반 프로토콜은 사용자 인증후 세션키를 교환하는 프로토콜이 대부분이었다. 하지만 최근 또 다른 형태의 패스워드 기반 프로토콜인 cza프로토콜이 제안되었다. 사용자는 패스워드를이용해서 사전에 키를 위탁해 놓은 키위탁 서버로부터 엔트로피가 높은 비밀키를 내려받은 후 이 키를이용해서 응용서버와 사용자 인증을 수행한다지

이러한 CZ)乙프로토콜 중 주목할 만한 것은 Ford- Kaliski방식'曲과 Jablon방식凹이다. 이 두 가지 방식은패스워드의 약점(낮은 엔트로피문제)을 보완하기 위한 방법으로 제안되었다. 즉, 위에서 지적한대로 서버의 사용자 인증정보가 노출되면 항상 사용자를 위장할 수 있다. 이러한 서버의 사용자 인증정보 노출문제를 해결하기 위해 위의 두 가지 방법에서는 사용자인증정보를 다중서버에 분산하여 저장한다. 따라서인증에 참여하는 w 개의 서버 중 左-1개의 사용자 인증정보가 공격자에게 노출되어도 공격자는 사용자의패스워드를 알 수 없다.

III. 인증정보의 안전성

기존 대부분의 패스워드 기반 인증프로토콜의 경우, 안전성을 위해 사용자가 인증서버에게 위탁하는 인증정보를 관리하는 서버를 사용자가 신뢰하여야 한다는조건이 요구된다. 즉 내부공격자에 대해 사용자 인증정보는 매우 취약하다는 약점을 가지고 있다. 이처럼내부 공격자가 존재하는 경우에도 안전한 인증프로토콜을 설계하기 위한 방법으로 “계산 불가능 안전성” 과 “분산 안전성”이라는 두 가지 안전성에 기반하는인증된 키교환 프로토콜을 설계할 수 있다. 이 두 가지 안전성에 대해 설명하면 다음과 같다.

먼저 “계산 불가능 안전성”의 경우를 살펴보면, 이는 서버의 계산능력에 기반하는 안전성이라 볼 수 있다. 어떤 패스워드 기반 인증프로토콜에서 서버에저장된 사용자 인증정보로부터 다항식 시간 내부공격자가 사용자를 위장할 수 있는 정보(패스워드)를 찾아낼 수 있다면, 이 프로토콜에서는 사용자 위장공격에 대한안전성을 위해 사용자는 서버를 신뢰하여야한다. 하지만 다항식 시간 내부공격자가 서버에 저장된 인증정보로부터 사용자 위장정보를 계산할 수 없을 경우 서버에 대한 신뢰성이 요구되지 않으며 이프로토콜은 내부 공격자에 대해 안전한 프로토콜이라할 수 있다. 이와 같은 계산 불가능 안전성에 대해정의하면 다음과 같다.

[정의 1] (계산 불가능 안전성)

인증프로토콜 T가 주어졌을 때, T의 임의의 내부공격자 w의 계산 능력을 0( . )라 하고, T상에서사용자 爲의 비밀정보(<5) 를 인증하기 위해 저장하고있는 인증정보를 丄.(6) 라 하자. 이때 모든, 에 대해다음을 만족하면 T는 내부 공격자에 대해 “계산 불가능 안전성”에 기반하여 서버를 신뢰하지 않아도 되는 인증프로토콜이라 한다.

#

여기서 0Q, )는 7, (<?)로부터 3를 계산하기 위해 요구되는 계산 복잡도이다.

즉, 임의의 내부공격자의 계산능력에 비해 사용자의인증정보로부터 사용자 위장 공격을 위해 필요한 정보를 구하는 계산량이 더 크도록 프로토콜을 구현한다면 이는 신뢰성이 없는 서버에 대해서도 안전한 프로토콜이라 할 수 있다. 본 논문에서는 다항식 시간 내부공격자에 대해 안전하면 사용자가 서버를 신뢰하지않아도 되는 인증프로토콜이라 정의한다.

다음으로 “분산 안전성”에 대해 살펴보도록 한다. 이것은 내부 공격자로부터 사용자 인증정보에 대한안전성을 보장하기 위해 사용자 인증정보를 다중서버에 분산 저장하는 방식에 대한 안전성 요구사항이다. 모든 분산된 인증정보가 모일 경우에만 사용자 인증정보가 복원될 수 있도록 함으로써 사용자는 각 서버를 신뢰할 필요가 없게 된다. 분산 안전성을 만족하는사용자 인증정보 분산은 다음과 같이 정의할 수 있다.

[정의2] (분산 안전성)

인증 프로토콜 T가 주어졌을 때, 모든 자연수 n 에 대해 了의 임의의 분산된 내부공격자의 집합을 附={物, …, 糾}라 하고 T상에서 각 사용자 의비밀정보 於게 대한 인증정보를 라 하자. 모든 내부공격자 叫는 각 사용자 ", .의 인증정보 43)에 대해 사용자의 분산 인증정보 1^3) 만을 저장하고 있다. 이때 다음 (1), (2) 조건이 성립하면 T는 내부 공격자에 대해 “분산 안전성”에 기반하여 신뢰성이 존재하지 않는 인증프로토콜이라 한다.

(1) 각 사용자 以에 대해 내부공격자가 저장하고 있는 사용자의 모든 분산 인증정보 飞(3) 를 입력값으로 하면서 다음을 만족하는 다항식 시간 알고리즘 必가 존재한다.

#

(2) 내부 공격 자중 일부가 공모한 공모집단을 C={"5, z知, …, ""°}, 1)라 하자. 이때 공모집단이 저장하고 있는 사용자 부분 인증정보를 입력값으로 하여 사용자 인증정보를 찾는알고리즘 厶가 존재할 때 임의의 난수를 입력값으로하면서 다음을 만족하는 알고리즘 B가 존재한다. 

#

위의 정의에서 (1) 번이 의미하는 것은 항상 모든 부분 인증정보가 모였을 때만, 쉽게 사용자 인증정보 4。)를 찾아낼 수 있음을 의미한다. (2)번의 경우는 c(M”-l)명의 각 인증서버의 내부 공격자들이 공모를 통해 얻은 c개의 사용자 부분 인증정보를 이용하여 사용자 인증정보 /, (a) 를 계산할 확률은 사용자의 부분 인증정보를 전혀 알지 못하는 공격자가 사용자 인증정보를 계산해내는 확률과 동일해야 함을 의미한다.

IV. 계산블가능 안전성에 기반한 인증된 키교환 프로토콜.

CDL프로토콜과 기존의 패스워드 기반 키교환 프로토콜을 이용하여 다음과 같은 2개의 인증된 키교환프로토콜을 설계할 수 있다.

.CDL 대칭 구조 인증된 키교환 프로토콜.

.CDL 비대칭 구조 인증된 키교환 프로토콜.

본 절에서는 Jablon 방식의 C应프로토콜을 이용한인증된 키교환 프로토콜([그림 1])을 설명한다.

[그림 1] CDL 프로토콜을 이용한 대칭 구조 인증된 키교 환 프로토콜

다음은 Jablon방식 프로토콜이다.

・ Jablon 방식 CDL프로토콜

1) 사용자 둥록

。/> = 2驾 + 1을 만족하는 소수 p, q, r

。h : 일방향 해쉬함수.

① 사용자 U는 패스워드를 선택하고, /)/«;에 대응하는 위수가《인 생성자 g를 계산한다.

. g»= h(p/w)2r mod p

② 난수값 y, (부분 키)를 생성하여 瓦를 생성한 뒤, j 비트의 비밀 마스터키 X을 계산한다. 또한, 확인자 MoofPK을 생성한다.

, Bj = gj mod p

. K= A(晶II B2|| ... II B») mod 2’

, proofPK= Z?(Kllg»)

③ 인증서버가 정당한 부분 키들을 보냈는지 확인할수 있도록 忻oofPK를 계산하고, C?■가 올바르게 K 을 계산했는지를 확인할 수 있도록 키 쌍( V, D)을선택한다.

. proofPK= h( K)| gp)

. D : 서명키.

. Dk : 마스터키로 £>를 암호화한 값.

. V : 서명 확인 키.

④ C班서버 에 각각의 부분 인증정보를 등록한다.

. u i Sj :( Dk, V, proofPK)

2) K 다운로드

① U는 加를 통해 旳를 계산한 뒤, 난수 X를 선택하여 블라인드 챌린지 Q= 用 mod》를 생성하여 사용자 刀와 함께 {£}], 心에게 전달한다.

. :(ZD, Q)

② {$;}心5는 足= Qy, modz를 계산한 뒤 7?„ MoofPK, DK를 사용자에게 전달한다.

. {S, }y, L 사용자 : Dk

③ U는 B, = R;" mod》를 계산한 뒤 K을 복원한다. 또한 X이 올바른지 검증한다.

. proofPK=r! h( X]| 釦)

④ U는에서 〃를 계산한 뒤 Q를 서명해 {昂“心에게 정당한 사용자임을 증명한다.

⑤ {我心由는 각기 丫를 통해 전달된서명 값이이 올바른지 확인한다.

사용자 U는 자신이 기억하고 있는 패스워드(》"<, ) 만을 이용하여 키 위탁 서버 집합 {S'}”*”로부터 엔트로피가 높은 비밀키 K를 내려받고 K, 를 생성하여 각각의 응용 서버 AS, 에 자신을 등록한다. 그리고 /, .를 이용하여 각각의 AS, 와 인증된 키교환 프로토콜을 수행한다. 이러한 환경에서 CDZ대칭구조 인증된 키교환 프로토콜은 사용자가 자신이 가지고 있는 키(K)가 응용 서버가 인증을 위해 저장하는 키 (K, )와 같다는 것을 증명하는 프로토콜이고, C班비대칭구조 인증된 키교환 프로토콜은 사용자가 응용서버가 사용자 인증을 위해 저장하는 확인 정보( VK, ) 에 대한 비밀키(K, )를 알고 있다는 것을 증명하는프로토콜이다.

이러한 CQ乙프로토콜을 이용한 인증된 키교환 프로토콜은 力也대신에 力也에서 유도된 비밀키 K를 이용하여 키교환 프로토콜을 수행할 수 있다는 점에서 패스워드 기반 인증된 키교환 프로토콜에서 가능한 사전공격을 막을 수 있다.

[그림 1]인 cza대칭구조 인증된 키교환 프로토콜을 설명한다. CZ七대칭구조 인증된 키교환 프로토콜은 [그림 1]의 키교환 프로토콜이 대칭구조를 가지고있는 인증된 키교환 프로토콜이다. 대칭구조를 이용하여 키교환 프로토콜을 구성한다면 공격자는 패스워드를 알아낼 필요 없이 목적한 응용서버를 공격해서사용자를 위장할 수 있다. 즉 내부공격자에 대해 안전하지 않다. 예로 [그림 1]에서 7弓를 공격자가 알아낸다면 패스워드를 알 필요 없이 厶$2에 대해 사용자를 위장할 수 있다. 따라서 CDL대칭구조 인증된 키교환 프로토콜은 사용자가 서버를 신뢰하여야 하는인증된 키교환 프로토콜이다.

CDL프로토콜과 기존에 존재하는 패스워드 기반비대칭구조 인증된 키교환 프로토콜을 이용하여 “계산 불가능 안전성"에 기반하여 서버에 대해 신뢰성이 없는 인증된 키교환 프로토콜을 구성할 수 있다. [그림 2]는 CDL 비대칭 구조 인증된 키교환 프로토콜을 설명한다. [그림 2]의 키교환 프로토콜로서 기존의패스워드 기반 비대칭 구조 인증된 키교환 프로토콜중가장 효율성이 높은(서버의 분리된 모듈 안에 저장되어있는 서버 비밀키가 인증서버의 메모리에 저장된다는 가정하에) A物? 를 이용한다고 가정한다. 이렇게구성된 C 屋 비대칭 구조 인증된 키교환 프로토콜인경우 공격자가 응용 서버 4, 에 위임된 인증정보( VKj) 를 얻을 지라도 는 가 “8와는 달리 높은 엔트로피의 정보이므로 사전공격을 수행할 수 없다. 즉 어떤다항식 시간 계산능력을 가진 공격자가 厶&에 위임된정보에 대해 사용자 인증정보를 계산할 수 없다. 따라서 CDL대칭구조 인증된 키교환 프로토콜과는 다르게 AS 에 대하여 사용자를 위장할 수 없다. 따라서 C皮비대칭구조 인증된 키교환 프로토콜은 “계산불가능 안전성”에 기반하여 사용자가 서버를 신뢰하지않아도 된다. CQL비대칭구조 인증된 키교환 프로토콜에 대해 사용자를 위장할 수 있는 유일한 방법은 {S, }”, . 전체에 대한 인증정보를 얻어 사전공격을통하여 패스워드를 알아내어야 한다.

[그림 2] CDL 프로토콜을 이용한 비대칭 구조 인증된 키교환 프로토콜

이러한 안전성에도 불구하고 CDL프로토콜을 이용한 인증된 키교환 방식은 CDL프로토콜을 먼저 실행한 후 별도로 키교환 프로토콜을 진행해야 되기 때문이 기존의 패스워드 기반 인증된 키교환 프로토콜에 비해 매우 비효율적이라는 문제점이 있다.

V. MAP(Muti-Server Authenticated Key Exchange Protocol based on Password)

본 절에서는 “분산 안전성”에 기반하여 사용자가서버를 신뢰하지 않아도 되는 인증된 키교환 프로토콜인 MAP 프로토콜을 설계한다. 설명에 앞서 본 논문에서의 지수 계산 중 mod가 언급되지 않은 계산은 modP계산을 전제로 한다.

5.1 사용자 등록

먼저 U는 의 인증서버 집합 {$}戚“에 자신을 등록한다. 초기 둥록과정은 안전하고 인증된 채널을 통해 이루어진다고 가정하고 둥록과정은 아래와 같다. 본 논문에서 가정하는 안전하고 인증된 채널은 PKI등 다양한 방법으로 획득할 수 있다.

1) 등록 요청.

먼저 사용자 U는 인증서버 집합 {S'}“, g에게 둥록요청 메시지를 보내 사용자 등록 과정을 시작한다.

#

2) 등록 응답

t/로부터 RRM을 받은 {S, }y 중 어떤 S;는 U 에게 현재 시스템에서 사용되고 있는 공용 파라미터를 전달한다.

#

3) 인중 정보 생성 및 전달

로부터 공용파라미터를 전달받은 u는 {SJiu에 등록할 인증정보를 아래와 같이 생성한다.

① 패스워드(/>/也) 및 비밀키 선택(K)

- 먼저 "는 자신이 기억할 /)/8 와 난수를 선택한다. 그 뒤 初3를 상의 곱 연산에대한 위수가 4인 원소로 대응시키는 함수 BDF (.)(=A(/>/w)2: h는 해쉬함수) 에 〃出를 입력해 g』=BDF(t>hv))를 계산하고, K=g牧 mod P) 를 계산한다.

#

② 비밀키 확인자( 如r) 생성.

- K에 대한 일방향 해쉬 함수 값 以을 계산한다.

. H(K) = hK : H( . )는 일방향 해쉬함수.

③ {昂“心의 부분 키 생성.

- t/는 각 인증서버가 저장할 서버 부부분 키를다음과 같이 선택한다.

, ki (? n-1) ,

k. = X—另庇(modg) 1= 1

④ "는 서버 집합에서 사용자를 인증할 때 필요한서명키 쌍 y(서명 확인키), ( * 서명키)을 생성한 뒤, %를 代로 암호화해 Z>(=Ek(x)) 를 생성한다.

⑤ 力"에서 유도된 사용자 공개키 0=g#(mod P, K”= K mod 아를 생성한다.

⑥ 각각의 인증서버에 위에서 생성한 부분 인증정보를 전달한다.

. U-» Si( i = 1, ..., n) : (ID, 如, 0, X, D, hQ

4) 사용자 등록

각각의 인증서버 S, 는 사용자의 부분 인증정보 (ID, & 0, X, D )를 각각 사용자 丑)별로 저장한다.

5.2 사용자와 서버 간의 키교환 과정

U가 내의 특정 서버 S, (eR{SJ)와 인증된 키 교환을 수행하는 과정을 살펴보자.

① "는 a', a트 rZ:를 선택하여 Qu-s를에게 브로드캐스팅한다.

- Qu-s = Z게gfJIg訓,

② G({S, }y“:f)의 각각의 인증서버 S는 Rz 를 "에게 전달하고, , 는 b 드 !Z를 선택한 뒤 Rs, -u를 생성하여 t/에게 전달한다.

-Rg-u= { &侦/|庇}3.宀 . R S, - U = S, \\gueb}\\gi'b\\D\\hK

③ U는 7?$-u와 d、a를 가지고 g方'* , gl를 계산하고, g广와 Rg-u를 가지고 X.를 계산한다. 또한 H(、K、) = hK를 통해 올바른 K를 생성했는지 확인한 뒤, 와의 세션키 Ks를 계산한다.

.氏=(1]矿/"

:=1

. Ks=(g%)f(m"

④ S, 는 "가 Ks 를 계산하는 동안 "의 0를 이용하여 세션키 Ks를 계산한다.

. Ks=3.g沥

[그림 3] MAP프로토콜

⑤ "는 자신이 정당한 사용자라는 것과 키확인을 위해 K를 이용해 力를 복호화해 X를 얻은뒤 X를 가지고 Qu-s에 서명해 "을 생성하여 브로드캐스팅을 한다.

. Sig= Sigx( Qu-s) . M = 丑기 |S』|S谚

⑥ 〃을 전달받은 {S, }y, M“ 각기 %를 가지고 M 이 정당한지 확인한다., 는 M이 정당하면 ”와같은 세션키를 공유하고 있음을 확인할 수 있다. . Verificatione Sig, Qu-s) = ? true

心F을 통해 계 산하는 K는 刼 "와는 달리 엔트로피가 높은 값이다. 따라서 0는 각 인증서버 집합의 사용자 부분키( 亢)가 모두 드러나기 전까지는 사전 공격에 대해 안전하다.

5.3 MAP과 CDL비대칭 구조 인증된 키교환 프로토콜의 효율성 비교.

''분산 안전성''에 기반하여 서버에 대한 신뢰성이없는 패스워드 기반 인증된 키교환 프로토콜 MAP과 “계산 불가능 안전성”에 기반하여 서버에 대한 신뢰성이 없는 C班비대칭 구조 인증된 키교환 프로토콜의 효율성을 분석하겠다. CDL비대칭구조 인증된 키교환 프로토콜에서 사용되는 키교환 프로토콜은 기존의 비대칭구조 패스워드 기반 인증된 키교환 프로토콜중 가장 효율성이 뛰어난 AM尸를 사용하여 비교한다. 본 논문에서 지수 계산량은 사용자가 난수를선택한 시점으로부터 키교환을 완료하기까지 소요되는 시간에서 메시지 전송에 소요되는 시간을 제외한 시간을 의미하고, 사전계산(prevomputation)은고려하지 않겠다. 따라서 M4P의 지수 계산량은 다음과 같이 8번으로 고정된다.

[표 1] MAP과 CDL비대칭구조 인증된 키교환 프로토콜의 효율성 비교

위의 비교에서 서버의 개수/는 如이다. 즉서버의 개수가 2개 일 경우 C班비대칭 구조의 경우 7.6번의 지수 계산을 해야 하고 서버의 개수가 증가함에 따라 지수 계산량이 증가한다. 그에 비해 MAP 은 서버의 개수의 크기와 관계없이 총 8번의 지수계산을 요구한다. 또한 C应비대칭구조의 메시지 전송횟수는 CL匕프로토콜 2번(마지막 Q에 대한 서명전달은 전송횟수에서 고려하지 않는다. IV 절의 Jablon 방식의 CDL 프로토콜 참고)과 AMP 4번으로 총 6회이고, 이에 비해 MAPe 키확인 까지 총 3번으로 메시지전송횟수에서도 MSPe 효율성이 높다.

VI. MAP 안전성 분석

정당한 사용자가 정당한 서버와 MAP 프로토콜을실행하였다면 서버와 사용자 사이에 같은 세션키가생성된다는 것은 위에 서술된 프로토콜을 통해 알 수 있다. 다음은 여러가지 측면에서 안전성을 검토한다.

1)DMSP이 성공적으로 수행되는 동안 도청자에 의해 세션키에 대한 어떤 정보도 드러나지 않는다.

증명을 위해 다음과 같은 기호를 정의한다.

■ Adv : MAP 프로토콜의 공개값과 키교환 프로토콜중 전송되는 값들을 입력값으로 하여 MAP 의 세션키를 계산하는 알고리즘.

. AdvDDLP : p (mod p)를 소수, g를 Z;= <g>를 만족하는 생성자라 하자, 이때 임의의 a, a\b e 4 에 대해 입력값 g\ ga', ga'b, ga' b, &, p로부터 gb 를 계산하는 알고리즘.

. AdvDLP : p (mod p) 를 소수, g를 <g>를 만족하는 생성자라 흐}.자, 이때 임의의 a, 에 대해 입력값 妒, g°E, g, P로부터 扌를 계산하는 알고리즘. 즉 应F문제를 푸는 알고리즘.

위에서 정의한 알고리즘을 사용하여 도청자가 세션키 Ks값에 대한 어떤 정보를 알아내는 것은 적어도문제만큼 어렵다는 것을 보인다. 키 교환 과정에서 어떤 사용자에 대한 인증서버 집합의 모든 사용자 부분키 정보와 사용자의 패스워드가 노출 된 환경을 가정화자. 증명의 편의를 위해 공격자에게 알려진사용자의 모든 부분키를 1로 가정한다. 그러면 K값은 g&이 된다. 또한 증명의 편의를 위해 K값을 1로 가정한다. 이때 아래의 Adv /覆의 파라미터는 Ad助庞?와비교할 수 있고, Ad如炫p의 파라미터는 의파라미터와 다음과 같이 비교할 수 있다.

Adv MAP(. g&, gif, gll " * g% b, gu, P) =sh b ■ Su= Ks

AdVDDLfk gu< Sv, gu 6, g& 6 , gu> P) —K』g# = gu AdvoLrk a , g*"' g" =gu

", gu, P)

즉, Adv 紡※가 존재한다면, 厶物应心가 존재할 수있고 Adug가 존재한다면 AdvDLP7\ 존재할 수 있다. 따라서 J4AP프로토콜의 공개된 정보와 사용자의패스워드 그리고 사용자 부분키를 이용하여 세션키를알아내는 것은 적어도 应F문제를 푸는 것만큼 어렵다.

2) 전체 서버집합의 어떤 부분키를 통해 다른 부분키를 알아내거나 확인할 수 없다.

M4P프로토콜의 공개 파라미터와 전체 부분키 {庇}ye 중 임의의 庇를 제외한 모든 패스워드 人가다음과 같이 주어지고 다고 가정하자. 설명의 편의를위해 岳를 제외한 모든 {血 }“心가 1이라고 가정한다. (g缶 gf”g缶 g旨* "® 气弟广", 6, Y, x, H(K), P, ") 위와 같은 정보를 통해서 定를 계산하기 위해서는 DLP 를 풀어야 한다.

3) 성공적인 프로토콜의 진행동안 패스워드에 대한사전공격이 불가능하다.

패스워드에 대한 사전공격은 모든 서버집합의 부분키가 드러난 상태에서 g分을 통해서만 가능하다. 또한 부분키를 알기 위해서는 2)번에서 보인 것처럼 DLP를 풀어야 하므로 패스워드에 대한 사전공격을하기 위해서는 DLP를 풀어야 한다.

4) MAP은 "분산 안전성”기반하여 서버에 대한 신뢰성이 없는 인증프로토콜이다.

[정의 2]의 (1)에 대한 JfAFe 당연하게 만족한다. 郭、U ■£(») =/, (3)를 만족하는 다항식 시간 알고 j= 1/ 算—1 \리즘 必는 K=( 口。芯;서) 이고, X를 통해서 사용자 인증을 한다.

[정의 2]의 (2)에 대해 증명은 다음과 같다. 우선전혀 사용자 인증정보에 대한 정보를 가지지 않은 공격자가 사용자 인증정보를 알아낼 수 있는 확률은에서 어떤 수를 임의로 선택하는 확률이다. 따라서 Pr[Z/(« = Z, (3) I Z/(5) = B( . )] = 亍、이다. 또한 MAP 인증서버의 전체 부분 인증정보 I {底}0, X, 旳중 한개의 임의의 부분키 &를제외한 전체 사용자 부분 인증정보와 사용자가 프로토콜의 진행 동안 전달하는 파라미터 g£, g%, g#5, 를 공격자가 얻었다고 가정할 때 MAP프로토콜에서 공격자가 사용자의 인증정보 K를 알아내기 위해서는。를 통해 정당한 幻와 gu를 계산해 내어야 한다. 하지만 미지수가 2개이기 때문에。를 통해서 정당한 幻와 幻丿를 확인할 수 없다. 따라서 정당한 인증정보 K를 선택하는 확률은 에서 어떤 수를 임의로 선택하는 확률과 같다.

따라서

Pr[//(3) = I, (8) 11'(5) = X( Uc/(5))] =亍丄了

이고, 따라서

Pr[//(<5) = 7, (® I 7/(« = A( Uj!-(5))] = Pr[Z, '(<?) = /, (5) I /;(5) = B( .)] 이다.

따라서 JMFe "분산 안전성”에 기반하여 서버에대한 신뢰성이 없는 인증프로토콜이다.

5) 세션키가 드러나도 패스워드는 드러나지 않을뿐만 아니라 사전공격도 불가능하다.(12)(DS attack)

m(DS attack) MAPe 모든 부분 인증정보가 노출되었을 지라도 g£에 대한 사전공격 이외에 사전공격 할 수 없다. 따라서 모든 부분 인증정보가 알려졌을 때 g务에 대한 사전공격을 고려하지 않는다고 가정하면, 공격자에게주어지는 공개 파라미터는 다음과 같다.

(成, g%, gi■b, 曲 Y, x, H(K), Ks, P )

위의 정보에 대해 공격자가 모르는 미지수가 각각 2개 이상이므로 공격자는 사전공격을 수행할 수 없다. 따라서 세션키가 알려졌다 할지라도 공격자는 패스워드를 알 수 없다.

6) 만일 사용자의 패스워드가 공격자에게 알려졌을경우에도 공격자는 과거의 통신내용을 알 수 없어 야 한다.(Pefect forward secrecy)

위의 1)번 증명에서 gu가 알려진 상황에서도 공격자는 세션키를 알 수 없었다. 따라서 1)번 증명에 의해 패스워드를 알아낸 공격자도 과거의 통신내용을알 수 없다.

또한 MAP 프로토콜은 로그인 실패 횟수를 체크하여 온라인 사전공격을 막을 수 있다.

VI. MAP프로토콜을 이용한 SSSOCSecure Single Sign On)

SSO는 여러 개의 응용 서버를 제공하는 네트웍에서각각의 응용서버에 대해 별도의 인증을 받지 않고 한번의 인증으로 추가적인 인증과정 없이 모든 응용서버에 접근 할 수 있도록 하는 편리한 네트웍 모델이다间 이러한 SSO는 인증대행 서버를 네트웍에 두어인증과정을 일괄적으로 처리함으로서 그러한 목적을달성한다.

[그림 4]은 인증대행 서버(Agent)를 이용한 SSO의구성도 이다. 사용자는 [그림 4]와 같이 자신이 접근하기 원하는 응용서버어】(AS) 접근을 요청하면 이러한 접근 요청을 받은 AS는 인증대행 서버에게 사용자의 접근에 대한 인증을 대행하여 줄 것을 요청하고 인증대행 서버는 AS대신해서 사용자를 인증하고 사용자의 접근 통제 정보가 들어있는 티켓 t를 사용자에게 전달한다. 이러한 티켓을 전달받은 사용자는 자신의 접근 통제 규칙에 따라 인증대행 서버가인증을 대행하여 주는 응용서버에 추가적인 인증 없이 ④과 같이 접근할 수 있다. 기존의 SS。모델에서인증대행 서버는 SSO에 참여하는 전체 응용서버의 사용자 인증정보를 관리하게 된다.

[그림 4] SSO 구조

따라서 공격자는 SSO 인증대행 서버만을 공격하여서 전체 네트웍의 사용자 인증정보를 알아낼 수 있다. 특히 패스워드 기반의 인증을 제공하는 SSO 인증대행 서버가 공격을 당해 사용자 패스워드 파일이노출된다면 그 인증대행 서버가 인증을 대행해 주는모든 응용서버(AS, )의 모든 사용자 패스워드가 공격자에게 알려지게 된다. 즉, SSO의 인증대행 서버는신뢰기관이 된다.

이러한 문제점을 서버에 대한 신뢰성이 없는 패스워드 기반 인증프로토콜인 을 이용하여 SSO를구성하면 신뢰기관이 존재하는 SSO가 가지는 문제점을 해결할 수 있다. 娅을 이용한 SSO구성은 [그림 5] 와 같다.

[그림 5]에서 (Agent, 4身), ... , (Agent, 4SQ의 쌍을각각 별도의 MAP 프로토콜로 구성하여, 총 4개의 인 증서버 그룹을 형성된다. 사용자는 4개의 인증서버그룹 중 하나에 등록하게 된다. 사용자 등록 후 기존의 SSO처럼 자신이 속한 인증서버 그룹과 한번의 인증과정을 통해서 티켓 t를 전달 받은 뒤 [그림 5]와같이 t에 포함된 자신의 접근 통제 규칙에 따라 SSSO에 포함된 응용서버에 접근이 가능해진다. SSSO 의 경우 공격자가 Agent를 공격해서 사용자 인증정보를 얻어낸다 할지라도 공격자는 사용자를 위장할 수없다. 또한 만일 공격자가 한 쌍의 (Agent, AS) 공격해서 사용자의 인증정보를 얻어낸다 할지라도 공격자는 AS에 둥록되어 있는 사용자에 대해서만 사용자위장이 가능하다.

[그림 5] SSSO 구조

VII. 결론

본 논문에서는 사용자가 서버를 신뢰하지 않아도되는 인증프로토콜을 구성하기 위해 인증서버에 위탁되는 인증정보에 대한 “계산불가능 안전성”과 “분산 안전성”을 정의했다. 또한 기존의 Jablon 방식의 CZ2L프로토콜과 패스워드 기반 비대칭 인증된 키교환프로토콜을 이용하여 구성한 “계산불가능 안전성”올기반으로 서버에 대한 신뢰성이 없는 C庞비대칭구조 인증된 키교환 프로토콜보다 효율적인 패스워드기반 인증된 키교환 프로토콜인 MAP을 제시하였다. 또한 이러한 서버에 대한 신뢰성이 없는 MAP을 이용한 SSO가 신뢰기관이 존재하는 SSO의 문제점을 해결함을 보였다.

References

  1. Computer Communication Review v.26 no.50 Strong password-only authenticated key exchange D. Jablon
  2. PDM : A New Strong Password-Based Protocol C. Kaufman;R. Perlman
  3. Authentication and Key Agreement via Memorable Password T. Kwon
  4. Proceedings of the I.E.E.E. Symposium on Research in Security and Privacy Encrypted Key Exchange : Password-Based Protocols Secure Against Dictionary Attacks(or here) S. M. Bellovin;M. Merritt
  5. Technical report. AT&T Bell Laboratories Augmented encrypted key exchange. A password-based protocol secure dictionary attacks and password file compromise S. M. Bellovin;M. Merritt
  6. In WETIC'97 Enterprise Security Workshop Extended password methods immune to dictionary attack D. Jablon
  7. Internet Society Symposium on Network and Distributed System Security Secure remote password protocol T. Wu
  8. The AuthA Protocol for password-based authenticated key exchange M. Bellare;P. Rogaway
  9. The Security Protocol Workshop'97 Open Key exchange: how to defeat dictionary attacks without encrypting public keys S. Lucks
  10. Proc, $9^{th}$ International Workshops on Enabling Technologies : Infrastructure for Collaborative Enterprises Server-Asisted Generation of a Strong Secret from a Password W. Ford;B. Kaliski
  11. -- CT-RSA 2001, April 8-12, 2001 Proceedings Password Authentication Using Multiple Servers, LNCS 2020: Topics in Cryptology D. Jablon
  12. Timestamps in Key distribution. communications if the ACM D. Denning;G. Sacoo
  13. 정보보호학회지 v.11 no.4 단일 인증 시스템의 인증 기법과 인증 모델 분석 손태식;이상하;유승화;김동규