De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

ZRTP (compuesto de Z y Protocolo de transporte en tiempo real ) es un protocolo de acuerdo de clave criptográfico para negociar las claves para el cifrado entre dos puntos finales en una llamada de telefonía telefónica de Voz sobre Protocolo de Internet (VoIP) basada en el Protocolo de transporte en tiempo real. Utiliza el intercambio de claves Diffie-Hellman y el Protocolo de transporte en tiempo real seguro (SRTP) para el cifrado. ZRTP fue desarrollado por Phil Zimmermann , con la ayuda de Bryce Wilcox-O'Hearn , Colin Plumb, Jon Callas y Alan Johnston y fue enviado al Grupo de Trabajo de Ingeniería de Internet.(IETF) por Zimmermann, Callas y Johnston el 5 de marzo de 2006 y publicado el 11 de abril de 2011 como RFC  6189 . [1]

Resumen [ editar ]

ZRTP ("Z" es una referencia a su inventor, Zimmermann; "RTP" significa Protocolo de transporte en tiempo real) [2] se describe en el Borrador de Internet como un "protocolo de acuerdo de claves que realiza el intercambio de claves Diffie-Hellman durante la configuración de la llamada en banda en el flujo de medios del Protocolo de transporte en tiempo real (RTP) que se ha establecido utilizando algún otro protocolo de señalización, como el Protocolo de inicio de sesión (SIP). Esto genera un secreto compartido que luego se utiliza para generar claves y sal para un protocolo seguro. Sesión RTP (SRTP) ". Una de las características de ZRTP es que no depende de la señalización SIP para la gestión de claves, ni de ningún servidor.Es compatible con el cifrado oportunista mediante la detección automática si el otro cliente VoIP admite ZRTP.

Este protocolo no requiere secretos compartidos previos ni depende de una infraestructura de clave pública (PKI) o de autoridades de certificación, de hecho, las claves Diffie-Hellman efímeras se generan en cada establecimiento de sesión: esto permite la complejidad de crear y mantener un tercero de confianza. para ser pasado por alto.

Estas claves contribuyen a la generación del secreto de sesión, del cual se derivan la clave de sesión y los parámetros para las sesiones SRTP, junto con los secretos previamente compartidos (si los hay): esto brinda protección contra ataques man-in-the-middle (MiTM) , siempre que el atacante no esté presente en la primera sesión entre los dos puntos finales.

ZRTP se puede utilizar con cualquier protocolo de señalización, incluidos SIP, H.323 , Jingle y sistemas de tablas hash distribuidas . ZRTP es independiente de la capa de señalización, porque todas sus negociaciones clave ocurren a través del flujo de medios RTP.

ZRTP / S, una extensión del protocolo ZRTP, puede ejecutarse en cualquier tipo de redes de telefonía heredadas, incluidas GSM, UMTS, ISDN, PSTN, SATCOM , radio UHF / VHF , ya que es un protocolo orientado a flujo de bits de banda estrecha y realiza todas las negociaciones clave. dentro del flujo de bits entre dos puntos finales.

Alan Johnston nombró al protocolo ZRTP porque en sus primeros borradores de Internet [1] se basaba en agregar extensiones de encabezado a los paquetes RTP, lo que convirtió a ZRTP en una variante de RTP. En borradores posteriores, el formato del paquete cambió para hacerlo distinguible sintácticamente de RTP. En vista de ese cambio, ZRTP es ahora un pseudo-acrónimo .

Autenticación [ editar ]

El intercambio de claves Diffie-Hellman por sí solo no proporciona protección contra un ataque de intermediario. Para garantizar que el atacante no esté presente en la primera sesión (cuando no existen secretos compartidos), se utiliza el método de cadena de autenticación corta (SAS): las partes que se comunican verifican verbalmente un valor compartido que se muestra en ambos extremos. Si los valores no coinciden, se indica un ataque de intermediario. (A finales de 2006, la NSA de EE. UU. Desarrolló un sistema de síntesis y análisis de voz experimental para anular esta protección, [3] pero no se cree que esta clase de ataque sea un riesgo grave para la seguridad del protocolo. [1] ) El SAS se utiliza para autenticar el intercambio de claves, que es esencialmente unhash criptográfico de los dos valores Diffie-Hellman. El valor SAS se representa en ambos puntos finales ZRTP. Para llevar a cabo la autenticación, este valor SAS se lee en voz alta al interlocutor a través de la conexión de voz. Si los valores en ambos extremos no coinciden, se indica un ataque de hombre en el medio; si coinciden, es muy poco probable que se produzca un ataque de intermediario. El uso del compromiso de hash en el intercambio de DH restringe al atacante a una sola conjetura para generar el SAS correcto en el ataque, lo que significa que el SAS puede ser bastante corto. Un SAS de 16 bits, por ejemplo, proporciona al atacante solo una posibilidad entre 65536 de no ser detectado.

Continuidad clave [ editar ]

ZRTP proporciona una segunda capa de autenticación contra un ataque MitM, basada en una forma de continuidad de claves. Lo hace almacenando en caché alguna información de clave hash para usar en la siguiente llamada, para mezclarla con el secreto compartido DH de la siguiente llamada, dándole propiedades de continuidad de clave análogas a SSH . Si el MitM no está presente en la primera llamada, no podrá recibir llamadas posteriores. Por lo tanto, incluso si nunca se usa SAS, la mayoría de los ataques MitM se detienen porque MitM no estaba presente en la primera llamada.

Entorno operativo [ editar ]

  • El protocolo ZRTP se ha implementado y utilizado en las siguientes plataformas: Windows , Linux , Android
  • El protocolo ZRTP se ha implementado en los siguientes lenguajes: C , C ++ , Java
  • El protocolo ZRTP se ha utilizado con éxito en los siguientes medios de transporte: WiFi , UMTS , EDGE , GPRS , módem IP satelital , GSM CSD , ISDN

Implementaciones [ editar ]

ZRTP se ha implementado como

  • GNU ZRTP que se utiliza en Twinkle [4]
  • GNU ZRTP4J que se usa en Jitsi (anteriormente SIP Communicator). [5]
  • ortp para usar en Linphone . [6]
  • libzrtp que se puede utilizar en FreeSWITCH . [7] [8]
  • Signal y su predecesor, RedPhone , usaron ZRTP para llamadas encriptadas en Android e iOS. [9] A partir de marzo de 2017, la funcionalidad de llamadas de voz y video de Signal utiliza el canal de protocolo de señal de la aplicación para la autenticación en lugar de ZRTP. [10] [11]
  • CSipSimple es una aplicación gratuita para el sistema operativo Android que es totalmente compatible con ZRTP [12]
  • El softphone PhonerLite para Windows es compatible con ZRTP [13]

Las implementaciones comerciales de ZRTP están disponibles en RokaCom de RokaCom, [14] y PrivateWave Professional de PrivateWave [15] y más recientemente en Silent Phone de Silent Circle, una empresa fundada por Zimmermann. [16] También hay Softphone de Acrobits. [17] Draytek admite ZRTP en algunos de sus hardware y software de VoIP. [18] [19]

Se ha publicado una lista de proveedores SIP gratuitos compatibles con ZRTP. [12]

Referencias [ editar ]

  1. ↑ a b c Zimmermann, Phil (17 de junio de 2010). "Internet-Draft. ZRTP: Acuerdo clave de ruta de medios para Unicast Secure RTP" . Consultado el 17 de junio de 2010 .
  2. ^ Blog de Alan B. Johnston: ZRTP publicado hoy como RFC 6189 . Consultado el 13 de enero de 2013.
  3. ^ Cryptologic Quarterly , volumen 26, número 4
  4. ^ "Twinkle - Softphone SIP para Linux" . Twinklephone.com . 25 de febrero de 2009 . Consultado el 4 de marzo de 2016 .
  5. ^ "Preguntas frecuentes de Zrtp" . jitsi.org . Consultado el 4 de marzo de 2016 .
  6. ^ "oRTP, una biblioteca de protocolo de transporte en tiempo real (RTP, RFC3550) | Linphone, un teléfono sip de vídeo de código abierto" . Linphone.org . Consultado el 7 de junio de 2014 .
  7. ^ "ZRTP - Wiki de FreeSWITCH" . Wiki de FreeSWITCH. 2009-05-21 . Consultado el 20 de enero de 2016 .
  8. ^ "¡FreeSWITCH ahora es compatible con ZRTP!" . FreeSWITCH . 21 de mayo de 2009 . Consultado el 4 de marzo de 2016 .
  9. Andy Greenberg (29 de julio de 2014). "Su iPhone finalmente puede realizar llamadas gratuitas y cifradas" . Cableado . Consultado el 18 de enero de 2015 .
  10. ^ Marlinspike, Moxie (14 de febrero de 2017). "Videollamadas para Signal ahora en beta pública" . Open Whisper Systems . Consultado el 15 de febrero de 2017 .
  11. ^ Mott, Nathaniel (14 de marzo de 2017). "Videollamadas cifradas de Signal para iOS, Android deja Beta" . Hardware de Tom . Purch Group, Inc . Consultado el 14 de marzo de 2017 .
  12. ^ a b "Proveedores SIP gratuitos con soporte ZRTP" . El Proyecto Guardián. 22 de febrero de 2012 . Consultado el 4 de marzo de 2016 .
  13. ^ "PhonerLite" . Phonerlite.de . Consultado el 4 de marzo de 2016 .
  14. ^ "RokaCom" . RokaCom. 2014-11-29.
  15. ^ "PrivateWave" . PrivateWave. 1999-02-22 . Consultado el 7 de junio de 2014 .
  16. ^ Únase a nosotros para un seminario web en vivo. "Círculo silencioso" . Círculo silencioso . Consultado el 7 de junio de 2014 .
  17. ^ "Softphone" . Acróbatas . Consultado el 21 de enero de 2015 .
  18. ^ "Especificación del módem / enrutador / conmutador ADSL Draytek 2820Vn" . Ipbusinessphones.co.uk. 2013-08-13 . Consultado el 7 de junio de 2014 .
  19. ^ "Descripción de Draytek Softphone (software)" . Draytek.co.uk . Consultado el 7 de junio de 2014 .

Enlaces externos [ editar ]

  • RFC 6189 - ZRTP: Acuerdo de clave de ruta de medios para Unicast Secure RTP