Che cosa deve essere crittografato per la conformità FIPS 140-2?

7

Stiamo sviluppando un'applicazione C # .NET client / server che deve essere conforme a FIPS. Leggendo molto su FIPS online, sto riscontrando un po 'di difficoltà nel determinare la differenza tra la conformità dell'algoritmo di crittografia scelto e quali dati devono essere crittografati per la conformità.

Capisco che i seguenti algoritmi siano conformi:

  • Chiave simmetrica
    • AES, Triple-DES, standard di crittografia a garanzia
  • Chiave asimmetrica
    • DSA, RSA, ECDSA
  • Hash standard
    • SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256
  • Generatori di numeri casuali
  • Autenticazione dei messaggi
    • CCM, GCM, GMAC, CMAC, HMAC

Source

Tuttavia, facciamo finta che nulla del mio software abbia usato la crittografia, quindi tecnicamente sarei pienamente conforme, no?

Le cose che posso pensare che avrebbero bisogno di crittografia sono le nostre comunicazioni dal client - > server e viceversa, i nostri dati serializzati che memorizziamo su disco e i nostri processi / file di licenza.

Cosa mi manca qui?

    
posta leemes 12.08.2013 - 21:36
fonte

1 risposta

8

FIPS140-2 tratta solo il modo corretto con il quale un modulo crittografico deve operare ed essere protetto dagli attacchi. Uno può essere semplicemente conforme ai suoi moduli, oppure uno può essere conforme e validato con i suoi moduli. Vi sono 4 diversi livelli di conformità, da 1 a 4, con un livello più alto di protezione rispetto a un livello inferiore. Ottenere convalidato è un'impresa costosa, fatta solitamente da laboratori di sicurezza esterni.
FIPS140-2 non parla di quali dati devono essere crittografati da un'applicazione. Vari enti normativi, unici per ciascun segmento di settore di interesse, stabiliscono requisiti, procedure e processi di protezione dei dati e crittografia specifici per tale settore. Ad esempio, PCI DSS dal settore delle carte di credito, HIPAA dal settore sanitario.
Questi organismi potrebbero o meno richiedere che un modulo di crittografia sia conforme a FIPS140-2, ma certamente essere tale è una scelta prudente, almeno dal punto di vista della responsabilità.

Alcuni commenti rilevanti da infosecisland.com:

  1. "Ho svolto attività di conformità FIPS 140-2 in prima persona con: OpenSSL, OpenSSH, Sun Java 6, Apache Tomcat 5.5 e 6.0, Mozilla NSS. Posso affermare che nessuno di questi moduli funziona in modalità compatibile con FIPS 140-2 per impostazione predefinita, il loro utilizzo in modalità FIPS 140-2 non è banale e il funzionamento in modalità compatibile con FIPS 140-2 non è sempre un buona idea per motivi di compatibilità. "

  2. "Consentitemi di chiarire i casi aziendali che qualcuno vorrà investire nel tempo e le spese necessarie per ottenere la convalida FIPS 140-2, non solo la conformità: Quando vuoi vendere qualcosa che sia crittograficamente rilevante per il Dipartimento della Difesa o per qualsiasi gruppo di lavoro governativo che guarda al DoD per le specifiche di sicurezza. Questi non saranno i tipici clienti aziendali, ma enti governativi specifici che richiedono la garanzia di integrità crittografica fornita da FIPS 140-2. "

Quindi, se non si dispone di un modulo crytographic nella propria applicazione, FIPS140-2 non è un vantaggio per voi. Se decidi di crittografare alcune parti del tuo programma, come i dati o un protocollo di comunicazione, o perché è la cosa giusta da fare o richiesta da un ente di normazione o dai requisiti del cliente o dalle normative, e devi essere conforme a FIPS140-2 , quella routine / modulo di encrytion deve semplicemente rispettare le specifiche FIPS o anche essere completamente convalidata.

    
risposta data 14.08.2013 - 14:23
fonte

Leggi altre domande sui tag