KR100542127B1 - Security Communication Method - Google Patents

Security Communication Method Download PDF

Info

Publication number
KR100542127B1
KR100542127B1 KR1020030038332A KR20030038332A KR100542127B1 KR 100542127 B1 KR100542127 B1 KR 100542127B1 KR 1020030038332 A KR1020030038332 A KR 1020030038332A KR 20030038332 A KR20030038332 A KR 20030038332A KR 100542127 B1 KR100542127 B1 KR 100542127B1
Authority
KR
South Korea
Prior art keywords
random number
receiver
key
sender
value
Prior art date
Application number
KR1020030038332A
Other languages
Korean (ko)
Other versions
KR20040107309A (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 KR1020030038332A priority Critical patent/KR100542127B1/en
Publication of KR20040107309A publication Critical patent/KR20040107309A/en
Application granted granted Critical
Publication of KR100542127B1 publication Critical patent/KR100542127B1/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/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 보안성을 강화하고 인증 및 키 공유 과정의 소요 시간을 줄일 수 있는 보안 통신 프로토콜에 관한 것으로, 송신자가 난수를 생성 및 암호화하고, 상기 암호화된 난수를 포함하는 제 1 메시지를 수신자에게 전송하는 제 1 단계; 상기 수신자가 난수를 생성 및 암호화하고, 상기 수신자의 암호화된 난수 및 상기 제 1 메시지에 대한 제 1 인증함수 값을 포함하는 제 2 메시지를 상기 송신자에게 전송하는 제 2 단계; 상기 송신자가 상기 제 1 인증함수 값을 확인하고, 상기 송, 수신자의 암호화된 난수 및 상기 제 2 메시지에 대한 제 2 인증함수 값을 포함하는 제 3 메시지를 상기 수신자에게 전송하는 제 3 단계; 상기 수신자가 상기 제 2 인증함수 값을 확인하고, 세션키를 생성하는 제 4 단계를 포함한다.The present invention relates to a secure communication protocol that can enhance security and reduce the time required for authentication and key sharing processes, wherein a sender generates and encrypts a random number and transmits a first message including the encrypted random number to a receiver. A first step of making; A second step of the receiver generating and encrypting a random number and sending a second message to the sender, the second message including the encrypted random number of the receiver and a first authentication function value for the first message; A third step of the sender confirming the first authentication function value and transmitting a third message to the receiver, the third message including the transmission, an encrypted random number of the receiver and a second authentication function value for the second message; And a fourth step of the receiver checking the second authentication function value and generating a session key.

보안통신, 인증함수, 세션키Secure communication, authentication function, session key

Description

보안 통신 방법{Security Communication Method}Security communication method

도 1은 종래의 보안 통신 프로토콜을 설명하기 위한 도면1 is a view for explaining a conventional secure communication protocol

도 2는 종래의 다른 보안 통신 프로토콜을 설명하기 위한 도면2 is a diagram for explaining another conventional secure communication protocol.

도 3은 본 발명에 따른 보안 통신 프로토콜을 설명하기 위한 도면3 is a diagram for explaining a secure communication protocol according to the present invention.

도 4는 본 발명의 일실시예에 따른 보안 통신 프로토콜을 설명하기 위한 도면4 is a diagram for explaining a secure communication protocol according to an embodiment of the present invention.

본 발명은 보안 통신 방법에 관한 것으로서, 특히 객체 인증 과정 및 키 공유 과정의 안정성을 향상시킬 수 있는 보안 통신 방법에 관한 것이다.The present invention relates to a secure communication method, and more particularly to a secure communication method that can improve the stability of the object authentication process and key sharing process.

최근, TCP/IP(transmission control protocol/internet protocol)라는 프로토콜을 이용한 인터넷은 전자우편, WWW(world wide web), 파일전송 등의 서비스를 제공하는데 그치지 않고 비즈니스의 도구로써 그 영역이 확장되고 있다. 그 예로써, 도서, 음반, 의류 등 각종 상품을 가정에서 쇼핑하고 구매할 수 있는 전자 상거래 사이트들이 증가하고 있고, 인터넷 뱅킹을 이용한 금융거래 및 증권거래 등이 활성화되고 있다. In recent years, the Internet using a protocol called TCP / IP (transmission control protocol / internet protocol) has been expanding its scope as a tool of business, not just providing services such as e-mail, world wide web (WWW), and file transfer. For example, e-commerce sites that can shop and purchase various products such as books, records, and clothing at home are increasing, and financial transactions and securities transactions using Internet banking are being activated.

이처럼 인터넷을 통한 전자 상거래 및 금융거래 등을 이용하는 경우, 사용자의 인증과 개인정보 보호가 필수적으로 요구된다. 이를 위해 암호화 방식으로 통신이 이루어진다. As such, when using e-commerce and financial transactions over the Internet, user authentication and privacy protection are essential. For this purpose, communication is performed in an encrypted manner.

일반적으로 암호화 방식의 통신은 크게 두 단계로 구분할 수 있다. 하나는 인증 및 키 교환을 수행하는 단계이고, 다른 하나는 앞의 단계에서 설정된 키를 이용하여 어플리케이션 데이터를 보호하는 단계이다. 즉, 암호화키를 설정한 뒤, 송신자가 정보보호를 원하는 내용을 암호화 키와 암호 알고리즘을 이용하여 암호문으로 변환하여 송신하고 수신자측에서 상기 암호문을 복호화하여 평문으로 수신한다. 따라서, 송신자와 수신자간에 전송되는 내용이 제 3 자에게 노출된다 하더라도 복호 알고리즘과 복호화 키를 알지 못하면 암호문으로 해독하기 어렵기 때문에 정보를 보호받을 수 있다.In general, encryption-based communication can be divided into two stages. One is to perform authentication and key exchange, and the other is to protect application data using the key set in the previous step. That is, after the encryption key is set, the sender converts the information that the sender wants to protect to the cipher text by using the encryption key and the encryption algorithm, and decrypts the cipher text on the receiver side to receive the plain text. Therefore, even if the content transmitted between the sender and the receiver is exposed to a third party, it is difficult to decrypt the cipher text without knowing the decryption algorithm and the decryption key, thereby protecting the information.

기존의 보안 통신 프로토콜 중에 하나인 SSL(secure sockets layer) 프로토콜을 설명하면 다음과 같다. The secure sockets layer (SSL) protocol, one of the existing secure communication protocols, is described as follows.

도 1에 도시한 바와 같이, 인터넷 뱅킹 등과 같은 보안 통신을 하고자 하는 경우, 먼저 송신자(A)는 난수 NA를 생성한 후 수신자(B)에게 전송한다(S11). As shown in FIG. 1, when a secure communication such as Internet banking is to be performed, the sender A first generates a random number N A and transmits the random number N A to the receiver B (S11).

이어, 상기 송신자(A)로부터 상기 난수 NA를 수신한 수신자(B)는 난수 NB와 y를 생성한 후(S12), DH(y) 키를 계산한다(S13). 여기서, 상기 DH 키는 Diffie-Hellman에 의해 제안된 알고리즘에 사용되는 것으로, 도메인 파라메타(g,p,q)를 이용하여 계산된다. Subsequently, the receiver B receiving the random number N A from the sender A generates the random numbers N B and y (S12), and then calculates the DH (y) key (S13). Here, the DH key is used in the algorithm proposed by Diffie-Hellman and is calculated using domain parameters (g, p, q).

이후, 상기 수신자(B)는 자신의 개인키 KB -1을 이용하여 난수 NA와 NB , 그리고 DH(y)에 대한 서명값 {NA.NB.DH(y)}KB -1을 계산하고(S14), 상기 서명값 {NA.NB.DH(y)}KB -1을 포함하는 프로토콜 메시지 DH(y).NB .{NA.NB.DH(y)}KB -1을 송신자(A)에게 전달한다. Subsequently, the receiver B uses its private key K B -1 to sign a random value N A and N B and a signature value for DH (y) {N A .N B .DH (y)} K B calculating a 1 (S14), the sign values {N a .N B .DH (y )} K B DH protocol message (y), including B -1 .N. .N {N a B .DH (y )} K B -1 is sent to the sender A.

그리고, 상기 프로토콜 메시지 DH(y).NB.{NA.NB.DH(y)}KB -1을 수신한 송신자(A)는 수신자(B)의 서명값이 맞는지를 확인한다. 또한, 송신자(A)는 난수 x를 생성한 후(S15), DH(x) 키를 계산한다(S16). Also, the protocol message DH (y) .N B. { N A .N B .DH (y)} K B -1 a sender (A) received the checks matches the signature value of the recipient (B). Further, the sender A generates a random number x (S15) and then calculates a DH (x) key (S16).

이어, 상기 송신자(A)는 자신의 개인키 KA -1을 이용하여 지금까지의 프로토콜 메시지(handshake)에 대한 서명값 {handshake}KA -1을 계산한 후(S17), 상기 DH(x) 키와 함께 수신자(B)에게 전달한다. 여기서, 상기 프로토콜 메시지(handshake)는 NA.DH(y).NB.{NA.NB.DH(y)}KB -1.DH(x)로 표현된다.Subsequently, the sender A calculates a signature value {handshake} K A -1 for the protocol message (handshake) so far by using its private key K A -1 (S17), and the DH (x ) To the receiver (B) with the key. Herein, the protocol message (handshake) is expressed as N A .DH (y) .N B. {N A .N B .DH (y)} K B −1 .DH (x).

이후, 상기 DH(x) 키와 프로토콜 메시지 NA.DH(y).NB.{NA.NB.DH(y)}K B -1.DH(x)를 수신한 수신자(B)는 다음의 식과 같이 세션 키(session key)를 유도한다(S18).Then, the receiver B receiving the DH (x) key and the protocol message N A .DH (y) .N B. {N A .N B .DH (y)} K B -1 .DH (x) Induces a session key as shown in the following equation (S18).

세션 키 = KDF(DH(x,y),NA,NB)Session key = KDF (DH (x, y), N A , N B )

여기서, 상기 KDF는 키 유도함수이고, 상기 DH(x,y)는 두 공개키 DH(x)와 DH(y)로부터 유도된 비밀키이다. Here, the KDF is a key derivation function, and the DH (x, y) is a secret key derived from two public keys DH (x) and DH (y).

상기와 같은 종래의 프로토콜은 송신자(A)의 개인키 KA -1과 수신자(B)의 개인키 KB -1이 모두 제 3자에게 노출된다고 하더라도 비밀키 DH(x,y)는 알려지지 않는다. 따라서, 세션이 종료된 후에도 세션 키의 보안을 유지할 수 있기 때문에 해킹 등과 같은 위험으로부터 안전하다. 하지만, 송신자(A)와 수신자(B) 각각이 임시 공개키 DH(x)와 DH(y)를 생성한 후, 상기 공개키 DH(x)와 DH(y)에 대해 각각의 개인키 KA -1과 KB -1로 서명을 하고 비밀키 DH(x,y)를 생성해야하는 복잡한 과정이 요구된다. 따라서 그만큼 키 교환과정에 소요되는 시간이 길어진다. In the conventional protocol as described above, even if both the sender A's private key K A -1 and the receiver B's private key K B -1 are exposed to a third party, the secret key DH (x, y) is unknown. . Therefore, since the session key can be secured even after the session is terminated, it is safe from hacking and the like. However, after each of the sender A and the receiver B generates the temporary public keys DH (x) and DH (y), the respective private keys K A for the public keys DH (x) and DH (y) are generated. It requires a complicated process of signing with -1 and K B -1 and generating a secret key DH (x, y). Therefore, the time required for the key exchange process becomes longer.

이러한 문제점을 해결하기 위한 다른 형태의 SSL 프로토콜을 도면을 참조하여 설명하면 다음과 같다. 도 2의 프로토콜은 송신자(A)와 수신자(B)가 서로 상대방의 공개키를 알고있다는 가정하에 이루어진다. Another form of SSL protocol for solving this problem will now be described with reference to the drawings. The protocol of FIG. 2 is based on the assumption that the sender A and the receiver B know each other's public key.

도 2에 도시한 바와 같이, 먼저 송신자(A)는 난수 NA를 생성한 후 수신자(B)에게 전송한다(S21). 이어, 상기 송신자(A)로부터 상기 난수 NA를 수신한 수신자(B)는 난수 NB를 생성한 후(S22), 상기 송신자(A)에게 전송한다.As shown in FIG. 2, the transmitter A first generates a random number N A and transmits the random number N A to the receiver B (S21). Subsequently, the receiver B, having received the random number N A from the sender A, generates a random number N B (S22) and transmits the random number N A to the sender A.

이어, 상기 송신자(A)는 난수 x를 생성한 후(S23), 상기 수신자(B)의 공개키 KB를 이용하여 상기 난수 x를 암호화한다(S24). 이후, 상기 송신자(A)는 자신의 개인키 KA -1을 이용하여 상기 S24 단계에서 암호화된 값 {x}KB를 포함하는 프로토콜 메시지(handshake)에 대한 서명값 {handshake}KA -1을 계산한 후(S25), 상기 암호화된 값 {x}KB와 함께 수신자(B)에게 전달한다. 여기서, 상기 프로토콜 메시지(handshake)는 NA.NB.{x}KB이다.Subsequently, the sender A generates a random number x (S23), and then encrypts the random number x using the public key K B of the receiver B (S24). Subsequently, the sender A uses the private key K A -1 to sign the handshake value {handshake} K A -1 for the protocol message (handshake) including the value {x} K B encrypted in step S24. After calculating (S25), and delivers the encrypted value {x} K B to the receiver (B). Here, the protocol message (handshake) is N A .N B. {X} K B.

이후, 상기 {x}KB와 키와 상기 프로토콜 메시지 NA.NB.{x}KB를 수신한 수신자(B)는 다음의 식과 같이 세션 키(session key)를 유도한다(S26).Thereafter, the receiver B receiving the {x} K B and the key and the protocol message N A .N B. {X} K B derives a session key as in the following equation (S26).

세션 키 = KDF(x,NA,NB)Session key = KDF (x, N A , N B )

도 2의 프로토콜의 경우 세션 키를 알기 위해서는 난수 x 값을 알아야 하는데, 이 값은 수신자(B)의 공개키 KB로 암호화되어 있다. 따라서, 정상적인 경우에 상기 난수 x값은 수신자(B)에게만 알려진다. 그러나 세션이 종료된 후, 송신자(A)의 개인키가 노출되는 경우에는 안전하지만 수신자(B)의 개인키 KB -1이 노출되는 경우에는 상기 난수 x값이 제 3자에게 알려질 가능성이 높다. 이러한 도 2의 종래 프로토콜은 간단한 키 교환 과정에 따라 소요시간이 짧아지는 효율성은 높지만 보안성에 취약하다는 문제점이 있다. In the protocol of FIG. 2, in order to know the session key, the random number x value must be known, which is encrypted with the public key K B of the receiver B. Thus, in the normal case, the random number x value is known only to the receiver B. However, after the session is terminated, it is safe when the sender A's private key is exposed, but when the receiver B's private key K B -1 is exposed, the random number x is likely to be known to a third party. . The conventional protocol of FIG. 2 has a problem in that the time required for shortening is simple according to a simple key exchange process, but it is vulnerable to security.

상술한 바와 같이 종래의 보안 통신 프로토콜은 효율성과 보안성을 동시에 만족하지 못하는 문제점을 갖는다.As described above, the conventional secure communication protocol does not satisfy efficiency and security at the same time.

본 발명은 상기한 종래의 보안 통신 프로토콜의 문제점을 해결하기 위하여 안출한 것으로서, 보안성을 강화하고 인증 및 키 공유 과정의 소요 시간을 줄일 수 있는 보안 통신 프로토콜을 제공하는 데 그 목적이 있다.The present invention has been made to solve the above problems of the conventional secure communication protocol, an object of the present invention is to provide a secure communication protocol that can enhance the security and reduce the time required for authentication and key sharing process.

상기와 같은 목적을 달성하기 위한 본 발명은, 송신자가 난수를 생성 및 암호화하고, 상기 암호화된 난수를 포함하는 제 1 메시지를 수신자에게 전송하는 제 1 단계; 상기 수신자가 난수를 생성 및 암호화하고, 상기 수신자의 암호화된 난수 및 상기 제 1 메시지에 대한 제 1 인증함수 값을 포함하는 제 2 메시지를 상기 송신자에게 전송하는 제 2 단계; 상기 송신자가 상기 제 1 인증함수 값을 확인하고, 상기 송, 수신자의 암호화된 난수 및 상기 제 2 메시지에 대한 제 2 인증함수 값을 포함하는 제 3 메시지를 상기 수신자에게 전송하는 제 3 단계; 상기 수신자가 상기 제 2 인증함수 값을 확인하고, 세션키를 생성하는 제 4 단계를 포함한다. The present invention for achieving the above object, the first step of the sender generates and encrypts a random number, and transmits a first message including the encrypted random number to the receiver; A second step of the receiver generating and encrypting a random number and sending a second message to the sender, the second message including the encrypted random number of the receiver and a first authentication function value for the first message; A third step of the sender confirming the first authentication function value and transmitting a third message to the receiver, the third message including the transmission, an encrypted random number of the receiver and a second authentication function value for the second message; And a fourth step of the receiver checking the second authentication function value and generating a session key.

상기 제 1 단계에서, 상기 수신자의 공개키로 상기 송신자의 난수를 암호화한다. 이때, 문자열과 함께 상기 송신자의 난수를 암호화할 수 있다. 여기서, 상기 문자열은 상기 송신자의 이름 또는 ID 이거나, 또는 상기 송신자의 난수 값을 포함하지 않는 임의의 문자열을 이용한다. In the first step, the random number of the sender is encrypted with the public key of the receiver. At this time, the random number of the sender together with the character string may be encrypted. Here, the string is a name or ID of the sender, or any string that does not include the random number value of the sender.

상기 제 2 단계에서, 상기 송신자의 공개키로 상기 수신자의 난수를 암호화 한다. 이때, 상기 수신자의 난수는 문자열과 함께 암호화될 수 있다. 여기서, 상기 문자열은 상기 수신자의 이름 또는 ID 이거, 또는 상기 송신자의 난수 값 및 상기 수신자의 난수 값을 포함하지 않는 임의의 문자열을 이용한다. In the second step, the random number of the receiver is encrypted with the sender's public key. At this time, the random number of the receiver may be encrypted together with the string. Here, the string uses the name or ID of the receiver, or any string that does not include the random number value of the sender and the random number value of the receiver.

또한, 상기 제 2 단계에서, 상기 송신자의 난수 및 상기 수신자의 난수를 키 유도함수(KDF)에 적용하여 키공유 인증용 키(macK)를 유도하고, 상기 키공유 인증용 키(macK) 값을 이용하여 상기 제 1 인증함수 값을 생성한다.In addition, in the second step, the random number of the sender and the random number of the receiver are applied to a key derivation function KDF to derive a key sharing authentication key macK, and the key sharing authentication key macK value is derived. Generate the first authentication function value.

상기 제 3 단계는, 상기 수신자의 암호화된 난수를 복호화하는 단계와, 상기 수신자의 복호화된 난수와 상기 송신자의 난수를 키 유도함수(KDF)에 적용하여 키공유 인증용 키(macK) 값을 유도하는 단계와, 상기 키공유 인증용 키 값을 이용하여 상기 제 1 인증함수 값을 확인하는 단계와, 상기 송, 수신자의 암호화된 난수 및 상기 제 2 메시지에 대한 제 2 인증함수 값을 포함하는 제 3 메시지를 상기 수신자에게 전송하는 단계로 이루어진다. The third step may include decrypting an encrypted random number of the receiver, and applying a decrypted random number of the receiver and a random number of the sender to a key derivation function (KDF) to derive a key sharing authentication key (macK) value. Confirming the value of the first authentication function using the key value for the key sharing authentication; and a second authentication function value including the encrypted random number of the transmission and the receiver and the second message. 3 sending a message to the recipient.

다른 형태의 본 발명은, 송신자가 제 1 난수를 생성 및 암호화한 후, 상기 암호화된 제 1 난수를 포함하는 제 1 메시지를 수신자에게 전송하는 제 1 단계; 상기 수신자가 제 2 난수를 생성 및 암호화하고 세션키를 생성한 후, 상기 암호화된 제 2 난수와 상기 세션키를 포함하는 제 2 메시지를 상기 송신자에게 전송하는 제 2 단계; 상기 송신자가 암호화된 상기 제 2 난수를 복호화하고, 복호화된 상기 제 2 난수와 상기 제 1 난수를 이용하여 상기 세션키를 인증하는 제 3 단계; 상기 세션키에 대한 인증결과를 포함하는 제 3 메시지를 상기 수신자에게 전송하는 제 4 단계를 포함한다.According to another aspect of the present invention, there is provided a method comprising: a first step of a sender generating and encrypting a first random number, and then transmitting a first message including the encrypted first random number to a receiver; A second step of, after the receiver generates and encrypts a second random number and generates a session key, sending a second message including the encrypted second random number and the session key to the sender; A third step of the sender decrypting the encrypted second random number and authenticating the session key using the decrypted second random number and the first random number; And a fourth step of transmitting a third message including the authentication result for the session key to the recipient.

상기 제 1 단계에서, 상기 수신자의 공개키로 상기 제 1 난수를 암호화한다.In the first step, the first random number is encrypted with the recipient's public key.

상기 제 2 단계에서, 상기 송신자의 공개키로 상기 제 2 난수를 암호화하고, 상기 제 1, 2 난수를 키 유도 함수(KDF)에 적용하여 세션키를 생성한다. In the second step, the second random number is encrypted with the sender's public key, and the first and second random numbers are applied to a key derivation function (KDF) to generate a session key.

상기 제 3 단계에서, 복호화된 상기 제 2 난수와 상기 제 1 난수를 키 유도함수에 적용하여 키공유 인증용 키 값을 유도한 후, 상기 키공유 인증용 키 값을 이용하여 상기 세션키를 인증한다.In the third step, the decoded second random number and the first random number is applied to a key derivation function to derive a key sharing authentication key value, and then authenticate the session key using the key sharing authentication key value. do.

이하, 첨부된 도면을 참조하여 본 발명에 따른 보안 통신 프로토콜을 상세히 설명하면 다음과 같다.Hereinafter, a security communication protocol according to the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명에 따른 보안 통신 프로토콜을 설명하기 위한 도면이다. 3 is a diagram for explaining a secure communication protocol according to the present invention.

본 발명에 따른 보안 통신 프로토콜은 송신자(A)와 수신자(B)가 상대방의 공개키를 알고 있는 환경에서 이루어진다. 여기서, 상기 송신자(A)는 인터넷 뱅킹이나 전자 상거래 등의 경우에 보안 통신을 원하는 사용자로써, PC나 PDA 또는 핸드폰 등의 단말기를 이용하여 인터넷이나 전화선 또는 전용선 등을 통해 수신자(B)에게 접속한다. 상기 수신자(B)는 전자 상거래 서버나 은행 서버 또는 카드회사의 서버 등이 될 수 있다. The secure communication protocol according to the present invention is carried out in an environment in which the sender A and the receiver B know the public key of the other party. Here, the sender A is a user who wants secure communication in the case of Internet banking or electronic commerce, and connects to the receiver B through the Internet, a telephone line or a dedicated line using a terminal such as a PC, a PDA or a mobile phone. . The receiver B may be an electronic commerce server, a bank server, or a server of a card company.

도 3에 도시한 바와 같이, 먼저 송신자(A)는 난수 NA를 생성한다(S31). 이때, 상기 난수 NA는 상기 송신자(A)의 단말기내부의 난수 생성기에 의해 생성되거나 또는 송신자(A)에 의해 임의의 수가 입력될 수 있다. As shown in Fig. 3, first, the transmitter A generates a random number N A (S31). In this case, the random number N A may be generated by a random number generator inside the terminal of the sender A, or an arbitrary number may be input by the sender A. FIG.

그리고, 상기 송신자(A)의 단말기는 수신자(B)의 공개키 KB를 이용하여 상기 난수 NA와 임의의 문자열 text1을 암호화한다. 여기서, 상기 문자열 text1로는 상기 단말기에 저장된 상기 송신자(A)의 이름이나 ID 등을 이용하거나, 또는 상기 송신자(A)가 입력하는 임의의 문자열을 사용할 수 있다. 단, 상기 문자열 text1은 상기 난수 NA의 값을 포함해서는 안된다.The terminal of the sender A encrypts the random number N A and an arbitrary string text1 using the public key K B of the receiver B. Here, the character string text1 may use the name or ID of the sender A stored in the terminal, or any character string input by the sender A may be used. However, the string text1 should not include the value of the random number N A.

이후, 상기 송신자(A)는 인터넷이나 전화선 또는 전용선을 통해 수신자(B)에 접속하고, 상기 암호화된 값 {NA.text1}KB를 상기 수신자(B)측에 전송한다. 이때, 상기 암호화된 값 {NA.text1}KB에 임의의 문자열 text2가 추가될 수 있다. 상기 문자열 text2에도 상기 송신자(A)의 이름이나 ID 등이 포함될 수 있다. 상기 문자열 text2가 추가되는 경우, 상기 수신자(B)에게 전송되는 프로토콜 메시지는 text2.{NA.text1}KB 이다. 여기서, 상기 문자열 text2는 상기 난수 NA의 값을 포함해서는 안된다. 다시 말해서, 상기 문자열 text2에는 난수 NA값과 동일한 숫자가 있어서는 안된다. 따라서, 상기 암호화된 값 {NA.text1}KB에 임의의 문자열 text2가 추가되는 경우, 상기 수신자(B)에게 프로토콜 메시지 text2.{NA.text1}KB를 전송하기 전에 상기 난수 NA 값이 상기 문자열 text2에 포함되었는지 여부를 확인하는 과정이 필요하다. 만약 상기 난수 NA 값이 상기 문자열 text2에 포함되었다면 상기 문자열 text2를 새로운 문자열로 바꾸어야 한다. Then, the sender A accesses the receiver B through the Internet, a telephone line or a dedicated line, and transmits the encrypted value {N A .text1} K B to the receiver B side. In this case, an arbitrary string text2 may be added to the encrypted value {N A .text1} K B. The string text2 may also include a name or ID of the sender A. FIG. When the string text2 is added, the protocol message transmitted to the receiver B is text2. {N A .text1} K B. Here, the string text2 should not include the value of the random number N A. In other words, the string text2 should not have the same number as the random number N A value. Thus, if a random string text2 is added to the encrypted value {N A .text1} K B , the random number N A before sending a protocol message text2. {N A .text1} K B to the receiver B. It is necessary to check whether a value is included in the string text2. If the random number N A value is included in the string text2, the string text2 should be replaced with a new string.

상기 수신자(B)는 상기 프로토콜 메시지 text2.{NA.text1}KB를 수신한 후, 난 수 NB를 생성하고, 송신자(A)의 공개키 KA를 이용하여 상기 난수 NB와 임의의 문자열 text3을 암호화한다(S32). 이때, 상기 난수 NB는 상기 수신자(B)측의 서버에 의해 생성된다. 여기서, 상기 문자열 text3으로써 상기 수신자(B)측 서버에 저장된 상기 수신자(B)의 이름이나 ID를 이용하거나 또는 회사명을 이용할 수 있으며, 상기 문자열 text3은 상기 난수 NA, NB 값을 포함해서는 안된다. After receiving the protocol message text2. {N A .text1} K B , the receiver B generates a random number N B and randomly selects the random number N B using the sender A's public key K A. The string text3 is encrypted (S32). At this time, the random number N B is generated by the server on the receiver B side. Here, the string text3 may use the name or ID of the receiver B stored in the receiver B server or the company name, and the string text3 does not include the random numbers N A and N B values. Can not be done.

이때, 상기 암호화된 값 {NB.text3}KA에 임의의 문자열 text4가 추가될 수 있다. 여기서, 상기 문자열 text3과 text4는 상기 난수 NA와 NB 값을 포함해서는 안되며 송신자(A) 또는 수신자(B)의 이름이나 ID를 포함할 수 있다. 따라서, 상기 암호화된 값 {NB.text3}KA에 임의의 문자열 text4가 추가되는 경우, 상기 송신자(A)에게 프로토콜 메시지를 전송하기 전에 상기 난수 NA와 NB 값이 상기 문자열 text3과 text4에 포함되었는지 여부를 확인하는 과정이 필요하다. 만약 상기 난수 NA와 NB 값이 상기 문자열 text3과 text4에 포함되었다면 새로운 문자열로 바꾸어야 한다. At this time, an arbitrary string text4 may be added to the encrypted value {N B .text3} K A. Here, the strings text3 and text4 should not include the random numbers N A and N B values and may include the name or ID of the sender A or the receiver B. Thus, if an arbitrary string text4 is added to the encrypted value {N B .text3} K A , the random number N A and N B values are added to the string text3 and text4 before sending a protocol message to the sender A. It is necessary to check whether it is included in the. If the random numbers N A and N B are included in the strings text3 and text4, they must be replaced with new strings.

또한, 지금까지의 프로토콜 메시지 text2.{NA.text1}KB.text4.{NB.text3}K A를 인증하기 위한 인증함수 값 mac1을 생성한다(S33). 상기 프로토콜 메시지(handshake1)에 대한 인증함수 값 mac1은 다음과 같은 식으로 유도된다. In addition, an authentication function value mac1 for authenticating the protocol message text2. {N A .text1} K B .text4. {N B .text3} K A is generated (S33). The authentication function value mac1 for the protocol message handshake1 is derived as follows.

mac1 = MACmacK(handshake1)mac1 = MAC macK (handshake1)

여기서, 상기 MAC은 메시지 인증함수(message authentication code)이고, 상기 handshake1은 text2.{NA.text1}KB.text4.{NB.text3}KA이다. 그리고 상기 macK는 아래의 식과 같이 두 난수 NA와 NB와 문자열 text1과 text2를 키 유도함수에 적용하여 유도된 키공유 인증용 키이다. Herein, the MAC is a message authentication code, and the handshake1 is text2. {N A .text1} K B .text4. {N B .text3} K A. And macK is a key for key sharing authentication derived by applying two random numbers N A , N B , strings text1 and text2 to a key derivation function as shown in the following equation.

macK = KDF(NA, NB, text1, text2)macK = KDF (N A , N B , text1, text2)

여기서, 상기 KDF는 키 유도함수(key derivation function)이며, 상기 KDF 함수에는 상기 text3과 text4가 더 포함될 수 있으며, 송신자와 수신자의 ID는 반드시 포함되어야 한다. 상기 4식과 같이 상기 키공유 인증용 키 macK는 두 난수 NA와 NB를 모두 알고 있는 경우에만 유도해낼 수 있다. Here, the KDF is a key derivation function, and the KDF function may further include the text3 and text4, and the IDs of the sender and the receiver must be included. As shown in Equation 4, the key macK for key sharing authentication can be derived only when both random numbers N A and N B are known.

이어, 상기 암호화된 값 {NB.text3}KA와 상기 인증함수 값 mac1을 상기 송신자(A)측에 전송한다. Subsequently, the encrypted value {N B .text3} K A and the authentication function value mac1 are transmitted to the sender A side.

상기 송신자(A)는 상기 프로토콜 메시지 중 {NB.text3}KA를 복호화하여 상기 수신자(B)측의 난수 NB 값을 추출하고, 상기 송신자(A)가 보유한 난수 NA와, 복호화하여 얻은 상기 수신자(B)의 난수 NB를 이용하여 상기 인증함수 값 mac1이 맞는지를 판단한다(S34). 이때, 상기 인증함수 값 mac1이 맞는지 판단하기 위해 상기 난수 NA와 NB 값으로부터 키공유 인증용 키 macK를 유도하는 과정이 필요하다. The sender A decodes {N B .text3} K A in the protocol message, extracts a random number N B value of the receiver B, and decodes the random number N A held by the sender A. It determines the authentication function value mac1 is correct by using a random number N B of the callee (B) obtained (S34). In this case, a process of deriving a key share authentication key macK from the random numbers N A and N B values is necessary to determine whether the authentication function value mac1 is correct.

상기 S34 단계에서 상기 인증함수 값 mac1이 올바른 값으로 판단되면, 상기 송신자(A)는 상기 프로토콜 메시지 text4.{NB.text3}KA.mac1에 대한 인증함수 값 mac2를 계산한다(S35). 이때, 임의의 문자열 text5가 추가될 수 있으며, 상기 문자열 text5는 상기 난수 NA와 NB 값과 상기 키공유 인증용 키 macK와 관련된 정보를 포함해서는 안된다. 이 경우 상기 프로토콜 메시지(handshake2)에 대한 인증함수 값 mac2는 다음과 같은 식으로 유도된다. If it is determined in step S34 that the authentication function value mac1 is correct, the sender A calculates an authentication function value mac2 for the protocol message text4. {N B .text3} K A .mac1 (S35). At this time, an arbitrary string text5 may be added, and the string text5 should not include information related to the random number N A and N B values and the key macK for key sharing authentication. In this case, the authentication function value mac2 for the protocol message handshake2 is derived as follows.

mac2 = MACmacK(handshake2)mac2 = MAC macK (handshake2)

여기서, handshake2는 text2.{NA.text1}KB.text4.{NB.text3}KA.text5.mac1 이고, 상기 mac1은 MACmacK(handshake1)이다. Here, handshake2 is text2. {N A .text1} K B .text4. {N B .text3} K A .text5.mac1, and mac1 is MAC macK (handshake1).

이어, 상기 인증함수 값 mac2를 상기 수신자(B)측에 전송한다. Subsequently, the authentication function value mac2 is transmitted to the receiver B side.

이후, 상기 프로토콜 메시지 text5.mac2를 수신한 상기 수신자(B)는 상기 송신자(A)의 난수 NA와 상기 수신자(B)의 난수 NB를 이용하여 상기 인증함수 값 mac2이 맞는지를 판단한다(S36). Subsequently, the receiver B receiving the protocol message text5.mac2 determines whether the authentication function value mac2 is correct using the random number N A of the sender A and the random number N B of the receiver B ( S36).

상기 S36 단계에서 상기 인증함수 값 mac2이 올바른 값으로 판단되면, 상기 수신자(B)는 상기 난수 NA와 NB 값을 이용하여 세션키를 생성하고(S37), 상기 세션키를 상기 송신자(A)측에 전송하여 공유한다. 그리고, 상기 송신자(A)와 상기 수신자(B)는 상기 세션키를 이용하여 스트림을 암호화하여 보안 통신을 실시한다. If the authentication function value mac2 is determined to be a correct value in step S36, the receiver B generates a session key using the random numbers N A and N B values (S37), and sends the session key to the sender A Share by sending to). The sender A and the receiver B encrypt the stream using the session key to perform secure communication.

실시예Example

먼저, 도 4에 도시한 바와 같이, 송신자(A)가 난수 생성기를 이용하여 난수 NA를 생성하고, 수신자(B)의 공개키 KB를 이용하여 상기 난수 NA를 암호화한다. First, as shown in Fig. 4, the sender A generates a random number N A by using a random number generator, and encrypts the random number N A by using the public key K B of the receiver B.

이후, 상기 송신자(A)는 인터넷이나 전화선 또는 전용선을 통해 수신자(B)에 접속하고, 상기 암호화된 값 {NA}KB를 임의의 문자열과 함께 상기 수신자(B)측에 전송한다. 이때, 상기 임의의 문자열로는 상기 송신자(A)의 이름 A와 상기 수신자(B)의 이름 B를 이용한다. 따라서, 상기 수신자(B)에게 전송되는 프로토콜 메시지는 A.B.{NA}KB 이다. Then, the sender A connects to the receiver B via the Internet, a telephone line or a dedicated line, and transmits the encrypted value {N A } K B along with an arbitrary character string to the receiver B side. In this case, a name A of the sender A and a name B of the receiver B are used as the arbitrary character string. Thus, the protocol message sent to the receiver B is AB {N A } K B.

상기 수신자(B)는 상기 프로토콜 메시지 A.B.{NA}KB를 수신한 후, 난수 NB를 생성하고, 송신자(A)의 공개키 KA를 이용하여 상기 난수 NB를 암호화한다. 여기서, 상기 난수 NB는 상기 수신자(B)측의 서버에 의해 생성된다. After receiving the protocol message AB {N A } K B , the receiver B generates a random number N B and encrypts the random number N B using the sender A's public key K A. Here, the random number N B is generated by the server on the receiver B side.

또한, 지금까지의 프로토콜 메시지 A.B.{NA}KB.{NB}KA를 인증하기 위한 인증함수 값 mac1을 생성한다. 상기 프로토콜 메시지(handshake1)에 대한 인증함수 값 mac1은 MACmacK(handshake1)과 같다. 여기서, 상기 handshake1은 A.B.{NA}KB .{NB}KA이고, 상기 macK는 두 난수 NA와 NB와 상기 송신자(A) 및 수신자(B)의 이름 A와 B를 이용하여 유도된 키공유 인증용 키이다. 상기 인증함수 값 mac1을 유도하는데 사용되는 상기 키공유 인증용 키 macK는 차후 세션키로 사용될 수 있다. 이 경우 별도 의 세션키를 유도하는 과정은 생략된다.In addition, it generates an authentication function value mac1 for authenticating the protocol message AB {N A } K B. {N B } K A. The authentication function value mac1 for the protocol message handshake1 is the same as MAC macK (handshake1). Here, handshake1 is AB {N A } K B. {N B } K A , and macK uses two random numbers N A and N B and names A and B of the sender (A) and the receiver (B). Derived key sharing key. The key share authentication key macK used to derive the authentication function value mac1 may be used as a later session key. In this case, the process of deriving a separate session key is omitted.

이어, 상기 암호화 단계에서 암호화된 값 {NB}KA와 상기 인증함수 값 mac1을 상기 송신자(A)측에 전송한다. 상기 송신자(A)에게 전송되는 프로토콜 메시지는 {NB}KA.MACmacK(handshake1)이다. 이때, 상기 프로토콜 메시지에 임의의 문자열이 더 추가될 수 있으며, 상기 임의의 문자열은 상기 난수 NA와 NB 값을 포함해서는 안된다. Subsequently, the encrypted value {N B } K A and the authentication function value mac1 are transmitted to the sender A side. The protocol message transmitted to the sender A is {N B } K A .MAC macK (handshake1). In this case, an arbitrary string may be further added to the protocol message, and the arbitrary string should not include the random numbers N A and N B values.

이후, 상기 송신자(A)가 상기 프로토콜 메시지 {NB}KA.MACmacK(handshake1)을 수신한 후, 상기 송신자(A)는 상기 프로토콜 메시지 중 {NB}KA를 복호화하여 상기 수신자(B)측의 난수 NB 값을 추출하고, 상기 송신자(A)가 보유한 난수 NA와, 복호화하여 얻은 상기 수신자(B)의 난수 NB를 이용하여 키공유 인증용 키 macK를 생성한다. 그리고, 이때 생성된 키공유 인증용 키 macK를 이용하여 상기 인증함수 값 MACmacK(handshake1) 값이 맞는지를 판단한다. 상기 키공유 인증용 키 macK가 세션키로 사용되는 경우, 수신자(B)측에서 생성된 후 전송되어진 세션키 macK를 송신자(A)측에서 생성된 macK로 인증하는 것이다.Subsequently, after the sender A receives the protocol message {N B } K A .MAC macK (handshake1), the sender A decodes {N B } K A of the protocol message and the receiver ( The random number N B value of the side B) is extracted, and a key macK for key sharing authentication is generated using the random number N A held by the sender A and the random number N B of the receiver B obtained by decryption. Then, it is determined whether the authentication function value MAC macK (handshake1) is correct using the generated key sharing authentication key macK. If the key macK for key sharing authentication is used as the session key, the session key macK generated after being generated at the receiver B is authenticated with the macK generated at the sender A side.

상기 단계에서 상기 MACmacK(handshake1) 값이 올바른 값으로 판단되면, 상기 송신자(A)는 상기 프로토콜 메시지 {NB}KA.MACmacK(handshake1)에 대한 인증함수 값 mac2를 계산한다. 상기 프로토콜 메시지(handshake2)에 대한 인증함수 값 mac2는 상기 인증함수 값 mac1에 대한 인증 결과를 포함하는 것으로써 MACmacK(handshake2)로 표현된다. 여기서, handshake2는 {NB}KA.MACmacK(handshake1) 이다. In this step, if the MAC macK (handshake1) value is determined to be a correct value, the sender A calculates an authentication function value mac2 for the protocol message {N B } K A .MAC macK (handshake1). The authentication function value mac2 for the protocol message handshake2 includes the authentication result for the authentication function value mac1 and is expressed as MAC macK (handshake2). Where handshake2 is {N B } K A .MAC macK (handshake1).

이어, 상기 인증함수 값 MACmacK(handshake2)를 상기 수신자(B)측에 전송한다. 이때, 상기 인증함수 값 MACmacK(handshake2)에 임의의 문자열이 추가될 수 있다. 상기 임의의 문자열이 추가되는 경우, 상기 문자열은 상기 난수 NA와 NB 값과 상기 키공유 인증용 키 macK와 관련된 정보를 포함해서는 안된다. Subsequently, the authentication function value MAC macK (handshake2) is transmitted to the receiver B. At this time, an arbitrary string may be added to the authentication function value MAC macK (handshake2). If the arbitrary string is added, the string should not contain information related to the random number N A and N B values and the key macK for key sharing authentication.

이후, 상기 인증함수 값 MACmacK(handshake2)을 포함한 프로토콜 메시지를 수신한 상기 수신자(B)는 상기 난수 NA와 난수 NB를 이용하여 상기 인증함수 값 MACmacK(handshake2)이 맞는지를 판단하여 최종적으로 세션키 macK를 인증한다. Then, the recipient (B) receiving the protocol message including said authentication function value MAC macK (handshake2) is finally determines the authentication function value MAC is correct macK (handshake2) using a random number N B and the random number N A Authenticate the session key macK with

상기 단계에서 상기 인증함수 값 MACmacK(handshake2) 값이 올바른 값으로 판단되면, 상기 송신자(A)와 수신자(B)는 macK를 세션키로 이용하여 스트림을 암호화하여 보안 통신을 실시한다. In this step, if the authentication function value MAC macK (handshake2) is determined to be a correct value, the sender A and the receiver B encrypt the stream using macK as a session key to perform secure communication.

상술한 바와 같이, 본 발명의 프로토콜은 상대방의 공개키로 난수를 암호화하고 이전 프로토콜 메시지의 인증함수 값을 생성한 뒤 이들을 전송하기 때문에 수신자(B)의 개인키가 노출된다고 하더라도 난수 NB값은 제 3자에게 알려질 수 있지만 난수 NA값은 알려지지 않는다. 또한 송신자(A)의 개인키가 노출된다고 하더라도 난 수 NA값은 알려질 수 있지만 난수 NB값은 알려지지 않는다. , The protocol of the present invention even if the encryption of the random number key, the other party's public and a private key, the recipient (B) exposure, because transfer them have generated the authentication function value from the previous protocol message, a random number N B value as described above, the It may be known to the third party, but the random number N A value is unknown. Also, even if the sender A's private key is exposed, the random number N A value may be known, but the random number N B value is unknown.

본 발명에 따른 보안 통신 프로토콜은 세션이 종료된 후에 송신자의 개인키가 노출되거나 또는 수신자의 개인키가 노출된다고 하더라도 세션 키의 보안을 유지할 수 있기 때문에 해킹 등과 같은 위험으로부터 안전하다. 또한, 복잡한 연산과정이 필요치 않기 때문에 인증 및 키 공유 과정의 소요 시간을 줄일 수 있다. 따라서, 본 발명은 보안성과 효율성을 동시에 만족시킬 수 있다. The secure communication protocol according to the present invention is secured from risks such as hacking because the session key can be secured even if the sender's private key is exposed or the receiver's private key is exposed after the session is terminated. In addition, the time required for authentication and key sharing can be reduced because no complicated operation is required. Therefore, the present invention can satisfy both security and efficiency at the same time.

이상에서 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정해져야 한다. Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention. Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.

Claims (17)

송신자가 난수를 생성 및 암호화하고, 상기 암호화된 난수를 포함하는 제 1 메시지를 수신자에게 전송하는 제 1 단계;A first step of a sender generating and encrypting a random number and sending a first message including the encrypted random number to a receiver; 상기 수신자가 난수를 생성 및 암호화하고, 상기 수신자의 암호화된 난수 및 상기 제 1 메시지에 대한 제 1 인증함수 값을 포함하는 제 2 메시지를 상기 송신자에게 전송하는 제 2 단계;A second step of the receiver generating and encrypting a random number and sending a second message to the sender, the second message including the encrypted random number of the receiver and a first authentication function value for the first message; 상기 송신자가 상기 제 1 인증함수 값을 확인하고, 상기 송, 수신자의 암호화된 난수 및 상기 제 2 메시지에 대한 제 2 인증함수 값을 포함하는 제 3 메시지를 상기 수신자에게 전송하는 제 3 단계;A third step of the sender confirming the first authentication function value and transmitting a third message to the receiver, the third message including the transmission, an encrypted random number of the receiver and a second authentication function value for the second message; 상기 수신자가 상기 제 2 인증함수 값을 확인하고, 세션키를 생성하는 제 4 단계를 포함하는 보안 통신 방법. And a fourth step of the receiver checking the second authentication function value and generating a session key. 제 1 항에 있어서,The method of claim 1, 상기 제 1 단계에서, 상기 수신자의 공개키로 상기 송신자의 난수를 암호화함을 특징으로 하는 보안 통신 방법.In the first step, encrypting the random number of the sender with the public key of the receiver. 제 1 항에 있어서,The method of claim 1, 상기 제 1 단계에서, 문자열과 함께 상기 송신자의 난수를 암호화함을 특징으로 하는 보안 통신 방법.In the first step, encrypting a random number of the sender together with a character string. 제 3 항에 있어서,The method of claim 3, wherein 상기 문자열은 상기 송신자의 이름 또는 ID 인 것을 특징으로 하는 보안 통신 방법.The character string is a name or ID of the sender. 제 3 항에 있어서,The method of claim 3, wherein 상기 문자열은 상기 송신자의 난수 값을 포함하지 않는 임의의 문자열인 것을 특징으로 하는 보안 통신 방법.And the string is any string not including a random number value of the sender. 제 1 항에 있어서,The method of claim 1, 상기 제 2 단계에서, 상기 송신자의 공개키로 상기 수신자의 난수를 암호화함을 특징으로 하는 보안 통신 방법.And in the second step, encrypting the random number of the receiver with the sender's public key. 제 1 항에 있어서,The method of claim 1, 상기 제 2 단계에서, 문자열과 함께 상기 수신자의 난수를 암호화함을 특징으로 하는 보안 통신 방법.In the second step, encrypting a random number of the receiver together with a string. 제 7 항에 있어서,The method of claim 7, wherein 상기 문자열은 상기 수신자의 이름 또는 ID 인 것을 특징으로 하는 보안 통신 방법.The character string is a name or ID of the receiver. 제 7 항에 있어서,The method of claim 7, wherein 상기 문자열은 상기 송신자의 난수 값 및 상기 수신자의 난수 값을 포함하지 않는 임의의 문자열인 것을 특징으로 하는 보안 통신 방법.And the string is any string not including the random number value of the sender and the random number value of the receiver. 제 1 항에 있어서,The method of claim 1, 상기 제 2 단계에서, 상기 송신자의 난수 및 상기 수신자의 난수를 키 유도함수(KDF)에 적용하여 키공유 인증용 키(macK)를 유도하고, 상기 키공유 인증용 키(macK) 값을 이용하여 상기 제 1 인증함수 값을 생성함을 특징으로 하는 보안 통신 방법.In the second step, the random number of the sender and the random number of the receiver are applied to a key derivation function (KDF) to derive a key sharing authentication key (macK), and using the key sharing authentication key (macK) value And generating the first authentication function value. 제 1 항에 있어서,The method of claim 1, 상기 제 3 단계는,The third step, 상기 수신자의 암호화된 난수를 복호화하는 단계와,Decrypting the encrypted random number of the receiver; 상기 수신자의 복호화된 난수와 상기 송신자의 난수를 키 유도함수(KDF)에 적용하여 키공유 인증용 키(macK) 값을 유도하는 단계와,Deriving a key shared authentication key (macK) value by applying the decrypted random number of the receiver and the random number of the sender to a key derivation function (KDF); 상기 키공유 인증용 키 값을 이용하여 상기 제 1 인증함수 값을 확인하는 단계와, Checking the value of the first authentication function using the key value for the key sharing authentication; 상기 송, 수신자의 암호화된 난수 및 상기 제 2 메시지에 대한 제 2 인증함수 값을 포함하는 제 3 메시지를 상기 수신자에게 전송하는 단계로 이루어짐을 특징으로 하는 보안 통신 방법. And transmitting a third message to the receiver, the third message comprising the transmission, an encrypted random number of the receiver, and a second authentication function value for the second message. 제 1 항에 있어서,The method of claim 1, 상기 수신자가 상기 세션키를 생성한 후, 상기 세션키를 상기 송신자에게 전송하는 단계를 더 포함하는 보안 통신 방법.And after the receiver generates the session key, sending the session key to the sender. 송신자가 제 1 난수를 생성 및 암호화한 후, 상기 암호화된 제 1 난수를 포함하는 제 1 메시지를 수신자에게 전송하는 제 1 단계;After the sender generates and encrypts the first random number, sending a first message to the receiver including the encrypted first random number; 상기 수신자가 제 2 난수를 생성 및 암호화하고 세션키를 생성한 후, 상기 암호화된 제 2 난수와 상기 세션키를 포함하는 제 2 메시지를 상기 송신자에게 전송하는 제 2 단계;A second step of, after the receiver generates and encrypts a second random number and generates a session key, sending a second message including the encrypted second random number and the session key to the sender; 상기 송신자가 암호화된 상기 제 2 난수를 복호화하고, 복호화된 상기 제 2 난수와 상기 제 1 난수를 이용하여 상기 세션키를 인증하는 제 3 단계; A third step of the sender decrypting the encrypted second random number and authenticating the session key using the decrypted second random number and the first random number; 상기 세션키에 대한 인증결과를 포함하는 제 3 메시지를 상기 수신자에게 전송하는 제 4 단계를 포함하는 보안 통신 방법.And transmitting a third message including the authentication result of the session key to the receiver. 제 13 항에 있어서,The method of claim 13, 상기 제 1 단계에서, 상기 수신자의 공개키로 상기 제 1 난수를 암호화함을 특징으로 하는 보안 통신 방법.And in the first step, encrypting the first random number with the public key of the receiver. 제 13 항에 있어서,The method of claim 13, 상기 제 2 단계에서, 상기 송신자의 공개키로 상기 제 2 난수를 암호화함을 특징으로 하는 보안 통신 방법.And in the second step, encrypting the second random number with the sender's public key. 제 13 항에 있어서,The method of claim 13, 상기 제 2 단계에서, 상기 제 1, 2 난수를 키 유도 함수(KDF)에 적용하여 세션키를 생성함을 특징으로 하는 보안 통신 방법.In the second step, the session key is generated by applying the first and second random numbers to a key derivation function (KDF). 제 13 항에 있어서,The method of claim 13, 상기 제 3 단계에서, 복호화된 상기 제 2 난수와 상기 제 1 난수를 키 유도함수에 적용하여 키공유 인증용 키 값을 유도한 후, 상기 키공유 인증용 키 값을 이용하여 상기 세션키를 인증함을 특징으로 하는 보안 통신 방법.In the third step, the decoded second random number and the first random number is applied to a key derivation function to derive a key sharing authentication key value, and then authenticate the session key using the key sharing authentication key value. Secure communication method characterized in that.
KR1020030038332A 2003-06-13 2003-06-13 Security Communication Method KR100542127B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030038332A KR100542127B1 (en) 2003-06-13 2003-06-13 Security Communication Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030038332A KR100542127B1 (en) 2003-06-13 2003-06-13 Security Communication Method

Publications (2)

Publication Number Publication Date
KR20040107309A KR20040107309A (en) 2004-12-20
KR100542127B1 true KR100542127B1 (en) 2006-01-11

Family

ID=37381570

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030038332A KR100542127B1 (en) 2003-06-13 2003-06-13 Security Communication Method

Country Status (1)

Country Link
KR (1) KR100542127B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621577B2 (en) 2005-08-19 2013-12-31 Samsung Electronics Co., Ltd. Method for performing multiple pre-shared key based authentication at once and system for executing the method

Also Published As

Publication number Publication date
KR20040107309A (en) 2004-12-20

Similar Documents

Publication Publication Date Title
Kaeo Designing network security
US8132020B2 (en) System and method for user authentication with exposed and hidden keys
US7975139B2 (en) Use and generation of a session key in a secure socket layer connection
US6874089B2 (en) System, method and computer program product for guaranteeing electronic transactions
US7475250B2 (en) Assignment of user certificates/private keys in token enabled public key infrastructure system
JP2003503901A (en) User information security apparatus and method in mobile communication system in Internet environment
JP2009510955A (en) User authentication method and device
JP6627043B2 (en) SSL communication system, client, server, SSL communication method, computer program
Charjan et al. An overview of secure sockets layer
Raddum et al. Security analysis of mobile phones used as OTP generators
JPH0969831A (en) Cipher communication system
JP2001069138A (en) User verifying system on internet for shared key enciphered ic card
KR100542127B1 (en) Security Communication Method
GB2395304A (en) A digital locking system for physical and digital items using a location based indication for unlocking
Davaanaym et al. A ping pong based one-time-passwords authentication system
JP4034946B2 (en) COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND RECORDING MEDIUM
JP2003224562A (en) Personal authentication system and program
Mohammadi et al. Virtual password using Runge-Kutta method for internet banking
Piper Encryption
Gutmann Cryptography and Data Security
Nali et al. CROO: A universal infrastructure and protocol to detect identity fraud
Nielson Cryptographic Systems Technologies
Choi et al. TPP: The two-way password protocol
Auyong et al. Authentication services for computer networks and electronic messaging systems
JPH10111653A (en) Digital signature method

Legal Events

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

Payment date: 20130103

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140102

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150102

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170106

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190103

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20200121

Year of fee payment: 15