vuoi
o PayPal
tutte le volte che vuoi
Oggi esistono dei sistemi che generano e utilizzano password usa e getta,
soprattutto per transizioni bancarie, sono sistemi one-time key(OTK) in
quanto la chiave puo’ essere usata una sola volta dato che ha una durata
breve(10-20 secondi)
La crittografia consente di:
- identificare un utente all’accesso alla rete o al singolo pc;
- autenticare un messaggio cioe’ accertarsi dell’identità dell’autore e
dell’integrità del messaggio ricevuto
- firmare digitalmente un messaggio, in modo da permettere la verifica
dell’autore
I sistemi crittografici contemporanei vengono classificati in:
- sistemi a chiave simmetrica(o privata): viene usata una sola chiave
- sistemi a chiave asimmetrica(o pubblica): dove ogni utente dispone
di 2 chiavi, una pubblica e una privata (le chiavi sono invertibili)
DES e’ un algoritmo simmetrico a chiave segreta di 64 bit ma dei quali 8 sono
di controllo e i restanti 56 bit di dati e tramite questa chiave prevede 16
trasformazioni
La crittografia su un computer lavora con byte codificati in ASCII, quindi con
128 caratteri di cui solo 96 sono i cosiddetti printable characters
Il DES e’ stato realizzato applicando i principi di Shannon:
- diffusione dei caratteri in tutto il crittogramma;
- confusione del messaggio con la chiave
Il testo in chiaro viene suddiviso in blocchi di 8 byte e scrivendo la codifica
ASCII, da ogni blocco si otterrà una stringa di 64 cifre binarie: a queste cifre
viene applicata una trasposizione di 56 bit alla chiave e
successivamente per 16 volte si applica una sostituzione dei bit, usando due
porzioni della chiave di 28 bit ciascuna delle quali viene ruotata a sinistra di un
certo numero di bit che dipende dal numero
di iterazione; come ultimo passaggio viene effettuata una trasposizione
inversa a quella iniziale
La decifratura avviene utilizzando la stessa chiave usata per la cifratura, solo
che i passaggi vengono effettuati nell’ordine inverso: e’ quindi un sistema
simmetrico dato che sia il mittente sia il destinatario devono conoscere la
stessa chiave segreta
Nel 1999 e’ stato introdotto il Triple DES, con 3 chiavi diverse e per un totale
di 168 bit: la maggior sicurezza rispetto al DES e’ proprio la lunghezza tripla
della chiave
Il sistema 3-DES offre 3 alternative:
1) Le 3 chiavi K1, K2 e K3 sono diverse e indipendenti;
2) 2 chiavi uguali K1=K3 e una diversa K2;
3) le 3 uguali K1=K2=K3
Nel 1991 nacque IDEA( International Data Encryption Algorithm) in
sostituzione del DES.
I 64 bit del messaggio vengono divisi in 4 gruppi di 16 e mischiati con 6 chiavi
di 16 estratte dalla chiave di 128 bit
- la chiave a 128 bit e’ divisa in 8 blocchi di 16 che costituiscono le prime
8 sottochiavi
- le cifre della chiave a 128 sono spostate di 25 bit a sinistra in modo da
generare una nuova combinazione, questo procedimento va avanti fino
a quando le 52 sottochiavi sono generate
Nel 1997 nasce AES, il quale prevede dei requisiti fondamentali:
- sicurezza: in questo caso la chiave ha dimensioni minime di 128 bit
- costo: dato che la richiesta del NIST fu quella di un algoritmo da poter
essere impiegato per un’ampia gamma di applicazioni
- caratteristiche dell’algoritmo e dell’implementazione: per questi
requisiti si richiedevano vari aspetti progettuali dell’algoritmo, tra cui la
leggibilita’, la semplicita’ di codifica, la flessibilita’ e versatilita’
Successivamente furono analizzati anche altri aspetti:
- Sicurezza generale: furono resi pubblici gli algoritmi
- Implementazioni software: fu valutata la velocita’ di esecuzione in
diverse piattaforme hardware e con diversi sistemi operativi
- Ambienti con spazio limitato: tra gli obiettivi c’era quello di poter
implementare ed eseguire l’algoritmo anche in situazioni di risorse
limitate
- Crittografia e decrittografia: analisi e comparazione delle risorse
richieste tra la fase di crittografia e quella decrittografia nel caso in cui i
2 algoritmi siano separati
- Agilita’ della chiave: intesa come la capacita’ e la rapidita’ per
effettuare il cambiamento della chiave;
- Versatilita’ e flessibilita’: possibilita’ di utilizzare blocchi e chiavi di
dimensioni diverse;
- Potenzialita’ di sfruttamento del parallelismo: capacita’ di sfruttare le
architetture parallele e quindi di poter avere esecuzione contemporanea
per migliorare l’efficienza del sistema
L’algoritmo AES ha 3 caratteristiche fondamentali:
- resistenza contro tutti gli attacchi;
- velocita’ e compattezza del codice su tante piattaforme;
- semplicita’
AES e’ formato da un blocco da 128 bit, ma puo’ avere chiavi indipendenti
l’una dall’altra con lunghezza variabile da 128, 192 o 256 bit, ed effettua una
combinazione di permutazioni e sostituzioni
La prima operazione eseguita dall’algoritmo è quella di prendere i 128 bit del
blocco (16 caratteri) e di disporli in una griglia di 4 × 4 byte: si procede
quindi con la codifica, che consiste fondamentalmente in un insieme di 10
fasi ciascuna composta da 4 trasformazioni (nel caso di chiavi a 128 bit)
Ci sono 4 operazioni che costituiscono ogni round:
Substitute Bytes: ogni byte viene trasformato tramite una permutazione non
lineare di byte
Shift Rows: le righe della matrice subiscono un semplice scorrimento di byte
nell’ array state, dove la prima riga rimane invariata, dalla seconda alla quarta
viene sempre eseguito uno scorrimento circolare a sinistra di uno, due e tre
byte
MixColumns: ogni colonna viene trasformata tramite una moltiplicazione
matriciale
Add Round Key: viene inserita la chiave segreta che rende il cifrario sicuro,
ogni byte viene combinato in XOR con la chiave da 128 bit
Gli algoritmi simmetrici presentano alcuni limiti, ad esempio nella crittografia
simmetrica le persone che devono comunicare devono essere in possesso
della stessa chiave e questo limita la diffusione e il suo utilizzo
Inoltre l’utilizzo della stessa chiave potrebbe favorire azioni di decrittaggio
La crittografia simmetrica a chiave privata non e’ il metodo crittografico ideale
per le comunicazioni e le transazioni su Internet
L’idea della crittografia asimmetrica e’ quella di avere 2 chiavi diverse, una
pubblica per la crittazione e una privata per la decrittazione, che deve essere
mantenuta segreta, ed in questo caso non e’ necessario lo scambio di chiavi
Con la crittografia asimmetrica:
- Si risolve il problema della riservatezza, crittando il messaggio con la
chiave pubblica solo il possessore della chiave privata e’ in grado di
decrittarlo;
- Si risolve il problema della autenticita’ del mittente: crittando il
messaggio con la chiave privata, solo con la rispettiva chiave pubblica
puo’ essere decrittato
Ci sono quindi 2 modalita’ di funzionamento:
1) Modalita’ confidenziale: sono garantite la riservatezza e l’integrita’ del
messaggio;
2) Modalita’ autenticazione (si intende autenticazione a 2 fattori,
spid… Quindi solo autenticazione che identifica univocamente
l’utente, NON AUTENTICAZIONE MAIL E PASSWORD): garantisce
l’integrita’ ma non viene garantita la riservatezza
E’ anche possibile ottenere contemporaneamente sia la riservatezza della
comunicazione sia l'autenticazione combinando assieme le 2 modalità di
funzionamento. Per fare questo e’ necessario utilizzare contemporaneamente
entrambe le coppie di chiavi
Esiste un altro algoritmo ovvero RSA, in questo caso asimmetrico,
utilizzandolo nel codificare un unico messaggio contenente una chiave
segreta, tale chiave verra’ poi usata per scambiare messaggi tramite un
algoritmo a chiave segreta
Il funzionamento dell’algoritmo RSA consiste nel:
1) A deve spedire un messaggio segreto a B;
2) B sceglie 2 numeri primi molto grandi e li moltiplica tra loro
3) B invia ad A “in chiaro” il numero che ha ottenuto;
4) A usa questo numero per crittografare il messaggio;
5) A manda il messaggio a B, che chiunque puo’ vedere ma non leggere;
6) B riceve il messaggio e utilizzando i 2 fattori primi, che solo lui conosce,
decifra il messaggio
Il primo passo dell’algoritmo di generazione delle chiavi e’ quello di scegliere 2
numeri primi p e q di calcolare il loro prodotto
Quindi viene scelto un numero e, e poi viene usato l’algoritmo di Euclide per il
calcolo del MCD letto “al contrario” consente di esprimere il numero MCD
ALGORITMO CRITTOGRAFICO
Cifratura del messaggio da parte del mittente
Il messaggio m che deve essere trasmesso viene innanzitutto espresso in
forma di numero e deve essere minore di n
Decifrazione del messaggio da parte del destinatario
Il messaggio m che giunge al destinatario viene decodificato
L’introduzione dei metodi a chiave pubblica come RSA ha risolto il problema
dello scambio della chiave: rimane comunque aperto il problema di dover
gestire le chiavi pubbliche e quindi e’ necessario un sistema di PKI(Public Key
Infrastructure) che si occupi della gestione e dello scambio delle chiavi
Quindi le chiavi e i rispettivi proprietari sono associati in registri gestiti da un
PKI
In un sistema ibrido utilizziamo la chiave pubblica soltanto per comunicare
la chiave segreta che poi verra’ usata per una normale comunicazione basata
su cifrati a chiave segreta
PKI e’ un software che si occupa della gestione delle chiavi
Tra le motivazioni per cui e’ nata la firma digitale e’ necessario ricordare la
lentezza dei sistemi di crittografia a chiave pubblica, incluso RSA: per rendere
piu’ veloce il meccanismo si utilizza una funzione di hash attraverso la quale si
calcola una stringa identificativa del messaggio, detta fingerprint
La firma digitale si basa su un sistema di codifica crittografica a chiavi
asimmetriche che consente:
- La sottoscrizione di un documento informatico;
- La verifica, da parte dei destinatari, dell’identita’ del soggetto
sottoscrittore;
- La certezza che l’informazione contenuta nel documento
Durante l’apposizione della firma il file viene incapsulato in una busta
crittografica e il risultato e’ un nuovo file, con estensione .p7m consente di
firmare qualunque tipo di file (rtf, doc, tiff, xls, pdf ecc)
Quando A vuole inviare a B un messaggio autenticato e integro, calcola il
fingerprint, lo critta con la sua chiave privata:
1) Da documento si estrae l’impronta in chiaro;
2) L’impronta in chiaro viene cifrata;
3) L’impronta crittografata viene accodata al messaggio in chiaro;
4) Al messaggio viene anche accodato il certificato del firmatario
Esiste l’MD5 ovvero un algoritmo formato da una stringa fissa di 128 bit.
L’elaboraz