Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04
Peter Deacon <peterd@iea-software.com> Wed, 03 April 2013 01:14 UTC
Return-Path: <peterd@iea-software.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 9D16021E803A for <radext@ietfa.amsl.com>; Tue, 2 Apr 2013 18:14:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pFukCiMQ5Zg4 for <radext@ietfa.amsl.com>; Tue, 2 Apr 2013 18:14:40 -0700 (PDT)
Received: from aspen.internal.iea-software.com (remote.iea-software.com [70.89.142.196]) by ietfa.amsl.com (Postfix) with ESMTP id 5DF2E1F0D0C for <radext@ietf.org>; Tue, 2 Apr 2013 18:14:40 -0700 (PDT)
Received: from SMURF (unverified [10.0.3.195]) by aspen.internal.iea-software.com (Rockliffe SMTPRA 7.0.6) with ESMTP id <B0005877846@aspen.internal.iea-software.com>; Tue, 2 Apr 2013 18:14:39 -0700
Date: Tue, 02 Apr 2013 18:14:38 -0700
From: Peter Deacon <peterd@iea-software.com>
To: radext@ietf.org
In-Reply-To: <1A5FDF7C-9E93-447E-A103-9700349CB2F5@gmail.com>
Message-ID: <alpine.WNT.2.00.1304021450180.3988@SMURF>
References: <1A5FDF7C-9E93-447E-A103-9700349CB2F5@gmail.com>
User-Agent: Alpine 2.00 (WNT 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; format="flowed"; charset="US-ASCII"
Cc: radext-chairs@tools.ietf.org
Subject: Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04
X-BeenThere: radext@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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, 03 Apr 2013 01:14:41 -0000
On Tue, 2 Apr 2013, Jouni wrote:
> This email starts a quick one week WGLC #2 for
> draft-ietf-radext-dtls-04; "DTLS as a Transport Layer for RADIUS". The
> WGLC ends on Tuesday, 9th April.
> Post your comments to the list and enter them also into Issue Tracker.
2.1 says min and max packet length MUST be unchanged when using
RADIUS/DTLS.
Section 2.1 continues:
"We note that the DTLS encapsulation of RADIUS means that RADIUS
packets have an additional overhead due to DTLS. Implementations
MUST support DTLS packets totalling 4096 octets in length, with a
corrsponding decrease in the maximum size of the encapsulated
packets. Implementations SHOULD support encapsulated RADIUS packets
of 4096 in length, with a corresponding increase in the maximum size
of the encapsulated DTLS packets."
s/corrsponding/corresponding/
s/totalling/totaling/
It is confusing to say decrease is allowed while also previously saying
min/max packet lengths MUST be unchanged. Would expect there be no
difference in min/max size of RADIUS payload within DTLS period.
2.2.2 "We re-iterate that much of [RFC6614] applies to this document.
Specifically, Section 4 and Section 6 of that document are applicable
in their entirety to RADIUS/DTLS."
RFC 6614 section 6 dedicates a few sentences to TCP specific properties
which do not apply to RADIUS/DTLS.
4. "Adding these
parameters means that the client MUST start using DTLS to the server
for all new requests. The client MUST, however, accept RADIUS/UDP
responses to any outstanding requests."
MUST does not seem appropriate. We have no business in what client elect
to do with outstanding requests after a security configuration change.
5. "We note that [RFC5080] Section 2.2.2 already mandates a duplicate
detection cache. The connection tracking described below can be seen
as an extension of that cache, where entries contain DTLS sessions
instead of RADIUS/UDP packets."
I think bringing this up is likely to cause more confusion than necessary.
Tuples and authenticator usage are different, session lifecycle is
different and state logic is different (You would not ignore anything
while a response is pending)
I think it might be helpful to note RFC5080 in the context of continuing
to support this mechanism and to continue to do it at the RADIUS packet
layer rather than DTLS or you're likely to end up on the wrong side of the
DTLS sequence window.
5.1 "Last Packet
A variable containing a timestamp which indicates when the last
valid packet was received for this connection. Packets which are
"silently discarded" MUST NOT update this variable."
As long as the packet was valid while being silently discarded it should
count for the purpose of last packet.
5.1.1 - I still think we can do better on the UDP / DTLS disambiguation
using the 4 byte header I described earlier or by explicitly requiring a
server knob to declare what protocol would be accepted from a given source
address.
"Sessions (both key and entry) MUST deleted when a TLS Closure Alert
([RFC5246] Section 7.2.1) or a TLS Error Alert ([RFC5246] Section
7.2.2) is received. When a session is deleted due to failed
security, the DTLS session MUST be closed, and any TLS session
resumption parameters for that session MUST be discarded, and all
tracking information MUST be deleted."
Not all TLS Error Alerts are fatal. Recommend "or a fatal TLS Error
Alert"
"Sessions MUST also be deleted when a RADIUS packet fails validation
due to a packet being malformed, or when it has an invalid Message-
Authenticator, or invalid Request Authenticator. There are other
cases when the specifications require that a packet received via a
DTLS session be "silently discarded". In those cases,
implementations MAY delete the underlying session as described above.
There are few reasons to communicate with a NAS which is not
implementing RADIUS.
The above paragraph can be rephrased more generically. A session
MUST be deleted when non-RADIUS traffic is received over it. This
specification is for RADIUS, and there is no reason to allow non-
RADIUS traffic over a RADIUS/DTLS connection. A session MUST be
deleted when RADIUS traffic fails to pass security checks. There is
no reason to permit insecure networks. A session SHOULD NOT be
deleted when a well-formed, but "unexpected" RADIUS packet is
received over it. Future specifications may extend RADIUS/DTLS, and
we do not want to forbid those specifications."
This is redundant.
"Once a DTLS session is established, a RADIUS/DTLS server SHOULD use
DTLS Heartbeats [RFC6520] to determine connectivity between the two
servers."
s/server(s)/peer(s)/ ?
"A server may also use watchdog packets from the client to
determine that the connection is still active."
"The
timestamp SHOULD be updated on reception of a valid RADIUS/DTLS
packet. The timestamp MUST NOT be updated in other situations."
The RADIUS packet layer does not see heartbeats. Should this cause a
change in Last Packet? Do you intent for sessions to idle out and expire
even with active DTLS layer keepalives?
"This session "idle timeout" SHOULD be exposed to the administrator as
a configurable setting. It SHOULD NOT be set to less than 60
seconds, and SHOULD NOT be set to more than 600 seconds (10 minutes).
The minimum value useful value for this timer is determined by the
application-layer watchdog mechanism defined in the following
section."
The recommended maximum idle timeout is too low in my view. Resetting
connections should be as rare as possible as clients now have the added
burden of correctly guessing whether packets were dropped on wire or
dropped on DTLS stack in addition to possibility server may not be alive.
There are no timing guidelines provided for transition to "idle" state.
Mismatch of idle expectations between client and server could trigger
unnecessary delay which could be mitigated by separating client and server
expectations so there is no overlap in the recommended settings. Clients
severely outnumber servers.
5.1.3
"For RADIUS/DTLS, any RADIUS packets which are subsequently silently
discarded MUST result in the removal of the associated entry and key."
5.1.1
"There are other
cases when the specifications require that a packet received via a
DTLS session be "silently discarded". In those cases,
implementations MAY delete the underlying session as described above."
These statements appear to conflict with MUST vs MAY language.
regards,
Peter
- [radext] WGLC #2 for draft-ietf-radext-dtls-04 Jouni
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Peter Deacon
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Sam Hartman
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Jim Schaad
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Peter Deacon
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Jim Schaad
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Jim Schaad
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Sam Hartman
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Joseph Salowey (jsalowey)
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Peter Deacon
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Sam Hartman
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Sam Hartman
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Peter Deacon
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Jim Schaad
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Peter Deacon
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Peter Deacon
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Dave Nelson
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Peter Deacon
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Peter Deacon
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Sam Hartman
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Sam Hartman
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Peter Deacon
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Sam Hartman
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Sam Hartman
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Peter Deacon
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Sam Hartman
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Arran Cudbard-Bell
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Sam Hartman
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Arran Cudbard-Bell
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Peter Deacon
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Sam Hartman
- Re: [radext] WGLC #2 for draft-ietf-radext-dtls-04 Alan DeKok