Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Informatica superiore - Crittografia, Appunti di Informatica

Appunti digitali riguardanti la crittografia, indirizzati in particolare a chi frequenta il quinto anno di scuola superiore. Presi durante l'anno scolastico 2024-2025 presso il liceo scientifico Piero Gobetti di Torino. Il documento contiene appunti su: •Sistemi di sicurezza informatica, •Sistemi di cifratura, •Cifratura per sostituzione, •Cifrario di Cesare, •Concetto di chiave, •Codici Monoalfabetici, •Codici Polialfabetici, •Tabula Recta, •Cifrario di Vigenère, •Macchine cifranti, •Disco cifrante di Leon Battista Alberti, •Macchina Enigma, •Macchina Colossus, •Sistemi crittografici, •Sistema DES e 3DES, •Sistemi a chiave pubblica/privata, •Algoritmo RSA, •Certificati digitali, •Protocolli SSL/TLS, •Firewall, •Tunneling e VPN

Tipologia: Appunti

2024/2025

In vendita dal 22/08/2025

alessandro-mangiardi
alessandro-mangiardi 🇮🇹

3 documenti

1 / 18

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Crittografia
I sistemi moderni offrono un servizio di sicurezza dei dati. L’obiettivo della non
intercettabilità può essere perseguito secondo due direttrici:
Sicurezza fisica o perimetrale: consiste nella garanzia che un destinatario
diverso da quello naturale non possa fisicamente accedere alle informazioni
riservate;
Crittografia e cifratura: consiste nella garanzia che un destinatario diverso da
quello naturale che entri in possesso di informazioni riservate non ne possa
comunque comprendere il significato.
I mezzi tecnologici su cui si basano le tecnologie moderne non permettono di adottare
la prima soluzione come preferenziale (ad esempio chiunque si colleghi ad una
determinata frequenza può intercettare onde radio).
Quindi si è optato per un meccanismo di messaggi cifrati, cioè che possono essere
interpretati correttamente solo dalle entità legittimamente coinvolte nel traffico
Nella situazione descritta alcuni elementi non sono definiti:
Il meccanismo di cifratura
Il meccanismo di decifratura
Quanto sia arduo risalire dal messaggio cifrato a quello originario -> misurato in
termini di tempo (da parte di una macchina)
Il ragionamento che permette di risalire al messaggio originario prende il nome di
crittoanalisi, la forzatura di un algoritmo tramite crittoanalisi si chiama attacco
crittoanalitico.
Cifratura per sostituzione o per trasposizione
La più semplice tra le tecniche classiche. Prevede che ogni carattere sia sostituito da
un altro: ogni carattere originale uguale corrisponde a un carattere sostitutivo uguale.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12

Anteprima parziale del testo

Scarica Informatica superiore - Crittografia e più Appunti in PDF di Informatica solo su Docsity!

Crittografia

I sistemi moderni offrono un servizio di sicurezza dei dati. L’obiettivo della non intercettabilità può essere perseguito secondo due direttrici:

  • Sicurezza fisica o perimetrale: consiste nella garanzia che un destinatario diverso da quello naturale non possa fisicamente accedere alle informazioni riservate;
  • Crittografia e cifratura: consiste nella garanzia che un destinatario diverso da quello naturale che entri in possesso di informazioni riservate non ne possa comunque comprendere il significato. I mezzi tecnologici su cui si basano le tecnologie moderne non permettono di adottare la prima soluzione come preferenziale (ad esempio chiunque si colleghi ad una determinata frequenza può intercettare onde radio). Quindi si è optato per un meccanismo di messaggi cifrati, cioè che possono essere interpretati correttamente solo dalle entità legittimamente coinvolte nel traffico Nella situazione descritta alcuni elementi non sono definiti:
  • Il meccanismo di cifratura
  • Il meccanismo di decifratura
  • Quanto sia arduo risalire dal messaggio cifrato a quello originario - > misurato in termini di tempo (da parte di una macchina) Il ragionamento che permette di risalire al messaggio originario prende il nome di crittoanalisi , la forzatura di un algoritmo tramite crittoanalisi si chiama attacco crittoanalitico.

Cifratura per sostituzione o per trasposizione

La più semplice tra le tecniche classiche. Prevede che ogni carattere sia sostituito da un altro: ogni carattere originale uguale corrisponde a un carattere sostitutivo uguale.

questa tecnica fu adottata in ambito militare per rendere incomprensibili i dispacci tattici e strategici che fossero caduti in mani nemiche:

  • Il primo utilizzo risale al I sec a.C. e prende il nome di cifrario di Cesare: ogni carattere corrisponde a quello che lo segue di tre posizioni nell’ordine alfabetico Per la decifratura: Il tempo di decifratura è pressoché nullo, si basa sul non essere divulgato. Cifrario : algoritmo utilizzato per eseguire la cifratura.

Concetto di chiave

Se indichiamo con k il numero di posizioni di distanza tra il carattere originario e quello cifrato nella codifica di Cesare, al variare di k il cifrario restituisce output diversi. Per poter decifrare il destinatario deve conoscere k (scelta dal mittente), senza non può decifrare pur conoscendo l’algoritmo utilizzato. K prende il nome di chiave. Chiave : parametro più o meno complesso che consente la personalizzazione di un algoritmo di cifratura permettendo di variare il meccanismo di cifratura e decifratura di un determinato algoritmo. Un buon algoritmo deve essere estremamente sensibile alle variazioni della chiave. Legge di Kerckhoffs (matematico olandese): La sicurezza di un sistema crittografico deve basarsi esclusivamente sulla conoscenza della chiave: il sistema deve essere sicuro pur essendo noto a priori l’algoritmo di cifratura e decifratura.

Non ha una chiave di cifratura, ma basta conoscere l’algoritmo per eseguire la decifratura. Ad ogni lettera del messaggio da cifrare corrisponde la lettera che si trova nella colonna della lettera iniziale e nella riga della posizione della lettera.

  • Cifrario di Vigenère: pubblicato nel 1583 dal matematico Blaise de Vigenère. Variazione della Tabula Recta basata sull’utilizzo di una sequenza addizionale da utilizzarsi come chiave, detta anche verme. Si scrive ripetutamente la chiave sotto il messaggio da cifrare e poi si somma il numero ordinale dei caratteri del messaggio iniziale con il numero ordinale del carattere corrispondente nella

chiave (se si supera Z si ricomincia dalla A) Più facile se si usa la Tabula Recta:

Macchine cifranti

I codici polialfabetici sono difficili da utilizzare senza errori; quindi, sono stati inventati diversi dispositivi per eseguire le operazioni di cifratura con codici polialfabetici senza errori.

  • Disco cifrante di Leon Battista Alberti (fine XV secolo): La macchina cifrante più antica è il disco cifrante dall’urbanista, matematico e filosofo Leon Battista Alberti per conto dello Stato Vaticano. Costituito da 2 corone circolari concentriche che possono ruotare; quella esterna (detta stabile) corrisponde al testo in chiaro e comprende 24 caselle contenenti 20 lettere in ordine alfabetico e 4 numeri in ordine, che corrispondono a un carattere nullo da scartare; quella interna (detta mobile) contiene 24 lettere minuscole in ordine casuale. Nel suo ‘Trattato della cifra’ espone alcune operazioni di cifratura che possono essere usate nel suo disco. La limitatezza delle chiavi disponibili (24) lo rende vulnerabile ad attacchi di bruteforce.

La macchina cifrante era costituita da una tastiera utente con un pulsante per ogni lettera dell’alfabeto di riferimento e altrettanti indicatori luminosi. Alle spalle della tastiera c’erano i meccanismi di cifratura. Volendo si poteva modificare l’associazione tra pulsanti e meccanismi di cifratura utilizzando uno scambiatore, costituito da un pannello in cui era possibile collegare una data lettera con una data posizione del primo rotore. Ogni rotore era costituito da un cilindro che poteva ruotare sul suo asse; sulle basi del cilindro erano poste tante prese quante sono le lettere dell’alfabeto di riferimento. Ogni presa di uscita del primo rotore era collegata in maniera pseudo-casuale a una presa di ingresso del secondo rotore e analogamente per le uscite del secondo con gli ingressi del terzo. Alla pressione di un pulsante la corrente elettrica percorre il permutatore, i rotori e il riflessore, che provvede a reindirizzarla indietro verso la tastiera, sino all’accensione di un indicatore luminoso. Per ogni tasto digitato l’ultimo rotore esegue una rotazione parziale di una posizione. Ad ogni giro completo dell’ultimo veniva spostato avanti di una posizione il penultimo e ad ogni giro completo del penultimo il primo. Prima che i caratteri tornino in una posizione nota bisogna quindi cifrare 262626=17 576 caratteri. Per decifrare i messaggi codificati da Enigma era sufficiente avere una macchina cifrante identica e ridigitare il testo cifrato. Dato lo schema di cifratura, Enigma di presenta infatti come una macchina simmetrica: se a X viene tradotta in Y, con la stessa configurazione dei rotori, Y viene tradotta in X. Le possibili configurazioni dei rotori sono stimabili in 2*10^45 (150 milioni di milioni di possibilità), questo esclude la possibilità di attacco esaustivo. Enigma fu violato dal calcolatore Colossus , costruito principalmente dal matematico inglese Alan Turing alla fine della Seconda Guerra Mondiale. Turing è stato reclutato giovanissimo alla direzione del Department of Communications. Dai suoi studi è derivato il modello di macchina calcolatrice programmabile nota come Macchina di Turing, servita alla base dell’implementazione di Colossus. Con tecniche crittoanalitiche riuscì a identificare una serie di ipotesi che, dato un messaggio cifrato, potessero ridurre l’insieme delle possibili chiavi di Enigma, fino a identificare un sottoinsieme di dimensioni tali da permettere un attacco esaustivo da parte di un calcolatore programmabile.

Sistemi crittografici

Algoritmi “resistenti”, in quanto difficili da forzare anche con ricerche bruteforce, implementabili in un sistema elettronico e quindi basati su logiche legate all’algebra binaria.

  • Sistema DES (Data Encryption Standard): il gruppo assicurativo dei Lloyds di Londra commissionò alla IBM lo sviluppo di un meccanismo di cifratura idoneo a garantire riservatezza delle informazioni da loro trattate nei versamenti di denaro. Nel 1971 nacque così il sistema Lucifer, che permetteva di cifrare messaggi di lunghezza arbitraria suddividendoli in blocchi di 64 bit mediante l’utilizzo di una chiave da 128 bit. Il sistema fu poi adattato per la costruzione di un meccanismo di cifratura/decifratura commerciale single chip, composto quindi da un unico circuito integrato, che dati i limiti tecnologici del tempo consentiva solo l’adozione di una chiave lunga 56 bit. Tale standard si impose nella gara lanciata nel 1973 dalla National Bureau of Standards (NBS) statunitense per l'identificazione e la successiva adozione di uno standard di cifratura utilizzato dall'apparato statale statunitense. Nasceva così il primo sistema DES, lo standard di cifratura più a lungo utilizzata nella storia dell'informatica, sia in versione originaria, sia in versioni modificate tese alla ricerca di una migliore sicurezza. Il sistema di cifratura DES è un sistema simmetrico che in quanto richiede lo stesso meccanismo per la cifratura e la decifratura e utilizza la medesima chiave per entrambe le operazioni. Il suo schema di funzionamento è basato sulla reiterazione per 16 volte di un meccanismo detto ROUND, che opera trasformazioni su un gruppo di bit utilizzando operazioni di shift, permutazioni e XOR. Oltre agli stadi ROUND, il

Nei pressi della porta di ingresso è disponibile la chiave che chiunque può esaminare. La chiave della porta di uscita è invece solo nelle mani del padrone di casa che è l’unico in grado di leggere i messaggi ricevuti. I sistemi chiave pubblica/privata funzionano così: o L'ente X genera una coppia di chiavi costruite in modo tale che tutto quanto cifrato con la chiave pubblica può essere decifrato solo tramite chiave privata; o La chiave pubblica è resa pubblica, quella privata è custodita da X; o Chi vuole inviare un messaggio a X deve cifrare il messaggio utilizzando la chiave pubblica di X; o L’ente X provvede alla decodifica tramite la propria chiave privata.

Questo è quindi un sistema asimmetrico. L’algoritmo RSA è un esempio di sistema chiave pubblica/privata. Nacque nel 1978 al MIT (Massachusetts Institute of Technology) di Boston (USA), a opera di Ron Rivest, Adi Shamir e Leonard Adleman. Si basa su considerazioni matematiche specialistiche nel campo dei numeri primi e dell’algebra modulare.

Un aspetto interessante è l’intercambiabilità dei valori della coppia [pub, pri]. Tutto ciò che è cifrato con la coppia [pub, n] può essere decifrato con [pri,n] e viceversa.

Certificati digitali

Informazioni cifrate che certificano l’identità dell’ente destinatario dei messaggi in uscita.

Con un algoritmo di cifratura come RSA si può verificare l'identità del reciproco. I principali passi sono:

  • In primo luogo, chiameremo primario il sistema che richiede l'autenticazione in opposizione con il secondario che è costituito dal sistema al quale si chiede l'autenticazione; questo sistema, che può essere indifferentemente il server o il client, genera un challenge, una sequenza pseudo-casuale di caratteri
  • Il primario invia il challenge così generato al secondario, con la richiesta di codificazione;
  • Il secondario codifica il messaggio appena ricevuto tramite la propria chiave privata e lo reinvia al primario che ne aveva fatto richiesta
  • Il primario riceve il challenge cifrato tramite la chiave privata del secondario e prova a decifrarlo utilizzando la chiave pubblica del secondario; se il challenge coincide con quello inviato inizialmente si può essere certi che la chiave privata detenuta dal secondario è effettivamente relativa alla chiave pubblica che gli si attribuisce Se un attaccante MiM riuscisse a "spacciare" la sua chiave pubblica per quella del secondario legittimo, a questo punto potrebbe rispondere correttamente al challenge e inserirsi senza problemi nelle nostre comunicazioni. È necessario quindi modificare il nostro meccanismo per avere un'informazione non solo relativa all'eventualità che il possessore della chiave pubblica sia lo stesso della chiave privata, ma anche relativa alla reale identità del medesimo. Per avere un’informazione relativa alla reale identità del possessore della chiave pubblica, occorre in qualche modo certificare l’autenticità della chiave pubblica. Si può fare attraverso i certificati digitali , ovvero un insieme di informazioni come la chiave pubblica o le informazioni anagrafiche che riguardano un secondario: esso ci permette, come per un certificato cartaceo, di avere un’informazione autorevole sull’identità del medesimo. Anche i certificati digitali possono essere contraffatti. Si può essere sicuri dell’autenticità di un certificato se ci rendiamo conto che è stato

emesso da un ente affidabile. Il certificato viene firmato dalla Certification Authority (CA) che ne attesta l’autenticità. L’operazione di firma avviene allegando al certificato i propri riferimenti e cifrando il tutto con la propria chiave privata, in modo che possa essere decifrato con la chiave pubblica del CA come fosse un challenge.

Protocolli SSL/TLS

Il protocollo (o insieme di regole) SSL (Secure Socket Layer) permette di implementare uno strato software di basso livello in grado di effettuare comunicazioni sicure tra due elementi. Poiché tale software è di basso livello, può essere utilizzato come base per lo sviluppo di protocolli di livello superiore che ne sfruttino le caratteristiche di sicurezza. Il protocollo TLS (Transport Layer Security) è un protocollo sviluppato da IETF come successore di SSL 3.0, da cui deriva in maniera pressoché completa. Tramite i protocolli SSL/TLS sono implementati i principali protocolli sicuri usati sul web, come HTTPS e SFTP.

Autenticazione sicura

Il problema dell’autenticazione dell’utente in un sistema risiere nella necessità di evitare che un utente possa accedere al sistema spacciandosi per un altro. Per questo, normalmente si assegna a ogni utente una password segreta. Il sistema mantiene una lista degli utenti con le relative password.