좋습니다. 따라서 해시의 모든 문제점은 사용자가 15 자 이상의 암호를 입력하지 않아야한다는 것입니다. 대부분은 4-8자를 사용하여 공격자가 무지개 테이블로 쉽게 깨지도록 만듭니다.궁극 해시 보호 - 개념 토론
해결 방법, 사용자 소금을 사용하여 해시 입력을 더 복잡하고 50ch 이상으로 만들면 테이블을 생성 할 수 없게됩니다 (크기가 큰 문자열의 경우 큰 방법). 또한 각 사용자에 대해 새 테이블을 만들어야합니다. 문제 : DB를 다운로드하면 사용자 소금을 얻을 수 있으므로 충분히주의를 기울이면 다시 사각형으로 돌아갑니다.
해결책 "사이트"후추와 사용자 소금을 사용하면 DB를 얻더라도 설정 파일을 알아야합니다. 문제점 : DB에 들어갈 수 있다면 파일 시스템에 들어가서 사이트 후추를 발견 할 수 있습니다.
이렇게 알려진 모든 것 - 공격자가 귀하의 사이트에 들어가서 모든 것을 얻는다고 가정합니다. 이제 어떻게하니?
토론의이 시점에서, 대부분의 사람들은 "누가이 시점에서 걱정합니까?"라고 대답합니다. 그러나 그것은 "나는 다음에 무엇을해야할지 모르기 때문에 그다지 중요하지 않다"고 말하는 것이 싼 방법 일뿐입니다. 슬프게도, 그 밖의 모든 곳에서 나는이 질문에 답장을했다. 대부분의 프로그래머들은 매우 중요한 부분을 놓치고 있음을 보여줍니다.
귀하의 사이트가 사이트의 다른 95 %와 비슷하고 사용자 데이터 (또는 완전히 차단 된 액세스)와 같은 이미지가 스쿼트에 가치가없는 이미지를 만들 수 있습니다. 침입자는 "Bob"이 은행 사이트에서와 같은 방식으로 사이트에서 동일한 암호를 사용한다는 것을 알고 있기 때문에 사용자 "Bob"중 하나를 상대로 발생합니다. 그는 또한 밥이 거기에서 자신의 생명을 구할 수 있음을 알고 있습니다. 이제 공격자가 해시 사이트를 해킹 할 수 있다면 나머지는 케이크 조각이됩니다.
여기 내 질문입니다 - 어떻게 추적 가능한 경로없이 암호의 길이를 연장합니까? 또는 해싱 프로세스를 어떻게 복잡하게 만들어 적시에 복제 할 수 있습니까? 내가 알아 낸 유일한 점은 해시를 수천 번 다시 해시하고 최종 무지개 표를 만드는 데 소요되는 시간을 1,000 배로 늘릴 수 있다는 것입니다. 이는 공격자가 테이블을 만들 때 동일한 경로를 따라야하기 때문입니다.
다른 아이디어?
이것은 여러 번 이미 논의되었습니다. 비밀 번호 소금에 대한 다른 스레드를 참조하십시오. –
간단한 해결책 : 더 긴 암호를 요구하십시오. – jalf
필요한 비밀번호 길이가 너무 길어서 사용자에게 물어볼 수 없습니다. 기호가 다른 15 자 이상이 필요합니다. 대부분의 사이트는 강력한 8 자의 암호를 얻을 수있어서 운이 좋았습니다. – Xeoncross