Uno de nuestros clientes nos preguntó recientemente sobre el cifrado de voz. Pensamos que nuestra respuesta también podría ser útil para otros:
Para que TLS funcione, no es solo ‘hacer clic y funciona’.
Necesitas certificados públicos y privados. Para que el teléfono acepte el certificado, debe provenir de una Autoridad de Certificación válida ya pre-instalada en el teléfono. No hay muchas Autoridades de Certificación instaladas de forma predeterminada en los teléfonos, cada documentación del teléfono debe verificarse en la lista.
La mayoría de los teléfonos permiten una instalación personalizada por parte de la Autoridad de Certificación, pero esto requiere una configuración especial (algunos lo permiten mediante el aprovisionamiento automático).
Una vez que configure los certificados, puede habilitar TLS y este tráfico escuchará en el puerto 5061. Será TCP y no UDP. Luego habilita SRTP, que es para medios, no para señalización.
Puedes usar SRTP sin TLS, pero eso no tiene sentido. Si SIP no está encriptado, entonces RTP puede decodificarse ya que las claves de encriptación son parte de la señalización y esto fluye sin encriptar (entonces sí, en ese caso, es posible un ataque de hombre-en-medio).
Los ataques de hombre-en-medio también son posibles si el teléfono acepta CUALQUIER certificado sin validarlo (similar a cuando navegas por un sitio web seguro …).
Sergej