KR100974622B1 - 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체 - Google Patents

기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체 Download PDF

Info

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
Application number
KR1020080064377A
Other languages
English (en)
Other versions
KR20090005975A (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 고려대학교 산학협력단
Publication of KR20090005975A publication Critical patent/KR20090005975A/ko
Application granted granted Critical
Publication of KR100974622B1 publication Critical patent/KR100974622B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • 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

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

기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체{E-mail transmission method for encrytion and forward-secure and Recoding medium for the same}
본 발명은 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체로써, 특히 이메일 계정의 패스워드를 이용해서 암호화된 이메일을 전송하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체에 관한 것이다.
이메일은 오늘날 많은 사람들이 사용하는 수많은 통신수단 가운데 하나이다. 이메일은 컴퓨터를 이용해서 뿐 아니라 휴대하고 다니는 모바일기기를 이용해서도 언제 어디서나 전송 가능하고 확인 가능하다. 실제로 이러한 요구에 맞추어 모바일 이메일 서비스를 제공하고 있다.
이메일 전송 시스템이 이메일을 인터넷과 같은 안전하지 않은 통신로를 통해 전송할 경우, 허가되지 않은 수신 단말기도 이메일 내용을 쉽게 변경하거나 열어볼 수 있다. 이러한 문제를 해결하기 위하여 이메일 메시지를 암호 알고리즘을 이용하여 암호화하게 된다. 이메일의 기밀성뿐 아니라 전자우편의 전방향 안전성 (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 암호키를 생성하는 단계를 포함하는 것을 특징으로 한다.
한편, 상기 송신 단말 메시지
Figure 112008048142382-pat00001
는 상기 제 1 난수가
Figure 112008048142382-pat00002
이고, 오더(order)가
Figure 112008048142382-pat00003
인 유한 순환군의 서로 다른 두 개의 생성자가
Figure 112008048142382-pat00004
이고, 상기 송신 단말기의 아이디가
Figure 112008048142382-pat00005
이고, 송신 메일 서버의 아이디가
Figure 112008048142382-pat00006
이고, 상기 송신 단말기의 패스워드가
Figure 112008048142382-pat00007
이고,
Figure 112008048142382-pat00008
는 해쉬함수이고,
Figure 112008048142382-pat00009
Figure 112008048142382-pat00010
를 만족하는 소수일때, 수학식
Figure 112008048142382-pat00011
에 의해 생성되는 것을 특징으로 한다.
그리고, 상기 송신 메일 서버 메시지
Figure 112008048142382-pat00012
Figure 112008048142382-pat00013
는 오더가
Figure 112008048142382-pat00014
인 유한 순환군의 서로 다른 두 개의 생성자이고,
Figure 112008048142382-pat00015
는 상기 송신 메일 서버에서 생성된 제 2 난수이고,
Figure 112008048142382-pat00016
는 상기 송신 단말기의 아이디이고,
Figure 112008048142382-pat00017
는 상기 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00018
는 상기 송신 단말기의 패스워드이고,
Figure 112008048142382-pat00019
는 해쉬 함수이며,
Figure 112008048142382-pat00020
Figure 112008048142382-pat00021
를 만족하는 소수일 때, 수학식
Figure 112008048142382-pat00022
에 의해 결정되는 것을 특징으로 한다.
그리고, 상기 제 1 공유 메시지 인증 코드키는
Figure 112008048142382-pat00023
는 송신 메일 서버 메시지이고,
Figure 112008048142382-pat00024
는 오더가
Figure 112008048142382-pat00025
인 유한 순환군의 생성자이고,
Figure 112008048142382-pat00026
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00027
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00028
는 송신 단말기의 패스워드이고,
Figure 112008048142382-pat00029
는 해쉬 함수이며,
Figure 112008048142382-pat00030
가 상기 제 1 난수이고,
Figure 112008048142382-pat00031
가 상기 제 2 난수일 때, 수학식
Figure 112008048142382-pat00032
에 의해 생성되는 것을 특징으로 한다.
또한, 상기 송신 단말기의 메시지 인증 코드값
Figure 112008048142382-pat00033
Figure 112008048142382-pat00034
가 메시지 인증 코드값 생성 함수이고,
Figure 112008048142382-pat00035
가 상기 제 1 공유 메시지 인증 코드키이고,
Figure 112008048142382-pat00036
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00037
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00038
는 송신 단말 메시지이고,
Figure 112008048142382-pat00039
는 송신 메일 서버 메시지일 때, 수학식
Figure 112008048142382-pat00040
에 의해 생성되는 것을 특징으로 한다.
그리고, 상기 송신 메일 서버의 메시지 인증 코드값
Figure 112008048142382-pat00041
는 수학식
Figure 112008048142382-pat00042
에 의해 생성되는 것을 특징으로 한다.
아울러, 상기 제 2 세션키
Figure 112008048142382-pat00043
Figure 112008048142382-pat00044
는 해쉬 함수이고,
Figure 112008048142382-pat00045
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00046
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00047
는 세션 아이디이며
Figure 112008048142382-pat00048
에 의해 연산되고,
Figure 112008048142382-pat00049
는 제 3 난수일 때, 수학식
Figure 112008048142382-pat00050
에 의해 생성되는 것을 특징으로 한다.
여기서, 상기 제 1 암호키를 생성하는 단계는 상기 제 1 공유 메시지 인증 코드키
Figure 112008048142382-pat00051
를 이용하여 상기 송신 메일 서버의 메시지 인증 코드값
Figure 112008048142382-pat00052
Figure 112008048142382-pat00053
이 '1'의 값을 출력하는 지의 여부에 따라 검증하되, '1'의 값이 출력되면 상기 송신 메일 서버로부터 전송된 송신 메일 서버 메시지
Figure 112008048142382-pat00054
를 유효한 메시지 인증 코드값으로 판단하고, '0'의 값이 출력되면 유효하지 않은 메시지 인증 코드값으로 판단하여 전송된 송신 메일 서버 메시지
Figure 112008048142382-pat00055
를 버리는 단계를 포함하는 것을 특징으로 한다.
한편, 상기 첫 번째 과제를 해결하기 위하여 본 발명은,
송신 단말기에서 송신 단말 일회용 공개키와 송신 단말 비밀키로 이루어진 송신 단말 데이터 쌍을 저장하고, 송신 메일 서버에서 송신 단말 아이디 및 상기 송신 단말 일회용 공개키로 이루어진 송신 메일 서버 데이터 쌍을 메일 서버 리스트에 저장하며, 수신 단말기에서 수신 단말 일회용 공개키와 수신 단말 비밀키로 이루어진 수신 단말 데이터 쌍을 저장하고, 수신 메일 서버에서 수신 단말기의 아이디 및 수신 단말 일회용 공개키로 이루어진 수신 메일 서버 데이터 쌍을 메일 서버 리스트에 미리 저장하는 단계; 이메일 메시지를 전송하고자 하는 상기 송신 단말기에서 상기 수신 메일 서버와 제 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 세션키
Figure 112008048142382-pat00056
를 이용하여 상기 수신 메일 서버의 메시지 인증 코드값
Figure 112008048142382-pat00057
이 유효한지의 여부를
Figure 112008048142382-pat00058
에 의해 검증하며, 검증값이 '1'이 출력되면 수신 메일 서버의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어, 수신된 수신 메일 서버의 메시지 인증 코드값을 버리는 것을 특징으로 한다.
그리고, 상기 송신 메일 서버로부터 전송된 상기 송신 메일 서버의 제 1 메시지 인증 코드값이 유효한지의 여부는 상기 제 1 암호키
Figure 112008048142382-pat00059
를 이용하여 상기 송 신 메일 서버의 제 1 메시지 인증 코드값
Figure 112008048142382-pat00060
이 유효한지의 여부를
Figure 112008048142382-pat00061
에 의해 검증하며, 검증값이 '1'이 출력되면 송신 메일 서버의 제 1 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어 수신된 송신 메일 서버의 제 1 메시지 인증 코드값을 버리는 것을 특징으로 한다.
또한, 상기 송신 단말의 메시지 인증 코드값이 유효한지의 여부는 상기 제 1 암호키
Figure 112008048142382-pat00062
를 이용하여 상기 송신 단말의 메시지 인증 코드값
Figure 112008048142382-pat00063
가 유효한지의 여부를
Figure 112008048142382-pat00064
에 의해 검증하며, 검증값이 '1'이 출력되면 상기 송신 단말의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어 수신된 상기 송신 단말의 메시지 인증 코드값을 버리는 것을 특징으로 한다.
여기서, 상기 송신 메일 서버의 제 2 메시지 인증 코드값이 유효한 지의 여부는 상기 제 1 세션키
Figure 112008048142382-pat00065
를 이용하여 상기 송신 메일 서버의 제 2 메시지 인증 코드값
Figure 112008048142382-pat00066
가 유효한지의 여부를
Figure 112008048142382-pat00067
에 의해 검증하며, 검증값이 '1'이 출력되면 상기 송신 메일 서버의 제 2 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어, 수신된 상기 송신 메일 서버의 제 2 메시지 인증 코드값을 버리는 것을 특징으로 한다.
아울러, 상기 수신 단말의 메시지 인증 코드값이 유효한지의 여부는 상기 제 2 비밀키
Figure 112008048142382-pat00068
를 이용하여 상기 수신 단말의 메시지 인증 코드값
Figure 112008048142382-pat00069
가 유효한지의 여부를
Figure 112008048142382-pat00070
에 의해 검증하며, 검증값이 '1'이 출력되면 상기 수신 단말의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어, 수신된 상기 수신 단말의 메시지 인증 코드값을 버리는 것을 특징으로 한다.
상기 두 번째 과제를 해결하기 위하여 본 발명은 상기 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 컴퓨터에서 수행할 수 있도록 프로그램으로 기록된 기록매체를 제공하는 것이다.
본 발명에 의하면, 사용자의 패스워드 또는 메일 서버의 비밀키가 노출된 경우에도 공개키 인증서의 필요 없이 이메일 계정의 패스워드만을 이용하여 이메일 메시지의 기밀성과 전방향 안전성을 제공하는 효과가 있다.
이하, 본 발명의 바람직한 실시예를 첨부도면에 의거하여 상세히 설명하기로 한다.
그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형할 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하 게 설명하기 위하여 제공된다.
본 발명의 설명에서
Figure 112008048142382-pat00071
는 송신 메일 서버
Figure 112008048142382-pat00072
에 아이디
Figure 112008048142382-pat00073
(이하, '
Figure 112008048142382-pat00074
'라고 함.) 및 패스워드
Figure 112008048142382-pat00075
로 이루어진 메일 계정
Figure 112008048142382-pat00076
을 등록한 송신 단말기이고,
Figure 112008048142382-pat00077
수신 메일 서버
Figure 112008048142382-pat00078
에 아이디
Figure 112008048142382-pat00079
(이하, '
Figure 112008048142382-pat00080
'라고 함.)및 패스워드
Figure 112008048142382-pat00081
로 이루어진 메일 계정
Figure 112008048142382-pat00082
를 등록한 수신 단말기이다. 송신 메일 서버
Figure 112008048142382-pat00083
와 수신 메일 서버
Figure 112008048142382-pat00084
는 서로 다른 메일 서버이다.
본 발명은 사용자의 송신 단말기
Figure 112008048142382-pat00085
를 통한 로그인 단계(Login phase of A), 송신 단말기
Figure 112008048142382-pat00086
의 암호화된 메시지 발송단계(Sending phase of A), 그리고 수신 단말기
Figure 112008048142382-pat00087
의 수신단계(Receiving phase of B)로 구성된다. 본 발명에서 사용되는 수식의 표기는 다음과 같다.
Figure 112008048142382-pat00088
도 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 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 더욱 상세히 설명하기로 한다.
송신 단말기
Figure 112008048142382-pat00089
의 로그인 단계(Login phase of A)에서 송신 단말기
Figure 112008048142382-pat00090
가 송신 메일 서버
Figure 112008048142382-pat00091
에 로그인하기 위해서 송신 단말기
Figure 112008048142382-pat00092
와 송신 메일 서버
Figure 112008048142382-pat00093
는 다음 프로토콜을 수행한다.
우선, 송신 단말기
Figure 112008048142382-pat00094
는 임의의 제 1 난수
Figure 112008048142382-pat00095
를 선택한다. 송신 단말기
Figure 112008048142382-pat00096
는 상기 선택된 임의의 제 1 난수
Figure 112008048142382-pat00097
를 이용하여 하기의 수학식 1에 의해 송신 단말 메시지
Figure 112008048142382-pat00098
를 송신 메일 서버
Figure 112008048142382-pat00099
로 전송한다.
Figure 112008048142382-pat00100
여기서,
Figure 112008048142382-pat00101
는 오더가
Figure 112008048142382-pat00102
인 유한 순환군의 서로 다른 두 개의 생성자이고,
Figure 112008048142382-pat00103
는 송신 단말기
Figure 112008048142382-pat00104
에서 선택된 제 1 난수이고,
Figure 112008048142382-pat00105
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00106
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00107
는 송신 단말기
Figure 112008048142382-pat00108
의 패스워드이고,
Figure 112008048142382-pat00109
는 해쉬 함수이며,
Figure 112008048142382-pat00110
는 상기
Figure 112008048142382-pat00111
를 만족하는 소수이다.
한편, 송신 메일 서버
Figure 112008048142382-pat00112
는 수신된 송신 단말 메시지
Figure 112008048142382-pat00113
를 저장하고, 마찬가지로 송신 메일 서버
Figure 112008048142382-pat00114
에서 선택된 임의의 제 2 난수
Figure 112008048142382-pat00115
를 이용하여 하기의 수학식 2에 의해 연산되는 송신 메일 서버 메시지
Figure 112008048142382-pat00116
를 송신 단말기
Figure 112008048142382-pat00117
에 게 전송한다.
Figure 112008048142382-pat00118
여기서,
Figure 112008048142382-pat00119
는 오더가
Figure 112008048142382-pat00120
인 유한 순환군의 서로 다른 두 개의 생성자이고,
Figure 112008048142382-pat00121
는 송신 메일 서버에서 생성된 제 2 난수이고,
Figure 112008048142382-pat00122
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00123
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00124
는 송신 단말기
Figure 112008048142382-pat00125
의 패스워드이고,
Figure 112008048142382-pat00126
는 해쉬 함수이며,
Figure 112008048142382-pat00127
Figure 112008048142382-pat00128
를 만족하는 소수이다.
한편, 송신 단말기
Figure 112008048142382-pat00129
는 송신 메일 서버 메시지
Figure 112008048142382-pat00130
를 수신한 후, 수신한 송신 메일 서버 메시지
Figure 112008048142382-pat00131
를 이용하여 하기의 수학식 3에 의해 연산되는 송신 단말기
Figure 112008048142382-pat00132
와 송신 메일 서버
Figure 112008048142382-pat00133
가 공유하는 제 1 공유 메시지 인증 코드(MAC) 키
Figure 112008048142382-pat00134
를 연산한다.
Figure 112008048142382-pat00135
여기서,
Figure 112008048142382-pat00136
는 상기 수학식 2에 의해 얻어진 송신 메일 서버 메시지이고,
Figure 112008048142382-pat00137
는 오더가
Figure 112008048142382-pat00138
인 유한 순환군의 생성자이고,
Figure 112008048142382-pat00139
는 송신 단말기의 아이디이 고,
Figure 112008048142382-pat00140
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00141
는 송신 단말기
Figure 112008048142382-pat00142
의 패스워드이고,
Figure 112008048142382-pat00143
는 해쉬 함수이다.
이와 같이, 송신 단말기
Figure 112008048142382-pat00144
는 상기 수학식 3에 따라 연산된 제 1 공유 메시지 인증 코드(MAC) 키
Figure 112008048142382-pat00145
를 이용하여 하기의 수학식 4에 의해 송신 단말기의 메시지 인증 코드값
Figure 112008048142382-pat00146
를 송신 메일 서버
Figure 112008048142382-pat00147
에게 전송한다.
Figure 112008048142382-pat00148
이와 같이,
Figure 112008048142382-pat00149
는 상기 연산된 제 1 공유 메시지 인증 코드키
Figure 112008048142382-pat00150
를 사용하여 송신 단말기의 메시지 인증 코드값
Figure 112008048142382-pat00151
를 생성하는데, 상기 수학식 4에서
Figure 112008048142382-pat00152
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00153
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00154
는 수학식 1에 의해 얻어진 송신 단말 메시지이고,
Figure 112008048142382-pat00155
는 수학식 2에 의해 얻어진 송신 메일 서버 메시지이다.
그리고, 송신 메일 서버
Figure 112008048142382-pat00156
도 마찬가지 방법으로 하기의 수학식 5에 의해 연산되는 제 1 공유 메시지 인증 코드키인
Figure 112008048142382-pat00157
를 계산한 후 하기의 수학식 6에 의해 연산되는 송신 메일 서버의 메시지 인증 코드값인
Figure 112008048142382-pat00158
를 송신 단말기
Figure 112008048142382-pat00159
에게 전송한다.
Figure 112008048142382-pat00160
여기서,
Figure 112008048142382-pat00161
은 오더가
Figure 112008048142382-pat00162
인 유한 순환군의 생성자이고,
Figure 112008048142382-pat00163
Figure 112008048142382-pat00164
에 의해 선택된 제 1 난수이고,
Figure 112008048142382-pat00165
는 송신 메일 서버
Figure 112008048142382-pat00166
에 의해 선택된 제 2 난수이다.
Figure 112008048142382-pat00167
여기서,
Figure 112008048142382-pat00168
는 제 1 공유 메시지 인증 코드키
Figure 112008048142382-pat00169
를 사용하여 송신 메일 서버의 메시지 인증 코드값
Figure 112008048142382-pat00170
를 생성하고,
Figure 112008048142382-pat00171
는 송신 메일 서버이고,
Figure 112008048142382-pat00172
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00173
는 수학식 1에 의해 얻어진 송신 단말 메시지이고,
Figure 112008048142382-pat00174
는 수학식 2에 의해 얻어진 송신 메일 서버 메시지이다.
한편, 송신 단말기
Figure 112008048142382-pat00175
는 송신 메일 서버로부터 전송된 송신 메일 서버 메시지
Figure 112008048142382-pat00176
가 유효한 메시지 인증 코드값인지를 검증한다.
여기서, 송신 메일 서버로부터 전송된 송신 메일 서버 메시지
Figure 112008048142382-pat00177
가 유효한지의 검증은 상기 제 1 공유 메시지 인증 코드키
Figure 112008048142382-pat00178
를 이용하여 전송된 송신 메일 서버의 메시지 인증 코드값
Figure 112008048142382-pat00179
Figure 112008048142382-pat00180
인지의 여부를 검증하는데, 여기서 '1'이 출력되면, 송신 메일 서버로부터 전송된 송신 메일 서버 메시지
Figure 112008048142382-pat00181
가 유효한 메시지 인증 코드값으로 판단하여 중간 과정에서 메시지의 수정이나 변경이 없었음을 의미한다.
그러나, '0'의 값이 출력되면, 송신 메일 서버로부터 전송된 송신 메일 서버 메시지
Figure 112008048142382-pat00182
가 중간 과정에서 수정이나 변경이 있었음을 의미하므로 유효하지 않으므로, 전송된 송신 메일 서버 메시지
Figure 112008048142382-pat00183
를 버리게 된다.
상기와 같은 과정으로,
Figure 112008048142382-pat00184
가 유효하면 송신 단말기
Figure 112008048142382-pat00185
는 하기의 수학식 7에 의해 연산되는 제 1 암호키
Figure 112008048142382-pat00186
를 계산한다.
Figure 112008048142382-pat00187
상기 수학식 7에서의
Figure 112008048142382-pat00188
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00189
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00190
는 수학식 1에 의해 얻어진 송신 단말 메시지이고,
Figure 112008048142382-pat00191
는 수학식 2에 의해 얻어진 송신 메일 서버 메시지이다.
상기 수학식 7에서 제 1 공유 메시지 인증 코드키
Figure 112008048142382-pat00192
를 의사 난수 함수
Figure 112008048142382-pat00193
에 적용하여 제 1 암호키
Figure 112008048142382-pat00194
를 생성한다.
만약
Figure 112008048142382-pat00195
가 유효하지 않으면 송신 단말기
Figure 112008048142382-pat00196
는 프로토콜 수행을 멈춘다.
한편, 송신 메일 서버
Figure 112008048142382-pat00197
도 송신 메일 서버의 메시지 인증 코드값인
Figure 112008048142382-pat00198
가 유효한 메시지 인증 코드값인지를 검증 후에 제 1 암호키
Figure 112008048142382-pat00199
를 연산하고, 송신 단말기
Figure 112008048142382-pat00200
와 송신 메일 서버
Figure 112008048142382-pat00201
는 동일한 제 1 암호키를 상호 저장한다.
상기와 같은 과정에 의해 송신 단말기의 송신 메일 서버로의 로그인 과정이 종료된다.
그 다음은, 송신 단말기
Figure 112008048142382-pat00202
의 암호화된 메시지를 발송하는 과정으로, 송신 단말기
Figure 112008048142382-pat00203
가 이메일 메시지 M을 수신 단말기
Figure 112008048142382-pat00204
에게 안전하게 전송하기를 원할 경우, 송신 단말기
Figure 112008048142382-pat00205
, 송신 메일 서버
Figure 112008048142382-pat00206
그리고 수신 메일 서버
Figure 112008048142382-pat00207
는 다음 프로토콜을 수행한다.
여기서 송신 메일 서버
Figure 112008048142382-pat00208
와 수신 메일 서버
Figure 112008048142382-pat00209
는 이미 하나의 제 1 세션키
Figure 112008048142382-pat00210
를 안전한 키 교환 프로토콜을 사용하여 교환했다고 가정한다.
우선, 송신 단말기
Figure 112008048142382-pat00211
는 임의의 제 3 난수
Figure 112008048142382-pat00212
를 선택하고 하기의 수학식 8에 의해 제 2 세션키
Figure 112008048142382-pat00213
를 계산한다.
Figure 112008048142382-pat00214
여기서,
Figure 112008048142382-pat00215
는 해쉬 함수이고,
Figure 112008048142382-pat00216
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00217
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00218
는 세션 아이디이며
Figure 112008048142382-pat00219
에 의해 연산되고,
Figure 112008048142382-pat00220
는 제 3 난수이다.
한편, 송신 단말기
Figure 112008048142382-pat00221
는 하기의 수학식 9에 의해 연산되는
Figure 112008048142382-pat00222
를 송신 메일 서버
Figure 112008048142382-pat00223
에게 전송한다.
Figure 112008048142382-pat00224
여기서,
Figure 112008048142382-pat00225
는 대칭키 암호 방법으로 제 2 세션키
Figure 112008048142382-pat00226
를 이용하여 제 1 암호문
Figure 112008048142382-pat00227
을 생성하고, 제 1 암호키
Figure 112008048142382-pat00228
를 이용하여 제 2 암호문
Figure 112008048142382-pat00229
를 생성하며, 여기서
Figure 112008048142382-pat00230
는 송신 단말기이고,
Figure 112008048142382-pat00231
는 수신 단말기이고,
Figure 112008048142382-pat00232
는 세션키이며,
Figure 112008048142382-pat00233
은 이메일 메시지이다.
그러면, 송신 메일 서버
Figure 112008048142382-pat00234
는 상기 수학식 9에 의해 생성된
Figure 112008048142382-pat00235
를 수신하고, 상기 로그인 과정에서 생성한 제 1 암호키
Figure 112008048142382-pat00236
를 이용하여
Figure 112008048142382-pat00237
로부터 제 2 세션키
Figure 112008048142382-pat00238
를 복호한 후, 하기의 수학식 10에 의해 연산되는 제 1 암호문
Figure 112008048142382-pat00239
및 변형 제 2 암호문
Figure 112008048142382-pat00240
를 수신 메일 서버
Figure 112008048142382-pat00241
에게 전송한다.
제 2 암호문
Figure 112008048142382-pat00242
를 생성하는 이유는, 상기 제 2 세션키
Figure 112008048142382-pat00243
를 미리 저장된 제 1 세션키
Figure 112008048142382-pat00244
를 이용하여 암호화하여 수신 메일 서버로 전송하기 위함이다.
Figure 112008048142382-pat00245
여기서,
Figure 112008048142382-pat00246
는 대칭키 암호화 함수로 제 1 세션키
Figure 112008048142382-pat00247
를 이용하여 제 2 세션키
Figure 112008048142382-pat00248
를 암호화하고,
Figure 112008048142382-pat00249
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00250
는 수신 단말기의 아이디이다.
그러면, 수신 메일 서버
Figure 112008048142382-pat00251
는 상기의 수학식 10에 의해 연산되는 제 1 암호문
Figure 112008048142382-pat00252
및 변형 제 2 암호문
Figure 112008048142382-pat00253
를 수신하고, 제 1 세션키
Figure 112008048142382-pat00254
를 사용하여
Figure 112008048142382-pat00255
로부터 제 2 세션키
Figure 112008048142382-pat00256
를 복호한 후,
Figure 112008048142382-pat00257
를 저장한다.
한편, 수신 단말기
Figure 112008048142382-pat00258
의 로그인 단계에서 수신 단말기
Figure 112008048142382-pat00259
가 수신 메일 서버
Figure 112008048142382-pat00260
에 로그인하기 위해 수신 단말기
Figure 112008048142382-pat00261
와 수신 메일 서버
Figure 112008048142382-pat00262
는 송신 단말기
Figure 112008048142382-pat00263
의 로그인 단계와 동일한 프로토콜을 수행한다.
수신 단말기
Figure 112008048142382-pat00264
가 성공적으로 수신 메일 서버
Figure 112008048142382-pat00265
에 로그인하면 수신 단말 기
Figure 112008048142382-pat00266
와 수신 메일 서버
Figure 112008048142382-pat00267
는 하기의 수학식 11에 의해 연산되는 제 2 암호키
Figure 112008048142382-pat00268
를 공유하게 된다.
Figure 112008048142382-pat00269
여기서,
Figure 112008048142382-pat00270
는 의사 난수 함수이고, 수신 단말기
Figure 112008048142382-pat00271
와 수신 메일 서버
Figure 112008048142382-pat00272
가 공유하는 제 2 공유 메시지 인증 코드키
Figure 112008048142382-pat00273
를 이용하여 제 2 암호키
Figure 112008048142382-pat00274
를 생성하며,
Figure 112008048142382-pat00275
는 수신 단말기의 아이디이고,
Figure 112008048142382-pat00276
는 수신 메일 서버이고,
Figure 112008048142382-pat00277
는 수학식 1과 동일한 방법에 의해 얻어진 수신 단말 메시지이고,
Figure 112008048142382-pat00278
는 수학식 2와 동일한 방법에 의해 얻어진 수신 메일 서버 메시지이다.
한편, 수신 메일 서버
Figure 112008048142382-pat00279
는 하기의 수학식 12에 의해 연산되는 제 1 암호문
Figure 112008048142382-pat00280
및 재변형 제 2 암호문
Figure 112008048142382-pat00281
를 수신 단말기
Figure 112008048142382-pat00282
에게 전송한다.
Figure 112008048142382-pat00283
여기서,
Figure 112008048142382-pat00284
는 대칭키 암호화 함수로 제 2 암호키
Figure 112008048142382-pat00285
를 이용하여 제 2 세션키
Figure 112008048142382-pat00286
를 암호화함으로써 재변형 제 2 암호문
Figure 112008048142382-pat00287
를 생성하며,
Figure 112008048142382-pat00288
는 송신 단말 기의 아이디이고,
Figure 112008048142382-pat00289
는 수신 단말기의 아이디이다.
그러면, 최종적으로 수신 단말기
Figure 112008048142382-pat00290
는 제 2 암호키
Figure 112008048142382-pat00291
를 사용하여 재변형 제 2 암호문
Figure 112008048142382-pat00292
로부터
Figure 112008048142382-pat00293
를 복호한 후,
Figure 112008048142382-pat00294
를 이용하여
Figure 112008048142382-pat00295
으로부터 이메일 메시지 M을 복호한다.
상기의 과정은 이메일 메시지 M은 제 2 세션키
Figure 112008048142382-pat00296
로 암호화되어 전송되기 때문에 이메일 메시지 M의 기밀성은
Figure 112008048142382-pat00297
의 키 기밀성 (key secrecy)에 기반한다.
Figure 112008048142382-pat00298
의 키 기밀성은 다시 송신 단말기
Figure 112008048142382-pat00299
와 송신 메일 서버
Figure 112008048142382-pat00300
(송신 단말기
Figure 112008048142382-pat00301
와 메일 서버
Figure 112008048142382-pat00302
)가 교환한 암호키
Figure 112008048142382-pat00303
(
Figure 112008048142382-pat00304
)와 송신 메일 서버와 수신 메일 서버가 교환한 제 1 세션키
Figure 112008048142382-pat00305
의 키 기밀성에 기반한다. 만약 DDH (Decisional Diffie-Hellman) 문제가 다항식 시간 안에 풀기 어려운 문제이고,
Figure 112008048142382-pat00306
가 안전한 의사 난수 함수라면
Figure 112008048142382-pat00307
(
Figure 112008048142382-pat00308
)를 임의의 난수와 구별하는 것은 다항식 시간 내에 풀기 어려운 문제이다. 즉,
Figure 112008048142382-pat00309
(
Figure 112008048142382-pat00310
)는 키 기밀성을 제공한다.
Figure 112008048142382-pat00311
는 두 서버간에 안전한 키 교환 프로토콜에 의해 교환된 세션키 값이므로,
Figure 112008048142382-pat00312
는 키 기밀성을 제공한다. 따라서
Figure 112008048142382-pat00313
는 임의의 난수와 다항식 시간 안에 구별 불가능한 값이다.
사용자들의 패스워드
Figure 112008048142382-pat00314
가 노출된 경우, 본 발명은 Diffie- Hellman 키 교환 기법으로
Figure 112008048142382-pat00315
(
Figure 112008048142382-pat00316
)가 생성되기 때문에
Figure 112008048142382-pat00317
값들이 노출되기 이전에 생성된
Figure 112008048142382-pat00318
(
Figure 112008048142382-pat00319
)의 값을 계산할 수 없다. 따라서
Figure 112008048142382-pat00320
(
Figure 112008048142382-pat00321
)를 이용하여
Figure 112008048142382-pat00322
가 암호화 되어 전송되므로
Figure 112008048142382-pat00323
의 값을 알 수 없고,
Figure 112008048142382-pat00324
로 암호화되어 전송된 이메일 메시지 M을 복호할 수 없기 때문에 본 발명은 전방향 안전성을 제공한다. 메일 서버들의 암호키가 노출된 경우에도 본 발명이 전방향 안전성을 제공하려면 제 1 세션키
Figure 112008048142382-pat00325
를 교환하기 위하여 두 메일 서버는 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 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 더욱 상세히 설명하기로 한다.
송신 단말기
Figure 112008048142382-pat00326
는 송신 단말 일회용 공개키와 송신 단말 비밀키 쌍
Figure 112008048142382-pat00327
을 저장하고 있다. 그리고 송신 메일 서버
Figure 112008048142382-pat00328
는 송신 단말기
Figure 112008048142382-pat00329
와 이전에 프로토콜을 수행한 결과로 송신 단말기의 아이디 및 송신 단말 일회용 공개키의 데이터 쌍인
Figure 112008048142382-pat00330
를 메일 서버 리스트에 저장하고 있다.
수신 단말기
Figure 112008048142382-pat00331
도 수신 단말 일회용 공개키와 수신 단말 비밀키 쌍
Figure 112008048142382-pat00332
을 저장하고 있다. 수신 메일 서버
Figure 112008048142382-pat00333
는 수신 단말기
Figure 112008048142382-pat00334
와 이전에 프로토콜을 수행한 결과로 수신 단말기의 아이디 및 수신 단말 일회용 공개키의 데이터 쌍인
Figure 112008048142382-pat00335
를 수신 메일 서버 리스트에 저장하고 있다.
송신 단말기
Figure 112008048142382-pat00336
의 로그인 단계에서 송신 단말기
Figure 112008048142382-pat00337
가 송신 메일 서버
Figure 112008048142382-pat00338
에 로그인하기 위해서 송신 단말기
Figure 112008048142382-pat00339
와 송신 메일 서버
Figure 112008048142382-pat00340
는 상기 실시예 1에서와 동일한 로그인 프로토콜을 수행하여 상기 수학식 7에 의해 연산되는 제 1 비밀키
Figure 112008048142382-pat00341
를 교환한다.
여기서, 본 발명의 제 2 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에 있어서, 로그인 과정(Login phase)은 상기 실시예 1에서 기술된 바와 동일하므로 중복된 설명은 발명의 명확화를 위하여 과감히 생략하기로 한다.
한편, 로그인 과정이 수행된 후, 송신 단말기
Figure 112008048142382-pat00342
의 암호화된 메시지를 발송하는 단계(Sending phase of A)에서 송신 단말기
Figure 112008048142382-pat00343
가 이메일 메시지 M을 수신 단말기
Figure 112008048142382-pat00344
에게 안전하게 전송하기를 원할 경우, 송신 단말기
Figure 112008048142382-pat00345
, 송신 메일 서버
Figure 112008048142382-pat00346
그리고 수신 메일 서버
Figure 112008048142382-pat00347
는 다음 프로토콜을 수행한다.
여기서, 송신 메일 서버
Figure 112008048142382-pat00348
와 수신 메일 서버
Figure 112008048142382-pat00349
는 이미 하나의 제 1 세션키
Figure 112008048142382-pat00350
를 안전한 키 교환 프로토콜을 사용하여 교환했다고 가정한다.
수신 메일 서버
Figure 112008048142382-pat00351
는 수신 메일 서버 리스트로부터 수신 단말기의 아이디 및 수신 단말 일회용 공개키의 데이터 쌍인
Figure 112008048142382-pat00352
를 가져온다.
그리고, 수신 메일 서버
Figure 112008048142382-pat00353
는 하기의 수학식 13에 의해 연산되는 수신 서버 암호문
Figure 112008048142382-pat00354
를 송신 메일 서버
Figure 112008048142382-pat00355
에게 전송한다.
Figure 112008048142382-pat00356
여기서,
Figure 112008048142382-pat00357
는 대칭키 암호화 함수로 제 1 세션키
Figure 112008048142382-pat00358
를 이용하여 수신 단말 일회용 공개키
Figure 112008048142382-pat00359
를 암호화하여 수신 서버 암호문
Figure 112008048142382-pat00360
를 생성하며,
Figure 112008048142382-pat00361
는 수신 메일 서버의 아이디이고,
Figure 112008048142382-pat00362
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00363
는 수신 단말기의 아이디이다.
한편, 송신 메일 서버
Figure 112008048142382-pat00364
는 상기 수신 서버 암호문으로부터 수신 단말 일회용 공개키를 복호하고, 하기의 수학식 14에 의해 연산되는 송신 서버 암호문
Figure 112008048142382-pat00365
를 송신 단말기
Figure 112008048142382-pat00366
에게 전송한다.
Figure 112008048142382-pat00367
상기 수학식 14에서,
Figure 112008048142382-pat00368
는 대칭키 암호화 함수로 제 1 암호키
Figure 112008048142382-pat00369
를 이용하여 수신 단말 일회용 공개키
Figure 112008048142382-pat00370
를 암호화하여 송신 서버 암호문
Figure 112008048142382-pat00371
를 생성하 는데,
Figure 112008048142382-pat00372
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00373
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00374
는 수신 단말기의 아이디이다.
그 다음, 송신 단말기
Figure 112008048142382-pat00375
는 제 1 암호키
Figure 112008048142382-pat00376
를 이용하여 송신 서버 암호문
Figure 112008048142382-pat00377
로부터 수신 단말 일회용 공개키
Figure 112008048142382-pat00378
를 복호화한 후, 하기의 수학식 15에 의해 송신 단말 암호문
Figure 112008048142382-pat00379
를 연산한다.
Figure 112008048142382-pat00380
여기서,
Figure 112008048142382-pat00381
는 공개키 암호화 함수로 수신 단말 일회용 공개키
Figure 112008048142382-pat00382
를 이용하여 이메일 메시지
Figure 112008048142382-pat00383
을 암호화하는데,
Figure 112008048142382-pat00384
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00385
는 수신 단말기의 아이디이다.
이와 같이, 송신 단말기
Figure 112008048142382-pat00386
는 하기의 수학식 16과 같이, 메일 메시지
Figure 112008048142382-pat00387
을 암호화한 송신 단말 암호문
Figure 112008048142382-pat00388
에 제 1 암호키
Figure 112008048142382-pat00389
를 이용하여 제 1 암호문
Figure 112008048142382-pat00390
을 생성하고, 생성된 제 1 암호문
Figure 112008048142382-pat00391
을 송신 메일 서버
Figure 112008048142382-pat00392
에게 전송한다.
Figure 112008048142382-pat00393
여기서,
Figure 112008048142382-pat00394
는 대칭키 암호화 함수이고,
Figure 112008048142382-pat00395
는 제 1 암호키이며,
Figure 112008048142382-pat00396
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00397
는 수신 단말기의 아이디이고,
Figure 112008048142382-pat00398
는 수학식 15에 의해 연산된 송신 단말 암호문이다.
이와 같이, 송신 메일 서버
Figure 112008048142382-pat00399
는 제 1 암호키
Figure 112008048142382-pat00400
를 이용하여 제 1 암호문
Figure 112008048142382-pat00401
으로부터 송신 단말 암호문
Figure 112008048142382-pat00402
를 복호한 후, 하기의 수학식 17에 따라 복호화된 송신 단말 암호문
Figure 112008048142382-pat00403
에 제 1 세션키
Figure 112008048142382-pat00404
를 이용하여 제 2 암호문
Figure 112008048142382-pat00405
를 생성하고, 생성된 제 2 암호문
Figure 112008048142382-pat00406
를 수신 메일 서버
Figure 112008048142382-pat00407
에게 전송한다.
Figure 112008048142382-pat00408
여기서,
Figure 112008048142382-pat00409
는 대칭키 암호화 함수로 제 1 세션키
Figure 112008048142382-pat00410
를 이용하여 송신 단말 암호문
Figure 112008048142382-pat00411
를 암호화하고,
Figure 112008048142382-pat00412
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00413
는 수신 메일 서버의 아이디이다.
그러면, 수신 메일 서버
Figure 112008048142382-pat00414
는 제 1 세션키
Figure 112008048142382-pat00415
를 사용하여 제 2 암호문
Figure 112008048142382-pat00416
로부터 송신 단말 암호문
Figure 112008048142382-pat00417
를 복호화 한다.
한편, 수신 단말기
Figure 112008048142382-pat00418
의 로그인 단계에서 수신 단말기
Figure 112008048142382-pat00419
가 수신 메일 서버
Figure 112008048142382-pat00420
에 로그인하기 위하여 수신 단말기
Figure 112008048142382-pat00421
와 수신 메일 서버
Figure 112008048142382-pat00422
는 송신 단말기
Figure 112008048142382-pat00423
의 로그인 단계와 동일한 프로토콜을 수행한다.
수신 단말기
Figure 112008048142382-pat00424
가 성공적으로 수신 메일 서버
Figure 112008048142382-pat00425
에 로그인하면 수신 단말기
Figure 112008048142382-pat00426
와 수신 메일 서버
Figure 112008048142382-pat00427
는 하기의 수학식 18에 의해 연산되는 제 2 암호키
Figure 112008048142382-pat00428
를 공유하게 된다.
Figure 112008048142382-pat00429
여기서
Figure 112008048142382-pat00430
는 의사 난수 함수이고,
Figure 112008048142382-pat00431
는 수신 단말기의 아이디이고,
Figure 112008048142382-pat00432
는 수신 메일 서버의 아이디이고,
Figure 112008048142382-pat00433
는 수학식 1과 동일한 방법에 의해 얻어진 수신 단말 메시지이고,
Figure 112008048142382-pat00434
는 수학식 2와 동일한 방법에 의해 얻어진 수신 메일 서버 메시지이다.
즉, 수신 단말기
Figure 112008048142382-pat00435
와 수신 메일 서버
Figure 112008048142382-pat00436
는 상호 공유하는 제 2 공유 메시지 인증 코드키
Figure 112008048142382-pat00437
를 이용하여 제 2 암호키
Figure 112008048142382-pat00438
를 생성하는 것이다.
그러면, 수신 메일 서버
Figure 112008048142382-pat00439
는 상기 전송된 송신 단말 암호문
Figure 112008048142382-pat00440
를 상기 생성된 제 2 암호키
Figure 112008048142382-pat00441
를 대칭키 암호화 함수
Figure 112008048142382-pat00442
를 이용하여
Figure 112008048142382-pat00443
에 따라 암호화하여 제 3 암호문
Figure 112008048142382-pat00444
를 생성한 후,
Figure 112008048142382-pat00445
를 저장한다.
그 다음, 이메일 메시지의 수신 단계에서 수신 메일 서버
Figure 112008048142382-pat00446
는 상기 제 3 암호문
Figure 112008048142382-pat00447
를 수신 단말기
Figure 112008048142382-pat00448
에게 전송한다.
수신 단말기
Figure 112008048142382-pat00449
는 저장되어 있는 제 2 암호키
Figure 112008048142382-pat00450
를 이용하여 상기 제 3 암호문
Figure 112008048142382-pat00451
로부터 송신 단말 암호문
Figure 112008048142382-pat00452
를 복호화하고, 복호화된 송신 단말 암호문
Figure 112008048142382-pat00453
로부터 수신 단말 비밀키
Figure 112008048142382-pat00454
를 사용하여 이메일 메시지
Figure 112008048142382-pat00455
을 복호한다.
그리고, 마지막으로 수신 단말기
Figure 112008048142382-pat00456
는 새로운 일회용 공개키와 비밀 키 쌍
Figure 112008048142382-pat00457
을 선택한 후, 기존의
Figure 112008048142382-pat00458
값을
Figure 112008048142382-pat00459
로 대체한다.
이메일 메시지
Figure 112008048142382-pat00460
은 수신 단말기
Figure 112008048142382-pat00461
의 수신 단말 일회용 공개키
Figure 112008048142382-pat00462
로 암호화되어 전송되기 때문에 이메일 메시지
Figure 112008048142382-pat00463
의 기밀성은
Figure 112008048142382-pat00464
의 키 기밀성 (key secrecy)에 기반한다.
Figure 112008048142382-pat00465
의 키 기밀성은 다시 송신 단말기
Figure 112008048142382-pat00466
와 송신 메일 서버
Figure 112008048142382-pat00467
(수신 단말기
Figure 112008048142382-pat00468
와 수신 메일 서버
Figure 112008048142382-pat00469
)가 교환한 비밀 키
Figure 112008048142382-pat00470
(
Figure 112008048142382-pat00471
)와 두 서버가 교환한 제 1 세션키
Figure 112008048142382-pat00472
의 키 기밀성에 기반한다. 만약 DDH (Decisional Diffie-Hellman) 문제가 다항식 시간 안에 풀기 어려운 문제이고,
Figure 112008048142382-pat00473
가 안전한 의사 난수 함수라면
Figure 112008048142382-pat00474
(
Figure 112008048142382-pat00475
)를 임의의 난수와 구별하는 것은 다항식 시간 내에 풀기 어려운 문제이다. 즉,
Figure 112008048142382-pat00476
(
Figure 112008048142382-pat00477
)는 키 기밀성을 제공한다.
Figure 112008048142382-pat00478
는 두 서버 간에 안전한 키 교환 프로토콜에 의해 교환된 세션키 값이므로,
Figure 112008048142382-pat00479
는 키 기밀성을 제공한다. 따라서
Figure 112008048142382-pat00480
는 임의의 난수와 다항식 시간 안에 구별 불가능한 값이다.
한편, 사용자들의 비밀키 (
Figure 112008048142382-pat00481
,
Figure 112008048142382-pat00482
)가 노출된 경우, 본 발명은 Diffie-Hellman 키 교환 기법으로
Figure 112008048142382-pat00483
(
Figure 112008048142382-pat00484
)가 생성되기 때문에 (
Figure 112008048142382-pat00485
,
Figure 112008048142382-pat00486
)값들이 노출되기 이전에 생성된
Figure 112008048142382-pat00487
(
Figure 112008048142382-pat00488
)의 값을 계산할 수 없다. 따라서
Figure 112008048142382-pat00489
(
Figure 112008048142382-pat00490
)로 암호화되어 전송되는 수신 단말기
Figure 112008048142382-pat00491
의 일회용 공개키
Figure 112008048142382-pat00492
를 계산할 수 없고,
Figure 112008048142382-pat00493
로 암호화되는 이메일 메시지
Figure 112008048142382-pat00494
을 복호할 수 없기 때문에 본 발명은 전방향 안전성을 제공한다. 메일 서버들의 비밀키가 노출된 경우에도 본 발명이 제 1 세션키
Figure 112008048142382-pat00495
를 교환하기 위하여 두 메일 서버가 Diffie-Hellman 키 교환 기법의 키교환 프로토콜을 사용하지 않더라도 전방향 안전성을 제공한다.
왜냐하면, 메일 서버들의 비밀키로부터 제 1 세션키
Figure 112008048142382-pat00496
를 얻은 후 수신 단말기
Figure 112008048142382-pat00497
의 일회용 공개키
Figure 112008048142382-pat00498
를 얻을 수 있더라도
Figure 112008048142382-pat00499
에 대응되는 수신 단말 비밀키
Figure 112008048142382-pat00500
를 알 수 없기 때문에
Figure 112008048142382-pat00501
를 복호할 수 없다.
도 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 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법을 더욱 상세히 설명하기로 한다.
송신 단말기
Figure 112008048142382-pat00502
는 임의의 제 1 난수
Figure 112008048142382-pat00503
를 저장하고 있다. 그리고 송신 메일 서버
Figure 112008048142382-pat00504
는 송신 단말기
Figure 112008048142382-pat00505
와 이전에 프로토콜을 수행한 결과로 송신 단말기의 아이디 및 유한 순환군
Figure 112008048142382-pat00506
로 부터 생성된 생성자
Figure 112008048142382-pat00507
에 상기 제 1 난수 지수승한
Figure 112008048142382-pat00508
의 데이터 쌍인
Figure 112008048142382-pat00509
를 송신 메일 서버 리스트에 저장하고 있다.
수신 단말기
Figure 112008048142382-pat00510
도 자신의 모바일 기기에 임의의 제 2 난수
Figure 112008048142382-pat00511
를 저장하고 있다. 수신 메일 서버
Figure 112008048142382-pat00512
는 마찬가지로
Figure 112008048142382-pat00513
를 수신 메일 서버 리스트에 저장하고 있다.
송신 단말기
Figure 112008048142382-pat00514
의 로그인 단계에서 송신 단말기
Figure 112008048142382-pat00515
가 송신 메일 서버
Figure 112008048142382-pat00516
에 로그인하기 위해서 송신 단말기
Figure 112008048142382-pat00517
와 송신 메일 서버
Figure 112008048142382-pat00518
는 상기 실시예 1에서의 로그인 프로토콜과 동일한 과정을 수행하여 상기 수학식 7에 의해 연산되는 제 1 비밀키
Figure 112008048142382-pat00519
를 교환한다.
이는 전술한 바와 동일하므로 중복된 상세한 설명은 발명의 명확화를 위하여 과감히 생략하기로 한다.
그 다음, 송신 단말기
Figure 112008048142382-pat00520
의 암호화된 이메일 메시지를 발송하는 단계에서 송신 단말기
Figure 112008048142382-pat00521
가 이메일 메시지
Figure 112008048142382-pat00522
을 수신 단말기
Figure 112008048142382-pat00523
에게 안전하게 전송하기를 원할 경우 송신 단말기
Figure 112008048142382-pat00524
, 송신 메일 서버
Figure 112008048142382-pat00525
그리고 수신 메일 서버
Figure 112008048142382-pat00526
는 다음 프로토콜을 수행한다. 여기서 송신 메일 서버
Figure 112008048142382-pat00527
와 수신 메일 서버
Figure 112008048142382-pat00528
는 이미 하나의 제 1 세션키
Figure 112008048142382-pat00529
를 안전한 키 교환 프로토콜을 사용하여 교환했다고 가정한다.
한편, 수신 메일 서버
Figure 112008048142382-pat00530
는 수신 메일 서버 리스트로부터
Figure 112008048142382-pat00531
를 가져온다. 그리고 수신 메일 서버
Figure 112008048142382-pat00532
는 하기의 수학식 19에 의해 연산되는 수신 메일 서버의 메시지
Figure 112008048142382-pat00533
, 수신 메일 서버의 메시지 인증 코드값
Figure 112008048142382-pat00534
을 송신 메일 서버
Figure 112008048142382-pat00535
에게 전송한다.
Figure 112008048142382-pat00536
여기서,
Figure 112008048142382-pat00537
는 오더가
Figure 112008048142382-pat00538
인 유한 순환군
Figure 112008048142382-pat00539
의 생성자이고,
Figure 112008048142382-pat00540
는 제 1 세션키
Figure 112008048142382-pat00541
를 사용하여 수신 메일 서버의 메시지 인증 코드값
Figure 112008048142382-pat00542
을 생성하고,
Figure 112008048142382-pat00543
는 수신 단말기의 아이디이고,
Figure 112008048142382-pat00544
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00545
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00546
는 수신 메일 서버의 아이디이다.
한편, 송신 메일 서버
Figure 112008048142382-pat00547
는 수신 메일 서버
Figure 112008048142382-pat00548
로부터 전송된 수신 메일 서버의 메시지 인증 코드값
Figure 112008048142382-pat00549
이 유효한지의 여부를 하기의 수학식 20에 따라 판단한다.
Figure 112008048142382-pat00550
즉, 수학식 20을 참조하면, 제 1 세션키를 이용하여 상기 수신 메일 서버의 메시지 인증 코드값
Figure 112008048142382-pat00551
이 유효한지의 여부를 검증하며, 검증값이 '1'이 출력되면 수신 메일 서버의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 중간에 수정 또는 변경이 발생한 것으로 판단되어, 수신된 수신 메일 서버의 메시지 인증 코드값을 버리게 된다.
이와 같이, 수신 메일 서버의 메시지 인증 코드값
Figure 112008048142382-pat00552
이 유효하면, 송신 메일 서버
Figure 112008048142382-pat00553
는 하기의 수학식 21에 의해 연산되는 수신 메일 서버의 메시지
Figure 112008048142382-pat00554
및 송신 메일 서버의 제 1 메시지 인증 코드값
Figure 112008048142382-pat00555
를 송신 단말기
Figure 112008048142382-pat00556
에게 전송한다.
Figure 112008048142382-pat00557
여기서,
Figure 112008048142382-pat00558
는 제 1 암호키
Figure 112008048142382-pat00559
를 사용하여 송신 메일 서버의 제 1 메시지 인증 코드값
Figure 112008048142382-pat00560
를 생성하고,
Figure 112008048142382-pat00561
는 수신 단말기의 아이디이고,
Figure 112008048142382-pat00562
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00563
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00564
는 수신 메일 서버의 아이디이고,
Figure 112008048142382-pat00565
는 수학식 19에 의해 연산되는 수신 메일 서버의 메시지이다.
그러면, 송신 단말기
Figure 112008048142382-pat00566
는 송신 메일 서버
Figure 112008048142382-pat00567
로부터 전송된 송신 메일 서버의 제 1 메시지 인증 코드값
Figure 112008048142382-pat00568
가 유효한지의 여부를 하기의 수학식 22에 의해 판단한다.
Figure 112008048142382-pat00569
즉, 수학식 22를 참조하면, 제 1 암호키
Figure 112008048142382-pat00570
를 이용하여 상기 송신 메일 서 버의 제 1 메시지 인증 코드값
Figure 112008048142382-pat00571
가 유효한지의 여부를 검증하며, 검증값이 '1'이 출력되면 송신 메일 서버의 제 1 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 중간에 수정 또는 변경이 발생한 것으로 판단되어, 수신된 송신 메일 서버의 제 1 메시지 인증 코드값
Figure 112008048142382-pat00572
을 버리게 된다.
만약
Figure 112008048142382-pat00573
가 유효하면 송신 단말기
Figure 112008048142382-pat00574
는 임의의 제 3 난수
Figure 112008048142382-pat00575
를 선택한 후 하기의 수학식 23에 의해 연산되는 송신 단말 메시지
Figure 112008048142382-pat00576
와 하기의 수학식 24에 의해 연산되는 제 2 세션키
Figure 112008048142382-pat00577
를 연산한다.
Figure 112008048142382-pat00578
여기서,
Figure 112008048142382-pat00579
는 오더가
Figure 112008048142382-pat00580
인 유한 순환군
Figure 112008048142382-pat00581
의 생성자이다.
Figure 112008048142382-pat00582
여기서,
Figure 112008048142382-pat00583
는 해쉬 함수이고,
Figure 112008048142382-pat00584
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00585
는 수신 단말기이고,
Figure 112008048142382-pat00586
는 수학식 23에 의해 연산된 송신 단말 메시지이고,
Figure 112008048142382-pat00587
는 수학식 21에 의해 수신 메일 서버의 메시지이고,
Figure 112008048142382-pat00588
는 오더가
Figure 112008048142382-pat00589
인 유한 순환군
Figure 112008048142382-pat00590
의 생성자이다.
한편, 송신 단말기
Figure 112008048142382-pat00591
는 하기의 수학식 25에 의해 연산되는 암호문
Figure 112008048142382-pat00592
, 송신 단말 메시지
Figure 112008048142382-pat00593
, 송신 단말의 메시지 인증 코드값
Figure 112008048142382-pat00594
를 송신 메일 서버
Figure 112008048142382-pat00595
에게 전송한다.
Figure 112008048142382-pat00596
여기서,
Figure 112008048142382-pat00597
는 대칭키 암호화 함수로 제 2 세션키
Figure 112008048142382-pat00598
를 이용하여 메시지
Figure 112008048142382-pat00599
를 암호화하고,
Figure 112008048142382-pat00600
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00601
는 수신 단말기의 아이디이고,
Figure 112008048142382-pat00602
은 메시지이고,
Figure 112008048142382-pat00603
는 제 1 암호키
Figure 112008048142382-pat00604
를 사용하여 송신 단말의 메시지 인증 코드값
Figure 112008048142382-pat00605
를 생성하고,
Figure 112008048142382-pat00606
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00607
는 수학식 23에 의해 생성된 송신 단말 메시지이다.
여기서, 송신 메일 서버
Figure 112008048142382-pat00608
는 송신 단말기
Figure 112008048142382-pat00609
로부터 전송된 송신 단말의 메시지 인증 코드값
Figure 112008048142382-pat00610
가 유효한지의 여부를 하기의 수학식 26에 따라 판단한다.
Figure 112008048142382-pat00611
즉, 수학식 26를 참조하면, 제 1 암호키
Figure 112008048142382-pat00612
를 이용하여 상기 송신 단말의 메시지 인증 코드값
Figure 112008048142382-pat00613
가 유효한지의 여부를 검증하며, 검증값이 '1'이 출력되면 송신 단말의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 중간에 수정 또는 변경이 발생한 것으로 판단되어, 수신된 송신 단말의 메시지 인증 코드값
Figure 112008048142382-pat00614
를 버리게 된다.
만약
Figure 112008048142382-pat00615
가 유효하면, 송신 메일 서버
Figure 112008048142382-pat00616
는 하기의 수학식 27에 의해 연산되는 암호문
Figure 112008048142382-pat00617
, 송신 단말 메시지
Figure 112008048142382-pat00618
, 송신 메일 서버의 제 2 메시지 인증 코드값
Figure 112008048142382-pat00619
를 수신 메일 서버
Figure 112008048142382-pat00620
에게 전송한다.
Figure 112008048142382-pat00621
여기서,
Figure 112008048142382-pat00622
는 제 1 세션키
Figure 112008048142382-pat00623
를 사용하여 송신 메일 서버의 제 2 메시지 인증 코드값
Figure 112008048142382-pat00624
를 생성하고,
Figure 112008048142382-pat00625
는 송신 메일 서버의 아이디이고,
Figure 112008048142382-pat00626
는 수신 메일 서버의 아이디이고,
Figure 112008048142382-pat00627
는 송신 단말기이고,
Figure 112008048142382-pat00628
는 수신 단말기이고,
Figure 112008048142382-pat00629
는 수학식 25에 의해 연산되는 암호문이고,
Figure 112008048142382-pat00630
는 수학식 23에 의해 얻어진 송신 단말 메시지이다.
그러면, 수신 메일 서버
Figure 112008048142382-pat00631
는 전송된 송신 메일 서버의 제 2 메시지 인증 코드값
Figure 112008048142382-pat00632
가 유효한 지의 여부를 하기의 수학식 28에 따라 검증한다.
Figure 112008048142382-pat00633
즉, 수학식 28를 참조하면, 제 1 세션키
Figure 112008048142382-pat00634
를 이용하여 상기 송신 메일 서버의 제 2 메시지 인증 코드값
Figure 112008048142382-pat00635
가 유효한지의 여부를 검증하며, 검증값이 '1'이 출력되면 송신 메일 서버의 제 2 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 중간에 수정 또는 변경이 발생한 것으로 판단되어, 수신된 송신 메일 서버의 제 2 메시지 인증 코드값
Figure 112008048142382-pat00636
를 버리게 된다.
여기서,
Figure 112008048142382-pat00637
가 유효한 것으로 판단되면, 수신 메일 서버
Figure 112008048142382-pat00638
Figure 112008048142382-pat00639
를 저장한다.
그런 다음, 수신 단말기
Figure 112008048142382-pat00640
의 로그인 단계에서 수신 단말기
Figure 112008048142382-pat00641
가 수신 메일 서버
Figure 112008048142382-pat00642
에 로그인하기 위해 수신 단말기
Figure 112008048142382-pat00643
와 수신 메일 서버
Figure 112008048142382-pat00644
는 송신 단말기
Figure 112008048142382-pat00645
의 로그인 단계에서와 같이 프로토콜을 수행한다. 수신 단말기
Figure 112008048142382-pat00646
가 성공적으로 수신 메일 서버
Figure 112008048142382-pat00647
에 로그인하면 수신 단말기
Figure 112008048142382-pat00648
와 수신 메일 서버
Figure 112008048142382-pat00649
는 수학식 11에 의해 연산되는 제 2 암호키
Figure 112008048142382-pat00650
를 공유하게 된다.
수신 단말기
Figure 112008048142382-pat00651
의 메시지 수신 단계에서 수신 메일 서버
Figure 112008048142382-pat00652
는 하기의 수학식 29에 의해 연산되는 수신 단말기의 아이디
Figure 112008048142382-pat00653
, 암호문
Figure 112008048142382-pat00654
, 송신 단말 메시지
Figure 112008048142382-pat00655
, 수신 단말의 메시지 인증 코드값
Figure 112008048142382-pat00656
를 수신 단말기
Figure 112008048142382-pat00657
에게 전송한다.
Figure 112008048142382-pat00658
여기서,
Figure 112008048142382-pat00659
는 제 2 암호키
Figure 112008048142382-pat00660
를 사용하여 수신 단말의 메시지 인증 코드값
Figure 112008048142382-pat00661
를 생성하고,
Figure 112008048142382-pat00662
는 수신 메일 서버이고,
Figure 112008048142382-pat00663
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00664
는 수신 단말기의 아이디이고,
Figure 112008048142382-pat00665
는 수학식 25에 의해 연산되는 암호문이고,
Figure 112008048142382-pat00666
는 수학식 23에 의해 연산되는 송신 단말 메시지이다.
그런 다음, 수신 단말기
Figure 112008048142382-pat00667
는 수신 메일 서버
Figure 112008048142382-pat00668
로부터 전송된 수신 단말의 메시지 인증 코드값
Figure 112008048142382-pat00669
가 유효한지의 여부를 하기의 수학식 30에 따라 판단한다.
Figure 112008048142382-pat00670
즉, 수학식 26를 참조하면, 제 2 비밀키
Figure 112008048142382-pat00671
를 이용하여 상기 수신 단말의 메시지 인증 코드값
Figure 112008048142382-pat00672
가 유효한지의 여부를 검증하며, 검증값이 '1'이 출력되면 수신 단말의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 중간에 수정 또는 변경이 발생한 것으로 판단되어, 수신된 수신 단말의 메시지 인증 코드값
Figure 112008048142382-pat00673
를 버리게 된다.
만약
Figure 112008048142382-pat00674
가 유효하면, 수신 단말기
Figure 112008048142382-pat00675
는 저장되어 있는 제 2 난수
Figure 112008048142382-pat00676
를 사용하여 하기의 수학식 31에 의해 제 2 세션키
Figure 112008048142382-pat00677
를 추출해낸다.
Figure 112008048142382-pat00678
여기서,
Figure 112008048142382-pat00679
는 송신 단말기의 아이디이고,
Figure 112008048142382-pat00680
는 수신 단말기의 아이디이고,
Figure 112008048142382-pat00681
는 수학식 23에 의해 얻어진 송신 단말 메시지이고,
Figure 112008048142382-pat00682
는 수학식 21에 의해 얻어진 수신 메일 서버의 메시지이고,
Figure 112008048142382-pat00683
는 오더가
Figure 112008048142382-pat00684
인 유한 순환군
Figure 112008048142382-pat00685
의 생성자이다.
그 다음, 수신 단말기
Figure 112008048142382-pat00686
는 상기 수학식 31에서 생성된 제 2 세션키
Figure 112008048142382-pat00687
를 이용하여 하기의 수학식 32에 의해 암호문
Figure 112008048142382-pat00688
로부터 이메일 메시지
Figure 112008048142382-pat00689
을 복호한다.
이메일 메시지
Figure 112008048142382-pat00690
은 세션키 제 2 세션키
Figure 112008048142382-pat00691
로 암호화되어 전송되기 때문 에 이메일 메시지
Figure 112008048142382-pat00692
의 기밀성은
Figure 112008048142382-pat00693
의 키 기밀성 (key secrecy)에 기반한다.
Figure 112008048142382-pat00694
의 키 기밀성은 다시 메일 송신 단말기
Figure 112008048142382-pat00695
와 송신 메일 서버
Figure 112008048142382-pat00696
(수신 단말기
Figure 112008048142382-pat00697
와 메일 서버
Figure 112008048142382-pat00698
)가 교환한 비밀 키 (
Figure 112008048142382-pat00700
)와 두 서버가 교환한 제 1 세션키
Figure 112008048142382-pat00701
의 키 기밀성에 기반한다. 만약 DDH (Decisional Diffie-Hellman) 문제가 다항식 시간 안에 풀기 어려운 문제이고,
Figure 112008048142382-pat00702
가 안전한 의사 난수 함수라면
Figure 112008048142382-pat00703
(
Figure 112008048142382-pat00704
)를 임의의 난수와 구별하는 것은 다항식 시간 내에 풀기 어려운 문제이다.
즉,
Figure 112008048142382-pat00705
(
Figure 112008048142382-pat00706
)는 키 기밀성을 제공한다.
Figure 112008048142382-pat00707
는 두 서버간에 안전한 키 교환 프로토콜에 의해 교환된 제 1 세션키 이므로,
Figure 112008048142382-pat00708
는 키 기밀성을 제공한다.
만약, 사용자들의 패스워드
Figure 112008048142382-pat00709
가 노출된 경우, 본 발명은 Diffie-Hellman 키 교환 기법으로
Figure 112008048142382-pat00710
(
Figure 112008048142382-pat00711
)가 생성되기 때문에
Figure 112008048142382-pat00712
값들이 노출되기 이전에 생성된
Figure 112008048142382-pat00713
(
Figure 112008048142382-pat00714
)의 값을 계산할 수 없다.
이메일 메시지
Figure 112008048142382-pat00715
을 암호화하는데 사용하는 제 2 세션키
Figure 112008048142382-pat00716
Figure 112008048142382-pat00717
(
Figure 112008048142382-pat00718
)로부터 Diffie-Hellman 값들
Figure 112008048142382-pat00719
,
Figure 112008048142382-pat00720
을 인증하는데 (메시지 인증 코드키 값으로) 사용하기 때문에
Figure 112008048142382-pat00721
,
Figure 112008048142382-pat00722
로부터
Figure 112008048142382-pat00723
를 연산하는 것은 Diffie-Hellman 문제에 기반한다.
따라서 전송된 이메일 메시지
Figure 112008048142382-pat00724
을 복호할 수 없기 때문에 본 발명은 전방향 안전성을 제공한다. 메일 서버들의 비밀키가 노출된 경우에도 본 발명이 세션키
Figure 112008048142382-pat00725
를 교환하기 위하여 두 메일 서버가 Diffie-Hellman 키 교환 기법의 키교환 프로토콜을 사용하지 않더라도 전방향 안전성을 제공한다.
왜냐하면, 서버들로부터의 제 1 세션키인
Figure 112008048142382-pat00726
를 얻은 후 (
Figure 112008048142382-pat00727
,
Figure 112008048142382-pat00728
)를 얻을 수 있더라도 제 2 세션키
Figure 112008048142382-pat00729
자체가 Diffie-Hellman 키 교환 기법으로 생성된 값이므로
Figure 112008048142382-pat00730
를 알 수 없고, 암호문
Figure 112008048142382-pat00731
를 복호할 수 없다.
본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 테이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균 등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사항에 의해 정해져야 할 것이다.
도 1은 본 발명의 제1 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에 대한 흐름도이다.
도 2는 도 1의 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에서의 데이터 흐름을 도시한 것이다.
도 3은 본 발명의 제2 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에 대한 흐름도이다.
도 4는 도 3의 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에서의 데이터 흐름을 도시한 것이다.
도 5는 본 발명의 제3 실시예에 따른 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에 대한 흐름도이다.
도 6은 도 5의 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법에서의 데이터 흐름을 도시한 것이다.

Claims (20)

  1. 삭제
  2. 이메일 메시지를 전송하고자 하는 송신 단말기에서 수신 메일 서버와 제 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 공유 메시지 인증 코드키는
    Figure 112009081403009-pat00809
    는 송신 메일 서버 메시지이고,
    Figure 112009081403009-pat00810
    는 오더가
    Figure 112009081403009-pat00811
    인 유한 순환군의 생성자이고,
    Figure 112009081403009-pat00812
    는 송신 단말기의 아이디이고,
    Figure 112009081403009-pat00813
    는 송신 메일 서버의 아이디이고,
    Figure 112009081403009-pat00814
    는 송신 단말기의 패스워드이고,
    Figure 112009081403009-pat00815
    는 해쉬 함수이며,
    Figure 112009081403009-pat00816
    가 상기 제 1 난수이고,
    Figure 112009081403009-pat00817
    가 상기 제 2 난수일 때, 하기의 식 3에 의해 상기 제 1 공유 메시지 인증 코드키
    Figure 112009081403009-pat00818
    가 생성되는 것을 특징으로 하는 기밀성과 전방향 안정성을 제공하는 이메일 전송 방법.
    Figure 112009081403009-pat00819
    (3)
  3. 제 2 항에 있어서,
    상기 제 2 암호키를 공유하는 단계는
    상기 수신 단말기에서 선택된 수신 단말 난수에 따라 생성된 수신 단말 메시지를 상기 수신 메일 서버로 전송하고, 상기 수신 메일 서버에서 선택된 수신 메일 서버 난수에 따라 생성된 수신 메일 서버 메시지를 상기 수신 단말기에 전송하는 단계;
    상기 수신 단말기에서 상기 수신 메일 서버 메시지를 이용하여 제 2 공유 메시지 인증 코드키를 생성하고, 상기 제 2 공유 메시지 인증 코드키를 이용하여 수신 단말기의 메시지 인증 코드값을 생성하여 상기 수신 메일 서버에 전송하는 단계;
    상기 수신 메일 서버에서 상기 수신 단말 메시지를 이용하여 상기 제 2 공유 메시지 인증 코드키를 생성하고, 상기 제 2 공유 메시지 인증 코드키를 이용하여 상기 수신 메일 서버의 메시지 인증 코드값을 생성하여 상기 수신 단말기에 전송하는 단계;
    상기 수신 단말기에서 상기 제 2 공유 메시지 인증 코드키를 이용하여 상기 수신 메일 서버의 메시지 인증 코드값이 유효한지를 검증한 후, 상기 수신 메일 서버 메시지를 이용하여 제 2 암호키를 생성하는 단계; 및
    상기 수신 메일 서버에서 상기 제 2 공유 메시지 인증 코드키를 이용하여 상기 수신 단말기의 메시지 인증 코드값이 유효한지를 검증한 후, 상기 수신 단말 메시지를 이용하여 상기 제 2 암호키를 생성하는 단계를 포함하는 것을 특징으로 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제 2 항에 있어서,
    상기 송신 단말기의 메시지 인증 코드값
    Figure 112008048142382-pat00765
    Figure 112008048142382-pat00766
    가 메시지 인증 코드값 생성 함수이고,
    Figure 112008048142382-pat00767
    가 상기 제 1 공유 메시지 인증 코드키이고,
    Figure 112008048142382-pat00768
    는 송신 단말기의 아이디이고,
    Figure 112008048142382-pat00769
    는 송신 메일 서버의 아이디이고,
    Figure 112008048142382-pat00770
    는 송신 단말 메시지이고,
    Figure 112008048142382-pat00771
    는 송신 메일 서버 메시지일 때, 하기의 식 4에 의해 생성되는 것을 특징으로 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
    Figure 112008048142382-pat00772
    (4)
  8. 제 7 항에 있어서,
    상기 송신 메일 서버의 메시지 인증 코드값
    Figure 112008048142382-pat00773
    하기의 식 5에 의해 생성되는 것을 특징으로 하는 기밀성과 전방향 안정성을 제공하는 이메일 전송 방법.
    Figure 112008048142382-pat00774
    (5)
  9. 제 8 항에 있어서,
    상기 제 2 세션키
    Figure 112008048142382-pat00775
    Figure 112008048142382-pat00776
    는 해쉬 함수이고,
    Figure 112008048142382-pat00777
    는 송신 단말기의 아이디이고,
    Figure 112008048142382-pat00778
    는 송신 메일 서버의 아이디이고,
    Figure 112008048142382-pat00779
    는 세션 아이디이며
    Figure 112008048142382-pat00780
    에 의해 연산되고,
    Figure 112008048142382-pat00781
    는 제 3 난수일 때, 하기의 식 6에 의해 생성되는 것을 특징으로 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
    Figure 112008048142382-pat00782
    (6)
  10. 제 2 항에 있어서,
    상기 제 1 암호키를 생성하는 단계는
    상기 제 1 공유 메시지 인증 코드키
    Figure 112009081403009-pat00783
    를 이용하여 상기 송신 메일 서버의 메시지 인증 코드값
    Figure 112009081403009-pat00784
    이 유효한지의 여부를
    Figure 112009081403009-pat00785
    의 출력값에 의해 검증하되,
    '1'의 값이 출력되면 상기 송신 메일 서버로부터 전송된 송신 메일 서버 메시지
    Figure 112009081403009-pat00786
    를 유효한 메시지 인증 코드값으로 판단하고, '0'의 값이 출력되면 유효하지 않은 메시지 인증 코드값으로 판단하여 전송된 송신 메일 서버 메시지
    Figure 112009081403009-pat00787
    를 버리는 단계를 포함하는 것을 특징으로 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
  11. 송신 단말기에서 송신 단말 일회용 공개키와 송신 단말 비밀키로 이루어진 송신 단말 데이터 쌍을 저장하고, 송신 메일 서버에서 송신 단말 아이디 및 상기 송신 단말 일회용 공개키로 이루어진 송신 메일 서버 데이터 쌍을 송신 메일 서버 리스트에 저장하며, 수신 단말기에서 수신 단말 일회용 공개키와 수신 단말 비밀키로 이루어진 수신 단말 데이터 쌍을 저장하고, 수신 메일 서버에서 수신 단말기의 아이디 및 수신 단말 일회용 공개키로 이루어진 수신 메일 서버 데이터 쌍을 수신 메일 서버 리스트에 미리 저장하는 단계;
    이메일 메시지를 전송하고자 하는 상기 송신 단말기에서 상기 수신 메일 서버와 제 1 세션키를 미리 공유한 상기 송신 메일 서버에 로그인하면, 상기 송신 단말기에서 선택된 제 1 난수와 상기 송신 메일 서버에서 선택된 제 2 난수를 이용하여 상기 송신 단말기와 상기 송신 메일 서버간에 공유되는 제 1 암호키를 각각 생성하고 상기 제 1 암호키를 공유하는 단계;
    상기 수신 메일 서버에서 상기 송신 메일 서버와 미리 공유한 제 1 세션키를 이용하여 상기 수신 메일 서버 리스트에 저장된 수신 단말 일회용 공개키를 암호화하여 수신 서버 암호문을 생성하여 상기 송신 메일 서버에 전송하는 단계;
    상기 송신 메일 서버에서 상기 수신 서버 암호문으로부터 상기 수신 단말 일회용 공개키를 복호하고, 상기 제 1 암호키를 이용하여 상기 복호된 수신 단말 일회용 공개키를 암호화하여 송신 서버 암호문을 생성하여 상기 송신 단말기에 전송하는 단계;
    상기 송신 단말기에서 상기 송신 서버 암호문으로부터 상기 수신 단말 일회용 공개키를 복호하고, 상기 복호된 수신 단말 일회용 공개키를 이용하여 상기 이메일 메시지를 암호화하여 송신 단말 암호문을 생성하고, 상기 송신 단말 암호문에 상기 제 1 암호키를 이용하여 제 1 암호문을 생성한 다음, 상기 송신 메일 서버로 상기 제 1 암호문을 전송하는 단계;
    상기 송신 메일 서버에서 상기 제 1 암호키를 이용하여 상기 제 1 암호문으로부터 상기 송신 단말 암호문을 복호한 후, 복호된 상기 송신 단말 암호문에 상기 제 1 세션키를 이용하여 제 2 암호문을 생성하여 상기 수신 메일 서버에 전송하는 단계;
    상기 수신 메일 서버에서 상기 제 1 세션키를 이용하여 상기 제 2 암호문으로부터 상기 송신 단말 암호문을 복호하는 단계;
    상기 수신 단말기에서 상기 수신 메일 서버에 로그인하면, 상기 수신 단말기와 상기 수신 메일 서버에서 제 2 암호키를 생성하여 상기 수신 단말기 및 상기 수신 메일 서버에서 공유하는 단계;
    상기 수신 메일 서버에서 상기 제 2 암호키를 이용하여 상기 송신 단말 암호문을 암호화하여 제 3 암호문을 생성하여 상기 수신 단말기에 전송하는 단계; 및
    상기 수신 단말기에서 상기 제 2 암호키를 이용하여 상기 제 3 암호문으로부터 상기 송신 단말 암호문을 복호하고, 복호된 상기 송신 단말 암호문으로부터 상기 수신 단말 비밀키를 이용하여 상기 이메일 메시지를 복호하는 단계를 포함하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
  12. 삭제
  13. 제 11 항에 있어서,
    상기 이메일 메시지를 복호하는 단계는
    상기 수신 단말기에서 상기 수신 단말 일회용 공개키와 수신 단말 비밀키를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
  14. 송신 단말기에서 제 1 난수를 생성하고, 송신 메일 서버에서 상기 송신 단말기의 아이디 및 상기 송신 메일 서버에서 생성한 생성자에 상기 제 1 난수를 지수 승한 송신 메일 서버의 메시지로 이루어진 데이터 쌍을 송신 메일 서버 리스트에 저장하고, 수신 단말기에서 제 2 난수를 생성하고, 수신 메일 서버에서 상기 수신 단말기의 아이디 및 상기 수신 메일 서버에서 생성한 생성자에 상기 제 2 난수를 지수승한 수신 메일 서버의 메시지로 이루어진 데이터 쌍을 수신 메일 서버 리스트에 저장하는 단계;
    이메일 메시지를 전송하고자 하는 상기 송신 단말기에서 상기 송신 메일 서버와 로그인 프로토콜을 수행하여 생성된 제 1 암호키를 상호 공유하는 단계;
    상기 송신 메일 서버에서 수신 메일 서버와 키 교환 프로토콜을 수행하여 제 1 세션키를 상호 공유하고, 상기 수신 메일 서버에서 상기 수신 메일 서버의 메시지 및 상기 제 1 세션키를 이용하여 상기 수신 메일 서버의 메시지를 암호화한 수신 메일 서버의 메시지 인증 코드값을 상기 송신 메일 서버로 전송하는 단계;
    상기 송신 메일 서버에서 상기 수신 메일 서버의 메시지 인증 코드값이 유효한 지의 여부를 검증하고, 상기 송신 메일 서버에서 수신 메일 서버의 메시지, 상기 제 1 암호키를 이용하여 상기 수신 메일 서버의 메시지를 암호화한 송신 메일 서버의 제 1 메시지 인증 코드값을 상기 수신 단말기에 전송하는 단계;
    상기 송신 단말기에서 상기 송신 메일 서버로부터 전송된 상기 송신 메일 서버의 제 1 메시지 인증 코드값이 유효한지의 여부를 판단하고, 제 3 난수를 선택하여 생성된 송신 단말 메시지 및 상기 송신 단말 메시지 및 상기 제 2 난수를 이용하여 생성된 제 2 세션키를 연산하는 단계;
    상기 송신 단말기에서 상기 제 2 세션키로 상기 이메일 메시지를 암호화한 암호문, 상기 송신 단말 메시지, 및 상기 제 1 암호키를 이용하여 상기 송신 단말 메시지를 암호화한 송신 단말의 메시지 인증 코드값을 상기 송신 메일 서버로 전송하는 단계;
    상기 송신 메일 서버에서 상기 송신 단말기로부터 전송된 송신 단말의 메시지 인증 코드값이 유효한지의 여부를 판단하고, 상기 송신 메일 서버에서 상기 암호문, 상기 송신 단말 메시지 및 상기 제 1 세션키로 상기 송신 단말 메시지를 암호화한 송신 메일 서버의 제 2 메시지 인증 코드값을 상기 수신 메일 서버로 전송하는 단계;
    상기 수신 메일 서버에서 상기 송신 메일 서버의 제 2 메시지 인증 코드값이 유효한 지의 여부를 판단하고, 상기 수신 메일 서버에서 상기 암호문 및 상기 송신 단말 메시지를 저장하는 단계;
    상기 수신 단말기가 상기 수신 메일 서버에 로그인하면, 상기 수신 단말기 및 상기 수신 메일 서버에서 로그인 프로토콜을 수행하여 제 2 암호키를 공유하는 단계;
    상기 수신 메일 서버에서 상기 송신 단말기의 아이디, 상기 암호문, 상기 송신 단말 메시지 및 상기 제 2 암호키로 상기 송신 단말 메시지를 암호화한 수신 단말의 메시지 인증 코드값을 상기 수신 단말기에 전송하는 단계; 및
    상기 수신 단말기에서 상기 수신 단말의 메시지 인증 코드값이 유효한지의 여부를 판단하고, 상기 제 2 난수를 이용하여 상기 제 2 세션키를 추출하고, 상기 제 2 세션키를 이용하여 상기 암호문으로부터 상기 이메일 메시지를 추출하는 단계 를 포함하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
  15. 제 14 항에 있어서,
    상기 수신 메일 서버의 메시지 인증 코드값이 유효한 지의 여부는
    상기 제 1 세션키
    Figure 112008048142382-pat00788
    를 이용하여 상기 수신 메일 서버의 메시지 인증 코드값
    Figure 112008048142382-pat00789
    이 유효한지의 여부를
    Figure 112008048142382-pat00790
    에 의해 검증하며, 검증값이 '1'이 출력되면 수신 메일 서버의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어, 수신된 수신 메일 서버의 메시지 인증 코드값을 버리는 것을 특징으로 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
  16. 제 14 항에 있어서,
    상기 송신 메일 서버로부터 전송된 상기 송신 메일 서버의 제 1 메시지 인증 코드값이 유효한지의 여부는
    상기 제 1 암호키
    Figure 112008048142382-pat00791
    를 이용하여 상기 송신 메일 서버의 제 1 메시지 인증 코드값
    Figure 112008048142382-pat00792
    이 유효한지의 여부를
    Figure 112008048142382-pat00793
    에 의해 검증하며, 검증값이 '1'이 출력되면 송신 메일 서버의 제 1 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어 수신된 송신 메일 서버의 제 1 메시지 인증 코드값을 버리는 것을 특징으로 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
  17. 제 14 항에 있어서,
    상기 송신 단말의 메시지 인증 코드값이 유효한지의 여부는
    상기 제 1 암호키
    Figure 112008048142382-pat00794
    를 이용하여 상기 송신 단말의 메시지 인증 코드값
    Figure 112008048142382-pat00795
    가 유효한지의 여부를
    Figure 112008048142382-pat00796
    에 의해 검증하며, 검증값이 '1'이 출력되면 상기 송신 단말의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어 수신된 상기 송신 단말의 메시지 인증 코드값을 버리는 것을 특징으로 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
  18. 제 14 항에 있어서,
    상기 송신 메일 서버의 제 2 메시지 인증 코드값이 유효한 지의 여부는
    상기 제 1 세션키
    Figure 112008048142382-pat00797
    를 이용하여 상기 송신 메일 서버의 제 2 메시지 인증 코드값
    Figure 112008048142382-pat00798
    가 유효한지의 여부를
    Figure 112008048142382-pat00799
    에 의해 검증하며, 검증값이 '1'이 출력되면 상기 송신 메일 서버의 제 2 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어, 수신된 상기 송신 메일 서버의 제 2 메시지 인증 코드값을 버리는 것을 특징으로 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
  19. 제 14 항에 있어서,
    상기 수신 단말의 메시지 인증 코드값이 유효한지의 여부는
    상기 제 2 비밀키
    Figure 112008048142382-pat00800
    를 이용하여 상기 수신 단말의 메시지 인증 코드값
    Figure 112008048142382-pat00801
    가 유효한지의 여부를
    Figure 112008048142382-pat00802
    에 의해 검증하며, 검증값이 '1'이 출력되면 상기 수신 단말의 메시지 인증 코드값이 유효한 것으로 판단하고, '0'이 출력되면 유효하지 않은 것으로 판단되어, 수신된 상기 수신 단말의 메시지 인증 코드값을 버리는 것을 특징으로 하는 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법.
  20. 제 2 항, 제 3 항, 제 7 항 내지 제 11 항, 또는 제 13 항 내지 제 19항 중 어느 한 항의 방법을 컴퓨터에서 수행할 수 있도록 프로그램으로 기록된 기록매체.
KR1020080064377A 2007-07-10 2008-07-03 기밀성과 전방향 안전성을 제공하는 이메일 전송 방법 및 이를 기록한 기록매체 KR100974622B1 (ko)

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)

* Cited by examiner, † Cited by third party
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 주식회사 트러스컴 문서 보안 시스템 및 그 방법 및 상기 문서 보안 방법을실행하도록 프로그램된 컴퓨터로 읽을 수 있는 기록 매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
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