Replay Attack을 막는 인증 설계와 재전송 방어
Replay Attack의 동작 방식과 인증·금융·IoT 환경의 위험, 타임스탬프·논스·챌린지 응답 기반 방어 설계를 정리한다.
2026-08-14 · 최초 발행 2025-05-27
정상 요청을 다시 보내는 공격
Replay Attack(재전송 공격)은 정상적으로 전송된 데이터를 가로채 저장한 뒤, 나중에 원본 그대로 다시 보내 인증을 우회하는 방식이다. 공격자는 메시지 내용을 해독할 필요가 없다. 유효했던 패킷을 복제해 재전송하는 것만으로도 인증된 사용자처럼 보일 수 있다.
따라서 통신을 암호화했다고 해서 재전송 위험이 사라지지는 않는다. 시스템은 메시지의 기밀성뿐 아니라, 그 메시지가 지금 이 요청을 위해 새로 만들어진 것인지도 확인해야 한다.
재사용될 수 있는 인증 정보
재전송 공격은 인증 과정에서 특히 문제가 된다. 무선 네트워크의 WEP/WPA 인증 과정, 로그인 자격 증명이 담긴 패킷, VPN 연결의 초기 핸드셰이크가 대상이 될 수 있다.
금융 시스템에서는 계좌 이체 요청 메시지, 결제 승인 정보, 암호화된 신용카드 거래 데이터의 재사용 가능성을 다뤄야 한다. 타임스탬프가 없는 디지털 서명, 세션 토큰이 포함된 쿠키, OAuth 토큰 정보도 같은 관점에서 점검 대상이다.
원본 메시지가 유효한 형식과 서명을 유지한다면, 수신 측이 재사용 여부를 식별하지 못하는 순간 공격은 성립한다.
알려진 공격 표면
2009년에는 SSL/TLS 취약점을 이용한 HTTPS 연결에 대한 Replay Attack이 언급됐다. 이 밖에도 RFID 기반 출입통제 시스템에서 캡처 신호를 재전송하는 불법 접근, 롤링 코드가 적용되지 않은 자동차 원격 키리스 엔트리 시스템 해킹, 블루투스 페어링 과정의 인증 정보 재전송이 해당 위험과 맞닿아 있다.
카드 결제 시스템 역시 EMV 칩 이전 버전의 취약점이 악용될 수 있는 영역이다. 공통점은 정상적으로 보였던 인증 정보나 신호가 한 번의 사용으로 소멸하지 않는다는 데 있다.
메시지의 신선성을 확인하는 방법
타임스탬프는 메시지가 허용 가능한 시간 안에 도착했는지 판단하는 방법이다. 각 요청에 타임스탬프를 넣고, 서버는 보통 몇 분 이상 지난 메시지를 거부한다. 이 방식은 클라이언트와 서버의 시간 동기화를 전제로 하며, Kerberos 인증 프로토콜의 타임스탬프 검증이 예시다.
논스(Nonce)는 Number used once, 즉 한 번만 사용하는 임의 값이다. 서버가 제공한 논스를 클라이언트 응답에 포함시키고, 서버는 이미 사용된 논스를 기록해 재사용 시도를 차단한다. HTTP Digest 인증의 논스 메커니즘이 이 방식의 예다.
세션 자체에 재사용 방지 정보를 담는 방법도 있다. 세션마다 고유한 세션 키를 만들고 각 메시지에 증가하는 시퀀스 번호를 붙이면, 이미 처리한 시퀀스 번호의 메시지를 거부할 수 있다. SSL/TLS 프로토콜의 시퀀스 번호 체계가 여기에 해당한다.
챌린지-응답에서는 서버가 인증 때마다 새로운 챌린지를 보내고, 클라이언트가 비밀키를 바탕으로 그 값에 대응하는 응답을 만든다. 챌린지가 일회성이므로 이전 응답을 다시 쓰는 방식은 통하지 않는다. CHAP(Challenge-Handshake Authentication Protocol)이 예시다.
롤링 코드 시스템은 인증할 때마다 코드가 바뀌도록 구성한다. 자동차 키 리모컨과 차고 도어 오프너에 활용되며, 코드 생성기와 검증기 사이의 동기화가 필요하다. 하드웨어 기반 OTP(One-Time Password) 토큰도 같은 원리를 활용하는 예다.
환경별로 달라지는 방어 지점
전자금융거래에서는 OTP와 보안카드 같은 추가 인증 요소를 사용하고, 트랜잭션 서명으로 거래 내용의 무결성을 보장한다. 실시간 이상거래 탐지 시스템(FDS)은 비정상 패턴을 감지하는 역할을 맡는다.
정보통신 환경에서는 모바일 통신의 USIM 기반 인증과 시퀀스 카운터, Wi-Fi WPA3의 SAE(Simultaneous Authentication of Equals), API JWT 토큰의 만료 시간 설정이 재전송 방어와 연결된다.
IoT에서는 디바이스 고유 인증서와 Challenge-Response 방식을 인증에 적용할 수 있다. 블록체인을 이용한 무결성 보장 메커니즘, 주기적인 키 교체와 펌웨어 업데이트도 함께 고려한다.
인증 기술의 변화가 남긴 과제
과거의 단순 패스워드 기반 인증, 평문 네트워크 전송, 정적 인증 메커니즘은 Replay Attack에 취약했다. 현재는 MFA 도입으로 단일 패킷 재전송의 효과가 줄었고, 동적 토큰과 세션 관리 기술도 발전했다. TLS 1.3 등 강화된 보안 프로토콜 적용 역시 이 흐름에 포함된다.
앞으로는 양자 내성 암호화(Quantum-Resistant Cryptography), 생체인증과 행동 패턴 분석을 이용한 지속적 인증(Continuous Authentication), 제로 트러스트 아키텍처의 광범위한 도입이 대응 방식에 영향을 줄 전망이다.
설계에서 재전송을 막는 기준
인증 메커니즘에는 타임스탬프 또는 논스를 포함하고, 세션에는 적절한 만료 시간을 설정한다. 중요 트랜잭션에는 추가 확인 절차를 구현하며, 네트워크 통신에는 최신 TLS 버전을 사용한다.
보안 테스트에는 Replay Attack 시나리오를 반드시 넣어야 한다. 인증 정보 재사용을 막는 장치와 보안 로그 모니터링, 이상 패턴 감지 시스템을 함께 설계해야 한다. 재전송 공격은 단순한 방식이지만 여전히 효과적이며, 시스템 설계 단계부터 방어를 반영하고 정기적인 취약점 점검과 업데이트를 이어갈 필요가 있다.