[Ace] Security of the Communication Between C and RS (was: Re: Fwd: New Version Notification for draft-ietf-ace-oauth-authz-17.txt and draft-ietf-ace-oauth-params-01.txt)

Stefanie Gerdes <gerdes@tzi.de> Fri, 14 December 2018 15:16 UTC

Return-Path: <gerdes@tzi.de>
X-Original-To: ace@ietfa.amsl.com
Delivered-To: ace@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BDA42130DD0 for <ace@ietfa.amsl.com>; Fri, 14 Dec 2018 07:16:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3] autolearn=ham autolearn_force=no
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 wpgnuhLo8I2i for <ace@ietfa.amsl.com>; Fri, 14 Dec 2018 07:16:21 -0800 (PST)
Received: from smtp.uni-bremen.de (gabriel-vm-2.zfn.uni-bremen.de [134.102.50.17]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EBABF130DDA for <ace@ietf.org>; Fri, 14 Dec 2018 07:16:20 -0800 (PST)
Received: from [192.168.1.109] (p508A4EFC.dip0.t-ipconnect.de [80.138.78.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.uni-bremen.de (Postfix) with ESMTPSA id 52BAD203E2; Fri, 14 Dec 2018 16:16:19 +0100 (CET)
From: Stefanie Gerdes <gerdes@tzi.de>
To: Ludwig Seitz <ludwig.seitz@ri.se>, Jim Schaad <ietf@augustcellars.com>, ace@ietf.org
References: <154322421294.8323.8505315870685563404.idtracker@ietfa.amsl.com> <cbd083d1-cb95-0732-aa8b-7c7de3f480d1@ri.se> <a0cdd836-7fe3-339e-0c48-961503857447@tzi.de> <03b601d49191$7d1bb400$77531c00$@augustcellars.com> <945fbebe-659f-ac72-3ab6-8e05447e7c92@ri.se> <1c5b81f3-50ce-be68-bec3-68ce2ff15b43@tzi.de> <4ae4eccd-68bf-18ef-f909-142f8172eca1@ri.se>
Message-ID: <81ba3ab4-a9ce-a6fd-fbe6-c36a6fbbd9a5@tzi.de>
Date: Fri, 14 Dec 2018 16:16:18 +0100
User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <4ae4eccd-68bf-18ef-f909-142f8172eca1@ri.se>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ace/NrQWetugoy0TWp9eg3lwtSictc8>
Subject: [Ace] Security of the Communication Between C and RS (was: Re: Fwd: New Version Notification for draft-ietf-ace-oauth-authz-17.txt and draft-ietf-ace-oauth-params-01.txt)
X-BeenThere: ace@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Authentication and Authorization for Constrained Environments \(ace\)" <ace.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ace>, <mailto:ace-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ace/>
List-Post: <mailto:ace@ietf.org>
List-Help: <mailto:ace-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ace>, <mailto:ace-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 14 Dec 2018 15:16:23 -0000

Hi Ludwig,

>>
>> I am currently only referring to the keying material that AS provides to
>> C, i.e., the symmetric key shared between C and RS or, if asymmetric
>> keys are used, RS's RPK. Since it is clear to you that symmetric keys
>> are only valid as long as the token, you should point that out in the
>> document. C then has at least some clue how long the token is valid.
>> Which is better than nothing.
> 
> How would that give C a clue? There is no metadata associated to
> proof-of-possession keys that would tell C how long they are valid. Are
> you proposing we define such meta-data?
> 
> If symmetric pop-keys are created for an access token, what point would
> there be to give them another lifetime than the token? Do you really
> think we need to write that out.

I really think you should point out that symmetric keying material that
the AS provides to the client is valid as long as the token.

I also think that the client must be able to assume that RS' RPK that C
receives from AS is also valid as long as the token, unless C has
additional information.

The access information optionally can contain an expires_in field. It
would help to prevent security breaches under the following conditions:
1. the keying material is valid as long as the ticket, 2. the expires_in
field is present in the access information that AS sends to C, 3. the
client checks the expires_in field when it gets the access information
from the AS, and 4. the client checks if the keying material is still
valid each time before it sends a request to RS.

Without these steps, the confidentiality of the request data that C
sends to RS may be breached, and C may communicate with the wrong RS
using outdated keying material.

Viele Grüße
Steffi