RFC 5389 PDF

Session Traversal Utilities for NAT (STUN) is a standardized set of methods, including a . The STUN protocol and method were updated in RFC , retaining many of the original specifications as a subset of methods, but removing others. 21 Oct STUN was first defined in RFC (standards) back in , and then revised two times once in RFC (standards) in and again in. Network Working Group J. Rosenberg Request for Comments: Cisco Obsoletes: R. Mahy Category: Standards Track P. Matthews Unaffiliated D.

Author: Misar Meshakar
Country: Guinea-Bissau
Language: English (Spanish)
Genre: Business
Published (Last): 12 September 2006
Pages: 308
PDF File Size: 13.59 Mb
ePub File Size: 5.79 Mb
ISBN: 759-6-13658-981-4
Downloads: 46130
Price: Free* [*Free Regsitration Required]
Uploader: Samushura

A STUN agent handles unknown comprehension-required and comprehension-optional attributes differently.

However, it can only be launched against targets for which packets from the STUN server to the target pass through the attacker, limiting the cases in which it is possible.

For example, when STUN is used to a basic STUN server to discover a server reflexive candidate for usage with ICE, authentication and message integrity are not required since these attacks are detected during the connectivity check phase.

The choice of the MD5 hash was made because of the existence rgc legacy databases that store passwords in that form. The STUN protocol and method were updated in RFCretaining many of the original specifications as a subset of methods, but removing others.

M11 through M0 represent a bit encoding of the method.

Receivers MUST ignore these bits. To facilitate processing, the class of the error code the hundreds digit is encoded separately from the rest of the code, as shown in Figure 7. Following the STUN fixed portion of the header are zero or more attributes. When there is an intervening NAT between the client and the other host, the reflexive transport address represents the mapped address allocated to the client on the public side of the NAT.


STUN – Wikipedia

This exploitation is not very interesting for the attacker. As with the attack in Section Moreover, any attacker that can mount the attack could also deny service to the client by other means, such as preventing the client from receiving any response from the STUN server, or even a DHCP server. The message type field is decomposed further into the following structure: Views Read Edit View history.

Resends of the same request reuse the same transaction ID, but the client MUST choose a new transaction ID for new transactions unless the new request is bit-wise identical to the previous request and sent from the same transport 5398 to the same IP address. Changes since RFC C1 and C0 represent a 2-bit encoding of the class. Although there are four message 5839, there are only two types of transactions in STUN: As described in Section 14STUN usages describe when authentication and message integrity are needed.

Some NAT behavior may restrict peer connectivity even when the public binding is known. Receiving a Request or Indication The basic protocol operates essentially as follows.


Two authentication mechanisms, the long-term credential mechanism and the short-term credential mechanism, are defined in this specification. In these usages, there must be a way to inspect a packet and determine if it is a STUN packet or not. This document is subject to the rights, licenses and 539 contained in BCP 78and except as set forth therein, the authors retain all their rights. These attacks are detected for both requests and responses through the message-integrity mechanism, using either a short-term or long-term credential.


All fields must be in network byte order. In some cases, a usage will require extensions to STUN.

It consists of an 8-bit address family and a bit port, followed by a fixed-length value representing the IP address. The specific scope of a short-term credential is defined by the application usage.

It is also important to note that the HMAC is done using a key that is itself computed using an MD5 of the user’s password. The connectivity checks themselves, however, require protection for proper operation of ICE overall.

A username and associated password that represent a shared secret between client and server. It is implemented as a light-weight client-server protocol, requiring only simple query and response components with a third-party server located on the common, easily accessible network, typically the Internet.

In common situations, modification of the reflexive address by an on-path attacker is easy to do. For example, if the username was ‘user’, the realm was ‘realm’, and the password was ‘pass’, then the byte HMAC key would be the result of performing an MD5 hash on the string ‘user: This would, in theory, break backwards compatibility.

Eavesdropping In this attack, the attacker forces the client to use a reflexive address that routes to itself. Private network 2 connects to the public Internet through NAT 2.

See the rules in Section 7. In [ RFC ], this field was padded to 32 by duplicating the last attribute.