OK, ci sono un sacco di domande per una risposta, e penso che probabilmente posso solo colpirne due .. ma qui va:
FIPS 140-2 livello 2
I requisiti FIPS 140-2 sono incentrati su come le chiavi sono gestite, protette, manipolate e archiviate. Per riferimento, sto leggendo i Requisiti di sicurezza dal sito NIST.
Quello che vedo è che nella transizione dal Livello 1 al Livello 2, lo standard aggiunge requisiti relativi all'archiviazione fisica del materiale chiave, la maggior parte sorprendentemente antimanomissione a livello fisico. I requisiti passano dal lavorare nel Livello 1 in cui il key storage può essere software, ai requisiti in cui non riesco a vedere alcun modo in cui si possano tenere le chiavi nella memoria di un PC o laptop standard - si deve avere una posizione fisica protetta per il materiale chiave.
Questo non vuol dire che il luogo fisico protetto debba essere un HSM da $ 10.000 - se sto leggendo Moduli crittografici convalidati elencare correttamente, ci sono alcuni casi in cui i fornitori di prodotti che sembrano essere basati su SmartCard sono convalidati fino al Livello 3. Certamente alcuni prodotti SmartCard forniscono prove di manomissione .
Dalla mia esperienza, quando gestisci il tuo keystore nel software, non puoi davvero chiamare il sistema generale una soluzione FIPS 140-2 livello 2 - perché non puoi dare quel tamper prove a prova di fuoco abbastanza strong. Ma puoi ottenere moduli software che possono "operare in modalità FIPS 140-2 di livello 2" - nel senso che interagiranno con un dispositivo che può fornire prove di manomissione a questo livello e il modulo lo farà in un modo conforme agli standard che non sposta la chiave in nessun posto dove non dovrebbe andare.
Per cercare di inchiodare la domanda - se riesci a trovare un prodotto compatibile con smart card di livello 2 FIPS 140-2 (e penso che tu possa farlo), puoi far funzionare una soluzione di costo inferiore a HSM, ma hai per rendersi conto che la SmartCard dovrà essere presente ogni volta che si desidera che la propria soluzione esegua operazioni di crittografia, in quanto togliere le chiavi dalla scheda distruggerà lo scopo della prova di manomissione. Quindi non sono sicuro che riuscirai a "caricare le chiavi utilizzando un lettore di smart card" che a mio avviso implica il tentativo di rimuovere le chiavi protette dalla scheda.
Standard alternativi: CC-1 e EAL 5
Sono un po 'confuso qui perché questi non sono esattamente la stessa cosa. EAL 5 è per un livello abbastanza rigoroso di verifica che un prodotto soddisfi il suo comportamento di sicurezza definito. Ma non è la stessa cosa delle protezioni chiave fornite da FIPS 140-2. Spesso ho sviluppato sistemi che hanno dovuto usare entrambi , perché offrono diversi tipi di garanzia. Avere un livello EAL veramente alto ti proteggerà in modi diversi dall'avere FIPS di livello 2.
Sarei molto riluttante a raccomandare l'interscambio di questi: è necessario progettare un sistema che si protegga dal livello dei rischi nell'ambiente e dal valore delle informazioni / operazioni che protegge. Scambiare tra gli standard non lo farà, l'analisi della sicurezza lo farà.
Intranet o autonomo
Questo deve essere basato sulle esigenze di un'applicazione. Dove lo situi, in che modo controlli l'accesso, a quali scopi avrà la rete Intranet o gli utenti locali, e ciò che devi proteggere imporrà dove lo metti e quali protezioni ti occorrono.
Certamente, più accessibile fai l'applicazione, più ampia sarà la tua area di attacco. Ma i sistemi online possono anche essere più facili da aggiornare e mantenere, e se la disponibilità in una situazione di crisi supera l'inaccessibilità in caso di attacco, allora online potrebbe essere meglio del client standalone.
Sarei diffidente nei consigli su questo punto che non derivano da una discussione abbastanza esauriente sul tuo scopo e prodotto.