Robustezza della password: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti. |
Revisione (TeX, formatnum, overlink ,etc) |
||
Riga 14:
Per far sì che una password sia buona, deve rispettare dei requisiti di complessità, ovvero soddisfare delle linee guida ben precise su come e con quali componenti si deve creare una password.
La lista delle regole da rispettare è la seguente:
*
*
*
*
*
Ad esempio, usando una password con il minor numero di caratteri possibili (8 caratteri), combinata con i criteri sopra definiti, esisteranno
==Entropia delle password==
Riga 27:
=== Decrittazione a 64 e 72 bit ===
Nel 1998 la [[Electronic Frontier Foundation]] creò EFF-DES Cracker ("[[Data Encryption Standard]]") soprannominato “Deep Crack”, un algoritmo di cifratura che usava una chiave a [[64 bit]] (56 bit utili e 8 [[bit di parità]] o controllo) in grado di decriptare fino a <math>2^{{56}}</math> differenti chiavi, ovvero, circa 72 quadrilioni.
Nel 1999
RFC4028,“Randomness Requirements for Security”, ha presentato nel 2005 alcuni studi su come misurare l’entropia di una chiave. I risultati variano da 29 bit di casualità, ovvero <math>2^{{29}}</math>, circa
A partire dal 2007 la
Nel 2008 iniziarono le modifiche [[hardware]] per aumentare i [[core (informatica)|core]] di lavoro di RC5-72 progettati per funzionare anche su [[ATI Technologies|ATI]]. Verso la fine del 2008 vennero concluse le modifiche e introdotti i processori [[AMD Radeon HD 6000 series]] e [[ATI Radeon HD 5000 series]] con una velocità di calcolo di 1,8 miliardi di chiavi al secondo.
A causa dei limiti riconosciuti dalla fisica fondamentale, non c’è
===Password casuali===
Line 45 ⟶ 44:
Esistono però software, soprattutto nei sistemi operativi moderni, che sono in grado di generare password forti fino a 256-512 bit di entropia, ad esempio producendo sequenze composte da: lettere minuscole, lettere maiuscole, numeri e caratteri speciali.
Per le password generate da un processo che seleziona casualmente una stringa di lunghezza <math>S</math> e da un insieme di simboli <math>L</math>, il numero di casi possibili sarà <math>L^S</math>. Di conseguenza aumentando <math>L</math> o <math>S</math> si rafforzerà la chiave generata.
La forza misurata dall’entropia delle informazioni è il
versione 1|autore= William E. Burr|autore2= Donna F. Dodson|autore3= W. Timothy Polk|data= giugno 2004|urlmorto= sì|urlarchivio= https://web.archive.org/web/20040712152833/http://csrc.nist.gov/publications/nistpubs/800-63/SP800-63v6_3_3.pdf|dataarchivio= 12 luglio 2004}}</ref><ref name=NIST3>{{Cita news|url= https://pages.nist.gov/800-63-3/sp800-63c.html |titolo= NIST Special Publication 800-63
versione 3 |autore= Paul A. Grassi|autore2=Michael E. Garcia|autore3=James L. Fenton |data= giugno 2017}}</ref>
<math>E = \log_2 L^S = S \log_2 L = S (\log L / \
Dove: <math>L</math> è il numero di casi possibili, <math>S</math> sono i simboli che compongono la password (lunghezza della password) ed <math>E</math> è il numero di bit di entropia.
La seguente tabella illustra alcune tipologie di calcolo dell’entropia in base a diversi set di simboli:
Line 60 ⟶ 59:
! Set di simboli || Numero di simboli ''S'' || Entropia per simbolo ''E''
|-
| align=left|[[Sistema di numerazione arabo]] (0–9) () || 10 ||
|-
| align=left|[[Sistema numerico esadecimale]] (0–9, A–F) () || 16 ||
|-
| align=left|[[Alfabeto latino]] non case sensitive | (a–z) || 26 ||
|-
| align=left|[[Alfanumerico]] non case sensitive | (a–z o 09) || 36 ||
|-
| align=left|[[Alfabeto latino]] case sensitive | (a–z, A–Z) || 52 ||
|-
| align=left|[[Alfanumerico]] case sensitive (a–z, A–Z, 0–9) || 62 ||
|-
| align=left|[[ASCII]] tranne spazio || 94 ||
|-
| align=left|[[ASCII]] || 95 ||
|-
| align=left|[[ASCII esteso]] || 218 ||
|-
| align=left|[[Sistema numerico binario|Codice binario]] (0–255 o 8 [[bit]] o 1 [[byte]]) || 256 ||
|}
Line 84 ⟶ 83:
<math>S = E / \log_2 L </math>
Il risultato di tale formula viene arrotondato per eccesso fino al numero intero.
{| class="wikitable" style="text-align: right;"
|+ Numero dei caratteri che si possono utilizzare per avere <math>x</math> bit di entropia
! Entropia password
|-
| 8 bit (1 byte) || 3 || 2 || 2 || 2 || 2 || 2 || 2 || 2
Riga 114:
===Password generate a mano===
Solitamente le persone tendono a generare password con un basso livello di entropia. Secondo uno studio effettuato da Microsoft nel 2007 su mezzo milione di utenti, la media del livello di sicurezza utilizzato nel web è 40,54 bit di entropia.<ref name=Microsfot>{{Cita news|url= https://www.microsoft.com/en-us/research/wp-content/uploads/2006/11/www2007.pdf |titolo= A Large-Scale Study of Web Password Habits |autore= Dinei Florencio|autore2=Cormac Herley |data= 2007}}</ref>▼
▲Secondo uno studio effettuato da Microsoft nel 2007 su mezzo milione di utenti, la media del livello di sicurezza utilizzato nel web è 40,54 bit di entropia.<ref name=Microsfot>{{Cita news|url= https://www.microsoft.com/en-us/research/wp-content/uploads/2006/11/www2007.pdf |titolo= A Large-Scale Study of Web Password Habits |autore= Dinei Florencio|autore2=Cormac Herley |data= 2007}}</ref>
Nel giugno del 2004 il [[National Institute of Standards and Technology
*
*
*
*
*
Seguendo questo schema, per esempio, una password di 8 caratteri senza maiuscole e senza caratteri non alfabetici è stimata intorno ai 18 bit.
Nel 2010 viene pubblicato un documento redatto da
by Attacking Large Sets of Revealed Passwords |autore= Matt Weir|autore2=Sudhir Aggarwal|autore3=Michael Collins|autore4=Henry Stern | pubblicazione= www.cs.umd.edu |p=University of Maryland |data= 2010}}</ref>
==Memorizzare una password==
Un metodo di memorizzazione efficace e facile da ricordare è quello mnemonico, ovvero
==Violare una password==
{{vedi anche|Password cracking}}
===Tipologie di attacchi===
Esistono in linea generale tre tipi di attacchi per riuscire a violare una password: l'[[attacco a dizionario]], che si basa sul confronto della password da violare con una lista di parole comuni
===La potenza di un attacco di forza bruta===
La potenza di un
<math>
Dove:
Ad esempio, se utilizziamo come set di 26 caratteri e una stringa di lunghezza 10, avremo:
<math> chiavi diverse. === Tempi necessari per attacco di forza bruta ===
Le tempistiche di un attacco variano a seconda di alcuni fattori: la potenza della password, la velocità di calcolo (<math>V</math>), ovvero il numero di password che un [[calcolatore]] riesce a generare in un secondo e il numero dei calcolatori utilizzati per fare un attacco (<math>N</math>). La formula è:<ref name=lastbit>{{Cita news|url= http://lastbit.com/password-recovery-methods.asp#Brute%20Force%20Attack |titolo= Password Recovery Methods, Brute-Force Attack }}</ref>
{{chiarire|<math>
La tabella seguente mostra il tempo necessario per l'attacco di forza bruta in base alla lunghezza della password, al set di caratteri utilizzato e all’utilizzo di un solo calcolatore con la velocità di
{| class="wikitable" style="text-align: left;"
|+ Numero dei caratteri che si possono utilizzare per avere <math>x</math> bit di entropia
! Lunghezza della password || [[Maiuscolo]] || [[Minuscolo]] e [[cifre]] || [[Maiuscolo]] e [[minuscolo]] || Tutto [[ASCII]]
|-
| <
|-
| 5 || immediato || 2 minuti || 12 minuti || 4 ore
Line 165 ⟶ 166:
| 8 || 4 giorni || 65 giorni || 3 anni || 463 anni
|-
| 9|| 4 mesi || 6 anni || 178 anni || {{formatnum:444530}} anni
|}
Attualmente alcune piattaforme online hanno adottato metodi contro l'attacco di forza bruta cercando di aumentare i tempi di ricerca delle password implementando soluzioni come:
*
*
*
*
=== One-time password ===
|