KR20080067550A - Method and system for three-party authenticated key exchange using smart cards - Google Patents

Method and system for three-party authenticated key exchange using smart cards Download PDF

Info

Publication number
KR20080067550A
KR20080067550A KR1020070004984A KR20070004984A KR20080067550A KR 20080067550 A KR20080067550 A KR 20080067550A KR 1020070004984 A KR1020070004984 A KR 1020070004984A KR 20070004984 A KR20070004984 A KR 20070004984A KR 20080067550 A KR20080067550 A KR 20080067550A
Authority
KR
South Korea
Prior art keywords
random number
smart card
client
cipher text
server
Prior art date
Application number
KR1020070004984A
Other languages
Korean (ko)
Other versions
KR100883899B1 (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 KR1020070004984A priority Critical patent/KR100883899B1/en
Publication of KR20080067550A publication Critical patent/KR20080067550A/en
Application granted granted Critical
Publication of KR100883899B1 publication Critical patent/KR100883899B1/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
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • 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/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Abstract

A method and a system for exchanging a key among three-party using a smart card and a recording medium thereof are provided to improve the security by performing an authentication and key exchange between a client and a client without exposing session key information, which is exchanged between the clients, to a server. A method for exchanging a key among three-party using a smart card includes the steps of: selecting a first random number and a second random number as a predetermined random number at a smart card of a source client, transmitting an encryption sentence having the second random number to a server, and transmitting the encryption sentence having the first random number to a target client(310); transmitting the encryption sentence having the second random number to the target client(320); selecting third and fourth random numbers as a predetermined random number in the smart card of the target client, decoding the encryption sentence having the second random number, calculating the second random number, calculating a session key using the second and fourth random numbers(330), and transmitting the encryption sentence having the third and fourth random numbers to the source client(340); and decoding the encryption sentence having the third and fourth random numbers in the smart card of the source client, calculating the session key using the second and fourth random numbers, and sharing the session key(350).

Description

스마트 카드를 이용한 삼자간 키 교환 방법, 그 기록 매체 및 스마트 카드를 이용한 삼자간 키 교환 시스템 {Method and System for three-party authenticated key exchange using smart cards}Three-way key exchange method using smart card, recording medium and three-party key exchange system using smart card {Method and System for three-party authenticated key exchange using smart cards}

도 1은 종래의 스마트카드/단말간의 상호 인증 방법을 도시한 것이다.1 illustrates a conventional smart card / terminal mutual authentication method.

도 2는 본 발명의 일 실시 예에 따른 스마트 카드를 이용한 삼자간 키 교환 시스템의 블럭도이다.2 is a block diagram of a three-party key exchange system using a smart card according to an embodiment of the present invention.

도 3은 본 발명의 다른 실시 예에 따른 스마트 카드를 이용한 삼자간 키 교환 방법의 흐름도이다.3 is a flowchart illustrating a three-party key exchange method using a smart card according to another embodiment of the present invention.

도 4는 본 발명의 또다른 실시 예에 따른 스마트 카드를 이용한 삼자간 키 교환 방법의 흐름도이다.4 is a flowchart illustrating a three-party key exchange method using a smart card according to another embodiment of the present invention.

도 5는 본 발명의 또다른 실시 예에 따른 스마트 카드를 이용한 삼자간 키 교환 방법의 흐름도이다.5 is a flowchart illustrating a three-party key exchange method using a smart card according to another embodiment of the present invention.

도 6은 도 3에서 암호문 중계 과정의 상세 흐름도이다.FIG. 6 is a detailed flowchart of a cipher text relay process in FIG. 3.

도 7은 도 4의 과정을 각 라운드별로 도시한 것이다.7 illustrates the process of FIG. 4 for each round.

본 발명은 인증 및 키 교환에 관한 것으로, 특히, 스마트 카드를 이용한 삼자간 키 교환 방법, 그 기록 매체 및 스마트 카드를 이용한 삼자간 키 교환 시스템에 관한 것이다.The present invention relates to authentication and key exchange, and more particularly, to a three-way key exchange method using a smart card, a recording medium and a three-way key exchange system using a smart card.

유·무선통신 및 인터넷의 발달은 여러 가지 정보보호 서비스들의 필요성을 대두시켰다. 따라서 정보보호 서비스들을 실질적으로 구현시키기 위한 여러 가지 기술 개발의 필요성이 제기되었으며 이러한 기술에 대한 많은 연구가 다양한 목적에 의하여 세분화되어 실행되고 있다. The development of wired / wireless communication and the Internet has raised the need for various information security services. Therefore, the necessity of developing various technologies for practically implementing information security services has been raised, and many researches on these technologies are divided and executed for various purposes.

본 연구의 주제인 개체 간 (세션) 키 교환은 정보보호 분야에 해당하는 기술로 정보보호에 있어서 가장 기본적이며 핵심적인 기술이다. 공개 네트워크 (예를 들어, Ad-hoc 네트워크, 모바일 네트워크, 홈 네트워크) 상에서 개체 간에 비밀 통신을 하거나 무결성이 보장된 통신 또는 서로를 인증해야 하는 경우에 통신하는 개체들끼리 하나의 암호학적으로 안전한 키만 공유할 수만 있다면 문제는 쉽게 해결될 수 있다. 즉, 공유된 키로 통신문을 비밀키 암호 알고리즘 (예를 들어 DES, AES, SEED 등)을 이용해서 암호화함으로써 비밀통신을 구현할 수 있으며, 또한 통신문에 대한 무결성은 이 키를 MAC (Massage Authentication Code) 알고리즘의 키로 사용함으로써 구현될 수 있다. 그리고 서로에 대한 인증은 서로 공유한 비밀정보 (보통 키 값)에 대한 정보를 알고 있음을 증명하여 실현될 수 있다. 즉, 안전한 통신을 구현하기 위해서는 개체 간 키 교환이 우선적으로 선행되어야 한다. 따라서 키 교환은 정보보호기술에 있어서 필요불가결한 요소이다.(Session) key exchange between subjects, which is the subject of this study, is a technology in the field of information security. Only one cryptographically secure key between entities communicating on a public network (e.g., ad-hoc networks, mobile networks, home networks), when confidential communication between entities is guaranteed, or when there is a need to authenticate each other The problem can easily be solved if you can share it. That is, secret communication can be implemented by encrypting the communication message with a shared key using a secret key encryption algorithm (for example, DES, AES, SEED, etc.). In addition, the integrity of the communication message is a MAC (Massage Authentication Code) algorithm. It can be implemented by using as a key of. And authentication to each other can be realized by proving that the information about the shared secret information (usually the key value) is known. That is, in order to implement secure communication, key exchange between objects must be preceded first. Therefore, key exchange is an indispensable element in information security technology.

도 1은 종래의 관용암호계를 이용한 스마트카드/단말간의 상호 인증 방법 예 시도로서, 먼저 사용자 A가 스마트카드를 이용하여 인증을 요청할 경우, 단말은 난수 R1을 생성하고 이를 스마트카드에 전달하고(1), 스마트카드는 이를 받아 자신이 보관하고 있는 키 KSA를 이용하여 암호화한 결과와 자신이 발생한 난수 R2를 함께 단말에 전달한다(2). 그러면 단말은 자신이 보관하고 있는 사용자 A의 비밀키KSA를 이용하여 R1을 암호화하고 이를 스마트카드가 전달한 결과와 비교하여 같으면 정당한 A의 스마트카드로 인식한 후(3), 스마트카드가 전달한 난수 R2를 KSA로 암호화하여 스마트카드에 전달하고(4), 스마트카드는 마찬가지의 과정을 거쳐 단말을 인증한다(5).1 is an example of a mutual authentication method between smart cards / terminals using a conventional common cryptography system. First, when user A requests authentication using a smart card, the terminal generates a random number R1 and delivers it to the smart card ( 1), the smart card receives this and transmits the result of encryption using the key KSA stored in the terminal together with the random number R2 generated by the smart card (2). Then, the terminal encrypts R1 using the user A's private key KSA, and compares it with the result delivered by the smart card, and if it is the same, recognizes it as a smart card of A (3), and then random number R2 delivered by the smart card. It is encrypted by the KSA and delivered to the smart card (4), the smart card authenticates the terminal through the same process (5).

그러나 상기와 같은 관용 암호계를 이용한 사용자인증의 경우 단말기에서 각 사용자의 키를 모두 보관해야 하고 새로운 사용자가 가입했을 경우 모든 단말에 새로운 키를 등록해야 하는 관리상의 어려움 뿐만 아니라 안정성에도 문제가 있었다.However, in the case of the user authentication using the conventional cipher system, all of the user's keys must be stored in the terminal, and when a new user joins, there is a problem in stability as well as administrative difficulties in registering a new key in all the terminals.

최근에는 관용암호계 및 스마트카드를 이용한 사용자인증 시스팀의 구현에 있어 사용자 ID개념을 이용하여 컴퓨터 단말기에서 관리하는 키의 수를 한개로 줄이고 카드와 단말간의 상호인증을 가능하게 하는 스마트카드를 이용한 사용자 인증방법이 제시되었다.Recently, in the implementation of a user authentication system using a conventional encryption system and a smart card, a user using a smart card using a user ID concept reduces the number of keys managed by a computer terminal to one and enables mutual authentication between the card and the terminal. An authentication method is presented.

즉, 종래의 스마트카드를 이용한 인증방법은 카드발급센터에서 임의의 사용자의 인증비밀키를 생성하여 스마트카드에 공개된 정보인 ID와 비밀정보인 패스워드 및 인증비밀키를 담아 발급하고, 스마트카드에 저장된 정보를 이용하여 사용자인증을 수행하는 것이다. 이때, ID, 패스워드 및 인증비밀키를 담아 발급하는 단계는 사용자가 자신이 사용할 ID를 결정하여 패스워드와 함께 카드발급센터에 등록요 청을 하는 단계와, 카드발급센터는 ID를 이용하여 인증비밀키를 연산하는 단계와, 공개된 정보의 ID와 비밀정보의 패스워드 및 인증비밀키를 스마트카드에 담아 발급하는 단계를 포함한다.In other words, the conventional authentication method using a smart card generates an authentication secret key of an arbitrary user in the card issuing center and issues an ID, a secret information, a password and an authentication secret key, which are disclosed to the smart card, User authentication is performed using the stored information. At this time, the step of issuing the ID, password and authentication secret key is a step in which the user determines the ID to be used by the user to request registration with the card issuance center along with the password, and the card issuance center uses the authentication secret key using the ID Comprising a step of issuing, and issuing a smart card containing the ID of the public information and the password and authentication secret of the secret information.

이때, 두 개체 (클라이언트-서버) 간 인증 및 키 교환을 위해서는 클라이언트가 서버로부터 발급받은 스마트카드를 이용하여 이를 수행하게 된다. 이러한 기법으로는 클라이언트와 클라이언트 간의 인증 및 키 교환이 불가능하다. At this time, for authentication and key exchange between two entities (client-server), the client performs this by using a smart card issued from the server. This technique makes it impossible to authenticate and exchange keys between clients.

종래의 키 교환 방법에서는 두 클라이언트가 인증 및 키 교환을 수행하기 위해서 5번의 데이터 교환이 필요하다. 즉, 5라운드가 소요된다. In the conventional key exchange method, five data exchanges are required for two clients to perform authentication and key exchange. That is, five rounds are required.

또한, 종래의 키 교환 방법은 두 개체 (클라이언트-서버) 간 인증 및 키 교환을 위해서는 클라이언트가 서버로부터 발급받은 스마트카드를 이용하여 이를 수행하게 된다. 하지만 이러한 기법으로는 클라이언트와 클라이언트 간의 인증 및 키 교환이 불가능하다. In addition, in the conventional key exchange method, the client performs this by using a smart card issued from the server for authentication and key exchange between two entities (client-server). However, this technique does not allow clients to authenticate and exchange keys.

따라서, 종래의 스마트 카드를 이용한 키 교환 방법은 클라이언트 간의 인증을 위해 많은 횟수의 데이터 교환이 필요하고, 빠른 인증이 불가능하며, 클라이언트 간의 인증 및 키 교환이 용이하지 않은 문제점이 있다.Therefore, the conventional key exchange method using a smart card requires a large number of data exchanges for authentication between clients, fast authentication is not possible, and authentication and key exchange between clients are not easy.

따라서, 본 발명이 이루고자 하는 첫번째 기술적 과제는 클라이언트-클라이언트 간 인증 및 키 교환을 가능하게 하고, 서버가 클라이언트들 간에 교환된 세션 키 정보를 알 수 없도록 하여 보안성을 향상시킬 수 있으며, 키 교환을 위한 데이터의 교환 횟수를 3번 이하로 제한할 수 있고, 스마트 카드를 이용하면서도 고속의 인증이 가능한 스마트 카드를 이용한 삼자간 키 교환 방법을 제공하는 데 있다.Accordingly, the first technical problem to be achieved by the present invention is to enable client-client authentication and key exchange, improve server security by preventing the server from knowing session key information exchanged between clients, and improve key exchange. It is possible to limit the number of data exchanges for three times or less, and to provide a three-way key exchange method using a smart card capable of high-speed authentication while using a smart card.

본 발명이 이루고자 하는 두번째 기술적 과제는 상기의 스마트 카드를 이용한 삼자간 키 교환 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.It is a second object of the present invention to provide a computer-readable recording medium having recorded thereon a program for executing a three-way key exchange method using the smart card on a computer.

본 발명이 이루고자 하는 세번째 기술적 과제는 상기의 스마트 카드를 이용한 삼자간 키 교환 방법이 적용된 스마트 카드를 이용한 삼자간 키 교환 시스템을 제공하는 데 있다.The third technical problem to be achieved by the present invention is to provide a three-way key exchange system using a smart card to which the three-way key exchange method using the smart card is applied.

상기의 첫번째 기술적 과제를 이루기 위하여, 본 발명은 서버, 상기 서버로부터 스마트 카드를 발급받은 소스 클라이언트 및 타겟 클라이언트를 포함하는 시스템의 키 교환 방법에 있어서, 상기 소스 클라이언트의 스마트카드에서 임의의 난수인 제1난수 및 제2난수를 선택한 후, 상기 제2난수를 포함하는 암호문을 상기 서버에 전송하고, 상기 제1난수를 포함하는 암호문을 상기 타겟 클라이언트에 전송하는 단계, 상기 서버에서 상기 타겟 클라이언트에 상기 제2난수를 포함하는 암호문을 전송하는 단계, 상기 타겟 클라이언트의 스마트 카드에서 임의의 난수인 제3난수 및 제4난수를 선택한 후, 상기 제2난수를 포함하는 암호문을 복호화하여 제2난수를 산출하고, 상기 제2난수 및 제4난수를 이용하여 세션키를 연산하고, 상기 제3난수 및 제4난수를 포함하는 암호문을 상기 소스 클라이언트에 전송하는 단계 및 상기 소스 클라이언트의 스마트카드에서 상기 제3난수 및 제4난수를 포함하는 암호문을 복호화하고, 상기 제2난수 및 상기 제4난수를 이용한 세션키를 연산하여 세션 키를 공유하는 단계를 포함하는 스마트 카드를 이용한 삼자간 키 교환 방법을 제공한다.In order to achieve the first technical problem, the present invention provides a key exchange method of a system including a server, a source client issued with a smart card from the server, and a target client, wherein the random card is a random number in the smart card of the source client. Selecting a first random number and a second random number, transmitting a cipher text including the second random number to the server, and transmitting a cipher text including the first random number to the target client, wherein the server sends the cipher text including the first random number to the target client. Transmitting a cipher text including a second random number, selecting a third random number and a fourth random number which are random numbers in the smart card of the target client, and then deciphering the cipher text including the second random number to calculate a second random number Compute a session key using the second random number and the fourth random number, and include the third random number and the fourth random number. Transmitting a cipher text to the source client and decrypting the cipher text including the third random number and the fourth random number in the smart card of the source client, and calculating a session key using the second random number and the fourth random number. Provided is a three-way key exchange method using a smart card, including sharing a session key.

상기의 두번째 기술적 과제를 이루기 위하여, 본 발명은 상기의 스마트 카드를 이용한 삼자간 키 교환 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In order to achieve the second technical problem, the present invention provides a computer-readable recording medium having recorded thereon a program for executing the three-way key exchange method using the smart card on a computer.

상기의 세번째 기술적 과제를 이루기 위하여, 본 발명은 타겟 클라이언트, 상기 타겟 클라이언트와 인증하려는 소스 클라이언트 및 상기 소스 클라이언트 및 타겟 클라이언트에 각각 제1 스마트 카드 및 제2 스마트 카드를 발급하는 서버를 포함하는 시스템에 있어서, 상기 소스 클라이언트는 임의의 난수인 제1난수 및 제2난수를 선택하고, 상기 제2난수를 포함하는 암호문 및 상기 제1난수를 포함하는 암호문을 생성하며, 상기 타겟 클라이언트에서 선택된 제3난수 및 제4난수를 포함하는 암호문을 복호화하고, 상기 제2난수 및 상기 제4난수를 이용한 세션키를 연산하여 세션키를 공유하는 제1 스마트 카드 및 상기 제2난수를 포함하는 암호문을 상기 서버에 전송하고, 상기 제1난수를 포함하는 암호문을 상기 타겟 클라이언트에 전송하는 소스 암호문 전송부를 포함하고, 상기 타겟 클라이언트는 상기 제2난수를 포함하는 암호문을 복호화하여 제2난수를 산출하고, 임의의 난수인 제3난수 및 제4난수를 선택하며, 상기 제2난수 및 제4난수를 이용하여 세션키를 연산하고, 상기 제3난수 및 제4난수를 포함하는 암호문을 생성하는 제2 스마트 카드 및 상기 제3난수 및 제4난수를 포함하는 암호문을 상기 소스 클라이언트에 전송하는 타겟 암호문 전송부를 포함하고, 상기 서버는 상기 타겟 클라이언트에 상기 제2난수를 포함하는 암호문을 전송하는 서버 암호문 중계부를 포함하는 스마트 카드를 이용한 삼자간 키 교환 시스템을 제공한다.In order to achieve the third technical problem, the present invention provides a system including a target client, a source client to authenticate with the target client, and a server for issuing a first smart card and a second smart card to the source client and the target client, respectively. Wherein the source client selects a random random first and second random numbers, generates a cipher text including the second random number and a cipher text including the first random number, and selects a third random number selected by the target client. And decrypting a cipher text including a fourth random number, computing a session key using the second random number and the fourth random number, and sharing a session key with the first smart card and the second random number. And transmit a cipher text including the first random number to the target client. And a target, the target client decrypts a cipher text including the second random number to calculate a second random number, selects a third random number and a fourth random number which are random numbers, and selects the second random number and the fourth random number. A target cipher text is transmitted using a second smart card for calculating a session key using the session key and generating a cipher text including the third random number and the fourth random number, and a cipher text including the third random number and the fourth random number to the source client. And a server, wherein the server provides a three-way key exchange system using a smart card including a server ciphertext relay that transmits a ciphertext including the second random number to the target client.

본 발명은 스마트카드를 소지한 두 개체 (클라이언트-클라이언트)가 스마트카드 발급자인 서버의 도움으로 간접적으로 상호 인증하고, 암호학적으로 안전한 세션 키를 교환할 수 있는 방법에 관한 것이다.The present invention relates to a method in which two entities carrying a smart card (client-client) indirectly mutually authenticate with the help of a server that is a smart card issuer and exchange a cryptographically secure session key.

본 발명은 클라이언트-클라이언트 간 인증 및 키 교환을 위한 기술제안을 목적으로 한다. 본 발명은 서버가 클라이언트들 간에 교환된 세션 키 정보를 알 수 없도록 한다. 본 발명은 데이터의 교환 횟수를 3번 이하로 제한하는 것을 목적으로 한다.An object of the present invention is to provide a technical proposal for client-client authentication and key exchange. The present invention prevents the server from knowing the session key information exchanged between clients. An object of the present invention is to limit the number of times of data exchange to three or less.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다.Hereinafter, with reference to the drawings will be described a preferred embodiment of the present invention. However, embodiments of the present invention illustrated below may be modified in many different forms, and the scope of the present invention is not limited to the embodiments described below.

도 2는 본 발명의 일 실시 예에 따른 스마트 카드를 이용한 삼자간 키 교환 시스템의 블럭도이다.2 is a block diagram of a three-party key exchange system using a smart card according to an embodiment of the present invention.

이하에서, 키 교환을 시도하려는 능동적인 클라이언트를 소스 클라이언트, 키 교환의 대상이 되는 수동적인 클라이언트를 타겟 클라이언트로 정의한다. 또한, 제1 스마트 카드는 소스 클라이언트의 스마트 카드를 의미하고, 제2 스마트 카드는 타겟 클라이언트의 스마트 카드를 의미한다.In the following description, an active client attempting a key exchange is defined as a source client and a passive client that is a target of a key exchange as a target client. In addition, the first smart card means a smart card of the source client, and the second smart card means a smart card of the target client.

서버(200)는 데이터베이스(201) 및 서버 암호문 중계부(202)를 포함한다.The server 200 includes a database 201 and a server cipher text relay 202.

데이터베이스(201)는 제1검증자 및 제2검증자를 저장한다.The database 201 stores a first verifier and a second verifier.

서버 암호문 중계부(202)는 타겟 클라이언트(220)에 제2난수를 포함하는 암호문을 전송한다.The server ciphertext relay unit 202 transmits the ciphertext including the second random number to the target client 220.

이때, 제1 스마트 카드(211)는 소스 클라이언트(210)의 아이디 및 서버(200)의 마스터키를 해쉬함수에 적용한 제1검증자를 저장하고, 제2 스마트 카드(221)는 타겟 클라이언트(220)의 아이디 및 서버(200)의 마스터키를 해쉬함수에 적용한 제2검증자를 저장할 수 있다.In this case, the first smart card 211 stores the first verifier applying the ID of the source client 210 and the master key of the server 200 to the hash function, and the second smart card 221 stores the target client 220. The ID and the master of the server 200 may store the second verifier applied to the hash function.

바람직하게는, 서버 암호문 중계부(202)는 데이터베이스(201)에 저장된 제1검증자를 이용하여 제2난수를 포함하는 암호문을 복호화하여 소스 클라이언트(210)의 아이디 및 타겟 클라이언트(220)의 아이디를 산출할 수 있다. 이때, 서버 암호문 중계부(202)는 제2검증자로 제2난수를 암호화한 암호문을 타겟 클라이언트(220)에 전송하여 암호문을 중계할 수 있다.Preferably, the server cipher text relay unit 202 decrypts the cipher text including the second random number using the first verifier stored in the database 201 to obtain the ID of the source client 210 and the ID of the target client 220. Can be calculated. At this time, the server cipher text relay unit 202 may transmit the cipher text encrypted with the second random number as the second verifier to the target client 220 to relay the cipher text.

소스 클라이언트(210)는 제1 스마트 카드(211), 스마트 카드 리더기(212) 및 소스 암호문 전송부(213)을 포함한다.The source client 210 includes a first smart card 211, a smart card reader 212, and a source cipher text transmission unit 213.

제1 스마트 카드(211)는 서버(200)에 의해 발급되고, 인증 및 키 교환을 위해 스마트 카드 리더기(212)에 삽입된다. The first smart card 211 is issued by the server 200 and inserted into the smart card reader 212 for authentication and key exchange.

제1 스마트 카드(211)는 임의의 난수인 제1난수 및 제2난수를 선택하고, 제2난수를 포함하는 암호문 및 제1난수를 포함하는 암호문을 생성한다. 또한, 제1 스마트 카드(211)는 타겟 클라이언트(220)에서 선택된 제3난수 및 제4난수를 포함하는 암호문을 복호화하고, 제2난수 및 제4난수를 이용한 세션키를 연산하여 세션키를 공유한다.The first smart card 211 selects a random random number of the first random number and the second random number, and generates a cipher text including the second random number and a cipher text including the first random number. In addition, the first smart card 211 decrypts the cipher text including the third random number and the fourth random number selected by the target client 220, and calculates a session key using the second random number and the fourth random number to share the session key. do.

스마트 카드 리더기(212)는 제1 스마트카드에 저장된 정보를 독출한다.The smart card reader 212 reads the information stored in the first smart card.

소스 암호문 전송부(213)는 제2난수를 포함하는 암호문을 서버(200)에 전송하고, 제1난수를 포함하는 암호문을 타겟 클라이언트(220)에 전송한다.The source cipher text transmission unit 213 transmits the cipher text including the second random number to the server 200, and transmits the cipher text including the first random number to the target client 220.

타겟 클라이언트(220)는 제2 스마트 카드(221), 스마트 카드 리더기(222) 및 타겟 암호문 전송부(223)을 포함한다.The target client 220 includes a second smart card 221, a smart card reader 222, and a target cipher text transmission unit 223.

제2 스마트 카드(221)는 서버(200)에 의해 발급되고, 인증 및 키 교환을 위해 스마트 카드 리더기(222)에 삽입된다. The second smart card 221 is issued by the server 200 and inserted into the smart card reader 222 for authentication and key exchange.

제2 스마트 카드(221)는 제2난수를 포함하는 암호문을 복호화하여 제2난수를 산출한다. 또한, 제2 스마트 카드(221)는 임의의 난수인 제3난수 및 제4난수를 선택하며, 제2난수 및 제4난수를 이용하여 세션키를 연산한다. 또한, 제2 스마트 카드(221)는 제3난수 및 제4난수를 포함하는 암호문을 생성한다.The second smart card 221 calculates a second random number by decrypting a cipher text including the second random number. In addition, the second smart card 221 selects a third random number and a fourth random number which are random numbers, and calculates a session key using the second random number and the fourth random number. In addition, the second smart card 221 generates a cipher text including a third random number and a fourth random number.

스마트 카드 리더기(222)는 제2 스마트카드에 저장된 정보를 독출한다.The smart card reader 222 reads out information stored in the second smart card.

타겟 암호문 전송부(223)는 제3난수 및 제4난수를 포함하는 암호문을 소스 클라이언트(210)에 전송한다.The target cipher text transmission unit 223 transmits the cipher text including the third random number and the fourth random number to the source client 210.

도 3은 본 발명의 다른 실시 예에 따른 스마트 카드를 이용한 삼자간 키 교환 방법의 흐름도이다.3 is a flowchart illustrating a three-party key exchange method using a smart card according to another embodiment of the present invention.

먼저, 소스 클라이언트의 스마트카드에서 임의의 난수인 제1난수 및 제2난수를 선택한 후, 제2난수를 포함하는 암호문을 서버에 전송하고, 제1난수를 포함하는 암호문을 타겟 클라이언트에 전송한다(310 과정). 이때, 제1난수를 포함하는 암호문은 소스 클라이언트의 아이디를 포함하고, 제2난수를 포함하는 암호문은 소스 클 라이언트의 아이디, 타겟 클라이언트의 아이디를 포함할 수 있다.First, after selecting a random number of the first random number and the second random number in the smart card of the source client, and transmits the cipher text including the second random number to the server, and transmits the cipher text including the first random number to the target client ( 310 courses). At this time, the cipher text including the first random number may include the ID of the source client, and the cipher text including the second random number may include the ID of the source client and the ID of the target client.

다음, 서버에서 타겟 클라이언트에 제2난수를 포함하는 암호문을 전송한다(320 과정). 이때, 서버는 제2난수를 포함하는 암호문에 존재하는 클라이언트의 아이디 즉, 타겟 클라이언트의 아이디에 따라 암호문을 전송해줄 클라이언트를 선택한다.Next, the server transmits the cipher text including the second random number to the target client (step 320). In this case, the server selects a client to transmit the cipher text according to the ID of the client existing in the cipher text including the second random number, that is, the ID of the target client.

제2난수를 포함하는 암호문이 타겟 클라이언트에 전달되면, 타겟 클라이언트의 스마트 카드에서 임의의 난수인 제3난수 및 제4난수를 선택한 후, 제2난수를 포함하는 암호문을 복호화하여 제2난수를 산출하고, 제2난수 및 제4난수를 이용하여 세션키를 연산한다(330 과정).When the cipher text including the second random number is delivered to the target client, the third random number and the fourth random number, which are random numbers, are selected in the smart card of the target client, and then the second random number is calculated by decrypting the cipher text including the second random number. In operation 330, a session key is calculated using the second and fourth random numbers.

세션키가 연산되면, 제3난수 및 제4난수를 포함하는 암호문을 소스 클라이언트에 전송한다(340 과정).When the session key is calculated, the cipher text including the third random number and the fourth random number is transmitted to the source client (step 340).

마지막으로, 소스 클라이언트의 스마트카드에서 제3난수 및 제4난수를 포함하는 암호문을 복호화하고, 제2난수 및 제4난수를 이용한 세션키를 연산하여 세션키를 공유한다(350 과정).Finally, the ciphertext including the third random number and the fourth random number is decrypted by the smart card of the source client, and the session key is shared by calculating the session key using the second random number and the fourth random number (step 350).

도 4는 본 발명의 또다른 실시 예에 따른 스마트 카드를 이용한 삼자간 키 교환 방법의 흐름도이다.4 is a flowchart illustrating a three-party key exchange method using a smart card according to another embodiment of the present invention.

먼저, 소스 클라이언트의 스마트카드에서 임의의 난수인 제1난수 및 제2난수를 선택한 후, 제2난수를 포함하는 암호문을 서버에 전송하고, 제1난수를 포함하는 암호문을 타겟 클라이언트에 전송한다(410 과정). 이때, 제1난수를 포함하는 암호문은 소스 클라이언트의 아이디를 포함하고, 제2난수를 포함하는 암호문은 소스 클 라이언트의 아이디, 타겟 클라이언트의 아이디를 포함할 수 있다.First, after selecting a random number of the first random number and the second random number in the smart card of the source client, and transmits the cipher text including the second random number to the server, and transmits the cipher text including the first random number to the target client ( 410 courses). At this time, the cipher text including the first random number may include the ID of the source client, and the cipher text including the second random number may include the ID of the source client and the ID of the target client.

다음, 서버에서 타겟 클라이언트에 제2난수를 포함하는 암호문을 전송한다(420 과정). 이때, 서버는 제2난수를 포함하는 암호문에 존재하는 클라이언트의 아이디 즉, 타겟 클라이언트의 아이디에 따라 암호문을 전송해줄 클라이언트를 선택한다.Next, the server transmits the cipher text including the second random number to the target client (step 420). In this case, the server selects a client to transmit the cipher text according to the ID of the client existing in the cipher text including the second random number, that is, the ID of the target client.

제2난수를 포함하는 암호문이 타겟 클라이언트에 전달되면, 타겟 클라이언트의 스마트 카드에서 임의의 난수인 제3난수 및 제4난수를 선택한 후, 제2난수를 포함하는 암호문을 복호화하여 제2난수를 산출하고, 제2난수 및 제4난수를 이용하여 세션키를 연산한다(430 과정).When the cipher text including the second random number is delivered to the target client, the third random number and the fourth random number, which are random numbers, are selected in the smart card of the target client, and then the second random number is calculated by decrypting the cipher text including the second random number. The session key is calculated using the second random number and the fourth random number (step 430).

세션키가 연산되면, 제3난수 및 제4난수를 포함하는 암호문을 소스 클라이언트에 전송한다(440 과정). 이때, 제3난수 및 제4난수를 포함하는 암호문은 타겟 클라이언트에서 연산된 세션키로 제1난수를 암호화한 암호문을 포함한다.When the session key is calculated, the cipher text including the third random number and the fourth random number is transmitted to the source client (step 440). At this time, the cipher text including the third random number and the fourth random number includes a cipher text obtained by encrypting the first random number using a session key calculated by the target client.

다음, 소스 클라이언트에서 연산된 세션키로 제1난수를 암호화한 암호문을 복호화한 결과가 제1난수와 일치하지 않으면(445 과정), 타겟 클라이언트와의 프로토콜을 종료한다.Next, if a result of decrypting the ciphertext that encrypts the first random number using the session key calculated by the source client does not match the first random number (step 445), the protocol with the target client is terminated.

제1난수를 암호화한 암호문을 복호화한 결과가 제1난수와 일치하면, 소스 클라이언트의 스마트카드에서 제3난수 및 제4난수를 포함하는 암호문을 복호화하고, 제2난수 및 제4난수를 이용한 세션키를 연산한다(450 과정).If the result of decrypting the cipher text that encrypts the first random number matches the first random number, the smart card of the source client decrypts the cipher text including the third random number and the fourth random number, and the session uses the second random number and the fourth random number. Compute the key (step 450).

다음, 소스 클라이언트에서 제3난수 및 제4난수를 포함하는 암호문을 복호화하여 산출된 제3난수를 소스 클라이언트에서 연산된 세션키로 암호화한 암호문을 타겟 클라이언트에 전송한다(460 과정).In operation 460, the ciphertext obtained by decrypting the ciphertext including the third random number and the fourth random number by the source client is encrypted using the session key calculated by the source client to the target client.

마지막으로, 제3난수를 암호화한 암호문을 타겟 클라이언트에서 연산된 세션키로 복호화한 결과가 제3난수와 일치하지 않으면(465 과정), 타겟 클라이언트에서 연산된 세션키를 삭제한다(469 과정). 이때, 암호문을 타겟 클라이언트에서 연산된 세션키로 복호화한 결과가 제3난수와 일치하면, 소스 클라이언트 및 타겟 클라이언트에서 연산된 세션키가 동일한 것으로 판단하고, 소스 클라이언트 및 타겟 클라이언트가 비밀통신을 수행할 수 있다.Finally, if the result of decrypting the ciphertext encrypted with the third random number with the session key calculated by the target client does not match the third random number (step 465), the session key calculated by the target client is deleted (step 469). At this time, if the result of decrypting the ciphertext with the session key calculated at the target client is identical to the third random number, it is determined that the session key calculated at the source client and the target client is the same, and the source client and the target client may perform secret communication. have.

도 5는 본 발명의 또다른 실시 예에 따른 스마트 카드를 이용한 삼자간 키 교환 방법의 흐름도이다.5 is a flowchart illustrating a three-party key exchange method using a smart card according to another embodiment of the present invention.

먼저, 소스 클라이언트 및 타겟 클라이언트가 각각의 패스워드를 서버에 등록한다.First, the source client and the target client register their respective passwords with the server.

다음, 서버는 패스워드를 등록한 클라이언트들에게 스마트카드를 발급한다(501 과정). 이때, 소스 클라이언트는 서버로부터 소스 클라이언트의 아이디 및 서버의 마스터키를 해쉬함수에 적용한 제1검증자가 저장된 스마트 카드를 발급받고, 타켓 클라이언트는 서버로부터 타겟 클라이언트의 아이디 및 서버의 마스터키를 해쉬함수에 적용한 제2검증자가 저장된 스마트 카드를 발급받는다.Next, the server issues a smart card to the registered clients of the password (step 501). At this time, the source client receives a smart card stored with the first verifier applying the ID of the source client and the master key of the server to the hash function from the server, and the target client receives the ID of the target client and the master key of the server from the server. The applied second verifier receives a stored smart card.

다음, 인증을 수행하고자 하는 클라이언트 즉, 소스 클라이언트에 패스워드가 입력되면, 입력된 패스워드를 이용하여 연산된 검증자가 제1검증자와 일치하는지 판단한다(502 과정).Next, if a password is input to the client to be authenticated, that is, the source client, it is determined whether the verifier calculated using the input password matches the first verifier (step 502).

이때, 입력된 패스워드를 이용하여 연산된 검증자가 제1검증자와 일치하면, 소스 클라이언트의 스마트카드에서 임의의 난수인 제1난수 및 제2난수를 선택한 후, 제2난수를 포함하는 암호문을 서버에 전송하고, 제1난수를 포함하는 암호문을 타겟 클라이언트에 전송한다(510 과정). 이때, 입력된 패스워드를 이용하여 연산된 검증자가 제1검증자와 일치하지 않으면, 모든 절차를 종료한다.At this time, if the validator calculated using the input password matches the first validator, the random text first random number and the second random number are selected in the smart card of the source client, and the server encrypts the cipher text including the second random number. In operation 510, the ciphertext including the first random number is transmitted to the target client. At this time, if the verifier calculated using the input password does not match the first verifier, all procedures are terminated.

다음, 서버에서 타겟 클라이언트에 제2난수를 포함하는 암호문을 전송한다(520 과정). Next, the server transmits the cipher text including the second random number to the target client (S520).

제2난수를 포함하는 암호문이 타겟 클라이언트에 전달되면, 타겟 클라이언트의 스마트 카드에서 임의의 난수인 제3난수 및 제4난수를 선택한 후, 제2난수를 포함하는 암호문을 복호화하여 제2난수를 산출하고, 제2난수 및 제4난수를 이용하여 세션키를 연산한다(530 과정).When the cipher text including the second random number is delivered to the target client, the third random number and the fourth random number, which are random numbers, are selected in the smart card of the target client, and then the second random number is calculated by decrypting the cipher text including the second random number. In operation 530, the session key is calculated using the second and fourth random numbers.

세션키가 연산되면, 제3난수 및 제4난수를 포함하는 암호문을 소스 클라이언트에 전송한다(540 과정).When the session key is calculated, the cipher text including the third random number and the fourth random number is transmitted to the source client (S540).

마지막으로, 소스 클라이언트의 스마트카드에서 제3난수 및 제4난수를 포함하는 암호문을 복호화하고, 제2난수 및 제4난수를 이용한 세션키를 연산하여 세션키를 공유한다(550 과정).Finally, the ciphertext including the third random number and the fourth random number is decrypted in the smart card of the source client, and the session key is shared using the second random number and the fourth random number (step 550).

도 6은 도 3에서 암호문 중계 과정(320 과정)의 상세 흐름도이다.FIG. 6 is a detailed flowchart of a ciphertext relay process 320 in FIG. 3.

먼저, 서버에서 제1검증자를 이용하여 제2난수를 포함하는 암호문을 복호화하여 제2난수, 소스 클라이언트의 아이디 및 타겟 클라이언트의 아이디를 산출한다(621 과정). First, the server decrypts the cipher text including the second random number using the first verifier to calculate the second random number, the ID of the source client, and the ID of the target client (step 621).

다음, 서버에서 제2검증자로 제2난수를 암호화한 암호문을 생성한다(622 과 정).Next, the server generates a cipher text encrypting the second random number as the second verifier (622).

마지막으로, 제2난수를 암호화한 암호문을 타겟 클라이언트에 전송한다(623 과정). 타겟 클라이언트의 스마트카드에는 제2검증자가 저장되어 있으므로, 서버로부터 정상적으로 스마트카드를 발급받은 타겟 클라이언트는 제2검증자로 제2난수를 암호화한 암호문을 복호화할 수 있다.Finally, the ciphertext encrypting the second random number is transmitted to the target client (step 623). Since the second verifier is stored in the smart card of the target client, the target client which has normally issued the smart card from the server may decrypt the cipher text that encrypts the second random number with the second verifier.

도 7은 도 4의 과정을 각 라운드별로 도시한 것이다.7 illustrates the process of FIG. 4 for each round.

이하에서, A, B는 클라이언트들의 아이디, S는 서버의 아이디를 나타낸다.

Figure 112007004622049-PAT00001
는 클라이언트 A의 패스워드이다. 또한, SE=(K,E,D)는 대칭키 암호알고리즘이고, ASE=(PK,PE,PD)는 공개키 암호알고리즘. K(PK)는 키 생성 알고리즘이고, E(PE)는 암호화 알고리즘, D(PD)는 복호화 알고리즘이다. H는 암호학적으로 안전한 일방향 해쉬함수이다. Hereinafter, A and B represent IDs of clients and S represents IDs of servers.
Figure 112007004622049-PAT00001
Is the password for client A. Also, SE = (K, E, D) is a symmetric key cryptographic algorithm, and ASE = (PK, PE, PD) is a public key cryptographic algorithm. K (PK) is a key generation algorithm, E (PE) is an encryption algorithm, and D (PD) is a decryption algorithm. H is a cryptographically secure one-way hash function.

또한, 상술한 제1검증자 및 제2검증자는 각각

Figure 112007004622049-PAT00002
에 대응된다. 또한, 제1난수, 제2난수, 제3난수 및 제4난수는 각각
Figure 112007004622049-PAT00003
에 대응된다.In addition, the first and second verifiers described above
Figure 112007004622049-PAT00002
Corresponds to. In addition, the first random number, the second random number, the third random number and the fourth random number are respectively
Figure 112007004622049-PAT00003
Corresponds to.

도 7에 도시된 과정을 수행하기 이전에 다음과 같은 등록 단계를 선행할 수 있다.Before performing the process illustrated in FIG. 7, the following registration step may be performed.

즉, 클라이언트 A가 서버 S로부터 스마트카드를 발급받을 때, 자신의 패스워드를 등록한다. 서버는

Figure 112007004622049-PAT00004
그리고
Figure 112007004622049-PAT00005
를 연산 후, 스마트카드에
Figure 112007004622049-PAT00006
와 키 생성에 필요한 알고리즘들 (SE,ASE,H) 을 저장하여 이것을 A에게 발급한다. 여기서 xs는 서버의 마스터 키 값이다. That is, when the client A is issued a smart card from the server S, it registers its own password. The server
Figure 112007004622049-PAT00004
And
Figure 112007004622049-PAT00005
To the smart card
Figure 112007004622049-PAT00006
And algorithms (SE, ASE, H) necessary for key generation are stored and issued to A. Where xs is the server's master key value.

도 7에 도시된 과정을 수행하기 이전에 다음과 같은 인증 단계를 선행할 수 있다.Before performing the process illustrated in FIG. 7, the following authentication step may be performed.

클라이언트 A가 클라이언트 B와 세션 키를 교환하고자 할 경우, A는 자신의 스마트카드를 카드리더기에 삽입 후, 스마트카드 발급 시에 등록했던 패스워드를 입력한다. 입력한 패스워드를

Figure 112007004622049-PAT00007
라 하자. 이때, 스마트카드 리더기를 스마트카드가 탑재된 모바일 기기로 생각할 수 있다.When the client A wants to exchange a session key with the client B, A inserts his smart card into the card reader and inputs the password registered at the time of issuing the smart card. Entered password
Figure 112007004622049-PAT00007
Let's do it. In this case, the smart card reader may be regarded as a mobile device equipped with a smart card.

스마트카드는 클라이언트가 입력한 패스워드 정보가 일치하는지 확인하기 위해,

Figure 112007004622049-PAT00008
그리고
Figure 112007004622049-PAT00009
를 연산한다. 그리고
Figure 112007004622049-PAT00010
인지 확인한다. 만약 두 값이 일치하지 않으면 동작을 멈춘다. 만약 이 단계를 통과하면 키 교환을 수행한다.The smart card checks whether the password information entered by the client matches.
Figure 112007004622049-PAT00008
And
Figure 112007004622049-PAT00009
Calculate And
Figure 112007004622049-PAT00010
Check if it is. If the two values do not match, the operation stops. If this step passes, the key exchange is performed.

라운드 1에서, 클라이언트 A의 스마트카드는 임의의 난수

Figure 112007004622049-PAT00011
를 선택한다. 그리고 일회용 공개키/비밀키 쌍 (y,x)를 선택한다. A는 S에게
Figure 112007004622049-PAT00012
를 그리고 B에게
Figure 112007004622049-PAT00013
값들을 전송한다.In round 1, client A's smart card is random
Figure 112007004622049-PAT00011
Select. And select the disposable public / private key pair (y, x). A is S
Figure 112007004622049-PAT00012
And to B
Figure 112007004622049-PAT00013
Send the values.

라운드 2에서, S는

Figure 112007004622049-PAT00014
를 연산 후에 A에게서 받은 암호문
Figure 112007004622049-PAT00015
을 복호화 한다. 그 복호한 결과에
Figure 112007004622049-PAT00016
가 포함되어 있는지 확인한다. 그리고
Figure 112007004622049-PAT00017
를 연산한 후,
Figure 112007004622049-PAT00018
를 B에게 전송한다. In round two, S
Figure 112007004622049-PAT00014
Ciphertext received from A after
Figure 112007004622049-PAT00015
Decrypt On the decrypted result
Figure 112007004622049-PAT00016
Make sure it is included. And
Figure 112007004622049-PAT00017
After computing
Figure 112007004622049-PAT00018
To B.

한편, B의 스마트카드는 임의의 난수

Figure 112007004622049-PAT00019
를 선택 후,
Figure 112007004622049-PAT00020
를 복호화하여
Figure 112007004622049-PAT00021
값을 얻는다. 그리고 세션키 값
Figure 112007004622049-PAT00022
을 연산한 후,
Figure 112007004622049-PAT00023
를 A에게 전송한다.On the other hand, B's smart card is a random number
Figure 112007004622049-PAT00019
After selecting
Figure 112007004622049-PAT00020
By decrypting
Figure 112007004622049-PAT00021
Get the value. And the session key value
Figure 112007004622049-PAT00022
After computing
Figure 112007004622049-PAT00023
Is sent to A.

라운드 3에서, A의 스마트카드는

Figure 112007004622049-PAT00024
인지를 확인한다. 만약 두 값이 같지 않으면 프로토콜을 종료한다. 만약 두 값이 일치하면 A는 B와 동일한 세션 키를 공유했다는 것을 확인할 수 있다. 라운드 3에서, A의 스마트카드는
Figure 112007004622049-PAT00025
를 복호하여
Figure 112007004622049-PAT00026
를 얻는다. 그리고 세션 키
Figure 112007004622049-PAT00027
를 연산한다. A는
Figure 112007004622049-PAT00028
를 B에게 전송한다. B는
Figure 112007004622049-PAT00029
가 일치하는지 확인한다. 만약 두 값이 일치하면 B는 A와 동일한 세션 키를 공유했다는 것을 확인할 수 있다. 만약 두 값이 일치하지 않으면, B의 스마트카드는 세션 키 sk를 사용하지 않고 삭제한다.In round three, A's smart card
Figure 112007004622049-PAT00024
Check if it is. If the two values are not the same, the protocol is terminated. If the two values match, we can see that A shared the same session key as B. In round three, A's smart card
Figure 112007004622049-PAT00025
To decrypt
Figure 112007004622049-PAT00026
Get And session key
Figure 112007004622049-PAT00027
Calculate A is
Figure 112007004622049-PAT00028
To B. B is
Figure 112007004622049-PAT00029
To see if it matches. If the two values match, we can see that B shared the same session key as A. If the two do not match, the smart card in B is deleted without using the session key sk.

한편, 클라이언트 A가 스마트카드에 접근하기 위해 사용하는 패스워드를 변경하고 싶을 경우, A는 스마트카드를 스마트 카드리더기에 삽입 후, 이전 패스워드

Figure 112007004622049-PAT00030
와 새로 바꾸고자하는 패스워드
Figure 112007004622049-PAT00031
를 입력한다. 스마트카드는 입력된
Figure 112007004622049-PAT00032
를 이용하여
Figure 112007004622049-PAT00033
를 연산한 후,
Figure 112007004622049-PAT00034
를 연산한다. 그리고
Figure 112007004622049-PAT00035
인지를 확인한다. 만약 두 값이 일치하지 않으면, 패스워드 변경요청을 거절한다. On the other hand, if the client A wants to change the password used to access the smart card, A inserts the smart card into the smart card reader and then transfers the old password.
Figure 112007004622049-PAT00030
And password you want to change
Figure 112007004622049-PAT00031
Enter. Smart card is input
Figure 112007004622049-PAT00032
Using
Figure 112007004622049-PAT00033
After computing
Figure 112007004622049-PAT00034
Calculate And
Figure 112007004622049-PAT00035
Check if it is. If the two values do not match, the password change request is rejected.

만약 두 값이 일치하면,

Figure 112007004622049-PAT00036
Figure 112007004622049-PAT00037
를 연산 후에 스마트카드 내에 저장된
Figure 112007004622049-PAT00038
값을
Figure 112007004622049-PAT00039
값으로 교체한다.If the two values match,
Figure 112007004622049-PAT00036
Wow
Figure 112007004622049-PAT00037
Stored in the smart card after
Figure 112007004622049-PAT00038
Value
Figure 112007004622049-PAT00039
Replace with a value.

본 발명에서 사용자가 스마트카드를 사용할 권한이 있는지에 대한 여부를 확인하기 위해 사용자는 패스워드 정보를 입력하게끔 되어 있다. 이 단계를 통과한 사용자들인 경우에 키 교환 단계를 수행할 수 있다.In the present invention, in order to check whether the user has the authority to use the smart card, the user is to input the password information. For users who have passed this step, the key exchange step can be performed.

인증 및 키 교환 단계에서 각 클라이언트는 자신이 소유하고 있는 스마트카드를 이용해서 공통된 세션 키를 교환할 수 있다. 스마트카드 내에는 클라이언트만의 비밀 값들이 저장되어 있고, 각 클라이언트는 이 값을 이용하여 세션 키를 공유하게 된다. 이때, 두 클라이언트 간에는 공통적인 비밀 값이 없기 때문에, 각 클라이언트들의 비밀 값들을 모두 알고 있는 서버가 중간에서 키 교환을 도와주는 매개체 역할을 하게 된다.In the authentication and key exchange phase, each client can exchange a common session key using its own smart card. In the smart card, client-specific secret values are stored, and each client uses this value to share the session key. At this time, since there is no secret value in common between the two clients, a server that knows all the secret values of each client serves as an intermediary to assist key exchange in the middle.

이에 따라, 본 발명은 클라이언트-클라이언트 간 인증 및 키 교환을 가능하게 한다.Accordingly, the present invention enables client-client authentication and key exchange.

한편, 서버는 마스터 키 값을 알고 있는 개체이므로, 서버를 신뢰기관이라 가정한다. 비록 두 클라이언트간의 인증 및 키 교환을 위해 신뢰된 제 3기관 (서버)이 중간에 매개자의 역할을 하지만, 두 클라이언트 간에 교환되는 데이터를 보고는 세션 키에 대한 정보를 알 수 없도록 한다. 이것은 서버에 대한 신뢰 의존도를 낮출 수 있도록 한다. 본 발명에서 서버는 클라이언트 A가 선택한 임의의 난수 rA를 알 수는 있지만 A의 일회용 공개키 yA에 대응되는 비밀키 xA를 알 수 없기 때 문에 암호문 PEy(rB) 로부터 B가 선택한 임의의 난수 rB를 알 수 없다. 결과적으로 세션키

Figure 112007004622049-PAT00040
에 대한 정보를 얻을 수 없다.On the other hand, since the server knows the master key value, it is assumed that the server is a trust authority. Although a trusted third party (server) acts as an intermediary for the authentication and key exchange between the two clients, viewing the data exchanged between the two clients makes it impossible to know the information about the session key. This makes it possible to lower the trust dependency on the server. In the present invention, the server knows the random number rA selected by the client A, but does not know the secret key xA corresponding to the disposable public key yA of A, so that the random number rB selected from the ciphertext PEy (rB) Not known. Consequently the session key
Figure 112007004622049-PAT00040
Can't get information about

이에 따라, 본 발명은 서버가 클라이언트들 간에 교환된 세션 키 정보를 알 수 없도록 한다.Accordingly, the present invention prevents the server from knowing session key information exchanged between clients.

또한, 본 발명은 데이터의 교환 횟수를 3번 이하로 제한할 수 있다.In addition, the present invention can limit the number of times of data exchange to three or less.

표 1은 논문에 발표된 종래 기술들과 본 발명의 비교표이다. Table 1 is a comparison table of the present invention and the prior art published in the paper.

표 1에서 본 발명은 두 클라이언트가 인증 및 세션 키를 교환하기 위해서는 3번의 데이터 교환이 필요하며, 클라이언트 A와 B는 서로가 동일한 세션 키를 연산하였는지에 대한 여부도 확인할 수 있다. In Table 1, the present invention requires three data exchanges in order for two clients to exchange authentication and session keys, and client A and B can also check whether each other computed the same session key.

Figure 112007004622049-PAT00041
Figure 112007004622049-PAT00041

종래 기술들에서 본 발명과 같은 안전성을 제공하는 기술은 Jaung의 Scheme2이지만, 이 기술은 5번의 데이터 교환 횟수가 필요하다. 본 발명과 같이 데이터 교환 횟수를 줄일 수 있다면, 더 빠른 인증 및 키 교환을 수행할 수 있다. In the prior arts, a technology that provides the same safety as the present invention is Jaung's Scheme2, but this technique requires 5 data exchanges. If the number of data exchanges can be reduced as in the present invention, faster authentication and key exchange can be performed.

본 발명은 스마트카드 발급 개체인 서버를 클라이언트-클라이언트 간 인증 및 키 교환을 가능하게 도와주는 매개체로 이용하여 두 클라이언트가 간접적으로 인증 및 키 교환을 할 수 있는 기술이다. The present invention is a technology that allows two clients to indirectly authenticate and exchange keys by using a server, which is a smart card issuing entity, as an intermediary for enabling authentication and key exchange between clients and clients.

본 발명에서는 서버의 개입이 요구되지만 서버의 신뢰 의존도를 낮추기 위해, 서버가 클라이언트 간에 교환되는 데이터를 보고는 두 클라이언트가 공유한 세션 키를 알 수 없게 한다. 그리고 인증 및 키 교환을 수행하는 과정에서 데이터의 교환 횟수를 3번으로 감소시켜 효율적으로 두 개체가 빠르게 키 교환을 수행할 수 있게 한다. In the present invention, the intervention of the server is required, but in order to lower the trust dependency of the server, the server does not know the session key shared by the two clients when viewing the data exchanged between the clients. In the process of performing authentication and key exchange, the number of exchanges of data is reduced to three so that two entities can perform key exchange efficiently.

바람직하게는, 본 발명의 스마트 카드를 이용한 삼자간 키 교환 방법을 컴퓨터에서 실행시키기 위한 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 제공할 수 있다.Preferably, the program for executing the tripartite key exchange method using the smart card of the present invention may be provided by recording a program for executing in a computer on a computer-readable recording medium.

본 발명은 소프트웨어를 통해 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다.The invention can be implemented via software. When implemented in software, the constituent means of the present invention are code segments that perform the necessary work. The program or code segments may be stored on a processor readable medium or transmitted by a computer data signal coupled with a carrier on a transmission medium or network.

컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 테이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. The computer-readable recording medium includes all kinds of recording devices in which data is stored which can be read by a computer system. Examples of computer-readable recording devices include ROM, RAM, CD-ROM, DVD ± ROM, DVD-RAM, magnetic tape, floppy disks, hard disks, optical data storage devices, and the like.

또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The computer readable recording medium can also be distributed over network coupled computer devices so that the computer readable code is stored and executed in a distributed fashion.

본 발명은 도면에 도시된 일 실시예를 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary and will be understood by those of ordinary skill in the art that various modifications and variations can be made therefrom. However, such modifications should be considered to be within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

상술한 바와 같이, 본 발명에 의하면, 클라이언트-클라이언트 간 인증 및 키 교환을 가능하게 하고, 서버가 클라이언트들 간에 교환된 세션 키 정보를 알 수 없도록 하여 보안성을 향상시킬 수 있으며, 키 교환을 위한 데이터의 교환 횟수를 3번 이하로 제한할 수 있고, 스마트 카드를 이용하면서도 고속의 인증이 가능하며, 키 교환을 하는 클라이언트 간에 서로가 동일한 세션 키를 연산하였는지에 대한 여부도 확인할 수 있는 효과가 있다.As described above, according to the present invention, it is possible to improve the security by enabling the authentication and key exchange between the client and the client, by not allowing the server to know the session key information exchanged between the clients, The number of exchanges of data can be limited to 3 or less, high-speed authentication is possible while using a smart card, and it is also possible to check whether or not the same session key is computed between clients for key exchange.

Claims (10)

서버, 상기 서버로부터 스마트 카드를 발급받은 소스 클라이언트 및 타겟 클라이언트를 포함하는 시스템의 키 교환 방법에 있어서,In the key exchange method of the system comprising a server, a source client and a target client issued a smart card from the server, 상기 소스 클라이언트의 스마트카드에서 임의의 난수인 제1난수 및 제2난수를 선택한 후, 상기 제2난수를 포함하는 암호문을 상기 서버에 전송하고, 상기 제1난수를 포함하는 암호문을 상기 타겟 클라이언트에 전송하는 단계;After selecting the random number of the first random number and the second random number in the smart card of the source client, and transmits the cipher text including the second random number to the server, and transmits the cipher text including the first random number to the target client Transmitting; 상기 서버에서 상기 타겟 클라이언트에 상기 제2난수를 포함하는 암호문을 전송하는 단계;Transmitting a cipher text including the second random number from the server to the target client; 상기 타겟 클라이언트의 스마트 카드에서 임의의 난수인 제3난수 및 제4난수를 선택한 후, 상기 제2난수를 포함하는 암호문을 복호화하여 제2난수를 산출하고, 상기 제2난수 및 제4난수를 이용하여 세션키를 연산하고, 상기 제3난수 및 제4난수를 포함하는 암호문을 상기 소스 클라이언트에 전송하는 단계; 및After selecting the third random number and the fourth random number which are random numbers in the smart card of the target client, the second random number is calculated by decrypting the cipher text including the second random number, and using the second random number and the fourth random number. Calculating a session key and transmitting a cipher text including the third random number and the fourth random number to the source client; And 상기 소스 클라이언트의 스마트카드에서 상기 제3난수 및 제4난수를 포함하는 암호문을 복호화하고, 상기 제2난수 및 상기 제4난수를 이용한 세션키를 연산하여 세션키를 공유하는 단계를 포함하는 스마트 카드를 이용한 삼자간 키 교환 방법.A smart card comprising decrypting a cipher text including the third random number and the fourth random number in the smart card of the source client, and calculating a session key using the second random number and the fourth random number to share the session key. Three-way key exchange method using 제 1 항에 있어서,The method of claim 1, 상기 제2난수를 포함하는 암호문은The ciphertext including the second random number is 상기 소스 클라이언트의 아이디, 상기 타겟 클라이언트의 아이디를 포함하고,An ID of the source client and an ID of the target client, 상기 제1난수를 포함하는 암호문은The ciphertext including the first random number is 상기 소스 클라이언트의 아이디를 포함하는 것을 특징으로 하는 스마트 카드를 이용한 삼자간 키 교환 방법.Three-way key exchange method using a smart card, characterized in that it comprises the ID of the source client. 제 2 항에 있어서,The method of claim 2, 상기 제1난수를 포함하는 암호문을 상기 타겟 클라이언트에 전송하는 단계는The step of transmitting a cipher text including the first random number to the target client 상기 소스 클라이언트가 상기 서버로부터 상기 소스 클라이언트의 아이디 및 상기 서버의 마스터키를 해쉬함수에 적용한 제1검증자가 저장된 스마트 카드를 발급받고, 상기 타켓 클라이언트가 상기 서버로부터 상기 타겟 클라이언트의 아이디 및 상기 서버의 마스터키를 해쉬함수에 적용한 제2검증자가 저장된 스마트 카드를 발급받는 단계를 포함하는 것을 특징으로 하는 스마트 카드를 이용한 삼자간 키 교환 방법.The source client receives a smart card storing a first validator that applies the ID of the source client and the master key of the server to the hash function from the server, and the target client receives the ID of the target client and the server from the server. And a second verifier applying the master key to the hash function to receive the stored smart card. 제 3 항에 있어서,The method of claim 3, wherein 상기 타겟 클라이언트에 상기 제2난수를 포함하는 암호문을 전송하는 단계는The step of transmitting a cipher text including the second random number to the target client 상기 서버에서 상기 제1검증자를 이용하여 상기 제2난수를 포함하는 암호문을 복호화하여 상기 소스 클라이언트의 아이디 및 상기 타겟 클라이언트의 아이디를 산출하는 단계; 및Calculating an ID of the source client and an ID of the target client by decrypting a cipher text including the second random number using the first verifier in the server; And 상기 서버에서 상기 제2검증자로 상기 제2난수를 암호화한 암호문을 상기 타겟 클라이언트에 전송하는 단계를 포함하는 것을 특징으로 하는 스마트 카드를 이용한 삼자간 키 교환 방법.And transmitting, at the server, the cipher text that encrypts the second random number to the target client using the second verifier. 제 1 항에 있어서,The method of claim 1, 상기 제3난수 및 제4난수를 포함하는 암호문은The ciphertext including the third random number and the fourth random number is 상기 타겟 클라이언트에서 연산된 세션키로 상기 제1난수를 암호화한 암호문을 포함하고,A ciphertext that encrypts the first random number using a session key calculated at the target client, 상기 제2난수 및 상기 제4난수를 이용한 세션키를 연산하여 세션키를 공유하는 단계는Computing the session key using the second random number and the fourth random number to share the session key 상기 소스 클라이언트에서 연산된 세션키로 상기 제1난수를 암호화한 암호문을 복호화한 결과가 상기 제1난수와 일치하지 않으면, 상기 타겟 클라이언트와의 프로토콜을 종료하는 단계를 포함하는 것을 특징으로 하는 스마트 카드를 이용한 삼자간 키 교환 방법.And a step of terminating a protocol with the target client if a result of decrypting the ciphertext that encrypts the first random number using the session key calculated by the source client does not match the first random number. Three-way key exchange method. 제 1 항에 있어서,The method of claim 1, 상기 소스 클라이언트에서 상기 제3난수 및 제4난수를 포함하는 암호문을 복호화하여 산출된 상기 제3난수를 상기 소스 클라이언트에서 연산된 세션키로 암호화한 암호문을 상기 타겟 클라이언트에 전송하는 단계; 및Transmitting, by the source client, an encryption text obtained by decrypting an encryption text including the third random number and a fourth random number to the target client by encrypting the third random number calculated by the session key calculated by the source client; And 상기 제3난수를 암호화한 암호문을 상기 타겟 클라이언트에서 연산된 세션키 로 복호화한 결과가 상기 제3난수와 일치하지 않으면, 상기 타겟 클라이언트에서 연산된 세션키를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 스마트 카드를 이용한 삼자간 키 교환 방법.If the decryption result of encrypting the third random number with the session key calculated at the target client does not match the third random number, deleting the session key calculated at the target client; Three-way key exchange method using a smart card. 제 1 항 내지 제 6 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 6. 타겟 클라이언트, 상기 타겟 클라이언트와 인증하려는 소스 클라이언트 및 상기 소스 클라이언트 및 타겟 클라이언트에 각각 제1 스마트 카드 및 제2 스마트 카드를 발급하는 서버를 포함하는 시스템에 있어서,A system comprising a target client, a source client to authenticate with the target client, and a server that issues a first smart card and a second smart card to the source client and the target client, respectively. 상기 소스 클라이언트는The source client 임의의 난수인 제1난수 및 제2난수를 선택하고, 상기 제2난수를 포함하는 암호문 및 상기 제1난수를 포함하는 암호문을 생성하며, 상기 타겟 클라이언트에서 선택된 제3난수 및 제4난수를 포함하는 암호문을 복호화하고, 상기 제2난수 및 상기 제4난수를 이용한 세션키를 연산하여 세션키를 공유하는 제1 스마트 카드; 및Select a random random first random number and a second random random number, generate a ciphertext including the second random number and a ciphertext including the first random number, and include a third random number and a fourth random number selected by the target client A first smart card that decrypts a cipher text, calculates a session key using the second random number and the fourth random number, and shares the session key; And 상기 제2난수를 포함하는 암호문을 상기 서버에 전송하고, 상기 제1난수를 포함하는 암호문을 상기 타겟 클라이언트에 전송하는 소스 암호문 전송부를 포함하고,A source cipher text transmission unit configured to transmit a cipher text including the second random number to the server, and transmit a cipher text including the first random number to the target client; 상기 타겟 클라이언트는The target client 상기 제2난수를 포함하는 암호문을 복호화하여 제2난수를 산출하고, 임의의 난수인 제3난수 및 제4난수를 선택하며, 상기 제2난수 및 제4난수를 이용하여 세션키를 연산하고, 상기 제3난수 및 제4난수를 포함하는 암호문을 생성하는 제2 스마트 카드; 및A second random number is calculated by decrypting a cipher text including the second random number, a third random number and a fourth random number which are random numbers are selected, and a session key is calculated using the second random number and the fourth random number, A second smart card for generating a cipher text including the third random number and the fourth random number; And 상기 제3난수 및 제4난수를 포함하는 암호문을 상기 소스 클라이언트에 전송하는 타겟 암호문 전송부를 포함하고,A target cipher text transmission unit for transmitting a cipher text including the third random number and the fourth random number to the source client, 상기 서버는The server is 상기 타겟 클라이언트에 상기 제2난수를 포함하는 암호문을 전송하는 서버 암호문 중계부를 포함하는 스마트 카드를 이용한 삼자간 키 교환 시스템.A three-way key exchange system using a smart card including a server cipher text relay that transmits a cipher text including the second random number to the target client. 제 8 항에 있어서,The method of claim 8, 상기 제1 스마트 카드는 The first smart card is 상기 소스 클라이언트의 아이디 및 상기 서버의 마스터키를 해쉬함수에 적용한 제1검증자를 저장하고,A first verifier that applies an ID of the source client and a master key of the server to a hash function, 상기 제2 스마트 카드는The second smart card is 상기 타겟 클라이언트의 아이디 및 상기 서버의 마스터키를 해쉬함수에 적용한 제2검증자를 저장하고,A second verifier that applies an ID of the target client and a master key of the server to a hash function, 상기 서버는The server is 상기 제1검증자 및 제2검증자를 저장하는 데이터베이스를 포함하고,A database storing the first verifier and the second verifier, 상기 서버 암호문 중계부는The server cipher text relay unit 상기 제1검증자를 이용하여 상기 제2난수를 포함하는 암호문을 복호화하여 상기 소스 클라이언트의 아이디 및 상기 타겟 클라이언트의 아이디를 산출하고, 상기 제2검증자로 상기 제2난수를 암호화한 암호문을 상기 타겟 클라이언트에 전송하는 것을 특징으로 하는 스마트 카드를 이용한 삼자간 키 교환 시스템.The ID of the source client and the ID of the target client are calculated by decrypting a cipher text including the second random number using the first verifier, and the cipher text that encrypts the second random number using the second verifier is the target client. Three-way key exchange system using a smart card, characterized in that for transmitting to. 제 8 항에 있어서,The method of claim 8, 상기 소스 클라이언트 및 타겟 클라이언트는The source client and target client 상기 제1 스마트카드 및 상기 제2 스마트카드에 저장된 정보를 독출하는 스마트 카드 리더기를 포함하는 것을 특징으로 하는 스마트 카드를 이용한 삼자간 키 교환 시스템.And a smart card reader for reading information stored in the first smart card and the second smart card.
KR1020070004984A 2007-01-16 2007-01-16 Method and System for three-party authenticated key exchange using smart cards KR100883899B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070004984A KR100883899B1 (en) 2007-01-16 2007-01-16 Method and System for three-party authenticated key exchange using smart cards

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070004984A KR100883899B1 (en) 2007-01-16 2007-01-16 Method and System for three-party authenticated key exchange using smart cards

Publications (2)

Publication Number Publication Date
KR20080067550A true KR20080067550A (en) 2008-07-21
KR100883899B1 KR100883899B1 (en) 2009-02-17

Family

ID=39821785

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070004984A KR100883899B1 (en) 2007-01-16 2007-01-16 Method and System for three-party authenticated key exchange using smart cards

Country Status (1)

Country Link
KR (1) KR100883899B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101025218B1 (en) * 2009-10-16 2011-03-31 (주)한국시엠알 Network image security authentication system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809140A (en) 1996-10-15 1998-09-15 Bell Communications Research, Inc. Session key distribution using smart cards

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101025218B1 (en) * 2009-10-16 2011-03-31 (주)한국시엠알 Network image security authentication system

Also Published As

Publication number Publication date
KR100883899B1 (en) 2009-02-17

Similar Documents

Publication Publication Date Title
US7343014B2 (en) Method for sharing the authorization to use specific resources
Jiang et al. A privacy enhanced authentication scheme for telecare medical information systems
JP4866863B2 (en) Security code generation method and user device
US7610617B2 (en) Authentication system for networked computer applications
EP2639997B1 (en) Method and system for secure access of a first computer to a second computer
TWI497336B (en) Data security devices and computer program
US20130191632A1 (en) System and method for securing private keys issued from distributed private key generator (d-pkg) nodes
CN110519046B (en) Quantum communication service station key negotiation method and system based on one-time asymmetric key pair and QKD
US20050105735A1 (en) Information processing system and method, information processing device and method, recording medium, and program
CA2463034A1 (en) Method and system for providing client privacy when requesting content from a public server
KR20070057871A (en) Method of authentication based on polynomials
JP2008503966A (en) Anonymous certificate for anonymous certificate presentation
CN113225302A (en) Data sharing system and method based on proxy re-encryption
Pecarina et al. SAPPHIRE: Anonymity for enhanced control and private collaboration in healthcare clouds
KR100542652B1 (en) Key-exchange protocol method for mobile communication system
JP3914193B2 (en) Method for performing encrypted communication with authentication, authentication system and method
Sinnhofer et al. Patterns to establish a secure communication channel
KR100866608B1 (en) System and Method for mutual authentication between a remote user and a server using a mobile device, Recording medium thereof
US20220200792A1 (en) Selective data disclosure via a block chain
Moon et al. An AAA scheme using ID-based ticket with anonymity in future mobile communication
US8543815B2 (en) Authentication method and related devices
CN112035820B (en) Data analysis method used in Kerberos encryption environment
KR100883899B1 (en) Method and System for three-party authenticated key exchange using smart cards
Saxena et al. A Lightweight and Efficient Scheme for e-Health Care System using Blockchain Technology
JP7211518B2 (en) Owner identity confirmation system and owner identity confirmation method

Legal Events

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

Payment date: 20111209

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130111

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee