KR100974622B1 - 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체 - Google Patents
기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체 Download PDFInfo
- Publication number
- KR100974622B1 KR100974622B1 KR1020080064377A KR20080064377A KR100974622B1 KR 100974622 B1 KR100974622 B1 KR 100974622B1 KR 1020080064377 A KR1020080064377 A KR 1020080064377A KR 20080064377 A KR20080064377 A KR 20080064377A KR 100974622 B1 KR100974622 B1 KR 100974622B1
- Authority
- KR
- South Korea
- Prior art keywords
- mail server
- terminal
- sending
- receiving
- message
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/212—Monitoring or handling of messages using filtering or selective blocking
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체가 개시된다.
본 발명에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법은,
이메일 메시지를 전송하고자 하는 송신 단말기에서 수신 메일 서버와 제 1 세션키를 미리 공유한 송신 메일 서버에 로그인하면, 상기 송신 단말기에서 선택된 제 1 난수와 상기 송신 메일 서버에서 선택된 제 2 난수를 이용하여 상기 송신 단말기와 상기 송신 메일 서버간에 공유되는 제 1 암호키를 각각 생성하고 상기 제 1 암호키를 공유하는 단계; 상기 송신 단말기에서 제 3 난수를 선택하고, 상기 선택된 제 3 난수에 따라 생성된 제 2 세션키를 이용하여 상기 송신 단말기에서 전송하고자 하는 이메일 메시지를 암호화한 제 1 암호문 및 상기 제 1 암호키를 이용하여 상기 제 2 세션키를 암호화한 제 2 암호문을 상기 송신 메일 서버에 전송하는 단계; 상기 송신 메일 서버에서 상기 제 1 암호키를 이용하여 상기 제 2 암호문으로부터 상기 제 2 세션키를 복호하고, 상기 제 1 세션키를 이용하여 상기 제 2 세션키를 암호화하여 변형 제 2 암호문을 생성하고, 상기 제 1 암호문 및 상기 변형 제 2 암호문을 수신 메일 서버에 전송하는 단계; 상기 수신 메일 서버에서 상기 제 1 세션키를 이용하여 상기 변형 제 2 암호문으로부터 상기 제 2 세션키를 복호하는 단계; 수신 단말기가 상기 수신 메일 서버에 로그인하면, 상기 수신 단말기와 상기 수신 메일 서버 간의 제 2 암호키를 각각 생성하고, 상기 수신 단말기와 상기 수신 메일 서버에서 상기 제 2 암호키를 공유하는 단계; 상기 수신 메일 서버에서 상기 제 2 암호키를 이용하여 상기 제 2 세션키를 암호화하여 재변형 제 2 암호문을 생성하고, 상기 제 1 암호문 및 상기 재변형 제 2 암호문을 상기 수신 단말기에 전송하는 단계; 및 상기 수신 단말기에서 상기 제 2 암호키를 이용하여 상기 재변형 제 2 암호문으로부터 상기 제 2 세션키를 복호하고, 상기 복호된 상기 제 2 세션키를 이용하여 상기 제 1 암호문으로부터 상기 이메일 메시지를 복호하는 단계를 포함한다.
본 발명에 의하면, 사용자의 패스워드 또는 메일 서버의 비밀키가 노출된 경우에도 공개키 인증서의 필요 없이 이메일 계정의 패스워드만을 이용하여 이메일 메시지의 기밀성과 전방향 안전성을 제공하는 효과가 있다.
Description
본 발명은 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체로써, 특히 이메일 계정의 패스워드를 이용해서 암호화된 이메일을 전송하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체에 관한 것이다.
이메일은 오늘날 많은 사람들이 사용하는 수많은 통신수단 가운데 하나이다. 이메일은 컴퓨터를 이용해서 뿐 아니라 휴대하고 다니는 모바일기기를 이용해서도 언제 어디서나 전송 가능하고 확인 가능하다. 실제로 이러한 요구에 맞추어 모바일 이메일 서비스를 제공하고 있다.
이메일 전송 시스템이 이메일을 인터넷과 같은 안전하지 않은 통신로를 통해 전송할 경우, 허가되지 않은 수신 단말기도 이메일 내용을 쉽게 변경하거나 열어볼 수 있다. 이러한 문제를 해결하기 위하여 이메일 메시지를 암호 알고리즘을 이용하여 암호화하게 된다. 이메일의 기밀성뿐 아니라 전자우편의 전방향 안전성 (forward securecy)에 대한 연구도 활발히 이뤄지고 있다. 전방향 안전성을 제공하는 이메일 시스템이란 이메일 사용자들과 이메일 서버들의 비밀키 (long-term key)가 노출되었을 경우에도 비밀키 노출 시점 이전에 이메일 사용자가 전송한 이메일 메시지에 대한 내용을 알 수 없음을 의미한다.
종래에 전방향 안전성을 제공하는 암호화된 이메일 전송을 위한 기술들이 있다. 이러한 기술들에서는 암호화된 이메일 서비스를 이용하기 위해서 이메일 사용자가 공개키 인증서를 발급받아야 한다. 그리고 사용자 측에서는 상대방의 공개키 인증서의 유효성 판단을 하기 위해 인증서 검증 절차를 거치게 된다.
따라서 사용자가 인증서 발급 기관에 가서 인증서를 발급받아야 하는 번거로움이 있으며, 암호화된 이메일을 전송하고 수신받기 위해서 사용자 측에서 인증서 검증 연산(공개키 서명검증)을 수행해야 하기 때문에 효율성 측면에서 개선이 요구되는 문제점이 있다.
따라서, 본 발명이 해결하고자 하는 첫 번째 과제는 송신자가 전송하고자 하는 이메일 메시지를 암호화하여 송신 메일 서버와 수신 메일 서버를 거쳐 수신자의 수신 단말에 안전하게 전송할 수 있도록 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 두 번째 과제는 상기 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 컴퓨터에서 수행할 수 있도록 프로그램을 기록된 기록매체를 제공하는 것이다.
상기 첫 번째 과제를 해결하기 위하여 본 발명은,
이메일 메시지를 전송하고자 하는 송신 단말기에서 수신 메일 서버와 제 1 세션키를 미리 공유한 송신 메일 서버에 로그인하면, 상기 송신 단말기에서 선택된 제 1 난수와 상기 송신 메일 서버에서 선택된 제 2 난수를 이용하여 상기 송신 단말기와 상기 송신 메일 서버간에 공유되는 제 1 암호키를 각각 생성하고 상기 제 1 암호키를 공유하는 단계; 상기 송신 단말기에서 제 3 난수를 선택하고, 상기 선택된 제 3 난수에 따라 생성된 제 2 세션키를 이용하여 상기 송신 단말기에서 전송하고자 하는 이메일 메시지를 암호화한 제 1 암호문 및 상기 제 1 암호키를 이용하여 상기 제 2 세션키를 암호화한 제 2 암호문을 상기 송신 메일 서버에 전송하는 단계; 상기 송신 메일 서버에서 상기 제 1 암호키를 이용하여 상기 제 2 암호문으로 부터 상기 제 2 세션키를 복호하고, 상기 제 1 세션키를 이용하여 상기 제 2 세션키를 암호화하여 변형 제 2 암호문을 생성하고, 상기 제 1 암호문 및 상기 변형 제 2 암호문을 수신 메일 서버에 전송하는 단계; 상기 수신 메일 서버에서 상기 제 1 세션키를 이용하여 상기 변형 제 2 암호문으로부터 상기 제 2 세션키를 복호하는 단계; 수신 단말기가 상기 수신 메일 서버에 로그인하면, 상기 수신 단말기와 상기 수신 메일 서버 간의 제 2 암호키를 각각 생성하고, 상기 수신 단말기와 상기 수신 메일 서버에서 상기 제 2 암호키를 공유하는 단계; 상기 수신 메일 서버에서 상기 제 2 암호키를 이용하여 상기 제 2 세션키를 암호화하여 재변형 제 2 암호문을 생성하고, 상기 제 1 암호문 및 상기 재변형 제 2 암호문을 상기 수신 단말기에 전송하는 단계; 및 상기 수신 단말기에서 상기 제 2 암호키를 이용하여 상기 재변형 제 2 암호문으로부터 상기 제 2 세션키를 복호하고, 상기 복호된 상기 제 2 세션키를 이용하여 상기 제 1 암호문으로부터 상기 이메일 메시지를 복호하는 단계를 포함하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 제공한다.
한편, 상기 제 1 암호키를 공유하는 단계는 상기 송신 단말기에서 선택된 제 1 난수에 따라 생성된 송신 단말 메시지를 송신 메일 서버로 전송하고, 상기 송신 메일 서버에서 선택된 제 2 난수에 따라 생성된 송신 메일 서버 메시지를 상기 송신 단말기에 전송하는 단계; 상기 송신 단말기에서 상기 송신 메일 서버 메시지를 이용하여 제 1 공유 메시지 인증 코드키를 생성하고, 상기 제 1 공유 메시지 인증 코드키를 이용하여 송신 단말기의 메시지 인증 코드값을 생성하여 상기 송신 메일 서버에 전송하는 단계; 상기 송신 메일 서버에서 상기 송신 단말 메시지를 이용하 여 상기 제 1 공유 메시지 인증 코드키를 생성하고, 상기 제 1 공유 메시지 인증 코드키를 이용하여 상기 송신 메일 서버의 메시지 인증 코드값을 생성하여 상기 송신 단말기에 전송하는 단계; 상기 송신 단말기에서 상기 제 1 공유 메시지 인증 코드키를 이용하여 상기 송신 메일 서버의 메시지 인증 코드값을 검증한 후, 상기 송신 메일 서버 메시지를 이용하여 제 1 암호키를 생성하는 단계; 및 상기 송신 메일 서버에서 상기 제 1 공유 메시지 인증 코드키를 이용하여 상기 송신 단말기의 메시지 인증 코드값을 검증한 후, 상기 송신 단말 메시지를 이용하여 상기 제 1 암호키를 생성하는 단계를 포함하는 것을 특징으로 한다.
그리고, 상기 제 2 암호키를 공유하는 단계는 상기 수신 단말기에서 선택된 수신 단말 난수에 따라 생성된 수신 단말 메시지를 상기 수신 메일 서버로 전송하고, 상기 수신 메일 서버에서 선택된 수신 메일 서버 난수에 따라 생성된 수신 메일 서버 메시지를 상기 수신 단말기에 전송하는 단계; 상기 수신 단말기에서 상기 수신 메일 서버 메시지를 이용하여 제 2 공유 메시지 인증 코드키를 생성하고, 상기 제 2 공유 메시지 인증 코드키를 이용하여 수신 단말기의 메시지 인증 코드값을 생성하여 상기 수신 메일 서버에 전송하는 단계; 상기 수신 메일 서버에서 상기 수신 단말 메시지를 이용하여 상기 제 2 공유 메시지 인증 코드키를 생성하고, 상기 제 2 공유 메시지 인증 코드키를 이용하여 상기 수신 메일 서버의 메시지 인증 코드값을 생성하여 상기 수신 단말기에 전송하는 단계; 상기 수신 단말기에서 상기 제 2 공유 메시지 인증 코드키를 이용하여 상기 수신 메일 서버의 메시지 인증 코드값을 검증한 후, 상기 수신 메일 서버 메시지를 이용하여 제 2 암호키를 생성하 는 단계; 및 상기 수신 메일 서버에서 상기 제 2 공유 메시지 인증 코드키를 이용하여 상기 수신 단말기의 메시지 인증 코드값을 검증한 후, 상기 수신 단말 메시지를 이용하여 상기 제 2 암호키를 생성하는 단계를 포함하는 것을 특징으로 한다.
한편, 상기 송신 단말 메시지 는 상기 제 1 난수가 이고, 오더(order)가 인 유한 순환군의 서로 다른 두 개의 생성자가 이고, 상기 송신 단말기의 아이디가 이고, 송신 메일 서버의 아이디가 이고, 상기 송신 단말기의 패스워드가 이고, 는 해쉬함수이고, 는 를 만족하는 소수일때, 수학식 에 의해 생성되는 것을 특징으로 한다.
그리고, 상기 송신 메일 서버 메시지 는 는 오더가 인 유한 순환군의 서로 다른 두 개의 생성자이고, 는 상기 송신 메일 서버에서 생성된 제 2 난수이고, 는 상기 송신 단말기의 아이디이고, 는 상기 송신 메일 서버의 아이디이고, 는 상기 송신 단말기의 패스워드이고, 는 해쉬 함수이며, 는 를 만족하는 소수일 때, 수학식 에 의해 결정되는 것을 특징으로 한다.
그리고, 상기 제 1 공유 메시지 인증 코드키는 는 송신 메일 서버 메시지이고, 는 오더가 인 유한 순환군의 생성자이고, 는 송신 단말기의 아이디이고, 는 송신 메일 서버의 아이디이고, 는 송신 단말기의 패스워드이고, 는 해쉬 함수이며, 가 상기 제 1 난수이고, 가 상기 제 2 난수일 때, 수학식 에 의해 생성되는 것을 특징으로 한다.
또한, 상기 송신 단말기의 메시지 인증 코드값 는 가 메시지 인증 코드값 생성 함수이고, 가 상기 제 1 공유 메시지 인증 코드키이고, 는 송신 단말기의 아이디이고, 는 송신 메일 서버의 아이디이고, 는 송신 단말 메시지이고, 는 송신 메일 서버 메시지일 때, 수학식 에 의해 생성되는 것을 특징으로 한다.
아울러, 상기 제 2 세션키 는 는 해쉬 함수이고, 는 송신 단말기의 아이디이고, 는 송신 메일 서버의 아이디이고, 는 세션 아이디이며 에 의해 연산되고, 는 제 3 난수일 때, 수학식 에 의해 생성되는 것을 특징으로 한다.
여기서, 상기 제 1 암호키를 생성하는 단계는 상기 제 1 공유 메시지 인증 코드키 를 이용하여 상기 송신 메일 서버의 메시지 인증 코드값 가 이 '1'의 값을 출력하는 지의 여부에 따라 검증하되, '1'의 값이 출력되면 상기 송신 메일 서버로부터 전송된 송신 메일 서버 메시지 를 유효한 메시지 인증 코드값으로 판단하고, '0'의 값이 출력되면 유효하지 않은 메시지 인증 코드값으로 판단하여 전송된 송신 메일 서버 메시지 를 버리는 단계를 포함하는 것을 특징으로 한다.
한편, 상기 첫 번째 과제를 해결하기 위하여 본 발명은,
송신 단말기에서 송신 단말 일회용 공개키와 송신 단말 비밀키로 이루어진 송신 단말 데이터 쌍을 저장하고, 송신 메일 서버에서 송신 단말 아이디 및 상기 송신 단말 일회용 공개키로 이루어진 송신 메일 서버 데이터 쌍을 메일 서버 리스트에 저장하며, 수신 단말기에서 수신 단말 일회용 공개키와 수신 단말 비밀키로 이루어진 수신 단말 데이터 쌍을 저장하고, 수신 메일 서버에서 수신 단말기의 아이디 및 수신 단말 일회용 공개키로 이루어진 수신 메일 서버 데이터 쌍을 메일 서버 리스트에 미리 저장하는 단계; 이메일 메시지를 전송하고자 하는 상기 송신 단말기에서 상기 수신 메일 서버와 제 1 세션키를 미리 공유한 상기 송신 메일 서버 에 로그인하면, 상기 송신 단말기에서 선택된 제 1 난수와 상기 송신 메일 서버에서 선택된 제 2 난수를 이용하여 상기 송신 단말기와 상기 송신 메일 서버간에 공유되는 제 1 암호키를 각각 생성하고 상기 제 1 암호키를 공유하는 단계; 상기 수신 메일 서버에서 상기 송신 메일 서버와 미리 공유한 제 1 세션키 및 상기 수신 메일 서버 리스트에 저장된 수신 단말 일회용 공개키를 이용하여 수신 서버 암호문을 생성하여 상기 송신 메일 서버에 전송하는 단계; 상기 송신 메일 서버에서 상기 수신 서버 암호문으로부터 상기 수신 단말 일회용 공개키를 복호하고, 상기 복호된 수신 단말 일회용 공개키 및 상기 제 1 암호키를 이용하여 송신 서버 암호문을 생성하여 상기 송신 단말기에 전송하는 단계; 상기 송신 단말기에서 상기 제 1 암호키를 이용하여 제 1 암호문을 생성하여 상기 송신 메일 서버로 상기 제 1 암호문을 전송하는 단계; 상기 송신 메일 서버에서 상기 제 1 암호키를 이용하여 상기 제 1 암호문으로부터 상기 송신 단말 암호문을 복호한 후, 복호된 상기 송신 단말 암호문에 상기 제 1 세션키를 이용하여 제 2 암호문을 생성하여 상기 수신 메일 서버에 전송하는 단계; 상기 수신 메일 서버에서 상기 제 1 세션키를 이용하여 상기 제 2 암호문으로부터 상기 송신 단말 암호문을 복호하는 단계; 상기 수신 단말기에서 상기 수신 메일 서버에 로그인하면, 상기 수신 단말기와 상기 수신 메일 서버에서 제 2 암호키를 생성하여 상기 수신 단말기 및 상기 수신 메일 서버에서 공유하는 단계; 상기 수신 메일 서버에서 상기 제 2 암호키를 이용하여 상기 송신 단말 암호문을 암호화하여 제 3 암호문을 생성하여 상기 수신 단말기에 전송하는 단계; 및 상기 수신 단말기에서 상기 제 2 암호키를 이용하여 상기 제 3 암호문으로부터 상기 송신 단말 암호문을 복호하고, 복호된 상기 송신 단말 암호문으로부터 상기 수신 단말 비밀키를 이용하여 상기 이메일 메시지를 복호하는 단계를 포함하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 제공한다.
여기서, 상기 송신 메일 서버로 상기 제 1 암호문을 전송하는 단계는 상기 송신 서버 암호문으로부터 상기 수신 단말 일회용 공개키를 복호하고, 상기 복호된 수신 단말 일회용 공개키를 이용하여 상기 이메일 메시지를 암호화하여 송신 단말 암호문을 생성하고, 상기 송신 단말 암호문에 상기 제 1 암호키를 이용하여 제 1 암호문을 생성하는 단계를 포함하는 것을 특징으로 한다.
그리고, 상기 이메일 메시지를 복호하는 단계는 상기 수신 단말기에서 상기 수신 단말 일회용 공개키와 수신 단말 비밀키를 갱신하는 단계를 더 포함하는 것을 특징으로 한다.
한편, 상기 첫 번째 과제를 해결하기 위하여 본 발명은,
송신 단말기에서 제 1 난수를 생성하고, 송신 메일 서버에서 상기 송신 단말기의 아이디 및 상기 송신 메일 서버에서 생성한 생성자에 상기 제 1 난수를 지수승한 송신 메일 서버의 메시지로 이루어진 데이터 쌍을 송신 메일 서버 리스트에 저장하고, 수신 단말기에서 제 2 난수를 생성하고, 수신 메일 서버에서 상기 수신 단말기의 아이디 및 상기 수신 메일 서버에서 생성한 생성자에 상기 제 2 난수를 지수승한 수신 메일 서버의 메시지로 이루어진 데이터 쌍을 수신 메일 서버 리스트에 저장하는 단계; 이메일 메시지를 전송하고자 하는 상기 송신 단말기에서 상기 송신 메일 서버와 로그인 프로토콜을 수행하여 생성된 제 1 암호키를 상호 공유하 는 단계; 상기 송신 메일 서버에서 수신 메일 서버와 키 교환 프로토콜을 수행하여 제 1 세션키를 상호 공유하고, 상기 수신 메일 서버에서 상기 수신 메일 서버의 메시지 및 상기 제 1 세션키를 이용하여 상기 수신 메일 서버의 메시지를 암호화한 수신 메일 서버의 메시지 인증 코드값을 상기 송신 메일 서버로 전송하는 단계; 상기 송신 메일 서버에서 상기 수신 메일 서버의 메시지 인증 코드값이 유효한 지의 여부를 검증하고, 상기 송신 메일 서버에서 수신 메일 서버의 메시지, 상기 제 1 암호키를 이용하여 상기 수신 메일 서버의 메시지를 암호화한 송신 메일 서버의 제 1 메시지 인증 코드값을 상기 수신 단말기에 전송하는 단계; 상기 송신 단말기에서 상기 송신 메일 서버로부터 전송된 상기 송신 메일 서버의 제 1 메시지 인증 코드값이 유효한지의 여부를 판단하고, 제 3 난수를 선택하여 생성된 송신 단말 메시지 및 상기 송신 단말 메시지 및 상기 제 2 난수를 이용하여 생성된 제 2 세션키를 연산하는 단계; 상기 송신 단말기에서 상기 제 2 세션키로 상기 이메일 메시지를 암호화한 암호문, 상기 송신 단말 메시지, 및 상기 제 1 암호키를 이용하여 상기 송신 단말 메시지를 암호화한 송신 단말의 메시지 인증 코드값을 상기 송신 메일 서버로 전송하는 단계; 상기 송신 메일 서버에서 상기 송신 단말기로부터 전송된 송신 단말의 메시지 인증 코드값이 유효한지의 여부를 판단하고, 상기 송신 메일 서버에서 상기 암호문, 상기 송신 단말 메시지 및 상기 제 1 세션키로 상기 송신 단말 메시지를 암호화한 송신 메일 서버의 제 2 메시지 인증 코드값을 상기 수신 메일 서버로 전송하는 단계; 상기 수신 메일 서버에서 상기 송신 메일 서버의 제 2 메시지 인증 코드값이 유효한 지의 여부를 판단하고, 상기 수신 메일 서버에서 상 기 암호문 및 상기 송신 단말 메시지를 저장하는 단계; 상기 수신 단말기가 상기 수신 메일 서버에 로그인하면, 상기 수신 단말기 및 상기 수신 메일 서버에서 로그인 프로토콜을 수행하여 제 2 암호키를 공유하는 단계; 상기 수신 메일 서버에서 상기 송신 단말기의 아이디, 상기 암호문, 상기 송신 단말 메시지 및 상기 제 2 암호키로 상기 송신 단말 메시지를 암호화한 수신 단말의 메시지 인증 코드값을 상기 수신 단말기에 전송하는 단계; 및 상기 수신 단말기에서 상기 수신 단말의 메시지 인증 코드값이 유효한지의 여부를 판단하고, 상기 제 2 난수를 이용하여 상기 제 2 세션키를 추출하고, 상기 제 2 세션키를 이용하여 상기 암호문으로부터 상기 이메일 메시지를 추출하는 단계를 포함하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 제공한다.
한편, 상기 수신 메일 서버의 메시지 인증 코드값이 유효한 지의 여부는 상기 제 1 세션키 를 이용하여 상기 수신 메일 서버의 메시지 인증 코드값 이 유효한지의 여부를 에 의해 검증하며, 검증값이 '1'이 출력되면 수신 메일 서버의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어, 수신된 수신 메일 서버의 메시지 인증 코드값을 버리는 것을 특징으로 한다.
그리고, 상기 송신 메일 서버로부터 전송된 상기 송신 메일 서버의 제 1 메시지 인증 코드값이 유효한지의 여부는 상기 제 1 암호키 를 이용하여 상기 송 신 메일 서버의 제 1 메시지 인증 코드값 이 유효한지의 여부를 에 의해 검증하며, 검증값이 '1'이 출력되면 송신 메일 서버의 제 1 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어 수신된 송신 메일 서버의 제 1 메시지 인증 코드값을 버리는 것을 특징으로 한다.
또한, 상기 송신 단말의 메시지 인증 코드값이 유효한지의 여부는 상기 제 1 암호키 를 이용하여 상기 송신 단말의 메시지 인증 코드값가 유효한지의 여부를 에 의해 검증하며, 검증값이 '1'이 출력되면 상기 송신 단말의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어 수신된 상기 송신 단말의 메시지 인증 코드값을 버리는 것을 특징으로 한다.
여기서, 상기 송신 메일 서버의 제 2 메시지 인증 코드값이 유효한 지의 여부는 상기 제 1 세션키 를 이용하여 상기 송신 메일 서버의 제 2 메시지 인증 코드값 가 유효한지의 여부를 에 의해 검증하며, 검증값이 '1'이 출력되면 상기 송신 메일 서버의 제 2 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어, 수신된 상기 송신 메일 서버의 제 2 메시지 인증 코드값을 버리는 것을 특징으로 한다.
아울러, 상기 수신 단말의 메시지 인증 코드값이 유효한지의 여부는 상기 제 2 비밀키 를 이용하여 상기 수신 단말의 메시지 인증 코드값 가 유효한지의 여부를 에 의해 검증하며, 검증값이 '1'이 출력되면 상기 수신 단말의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어, 수신된 상기 수신 단말의 메시지 인증 코드값을 버리는 것을 특징으로 한다.
상기 두 번째 과제를 해결하기 위하여 본 발명은 상기 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 컴퓨터에서 수행할 수 있도록 프로그램으로 기록된 기록매체를 제공하는 것이다.
본 발명에 의하면, 사용자의 패스워드 또는 메일 서버의 비밀키가 노출된 경우에도 공개키 인증서의 필요 없이 이메일 계정의 패스워드만을 이용하여 이메일 메시지의 기밀성과 전방향 안전성을 제공하는 효과가 있다.
이하, 본 발명의 바람직한 실시예를 첨부도면에 의거하여 상세히 설명하기로 한다.
그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형할 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하 게 설명하기 위하여 제공된다.
본 발명의 설명에서 는 송신 메일 서버 에 아이디 (이하, ''라고 함.) 및 패스워드 로 이루어진 메일 계정 을 등록한 송신 단말기이고, 는 수신 메일 서버 에 아이디 (이하, ''라고 함.)및 패스워드 로 이루어진 메일 계정 를 등록한 수신 단말기이다. 송신 메일 서버 와 수신 메일 서버 는 서로 다른 메일 서버이다.
본 발명은 사용자의 송신 단말기 를 통한 로그인 단계(Login phase of A), 송신 단말기 의 암호화된 메시지 발송단계(Sending phase of A), 그리고 수신 단말기 의 수신단계(Receiving phase of B)로 구성된다. 본 발명에서 사용되는 수식의 표기는 다음과 같다.
도 1은 본 발명의 제1 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에 대한 흐름도이다.
도 1을 참조하면 우선, 이메일 메시지를 전송하고자 하는 송신 단말기에서 수신 메일 서버와 제 1 세션키를 미리 공유한 송신 메일 서버에 로그인하면, 상기 송신 단말기에서 선택된 제 1 난수와 상기 송신 메일 서버에서 선택된 제 2 난수를 이용하여 상기 송신 단말기와 상기 송신 메일 서버간에 공유되는 제 1 암호키를 각각 생성하고 상기 제 1 암호키를 공유한다(S110).
그 다음, 상기 송신 단말기에서 제 3 난수를 선택하고, 상기 선택된 제 3 난수에 따라 생성된 제 2 세션키를 이용하여 상기 송신 단말기에서 전송하고자 하는 이메일 메시지를 암호화한 제 1 암호문 및 상기 제 1 암호키를 이용하여 상기 제 2 세션키를 암호화한 제 2 암호문을 상기 송신 메일 서버에 전송한다(S120).
그 다음, 상기 송신 메일 서버에서 상기 제 1 암호키를 이용하여 상기 제 2 암호문으로부터 상기 제 2 세션키를 복호하고, 상기 제 1 세션키를 이용하여 상기 제 2 세션키를 암호화하여 변형 제 2 암호문을 생성하고, 상기 제 1 암호문 및 상기 변형 제 2 암호문을 수신 메일 서버에 전송한다(S130).
그 다음, 상기 수신 메일 서버에서 상기 제 1 세션키를 이용하여 상기 변형 제 2 암호문으로부터 상기 제 2 세션키를 복호한다(S140).
그 다음, 수신 단말기가 상기 수신 메일 서버에 로그인하면, 상기 수신 단말기와 상기 수신 메일 서버 간의 제 2 암호키를 각각 생성하고, 상기 수신 단말기와 상기 수신 메일 서버에서 상기 제 2 암호키를 공유한다(S150).
그 다음, 상기 수신 메일 서버에서 상기 제 2 암호키를 이용하여 상기 제 2 세션키를 암호화하여 재변형 제 2 암호문을 생성하고, 상기 제 1 암호문 및 상기 재변형 제 2 암호문을 상기 수신 단말기에 전송한다(S160).
마지막으로, 상기 수신 단말기에서 상기 제 2 암호키를 이용하여 상기 재변형 제 2 암호문으로부터 상기 제 2 세션키를 복호하고, 상기 복호된 상기 제 2 세션키를 이용하여 상기 제 1 암호문으로부터 상기 이메일 메시지를 복호한다(S170).
도 2은 도 1의 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에서의 데이터 흐름을 도시한 것이다.
이하, 도 1 및 도 2를 참조하여 본 발명의 제1 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 더욱 상세히 설명하기로 한다.
송신 단말기 의 로그인 단계(Login phase of A)에서 송신 단말기 가 송신 메일 서버 에 로그인하기 위해서 송신 단말기 와 송신 메일 서버 는 다음 프로토콜을 수행한다.
우선, 송신 단말기 는 임의의 제 1 난수 를 선택한다. 송신 단말기 는 상기 선택된 임의의 제 1 난수 를 이용하여 하기의 수학식 1에 의해 송신 단말 메시지 를 송신 메일 서버 로 전송한다.
여기서, 는 오더가 인 유한 순환군의 서로 다른 두 개의 생성자이고, 는 송신 단말기 에서 선택된 제 1 난수이고, 는 송신 단말기의 아이디이고, 는 송신 메일 서버의 아이디이고, 는 송신 단말기 의 패스워드이고, 는 해쉬 함수이며, 는 상기 를 만족하는 소수이다.
한편, 송신 메일 서버 는 수신된 송신 단말 메시지 를 저장하고, 마찬가지로 송신 메일 서버 에서 선택된 임의의 제 2 난수 를 이용하여 하기의 수학식 2에 의해 연산되는 송신 메일 서버 메시지 를 송신 단말기 에 게 전송한다.
여기서, 는 오더가 인 유한 순환군의 서로 다른 두 개의 생성자이고, 는 송신 메일 서버에서 생성된 제 2 난수이고, 는 송신 단말기의 아이디이고, 는 송신 메일 서버의 아이디이고, 는 송신 단말기 의 패스워드이고, 는 해쉬 함수이며, 는 를 만족하는 소수이다.
한편, 송신 단말기 는 송신 메일 서버 메시지 를 수신한 후, 수신한 송신 메일 서버 메시지 를 이용하여 하기의 수학식 3에 의해 연산되는 송신 단말기 와 송신 메일 서버 가 공유하는 제 1 공유 메시지 인증 코드(MAC) 키 를 연산한다.
여기서, 는 상기 수학식 2에 의해 얻어진 송신 메일 서버 메시지이고, 는 오더가 인 유한 순환군의 생성자이고, 는 송신 단말기의 아이디이 고, 는 송신 메일 서버의 아이디이고, 는 송신 단말기 의 패스워드이고, 는 해쉬 함수이다.
이와 같이, 송신 단말기 는 상기 수학식 3에 따라 연산된 제 1 공유 메시지 인증 코드(MAC) 키 를 이용하여 하기의 수학식 4에 의해 송신 단말기의 메시지 인증 코드값 를 송신 메일 서버 에게 전송한다.
이와 같이, 는 상기 연산된 제 1 공유 메시지 인증 코드키 를 사용하여 송신 단말기의 메시지 인증 코드값 를 생성하는데, 상기 수학식 4에서 는 송신 단말기의 아이디이고, 는 송신 메일 서버의 아이디이고, 는 수학식 1에 의해 얻어진 송신 단말 메시지이고, 는 수학식 2에 의해 얻어진 송신 메일 서버 메시지이다.
그리고, 송신 메일 서버 도 마찬가지 방법으로 하기의 수학식 5에 의해 연산되는 제 1 공유 메시지 인증 코드키인 를 계산한 후 하기의 수학식 6에 의해 연산되는 송신 메일 서버의 메시지 인증 코드값인 를 송신 단말기 에게 전송한다.
여기서, 는 제 1 공유 메시지 인증 코드키 를 사용하여 송신 메일 서버의 메시지 인증 코드값 를 생성하고, 는 송신 메일 서버이고, 는 송신 단말기의 아이디이고, 는 수학식 1에 의해 얻어진 송신 단말 메시지이고, 는 수학식 2에 의해 얻어진 송신 메일 서버 메시지이다.
여기서, 송신 메일 서버로부터 전송된 송신 메일 서버 메시지 가 유효한지의 검증은 상기 제 1 공유 메시지 인증 코드키 를 이용하여 전송된 송신 메일 서버의 메시지 인증 코드값 이 인지의 여부를 검증하는데, 여기서 '1'이 출력되면, 송신 메일 서버로부터 전송된 송신 메일 서버 메시지 가 유효한 메시지 인증 코드값으로 판단하여 중간 과정에서 메시지의 수정이나 변경이 없었음을 의미한다.
그러나, '0'의 값이 출력되면, 송신 메일 서버로부터 전송된 송신 메일 서버 메시지 가 중간 과정에서 수정이나 변경이 있었음을 의미하므로 유효하지 않으므로, 전송된 송신 메일 서버 메시지 를 버리게 된다.
상기 수학식 7에서의 는 송신 단말기의 아이디이고, 는 송신 메일 서버의 아이디이고, 는 수학식 1에 의해 얻어진 송신 단말 메시지이고, 는 수학식 2에 의해 얻어진 송신 메일 서버 메시지이다.
한편, 송신 메일 서버 도 송신 메일 서버의 메시지 인증 코드값인가 유효한 메시지 인증 코드값인지를 검증 후에 제 1 암호키 를 연산하고, 송신 단말기 와 송신 메일 서버 는 동일한 제 1 암호키를 상호 저장한다.
상기와 같은 과정에 의해 송신 단말기의 송신 메일 서버로의 로그인 과정이 종료된다.
그 다음은, 송신 단말기 의 암호화된 메시지를 발송하는 과정으로, 송신 단말기 가 이메일 메시지 M을 수신 단말기 에게 안전하게 전송하기를 원할 경우, 송신 단말기 , 송신 메일 서버 그리고 수신 메일 서버 는 다음 프로토콜을 수행한다.
여기서, 는 대칭키 암호 방법으로 제 2 세션키 를 이용하여 제 1 암호문 을 생성하고, 제 1 암호키 를 이용하여 제 2 암호문 를 생성하며, 여기서 는 송신 단말기이고, 는 수신 단말기이고, 는 세션키이며, 은 이메일 메시지이다.
그러면, 송신 메일 서버 는 상기 수학식 9에 의해 생성된 를 수신하고, 상기 로그인 과정에서 생성한 제 1 암호키 를 이용하여 로부터 제 2 세션키 를 복호한 후, 하기의 수학식 10에 의해 연산되는 제 1 암호문 및 변형 제 2 암호문 를 수신 메일 서버 에게 전송한다.
그러면, 수신 메일 서버 는 상기의 수학식 10에 의해 연산되는 제 1 암호문 및 변형 제 2 암호문 를 수신하고, 제 1 세션키 를 사용하여 로부터 제 2 세션키 를 복호한 후, 를 저장한다.
한편, 수신 단말기 의 로그인 단계에서 수신 단말기 가 수신 메일 서버 에 로그인하기 위해 수신 단말기 와 수신 메일 서버 는 송신 단말기 의 로그인 단계와 동일한 프로토콜을 수행한다.
여기서, 는 의사 난수 함수이고, 수신 단말기 와 수신 메일 서버 가 공유하는 제 2 공유 메시지 인증 코드키 를 이용하여 제 2 암호키 를 생성하며, 는 수신 단말기의 아이디이고, 는 수신 메일 서버이고, 는 수학식 1과 동일한 방법에 의해 얻어진 수신 단말 메시지이고, 는 수학식 2와 동일한 방법에 의해 얻어진 수신 메일 서버 메시지이다.
여기서, 는 대칭키 암호화 함수로 제 2 암호키 를 이용하여 제 2 세션키 를 암호화함으로써 재변형 제 2 암호문 를 생성하며, 는 송신 단말 기의 아이디이고, 는 수신 단말기의 아이디이다.
상기의 과정은 이메일 메시지 M은 제 2 세션키 로 암호화되어 전송되기 때문에 이메일 메시지 M의 기밀성은 의 키 기밀성 (key secrecy)에 기반한다. 의 키 기밀성은 다시 송신 단말기 와 송신 메일 서버 (송신 단말기 와 메일 서버 )가 교환한 암호키 ()와 송신 메일 서버와 수신 메일 서버가 교환한 제 1 세션키 의 키 기밀성에 기반한다. 만약 DDH (Decisional Diffie-Hellman) 문제가 다항식 시간 안에 풀기 어려운 문제이고, 가 안전한 의사 난수 함수라면 ()를 임의의 난수와 구별하는 것은 다항식 시간 내에 풀기 어려운 문제이다. 즉, ()는 키 기밀성을 제공한다. 는 두 서버간에 안전한 키 교환 프로토콜에 의해 교환된 세션키 값이므로, 는 키 기밀성을 제공한다. 따라서 는 임의의 난수와 다항식 시간 안에 구별 불가능한 값이다.
사용자들의 패스워드 가 노출된 경우, 본 발명은 Diffie- Hellman 키 교환 기법으로 ()가 생성되기 때문에 값들이 노출되기 이전에 생성된 ()의 값을 계산할 수 없다. 따라서 ()를 이용하여 가 암호화 되어 전송되므로 의 값을 알 수 없고, 로 암호화되어 전송된 이메일 메시지 M을 복호할 수 없기 때문에 본 발명은 전방향 안전성을 제공한다. 메일 서버들의 암호키가 노출된 경우에도 본 발명이 전방향 안전성을 제공하려면 제 1 세션키 를 교환하기 위하여 두 메일 서버는 Diffie-Hellman 키 교환 기법의 키교환 프로토콜을 사용하여야 한다.
도 3은 본 발명의 제 2 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법의 흐름도를 도시한 것이다.
도 3을 참조하면 우선, 송신 단말기에서 송신 단말 일회용 공개키와 송신 단말 비밀키로 이루어진 송신 단말 데이터 쌍을 저장하고, 송신 메일 서버에서 송신 단말 아이디 및 상기 송신 단말 일회용 공개키로 이루어진 송신 메일 서버 데이터 쌍을 메일 서버 리스트에 저장하며, 수신 단말기에서 수신 단말 일회용 공개키와 수신 단말 비밀키로 이루어진 수신 단말 데이터 쌍을 저장하고, 수신 메일 서버에서 수신 단말기의 아이디 및 수신 단말 일회용 공개키로 이루어진 수신 메일 서버 데이터 쌍을 메일 서버 리스트에 미리 저장한다(S310).
그 다음, 이메일 메시지를 전송하고자 하는 상기 송신 단말기에서 상기 수신 메일 서버와 제 1 세션키를 미리 공유한 상기 송신 메일 서버에 로그인하면, 상기 송신 단말기에서 선택된 제 1 난수와 상기 송신 메일 서버에서 선택된 제 2 난수를 이용하여 상기 송신 단말기와 상기 송신 메일 서버간에 공유되는 제 1 암호키를 각각 생성하고 상기 제 1 암호키를 공유한다(S320).
그 다음, 상기 수신 메일 서버에서 상기 송신 메일 서버와 미리 공유한 제 1 세션키 및 상기 수신 메일 서버 리스트에 저장된 수신 단말 일회용 공개키를 이용하여 수신 서버 암호문을 생성하여 상기 송신 메일 서버에 전송한다(S330).
그 다음, 상기 송신 메일 서버에서 상기 수신 서버 암호문으로부터 상기 수신 단말 일회용 공개키를 복호하고, 상기 복호된 수신 단말 일회용 공개키 및 상기 제 1 암호키를 이용하여 송신 서버 암호문을 생성하여 상기 송신 단말기에 전송한다(S340).
그 다음, 상기 송신 단말기에서 상기 제 1 암호키를 이용하여 제 1 암호문을 생성하여 상기 송신 메일 서버로 상기 제 1 암호문을 전송한다(S350).
그 다음, 상기 송신 메일 서버에서 상기 제 1 암호키를 이용하여 상기 제 1 암호문으로부터 상기 송신 단말 암호문을 복호한 후, 복호된 상기 송신 단말 암호문에 상기 제 1 세션키를 이용하여 제 2 암호문을 생성하여 상기 수신 메일 서버에 전송한다(S360).
그 다음, 상기 수신 메일 서버에서 상기 제 1 세션키를 이용하여 상기 제 2 암호문으로부터 상기 송신 단말 암호문을 복호한다(S370).
그 다음, 상기 수신 단말기에서 상기 수신 메일 서버에 로그인하면, 상기 수신 단말기와 상기 수신 메일 서버에서 제 2 암호키를 생성하여 상기 수신 단말기 및 상기 수신 메일 서버에서 공유한다(S380).
그 다음, 상기 수신 메일 서버에서 상기 제 2 암호키를 이용하여 상기 송신 단말 암호문을 암호화하여 제 3 암호문을 생성하여 상기 수신 단말기에 전송한다(S390).
마지막으로, 상기 수신 단말기에서 상기 제 2 암호키를 이용하여 상기 제 3 암호문으로부터 상기 송신 단말 암호문을 복호하고, 복호된 상기 송신 단말 암호문으로부터 상기 수신 단말 비밀키를 이용하여 상기 이메일 메시지를 복호한다(S391).
도 4는 도 3의 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에서의 데이터 흐름을 도시한 것이다.
이하, 도 3 및 도 4를 참조하여 본 발명의 제1 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 더욱 상세히 설명하기로 한다.
송신 단말기 는 송신 단말 일회용 공개키와 송신 단말 비밀키 쌍 을 저장하고 있다. 그리고 송신 메일 서버 는 송신 단말기 와 이전에 프로토콜을 수행한 결과로 송신 단말기의 아이디 및 송신 단말 일회용 공개키의 데이터 쌍인 를 메일 서버 리스트에 저장하고 있다.
수신 단말기 도 수신 단말 일회용 공개키와 수신 단말 비밀키 쌍 을 저장하고 있다. 수신 메일 서버 는 수신 단말기 와 이전에 프로토콜을 수행한 결과로 수신 단말기의 아이디 및 수신 단말 일회용 공개키의 데이터 쌍인 를 수신 메일 서버 리스트에 저장하고 있다.
송신 단말기 의 로그인 단계에서 송신 단말기 가 송신 메일 서버 에 로그인하기 위해서 송신 단말기 와 송신 메일 서버 는 상기 실시예 1에서와 동일한 로그인 프로토콜을 수행하여 상기 수학식 7에 의해 연산되는 제 1 비밀키 를 교환한다.
여기서, 본 발명의 제 2 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에 있어서, 로그인 과정(Login phase)은 상기 실시예 1에서 기술된 바와 동일하므로 중복된 설명은 발명의 명확화를 위하여 과감히 생략하기로 한다.
한편, 로그인 과정이 수행된 후, 송신 단말기 의 암호화된 메시지를 발송하는 단계(Sending phase of A)에서 송신 단말기 가 이메일 메시지 M을 수신 단말기 에게 안전하게 전송하기를 원할 경우, 송신 단말기 , 송신 메일 서버 그리고 수신 메일 서버 는 다음 프로토콜을 수행한다.
여기서, 는 대칭키 암호화 함수로 제 1 세션키 를 이용하여 수신 단말 일회용 공개키 를 암호화하여 수신 서버 암호문 를 생성하며, 는 수신 메일 서버의 아이디이고, 는 송신 메일 서버의 아이디이고, 는 수신 단말기의 아이디이다.
한편, 송신 메일 서버 는 상기 수신 서버 암호문으로부터 수신 단말 일회용 공개키를 복호하고, 하기의 수학식 14에 의해 연산되는 송신 서버 암호문 를 송신 단말기 에게 전송한다.
상기 수학식 14에서, 는 대칭키 암호화 함수로 제 1 암호키 를 이용하여 수신 단말 일회용 공개키 를 암호화하여 송신 서버 암호문 를 생성하 는데, 는 송신 메일 서버의 아이디이고, 는 송신 단말기의 아이디이고, 는 수신 단말기의 아이디이다.
이와 같이, 송신 단말기 는 하기의 수학식 16과 같이, 메일 메시지 을 암호화한 송신 단말 암호문 에 제 1 암호키 를 이용하여 제 1 암호문 을 생성하고, 생성된 제 1 암호문 을 송신 메일 서버 에게 전송한다.
이와 같이, 송신 메일 서버 는 제 1 암호키 를 이용하여 제 1 암호문 으로부터 송신 단말 암호문 를 복호한 후, 하기의 수학식 17에 따라 복호화된 송신 단말 암호문 에 제 1 세션키 를 이용하여 제 2 암호문 를 생성하고, 생성된 제 2 암호문 를 수신 메일 서버 에게 전송한다.
한편, 수신 단말기 의 로그인 단계에서 수신 단말기 가 수신 메일 서버 에 로그인하기 위하여 수신 단말기 와 수신 메일 서버 는 송신 단말기 의 로그인 단계와 동일한 프로토콜을 수행한다.
여기서 는 의사 난수 함수이고, 는 수신 단말기의 아이디이고, 는 수신 메일 서버의 아이디이고, 는 수학식 1과 동일한 방법에 의해 얻어진 수신 단말 메시지이고, 는 수학식 2와 동일한 방법에 의해 얻어진 수신 메일 서버 메시지이다.
그러면, 수신 메일 서버 는 상기 전송된 송신 단말 암호문 를 상기 생성된 제 2 암호키 를 대칭키 암호화 함수 를 이용하여 에 따라 암호화하여 제 3 암호문 를 생성한 후, 를 저장한다.
수신 단말기 는 저장되어 있는 제 2 암호키 를 이용하여 상기 제 3 암호문 로부터 송신 단말 암호문 를 복호화하고, 복호화된 송신 단말 암호문 로부터 수신 단말 비밀키 를 사용하여 이메일 메시지 을 복호한다.
이메일 메시지 은 수신 단말기 의 수신 단말 일회용 공개키 로 암호화되어 전송되기 때문에 이메일 메시지 의 기밀성은 의 키 기밀성 (key secrecy)에 기반한다. 의 키 기밀성은 다시 송신 단말기 와 송신 메일 서버 (수신 단말기 와 수신 메일 서버 )가 교환한 비밀 키 ()와 두 서버가 교환한 제 1 세션키 의 키 기밀성에 기반한다. 만약 DDH (Decisional Diffie-Hellman) 문제가 다항식 시간 안에 풀기 어려운 문제이고, 가 안전한 의사 난수 함수라면 ()를 임의의 난수와 구별하는 것은 다항식 시간 내에 풀기 어려운 문제이다. 즉, ()는 키 기밀성을 제공한다. 는 두 서버 간에 안전한 키 교환 프로토콜에 의해 교환된 세션키 값이므로, 는 키 기밀성을 제공한다. 따라서 는 임의의 난수와 다항식 시간 안에 구별 불가능한 값이다.
한편, 사용자들의 비밀키 (,)가 노출된 경우, 본 발명은 Diffie-Hellman 키 교환 기법으로 ()가 생성되기 때문에 (,)값들이 노출되기 이전에 생성된 ()의 값을 계산할 수 없다. 따라서 ()로 암호화되어 전송되는 수신 단말기 의 일회용 공개키 를 계산할 수 없고, 로 암호화되는 이메일 메시지 을 복호할 수 없기 때문에 본 발명은 전방향 안전성을 제공한다. 메일 서버들의 비밀키가 노출된 경우에도 본 발명이 제 1 세션키 를 교환하기 위하여 두 메일 서버가 Diffie-Hellman 키 교환 기법의 키교환 프로토콜을 사용하지 않더라도 전방향 안전성을 제공한다.
왜냐하면, 메일 서버들의 비밀키로부터 제 1 세션키 를 얻은 후 수신 단말기 의 일회용 공개키 를 얻을 수 있더라도 에 대응되는 수신 단말 비밀키 를 알 수 없기 때문에 를 복호할 수 없다.
도 5는 본 발명의 제 3 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법의 흐름도를 도시한 것이다.
도 5를 참조하면 우선, 송신 단말기에서 제 1 난수를 생성하고, 송신 메일 서버에서 상기 송신 단말기의 아이디 및 상기 송신 메일 서버에서 생성한 생성자에 상기 제 1 난수를 지수승한 송신 메일 서버의 메시지로 이루어진 데이터 쌍을 송신 메일 서버 리스트에 저장하고, 수신 단말기에서 제 2 난수를 생성하고, 수신 메일 서버에서 상기 수신 단말기의 아이디 및 상기 수신 메일 서버에서 생성한 생성자에 상기 제 2 난수를 지수승한 수신 메일 서버의 메시지로 이루어진 데이터 쌍을 수신 메일 서버 리스트에 저장한다(S510).
그 다음, 이메일 메시지를 전송하고자 하는 상기 송신 단말기에서 상기 송신 메일 서버와 로그인 프로토콜을 수행하여 생성된 제 1 암호키를 상호 공유한다(S520).
그 다음, 상기 송신 메일 서버에서 수신 메일 서버와 키 교환 프로토콜을 수행하여 제 1 세션키를 상호 공유하고, 상기 수신 메일 서버에서 상기 수신 메일 서버의 메시지 및 상기 제 1 세션키를 이용하여 상기 수신 메일 서버의 메시지를 암호화한 수신 메일 서버의 메시지 인증 코드값을 상기 송신 메일 서버로 전송한다(S530).
그 다음, 상기 송신 메일 서버에서 상기 수신 메일 서버의 메시지 인증 코드값이 유효한 지의 여부를 검증하고, 상기 송신 메일 서버에서 수신 메일 서버의 메시지, 상기 제 1 암호키를 이용하여 상기 수신 메일 서버의 메시지를 암호화한 송신 메일 서버의 제 1 메시지 인증 코드값을 상기 수신 단말기에 전송한다(S540).
그 다음, 상기 송신 단말기에서 상기 송신 메일 서버로부터 전송된 상기 송 신 메일 서버의 제 1 메시지 인증 코드값이 유효한지의 여부를 판단하고, 제 3 난수를 선택하여 생성된 송신 단말 메시지 및 상기 송신 단말 메시지 및 상기 제 2 난수를 이용하여 생성된 제 2 세션키를 연산한다(S550).
그 다음, 상기 송신 단말기에서 상기 제 2 세션키로 상기 이메일 메시지를 암호화한 암호문, 상기 송신 단말 메시지, 및 상기 제 1 암호키를 이용하여 상기 송신 단말 메시지를 암호화한 송신 단말의 메시지 인증 코드값을 상기 송신 메일 서버로 전송한다(S560).
그 다음, 상기 송신 메일 서버에서 상기 송신 단말기로부터 전송된 송신 단말의 메시지 인증 코드값이 유효한지의 여부를 판단하고, 상기 송신 메일 서버에서 상기 암호문, 상기 송신 단말 메시지 및 상기 제 1 세션키로 상기 송신 단말 메시지를 암호화한 송신 메일 서버의 제 2 메시지 인증 코드값을 상기 수신 메일 서버로 전송한다(S570).
그 다음, 상기 수신 메일 서버에서 상기 송신 메일 서버의 제 2 메시지 인증 코드값이 유효한 지의 여부를 판단하고, 상기 수신 메일 서버에서 상기 암호문 및 상기 송신 단말 메시지를 저장한다(S580).
그 다음, 상기 수신 단말기가 상기 수신 메일 서버에 로그인하면, 상기 수신 단말기 및 상기 수신 메일 서버에서 로그인 프로토콜을 수행하여 제 2 암호키를 공유한다(S590).
그 다음, 상기 수신 메일 서버에서 상기 송신 단말기의 아이디, 상기 암호문, 상기 송신 단말 메시지 및 상기 제 2 암호키로 상기 송신 단말 메시지를 암호 화한 수신 단말의 메시지 인증 코드값을 상기 수신 단말기에 전송한다(S591).
마지막으로, 상기 수신 단말기에서 상기 수신 단말의 메시지 인증 코드값이 유효한지의 여부를 판단하고, 상기 제 2 난수를 이용하여 상기 제 2 세션키를 추출하고, 상기 제 2 세션키를 이용하여 상기 암호문으로부터 상기 이메일 메시지를 추출한다(S592).
도 6은 도 5의 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에서의 데이터 흐름을 도시한 것이다.
이하, 도 5 및 도 6을 참조하여 본 발명의 제1 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 더욱 상세히 설명하기로 한다.
송신 단말기 는 임의의 제 1 난수 를 저장하고 있다. 그리고 송신 메일 서버 는 송신 단말기 와 이전에 프로토콜을 수행한 결과로 송신 단말기의 아이디 및 유한 순환군 로 부터 생성된 생성자 에 상기 제 1 난수 지수승한 의 데이터 쌍인 를 송신 메일 서버 리스트에 저장하고 있다.
송신 단말기 의 로그인 단계에서 송신 단말기 가 송신 메일 서버 에 로그인하기 위해서 송신 단말기 와 송신 메일 서버 는 상기 실시예 1에서의 로그인 프로토콜과 동일한 과정을 수행하여 상기 수학식 7에 의해 연산되는 제 1 비밀키 를 교환한다.
이는 전술한 바와 동일하므로 중복된 상세한 설명은 발명의 명확화를 위하여 과감히 생략하기로 한다.
그 다음, 송신 단말기 의 암호화된 이메일 메시지를 발송하는 단계에서 송신 단말기 가 이메일 메시지 을 수신 단말기 에게 안전하게 전송하기를 원할 경우 송신 단말기 , 송신 메일 서버 그리고 수신 메일 서버 는 다음 프로토콜을 수행한다. 여기서 송신 메일 서버 와 수신 메일 서버 는 이미 하나의 제 1 세션키 를 안전한 키 교환 프로토콜을 사용하여 교환했다고 가정한다.
한편, 수신 메일 서버 는 수신 메일 서버 리스트로부터 를 가져온다. 그리고 수신 메일 서버 는 하기의 수학식 19에 의해 연산되는 수신 메일 서버의 메시지 , 수신 메일 서버의 메시지 인증 코드값 을 송신 메일 서버 에게 전송한다.
여기서, 는 오더가 인 유한 순환군 의 생성자이고, 는 제 1 세션키 를 사용하여 수신 메일 서버의 메시지 인증 코드값 을 생성하고, 는 수신 단말기의 아이디이고, 는 송신 단말기의 아이디이고, 는 송신 메일 서버의 아이디이고, 는 수신 메일 서버의 아이디이다.
즉, 수학식 20을 참조하면, 제 1 세션키를 이용하여 상기 수신 메일 서버의 메시지 인증 코드값 이 유효한지의 여부를 검증하며, 검증값이 '1'이 출력되면 수신 메일 서버의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 중간에 수정 또는 변경이 발생한 것으로 판단되어, 수신된 수신 메일 서버의 메시지 인증 코드값을 버리게 된다.
이와 같이, 수신 메일 서버의 메시지 인증 코드값 이 유효하면, 송신 메일 서버 는 하기의 수학식 21에 의해 연산되는 수신 메일 서버의 메시지 및 송신 메일 서버의 제 1 메시지 인증 코드값 를 송신 단말기 에게 전송한다.
여기서, 는 제 1 암호키 를 사용하여 송신 메일 서버의 제 1 메시지 인증 코드값 를 생성하고, 는 수신 단말기의 아이디이고, 는 송신 단말기의 아이디이고, 는 송신 메일 서버의 아이디이고, 는 수신 메일 서버의 아이디이고, 는 수학식 19에 의해 연산되는 수신 메일 서버의 메시지이다.
즉, 수학식 22를 참조하면, 제 1 암호키 를 이용하여 상기 송신 메일 서 버의 제 1 메시지 인증 코드값 가 유효한지의 여부를 검증하며, 검증값이 '1'이 출력되면 송신 메일 서버의 제 1 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 중간에 수정 또는 변경이 발생한 것으로 판단되어, 수신된 송신 메일 서버의 제 1 메시지 인증 코드값 을 버리게 된다.
만약 가 유효하면 송신 단말기 는 임의의 제 3 난수 를 선택한 후 하기의 수학식 23에 의해 연산되는 송신 단말 메시지 와 하기의 수학식 24에 의해 연산되는 제 2 세션키 를 연산한다.
여기서, 는 해쉬 함수이고, 는 송신 단말기의 아이디이고, 는 수신 단말기이고, 는 수학식 23에 의해 연산된 송신 단말 메시지이고, 는 수학식 21에 의해 수신 메일 서버의 메시지이고, 는 오더가 인 유한 순환군 의 생성자이다.
여기서, 는 대칭키 암호화 함수로 제 2 세션키 를 이용하여 메시지 를 암호화하고, 는 송신 단말기의 아이디이고, 는 수신 단말기의 아이디이고, 은 메시지이고, 는 제 1 암호키 를 사용하여 송신 단말의 메시지 인증 코드값 를 생성하고, 는 송신 메일 서버의 아이디이고, 는 수학식 23에 의해 생성된 송신 단말 메시지이다.
즉, 수학식 26를 참조하면, 제 1 암호키 를 이용하여 상기 송신 단말의 메시지 인증 코드값 가 유효한지의 여부를 검증하며, 검증값이 '1'이 출력되면 송신 단말의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 중간에 수정 또는 변경이 발생한 것으로 판단되어, 수신된 송신 단말의 메시지 인증 코드값 를 버리게 된다.
만약 가 유효하면, 송신 메일 서버 는 하기의 수학식 27에 의해 연산되는 암호문 , 송신 단말 메시지 , 송신 메일 서버의 제 2 메시지 인증 코드값 를 수신 메일 서버 에게 전송한다.
여기서, 는 제 1 세션키 를 사용하여 송신 메일 서버의 제 2 메시지 인증 코드값 를 생성하고, 는 송신 메일 서버의 아이디이고, 는 수신 메일 서버의 아이디이고, 는 송신 단말기이고, 는 수신 단말기이고, 는 수학식 25에 의해 연산되는 암호문이고, 는 수학식 23에 의해 얻어진 송신 단말 메시지이다.
즉, 수학식 28를 참조하면, 제 1 세션키 를 이용하여 상기 송신 메일 서버의 제 2 메시지 인증 코드값 가 유효한지의 여부를 검증하며, 검증값이 '1'이 출력되면 송신 메일 서버의 제 2 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 중간에 수정 또는 변경이 발생한 것으로 판단되어, 수신된 송신 메일 서버의 제 2 메시지 인증 코드값 를 버리게 된다.
그런 다음, 수신 단말기 의 로그인 단계에서 수신 단말기 가 수신 메일 서버 에 로그인하기 위해 수신 단말기 와 수신 메일 서버 는 송신 단말기 의 로그인 단계에서와 같이 프로토콜을 수행한다. 수신 단말기 가 성공적으로 수신 메일 서버 에 로그인하면 수신 단말기 와 수신 메일 서버 는 수학식 11에 의해 연산되는 제 2 암호키 를 공유하게 된다.
수신 단말기 의 메시지 수신 단계에서 수신 메일 서버 는 하기의 수학식 29에 의해 연산되는 수신 단말기의 아이디 , 암호문 , 송신 단말 메시지 , 수신 단말의 메시지 인증 코드값 를 수신 단말기 에게 전송한다.
여기서, 는 제 2 암호키 를 사용하여 수신 단말의 메시지 인증 코드값 를 생성하고, 는 수신 메일 서버이고, 는 송신 단말기의 아이디이고, 는 수신 단말기의 아이디이고, 는 수학식 25에 의해 연산되는 암호문이고, 는 수학식 23에 의해 연산되는 송신 단말 메시지이다.
즉, 수학식 26를 참조하면, 제 2 비밀키 를 이용하여 상기 수신 단말의 메시지 인증 코드값 가 유효한지의 여부를 검증하며, 검증값이 '1'이 출력되면 수신 단말의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 중간에 수정 또는 변경이 발생한 것으로 판단되어, 수신된 수신 단말의 메시지 인증 코드값 를 버리게 된다.
여기서, 는 송신 단말기의 아이디이고, 는 수신 단말기의 아이디이고, 는 수학식 23에 의해 얻어진 송신 단말 메시지이고, 는 수학식 21에 의해 얻어진 수신 메일 서버의 메시지이고, 는 오더가 인 유한 순환군 의 생성자이다.
이메일 메시지 은 세션키 제 2 세션키로 암호화되어 전송되기 때문 에 이메일 메시지 의 기밀성은 의 키 기밀성 (key secrecy)에 기반한다. 의 키 기밀성은 다시 메일 송신 단말기 와 송신 메일 서버 (수신 단말기 와 메일 서버 )가 교환한 비밀 키 ()와 두 서버가 교환한 제 1 세션키 의 키 기밀성에 기반한다. 만약 DDH (Decisional Diffie-Hellman) 문제가 다항식 시간 안에 풀기 어려운 문제이고, 가 안전한 의사 난수 함수라면 ()를 임의의 난수와 구별하는 것은 다항식 시간 내에 풀기 어려운 문제이다.
만약, 사용자들의 패스워드 가 노출된 경우, 본 발명은 Diffie-Hellman 키 교환 기법으로 ()가 생성되기 때문에 값들이 노출되기 이전에 생성된 ()의 값을 계산할 수 없다.
이메일 메시지 을 암호화하는데 사용하는 제 2 세션키 는 ()로부터 Diffie-Hellman 값들 , 을 인증하는데 (메시지 인증 코드키 값으로) 사용하기 때문에 , 로부터 를 연산하는 것은 Diffie-Hellman 문제에 기반한다.
따라서 전송된 이메일 메시지 을 복호할 수 없기 때문에 본 발명은 전방향 안전성을 제공한다. 메일 서버들의 비밀키가 노출된 경우에도 본 발명이 세션키 를 교환하기 위하여 두 메일 서버가 Diffie-Hellman 키 교환 기법의 키교환 프로토콜을 사용하지 않더라도 전방향 안전성을 제공한다.
왜냐하면, 서버들로부터의 제 1 세션키인 를 얻은 후 (,)를 얻을 수 있더라도 제 2 세션키 자체가 Diffie-Hellman 키 교환 기법으로 생성된 값이므로 를 알 수 없고, 암호문 를 복호할 수 없다.
본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 테이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균 등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사항에 의해 정해져야 할 것이다.
도 1은 본 발명의 제1 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에 대한 흐름도이다.
도 2는 도 1의 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에서의 데이터 흐름을 도시한 것이다.
도 3은 본 발명의 제2 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에 대한 흐름도이다.
도 4는 도 3의 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에서의 데이터 흐름을 도시한 것이다.
도 5는 본 발명의 제3 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에 대한 흐름도이다.
도 6은 도 5의 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에서의 데이터 흐름을 도시한 것이다.
Claims (20)
- 삭제
- 이메일 메시지를 전송하고자 하는 송신 단말기에서 수신 메일 서버와 제 1 세션키를 미리 공유한 송신 메일 서버에 로그인하면, 상기 송신 단말기에서 선택된 제 1 난수와 상기 송신 메일 서버에서 선택된 제 2 난수를 이용하여 상기 송신 단말기와 상기 송신 메일 서버 간에 공유되는 제 1 암호키를 각각 생성하고 상기 제 1 암호키를 공유하는 단계;상기 송신 단말기에서 제 3 난수를 선택하고, 상기 선택된 제 3 난수에 따라 생성된 제 2 세션키를 이용하여 상기 송신 단말기에서 전송하고자 하는 이메일 메시지를 암호화한 제 1 암호문 및 상기 제 1 암호키를 이용하여 상기 제 2 세션키를 암호화한 제 2 암호문을 상기 송신 메일 서버에 전송하는 단계;상기 송신 메일 서버에서 상기 제 1 암호키를 이용하여 상기 제 2 암호문으로부터 상기 제 2 세션키를 복호하고, 상기 제 1 세션키를 이용하여 상기 제 2 세션키를 암호화하여 변형 제 2 암호문을 생성하고, 상기 제 1 암호문 및 상기 변형 제 2 암호문을 수신 메일 서버에 전송하는 단계;상기 수신 메일 서버에서 상기 제 1 세션키를 이용하여 상기 변형 제 2 암호문으로부터 상기 제 2 세션키를 복호하는 단계;수신 단말기가 상기 수신 메일 서버에 로그인하면, 상기 수신 단말기와 상기 수신 메일 서버 간의 제 2 암호키를 각각 생성하고, 상기 수신 단말기와 상기 수신 메일 서버에서 상기 제 2 암호키를 공유하는 단계;상기 수신 메일 서버에서 상기 제 2 암호키를 이용하여 상기 제 2 세션키를 암호화하여 재변형 제 2 암호문을 생성하고, 상기 제 1 암호문 및 상기 재변형 제 2 암호문을 상기 수신 단말기에 전송하는 단계; 및상기 수신 단말기에서 상기 제 2 암호키를 이용하여 상기 재변형 제 2 암호문으로부터 상기 제 2 세션키를 복호하고, 상기 복호된 상기 제 2 세션키를 이용하여 상기 제 1 암호문으로부터 상기 이메일 메시지를 복호하는 단계를 포함하며,상기 제 1 암호키를 공유하는 단계는상기 송신 단말기에서 선택된 제 1 난수에 따라 생성된 송신 단말 메시지를 송신 메일 서버로 전송하고, 상기 송신 메일 서버에서 선택된 제 2 난수에 따라 생성된 송신 메일 서버 메시지를 상기 송신 단말기에 전송하는 단계;상기 송신 단말기에서 상기 송신 메일 서버 메시지를 이용하여 제 1 공유 메시지 인증 코드키를 생성하고, 상기 제 1 공유 메시지 인증 코드키를 이용하여 송신 단말기의 메시지 인증 코드값을 생성하여 상기 송신 메일 서버에 전송하는 단계;상기 송신 메일 서버에서 상기 송신 단말 메시지를 이용하여 상기 제 1 공유 메시지 인증 코드키를 생성하고, 상기 제 1 공유 메시지 인증 코드키를 이용하여 상기 송신 메일 서버의 메시지 인증 코드값을 생성하여 상기 송신 단말기에 전송하는 단계;상기 송신 단말기에서 상기 제 1 공유 메시지 인증 코드키를 이용하여 상기 송신 메일 서버의 메시지 인증 코드값이 유효한지를 검증한 후, 상기 송신 메일 서버 메시지를 이용하여 제 1 암호키를 생성하는 단계; 및상기 송신 메일 서버에서 상기 제 1 공유 메시지 인증 코드키를 이용하여 상기 송신 단말기의 메시지 인증 코드값이 유효한지를 검증한 후, 상기 송신 단말 메시지를 이용하여 상기 제 1 암호키를 생성하는 단계를 포함하고,상기 제 1 공유 메시지 인증 코드키는는 송신 메일 서버 메시지이고, 는 오더가 인 유한 순환군의 생성자이고, 는 송신 단말기의 아이디이고, 는 송신 메일 서버의 아이디이고, 는 송신 단말기의 패스워드이고, 는 해쉬 함수이며, 가 상기 제 1 난수이고, 가 상기 제 2 난수일 때, 하기의 식 3에 의해 상기 제 1 공유 메시지 인증 코드키 가 생성되는 것을 특징으로 하는 기밀성과 전방향 안정성을 제공하는 이메일 전송 방법.
- 제 2 항에 있어서,상기 제 2 암호키를 공유하는 단계는상기 수신 단말기에서 선택된 수신 단말 난수에 따라 생성된 수신 단말 메시지를 상기 수신 메일 서버로 전송하고, 상기 수신 메일 서버에서 선택된 수신 메일 서버 난수에 따라 생성된 수신 메일 서버 메시지를 상기 수신 단말기에 전송하는 단계;상기 수신 단말기에서 상기 수신 메일 서버 메시지를 이용하여 제 2 공유 메시지 인증 코드키를 생성하고, 상기 제 2 공유 메시지 인증 코드키를 이용하여 수신 단말기의 메시지 인증 코드값을 생성하여 상기 수신 메일 서버에 전송하는 단계;상기 수신 메일 서버에서 상기 수신 단말 메시지를 이용하여 상기 제 2 공유 메시지 인증 코드키를 생성하고, 상기 제 2 공유 메시지 인증 코드키를 이용하여 상기 수신 메일 서버의 메시지 인증 코드값을 생성하여 상기 수신 단말기에 전송하는 단계;상기 수신 단말기에서 상기 제 2 공유 메시지 인증 코드키를 이용하여 상기 수신 메일 서버의 메시지 인증 코드값이 유효한지를 검증한 후, 상기 수신 메일 서버 메시지를 이용하여 제 2 암호키를 생성하는 단계; 및상기 수신 메일 서버에서 상기 제 2 공유 메시지 인증 코드키를 이용하여 상기 수신 단말기의 메시지 인증 코드값이 유효한지를 검증한 후, 상기 수신 단말 메시지를 이용하여 상기 제 2 암호키를 생성하는 단계를 포함하는 것을 특징으로 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
- 삭제
- 삭제
- 삭제
- 송신 단말기에서 송신 단말 일회용 공개키와 송신 단말 비밀키로 이루어진 송신 단말 데이터 쌍을 저장하고, 송신 메일 서버에서 송신 단말 아이디 및 상기 송신 단말 일회용 공개키로 이루어진 송신 메일 서버 데이터 쌍을 송신 메일 서버 리스트에 저장하며, 수신 단말기에서 수신 단말 일회용 공개키와 수신 단말 비밀키로 이루어진 수신 단말 데이터 쌍을 저장하고, 수신 메일 서버에서 수신 단말기의 아이디 및 수신 단말 일회용 공개키로 이루어진 수신 메일 서버 데이터 쌍을 수신 메일 서버 리스트에 미리 저장하는 단계;이메일 메시지를 전송하고자 하는 상기 송신 단말기에서 상기 수신 메일 서버와 제 1 세션키를 미리 공유한 상기 송신 메일 서버에 로그인하면, 상기 송신 단말기에서 선택된 제 1 난수와 상기 송신 메일 서버에서 선택된 제 2 난수를 이용하여 상기 송신 단말기와 상기 송신 메일 서버간에 공유되는 제 1 암호키를 각각 생성하고 상기 제 1 암호키를 공유하는 단계;상기 수신 메일 서버에서 상기 송신 메일 서버와 미리 공유한 제 1 세션키를 이용하여 상기 수신 메일 서버 리스트에 저장된 수신 단말 일회용 공개키를 암호화하여 수신 서버 암호문을 생성하여 상기 송신 메일 서버에 전송하는 단계;상기 송신 메일 서버에서 상기 수신 서버 암호문으로부터 상기 수신 단말 일회용 공개키를 복호하고, 상기 제 1 암호키를 이용하여 상기 복호된 수신 단말 일회용 공개키를 암호화하여 송신 서버 암호문을 생성하여 상기 송신 단말기에 전송하는 단계;상기 송신 단말기에서 상기 송신 서버 암호문으로부터 상기 수신 단말 일회용 공개키를 복호하고, 상기 복호된 수신 단말 일회용 공개키를 이용하여 상기 이메일 메시지를 암호화하여 송신 단말 암호문을 생성하고, 상기 송신 단말 암호문에 상기 제 1 암호키를 이용하여 제 1 암호문을 생성한 다음, 상기 송신 메일 서버로 상기 제 1 암호문을 전송하는 단계;상기 송신 메일 서버에서 상기 제 1 암호키를 이용하여 상기 제 1 암호문으로부터 상기 송신 단말 암호문을 복호한 후, 복호된 상기 송신 단말 암호문에 상기 제 1 세션키를 이용하여 제 2 암호문을 생성하여 상기 수신 메일 서버에 전송하는 단계;상기 수신 메일 서버에서 상기 제 1 세션키를 이용하여 상기 제 2 암호문으로부터 상기 송신 단말 암호문을 복호하는 단계;상기 수신 단말기에서 상기 수신 메일 서버에 로그인하면, 상기 수신 단말기와 상기 수신 메일 서버에서 제 2 암호키를 생성하여 상기 수신 단말기 및 상기 수신 메일 서버에서 공유하는 단계;상기 수신 메일 서버에서 상기 제 2 암호키를 이용하여 상기 송신 단말 암호문을 암호화하여 제 3 암호문을 생성하여 상기 수신 단말기에 전송하는 단계; 및상기 수신 단말기에서 상기 제 2 암호키를 이용하여 상기 제 3 암호문으로부터 상기 송신 단말 암호문을 복호하고, 복호된 상기 송신 단말 암호문으로부터 상기 수신 단말 비밀키를 이용하여 상기 이메일 메시지를 복호하는 단계를 포함하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
- 삭제
- 제 11 항에 있어서,상기 이메일 메시지를 복호하는 단계는상기 수신 단말기에서 상기 수신 단말 일회용 공개키와 수신 단말 비밀키를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
- 송신 단말기에서 제 1 난수를 생성하고, 송신 메일 서버에서 상기 송신 단말기의 아이디 및 상기 송신 메일 서버에서 생성한 생성자에 상기 제 1 난수를 지수 승한 송신 메일 서버의 메시지로 이루어진 데이터 쌍을 송신 메일 서버 리스트에 저장하고, 수신 단말기에서 제 2 난수를 생성하고, 수신 메일 서버에서 상기 수신 단말기의 아이디 및 상기 수신 메일 서버에서 생성한 생성자에 상기 제 2 난수를 지수승한 수신 메일 서버의 메시지로 이루어진 데이터 쌍을 수신 메일 서버 리스트에 저장하는 단계;이메일 메시지를 전송하고자 하는 상기 송신 단말기에서 상기 송신 메일 서버와 로그인 프로토콜을 수행하여 생성된 제 1 암호키를 상호 공유하는 단계;상기 송신 메일 서버에서 수신 메일 서버와 키 교환 프로토콜을 수행하여 제 1 세션키를 상호 공유하고, 상기 수신 메일 서버에서 상기 수신 메일 서버의 메시지 및 상기 제 1 세션키를 이용하여 상기 수신 메일 서버의 메시지를 암호화한 수신 메일 서버의 메시지 인증 코드값을 상기 송신 메일 서버로 전송하는 단계;상기 송신 메일 서버에서 상기 수신 메일 서버의 메시지 인증 코드값이 유효한 지의 여부를 검증하고, 상기 송신 메일 서버에서 수신 메일 서버의 메시지, 상기 제 1 암호키를 이용하여 상기 수신 메일 서버의 메시지를 암호화한 송신 메일 서버의 제 1 메시지 인증 코드값을 상기 수신 단말기에 전송하는 단계;상기 송신 단말기에서 상기 송신 메일 서버로부터 전송된 상기 송신 메일 서버의 제 1 메시지 인증 코드값이 유효한지의 여부를 판단하고, 제 3 난수를 선택하여 생성된 송신 단말 메시지 및 상기 송신 단말 메시지 및 상기 제 2 난수를 이용하여 생성된 제 2 세션키를 연산하는 단계;상기 송신 단말기에서 상기 제 2 세션키로 상기 이메일 메시지를 암호화한 암호문, 상기 송신 단말 메시지, 및 상기 제 1 암호키를 이용하여 상기 송신 단말 메시지를 암호화한 송신 단말의 메시지 인증 코드값을 상기 송신 메일 서버로 전송하는 단계;상기 송신 메일 서버에서 상기 송신 단말기로부터 전송된 송신 단말의 메시지 인증 코드값이 유효한지의 여부를 판단하고, 상기 송신 메일 서버에서 상기 암호문, 상기 송신 단말 메시지 및 상기 제 1 세션키로 상기 송신 단말 메시지를 암호화한 송신 메일 서버의 제 2 메시지 인증 코드값을 상기 수신 메일 서버로 전송하는 단계;상기 수신 메일 서버에서 상기 송신 메일 서버의 제 2 메시지 인증 코드값이 유효한 지의 여부를 판단하고, 상기 수신 메일 서버에서 상기 암호문 및 상기 송신 단말 메시지를 저장하는 단계;상기 수신 단말기가 상기 수신 메일 서버에 로그인하면, 상기 수신 단말기 및 상기 수신 메일 서버에서 로그인 프로토콜을 수행하여 제 2 암호키를 공유하는 단계;상기 수신 메일 서버에서 상기 송신 단말기의 아이디, 상기 암호문, 상기 송신 단말 메시지 및 상기 제 2 암호키로 상기 송신 단말 메시지를 암호화한 수신 단말의 메시지 인증 코드값을 상기 수신 단말기에 전송하는 단계; 및상기 수신 단말기에서 상기 수신 단말의 메시지 인증 코드값이 유효한지의 여부를 판단하고, 상기 제 2 난수를 이용하여 상기 제 2 세션키를 추출하고, 상기 제 2 세션키를 이용하여 상기 암호문으로부터 상기 이메일 메시지를 추출하는 단계 를 포함하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
- 제 2 항, 제 3 항, 제 7 항 내지 제 11 항, 또는 제 13 항 내지 제 19항 중 어느 한 항의 방법을 컴퓨터에서 수행할 수 있도록 프로그램으로 기록된 기록매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20070069365 | 2007-07-10 | ||
KR1020070069365 | 2007-07-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090005975A KR20090005975A (ko) | 2009-01-14 |
KR100974622B1 true KR100974622B1 (ko) | 2010-08-09 |
Family
ID=40487458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080064377A KR100974622B1 (ko) | 2007-07-10 | 2008-07-03 | 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100974622B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001111606A (ja) | 1999-10-08 | 2001-04-20 | Open Loop:Kk | 通信制御装置及び記録媒体 |
KR20040097717A (ko) * | 2003-05-13 | 2004-11-18 | 펜타시큐리티시스템 주식회사 | 세션키 전송 방법 및 시스템 |
JP2004362129A (ja) | 2003-06-03 | 2004-12-24 | Toshiba Corp | 電子メール暗号化配信システムおよびその方法 |
KR100625635B1 (ko) * | 2004-04-16 | 2006-09-20 | 주식회사 트러스컴 | 문서 보안 시스템 및 그 방법 및 상기 문서 보안 방법을실행하도록 프로그램된 컴퓨터로 읽을 수 있는 기록 매체 |
-
2008
- 2008-07-03 KR KR1020080064377A patent/KR100974622B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001111606A (ja) | 1999-10-08 | 2001-04-20 | Open Loop:Kk | 通信制御装置及び記録媒体 |
KR20040097717A (ko) * | 2003-05-13 | 2004-11-18 | 펜타시큐리티시스템 주식회사 | 세션키 전송 방법 및 시스템 |
JP2004362129A (ja) | 2003-06-03 | 2004-12-24 | Toshiba Corp | 電子メール暗号化配信システムおよびその方法 |
KR100625635B1 (ko) * | 2004-04-16 | 2006-09-20 | 주식회사 트러스컴 | 문서 보안 시스템 및 그 방법 및 상기 문서 보안 방법을실행하도록 프로그램된 컴퓨터로 읽을 수 있는 기록 매체 |
Also Published As
Publication number | Publication date |
---|---|
KR20090005975A (ko) | 2009-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Di Raimondo et al. | Secure off-the-record messaging | |
CN101238677B (zh) | 使用以非一次一密加密进行加密的签名密钥的加密认证和/或共享加密密钥的建立、包括(但不限于)对可延展攻击具有改进安全性的技术 | |
CN104253694B (zh) | 一种用于网络数据传输的保密方法 | |
US20110145576A1 (en) | Secure method of data transmission and encryption and decryption system allowing such transmission | |
EP2361462B1 (en) | Method for generating an encryption/decryption key | |
Kartalopoulos | A primer on cryptography in communications | |
US9847877B2 (en) | Password-based generation and management of secret cryptographic keys | |
CN104901935A (zh) | 一种基于cpk的双向认证及数据交互安全保护方法 | |
CN110113155A (zh) | 一种高效无证书公钥加密方法 | |
US7360238B2 (en) | Method and system for authentication of a user | |
KR100396740B1 (ko) | 계산적 디피-헬만 가정에 기반하는 안전성 증명 가능한공개키 암호화 방법 | |
Sinnhofer et al. | Patterns to establish a secure communication channel | |
JP3690237B2 (ja) | 認証方法、記録媒体、認証システム、端末装置、及び認証用記録媒体作成装置 | |
KR101793528B1 (ko) | 무인증서 공개키 암호 시스템 | |
JP5004086B2 (ja) | 短い系列を用いた認証システム | |
Yang et al. | Security enhancement for protecting password transmission | |
KR100974622B1 (ko) | 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체 | |
Wong et al. | E–mail protocols with perfect forward secrecy | |
CN105049433A (zh) | 标识化***信息传输验证方法及*** | |
Behera et al. | Chat Application Using Homomorphic Encryption | |
Pérez | Working from Home and Data Protection | |
JP3862397B2 (ja) | 情報通信システム | |
KR20010000047A (ko) | 안전성이 증명가능한 타원곡선 공개키 암호화 시스템 | |
Singh et al. | A New Hybrid Approach For Key And Data Exchange In Cloud Computing | |
KR101241829B1 (ko) | 암호문의 익명성과 인증성을 만족하는 id 기반 사인크립션 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
A107 | Divisional application of patent | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130621 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140630 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151102 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |