봄수의 연구실

IEEE 802.11i 무선 LAN 보안 본문

Computer Science/Security

IEEE 802.11i 무선 LAN 보안

berom 2023. 6. 3. 12:18

IEEE 802.11i 무선 LAN 보안

유선 LAN과 다른무선 LAN만의 특징이 있습니다

  • 다른 장비의 통신 범위 내에 들어오는 모든 지국은 송신이 가능합니다.
  • 무선 신호 범위에 들어 있는 모든 지국은 수신이 가능합니다.

무선 LAN의 취약점

  • 무선 LAN의 경우 강한 보안 서비스와 보안 메커니즘이 필요합니다.
  • 원래 802.11 규격에 명시된 프라이버시와 인증을 위한 보안 기능은 매우 취약합니다.
  • 802.11:
    • WEP(Wired Equivalent Privacy) 알고리즘을 정의합니다.
  • 802.11i 작업 그룹:
    • WEP 개발 이후 WLAN 보안 문제를 해결하기 위해 여러 가지 기능을 개발합니다.
  • Wi-Fi 연합:
    • Wi-Fi 표준인 WPA(Wi-Fi Protected Access)를 공표합니다.

IEEE 802.11i 서비스

802.11i RSN(Robust Security Network) 보안 규격

  • 접근 제어
    • 인증 기능을 사용하며, 적절한 메시지 라우팅과 키 교환을 통해서만 구현됩니다.
    • 다양한 인증 프로토콜을 사용하여 이 기능을 구현할 수 있습니다.
  • 메시지 무결성을 통한 프라이버시
    • MAC 계층 데이터(예: LLC PDU)와 데이터의 무결성을 확인할 수 있는 메시지 무결성 코드를 함께 암호화하여 보호합니다.
  • 인증
    • 프로토콜을 이용하여 사용자와 AS(Authentication Server) 간에 상호 인증을 수행하고, 클라이언트와 AP(Access Point) 간에 사용할 임시 키를 생성합니다.

IEEE 802.11i 동작 단계

IEEE 802.11i RSN은 서로 다른 5단계 동작으로 나눠진다
이 단계의 구체적 특성은 구성과 통신 단말에 따라 달라진다

구성 방법의 종류

  • 동일한 BSS에 있으면서 접근 지점(AP)을 통해 통신하는 두 지국(STA: Station).
  • 동일한 IBSS(Independent Basic Service Set)에 있으면서 직접 상호 통신하는 두 지국(STA).
  • 서로 다른 BSS에 있으며 분산 시스템을 통해 각각의 AP를 경유해 통신하는 두 지국.
  • AP와 분산 시스템으로 연결된 유선 네트워크상의 종단 지국과 통신하는 무선 지국.

동작 단계

1. 탐색


한 AP는 "Beacon"과 “Probe Response” 메시지를 이용하여 802.11i 보안 정책을 브로드캐스트합니다.
STA는 이 메시지를 통해 현재 통신을 원하는 WLAN의 AP를 찾습니다.
STA는 찾아낸 AP와 연관 설정합니다.

  • "Beacon"과 “Probe Response” 메시지에서 선택을 요구하면 STA는 이 연관을 이용하여 암호 도구와 인증 메커니즘을 선택합니다

보안 기능
STA와 AP는 다음의 영역에서 구체적으로 사용할 기술을 결정합니다

  • 유니캐스트 트래픽(오직 STA와 AP 사이의 트래픽)을 보호하기 위한 기밀성과 MPDU 무결성 프로토콜
  • 인증 방법
  • 암호 키 관리 방식
    AP가 결정하는 사항
  • 멀티캐스트와 브로드캐스트 트래픽을 위한 기밀성 및 무결성 프로토콜은 AP가 결정합니다.
  • 이는 하나의 멀티캐스트 집단에 속한 모든 STA가 동일한 프로토콜과 동일한 암호 기술을 사용해야 하기 때문입니다.
    암호 도구
  • 프로토콜의 규격에는 합의된 키 길이와 같은 변수 지정도 포함됩니다.
  • 기밀성과 무결성 보호를 위한 암호 도구 옵션은 다음과 같습니다:
    • WEP(Wired Equivalent Privacy): 40비트 혹은 104비트 키를 사용하며, 이전의 IEEE 802.11 구현과 호환됩니다.
    • TKIP(Temporal Key Integrity Protocol)
    • CCMP(Counter Mode with Cipher Block Chaining Message Authentication Code Protocol)
    • 제작사별 방법: 일부 제조업체는 독자적인 암호화 및 보안 기술을 제공할 수 있습니다.

인증 및 키 관리 도구(AKM : Authentication and Key Management) 도구
AKM은 아래 2가지를 정의 합니다

  • AP와 STA의 상호 인증 수단
  • 기타 키 생성에 사용할 루트 키를 만드는 수단

AKM 도구 목록은 아래와 같습니다

  • IEEE 802.1X: 네트워크 접근 제어를 위한 표준 인증 프레임워크로, STA와 AP 간의 상호인증을 수행합니다.
  • 사전-공유키: STA와 AP가 이미 유일한 비밀키를 공유하고 있다면 별도의 인증 과정 없이 상호인증이 성공한 것으로 간주됩니다.
  • 제조업체별 방법: 일부 제조업체는 독자적인 인증 및 보안 방법을 사용할 수 있습니다. 이는 IEEE 802.1X 이외의 방식으로 상호인증을 수행할 수 있음을 의미합니다.

MPDU 교환
네트워크와 보안 기능 탐색

  • STA:
    • 통신할 때 사용할 네트워크의 존재를 확인합니다.
  • AP:
    • 주기적으로 RSN IE(Robust Security Network Information Element)로 표현된 자신의 보안 기능을 Beacon 프레임을 통해 특정 채널로 브로드캐스트합니다.
    • 지국의 Probe Request에 대해 Probe Response 프레임으로 응답합니다.
  • 무선 지국:
    • Beacon 프레임을 수동적으로 모니터링합니다.
    • 능동적으로 모든 채널을 검사하여 사용할 수 있는 AP와 대응되는 보안 기능을 탐색합니다.

개방 시스템 인증

  • 핵심은 두 장치(STA와 AP)가 단순히 식별자만을 교환
  • IEEE 802.11 장비와의 하위 호환성
    • 이 프레임 순서는 보안을 제공하지 않습니다.
    • 목적은 기존의 IEEE 802.11 하드웨어와의 호환성을 유지
      연관
  • 목적은 앞으로 사용할 보안 기능에 대한 합의를 이루는 것입니다.
  • STA는 AP로 ‘Association Request’ 프레임을 전송합니다.
  • STA는 AP가 브로드캐스트한 도구 중에서 자신이 매칭해서 사용할 수 있는 보안 도구를 ‘Association Request’ 프레임에 명시합니다.
  • 매칭 도구는 다음을 포함할 수 있습니다:
    • 하나의 인증 및 키 관리 도구
    • 하나의 암호 도구 쌍
    • 하나의 그룹 키 암호 도구
  • 만약 AP와 STA 간에 공통적으로 존재하는 도구가 없다면, AP는 연관 요청을 거부할 수 있습니다.
  • STA의 연관 거절
    • STA는 정당하지 않은 AP와 연관이 될 경우 연관을 거절할 수 있습니다.
    • 채널에 정상적이지 않은 프레임이 발견될 경우에도 연관을 거절할 수 있습니다.

2. 인증

  • STA와 AS는 자신의 ID를 상호 인증합니다.
  • AP는 성공적으로 인증을 완료하기 전까지는 STA와 AS 사이에 인증과 무관한 통신이 이루어지지 않도록 합니다.
    • 인증을 통해 인증된 STA(지국)만이 네트워크를 사용할 수 있도록 제한됩니다.
  • AP는 STA와 AS 사이의 통신을 전달하는 역할을 하지만, 인증 과정에는 참여하지 않습니다.

IEEE 802.1x 접근 제어 방법

IEEE 802.11i에서 사용하는 LAN용 접근제어 표준은 IEEE 802.1X입니다.

  • IEEE 802.1X는 확장 인증 프로토콜(EAP: Extensible Authentication Protocol)에 의해 정의
  • 요청자(supplicant), 인증자(authenticator), 인증서버(AS: Authentication server) 존재

AS가 요청자 인증하기
인증자는 요청자와 AS(인증 서버) 사이에서 제어 및 인증 메시지를 전달합니다.
또한, 802.1X 제어 채널을 열어두고 있으며, 802.11 데이터 채널은 차단된 상태입니다.

  • 인증자는 요청자를 인증하고 키를 제공합니다.
  • 인증자는 사전에 정의된 네트워크 접근 제어 제한 범위 내에서 데이터를 요청자에게 전송합니다

이 때 데이터 채널은 열린 상태입니다.

포트란 무엇인가

  • 포트: 인증자 내부에 정의된 논리적 개체로서 물리적인 네트워크 연결
  • 인증자(AP)는 단 두 개의 물리 포트를 이용한다.
    • DS와 연결되는 포트와 BSS 내부 통신용 포트가 있다.
  • 논리 포트
    • 두 물리 포트 중 하나와 매핑된다.
  • 제어되지 않은 포트
    • 요청자와 다른 AS가 PDU 교환
    • 이 교환은 요청자의 인증 상태와는 무관하게 수행
  • 제어된 포트
    • 요청자와 LAN에 있는 다른 시스템 사이의 PDU 교환을 의미
    • 이 교환은 현재 요청자 상태가 이런 교환을 허용할 경우에만 가능하다.

MPDU 교환

  • AS에 연결
    • STA는 자신의 AP로 AS 연결 요청을 보낸다.
    • AP는 요청에 수신응답을 하고 AS로의 접근 요청을 전송한다.
  • ESP 교환
    • 이 교환을 통해 STA와 AS는 상호 인증을 수행한다.
    • 다양한 교환 방식을 통해 상호 인증이 가능하다.
  • 안전한 키 전달
    • 상호 인증이 완료되면, AS는 마스터 세션키(MSK: Master Session Key)를 생성
      • 이 키는 인증, 권한 부여, 계정(AAA: Authentication, Authorization, Accounting) 키라고도 한다.
    • AS는 이 키를 STA로 보낸다.

확장 인증 프로토콜(EAP) 교환

  • EAP(EAPOL: EAP over LAN) 프로토콜
    • STA와 AP 간의 메시지 전달에 사용되는 프로토콜이다.
    • EAP을 LAN 환경에서 사용하기 위한 프레임워크로, 인증 및 키 관리를 위한 프로토콜을 지원한다.
  • 원격 인증 전화접속 사용자 서비스(RADIUS: Remote Authentication Dial In User Service) 프로토콜
    • AP와 AS 간의 메시지 전달에 사용되는 프로토콜이다.
    • 이 프로토콜은 네트워크 액세스 서버(NAS)와 인증 서버 간의 통신을 위해 사용된다.
    • RADIUS는 인증, 권한 부여, 계정 정보를 관리하는 프로토콜이다.

EAPOL과 RADIUS 인증 교환 절차는 아래와 같다

  • EAP 교환은 AP가 ‘EAP-Request/Identity’ 프레임을 STA에게 전달한다.
  • STA는 응답으로 ‘EAP-Response/Identity’ 프레임을 제어되지 않은 포트를 통해 AP에게 전달한다.
    • 해당 패킷은 EAP 상의 RADIUS로 캡슐화되어 RADIUS-Access-Request 패킷 형태로 RADIUS 서버로 전달된다.
  • AAA 서버는 RADIUS-Access-Challenge 패킷으로 STA에게 응답한다.
    • 이 패킷은 EAP-Request로 STA에게 전달
    • 적절한 인증 유형을 포함한 관련된 챌린지 정보를 제공한다.
  • STA는 EAP-Response 메시지를 작성하여 AS에게 전송한다.
    • AP는 이 응답을 데이터 필드의 하나로 챌린지 응답을 포함시킨 Radius-Access-Request로 변환한다.
    • 사용하는 EAP 방법에 따라 3번과 4번 과정을 여러 번 반복한다. TLS 터널링 인증의 경우에는 보통 10회에서 20회 정도 반복된다.
  • AAA 서버는 RADIUS-Access-Accept 패킷을 보내 접근을 허용한다.
    • AP는 EAP-Success 프레임을 전송한다.
    • 어떤 프로토콜은 TLS 터널 인증 과정에서 EAP 성공 여부를 확인한다.
    • 제어된 포트를 사용할 수 있게 되며, 사용자는 네트워크에 접근 가능

3. 키 관리(키 생성 및 분배)

  • AP와 STA는 몇 개의 동작을 통해 암호키를 생성하고 AP와 STA에 키를 배치

  • 프레임은 AP와 STA 끼리만 교환

  • 다양한 암호 키가 생성되고 STA로 분배

  • 분배되는 키에는 다음과 같은 종류가 있다:

    • 한 쌍의 쌍별 키: STA와 AP 간에 사용되는 개별적인 키이다.
    • 그룹 키: 멀티캐스팅 통신에 사용되는 키이다.

쌍별 키

  • 일반적으로 한 개의 STA와 한 개의 AP가 한 쌍의 장비 간 형성한다.
  • 쌍별 키는 마스터 키로부터 동적으로 생성되며, 각 쌍별 키는 일정한 계층을 형성한다.
  • 쌍별 키는 유효 기간 동안에만 사용되며, 기간이 만료되면 새로운 키가 생성된다.

키 계층
최상위 키는 네트워크에 참여하는 모든 장비 간에 공유되는 비밀키이다

  • 사전 공유 키(PSK)
    • AP와 STA가 미리 공유하는 키로, IEEE 802.11i 규정에 따라 사전에 두 장비에 설치되었다고 가정한다.
  • 마스터 세션 키(MSK)
    • IEEE 802.1X 프로토콜의 인증 단계에서 생성되는 키
    • AAAK(Authentication, Authorization, Accounting Key)라고도 불린다.

생성 된 최상위 키는 유일 키로서 AP는 각각의 STA와 유일한 키를 공유하고 그 킬로 통신
각각의 STA는 항상 한 세트의 키를 소유한다.
결론적으로 AP는 연관된 모든 STA 별로 한 세트의 키를 각각 소유한다

**쌍별 마스터키 (PMK : Pair Master Key)

  • 마스터 키로 생성
  • PSK를 사용한다면, PSK를 PMK로 사용
  • MSK를 사용한다면, MSK의 일부로 PMK를 제작
  • 마지막 인증 과정이 끝나면 AP와 STA는 PMK 공유

쌍별 임시 키

  • PMK로 PTK(개인 통신 키)를 생성

  • PTK는 실제로 3개의 키로 구성

    • STA와 AP가 상호 인증을 완료한 후에 이 3개의 키를 사용
  • PTK 계산

    • PMK, STA와 AP의 MAC 주소, 생성된 비표를 포함하여 HMAC-SHA-1 함수의 입력으로 사용하여 해시 값을 생성
    • STA와 AP 주소를 입력으로 사용하는 이유
      • 세션 하이재킹이나 위장을 방지하기 위함
    • 비표
      • 추가적인 키 생성에 필요한 랜덤 값을 제공하기 위해 사용
  • LAN 상의 EAP(EAPOL: EAP over LAN) 키 확인 키(EAPOL-KCK: EAPOL Key Confirmation Key)

    • RSN(로버스트 보안 네트워크) 설정 과정에서 STA와 AP 사이의 제어 프레임의 무결성과 데이터 출처 인증에 사용
    • 접근 제어 기능
    • PMK 소유 여부의 증명
    • PMK(사전 공유 키)를 소유한 개체에게 링크 사용을 허락
  • EAPOL 키 암호화 키(EAPOL-KEK: EAPOL Key Encryption Key)

    • RSN 연관 과정에서 키와 데이터의 기밀성을 보장
  • 임시 키(TK: Temporal Key)

    • 사용자 트래픽에 대한 실질적인 보호 제공

그룹 키

  • 그룹 키(group key):
    • 한 STA가 여러 개의 STA로 MPDU를 멀티캐스트
  • 그룹 마스터 키(GMK: Group Master Key):
    • 그룹 키 계층의 최상위에 존재하는 키
  • 그룹 임시 키(GTK: Group Temporal Key):
    • GMK와 다른 입력을 사용하여 생성
    • GTK는 AP가 생성해서 연관된 STA로 전달
    • 장비가 네트워크에 연결될 때마다 GTK가 새로 생성되어 사용

그룹 키 분배
AP는 GTK를 생성하고 멀티캐스트 그룹에 속한 각각의 STA에 분배

절차:

  • AP → STA:

    • GTK가 포함되는데 RC4나 AES로 암호화
    • 암호화에 사용되는 키는 KEK입니다.
    • MIC 값도 함께 전송
  • STA → AP

    • STA는 GTK에게 수신했다는 응답을 전송
    • 이 응답 메시지도 MIC 값을 포함
      쌍별 키 분배
  • STA와 SP는 4-웨이 핸드셰이크를 이용하여 PMK 존재를 확인

  • 선택한 암호도구를 점검

  • 다음 데이터 세션을 위해 새 PTK를 생성

쌍별 키 분배 4단계
1단계:

  • AP의 MAC 주소와 비표(Anonce)가 포함된 메시지를 STA로 전송
    2단계:
  • STA는 자신의 비표(Snonce)를 생성하고, 두 비표와 두 MAC 주소, PMK를 사용하여 PTK를 생성
  • STA는 자신의 MAC 주소와 Snonce를 포함하는 메시지를 AP에게 전송
  • 전송된 메시지에는 HMAC-MD5 혹은 HMAC-SHA-1-128을 이용한 메시지 무결성 코드(MIC)도 포함
  • MIC에 사용되는 키는 KCK
    3단계:
  • AP는 이제 PTK를 생성 가능하며, 첫 번째 메시지에 포함된 내용에 MIC를 추가한 메시지를 STA에게 전송
    4단계:
  • STA는 직전에 받은 메시지에 대한 간단한 수신 응답을 전송
  • 이 응답은 MIC에 의해 보호됨

4. 안전 데이터 전송

  • STA와 종단 지국은 AP를 통해 프레임을 교환합니다.
  • 안전한 데이터 전송은 STA와 AP 사이에서만 이루어집니다.
  • 종단-대-종단 전체에 보안이 제공되는 것이 아니라, 보안은 주로 STA와 AP 사이의 통신에 적용됩니다.
    TKIP
    WEP라고 하는 이전 버전의 LAN 보안 모듈만 구현하는 장비에서, 소프트웨어만 수정해서 동작할 수 있도록 설계
    TKIP가 제공하는 두 가지 서비스
  • 메시지 무결성(Message Integrity)
  • 데이터 기밀성(Data Confidentiality)

TKIP 메시지 무결성

  • TKIP는 802.11 MAC 프레임의 데이터 필드 뒤에 메시지 무결성 코드(MIC)를 첨부
  • MIC는 Michael 알고리즘을 사용
  • 입력값:
    • 목적지 MAC 주소
    • 데이터 필드
    • 키 값
  • 출력: 64비트

TKP 데이터 기밀성

  • MPDU와 MIC를 RC4로 암호화하여 데이터 기밀성 제공

256비트 TK 사용

  • 128비트
    • Michael 메시지 다이제스트 알고리즘으로 메시지 무결성 코드 생성
  • 앞 부분 64비트 키
    • STA-to-AP 메시지를 보호하기 위해 사용
  • 뒷 부분 64비트 키
    • AP-to-STA 메시지 보호
  • 남은 128비트
    • 전송 데이터를 암호화하기 위한 RC4 알고리즘의 키로 사용

단순 증가 TKIP 수열 카운터

  • 추가적 보호를 위해 단순 증가 TKIP 수열 카운터를 각 프레임에 지정
  • TSC의 목적
    • 재전송 공격 방어
      • TSC가 MPDU에 포함되어, MIC 보호를 받기 때문
    • 암호 해독 공격을 어렵게 한다
      • TSC가 TK와 조합되어 매 MPDU 전송마다 다른 키를 생성하기 때문

CCMP
제공 서비스

  • 메시지 무결성

  • 데이터 기밀성

  • 무결성과 기밀성 보호를 위해 128비트 AES 키 한 개만 사용

  • 재전 송 공격을 막기 위해 48비트 패킷 번호로 비표 생성

5. 연결 중단

  • AP와 STA가 프레임을 교환합니다.
  • 이 단계에서 안전한 연결이 해제되고 연결은 원래의 상태로 환원됩니다.

IEEE 802.11i 동작단계: 4-way 핸드셰이크와 그룹키 핸드셰이크


IEEE 802.11i 의사랜덤 함수


**의사 랜덤 함수(PRF)

  • 비표 생성
  • 쌍별 키 확장
  • GTK 확장
    HMAC-SHA-1를 이용하여 의사랜덤 비트 스트림 생성
  • 최소 160비트의 키를 이용하여 160 비트 해시 값 생성
    IEEE 802.11i PRF


CCMP 쌍별 임시 키 예시

비표와 그룹 임시 키 생성

레퍼런스

부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>

728x90

'Computer Science > Security' 카테고리의 다른 글

Secure MIME  (0) 2023.06.03
이메일 위협과 종합적 이메일 보안  (0) 2023.06.03
모바일 장치 보안  (0) 2023.06.03
무선 보안  (0) 2023.06.03
페이로드-공격 에이전트-좀비, 봇  (0) 2023.05.28