IT/보안

DKIM 태그란 무엇인가요?

알콩달콩아빠 2023. 8. 26. 19:37
728x90
반응형

DKIM 태그는 발신자가 구성한 DKIM 프로토콜에 대한 특정 정보를 나타내는 DKIM 레코드에 사용되는 메커니즘 또는 명령입니다. DKIM은 암호화된 디지털 서명을 사용하여 작동하는 이메일 인증 프로토콜인 DomainKeys Identified Mail의 줄임말입니다. 또한 이 정보는 이메일 인증 프로토콜인 DMARC 정책.

적절하게 정렬된 DKIM 서명을 사용하면 이메일 서비스 공급업체에서 도메인을 확인할 수 있습니다. Google, Yahoo와 같은 거대 기술 기업에서는 이 프로토콜을 사용하여 피싱 및 스푸핑.

DKIM은 어떻게 작동하나요?

수신자의 서버는 이메일 헤더의 데이터와 도메인의 공식 DKIM 레코드를 사용하여 이메일 메시지의 진위 여부를 확인합니다. DKIM 서명 헤더는 이메일 상단에 배치됩니다. 발신자에 대한 정보를 전달하는 여러 개의 DKIM 태그가 있어 수신자의 서버가 이메일을 확인하기 위해 어디에서 확인해야 하는지 알 수 있습니다.

이러한 태그는 특정 값을 표시하는 정보 구성 요소로, 각각 이메일 본문에 대한 세부 정보를 나타냅니다. 모든 도메인 키에는 디지털 DKIM 서명을 암호화하는 데 사용되는 개인 키가 있습니다. 이 외에도 도메인의 DNS에 게시된 공개 키도 있습니다.

따라서 도메인에서 이메일을 보낼 때마다 이메일의 비공개 키가 공개 키와 일치해야 합니다. 그렇지 않으면 메시지가 수신자의 사서함에 도달하지 못합니다. 이 과정은 매우 빠르며 몇 초 이상 걸리지 않습니다. 하지만 DKIM 레코드를 생성하고 올바른 DKIM 인증 태그를 추가한 경우에만 작동합니다.

DKIM 기록의 태그는 무엇인가요?

DKIM 레코드 태그는 명령으로 사용되는 단일 문자로, 그 뒤에 등호가 붙습니다. 모든 문자에는 발신자에 대한 정보를 나타내는 특정 값을 지정하는 DKIM 태그가 있습니다. 각 태그에는 메시지를 암호화하는 데 사용된 공개 키의 위치에 대한 세부 정보가 포함되어 있습니다.

DKIM 태그 유형 

DKIM 태그를 '필수 태그'와 '선택 태그'로 분류할 수 있으며, 각 태그의 값은 DKIM 레코드를 생성하는 데 중요한 역할을 합니다. '필요 없음' 또는 '권장하지 않음'으로 분류되는 다른 DKIM 태그도 있습니다. 각 도메인의 유용성 또는 요구 사항에 따라 설정할 수 있습니다. DNS에 DKIM 레코드를 추가하는 동안 올바른 DKIM 인증 태그가 필요합니다. 이러한 태그에 대해 자세히 알아보세요.

필수 태그 

필수 DKIM 태그는 DKIM 서명 헤더에 매우 중요하므로 이 태그가 없으면 메시지가 확인 테스트를 통과하지 못합니다. 받는 사람의 받은 편지함에서 이 태그가 없는 이메일은 삭제됩니다. 

  • v= 사용 중인 DKIM 표준을 나타내는 버전 태그입니다. 이 값은 항상 1로 설정됩니다.
  • a= 이 DKIM 태그는 서명을 만드는 데 사용되는 암호화 알고리즘을 나타냅니다. 사용된 값은 rsa-sha256입니다. 컴퓨터의 CPU 성능이 저하된 경우 rsa-sha1을 사용할 수 있습니다. 그러나 보안상의 이유로 권장하지 않습니다. 
  • s= 도메인의 DNS에서 공개 키를 찾는 데 사용되는 선택기 레코드 이름을 나타냅니다. 이 필드에 이름 또는 숫자를 입력합니다.
  • d= 공개 키를 찾기 위해 선택기 레코드와 함께 사용된 도메인을 표시합니다. 이 값은 발신자가 사용한 도메인 이름과 동일합니다.
  • b= 이 DKIM 태그는 헤더의 해시 데이터에 사용됩니다. 일반적으로 DKIM 서명 초안을 작성할 때 h= 태그와 함께 사용됩니다. 항상 Base64로 인코딩됩니다. 
  • bh= 이메일의 계산된 해시가 있습니다. 이 값은 알고리즘에 의해 결정된 해시를 나타내는 문자열입니다.
  • h= 이 태그는 서명 알고리즘에 표시된 헤더를 나열하여 b=태그의 해시를 생성합니다. 이 값은 제거하거나 변경할 수 없습니다. 

선택적 태그

DKIM 서명 태그 외에도 몇 가지 선택적 태그가 있습니다. 즉, DKIM 서명에 이러한 태그가 누락되더라도 확인 시 오류가 발생하지 않습니다. 그러나 전문가들은 이메일 스푸핑을 방지하기 위해 이러한 태그를 사용할 것을 권장합니다. 

스푸퍼는 진짜 회사 이메일과 달리 시간 값을 할당하지 않습니다. 따라서 받은 편지함에서 발신자의 잘못된 시간 값을 발견하면 이메일이 완전히 거부될 가능성이 높습니다. 

추천 태그

수신자의 서버를 지원하는 권장 DKIM 레코드 태그를 사용하는 것이 좋습니다. 

  • g= 공개 키의 세분성으로 작동하며 그 값은 i=태그의 로컬 부분과 동일합니다. 별표(*)를 와일드카드로 입력할 수도 있습니다. 이 DKIM 태그는 서명 주소가 선택기 레코드를 사용하지 못하도록 차단합니다. 이 태그와 일치하지 않는 서명 주소가 있는 모든 이메일은 확인에 실패합니다. 
  • h= 허용되는 해시 알고리즘을 나타내며 특정 값은 'sha1' 및 'sha256'으로 설정됩니다. 이는 서명자와 검증자가 필요로 하는 값입니다.
  • k= 키 유형입니다. 기본값은 서명자와 검증자가 지원해야 하는 'rsa'로 설정되어 있습니다.
  • n= 관리자는 이 태그를 사용하여 사람이 읽을 수 있는 노트를 추가합니다.
  • t= 이메일이 전송된 시간을 보여주는 서명 타임스탬프로 작동하므로 중요한 태그입니다. 이 태그의 형식은 1970년 1월 1일 00:00:00(UTC)부터 초 단위로 숫자로 표시됩니다.
  • x= 이 태그는 서명의 만료일을 알려줍니다. 배달 날짜를 지정하여 t=태그를 보완합니다. 
  • t=y 도메인 테스트 서명을 지정하는 데 사용되며 DKIM을 처음 설정할 때 발신자가 사용합니다. 일부 사서함 제공업체는 테스트 모드에서 DKIM 서명을 간과하므로 이 태그를 사용하는 것이 좋습니다. 배포를 완료하기 전에 이 태그를 제거해야 합니다.
  • t=s는 t=y 태그를 대체합니다. i=태그를 사용하는 모든 DKIM 서명은 기본 도메인과 동일한 도메인 값을 가져야 한다고 명시되어 있습니다.

필수 사항 아님

DKIM 헤더를 처음 생성하는 경우에는 이러한 DKIM 태그가 필요하지 않습니다. DKIM 서명을 기술적이고 복잡하게 만드는 경향이 있습니다. 

  • c=는 표준화 알고리즘으로 작동하며 다른 사서함 공급업체로 전송 중인 이메일의 수정 수준을 설명하는 DKIM 레코드 태그입니다. 이 태그는 전송 중인 이메일의 사소한 수정을 방지하는 데 사용됩니다. 그렇지 않으면 확인에 실패할 수 있습니다. 변경 사항에는 공백 또는 줄 바꿈이 포함됩니다.

값은 value1 또는 value2로 설정됩니다. 값1은 헤더를 의미하고 값2는 메시지 본문을 의미합니다. 이메일의 수정 허용 범위를 지정하기 위해 '단순' 또는 '완화'로 설정할 수 있습니다. 

  • i=는 사용자 또는 상담원의 신원을 나타냅니다. 이 값은 웹사이트의 도메인 및 하위 도메인이 있는 이메일 주소로, d=태그와 동일합니다.

권장하지 않음

이 DKIM 태그는 모든 DKIM 헤더에 필요하지 않습니다. 아래 언급된 사양 중 하나를 제어해야 하는 경우에만 사용됩니다;

  • I= 본문 해시 계산에 사용되는 메시지의 문자 수를 지정합니다. 이 값이 없으면 메시지 본문 전체가 사용된다고 가정해야 합니다.
  • z= 메시지의 원본 헤더를 나열하고 사서함 제공업체에서 진단 확인 오류를 작동하는 데 사용됩니다.

출처 : DKIM 태그란 무엇인가요? (powerdmarc.com)

728x90
반응형