Oracle® Solaris 11.2에서 UUCP 및 PPP를 사용하여 직렬 네트워크 관리

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

CHAP(Challenge-Handshake 인증 프로토콜)

CHAP 인증에는 챌린지응답이라는 개념이 사용됩니다. 즉, 피어(인증자)가 호출자(피인증자)에게 자신의 ID를 증명하도록 요구합니다. 챌린지에는 인증자가 생성한 고유한 ID와 난수가 포함됩니다. 호출자는 해당 ID, 난수 및 CHAP 보안 자격 증명을 사용하여 피어에게 보낼 적절한 응답(핸드셰이크)을 생성해야 합니다.

CHAP 보안 자격 증명에는 CHAP 사용자 이름 및 CHAP "암호"가 포함됩니다. CHAP 암호는 호출자와 피어가 PPP 링크를 협상하기 전에 양쪽 모두에 알려지는 임의 문자열입니다. CHAP 보안 자격 증명은 CHAP 데이터베이스인 /etc/ppp/chap-secrets에서 구성합니다.

/etc/ppp/chap-secrets 파일

CHAP 데이터베이스는 /etc/ppp/chap-secrets 파일에서 구현됩니다. 인증에 성공하려면 PPP 링크 양쪽에 있는 시스템의 해당 /etc/ppp/chap-secrets 파일에 서로의 CHAP 자격 증명이 있어야 합니다.


주 - PAP와 달리 공유 암호는 두 피어 모두에서 암호화되지 않은 형식으로 있어야 합니다. CHAP에서는 crypt, PAM 또는 PPP 로그인 옵션을 사용할 수 없습니다.

/etc/ppp/chap-secrets 파일의 구문은 다음과 같습니다.

myclient myserver secret5748 *

매개변수의 의미는 다음과 같습니다.

myclient

호출자의 CHAP 사용자 이름입니다. 이 이름은 호출자의 UNIX 사용자 이름과 같거나 다를 수 있습니다.

myserver

원격 시스템(보통 다이얼 인 서버)의 이름입니다.

secret5748

호출자의 CHAP 암호입니다.


주 - PAP 암호와 달리 CHAP 암호는 절대 링크를 통해 전송되지 않습니다. 대신 CHAP 암호는 로컬 시스템이 응답을 계산할 때 사용됩니다.
*

호출자에 연결된 IP 주소입니다. IP 주소를 나타낼 때는 별표(*)를 사용하십시오.

CHAP 인증 중 발생하는 작업

CHAP 인증은 다음 순서대로 발생합니다.

그림 8-2  CHAP 인증 순서

image:다음 컨텍스트에서는 플로우 다이어그램에 나와 있는 순서에 대해 설명합니다.
  1. 통신을 시작하려고 하는 두 피어가 PPP 링크 협상 중 인증에 사용될 암호에 대해 합의를 봅니다.

  2. 두 시스템의 관리자가 암호, CHAP 사용자 이름 및 기타 CHAP 자격 증명을 해당 시스템의 /etc/ppp/chap-secrets 데이터베이스에 추가합니다.

  3. 호출자(피인증자)가 원격 피어(인증자)를 호출합니다.

  4. 인증자가 난수 및 ID를 생성하고 이 데이터를 피인증자에게 챌린지로 보냅니다.

  5. 피인증자가 해당 /etc/ppp/chap-secrets 데이터베이스에서 피어의 이름 및 암호를 조회합니다.

  6. 피인증자가 암호 및 피어의 난수 챌린지에 MD5 계산 알고리즘을 적용하여 응답을 계산합니다. 그런 다음 피인증자가 결과를 인증자에게 응답으로 보냅니다.

  7. 인증자가 해당 /etc/ppp/chap-secrets 데이터베이스에서 피인증자의 이름 및 암호를 조회합니다.

  8. 인증자가 /etc/ppp/chap-secrets에서 챌린지로 생성된 숫자와 피인증자의 암호에 MD5를 적용하여 자체 결과를 계산합니다.

  9. 인증자가 자신의 결과를 호출자의 응답과 비교합니다. 두 숫자가 같으면 피어가 호출자를 성공적으로 인증한 것이며 링크 협상이 계속됩니다. 그렇지 않으면 링크가 삭제됩니다.