При аутентификации вы часто сталкиваетесь с паролем с нулевым знанием (ZKPP). Сам EAP является довольно общей структурой и может включать раскрытие личности клиента, например, для передачи его на следующий уровень аутентификации, такой как RADIUS.
PACE (BSI TR-03110) является одним из примеров протоколов ZKPP, используемых для аутентификации. EAP-SPEKE это другое.
Безопасность ключа зависит от использования только частей ключа при обмене между клиентом и сервером. Клиент предлагает одноразовый номер, зашифрованный ключом к серверу. Следовательно, мошеннический сервер получает зашифрованный одноразовый номер и хранит свою версию в виде открытого текста. Это не нулевое знание, поскольку за конечное время мошеннический сервер может накопить достаточно информации, чтобы нарушить шифрование AES-128.
Следовательно, EAP-PSK не может рассматриваться как пример доказательства пароля с нулевым знанием, хотя другие предложенные схемы аутентификации, основанные на EAP, такие как EAP-SPEKE, обладают этим свойством.
Чтобы проиллюстрировать проблемную часть протокола EAP-PSK, рассмотрим поток сообщений, представленный в RFC 4764.
Первое сообщение отправляется сервером на одноранговый узел:
* 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 Второе сообщение отправляется одноранговым сервером на сервер:
* 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 Третье сообщение отправляется сервером на одноранговый узел:
* 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)
Здесь AK является частью секретного ключа, который используется на этом этапе и может быть раскрыт мошенническому серверу, который может расшифровать AES-128.