SHA1의 암호화 분석에 상당한 발전이 있었기 때문에 SHA2 (wikipedia)를 위해 단계적으로 폐기해야합니다.SHA1은 여전히 PBKDF2에서 해시 함수로 사용하기에 안전한가요?
그러나 PBKDF2에서 기본 해시 기능으로 사용하기 위해 기본적으로 PRNG로 사용됩니다. 따라서 PBKDF2의 해시로 SHA1을 사용하는 것이 안전해야합니다. 맞습니까?
SHA1의 암호화 분석에 상당한 발전이 있었기 때문에 SHA2 (wikipedia)를 위해 단계적으로 폐기해야합니다.SHA1은 여전히 PBKDF2에서 해시 함수로 사용하기에 안전한가요?
그러나 PBKDF2에서 기본 해시 기능으로 사용하기 위해 기본적으로 PRNG로 사용됩니다. 따라서 PBKDF2의 해시로 SHA1을 사용하는 것이 안전해야합니다. 맞습니까?
HMAC에서 사용될 때 SHA-1의 현재 알려진 취약점은 PBKDF2에서 사용될 때 a fortiori의 보안에 영향을 미치지 않습니다. 그 문제 때문에 MD5도 괜찮을 것입니다 (그러나 MD4는 아닙니다).
그러나 SHA-1은 홍보 활동으로 적합하지 않습니다. 2011 년 SHA-1을 사용한다면 그 선택을 정당화해야합니다. 다른 한편, SHA-256은 훌륭한 기본 기능이며 아무도 그것에 대해 질문하지 않습니다.
PBKDF2에는 성능 문제가 없습니다 (PBKDF2는 "반복 횟수"가 필요하므로 느리게 만듭니다). 따라서 SHA-1보다 SHA-1을 선호하는 이유는 거의 없습니다. 그러나 이 이미 인 경우 PBKDF2-with-SHA-1을 사용하는 시스템을 배포하면 즉각적인 수정이 필요하지 않습니다.
많은 공개적인 혼란을 야기한 SHA1에 대한 공격으로 다른 메시지와 동일한 해시를 갖는 메시지를 구성 할 수 있습니다. 해시 함수는 입력 비트보다 출력 비트가 적기 때문에 모든 해시 함수에 대해 (원칙적으로) 항상 가능합니다. 그러나 일반적으로 우발적으로 발생하는 것은 아니며 의도적으로 수행하는 것은 계산 상 불가능합니다.
"메시지 무결성 보장"관점에서 볼 때 재앙으로 간주 될 수 있습니다.
한편, 난수 생성을 위해 이것은 전혀 영향을주지 않습니다.
확실히. 더 많은 핵심 자료를 생성하려면 SHA-256 이상이 더 효율적일 수 있습니다. 하지만 PBKDF2-HMAC-SHA1이 좋습니다. 또한 표준 HMAC 사용은 손상되지 않았지만, 원칙적으로 더 긴 해시가이 시나리오에서 더 안전합니다.
[Stack Crypto] (http://crypto.stackexchange.com/questions/15218/is-pbkdf2-hmac-sha1-really-broken)에도 꽤 좋은 설명이 있습니다. 간단히 말해서 암호 충돌은 나쁜 것이 아니며 악의적 인 사용자 (또는 유효한 사용자)가 원래의 "실제"암호로 돌아갈 수있는 것이 아니라 서로 다른 두 개의 암호로 로그인 할 수 있음을 의미합니다. –