541. RADIUS (Remote Authentication Dial-In 고안 User Service) - UDP 기반 관리자/사용자 인증(AAA)
핵심 인사이트 (3줄 요약)
- 본질: RADIUS (Remote Authentication Dial-In User Service)는 사용자가 네트워크(Wi-Fi, VPN, 다이얼업)에 접속할 때 접근 서버(NAS)를 거쳐 중앙 서버에서 자격 증명을 수행하는 UDP (User Datagram Protocol) 기반의 1세대 AAA (Authentication, Authorization, Accounting) 프로토콜이다.
- 가치: 수백 개의 무선 AP(Access Point)나 VPN 장비마다 사용자 계정을 따로 만들 필요 없이, 하나의 RADIUS 서버(또는 AD 연동)로 수만 명의 인증을 중앙 통제할 수 있어 전사적 'Single Point of Management'를 달성한다.
- 융합: 초기 전화망 시대를 넘어, 현재는 802.1X 표준 무선랜(WPA2/3 Enterprise) 인증과 EAP (Extensible Authentication Protocol)를 운반하는 핵심 통신 규격으로 자리 잡았으며, TLS를 입힌 RadSec으로 보안성이 융합 발전하고 있다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
- 개념: RADIUS는 클라이언트/서버 구조를 띠는 네트워크 프로토콜로, 네트워크 접근을 요청하는 사용자(Supplicant)와 이를 수락하는 네트워크 장비(NAS: Network Access Server), 그리고 실제로 권한을 심사하는 RADIUS 서버로 구성된다. (인증/인가는 UDP 1812, 과금은 UDP 1813 사용).
- 필요성: 기업에 스위치가 10대, VPN 라우터가 5대, 무선 AP가 50대 있다고 가정하자. 직원이 입사하거나 퇴사할 때마다 65대의 장비에 접속해 ID/PW를 생성/삭제하는 것은 불가능에 가깝다. 장비들은 단순히 출입문 역할만 하고, "이 사람이 들어와도 됩니까?"라는 질문을 중앙의 '보안 경비실(RADIUS)'로 던져서 대답을 받게 하는 표준 언어가 필요했다.
- 등장 배경: ① 1990년대 초 모뎀 다이얼업 풀(Dial-up Pool)의 다수 사용자 인증 요구 → ② IETF RFC 2865, 2866 표준화 → ③ 무선 LAN(802.1X) 및 광대역 통신망의 폭발적 성장과 함께 범용 네트워크 접근 제어(NAC) 솔루션의 중추로 발전.
┌─────────────────────────────────────────────────────────────┐
│ 기존 독립 인증 방식과 RADIUS 중앙 인증 방식의 비교 │
├─────────────────────────────────────────────────────────────┤
│ │
│ [과거: 장비별 개별 인증] (관리 지옥) │
│ User A ──▶ [AP 1] (내부 DB 확인) ─▶ 접속 허용 │
│ User A ──▶ [VPN ] (내부 DB 없음) ─▶ 접속 거부 (계정 누락!) │
│ │
│ [현재: RADIUS 기반 중앙 집중 인증] │
│ User A ──▶ [AP 1 (NAS)] ─(RADIUS 프로토콜)─▶ ┌─────────┐ │
│ User B ──▶ [VPN (NAS)] ─(RADIUS 프로토콜)─▶ │ RADIUS │ │
│ User C ──▶ [Switch(NAS)] ─(RADIUS 프로토콜)─▶ │ Server │ │
│ │ (AD 연동)│ │
│ => 모든 출입구(NAS)는 판단을 보류하고 오직 무전기(RADIUS)만 칠 뿐이다. │
└─────────────────────────────────────────────────────────────┘
[다이어그램 해설] 이 도식은 왜 RADIUS가 필요한지를 극명하게 보여준다. 사용자가 사내망에 들어오려는 출입구는 무선(AP), 유선(Switch), 원격(VPN) 등 다양하다. 출입구 장비(NAS, Network Access Server)들은 똑똑할 필요가 없다. 단지 사용자가 제시한 신분증(ID/PW, 인증서)을 봉투에 담아 RADIUS 서버로 던지고, 서버가 "Access-Accept(통과)" 또는 "Access-Reject(차단)"라는 도장을 찍어 돌려주면 그에 따라 문을 열거나 닫기만 하면 된다.
- 📢 섹션 요약 비유: 수십 개의 놀이공원 게이트(NAS)에서 직원이 직접 표가 진짜인지 고민하지 않고, 바코드 스캐너를 통해 중앙 매표소 서버(RADIUS)로 띡 찍어 "통과!" 사인을 받으면 게이트만 열어주는 중앙 통제 시스템과 같습니다.
Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)
구성 요소
| 요소명 | 역할 | 내부 동작 | 프로토콜/특징 | 비유 |
|---|---|---|---|---|
| Supplicant (사용자) | 접근 요청 주체 | PC, 스마트폰에 내장된 인증 클라이언트 프로그램 (ID/PW 또는 인증서 제출) | EAP-TLS, PEAP | 신분증을 내미는 방문객 |
| NAS (Network Access Server) | 중계자 (Authenticator) | 사용자의 요청을 RADIUS 패킷으로 변환하여 서버에 전달하고 결과를 강제 적용 | 802.1X, 무선 AP, 스위치 | 출입문을 지키는 경비원 |
| RADIUS Server | 최종 인증/인가 결정 | 전달받은 자격 증명을 로컬 DB나 AD(LDAP)와 대조하여 승인/거부 패킷 반환 | UDP 1812, 1813 | 신원 조회를 하는 중앙 관제소 |
| Shared Secret | NAS-서버 간 신뢰 구축 | NAS와 RADIUS 서버 간 통신을 암호화하고 변조를 막기 위해 사전에 공유된 텍스트 키 | MD5 해시 서명 | 경비원과 관제소만의 암구호 |
| EAP (Extensible Auth Protocol) | 인증 데이터 컨테이너 | 인증서, 생체인식 등 다양한 인증 방식을 RADIUS 위로 실어 나르는 확장 프로토콜 | 802.1X의 페이로드 | 어떤 신분증이든 담는 투명 봉투 |
RADIUS 통신 흐름 및 패스워드 암호화 원리
RADIUS는 패킷의 "본문(Payload) 전체"를 암호화하지 않는다. 오직 패스워드 필드만 암호화하며, 나머지 ID나 기타 속성은 평문으로 전송된다는 치명적인 특성을 갖는다.
┌───────────────────────────────────────────────────────────────┐
│ RADIUS 인증 흐름 (Access-Request & Accept) │
├───────────────────────────────────────────────────────────────┤
│ │
│ [사용자 단말] [NAS (VPN/AP)] [RADIUS 서버] │
│ │ │ │ │
│ ├─── 1. 접속 요청 (ID/PW) ───▶│ │ │
│ │ │ 2. Access-Request │ │
│ │ │ (ID: 평문, PW: 암호화) │ │
│ │ ├──────────────────────▶│ │
│ │ │ │ │
│ │ │ 3. DB/AD 조회 후 판단 │ │
│ │ │ │ │
│ │ │ 4. Access-Accept │ │
│ │ │ (+ VLAN 할당 정보 등) │ │
│ │ │◀──────────────────────┤ │
│ │ 5. 네트워크 접근 허가 │ │ │
│ │◀─────────────────────────┤ │ │
│ │ │
│ ■ 패스워드 암호화 방식: │ │
│ - 전달 패스워드 = User_PW XOR MD5(Shared_Secret + Request_Auth) │ │
│ - 즉, Shared Secret을 모르는 해커는 패킷을 스니핑해도 암호를 못 풂. │
└───────────────────────────────────────────────────────────────┘
[다이어그램 해설] 클라이언트가 NAS에 인증을 요청하면, NAS는 사용자 ID와 다양한 환경 속성(AVP, Attribute-Value Pairs)을 모아 Access-Request 패킷을 만든다. 이때 패스워드는 그대로 보내지 않고, 사전에 정의된 Shared Secret과 무작위 16바이트의 Request Authenticator를 MD5로 해싱한 값과 사용자의 실제 비밀번호를 XOR 연산하여 숨긴다. RADIUS 서버는 동일한 Shared Secret을 알고 있으므로 역방향 XOR를 통해 패스워드를 복원하고 AD(Active Directory) 등과 대조한다. 인증에 성공하면 Access-Accept 패킷을 돌려주는데, 이때 "이 사용자는 VLAN 10번으로 넣어라"라는 인가(Authorization) 속성을 함께 내려보낼 수 있다.
- 📢 섹션 요약 비유: 무전기로 통신할 때 "요청자 이름은 홍길동인데, 비밀번호는 우리끼리만 아는 암호 책 3페이지로 변환해서 'X7B'야"라고 불러주는 것과 같습니다. 남들이 무전을 들어도 이름은 알지만 비밀번호 원본은 알 수 없습니다.
Ⅲ. 융합 비교 및 다각도 분석
RADIUS vs TACACS+ (Cisco) 비교
네트워크 접근 제어 프로토콜의 양대 산맥인 RADIUS와 TACACS+의 차이를 이해하는 것은 기술사 설계의 핵심 포인트다.
| 비교 항목 | RADIUS (IETF 표준) | TACACS+ (Cisco 전용 -> 범용) |
|---|---|---|
| 전송 프로토콜 | UDP 1812(인증), 1813(과금) | TCP 49 |
| 보안 (암호화 범위) | 패스워드 필드만 암호화 (ID는 평문) | 패킷 페이로드 전체 암호화 (ID, 본문 모두 보호) |
| 아키텍처 구조 | 인증(Authentication)과 인가(Authorization)가 결합됨 | 인증, 인가, 과금이 완전히 분리됨 (독립 모듈) |
| 주요 사용 목적 | 수만 명의 일반 네트워크 사용자 접속 제어 (무선랜, VPN) | 소수의 네트워크 장비 관리자 명령어 권한 제어 (Router SSH) |
| 명령어 단위 인가 제어 | 불가능 (할당 속성만 전달) | 가능 (사용자가 칠 수 있는 show, config 명령어까지 통제) |
RADIUS는 빠르고 가벼운 UDP를 쓰므로 10만 명의 대학 캠퍼스 Wi-Fi 접속을 처리하는 데 유리하다. 반면 TACACS+는 신뢰성 있는 TCP를 쓰며 트래픽 전체를 암호화하고, "홍길동 엔지니어는 라우터에서 show 명령어는 칠 수 있지만 reboot은 칠 수 없다"는 식의 디테일한 장비 통제가 가능하여 데이터센터 관리자 계정 통제에 특화되어 있다.
┌───────────────────────────────────────────────────────────────┐
│ RADIUS와 TACACS+의 인증/인가 아키텍처 비교 │
├───────────────────────────────────────────────────────────────┤
│ │
│ [RADIUS] "인증과 인가는 한 몸이다" │
│ (요청) 신분증 확인 좀 ──▶ │
│ ◀── (응답) "너는 홍길동 맞고(인증), 들어오면 VIP 라운지로 가(인가)" │
│ => 패킷 한 번에 결론이 나므로 속도가 빠름. │
│ │
│ [TACACS+] "인증, 인가, 과금을 완벽히 분리한다" │
│ (요청) 신분증 확인 좀 ──▶ │
│ ◀── (응답) "홍길동 맞네. (인증 완료)" │
│ (추가 요청) 그럼 나 라우터 재부팅해도 돼? ──▶ │
│ ◀── (응답) "아니, 넌 조회만 가능해. (인가 거부)" │
│ => 세분화된 명령어별 권한 통제에 최적화됨. │
└───────────────────────────────────────────────────────────────┘
[다이어그램 해설] RADIUS는 사용자가 '네트워크 포트'를 뚫고 들어오는 순간에 필요한 '인가(예: VLAN 번호, IP 대역)'를 인증과 묶어서 한 번에 전달한다. 일반 직원들이 Wi-Fi에 붙을 때 "IP만 받으면 끝"이므로 이 방식이 매우 효율적이다. 반대로 TACACS+는 장비 관리자가 콘솔에 붙은 뒤 명령어를 한 줄 칠 때마다 서버에 "이 명령어 쳐도 돼?"라고 물어볼 수 있도록 아키텍처가 3조각으로 분리되어 있어 철저한 관리자 감사(Audit) 트레일에 적합하다.
- 📢 섹션 요약 비유: RADIUS는 클럽 입구에서 신분증을 확인하고 곧바로 '일반석 팔찌(VLAN)'를 채워 들여보내는 빠르고 통합된 가드이고, TACACS+는 VIP 룸에 들어간 후에도 샴페인을 딸 때마다 매니저에게 무전으로 허락을 받아야 하는 깐깐한 경호원입니다.
Ⅳ. 실무 적용 및 기술사적 판단
실무 시나리오: 802.1X 무선랜 보안 고도화 (WPA2/3-Enterprise)
- 상황: 500명 규모의 기업이 "사무실 AP 비밀번호(WPA2-PSK)가 전 직원에 공유되고 있어, 퇴사자가 회사 건물 밖 주차장에서 Wi-Fi에 붙어 내부망에 침투할 위험이 있다"며 보안 감사를 받았다.
- 원인: 단일 공유 비밀번호(PSK, Pre-Shared Key) 방식은 기기 분실이나 퇴사자 발생 시 전체 비밀번호를 바꾸지 않는 한 통제가 불가능하다.
- 의사결정 및 조치 (RADIUS 기반 802.1X 구축):
- 전사 무선랜 인증 방식을 WPA2/3-Enterprise (802.1X)로 변경한다.
- 중앙에 **RADIUS 서버 (예: Cisco ISE, FreeRADIUS, NPS)**를 구축하고, 이를 기존 Active Directory(LDAP)와 연동한다.
- 각 무선 AP를 NAS로 설정하여 Shared Secret을 맺는다.
- 직원들은 자신의 고유한 AD 계정(ID/PW) 또는 사원증(인증서, EAP-TLS)을 통해서만 Wi-Fi에 붙을 수 있다.
- 결과: 퇴사자의 AD 계정만 비활성화하면, 그 즉시 전사의 모든 무선/유선망 및 VPN 접속이 1초 만에 일괄 차단된다.
도입 체크리스트 및 안티패턴
-
UDP 재전송(Retransmission) 튜닝: RADIUS는 UDP 기반이므로 네트워크 혼잡 시 패킷이 유실된다. NAS 측의 타임아웃(예: 3초)과 재전송 횟수(예: 3회)가 올바르게 설정되지 않으면, 인증 폭주 시 사용자는 "비밀번호가 틀렸습니다"가 아니라 "접속할 수 없습니다(Timeout)" 에러에 갇힌다. 로드밸런서를 통해 복수의 RADIUS 서버로 트래픽을 분산(Active-Active)하는 아키텍처가 필수다.
-
안티패턴: RADIUS Shared Secret 통신이 지나는 백본 구간을 암호화하지 않은 채 인터넷이나 비신뢰 광역망(WAN)을 넘나들게 두는 행위. RADIUS는 ID가 평문(Cleartext)으로 노출되므로 스니핑 시 임직원의 계정 체계가 고스란히 털린다. 반드시 IPsec VPN 터널 안으로 캡슐화하여 전송하거나, TLS 래퍼를 씌운 최신 RadSec(TCP 2083) 프로토콜로 업그레이드해야 한다.
-
📢 섹션 요약 비유: 회사 정문 자물쇠 번호를 전 직원이 공유(PSK)하다가, 직원마다 자신의 고유한 사원증으로만 게이트를 열 수 있게(RADIUS 802.1X) 시스템을 바꾼 것입니다. 사원증을 정지시키면 그 직원은 어느 문으로도 들어올 수 없습니다.
Ⅴ. 기대효과 및 결론
정량/정성 기대효과
| 구분 | 도입 전 (공유 비밀번호 / 개별 로컬 DB) | RADIUS 중앙 인증 도입 후 | 개선 효과 |
|---|---|---|---|
| 정량 (관리 시간) | 신규/퇴사자 발생 시 50대 장비 수동 세팅 (수십 분) | AD 계정 한 번 비활성화 시 모든 망 차단 (1초) | 계정 라이프사이클 관리 비용 99% 절감 |
| 정량 (보안성) | 공용 패스워드 탈취 시 전사망 침투 무방비 | 개인별 세션키 생성(EAP) 및 무선 구간 암호화 | 공유 암호 노출에 의한 침해 사고 0건 |
| 정성 (감사 및 추적) | 누가 언제 어떤 IP를 할당받고 접속했는지 로그 파편화 | RADIUS Accounting(과금) 서버에 중앙 통합 로깅 | 완벽한 포렌식 추적성 확보 및 컴플라이언스(ISMS) 충족 |
미래 전망 및 진화 방향
- RadSec (RADIUS over TLS, RFC 6614): 클라우드 기반 네트워크 제어(예: Cisco Meraki, Aruba)가 일상화되면서, 회사 내부의 NAS 장비가 인터넷 너머의 클라우드 RADIUS 서버와 통신해야 하는 일이 잦아졌다. UDP 평문의 한계를 극복하기 위해, TCP 위에서 TLS 암호화 터널을 뚫고 그 안으로 RADIUS 패킷을 쏘는 RadSec 표준이 차세대 대세로 자리 잡고 있다.
- eduroam (Education Roaming): 전 세계 대학 및 연구기관이 거대한 단일 RADIUS 프록시 계층 트리를 구성하여, 서울대 소속 학생이 유럽의 대학에 방문해서 노트북을 켜도 자신의 서울대 계정으로 현지 Wi-Fi를 무료로 보안 접속할 수 있게 하는 글로벌 모빌리티 혁신의 뼈대로 사용된다.
참고 표준
- RFC 2865: Remote Authentication Dial In User Service (RADIUS) 기본 인증 사양
- RFC 2866: RADIUS Accounting (과금 및 로그 기록)
- RFC 3748: Extensible Authentication Protocol (EAP) - 무선 및 VPN 환경에서 캡슐화 인증
RADIUS는 전화선 모뎀 시대에 태어나 무선랜(Wi-Fi) 시대의 방패가 되었고, 이제는 제로 트러스트(Zero Trust) 아키텍처의 말단 초소 역할까지 수행하고 있다. 결국 네트워크의 시작점은 언제나 "당신은 누구인가?"라는 단순하고도 본질적인 질문에서 출발하며, 그 대답을 전달하는 표준 언어는 앞으로도 RADIUS의 후손들이 담당할 것이다.
- 📢 섹션 요약 비유: 전화 교환원을 위해 만들어진 낡은 무전기(RADIUS)가 시대를 거치며 무선 인터넷, 클라우드, 글로벌 로밍이라는 거대한 대륙 간 초고속 인증망을 지탱하는 빛나는 통신탑으로 진화하고 있습니다.
📌 관련 개념 맵 (Knowledge Graph)
| 개념 명칭 | 관계 및 시너지 설명 |
|---|---|
| AAA (Authentication, Authorization, Accounting) | RADIUS가 소프트웨어적으로 구현하고 있는 보안 통제의 철학적 3단계 뼈대 모델이다. |
| 802.1X / EAP | 무선랜 환경에서 단말기(Supplicant)와 AP(NAS) 간의 인증 대화를 정의하며, 이를 중앙으로 나르는 트럭 역할이 RADIUS다. |
| LDAP / Active Directory | RADIUS 자체는 껍데기 서버일 뿐이며, 실제로 "이 비밀번호가 맞는가?"를 최종적으로 조회하는 거대한 임직원 DB 백엔드 역할을 한다. |
| TACACS+ | RADIUS가 일반 사용자 트래픽 통제용이라면, TACACS+는 인프라 장비를 다루는 관리자들의 위험한 명령어를 통제하는 라이벌이자 보완재다. |
| RadSec (TLS 암호화 RADIUS) | 퍼블릭 클라우드 구간을 넘나들 때 ID 평문 노출과 UDP 유실 문제를 해결하기 위해 TCP 2083번 포트에 TLS 껍질을 씌운 보안 업그레이드 버전이다. |
👶 어린이를 위한 3줄 비유 설명
- 회사나 학교에 있는 수십 대의 Wi-Fi 공유기들은 "이 사람이 진짜 우리 학생일까?" 스스로 판단할 능력이 없어요. 문만 지키는 바보 문지기거든요.
- 그래서 공유기들은 학생이 아이디와 비밀번호를 주면, 그걸 무전기(RADIUS)로 중앙에 있는 아주 똑똑한 교장선생님 서버에게 물어봐요.
- 교장선생님이 "오, 우리 학생 맞네! 문 열어줘!"라고 무전을 쳐주면, 공유기가 그제야 인터넷 문을 활짝 열어주는 아주 효율적이고 안전한 중앙 통제 규칙이랍니다.