anothel의 지식 창고

Needham-Schroeder 프로토콜: 보안 인증 방식의 원리와 한계 본문

기술 노트/정보보안기사

Needham-Schroeder 프로토콜: 보안 인증 방식의 원리와 한계

anothel 2025. 3. 17. 13:32

1. 개요

Needham-Schroeder 프로토콜은 네트워크 환경에서 신뢰할 수 있는 키 배포 센터(KDC)를 이용하여 두 사용자가 안전하게 대칭키를 공유하는 방식의 인증 프로토콜이다. 대칭키 암호화를 활용하여 메시지의 기밀성과 무결성을 보장하지만, 일부 보안 취약점이 존재하여 이를 보완하는 개선된 프로토콜들이 등장하였다.

본 글에서는 Needham-Schroeder 대칭키 기반 프로토콜(NSSK)의 동작 방식과 보안 취약점, 그리고 이를 해결하는 방법을 심층적으로 분석한다.

 

2. Needham-Schroeder 프로토콜 개요

2.1 Needham-Schroeder 프로토콜이란?

1978년 Roger Needham과 Michael Schroeder가 제안한 이 프로토콜은 두 사용자가 키 배포 센터(KDC)를 통해 안전하게 세션 키를 공유하도록 설계되었다. NSSK는 대칭키 암호화를 활용하여 KDC와의 사전 공유된 마스터 키를 통해 세션 키를 안전하게 전달한다.

2.2 프로토콜의 목적

Needham-Schroeder 프로토콜의 핵심 목표는 다음과 같다:

  • 두 사용자가 KDC를 통해 안전한 세션 키를 공유
  • 상호 인증을 수행하여 통신 당사자의 신원을 검증
  • 세션 키를 암호화하여 재전송 공격(Replay Attack)과 같은 위협을 방지

2.3 주요 개념

  • KDC(Key Distribution Center): 사용자 간의 세션 키를 생성하고 안전하게 전달하는 중앙 인증 기관
  • 대칭키 암호화: KDC와 사용자는 미리 공유된 마스터 키를 통해 메시지를 암호화하여 보호
  • 난수(Nonce) 활용: 인증 과정에서 임의 난수를 사용하여 메시지의 유효성을 검증하고 재전송 공격을 방지

 

3. Needham-Schroeder 프로토콜 동작 과정

3.1 프로토콜 메시지 흐름

  1. Alice가 KDC에 요청
    • Alice는 KDC에게 Bob과의 통신을 위한 세션 키 요청을 보낸다.
    • 메시지: Ka{N1, Bob}
  2. KDC가 세션 키 생성 및 응답
    • KDC는 새로운 세션 키 를 생성한 후, Bob만 해독할 수 있도록 암호화된 티켓(Ticket_b)을 포함하여 Alice에게 전송한다.
    • 메시지: Ka{N1, Kab, Bob, Ticket_b}
  3. Alice가 Bob에게 메시지 전달
    • Alice는 I'm Alice, Ticket_b, Kab{N2} 메시지를 Bob에게 보낸다.
    • Bob은 KDC가 제공한 Ticket_b를 복호화하여 세션 키 를 획득한다.
  4. Bob의 응답
    • Bob은 Alice가 보낸 난수 를 암호화하여 응답한다.
    • 메시지: Kab{N2-1, N3}
  5. Alice의 응답
    • Alice는 Bob이 보낸 난수 를 암호화하여 응답한다.
    • 메시지: Kab{N3-1}
  6. 세션 키 교환 완료
    • Alice와 Bob은 안전한 세션 키를 공유하게 된다.
 

4. 보안 특성과 한계점

4.1 보안 특성

  • KDC를 통한 안전한 키 배포: KDC와 사용자는 사전 공유된 마스터 키를 사용하여 키 배포 과정이 보호됨
  • 난수 인증: Alice와 Bob은 난수를 활용하여 상호 인증을 수행하고 메시지의 무결성을 검증

4.2 보안 한계점

  1. 중간자 공격(Man-in-the-Middle Attack, MITM)
    • 공격자가 Alice와 Bob 간의 키 교환을 가로채어 자신이 세션 키를 획득할 수 있다.
    • 이를 방지하기 위해 공개키 기반의 인증 방식(PKI)과 결합할 필요가 있다.
  2. Denning-Sacco 공격(세션 키 재사용 공격)
    • 공격자가 이전에 획득한 세션 키를 활용하여 Bob과 통신하는 방식으로 인증을 우회할 수 있다.
    • 이를 방지하기 위해 Bob이 세션 키를 사용하기 전에 KDC에 검증 요청을 수행하는 방식을 적용해야 한다.
  3. KDC 의존성 문제
    • KDC가 공격받거나 신뢰할 수 없는 경우 전체 인증 프로세스가 무력화될 위험이 있다.
  4. Forward Secrecy 미보장
    • 세션 키가 유출될 경우 과거의 통신 내용이 복호화될 가능성이 있음.

 

5. Needham-Schroeder 프로토콜의 활용 및 개선

5.1 활용 사례

  • 기업 내부 인증 시스템: 네트워크 내 사용자 간 보안 통신을 위한 인증 방식
  • SSH 초기 세션 키 교환: 네트워크 보안 프로토콜에서 키 교환 메커니즘으로 사용

5.2 개선 방안

  1. Denning-Sacco Attack 방지 적용
    • Bob이 세션 키를 사용하기 전에 KDC에서 해당 키의 유효성을 검증하는 절차 추가
  2. Public-Key 기반 인증 도입
    • PKI 기반 암호화를 활용하여 키 교환 과정에서의 MITM 공격 방지
  3. 타임스탬프 및 세션 키 검증 추가
    • 특정 시간이 지나면 세션 키를 폐기하여 재사용 공격을 차단
 

6. 결론

Needham-Schroeder 프로토콜은 네트워크에서 두 사용자가 신뢰할 수 있는 KDC를 통해 안전하게 세션 키를 공유할 수 있도록 설계된 대칭키 기반 인증 프로토콜이다. 그러나 Denning-Sacco 공격과 중간자 공격과 같은 취약점이 존재하며, 이를 해결하기 위해 PKI 기반 인증 방식과 세션 키 검증 기법이 필요하다.

728x90