DKIM 서명과 검증은 어떻게 작동하나요
DKIM(DomainKeys Identified Mail)은 메일 서버가 발송하는 모든 메시지에 개인 키로 서명하게 해 줍니다. 짝이 되는 공개 키는 selector._domainkey.yourdomain.com 에 TXT 레코드로 게시됩니다. 수신 서버는 DKIM-Signature 헤더에서 셀렉터를 읽어 공개 키를 가져오고, 메시지 본문과 주요 헤더가 전송 중에 변경되지 않았는지 검증합니다.
유효한 서명은 그 메시지가 여러분의 개인 키를 가진 서버에서 실제로 왔음을 증명합니다. DMARC가 DKIM으로 통과하려면 서명의 d= 도메인이 From 도메인과 정렬되어야 합니다. 이 정렬이 콜드 이메일 도메인을 스푸핑으로부터 지켜 주며, Gmail과 Microsoft가 대량 발송자에게 DKIM을 요구하는 이유입니다.
google._domainkey.yourdomain.com TXT
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...내 DKIM 셀렉터 찾기
셀렉터는 _domainkey 앞에 붙는 이름표이며 제공업체마다 직접 정합니다. Google Workspace는 기본적으로 google 을 쓰고, Microsoft 365는 selector1 과 selector2 를 사용하며, 대부분의 발송 플랫폼은 k1, s1, pm 같은 짧은 이름을 씁니다. 일부 제공업체는 레코드를 자사 DNS를 가리키는 CNAME으로 게시하는데, 리졸버가 이를 따라가므로 문제가 없습니다.
확실하지 않다면 해당 도메인에서 스스로에게 메시지를 보낸 뒤 원본 헤더를 열어 DKIM-Signature 줄을 읽으세요. s= 뒤의 값이 셀렉터이고 d= 뒤의 값이 서명 도메인입니다. 그 셀렉터를 검사기에 붙여 넣으면 검색 대신 바로 조회할 수 있습니다.
- Google Workspace: 셀렉터는 google, 관리 콘솔의 이메일 인증에서 생성합니다.
- Microsoft 365: selector1 과 selector2 이며 onmicrosoft.com 을 가리키는 CNAME으로 게시됩니다.
- 발송 플랫폼은 보통 도메인 인증 페이지에 셀렉터를 표시합니다.
- 셀렉터는 교체될 수 있습니다. 새 키를 활성화한 뒤 다시 확인하세요.
키 길이와 1024비트가 더 이상 충분하지 않은 이유
검사기는 base64 공개 키에서 키 길이를 추정합니다. 2048비트 RSA 키가 현재 권장 사항이며 Google Workspace와 Microsoft 365가 기본으로 발급하는 길이입니다. 예전 1024비트 키도 여전히 검증되지만 약한 것으로 간주되며, 일부 제공업체는 그보다 짧은 키로는 서명을 거부합니다. Ed25519 키는 작고 강력한 현대적 대안이지만 아직 모든 수신 서버가 검증하지는 않으므로 RSA 셀렉터를 함께 두세요.
1024비트 키가 보인다면 제공업체의 DKIM 설정에서 교체하고 새 레코드를 게시한 뒤 DNS 전파를 기다렸다가 서명을 전환하세요. InboxOne은 생성하는 모든 Google Workspace 메일박스에 2048비트 DKIM을 프로비저닝하므로 이 작업을 손으로 할 필요가 없습니다.
인증을 조용히 무력화하는 DKIM 플래그와 태그
레코드가 게시되어 있어도 아무 보호도 제공하지 않을 수 있습니다. t=y 플래그는 키를 테스트 모드에 두어 수신 서버에 실패를 무시하라고 알립니다. p= 가 비어 있으면 키가 완전히 폐기됩니다. h=sha1 로 해시를 제한하거나 s= 로 서비스 유형에서 이메일을 배제하면 주요 제공업체에서 검증이 실패합니다. 검사기는 이 각각을 바꿔야 할 태그와 함께 표시합니다.
- 서명이 검증되는 것을 확인했다면 t=y 를 제거하세요.
- 셀렉터를 폐기할 의도가 아니라면 p= 를 절대 비워 두지 마세요.
- DNS 호스트가 문자열 길이를 255자로 제한한다면 긴 키를 따옴표로 묶은 여러 문자열로 나누세요.
- base64 키를 붙여 넣을 때 줄바꿈이나 공백을 넣지 마세요.

