다음을 통해 공유


인증 수준

인증 수준은 클라이언트 또는 서버가 SSP에서 원하는 보안의 양을 제어합니다. 인증 수준은 dwAuthnLevel 매개 변수를 통해 적절한 RPC_C_AUTHN_LEVEL_xxx 값을 CoInitializeSecurity 또는 CoSetProxyBlanket에 전달하여 설정합니다. 클라이언트와 서버의 인증 수준은 핸드셰이크 중에 비교되며 연결에 더 높은 수준의 보안 보호 설정이 사용됩니다.

가장 낮은 수준의 보안 보호에서 최고 수준까지 다양한 인증 수준이 다음과 같이 설명됩니다.

없음(RPC_C_AUTHN_LEVEL_NONE)

클라이언트와 서버 간의 통신 중에는 인증이 수행되지 않습니다. 모든 보안 설정은 무시됩니다. 이 인증 수준은 인증 서비스 수준이 RPC_C_AUTHN_NONE 경우에만 설정할 수 있습니다.

기본값(RPC_C_AUTHN_LEVEL_DEFAULT)

COM은 일반적인 보안 담요 협상을 사용하여 인증 수준을 선택합니다. 인증 수준 없음을 선택하지 않습니다.

연결(RPC_C_AUTHN_LEVEL_CONNECT)

일반 인증 핸드셰이크는 클라이언트와 서버 간에 발생하며 세션 키가 설정되지만 해당 키는 클라이언트와 서버 간의 통신에 사용되지 않습니다. 핸드셰이크 후의 모든 통신은 안전하지 않습니다.

통화(RPC_C_AUTHN_LEVEL_CALL)

각 호출 시작 부분의 헤더만 서명됩니다. 클라이언트와 서버 간에 교환되는 나머지 데이터는 서명되거나 암호화되지 않습니다. 대부분의 SSP는 이 인증 수준을 지원하지 않으며 자동으로 패킷으로 승격합니다.

패킷(RPC_C_AUTHN_LEVEL_PKT)

각 패킷의 헤더는 서명되었지만 암호화되지는 않습니다. 패킷 자체는 서명되거나 암호화되지 않습니다.

패킷 무결성(RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)

데이터의 각 패킷은 전체적으로 서명되지만 암호화되지는 않습니다. 모든 데이터가 보낸 사람에 의해 서명되기 때문에 수신자는 전송 중에 변조된 데이터가 없음을 확신할 수 있습니다.

패킷 개인 정보(RPC_C_AUTHN_LEVEL_PKT_PRIVACY)

각 데이터 패킷은 서명되고 암호화됩니다. 이렇게 하면 클라이언트와 서버 간의 전체 통신을 보호할 수 있습니다.

AuthenticationLevel

LegacyAuthenticationLevel