사전공격
사전공격의 목적은 브루트 포스를 빠르게하기 위한 것이다. 1234나 qwerty등을 미리 테이블에 넣어 놓고 대입하는 것이다. 특히 초기 비밀번호 0000같은것으로 뚫린 CCTV가 수 없이 많은 것을 보면, 사전공격을 막는 것이 어렵지 않다는 것을 알 수 있다. 왜냐면, q1p2wo3eir4uty 이렇게만 바꿔도 안전하기 때문이다. 한마디로 유추 할 수 없는 비밀번호를 만들면 사전 공격을 회피할 수 있다.
DB에 저장시 주의사항
예를 들어 pw1234
라는 비밀번호를 해시화 하면 abcdefg1234567890
이 나온다고 하자. 그러면 미리 abcdefg1234567890
같은 것들을 테이블에 저장한뒤에, 비밀번호를 저장한 테이블을 사용하여 공격하는 것이다. 그렇지만 salt를 넣어서 abcdfewfsagdsg456489wer4fs5dfasdf
가 나오면, 사전공격이 무용 지물이 되고 만다. 그렇기 때문에 해시암호를 사용할 때도, salt를 넣는것을 추천한다. 예를들면 pw1234
에 salt
를 붙이면, salt값을 모르는 이상, 뚫을 수가 없게 된다.