Sun 엔터프라이즈 인증 메커니즘 안내서

SEAM을 사용하여 서비스 액세스 권한 획득

사용자가 특정 서버의 특정 서비스에 액세스하려면 두 가지가 필요합니다. 먼저 티켓 부여 티켓(TGT)의 증명서를 얻어야 합니다. 티켓 부여 서비스에서 이 증명서를 해독하면 사용자가 액세스를 요청한 서버에 필요한 두 번째 증명서를 작성해 줍니다. 이 두 번째 증명서를 사용하여 해당 서버의 서비스에 액세스를 요청할 수 있습니다. 서버가 두 번째 증명서를 완전히 해독한 후에 사용자에게 액세스가 부여됩니다. 아래에서 이 프로세스에 대해 자세히 설명합니다.

티켓 부여 서비스에 대한 증명서 획득

  1. 인증 프로세스를 시작하려면 클라이언트에서 특정 사용자 주체의 인증 서버에 요청을 보냅니다. 이 요청은 암호화되지 않고 전송됩니다. 이 요청에는 보안에 문제되는 정보가 없으므로 암호화할 필요가 없습니다.

  2. 인증 서비스에 의해 요청이 접수되면 KDC 데이터베이스에서 사용자의 주체 이름을 찾습니다. 주체가 일치할 경우 인증 서비스는 해당 주체의 개인 키를 얻어 클라이언트가 사용할 세션 키, 티켓 부여 서비스(세션 키 1), 티켓 부여 서비스의 티켓(티켓 1)을 생성합니다. 이 티켓을 티켓 부여 티켓(TGT)이라고도 합니다. 세션 키와 티켓은 사용자의 개인 키로 암호화되어 클라이언트에게 전송됩니다.

  3. 클라이언트는 이 정보와 사용자 주체의 개인 키를 사용하여 세션 키 1과 티켓 1을 해독합니다. 개인 키는 사용자와 KDC 데이터베이스만 알고 있으므로 패킷의 정보는 안전합니다. 클라이언트는 증명서 캐시에 이 정보를 저장합니다.

이 과정에서 보통 사용자의 암호를 입력하라는 메시지가 나타납니다. 입력한 암호가 KDC 데이터베이스에 저장된 개인 키 작성 시 사용된 것과 동일할 경우, 클라이언트는 인증 서비스가 전송한 정보를 해독할 수 있습니다. 이제 클라이언트는 티켓 부여 서비스에서 사용될 증명서가 있으므로 서버에 필요한 증명서를 요청할 수 있습니다.

그림 7-2 티켓 부여 서비스에 대한 증명서 획득

Graphic

서버에 대한 증명서 획득

  1. 클라이언트가 특정 서버에 액세스를 요청하려면 먼저 인증 서비스로부터 서버에 대한 증명서를 얻어야 합니다("티켓 부여 서비스에 대한 증명서 획득" 참고). 그런 다음 서비스 주체 이름, 티켓 1, 세션 키 1로 암호화된 인증자를 포함한 요청을 티켓 부여 서비스로 전송합니다. 티켓 1은 원래 인증 서비스에 의해 티켓 부여 서비스의 서비스 키로 암호화됩니다.

  2. 티켓 부여 서비스는 티켓 부여 서비스의 서비스 키를 알고 있으므로 티켓 1을 해독할 수 있습니다. 또한 티켓 1에는 세션 키 1에 대한 정보가 포함되어 있으므로 티켓 부여 서비스에서 인증자를 해독할 수 있습니다. 이 시점에서 사용자 주체는 티켓 부여 서비스의 인증을 받습니다.

  3. 인증에 성공하면 티켓 부여 서비스는 사용자 주체와 서버에 대한 세션 키(세션 키 2)와 서버에 대한 티켓(티켓 2)을 생성합니다. 세션 키 2와 티켓 2는 세션 키 1로 암호화됩니다. 세션 키 1은 클라이언트와 티켓 부여 서비스만 알고 있으므로 네트워크에서 안전하게 전송될 수 있습니다.

  4. 정보 패킷을 수신하면 클라이언트는 증명서 캐시에 저장되었던 세션 키 1을 사용하여 정보를 해독합니다. 이와 같이 클라이언트는 서버에서 사용될 증명서를 얻음으로써 해당 서버의 특정 서비스에 액세스할 수 있습니다.

그림 7-3 서버에 대한 증명서 획득

Graphic

특정 서비스의 액세스 권한 획득

  1. 클라이언트가 특정 서비스에 액세스를 요청하려면 먼저 인증 서버로부터 티켓 부여 서비스에 대한 증명서를 얻은 다음, 티켓 부여 서비스에서 서버 증명서를 얻어야 합니다("티켓 부여 서비스에 대한 증명서 획득""서버에 대한 증명서 획득" 참고). 클라이언트는 티켓 2와 다른 인증자가 포함된 요청을 서버에 보낼 수 있으며, 인증자는 세션 키 2로 암호화됩니다.

  2. 티켓 2는 티켓 부여 서비스에 의해 서비스 키로 암호화됩니다. 서비스 주체는 서비스 키를 알고 있으므로 티켓 2를 해독하고 세션 키 2를 얻습니다. 그런 다음 세션 키 2를 사용하여 인증자를 해독할 수 있습니다. 인증자가 해독되면 클라이언트에게 서비스의 액세스 권한이 부여됩니다.

그림 7-4 특정 서비스의 액세스 권한 획득

Graphic