Subject: [secdir] Secdir review of draft-ietf-mediactrl-sip-control-framework-04

From: Brian Weis <[email-masked]>
Date: Fri, 10 Oct 2008 13:02:21 -0700

I have reviewed this document as part of the security directorate's  
ongoing effort to review all IETF documents being processed by the  
IESG.  These comments were written primarily for the benefit of the  
security area directors. Document editors and WG chairs should treat  
these comments just like any other review comments.

This document details mechanisms for establishing, using, and  
terminating a reliable transport connection channel using SIP and the  
Session Description Protocol offer/answer [RFC3264] exchange. The  
connection channel is setup via a separate SIP session, and the two  
sessions are bound together via an identifier (cfw-id). Peer  
authentication and transport security are the primary security  
considerations for this mechanism. To address these concerns, the  
document requires an implementation to support TLS and recommends its  
use. The cfw-id has some security ramifications in that it is used to  
identify particular sessions, bind sessions together, and is used to  
identify a particular application session.

Specific security related comments on the document follow.

Section 4.1. This section mandates an implementation support TLS, but  
it isn't clear whether this  mandate is restricted to the Control  
Channel or includes the Control SIP Dialog. I would expect that it  
intends to cover both protocols. Please clarify hear and in Section  
11.2.

Section 6.1. The first paragraph says "The transaction identifier  
MUST be globally unique over space and time with at least 64 bits of   
randomness." This seems to be an important requirement, and it's  
rationale should be described here or in the security considerations.  
For example, perhaps the intention was for a purely random number to  
mitigate one client  from spoofing another client within a server  
application.

Maintaining hard-to-guess identities may be especially important  
given that a "session" consists of two distinct protocols between the  
client and server, where the server application uses the cfw-id to  
join their state.

Section 10. TLS is recommended by this document. If feasible, the  
example in this section should include it.

Section 11. This paragraph says "Channel Framework is designed to  
comply with the security-related requirements documented in the  
control protocol requirements document[RFC5167]." The requirements  
being referenced should be named (e.g., REQ-MCP-11? REQ-MCP-12?).

Section 11.1. Regarding the sentence "the Media Channel Control  
Framework should make full use of mechanism provided by the SIP  
protocol", you should state which mechanisms and what protections  
they provide.

Section 11.2. Regarding the phrase "Clients and servers must be  
properly authenticated ....". This should say "authenticated and  
authorized".

This section lists "both confidentiality and integrity". Replay  
protection is another important transport level protection that  
should be added to the list.

Section 11.3. Is the text "It should be noted that this document does  
not specifically carry any specific mechanism to overcome such  
conflicts but will provide a summary of how it can be achieved."  
referring to the following paragraph? If so, it would be helpful to  
say so.

One additional policy consideration worth mentioning would be a need  
for an application to maintain which cfw-id is associated with which  
socket identifier, and verify that the cfw-id received by a client  
was correct for that socket. This would protect a server against one  
client spoofing another client. (Even if mutual TLS authentication is  
used on the control channel, it does not provide any assurance as to  
the correctness of the application data carried within the TLS  
session, including the cfw-id.)

-- 
Brian Weis
Router/Switch Security Group, ARTG, Cisco Systems
Telephone: +1 408 526 4796
Email: [email-masked]

_______________________________________________
secdir mailing list
[email-masked]
https://mailman.mit.edu/mailman/listinfo/secdir
_______________________________________________
secdir mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/secdir

---

From: "Chris Boulton" <[email-masked]>
Date: Mon, 13 Oct 2008 14:38:55 +0100

[Chris Boulton] Thanks for the great review.  Comments in-line.

Chris.

[Chris Boulton] Clarified intention in 4.1 and added appropriate text to
section 11.1 which deals with session management.

[Chris Boulton] Added some text to this section relating to uniqueness
across clusters and avoiding clashes.

[Chris Boulton] Well, the document recommends the use of TLS except when
in a closed environment.  In reality the majority of cases will involve
application servers and media servers in a protected environment.  I
would like to keep the example in this document as simple as possible
but certainly think that we should include TLS examples in the proposed
'Call Flows' document that is currently being worked.

[Chris Boulton] Done.

[Chris Boulton] Done as by-product of earlier point.

[Chris Boulton] Done.

[Chris Boulton] Done.

[Chris Boulton] Added text.