KR100617456B1 - Management method and terminal apparatus for management function of secret key - Google Patents

Management method and terminal apparatus for management function of secret key Download PDF

Info

Publication number
KR100617456B1
KR100617456B1 KR1020040029587A KR20040029587A KR100617456B1 KR 100617456 B1 KR100617456 B1 KR 100617456B1 KR 1020040029587 A KR1020040029587 A KR 1020040029587A KR 20040029587 A KR20040029587 A KR 20040029587A KR 100617456 B1 KR100617456 B1 KR 100617456B1
Authority
KR
South Korea
Prior art keywords
secret key
secret
value
password
verifier
Prior art date
Application number
KR1020040029587A
Other languages
Korean (ko)
Other versions
KR20050104220A (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 KR1020040029587A priority Critical patent/KR100617456B1/en
Publication of KR20050104220A publication Critical patent/KR20050104220A/en
Application granted granted Critical
Publication of KR100617456B1 publication Critical patent/KR100617456B1/en

Links

Images

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
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 비밀키 관리 기능을 가지는 비밀키 단말장치 및 비밀키 관리방법에 관한 것으로, 상기 시스템 매개변수를 기초로 난수를 생성하는 난수 생성부; 난수를 기초로 소정의 다항식을 생성하는 다항식 생성부; 다항식의 계수로부터 사용자 검증을 위한 검증값을 생성하는 검증값 생성부; 다항식의 계수로부터

Figure 112004017877941-pat00001
개의 비밀값 부분을 생성하는 비밀값 요소 생성부; 난수와 사용자 패스워드 및 사용자 아이디를 기초로 생성한 겹선형쌍을 이용하여 마스터키와 제 1 검증자를 생성하는 비밀정보 생성부; 마스터키를 이용하여 자체적으로 생성된 비밀키를 암호화하는 암호화부; 및 검증값, 비밀값 부분, 사용자 아이디, 암호화된 비밀키 및 제 1 검증자를
Figure 112004017877941-pat00002
개의 비밀값 부분 각각에 대응하는 서버로 송신하는 송신부로 구성된다. 본 발명을 통하여 사용자가 자신의 전용 단말기를 사용할 수 없는 로밍 환경에서 비밀키를 휴대하는 어려움을 해결하고 사전에 다중 서버에 저장된 비밀키를 안전하게 관리할 수 있다.The present invention relates to a secret key terminal having a secret key management function and a secret key management method, comprising: a random number generating unit generating a random number based on the system parameters; A polynomial generator for generating a predetermined polynomial based on a random number; A verification value generating unit generating a verification value for user verification from coefficients of the polynomial; From the coefficients of the polynomial
Figure 112004017877941-pat00001
A secret value element generator for generating two secret value parts; A secret information generating unit for generating a master key and a first verifier using a pair of linear pairs generated based on a random number, a user password, and a user ID; An encryption unit for encrypting a secret key generated by itself using a master key; And verification value, secret value part, user ID, encrypted secret key, and first validator
Figure 112004017877941-pat00002
And a transmitting unit for transmitting to the server corresponding to each of the four secret value portions. The present invention solves the difficulty of carrying a secret key in a roaming environment in which a user cannot use his or her own dedicated terminal and safely manages a secret key stored in multiple servers in advance.

Description

비밀키 관리 기능을 가지는 비밀키 단말장치 및 비밀키 관리방법{Management method and terminal apparatus for management function of secret key}Management method and terminal apparatus for management function of secret key}

도 1은 본 발명에 따른 비밀키 관리를 위하여 클라이언트, 서버 및 시스템관리자를 나타내는 도면이다.1 is a diagram illustrating a client, a server, and a system administrator for secret key management according to the present invention.

도 2a는 본 발명에 따른 시스템관리자의 시스템 매개변수 생성하는 것을 나타내는 도면이다.Figure 2a is a diagram showing the generation of system parameters of the system administrator in accordance with the present invention.

도 2b는 본 발명에 따른 비밀키를 등록하는 과정에서 클라이언트가 서버에 비밀 정보를 송신하는 것을 나타내는 도면이다.2B is a diagram illustrating a client transmitting secret information to a server in the process of registering a secret key according to the present invention.

도 2c는 본 발명에 따른 비밀키를 복원하는 과정에서 클라이언트와 서버사이의 정보를 송수신하는 것을 나타내는 도면이다.Figure 2c is a diagram illustrating the transmission and reception of information between the client and the server in the process of restoring the secret key according to the present invention.

도 3은 본 발명에 따른 클라이언트가 비밀 정보를 서버에 송신하는 과정을 나타내는 순서도이다.3 is a flowchart illustrating a process in which a client transmits secret information to a server according to the present invention.

도 4는 본 발명에 따른 서버가 비밀 정보를 수신하여 등록하는 과정을 나타내는 순서도이다.4 is a flowchart illustrating a process of receiving and registering secret information by a server according to the present invention.

도 5는 본 발명에 따른 클라이언트가 비밀키를 복원하는 과정을 나타내는 순서도이다.5 is a flowchart illustrating a process of restoring a secret key by a client according to the present invention.

도 6은 본 발명에 따른 클라이언트의 내부 구성을 나타낸 개략 블럭도이다.6 is a schematic block diagram showing an internal configuration of a client according to the present invention.

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

100 : 클라이언트, 110 : 난수 생성부,100: client, 110: random number generation unit,

120 : 다항식 생성부, 125 : 패스워드 은닉부,120: polynomial generation unit, 125: password concealment unit,

130 : 검증값 생성부, 135 : 비밀값 요소 생성부,130: verification value generation unit, 135: secret value element generation unit,

140 : 비밀정보 생성부, 150 : 암호화부,140: secret information generation unit, 150: encryption unit,

160 : 송신부, 170 : 수신부,160: transmitter, 170: receiver,

180 : 계산부, 185 : 비교부,180: calculation unit, 185: comparison unit,

190 : 복호화부, 200 : 서버,190: decryption unit, 200: server,

300: 시스템관리자.300: system administrator.

본 발명은 비밀키 관리 기능을 가지는 비밀키 단말장치 및 비밀키 관리방법에 관한 것으로 더욱 상세하게는, 겹선형쌍(bilinear pairings) 사상을 이용하여 사용자가 개인식별정보인 아이디(

Figure 112004017877941-pat00003
)와 패스워드(
Figure 112004017877941-pat00004
)만을 가지고 다중 서버에 비밀키를 안전하게 등록하고, 또한 저장되어 있는 비밀키를 안전하게 복원할 수 있도록 하는 비밀키 관리 기능을 가지는 비밀키 단말장치 및 비밀키 관리방법에 관한 것이다. The present invention relates to a secret key terminal having a secret key management function and a secret key management method. More specifically, a user can identify an ID (personal identification information) using bilinear pairings.
Figure 112004017877941-pat00003
) And password (
Figure 112004017877941-pat00004
The present invention relates to a secret key terminal and a secret key management method having a secret key management function for securely registering a secret key in multiple servers and restoring a stored secret key safely.

최근의 정보통신망의 발전에 따라 네트워크에 대한 접근용이성이 높아짐으로써 어느 곳에서든지 네트워크를 이용할 수 있는 유비쿼터스 환경이 도래하고 있다. 일반적으로 인터넷과 같이 공개된 네트워크에서의 안전한 통신을 위하여 공개키-기반 암호시스템(PKC : Public Key Cryptosystem) 등을 사용하여왔다.With the recent development of information and communication networks, accessibility to the network has increased, and a ubiquitous environment that can use the network anywhere has come. In general, a public key-based cryptosystem (PKC) has been used for secure communication in public networks such as the Internet.

그러나, 유비쿼터스 환경에서는 이전에서처럼 사용자가 자신의 전용 단말기를 사용하지 않고 공개된 또는 공용의 단말기를 사용할 필요가 있게 됨에 따라 사용자는 자신의 비밀키를 항상 휴대하여야 하는 문제점이 있다. 예를 들어, 다른 지역에 출장중인 사용자가 자신의 공개키로 암호화된 문서를 전자메일로 수신한 경우 사용자는 자신의 비밀키를 이용하여 암호를 복호화하여야 한다. 그러나, 출장지에서 사용하는 클라이언트 터미널에는 비밀키를 포함한 자신에 대한 어떠한 정보도 저장되어 있지 않다. However, in the ubiquitous environment, as a user needs to use a public or public terminal without using his or her own terminal, there is a problem that a user must always carry his or her private key. For example, if a user traveling to another region receives an e-mail document encrypted with his public key, the user must decrypt the password using his private key. However, the client terminal used in the travel destination does not store any information about itself, including the private key.

이를 해결하기 위한 일반적인 방법으로 스마트카드와 같이 물리적인 저장매체를 활용하는 방법과 사용자의 패스워드를 이용하여 원격지에 사전에 저장된 비밀키를 다운로드하여 사용하는 방법이 제안되고 있다.As a general method for solving this problem, a method of using a physical storage medium such as a smart card and a method of downloading and using a secret key stored in advance in a remote place using a user's password have been proposed.

이중에서, 스마트카드와 같이 물리적인 저장매체를 활용하는 방법은 기밀정보를 저장하는 중요한 수단으로 사용되지만 실제적인 환경에 적용하기 어려운 점이 있다. 구체적으로 예를 들면, 사용자는 스마트카드와의 통신을 위한 별도의 인터페이스를 필요로 한다는 불편함이 있게 된다.Among them, a method of utilizing a physical storage medium such as a smart card is used as an important means for storing confidential information, but it is difficult to apply to a practical environment. Specifically, for example, the user is inconvenient to require a separate interface for communication with the smart card.

이에 따라 사용자가 쉽게 기억하여 이용할 수 있는 사용자의 패스워드를 이용하는 방법이 제안되고 있다. 그러나 대부분의 사용자 패스워드는 상대적으로 작은 공간에서 선택되고 쉽게 기억될 수 있다는 문제점을 가지고 있는데, 이것은 곧 공격자가 패스워드를 쉽게 추측해 낼 수 있음을 의미한다. 이와같은 문제점을 해결 하기 위하여 패스워드 기반의 로밍 프로토콜들이 제안되는데, Perlman과 Kaufman, Ford와 Kaliski, 그리고 Jablon 등이 제안한 프로토콜들이 대표적이라 할 것이다.Accordingly, a method of using a user's password that can be easily memorized and used by a user has been proposed. However, most user passwords have the problem that they can be chosen and stored in a relatively small space, which means that an attacker can easily guess the password. In order to solve this problem, password-based roaming protocols are proposed, and the protocols proposed by Perlman and Kaufman, Ford and Kaliski, and Jablon are representative.

Ford 와 Kaliski의 방법은 패스워드 경화(硬化, hardening) 프로토콜을 통하여 패스워드 정보를 노출시키지 않으며, 다중 서버를 이용하여 안정성을 강화하는 것이다. Ford and Kaliski's method does not expose password information through the password hardening protocol, but enhances stability by using multiple servers.

패스워드 경화 프로토콜은 다음과 같이 동작한다. 서버는 소수

Figure 112004017877941-pat00005
를 선택한다. 이때
Figure 112004017877941-pat00006
이며
Figure 112004017877941-pat00007
는 소수이다. 그리고 서버는 각 클라이언트(
Figure 112004017877941-pat00008
)를 위한 비밀 지수(
Figure 112004017877941-pat00009
)를 선택한다. 또한 서버는 함수
Figure 112004017877941-pat00010
를 공개하는데 이 함수는 패스워드를
Figure 112004017877941-pat00011
에서 곱셈 위수
Figure 112004017877941-pat00012
의 원소로 사상시킨다. 이는 패스워드(
Figure 112004017877941-pat00013
)로부터 경화된 패스워드(
Figure 112004017877941-pat00014
)를 얻는다.The password hardening protocol works as follows. Server prime
Figure 112004017877941-pat00005
Select. At this time
Figure 112004017877941-pat00006
And
Figure 112004017877941-pat00007
Is a prime number. And the server is responsible for each client (
Figure 112004017877941-pat00008
Secret index for
Figure 112004017877941-pat00009
Select). The server also functions
Figure 112004017877941-pat00010
This function exposes a password
Figure 112004017877941-pat00011
Multiplication factor in
Figure 112004017877941-pat00012
Map to the element of. This is a password (
Figure 112004017877941-pat00013
Password hardened from
Figure 112004017877941-pat00014
Get)

가. 클라이언트는 임의의

Figure 112004017877941-pat00015
를 선택하여
Figure 112004017877941-pat00016
를 계산한 후
Figure 112004017877941-pat00017
Figure 112004017877941-pat00018
을 서버에게 전송한다.end. Client is random
Figure 112004017877941-pat00015
To select
Figure 112004017877941-pat00016
After calculating
Figure 112004017877941-pat00017
Wow
Figure 112004017877941-pat00018
To the server.

나. 서버는

Figure 112004017877941-pat00019
를 계산하여 클라이언트에 전송한다I. The server
Figure 112004017877941-pat00019
Compute and send to the client

다. 클라이언트는

Figure 112004017877941-pat00020
를 계산한다.All. Clients
Figure 112004017877941-pat00020
Calculate

결과적으로 클라이언트는

Figure 112004017877941-pat00021
를 얻게 된다. 이때 서버는 패스워드(
Figure 112004017877941-pat00022
) 또는 경화된 패스워드(
Figure 112004017877941-pat00023
)를 알 수 없게 된다.As a result, the client
Figure 112004017877941-pat00021
You get At this time, the server
Figure 112004017877941-pat00022
) Or hardened password (
Figure 112004017877941-pat00023
) Is unknown.

클라이언트는 이상의 패스워드 경화 프로토콜을 각 서버

Figure 112004017877941-pat00024
와 수행하여 경화된 패스워드 값인
Figure 112004017877941-pat00025
를 얻으며, 이로부터 강력한 비밀값인
Figure 112004017877941-pat00026
를 도출하기 위하여
Figure 112004017877941-pat00027
을 계산한다. 여기에서 KDF는 키 도출 함수(Key Derivation Function)이다. 사용자는
Figure 112004017877941-pat00028
를 이용하여 각 서버
Figure 112004017877941-pat00029
에 인증을 받는다. 이와같은 방법에서는
Figure 112004017877941-pat00030
개의 서버로부터 경화된 패스워드(
Figure 112004017877941-pat00031
)를 구하고, 이로부터 비밀값을 도출하고 있다.Clients have more than one password hardening protocol for each server
Figure 112004017877941-pat00024
And the hardened password value
Figure 112004017877941-pat00025
, From which a strong secret value
Figure 112004017877941-pat00026
To derive
Figure 112004017877941-pat00027
Calculate Here KDF is a key derivation function. The user
Figure 112004017877941-pat00028
Each server using
Figure 112004017877941-pat00029
To be certified. In this way
Figure 112004017877941-pat00030
Hardened passwords from
Figure 112004017877941-pat00031
) And derive a secret value from it.

Jablon의 방법은 근본적으로 Ford와 Kaliski의 방법과 유사하며, 암호화되어 있는 비밀키를 다운로드하여 도출된 비밀값으로 이를 복호화 함으로써 비밀키를 얻는 방법이다.Jablon's method is basically similar to Ford's and Kaliski's method, and obtains the secret key by downloading the encrypted secret key and decrypting it with the derived secret value.

이와같이 종래에 제안된 여러가지 방법들은

Figure 112004017877941-pat00032
개의 서버를 이용한 로밍 프로토콜로서 사용자는
Figure 112004017877941-pat00033
개의 서버로부터 비밀값을 정상적으로 얻어야만 사용자가 원하는 비밀키를 도출할 수 있다는 문제점이 있다. 즉, 단 하나의 서버라도 공격자로부터 손상된 경우에 사용자는 정상적인 비밀키를 도출할 수 없게 된다. 또한, 종래에 제안된 여러가지 방법들은 로밍 상황에서 비밀키의 도출시에 클라이언트가
Figure 112004017877941-pat00034
개의 서버 전체와 프로토콜을 수행함으로써 연산량 및 통신량에 비효율성이 발생할 수 있다는 문제점이 있다.As described above, various methods proposed in the related art
Figure 112004017877941-pat00032
Roaming protocol using two servers
Figure 112004017877941-pat00033
There is a problem in that the secret key desired by the user can be derived only if the secret values are normally obtained from two servers. In other words, if a single server is compromised from an attacker, the user cannot derive a normal secret key. In addition, various methods proposed in the related art can be used by a client when deriving a secret key in roaming situations.
Figure 112004017877941-pat00034
There is a problem that inefficiency may occur in the calculation amount and the communication amount by performing protocols with all four servers.

본 발명이 이루고자 하는 기술적 과제는,

Figure 112004017877941-pat00035
개의 다중 서버에 분산하여 비밀 정보를 저장한 후
Figure 112004017877941-pat00036
개의 정상적인 서버들만으로 비밀키를 복원할 수 있고, 클라이언트가
Figure 112004017877941-pat00037
개의 서버와 프로토콜을 수행함으로써 연산량 및 통신량에 효율성이 발생할 수 있는 비밀키 관리 기능을 가지는 비밀키 단말장치 및 비밀키 관리방법을 제 공하는데 있다.The technical problem to be achieved by the present invention,
Figure 112004017877941-pat00035
Distributed secrets across multiple servers
Figure 112004017877941-pat00036
Can restore the private key with only three normal servers,
Figure 112004017877941-pat00037
The present invention provides a secret key terminal and a secret key management method having a secret key management function that can generate efficiency in throughput and communication by performing protocols with two servers.

상기 기술적 과제를 이루기 위한 본 발명의 비밀키 관리 기능을 가지는 비밀키 단말장치는, 클라이언트, 서버 및 소정의 시스템 매개변수를 생성하는 시스템관리자로 구성되는 네트워크 환경에서 비밀키 관리 기능을 가지는 비밀키 단말장치에 있어서, 상기 시스템 매개변수를 기초로 난수를 생성하는 난수 생성부; 상기 난수를 기초로 소정의 다항식을 생성하는 다항식 생성부; 상기 다항식의 계수로부터 사용자 검증을 위한 검증값을 생성하는 검증값 생성부; 상기 다항식의 계수로부터

Figure 112004017877941-pat00038
개의 비밀값 부분을 생성하는 비밀값 요소 생성부; 상기 난수와 사용자 패스워드 및 사용자 아이디를 기초로 생성한 겹선형쌍을 이용하여 마스터키와 제 1 검증자를 생성하는 비밀정보 생성부; 상기 마스터키를 이용하여 자체적으로 생성된 비밀키를 암호화하는 암호화부; 및 상기 검증값, 상기 비밀값 부분, 상기 사용자 아이디, 상기 암호화된 비밀키 및 제 1 검증자를 상기
Figure 112004017877941-pat00039
개의 비밀값 부분 각각에 대응하는 서버로 송신하는 송신부를 포함하고, 상기
Figure 112004017877941-pat00040
개의 서버 각각에 전송된 특정한 비밀값 부분에 대하여 상기 검증값과의 검증이 이루어지는 경우에 상기 각각의 서버로 전송된 상기 사용자 아이디, 암호화된 비밀키, 제 1 검증자 및 비밀값 부분이 등록되는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 단말장치를 가진다.A secret key terminal having a secret key management function of the present invention for achieving the above technical problem is a secret key terminal having a secret key management function in a network environment consisting of a client, a server and a system manager for generating predetermined system parameters. An apparatus comprising: a random number generator for generating a random number based on the system parameters; A polynomial generator for generating a predetermined polynomial based on the random number; A verification value generating unit generating a verification value for user verification from coefficients of the polynomial; From the coefficient of the polynomial
Figure 112004017877941-pat00038
A secret value element generator for generating two secret value parts; A secret information generation unit for generating a master key and a first verifier using the fold-pair pair generated based on the random number, the user password, and the user ID; An encryption unit for encrypting a secret key generated by itself using the master key; And the verification value, the secret value portion, the user ID, the encrypted secret key and the first verifier
Figure 112004017877941-pat00039
A transmitting unit for transmitting to a server corresponding to each of the four secret value portions;
Figure 112004017877941-pat00040
The user ID, the encrypted secret key, the first verifier and the secret value portion transmitted to each server are registered when the verification is performed with the verification value for the specific secret value portion transmitted to each of the respective servers. And a secret key terminal having a secret key management function.

상기 기술적 과제를 이루기 위한 본 발명의 비밀키 관리 기능을 가지는 비밀키 관리방법은, 클라이언트, 서버 및 소정의 시스템 매개변수를 생성하는 시스템관 리자로 구성되는 네트워크 환경에서 상기 클라이언트가 상기 서버에 비밀키를 등록하는 방법에 있어서, 상기 시스템 매개변수를 기초로 난수를 생성하고, 상기 난수를 기초로 소정의 다항식을 생성하는 단계; 상기 다항식의 계수로부터 사용자 검증을 위한 검증값을 생성하여 상기 서버에 송신하는 단계; 사용자 패스워드와 사용자 아이디로부터 겹선형쌍 연산값을 생성하고, 상기 겹선형쌍 연산값을 기초로 마스터키와 제 1 검증자를 생성하는 단계; 상기 마스터키를 이용하여 자체적으로 생성된 비밀키를 암호화하여 암호화된 비밀키를 생성하는 단계; 상기 다항식의 계수로부터

Figure 112004017877941-pat00041
개의 비밀값 부분을 생성하는 단계; 및 상기 사용자 아이디, 암호화된 비밀키, 제 1 검증자 비밀값 부분을 상기
Figure 112004017877941-pat00042
개의 비밀값 부분 각각에 대응하는 서버로 송신하는 단계를 포함하고, 상기
Figure 112004017877941-pat00043
개의 서버 각각에 송신된 특정한 비밀값 부분에 대하여 상기 검증값과의 검증이 이루어지는 경우에 상기 서버로 전송된 상기 사용자 아이디, 암호화된 비밀키, 제 1 검증자 및 비밀값 부분이 등록되도록 하는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 관리방법을 가진다.In the secret key management method having a secret key management function of the present invention for achieving the technical problem, the client in the network environment consisting of a client, a server and a system administrator for generating a predetermined system parameters, the client secret key to the server A method for registering a computer, the method comprising: generating a random number based on the system parameter and generating a predetermined polynomial based on the random number; Generating a verification value for user verification from the coefficients of the polynomial and transmitting it to the server; Generating a double pair operation value from a user password and a user ID, and generating a master key and a first verifier based on the double pair operation value; Generating an encrypted private key by encrypting a private key generated using the master key; From the coefficient of the polynomial
Figure 112004017877941-pat00041
Generating two secret value portions; And the user ID, encrypted secret key, first verifier secret value portion.
Figure 112004017877941-pat00042
Transmitting to a server corresponding to each of the four secret portion portions;
Figure 112004017877941-pat00043
The user ID, the encrypted secret key, the first verifier and the secret value portion transmitted to the server are registered when the verification with the verification value is performed on the specific secret value portion transmitted to each of the plurality of servers. It has a secret key management method having a secret key management function.

또한, 상기 과제를 이루기 위한 본 발명의 비밀키 관리 기능을 가지는 비밀키 관리방법은, 클라이언트, 서버 및 시스템 매개변수를 생성하는 시스템관리자로 구성되는 네트워크 환경에서 사용자 아이디, 암호화된 비밀키, 제 1 검증자, 비밀값 부분을 등록하고 있는

Figure 112004017877941-pat00044
개의 서버를 기초로 상기 클라이언트가 비밀키를 복원하는 방법에 있어서, 패스워드 은닉을 위한 난수를 생성하는 단계; 상기 난수를 기초로 사용자 패스워드 정보를 은닉하여 은닉된 패스워드를 생성하는 단계; 상기 은 닉된 패스워드와 사용자 아이디를 임의로 선정된 상기
Figure 112004017877941-pat00045
개의 서버보다 적은 개수의
Figure 112004017877941-pat00046
개의 서버에 송신하는 단계; 상기 서버에 등록되어 있는 상기 암호화된 비밀키, 제 1 검증자와 함게 경화된 패스워드를 상기 서버로부터 수신하는 단계; 상기 경화된 패스워드를 기초로 비밀값을 구하는 단계; 상기 비밀값을 기초로 마스터키와 제 2 검증자를 구하는 단계; 상기 제 1 검증자와 상기 제 2 검증자를 비교하는 단계; 및 상기 제 1 검증자와 상기 제 2 검증자가 일치하는 경우에 상기 마스터키를 통하여 상기 암호화된 비밀키를 복호화하여 비밀키를 얻는 단계를 포함하는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 관리방법을 가진다.In addition, the secret key management method having a secret key management function of the present invention for achieving the above object, the user ID, encrypted secret key, the first in a network environment consisting of a system manager for generating a client, server and system parameters The validator, registering the secret part
Figure 112004017877941-pat00044
CLAIMS 1. A method for recovering a private key by a client based on two servers, the method comprising: generating a random number for password concealment; Concealing user password information based on the random number to generate a hidden password; The hidden password and the user ID randomly selected
Figure 112004017877941-pat00045
Fewer than servers
Figure 112004017877941-pat00046
Transmitting to four servers; Receiving a hardened password from the server with the encrypted secret key registered with the server and a first verifier; Obtaining a secret value based on the hardened password; Obtaining a master key and a second verifier based on the secret value; Comparing the first verifier with the second verifier; And obtaining a secret key by decrypting the encrypted secret key through the master key when the first verifier and the second verifier coincide with each other. Have a way.

본 발명에서 사용하는 겹선형쌍(bilinear pairings), 즉 대수 곡선의 웨일(Weil)쌍과 테이트(Tate)쌍은 대수기하 연구에서 매우 중요한 도구들이다. 암호에서 겹선형쌍의 초기 응용은 이산대수문제(Discrete Logarithm Problem)의 평가를 위한 것이었다. 예를 들면, 웨일(Weil)쌍을 이용한 MOV 공격이나 테이트(Tate)쌍을 이용한 FR 공격은 특정 타원곡선이나 초타원곡선에서의 이산대수문제를 유한체에서의 이산대수문제로 좁혀준다.Bilinear pairings used in the present invention, that is, Weil and Tate pairs of algebraic curves, are very important tools in algebraic geometry studies. The initial application of double-linear pairs in cryptography was for the evaluation of the discrete logarithm problem. For example, MOV attacks using Weil pairs or FR attacks using Tate pairs narrow the discrete algebra problem in a specific elliptic curve or super elliptic curve to a discrete algebra problem in finite body.

이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.

도 1은 본 발명에 따른 비밀키 관리를 위하여 클라이언트, 서버 및 시스템관리자를 나타내는 도면이다.1 is a diagram illustrating a client, a server, and a system administrator for secret key management according to the present invention.

도 1을 살펴보면, 본 발명의 주요한 구성요소는 클라이언트(100), 서버(200) 및 시스템관리자(300)를 나타내며, 이들 각각의 참여자는 컴퓨터 시스템으로 구현될 수 있다.Referring to FIG. 1, the main components of the present invention represent a client 100, a server 200, and a system manager 300, each of which may be implemented as a computer system.

클라이언트(100)는 검증 가능한 비밀공유기법을 이용하여 생성한 개의 비밀값 부분과 마스터키를 이용하여 암호화한 비밀키를

Figure 112004017877941-pat00048
개의 서버(200)에 등록한다. 또한, 은닉된 패스워드를
Figure 112004017877941-pat00049
개의 서버(200)에 전송한 후 응답되어 수신된 비밀값으로부터 마스터키를 복원하여 함께 수신된 암호화된 비밀키를 검색한다.Client 100 is generated using a verifiable secret sharing technique Secrets encrypted using two secret value parts and a master key
Figure 112004017877941-pat00048
The server 200 is registered. In addition, the secret password
Figure 112004017877941-pat00049
After transmitting to the server 200, the master key is recovered from the received secret value in response to retrieve the encrypted secret key received together.

서버(200)는 클라이언트(100)가 송신한 비밀값 부분을 검증하여 정상적인 경우 수신된 비밀 정보들을 저장하여 안전하게 관리한다. 또한, 클라이언트(100)로부터 수신한 은닉된 패스워드와 저장하고 있는 비밀값 부분으로부터 경화된 패스워드를 생성하여 암호화된 비밀키와 함께 클라이언트(100)에게 송신한다.The server 200 verifies the secret value transmitted by the client 100 and stores the received secret information in a normal case and safely manages it. In addition, a hardened password is generated from the secret password received from the client 100 and the stored secret value portion, and transmitted to the client 100 together with the encrypted secret key.

시스템관리자(300)는 시스템 초기화시에만 동작하며 자신이 생성한 시스템 매개변수들을 공개한다. 그러나 시스템관리자(300)는 비밀키 등록 및 검색과정에는 참여하지 않는다.The system manager 300 operates only at system initialization and discloses system parameters generated by the system manager 300. However, the system manager 300 does not participate in the secret key registration and retrieval process.

도 2a는 본 발명에 따른 시스템관리자의 시스템 매개변수 생성하는 것을 나타내는 도면이고, 도 2b는 본 발명에 따른 비밀키를 등록하는 과정에서 클라이언트가 서버에 비밀 정보를 송신하는 것을 나타내는 도면이며, 도 2c는 본 발명에 따른 비밀키를 복원하는 과정에서 클라이언트와 서버사이의 정보를 송수신하는 것을 나타내는 도면이다.Figure 2a is a diagram showing the generation of system parameters of the system administrator according to the present invention, Figure 2b is a diagram showing the client transmits secret information to the server in the process of registering the secret key according to the present invention, Figure 2c Is a diagram illustrating transmission and reception of information between a client and a server in the process of restoring a secret key according to the present invention.

도 2a를 살펴보면, 클라이언트(100)와 서버(200) 모두가 공유하는 시스템 매 개변수들이 시스템관리자(300)에 의해서 생성되어 공개된다. 이 과정에서 임의의 순환군

Figure 112004017877941-pat00050
Figure 112004017877941-pat00051
가 생성되며 이때 두 순환군의 위수는
Figure 112004017877941-pat00052
이다. 순환군
Figure 112004017877941-pat00053
상의 임의의 생성자
Figure 112004017877941-pat00054
를 생성한다. 그리고 두 순환군에 대한 겹선형 사상을 정의하고 변형된 겹선형 사상
Figure 112004017877941-pat00055
을 생성한다. 나아가, 시스템관리자(300)는 해시함수
Figure 112004017877941-pat00056
를 선택한다. 시스템관리자(300)는 시스템 매개변수로서 이상에서 생성한 <
Figure 112004017877941-pat00057
>를 클라이언트(100)와 서버(200)에 공개한다.Referring to FIG. 2A, system parameters shared by both the client 100 and the server 200 are generated and disclosed by the system manager 300. Random cycle in this process
Figure 112004017877941-pat00050
and
Figure 112004017877941-pat00051
Is generated, and the power of the two cycles is
Figure 112004017877941-pat00052
to be. Cycle
Figure 112004017877941-pat00053
Constructors on top
Figure 112004017877941-pat00054
Create And define the double line mapping for the two cycle groups and transform the double line mapping
Figure 112004017877941-pat00055
Create Furthermore, the system manager 300 is a hash function
Figure 112004017877941-pat00056
Select. The system manager 300 generates the above <as system parameters.
Figure 112004017877941-pat00057
> Is published to the client 100 and the server 200.

겹선형 쌍에 대한 특징을 보기 위하여, 동일한 위수

Figure 112004017877941-pat00058
를 갖는 덧셈군
Figure 112004017877941-pat00059
과 곱셈군
Figure 112004017877941-pat00060
가 있다고 가정한다. 그러한 그룹 내에서 이산대수문제를 푸는 것이 어렵다고 본다. 여기에서
Figure 112004017877941-pat00061
를 덧셈군
Figure 112004017877941-pat00062
의 생성자라고 한다. 그리고,
Figure 112004017877941-pat00063
을 다음 속성을 만족하는 겹선형 사상이라 한다.To see the features for a parallel pair, the same order
Figure 112004017877941-pat00058
Addition group with
Figure 112004017877941-pat00059
And multiplication group
Figure 112004017877941-pat00060
Assume that there is. It is difficult to solve the discrete algebra problem within such a group. From here
Figure 112004017877941-pat00061
Addition group
Figure 112004017877941-pat00062
This is called the constructor of. And,
Figure 112004017877941-pat00063
Is called an overlapping event that satisfies the following property:

1. Bilinearity : 모든

Figure 112004017877941-pat00064
와 모든
Figure 112004017877941-pat00065
에 대하여,
Figure 112004017877941-pat00066
이다.1.Bilinearity: all
Figure 112004017877941-pat00064
And all
Figure 112004017877941-pat00065
about,
Figure 112004017877941-pat00066
to be.

2. Non-degency : 모든

Figure 112004017877941-pat00067
에 대하여,
Figure 112004017877941-pat00068
이면 ,
Figure 112004017877941-pat00069
이다.2.Non-degency: all
Figure 112004017877941-pat00067
about,
Figure 112004017877941-pat00068
If,
Figure 112004017877941-pat00069
to be.

3. Computability : 모든

Figure 112006029696732-pat00282
에 대하여,
Figure 112006029696732-pat00071
를 계산하기 위한 효율적인 알고리즘이 존재한다.3. Computability: all
Figure 112006029696732-pat00282
about,
Figure 112006029696732-pat00071
There is an efficient algorithm to calculate.

도 2b를 살펴보면, 시스템관리자(300)가 공개한 시스템 매개변수에 기반하여 클라이언트(100)는 비밀값인 임의의 난수를 생성한 후 검증 가능한 비밀공유기법(VSS)을 이용하여

Figure 112004017877941-pat00072
개의 비밀값 부분을 생성한다. 그리고 클라이언트(100)는 사용자 패스워드와 비밀값을 입력으로 한 겹선형쌍 연산과 해시 함수를 통하여 마스터키를 도출하여 비밀키를 암호화한 후 <사용자 아이디(
Figure 112004017877941-pat00073
),
Figure 112004017877941-pat00074
개의 비밀값 부분, 암호화된 비밀키, 검증자>를
Figure 112004017877941-pat00075
개의 서버(200)에 보내면 각 서버(200)는 비밀값 부분의 정확성을 검증하여 이상이 있으면 클라이언트(100)에게 오류응답을 하고 그렇지 않으면 수신된 값들을 안전하게 저장하여 등록한다.Referring to FIG. 2B, based on the system parameters disclosed by the system manager 300, the client 100 generates a random random value that is a secret value and then uses a verifiable secret sharing technique (VSS).
Figure 112004017877941-pat00072
Create two secret parts. In addition, the client 100 derives the master key through a double pair operation and hash function using the user password and the secret value and encrypts the secret key.
Figure 112004017877941-pat00073
),
Figure 112004017877941-pat00074
Secret parts, encrypted secret key, verifier>
Figure 112004017877941-pat00075
When the server 200 is sent to each server 200, the server 200 checks the accuracy of the secret value part, and if there is an error, the client 100 responds to the error. Otherwise, the received values are safely stored and registered.

도 2c를 살펴보면, 시스템관리자(300)가 공개한 시스템 매개변수에 기반하여 클라이언트(100)는 임의의 난수를 생성하여 사용자로부터 입력받은 패스워드를 은닉하고 사용자 아이디(

Figure 112004017877941-pat00076
)와 함께 임의로 선정된
Figure 112004017877941-pat00077
개의 서버(200)에 송신한다. 서버(200)는 등록되어 있는 정보를 검색하여 수신된 은닉된 패스워드와 검색한 비밀값 부분을 입력으로 한 겹선형쌍 연산을 수행하여 경화된 패스워드를 생성하고 암호화된 비밀키, 검증값과 함께 경화된 패스워드를 클라이언트(100)에게 송신한다. 클라이언트(100)는 수신한
Figure 112004017877941-pat00078
개의 경화된 패스워드의 은닉값을 제거하며 이들로부터 마스터키를 도출하고 검증값과 비교하여 마스터키의 정당성을 검증한다. 마스터키의 정당성이 검증되면 클라이언트(100)는 암호화된 비밀키를 복호화하여 비밀키를 얻는다.Referring to Figure 2c, based on the system parameters published by the system administrator 300, the client 100 generates a random number to conceal the password received from the user and the user ID (
Figure 112004017877941-pat00076
Randomly selected with
Figure 112004017877941-pat00077
To the two servers 200. The server 200 searches for the registered information, performs a double-linear pair operation with input of the received secret password and the searched secret value, generates a hardened password, and hardens it with the encrypted secret key and verification value. The received password to the client 100. Client 100 received
Figure 112004017877941-pat00078
We remove the hidden values of two hardened passwords and derive the master key from them and compare it with the verification value to verify the validity of the master key. If the validity of the master key is verified, the client 100 decrypts the encrypted secret key to obtain a secret key.

도 3은 본 발명에 따른 클라이언트가 비밀 정보를 서버에 송신하는 과정을 나타내는 순서도이다.3 is a flowchart illustrating a process in which a client transmits secret information to a server according to the present invention.

본 발명에서 시스템 매개변수는 도 2a에 나타나는 것처럼 시스템관리자(300) 에 의해서 위수가

Figure 112004017877941-pat00079
인 타원곡선상의 점들의 군
Figure 112004017877941-pat00080
과 역시 위수가
Figure 112004017877941-pat00081
인 유한체
Figure 112004017877941-pat00082
를 생성하고 다음 수학식 1과 같은 겹선형 사상을 정의한다.In the present invention, the system parameter is determined by the system administrator 300 as shown in FIG. 2A.
Figure 112004017877941-pat00079
Group of points on an elliptic curve
Figure 112004017877941-pat00080
And also the head
Figure 112004017877941-pat00081
Phosphorus
Figure 112004017877941-pat00082
Is generated and defines the parallel linear mapping as shown in Equation 1 below.

Figure 112004017877941-pat00083
Figure 112004017877941-pat00083

시스템관리자(300)는 또한 다음 수학식 2의 사상을 만족하는 세 개의 암호학적 해시 함수

Figure 112004017877941-pat00084
를 생성한다.The system manager 300 also includes three cryptographic hash functions that satisfy the following equation (2):
Figure 112004017877941-pat00084
Create

Figure 112004017877941-pat00085
Figure 112004017877941-pat00085

그리고, 시스템관리자(300)는

Figure 112004017877941-pat00086
의 임의의 생성자
Figure 112004017877941-pat00087
를 선택하여 수학식 3과 같이
Figure 112004017877941-pat00088
를 계산한다.And, the system manager 300
Figure 112004017877941-pat00086
Random constructor
Figure 112004017877941-pat00087
To select Equation 3
Figure 112004017877941-pat00088
Calculate

Figure 112004017877941-pat00089
Figure 112004017877941-pat00089

수학식 3에서의

Figure 112004017877941-pat00090
는 임의의 값이며,
Figure 112004017877941-pat00091
Figure 112004017877941-pat00092
이 주어졌을 때
Figure 112004017877941-pat00093
를 주어진 다항시간 이내에 계산하는 것은 불가능하다. 시스템관리자(300)는 시스템 매개변수를 생성하여 공개한다. 여기에서 시스템 매개변수는 제 1 순환군
Figure 112004017877941-pat00094
, 제 2 순환군
Figure 112004017877941-pat00095
, 겹선형쌍
Figure 112004017877941-pat00096
, 상기 제 1 순환군
Figure 112004017877941-pat00097
과 상기 제 2 순환군
Figure 112004017877941-pat00098
의 위수
Figure 112004017877941-pat00099
, 상기 제 1 순환군
Figure 112004017877941-pat00100
의 생성자
Figure 112004017877941-pat00101
, 상기 생성자
Figure 112004017877941-pat00102
에 임의의 값을 곱한 생성자
Figure 112004017877941-pat00103
와 해시함수
Figure 112004017877941-pat00104
Figure 112004017877941-pat00105
를 포함한다.In equation (3)
Figure 112004017877941-pat00090
Is any value,
Figure 112004017877941-pat00091
Wow
Figure 112004017877941-pat00092
Given this
Figure 112004017877941-pat00093
It is not possible to calculate P within a given polynomial time. The system manager 300 generates and publishes system parameters. Where the system parameter is the first cycle group
Figure 112004017877941-pat00094
, 2nd cycle group
Figure 112004017877941-pat00095
, Double pair
Figure 112004017877941-pat00096
, The first circulation group
Figure 112004017877941-pat00097
And the second circulation group
Figure 112004017877941-pat00098
Water
Figure 112004017877941-pat00099
, The first circulation group
Figure 112004017877941-pat00100
Constructor
Figure 112004017877941-pat00101
, The constructor
Figure 112004017877941-pat00102
Constructor multiplied by a random value
Figure 112004017877941-pat00103
And hash functions
Figure 112004017877941-pat00104
And
Figure 112004017877941-pat00105
It includes.

클라이언트(100)는

Figure 112006029696732-pat00283
에 속하고 균일한 분포도를 갖는 임의의 난수
Figure 112006029696732-pat00107
Figure 112006029696732-pat00108
를 선정하고(S310), 클라이언트(100)는 수학식 4를 만족하는 차수가
Figure 112006029696732-pat00109
인 두개의 다항식을 선정한다. 이때
Figure 112006029696732-pat00110
이고,
Figure 112006029696732-pat00111
이다.Client 100
Figure 112006029696732-pat00283
Random numbers belonging to and having a uniform distribution
Figure 112006029696732-pat00107
Wow
Figure 112006029696732-pat00108
(S310), the client 100 is a degree that satisfies the equation (4)
Figure 112006029696732-pat00109
Select two polynomials that are At this time
Figure 112006029696732-pat00110
ego,
Figure 112006029696732-pat00111
to be.

Figure 112004017877941-pat00112
Figure 112004017877941-pat00113
,
Figure 112004017877941-pat00112
Figure 112004017877941-pat00113
,

다음 클라이언트(100)는 두 개 다항식의

Figure 112004017877941-pat00114
개의 계수로부터 수학식 5를 각각 생성하여 서버(200)에 배포한다(S330).The client 100 then has two polynomials
Figure 112004017877941-pat00114
Equation 5 is generated from the coefficients and distributed to the server 200 (S330).

Figure 112004017877941-pat00115
Figure 112004017877941-pat00115

이 식에서

Figure 112004017877941-pat00116
= 0, 1, ..., k-1이며, 계산된 값은 추후 서버의 검증식에서 이용된다. In this expression
Figure 112004017877941-pat00116
= 0, 1, ..., k-1, and the calculated value is used later in the verification formula of the server.

다음 클라이언트(100)는 사용자의 패스워드(

Figure 112004017877941-pat00117
)와 아이디(
Figure 112004017877941-pat00118
)로부터 수학식 6을 각각 계산한다(S340).The client 100 then uses the user's password (
Figure 112004017877941-pat00117
) And ID (
Figure 112004017877941-pat00118
Equation 6 is calculated from the equation S) at step S340.

Figure 112004017877941-pat00119
Figure 112004017877941-pat00119

여기에서 해시함수

Figure 112004017877941-pat00120
Figure 112004017877941-pat00121
에서
Figure 112004017877941-pat00122
으로의 사상이다. 즉 임의의 비트스트링 값을 타원곡선 상의 점들의 군
Figure 112004017877941-pat00123
의 원소로 사상한다.Hash function here
Figure 112004017877941-pat00120
silver
Figure 112004017877941-pat00121
in
Figure 112004017877941-pat00122
It is an idea. That is, a group of points on an elliptic curve
Figure 112004017877941-pat00123
Maps to an element of.

다음 클라이언트(100)는 수학식 7에 의하여 겹선형쌍 연산값(

Figure 112004017877941-pat00124
)를 구하고, 수학식 8에 의하여 마스터키(
Figure 112004017877941-pat00125
)과 검증자(
Figure 112004017877941-pat00126
)(특허청구범위에서는 제 1 검증자)를 계산한다(S350).Next, the client 100 calculates the double-linear pair operation value (
Figure 112004017877941-pat00124
), And the master key (
Figure 112004017877941-pat00125
) And validator (
Figure 112004017877941-pat00126
) (The first verifier in the claims) is calculated (S350).

Figure 112004017877941-pat00127
Figure 112004017877941-pat00127

Figure 112004017877941-pat00128
Figure 112004017877941-pat00128

수학식 8에서 해시함수

Figure 112004017877941-pat00129
는 곱셈순환군
Figure 112004017877941-pat00130
에서 비트스트링으로의 사상이며,
Figure 112004017877941-pat00131
는 k비트스트링과 군
Figure 112004017877941-pat00132
의 곱에서
Figure 112004017877941-pat00133
로의 사상이다.Hash Function in Equation 8
Figure 112004017877941-pat00129
Multiplication cycle group
Figure 112004017877941-pat00130
To bitstrings,
Figure 112004017877941-pat00131
K bitstrings and military
Figure 112004017877941-pat00132
In the product of
Figure 112004017877941-pat00133
It is the thought of

다음 클라이언트(100)는 수학식 9와 같이 마스터키(

Figure 112004017877941-pat00134
)로 비밀키(
Figure 112004017877941-pat00135
)를 암호화하여 암호화된 비밀키(
Figure 112004017877941-pat00136
)와, 두개의 다항식에서
Figure 112004017877941-pat00137
개의 비밀값 부분을 수학식 10과 같이 계산한다(S360).Next, the client 100 is a master key (Equation 9)
Figure 112004017877941-pat00134
) With the secret key (
Figure 112004017877941-pat00135
) Encrypted by encrypting the secret key (
Figure 112004017877941-pat00136
) And in two polynomials
Figure 112004017877941-pat00137
The secret value portion is calculated as in Equation 10 (S360).

Figure 112004017877941-pat00138
Figure 112004017877941-pat00138

Figure 112004017877941-pat00139
Figure 112004017877941-pat00139

수학식 10에서 i = 1 , 2 , ... , n 이다. In Equation 10, i = 1, 2, ..., n.

다음 클라이언트(100)는 n개의 서버(200)에게 각각 <사용자 아이디(

Figure 112004017877941-pat00140
),
Figure 112004017877941-pat00141
개의 비밀값 부분, 암호화된 비밀키, 검증자(
Figure 112004017877941-pat00142
)> 를 안전한 채널을 통 하여 전송한다(S370).Next, the client 100 transmits to each of the n servers 200 the <user ID (
Figure 112004017877941-pat00140
),
Figure 112004017877941-pat00141
Secret parts, encrypted secret key, verifier (
Figure 112004017877941-pat00142
)> Is transmitted through a secure channel (S370).

도 4는 본 발명에 따른 서버가 비밀 정보를 수신하여 등록하는 과정을 나타내는 순서도이다.4 is a flowchart illustrating a process of receiving and registering secret information by a server according to the present invention.

도 4를 살펴보면, 클라이언트(100)의 비밀 정보 등록요청을 수신(S410)한 각각의 서버(200)는 수학식 11의 자신의 부분값이 검증식을 만족하는지 판단하게 된다(S420).Referring to FIG. 4, each server 200 that receives the secret information registration request of the client 100 (S410) determines whether its own partial value of Equation 11 satisfies the verification equation (S420).

Figure 112004017877941-pat00143
Figure 112004017877941-pat00143

이 식에서 Ej는 수학식 5에서와 같이 계산된 것이다. In this equation, Ej is calculated as in Equation 5.

수학식 11을 만족하지 않으면 서버(200)는 클라이언트(100)에게 오류응답을 하고(S430) 종료하게 된다. 만약, 수학식 11을 만족하게 된다면 <사용자 아이디(

Figure 112004017877941-pat00144
),
Figure 112004017877941-pat00145
개의 비밀값 부분, 암호화된 비밀키, 검증자(
Figure 112004017877941-pat00146
)>를 안전하게 저장하여 등록한다(S440).If the equation 11 is not satisfied, the server 200 responds to the client 100 with an error (S430). If the following Equation 11 is satisfied, <User ID (
Figure 112004017877941-pat00144
),
Figure 112004017877941-pat00145
Secret parts, encrypted secret key, verifier (
Figure 112004017877941-pat00146
)> Securely register and store (S440).

이상에서와 같이 등록하는 단계에서 클라이언트(100)는 <사용자 아이디(

Figure 112004017877941-pat00147
),
Figure 112004017877941-pat00148
개의 비밀값 부분, 암호화된 비밀키, 검증자>를 서버(200)에 등록하도록 요청하게 되는데, 사용자의 전용 클라이언트(100) 단말기에서 이루어지게 된다.In the step of registering as described above, the client 100 is <user ID (
Figure 112004017877941-pat00147
),
Figure 112004017877941-pat00148
Two secret value parts, an encrypted secret key, and a verifier> are requested to be registered in the server 200, which is performed by the user's dedicated client 100 terminal.

반면에 이후에 설명하는 비밀키를 복원하는 단계는 다른 클라이언트(100) 단말기에서 이루어지게 된다.On the other hand, restoring the secret key, which will be described later, is performed in the other client 100 terminal.

클라이언트(100)는 균일한 분포도를 갖는 임의의 난수

Figure 112004017877941-pat00149
를 선정하고 수학식 12와 같이 사용자 패스워드 정보를 은닉한다(S510).Client 100 can be any random number with a uniform distribution
Figure 112004017877941-pat00149
Select and conceal user password information as shown in Equation 12 (S510).

Figure 112004017877941-pat00150
Figure 112004017877941-pat00150

여기에서

Figure 112004017877941-pat00151
는 수학식 6에서와 같이 계산한다. 클라이언트(100)는 사용자의 아이디와 은닉된 패스워드(
Figure 112004017877941-pat00152
)를 임의로 선정된
Figure 112004017877941-pat00153
개의 서버(200)에게 전송하여 도 4에서 살펴본 바와 같이 등록하는 단계에서 저장된 정보를 요청한다(S520). From here
Figure 112004017877941-pat00151
Is calculated as in Equation 6. Client 100 is a user ID and a secret password (
Figure 112004017877941-pat00152
) Randomly selected
Figure 112004017877941-pat00153
The server 200 requests the stored information in the step of registering the server 200 as shown in FIG. 4 (S520).

여기에서, 서버(200)는 은닉된 패스워드(

Figure 112004017877941-pat00154
)와 사용자 아이디(
Figure 112004017877941-pat00155
)로부터 해당하는 저장된 정보를 검색하여, 수학식 13을 계산한다.Here, the server 200 is a secret password (
Figure 112004017877941-pat00154
) And user ID (
Figure 112004017877941-pat00155
Equation 13 is calculated by searching for the corresponding stored information.

Figure 112004017877941-pat00156
Figure 112004017877941-pat00156

다음 클라이언트(100)는 각각의 서버(200)로부터 경화된 패스워드(

Figure 112004017877941-pat00157
)및 상기 서버(200)에 등록되어 있는 암호화된 비밀키(
Figure 112004017877941-pat00158
)와 검증자(
Figure 112004017877941-pat00159
)(특허청구범위에서는 제 1 검증자)를 송신받는다(S530).The client 100 then generates a hardened password (from each server 200).
Figure 112004017877941-pat00157
And an encrypted secret key (registered with the server 200)
Figure 112004017877941-pat00158
) And validator (
Figure 112004017877941-pat00159
) (In the claims, the first verifier) is received (S530).

다음 클라이언트(100)는 수학식 14의 라그랑쥐 계수를 계산한다(S540). Next, the client 100 calculates a Lagrangian coefficient of Equation 14 (S540).

다음 클라이언트(100)는 패스워드 은닉지수

Figure 112004017877941-pat00160
를 이용하여 수학식 15와 같이 계산된 비밀값(
Figure 112004017877941-pat00161
)을 구한다(S550).
Figure 112004017877941-pat00162
Figure 112004017877941-pat00163
개의 서버(200) 중에서 임의로 선정된
Figure 112004017877941-pat00164
개의 서버(200) 집합이다.Next, the client 100 has a password concealment index.
Figure 112004017877941-pat00160
Using the secret value calculated as in Equation 15 (
Figure 112004017877941-pat00161
To obtain (S550).
Figure 112004017877941-pat00162
Is
Figure 112004017877941-pat00163
Randomly selected from two servers 200
Figure 112004017877941-pat00164
Server 200 is a set of.

Figure 112004017877941-pat00165
Figure 112004017877941-pat00165

Figure 112004017877941-pat00166
Figure 112004017877941-pat00166

다음 수학식 16과 같이 계산된 마스터키(

Figure 112004017877941-pat00167
)와 계산된 검증자(
Figure 112004017877941-pat00168
)(특허청구범위에서는 제 2 검증자)를 구한다(S560).The master key calculated as in Equation 16 below.
Figure 112004017877941-pat00167
) And the calculated verifier (
Figure 112004017877941-pat00168
) (The second verifier in the claims) (S560).

Figure 112004017877941-pat00169
Figure 112004017877941-pat00169

다음 클라이언트(100)는 계산된 검증자(

Figure 112004017877941-pat00170
)와 단계S530에서 수신한 검증자(
Figure 112004017877941-pat00171
)를 비교한다(S570). 비교식이 만족하지 않으면 검색과정을 중단하고(S580) 종료한다. 만약, 비교식이 만족되면 계산된 마스터키(
Figure 112004017877941-pat00172
)로 암호화된 비밀키(
Figure 112004017877941-pat00173
)를 복호화하여 비밀키(
Figure 112004017877941-pat00174
)를 얻게 된다(S590).The client 100 then computes the calculated verifier (
Figure 112004017877941-pat00170
) And the verifier received in step S530 (
Figure 112004017877941-pat00171
) Is compared (S570). If the comparison is not satisfied, the search process is stopped (S580) and ends. If the comparison is satisfied, the calculated master key (
Figure 112004017877941-pat00172
Private key encrypted with)
Figure 112004017877941-pat00173
) And decrypt the secret key (
Figure 112004017877941-pat00174
) Is obtained (S590).

도 6은 본 발명에 따른 클라이언트의 내부 구성을 나타낸 개략 블럭도이다.6 is a schematic block diagram showing an internal configuration of a client according to the present invention.

도 6은 난수 생성부(110); 다항식 생성부(120); 패스워드 은닉부(125); 검증값 생성부(130); 비밀값 요소 생성부(135); 비밀정보 생성부(140); 암호화부(150); 송신부(160); 수신부(170); 계산부(180); 비교부(185); 및 복호화부(190)를 가진다.6 shows a random number generator 110; Polynomial generator 120; Password concealment unit 125; Verification value generation unit 130; A secret value element generator 135; Secret information generation unit 140; An encryption unit 150; A transmitter 160; Receiver 170; A calculator 180; Comparator 185; And a decoder 190.

난수 생성부(110)는 시스템 매개변수를 기초로 비밀값 생성을 위한 난수를 생성한다. 다항식 생성부(120)는 난수를 기초로 소정의 다항식을 생성한다. 패스워드 은닉부(125)는 난수를 기초로 사용자 패스워드 정보를 은닉하여 은닉된 패스워드를 생성한다. 검증값 생성부(130)는 다항식의 계수로부터 사용자 검증을 위한 검증값을 생성한다. 비밀값 요소 생성부(135)는 다항식에서

Figure 112006029696732-pat00175
개의 비밀값 부분을 생성한다. 비밀정보 생성부(140)는 난수, 사용자 패스워드 및 사용자 아이디를 기초로 겹선형쌍 연산값을 생성하고, 겹선형쌍 연산값을 기초로 마스터키와 검증자를 생성한다. 암호화부(150)는 마스터키로부터 암호화된 비밀키를 생성한다. 송신부(160)는 검증값,
Figure 112006029696732-pat00176
개의 비밀값 부분 및 마스터키와 검증자를
Figure 112006029696732-pat00177
개의 서버에 송신한다. 수신부(170)는 서버로부터 암호화된 비밀키, 검증자 및 경화된 패스워드를 수신받는다. 계산부(180)는 경화된 패스워드로부터 계산된 비밀값, 계산된 마스터키, 계산된 검증자를 구한다. 비교부(185)는 계산된 검증자와 수신부에 수신된 검증자를 비교한다. 복호화부(190)는 계산된 마스터키를 기초로 암호화된 비밀키를 복호화하여 비밀키를 얻는다.The random number generator 110 generates a random number for generating a secret value based on the system parameter. The polynomial generator 120 generates a predetermined polynomial based on a random number. The password concealment unit 125 conceals user password information based on the random number to generate the concealed password. The verification value generator 130 generates a verification value for user verification from coefficients of the polynomial. Secret value element generator 135 in the polynomial
Figure 112006029696732-pat00175
Create two secret parts. The secret information generating unit 140 generates a double linear pair operation value based on a random number, a user password, and a user ID, and generates a master key and a verifier based on the double linear pair calculation value. The encryption unit 150 generates an encrypted secret key from the master key. Transmitter 160 is a verification value,
Figure 112006029696732-pat00176
Secret parts and master key and validator
Figure 112006029696732-pat00177
Send to one server. The receiver 170 receives an encrypted secret key, a verifier, and a hardened password from the server. The calculator 180 calculates the secret value, the calculated master key, and the calculated verifier from the hardened password. The comparing unit 185 compares the calculated verifier with the validator received in the receiving unit. The decryption unit 190 decrypts the encrypted secret key based on the calculated master key to obtain a secret key.

여기에서, 난수 생성부(110)는 시스템 매개변수를 기초로 비밀값 생성을 위한 난수를 생성하는 것 뿐만 아니라, 패스워드 은닉을 위한 난수를 생성하는 것을 더 포함한다. 또한 송신부(160)는 검증값,

Figure 112004017877941-pat00178
개의 비밀값 부분 및 마스터키와 검증자를
Figure 112004017877941-pat00179
개의 서버에 송신하는 것 뿐만 아니라, 은닉된 패스워드를 송신하는 것을 더 포함한다.Here, the random number generator 110 may further include not only generating a random number for secret value generation based on the system parameter, but also generating a random number for password hiding. In addition, the transmitter 160 is a verification value,
Figure 112004017877941-pat00178
Secret parts and master key and validator
Figure 112004017877941-pat00179
In addition to sending to two servers, the method further includes transmitting a hidden password.

이와같은 비밀키 단말장치는 클라이언트(100)에서 서버(200)로 비밀정보를 등록하는 것 뿐만 아니라, 별개의 클라이언트(100)에서 서버(200)에 등록되어 있는 비밀정보를 통하여 자신의 비밀키를 복원하기 위하여 사용될 수 있다.Such a secret key terminal device not only registers secret information from the client 100 to the server 200, but also transmits its own secret key through the secret information registered in the server 200 in the separate client 100. Can be used to restore.

비밀키 단말장치에서 비밀키를 복원하기 위하여 사용되는 구성부분은 패스워드 은닉부(125), 수신부(170), 계산부(180), 비교부(185) 및 복호화부(190)이고 여기에 난수 생성부(110)와 송신부(160)가 동작하게 된다. 도 6에서 설명한 구체적인 설명에 대하여는 도 1 내지 도 5에서 설명한 것과 동일한 바 여기에서 구체적인 설명은 상술한 것으로 대체하기로 한다.The components used to recover the secret key in the secret key terminal apparatus are the password concealment unit 125, the receiving unit 170, the calculating unit 180, the comparing unit 185, and the decrypting unit 190. Random numbers are generated here. The unit 110 and the transmitter 160 operate. The detailed description described with reference to FIG. 6 is the same as that described with reference to FIGS. 1 to 5, and the detailed description will be replaced with the above description.

상술한 본 발명의 비밀키 로밍 기법을 통하여 로밍 중인 사용자는 자신의 전용 클라이언트 단말기 이외의 단말기에서 서버에 등록해 놓은 비밀키를 안전하게 관리할 수 있다. 본 발명의 일실시예에서는 비밀키에 대하여 설명하였으나, 나아가 다른 비밀 정보도 동일한 방법으로 관리할 수 있을 것이다.A user who is roaming through the secret key roaming technique of the present invention described above can safely manage a secret key registered in a server in a terminal other than his own client terminal. Although an embodiment of the present invention has been described with respect to the secret key, other secret information may also be managed in the same way.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기테이프, 플로피디스크 및 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD_ROM, magnetic tape, floppy disks, and optical data storage, and may also include those implemented in the form of carrier waves (eg, transmission over the Internet). . The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정 한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, optimal embodiments have been disclosed in the drawings and the specification. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not intended to limit the scope of the present invention as defined in the claims or the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

본 발명은 비밀키 관리 기능을 가지는 비밀키 단말장치 및 비밀키 관리방법에 관한 것으로 다음과 같은 효과가 있다.The present invention relates to a secret key terminal having a secret key management function and a secret key management method.

종래에 제안된 다중서버 방식에서는

Figure 112004017877941-pat00180
개의 정상적인 서버로부터 비밀정보를 모두 가져와야만 비밀키를 얻을 수 있었으나, 본 발명에서는
Figure 112004017877941-pat00181
개(여기에서, n
Figure 112004017877941-pat00182
Figure 112004017877941-pat00183
)의 서버 중에서
Figure 112004017877941-pat00184
개의 정상적인 서버로부터 비밀정보를 가져오면 비밀키를 얻을 수 있게 되므로,
Figure 112004017877941-pat00185
개까지의 서버 손상에도 비밀키를 얻을 수 있는 효과가 있다. 또한,
Figure 112004017877941-pat00186
개의 정상적인 서버로부터 비밀정보를 가져오면 되기 때문에, 클라이언트에서의 통신량과 연산량을 크게 줄일 수 있는 효과가 있다.In the conventional multi-server method
Figure 112004017877941-pat00180
The secret key could only be obtained by importing all the secret information from two normal servers.
Figure 112004017877941-pat00181
Dogs, where n
Figure 112004017877941-pat00182
Figure 112004017877941-pat00183
Of servers
Figure 112004017877941-pat00184
If you get secret information from normal servers, you can get a secret key.
Figure 112004017877941-pat00185
It is also possible to obtain a secret key in case of server damage. Also,
Figure 112004017877941-pat00186
Since the secret information can be obtained from normal servers, it is possible to greatly reduce the amount of communication and computation at the client.

겹선형쌍을 이용한 사상은 테이트 쌍이나 베일 쌍을 타원곡선 상에서 구현하여 사용할 수 있다. 이때 테이트 쌍이나 베일 쌍의 계산이 상대적으로 복잡하여 연산의 비효율성이 지적되었으나, 현재 암호학자들의 지속적인 연구로 인하여 연산 시간 개선이 꾸준히 이루어지고 있으며 최근에는 계산량을 줄이는 알고리즘의 연구 에 힘입어 테이트 쌍이나 베일 쌍의 연산도 매우 효율적으로 계산되고 있다. 따라서 겹선형 쌍의 연산을 수행하는 서버에서의 계산량도 효율적으로 이루어질 수 있다.The mapping using the overlapping pair may be implemented by implementing a pair of tessellations or a pair of veils on an elliptic curve. At this time, the computational inefficiency of the pair and the veil pair was relatively complicated, but the computational time has been steadily improved due to the continuous study of cryptographers. In addition, the operation of the bale pair is calculated very efficiently. Therefore, the amount of computation at the server performing the operation of the fold pair can also be efficiently performed.

Claims (17)

클라이언트, 서버 및 소정의 시스템 매개변수를 생성하는 시스템관리자로 구성되는 네트워크 환경에서 비밀키 관리 기능을 가지는 비밀키 단말장치에 있어서,A secret key terminal having a secret key management function in a network environment consisting of a client, a server, and a system manager for generating predetermined system parameters, 상기 시스템 매개변수를 기초로 난수를 생성하는 난수 생성부;Random number generation unit for generating a random number based on the system parameters; 상기 난수를 기초로 소정의 다항식을 생성하는 다항식 생성부;A polynomial generator for generating a predetermined polynomial based on the random number; 상기 다항식의 계수로부터 사용자 검증을 위한 검증값을 생성하는 검증값 생성부;A verification value generating unit generating a verification value for user verification from coefficients of the polynomial; 상기 다항식의 계수로부터
Figure 112004017877941-pat00187
개의 비밀값 부분을 생성하는 비밀값 요소 생성부;
From the coefficient of the polynomial
Figure 112004017877941-pat00187
A secret value element generator for generating two secret value parts;
상기 난수와 사용자 패스워드 및 사용자 아이디를 기초로 생성한 겹선형쌍을 이용하여 마스터키와 제 1 검증자를 생성하는 비밀정보 생성부;A secret information generation unit for generating a master key and a first verifier using the fold-pair pair generated based on the random number, the user password, and the user ID; 상기 마스터키를 이용하여 자체적으로 생성된 비밀키를 암호화하는 암호화부; 및An encryption unit for encrypting a secret key generated by itself using the master key; And 상기 검증값, 상기 비밀값 부분, 상기 사용자 아이디, 상기 암호화된 비밀키 및 제 1 검증자를 상기
Figure 112004017877941-pat00188
개의 비밀값 부분 각각에 대응하는 서버로 송신하는 송신 부를 포함하고,
The verification value, the secret value portion, the user ID, the encrypted secret key, and the first verifier
Figure 112004017877941-pat00188
A transmitting unit for transmitting to the server corresponding to each of the four secret value parts,
상기
Figure 112004017877941-pat00189
개의 서버 각각에 전송된 특정한 비밀값 부분에 대하여 상기 검증값과의 검증이 이루어지는 경우에 상기 각각의 서버로 전송된 상기 사용자 아이디, 암호화된 비밀키, 제 1 검증자 및 비밀값 부분이 등록되는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 단말장치.
remind
Figure 112004017877941-pat00189
The user ID, the encrypted secret key, the first verifier and the secret value portion transmitted to each server are registered when the verification is performed with the verification value for the specific secret value portion transmitted to each of the respective servers. A secret key terminal having a secret key management function.
제 1 항에 있어서,The method of claim 1, 사용자 패스워드 정보를 은닉하여 은닉된 패스워드를 생성하는 패스워드 은닉부;A password concealment section for concealing user password information to generate a concealed password; 상기 서버에 등록되어 있는 상기 암호화된 비밀키, 제 1 검증자 및 상기 은닉된 패스워드를 이용하여 경화된 패스워드를 수신하는 수신부;A receiving unit for receiving a hardened password using the encrypted secret key registered with the server, a first verifier, and the hidden password; 상기 경화된 패스워드로부터 비밀값, 마스터키 및 상기 제 1 검증자와의 비교를 위한 제 2 검증자를 구하는 계산부;A calculator for obtaining a second verifier for comparison with a secret value, a master key, and the first verifier from the hardened password; 상기 제 1 검증자와 상기 제 2 검증자를 비교하는 비교부; 및A comparison unit comparing the first verifier with the second verifier; And 상기 비교부에서 비교가 일치하는 경우 상기 마스터키를 이용하여 상기 암호화된 비밀키를 복호화하여 비밀키를 얻는 복호화부를 더 포함하고,The decryption unit further includes a decryption unit to obtain a secret key by decrypting the encrypted secret key using the master key when the comparison is matched, 상기 난수 생성부는 패스워드 은닉을 위한 난수를 생성하고, 상기 송신부는 상기 은닉된 패스워드를 송신하는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 단말장치.And the random number generating unit generates a random number for password concealment, and the transmitting unit transmits the concealed password. 제 2 항에 있어서,The method of claim 2, 상기 송신부는
Figure 112004017877941-pat00190
개의 서버보다 작은 개수인
Figure 112004017877941-pat00191
개의 서버에 은닉된 패스워드를 송신하고,
The transmitting unit
Figure 112004017877941-pat00190
Fewer than servers
Figure 112004017877941-pat00191
Send secrets to two servers,
상기 수신부는 상기
Figure 112004017877941-pat00192
개의 서버에 등록되어 있는 상기 암호화된 비밀키, 제 1 검증자 및 경화된 패스워드를 수신받는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 단말장치.
The receiver is the
Figure 112004017877941-pat00192
Secret key terminal having a secret key management function, characterized in that for receiving the encrypted secret key, the first verifier and the registered password registered in two servers.
제 3 항에 있어서,The method of claim 3, wherein 상기 다항식의 차수는
Figure 112004017877941-pat00193
차이고
The order of the polynomial
Figure 112004017877941-pat00193
Difference
상기
Figure 112004017877941-pat00194
개의 서버 개수는
Figure 112004017877941-pat00195
개보다 크거나 같은것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 단말장치.
remind
Figure 112004017877941-pat00194
Server count
Figure 112004017877941-pat00195
Secret key terminal having a secret key management function characterized in that greater than or equal to a dog.
클라이언트, 서버 및 소정의 시스템 매개변수를 생성하는 시스템관리자로 구성되는 네트워크 환경에서 상기 클라이언트가 상기 서버에 비밀키를 등록하는 방법에 있어서,In a network environment consisting of a client, a server and a system administrator for generating predetermined system parameters, the client registers a secret key with the server, 상기 시스템 매개변수를 기초로 난수를 생성하고, 상기 난수를 기초로 소정의 다항식을 생성하는 단계;Generating a random number based on the system parameter, and generating a predetermined polynomial based on the random number; 상기 다항식의 계수로부터 사용자 검증을 위한 검증값을 생성하여 상기 서버에 송신하는 단계;Generating a verification value for user verification from the coefficients of the polynomial and transmitting it to the server; 사용자 패스워드와 사용자 아이디로부터 겹선형쌍 연산값을 생성하고, 상기 겹선형쌍 연산값을 기초로 마스터키와 제 1 검증자를 생성하는 단계;Generating a double pair operation value from a user password and a user ID, and generating a master key and a first verifier based on the double pair operation value; 상기 마스터키를 이용하여 자체적으로 생성된 비밀키를 암호화하여 암호화된 비밀키를 생성하는 단계;Generating an encrypted private key by encrypting a private key generated using the master key; 상기 다항식의 계수로부터
Figure 112004017877941-pat00196
개의 비밀값 부분을 생성하는 단계; 및
From the coefficient of the polynomial
Figure 112004017877941-pat00196
Generating two secret value portions; And
상기 사용자 아이디, 암호화된 비밀키, 제 1 검증자 비밀값 부분을 상기
Figure 112004017877941-pat00197
개의 비밀값 부분 각각에 대응하는 서버로 송신하는 단계를 포함하고,
Recalling the user ID, encrypted secret key, first validator secret value portion
Figure 112004017877941-pat00197
Sending to a server corresponding to each of the four secret value portions,
상기
Figure 112004017877941-pat00198
개의 서버 각각에 송신된 특정한 비밀값 부분에 대하여 상기 검증값과의 검증이 이루어지는 경우에 상기 서버로 전송된 상기 사용자 아이디, 암호화된 비밀키, 제 1 검증자 및 비밀값 부분이 등록되도록 하는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 관리방법.
remind
Figure 112004017877941-pat00198
The user ID, the encrypted secret key, the first verifier and the secret value portion transmitted to the server are registered when the verification with the verification value is performed on the specific secret value portion transmitted to each of the plurality of servers. A secret key management method having a secret key management function.
제 5 항에 있어서,The method of claim 5, wherein 상기 시스템 매개변수는 제 1 순환군
Figure 112004017877941-pat00199
, 제 2 순환군
Figure 112004017877941-pat00200
, 겹선형쌍
Figure 112004017877941-pat00201
, 상기 제 1 순환군
Figure 112004017877941-pat00202
과 상기 제 2 순환군
Figure 112004017877941-pat00203
의 위수
Figure 112004017877941-pat00204
, 상기 제 1 순환군
Figure 112004017877941-pat00205
의 생성자
Figure 112004017877941-pat00206
, 상기 생성자
Figure 112004017877941-pat00207
에 임의의 값을 곱한 생성자
Figure 112004017877941-pat00208
와 해시함수
Figure 112004017877941-pat00209
Figure 112004017877941-pat00210
를 포함하되,
The system parameter is the first cycle group
Figure 112004017877941-pat00199
, 2nd cycle group
Figure 112004017877941-pat00200
, Double pair
Figure 112004017877941-pat00201
, The first circulation group
Figure 112004017877941-pat00202
And the second circulation group
Figure 112004017877941-pat00203
Water
Figure 112004017877941-pat00204
, The first circulation group
Figure 112004017877941-pat00205
Constructor
Figure 112004017877941-pat00206
, The constructor
Figure 112004017877941-pat00207
Constructor multiplied by a random value
Figure 112004017877941-pat00208
And hash functions
Figure 112004017877941-pat00209
And
Figure 112004017877941-pat00210
Including,
상기 겹선형쌍
Figure 112004017877941-pat00211
Figure 112004017877941-pat00212
로 정의되고, 상기 해시함수
Figure 112004017877941-pat00213
Figure 112004017877941-pat00214
Figure 112004017877941-pat00215
인 것을 특징으로 하는 비밀키 관 리 기능을 가지는 비밀키 관리방법.
The layered pair
Figure 112004017877941-pat00211
Is
Figure 112004017877941-pat00212
Hash function, defined as
Figure 112004017877941-pat00213
And
Figure 112004017877941-pat00214
Is
Figure 112004017877941-pat00215
Secret key management method having a secret key management function, characterized in that.
제 5 항에 있어서,The method of claim 5, wherein 상기 난수는 임의의 두개인
Figure 112004017877941-pat00216
Figure 112004017877941-pat00217
이고,
The random number is any two
Figure 112004017877941-pat00216
Wow
Figure 112004017877941-pat00217
ego,
상기 다항식은
Figure 112004017877941-pat00218
,
Figure 112004017877941-pat00219
이며,
The polynomial is
Figure 112004017877941-pat00218
,
Figure 112004017877941-pat00219
Is,
상기 검증값은
Figure 112004017877941-pat00220
으로 계산되고,
The verification value is
Figure 112004017877941-pat00220
Calculated as
상기 난수중
Figure 112004017877941-pat00221
Figure 112004017877941-pat00222
을 만족하고, 상기 난수중
Figure 112004017877941-pat00223
Figure 112004017877941-pat00224
를 만족하는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 관리방법.
In the random number
Figure 112004017877941-pat00221
Is
Figure 112004017877941-pat00222
Satisfies the above random number
Figure 112004017877941-pat00223
Is
Figure 112004017877941-pat00224
Secret key management method having a secret key management function, characterized in that to satisfy.
제 7 항에 있어서,The method of claim 7, wherein 상기 겹선형쌍 연산값(
Figure 112004017877941-pat00225
)은
Figure 112004017877941-pat00226
으로,
The double pair operation value (
Figure 112004017877941-pat00225
)silver
Figure 112004017877941-pat00226
to,
상기 마스터키(
Figure 112004017877941-pat00227
)는
Figure 112004017877941-pat00228
으로,
The master key (
Figure 112004017877941-pat00227
)
Figure 112004017877941-pat00228
to,
상기 검증자(
Figure 112004017877941-pat00229
)는
Figure 112004017877941-pat00230
으로 계산되되,
The verifier (
Figure 112004017877941-pat00229
)
Figure 112004017877941-pat00230
Calculated as
상기
Figure 112004017877941-pat00231
Figure 112004017877941-pat00232
이고, 상기
Figure 112004017877941-pat00233
Figure 112004017877941-pat00234
으로 정의되는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 관리방법.
remind
Figure 112004017877941-pat00231
Is
Figure 112004017877941-pat00232
And above
Figure 112004017877941-pat00233
Is
Figure 112004017877941-pat00234
Secret key management method having a secret key management function, characterized in that defined as.
제 8 항에 있어서,The method of claim 8, 상기 암호화된 비밀키(
Figure 112006029696732-pat00284
)는
Figure 112006029696732-pat00236
으로 계산되고,
The encrypted secret key (
Figure 112006029696732-pat00284
)
Figure 112006029696732-pat00236
Calculated as
상기 비밀값 부분은 비밀공유기법을 이용하여
Figure 112006029696732-pat00237
으로 계산되는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 관리방법.
The secret value portion may be classified using a secret sharing technique.
Figure 112006029696732-pat00237
Secret key management method having a secret key management function, characterized in that calculated by.
클라이언트, 서버 및 시스템 매개변수를 생성하는 시스템관리자로 구성되는 네트워크 환경에서 사용자 아이디, 암호화된 비밀키, 제 1 검증자, 비밀값 부분을 등록하고 있는
Figure 112006029696732-pat00238
개의 서버를 기초로 상기 클라이언트가 비밀키를 복원하는 방법에 있어서,
Registers user ID, encrypted secret key, first verifier, and secret value in a network environment consisting of a system administrator who generates client, server and system parameters.
Figure 112006029696732-pat00238
A method for recovering a private key based on two servers, the method comprising:
패스워드 은닉을 위한 난수를 생성하는 단계;Generating a random number for password concealment; 상기 난수를 기초로 사용자 패스워드 정보를 은닉하여 은닉된 패스워드를 생성하는 단계;Concealing user password information based on the random number to generate a hidden password; 상기 은닉된 패스워드와 사용자 아이디를 임의로 선정된 상기
Figure 112006029696732-pat00239
개의 서버보다 적은 개수의
Figure 112006029696732-pat00240
개의 서버에 송신하는 단계;
The secret password and user ID are randomly selected
Figure 112006029696732-pat00239
Fewer than servers
Figure 112006029696732-pat00240
Transmitting to four servers;
상기 서버에 등록되어 있는 상기 암호화된 비밀키, 제 1 검증자와 함께 경화된 패스워드를 상기 서버로부터 수신하는 단계;Receiving a hardened password from the server with the encrypted private key and a first verifier registered with the server; 상기 경화된 패스워드를 기초로 비밀값을 구하는 단계;Obtaining a secret value based on the hardened password; 상기 비밀값을 기초로 마스터키와 제 2 검증자를 구하는 단계;Obtaining a master key and a second verifier based on the secret value; 상기 제 1 검증자와 상기 제 2 검증자를 비교하는 단계; 및Comparing the first verifier with the second verifier; And 상기 제 1 검증자와 상기 제 2 검증자가 일치하는 경우에 상기 마스터키를 통하여 상기 암호화된 비밀키를 복호화하여 비밀키를 얻는 단계를 포함하는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 관리방법.And if the first verifier and the second verifier match, decrypting the encrypted secret key through the master key to obtain a secret key. .
제 10 항에 있어서,The method of claim 10, 상기 시스템 매개변수는 제 1 순환군
Figure 112004017877941-pat00241
, 제 2 순환군
Figure 112004017877941-pat00242
, 겹선형쌍
Figure 112004017877941-pat00243
, 상기 제 1 순환군
Figure 112004017877941-pat00244
과 상기 제 2 순환군
Figure 112004017877941-pat00245
의 위수
Figure 112004017877941-pat00246
, 상기 제 1 순환군
Figure 112004017877941-pat00247
의 생성자
Figure 112004017877941-pat00248
, 상기 생성자
Figure 112004017877941-pat00249
에 임의의 값을 곱한 생성자
Figure 112004017877941-pat00250
와 해시함수
Figure 112004017877941-pat00251
Figure 112004017877941-pat00252
를 포함하되,
The system parameter is the first cycle group
Figure 112004017877941-pat00241
, 2nd cycle group
Figure 112004017877941-pat00242
, Double pair
Figure 112004017877941-pat00243
, The first circulation group
Figure 112004017877941-pat00244
And the second circulation group
Figure 112004017877941-pat00245
Water
Figure 112004017877941-pat00246
, The first circulation group
Figure 112004017877941-pat00247
Constructor
Figure 112004017877941-pat00248
, The constructor
Figure 112004017877941-pat00249
Constructor multiplied by a random value
Figure 112004017877941-pat00250
And hash functions
Figure 112004017877941-pat00251
And
Figure 112004017877941-pat00252
Including,
상기 겹선형쌍
Figure 112004017877941-pat00253
Figure 112004017877941-pat00254
로 정의되고, 상기 해시함수
Figure 112004017877941-pat00255
Figure 112004017877941-pat00256
Figure 112004017877941-pat00257
로 계산되는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 관리방법.
The layered pair
Figure 112004017877941-pat00253
Is
Figure 112004017877941-pat00254
Hash function, defined as
Figure 112004017877941-pat00255
And
Figure 112004017877941-pat00256
Is
Figure 112004017877941-pat00257
Secret key management method having a secret key management function, characterized in that calculated by.
제 10 항에 있어서,The method of claim 10, 상기 난수는
Figure 112004017877941-pat00258
이고,
The random number is
Figure 112004017877941-pat00258
ego,
상기 은닉된 패스워드는
Figure 112004017877941-pat00259
로 계산되는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 관리방법.
The hidden password is
Figure 112004017877941-pat00259
Secret key management method having a secret key management function, characterized in that calculated by.
제 12 항에 있어서,The method of claim 12, 상기 경화된 패스워드(
Figure 112004017877941-pat00260
)는
Figure 112004017877941-pat00261
로 계산되는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 관리방법.
The hardened password (
Figure 112004017877941-pat00260
)
Figure 112004017877941-pat00261
Secret key management method having a secret key management function, characterized in that calculated by.
제 13 항에 있어서,The method of claim 13, 상기 비밀값(
Figure 112004017877941-pat00262
)는
Figure 112004017877941-pat00263
으로,
The secret value (
Figure 112004017877941-pat00262
)
Figure 112004017877941-pat00263
to,
상기 마스터키(
Figure 112004017877941-pat00264
)는
Figure 112004017877941-pat00265
으로,
The master key (
Figure 112004017877941-pat00264
)
Figure 112004017877941-pat00265
to,
상기 제 2 검증자(
Figure 112004017877941-pat00266
)는
Figure 112004017877941-pat00267
으로 구하는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 관리방법.
The second verifier (
Figure 112004017877941-pat00266
)
Figure 112004017877941-pat00267
Secret key management method having a secret key management function, characterized in that obtained by.
제 10 항에 있어서,The method of claim 10, 상기 라그랑쥐 계수는
Figure 112004017877941-pat00268
로 계산되는 것을 특징으로 하는 비밀키 관리 기능을 가지는 비밀키 관리방법.
The Lagrangian coefficient is
Figure 112004017877941-pat00268
Secret key management method having a secret key management function, characterized in that calculated by.
제 10 항에 있어서,The method of claim 10, 상기
Figure 112006029696732-pat00269
개의 서버 개수는
Figure 112006029696732-pat00270
보다 크거나 같고,
remind
Figure 112006029696732-pat00269
Server count
Figure 112006029696732-pat00270
Greater than or equal to,
상기
Figure 112006029696732-pat00271
개의 서버가 클라이언트로부터 수신된 상기 사용자 아이디와 상기 은닉된 패스워드를 기초로 등록된 정보를 기초로 상기 경화된 패스워드를 계산하는 것을 특징으로 하는 (여기에서,
Figure 112006029696732-pat00272
에서
Figure 112006029696732-pat00273
는 서버의 개수)는 상기 비밀키 관리 기능을 가지는 비밀키 관리방법.
remind
Figure 112006029696732-pat00271
Server calculates the hardened password based on the registered information based on the user ID received from the client and the hidden password (where,
Figure 112006029696732-pat00272
in
Figure 112006029696732-pat00273
Number of servers) is a secret key management method having the secret key management function.
제 5 항 내지 제 16 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 5 to 16.
KR1020040029587A 2004-04-28 2004-04-28 Management method and terminal apparatus for management function of secret key KR100617456B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040029587A KR100617456B1 (en) 2004-04-28 2004-04-28 Management method and terminal apparatus for management function of secret key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040029587A KR100617456B1 (en) 2004-04-28 2004-04-28 Management method and terminal apparatus for management function of secret key

Publications (2)

Publication Number Publication Date
KR20050104220A KR20050104220A (en) 2005-11-02
KR100617456B1 true KR100617456B1 (en) 2006-08-31

Family

ID=37281886

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040029587A KR100617456B1 (en) 2004-04-28 2004-04-28 Management method and terminal apparatus for management function of secret key

Country Status (1)

Country Link
KR (1) KR100617456B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100619027B1 (en) * 2004-06-07 2006-08-31 삼성전자주식회사 Method of assigning member secret information, method of key agreement using the assigned secret information, and method of member authentication using the assigned secret information
WO2007117879A1 (en) * 2006-04-07 2007-10-18 Intel Corporation Method and apparatus to mate an external code image with an on-chip private key
KR100848318B1 (en) * 2006-12-07 2008-07-24 한국전자통신연구원 Method and Apparatus for generating user secret key in mobile communication system
KR101276202B1 (en) * 2009-11-25 2013-06-18 한국전자통신연구원 Method Generating Personal Identification, Method Proofing Specific Person and Apparatus Generating Personal Identification
WO2019178559A1 (en) * 2018-03-15 2019-09-19 Medici Ventures, Inc. Splitting encrypted key and encryption key used to encrypt key into key components allowing assembly with subset of key components to decrypt encrypted key
SG11202103517TA (en) 2018-10-12 2021-05-28 Tzero Ip Llc Doubly-encrypted secret parts allowing for assembly of a secret using a subset of the doubly-encrypted secret parts

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002247031A (en) 2001-02-16 2002-08-30 Fujitsu Ltd Method for electronic signature
WO2004028075A1 (en) * 2002-09-20 2004-04-01 Koninklijke Philips Electronics N.V. Method and system for generating a common secret key
KR20050037723A (en) * 2003-10-20 2005-04-25 삼성전자주식회사 Conference session key distribution method on id-based cryptographic system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002247031A (en) 2001-02-16 2002-08-30 Fujitsu Ltd Method for electronic signature
WO2004028075A1 (en) * 2002-09-20 2004-04-01 Koninklijke Philips Electronics N.V. Method and system for generating a common secret key
KR20050037723A (en) * 2003-10-20 2005-04-25 삼성전자주식회사 Conference session key distribution method on id-based cryptographic system

Also Published As

Publication number Publication date
KR20050104220A (en) 2005-11-02

Similar Documents

Publication Publication Date Title
US11882218B2 (en) Matching system, method, apparatus, and program
US7895436B2 (en) Authentication system and remotely-distributed storage system
US8688973B2 (en) Securing communications sent by a first user to a second user
CN111639361A (en) Block chain key management method, multi-person common signature method and electronic device
JP5300983B2 (en) Data processing device
US20220376894A1 (en) Adaptive attack resistant distributed symmetric encryption
Ballard et al. Correlation-resistant storage via keyword-searchable encryption
JP6763378B2 (en) Cryptographic information creation device, cryptographic information creation method, cryptographic information creation program, and verification system
US7688973B2 (en) Encryption apparatus, decryption apparatus, key generation apparatus, program, and method
CN110224986A (en) It is a kind of that access control method efficiently can search for based on hiding strategy CP-ABE
JP5586795B2 (en) Data processing apparatus, data processing method, and program
CN104967693B (en) Towards the Documents Similarity computational methods based on full homomorphism cryptographic technique of cloud storage
JP6229716B2 (en) Verification system, node, verification method and program
CN110730064B (en) Data fusion method based on privacy protection in crowd sensing network
WO2014185450A1 (en) Verification system, node, verification method, and program
Chang et al. An efficient multi-server password authenticated key agreement scheme using smart cards with access control
Erkin et al. Privacy-preserving user clustering in a social network
CN108809996B (en) Integrity auditing method for duplicate deletion stored data with different popularity
KR100617456B1 (en) Management method and terminal apparatus for management function of secret key
CN115336224A (en) Adaptive attack-resistant distributed symmetric encryption
JP2006227411A (en) Communications system, encryption device, key generator, key generating method, restoration device, communication method, encryption method, and cryptography restoration method
CN116055136A (en) Secret sharing-based multi-target authentication method
Prasanalakshmi et al. ECC based biometric encryption of compressed image for security over network channels
Harn et al. A novel threshold cryptography with membership authentication and key establishment
Hegde et al. Secure search scheme for encrypted data in the VANET cloud with random query trapdoor

Legal Events

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

Payment date: 20090610

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee