KR100401063B1 - 패스워드 기반 키교환 방법 및 그 시스템 - Google Patents

패스워드 기반 키교환 방법 및 그 시스템 Download PDF

Info

Publication number
KR100401063B1
KR100401063B1 KR10-2001-0068252A KR20010068252A KR100401063B1 KR 100401063 B1 KR100401063 B1 KR 100401063B1 KR 20010068252 A KR20010068252 A KR 20010068252A KR 100401063 B1 KR100401063 B1 KR 100401063B1
Authority
KR
South Korea
Prior art keywords
key exchange
client
key
information
server
Prior art date
Application number
KR10-2001-0068252A
Other languages
English (en)
Other versions
KR20030037145A (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-2001-0068252A priority Critical patent/KR100401063B1/ko
Publication of KR20030037145A publication Critical patent/KR20030037145A/ko
Application granted granted Critical
Publication of KR100401063B1 publication Critical patent/KR100401063B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Landscapes

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

Abstract

본 발명에 따른 패스워드 기반 키교환 시스템에서는 클라이언트에서 패스워드 정보를 이용하여 키교환에 사용되는 시스템 파라미터를 생성하고, 사용자의 패스워드 정보와 임의의 키재료를 서버에 전송하여 저장하면, 서버에서는 클라이언트로부터 전송된 정보에서 키정보를 추출하여 공유키를 생성하여 저장하고, 클라이언트로부터 인증요청이 있는 경우 서버에서 자신의 키정보 및 인증정보를 클라이언트에 전송하여 클라이언트에서 서버를 인증하고 공유키를 생성하고 서버로 클라이언트를 인증할 수 있도록 메시지를 생성하여 전송함으로서 인증을 위한 키교환을 수행한다.
본 발명에 의하면, 클라이언트와 서버 시스템간의 효율적으로 키교환을 수행하여 종래의 방식보다 메시지 교환수를 감소시킴으로써, 통신 오류 및 네트워크 지연에 의한 영향을 줄일 수 있으며 특히, 클라이언트의 계산량을 감소시켜 이동통신과 같은 시스템에 효과적으로 응용될 수 있다.

Description

패스워드 기반 키교환 방법 및 그 시스템{the method and the system for passward based key change}
본 발명은 패스워드 기반 키교환 방법 및 그 시스템에 관한 것으로, 상세하게는 인터넷에서 최적의 보안 서비스 제공을 위해 패스워드를 사용한 인터넷 키교환 서비스 기술의 적용시 클라이언트와 서버간에 보안강도를 약화시키지 않으면서 클라이언트의 계산량 및 시스템간 메시지 교환수를 줄이며 인증된 공유키를 생성하는 패스워드 기반 키교환 방법 및 그 시스템에 관한 것이다.
일반적으로 패스워드 키교환 방식은 사람이 기억할 수 있는 패스워드 정보만을 클라이언트 시스템에 입력함으로써 클라이언트와 서버 시스템간에 상호 인증된 공유키를 생성하도록 하고 있다. 이러한 방식의 경우, 보통 클라이언트와 서버 시스템에서 상호 인증을 위해 사용되는 패스워드에 관한 정보가 서로 다르게 설정되도록 하는 방식이 널리 연구되고 있다. 이 때, 서버 시스템이 가지고 있는 패스워드 관련 정보는 패스워드를 통해 쉽게 생성되지만, 역으로 그 정보를 이용해 패스워드 정보를 유추하기는 매우 어렵도록 만들어진다.
이러한 설정에 기초하여 클라이언트와 서버간에 키를 교환하는 방법은 키 재료를 어떻게 효율적으로 교환하느냐 하는 문제가 메시지 교환 수를 줄이고 보안강도를 유지하는데 매우 중요하다.
특히, 클라이언트 시스템은 일반적으로 계산 파워가 떨어지므로 키교환 과정에서 클라이언트 시스템의 계산량이 적도록 설계하는 것이 매우 중요하다. 이러한 예로 이동통신 시스템을 들 수 있다.
메시지 교환수의 증가는 트래픽 증가로 인한 네트워크 성능 저하를 가져오며, 통신 지연으로 인한 여러 가지 장애 및 영향을 받을 수 있다. 한편, 시스템의 효율성 측면에서, 보안강도와 효율성은 서로 상충되는 면을 가지고 있어서 안전성의 증가는 효율성의 약화를 가져온다.
특히, 이동통신시스템에서는 이동 단말기(클라이언트)의 계산 파워가 작으므로 어떻게 이동단말기의 계산량을 줄일것인가 하는 문제가 매우 중요하게 취급되고 있으며, 시스템의 이동성으로 인한 보안요구가 증대되는 환경에서 클라이언트의 계산량 및 시스템간의 교환 메시지 수를 줄이기 위한 기술적인 방법이 필요하게 되었다.
본 발명은 이러한 기술적 필요성에 의해 안출된 것으로, 네트워크 트래픽의 감소 및 통신 오류를 줄일 수 있도록 시스템간 키교환 메시지 수를 줄이고, 클라이언트의 계산량을 감소시켜 전체 시스템의 효율성을 높이는 패스워드 기반 키교환 방법 및 그 시스템을 제공하는데 그 목적이 있다.
도 1 은 본 발명에 따른 패스워드 기반 키교환 방법을 수행하기 위한 시스템 구성 블록도.
도 2 는 도 1에 도시된 클라이언트에서의 키교환 계수 등록을 위한 절차 흐름도.
도 3 는 도 1에 도시된 서버에서의 키교환 계수 등록을 위한 절차 흐름도.
도 4 는 도 1에 도시된 클라이언트에서의 키교환 프로토콜을 수행하는 상세한 흐름도.
도 5 은 도 1에 도시된 서버에서의 키교환 프로토콜을 수행하는 상세한 흐름도.
* 도면의 주요부분에 대한 부호의 설명*
10 : 클라이언트 11 : 키교환 모듈 초기화 관리부
12 : 키교환 계수 생성부 13 : 키교환 연산부
14 : 암호화 처리부 15 : 키교환 등록부
16 : 전송부 20 : 네트워크
30 : 서버 31 : 키교환 모듈 초기화 관리부
32 : 키교환 연산부 33 : 암호화 처리부
34 : 키교환 등록부 35 : 저장부
36 : 전송부
상기 목적을 달성하기 위한 본 발명에서는 클라이언트에서 패스워드 정보를이용하여 키교환에 사용되는 시스템 파라미터를 생성하고, 사용자의 패스워드 정보와 임의의 키재료를 서버에 전송하여 저장하면, 서버에서는 클라이언트로부터 전송된 정보에서 키정보를 추출하여 공유키를 생성하여 저장하고, 클라이언트로부터 인증요청이 있는 경우 서버에서 자신의 키정보 및 인증정보를 클라이언트에 전송하여 클라이언트에서 서버를 인증하고 공유키를 생성하고 서버로 클라이언트를 인증할 수 있도록 메시지를 생성하여 전송함으로서 인증을 위한 키교환을 수행한다.
본 발명에 따른 패스워드 기반 키교환 시스템의 일측면에 의하면, 네크워크를 통해 패스워드 기반 키정보를 교환하는 시스템에 있어서, 키교환에 사용되는 시스템 파라미터 및 사용자의 ID 및 패스워드 정보 및 키교환을 하는데 필요한 정보를 네트워크를 통해 전송하여 등록하고, 사용자로부터 사용자 인증 요청이 있는 경우, 네트워크를 통해 사용자로부터 입력된 인증정보를 전송하고, 그에 따라 네트워크를 통해 수신되는 인증정보에 의해 공유키 및 인증에 필요한 키교환 메시지를 생성하여 키교환을 수행하는 클라이언트와, 네트워크를 통해 클라이언트로부터 전송되는 키교환에 사용되는 시스템 파라미터 정보를 수신하여 저장하고, 클라이언트로부터 인증요청이 있는 경우, 클라이언트의 인증을 위한 키교환 메시지를 생성하여 상기 클라이언트와 키교환을 수행하는 서버를 포함하여 구성된다.
또한, 본 발명에 따른 네트워크를 통해 클라이언트와 패스워드 인증을 위한 키를 교환하는 서버에서 수행되는 키교환 방법의 일측면에 의하면, 네트워크를 통해 클라이언트와 패스워드 인증을 위한 키를 교환하는 서버의 키교환 방법에 있어서, 네트워크를 통해 클라이언트로부터 전송된 암호화된 등록메시지를 수신하여 복호화하고 그 해석하여 ID, 키교환 계수 정보를 추출하여 저장하는 단계와, 클라이언트로부터 키교환 등록을 위한 전송메시지를 수신하는 경우, 해당 키교환 계수정보를 검색하고, 이에 따라 클라이언트의 키재료 정보를 추출하고, 자신이 선택한 랜덤수를 이용하여 공유키와 키재료 및 인증을 위한 정보를 계산하여 클라이언트에 전송하는 단계와, 클라이언트로부터 키교환을 위해 전송되는 정보를 수신하여 자신의 인증정보를 계산하여 클라이언트로부터 수신한 클라이언트 인증정보와 비교하여 동일한 경우 키교환 성공메시지를 발생하는 단계를 수행한다.
또한, 본 발명에 따른 서버의 키교환 방법을 수행하기 위한 기록매체의 일측면에 의하면, 네트워크를 통해 클라이언트와 패스워드 인증을 위한 키를 교환하는 서버의 키교환 방법을 수행하기 위하여, 디지탈 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지탈 처리장치에 의해 판독될 수 있는 기록매체에 있어서, 네트워크를 통해 클라이언트로부터 전송된 암호화된 등록메시지를 수신하여 복호화하고 그 해석하여 ID, 키교환 계수 정보를 추출하여 저장하는 단계와, 클라이언트로부터 키교환 등록을 위한 전송메시지를 수신하는 경우, 해당 키교환 계수정보를 검색하고, 이에 따라 클라이언트의 키재료 정보를 추출하고, 자신이 선택한 랜덤수를 이용하여 공유키와 키재료 및 인증을 위한 정보를 계산하여 클라이언트에 전송하는 단계와, 클라이언트로부터 키교환을 위해 전송되는 정보를 수신하여 자신의 인증정보를 계산하여 클라이언트로부터 수신한 클라이언트 인증정보와 비교하여 동일한 경우 키교환 성공메시지를 발생하는 단계를 포함한다.
이하, 첨부한 도면을 참조하여 본 발명을 상세히 설명한다.
먼저, 이하의 설명에서 사용될 기호는 다음과 같이 정의한다.
a | b : a는 b를 나눈다
A || B : 데이터 A와 B의 연접(concatenation)
PWD : 패스워드
h : 공개된 일방향 축약함수로써 SHA1, MD5와 같은 함수
p : 암호학적으로 안전한 크기의 소수(현재까지 나온 암호학적 알고리즘 및 컴퓨터의 계산 파워에 따라 점점 커지고 있으며 일반적인 용어로 사용되고 있음)
q : q | p-1를 만족하는 암호학적으로 안전한 크기의 소수(현재까지 나온 암호학적 알고리즘 및 컴퓨터의 계산 파워에 따라 점점 커지고 있으며 일반적인 용어로 사용되고 있음)
S : 본 발명에서 키교환의 모듈러 지수승 연산에 사용되는 기저(base)
v : 패스워드를 통해 생성되고 서버에 의해 클라이언트 인증에 사용될 검증자(영어식으로 패스워드 기반 키교환 프로토콜에서 verifier로 일컬음)
위의 기호에서 S와 v는 다음 수학식 1과 수학식 2에 의해 계산된다.
S = h(PWD)(p-1)/qmod p (단, 1<S<p)
v = S-PWDmod p
도 1은 본 발명에 따른 패스워드 기반 키교환을 수행하기 위한 시스템의 구성 블록도가 도시된다. 도 1을 참조하면, 본 발명의 패스워드 기반 키교환 시스템은 크게 클라이언트(10)와, 네트워크(20)를 통해 클라이언트(10)로부터 키교환 정보를 전달받아 키교환을 수행하는 서버(30)로 이루어진다.
클라이언트(10)는 키교환 모듈 초기화 관리부(11)와, 키교환 계수 생성부(12)와, 키교환 연산부(13)와, 암호화 처리부(14)와, 키교환 등록부(15)와, 전송부(16)를 포함하여 구성될 수 있고, 서버(30)는 키교환 모듈 초기화 관리부(31)와, 키교환 연산부(32)와, 암호화 처리부(33)와, 키교환 등록부(34)와, 저장부(35)와, 전송부(36)를 포함하여 구성될 수 있다.
먼저, 클라이언트(10)의 구성에 대하여 살펴보자.
키교환 모듈 초기화 관리부(11)는 클라이언트(10)에서 키교환을 위해 최초로 설정되는 파라미터 및 함수를 관리한다. 즉, 암호학적으로 안전한 크기의 소수 p, q 및 공개된 일방향 축약함수 h를 시스템 계수 및 라이브러리 함수로 가지고 있다.
키교환 계수 생성부(12)는 키교환 프로토콜에 사용되는 계수를 생성한다. 즉, 키교환 모듈 초기화 관리부(11)와 사용자로부터 ID와 패스워드를 입력받을 수 있는 외부 인터페이스를 이용하여 S와 v 및 신원정보 ID를 키교환 계수로 생성한다.
키교환 연산부(13)는 키교환을 위한 등록 과정이 완료되었을때, 키교환 프로토콜 메시지의 생성 및 처리를 수행한다. 암호화 처리부(14)는 키교환 등록 메시지를 보호하기 위한 암호화 처리를 수행하여 키교환 등록부(15)의 비밀통신을 지원한다.
키교환 등록부(15)는 키교환 등록과정을 처리한다. 즉, 클라이언트(10)와 서버(30)가 ID, S, v를 비밀리에 송수신하여 등록할수 있도록 지원한다. 전송부(16)는 서버와의 데이터 송수신을 수행한다.
이제, 서버(30)의 구성에 대하여 살펴보자.
키교환 모듈 초기화 관리부(31)는 서버(30)내에서 키교환을 위해 최초 설정되는 파라미터 및 함수를 관리한다. 즉, 암호학적으로 안전한 크기의 소수 p, q 및 공개된 일방향 축약함수 h를 시스템 계수 및 라이브러리 함수로 가지고 있다.
키교환 연산부(32)는 키교환 메시지를 생성하기 위해 저장부(35)에 저장된 ID, S, v를 조회하고, 키교환 모듈 초기화 관리부(31)로부터 계수 p, q 및 공개된 일방향 축약함수 h, f를 제공받아 키교환 프로토콜 메시지를 생성하고, 클라이언트(10)로부터 전송받은 키교환 메시지를 해석하고 그에 따른 연산처리를 수행한다.
암호화 처리부(33)는 클라이언트(10)에 전송하기 위해 생성된 키교환 메시지를 보호하거나, 클라이언트(10)로부터 암호화되어 전송된 키교환 등록 메시지를 해석하기 위하여 복호화하는 암호화 또는 복호화를 처리한다.
키교환 등록부(34)는 전송부(36)를 통해 전달받은 암호화된 ID, S, v를 암호화 처리부(33)로 보내어 복호화를 수행하게 하고, 암호화 처리부(33)로부터 복호화된 ID, S, v를 받아 해석한후 ID, S, v를 저장부(35)에 저장하여 등록을 수행한다.
저장부(35)는 등록된 클라이언트 정보를 저장 및 관리하는 서버의 데이터 베이스 관리 수단 키교환 등록부(34)에 의해 ID, S, v를 받으면 서버내에서 ID, S, v를 등록 및 관리한다.
전송부(36)는 네트워크(20)를 통해 클라이언트(10)의 데이터 송수신을 수행하여 클라이언트(10)로부터 전송되는 클라이언트의 암호화된 등록메시지를 수신하여 키교환 등록부(34)로 전달해 주거나, 서버의 메시지를 클라이언트(10)로 전송해주는 기능을 수행한다.
도 2는 본 발명에 따른 클라이언트에서의 키교환 등록과정의 흐름도이다.
도 2를 참조하여 클라이언트에서의 키교환 등록과정을 살펴보자. 먼저, 키교환 계수 생성부(12)에서는 사용자로부터 ID와 패스워드를 입력받고(S1), 키교환 모듈 초기화 관리부(11)로부터 계수 p, q 와 함수 h, f 정보를 제공받아 수학식 1에 의해 S를 구하고(S2), 수학식 2에 의해 그 S로부터 v를 구한다(S3). 이렇게 구해진 S와 v와 사용자로부터 입력받은 ID를 연접하여 [ID || S || v]를 생성하여(S4) 키교환 등록부(15)로 보낸다. 키교환 등록부(15)에서는 암호화 처리부(14)로부터 암호화와 복호화의 지원을 받아 키교환 계수 생성부(12)로부터 전달받은 ID, S, v를 암호화하여(S4) 전송부(16)로 보낸다. 전송부(16)에서는 그 암호화된 [ID || S || v]정보를 서버(30)에 전송한다(S6). 이후에 서버(30)로부터 등록 완료 메시지를 수신하는 경우(S7), 키교환 등록부(15)에서는 v값을 폐기하고 등록과정을 완료한다(S8).
클라이언트 시스템의 보안성 강화를 위해 계산된 S 값도 폐기될 수 있으며 그러한 경우, 키교환 시마다 S값은 다시 계산되어져야 한다. 그렇지 않을 경우, S는 키교환연산부(13)에 저장되어 키교환시 계속 사용할 수 있다.
도 3은 본 발명에 따른 서버에서의 키교환 등록과정의 흐름도이다. 도 3을 참조하여 서버의 등록과정을 살펴보자.
서버의 전송부(36)에서는 네트워크(20)를 통해 전송되는 클라이언트의 암호화된 등록메시지를 수신하여 키교환 등록부(34)로 전달해 준다. 키교환 등록부(34)에서는 전송부(36)를 통해 전달받은 암호화된 ID, S, v를 받아 암호화 처리부(33)를 이용하여 복호화하고(S12) 그 복호화된 ID, S, v를 해석하여(S13) 그 해석된 ID, S, v를 저장부(35)에 저장하고(S14), 등록완료 메시지를 발생한다. 전송부(36)에서는 네트워크(20)를 통하여 그 등록완료 메시지를 클라이언트(10)에 송신한다(S15). 이후에 키교환 과정이 시작되면 이 등록정보를 조회하게 된다.
도 4는 본 발명에 따라 클라이언트에서 키교환 프로토콜을 수행하는 흐름도를 나타낸다.
도 4를 참조하여 본 발명의 키교환 프로토콜 동작과정을 설명해 보자. 사용자로부터 ID와 PWD가 입력되는 경우(S101), 또는 키교환 프로토콜의 시작을 명령하는 신호를 키교환 계수 생성부(12)에서는 키교환 계수를 생성하여 키교환 연산부(13)에 ID, S, PWD를 전달한다. 키교환 연산부(13)에서는 키교환 계수 생성부(12)에서 전달받은 사용자의 ID와 PWD를 통해 0<x<q, 0<r<q인 임의의 수 x와 r을 선택하고 수학식 3과 수학식 4에 의해 e와 t를 계산한다(S102, S103).
e = Sx-rmod p
t = r + e·PWD mod q
계산이 완료되면, 키교환 연산부(13)에서는 생성된 e와 t를 설정된 ID와 함께 연접시켜서 전송부(16)를 통해 서버시스템으로 전송하여 등록한다. 서버(30)에서는 이 전송 메시지를 수신하여 키교환을 데이터로 저장하고 있게 된다.
한편, 전송부(16)를 통해 서버의 메시지를 받으면 그 수신된 메시지 Y를 이용하여 자신의 공유키 Kc를 다음 수학식 5에 의해 계산한다(S106).
Kc = Yx= Sxymod p
Kc를 계산한 후, 키교환 연산부(13)에서는 이 값을 이용해 h(Kc, e, t)를 계산하고 서버(30)로부터 전송받은 메시지로부터 얻은 값 h(Ks, e, t)와 비교한다(S108). 만약, h(Kc, e, t) = h(Ks, e, t)인 경우에는 서버인증은 성공이며, 클라이언트는 h(Kc, Y)를 계산하여 서버에게 전송한다(S109). 만약 h(Kc, e, t)과 h(Ks, e, t)이 같지 않다면 인증이 실패로 끝난 것이므로 키교환 과정을 중단하게 된다(S110).
도 5는 본 발명에 따라 서버에서 키교환 프로토콜을 수행하는 흐름도를 나타낸다. 도 5를 참조하여 서버에서 키교환 프로토콜을 수행하는 과정을 살펴보자.
서버는 네트워크(20)를 통해 클라이언트(10)로부터 전송되는 메시지를 수신하여 해석하는 과정을 수행한다(S201). 클라언트(10)로부터 전송되는 메시지의 수신은 전송부(36)에서 이루어진다. 그 수신되는 메시지의 내용에는 암호화된 ID, S,v 정보가 포함되어 있다. 전송부(36)에서는 이 암호화된 정보를 키교환 등록부(34)에 전달한다. 키교환 등록부(34)에서는 저장부(35)에 그 ID, S, v 정보를 저장한다. 키교환 연산부(32)에서는 전송된 메시지가 키교환을 위한 첫번째 메시지인지 그 여부를 판단한다(S202). 만일 키교환을 위한 첫번째 메시지인 경우에는 저장부(35)에서 클라이언트(10)로부터 전달받은 ID에 해당하는 v와 S에 대한 데이터베이스를 조회한다(S203). 저장부(35)에서 해당 v와 S를 찾으면(S204) 클라이언트에 의해 이전에 전송받아 저장되어 있던 [ID || e || t]를 함께 읽어들여 다음의 수학식 6에 의하여 연산을 수행하여 Sxmod p를 계산한다(S205).
Sx= St·ve·e mod p
Sx mod p를 계산하면 0<y<q인 임의의 수 y를 선택하고 공유키 Ks를 수학식 7에 의해 계산한다(S206).
Ks = (Sx)y= Sxymod p
공유키 Ks를 계산한 후, y를 이용하여 수학식 8에 의해 자신의 키재료 Y를 생성한다(S207).
Y = Symod p
Y와 Ks가 계산되면 키교환 연산부(32)에서는 일방향 축약함수 h를 이용하여 h(Ks, e, t)를 계산하고(S208) 이 값을 Y와 함께 연접시켜 전송부(36)을 통해 클라이언트(10)에게 전송한다(S209).
한편, 클라이언트(10)로부터 키교환 메시지를 수신하여 키교환 메시지가 첫번째 메시지인가 판단한 결과(S201), 마지막 메시지인 경우에는 마찬가지로 자신의 Ks를 이용하여 h(Ks, Y)를 계산하고(S210) 이 값을 h(Kc, Y)와 비교한다(S211). 이 값이 같으면 키교환 연산부(32)에서는 클라이언트를 인증할 수 있으므로 클라이언트와 서버간의 키교환 과정은 성공적으로 끝낼 수 있음에 따라 키교환 성공 메시지를 발생하고(S212), 만약 비교한 값이 틀리면 서버는 키교환 실패 메시지를 발생한다(S213).
본 발명에 의하면, 클라이언트와 서버 시스템간의 효율적으로 키교환을 수행하여 종래의 방식보다 메시지 교환수를 감소시킴으로써, 통신 오류 및 네트워크 지연에 의한 영향을 줄일 수 있으며 특히, 클라이언트의 계산량을 감소시켜 이동통신과 같은 시스템에 효과적으로 응용될 수 있다.

Claims (9)

  1. 네크워크를 통해 패스워드 기반 키정보를 교환하는 시스템에 있어서,
    상기 키교환에 사용되는 시스템 파라미터 및 사용자의 ID 및 패스워드 정보 및 키교환을 하는데 필요한 정보를 네트워크를 통해 전송하여 등록하고, 사용자로부터 사용자 인증 요청이 있는 경우, 네트워크를 통해 사용자로부터 입력된 인증정보를 전송하고, 그에 따라 네트워크를 통해 수신되는 인증정보에 의해 공유키 및 인증에 필요한 키교환 메시지를 생성하여 키교환을 수행하는 클라이언트와,
    네트워크를 통해 클라이언트로부터 전송되는 키교환에 사용되는 시스템 파라미터 정보를 수신하여 저장하고, 상기 클라이언트로부터 인증요청이 있는 경우, 클라이언트의 인증을 위한 키교환 메시지를 생성하여 상기 클라이언트와 키교환을 수행하는 서버를 포함하는 패스워드 기반 키교환 시스템.
  2. 제 1항에 있어서, 상기 클라이언트는,
    사용자의 ID 및 패스워드 정보를 이용하여 키교환에 사용되는 시스템 파라미터를 생성하는 키교환 계수 생성부와,
    상기 키교환 계수 생성부에서 생성된 시스템 파라미터에 의해 사용자의 ID 및 패스워드 정보 및 키교환을 하는데 필요한 정보를 사전에 등록하기 위한 키교환 등록 정보를 생성하는 키교환 등록부와,
    상기 서버로부터 수신된 인증정보에 의해 서버를 인증하고 공유키를 생성하고 서버에서의 인증을 위해 필요한 키교환 메시지의 생성 및 키교환처리를 수행하는 키교환 연산부를 포함하는 포함하는 패스워드 기반 키교환 시스템.
  3. 제 1항에 있어서, 상기 서버는,
    네트워크를 통해 클라이언트로부터 사용자의 ID 및 패스워드 정보를 이용하여 생성된 키교환에 사용되는 시스템 파라미터 정보를 전송받아 키교환을 위한 정보로 등록하는 키교환 등록부와,
    상기 시스템 파라미터 정보로부터 클라이언트의 키재료를 추출하여 공유키를 추출하고, 클라이언트에 전송할 자신의 인증정보를 생성하고, 클라이언트로부터 전송된 키교환메시지에 의하여 클라이언트의 인증을 위한 키교환 메시지의 생성 및 연산을 수행하는 키교환 연산부를 포함하는 패스워드 기반 키교환 시스템.
  4. 네트워크를 통해 서버와 패스워드 인증을 위한 키를 교환하는 클라이언트의 키교환 방법에 있어서,
    사용자로부터 ID와 패스워드를 입력받아 수학식 1 및 수학식2에 의해 키교환 계수 S, v를 생성하는 단계와,
    상기 S와 v와 상기 ID를 연접하여 키교환 연산에 이용될 [ID || S || v]를생성하고, 암호화 처리하여 서버로 전송하여 키등록을 요청하는 단계와,
    사용자로부터 ID와 패스워드를 입력받아 통해 0<x<q, 0<r<q인 랜덤수 x와 r을 선택하고 수학식 3과 수학식 4에 의해 e와 t를 계산하는 단계와,
    상기 랜덤수 x, r 및 패스워드 PWD, 키교환 계수 S에 의해 계산된 메시지 e, t를 자신의 ID와 함께 연접시켜 [ID || e || t]를 생성하여 키교환 등록을 위해 네트워크를 통해 서버로 전송하는 단계와,
    서버로부터 키교환을 위한 공유키 Ks와 키재료 Y 및 축약된 값 h(Ks, e, t)정보를 수신하여 수학식 5에 의해 공유키 Kc 및 h(Kc, e, t)를 계산하고, 서버로부터 전송받은 메시지 h(Ks, e, t)와 동일여부를 판단하여 동일한 경우, 축약함수 값 h(Kc, Y)를 계산하여 서버에 전송하여 키교환을 완료하는 단계를 수행하는 패스워드 기반 키교환 방법.
    [수학식 1]
    S = h(PWD)(p-1)/qmod p (단, 1<S<p)
    [수학식 2]
    v = S-PWDmod p
    [수학식 3]
    e = Sx-rmod p
    [수학식 4]
    t = r + e·PWD mod q
    [수학식 5]
    Kc = Yx= Sxymod p
    (단, p : 암호학적으로 안전한 크기의 소수, q : q | p-1를 만족하는 암호학적으로 안전한 크기의 소수, S : 키교환의 모듈러 지수승 연산에 사용되는 기저(base), v : 패스워드를 통해 생성되고 서버에 의해 클라이언트 인증에 사용될 검증자)
  5. 제 4항에 있어서, 상기 키교환 계수 S값은,
    q | p-1 이고, q도 역시 안전한 크기의 소수인 p를 선택하여 소수 p 상에서 S의 위수가 q가 되도록 패스워드 또는 패스워드를 입력으로 하는 일방향 축약 함수를 이용하여 생성되는 패스워드 기반 키교환 방법.
  6. 네트워크를 통해 클라이언트와 패스워드 인증을 위한 키를 교환하는 서버의 키교환 방법에 있어서,
    네트워크를 통해 클라이언트로부터 전송된 암호화된 등록메시지를 수신하여 복호화하고 그 해석하여 ID, 키교환 계수 정보를 추출하여 저장하는 단계와,
    클라이언트로부터 키교환 등록을 위한 전송메시지를 수신하는 경우, 해당 키교환 계수정보를 검색하고, 이에 따라 클라이언트의 키재료 정보를 추출하고, 자신이 선택한 랜덤수를 이용하여 공유키와 키재료 및 인증을 위한 정보를 계산하여 클라이언트에 전송하는 단계와,
    클라이언트로부터 키교환을 위해 전송되는 정보를 수신하여 자신의 인증정보를 계산하여 클라이언트로부터 수신한 클라이언트 인증정보와 비교하여 동일한 경우 키교환 성공메시지를 발생하는 단계를 수행하는 패스워드 기반 키교환 방법.
  7. 제 6항에 있어서, 상기 클라이언트에 전송하는 단계는,
    클라이언트로부터 키교환 등록을 위한 전송메시지를 수신하는 경우, 해당 키교환 계수 정보 S와 v를 검색하는 단계와,
    해당 S와 v가 검색되는 경우, 기저장되어 있던 [ID || e || t]를 함께 읽어들여 수학식 6에 의하여 연산을 수행하여 Sxmod p를 계산하는 단계와,
    Sxmod p를 이용하여 0<y<q인 임의의 수 y를 선택하고 공유키 Ks를 수학식 7에 의해 계산하는 단계와,
    공유키 Ks를 계산한 후, y를 이용하여 수학식 8에 의해 자신의 키재료 Y를 생성하는 단계와,
    Y와 Ks가 계산되는 경우, 일방향 축약함수 h를 이용하여 h(Ks, e, t)를 계산하고 이 값을 Y와 함께 연접시켜 클라이언트에게 전송하는 단계를 수행하는 패스워드 기반 키교환 방법.
    [수학식 6]
    Sx= St·ve·e mod p
    [수학식 7]
    Ks = (Sx)y= Sxymod p
    [수학식 8]
    Y = Symod p
    (단, p : 암호학적으로 안전한 크기의 소수, q : q | p-1를 만족하는 암호학적으로 안전한 크기의 소수, S : 키교환의 모듈러 지수승 연산에 사용되는 기저(base), v : 패스워드를 통해 생성되고 서버에 의해 클라이언트 인증에 사용될 검증자, e = Sx-rmod p, t = r + e·PWD mod q, x, r : 0<x<q, 0<r<q인 임의의 수)
  8. 네트워크를 통해 서버와 패스워드 인증을 위한 키를 교환하는 클라이언트의 키교환 방법을 수행하기 위하여, 디지탈 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지탈 처리장치에 의해 판독될 수 있는 기록매체에 있어서,
    사용자로부터 ID와 패스워드를 입력받아 수학식 1 및 수학식2에 의해 키교환 계수 S, v를 생성하는 단계와,
    상기 S와 v와 상기 ID를 연접하여 키교환 연산에 이용될 [ID || S || v]를 생성하고, 암호화 처리하여 서버로 전송하여 키등록을 요청하는 단계와,
    사용자로부터 ID와 패스워드를 입력받아 통해 0<x<q, 0<r<q인 랜덤수 x와 r을 선택하고 수학식 3과 수학식 4에 의해 e와 t를 계산하는 단계와,
    상기 랜덤수 x, r 및 패스워드 PWD, 키교환 계수 S에 의해 계산된 메시지 e, t를 자신의 ID와 함께 연접시켜 [ID || e || t]를 생성하여 키교환 등록을 위해 네트워크를 통해 서버로 전송하는 단계와,
    서버로부터 키교환을 위한 공유키 Ks와 키재료 Y 및 축약된 값 h(Ks, e, t)정보를 수신하여 수학식 5에 의해 공유키 Kc 및 h(Kc, e, t)를 계산하고, 서버로부터 전송받은 메시지 h(Ks, e, t)와 동일여부를 판단하여 동일한 경우, 축약함수 값 h(Kc, Y)를 계산하여 서버에 전송하여 키교환을 완료하는 단계를 포함하는 기록매체.
    [수학식 1]
    S = h(PWD)(p-1)/qmod p (단, 1<S<p)
    [수학식 2]
    v = S-PWDmod p
    [수학식 3]
    e = Sx-rmod p
    [수학식 4]
    t = r + e·PWD mod q
    [수학식 5]
    Kc = Yx= Sxymod p
    (단, p : 암호학적으로 안전한 크기의 소수, q : q | p-1를 만족하는 암호학적으로 안전한 크기의 소수, S : 키교환의 모듈러 지수승 연산에 사용되는 기저(base), v : 패스워드를 통해 생성되고 서버에 의해 클라이언트 인증에 사용될 검증자)
  9. 네트워크를 통해 클라이언트와 패스워드 인증을 위한 키를 교환하는 서버의 키교환 방법을 수행하기 위하여, 디지탈 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지탈 처리장치에 의해 판독될 수 있는 기록매체에 있어서,
    네트워크를 통해 클라이언트로부터 전송된 암호화된 등록메시지를 수신하여 복호화하고 그 해석하여 ID, 키교환 계수 정보를 추출하여 저장하는 단계와,
    클라이언트로부터 키교환 등록을 위한 전송메시지를 수신하는 경우, 해당 키교환 계수정보를 검색하고, 이에 따라 클라이언트의 키재료 정보를 추출하고, 자신이 선택한 랜덤수를 이용하여 공유키와 키재료 및 인증을 위한 정보를 계산하여 클라이언트에 전송하는 단계와,
    클라이언트로부터 키교환을 위해 전송되는 정보를 수신하여 자신의 인증정보를 계산하여 클라이언트로부터 수신한 클라이언트 인증정보와 비교하여 동일한 경우, 키교환 성공메시지를 발생하는 단계를 포함하는 기록매체.
KR10-2001-0068252A 2001-11-02 2001-11-02 패스워드 기반 키교환 방법 및 그 시스템 KR100401063B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0068252A KR100401063B1 (ko) 2001-11-02 2001-11-02 패스워드 기반 키교환 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0068252A KR100401063B1 (ko) 2001-11-02 2001-11-02 패스워드 기반 키교환 방법 및 그 시스템

Publications (2)

Publication Number Publication Date
KR20030037145A KR20030037145A (ko) 2003-05-12
KR100401063B1 true KR100401063B1 (ko) 2003-10-10

Family

ID=29567786

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0068252A KR100401063B1 (ko) 2001-11-02 2001-11-02 패스워드 기반 키교환 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR100401063B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445574B1 (ko) * 2001-12-19 2004-08-25 한국전자통신연구원 대화형 영 지식 증명을 이용한 패스워드 기반의 인증 및키 교환 프로토콜 설계 방법
KR100642745B1 (ko) * 2005-10-05 2006-11-10 고려대학교 산학협력단 Id-기반의 키교환 방법 및 장치
KR100913783B1 (ko) * 2007-10-26 2009-08-26 인하대학교 산학협력단 패스워드 기반 인증 및 키 교환 방법
KR101909149B1 (ko) * 2018-02-14 2018-10-17 주식회사 커널로그 저전력 환경에서 적용 가능한 높은 수준의 보안성을 갖는 비콘 기반의 원격 제어 시스템 및 방법
CN111263360A (zh) * 2020-03-17 2020-06-09 中国工程物理研究院机械制造工艺研究所 采用公钥保护可变机械认证密码的无线加密装置及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4956863A (en) * 1989-04-17 1990-09-11 Trw Inc. Cryptographic method and apparatus for public key exchange with authentication
JPH05344117A (ja) * 1992-06-11 1993-12-24 Kokusai Denshin Denwa Co Ltd <Kdd> 相手認証/暗号鍵配送方式
WO1995016947A1 (en) * 1993-12-14 1995-06-22 Hughes Aircraft Company Method for providing mutual authentication of a user and a server on a network
KR100285791B1 (ko) * 1998-03-27 2001-04-16 조휘갑 패스워드 교환방식을 이용한 사용자-서버간의 상호 신분 인증방법
KR20010090167A (ko) * 2000-03-23 2001-10-18 윤종용 패스워드를 기반으로 한 상호 인증 및 키 교환방법과 그장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4956863A (en) * 1989-04-17 1990-09-11 Trw Inc. Cryptographic method and apparatus for public key exchange with authentication
JPH05344117A (ja) * 1992-06-11 1993-12-24 Kokusai Denshin Denwa Co Ltd <Kdd> 相手認証/暗号鍵配送方式
WO1995016947A1 (en) * 1993-12-14 1995-06-22 Hughes Aircraft Company Method for providing mutual authentication of a user and a server on a network
KR100285791B1 (ko) * 1998-03-27 2001-04-16 조휘갑 패스워드 교환방식을 이용한 사용자-서버간의 상호 신분 인증방법
KR20010090167A (ko) * 2000-03-23 2001-10-18 윤종용 패스워드를 기반으로 한 상호 인증 및 키 교환방법과 그장치

Also Published As

Publication number Publication date
KR20030037145A (ko) 2003-05-12

Similar Documents

Publication Publication Date Title
US6292895B1 (en) Public key cryptosystem with roaming user capability
US6389533B1 (en) Anonymity server
US6611913B1 (en) Escrowed key distribution for over-the-air service provisioning in wireless communication networks
EP2014000B1 (en) Method for elliptic curve public key cryptographic validation
US6931528B1 (en) Secure handshake protocol
US7979707B2 (en) Secure seed generation protocol
US7574596B2 (en) Cryptographic method and apparatus
CA2913444C (en) System and method for user authentication
EP1383265A1 (en) Method for generating proxy signatures
US7149311B2 (en) Methods and apparatus for providing networked cryptographic devices resilient to capture
JP4782343B2 (ja) “ミドルマン”詐欺に対する可能性を減少すると同時に匿名のユーザを認証する方法
US20030070069A1 (en) Authentication module for an enterprise access management system
US20030081774A1 (en) Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
US20090323935A1 (en) Pseudo public key encryption
US20050005106A1 (en) Cryptographic method and apparatus
CN111294203B (zh) 信息传输方法
EP1501238B1 (en) Method and system for key distribution comprising a step of authentication and a step of key distribution using a KEK (key encryption key)
CN114244508B (zh) 数据加密方法、装置、设备及存储介质
EP1079565A2 (en) Method of securely establishing a secure communication link via an unsecured communication network
US6986045B2 (en) Single algorithm cipher suite for messaging
KR100401063B1 (ko) 패스워드 기반 키교환 방법 및 그 시스템
US7373499B2 (en) Methods and apparatus for delegation of cryptographic servers for capture-resilient devices
TW200803392A (en) Method, device, server arrangement, system and computer program products for securely storing data in a portable device
CN113824713B (zh) 一种密钥生成方法、系统及存储介质
KR20070035342A (ko) 패스워드 기반의 경량화된 상호 인증 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080905

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee