키 재설치 공격(KRACK) (Key Reinstallation Attack (KRACK))
쉽게 풀면
문을 열 때마다 새 열쇠를 쓰기로 약속했는데, 누군가 문 여는 신호를 몰래 반복시켜서 이미 썼던 열쇠를 다시 쓰게 만드는 상황과 비슷합니다. WPA2 와이파이 보안은 연결할 때마다 새로운 암호화 키를 만들어 쓰도록 설계되어 있는데, KRACK 공격은 이 키를 만드는 과정의 메시지를 반복 재전송시켜 기기가 이미 사용된 키를 다시 설치하도록 속입니다. 그 결과 암호화가 예측 가능해지거나 무력화되어 통신 내용이 노출될 수 있습니다.
왜 중요한가
KRACK은 널리 쓰이던 WPA2 표준 자체의 설계 결함을 드러낸 대표적 사례로, 프로토콜 명세와 실제 구현 사이의 검증 필요성을 강조하는 무선 보안 연구에서 중요한 전환점으로 다뤄집니다.
논문에서는 이렇게 쓰입니다
특정 조건에서 키가 재설치되며 암호화가 약해지는 과정을 실제로 재현해 확인했다는 뜻입니다.
소프트웨어 업데이트로 특정 값의 재사용을 막으면 이 공격을 막을 수 있다는 내용입니다.
조금 더 깊게 보면
KRACK은 WPA2의 4-way handshake 중 세 번째 메시지가 손실되었을 때 재전송되는 상황을 악용하며, 재전송된 메시지를 받은 기기가 암호화 키의 논스(nonce) 값을 초기화된 상태로 재설치하면서 키 스트림 재사용 문제가 발생합니다. 이는 프로토콜 명세 자체의 허점에서 비롯된 것으로, 이후 WPA3의 SAE 도입으로 유사한 방식의 공격 여지가 줄어든 것으로 설명됩니다.
주의할 점
KRACK은 WPA2 프로토콜 설계상의 결함이지 특정 제조사 장비만의 문제가 아니므로, 취약점 대응은 개별 기기의 펌웨어·드라이버 업데이트를 통해 이루어져야 한다는 점에 유의해야 합니다.