보안 패키지 사용
SSPI(보안 지원 공급자 인터페이스)는 다음 보안 패키지와 함께 사용할 수 있습니다.
Kerberos 및 NTLM 프로토콜은 운영 체제와 함께 제공되는 Secur32.dll SSP(보안 지원 공급자)의 보안 패키지로 구현됩니다. 기본적으로 Kerberos 및 NTLM 인증에 대한 지원은 시스템이 시작될 때 컴퓨터의 LSA( 로컬 보안 기관 )에 의해 로드됩니다. Windows Server 또는 Windows 도메인에서 패키지를 사용하여 네트워크 로그온 및 클라이언트/서버 연결을 인증할 수 있습니다. 사용되는 기능은 연결의 다른 쪽에 있는 컴퓨터의 기능에 따라 달라집니다. Kerberos 프로토콜은 사용 가능한 경우 항상 선호됩니다.
대화형 사용자에 대한 보안 컨텍스트가 설정되면 메시지 교환, 서명, 확인, 암호화 및 암호 해독을 지원하기 위해 사용자의 보안 컨텍스트에서 실행되는 프로세스에서 Kerberos 또는 NTLM 패키지의 또 다른 instance 로드할 수 있습니다. 그러나 LSA 이외의 프로세스는 자격 증명 캐시의 세션 키 또는 티켓에 대한 액세스가 허용되지 않습니다.
시스템 서비스 및 전송 수준 애플리케이션은 SSPI를 통해 SSP에 액세스합니다. SSPI는 시스템에서 사용할 수 있는 보안 패키지를 열거하고, 패키지를 선택하고, 해당 패키지를 사용하여 인증된 연결을 가져오는 기능을 제공합니다.
SSPI의 메서드는 개발자가 특정 보안 프로토콜의 세부 정보를 모르고 사용할 수 있는 일반적인 루틴입니다. 예를 들어 클라이언트/서버 연결이 인증되는 경우:
- 연결의 클라이언트 쪽에 있는 애플리케이션은 SSPI 함수 InitializeSecurityContext(일반)를 사용하여 서버에 자격 증명을 보냅니다.
- 연결의 서버 쪽에 있는 애플리케이션은 SSPI 함수 AcceptSecurityContext(일반)로 응답합니다.
- 연결이 인증된 후 서버의 LSA는 클라이언트의 정보를 사용하여 액세스 토큰을 빌드합니다.
- 그런 다음 서버는 SSPI 함수 ImpersonateSecurityContext 를 호출하여 액세스 토큰을 서비스의 가장 스레드에 연결할 수 있습니다.
Kerberos 보안 패키지
Kerberos 보안 패키지 는 Kerberos 인증 프로토콜을 기반으로 합니다.
Kerberos 프로토콜을 사용하여 클라이언트/서버 연결을 인증하는 경우 InitializeSecurityContext(Kerberos) 는 클라이언트의 KRB_AP_REQ 메시지를 포함하는 GSSAPI 메시지를 생성합니다. 그런 다음, AcceptSecurityContext(Kerberos) 는 서버의 KRB_AP_REP 메시지를 포함하는 GSSAPI 메시지를 생성합니다.
Kerberos 프로토콜 구현의 백그라운드에서 발생하는 단계에 대한 배경 정보는 Microsoft Kerberos를 참조하세요.
모든 분산 서비스는 SSPI를 사용하여 Kerberos 프로토콜에 액세스합니다. 인증에 Kerberos 프로토콜을 사용하는 방법의 부분 목록에는 다음이 포함됩니다.
- 스풀러 서비스 인쇄
- CIFS/SMB 원격 파일 액세스
- Active Directory에 대한 LDAP 쿼리
- 분산 파일 시스템 관리 및 조회
- IPsec 호스트-호스트 보안 기관 인증
- 네트워크 서비스 품질에 대한 예약 요청
- 인터넷 정보 서비스에 대한 인트라넷 인증
- 인증된 RPC를 사용한 원격 서버 또는 워크스테이션 관리
- 도메인 사용자 및 컴퓨터에 대한 인증서 서비스에 대한 인증서 요청
NTLM 보안 패키지
NTLM 보안 패키지는 NTLM 인증 프로토콜을 기반으로 합니다.