IMS (IP Multimedia Subsystem) es un conjunto de especificaciones para ofrecer servicios multimedia a través del protocolo IP. Esto hace posible incorporar todo tipo de servicios, como los de voz, multimedia y datos, en una plataforma accesible a través de cualquier medio con conexión a internet (fija o móvil).
Origen de IMS En un principio definido por 3G.IP (conjunto de empresas pertenecientes al sector de las telecomunicaciones), fue 3GPP (3rd Generation Partnership Project) quien adoptó definitivamente la definición de IMS como parte de la estandarización de sistemas 3G en redes UMTS (Universal Mobile Telecommunications System), especificado en la Release 5 y 6.
Arquitectura Se puede dividir en tres grupos de entidades: marco|centro|Arquitectura IMS Aplicación Donde se encuentran los servidores de aplicación o AS y un HSS (Home Subscriber Server). Los AS emplean el protocolo SIP (Session Initiation Protocol) para la señalización, empleado en el establecimiento de sesiones multimedia, como las llamadas de audio y video sobre internet. Los servicios ofrecidos por los operadores de telefonía se alojan y ejecutan en los AS. Un HSS se trata de un dispositivo similar al HLR (Home Location Register) de la tecnología GSM (Global System for Mobile communications), donde se almacenan las credenciales de usuario.
Control Formada por diferentes subsistemas (CSCF, MRF, etc) entre los que está el núcleo de IMS (IMS Core).
Otros dispositivos de gran importancia en esta capa son los CSCF (Call State Control Function), que integra tres subsistemas: P-CSCF (Proxy CSCF), S-CSCF (Serving CSCF) y I-CSCF (Interrogating CSCF). Estos subsistemas son los encargados, básicamente, de: procesar y enrutar la señalización; controlar los recursos del subsistema de transporte; realizar el registro y autenticación de los usuarios; provisionar los servicios IMS mediante el desvío de la señalización a los servidores de aplicación en cuestión y generar los registros de tarificación.
La MRF proporciona las funciones relacionadas con los medios de comunicación, tales como la manipulación de los medios de comunicación y la reproducción de tonos y anuncios. Cada MRF se divide en un controlador de función de recursos de medios (MRFC) y un procesador de función de recursos de medios (MRFP). El MRFC es un nodo del plano de señalización que interpreta la información proveniente de un AS y S-CSCF para controlar el MRFP. El MRFP es un nodo del plano de los medios de comunicación, se utiliza para mezclar la fuente o flujos de medios de proceso.
Transporte Compuesta por el UE (User Equipment), la red de acceso (Access Network), el NASS (Network Attachment Subsystem) y el RACS (Resource Admission Control Subsytem). El transporte de red es realizado mediante IPv6, permitiendo la implementación de QoS (Quality of Service), seguridad integrada, autoconfiguración…
Seguridad Tras haber visto un poco lo que es IMS y los dispositivos que actúan, entramos en las especificaciones de IMS relativas a la seguridad.
Desde el punto de vista de la estandarización, únicamente existe un mecanismo de autenticación y control de acceso, especificada en la TS 33.203 del 3GPP (Access Security for IP-Based Services) y que, comúnmente, se llama AKA (Authentication and Key Agreement). Sin embargo existen otros muchos mecanismos de autenticación y control de acceso, definidas para cubrir las necesidades de terminales heredados y permitir un despliegue más rápido. Los más comunes son:
Early IMS del 3GPP para el acceso móvil. Son aquellas implementaciones de IMS que por su antelación en el tiempo no son, enteramente, compatibles con las especificaciones de IMS, por lo que no son aplicables los mecanismos de seguridad. Algunos ejemplos pueden ser las implementaciones basadas en IPv4 como los dispositivos 2G.
Digest Authentication de TISPAN y PacketCable.
NASS-IMS. Autenticación inseparable de TISPAN para redes fijas. Es un método de autenticación en el que se pretende reutilizar la autenticación de la capa de red en IMS. Fue desarrollado por TISPAN para redes fijas en las que el terminal del usuario no dispone de una tarjeta ISIM. La seguridad de este mecanismo es prácticamente la misma que la de la red de acceso.
Digest Authentication con TLS (Transport Layer Security) de PacketCable.
La variedad existente de mecanismos de autenticación utilizados en IMS, causa problemas relacionados con la interoperabilidad, la existencia de redes con distintos niveles de seguridad, la selección del método más adecuado durante el registro del cliente, etc. En este sentido, el 3GPP ha desarrollado la recomendación TR 33.803 para guiar en la selección del método de autenticación más adecuado.
AKA (Authentication and Key Agreement) La seguridad en IMS se basa en una clave secreta de larga duración compartida entre el ISIM (IP Multimedia Services Identity Module) y el centro de autenticación de la red local (AUC - Authentication Center).
ISIM: es una aplicación que se ejecuta en una tarjeta inteligente (UICC - Universal Integrated Circuit Card) y que contiene los parámetros de identificación y autenticación del usuario al IMS. AUC: Asociado en este caso al HSS. Contiene la información necesaria para realizar los procesos de autenticación y cifrado de los servicios. Almacena los algoritmos de autenticación y cifrado y genera las claves necesarias para cada servicio.
El AKA se emplea para establecer tanto las claves de cifrado (3DES o AES-CBC) como las claves de integridad (HMAC-MD5 o HMAC-SHA-1). marco|centro|Arquitectura de la Seguridad en IMS
ISIM ↔ HSS: Necesario para la autenticación mutua. Tanto el HSS como el ISIM tienen almacenada una clave secreta así como la identificación privada (IMPI) asociada a dicha clave. UA ↔ P-CSCF: Garantiza un enlace seguro entre el UE y la red. I/S-CSCF ↔ HSS: Establece una asociación de seguridad para la transferencia de información entre el I/S-CSCF y el HSS. P-CSCF ↔ I/S-CSCF: Esta asociación de seguridad se aplica solo cuando el P-CSCF no se encuentra en el Home Network. I-CSCF ↔ S-CSCF: Suministra la seguridad entre nodos SIP dentro de una misma red.
Proceso de registro de un UE IMS
Antes de que un usuario pueda conseguir el acceso a los servicios Multimedia IP, este debe registrar al menos una IMPU (IP Multimedia Public Identity), como por ejemplo, un número de teléfono. A continuación, la red debe autentificar la IMPI (IP Multimedia Private Identity) a nivel de aplicación. El proceso de registro lo inicia el terminal IMS enviando un mensaje SIP REGISTER dirigido al P-CSCF con su IMPI e IMPU. Dicho mensaje llega al P-CSCF, y éste reenvía el mensaje al I-CSCF. El I-CSCF envía un mensaje DIAMETER de solicitud de autenticación del usuario que envió el mensaje REGISTER, DIAMETER UAR al HSS, quien responde con otro mensaje DIAMETER URR y paralelamente informa al I-CSCF la dirección del S-CSCF asignado al usuario. Luego el I-CSCF reenvía el mensaje de registro al S-CSCF, el cual a su vez envía el mensaje DIAMETER MAA que incluye el IMPI, que es empleado por el HSS para calcular el AV (authentication vector)) y genera la quíntupla <RAND, AUTN, XRES, CK, IK> y regresa la quíntupla al S-CSCF a través del mensaje DIAMETER MAA. Este mensaje es un indicativo de que la red está solicitando que el terminal emplee sus algoritmos de seguridad a fin de hacer la autenticación. A continuación, el S-CSCF envía el mensaje SIP 401 Unauthorized acompañado de cuatro de los cinco parámetros que formaban el AV al I-CSCF, quien retransmite el mensaje al P-CSCF. Nuevamente, el P-CSCF retransmite el mensaje al UE pero dejando solo dos parámetros en él, el RAND y el AUTN. Dado que el terminal tiene la misma clave secreta que tiene el HSS correspondiente, el usuario puede calcular el AUTN. Si éste coincide con el que recibió de la red, se considera que la red es legítima. El UE también calcula su respuesta RES, la cual se envía con otro mensaje SIP REGISTER junto con el IMPI e IMPU. Dicho mensaje llega al P-CSCF el cual lo reenvía al I-CSCF. Después el I-CSCF envía un mensaje DIAMETER UAR al HSS quien le responde con la dirección de S-CSCF a través de un mensaje DIAMETER UAA. Entonces el I-CSCF retransmite el mensaje de registro junto con el RES al S-CSCF. Este último envía el mensaje DIAMETER SAR al HSS quien responde con el mensaje DIAMETER SAA. Si el parámetro RES enviado por el usuario es igual al XRES que había calculado el HSS durante el primer intento de registro, entonces el HSS auténtica al usuario por medio del mensaje DIAMETER SAA. Finalmente el S-CSCF envía un mensaje SIP 200 OK al P-CSCF, que lo reenvía al usuario. Los procesos de seguridad siempre son ejecutados por la Home Network, incluso si el usuario está en roaming. marco|centro|Intercambio de mensajes para el registro
Se proporciona soporte de la confidencialidad de mensajes SIP entre el UE y la P-CSCF gracias al empleo de IPsec.
Seguridad de acceso IMS para SIP De acuerdo con las especificaciones de 3GPP, la autenticación del usuario debe basarse en Digest AKA, algo análogo a la autenticación de acceso UMTS (Universal Mobile Telecommunications System) pero para SIP. La especificación 3GPP TS 33.203 exponía que la señalización entre el agente de usuario y el P-CSCF debía basarse en IPsec ESP (Encapsulating Security Payload) en modo transporte. Sin embargo, el uso de IPSec en este modo no era adecuado para su uso en redes fijas. El problema de IPsec estribaba en el cruce de NAT (Network Address Translation), por lo que TISPAN (Telecomunicaciones y convergencia a Internet de Servicios y Protocolos de Redes Avanzadas) seleccionó el modo de encapsulación UDP (User Datagram Protocol) de IPsec.
GAA (Generic Authentication Architecture) Todos los mecanismos de seguridad que hemos visto son utilizados en redes de acceso y dominios IMS. Sin embargo, es posible extender los mecanismos de autenticación mencionados anteriormente a nivel de aplicación o servicio mediante lo que se conoce como GAA.
La GAA es la arquitectura de autenticación que hace posible extender los mecanismos de autenticación existentes en IMS a nivel de aplicación/servicio. marco|centro|Protocolos empleados en las diferentes especificaciones de GAA
GAA emplea dos mecanismos de autenticación. Uno se basa en la posesión de un secreto compartido entre las entidades comunicantes (GBA - Generic Bootstrapping Architecture) derivada de las claves utilizadas en la autenticación AKA, y la otra basada en criptografía asimétrica (claves pública y privada) y certificados digitales o PKI (SSC - Support for Subscriber Certificates). marco|centro|Métodos de autenticación GAA
Autenticación usando un secreto compartido De los dos tipos de implementación, el más utilizado es la basada en secretos compartidos. La gran ventaja de GAA/GBA es que permite la creación de asociaciones de seguridad entre el agente de usuario y las distintas aplicaciones. Estas asociaciones consisten, fundamentalmente, en compartir una clave (el secreto compartido), que permite la autenticación posterior del agente de usuario frente a la aplicación, y, si son necesarias, otras características de seguridad como la garantía de confidencialidad e integridad de la información (mediante cifrado y firma digital), no repudio (firma digital), etc. El problema de estos mecanismos es la manera de ponerse de acuerdo sobre este secreto compartido. Como he mencionado anteriormente, el secreto es derivado de las claves utilizadas en la autenticación AKA.