인증단계-IEEE802.1x①
이전 기고 글을 통해서 ‘무선랜 보안’이라는 산에 첫발을 내딛는 의식으로써 무선랜 실무 운영 상식과 근본적인 보안랜 보안의 취약성 및 종류, Wi-Fi / IEEE802.1x 등의 용어 정의, 대표적인 무선랜 보안 솔루션 종류 및 비교 등을 다루었다. 이번 에는 무선랜 보안의 시발점이라 볼 수 있는 IEEE802.1x 기술 개요에 대해서 알아보도록 하자. 이번에 다룰 IEEE802.1x는 무선랜 보안인프라 구현 3단계인 사용자 인증·암호 키 관리·암호화 적용의 첫 단계인 만큼 명확한 이해가 요구되니 천천히 심호흡을 하고 한발자국씩 전진해 보도록 하자.
IEEE802.1x는 IEEE 802위원회(랜 표준화 담당)에서 제정한 ‘포트 기반 네트워크 접속 제어(port-based network access control)’ 기술의 표준이다.(IEEE는 미국 전기전자 공학자 협회로 미국 상무성 산하 표준국인 NIST와 더불어 미국 표준을 주도하는 미국 산업표준 단체이다. 미국 표준을 가장 많이 수용하고 있는 국내 입장에서는 준 국제표준화 기구 정도의 위상을 가지고 있다. 포트란 802.1x 표준을 준수하는 L2 swtich의 물리적 포트 또는 무선 AP 장치의 가상 포트 하나를 의미한다.)
IEEE802.1x(이하 802.1x)의 구성요소는 인증요청자(Supplicant)와 인증자(Authenticator) 그리고 인증서버(Authentication Server)로 구성된다.
▲IEEE802.1x 네트워크 보안 표준의 구성요소
이 중 인증 요청자는 주로 무선 단말기에서 OS Network Service(e.g. Windows WZC Service) 내지 무선 인증시스템의 Agent가 그에 해당하며 스마트폰 등에서 기본 제공되는 1x / WPA supplicant 역시 인증요청자에 해당된다.
인증자는 인증요청자의 인증요구를 중계하여 인증서버에 인증 요청을 대행하는 역할을 한다. 인증서버에 인증에 대한 질의를 실질적으로 전송한다는 의미에서 인증자라 불리운다. 대부분의 경우 인증요청자와 인증자는 동일한 경우가 많지만 802.1x는 인증요청자와 인증자가 분리되어 있어 사용자에게 약간의 혼동을 준다.
해당 사유의 기원은 유선 전화기(PSTN)를 사용하는 모뎀 사용자에 대한 인증 시절로 올라간다. 컴퓨터 모뎀은 PSTN을 사용함으로 그 시절 기업용 전산 시스템으로 도입되기 시작했던 TCP/IP 사용 유닉스 서버 등에 직접 접속되지 못하였고 접속 대행 역할을 하였던 RAS (Remote Access Server; 기업용 집합형 모뎀을 내장하였고 TCP/IP 네트워크로의 중계 기능을 담당), NAS(Network Access Server) 장비를 필요로 하였다.
이처럼 RAS/NAS 장비는 TCP/IP 네트워크로의 접속 이외에도 인증서버인 RADIUS에 모뎀 유저의 인증 요청을 대행하는 역할 또한 수행하였다. 이렇게 인증요청자(모뎀 사용자)와 인증자(RAS/NAS)가 분리된 네트워크 환경 하에서의 인증체계를 유사하게 가지고 있는 랜 사용자 인증(802.1x) 또한 이러한 모뎀 사용자 인증 기술 체계를 도입하는 것이 가장 효율적이었기 때문이다. 즉 802.1x는 L2 레벨의 사용자 인증 기술로써, IP 주소를 받기 전 단계인 데이터링크 계층에서 TCP/IP를 사용하는 인증서버에 사용자 인증 요청을 중계 하려니, L2 스위치 장비나 무선 AP 장비를 NAS 장비(인증자) 역할을 담당하게 하는 인증요청 중계 기술체계를 차용할 수 밖에 없었던 것이다.
▲모뎀 사용자 인증 개념도
802.1x에서 인증서버는 위에서 언급하였던 인증요청자와 인증자가 분리되어야 하는 상황에서의 인증 요청을 수용하는 표준 인증서버인 RADIUS(Remote Authentication Dial-In User Service; 프로토콜 이름 자체가 원격 전화 접속 인증용이라 설명하고 있다)가 사용되어 진다. 물론 RADIUS 또한 RFC3580 스펙을 추가로 수용한 802.1x 표준 수용 RADIUS 서버이어야 한다. 802.1x에서처럼 인증요청자와 인증자가 분리되어야하는 네트워크 환경에서 사용 가능한 프로토콜에는 Diameter(지름:RADIUS를 반지름으로 정의한다면 이를 보완했다는 개념에서 지름이라는 프로토콜 명칭으로 정해졌다. WiBro 인증 등에서 사용됨) 인증 프로토콜 등이 있겠으나 802.1x에서는 RADIUS 인증서버가 표준으로 사용된다고 보면 되겠다.
구성요소간 통신 프로토콜
통신에는 공히 EAP가 사용되지만 인증요청자와 인증자 사이에는 L2레벨 통신인 EAPoL(Extensible Authentication Protocol over LAN)이, 인증자와 인증서버 사이에는 EAPoRADIUS(UDP) 통신이 사용되어 구간마다 사용 프로토콜에 차별성이 존재한다(예외적으로 Cisco에서는 인증요청자와 인증자 사이에 EAPoUDP라는 새로운 프로토콜을 만들어 사용하나 이는 비표준이므로 논외로 하며, EAP에 대하여는 추후 상술하기로 하겠다).
초기 인증 흐름
그림 4는 무선랜에서의 802.1x가 체계가 도입된 후의 사용자 인증에 대한 초기 인증 흐름도이다. ①무선 단말기(노트북 또는 스마트폰의 인증요청자)의 사용자에 대한 인증요청을 ②NAS 장비인 무선AP 장비(인증자)가 인증서버(RADIUS)로 대행 전달한다. ③인증서버에서는 인증 성공(ACK)/실패(NAK) 여부를 인증자에게 전달하여 주면 ④인증자는 성공한 사용자에게는 포트를 열어주고 실패한 사용자에게는 포트를 닫아 네트워크를 차단(차단은 기본적인 정책으로 다른 응용 방안에 대해서는 다음 호에서 논의한다)한다. 무선에서는 추가적으로 포트 오픈과 동시에 암호화 키 전송과 그 다음 단계로 무선통신 구간 암호화 적용이 수행되어 진다.
▲무선랜에서 IEEE802.1x 사용자 인증 개념도
802.1x 기술에 대한 설명
이 섹션에서는 802.1x 보안표준 기술에 대한 몇 가지 추가적인 정보에 대하여 전달하여 802.1x 기술에 대한 실질적인 이해를 높이고자 한다. 802.1x 보안표준은 IP 주소를 받기 이전에 사용자 인증을 완료해야하는 보안성이 가장 뛰어난 L2 레벨 사용자 인증기술이다. 이점은 가장 큰 장점이지만 동시에 불편한 이면도 존재하니 반드시 장·단점을 머리속으로 이해를 해야한다. 특히나 인증에 대한 개념이 잘못 인식되어 있는 고객 혹은 영업분들 중에는 L2레벨 인증에 대해 아무리 설명해도 이해를 못하시는 분들이 계시므로 독자께서 완벽한 이해를 해야 설명이 가능하리라 생각된다.
802.1x와 MAC filtering, port blocking, RADIUS 속성 이용 MAC 식별 기능 들과의 근본적인 차이점은 무엇일까? 정답은 ‘사람’이다. 802.1x 이외의 기능은 장비 자체의 단순한 차단 기능으로 사용자 인증이라는 개념이 포함되어 있지 않다.
802.1x 보안표준는 랜 표준화 위원회인 802에서 제정한 표준이기 때문에 모든 네트워크 장비 벤더의 기업용 네트워크 장비군에서는 2004년도부터 지원해왔다고 보면 무리가 없다. 다만 3Com 등의 SOHO용 switch에는 해당 표준을 준수하지 않는 경우가 많으며, 802.1x는 L2레벨 기술이므로 전기적 신호만 오가는 L1 레벨 장비인 dummy hub에는 당연히 해당 기능이 존재하지 않으므로 주의를 요한다. 단말 OS나 NIC 장치 드라이버 역시 802.1x를 지원해야 하므로 최신 드라이버 사용을 권장하며, 802.1x 적용 시 단말 환경이 너무 구형인 경우 사전조사를 철저히 수행하여야 시스템 도입·구축에 지장이 없게끔 하여야 한다.
인증요청자(suppliant)는 주로 인증시스템의 agent로 구현되나, 최근에는 기본적으로 제공하는 인증요청자로도 대부분의 사양을 지원하기에 추가적인 agent가 필요 없는 경우가 많다. 하지만 꼭 추가적인 Agent가 필요한 경우가 있는데 첫 번째는 사용자DB의 패스워드 컬럼이 해슁 등으로 인하여 직접적으로 인증 요청된 패스워드와 비교할 수 없는 경우 추가적으로 agent를 사용(EAP-GTC, EAP-TTLS/PAP 등 텍스트 기반으로 운영되는 특정 EAP를 지원하는 agent)하여야 하는 경우이다. 인증요청자 SW 구현의 관건은 얼마나 많은 유용한 EAP-method를 지원하는가에 주된 의미를 두어야 한다.
두 번째는 고객사에 기 구축 운영중인 EAM/PKI 등의 인증체계에 대한 인증 통합 또는 AD 등의 백엔드(back-end) 사용자DB에 대한 연동 이슈가 있는 경우이다. 세 번째는 agent만의 고유 추가 기능이 필요한 경우인데 벤더사마다 제공 기능이 다를 수 있다. 예를 들어 단말의 DHCP 설정 강제 기능, 무선 IP 자동 로밍, 좀 더 자세한 접속 불가 사유에 대한 로깅 기능 등이 이에 해당한다.
인증자(Authenticatior)는 802.1x 체계의 구성 요소를 이루는 필수적인 요소이지만 하는 수행하는 역할을 그다지 많지 않다. 인증요청에 대한 중계와 차단 행위 등이 전부이다. 한 가지 알아두어야 할 사항은 인증자는 EAP만 지원하면 되며, EAP 안에 수납되는 세부적인 EAP-Method (e.g. md5_challenge, CHAP, MSCHAPv2, TLS 등) 까지는 몰라도 된다는 것이다. 이는 802.1x 세 구성 요소 중 인증요청자와 인증서버만이 세부적인 EAP-Method를 지원하면, 인증자에서는 EAP란 프로토콜 프레임만 알면 firmware update없이 편리하게 모든 인증요청 대행 업무를 수행할 수 있는 메커니즘으로 체계가 구현되어 있음을 의미하는 것이다.
AAA서버로는 Cisco의 TACACS+/TACACS와 MIT의 KERBEROS, RADIUS 등이 대표적이며, 802.1x에는 인증요청자와 인증자가 분리된 네트워크에서의 사용자 인증을 지원하는 RADIUS가 사용된다. 802.1x에서 통신 프로토콜로 사용되는 EAP는 원래 PPP(Point-to-Point Protocol)라는 범용 L2 레벨 통신 프로토콜에서 사용되는 것이었으나 유사한 환경적·기술적 특성을 보유한 802.1x LAN 기술에서도 차용하게 되었다.
그럼 문제점은 없는가? 아쉽게도 ‘그렇다’라고 답은 못하지만 적절한 대응방안은 존재한다.
- 802.1x 기술은 IP 주소를 받기 이전에 사용자 인증을 완료해야 하기 때문에 Agent를 추가적으로 사용하는 경우, agent 배포/설치의 어려움: AP/Controller의 Web redirection 기능으로 대응
- AD 도메인 조인 단말의 로그인 이슈: Gina 통합, EAPHost SSO 기능 적용 또는 AD 인증 전 자동 오픈 후 1x 재인증 등의 방안으로 대응
- 인증서버 장애 이슈: HA / SLB / DB replication / Proxy 방안 제공
- 공유기 등 NAT 장치에 대한 이슈: 현재까지의 1x 표준으로는 대응책이 없음
- 가장 큰 이슈는 프린터 등 agent 미설치 단말에 등에 대한 사내 네트워크 팀과 보안팀 간의 헤게모니 싸움으로 인한 시스템 구축 및 적용 지연: 인증 대행 장치의 추가 적용 또는 해당 접속 포트에 대한 1x 기능 해제로써 대응
802.1x 기술, LAN 상에서 강력한 보안 제공
위에서 언급한 바와 같이 802.1x 기술은 LAN 상에서 가장 강력한 보안을 제공할 수 있는 네트워크 보안 표준이다. 사용자 기반으로 비인가 사용자 / 비인가 단말을 원천 차단할 수 있는 근거를 제공하며 군에서는 해당 기능을 근본적인 해커의 IP/MAC 변조 방지를 위한 최선의 대안으로 지목하기도 하였다.(※주3. L3 레벨 이상의 사용자 인증기능 및 IP/MAC 식별 기능으로는 인증받은 단말에 대한 IP/MAC 변조를 근본적으로 방어하기 어려운 보안 취약점이 존재한다.)
하지만 802.1x 또한 완벽한 기술 체계는 아니다. 2001년도 표준 리비전의 약점인 암호화 키 교환에 대한 취약점을 802.1aa 표준을 흡수하면서 MitM 공격 / Session Hijacking 취약점을 보완, 2004년도 표준으로 발전시켰던 것처럼 지속적으로 약점을 보완하면서 발전하고 있는 체계인 것이다. 802.1x의 최신 리비전은 현재 802.1x-2010으로 표준 승인 대기 중(공표되지는 않은 상태)이며, 해당 리비전은 ‘802.1AE MAC Security’ 등을 추가적으로 지원할 예정이다.
얼마간의 헤게모니 싸움으로 인하여 최상의 네트워크 보안을 포기하고 L3 레벨인 IP 인증, L7 레벨인 application(Web) 인증 등으로 보안성을 약화하고 편이성을 추구(유선에서는 선택이 가능하지만 무선에서는 1x 적용은 필수 사항이다)할 것인지는 보안 담당자가 자사의 네트워크 현황을 파악하여 현명하게 결정하기를 바란다.
[글 _ 장성일 유넷시스템 전략제안팀 부장/팀장(sijang7@unet.kr)]
<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>