Mostrando entradas con la etiqueta web. Mostrar todas las entradas
Mostrando entradas con la etiqueta web. Mostrar todas las entradas

jueves, 10 de marzo de 2016

ADIOS HTTP 1, HOLA HTTP2

El gran HTTP, ha evolucionado a la version 2. El protocolo inventado por cientificos del CERN, para la comunicacion entre sistemas distribuidos, se ha actualizado para dar soporte a nuevas formas de comunicacion.

Que es el HTTP/2?

En febrero del 2015 se actualizó el protocolo HTTP. Aunque la nueva versión sigue siendo compatible con la primera version. Está basado en el protocolo SPDY de Google

La gran diferencia entre la primera version y la segunda, es la latencia. En la primera version, para descargarse una web desde el servidor al navegador, se necesitan tantas peticiones como recursos de la web (css,js,imagenes,...) se necesiten. En HTTP/2 tan solo una conexión TCP.

HTTP/2
Arriba HTTP version 1. Abajo, la segunda version
HTTP/2 mantiene los codigos de estado y los metodos (PUT,GET,POST,...). Aunque en sus cabeceras se encuentran las siguientes diferencias:
  • Compresion, eliminando informacion redundante.
  • Cabeceras en formato binario y no en texto.
  • Server-Push. De una peticion TCP del navegador, obtener tantos recursos como se necesite.
  • Multiplexacion. Enviar varias peticiones a la vez. Asi resolviendo el problema de Head-of-line blocking
  • No requiere TLS.

Formato de la trama

Tamaño maximo de 16Kb.

Trama HTTP/2
Trama de HTTP/2


  •  Length: Longitud de la trama
  • Type: Determina el formato y la semantica de la trama.
  • Flags: 8 bits para indicar el tipo de trama.
  • R: bit reservado.
  • Stream Identifier: Identificador del stream. 

Control de flujo

HTTP/2 provee un control de flujo a traves de la trama WINDOW_UPDATE. Los receptores anuncian el numero de octetos que están preparados recibir en una trasmision y para toda la conexion TCP. El emisor debe respetar el tamaño de la ventana que ha limitado el receptor.

WINDOW UPDATE
Trama WINDOW_UPDATE
Cuando se establece una conexion HTTP/2, se crean nuevos streams con ventanas de control de flujo del tamaño de 65535 bytes. Los endpoint pueden cambiar el tamaño de las tramas para nuevos streams, cambiando el valor de SETTINGS_INITIAL_WINDOW_SIZE en la trama SETTINGS. El tamaño de la trama de la conexion solo se puede cambiar con tramas de WINDOW UPDATE

Que navegadores lo soportan?

Navegadores y sus versiones que soportan HTTP/2

martes, 8 de abril de 2014

Las comunicaciones seguras en la web, en peligro

Un equipo de investigadores ha descubierto un fallo en OpenSSL, el protocolo de cifrado de datos más popular de la red. Un error, presente desde hace dos años, que abre la puerta al robo masivo de la información confidencial que viaja por la red. Aunque sus responsables ya han publicado un remedio, y piden una actualización rápida de todos los servidores, consideran imposible determinar el alcance del real de sus consecuencias. Durante los últimos 25 meses, casi cualquier comunicación de la red ha podido ser, afirman, interceptada.
«Es probable que te haya afectado, directa o indirectamente», explican los autores del descubrimiento en una página web creada para divulgar el fallo. «OpenSSL es la librería criptográfica de software libre, y la implementación de la ‘capa de transporte seguro’ más populares para cifrar datos en la red». Se calcula que, al menos dos tercios de todos los servidores conectados a internet son vulnerables. «Tu red social, la web de tu empresa, la tienda online, el lugar desde el que instalas software o incluso páginas web gubernamentales podían estar usando el OpenSSL vulnerable», aclaran.
OpenSSL es un conjunto de herramientas que permiten establecer una comunicación –supuestamente– segura entre dos puntos de la red. El error descubierto, al que han denominado ‘Heartbleed’ –‘sangrado de corazón’–, no solo afecta a las páginas y los navegadores web de los usuarios, sino a servidores de correo, y a toda clase de aplicaciones de mensajería. También a otros muchos servicios. «Afortunadamente muchas grandes páginas web se salvan por su política conservadora con sus equipos y software», aclaran los investigadores. «Irónicamente, servicios más pequeños y más modernos, o aquellos que se han actualizado a las últimas versiones, están más afectados».
El fallo, explican los investigadores, no está en el diseño de OpenSSL, sino en su implementación. Un fallo de programación no detectado hasta ahora, y que permitía a un atacante obtener las claves de cifrado. «Las joyas de la corona. Estas claves permiten a un atacante descifrar cualquier tráfico pasado o futuro de los servicios protegidos, así como hacerse pasar por el servicio en sí», explican. A partir de estas, un atacante puede acceder a nombres de usuario, contraseñas y cualquier documento que se haya intercambiado entre dos nodos cualquiera de la red que usasen OpenSSL.
Para colmo, un atacante que conociese este fallo en OpenSSL podría pasar completamente inadvertido. No se sabe si alguien lo había identificado antes que este grupo de investigadores –de Google y de la empresa de seguridad Codenomicon– y, por las características del error, no se puede saber. «La comunidad de la seguridad informática debería plantar trampas para detectar a posibles atacantes», sentencian.