인증 서비스 교환
사용자가 로그온 이름과 암호를 입력하여 네트워크에 로그온하기 시작합니다. 사용자 워크스테이션의 Kerberos 클라이언트는 암호를 암호화 키로 변환하고 결과를 프로그램 변수에 저장합니다.
그런 다음 클라이언트는 KDC의 인증 서비스에 형식 KRB_AS_REQ 메시지(Kerberos 인증 서비스 요청)를 전송하여 KDC(키 배포 센터)의 TGS(티켓 부여 서비스)에 대한 자격 증명을 요청합니다. 이 메시지의 첫 번째 부분은 요청되는 사용자 및 TGS 서비스를 식별합니다. 이 메시지의 두 번째 부분에는 사용자가 암호를 알고 있음을 증명하기 위한 사전 인증 데이터가 포함되어 있습니다. 이는 단순히 사용자의 로그온 암호에서 파생된 master 키로 암호화되는 인증자 메시지입니다.
KDC가 KRB_AS_REQ 받으면 데이터베이스에서 사용자를 조회하고, 연결된 사용자의 master 키를 가져오고, 사전 인증 데이터의 암호를 해독하고, 내부의 타임스탬프를 평가합니다. 타임스탬프가 유효한 경우 KDC는 사전 인증 데이터가 사용자의 master 키로 암호화되어 클라이언트가 정품임을 확신할 수 있습니다.
KDC가 사용자의 ID를 확인한 후 다음과 같이 클라이언트가 TGS에 표시할 수 있는 자격 증명을 만듭니다.
- KDC는 로그온 세션 키를 만들고 사용자의 master 키로 복사본을 암호화합니다.
- KDC는 로그온 세션 키의 또 다른 복사본과 사용자의 권한 부여 데이터를 TGT(티켓 부여 티켓)에 포함하고 KDC의 자체 master 키로 TGT를 암호화합니다.
- KDC는 형식 KRB_AS_REP 메시지(Kerberos 인증 서비스 회신)로 회신하여 이러한 자격 증명을 클라이언트로 다시 보냅니다.
- 클라이언트가 회신을 받으면 사용자의 암호에서 파생된 키를 사용하여 새 로그온 세션 키의 암호를 해독합니다.
- 클라이언트는 티켓 캐시에 새 키를 저장합니다.
- 클라이언트는 메시지에서 TGT를 추출하고 티켓 캐시에도 저장합니다.