지난 시간에는 LTE 망과 Wi-Fi 망 간에 연동 구조에 대해 살펴 보았는데요.
오늘은 인증(Authentication)과 보안(Security)에 대해서 알아 보도록 하겠습니다. 이동 통신 기술에서의 인증과 보안(암호화/무결성 보호) 기술은 수많은 Key들과 알고리즘으로 인해 이해하기 참 쉽지 않은 분야라고 생각합니다. 오늘 설명 드릴 내용은 그런 복잡한 얘기는 제하고 쉽게 개념 위주로 설명 드리고자 합니다.
1. 인증 (Authentication)
■ 인증 정보는 누가 가지고 있나?
- UE는 USIM에 인증 정보가 들어 있고, 망은 HSS에 그 정보가 저장(Provisioning)되어 있습니다. 물론 UE 별로(IMSI 별로) 서로 다른 인증 정보를 가지고 있게 되구요.
- 따라서 UE가 LTE 망에서 인증을 받던, Wi-Fi 망(ePDG)에서 인증을 받던 UE는 USIM에 있는 정보를 이용하고, 망은 HSS에 있는 정보를 이용하게 됩니다.
■ UE가 LTE 망에 접속
■ UE가 Wi-Fi 망에 접속
- UE가 Wi-Fi 망에 접속 후, ePDG와 IKEv2 절차를 거치면서 두번의 인증 과정을 거치게 됩니다.
1) UE와 3GPP AAA간에 EAP-AKA를 이용한 상호 인증
- UE는 IKEv2 메시지에 EAP-AKA 메시지를 실어 ePDG로 보내고, ePDG는 IKEv2 헤더 제거 후 EAP-AKA 메시지를 Diameter 메시지에 실어 3GPP AAA로 보냅니다. (아래 그림 참조하세요)
- 3GPP AAA는 앞서 설명드린 MME와 동일한 방식으로 즉, HSS로 부터 인증 정보를 가져와서 UE와 3GPP AAA간에 상호 인증을 하게 됩니다.
2) ePDG가 IKEv2 과정에서 UE를 인증
- EAP-AKA 인증이 완료되면 UE는 AUTH 파라미터를 포함한 IKEv2 메시지를 ePDG로 보내고 ePDG는 AUTH 정보를 기반으로 UE를 인증합니다. (AUTH 파라미터의 구성을 알고 싶어 자료를 찾아 봤는데 토 나올만큼 복잡하더군요 -.-;;)
2. 보안 (Security)
하나 궁금한 점이 있어 질문 드립니다.
만약 단말의 IPSec 스텍에서의 암호화 처리에 성능 문제가 있다면,
(1) Wi-Fi 구간(단말과 AP)을 WPA2로 암호화하고 (와이파이 암호화는 칩에서 수행하니 성능 문제 없을 듯하구요)
(2) IPSec은 암호화 말고 무결성 보호만(IPSec AH Packet) 하면 되지 않을까요?
블로그글 "802.1x 기반의 Wi-Fi 인증 및 인터넷 액세스"(https://www.netmanias.com/bbs/view.php?id=blog&no=239 )를 보시면,
현재 통신사업자는 단일 AP에 여러개의 SSID를 통해 1x 기반의 인증 뿐만 아니라 웹인증 방식을 제공하고 있는게 현실입니다.
그리고 또 한가지의 문제는... (예를 들어 설명~)
KT 홈허브를 설치한 SOHO(음식점)에서는 손님들에게 Wi-Fi 무료 사용을 위한 KT_WLAN_xxxx 식의 SSID도 제공하지만, NESPOT, OllehWifi의 SSID도 제공을 합니다. 여기서 OllehWifi는 1x 기반의 인증 및 무선구간 암호화가 되는 건데요.
근데 이 음식점 주인이 아주 나쁜 사람이라서, KT 홈허브의 Uplink Ethernet Port를 통해 전달되는 패킷들을 Wireshark으로 다 캡쳐해 보는거죠. 즉, Wi-Fi의 1x를 통해 무선구간 암호화는 가능하지만 AP가 유선망과 연결되는 uplink port에 대한 보안(security)이 담보되지 못하는 상황이라면 통신사업자는 단말과 ePDG간에 IPSec을 통한 암화화를 적용할 수 밖에 없을 것으로 보입니다.
궁금한게 있어 질문 드립니다.
Wifi 인증에서 UE와 ePDG간 IKEv2가 적용된다면, UE는 ePDG의 IP를 알고 있어야 되는 거 아닌지요?
ePDG의 주소는 공개되어 있는건가요? 아님 UE에 저장되어 있나요? 아님 AP가 주나요?
4.5.4 ePDG Selection
The UE may select the ePDG by static configuration or dynamically.
If the ePDG needs to be dynamically selected the procedure is as follows:
- The UE constructs an FQDN using the HPLMN ID and employs the DNS server function to obtain the IP address(es) of the ePDG(s).
- The UE selects an ePDG address from the list returned in the DNS response and initiates the IPsec tunnel establishment.
이제 제 방식으로 이해하고 설명을 드려 보겠습니다. (넷매니아즈 고수님들! 혹시 제 설명에 오류가 있으면 코멘트 부탁드려요)
일단 단말이 LTE 망에서 전원을 켜든 Wi-Fi 망에서 전원을 켜든, 단말은 2개의 안테나(LTE & Wi-Fi)를 모두 키고(ON) 어느 무선 망에 접속할 건지 판단을 합니다.
Wi-Fi는 Hospot이므로 어떤 지역의 경우 Wi-Fi 신호가 안잡힐 수도 있지만 LTE는 전국망 서비스이므로 어디서든 신호를 잡을 수 있습니다.
1. 단말은 LTE 망에서 기지국(eNB)이 브로드캐스팅하는 PLMN ID를 수신합니다.
2. 이제 단말은 그 정보를 알게 됩니다.
(PLMN ID의 예: MCC는 “345”, MNC는 “12”)
3. 그리고 단말이 전원 ON 후에 바로 Wi-Fi망에 붙던, 아니면 LTE에서 Wi-Fi로 핸드오버를 하던 단말은 수신한 PLMN ID로 아래와 같은 FQDN을 생성합니다. (FDQN format은 TS23.003에 정의)
(FQDN 예: epdg.epc.mnc012.mcc345.pub.3gppnetwork.org)
4. 이제 단말은 FQDN으로 DNS Query를 하고 사업자의 DNS 서버가 ePDG 주소를 전달함