Ho lavorato per rendere conforme la nostra applicazione .NET FIPS e ho scoperto che le classi di crittografia Managed
(come AESManaged
) non sono conformi a FIPS. Ho letto diversi altri articoli e domande su quali classi sono conformi, come ad esempio When will C# AES algorithm be FIPS compliant? e http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/e0b4493f-6e20-4b75-a118-6b6e5d26a2a6. Sembra che le classi CryptoServiceProvider siano compatibili con FIPS, ma le classi gestite no.Perché le classi di crittografia "Managed" .NET non sono consentite se il criterio di conformità FIPS di Windows è abilitato?
Mi chiedo se qualcuno può spiegare la differenza tra le classi CryptoServiceProvider
e le classi Managed
? E se qualcuno può spiegare perché le classi CryptoServiceProvider
sono FIPS compatibili, ma le classi Gestite non lo sono, quindi posso spiegare al mio capo perché devo riscrivere i nostri metodi di crittografia. Sono fondamentalmente diversi sotto il cofano? Oppure MS non ha semplicemente sottoposto le classi Managed alla certificazione NIST? Se le classi Managed
includono solo le classi CryptoServiceProvider
, perché le classi Managed
non sono automaticamente conformi al FIPS? E se scrivo una classe per racchiudere una classe compatibile con FIPS in una classe più facilmente utilizzabile, il mio software non è più compatibile con FIPS?
Grazie.
Grazie per avermi fatto questa domanda. Stavo per pubblicare una domanda sul perché ci fossero almeno 3 implementazioni in .NET per così tante delle diverse classi di crittografia, ma questo non solo fornisce "un" motivo, se non "il" motivo ". E mentre non stavo nemmeno pensando alle classi da un punto di vista della conformità FIPS, conoscendo queste informazioni grazie al tuo post e la risposta di Eugene sicuramente mi richiedono di usare le varianti di CryptoAPI - thx. – thepip3r