stringtranslate.com

protocolo skype

El protocolo Skype es una red de telefonía por Internet patentada utilizada por Skype . Skype no ha puesto a disposición del público las especificaciones del protocolo y las aplicaciones oficiales que utilizan el protocolo son de código cerrado .

La red de Skype no es interoperable con la mayoría de las otras redes de Voz sobre IP (VoIP) sin la licencia adecuada de Skype. Se han realizado numerosos intentos de estudiar o aplicar ingeniería inversa al protocolo para revelarlo, investigar la seguridad o permitir clientes no oficiales.

El 20 de junio de 2014, Microsoft anunció la desactivación del antiguo protocolo de Skype. Varios meses después de esta fecha, para continuar usando los servicios de Skype, los usuarios de Skype tuvieron que actualizar a las aplicaciones de Skype lanzadas en 2014 y los usuarios no pudieron iniciar sesión en versiones anteriores de Skype (clientes). [1] [2] No se ha hecho ningún anuncio sobre si SmartTV y los teléfonos de hardware con funcionalidad Skype incorporada continuarán funcionando sin interrupciones. El nuevo protocolo de Skype, el Protocolo de notificación de Microsoft 24 , prometía mejores mensajes fuera de línea y una mejor sincronización de mensajes entre dispositivos Skype. La desaprobación entró en vigor en la segunda semana de agosto de 2014. [3]

Arquitectura de igual a igual

Skype fue la primera red de telefonía IP peer-to-peer . [4] La red contiene tres tipos de entidades: supernodos , nodos ordinarios y el servidor de inicio de sesión. Cada cliente mantiene una caché de host con la dirección IP y los números de puerto de los supernodos accesibles. El directorio de usuarios de Skype está descentralizado y distribuido entre los supernodos de la red. Los supernodos se agrupan en ranuras (9 a 10 supernodos) y las ranuras se agrupan en bloques (8 ranuras). [ cita necesaria ]

Anteriormente, cualquier cliente con buen ancho de banda, sin restricciones debido al firewall o traducción de direcciones de red (NAT) y una potencia de procesamiento adecuada podía convertirse en un supernodo. Esto supuso una carga adicional para quienes se conectaban a Internet sin NAT, ya que Skype utilizaba sus computadoras y conexiones a Internet como terceros para perforar UDP (para conectar directamente dos clientes detrás de NAT) o para transmitir completamente las llamadas de otros usuarios. En 2012, Microsoft modificó el diseño de la red y puso todos los supernodos bajo su control como servidores alojados en centros de datos. [5] Microsoft en ese momento defendió la medida, diciendo que "creen que este enfoque tiene beneficios inmediatos de rendimiento, escalabilidad y disponibilidad para los cientos de millones de usuarios que conforman la comunidad de Skype". [6] En ese momento había cierta preocupación con respecto a las implicaciones de privacidad del cambio, [7] que parecen haber demostrado ser ciertas con la revelación del programa de vigilancia PRISM en junio de 2013. [8] [9]

Skype no soporta el uso del protocolo IPv6 , [10] lo que reduciría en gran medida la complejidad asociada con la estructura de comunicación IPv4 antes mencionada.

Los supernodos retransmiten comunicaciones en nombre de otros dos clientes, los cuales están detrás de cortafuegos o traducción de direcciones de red "uno a muchos". Sin la retransmisión por parte de los supernodos, dos clientes con dificultades de firewall o NAT no podrían realizar ni recibir llamadas entre sí. Skype intenta que los dos extremos negocien los detalles de la conexión directamente, pero en ocasiones la suma de problemas en ambos extremos puede impedir que se establezca una conversación directa.

Los problemas con los firewalls y NAT pueden ser:

Protocolo

La señalización se cifra mediante RC4 ; sin embargo, el método sólo ofusca el tráfico ya que la clave se puede recuperar del paquete. Los datos de voz están cifrados con AES . [11]

La interfaz de programación de aplicaciones (API) del cliente de Skype abre la red a los desarrolladores de software. La API de Skype permite que otros programas utilicen la red de Skype para obtener información de " páginas blancas " y administrar llamadas.

El código de Skype es de código cerrado y el protocolo no está estandarizado. [12] Partes del cliente utilizan Internet Direct (Indy) , una biblioteca de comunicación de socket de código abierto. [ cita necesaria ]

El 8 de julio de 2012, un investigador de Benin, Ouanilo Medegan, publicó artículos y un código de prueba de concepto, resultados de su ingeniería inversa en el cliente Skype. [13]

Detección de protocolo

Muchas empresas de redes y seguridad afirman detectar y controlar el protocolo de Skype para aplicaciones empresariales y de operadores. Si bien los métodos de detección específicos utilizados por estas empresas suelen ser propietarios, la prueba chi-cuadrado de Pearson y la caracterización estocástica con clasificadores Naive Bayes son dos enfoques que se publicaron en 2007. [14]

capa de ofuscación

El algoritmo de cifrado RC4 se utiliza para ofuscar la carga útil de los datagramas.

  1. Se toman el CRC32 de la IP pública de origen y destino, y el ID del paquete de Skype.
  2. Vector de inicialización de la capa de ofuscación de Skype (IV).

El XOR de estos dos valores de 32 bits se transforma en una clave RC4 de 80 bytes utilizando un motor de claves desconocido.

Se puede encontrar un uso indebido notable de RC4 en Skype en las transmisiones TCP (UDP no se ve afectado). Los primeros 14 bytes (10 de los cuales son conocidos por el usuario, ya que consisten en un hash del nombre de usuario y la contraseña) se realizan mediante XOR con la secuencia RC4. Luego, el cifrado se reinicia para cifrar el resto del flujo TCP. [15]

tcp

Paquetes TCP:

tcpPaquete TCP de inicio de Skype

El paquete TCP de inicio de Skype contiene

Datagramas de bajo nivel

Casi todo el tráfico está cifrado. Cada comando tiene sus parámetros adjuntos en una lista de objetos. La lista de objetos se puede comprimir.

 / Lista de objetos... -| Enc -> Cmd -> Codificar ^ \ Lista comprimida... -| Fragmento | | |------------------<---------------| Ack
 NAck
 Reenviar -> Reenviado...Mensaje

Listas de objetos

Un objeto puede ser un número, una cadena, un puerto IP: o incluso otra lista de objetos. Cada objeto tiene una identificación. Este ID identifica qué parámetro de comando es el objeto.

Objeto: Número IP: Puerto Lista de números Cadena clave RSA
Lista de objetos Tamaño de lista (n) Objeto 1 . . objeto norte

Compresión de paquetes

Los paquetes se pueden comprimir. El algoritmo es una variación de la compresión aritmética que utiliza reales en lugar de bits.

Asuntos legales

Los términos y condiciones del acuerdo de licencia de Skype prohíben la ingeniería inversa del protocolo de Skype mediante la inspección/desmontaje de archivos binarios. Sin embargo, la ley de la Unión Europea permite realizar ingeniería inversa en un programa informático sin obtener el permiso del autor con fines de interoperabilidad. [16] En los Estados Unidos, la Ley de Derechos de Autor del Milenio Digital proporciona protección para el software de ingeniería inversa con fines de interoperabilidad con otro software. [17] [18] También existen precedentes legales en los Estados Unidos cuando la ingeniería inversa tiene como objetivo la interoperabilidad de formatos y protocolos de archivos. [19] [20] [21]

Además, algunos países permiten específicamente la copia de un programa con fines de ingeniería inversa. [22]

Notas

  1. ^ "Abriendo paso a la próxima generación de Skype en el escritorio". 20 de junio de 2014.
  2. ^ Keizer, Gregg (21 de junio de 2014). "Actualización: Skype retirará las ediciones recientes para Windows y Mac; las actualizaciones son obligatorias".
  3. ^ Chris Merrimen (15 de agosto de 2014). "Skype deja de funcionar en teléfonos Android más antiguos, dejando a los usuarios de Linux en la oscuridad". CNET . Archivado desde el original el 16 de agosto de 2014 . Consultado el 2 de octubre de 2014 .{{cite web}}: Mantenimiento CS1: URL no apta ( enlace )
  4. ^ Salman A. Baset; Henning Schulzrinne (2004). "Un análisis del protocolo de telefonía por Internet peer-to-peer de Skype". pag. 11. arXiv : cs/0412017v1 .
  5. ^ Branscombe, Mary (27 de julio de 2012). "Olvídese de las teorías de la conspiración: los supernodos de Skype pertenecen a la nube". 500 palabras hacia el futuro (ZDNet) . Consultado el 17 de junio de 2013 .
  6. ^ "Skype reemplaza los supernodos P2P con cajas de Linux alojadas por Microsoft (actualizado)". Ars Técnica . 2 de mayo de 2012 . Consultado el 17 de junio de 2013 .
  7. ^ Kosner, Anthony (18 de julio de 2012). "¿Los cambios de Microsoft en la arquitectura de Skype harán que sea más fácil espiar?". Blog de Forbes . Consultado el 17 de junio de 2013 .
  8. ^ Gallagher, Ryan (6 de junio de 2013). "PRSM Snooping recientemente revelado hace que la vigilancia de Verizon parezca cosa de niños". Blog de pizarra . Consultado el 17 de junio de 2013 .
  9. ^ Greenwald, Glenn (7 de junio de 2013). "El programa NSA Prism aprovecha los datos de los usuarios de Apple, Google y otros". El guardián . Consultado el 17 de junio de 2013 .
  10. ^ "Skype no es compatible con IPv6". Cuenta oficial de Twitter de Skype. 1 de noviembre de 2012 . Consultado el 4 de noviembre de 2012 .
  11. ^ Introducción Análisis de Skype Aplicación de políticas anti-Skype, Skype descubierto Estudio de seguridad de Skype, Desclaux Fabrice, 11/7/2005, EADS CCR/STI/C
  12. ^ "¿Qué protocolos utiliza Skype?". Ayuda . skype. Archivado desde el original el 3 de marzo de 2009.
  13. ^ "Publicaciones en la categoría inversa de Skype". OKLabs .
    "Ingeniería inversa de Skype: el (largo) viaje;)". OKLabs .
  14. ^ Darío Bonfiglio; et al. "Revelar el tráfico de Skype: cuando la aleatoriedad juega contigo". Revisión de comunicación por computadora ACM SIGCOMM . 37 (SIGCOMM 2007): 37–48. Archivado desde el original el 30 de abril de 2011.
  15. ^ Fabrice Desclaux; Kostya Kortchinsky (17 de junio de 2006). "Skype vainilla, parte 2" (PDF) . RECON2006 .
  16. ^ Directiva 2009/24/CE del Parlamento Europeo y del Consejo, de 23 de abril de 2009, sobre la protección jurídica de los programas informáticos
  17. ^ 17 USC Sección. 1201(f).
  18. ^ Ley de aplicación de los tratados de fonogramas, interpretación y ejecución de derechos de autor de la OMPI
  19. ^ Sega contra galardón, 1992
  20. ^ Sony contra Connectix, 2000
  21. ^ Pamela Samuelson y Suzanne Scotchmer (mayo de 2002). "El derecho y la economía de la ingeniería inversa" (PDF) . Revista de derecho de Yale . 111 (7): 1575-1663. doi :10.2307/797533. JSTOR  797533. Archivado desde el original (PDF) el 16 de julio de 2011 . Consultado el 17 de marzo de 2015 .
  22. ^ En el conjunto de leyes francesas de "propiedad intelectual", existe una excepción que permite a cualquier usuario de software realizar ingeniería inversa. Véase code de la propriété intellectuelle (en francés) . Esta ley es la implementación nacional de una legislación de la UE: la Directiva 91/250/CEE del Consejo, desde entonces derogada por la Directiva 2009/24/CE del Parlamento Europeo y del Consejo, de 23 de abril de 2009, sobre la protección jurídica de los programas informáticos. que también tiene una disposición muy similar que permite la ingeniería inversa/descompilación con fines de desarrollo y prueba de programas independientes pero interoperativos).

Referencias

enlaces externos