✔ 이메일 보안

SeungMin_Sa·2020년 5월 27일
1

정보 보안

목록 보기
8/9
post-thumbnail

📌 이메일 관련 프로토콜

1. 전자우편의 구조

🔸 개요

  • 송신자가 있는 사이트의 전자우편 서버 관리자 시스템에는 인터넷으로 하나씩 전자우편을 전송할 수 있는 큐잉 시스템이 만들어져 있다.
  • 수신자가 있는 사이트의 전자우편 서버 관리자에는 서버에 연결되어 있는 모든 사용자를 위한 메일박스(Mailbox)가 만들어져 있고, 메일박스는 수신자에 의해 검색될 때까지 수신된 메시지를 저장하고 있다.
  • 송신자가 메시지를 보낼 때, 메시지를 작성하기 위해 UA(User Agent) 프로그램을 호출한다.
  • 그런 다음 송신자는 자신의 사이트에 있는 전자 우편 서버로 메시지를 전송하기 위해 MTA(Message Transfer Agent) 프로그램을 사용한다.
    • MTA는 송신자 컴퓨터에 설지되어 있는 클라이언트와 전자우편 서버에 설치되어 있는 서버의 기능을 갖는 클라이언트/서버 프로그램이다.
  • 수신자가 송신자가 보낸 메시지를 포함하고 있는 메시지를 검색하고자 할 떄, 수신자는 MAA(Message Access Agent) 프로그램을 호출한다.
    • MAA는 수신자 컴퓨터에 설지되어 있는 클라이언트와 전자우편 서버에 설치되어 있는 서버의 기능을 갖는 클라이언트/서버 프로그램이다.

2. SMTP(Simple Mail Transfer Protocol)

🔸 기본 개념

  • 인터넷에서 MTA 클라이언트와 서버를 규정하는 공식적인 프로토콜이다.
  • SMTP는 송신자와 송신자의 메일 서버 사이두 메일 서버들 사이에서 총 두 번 사용된다.

📌 사진 출처 : https://www.gatevidyalay.com/simple-mail-transfer-protocol-smtp-protocol/

🔸 특징

  • SMTP는 이메일을 암호화하여 이메일 전송을 보호하는 기능을 전혀 지원하지 않는다.
  • 사용자가 자신의 이메일 메시지를 남이 볼 수 없게 하려면 이메일 메시지를 보내기 전에 별도로 메시지 본문을 암호화해야 한다.
  • SMTP 서버가 사용자에게 이메일을 전달할 때 DNS를 통해 사용자의 메일 서버를 찾은 후 그 서버로 이메일을 직접 보낸다.

3. 메시지 액세스 에이전트(POP와 IMAP)

🔸 POP3(Post Office Protocol 버전 3)

  • 클라이언트 POP3 소프트웨어는 수신자 컴퓨터에 설치되고, 서버 POP3 소프트웨어는 메일 서버에 설치된다.
  • 사용자가 메일 서버에 있는 편지함에서 전자우편을 내려 받을 필요가 있을 때 클라이언트에서 시작한다.
  • 클라이언트는 TCP 포트 110으로 서버에 연결하고 편지함에 액세스하기 위해 사용자 이름과 비밀번호를 송신한다.

🔸 IMAP4(Internet Mail Access Protocol 버전 4)

  • IMAP4는 POP3와 비슷하나 더 많은 기능을 가지고 있다.
  • 데이터를 신뢰성 있고 제대로 된 순서로 보내고 받을 수 있게 하기 위해 TCP 143번 포트에서 클라이언트 연결 요청을 대기하고 있다.
  • IMAP4는 다음과 같은 추가적인 기능을 제공한다.
    • 전자우편을 내려 받기 전에 헤더를 검사할 수 있다.
    • 전자우편을 내려 받기 전에 특정 문자열로 내용을 검색하고 부분적으로 내려 받을 수 있다.
    • 사용자는 메일 서버에서 편지함을 생성, 삭제하거나, 이름을 변경할 수 있다.
    • 전자우편 저장을 위해 폴더 내에 편지함들을 체계적으로 생성할 수 있다.

📌 이메일 내용 보안을 위한 기술

1. PEM(Privacy Enhanced Mail)

  • 기밀성, 인증, 무결성, 부인방지를 지원하는 이메일 보안 기술이다.
  • 기존 전자우편 프로토콜을 이용하여 암호화된 정보, 전자서명, 암호화 방법 등의 내용을 본문에 텍스트 형식으로 전송한다.
  • 이론중심적이고 구현이 복잡하여 많이 사용하지 않는다.

2. PGP(Pretty Good Privacy)

🔸 개요

  • 이메일과 파일보호를 위해 암호화를 사용하는 암호시스템이다.
  • 구현이 용이해 가장 널리 사용되고 있고 다양한 플랫폼에서 사용가능하다.
  • PGP✨는 전자서명을 이용하여 인증을 제공하고, 대칭 블록 암호를 이용해서 기밀성을 제공하고, ZIP 알고리즘을 이용해서 압축을 제공하고, Base-64 부호화 시스템을 이용해 전자우편 호환성을 제공하며 길이가 긴 전자우편 데이터를 전송할 수 있도록 단편화 조립을 제공한다.

🔸 키링

  • 각 노드에서 한 쌍의 데이터 구조를 제공하는데 하나는 노드가 소유한 공개키/개인키 쌍을 저장하기 위한 것이고, 다른 하나는 이 노드가 알고 있는 다른 사용자의 공개키를 저장하기 위한 것이다.

🔸 PGP 보안 서비스

기능알고리즘설명
기밀성(메시지 암호화)Triple-DES,IDEA, CAST, RSA송신자가 생성한 일회용 세션키로 알고리즘을 이용해 메시지 암호화.
수신자의 공개키로 RSA를 이용해서 세션키를 암호화하고 메시지에 첨부.
인증(전자 서명)RSA, DSS, SHA-1, MD5,
RIPEMD-160
해시 알고리즘을 이용해서 메시지 다이제스트를 생성.
메시지 다이제스트는 송신자의 개인키로 DSS나 RSA를 이용해서 암호화한 후 메시지에 첨부한다.
압축ZIPZIP으로 메시지를 압축한다.
전자 우편 호환성Radix-64 변환Radix-64 변환을 이용해 ASCII 부호로 변환한다.
분할 및 재결합-최대 메시지 사이즈 제한으로 인한 데이터의 분할 및 재결합한다.

🔸 PGP 기밀성 제공과 인증을 하는 경우 Encrypt/Decrpt

3. S/MIME(Secure Multipurpose Internet Mail Extensions)

🔸 개요

  • S/MIME은 기존 전자 우편 보안 시스템의 문제점인 PEM 구현의 복잡성과, PGP의 낮은 보안성과 기존 시스템과의 통합이 용이하지 않다는 점을 보안하기 위해 개발된 우편 보안 시스템이다.
  • S/MIME이 제공하는 보안 서비스에는 메시지에 대한 기밀성, 무결성, 사용자 인증, 송신 사실 부인 방지가 포함된다.

🔸 S/MIME 동작

  • 사용자는 전자우편을 보내기 전에 메시지에 대한 전자 서명을 할 것인지, 암호화를 할 것인지 또는 둘 다 할 것인지를 선택한다.
  • 이후 MIME 헤더와 바디로 구성되는 MIME 형태의 메시지를 S/MIME 메시지로 변환한다.(변환함으로써 전자서명과 메시지의 암호화가 이루어지게 된다.)
  • 메시지를 보내면 메일 클라이언트는 저자 우편 서버에 메일을 전송하고, 수신자 메일 서버에 메시지가 전송되어 수신자는 S/MIME 클라이언트를 이용해 메시지를 받게 된다.

🔸 S/MIME이 제공하는 보안서비스

  • 전자 서명을 위해 디지털 서명 표준(DSS) 을 사용하고 세션키를 암호화하기 위해 Diffie-Hellman 알고리즘을 사용한다.
  • 전자 서명과 세션키 암호화 모두를 위해 사용할 수 있는 알고리즘으로 RSA 알고리즘을 사용한다.
  • 전자 서명을 생성하기 위한 해시함수로는 SHA-1과 MD5를 요구하고 3중 DES 알고리즘이 메시지 암호화를 위해 사용된다.
기능일반적 알고리즘기본 동작
디지털 서명RSA/SHA-256SHA-256으로 메시지 해시 코드를 생성한다.
이 메시지 다이제스트를 송신자 개인키를 가지고 RSA로 암호화하고 메시지에 포함시킨다.
메시지 암호화AES-128 with CBC송신자가 생성한 일회용 세션키를 이용해 CBC모드의 AES-128로 메시지를 암호화 시킨다.
세션키를 수신자의 공개키를 이용하여 RSA로 암호화하고 메시지에 포함시킨다.
압축제한 없음메시지를 압축하여 저장하거나 전송한다.
이메일 호환성Radix-64 변환이메일 응용이 투명하도록 암호화된 메시지를 Base64로 변환하여 ASCII 스트링으로 만든다.

0개의 댓글