주기적으로 무작위로 생성되는 솔트를 사용하여 더욱 안전한 비밀번호를 생성하시나요?

주기적으로 무작위로 생성되는 솔트를 사용하여 더욱 안전한 비밀번호를 생성하시나요?

ie.schecluded Bash 스크립트를 사용하여 사용자 비밀번호에 대해 무작위로 생성된 솔트를 변경하는 경우 비밀번호를 더욱 안전하게 만드는 방법이 있습니까? 한 달에 두 번 일반 서버 사용자 없이 일반 서버 사용자는 이에 대해 아무것도 모르거나 사용자 행동에 영향을 주지 않거나 자신의 비밀번호로 직접 어떤 조치를 취할 필요가 없다는 것입니까?

내 댓글이 삭제된 후 중재자가 나에게 새 질문을 하라고 지시한 이전 포럼 주제에 대한 참조 링크는 다음 위치에 있습니다. 암호화된 비밀번호를 만드는 방법

답변1

Unix 및 Linux StackExchange에 오신 것을 환영합니다!

이 아이디어의 문제점은 비밀번호 해시가되돌릴 수 없음: 해시된 비밀번호를 "복호화"하고 이를 로그인 시 사용자 입력과 비교하는 대신, 사용자가 입력하는 비밀번호는 저장된 비밀번호 해시와 동일한 솔트로 해시된 다음 결과가 저장된 해시와 비교됩니다. 일치하면 사용자가 유효한 비밀번호를 입력했고 로그인이 승인된 것으로 간주됩니다.

(예, 두 번의 비밀번호 입력으로 인해 동일한 해시가 생성될 수 있다는 것은 이론적으로 가능하지만 이는극도로할 것 같지 않은.)

사용자를 개입시키지 않고 새로운 솔트로 모든 비밀번호를 다시 해시할 수 있으려면 모든 사람의 현재 비밀번호의 일반 텍스트(또는 가역적으로 암호화되어 일반 텍스트와 동등한) 버전을 저장해야 합니다. 이것이 바로 비밀번호 해싱 체계가 애초에 방지하도록 설계된 것입니다.

새로운 솔트로 기존 비밀번호를 다시 해싱하는 것은 그리 유용하지도 않습니다. 악의적인 사람이 다시 해싱하기 전에 비밀번호 해시의 사본을 얻은 경우 여유 시간에 이전 솔트를 사용하여 해시를 무차별 공격할 수 있습니다. 새로운 솔트와 함께 시스템에서 발견된 비밀번호를 사용하십시오.로그인 시 시스템이 요청하는 실제 비밀번호는 여전히 동일하기 때문입니다.

비밀번호 저장에 솔티드 해시를 사용하는 목적은 두 가지입니다.

1.) 해시를 보는 관리자가 두 사용자가 동일한 실제 비밀번호를 가지고 있다는 사실을 우연히 알아차리는 것을 방지합니다.

2.) 비밀번호 해시가 포함된 파일이 악의적인 손에 들어가는 경우 시스템 관리자는 유출을 인지하고 악의적인 로그인이 발생하기 전에 사용자가 비밀번호를 변경하도록 할 시간을 갖게 됩니다. (좋은 비밀번호는 실제로 사전 공격에 강할 수 있지만 이를 보장하려면 비밀번호를 설정하거나 변경할 때 비밀번호 품질 검사를 구현해야 합니다.)

/etc/shadow최신 시스템에서는 일반 사용자가 읽을 수 없는 비밀번호 해시가 저장되어 있습니다 . 따라서 해시가 악의적인 손에 들어가면 시스템 보안이 이미 상당히 심각하게 손상되었음을 의미합니다. 비밀번호 변경 필요성에 대한 사용자의 불평을 걱정하는 것보다 더 큰 문제가 있습니다!

관련 정보