한양과학기술고등학교

에듀테크 프로젝트 대시보드

WPA2 4-Way 핸드셰이크

📶 4-Way 핸드셰이크 대기 중
📡 AP (공유기) 💻 클라이언트
M1AP→STA ANonce 전송 (평문)
M2STA→AP SNonce + MIC 전송
M3AP→STA GTK(암호화) + MIC 전송
M4STA→AP ACK — PTK/GTK 설치 완료
🔑 파생 키 상태 양쪽이 독립 계산
PMK (PSK→PBKDF2)—
ANonce (AP 난수)—
SNonce (STA 난수)—
PTK (AP 계산)—
PTK (STA 계산)—
두 값이 같으면 비밀번호를 공유한 진짜 참여자라는 뜻입니다 — 키 자체를 전송하지 않고도 서로를 인증합니다.
📋 무선 캡처 로그 실시간
// 다음 메시지 진행을 눌러 핸드셰이크를 시작하세요...
🧮 PTK는 어떻게 만들어지나
# 802.11i PTK 유도 (개념 의사코드) PMK = PBKDF2(password, ssid, iters=4096) PTK = PRF( PMK, "Pairwise key expansion", min(AP_MAC,STA_MAC) + max(AP_MAC,STA_MAC) + min(ANonce,SNonce) + max(ANonce,SNonce) ) # PTK → KCK(무결성) + KEK(키 암호화) + TK(데이터 암호화)로 분할
PMK와 두 MAC 주소는 이미 서로 알고, ANonce·SNonce만 M1·M2에서 평문으로 오갑니다. 그래서 도청자가 전부 지켜봐도 PMK(비밀번호)를 모르면 같은 PTK를 만들 수 없습니다.
☠️ KRACK 공격 재현 Key Reinstallation
공격자가 M3를 가로채 재전송하면, 클라이언트는 "재연결 요청"으로 착각해 같은 PTK를 다시 설치하면서 암호화 카운터(논스)가 0으로 리셋됩니다.
데이터 논스 재사용 횟수 0
같은 키+같은 논스로 암호화된 패킷이 2개 생기면 키스트림이 겹쳐 평문 복구·패킷 위조가 가능해집니다. 2017년 실제 공개된 취약점이며, 패치된 기기는 같은 키를 재설치해도 논스를 리셋하지 않도록 수정되었습니다.
🛡️ 왜 이 구조가 중요할까
① 비밀번호 자체는 전파를 안 탄다
오가는 건 난수(Nonce)와 무결성 코드(MIC)뿐. 도청자는 재료를 봐도 PMK 없이는 키를 못 만든다.

② 그래도 오프라인 사전 공격은 가능
M1·M2를 캡처해 두면 공격자가 흔한 비밀번호 목록을 오프라인으로 대입해 MIC와 대조할 수 있다. 그래서 긴 임의 비밀번호가 중요.

③ WPA3의 개선점 (SAE)
WPA3은 SAE(동시 동등 인증)로 교체해, 캡처한 패킷만으로는 오프라인 사전 공격 자체가 불가능하도록 설계됨.