2012-06-09 2 views
2

일부 로그인 양식을 통해 디자인 할 때 비밀번호가 해시에 저장되는지 궁금해하기 시작했습니다. 누군가 한 웹 사이트를 해킹했다고 가정합니다.해시 및 로그인

그리고 해당 웹 사이트의 사용자가 다른 사이트에서 정확히 동일한 암호를 사용한다고 가정합니다.

그렇다면 해시 만 사용하면 다른 웹 사이트에 로그인 할 수 있습니까?

답변

1

일반적으로 웹 사이트는 무작위 염을 사용하므로 두 사이트에서 비밀번호가 같더라도 다른 사이트에서 해시를 다르게 저장합니다.

웹 사이트가 임의 소금을 사용하지 않았고 암호가 항상 동일한 것으로 해시 되더라도 해당 사이트에 로그인하기 전에 암호를 알아야합니다.

0

암호를 해싱하는 것은 해커에 대한 첫 번째 방어선 일뿐입니다. 해커가 웹 사이트를 손상시키고 해시 된 암호 데이터베이스를 얻는 경우 매우 자주 사용되는 암호에 매핑되는 해시 사전을 사용할 수 있습니다.

해커가 사용중인 해싱 스키마 (MD5 또는 SHA-1 등)를 알고 나면 원래 암호를 확인할 수 있습니다. 이것은 해싱 스키마가 입력 및 출력에 대해 1 대 1이기 때문입니다. 암호는 항상 동일한 해시를 생성하며 해시는 원래 암호를 찾기 위해 되돌릴 수 있습니다.

자신을 보호하기 위해 암호를 암호화 한 다음 소금 + 암호 조합을 해시해야합니다. 각 암호는 고유 한 소금과 쌍을 이루어야합니다.

은 자세한 내용은 여기를 참조하십시오 : http://codingmayhem.tumblr.com/post/24552289519/storing-passwords-securely

1

가 아니, 당신은 해시에서 실제 암호를 추론 할 수 없다. 그건 main property of cryptographic hashing functions입니다 :

감안할 때 해시 시간는 모든 메시지를 찾기 어려울 수 있어야 미터 등이 시간 = 해시 (미터). 이 개념은 one-way function의 개념과 관련됩니다. 이 속성이없는 함수는 preimage attacks에 취약합니다.

당신은 적절한 공격을 사용하여 암호 추측 시도 할 수 있습니다 (예. g합니다. 사전 공격이나 짐승 - 강제)는 collision을 찾기 위해, 나는. 이자형. 같은 해시 값이되는 입력 값입니다.

공격자가 알려진 해시 값을 입력 값에 매핑하는 미리 계산 된 조회 테이블과 같은 충돌 검색 프로세스의 속도를 높이는 데 도움이되는 특정 기술이 있습니다. Rainbow tables은 이러한 조회 테이블의 고급 변형입니다.