HOME

TheInfoList



OR:

TSIG (transaction signature) is a computer-networking protocol defined in RFC 2845. Primarily it enables the
Domain Name System The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned to ...
(DNS) to authenticate updates to a DNS database. It is most commonly used to update
Dynamic DNS Dynamic DNS (DDNS) is a method of automatically updating a name server in the Domain Name System (DNS), often in real time, with the active DDNS configuration of its configured hostnames, addresses or other information. The term is used to desc ...
or a secondary/slave DNS server. TSIG uses
shared secret In cryptography, a shared secret is a piece of data, known only to the parties involved, in a secure communication. This usually refers to the key of a symmetric cryptosystem. The shared secret can be a password, a passphrase, a big number, or a ...
keys and one-way hashing to provide a cryptographically secure means of authenticating each endpoint of a connection as being allowed to make or respond to a DNS update. Although queries to DNS may usually be made without authentication, updates to DNS must be authenticated, since they make lasting changes to the structure of the Internet naming system. As the update request may arrive via an
insecure channel In cryptography, a secure channel is a means of data transmission that is resistant to overhearing and tampering. A confidential channel is a means of data transmission that is resistant to overhearing, or eavesdropping (e.g., reading the conten ...
(the Internet), one must take measures to ensure the authenticity and integrity of the request. The use of a key shared by the client making the update and the DNS server helps to ensure the authenticity and integrity of the update request. A one-way hashing function serves to prevent malicious observers from modifying the update and forwarding on to the destination, thus ensuring integrity of the message from source to destination. A timestamp is included in the TSIG protocol to prevent recorded responses from being reused, which would allow an attacker to breach the security of TSIG. This places a requirement on dynamic DNS servers and TSIG clients to contain an accurate clock. Since DNS servers are connected to a network, the
Network Time Protocol The Network Time Protocol (NTP) is a networking protocol for clock synchronization between computer systems over packet-switched, variable- latency data networks. In operation since before 1985, NTP is one of the oldest Internet protocols in c ...
can provide an accurate time source. DNS updates, like queries, are normally transported via UDP since it requires lower overhead than TCP. However, DNS servers support both UDP and TCP requests.


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 nsupdate is a computer network maintenance utility used by network administrators to instruct the name server of a DNS zone to update its database. The name server might be local to a domain or, with appropriate authentication and permission prov ...
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.


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 Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic alg ...
"SIG" DNS record. A client holding the corresponding private key can sign the update request. This method matches the
DNSSEC The Domain Name System Security Extensions (DNSSEC) are a suite of extension specifications by the Internet Engineering Task Force (IETF) for securing data exchanged in the Domain Name System (DNS) in Internet Protocol (IP) networks. The protocol ...
method for secure queries. However, this method is deprecated by RFC 3007. * In , 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 Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
Active Directory Active Directory (AD) is a directory service developed by Microsoft for Windows domain networks. It is included in most Windows Server operating systems as a set of processes and services. Initially, Active Directory was used only for centralize ...
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 Anycast is a network addressing and routing methodology in which a single destination IP address is shared by devices (generally servers) in multiple locations. Routers direct packets addressed to this destination to the location nearest the se ...
group which deals with this traffic to take it away from the root DNS servers."AS112 Project Overview"
retrieved 2017-12-29.
* 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 SHA-2 (Secure Hash Algorithm 2) is a set of cryptographic hash functions designed by the United States National Security Agency (NSA) and first published in 2001. They are built using the Merkle–Damgård construction, from a one-way compression ...
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 TKEY (transaction key) is a record type of the Domain Name System. TKEY RRs can be used in a number of different modes to establish shared keys between a DNS resolver and server. TKEY record format Mode field values * 0 - Reserved * 1 - Server ...
, a
DNS record The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned t ...
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 DNSCurve is a proposed secure protocol for the Domain Name System (DNS), designed by Daniel J. Bernstein. Description DNSCurve uses Curve25519 elliptic curve cryptography to establish keys used by Salsa20, paired with the message authentication ...
proposal has many similarities to TSIG.


See also

*
List of DNS record types This list of DNS record types is an overview of resource records (RRs) permissible in zone files of the Domain Name System The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resour ...


References


External links

* Dynamic Updates in the Domain Name System (DNS UPDATE) * Secret Key Transaction Authentication for DNS (TSIG) * Secret Key Establishment for DNS (TKEY RR) * Generic Security Service Algorithm for Secret Key Transaction Authentication for DNS (GSS-TSIG) * US Secure Hash Algorithm 1 * HMAC SHA TSIG Algorithm Identifiers * {{IETF RFC, 8945 Secret Key Transaction Authentication for DNS (TSIG) Internet Standards Internet protocols Domain Name System