***
Criptare *** |
Nozioni
di base |
Che
cos’è la crittografia
Con
il termine crittografia si intende un insieme di operazioni volto a rendere una
data informazione del tutto incomprensibile ad occhi
indiscreti.
Fino
a non molto tempo fa l’arte della crittografia era accessibile
esclusivamente alle strutture militari (scambio di messaggi
in codice per evitare che il nemico, intercettandoli,
li utilizzasse a suo vantaggio), mentre fortunatamente
oggigiorno esistono i personal computer che, con la
loro sempre maggiore capacità di elaborazione, rendono
accessibili a chiunque tecniche crittografiche caratterizzate
da un ottimo livello di sicurezza.
I
protagonisti del processo di crittografia sono:
·
Il
messaggio,
cioè l’informazione che si vuole proteggere da sguardi
indiscreti;
·
l’algoritmo,
ovvero la legge (i più matematici direbbero “l’applicazione
biunivoca”) che al messaggio
in chiaro (leggibile da chiunque) fa corrispondere
il messaggio
cifrato (leggibile
solo dal destinatario);
·
la
chiave di lettura
del messaggio, ovvero il mezzo che ci permette di
passare dal messaggio cifrato al messaggio in chiaro
tramite l’algoritmo;
·
la
chiave di scrittura
del messaggio, ovvero il mezzo che ci permette di
passare dal messaggio in chiaro al messaggio cifrato
tramite l’algoritmo (normalmente la chiave di scrittura
e quella di lettura sono una l’inversa dell’altra; in
alternativa, si può utilizzare la stessa chiave per
scrivere e leggere il messaggio, invertendo però l’algoritmo).
Facciamo
un banale esempio, sia dato il messaggio:
“IL
NEMICO ATTACCHERA’ STASERA”
e
supponiamo di volerlo trasmettere via radio alle nostre
truppe ammassate sul confine (gli esempi di tipo militare
si sprecano nella letteratura dedicata alla crittografia).
Scegliamo
come algoritmo la semplice sostituzione lettera per
lettera, e stabiliamo che la chiave di scrittura sia
“sostituire ad ogni lettera del messaggio in chiaro
quella successiva dell’alfabeto occidentale”; otterremo
il seguente messaggio cifrato:
“JM
OFNJDP BUUBDDIFSB’ TUBTFSB”
che,
preso così com’è, risulta incomprensibile a chiunque.
La
chiave di lettura, in questo caso, è naturalmente “sostituire
ad ogni lettera del messaggio cifrato quella precedente
dell’alfabeto occidentale”: le nostre truppe avranno
già la chiave di lettura (avremo provveduto a darla
loro prima di mandarli al confine), quindi decifreranno
correttamente il messaggio, mentre il nemico inizialmente
non capirà nulla riguardo al contenuto del messaggio.
Ma
ogni struttura militare che si rispetti ha un “reparto
cifra”, cioè ha i suoi esperti nella decodifica dei
messaggi cifrati, pertanto questo banale sistema di
cifratura verrebbe risolto in pochi minuti; fortunatamente
però oggi esistono degli algoritmi di cifratura veramente
molto complicati, tanto che una volta scelta la chiave
e cifrato il messaggio, al nemico occorrerebbero anni
di duro lavoro per riuscire a decifrarlo.
Appare
anche chiaro che, una volta capito il meccanismo, nel
nostro esempio il nemico otterrebbe automaticamente
la chiave, e quindi sarebbe in grado di decifrare tutti
gli eventuali messaggi che successivamente inviassimo
alle nostre truppe senza alcuno sforzo.
La
sostituzione usata nell’esempio non è che il più banale
degli algoritmi, ed un esperto riuscirebbe a risolvere
il problema (in gergo, riuscirebbe a craccare
l’algoritmo) in un tempo brevissimo; proviamo invece
ad usare un comune programma di crittografia per PC,
che si chiama PGP ed è attualmente molto in voga, ed
usiamo la chiave di scrittura/lettura:
“OSIRIS”
(l’algoritmo
usato dal PGP è ben più complicato di quello di sostituzione,
e permette di usare come chiavi di scrittura/lettura
intere parole o frasi, che possiamo scegliere a nostro
piacimento).
Ebbene,
il nostro messaggio crittato col PGP rispetto alla chiave
di lettura OSIRIS darà come risultato la frase:
qANQR1DDBAQDAAHJMnfkZJM97gVjR3OS/ek2Hq+UkroOCEeuGPfKTCM1/
trTsEoN
Zk6+5lFqdVfuO7QIsESW
=8PL2
Non
è che si capisca molto, vero? Il PGP ha infatti trasformato
il messaggio originale in questa serie di lettere e
numeri apparentemente senza senso (si noti come il cifrato
contenga molti più caratteri del messaggio originale,
per vari motivi che non staremo a spiegare qui), e non
sarà affatto semplice per il nemico riottenere il messaggio
originale!
Tecniche
di attacco ad un messaggio crittografato
E’
evidente che il nemico, d’ora in poi chiamato attaccante,
non si darà per vinto senza combattere: una volta che
avrà intercettato lo strano messaggio, comincerà a guardarlo,
a rigirarlo, a cercare di capire come poterlo decifrare.
Mentre
nel primo esempio, volutamente banale, l’attaccante
può facilmente arrivare alla soluzione semplicemente
leggendo e rileggendo il cifrato, nel secondo esempio
avrà una vita ben più grama: ammesso che sia a conoscenza
del fatto che noi abbiamo utilizzato il PGP per cifrare
il messaggio (ed è buona norma che questo noi non
glielo facciamo sapere, per non dargli un punto di partenza
nel suo lavoro di cracking),
lui dovrà comunque procedere per tentativi.
Infatti,
supponendo che l’attaccante abbia sia il messaggio che
il programma PGP, gli toccherà “provare” tutte le chiavi
che gli vengono in mente: solo quando inserirà la parola
“OSIRIS” (se mai gli verrà in mente di provarla) magicamente
gli apparirà il testo del messaggio originale.
Un
algoritmo di cifratura viene detto forte
quando, pur conoscendolo alla perfezione (nel nostro
caso, essendo entrati in possesso del programma PGP),
non è assolutamente possibile decifrare tramite esso
il messaggio se non si possiede la chiave di lettura.
Nel
primo esempio, invece, si è volutamente utilizzato un
algoritmo di cifratura debole (la sostituzione): gli algoritmi deboli hanno il vantaggio
di essere semplici da utilizzare, ma hanno anche lo
svantaggio di poter essere risolti (seppur dopo molti
tentativi… quello utilizzato nell’esempio era di tipo
puramente didattico) senza aver bisogno della chiave
di lettura.
Trovare
la chiave giusta quando si ha a che fare con un algoritmo
di cifratura forte è un lavoro veramente ingrato, visto
che si procede provando tutte le chiavi possibili, tant’è
vero che questo lavoro viene normalmente svolto da potenti
calcolatori, i quali tenteranno tutte le combinazioni
possibili di lettere e numeri finché non trovano quella
“vincente”.
Nel
nostro caso, l’attaccante darà in pasto al suo computer
il messaggio cifrato, ed il computer (mediante programmi
appositamente creati allo scopo) comincerà a provare
le seguenti possibilità:
A
B C D… Z
Cioè
proverà ad una ad una tutte le singole lettere dell’alfabeto;
fatto questo, passerà alle coppie:
AA
AB AC… AZ
BA
BB BC… BZ
CA
CB CC… CZ
………………….
ZA
ZB ZC… ZZ
E
così via di seguito con le triplette:
AAA
AAB AAC… AAZ
ABA
ABB ABC… ABZ
…………………………
ZZA
ZZB ZZC… ZZZ
Eccetera
eccetera… fino ad arrivare, dopo un tempo dipendente
dalla velocità del computer in uso, alla parola “OSIRIS”,
che magicamente decodificherà il messaggio.
Ovviamente
questo processo verrà svolto dal computer dell’attaccante
ad una velocità impensabile per la mente umana, ma il
computer sarà stato programmato dall’attaccante stesso
in modo da riconoscere le frasi che abbiano un senso
in lingua italiana (o inglese, o quel che volete), scartando
le altre; in altre parole, il computer fermerà la sua
ricerca solo quando otterrà una frase che abbia senso
(nel nostro caso “IL NEMICO ATTACCHERA’ STASERA”), mentre
fino ad allora farà tentativi su tentativi alla massima
velocità di cui è capace.
Difendere
i dati custoditi nel proprio PC con DiskLock
Nulla
ci vieta di considerare come “messaggio” l’intero
contenuto del nostro hard disk: se crittiamo tale
contenuto, utilizzando un algoritmo di crittografia
forte ed una chiave di scrittura/lettura sufficientemente
affidabile e segreta (vedremo più avanti come e
perché scegliere una chiave adatta), l’eventuale attaccante
non potrà accedere ai dati custoditi nel nostro PC,
che risulteranno globalmente e definitivamente al sicuro!
DiskLock
fa proprio questo: in una prima fase, quella di installazione,
procede alla cifratura di tutto l’hard disk del nostro
computer rispetto ad una chiave (che d’ora in poi chiameremo
password);
successivamente, ad ogni accensione del PC ci verrà
richiesta questa password, senza la quale il PC non
potrà funzionare (o, per meglio dire, non potrà in alcun
modo accedere all’hard disk perché questo è interamente
crittato).
Una
volta digitata correttamente la password, il nostro
PC funzionerà normalmente perché DiskLock, in maniera
completamente automatica e trasparente, si prenderà
la briga di decrittare i soli dati dell’hard disk che
stiamo usando, mentre li stiamo usando: questo
è estremamente importante in quanto, anche nel caso
andasse via la corrente interrompendoci mentre stavamo
lavorando al PC, ad una successiva riaccensione ci ritroveremmo
comunque con l’intero hard disk crittato.
Nel
caso improbabile che l’attaccante, armi alla mano, facesse
irruzione in casa nostra ordinandoci di allontanarci
immediatamente dal PC e di consegnarglielo, noi non
dovremo far altro che spegnerlo di brutto (senza curarci
di arrestare il sistema, ovviamente): se l’attaccante
porterà via il nostro PC, ad una successiva riaccensione
avrà l’amara sorpresa di non poter accedere ai dati
che credeva di averci carpito con l’uso della forza.
Può
anche accadere che l’attaccante, sempre armi alla mano,
ci impedisca di spegnere il PC: in tal caso potrà vedere
i nostri dati e, tutto soddisfatto per il lavoro svolto,
deciderà di portarselo via…ma dovrà pur spegnerlo per
poterlo trasportare (se il PC è di tipo fisso la cosa
è ovvia, ma anche trattandosi di un portatile la batteria
avrà un’autonomia limitata); ebbene, alla successiva
riaccensione l’attaccante avrà l’amara sorpresa di non
poter accedere all’hard disk, e di non sapere nemmeno
il perché (DiskLock infatti, all’avvio del PC, congela
il sistema in attesa che noi digitiamo la password giusta,
ma non ce la chiede esplicitamente, facendo credere
all’ignaro attaccante che il PC sia rimasto inspiegabilmente
bloccato).
Se
invece il nemico usasse l’astuzia ed accendesse il nostro
PC nottetempo, dovrebbe conoscere la password giusta,
altrimenti nulla da fare: non riuscirà nemmeno a vedere
la schermata iniziale di Windows, perché senza la password
il nostro hard disk sarà pieno di bytes assolutamente
indecifrabili (ed anche in questo caso sembrerà che
il PC sia rimasto bloccato: lo ripetiamo, DiskLock non
richiede esplicitamente la password all’avvio del sistema).
Suggerimenti
utili (valgono per DiskLock, ma si adattano bene a qualsiasi
programma di crittografia)
·
La
scelta della password va fatta con accuratezza:
sarebbe veramente stupido scegliere come password il
nome della propria moglie/fidanzata, dei propri figli,
oppure la propria data di nascita, oppure ancora il
proprio codice fiscale, o comunque qualsiasi parola/numero
che ci riguardi o che sia riconducibile a noi. Ipotizzando
infatti che l’attaccante già conosca DiskLock, per prima
cosa proverà tutte quelle password fatte da parole/cifre
riconducibili a noi, per cui se vi chiamate Mario Rossi,
vostra moglie si chiama Martina e vostro figlio si chiama
Nicola, per favore evitate assolutamente di utilizzare
password del tipo “Mario”, “Martina”, “Nicola” (lo stesso
vale per le rispettive date di nascita, per l’anniversario
di matrimonio, per il nome del vostro cane eccetera).
In caso contrario, gli anni necessari a provare tutte
le password possibili fino a trovare quella giusta si
trasformerebbero tragicamente in pochi minuti di lavoro
da parte dell’attaccante. Una buona password potrebbe
essere ad esempio fG8bW47j55Kz3Y
(nient’altro che un gruppo di lettere, sia maiuscole
che minuscole, e numeri senza alcun senso logico: li
abbiamo scritti così come ci sono venuti in mente)…ma
voi non dovrete usarla semplicemente per il fatto che
l’abbiamo scritta su questo manuale, quindi l’attaccante,
sperando nella vostra ingenuità, la proverebbe sicuramente.
E diffidate anche di tutte quelle parole/nomi che abbiano
un senso compiuto nella lingua italiana e/o inglese:
questo perché l’attaccante, dopo aver esaurito tutte
le parole/numeri che possono riguardarvi, proverà immediatamente
ad usare tutti i termini contenuti in un normale vocabolario
della lingua italiana (o inglese). Infatti i programmi
creati per “trovare” le password, molto utilizzati dai
crackers
(cioè dagli specialisti del settore impegnati nella
decodifica di messaggi cifrati) hanno già nel loro interno
un ricco vocabolario delle lingue più diffuse, che contiene
qualche centinaio di migliaia di parole: verranno prima
provate tutte queste parole, dopodiché il programma
“trovapassword” passerà alle stringhe di caratteri senza
alcun senso logico. Quindi, se vi chiamate Mario Rossi,
non solo saranno vietate password come “Mario”, “Rossi”,
“Martina”, “Nicola” (che saranno tutte provate a mano
dall’attaccante), ma saranno vietate anche password
come “Luca” (sebbene nessun vostro familiare/amico si
chiami Luca), e saranno altresì vietate password come
“nuotare” (perché è un verbo della lingua italiana,
quindi verrà provato subito dal programma “trovapassword”);
ancora, saranno vietate password come “precipitevolissimevolmente”
(questa parola, pur non appartenendo propriamente alla
lingua italiana, viene spesso usata come esempio in
quanto molto lunga). Prima di arrivare ad “fG8bW47j55Kz3Y”,
invece, il programma “trovapassword” ne avrebbe di tentativi
da fare (lo vedremo più avanti in dettaglio).
·
La
custodia della password è altrettanto importante:
scegliere una parola impossibile da pronunciare (e da
immaginare) come “fG8bW47j55Kz3Y”, e poi tenerla scritta
su un post-it attaccato al monitor del proprio PC non
è evidentemente una buona idea. Le password andrebbero
imparate a memoria, questa è la verità (ed è anche
l’unico modo per non trovarsi con le pive nel sacco
in caso di perquisizioni/furti/intrusioni telematiche
ai danni del proprio PC); siccome però una buona password
è veramente difficile da ricordare, almeno per le prime
volte, potrete sempre scriverla su un foglietto da custodire
gelosamente nel vostro portafogli, avendo naturalmente
cura di distruggere il foglietto non appena vi accorgerete
di non averne più bisogno per ricordare la password!
·
ATTENZIONE! ATTENZIONE! ATTENZIONE!
Questo vale sia per DiskLock che per qualsiasi buon
programma di crittografia, quindi imprimetevelo a fuoco
in mente: qualora doveste dimenticare la password,
non potrete più accedere ai vostri dati! Nemmeno gli
autori di DiskLock possono aiutarvi in tal senso, in
quanto nemmeno loro possono accedere al vostro hard
disk senza la password! Questo perché non esiste alcun
modo per farlo! Dovesse capitarvi di smarrire la
password, non vi resta altro da fare che rassegnarvi
alla perdita di tutti i dati che si trovavano nel vostro
PC, formattare l’hard disk e reinstallare Windows. Ma,
naturalmente, questo fatto testimonia la potenza di
DiskLock: l’attaccante, senza password, non potrà conoscere
il contenuto del vostro hard disk neanche nei suoi sogni
più proibiti, non importa quanto bravo egli sia dal
punto di vista informatico…semplicemente, lo ripetiamo,
non esiste modo per farlo!
·
Custodire
il dischetto contenente DiskLock in un luogo sicuro
non sarebbe, di per sé, una precauzione necessaria:
pur entrando in possesso del programma, l’attaccante
potrebbe fare ben poco senza la password. Ma è bene
tenere tale dischetto (ed il manuale che state leggendo)
lontano dal PC da proteggere (e lontano dall’ufficio/camera
che ospita tale PC) semplicemente perché in tal modo
l’attaccante non sospetterà nemmeno il fatto che DiskLock
è installato e attivo sul vostro computer. In caso contrario,
voi dovreste sicuramente patire le minacce dell’attaccante
determinato, che potrebbe tentare di estorcervi la password
con la forza…ma vogliamo qui ricordare, incidentalmente,
che un vuoto di memoria non costituisce reato, e che
quindi non siete perseguibili se proprio non riuscite
a ricordare la vostra complicatissima password. Se invece
l’attaccante nemmeno sospetta l’esistenza di DiskLock,
quando riavvierà il vostro PC e lo vedrà “congelato”,
con tutta probabilità penserà di avergli procurato un
guasto (ed a questo punto avreste tutto il diritto di
chiedergli i danni per avervi fatto perdere il vostro
lavoro)!
DiskLock ed alcune
problematiche di crittografia visti più in dettaglio
La
password alfanumerica che sceglierete per proteggere
i vostri dati tramite DiskLock viene in realtà utilizzata
dal programma per crearne un’altra, di tipo binario,
che ha una lunghezza fissa di 128 bit e che non è visibile
all’utente: questo perché si è visto che il complesso
algoritmo utilizzato da DiskLock per effettuare la cifratura/decifratura
dei dati mentre questi vengono letti/scritti su hard
disk (o, come si dice in gergo, on
the fly) risulta molto veloce, sicuro ed efficiente
se viene utilizzata una chiave binaria da 128 bit.
Ma
la password che noi immettiamo sarà generalmente composta
da caratteri maiuscoli e minuscoli dell’alfabeto, nonché
dalle cifre comprese tra 0 e 9: quanto tempo ci metterà
l’attaccante a trovare la nostra password, ammesso che
abbia il tempo e la voglia di cercarla seriamente mediante
un programma “trovapassword”?
Tutto
dipende dalla velocità del computer usato dall’attaccante,
naturalmente: negli esempi che seguiranno, supporremo
che tale computer (detto in gergo cracking machine, in quanto viene utilizzato esclusivamente per decifrare
messaggi cifrati) possa provare e controllare un milione
di chiavi al secondo, realizzando un attacco che in
gergo viene definito brute
force attack.
Supponiamo
dapprima di lavorare soltanto in sistema binario, cioè
con soli 0 ed 1 (insomma, nel modo in cui pensa e lavora
qualsiasi computer), avremo i seguenti casi:
·
Chiave ad 1 bit, cioè una singola cifra binaria:
le possibilità sono 0 o 1, cioè soltanto 2, e la cracking
machine in questo caso decifrerà il messaggio in appena
2 milionesimi di secondo, nel caso peggiore. Questo
è ovvio, perché la cracking machine proverà dapprima
il valore 0 e poi, se non era quello giusto, proverà
il solo altro valore possibile. In altre parole, una
chiave ad 1 bit permette solo 2^1 = 2 combinazioni.
·
Chiave a 2 bit, cioè una chiave fatta accostando
due cifre binarie: i valori possibili sono adesso 4,
ovvero 00, 01, 10, 11. Male che vada, la cracking machine
troverà la chiave giusta in 4 tentativi, cioè in 4 milionesimi
di secondo (evidentemente una chiave a 2 bit non è molto
sicura). In altre parole, una chiave a 2 bit permette
2^2 = 4 combinazioni.
·
Chiave
a 16 bit, cioè una chiave fatta accostando 16 cifre
binarie: i valori possibili sono adesso 2^16 = 65536,
e male che vada la cracking machine troverà la chiave
giusta in 65536 tentativi, ovvero in 65536 milionesimi
di secondo, ovvero ancora in poco più di 65 millisecondi…ancora
troppo poco. A titolo di esempio, una chiave a 16 bit
(buttata lì a caso) potrebbe essere 1011010001101011.
·
Chiave
a 40 bit, cioè una chiave fatta accostando 40 cifre
binarie: i valori possibili sono adesso 2^40 = cioè
circa 1.1*10^9, leggasi 1100 miliardi. Male che vada,
la cracking machine ci metterà adesso poco meno di 13
giorni per trovare la chiave giusta; una chiave a 40
bit è fatta così (ovviamente ne indichiamo una a caso):
0110010100011110001001110101110010000010. Incidentalmente,
sembra che il sistema GSM attualmente utilizzato per
la telefonia cellulare utilizzi un algoritmo di crittazione,
denominato A5, che utilizza proprio una chiave a 40
bit; appare inoltre evidente dagli esempi fatti che
il tempo necessario alla cracking machine per decrittare
il messaggio aumenta esponenzialmente con le
dimensioni della chiave da forzare. Quanto appena detto
significa che un malintenzionato potrebbe decifrare
una nostra conversazione telefonica via GSM (dopo averla
registrata) in alcuni giorni di lavoro, ed in genere
questo viene considerato abbastanza soddisfacente in
termini di sicurezza, perché dopo 13 giorni l’informazione
contenuta in una convenzionale telefonata tra uomini
d’affari può esser tranquillamente considerata “vecchia”…
ciò non vale evidentemente per le Forze dell’Ordine,
che non hanno alcun bisogno di craccare la chiave A5
della nostra utenza GSM (andranno invece dal nostro
Gestore telefonico con un mandato ed ascolteranno tranquillamente
la nostra conversazione, in chiaro naturalmente).
·
Chiave
a 128 bit: è quella utilizzata dal DiskLock, le combinazioni
possibili sono 2^128, la cracking machine dell’esempio
potrebbe metterci (male che vada) circa 11*10^24 anni
prima di arrivare alla soluzione. Si noti che 11*10^24
anni vuol dire 11000000000000000000000000 anni!
E’
ovvio che si potrebbe disporre di cracking machines
migliaia volte più potenti di quella ipotizzata (ad
esempio facendone lavorare molte in parallelo), ma considerata
l’enormità del numero, ci vorrebbero comunque milioni
di anni per provare tutte le combinazioni offerte da
una chiave a 128 bit.
Ma
allora perché abbiamo inserito la sibillina frase “male
che vada” in tutti gli esempi appena esposti? E’ presto
detto:
·
Supponiamo
che l’attaccante sia Paolino Paperino, il simpatico
quanto eternamente sfortunato personaggio di Walt Disney:
ebbene, Paperino dovrà aspettare che la sua cracking
machine abbia provato TUTTE le combinazioni possibili
con una chiave da 128 bit; considerando la sua solita
sfortuna, possiamo esser certi che la chiave giusta
sarà l’ultima provata dalla cracking machine, e quindi
Paperino si dovrà sciroppare 11000000000000000000000000
anni di attesa.
·
Supponiamo
adesso che l’attaccante sia Gastone Fortunato, l’odiosissimo
cugino di Paperino, sempre baciato dalla fortuna: ebbene,
proprio confidando nella sua solita fortuna, Gastone
avvierà la cracking machine che azzeccherà per lui la
chiave giusta al primo tentativo, cioè dopo appena un
milionesimo di secondo! O, il che è lo stesso, farà
a meno della cracking machine ed introdurrà lui stesso,
a mano, 128 cifre binarie scelte a caso, naturalmente
azzeccando la chiave giusta al primo tentativo.
In
realtà nessun sistema di crittografia può essere considerato
totalmente sicuro, per quel che abbiamo appena detto;
tuttavia noi comuni mortali, pur non essendo sfortunati
come Paperino, non saremo nemmeno fortunati come Gastone,
quindi se la password sarà stata scelta, lo ripetiamo
ancora una volta, con cura (cioè evitando parole
note), occorreranno mediamente milioni di anni all’attaccante
prima di avere la meglio sul DiskLock… e questo supponendo
che l’attaccante sia un bravissimo programmatore, un
capace cracker, dotato di computer molto potenti e capace
di scrivere un programma “cercapassword” in grado di
interagire col DiskLock.
Prima
abbiamo detto che DiskLock utilizza un complesso algoritmo
per ottenere una chiave binaria a 128 bit partendo da
una password inserita dall’utente, ma è necessario essere
più precisi in merito, come al solito utilizzando alcuni
esempi:
·
Supponiamo
che l’utente scelga la password a,
cioè una password composta da una sola lettera: da questa
DiskLock ricaverà la sua chiave a 128 bit, e con questa
critterà l’hard disk. Naturalmente all’attaccante non
interesserà assolutamente conoscere i 128 bit, in quanto
gli servirà soltanto inserire la password a
per poter accedere all’hard disk. Notiamo come le lettere
dell’alfabeto siano 26 (minuscole), alle quali possiamo
aggiungere altre 26 lettere (le maiuscole) e 10 numeri
(dallo 0 al 9), per un totale di 26+26+10 = 62 combinazioni
possibili utilizzando una password composta da un solo
carattere. Ma il DiskLock permette di usare password
composte non soltanto da lettere maiuscole, lettere
minuscole e numeri, ma anche da qualsivoglia carattere
ASCII (una potenzialità, questa, che aumenta enormemente
il livello di sicurezza, ma che crediamo verrà utilizzata
solo dagli utenti più esperti), per un totale di ben
256 combinazioni! Siccome la cracking machine di cui
sopra farà i suoi tentativi sulla password inserita
dall’utente, in realtà arriverà alla soluzione in 62
microsecondi al massimo se ricerca soltanto password
composte da lettere minuscole, lettere maiuscole e numeri
(come è solitamente il caso), mentre potrà impiegare
fino a 256 microsecondi se estende la ricerca a tutti
i possibili caratteri ASCII.
·
Se utilizziamo una password di 3 caratteri, ad esempio
w3Y, le combinazioni
possibili saranno 62^3 = 238328 (se ci limitiamo a lettere
maiuscole, minuscole e numeri), e la cracking machine
troverà la soluzione giusta in un massimo di 0.24 secondi;
nel caso la ricerca venisse estesa a tutti i possibili
caratteri ASCII, avremmo 256^3 = 16777216 possibili
combinazioni, con un tempo massimo di elaborazione pari
a circa 17 secondi (e qui si comincia ad intravedere
il vantaggio di utilizzare tutti i caratteri ASCII,
invece delle solite lettere + numeri).
·
Man
mano che la lunghezza della password cresce, cresce
anche il tempo necessario a scoprirla: detto N il numero
di caratteri che compongono la password, saranno necessari
62^N microsecondi (nel caso si usino solo maiuscole,
minuscole e numeri) oppure 256^N microsecondi (nel caso
si usi l’intero dizionario ASCII) perché la cracking
machine trovi la soluzione giusta, e questo indipendentemente
dai 128 bit considerati inizialmente, almeno fintantoché
la password è “corta”.
·
Una password di 16 caratteri, ad esempio aT5wp63lz5Xchf34,
garantisce quasi 5*10^28 combinazioni differenti (se,
al solito, usiamo solo maiuscole, minuscole e numeri)
che, pur essendo un numero incredibilmente alto (leggasi:
miliardi di anni per venirne a capo), sono comunque
inferiori alle circa 3*10^38 garantite da una chiave
binaria a 128 bit, cioè quella generata dal DiskLock
partendo dalla password stessa. Nel caso invece utilizzassimo
una password sempre da 16 caratteri, ma utilizzassimo
tutto il dizionario (in gergo, charset) ASCII, otterremmo circa 3*10^38 combinazioni possibili, ovvero
avremmo le stesse identiche potenzialità offerte da
una chiave binaria a 128 bit (ed infatti 2^128 =
256^16). Quindi in realtà conviene scegliere una
password non solo casuale, ma anche lunga il più possibile
(e tanto più questa si avvicina ai fatidici 16 caratteri,
tanto meglio sarà: in questo modo infatti, ci si avvicina
alla sicurezza garantita dalla chiave a 128 bit generata
dal DiskLock).
·
Una password lunga 17 caratteri, invece (ad esempio
&T5$£63”z^Xch?3=e),
garantirebbe esattamente 256^17 combinazioni differenti,
cioè circa 9*10^40 possibilità: questo però è un numero
maggiore rispetto alle circa 3*10^38 combinazioni possibili
per una chiave binaria a 128 bit, quindi l’utente non
ne ricaverebbe alcun vantaggio rispetto ad una di “soli”
16 caratteri (si noti come stavolta abbiamo utilizzato
per la password, sempre a titolo di esempio, anche caratteri
ASCII diversi dai soliti numeri + lettere: il programma
li accetterà tranquillamente). DiskLock esegue in tal
caso un troncamento, scartando
tutti quei caratteri che eccedono il sedicesimo, in
modo da ottenere una chiave da 128 bit anche a partire
da password lunghe 17 o più caratteri: in parole povere,
per DiskLock la password
&T5$£63”z^Xch?3=e
è in tutto e per tutto uguale alla password &T5$£63”z^Xch?3=,
in quanto il diciassettesimo carattere verrà semplicemente
ignorato.
Consigli pratici
per l’uso di DiskLock
1.
Evitate,
per quanto possibile, di comunicare ad altri (colleghi
d’ufficio, conoscenti, eccetera) il fatto che il vostro
PC è protetto da DiskLock. E non tenete il dischetto
contenente DiskLock vicino al PC:
a cosa vi serve infatti tenerlo lì? Una volta installato,
DiskLock non ha bisogno del dischetto per funzionare…
meglio tenerlo a casa vostra, o comunque in un posto
sicuro e soprattutto lontano dal PC. Queste precauzioni
servono per non far capire all’attaccante che DiskLock
è attivo sul suddetto PC, il perché ve lo abbiamo già
spiegato.
2.
Non
comunicate mai ad altri, per nessun motivo, la password
scelta
per proteggere il vostro PC con DiskLock; se proprio
fosse necessario condividere la password (ad esempio
con dei colleghi di ufficio), si limiti almeno la sua
diffusione al numero di persone che debbono realmente
utilizzare il PC in nostra assenza. Vogliamo qui ricordare
che la password è necessaria unicamente all’accensione
del PC (o quando si riavvia Windows), quindi se pianifichiamo
di essere sempre presenti quando la macchina viene avviata,
è bene che siamo sempre noi ad inserire la password:
una volta fatto questo, i nostri eventuali dipendenti/colleghi
potranno tranquillamente utilizzare il PC pur ignorando
tale password.
3.
Il
comportamento di un PC protetto da DiskLock è in apparenza
molto simile a quello di un PC protetto da password
BIOS,
ma in realtà la differenza tra i due metodi di protezione
dei dati è enorme: mentre la password BIOS, oltre ad
essere esplicitamente richiesta all’avvio della macchina,
può essere facilmente aggirata (resettando la BIOS del
PC, operazione fattibile da chiunque abbia un minimo
di conoscenze hardware), e mentre il contenuto dell’hard
disk rimane in chiaro utilizzando la password BIOS,
con DiskLock non solo non è possibile aggirare la password,
ma senza di essa il contenuto dell’intero hard disk
resta crittato (e quindi non accessibile). Addirittura,
vogliamo consigliarvi un piccolo inganno del tutto
innocuo: fate credere ai vostri colleghi/dipendenti
più curiosi di aver attivato l’opzione “password BIOS”.
Solo un utente esperto potrà accorgersi della differenza,
mentre l’eventuale attaccante, anche se messo sull’avviso
dai soliti “bene informati”, crederà di poter facilmente
aggirare l’ostacolo resettando la BIOS (in tal caso,
naturalmente, lo aspetta una grossa delusione).
4.
Scegliete
una password composta da caratteri alfanumerici e non
solo (lettere maiuscole e minuscole, numeri, ed in più
qualsiasi simbolo ASCII vi venga in mente), il più possibile
casuali, e sceglietela lunga abbastanza:
l’ideale sarebbe 16 caratteri, ma anche se volete fare
i pigri non scendete mai sotto i 10 caratteri.
Con una password lunga 10 caratteri contenente soltanto
numeri + lettere (già sappiamo che molti di voi, in
barba alle raccomandazioni che stiamo ripetendo fino
alla nausea, opteranno per la soluzione “numeri + lettere”,
preferendo evitare gli altri caratteri ASCII), ipotizzando
la cracking machine vista nel precedente paragrafo,
ci vorrebbero circa 26000 anni per provare tutte le
62^10 combinazioni possibili; con 8 caratteri (sempre
numeri + lettere) sarebbero necessari poco meno di 7
anni (62^8 combinazioni possibili), con 5 caratteri
(sempre numeri + lettere) sarebbero invece sufficienti
15 minuti (soltanto 62^5 combinazioni possibili)! Insomma,
ricordate sempre che, pur essendo Gastone un personaggio
di pura fantasia, l’unica cosa che veramente
vi protegge dai colpi di fortuna dell’attaccante esperto
è una password lunga il più possibile.
5.
Non
scrivete mai la password su un file di testo contenuto
nell’hard disk del vostro PC, specialmente se questo
è connesso ad una rete:
nessuno vi assicura che la password in questione non
vi venga trafugata durante le scorribande telematiche
dell’hacker di turno nei meandri del vostro hard disk
(naturalmente a vostra insaputa). Sappiamo cosa state
pensando: “se la password la metto nel mio hard disk,
essa sarà protetta così come il resto del contenuto
dell’hard disk stesso”. Vero, ma (a) scrivere la password
in un file di testo del vostro PC non vi è di alcuna
utilità (se la dimenticate, non potrete accedere all’hard
disk… è come perdere le chiavi di casa, della copia
delle chiavi che si trovi dentro casa non ve ne farete
assolutamente nulla una volta chiusi fuori); inoltre
(b) il vostro hard disk è blindato finché il PC è spento,
mentre una volta inserita la password ed avviata la
sessione di Windows esso è vulnerabile alle intrusioni
informatiche e telematiche come qualsiasi altro PC.
Anzi, seguite il consiglio di chi con la telematica
ci ha a che fare ogni giorno: siccome il PC che volete
proteggere con DiskLock conterrà sicuramente delle informazioni
preziose e riservate, evitate nel modo più assoluto
di metterlo in rete, se volete che questa riservatezza
sia veramente garantita.
6.
Non
separatevi per nessun motivo dal foglietto che ospiterà
la vostra password finché non l’avrete imparata a memoria:
tenetelo nel portafogli, tenetelo addosso, tatuatevelo
su un braccio, fate quel che volete insomma, ma non
abbandonatelo sulla scrivania (o, peggio ancora, non
scrivetelo sul classico post-it da attaccare al monitor
del vostro PC). L’abbiamo visto fare tantissime volte,
ai privati come nei pubblici uffici: a che serve una
password che chiunque può leggere? Ed inoltre, non crederete
che l’attaccante vi avverta prima di farvi visita, giusto?
Magari piomberà sul vostro PC il giorno che siete assenti,
o mentre siete in pausa caffè… e se trova il post-it
con su scritta la vostra password appiccicato sul monitor,
a cosa vi sarà servito installare DiskLock?
7.
Non
appena imparata la vostra password a memoria, distruggete
il foglietto di cui al punto 6:
ovviamente, prima di fare una cosa così definitiva,
siate ben certi di ricordare la password perfettamente,
altrimenti potrete dire addio ai vostri dati! E tenete
presente che, se vi ci è voluto solo un giorno per impararla
a memoria, ciò potrebbe voler dire che avete la memoria
di un elefante… ma, molto più probabilmente, vuol dire
che questa password l’avete scelta troppo facile (magari
avete scelto un nome, molto più facile da ricordare
di una impronunziabile stringa ASCII), e quindi essa
si trova sicuramente nel dizionario di un qualsiasi
programma “cercapassword” appena decente. La cracking
machine degli esempi precedenti, infatti, prima
di avventurarsi nella ricerca di tutte le combinazioni
possibili per una password alfanumerica di lunghezza
sconosciuta, proverà tutte le parole contenute nel suo
(sicuramente ricco) dizionario: ne proverà un milione
al secondo, e considerando che le lingue più ricche
di vocaboli (come ad esempio l’italiano) hanno un vocabolario
di “appena” poche decine di migliaia di parole, ne deriva
fatalmente che, utilizzando come password una parola
della lingua italiana (o inglese, o francese), il vostro
hard disk verrà espugnato in molto meno di un secondo
da tale cracking machine (purché, ovviamente, essa sia
fatta funzionare da un cracker esperto… ma noi alla
SimplyTech, ve ne sarete accorti, consideriamo sempre
lo scenario peggiore).
Ecco,
si tratta di 7 consigli in tutto: seguiteli alla lettera,
e potrete dire di aver veramente messo al sicuro i dati
custoditi nel vostro hard disk, al di là di ogni ragionevole
dubbio.
|
|
|
DiskLock
[c] 2004 SimplyTech
|
|
|