RADIUS
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
RADIUS는 클라이언트-서버 모델을 기반으로 하는 프로토콜로, 네트워크 접근 서버(NAS)가 클라이언트 역할을, 인증 서버가 서버 역할을 수행한다. 이 프로토콜은 인증, 인가, 회계(AAA) 기능을 제공하며, 사용자 이름, 비밀번호, 이용 시간, 데이터량 등의 정보를 속성-값 쌍(AVP) 형태로 주고받는다. RADIUS는 ISP, 무선 LAN, 웹 콘텐츠 제공 서비스 등 다양한 환경에서 활용되며, 로밍을 지원하기 위해 렐름(Realm) 개념을 사용한다. 보안을 위해 공유 비밀과 MD5 해싱을 사용하지만, 취약점이 존재하여 추가적인 보안 조치가 필요하다. IETF RFC 문서에 의해 표준화되었으며, 한국에서도 공공 와이파이, eduroam, 기업 네트워크 등에서 널리 사용된다.
더 읽어볼만한 페이지
- 컴퓨터 접근 제어 프로토콜 - OAuth
OAuth는 웹/앱 환경에서 사용자 인증 및 API 접근 권한 위임을 위한 개방형 표준 프로토콜로, 버전 1.0과 2.0을 거쳐 2.1 초안이 진행 중이며, 널리 사용되지만 복잡성과 보안 문제에 대한 논쟁도 있다. - 컴퓨터 접근 제어 프로토콜 - Z-Wave
Z-Wave는 1999년 덴마크에서 개발된 홈 오토메이션 프로토콜로, 900MHz 비허가 주파수를 사용하며, 메시 네트워크를 통해 최대 232개의 장치를 연결하고 S2 보안 기능을 제공하며 스마트 홈 분야에서 널리 사용된다. - 응용 계층 프로토콜 - 실시간 전송 프로토콜
실시간 전송 프로토콜(RTP)은 스트리밍 미디어의 실시간 전송을 위해 설계된 프로토콜로, IP 네트워크에서 오디오/비디오 전송의 표준으로 사용되며, 멀티미디어 데이터 전송, 타임스탬프, 순서 제어, QoS 피드백 등을 제공한다. - 응용 계층 프로토콜 - D-Bus
D-Bus는 2002년에 시작된 프로세스 간 통신 시스템으로, 시스템 버스와 세션 버스를 통해 정보 공유, 모듈성, 권한 격리를 제공하며, 일대일 요청-응답 및 발행/구독 통신 방식을 지원한다. - 인터넷 표준 - DNSSEC
DNSSEC는 DNS의 보안 취약점을 개선하기 위해 도메인 정보에 디지털 서명을 추가하여 응답 레코드의 무결성을 보장하고 DNS 위장 공격을 막는 기술로, RRSIG, DNSKEY 등 다양한 리소스 레코드 유형을 사용하여 인증 체인을 구성하며 공개 키 암호 방식을 활용한다. - 인터넷 표준 - IPv6
IPv6는 IPv4 주소 고갈 문제를 해결하고자 개발된 차세대 인터넷 프로토콜로, 128비트 주소 체계를 통해 사실상 무한대에 가까운 IP 주소를 제공하며, 주소 자동 설정, 패킷 처리 효율성 향상, 보안 기능 강화 등의 특징을 갖는다.
RADIUS | |
---|---|
일반 정보 | |
이름 | 원격 인증 전화 접속 사용자 서비스 |
로마자 표기 | Wongyeok Injeung Jeonhwa Jeopsok Sayongja Seobiseu |
약자 | RADIUS |
개발자 | 리모트 인증 다이얼 인 사용자 서비스 위치 |
개요 | |
유형 | 인증 네트워킹 프로토콜 |
기술 정보 | |
설명 | RADIUS는 클라이언트-서버 프로토콜이며, 네트워크에 연결하려는 사용자를 인증하고 네트워크 사용에 대한 권한을 부여하는 데 사용된다. RADIUS 서버는 사용자 이름과 암호와 같은 사용자 자격 증명을 확인하고, 사용자가 네트워크에 액세스할 수 있는지 여부를 결정한다. RADIUS는 일반적으로 기업, ISP 및 기타 조직에서 네트워크 보안을 강화하는 데 사용된다. |
작동 방식 | RADIUS는 네트워크 액세스를 요청하는 클라이언트(예: 무선 액세스 포인트 또는 VPN 서버)와 인증 및 권한 부여 서비스를 제공하는 RADIUS 서버 간에 작동한다. 클라이언트는 사용자 자격 증명을 RADIUS 서버로 보내고, 서버는 해당 자격 증명을 확인하고 클라이언트에게 액세스 권한을 부여할지 여부를 알려준다. RADIUS는 또한 계정 정보를 기록하여 사용자가 사용한 네트워크 리소스의 양을 추적할 수 있다. |
장점 | RADIUS는 네트워크 보안을 강화하는 데 도움이 되는 몇 가지 장점을 제공한다. 중앙 집중식 인증 및 권한 부여를 제공하여 관리자가 모든 사용자의 네트워크 액세스를 쉽게 관리할 수 있도록 한다. RADIUS는 또한 사용자 자격 증명을 암호화하여 네트워크를 통해 전송하므로 공격자가 가로채기가 더 어렵다. 또한 RADIUS는 계정 정보를 기록하여 조직이 네트워크 사용을 추적하고 잠재적인 보안 문제를 식별하는 데 도움이 된다. |
취약점 | RADIUS에는 네트워크 보안을 약화시킬 수 있는 몇 가지 취약점도 있다. 예를 들어 RADIUS는 중간자 공격에 취약할 수 있으며, 공격자가 사용자 자격 증명을 가로채고 네트워크 액세스 권한을 얻을 수 있다. 또한 RADIUS는 서비스 거부 공격에 취약할 수 있으며, 공격자가 서버를 압도하여 합법적인 사용자가 네트워크에 액세스하지 못하도록 할 수 있다. |
대안 | RADIUS에 대한 몇 가지 대안이 있으며, 각 대안에는 고유한 장점과 단점이 있다. 일반적인 대안으로는 TACACS+, Diameter 및 Kerberos가 있다. TACACS+는 RADIUS와 유사한 프로토콜이지만 더 많은 기능을 제공한다. Diameter는 RADIUS의 후속 프로토콜이며 더 나은 보안과 확장성을 제공한다. Kerberos는 강력한 인증을 제공하는 티켓 기반 프로토콜이다. |
보안 | RADIUS는 원래 RFC 2138 및 RFC 2139에 정의되어 있으며, 이후 RFC 2865 및 RFC 2866으로 대체되었다. RADIUS는 사용자 이름과 암호를 암호화하기 위해 Message-Digest algorithm 5 (MD5) 해싱 알고리즘을 사용하지만, 그 외에는 전송 중 데이터를 암호화하지 않는다. MD5에 내재된 보안 취약점으로 인해 RADIUS 프로토콜은 더 이상 강력한 인증 방법으로 간주되지 않는다. 많은 구현에서 암호 인증 프로토콜 (PAP)을 사용하는 대신 확장 인증 프로토콜 (EAP)과 함께 RADIUS를 사용하여 보안을 강화한다. |
Blast-RADIUS | 2024년 7월 9일, 보안 연구원들이 RADIUS 프로토콜에서 널리 사용되는 소프트웨어에서 여러 가지 심각한 취약점을 발견했다. 그들은 이러한 취약점들을 "Blast-RADIUS"라고 불렀다. |
2. 프로토콜 구성 요소
RADIUS 프로토콜은 클라이언트-서버 모델을 기반으로 동작한다. RADIUS 프로토콜에서 클라이언트는 사용자에게 네트워크 연결 서비스 등을 제공하는 장비이며, 서버에 인증 및 어카운팅을 요청한다. 서버는 클라이언트의 요청에 따라 인증 및 어카운팅을 수행하고 응답한다.[4]
인터넷 접속 서비스에서 RADIUS 클라이언트는 광대역 접속 서버(BAS) 등의 착신 장치(NAS)이다. 무선 LAN에서는 무선 LAN 액세스 포인트가, VLAN에서는 VLAN 스위치가 RADIUS 클라이언트 역할을 한다.
2. 1. 인증 및 권한 부여
사용자가 네트워크 접근 서버(NAS)에 접속을 요청하면, NAS는 RADIUS 서버에 인증 및 권한 부여를 요청한다.[4] 이 요청에는 사용자 이름, 비밀번호 또는 보안 인증서와 같은 자격 증명 정보와 함께 NAS가 알고 있는 사용자 정보(네트워크 주소, 전화번호 등)와 NAS 연결 지점 정보가 포함될 수 있다.RADIUS 서버는 비밀번호 인증 프로토콜(PAP), 챌린지-핸드셰이크 인증 프로토콜(CHAP), 확장 인증 프로토콜(EAP) 등의 인증 방식을 사용하여 사용자 정보의 유효성을 확인한다.[4] 사용자 정보는 로컬 데이터베이스나 외부 시스템(SQL, Kerberos, LDAP, Active Directory 등)에서 조회할 수 있다.
RADIUS 서버는 다음 세 가지 응답 중 하나를 NAS에 반환한다.[4]
- 접근 거부 (Access-Reject): 사용자에게 요청된 모든 네트워크 리소스에 대한 접근이 거부된다. 신원 증명 실패, 알 수 없거나 비활성 상태인 사용자 계정 등이 이유가 될 수 있다.
- 접근 챌린지 (Access-Challenge): 보조 비밀번호, PIN, 토큰, 카드 등 사용자의 추가 정보를 요청한다. 접근 챌린지는 NAS에서 자격 증명이 숨겨지는 방식으로 사용자 장치와 RADIUS 서버 간에 보안 터널을 설정하는 복잡한 인증 대화 상자에서도 사용된다.
- 접근 허용 (Access-Accept): 사용자에게 접근 권한이 부여된다. RADIUS 서버는 사용자가 요청된 네트워크 서비스를 사용할 권한이 있는지도 확인한다. (예: 특정 사용자는 회사 무선 네트워크는 사용 가능하지만, VPN 서비스는 사용 불가) 이 정보는 RADIUS 서버에 로컬로 저장되거나 외부 소스(LDAP, Active Directory 등)에서 조회될 수 있다.
접근 허용 응답에는 다음과 같은 권한 부여 속성이 포함될 수 있다.
- 사용자에게 할당될 특정 IP 주소
- 사용자의 IP 주소를 선택해야 하는 주소 풀
- 사용자가 연결을 유지할 수 있는 최대 시간
- 사용자의 접근에 대한 접근 목록, 우선순위 대기열 또는 기타 제한
- L2TP 매개변수
- VLAN 매개변수
- 서비스 품질(QoS) 매개변수
RADIUS 프로토콜은 인증과 승인을 명확하게 구분하지 않고 함께 "인증"으로 취급한다. 따라서 RADIUS 클라이언트는 이용이 거부된 이유가 비밀번호 오류인지, 권한 부족인지 알 수 없다.
IEEE 802.1X는 LAN의 이용 가능 여부를 제어하는 이더넷 상의 프로토콜이다. IEEE 802.1X에서는 EAP 프로토콜과 RADIUS 프로토콜을 이용하여 RADIUS 서버에 의해 인증된 사용자에게만 LAN을 사용할 수 있도록 한다. 실제 인증 절차는 EAP-TLS, PEAP, EAP-TTLS 등 EAP 상의 인증 절차를 통해 수행된다.
2. 2. 회계
RADIUS는 사용자의 네트워크 사용 정보를 기록하는 기능을 수행한다. NAS는 사용자의 접속 시작, 종료, 사용량 등의 정보를 RADIUS 서버에 전송하여 기록한다. 이 정보는 과금, 통계, 네트워크 모니터링 등에 활용될 수 있다.[5]NAS가 사용자에게 네트워크 접근 권한을 부여하면, NAS는 RADIUS 서버로 ''회계 시작'' 레코드(Acct-Status-Type 속성이 "start" 값을 포함하는 RADIUS 회계 요청 패킷)를 전송하여 사용자 네트워크 접근 시작을 알린다. "시작" 레코드는 보통 사용자의 신원, 네트워크 주소, 접속 지점, 고유 세션 식별자를 포함한다.
NAS는 활성 세션의 상태를 업데이트하기 위해 정기적으로 ''중간 업데이트'' 레코드(Acct-Status-Type 속성이 "interim-update" 값을 포함하는 RADIUS 회계 요청 패킷)를 RADIUS 서버에 전송한다. "중간" 레코드는 보통 현재 세션 기간 및 데이터 사용량에 대한 정보를 전달한다.
사용자의 네트워크 접근이 종료되면, NAS는 RADIUS 서버로 최종 ''회계 중지'' 레코드(Acct-Status-Type 속성이 "stop" 값을 포함하는 RADIUS 회계 요청 패킷)를 전송한다. 이 레코드는 시간, 전송된 패킷, 전송된 데이터, 연결 해제 사유, 사용자의 네트워크 접근 관련 기타 정보 등 최종 사용량 정보를 제공한다.
일반적으로 클라이언트는 회계 응답 확인을 받을 때까지 재시도 간격을 두고 Accounting-Request 패킷을 전송한다.
이 데이터는 사용자가 적절하게 청구될 수 있도록 하는 것이 주 목적이며, 통계 목적, 일반적인 네트워크 모니터링에도 사용된다.
3. 로밍
RADIUS는 여러 ISP 간의 로밍을 지원하여 사용자가 하나의 계정으로 다양한 네트워크에 접속할 수 있도록 한다. RADIUS는 렐름(Realm)을 이용하여 사용자 소속 기관을 식별하고, 해당 기관의 RADIUS 서버로 인증 요청을 전달한다.
RADIUS는 AAA 요청을 처리하기 위해 RADIUS 서버가 어디로 전달해야 하는지 식별하는 ''영역''을 사용한다. 사용자 이름 문자열에서 "@" 기호와 도메인 이름을 포함한 문자열을 사용하고, 도메인 이름 부분의 문자열에 따라 다른 RADIUS 서버로 전송하는 방식이다. 이러한 기술은 ISP 간의 로밍이나, NTT의 フレッツ 서비스와 같은 액세스망 제공 서비스와 ISP 간의 분업 등 널리 이용되고 있다.
RADIUS 서버이면서 실제 인증 및 어카운팅 처리를 다른 RADIUS 서버에 의뢰하는 것을 "RADIUS 프록시 서버"라고 부르며, 이는 RADIUS 서버이면서 RADIUS 클라이언트인 것이다.
3. 1. 렐름 (Realms)
렐름은 일반적으로 사용자 이름에 '@' 기호를 붙여서 나타내며, 이메일 주소의 도메인 이름과 유사하다. 'somedomain.com\username@anotherdomain.com'과 같이 두 개의 렐름을 가진 사용자 이름도 가능하다.렐름은 도메인과 유사하지만, 실제로는 임의의 텍스트이며 실제 도메인 이름을 포함할 필요는 없다. 렐름 형식은 RFC 4282에 표준화되어 있으며, 'user@realm' 형식의 네트워크 접근 식별자(NAI)를 정의한다. RFC 7542[6]는 2015년 5월에 RFC 4282를 대체했다.
RADIUS 서버는 렐름 정보를 기반으로 인증 요청을 다른 RADIUS 서버로 프록시할 수 있다. 즉, RADIUS 서버이면서 RADIUS 클라이언트이기도 하다. 사용자 이름에 @ 기호와 도메인 이름을 포함시켜 도메인 이름 부분에 따라 다른 RADIUS 서버로 요청을 전송할 수 있다. 이러한 기술은 ISP 간의 로밍이나, NTT의 フレッツ 서비스와 같은 액세스망 제공 서비스와 ISP 간의 분업 등 널리 이용되고 있다.
3. 2. 프록시 (Proxy)
RADIUS 서버는 영역(Realm)이 포함된 사용자 이름에 대한 AAA 요청을 받으면, 구성된 영역 테이블을 참조한다. 영역을 인식하면, 서버는 해당 도메인의 구성된 홈 서버로 요청을 "프록시"한다. 대부분의 서버에서 요청에서 영역을 제거하는("스트리핑") 프록시 서버의 동작은 구성에 따라 달라진다. 또한, 프록시 서버는 AAA 요청이 다시 프록시될 때 이를 추가, 제거 또는 재작성하도록 구성할 수 있다.[1]RADIUS에서는 프록시 체이닝이 가능하다. 인증, 인가 및 어카운팅 패킷은 일반적으로 NAS 장치와 홈 서버 간에 일련의 프록시를 거쳐 라우팅된다. 프록시 체인을 사용하는 것의 이점으로는 확장성 향상, 정책 구현 및 기능 조정 등이 있다. 그러나 로밍 시나리오에서는 NAS, 프록시 및 홈 서버가 일반적으로 서로 다른 관리 주체에 의해 관리될 수 있다. 따라서 프록시 간의 신뢰 요소가 이러한 상호 도메인 응용 프로그램에서 더 중요해진다. RADIUS의 종단 간 보안 부재는 관련된 프록시 간의 신뢰의 중요성을 더한다. 프록시 체인은 RFC 2607에 설명되어 있다.[1]
RADIUS 프로토콜은 클라이언트-서버 모델을 기반으로 한다. RADIUS 프로토콜에서 클라이언트는 사용자(사람 또는 컴퓨터)에게 네트워크 연결 서비스 등의 서비스를 제공하는 장비이며, 서버에게 인증 및 어카운팅을 요청한다. 서버는 클라이언트의 요청에 따라 인증 및 어카운팅을 수행하고 응답한다. 항상 클라이언트가 요청하고 서버가 응답한다. 서버가 사용자에게 서비스 중단을 시키는 등, 요청을 시작할 수는 없다. 클라이언트 및 서버를 일반적으로 "RADIUS 클라이언트" 및 "RADIUS 서버"라고 부른다.[1]
RADIUS 서버이면서 실제 인증 및 어카운팅 처리를 다른 RADIUS 서버에 의뢰하는 것을 "RADIUS 프록시 서버"라고 부른다. 즉, RADIUS 서버이면서 RADIUS 클라이언트이기도 하다. 요청을 "전송한다"라고도 한다.[1]
사용자 이름 문자열을 판단하여 요청의 전송처를 변경할 수도 있다. 예를 들어, 사용자 이름으로 이메일 주소와 같이 "@" 기호와 도메인 이름을 포함한 문자열을 사용하고, 도메인 이름 부분의 문자열에 따라 다른 RADIUS 서버로 전송할 수 있다. 이러한 기술은 ISP(인터넷 접속 서비스 제공업체) 간의 로밍이나, NTT의 フレッツ 서비스와 같은 액세스망 제공 서비스와 ISP 간의 분업 등 널리 이용되고 있다. 위의 예에서 도메인 이름 부분과 같이, 전송처를 판단하는 근거로 삼는 부분을 일반적으로 "렐름(Realm)"이라고 부른다.[1]
4. 패킷 구조
RADIUS 패킷은 헤더와 속성-값 쌍(AVP, Attribute-Value Pairs)으로 구성된다.[8]
RADIUS 패킷은 코드, 식별자, 길이, 인증자, 속성 필드 순서로 전송된다.
코드 | 할당 |
---|---|
1 | 액세스 요청 |
2 | 액세스 승인 |
3 | 액세스 거부 |
4 | 회계 요청 |
5 | 회계 응답 |
11 | 액세스 챌린지 |
12 | 상태 서버 (실험적) |
13 | 상태 클라이언트 (실험적) |
40 | 연결 종료 요청 |
41 | 연결 종료 확인 |
42 | 연결 종료 거부 |
43 | CoA 요청 |
44 | CoA 확인 |
45 | CoA 거부 |
255 | 예약됨 |
- 식별자: 요청과 응답을 일치시키는 데 사용된다. 클라이언트가 요청 패킷에 설정하고, 서버는 응답 패킷에 복사한다.
- 길이: 코드, 식별자, 길이, 인증자, 속성 필드를 포함한 전체 RADIUS 패킷의 길이를 나타낸다.
- 인증자: RADIUS 서버의 응답을 인증하고 암호화에 사용되며, 길이는 16바이트이다. 클라이언트와 서버 간의 통신은 UDP 패킷으로 수행된다.
모든 패킷은 20옥텟의 헤더와 속성 부분으로 구성된다. 헤더는 유형 코드(Code) 1 옥텟, 식별자(Identifier) 1 옥텟, 패킷 전체 길이 2 옥텟, 인증 부호(Authenticator) 16 옥텟으로 구성된다. 속성 부분은 속성 값 쌍(Attribute Value Pair)을 임의의 횟수만큼 반복한다. 속성 값 쌍은 속성 번호 1 옥텟, 길이 1 옥텟, 속성 값으로 구성되며, 값으로는 4 옥텟의 정수 값, 4 옥텟의 IP 주소, 1 - 253 옥텟의 문자열 등을 사용할 수 있다.
RADIUS 패킷의 최대 길이는 RADIUS 인증 프로토콜에서는 4096 옥텟, RADIUS 어카운팅 프로토콜에서는 4095 옥텟이다.
4. 1. 속성-값 쌍 (Attribute-Value Pairs)
RADIUS [속성-값 쌍](AVP, Attribute Value Pairs)은 인증, 인가, 과금 트랜잭션의 요청과 응답 모두에서 데이터를 전달한다. RADIUS 패킷의 길이는 AVP의 끝을 결정하는 데 사용된다.[8]RADIUS는 확장 가능하며, RADIUS 하드웨어 및 소프트웨어의 많은 공급업체들이 Vendor-Specific Attributes(VSA)를 사용하여 자체 변형을 구현한다. 마이크로소프트는 자사의 VSA 일부를 공개했다.[10] RFC 2865 5.26절에서는 대부분의 공급업체가 따르는 권장 인코딩을 제공한다.
26 (1 옥텟) | 길이 (1 옥텟) | 공급업체 ID (4 바이트 빅 엔디안) | 공급업체 유형/속성 (1 옥텟) | 공급업체 길이 (1 옥텟) = 2 + (값)의 길이 | 값 |
일부 공급업체는 다른 형식을 사용한다. 예를 들어, 일부 공급업체는 "공급업체 길이" 필드를 생략하거나 "공급업체 유형" 및/또는 "공급업체 길이" 필드에 2 옥텟을 사용한다. RFC 8044 3.14절은 RFC 2865 5.26절 형식을 의무화하는 "vsa" 데이터 유형을 정의한다.
다음은 표준 RADIUS 속성-값 쌍(AVP)의 일부이다.
AVP 유형 | 할당 |
---|---|
1 | 사용자 이름 |
2 | 사용자 암호 |
3 | CHAP(CHAP, Challenge-Handshake Authentication Protocol)-암호 |
4 | NAS-IP-주소 |
5 | NAS-포트 |
6 | 서비스 유형 |
7 | 프레임 프로토콜 |
8 | 프레임 IP 주소 |
9 | 프레임 IP 넷마스크 |
10 | 프레임 라우팅 |
11 | 필터 ID |
12 | 프레임 MTU |
13 | 프레임 압축 |
14 | 로그인 IP 호스트 |
15 | 로그인 서비스 |
16 | 로그인 TCP 포트 |
18 | 응답 메시지 |
19 | 콜백 번호 |
20 | 콜백 ID |
22 | 프레임 경로 |
23 | 프레임 IPX 네트워크 |
24 | 상태 |
25 | 클래스 |
26 | 공급업체별 |
27 | 세션 제한 시간 |
28 | 유휴 제한 시간 |
29 | 종료 작업 |
30 | 호출 스테이션 ID |
31 | 호출 스테이션 ID |
32 | NAS 식별자 |
33 | 프록시 상태 |
34 | 로그인 LAT 서비스 |
35 | 로그인 LAT 노드 |
36 | 로그인 LAT 그룹 |
37 | 프레임 애플토크 링크 |
38 | 프레임 애플토크 네트워크 |
39 | 프레임 애플토크 영역 |
40 | Acct-상태-유형 |
41 | Acct-지연 시간 |
42 | Acct-입력-옥텟 |
43 | Acct-출력-옥텟 |
44 | Acct-세션-ID |
45 | Acct-인증 |
46 | Acct-세션-시간 |
47 | Acct-입력-패킷 |
48 | Acct-출력-패킷 |
49 | Acct-종료-원인 |
50 | Acct-다중-세션-ID |
51 | Acct-링크-수 |
52 | Acct-입력-기가워드 |
53 | Acct-출력-기가워드 |
55 | 이벤트-타임스탬프 |
56 | Egress-VLANID |
57 | Ingress-필터 |
58 | Egress-VLAN-이름 |
59 | 사용자-우선 순위-테이블 |
60 | CHAP(CHAP)-챌린지 |
61 | NAS-포트-유형 |
62 | 포트 제한 |
63 | 로그인 LAT 포트 |
64 | 터널 유형 |
65 | 터널 매체 유형 |
66 | 터널 클라이언트 끝점 |
67 | 터널 서버 끝점 |
68 | Acct-터널-연결 |
69 | 터널 암호 |
70 | ARAP-암호 |
71 | ARAP-기능 |
72 | ARAP-영역-액세스 |
73 | ARAP-보안 |
74 | ARAP-보안-데이터 |
75 | 암호 재시도 |
76 | 프롬프트 |
77 | 연결 정보 |
78 | 구성 토큰 |
79 | EAP-메시지 |
80 | 메시지 인증자 |
81 | 터널 개인 그룹 ID |
82 | 터널 할당 ID |
83 | 터널 기본 설정 |
84 | ARAP-챌린지-응답 |
85 | Acct-임시-간격 |
86 | Acct-터널-패킷-손실 |
87 | NAS-포트-ID |
88 | 프레임 풀 |
89 | CUI |
90 | 터널 클라이언트 인증 ID |
91 | 터널 서버 인증 ID |
92 | NAS-필터-규칙 |
94 | 발신-회선-정보 |
95 | NAS-IPv6-주소 |
96 | 프레임 인터페이스 ID |
97 | 프레임-IPv6-접두사 |
98 | 로그인 IPv6 호스트 |
99 | 프레임 IPv6 경로 |
100 | 프레임 IPv6 풀 |
101 | 오류-원인 속성 |
102 | EAP-키-이름 |
103 | 다이제스트 응답 |
104 | 다이제스트 영역 |
105 | 다이제스트 논스 |
106 | 다이제스트-응답-인증자 |
107 | 다이제스트-넥스트논스 |
108 | 다이제스트-방법 |
109 | 다이제스트-URI |
110 | 다이제스트-Qop |
111 | 다이제스트-알고리즘 |
112 | 다이제스트-엔티티-본문-해시 |
113 | 다이제스트-CNonce |
114 | 다이제스트-논스-카운트 |
115 | 다이제스트-사용자 이름 |
116 | 다이제스트-불투명 |
117 | 다이제스트-인증-매개변수 |
118 | 다이제스트-AKA-Auts |
119 | 다이제스트-도메인 |
120 | 다이제스트-정체 |
121 | 다이제스트-HA1 |
122 | SIP-AOR |
123 | 위임된-IPv6-접두사 |
124 | MIP6-기능-벡터 |
125 | MIP6-홈-링크-접두사 |
126 | 운영자-이름 |
127 | 위치-정보 |
128 | 위치-데이터 |
129 | 기본 위치 정책 규칙 |
130 | 확장된 위치 정책 규칙 |
131 | 위치-가능 |
132 | 요청된 위치 정보 |
133 | 프레임 관리 프로토콜 |
134 | 관리 전송 보호 |
135 | 관리 정책 ID |
136 | 관리 권한 수준 |
137 | PKM-SS-인증서 |
138 | PKM-CA-인증서 |
139 | PKM-구성-설정 |
140 | PKM-암호화-제품군-목록 |
141 | PKM-SAID |
142 | PKM-SA-설명자 |
143 | PKM-인증-키 |
144 | DS-Lite-터널-이름 |
145 | 모바일 노드 식별자 |
146 | 서비스 선택 |
147 | PMIP6-홈-LMA-IPv6-주소 |
148 | PMIP6-방문-LMA-IPv6-주소 |
149 | PMIP6-홈-LMA-IPv4-주소 |
150 | PMIP6-방문-LMA-IPv4-주소 |
151 | PMIP6-홈-HN-접두사 |
152 | PMIP6-방문-HN-접두사 |
153 | PMIP6-홈-인터페이스-ID |
154 | PMIP6-방문-인터페이스-ID |
155 | PMIP6-홈-IPv4-HoA |
156 | PMIP6-방문-IPv4-HoA |
157 | PMIP6-홈-DHCP4-서버-주소 |
158 | PMIP6-방문-DHCP4-서버-주소 |
159 | PMIP6-홈-DHCP6-서버-주소 |
160 | PMIP6-방문-DHCP6-서버-주소 |
161 | PMIP6-홈-IPv4-게이트웨이 |
162 | PMIP6-방문-IPv4-게이트웨이 |
163 | EAP-하위-계층 |
164 | GSS-수용자-서비스-이름 |
165 | GSS-수용자-호스트-이름 |
166 | GSS-수용자-서비스-세부 정보 |
167 | GSS-수용자-영역-이름 |
168 | 프레임-IPv6-주소 |
169 | DNS-서버-IPv6-주소 |
170 | 경로-IPv6-정보 |
171 | 위임된-IPv6-접두사-풀 |
172 | 상태 저장-IPv6-주소-풀 |
173 | IPv6-6rd-구성 |
174 | 허용된-호출-스테이션-ID |
175 | EAP-피어-ID |
176 | EAP-서버-ID |
177 | 이동성-도메인-ID |
178 | 사전 인증-제한 시간 |
179 | 네트워크-ID-이름 |
180 | EAPoL-공지 |
181 | WLAN-HESSID |
182 | WLAN-장소-정보 |
183 | WLAN-장소-언어 |
184 | WLAN-장소-이름 |
185 | WLAN-이유-코드 |
186 | WLAN-쌍방향-암호 |
187 | WLAN-그룹-암호 |
188 | WLAN-AKM-제품군 |
189 | WLAN-그룹-관리-암호 |
190 | WLAN-RF-대역 |
속성 값 쌍에는 인증을 위한 사용자 이름, 비밀번호, PPP를 사용하는 다이얼업 인터넷 접속을 위한 PAP, CHAP, EAP 관련 속성, 어카운팅을 위한 이용 시간, 송수신 데이터량 등 다양한 정보가 포함된다. 속성 번호에 따라 인증, 어카운팅, 또는 양쪽 모두에 사용될 수 있다.
벤더 고유 기능은 속성 번호 26번 (Vendor Specific)을 사용하며, 이 속성 값 쌍을 VSA (Vendor Specific Attribute)라고 한다. VSA의 값에는 벤더 번호가 포함되며, 벤더 번호는 IANA에서 관리 및 부여한다.
5. 보안
RADIUS 프로토콜은 공유 비밀(shared secret)과 MD5 해싱 알고리즘을 사용하여 비밀번호를 난독화하여 전송하지만, 사용자 자격 증명에 대한 보호는 취약하다.[11] 따라서 IPsec 터널이나 물리적으로 보안된 데이터 센터 네트워크와 같은 추가적인 보안 조치가 필요하다. RADIUS를 통해 전달되는 터널 그룹 ID나 VLAN 멤버십과 같은 사용자별 속성 또한 민감한 정보 또는 개인 정보로 간주될 수 있다.
RadSec 프로토콜은 RADIUS 프로토콜을 TLS로 "래핑"하여 기존 RADIUS/UDP 보안 문제를 해결한다. 그러나 TLS 전송 내의 패킷은 여전히 패킷 무결성 검사 및 특정 속성의 내용 난독화를 위해 MD5를 사용한다.
Blast-RADIUS 공격은 일반 UDP로 전송될 때 RADIUS 내에서 MD5를 공격하여 RADIUS를 손상시킨다.[3] RadSec은 이 공격을 차단한다.[3] 이외에도 모든 요청 및 응답에 대해 Message-Authenticator 속성을 요구하는 방법이 권장된다.[3]
UDP는 TCP와 달리 송신자 사칭, 데이터 변조를 탐지할 수 없다. 이를 방지하기 위해 RADIUS 클라이언트와 서버 간에 공유 키(Shared secret)를 공유하고, 패킷 내용과 공유 키로부터 얻은 다이제스트 정보를 인증 부호 및 속성 값 쌍에 배치한다. 각 RADIUS 클라이언트와 서버 조합마다 하나의 공유 키를 준비해야 하며, 모든 RADIUS 클라이언트에서 같은 공유 키를 사용하는 것은 보안상 큰 위험이 된다. 또한 공유 키의 내용이 제3자에게 누설되지 않도록 주의해야 한다.
6. 역사
Merit Network는 1991년에 다양한 독점 인증, 인가 및 회계 시스템을 통합하기 위한 제안 요청서를 발송했다. Livingston Enterprises가 초기 응답자 중 하나였고, 회의 후 RADIUS의 초기 버전이 작성되었다. 초기 RADIUS 서버는 유닉스 운영 체제에 설치되었다. 루슨트 테크놀로지스에 인수된 Livingston Enterprises는 Merit과 함께 RADIUS를 프로토콜 업계에서 인정받기 위한 조치를 취했다. 두 회사 모두 RADIUS 서버를 무료로 제공했다.[12] 1997년에 RADIUS는 RFC 2058 및 RFC 2059로 발표되었으며, 현재 버전은 RFC 2865 및 RFC 2866이다.[13]
원래 RADIUS 표준은 RADIUS가 상태 비저장 프로토콜이며 사용자 데이터그램 프로토콜 (UDP)을 통해 실행되어야 한다고 명시했다. 인증을 위해 RADIUS는 비밀번호 인증 프로토콜 (PAP)과 챌린지-핸드셰이크 인증 프로토콜 (CHAP)을 지점 간 프로토콜을 통해 지원하도록 구상되었다. 비밀번호는 패킷과 공유 비밀의 MD5 해시를 계산한 다음 해당 해시를 비밀번호와 XOR 연산을 수행하여 숨겨졌다. 원래 RADIUS는 또한 50개 이상의 속성-값 쌍을 제공했으며, 공급업체가 자체 쌍을 구성할 수 있는 가능성을 제공했다.[14]
종단 간 암호화가 아닌 홉 바이 홉 보안 모델을 선택한 것은 여러 프록시 RADIUS 서버가 사용 중일 경우 모든 서버가 요청의 모든 데이터를 검사하고, 논리를 수행하고, 전달해야 함을 의미했다. 이는 비밀번호 및 인증서와 같은 데이터를 모든 홉에서 노출시킨다. RADIUS 서버는 또한 인가가 발급된 후 리소스에 대한 액세스를 중단할 수 있는 기능이 없었다. RFC 3576 및 후속 RFC 5176과 같은 후속 표준은 RADIUS 서버가 사용자의 인가를 동적으로 변경하거나 사용자를 완전히 연결 해제할 수 있도록 허용했다.[15]
현재 여러 상용 및 오픈 소스 RADIUS 서버가 존재한다. 기능은 다양할 수 있지만, 대부분 텍스트 파일, LDAP 서버, 다양한 데이터베이스 등에서 사용자를 찾아볼 수 있다. 회계 기록은 텍스트 파일, 다양한 데이터베이스에 기록하거나, 외부 서버로 전달할 수 있다. SNMP는 RADIUS 서버의 원격 모니터링 및 유지 관리 검사에 자주 사용된다. RADIUS 프록시 서버는 중앙 집중식 관리에 사용되며 보안상의 이유로 RADIUS 패킷을 즉시 다시 쓰거나 공급업체 방언 간에 변환할 수 있다.
Diameter 프로토콜은 RADIUS를 대체하기 위해 고안되었다. 둘 다 인증, 인가 및 회계 (AAA) 프로토콜이지만, 두 프로토콜의 사용 사례는 이후 갈라졌다. Diameter는 주로 3G 공간에서 사용된다. RADIUS는 다른 곳에서 사용된다. Diameter가 RADIUS를 대체하는 데 가장 큰 장벽 중 하나는 네트워크 스위치와 무선 액세스 포인트가 일반적으로 RADIUS를 구현하지만 Diameter는 구현하지 않는다는 것이다. Diameter는 SCTP 또는 TCP를 사용하는 반면, RADIUS는 일반적으로 UDP를 전송 계층으로 사용한다. 2012년 현재 RADIUS는 보안을 위해 TLS를 사용하여 TCP를 전송 계층으로 사용할 수도 있다.
7. 활용 사례
- 인터넷 서비스 제공업체의 액세스망 제공 서비스에 활용된다.
- 휴대 전화를 이용한 인터넷 접속 서비스에 활용된다.
- 무선 LAN, VLAN 환경에서 IEEE 802.1X 인증을 위해 RADIUS 프로토콜이 사용된다. IEEE 802.1X는 LAN 이용을 제어하는 이더넷 프로토콜로, EAP-TLS, PEAP, EAP-TTLS 등 EAP 프로토콜과 RADIUS 프로토콜을 함께 사용하여 RADIUS 서버를 통해 인증된 사용자만 LAN을 사용할 수 있도록 한다.[2]
- 유료 콘텐츠 제공 서비스에서 웹 서버가 RADIUS 클라이언트로 기능하여 사용자 인증을 수행한다.
- 한국에서는 공공 와이파이, eduroam, 기업 네트워크 등 다양한 환경에서 RADIUS가 활용되고 있다.
8. 표준 문서
RADIUS 프로토콜은 IETF RFC 문서에 정의되어 있으며, 주요 문서는 다음과 같다.
RFC | 제목 | 게시일 | 관련 문서 | 관련 RFC | 비고 |
---|---|---|---|---|---|
RFC 2058 | Remote Authentication Dial In User Service (RADIUS) | 1997년 1월 | RADIUS | RFC 2138에 의해 폐기됨 | |
RFC 2059 | RADIUS Accounting | 1997년 1월 | RADIUS | RFC 2139에 의해 폐기됨 | |
RFC 2138 | Remote Authentication Dial In User Service (RADIUS) | 1997년 4월 | RADIUS | RFC 2865에 의해 폐기됨 | |
RFC 2139 | RADIUS Accounting | 1997년 4월 | RADIUS | RFC 2866에 의해 폐기됨 | |
RFC 2548 | Microsoft Vendor-specific RADIUS Attributes | 1999년 3월 | RADIUS | ||
RFC 2607 | Proxy Chaining and Policy Implementation in Roaming | 1999년 6월 | |||
RFC 2618 | RADIUS Authentication Client MIB | 관리 정보 베이스 | RFC 4668에 의해 폐기됨 | ||
RFC 2619 | RADIUS Authentication Server MIB | 관리 정보 베이스 | RFC 4669에 의해 폐기됨 | ||
RFC 2620 | RADIUS Accounting Client MIB | 1999년 6월 | 관리 정보 베이스 | RFC 4670에 의해 폐기됨 | |
RFC 2621 | RADIUS Accounting Server MIB | 1999년 6월 | 관리 정보 베이스 | RFC 4671에 의해 폐기됨 | |
RFC 2809 | Implementation of L2TP Compulsory Tunneling via RADIUS | 2000년 4월 | |||
RFC 2865 | Remote Authentication Dial In User Service (RADIUS) | 2000년 6월 | RADIUS | RFC 2868, RFC 3575, RFC 5080에 의해 업데이트됨 | 망 접속 서버(NAS)와 공유 RADIUS 인증 서버 간의 RADIUS 인증 및 권한 부여에 대해 설명한다. RADIUS 서버에서 NAS로 구성 정보를 전달하는 데에도 사용된다. |
RFC 2866 | RADIUS Accounting | 2000년 6월 | RADIUS | 회계 정보가 NAS에서 공유 RADIUS 회계 서버로 전달되는 방식을 설명한다. | |
RFC 2867 | RADIUS Accounting Modifications for Tunnel Protocol Support | 2000년 6월 | RADIUS | RFC 2866 업데이트 | |
RFC 2868 | RADIUS Attributes for Tunnel Protocol Support | 2000년 6월 | RFC 2865 업데이트 | ||
RFC 2869 | RADIUS Extensions | 2000년 6월 | RFC 3579, RFC 5080에 의해 업데이트됨 | ||
RFC 2882 | Network Access Servers Requirements: Extended RADIUS Practices | 2000년 7월 | |||
RFC 3162 | RADIUS and IPv6 | 2001년 8월 | |||
RFC 3575 | IANA Considerations for RADIUS | 2003년 7월 | |||
RFC 3576 | Dynamic Authorization Extensions to RADIUS | 2003년 7월 | RFC 5176에 의해 폐기됨 | ||
RFC 3579 | RADIUS Support for EAP | 2003년 9월 | 확장 가능 인증 프로토콜 | RFC 2869 업데이트 | |
RFC 3580 | IEEE 802.1X RADIUS Usage Guidelines | 2003년 9월 | 802.1X | ||
RFC 4014 | RADIUS Attributes Suboption for the DHCP Relay Agent Information Option | 2005년 2월 | |||
RFC 4372 | Chargeable User Identity | 2006년 1월 | |||
RFC 4590 | RADIUS Extension for Digest Authentication | 2006년 7월 | RFC 5090에 의해 폐기됨 | ||
RFC 4668 | RADIUS Authentication Client MIB for IPv6 | 2006년 8월 | 관리 정보 베이스 | ||
RFC 4669 | RADIUS Authentication Server MIB for IPv6 | 2006년 8월 | 관리 정보 베이스 | ||
RFC 4670 | RADIUS Accounting Client MIB for IPv6 | 2006년 8월 | 관리 정보 베이스 | ||
RFC 4671 | RADIUS Accounting Server MIB for IPv6 | 2006년 8월 | 관리 정보 베이스 | ||
RFC 4675 | RADIUS Attributes for Virtual LAN and Priority Support | 2006년 9월 | |||
RFC 4679 | DSL Forum Vendor-Specific RADIUS Attributes | 2006년 9월 | |||
RFC 4818 | RADIUS Delegated-IPv6-Prefix Attribute | 2007년 4월 | |||
RFC 4849 | RADIUS Filter Rule Attribute | 2007년 4월 | |||
RFC 5080 | Common RADIUS Implementation Issues and Suggested Fixes | 2007년 12월 | RFC 3579 업데이트 | ||
RFC 5090 | RADIUS Extension for Digest Authentication | 2008년 2월 | |||
RFC 5176 | Dynamic Authorization Extensions to RADIUS | 2008년 1월 | |||
RFC 5607 | RADIUS Authorization for NAS Management | 2009년 7월 | |||
RFC 5997 | Use of Status-Server Packets in the RADIUS Protocol | 2010년 8월 | RFC 2866 업데이트 | ||
RFC 6158 | RADIUS Design Guidelines | 2011년 3월 | |||
RFC 6218 | Cisco Vendor-Specific RADIUS Attributes for the Delivery of Keying Material | 2011년 4월 | |||
RFC 6421 | Crypto-Agility Requirements for Remote Authentication Dial-In User Service (RADIUS) | 2011년 11월 | |||
RFC 6613 | RADIUS over TCP | 2012년 5월 | 실험적 | ||
RFC 6614 | Transport Layer Security (TLS) Encryption for RADIUS | 2012년 5월 | 실험적 | ||
RFC 6911 | RADIUS Attributes for IPv6 Access Networks | 2013년 4월 | 표준 트랙 | ||
RFC 6929 | Remote Authentication Dial-In User Service (RADIUS) Protocol Extensions | 2013년 4월 | RFC 2865, RFC 3575, RFC 6158 업데이트 | ||
RFC 7360 | Datagram Transport Layer Security (DTLS) as a Transport Layer for RADIUS | 2014년 9월 | 실험적 | ||
RFC 7585 | Dynamic Peer Discovery for RADIUS/TLS and RADIUS/DTLS Based on the Network Access Identifier (NAI) | 2015년 10월 | 실험적 | ||
RFC 8044 | Data Types in RADIUS | 2017년 1월 | 업데이트: 2865, 3162, 4072, 6158, 6572, 7268 | ||
RFC 8559 | Dynamic Authorization Proxying in the RADIUS Protocol | 2019년 4월 | 표준 트랙 |
참조
[1]
서적
802.1X Port-Based Authentication
https://books.google[...]
Taylor & Francis
[2]
웹사이트
How Does RADIUS Work?
http://www.cisco.com[...]
Cisco
2006-01-19
[3]
웹사이트
Blast-RADIUS
https://www.blastrad[...]
2024-07-09
[4]
문서
RFC 2865 Remote Authentication Dial In User Service (RADIUS)
[5]
문서
RFC 2866 RADIUS Accounting
[6]
웹사이트
The Network Access Identifier
https://tools.ietf.o[...]
Internet Engineering Task Force (IETF)
2015-05
[7]
웹사이트
MD5 considered harmful today - Creating a rogue CA certificate
http://www.win.tue.n[...]
Technische Universiteit Eindhoven
2008-12-08
[8]
웹사이트
Configure NPS UDP Port Information
https://docs.microso[...]
Microsoft
2020-08-07
[9]
뉴스
IANA Considerations for RADIUS (Remote Authentication Dial In User Service)
https://datatracker.[...]
Internet Engineering Task Force (IETF)
2003-07
[10]
문서
RFC 2548
[11]
웹사이트
An Analysis of the RADIUS Authentication Protocol
http://www.untruth.o[...]
[12]
서적
RADIUS: Securing Public Access to Private Resources
O'Reilly Media
[13]
웹사이트
The Beginnings and History of RADIUS
http://www.interlink[...]
Interlink Networks
[14]
서적
RADIUS: Securing Public Access to Private Resources
O'Reilly Media
[15]
뉴스
Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)
https://datatracker.[...]
Internet Engineering Task Force
2008-01
[16]
웹인용
The Beginnings and History of RADIUS
http://www.interlink[...]
Interlink Networks
[17]
웹인용
SolutionBase: RADIUS deployment scenarios
http://i.techrepubli[...]
TechRepublic
2006-08-31
[18]
서적
802.1X Port-Based Authentication
http://books.google.[...]
Taylor & Francis
[19]
웹인용
How Does RADIUS Work?
http://www.cisco.com[...]
시스코
2006-01-19
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com