다이제스트 인증은 요청 - 응답 메커니즘의 풍미처럼 보입니다. 클라이언트와 서버가 비밀번호 (MD5 또는 기타)와 섞인 임의의 문자열이며 네트워크를 통해 이러한 혼합 결과 만 전송됩니다.클라이언트는 다이제스트 HTTP 인증에서 챌린지 (nonce)를 선택할 수 있습니까?
일반적으로 챌린지 ("nonce")는 서버에 의해 선택되고 클라이언트로 전송됩니다. 다이제스트 인증에 대한 Wikipedia article은 샘플 "세션"을 나열합니다. 챌린지 ("nonce")는 서버에 의해 선택됩니다. IIS에서 내 컴퓨터의 IIS를 테스트했습니다. 다시 IIS에서 문제가 생성됩니다.
일부 게시물에서는 like this one이라는 챌린지가 클라이언트에 의해 생성됩니다. 클라이언트는 임의의 문자열을 생성하고 챌린지가있는 요청과 암호와 해당 챌린지의 결과를 보냅니다.
후자는 허용되고 널리 수용됩니까? 고객이 챌린지를 선택할 수 있습니까 ("nonce")?
연결된 예에서 클라이언트는 서버에 전혀 문제를 제기하지 않으며 서버로부터의 문제를 선점합니다. –
@ Phil : 괜찮습니까? 이것은 클라이언트가 자신을 인증하기 위해 임의의 nonce를 선택할 수 있음을 의미합니다. 그럼 진위 검증은 서버 측에서 어떻게 보이나요? 다행히도 통신은 HTTPS를 통해 이루어집니다. – Gumbo
내 답변에 링크 된 WSSE 기사를 읽으십시오. 클라이언트는 자신의 암호 해시와 nonce를 전송합니다.이 암호는 서버가 자신의 암호 해시를 생성하여 클라이언트가 보낸 해시와 비교합니다. 다이제스트에 대한 작은 최적화가 가능합니다. 서버에서 nonce를 얻는 데 추가 왕복이 필요하지 않습니다. –