2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

TSIG

작성: sangseek | 게시 날짜: 2026/01/14 | 조회수: 70
[ 편집불가 ]

TSIG은 "Transaction SIGnature"의 약자로, DNS 메시지의 출처 인증과 무결성 검증을 위해 사용되는 메시지 수준의 인증 메커니즘입니다. 주요 내용은 다음과 같습니다. 무엇을 하는가 - DNS 요청과 응답에 대해 발신자 인증과 메시지 무결성(변조 방지)을 제공합니다. 기밀성(암호화)은 제공하지 않습니다. - 주로 DNS 존 전송(AXFR/IXFR), 동적 업데이트(RFC 2136), DNS NOTIFY 등 클라이언트-서버 간 신뢰가 필요한 작업에서 사용됩니다. 작동 원리 - 송신자와 수신자는 사전에 공유한 비밀키(공유 비밀, shared secret)와 알고리즘(HMAC 기반)을 공유합니다. - 각 DNS 메시지에 대해 HMAC(메시지 인증 코드)을 계산하여 메시지에 첨부(추가 레코드로)합니다. 수신자는 동일한 키와 알고리즘으로 MAC을 재계산해 일치 여부로 인증합니다. - 재생 공격 방지를 위해 타임스탬프(“time signed”)와 허용 오차("fudge")를 사용하므로 양쪽 시스템의 시계가 크게 벗어나면 인증 실패가 발생할 수 있습니다. TSIG 레코드(메시지에 추가되는 추가 레코드)의 주요 필드 - 키 이름: 사용되는 공유키의 이름(일반적으로 DNS 이름 형식). - 알고리즘: HMAC-MD5, HMAC-SHA1, HMAC-SHA256 등 사용되는 해시/HMAC 알고리즘. - time signed: 메시지가 서명된 시각(UTC 기준의 초 카운트). - fudge: 타임스탬프 허용 오차(초). - MAC (Signature): 계산된 메시지 인증 코드와 그 길이. - original ID: 원래 DNS 메시지 ID(응답/연결일치 검증용). - error: 처리 결과 코드(예: 키 불일치, 서명 불일치 등). - other data: 확장 정보가 필요할 때 사용. 설정 및 운영 - 키는 사전에 수동으로 배포하거나, Kerberos 기반의 GSS-TSIG(RFC 3645) 같은 기법으로 동적으로 교환할 수 있습니다. - 구현 예: BIND, PowerDNS 등 주요 DNS 서버 소프트웨어는 TSIG을 지원합니다. 보통 서버와 클라이언트에 동일한 키 이름과 비밀을 설정합니다. 보안 고려사항 및 한계 - 전통적으로 HMAC-MD5가 널리 쓰였지만 MD5 취약점 때문에 SHA 기반(HMAC-SHA1, HMAC-SHA256 등)을 권장합니다. - TSIG은 메시지 무결성과 인증만 제공하며 기밀성(내용 암호화)은 제공하지 않습니다. - 재생 공격 방지에 타임스탬프를 사용하므로 시계 동기화가 중요합니다. - 스케일링: 공유 비밀 기반이라 다수의 클라이언트/서버 간 대규모 배포에는 관리 부담이 큽니다(키 관리 문제). - DNS 데이터 자체의 지속적 서명·검증(권한 검증)은 DNSSEC이 더 적합합니다. TSIG은 주로 통신 채널의 인증용입니다. 표준 문서 - TSIG은 RFC 2845에 정의되어 있으며, Kerberos 기반 확장은 RFC 3645에서 다룹니다. 요약 - TSIG은 DNS 메시지 수준에서 HMAC 기반으로 송수신자 인증과 무결성 검증을 제공하는 메커니즘으로, 공유 비밀을 사용해 DNS 작업(존 전송, 동적 업데이트 등)을 안전하게 수행하도록 돕지만 키 관리·알고리즘 선택·시계 동기화 등의 주의가 필요합니다.
내용이 부정하다면 싫어요를 누르세요.