El sistema de cifrado de archivos ( EFS ) en Microsoft Windows es una función introducida en la versión 3.0 de NTFS [1] que proporciona cifrado a nivel del sistema de archivos . La tecnología permite que los archivos sean de forma transparente cifrados para proteger los datos confidenciales de los atacantes con acceso físico al ordenador.
EFS está disponible en todas las versiones de Windows, excepto en las versiones domésticas (consulte Sistemas operativos compatibles a continuación) desde Windows 2000 en adelante. [2] De forma predeterminada, no hay archivos cifrados, pero los usuarios pueden habilitar el cifrado por archivo, por directorio o por unidad. Algunas configuraciones de EFS también se pueden exigir a través de la directiva de grupo en entornos de dominio de Windows . [3]
Hay disponibles implementaciones de sistemas de archivos criptográficos para otros sistemas operativos, pero Microsoft EFS no es compatible con ninguno de ellos. [4] Consulte también la lista de sistemas de archivos criptográficos .
Ideas basicas
Cuando un sistema operativo se ejecuta en un sistema sin cifrado de archivos, el acceso a los archivos normalmente pasa por la autenticación de usuario controlada por el sistema operativo y las listas de control de acceso . Sin embargo, si un atacante obtiene acceso físico a la computadora, esta barrera se puede sortear fácilmente. Una forma, por ejemplo, sería quitar el disco y ponerlo en otra computadora con un sistema operativo instalado que pueda leer el sistema de archivos; otra, sería simplemente reiniciar la computadora desde un CD de inicio que contenga un sistema operativo que sea adecuado para acceder al sistema de archivos local.
La solución más aceptada para esto es almacenar los archivos cifrados en los medios físicos (discos, pendrives USB, cintas, CD, etc.).
En la familia de sistemas operativos Microsoft Windows, EFS habilita esta medida, aunque solo en unidades NTFS, y lo hace utilizando una combinación de criptografía de clave pública y criptografía de clave simétrica para hacer que descifrar los archivos sea extremadamente difícil sin la clave correcta.
Sin embargo, las claves de criptografía para EFS están en la práctica protegidas por la contraseña de la cuenta de usuario y, por lo tanto, son susceptibles a la mayoría de los ataques de contraseña. En otras palabras, el cifrado de un archivo es tan seguro como la contraseña para desbloquear la clave de descifrado.
Operación
EFS funciona cifrando un archivo con una clave simétrica masiva , también conocida como clave de cifrado de archivos o FEK. Utiliza un algoritmo de cifrado simétrico porque lleva menos tiempo cifrar y descifrar grandes cantidades de datos que si se utiliza un cifrado de clave asimétrica . El algoritmo de cifrado simétrico utilizado variará según la versión y la configuración del sistema operativo; consulte los algoritmos utilizados por la versión de Windows a continuación. La FEK (la clave simétrica que se utiliza para cifrar el archivo) se cifra luego con una clave pública que está asociada con el usuario que cifró el archivo, y esta FEK cifrada se almacena en el flujo de datos alternativo $ EFS del archivo cifrado. [5] Para descifrar el archivo, el controlador del componente EFS utiliza la clave privada que coincide con el certificado digital EFS (utilizado para cifrar el archivo) para descifrar la clave simétrica que está almacenada en la secuencia $ EFS. El controlador del componente EFS luego usa la clave simétrica para descifrar el archivo. Debido a que las operaciones de cifrado y descifrado se realizan en una capa por debajo de NTFS, es transparente para el usuario y todas sus aplicaciones.
Las carpetas cuyo contenido debe ser cifrado por el sistema de archivos están marcadas con un atributo de cifrado. El controlador del componente EFS trata este atributo de cifrado de forma análoga a la herencia de permisos de archivo en NTFS: si una carpeta está marcada para cifrado, todos los archivos y subcarpetas que se crean en la carpeta también están cifrados de forma predeterminada. Cuando los archivos cifrados se mueven dentro de un volumen NTFS, los archivos permanecen cifrados. Sin embargo, hay varias ocasiones en las que el archivo se puede descifrar sin que el usuario solicite explícitamente a Windows que lo haga.
Los archivos y carpetas se descifran antes de copiarse a un volumen formateado con otro sistema de archivos, como FAT32 . Finalmente, cuando los archivos cifrados se copian a través de la red utilizando el protocolo SMB / CIFS, los archivos se descifran antes de enviarse a través de la red.
La forma más importante de evitar el descifrado al copiar es mediante el uso de aplicaciones de respaldo que sean conscientes de las API "sin procesar". Las aplicaciones de respaldo que han implementado estas API sin procesar simplemente copiarán el flujo de archivos encriptados y el flujo de datos alternativo $ EFS como un solo archivo. En otras palabras, los archivos se "copian" (por ejemplo, en el archivo de copia de seguridad) de forma cifrada y no se descifran durante la copia de seguridad.
A partir de Windows Vista , la clave privada de un usuario se puede almacenar en una tarjeta inteligente ; Las claves del Agente de recuperación de datos (DRA) también se pueden almacenar en una tarjeta inteligente. [6]
Seguridad
Vulnerabilidades
Existían dos vulnerabilidades de seguridad importantes en Windows 2000 EFS, y desde entonces han sido atacadas de diversas formas.
Descifrar archivos con la cuenta de administrador local
En Windows 2000, el administrador local es el Agente de recuperación de datos predeterminado, capaz de descifrar todos los archivos cifrados con EFS por cualquier usuario local. EFS en Windows 2000 no puede funcionar sin un agente de recuperación, por lo que siempre hay alguien que puede descifrar los archivos cifrados de los usuarios. Cualquier equipo con Windows 2000 que no esté unido a un dominio será susceptible de descifrado EFS no autorizado por cualquier persona que pueda hacerse cargo de la cuenta de administrador local, lo cual es trivial dadas las muchas herramientas disponibles gratuitamente en Internet. [7]
En Windows XP y versiones posteriores, no existe un Agente de recuperación de datos local predeterminado y no es necesario tener uno. Configurar SYSKEY en modo 2 o 3 (syskey tecleada durante el arranque o almacenada en un disquete) mitigará el riesgo de descifrado no autorizado a través de la cuenta de administrador local. Esto se debe a que los hashes de contraseña del usuario local, almacenados en el archivo SAM , están cifrados con Syskey, y el valor de Syskey no está disponible para un atacante sin conexión que no posea la frase de contraseña / disquete de Syskey.
Acceder a la clave privada mediante el restablecimiento de la contraseña
En Windows 2000, la clave privada RSA del usuario no solo se almacena en una forma verdaderamente encriptada, sino que también hay una copia de seguridad de la clave privada RSA del usuario que está menos protegida. Si un atacante obtiene acceso físico a la computadora con Windows 2000 y restablece la contraseña de una cuenta de usuario local, [7] el atacante puede iniciar sesión como ese usuario (o agente de recuperación) y obtener acceso a la clave privada RSA que puede descifrar todos los archivos. Esto se debe a que la copia de seguridad de la clave privada RSA del usuario está cifrada con un secreto LSA, al que puede acceder cualquier atacante que pueda elevar su inicio de sesión a LocalSystem (nuevamente, trivial dadas las numerosas herramientas en Internet).
En Windows XP y más allá, se realiza una copia de seguridad de la clave privada RSA del usuario utilizando una clave pública fuera de línea cuya clave privada coincidente se almacena en uno de dos lugares: el disco de restablecimiento de contraseña (si Windows XP no es miembro de un dominio) o en el Active Directory (si Windows XP es miembro de un dominio). Esto significa que un atacante que puede autenticarse en Windows XP como LocalSystem todavía no tiene acceso a una clave de descifrado almacenada en el disco duro de la PC.
En Windows 2000, XP o posterior, la clave privada RSA del usuario se cifra usando un hash del hash de la contraseña NTLM del usuario más el nombre de usuario; el uso de un hash con sal hace que sea extremadamente difícil revertir el proceso y recuperar la clave privada sin conocer el frase de contraseña del usuario. Además, nuevamente, configurar Syskey en modo 2 o 3 (Syskey ingresado durante el arranque o almacenado en un disquete) mitigará este ataque, ya que el hash de la contraseña del usuario local se almacenará encriptado en el archivo SAM.
Otros asuntos
Una vez que un usuario inicia sesión correctamente, el acceso a sus propios datos cifrados EFS no requiere autenticación adicional, el descifrado se realiza de forma transparente. Por lo tanto, cualquier compromiso de la contraseña del usuario conduce automáticamente al acceso a esos datos. Windows puede almacenar versiones de frases de contraseña de cuentas de usuario con cifrado reversible, aunque este ya no es el comportamiento predeterminado; también se puede configurar para almacenar (y lo hará de forma predeterminada en la versión original de Windows XP y anteriores) los hashes de Lan Manager de las frases de contraseña de la cuenta de usuario local, que se pueden atacar y romper fácilmente. También almacena frases de contraseña de cuentas de usuarios locales como hashes NTLM , que pueden atacarse con bastante facilidad usando " tablas arcoíris " si las contraseñas son débiles (Windows Vista y versiones posteriores no permiten contraseñas débiles de forma predeterminada). Para mitigar la amenaza de ataques triviales de fuerza bruta en frases de contraseña locales, las versiones anteriores de Windows deben configurarse (utilizando la parte de Configuración de seguridad de la Política de grupo) para que nunca almacenen hashes de LM y, por supuesto, para no habilitar Autologon (que almacena texto sin formato frases de contraseña en el registro ). Además, el uso de contraseñas de cuentas de usuarios locales de más de 14 caracteres evita que Windows almacene un hash LM en SAM, y tiene el beneficio adicional de hacer que los ataques de fuerza bruta contra el hash NTLM sean más difíciles.
Al cifrar archivos con EFS, al convertir archivos de texto sin formato en archivos cifrados, los archivos de texto sin formato no se borran, sino que simplemente se eliminan (es decir, los bloques de datos marcados como "no en uso" en el sistema de archivos). Esto significa que, a menos que, por ejemplo, estén almacenados en un SSD con soporte TRIM , se pueden recuperar fácilmente a menos que se sobrescriban. Para mitigar por completo los ataques técnicos conocidos y no desafiantes contra EFS, el cifrado debe configurarse a nivel de carpeta (de modo que todos los archivos temporales como las copias de seguridad de documentos de Word que se crean en estos directorios también estén cifrados). Al cifrar archivos individuales, deben copiarse en una carpeta cifrada o cifrarse "en el lugar", y luego borrar de forma segura el volumen del disco. La utilidad de cifrado de Windows se puede utilizar (con la opción / W) para limpiar el espacio libre, incluido el que todavía contiene archivos de texto sin formato eliminados; varias utilidades de terceros también pueden funcionar. [8]
Cualquiera que pueda obtener acceso de administrador puede sobrescribir, anular o cambiar la configuración del Agente de recuperación de datos. Este es un problema muy serio, ya que un atacante puede, por ejemplo, piratear la cuenta de administrador (utilizando herramientas de terceros), configurar el certificado DRA que desee como el agente de recuperación de datos y esperar. Esto a veces se denomina ataque de dos etapas, que es un escenario significativamente diferente al riesgo debido a una PC perdida o robada, pero que resalta el riesgo debido a personas internas malintencionadas.
Cuando el usuario encripta archivos después de la primera etapa de dicho ataque, las FEK se encriptan automáticamente con la clave pública designada del DRA. El atacante solo necesita acceder a la computadora una vez más como Administrador para obtener acceso completo a todos los archivos posteriormente cifrados con EFS. Incluso el uso del modo Syskey 2 o 3 no protege contra este ataque, porque el atacante podría hacer una copia de seguridad de los archivos cifrados fuera de línea, restaurarlos en otro lugar y usar la clave privada del DRA para descifrar los archivos. Si un infiltrado malintencionado puede obtener acceso físico a la computadora, todas las funciones de seguridad deben considerarse irrelevantes, porque también podrían instalar rootkits , software o incluso registradores de pulsaciones de hardware, etc.en la computadora, lo que es potencialmente mucho más interesante y efectivo que sobrescribir Política de DRA.
Recuperación
Los archivos cifrados con EFS solo se pueden descifrar utilizando las claves privadas RSA que coincidan con las claves públicas utilizadas anteriormente. La copia almacenada de la clave privada del usuario está protegida en última instancia por la contraseña de inicio de sesión del usuario. No es posible acceder a archivos cifrados desde fuera de Windows con otros sistemas operativos ( Linux , por ejemplo), sobre todo porque actualmente no existe un controlador de componentes EFS de terceros. Además, el uso de herramientas especiales para restablecer la contraseña de inicio de sesión del usuario hará imposible descifrar la clave privada del usuario y, por lo tanto, inútil para obtener acceso a los archivos cifrados del usuario. En ocasiones, los usuarios pierden la importancia de esto, lo que resulta en la pérdida de datos si un usuario olvida su contraseña o no realiza una copia de seguridad de la clave de cifrado. Esto llevó a acuñar el término "papelera de reciclaje retrasada", para describir la aparente inevitabilidad de la pérdida de datos si un usuario sin experiencia cifra sus archivos.
Si EFS está configurado para usar claves emitidas por una infraestructura de clave pública y la PKI está configurada para habilitar el archivo y recuperación de claves, los archivos cifrados se pueden recuperar recuperando primero la clave privada.
Llaves
- contraseña de usuario (o clave privada de la tarjeta inteligente): se utiliza para generar una clave de descifrado para descifrar la clave maestra DPAPI del usuario
- Clave maestra DPAPI: se utiliza para descifrar la (s) clave (s) privada (s) RSA del usuario
- Clave privada RSA: se utiliza para descifrar el FEK de cada archivo
- Clave de cifrado de archivos (FEK): se utiliza para descifrar / cifrar los datos de cada archivo (en el flujo NTFS primario)
- SYSKEY: se utiliza para cifrar el verificador de dominio en caché y los hashes de contraseña almacenados en SAM
Sistemas operativos compatibles
Ventanas
- Ediciones Windows 2000 Professional, Server, Advanced Server y Datacenter
- Windows XP Professional, también en Tablet PC Edition, Media Center Edition y x64 Edition
- Windows Server 2003 y Windows Server 2003 R2, en ediciones x86 y x64
- Ediciones Business, Enterprise y Ultimate de Windows Vista [9]
- Ediciones Windows 7 Professional, Enterprise y Ultimate
- Windows Server 2008 y Windows Server 2008 R2
- Ediciones Windows 8 y 8.1 Pro y Enterprise
- Windows Server 2012 y Windows Server 2012 R2
- Ediciones Windows 10 Pro, Enterprise y Education.
- Windows Server 2016
- Windows Server 2019
Otros sistemas operativos
Ningún otro sistema operativo o sistema de archivos tiene soporte nativo para EFS.
Nuevas funciones disponibles para la versión de Windows
- Windows XP
- Cifrado de la caché del lado del cliente ( base de datos de archivos sin conexión )
- Protección de la copia de seguridad de la clave maestra DPAPI utilizando una clave pública de todo el dominio
- Inscripción automática de certificados de usuario (incluidos certificados EFS)
- Acceso de múltiples usuarios (compartido) a archivos cifrados (archivo por archivo) y verificación de revocación de certificados utilizados al compartir archivos cifrados
- Los archivos cifrados se pueden mostrar en un color alternativo (verde por defecto)
- No hay requisito de agente de recuperación obligatorio
- Advertencia cuando los archivos se pueden descifrar silenciosamente cuando se mueven a un sistema de archivos no compatible
- Disco de restablecimiento de contraseña
- EFS sobre WebDAV y cifrado remoto para servidores delegados en Active Directory
- Windows XP SP1
- Soporte y uso predeterminado del algoritmo de cifrado simétrico AES-256 para todos los archivos cifrados con EFS
- Windows XP SP2 + KB 912761
- Evitar la inscripción de certificados EFS autofirmados
- Windows Server 2003
- Servicio de gestión de identidad digital
- Aplicación de la configuración RSAKeyLength para aplicar una longitud mínima de clave al inscribir certificados EFS autofirmados
- Windows Vista [10] y Windows Server 2008 [11] [12]
- Cifrado por usuario de la caché del lado del cliente (archivos sin conexión)
- Soporte para almacenar claves privadas RSA (usuario o DRA) en una tarjeta inteligente PC / SC
- Asistente de cambio de clave de EFS
- Mensajes de copia de seguridad de la clave EFS
- Soporte para derivar la clave maestra DPAPI de la tarjeta inteligente PC / SC
- Soporte para el cifrado de pagefile.sys
- Protección de secretos relacionados con EFS mediante BitLocker (edición Enterprise o Ultimate de Windows Vista) [13] [14]
- Controles de política de grupo para hacer cumplir
- Carpeta de cifrado de documentos
- Cifrado de archivos sin conexión
- Indexación de archivos cifrados
- Requiere tarjeta inteligente para EFS
- Creación de una clave de usuario con capacidad de almacenamiento en caché desde una tarjeta inteligente
- Visualización de una notificación de copia de seguridad de la clave cuando se crea o cambia una clave de usuario
- Especificar la plantilla de certificado utilizada para inscribir certificados EFS automáticamente
- Windows Server 2008 [12]
- Los certificados autofirmados de EFS inscritos en el servidor de Windows Server 2008 tendrán una longitud predeterminada de clave RSA de 2048 bits
- Todas las plantillas de EFS (certificados de agente de recuperación de datos y de usuario) tienen una longitud predeterminada de clave RSA de 2048 bits
- Windows 7 y Windows Server 2008 R2 [15]
- Algoritmos criptográficos de curva elíptica (ECC). Windows 7 admite una operación de modo mixto de algoritmos ECC y RSA para compatibilidad con versiones anteriores
- Los certificados autofirmados de EFS, cuando se utiliza ECC, utilizarán una clave de 256 bits de forma predeterminada.
- EFS se puede configurar para usar claves de 1K / 2k / 4k / 8k / 16k-bit cuando se utilizan certificados RSA autofirmados, o claves de 256/384/521-bit cuando se utilizan certificados ECC.
- Windows 10 versión 1607 y Windows Server 2016
- Agregue compatibilidad con EFS en FAT y exFAT. [dieciséis]
Algoritmos utilizados por la versión de Windows
Windows EFS admite una variedad de algoritmos de cifrado simétrico, según la versión de Windows en uso cuando los archivos están cifrados:
Sistema operativo | Algoritmo predeterminado | Otros algoritmos |
---|---|---|
Windows 2000 | DESX | (ninguno) |
Windows XP RTM | DESX | Triple DES |
Windows XP SP1 | AES | Triple DES, DESX |
Windows Server 2003 | AES | Triple DES, DESX [17] |
Windows Vista | AES | Triple DES, DESX |
Windows Server 2008 | AES | Triple DES, DESX (?) |
Windows 7 Windows Server 2008 R2 | Mixto (AES, SHA y ECC) | Triple DES, DESX |
Ver también
- BitLocker
- API de protección de datos
- Cifrado de disco
- Software de encriptación de disco
- eCryptfs
- EncFS
- Cifrado a nivel de sistema de archivos
- Cifrado de disco completo basado en hardware
Referencias
- ^ "Cifrado de archivos (Windows)" . Microsoft . Consultado el 11 de enero de 2010 .
- ^ EFS está disponible en Windows 2000 Server y Workstation, en Windows XP Professional, en Windows Server 2003 y 2008, y en Windows Vista y Windows 7 Business, Enterprise y Ultimate.
EFS no estádisponible en Windows XP Home Edition, ni en las ediciones Starter, Basic y Home Premium de Windows Vista y Windows 7 . No se pudo implementar en la serie de sistemas operativos Windows 9x, ya que no eran compatibles de forma nativa con NTFS, que es la base de EFS. - ^ "Sistema de cifrado de archivos" . Microsoft. 1 de mayo de 2008 . Consultado el 24 de agosto de 2011 .
- ^ "Sistemas de archivos criptográficos, primera parte: diseño e implementación" . Enfoque de seguridad . Consultado el 11 de enero de 2010 .
- ^ "Sistema de cifrado de archivos" .
- ^ Chris Corio (mayo de 2006). "Primer vistazo: nuevas características de seguridad en Windows Vista" . Revista TechNet . Microsoft. Archivado desde el original el 10 de noviembre de 2006 . Consultado el 6 de noviembre de 2006 .
- ^ a b ntpasswd, disponible desde 1997 Archivado el 12 de febrero de 2016 en Wayback Machine
- ^ "El sistema de cifrado de archivos" . technet.microsoft.com .
- ^ "Windows - Sitio oficial para Microsoft Windows 10 Home & Pro OS, portátiles, PC, tabletas y más" . www.microsoft.com . Archivado desde el original el 3 de febrero de 2007 . Consultado el 20 de enero de 2008 .
- ^ Kim Mikkelsen (5 de septiembre de 2006). "Sesión 31 de Windows Vista: Servicios de administración de derechos y sistema de cifrado de archivos" (PDF) . presentación . Microsoft . Consultado el 2 de octubre de 2007 .[ enlace muerto ]
- ^ "Sistema de cifrado de archivos" . documentación . Microsoft. 2007-04-30. Archivado desde el original el 20 de enero de 2014 . Consultado el 6 de noviembre de 2007 .
- ^ a b "Cambios en la funcionalidad de Windows Server 2003 con SP1 a Windows Server 2008: sistema de archivos cifrado" . documentación . Microsoft. 2007-09-01. Archivado desde el original el 25 de marzo de 2008 . Consultado el 6 de noviembre de 2007 .
- ^ Scott Field (junio de 2006). "Mejoras de seguridad de Microsoft Windows Vista" (DOC) . whitepaper . Microsoft . Consultado el 14 de junio de 2007 .
- ^ Microsoft Corporation (30 de noviembre de 2006). "Protocolo de comunicación de datos" . patente . Microsoft . Consultado el 14 de junio de 2007 .
- ^ "Cambios en EFS" . Microsoft TechNet . Consultado el 2 de mayo de 2009 .
- ^ "[MS-FSCC]: Apéndice B: Comportamiento del producto" . Microsoft. 2017-09-15 . Consultado el 2 de octubre de 2017 .
Se agregó soporte para FAT y EXFAT en el sistema operativo Windows 10 v1607 y Windows Server 2016 y posteriores.
- ^ Muller, Randy (mayo de 2006). "Cómo funciona: sistema de cifrado de archivos" . Revista TechNet . Microsoft . Consultado el 22 de mayo de 2009 .
Otras lecturas
- "Implementación del sistema de cifrado de archivos en Windows 2000" . Guía del administrador de configuración evaluada de Windows 2000 . Microsoft . Consultado el 20 de diciembre de 2014 .
- Bragg, Roberta. "El sistema de cifrado de archivos" . TechNet . Microsoft .
- "Sistema de cifrado de archivos (Windows Server 2008, Windows Vista)" . TechNet . Microsoft . 25 de febrero de 2009.
- "Sistema de cifrado de archivos en Windows XP y Windows Server 2003" . TechNet . Microsoft . 11 de abril de 2003.
- Laboratorios Network Associates . "Cómo utilizar el sistema de cifrado de archivos (Windows Server 2003, Windows XP Professional)" . MSDN . Microsoft .
- "Uso del sistema de cifrado de archivos" . Kit de recursos de Windows XP . Microsoft . 3 de noviembre de 2005.
- "Sistema de cifrado de archivos" . Kit de recursos de Windows 2000 . Microsoft .
- "Cómo funciona EFS" . Kit de recursos de Windows 2000 . Microsoft .