Il CA QP-RKI (Remote Keyless Identification) - Algoritmo di Identificazione ed Autenticazione

Gli algoritmi CA QP-RKI, nati da un progetto inizialmente denominato  “Muncher” costituiscono una suite di algoritmi di identificazione che può svilupparsi in un protocollo OTP (One Time Password), oppure secondo un protocollo CBI (Challenge Based Identification).

La progettazione di questa suite di algoritmi proprietari nasce nel 2008 da un progetto italiano che vede la partecipazione dell’Università degli Studi di Roma Tor Vergata - Centro Vito Volterra, della Tokio University of Science - Quantum Bio-Informatics Center - e vede la collaborazione di una serie di partner industriali italiani ed esteri.

 

Obiettivo del progetto iniziale è lo sviluppo di un nuovo ed innovativo algoritmo di crittografia destinato alle applicazioni di identificazione e di autorizzazione personale, per il mercato degli identificatori (USB o RFID), per la gestione dei piccoli pagamenti, per il mercato automotive,  e più in generale per il mercato dei dispositivi di sicurezza.

 

La motivazione iniziale per l’investimento alla base di questa ricerca è stata l’obsolescenza di alcuni algoritmi proprietari della Texas Instruments (TI) Digital Signature Transponder (DST) Plus, basati su chiavi crittografiche  di 40 bit, programmabili in locale oppure via comandi a RF.

 

Nella sua interazione con un lettore, un DST emette un identificatore configurato dalla fabbrica (a 24-bit), e poi si autentica tramite un protocollo a sfida. Il lettore inizia il protocollo trasmettendo una sfida di 40 bit. Il DST codifica questa sfida con la propria chiave ed invia una risposta di 24 bit. E’ dunque la segretezza della chiave che protegge il DST contro clonazioni e simulazioni.

 

Ma questa soluzione a 24/40 bit è ormai superata data l'attuale potenza di calcolo disponibile che rende praticabili attacchi con ricerca esaustiva delle chiavi crittografiche.

 

Per contro il Muncher è un algoritmo completamente reinventato, adeguato ai più recenti standard di sicurezza e resistente ad attacchi statistici, algebrici e crittoanalitici. Usa una chiave a 128 bit,  e gestisce risposte inviate di 80-bit di lunghezza chiave.

 

Pur trattandosi di un algoritmo complesso le sue istruzioni di base sono unicamente quelle implementate sulla maggior parte dei processori a 8 bit. In situazioni diverse, con processori a 32 bit su server, portatili o su palmari, l'algoritmo Muncher può essere scalato a chiavi di lunghezza 256-bit o può essere usato come funzione digest (robusta a livello crittografico), ottenendo hash di 256 bit.

L’algoritmo Muncher si presta alla realizzazione di chiavi elettroniche, cioè di piccoli dispositivi di sicurezza, che incorporano un meccanismo di autenticazione, e possono anche essere realizzate su smart card, RFID, ecc. Come una chiave convenzionale questi dispositivi possono controllare identità, accessi a vari tipi di servizi o a informazioni in una rete.

 

Nel campo dell’identificazione è possibile

 

  • l’identificazione basata su OTP

 

  • l’identificazione a sfida.

 

nell'identificazione basata su OTP l'utente ha un numero di identificazione personale (PIN), che lo autentica come proprietario del dispositivo. Dopo che l'utente ha inserito il proprio PIN, il dispositivo visualizza un numero che permette l'accesso (per es. a una rete). Dal momento che una  chiave elettronica è un oggetto fisico, il proprietario è facilmente in grado di rendersi conto se essa  è stata rubata. Una password può invece essere rubata (o indovinata) ed usata per molto tempo prima che l'eventuale furto venga scoperto.

 

Nell'identificazione a sfida, alla richiesta di accesso, che già comporta un primo livello di identificazione, il controllore degli accessi invia un segnale (sfida) al quale il dispositivo deve reagire con un altro segnale (risposta) che esso solo è in grado di produrre. Questo è un secondo livello di conferma dell’identità e del livello di autorizzazione del richiedente.

 

Dal momento che le chiavi elettroniche sono di norma dispositivi piccoli e con potenza di calcolo limitata, per la loro implementazione su base crittografica sono necessari algoritmi specifici e con ampie possibilità di ottimizzazione, quali quelli generabili mediante lo schema Muncher.

Scenari di utilizzo del CA QP-RKI

CA QP-RKI è un algoritmo di identificazione/autenticazione. Sia la robustezza delle chiavi crittografiche che la complessità dei protocolli di utilizzo hanno ampi margini di personalizzazione e possono essere modificati in modo rapido ed agevole. La generazione e la decodifica di chiavi crittografiche sono estremamente rapide.

 

Il suo utilizzo tipico è in dispositivi di autenticazione forte.

 

Questo è praticamente un algoritmo unico nel suo genere, applicabile in numerosi contesti costituisce la base per lo sviluppo congiunto con altre aziende di prodotti a largo consumo.

Questi algoritmi, in combinazioni e con personalizzazioni diverse, vengono inseriti in prodotti ingegnerizzati su misura per adattarsi in modo ottimale alle esigenze specifiche dei singoli clienti e su aree specifiche di loro interesse.

 

Il Muncher, è stato sviluppato in C per essere compatibile sia con Windows che con Linux, e sfrutta istruzioni di base presenti anche sulla maggior parte dei calcolatori  8 bit.