The EAP-PSK Protocol: A Pre-Shared Key Extensible Authentication Protocol (EAP) Method
draft-bersani-eap-psk-11
Revision differences
Document history
| Date | Rev. | By | Action |
|---|---|---|---|
|
2006-10-17
|
11 | (System) | IANA Action state changed to Waiting on RFC Editor from In Progress |
|
2006-10-17
|
11 | (System) | IANA Action state changed to In Progress from Waiting on Authors |
|
2006-10-16
|
11 | (System) | IANA Action state changed to Waiting on Authors from In Progress |
|
2006-09-26
|
11 | (System) | IANA Action state changed to In Progress |
|
2006-08-10
|
11 | Amy Vezza | State Changes to RFC Ed Queue from Approved-announcement sent by Amy Vezza |
|
2006-07-24
|
11 | Amy Vezza | IESG state changed to Approved-announcement sent |
|
2006-07-24
|
11 | Amy Vezza | IESG has approved the document |
|
2006-07-24
|
11 | Amy Vezza | Closed "Approve" ballot |
|
2006-07-21
|
11 | (System) | Removed from agenda for telechat - 2006-07-20 |
|
2006-07-20
|
11 | Amy Vezza | State Changes to Approved-announcement to be sent from IESG Evaluation by Amy Vezza |
|
2006-07-20
|
11 | Yoshiko Fong | IANA Evaluation Comment: IANA has questions about this document. THe document says that IANA should register a new name space called EXT_Type values. Should that … IANA Evaluation Comment: IANA has questions about this document. THe document says that IANA should register a new name space called EXT_Type values. Should that registry be located within one of the existing EAP registries or should the EXT_Type values be in a completely new registries? Are there to be any initial registrations in the EXT_Type registry other than value 255 for Experimental Use? The document asks that a new EAP Method Type for EAP-PSK be established. In the registry: http://www.iana.org/assignments/eap-numbers EAP-PSK has been assigned method type value 47. Can IANA assume that the authors are satisfied that this part of their requirements is complete? |
|
2006-07-20
|
11 | Lisa Dusseault | [Ballot Position Update] New position, No Objection, has been recorded for Lisa Dusseault by Lisa Dusseault |
|
2006-07-19
|
11 | Mark Townsley | [Ballot Position Update] New position, No Objection, has been recorded for Mark Townsley by Mark Townsley |
|
2006-07-19
|
11 | Magnus Westerlund | [Ballot Position Update] New position, No Objection, has been recorded for Magnus Westerlund by Magnus Westerlund |
|
2006-07-18
|
11 | Ross Callon | [Ballot Position Update] New position, No Objection, has been recorded for Ross Callon by Ross Callon |
|
2006-07-18
|
11 | Sam Hartman | [Ballot comment] Way too much of the description of the protocol is found only in the diagrams. If I were doing a more complete review … [Ballot comment] Way too much of the description of the protocol is found only in the diagrams. If I were doing a more complete review or if this were going for standards track I'd definitely hold a discuss on this issue. I think it inappropriate to claim that passwords must not be used to derive PSKs in the security considerations section and then to provide an appendix describing how to do so. The must should be reduced to a should. |
|
2006-07-18
|
11 | Sam Hartman | [Ballot Position Update] New position, No Objection, has been recorded for Sam Hartman by Sam Hartman |
|
2006-07-17
|
11 | Cullen Jennings | [Ballot Position Update] New position, No Objection, has been recorded for Cullen Jennings by Cullen Jennings |
|
2006-07-17
|
11 | Dan Romascanu | [Ballot Position Update] New position, No Objection, has been recorded for Dan Romascanu by Dan Romascanu |
|
2006-07-17
|
11 | Russ Housley | [Ballot Position Update] New position, Recuse, has been recorded for Russ Housley by Russ Housley |
|
2006-07-14
|
11 | Jari Arkko | [Ballot Position Update] New position, Yes, has been recorded for Jari Arkko |
|
2006-07-14
|
11 | Jari Arkko | Ballot has been issued by Jari Arkko |
|
2006-07-14
|
11 | Jari Arkko | Created "Approve" ballot |
|
2006-07-14
|
11 | (System) | Ballot writeup text was added |
|
2006-07-14
|
11 | (System) | Last call text was added |
|
2006-07-14
|
11 | (System) | Ballot approval text was added |
|
2006-07-08
|
11 | Jari Arkko | Placed on agenda for telechat - 2006-07-20 by Jari Arkko |
|
2006-07-08
|
11 | Jari Arkko | State Changes to IESG Evaluation from Publication Requested by Jari Arkko |
|
2006-07-03
|
11 | Dinara Suleymanova | State Changes to Publication Requested from AD is watching by Dinara Suleymanova |
|
2006-07-03
|
11 | Dinara Suleymanova | Shepherding AD has been changed to Jari Arkko from Mark Townsley |
|
2006-06-22
|
11 | (System) | New version available: draft-bersani-eap-psk-11.txt |
|
2006-05-12
|
11 | Mark Townsley | State Changes to AD is watching from Expert Review::External Party by Mark Townsley |
|
2006-05-12
|
11 | Mark Townsley | Sent to authors In order to publish this document as an Individual Submission, an author needs to send email to rfc-editor@rfc-editor.org requesting publication. The IESG … Sent to authors In order to publish this document as an Individual Submission, an author needs to send email to rfc-editor@rfc-editor.org requesting publication. The IESG will not be shepherding the document itself. The IESG tracker state for this document will be moved to "AD is watching" until the RFC Editor picks it up. As for the IANA allocation, as Bernard mentioned, the current version has addressed review comments and will be allocated a type code accordingly. Bernard, RFC 3748 says that a "Designated Expert can approve allocations once it seems clear that an RFC will be published." I suppose at a minimum this means the request to the rfc-editor has been sent. Have you already sent the request, or do you want to wait until after the rfc editor has acknowledged receipt of the document? |
|
2006-05-12
|
11 | Mark Townsley | Note field has been cleared by Mark Townsley |
|
2006-03-17
|
11 | Mark Townsley | State Changes to Expert Review::External Party from Expert Review::AD Followup by Mark Townsley |
|
2006-03-17
|
11 | Mark Townsley | [Note]: 'Believe this should now be handled by the SEC ADs, given that EMU is chartered there and this is more closely related to that … [Note]: 'Believe this should now be handled by the SEC ADs, given that EMU is chartered there and this is more closely related to that WG than EAP.' added by Mark Townsley |
|
2006-03-13
|
11 | Mark Townsley | State Changes to Expert Review::AD Followup from Expert Review by Mark Townsley |
|
2006-03-13
|
11 | Mark Townsley | State Change Notice email list have been change to florent.bersani@francetelecom.com, eap-chairs@tools.ietf.org from florent.bersani@francetelecom.com |
|
2006-03-13
|
11 | Mark Townsley | Email from Bernard WRT Expert Review Status for IANA assignment -------- Original Message -------- Subject: RE: expert review status of EAP-PSK Date: Thu, 2 Mar … Email from Bernard WRT Expert Review Status for IANA assignment -------- Original Message -------- Subject: RE: expert review status of EAP-PSK Date: Thu, 2 Mar 2006 08:44:03 -0800 (PST) From: Bernard Aboba To: BERSANI Florent RD-CORE-ISS CC: Jari Arkko , Tschofenig Hannes , "Walker, Jesse" , "W. Mark Townsley" References: <941BA0BF46DB8F4983FF7C8AFE800BC203E4CA53@ftrdmel3.rd.francetelecom.fr> Given that EAP-PSK has addressed the review comments, it should be allocated an IANA Type Code. I will send a message to IANA to that effect. On Thu, 2 Mar 2006, BERSANI Florent RD-CORE-ISS wrote: > Hi Jari & Bernard, > > I hope you are doing fine and I am looking forward to greeting you at IETF 65 in Dallas. > > I understand we all have our share of work to deal with but I am concerned about EAP-PSK not being appropriately put back on track (for now ;-)). > > As per the email below, the appointed expert reviewer, Jesse Walker, concluded his review with the approval of the new version of EAP-PSK (v10 available at http://www.ietf.org/internet-drafts/draft-bersani-eap-psk-10.txt). > > Still the IETF datatracker still indicates that it is under expert review with denial of IANA allocation of EAP type (https://datatracker.ietf.org/public/pidtracker.cgi?command=view_id&dTag=11341&rfc_flag=0) and the EAP issues page (http://www.drizzle.com/~aboba/EAP/eapissues.html) still indicated status DENIED. > > Could you please indicate me any next steps I should take in order to have EAP-PSK put back on track for allocation of the EAP Type by IANA and publication as an experimental RFC? > > Do you have an idea of the timeline for EAP-PSK to be allocated its EAP type and put back on the IESG agenda? > > Many thanks in advance, > > Best regards, > > Florent Bersani > > -----Message d'origine----- > De : BERSANI Florent RD-CORE-ISS > Envoyé : dimanche 12 février 2006 14:35 > À : Jari Arkko; Bernard Aboba > Cc : W. Mark Townsley; 'Walker, Jesse'; Tschofenig Hannes > Objet : RE: expert review status of EAP-PSK > > Hi Jari, Hi Bernard, > > Following Jesse's last comments in his expert review (see below), we have updated EAP-PSK (see attachment fyi before it appears on the archive). > > If we understood correctly, provided Jesse does not say the contrary, we believe this now successfully concludes EAP-PSK expert review. > > May we respectfully request that: > a) EAP-PSK be allocated the EAP-Request/Response Type number by IANA (as per RFC 3748 process) > b) EAP-PSK be resinserted in the appropriate place of the RFC editor queue from which it was temporarily extracted as per your request (to let its expert review finish without the IESG having to track its status) > > Many thanks in advance, > > Best regards, > > Florent Bersani > > P.S: see some comments in-line on Jesse's points. > > ________________________________ > > De : Walker, Jesse [mailto:jesse.walker@intel.com] Envoyé : vendredi 13 janvier 2006 04:28 À : BERSANI Florent FT; Jari Arkko; Tschofenig Hannes Cc : Bernard Aboba; W. Mark Townsley Objet : RE: expert review status of EAP-PSK > > > > Gentlemen, > > Thanks for you patience with my review of EAP-PSK v8--only a month after promised. There were more interrupts than expected, which required me to reread numerous times. > > The new document is wonderful. I have a limited set of comments this time, all trivial, I think. Here they are: > > page 12: "EAP-PSK uses a 16-byte Pre-Shared Key called the PSK as its initial static credential." Actually, the credential includes the identities of the EAP peer and the EAP server. is the EAP peer's credential. EAP peer NAI is the EAP server's name for PSK. Similarly, is the EAP server's credential, and EAP server NAI is the EAP peer's name for PSK. > [FB] agreed, section 2.2.1 updated: > > EAP-PSK uses a triplet (ID_P, ID_S, PSK) as its initial static credential. > > * ID_P is the EAP peer's NAI (see Section 3.2 (EAP-PSK Second Message) < and Section 6.11 (Fragmentation) for more information on ID_P). > * ID_S is the EAP server's NAI (see Section 3.2 (EAP-PSK Second Message) and Section 6.11 (Fragmentation) for more information on ID_P). > * PSK is a 16-byte pre-shared key. PSK is not a session key: it is a key that is used to derive static long-lived keys for EAP-PSK. > > page 12: "The security properties of the protocol may be compromised if it has wider distribution." "may be" is an understatement. If the key is shared further, then it loses its ability to provide any authentication. Replace "may be" with "is". It is worth adding a note that EAP-PSK shares this property with all other symmetric key methods (including all password based methods), all marketing claims by people who don't know what they are talking about to the contrary. > > > [FB] agreed, section 2.2.1 updated:The security properties of the protocol is compromised if it has wider distribution. Please note that EAP-PSK shares this property with all other symmetric key methods (including all password based methods). > > page 15: "In case AES-128 is deprecated for security reasons, EAP-PSK should also be deprecated and a cut-and-paste EAP-PSK' should be defined with another block cipher." A note should be added to avoid chosen protocol attacks when doing this. > [FB] agreed, section 2.2 updated: The use of a different EAP-Request/Response Type number for EAP-PSK' will prevent this new method from being vulnerable to chosen protocol attacks. > > page 18: "Figure 4: Overview of AKEP2". The protocol depicted is actually named MAP1 in [15]. Message 2 should carry an encrypted key to be called AKEP2. (And actually MAP1 does not include A's id in message 1). > [FB] agreed (apart the remark on carrying an encrypted key which applies to AKEP1 but not AKEP2), section 2.2.2 updated > > It is also worth noting that [14] (Bellare, M. and P. Rogaway, "Entity Authentication and Key Distribution," 1994.) focuses on cryptography and not on designing a real-life protocol. Thus, as noted in subsection "Out-Of-Band-Data" of [14] (Bellare, M. and P. Rogaway, "Entity Authentication and Key Distribution," 1994.) , Alice has to send A, its identity, to Bob so that Bob may select the appropriate credential for the sequel of the conversation. This leads to a slightly complemented version of AKEP2 for EAP-PSK as depicted in Figure 5 (Overview of AKEP2 with out-of-band data) . > > > > page 19: "It has been recommended by the NIST under the name CMAC ." Then why continue to call it OMAC1? At some point people will forget what OMAC1 is. > [FB] agreed, whole document updated and cmac entry added to section 1.2 > > page 24: It would be useful to protect the type and flags field to protect against chosen a chosen protocol attack. This is important, because it seems likely that EAP-PSK will be considered in peer-to-peer settings such as meshes, where either party can be both a server and a peer. The EVE1 protocol (same as MAP1, but with A and B's identities in message 2 reversed) is an example of such a protocol that could be implemented that could be used by a man-in-the-middle to compromise the responder. (The Bellare-Rogaway model assumes that the two parties execute only a single protocol.) Protecting the "protocol" number specified by the type field would preclude this vulnerability. > [FB] see section 2.2.3, type and flags are protected in the protected channel > > page 24. Somewhere it should be noted that both the peer and the server must commit to their RAND_S and RAND_P to protect their partners from flooding attacks. Section 6.8 would be one appropriate place to note this. > [FB] agreed, section 6.8 updated Please note that both the peer and the server must commit to their RAND_S and RAND_P to protect their partners from flooding attacks. > > page 46. As noted above, it would be fair to claim that EAP-PSK provides mutual authentication if it is based on a pairwise PSK of sufficient strength. If the PSK is not pairwise or not sufficiently strong, then it does not provide authentication. In this way it is no different than other authentication protocols based on pre-shared keys, despite all marketing claims to the contrary. > [FB] agreed, section 6.1 updated EAP-PSK provides mutual authentication if it is based on a pairwise PSK of sufficient strength. If the PSK is not pairwise or not sufficiently strong, then it does not provide authentication. In this way EAP-PSK is no different than other authentication protocols based on pre-shared keys. > > page 47: Similarly, a strong pairwise PSK is required to assert message integrity. > [FB] agreed, section 6.3 updated EAP-PSK provides integrity protection if it is based on a pairwise PSK of sufficient strength. If the PSK is not pairwise or not sufficiently strong, then it does not provide authentication. In this way it is no different than other authentication protocols based on pre-shared keys. > > > > page 47. It would be fair to say that EAP-PSK provides replay protection if the nonces are cryptographically random, i.e., unpredictable to the adversary, and not otherwise. Hence cryptographic randomness is a requirement for correct implementation of the protocol. > [FB] as per bellare-rogaway papers, although the random numbers RA and RB must be random for the mutual authentication part, then nonce N used in the protected channel to provide replay protection of the communication over the protected channel may well be a counter, which it is in EAP-PSK > > page 50: If you do not include a note requiring the peer committing to the RAND_P value it selects for a session and the server committing to the RAND_S value it selects for the session, I cannot understand how the design avoids denial-of-service attacks based on flooding lots of different random values. > [FB] agreed, section 6.8 updated > > > > -----Original Message----- > > From: BERSANI Florent SCR [mailto:florent.bersani@francetelecom.com] > > Sent: Tuesday, December 13, 2005 6:51 AM > > To: Walker, Jesse; Jari Arkko; Tschofenig Hannes > > Cc: Bernard Aboba; W. Mark Townsley > > Subject: RE: expert review status of EAP-PSK > > > > > > Hi Jesse, > > > > Resending as per your request see below - how come this fell off your > > stack ;-) > > > > You can look at an alternative presentation as promised at IETF 63 at > > http://www.tschofenig.com:8080/eap-psk/ > > > > Hannes and I would be glad to work with you on resolving the pending > > issues. > > > > Best, > > > > Florent > > > > > > -----Message d'origine----- > > De : BERSANI Florent SCR/BBES > > > > Envoyé : lundi 18 juillet 2005 08:46 > > À : 'jesse.walker@intel.com' > > Cc : 'Tschofenig, Hannes'; 'jari.arkko@piuha.net' > > Objet : Your review of EAP-PSK - section 1 AK and KDK > > > > Hi Jesse, > > > > Hard to get my hands back to work after a long sabbatical leave. Anyway, > > it is a pleasure to benefit from your review of EAP-PSK. > > > > Pls find below first comments to your review. > > > > > > Hannes and I have updated the draft accordingly, pls find it attached to > > this mail before it appears in the archive. Sorry for the xml snippets in > > my text below. > > > > I don't know how we should deal with this: I'd recommend starting the > > discussion offline and moving to the mailing list once we have reached > > resolution of the open issues or when we have some questions/disagremments. > > Would this be OK for you? > > > > For the sake of keeping the emails of reasonable lenght I have split my > > answer according to your review section numbering > > > > I have some questions on the following notions you are using: > > > > A) Forward secrecy. I am not sure I get your point: I am not familiar with > > forward secrecy although I know perfect forward secrecy. From a protocol > > point of view, although it is safer to delete unused keys (e.g. PSK), > > having PSK or AK,KDK gives exactly the same rights. > > > > B) Prefix attack. Could you explain the prefix attack on AK and KDK you > > are alluding to? > > > > Pending my better understanding of what you call prefix attacks, I'd like > > to discuss some points you raise on key naming and separation. > > > > Regarding key naming, I think that Hannes and I have made clear that the > > EAP-PSK keys must not be used by any other protocol and how an EAP server > > and an EAP peer identify the right keys to use with each other. Including > > explicit key names like (EAP-PSK, PSK, EAP server NAI, EAP peer NAI) does > > not help much as we cannot guarantee that the encoding we would define > > will be unambiguous with other key naming schemes (for instance key naming > > used by some FAP protocol or whatever). Moreover, I do not think that key > > names, should we include any, would be used by implementers. Furthermore, > > we have no features within EAP-PSK, contrary to some other protocols which > > need key identifiers e.g. IEEE 802.11i, that need to refer to EAP-PSK keys. > > Suggestion is thus no to including any "official" key naming scheme. > > > > Regarding inclusion of identity within the AK and KDK derivation, we had > > chosen not to include it for the sake of simplicity. I agree that this > > could prove to be a nice feature that saves the day of poor administrators > > that share the same PSK across many devices. Let us think a bit more on > > how we can do this (thx BTW for your nice suggestions). > > > > Best, > > > > Florent > > > > 1. AKA and KDK issues > > > > The text should point out more explicitly that AK and KDK are static long- > > lived keys, i.e., not session oriented. > > > > [FB] OK, I've added the following text to 2.1.1 and 2.1.1.1 and 2.1.1.2: > > > > "EAP-PSK uses a 16-byte Pre-Shared Key called the PSK as its initial > > static credential. PSK is not a session > > key: it is a key that is used to derive static long-lived keys for EAP-PSK. > > > > This PSK is used, as shown in , to derive > > two 16-byte static long-lived subkeys, respectively called the > > Authentication Key (AK) > > and the Key-Derivation Key (KDK). > > > > This derivation MUST only be done once: it is called the key setup. > > For an explanation of why PSK > > > > is not used a static long-lived key but only as the initial keying > > material from which the static long-lived > > keys, AK and KDK, that are actually used by the protocol EAP-PSK, > > see " > > > > "AK is a static long-lived key derived from the PSK, see > />. AK is not a session key. > > > > > > The EAP server and EAP peer identify the > > > > correct AK to use with each other thanks to their respective NAIs. > > This means that there MUST only be at > > most one AK shared between an EAP server using a given server NAI > > and an EAP peer using a given peer NAI. This is the case when there > > is at most one PSK shared between an EAP server using a given server NAI > > and an EAP peer using a given peer NAI, see > />. > > > > > > The EAP peer chooses the AK to use based on the EAP server NAI > > that has been sent by the EAP server > > > > in the first EAP-PSK message (namely ID_S, see > target="stauthent" />) and the EAP peer NAI it chooses > > to include in the second EAP-PSK message (namely ID_P, see > target="stauthent" />)." > > > > And similarly for KDK. > > > > Does that adress your concerns? > > > > Deleting the PSK SHOULD be a SHOULD and the default action. > > > > [FB] OK, included the SHOULDs > > > > -----Message d'origine----- > > De : BERSANI Florent SCR/BBES > > > > Envoyé : lundi 18 juillet 2005 08:48 > > À : 'jesse.walker@intel.com' > > Cc : 'Tschofenig, Hannes'; 'jari.arkko@piuha.net' > > Objet : Your review of EAP-PSK - section 2 TEK, MSK, and EMSK issues > > > > Hi Jesse, > > > > Pls find below our first comments based on section 2 of your review. > > > > Again I'd like to understand what you mean by "prefix attacks" ("Since the > > length is not included in the key derivation, prefix attacks are again > > possible against the key derivation algorithm itself). > > > > Best, > > > > Florent > > > > > > 2. TEK, MSK, and EMSK issues > > > > The derivation of the TEK, MSK, and EMSK depend on only RAND_S and KDK. > > This means the peer assumes (i.e., "trusts") that the server generates a > > statistically unique RAND_S for each session. If the server fails to > > generate a statistically unique RAND_S, then the TEK, MSK, and EMSK are > > compromised on each repeated session. > > > > [FB] Actually, TEK, MSK and EMSK only depend on RAND_P (we've amended some > > text in 2.2.2 to clarify) and KDK, which is noted in 6.6 of the draft. Let > > us highlight two reasons why we made this choice: > > A) most obviously we wanted to stick to AKEP2 > > B) we wanted to keep the protocol as simple as possible (implementability, > > efficiency) and we assumed that we could live off without this feature, > > provided we mentioned it as a warning. As the TEK, MSK and EMSK are only > > to be used if mutual authentication is successful and this mutual > > authentication involves randomness from the server side, risks should be > > "limited" > > > > Do you think this is a blocking point? > > > > > > > > > > -----Message d'origine----- > > De : BERSANI Florent SCR/BBES > > > > Envoyé : lundi 18 juillet 2005 08:49 > > À : 'jesse.walker@intel.com' > > Cc : 'Tschofenig, Hannes'; 'jari.arkko@piuha.net' > > Objet : Your review of EAP-PSK - section 3 protocol issues > > > > Hi Jesse, > > > > Pls find below our first comments based on section 3 of your review. > > > > Best, > > > > Florent > > > > I tend to (respectfully disagree) with the points you mention: > > > > (a) ID_S is not explicity included in the second message. However, it is > > included in MAC_P = OMAC1-AES-128(AK, ID_P||ID_S||RAND_S||RAND_P), as > > Thomas Otto pointed out on the mailing list. We could however include ID_S > > without any problem (just by making sure to update the appropriate limit > > on the length of the NAI to avoid fragmentation) but I do not see the need > > to do so. > > > > (b) Again, I think there is some confusion between what is included > > explicitly and what is cryptographically protected. My claim is that we > > fully respect AKEP2 regarding cryptographic protection (i.e. the MACs of > > EAP-PSK are exactly the MACs of AKEP2) but we take some liberty on the > > explicit content of the message (because we can reconstruct this content > > without trouble). The server MACs the peer random number in message 3: > > MAC_S = OMAC1-AES-128(AK, ID_S||RAND_P) > > > > (c) Section 2.2.3 states that The Tag is a MAC that protects both the > > Header and the Plain Text > > > > Payload. So the protection comes from EAX. We've included the following > > clarifying text "the PCHANNEL_S_0 and PCHANNEL_P_1 fields of the third and > > fourth EAP-PSK messages contain a MAC computed thanks to > > TEK that protects the integrity of the messages. For a detailed list > > of the fields of the messages that are integrity protected > > please refer to ." We agree that it would > > be nice to find some notation to show What is integrity protected and what > > is not but we felt that the added complexity to do so would in the end not > > benefit to the reader. We are however looking again at this issue. > > We do not see a case where your cut and paste attack could apply. Could > > you please clarify? It is true that there is no explicit crypto binding > > between the MAC_S and P_CHANNEL_S_0 but there is no need to do so: the > > only ting that matters is that the conversation be "coherent", which is > > the case as PCHANNEL_S_0 is computed according to a TEK which is only put > > in place if MAC_P is correct. > > > > > > > > > > -----Message d'origine----- > > De : BERSANI Florent SCR/BBES > > > > Envoyé : lundi 18 juillet 2005 08:50 > > À : 'jesse.walker@intel.com' > > Cc : 'jari.arkko@piuha.net'; 'Tschofenig, Hannes' > > Objet : Your review of EAP-PSK - section 4 security bounds > > > > Hi Jesse, > > > > Pls find below our first comments based on section 4 of your review. > > > > Thks for your estimates of the key lives, with which we concure. > > > > Best, > > > > Florent > > > > 4. Security Bounds > > > > Page 39, Section 6.5 asserts that EAP-PSK is not subject to dictionary > > attack. This is not true when the PSK is computed from a feasibly searched > > key space, e.g., when it is, or is derived from, a password. > > > > [FB] that's why section 6.5 says: > > > > "Indeed, the PSK used by EAP-PSK > > > > must not be derived from a password. Derivation of the PSK from a > > > > password may lead to dictionary attacks." > > > > Would you like us to include some more text? > > > > The text exhibits some confusion about how to measure the EAX key strength. > > > > > > [FB] I don't know to which part of the draft you are alluding to. Maybe > > the part where we bound the number of messages that are exchanged? If this > > is the case, then the bound is only for the sake of replay protection not > > life of the key. > > > > It is sufficient to say that EAP-PSK appears as robust in this dimension > > as any other EAP method. > > > > [FB] :-)) > > > > > > > > > > -----Message d'origine----- > > De : BERSANI Florent SCR/BBES > > > > Envoyé : lundi 18 juillet 2005 08:49 > > À : 'jesse.walker@intel.com' > > Cc : 'Tschofenig, Hannes'; 'jari.arkko@piuha.net' > > Objet : Your review of EAP-PSK - section 3 retries, replays and errors > > > > Hi Jesse, > > > > Pls find below our first comments based on section 3 of your review. > > > > Best, > > > > Florent > > > > 3. Retries, Replays, and Errors > > > > It will be necessary somewhere to specify how to handle retransmissions, > > i.e., we need a standardized treatment of "retries" as distinct from > > "replays". This holds for both the messages in the base protocol, and > > extended messages protected by the nonce N. Retries should cause the > > receiver to retransmit, while replays should be discarded. The difference > > between the two will always be an arbitrary distinction, but is needed for > > interoperability's sake. > > > > [FB] My understanding of EAP is that it is the EAP layer that deals with > > retransmissions so EAP-PSK should never bother to "resend" a message. > > Regarding, an invalid EAP-PSK message meaning a message that is incorrect > > from a syntaxic or a cryptographic point of view, the behavior is that the > > message be silently discarded until either a valid message is received or > > there is a timeout/threshold of wrong messages that are received. We've > > included the following text to clarify > > > > > > t>When a party receives an EAP-PSK message, it checks that the message > > > > t>is syntaxically valid in accordance with > > the message formats defined in . If the message > > is syntaxically incorrect, then it is silently discarded.Then it checks > > the cryptographic validity of this message, > > > > i.e. it checks the MAC(s), namely > > > > If the received message is the first EAP-PSK message, there is no > > MAC to check as none is included in message 1. > > If the received message is the second EAP-PSK message, the validity > > of MAC_P is checked. > > If the received message is the third EAP-PSK message, the validity > > of MAC_S is checked and then the validity of the Tag included in > > P_CHANNEL_S_0 is checked. > > The validity checks must be done in this order to avoid > > unnecessarily deriving TEK, MSK and EMSK in case MAC_S is invalid, > > > > meaning that mutual authentication has failed. Indeed, TEK is used > > to verify the validity of the Tag included in P_CHANNEL_S_0. > > If the received message is the fourth EAP-PSK message, the validity > > of the Tag included in P_CHANNEL_P_1 is checked. > > If the received message is an EAP-PSK message different from the > > first four ones, then validity of the Tag included in P_CHANNEL is > > checked > > > > In case a validity check fails, the message is silently discarded. > > There can be a counter to track the number of silently > > discarded messages . In case, there is an encrypted > > payload in the message (namely in the PCHANNEL attribute), > > then the encrypted payload is decrypted. Then, if the decrypted payload > > is syntaxically incorrect then the message is silently discarded. > > > > > > And: > > > > > > For the sake of simplicity and denial of service resilience, EAP-PSK > > has chosen not to > > include any error messages. Hence, an "invalid" EAP-PSK message is > > silently discarded. Although this makes > > interoperability testing and debugging harder, this leads to simpler > > implementations and does not open any > > venue for denial of service attacks. > > > > > > > > The document uses sequence numbers for the extended portion of the > > protocol, but fails to indicate the sequence spaces associated with each, > > how they are initialized, and how they are used to detect replays. > > I believe that there needs to be different sequence spaces for each of the > > two logical half-duplex channels, but perhaps the request/response nature > > of EAP will save us from this fate. > > > > [FB] In section 2.2.3 we can read The nonce N is used to provide > > cryptographic security to the > > > > encryption and data origin authentication as well as protection replay. > > > > Indeed, N is a 4-byte sequence number starting from <0> that is > > > > monotonically incremented at each EAP-PSK message within > > one EAP-PSK dialog, except retransmissions of course. > > > > > > N was taken to be 4 bytes to avoid 16-byte > > > > arithmetic. Since EAX uses a 16-byte nonce, N is padded with 96 zero > > > > bits for its high order bits. > > > > For cryptographic reasons, N is not allowed to wrap around. In the > > unlikely, yet possible, event of the server sending an EAP-PSK message > > with > > > > N set to <2**32-2>, it must not send any > > > > further message on this protected channel, which would cause to reuse > > the value 0. > > Either the conversation is > > > > finished after the server receives the EAP-PSK answer from the peer > > > > with N set to <2**32-1> and the server > > > > proceeds (typically by sending an EAP-Success or > > > > Failure), or the conversation is not finished and must then be > > > > aborted (a new EAP-PSK dialog may subsequently be started to try > > > > again to authenticate). > > > > Thus, the maximum number of messages that can be exchanged over the > > > > same protected channel is 2**32 (which should not be a limitation in > > > > practice as this is approximately equal to 4 billions). > > > > > > > > Thus, the peer messages include an odd nonce and the server ones an even. > > I've added some text to the replay protection section to clarify > > > > EAP-PSK provides replay protection thanks to the Nonce N of its > > protected channel > > (see ). This nonce is initialized to 0 by > > the server and monotonically incremented by one by the party that receives > > a valide EAP-PSK message. > > For instance, after receiving from the server a valid EAP-PSK > > message with Nonce set to x, the peer will answer with > > an EAP-PSK message with Nonce set to x+1 and wait for an EAP-PSK > > message with Nonce set to x+2. A retransmission > > of the server's message with Nonce set to x, would cause the peer > > EAP layer to resend the message in which > > > > Nonce was set to x+1, which would be transparent to the EAP-PSK > > layer. > > > > The protocol seems to protect itself from reflection attacks by including > > the EAP header in the MAC. This is a detail the text glosses over and > > needs to be made explicit, especially in extended authentication > > protection provided by EAX, as it will likely be missed by many > > implementers. > > > > [FB] I am not sure how to include text to cover this. I've added > > > > > > t>EAP-PSK provides protection against reflection attacks in case of an > > extended authentication because: > > > > It integrity protects the EAP header (which contains the indication > > Request/Response. > > It includes two separate spaces for the Nonces: the EAP server only > > receives messages with odd nonces, whereas the EAP peer only received > > messages with even nonces. > > > > > > > > One notable omission from the spec is failure processing. As an example, > > what does the server do if it receives a message 2 for a protocol instance > > that it has not initiated? Experience shows that different implementers > > will handle such messages in different ways, almost always to the > > detriment of interoperability. > > > > [FB] you're right. Tentative fix is explained above: silently discard. > > > > > > > > > > -----Message d'origine----- > > De : BERSANI Florent SCR/BBES > > > > Envoyé : lundi 18 juillet 2005 08:51 > > À : 'jesse.walker@intel.com' > > Cc : 'Tschofenig, Hannes'; 'jari.arkko@piuha.net' > > Objet : Your review of EAP-PSK - section 5 odds and ends > > > > Hi Jesse, > > > > Pls find below our first comments based on section 5 of your review. > > > > Best, > > > > Florent > > > > > > 5. Odds and Ends > > > > Here are a number of miscellaneous comments: > > > > It would be worth considering replacing OMAC1 by CMAC. NIST SP800-38B [2] > > defines CMAC as the "approved" CBC-MAC variant. > > > > [FB] agreed as noted in SP800-38B, OMAC1 and CMAC are equivalent. I've > > added the mention of CMAC. I favor leaving > > OMAC1 in place as there is some coherence with EAX. > > > > > > Page 17: What specific security claim is being made by the phrase "proof > > of security"? Please detail the security model and assumptions used, and > > also the specific claims being made based on these. The proof may or may > > not be relevant in the present context. > > > > [FB] I agree that merely saying "proof of security" is not enough. Yet, > > EAP-PSK does not seem to me the right place to make a lecture on provable > > security. So following your remark, our proposed fix is to replace > > offending Text with: > > "It also enjoys up to date review by the cryptographic community, > > > > especially using provable security concepts." > > > > Page 21: The design requires the EAP server to expose its identity and to > > use the same identity with each peer, unless there is something in the > > EAP-Response/Identity triggering the method that tells it otherwise. > > This is a subtle configuration constraint that may not be evident to > > administrators deploying the protocol. > > > > [FB] Good point. > > > > > > Text added: > > In the first EAP-PSK message, the EAP server asserts its identity. > > Given that the EAP-Request/Identity > > and EAP-Response/Identity may not be assumed to have occured > > prior to this sending and that the response included > > in EAP-Response/Identity (if this EAP Identity exchange > > takes) place may not contain the actual NAI the peer shall > > use with EAP-PSK, this means that an EAP server implementing > > EAP-PSK must use the same EAP server NAI > > for all EAP-PSK dialogs with any EAP peer implementing EAP- > > PSK. > > > > Since EAP-PSK aims at simplicity, this should not be a limitation. > > > > Page 23, Figure 9: The hashed RB value constructed above that incorporates > > both RAND_S and RAND_P seems like a better session identifier than the > > RAND_S in messages 3 through 2i+1, because it is computationally > > infeasible for either party to force it to a value used by a prior > > protocol instance. Beginning in message 4, the P_CHANNEL_P_k needs to be > > protected by EAX using the TEK. > > > > [FB] Although nicer from a crypto point of view, this means that the > > session identifier would only be known after the second message. Keeping > > it constant appears to be simpler. Also, since the randomness assumption > > is crucial for security, Although I agree it is a nice investigation field > > to have crypto protocols resilient against weaknesses in their assumptions, > > I feel that here this would be too much for EAP-PSK. Don't you think? > > > > Page 25, Flags field: The figure of the Flags field needs to be cleaned up. > > It should be relabled to have only 8 bits, not 9. And the unreserved field > > should be widened from 1 to 2 bits. > > > > [FB] I don't get this one as the version I seems to have Figure 11 OK. > > > > Page 35: What happens if the tunneled method fragments?=09 > > > > [FB] see section 6.10 "Extensions that require sending a payload larger > > than 960 bytes should provide > > their own fragmentation and reassembly mechanism" also in section 4.2 > > it is said that the EAP extension may only send 960 byte payloads at most. > > > > Page 38, Section 6.1: Until message 2 is fixed to include both ID_S and > > ID_P, EAP-PSK does not provide mutual authentication. > > > > [FB] disagree with this one, see section 3 of your review > > > > Page 38, Section 6.2: The assertion that the R field is protected does not > > yet appear warranted, given that the sequence spaces have not yet been > > completely specified, so replay and perhaps reflection attacks appear to > > be possible, and further given that the message 1 and 3 constructions > > allow an attacker to replay old EAP-PSK messages. The existing text would > > become correct when these issues are addressed. > > > > [FB] The R field is protected by EAX, clarifying text has been added: > > > > This 2-bit R flag is protected because it is encrypted and integrity > > > > protected by the EAX mode of operation, see . > > > > Page 42, Section 6.7: Since message 1 is unprotected, it can be forged by > > an adversary. Once it chooses to initiate an EAP_PSK instance, the server > > must commit to a value RAND_S to enable the peer to recover from a denial- > > of-service attack based on flooding forged message 1s. This is a > > reasonable constraint to put on server implementations. It will require > > you to fill out the missing discussion on the difference between retries > > and replays. RAND_S remains constant across retries, but is changed on all > > protocols instances the server classifies as "new". The receiver should > > retransmit the last message if it receives a duplicate within some retry > > message, and declare a duplicate a replay otherwise. > > > > [FB] I agree, does the filling I've added for retries clarifies? > > > > Page 43, Section 6.8: Actually session independence comes about by > > choosing non-repeating instance identifiers . > > The current protocol lacks this property due to its inability to protect > > against replayed messages 1 and 3. When this is fixed, the protocol will > > have session independence. > > > > [FB] It is not possible IINM to replay message 3. So there is session > > independance if we assume Rand_S and Rand_P to be chosen at randome, isn't > > there? > > > > Page 43, Section 6.9. The protocol design explicitly assumes that neither > > AK nor KDK are shared beyond the two parties utilizing them. AK loses its > > efficacy to mutual authenticate the peer and server with each other when > > it is shared. Similarly, the derived TEK, MSK, and EMSK lose their value > > for authentication when KDK is shared with a third party. > > > > [FB] I've inserted your text. > > > > Page 43, Section 6.12: It should be easy to add a "fast reconnect" if the > > server and peer maintain the TEK and their replay counters. Whether this > > is valuable is dubious, however. > > > > [FB] Since it was dubious, we preferred not to ;-) > > > > Page 46, Section 6.16. I think it is a mistake to not define a > > cryptographic binding mechanism of a key producing inner method and EAP- > > PSK. It is easy to do, and it makes EAP-PSK safe to use key deriving inner > > methods. Subsidiary methods are becoming more important, as IT departments > > are moving to evaluation of the patch level of devices before they allow > > data to pass. > > > > [FB] I think that since EAP-PSK is really meant to be simple, I would be > > suprised that inner methods that need key binding use EAP-PSK. I think > > that a binding mechanism could be implemented as an EAP-PSK extension if > > the need to do so arise. But for now, we do prefer to keep EAP-PSK as > > simple as possible. Is it OK with you? > > > > > > > > > -----Message d'origine----- > > > De : Walker, Jesse [mailto:jesse.walker@intel.com] > > > > > Envoyé : mardi 13 décembre 2005 15:42 > > > À : Jari Arkko; Tschofenig Hannes; BERSANI Florent SCR > > > Cc : Bernard Aboba; W. Mark Townsley > > > Objet : RE: expert review status of EAP-PSK > > > > > > > > Please resend. This item fell off the end of the priority queue. > > > > > > > > > -----Original Message----- > > > > From: Jari Arkko [mailto:jari.arkko@piuha.net] > > > > Sent: Tuesday, December 13, 2005 5:53 AM > > > > To: Walker, Jesse; Tschofenig Hannes; BERSANI Florent SCR/BBES > > > > Cc: Bernard Aboba; W. Mark Townsley > > > > Subject: expert review status of EAP-PSK > > > > > > > > > > Jesse, > > > > > > > > > > If I have understood correctly, we are still in the process of > > > > > > resolving your expert review comments for EAP-PSK. I believe Hannes > > > > > > had some questions back to you (maybe you can resend them, > > > > > Hannes?), > > > > > > could you take a look at the so that the authors and you > > > > > can agree on > > > > > > what needs to change and why. Lets use the eap list so that > > > > > others can > > > > > > participate too, if they want to. > > > > > > > > > > Also, Florent and Hannes -- we are getting regular e-mails from the > > > > > > IESG asking what the status is and what they should do with this > > > > > > individual submission. Can we agree that we're pulling the > > > > > draft from > > > > > > IESG processing until we've resolved the expert review > > > > > satisfactorily? > > > > > > The EAP process defined in RFC 3748 is that you have to pass the > > > > > > expert review before you can get an IANA allocation. > > > > > > > > > > --Jari > > > > > > > > > > > > > > > > > ******************************** > > Ce message et toutes les pieces jointes (ci-apres le "message") sont > > confidentiels et etablis a l'intention exclusive de > > ses destinataires. > > Toute utilisation ou diffusion non autorisee est interdite. > > Tout message electronique est susceptible d'alteration. Le Groupe France > > Telecom decline toute responsabilite au titre de > > ce message s'il a ete altere, deforme ou falsifie. > > Si vous n'etes pas destinataire de ce message, merci de le detruire > > immediatement et d'avertir l'expediteur. > > ********************************* > > This message and any attachments (the "message") are confidential and > > intended solely for the addressees. Any unauthorised > > use or dissemination is prohibited. > > Messages are susceptible to alteration. France Telecom Group shall not be > > liable for the message if altered, changed or > > falsified. > > If you are not the intended addressee of this message, please cancel it > > immediately and inform the sender. > > ******************************** > |
|
2006-03-13
|
11 | Mark Townsley | Note field has been cleared by Mark Townsley |
|
2006-02-14
|
10 | (System) | New version available: draft-bersani-eap-psk-10.txt |
|
2005-12-13
|
11 | Mark Townsley | Email to Authors from Chairs -------- Original Message -------- Subject: expert review status of EAP-PSK Date: Tue, 13 Dec 2005 15:53:02 +0200 From: Jari Arkko … Email to Authors from Chairs -------- Original Message -------- Subject: expert review status of EAP-PSK Date: Tue, 13 Dec 2005 15:53:02 +0200 From: Jari Arkko To: Walker, Jesse , Tschofenig Hannes , BERSANI Florent SCR/BBES CC: Bernard Aboba , "W. Mark Townsley" Jesse, If I have understood correctly, we are still in the process of resolving your expert review comments for EAP-PSK. I believe Hannes had some questions back to you (maybe you can resend them, Hannes?), could you take a look at the so that the authors and you can agree on what needs to change and why. Lets use the eap list so that others can participate too, if they want to. Also, Florent and Hannes -- we are getting regular e-mails from the IESG asking what the status is and what they should do with this individual submission. Can we agree that we're pulling the draft from IESG processing until we've resolved the expert review satisfactorily? The EAP process defined in RFC 3748 is that you have to pass the expert review before you can get an IANA allocation. --Jari |
|
2005-12-13
|
11 | Mark Townsley | CURRENT STATUS Asked EAP WG for review. Response was that Expert Review from IANA denied a code point. Advice from chairs to move to EMU. … CURRENT STATUS Asked EAP WG for review. Response was that Expert Review from IANA denied a code point. Advice from chairs to move to EMU. EMU ADs denied request. Document authors unresponsive according to chairs. Pressure to move to dead state, but I do not want to based on IANA code point denial. Looking for real review from EAP WG or Chairs if I am going to kill this doc. |
|
2005-12-13
|
11 | Mark Townsley | [Note]: 'Awaiting word from EAP chairs on what to do next with this doc. IANA Expert Review denied code allocation.' added by Mark Townsley |
|
2005-12-13
|
11 | Mark Townsley | -------- Original Message -------- Subject: RE: Process question on draft-bersani-eap-psk (Experimental) Date: Tue, 13 Dec 2005 14:56:01 +0100 From: Jari Arkko (JO/LMF) To: Mark Townsley … -------- Original Message -------- Subject: RE: Process question on draft-bersani-eap-psk (Experimental) Date: Tue, 13 Dec 2005 14:56:01 +0100 From: Jari Arkko (JO/LMF) To: Mark Townsley , Bernard Aboba CC: Sam Hartman , Russ Housley , Margaret Wasserman I sent a reminder today to Jesse, asking him to answer the questions authors had on the expert review, and to the authors, asking them to repost their questions. Also, I asked confirmation from the authors that they are not pushing this through the IESG before the exprt review is over and agreed upon. --Jari -----Original Message----- From: Mark Townsley [mailto:townsley@cisco.com] Sent: 13. joulukuuta 2005 15:49 To: Bernard Aboba Cc: Sam Hartman; Jari Arkko (JO/LMF); Russ Housley; Margaret Wasserman Subject: Re: Process question on draft-bersani-eap-psk (Experimental) Jari, Bernard, It looks like either way this document is going to move to dead status. I'd like to document the review objections in the tracker. I would be more comfortable killing this document if it were an EAP WG review (as I believe I requested in the beginning) as opposed to just an Expert Review for an IANA code point behind it. Reason being, is that we get a lot of flak in other groups about the IANA Experts holding too much "power" - this would be a clear case where the IANA code point determined the fate of a document pretty much on its own. At the very least, I would like the EAP WG Chairs to give me a review stating why the document should not advance as it is. Better to pass this by the list as well. Thanks, - Mark Bernard Aboba wrote: >>So, the IESG agreed to shepherd this doc with review through the EAP >>WG. I'm hearing that the EAP WGs recommendation is "Do Not Publish" - is that correct? >> >> > >No. > >draft-bersani-eap-psk has never been reviewed by the EAP WG. Under the >process described in RFC 3748 Section 6, the authors requested a Type >Code allocation review. Here is the process: > > For registration requests where a Designated Expert should be > consulted, the responsible IESG area director should appoint the > Designated Expert. The intention is that any allocation will be > accompanied by a published RFC. But in order to allow for the > allocation of values prior to the RFC being approved for publication, > the Designated Expert can approve allocations once it seems clear > that an RFC will be published. The Designated expert will post a > request to the EAP WG mailing list (or a successor designated by the > Area Director) for comment and review, including an Internet-Draft. > Before a period of 30 days has passed, the Designated Expert will > either approve or deny the registration request and publish a notice > of the decision to the EAP WG mailing list or its successor, as well > as informing IANA. A denial notice must be justified by an > explanation, and in the cases where it is possible, concrete > suggestions on how the request can be modified so as to become > acceptable should be provided. > >Given that the Type Code Allocation was DENIED by the Expert, the >document cannot be published until the issues addressed in the review >are corrected. > >The document therefore cannot be published because of an IANA >considerations problem, not because of EAP WG review (which did not >occur). > > > |
|
2005-12-07
|
11 | Mark Townsley | -------- Original Message -------- Subject: Re: draft-bersani-eap-psk (Experimental) Date: Tue, 18 Oct 2005 13:53:18 +0200 From: Mark Townsley To: Jari Arkko CC: Bernard Aboba , … -------- Original Message -------- Subject: Re: draft-bersani-eap-psk (Experimental) Date: Tue, 18 Oct 2005 13:53:18 +0200 From: Mark Townsley To: Jari Arkko CC: Bernard Aboba , Margaret Wasserman References: <432D9713.2000101@cisco.com> <432DB10B.9010408@piuha.net> <432E61A8.9000606@piuha.net> Jari, Bernard, I need to do something with this draft. Are the authors still working on it? I'd rather progress it or kill it, I don't like limbo. Margaret, we agreed to shepherd this via EAP WG review back in July rather than via the RFC Editor. The review is now effectively saying DNP at this point. Do we even have a DNP process for a document we have agreed to shepherd? Thanks, - Mark Jari Arkko wrote: > Yes, that too. My recommendation is to not > progress this unless the authors come > back and insist on it (we still have to publish > if the authors want it and the informational > RFC requirements are met). It would serve > the community better if the issues were resolved > and perhaps even some drafts taken to > standards track RFCs. > > --Jari > |
|
2005-10-18
|
11 | Mark Townsley | [Note]: 'Requested review of this document from eap-chairs - pinged again on Oct 18' added by Mark Townsley |
|
2005-10-18
|
11 | Mark Townsley | Email from Jari suggesting not to progress this document unless authors insist -------- Original Message -------- Subject: Re: draft-bersani-eap-psk (Experimental) Date: Mon, 19 Sep 2005 … Email from Jari suggesting not to progress this document unless authors insist -------- Original Message -------- Subject: Re: draft-bersani-eap-psk (Experimental) Date: Mon, 19 Sep 2005 09:58:48 +0300 From: Jari Arkko To: Bernard Aboba CC: Mark Townsley , Margaret Wasserman References: <432D9713.2000101@cisco.com> <432DB10B.9010408@piuha.net> Yes, that too. My recommendation is to not progress this unless the authors come back and insist on it (we still have to publish if the authors want it and the informational RFC requirements are met). It would serve the community better if the issues were resolved and perhaps even some drafts taken to standards track RFCs. --Jari Bernard Aboba wrote: >Isn't there also discussion ongoing about whether PSK should go under >IETF change control via the Standards Track or be published now? > >On Sun, 18 Sep 2005, Jari Arkko wrote: > > > >>We've run an expert review on it (by Jessie Walker). Here's >>the initial review results: >>http://mail.frascone.com/pipermail/eap/2005-June/003443.html >> >>From what I understand, there were a number of issues, >>and authors/jesse are still working on to resolve some >>remaing parts. >> >>See also minutes from IETF-63, >>http://www3.ietf.org/proceedings/05aug/minutes/eap.html >> >>--Jari >> >>Mark Townsley wrote: >> >> >> >>>Chairs, >>> >>>The last note I have on this indicates that I am waiting on an EAP WG >>>review of this document. Has something happened here that I am not aware >>>of or perhaps dropped the ball on? >>> >>> >>>2005-07-27 08 [public-townsley] [Note]: 'Requested review of this >>>document from eap-chairs' added by Mark Townsley >>> >>> >>> >>>Thanks, >>> >>>- Mark >>> >>> >>> >>> > > > > |
|
2005-10-18
|
11 | Mark Townsley | Security Review minutes from IETF63 http://www3.ietf.org/proceedings/05aug/minutes/eap.html 5. Methods Discussion (40 min) Goal: Talk about the results of the reviews, make progress EAP PSK Review (10 … Security Review minutes from IETF63 http://www3.ietf.org/proceedings/05aug/minutes/eap.html 5. Methods Discussion (40 min) Goal: Talk about the results of the reviews, make progress EAP PSK Review (10 min) -- J. Walker http://www3.ietf.org/proceedings/05aug/IDs/draft-bersani-eap-psk-08.txt Independent submission to IESG. Requested EAP method type number. Reviewed by Jesse Walker in June. Update integrating some review points in -08 version. Still number of open issues, e.g. for key derivation. Key naming is not planned, since there is no application like fast reconnect. Discussion will be continued on list. Hannes: On key control issue: it wouldn't add more complexity to include it here. Bersani: ok, moving on adding the key control Jari: The right process for this is to talk about the issues and gather more expert reviews on the list Hannes: I am one of the authors of PSK, Jesse actually criticized some things he originally proposed so we are a bit confused what he wants. |
|
2005-10-18
|
11 | Mark Townsley | Security Review from Jesse Walker [eap] methods and expert reviews Walker, Jesse jesse.walker@intel.com Sat, 11 Jun 2005 06:13:10 -0700 * Previous message: [eap] … Security Review from Jesse Walker [eap] methods and expert reviews Walker, Jesse jesse.walker@intel.com Sat, 11 Jun 2005 06:13:10 -0700 * Previous message: [eap] draft-nakhjiri-eap-ho-00.txt * Next message: [eap] methods and expert reviews * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] Jari, My security review of EAP-PSK is below. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D EAP Type Code Allocation Review Template: EAP-PSK As noted in RFC 3748, for EAP methods to obtain a Type Code, Expert Review with Specification is required. The following list of issues is provided as a guideline to potential expert reviewers and method authors. =20 1. Does the method document its security properties in sufficient manner, as required by Section 7.2 of RFC 3748? 1a. Mechanism. Is the mechanism explained? >> YES 1b. Security claims. Are the claimed and not claimed properties listed? >> YES 1c. Justifications for the claims? Is an explanation or reference provided to each of the claims? >> YES, the claims are justified. However, below I note several claims that are false and whose justification therefore should be updated. 1d. Key strength. Is the key strength documented? >> YES, but more discussion is required. See detailed comments below. 1e. Description of key hierarchy. Is the key hierarchy documented? >> YES [Optional, at least for now: does it conform to EAP keying framework?]: >> YES 1f. Indication of vulnerabilities. Are the known vulnerabilities documented? >> NO. There are undocumented vulnerabilities. [Note: it seems unreasonable to require the documentation of unknown vulnerabilities :-) The "known" may of course be "known to reviewer" or "known to author" or "known to the community", but that appears to be best we can do.] 2. Compliance with EAP packet formats 2a. Does the method comply with the packet formats defined in Section 4 of RFC 3748? >> YES 3. Compliance with EAP behaviour 3a. Does the method comply with Success/Failure usage as defined in Sections 2, 2.2, and 4.2? >> YES 3b. Does the method comply with sequence usage as defined in Section 2.1 of RFC 3748? >> YES 3c. Does the method comply with request/response processing rules as defined in Section 4.1 of RFC 3748? >> YES 3d. Does the method comply with retransmission rules as defined in Section 4.3 of RFC 3748? >> Retransmission does not appear to be discussed adequately. The document needs further work here. 3e. Does the method comply with the usage defined for Identity, as defined in Section 5.1 of RFC 3748? >> YES 3f. Does the method comply with the usage defined for Notification, as defined in Section 5.2 of RFC 3748? >> The document fails to describe its use of notification. This oversight should be corrected. 3g. Does the method comply with the usage defined for Nak and Expanded-Nak as defined in Section 5.3 of RFC 3748? >> The document fails to describe its use of Nak and Expanded-Nak. This should be corrected. 3h. Does the method comply with the MIC usage requirements from Sections 3.1, 7.5, and 7.8 of RFC 3748? >> YES 4. Compliance with IANA requirements 4a. Does the method comply with EAP-based IANA requirements defined in Section 6 of RFC 3748? That is, if it requests the allocation of new numbers in the EAP namespace [not applicable if the numbers have already been allocated], is the type of the document and process appropriate for the desired action? >> YES 4b. Does the method comply with other IANA requirements in the IETF standards track RFCs? For instance, does the method attempt to allocate TLS extensions (which would only be possible for standards track RFCs)? >> YES; it complies with IANA requirements for standards track documents Detailed comments This is a wonderfully written document, a joy to read, bristling with beautiful ideas, and addressing an urgent problem. The document has issues, identified below, that should be addressed before it progresses. Included in the review are some suggestions for how the issues might be addressed, but the authors and the working group can certainly constructively formulate other solutions instead. The issues identified fall into the following categories: 1. AKA and KDK issues, 2. TEK, MSK, and EMSK issues, 3. Protocol issues, 4. Retries, Replays, and Failures 5. Security bounds, and 6. Odds and ends. 1. AKA and KDK issues The text should point out more explicitly that AK and KDK are static long-lived keys, i.e., not session oriented. The key naming should be made explicit, as the key names used are a fundamental aspect of this protocol. The usage in the text assumes the EAP peer name for this key pair is , and it assumes EAP server name for this key pair is . Including EAP-PSK as part of the key identifier is critical, as the protocol design assumes AK and KDK are never used outside of EAP-PSK. To help us understand the implications of this, it is useful to spell out the details of any algorithm in pseudo-code. In this case, the resulting text for this instance of "modified counter mode" used for the derivation would look something like: IV :=3D 00000000000000000000000000000000=20 T1 :=3D AES-128-Encrypt(PSK, IV) T2 :=3D T1 XOR 00000000000000000000000000000001 AK :=3D AES-128-Encrypt(PSK, T2) T2 :=3D T1 XOR 00000000000000000000000000000002 KDK :=3D AES-128-Encrypt(PSK, T2) Securely delete T1 and T2 if forward secrecy is required, delete PSK securely Identify by the identifier , where id is the name of the other party Here AES-128-Encrypt(.,.) means to encrypt its second argument using the first argument the encryption key, and ":=3D" denotes assignment. The IV and counter values are expressed in hex. The identification step at the end is not a nice frill; it is central to the protocol design and should be made explicit. The reason is the configured id receives its meaning as the distinguisher of this key pair by being placed in the context of EAP-PSK. This context and name then distinguishes this key pair from all other keys in all other contexts. The security claims made in the specification depend on this being true. Note also that the PSK is deleted whenever forward secrecy is required. Deleting the PSK SHOULD be a SHOULD and the default action. Since none of these derived keys depend on either the EAP peer or server NAI, these identities must get bound to the keys in some other way. However, there is no protocol defined to bind the identities to the derived AK or the KDK, implying that a different and independent PSK must be configured between each pair. This is a usability issue. In particular, the derivation for AK and KDK does not lead to different keys if the administrator spreads the same PSK across multiple devices. The reality is that many administrative domains will configure the same PSK on each and every device, while all the security claims of the protocol assume that different keys are configured between each pair of devices. Including the NAIs for the EAP peer and server in the derivation of the AK and KDK would afford an increase in security in the normal case by separating the pairs between different devices in every case, and by explicitly binding the identities to these keys. It would also indirectly bind the identities to the TEK, MSK, and EMSK. There is a second problem with the derivation, in that it is subject to prefix attacks. This is not a problem in the overall protocol design, but you never know when implementations will have bugs that might allow an attacker to somehow exploit this kind of weakness. The derivation should take into account the number of bits derived, and derive different keys if the same information is presented to the algorithm using the same parameters otherwise. So are there any plausible ways to include the NAIs and the derived key lengths into the derivation without discarding the entire key derivation procedure? Let us try to suggest some. The most obvious thing to try is to somehow use AES to "hash" the identities and then use this "hashed" value as the initialization vector IV presented to modified counter mode, instead of the IV 00000000000000000000000000000000. We want to use AES for this in order to preserve the lovely property that AES encrypt is the only cryptographic primitive required by the design. A procedure for constructing such an IV would start by concatenating the identities and padding them with the derived key length in some well-defined manner, e.g., L :=3D length(ID_S) + length(ID_P) M :=3D ID_S || 0x00 || ID_P || 0^(128 - (L + 17) mod 128) || 0x100 Here "length(.)" gives the length of its argument "." in bits, "ID_S" is the identity of the EAP server, "ID_P" the identity of the EAP peer, "||" means concatenation, and a^b means to concatenate b copies of bit a. This makes the concatenated string a multiple of 128 bits. The magic number "0x100" is the number of bits derived (256), represented as a hex value. The magic number 17 is the number of bits required to encode 0x100 and the "0x00" sitting between ID_S and ID_P. The 0x00 is inserted between ID_S and ID_P to prevent sliding window attacks, but this presupposes that 0x00 is not a valid character in an NAI.=20 By encoding the number of derived bits into the string to be hashed, we can defeat the prefix attack problem if we can find a collision resistant hashing scheme. So such a scheme will be the next thing to search for. Two plausible AES-based hashing schemes immediately come to mind for producing IV from M. The first is to try to use AES in CBC-MAC mode, but for that we need a key; one idea for a key is the PSK: IV :=3D AES-128-CBC-MAC(PSK, M) This is not ideal, however, because PSK would be used in two different ways --once for hashing and a second time for key derivation--and multiple usages of a single key is almost always a bad idea. While reuse in this case may appear benign on first glance, why should we bother with an approach that will require a tricky analysis to confirm that it is indeed safe? A variant would be to use some "well-known" key as the CBC-MAC key, although this key would always be block cipher dependent: K :=3D 00000000000000000000000000000000 (* AES dependent key! *) IV :=3D AES-128-CBC-MAC(K, M) In either case, the "hashing" scheme relies on the assumption that a block cipher in CBC-MAC mode is a pseudo-random function, so the resulting output should be collision resistant for each pair of identities and length (at least if we construct M properly). If you prefer, use OMAC1 mode instead of CBC-MAC. Relying on CBC-MAC for hashing is an egregious but probably effective hack. A second way to compute IV might be to Davies-Meyer hash M under AES-128: Partition M =3D M1 M2 ... Mn into 128 bit blocks H :=3D 00000000000000000000000000000000 for i =3D 1 to n do H :=3D AES-128-Encrypt(Mi, H) XOR H IV :=3D H This is a genuine hashing algorithm. The Davies-Meyer construction is collision resistant when the block cipher behaves like a pseudo-random permutation, so again including the length in the hashed IV solves the prefix attack problem. This construction also relies only on public information; there is no key required as with the CBC-MAC approach. The major problem with this is Davies-Meyer requires n AES key schedule initializations, one for each block Mi. However, since the derivation for AK and KDK occurs "once," this overhead should be insignificant. Other approaches to computing IV may also be worth considering. Which one to=20 choose will probably depend on the outcome of the discussion we have below for the TEK/MSK/EMSK derivation. And if the CBC-MAC construction is used, then we will need some methodology to select the well-known key K. In any event, to summarize, using a hashed value of the derived bit length and identities instead of the zero IV would improve the design in three ways: a. It directly binds the identities of the server and peer to AK and to KDK, and indirectly binds these to any TEK, MSK, or EMSK derived from these. b. It improves the usability of the entire design by forcing AK and KDK to be unique and cryptographically separated for each pair of distinct identities, even when the same PSK is configured on all devices within an administrative domain. c. It defeats prefix attacks. Finally, in a totally different direction, perhaps it would be worthwhile to give some thought to key roll-over for the long-lived keys--no key can ever be eternal when security is an issue. It might be better to bind the key pair to a triplet that included some sort of PSK generation number, e.g., . Here psk-instance could be a date-timestamp or a sequence number or any other generation marker. If you do this, the text should give some consideration to how the key instance is conveyed by the protocol and perhaps in the key derivation as well. 2. TEK, MSK, and EMSK issues The derivation of the TEK, MSK, and EMSK depend on only RAND_S and KDK. This means the peer assumes (i.e., "trusts") that the server generates a statistically unique RAND_S for each session. If the server fails to generate a statistically unique RAND_S, then the TEK, MSK, and EMSK are compromised on each repeated session. To understand the implications of this, again it is useful to spell out pseudo-code for the key derivation: T1 :=3D AES-128-Encrypt(KDK, RB) for ci =3D 1 to 9 do T2 :=3D T1 XOR ci SK[ci] :=3D AES-128-Encrypt(KDK, T2) Securely delete T1 and T2 TEK :=3D SK[1] MSK :=3D SK[2..5] EMSK :=3D SK[6..9] Securely delete SK Here, the pseudo-code treats assumes ci is represented as a 128 bit integer in network byte order. Since the length is not included in the key derivation, prefix attacks are again possible against the key derivation algorithm itself, even if this is not a concern within the overall design. Returning to the trust assumption, the peer has to assume that the server will generate a different RAND_S on every instance of the protocol. We will see in the protocol analysis this is not a good assumption--replay attacks are feasible against the peer--and indeed, it is unnecessary. It is almost always a good idea to remove unnecessary assumptions when we can. We could perhaps remove the trust assumption about RAND_S by again hashing together RAND_S and RAND_P to obtain the RB value to use, e.g.: RB :=3D AES-128-CBC-MAC(0^128, RAND_S || RAND_P || 0^117 || 0x480) using the CBC-MAC hashing method with a 0 key, or H :=3D 00000000000000000000000000000000 H :=3D AES-Encrypt-128(RAND_P, H) XOR H H :=3D AES-Encrypt-128(RAND_S, H) XOR H RB :=3D AES-Encrypt-128(0^117 || 0x480, H) XOR H using Davies-Meyer hashing. Here 0x480 =3D 1152 is the number of bits derived, which is encoded in 11 bits, leaving 0^117 =3D 117 bits of = zeros needed to complete the padding block. Note we do not need any padding between RAND_S and RAND_P to protect against sliding window attacks, because both are fixed length. If this RB value is used as the input for the TEK/MSK/EMSK derivation, then both parties can assure themselves that the session key is fresh by contributing their own statistically unique input, and the inclusion of the length defeats prefix attacks. This construction could also be used to address one of the security flaws in the present definition of the protocol message flows, discussed below. This is a case where the choice between CBC-MAC and Davies-Meyer hashing probably matters. The CBC-MAC approach requires only a single key schedule initialization (perhaps per device reboot), while the Davies-Meyer approach requires three (for each protocol instance). Since the session key derivation occurs once at the start each instance of the protocol, the CBC-MAC construction might therefore be preferable, even though it is a hack. 3. Protocol issues The message flow tries to "optimize" away "unnecessary" parts of the AKEP2 protocol. This does not work, because the Bellare-Rogaway construction is optimal and cannot be further optimized in any fundamental way without degrading its security. There are at least three problems in the present design: (a) message 2 fails to include ID_S, (b) message 3 fails to include ID_S and RAND_P, and (c) it is not evident that message 4 is protected from forgery.=20 Point (a). Since message 2 does not repeat ID_S, the peer never attests that it agrees ID_S is the server's identity. This problem cannot be fixed by replacing ID_P with ID_S in message 2, because then the peer would have no vehicle to attest to its own identity and hence identify the correct AK to use. The omission of ID_S is a symptom of a deeper problem. Since this construction does not include both ID_S and ID_P, man-in-the-middle attack becomes possible. In this particular case, the server has no way of knowing whether the identity ID_S was delivered to the peer. In the present design a malicious node M could replace ID_S with ID_M, and the peer will authenticate with the wrong party M instead of the server. At least one authenticated message must MAC both identities, or the key used for the MAC can be replaced by the man-in-the-middle. This must be fixed. I expect the message 2 format was drawn the way it is to prevent fragmentation. However, since there is no way to defend against man-in-the-middle attacks without MACing both identities, the spec will have to do so, or it will have to further limit the maximum combined lengths of ID_S and ID_P, or it will have to find one way to compress some of the fields, or we will have to accept man-in-the-middle attacks. ID_S could be replaced in message 2 by some hashed representation of ID_S, such as AES-128-CBC-MAC(0^128, ID_S || 0^(length(ID_S) + length(length(ID_S)) mod 128 || length (ID_S)). This "extra" crypto is unattractive on low power devices. The question becomes would you rather spend the extra MIPS or increase the bandwidth consumed by inserting ID_S into message 2 or be subject to man-in-the-middle attacks? Resolving this issue is the only hard choice I can see that is needed to completing the document. Point (b). The peer P never learns whether messages 1 and 3 are live, because the protocol does not force the server to MAC the peer's challenge RAND_P. This problem allows a malicious entity M to replay an old message 1 and 3 to convince the peer to think it has authenticated with the server. And the message needs to include ID_S instead of ID_P, because the server has never had the opportunity to attest to its own identity, i.e., to the correct AK to use; remember message 1 and its ID_S value could have been a forgery. The missing ID problem can be fixed by including ID_S instead of ID_P in message 3. The missing RAND_P problem again can be fixed either by including it directly in message 3 or by including it in the derivation of AK. Since the latter is not possible, message 3 has to somehow include RAND_P. One way to accomplish this without changing the message 3 format is to replace RAND_S in message 3 with hashed RB value suggested above; recall that we proposed "hashing" RAND_S and RAND_P together to form RB. Since such an RB includes RAND_P, the peer will receive assurance that the message is indeed fresh when RB is MACed. And RB makes for a perfectly good instance (i.e., session) identifier. This would be especially beneficial to protect exchanges protected by the TEK in message 4 and beyond. If this direction is taken, then we would NOT want to use the KDK for RB derivation, because it is then explicitly a public value, not a key; we would want to use either Davies-Meyer hashing or CBC-MAC hashing based on a well-known key. The alternative, of course, is to explicitly include RAND_P in message 3, as done by the Bellare-Rogaway construction. Point (c). Neither Figure 3 nor the accompanying text spells out explicitly how message 4 is protected. Message 4 could be protected by either the AK (and an OMAC1) or by the TEK (used with EAX). In the latter case, we need to know which bits are encrypted and which merely forgery protected. To accomplish this end, the text could, for instance, in Figure 8 use notation like {...}* to indicate EAX encryption under the TEK; the rest of the message would be EAX authenticated. The session identifier--whether RAND_S or the derived RB above--should remain in the clear but be integrity protected.=20 Since we would want to leave part of the P_CHANNEL_P_1 data structure in the clear (e.g., the sequence number) and a notation for accomplishing this is awkward, this suggests that we have not yet found the right boundary between the P_CHANNEL data structure and its underlying transport. There is another problem with message 3: P_CHANNEL_P_1 is not protected by the MAC. Depending on what happens otherwise with the protocol definition, this could enable cut-and-paste attacks against the message. 3. Retries, Replays, and Errors It will be necessary somewhere to specify how to handle retransmissions, i.e., we need a standardized treatment of "retries" as distinct from "replays". This holds for both the messages in the base protocol, and extended messages protected by the nonce N. Retries should cause the receiver to retransmit, while replays should be discarded. The difference between the two will always be an arbitrary distinction, but is needed for interoperability's sake. The document uses sequence numbers for the extended portion of the protocol, but fails to indicate the sequence spaces associated with each, how they are initialized, and how they are used to detect replays. I believe that there needs to be different sequence spaces for each of the two logical half-duplex channels, but perhaps the request/response nature of EAP will save us from this fate. The protocol seems to protect itself from reflection attacks by including the EAP header in the MAC. This is a detail the text glosses over and needs to be made explicit, especially in extended authentication protection provided by EAX, as it will likely be missed by many implementers. One notable omission from the spec is failure processing. As an example, what does the server do if it receives a message 2 for a protocol instance that it has not initiated? Experience shows that different implementers will handle such messages in different ways, almost always to the detriment of interoperability. 4. Security Bounds Page 39, Section 6.5 asserts that EAP-PSK is not subject to dictionary attack. This is not true when the PSK is computed from a feasibly searched key space, e.g., when it is, or is derived from, a password. Suppose, for instance, that the 802.11i password-to-key mapping is used to establish a PSK. The attacker can invoke this mapping on each dictionary entry, derive the AK, and use each value to simulate an authentication exchange. The attacker has only to compare the results of a recorded EAP-PSK instance with each simulated exchange computed using a key from the dictionary. The attacker can do the same with any other exposed key. Thus, none of the derived keys has any more strength than the original password. The specification should make this clear. Conversely, however, all of the derived keys are immune to dictionary attacks if PSK is. For the remainder of this section we will assume the PSK is taken from an infeasibly searched key space, so that dictionary attack is not possible. When AES is used in any CBC-MAC-like mode, the key should be replaced after 2^48 blocks have been processed. Since EAP-PSK protects at most 4 OMAC1-protected messages for each protocol instance, and since each message is at most about 1024 octets =3D 2^6 blocks, this means that AK should be replaced after about 2^40 instances. This bound could be improved, but why bother? There are about 2^35 milliseconds per year, so this permits about 2^5 years worth of protocols instances if new instances are initiated once per millisecond. Estimating the security of the KDK is tricky. The modified counter mode scheme is similar enough to the parallel key generation scheme in [1] that we should be able to derive bounds using an argument modeled on theirs, but I have not tried to push this through. The alternative taken here is to make a back-of-the-envelope estimate of the distribution of the derived keys directly. If the RB passed as input into the TEK/MSK/EMSK derivation is uniformly distributed, and if we were deriving only one block, then we expect a significant chance of RB's repetition after 2^64 invocations. Each protocol instance, however, derives a swath of 9 consecutive blocks from the KDK, so the probability of hitting any particular block again with a new randomly selected RB and its children is 9/2^128 < 1/2^124. We should therefore expect a significant probability collisions of RB to result in collisions of counter mode blocks after about 2^62 invocations. If we limit the total number of protocol instances to 2^40 or so, then it appears the design has a safety margin for all of the derived session keys to be unique. The text exhibits some confusion about how to measure the EAX key strength. It is not the number of messages but rather the total number of encrypted and integrity protected blocks that has to be limited. The probability that an attacker can successfully attack the EAX encryption scheme after q blocks have been encrypted is bounded by 9*q^2/2^128. The probability that an attacker can produce a successful forgery after q blocks have been integrity protected is bounded by (10*q^2 + 1)/2^128. The EAX proof of security says that these bounds are tight, i.e., that no attacker can do any better than this if AES is secure. If the protocol spec were to bound q at, say, 2^46, then we would have confidence that an adversary would never have more than about a 9*(2^46)^2/2^128 =3D 9*2^92/2^128 =3D 9/2^36 < 1/2^32 chance of somehow breaking the encryption, and no more than a 10*(2^46)^2 + 1)/2^128 < 10*2^93/2^128 < 1/2^31 to successfully create a forgery, assuming AES is a secure block cipher. That is, if we were to limit the total amount of data protected under the TEK to 2^46 blocks, then we would have great confidence that the protocol will not expose protected data. While the number of encrypted blocks will be smaller than the number of integrity protected blocks, this limit should never become a problem in practice. Estimating the number of the MSKs and EMSKs that can be safely derived depends on how they are used; the techniques in [1] are appropriate for doing this. It is sufficient to say that EAP-PSK appears as robust in this dimension as any other EAP method. 5. Odds and Ends Here are a number of miscellaneous comments: It would be worth considering replacing OMAC1 by CMAC. NIST SP800-38B [2] defines CMAC as the "approved" CBC-MAC variant. Page 5, Section 1.1.1, and Page 43, Section 6.9: While the protocol does not offer PFS, it does offer forward secrecy if the PSK is securely deleted after the AK and KDK are derived and if the PSK is not taken from a feasibly searched key space. This would be worth noting. Page 17: What specific security claim is being made by the phrase "proof of security"? Please detail the security model and assumptions used, and also the specific claims being made based on these. The proof may or may not be relevant in the present context. Page 21: The design requires the EAP server to expose its identity and to use the same identity with each peer, unless there is something in the EAP-Response/Identity triggering the method that tells it otherwise. This is a subtle configuration constraint that may not be evident to administrators deploying the protocol. Page 23, Figure 9: The hashed RB value constructed above that incorporates both RAND_S and RAND_P seems like a better session identifier than the RAND_S in messages 3 through 2i+1, because it is computationally infeasible for either party to force it to a value used by a prior protocol instance. Beginning in message 4, the P_CHANNEL_P_k needs to be protected by EAX using the TEK. Page 25, Flags field: The figure of the Flags field needs to be cleaned up. It should be relabled to have only 8 bits, not 9. And the unreserved field should be widened from 1 to 2 bits. Page 35: What happens if the tunneled method fragments?=09 Page 38, Section 6.1: Until message 2 is fixed to include both ID_S and ID_P, EAP-PSK does not provide mutual authentication. Page 38, Section 6.2: The assertion that the R field is protected does not yet appear warranted, given that the sequence spaces have not yet been completely specified, so replay and perhaps reflection attacks appear to be possible, and further given that the message 1 and 3 constructions allow an attacker to replay old EAP-PSK messages. The existing text would become correct when these issues are addressed. Page 42, Section 6.7: Since message 1 is unprotected, it can be forged by an adversary. Once it chooses to initiate an EAP_PSK instance, the server must commit to a value RAND_S to enable the peer to recover from a denial-of-service attack based on flooding forged message 1s. This is a reasonable constraint to put on server implementations. It will require you to fill out the missing discussion on the difference between retries and replays. RAND_S remains constant across retries, but is changed on all protocols instances the server classifies as "new". The receiver should retransmit the last message if it receives a duplicate within some retry message, and declare a duplicate a replay otherwise. Page 43, Section 6.8: Actually session independence comes about by choosing non-repeating instance identifiers . The current protocol lacks this property due to its inability to protect against replayed messages 1 and 3. When this is fixed, the protocol will have session independence. Page 43, Section 6.9. The protocol design explicitly assumes that neither AK nor KDK are shared beyond the two parties utilizing them. AK loses its efficacy to mutual authenticate the peer and server with each other when it is shared. Similarly, the derived TEK, MSK, and EMSK lose their value for authentication when KDK is shared with a third party. Page 43, Section 6.12: It should be easy to add a "fast reconnect" if the server and peer maintain the TEK and their replay counters. Whether this is valuable is dubious, however. Page 46, Section 6.16. I think it is a mistake to not define a cryptographic binding mechanism of a key producing inner method and EAP-PSK. It is easy to do, and it makes EAP-PSK safe to use key deriving inner methods. Subsidiary methods are becoming more important, as IT departments are moving to evaluation of the patch level of devices before they allow data to pass. References: [1] M. Abdalla and M. Bellare, "Increasing the lifetime of a Key: A Comparative Analysis of the Security of Re-Keying Techniques", ASIACRYPT 2000 [2] M. Dworkin (NIST), SP800-38C, "Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication", May 2005 * Previous message: [eap] draft-nakhjiri-eap-ho-00.txt * Next message: [eap] methods and expert reviews * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] |
|
2005-08-10
|
09 | (System) | New version available: draft-bersani-eap-psk-09.txt |
|
2005-07-27
|
11 | Mark Townsley | State Changes to Expert Review from AD Evaluation by Mark Townsley |
|
2005-07-27
|
11 | Mark Townsley | [Note]: 'Requested review of this document from eap-chairs' added by Mark Townsley |
|
2005-07-27
|
11 | Mark Townsley | State Changes to AD Evaluation from Publication Requested by Mark Townsley |
|
2005-07-19
|
08 | (System) | New version available: draft-bersani-eap-psk-08.txt |
|
2005-07-08
|
11 | Barbara Fuller | Draft Added by Barbara Fuller in state Publication Requested |
|
2005-02-14
|
07 | (System) | New version available: draft-bersani-eap-psk-07.txt |
|
2004-11-18
|
06 | (System) | New version available: draft-bersani-eap-psk-06.txt |
|
2004-09-15
|
05 | (System) | New version available: draft-bersani-eap-psk-05.txt |
|
2004-09-07
|
04 | (System) | New version available: draft-bersani-eap-psk-04.txt |
|
2004-07-09
|
03 | (System) | New version available: draft-bersani-eap-psk-03.txt |
|
2004-06-16
|
02 | (System) | New version available: draft-bersani-eap-psk-02.txt |
|
2004-03-09
|
01 | (System) | New version available: draft-bersani-eap-psk-01.txt |
|
2004-01-29
|
00 | (System) | New version available: draft-bersani-eap-psk-00.txt |