[radext] ALPN alert use with RADIUS Version 1.1
Heikki Vatiainen <hvn@radiatorsoftware.com> Wed, 19 July 2023 16:36 UTC
Return-Path: <hvn@radiatorsoftware.com>
X-Original-To: radext@ietfa.amsl.com
Delivered-To: radext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3BCF5C14CE47 for <radext@ietfa.amsl.com>; Wed, 19 Jul 2023 09:36:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.895
X-Spam-Level:
X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=radiatorsoftware-com.20221208.gappssmtp.com
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 m88FzlINAvo7 for <radext@ietfa.amsl.com>; Wed, 19 Jul 2023 09:36:41 -0700 (PDT)
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 37528C14CE45 for <radext@ietf.org>; Wed, 19 Jul 2023 09:36:40 -0700 (PDT)
Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-51e57874bfdso10039223a12.0 for <radext@ietf.org>; Wed, 19 Jul 2023 09:36:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=radiatorsoftware-com.20221208.gappssmtp.com; s=20221208; t=1689784599; x=1690389399; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=fSQNwdteWjbBtstb6n2plYoR0ok4oC65DG4/INA45Zs=; b=fQ7//xjSjjnY7mX/dDh97DoWWhLX0KQv8cQe+oULHEqrlYQvS9uXMCr8qNpKKJ0Qk6 qKIJ2KGy80NjnOl+W24jv3lN2CDkpnSzYbR4uXg9UABMgTwlquEnuYfGVF+rRCjtkLZL 2GP5sMi1N+jgTkL7lMTBn4jz/ekRvbEDGIrAByHy08akv8TTpZPgVnXyP91fYbC+yeCb xld/YTbaydE7vZfbqNGg8GqBHL1shrgcDUz3IdSLLwL8x3e/zQ8+8ulZL9zJnOGWma2O 1WdF30Clwvo3jdZqfjPDeXliA11plvzgPoIuwCttAYj+EPf2tMWhFJreQ2tU2qpC9Yw3 Q8TQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689784599; x=1690389399; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=fSQNwdteWjbBtstb6n2plYoR0ok4oC65DG4/INA45Zs=; b=GBDK3QAHmMgfmsCGNxPN2/pmLaf2h5W4xCPK6TWzj/osAoKRphBGnL7Tx5U0I2syzl ODyxY9nZE+Hz2r1CDH8nwUHt39rXiEJcV3gsDQ5RoG8wzMLWv8Vro+Z/sLCkVa7/F4EY Uw7E95iIbAT6Uv9LXviK1JZgkj88WO5ex5/t0wxDQGSKV84B3o+9kYDCud5nkhEhZlxX clJ7gUHYB892ykkr2y1OsdZt+Yfblcb+f6fGDwPdZHtUoaI0eFlRy0w06ch+UytxwXpO ej/JayiyDjYr+qQDAiL7rqgsl0uyQEc2mFamdKa5qdOG2S02pynVgjy/lvsAUVaVb2AA 6IvA==
X-Gm-Message-State: ABy/qLa3cQ4HZXLbEaacYMtIW2UrWfF0Y1XMkBeJvcfOrpBYlA47Xl0u kQvhyFUYHvlspkNCPbo3Sh+KspLHr+9ir7ibw4bSu6EWxBSL9FvWzI0=
X-Google-Smtp-Source: APBJJlG5ZJ/6FAHitxykOq9RZ9VM0DSRTMfe71OOsJmXVMdICl0IlM9swBYwhb9ateHvq8zGu59IuSlK6zooVmfGPjc=
X-Received: by 2002:a05:6402:1511:b0:51e:3427:63fb with SMTP id f17-20020a056402151100b0051e342763fbmr2955150edw.4.1689784599007; Wed, 19 Jul 2023 09:36:39 -0700 (PDT)
MIME-Version: 1.0
From: Heikki Vatiainen <hvn@radiatorsoftware.com>
Date: Wed, 19 Jul 2023 19:36:23 +0300
Message-ID: <CAA7Lko9kxYNOZDuZHfBZQ-01fPf25EYSLuNR=2aUL1Z19ehuRw@mail.gmail.com>
To: radext@ietf.org
Content-Type: multipart/alternative; boundary="000000000000c5676f0600d9a2c6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/radext/cHJEetTjx_GHRLWaQCI5HuBQWsw>
Subject: [radext] ALPN alert use with RADIUS Version 1.1
X-BeenThere: radext@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: RADIUS EXTensions working group discussion list <radext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/radext>, <mailto:radext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/radext/>
List-Post: <mailto:radext@ietf.org>
List-Help: <mailto:radext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/radext>, <mailto:radext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Jul 2023 16:36:42 -0000
I've looked at RADIUS Version 1.1 implementation and there are a some implementation related topics I'd like to hear opinions on. I'll start with ALPN alert use with this message. The draft currently states this about TLS alert 120 use: https://www.ietf.org/archive/id/draft-ietf-radext-radiusv11-01.html#section-3.3-9 If a client or server determines that there are no compatible application protocol names, then as per [RFC7301] Section 3.2, it MUST send a TLS alert of "no_application_protocol" (120), which signals to the other end that there is no compatible application protocol. The table in section 3.3.1 then helpfully describes all combinations of client and server ALPN configuration policy and capability. First, regarding client behaviour: I don't think RFC 7301 describes the possibility for a client to send alert 120. https://datatracker.ietf.org/doc/html/rfc7301#section-3.2 While this would be useful for debugging and troubleshooting, it seems that for example OpenSSL, that I've used, doesn't readily support it. I've also talked to someone who knows about Rust native TLS, and it seems impossible there too. What client can do is to do a normal shutdown and send a 'close_notify' alert. It seems that even OpenSSL does not provide an API function to send a specific alert. Other TLS implementations may also not be capable sending alert 120 for TLS client connections. Second, OpenSSL provides a callback for examining ClientHello and then triggering an alert if the handshake shouldn't proceed. This can be used to handle the upper right corner case in the table where the Client supports 'No ALPN' and Server policy is 'require'. This again seems to go against ALPN RFC 7301 because the RFC only discusses alert 120 in the case where the server supports no value that the client offers with ALPN. The upper right corner is the case where the client sends no ALPN extension. With Rust native TLS there's apparently no similar ClientHello callback and the server needs to later examine if ALPN was negotiated and then close the connection. In other words, with Rust TLS, the handshake finishes first before ALPN status is available. With both OpenSSL and Rust TLS, the libraries can be made to send alert 120 when there's no overlap with ALPN protocols the client and server support. In other words, only the case where the both client and server use ALPN, alert 120 can be sent without any extra work. To summarise: the requirement to use TLS alert 120 by both client and server in every case where the table in section 3.3.1 of the current draft requires 'Close' seems to be hard to implement. It also seems to be not what the ALPN RFC states about alert 120 usage. It would be beneficial for troubleshooting if the alert could be used for all 'Close' cases, but should we think about an alternative for those cases where the TLS implementation can't be made to send alert 120 as the application needs? -- Heikki Vatiainen hvn@radiatorsoftware.com
- [radext] ALPN alert use with RADIUS Version 1.1 Heikki Vatiainen
- Re: [radext] ALPN alert use with RADIUS Version 1… Alexander Clouter
- Re: [radext] ALPN alert use with RADIUS Version 1… Alan DeKok
- Re: [radext] ALPN alert use with RADIUS Version 1… Heikki Vatiainen
- Re: [radext] ALPN alert use with RADIUS Version 1… Alan DeKok
- Re: [radext] ALPN alert use with RADIUS Version 1… Heikki Vatiainen
- Re: [radext] ALPN alert use with RADIUS Version 1… Alan DeKok
- Re: [radext] ALPN alert use with RADIUS Version 1… Heikki Vatiainen
- Re: [radext] ALPN alert use with RADIUS Version 1… Alan DeKok