CHAP란 무엇이며 어떻게 작동합니까?

Chaplan Mueos Imyeo Eotteohge Jagdonghabnikka



“사용자 또는 액세스 요청 당사자와 인증자 간에 공유 비밀을 보내지 않는 몇 안 되는 인증 프로토콜 중 하나가 CHAP(Challenge-Handshake 인증)입니다. IETF의 Internet Engineering Task Force에서 개발한 PPP(Point-to-Point Protocol)입니다. 특히 초기 링크 시작 및 라우터와 호스트 간의 통신을 주기적으로 점검할 때 유용합니다.

따라서 CHAP는 사용자(접근 요청자)와 인증자(본인 확인자) 간에 공유 비밀 또는 상호 비밀을 보내지 않고 작동하는 신원 확인 프로토콜입니다.







여전히 공유 암호를 기반으로 하지만 인증자는 사용자에게 공유 암호가 아닌 액세스를 요청하는 챌린지 메시지를 보냅니다. 접근을 요청하는 당사자는 일반적으로 단방향 해시 값을 사용하여 계산된 값으로 응답합니다. 본인 확인 당사자는 계산에 따라 응답을 확인합니다.



값이 일치하는 경우에만 인증이 성공합니다. 단, 접근 요청자가 인증자와 다른 값을 보내면 인증 과정이 실패한다. 그리고 연결 인증에 성공한 후에도 인증자는 공격 가능성에 대한 노출 시간을 제한하여 보안을 유지하기 위해 때때로 사용자에게 챌린지를 보낼 수 있습니다.”



CHAP 작동 방식

CHAP는 다음 단계로 작동합니다.





1. 클라이언트는 인증을 요청하는 NAS(Network Access Server)에 대한 PPP 링크를 설정합니다.

2. 발신자는 접근 요청자에게 챌린지를 보낸다.



3. 접근을 요청한 당사자는 MD5 단방향 해시 알고리즘을 사용하여 챌린지에 응답합니다. 응답에서 클라이언트는 챌린지 암호화, 클라이언트 암호 및 세션 ID와 함께 사용자 이름을 보냅니다.

4. 서버(인증자)는 챌린지를 기반으로 예상되는 해시 값과 비교하여 응답을 확인합니다.

5. 값이 일치하면 서버가 연결을 시작합니다. 그러나 값이 일치하지 않으면 연결을 종료합니다. 연결 시에도 CHAP는 변경 사항을 자주 식별하므로 서버는 클라이언트에게 새 챌린지 메시지에 대한 응답을 보내도록 요청할 수 있습니다.

CHAP의 상위 5가지 특성

CHAP에는 다른 프로토콜과 차별화되는 다양한 기능이 있습니다. 기능은 다음과 같습니다.

    • TCP와 달리 CHAP는 3방향 핸드셰이킹 프로토콜을 사용합니다. 인증자는 클라이언트에 챌린지를 보내고 클라이언트는 단방향 해시 함수를 사용하여 응답합니다. 인증자는 계산된 값을 기반으로 응답을 일치시키고 최종적으로 액세스를 허용하거나 거부합니다.
    • 클라이언트는 MD5 단방향 해시 함수를 사용합니다.
    • 서버는 세션 중 보안을 보장하고 공격을 최소화하기 위해 수시로 연결을 확인하고 사용자에게 챌린지를 보냅니다.
    • CHAP는 종종 상호 비밀의 평문을 요구합니다.
    • 변수는 지속적으로 변경되어 네트워크에 PAP보다 더 많은 보안을 제공합니다.

4가지 CHAP 패킷

CHAP 인증은 다음 패킷을 사용합니다.

    • 챌린지 패킷- 이것은 클라이언트가 PPP 링크를 생성한 후 인증자가 클라이언트 또는 액세스 요청 당사자에게 보내는 패킷입니다. 이 패킷은 3방향 핸드셰이킹 프로토콜의 시작 부분에서 시작됩니다. 여기에는 식별자 값, 임의 값에 대한 필드 및 인증자 이름에 대한 필드가 포함됩니다.
    • 응답 패킷- 이것은 액세스 요청 당사자가 인증자에게 다시 보내는 응답입니다. 생성된 단방향 해시 값, 이름 필드 및 식별자 값을 포함하는 값 필드가 있습니다. 클라이언트 시스템은 패킷의 이름 필드를 암호로 자동 설정합니다.
    • 성공 패킷- 사용자의 해시 응답이 서버에서 계산한 값과 일치하면 서버는 성공 패킷을 보냅니다. 서버가 성공 패킷을 보내면 시스템이 연결을 설정합니다.
    • 실패 패킷 – 서버는 생성된 값이 다를 경우 실패 패킷을 보냅니다. 이것은 또한 연결이 없을 것임을 의미합니다.

인증 및 사용자 시스템에서 CHAP 구성

CHAP를 구성할 때 다음 단계가 필요합니다.

ㅏ. 서버/인증 및 사용자 시스템 모두에서 아래 명령을 시작합니다. 일반적으로 이들은 항상 피어 머신입니다.

비. 아래 명령을 사용하여 두 컴퓨터의 호스트 이름을 변경합니다. 각 피어 시스템에 명령을 입력합니다.

씨. 마지막으로 아래 명령을 사용하여 각 컴퓨터의 사용자 이름과 암호를 제공합니다.

결론

특히 CHAP 개발자는 액세스 요청 당사자가 점진적으로 변경되는 변수 및 식별자를 사용하도록 하여 재생 공격으로부터 시스템을 보호하기 위해 이 프로토콜을 개발한 CHAP를 개발했습니다. 또한 인증자는 사용자 또는 액세스 요청 당사자에게 챌린지를 보내는 타이밍과 빈도를 제어합니다.