본문 바로가기

네트워크

메일 송수신 및 보안 프로토콜 - SMTP, POP3, IMAP4, PGP, PEM, S/MIME

반응형

ி 메일 전송 프로토콜




SMTP(Simple Mail Transfer Protocol)


인터넷에서 이메일을 보내기 위해 이용되는 프로토콜이다.
응용계층에서 동작하고 TCP 25번 포트를 사용한다.




MUA(Mail User Agent)

E-mail을 보내기 위해 사용하는 클라이언트 프로그램이다.
➽ Ex - Outlook Express(아웃룩)


MTA(Mail Transport Agent)

흔히 말하는 메일 전송 서버로서 MUA에서 전송된 E-mail을 처리하는 우체국이라 할 수 있다.
수신된 메일이 있으면 MDA로 메일을 전달한다.
➽ Ex - Sendmail(유닉스 기본 프로그램)

MDA(Mail Delivery Agent)

MTA로 부터 E-mail을 받아서 받는 사람의 MUA로 메일을 전달해 주는 역할을 한다.



ி 메일 수신 프로토콜


인터넷에서 이메일을 가져올 때 이용되는 프로토콜이다.


POP3(Post Office Protocol version 3)


메일 서버에 접속해서 이메일을 가져오면, 메일 서버의 이메일은 삭제된다.
POP3는 응용계층 - TCP 110번 포트를 사용하며
현재 표준 버전은 3이고 Gmail, Yahoo, NAVER, Outlook과 같은 서비스에 사용된다.



POP3S(Post Office Protocol version3 Secure)

POP에 대한 암호화 통신을 위한 프로토콜이며
TLS/SSL을 사용하여 서버에 연결하며 995번 포트를 사용한다.



POP 프로토콜 특징

읽은 메일은 유저의 로컬에 저장하고
서버에서 메일을 삭제한다.
따라서 메일을 먼저 확인한 장치만 볼 수 있다.
읽은 메일은 바로 삭제돼서 용량 확보가 쉽고,
프라이버시를 보호할 수 있다.

설정에 따라서 메일의 사본을 서버에 저장할 수 있다.
하지만 사본을 새 메일로 받아들여 같은 메일을 재수신하는 문제가 있다.



IMAP4(Internet Message Access Protocol 4)


POP과 달리 메일을 가져와도 원본은 서버에 유지된다.
중앙 서버에서 동기화가 이뤄져서 모든 장치에서 동일한 이메일 폴더를 확인할 수 있다.
포트는 143번을 사용한다.

특징

별도의 SW 없이 메일을 관리할 수 있다.

여러 기기에서 메일에 접근할 수 있다.

온·오프라인 모드를 지원하므로
이메일을 서버에 남겨 두었다가 나중에 지울 수 있다

메일 박스(메일 보관함) 관리가 용이하다.
서버와 클라이언트 사이에 메일 박스가 연동이 되어
서버에서 메일 박스를 삭제하면 클라이언트의 메일 박스도 같이 삭제된다.

연결성 때문에 서버의 부하가 지속된다.


위에 두 프로토콜의 차이점을 표로 정리해보자.

 

POP3 

 IMAP4

전송 방식

 서버에서 클라이언트로 

 메일을 가져오는 다운로드 방식

 클라이언트가 서버에 직접 접속하여 

 메일을 가져온다.

관리 방식

 읽지 않은 메일만 보관

읽으면 클라이언트로 가져온 뒤 삭제

 서버에서 메일을 관리한다.

동작

 새 메일 도착 시 클라이언트로 

다운받고 연결을 종료한다.

 POP3처럼 전체 메일을 다운하는게 아닌 

 클라이언트가 서버에 접속해서 

 메일 읽기 시도를 할 때  해당 메일만 다운한다.


POP3의 다운로드 방식으로 서버의 부담을 줄이는 대신 여러 단점이 존재하듯, 
IMAP4는 장점 대신 서버 부담이 가중된다는 것이 주요 차이점이다.



ி 메일 보안 프로토콜




PGP(Pretty Good Privacy)


이메일 데이터 유출, 바이러스 전송 등을 방지하기 위한 보안 프로토콜이다.
마치 편지 봉투안에 전자우편을 넣는것과 같다.

전자서명 암호화가 구현됐으며 제공되는 보안 서비스는 다음과 같다.

기밀성 - 메시지 암호화 = 전송 내용 도청 불가
메시지 인증 - 무결성 = 내용 변조 여부
사용자 인증 - 발송자 근원지 확인
송신부인방지 - 수신자가 전자우편 받은 사실 부인 불가

메시지 암호화 과정 이전에,
대부분의 PGP 시스템은 데이터 압축을 진행한다.
PGP는 평문 파일을 전송하기 전에 압축하여 용량을 절약하고
공격자가 메일을 도청하는 경우 압축된 내용을 평문으로
추측해야 하니까 보안 면에서 좋다.

다음은 PGP에 사용되는 암호키다.
대칭키(세션키,IDEA) - 메시지 암호화
공개키(RSA) - 세션키 암호화
개인키(RSA) - 디저털 서명 메시지 암호화



PEM(Privacy Enhanced Mail)


이메일 보안 시스템의 하나로서 PGP보다 보안성이 우수하다.
중앙 집중식 설계와 복잡한 키 인증 방식으로 구현이 어렵지만
높은 보안성으로 군사나 금융 분야에 이용된다.

제공되는 보안 서비스는 다음과 같다.
기밀성
사용자/메시지 인증
재생 공격 방지 - 메일 재전송 공격을 방지한다.
송수신부인방지 - PGP와는 다르게 수신자 부인 방지 기능도 있다.



S/MIME(Secure Multi-purpose Internet Mail Extensions)


MIME은 아스키 데이터만을 처리할 수 있는 원래의 SMTP를 확장하여 오디오, 비디오, 이미지 등
여러 종류의 데이터 파일들을 주고받을 수 있도록 기능이 확장된 프로토콜이다.
S/MIME MIME 전자 서명과 암호화를 추가한 프로토콜로써
PGP와 흡사하게 데이터 전송의 보안성을 구현하였다.



ி 스팸메일 차단


스팸메일 차단 시스템은 광고성 메일이나 음란 메일과 같은
유해한 메일을 발송하는 IP를 차단한다.

차단 기법은 두 가지가 있다.


RBL(Real Time Blocking List)


스팸 발송에 이용되는 IP를 수집해 놓은 리스트다.
특정 단체나 회사에서 스팸 메일을 보내는 IP를 실시간으로 블랙리스트에 등록하고,
이메일 수신 시 발신자 쪽의 IP를 RBL에 조회해 목록에 해당 주소가 있으면
연결을 거부하고 스팸메일을 차단하게 된다.

RBL을 제공하는 사이트 중 잘 알려진 kisa-RBL이 있다. 
만약 IP를 도용당하여 kisa-RBL에 등록됬다면 
아래 사이트에서 차단 해제 요청을 하면 된다.
https://spam.kisa.or.kr/rbl/sub4.do



SPF(Sender Policy Framework)


메일서버등록제의 약자로 발신자 인증 메커니즘이 없는 SMTP 프로토콜의 취약점을 보완한다.
대다수 스팸 발송자의 특징은 자신을 숨기기 위해서
발송자 주소 전송 경로를 허위로 변경하는 경우가 많다.

이에 착안하여
발신자 메일 서버 정보와 정책을 나타내는
SPF 레코드 DNS에 공개 등록하고
수신자 발신자의 SPF 레코드에서 해당 메일에 표시된 발송 IP
비교하여 수신 여부를 결정한다.
즉, 수신자는 이메일에 표시된 발송자 정보가
실제 메일서버의 정보와 일치하는지를 확인한다.



반응형