| RE: DTLS comments, questions and issues | <– Date –> <– Thread –> |
|
From: Abhijit Choudhury (Abhijit |
|
| Date: Wed, 22 Mar 2006 09:35:02 -0800 (PST) | |
Hi, As I mentioned at the meeting, I too was quite surprised at the inclusion of DTLS protection on the data path without any prior discussion and without enough details. 1. It's not clear to me that DTLS protection of the data tunnel is necessary. Vendors who decrypt packets at the WTP clearly think the path from WTP to the AC is secure. Others carry 802.11i encryption all the way to the AC and would not require DTLS. So, why complicate the spec with this additional mode ? 2. The next issue is whether the same key should be used to protect the control and data tunnels. If not, there has to be a way to initiate multiple DTLS sessions. 3. Also, is there a current restriction that there can be ONLY one data tunnel ? The way the current spec is written it seems that multiple data tunnels is possible. Although a single UDP port may be used at the AC, multiple ports could be used at the WTP to define multiple data tunnels identified by (WTP-IP, WTP_port, AC-IP, AC-PORT) For example, some vendor may want multiple data tunnels to distinguish traffic frm different VLANs, or BSSIDs or traffic for different service providers at a hot spot. If this is possible, it seems that mutiple DTLS sessions will be quite likely. Thanks, Abhijit -----Original Message----- From: Nancy Winget (ncamwing) [mailto:ncamwing [at] cisco.com] Sent: Tuesday, March 21, 2006 8:46 AM To: Scott G. Kelly; capwap Subject: RE: [Capwap] DTLS comments, questions and issues Hi Scott, I believe Mike has separated the general DTLS comments/issues I posted as issue 86 while the DTLS for data transport is issue 87. Nonetheless, further comments to yours below: -----Original Message----- From: Scott G. Kelly [mailto:s.kelly [at] ix.netcom.com] Sent: Tuesday, March 21, 2006 7:58 AM To: Nancy Winget (ncamwing); capwap Subject: Re: [Capwap] DTLS comments, questions and issues I'm going to reply inline below, but I would suggest that if any questions remain, we break them out into per-issue threads (to keep the discussions coherent and manageable). Also, for the benefit of those who were not at the working group meeting yesterday, we noted in the meeting that there were lots of questions outstanding when the capwap-00 draft publication deadline approached, and rather than delay the release of that draft, we included the far-from-perfect text. I think we agreed in the wg meeting to form a small design team for the purpose of resolving these issues. Further comments inline below... -----Original Message----- >From: "Nancy Winget (ncamwing)" <ncamwing [at] cisco.com> >Sent: Mar 21, 2006 6:58 AM >To: capwap <capwap [at] frascone.com> >Subject: [Capwap] DTLS comments, questions and issues > >Hi, > >The inclusion of DTLS has not addressed most if any of my initial >comments when it was a standalone draft. Beyond the comments I'd >provided previously against the draft-kelly-capwap-lwapp-dtls draft, I >have a few more to add (though I stopped once I realized that most of >my original comments stand as well): > >* The draft now states that DTLS can optionally be used to protect >datagrams. This is quite surprising as I do not recall this being >discussed in great depth. If it is to be considered, and since the >data plane is in a separate port, I would assume that 2 (D)TLS sessions >may be required? If not, how will the sequence number in or >anti-replay detection mechanism of DTLS be maintained for both control >and data planes? Two comments: first, I agree that we should discuss whether this is required. I think we should break out that discussion into its own thread. [NCW] Agreed....it's not clear to me that this was openly discussed before and was surprised by its inclusion (albeit with lack of details) in this draft. Perhaps one of the editors can add this to the issues tracker? Secondly, DTLS is transport independent; the DTLS session is uniquely identified by the DTLS record layer. Combining this with the fact that DTLS is a datagram protocol, this net result is that a single DTLS security association may utilize multiple communication channels for transport (e.g. N separate ports) without penalty. I'm not arguing that we should do this - I think we need to address the underlying question of capwap data channel security before going there. [NCW] While I'm sure that a single DTLS security association can provide the means of securing two different communication channels, I believe updates to the DTLS and specifically to the applicability for CAPWAP must be explicitly defined. [D]TLS only describes the generation of keying material for securing only a single channel, so consideration for the extra material has to be explicitly defined. Also, the security considerations and threat models must also be provided. >* Discovery to DTLS-Init state description: > - The AC state reflects that it is a meta state, which is not quite >right. Since there is a DTLS-complete, it is appropriate for the AC to >enter this state as it is initiating a potential connection with the >WTP. Yes, I agree that this is rough. There is fundamental tension here between the desire to provide DoS resistance (by remaining stateless until the last possible moment) and the desire to provide determinism in the state machine. I have some ideas about how to address this, but we need to decide something related to NAT traversal first. I will start a separate thread on that point so that we can move this forward. [NCW] I will look forward to exploring this with you. >* The descriptions for the WTP actions for the DTLS-Init to Idle and >DTLS-Init to Discovery seem too similar. What is the difference >between an unsuccessful DTLS session establishment and a failed DTLS handshake? >A similar conflict arises in the AC's descriptions. Agree. This was inadverantly included, and is confusing. >* The DTLS-Init to DTLS-Complete appears that it implies a successful >DTLS session establishment and should be explicitly stated so....though >I am not sure why there needs to be such a distinction unless a true >capture of the DTLS state machine is warranted and these 2 states do >not fully cover. Yes, the current intent is that DTLS-Complete implies an established session. We could change the state name (to DTLS-Established?) to make this more clear if that would help. There are currently two states as there are multiple exits possible from DTLS-Init (i.e. failure or success). We could encode these multiple exits as separate transitions, but using separate states seems more clear. This skirts a problem I noted when trying to edit the state machine: sometimes the emphasis is on the states, and sometimes the emphasis is on the transitions (moore vs mealy state machines?). This is quite confusing (to me, at least), and we should try to clean this up. [NCW] I agree. The benefit of having included DTLS is having separated the mechanism for securing the communication channel as well as providing better agility for the crypto; however, such benefits introduce more complexity than was originally specified. Having stated that, we may have to resort to such state machines as you suggest....it may also be that we may have to resort splitting the state machines one for the WTP and one for the AC. > - The explanation for WTP and AC needs to clarify how each party >knows the DTLS session is live and is authorized to begin protected traffic. Agree that we need more complete specification of the state transitions... >* Under which conditions does the AC goes from the DTLS-Init to Idle or >Discovery? There's an inconsistancy between the figure and the text. >That is, there are several events within the DTLS conversation at which >the AC may choose to fail and tear down the DTLS conversation. My >suggestion is that when these fail, they should go back to the Idle >state. Agree. >* The DTLS-Reset state doesn't seem to make sense or is inconsistant >with the general LWAPP framework. What does it mean to be in a >DTLS-Reset state? Does it mean a full DTLS session must be established? To be in DTLS-Reset implies that DTLS session tear-down has just completed, but there are still capwap session elements. That is, this state is entered when the DTLS security context has been destroyed. Once this occurs, DTLS notifies the capwap implementation, at which point capwap must destroy its session context (or re-initialize for a new session). [NCW] Okay, it seems that we agree in principle, though I think from the state machine, there seems to be an implication that a DTLS-Reset does not force a "capwap" reset. I believe that whether the DTLS-Reset fails or succeeds, it must be in conjuction with a "capwap" reset. >If so, then it is an effective Reset from the overall state machine >standpoint.... > - why does a new configuration warrant a DTLS-Reset? I don't know. This change is propagated from lwapp-03 (where you can go from config to reset), and DTLS-reset is inserted ahead of the original reset transition. My guess is that the reset transition was intended for cases where the config change is so dramatic that a WTP reboot is required. [NCW] Ah, got it. My question went more to the original comment of converging DTLS-Reset and Reset into the same state. > - why does an image update warrant a DTLS-Reset? Again, so the wtp can reboot with the new image. There is a more subtle question lurking in the shadows here, though, and we can address this in the design team: should we support session resumption (a la TLS)? [NCW] Same comment as above. Though, I think we do need to be somewhat careful between a full teardown of DTLS vs. a session resumption. I'd prefer that the resumption be construed as a "rekey" (which I don't believe needs to be called out as a separate state) and the DTLS-reset should be a full teardown of the DTLS session. > - it seems that perhaps for both of the above, the WTP should go back >to Idle or DTLS-Init again. > - a Run to DTLS-Reset should force a full CAPWAP Reset, so why not >merge and retain the original Reset as is? Because the DTLS session must be cleaned up first. I'd want to think about whether you'd want to collapse these into one state or not before saying more, but my gut feel is that separate states are warranted and add clarity to the spec. Still, let me think about this a bit more. [NCW] Fair enough. I do believe that they can be merged as the reset imho would imply initiating the DTLS teardown as well as the "capwap" particular cleanup. >* Why does a key refresh in the DTLS warrant a full state transition? >What is implied by a DTLS-Rekey? This gets to some complexity which is not currently called out in the draft: DTLS does not provide support for session lifetimes - the controlling application must provide this functionality. This means we need to fully specify the rekeying interface between capwap and dtls. [NCW] Rekeying was part of the original draft, albeit the lifetimes were not explicitly called out. Though, this may be construed as policy driven? As for whether it merits a full state transition, I think my original text said this is a meta-state, and that the rekeying happens "behind the scenes", below the awareness of capwap. However, I was wrong about that. Since capwap must provide the controls for this process, it must explicitly initiate the rekey, and it must decide to do if it fails. These factors lead me to believe that separate state is necessary. [NCW] Hmmm...I will have to think about promoting the rekey into a full state as well....your comment of rekey failures forcing a teardown (Reset?) is fair. Scott _________________________________________________________________ To unsubscribe or modify your subscription options, please visit: http://lists.frascone.com/mailman/listinfo/capwap Archives: http://lists.frascone.com/pipermail/capwap
- RE: DTLS comments, questions and issues, (continued)
- RE: DTLS comments, questions and issues Michael Montemurro, March 21 2006
- RE: DTLS comments, questions and issues Nancy Winget (ncamwing), March 21 2006
- Re: DTLS comments, questions and issues Scott G. Kelly, March 21 2006
- RE: DTLS comments, questions and issues Nancy Winget (ncamwing), March 21 2006
- RE: DTLS comments, questions and issues Abhijit Choudhury, March 22 2006
Results generated by Tiger Technologies using MHonArc.