Domanda:
È sbagliato usare caratteri speciali nelle password?
Héctor Álvarez
2020-02-04 22:32:14 UTC
view on stackexchange narkive permalink

Sto cercando di trovare il miglior grado di entropia per un modello di password e, dopo aver eseguito diversi test, il miglior risultato è venuto da questo: à.

Questo Il simbolo da solo aggiunge 160 caratteri al set (contrariamente alle lettere minuscole, ai numeri o persino ai simboli) ed è prontamente disponibile da una tastiera spagnola come quella che uso, che sembra perfetta.

Tuttavia , Non riesco a trovare alcuna informazione su questo, tutto il software di generazione di password sembra evitare di usarli e non so perché.

Una password come + 9qQ¨ {^ aggiunge fino a 254 set di caratteri, + 9qQ¨ {^ aaaa ha già 67 bit di entropia, mettendo da parte il fattore di facilità di ricordare, c'è qualche motivo per evitare di usare questi caratteri speciali?

I commenti non sono per discussioni estese;questa conversazione è stata [spostata in chat] (https://chat.stackexchange.com/rooms/104180/discussion-on-question-by-hector-alvarez-is-it-bad-to-use-special-characters-in).
L'entropia di à è 0 btw.
Dodici risposte:
schroeder
2020-02-05 02:33:20 UTC
view on stackexchange narkive permalink

I caratteri specifici della lingua vengono in genere evitati dai generatori di password perché non sarebbero universalmente disponibili (le tastiere statunitensi non hanno caratteri accentati, ad esempio). Quindi non prendere la loro omissione da questi strumenti come un'indicazione che potrebbero essere deboli o problematici.

Più grande è il set di simboli ( az , AZ , 0-9 , ecc.) maggiore è la quantità di caratteri possibili da provare a indovinare durante la forzatura bruta di una password. L'aggiunta di caratteri specifici della lingua si aggiunge al pool e questa può essere una buona cosa.

Ma fai attenzione a come calcoli l'entropia. La stringa ààààààààààà non ha molta entropia se la premi sulla tastiera perché è comoda. L'entropia riguarda il modo in cui vengono scelti i personaggi. Una stringa scelta a caso ha un'entropia elevata e una stringa scelta a caso da un ampio pool di caratteri ha un'entropia più alta.

Una volta ho dovuto cambiare la mia password Amazon mentre stavo effettuando l'accesso su una Smart TV e la tastiera su schermo non aveva un simbolo che avevo usato.A ~ se ricordo bene.
Ricordo un'istanza in cui l'utilizzo di "ß" in un login di Windows funzionava solo quando non ci si connetteva tramite RDP
Di recente ho generato una password con una e commerciale, quindi l'ho cambiata quando mi sono ricordato che avrei dovuto eseguire l'escape quando ho inserito la password in un file xml.
L'aggiunta di un ulteriore requisito di lunghezza dei caratteri aiuta l'entropia totale della password in modo comparabile (almeno) nell'aumentare il set di caratteri.È necessario considerare i problemi pratici con i caratteri non di base a sette bit menzionati e gli utenti potrebbero non considerarli fino a quando non si verifica un problema.Ho incluso un carattere di controllo backspace in una password che avrebbe dovuto essere digitato solo sulla console di sistema, che utilizzava ctrl-x per l'eliminazione.
Un altro argomento a favore del metodo di generazione della password [pinzatura batteria] (https://xkcd.com/936/).Soprattutto su smartphone o tablet, una password più lunga composta solo da lettere minuscole e spazi è * così * molto più facile da digitare correttamente rispetto a una stringa più breve di confusione casuale.
La tastiera us ha caratteri accentati quando si utilizza la mappatura internazionale, che crea accenti dai deadkey (combinando vari simboli con altre lettere).ad esempio: `', c` ->` ç`
@njzk2 sì, so che puoi creare le mappature, ma come qualcuno che normalmente non ha bisogno di digitare `ç`, e la mia tastiera non ce l'ha, per avere un generatore di password significa che devo personalizzare il mio input da tastieraper permetterlo.E poi dovrebbe fornire le istruzioni su cosa fare.
@njzk2 puoi personalizzare la mappatura prima di accedere al sistema operativo?Perché se non puoi, ciò ostacola gravemente la tua capacità di * creare * quelle mappature in primo luogo.Anche se lo fai, l'accesso remoto a una macchina potrebbe essere ancora un problema.E se stai usando questo * non * come password utente del tuo sistema operativo, allora devi personalizzare la mappatura della tastiera su ogni singola macchina che usi solo per accedere a qualsiasi cosa usi strani caratteri insoliti.Anche sui dispositivi mobili questo potrebbe essere abbastanza fastidioso.
Altamente rilevante qui: https://twitter.com/FakeUnicode/status/1192245294429130752
@IllusiveBrian Cosa stavi facendo inserendo una password non crittografata in un file XML?
Stig Hemmer
2020-02-05 16:05:53 UTC
view on stackexchange narkive permalink

Tutte le password devono contenere solo caratteri ASCII stampabili. Non "ASCII esteso", non Latin-1, non Unicode.

Il motivo è che non si sa mai cosa viene effettivamente ricevuto da un programma quando si preme "à" o simile.

In molte versioni di "ASCII esteso", "à" è codificato come (hex) 85.
In ISO Latin-1, "à" è codificato come (hex) E0.
In Unicode "à" è codepoint U + 00E0. Quando codificato con UTF-8, il risultato è (hex) C3 (hex) A0.

Justin Time sottolinea in un commento che esiste un'altra possibilità. Anche se tutti parlano Unicode, "à" può essere memorizzato in modi diversi. C'è U + 00E0 come elencato sopra, ma c'è anche una versione composta (U + 0061 U + 0300) che è "a" seguita da (COMBINAZIONE DI ACCENT GRAVE). Un programma scritto correttamente lo gestirà, ma è estremamente comune avere bug in quest'area.

Chiunque abbia un carattere nazionale nel proprio nome o indirizzo li ha visti mutilati in molti modi diversi. Quando ciò accade, è semplicemente brutto, ma la lettera di solito viene consegnata comunque.

Quando ciò accade a una password , il risultato è che non puoi accedere! Basta non andarci.

Con questa logica dovremmo tutti usare solo sei caratteri alfanumerici, perché su alcuni siti i dati sono ancora memorizzati in una sorta di vecchio mainframe degli anni '50 che ha solo sei posizioni per memorizzare le password (non modificate).Quindi no, non dovresti soddisfare le persone che implementano male i moduli di accesso e le codifiche delle loro applicazioni web e database.Unicode è in circolazione da abbastanza tempo ormai.
@CodeCasterCo sei irragionevole.Questo ha molto senso pratico.Vedi l'errore logico [Appeal to Extremes] (https://www.logicallyfallacious.com/tools/lp/Bo/LogicalFallacies/30/Appeal-to-Extremes).
Al contrario, penso che CodeCasterCo abbia ragione.Questo è il 2020. Se c'è un sistema che non supporta ancora le stringhe Unicode, dovrebbe vergognarsi di se stesso.Ora, certo, se trovi un sistema del genere e devi usarlo, usa una semplice password.Ma ovunque puoi, i caratteri non standard miglioreranno solo la tua password.E quando stai costruendo il tuo sistema non c'è motivo di inserire un requisito così artificiale.
@user1717828 sì, conosco i miei errori logici e quando usarli.Ma questo consiglio va contro ogni buon senso.È letteralmente: "Alcuni programmatori non sanno come funzionano le codifiche dei caratteri, quindi è meglio non usare caratteri speciali nelle password da nessuna parte".Ci sono argomenti ** pratici ** per non usare tali caratteri, la facilità di inserimento è grande, ma l'argomento fatto in questa risposta ha poco senso.Soprattutto dato che inizia con _ "Tutte le password devono contenere solo caratteri ASCII stampabili" _, che è una generalizzazione frettolosa.Cercalo sul tuo sito.
Ora, ovviamente, questa risposta presuppone qualcosa di diverso che è davvero, davvero brutto.Si presume che si utilizzi la stessa password per ** diverse ** applicazioni (o in più posizioni).Se è effettivamente la stessa applicazione, non importa affatto quale numero il programma riesce a vedere.Finché sono gli stessi bit, la password è corretta, altrimenti non lo è.Al programma che verifica la tua password non potrebbe importare di meno se vede 0xe0 o 0x1ff43 purché sia quello che deve essere.
@Damon In un mondo in cui è possibile accedere a sistemi protetti da password da una raccolta diversificata di sistemi client, se non ci si può fidare dei sistemi client per fornire la stessa codifica di quei caratteri non ASCII, la password di una singola applicazione potrebbe soffrire di questo problema.
@Vilx- Ma è davvero importante?Per inserire Unicode o ASCII, è necessario inserire un codice numerico.Usa quei numeri senza convertirli in un personaggio.Quella password guadagna la sua entropia dalla lunghezza (e dovrebbe essere più o meno la stessa entropia) e può essere inserita ovunque.
Forse un esempio migliore potrebbe essere quello di indicare come alcuni simboli possono avere più codifiche Unicode ma essere visivamente identici, come, ad esempio, il carattere precomposto "à" (U + 00E0) rispetto al carattere decomposto "à" (U + 0061 U + 0300).È del tutto possibile che l'uso di "à" possa comportare il rifiuto o l'accettazione della password a seconda del metodo di immissione, poiché le versioni a pressione singola e combinazione di tasti possono essere sequenze di byte diverse.Questo è, purtroppo, un problema noto con Unicode e ancora da normalizzare IIRC.
@Vilx- Come osserva Justin Time, molti grapheme cluster hanno più di una possibile rappresentazione.Se qualcuno preme il tasto "A" e poi un tasto "accento grave", dovrebbe generare un singolo carattere "a con grave", o dovrebbe generare una "a" seguita da un "accento grave combinato"?Se qualcuno imposta una password con un terminale o browser che tratta quel carattere in modo diverso dal normale sistema dell'utente, come potrebbe quell'utente conoscere e recuperare da quella situazione?
@supercat - Beh, questi mi sembrano casi speciali.La maggior parte delle volte c'è solo l'unica schermata di accesso, quindi la password riceve ogni volta lo stesso trattamento.
@Vilx- Diversi dispositivi che accedono alla schermata di accesso potrebbero elaborare gli input della tastiera in modo diverso.
L'argomento sull'essere bloccati sembra molto pertinente a essere onesti, se il sito Web è ben progettato o meno è fuori discussione, ho dovuto supportare basi di codice legacy molto vecchie che preferirei buttare via e iniziarefinito, solo perché funzionano e aggiornarli richiede risorse, quindi non è fattibile farlo.Detto questo, sono un po 'preoccupato per la sicurezza della mia password in quei sistemi, nella maggior parte dei casi la crittografia è gestita molto male, ho visto PM felici di crittografare le password come MD4 o Base64, solo per avere il database violato edati rubati ... Forse è meglio sbagliarli
Una potenziale situazione che viene in mente, @Vilx-, è quando la schermata di accesso accetta combinazioni di tasti per inserire caratteri speciali (ad esempio, `Ctrl + \`, a`), ma questi caratteri possono anche essere inseriti da pulsanti discreti su alcuni layout di tastiera (ad esempio,il pulsante "à" sulle tastiere spagnole, come menzionato dall'OP).Esiste la possibilità che i due metodi di input generino versioni diverse dello stesso carattere, il che può causare problemi se il metodo preferito di un utente non è consentito (ad esempio, l'OP non aveva accesso a una tastiera spagnola, come se si accedesse da unsistema che supporta solo QWERTY).
@Vilx- Per espandere leggermente il punto di Justin, il problema con la commutazione dei tasti Ctrl / Alt non è che la tastiera non può farti inserire lettere accentate.Nel tuo nome utente va bene, perché puoi vedere le lettere apparire e se questa tastiera ha bisogno di qualcosa di diverso, puoi ordinarla.Il problema arriva con la password, che quasi sempre ha i caratteri nascosti.Se non puoi garantire che ogni tastiera del mondo ti fornirà gli stessi caratteri accentati dalle stesse sequenze di tasti Ctrl / Alt, allora inserire la tua password con caratteri accentati ti rovinerà ad un certo punto.
Per un esempio concreto, anche se una situazione leggermente diversa: https://apple.stackexchange.com/questions/202143/i-included-emoji-in-my-password-and-now-i-cant-log-in-to-il-mio-account-su-yosemite
Quando il campo di creazione della password accetta quei caratteri, perché no?Tutti i sistemi che costruisco oggigiorno supportano gli emoji in una password.Non c'è motivo per non farlo quando è accettato.
Voglio solo sottolineare che python2.7 non è ancora morto, anche se non è più supportato.(Ci sarà anche una versione 2.7.18 in aprile per mettere l'ultimo chiodo nella bara.) A meno che un'app 2.7 non sia stata specificatamente scritta per utilizzare unicode, è bloccata nell'età oscura delle stringhe ascii.
Tom
2020-02-06 17:23:29 UTC
view on stackexchange narkive permalink

La maggior parte dei cosiddetti controlli di sicurezza delle password non comprende né le password né l'entropia correttamente. Ho sempre trovato qualcosa di ridicolo che passa come una password complessa. Prova il tuo nome più la tua data di nascita (con punti o barre, come richiesto dalla tua lingua). Ci sono le tue maiuscole e minuscole, caratteri speciali e numeri proprio lì, eppure nessuno sano di mente lo consiglierebbe come password.

Eppure "JohnDoe01.01.1980" segna "220 trilioni di anni" su https://howsecureismypassword.net/ e al 100% su http://www.passwordmeter.com/.

https: // www .my1login.com / resources / password-strength-test / è l'unico controllore che ho trovato che capisca la stupidità: entra in questo esempio e guarda come la sua stima passa da "fantastico" a "medio" mentre inserisci l'ultimo numero e "ottiene" che c'è una data di calendario.

Quindi: usa più dei motori di calcolo dell'entropia primitivi per giudicare le password.

Per il tuo caso specifico ciò significa:

sulla carta l'estensione del set di caratteri aumenta notevolmente lo spazio di ricerca e dovrebbe rendere le password radicalmente più sicure. in realtà il 99,9% degli utenti utilizzerà le proprie impostazioni internazionali e una a in spagnolo o una dieresi tedesca sono solo alcuni caratteri aggiuntivi e non l'intero spazio UTF-8. Perché sarebbe sciocco presumere che un utente malintenzionato non tenga conto della natura umana di base.

Ci sono anche gli aspetti di usabilità. Una volta ho dovuto accedere al mio account da remoto da un Internet cafè giapponese, e questo non è stato decisamente divertente. Se il mio nome utente, la password o uno qualsiasi dei comandi di cui avevo bisogno avesse incluso caratteri non ASCII, non credo che ci sarebbe stato alcun modo per farlo accadere.

Se è possibile che tu possa devi accedere alla tua macchina da una tastiera diversa da quella che stai usando ora, caratteri troppo speciali ti terranno fuori dal tuo account meglio di quanto potrebbe fare una password dimenticata.

E non parliamo nemmeno di Unicode e delle sue numerose implementazioni non funzionanti, che potrebbero causare ulteriori problemi.

Questi sono anche alcuni dei motivi per cui i generatori di password evitano i caratteri non ASCII:

Sicurezza aggiuntiva insufficiente per compensare tutti i potenziali problemi.


E per favore, per favore, per favore, smettila di pensare alla complessità della password. È un ponte di paglia serpente. La lunghezza supera la complessità ogni giorno e se utilizzi generatori di password probabilmente li stai anche memorizzando in un gestore di password e non ti interessa se digiti 10, 20, 40 o 200 caratteri.

Il numero 1 Il miglior suggerimento per la sicurezza delle password è usare una nuova password casuale per ogni sito Internet con cui ti registri, in modo che la tua password non venga persa nel prossimo hack. Perché non puoi essere sicuro che li hash e salano correttamente, e se non lo fanno, tutta la complessità e i caratteri speciali del mondo non contano per niente.

Potresti divertirti con https://github.com/dropbox/zxcvbn
@Luc - sì.Il primo paragrafo è sufficiente per sapere che hanno la testa sulla strada giusta.Partono da un elenco di password conosciute.Dico sempre a tutti coloro che chiedono consiglio di applicare una lunghezza minima ragionevole e di controllare la lista nera delle password di password comuni più il nome della società, la posizione, ecc.
Sembra proprio così!A proposito, è anche in linea con le raccomandazioni del NIST, nel caso in cui tu voglia dire alla gente che hai qualche fonte ufficiale per affermarlo :)
my1login usa zxcvbn internamente (una versione piuttosto vecchia perché pensa che `a # a # a # a # a # a` sia un'ottima password).
@Luc - Ho festeggiato il giorno in cui il NIST ha finalmente cambiato le sue raccomandazioni in una versione più breve di ciò di cui ho parlato alle conferenze sulla sicurezza per circa cinque anni prima.:-)
@Tom Dato che non ho altro modo per inviarti un PM, quel codice QR è stato creato per non essere scansionabile, giusto?In caso affermativo, il collegamento termina con "42879".Se no, allora ha bisogno di più jpeg: D
+1 per gli ultimi due paragrafi.
Ricordo un controllo della forza che diceva che "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa" era una password complessa, molto probabilmente a causa della sua lunghezza.... È molto probabilmente la password di 30 caratteri più debole possibile, perché probabilmente è una delle prime permutazioni che un brute-forcer tenterebbe.
@JustinTime-ReinstateMonica, sei sotto l'errato presupposto che un brute-forcer andrebbe dalla a alla z.Non lo sarebbe.Andrebbe per frequenza di lettere nelle lingue comuni.Testerebbe "e" prima di "a".Altrimenti è uno stupido brute-forcer.
@Luc Si prega di non raccomandare zxcvbn senza menzionare le avvertenze.Ad esempio, zxcvbn considera `abcdefghijklmnopqrstu vwxyz 0 1 2 3 4 5 6 7 8 9` una password di gran lunga più sicura di`} & wu.y '} rzzQ {n6L2nKg Ax? E..Ab'Y~] WeR7} Z [JD7, && j [ekWB8z * dh`, che entrambi sappiamo non è vero.
@MechMK1 Solo perché non è perfetto, non lo rende un cattivo strumento per aiutare la persona media (che davvero non martellerà la pagina di registrazione per cercare di trovare la password più debole considerata forte solo così puòavere un account mal protetto).Che tu possa trovare una scappatoia non è un avvertimento.Ora, se potessi dimostrare che consiglierà a qualcuno di usare una password debole in un caso plausibile, ti inviterei ad aggiungere un altro commento e ad aprire un problema nel loro bug tracker.
@Luc Ricordo un caso in cui alcune password veramente deboli erano considerate "molto forti", perché zxcvbn la classificava come forza bruta piuttosto che come dizionario con sostituzione.Dovrò cercare la password esatta utilizzata.Il punto era che questo strumento può dare un falso senso di sicurezza su alcune password e non dovrebbe essere invocato esclusivamente.So che questo non è quello che hai detto esplicitamente, ma una raccomandazione di un utente con un alto numero di ripetizioni può essere interpretata in questo modo.
Questo risolve la maggior parte delle mie preoccupazioni, è abbastanza ben scritto e dettagliato.Tuttavia non sono sicuro di utilizzare i gestori di password, questo è un ottimo modo per perdere l'accesso ad esso.Per esempio.keepass senza file kbdx non vale nulla.Inoltre non è molto comodo aprire il gestore delle password ogni volta che voglio accedere a qualcosa.
Abbastanza giusto, @Tom.Non ero del tutto sicuro della logica esatta che usano per determinare come attaccare.
@Luc quel codice QR è solo un collegamento al mio profilo Google Plus, che uso per accedere qui e che non contiene nient'altro di interesse perché ho usato G + per forse tre settimane prima di abbandonarlo.:-) - in quel momento ho trovato un'idea carina quella di avere un'immagine del profilo autoreferenziale che essenzialmente ritorna a se stessa.
@tom Oh, perché è super sfocato e ho bisogno di migliorarlo a una certa impostazione prima che lo scanner riconosca i marcatori d'angolo.Ma va bene, se funziona per te: P
Konrad Borowski
2020-02-06 15:35:52 UTC
view on stackexchange narkive permalink

Per calcolare l'entropia, è necessario un metodo ben definito per generare stringhe casuali. Considera la seguente stringa.

  abcdef  

Se hai detto a un computer con un buon generatore di numeri casuali di generare 6 lettere minuscole e è capitato di ottenere questa particolare sequenza, quindi hai log 2 (26 6 ) bit di entropia (28 bit di entropia). Tuttavia, se il tuo generatore di stringhe casuali restituisce sempre "abcdef", hai effettivamente 0 bit di entropia. I calcoli dell'entropia presumono che gli aggressori sappiano come si generano le password.

Nella tua domanda hai menzionato specificamente il carattere à . Non hai specificato un algoritmo, quindi lascia che ne proponga uno. Scegli un particolare algoritmo di generazione della password (la scelta non ha importanza) e metti sempre à alla fine. Quanti bit di entropia aggiunge? La risposta è 0 poiché il numero di possibili password che potrebbero essere generate non è cambiato.

Ma supponiamo che tu abbia modificato un algoritmo che genera caratteri casuali per aggiungere à carattere nel possibile output personaggi. In questo modo verranno aggiunti log 2 ((alfabeto + 1) dimensione ) - log 2 (alfabeto dimensione ) bit di entropia. Questo non fornisce molto valore, per password casuali di 50 caratteri con dimensione alfabetica di 62 (minuscolo + maiuscolo + cifre), questo aggiungerà semplicemente un singolo bit di entropia. Puoi ottenere risultati molto migliori aggiungendo 1 carattere a una password, che aggiunge circa 6 bit di entropia.

Inoltre, l'aggiunta di à al tuo alfabeto introduce un costo per avere un carattere non è necessariamente su nessuna tastiera su cui potresti voler digitare la password.

jamesdlin
2020-02-05 15:12:42 UTC
view on stackexchange narkive permalink

Può essere negativo se il sistema di accesso è implementato male. Dato che mi sembra di vedere ancora molti sistemi che (forse per motivi legacy) hanno ancora la lunghezza massima delle password e hanno regole stupide per le password su quali caratteri sono consentiti (o peggio, non consentiti), non mi fido di caratteri non ASCII attraverso indenne con un alto grado di fiducia. Certamente sarebbe un male se ti fosse permesso di impostare la password con un carattere non ASCII ma che il processo di login la alterasse.

Per i sistemi che impongono la lunghezza massima delle password, devi anche considerare l'ambiguità di come viene effettivamente misurata la lunghezza della password. È un numero di byte? In quale codifica? È un numero di punti di codice? Numero di grapheme cluster? Ad esempio, se un sistema limita la lunghezza della password in base al numero di byte in UTF-8, l'utilizzo di un carattere non ASCII consumerebbe più byte e potrebbe ridurre l'entropia.

PDP11
2020-02-07 08:30:45 UTC
view on stackexchange narkive permalink

Sebbene numerose risposte abbiano fornito solide informazioni sull'entropia, la domanda posta era "... c'è qualche motivo per evitare di usare questi caratteri speciali?"

Alcuni sistemi di password per computer accettano solo caratteri alfanumerici caratteri più un intervallo limitato di caratteri come un trattino basso (_) o un trattino (-). Tutti gli altri caratteri sono proibiti.

In alcune applicazioni complesse possono esserci sistemi legacy che utilizzano lo screen scrapping che può danneggiare la traduzione di caratteri speciali nelle stringhe di testo. Il problema è che non puoi sapere come è stata implementata un'applicazione. Potrebbe esserci o meno una legislazione che stabilisce standard minimi.

In qualsiasi punto di una catena in cui vengono modificati i set di caratteri, esiste la possibilità che i caratteri speciali vengano eliminati o danneggiati.

Non dare per scontato che l'applicazione che accetti la tua password iniziale per la registrazione è la stessa applicazione che accetta la tua password per la convalida. Devo ammettere che se tutti sperimentassi un sistema implementato male, eviterei il sistema come la peste.

paradx
2020-02-06 14:14:24 UTC
view on stackexchange narkive permalink

Dipende da dove e come utilizzi la password.

Se utilizzi un gestore di password, ad es. su una chiavetta USB, non c'è problema che la password sia digitata correttamente su tutte le macchine, a causa di copia e incolla.

Quando devi usare la password su dispositivi speciali (smart TV, frigo, dispositivi in ​​cui non è possibile inserire una chiavetta USB o non è consentito) o quando c'è una probabilità ragionevolmente alta che il processo di accesso sia implementato in modo schifoso, utilizzerei solo caratteri ASCII trovati sulle tastiere statunitensi.

Ray
2020-02-07 03:37:58 UTC
view on stackexchange narkive permalink

L'entropia non è una proprietà delle password. È una proprietà dei metodi di generazione delle password (o più in generale, una proprietà delle distribuzioni di probabilità). Nello specifico, è il numero previsto di bit di informazioni di cui un utente malintenzionato avrebbe bisogno per identificare la password specifica generata, supponendo che conosca il metodo utilizzato. Se tutte le possibili password che potresti generare hanno la stessa probabilità, questo si semplifica in un'entropia di log 2 (numero di possibili password).

  • Quindi, se il tuo metodo è selezionare à , hai un'entropia pari a 0; non sono necessarie ulteriori informazioni per identificare quale delle singole possibili password è stata selezionata.
  • Se la tua password è una sequenza da qualche parte tra 1 e 16 à s, hai un'entropia di 4 , poiché ci sono 16 possibilità e log 2 (16) = 4.
  • Se la tua password è tre numeri compresi tra 0 e 15 inclusi, selezionati in modo uniforme e indipendente, il tuo entropia è 12, poiché ci sono 16 possibilità 3 e log 2 (16 3 ) = log 2 (16 ) * 3 = 12.

    Ma la password 15 3 7 non ha un'entropia, perché non è una distribuzione di probabilità; è un elemento che è stato selezionato da uno.

Gli strumenti che pretendono di darti l'entropia di una password in realtà indovinano quale metodo tu probabilmente utilizzato per generare quella password (e quasi certamente indovinare sbagliato ) e darti l'entropia del metodo che pensano tu abbia usato. Segnalano un'entropia elevata per le password con caratteri speciali perché ritengono che la password sia stata selezionata utilizzando un metodo che potrebbe aver generato qualsiasi carattere speciale in qualsiasi posizione. Se questa ipotesi è falsa (il che è), l'entropia che riportano non ha senso.

L'uso di caratteri speciali nelle password non è né buono né cattivo. Non è così importa quali caratteri potrebbero finire nella tua password. È importante quante possibilità ci sono.

HumanJHawkins
2020-02-06 12:41:27 UTC
view on stackexchange narkive permalink

Sì, in alcuni casi. Ad esempio:

1) Se è una situazione in cui la password deve essere ricordata, l'aggiunta o la richiesta di caratteri speciali riduce la sicurezza perché aumenta la probabilità che gli utenti violino le politiche sulle password per non memorizzarle o semplicemente scriveranno quelle password giù. Entrambi i casi comportano un rischio per la sicurezza molto maggiore rispetto a password meno complesse.

Inoltre, ad esempio, considera questa serie di password, cambiate ogni 90 giorni e utilizzando caratteri speciali per soddisfare un requisito di password eccessivo:

  Th1s $ ecuritySucks! Th2s # ecuritySucks! Th3s @ ecuritySucks!  

Immagina che le prime due password siano state esposte ... Anche dopo il passaggio alla terza password, sarebbe facile indovinare la password corrente vedendo le prime due.

2) Aggiungere entropia per il bene dell'entropia può essere uno spreco di risorse che è meglio spendere per risolvere altri problemi di sicurezza. Se si blocca un sistema (ad esempio rispetto a un file), si otterrebbero maggiori vantaggi assicurandosi che tutte le altre vie di attacco siano bloccate ... Ciò significa che fare una dura prevenzione di qualsiasi ripetizione estesa è molto meglio che provare per creare una password dove sono richieste più ipotesi.

Se non hai niente di meglio da fare e la password non ha bisogno di essere tenuta nella memoria umana o digitata (o almeno non digitata da sistemi sconosciuti / potenzialmente diversi ), tuttavia, non sarebbe necessariamente dannoso.

"* gli utenti imbrogliano o annotano le loro password *" Annotare le password potrebbe non essere male, a seconda della situazione.Cosa intendi per barare?"* Immagina che la persona abbia scritto le prime due di quelle *" Perché qualcuno dovrebbe annotare le password storiche ma non quella attuale?Forse qualcuno scriverà il primo e il numero a cui si trovano, ma lo scenario in cui ciascuno di essi è scritto tranne quello attuale sembra molto improbabile."* è molto meglio prevenire qualsiasi ripetizione estesa di tentativi *" ma questa domanda riguarda l'utente, non l'amministratore di sistema.Non posso farlo come utente.
Per quanto riguarda l'utente, non sono sicuro.Non vedo una comprensione comune della parola "modello" in questo contesto.Ho pensato che la domanda riguardasse lo sviluppo di un modello per i requisiti della password.Ma sì ... è un po 'ambiguo. Per quanto riguarda "barare" chiarirò nel post ... intendevo barare sulle politiche che non ti è permesso scrivere la tua password, ecc.
Per quanto riguarda la scrittura dei primi due ma non del terzo, chiarirò anche.Era semplicemente inteso a rappresentare tutti i casi in cui vengono esposte le password precedenti.Non si dovrebbero usare schemi che permettano di indovinare la password odierna in base alla conoscenza delle password passate.
Walter Tross
2020-02-08 05:44:42 UTC
view on stackexchange narkive permalink

No , non è male usare caratteri "speciali" (meglio: non ASCII) nelle password.

Come utente, tutto ciò che devi fare è

  1. fidati del sito web che non presenterà mai un modulo di accesso non UTF-8,
  2. assicurati di essere sempre in grado di digitare la tua password quando è necessario così.

Se sai che potresti dover digitare la tua password su una tastiera fisica esterna, devi essere in grado di ricordare (oppure, cercare) la posizione dei tasti che producono i tuoi caratteri non ASCII (BTW, à su una tastiera spagnola sono 2 pressioni di tasti). Per quanto riguarda il layout, tutto il sistema operativo ti consentirà di cambiarlo, quindi non è un problema.

Il vantaggio dei caratteri non ASCII è che il software di cracking delle password, IMHO, difficilmente li provi. Se lo facesse, esplorerebbe le password con una probabilità inferiore, a scapito di password ASCII più lunghe, che hanno una maggiore probabilità di essere utilizzate.

Overmind
2020-02-06 13:14:06 UTC
view on stackexchange narkive permalink

ASCII esteso (0-255) va bene in quanto puoi comporli comunque utilizzando alt + tastierino numerico.

Qualsiasi altro carattere al di fuori di ASCII esteso non funzionerà sempre perché il tuo la possibilità di scriverlo dipende dalla specifica configurazione del sistema. Alcuni sistemi potrebbero essere bloccati / configurati per non consentire nulla di simile a UTF.

Quindi, se hai un sistema specifico e una lingua specifica impostata, puoi usare qualcosa di speciale per il tuo login, ma se hai bisogno di una password per lavorare da qualsiasi luogo su qualsiasi sistema, limitati ad ASCII.

Qualcosa di simile ti darà molta entropia e generalmente non sarà testato dalla maggior parte dei brute-forcers delle password:

  ≡ ± ≥▀Γ▄  

Usavo persino password di 3-4 caratteri (per cose come gli accessi al sistema di laboratorio) molti anni fa poiché i caratteri non erano sulla tastiera .

Statisticamente, un software brute-forcing adattato per una regione specifica avrà anche molte più probabilità di avere successo su UTF-8 rispetto all'utilizzo di ASCII esteso.

Ho detto specificamente ASCII esteso, che è fino a 255.
Aggiunto esteso.Ho usato comunque 0-255, per essere chiari.
Ti divertirai molto a provarlo in diverse localizzazioni o macchine non Windows ;-)
Questo non ha per niente senso.Dato che è troppo scrivere in un commento: https://pastebin.com/f4HTpdnX
Se usi una password di n caratteri da un set di m caratteri, hai n lg (m) bit di entropia.Non importa se è codificato in un set di caratteri a otto bit o UTF-8.Se stai cercando una password che sia [a-zà], ci vorrà lo stesso tempo per cercare le stesse 27 password, Unicode o meno.
Non ho affermato che ci sia una differenza nell'entropia.La tua matematica è buona, ma molto improbabile che i cracker di password cerchino caratteri come quelli che ho elencato rispetto agli UTF-8.
Émile Jetzer
2020-02-06 19:23:58 UTC
view on stackexchange narkive permalink

Uso i caratteri Unicode nelle password e talvolta una modifica della password viene bloccata (caratteri vietati) o viene eseguita e quindi richiede una reinizializzazione della password (qualche problema di codifica). Dipende molto dal sistema.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...