Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
TSIG

TSIG (transaction signature) is a computer-networking protocol defined in RFC 2845 that enables the Domain Name System (DNS) to authenticate updates to its database, commonly used for Dynamic DNS or secondary DNS servers. It relies on shared secret keys and one-way hashing to securely verify each endpoint's authorization. Since DNS updates can arrive via an insecure channel, TSIG ensures authenticity and integrity of requests, including a timestamp to prevent replay attacks, which requires accurate time synchronization often provided by the Network Time Protocol. DNS updates typically use UDP for lower overhead, though servers support both UDP and TCP.

We don't have any images related to TSIG yet.
We don't have any YouTube videos related to TSIG yet.
We don't have any PDF documents related to TSIG yet.
We don't have any Books related to TSIG yet.
We don't have any archived web articles related to TSIG yet.

Implementation

An update, as specified in RFC 2136, is a set of instructions to a DNS server. These include a header, the zone to be updated, the prerequisites that must be satisfied, and the record(s) to be updated. TSIG adds a final record, which includes a timestamp and the hash of the request. It also includes the name of the secret key that was used to sign the request. RFC 2535 has recommendations on the form of the name.

The response to a successful TSIG update will also be signed with a TSIG record. Failures are not signed to prevent an attacker from learning anything about the TSIG key using specially crafted update "probes".

The nsupdate program can use TSIG to do DNS updates.

The TSIG record is in the same format as the other records in the update request. The meaning of the fields is described in RFC 1035.

TSIG record fields
FieldBytesValueDescription
NAMEMax. 256VariesKey name; identifies key on both client and server
TYPE2TSIG (250)
CLASS2ANY (255)
TTL40TSIG records must not be cached
RDLENGTH2VariesLength of RDATA field
RDATARDLENGTHVariesStructure containing the timestamp, algorithm and hash data

Alternatives to TSIG

Although TSIG is widely deployed, there are several problems with the protocol:

  • It requires distributing secret keys to each host which must make updates.
  • Although still in common usage, the HMAC-MD5 digest is no longer considered very secure. HMAC-SHA256 is preferred.

As a result, a number of alternatives and extensions have been proposed.

  • RFC 2137 specifies an update method using a public key "SIG" DNS record. A client holding the corresponding private key can sign the update request. This method matches the DNSSEC method for secure queries. However, this method is deprecated by RFC 3007.
  • In 2003, RFC 3645 proposed extending TSIG to allow the Generic Security Service (GSS) method of secure key exchange, eliminating the need for manually distributing keys to all TSIG clients. The method for distributing public keys as a DNS resource record (RR) is specified in RFC 2930, with GSS as one mode of this method. A modified GSS-TSIG - using the Windows Kerberos Server - was implemented by Microsoft Windows Active Directory servers and clients called Secure Dynamic Update. In combination with poorly configured DNS (with no reverse lookup zone) using RFC 1918 addressing, reverse DNS updates using this authentication scheme are forwarded en masse to the root DNS servers and thus increase the traffic to root DNS servers. There is an anycast group which deals with this traffic to take it away from the root DNS servers.12
  • RFC 2845 defines TSIG, specifies only one allowed hashing function, the 128-bit HMAC-MD5, which is no longer considered to be highly secure. RFC 4635 was circulated to allow RFC 3174 Secure Hash Algorithm (SHA1) hashing and FIPS PUB 180-2 SHA-2 hashing to replace MD5. The 160-bit and 256-bit digests generated by SHA1 and SHA-2 are more secure than the 128-bit digest generated by MD5.
  • RFC 2930 defines TKEY, a DNS record used to distribute keys automatically from a DNS server to DNS clients.
  • RFC 3645 defines GSS-TSIG, which uses gss-api and TKEY to distribute keys automatically in gss-api mode.
  • The DNSCurve proposal has many similarities to TSIG.

See also

  • RFC 2136 Dynamic Updates in the Domain Name System (DNS UPDATE)
  • RFC 2845 Secret Key Transaction Authentication for DNS (TSIG)
  • RFC 2930 Secret Key Establishment for DNS (TKEY RR)
  • RFC 3007 Secure Domain Name System (DNS) Dynamic Update
  • RFC 3645 Generic Security Service Algorithm for Secret Key Transaction Authentication for DNS (GSS-TSIG)
  • RFC 3174 US Secure Hash Algorithm 1
  • RFC 4635 HMAC SHA TSIG Algorithm Identifiers
  • RFC 8945 Secret Key Transaction Authentication for DNS (TSIG)

References

  1. Abley, J.; Sotomayor, W. (May 2015). "RFC 7534 — AS112 Nameserver Operations". doi:10.17487/RFC7534. Retrieved 2017-12-29. {{cite journal}}: Cite journal requires |journal= (help) https://tools.ietf.org/html/rfc7534

  2. "AS112 Project Overview", retrieved 2017-12-29. https://www.as112.net