KR20050060394A - 암호화된 통신을 위한 비밀키 교환 방법 - Google Patents

암호화된 통신을 위한 비밀키 교환 방법 Download PDF

Info

Publication number
KR20050060394A
KR20050060394A KR1020030092003A KR20030092003A KR20050060394A KR 20050060394 A KR20050060394 A KR 20050060394A KR 1020030092003 A KR1020030092003 A KR 1020030092003A KR 20030092003 A KR20030092003 A KR 20030092003A KR 20050060394 A KR20050060394 A KR 20050060394A
Authority
KR
South Korea
Prior art keywords
secret key
secret
receiving side
encrypted
data
Prior art date
Application number
KR1020030092003A
Other languages
English (en)
Other versions
KR100763464B1 (ko
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 KR1020030092003A priority Critical patent/KR100763464B1/ko
Publication of KR20050060394A publication Critical patent/KR20050060394A/ko
Application granted granted Critical
Publication of KR100763464B1 publication Critical patent/KR100763464B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

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

Abstract

본 발명은 임의의 두 송신측과 수신측 사이에서 양방향 통신을 시작하거나 양방향 통신을 진행 중인 상황에서, 암호화된 통신을 위하여 암호화를 시작하고자 할 때 암호화의 시작을 알리는 암호화 개시 신호의 1회 전송을 통해 안전하게 암호화된 양방향 통신용 비밀키를 교환할 수 있는 방법에 관한 것이다.
본 발명에 따른 비밀키 교환 방법은, 송신측에서, 공유 비밀 데이터를 이용하여 비밀키를 생성하는 단계; 상기 송신측에서, 상기 생성된 비밀키를 암호화 하는 단계; 상기 송신측에서, 상기 암호화된 비밀키를 암호화 개시 신호에 삽입하는 단계; 상기 송신측에서, 상기 암호화 개시 신호를 수신측으로 송신하는 단계; 상기 수신측에서, 상기 암호화된 비밀키를 수신하는 단계; 상기 수신측에서, 공유 비밀 데이터를 이용하여 상기 수신된 암호화된 비밀키를 해독하는 단계; 상기 수신측에서, 공유 비밀 데이터를 이용하여 비밀키를 생성하는 단계; 및 상기 수신측에서, 상기 생성한 비밀키와 상기 해독한 비밀키를 비교하는 단계를 포함하는 것을 특징으로 한다.

Description

암호화된 통신을 위한 비밀키 교환 방법{Method of exchanging secret key for secured communication}
본 발명은 임의의 송신측 및 수신측 사이에서 암호화된 양방향 통신용 비밀키를 교환하는 방법에 관한 것이다. 보다 구체적으로, 본 발명은 임의의 두 송신측과 수신측 사이에서 양방향 통신을 시작하거나 양방향 통신을 진행 중인 상황에서, 암호화된 통신을 위하여 암호화를 시작하고자 할 때 암호화의 시작을 알리는 암호화 개시 신호의 1회 전송을 통해 안전하게 암호화된 양방향 통신용 비밀키를 교환할 수 있는 방법에 관한 것이다.
일반적으로 암호화를 위해서는 송신측과 수신측이 공통적으로 알고 있는 비밀키가 필요하며, 이러한 비밀키를 사용하여 통신하고자 하는 정보 또는 데이터의 암호화 및 해독이 수행된다.
도1은 종래의 통상적인 비밀키 생성 수단의 구성을 나타낸다. 종래의 비밀키 생성 수단은 도1과 같이 단순한 난수 발생기(101)와 상기 난수 발생기(102)에서 출력된 난수를 이용하여 일회용 비밀키를 생성하는 일회용 비밀키 생성기(101)로 구성된다. 이러한 비밀키 생성 수단을 통해 일회용 비밀키를 생성하여 암호화된 통신을 수행하고, 그 통신 접속이 해제되고 새로이 접속될 때마다 새로운 비밀키를 생성하여 암호화된 통신을 수행하게 된다.
도1의 난수 발생기(101)는 무작위로 난수(x)를 발생시키고, 발생된 난수(x)는 일회용 비밀키 생성기(101)의 선형 또는 비선형 함수에 의해 비밀키(K(x))를 생성한다. 일회용 비밀키 생성기(101)에 의해 생성된 비밀키(K(x))의 신뢰도 또는 안전성은 주로 난수(z)의 무작위성에 의해 결정된다. 즉 시간 t1에서 생성된 비밀키 K1(x)와 시간 t2에서 생성된 비밀키 K2(x) 사이에 상관도가 전혀 없도록 설계되어야 그 안전성을 신뢰할 수 있다.
난수 발생기(100)에서 발생된 난수의 무작위성이 안전을 보장할 수 있을 정도로 높은 경우에는 일회용 비밀키 생성기(101)를 생략하고 난수 발생기(100)의 출력(x)을 그대로 암호화에 사용하기도 한다.
일반적으로 다수의 사용자들 사이에서 암호화된 통신을 하기 위해서는 암호화된 통신을 하기 전에, (1) 사전에 안전하게 "마스터 비밀키"를 공유하고, 이 "마스터 비밀키"를 이용하여 암호화한 "일회용 비밀키"를 두 사용자 간에 교환하거나, 또는 (2) 공개키 암호 알고리즘(또는 비대칭키 알고리즘)처럼 비밀키를 보관하고 인증해 주는 제3의 인증기관의 도움을 받아 필요한 암호화에 필요한 "비밀키"를 교환해야 한다.
즉 암호화된 정보를 주고받기 전에, 사용자들 간에 주고받을 정보의 암호화를 위한 비밀키를 교환하는 것이 선행되어야 한다.
도1에 도시된 비밀키 생성 수단(102)에 의해 생성된 일회용 비밀키(K(x))는 사전에 공유된 마스터 키를 이용하여 암호화된 뒤 전송되거나, DH(Diffie-Hellman), SSL(Secure Socket Layer) 프로토콜과 같이 공개키 방식을 통해 전송되거나, 커베로스(Kerberos)와 같이 중앙 기관이 키 교환을 도와주는 방식 또는 다른 보안 프로토콜을 통해 사용자들에게 교환되고, 주고 받고자 하는 정보를 암호화함으로써 안전하게 통신하는데 사용된다.
그러나, 상기 (1)의 경우는 "마스터 비밀키"를 내장한 장비를 도난 당한 경우, 혹은 사용자들 중 한 명이 악의적으로 제3의 도청자에게 마스터 비밀키를 유출할 경우는 두 사용자 사이의 통신을 도청하여 얻은 정보로부터 두 사용자(갑, 을)사이에 공유된 "일회용 비밀키"를 알아낼 수 있으며 이를 이용하여 암호화된 정보를 해독할 수 있는 문제가 있다.
상기 (2)의 경우도 사용하고자 하는 암호 방식이 암호화키와 해독키가 서로 다른 공개키 방식(비대칭키 방식)이 아닐 경우에는 사용할 수 없으며, 설사 공개키 방식을 사용한다 할 지라도 제3의 인증기관이 인프라구조를 구축하고 있지 않을 경우에는 역시 사용할 수 없으며, 사용할 수 있는 경우에도 제3의 인증기관이 해킹되거나 제3의 인증기관 내부자의 악의적인 협조를 통해 비밀키가 누출될 수 있는 가능성을 내포하고 있는 문제점들이 있다.
미국 특허 등록 공보 제6,215,878호 및 제6,038,322호(출원인 : 시스코 테크놀로지 인코포레이티드, 발명의 명칭 : 그룹 키 분배 방법)는 키 홀더(key holder)가 원하는 그룹 멤버에게 암호화를 위한 비밀키를 분배하는 방법을 개시하고 있다. 상기 공보들에서는 비밀키를 분배하는 주체인 키 홀더와 비밀키를 수신하는 그룹 멤버가, 비밀키를 암호화하여 주고받되, 각각 자신의 신원에 대한 정보, 시간 정보, 믹싱 함수 또는 디지털 서명을 포함하는 특별한 정보를 교환하여 상대방을 확인함으로써 그 상대가 원하는 그룹 멤버 또는 키 홀더가 맞는지 확인함으로써 비밀키를 안전하게 교환할 수 있는 방법을 개시하고 있다.
그러나, 상기 공보들에 개시된 발명에 의해서도 그룹 멤버 중 한명이 악의적으로 자신의 신원 정보 등을 유출할 경우에는, 비밀키가 유출될 수 있고, 키홀더와 그룹 멤버간의 통신을 도청하면, 유출된 비밀키를 사용하여 암호화된 정보를 해독할 수 있기 때문에, 안전성의 문제는 여전히 존재한다.
본 발명은 일회용 비밀키 또는 마스터 비밀키 생성 수단을 안전하게 내장하고 있는 다수의 사용자들 사이에서 안전한 통신을 보장하는 것을 목적으로 한다.
본 발명은 다수의 사용자들이 공유 비밀 데이터를 공유함으로써 사용자들이 통신하는 환경에서 장비의 도난이나 내부자의 협조가 발생하는 경우에도 제3의 도청자가 예측할 수 없는 "일회용 비밀키"를 두 사용자가 안전하게 교환하여 암호화된 통신을 수행할 수 있도록 하는데 그 목적이 있다.
본 발명에 따른 비밀키 교환 방법은, 송신측에서, 공유 비밀 데이터를 이용하여 비밀키를 생성하는 단계;
상기 송신측에서, 상기 생성된 비밀키를 암호화 하는 단계;
상기 송신측에서, 상기 암호화된 비밀키를 암호화 개시 신호에 삽입하는 단계;
상기 송신측에서, 상기 암호화 개시 신호를 수신측으로 송신하는 단계;
상기 수신측에서, 상기 암호화된 비밀키를 수신하는 단계;
상기 수신측에서, 공유 비밀 데이터를 이용하여 상기 수신된 암호화된 비밀키를 해독하는 단계;
상기 수신측에서, 공유 비밀 데이터를 이용하여 비밀키를 생성하는 단계; 및
상기 수신측에서, 상기 생성한 비밀키와 상기 해독한 비밀키를 비교하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 비밀키 교환 방법에서는 송신측과 수신측이 사전에 사용자 환경을 기반으로 하는 공유 비밀 데이터 및 외부에서 알아낼 수 없는 비밀키 생성 방법을 안전하게 교환하였음을 전제로 한다. 동일한 환경의 송신측과 수신측이 아닐 경우에는 제3의 도청자가 상기 송신측과 수신측이 사전에 공유하고 있는 공유 비밀 데이터 및 비밀키 생성 방법을 알고 있고, 송신측의 "암호화 개시 신호"를 도청, 혹은 수신할 지라도 송신측과 수신측이 교환한 것과 동일한 비밀키를 제3의 도청자가 생성할 수 없도록 한다.
이하 도면을 참조하여 본 발명을 보다 상세히 설명한다.
도2는 본 발명의 일 실시예에 따른 비밀키 생성 방법의 구성을 나타낸다.
본 발명에 따른 비밀키 교환 방법에 따라 비밀키를 교환하기 위해서는, 도1에 도시된 바와 같은 종래의 일반적인 난수 발생기(101)가 발생한 난수(x) 및 발생된 난수(x)를 입력으로 받아 비밀키를 생성하는 일회용 비밀키 생성기(102) 대신, 송신측과 수신측이 사전에 공유하거나 사전에 약속했고, 시간에 따라 변화하는 등의 제3자가 예측할 수 없는 특성을 갖는 정보들, 즉 공유 비밀 데이터(201)를 입력으로 사용하여 일회용 비밀키를 생성한다.
공유 비밀 데이터(201)는 송신측과 수신측 사이에서 암호화가 시작되는 상황에서 송신측 및 수신측만이 알 수 있고, 사용자 환경을 기반으로 하고, 시간에 따라 변화하는 등의 제3자가 예측할 수 없는 정보들로 구성된다. 이러한 공유 비밀 데이터가 갖추어야할 특징은 송신측 및 수신측 서로 간의 사용자 환경이 조금이라도 다르면 그 데이터가 달라져야 한다는 것이다.
공유 비밀 데이터(201)로는 예컨대 송신측 및 수신측 만이 알수 있는 특정 시간 데이터(Time Stamp), 송신측 또는 수신측의 전화번호 또는 IP 어드레스 등이 이용될 수 있다.
동일한 사용자 환경이 아니면 동일할 수 없는 공유 비밀 데이터는 제3의 도청자가 송신측과 수신측 사이에 암호화된 일회용 비밀키를 도청하고, 도청한 암호화된 일회용 비밀키를 해독할 수 없도록 해준다.
이러한 공유 비밀 데이터(201)는 일회용 비밀키(KT(x))를 생성하는 일회용 비밀키 생성기(202)에 입력으로 사용된다. 일회용 비밀키 생성기(202)는 입력되는 공유 비밀 데이터(201)를 변형하여 일회용 비밀키(KT(x))를 생성하기 위한 선형 또는 비선형 함수, 또는 공유 비밀 데이터(301)로부터 일회용 비밀키(KT(x))를 생성기는 송신측과 수신측 사이에 사전에 약속된 임의의 함수, 치환(substitution) 또는 교환(permutation) 등의 제3자가 쉽게 예측할 수 없는 몇단계의 데이터 조작으로 구성된 수단을 포함한다.
이러한 본 발명의 비밀키 생성 수단(202)은 송신측과 수신측이 일회용 비밀키를 암호화하는데 사용되는 마스터 키를 공유할 수 없거나, 공개키 방식의 인프라가 구축되어 있지 않거나 별도의 보안 프로토콜을 사용할 수 없는 환경에서도, 송신측과 수신측이 비밀키 생성 방법 또는 알고리즘만을 사전에 안전하게 공유한다면 임의의 두 사용자간에 안전한 통신을 가능케 한다.
임의의 두 송신측과 수신측 사이에서 양방향 통신을 시작하거나 양방향 통신을 진행 중인 상황에서 암호화된 통신을 위해서는, 암호화를 시작하고자 하는 시점에 상대방에게 암호화의 시작을 알리는 "암호화 개시 신호"를 교환하게 된다. 이러한 암호화 개시 신호에는 이후의 암호화에 필요한 일회용 비밀키가 암호화되어 삽입된다.
통신이 끊기고 재접속되면 전술한 바와 같은 과정을 통해 새로운 일회용 비밀키가 생성되어 송신측과 수신측 사이에 교환된 뒤, 정보 또는 데이터가 통신된다.
도3은 본 발명의 일 실시예에 따른 암호화 개시 신호(300)의 프레임 구성을 나타낸다.
도3의 암호화 개시 신호는 프레임의 기본 정보를 기록하는 헤더(301)와 테일(302), 사전에 약속된 암호화의 시작을 알리기 위한 암호화 시작 패턴(303) 및 자기 자신에 의해 암호화된 일회용 비밀키(303)를 포함한다.
당업자는 상기 헤더와 테일에 기록되는 정보가 CDMA 통신, 인터넷 등 해당 통신의 종류에 따라 달라질 수 있으며, 도3에 도시된 바와 같은 프레임 구성 또한 통신의 종류나 통신 프로토콜에 따라 달라질 수 있음을 이해할 수 있을 것이다.
송신측과 수신측은 어떠한 데이터가 공유 비밀 데이터로 사용되는지와 일회용 비밀키 생성 수단(302)에 어떠한 함수, 치환 또는 교환 등의 알고리즘이 구성되어 포함되는지에 대한 정보만을 사전에 공유하고 있으면 된다.
사전에 약속된 공유 비밀 데이터를 사전에 약속된 알고리즘 또는 함수와 같은 일회용 비밀키 생성 방법을 통해 일회용 비밀키를 생성하는데, 상기 공유 비밀 데이터는 사용자 환경에 따라 달라지므로, 제3의 도청자가 일회용 비밀키 생성 방법 및 공유 비밀 데이터를 알거나, 일회용 생성 방법 및 공유 비밀 데이터가 악의에 의해 외부로 유출된다 하더라도 실제로 사용자가 생성하여 암호화에 사용되고 있는 일회용 비밀키는 알아낼 수 없다.
즉, 암호화에 사용되는 일회용 비밀키는 현재 통신을 하고 있는 또는 하고자 하는 상대방과 그 상대방의 환경과 동일한 사용자 환경에서만 생성할 수 있는 것이다.
도4a 및 도4b는 본 발명의 일 실시예에 따른 일회용 비밀키 생성 방법을 설명하기 도면이다.
도4a를 참조하면, (1)에서, 송신측은 비밀키 생성의 베이스 패턴으로 사용될 임의의 16비트 패턴을 선택한다.
이와 같은 베이스 패턴은 실시예에 따라 송신측 및 수신측이 사전에 교환하여 각각 보관할 수도 있고, 이와 같은 패턴을 생성할 수 있는 프로그램이나 알고리즘을 정할 수도 있으며, 그날의 날짜나 연도와 같이 약속을 하여도 된다. 즉, 비밀키를 생성하기 위한 베이스 패턴으로서 동일한 패턴을 양자가 알 수만 있다면 어떠한 방법을 사용하여도 무방하다. 패턴의 크기나 종류도 통신의 종류나 필요에 따라 얼마든지 변형될 수 있다.
이 실시예에서는 공유 비밀데이터로서 특정 시간 데이터(Timestamp)과 수신측의 전화번호 끝자리 4자리가 사용된다.
(2)에서, 수신측의 전화 번호 끝자리 4자리를 선택한다.
(3)에서, 수신측의 전화 번호 4자리를 (1)의 패턴의 처음 4비트와 마지막 4비트에 XOR연산한다.
(4)에서, 암호화를 개시하고자 하는 시간이 "02시 13분 05초"라 가정하고, 이 중 시간 정보인 "02시" 정보를 이용하여 2만큼 우측으로 시프트하고 빈 자리는 1로 채운다.
(5)에서, 시간 정보 중 "05초"를 이용하여 (4)의 패턴(1101010101001111)의 좌측에서 5번째 비트(0)를 중심으로 좌측의 4비트(1101)를 우측으로 폴딩(Folding)한다. 즉, 좌측에 있는 4 비트(1101)와 우측에 있는 비트들(1010)을 XOR 연산하여 그 결과(0111)로 우측에 있는 4 비트들(1010)을 대체한다.
(6)에서, 시간 정보 중 "13분(1101)"을 이용하여 1101을 (5)의 패턴에 합산한다.
(7)에서, 합산한 결과를 일회용 비밀키로 한다.
(8)에서, (7)의 일회용 비밀키를 공지된 자기 자신을 이용하여 공지된 데이터 조작, 치환 교환 등 여러 암호화 방법을 통해 암호화하되, 다만 일회용 비밀키 자신이 해독키로도 사용될 수 있는 방법으로, 즉 비밀키 방식(대칭키 방식)으로 암호화 한다.
그리고 나서, 도3에 도시된 암호화 개시 신호에 삽입하여 수신측으로 전송한다.
도4a에 나타낸 공유 비밀 데이터를 사용하여 일회용 비밀키를 생성하는 방법은 하나의 일 실시예에 불과한 것으로서, 그 단계 마다 적절한 함수, 치환(substitution), 교환(permutation) 등의 디지털 데이터 조작 방법을 포함하는 임의의 방법을 사용하여 다양하게 변형될 수 있다.
수신측에서는 송신측과 동일한 공유 비밀 데이터를 이용하여 동일한 방법을 통해 일회용 비밀키(1101001110011100)를 생성하고, 송신측으로부터 수신한 암호화된 일회용 비밀키를 해독한 뒤 자신이 생성한 일회용 비밀키와 비교하여 동일한지를 확인한다. 비교 결과 자신이 생성한 일회용 비밀키와 송신측으로부터 수신하여 복구한 일회용 비밀키가 동일하면 안전하게 일회용 비밀키를 교환한 것이다.
본 발명에 따른 이러한 비밀키 교환 방법에서는 시간 데이터가 1초만 달라져도 도4b에서 생성된 (7)의 일회용 비밀키는, 도4a에서 생성된 (7)의 일회용 비밀키와 다른 일회용 비밀키가 생성된다.
즉, 동일한 송신측이 동일한 수신측에 송신하는 경우에도 시간에 따라 다른 일회용 비밀키가 생성되므로 제3의 도청자가 공유 비밀 데이터와 일회용 비밀키 생성 방법을 알고 있더라도 실제로 송신측과 수신측이 암호화에 사용하는 일회용 비밀키는 알 수 없으므로, 암호화된 데이터를 도청하더라도 송신측과 수신측의 암호화 통신에 사용되는 일회용 비밀키는 알 수 없고, 암호화된 데이터도 복구할 수 없게 된다.
도5는 본 발명에 따른 비밀키 교환 방법을 설명하는 흐름도이다. 단계(S501) 내지 단계(S504)는 송신측에서 수행되고, 단계(S505) 내지 단계(S511)는 수신측에서 수행된다.
단계(S501)에서, 수신측은 일회용 비밀키 생성을 위한 데이터로 사용될 공유 비밀 데이터를 선택한다. 공유 비밀 데이터로는 전술한 바와 같이 송신측 또는 수신측의 전화 번호, 암호화 개시 시간 등과 같은 특정 시간 데이터(Timestamp)가 사용될 수 있으며, 이 외에도 송신측과 수신측이 사전에 약속한 임의의 데이터 또는 사전에 약속된 임의의 방법으로 생성한 데이터가 사용될 수 있다. 공유 비밀 데이터 중에는 임의로 조작하기 어려우며, 제3자가 예측할 수 없으며, 시간에 따라 변화하는 등의 특징을 갖는 데이터들을 포함시키는 것이 바람직하다.
단계(S502)에서, 송신측은 수신측과 사전에 약속된 방법 예컨대, 도4a를 참조하여 설명한 방법으로 공유 비밀 데이터를 활용하여 일회용 비밀키(KT(z))를 생성한다.
전술한 바와 같이, 공유 비밀 데이터 및 일회용 비밀키 생성 알고리즘은 그 단계 마다 적절한 함수, 치환(substitution), 교환(permutation) 등의 디지털 데이터 조작 방법을 포함하는 임의의 방법을 사용하여 다양하게 변형될 수 있다.
단계(S503)에서, 생성된 일회용 비밀키(KT(z))를 암호화한다. 이때 자기 자신을 이용하여 암호화 한다. 암호화는 특정 위치의 데이터 비트를 치환, 재배열 하는 등 임의의 공지된 암호화 알고리즘에 의해 수행될 수 있다. 이 때, 암호화된 일회용 비밀키(KE(z))는 자기 자신에 의해 해독할 수 있다. 즉, 일회용 비밀키(KT(z))가 암호화 키인 동시에 해독 키가 된다.
단계(S504)에서, 암호화된 일회용 비밀키(KE(z))를 암호화 개시 신호에 삽입하여 수신측으로 전송한다.
단계(S505)에서, 수신측은 암호화된 일회용 비밀키(KE(z))를 수신한다.
단계(S506)에서, 수신측은 송신측과 사전에 약속된 방법에 따라 동일한 공유 비밀 데이터를 선택하고, 단계(S507)에서, 송신측이 사용한 방법과 동일한 방법으로 일회용 비밀키(KD(z))를 생성한다. 이 때, 공유 비밀 데이터로서 도4a의 방법과 같이 시간 데이터를 사용하고, 사용되는 시간 데이터가 초를 포함하는 경우에는 단계(S505)에서 암호화된 일회용 비밀키(KE(z))를 수신함과 동시에 일회용 비밀키 생성이 이루어져야 한다. 이 경우, 송신측에서 수신측까지 신호를 전송하는데 걸리는 시간 딜레이는 무시된다.
단계(S508)에서, 수신측은 단계(S507)에서 생성한 일회용 비밀키(KD(z))를 이용하여 단계(S505)에서 수신한 암호화된 일회용 비밀키(KE(z))를 해독한다.
단계(S509)에서, 해독된 일회용 비밀키(KT(z))와 생성한 일회용 비밀키(KD(z))를 비교한다. 비교 결과 수신하여 해독한 일회용 비밀키(KT(z))와 생성한 일회용 비밀키(KD(z))가 동일하면 단계(S510)에서 일회용 비밀키가 성공적으로 교환되었음을 확인하고, 동일하지 않으면 단계(S511)에서 송신측에 오류 메시지를 전송한다.
그리고 나서, 송신측과 수신측은 교환된 비밀키(KT(z))를 이용하여 주고받을 정보를 암호화하고 암호화된 통신을 수행한다.
이후 통신이 종료되고, 새로이 접속될 경우에는 다시 동일한 방법을 사용하여 일회용 비밀키를 생성하고 그 일회용 비밀키에 따라 정보를 암호화하여 통신하게 된다.
본 발명의 비밀키 교환 방법은 공유 마스터 키를 공유하거나 종래의 공지된 보안 프로토콜과 조합하여 사용함으로써 더욱 안전한 통신 방법을 제공할 수 있다.
본 발명의 비밀키 교환 방법은 불특정 다수의 사용자들 사이의 암호화 통신이 가능한 환경에서 두 사용자만의 개인 비밀을 보호하는데 유용하게 사용될 수 있을 뿐만 아니라, 두 사용자 사이에서 제3자의 도움을 받지 않고 두 사용자 만의 "마스터 비밀키"를 주고 받는데도 사용할 수 있다.
본 발명의 비밀키 교환 방법에 따르면, 통상적인 방법으로 발생시킨 난수를 이용하여 만든 일회용 비밀키를 보안 프로토콜에 의해 안전하게 송수신하려는 기존의 시도와는 달리, 송신측 및 수신측의 사용 환경을 기반으로 한 공유 비밀 데이터와, 일회용 비밀키 생성 방법을 공유하여 약간만 상황이 달라져도 완전히 다른 일회용 비밀키를 생성함으로써 제3의 도청자가 트래픽 데이터를 도청하더라도, 비밀키를 복구하기가 불가능하게 함으로써 통신의 보안을 유지할 수 있다.
또한, 본 발명의 비밀키 교환 방법에 따르면, 제3의 도청자가 트래픽 데이터를 도청하고, 동시에 공유 비밀 데이터와 일회용 비밀키 생성 방법을 알고 있다 하더라도, 공유 비밀 데이터의 사용자 환경을 바탕으로 한다는 특성상 일회용 비밀키를 알아낼 수 없으므로 통신의 보안을 유지할 수 있다.
본 발명에 따른 비밀키 교환 방법에 따르면 단 한번의 암호화 개시 신호 전송만으로 비밀키를 교환할 수 있다.
도1은 종래의 통상적인 비밀키를 생성하는 수단의 구성을 나타낸다.
도2는 본 발명의 일 실시예에 따른 비밀키 생성 방법의 구성을 나타낸다.
도3은 본 발명의 일 실시예에 따른 암호화 개시 신호의 프레임 구성을 나타내는 도면이다.
도4a 및 도4b는 본 발명의 일 실시예에 따른 일회용 비밀키 생성 방법을 설명하기 도면이다.
도5는 본 발명에 따른 비밀키 교환 방법을 설명하는 흐름도이다.
※ 도면의 주요 부분에 대한 설명
201 : 공유 비밀 데이터 202 : 일회용 비밀키 생성기
300 : 암호화 개시 신호 301 : 헤더
302 : 암호화 시작 패턴 303 : 암호화된 일회용 비밀키
304 : 테일

Claims (5)

  1. 송신측에서, 공유 비밀 데이터를 이용하여 비밀키를 생성하는 단계;
    상기 송신측에서, 상기 생성된 비밀키를 암호화 하는 단계;
    상기 송신측에서, 상기 암호화된 비밀키를 암호화 개시 신호에 삽입하는 단계;
    상기 송신측에서, 상기 암호화 개시 신호를 수신측으로 송신하는 단계;
    상기 수신측에서, 상기 암호화된 비밀키를 수신하는 단계;
    상기 수신측에서, 상기 송신측과 동일한 공유 비밀 데이터를 이용하여 비밀키를 생성하는 단계;
    상기 수신측에서, 상기 공유 비밀 데이터를 이용하여 상기 수신된 암호화된 비밀키를 해독하는 단계; 및
    상기 수신측에서, 상기 생성한 비밀키와 상기 해독한 비밀키를 비교하는 단계를 포함하는 것을 특징으로 하는 비밀키 교환 방법.
  2. 제1항에 있어서,
    상기 송신측 및 수신측에서 비밀키를 생성하는 단계는, 송신측과 수신측 간에 사전에 공유되어 있는 소정의 베이스 패턴의 일부 또는 전부를 상기 공유 비밀 데이터를 이용하여 치환(substitution) 또는 변경(permutation)하는 단계를 포함하는 것을 특징으로 하는 비밀키 교환 방법.
  3. 제1항에 있어서,
    상기 수신측에서 생성된 비밀키를 암호화하는 단계는, 비밀키 자신을 암호화 키로 사용하여 암호화하고, 동시에 비밀키 자신이 암호화된 신호의 해독키가 될 수 있도록 암호화하는 단계를 포함하는 것을 특징으로 하는 비밀키 교환 방법.
  4. 제1항에 있어서,
    상기 공유 비밀 데이터는 특정 시간 데이터(Timestamp) 및 송신측 또는 수신측 전화 번호 중 어느 하나를 포함하는 것을 특징으로 하는 비밀키 교환 방법.
  5. 제1항에 있어서,
    상기 암호화 개시 신호는 헤더, 테일, 암호화 시작 패턴 및 상기 암호화된 비밀키를 포함하는 프레임으로 구성되는 것을 특징으로 하는 비밀키 교환 방법.
KR1020030092003A 2003-12-16 2003-12-16 암호화된 통신을 위한 비밀키 교환 방법 KR100763464B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030092003A KR100763464B1 (ko) 2003-12-16 2003-12-16 암호화된 통신을 위한 비밀키 교환 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030092003A KR100763464B1 (ko) 2003-12-16 2003-12-16 암호화된 통신을 위한 비밀키 교환 방법

Publications (2)

Publication Number Publication Date
KR20050060394A true KR20050060394A (ko) 2005-06-22
KR100763464B1 KR100763464B1 (ko) 2007-10-04

Family

ID=37253104

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030092003A KR100763464B1 (ko) 2003-12-16 2003-12-16 암호화된 통신을 위한 비밀키 교환 방법

Country Status (1)

Country Link
KR (1) KR100763464B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100778057B1 (ko) * 2005-12-08 2007-11-21 한국전자통신연구원 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법
KR20150090817A (ko) * 2014-01-29 2015-08-06 삼성전자주식회사 사용자 단말 및 이의 보안 통신 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390526B1 (ko) * 2001-06-15 2003-07-07 최창원 일회용 비밀키 생성 방법 및 그 장치
EP1406412B1 (en) * 2001-07-10 2007-02-28 Mitsubishi Denki Kabushiki Kaisha Shared data refining device and shared data refining method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100778057B1 (ko) * 2005-12-08 2007-11-21 한국전자통신연구원 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법
KR20150090817A (ko) * 2014-01-29 2015-08-06 삼성전자주식회사 사용자 단말 및 이의 보안 통신 방법

Also Published As

Publication number Publication date
KR100763464B1 (ko) 2007-10-04

Similar Documents

Publication Publication Date Title
KR101032016B1 (ko) 제약된 암호 키
EP2361462B1 (en) Method for generating an encryption/decryption key
US20030123667A1 (en) Method for encryption key generation
US7991998B2 (en) Secure proximity verification of a node on a network
EP3476078B1 (en) Systems and methods for authenticating communications using a single message exchange and symmetric key
WO1990009009A1 (en) Data carrier and data communication apparatus using the same
US20030217263A1 (en) System and method for secure real-time digital transmission
KR100582546B1 (ko) 암호화/복호화 키를 이용한 메시지 송수신 방법
KR20200067265A (ko) 실시간 데이터 전송을 위한 블록 암호 장치 및 방법
JP4125564B2 (ja) 暗号化/復号鍵の鍵生成方法、暗号化/復号鍵の鍵生成装置、暗号化/復号鍵の鍵生成プログラムならびにコンピュータで読取可能な記録媒体
JPH09312643A (ja) 鍵共有方法及び暗号通信方法
US11917056B1 (en) System and method of securing a server using elliptic curve cryptography
CN112822016B (zh) 在区块链上进行数据授权的方法及区块链网络
KR100763464B1 (ko) 암호화된 통신을 위한 비밀키 교환 방법
US7327845B1 (en) Transmission of encrypted messages between a transmitter and a receiver utilizing a one-time cryptographic pad
US20240214187A1 (en) System and Method of Creating Symmetric Keys Using Elliptic Curve Cryptography
JP4150328B2 (ja) ハイブリッド暗号装置およびハイブリッド暗号・復号方法
TWI248276B (en) System and method for secure encryption
KR20010045236A (ko) 인터넷 전자상거래에서 사용자 데이터를 선택적으로복구하는 방법
KR20240122868A (ko) 통신의 두 참가자들 간에 대칭 키를 안전하게 협상하는 방법
JP2008028807A (ja) 暗号化通信システム
JPH0537523A (ja) データ通信システム
KR20190067316A (ko) 가드온솔루션의 정보보호를 위한 비밀번호 일방향 암호화 저장방법
JP2005269587A (ja) 鍵共有システム、暗号システム、ファイル認証システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E801 Decision on dismissal of amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20060601

Effective date: 20070530

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100902

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee