Hola,
Victor Pascual Ávila wrote:
2008/5/5 Gustavo <ggb(a)tid.es>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
Yo creo que no puedes enviar un re-INVITE antes de aceptar la
llamada y
tampoco puedes mandar un reINVITE al From (debería ir al Contact).
Exacto...
Tal vez pudieras hacerlo enviando otro tipo de mensaje
al From de
forma
no estandard, pero ¿que pasa si el origen de la llamada tiene un
desvío
incondicional a otro destino? Nunca le llegaría ese mensaje.
Cierto... y meterse en cosas no estándar al final es llamar a los
problemas :-/
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...
Puede sonar algo perverso, pero en un entorno no-trusted... ¿hay otro
modo de hacerlo?
Podrías comprobar en tu proxy cuando te llega un mensaje de una IP,
que
esa IP corresponde al dominio del From (haciendo una resolución
inversa
en el DNS). Así al menos ya sabes que el dominio del From es
correcto,
y dejas la comprobación de la parte de usuario del From a su dominio.
Yo creo que hotmail hace algo así para el email. No estoy
convencido,
pero igual es una opción.
Un problema con esto es si tienes un proxy multidominio... sólo puedes
tener una resolución inversa sobre una ip por lo que si tu dominio no
pertenece al dominio de la inversa, la comprobación fallará.
Saludos
JesusR.
------------------------------------
Jesus Rodriguez
VozTelecom Sistemas, S.L.
jesusr(a)voztele.com
http://www.voztele.com
Tel. 902360305
-------------------------------------