Sto iniziando le prime fasi di ricerca sulla possibilità di ottenere la certificazione FIPS 140-2, ma mi sono imbattuto in una certa confusione. Per iniziare, il nostro software è scritto in Java e in realtà non esegue alcuna crittografia / decrittografia, attualmente è fatto dalle librerie BouncyCastle e la speranza è che quando BouncyCastle diventa FIPS il nostro prodotto possa anche essere certificato FIPS.
Il problema che sto avendo è giusto nella prima riga, questo è ciò che FIPS 140-2 definisce come un modulo crittografico, afferma:
Un modulo crittografico deve essere un insieme di hardware, software, firmware o una combinazione di questi implementa funzioni o processi crittografici, inclusi algoritmi crittografici e, facoltativamente, chiave generazione, ed è contenuto all'interno di un limite crittografico definito.
Dato che il nostro software non sta implementando nessuno di questi algoritmi, stiamo semplicemente utilizzando un fornitore di servizi, questo significa che il nostro prodotto non può essere certificato? Siamo bloccati nella zona di reclamo FIPS? Se il nostro software può ottenere la certificazione FIPS 140-2, quali sarebbero i laboratori di test effettivamente considerati dal momento che il nostro software non esegue alcuna elaborazione?
Ho seguito molti dei progetti certificati FIPS 140-2 e sembra che le mie paure siano vere. La maggior parte delle cose certificate sono librerie crittografiche proprietarie che vengono utilizzate da progetti software più grandi come i kernel crittografici di Windows 8 e le librerie crittografiche Symantic.