Sicurezza del passcode di iPhone

2

Con iOS 11 sono stato costretto a passare dalla verifica in due passaggi all'autenticazione a due fattori. Ciò implica che da qualche parte in Apple ci sia qualche blackbox che può decidere, usando le mie credenziali AppleID (?), Se un determinato passcode coincide con il passcode effettivo di iPhone.

Quando volevo verificare quanti tentativi di bruteforce ho eseguito, ricorro alla funzione di comodità che consente tentativi illimitati di bruteforce con lo stesso passcode.

Dato questo ho due domande:

  • Ho chiesto supporto Apple se ciò indebolisce la sicurezza del mio passcode. Dicono di no. Come può essere possibile se la bruteforcing fuori dispositivo è possibile?

  • Il fatto che l'inserimento del passcode due volte non aumenta il il contatore mi fa domandare come viene attivato il contatore. Se il passcode il tentativo viene prima verificato rispetto alla password effettiva e quindi controllato contro l'ultimo tentativo, non ci sarebbe un ritardo tra quando il il passcode è spuntato e il contatore viene incrementato durante il quale il il telefono potrebbe bloccarsi? Questo non permetterebbe potenzialmente una forza bruta attacco, o mi manca qualcosa?

posta user60589 06.03.2018 - 11:43
fonte

3 risposte

1

Riepilogo e nozioni di base

Prima di tutto, facciamo un breve riepilogo su come prevenire i tentativi di forza bruta.

Un attacco di forza bruta è uno in cui qualcuno prova molte password diverse (potenzialmente sequenziali) finché non entrano nel sistema.

Con questo in mente, c'è solo un modo per prevenire gli attacchi di forza bruta: accelerare la velocità con cui possono essere fatti tentativi.

Esempio

Se tutte le password erano 8 caratteri alfa, ci sono% combinazioni di password in% co_de. Se un algoritmo di forza bruta è limitato a un tentativo ogni secondo, ci vorranno circa 26^8 ≈ 208 billion anni, quindi questo sarebbe un modo semplice per prevenire i tentativi di forza bruta senza interrompere l'esperienza utente.

La maggior parte dei sistemi, (probabilmente incluso iOS) hanno maggiori probabilità di avere un sistema di accelerazione incrementale, qualcosa del tipo:

  • la frequenza massima normale è 1 al secondo (che è veloce per una persona, molto lento per un robot)
  • dopo 10 tentativi errati, questo si riduce a 1 per 10 secondi
  • ecc.
  • dopo un accesso riuscito o una quantità di tempo specificata, la velocità viene ripristinata.

Caveat

Questo tipo di sistema di limitazione incrementale può penalizzare in modo massiccio le persone con password lunghe e / o una disposizione verso la digitazione errata della loro password.

Se una persona digita erroneamente la propria password nello stesso modo sbagliato, quante password hanno effettivamente provato? Solo 1, quindi perché dovrebbe rallentarli di più.

Pertanto, un sistema di limitazione accettabile memorizza anche un hash della password tentata e solo il numero di traccia delle password uniche tentate.

Nota a margine

Questo potrebbe essere un modo interessante (anche se inaffidabile) per determinare se si tratta di un utente che tenta di accedere o di un robot - un robot che tenta di eseguire la forza bruta sarebbe molto più veloce (incredibilmente così) e non avrebbe mai bisogno di tentare lo stesso password due volte.

Riepilogo (e risposta alla domanda delle operazioni)

Hai provato la stessa password più volte, quindi potresti non attivare nulla in quanto non vi è alcun tentativo di forza bruta.

Anche se dovessi tentare password diverse, è improbabile che tu possa inserirle abbastanza velocemente da attivare qualsiasi cosa che impedisca attacchi di forza bruta: non sei neanche lontanamente veloce come un robot.

    
risposta data 06.03.2018 - 17:11
fonte
1

This has the implication that somewhere at Apple there is some blackbox that can decide, using my AppleID credentials(?), whether a given passcode coincides with the actual iPhone passcode.

HT202303 dice:

Your data is protected with a key derived from information unique to your device, combined with your device passcode, which only you know.

Hai ragione nel ritenere che se Apple detiene i dati crittografati con una chiave derivata da "informazioni uniche sul tuo dispositivo" (che presumo essi sappiano) in combinazione con il tuo passcode che potrebbero provare a forzare il passcode forzando la decrittografia con chiave. Questo è un compromesso, in quanto un backup che non può essere decifrato senza il telefono originale sarebbe di uso limitato. Ciò sarebbe più accettabile se fosse possibile utilizzare una password separata (più strong) per il backup, ma non sono stato in grado di scoprire se ciò è possibile. Se non ti piace, credo che puoi disabilitare i backup.

The fact that entering the passcode twice doesn't increase the counter makes me wonder how the counter is triggered. If the passcode attempt is first checked against the actual password and then checked against the last attempt, wouldn't there be a delay between when the passcode is checked and the counter is incremented during which the phone could crash? Wouldn't this potentially allow a brute force attack, or am I missing something?

Non so come Apple l'abbia implementato, ma un modo semplice è di memorizzare il tentativo di $previous e controllarlo sempre prima di verificare il codice di protezione $correct . Se corrisponde a $previous , mostra solo l'errore. In caso contrario, incrementa il contatore, memorizzalo come $previous , quindi controlla contro $correct . In questo modo il contatore viene sempre incrementato prima del controllo.

    
risposta data 06.03.2018 - 17:43
fonte
-1

@ user60589 L'iPhone memorizza la password "1" volta. La volta successiva che inserisci la password, confronta la password inserita con la password inserita in precedenza (se presente). Se la password inserita è la stessa, non incrementa il contatore dei tentativi errati. Ora, se la password inserita è diversa da quella precedentemente inserita, aumenta il contatore della password errata in "1". Dopo aver inserito la password corretta, l'iPhone reimposta il contatore su "0" e si sblocca. Se si immette una password errata "5 volte" continuamente, l'iPhone non consente di inserire la password per 1 minuto. Il sesto tentativo sbagliato la disabilita a 10 min. Quindi 1 ora e così via.

Non ha l'impatto sulla sicurezza di iPhone poiché la memorizzazione di una password errata non ha alcun impatto su nulla. Infatti, impedisce agli utenti di perdere i loro dati perché, se stanno ripetendo la password, potrebbero pensare che sia quella corretta. Ora, se qualcuno prova a usare la forza bruta, si disabilita. non è "SMART"? :)

    
risposta data 06.03.2018 - 15:33
fonte

Leggi altre domande sui tag