여기서는 SEAM 인증 시스템의 일반적인 주요 개념에 대해 설명합니다. 자세한 내용은 "인증 시스템의 작동 방법"을 참고하십시오.
SEAM 세션이 시작된 후 SEAM의 실행 과정은 사용자에게 보여지지 않습니다. rsh나 ftp등의 명령은 일반적인 방식으로 작동합니다. SEAM 세션은 대개 로그인과 Kerberos 암호 제공만으로 초기화가 이루어집니다.
SEAM 시스템은 티켓개념을 중심으로 운영됩니다. 티켓은 NFS 서비스와 같이 사용자나 서비스의 확인 수단으로 사용되는 전자 정보 모음입니다. 운전 면허증으로 신원과 운전 면허 종류를 확인하듯이, 티켓은 사용자의 신원과 네트워크 액세스 권한을 확인하는 데 사용됩니다. 예를 들어, 다른 시스템에 rlogin 즉, 원격 로그인할 때와 같이 SEAM 기반의 트랜잭션을 수행할 경우 ID를 인증하기 위해 데이터베이스에 액세스하는 KDC(Key Distribution Center),에 티켓 요청이 보내집니다. KDC에서는 다른 시스템에 대한 액세스 권한을 부여하는 티켓을 반환합니다. 티켓 요청은 사용자가 직접 수행하는 것이 아니며 rlogin 명령의 일부로서 수행됩니다. 특정 서비스의 경우 인증된 클라이언트만 티켓을 얻을 수 있으므로 다른 클라이언트는 위장 신원으로 rlogin을 사용할 수 없습니다.
티켓에는 그에 따른 속성이 있습니다. 예를 들어, 새 인증 프로세스 없이 다른 컴퓨터에서 티켓을 사용할 수 있는 전송 가능이나 특정 시간까지는 유효하지 않은 날짜를 늦춰 적은 티켓 속성이 있습니다. 사용자에 따라 취득할 수 있는 티켓 종류 등의 티켓 사용 방법은 SEAM을 설치하거나 관리할 때 결정하는 정책에서 설정합니다.
본 설명서에는 증명서 및 티켓 등의 용어가 자주 사용됩니다. 넓은 의미에서 볼 때 이들 용어는 같은 뜻으로 해석됩니다. 그러나 기술적으로 증명서는 티켓에 해당 세션에 대한 세션 키를 더한 것입니다. 이들 용어 간의 자세한 차이점은 "SEAM을 사용하여 서비스 액세스 권한 획득"을 참고하십시오.
다음은 SEAM 인증 프로세스에 대한 간략한 설명입니다.
Kerberos 인증은 모든 후속 인증을 허용하는 초기 인증과, 후속 인증의 2 단계로 이루어집니다.
그림 1-1은 초기 인증의 시작 및 진행 과정을 보여 줍니다.
클라이언트(사용자 또는 NFS 등의 서비스)가 KDC에 티켓 부여 티켓 (TGT)을 요청함으로써 SEAM 세션이 시작됩니다. 이 프로세스는 대개 로그인시 자동으로 수행됩니다.
티켓 부여 티켓은 특정 서비스에 대한 다른 티켓을 얻는 데 필요합니다. 티켓 부여 티켓은 여권과 비슷한 개념입니다. 여권과 같이 티켓 부여 티켓은 사용자를 확인하고 많은 "비자"를 받을 수 있도록 합니다. 여기서 "비자"(티켓)는 외국이 아닌 원격 시스템이나 네트워크 서비스에 대한 액세스 권한입니다. 여권과 비자처럼 티켓 부여 티켓과 기타 여러 티켓들은 유효 기간이 제한되어 있습니다. 단, "Kerberos 암호화를 지원하는" 명령들이 사용자가 여권과 비자를 가지고 있는지의 여부를 확인하므로 사용자가 직접 트랜잭션을 수행할 필요가 없다는 점에서 차이가 있습니다.
KDC에서는 티켓 부여 티켓을 작성하여 클라이언트에게 암호화된 형태로 다시 보냅니다. 클라이언트는 클라이언트의 암호를 사용하여 티켓 부여 티켓을 해독합니다.
이제 유효한 티켓 부여 티켓이 있으므로 클라이언트는 티켓 부여 티켓의 유효 기간 동안 rlogin이나 telnet과 같은 모든 종류의 네트워크 작업에 대한 티켓을 요청할 수 있습니다. 이 유효 기간은 대개 몇 시간입니다. 클라이언트는 고유의 네트워크 작업을 수행할 때마다 KDC로부터 이 작업에 해당하는 티켓을 요청합니다.
클라이언트가 첫 인증을 받은 후 각 개별 인증은 그림 1-2에 표시된 패턴을 따릅니다.
클라이언트가 KDC에 ID의 증명으로 티켓 부여 티켓을 보내어, 다른 시스템에 rlogin 하는 등의 특정 서비스에 대한 티켓을 요청합니다.
KDC가 클라이언트에 특정 서비스에 대한 티켓을 보냅니다.
예를 들어, 사용자 joe가 서버 boston에 rlogin을 사용한다고 가정합니다. 이 사용자는 이미 티켓 부여 티켓을 받아 인증되었으므로 rlogin 명령의 일부로 티켓이 자동 부여됩니다. joe는 이 티켓이 만기될 때까지 원하는 만큼boston에 rlogin 할 수 있습니다. joe가 denver에 rlogin 하려면, 단계 1에서와 같이 티켓을 다시 얻어야 합니다.
클라이언트가 서버에 티켓을 보냅니다.
서버에서 클라이언트 액세스를 허용합니다.
위의 단계에서 볼 때 서버는 KDC와 통신하지 않는 것처럼 보입니다. 그러나 첫 번째 클라이언트와 같이, 서버는 KDC에 등록됩니다. 여기서는 설명을 간단히 하기 위해 해당 부분을 생략했습니다.
joe 등의 사용자가 사용할 수 있는 SEAM 기반("Kerberos 암호화를 지원하는") 명령에는 다음과 같은 것들이 있습니다.
ftp
rcp
rlogin
rsh
telnet
이들 응용 프로그램은 트랜잭션 인증에 Kerberos 주체를 사용하여 Kerberos 기반의 보안을 제공한다는 점을 제외하고는, 같은 이름의 Solaris 응용 프로그램과 동일합니다. (주체에 대한 자세한 내용은 "주체"를 참고하십시오).
이들 명령은 "SEAM 명령"에 자세히 설명되어 있습니다.
SEAM의 클라이언트는 주체로 식별됩니다. 주체는 KDC에서 티켓을 할당할 수 있는 고유 ID로서, joe와 같은 사용자나 nfs나 telnet과 같은 서비스가 주체가 될 수 있습니다.
주체 이름은 기본, 인스턴스, 영역의 세 부분으로 구성됩니다. 예를 들어, 전형적인 SEAM 주체는 joe/admin@ENG.ACME.COM입니다. 다음은 각 부분에 대한 설명입니다.
joe는 기본입니다. 기본은 이 예에서와 같이 사용자 이름이나 nfs등의 서비스가 될 수 있습니다. 또한 host라는 단어가 될 수도 있습니다. 이는 ftp, rcp, rlogin등의 다양한 네트워크 서비스를 제공하도록 설정된 서비스 주체임을 나타냅니다.
admin은 인스턴스입니다. 인스턴스는 사용자 주체의 경우에는 선택사항이지만 서비스 주체에서는 필수 사항입니다. 예를 들어, 사용자 joe가 시스템 관리자로 작업하는 경우가 있을 때에는 joe/admin를 사용하여 일반적으로 사용하는 사용자 ID와 구별할 수 있습니다. 마찬가지로, joe가 두 개의 다른 호스트에 계정을 가지고 있으면 다른 인스턴스를 사용한 두 개의 주체 이름(예: joe/denver.acme.com과 joe/boston.acme.com)을 사용할 수 있습니다. SEAM에서는 joe와 joe/admin을 완전히 다른 두 개의 주체로 인식하다는 점을 유의하십시오.
서비스 주체의 경우 인스턴스는 완전한 호스트 이름입니다. 예를 들어, bigmachine.eng.acme.com은 인스턴스가 있을 경우 기본/인스턴스는 ftp/bigmachine.eng.acme.com 또는 host/bigmachine.eng.acme.com가 될 수 있습니다.
ENG.ACME.COM은 SEAM 영역입니다. 영역은 "영역"에 자세히 설명되어 있습니다.
유효한 주체 이름은 다음과 같습니다.
joe
joe/admin
joe/admin@ENG.ACME.COM
ftp/host.eng.acme.com@ENG.ACME.COM
host/eng.acme.com@ENG.ACME.COM
영역은 도메인과 같이 동일한 마스터 KDC에 있는 시스템 그룹을 정의하는 논리적 네트워크입니다(아래 참고). 그림 1-3은 영역 간의 관계를 보여 줍니다. 일부 영역은 계층적으로서 한 영역이 다른 영역을 포함하고 있습니다. 비계층적 영역의 경우에는 두 영역 간의 매핑이 정의되어야 합니다. SEAM의 특징은 영역 간에 인증을 허용한다는 점입니다. 각 영역은 해당 KDC의 다른 영역에 대해 주체 항목만 있으면 됩니다.
각 영역에는 주체 데이터베이스의 마스터 복사본을 관리하는 서버가 있어야 합니다. 이 서버를 마스터 KDC 서버라고 합니다. 또한 각 영역에는 주체 데이터베이스의 복사본을 가지고 있는 슬레이브 KDC 서버가 하나 이상 있어야 합니다. 마스터 및 슬레이브 KDC 서버는 모두 인증 구축에 사용되는 티켓을 작성합니다.
또한 영역에는 두 가지 유형의 추가 SEAM 서버가 포함될 수 있습니다. SEAM 네트워크 응용 프로그램 서버는 Kerberos 암호화를 지원하는 ftp, telnet, rsh 등의 응용 프로그램에 대한 액세스를 제공하는 서버입니다. 영역에는 Kerberos 인증을 사용하여 NFS 서비스를 제공하는 NFS 서버도 포함될 수 있습니다.
그림 1-4는 영역의 구성 요소를 보여 줍니다.