Diferencia entre revisiones de «Protocolo seguro de transferencia de hipertexto»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Línea 46: Línea 46:
HTTP es inseguro y está sujeto a ataques ''[[Ataque man-in-the-middle|man-in-the-middle]]'' y ''[[eavesdropping]]'' que pueden permitir al atacante obtener acceso a cuentas de un sitio web e información confidencial. HTTPS está diseñado para resistir esos ataques y ser más seguro.
HTTP es inseguro y está sujeto a ataques ''[[Ataque man-in-the-middle|man-in-the-middle]]'' y ''[[eavesdropping]]'' que pueden permitir al atacante obtener acceso a cuentas de un sitio web e información confidencial. HTTPS está diseñado para resistir esos ataques y ser más seguro.


=== Capas de red ===
=== Capas de red y sabumafu===
HTTP opera en la capa más alta del [[modelo OSI]], la capa de aplicación; pero el protocolo de seguridad opera en una subcapa más baja, cifrando un mensaje HTTP previo a la transmisión y descifrando un mensaje una vez recibido. Estrictamente hablando, HTTPS no es un protocolo separado, pero refiere el uso del [[HTTP]] ordinario sobre una [[Secure Sockets Layer|Capa de Conexión Segura]] [[Criptografía|cifrada]] [[Secure Sockets Layer]] (SSL) o una conexión con [[Transport Layer Security|Seguridad de la Capa de Transporte]] (TLS).
HTTP opera en la capa más alta del [[modelo OSI]], la capa de aplicación; pero el protocolo de seguridad opera en una subcapa más baja, cifrando un mensaje HTTP previo a la transmisión y descifrando un mensaje una vez recibido. Estrictamente hablando, HTTPS no es un protocolo separado, pero refiere el uso del [[HTTP]] ordinario sobre una [[Secure Sockets Layer|Capa de Conexión Segura]] [[Criptografía|cifrada]] [[Secure Sockets Layer]] (SSL) o una conexión con [[Transport Layer Security|Seguridad de la Capa de Transporte]] (TLS).



Revisión del 13:47 1 feb 2017

Hypertext Transfer Protocol Secure
(HTTPS)
Familia Familia de protocolos de Internet
Función Transferencia segura de hipertexto
Puertos 443/TCP
Ubicación en la pila de protocolos
Aplicación HTTPS
Transporte SSL/TLS
TCP
Red IP
Estándares
RFC 2818 – HTTP sobre TLS

Hypertext Transfer Protocol Secure (en español: Protocolo seguro de transferencia de hipertexto), más conocido por sus siglas HTTPS, es un protocolo de aplicación basado en el protocolo HTTP, destinado a la transferencia segura de datos de Hipertexto, es decir, es la versión segura de HTTP.

Es utilizado principalmente por entidades bancarias, tiendas en línea, y cualquier tipo de servicio que requiera el envío de datos personales y/o contraseñas.

tu y yo

Muchos navegadores, incluyendo Firefox (en la imagen), usa un aviso en la barra de direcciones para indicar al usuario de que su conexión es segura, coloreando el fondo y con el nombre del dueño del sitio web.
Cuando se accede a un sitio web con un certificado común, en la barra de direcciones no se observa el dueño del sitio. En algunos navegadores, puede aparecer un símbolo de candado.

El sistema HTTPS utiliza un cifrado basado en SSL/TLS para crear un canal cifrado (cuyo nivel de cifrado depende del servidor remoto y del navegador utilizado por el cliente) más apropiado para el tráfico de información sensible que el protocolo HTTP. De este modo se consigue que la información sensible (usuario y claves de paso normalmente) no pueda ser usada por un atacante que haya conseguido interceptar la transferencia de datos de la conexión, ya que lo único que obtendrá será un flujo de datos cifrados que le resultará imposible de descifrar.

El puerto estándar para este protocolo es el 443.

Historia

Netscape Communications creó HTTPS en 1992 para su navegador Netscape Navigator.[1]​ Originalmente, HTTPS era usado solamente para guardar cosas en la casa cifrado SSL, pero esto se volvió obsoleto ante TLS. HTTPS fue adoptado como un estándar web con la publicación de RFC 2818 en mayo del 2000.[2]

Diferencias con HTTP

En el protocolo HTTP las URLs comienzan con "http://" y utilizan por omisión el puerto 80, las URLs de HTTPS comienzan con "https://" y utilizan el puerto 443 por omisión.

HTTP es inseguro y está sujeto a ataques man-in-the-middle y eavesdropping que pueden permitir al atacante obtener acceso a cuentas de un sitio web e información confidencial. HTTPS está diseñado para resistir esos ataques y ser más seguro.

Capas de red y sabumafu

HTTP opera en la capa más alta del modelo OSI, la capa de aplicación; pero el protocolo de seguridad opera en una subcapa más baja, cifrando un mensaje HTTP previo a la transmisión y descifrando un mensaje una vez recibido. Estrictamente hablando, HTTPS no es un protocolo separado, pero refiere el uso del HTTP ordinario sobre una Capa de Conexión Segura cifrada Secure Sockets Layer (SSL) o una conexión con Seguridad de la Capa de Transporte (TLS).

Configuración del servidor

Para preparar un servidor web que acepte conexiones HTTPS, el administrador debe crear un certificado de clave pública para el servidor web. Este certificado debe estar firmado por una autoridad de certificación para que el navegador web lo acepte. La autoridad certifica que el titular del certificado es quien dice ser. Los navegadores web generalmente son distribuidos con los certificados raíz firmados por la mayoría de las autoridades de certificación por lo que estos pueden verificar certificados firmados por ellos.

Adquisición de certificados

Adquirir certificados puede ser gratuito[3]​ (generalmente sólo si se paga por otros servicios) o costar entre US$13[4]​ y US$1,500[5]​ por año.

Las organizaciones pueden también ser su propia autoridad de certificación, particularmente si son responsables de establecer acceso a navegadores de sus propios sitios (por ejemplo, sitios en una compañía intranet, o universidades mayores). Estas pueden fácilmente agregar copias de su propio certificado firmado a los certificados de confianza distribuidos con el navegador.

También existen autoridades de certificación peer-to-peer.

Usar un control de acceso

El sistema puede también ser usado para la autenticación de clientes con el objetivo de limitar el acceso a un servidor web a usuarios autorizados. Para hacer esto el administrador del sitio típicamente crea un certificado para cada usuario, un certificado que es guardado dentro de su navegador. Normalmente, este contiene el nombre y la dirección de correo del usuario autorizado y es revisado automáticamente en cada reconexión para verificar la identidad del usuario, potencialmente sin que cada vez tenga que ingresar una contraseña.

En caso de claves privadas comprometidas

Un certificado puede ser revocado si este ya ha expirado, por ejemplo cuando el secreto de la llave privada ha sido comprometido. Los navegadores más nuevos como son Firefox,[6]Opera,[7]​ e Internet Explorer sobre Windows Vista[8]​ implementan el Protocolo de Estado de Certificado Online (OCSP) para verificar que ese no es el caso. El navegador envía el número de serie del certificado a la autoridad de certificación o, es delegado vía OCSP y la autoridad responde, diciéndole al navegador si debe o no considerar el certificado como válido.[9]

Limitaciones

El nivel de protección depende de la exactitud de la implementación del navegador web, el software del servidor y los algoritmos de cifrado actualmente soportados. Vea la lista en Idea Principal.

También, HTTPS es vulnerable cuando se aplica a contenido estático de publicación disponible. El sitio entero puede ser indexado usando una araña web, y la URI del recurso cifrado puede ser adivinada conociendo solamente el tamaño de la petición/respuesta.[10]​ Esto permite a un atacante tener acceso al texto plano (contenido estático de publicación), y al texto cifrado (La versión cifrada del contenido estático), permitiendo un ataque criptográfico.

Debido a que SSL opera bajo HTTP y no tiene conocimiento de protocolos de nivel más alto, los servidores SSL solo pueden presentar estrictamente un certificado para una combinación de puerto/IP en particular[11]​ Esto quiere decir, que en la mayoría de los casos, no es recomendable usar Hosting virtual name-based con HTTPS. Existe una solución llamada Server Name Indication (SNI) que envía el hostname al servidor antes de que la conexión sea cifrada, sin embargo muchos navegadores antiguos no soportan esta extensión. El soporte para SNI está disponible desde Firefox 2, Opera 8, e Internet Explorer 7 sobre Windows Vista.[12][13][14]

Véase también

Referencias

  1. Walls, Colin (2005). Embedded software. p. 344. 
  2. Rescorla, E (mayo de 2000). «HTTP Over TLS». Internet Engineering Task Force. Consultado el 6 de mayo de 2009. 
  3. «Certificados Gratuitos StartSSL». StartSSL. Consultado el 20 de mayo de 2009. 
  4. «Servicios de Certificación SSL». Go Daddy. Consultado el 6 de mayo de 2009. 
  5. «Secure Site Pro con EV». VeriSign. Consultado el 6 de mayo de 2009. 
  6. «Política de privacidad de Mozilla FireFox». Mozilla Foundation. 27 de abril de 2009. Archivado desde el original el 1 de diciembre de 2015. Consultado el 13 de mayo de 2009. 
  7. Opera 8 lanzado en FTP. Softpedia. 19 de abril de 2005. Consultado el 13 de mayo de 2009. 
  8. Lawrence, Eric (31 de enero de 2006). «HTTPS Security Improvements en Internet Explorer 7». MSDN. Consultado el 13 de mayo de 2009. 
  9. Myers, M; Ankney, R; Malpani, A; Galperin, S; Adams, C (junio de 1999). «Online Certificate Status Protocol - OCSP». Internet Engineering Task Force. Consultado el 13 de mayo de 2009. 
  10. Morales, Manuel (22 de julio de 1938). «The Pirate Bay un-SSL». Consultado el 11 de noviembre de 2013. 
  11. Apache FAQ: Why can't I use SSL with name-based/non-IP-based virtual hosts?
  12. MORALES, Manuel (22julio de 1938). «Upcoming HTTPS Improvements in Internet Explorer 7 Beta 2». Microsoft. Consultado el 24 de noviembre de 2013. 
  13. Server Name Indication (SNI)
  14. Mozilla 1.8

Enlaces externos