개요 — 발신 메일 서버 정보를 사전에 발신 도메인 DNS 서버에 공개적으로 등록함으로써 수신자가 수신한 메일의 발신자 IP 주소가 발신자 메일 주소 도메인의 실제 메일 서버 정보와 일치하는지 검사할 수 있도록 하는 인증 기술
동작 방식
발신측 — 발신자 도메인의 DNS 서버에 해당 도메인에서 사용하는 발신자 메일 서버 정보와 수신 측 처리 방식을 담고 있는 SPF 레코드 정보를 도메인의 TXT 레코드에 기록하여 등록
수신측 — 수신자 메일 서버는 발신자 도메인에 대한 SPF 레코드를 조회한 후 실제 메일을 발송한 메일 서버의 IP가 조회한 SPF 레코드에 등록된 서버인지 여부와 처리 방식에 따라 수신 여부 결정
SPF 레코드 형식
버전과 하나 이상의 한정자와 메커니즘 조합
한정자 — 메커니즘과 함께 사용되며, 수신측에서 메커니즘과 일치할 경우 어떻게 처리할지 알려주는 역할
— 인증 통과
메커니즘과 일치할 경우 인증된 메일 서버로 메일을 통과시키라는 의미
메커니즘에 한정자를 지정하지 않은 경우 기본적으로 적용
— 인증 실패 또는 심각한 인증 실패
메커니즘과 일치할 경우 인증되지 않은 메일 서버로 메일을 거부하라는 의미
일반적으로 수신측 메일 서버에서 스팸 메일함에 임시 보관하거나 수신을 거부
~ — 가벼운 인증 실패
메커니즘과 일치할 경우 인증되지 않은 메일 서버로 수신측 메일 서버 정책에 따라 허용 여부를 판단하라는 의미
일반적으로 메일 수신이 허용되거나 거부될 수 있음
? — 중립
메커니즘과 일치할 경우 인증 여부에 대한 판단 정보가 없음을 의미
메커니즘 — 발신 메일 서버의 매칭 방식을 정의하며 순서대로 매칭 여부 판단
ip4/ip6
unclude — 지정한 도메인에 있는 SPF 레코드 정보 참조
all
DKIM 기술
개요 — 발신자가 발신 메일의 메시지 헤더와 바디에 대한 디지털 서명을 메일 헤더에 삽입하여 수신된 이메일이 위변조되지 않았는지 수신자 측에서 검증할 수 있는 이메일 인증 기술
동작 방식
발신측 — 발신자 도메인의 DNS 서버에 수신 측에서 디지털 서명을 검증할 수 있는 정보를 담고 있는 DKIM 레코드 정보를 지정한 도메인의 TXT 레코드에 기록하여 등록
DKIM 레코드 형식 — 버전(v), 알고리즘(k), 공개키(p)
발신측 — 발신자 메일 서버에서 발신 메일의 메시지 헤더와 바디를 개인키로 서명한 후 서명값을 DKIM-Signature에 추가하여 전송
수신측 — 수신자 메일 서버는 DKIM-Signature 헤더에 있는 정보를 참조하여 공개된 지정한 domainkey 도메인에 대한 DKIM 레코드를 조회한 후 DKIM 레코드에 등록된 공개키와 서명 알고리즘을 이용하여 DKIM-Signature 헤더에 있는 서명값 검증 수행
DKIM-Signature 헤더 형식
v — 버전
a — DKIM 인증 시 사용할 전자서명 알고리즘
h — 서명 대상 메시지 헤더 리스트
bh — 메시지 바디의 데이터를 서명한 값
b — h 태그에 명시한 헤더의 데이터를 서명한 값
DMARC 기술
개요 — SPF 인증 기술과 DKIM 인증 기술을 모두 적용하여 정당한 발신자인지 여부와 메일의 위변조 여부를 검사하고 수신 측에서 정책 처리 결과에 대한 보고서를 전달함으로써 발신 측에서 메일 모니터링을 할 수 있는 이메일 인증 기술
동작 방식
발신측 — 발신자 도메인의 DNS 서버에 SPF 레코드와 DKIM 레코드를 우선적으로 등록하고 인증 정책 정보를 담고 있는 DMARC 레코드 정보를 DMARC 용도의 도메인의 TXT 레코드에 기록하여 등록
수신측 — 수신자 메일 서버는 SPF, DKIM 및 DMARC 레코드를 조회하고 DMARC 정책에 따라 인증 수행. 인증에 실패한 메일에 대해서는 DMARC 보고서를 작성하여 발신 측에 전송
인증 기술 관련 주요 메일 헤더 정보
Recieved
실제 메일이 전송된 경로
여러 개인 경우 여러 MTA를 경유했다는 의미. 가장 아래쪽 헤더가 처음 메일을 발송한 메일 서버
형식 — from 발송 호스트(메일 서버) by 수신 호스트(메일 서버) id 메일 고유 식별자 for 수신자 메일 주소 수신 날짜/시간
SMTPS를 적용한 경우 확인 가능한 정보 — TLS 버전, 암호 도구 목록
Received-SPF
수신자 메일 서버 SPF 인증 결과를 기록하는 헤더
Authentication-Results에서도 SPF 인증 결과 확인 가능
인증 결과에 따라 pss 이외에 fail, soft fail, neutral 등
Authentication-Results 메시지 헤더
수신 메일 서버에서 SPF, DKIM 및 DMARC 인증 결과를 기록하는 헤더
인증 기술에 따라 pass, fail 등
이메일 인증을 위한 기술적 대응 방안 — SPF 인증 기술을 통해 인증된 발신자 메일 서버로부터 온 메일인지 확인하고 DKIM 인증 기술을 통해 메일의 헤더나 내용이 위변조되지 않았는지 확인하는 한편, DMARC 인증 기술로 SPF와 DKIM의 이중 적용 및 수신이 실패되는 메일에 대한 모니터링 등 필요