Кажется, что какое-то время, утилита входа в систему Unix рассчитала только хэш, когда существовало действительное имя пользователя; это открыло дефект безопасности, который позволил использовать временную атаку, так как пользователь мог определить, когда было найдено имя пользователя на время, необходимое для генерации хэшированного ключа для сравнения.
Это имеет смысл для настольных приложений, но может ли это иметь смысл и для веб-приложений? Я склоняюсь к этому, но нужно ли это исправление?
Например, в модуле Django auth:
class MyBackend(ModelBackend):
def authenticate(self, email=None, password=None):
try:
user = User.objects.get(email=email)
return user if user.check_password(password) else None
except User.DoesNotExist:
User().check_password(password) # is this line necessary?
return None
Будет ли дополнительный хеш-расчет иметь смысл для этого сценария? Если я использую ограничение скорости при вызовах auth, уменьшает ли вероятность тактирования тактирования?