228. EAP-MD5 - 취약, 권장되지 않음
⚠️ 이 문서는 기업의 무선 랜(Wi-Fi)이나 유선 스위치(802.1X NAC) 인증에서, 클라이언트의 비밀번호를 확인하기 위해 가장 초창기에 등장했던 방법이지만, **인증 서버가 진짜 본사 서버인지 검증(상호 인증)하는 기능이 아예 없고 통신 과정의 비밀번호 암호화 수준이 형편없어서, 해커의 가짜 Wi-Fi(Rogue AP) 공격에 속수무책으로 털리기 때문에 현대 보안 인프라에서는 절대 사용해서는 안 되는 퇴출 대상 1호인 'EAP-MD5'**를 다룹니다.
핵심 인사이트 (3줄 요약)
- 본질: EAP라는 배달 봉투에 사용자의 아이디와 비밀번호를 담을 때, 단순히 MD5라는 낡은 해시(Hash) 함수로 비밀번호를 한 번 비벼서(암호화 아님) 인증 서버에 툭 던져주는 가장 원시적인 검증 프로토콜이다.
- 가치 (치명적 한계): 클라이언트(직원 PC)가 자기가 접속하는 Wi-Fi 공유기나 스위치가 '진짜 우리 회사 장비인지' 확인할 방법이 없다. 인증서를 전혀 사용하지 않기 때문이다.
- 기술 체계: 찰린지-리스폰스(Challenge-Response) 방식을 쓰지만, 양방향(Mutual) 인증이 아닌 서버 측의 단방향(One-way) 인증만 지원하며, 무선 전파 구간에 데이터 암호화 키를 던져주지 못해 Wi-Fi(WEP/WPA) 환경에서는 쓸 수 없는 태생적 하자를 가졌다.
Ⅰ. EAP-MD5의 순진한 대화법 (Challenge-Response)
서로를 믿지 못하는 네트워크 세상에서 너무나 순진한 신원 확인법이다.
- 비밀번호를 생얼로 보내지 않기 위한 꼼수:
- 직원이 랜선을 꽂으면 스위치 너머의 인증 서버(RADIUS)가 묻는다. "네 신분증(ID) 좀 줘봐."
- 직원이 "나 홍길동이야"라고 보내면, 서버는 "그래? 그럼 내가 이 쓸데없는 텍스트 조각(Challenge 값, 난수)을 하나 줄 테니, 네 비밀번호랑 섞어서 믹서기(MD5 해시 함수)에 한 번 돌려서 나한테 보내봐(Response)."라고 한다.
- 직원이 해시값(알아볼 수 없는 글자)을 만들어 서버로 보낸다. 비밀번호 자체를 인터넷 선으로 날리지 않았으니(평문 노출 방지) 나름 훌륭해 보였다.
- 서버의 단독 심사 (단방향 인증):
- 서버는 자기 DB에 저장된 홍길동의 비밀번호와 방금 자기가 보낸 텍스트 조각을 똑같이 믹서기(MD5)에 돌려보고, 직원이 보내온 해시값과 똑같으면 "오, 비밀번호 아는 놈 맞네, 문 열어!"라며 통과시킨다.
📢 섹션 요약 비유: 군대 초소에서 암구호를 대는 것과 같습니다. 초병(서버)이 "화랑!(Challenge)" 하고 외치면, 간첩인지 아군인지 모르는 행인(사용자)이 자기 머릿속에 있는 비밀번호를 섞어 "담배!(Response)"라고 대답합니다. 초병은 대답이 맞으면 문을 열어줍니다. 내 비밀번호 원본을 입 밖으로 내뱉진 않았지만, 아주 단순한 1차원적 문답 구조입니다.
Ⅱ. 치명적 붕괴: 가짜 AP(Rogue AP)의 유혹
"초병이 간첩 변장한 놈인지, 행인이 어떻게 안단 말인가?"
- 서버 인증의 부재 (상호 인증 불가):
- EAP-MD5의 가장 끔찍한 구멍은 **'직원 PC는 방금 나에게 난수(Challenge)를 던진 저 인증 서버가 진짜 우리 회사 본사 서버인지 검증할 권한과 기능이 아예 없다'**는 점이다.
- 해커의 이블 트윈 (Evil Twin) 공격:
- 해커가 사내 카페테리아 구석에 노트북을 켜고 회사 Wi-Fi 이름(SSID:
Company_WIFI)과 똑같은 가짜 공유기(Rogue AP)를 띄운다. - 지나가던 직원 스마트폰이 이 빵빵한 가짜 Wi-Fi를 진짜 회사망인 줄 알고 덜컥 접속한다.
- 가짜 Wi-Fi(해커)는 가짜 인증 서버 행세를 하며 "안녕? 난수 줄 테니 네 비밀번호 섞어서 MD5 해시 만들어서 내놔"라고 요구한다.
- 바보 같은 스마트폰(EAP-MD5 클라이언트)은 의심 없이 섞어서 던져준다.
- 해커가 사내 카페테리아 구석에 노트북을 켜고 회사 Wi-Fi 이름(SSID:
- 오프라인 무차별 대입 (Dictionary Attack):
- 해커는 해시값을 낚아채어 집에 돌아간다. 그리고 해커의 고성능 GPU 컴퓨터를 돌려
비밀번호 1234 + 난수,비밀번호 qwer + 난수를 1초에 수억 번씩 MD5 믹서기에 돌려보며, 직원이 보낸 해시값과 일치하는 순간을 찾아내어(사전 공격) 직원의 진짜 평문 비밀번호를 알아내 버린다.
- 해커는 해시값을 낚아채어 집에 돌아간다. 그리고 해커의 고성능 GPU 컴퓨터를 돌려
📢 섹션 요약 비유: 회사 정문 초병 자리에, 도둑(해커)이 군복을 훔쳐 입고 서 있습니다(가짜 AP). 도둑이 직원에게 다가가 당당하게 "암구호 대라!"라고 소리칩니다. EAP-MD5는 직원이 도둑의 뺨을 때리며 "너 가짜 초병이지? 네 경찰 신분증(인증서) 먼저 까봐!"라고 요구(서버 검증)할 능력이 아예 없습니다. 그래서 도둑에게 순순히 암구호(해시값)를 넘겨주고 모든 비밀을 털리는 멍청한 프로토콜입니다.
Ⅲ. 무선(Wi-Fi) 생태계에서의 퇴출과 대안 (EAP-TLS/PEAP)
안전한 터널을 뚫기 위한 '키(Key)'를 쥐여주지 못하는 절름발이.
- 무선 데이터 암호화 키 생성 불가:
- 회사 유선 랜(스위치)에서는 한 번 인증이 끝나면 포트만 찰칵 열어주면 그만이다.
- 하지만 공중에 전파가 둥둥 떠다니는 무선 Wi-Fi 환경에서는, 인증 통과 후 스마트폰과 무선 공유기(AP)가 서로 **'우리 둘만 아는 암호화 통신 키(세션 키)'**를 나눠 가져야 한다. (안 그러면 공중파를 해커가 다 도청함)
- 치명적이게도 EAP-MD5는 인증만 띡 하고 끝날 뿐, 이 중요한 암호화 통신 키를 동적으로 생성해서 던져주는 기능 자체가 아예 없다. 그래서 802.1X 무선 랜 보안 규격(WPA/WPA2 Enterprise)에서는 EAP-MD5의 사용을 아예 스펙상으로 금지하고 막아버렸다.
- 보안 진화의 결론 (PEAP와 EAP-TLS의 천하 통일):
- 이런 EAP-MD5의 쓰레기 같은 약점(서버 검증 불가, 스니핑 취약)을 해결하기 위해, 현대 기업들은 반드시 인증 서버 측에 '공인 인증서(Certificate)'를 달아두는 PEAP나 EAP-TLS로 100% 넘어왔다.
- "너 우리 회사 진짜 서버 맞아? 인증서 까봐! 오, 맞네. 그럼 우리 둘이 절대 안 털리는 TLS 캡슐(장갑차 터널)을 씌운 다음에 그 안으로 내 비밀번호 던져줄게!"라는 2중 방어 구조가 오늘날 보안의 기본 상식이다.
📢 섹션 요약 비유: EAP-MD5는 옛날 옛적 낭만이 있던 시절, 담벼락 하나 없는 공터(무선 환경)에서 자물쇠(암호 키 생성 기능)도 없이 그냥 "너 우리 동네 사람 맞냐?" 얼굴만 대충 확인하고 지나가게 하던 허술한 동네 규약입니다. 흉악범(해커)이 판치는 현대 사회에서는 무조건 방탄유리 터널(PEAP/TLS)을 짓고 양쪽의 주민등록증(인증서)을 스캐너로 깐깐하게 찍어야만 대화를 허락하는 독한 방어막을 쳐야 합니다.