Bitlocker FIPS140 de Windows 10 sin usar la política de criptografía del sistema

1

Tenemos una aplicación que utiliza el sistema AES256 que no cumple con FIPS. Llamadas a cifrado. Mi pregunta es, ¿Bitlocker puede ser compatible con FIPS140 en una PC, pero no necesita el algoritmo FIPS configurado para llamadas .NET?

Para el gobierno de los EE. UU. (VA), se nos informa que necesitamos la política habilitada para FIPS, Editor de políticas - > Configuración de seguridad - > Políticas locales - > Opciones de seguridad - > Criptografía del sistema: use el algoritmo compatible con FIPS ... habilitado. (También se nos dice que esto coincide con: Establezca el valor Habilitado en 1 en HKLM \ System \ CurrentControlSet \ Control \ Lsa \ FIPSAlgorithmPolicy, que es lo que está haciendo la gente de imagen de PC).

La buena noticia es que esto cambia la configuración de Bitlocker para que las contraseñas de recuperación no se creen o se realicen copias de seguridad.

La mala noticia es que las llamadas de .NET a las API que no cumplen con FIPS resultan en una excepción difícil: " Esta implementación no es parte de los algoritmos criptográficos validados por FIPS de la plataforma Windows.  Stack: at System.Security.Cryptography.AesManaged..ctor () "Puede que no sea tan difícil de refactorizar, pero en realidad es un código API del proveedor, por lo que tenemos que hacer arreglos con ellos para volver a codificar.

He revisado esto varias veces.
enlace

Además de esto: enlace

    
pregunta Ben Butzer 10.07.2017 - 15:15
fuente

1 respuesta

1

En última instancia, hemos cambiado la aplicación. Cambiamos el código de la aplicación para usar AesCryptoServiceProvider para reemplazar el AesManaged que habíamos estado usando. AesCryptoServiceProvider utiliza la CryptoAPI de Windows subyacente para realizar el cifrado. AesManaged realiza el cifrado en código administrado puro. Las ventajas de usar AesCryptoServiceProvider incluyen el potencial para una mayor velocidad y el hecho de que CryptoAPI está certificada por FIPS (AesManaged no lo es, y es la fuente del fallo). Una vez que Windows 10 tiene la política de cifrado FIPS, las llamadas de cifrado anteriores se bloquean en .NET. Hubo mucho debate sobre si el cifrado a nivel de la aplicación es necesario y no se pudo determinar a nadie. La respuesta que probablemente satisfaría a los auditores sería: "Si nunca lo tuvo antes, y ahora el FIPS140 Bitlocker está habilitado, está cubierto. Si antes tenía un cifrado a nivel de aplicación, debe reemplazarlo con un cifrado compatible". Nota al margen, verificamos que AesCryptoServiceProvider puede descifrar el cifrado AesManaged, y viceversa.

    
respondido por el Ben Butzer 12.04.2018 - 23:44
fuente

Lea otras preguntas en las etiquetas