[OpenSER-Users-ES] ¿Es válido cambiar el From NAME en vez del From username?

Iñaki Baz Castillo ibc at aliax.net
Tue May 6 00:09:10 CEST 2008


El Lunes, 5 de Mayo de 2008, Victor Pascual Ávila escribió:
> 2008/5/5 Gustavo <ggb at tid.es>:
> >  Victor Pascual Ávila wrote:
> >  > ¿Cómo puede un UA verificar que el From del Invite que recibe es
> >  > realmente de quien dice ser?
> >
> >  Yo creo que la cosa está chunga, como en el email.
> >  - Teoricamente si dispones de una infraestructura PKI podrías utilizar
> >  métodos para firmar las cabeceras (incluido el from) [RFC3893][RFC447]
> >  - En la práctica, si el mensaje es de un usuario de tu mismo dominio y
> >  pasa por el servidor de tu dominio, el servidor debería asegurarse que
> >  el From es quien dice ser.   Si el mensaje es de un usuario de otro
> >  dominio no hay nada que hacer, salvo establecer relaciones de confianza
> >  entre dominios y cosas similares.
>
> ¿Tendría sentido hacer lo siguiente?
>
> 0) Suponemos que todos los UA (callerB i calleeA) se registran contra su
> proxy 1) CalleeA recibe un INVITE con el From de CallerB
> 2) CalleeA genera un re-INVITE contra el From de CallerB (en este
> caso, contra su proxy)
> 3) El proxy, mediante el location service, hace un re-targeting contra
> el CallerB
>
> De este modo, si un attacker genera una llamada hacia CalleeA
> suplantando el From de CallerB, CalleeA le preguntará a CallerB si
> realmente es él quien le llama...

Pero no va a funcionar ya que al ser un re-INVITE el proxy no va a a hacer 
un "location". Es decir, el INVITE de callerB a callerA era:

INVITE sip:callerA
From: <sip:callerB>;tag=1x1x1x1x1
To: <sip:callerA>
Contact: <sip:caller_a at 80.80.80.88:5070>

Pero una vez aceptada la llamada, si callerA envía un re-INVITE será:

INVITE sip:caller_a at 80.80.80.88:5070
From: <sip:callerA>;tag=2x2x2x2x2
To:  <sip:callerB>;tag=1x1x1x1x1

Como es in-dialog (To tag) el proxy no hará un location. Además, el location 
se hace del RURI y en un mensaje in-dialog el RURI no indica un AoR sino la 
ubicación real de un usuario.


> Puede sonar algo perverso, pero en un entorno no-trusted... ¿hay otro
> modo de hacerlo?

Si no me equivoco, hay un RFC para eso:

  RFC 4916 - Connected Identity in the Session Initiation Protocol (SIP):
  http://tools.ietf.org/html/rfc4916

Viene un ejemplo aquí:

http://tools.ietf.org/html/rfc4916#section-5.1


Saludos.


-- 
Iñaki Baz Castillo




More information about the Users-es mailing list