DKIM 레코드 검사기의 역할과 작동 방식
DKIM 기록 검사기는 사용자가 입력한 DKIM TXT 레코드를 붙여넣어 그 구성 요소를 상세히 검사할 수 있는 도구입니다. 이 도구는 레코드의 버전, 키 유형, 공개 키, 서비스 및 기타 세부 정보를 분석하여 중복 태그, 잘못된 표현 형식, 취약한 키 크기 등의 잠재적인 문제를 식별합니다.
본 검사기는 DNS에 질의하거나 이메일 서명을 직접 검증하지 않으며, 사용자의 브라우저 내에서 로컬로 레코드 텍스트를 프로세싱합니다. 따라서 이 도구의 결과는 배달 증명보다는 구성 검토 목적으로 사용하는 것이 적합합니다.
입력 및 출력 데이터 구성
사용자는 최대 20,000자 제한 내에서 v=DKIM1; k=rsa; p=…와 같은 태그 목록 형태의 DKIM TXT 값을 입력할 수 있습니다. 이때 따옴표로 묶인 TXT 조각이나 존 파일(zone-file)의 괄호 형식도 허용되며 자동으로 병합되어 처리됩니다.
도구가 제공하는 출력 결과인 DKIM 분석은 다음과 같은 정보를 포함합니다:
- DKIM 요약: 버전, 키 유형, 키 크기, 서비스 정보를 요약하여 보여줍니다.
- 분석된 필드: 각 DKIM 태그의 이름(태그)과 그에 매칭되는 값을 표 형태로 파싱하여 제공합니다.
- 레코드 노트: TXT 청크 수, 기본값 표시, 취소된 키 여부, 알 수 없음(알 수 없는 비트 수) 등의 상태를 표시합니다.
레코드에 문제가 없는 경우 "붙여넣은 값에서 레코드 오류나 키 경고가 발견되지 않았습니다."라는 메시지가 표시되며, 검사가 완료되면 "체크된 ‹fields› 필드: ‹errors› 오류 및 ‹warnings› 경고." 형태로 최종 요약됩니다.
DKIM 레코드의 주요 규칙 및 제한 사항
DKIM TXT 레코드를 올바르게 구성하기 위해서는 다음과 같은 기술적 규칙을 준수해야 합니다:
- DNS TXT 레코드 제한: 하나의 DNS TXT 레코드는 여러 개의 문자열을 포함할 수 있지만, 각 문자열 조각은 255바이트 제한을 초과할 수 없습니다.
- 버전 태그 위치 및 값:
v=DKIM1태그가 레코드에 존재할 경우, 이 태그는 반드시 가장 첫 번째 위치에 와야 합니다. 또한v태그의 값은 다른 값 없이 정확히DKIM1이어야 합니다. - 키 유형 및 해시 제한:
k태그는rsa또는ed25519만 지원합니다. 또한 현재 DKIM 서명을 위해h태그는 반드시sha256을 허용해야 하며,sha1은 더 이상 사용되지 않으므로 사용해서는 안 됩니다. - 서비스 제한:
s값은 반드시email또는*를 포함해야 합니다. - 키 폐기:
p값이 비어 있는 경우, 이는 폐기된(revoked) DKIM 키를 공개하는 것으로 해석됩니다.
키 크기 및 암호화 알고리즘 기준
본 검사기는 RSA 및 Ed25519 공개 키를 인식하여 분석합니다. 키의 안전성을 보장하기 위해 다음과 같은 기준에 따라 경고 및 오류를 발생시킵니다:
- RSA 키 크기: RSA 키가 1024비트 미만인 경우 유효하지 않은 것으로 보고되어 오류가 발생합니다. 또한 2048비트 미만인 RSA 키는 권장 사항보다 약한 키로 보고됩니다.
- Ed25519 키 크기: Ed25519 키는 디코딩했을 때 정확히 32바이트여야 하며, 이를 벗어나는 경우 오류로 처리됩니다.
발생 가능한 오류 및 경고 메시지
입력값에 문제가 있거나 빈 값을 제출하는 경우, 도구는 상황에 따라 다음과 같은 구체적인 오류 및 경고 메시지를 표시합니다:
- 입력창이 비어 있을 때:
"먼저 DKIM 레코드를 붙여넣으세요." - 잘못된 형식 입력 시:
"지원되는 DKIM 레코드를 입력하세요." - 따옴표 표현 오류:
"인용된 TXT 표현이 잘못되었습니다. 모든 인용된 부분을 유지하고 인용 외 텍스트는 삭제하세요." - 조각 결합 안내:
"레코드를 확인하기 전에 ‹detail› 인용 TXT 조각을 결합했습니다." - 255바이트 초과 시:
"TXT 조각 ‹detail›이 하나의 DNS 문자열에 대한 255 바이트 제한을 초과했습니다." - 필수 태그 누락:
"필수 p 공개키 태그가 누락되었습니다." - 태그 중복:
"‹tag› 태그가 한 번 이상 나타납니다." - 등호 누락:
"필드 “‹tag›”에 등호가 없습니다." - 태그 이름 오류:
"태그 이름 “‹tag›”이 잘못되었습니다." - 버전 태그 위치 오류:
"v=DKIM1 태그가 존재하면 반드시 첫 번째 태그여야 합니다." - 잘못된 버전 값:
"v 태그는 정확히 DKIM1이어야 하며, “‹detail›”가 되어서는 안 됩니다." - 지원되지 않는 키 유형:
"키 유형 “‹detail›”는 지원되지 않습니다. rsa 또는 ed25519를 사용하세요." - 유효하지 않은 공개 키:
"p 값은 선택한 키 유형에 대한 유효한 공개 키가 아닙니다." - 폐기된 키 감지:
"p 값이 비어 있어 폐기된 DKIM 키가 공개됩니다." - RSA 키 크기 미달:
"RSA 키는 ‹detail› 비트입니다. DKIM는 최소 1024 비트가 필요합니다." - RSA 권장 크기 미달:
"RSA 키는 ‹detail› 비트입니다. 2048 비트 이상이 권장됩니다." - Ed25519 바이트 오류:
"Ed25519 키를 디코딩하면 32가 아닌 ‹detail› 바이트가 됩니다." - 지원되지 않는 서비스:
"s 값 “‹detail›”에는 지원되지 않는 서비스가 포함되어 있습니다. email 또는 *를 사용하세요." - 해시 알고리즘 오류:
"h 태그는 현재 DKIM 서명을 위해 sha256를 허용해야 합니다." - 사용 금지된 해시:
"sha1는 DKIM 서명에서는 더 이상 사용되지 않으며 사용해서는 안 됩니다." - 미해석 태그:
"인식되지 않은 ‹tag› 태그는 유지되지만 해석되지 않습니다."
개인정보 보호 및 데이터 처리 방식
귀하의 DKIM 기록은 브라우저에만 저장됩니다. BroBroGo은 사용자가 입력한 레코드 데이터를 외부 서버로 업로드하거나 저장하지 않습니다. 모든 분석 프로세스는 사용자의 기기에서 로컬 레코드-텍스트 확인 방식으로만 안전하게 수행됩니다.
자주 묻는 질문 (FAQ)
Q: 왜 긴 DKIM 기록이 인용 문자열로 나뉘어 있나요?
A: DNS TXT 기록은 여러 개의 문자열을 포함할 수 있으며, 각 문자열은 255 바이트로 제한됩니다. DNS이 문자열들을 순서대로 결합하므로 모든 조각은 하나의 TXT 기록 안에 남아 있어야 합니다.
Q: 이 검사기가 인식하는 DKIM 키 유형은 무엇인가요?
A: RSA 및 Ed25519 공개 키를 인식하고, 해당 키의 Base64 형식을 확인하며, 1024 비트보다 작은 RSA 키를 무효로 보고하고, 2048 비트보다 작은 키는 권장보다 약하다고 평가합니다.
Q: 깨끗한 결과가 DKIM가 작동 중임을 증명하나요?
A: 아니요. 이 페이지는 붙여넣은 레코드 텍스트만 확인합니다. DNS에 질의하거나, 메시지 서명을 검증하거나, 선택기 이름을 확인하거나, 메일 수신자가 레코드를 가져올 수 있음을 증명하지 않습니다.