anothel의 지식 창고
Needham-Schroeder 프로토콜: 보안 인증 방식의 원리와 한계 본문
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 프로토콜 메시지 흐름
- Alice가 KDC에 요청
- Alice는 KDC에게 Bob과의 통신을 위한 세션 키 요청을 보낸다.
- 메시지: Ka{N1, Bob}
- KDC가 세션 키 생성 및 응답
- KDC는 새로운 세션 키 를 생성한 후, Bob만 해독할 수 있도록 암호화된 티켓(Ticket_b)을 포함하여 Alice에게 전송한다.
- 메시지: Ka{N1, Kab, Bob, Ticket_b}
- Alice가 Bob에게 메시지 전달
- Alice는 I'm Alice, Ticket_b, Kab{N2} 메시지를 Bob에게 보낸다.
- Bob은 KDC가 제공한 Ticket_b를 복호화하여 세션 키 를 획득한다.
- Bob의 응답
- Bob은 Alice가 보낸 난수 를 암호화하여 응답한다.
- 메시지: Kab{N2-1, N3}
- Alice의 응답
- Alice는 Bob이 보낸 난수 를 암호화하여 응답한다.
- 메시지: Kab{N3-1}
- 세션 키 교환 완료
- Alice와 Bob은 안전한 세션 키를 공유하게 된다.
4. 보안 특성과 한계점
4.1 보안 특성
- KDC를 통한 안전한 키 배포: KDC와 사용자는 사전 공유된 마스터 키를 사용하여 키 배포 과정이 보호됨
- 난수 인증: Alice와 Bob은 난수를 활용하여 상호 인증을 수행하고 메시지의 무결성을 검증
4.2 보안 한계점
- 중간자 공격(Man-in-the-Middle Attack, MITM)
- 공격자가 Alice와 Bob 간의 키 교환을 가로채어 자신이 세션 키를 획득할 수 있다.
- 이를 방지하기 위해 공개키 기반의 인증 방식(PKI)과 결합할 필요가 있다.
- Denning-Sacco 공격(세션 키 재사용 공격)
- 공격자가 이전에 획득한 세션 키를 활용하여 Bob과 통신하는 방식으로 인증을 우회할 수 있다.
- 이를 방지하기 위해 Bob이 세션 키를 사용하기 전에 KDC에 검증 요청을 수행하는 방식을 적용해야 한다.
- KDC 의존성 문제
- KDC가 공격받거나 신뢰할 수 없는 경우 전체 인증 프로세스가 무력화될 위험이 있다.
- Forward Secrecy 미보장
- 세션 키가 유출될 경우 과거의 통신 내용이 복호화될 가능성이 있음.
5. Needham-Schroeder 프로토콜의 활용 및 개선
5.1 활용 사례
- 기업 내부 인증 시스템: 네트워크 내 사용자 간 보안 통신을 위한 인증 방식
- SSH 초기 세션 키 교환: 네트워크 보안 프로토콜에서 키 교환 메커니즘으로 사용
5.2 개선 방안
- Denning-Sacco Attack 방지 적용
- Bob이 세션 키를 사용하기 전에 KDC에서 해당 키의 유효성을 검증하는 절차 추가
- Public-Key 기반 인증 도입
- PKI 기반 암호화를 활용하여 키 교환 과정에서의 MITM 공격 방지
- 타임스탬프 및 세션 키 검증 추가
- 특정 시간이 지나면 세션 키를 폐기하여 재사용 공격을 차단
6. 결론
Needham-Schroeder 프로토콜은 네트워크에서 두 사용자가 신뢰할 수 있는 KDC를 통해 안전하게 세션 키를 공유할 수 있도록 설계된 대칭키 기반 인증 프로토콜이다. 그러나 Denning-Sacco 공격과 중간자 공격과 같은 취약점이 존재하며, 이를 해결하기 위해 PKI 기반 인증 방식과 세션 키 검증 기법이 필요하다.
728x90
'기술 노트 > 정보보안기사' 카테고리의 다른 글
최소 권한 원칙: 보안과 효율성을 동시에 잡는 방법 (0) | 2025.03.16 |
---|---|
OTP와 HSM, 인증 보안의 핵심 기술 탐구 (0) | 2025.03.15 |
SSL/TLS 제대로 알기: 안전한 인터넷 통신을 위한 필수 요소 (0) | 2025.03.14 |
해시 함수와 MAC: 데이터 무결성과 인증을 위한 핵심 기술 (0) | 2025.03.13 |
패스워드의 한계를 극복하는 차세대 사용자 인증 방식 (0) | 2025.03.12 |