TSIG 【Transaction Signature】 トランザクション署名
概要
TSIG(Transaction Signature)とは、DNSで送受信されるメッセージにデジタル署名を付加し、送信元のDNSサーバを認証する技術。プライマリDNSサーバからセカンダリDNSサーバへのゾーン転送などで用いられる。TSIGではメッセージを送受信するDNSサーバ間で、あらかじめ秘密の署名鍵を共有しておく。メッセージを送信する側はメッセージの内容と署名鍵を元にハッシュ関数で固定長の署名データを作成し、メッセージに添付して送信する。
受信側では共有された署名鍵に基づいて受け取ったメッセージの内容から同じ手順でハッシュ値を算出し、添付された署名データに一致すれば相手は同じ署名鍵を知っていることを確認することができる。算出元データにはタイムスタンプが含まれるため、同じ内容のメッセージでも毎回署名は異なる。
TSIGによりDNSサーバの認証を行うことができ、DNSサーバ間でゾーン情報を複製するゾーン転送で、攻撃者がプライマリサーバになりすまして偽の情報を共有させる攻撃を防ぐことができる。暗号化の機能はないため、メッセージは平文で送受信される。
TSIGはIETFによって標準化されており、初版のRFC 2845ではハッシュ関数として128ビットのHMAC-MD5のみが規定されたが、その後MD5は十分安全ではなくなったため、RFC 4635では160ビットのSHA-1または256ビットのSHA-2によるハッシュ化を追加し、安全性の向上を図っている。また、RFC 3645では事前に安全な手段で秘密鍵を共有しなくて済むよう、GSS-APIを用いて公開鍵暗号の鍵交換を行う手法を規定している。
(2023.10.18更新)