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

SEAM 용어

다음 절에서는 모든 SEAM 설명서에서 사용되는 용어와 그 정의를 설명합니다. 이들 용어를 알면 설명서의 내용을 이해하기 쉽습니다.

인증 전문 용어

다음은 인증 프로세스를 이해하는 데 필수적인 용어에 대한 설명입니다. 프로그래머와 시스템 관리자는 이러한 용어를 잘 알고 있어야 합니다.

클라이언트는 사용자의 워크스테이션에서 실행되는 소프트웨어입니다. 클라이언트에서 실행 중인 SEAM 소프트웨어는 이 프로세스가 진행되는 동안 여러 가지 요청을 하게 되며, 이 소프트웨어의 작업과 사용자를 구별하는 것이 중요합니다.

서버와 서비스라는 용어는 서로 혼용되는 경우가 많습니다. 명확히 정의하면 서버는 SEAM 소프트웨어가 실행되는 물리적 시스템이고, 서비스는 서버에서 지원되는 특정 기능을 가리킵니다(예: ftp또는nfs 등). 설명서에서 서버는 흔히 서비스의 일부로 표현되지만 이런 경우 용어의 본래 의미가 흐려집니다. 서버는 물리적 시스템을, 서비스는 소프트웨어를 각각 의미합니다.

SEAM 제품에는 세 종류의 키가 있습니다. 개인 키는 각 사용자 주체에게 주어지며 단지 주체의 사용자와 KDC만이 알 수 있습니다. 사용자 주체의 키는 사용자 암호에 따라 지정됩니다. 서버 및 서비스에 해당하는 키는 서비스 키라고 합니다. 이 키의 목적은 개인 키와 동일하지만 서버 및 서비스에 사용됩니다. 세 번째 키 유형은 세션 키입니다. 이 키는 인증 서비스나 티켓 부여 서비스에 의해 생성되며, 클라이언트와 서비스 간의 안전한 트랜잭션을 제공합니다.

티켓은 사용자의 ID를 서버 또는 서비스에 안전하게 전달하기 위해 사용되는 정보 패킷입니다. 티켓은 한 개의 클라이언트 및 특정 서버의 특정 서비스에만 사용할 수 있으며, 서비스 주체 이름, 사용자 주체 이름, 사용자 호스트 IP 주소, 타임스탬프, 티켓 수명 정의 값이 포함됩니다. 클라이언트와 서비스에서 사용될 티켓은 임의의 세션 키로 작성되며, 작성된 티켓은 유효 기간이 만료될 때까지 재사용할 수 있습니다.

증명서는 티켓과 해당 세션 키가 포함된 정보 패킷입니다. 증명서는 해독에 사용될 키 종류에 따라 개인키나 서비스 키로 암호화됩니다.

인증자는 또 다른 유형의 정보입니다. 인증자를 티켓과 함께 사용하면 사용자 주체를 인증할 수 있습니다. 인증자에는 사용자 주체 이름, 사용자 호스트 IP 주소, 타임스탬프 등의 정보가 포함됩니다. 티켓과 달리 인증자는 서비스 사용 요청이 있을 때 단 한 번만 사용할 수 있으며, 해당 클라이언트와 서버의 세션 키를 사용하여 암호화됩니다.

티켓 유형

티켓에는 티켓 사용 방법을 결정하는 속성이 있습니다. 이 속성은 티켓을 작성할 때 지정하며 나중에 변경할 수도 있습니다. 예를 들어, 티켓의 속성을 전송 가능에서 전송됨으로 변경할 수 있습니다. 티켓 속성을 보려면 klist 명령을 사용합니다("티켓 보는 방법" 참고).

티켓에는 다음과 같은 속성이 있습니다.

전송 가능/전송됨

전송 티켓은 호스트 간에 전송이 가능하며 클라이언트가 재인증 받을 필요가 없습니다. 예를 들어, 사용자 davidjennifer의 컴퓨터에서 전송 티켓을 얻은 경우 새 티켓을 얻어 재인증 받지 않아도 자신의 컴퓨터에 로그인할 수 있습니다. 전송 티켓의 예는 "예 - 티켓 작성"을 참고하십시오. 전송 티켓을 아래의 프록시 가능 티켓과 비교하십시오.

초기

초기 티켓은 티켓 부여 티켓과 상관없이 직접 발행된 티켓입니다. 응용 프로그램에서 암호를 변경할 경우와 같이 일부 서비스에서는 클라이언트가 비밀 키를 확실히 알고 있다는 것을 확인하기 위해, 초기 티켓을 요구할 수 있습니다. 초기 티켓은 클라이언트가 최근에 인증받았음을 나타내므로, 장기간 사용되었을 수도 있는 티켓 부여 티켓을 사용하는 대신 초기 티켓을 사용합니다.

유효하지 않은

유효하지 않은 티켓은 아직 사용할 수 없도록 날짜를 늦춰 적은 티켓입니다. 아래의 날짜를 늦춰 적은 티켓을 참고하십시오. 티켓이 유효해질 때까지 응용 프로그램 서버에서는 이 티켓을 거부합니다. 티켓이 유효해지려면 유효 기간의 시작 시간이 지난 후 VALIDATE 플래그 설정을 사용하여 클라이언트의 TGS 요청에서 티켓을 KDC에 제출해야 합니다.

날짜를 늦출 수 있는/날짜를 늦춰 적은

날짜를 늦춰 적은 티켓은 작성 후 지정된 시간까지 유효하지 않은 티켓입니다. 이 티켓은 밤 늦게 실행되는 일괄 처리 작업 등에 유용합니다. 티켓을 분실해도 일괄 처리 작업이 실행되기 전에는 사용할 수 없기 때문입니다. 날짜를 늦춰 적은 티켓은 발행 시 유효하지 않은 티켓으로 발행되며, 시작 시간이 지나고 클라이언트에서 KDC에 유효화를 요청할 때까지 이러한 상태가 유지됩니다. 위에서 설명한 유효하지 않은 티켓을 참고하십시오. 날짜를 늦춰 적은 티켓은 일반적으로 티켓 부여 티켓의 만기 시간까지 유효하지만, 갱신 표시가 있을 경우에는 티켓 부여 티켓의 최대 유효 기간과 동일하게 설정됩니다. 아래의 갱신 티켓을 참고하십시오.

프록시 가능/프록시

주체는 서비스가 대신 작업을 수행하도록 요청할 경우가 있습니다. 예를 들어, 주체는 서비스에게 제3의 호스트에서 인쇄 작업을 실행하도록 요청할 수 있습니다. 이 때 서비스는 해당 작업에 대해 클라이언트의 ID를 사용할 수 있어야 합니다. 이런 경우 서버가 클라이언트의 프록시로서 작동한다고 말합니다. 프록시의 주체 이름은 티켓이 작성될 때 지정해야 합니다.

프록시 가능 티켓은 전송 가능 티켓과 유사하지만 단지 한 종류의 서비스에 대해서만 유효하고, 전송 가능 티켓은 서비스에게 클라이언트 ID의 전체 사용권을 부여한다는 점이 다릅니다. 따라서 전송 가능 티켓은 일종의 슈퍼 프록시로 생각할 수 있습니다.

갱신

유효 기간이 매우 긴 티켓은 보안상 위험이 있기 때문에 갱신 티켓을 지정할 수 있습니다. 갱신 티켓에는 두 개의 만료 기간이 있습니다. 즉, 현재의 티켓 인스턴스가 만료되는 시간과 모든 티켓에 적용되는 최대 유효 기간입니다. 클라이언트는 티켓을 계속 사용하려면 첫번째 만기일 전에 갱신해야 합니다. 예를 들어, 현재 티켓 인스턴스의 유효 기간은 1시간이고 모든 티켓의 최대 유효 기간은 10시간일 경우, 해당 티켓을 클라이언트가 1시간 이상 보유하려면 이를 1시간 내에 갱신해야 합니다. 최대 유효 기간(10시간)이 지나면 티켓이 자동으로 만기되며 갱신할 수 없습니다.

티켓의 속성을 확인하는 방법에 대한 자세한 내용은 "티켓 보는 방법"을 참고하십시오.

티켓 유효 기간

티켓 부여 티켓을 포함하여 주체가 티켓을 얻으면 티켓의 유효 기간은 다음 유효 기간 중 최소값으로 설정됩니다.

그림 7-1에서는 TGT의 유효 기간 결정 방법과 네 가지 유효 기간 값의 계산 방법을 설명합니다. 그림 7-1에 설명된 TGT의 유효 기간 결정 방법에 따르면 모든 주체는 티켓을 얻을 때 기본적으로 동일한 방법으로 유효 기간이 결정됩니다. 유일한 차이점은 kinit는 유효 기간 값을 제공하지 않으며 티켓을 제공하는 서비스 주체( krbtgt/ 영역 주체 대신)가 최대 유효 기간 값을 제공한다는 점입니다.

그림 7-1 TGT의 유효 기간 결정 방법

Graphic

갱신 티켓의 유효 기간도 다음 네 가지 유효 기간 중 최소값으로 결정되지만 대신에 갱신 가능 유효 기간 값이 사용됩니다.

주체 이름

각 티켓은 주체 이름에 의해 구별되며, 주체 이름은 사용자나 서비스를 나타냅니다. 다음은 몇 가지 주체 이름의 예입니다.

표 7-4 주체 이름의 예

주체 이름 

설명 

root/boston.acme.com@ACME.COM

NFS 클라이언트에서 root 계정과 관련된 주체로서, root 주체라고 합니다. 이것은 인증된 NFS 마운팅을 성공적으로 수행하는 데 필요합니다.

host/boston.acme.com@ACME.COM

Kerberos 응용 프로그램(예:klist, kprop)과 서비스(예: ftp, telnet)에서 사용되는 주체입니다. host 주체 또는 서비스 주체라고 합니다.

username@ACME.COM

사용자 주체입니다. 

username/admin@ACME.COM

KDC 데이터베이스 관리에 사용할 수 있는 admin 주체입니다.

ftp/boston.acme.com@ACME.COM

ftp 서비스에서 사용되는 주체로서 host 주체 대신 사용될 수 있습니다.

K/M@ACME.COM

마스터 키 이름 주체로서 각 마스터 KDC에 한 개씩 연결되어 있습니다. 

kadmin/history@ACME.COM

다른 주체의 암호 사용 기록을 유지하는 키가 포함된 주체입니다. 이 주체는 각 마스터 KDC에 한 개씩 있습니다. 

kadmin/kdc1.acme.com@ACME.COM

kadmind 명령을 사용하여 KDC에 액세스할 수 있도록 하는 마스터 KDC 서버의 주체입니다.

changepw/kdc1.acme.com@ACME.COM

암호 변경 시 KDC에 액세스할 수 있도록 하는 마스터 KDC 서버의 주체입니다. 

krbtgt/ACME.COM@ACME.COM

이 주체는 티켓 부여 티켓을 생성할 때 사용됩니다.