다음을 통해 공유


클라이언트 인증 자격 증명

인증된 각 클라이언트는 서버에 인증 자격 증명을 제공해야 합니다. RPC에서 클라이언트는 클라이언트와 서버 간의 바인딩에 인증 자격 증명을 저장합니다. 이를 위해 클라이언트는 RpcBindingSetAuthInfo 또는 RpcBindingSetAuthInfoEx를 호출합니다.

암시적 자격 증명과 명시적 자격 증명의 두 가지 유형이 있습니다.

  • 명시적 자격 증명은 클라이언트가 사용자 이름, 암호 및 도메인을 제공할 때 존재합니다.
  • 암시적 자격 증명은 클라이언트가 RpcBindingSetAuthInfo 또는 RpcBindingSetAuthInfoEx 함수를 호출하는 스레드 또는 프로세스 토큰의 자격 증명을 사용하는 경우에 존재합니다.

명시적 자격 증명을 사용하는 경우 사용자 암호를 저장, 조작 및 검색하면 분산 시스템에 보안 취약성이 발생할 수 있으므로 클라이언트는 명시적 자격 증명을 제공하지 않아야 합니다.

암시적 자격 증명을 사용하기 위해 클라이언트는 RpcBindingSetAuthInfo(: )를 호출합니다. 보안 시스템과 RPC는 인증 세션에서 사용할 스레드 또는 프로세스 토큰에서 자격 증명을 가져옵니다.

클라이언트가 명시적 자격 증명을 사용하는 경우 이러한 두 함수의 다섯 번째 매개 변수는 RPC_AUTH_IDENTITY_HANDLE 형식입니다. 데이터 구조에 대한 포인터인 유연한 형식입니다. 데이터 구조의 내용은 각 인증 서비스와 다를 수 있습니다. 현재 RPC에서 지원하는 SSP는 애플리케이션 집합이 SEC_WINNT_AUTH_IDENTITY 구조를 가리키도록 RPC_AUTH_IDENTITY_HANDLE 합니다. SEC_WINNT_AUTH_IDENTITY 구조에는 사용자 이름, 도메인 및 암호에 대한 필드가 포함됩니다.