Vero ?: "Quasi tutte le password crittografate sono memorizzate con l'ultimo carattere in chiaro"?

4

[S]ome passwords are gleaned by hacking into computers where intruders can find stored passwords. Those are stored in encrypted form, but there's software that can attack the encryption. Nearly all encrypted passwords are stored with the last character in clear text, warns NASA, so the last character is a throwaway. [Emphasis added.]

Vedi # 5 in Notizie tecniche quotidiane: Come scrivere il perfetto Password - 27 gennaio 2010

Qualcuno sa se / quando è vero? Hai un riferimento adatto per un non-matematico intelligente?

In genere presumo che "crittografato" in realtà significhi un hash unidirezionale iterato salato ma sono possibili altre forme di crittografia.

    
posta BillR 26.03.2014 - 01:34
fonte

4 risposte

10

No, non penso che sia vero. La copertura di notizie sbaglia tutto il tempo, probabilmente perché non è un argomento facile per un estraneo.

Tutto inizia con il termine crittografia . Se stai davvero crittografando una password, probabilmente stai facendo qualcosa di sbagliato. Le password nel contesto di cui stiamo parlando sono utilizzate per l'autenticazione. Non è assolutamente necessario averli disponibili in chiaro. Attualmente la procedura migliore consiste nell'eliminare iterativamente una password con un utente specifico. Questo processo è praticamente irreversibile e non vedo in alcun modo perché un singolo personaggio sia più incline a essere invertito rispetto a qualsiasi altro.

Tuttavia, se non si segue questo approccio e si fa qualcosa di brutto come memorizzare le password in chiaro o solo memorizzandole crittografate, potrebbe benissimo essere possibile accedere alle password in chiaro. Non vedo perché l'ultimo personaggio sia più vulnerabile di altri, quindi, vorrei strongmente sostenere che l'affermazione menzionata nella tua domanda è semplicemente non vera e qualcuno stava parlando di qualcosa che ha non capire o almeno semplificare le cose in modo tale che siano semplicemente false.

    
risposta data 26.03.2014 - 02:55
fonte
3

Ho visto siti che consentono password lunghe, ma usano solo i primi X caratteri, quindi creano un hash con un sale da quei caratteri X ... lasciando gli ultimi caratteri Y non usati, e in modo efficace potrebbero essere qualsiasi cosa.

per esempio la tua passwor sarebbe

mylongandboringpassword

con la X impostata su 8 la password effettivamente memorizzata (e tutto ciò che avresti bisogno di aprire sono)

mylongan

quindi anche questa password sotto sarebbe valida

mylongandfunpassword

Non dire che questo è una buona pratica, ma l'ho visto.

    
risposta data 26.03.2014 - 04:38
fonte
2

Questa affermazione è priva di senso.

La pratica più comune di gran lunga è quella di prendere un hash MD5 (o, sempre più, qualcos'altro come un hash SHA), con un sale. Il sale è una stringa casuale aggiunta alla password in chiaro prima di essere sottoposta a hash e memorizzata con il lotto; serve a rendere difficile calcolare le tabelle di tutte le possibili password hash, poiché questo deve essere fatto per ogni valore di sale.

A volte è necessario avere la password in chiaro, per alcuni algoritmi di challenge-response. In questo caso, la password potrebbe non essere crittografata o potrebbe essere crittografata in modo reversibile (utilizzando AES, DES o qualcosa del genere).

In entrambi i casi, la password viene considerata come un blob; l'output dell'algoritmo è l'unica cosa memorizzata. Suggerisco, se sei interessato, hash un file; potresti notare che l'ultimo carattere dell'hash e l'ultimo carattere del file sono in genere diversi.

Un altro modo di usare le password per l'autenticazione è usare Kerberos, che implica l'uso della password per generare una coppia di chiavi; in questo caso il server richiede solo la parte pubblica di quella coppia di chiavi e non richiede affatto alcuno dei caratteri della password.

Non riesco a pensare a un singolo meccanismo di memorizzazione delle password ampiamente utilizzato oltre al testo in chiaro che memorizza un singolo carattere della password in chiaro.

    
risposta data 26.03.2014 - 05:02
fonte
2

Ci sono alcune cose in quell'articolo collegato che sono vere e utili. Ma identificare quelle parti dalle cose che sono errate e fuorvianti è qualcosa che può essere fatto solo da qualcuno che non ha bisogno del consiglio in primo luogo.

Poiché @ user1201232 ha rilevato correttamente, ci sono alcuni (antichi) sistemi che usano solo i primi otto byte di una password. Ce ne sono alcuni più recenti (Windows Live / Hotmail) che troncano a 16 byte. Ma non ho mai trovato nulla che corrisponda alla particolare affermazione che stai chiedendo.

I sospetto che l'autore sia confuso riguardo al sale non criptato. I vecchi sistemi Unix crypt () utilizzavano due byte di sale preposti all'hash della password. Quindi quando guardi un record da un vecchio file / etc / password (stiamo parlando dei giorni prima dell'ombra), le prime due lettere non sono state "crittografate".

Ancora una volta, posso solo speculare su ciò che potrebbe essere alla base di quella particolare affermazione. La maggior parte degli altri errori nel documento sono abbastanza comuni. Ad esempio, suppongo che "NASA" anziché "NSA" sia una cosa per il controllo ortografico.

    
risposta data 26.03.2014 - 15:54
fonte

Leggi altre domande sui tag