Kimlik doğrulamasında genellikle sıfır bilgili parola kanıtı (ZKPP) ile karşılaşırsınız. EAP'nin kendisi oldukça genel bir çerçevedir ve örneğin RADIUS gibi bir sonraki kimlik doğrulama katmanına aktarmak için istemcinin kimliğini ortaya çıkarmayı içerebilir.
PACE (BSI TR-03110), kimlik doğrulama için kullanılan ZKPP protokollerine bir örnektir. EAP-SPEKE bir diğeri.
Anahtarın güvenliği, istemciyle sunucu arasındaki alışverişte anahtarın yalnızca bazı bölümlerinin kullanılmasına dayanır. İstemci, anahtarla şifrelenmiş bir sunucu olmayan sunucu sunar. Bu nedenle, sahte bir sunucu şifreli bir nonce alır ve düz metin sürümünü tutar. Bu sıfır bilgi değildir, çünkü sınırlı bir süre içinde sahte bir sunucu AES-128 şifrelemesini kırmak için yeterli bilgi biriktirebilir.
Bu nedenle, EAP-PSK, EAP-SPEKE gibi EAP tabanlı önerilen diğer kimlik doğrulama şemaları bu özelliğe sahip olsa da sıfır bilgili parola kanıtı örneği olarak düşünülmeyebilir.
EAP-PSK protokolünün sorunlu kısmını göstermek için RFC 4764'te gösterildiği gibi mesaj akışını göz önünde bulundurun.
İlk mesaj sunucu tarafından eşine şu adrese gönderilir:
* 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 İkinci mesaj eş tarafından sunucuya şu adrese gönderilir:
* 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 Üçüncü mesaj sunucu tarafından eşine şu adrese gönderilir:
* 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)
Burada AK, bu aşamada kullanılan gizli anahtarın bir parçasıdır ve AES-128'in şifresini çözebilen sahte sunucuya açıklanabilir.