[ 빠른 답변 ]
DKIM 서명은 이메일에 추가된 DKIM-Signature 헤더입니다. 여기에는 서명 도메인( d=), 선택기( s=), 알고리즘( a=), 서명된 헤더( h=), 본문 해시( bh=) 및 서명 자체( b=).
주요 사실
- ›d= must align with the From domain for DMARC.
- ›bh= is a hash of the body; any change after signing breaks it.
- ›전달은 일반적으로 SPF 와 달리 DKIM 유지합니다.
EmailAuth 연구팀의 검토
DKIM-Signature 발신 서버가 각 메시지에 추가하는 헤더입니다. 이는 메시지 본문과 선택한 헤더 세트에 암호화 서명을 전달하며 수신자가 이를 확인하는 데 필요한 정보(메일에 서명한 도메인, 공개 키를 보유한 선택기, 사용된 알고리즘)를 전달합니다. 수신자는 이 헤더를 읽고 DNS 에서 공개 키를 가져온 다음 서명을 확인합니다. 통과는 메일이 도메인에 의해 승인되었으며 전송 중에 변경되지 않았음을 의미합니다.
DKIM-Signature 내부의 태그
헤더는 세미콜론으로 구분된 tag=value 쌍 세트입니다. 각 태그는 수신자에게 메시지를 확인하는 데 필요한 내용을 알려줍니다. 가장 중요한 것은 이것들입니다.
- v: DKIM 버전, 현재 1.
- a: 서명 알고리즘(예: rsa-sha256)
- d: 서명 도메인, 메시지를 담당하는 도메인입니다.
- s: DNS 의 공개 키를 가리키는 선택기입니다.
- bh: 메시지 본문의 해시입니다.
- b: 헤더 및 본문 해시에 대한 실제 암호화 서명입니다.
- h: from:subject:date:to와 같이 서명된 헤더 필드 목록입니다.
DKIM-Signature 헤더 예
v=1; a=rsa-sha256; d=example.com; s=s1; h=from:subject:date:to; bh=frcCV1k9oG9...; b=dzdVyOfAKCdLXd...
인증 작동 방식
메시지가 도착하면 수신자는 d= 도메인과 s= 선택기를 읽은 다음 s에서 공개 키를 찾습니다. _domainkey.d (예: s1._domainkey.example.com ) 본문 해시를 다시 계산하여 bh 태그와 비교한 다음 공개 키를 사용하여 h에 나열된 서명된 헤더에 대해 b 서명을 확인합니다. 둘 다 일치하면 DKIM 통과됩니다. 전송 후 본문이나 서명된 헤더가 변경되면 해시가 달라지고 확인이 실패합니다. 이것이 바로 DKIM 변조를 포착하는 방법입니다.
h 및 bh 태그의 역할
bh 태그는 본문의 해시이므로 메시지 내용을 변경하면 태그가 깨집니다. h 태그는 보호되는 헤더를 나열하고 b 서명은 해당 헤더를 정확하게 포함합니다. 서명인은 수신자가 볼 수 있는 주소이므로 필수적입니다. 서명자는 종종 본문 해시에 후행 공백을 허용하도록 남겨두므로 일반적인 메일 처리로 인해 서명이 깨지지 않으면서도 실제 편집 내용을 계속 포착할 수 있습니다.
서명, 정렬 및 DMARC
유효한 DKIM 서명이 필요하지만 DMARC 에는 충분하지 않습니다. DMARC 또한 d= 도메인이 표시되는 보낸 사람 도메인과 일치하는지 확인합니다. 일치하면 DKIM 이 정렬되어 자체적으로 DMARC 충족할 수 있습니다. SPF 두 번째 정렬 경로를 제공합니다. DKIM 서명은 메시지와 함께 이동하기 때문에 SPF 중단되는 경우에도 전달되지 않는 경우가 많으므로 받은 편지함에 도달하는 데 DKIM 정렬이 중요합니다.
시간 경과에 따른 서명 관찰
공급업체가 서명을 변경하거나 선택기가 폐기되거나 키가 오래되면 서명이 조용히 깨질 수 있습니다. EmailAuth 실제 메일에서 DKIM-Signature 읽고 선택기를 모니터링하며 수신자가 메시지를 거부하기 전에 취약하거나 만료된 키에 플래그를 지정합니다. 무료 도메인 스캔은 활성 선택기, 키 강도 및 DKIM DMARC 에 부합하는지 여부를 보고하므로 모든 서명 경로가 정상인지 확인할 수 있습니다.
자주 묻는 질문
DKIM-Signature 의 b 태그는 무엇을 의미하나요?
b 태그는 개인 키를 사용하여 서명된 헤더와 본문 해시를 통해 계산된 실제 암호화 서명을 보유합니다. 수신자는 DNS 의 공개 키로 이를 확인합니다. b 값이 체크아웃되지 않으면 DKIM 실패하고 메시지는 서명되지 않음 또는 의심스러운 메시지로 처리됩니다.
bh 태그와 b 태그의 차이점은 무엇입니까?
bh 태그는 메시지 본문의 해시이므로 내용을 변경하면 태그가 깨집니다. b 태그는 선택한 헤더와 해당 본문 해시에 대한 서명입니다. 수신자는 먼저 bh를 확인한 다음 b를 확인하고 DKIM 성공하려면 둘 다 통과해야 합니다.
DKIM 어떤 헤더에 서명하나요?
h 태그에는 일반적으로 보낸 사람, 제목, 날짜 및 받는 사람과 같은 서명된 헤더가 나열되지만 정확한 집합은 서명자가 선택합니다. 보낸 사람은 받는 사람이 볼 수 있는 주소이므로 가장 중요합니다. 전송 후 서명된 헤더를 변경하면 확인이 중단됩니다.
DKIM 전달 후에도 가끔 통과하는 이유는 무엇입니까?
DKIM-Signature 메시지 내에서 이동하므로 전달된 이메일은 보내는 IP가 변경되더라도 서명을 유지합니다. 서명된 본문과 헤더가 그대로 유지되는 한 검증은 계속 진행됩니다. 이것이 바로 DKIM 전송 서버가 변경되면 중단되는 SPF 보다 전달에서 더 잘 살아남는 이유입니다.
DKIM 실패하는 이유는 무엇입니까?
일반적인 원인은 공개 키가 없거나 잘못 입력된 경우, 선택기 불일치, 메일링 목록이나 보안 게이트웨이가 서명된 후 메시지를 변경하는 경우입니다.
[ DKIM 가이드 ]
기업 출처
최고의 금융 기관과 정부가 필요한 이유 이메일 보안 대시보드를 폐기했습니다.
기존 이메일 인증 플랫폼은 대시보드를 판매하고 엔지니어에게 작업을 요청합니다. 위험이 높은 환경에서 수동 감독은 시행 지연, 구성 드리프트 및 모니터링되지 않는 섀도우 도메인을 의미합니다.
EmailAuth 는 에이전트 이메일 출처 플랫폼입니다. 우리 대리인은 집행합니다 p=reject, 제3자 발신자를 정렬하고 도메인을 전체로 이동하세요. RFC 9989 인간 참여형 감사 기능을 갖춘 새로운 DMARC 표준을 준수합니다.
SaaS · 전용 테넌시 · Air-Gapped 온프레미스 · BYOK 암호화