Download - Fundamentos de Diameter
-
Diameter ProtocolFundamentosFundamentosDigenes Marcano
-
Servidor AAAArquitectura Genrica
Inicialmente los protocolos de AAA, tal como RADIUS,
AuthenticationAuthorizationAccounting
Inicialmente los protocolos de AAA, tal como RADIUS,fueron diseados para suministrar acceso dial-up PPP y aterminales. Con el desarrollo creciente de Internet, y deotras tecnologas como Wireless, xDSL, IP Mvil yEthernet, los Routers y los NAS (Network Access Server)se han convertido en dispositivos muy complejos y tambinsu cantidad en la red ha aumentado, razn por la cual seles 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 redusa los credenciales para verificar que pertenecen aquien dice serquien dice ser
Autenticacin del Equipo, Autenticacin del Usuario yAutenticacin del Mensaje
Autenticacin Unilateral y Autenticacin Mutua Authentication Server
Servidor que se encarga de verificar los credenciales a fin decontrolar el acceso
-
Authorization Es el proceso mediante el cual se le asignan
determinados privilegios al poseedor de uncredencial particular
El privilegio puede ser el derecho a acceder auna serie de recursos, como bases de datos,enlaces de comunicacin, tiempo de clculo enuna serie de recursos, como bases de datos,enlaces de comunicacin, tiempo de clculo enun procesador, acceso a impresoras, etc.
Los privilegios estn asociados al perfil delusuario o del terminal
El presentador del credencial puede ser unusuario 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,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 unusuario 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 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
-
DiameterDiamater es un protocolo diseado para suministrar un marco de trabajo AAApara aplicaciones que involucran acceso a redes o aplicaciones IP Mvil.Tambin est previsto que opera en un ambiente local y en situaciones deroaming.Diameter est estandarizado de acuerdo con el RFC 3588 Diameter BaseProtocol de septiembre de 2003. En dicho RFC se establecen las bases deDiameter y slo se especifica el soporte para Accounting, mientras que los otrosservicios y protocolos, que usan Diameter o Servidores Diameter, sonservicios y protocolos, que usan Diameter o Servidores Diameter, sonconsiderados como aplicaciones para Diameter y se describen en documentosseparados. En particular Authentication y Authorization son aplicaciones deDiameter
En el RFC 3588 se define el concepto de aplicaciones para Diameter, las cualesse definen como servicios, protocolos y procedimientos que usen las facilidadessuministradas por los servidores y Proxies Diameter y por el protocolo en s.Todas las aplicaciones de Diameter deben soportar las funcionalidadesdefinidas en el documento base RFC 3588.Diameter es un protocolo peer-to-peer, en el sentido que cada nodo puedeiniciar una solicitud o request.
-
Diameter y Aplicaciones
Diameter est integrado por el protocolo base (RFC 3588) y un conjunto deprotocolos que complementan las funciones del protocolo base y que sedenominan aplicaciones de diameter. Para cada aplicacin que use los serviciosde 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, denominadoAAA y decidi dar inicio al desarrollo de un nuevoprotocolo que fuese el sucesor de RADIUS
Se evaluaron varios protocolos y se decidi trabajar conDIAMETER, as que se dedicaron esfuerzos enDIAMETER, as que se dedicaron esfuerzos enmejorarlo y estandarizarlo ante el IETF
DIAMETER fue estandarizado en septiembre de 2003 atravs del RFC 3588, donde se establecen las bases delprotocolo
Muchas de las Aplicaciones de DIAMETER estndefinidas 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 paralos protocolos de transporte y para los protocolos AAA Aboba, B. and J. Wood, "Authentication, Authorization and 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 IPApplication", RFC 4004
NASREQ: P. Calhoun et al., Diameter Network Access ServerApplication, RFC 4005. Describe el protocolo para usar losservicios AAA de Diameter para uatenticar dispositivosterminales conectados a un NAS
-
Algunos RFCs relacionados con DiameterAlgunos 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 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 transportede 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 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 entreentidades iguales o pares. Se usa para enviar y recibir mensajesde Diameter
Sesin Es un concepto, y se establece a nivel de la capa de
aplicaciones entre un dispositivo de acceso o cliente y unaplicaciones entre un dispositivo de acceso o cliente y unservidor, se identifica a travs de un Session-ID AVP
ServidorRelevoCliente
Peer Conection A Peer Conection B
Sesin de Usuario
-
Tipos de Nodos en Diameter
1. Cliente2. Servidor
En Diameter, un nodo es un host que implementael Protocolo Diameter. Los tipos de Nodos son:
2. Servidor3. 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 decontrol de acceso
Ejemplos NAS (Network Access Server) En IP Mvil: un Mobility AGENT
Diameter Server Servidor que maneja solicitudes de
autenticacin, autorizacin y accounting paraun dominio particular
-
Relay Agents Estos agentes Diameter aceptan y enrutan mensajes de
otros nodos hacia su destino, en funcin de lainformacin contenida en el mensaje y de las tablas deenrutamiento Diameter
Estos agentes nunca originan mensajes y no necesitananalizar la sintaxis del mensaje, slo analizan loanalizar la sintaxis del mensaje, slo analizan locorrespondiente al enrutamiento
Se pueden usar para agregar solicitudes de mltiplesservidores de redes de acceso
El Relay modifica el mensaje que recibe ya que inserta yremueve informacin relativa al enrutamiento, pero nomodifica ninguna otra parte del mismo
-
Ejemplo de Relay en Diameter
Aqu se muestra una solicitud realizada por un equipo terminal que se encuentraen el dominio origen.net, a travs del NAS, para el usuario [email protected]. NAS
HMSDRLNAS4 Answer
1 Request 2 Request
3 Answerorigen.net destino.net
Relay
DRL: Diameter RelayNAS: Network Access ServerHMS: Home Diameter Server
en el dominio origen.net, a travs del NAS, para el usuario [email protected]. NAShace una anlisis de la ruta usando el realm destino.net y determina que elmensaje puede ser retransmitido al DLR. El DLR hace el mismo anlisis que hizoel NAS y retransmite el mensaje al HMS el cual es el Home Diameter Server paradestino.net. El HMS determina que la solicitud puede ser resuelta localmente yprocesa la solicitud de autenticacin/autorizacin y enva una respuesta deregreso.
-
Proxy Agent El Proxy Diameter pueder ser visto como un
Relay que tambin toma decisiones en base aciertas polticas de acceso.
El Proxy puede hacer un seguimiento del estadode NAS para propsitos de suministro derecursos.de NAS para propsitos de suministro derecursos.
Tpicamente el Proxy no responde a lassolicitudes del cliente, pero puede originarmensajes de REJECT en casos cuando existaviolacin de las polticas.
El Proxy necesitar entender los mensajes quepasan a travs de l, y ni necesariamentemaneja todas las aplicaciones.
-
Redirect Agent Acta como ente centralizado para la transformacin de realm a
direcciones de servidores, y presta sus servicios a un grupodeterminado
Un DRD (Diameter ReDirect) recibe request y regresa unarespuesta especial al nodo que le hizo el request. Dicha respuestacontiene la informacin de enrutamiento que le permite al nodo quele hizo la solicitud al DRD enviar una nueva solicitud directamente alservidor del destinatario.
El DRD est fuera del camino de enrutamiento y no hace relay de
HMSDRLNAS6 Answer
1 Request 4 Request
5 Answerorigen.net destino.net
DRD
2 Request
3 Redirection Notification
example.net
El DRD est fuera del camino de enrutamiento y no hace relay desolicitudes
-
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
HMSTLANAS4 RADIUS
Answer
1 RADIUS Request
2 Diameter Request
3 Diameter Answerexample.net example.com
Ejemplo de Traduccin de RADIUS a Diameter
-
Seguridad en Diameter La seguridad en DIAMETER se realiza a travs de IPsec o TLS,
estos protocolos son aceptables en ambientes donde todos losnodos 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.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 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 (InternetKey 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
35883588
Antes de Aplicar ESP
Despus de Aplicar ESP
Campo agregado despus de aplicar ESP
SCTP
SCTP DIAMETER
DIAMETER
Paquete capa 4
-
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
Modo Tnel de ESP
Capa 4
Capa 3
Antes de Aplicar ESP
Despus de Aplicar ESP
Campo agregado despus de aplicar ESP
SCTP
SCTP
DIAMETER
DIAMETER
-
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 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 lacapa handshake
-
Diameter Header
Un mensaje en DIAMETER est formado por un encabezado o header queocupa 20 octetos, seguido por una cantidad variables de AVPs
Request/answer
La accin a ejecutarse depende del command code y de una serie deatributos incluidos en los AVPs (aattribute Value Pair) del mensaje.
Request/answer
-
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 r: reservados
Command Code: 3 octetos. Indica la accin que se debe tomar al recibir elmensaje. Este espacio de direcciones es manejado por el IANA
Application ID: 4 octetos, indica la aplicacin para la cual es aplicable elmensaje. Hay cdigos asignados por IANA y otros son propietarios de losfabricantes
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. Encada respuesta se enva el mismo nmero que se encontr en este campo en lasolicitud 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
U
n
p
a
r
d
e
c
o
m
a
n
d
o
s
(
S
o
l
i
c
i
t
u
d
,
R
e
s
p
u
e
s
t
a
)
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
U
n
p
a
r
d
e
c
o
m
a
n
d
o
s
(
S
o
l
i
c
i
t
u
d
,
R
e
s
p
u
e
s
t
a
)
-
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 enel 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 elcdigo
En estos caso los datos se representan por una coleccin de Tuple Una n-Tuple Una n-Tuple En RADIUS se usa un 3-Tuple de longitud variable 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
-
Todos los datos entregados por Diameter estn en el formato de unAVP, algunos son usados directamente por el protocolo, mientras queotros son usados por aplicaciones que emplean Diameter. Se puedenagregar AVPs en forma arbitraria e igualmente pueden excluirse.
Los AVPs se usan paraTransportar informacin de usuarios necesaria para la autenticacin
Los AVPs en DIAMETER
Transportar informacin especfica para autorizacin de un servicioentre cliente y servidor, permitiendo conocer si las solicitudes de unusuario puede recibir recursos
Intercambio de informacin de uso de recursos por parte de losusuarios
Transporte, relevo y direccionamiento de informacin de usuarios atravs de las diferentes jerarquas de servidores
-
Formato del AVP en DiameterFormato del AVP en DiameterLos AVPs llevan informacin especfica para la autenticacin, el accounting,autorizacin, enrutamiento y seguridad; as mismo portan informacin detalladapara el request y la respuesta. Un AVP est formado por un encabezado de 12octetos, seguido por los datos del AVP que son de longitud variable.
AVP Header:
AVP Code y Vendor ID (Optional). Estos campos, de 4 octetos cada uno, identifican demanera inequvoca al AVP. El Vendor ID es opcionalAVP Length. 3 octetos. Indica la longitud total del AVP, en octetos, incluyendo el Header mslos datos. Incluye el vendor ID, si est presente.Flags. VV: Indica si el Vendor ID est incluido o no en el Header, cuando est en 1 el AVPcode es especificado por el vendedor. MM: Si este bit es 1, es obligatorio soportar el AVPespecificado en el campo AVP code. PP: Indica la necesidad de cifrado de extremo a extremo.
Header: 12 bytes
-
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
-
ResumenResumen 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 uncdigo asignado por el IANA
Indican la accin a realizar, cada uno se identifica de manera nica con uncdigo 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 elmencionado RFC se describen los AVPs asociados a laaplicacin SIP
-
Ejemplos de AVP Codes
-
Ultima actualizacin 08Ultima actualizacin 08--0707--20112011
Registries included below: AVP Codes AVP Specific Values AVP Flags Application IDs Command Codes Command Flags Mobility Capability Registry Mobility Capability Registry MIP6 Authentication Mode Registry QoS Profiles
El IANA ha asigando el ID Vendor 1041510415 parapara 33GPPGPP, a la fecha existen 26Identificadores de Aplicaciones, los cuales son definidos en las respectivasTS del 3GPP
Hay 11 Identificadores de Aplicaciones para WiMAX, correspondientes alRelease 1.5
http://www.iana.org/assignments/aaa-parameters/aaa-parameters.xhtml
-
Arquitectura General de IMS
SIPSIPDIAMETERDIAMETER
HTTP, XCAPHTTP, XCAPTCP/SCTPTCP/SCTP
111111 1010
99
1212
TCP/SCTPTCP/SCTPH.248H.248Plano del Plano del Usuario Usuario IP/UDP/RTPIP/UDP/RTPCS Plano CS Plano Usuario (PCM)Usuario (PCM)CSSealizacin CSSealizacin (SS7, SIGTRAN)(SS7, SIGTRAN)
44
331313
22
77
66
55
99
88
1414
-
Identificadores de Aplicaciones para 3GPPIdentificadores de Aplicaciones para 3GPP
-
IMS y Diameter
-
IMS y Diameter (Cont.)
-
IMS y Diameter (Cont.)
-
LTE y DiameterSS66aa:: Permite la transferencia de datos desubscripcin y autenticacin, entre el MMEy el HSS, para autenticar y autorizar elacceso del usuario al EPS (interface AAA).Esta interface est basada en Diameter.
Application ID: 16777251interfaces S6a(MME-HSS)
Esta aplicacin dispone de losCommand Codes desde 316 al323 para enviar mensajes entreel MME y el HSS en LTE