Re: [regext] I-D Action: draft-ietf-regext-rdap-openid-18.txt

Pawel Kowalik <kowalik@denic.de> Tue, 18 October 2022 07:28 UTC

Return-Path: <kowalik@denic.de>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F38B6C15271C for <regext@ietfa.amsl.com>; Tue, 18 Oct 2022 00:28:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.107 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=denic.de
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dCfsiSjAarSy for <regext@ietfa.amsl.com>; Tue, 18 Oct 2022 00:28:17 -0700 (PDT)
Received: from mout-b-206.mailbox.org (mout-b-206.mailbox.org [IPv6:2001:67c:2050:102:465::206]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ACE11C15271D for <regext@ietf.org>; Tue, 18 Oct 2022 00:28:11 -0700 (PDT)
Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-b-206.mailbox.org (Postfix) with ESMTPS id 4Ms57B3SgBz9sbl; Tue, 18 Oct 2022 09:28:06 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denic.de; s=MBO0001; t=1666078086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RAgPLyeC/a2gsnL+DsElMMG94p0Jiip8D5n154O9znU=; b=0Vz/G7BcA1KBXqN612RazNOszDfeAM2p4KnrHPslrBoEt2Sph0UsLLP/8W6KxUs1T6s/h3 5giGtTbdoHQ7h3wOF4/qQ2bahkg1Y8Hidhc/nliwD3FX6xCbPy/Zy1IFrCDfYmp1kOAgxG xmMY7DkINsXAJUB+5u2l0bk5tEQENJ3cQETImuUbtb78pqF02o9HOeBzD0ILBTSXHtxa+/ bdVqT6JN8tP7S37DKaaXZrhTzU9lkwT4Sr2k4BVC93kGPl9x/NIlVgRqW0sp/HyZFflL3e kH0F5ehv6V4QREvAw3scZ2kjjmlzLxHAlpcAnbg8DVXWhXsnUqOAvsKUbpfyYw==
Message-ID: <c6ccba8c-204d-ecf3-3675-f6998db83e9f@denic.de>
Date: Tue, 18 Oct 2022 09:27:38 +0200
MIME-Version: 1.0
Content-Language: en-GB
To: regext@ietf.org, "Hollenbeck, Scott" <shollenbeck=40verisign.com@dmarc.ietf.org>
References: <166601174018.24122.2194661681253850980@ietfa.amsl.com> <d5943e3bac624018872f50fd52b51ec1@verisign.com>
From: Pawel Kowalik <kowalik@denic.de>
In-Reply-To: <d5943e3bac624018872f50fd52b51ec1@verisign.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-MBO-RS-ID: 99b61ee645988f0a1d7
X-MBO-RS-META: bdyhfmkzm6qkjjuawdkxccwu9ir87apu
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/NRKwOfc2yelri2ejisEoQqUMBCw>
Subject: Re: [regext] I-D Action: draft-ietf-regext-rdap-openid-18.txt
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>, <mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>, <mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Oct 2022 07:28:22 -0000

Am 17.10.22 um 15:32 schrieb Hollenbeck, Scott:

>> [SAH] This update addresses most of the feedback received during the recent WG last call. There are still a few open issues for which I'm hoping to see WG discussion:
Thank you Scott.
>> 1. How do we address web service clients?

[PK] I think the elements we need for web service clients were already 
elaborated in the discussion over the version 17.
I'm happy to support with text proposal if needed.


One additional point that appeared in the side discussion is whether 
such client shall be able to request additional claims from the OP.
Currently the specification only allows RDAP server to request claims 
which leaves the web client without such possibility, which in turn may 
end up in a broken experience.
The proposal here is to add a "scope" query parameter to the /login path 
which RDAP server may use to request additional claims from the OP on 
behalf of the client.

>>
>> 2. Are there any security concerns associated with return of the "userID", "iss", and "userClaims" members of the "farv1_session" data structure?

[PK] The specification does not foresee any (even optional) 
authentication of the client application. In this sense each client has 
to be treated as a public client.
There is a risk of malicious client obtaining access to those PII data 
because all the user sees in the consent step is RDAP requesting data to 
the OP.
Device flow is in this sense more vulnerable to phishing attacks to 
obtain PII and also access to RDAP data as such.
A countermeasure could be the RDAP server offering an own 
consent/confirmation screen displaying some identifiable information 
about the client requesting access.

>> 3. Anything else I might have inadvertently missed.

[PK] "userClaim" is marked OPTIONAL in 4.1.1 whereas the following 
chapters indicate it is mandatory most of the times:

4.2.3.  Login Response
4.4.  Session Status
4.5.  Session Refresh

I suggested to change:
...response MUST include a "farv1_session" data structure that includes 
a "userClaims" object and a "sessionInfo" object.

to

..response MUST include a "farv1_session" data structure that includes a 
"sessionInfo" object and an optional "userClaims" object.


Kind Regards,

Pawel