RADIUS
IT 위키
더 많은 작업
RADIUS(Remote Authentication Dial-In User Service)는 네트워크에 접속하려는 사용자를 중앙의 서버가 인증하고, 접속 권한을 부여하며, 사용 내역을 기록하는 AAA 프로토콜이다.
RADIUS 는 원래 전화 접속(Dial-In) 서비스의 사용자 인증을 위해 만들어졌고, 지금은 무선랜·VPN·스위치 포트 인증 등 네트워크 접근 통제 전반에 쓰인다. 사용자가 접속하는 장비(무선 AP, VPN 게이트웨이, 스위치 등)가 사용자의 계정 정보를 직접 판단하지 않고 중앙의 RADIUS 서버에 물어보는 구조라서, 계정을 한곳에서 관리할 수 있다.
인증·권한 부여는 RFC 2865, 과금(Accounting)은 RFC 2866 에 정의되어 있다.[1]
RADIUS 는 클라이언트/서버 방식으로 동작한다. 여기서 RADIUS 클라이언트는 사용자 단말이 아니라 사용자가 접속하는 네트워크 장비(NAS, Network Access Server)다.
- 사용자가 NAS 에 접속하며 계정과 비밀번호를 보낸다.
- NAS(RADIUS 클라이언트)가 이를 Access-Request 메시지에 담아 RADIUS 서버로 보낸다.
- RADIUS 서버는 자신의 사용자 데이터베이스(또는 LDAP·AD 등)와 대조해 Access-Accept, Access-Reject, Access-Challenge 중 하나로 응답한다.
- 허용되면 NAS 가 접속을 열고, 접속 시작·종료 기록을 Accounting 메시지로 서버에 보낸다.
등록되지 않은 사용자는 인증되지 않는다. 서버의 데이터베이스에 없는 사용자는 Access-Reject 를 받는다.
- 전송 계층은 UDP 다. 인증·권한은 1812 번, 과금은 1813 번 포트를 쓴다(초기 구현은 1645·1646). TCP 를 쓰지 않으므로 재전송과 시간 초과는 RADIUS 자신이 처리한다.
- NAS 와 서버는 미리 나눠 가진 공유 비밀(shared secret)로 메시지를 검증한다.
- 패킷 전체가 아니라 사용자 비밀번호 필드만 암호화한다(공유 비밀과 MD5 를 이용한 은닉). 나머지 속성은 평문이라 기밀성이 약하다.
- 인증과 권한 부여가 한 메시지에 묶여 있어 둘을 분리하기 어렵다.
- 중앙 집중형이다. 인증 판단을 한 서버(또는 서버군)에 모으는 것이 목적이며, 접속 장비마다 따로 인증하는 분산형과 반대다.
- EAP 메시지를 실어 나를 수 있어, IEEE 802.1X 기반 무선랜 기업용 인증(WPA2/WPA3-Enterprise)의 인증 서버로 쓰인다.
| 구분 | RADIUS | TACACS+ | Diameter |
|---|---|---|---|
| 전송 | UDP 1812/1813 | TCP 49 | TCP 또는 SCTP 3868 |
| 암호화 범위 | 비밀번호 필드만 | 패킷 본문 전체 | TLS·IPsec 으로 보호 |
| AAA 분리 | 인증·권한이 묶여 있다 | 인증·권한·과금을 따로 처리한다 | 응용별로 나뉜다 |
| 주 용도 | 네트워크 접속 인증(무선랜, VPN) | 네트워크 장비 관리자 명령 통제 | 이동통신망(LTE·5G) 가입자 인증 |
Diameter 는 RADIUS 의 후속으로 설계되었고, 이름도 반지름(radius)의 두 배인 지름(diameter)에서 따왔다.
- ↑ 「RFC 2865 Remote Authentication Dial In User Service (RADIUS)」, IETF, 2000.