Lettura delle schede CAC con XPressEntry: è necessario FIPS 140-2?

Di recente ci è stato chiesto se il nostro Sistema palmare XPressEntry era certificato FIPS 140-2. Questo articolo spiega perché FIPS 140-2 non è direttamente rilevante per i palmari XPressEntry, se collegati a sistemi di controllo degli accessi fisici (PACS). Se sei interessato alle specifiche effettive, ecco un link al Norma FIPS 140-2.

Il titolo del documento FIPS 140-2, Requisiti di sicurezza per i moduli crittografici, fornisce il motivo principale per cui non si applica. Questa è una certificazione per moduli crittografici, utilizzato per il calcolo crittografico e l'autenticazione sicura. Questo ha un significato molto specifico quando ci si interfaccia con un chip tramite un'interfaccia a contatto (ISO 7816) o senza contatto (ISO14443 A/B). È applicabile solo quando si utilizzano chiavi sicure memorizzate in un SAM (Security Access Module) per accedere a dati protetti su un chip o per comunicare con quel chip. Questo non è il modo in cui i PACS funzionano in pratica.

Questo documento DOD, Guida all'implementazione del Dipartimento della Difesa per PIV II SP 800-73 v1, descrive una delle funzionalità di base della carta CAC era quella di "consentire l'accesso fisico agli edifici". Per consentire ciò, i dati di identificazione o CHUID sono stati resi disponibili per la lettura aperta (non crittografata). Questo è mostrato nell'immagine qui sotto.

Accesso al buffer CHUID
L'accesso in lettura CHUID è aperto tramite l'interfaccia contactless.

La stragrande maggioranza delle installazioni di controllo degli accessi fisici DOD apre le porte e i cancelli utilizzando questi dati aperti. La speranza era che le chiavi di autenticazione della carta PKI (CAK) potessero essere controllate crittograficamente al lettore, ma questo si è rivelato poco pratico. Ciò che è stato implementato in generale è descritto a pag. 41 del già citato standard FIPS 140.2:

La preregistrazione delle carte PIV può aiutare ad accelerare molti dei passaggi nel meccanismo di autenticazione PKI-CAK. Se il certificato di autenticazione della carta è stato ottenuto durante il processo di preregistrazione, non è necessario leggerlo dalla carta al momento dell'autenticazione... le informazioni sullo stato per il certificato di autenticazione della carta possono essere ottenute da un proxy di stato di memorizzazione nella cache anziché eseguire la convalida del certificato al momento dell'autenticazione.

Utilizzando questo proxy memorizzato nella cache, i badge PIV/CAC vengono convalidati al momento della registrazione utilizzando le relative chiavi di autenticazione. Il proxy viene aggiornato regolarmente e i certificati revocati vengono riflessi nel PACS. Prodotti come pivCLASS Authentication Module (PAM) di HID vengono utilizzati a questo scopo. Prodotti come questo devono essere FIPS 140-2 in quanto contengono moduli crittografici.

Nell'Appendice C del documento NIST del 2018, Linee guida per l'uso delle credenziali PIV nell'accesso alle strutture, il NIST parla di alcune alternative per la "deprecazione del meccanismo di autenticazione CHUID". Tuttavia, queste raccomandazioni non sono obbligatorie, né hanno raggiunto il mercato.

Ora torniamo a XPressEntry.

Alcune credenziali che supportiamo, come Mifare, DESFire, SEOS, richiedono chiavi crittografiche per accedere a dati sicuri. Altre schede HF (13.56 MHz) hanno livelli di sicurezza variabili, da nessuno (accesso CSN) a dati altamente crittografati. Tuttavia, tutti questi lo sono proprio standard e non soggetti a FIPS 140-2. Le tessere di prossimità (LF/125KHz) trasmettono i propri dati senza alcuna sicurezza. Allo stesso modo, le carte PIV/CAC governative forniscono dati di controllo degli accessi non crittografati, richiedendo solo la lettura del contenitore dell'applicazione specifica nella memoria del badge.

XPressEntry utilizza questi dati del badge aperto (PIV/CAC/Prox/Altro) solo come puntatore per cercare gli utenti a scopo di autenticazione. Sui nostri palmari, memorizziamo i dati del badge nel nostro database crittografato. XPressEntry trasmette i dati su canali crittografati SSL. Prendiamo sul serio la sicurezza del nostro sistema, abbastanza da avere il nostro test di penetrazione del sistema. FIPS 140-2 non è specificamente applicabile in quanto i nostri palmari non sono un "modulo crittografico" né disponiamo di alcuna autenticazione crittografica dei dati PKI PIV/CAC.