본문 바로가기

정보/네트워크

AAA 프로토콜 기술

출처 : 한국표준협회

AAA 서버는 ISP나 상업망 제공 사업자에게 매우 중요한 장치이다.

통신 사업자들은 단순히 모뎀 포트를 제공하는 것에서 그치는 것이 아니라 불법적으로 서비스를 사용하는 것을 방지해야 하고, 가입자의 권한 레벨을 부여하고 검증해야 하며, 과금 및 자원 계획을 수립하기 위해 네트워크 사용에 대한 측정을 하여야 한다. AAA는 이러한 요구사항을 만족시키는 장치이다. AAA 서버에서 사용되는 AAA 프로토콜에 대한 프레임워크를 설명하고, 기존 AAA 프로토콜인RADIUS와 TACACS+에 대해 분석하고, 이 프로토콜들의 단점을 극복하기 위한 새로운 대안인 DIAMETER에 대해 알아보자.

AAA는 로밍 및 Mobile IP과 같은 서비스에 힘입어 향후에 더욱 중요한 역할을 것으로 보인다. 모뎀 포트 수를 늘리는 것과 같이 규모를 늘이는 단순한 방법으로 이러한 점들을 해결해 나간다는 것은 결국, 인증(Authentication), 권한검증(Authorization) 및 과금(Accounting)과 같은 문제로 귀결된다. AAA는 다양한 망 기술과 플랫폼들에 대한 개별 규칙들을 조화시키기 위한 프레임워크를 정의한다.

일례로 분산 AAA 서비스를 제공하기 위해 사용자의 프로파일과 제어정보를 가진 AAA 서버는 NAS와 라우터 같은 망 장치 안의 AAA 클라이언트와 통신한다. AAA 프레임워크가 제공하는 서비스를 제공하는 서비스를 살펴보기로 하자. 인증은 망 접근을 허용하기 전에 사용자의 신원을 검증하는 것이다. 인증 절차는 user name/ password 조합, 비밀 키, 생물학적 방법(지문)과 같은 사용자가 갖는 독특한 정보를 이용하는 것이다. 이 정보는 사용자에 대한 분명한 식별을 위해 사용된다. 권한검증은 망사용이 허락된 사용자에 대해 어떤 권한과 서비스를 허용할 것인지를 정하는 것이다. 여기에는 IP 주소, 제공될 응용 및 프로토콜을 결정하기 위한 필터 등이 포함된다.

인증과 권한검증은 AAA 동작 환경에서 일반적으로 함께 수행된다. 과금은 사용자의 자원 사용에 관한 정보를 모으는 방법을 제공한다. 그리고 이 정보는 요금정산, 회계 그리고 용량 증설에 사용된다. AAA 처리 절차는 다음과 같은 단계로 요약할 수 있다.

ⅰ 각 사용자는 관문 장치에 연결하여 망에 대한 접근을 요청한다.
ⅱ NAS AAA 클라이언트 기능은 사용자의 인증 정보를 받아서 AAA 서버로 전달한다.
ⅲ AAA서버는 수신 데이터를 처리하고 AAA클라이언트에게 허용 또는 거절과 함께 다른 관련 데이터를 보낸다.
ⅳ NAS의 AAA클라이언트는 사용자에게 특정한 자원에 대한 접근이 허용되었는지 또는 거절되었는지 통지한다.

NAS는 연결 설정과 종료 동안에 기록정보 수집과 저장을 위해 AAA 서버에게 과금 메시지를 보낼 수 있다. 상기 구조의 장점 중의 하나는 AAA 서버로 범용 컴퓨터 시스템을 이용할 수 있다는 점이다. 이것은 AAA 요청 처리로 인해 많은 사용자 연결에 대한 과금 정보를 기록하는데 필요한 저장 용량의 용이한 확보 뿐만 아니라 많은 포트 용량을 필요로 하는 NAS 장치에 대해 다양한 장점을 제공한다.

가장 널리 알려지고 많이 사용되는 AAA 프로토콜은 RADIUS(Remote Access Dial­In User Service) 이다. RADIUS의 기능 속성(Functional Attributes)들은 다음과 같다.

ⅰ 클라이언트­서버 기반의 동작: RADIUS 클라이언트는 NAS에 있고 망을 통해 호스트 컴퓨터에서 운영되는 RADIUS 서버와 통신한다. 그리고 RADIUS 서버도 다른 RADIUS나 인증 서버에 대해 프록시 클라이언트로 동작할 수도 있다.
ⅱ 망 보안: RADIUS 클라이언트와 서버 사이의 모든 통신은 망을 통해 전달되지 않는 공유 비밀 키에 의해 인증된다. 게다가 RADIUS 메시지 안에 포함되어 있는 사용자 비밀번호는 해커의 공격으로부터 보호하기 위해 암호화 된다.
ⅲ 유연한 인증: RADIUS는 인증을 위해 PAP(Password Authentication Protocol), CHAP (Challenge Handshake Authentication Protocol) 등 다양한 인증 방법을 지원한다.
ⅳ Attribute/Value Pair: RADIUS 메시지들은 Attribute 또는 Attribute/Value Pair라 불리는 Type­Length­Value 필드로 인코딩되어 AAA 정보를 실어 나른다. Attribute의 예로는 User­Name, User­Password, Framed­Protocol(PPP) 그리고 Framed­IP­Address(사용자에게 할당될 IP 주소) 등을 들 수 있다.

RFC 2138과 Vendor­specific 문서는 서버와 클라이언트가 지원하는 RADIUS Attribute를 정의한다. 사용자는 RADIUS 클라이언트를 지원하는 NAS에게 전화를 건다. 프롬프트나 PPP 프레임을 사용하여 NAS는 사용자 이름과 비밀번호를 받는다. 그 다음 UDP/IP를 사용하여 망을 통해 RADIUS 서버로 암호화된 Access­ Request를 전달한다. 이 메시지에는 NAS 포트 ID와 IP 주소 같은 Attribute를 포함한다. 만일 사용자 이름이 일치하고, 비밀번호가 맞다면, RADIUS 서버는 Access­Accept 메시지를 NAS에게 보낸다. 이때 IP 주소와 함께 Telnet 또는 HTTP와 같이 특정 프로토콜을 한정하는 필터와 같은 부수적인 구성 정보들이 사용된다.

AAA 서비스를 지원하는 다른 프로토콜은 TACACS(Terminal Access Controller Access Control System) 프로토콜이 있다. RFC 1492에서 최초로 정의된 TACACS 프로토콜은 시스코사에 의해 새로워져서 많은 터미널 서버, 라우터 그리고 오늘날 기업망에서 많이 사용되는 NAS 장치에서 사용되고 있다. 현재의 버전은 TACACS+인데 원래의 프로토콜에서 많은 개선을 하였다. TACACS+는 클라이언트­서버 AAA 프로토콜이며 RADIUS와 여러 가지 면에서 닮은 AAA 서비스를 지원한다. 한편, 이들 둘 사이의 기본적인 차이점은 다음과 같다.

ⅰ 트랜스포트: RADIUS는 트랜스포트로 UDP를 사용하는 반면, TACACS+는 TCP를 사용한다.
ⅱ 패킷 암호화: ADIUS는 사용자의 비밀번호만 암호화 하지만 TACACS+는 패킷 패이로드 전체를 암호화 한다.
ⅲ 인증 및 권한검증: RADIUS는 인증과 권한검증을 하나로 다루지만 TACACS+는 분리하여 다룬다.

글로벌 인터넷 접속을 지원하기 위해 AAA 프로토콜의 역할은 매우 중요하다. 예를 들면, AAA 프로토콜은 로밍 같은 서비스를 촉진시킨다. 로밍은 홈 ISP로부터 떨어져 있는 사용자가 방문 ISP에서 접속하여 인증을 받는 Dial VPN을 일반화한 것이다. 로밍 서비스는 사용자가 어느 곳에서든지 빠르고 편리하며 경제적으로 인터넷을 사용할 수 있도록 해준다. 방문 ISP RADIUS 프록시 서버는 분산 형태의 AAA 서비스를 제공하며 홈 ISP는 접근제어와 과금을 위해 마스터 RADIUS 서버를 유지한다. 이것을 더욱 확장하고 방문 프록시 서버의 설정에 대한 부담을 줄이기 위해서 제3의 서버 즉, 브로커가 사용된다.

이 구조에서 방문 및 홈 RADIUS 서버 사이의 AAA 데이터는 브로커를 통해 교환된다. 분산 AAA 방법은 홈 ISP가 향상된 접속 서비스를 제공하면서 접근 제어를 관리하게 한다. 로밍 가입자들은 방문 ISP를 통해 망을 액세스한다. RADIUS와 TACACAS+는 ISP와 기업 내 망 관리자들에게 많은 지지를 받고 있다. 그러나 이러한 프로토콜들은 단지 서버 기반의 인증이 필요한 소수 가입자들을 지원하는 소규모 망 장치를 위한 프로토콜이므로 다양한 기술 기반 위에서 동시에 수백~수천의 사용자를 지원해야만 하는 통신 사업자들을 위한 AAA 서비스에는 적합하지 않다. 또한 안전하면서도 용량을 늘려갈 수 있는 방법으로 ISP들 사이에서 AAA 서비스를 지원할 수 있어야 한다. 따라서 이러한 문제점들은 현재의 AAA 프로토콜 기능으로는 해결이 어렵기 때문에 IETF는 차세대 AAA 프로토콜을 개발하기 위한 노력을 하고 있다.

DIAMETER는 새로운 정책과 PPP같은 기존 기술과 로밍, Mobile IP 같은 새로운 기술에 대한 AAA 서비스를 제공하기 위한 가벼우면서도 확장 가능한, 피어 기반의 AAA 프로토콜로 정의할 수 있다. DIAMETER는 Attribute/Value Pair와 프록시를 지원한다는 점에서 RADIUS와 닮았다. 그러면서도 RADIUS에서 Attribute Value가 255바이트를 넘지 못하는 것과, RADIUS가 확인 메시지를 받기 전에 255개의 메시지만을 유지할 수 있었던 문제를 해결하였다. DIAMETER는 로밍과 Mobile IP 망을 지원하기 위한 목적으로 만들어졌다. DIAMETER 서버와 브로커 사이의 통신은 브로커가 CA(Certificate Authority)의 역할을 하므로 안전한 연결(Secure Connection)상에서 동작한다. 서버에 대해 인증서를 분배하는 것은 모든 서버가 공유 비밀 키를 가지는 것보다도 확장성 있으면서도 효과적인 방법이다. RADIUS와 TACACS+는 다수의 사용자를 지원하기에는 나름대로의 단점을 가지고 있는데 이것에 대한 대안으로써 DIAMETER 프로토콜에 대해 정리하였다. DIAMETER 프로토콜은 RADIUS와 호환성을 가지면서도 RADIUS나 TACACS+같이 현재 사용되는 AAA 프로토콜의 한계를 극복할 수 있는 장점을 가지고 있으므로 향후 AAA 서버의 유력한 프로토콜로 거론되고 있다. DIAMETER는 Mobile IP같이 도메인 간의 이동성을 보장하는 응용 등 새로운 정책과 AAA 서비스가 필요한 곳에 향후 많이 사용될 것으로 보인다.

'정보 > 네트워크' 카테고리의 다른 글

4G무선망기술분석 보고서  (0) 2008.10.29
ESM (Enterprise Security Management)  (0) 2008.05.19
MPLS VPN의 종류  (0) 2008.03.17
MSPP  (0) 2008.02.22
ROADM (Reconfigurable Optical Add-Drop Multiplexer)  (0) 2008.02.21