KR20010008102A - 안전한 디피-헬만형 키 합의 프로토콜 구현 방법 - Google Patents

안전한 디피-헬만형 키 합의 프로토콜 구현 방법 Download PDF

Info

Publication number
KR20010008102A
KR20010008102A KR1020000066177A KR20000066177A KR20010008102A KR 20010008102 A KR20010008102 A KR 20010008102A KR 1020000066177 A KR1020000066177 A KR 1020000066177A KR 20000066177 A KR20000066177 A KR 20000066177A KR 20010008102 A KR20010008102 A KR 20010008102A
Authority
KR
South Korea
Prior art keywords
entity
key
temporary
public key
long
Prior art date
Application number
KR1020000066177A
Other languages
English (en)
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 KR1020000066177A priority Critical patent/KR20010008102A/ko
Publication of KR20010008102A publication Critical patent/KR20010008102A/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 공개키 암호 시스템에서 디피-헬만 문제를 기반으로 하는 인증된 키 합의 프로토콜의 구현 방법에 관한 것으로, 종래의 인증된 키 합의 프로토콜들이 만족하지 못하는 안전성을 제공하도록 키를 생성하는 것이 특징이다. 본 발명에 의해 구현된 키 합의 프로토콜은 함축적 키 인증성을 제공하고, 알려진 키에 대한 안전성, 키 위장에 대한 안전성, 미지의 키 공유에 대한 안전성을 만족한다.

Description

안전한 디피-헬만형 키 합의 프로토콜 구현 방법{METHOD FOR CONSTRUCTING SECURE DIFFIE-HELLMAN TYPE AUTHENTICATED KEY AGREEMENT PROTOCOL}
본 발명은 키 합의 프로토콜에 관한 것으로, 보다 상세하게는 공개키 암호 시스템에서 디피-헬만(Diffie-Hellan) 키 합의 프로토콜의 기법을 이용한 인증된 키 합의 프로토콜의 구현에 관한 것이다.
정보통신망의 발전으로 다양한 정보들이 네트웍을 통하여 교환되면서 통신로 상에서 적합한 실체 이외의 합법적이지 않는 실체에게 메시지에 대한 정보가 누출되는 것을 방지하도록 메시지를 암호화하는 기법이 필요하게 되었다. 이러한 암호 통신을 위해 암호 알고리즘의 내부 동작을 지정하는 키가 필요하고 송신자와 수신자는 같은 키를 공유해야 한다. 이처럼 둘 이상의 실체가 암호 통신을 위해 사전에 공개된 통신로를 통하여 키를 공유하는 과정을 키 확립 프로토콜이라고 한다. 공유된 키는 메시지 기밀성, 무결성, 개인 식별 등과 같은 암호학적 서비스를 달성하기 위해 사용된다.
키 확립 프로토콜은 크게 키 전송(key transport)과 키 합의(key agreement)로 나누어 생각할 수 있다. 키 전송 프로토콜은 한 쪽 실체가 키를 생성하여 다른 실체에게 안전하게 전달하는 프로토콜이며, 키 합의 프로토콜은 양쪽 실체가 상호작용해서 주고받은 정보로 키를 생성하는 프로토콜이다.
지금까지 키 합의 및 인증 프로토콜로서 다양한 프로토콜들이 제안되었으며 그 중 많은 프로토콜들이 여러 가지 공격 방법에 대해 안전하지 못하다는 것이 증명되었다. 따라서 어떤 프로토콜을 분석하기 위해서 프로토콜이 저항해야 하는 공격과 만족해야 할 속성을 정의할 필요가 있다. 키 합의 프로토콜에 대한 공격 모델로서는 수동 공격(passive attack)과 능동 공격(active attack)이 있다. 수동 공격은 공격자가 합법적인 실체들이 프로토콜을 수행하는 것을 관찰하는 것만으로 프로토콜의 목적을 달성하지 못하도록 방해하는 것이며, 능동 공격은 공격자가 통신 내용을 삭제, 수정, 삽입 및 되풀이(replay) 등의 다양한 방법으로 통신 내용을 파괴하는 것이다. 키 합의 프로토콜은 공개된 네트웍에서 수행하므로 안전한 프로토콜을 구성하기 위해서는 이러한 모든 공격 모델에 대응할 수 있도록 설계되어야 한다.
대칭키 암호화 기법은 암호화와 복호화 시 같은 키를 사용하는 방법이고, 공개키 암호화 기법(비대칭키 암호화 기법)은 암호화를 위한 키(공개키)와 복호화를 위한 키(비밀키)를 다르게 사용하는 방법으로 송신 실체가 메시지를 보낼 때는 수신 실체의 공개키로 메시지를 암호화하여 전송하고 암호화된 메시지를 복호할 때는 수신 실체가 이에 대응하는 자신의 비밀키로 복호화한다.
키 확립을 위해 대칭키 암호 시스템을 사용할 경우 사용자의 수(n)가 늘어날 수록 공유하고 관리해야 하는 키의 숫자가 약 사용자 수의 제곱()에 비례하여 크게 증가하므로 키 관리상의 어려운 점이 있다. 반면, 공개키 암호 시스템을 이용하면 각 사용자는 자신의 개인키만을 안전하게 보관하면 되고 전자서명과 같은 방법으로 메시지의 인증성을 제공할 수 있는 장점이 있다.
키 합의 프로토콜의 궁극적인 목표는 키로 사용할 비밀 정보를 안전하게 공유하기 위함이며 이상적으로는 직접 만나서 키를 합의한 것과 같은 특성을 가지도록 하는 것이다. 즉, 키를 생성하기 위한 비밀 정보는 합법적인 객체들 간에만 공유되어야 하고, 키는 키 생성이 가능한 공간에서 램덤하게 선택되며, 불법적인 실체는 키에 대한 어떠한 부분 정보도 얻을 수 없어야 한다.
키 합의 프로토콜의 요구사항으로 기본적 안전성 요구사항, 추가적 안전성 요구사항, 성능 요구사항으로 구분하여 기술할 수 있다.
가. 안전성 요구사항
1) 기본적 안전성 요구사항 : 기본적 안전성 요구사항은 키 합의 프로토콜이 반드시 제공해야 하는 기본적인 보안을 위한 요구사항을 말한다.
A와 B는 프로토콜을 바르게 수행하는 합법적인 두 실체라고 한다.
a) 함축적 키 인증성 (IKA, Implicit Key Authentication)
실체 A가 실체 B 이외에는 어느 누구도 공유키를 생성할 수 없다는 확신을 가질 수 있을 경우 키 합의 프로토콜은 A에게 B에 대한 함축적 키 인증성(이하 IKA로 표시)을 제공한다고 말한다. A에게 B에 대한 IKA를 제공하고 B에게 A에 대한 IKA를 제공하는 키 합의 프로토콜을 AK(Authenticated Key agreement) 프로토콜이라고 한다.
b) 명시적 키 인증성 (EKA, Explicit Key Authentication)
실체 B가 실제로 공유키를 계산해서 소유하는 것을 실체 A가 확신할 수 있을 경우 키 합의 프로토콜은 A에게 B에 대한 명시적 키 인증성(이하 EKA로 표시)을 제공한다고 말한다. EKA는 IKA에 다른 실체가 키를 가지고 있음을 확신하는 키 확인(Key Confirmation) 기능을 더한 것이다. A에게 B에 대한 EKA를 제공하고 B에게 A에 대한 EKA를 제공하는 키 합의 프로토콜을 AKC(Authenticated Key agreement with key Confirmation) 프로토콜이라고 한다.
2) 추가적 안전성 요구사항 : 이것은 응용분야에 따라서 추가적으로 요구되는 안전성 요구사항을 말한다.
a) 알려진 키에 대한 안전성 (K-KS, Known-Key security) : 이전의 다른 세션키들(실체 A와 B 사이의 키 합의 프로토콜의 각 세션(session)에서 생성하는 유일한 비밀키)이 공격자에게 노출되었을 경우에도 프로토콜의 안전성이 보장되는 것을 말한다.
b) 전향적 보안성 (FS, Forward Secrecy) : 하나 또는 둘 이상의 실체들의 장기적인 개인키(long-term private key)가 노출되었을 경우에도 이전에 합의한 세션키들에 대한 안전성이 제공되는 경우를 말한다.
c) 키 위장(K-CI, Key-Compromise Impersonation)에 대한 안전성 : 실체 A의 장기적인 개인키가 공격자에게 노출되었을 경우 공격자가 A에게 다른 실체 B인 것처럼 위장할 수 없는 안전성을 말한다.
d) 미지의 키 공유(UK-S, Unknown Key-Share)에 대한 안전성 : 실체 A는 실체 B와 키를 공유하고 있다고 믿고 있지만, B는 A와 키를 공유하고 있는 것이 아니라 공격자 E와 공유하고 있다고 믿게 하는 공격에 대해 안전한 경우를 말한다.
나. 성능 요구사항
1) 메시지 교환 횟수를 최소화한다.
2) 전송되는 비트 수를 작게 한다.
3) 산술적 계산량을 줄인다.
4) 온라인 계산량이 감소하도록 사전계산을 가능하게 한다.
최근 표준안에 제안된 키 합의 프로토콜은 공개키 암호 시스템을 이용하는 두 실체로 구성된 프로토콜로서 안전성은 디피-헬만 문제의 어려움에 기반을 두고 있다. 디피-헬만 문제는 소수을 위수로 하는 순환군 G에서 생성원 g에 대하여 G의 원소가 주어졌을 때를 발견하는 문제이다. 이 문제는 널리 연구된 이산 대수 문제와 거의 동일한 문제로 알려져 있다. 이산 대수 문제는 소수 p을 위수로 하는 순환군 G에서 생성자가 g에 대하여가 주어졌을 때 x를 발견하는 문제이다. 이 두 문제는 계산적으로 다루기 어려운 문제이다.
공개키 기반의 키 합의 프로토콜은 디피(Diffie)와 헬만(Hellman)에 의해 1976년에 처음으로 제안되었다. 기본적인 프로토콜로는 두 가지 변형이 있는데 하나는 임시키를 이용하는 것이고 다른 하나는 장기키를 이용하는 것이다. 전자의 경우 IKA를 제공하지 못하는 단점이 있고 후자의 경우는 모든 프로토콜에서 같은 공유키를 생성하게 되는 약점이 있다.
이후, 이러한 단점을 보안하기 위해 임시키와 장기키를 모두 이용하는 프로토콜들이 제안되었다. 마쓰모또(Matsumoto), 다카시마(Takahima), 이마이(Imai)는 1986년에 MTI라 불리는 IKA를 제공하는 키 합의 프로토콜(AK 프로토콜)을 제안하였다. MTI의 변형 중의 하나로 MTI/A0는 UK-S를 제공하지 못하고 MTI/C0는 소부분군 공격(small subgroup attack)의 문제가 지적되었다.
그리고 ANSI, IEEE, ISO/IEC, NIST에 의해 현재 표준화되었거나 표준화되는 과정 중에 있는 AK 프로토콜로서 KEA, Unified Model, MQV가 있다. KEA(Key Exchange Algorithm)는 NSA에서 설계했고 1998년 5월에 기밀 분류에서 해제됐다. 이 프로토콜은 공격자가 두 실체 A와 B의 장기 개인키를 안다면 이전의 모든 세션키들을 계산할 수 있는 약점을 가지고 있다. 즉, FS를 제공하지 않는다. Unified Model은 앵크니(Ankney), 존슨(Johnson), 마뜨야스(Matyas)가 제안했고 이 프로토콜은 K-CI 안전성을 제공하지 않는다. 즉, 공격자 E가 A의 장기 비밀키를 알게 되면 B의 장기 비밀키를 알지 않고도 B인 것처럼 A와 같은 공유키를 생성할 수 있다. MQV 프로토콜은 1998년 메네즈(Menezes), 큐(Qu), 반스톤(Vanstone) 등에 의해 제안되었으며 이 프로토콜은 UK-S 공격이 가능함을 Kaliski가 발견했다.
본 발명은 전술한 키 합의 프로토콜들이 가지는 문제를 해결하고자 하는 것으로, 안전성 요구사항을 만족하는 키 합의 프로토콜을 구현하는 것을 그 목적으로 한다.
상술한 목적을 달성하기 위한 본 발명에 따른 공개키 암호 시스템에서 디피-헬만 문제의 안전성을 기반으로 하는 키 합의 프로토콜의 구현방법은:
프로토콜을 개시하는 실체(A)와 이에 응하는 실체(B)는 공개키 파라미터()(: 충분히 큰 소수,을 나누는 충분히 큰 소수,: 곱셈군에서 위수가인 생성원)를 공통적으로 알고 있으며,
상기 실체(A)가 1과사이에서 임시 비밀키()를 선택하고, 임시 공개키를 계산하여, 상기 임시 비밀키()와 상기 임시 공개키()로 구성된 임시키 쌍()을 생성하는 단계; 상기 실체(A)가 공개키 증명서()와 함께 상기 임시 공개키()를 상기 실체(B)에게 전송하는 단계; 상기 실체(B)가 상기 실체(A)에게 받은 상기 임시 공개키()의 타당성을 확인하기 위해이고인지를 검증하는 단계; 상기 실체(B)가 1과사이에서 임시 비밀키()를 선택하고, 임시 공개키를 계산하여 상기 임시 비밀키()와 상기 임시 공개키()로 구성된 임시키 쌍()을 생성하는 단계; 상기 실체(B)가 공개키 증명서()와 임시 공개키()를 상기 실체(A)에게 전송하는 단계; 상기 실체(B)가 세션키()를 생성하는 단계; 상기 실체(A)가 상기 실체(B)에게 받은 임시 공개키()의 타당성을 확인하기 위해이고인지를 검증하는 단계; 상기 실체(A)가 세션키()를 생성하는 단계를 포함하는 것을 특징으로 한다.
도 1은 본 발명의 디피-헬만형 키 합의 프로토콜 기법을 이용하는 키 합의 프로토콜의 구성을 도시하는 블록 구성도,
도 2는 본 발명에 따른 디피-헬만형 인증된 키 합의 프로토콜의 순서도,
도 3a 및 도 3b는 도 2의 키 합의 프로토콜에서 각기 실체 A 및 실체 B 가 세션키()를 생성하는 과정을 설명하는 순서도,
도 4a 및 도 4b는 도 2의 키 합의 프로토콜에서 각기 실체 A 및 실체 B 가세션키()를 생성하는 과정을 설명하는 순서도,
도 5a 및 도 5b는 도 2의 키 합의 프로토콜에서 각기 실체 A 및 실체 B 가세션키()를 생성하는 과정을 설명하는 순서도,
도 6a 및 도 6b는 도 2의 키 합의 프로토콜에서 각기 실체 A 및 실체 B 가 세션키()를 생성하는 과정을 설명하는 순서도.
이하 본 발명은 첨부된 도면을 참조하여 다음과 같이 상세히 설명될 것이다.
도 1은 본 발명에 따라 디피-헬만 키 합의 프로토콜 기법을 기반으로 하는 AK 프로토콜을 구현하는 데 적합한 두 실체로 이루어진 프로토콜의 블록 구성도이다.
디피-헬만 키 합의 프로토콜은 프로토콜을 개시하는 송신측의 장치와 이에 응하는 수신측의 장치가 안전하지 않은 매체 상에서 공개키 암호 알고리즘에 의해 생성된 공개키를 서로 교환하고 이를 이용하여 키를 생성하는 것이다. 이를 위하여, 실체(A)와 실체(B)는 랜덤한 비밀키를 생성하고, 공개키 파라미터와 이들 비밀키를 이용하여 각각의 공개키를 생성하고 나서, 서로의 공개키를 교환한다. 이후, 실체(A, B)는 자신들의 비밀키를 이용하여 공통의 비밀정보를 공유하고 있게된다.
하기 설명되는 본 발명의 AK 프로토콜의 구현방법은 다음과 같은 가정하에 이루어진다.
1) 충분히 큰 소수을 나누는 충분히 큰 소수와 곱셈군의 생성원(의 서로 다른 모든 원소가 되게 하는상의 원소)가 공개키 파라미터()로서 모든 실체들(A, B)에게 공통적으로 알려져 있다.
2) 각 실체 I(=A, B)는 장기 비밀키와 장기 공개키로 구성된 장기 키 쌍을 소유하고 있으며, 이후 프로토콜에서 장기 공개키는 공개키 증명서()에 의해 교환한다고 가정한다.
3)는 실체(A)임을 증명하는 ID정보, 실체(A)의 장기 공개키()와 이 정보에 대해 신뢰할 만한 서명기관(CA)의 서명값으로 구성된 공개키 증명서이다. 서명기관(CA)은 실체(A)가 장기 공개키()에 대응하는 비밀키()를 가지고 있음을 검증할 수 있다고 가정한다. 이것은 공격자(E)가 실체(A)의 장기 공개키()를 자신의 것으로 등록하고 실체(A)의 메시지를 공격자(E)가 전송한 것이라고 실체(B)를 속이는 UK-S공격을 막기 위함이다.
4) 또한 CA가 실체(A)의 장기 공개키()의 타당성을 검증했다고 가정한다. 이는이고인지를 확인함으로 가능하고 이를 공개키 확인(public key validation) 과정이라 부른다.
도 2는 본 발명에 따른 AK 프로토콜의 순서도로서, 송신 실체(A)와 수신 실체(B)가 세션키를 공유하게 되는 과정을 나타낸다. 본 발명의 AK 프로토콜은 공개키 암호 시스템 구조로 종래의 디피-헬만 키 합의 프로토콜 기법과 같은 방법으로 메시지를 교환하지만 키를 생성하는 과정이 다르다.
먼저, 단계(210)에서, 송신 실체(A)는 임시 비밀키()를 1과사이에서 랜덤하게 생성하고, 이 값을 하기 수학식 1과 같이 생성원()에 멱승하여 임시 공개키()를 생성함으로써, 임시 비밀키()와 임시 공개키()로 구성된 임시키 쌍()을 생성한다.
이후, 실체(A)는 임시 공개키()를 공개키 인증서()와 함께 수신 실체(B)에게 전송하고 임시 비밀키()는 안전한 곳에 보관한다(단계 212).
그 다음, 실체(B)는 실체(A)가 보낸 임시 공개키()를 하기 수학식 2로 표현되는 공개키 확인 과정을 통해 검증한다(단계 214).
이때, 검증 결과가 타당하지 않으면, 실체(B)는 상대측인 실체(A)로부터 받은 임시 공개키()가 타당하지 않은 것으로 판단하고, 본 프로토콜을 종료 또는 거절하거나 실체(A)에게 재전송을 요구한다(단계 226).
그러나, 단계(214)의 검증 결과가 타당하면, 실체(B)는 임시 비밀키()를 1과사이에서 랜덤하게 생성하고, 하기 수학식 3에서와 같이 임시 비밀키 값()을 생성원()에 멱승하여 임시 공개키()를 생성함으로써, 임시 비밀키()와 임시 공개키()로 구성된 임시키 쌍()을 생성한다(단계 216).
이후, 실체(B)는 임시 공개키()를 공개키 인증서()와 함께 실체(A)에게 전송하고(단계 218), 하기 도 3 내지 6을 참조하여 설명되는 바와 같은 세션키()를 생성한다(단계 220).
그 다음, 실체(A)는 실체(B)가 보낸 임시 공개키()를 하기 수학식 4를 이용한 공개키 확인 과정을 통해 검증한다(단계 222).
이때, 검증 결과가 타당하지 않으면, 단계(226)로 진행하여 실체(A)는 상대측인 실체(B)로부터 받은 임시 공개키가 타당하지 않은 것으로 판단하고 본 프로토콜을 종료하거나 실체(B)에게 재전송을 요구한다.
그러나, 단계(222)에서의 검증 결과가 타당하면 실체(A)는 세션키()를 생성한다(단계 224).
도 3, 도 4, 도 5 및 도 6은 도 2에서 실체(A) 및 실체(B)에 의해 세션키()를 생성하는 과정을 보다 상세히 설명하는 각기 다른 변형 실시예들의 순서도로서, 도 3a, 도 4a, 도 5a 및 도 6a는 각기 실체(A)가 세션키를 생성하는 과정을 설명하는 흐름도이고, 도 3b, 도 4b, 도 5b 및 도 6b는 각기 실체(B)가 세션키를 생성하는 과정을 설명하는 흐름도이다.
먼저, 도 3a에서, 실체(A)는 실체(B)가 보낸 공개키 증명서()로부터 하기 수학식 5로 표현되는 실체(B)의 장기 공개키()를 추출한다(단계 310).
그 다음, 실체(A)는 수학식 5와 같은 추출된 실체(B)의 장기 공개키()에 실체(A)의 임시 비밀키()를 지수승하여를 계산(단계 312)하고, 실체(A)의 장기 비밀키()와 임시 비밀키()를 더해서 실체(B)의 임시 공개키()에 지수승하여를 계산한다(단계 314).
이후, 실체(A)는 상술한 바와 같이 계산된를 곱해서 하기 수학식 6와 같은 공유 비밀정보(K)를 계산한다(단계 316).
그 다음 단계(318)에서, 실체(A)는 하기 수학식 7과 같이 키 유도 함수를 이용하여 세션키를 생성한다.
상기 수학식 7에서, kdf는 키 유도 함수를 나타낸다. 이러한 키 유도 함수는 공개된 해쉬함수나 대칭키 암호 기법을 이용할 수도 있다.
이 때 실체(A)가 생성한 세션키는이다.
도 3b를 참조하면, 실체(B)가 세션키()를 생성하는 과정이 예시된다.
먼저, 실체(B)는 실체(A)가 보낸 공개키 증명서()로부터 하기 수학식 8로 표현되는 실체(A)의 장기 공개키()를 추출한다(단계 320).
그 다음, 실체(B)는 수학식 8과 같은 추출된 실체(A)의 장기 공개키()에 실체(B)의 임시 비밀키()를 지수승하여를 계산하고(단계 322), 실체(B)의 장기 비밀키()와 임시 비밀키()를 더하고 실체(A)의 임시 공개키()에 지수승하여를 계산한다(단계 324).
이후, 실체(B)는 상술한 바와 같이 계산된를 곱해서 하기 수학식 9와 같은 공유 비밀정보(K)를 계산한다(단계 326).
그 다음 단계(328)에서, 실체(B)는 키 유도 함수를 이용하여 세션키()(수학식 7 참조)를 생성한다.
이 때 실체(A)가 생성한 세션키는이다.
도 4a는 실체(A)가 세션키를 생성하는 과정을 설명하는 제 2의 변형 실시예의 흐름도이다.
먼저, 실체(A)는 실체(B)가 보낸 공개키 증명서()로부터 실체(B)의 장기 공개키()(수학식 5 참조)를 추출한다(단계 410).
그 다음, 실체(A)는 실체(B)의 장기 공개키()에 실체(A)의 임시 비밀키()를 지수승하여를 계산하고(단계 412), 실체(B)의 임시 공개키()에 실체(A)의 장기 비밀키()와 임시 비밀키()를 각각 지수승하여을 각기 계산한다(단계 414).
이후, 실체(A)는 상술한 바와 같이 계산된는 더하고는 연접해서 공유비밀정보(K)를 하기 수학식 10과 같이 계산한다(단계 416).
마지막으로, 실체(A)는 키 유도 함수를 이용하여 상기 수학식 7과 같이 세션키()를 생성한다(단계 418).
이 때 실체(A)가 생성한 세션키()는이다.
도 4b는 실체(B)가 세션키()를 생성하는 과정을 설명하는 제 3의 변형 실시예의 흐름도이다.
먼저, 실체(B)는 실체(A)가 보낸 공개키 증명서()로부터 실체(A)의 장기 공개키()(수학식 8 참조)를 추출한다(단계 420).
그 다음, 실체(B)는 실체(A)의 장기 공개키()에 실체(B)의 임시 비밀키()를 지수승하여를 계산하고(단계 422), 실체(A)의 임시 공개키()에 실체(B)의 장기 비밀키()와 임시 비밀키()를 각각 지수승하여을 계산한다(단계 424).
이후, 실체(B)는 상술한 바와 같이 계산된는 더하고는 연접해서 비밀공유정보(K)를 하기 수학식 11과 같이 계산한다(단계 426).
마지막으로, 실체(B)는 키 유도 함수를 이용하여 세션키()를 상기 수학식 7과 같이 생성한다(단계 428).
이 때 실체(B)가 생성한 세션키()는이다.
도 5a는 실체(A)가 세션키()를 생성하는 과정을 설명하는 제 4의 변형 실시예의 흐름도이다.
먼저, 실체(A)는 실체(B)가 보낸 공개키 증명서()로부터 실체(B)의 장기 공개키()(수학식 5 참조)를 추출하고(단계 510), 실체(B)의 장기 공개키()에 실체(A)의 임시 비밀키()를 지수승하여를 계산한다(단계 512).
그 다음, 실체(A)는 실체(B)의 임시 공개키()에 실체(A)의 장기 비밀키()와 임시 비밀키()를 각각 지수승하여을 계산한다(단계 514).
이후, 실체(A)는 상술한 바와 같이 계산된는 곱하고는 연접해서 하기 수학식 12와 같은 비밀공유정보(K)를 계산한다(단계 516).
마지막으로, 실체(A)는 키 유도 함수를 이용하여 상기 수학식 7과 같이 세션키()를 생성한다(단계 518).
이 때 실체(A)가 생성한 세션키()는이다.
도 5b는 실체(B)가 세션키()를 생성하는 과정을 설명하는 제 3의 변형 실시예의 흐름도이다.
먼저, 실체(B)는 실체(A)가 보낸 공개키 증명서()로부터 실체(A)의 장기 공개키()(수학식 8 참조)를 추출하고(단계 520), 실체(A)의 장기 공개키()에 실체(B)의 임시 비밀키()를 지수승하여를 계산한다(단계 522).
그 다음, 실체(B)는 실체(A)의 임시 공개키()에 실체(B)의 장기 비밀키()와 임시 비밀키()를 각각 지수승하여을 계산한다(단계 524).
이후, 실체(B)는 하기 수학식 13에서와 같이는 곱하고는 연접해서 공유 비밀정보(K)를 계산한다(단계 526).
마지막 단계(528)에서, 실체(B)는 키 유도 함수를 이용하여 상기 수학식 7과 같이 세션키()를 생성한다.
이 때 실체(B)가 생성한 세션키(k)는이다.
도 6a는 실체(A)가 세션키()를 생성하는 과정을 설명하는 제 4의 변형 실시예의 흐름도이다.
먼저, 실체(A)는 실체(B)가 보낸 공개키 증명서()로부터 실체(B)의 장기 공개키()(수학식 5 참조)를 추출하고(단계 610), 실체(B)의 장기 공개키()에 실체(A)의 임시 비밀키()를 지수승하여를 계산한다(단계 612).
그 다음, 실체(A)는 실체(B)의 임시 공개키()에 실체(A)의 장기 비밀키()와 임시 비밀키()를 각각 지수승하여을 계산한다(단계 614).
이후, 실체(A)는 하기 수학식 14에서와 같이를 연접해서 비밀공유정보(K)를 계산한다(단계 616).
마지막 단계(618)에서, 실체(A)는 키 유도 함수를 이용하여 상기 수학식 7과 같이 세션키()를 생성한다.
이 때 실체(A)가 생성한 세션키(k)는이다.
도 6b는 실체(B)가 세션키()를 생성하는 과정을 설명하는 제 4의 변형 실시예의 흐름도이다.
먼저, 실체(B)는 실체(A)가 보낸 공개키 증명서()로부터 실체(A)의 장기 공개키()(수학식 8 참조)를 추출하고(단계 620), 실체(A)의 장기 공개키()에 실체(B)의 임시 비밀키()를 지수승하여를 계산한다(단계 622).
그 다음, 실체(B)는 실체(A)의 임시 공개키()에 실체(B)의 장기 비밀키()와 임시 비밀키()를 각각 지수승하여을 계산한다(단계 624).
이후, 실체(B)는 하기 수학식 15와 같이를 연접해서 공유 비밀정보(K)를 계산한다(단계 626).
마지막 단계(628)에서, 실체(B)는 키 유도 함수를 이용하여 상기 수학식 7과 같이 세션키()를 생성한다.
이 때 실체(B)가 생성한 세션키()는이다.
본 발명은 키 합의 프로토콜에서 키 생성 시 임시 개인키와 장기 개인키의 결합과 임시 개인키끼리의 결합()을 사용함으로써 종래에 제시된 AK 프로토콜보다 많은 안전성 요구사항, 즉 상호 IKA와 K-KS, FS, K-CI, UK-S를 제공할 수 있게 된다.(단, FS의 경우는 EKA가 제공될 때 확실하게 안전성이 보증된다.)

Claims (5)

  1. 프로토콜을 개시하는 실체(A)와 이에 응하는 실체(B)를 갖는 디피-헬만 문제의 안전성을 기반으로 하는 인증된 키 합의 프로토콜의 구현방법에 있어서,
    상기 실체(A)와 실체(B)는 공개키 파라미터()(: 충분히 큰 소수,:을 나누는 충분히 큰 소수,: 곱셈군에서 위수가인 생성원)를 공통적으로 알고 있으며,
    상기 실체(A)가 1과사이에서 임시 비밀키()를 선택하고, 임시 공개키()를 수학식[]과 같이 계산하여, 상기 임시 비밀키()와 상기 임시 공개키()로 구성된 임시키 쌍()을 생성하는 단계;
    상기 실체(A)가 공개키 증명서()와 함께 상기 임시 공개키()를 상기 실체(B)에게 전송하는 단계;
    상기 실체(B)가 상기 실체(A)에게 받은 상기 임시 공개키()의 타당성을 확인하기 위해 수학식[,]을 만족하는 지를 검증하는 단계;
    상기 실체(B)가 1과사이에서 임시 비밀키()를 선택하고, 임시 공개키()를 수학식[]과 같이 계산하여 상기 임시 비밀키()와 상기 임시 공개키()로 구성된 임시키 쌍()을 생성하는 단계;
    상기 실체(B)가 공개키 증명서()와 임시 공개키()를 상기 실체(A)에게 전송하는 단계;
    상기 실체(B)가 세션키()를 생성하는 단계;
    상기 실체(A)가 상기 실체(B)에게 받은 임시 공개키()의 타당성을 확인하기 위해 수학식[,]을 만족하는 지를 검증하는 단계;
    상기 검증 결과가 만족될 때, 상기 실체(A)가 세션키()를 생성하는 단계를 포함하는 것을 특징으로 하는 인증된 키 합의 프로토콜의 구현방법.
  2. 제 1 항에 있어서,
    상기 실체(A)가 세션키(k)를 생성하는 단계는:
    상기 실체(B)가 보낸 공개키 증명서()로부터 상기 실체(B)의 장기 공개키()인 수학식[]을 추출하는 단계;
    상기 실체(B)의 장기 공개키()에 상기 실체(A)의 임시 비밀키()를 지수승하여를 계산하는 단계;
    상기 실체(A)의 장기 비밀키()와 임시 비밀키()를 더해서 상기 실체(B)의 임시 공개키()에 지수승하여를 계산하는 단계;
    상기 계산된를 곱해서 공유 비밀정보(K)를 수학식[]을 이용하여 계산하는 단계;
    키 유도 함수를 이용하여 세션키()를 수학식[] (상기 수학식에서, kdf 는 키 유도 함수)을 이용하여 생성하는 단계를 구비하며;
    상기 실체(B)가 상기 세션키()를 생성하는 단계는:
    상기 실체(A)가 보낸 공개키 증명서()로부터 상기 실체(A)의 장기 공개키()인 수학식[]을 추출하는 단계;
    상기 실체(A)의 장기 공개키()에 상기 실체(B)의 임시 비밀키()를 지수승하여를 계산하는 단계;
    상기 실체(B)의 장기 비밀키()와 임시 비밀키()를 더해서 상기 실체(A)의 임시 공개키()에 지수승하여를 계산하는 단계;
    상기 계산된를 곱해서 공유 비밀정보(K)를 수학식[]과 같이 계산하는 단계;
    키 유도 함수를 이용하여 세션키()를 수학식[] (상기 수학식에서, kdf 는 키 유도 함수)과 같이 생성하는 단계를 구비하는 것을 특징으로 하는 인증된 키 합의 프로토콜의 구현방법.
  3. 제 1 항에 있어서,
    상기 실체(A)가 상기 세션키()를 생성하는 단계는:
    상기 실체(B)가 보낸 공개키 증명서()로부터 상기 실체(B)의 장기 공개키()인 수학식[]을 추출하는 단계;
    상기 실체(B)의 장기 공개키()에 상기 실체(A)의 임시 비밀키()를 지수승하여를 계산하는 단계;
    상기 실체(B)의 임시 공개키()에 상기 실체(A)의 장기 비밀키()와 임시 비밀키()를 각각 지수승하여을 계산하는 단계;
    상기 계산된는 더하고는 연접해서 공유 비밀정보(K)를 수학식[]을 이용하여 계산하는 단계;
    키 유도 함수를 이용하여 상기 세션키()를 수학식[]과 같이 생성하는 단계를 구비하며;
    상기 실체(B)가 상기 세션키()를 생성하는 단계는:
    상기 실체(A)가 보낸 공개키 증명서()로부터 상기 실체(A)의 장기 공개키()인 수학식[]을 추출하는 단계;
    상기 실체(A)의 장기 공개키()에 상기 실체(B)의 임시 비밀키()를 지수승하여를 계산하는 단계;
    상기 실체(A)의 임시 공개키()에 상기 실체(B)의 장기 비밀키()와 임시 비밀키()를 각각 지수승하여을 계산하는 단계;
    상기 계산된는 더하고는 연접해서 공유 비밀정보(K)를 수학식[]를 이용하여 계산하는 단계;
    키 유도 함수를 이용하여 상기 세션키()를 수학식[]과 같이 생성하는 단계를 구비하는 것을 특징으로 하는 인증된 키 합의 프로토콜의 구현방법.
  4. 제 1 항에 있어서,
    상기 실체(A)가 상기 세션키()를 생성하는 단계는:
    상기 실체(B)가 보낸 공개키 증명서()로부터 상기 실체(B)의 장기 공개키()인 수학식[]을 추출하는 단계;
    상기 실체(B)의 장기 공개키()에 상기 실체(A)의 임시 비밀키()를 지수승하여를 계산하는 단계;
    상기 실체(B)의 임시 공개키()에 상기 실체(A)의 장기 비밀키()와 임시 비밀키()를 각각 지수승하여을 계산하는 단계;
    상기 계산된는 곱하고는 연접해서 공유 비밀정보(K)를 수학식[]을 이용하여 계산하는 단계;
    키 유도 함수를 이용하여 상기 세션키()를 수학식[]과 같이 생성하는 단계를 구비하며;
    상기 실체(B)가 상기 세션키()를 생성하는 단계는:
    상기 실체(A)가 보낸 공개키 증명서()로부터 상기 실체(A)의 장기 공개키()인 수학식[]을 추출하는 단계;
    상기 실체(A)의 장기 공개키()에 상기 실체(B)의 임시 비밀키()를 지수승하여를 계산하는 단계;
    상기 실체(A)의 임시 공개키()에 상기 실체(B)의 장기 비밀키()와 임시 비밀키()를 각각 지수승하여을 계산하는 단계;
    상기 계산된는 곱하고는 연접해서 공유 비밀정보(K)를 수학식[]을 이용하여 계산하는 단계;
    키 유도 함수를 이용하여 상기 세션키()를 수학식[]과 같이 생성하는 단계를 구비하는 것을 특징으로 하는 인증된 키 합의 프로토콜의 구현방법.
  5. 제 1 항에 있어서,
    상기 실체(A)가 상기 세션키()를 생성하는 단계는:
    상기 실체(B)가 보낸 공개키 증명서()로부터 상기 실체(B)의 장기 공개키()인 수학식[]을 추출하는 단계;
    상기 실체(B)의 장기 공개키()에 상기 실체(A)의 임시 비밀키()를 지수승하여를 계산하는 단계;
    상기 실체(B)의 임시 공개키()에 상기 실체(A)의 장기 비밀키()와 임시 비밀키()를 각각 지수승하여을 계산하는 단계;
    상기 계산된를 연접해서 공유 비밀정보(K)를 수학식[]을 이용하여 계산하는 단계;
    키 유도 함수를 이용하여 상기 세션키()를 수학식[]과 같이 생성하는 단계를 구비하며;
    상기 실체(B)가 상기 세션키()를 생성하는 단계는:
    상기 실체(A)가 보낸 공개키 증명서()로부터 상기 실체(A)의 장기 공개키()인 수학식[]을 추출하는 단계;
    상기 실체(A)의 장기 공개키()에 상기 실체(B)의 임시 비밀키()를 지수승하여를 계산하는 단계;
    상기 실체(A)의 임시 공개키()에 상기 실체(B)의 장기 비밀키()와 임시 비밀키()를 각각 지수승하여을 계산하는 단계;
    상기 계산된를 연접해서 공유 비밀정보(K)를 수학식[]을 이용하여 계산하는 단계;
    키 유도 함수를 이용하여 상기 세션키()를 수학식[]과 같이 생성하는 단계를 구비하는 것을 특징으로 하는 인증된 키 합의 프로토콜의 구현방법.
KR1020000066177A 2000-11-08 2000-11-08 안전한 디피-헬만형 키 합의 프로토콜 구현 방법 KR20010008102A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000066177A KR20010008102A (ko) 2000-11-08 2000-11-08 안전한 디피-헬만형 키 합의 프로토콜 구현 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000066177A KR20010008102A (ko) 2000-11-08 2000-11-08 안전한 디피-헬만형 키 합의 프로토콜 구현 방법

Publications (1)

Publication Number Publication Date
KR20010008102A true KR20010008102A (ko) 2001-02-05

Family

ID=19697897

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000066177A KR20010008102A (ko) 2000-11-08 2000-11-08 안전한 디피-헬만형 키 합의 프로토콜 구현 방법

Country Status (1)

Country Link
KR (1) KR20010008102A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030079141A (ko) * 2002-04-02 2003-10-10 이창우 키합의 프로토콜 구현방법
KR100453113B1 (ko) * 2002-08-12 2004-10-15 학교법인 한국정보통신학원 결정적 디피-헬만군에서id에 기반한 디지털 서명 및 그인증 방법
KR100489327B1 (ko) * 2002-09-18 2005-05-12 학교법인 한국정보통신학원 겹선형 디피-헬만 문제에 기반한 네트워크 환경에서의개인 식별 방법
US7760885B2 (en) 2003-05-16 2010-07-20 Samsung Electronics Co., Ltd. Method of distributing encryption keys among nodes in mobile ad hoc network and network device using the same
WO2013012163A1 (ko) * 2011-07-21 2013-01-24 에스케이씨앤씨 주식회사 비밀키 생성방법 및 이를 적용한 전자장치
KR20210032755A (ko) * 2019-09-17 2021-03-25 주식회사 이와이엘 타원곡선디피 힐만 기반의 원타임 양자대칭키를 통한 인증 및 키 합의 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633933A (en) * 1994-06-10 1997-05-27 Sun Microsystems, Inc. Method and apparatus for a key-management scheme for internet protocols
US5796833A (en) * 1996-09-23 1998-08-18 Cylink Corporation Public key sterilization
US5896455A (en) * 1995-05-17 1999-04-20 Certicom Corporation Key agreement and transport protocol with implicit signatures
KR20010090167A (ko) * 2000-03-23 2001-10-18 윤종용 패스워드를 기반으로 한 상호 인증 및 키 교환방법과 그장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633933A (en) * 1994-06-10 1997-05-27 Sun Microsystems, Inc. Method and apparatus for a key-management scheme for internet protocols
US5896455A (en) * 1995-05-17 1999-04-20 Certicom Corporation Key agreement and transport protocol with implicit signatures
US5796833A (en) * 1996-09-23 1998-08-18 Cylink Corporation Public key sterilization
KR20010090167A (ko) * 2000-03-23 2001-10-18 윤종용 패스워드를 기반으로 한 상호 인증 및 키 교환방법과 그장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문(UMTS에서의 모바일 정보 교환을 위한 키 관리와 상호 인증을 위한 효과적인 공개키 프로토콜,2000. 8 ) *
논문(인터넷 에서의 보다 빠른 키 생상 및 인증을 위해 키 관리를 위한 암호 키 교환 프로토콜,1996 ) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030079141A (ko) * 2002-04-02 2003-10-10 이창우 키합의 프로토콜 구현방법
KR100453113B1 (ko) * 2002-08-12 2004-10-15 학교법인 한국정보통신학원 결정적 디피-헬만군에서id에 기반한 디지털 서명 및 그인증 방법
KR100489327B1 (ko) * 2002-09-18 2005-05-12 학교법인 한국정보통신학원 겹선형 디피-헬만 문제에 기반한 네트워크 환경에서의개인 식별 방법
US7760885B2 (en) 2003-05-16 2010-07-20 Samsung Electronics Co., Ltd. Method of distributing encryption keys among nodes in mobile ad hoc network and network device using the same
WO2013012163A1 (ko) * 2011-07-21 2013-01-24 에스케이씨앤씨 주식회사 비밀키 생성방법 및 이를 적용한 전자장치
KR20210032755A (ko) * 2019-09-17 2021-03-25 주식회사 이와이엘 타원곡선디피 힐만 기반의 원타임 양자대칭키를 통한 인증 및 키 합의 방법 및 시스템

Similar Documents

Publication Publication Date Title
Boyd et al. Protocols for authentication and key establishment
US7814320B2 (en) Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
US7480384B2 (en) Method for distributing and authenticating public keys using random numbers and Diffie-Hellman public keys
JP4527358B2 (ja) 鍵供託を使用しない、認証された個別暗号システム
Blake-Wilson et al. Authenticated Diffe-Hellman key agreement protocols
Ray et al. Establishment of ECC-based initial secrecy usable for IKE implementation
Steiner et al. Secure password-based cipher suite for TLS
Brzuska et al. An analysis of the EMV channel establishment protocol
Ma et al. Distributed access control with adaptive privacy preserving property for wireless sensor networks
CN112468490B (zh) 一种用于电网终端层设备接入的认证方法
Ruan et al. After-the-fact leakage-resilient identity-based authenticated key exchange
EP1090478A1 (en) A method for preventing key share attacks
Shim Cryptanalysis of Al-Riyami-Paterson's authenticated three party key agreement protocols
Sun et al. A Novel and Concise Multi-receiver Protocol Based on Chaotic Maps with Privacy Protection.
KR20010008102A (ko) 안전한 디피-헬만형 키 합의 프로토콜 구현 방법
Boyd et al. Authentication and key transport using public key cryptography
Resner et al. Key establishment and trustful communication for the internet of things
Xia et al. Breaking and repairing the certificateless key agreement protocol from ASIAN 2006
Singh et al. Analysis of cryptographically replay attacks and its mitigation mechanism
Yi et al. ID-Based group password-authenticated key exchange
KR100453113B1 (ko) 결정적 디피-헬만군에서id에 기반한 디지털 서명 및 그인증 방법
KR20010008103A (ko) 디피-헬만형 키 공유 확인이 가능한 인증된 키 합의프로토콜의 구현 방법
Porambage et al. Public Key Based Protocols–EC Crypto
Dugardin et al. A New Fair Identity Based Encryption Scheme
Boyd et al. Password-based protocols

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application