Fundamentos de Diameter

download Fundamentos de Diameter

of 48

description

Aspectos fundamentales de Diameter

Transcript of Fundamentos de Diameter

  • Diameter ProtocolFundamentosFundamentosDigenes Marcano

    [email protected]

  • 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