암호 관리가 개선된 Foal v2.11이 출시되었습니다.



Foal의 버전 2.11이 나왔습니다! 개선 사항은 다음과 같습니다.

암호 해싱의 반복 횟수가 증가했습니다.



PBKDF2 알고리즘(비밀번호 해싱에 사용됨)은 여러 반복을 사용하여 비밀번호를 해시합니다. 이 작업 요소는 의도적이며 잠재적인 공격자의 속도를 늦추어 해시된 암호에 대한 공격을 더욱 어렵게 만듭니다.

컴퓨팅 성능이 향상되면 반복 횟수도 증가해야 합니다. 이것이 버전 2.11부터 반복 횟수가 310,000회로 증가한 이유입니다.

기존 암호 해시가 최신 권장 반복 횟수를 사용하고 있는지 확인하려면 passwordHashNeedsToBeRefreshed 기능을 사용할 수 있습니다.

아래 예는 로그인 중에 이 검사를 수행하는 방법과 반복 횟수가 너무 적은 경우 암호 해시를 업그레이드하는 방법을 보여줍니다.

const { email, password } = ctx.request.body;

const user = await User.findOne({ email });

if (!user) {
  return new HttpResponseUnauthorized();
}

if (!await verifyPassword(password, user.password)) {
  return new HttpResponseUnauthorized();
}

// highlight-start
// This line must be after the password verification.
if (passwordHashNeedsToBeRefreshed(user.password)) {
  user.password = await hashPassword(password);
  await user.save();
}
// highlight-end

// Log the user in.

좋은 웹페이지 즐겨찾기