CHAP(Challenge-Handshake Authentication Protocol)이란?
CHAP(챌린지 핸드셰이크 인증 프로토콜)은 사용자나 호스트를 인증 주체와 대조하여 신원을 검증하는 컴퓨팅 프로토콜입니다. 이 방식에서는 비밀 정보의 평문을 클라이언트와 서버 양쪽 모두가 알고 있어야 하지만, 그 정보는 그 외 다른 당사자와는 절대로 교환되어서는 안 됩니다.
CHAP과 PAP의 관계
PPP(Point-to-Point Protocol) 세션에서 인증을 수행하기 위해서는 PAP과 CHAP을 모두 사용할 수 있습니다. PAP은 비밀번호 인증에 사용되는 반면, CHAP은 챌린지-응답 방식의 인증에 사용됩니다. PAP을 통한 로그인은 일반적인 계정 로그인과 유사하며, 원격 시스템은 고정된 사용자 이름과 비밀번호를 사용해 인증을 수행하고 데이터에 접근합니다.
RADIUS에서의 CHAP
CHAP은 PAP(Password Authentication Protocol)보다 훨씬 안전한 인증 방식입니다. 사용자의 컴퓨터와 인증 서버 간에 연결이 설정되면, 서버는 연결을 시도하는 클라이언트에게 챌린지 메시지를 전송합니다. 이를 통해 비밀번호가 네트워크상에 그대로 노출되는 것을 방지할 수 있습니다.
CHAP 자격 증명(Credentials)이란?
CHAP에서 사용되는 사용자 이름과 비밀번호를 CHAP 자격 증명이라고 부릅니다. PPP 링크가 설정되기 전에 발신자와 피어 양쪽 모두 CHAP 시크릿을 공유하고 있어야 합니다. CHAP 보안 자격 증명은 /etc/ppp/chap-secrets 데이터베이스 파일에 설정됩니다.
CHAP은 아직도 사용되고 있나?
네, 오늘날에도 일부 레거시(구형) 인증 프로토콜은 여전히 사용되고 있습니다. 다만 보안 강화 추세에 따라 점차 더 안전한 인증 방식으로 대체되고 있는 추세입니다.
CHAP과 PAP의 차이점
PAP과 달리 CHAP은 더 우수한 보안을 제공합니다. CHAP은 점대점 프로토콜(PPP)을 활용해 사용자를 검증하는 인증 프로토콜인 반면, PAP은 점대점 프로토콜 환경에서만 작동하는 단순한 인증 방식입니다. 사용자는 네트워크에서 PAP 또는 CHAP 중 하나를 선택하거나, 두 프로토콜을 모두 활성화할 수도 있습니다.
CHAP과 PAP 중 어느 것이 더 빠를까?
많은 ISP(인터넷 서비스 제공업체)는 더 빠르고 안전한 인증을 위해 PAP과 CHAP을 함께 활용합니다. 다만 PAP은 더 이상 시스템 연결에 선호되는 방식이 아니며, CHAP이 훨씬 더 안전한 연결을 제공하기 때문에 보안 측면에서는 CHAP이 우위에 있습니다.
PAP vs CHAP, 무엇이 더 좋은가?
PAP에 비해 CHAP은 더 강력한 인증 방식입니다. 그 이유는 시크릿(비밀 정보)이 링크를 통해 전송되지 않으며, 재전송 공격(replay attack)과 같은 향후 공격으로부터 보호 기능을 제공하기 때문입니다. 따라서 PAP과 CHAP 인증이 모두 활성화되어 있는 경우, CHAP 인증이 항상 우선적으로 적용됩니다.
Cisco에서의 PAP
P2P 네트워크 환경에서 PAP은 점대점 통신을 통한 인증을 가능하게 합니다. Cisco의 패킷 트레이서(Packet Tracer) 소프트웨어를 사용하면 두 라우터 간에 PAP 인증을 손쉽게 구성하고 테스트해 볼 수 있습니다.
RADIUS는 CHAP을 사용하나?
방화벽에서 RADIUS 인증을 수행할 때, 기본 설정상 RADIUS 서버는 다른 인증 프로토콜과 달리 CHAP을 비활성화합니다. 따라서 환경에 따라 별도의 설정이 필요할 수 있습니다.
RADIUS는 PAP을 사용하는가, CHAP을 사용하는가?
RADIUS는 가장 보안이 취약한 옵션으로 알려진 PAP 프로토콜을 통해 비밀번호를 전달합니다. 다만 PAP 방식의 비밀번호는 RADIUS 서버 측에서 안전하고 독자적인 방식으로 암호화되어 관리됩니다.
CHAP의 정식 명칭
CHAP은 Challenge-Handshake Authentication Protocol(챌린지 핸드셰이크 인증 프로토콜)의 약자로, 시스템에 연결할 때 PAP(Password Authentication Procedure)보다 안전한 인증 방법을 제공합니다.
CHAP 인증은 어떻게 작동하나?
PPP 서버는 점대점 프로토콜(PPP)을 사용할 때 원격 클라이언트의 신원을 검증하기 위해 CHAP을 활용합니다. CHAP은 3-way 핸드셰이크(three-way handshake)를 주기적으로 수행하여 사용자의 신원을 지속적으로 확인합니다. 이 과정에서 클라이언트가 보낸 응답 값이 인증자가 계산한 예상 해시 값과 일치하는지 검증 절차가 진행됩니다.