Skip to navigation
Logo Penaz's Area

cat /dev/random > penaz

Passwords più sicure, ecco come


Vediamo come rendere più sicure le nostre passwords con alcuni semplici accorgimenti.

Buongiorno a tutti, quello della sicurezza informatica è un tema complesso e preoccupante; su internet i nostri dati sono sempre in pericolo, è per questo che sono state inventate le passwords, delle parole d'ordine che consentono l'accesso ad una risorsa solo a coloro i quali conoscono la giusta parola d'ordine.

Ciò che non tutti sanno è che esistono diversi tipi di attacchi che consentono a persone non autorizzate di accedere a tali risorse, mettendo a rischio la nostra privacy; vediamo come migliorare la robustezza delle nostre passwords e rendere più difficile la vita ai pirati informatici.

Non usare parole singole

Infatti le parole singole sono molto suscettibili ad un cosiddetto "attacco dizionario", supponendo che esistano 1.000.000 di parole italiane ed una velocità media di 1500 password al secondo (velocità tutt'altro che sovrastimata) la password verrebbe craccata in circa 12 minuti; il tempo di un caffè.

Usare una passphrase

Invece di una password è possibile usare una frase che ci permetta l'accesso, una cosa del tipo:

questaèlamiapasswordenessunolacraccheràmai

è semplice da ricordare ed è più robusta ad un attacco dizionario, infatti questa passphrase è composta da 10 parole e (con le stesse supposizioni del punto precedente) richiede 1.000.000^10 tentativi per essere craccata, il che allunga il tempo a 2.11*10^49 anni... Almeno....

1337 (Leet)

Derivata inizialmente da errori di battitura nel famoso circuito di Chat IRC, il linguaggio leet fa al caso nostro per complicare la vita ai più niubbi fra i pirati informatici, infatti prendendo una parola qualsiasi e applicandoci il linguaggio leet è possibile allungare di molto il tempo di cracking, per esempio la parola

Lampone

diventerebbe

L4mp0n3

Il che ci mette al riparo dagli attacchi dizionario meno smaliziati ( Attenzione: alcuni dizionari includono anche le parole in linguaggio leet ) e costringe il tanto odiato pirata informatico ad usare un attacco di brute force vero e proprio e dovendo usare un alfabeto di 26 lettere maiuscole + 26 minuscole + 10 cifre i tentativi necessari per craccare una password del genere ammontano a più di 3500 miliardi, richiedendo circa 74 anni...

Se vogliamo complicare le cose possiamo sostituire dei caratteri con gruppi di simboli che ne ricordano la forma, come per esempio:

L4|\/|p0|\|3

in cui abbiamo usato la barra verticale, forward slash e backslash. Questo costringerà il nostro caro cracker ad estendere ulteriormente il suo alfabeto aggiungendo simboli più o meno comuni, supponendo che vengano aggiunti altri 15 simboli al nostro "alfabeto" saranno necessari almeno 918 milioni di anni...

Combinare le strategie

Combinando le strategie precedenti è possibile blindare la propria password oltre i limiti dell'immaginabile.

Una password come

questaèlamiapasswordenessunolacraccheràmai

Ed opportunamente convertita in

Q|_|3574èl4|\/|14p455\/\/0rd3|\|355|_||\|0l4cr4cc|-|3rà|\/|41

Lunga 61 caratteri e praticamente invulnerabile agli attacchi dizionario necessiterà di almeno 2.5*10^104 anni... Penso proprio che il nostro caro pirata informatico si stancherà un po' prima...

Usate le iniziali di una frase

Un altro modo per ricordare facilmente una password è quello di usare le iniziali di una frase, per esempio:

Il 5 Maggio è il mio compleanno, tanti auguri a me!

Diventerebbe:

I5Mèimc,taam!

Ecco a voi una password completamente casuale per chi non conosce il ragionamento che ci sta dietro, con una buona combinazione di lettere maiuscole, minuscole, simboli e numeri.

Usare una password completamente casuale

Se pecchiamo di fantasia è possibile fare in modo che il computer possa generare per noi una password in maniera pseudocasuale, se avete un minimo di esperienza in un qualsivoglia linguaggio di programmazione potete creare il vostro personalissimo generatore di password, questo è un piccolo esempio in Python 3:

#!/usr/bin/env python3
#Costruzione della lista di caratteri
import random
l=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
a=[]
for ch in l:
    a.append(ch.upper())
l+=a
del a
l+=[",",".","!","-","_"]
for i in range(10):
    l+=str(i)
#Inizio Programma
n=int(input("Di quanti caratteri? "))
m=int(input("Quante password generare? "))
for i in range(m+1):
    pwd=""
    for j in range(n+1):
        pwd+=str(random.choice(l))
    print(pwd)

Attenzione: questo script non è crittograficamente sicuro, dato il seed, è possibile riprodurre le varie password generate

Oppure usare un generatore di password come PWGen

Usare un password manager

Se avete la memoria corta oppure avete un sacco di password di cui tenere traccia potrebbe essere utile un metodo per averle tutte sotto mano, potrebbe essere un file di testo criptato con VIM ( come in questo articolo ) ma se volete veramente uno strumento adatto a gestire molte password comodamente dovete usare un password manager, ne esistono molti di gratuiti come KeePass oppure KWalletManager se usate KDE che vi danno la sicurezza della crittografia e la comodità del login con un click. L'unica cosa che dovete fare è creare una password robusta che userete come chiave d'accesso per proteggere tutte le altre password memorizzate dal manager. Tutto qui.

Questo è quanto. Aggiornerò l'articolo ogniqualvolta troverò o inventerò nuovi metodi per rendere più sicura la nostra vita informatica.

Saluti e alla prossima!

Penaz.