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로 보낸다.
- 상호 인증이 완료되면, AS는 마스터 세션키(MSK: Master Session Key)를 생성
- 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 쌍별 임시 키 예시
비표와 그룹 임시 키 생성
레퍼런스
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
'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 |