Re: [secdir] Security review of draft-ietf-sipcore-6665-clarification-00

"Ben Campbell" <> Thu, 25 June 2015 20:35 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 9AC2C1AD066; Thu, 25 Jun 2015 13:35:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id eUO6U0vrC9D8; Thu, 25 Jun 2015 13:35:30 -0700 (PDT)
Received: from ( [IPv6:2001:470:d:1130::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 1E7571AD062; Thu, 25 Jun 2015 13:35:30 -0700 (PDT)
Received: from [] ( []) (authenticated bits=0) by (8.15.1/8.14.9) with ESMTPSA id t5PKZFD3086541 (version=TLSv1 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Thu, 25 Jun 2015 15:35:25 -0500 (CDT) (envelope-from
X-Authentication-Warning: Host [] claimed to be []
From: "Ben Campbell" <>
To: "Hilarie Orman" <>
Date: Thu, 25 Jun 2015 15:35:14 -0500
Message-ID: <>
In-Reply-To: <>
References: <>
MIME-Version: 1.0
Content-Type: text/plain; format=flowed
X-Mailer: MailMate (1.9.1r5084)
Archived-At: <>
Cc: Kathleen Moriarty <>,,,
Subject: Re: [secdir] Security review of draft-ietf-sipcore-6665-clarification-00
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Security Area Directorate <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 25 Jun 2015 20:35:31 -0000


I believe Adam is on vacation, or otherwise offline. Thus I will attempt 
a response, inline:



On 15 Jun 2015, at 13:48, Hilarie Orman wrote:


> SIP is big, very big, ...

Yes. Yes, it is. :-)

> ... and I've not even come close to reading all the
> defining documents.  Thus, I'm on shaky ground here.  I believe that a
> GRUU stands for a collection of contact handles for an individual,
> and it is thus an identifier for a protocol entity.
> The clarification addresses when to use GRUUs, and the answer is
> something like "for all dialogs, unless the dialog is forbidden."
> The clarification emphasizes that it applies to INVITE dialogs.
> According to the text, implementers have not always used a GRUU
> as a local target.  Is this deliberate or accidental?  Is there
> some perceived advantage to avoiding GRUUs for INVITE?  If so,
> can the clarification explain why it is a misconception?

I think it falls more to accidental in this particular case. That is, 
the original text in RFC 6665 was interpreted by some to only apply to 
SUBSCRIBE-created dialogs. That was not the intent.

> I don't really understand why GRUUs are to be avoided for forbidden
> dialogs.  Perhaps it is an optimization that would be obvious to
> a skilled SIP implementor.

It's the other way around. It's not that GRUUs are to be avoided--it's 
that if the local contact for a dialog is _not_ a GRUU, then any request 
that might create a subscription to the dialog's state is forbidden.

> Beyond that, I am not at all sure about the effect of GRUUs on the
> overall security of the protocol.  If they are used for all dialogs,
> might that open the door to some sort of amplication attack?  Does
> it allow some sort of probing that could widen the attack surface?
> I would like to see a sentence or two in the security considerations
> explaining why not.

This draft does not change the intended use of GRUUs described in RFC 
6665. It's only purpose is to clarify that intent. Thus the security 
considerations already in RFC6665 should be sufficient. (If for some 
reason they are not sufficient, that's a different problem, and should 
be addressed separately from this draft.)

> An editorial comment about the text "... to allow you to send ...".
> "You" is a confusing informality in a protocol description.  The
> formal name of the role ("notifier"?) should be used.

The "you" here doesn't refer to the notifier. It refers to any UA in the 
abstract. While a more formal construct might be "allow one to send" or 
even "allow SIP UAs to send", I'm inclined to leave it as is.