28 abr. 2014

Protocolos ChaCha20 y Poly1305 para reforzar conexiones HTTPS

A comienzos de este año, Google implementó en Chrome un nuevo conjunto de cifrado TLS (cipher suite) que funciona tres veces más rápido que AES-GCM en los dispositivos que no tienen hardware de aceleración para AES, incluyendo a la mayoría de los celulares con Android, dispositivos portables personales tales como Google Glass y también computadoras antiguas. Esto mejora la experiencia del usuario, reduce la latencia y ahorra batería al reducir la cantidad de tiempo empleado en cifrar y descifrar la información.

Para lograr esto, Adam Langley, Wan-Teh Chang, Ben Lauriey implementaron nuevos algoritmos -ChaCha20 para cifrado simétrico y Poly1305 para autenticación- en OpenSSL y NSS (Network Security Services) en marzo de 2013. Fue un esfuerzo complejo que requirió la implementación de una nueva capa de abstracción en OpenSSL para dar soporte apropiado al modo de cifrado AEAD - Authenticated Encryption with Associated Data. AEAD permite que el cifrado y la autenticación sucedan concurrentemente, haciéndolo más sencillo de usar y optimizar que los antiguos y comunmente usados modos tales como el CBC. Por otra parte, los recientes ataques contra RC4 y CBC también impulsaron a hacer este cambio.

Los beneficios de este nuevo conjunto de cifrado incluyen: 
  • Mayor seguridad: ChaCha20 es immune a los ataques Padding-Oracle, tales como el Lucky13, que afecta el modo CBC que se usa en TLS. Por diseño, ChaCha20 también es inmune a los ataques de sincronización. Revise la descripción detallada de las debilidades de los conjuntos de cifrado de TLS en este post.
  • Mejor rendimiento: ChaCha20 y Poly1305 son muy rápidos en dispositivos móviles y personales, ya que por sus diseños son capaces de aprovechar las instrucciónes de CPU comunes, incluyendo el juego de instrucciones vectoriales ARM. Poly1305 también ahorra ancho de banda, ya que su salida es de solo 16 bytes comparado con HMAC-SHA1, el cual es de 20 bytes. Esto representa una reducción del 16% de la recarga de red TLS que se produce cuando se usan conjuntos de cifrado más antiguos como RC4-SHA o AES-SHA. La aceleración esperada comparada con AES-GCM para varias plataformas se puede ver resumido en el siguiente cuadro.

En febrero de 2014, caso todas las conexiones HTTPS realizadas desde los navegadores Chrome en dispositivos Android a sitios de Google han utilizado este nuevo conjunto de cifrado. Planeamos hacerlo disponible como parte de la plataforma Android en una futura versión. Si quiere verificar cual conjunto de cifrado utiliza actualmente, en un dispositivo Android  o en el escritorio, simplemente haga click en la barra de dirección URL y vea la solapa de conexión. Si Chrome está utilizando ChaCha20-Poly1305, verá la siguiente información:


ChaCha20 y Poly1305 fueron diseñados por el Prof. Dan Bernstein de la Universitidad de Illinois en Chicago. El diseño simple y eficiente de estos algoritmos combinados con la extensa investigación de antecedentes que recibieron de la comunidad científica nos hace confiar en que estos algoritmos traeran la seguridad y la velocidad necesarias para las comunicaciones móviles seguras. Por otra parte, la selección de algoritmos que son gratuitos para que todos los usen también está en linea con nuestro compromiso por la transparencia y apertura.

Si se accede a GMail con Google Chrome, ya se puede ver el uso de dichos protocolos.

Quisieramos agradecer a la gente que hizo esto posible:  Dan Bernstein quien inventó e implementó tanto ChaCha20 como Poly1305, Andrew Moon por su implementación de código abierto de Poly1305, Ted Kravitz por su implementación de código abierto de ChaCha20 y Peter Schwabe por su trabajo de implementación. Esperamos que habrá incluso una mayor adopción de este conjunto de cifrado, y esperamos ver que otros sitios deprecien AES-SHA1 y RC4-SHA1 en favor de AES-GCM y ChaCha20-Poly1305 ya que estos ofrecen una alternativa más segura y rápida. Los borradores de estandar IETF para este conjunto de cifrado están disponibles aquí y aquí

Traducción: Raúl Batista - Segu-Info
Autor: 
Fuente: Google Online Security Blog

3 comentarios:

  1. gracias por la info bro

    ResponderEliminar
  2. este chacha no me deja entrar a internet ni a youtube ni a google play ayudenme

    ResponderEliminar
  3. este chcha no me deja entrar ni a google, ni ayoutube y tampoco a play store que hago?

    ResponderEliminar

Gracias por dejar un comentario en Segu-Info
Si vas a dejar una consulta, procura tener habilitado tu perfil en Blogger o deja una forma de contacto.

Gracias por comentar!