Re: [OAUTH-WG] Signature crypto
Breno <breno.demedeiros@gmail.com> Wed, 09 December 2009 03:10 UTC
Return-Path: <breno.demedeiros@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 293E228C0E9 for <oauth@core3.amsl.com>; Tue, 8 Dec 2009 19:10:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.573
X-Spam-Level:
X-Spam-Status: No, score=-2.573 tagged_above=-999 required=5 tests=[AWL=0.025, BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id X7DHdP8AZLjC for <oauth@core3.amsl.com>; Tue, 8 Dec 2009 19:10:05 -0800 (PST)
Received: from mail-yx0-f192.google.com (mail-yx0-f192.google.com [209.85.210.192]) by core3.amsl.com (Postfix) with ESMTP id 801DB3A68B8 for <oauth@ietf.org>; Tue, 8 Dec 2009 19:10:04 -0800 (PST)
Received: by yxe30 with SMTP id 30so6598890yxe.29 for <oauth@ietf.org>; Tue, 08 Dec 2009 19:09:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=EAu6ZVWkPHXlFAePY8fzZOdCQdiOXl7z3yb77EyQBcQ=; b=hfwotKF3ubQUmIcTmlBMlEfHhE3NJY5xZyc0Q2Bjb4lxsxXZR27QfJPA1DleLgHqnF 5xIy/hqH3mWhNpXZDd6MGctMl/zu3q/wIpvDDlaQbqh2MWVc/hOXeStIgM9bFC1BufMM klo1EFEXKU4iVYVQQluQ0BxOZkFvjvO37U/74=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=TrlTX50NjSIN3hi1VerXUgmIO7pfvoCzeBXzU6MXk+0O1n4kaMDxE6WJJyE4K06vFI szQycIGVg+eHP/VkUagwmFEtOogyTVfflq90tahmNj5ibKoqTfE54tV4kYMIGhfFERNv YUNZYZyOAvV6oDteEepxejpG16e2CZPop7U2o=
MIME-Version: 1.0
Received: by 10.100.233.35 with SMTP id f35mr7256976anh.41.1260328191176; Tue, 08 Dec 2009 19:09:51 -0800 (PST)
In-Reply-To: <21D4FB55-A8EF-4619-8C5F-5F7E1E54CB8A@bbn.com>
References: <90C41DD21FB7C64BB94121FBBC2E72343785183009@P3PW5EX1MB01.EX1.SECURESERVER.NET> <90C41DD21FB7C64BB94121FBBC2E7234378529369B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <f98165700912041048s7f1f53bs27ec2b78f7f44c8b@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723437852936BC@P3PW5EX1MB01.EX1.SECURESERVER.NET> <daf5b9570912041112h71c0644dm8c908478dbff2e9a@mail.gmail.com> <f98165700912041120k2b13eed2l4b51f6b22e35824e@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723437852936D7@P3PW5EX1MB01.EX1.SECURESERVER.NET> <f98165700912041146w2d543b25l9b1e7ec8df0ef8a0@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E72343785293745@P3PW5EX1MB01.EX1.SECURESERVER.NET> <21D4FB55-A8EF-4619-8C5F-5F7E1E54CB8A@bbn.com>
Date: Tue, 08 Dec 2009 19:09:51 -0800
Message-ID: <f98165700912081909y5dfa45cam3a3062fea83d5fef@mail.gmail.com>
From: Breno <breno.demedeiros@gmail.com>
To: Richard Barnes <rbarnes@bbn.com>
Content-Type: multipart/alternative; boundary="001636b2b4d122b31f047a43066d"
Cc: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Signature crypto
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 09 Dec 2009 03:10:11 -0000
On Tue, Dec 8, 2009 at 4:17 PM, Richard Barnes <rbarnes@bbn.com> wrote: > This isn't quite right. First of all, you're not constraining the types of > *tokens*, you're constraining the types of token *secrets* (the private > part, not the public part; the key, not the key label). > Good security practice indicates that a key (the secret part) should be used with a single algorithm. Different algorithm --> different key. > > Second, there's basically only two classes of signature/secret anyway, > symmetric and asymmetric. MAC algorithms generally take any string of bytes > as a key (possibly with a length constraint), since they're just going to > XOR it with data anyway. Public-key algorithms require the secret key to > have an relationship to its public half. The practical implication is that > you can use your tokens as MAC keys if you want, but you might need to carry > tokens separately if you're using an asymmetric signature algorithm. > While MAC algorithms take any type of key, it is not good practice to use a key with two different MAC algorithms. So while technically it will work, it is not advised practice. > > Net of all that, I'll agree with Brian's earlier claim that OAuth 1.0 had > this basically right by having the server advertise what algorithms it > supports, with the one major change that we probably should use the same > base string for all algorithms. > > --Richard > > > > On Dec 4, 2009, at 3:35 PM, Eran Hammer-Lahav wrote: > > We have been to some extent talking part each other. Breno and I spend some > time talking about this off line and reached a better understanding of our > positions. > > We have been approaching this from the wrong direction. > > The server should not be broadcasting what types of algorithms it supports. > Instead it should be listing what kind of **tokens** it supports. Since a > token secret issued for use with HMAC-SHA1 should/may be different from that > used with HMAC-SHA512, it is the token class that determines what it can be > used with. > > The server should indicate the kinds of tokens supported for a given > resource/realm. When obtaining such tokens, the client will be provided with > a new attribute indicating the token type (which will dictate how it should > use it to sign/etc. the canonicalized request.). > > The server should indicate in the WWW-Authenticate header which > canonicalizations it supports (with bearer token being a special case). > > The authentication scheme should specify how to take the raw signature and > encode it into the Authentication header. > > This means **are** going to pick a few token types to standardize which > will include the crypto used, and allow extensions by publishing an RFC + > registration. > > EHL > > > > > *From:* Breno [mailto:breno.demedeiros@gmail.com<breno.demedeiros@gmail.com> > ] > *Sent:* Friday, December 04, 2009 11:46 AM > *To:* Eran Hammer-Lahav > *Cc:* Brian Eaton; OAuth WG (oauth@ietf.org) > *Subject:* Re: [OAUTH-WG] Signature crypto > > I am not sure I buy this. For instance, RSA-SHA1 is _not_ a signature > scheme, PKCS#11 does establish a signature scheme based on RSA + SHA-1. > > So to delve beyond the level of abstraction of 'authentication mechanism > name' you need to point to a separate spec for both signing and > verification. > > I am not sure how much one needs to do beyond defining the byte > representation of what needs to be signed. > > > Some MACs require random pads in addition to keys. Those won't fit into > this abstraction but I don't think we need absolute generality here. > On Fri, Dec 4, 2009 at 11:25 AM, Eran Hammer-Lahav <eran@hueniverse.com> > wrote: > Point where? > > I didn’t mean new spec for the algorithm, just for how it is used with the > OAuth authentication scheme. > > EHL > > *From:* Breno [mailto:breno.demedeiros@gmail.com] > *Sent:* Friday, December 04, 2009 11:20 AM > *To:* Brian Eaton > *Cc:* Eran Hammer-Lahav; OAuth WG (oauth@ietf.org) > > *Subject:* Re: [OAUTH-WG] Signature crypto > > There is no need to publish a new spec for a new MAC algorithm. MAC > algorithms typically go through certification (e.g., NIST) and have detailed > specs, including test vectors for interoperability. > > > For OAuth, if you want to explicitly support a new MAC algorithm you will > not need to change the transport and you just have to point to the > particular spec that defines the MAC algorithm. > On Fri, Dec 4, 2009 at 11:12 AM, Brian Eaton <beaton@google.com> wrote: > > On Fri, Dec 4, 2009 at 11:10 AM, Eran Hammer-Lahav <eran@hueniverse.com> > wrote: > > I am trying to avoid the need to publish a specification every time you > want > > to add a new MAC-based algorithm. > People are going to end up needing to write new code every time they > > want to add a new MAC-based algorithm. > Cheers, > Brian > > > > > -- > Breno de Medeiros > > > > > -- > Breno de Medeiros > _______________________________________________ > > OAuth mailing list > OAuth@ietf.org > https://www.ietf.org/mailman/listinfo/oauth > > > > _______________________________________________ > OAuth mailing list > OAuth@ietf.org > https://www.ietf.org/mailman/listinfo/oauth > > -- Breno de Medeiros
- [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Peter Saint-Andre
- Re: [OAUTH-WG] Signature crypto Stephen Farrell
- Re: [OAUTH-WG] Signature crypto Infinity Linden (Meadhbh Hamrick)
- Re: [OAUTH-WG] Signature crypto Hubert Le Van Gong
- Re: [OAUTH-WG] Signature crypto Vrancken Bart bv
- Re: [OAUTH-WG] Signature crypto Tschofenig, Hannes (NSN - FI/Espoo)
- Re: [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Stephen Farrell
- Re: [OAUTH-WG] Signature crypto Stephen Farrell
- Re: [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Infinity Linden (Meadhbh Hamrick)
- Re: [OAUTH-WG] Signature crypto John Kemp
- Re: [OAUTH-WG] Signature crypto Brian Eaton
- Re: [OAUTH-WG] Signature crypto Ben Laurie
- Re: [OAUTH-WG] Signature crypto Breno
- Re: [OAUTH-WG] Signature crypto Breno
- Re: [OAUTH-WG] Signature crypto Manger, James H
- Re: [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Breno
- Re: [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Breno
- Re: [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Breno
- Re: [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Brian Eaton
- Re: [OAUTH-WG] Signature crypto Breno
- Re: [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Breno
- Re: [OAUTH-WG] Signature crypto Breno
- Re: [OAUTH-WG] Signature crypto Stephen Farrell
- Re: [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Brian Eaton
- Re: [OAUTH-WG] Signature crypto Breno
- Re: [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Paul C. Bryan
- Re: [OAUTH-WG] Signature crypto stephen.farrell
- Re: [OAUTH-WG] Signature crypto Breno
- Re: [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Eran Hammer-Lahav
- Re: [OAUTH-WG] Signature crypto Richard Barnes
- Re: [OAUTH-WG] Signature crypto Breno
- Re: [OAUTH-WG] Signature crypto Richard L. Barnes