draft-urien-badra-eap-tls-identity-protection-00.txt

10
1 /10 Pascal URIEN, IETF 66 h , Wednesday July 12 th ,Montreal, Canada draft-urien-badra-eap-tls-identity- protection-00.txt [email protected] [email protected]

Upload: salali

Post on 06-Jan-2016

20 views

Category:

Documents


0 download

DESCRIPTION

draft-urien-badra-eap-tls-identity-protection-00.txt. [email protected] [email protected]. Identity Exchange and Identity Protection in RFC 3748. Identity Exchange - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: draft-urien-badra-eap-tls-identity-protection-00.txt

1 /10 Pascal URIEN, IETF 66h, Wednesday July 12th ,Montreal, Canada

draft-urien-badra-eap-tls-identity-protection-00.txt

[email protected]

[email protected]

Page 2: draft-urien-badra-eap-tls-identity-protection-00.txt

2 /10 Pascal URIEN, IETF 66h, Wednesday July 12th ,Montreal, Canada

Identity Exchange and Identity Protection in RFC 3748

Identity Exchange“Identity Requests and Responses are sent in cleartext, so an attacker may snoop on the identity, or even modify or spoof identity exchanges. To address these threats, it is preferable for an EAP method to include an identity exchange that supports per-packet authentication, integrity and replay protection, and confidentiality. The Identity Response may not be the appropriate identity for the method; it may have been truncated or obfuscated so as to provide privacy, or it may have been decorated for routing purposes”

Identity Protection“An Identity exchange is optional within the EAP conversation. Therefore, it is possible to omit the Identity exchange entirely, or to use a method-specific identity exchange once a protected channel has been established.” “It is possible for the identity in the identity response to be different from the identity authenticated by the EAP method. This may be intentional in the case of identity privacy. An EAP method SHOULD use the authenticated identity when making access control decisions.”

Page 3: draft-urien-badra-eap-tls-identity-protection-00.txt

3 /10 Pascal URIEN, IETF 66h, Wednesday July 12th ,Montreal, Canada

EAP-METHODS as RFIDs: Identity Leakage

The hacker aims at collecting the peer’s identity, over the air

Passive attack, simple eavesdropping

Active attack, EAP packets generation from a malicious Access Point.

Number of EAP packets needed for active attacks

EAP-SIM, RFC 4186, 2x requests, without previous knowledge

EAP-AKA, RFC 4187, 2x requests, without previous knowledge

EAP-TLS, RFC 2716, 3x requests. The knowledge of a valid authenticator’s certificate is required.

Page 4: draft-urien-badra-eap-tls-identity-protection-00.txt

4 /10 Pascal URIEN, IETF 66h, Wednesday July 12th ,Montreal, Canada

RFC 4186, EAP-SIM Identity Attack

Peer (Malicious) Authenticator

| |

| EAP-Request/Identity |

|<------------------------------------------------------|

| |

| EAP-Response/Identity |

| (Includes a pseudonym) |

|------------------------------------------------------>|

| |

| +------------------------------+

| | Server fails to map the |

| | Pseudonym to a permanent id. |

| +------------------------------+

| EAP-Request/SIM/Start |

| (AT_PERMANENT_ID_REQ, AT_VERSION_LIST) |

|<------------------------------------------------------|

| |

| EAP-Response/SIM/Start |

| (AT_IDENTITY with permanent identity, AT_NONCE_MT, |

| AT_SELECTED_VERSION) |

|------------------------------------------------------>|

| |

1

2

PEER’S FULL IDENTITY

Page 5: draft-urien-badra-eap-tls-identity-protection-00.txt

5 /10 Pascal URIEN, IETF 66h, Wednesday July 12th ,Montreal, Canada

EAP-AKA, RFC 4187, Identity Attack

Peer (malicious) Authenticator

| EAP-Request/Identity |

|<------------------------------------------------------|

| EAP-Response/Identity |

| (Includes a pseudonym) |

|------------------------------------------------------>|

| +------------------------------+

| | Server fails to decode the |

| | Pseudonym. |

| +------------------------------+

| EAP-Request/AKA-Identity |

| (AT_PERMANENT_ID_REQ) |

|<------------------------------------------------------|

| |

| EAP-Response/AKA-Identity |

| (AT_IDENTITY with permanent identity) |

|------------------------------------------------------>|

| |

1

2

PEER’S FULL IDENTITY

Page 6: draft-urien-badra-eap-tls-identity-protection-00.txt

6 /10 Pascal URIEN, IETF 66h, Wednesday July 12th ,Montreal, Canada

EAP-TLS, RFC 2716, Identity Attack Authenticating Peer (Malicious) Authenticator

=================== =========================

<- PPP EAP-Request/Identity

PPP EAP-Response/

Identity (MyID) ->

<- PPP EAP-Request/

EAP-Type=EAP-TLS

(TLS Start)

PPP EAP-Response/

EAP-Type=EAP-TLS

(TLS client_hello)->

<- PPP EAP-Request/

EAP-Type=EAP-TLS

(TLS server_hello,

TLS certificate,

[TLS server_key_exchange,]

[TLS certificate_request,]

TLS server_hello_done)

PPP EAP-Response/

EAP-Type=EAP-TLS

(TLS certificate,

TLS client_key_exchange,

[TLS certificate_verify,]

TLS change_cipher_spec,

TLS finished) ->

1

2

3

PEER’S FULL IDENTITY

Page 7: draft-urien-badra-eap-tls-identity-protection-00.txt

7 /10 Pascal URIEN, IETF 66h, Wednesday July 12th ,Montreal, Canada

Classical solutions, but not standardized

Establishment of a first protected channel, that secures the peer’s identity

Asymmetric protected channelProtected EAP Protocol (PEAP) Version 2, daft-josefsson-pppext-eap-tls-eap-10.txt (2004, expired)

EAP Tunneled TLS Authentication Protocol Version (EAP-TTLSv1), draft-funk-eap-ttls-v1-01.txt, (2006, Active)

Symmetric protected channelEAP-Double-TLS Authentication Protocol, draft-badra-eap-double-tls-05.txt (2006, active)

Page 8: draft-urien-badra-eap-tls-identity-protection-00.txt

8 /10 Pascal URIEN, IETF 66h, Wednesday July 12th ,Montreal, Canada

Proposed solution for EAP-TLS

Main ideaThe peer’s certificate is sent encrypted, the encryption key is deduced from the master_secret.

encryption_key = PRF(master_secret, "client_certificate",client_random+server_random);

In order to allow an EAP-TLS peer to request identity protection exchange, a new extension type is added (TBD) to the Extended Client and Server Hello messages. The 'extension_data' field of this extension contains a list of encryption algorithms supported by the client, ordered by preference. If the server is willing to accept using the extension, the client and the server negotiate the symmetric algorithm that will be used to encrypt/decrypt the client certificate. At the end of the hello phase, the client generates the pre_master_secret, encrypts it under the server's public key, and sends the result to the server.

Encryption of the peer’s certificateIf a stream cipher is chosen, then the peer's certificate is encrypted with the enc_key, without any padding byte. If a block cipher is selected, then padding bytes are added to force the length of the certificate message to be an integral multiple of the bloc cipher's length.

Page 9: draft-urien-badra-eap-tls-identity-protection-00.txt

9 /10 Pascal URIEN, IETF 66h, Wednesday July 12th ,Montreal, Canada

Identity Protection Dialog

Client Hello (ClientRandom)

Server Hello (ServerRandom)

Server’s Certificate

CertificateRequest, ServerHelloDone

Certificate

CertificateVerify {MessagesDigest} KPrivC

ChangeCipherSpec

SERVER

ChangeCipherSpec

Finished (Encrypted+Signed MessagesDigest)

PEER

Finished (Encrypted+Signed MessagesDigest)

ClientKeyExchange {PreMasterSecret}KPubS

The Client’s identity is sent in clear text

Client KPubC

CA KPubCA

Server KPubS

ExtendedClientHello (ClientRandom))

ExtendedServerHello (ServerRandom)

Server’s Certificate

CertificateRequest, ServerHelloDone

Certificate

CertificateVerify {MessagesDigest} KPrivC

ChangeCipherSpec

SERVER

ChangeCipherSpec

Finished (Encrypted+Signed MessagesDigest)

PEER

CA KPubCA

Client KPubC

Finished (Encrypted+Signed MessagesDigest)

ClientKeyExchange {PreMasterSecret}KPubS

The client’s identity is sent encrypted with the encryption_key encryption_key = PRF(MasterSecret,”client_certificate” ServerRandom+ClientRandom)

Server KPubS

PreMasterSecret

MasterSecret

Encryption Key

Page 10: draft-urien-badra-eap-tls-identity-protection-00.txt

10 /10 Pascal URIEN, IETF 66h, Wednesday July 12th ,Montreal, Canada

Pros and Cons

ProsSimple and Elegant solutionVery easy to implementHighly trusted, when implemented in an EAP smartcard (draft-urien-eap-smartcard-10.txt)

ConsBackward compatibility ?

Open issuesIs it possible to negotiate privacy (and how) ?"Privacy is the right to informational self-determination, i.e., individuals must be able to determine for themselves when, how, to what extent and for what purpose information about them is communicated to others“. S Kent and L Millet, "Who goes there? Authentication through the lens of privacy", The National Academies Press, Washington, D.C., 2003.

Questions, comments, advices ?

“EAP Support in Smartcard”