Re: [Ace] AS discovery in draft-ietf-ace-oauth-authz-35

Stefanie Gerdes <gerdes@tzi.de> Mon, 07 September 2020 13:13 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 37E963A0CD3 for <ace@ietfa.amsl.com>; Mon, 7 Sep 2020 06:13:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.845
X-Spam-Level:
X-Spam-Status: No, score=-2.845 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.948, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] 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 cqedSNNDVGm6 for <ace@ietfa.amsl.com>; Mon, 7 Sep 2020 06:13:26 -0700 (PDT)
Received: from gabriel-vm-2.zfn.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 6B49C3A0CCA for <ace@ietf.org>; Mon, 7 Sep 2020 06:13:26 -0700 (PDT)
Received: from [192.168.0.115] (p508a4e5d.dip0.t-ipconnect.de [80.138.78.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by gabriel-vm-2.zfn.uni-bremen.de (Postfix) with ESMTPSA id 4BlTHS5lCGzytc for <ace@ietf.org>; Mon, 7 Sep 2020 15:13:24 +0200 (CEST)
To: ace@ietf.org
References: <4A2220B7-A0FD-4706-A813-2476BCAD66CB@ericsson.com> <022d4f7427be4edea9f96f116dc9ee3e@combitech.se> <BC044304-2BFF-4B23-B5E3-50101CDEB0E4@ericsson.com> <FAFFE31C-C555-4C57-8338-710ADFEB98B9@ericsson.com>
From: Stefanie Gerdes <gerdes@tzi.de>
Message-ID: <f3581140-d92b-d48d-14f1-bfa46d1ee003@tzi.de>
Date: Mon, 07 Sep 2020 15:13:24 +0200
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: <FAFFE31C-C555-4C57-8338-710ADFEB98B9@ericsson.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ace/4wGYZhp3ozXJMFOBj2HCwszKkSk>
Subject: Re: [Ace] AS discovery in draft-ietf-ace-oauth-authz-35
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: Mon, 07 Sep 2020 13:13:29 -0000

Hi John,

C must not communicate with an AS which it doesn't trust. As stated in
section 6.5, "the client MUST be able to determine whether an AS has the
authority to issue access tokens for a certain RS." The client would
therefore notice if RS or an attacker tries to trick C into
communicating with an AS that is not responsible for this RS. C then
must not communicate with this AS. I therefore do not understand how a
DDOS attack would work. Maybe section 6.4 was not changed after the
security requirements for the client in section 6.5 were defined.

I agree that a hard-coded list is not a good mechanism for realizing
authorization on the client-side. As an alternative, the client may have
an own authorization manager that helps the client with validating the
authorization of the AS. But as far as I know, an authorization
mechanism for the client side is not in scope for the ACE framework.

Viele Grüße
Steffi


On 09/07/2020 02:11 PM, John Mattsson wrote:
> Hi,
> 
> Rereading Section 6.4 again I think the discussion on Denial-of-Service / amplification attacks in Section 6.4 clearly needs more work.
> 
> - "However a compromised RS may use this to perform a denial of service against a specific AS"
> 
> Any attacker (not just a compromised RS) on the path beween C and RS can easily trick C into contacting any node S (not just an ACE AS). Such a forged message would be a denial-of-service attack on both C and N, not only on N.
> 
> - "It is therefore advisable to provide C with a (possibly hard-coded) list of trustworthy authorization servers"
> 
> The list would need to be allowlist to have any effect. My understanding is that C could contact an AS it does not trust. Having an allowlist in C does not help in general. Even if C have a list stating that AS1, AS2, and AS3 is allowed, an attacker can impersonate RS3 (belonging to AS3) and fool C to contact AS1 or AS2. The attacker may even be able to get C to alternate between contacting AS1 and AS2.
> 
> Possible DDoS attacks in the IoT space is very serious. Recently, the lagest DDoS attacks have all been using IoT devices. New protocols should mitigate amlification and DDoS attacks.
> 
> Cheers,
> John
> 
> -----Original Message-----
> From: John Mattsson <john.mattsson@ericsson.com>
> Date: Monday, 7 September 2020 at 12:45
> To: Seitz Ludwig <ludwig.seitz@combitech.se>, "ace@ietf.org" <ace@ietf.org>
> Subject: Re: AS discovery in draft-ietf-ace-oauth-authz-35
> 
> Hi Ludwig,
> 
> The problem I have is that the current mechanism is presented as a generic discovery mechanism and that none of the disadvantages are mentioned in section 5.1.
> 
> "A generic procedure is described in Section 5.1"
> 
> The mechanism is not presented as an error message when the client in good faith tries to access a resource. It is presented as something C do intentionally to dicsover the AS. In the description in the draft, C is clearly aware that the request is unauthorized.
> 
> Section 6.4 describes the security properties quite well. But I cannot see any discusion about the inefficiency of doing discovery over the C-RS path, which in many cases is contrained.
> 
> The current presentation is:
> 
>    5.1 generic procedure to discover AS
> 
>    6.4 BTW this mechanism has some security limitation
> 
> My view would be that is should be more like:
> 
>    5.1 Error message with AS address
> 
>    X.X BTW the error message could be used for AS discovery but has limited effeciency and security and is not recommended.
> 
> Cheers,
> John
>