[Sip] Event Lists: Back-End Credentials

Adam Roach <adam@nostrum.com> Thu, 21 October 2004 19:40 UTC

Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA11713 for <sip-web-archive@ietf.org>; Thu, 21 Oct 2004 15:40:57 -0400 (EDT)
Received: from megatron.ietf.org ([132.151.6.71]) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1CKj0e-0004Tp-FU for sip-web-archive@ietf.org; Thu, 21 Oct 2004 15:54:05 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CKidi-0004yO-6M; Thu, 21 Oct 2004 15:30:22 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CKiYd-0000go-5y for sip@megatron.ietf.org; Thu, 21 Oct 2004 15:25:07 -0400
Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA10108 for <sip@ietf.org>; Thu, 21 Oct 2004 15:25:05 -0400 (EDT)
Received: from magus.nostrum.com ([69.5.195.2] ident=root) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1CKilI-00048Z-PD for sip@ietf.org; Thu, 21 Oct 2004 15:38:13 -0400
Received: from [192.168.0.111] (adsl-209-30-28-252.dsl.rcsntx.swbell.net [209.30.28.252]) (authenticated bits=0) by magus.nostrum.com (8.12.11/8.12.11) with ESMTP id i9LJOw6E081014 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <sip@ietf.org>; Thu, 21 Oct 2004 14:25:00 -0500 (CDT) (envelope-from adam@nostrum.com)
Message-ID: <41780D08.3090007@nostrum.com>
Date: Thu, 21 Oct 2004 14:24:56 -0500
From: Adam Roach <adam@nostrum.com>
User-Agent: Mozilla Thunderbird 0.8 (Windows/20040913)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: sip@ietf.org
X-Enigmail-Version: 0.86.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 4.6 (++++)
X-Scan-Signature: 52f7a77164458f8c7b36b66787c853da
Content-Transfer-Encoding: 7bit
Subject: [Sip] Event Lists: Back-End Credentials
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:sip@ietf.org>
List-Help: <mailto:sip-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=subscribe>
Sender: sip-bounces@ietf.org
Errors-To: sip-bounces@ietf.org
X-Spam-Score: 4.6 (++++)
X-Scan-Signature: 92df29fa99cf13e554b84c8374345c17
Content-Transfer-Encoding: 7bit

During IESG review of draft-ietf-simple-event-list-05, the IESG raised a 
concern that section 7.1 does not specify a mandatory-to-implement 
mechanism for transfer of a secret to the RLS. This secret transfer is 
necessary under some circumstances for the purposes of authenticating on 
the users behalf for back-end subscriptions.

There is no clear-cut solution to this problem. The options that I've 
been able to think of -- and there are almost certainly more -- are as 
follows:

    * Make HTML forms mandatory

    The current example in the draft is to send the credentials in an
    HTML form over HTTP. Making this mandatory has the obvious drawback
    that it requires HTML browsers in all devices that make use of event
    lists. This is probably not an acceptable requirement.

    * Disallow back-end subscriptions altogether

    For this solution, the list server would pass back the resource list
    in notifications, along with state for any locally managed states.
    The client would be responsible for sending subscriptions for the
    state for any resources in the list that are not managed by the RLS.
    This defeats some of the purpose of event lists, since the client is
    left with maintaining several subscriptions for resources -- so it's
    really rather suboptimal.

    * Add new SIP header field (or maybe method) for credential upload

    One very simple solution would be to add a new header which contains
    a triple of [realm,userid,password]. We would specify that this
    header is disallowed except over SIPS connections. The client would
    include one or more such headers in its SUBSCRIBE request, and the
    RLS would use them to obtain information on the user's behalf.

    To make this work, we would also add a status field to the
    <instance> element that indicates something like "authorization
    failed" and the realm for which credentials are needed. The user,
    upon seeing this in the RLMI, could re-subscribe with the missing
    credentials.

    * Try to leverage ongoing work in draft-ietf-sip-identity and/or
      draft-jennings-sipping certs

    This feels like the class of problem that the ongoing identity work
    is trying to solve, but I can't figure out how to apply the existing
    drafts to it. The problem is that the RLS needs to change almost
    everything that would be protected by the identity draft.

Of these, I prefer the simplicity of adding a new SIP header-- but I'm a 
bit scared of it because the obvious, most simple solution in security 
typically ends up being the wrong solution. However, I'll point out that 
the concern that was raised by the IESG was *not* that we are passing 
the user's secret to a third party; it was the fact that we're not 
defining *how* to do so.

Unless I'm missing something, the RLS simply needs to be trusted to act 
on the user's behalf to make more-or-less arbitrary SUBSCRIBE requests, 
since the user doesn't know the contents of the list before subscribing. 
There might be some really clever way to do this without passing the 
user's secret over wholesale, but I don't see it.

Thoughts? Ideas? Brilliant solutions?

/a

_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sipping@ietf.org for new developments on the application of sip