Cómo solucionar problemas de la API de protección de datos (DPAPI)

Resumen

La API de protección de datos (DPAPI) ayuda a proteger los datos en Windows 2000 y sistemas operativos posteriores. DPAPI se utiliza para ayudar a proteger las claves privadas, credenciales almacenadas (en Windows XP y versiones posteriores) y otra información confidencial que el sistema operativo o un programa desea mantener confidencial.

DPAPI no es responsable de almacenar la información confidencial que se protege. Es sólo se encarga de cifrar y descifrar datos para los programas que llaman, como administrador de credenciales de Windows, el mecanismo de almacenamiento de la clave privada o los programas de terceros que llaman a la función CryptProtectData() y la función CryptUnprotectData() en Windows 2000, Windows XP, o posterior.

Nota: Esta funcionalidad es diferente de la funcionalidad que ofrece el almacén protegido de Windows (P-store) en Windows NT 4.0. P-almacén es responsable de proteger y almacenar información confidencial. DPAPI ofrece sin capacidades de almacenamiento de información.
Este artículo describe cómo DPAPI ayuda a proteger los datos en un nivel básico. También incluye información relacionada con la solución de problemas de pérdida de acceso a datos protegido de DPAPI en escenarios diferentes.

Para obtener más información acerca de cómo funciona DPAPI, visite el siguiente sitio Web de Microsoft:Este artículo incluye los temas siguientes:

Más información

Importante: Para solucionar la pérdida de datos DPAPI, debe recopilar la siguiente información:
  • ¿Cómo funciona DPAPI en su entorno de seguridad particular, incluida la versión de la estación de trabajo local?
  • ¿Es que la estación de trabajo se une a un dominio?
  • ¿Es que el usuario es miembro del dominio?
  • ¿Cuál es la versión del sistema operativo que aloja el dominio?

Muchos problemas con DPAPI se producen cuando se utiliza DPAPI en un dominio de Windows NT 4.0. Consulte la sección "Problemas conocidos" más adelante en este artículo para obtener más información.

DPAPI se utiliza principalmente por las características de seguridad del sistema operativo para ayudar a proteger los datos en nombre de usuario. Además, cualquier programa de terceros puede utilizar DPAPI para ayudar a proteger los datos de usuario de forma segura.

¿Qué puede proteger DPAPI

DPAPI ayuda a proteger los siguientes elementos:
  • Credenciales de página Web (por ejemplo, contraseñas)
  • Credenciales del recurso compartido de archivo
  • Claves privadas asociadas con el sistema de archivos cifrados (EFS), S/MIME y otros certificados
  • Datos de programa que está protegidos mediante la función CryptProtectData()

Ejemplo: Certificados y claves privadas

Esta sección describe la diferencia entre datos personales e información confidencial que DPAPI ayuda a proteger. La lista siguiente describe la ubicación de los datos durante una operación de importación de un certificado y se describe la clave privada asociada con ese certificado en el almacén personal del usuario:
  • El certificado se codifica como un objeto binario grande y almacena como un valor binario en la ubicación siguiente:
    %Userprofile%\Application Data\Microsoft\SystemCertificates\My\Certificates
  • Observe que la ubicación de la clave del registro en el perfil de usuario local. Esta colocación se asegura de que sólo el usuario de inicio de sesión tiene acceso a sus propios certificados en circunstancias normales.
  • Los certificados no están protegidos por DPAPI por los mecanismos de Windows predeterminada. Una lista de Control de acceso (ACL) se utiliza para definir quién puede cargar el subárbol del usuario y quién puede leer los certificados que se almacenan en el subárbol.
  • La clave privada asociada con el certificado se cifra DPAPI y guarda (en forma cifrada) en un contenedor de claves como un archivo individual en el perfil del usuario en las siguientes carpetas:
    • Para las claves RSA:
      %Userprofile%\Application Data\Microsoft\Crypto\RSA\SID de usuario
    • Para las claves DSA:
      %Userprofile%\Application Data\Microsoft\Crypto\DSA\SID de usuario
Volver al principio

Cómo funciona DPAPI

Nota: Los términos y conceptos que se describen en esta sección se han simplificado los fines de claridad en el contexto de este artículo. Se ha omitido algún nivel de detalle. Por ejemplo, este artículo describe un valor derivado de la contraseña del usuario, pero no describe los detalles del algoritmo que se utiliza para derivar el valor. Para obtener una descripción detallada de cómo funciona DPAPI, ver las notas de protección de datos de Windows. Para ver estas notas del producto, visite el siguiente sitio Web de Microsoft:DPAPI es una función que es utilizada por programas y diversos componentes del sistema operativo para ayudar a proteger los datos de un usuario. La operación de DPAPI no es visible para el usuario. DPAPI ayuda a proteger los datos en el contexto de seguridad del usuario que ejecuta el programa.

DPAPI ayuda a proteger la información confidencial mediante datos de valor derivados de un número de 512 bits pseudoaleatorio con el nombre de una clave maestra. Los controladores de dominio de Windows Server 2003 utilizan una clave de 2048 bits RSA, pero sólo cuando el dominio se ejecuta en el nivel funcional del dominio 2 o modo Windows Server 2003. Cada cuenta de usuario tiene uno o más claves maestras generan de forma aleatoria. El número de claves maestras depende de la edad del perfil de usuario. Claves maestras se renuevan a intervalos regulares. De forma predeterminada, este valor es cada 90 días.

Como claves maestras contienen los datos que se necesita para descifrar la información confidencial de todas las del usuario, las claves maestras deben estar protegidas. Se protegen mediante un valor derivado de la contraseña del usuario. La contraseña es un valor único que se sabe que sólo un usuario. Dado que la clave maestra realmente se cifra utilizando un valor derivado de la contraseña del usuario, este valor se utiliza indistintamente con la contraseña del usuario en las descripciones que se presenta en este artículo.

Volver al principio

Consideraciones medioambientales DPAPI

Esta sección describe las configuraciones de entorno que afectan al comportamiento de la protección de DPAPI.

DPAPI y perfiles obligatorios

Los perfiles obligatorios son perfiles de sólo lectura. No hay actualizaciones que se realizan en la copia local de un perfil obligatorio se guardan. Por ejemplo, la generación de claves se bloquea en un perfil obligatorio. DPAPI almacena la clave maestra en la copia local de un perfil y regularmente crea nuevas claves maestras y actualiza el cifrado de la información confidencial protegida con la nueva clave principal.

Dado que estas dos condiciones son incompatibles, programas que dependen de DPAPI para ayudar a proteger la información confidencial no funcionan correctamente con perfiles obligatorios. Los programas que ayudan a proteger la información confidencial con DPAPI que no funcionan correctamente con perfiles obligatorios son EFS (claves privadas), certificados con claves privadas (claves privadas) y almacena las credenciales en Windows XP y versiones posteriores (credenciales). No se admiten las configuraciones que utilizan estos tipos de datos o programas.

Volver al principio

DPAPI y perfiles móviles

DPAPI funciona como se esperaba con perfiles móviles de usuarios y equipos que se unen a un dominio del servicio de directorio de Active Directory. Datos DPAPI que se almacenan en el perfil actúa exactamente igual que cualquier otra configuración o archivo que se almacena en un perfil móvil. La información confidencial que protege la DPAPI se cargan en la ubicación del perfil central durante el proceso de cierre de sesión y se descargan desde la ubicación de perfil centralizado cuando un usuario inicia sesión.

Para que DPAPI funcione correctamente cuando utiliza perfiles móviles, el usuario de dominio debe sólo se sesión en un equipo único en el dominio. Si el usuario desea iniciar una sesión en un equipo diferente que esté en el dominio, el usuario debe cerrar el primer equipo antes de inicie la sesión en el segundo equipo. Si el usuario inicia sesión en varios equipos al mismo tiempo, es probable que DPAPI no podrá descifrar los datos cifrados correctamente.

DPAPI en un equipo puede descifrar la clave maestra (y los datos) en otro equipo. La contraseña del usuario coherente que se almacena y verificada por el controlador de dominio proporciona esta funcionalidad. Si se produce una interrupción inesperada del proceso típico, DPAPI puede utilizar el proceso descrito en la sección "Restablecer contraseña" más adelante en este artículo.




Hay una limitación actual con perfiles móviles entre equipos basados en Windows 2000 y equipos basado en Windows Server 2003 o Windows XP. Si las claves se generan o importadas en un equipo basado en Windows XP o Windows Server 2003 y después se almacenan en un perfil móvil, DPAPI no puede descifrar estas claves en un equipo basado en Windows 2000 si ha iniciado sesión con un perfil de usuario móvil. Sin embargo, un equipo basado en Windows Server 2003 o Windows XP puede descifrar claves generadas en un equipo basado en Windows 2000.

Volver al principio

DPAPI y cambios de contraseña

Los usuarios en un entorno de seguridad mejorada se esperan que cambien sus contraseñas a intervalos regulares. Como resultado, DPAPI debe ser capaz de mantener que el mismo nivel de acceso para el usuario datos protegidos después de los cambios de contraseña. Los métodos siguientes se utilizan para cambiar las contraseñas de usuario en un entorno de Windows:
Cambio de contraseña
En este método, hay continuidad de acceso a las claves del usuario master durante un cambio de contraseña. DPAPI es invocada por el componente de Winlogon durante las operaciones de cambio de contraseña en un dominio de Active Directory:
  • DPAPI recibe notificación de Winlogon durante una operación de cambio de contraseña.
  • DPAPI descifra todas las claves maestras que se han cifrado con contraseñas antiguas del usuario.
  • DPAPI vuelve a cifra todas las claves maestras con la nueva contraseña del usuario.
Restablecimiento de la contraseña (conjunto)
En este método, un administrador restablece una contraseña de usuario de forma forzada. Un restablecimiento de contraseña es más complejo que un cambio de contraseña. Dado que el administrador no ha iniciado sesión como el usuario y no tiene acceso a la contraseña del usuario anterior, esa contraseña antigua no puede utilizarse para descifrar la clave maestra antigua y volver a cifrarlo con la nueva contraseña.

En todos los casos de los restablecimientos de contraseña, si la contraseña del usuario se cambia volver a la última contraseña antes de que se restablecía, access se restaura a la clave maestra y, como resultado, se restaura el acceso a toda la información confidencial ayuda a proteger. Este comportamiento se produce porque nunca se eliminan claves maestras, incluso cuando no puede descifrarse. Sin embargo, esto puede ser una solución poco confiable porque no se puede esperar el usuario sea capaz de recordar siempre la contraseña antigua. Por ejemplo, la contraseña del usuario que se han restablecido porque el usuario olvidó la contraseña.

La forma en que DPAPI soluciona el problema de restablecimiento de contraseña depende del entorno de seguridad donde el usuario está autenticado.

Restablecimiento de contraseña: Usuarios de dominio en un dominio posterior o de Windows 2000

Cuando DPAPI se utiliza en un entorno de dominio de Active Directory, se crean y se actualizan siempre que se realiza una operación en la clave maestra de dos copias de la clave maestra. La primera copia está protegida por la contraseña de usuario como se describe anteriormente en este artículo. La segunda copia se cifra con una clave pública que está asociada con los controladores de dominio en el dominio. La clave privada que está asociada a esta clave pública se conoce a todos los de Windows 2000 y controladores de dominio posteriores. Los controladores de dominio de Windows 2000 utilizan una clave simétrica para cifrar y descifrar la segunda copia de la clave maestra.

Si se restablece la contraseña de usuario y la clave principal original se procesa inaccesible para el usuario, se restaura automáticamente el acceso del usuario a la clave maestra con la clave maestra de copia de seguridad en el proceso siguiente:
  • La estación de trabajo envía la clave maestra de copia de seguridad cifrada a un Windows 2000 o un controlador de dominio posterior sobre RPC protegido.
  • El controlador de dominio utiliza la clave privada para descifrar la clave maestra del usuario.
  • El controlador de dominio devuelve la clave maestra sin cifrar a la estación de trabajo.
  • La estación de trabajo vuelve a cifra la clave maestra con la nueva contraseña del usuario.
Restablecimiento de contraseña: dominio de Windows NT 4.0

Microsoft no recomienda el uso de las funciones de DPAPI (por ejemplo, EFS o clave privada del almacenamiento de información) para los usuarios que están en un dominio de Windows NT 4.0. Consulte la sección "Problemas conocidos" de este artículo para obtener más información.

Después de restablece una contraseña, un equipo cliente basado en Windows 2000 restaura el acceso del usuario a la información confidencial protegida DPAPI automáticamente mediante el uso de la clave maestra de copia de seguridad de la misma manera que lo hace si el usuario está en un grupo de trabajo. Consulte la sección "Contraseña restablecer: Windows 2000 Workstation en un grupo de trabajo" de este artículo para obtener más información acerca de este procedimiento y para la información acerca de los riesgos de seguridad.

Windows XP en un dominio de Windows NT 4.0 no conserva una copia de la clave maestra. Para obtener más información, consulte la sección "Problemas conocidos" de este artículo

Restablecimiento de contraseña: Windows 2000 Workstation en un grupo de trabajo

Si utiliza DPAPI en un equipo independiente, dos copias de la clave maestra se crean y se actualizan siempre que se realiza una operación en la clave principal. La primera copia está protegida por la contraseña de usuario como se describe anteriormente en este artículo. La segunda copia se cifra con un valor confidencial que sólo conocido la cuenta de equipo local.

Una vez que se restableció por la fuerza una contraseña de usuario y el usuario inicia sesión con la nueva contraseña, Windows 2000 automáticamente descifra la copia cifrada por el equipo de la clave maestra y vuelve a cifrar con el valor derivado de la nueva contraseña de usuario. Desde el punto de vista del usuario, el acceso del usuario a la información confidencial que está protegido mediante DPAPI es completamente sin interrupciones.

Importante: Este comportamiento puede afectar a la seguridad. Microsoft no recomienda que utilice DPAPI en una configuración predeterminada así. Microsoft recomienda que utilice uno de los métodos siguientes para equipos independientes de Windows 2000 que contienen datos confidenciales que pueden verse comprometidos físicamente:
  • Actualizar a Windows XP
  • Utilizar el modo SYSKEY 2 o 3 en el equipo portátil basado en Windows 2000

  • Para obtener información adicional acerca de SYSKEY, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    143475 clave del sistema de Windows NT permite un cifrado seguro del SAM
Restablecimiento de contraseña: Windows XP Workstation en un grupo de trabajo

De forma predeterminada, Windows XP no crea copias de seguridad de la clave maestra. Lo hace para ayudar a evitar un ataque sin conexión de la caché de clave maestra. En Windows XP, puede crear un disco para restablecer contraseña para que el usuario puede recuperar su contraseña si se olvidan. Si está utilizando Windows XP Service Pack 1 (SP1) o posterior, puede configurar el registro hasta que Windows mantiene una copia de la clave maestra.
Para obtener información adicional acerca de los efectos de un cambio de contraseña obligatoria y la posible recuperación, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

290260 EFS, credenciales y claves privadas de los certificados no están disponibles después de restablece una contraseña

Discos para restablecer contraseña

Discos para restablecer contraseña sólo están disponibles en Windows XP o posterior basado en equipos que están unidos a grupos de trabajo. La contraseña recuperar disco permisos el usuario vuelva a tener acceso a su cuenta y toda la información confidencial que está protegida mediante DPAPI en el perfil.

Para obtener información adicional acerca de la contraseña disco para restablecer, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

321305 cómo iniciar sesión en Windows XP si olvida la contraseña o la contraseña caduca

Volver al principio

Problemas conocidos

No se puede tener acceso a información confidencial de DPAPI en un dominio de Windows NT 4.0

Importante: Microsoft no recomienda que utilice DPAPI en un entorno de dominio de Windows NT 4.0.

En un dominio de Windows NT 4.0, Windows XP no crea una copia de la clave maestra del usuario. Este es el comportamiento predeterminado. Si cambiar o restablecer la contraseña, el usuario puede denegará el acceso a la información confidencial contenida en su perfil. Cuando el usuario cambia la contraseña a la última contraseña buena conocida sólo se restaura el acceso a.

Las causas más frecuentes de problemas con DPAPI en un dominio de Windows NT 4.0 implican restablecimientos de contraseña o de perfiles móviles. Si el usuario ha cambiado recientemente su contraseña, se producen problemas con los perfiles móviles. Dependiendo de varios factores que pueden interrumpir las operaciones típicas de perfil móvil de usuario, el perfil que el usuario ha iniciado sesión en que no se actualizaron con la nueva contraseña (cifrado de clave maestra).


Para resolver este problema, instale un controlador de dominio de Windows 2000 o Windows Server 2003 en el dominio del usuario. DPAPI busca automáticamente este controlador de dominio para realizar copia de seguridad y restaurar operaciones mediante el par de claves pública y privada del controlador de dominio DPAPI.

Si está usando Windows SP1 y posterior, puede forzar la DPAPI para realizar copias de seguridad locales de la clave maestra mientras se unen a un dominio de Windows NT4. Sin embargo, Microsoft no recomienda este procedimiento ya que afecta a la seguridad del equipo donde se aplica el cambio.

Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

331333 usuario no puede tener acceso a archivos cifrados con EFS después de cambiar la contraseña o cuando se utiliza un perfil móvil

Volver al principio

No se puede tener acceso a información confidencial de DPAPI después de reinstalar Windows en un equipo independiente

Por diseño, no se puede tener acceso a información confidencial DPAPI después de instalar Windows en un equipo independiente. La instancia del usuario que estaba presente en la copia original de Windows se destruye después de volver a instalar el sistema operativo sin actualizar. Cualquier usuario nuevo que se crea con el mismo nombre tiene un principal de seguridad diferentes en una base de datos de seguridad diferentes. El nuevo usuario no tiene acceso para descifrar la información confidencial DPAPI del usuario original. El usuario no tiene acceso a su información confidencial utilizando la clave maestra del usuario.

La copia original de Windows ayuda a proteger su copia de la clave maestra con los datos confidenciales que sólo conocen esa copia de Windows. Si reemplaza el sistema operativo, no pueden tener acceso a estos datos confidenciales. El usuario no tiene acceso a su información confidencial utilizando la clave maestra de copia de seguridad.

Volver al principio

No puede agregar ni acceder a información confidencial de DPAPI con perfiles obligatorios

Por diseño, Windows 2000 y Windows XP no permite escribir en la copia local de un perfil obligatorio porque los datos se guardan después de la sesión inicial. Como resultado, DPAPI no puede almacenar claves maestras nuevas, actualizar claves maestras en cambio de contraseña o agregar datos protegidos a un perfil obligatorio.

No puede tener acceso a información confidencial de DPAPI después de combinar o separar un dominio

Si un equipo independiente se ha unido a un dominio y ha perdido el acceso a datos DPAPI, puede restaurar el acceso al iniciar sesión como el usuario local. Para iniciar sesión como un usuario local en un equipo unido al dominio, haga clic en el nombre del equipo local en el cuadro de lista desplegable en el cuadro de diálogo de Inicio de sesión y, a continuación, escriba su nombre de usuario local y una contraseña.

Si ha separado un equipo de un dominio, debe unirse al dominio y, a continuación, inicie sesión como el mismo usuario de dominio para recuperar el acceso a los archivos.

Volver al principio

Directrices y recomendaciones

  • Microsoft recomienda que utilice contraseñas seguras. Utilice la contraseña compleja más difícil confiable que pueda recordar. Nota: Filtros de contraseña no se admiten actualmente mediante DPAPI.
  • Exportación y copia de seguridad importantes certificados y claves privadas en un lugar seguro.
Volver al principio
Propiedades

Id. de artículo: 309408 - Última revisión: 22 ene. 2017 - Revisión: 1

Comentarios