Re: [jose] Comments on draft-barnes-jose-spi-00

Richard Barnes <rlb@ipv.sx> Tue, 02 April 2013 18:25 UTC

Return-Path: <rlb@ipv.sx>
X-Original-To: jose@ietfa.amsl.com
Delivered-To: jose@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 051D421F8D0D for <jose@ietfa.amsl.com>; Tue, 2 Apr 2013 11:25:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.142
X-Spam-Level:
X-Spam-Status: No, score=0.142 tagged_above=-999 required=5 tests=[AWL=-1.099, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RDNS_NONE=0.1, SARE_HTML_USL_OBFU=1.666]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id H9bV2e9xq3hD for <jose@ietfa.amsl.com>; Tue, 2 Apr 2013 11:25:47 -0700 (PDT)
Received: from mail-ob0-x231.google.com (mail-ob0-x231.google.com [IPv6:2607:f8b0:4003:c01::231]) by ietfa.amsl.com (Postfix) with ESMTP id D2D3A21F8D03 for <jose@ietf.org>; Tue, 2 Apr 2013 11:25:46 -0700 (PDT)
Received: by mail-ob0-f177.google.com with SMTP id uz6so649076obc.36 for <jose@ietf.org>; Tue, 02 Apr 2013 11:25:46 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:x-originating-ip:in-reply-to:references :date:message-id:subject:from:to:cc:content-type:x-gm-message-state; bh=62G8+FQlggjhx7iWhiMJRWz0Jc62oAti6Y8Fc1i9hVg=; b=A3ob1qmpf7ZSAptE7GTAdOpU7NtvWR+dlnpPzJeMu6wejwaZ/RkktMGy0a8FnZ1fyh bmBIM2rzRWNj38KgSeeVsFFGF+JpxMolGJZk0hHrydqCcp9JKZ2OvbmzvyQLIfFdHD0w YIEjGld0FmFF+0ZhpS/WILA34gR+FIy3QhnPsT1DoYInvTC1OZf55U+9qwbFLAsZ16XJ 460/1XW3JZSMF/jLXj5HUaSE+Nqz34+Noqq7JmOOeZAJtVtt1BsHNsOf4rcenkr+sKaG DrDDXo6kq6ZXgYLMSbVQuwxOgw8cJg8FDxMfvN5VQKe0AMsfgjAsyElGSNtuWJiNoh+9 gigQ==
MIME-Version: 1.0
X-Received: by 10.60.24.197 with SMTP id w5mr5859892oef.6.1364927146333; Tue, 02 Apr 2013 11:25:46 -0700 (PDT)
Received: by 10.60.160.201 with HTTP; Tue, 2 Apr 2013 11:25:46 -0700 (PDT)
X-Originating-IP: [192.1.51.16]
In-Reply-To: <515B215B.1000104@gmx.net>
References: <005301ce2fba$e4c68100$ae538300$@augustcellars.com> <515B1862.2020204@gmx.net> <CAL02cgSLFeh_wzaC0nb7=Xg74_3S2irg9bHxA6cvPF3vbwvTRw@mail.gmail.com> <515B215B.1000104@gmx.net>
Date: Tue, 02 Apr 2013 14:25:46 -0400
Message-ID: <CAL02cgT0kRH+4Uz+mTht47r3k-wEJ02cj=RoK8WTZEhOnfkiKA@mail.gmail.com>
From: Richard Barnes <rlb@ipv.sx>
To: Hannes Tschofenig <hannes.tschofenig@gmx.net>
Content-Type: multipart/alternative; boundary="e89a8ff1c30eb3e8e904d964ddde"
X-Gm-Message-State: ALoCoQlktJWbGA9i40V/1equKaDYVH0wFrjn15+CzzHQjIEry0NFV+SpNxLG3DLBFBRT4d0Ba0Nr
Cc: Jim Schaad <ietf@augustcellars.com>, jose@ietf.org, draft-barnes-jose-spi@tools.ietf.org
Subject: Re: [jose] Comments on draft-barnes-jose-spi-00
X-BeenThere: jose@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Javascript Object Signing and Encryption <jose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jose>, <mailto:jose-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/jose>
List-Post: <mailto:jose@ietf.org>
List-Help: <mailto:jose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jose>, <mailto:jose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 02 Apr 2013 18:25:48 -0000

On Tue, Apr 2, 2013 at 2:20 PM, Hannes Tschofenig <hannes.tschofenig@gmx.net
> wrote:

> Just to give you two examples:
>
> http://tools.ietf.org/html/**draft-ietf-oauth-v2-http-mac-**03<http://tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-03>
> uses a JWE protected JWT.
>
> The key used to encrypt the JWT needs to be pre-configured between the
> authorization server and the resource server. This would be a long-term
> secret.
>
> http://datatracker.ietf.org/**doc/draft-tschofenig-oauth-**hotk/<http://datatracker.ietf.org/doc/draft-tschofenig-oauth-hotk/>
> uses an alternative design (a bit outdated already; needs to be refreshed)
> that uses the JOSE work for communication between the client and the
> resource server. The symmetric key used between these two parties would be
> short lived but we still use the JOSE work here.
>
> http://tools.ietf.org/html/**draft-tschofenig-oauth-hotk-02<http://tools.ietf.org/html/draft-tschofenig-oauth-hotk-02>
>
> Whether algorithm information is included in the JWS/JWE structure is a
> matter of what you agree with the other party and how.
>
> A requirement for the current documents, however, would be to ensure that
> the parameters are not mandatory because in certain situations you may have
> configured them out of band already.
>
> Reading through the JWS/JWE documents I am not sure whether this is
> allowed or not.
>

This is exactly my point.  These pre-negotiation cases prevent us from
having clear requirements levels.

The goal of SPI is to explicitly say "SPI indicates that pre-negotiated
parameters are being used, so some things that are otherwise REQUIRED might
be missing."  That way, you can still have fields that MUST be included in
general, but if you include an SPI, you can omit them.

--Richard




>
> Ciao
> Hannes
>
>
>
>
> On 04/02/2013 09:00 PM, Richard Barnes wrote:
>
>> "kid" identifies a key.  "spi" identifies anything/everything.
>>
>> Think of it this way:
>> "spi" --> { "alg", "enc", "zip", "kid", ... }
>>
>>
>> On Tue, Apr 2, 2013 at 1:41 PM, Hannes Tschofenig
>> <hannes.tschofenig@gmx.net <mailto:hannes.tschofenig@gmx.**net<hannes.tschofenig@gmx.net>>>
>> wrote:
>>
>>     I don't understand why you need an additional spi parameter when
>>     there is already a kid parameter, which serves the same purpose.
>>
>>     Here is the kid parameter in the JWE:
>>     http://tools.ietf.org/html/__**draft-ietf-jose-json-web-__**
>> encryption-08#section-4.1.10<http://tools.ietf.org/html/__draft-ietf-jose-json-web-__encryption-08#section-4.1.10>
>>
>>     <http://tools.ietf.org/html/**draft-ietf-jose-json-web-**
>> encryption-08#section-4.1.10<http://tools.ietf.org/html/draft-ietf-jose-json-web-encryption-08#section-4.1.10>
>> >
>>
>>     Here is the kid parameter in the JWS:
>>     http://tools.ietf.org/html/__**draft-ietf-jose-json-web-__**
>> signature-08#section-4.1.7<http://tools.ietf.org/html/__draft-ietf-jose-json-web-__signature-08#section-4.1.7>
>>
>>     <http://tools.ietf.org/html/**draft-ietf-jose-json-web-**
>> signature-08#section-4.1.7<http://tools.ietf.org/html/draft-ietf-jose-json-web-signature-08#section-4.1.7>
>> >
>>
>>     Ciao
>>     Hannes
>>
>>
>>     On 04/02/2013 06:58 PM, Jim Schaad wrote:
>>
>>         Richard,
>>
>>         There is not yet sufficient detail in this document for me to do a
>>         proper evaluation of how things are going to work.  Example
>>         questions
>>         that I have.
>>
>>         1. What headers are required and which can  be implicit – for
>>         example
>>         can the algorithm fields be implicit in the SPI?
>>
>>         2.Are the integrity value computed across the fully populated
>>         header or
>>         the SPI header?
>>
>>         3.Is there a way to forward a message from person A which knows
>>         the SPI
>>
>>         values and person B which does not?
>>
>>         4.What is the correct algorithm for determining the JWS vs JWE
>>         in the
>>
>>         event that all of the algorithms are implicit
>>
>>         5.What happens if you have implicit parameters and explicit
>>         parameters
>>
>>         and they do not match?
>>
>>         6.Is there a recommended way to determine what the SPI
>>         parameters are
>>
>>         going to be?  Does the application need to pre-parse the message
>>         to get
>>         the SPI value or is there a recommendation that some type of
>>         callback be
>>         included
>>
>>         7.Can you make things like the IV be implicit?  Thus agree on a
>>         starting
>>
>>         value and an increment and compute the new IV for each new message
>>
>>         8.If you are requiring that the values be populated by the
>>         application –
>>
>>         does this require that you have a canonical encoding of how
>>         those values
>>         are placed into the header for the purposes of the integrity
>> check?
>>
>>         Jim
>>
>>
>>
>>         ______________________________**___________________
>>         jose mailing list
>>         jose@ietf.org <mailto:jose@ietf.org>
>>         https://www.ietf.org/mailman/_**_listinfo/jose<https://www.ietf.org/mailman/__listinfo/jose>
>>         <https://www.ietf.org/mailman/**listinfo/jose<https://www.ietf.org/mailman/listinfo/jose>
>> >
>>
>>
>>     ______________________________**___________________
>>     jose mailing list
>>     jose@ietf.org <mailto:jose@ietf.org>
>>     https://www.ietf.org/mailman/_**_listinfo/jose<https://www.ietf.org/mailman/__listinfo/jose>
>>     <https://www.ietf.org/mailman/**listinfo/jose<https://www.ietf.org/mailman/listinfo/jose>
>> >
>>
>>
>>
>