Domanda sull'importanza di FIPS nelle implementazioni di sicurezza

15

Io sono di gran lunga, nessun esperto di sicurezza ma ho esperienza in materia lavorando in Java (JCA, JCE e JSSE).
Comunque, di recente c'è stata una discussione sulla conformità FIPS.
Ho esaminato questo e le librerie di SUN non sono di per sé conformi FIPS.
Inoltre, il castello di Bouncy, che uso estensivamente, e per quanto ne so è considerato la migliore libreria di sicurezza non è nemmeno conforme a FIPS.
Quindi la mia domanda è, quanto è importante, fornire un'implementazione che sia strettamente conforme ai FIPS?
Come semplice esempio, nella creazione di un sito sicuro si dovrebbe dichiarare esplicitamente se è conforme o meno al FIPS?
Qualsiasi input su questo è molto benvenuto.

Grazie.

    
posta Jim 26.05.2011 - 21:59
fonte

4 risposte

14

Per una libreria software, sono d'accordo con @Lizbeth - FIPS 140-2 Level 1 è per librerie software come Bouncy Castle, Sun Java e NSS (libreria Java certificata FIPS). La differenza è che una libreria di software conforme a FIPS è stata testata in modo indipendente per soddisfare una serie di requisiti di sicurezza. Alcune industrie hanno leggi che richiedono un certo livello di diligenza della sicurezza e FIPS è uno dei modi per autorizzarlo.

Quando superi le librerie software, FIPS può contare molto di più perché parla di un livello di qualità per le funzionalità di fascia alta che diventano progressivamente più costose e protettive:

  • Livello 1 - requisiti di base - possono essere implementati in software o hardware
  • Livello 2 - rivestimenti antimanomissione e autenticazione basata sui ruoli - questo significa che l'hardware può essere manomesso, ma sarà ovvio. Non può essere eseguito in SW.
  • Livello 3: impedisce l'accesso ai parametri di sicurezza critici e fornisce l'autenticazione basata sull'ID.
  • Livello 4: azzera quando manomesso

Ci sono prodotti a tutti i livelli - di solito non avrai bisogno del Livello 2 e oltre se stai parlando di un'app web a basso rischio. Ma per le applicazioni ad alto rischio, dove il compromesso sul materiale chiave sarebbe un grosso problema, i livelli crescenti di FIPS 140-2 diventano la norma. Non sono stato vicino al mondo dei prodotti del modulo di sicurezza hardware per un po ', ma era quasi un requisito per entrare nel mercato di alta sicurezza - governativo o finanziario. Se stai caricando più di $ 10.000 per il tuo dispositivo, vuoi dimostrare che farà ciò che dici di fare.

    
risposta data 26.05.2011 - 23:40
fonte
17

Il motivo più comune per cui è necessario essere conformi a FIPS è che la tua azienda è tenuta per legge o per altri motivi di conformità. Conformità FIPS significa solo che la crittografia è stata convalidata da un ente autorevole e non ci sono difetti intrinseci. Non ci sono anche difetti scoperti in molte altre librerie di crittografia come bouncycastle.

Il ragionamento alla base di FIPS vs FIPS no FIPS si basa sul fatto che nessuno ha trovato un problema ma in realtà non dice se qualcuno ha guardato prima. FIPS è provato sulla base di test e standard di sicurezza attivi.

Alla fine, non migliora la tua postura generale di sicurezza, ma farà sì che il management si senta meglio se è FIPS.

    
risposta data 26.05.2011 - 22:57
fonte
9

La conformità FIPS (o gli equivalenti europei come i livelli EAL) è un requisito in alcuni mercati o per ottenere alcune proprietà legali; ad esempio, in Francia, i timestamp sono considerati prove legali (l'onere della prova che si trova sulla parte che richiede la registrazione temporale non è vincolante) solo se l'autorità del timestamp è passata attraverso un processo di certificazione, in cui è richiesta che un HSM "certificato" (Hardware Security Module) è utilizzato per memorizzare e utilizzare la chiave privata dell'autorità. Se ciò accadesse negli Stati Uniti anziché in Francia, il "certificato HSM" sarebbe "un HSM conforme al livello 4 FIPS-140".

Nelle aree di proprietà privata (ad es. bancario) i requisiti per certificazioni e / o livelli FIPS 140 provengono da compagnie assicurative: le banche possono essere coperte a tariffe folle, perché possono dimostrare di utilizzare rigorose regole di sicurezza e FIPS 140 livelli sono tali regole. VISA e MasterCard sono particolarmente severe per quanto riguarda la sicurezza (si tratta di soldi, quindi è importante ).

In termini più pratici, i livelli di FIPS 140 si ottengono dimostrando che alcune caratteristiche di sicurezza sono state raggiunte (si veda la risposta di @bethlakshmi), che riguarda sia l'hardware che il software. Dal momento che, in generale, la correttezza del software non può essere dimostrata, il processo di certificazione implica che il sistema è stato sviluppato con tutta la dovuta maestria (test unitario, revisioni del codice, versioning del codice sorgente autenticato, fino a includere controlli di background sugli stessi sviluppatori). Ciò comporta tempo, denaro (penso a 100k + dollari) e un sacco di carta. Quindi il vero significato di conformità a FIPS 140 è che qualcuno ha speso un sacco di tempo e denaro per l'idea che il sistema non sia palesemente insicuro. Ciò non significa che il sistema sia sicuro, ma almeno ci sono stati alcuni sforzi e investimenti sostanziali verso questo obiettivo.

La maggior parte dei progetti opensource utilizza un modello di bazaar che è efficiente nel produrre un buon codice veloce, ma è assolutamente incompatibile con una certificazione processi. Inoltre, la maggior parte dei progetti opensource non ha o ha pochi finanziamenti. Questo spiega perché Bouncy Castle non è conforme alla FIPS, e persino grandi aziende come Sun (ora Oracle) hanno preferito non eseguire quel processo. Anche in questo caso, non essendo FIPS conforme non significa "insicuro" o addirittura che il sistema non possa essere dichiarato FIPS compatibile, solo che nessuno ha trovato che valga la pena di passare attraverso i costosi cerchi amministrativi di FIPS formale la conformità.

    
risposta data 27.05.2011 - 16:09
fonte
8

Per aggiungere alle eccellenti risposte precedenti dei poster precedenti, farò un esempio.

OpenSSL esiste in sia una versione certificata FIPS che quella normale che non lo è (beh il sottosistema è FIPS validato).

Quando viene rilevata una vulnerabilità in OpenSSL in un'area che influisce anche sul modulo convalidato FIPS, la correzione viene solitamente inviata molto rapidamente nella distribuzione OpenSSL regolare mentre gli utenti della versione FIPS sono effettivamente lasciati vulnerabili fino a quando non viene certificata una versione aggiornata .

Questo è un caso di conformità FIPS (e la quantità di carta che lo spinge) che va attivamente contro la sicurezza.

    
risposta data 28.05.2011 - 19:45
fonte

Leggi altre domande sui tag