Possono essere previsti i numeri sui token RSA SecurID?

13

Il mio posto di lavoro utilizza questi token SecurID che forniscono una password temporanea, il codice scadrà dopo poco tempo. Sono sempre stato affascinato dalle cose, perché sembra che tutta la logica per calcolare il prossimo numero debba trovarsi fisicamente all'interno del dispositivo.

Dato l'accesso fisico al token, è possibile prevedere i numeri? Come? Senza l'accesso fisico, è teoricamente possibile prevedere numeri futuri da numeri precedenti, con o senza conoscenza del seme?

* Non sto tentando di romperlo, solo interessato alla curiosità matematica!

    
posta wim 08.12.2011 - 04:35
fonte

3 risposte

22

Quali token SecurID non sono completamente di dominio pubblico; RSA (la compagnia) è piuttosto abile nel rilasciare i dettagli. Quello che può essere dedotto è il seguente:

  • Ogni dispositivo incorpora un seme . Ogni seme è specifico per un dispositivo.
  • Il seme di un dispositivo può essere calcolato in modo deterministico da un seme principale e dal numero di serie del dispositivo. Il numero di serie è stampato sul dispositivo. Questo calcolo utilizza funzioni di crittografia unidirezionale in modo da non poter indovinare il seme principale da un seme del dispositivo.
  • Dal seme del dispositivo e da un orologio interno, il numero viene calcolato, ancora una volta con una funzione crittografica unidirezionale.
  • Gli algoritmi di derivazione sono stati trapelati, se non altro perché i server di verifica devono anche eseguire lo stesso algoritmo, quindi questi algoritmi esistono come software concreto in vari punti; perdite e reverse-engineering sono per lo più inevitabili in queste condizioni.

Sotto queste ipotesi, quindi:

  • Se conosci il seed del dispositivo, puoi calcolare numeri futuri a volontà.
  • Se conosci il seme principale e il numero di serie del dispositivo, puoi calcolare il seme del dispositivo.
  • Conoscere i semi provenienti da altri dispositivi non dovrebbe farti intuire nulla per indovinare il seme per un determinato dispositivo, a meno che la funzione crittografica unidirezionale che trasforma il seme principale in semi del dispositivo sia stata in qualche modo danneggiata.
  • Conoscere i numeri passati da un token non dovrebbe farti nulla per indovinare i numeri futuri dallo stesso dispositivo, a meno che la funzione crittografica a senso unico che trasforma il seme del dispositivo in numeri sia stata in qualche modo danneggiata.
  • Estrarre il seed del dispositivo dal dispositivo fisico stesso è teoricamente fattibile ma costoso, perché il dispositivo è antimanomissione : è blindato e pieno di sensori e commetterà il suicidio elettronico se rileva una violazione. Se prendiamo l'esempio delle smartcard, l'estrazione del seed del dispositivo potrebbe costare diverse migliaia di dollari ed essere distruttiva per il dispositivo (quindi non puoi farlo in modo discreto).

Nel marzo 2011, alcuni sistemi sono stati compromessi in RSA, e sembra probabile che gli aggressori riescano a rubare uno o più semi master (è plausibile che i dispositivi siano costruiti in "famiglie", quindi ci sono molti semi master ). RSA ha dichiarato che 40 milioni di token SecurID devono essere sostituiti. Se conosci il numero di serie di un token (può essere stampato all'esterno del token), puoi utilizzare Cain & Abel strumento a cui @dls punta; presumibilmente, quello strumento implementa l'algoritmo trapelato e il / i seme / i principale e può quindi produrre i futuri output token (non l'ho provato). Funzionerebbe solo con i server che accettano ancora i token dal batch da 40 milioni che deve essere sostituito. Non so fino a che punto RSA e i suoi clienti hanno seguito questo processo, quindi potrebbe essere che questo attacco non funzioni più. Dipende davvero dalla reattività delle persone che gestiscono il server che attacchi.

(Se questi amministratori di sistema non hanno sostituito i dispositivi compromessi dopo nove mesi, è probabile che siano abbastanza negligenti per problemi di sicurezza e il server potrebbe avere un bel po 'di altri buchi di sicurezza sfruttabili da remoto.)

    
risposta data 08.12.2011 - 14:57
fonte
3

Se hai le sue informazioni segrete, puoi generare i numeri proprio come farebbe. Se non lo fai, è teoricamente possibile fare previsioni basate su ciò che hai visto perché i numeri sono correlati matematicamente. Tuttavia, la loro relazione è abbastanza complessa da essere ritenuta essere computazionalmente non fattibile per farlo. Vale a dire, la quantità di calcolo necessaria per rendere quella previsione richiederebbe molto più tempo della durata della vita del token. Se, per esempio, un gettone medio veniva sostituito ogni 10 anni, un algoritmo che calcola le sue informazioni segrete o la sua serie di valori che richiede un miliardo di anni per essere eseguito parallelamente da tutti i computer noti non sarebbe utile nella pratica.

Questa infallibilità computazionale è la base fondamentale per tutti gli utili sistemi crittografici matematici. Ma in tutti i casi, tutto ciò che abbiamo sono strumenti crittografici in cui si capovolge l'inversione di tendenza o la risoluzione delle loro informazioni segrete. Nuove scoperte potrebbero rivelare che alcuni schemi sono più facili da violare di quanto si credesse.

    
risposta data 08.12.2011 - 04:42
fonte
1

Lavoro presso RSA nel progetto SecurID. Le risposte precedenti sono corrette.

Se conosci il seme, hai la possibilità di elaborare il passcode (il codice temporaneo visualizzato). Ma a tutti i dispositivi viene assegnato un seme casuale al momento della produzione e il valore di inizializzazione non viene memorizzato da nessuna parte.

Anche se possiedi un gestore di autenticazione, non puoi indovinare il passcode in quanto solo l'amministratore può caricare l'elenco dei token. Le informazioni su questo elenco sono necessarie per generare il passcode per un determinato SecurID o Soft Token. Se l'autenticazione On-Demand è abilitata, l'utente può richiedere un passcode via SMS o e-mail, ma il codice è ancora basato sul token che è stato assegnato all'utente.

    
risposta data 27.07.2016 - 13:59
fonte

Leggi altre domande sui tag