Internet Engineering Task Force (IETF)                          T. Reddy
Request for Comments: 7376                               R. Ravindranath
Category: Informational                                            Cisco
ISSN: 2070-1721                                               M. Perumal
                                                                A. Yegin
                                                          September 2014

Problems with Session Traversal Utilities for NAT (STUN) Long-Term Authentication for Traversal Using Relays around NAT (TURN)




This document discusses some of the security problems and practical problems with the current Session Traversal Utilities for NAT (STUN) authentication for Traversal Using Relays around NAT (TURN) messages.


Status of This Memo


This document is not an Internet Standards Track specification; it is published for informational purposes.

このドキュメントはInternet Standards Trackの仕様ではありません。情報提供を目的として公開されています。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741.

このドキュメントは、IETF(Internet Engineering Task Force)の製品です。これは、IETFコミュニティのコンセンサスを表しています。公開レビューを受け、インターネットエンジニアリングステアリンググループ(IESG)による公開が承認されました。 IESGによって承認されたすべてのドキュメントが、あらゆるレベルのインターネット標準の候補になるわけではありません。 RFC 5741のセクション2をご覧ください。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at


Copyright Notice


Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright(c)2014 IETF Trustおよびドキュメントの作成者として識別された人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents ( in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

この文書は、BCP 78およびIETF文書に関するIETFトラストの法的規定(の対象であり、この文書の発行日に有効です。これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、Trust Legal Provisionsのセクション4.eに記載されているSimplified BSD Licenseテキストが含まれている必要があり、Simplified BSD Licenseに記載されているように保証なしで提供されます。

Table of Contents


   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Notational Conventions  . . . . . . . . . . . . . . . . . . .   4
   3.  Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Problems with STUN Long-Term Authentication for TURN  . . . .   4
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     6.2.  Informative References  . . . . . . . . . . . . . . . . .   6
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8
1. Introduction
1. はじめに

Traversal Using Relays around NAT (TURN) [RFC5766] is a protocol that is often used to improve the connectivity of Peer-to-Peer (P2P) applications (as defined in Section 2.7 of [RFC5128]). TURN allows a connection to be established when one or both sides are incapable of a direct P2P connection. The TURN server is also a building block to support interactive, real-time communication using audio, video, collaboration, games, etc., between two peer web browsers using the Web Real-Time Communication (WebRTC) [WebRTC-Overview] framework.

NAT周囲のリレーを使用したトラバーサル(TURN)[RFC5766]は、ピアツーピア(P2P)アプリケーションの接続を改善するためによく使用されるプロトコルです([RFC5128]のセクション2.7で定義)。 TURNを使用すると、片側または両側で直接P2P接続ができない場合に接続を確立できます。 TURNサーバーは、Webリアルタイム通信(WebRTC)[WebRTC-Overview]フレームワークを使用して2つのピアWebブラウザー間でオーディオ、ビデオ、コラボレーション、ゲームなどを使用したインタラクティブなリアルタイム通信をサポートするためのビルディングブロックでもあります。

A TURN server is also used in the following scenarios:


o For privacy, users of WebRTC-based web applications may use a TURN server to hide host candidate addresses from the remote peer.

o プライバシー保護のため、WebRTCベースのWebアプリケーションのユーザーは、TURNサーバーを使用して、リモートピアからホスト候補のアドレスを隠すことができます。

o Enterprise networks deploy firewalls that typically block UDP traffic. When SIP user agents or WebRTC endpoints are deployed behind such firewalls, media cannot be sent over UDP across the firewall but must instead be sent using TCP (which causes a different user experience). In such cases, a TURN server deployed in the DeMilitarized Zone (DMZ) might be used to traverse firewalls.

oエンタープライズネットワークは、通常UDPトラフィックをブロックするファイアウォールを展開します。 SIPユーザーエージェントまたはWebRTCエンドポイントがこのようなファイアウォールの背後に配置されている場合、メディアはファイアウォールを越えてUDP経由で送信できませんが、代わりにTCPを使用して送信する必要があります(これによりユーザーエクスペリエンスが異なります)。このような場合、非武装地帯(DMZ)にデプロイされたTURNサーバーを使用して、ファイアウォールを通過できます。

o The use case explained in Section 3.3.5 of [WebRTC-Use-Cases] ("Simple Video Communication Service, enterprise aspects") refers to deploying a TURN server in the DMZ to audit all media sessions from inside an Enterprise premises to any external peer.

o [WebRTC-Use-Cases]のセクション3.3.5で説明されているユースケース(「シンプルビデオ通信サービス、エンタープライズアスペクト」)は、エンタープライズプレミス内から外部へのすべてのメディアセッションを監査するためにDMZにTURNサーバーをデプロイすることを指しますピア。

o A TURN server could also be deployed for RTP Mobility [TURN-Mobility], etc.

o TURNサーバーは、RTPモビリティ[TURN-Mobility]などにも展開できます。

o A TURN server may be used for IPv4-to-IPv6, IPv6-to-IPv6, and IPv6-to-IPv4 relaying [RFC6156].

o TURNサーバーは、IPv4-to-IPv6、IPv6-to-IPv6、およびIPv6-to-IPv4リレー[RFC6156]に使用できます。

o Interactive Connectivity Establishment (ICE) [RFC5245] connectivity checks using server reflexive candidates could fail when the endpoint is behind a NAT [RFC3235] that performs address-dependent mapping as described in Section 4.1 of [RFC4787]. In such cases, a relayed candidate allocated from the TURN server is used for media.

o [RFC4787]のセクション4.1で説明されているように、エンドポイントがアドレス依存のマッピングを実行するNAT [RFC3235]の背後にある場合、サーバー再帰候補を使用したインタラクティブ接続確立(ICE)[RFC5245]接続チェックが失敗する可能性があります。このような場合、メディアにはTURNサーバーから割り当てられた中継候補が使用されます。

Session Traversal Utilities for NAT (STUN) [RFC5389] specifies an authentication mechanism called the long-term credential mechanism. Section 4 of TURN [RFC5766] specifies that TURN servers and clients must implement this mechanism; Section 4 of TURN [RFC5766] also specifies that the TURN server must demand that all requests from the client be authenticated using this mechanism or that an equally strong or stronger mechanism for client authentication be used.

NAT用セッショントラバーサルユーティリティ(STUN)[RFC5389]は、長期資格情報メカニズムと呼ばれる認証メカニズムを指定しています。 TURN [RFC5766]のセクション4は、TURNサーバーとクライアントがこのメカニズムを実装する必要があることを指定しています。 TURN [RFC5766]のセクション4では、TURNサーバーが、このメカニズムを使用してクライアントからのすべてのリクエストを認証するか、クライアント認証に同等またはより強いメカニズムを使用することを要求する必要があることも指定しています。

In the above scenarios, applications would use the ICE protocol for gathering candidates. An ICE agent can use TURN to learn server reflexive and relayed candidates. If the TURN server requires that the TURN request be authenticated, then the ICE agent will use the long-term credential mechanism explained in Section 10 of [RFC5389] for authentication and message integrity. Section 10 of the TURN specification [RFC5766] explains the importance of the long-term credential mechanism to mitigate various attacks. Client authentication is essential to prevent unauthorized users from accessing the TURN server, and misuse of credentials could impose significant cost on the victim TURN server.

上記のシナリオでは、アプリケーションはICEプロトコルを使用して候補を収集します。 ICEエージェントは、TURNを使用して、サーバーの再帰候補および中継候補を学習できます。 TURNサーバーがTURNリクエストの認証を要求する場合、ICEエージェントは、認証とメッセージの整合性のために、[RFC5389]のセクション10で説明されている長期間の認証メカニズムを使用します。 TURN仕様[RFC5766]のセクション10では、さまざまな攻撃を軽減するための長期的な資格メカニズムの重要性について説明しています。権限のないユーザーがTURNサーバーにアクセスできないようにするためには、クライアント認証が不可欠です。資格情報の誤用により、被害者のTURNサーバーに多大なコストがかかる可能性があります。

This document focuses on listing security problems and practical problems with current STUN authentication for TURN so that it can serve as the basis for stronger authentication mechanisms.


An Allocate request is more likely than a Binding request to be identified by a server administrator as needing client authentication and integrity protection of messages exchanged. Hence, the issues discussed here regarding STUN authentication are applicable mainly in the context of TURN messages.


2. Notational Conventions
2. 表記規則

This document uses terminology defined in [RFC5389] and [RFC5766].


3. Scope
3. 範囲

This document can be used as input for designing solution(s) to address problems with the current STUN authentication for TURN messages.


4. Problems with STUN Long-Term Authentication for TURN
4. TURNのSTUN長期認証に関する問題

1. As described in [RFC5389], the long-term credential mechanism could provide to users a long-term credential in the form of a traditional "log-in" username and password; this credential would not change for extended periods of time. The key derived from the user credentials would be used to provide message integrity for every TURN request/response. However, an attacker that is capable of eavesdropping on a message exchange between a client and server can determine the password by trying a number of candidate passwords and checking to see if one of them is correct by calculating the message integrity using these candidate passwords and comparing them with the message integrity value in the MESSAGE-INTEGRITY attribute.

1. [RFC5389]で説明されているように、長期資格情報メカニズムは、従来の「ログイン」ユーザー名とパスワードの形式で長期資格情報をユーザーに提供できます。このクレデンシャルは長期間変更されません。ユーザー資格情報から導出されたキーは、すべてのTURN要求/応答にメッセージの整合性を提供するために使用されます。ただし、クライアントとサーバー間のメッセージ交換を傍受できる攻撃者は、複数の候補パスワードを試行し、これらの候補パスワードを使用してメッセージの整合性を計算し、比較することにより、それらの1つが正しいかどうかを確認することにより、パスワードを特定できます。 MESSAGE-INTEGRITY属性にメッセージ整合性値が含まれている。

2. When a TURN server is deployed in the DMZ and requires that requests be authenticated using the long-term credential mechanism as described in [RFC5389], the TURN server needs to be aware of the username and password to validate the message integrity of the requests and to provide message integrity for responses. This results in management overhead on the TURN server. Long-term credentials (username, realm, and password) need to be stored on the server side, using an MD5 hash over the credentials, which is not considered best current practice. [RFC6151] discusses security vulnerabilities of MD5 and encourages implementers not to use it. It is not possible to use STUN long-term credentials in implementations that are compliant with US FIPS 140-2 [FIPS-140-2], since MD5 isn't an approved algorithm.

2. TURNサーバーがDMZにデプロイされており、[RFC5389]で説明されているように、長期の認証メカニズムを使用してリクエストを認証する必要がある場合、TURNサーバーはユーザー名とパスワードを認識して、リクエストのメッセージの整合性を検証する必要があります。応答のメッセージ整合性を提供します。これにより、TURNサーバーの管理オーバーヘッドが発生します。長期的な資格情報(ユーザー名、レルム、パスワード)は、資格情報に対してMD5ハッシュを使用してサーバー側に保存する必要がありますが、これは現在のベストプラクティスとは見なされていません。 [RFC6151]はMD5のセキュリティの脆弱性について議論し、実装者がそれを使用しないように奨励します。 MD5は承認されたアルゴリズムではないため、US FIPS 140-2 [FIPS-140-2]に準拠する実装でSTUN長期資格情報を使用することはできません。

3. The long-term credential mechanism discussed in [RFC5389] specifies that the TURN client must include a username value in the USERNAME STUN attribute. An adversary snooping the TURN messages between the TURN client and server can identify the users involved in the call, resulting in privacy leakage. If TURN usernames are linked to real usernames, then privacy leakage will result, but in certain scenarios TURN usernames need not be linked to any real usernames given to users, as the usernames are just provisioned on a per-company basis.

3. [RFC5389]で説明されている長期的な認証メカニズムは、TURNクライアントがUSERNAME STUN属性にユーザー名の値を含める必要があることを指定しています。攻撃者がTURNクライアントとサーバーの間でTURNメッセージをスヌーピングすると、通話に関与しているユーザーを特定できるため、プライバシーが漏洩します。 TURNユーザー名が実際のユーザー名にリンクされている場合、プライバシー漏洩が発生しますが、ユーザー名は会社ごとにプロビジョニングされるだけなので、特定のシナリオでは、TURNユーザー名をユーザーに付与された実際のユーザー名にリンクする必要はありません。

4. STUN authentication relies on HMAC-SHA1 [RFC2104]. There is no mechanism for hash agility in the protocol itself, although Section 16.3 of [RFC5389] does discuss a plan for migrating to a more secure algorithm in case HMAC-SHA1 is found to be compromised.

4. STUN認証はHMAC-SHA1 [RFC2104]に依存しています。 [RFC5389]のセクション16.3は、HMAC-SHA1が侵害されていることが判明した場合のより安全なアルゴリズムへの移行計画について説明していますが、プロトコル自体にはハッシュの俊敏性のメカニズムはありません。

5. A man-in-the middle attacker posing as a TURN server challenges the client to authenticate, learns the USERNAME of the client, and later snoops the traffic from the client, thereby identifying user activity; this results in privacy leakage.

5. TURNサーバーを装った中間者攻撃者は、クライアントに認証を要求し、クライアントのUSERNAMEを学習し、後でクライアントからのトラフィックをスヌーピングして、ユーザーアクティビティを識別します。これによりプライバシーが漏洩します。

6. Hosting multiple realms on a single IP address is challenging with TURN. When a TURN server needs to send the REALM attribute in response to an unauthenticated request, it has no useful information for determining which realm it should send in the response, except the source transport address of the TURN request. Note that this is a problem with multi-tenant scenarios only; this may not be a problem when the TURN server is located in enterprise premises.

6. 単一のIPアドレスで複数のレルムをホストすることは、TURNでは困難です。 TURNサーバーが非認証リクエストに応答してREALM属性を送信する必要がある場合、TURNサーバーは、TURNリクエストのソーストランスポートアドレスを除いて、応答で送信するレルムを決定するための有用な情報を持ちません。これはマルチテナントシナリオでのみ問題になることに注意してください。 TURNサーバーが企業構内にある場合、これは問題にならない可能性があります。

7. In WebRTC, the JavaScript code needs to know the username and password to use in the W3C RTCPeerConnection API to access the TURN server. This exposes user credentials to the JavaScript code, which could be malicious; the malicious JavaScript code could then misuse or leak the credentials. If the credentials happen to be used for accessing services other than TURN, then the security implications are much larger.

7. WebRTCでは、JavaScriptコードは、TURNサーバーにアクセスするためにW3C RTCPeerConnection APIで使用するユーザー名とパスワードを知っている必要があります。これにより、ユーザー資格情報がJavaScriptコードに公開され、悪意のある可能性があります。悪意のあるJavaScriptコードは、資格情報を誤用または漏洩する可能性があります。認証情報がTURN以外のサービスへのアクセスに使用される場合、セキュリティへの影響ははるかに大きくなります。

5. Security Considerations
5. セキュリティに関する考慮事項

This document lists problems with current STUN authentication for TURN so that it can serve as the basis for stronger authentication mechanisms.


6. References
6. 参考文献
6.1. Normative References
6.1. 引用文献

[RFC5389] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing, "Session Traversal Utilities for NAT (STUN)", RFC 5389, October 2008, <>.

[RFC5389] Rosenberg、J.、Mahy、R.、Matthews、P。、およびD. Wing、「NAT用セッショントラバーサルユーティリティ(STUN)」、RFC 5389、2008年10月、<http://www.rfc-editor .org / info / rfc5389>。

[RFC5766] Mahy, R., Matthews, P., and J. Rosenberg, "Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)", RFC 5766, April 2010, <>.

[RFC5766] Mahy、R.、Matthews、P。、およびJ. Rosenberg、「NAT周りのリレーを使用したトラバーサル(TURN):NATのセッショントラバーサルユーティリティへのリレー拡張(STUN)」、RFC 5766、2010年4月、<http: //>。

[RFC6156] Camarillo, G., Novo, O., and S. Perreault, "Traversal Using Relays around NAT (TURN) Extension for IPv6", RFC 6156, April 2011, <>.

[RFC6156] Camarillo、G.、Novo、O.、S。Perreault、「IPv6のNAT(TURN)拡張に関するリレーを使用したトラバーサル」、RFC 6156、2011年4月、< / info / rfc6156>。

6.2. Informative References
6.2. 参考引用

[FIPS-140-2] NIST, "Security Requirements for Cryptographic Modules", FIPS PUB 140-2, May 2001, < publications/fips/fips140-2/fips1402.pdf>.

[FIPS-140-2] NIST、「暗号化モジュールのセキュリティ要件」、FIPS PUB 140-2、2001年5月、<>。

[RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997, <>.

[RFC2104] Krawczyk、H.、Bellare、M。、およびR. Canetti、「HMAC:Keyed-Hashing for Message Authentication」、RFC 2104、1997年2月、< rfc2104>。

[RFC3235] Senie, D., "Network Address Translator (NAT)-Friendly Application Design Guidelines", RFC 3235, January 2002, <>.

[RFC3235] Senie、D。、「Network Address Translator(NAT)-Friendly Application Design Guidelines」、RFC 3235、2002年1月、<>。

[RFC4787] Audet, F. and C. Jennings, "Network Address Translation (NAT) Behavioral Requirements for Unicast UDP", BCP 127, RFC 4787, January 2007, <>.

[RFC4787] Audet、F。およびC. Jennings、「ユニキャストUDPのネットワークアドレス変換(NAT)動作要件」、BCP 127、RFC 4787、2007年1月、< rfc4787>。

[RFC5128] Srisuresh, P., Ford, B., and D. Kegel, "State of Peer-to-Peer (P2P) Communication across Network Address Translators (NATs)", RFC 5128, March 2008, <>.

[RFC5128] Srisuresh、P.、Ford、B。、およびD. Kegel、「State of Peer-to-Peer(P2P)Communication through Network Address Translators(NATs)」、RFC 5128、2008年3月、<http://>。

[RFC5245] Rosenberg, J., "Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols", RFC 5245, April 2010, <>.

[RFC5245] Rosenberg、J。、「Interactive Connectivity Establishment(ICE):A Protocol for Network Address Translator(NAT)Traversal for Offer / Answer Protocols」、RFC 5245、2010年4月、<http://www.rfc-editor。 org / info / rfc5245>。

[RFC6151] Turner, S. and L. Chen, "Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms", RFC 6151, March 2011, <>.

[RFC6151]ターナー、S。およびL.チェン、「MD5メッセージダイジェストおよびHMAC-MD5アルゴリズムの更新されたセキュリティに関する考慮事項」、RFC 6151、2011年3月、< / rfc6151>。

[TURN-Mobility] Wing, D., Patil, P., Reddy, T., and P. Martinsen, "Mobility with TURN", Work in Progress, draft-wing-tram-turn-mobility-02, September 2014.

[TURN-Mobility] Wing、D.、Patil、P.、Reddy、T。、およびP. Martinsen、「TURN with Mobility」、Work in Progress、draft-wing-tram-turn-mobility-02、2014年9月。

[WebRTC-Overview] Alvestrand, H., "Overview: Real Time Protocols for Browser-based Applications", Work in Progress, draft-ietf-rtcweb-overview-11, August 2014.

[WebRTC-Overview] Alvestrand、H。、「Overview:Real Time Protocols for Browser-based Applications」、Work in Progress、draft-ietf-rtcweb-overview-11、2014年8月。

[WebRTC-Use-Cases] Holmberg, C., Hakansson, S., and G. Eriksson, "Web Real-Time Communication Use-cases and Requirements", Work in Progress, draft-ietf-rtcweb-use-cases-and-requirements-14, February 2014.

[WebRTCの使用例] Holmberg、C.、Hakansson、S。、およびG. Eriksson、「Web Real-Time Communication Use-cases and Requirements」、Work in Progress、draft-ietf-rtcweb-use-cases-and -要件-14、2014年2月。



The authors would like to thank Dan Wing, Harald Alvestrand, Sandeep Rao, Prashanth Patil, Pal Martinsen, Marc Petit-Huguenin, Gonzalo Camarillo, Brian E. Carpenter, Spencer Dawkins, Adrian Farrel, and Simon Perreault for their comments and reviews.

著者は、コメントとレビューを提供してくれたDan Wing、Harald Alvestrand、Sandeep Rao、Prashanth Patil、Pal Martinsen、Marc Petit-Huguenin、Gonzalo Camarillo、Brian E. Carpenter、Spencer Dawkins、Adrian Farrel、Simon Perreaultに感謝します。

Authors' Addresses


Tirumaleswar Reddy Cisco Systems, Inc. Cessna Business Park, Varthur Hobli Sarjapur Marathalli Outer Ring Road Bangalore, Karnataka 560103 India

Tirumaleswar Reddy Cisco Systems、Inc. Cessna Business Park、Varthur Hobli Sarjapur Marathalli Outer Ring Road Bangalore、Karnataka 560103 India


Ram Mohan Ravindranath Cisco Systems, Inc. Cessna Business Park, Varthur Hobli Sarjapur Marathalli Outer Ring Road Bangalore, Karnataka 560103 India

Ram Mohan Rabindranath Cisco Systems、vol。 Sassna Business Park、Varthur Hobli Sarajpur Marathalli Outer Ring Road Bangalore、Karnatakaインド


Muthu Arul Mozhi Perumal Ericsson Ferns Icon Doddanekundi, Mahadevapura Bangalore, Karnataka 560037 India

Mutu Arul Mozhi Perumal Reichsvn Ferns Icon Palliyankundi、Mahadevapur Bangalore、Karnataka ೫೬೦೦೩೭インド


Alper Yegin Samsung Istanbul Turkey

Alper Yegin Samsungイスタンブールトルコ