[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