Когда я использую базовые функции аутентификации Apache Httpd, иногда я замечаю, что проверка неправильных паролей занимает больше времени, чем правильных паролей.
Есть ли у Apache Httpd возможность сравнения паролей с постоянным временем?
Может быть искусственная задержка для неудачных паролей, но тестирование здесь не выявляет разницы во времени между правильным и неправильным паролями (их время смешано).
Однако замечу, что даже если такая разница была, это не имеет значения. Важным моментом является то, что два неправильных пароля не имеют разницы во времени на основе их расстояние к правильному паролю.
Учитывая, что apache использует хешированные пароли, плохая реализация не может это выявить. В худшем случае злоумышленник, который также знал соль (в этом случае он также получил бы хэш пароля одновременно), мог бы обнаружить хешированный пароль ... если бы он смог вычислить (частично) прообразы (т.е. сломать хеш-функция).
Поскольку apache не использует функции хеширования паролей там, где это возможно, использовать эту разницу во времени невозможно. Даже если Apache не сравнивает хеши в постоянное время, что он может делать.