Las especificaciones de SSL / TLS dictan el protocolo por cable, pero no dicen nada sobre cómo se implementa un cliente. Por lo general, el kernel del sistema operativo proporciona un socket TCP básico sin cifrar. Para implementar la capa SSL, el navegador llama a las funciones en una biblioteca criptográfica (como OpenSSL , SSLeay, < a href="http://www.gnutls.org/"> GNUtls o NSS ) . Por lo tanto, la compatibilidad con SSL suele ocurrir en espacio de usuario , en el mismo proceso que el resto del navegador.
En cuanto a si considera que la compatibilidad con SSL es proporcionada por el "sistema", depende. El navegador puede enlazar a la biblioteca criptográfica de forma estática o dinámica. Una biblioteca dinámica (o DLL) podría distribuirse con el sistema operativo, o el proveedor del navegador puede enviar su propia copia de la biblioteca.
En el lado del servidor, la situación es a menudo similar, donde un módulo de servidor web proporciona soporte SSL (en el espacio de usuario, en el mismo proceso que el resto del servidor web). Sin embargo, las configuraciones alternativas también son comunes. El soporte criptográfico puede ser acelerado por hardware . Un proxy inverso, como un equilibrador de carga, puede colocarse frente al servidor web real y traducir entre HTTP y HTTPS, en cuyo caso los datos pueden viajar sin cifrar dentro de la red del proveedor de contenido.
Para solucionar el problema de la intercepción y manipulación de datos: Cualquier persona que tenga acceso a la clave privada del servidor puede descifrar fácilmente la transmisión . Como corolario, cualquier servidor que presente un certificado firmado por una autoridad de certificados en la que confíe su navegador puede falsificar el sitio web, siempre que el nombre de host en el certificado coincida con el nombre de host en la URL. (Por ejemplo, Opera opera un proxy para su producto Opera Mini . El navegador Opera Mini canaliza todo el tráfico a través del proxy de Opera y confía plenamente en el certificado presentado por el proxy. Por lo tanto, aunque el tráfico entre el navegador y el proxy puede estar cifrado, y el tráfico entre el proxy y el servidor web de contenido puede estar cifrado, Opera tiene la capacidad técnica de leer todos los datos a través de su proxy.) Finalmente, cualquier persona que tenga la capacidad de manipular el navegador (por alguna extensión o mecanismo de complemento) o el enlazador dinámico (usando algo como LD_PRELOAD) o la lista de certificados de confianza del navegador también podría interceptar los datos, aunque señala que la integridad del cliente se ha visto tan comprometida que no hay esperanza para ninguna seguridad significativa.