WPA
1. 개요
1. 개요
WPA(Wi-Fi Protected Access)는 무선 랜의 보안을 강화하기 위해 와이파이 얼라이언스가 개발한 보안 프로토콜 및 인증 프로그램이다. 이는 기존 WEP(Wired Equivalent Privacy)의 심각한 보안 취약점을 해결하기 위해 2003년 도입되었다.
WPA는 IEEE 802.11i 무선 보안 표준의 중간 단계로 설계되었으며, 완전한 표준이 확정되기 전 임시 보안 솔루션 역할을 했다. 이는 기존 WEP 하드웨어에서도 소프트웨어 업그레이드를 통해 사용할 수 있도록 호환성을 유지하면서 보안성을 크게 향상시켰다. WPA의 도입으로 무선 네트워크 사용자는 더 강력한 데이터 암호화와 무결성 보호를 이용할 수 있게 되었다.
WPA는 일반적으로 두 가지 운영 모드를 제공한다. 첫째는 WPA-PSK(Pre-Shared Key) 모드로, 소규모 가정이나 사무실 환경에서 사용된다. 이 모드는 모든 사용자가 동일한 미리 공유된 암호를 사용한다. 둘째는 WPA-Enterprise 모드로, 대규모 기업이나 조직에서 사용된다. 이 모드는 RADIUS 서버와 연동하여 각 사용자마다 독립적인 인증을 제공한다.
2. WPA의 등장 배경
2. WPA의 등장 배경
WEP의 심각한 보안 취약점이 널리 알려지면서, 무선 네트워크 보안에 대한 새로운 표준의 필요성이 대두되었다. WEP는 RC4 스트림 암호를 취약한 방식으로 사용했고, 정적 키 관리 방식으로 인해 패킷 스니핑을 통한 키 복구가 가능했다[1]. 이러한 문제점은 2001년을 전후해 학계와 산업계에서 집중적으로 지적받기 시작했다.
이에 대응하기 위해 IEEE 802.11i 작업 그룹은 강화된 보안 표준을 제정하기 시작했으나, 표준화 절차는 예상보다 오래 걸렸다. 당시 무선 네트워크 시장은 급성장하고 있었고, 사용자들은 즉각적인 보안 대책을 요구했다. 이러한 시장의 압력에 따라, 와이파이 얼라이언스는 2003년에 IEEE 802.11i의 최종안이 완성되기 전에 임시적인 대응책으로 WPA를 발표했다.
WPA는 공식적으로 "Wi-Fi Protected Access"의 약자이다. 이는 기존 하드웨어의 펌웨어 업그레이드만으로도 적용 가능하도록 설계된 과도기적 표준이었다. WPA의 주요 목표는 두 가지였다: 첫째, WEP의 알려진 모든 취약점을 해결하는 것, 둘째, 향후 완성될 IEEE 802.11i 표준(나중에 WPA2의 기반이 됨)으로의 원활한 전환을 준비하는 것이었다.
3. WPA의 주요 보안 기능
3. WPA의 주요 보안 기능
WPA는 WEP의 심각한 취약점을 해결하기 위해 도입된 일련의 보안 기능들을 포함한다. 핵심 목표는 데이터 기밀성, 무결성, 그리고 인증을 강화하는 것이었다. 이를 위해 TKIP(Temporal Key Integrity Protocol), MIC(Message Integrity Check), 그리고 향상된 RC4 스트림 암호 사용이라는 세 가지 주요 기술을 도입했다.
TKIP는 WPA의 핵심 암호화 프로토콜이다. 이는 기존 WEP 하드웨어와의 호환성을 유지하면서 보안을 강화하기 위해 설계되었다. TKIP는 정적 키를 사용하는 WEP와 달지, 패킷마다 동적으로 변화하는 암호화 키를 생성한다. 이 키는 결합된 초기값(Initialization Vector), MAC 주소, 그리고 마스터 키를 기반으로 만들어지며, 이를 통해 같은 평문 패킷이라도 전송할 때마다 완전히 다른 암호문이 생성된다[2].
데이터 무결성을 보호하기 위해 WPA는 MIC(Message Integrity Check, 때로는 "Michael"이라고도 함)을 도입했다. MIC는 패킷의 출처와 내용이 전송 중에 변경되지 않았음을 검증하는 메시지 인증 코드다. WEP에서 사용되던 간단한 CRC(순환 중복 검사)는 암호화되지 않은 상태로 전송되어 악의적으로 조작될 수 있었으나, MIC는 키를 사용해 계산되어 변조를 탐지할 수 있다. MIC 검증 실패 시, 네트워크는 잠시 동안 새로운 연결을 차단하는 대응 조치를 취해 공격을 억제한다.
기능 | 설명 | 목적 |
|---|---|---|
TKIP | 패킷마다 고유한 암호화 키를 생성하는 프로토콜 | 데이터 기밀성 강화, 재전송 공격 방지 |
MIC | 키 기반의 메시지 무결성 검사 코드 | 데이터 변조 및 위조 탐지 |
RC4 암호화 | 스트림 암호 방식, TKIP에 의해 키 관리가 강화됨 | 실시간 데이터 암호화 (WEP와 동일 알고리즘이지만 더 안전하게 사용) |
WPA는 여전히 WEP에서 사용하던 RC4 스트림 암호 알고리즘을 사용하지만, TKIP에 의해 키 관리 방식이 근본적으로 개선되었다. 짧고 고정된 초기값(IV)을 사용하던 WEP와 달리, TKIP는 48비트의 초기값과 강력한 키 혼합 함수를 사용해 더 복잡하고 예측 불가능한 암호화 키를 만들어낸다. 이 조합은 당시로서는 WEP의 즉각적인 위협을 차단하는 실용적인 해결책이었다.
3.1. TKIP (Temporal Key Integrity Protocol)
3.1. TKIP (Temporal Key Integrity Protocol)
TKIP는 WPA의 핵심 암호화 프로토콜로, 기존 WEP 하드웨어의 호환성을 유지하면서 보안을 강화하기 위해 설계되었다. TKIP는 각 데이터 패킷마다 고유한 암호화 키를 동적으로 생성하여 사용하는 패킷 키 혼합 방식을 채택한다. 이 방식은 WEP의 고정 키 사용으로 인한 취약점을 해결한다. 또한 순차 번호 카운터를 도입하여 재전송 공격을 방지하고, 송신자와 수신자 간의 동기화를 유지한다.
TKIP의 주요 구성 요소는 다음과 같다.
* 패킷 키 혼합: 기본 마스터 키, 송신자 MAC 주소, 패킷의 순차 번호를 조합하여 각 패킷을 암호화하는 데 사용할 128비트 임시 키를 생성한다. 이로 인해 동일한 평문이라도 패킷마다 다른 암호문이 생성된다.
* 순차 번호 카운터: 각 패킷에 증가하는 번호를 부여하여 공격자가 패킷을 가로채 재전송하는 것을 탐지한다.
* 재전송 방지 메커니즘: 순차 번호가 올바르지 않거나 지연된 패킷은 폐기한다.
TKIP는 암호화 엔진으로 RC4 스트림 암호를 계속 사용하지만, 키 생성 및 관리 방식을 근본적으로 변경하여 보안성을 높였다. 그러나 이는 하드웨어 가속을 지원하지 않는 소프트웨어 기반 처리에 의존하므로, 네트워크 처리량과 지연 시간에 일부 성능 저하를 초래할 수 있다. TKIP는 WPA2에서 더 강력한 AES 기반의 CCMP로 대체되었으며, 현대 보안 표준에서는 사용이 권장되지 않는다.
3.2. MIC (Message Integrity Check)
3.2. MIC (Message Integrity Check)
MIC (Message Integrity Check)는 WPA가 WEP의 취약점을 해결하기 위해 도입한 핵심적인 데이터 무결성 검증 메커니즘이다. 공식적으로는 Michael 알고리즘이라는 이름으로 알려져 있다. 이 기능의 주요 목적은 전송 중인 무선 데이터 패킷이 공격자에 의해 변조되었는지를 감지하는 것이다.
WEP에서는 단순한 CRC-32 체크섬을 무결성 검증에 사용했는데, 이는 암호화되지 않은 상태로 전송되어 공격자가 체크섬 값을 예측하고 패킷 내용을 변조한 후 올바른 체크섬으로 바꿀 수 있었다. MIC는 이를 근본적으로 차단하기 위해 설계되었다. MIC는 각 무선 패킷에 대해 발신자와 수신자만이 아는 MIC 키를 사용하여 계산된 암호화된 해시 값을 생성한다. 이 값은 패킷과 함께 전송되며, 수신 측에서는 동일한 키로 MIC 값을 다시 계산하여 비교한다. 두 값이 일치하지 않으면 패킷이 변조된 것으로 간주하고 즉시 폐기한다.
MIC는 재전송 공격을 방지하기 위한 추가 장치를 포함한다. 이는 순서 번호 또는 패킷 번호를 MIC 계산에 포함시켜 구현된다. 공격자가 합법적인 패킷을 가로채 나중에 재전송하려 해도, 수신 측에서는 이미 처리된 순서 번호를 인지하고 있으므로 해당 패킷을 거부한다. MIC 검증 실패가 반복적으로 발생하면, 액세스 포인트와 클라이언트는 1분 동안의 통신 차단을 포함한 대응 조치를 취할 수 있어, 지속적인 공격 시도를 억제한다.
특징 | 설명 |
|---|---|
주요 목적 | 데이터 패킷의 변조 및 재전송 공격 탐지 |
사용 알고리즘 | [[Michael (암호화) |
WEP의 CRC-32와 차이 | 암호화된 해시 사용, 키에 의존적, 재전송 방지 메커니즘 포함 |
보호 대상 | 데이터 무결성(Integrity) |
주요 대응 조치 | MIC 검증 실패 시 패킷 폐기 및 일시적 통신 차단 |
3.3. RC4 스트림 암호
3.3. RC4 스트림 암호
RC4는 WPA가 채택한 스트림 암호 알고리즘이다. 이 알고리즘은 WEP에서도 사용되었던 것으로, WPA는 이를 TKIP와 결합하여 보안성을 강화했다. RC4는 키 스트림을 생성하여 평문과 XOR 연산을 수행하는 방식으로 암호화를 진행한다. 알고리즘이 단순하고 연산 속도가 빠르다는 장점이 있어 당시 무선 환경에 적합하다고 판단되었다.
그러나 RC4 자체는 여러 심각한 취약점을 안고 있었다. 특히 키 스트림에 편향성이 존재하여 통계적 분석 공격에 취약했고, 초기 키 스케줄링 알고리즘의 결함으로 인해 약한 키가 생성될 가능성이 있었다[3]. WEP의 실패 원인 중 상당 부분이 RC4의 취약한 구현과 직접적인 연관이 있었다.
WPA는 이러한 RC4의 고유한 취약성을 완전히 해결하지는 못했지만, TKIP를 통해 사용 방식을 개선했다. TKIP는 패킷마다 동적으로 변화하는 암호화 키(Temporal Key)를 생성하여 RC4에 공급함으로써, 동일한 키 스트림이 재사용되는 것을 방지했다. 이는 WEP의 고정 키 사용 문제를 근본적으로 차단하는 조치였다.
결과적으로 WPA의 RC4 구현은 WEP보다 훨씬 안전했지만, 근본적인 알고리즘의 한계는 남아있었다. 이는 후속 규격인 WPA2가 더 강력한 AES 기반의 CCMP 암호화 방식을 필수로 채택하는 주요 동기가 되었다.
4. WPA의 동작 방식
4. WPA의 동작 방식
WPA의 동작 방식은 크게 인증과 암호화 키 설정, 그리고 지속적인 키 갱신 과정으로 구성된다. 핵심은 정기적으로 변경되는 동적 암호화 키를 사용하여 무선 통신의 보안을 유지하는 것이다. 이 과정은 주로 4-Way Handshake라는 절차를 통해 이루어진다.
4-Way Handshake는 클라이언트 장치(예: 노트북, 스마트폰)와 액세스 포인트(AP) 간에 안전한 통신 세션을 수립하기 위한 네 단계의 메시지 교환 절차이다. 이 핸드셰이크의 주요 목적은 양측이 공유된 마스터 키(PMK, Pairwise Master Key)로부터 실제 데이터 암호화에 사용될 세션 키(PTK, Pairwise Transient Key)를 유도하고, 서로를 확인하는 것이다. 절차는 다음과 같다.
단계 | 송신자 | 수신자 | 주요 목적 |
|---|---|---|---|
1 | 액세스 포인트 | 클라이언트 | 난수(Anonce) 전송 및 핸드셰이크 시작 |
2 | 클라이언트 | 액세스 포인트 | 난수(Snonce) 전송 및 MIC 계산 |
3 | 액세스 포인트 | 클라이언트 | 암호화 키(PTK) 전달 및 설정 확인 |
4 | 클라이언트 | 액세스 포인트 | 설정 완료 확인 |
핸드셰이크가 성공적으로 완료되면, 양측은 동일한 PTK를 공유하게 되고, 이를 기반으로 TKIP가 데이터 패킷을 암호화한다. 또한, WPA는 정기적인 키 갱신 메커니즘을 통해 보안을 강화한다. 일정 시간이 지나거나 전송된 데이터량이 특정 임계값에 도달하면, 새로운 세션 키를 생성하기 위해 4-Way Handshake가 다시 수행된다. 이는 공격자가 암호화 키를 수집하여 분석하는 시간을 크게 제한하는 효과가 있다.
4.1. 4-Way Handshake
4.1. 4-Way Handshake
WPA의 4-Way Handshake는 무선 클라이언트(예: 노트북, 스마트폰)와 액세스 포인트(AP) 간에 안전한 통신을 위한 암호화 키를 협상하고 설치하는 핵심적인 인증 프로세스이다. 이 핸드셰이크는 PSK(Pre-Shared Key) 모드와 802.1X/EAP 기반의 엔터프라이즈 모드 모두에서 사용되며, 최종 데이터 암호화에 사용될 세션 키를 유도하고 상호 인증을 완료하는 역할을 한다.
핸드셰이크는 총 네 단계의 메시지 교환으로 이루어진다. 첫 번째 메시지(AP → 클라이언트)에서 AP는 임의의 값(ANonce)을 전송한다. 클라이언트는 이 ANonce와 자신이 알고 있는 PSK 또는 마스터 키를 사용해 PTK(Pairwise Transient Key)를 생성한다. 두 번째 메시지(클라이언트 → AP)에서 클라이언트는 자신의 임의 값(SNonce)과 MIC(Message Integrity Code)을 AP에 보낸다. AP는 수신한 SNonce와 자신이 가진 마스터 키로 동일한 PTK를 계산하여 MIC를 검증한다. 세 번째 메시지(AP → 클라이언트)에서 AP는 GTK(Group Temporal Key, 멀티캐스트 트래픽 암호화용)를 암호화하여 전송하고 설치를 지시한다. 마지막으로 클라이언트가 네 번째 메시지로 확인 응답을 보내면 핸드셰이크가 완료되고 양측은 계산된 PTK로 유니캐스트 트래픽을 암호화하기 시작한다.
이 과정의 주요 목적은 다음과 같다.
목적 | 설명 |
|---|---|
상호 인증 | AP와 클라이언트가 모두 유효한 마스터 키(PSK 또는 PMK)를 소유하고 있음을 MIC 검증을 통해 확인한다. |
동적 키 유도 | 사전 공유된 마스터 키로부터 매 세션마다 고유한 PTK를 생성하여 키 재사용을 방지한다. |
키 설치 동기화 | 양측이 동일한 키를 정확한 순간에 설치하도록 보장하여 통신의 안전성을 확립한다. |
그룹 키 전달 | 멀티캐스트/브로드캐스트 트래픽을 암호화하는 GTK를 안전하게 클라이언트에게 배포한다. |
4-Way Handshake가 성공적으로 완료되지 않으면 무선 연결이 수립되지 않거나, 보안이 적용되지 않은 상태로 통신하게 되어 스니핑 등의 공격에 노출될 수 있다. 이 핸드셰이크 프로토콜은 WPA2에서도 그대로 계승되었으나, KRACK 공격과 같은 취약점에서 보여주듯 설계적 결함이 존재하기도 했다[4].
4.2. 키 관리 및 갱신
4.2. 키 관리 및 갱신
WPA의 키 관리 및 갱신 메커니즘은 네트워크 보안을 유지하는 핵심 요소이다. 이 과정은 크게 두 가지 주요 키, 즉 페어와이즈 마스터 키(PMK)와 임시 키(PTK)를 중심으로 이루어진다. PMK는 인증 단계에서 생성되는 장기 마스터 키이며, PTK는 이 PMK와 4-Way Handshake 과정에서 생성된 난수(ANonce, SNonce) 등을 기반으로 실시간으로 유도되는 세션 키이다. PTK는 다시 데이터 암호화에 사용되는 키와 메시지 무결성 검사에 사용되는 키 등으로 세분화된다.
키 갱신은 정기적이거나 필요에 따라 트리거된다. 가장 일반적인 갱신 방식은 4-Way Handshake를 재수행하여 새로운 PTK를 생성하는 것이다. 이는 사전에 설정된 시간(예: 3600초)이 경과했을 때, 또는 클라이언트가 네트워크에서 연결이 끊겼다가 다시 연결할 때 자동으로 발생한다. 또한, 관리자가 보안 정책상 수동으로 갱신을 강제할 수도 있다. 이렇게 키를 주기적으로 변경함으로써, 하나의 세션 키가 장시간 노출되어 발생할 수 있는 암호 해독 공격의 위험을 줄인다.
WPA의 키 관리 구조는 다음 표와 같이 요약할 수 있다.
키 종류 | 생성 주기 | 주요 용도 | 생성/관리 방식 |
|---|---|---|---|
페어와이즈 마스터 키 (PMK) | 장기적 | 임시 키(PTK) 생성의 기반 | PSK 모드: 미리 공유된 암호에서 유도. 엔터프라이즈 모드: 인증 서버(EAP)를 통해 생성 |
임시 키 (PTK) | 세션 단위 (주기적 갱신) | 단일 세션의 데이터 암호화 및 무결성 보호 | 4-Way Handshake를 통해 PMK, AP/클라이언트 MAC 주소, Nonce 값으로부터 실시간 생성 |
그룹 임시 키 (GTK) | 그룹 브로드캐스트/멀티캐스트 트래픽용 | AP에 연결된 모든 클라이언트에 대한 브로드캐스트/멀티캐스트 트래픽 암호화 | AP가 생성하며, 4-Way Handshake 중 클라이언트에게 안전하게 전달되고 주기적으로 갱신됨 |
이러한 계층적 키 관리 방식은 한 단계의 키가 유출되더라도 다른 키들을 보호할 수 있는 방어적 깊이를 제공한다. 예를 들어, PTK가 유출되어도 PMK는 안전하게 보호되며, 새로운 Handshake를 통해 새로운 PTK를 생성하면 보안이 회복된다. 그러나 WPA-PSK 모드에서는 모든 클라이언트가 동일한 PMK(미리 공유된 암호에서 유도)를 공유하기 때문에, 한 클라이언트의 키가 유출되면 전체 네트워크 보안이 위협받을 수 있는 구조적 취약점이 존재한다[5].
5. WPA2와의 차이점
5. WPA2와의 차이점
WPA와 WPA2는 모두 무선랜 보안을 강화하기 위한 표준이지만, 핵심 암호화 프로토콜과 설계 철학에서 근본적인 차이를 보인다. 가장 큰 차이는 암호화에 사용되는 핵심 알고리즘이다. WPA는 기존 WEP의 하드웨어와 호환성을 유지하기 위해 RC4 스트림 암호를 기반으로 한 TKIP를 사용했다. 반면, WPA2는 더 강력한 AES 기반의 CCMP 암호화 방식을 의무적으로 채택하여, 훨씬 더 강력한 암호화 강도를 제공한다.
두 표준의 인증 및 필수 요구사항도 다르다. WPA는 IEEE 802.11i 보안 표준의 중간 단계로 도입된 임시 조치 성격이 강했다. 따라서 TKIP는 필수였지만, AES-CCMP는 선택 사항이었다. WPA2는 완전히 IEEE 802.11i 표준을 준수하는 최종 승인 버전으로, AES-CCMP 사용을 필수화했다. 이로 인해 WPA2는 정부 및 금융 기관에서 요구하는 높은 수준의 보안 기준을 충족할 수 있게 되었다.
성능과 처리 부하 측면에서도 차이가 있다. AES 암호화는 하드웨어 가속을 효율적으로 활용할 수 있어, 현대 프로세서에서 TKIP보다 더 빠른 암호화/복호화 속도를 제공하는 경우가 많다. 또한 WPA2는 더 효율적인 키 관리와 4-Way Handshake 프로토콜의 개선을 포함하여 전반적인 보안 아키텍처가 견고해졌다.
아래 표는 WPA와 WPA2의 주요 차이점을 요약한다.
구분 | WPA | WPA2 |
|---|---|---|
핵심 암호화 | ||
표준 준수 | IEEE 802.11i의 일부 요소 (임시안) | 완전한 IEEE 802.11i 준수 |
보안 강도 | WEP보다 강화되었으나 상대적으로 취약 | 매우 강력, 정부급 보안 요구사항 충족 |
성능 | 하드웨어 호환성 우선, 상대적 저성능 | 하드웨어 가속 지원 시 고성능 |
필수 요구사항 | AES-CCMP |
결론적으로, WPA2는 WPA의 보안 취약점을 해결하고 더 강력하고 표준화된 암호화 방식을 도입한 진화된 버전이다. WPA는 과도기적 솔루션이었다면, WPA2는 오랫동안 무선 보안의 사실상 표준으로 자리 잡았다.
6. WPA의 취약점과 공격 기법
6. WPA의 취약점과 공격 기법
WPA는 WEP의 심각한 취약점을 해결하기 위해 도입되었지만, 여전히 여러 보안 문제를 안고 있었다. 특히 WPA-PSK 모드에서 사용되는 PSK 방식은 사전 공격에 취약했다. 또한 2017년에 발견된 KRACK 공격은 WPA 프로토콜 자체의 설계 결함을 악용하여 심각한 위협이 되었다.
WPA-PSK의 주요 취약점은 암호화에 사용되는 PMK가 사용자가 설정한 암호문구에서 직접 파생된다는 점이다. 공격자는 네트워크에서 캡처한 4-Way Handshake 패킷과 사전 공격 또는 무차별 대입 공격을 결합하여 암호를 추론할 수 있다. 계산 속도를 높이기 위해 레인보우 테이블이 자주 활용되었다. 이 공격의 성공 가능성은 사용자가 설정한 암호의 복잡도에 직접적으로 의존했다.
2017년에 공개된 KRACK은 WPA와 WPA2 모두에 영향을 미치는 프로토콜 수준의 취약점이다. 이 공격은 4-Way Handshake 과정에서 암호화 키를 재설치하도록 강제하는 방식으로 동작한다. 공격자가 특정 조건을 조작하면, 동일한 논스와 암호화 키가 재사용되어 스트림 암호의 보안성이 무너질 수 있다. 이로 인해 트래픽이 해독되거나 심지어 주입될 위험이 존재했다. KRACK은 클라이언트 장치에 대한 공격이 더 효과적이었으며, 당시 대부분의 운영체제와 장치가 영향을 받았다.
공격 기법 | 대상 | 설명 | 완화 방안 |
|---|---|---|---|
사전 공격/무차별 대입 | WPA-PSK | 캡처한 Handshake 패킷을 바탕으로 PSK를 추측 | 복잡하고 긴 암호문구 사용 |
KRACK | WPA/WPA2 (4-Way Handshake) | Handshake 과정에서 키 재설치를 유발 | 클라이언트 및 AP 펌웨어 업데이트 |
WPS PIN 공격 | WPS 기능 활성화된 AP | WPS의 PIN 번호 취약점을 통한 공격 | 라우터에서 WPS 기능 비활성화 |
이러한 취약점들은 WPA가 과도기적인 보안 표준이었음을 보여주며, 결국 더 강력한 WPA3 표준의 등장을 촉진하는 계기가 되었다.
6.1. WPA-PSK의 취약성
6.1. WPA-PSK의 취약성
WPA-PSK는 사전 공유 키 방식을 사용하여 네트워크에 대한 접근을 통제한다. 모든 사용자가 동일한 암호화 키(패스프레이즈)를 공유하는 구조이기 때문에, 키가 노출될 경우 전체 네트워크 보안이 위협받는다는 근본적인 취약점을 지닌다.
주요 공격 기법으로는 오프라인 사전 공격과 브루트 포스 공격이 있다. 공격자는 네트워크에서 캡처한 4-Way Handshake 패킷을 이용해 패스프레이즈를 추측할 수 있다. 이 과정은 네트워크 트래픽을 지속적으로 모니터링할 필요 없이, 한 번 캡처한 핸드셰이크 데이터를 로컬 환경에서 반복적으로 시도하여 키를 찾아낼 수 있다는 점에서 위험하다. 패스프레이즈의 복잡도가 낮을수록 공격 성공 가능성은 급격히 높아진다.
공격 유형 | 설명 | 대응 방안 |
|---|---|---|
오프라인 사전 공격 | 미리 준비한 단어 목록(사전)을 사용해 캡처한 핸드셰이크 데이터와 대조하여 키를 찾음 | 복잡하고 긴 패스프레이즈 사용, 공통 단어나 간단한 숫자 조합 피하기 |
브루트 포스 공격 | 가능한 모든 문자 조합을 체계적으로 시도하여 키를 찾음 | 최소 20자 이상의 긴 패스프레이즈 사용[6] |
이러한 취약성은 특히 대규모 환경이나 공용 네트워크에서 더욱 두드러진다. 키를 변경해야 할 사용자가 많을수록 관리가 어려워지고, 한 명의 사용자 장치가 손상되면 전체 네트워크 키를 교체해야 하는 상황이 발생할 수 있다. 따라서 기업 환경에서는 802.1X 인증을 사용하는 WPA-Enterprise 방식이 권장된다.
6.2. KRACK (Key Reinstallation Attack)
6.2. KRACK (Key Reinstallation Attack)
KRACK은 2017년 마티 반호프에 의해 발견된 WPA 및 WPA2 프로토콜의 심각한 설계 결함을 이용한 공격 기법이다. 공격의 정식 명칭은 '키 재설치 공격(Key Reinstallation Attack)'이며, 4-Way Handshake 과정에서 발생하는 취약점을 악용한다. 이 핸드셰이크는 클라이언트와 액세스 포인트 간에 암호화 세션 키를 안전하게 협상하고 설치하는 절차이다.
공격의 핵심은 핸드셰이크 과정에서 전송되는 세 번째 메시지(메시지 3)의 재전송을 이용하는 것이다. 액세스 포인트는 클라이언트로부터의 응답(메시지 4)을 받지 못하면 메시지 3을 재전송하는데, 이때 클라이언트는 이미 설치한 암호화 키를 다시 설치하게 된다. 공격자는 특정 조건을 조작하여 이 키 재설치를 유도하고, 결과적으로 사용되는 암호화 키의 일부를 재설정하거나 예측 가능한 상태로 만들 수 있다. 이는 TKIP 또는 CCMP 암호화를 사용하는 모든 WPA/WPA2 네트워크에 영향을 미쳤다.
KRACK의 영향은 다음과 같이 구분된다.
암호화 방식 | 주요 영향 |
|---|---|
데이터 패킷의 암호 해독, 패킷 주입 가능 | |
평문 데이터 수신 가능 (패킷 주입은 어려움) |
이 공격은 네트워크의 PSK 자체를 훔치는 것이 아니라, 핸드셰이크 프로토콜의 취약점을 이용하여 세션 키를 손상시킨다는 점에서 특징적이다. 따라서 공격을 성공시키려면 공격자가 피해자의 무선 신호 범위 내에 있어야 한다. 대부분의 현대 운영체제와 네트워크 장비 제조사들은 이 취약점이 공개된 후 펌웨어 및 소프트웨어 업데이트를 통해 패치를 배포하였다.
7. WPA3의 등장과 발전
7. WPA3의 등장과 발전
WPA3는 2018년에 Wi-Fi 얼라이언스가 공식 발표한 차세대 무선 네트워크 보안 프로토콜이다. 이는 WPA2에서 발견된 주요 취약점들을 해결하고, 최신 보안 표준을 반영하여 설계되었다. WPA3의 도입은 특히 개인 네트워크와 공개 네트워크 영역에서의 보안을 크게 강화하는 것을 목표로 했다.
WPA3는 개인 모드(WPA3-Personal)와 엔터프라이즈 모드(WPA3-Enterprise)로 구분된다. 개인 모드의 가장 큰 혁신은 동시적 동등 키 교환(SAE, Simultaneous Authentication of Equals) 방식을 도입한 것이다. 이 방식은 기존 WPA-PSK의 취약했던 사전 공격을 효과적으로 방어하며, 암호화 키가 네트워크 외부로 유출되더라도 보호를 제공하는 전방향 보안을 지원한다. 엔터프라이즈 모드에서는 192비트 보안 스위트를 필수로 적용하여 금융, 정부, 군사 등 높은 보안이 요구되는 환경에 적합하도록 했다.
또한, WPA3는 공공 장소의 개방형 Wi-Fi 네트워크 보안을 개선했다. Wi-Fi Enhanced Open이라는 기능을 통해, 사용자가 비밀번호를 입력하지 않는 공개 네트워크에서도 각 장치 간의 트래픽이 자동으로 암호화되도록 했다. 이는 개인정보를 보호하는 중요한 발전이었다. 아래 표는 WPA2와 WPA3의 주요 보안 기능을 비교한 것이다.
보안 기능 | WPA2 | WPA3 |
|---|---|---|
개인 모드 키 교환 | PSK (Pre-Shared Key) | SAE (동시적 동등 키 교환) |
전방향 보안 지원 | 없음 | 있음 |
엔터프라이즈 보안 | 선택적 192비트 스위트 | 필수 192비트 스위트 |
공개 네트워크 암호화 | 없음 (개방형) | OWE (Opportunistic Wireless Encryption) |
브루트 포스 공격 저항성 | 상대적으로 낮음 | 매우 높음 |
WPA3는 하위 호환성을 유지하며 점진적으로 보급되었지만, 모든 기기에서의 지원이 필요하다는 점이 도전 과제로 남아 있다. Wi-Fi 얼라이언스는 WPA3 인증 프로그램을 통해 새로운 장치들이 이 표준을 준수하도록 장려하고 있으며, WPA3는 현재 무선 네트워크 보안의 새로운 기준으로 자리 잡았다.
8. 실제 적용과 설정 가이드
8. 실제 적용과 설정 가이드
WPA는 가정용과 기업용 환경에서 서로 다른 설정과 인증 방식을 적용하는 것이 일반적이다. 가정이나 소규모 사무실에서는 WPA-PSK (Pre-Shared Key) 모드가 주로 사용된다. 이 모드는 단일 암호(공유 키)를 모든 사용자가 공유하는 방식으로, 설정이 간편하다는 장점이 있다. 반면, 기업이나 조직에서는 WPA-Enterprise (WPA-EAP) 모드가 권장된다. 이 방식은 RADIUS 서버와 같은 중앙 인증 서버를 활용하여 각 사용자마다 독립적인 인증을 수행하며, 더 높은 수준의 보안을 제공한다.
암호화 키 설정 시, 강력한 암호를 사용하는 것이 가장 기본적이면서도 중요한 보안 조치이다. 다음은 키 설정에 대한 권장사항이다.
설정 항목 | 권장 사항 | 비고 |
|---|---|---|
암호 (PSK) | 최소 20자 이상, 대소문자, 숫자, 특수문자를 무작위로 조합 | 사전 단어나 개인 정보 사용을 피함 |
암호화 방식 | WPA2-AES 또는 WPA3-SAE를 우선 선택 | 호환성 문제로 WPA/TKIP는 피함 |
네트워크 이름 (SSID) | 개인 정보가 포함되지 않은 이름 사용 | 기본 공급자명이나 주소 사용 지양 |
관리자 암호 | 무선 네트워크 암호와 별도로 강력한 암호 설정 | 공장 출시값(default)에서 반드시 변경 |
WPA 보안 설정은 단순히 암호화 프로토콜을 선택하는 것을 넘어서, 정기적인 펌웨어 업데이트와 부가 기능 관리도 포함된다. WPS(Wi-Fi Protected Setup) 기능은 편리성을 제공하지만 알려진 취약점이 많아, 보안을 우선시하는 환경에서는 비활성화하는 것이 안전하다. 또한, 사용하지 않는 게스트 네트워크 기능을 끄거나, 필요 시 별도의 격리된 네트워크를 제공하는 것도 좋은 보안 관행이다. 장비 제조사의 보안 업데이트를 주기적으로 확인하고 적용하여 새로운 위협에 대비해야 한다.
8.1. 가정용/기업용 설정
8.1. 가정용/기업용 설정
WPA는 가정용 SOHO 환경과 기업 환경에서 서로 다른 설정과 운영 모드를 제공하여 보안 요구사항에 맞게 적용할 수 있다.
가정용 네트워크에서는 일반적으로 WPA-Personal 모드(또는 WPA-PSK)가 사용된다. 이 모드는 단일 미리 공유된 키를 모든 사용자가 공유하는 방식으로, 설정이 간편하다. 사용자는 무선 공유기 설정에서 암호화 방식으로 WPA 또는 WPA2를 선택한 후, 8자 이상의 강력한 PSK를 설정한다. 암호는 예측하기 어려운 무작위 문자열이나 긴 문장을 사용하는 것이 권장된다. 네트워크 이름(SSID)을 기본값에서 변경하고 브로드캐스트를 숨기는 것도 기본적인 보안 조치에 포함된다.
기업용 또는 조직 환경에서는 WPA-Enterprise 모드가 필수적으로 요구된다. 이 모드는 각 사용자마다 고유한 인증 정보를 사용하며, 중앙 집중식 RADIUS 서버를 통해 802.1X 인증 프로토콜을 사용한다. 이를 구현하기 위해서는 EAP를 지원하는 AAA 서버가 필요하다. 일반적인 설정 절차는 다음과 같다.
구성 요소 | 설명 | 비고 |
|---|---|---|
무선 액세스 포인트(AP) | 클라이언트와 RADIUS 서버 사이의 중개자 역할을 한다. RADIUS 서버의 IP 주소와 공유 비밀키를 설정한다. | |
RADIUS 서버 | 사용자 인증, 권한 부여, 계정 관리(AAA)를 수행한다. Active Directory나 별도의 사용자 데이터베이스와 연동된다. | |
클라이언트 | 무선 네트워크에 연결할 각 장비. 사용자명/패스워드, 디지털 인증서 등으로 인증한다. |
기업 설정의 핵심 장점은 사용자 단위의 인증과 동적 키 할당이다. 이는 직원의 접근 권한을 세밀하게 통제하고, 사용자 계정이 탈취되거나 직원이 퇴사했을 때 네트워크 전체의 키를 변경하지 않고도 해당 계정만 차단할 수 있게 한다. 또한 강력한 EAP-TLS 방식을 사용하면 클라이언트와 서버 양측의 인증서를 사용한 상호 인증이 가능해져, 피싱 공격에 대한 방어력이 크게 향상된다.
8.2. 암호화 키 설정 권장사항
8.2. 암호화 키 설정 권장사항
암호화 키는 WPA 네트워크의 보안 강도를 결정하는 가장 핵심적인 요소이다. 효과적인 키 관리는 예측 가능한 공격으로부터 네트워크를 보호하는 첫 번째 방어선 역할을 한다.
키 설정 시 가장 중요한 원칙은 복잡성과 길이를 확보하는 것이다. 암호는 최소 12자 이상, 가능하면 20자에 가깝게 설정하는 것이 권장된다. 암호는 대소문자, 숫자, 특수문자를 무작위로 조합하여 구성해야 하며, 사전에 나오는 단어, 생일, 전화번호, 반복되는 문자나 간단한 패턴은 절대 사용해서는 안 된다. WPA-PSK 모드에서는 이 사전 공유 키가 모든 사용자가 공유하는 마스터 키 역할을 하므로, 그 중요성이 더욱 크다.
정기적인 키 변경도 좋은 보안 습관이다. 특히 기업 환경이나 사용자 변경이 빈번한 네트워크에서는 관리 콘솔을 통해 주기적으로 암호를 변경하는 것이 바람직하다. 또한, SSID를 네트워크의 위치나 기관명을 그대로 노출시키지 않고, 기본값에서 변경하는 것도 공격자의 타겟팅을 어렵게 만드는 보조 수단이 될 수 있다. 최종적으로는 WPA2의 AES 암호화를 사용하도록 설정하고, 가능하다면 더 강력한 WPA3로의 업그레이드를 고려해야 한다.
