WEP에 대해 알아보자


WEP 암호화 방식은 IEEE 802.11b 프로토콜에서 적용되기 시작하여, RC4 암호화 알고리즘을 사용한다. 40비트 길이의 WEP 비밀 키와 임의로 할당되는 24비트 IV(Initizlization Vertor)로 조합된 총 64비트의 키를 이용하여 RC4 알고리즘 암호화하는 방식이다.




1. WEP 암호화와 복호화 방식


암호화 진행 순서


1) MAC 데이터 부분에 대한 CRC-32 계산 결과 값인 32비트 길이의 ICV(Integrity Check Value)를 얻어 페이로드의 끝에 추가한다.

2) 24비트의 IV 값을 랜덤하게 생성한다.

3) IV + WEP 키[64비트] 값을 RC4 알고리즘에 대입해 키 스트림을 생성한다.

4) ICV  값이 추가된 평문과 RC4 알고리즘을 통과한 키 스트림을 XOR 연산한다.

5) XOR 연산 결과 생성된 암호문 앞에 IV 값을 추가해 전송한다.




복호화 진행 순서


1) 평문으로 전달된 IV 값과 WEP 비밀 키를 조합해 키 스트림을 생성한다.

2) 암호문과 키 스트림을 XOR 연산해 복호화하면 평문과 ICV 값을 획득할 수 있다.

3) 복호화된 평문의 ICV 값과 복호화된 데이터에서 나온 ICV 값을 비교해 동일 여부를 확인한 후 전송이 올바르게 됐는지 안 됐는지를 판단한다.


2. WEP 취약점


WEP 암호화 방식은 키가 짧아서 취약한게 아니다

취약점은 IV 값이 평문으로 전송되는것과 반복사용하는 RC4 알고리즘의 취약점에있다.

비밀 키와 임의로 선택된 IVS 값을 이용해 4개의 키를 생성하고 생성된 키 중 하나를 선택해 암호화할 때 사용한다. 이때 키스트림의 재사용이 발생한다. 24비트의 IV는 5,000개의 패킷마다 IV값이 반복될 가능성이 50%이상이 된다고 한다.


이런 취약점을 통해 요즘에 WEP 방식은 100% 크래킹이 가능하게되었다


다음 무선 네트워크 (3) 에서는 실제로 WEP를 크래킹해보자