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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Abstract
Description
도 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
데이터베이스(201)는 제1검증자 및 제2검증자를 저장한다.The
서버 암호문 중계부(202)는 타겟 클라이언트(220)에 제2난수를 포함하는 암호문을 전송한다.The server
이때, 제1 스마트 카드(211)는 소스 클라이언트(210)의 아이디 및 서버(200)의 마스터키를 해쉬함수에 적용한 제1검증자를 저장하고, 제2 스마트 카드(221)는 타겟 클라이언트(220)의 아이디 및 서버(200)의 마스터키를 해쉬함수에 적용한 제2검증자를 저장할 수 있다.In this case, the first
바람직하게는, 서버 암호문 중계부(202)는 데이터베이스(201)에 저장된 제1검증자를 이용하여 제2난수를 포함하는 암호문을 복호화하여 소스 클라이언트(210)의 아이디 및 타겟 클라이언트(220)의 아이디를 산출할 수 있다. 이때, 서버 암호문 중계부(202)는 제2검증자로 제2난수를 암호화한 암호문을 타겟 클라이언트(220)에 전송하여 암호문을 중계할 수 있다.Preferably, the server cipher
소스 클라이언트(210)는 제1 스마트 카드(211), 스마트 카드 리더기(212) 및 소스 암호문 전송부(213)을 포함한다.The
제1 스마트 카드(211)는 서버(200)에 의해 발급되고, 인증 및 키 교환을 위해 스마트 카드 리더기(212)에 삽입된다. The first
제1 스마트 카드(211)는 임의의 난수인 제1난수 및 제2난수를 선택하고, 제2난수를 포함하는 암호문 및 제1난수를 포함하는 암호문을 생성한다. 또한, 제1 스마트 카드(211)는 타겟 클라이언트(220)에서 선택된 제3난수 및 제4난수를 포함하는 암호문을 복호화하고, 제2난수 및 제4난수를 이용한 세션키를 연산하여 세션키를 공유한다.The first
스마트 카드 리더기(212)는 제1 스마트카드에 저장된 정보를 독출한다.The
소스 암호문 전송부(213)는 제2난수를 포함하는 암호문을 서버(200)에 전송하고, 제1난수를 포함하는 암호문을 타겟 클라이언트(220)에 전송한다.The source cipher
타겟 클라이언트(220)는 제2 스마트 카드(221), 스마트 카드 리더기(222) 및 타겟 암호문 전송부(223)을 포함한다.The
제2 스마트 카드(221)는 서버(200)에 의해 발급되고, 인증 및 키 교환을 위해 스마트 카드 리더기(222)에 삽입된다. The second
제2 스마트 카드(221)는 제2난수를 포함하는 암호문을 복호화하여 제2난수를 산출한다. 또한, 제2 스마트 카드(221)는 임의의 난수인 제3난수 및 제4난수를 선택하며, 제2난수 및 제4난수를 이용하여 세션키를 연산한다. 또한, 제2 스마트 카드(221)는 제3난수 및 제4난수를 포함하는 암호문을 생성한다.The second
스마트 카드 리더기(222)는 제2 스마트카드에 저장된 정보를 독출한다.The
타겟 암호문 전송부(223)는 제3난수 및 제4난수를 포함하는 암호문을 소스 클라이언트(210)에 전송한다.The target cipher
도 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
세션키가 연산되면, 제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
마지막으로, 제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
다음, 서버에서 타겟 클라이언트에 제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
세션키가 연산되면, 제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는 서버의 아이디를 나타낸다. 는 클라이언트 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. 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검증자는 각각 에 대응된다. 또한, 제1난수, 제2난수, 제3난수 및 제4난수는 각각 에 대응된다.In addition, the first and second verifiers described above Corresponds to. In addition, the first random number, the second random number, the third random number and the fourth random number are respectively Corresponds to.
도 7에 도시된 과정을 수행하기 이전에 다음과 같은 등록 단계를 선행할 수 있다.Before performing the process illustrated in FIG. 7, the following registration step may be performed.
즉, 클라이언트 A가 서버 S로부터 스마트카드를 발급받을 때, 자신의 패스워드를 등록한다. 서버는 그리고 를 연산 후, 스마트카드에 와 키 생성에 필요한 알고리즘들 (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 And To the smart card 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는 자신의 스마트카드를 카드리더기에 삽입 후, 스마트카드 발급 시에 등록했던 패스워드를 입력한다. 입력한 패스워드를 라 하자. 이때, 스마트카드 리더기를 스마트카드가 탑재된 모바일 기기로 생각할 수 있다.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 Let's do it. In this case, the smart card reader may be regarded as a mobile device equipped with a smart card.
스마트카드는 클라이언트가 입력한 패스워드 정보가 일치하는지 확인하기 위해, 그리고 를 연산한다. 그리고 인지 확인한다. 만약 두 값이 일치하지 않으면 동작을 멈춘다. 만약 이 단계를 통과하면 키 교환을 수행한다.The smart card checks whether the password information entered by the client matches. And Calculate And 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의 스마트카드는 임의의 난수 를 선택한다. 그리고 일회용 공개키/비밀키 쌍 (y,x)를 선택한다. A는 S에게 를 그리고 B에게 값들을 전송한다.In
라운드 2에서, S는 를 연산 후에 A에게서 받은 암호문 을 복호화 한다. 그 복호한 결과에 가 포함되어 있는지 확인한다. 그리고 를 연산한 후, 를 B에게 전송한다. In round two, S Ciphertext received from A after Decrypt On the decrypted result Make sure it is included. And After computing To B.
한편, B의 스마트카드는 임의의 난수 를 선택 후, 를 복호화하여 값을 얻는다. 그리고 세션키 값 을 연산한 후, 를 A에게 전송한다.On the other hand, B's smart card is a random number After selecting By decrypting Get the value. And the session key value After computing Is sent to A.
라운드 3에서, A의 스마트카드는 인지를 확인한다. 만약 두 값이 같지 않으면 프로토콜을 종료한다. 만약 두 값이 일치하면 A는 B와 동일한 세션 키를 공유했다는 것을 확인할 수 있다. 라운드 3에서, A의 스마트카드는 를 복호하여 를 얻는다. 그리고 세션 키 를 연산한다. A는 를 B에게 전송한다. B는 가 일치하는지 확인한다. 만약 두 값이 일치하면 B는 A와 동일한 세션 키를 공유했다는 것을 확인할 수 있다. 만약 두 값이 일치하지 않으면, B의 스마트카드는 세션 키 sk를 사용하지 않고 삭제한다.In round three, A's smart card 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 To decrypt Get And session key Calculate A is To B. B is 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는 스마트카드를 스마트 카드리더기에 삽입 후, 이전 패스워드 와 새로 바꾸고자하는 패스워드 를 입력한다. 스마트카드는 입력된 를 이용하여 를 연산한 후, 를 연산한다. 그리고 인지를 확인한다. 만약 두 값이 일치하지 않으면, 패스워드 변경요청을 거절한다. 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. And password you want to change Enter. Smart card is input Using After computing Calculate And Check if it is. If the two values do not match, the password change request is rejected.
만약 두 값이 일치하면, 와 를 연산 후에 스마트카드 내에 저장된 값을 값으로 교체한다.If the two values match, Wow Stored in the smart card after Value 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를 알 수 없다. 결과적으로 세션키 에 대한 정보를 얻을 수 없다.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 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.
종래 기술들에서 본 발명과 같은 안전성을 제공하는 기술은 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)
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)
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)
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 |
-
2007
- 2007-01-16 KR KR1020070004984A patent/KR100883899B1/en not_active IP Right Cessation
Cited By (1)
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 |