SET 39 Call For Papers

¿Eres un hacker? Si deseas pasar a formar parte de la historia del hacking hispano, colabora con la próxima edición de SET 39 enviándonos un artículo. No esperes más, esta es tu oportunidad de demostrar lo que sabes. Ayúdanos a construir una revista de hackers para hackers. SET Staff

SET 13

55867 visitas

GSM - Segunda Parte

      4720

Autor: Falken
-[ 0x08 ]--------------------------------------------------------------------
-[ GSM II ]------------------------------------------------------------------
-[ by Falken ]--------------------------------------------------------SET-13-


                          ######## ######## #########
                          #      # #        # # #   #
                          #        ######## # # #   #
                          #     ##        # #   #   #
                          #      # #      # # # # # #
                          ######## ######## # # # # #

                                     |_   
                                     |_)\/
                                        / 
                   _     _        _             _            
                  |_ |  |_)._ _ _|_ _  _ _ ._  |_ _.||  _ ._ 
                  |_ |  |  | (_) | (/__>(_)|   | (_|||<(/_| |


                  -<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-

                                 SEGUNDA PARTE

                  -<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-


EN EL EPISODIO ANTERIOR...
=-=-=-=-=-=-=-=-=-=-=-=-=-

    En el anterior numero dejamos la red GSM en la definicion de las
interfaces entre las entidades que conforman la red, y los protocolos de
comunicacion usados en las comunicaciones entre las mismas.

    En esta ocasion vamos a retomar un tema tan interesante como es la
red GSM partiendo de los procedimientos que se siguen cuando se usan algunos
de los servicios de los terminales GSM, al iniciar o recibir una llamada,
los procesos de autentificacion...

    Y como no quiero enrollarme mas, que p'a rollos la informacion que
suministra el Dr. Watson (NT), empiezo ya a contaros los procedimientos
basicos. Engage!


PROCEDIMIENTOS BASICOS DEL SERVICIO GSM
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    Una vez vistas las caracteristicas de las entidades que componen la red
GSM pasamos a la descripcion del servicio GSM.

    Lo que define al servicio de telefonia movil GSM son los procedimientos
que las diferentes entidades de una red GSM llevan a cabo durante todas las
fases de una comunicacion. Asi, distinguimos los siguientes procedimientos
basicos:

         * Registro de estaciones moviles (Attach).
         * Cancelacion de registro de MS (Detach).
         * Llamadas desde estaciones moviles.
         * Llamadas a estaciones moviles.
         * Cambio de canal (Handover).
         * Seguimiento y actualizacion de la posicion (Roaming).

    Por registro de una MS se entiende le proceso que se produce al encender
el terminal. En este momento, el terminal notifica al sistema GSM que el
movil esta en disposicion de iniciar y recibir llamadas, quedando esta
informacion registrada. De ahi lo de registro, como podreis suponer.

    Una MS registrada, cuando se encuentra en estado de reposo, se encuentra
permanentemente sintonizando los canales BCCH y CCCH.

    Por el BCCH se recibe la informacion general de la red, esto es, el area
de localizacion actual, las celulas adyacentes, etc.

    En cambio, por el CCCH la red notifica las llamadas entrantes a las MS.


PROCEDIMIENTO DE ACCESO AL SERVICIO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    Es un procedimiento que se lleva a cabo en el momento en el que el movil
accede a la red para solicitar alguno de los siguientes servicios:

         * Registro y cancelacion de una MS.
         * Actualizacion de la posicion.
         * Iniciar una llamada.
         * Recibir una llamada.

    El procedimiento de acceso tiene siempre su origen en la MS. Su objetivo
es la asignacion de una canal dedicado para el intercambio de la se€alizacion
entre la MS y la MSC.

    Para llevar a cabo este procedimiento, se usan los canales RACH, AGCH y
SDCCH.

    En el caso de que exista colision en el acceso de varios moviles sobre
el RACH, se usa la tecnica de contienda Aloha. Esta tecnica se fundamenta en
el hecho de la retroalimentacion, esto es, cuando la trama emitada, pasado
un tiempo, vuelve al emisor. Asi, el emisor puede saber si la trama pudo ser
enviada o no, pues en el caso negativo, la trama habra sido destruida. En
este caso, se espera un tiempo aleatorio, y se reenvia la trama. Y esto es
la tecnica Aloha.

    La trama enviada para el acceso a RACH, y posibilitar la resolucion de
contienda, presenta el siguiente formato:

    +---+---+---+---+---+---+---+
    | * | * | * | X | X | X | X |
    +---+---+---+---+---+---+---+
    \__________/ \______________/
         |              |
         |              +----------> DISCRIMINADOR ALEATORIO
         |
         +-------------------------> | - Registro, cancelacion de MS.
                             TIPO DE | - Actualizacion de posicion.
                              ACCESO | - Iniciar una llamada.
                                     | - Recibir una llamada.
                                     | - Reestablecimiento de una llamada.

    Y aqui tenemos el procedimiento de acceso en la forma que ya deberiais
estar acostumbrados a ver:

         MS                  BTS              BSC                MSC
          |                   |                |                  |
          |RIL3-RR CHANNEL REQ|                |                  |
          |------------------>|                |                  |
          |[TA, DA]           |RMS CHANNEL REQ |                  |
          |                   |--------------->|                  |
          |                   |           .--------.              |
          |                   |           |Eleccion|              |
          |                   |           |de SDCCH|              |
          |                   |           `--------'              |
          |                   |RSM CH. ACTIVATE|                  |
          |                   |<---------------|                  |
          |                   |RSM CH ACTIV ACK|                  |
          |                   |--------------->|                  |
          |RIL3-RR INM ASSIGN |RSM INM ASSIGNAM|                  |
          |<------------------|<---------------|                  |
          |[ChA, PM, TA, DA]  |[ChA, PM, TA,   |                  |
  .---------------.           | DA]            |                  |
  | Adaptacion al |           |                |                  |
  |  nuevo canal  |           |                |                  |
  `---------------'           |                |                  |
          | SABM (MI)         |                |                  |
          |------------------>|                |                  |
          | UA (MI)           |                |                  |
          |<------------------|                |                  |
          |                   | RSM ESTAB IND  |                  |
          |                   |--------------->|                  |
          |                   | (MI)           |BSSMAP COMP INFORM|
          |                   |                |----------------->|
          |                   |                | (MI)             |
         """                 """              """                """

    TA  -> Tipo de acceso.
    DA  -> Discriminador aleatorio.
    ChA -> Canal asignado.
    PM  -> Potencia Maxima.
    MI  -> Mensaje inicial.

    * NOTA: Entre corchetes se muestran los parametros que se envian de una
            entidad a otra. Esta representacion sera la que se siga en el
            resto de los esquemas de este estilo.


PROCEDIMIENTOS DE SEGURIDAD
=-=-=-=-=-=-=-=-=-=-=-=-=-=

    Por fin, aqui esta el tema que seguramente os interesara mas. Y para no
entreteneros mas, here we go!

    Cuando se solicita algun tipo de servicio se realizan algunas tareas de
seguridad para proteger la informacion que se transmita. Estas tareas son:

         * Autentificacion en el acceso a la red.
         * Cifrado de la informacion en la interfaz de radio.
         * Identificacion del equipo movil.
         * Asignacion de identidad temporal.

    Para llevar a cabo los procesos de autentificacion y cifrado se define
la siguiente tripleta.

         * Un numero aleatorio (RAND).
         * La respuesta firmada (SR).
         * La clave de cifrado (Kc).

    Esta tripleta se corresponde con cada abonado al servicio GSM y es
almacenada en el HLR.

    La tripleta se genera en el AuC, segun el proceso que ilustra el dibujito
siguiente:

               .-------------.
               | IMSI <-> Ki -----+
               | IMSI <-> Ki |    |
               |  ::      :: |    |
               | IMSI <-> Ki |    |
               `-------------'    |
               Base de datos      +--------->.----.
               IMSI y Ki          |          | A8 | ---> Kc
                                  |   +----->`----'
                                  |   |
                                  +--------->.----.
                                      |      | A3 | ---> SR
                                      +----->`----'
                   .------.           |
                   | RAND | ----------+----------------> RAND
                   `------'

    El proceso es muy simple. Del IMSI almacenado en la base de datos del
AuC se mira la Ki, o lo que es lo mismo, la clave secreta del usuario, que
como ya os imaginareis es la misma que se almacena en la tarjeta SIM. Esta
clave (Ki) es usada como entrada, junto con un numero aleatorio (RAND), tanto
para generar la clave de cifrado (Kc) como la respuesta firmada (SR).

    Para obtener Kc, se usa el algoritmo denominado A8. SR se obtiene con los
mismos datos (ya lo habia dicho, no?) y un algoritmo al que se le denomina
A3.

    Ahora vamos a ver como se raliza cada proceso dentro de los procesos de
seguridad, explicando mejor para que se usan estos numeros almacenados en
tripletas en el HLR.


PROCEDIMIENTO DE AUTENTIFICACION
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    La autentificacion, como su propio nombre indica, se usa para identificar
al usuario dentro de la red GSM. La autentificacion se lleva a cabo en los
siguientes procesos:

         * Registro de una estacion movil.
         * Llamada desde la estacion movil.
         * Actualizacion de localizacion.

    Ahora, veamos de una forma grafica como se produce la autentificacion de
un usuario:

             MS                           MSC                VLR
              |                            |                  |
              |                            |        .-------------------.
              |                            |        |   Analisis IMSI   |
              |                            |        |Identifica tripleta|
              |                            |        `-------------------'
              |                            |MAP/B AUTHENTICATE|
              |                            |<-----------------|
              | RIL3-MM AUTHENTICATION REQ |[Rand]            |
              |<---------------------------|                  |
              |                            |                  |
   .---------------------.                 |                  |
   | Calculo de Kc y SR  |                 |                  |
   |a partir de Rand y K1|                 |                  |
   `---------------------'                 |                  |
              |    RIL3-MM AUTHENT RESP    |                  |
              |--------------------------->|                  |
              |[SR]                        |MAP/B AUTHENT RESP|
              |                            |----------------->|
              |                            |[SR]              |
              |                            |            .------------.
       .-------------.                     |            |Comprobacion|
       | Almacena Kc |                     |            |SRmsc = SRms|
       `-------------'                     |            `------------'
              |                            | MAP/B ACCESS ACK |
              |                            |<-----------------|
              |     RIL3-MM ACCESS ACK     |                  |
              |<---------------------------|                  |
              |                            |                  |
             """                          """                """

    El proceso es muy simple. Como ya hemos visto, en el HLR se mantiene una
tripleta con los datos Kc, Rand y SR. Tambien hemos visto que Kc y SR se
obtienen del uso del numero aleatorio Rand y la clave secreta del usuario Ki.
Esta clave, como sabemos se almacena tanto en el AuC como en la tarjeta SIM.

    Para autentificar a un usario, el VLR busca la tripleta correspondiente
al IMSI de la tarjeta del usuario. Una vez obtenido el IMSI, le envia a la
MS el numero aleatorio Rand correspondiente de la tripleta. El MS usa el
numero Rand en conjunto con la Ki almacenada en su tarjeta SIM y el
algoritmo de cifrado A3. Esto da como resultado la respuesta firmada (SR),
que la MS envia al VLR. Ahora el proceso sigue dos partes. (Se os ocurre
alguna sigla mas? :) )

    Por una parte, el VLR comprueba comprueba que la SR enviada por la MS sea
identica a la almacenada en la tripleta, y de ser asi, permite el acceso a la
red GSM.

    Por otra parte, el MS genera la clave de cifrado Kc usando la clave del
usuario Ki que esta almacenada en... lo habeis adivinado, la tarjeta SIM,
usando el algoritmo de cifrado... Exacto!!! El A8. Esta clave de cifrado Kc
se usa en el procedimiento de cifrado que se describe ya mismo, segun
termineis de leer esta frase.


PROCEDIMIENTO DE CIFRADO
=-=-=-=-=-=-=-=-=-=-=-=-

    El procedimiento de cifrado se usa para codificar la informacion que se
transmite en una comunicacion por la red GSM. Hay que recordar que la red GSM
usa una interfaz de radio como enlace entre la MS y la BTS. Y como segun la
Direccion General de Telecomunicaciones la radioescucha no es delito, pero
se debe garantizar la intimidad, la informacion es codificada siguiendo un
procedimiento estandar.

    * NOTA: Que la radioescucha no este tipificada como delito no quiere
            decir que podais hacer lo que querais. La Direccion General de
            Telecomunicaciones advierte que si bien escuchar no es delito si
            lo es grabar lo que se escucha, asi como trasncribirlo a otros
            medios, o darlo a conocer, etc., sin el permiso de las personas
            que establecen la comunicacion o sin una orden judicial. Aun asi
            ya sabeis, lo que hagais es cosa vuestra.

    Volviendo a lo que interesa, la informacion se codifica usando otro
algoritmo de cifrado, que siguiendo con la originalidad que caracteriza a los
que les ponen nombre se llama A5.

    Como parametros de entrada, este algoritmo usa la clave Kc junto con el
numero de la trama TDMA correspondiente. El resultado es una secuencia de
114 bits que se somete a una operacion XOR logica con los 114 bits de datos
de un time slots (recordad, los dos bloques de 57 bits de datos que hay en
un time slot).

    Todo esto para que luego hablen de paranoias ajenas. Pues anda que los
que dise€aron el GSM no son paranoicos ni nada.


PROCEDIMIENTO DE IDENTIFICACION DE EQUIPO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    Todavia queda este procedimiento de seguridad, en el que se comprueba que
el equipo que se esta usando no sea robado o no este autorizado.

    En esta ocasion se usa la base de datos de IMEIs que hay en el EIR. Asi,
cuando se procede a realizar una llamada desde una MS, se busca en el EIR el
registro correspondiente al IMEI del equipo, pudiendo este encontrarse en una
de las listas siguientes:

         * Lista blanca -> Se permite al terminal conectarse a la red.
         * Lista gris   -> El terminal esta bajo observacion por posibles
                           problemas.
         * Lista negra  -> El terminal ha sido denunciado como robado, o bien
                           esta declarado como no autorizado. Este terminal
                           no tiene permitida la conexion a la red.


PROCEDIMIENTO DE REGISTRO DE MS (ATACH)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    Este es el proceso mediante el cual, la MS comunica a la red GSM que esta
disponible para iniciar y recibir llamadas.

    El procedimiento de registro se lleva a cabo mediante la siguiente
secuencia de acciones:

         * Barrido de la interfaz de radio por la MS.
         * Deteccion del canal BCCH y decodificacion del area de
           localizacion (LAI).
         * La MS inicia el proceso de acceso a la red.
         * Se efectua el procedimiento de autentificacion, tal y como lo
           hemos visto.
         * El VLR analiza el IMSI para localizar el HLR al quese debe
           consultar.
         * El HLR decide si acepta o no la operacion de registro solicitada.

    Veamos ahora la secuencia de acciones en el tipo de esquema al que ya
os habreis acostumbrado, verdad? :

          MS                        MSC              VLR              HLR
           |                         |                |                |
 .----------------------.            |                |                |
 |Barrido Interfaz radio|            |                |                |
 |   Enganche a BCCH    |            |                |                |
 |     Extrae LAI       |            |                |                |
 `----------------------'            |                |                |
            |                        |                |                |
           .--------------------------.               |                |
           |  Procedimiento de acceso |               |                |
           |Acceso para registro de MS|               |                |
           `--------------------------'               |                |
            |                        |                |                |
           .-------------------------------------------.               |
           |     Procedimiento de autentificacion      |               |
           `-------------------------------------------'               |
            |                        |                |                |
            |                        |MAP/B ATTACH REQ|                |
            |                        |--------------->|                |
            |                        |[IMSI, LAI]     |MAP/D UPDATE LOC|
            |                        |                |--------------->|
            |                        |                |[IMSI, LAI, etc]|
            |                        |                |         .-----------.
            |                        |                |         |Analisis de|
            |                        |                |         |Informacion|
            |                        |                |         |Registro de|
            |                        |                |         |     MS    |
            |                        |                |         `-----------'
            |                        |                |MAP/D UPD RESULT|
            |                        |                |<---------------|
            |                        |MAP/B ATTACH ACK|                |
            |                        |<---------------|                |
            |    RIL3-MM LOCATION    |                |                |
            |    UPDATING ACCEPT     |                |                |
            |<-----------------------|                |                |
            |                        |                |                |
           """                      """              """              """


PROCEDIMIENTO DE CANCELACION DE REGISTRO (DETACH)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    Este procedimiento se produce cuando la MS comunica a la red que va a
pasar al estado de inactividad. De esta forma, se inhabilita la funcion de
busqueda o Paging cuando se produce una llamada dirigida hacia la MS.

    El proceso sigue estos pasos:

         * La MS inicia una sesion RR de acceso a la red especificando como
           causa la cancelacion del registro.
         * Se marca al IMSI asociado como Detach dentro del MSC/VLR.
         * No se confirma esta situacion a la MS.
         * No se informa al HLR.

    Existe tambien un procedimiento automatico de cancelacion de registro
que se efectua por la red cuando transcurrido un tiempo la MS no realiza
ningun acceso.


PROCEDIMIENTO DE LLAMADA DESDE UN MOVIL
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    Pos eso mismo, cuando la MS desea efectuar una llamada se ejecuta este
procedimiento, que consta de las siguientes fases:

         * El usuario compone el numero del abonado al que llama.
         * Se realiza el procedimiento de acceso para obtener la asignacion
           de un canal de se€alizacion.
         * Se efectua el procedimiento de autentificacion, si el movil no
           estaba ya registrado.
         * Encaminamiento la llamada.
         * Comprobacion del IMEI.
         * Asignacion de un TCH.

    Otro esquemita ;) :

           MS                          MSC            VLR          Red
            |                           |              |            |
     .-------------.                    |              |            |
     |Abonado marca|                    |              |            |
     |   numero    |                    |              |            |
     `-------------'                    |              |            |
            |                           |              |            |
           .-----------------------------.             |            |
           |   Procedimiento de acceso   |             |            |
           |Mensaje inicial (Service Req)|             |            |
           `-----------------------------'             |            |
            |                           |              |            |
           .--------------------------------------------.           |
           |      Procedimiento de Autentificacion      |           |
           `--------------------------------------------'           |
            | RIL3-CC SETUP             |              |            |
            |-------------------------->|   SS7-IAM    |            |
            |[MSISDN, Tipo servicio,...]|-------------------------->|
            |                           | [MSISDN,...] |            |
            | RIL3-CC CALL PROCEEDING   |              |            |
            |<--------------------------|              |            |
            | RIL3-MM IDENTITY REQ      |              |            |
            |<--------------------------|              |            |
            | RIL3-MM IDENTITY RESP     |              |            |
            |-------------------------->|              |            |
            | [IMEI]                    |              |            |
            |                   .--------------.       |            |
            |                   |Comprueba IMEI|       |            |
            |                   `--------------'       |            |
            |                           |   SS7-ACM    |            |
            | RIL3-CC ALERTING          |<--------------------------|
            |<--------------------------|              |            |
            | RIL3-CC ASSIGN CMD        |              |            |
            |<--------------------------|              |            |
            | [TCH]                     |              |            |
            |                           |              |            |
            | RIL3-CC ASSIGN COM        |              |            |
            |-------------------------->|   SS7-ANSM   |            |
            | RIL3-CC CONNECT           |<--------------------------|
            |<--------------------------|              |            |
            | RIL3-CC CONNECT ACK       |              |            |
            |-------------------------->|              |            |
            |                           |              |            |
           """                         """            """          """

    MSISDN -> Mobile Subscriber ISDN.


PROCEDIMIENTO DE LLAMADA HACIA UN MOVIL
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    Lo primero que debemos considerar cuando se efectua una llamada hacia un
movil es que este se puede encontrar en cualquier parte, sin estar limitado
a un pais, pues este era uno de los objetivos del estandar GSM. Asi, el
numero de un movil queda internacionalmente definido por el plan de
numeracion E.164, y pasa a denominarse MSISDN (Mobile Subscriber ISDN).

    Este numero incluye el codigo de pais (34 para Espa€a) el Codigo de
Destino Nacional (NDC - National Destination Code) que identifica al operador
del usuario (09 y 29 para MoviStar - 07 y 27 para AirTel; el 9 inical que se
marca aqui en Espa€a es para indicar que se trata de un servicio especial).

    Los primeros digitos del resto del numero identifican el HLR donde se
encuentra registrado el abonado.

    Cuando se produce una llamada hacia un movil, esta es originariamente
enviada una Gateway MSC (GMSC). La GMSC es basicamente un conmutador capaz de
interrogar al HLR del abonado para obtener la informacion que le permita
encaminar la llamada, pues en el HLR se almacena la MSC en la que el abonado
se encuentra en un momento dado. Ademas, contiene una tabla de enlaces entre
los MSISDN y sus correspondientes HLRs. Asi deberia quedaros claro que no es
lo mismo la GMSC que la MSC.

    Una vez localizado el MSC/VLR donde se localiza al movil (mediante la
informacion del HLR, recordadlo), el MSC/VLR inicia el proceso de paging.
El proceso se inicia transmitiendo desde todas las BTSs del area de
localizacion donde se encuentra la MS, un mensaje de busqueda. Este mensaje
de busqueda es el mensaje RIL3-RR PAGING REQ, y es enviado sobre el canal
PCH.

    El movil se encuentra permanentemente escuchando el canal PCH. Cuando
detecta una llamada entrante, inicia el proceso para que le asignen un canal
de control (o se€alizacion) dedicado. (SDCCH)

    Una vez obtenido el SDCCH se intercambian los mensajes de se€alizacion
adecuados para establecer la comunicacion y asignar un TCH.

    Resumiendo, estos son los pasos que se siguen:

         * La GMSC realiza una interrogacion  al HLR.
         * La GMSC encamina la llamada hacia el MSC/VLR.
         * El MSC/VLR inicia el Paging.
         * La MS efectua un procedimiento de acceso.
         * La MSC procede con la autentificacion de la MS.
         * Se asigna un TCH a la comunicacion.

    Y como no me aguanto sin poneros otro esquema, ahi lo teneis:

Red     GMSC         HLR         MSC/VLR      BSC         BTS             MS
 |        |           |             |          |           |               |
 |SS7-IAM |           |             |          |           |               |
 |------->|MAP/C SEND |             |          |           |               |
 |[MSISDN]|ROUTING INF|             |          |           |               |
 |        |---------->|             |          |           |               |
 |        |[MSISDN, S]|             |          |           |               |
 |        |    .------------.       |          |           |               |
 |        |    |Obtiene IMSI|       |          |           |               |
 |        |    | y MSC/VLR  |       |          |           |               |
 |        |    `------------'       |          |           |               |
 |        |           |MAP/D PROVIDE|          |           |               |
 |        |           |RN           |          |           |               |
 |        |           |------------>|          |           |               |
 |        |           | [IMSI, S]   |          |           |               |
 |        |           |       .-----------.    |           |               |
 |        |           |       |Asigna MSRN|    |           |               |
 |        |           |       `-----------'    |           |               |
 |        |           |MAP/D PROVIDE|          |           |               |
 |        |           |RN RESULT    |          |           |               |
 |        |           |<------------|          |           |               |
 |        |MAP/C SEND | [MSRN]      |          |           |               |
 |        |RI RESULT  |             |          |           |               |
 |        |<----------|             |          |           |               |
 |        | [MSRN]    |             |          |           |               |
 |        |           |             |          |           |               |
 |        |SS7-IAM    |             |          |           |               |
 |        |------------------------>|BSSMAP PAG|           |               |
 |        | [MSRN]    |             |--------->|           |               |
 |        |           |             | [TMSI]   |RSM PAG CMD|               |
 |        |           |             |          |---------->|RIL3-RR PAG REQ|
 |        |           |             |          |           |-------------->|
 |        |           |             |          |           |               |
 |        |           |            .----------------------------------------.
 |        |           |            |        Procedimiento de acceso         |
 |        |           |            |    Mensaje inicial (Paging Response)   |
 |        |           |            `----------------------------------------'
 |        |           |             |          |           |               |
 |        |           |            .----------------------------------------.
 |        |           |            |    Procedimiento de autentificacion    |
 |        |           |            `----------------------------------------'
 |        |           |             | RIL3-CC SETUP        |               |
 |        |           |             |------------------------------------->|
 |        |           |             | [S, numero llamante] |               |
 |        |           |             |          |           |               |
 |        |           |             | RIL3-CC CALL CONF    |               |
 |        |           |             |<-------------------------------------|
 |        |           |             | RIL3-CC ALERTING     |               |
 |        | SS7-ACM   |             |<-------------------------------------|
 |SS7-ACM |<------------------------|          |           |               |
 |<-------|           |             | RIL3-CC ASSIGN CMD   |               |
 |        |           |             |------------------------------------->|
 |        |           |             | [TCH]    |           |               |
 |        |           |             |          |           |               |
 |        |           |             | RIL3-CC ASSIGN COM   |               |
 |        |           |             |<-------------------------------------|
 |        |           |             |          |           |       .--------.
 |        |           |             |          |           |       |Usuario |
 |        |           |             |          |           |       |contesta|
 |        |           |             |          |           |       `--------'
 |        |           |             | RIL3-CC CONNECT      |               |
 |        |SS7-ANSM   |             |<-------------------------------------|
 |SS7-ANSM|<------------------------|          |           |               |
 |<-------|           |             | RIL3-CC CONNECT ACK  |               |
 |        |           |             |------------------------------------->|
 |        |           |             |          |           |               |
"""      """         """           """        """         """             """

    S -> Servicio.
    RN -> Roaming Number.
    MSRN -> Mobile Station Roaming Number.


PROCEDIMIENTO DE TRASPASO (HANDOVER)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    La definicion del handover ya la dimos en el articulo de SET-11 sobre
TMA-900A. Pero por si todavia queda algun despistadillo por ahi, la daremos
de nuevo. Por handover (handoff en los USA), se entiende el procedimiento
realizado para el cambio de canal o de celula, manteniendo una comunicacion,
sin que esta resulte afectada.

    Asi, los objetivos del handover en el sistema GSM son:

         * Mantener la calidad del enlace.
         * Minimizar la interferencia cocanal.
         * Gestionar la distribucion de trafico.

    EL momento en el que se debe realizar el handover viene determinado por
unas medidas, llevadas a cabo por el sistema. Estas medidas comprueban tanto
la potencia como la calidad de la transmision, y son llevadas a cabo bien por
la MS, bien por la BTS. Por su parte, la MS envia cada 0.5 segundos las
medidas que obtiene a la BTS a traves del canal SACCH.

    La MS realiza las siguientes medidas:

         * BER (Bir Error Rate) en el enlace descendente (BTS->MS).
         * Nivel de la se€al recibida.
         * Nivel de se€al en celulas adyacentes.

    Por su parte, la BTS realiza estas medidas:

         * Ber en el enlace ascendente (MS->BTS).
         * Nivel de la se€al recibida.
         * Retardo.

    A parte de estas medidas, hay otros factores que determinan en que
momento se realiza el handover. Estos factores son:

         * Carga de trafico en las diferentes celulas.
         * Niveles de interferencia.
         * Capacidad de las celulas.

    Asi, segun las entidades que intervengan en el handover, se distinguen
cuatro tipos basicos de handover:

         * Traspaso interno a una BTS.
         * Traspaso interno a un BSC.
         * Traspaso interno a una MSC.
         * Traspaso entre MSC.
              - Traspaso basico.
              - Traspaso subsiguiente.

    Hay que dejar claro que no estan definidos en las especificaciones GSM
los algoritmos concretos que disparan el handover, aunque si se especifica
un procedimiento basico.

    Veamos ahora algunos tipos de traspaso.


PROCEDIMIENTO DE TRASPASO INTERNO A UN BSC
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    Este procedimiento se rige por las siguientes acciones:

         * El BSC decide que es necesario efectuar un handover.
         * El BSC reserva y activa nuevos canales en la BTS a la que se
           va a realizar el traspaso.
         * El BSC ordena a la MS el cambio a los nuevos canales.
         * La MS confirma que el traspaso se ha realizado eficazmente.
         * Los recursos usados anteriormente son liberados.

    Y aqui va otro esquema:

                                 BTS         BTS
           MS                   origen     destino               BSC
            |                     |           |                   |
            | Informacion (BCCH)  |           |                   |
            |<--------------------|           |                   |
            | [Celulas adyacentes,|           |                   |
            |  frecuencias, etc.] |           |                   |
  .--------------------.          |           |                   |
  | Medida de potencia |          |           |                   |
  |y calidad de se€ales|          |           |                   |
  `--------------------'          |           |                   |
            | Envio de medidas (SACCH)        |                   |
            |-------------------->|------------------------------>|
            |                     |           |            .--------------.
            |                     |           |            | Eleccion de  |
            |                     |           |            |nuevos canales|
            |                     |           |            `--------------'
            |                     |           | RSM CH. ACTIVATE  |
            |                     |           |<------------------|
            |                     |           | RSM CH. ACTIV ACK |
            |                     |           |------------------>|
            | RIL3-RR HANDOVER CMD (SDCCH)    |                   |
            |<----------------------------------------------------|
            | [Identidad nuevo BS, canales asignados, etc]        |
     .--------------.             |           |                   |
     | Adaptacion a |             |           |                   |
     |nuevos canales|             |           |                   |
     `--------------'             |           |                   |
            | RIL3 HANDOVER ACCESS|           |                   |
            |-------------------------------->|                   |
            | RIL3-RR HANDOVER COMPLETE       |                   |
            |---------------------------------------------------->|
           .-------------------------------------------------------.
           |            Liberacion del camino previo               |
           `-------------------------------------------------------'
            |                     |           |                   |
           """                   """         """                 """


PROCEDIMIENTO DE TRASPASO INTERNO A UNA MSC
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    Pues en este caso las acciones que se llevan a cabo son:

         * El BSC que cursa la llamada solicita a la MSC la necesidad de
           realizar un handover.
         * La MSC determina que el handover es interno, a juzgar por la
           informacion recibida.
         * La BSC de destino reserva y activa nuevos canales a usar e informa
           de la situacion a la MSC.
         * La MSC informa a la MS a traves de la BSC origen de los nuevos
           canales asignados.
         * La MS confirma a traves de la BSC destino que se ha realizado el
           handover de forma correcta.
         * Se liberan los recursos usados anteriormente.

    Y aqui teneis otro esquemita:

                             BTS     BTS      BSC     BSC
          MS               origen  destino  origen  destino             MSC
           |                  |       |        |       |                 |
           |                  |       |        |       |                 |
           |Informacion (BCCH)|       |        |       |                 |
           |<-----------------|       |        |       |                 |
           | [CA, F, etc.]    |       |        |       |                 |
 .--------------------.       |       |        |       |                 |
 | Medida de potencia |       |       |        |       |                 |
 |y calidad de se€ales|       |       |        |       |                 |
 `--------------------'       |       |        |       |                 |
           | Envio de medidas (SACCH) |        |       |                 |
           |---------------------------------->|       |                 |
           |                  |       | .----------------.               |
           |                  |       | | Toma decision  |               |
           |                  |       | |procede handover|               |
           |                  |       | `----------------'               |
           |                  |       |        |BSSMAP HANDOVER REQUIRED |
           |                  |       |        |------------------------>|
           |                  |       |        |[BTS origen y destino]   |
           |                  |       |        |       |                 |
           |                  |       |        |       |BSSMAP HO REQ    |
           |                  |       |        |       |<----------------|
           |                  |       |        |       |[BTS O y D, Kc]  |
           |                  |       |        | .--------------.        |
           |                  |       |        | | Eleccion de  |        |
           |                  |       |        | |nuevos canales|        |
           |                  |       |        | `--------------'        |
           |                  |       |RSM CH ACTIVATE |                 |
           |                  |       |<---------------|                 |
           |                  |       |RSM CH ACTIV ACK|                 |
           |                  |       |--------------->|BSSMAP HO REQ ACK|
           |                  |       |        |       |---------------->|
           |                  |       |        |       |[RIL3-RR HO CMD] |
           |                  |       |        |       |                 |
           |                  |       |        |BSSMAP HANDOVER CMD      |
           |RIL3-RR HANDOVER CMD (SDCCH)       |<------------------------|
           |<----------------------------------|[RIL3-RR HO CMD]         |
           |[Identidad nuevo BTS, ChA, etc.]   |       |                 |
    .--------------.          |       |        |       |                 |
    | Adaptacion a |          |       |        |       |                 |
    |nuevos canales|          |       |        |       |                 |
    `--------------'          |       |        |       |                 |
           |RIL3 HANDOVER ACCESS      |        |       |                 |
           |------------------------->|        |       |                 |
           |RIL3-RR HANDOVER COMPLETE |        |       |                 |
           |---------------------------------->|       |                 |
           |                  |       |        |       |                 |
          .---------------------------------------------------------------.
          |                Liberacion del camino previo                   |
          `---------------------------------------------------------------'
           |                  |       |        |       |                 |
          """                """     """      """     """               """

    CA  -> Celulas adyacentes.
    F   -> Frecuencias.
    HO  -> Handover.
    ChA -> Canales asignados.


PROCEDIMIENTO DE TRASPASO ENTRE MSCs
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    Ya hemos visto que el traspaso entre MSCs puede ser de dos tipos:

         * Traspaso basico -> Se realiza entre la MSC donde se ha realizado
           la llamada y una nueva MSC.
         * Traspaso subsiguiente -> Se produce entre la MSC a la que una
           llamada ya ha sido trasladada y una tercera MSC. Cuando se da
           este traspaso, puede ocurrir:

                - Que la llamada vuelva a la MSC de la que partio.
                - Que la llamada se traspase a una nueva MSC.

    Las acciones que se producen en este proceso de traspaso dependen del
tipo de traspaso, aunque las diferencias no son notables.

    La MSC donde se ha iniciado la llamada es, sea el caso que sea, la que
controla las tareas de encaminamiento hacia las nuevas MSCs.

    Y como me aburro, ahi va otro esquema que explica este procedimiento de
traspaso (si me cabe ;) ):

                BTS       BTS        BSC       BSC        MSC        MSC
    MS        origen    destino    origen    destino    origen     destino
     |           |         |          |         |          |          |
 .-------.       |         |          |         |          |          |
 |MP Y CS|       |         |          |         |          |          |
 `-------'       |         |          |         |          |          |
     |Envio de medidas (SACCH)        |         |          |          |
     |------------------------------->|         |          |          |
     |           |         |       .-----.      |          |          |
     |           |         |       |TDRHO|      |          |          |
     |           |         |       `-----'      |          |          |
     |           |         |          |BSSMAP HO REQUIRED  |          |
     |           |         |          |------------------->|MAP/E PEHO|
     |           |         |          |[BTS O/D]           |--------->|
     |           |         |          |         |          |[BTS O/D, |
     |           |         |          |         |          | Kc]      |
     |           |         |          |         |          |          |
     |           |         |          |         |BSSMAP HO REQ        |
     |           |         |          |         |<--------------------|
     |           |         |          |         |[BTS O/D, Kc]        |
     |           |         |          |    .---------.     |          |
     |           |         |          |    | Eleccion|     |          |
     |           |         |          |    |Nuevos Ch|     |          |
     |           |         |          |    `---------'     |          |
     |           |         |RSM CH ACTIVATE     |          |          |
     |           |         |<-------------------|          |          |
     |           |         |RSM CH ACTIV ACK    |          |          |
     |           |         |------------------->|BSSMAP HO REQ ACK    |
     |           |         |          |         |-------------------->|
     |           |         |          |         |[RIL3-RR HO CMD]     |
     |           |         |          |         |          |          |
     |           |         |          |         |          |MAP/E HORE|
     |           |         |          |         |          |<---------|
     |           |         |          |         |          |[RIL3-RR  |
     |           |         |          |         |          |HO CMD, HO|
     |           |         |          |BSSMAP HO CMD       |NUMBER]   |
     |           |         |          |<-------------------|          |
     |RIL3-RR HANDOVER CMD (SDCCH)    |[RIL3-RR HO CMD]    |          |
     |<-------------------------------|         |          |          |
     |[Identidad nuevo BTS, ChA, etc] |         |          |          |
 .----------.    |         |          |         |          |          |
 |Adaptacion|    |         |          |         |          |          |
 |nuevos Ch |    |         |          |         |          |          |
 `----------'    |         |          |         |          |          |
     |RIL3 HANDOVER ACCESS |          |         |          |          |
     |-------------------->|          |         |          |          |
     |RIL3-RR HANDOVER COMPLETE       |         |          |          |
     |------------------------------->|         |          |          |
     |           |         |          |         |          |          |
    """         """       """        """       """        """        """

    Pues aunque abusando de siglas, entro. Pero para que lo entendais bien, y
luego no digais que me porto mal con vosotros, ahi van los significados de
las siglas:

         MP Y CS -> Medida de Potencia Y Calidad de las Se€ales.
         TDRHO   -> Toma Decision de Realizar HandOver.
         HO      -> HandOver.
         BTS O/D -> BTS Origen y BTS Destino.
         PEHO    -> PErform HandOver.
         Ch      -> Canales.
         HORE    -> HandOver REsult.
         ChA     -> Canales Asignados.

    Ya hemos visto los tipos basicos de handover que pueden producirse en la
red GSM. Nos queda un ultimo procedimiento, pero como creo que ya estareis un
poco cansados, lo dejo para otro articulo... Aunque... pensandolo bien...
voy a seguir dandoos el co€azo otro ratito. Me dejais, verdad? ;)

    Entonces, continuemos para no dejar el GSM a medias.


PROCEDIMIENTO DE ACTUALIZACION DE LA POSICION (ROAMING)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    Un movil se mueve. (Que novedad !!) Y cuando lo hace, puede salirse de la
celula en la que estaba, o lo que es lo mismo, alterar su localizacion. Es
en estas circunstancias cuando se debe notificar al sistema el cambio de
posicion para poder recibir llamadas. Esto es el Roaming, y se ejecuta
siguiendo esta secuencia de acciones:

         * La MS recibe a traves del BCCH la informacion correspondiente al
           area de localizacion (LAI) en la que se encuentra.
         * Cuando detecta un cambio de LAI, se realiza un procedimiento de
           acceso a la red.
         * La MS envia a la red un mensaje de actualizacion que contiene el
           nuevo LAI.
         * La MSC procede a actualizar la posicion de la MS en el VLR.
         * Si la MS ya estaba registrada en otra LAI de la MSC, solo se
           confirma al movil la actualizacion de la posicion. De no ser asi:

                * El VLR notifica al HLR la nueva ubicacion de la MS.
                * El HLR cancela a la MS en el VLR anterior.

    Este procedimiento no iba a ser menos. Ahi teneis su esquema:

                                             VLR                     VLR
         MS                      MSC        nuevo       HLR        anterior
          |                       |           |           |           |
 .-------------------.            |           |           |           |
 |Medida de potencia |            |           |           |           |
 |y calidad. Decide  |            |           |           |           |
 |actualizar posicion|            |           |           |           |
 `-------------------'            |           |           |           |
          |                       |           |           |           |
         .-------------------------.          |           |           |
         | Procedimiento de acceso |          |           |           |
         |Actualizacion de posicion|          |           |           |
         `-------------------------'          |           |           |
          |RIL3-MM LOC UPDATE REQ |           |           |           |
          |---------------------->|           |           |           |
          |[IMSI/TMSI]            |           |           |           |
         .-------------------------.          |           |           |
         | Proceso autentificacion |          |           |           |
         `-------------------------'          |           |           |
          |                       |MAP/B U LOC|           |           |
          |                       |---------->|MAP/D U LOC|           |
          |                       |[IMSI, LAI]|---------->|           |
          |                       |           |[IMSI, LAI]|           |
          |                       |           |      .---------.      |
          |                       |           |      |Determina|      |
          |                       |           |      |si acepta|      |
          |                       |           |      |registro |      |
          |                       |           |      `---------'      |
          |                       |           |MAP/D ULR  |           |
          |                       |           |<----------|           |
          |                       |           |[IMSI]     |           |
          |                       |           |           |           |
          |                       |           |MAP/D SUDA |           |
          |                       |           |<----------|MAP/D C LOC|
          |                       |           |           |---------->|
          |                       |           |           |[IMSI]     |
          |                       |           |           |     .-----------.
          |                       |MAP/B ULC  |           |     |  Elimina  |
          |                       |<----------|           |     |informacion|
          |                       |           |           |     `-----------'
          |RIL3-MM LOC UPD ACCEPT |           |           |MAP/D CLR  |
          |<----------------------|           |           |<----------|
          |                       |           |           |[IMSI]     |
          |                       |           |           |           |
         """                     """         """         """         """

    U    -> Update (Actualizar)
    LOC  -> Location (Localizacion)
    ULR  -> Update Location Result
    SUDA -> Cuando hace calor... no, no era esto. Era SUbscriber DAta.
    C    -> Cancel (O cancelar, segun se mire)
    ULC  -> Update Location Confirm
    CLR  -> Cancel Location Result


ESO ES TODO AMIGOS
=-=-=-=-=-=-=-=-=-

    P'os eso, que y'asta. Ahora podreis vacilar por ahi de todo lo que
conoceis sobre el funcionamiento de la red GSM. Mas adelante es posible que
profundicemos en alguno de los aspectos del procedimiento de autentificacion,
que seguro sea el que mas os interese. Pero no promero nada, que conste.

    Si teneis algo que comentar, dudas, peticiones, o lo que os salga de la
fuente de alimentacion, hacedlo a las direcciones que os encontrais aqui
mismo. Eso si, no se tendran en consideracion aquellos mensajes que no
vayan encriptados con la correspondiente clave PGP. Y no se admiten excusas
del tipo: "Yo no se usar el PGP", "Pero eso no era ilegal". Vamos, porque
si teneis algun comentario por el estilo, como es que estais leyendo esta
freezine.

    ___ ___                        __________    /\  ___ ___
   /   |   \_____ ___  __ ____     \______   \  / / /   |   \ __ __  ____
  /    ~    \__  \\  \/ // __ \     |     ___/ / / /    ~    \  |  \/    \
  \    Y    // __ \\   /\  ___/     |    |    / /  \    Y    /  |  /   |  \
   \___|_  /(____  /\_/  \___  >    |____|   / /    \___|_  /|____/|___|  /
         \/      \/          \/              \/           \/            \/

                 ___________      .__   __
                 \_   _____/____  |  | |  | __ ____   ____
                  |    __) \__  \ |  | |  |/ // __ \ /    \
                  |     \   / __ \|  |_|    <\  ___/|   |  \
                  \___  /  (____  /____/__|_ \\___  >___|  /
                      \/        \/          \/    \/     \/

                        http://set-falken.home.ml.org
                             falken@latinmail.com