Oracle® Solaris 11.2의 Kerberos 및 기타 인증 서비스 관리

인쇄 보기 종료

업데이트 날짜: 2014년 8월
 
 

Kerberos 암호화 유형

암호화 유형으로 암호화 작업을 수행할 때 사용할 암호화 알고리즘과 모드를 식별할 수 있습니다. 지원되는 암호화 유형 목록은 krb5.conf(4)kdb5_util(1M) 매뉴얼 페이지를 참조하십시오.

클라이언트가 KDC로부터 티켓을 요청할 경우 KDC는 클라이언트 및 서버 모두와 호환되는 암호화 유형을 사용하는 키를 사용해야 합니다. Kerberos 프로토콜은 KDC가 티켓 응답의 클라이언트 부분에 특정 암호화 유형을 사용하도록 클라이언트가 요청하는 것은 허용하지만 서버에서 암호화 유형을 KDC로 지정하는 것은 허용하지 않습니다.

암호화 유형을 변경하기 전에 다음 문제를 고려해야 합니다.

  • KDC는 주체 데이터베이스에서 서버 주체 항목과 연관된 첫번째 키/암호화 유형을 서버에서 지원한다고 가정합니다.

  • KDC에서, 주체에 대해 생성된 키가 주체를 인증할 시스템과 호환되는지 확인해야 합니다. 기본적으로 kadmin 명령은 지원되는 모든 암호화 유형에 대한 키를 만듭니다. 주체가 사용되는 시스템에서 암호화 유형의 이 기본 세트를 지원하지 않을 경우 주체를 생성할 때 암호화 유형을 제한해야 합니다. 암호화 유형을 제한하는 두 가지 권장 방법은 kadmin addprinc–e 플래그를 사용하는 것과 kdc.conf 파일의 supported_enctypes 매개변수를 해당 암호화 유형 세트로 설정하는 것입니다. supported_enctypes 매개변수는 Kerberos 영역에 있는 대부분의 시스템이 기본 암호화 유형 세트의 일부를 지원하는 경우에 사용합니다. supported_enctypes를 설정하면 특정 영역에 대한 주체를 만들 때 암호화 유형의 기본 세트인 kadmin addprinc이 사용되도록 지정됩니다.

  • 시스템에서 지원하는 암호화 유형을 결정할 때 시스템에서 실행 중인 Kerberos의 버전과 서버 주체를 작성할 서버 응용 프로그램에서 지원하는 암호화 알고리즘을 고려해야 합니다. 예를 들어 nfs/hostname 서비스 주체를 만들 때 암호화 유형을 해당 호스트의 NFS 서버에서 지원하는 유형으로 제한해야 합니다.

  • kdc.conf 파일의 master_key_enctype 매개변수를 사용하면 주체 데이터베이스의 항목을 암호화하는 마스터 키의 암호화 유형을 제어할 수 있습니다. KDC 주체 데이터베이스가 이미 생성된 경우에는 이 매개변수를 사용하지 마십시오. master_key_enctype 매개변수를 데이터베이스 생성 시에 사용하여 기본 마스터 키의 암호화 유형을 aes256-cts-hmac-sha1-96에서 다른 암호화 유형으로 변경할 수 있습니다. 모든 슬레이브 KDC가 선택한 암호화 유형을 지원하며, 슬레이브 KDC를 구성할 때 kdc.conf 파일에 동일한 master_key_enctype 항목이 있는지 확인하십시오. kdc.conf에서 supported_enctypes가 설정된 경우, master_key_enctypesupported_enctypes의 암호화 유형 중 하나로 설정되었는지도 확인하십시오. 이러한 문제를 제대로 처리하지 않으면 마스터 KDC가 슬레이브 KDC와 함께 작동하지 않을 수 있습니다.

  • 클라이언트의 경우, krb5.conf 파일의 매개변수를 통해 클라이언트가 KDC에서 요청하는 암호화 유형을 제어할 수 있습니다. default_tkt_enctypes 매개변수는 클라이언트가 KDC로부터 TGT(티켓 부여 티켓)를 요청할 때 사용할 암호화 유형을 지정합니다. TGT는 클라이언트가 더 효율적인 방식으로 다른 서버 티켓을 획득하는 데 사용됩니다. default_tkt_enctypes를 설정하면 클라이언트가 TGT를 사용하여 서버 티켓을 요청할 때(이를 TGS 요청이라고 함) 클라이언트와 KDC 간의 통신을 보호하는 데 사용되는 암호화 유형을 클라이언트에서 어느 정도 제어할 수 있습니다. default_tkt_enctypes에 지정된 암호화 유형은 KDC에 저장된 주체 데이터베이스의 주체 키 암호화 유형 중에서 하나라도 일치해야 합니다. 그렇지 않을 경우 TGT 요청이 실패합니다. default_tkt_enctypes 매개변수는 상호 운용성 문제의 원인이 될 수 있으므로 대부분의 경우 이 매개변수를 설정하지 않아야 합니다. 기본적으로 클라이언트 코드는 지원되는 모든 암호화 유형을 요청하며, KDC는 주체 데이터베이스에서 찾은 키를 기준으로 암호화 유형을 선택합니다.

  • default_tgs_enctypes 매개변수는 서버 티켓을 얻는 데 사용되는 TGS 요청에서 클라이언트가 요청하는 암호화 유형을 제한합니다. 이 매개변수는 또한 클라이언트와 서버가 공유하는 세션 키를 만들 때 KDC에서 사용하는 암호화 유형도 제한합니다. 예를 들어 보안 NFS를 수행할 때 클라이언트가 3DES 암호화만 사용하려고 하는 경우 default_tgs_enctypesdes3-cbc-sha1로 설정해야 합니다. 클라이언트 및 서버 주체의 주체 데이터베이스에 des-3-cbc-sha1 키가 있는지 확인하십시오. default_tkt_enctype과 마찬가지로, KDC와 서버에서 자격 증명이 제대로 설정되지 않은 경우 상호 운용성 문제가 발생할 수 있으므로 대부분의 경우 이 매개변수를 설정하지 않아야 합니다.

  • 서버의 경우, kdc.conf 파일의 permitted_enctypes 매개변수를 사용하여 서버에서 허용하는 암호화 유형을 제어할 수 있습니다. 또한 keytab 항목을 만들 때 사용되는 암호화 유형을 지정할 수 있습니다. 암호화 유형을 제어하는 데 이 방법을 사용하지 않도록 하십시오. 대신 KDC는 사용할 키 또는 암호화 유형을 결정할 때 서버 응용 프로그램과 통신하지 않으므로 KDC가 사용할 암호화 유형을 결정하도록 하십시오.