CHAP   Challenge Handshake Authentication Protocol  

(2016-09-30)

MS-CHAP, MS-CHAP v2


1. CHAPPPP 등에서 사용하는 인증용 프로토콜 중의 하나

  ㅇ 특징
     - 기존 PAP 방식의 보안취약점(평문으로 사용자명,암호를 그대로 전송)을 개선
        . CHAP은 쌍방이 이미 알고있는 암호를 절대로 링크를 통해 그대로 전송 안함
     - 링크 개설은 클라이언트가 하더라도, 인증 과정은 서버쪽에서 주관 함

  ㅇ 표준 : RFC 1994 (1996년)


2. CHAP 동작 방식

  ㅇ 동작방식 : Three-way Handshaking (3 단계 핸드세이킹) 방식

     - ① Challenge 메세지 (Challenge Message)
        . 인증 서버클라이언트에게 랜덤Challenge 메세지(통상 랜덤 수)를 보내서, 
        . 그 질문에 대한 올바른 응답을 요청
           .. 한편, 챌린지 메세지는 매회 그 내용이 바뀌게 됨 (재생공격 방지)
        . 또한, 순서번호도 함께 송신

     - ② 응답
        . 클라이언트보안을 위해 서버가 보내준 Challenge 메세지와 자신의 암호 등에 의해
          해쉬 함수를 이용하여 계산한 결과인 해쉬 값을 보냄
        . 사용자 비밀 정보(암호 등)에 의한 해쉬값화는 MD5 해쉬 사용

     - ③ 인증 승인 또는 거부
        . 인증 서버는 값이 일치하면 인증을 하게 됨


3. CHAP 패킷 

  ㅇ 기본 패킷 형식
     
     - code   (1 바이트) : (1) Challenge, (2) Response, (3) Success, (4) Failure
     - ID     (1 바이트) :  송신 순서번호
     - Length (2 바이트) : CHAP 패킷 전체 길이
     - CHAP data (가변)

  ㅇ Challenge 및 Response 패킷 형식
     
     - Value SIze (1 바이트) : Value 필드의 길이
     - Value      (가변)     : 챌린지 메세지 값(Challenge, 1) 또는 해시 값(Response, 2)
        . Challenge : 서버 생성 랜덤값
        . Response  : 클라이언트 생성 해시값 (송신 순서번호 + 암호 + 챌린지)
           .. 해시 알고리즘은 기본적으로 MD5 사용           ☞ LCP 옵션 참조
     - Name       (가변)     : 송신측 식별명

  ㅇ Success 및 Failure 패킷 형식
     


4. MS-CHAP, MS-CHAP v2

  ㅇ MS-CHAP (RFC 2433)
     - MS社에서 독자적으로 개발하였으나, 후에 RFC 2433로 정의됨
     - Identity(신원) 정보 안에 해싱암호를 포함시켜 전송시킴
     - MS社 AD(Active Directory) 내에 암호해시된 값으로 저장되고, 
       후에 사용자가 제시한 해시값과 비교됨

  ㅇ MS-CHAP v2 (RFC 2759)
     - MS社 윈도우즈 2000 패밀리에서부터 사용
     - EAP-PEAP, EAP-TTLS, EAP-FAST에서 MS-CHAP v2를 선택적으로 사용
     

링크 레벨 보안
   1. PAP   2. CHAP  
인증 프로토콜
   1. "인증 프로토콜" 이란?   2. AAA(인증,권한검증,계정관리)   3. PAP   4. CHAP   5. EAP   6. RADIUS   7. DIAMETER   8. TACACS  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"