다이제스트 챌린지 생성
Microsoft Digest 챌린지는 서버의 AcceptSecurityContext(다이제스트) 함수에 대한 초기 호출에 의해 생성됩니다. 이 함수 호출은 보안 위반을 감지하는 데 사용할 수 있는 정보를 포함하는 고유한 값인 nonce를 생성합니다. 또한 이 호출은 상태 정보를 유지하는 데 사용되는 부분 보안 컨텍스트 를 생성합니다. AcceptSecurityContext(다이제스트)를 호출할 때 컨텍스트 요구 사항 플래그를 지정하여 Microsoft Digest의 동작을 제어하고 보호 품질을 설정합니다. 자세한 내용은 다이제스트 챌린지 컨텍스트 요구 사항을 참조 하세요.
AcceptSecurityContext(Digest) 함수에 대한 초기 호출의 출력은 HTTP 401 응답(액세스 거부됨)을 사용하여 클라이언트로 전송되는 토큰을 포함하는 보안 버퍼입니다.
참고 항목
입력 버퍼에 정보가 포함되지 않은 AcceptSecurityContext(다이제스트) 에 대한 호출은 다이제스트 챌린지를 반환합니다.
다이제스트 챌린지 컨텍스트 요구 사항
컨텍스트 요구 사항은 다음을 결정하는 플래그입니다.
- Microsoft Digest가 SASL 메커니즘 또는 HTTP 인증 프로토콜로 작동하는지 여부입니다.
- 클라이언트와 서버에서 공유하는 보안 컨텍스트에서 지원하는 보호 품질입니다.
기본적으로 Microsoft Digest는 SASL 메커니즘으로 작동합니다. HTTP 인증에 사용하려면 서버에서 ASC_REQ_HTTP(0x10000000) 플래그를 설정해야 합니다.
컨텍스트 요구 사항은 AcceptSecurityContext(Digest) 함수의 fContextReq 매개 변수에 전달되는 플래그로 지정됩니다. 플래그는 챌린지에서 qop 지시문을 제어하여 보안 컨텍스트의 보호 품질에 영향을 미칩니다.
기본적으로 qop 지시문은 "auth"로 설정됩니다. qop 지시문을 "auth-int"로 설정하는 챌린지를 생성하려면 서버에서 다음 플래그 중 하나 이상을 지정해야 합니다.
- ASC_REQ_INTEGRITY
- ASC_REQ_REPLAY_DETECT
- ASC_REQ_SEQUENCE_DETECT
SASL 전용: ASC_REQ_CONFIDENTIALITY 컨텍스트 요구 사항 플래그를 지정하여 qop 지시문이 "auth-conf"로 설정된 챌린지를 생성합니다. 이 플래그는 HTTP 인증에 유효하지 않으므로 ASC_REQ_HTTP 플래그와 함께 사용할 수 없습니다.
qop 지시문에 대한 자세한 내용은 보호 품질 및 암호화를 참조 하세요.
과제에 대한 자세한 내용은 다이제스트 챌린지의 내용을 참조하세요.