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.)