Sei sulla pagina 1di 48

Diameter Protocol Fundamentos

Digenes Marcano atel.asesores@cantv.net

Servidor AAA Arquitectura Genrica


Authentication Authorization Accounting
Inicialmente los protocolos de AAA, tal como RADIUS, fueron diseados para suministrar acceso dial-up PPP y a terminales. Con el desarrollo creciente de Internet, y de otras tecnologas como Wireless, xDSL, IP Mvil y Ethernet, los Routers y los NAS (Network Access Server) se han convertido en dispositivos muy complejos y tambin su cantidad en la red ha aumentado, razn por la cual se les han exigido otras prestaciones a los protocolos AAA

Authentication
Es el proceso por el cual se verifica la identidad de quien enva informacin y tambin de quien la recibe La autenticacin se realiza por medio de la presentacin de la identidad a travs de ciertos credenciales. La red usa los credenciales para verificar que pertenecen a quien dice ser Autenticacin del Equipo, Autenticacin del Usuario y Autenticacin del Mensaje Autenticacin Unilateral y Autenticacin Mutua Authentication Server
Servidor que se encarga de verificar los credenciales a fin de controlar el acceso

Authorization
Es el proceso mediante el cual se le asignan determinados privilegios al poseedor de un credencial particular El privilegio puede ser el derecho a acceder a una serie de recursos, como bases de datos, enlaces de comunicacin, tiempo de clculo en un procesador, acceso a impresoras, etc. Los privilegios estn asociados al perfil del usuario o del terminal El presentador del credencial puede ser un usuario o un equipo terminal

Accounting
Es el proceso de recoleccin de informacin sobre el uso de recursos con miras a realizar capacity planning, auditoras, facturacin y asignacin de costos Auditora
Consiste en el chequeo peridico para determinar la consistencia de la informacin y de las polticas de gestin, sobre todo de seguridad

Asignacin de Costos
Trata sobre la estructura de costos para cada uno de los servicios de los usuarios

Accounting Record
Representa un resumen sobre el consumo de recursos de un usuario y es generado por el Accounting Server

SCTP RFC 4960 Stream Control Transmission Protocol


Es un protocolo de capa de transporte, orientado a conexin, definido en el RFC 4960 y fue desarrollado por SIGTRAN que es un grupo de trabajo del IETF Se ubica en un nivel similar a TCP y UPD pero con mejores prestaciones SCTP fue diseado para transportar mensajes de sealizacin de la PSTN sobre IP, pero tambin tiene muchas otras aplicaciones Caractersticas
Es confiable Se ubica en el tope de redes de paquetes no orientadas a conexin, tal como IP Servicios
Acuse de recibo libre de errores, deteccin de paquetes duplicados Fragmentacin de paquetes Envo de mltiples mensajes en un solo paquete SCTP Control de secuencia de los mensajes recibidos Tolerancia a fallas en la red: un simple nodo SCTP puede soportar varias IP. En caso de fallas en la red los mensajes se pueden enrutar por redes diferentes.

Los servidores y los agentes DIAMETER deben soportar TCP y SCTP Los clientes DIAMETER deben soportar TCP o SCTP

Diameter
Diamater es un protocolo diseado para suministrar un marco de trabajo AAA para aplicaciones que involucran acceso a redes o aplicaciones IP Mvil. Tambin est previsto que opera en un ambiente local y en situaciones de roaming. Diameter est estandarizado de acuerdo con el RFC 3588 Diameter Base Protocol de septiembre de 2003. En dicho RFC se establecen las bases de Diameter y slo se especifica el soporte para Accounting, mientras que los otros servicios y protocolos, que usan Diameter o Servidores Diameter, son considerados como aplicaciones para Diameter y se describen en documentos separados. En particular Authentication y Authorization son aplicaciones de Diameter En el RFC 3588 se define el concepto de aplicaciones para Diameter, las cuales se definen como servicios, protocolos y procedimientos que usen las facilidades suministradas por los servidores y Proxies Diameter y por el protocolo en s. Todas las aplicaciones de Diameter deben soportar las funcionalidades definidas en el documento base RFC 3588. Diameter es un protocolo peer-to-peer, en el sentido que cada nodo puede iniciar una solicitud o request.

Diameter y Aplicaciones

Diameter est integrado por el protocolo base (RFC 3588) y un conjunto de protocolos que complementan las funciones del protocolo base y que se denominan aplicaciones de diameter. Para cada aplicacin que use los servicios de diameter se genera el protocolo adaptado a la misma.

Historia de Diameter
Al terminar RADIUS en el primer semestre de 2000, surgi un nuevo grupo de trabajo del IETF, denominado AAA y decidi dar inicio al desarrollo de un nuevo protocolo que fuese el sucesor de RADIUS Se evaluaron varios protocolos y se decidi trabajar con DIAMETER, as que se dedicaron esfuerzos en mejorarlo y estandarizarlo ante el IETF DIAMETER fue estandarizado en septiembre de 2003 a travs del RFC 3588, donde se establecen las bases del protocolo Muchas de las Aplicaciones de DIAMETER estn definidas en otros RFCs

Estandarizacin de Diameter
El documento base RFC 3588
P. Calhoun, E. Guttman, G. Zorn, J. Arkko Diameter Base Protocol, September 2003

Transport Profile: Requisitos y recomendaciones para los protocolos de transporte y para los protocolos AAA
Aboba, B. and J. Wood, "Authentication, Authorization and Accounting (AAA) Transport Profile", RFC 3539, June 2003.

Applications
Mobile IPv4: P. Calhoun, C. Perkins, "Diameter Mobile IP Application", RFC 4004 NASREQ: P. Calhoun et al., Diameter Network Access Server Application, RFC 4005. Describe el protocolo para usar los servicios AAA de Diameter para uatenticar dispositivos terminales conectados a un NAS

Algunos RFCs relacionados con Diameter

Diameter Permite las Siguientes Facilidades


Entrega de AVPs (Attribute Value Pair)
Un AVP es un esquema ordenado de presentacin de datos

Negociacin de las Capacidades Notificacin de errores Flexibilidad


Definicin de nuevos valores para los AVPs Incorporacin de nuevos comandos y AVPs Creacin de nuevas aplicaciones de autenticacin y autorizacin Creacin de nuevas aplicaciones

Servicios bsicos para aplicaciones


Manejo de Sesiones de Usuarios Accounting

Caractersticas de DIAMETER
Failover: deteccin automtica de fallas bien definida Seguridad a nivel de transmisin: seguridad intra e inter dominios AAA,
IPsec es obligatorio TLS es opcional

Transporte Confiable: Diameter usa TCP y SCTP como protocolos de transporte Diameter no soporta UDP Soporte de Agentes bien definido
Proxies, Redirects y Relays

Permite mensajes originados en el Server: Peer-to-Peer Auditabilidad: DIAMETER soporta, como opcin, seguridad en Objetos de Datos Compatibilidad con RADIUS

Caractersticas de DIAMETER (cont.)


Capacidad de Negociacin
Manejo de Errores, Capacidad de Negociacin y AVPs Obligatorios y Opcionales

Peer Discovery y Configuracin


Usando DNS Diameter permite descubrir en forma dinmica sus pares.

Capacidad de Roaming
Facilidad de Roaming entre operadores

Conexin y Sesin
Conexin
Se realiza a nivel de la capa de transporte y se establece entre entidades iguales o pares. Se usa para enviar y recibir mensajes de Diameter

Sesin
Es un concepto, y se establece a nivel de la capa de aplicaciones entre un dispositivo de acceso o cliente y un servidor, se identifica a travs de un Session-ID AVP

Cliente

Relevo

Servidor

Peer Conection A

Peer Conection B

Sesin de Usuario

Tipos de Nodos en Diameter


En Diameter, un nodo es un host que implementa el Protocolo Diameter. Los tipos de Nodos son: 1. Cliente 2. Servidor 3. Agentes Diameter: Poseen tablas de enrutamiento Diameter
Relay (Retransmisin) Proxy Redirect Traslation

Clientes y Servidores
Cliente
Es un nodo ubicado en el borde de la red de control de acceso Ejemplos
NAS (Network Access Server) En IP Mvil: un Mobility AGENT

Diameter Server
Servidor que maneja solicitudes de autenticacin, autorizacin y accounting para un dominio particular

Relay Agents
Estos agentes Diameter aceptan y enrutan mensajes de otros nodos hacia su destino, en funcin de la informacin contenida en el mensaje y de las tablas de enrutamiento Diameter Estos agentes nunca originan mensajes y no necesitan analizar la sintaxis del mensaje, slo analizan lo correspondiente al enrutamiento Se pueden usar para agregar solicitudes de mltiples servidores de redes de acceso El Relay modifica el mensaje que recibe ya que inserta y remueve informacin relativa al enrutamiento, pero no modifica ninguna otra parte del mismo

Ejemplo de Relay en Diameter


1 Request NAS origen.net 4 Answer Relay DRL 3 Answer destino.net 2 Request HMS

Aqu se muestra una solicitud realizada por un equipo terminal que se encuentra en el dominio origen.net, a travs del NAS, para el usuario bob@destino.net. NAS hace una anlisis de la ruta usando el realm destino.net y determina que el mensaje puede ser retransmitido al DLR. El DLR hace el mismo anlisis que hizo el NAS y retransmite el mensaje al HMS el cual es el Home Diameter Server para destino.net. El HMS determina que la solicitud puede ser resuelta localmente y procesa la solicitud de autenticacin/autorizacin y enva una respuesta de regreso. DRL: Diameter Relay NAS: Network Access Server HMS: Home Diameter Server

Proxy Agent
El Proxy Diameter pueder ser visto como un Relay que tambin toma decisiones en base a ciertas polticas de acceso. El Proxy puede hacer un seguimiento del estado de NAS para propsitos de suministro de recursos. Tpicamente el Proxy no responde a las solicitudes del cliente, pero puede originar mensajes de REJECT en casos cuando exista violacin de las polticas. El Proxy necesitar entender los mensajes que pasan a travs de l, y ni necesariamente maneja todas las aplicaciones.

Redirect Agent
Acta como ente centralizado para la transformacin de realm a direcciones de servidores, y presta sus servicios a un grupo determinado Un DRD (Diameter ReDirect) recibe request y regresa una respuesta especial al nodo que le hizo el request. Dicha respuesta contiene la informacin de enrutamiento que le permite al nodo que le hizo la solicitud al DRD enviar una nueva solicitud directamente al servidor del destinatario. El DRD est fuera del camino de enrutamiento y no hace relay de solicitudes
DRD 2 Request 1 Request NAS origen.net 6 Answer DRL example.net 5 Answer destino.net 4 Request HMS 3 Redirection Notification

Translation Agent : TLA


Se encarga de hacer una traduccin entre Diameter y otros protocolos AAA, tal como RADIUS Su funcin principal es garantizar la compatibilidad con RADIUS
Ejemplo de Traduccin de RADIUS a Diameter
1 RADIUS Request NAS example.net 4 RADIUS Answer TLA 3 Diameter Answer 2 Diameter Request HMS example.com

Seguridad en Diameter
La seguridad en DIAMETER se realiza a travs de IPsec o TLS, estos protocolos son aceptables en ambientes donde todos los nodos son confiables Todas las implementaciones de DIAMETER deben soportar
IPsec ESP (Encapsulating Security Payload) en modo Transporte (Transport Mode) IKE (Internet Key Exchange Protocol) para autenticacin, negociacin de Asociaciones de Seguridad, gestin de claves.

Los servidores y agentes DIAMETER deben soportar obligatoriamente Ipsec y TLS Mientras que los clientes estn obligados a soportar Ipsec, y TLS es opcional. RECOMENDACIN
IPsec para intra-dominio comunicacin TLS para inter-dominio comunicacin

Cmo trabaja IPsec?


Para ofrecer sus servicios de seguridad IPsec usa dos protocolos
Authentication Header (AH): RFC 4302 Encapsulating Security Payload (ESP): RFC 4303

AH es opcional: actualmente casi no se usa


Ofrece integridad y autenticacin del origen de los datos

ESP es obligatorio
Ofrece los mismos servicios de AH y adems ofrece confidencialidad atravs del cifrado de la informacin

Cada protocolo tiene dos modos de operacin


Modo Transporte: para proteger la capa de transporte Modo Tnel: para proteger los paquetes IP de la capa de red

Para el intercambio de claves de seguridad IPsec usa IKE (Internet Key Excange) RFC 5996
IKE permite el intercambio seguro de claves en la red

IPsec ESP Modo Transporte


(Encapsulating Security Payload) Encabezado IP. Protocol=50 (IPv4) Next Header=50 (IPv6)

CAMPOS AGREGADOS DESPUS DE APLICAR ESP EN MODO TRANSPORTE

En el modo TRANSPORTE ESP protege slo el payload del paquete IP. No protege el IP Header.

Paquete ESP
ESP Header

ESP Trailer ESP Authentication

IPsec ESP Modo Transporte (Cont.)


Se usa entre dos host que soportan IPsec, para proveer seguridad de extremo a extremo en la capa de transporte Slo se protegen las capas superiores a IP La proteccin de seguridad aplica despus del encabezado IP y sus opciones Este es el modo que se usa en DIAMETER de acuerdo al RFC 3588
Antes de Aplicar ESP Despus de Aplicar ESP

Paquete capa 4 SCTP DIAMETER

SCTP

DIAMETER

Campo agregado despus de aplicar ESP

Modo Tnel de ESP


Se usa para proteger al paquete de la capa IP Protege el IP Header, las Opciones y el Payload El alcance de seguridad es mayor que el del modo transporte
Capa 3 Capa 4
Antes de Aplicar ESP Despus de Aplicar ESP

SCTP

DIAMETER

SCTP

DIAMETER

Campo agregado despus de aplicar ESP

TLS: Transport Layer Security RFC 5246


Para protocolos orientados a conexin: TCP y SCTP
Confidencialidad Integridad

Se usa para proteger informacin entre elementos de la red IMS TLS consiste de dos capas
TLS handshake layer TLS record layer

TLS Handshake Layer, maneja


La autenticacin de pares usando claves pblicas y certificados (ej. X509) La negociacin de algoritmos y claves de cifrado Despus que se establece la conexin confiable a nivel de transporte el TLS Handshake toma el control a travs un intercambio de mensajes

TSL Record Layer maneja


El cifrado de los datos usando algoritmos de encriptacin simtrica, cuyas claves se generan a partir de los valores suministrados por la capa handshake

Diameter Header
Un mensaje en DIAMETER est formado por un encabezado o header que ocupa 20 octetos, seguido por una cantidad variables de AVPs

Request/answer

La accin a ejecutarse depende del command code y de una serie de atributos incluidos en los AVPs (aattribute Value Pair) del mensaje.

Campos en el Header Diameter


Versin: indica la versin de Diameter Message length: 3 octetos, indica la longitud del mensaje; incluyendo el header y los AVPs Command Flags: 1 octeto
R (request), si es puesto a 1 es Request, si no es Answer P (proxiable), E (error), T (retransmission) r: reservados

Command Code: 3 octetos. Indica la accin que se debe tomar al recibir el mensaje. Este espacio de direcciones es manejado por el IANA Application ID: 4 octetos, indica la aplicacin para la cual es aplicable el mensaje. Hay cdigos asignados por IANA y otros son propietarios de los fabricantes Hop-by-Hop Identifier: 4 octetos
Identificador que ayuda al maching entre las solicitudes y las respuestas. A medida que el mensaje pasa de un salto a otro se cambia este identificador. En cada respuesta se enva el mismo nmero que se encontr en este campo en la solicitud que gener dicha respuesta

End-to-End Identifier: 4 octetos


Identificador entre los extremos que se estn comunicando y permite detectar mensajes duplicados

Command Codes Definidos RFC 3588


Un par de comandos (Solicitud, Respuesta)
El IANA ha asignado ESTOS Command Codes en el documento base. En el RFC 3589 se presentan los Command Codes para las aplicaciones del 3GPP

Identificador de Aplicaciones Diameter


Cada aplicacin en Diameter debe tener un identificador definido por el IANA (Internet Assigned Numbers Authority) : Application ID de 4 octetos El protocolo base no necesita un identificador ya que es soportado por todos los nodos Application ID, en el header de Diameter, identifica la aplicacin a la cual va dirigido el mensaje identificado por el Command Code que tambin est en el header Se han definido los siguientes identificadores

Relay 0xFFFFFFFF Para aplicaciones estndares 0x00000001 to 0x00FFFFFF Para aplicaciones de proveedores 0x01000000 - 0xFFFFFFFE bajo el esquema el primero que solicita, primero en ser servido

Diameter Command Code Registration for the 3GPP Evolved Packet System RFC 5516 (2009)
Application ID: 16777251 interfaces S6a(MME-HSS) / S6d (SGSN-HSS).

Application ID: 16777252 interfaces S13/S13'

AVP: Attribute Value Pair


En computacin un AVP se refiere a una forma de representacin de datos llamados Atributos. Se usa en los sistemas abiertos donde se requiere que las estructuras de datos permitan extensiones futuras sin modificar el cdigo En estos caso los datos se representan por una coleccin de Tuple Una n-Tuple <Atributo1, Atributo2,.. Atributon > En RADIUS se usa un 3-Tuple de longitud variable <Attribute Type, Attribute Length, Attribute Value>
Attribute Length ocupa un octeto, as slo habrn 256 AVPs diferentes para cada aplicacin

En Diameter todos los mensajes consisten de un Header estndar seguidos de una serie de AVPs En Diameter se usa un 5-Tuple
<Attribute Type, Flags, Attribute Length, Vendor-ID, Attribute Value>

Los AVPs en DIAMETER


Todos los datos entregados por Diameter estn en el formato de un AVP, algunos son usados directamente por el protocolo, mientras que otros son usados por aplicaciones que emplean Diameter. Se pueden agregar AVPs en forma arbitraria e igualmente pueden excluirse. Los AVPs se usan para Transportar informacin de usuarios necesaria para la autenticacin Transportar informacin especfica para autorizacin de un servicio entre cliente y servidor, permitiendo conocer si las solicitudes de un usuario puede recibir recursos Intercambio de informacin de uso de recursos por parte de los usuarios Transporte, relevo y direccionamiento de informacin de usuarios a travs de las diferentes jerarquas de servidores

Formato del AVP en Diameter


Los AVPs llevan informacin especfica para la autenticacin, el accounting, autorizacin, enrutamiento y seguridad; as mismo portan informacin detallada para el request y la respuesta. Un AVP est formado por un encabezado de 12 octetos, seguido por los datos del AVP que son de longitud variable.

AVP Header: 12 bytes

AVP Code y Vendor ID (Optional). Estos campos, de 4 octetos cada uno, identifican de manera inequvoca al AVP. El Vendor ID es opcional AVP Length. 3 octetos. Indica la longitud total del AVP, en octetos, incluyendo el Header ms los datos. Incluye el vendor ID, si est presente. Flags. V: Indica si el Vendor ID est incluido o no en el Header, cuando est en 1 el AVP code es especificado por el vendedor. M: Si este bit es 1, es obligatorio soportar el AVP especificado en el campo AVP code. P: Indica la necesidad de cifrado de extremo a extremo.

RFCs donde se especifica el AVP Code


Cdigos del 1 al 255
Compatibilidad con RADIUS

RFC 3588
257-263, 287, 480, 483, 485, 487

RFC 4004
318-323, 325-326, 328-329, 331-348, 367

RFC 4005
295, 363-366, 400-408

RFC 4006
411-461

RFC 4072
462-465

RFC 4740
368-393

RFC5447
486

Aqu se asignan los Command Codes y los AVP Codes para la aplicacin Diameter Session Initiation Protocol (SIP) Application Application ID=6

Resumen
Cada aplicacin tiene Aplication ID Nombre Un grupo de Command identificados cada uno por un Command Code asignado por el IANA que definen la tarea que realizar Un grupo de AVPs y sus cdigos asignados por el IANA. Los AVPs llevan los parmetros de los mensajes Diameter Command Code Indican la accin a realizar, cada uno se identifica de manera nica con un cdigo asignado por el IANA Cada Command Code pertenece a una aplicacin particular
Ejemplo: Identificacin de la Aplicacin 16777216

Command Code

RFC 4740 Diameter Session Initiation Protocol (SIP) Application ID=6


Diameter SIP Application Command Codes

Ntese que todos los mensajes son Request o Answer. En el mencionado RFC se describen los AVPs asociados a la aplicacin SIP

Ejemplos de AVP Codes

Ultima actualizacin 0808-07 07-2011


Registries included below:
AVP Codes AVP Specific Values AVP Flags Application IDs Command Codes Command Flags Mobility Capability Registry MIP6 Authentication Mode Registry QoS Profiles

El IANA ha asigando el ID Vendor 10415 para 3GPP, a la fecha existen 26 Identificadores de Aplicaciones, los cuales son definidos en las respectivas TS del 3GPP Hay 11 Identificadores de Aplicaciones para WiMAX, correspondientes al Release 1.5 http://www.iana.org/assignments/aaa-parameters/aaa-parameters.xhtml

Arquitectura General de IMS


11 1 12 9 5 4 7 8 3 6 13 2 14 10
SIP DIAMETER HTTP, XCAP TCP/SCTP H.248 Plano del Usuario IP/UDP/RTP CS Plano Usuario (PCM) CSSealizacin (SS7, SIGTRAN)

Identificadores de Aplicaciones para 3GPP

IMS y Diameter

IMS y Diameter (Cont.)

IMS y Diameter (Cont.)

LTE y Diameter
S6a: Permite la transferencia de datos de
subscripcin y autenticacin, entre el MME y el HSS, para autenticar y autorizar el acceso del usuario al EPS (interface AAA). Esta interface est basada en Diameter.

Application ID: 16777251 interfaces S6a(MME-HSS) Esta aplicacin dispone de los Command Codes desde 316 al 323 para enviar mensajes entre el MME y el HSS en LTE

Potrebbero piacerti anche