DKIM이란?
DKIM (DomainKeys Identified Mail)는 서버 전송을 디지털로 표시하는 메시지로 허용하는 이메일 인증 방법입니다. 수신 서버는 DNS에 게시 된 공공 키로이 서명을 확인 할 수 있으며, 이메일이 transit에서 수정되지 않았으며 실제로 주장 된 도메인에서 시작되었습니다.
DKIM 작품
1. 키 생성: 도메인 소유자는 공공 / 개인 키 쌍을 생성
2. DNS 간행물: 공개키는 TXT 기록으로 발행됩니다.
3. Message Signing: 이메일은 개인 키와 서명됩니다.
4. Signature 검증: Receiving 서버는 공공 키를 검색하고 서명을 검증합니다.
서명 과정
이메일이 전송될 때:
1. Mail server calculates a hash of message headers and body
2. Hash is encrypted with the private key (creating the signature)
3. Signature is added as a DKIM-Signature header
4. Email is transmitted
Verification 과정
이메일이 수신되면:
1. Server extracts the DKIM-Signature header
2. Finds selector and domain (s=selector; d=domain.com)
3. Queries DNS for selector._domainkey.domain.com TXT record
4. Uses public key to decrypt the signature
5. Calculates its own hash of the message
6. Compares: match = pass, mismatch = fail
DKIM 기록 체재
DKIM 레코드는 TXT 레코드에 특정 하위 도메인:
selector._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0..."
관련 기사
| 제품 정보 | 이름 * | 이름 * |
|---|---|---|
| ₢ 킹 | 이름 * | 다운로드 |
| ₢ 킹 | 핵심 유형 | 사이트맵 |
| · | 공공 키 (base64) | p=MIGfMA0GCSqG ... |
| ₢ 킹 | (선택) 깃발 | t=y (테스트 모드) |
| ₢ 킹 | Hash 알고리즘 | h=샤256 |
이름 *
selectors는 도메인 당 다수 DKIM 열쇠를 허용합니다:
google._domainkey.example.com # Google Workspace
s1._domainkey.example.com # Sendgrid
mailchimp._domainkey.example.com # Mailchimp
각 이메일 서비스는 자체 선택기와 열쇠를 제공합니다.
DKIM 서명 헤더
DKIM 서명은 다음과 같습니다 :
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=google;
c=relaxed/relaxed; q=dns/txt;
h=from:to:subject:date:message-id;
bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
b=AuUoFEfDxTDkHlLXSZEpZj79...
주요 분야:
-d=: 비밀번호
- s=: Selector (DN 레코드를 찾을 수 있음)
-b=: 실제 서명
-bh=: 바디 해시
DKIM 설정
구글 워크스페이스
1. Admin 콘솔로 이동 → 앱 → Gmail → 인증 이메일
2. DKIM 키 생성 (2048 비트 권장)
3. Google에 의해 제공된 TXT 기록 추가
4. DKIM 서명을 활성화하십시오
제3자 서비스
대부분의 이메일 서비스 (SendGrid, Mailchimp 등) 제공:
1. CNAME 레코드 추가 (관리 키의 경우)
2. 또는 공중 열쇠를 가진 TXT 기록
예 (SendGrid):
s1._domainkey.example.com CNAME s1.domainkey.sendgrid.net
DKIM 인증
Send a test email to the service that show headers (Gmail show authentication results). 명령 줄 사용 :dig google._domainkey.example.com TXT
DomScan 사용 :
curl "https://domscan.net/v1/health?domain=example.com"
# Reports DKIM status based on common selectors
DKIM 모범 사례
사용 2048 비트 키
이전 1024 비트 키는 점점 취약합니다. 대부분의 공급자는 지금 2048 비트로 과태합니다.
회전 키 정기적으로
매년 DKIM 키를 회전하거나 보안 사고 후. 전환하기 전에 새로운 선택기와 새로운 키를 게시.
로그인 중요 헤더
In, To, Subject, Date 및 Message-ID가 서명에 포함되어 있습니다.
로그인하지 마십시오 메시지
DKIM을 수정하는 메일링 리스트 또는 포워딩 서비스. ARC (Authenticated received Chain)을 사용하여 우편 발송.
DKIM 제한
혼자 DKIM은 spoofing을 방지하지 않습니다 - 그것은 단지 메시지가 변경되지 않았습니다. 도메인은 DKIM을 유효하게 할 수 있지만 공격자는 spoofed 이메일을 보내. DMARC는 할당되지 않은 메시지로 할 것을 지정하여이 주소를 나타냅니다.