Resumen
La seguridad de la capa de transporte (TLS) 1.0 y 1.1 son protocolos de seguridad para crear canales de cifrado a través de redes de equipos. Microsoft los ha admitido desde Windows XP y Windows Server 2003. Sin embargo, los requisitos normativos están cambiando. Además, hay nuevas debilidades de seguridad en TLS 1.0. Por lo tanto, Microsoft recomienda quitar las dependencias de TLS 1.0 y 1.1. También le recomendamos que deshabilite TLS 1.0 y 1.1 en el nivel del sistema operativo, siempre que sea posible. Para obtener más información, consulte Deshabilitación de TLS 1.0 y 1.1. En la actualización preliminar del 20 de septiembre de 2022, deshabilitaremos TLS 1.0 y 1.1 de forma predeterminada para las aplicaciones basadas en winhttp y wininet. Esto forma parte de un esfuerzo continuo. Este artículo le ayudará a volver a habilitarlas. Estos cambios se reflejarán después de instalar las actualizaciones de Windows publicadas el 20 de septiembre de 2022 o después.
Comportamiento al obtener acceso a vínculos tls 1.0 y 1.1 en el explorador
Después del 20 de septiembre de 2022, aparecerá un mensaje cuando el explorador abra un sitio web que use TLS 1.0 o 1.1. Vea la figura 1. El mensaje indica que el sitio usa un protocolo TLS obsoleto o no seguro. Para solucionar este problema, puede actualizar el protocolo TLS a TLS 1.2 o superior. Si esto no es posible, puede habilitar TLS como se describe en Habilitar TLS versión 1.1 y posterior.
Figura 1: Ventana del explorador al acceder a la página web de TLS 1.0 y 1.1
Comportamiento al obtener acceso a vínculos TLS 1.0 y 1.1 en aplicaciones winhttp
Después de la actualización, es posible que se produzcan errores en las aplicaciones basadas en winhttp. El mensaje de error es "ERROR_WINHTTP_SECURE_FAILURE al realizar la operación WinHttpSendRequest".
Comportamiento al acceder a vínculos tls 1.0 y 1.1 en aplicaciones de interfaz de usuario personalizadas basadas en winhttp o wininet
Cuando una aplicación intenta crear una conexión mediante TLS 1.1 y posterior, es posible que parezca que la conexión produce errores. Al cerrar una aplicación o dejar de funcionar, aparece el cuadro de diálogo Asistente para la compatibilidad de programas (PCA), tal y como se muestra en la figura 2.
Figura 2: Cuadro de diálogo asistente de compatibilidad de programas después de cerrar una aplicación
El cuadro de diálogo PCA indica "Es posible que este programa no se haya ejecutado correctamente". Debajo de eso, hay dos opciones:
-
Ejecutar el programa con la configuración de compatibilidad
-
Este programa se ejecutó correctamente
Ejecutar el programa con la configuración de compatibilidad
Al elegir esta opción, se vuelve a abrir la aplicación. Ahora, todos los vínculos que usan TLS 1.0 y 1.1 funcionan correctamente. A partir de ese momento, no aparecerá ningún cuadro de diálogo de PCA. El Editor del Registro agrega entradas a las siguientes rutas:
-
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store.
-
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.
Si elige esta opción por error, puede eliminar estas entradas. Si las eliminas, verás el cuadro de diálogo pca la próxima vez que abras la aplicación.
Figura 3: Lista de programas que deben ejecutarse con la configuración de compatibilidad
Este programa se ejecutó correctamente
Al elegir esta opción, la aplicación se cierra normalmente. La próxima vez que vuelva a abrir la aplicación, no aparecerá ningún cuadro de diálogo PCA. El sistema bloquea todo el contenido de TLS 1.0 y 1.1. El Editor del Registro agrega la siguiente entrada a la ruta de accesoComputer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store. Vea la figura 4. Si eligió esta opción por error, puede eliminar esta entrada. Si eliminas la entrada, verás el cuadro de diálogo PCA la próxima vez que abras la aplicación.
Figura 4: Entrada en el Editor del Registro que indica que la aplicación se ejecutó correctamente
Importante Los protocolos TLS heredados solo están habilitados para aplicaciones específicas. Esto es así aunque estén deshabilitados en la configuración de todo el sistema.
Habilitar TLS versión 1.1 y posteriores (configuración de Wininet e Internet Explorer)
No se recomienda habilitar TLS 1.1 y versiones posteriores porque ya no se consideran seguros. Son vulnerables a diversos ataques, como el ataque POODLE. Por lo tanto, antes de habilitar TLS 1.1, siga uno de estos procedimientos:
-
Compruebe si hay una versión más reciente de la aplicación disponible.
-
Pida al desarrollador de la aplicación que realice cambios de configuración en la aplicación para quitar la dependencia de TLS 1.1 y posteriores.
En caso de que ninguna de las soluciones funcione, hay dos maneras de habilitar protocolos TLS heredados en la configuración de todo el sistema:
-
Opciones de Internet
-
Editor de directivas de grupo
Opciones de Internet
Para abrir Opciones de Internet, escribe Opciones de Internet en el cuadro de búsqueda de la barra de tareas. También puede seleccionar Cambiar configuración en el cuadro de diálogo que se muestra en la figura 1. En la pestaña Avanzadas , desplázate hacia abajo en el panel Configuración . Allí puede habilitar o deshabilitar los protocolos TLS.
Figura 5: Cuadro de diálogo Propiedades de Internet
Editor de directiva de grupo
Para abrir el Editor de directiva de grupo, escribe gpedit.msc en el cuadro de búsqueda de la barra de tareas. Aparece una ventana como la que se muestra en la figura 6.
Figura 6: ventana del Editor directiva de grupo
-
Ve a la > de directivas de equipo local(Configuración del equipo o Configuración de usuario) > Templets administrativos > componentes de Windows > Internet Explorer > Internet Panel de control > página avanzada > Desactivar la compatibilidad con cifrado. Vea la figura 7.
-
Haga doble clic en Desactivar la compatibilidad con cifrado.
Figura 7: Ruta para desactivar la compatibilidad con cifrado en directiva de grupo Editor
-
Seleccione la opción Habilitado . A continuación, use la lista desplegable para seleccionar la versión TLS que desea habilitar, como se muestra en la figura 8.
Figura 8: Habilitar Desactivar la compatibilidad con cifrado y la lista desplegable
Una vez que haya habilitado la directiva en el Editor de directiva de grupo, no podrá cambiarla en Opciones de Internet. Por ejemplo, si selecciona Usar SSL3.0 y TLS 1.0, el resto de opciones no estarán disponibles en Opciones de Internet. Vea la figura 9. No puede cambiar ninguna de las opciones de Configuración de Internet si habilita Desactivar la compatibilidad con cifrado en el Editor de directiva de grupo.
Figura 9: Opciones de Internet que muestran la configuración de SSL y TLS no disponible
Habilitar TLS versión 1.1 y posteriores (configuración winhttp)
Rutas importantes del Registro (configuración de Wininet e Internet Explorer)
-
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
-
Aquí puede encontrar SecureProtocols, que almacena el valor de los protocolos habilitados actualmente si usa el Editor de directiva de grupo.
-
-
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
-
Aquí puede encontrar SecureProtocols, que almacena el valor de los protocolos actualmente habilitados si usa Opciones de Internet.
-
-
directiva de grupo SecureProtocols tendrá prioridad sobre el establecido por Opciones de Internet.
Habilitar la reserva tls insegura
Las modificaciones anteriores habilitarán TLS 1.0 y TLS 1.1. Sin embargo, no habilitarán la reserva TLS. Para habilitar la reserva tls, debe establecer EnableInsecureTlsFallback en 1 en el Registro bajo las rutas de acceso siguientes.
-
Para cambiar la configuración: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttps
-
Para establecer la directiva: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
Si EnableInsecureTlsFallback no está presente, debe crear una nueva entrada DWORD y establecerla en 1.
Rutas importantes del Registro
-
ForceDefaultSecureProtocols
-
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttps
-
Es FALSO de forma predeterminada. Establecer un valor distinto de cero hará que las aplicaciones dejen de establecer protocolos personalizados con la opción winhttp.
-
-
EnableInsecureTlsFallback
-
Para cambiar la configuración: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttps
-
Para establecer la directiva: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
-
Es FALSO de forma predeterminada. Establecer un valor distinto de cero permitirá a las aplicaciones volver a los protocolos no seguros (TLS1.0 y 1.1) si el enlace falla con protocolos seguros (tls1.2 y posteriores).
-