Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Microsoft dejará en desuso el algoritmo de la función de derivación de claves versión 1 (KDFv1) que se usa para la autenticación de dispositivos unidos a Microsoft Entra o unidos a híbridos de Microsoft Entra en compilaciones de Windows publicadas antes de julio de 2021.
El algoritmo KDFv1 se usó históricamente para la autenticación de dispositivos en versiones anteriores de Windows. Se detectó un error de seguridad crítico que permitía la autenticación no autorizada, como se describe en CVE-2021-33781. Para solucionar esta vulnerabilidad, Microsoft emitió una actualización de seguridad de Windows en julio de 2021. Todas las compilaciones de Windows publicadas después de julio de 2021 ya no usan el algoritmo KDFv1.
Como parte de nuestro compromiso continuo con la mejora de la seguridad, Microsoft implementa incrementalmente un cambio que bloquea el uso del algoritmo KDFv1 para la autenticación con Microsoft Entra.
Impacto del desuso
Todos los dispositivos Windows que se autentican con Microsoft Entra deben tener aplicada la revisión de seguridad o ejecutar compilaciones de Windows publicadas después de julio de 2021. Los dispositivos Windows no etiquetados no se autenticarán con Microsoft Entra una vez completada la implementación de este cambio.
Mensajes de error
Los usuarios de dispositivos sin revisión encuentran el siguiente mensaje de error al intentar iniciar sesión:
Código de error de inicio de sesión: 5000611
Motivo del error: la versión "1" de la función de derivación de claves simétricas no es válida. Actualice el dispositivo con las actualizaciones más recientes.
Este mensaje de error también estará presente en los registros de inicio de sesión de Microsoft Entra, lo que permite a los administradores identificar errores de autenticación debido al algoritmo KDFv1 en desuso.
Nota:
Debido al lanzamiento incremental del proceso de desuso, los errores de autenticación en dispositivos Windows sin revisión pueden aparecer inicialmente de forma transitoria o intermitente. Es importante solucionar estos problemas rápidamente aplicando actualizaciones de seguridad de Windows para mantener experiencias de autenticación sin problemas.
Acciones requeridas
Los administradores de Microsoft Entra deben identificar y dirigir de forma proactiva los dispositivos dentro de su inquilino que podrían verse afectados por este desuso. Se recomienda seguir estos pasos:
- Supervisar errores de autenticación: compruebe periódicamente los registros de inicio de sesión de Microsoft Entra para ver el código de error 5000611 y el motivo del error correspondiente.
- Actualizar dispositivos: si los usuarios notifican errores de autenticación con un mensaje de error que hace referencia al algoritmo KDFv1, actualice sus dispositivos con las actualizaciones de seguridad más recientes para su versión de Windows.
- Buscar compilaciones afectadas: use las instrucciones proporcionadas en CVE Record CVE-2021-33781 para buscar dispositivos Windows en el inquilino que podrían estar ejecutando compilaciones afectadas. Script de PowerShell para detectar dispositivos que requieren una actualización.
- Comuníquese con los usuarios: informe a los usuarios sobre la importancia de mantener actualizados sus dispositivos y proporcionar instrucciones sobre cómo aplicar las actualizaciones necesarias.
Script de PowerShell para detectar dispositivos que requieren una actualización
# Script to discover devices requiring an update to address KDFv1 vulnerability
Connect-MgGraph -Scope "Device.Read.All"
Import-Module Microsoft.Graph.Identity.DirectoryManagement
# Define the output file
$file = ".\AffectedDevices.txt"
# Calculate the date for stale devices. Stale devices won't be listed
# Change this to a period you want to cover
$staleDate = (Get-Date).AddDays(-30)
Write-Host "Stale Date = $($staleDate)"
# Retrieve all Windows devices
$WinDevices = Get-MgDevice -Property "id,displayName,operatingSystem,approximateLastSignInDateTime" -All -ErrorAction Stop | Where-Object {
$_.operatingSystem -eq "Windows" -and $_.approximateLastSignInDateTime -gt $staleDate
}
# Check if there are any devices in the $WinDevices array
if ($WinDevices.Count -eq 0) {
Write-Host "No Windows devices found."
} else {
Write-Host "Found $($WinDevices.Count) Windows devices."
# Initialize an array to hold the output lines
$outputLines = @()
# Iterate through each device in the $WinDevices array
foreach ($device in $WinDevices) {
Write-Host "Processing device ID: $($device.id)"
# Retrieve the device details including LastSignInDateTime
$deviceDetails = Get-MgDevice -DeviceId $device.id -Property "id,deviceId,displayName,operatingSystem,operatingSystemVersion,approximateLastSignInDateTime" -ErrorAction Stop
# Check if the device matches the filter for affected devices and LastSignInDateTime
if (($deviceDetails.operatingSystemVersion -ge '10.0.22000' -and $deviceDetails.operatingSystemVersion -lt '10.0.22000.258') -or
($deviceDetails.operatingSystemVersion -ge '10.0.19041' -and $deviceDetails.operatingSystemVersion -lt '10.0.19044') -or
($deviceDetails.operatingSystemVersion -ge '10.0.18363' -and $deviceDetails.operatingSystemVersion -lt '10.0.18363.1679') -and
($deviceDetails.approximateLastSignInDateTime -ge $staleDate)){
Write-Host "Device matches filter: $($deviceDetails.displayName)"
$outputLines += "ID: $($deviceDetails.id)"
$outputLines += "Device ID: $($deviceDetails.deviceId)"
$outputLines += "Display Name: $($deviceDetails.displayName)"
$outputLines += "Operating System: $($deviceDetails.operatingSystem)"
$outputLines += "Operating System Version: $($deviceDetails.operatingSystemVersion)"
$outputLines += "Last Sign-In DateTime: $($deviceDetails.approximateLastSignInDateTime)"
$outputLines += "-----"
} else {
Write-Host "Device does not match filter: $($deviceDetails.displayName) OS Version $($deviceDetails.operatingSystemVersion) Last Sign-In DateTime $($deviceDetails.approximateLastSignInDateTime)"
}
}
# Write the output lines to the file
$outputLines | Out-File -FilePath $file -Encoding UTF8
Write-Host "AffectedDevices.txt file has been created."
}
Supervisión y actualización proactivas
La supervisión y actualización proactiva de los dispositivos es fundamental para evitar interrupciones de autenticación. Los administradores de Microsoft Entra pueden usar las estrategias siguientes:
- Actualizaciones automatizadas: implemente directivas para las actualizaciones automatizadas para asegurarse de que todos los dispositivos reciben las revisiones de seguridad más recientes rápidamente.
- Auditorías periódicas: realice auditorías periódicas de los dispositivos para garantizar el cumplimiento de los requisitos de actualización de seguridad.
- Formación de usuarios: informe a los usuarios sobre la importancia de las actualizaciones oportunas y cómo buscarlas y aplicarlas.
Contenido relacionado
Para obtener información más detallada sobre el desuso del algoritmo KDFv1 y las actualizaciones de seguridad asociadas, consulte los siguientes recursos: