0

로그인이 필요한 시스템이 있지만 로그인 할 때 비밀번호를 전송해야하므로 (SSL 사용) 매우 안전합니다. 그래서 나는 다이제스트 액세스 인증의 변형을 사용하여 로그인 요청을 전송합니다. 내가 겪고있는 유일한 문제는 데이터베이스에 암호를 저장하는 방법 (안전한 소금에 절인 해시로 저장하는 것이 좋습니다)이므로 다이제스트 요청과 함께 사용할 수 있으므로 암호는 아무 것도없는 형식으로되어 있습니다. 몇 초 동안 클라이언트 브라우저.암호는 어떻게 저장해야합니까?

간단히 말해서 비밀번호를 안전하게 저장하지만 다이제스트 (데이터베이스의 소금에 달라 붙는 논점이 달라졌을 때)를 인증하려면 어떻게해야합니까? 그래서 서버에

hash(nonce + hash(password + salt)) 

당신은 hash(password + salt)salt를 저장해야합니다 내가 알고있는 것처럼

답변

1

,이 메커니즘은 뭔가를 보냅니다.

+0

내가 처음 생각 했었지만 그렇게하기 위해 암호가 안전하게 전달되는 소금을 전송해야했습니다. 그 암호의 보안을 손상시키지 않을까요? – topherg

+0

@cgoddard : 아니요. 제대로 설계된 시스템에서는 소금을 알고 공격자가 도움이되지 않습니다. –

+0

아,하지만 제대로 설계된 것을 어떻게 의미합니까? 고려해야 할 요소는 무엇입니까? – topherg

0

this Perl 모듈의 소스 코드를 살펴볼 수 있습니다. * nix 계정을 관리합니다.