2013-04-29 3 views
0

소금이 왜 유일하게 생성되지 않고 왜 무작위로 생성되어야하는지 이해하지 못합니다. 예를 들어, 고유 한 user_id 열이있는 테이블을 가지고 있다면 소금에 대한 암호를 지정할 수 없습니다.소금은 무작위이어야합니까?


장 버나드 펠러 린은 정확하고이 https://stackoverflow.com/a/536756/516813의 중복입니다. 나는 수색에서 그것을 발견 할 수 없었다. 그리고 나는 질문을 닫고있다. FYI, 그 대답은 주요 요구 사항이 유일 함임을 보여줍니다.

+0

@ Jean-BernardPellerin 선생님, 제 검색에서 찾지 못했습니다. – chacham15

답변

1
  1. 사용자 ID는 충분히 좋은 무지개 테이블

  2. 때마다 암호 변경 소금을 변경해야합니다을 중지 할 가능성이 있습니다.

+0

1. 좋은 무지개 테이블을 막을 수없는 이유는 무엇입니까? (이제 추가 데이터가 암호에 추가되어 결과에 대한 무지개 테이블이 추가로 추가되어 원래 암호를 얻지 못합니다)? 2. 알고리즘이 bcrypt 일 때 (동일한 암호에 대해 다른 출력을 생성하는 경우) 중요합니까? – chacham15

+0

1 : 공격자는 사용자 ID가 무엇인지 알고 있으므로 해당 데이터를 제거 할 수 있습니다. 소금의 포인트는 평문을 길고 랜덤하게 무작위로 만들어서 무지개가 전혀 깨지지 않도록하는 것입니다. – SLaks

+0

2 : bcrypt는 자체 임의의 소금을 생성하여 해시에 저장하므로 모든 질문이 적용되지 않습니다. – SLaks

1

예, 당신이 수 (사용자가 다시 이전 암호에 암호를 변경 여부를 알고있는 공격자를 방지하기 위해),하지만 소금의 힘을 약화 것이다. 좋은 소금은 길고 추측하기 어렵습니다. 좋은 임의의 숫자가이 기준을 충족하므로 사용됩니다.

+0

왜 소금 문제를 추측 할 수 있습니까? 소금의 목적은 단순히 레인보우 테이블 공격을 막는 것입니다 (이것도 함께 수행됩니다). – chacham15