내 컴퓨터에 로그인할 때 비밀번호가 정확하면 거의 즉시 로그인됩니다. 비밀번호가 틀리면 "비밀번호가 잘못되었습니다."라는 메시지가 나타날 때까지 몇 초 동안 기다려야 합니다. 나타나다.
터미널에서도 같은 일이 일어납니다 sudo
.그런데 왜?
비밀번호 해시가 저장되어 입력한 비밀번호의 해시와 비교된다고 확신합니다. 하지만 해시가 동일한지 확인하는 데 시간이 더 오래 걸리지 않나요?
답변1
비밀번호 오류로 인해 비밀번호 크래킹 프로세스가 느려지도록 의도적으로 지연이 발생합니다. 실패한 응답이 성공적인 응답만큼 빠르다면 사전 공격은 즉시 종료됩니다.
답변2
PAM 구성에는 여러 서비스를 확인해야 합니다. 잘못된 비밀번호를 입력하면 이러한 서비스를 모두 확인해야 하므로 시간이 더 걸리며 확인에 실패할 경우 의도적으로 시간 초과가 늘어날 수도 있습니다. 올바른 비밀번호를 입력하면 최대한 빨리 스택을 종료하고 성공 결과를 반환하므로 구성된 리소스를 모두 확인할 필요가 없습니다.