비밀번호 유사성


9

유닉스 컴퓨터에서 비밀번호를 변경하고 싶었습니다. 나는 일반적인 "passwd"를했고 이전 비밀번호와 새 비밀번호를 입력했다.

그런 다음 기계가 다음 메시지와 함께 나에게 돌아 왔습니다.

BAD PASSWORD: is too similar to the old one

그건 내가 생각하게 ... 기계가 어딘가에 일반 텍스트로 암호를 가지고 있습니까? 그렇지 않으면 이전 비밀번호와 새 비밀번호를 비교할 수 없어야합니다. 아니면 해시 함수가 있습니까?

답변:


6

좋아, Michael Hampton 의 제안에 따라 pam_cracklib.c 의 코드를 보았고 pam_cracklib가 함수 호출을 통해 PAM에서 이전 (일명 현재 암호)을 얻는 것처럼 보입니다 (완전히 괜찮은 것으로 간주됩니다) 방금 인증을 위해 현재 비밀번호를 입력 한 다음 이전 비밀번호와 방금 입력 한 새 비밀번호 간의 유사성 분석 (거리 기능)을 수행합니다.

그러나 기록의 모든 이전 암호에 대해서는이 분석을 수행하지 않습니다. 가능하지 않습니다. 해시로만 저장됩니다. 그들에게 동일한 경우에만 확인이 가능합니다. 그래서 예상대로 모든 것이 정돈 된 것처럼 보이지만 이제는 왜 그런지 이해합니다 ... 모두 감사합니다.


3

기존 비밀번호는 일반 텍스트로 저장되지 않습니다.

대신 기존 비밀번호 해시/etc/security/opasswdPAM 에 의해 저장됩니다 . 그런 다음 PAM 구성에 지정된 내용에 따라 비밀번호를 변경할 때 비교합니다.

PAM 구성 예 :

password required pam_unix.so sha512 remember=12 use_authtok

여기에서는 remember12 개의 이전 비밀번호를 기억합니다.

자세한 내용 은 pam_cracklib를 사용한 Linux 비밀번호 보안을 참조하십시오 .


음 ... 글쎄, 그것은 내가 전에 사용했던 암호가 아닙니다 ... 그래서 그것은 오래된 암호의 문자 변경을 확인해야합니다. 그러나 저장된 모든 것이 해당 암호의 해시라면 어떻게 비교를 수행합니까? 암호로 안전한 해시의 주요 기능 중 하나가 다른 일반 텍스트와의 비교를 허용하지 않습니까?
dertoni

당신은 저를 거기에 데려 갔다. 그 소스 코드를 반드시 읽어야합니다.
Michael Hampton

나는 그것이 새로운 암호를 변형시킬 것으로 기대하며 이러한 변형의 해시 중 하나가 이전 암호의 해시와 일치하면 너무 유사합니다. 그렇게하면 해시 만 저장됩니다. 물론, 나는 이것을 소스 코드에서도 확인하지 않았다 ...
Ladadadada

좋아, 코드를 읽으십시오 ... 내 발견에 대한 답변이 추가되었습니다. 답을 찾도록 도와주는 +1 ;-) thx.
dertoni

0

일부 시스템은 엔트로피 (비밀번호 복잡성)를 저장 / 계산하여 비교할 수 있습니다. PAM의 경우는 모르겠습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.