En la autenticación, a menudo se encuentra con la prueba de contraseña de conocimiento cero (ZKPP). EAP en sí mismo es un marco bastante genérico y podría implicar revelar la identidad del cliente, por ejemplo, transferirlo a la siguiente capa de autenticación, como RADIUS.
PACE (BSI TR-03110) es un ejemplo de los protocolos ZKPP utilizados para la autenticación. EAP-SPEKE es otro.
La seguridad de la clave se basa en el uso de solo partes de la clave en el intercambio entre el cliente y el servidor. El cliente ofrece un nonce cifrado con la clave del servidor. Por lo tanto, un servidor fraudulento recibe un nonce cifrado y mantiene su versión de texto plano. Esto no es conocimiento cero, ya que en un tiempo finito un servidor no autorizado podría acumular suficiente información para romper el cifrado AES-128.
Por lo tanto, EAP-PSK puede no considerarse un ejemplo de prueba de contraseña de conocimiento cero, aunque otros esquemas de autenticación propuestos basados en EAP como EAP-SPEKE tienen esta propiedad.
Para ilustrar la parte problemática del protocolo EAP-PSK, considere el flujo de mensajes tal como se presenta en RFC 4764.
El primer mensaje es enviado por el servidor al igual para:
* Send a 16-byte random challenge (RAND_S). RAND_S was called RA
in Section 3.2
* State its identity (ID_S). ID_S was denoted by A in
Section 3.2.
o El segundo mensaje es enviado por el par al servidor para:
* Send another 16-byte random challenge (RAND_P). RAND_P was
called RB in Section 3.2
* State its identity (ID_P). ID_P was denoted by B in
Section 3.2.
* Authenticate to the server by proving that it is able to
compute a particular MAC (MAC_P), which is a function of the
two challenges and AK:
MAC_P = CMAC-AES-128(AK, ID_P||ID_S||RAND_S||RAND_P)
o El tercer mensaje es enviado por el servidor al igual para:
* Authenticate to the peer by proving that it is able to compute
another MAC (MAC_S), which is a function of the peer's
challenge and AK:
MAC_S = CMAC-AES-128(AK, ID_S||RAND_P)
Aquí AK es parte de la clave secreta que se usa en esta etapa y puede revelarse al servidor no autorizado que puede descifrar AES-128.