Re: [stir] Review of: draft-ietf-stir-passport-05

Chris Wendt <chris-ietf@chriswendt.net> Sat, 30 July 2016 21:08 UTC

Return-Path: <chris-ietf@chriswendt.net>
X-Original-To: stir@ietfa.amsl.com
Delivered-To: stir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 22AF912B058 for <stir@ietfa.amsl.com>; Sat, 30 Jul 2016 14:08:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=chriswendt-net.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 27Qk2ROXUD0k for <stir@ietfa.amsl.com>; Sat, 30 Jul 2016 14:08:40 -0700 (PDT)
Received: from mail-qk0-x22f.google.com (mail-qk0-x22f.google.com [IPv6:2607:f8b0:400d:c09::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 474FB126D74 for <stir@ietf.org>; Sat, 30 Jul 2016 14:08:40 -0700 (PDT)
Received: by mail-qk0-x22f.google.com with SMTP id o67so117384878qke.1 for <stir@ietf.org>; Sat, 30 Jul 2016 14:08:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chriswendt-net.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=04/st//ex4oJMq4GRnjENkjWN99S+oFjqJY67CN3Vgc=; b=YpguN0hsf9UN1AktEqHffNtPSovpvEkKmcof+DXE5mrjlp0tnNANf01MzJvxvFq3y/ YbYhUgcL8N0Or6bPxmyrj7WtmKCr5HyKjpzROykvYsqj0QCagn9vYE996sc1a4JY09f0 IuD6xqNazEZTyK/WBbSilRTwSMCZcBvfzTM4xmr4IBf7lKaMy0M06NKzB/MsUCMDNMA/ FT7l9A4e66evHG5fax8svKFerStlB07FBLBLnBphRPljROm9VvFPxnHr4SdBRQoWOycc j98Z8YkLfAxzUYkfd0a0qp+kC6r72EAvX+xMBDmi/1bgpda8pOKiaS3r8M14TWaYokHF 7BlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=04/st//ex4oJMq4GRnjENkjWN99S+oFjqJY67CN3Vgc=; b=eopi6RuEmmc0pPyl2OOzUhzU8ZdiKa6nkDa5IsHF1nQ/U+wEfPx8cqchroHaiMKiJf Mv3sdla2rgGahvQK/VGwQ2MAvRBuxJrkmOZjUnYehVlK1pTRyq3fhGrWTLeMsRL9qySp tZX046hQGkLlJLD9IN/Xl7oAIarl7I/XjwoxWK80X2VnZGpegXCRVCcKZy6iBYL0Xfrf qMkwAhO7TydHrWOExfq4pJIg+3i6GauAz53gikDVtf1o2D2Gm6J/fW3cIOkB9fQwUWwU 4PBlyrzoQHRANNk/Ilk5959ChAqaD4uCbQW3c7OwBD/tIxZiFjUi9DnISzY670qyGPKQ nc9w==
X-Gm-Message-State: AEkoousJoItbbSfnrUfxS3on5I1ZjBcYEKJbfMMDQILWOCvn7nHpu9q++zHxElv1BHJLAw==
X-Received: by 10.55.39.205 with SMTP id n196mr12557791qkn.149.1469912919123; Sat, 30 Jul 2016 14:08:39 -0700 (PDT)
Received: from [172.20.20.20] ([73.112.13.8]) by smtp.gmail.com with ESMTPSA id z32sm13446603qtz.0.2016.07.30.14.08.38 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 30 Jul 2016 14:08:38 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Chris Wendt <chris-ietf@chriswendt.net>
In-Reply-To: <7f35b810-0eca-5140-060e-4aef03449c21@dcrocker.net>
Date: Sat, 30 Jul 2016 17:08:41 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <D9F5ECF9-3ED0-478A-9261-2892AF9EAB8F@chriswendt.net>
References: <07e0eb16-6758-cdf1-c571-1f1ed768e741@dcrocker.net> <D3C152B2.1A69BA%jon.peterson@neustar.biz> <b096b541-c8af-9617-c9d7-5a1beb5230e8@dcrocker.net> <D3C16040.1A6A09%jon.peterson@neustar.biz> <d66d91f0-9ea2-6295-e749-e48ea37b4892@dcrocker.net> <D3C19686.1A6A4E%jon.peterson@neustar.biz> <dd60178b-fa24-5099-166c-f8a0093cb668@dcrocker.net> <7594FB04B1934943A5C02806D1A2204B476FE6CB@ESESSMB209.ericsson.se> <7f35b810-0eca-5140-060e-4aef03449c21@dcrocker.net>
To: dcrocker@bbiw.net
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/stir/-C7YB24FBYXSavjhwRjk88jqZvY>
Cc: IETF STIR Mail List <stir@ietf.org>, "Peterson, Jon" <jon.peterson@neustar.biz>, Christer Holmberg <christer.holmberg@ericsson.com>
Subject: Re: [stir] Review of: draft-ietf-stir-passport-05
X-BeenThere: stir@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Secure Telephone Identity Revisited <stir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/stir>, <mailto:stir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/stir/>
List-Post: <mailto:stir@ietf.org>
List-Help: <mailto:stir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/stir>, <mailto:stir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 30 Jul 2016 21:08:42 -0000

Hi Dave,

I’m not following your argument that because there isn’t a JSON object to sign, we can’t use JWT?
In general, most/all uses of JWT don’t sign an existing object, a set of claims are constructed into a JSON payload that is signed.
There are JWT defined claims precisely defined to create a secure token intentionally meant to be only signed in a JWT.

So to me, we are more than appropriately using JSON and JWT.

It is in 4474bis, we define the exact information to construct the JSON payload object to be signed, so please refer to that.

There are many advantages to using the JWT construct both for STIR charter specifically and elsewhere.

Is that a bad thing?

-Chris

> On Jul 30, 2016, at 9:03 AM, Dave Crocker <dhc@dcrocker.net> wrote:
> 
> Christer,
> 
> Thanks for the background...
> 
> On 7/30/2016 4:30 AM, Christer Holmberg wrote:
>> I am the one who originally suggested the usage of JWT. I don't
>> understand the claim that JWT is "outside the context of SIP". JWT is a
>> generic/standardized mechanism how to calculate and encode a signature,
> 
> Actually, it isn't.
> 
> It's own opening text [RFC 7519] says it is "a compact, URL-safe means of representing claims to be transferred between two parties" but more importantly for this issue, it goes on to say:
> 
>   "encoded as a JSON object that is used as the payload of a JSON
>   Web Signature (JWS) structure or as the plaintext of a JSON Web
>   Encryption (JWE) structure"
> 
> That is, it provides value-added functions... to a JSON object (structure).  However SIP doesn't have a JSON object to sign.  So the working group has had to invent a JSON-based abstraction of SIP header information and then sign it.
> 
> Now it has to invent an encoding for the resulting signature.  It would have to do that for a SIP call, no matter the signature's computational abstraction, but because that abstraction is actually an independent format, it wound up distracting the wg from doing a complete job -- so far, after 3 years -- of defining all the details for a complete authentication mechanism.
> 
> From what I can tell of the email record for the wg, the unfortunate part of the discussion about choices here was to count JSON/JWT as something other than an abstraction.
> 
> Signing an object requires defining the data over which the signature will be made, and how that data will be fed into the signing algorithm. Necessarily, that defines an abstraction of the data.  (Canonicalization seems to be a common component of that abstraction, for example.)
> 
> There might be nothing different or better (or, probably, worse) about JWT in those terms; I haven't tried to evaluate it in those terms.  The problem is that its existence as a distinct format has caused the working group to worry about that new and independent object as distinct from the SIP data being signed, rather than as a computational result that then needs to be stored into the SIP header.  So all of the discussion about what to do with the JWT object is additional wg overhead and, IMO, a complete distraction for the primary task of the working group.  (My guess is that there is also added overall system complexity, but I won't press that concern, at this point.)
> 
> Arguments that it's a general mechanism for use in other aspects of this space are always appealing. However they are, so far, without merit in the working group context: There are no specifications for any of those other uses.
> 
> And the wg still hasn't resolved the very basic and very essential step of putting the signature into the SIP header.
> 
> 
> 
>>     If we would NOT use JWT we would
>> probably have to define more STIR-specific procedures regarding the
>> calculating/encoding of the signature ourselves. It's better to use a
>> standardized mechanism in my opinion.
> 
> Well, yeah, I thought/think that too, which was why I originally suggested adapting DKIM. (DANE might be another relevant choice.)  DKIM offers an extremely high point of departure for SIP header signing.  The continued lack of complete specification details about use with SIP demonstrates that JWT doesn't.
> 
> 
>> I am also the one who raised the encoding issue in Berlin. But that was
>> not related to the usage of JWT as such, but to the fact that we don't
>> carry the encoded JWT object in one piece in the SIP message. We "split"
>> the object into two pieces, and carry one piece as the Identity header
>> field value, and the other piece as the canon header field parameter
>> value.
> 
> Right.  And the point I'm raising is not about the details of that choice but the fact that it still hasn't been made at this very late stage.
> 
> Besides merely being a missing, essential bit of system specification, it suggests that the wg is still not completely clear about the concrete use of this capability.
> 
> 
> d/
> -- 
> 
>  Dave Crocker
>  Brandenburg InternetWorking
>  bbiw.net
> 
> _______________________________________________
> stir mailing list
> stir@ietf.org
> https://www.ietf.org/mailman/listinfo/stir