CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

58
CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator

Transcript of CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

Page 1: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

CSE 8343State Machines for Extensible Authentication Protocol

Peer and Authenticator

Page 2: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

IETF RFC 4137

Extensible Authentication Protocol(EAP)

Working Group

RFC 4137State Machines for EAPPeer and Authenticator

Page 3: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

RFC 4137 Overview• RFC 4137 describes a set of State Machines for:

• EAP Peer

• EAP Stand-Alone Authenticator (Non-Pass-Through)

• EAP Backend Authenticator

• EAP Full Authenticator

• Describes sample EAP implementations• Peer / Authenticator

• Peer / Authenticator / AAA

Page 4: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

RFC 4137 Overview• Illustrative of authoritative RFCs

• Peer and Stand-Alone Authenticator for EAP from RFC 3748

• Backend and Full/Pass-Through for EAP/AAA from RFC 3748 and 3579

• Based on the EAP “Switch” model

Page 5: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Switch Model• An EAP Authentication is a sequence of EAP methods• Result sent from Authenticator to Peer• If successful, EAP Success• If unsuccessful, EAP Failure

• EAP Switches control the negotiation sequence• Select which methods each will use• Negotiate methods or sequence of methods

Peer Authenticator

PeerEAP

Switch

AuthEAP

Switch

PeerMethod

AuthMethod

Page 6: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Pass-Through Model• Authentication resident on backend server• Allows edge device to pass EAP Responses

Peer Authenticator

PeerEAP

Switch

AuthEAP

Switch

PeerMethod

LocalMethod

Pass-Through

Backend

BackendEAP

Server

Page 7: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

State Machine NotationIEEE 802.1X-2004• State diagrams represent the operation of a protocol• Group of connected, mutually exclusive states• Only one state of each machine can be active at a time

• Upon entry to a state the defined procedures are executed exactly once• Executed in the given order• Atomic actions

STATE IDENTIFIER

Procedure 1

Procedure N

Condition

Page 8: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Global Transitions:•DISABLED•INITIALIZED

Page 9: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•INITIALIZED

DISABLED:Reached whenever service from the transport layer isInterrupted or unavailable.

Page 10: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•IDLE

INITIALIZE:Initializes the state machine variables.

Page 11: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•RECEIVED•SUCCESS•FAILURE

IDLE:The state machine is waiting for something to happen.

Page 12: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•METHOD•GET_METHOD•IDENTITY•NOTIFICATION•RETRANSMIT•SUCCESS•FAILURE•DISCARD

RECEIVED:Entered when an EAP packet is received.

Page 13: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•DISCARD•FAILURE•SEND_RESPONSE

METHOD:Performs the method processing. The request from theAuthenticator is processed, and the appropriate responsepacket built.

Page 14: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•METHOD•SEND_RESPONSE

GET_METHOD:Entered when a request for a new type comes in. This willresult in either starting the appropriate method, orresponding with a Nak.

Page 15: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•SEND_RESPONSE

IDENTITY:Separate handling for the Identity method, includingbuilding the response packet.

Page 16: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•SEND_RESPONSE

NOTIFICATION:Separate handling for the Notification method, includingbuilding the response packet.

Page 17: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•SEND_RESPONSE

RETRANSMIT:Resends the previous response packet.

Page 18: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•IDLE

DISCARD:Signals the transport layer that the request has beenignored and that no response will be sent.

Page 19: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•IDLE

SEND_RESPONSE:Signals the transport layer that a response packet isready to be sent.

Page 20: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•None

SUCCESS:Terminal state indicating a successful authentication.

Page 21: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Peer

Transitions:•None

FAILURE:Terminal state indicating a failed authentication.

Page 22: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Global Transitions:•DISABLED•INITIALIZE

Page 23: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•INITIALIZE

DISABLED:The Authenticator is disabled until the port is enabledby the transport layer.

Page 24: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•SELECT_ACTION

INITIALIZE:Initializes all state machine variables.

Page 25: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•RETRANSMIT•RECEIVED

IDLE:The State Machine is waiting for something to happen.

Page 26: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•TIMEOUT_FAILURE•IDLE

RETRANSMIT:Retransmit the previous request packet.

Page 27: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•NAK•INTEGRITY_CHECK•DISCARD

RECEIVED:Entered when an EAP packet is received, and parsesthe packet header.

Page 28: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•SELECT_ACTION

NAK:Process a Nak request.

Page 29: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•FAILURE•SUCCESS•PROPOSE_METHOD

SELECT_ACTION:Re-evaluates whether or not the authenticator policyhas been satisfied (implying success), has beenunsatisfied (implying failure), or is still undecided.

Page 30: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•DISCARD•METHOD_RESPONSE

INTEGRITY_CHECK:Checks and verifies the integrity of the incomingpacket from the Peer.

Page 31: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•SELECT_ACTION•METHOD_REQUEST

METHOD_RESPONSE:Processes the incoming packet.

Page 32: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•METHOD_REQUEST

PROPOSE_METHOD:Decision as to which authentication method to try next.

Page 33: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•SEND_REQUEST

METHOD_REQUEST:Formulates a new request for the Peer.

Page 34: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•IDLE

DISCARD:Signals the transport layer that the response has beendiscarded, and no new request will be sent.

Page 35: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•IDLE

SEND_REQUEST:Signals the transport layer that a new is ready to besent.

Page 36: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•None

TIMEOUT_FAILURE:Terminal state indicating a failure because no responsehas been received from the Peer.

Page 37: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•None

FAILURE:Terminal state indicating that the authentication hasfailed.

Page 38: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Stand-Alone Authenticator

Transitions:•None

SUCCESS:Terminal state indicating that the authentication hassuccessfully completed.

Page 39: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Backend Authenticator

The Backend Authenticator is functionally equivalent tothe a Stand-Alone Authenticator, with the addition of theability to “Pick Up” a conversation which had previouslybeen started by a Pass-Through.

The only difference between the state machines is theaddition of the PICK_UP_METHOD state, and the removalof the TIMEOUT_FAILURE state.

Page 40: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Backend Authenticator

Transitions:•SELECT_ACTION•METHOD_RESPONSE

PICK_UP_METHOD:Sets the initial state for a method being continued whichwas started elsewhere (e.g. in the Pass-Through).

Page 41: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

The first part of a Full Authenticator isfunctionally identical to the Stand-AloneAuthenticator, with the addition of a transition from the SELECT_ACTION state to PASSTHROUGH.

Page 42: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•FAILURE•SUCCESS•INITIALIZE_PASSTHROUGH•PROPOSE_METHOD

SELECT_ACTION:Re-evaluates whether or not the authenticator policy has been satisfied (implying success), has been unsatisfied (implying failure), or is still undecided.

Page 43: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

The second part of a Full Authenticatorsupports the operation of Pass-ThroughMode.

Page 44: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•AAA_REQUEST•AAA_IDLE

INITIALIZE_PASSTHROUGH:Initializes the variables used by the pass-through portion of the state machine.

Page 45: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•RETRANSMIT2•RECEIVED2

IDLE2:The state machine is awaiting a response from the Peer.

Page 46: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•TIMEOUT_FAILURE2•IDLE2

RETRANSMIT2:Retransmits the previous packet request.

Page 47: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•AAA_REQUEST•DISCARD2

RECEIVED2:Entered when an EAP packet is received and the authenticator is in PASSTHROUGH mode.

Page 48: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•AAA_IDLE

AAA_REQUEST:Parses the incoming EAP packet for submission to the AAA server.

Page 49: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•DISCARD2•AAA_RESPONSE•TIMEOUT_FAILURE2•FAILURE2•SUCCESS

AAA_IDLE:Idle state indicating to the AAA server that there is a response. The state machine is awaiting a new request, a no-request signal, or a success / failure determination.

Page 50: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•SEND_REQUEST2

AAA_RESPONSE:Processes the request from the AAA interface into an EAP request.

Page 51: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•IDLE2

DISCARD2:Signals the transport layer that the response has been discarded. No new request packet will be sent.

Page 52: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•IDLE2

SEND_REQUEST2:Signals the transport layer that a request packet is ready to be sent.

Page 53: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•None

TIMEOUT_FAILURE2:Terminal state indicating failure because no response has been received.

Page 54: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•None

FAILURE2:Terminal state indicating authentication failure.

Page 55: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

EAP Full Authenticator

Transitions:•None

SUCCESS2:Terminal state indicating authentication success.

Page 56: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

Other Considerations• Robustness• Certain states will block, possibly for extended periods• IDENTITY• METHOD

• Can be resolved via implementation considerations• Multithreading

• Security• Certain EAP packets are not encrypted (RFC 3748)• Known DoS vulnerabilities• EAP Peer• EAP Stand-Alone

• Need to weigh additional security vs. peer support

Page 57: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

Review• EAP Peer State Machine• Implementation of EAP Peer

• EAP Stand-Alone Authenticator• Implementation of a self-contained authenticator

• EAP Backend Authenticator• Implementation of a backend authenticator when

using an AAA server

• EAP Full Authenticator• Implementation of a complete authenticator

Page 58: CSE 8343 State Machines for Extensible Authentication Protocol Peer and Authenticator.

References• Aboba, B. and P. Calhoun, "RADIUS (Remote Authentication Dial In User Service)

Support For Extensible Authentication Protocol (EAP)", RFC 3579, September 2003.

• Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H. Levkowetz, Ed., "Extensible Authentication Protocol (EAP)", RFC 3748, June 2004.

• Aboba, B., Simon, D., Arkko, J., Eronen, P., Levkowetz, H., "Extensible Authentication Protocol (EAP) Key Management Framework", Work in Progress, July 2005.

• Institute of Electrical and Electronics Engineers, "Standard for Local and Metropolitan Area Networks: Port-Based Network Access Control", IEEE 802.1X-2004, December 2004.

• Vollbrecht, J., Eronen, E., Petroni, N., Ohba, Y., “State Machines for Extensible Authentication Protocol (EAP) Peer and Authenticator”, RFC 4137, August 2005.