본문 바로가기
  • (개인)정보보호/최신ICT 정보 공유 블로그
(부제) 나는 CISO 이다/SecureDog 프로젝트

SPA(Single Packet Authorization)

by 노벰버맨 2026. 2. 2.

1. SPA의 개요

가. SPA의 정의

  • 개념: 단일 패킷(Single Packet) 내에 암호화된 인증 정보를 담아 전송함으로써 서비스 포트를 열기 전 사용자를 식별하는 보안 기술
  • 핵심 역할: 제로트러스트의 '선 인증 후 연결' 원칙을 구현하여 인가되지 않은 사용자에게 자산 노출을 원천 차단

나. SPA의 특징

  • 비연결형 인증: TCP 핸드셰이크 전 UDP 패킷을 통해 인증을 수행하여 서버 리소스 소모 방지
  • 자산 은닉성: 인증 성공 전까지 모든 서비스 포트를 'Drop' 설정으로 유지하여 외부 스캐닝 무력화
  • 강력한 보안성: 패킷 전체를 암호화하고 일회성 토큰(Nonce)을 사용하여 재전송 공격 방어

2. SPA의 기술 상세

가. SPA의 장단점

장점
  • 공격 노출면 제거: 인터넷상에서 서버의 존재가 보이지 않는 'Black Cloud' 구현 가능
  • 성능 효율성: 단일 패킷 전송으로 인증이 완료되어 네트워크 오버헤드가 낮음
  • DoS/DDoS 방어: 유효하지 않은 패킷은 커널 수준에서 폐기하여 애플리케이션 부하 방지
단점
  • UDP 의존성: UDP 패킷을 차단하거나 손실이 잦은 네트워크 환경에서 연결 문제 발생 가능
  • 전용 에이전트 필요: 클라이언트 측에서 SPA 패킷을 생성하기 위한 전용 소프트웨어 설치 필수

나. SPA의 동작절차

  1. 인증 패킷 생성: 클라이언트 에이전트가 신원 정보, 기기 식별자, 타임스탬프를 암호화하여 SPA 패킷 생성
  2. 패킷 전송: 암호화된 단일 UDP 패킷을 SDP 게이트웨이 또는 컨트롤러의 지정된 포트로 전송
  3. 패킷 분석 및 복호화: 게이트웨이가 수신된 패킷을 복호화하여 신원 유효성 및 재전송 여부 검증
  4. 방화벽 동적 개방: 검증 성공 시, 해당 사용자의 소스(Source) IP에 대해서만 요청한 서비스 포트를 일시적 개방
  5. 세션 수립: 사용자가 실제 서비스(TLS/SSH 등)에 연결하고, 연결 직후 해당 포트는 다시 폐쇄

3. 기존 포트 너킹과 SPA의 차이

구분 포트 너킹 (Port Knocking) SPA (Single Packet Authorization)
작동 방식 특정 순서의 포트로 다수의 패킷 전송 (노크) 암호화된 단일(Single) 패킷 전송
보안 메커니즘 포트 번호의 나열 순서(비밀 번호 방식) 공개키 암호화 및 디지털 서명 기반
재전송 공격 패킷 순서 탈취 시 재전송 공격에 취약 타임스탬프 및 일회성 값으로 재사용 불가
가시성 네트워크 로그에 노크 패턴이 노출될 수 있음 패킷 자체가 암호화되어 의도 파악 불가
속도 및 신뢰성 여러 패킷이 순서대로 도달해야 하므로 지연 발생 단일 패킷으로 즉시 인증되어 처리 속도 빠름

댓글