Является ли WPA2 с предварительным общим ключом примером доказательства с нулевым разглашением?

9

При настройке точки доступа и выборе WPA2 необходимо вручную ввести предварительный общий ключ (пароль) PSK как в точку доступа, так и в точку доступа STA.

Обе стороны, AP и STA, должны аутентифицировать друг друга. Но они должны сделать это, не раскрывая PSK. Оба должны доказать другой стороне, что они знают PSK, фактически не отправляя его.

Это пример доказательства с нулевым знанием ?

Я думал, что это так, но ничего законного не появляется, когда я захожу в Google для доказательства с нулевым знанием и WPA2 или EPA-PSK (используемый метод аутентификации).

Рафаэль
источник

Ответы:

6

При аутентификации вы часто сталкиваетесь с паролем с нулевым знанием (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.

Дмитрий Чубаров
источник