2009-03-30 7 views
0

다시 question non-random-salt-for-password-hashes Mr Potato Head는 SHA-512 대신 md5를 사용하면 무지개 테이블을 쉽게 생성 할 수 있다고 말합니다. 나는 무지개 테이블이 생성되면 알고리즘이 관련성이 없다고 생각했을 것입니다. 무지개 테이블을 사용하여 알려진 해시를 확인하는 방법과 아무런 차이가 없습니까? 그리고 어떤 방법으로 해시 알고리즘이 사용되었는지 알 수있는 방법이 있습니까?비밀번호 해시에 사용되는 해시 알고리즘이 무지개 테이블 생성에 영향을 줍니까?

편집 업데이트 :

나는 암호 테이블의 적절한 해시가 응용 프로그램을 보호 할 수 있지만, 사용자가 다시 사용됩니다 암호와 ID를 다른 사람을 보호하지 않는, 필요하다고 생각합니다. SHA-512의

답변

1

Enough With The Rainbow Tables: What You Need To Know About Secure Password Schemes이 점에 대해 간략히 설명합니다. 그것은 사람들이 무지개 표를 오해하는 것에 대한 미니 호언 장담과 그들이 실제로 제시하는 위험 수준으로 시작하지만 암호 해시 알고리즘 성능의 함의에 대한 좋은 토론으로 바뀝니다.

마지막 질문에서 더 직접적인 대답은 출력 만 검사하면 최종 해시 알고리즘 출력의 비트 수를 결정할 수 있다는 것입니다. 알고리즘에 따라 고유하거나 그렇지 않을 수도 있지만, 알고리즘이 우수하다면 정확하게 식별 할 수있는 패턴이 발견되지 않습니다. (마지막 단계는 두 경우 모두 동일하기 때문에 MD5 출력 만 SHA512-MD5의 최종 결과와 동일하게 보일 것이므로 "최종"이라고 말합니다.)

암호 데이터베이스를 훔칠 수있는 사람도 소스 코드를 훔칠 수 있으므로 원본을보고 알고리즘이 무엇인지 확인하고 데이터베이스에 대한 공격으로 복제 할 수 있습니다.

+0

감사합니다. 그것은 문제에 대한 나의 이해와 합산한다. – Martlark

3

He said that

사용

그것은을 계산하기 위해 단순히 더 비싼, MD5보다 무지개 테이블을 생성 사람을 고통의 더 많은 것을 입증 할 것입니다 MD5 해시를 계산하는 것보다 SHA-512 해시.

+0

얼마나 비쌉니까? 확실하지 않은가? sha-512는 충돌을 생성하기가 더 어렵 기 때문에 md5보다 선호됩니다. – Martlark

+1

Perl 5.10을 사용하면 SHA512보다 MD5가 10 배 더 빨라졌습니다. – innaM

2

순전히 성능 문제. MD5는 SHA-512보다 간단하기 때문에 주어진 시간대에 더 많은 무지개 테이블이나 더 많은 무차별 공격을 생성 할 수 있습니다.

1

사실, 테이블을 생성하는 시간은이 작업을 한 번만 수행했기 때문에 무의미합니다.

균열 시간이 훨씬 더 적절합니다. 레인보우 테이블은 암호를 복구하는 데 필요한 해시 작업 수를 줄이는 방법 일 뿐이지 만 암호를 해독하는 동안 해시 함수를 적용해야합니다. 예를 들어, 무지개 테이블은 해시 연산의 수를 10'000 배까지 줄일 수 있습니다. 해시가 느린 경우 (예 : SHA-512) 크래킹 속도가 느려집니다.

좋은 암호 해시 함수는 소금을 포함 할뿐만 아니라 해시 함수를 수천 번 적용합니다. 해싱은 여전히 ​​모든 실제적인 목적을 위해 빠르지 만 (어떤 방법 으로든) 균열은 수천 배 느려질 것입니다.

+0

테이블을 만드는 시간은 테이블의 조회 시간만큼 중요합니다.한 사이트에서 MD5를 한 라운드 사용하고 누군가가 하루에 1-7 개의 문자 테이블을 생성 할 수 있다고 가정합니다. 짧은 암호의 대부분은 하루 만에 금이 간다. 이제 내 사이트에서 2113 라운드의 해시를 사용한다고 가정합니다. (소금기가없는 이상한 이유로 인해) 공격자가 2113 라운드 테이블을 미리 계산하지 않았기 때문에 새로운 무지개 테이블을 생성하는 데 수년이 걸렸습니다. 비싼 해싱은 무차별 공격 * 및 * 사전 공격으로부터 방어합니다. – erickson