KR20030037145A - the method and the system for passward based key change - Google Patents

the method and the system for passward based key change Download PDF

Info

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

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

PURPOSE: A method and a system for exchanging a key by using a password are provided to reduce the traffic on a network and communication errors by reducing the number of key exchange messages between systems and the amount of calculation of a client. CONSTITUTION: A client(10) is formed with a key exchange module initialization management portion(11) for managing parameters and functions, a key exchange coefficient generation portion(12) for generating coefficients for key exchange protocols, a key exchange calculation portion(13) for generating and processing a key exchange protocol message, an encoding process portion(14) for performing an encoding process, a key exchange registration portion(15) for processing a process for registering the key exchange, and a transmission portion(16) performs a data communication process with a server(30) through a network(20). The server(30) is formed with a key exchange module initialization management portion(31) for managing the parameters and the functions, a key exchange calculation portion(32) for generating a key exchange message, an encoding process portion(33) for protecting the key exchange message, a key exchange registration portion(34) for decoding the encoded data, a storage portion(35) for storing the decoded data, and a transmission portion(36) for performing a data communication process with the client(10) through the network(20).

Description

패스워드 기반 키교환 방법 및 그 시스템{the method and the system for passward based key change}Password-based key exchange method and the system {the method and the system for passward based key change}

본 발명은 패스워드 기반 키교환 방법 및 그 시스템에 관한 것으로, 상세하게는 인터넷에서 최적의 보안 서비스 제공을 위해 패스워드를 사용한 인터넷 키교환 서비스 기술의 적용시 클라이언트와 서버간에 보안강도를 약화시키지 않으면서 클라이언트의 계산량 및 시스템간 메시지 교환수를 줄이며 인증된 공유키를 생성하는 패스워드 기반 키교환 방법 및 그 시스템에 관한 것이다.The present invention relates to a password-based key exchange method and a system thereof, and more particularly, to applying an Internet key exchange service technology using a password to provide an optimal security service in the Internet without reducing the security strength between the client and the server. The present invention relates to a password-based key exchange method and system for generating an authenticated shared key while reducing the amount of computation and the number of message exchanges between systems.

일반적으로 패스워드 키교환 방식은 사람이 기억할 수 있는 패스워드 정보만을 클라이언트 시스템에 입력함으로써 클라이언트와 서버 시스템간에 상호 인증된 공유키를 생성하도록 하고 있다. 이러한 방식의 경우, 보통 클라이언트와 서버 시스템에서 상호 인증을 위해 사용되는 패스워드에 관한 정보가 서로 다르게 설정되도록 하는 방식이 널리 연구되고 있다. 이 때, 서버 시스템이 가지고 있는 패스워드 관련 정보는 패스워드를 통해 쉽게 생성되지만, 역으로 그 정보를 이용해 패스워드 정보를 유추하기는 매우 어렵도록 만들어진다.In general, the password key exchange method generates a mutually authenticated shared key between a client and a server system by inputting only password information that can be stored by a user into the client system. In the case of this method, a method of allowing information on a password used for mutual authentication in a client and server system to be set differently is widely studied. At this time, the password-related information of the server system is easily generated through the password, but conversely, it is very difficult to infer the password information using the information.

이러한 설정에 기초하여 클라이언트와 서버간에 키를 교환하는 방법은 키 재료를 어떻게 효율적으로 교환하느냐 하는 문제가 메시지 교환 수를 줄이고 보안강도를 유지하는데 매우 중요하다.The method of exchanging keys between client and server based on this setting is very important to how to exchange key material efficiently, to reduce the number of message exchanges and maintain security strength.

특히, 클라이언트 시스템은 일반적으로 계산 파워가 떨어지므로 키교환 과정에서 클라이언트 시스템의 계산량이 적도록 설계하는 것이 매우 중요하다. 이러한 예로 이동통신 시스템을 들 수 있다.In particular, it is very important to design the client system so that the calculation amount of the client system is small during the key exchange process since the client system generally has a low computational power. An example of this is a mobile communication system.

메시지 교환수의 증가는 트래픽 증가로 인한 네트워크 성능 저하를 가져오며, 통신 지연으로 인한 여러 가지 장애 및 영향을 받을 수 있다. 한편, 시스템의 효율성 측면에서, 보안강도와 효율성은 서로 상충되는 면을 가지고 있어서 안전성의 증가는 효율성의 약화를 가져온다.The increase in the number of message exchanges leads to network performance degradation due to increased traffic, and can be affected by various obstacles and effects due to communication delays. On the other hand, in terms of the efficiency of the system, security strength and efficiency are in conflict with each other, so that the increase of security leads to the weakening of the efficiency.

특히, 이동통신시스템에서는 이동 단말기(클라이언트)의 계산 파워가 작으므로 어떻게 이동단말기의 계산량을 줄일것인가 하는 문제가 매우 중요하게 취급되고 있으며, 시스템의 이동성으로 인한 보안요구가 증대되는 환경에서 클라이언트의 계산량 및 시스템간의 교환 메시지 수를 줄이기 위한 기술적인 방법이 필요하게 되었다.Particularly, in the mobile communication system, the computational power of the mobile terminal (client) is small, so the problem of how to reduce the computational amount of the mobile terminal is very important, and the computational amount of the client in an environment in which the security requirements are increased due to the mobility of the system. There is a need for a technical method to reduce the number of exchange messages between and systems.

본 발명은 이러한 기술적 필요성에 의해 안출된 것으로, 네트워크 트래픽의 감소 및 통신 오류를 줄일 수 있도록 시스템간 키교환 메시지 수를 줄이고, 클라이언트의 계산량을 감소시켜 전체 시스템의 효율성을 높이는 패스워드 기반 키교환 방법 및 그 시스템을 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made by such a technical necessity, and a password-based key exchange method for increasing the efficiency of the entire system by reducing the number of key exchange messages between systems and reducing the amount of computation of clients to reduce network traffic and reduce communication errors. The purpose is to provide the system.

도 1 은 본 발명에 따른 패스워드 기반 키교환 방법을 수행하기 위한 시스템 구성 블록도.1 is a system block diagram for performing a password-based key exchange method according to the present invention.

도 2 는 도 1에 도시된 클라이언트에서의 키교환 계수 등록을 위한 절차 흐름도.FIG. 2 is a flow chart of the procedure for registering key exchange counts at the client shown in FIG. 1; FIG.

도 3 는 도 1에 도시된 서버에서의 키교환 계수 등록을 위한 절차 흐름도.3 is a flow chart of a procedure for registering key exchange coefficients in the server shown in FIG.

도 4 는 도 1에 도시된 클라이언트에서의 키교환 프로토콜을 수행하는 상세한 흐름도.4 is a detailed flowchart of performing a key exchange protocol at the client shown in FIG.

도 5 은 도 1에 도시된 서버에서의 키교환 프로토콜을 수행하는 상세한 흐름도.5 is a detailed flowchart of performing a key exchange protocol in the server shown in FIG.

* 도면의 주요부분에 대한 부호의 설명** Explanation of symbols for the main parts of the drawings *

10 : 클라이언트 11 : 키교환 모듈 초기화 관리부10: client 11: key exchange module initialization management unit

12 : 키교환 계수 생성부13 : 키교환 연산부12: key exchange coefficient generation unit 13: key exchange operation unit

14 : 암호화 처리부15 : 키교환 등록부14: encryption processing unit 15: key exchange registration unit

16 : 전송부20 : 네트워크16: transmission unit 20: network

30 : 서버31 : 키교환 모듈 초기화 관리부30: server 31: key exchange module initialization management unit

32 : 키교환 연산부33 : 암호화 처리부32: key exchange operation unit 33: encryption processing unit

34 : 키교환 등록부35 : 저장부34: key exchange registration unit 35: storage unit

36 : 전송부36: transmission unit

상기 목적을 달성하기 위한 본 발명에서는 클라이언트에서 패스워드 정보를이용하여 키교환에 사용되는 시스템 파라미터를 생성하고, 사용자의 패스워드 정보와 임의의 키재료를 서버에 전송하여 저장하면, 서버에서는 클라이언트로부터 전송된 정보에서 키정보를 추출하여 공유키를 생성하여 저장하고, 클라이언트로부터 인증요청이 있는 경우 서버에서 자신의 키정보 및 인증정보를 클라이언트에 전송하여 클라이언트에서 서버를 인증하고 공유키를 생성하고 서버로 클라이언트를 인증할 수 있도록 메시지를 생성하여 전송함으로서 인증을 위한 키교환을 수행한다.According to the present invention for achieving the above object, if the client generates system parameters used for key exchange using password information, and transmits and stores the user's password information and arbitrary key material to the server, the server transmits them from the client. Extract key information from information to generate and store shared key.If there is an authentication request from the client, the server sends its own key information and authentication information to the client to authenticate the server to the client, generate a shared key, and send the client to the server. A key exchange for authentication is performed by generating and sending a message to authenticate the ID.

본 발명에 따른 패스워드 기반 키교환 시스템의 일측면에 의하면, 네크워크를 통해 패스워드 기반 키정보를 교환하는 시스템에 있어서, 키교환에 사용되는 시스템 파라미터 및 사용자의 ID 및 패스워드 정보 및 키교환을 하는데 필요한 정보를 네트워크를 통해 전송하여 등록하고, 사용자로부터 사용자 인증 요청이 있는 경우, 네트워크를 통해 사용자로부터 입력된 인증정보를 전송하고, 그에 따라 네트워크를 통해 수신되는 인증정보에 의해 공유키 및 인증에 필요한 키교환 메시지를 생성하여 키교환을 수행하는 클라이언트와, 네트워크를 통해 클라이언트로부터 전송되는 키교환에 사용되는 시스템 파라미터 정보를 수신하여 저장하고, 클라이언트로부터 인증요청이 있는 경우, 클라이언트의 인증을 위한 키교환 메시지를 생성하여 상기 클라이언트와 키교환을 수행하는 서버를 포함하여 구성된다.According to one aspect of the password-based key exchange system according to the present invention, in the system for exchanging password-based key information via the network, the system parameters used for key exchange and the user ID and password information and information necessary for key exchange Is registered by sending it through the network, and when there is a user authentication request from the user, the authentication information input from the user is transmitted through the network, and accordingly, the shared key and the key exchange required for authentication by the authentication information received through the network Receives and stores the message that generates the message and performs the key exchange, and the system parameter information used for the key exchange transmitted from the client through the network, and, when requested by the client, sends the key exchange message for the client's authentication. Generate the client And a server that performs key exchange.

또한, 본 발명에 따른 네트워크를 통해 클라이언트와 패스워드 인증을 위한 키를 교환하는 서버에서 수행되는 키교환 방법의 일측면에 의하면, 네트워크를 통해 클라이언트와 패스워드 인증을 위한 키를 교환하는 서버의 키교환 방법에 있어서, 네트워크를 통해 클라이언트로부터 전송된 암호화된 등록메시지를 수신하여 복호화하고 그 해석하여 ID, 키교환 계수 정보를 추출하여 저장하는 단계와, 클라이언트로부터 키교환 등록을 위한 전송메시지를 수신하는 경우, 해당 키교환 계수정보를 검색하고, 이에 따라 클라이언트의 키재료 정보를 추출하고, 자신이 선택한 랜덤수를 이용하여 공유키와 키재료 및 인증을 위한 정보를 계산하여 클라이언트에 전송하는 단계와, 클라이언트로부터 키교환을 위해 전송되는 정보를 수신하여 자신의 인증정보를 계산하여 클라이언트로부터 수신한 클라이언트 인증정보와 비교하여 동일한 경우 키교환 성공메시지를 발생하는 단계를 수행한다.Further, according to one aspect of a key exchange method performed in a server exchanging a key for password authentication with a client over a network according to the present invention, a key exchange method of a server exchanging a key for password authentication with a client over a network In the step of receiving, decrypting and decrypting an encrypted registration message transmitted from a client through a network, extracting and storing ID and key exchange coefficient information, and receiving a transmission message for key exchange registration from the client, Retrieving the corresponding key exchange coefficient information, extracting the key material information of the client accordingly, calculating the shared key, the key material and the information for authentication using the random number selected by the client, and transmitting the information to the client; Receive the information sent for key exchange and keep track of its own authentication information. Comparing with the client authentication information received from the client to generate a key exchange success message if the same.

또한, 본 발명에 따른 서버의 키교환 방법을 수행하기 위한 기록매체의 일측면에 의하면, 네트워크를 통해 클라이언트와 패스워드 인증을 위한 키를 교환하는 서버의 키교환 방법을 수행하기 위하여, 디지탈 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지탈 처리장치에 의해 판독될 수 있는 기록매체에 있어서, 네트워크를 통해 클라이언트로부터 전송된 암호화된 등록메시지를 수신하여 복호화하고 그 해석하여 ID, 키교환 계수 정보를 추출하여 저장하는 단계와, 클라이언트로부터 키교환 등록을 위한 전송메시지를 수신하는 경우, 해당 키교환 계수정보를 검색하고, 이에 따라 클라이언트의 키재료 정보를 추출하고, 자신이 선택한 랜덤수를 이용하여 공유키와 키재료 및 인증을 위한 정보를 계산하여 클라이언트에 전송하는 단계와, 클라이언트로부터 키교환을 위해 전송되는 정보를 수신하여 자신의 인증정보를 계산하여 클라이언트로부터 수신한 클라이언트 인증정보와 비교하여 동일한 경우 키교환 성공메시지를 발생하는 단계를 포함한다.In addition, according to one aspect of the recording medium for performing the key exchange method of the server according to the present invention, in order to perform a key exchange method of the server for exchanging a key for password authentication with the client over a network, A program of instructions that can be executed by a program is tangibly embodied, and in a recording medium that can be read by a digital processing apparatus, an encrypted registration message transmitted from a client through a network is received, decrypted, and interpreted to identify an ID and a key. Extracting and storing the exchange coefficient information, and when receiving the transmission message for the key exchange registration from the client, retrieve the corresponding key exchange coefficient information, extract the key material information of the client accordingly, and select a random number selected by the client. Calculate information for shared key, key material and authentication using If the receiving step and the information transmitted to the key exchange from the client to transmit the client calculates its own authentication information, the same as compared with client authentication information received from the client includes the step of generating a successful key exchange messages.

이하, 첨부한 도면을 참조하여 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

먼저, 이하의 설명에서 사용될 기호는 다음과 같이 정의한다.First, the symbols to be used in the following description are defined as follows.

a | b : a는 b를 나눈다a | b: a divides b

A || B : 데이터 A와 B의 연접(concatenation)A || B: concatenation of data A and B

PWD : 패스워드PWD: Password

h : 공개된 일방향 축약함수로써 SHA1, MD5와 같은 함수h: one-way abbreviated function, such as SHA1, MD5

p : 암호학적으로 안전한 크기의 소수(현재까지 나온 암호학적 알고리즘 및 컴퓨터의 계산 파워에 따라 점점 커지고 있으며 일반적인 용어로 사용되고 있음)p is a cryptographically safe fractional number (increasingly used in general terms, depending on the cryptographic algorithms and computational power of computers)

q : q | p-1를 만족하는 암호학적으로 안전한 크기의 소수(현재까지 나온 암호학적 알고리즘 및 컴퓨터의 계산 파워에 따라 점점 커지고 있으며 일반적인 용어로 사용되고 있음)q: q | A cryptographically safe fractional number that satisfies p-1 (increasingly used in general terms, depending on the cryptographic algorithms and computational power of computers to date)

S : 본 발명에서 키교환의 모듈러 지수승 연산에 사용되는 기저(base)S: base used for the modular exponentiation calculation of key exchange in the present invention

v : 패스워드를 통해 생성되고 서버에 의해 클라이언트 인증에 사용될 검증자(영어식으로 패스워드 기반 키교환 프로토콜에서 verifier로 일컬음)v: Verifier that is generated through a password and will be used for client authentication by the server (also called verifier in password-based key exchange protocol in English).

위의 기호에서 S와 v는 다음 수학식 1과 수학식 2에 의해 계산된다.In the above symbols, S and v are calculated by the following equations (1) and (2).

S = h(PWD)(p-1)/qmod p (단, 1<S<p)S = h (PWD) (p-1) / q mod p (where 1 <S <p)

v = S-PWDmod pv = S -PWD mod p

도 1은 본 발명에 따른 패스워드 기반 키교환을 수행하기 위한 시스템의 구성 블록도가 도시된다. 도 1을 참조하면, 본 발명의 패스워드 기반 키교환 시스템은 크게 클라이언트(10)와, 네트워크(20)를 통해 클라이언트(10)로부터 키교환 정보를 전달받아 키교환을 수행하는 서버(30)로 이루어진다.1 is a block diagram illustrating a configuration of a system for performing password based key exchange according to the present invention. Referring to FIG. 1, the password-based key exchange system of the present invention includes a client 10 and a server 30 that performs key exchange by receiving key exchange information from the client 10 through the network 20. .

클라이언트(10)는 키교환 모듈 초기화 관리부(11)와, 키교환 계수 생성부(12)와, 키교환 연산부(13)와, 암호화 처리부(14)와, 키교환 등록부(15)와, 전송부(16)를 포함하여 구성될 수 있고, 서버(30)는 키교환 모듈 초기화 관리부(31)와, 키교환 연산부(32)와, 암호화 처리부(33)와, 키교환 등록부(34)와, 저장부(35)와, 전송부(36)를 포함하여 구성될 수 있다.The client 10 includes a key exchange module initialization management unit 11, a key exchange coefficient generation unit 12, a key exchange operation unit 13, an encryption processing unit 14, a key exchange registration unit 15, and a transmission unit. The server 30 may include a key exchange module initialization management unit 31, a key exchange operation unit 32, an encryption processing unit 33, a key exchange registration unit 34, and a storage unit. The unit 35 and the transmission unit 36 may be configured.

먼저, 클라이언트(10)의 구성에 대하여 살펴보자.First, the configuration of the client 10 will be described.

키교환 모듈 초기화 관리부(11)는 클라이언트(10)에서 키교환을 위해 최초로 설정되는 파라미터 및 함수를 관리한다. 즉, 암호학적으로 안전한 크기의 소수 p, q 및 공개된 일방향 축약함수 h를 시스템 계수 및 라이브러리 함수로 가지고 있다.The key exchange module initialization management unit 11 manages parameters and functions initially set for key exchange in the client 10. In other words, we have cryptographically safe fractional numbers p, q, and published one-way shorthand functions h as system coefficients and library functions.

키교환 계수 생성부(12)는 키교환 프로토콜에 사용되는 계수를 생성한다. 즉, 키교환 모듈 초기화 관리부(11)와 사용자로부터 ID와 패스워드를 입력받을 수 있는 외부 인터페이스를 이용하여 S와 v 및 신원정보 ID를 키교환 계수로 생성한다.The key exchange coefficient generation unit 12 generates coefficients used in the key exchange protocol. That is, S, v, and ID information are generated as key exchange coefficients by using the key exchange module initialization management unit 11 and an external interface capable of receiving an ID and a password from the user.

키교환 연산부(13)는 키교환을 위한 등록 과정이 완료되었을때, 키교환 프로토콜 메시지의 생성 및 처리를 수행한다. 암호화 처리부(14)는 키교환 등록 메시지를 보호하기 위한 암호화 처리를 수행하여 키교환 등록부(15)의 비밀통신을 지원한다.When the registration process for key exchange is completed, the key exchange operation unit 13 generates and processes a key exchange protocol message. The encryption processing unit 14 performs encryption processing to protect the key exchange registration message to support secret communication of the key exchange registration unit 15.

키교환 등록부(15)는 키교환 등록과정을 처리한다. 즉, 클라이언트(10)와 서버(30)가 ID, S, v를 비밀리에 송수신하여 등록할수 있도록 지원한다. 전송부(16)는 서버와의 데이터 송수신을 수행한다.The key exchange registration unit 15 processes the key exchange registration process. That is, the client 10 and the server 30 support ID, S, and v secretly send and receive registration. The transmission unit 16 performs data transmission and reception with the server.

이제, 서버(30)의 구성에 대하여 살펴보자.Now, let's look at the configuration of the server (30).

키교환 모듈 초기화 관리부(31)는 서버(30)내에서 키교환을 위해 최초 설정되는 파라미터 및 함수를 관리한다. 즉, 암호학적으로 안전한 크기의 소수 p, q 및 공개된 일방향 축약함수 h를 시스템 계수 및 라이브러리 함수로 가지고 있다.The key exchange module initialization manager 31 manages parameters and functions initially set for key exchange in the server 30. In other words, we have cryptographically safe fractional numbers p, q, and published one-way shorthand functions h as system coefficients and library functions.

키교환 연산부(32)는 키교환 메시지를 생성하기 위해 저장부(35)에 저장된 ID, S, v를 조회하고, 키교환 모듈 초기화 관리부(31)로부터 계수 p, q 및 공개된 일방향 축약함수 h, f를 제공받아 키교환 프로토콜 메시지를 생성하고, 클라이언트(10)로부터 전송받은 키교환 메시지를 해석하고 그에 따른 연산처리를 수행한다.The key exchange operation unit 32 inquires IDs, S, and v stored in the storage unit 35 to generate a key exchange message, and counts p, q and the one-way abbreviated function h released from the key exchange module initialization management unit 31. , f is provided, generates a key exchange protocol message, interprets the key exchange message received from the client 10, and performs arithmetic processing accordingly.

암호화 처리부(33)는 클라이언트(10)에 전송하기 위해 생성된 키교환 메시지를 보호하거나, 클라이언트(10)로부터 암호화되어 전송된 키교환 등록 메시지를 해석하기 위하여 복호화하는 암호화 또는 복호화를 처리한다.The encryption processing unit 33 processes the encryption or decryption to protect the key exchange message generated for transmission to the client 10, or to decrypt the key exchange registration message encrypted and transmitted from the client 10.

키교환 등록부(34)는 전송부(36)를 통해 전달받은 암호화된 ID, S, v를 암호화 처리부(33)로 보내어 복호화를 수행하게 하고, 암호화 처리부(33)로부터 복호화된 ID, S, v를 받아 해석한후 ID, S, v를 저장부(35)에 저장하여 등록을 수행한다.The key exchange registration unit 34 sends the encrypted ID, S, v received through the transmission unit 36 to the encryption processing unit 33 to perform decryption, and the ID, S, v decrypted from the encryption processing unit 33. After receiving and interpreting the ID, S, v is stored in the storage unit 35 performs registration.

저장부(35)는 등록된 클라이언트 정보를 저장 및 관리하는 서버의 데이터 베이스 관리 수단 키교환 등록부(34)에 의해 ID, S, v를 받으면 서버내에서 ID, S, v를 등록 및 관리한다.The storage unit 35 registers and manages IDs, S, v in the server when the ID, S, v is received by the database management means key exchange registration unit 34 of the server that stores and manages the registered client information.

전송부(36)는 네트워크(20)를 통해 클라이언트(10)의 데이터 송수신을 수행하여 클라이언트(10)로부터 전송되는 클라이언트의 암호화된 등록메시지를 수신하여 키교환 등록부(34)로 전달해 주거나, 서버의 메시지를 클라이언트(10)로 전송해주는 기능을 수행한다.The transmitting unit 36 transmits and receives data of the client 10 through the network 20, receives an encrypted registration message of the client transmitted from the client 10, and transmits the encrypted registration message to the key exchange registration unit 34. It performs a function of transmitting a message to the client (10).

도 2는 본 발명에 따른 클라이언트에서의 키교환 등록과정의 흐름도이다.2 is a flowchart of a key exchange registration process in a client according to the present invention.

도 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).Let's look at the key exchange registration process in the client with reference to FIG. First, the key exchange coefficient generation unit 12 receives an ID and a password from the user (S1), receives the coefficients p, q and the function h, f information from the key exchange module initialization management unit 11 according to equation (1). S is obtained (S2), and v is calculated from S by Equation 2 (S3). S and v obtained in this way are concatenated with the ID input from the user. [ID || S || v] is generated (S4) and sent to the key exchange registration unit 15. The key exchange registration unit 15 receives the encryption and decryption support from the encryption processing unit 14, encrypts the ID, S, and v received from the key exchange coefficient generation unit 12 (S4) and sends it to the transmission unit 16. In the transmission unit 16, the encrypted [ID || S || v] information is transmitted to the server 30 (S6). After receiving the registration completion message from the server 30 (S7), the key exchange registration unit 15 discards the v value and completes the registration process (S8).

클라이언트 시스템의 보안성 강화를 위해 계산된 S 값도 폐기될 수 있으며 그러한 경우, 키교환 시마다 S값은 다시 계산되어져야 한다. 그렇지 않을 경우, S는 키교환연산부(13)에 저장되어 키교환시 계속 사용할 수 있다.The calculated S value can also be discarded to enhance the security of the client system, in which case the S value must be recalculated at each key exchange. Otherwise, S may be stored in the key exchange operation unit 13 and continue to be used for key exchange.

도 3은 본 발명에 따른 서버에서의 키교환 등록과정의 흐름도이다. 도 3을 참조하여 서버의 등록과정을 살펴보자.3 is a flowchart of a key exchange registration process in a server according to the present invention. Let's look at the registration process of the server with reference to FIG.

서버의 전송부(36)에서는 네트워크(20)를 통해 전송되는 클라이언트의 암호화된 등록메시지를 수신하여 키교환 등록부(34)로 전달해 준다. 키교환 등록부(34)에서는 전송부(36)를 통해 전달받은 암호화된 ID, S, v를 받아 암호화 처리부(33)를 이용하여 복호화하고(S12) 그 복호화된 ID, S, v를 해석하여(S13) 그 해석된 ID, S, v를 저장부(35)에 저장하고(S14), 등록완료 메시지를 발생한다. 전송부(36)에서는 네트워크(20)를 통하여 그 등록완료 메시지를 클라이언트(10)에 송신한다(S15). 이후에 키교환 과정이 시작되면 이 등록정보를 조회하게 된다.The transmission unit 36 of the server receives the encrypted registration message of the client transmitted through the network 20 and delivers it to the key exchange registration unit 34. The key exchange registration unit 34 receives the encrypted ID, S, v received through the transmission unit 36 and decrypts it using the encryption processing unit 33 (S12) and interprets the decrypted ID, S, v ( S13) The interpreted ID, S, v are stored in the storage unit 35 (S14), and a registration completion message is generated. The transmitter 36 transmits the registration completion message to the client 10 via the network 20 (S15). The registration information is then queried when the key exchange process begins.

도 4는 본 발명에 따라 클라이언트에서 키교환 프로토콜을 수행하는 흐름도를 나타낸다.4 shows a flow diagram for performing a key exchange protocol in a client in accordance with the present invention.

도 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).Referring to Figure 4 will be described the operation of the key exchange protocol of the present invention. When the ID and the PWD are input from the user (S101), or a signal for instructing the start of the key exchange protocol is generated, the key exchange coefficient generator 12 generates key exchange coefficients, and the ID, S, Pass PWD. The key exchange operation unit 13 selects an arbitrary number x and r of 0 <x <q and 0 <r <q through the ID and PWD of the user transferred from the key exchange coefficient generation unit 12. E and t are calculated by Equation 4 (S102, S103).

e = Sx-rmod pe = S xr mod p

t = r + e·PWD mod qt = r + ePWD mod q

계산이 완료되면, 키교환 연산부(13)에서는 생성된 e와 t를 설정된 ID와 함께 연접시켜서 전송부(16)를 통해 서버시스템으로 전송하여 등록한다. 서버(30)에서는 이 전송 메시지를 수신하여 키교환을 데이터로 저장하고 있게 된다.When the calculation is completed, the key exchange operation unit 13 connects the generated e and t with the set ID and transmits the registration to the server system through the transmission unit 16. The server 30 receives this transmission message and stores the key exchange as data.

한편, 전송부(16)를 통해 서버의 메시지를 받으면 그 수신된 메시지 Y를 이용하여 자신의 공유키 Kc를 다음 수학식 5에 의해 계산한다(S106).On the other hand, when receiving a message from the server through the transmission unit 16 using the received message Y to calculate its own shared key Kc by the following equation (5) (S106).

Kc = Yx= Sxymod pKc = Y x = S xy mod 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).After calculating Kc, the key exchange operation unit 13 calculates h (Kc, e, t) using this value and compares it with the value h (Ks, e, t) obtained from the message sent from the server 30. (S108). If h (Kc, e, t) = h (Ks, e, t), server authentication is successful, and the client calculates h (Kc, Y) and sends it to the server (S109). If h (Kc, e, t) and h (Ks, e, t) are not equal, the authentication is failed and the key exchange process is stopped (S110).

도 5는 본 발명에 따라 서버에서 키교환 프로토콜을 수행하는 흐름도를 나타낸다. 도 5를 참조하여 서버에서 키교환 프로토콜을 수행하는 과정을 살펴보자.5 is a flowchart illustrating a key exchange protocol performed in a server according to the present invention. Referring to FIG. 5, a process of performing a key exchange protocol in a server will be described.

서버는 네트워크(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).The server performs a process of receiving and interpreting a message transmitted from the client 10 through the network 20 (S201). Reception of the message transmitted from the client 10 is made in the transmission unit 36. The content of the received message includes encrypted ID, S, v information. The transmission unit 36 transmits this encrypted information to the key exchange registration unit 34. The key exchange registration unit 34 stores its ID, S, and v information in the storage unit 35. The key exchange operation unit 32 determines whether the transmitted message is the first message for key exchange (S202). If it is the first message for the key exchange, the storage unit 35 inquires the database for v and S corresponding to the ID received from the client 10 (S203). If the storage unit 35 finds the corresponding v and S (S204), the client has previously received and stored the [ID || e || t] is read together to calculate S x mod p by the following equation (6) (S205).

Sx= St·ve·e mod pS x = S t v e e mod p

Sx mod p를 계산하면 0<y<q인 임의의 수 y를 선택하고 공유키 Ks를 수학식 7에 의해 계산한다(S206).When Sx mod p is calculated, an arbitrary number y having 0 <y <q is selected and the shared key Ks is calculated by Equation 7 (S206).

Ks = (Sx)y= Sxymod pKs = (S x ) y = S xy mod p

공유키 Ks를 계산한 후, y를 이용하여 수학식 8에 의해 자신의 키재료 Y를 생성한다(S207).After calculating the shared key Ks, its own key material Y is generated using Equation 8 using y (S207).

Y = Symod pY = S y mod p

Y와 Ks가 계산되면 키교환 연산부(32)에서는 일방향 축약함수 h를 이용하여 h(Ks, e, t)를 계산하고(S208) 이 값을 Y와 함께 연접시켜 전송부(36)을 통해 클라이언트(10)에게 전송한다(S209).When Y and Ks are calculated, the key exchange operation unit 32 calculates h (Ks, e, t) using the one-way abbreviation function h (S208), and concatenates this value with Y to transmit the client through the transmission unit 36. It transmits to 10 (S209).

한편, 클라이언트(10)로부터 키교환 메시지를 수신하여 키교환 메시지가 첫번째 메시지인가 판단한 결과(S201), 마지막 메시지인 경우에는 마찬가지로 자신의 Ks를 이용하여 h(Ks, Y)를 계산하고(S210) 이 값을 h(Kc, Y)와 비교한다(S211). 이 값이 같으면 키교환 연산부(32)에서는 클라이언트를 인증할 수 있으므로 클라이언트와 서버간의 키교환 과정은 성공적으로 끝낼 수 있음에 따라 키교환 성공 메시지를 발생하고(S212), 만약 비교한 값이 틀리면 서버는 키교환 실패 메시지를 발생한다(S213).Meanwhile, as a result of receiving the key exchange message from the client 10 and determining whether the key exchange message is the first message (S201), in the case of the last message, h (Ks, Y) is similarly calculated using its own Ks (S210). This value is compared with h (Kc, Y) (S211). If the value is the same, the key exchange operation unit 32 may authenticate the client, so that the key exchange process between the client and the server may be completed successfully, thereby generating a key exchange success message (S212). Generates a key exchange failure message (S213).

본 발명에 의하면, 클라이언트와 서버 시스템간의 효율적으로 키교환을 수행하여 종래의 방식보다 메시지 교환수를 감소시킴으로써, 통신 오류 및 네트워크 지연에 의한 영향을 줄일 수 있으며 특히, 클라이언트의 계산량을 감소시켜 이동통신과 같은 시스템에 효과적으로 응용될 수 있다.According to the present invention, the number of message exchanges is reduced by performing key exchange between the client and the server system more efficiently than the conventional method, thereby reducing the effects of communication errors and network delays. It can be effectively applied to such a system.

Claims (9)

네크워크를 통해 패스워드 기반 키정보를 교환하는 시스템에 있어서,In the system for exchanging password-based key information through the network, 상기 키교환에 사용되는 시스템 파라미터 및 사용자의 ID 및 패스워드 정보 및 키교환을 하는데 필요한 정보를 네트워크를 통해 전송하여 등록하고, 사용자로부터 사용자 인증 요청이 있는 경우, 네트워크를 통해 사용자로부터 입력된 인증정보를 전송하고, 그에 따라 네트워크를 통해 수신되는 인증정보에 의해 공유키 및 인증에 필요한 키교환 메시지를 생성하여 키교환을 수행하는 클라이언트와,The system parameters used for the key exchange, user ID and password information, and information necessary for key exchange are transmitted and registered through the network, and when a user authentication request is received from the user, authentication information input from the user through the network is registered. A client for performing key exchange by generating a key exchange message for sharing key and authentication based on the authentication information received through the network accordingly; 네트워크를 통해 클라이언트로부터 전송되는 키교환에 사용되는 시스템 파라미터 정보를 수신하여 저장하고, 상기 클라이언트로부터 인증요청이 있는 경우, 클라이언트의 인증을 위한 키교환 메시지를 생성하여 상기 클라이언트와 키교환을 수행하는 서버를 포함하는 패스워드 기반 키교환 시스템.A server that receives and stores system parameter information used for key exchange transmitted from a client through a network, and generates a key exchange message for authentication of the client when the client requests an authentication, and performs a key exchange with the client. Password-based key exchange system comprising a. 제 1항에 있어서, 상기 클라이언트는,The method of claim 1, wherein the client, 사용자의 ID 및 패스워드 정보를 이용하여 키교환에 사용되는 시스템 파라미터를 생성하는 키교환 계수 생성부와,A key exchange coefficient generation unit for generating system parameters used for key exchange using user ID and password information; 상기 키교환 계수 생성부에서 생성된 시스템 파라미터에 의해 사용자의 ID 및 패스워드 정보 및 키교환을 하는데 필요한 정보를 사전에 등록하기 위한 키교환 등록 정보를 생성하는 키교환 등록부와,A key exchange registration unit for generating key exchange registration information for pre-registering user ID and password information and information necessary for key exchange by the system parameters generated in the key exchange coefficient generation unit; 상기 서버로부터 수신된 인증정보에 의해 서버를 인증하고 공유키를 생성하고 서버에서의 인증을 위해 필요한 키교환 메시지의 생성 및 키교환처리를 수행하는 키교환 연산부를 포함하는 포함하는 패스워드 기반 키교환 시스템.A password-based key exchange system including a key exchange operation unit for authenticating a server by using the authentication information received from the server, generating a shared key, and generating and exchanging a key exchange message necessary for authentication at the server. . 제 1항에 있어서, 상기 서버는,The method of claim 1, wherein the server, 네트워크를 통해 클라이언트로부터 사용자의 ID 및 패스워드 정보를 이용하여 생성된 키교환에 사용되는 시스템 파라미터 정보를 전송받아 키교환을 위한 정보로 등록하는 키교환 등록부와,A key exchange registration unit that receives system parameter information used for a key exchange generated by using a user ID and password information from a client through a network and registers the information for key exchange; 상기 시스템 파라미터 정보로부터 클라이언트의 키재료를 추출하여 공유키를 추출하고, 클라이언트에 전송할 자신의 인증정보를 생성하고, 클라이언트로부터 전송된 키교환메시지에 의하여 클라이언트의 인증을 위한 키교환 메시지의 생성 및 연산을 수행하는 키교환 연산부를 포함하는 패스워드 기반 키교환 시스템.Extract the key material of the client from the system parameter information to extract the shared key, generate its own authentication information to be sent to the client, and generate and calculate a key exchange message for authentication of the client by the key exchange message sent from the client. Password-based key exchange system including a key exchange operation to perform the. 네트워크를 통해 서버와 패스워드 인증을 위한 키를 교환하는 클라이언트의 키교환 방법에 있어서,In a key exchange method of a client exchanging a key for password authentication with a server over a network, 사용자로부터 ID와 패스워드를 입력받아 수학식 1 및 수학식2에 의해 키교환 계수 S, v를 생성하는 단계와,Receiving an ID and a password from a user and generating key exchange coefficients S and v by Equations 1 and 2; 상기 S와 v와 상기 ID를 연접하여 키교환 연산에 이용될 [ID || S || v]를생성하고, 암호화 처리하여 서버로 전송하여 키등록을 요청하는 단계와,Concatenate the S, v and the ID to be used in the key exchange operation [ID || S || v], encrypting the data, and transmitting it to the server to request key registration; 사용자로부터 ID와 패스워드를 입력받아 통해 0<x<q, 0<r<q인 랜덤수 x와 r을 선택하고 수학식 3과 수학식 4에 의해 e와 t를 계산하는 단계와,Selecting the random numbers x and r having 0 <x <q and 0 <r <q through receiving an ID and a password from a user, and calculating e and t by Equations 3 and 4; 상기 랜덤수 x, r 및 패스워드 PWD, 키교환 계수 S에 의해 계산된 메시지 e, t를 자신의 ID와 함께 연접시켜 [ID || e || t]를 생성하여 키교환 등록을 위해 네트워크를 통해 서버로 전송하는 단계와,The messages e and t calculated by the random number x, r and the password PWD and the key exchange coefficient S are concatenated together with their IDs to [ID || e || generating t] and transmitting it to a server through a network for key exchange registration; 서버로부터 키교환을 위한 공유키 Ks와 키재료 Y 및 축약된 값 h(Ks, e, t)정보를 수신하여 수학식 5에 의해 공유키 Kc 및 h(Kc, e, t)를 계산하고, 서버로부터 전송받은 메시지 h(Ks, e, t)와 동일여부를 판단하여 동일한 경우, 축약함수 값 h(Kc, Y)를 계산하여 서버에 전송하여 키교환을 완료하는 단계를 수행하는 패스워드 기반 키교환 방법.Receiving the shared key Ks and key material Y and the abbreviated value h (Ks, e, t) information for the key exchange from the server to calculate the shared keys Kc and h (Kc, e, t) by Equation 5, Password-based key performing the step of completing key exchange by calculating the abbreviated function value h (Kc, Y) and transmitting it to the server if it is equal to the message h (Ks, e, t) received from the server. Exchange method. [수학식 1][Equation 1] S = h(PWD)(p-1)/qmod p (단, 1<S<p)S = h (PWD) (p-1) / q mod p (where 1 <S <p) [수학식 2][Equation 2] v = S-PWDmod pv = S -PWD mod p [수학식 3][Equation 3] e = Sx-rmod pe = S xr mod p [수학식 4][Equation 4] t = r + e·PWD mod qt = r + ePWD mod q [수학식 5][Equation 5] Kc = Yx= Sxymod pKc = Y x = S xy mod p (단, p : 암호학적으로 안전한 크기의 소수, q : q | p-1를 만족하는 암호학적으로 안전한 크기의 소수, S : 키교환의 모듈러 지수승 연산에 사용되는 기저(base), v : 패스워드를 통해 생성되고 서버에 의해 클라이언트 인증에 사용될 검증자)(Where p is the cryptographically safe prime number, q: q | the cryptographically safe prime number that satisfies p-1, S is the base used for the modular exponentiation of key exchange, v: Verifiers generated via password and used for client authentication by the server) 제 4항에 있어서, 상기 키교환 계수 S값은,The method according to claim 4, wherein the key exchange coefficient S value is q | p-1 이고, q도 역시 안전한 크기의 소수인 p를 선택하여 소수 p 상에서 S의 위수가 q가 되도록 패스워드 또는 패스워드를 입력으로 하는 일방향 축약 함수를 이용하여 생성되는 패스워드 기반 키교환 방법.q | A password-based key exchange method, wherein p is 1 and q is also generated using a one-way abbreviation function that selects p, which is also a safe prime number, so that the rank of S on the prime p becomes q. 네트워크를 통해 클라이언트와 패스워드 인증을 위한 키를 교환하는 서버의 키교환 방법에 있어서,In the server key exchange method for exchanging keys for password authentication with the client over a network, 네트워크를 통해 클라이언트로부터 전송된 암호화된 등록메시지를 수신하여 복호화하고 그 해석하여 ID, 키교환 계수 정보를 추출하여 저장하는 단계와,Receiving, decrypting and interpreting an encrypted registration message transmitted from a client through a network, extracting and storing ID and key exchange coefficient information; 클라이언트로부터 키교환 등록을 위한 전송메시지를 수신하는 경우, 해당 키교환 계수정보를 검색하고, 이에 따라 클라이언트의 키재료 정보를 추출하고, 자신이 선택한 랜덤수를 이용하여 공유키와 키재료 및 인증을 위한 정보를 계산하여 클라이언트에 전송하는 단계와,When receiving the transmission message for registering the key exchange from the client, the corresponding key exchange coefficient information is retrieved, and accordingly, the key material information of the client is extracted, and the shared key, key material, and authentication are performed using the random number selected by the client. Calculating and transmitting the information to the client; 클라이언트로부터 키교환을 위해 전송되는 정보를 수신하여 자신의 인증정보를 계산하여 클라이언트로부터 수신한 클라이언트 인증정보와 비교하여 동일한 경우 키교환 성공메시지를 발생하는 단계를 수행하는 패스워드 기반 키교환 방법.And receiving the information transmitted for the key exchange from the client, calculating its own authentication information, and comparing the client authentication information received from the client to generate a key exchange success message. 제 6항에 있어서, 상기 클라이언트에 전송하는 단계는,The method of claim 6, wherein the transmitting to the client comprises: 클라이언트로부터 키교환 등록을 위한 전송메시지를 수신하는 경우, 해당 키교환 계수 정보 S와 v를 검색하는 단계와,Retrieving corresponding key exchange coefficient information S and v when receiving a transmission message for registering a key exchange from a client; 해당 S와 v가 검색되는 경우, 기저장되어 있던 [ID || e || t]를 함께 읽어들여 수학식 6에 의하여 연산을 수행하여 Sxmod p를 계산하는 단계와,If the corresponding S and v are found, the previously stored [ID || e || reading t] together and performing an operation according to Equation 6 to calculate S x mod p, Sxmod p를 이용하여 0<y<q인 임의의 수 y를 선택하고 공유키 Ks를 수학식 7에 의해 계산하는 단계와,Selecting an arbitrary number y having 0 <y <q using S x mod p and calculating the shared key Ks by Equation 7, 공유키 Ks를 계산한 후, y를 이용하여 수학식 8에 의해 자신의 키재료 Y를 생성하는 단계와,After calculating the shared key Ks, using the y to generate the own key material Y by the equation (8), Y와 Ks가 계산되는 경우, 일방향 축약함수 h를 이용하여 h(Ks, e, t)를 계산하고 이 값을 Y와 함께 연접시켜 클라이언트에게 전송하는 단계를 수행하는 패스워드 기반 키교환 방법.When Y and Ks are calculated, calculating a h (Ks, e, t) using a one-way abbreviation function h, and concatenating these values with Y to transmit them to the client. [수학식 6][Equation 6] Sx= St·ve·e mod pS x = S t v e e mod p [수학식 7][Equation 7] Ks = (Sx)y= Sxymod pKs = (S x ) y = S xy mod p [수학식 8][Equation 8] Y = Symod pY = S y mod 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인 임의의 수)(Where p is a cryptographically safe fractional number, q: q | Verifier generated via password and used by the server for client authentication, e = S xr mod p, t = r + e Number) 네트워크를 통해 서버와 패스워드 인증을 위한 키를 교환하는 클라이언트의 키교환 방법을 수행하기 위하여, 디지탈 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지탈 처리장치에 의해 판독될 수 있는 기록매체에 있어서,In order to perform a key exchange method of a client exchanging a key for password authentication with a server over a network, a program of instructions that can be executed by the digital processing apparatus is tangibly implemented, and can be read by the digital processing apparatus. In the recording medium, 사용자로부터 ID와 패스워드를 입력받아 수학식 1 및 수학식2에 의해 키교환 계수 S, v를 생성하는 단계와,Receiving an ID and a password from a user and generating key exchange coefficients S and v by Equations 1 and 2; 상기 S와 v와 상기 ID를 연접하여 키교환 연산에 이용될 [ID || S || v]를 생성하고, 암호화 처리하여 서버로 전송하여 키등록을 요청하는 단계와,Concatenate the S, v and the ID to be used in the key exchange operation [ID || S || v] requesting the key registration by generating, encrypting and transmitting to the server; 사용자로부터 ID와 패스워드를 입력받아 통해 0<x<q, 0<r<q인 랜덤수 x와 r을 선택하고 수학식 3과 수학식 4에 의해 e와 t를 계산하는 단계와,Selecting the random numbers x and r having 0 <x <q and 0 <r <q through receiving an ID and a password from a user, and calculating e and t by Equations 3 and 4; 상기 랜덤수 x, r 및 패스워드 PWD, 키교환 계수 S에 의해 계산된 메시지 e, t를 자신의 ID와 함께 연접시켜 [ID || e || t]를 생성하여 키교환 등록을 위해 네트워크를 통해 서버로 전송하는 단계와,The messages e and t calculated by the random number x, r and the password PWD and the key exchange coefficient S are concatenated together with their IDs to [ID || e || generating t] and transmitting it to a server through a network for key exchange registration; 서버로부터 키교환을 위한 공유키 Ks와 키재료 Y 및 축약된 값 h(Ks, e, t)정보를 수신하여 수학식 5에 의해 공유키 Kc 및 h(Kc, e, t)를 계산하고, 서버로부터 전송받은 메시지 h(Ks, e, t)와 동일여부를 판단하여 동일한 경우, 축약함수 값 h(Kc, Y)를 계산하여 서버에 전송하여 키교환을 완료하는 단계를 포함하는 기록매체.Receiving the shared key Ks and key material Y and the abbreviated value h (Ks, e, t) information for the key exchange from the server to calculate the shared keys Kc and h (Kc, e, t) by Equation 5, And determining if the message h (Ks, e, t) received from the server is the same and calculating the abbreviated function value h (Kc, Y) to the server to complete the key exchange. [수학식 1][Equation 1] S = h(PWD)(p-1)/qmod p (단, 1<S<p)S = h (PWD) (p-1) / q mod p (where 1 <S <p) [수학식 2][Equation 2] v = S-PWDmod pv = S -PWD mod p [수학식 3][Equation 3] e = Sx-rmod pe = S xr mod p [수학식 4][Equation 4] t = r + e·PWD mod qt = r + ePWD mod q [수학식 5][Equation 5] Kc = Yx= Sxymod pKc = Y x = S xy mod p (단, p : 암호학적으로 안전한 크기의 소수, q : q | p-1를 만족하는 암호학적으로 안전한 크기의 소수, S : 키교환의 모듈러 지수승 연산에 사용되는 기저(base), v : 패스워드를 통해 생성되고 서버에 의해 클라이언트 인증에 사용될 검증자)(Where p is the cryptographically safe prime number, q: q | the cryptographically safe prime number that satisfies p-1, S is the base used for the modular exponentiation of key exchange, v: Verifiers generated via password and used for client authentication by the server) 네트워크를 통해 클라이언트와 패스워드 인증을 위한 키를 교환하는 서버의 키교환 방법을 수행하기 위하여, 디지탈 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지탈 처리장치에 의해 판독될 수 있는 기록매체에 있어서,In order to perform a key exchange method of a server exchanging keys for password authentication with a client through a network, a program of instructions that can be executed by the digital processing apparatus is tangibly implemented, and can be read by the digital processing apparatus. In the recording medium, 네트워크를 통해 클라이언트로부터 전송된 암호화된 등록메시지를 수신하여 복호화하고 그 해석하여 ID, 키교환 계수 정보를 추출하여 저장하는 단계와,Receiving, decrypting and interpreting an encrypted registration message transmitted from a client through a network, extracting and storing ID and key exchange coefficient information; 클라이언트로부터 키교환 등록을 위한 전송메시지를 수신하는 경우, 해당 키교환 계수정보를 검색하고, 이에 따라 클라이언트의 키재료 정보를 추출하고, 자신이 선택한 랜덤수를 이용하여 공유키와 키재료 및 인증을 위한 정보를 계산하여 클라이언트에 전송하는 단계와,When receiving the transmission message for registering the key exchange from the client, the corresponding key exchange coefficient information is retrieved, and accordingly, the key material information of the client is extracted, and the shared key, key material, and authentication are performed using the random number selected by the client. Calculating and transmitting the information to the client; 클라이언트로부터 키교환을 위해 전송되는 정보를 수신하여 자신의 인증정보를 계산하여 클라이언트로부터 수신한 클라이언트 인증정보와 비교하여 동일한 경우, 키교환 성공메시지를 발생하는 단계를 포함하는 기록매체.And receiving the information transmitted for the key exchange from the client, calculating its own authentication information, and comparing the client authentication information received from the client to generate a key exchange success message.
KR10-2001-0068252A 2001-11-02 2001-11-02 the method and the system for passward based key change KR100401063B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0068252A KR100401063B1 (en) 2001-11-02 2001-11-02 the method and the system for passward based key change

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0068252A KR100401063B1 (en) 2001-11-02 2001-11-02 the method and the system for passward based key change

Publications (2)

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

Family

ID=29567786

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0068252A KR100401063B1 (en) 2001-11-02 2001-11-02 the method and the system for passward based key change

Country Status (1)

Country Link
KR (1) KR100401063B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445574B1 (en) * 2001-12-19 2004-08-25 한국전자통신연구원 Method of designing password based authentication and key exchange protocol using zero-knowledge interactive proof
KR100642745B1 (en) * 2005-10-05 2006-11-10 고려대학교 산학협력단 Id-based key agreement method and apparatus
KR100913783B1 (en) * 2007-10-26 2009-08-26 인하대학교 산학협력단 Method of Password-Based Authentication and Key Exchanging
WO2019160304A1 (en) * 2018-02-14 2019-08-22 주식회사 커널로그 Low power environment-applicable beacon-based remote control system and method having high level security
CN111263360A (en) * 2020-03-17 2020-06-09 中国工程物理研究院机械制造工艺研究所 Wireless encryption device and method for protecting variable mechanical authentication password by adopting public key

Family Cites Families (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
JP2883243B2 (en) * 1992-06-11 1999-04-19 ケイディディ株式会社 Remote party authentication / encryption key distribution method
US5434918A (en) * 1993-12-14 1995-07-18 Hughes Aircraft Company Method for providing mutual authentication of a user and a server on a network
KR100285791B1 (en) * 1998-03-27 2001-04-16 조휘갑 Method for authentication of id between user and server using password switching system
KR100506076B1 (en) * 2000-03-23 2005-08-04 삼성전자주식회사 Method for mutual authentication and key exchange based on the user's password and apparatus thereof

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445574B1 (en) * 2001-12-19 2004-08-25 한국전자통신연구원 Method of designing password based authentication and key exchange protocol using zero-knowledge interactive proof
KR100642745B1 (en) * 2005-10-05 2006-11-10 고려대학교 산학협력단 Id-based key agreement method and apparatus
KR100913783B1 (en) * 2007-10-26 2009-08-26 인하대학교 산학협력단 Method of Password-Based Authentication and Key Exchanging
WO2019160304A1 (en) * 2018-02-14 2019-08-22 주식회사 커널로그 Low power environment-applicable beacon-based remote control system and method having high level security
CN111263360A (en) * 2020-03-17 2020-06-09 中国工程物理研究院机械制造工艺研究所 Wireless encryption device and method for protecting variable mechanical authentication password by adopting public key

Also Published As

Publication number Publication date
KR100401063B1 (en) 2003-10-10

Similar Documents

Publication Publication Date Title
US7373507B2 (en) System and method for establishing secure communication
US7895436B2 (en) Authentication system and remotely-distributed storage system
US6292895B1 (en) Public key cryptosystem with roaming user capability
US6389533B1 (en) Anonymity server
US7979707B2 (en) Secure seed generation protocol
CA2913444C (en) System and method for user authentication
US7574596B2 (en) Cryptographic method and apparatus
KR100506076B1 (en) Method for mutual authentication and key exchange based on the user&#39;s password and apparatus thereof
EP1383265A1 (en) Method for generating proxy signatures
US20090323935A1 (en) Pseudo public key encryption
US20050005106A1 (en) Cryptographic method and apparatus
CN111294203B (en) Information transmission method
CN114244508B (en) Data encryption method, device, equipment and storage medium
EP1501238A1 (en) Method and system for key distribution comprising a step of authentication and a step of key distribution using a KEK (key encryption key)
EP1079565A2 (en) Method of securely establishing a secure communication link via an unsecured communication network
US7360238B2 (en) Method and system for authentication of a user
US6986045B2 (en) Single algorithm cipher suite for messaging
KR100401063B1 (en) the method and the system for passward based key change
JP2003234734A (en) Mutual authentication method, server device, client device, mutual authentication program and storage medium stored with mutual authentication program
US20060136714A1 (en) Method and apparatus for encryption and decryption, and computer product
CN113824713B (en) Key generation method, system and storage medium
TW200803392A (en) Method, device, server arrangement, system and computer program products for securely storing data in a portable device
KR20070035342A (en) Method for mutual authentication based on the user&#39;s password
KR101388452B1 (en) Method of migrating certificate to mobile terminal using certificate transmission server based on one-time public information and apparatus using the same
KR100545628B1 (en) System and method for security association negotiation and key agreement

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