루트와 비밀번호는 동일합니다

루트와 비밀번호는 동일합니다

cat /etc/shadow루트와 사용자의 암호화된 비밀번호를 얻을 수 있다면 .

이 비밀번호는 모든 계정에 대해 동일하지만(보안이 좋지 않은 것으로 알고 있음) /etc/shadow서로 다른 암호화된 문자열로 나타납니다.

왜? 각각 다른 알고리즘을 사용합니까?

답변1

별도의 사용자는 별도의 사용자 ID를 의미하므로 알고리즘에는 별도의 해시가 포함됩니다.

사용자가 동일한 이름, 동일한 비밀번호를 갖고 동시에 생성되더라도 (거의 어느 정도 확률로) 다른 해시가 생성됩니다. 암호화 생성에 기여하는 다른 요소가 있습니다.

간단한 예시를 보고 싶다면여기더 잘 설명할 수도 있습니다.

답변2

알고리즘은 동일합니다. 최신 섀도우 제품군은 해싱 알고리즘을 구성할 수 있는 PAM(Pluggable Authentication Modules)을 사용합니다. 이는 원하는 효과를 얻기 위해 비밀번호를 무작위로 지정하는 것을 의미하는 "솔팅(salting)"에 관한 것입니다.

솔팅은 공격자가 알려진 비밀번호/해시 쌍의 사전을 사용하여 알 수 없는 비밀번호의 주어진 해시가 알려진 비밀번호 중 하나의 해시와 일치하는지 알아내려고 시도하는 사전 공격에 대한 대응책입니다.

솔팅은 서로 다른 솔트 값으로 인해 서로 다른 해시가 발생하므로 이를 방지하므로 비밀번호가 동일한지는 중요하지 않습니다. (그러나 이것은 다른 이유로 인해 여전히 나쁜 습관입니다.) 사전 공격이 성공하려면 공격자는 이제 가능한 모든 솔트 값에 대한 사전을 가지고 있어야 합니다. 충분한 크기의 진정한 무작위 솔트는 그러한 공격에 무시할 수 있는 성공 확률을 제공합니다.

추천 도서:Linux에서 비밀번호를 저장하는 방법(Shadow 유틸리티를 사용한 해싱에 대해 알아보기)

답변3

섀도우 파일에는 $$(예: $1$ 또는 이와 유사한) 사이의 숫자가 표시됩니다. 이는 컴퓨터에서 사용하는 해싱 알고리즘을 나타냅니다. 알고리즘을 식별하고 그것이 어떻게 작동하는지 확인하십시오. 예를 들어 $6$는 SHA 512로, 두 사람이 동일한 비밀번호를 사용하더라도 비밀번호의 해시 다이제스트가 달라지도록 설계되었습니다.

관련 정보