프로그래밍[Univ]/컴퓨터보안

[컴퓨터보안] 무선랜 보안

Cloud Travel 2013. 6. 6. 17:11

* Wireless LAN의 두가지 과제

 - 단말과 AP의 상호인증

  > 단말은 AP가 신뢰할 수 있는 AP인지 판단을 할 수 있어야 한다.

  > AP는 단말이 자신에게 속해 있는 단말인지 판단을 할 수 있어야 한다.

 - 데이터의 암호화를 위한 키 분배



* Wireless LAN security protocol

 ⓐ WEP(wired equivalent privacy)

  - 기밀성, 단말의 인증, 데이터 무결성이 가능 / AP인증은 불가능하다.

  - AP내의 모든 단말들은 동일한 키를 사용한다.

  - 스트림 방식의 대칭키 알고리즘을 사용한다.

  - nonce와 대칭키를 이용하여 단말을 인증

   >AP와 단말은 서로 같은 대칭키를 같고 있다는 전제가 필요하다.(프로그램이 설치될때 자동으로 설치 될 것이라는 가정)

  - 인증 순서

   1) 단말은 AP에게 자신이 접속하고자 한다는 메세지를 보낸다.(Authentication request)

   2) AP는 단말에게 nonce 값을 보낸다.

   3) 단말은 받은 nonce 값을 서로공유 하고 있는 대칭키를 이용하여 암호화 시켜 전송한다.

   4) AP는 받은 암호문을 복호화하여 자신이 보낸 nonce값과 비교하여 인증 여부를 결정한다.

  - AP가 단말을 인증하며, 단말이 AP를 인증하진 않는다.

  - 암호화 과정

   1) 단말과 AP는 서로 공유하고 있는 WEP대칭키를 수동으로 부여 받는다.(설치시 부여 받음)

   2) 송신 노드는 데이터의 CRC-32를 계산하여 ICV로 사용한다.

    ※ ICV : 데이터 무결성을 보장해주기 위해서 사용한다.

   3) 송신 노드는 각 프레임마다 복호화시 사용할 IV값을 생성하여 Key에 연결하여 Key ID를 만든다.

    ※ IV : 프래임마다 새로 생성하여 상대에게 전달해준다.

   4) IV값을 서로 공유하고 있는 스트림 대칭키 생성장치에 집어넣어 key stream을 구한다.

   5) data와 ICV값을 key stream(RC4)을 이용하여 암호화 한다.

  - 복호화 과정

   1) IV값을 추출한다.(암호화 되지 않았기 때문에 IV값을 추출할 수 있다.)

    ※ 이 것이 IV값을 암호화 하지 않은 이유가 된다.

   2) IV값을 서로 공유하고 있는 스트림 대칭키 생성장치에 집어넣어 key stream을 구한다.

   3) key stream과 암호화된 부분(data와 ICV)을 복호화 한다. (RC4 이므로 XOR연산 실시)

   4) ICV를 이용하여 데이터 무결성을 검증한다. // 현재 상황에서 보면 이보다 해쉬가 더 좋다.

  - 단점

   > IV값으로 24bit을 사용하는데 이는 사용하기에 너무 짧고, 동일한 IV값이 사용될 가능성을 높인다. 

   > 또한, IV값을 평문으로 전송하기 때문에 IV값의 재사용 여부를 알 수 있다.

   > 공격자는 자신이 잘알고 있는 평문을 전송하여 만들어진 암호문을 받는다.

      원문과 암호문을 알고 있는 공격자는 키스트림을 구할 수 있다. 또한, IV값도 볼 수 있다.

      송신자가 다른 매체에게 전송을 할 때 IV값이 동일한 것을 공격자가 확인하면,

      공격자는 이전에 구해 놓은 키스트림을 이용하여 복호화를 할 수 있다.

 ⓑ 802.11i

  - 단말과 AP의 상호 인증(WPA, wireless protection access)은 두가지 형태로 이뤄진다.

   1) WPA 개인 인증 방식

   2) WPA 기업(Enterprise Network에서 특정 인증 서버를 이용하여 인증하는 방식)

  - 2개의 대칭키 알고리즘을 가지고 있다.

   1) TKIP = WPA1 : 스트림 알고리즘을 사용하며, IV값을 WEP의 2배인 48bit로 사용한다.

   2) CCMP = WPA2 : 블록 암호화 알고리즘이며, AES와 유사하다.

  - 802.11i 상호인증 및 키 생성 방법

   


  - 인증 서버를 이용한 상호인증

   > 단말과 인증 서버간의 상호인증을 실시한후, 서버가 AP에게 결과를 통보해주는 방식

   > EAP(extensible authentication protocol) : 인증 메세지 및 메세지에 저장할 정보를 규정하는 프로토콜

      (TCP 계층에서 추가적으로 RADIUS, DIAMETER 프로토콜이 추가로 사용된다.)