ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • WLAN security, WEP
    보안/컴퓨터보안 2019. 9. 22. 01:41

    WLAN = wireless local area network

    Wifi도 WLAN의 타입중 하나이다.

     

     

    Joining & Leaving 과정

    STA(station) : 스마트폰이나 랩탑등 연결을 요구하는 대상

    AP(access point) :  유선 네트워크에 연결하게 해주는 네트워크 디바이스

     

    1. discover -  preferred SSID와 signal의 강도를 기준으로 접속할 AP를 찾는다.

     (ssid : 네트웍아이디. 와이파이 이름이다.) (preferred ssid는 접속한 적 있는 AP)


    채널을 쭉 스캔한 뒤 리스트보여준다. 이후 사용자가 선택 or preferred ssid선택

    2. authentication - 인증. WLAN에 접속할 수 있다는 허가를 받는 것.

    3. association - joining

    4. disassociation - leaving

     

     

     

    WLAN - Discover

    Beacon (등대)

    각각의 AP는 100ms 마다 Beacon frame 브로드캐스트를 보낸다. 
    channel ..1.2.3.4.5.....11(주파수)/ 채널마다 beacon을 보낸다.

     

    Scan

    STA는 어떻게 AP를 찾아서 리스트를 만들어 낼까? 

    Passive Scan - 기다렸다가 AP들로 부터 beacon들을 듣는다.

    Active Scan - 클라이언트가 원하는 SSID를 포함한 probe request를 보내면

    해당 SSID의 AP가 probe response를 보낸다.

     

    STA는 가장 신호가 좋은 AP를 선택한다.

     

     

    WLAN - Authentication

    Open System Authentication : 어떤 STA든 접속할 수 있다. 

    Shared Key Authentication : AP와 같은 key를 가진 STA만 WLAN에 접근할 수 있다. (WEP)

     

     

    WEP (Wired Equivalent Privacy)

    목적

    인증(Authentication) : 유저의 신원 확인

    기밀성(Confidentiality) : 아무도 패킷의 내용을 학습할 수 없어야 함

    무결성(Integrity) : 아무도 탐지되지 않고 패킷을 변조나 위조할 수 없어야 함

    효율(Efficient)

     

    구성요소

    RC4/IV, Shared Secret Keys, Integrity Check Value(ICV)

     

    Types of Ciphers

     

    인풋 사이즈가 정해져있다. 메세지를 블락별로  잘라서 encrypt

    (DES, AES...) 

     


    Stream Cipher

    메세지를 스트림으로 encrypt (RC4) 

    [RC4: WEP에서 사용되고 Ron Rivest가 개발하여 Rivest Cipher 4라는 의미. 

    Symmetric algorithm, encryption/decryption에 같은 procedure.

    장점 : 효율적, 쉬운 실행]

     

     

    ENC/DEC of WEP

    ICV : Integrity Check Value

    IV : Initialized Vector

     

    (Authentication)

    Plaintext가 CRC을 거치면 ICV 4byte가 만들어진다.

    (AP가 Challenge text C를 보내면 STA에서 encrypt한다. 그 결과물이 R, AP는 Dec(R) == C 인지 확인)

     

     

    (Integrity)

    추가적인 4바이트 ICV는 오리지널 패킷에서 CRC-32 checksum을 이용해 계산되고 끝에 덧붙여짐

     

     

    (Confidentiality)

    24bit IV 40bit WEP key로 이루어진 RC4 key는 RC4 알고리즘을 거쳐 key stream을 만든다.

    packet(plaintext+ICV)이 64bit RC4 key에 의해 생성된 RC4 key stream과 encrypted (XOR)

     

    IV는 sender에 의해 선택되고 매번 바뀌어야함. 그래야 모든 패킷이 같은 cipher stream으로 encrypted 되지 않음

    IV는 plaintext로 보내짐. (IV를 알아야 Challenge를 풀 수 있으니까)

     

     

     

    하지만 WEP은 안전하지 않다.

    Authentication

    AP는 STA를 확인하지만 STA는 AP를 확인하지 않는다. (Man in the middle 공격. 중간에서 감시)

    인증을 할때와 데이터를 encrypt할때 같은 키를 사용한다. -> 인증하는 동안 plaintext와 ciphertext를 드러낸다.

    plain xor cipher = key stream.

    C1 XOR C2 = P1 XOR P2 이고 IV도 알고있다.

     

    같은 key를 사용한 plaintext 나 ciphertext를 xor 시키면 key stream을 알수있게되고

    그 key stream을 토대로 다른 분석되지 않은 plaintext들도 분석가능하게 된다.

     

     

    Integrity

    공격자는 메세지의 bit를 변조할 수 없어야 한다. 하지만 message나 ICV의 bit를 flip하는 방식으로 변조가 가능하다.

     

    º RC4에서 만약 plaintext의 bit를 flip 하면 그에 상응하는 ciphertext의 bit도 flip된다. 그리고 다른 비트는 변하지 않는다.

    º Plaintext에서 어떤 비트를 flip했을때 CRC후 ICV의 어떤 bit가 flip 되는지도 알 수 있다. 

     => 메세지를 변조후 flip된 ICV를 다시 flip하면 ICV는 변조되지 않은 상태가 된다. => 메세지변조를 감지X

     

     

    Integrity공격

     Fragmentation Attack

    공격자가 긴 메세지를 주입할 수 있다.

    -메세지가 너무길면 (키스트림은 짧은데)->네트웍에서는 짜른다. 

     

    1. 메세지 길이만큼의 키스트림을 구한다.

    2. m-4 plaintext와 16개 패킷 + 4 CRC를 만든다.

    3. AP가 긴 패킷을 포워딩 하는걸 지켜본다.

    4. 키 스트림의 길이를 구한다. (m-4)*16-4 = 16m-60

    5. 패킷을 주입한다. plaintext 16m-64, CRC4

     

     

     

    Confidentiality

    공격자는 key와 plaintext 모두 얻을 수 있다.

     

    chop chop attack

    1. 메세지의 마지막 바이트를 자른다.

    2. plaintext의 byte를 추측한다.

    3. 추측한 plaintext byte의 CRC를 계산한다.

    4. encrypted된 CRC와 XOR하여 새로운 CRC를 얻는다.

    5. AP에게 보내서 받아들이는지 본다.

    6. 되지않는다면 2번으로 돌아간다.

     

     

    댓글

Designed by Tistory.