Programma svolto
| Scuola |
Classe |
Anno scolastico |
Materia |
Professore |
| I.I.S.S. V. Bachelet |
5E LSA |
2025/26 |
Informatica |
Nicolò Sala |
Le query complesse in SQL
- ripasso degli argomenti trattati l’anno precedente
- utilizzare SQLite Online
- le clausole
SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY
- la clausola (INNER)
JOIN
- query binarie:
UNION, EXCEPT, INTERSECT
- funzioni aggregate:
MIN, MAX, AVG, COUNT, SUM
- creare alias per tabelle o per attributi (la parola chiave
AS)
- l’operatore
LIKE e i simboli % e _
- fare query su più tabelle
- creare e utilizzare viste (
VIEW)
- fare query annidate
- utilizzare gli operatori
IN, NOT IN
Fondamenti di crittografia
- sicurezza: confidenzialità, autenticazione, integrità dei dati
- terminologia fondamentale: alfabeto, spazio dei messaggi, spazio dei testi cifrati, spazio delle chiavi, funzione di cifratura, funzione di decifratura, cifrario
- introduzione alla crittografia simmetrica
- funzionamento di cifrari simmetrici a scorrimento
- funzionamento di cifrari simmetrici a sostituzione monoalfabetici
- funzionamento di cifrari simmetrici a sostituzione polialfabetici
- cifrari a permutazione
- attaccare un cifrario: brute force, ciphertext only (in particolare, analisi delle frequenze dei singoli caratteri e analisi delle frequenze delle sequenze di caratteri), known plaintext
- resistenza dei cifrari studiati rispetto agli attacchi sopra elencati
- AES (Advanced Encryption Standard)
- cenni storici
- cifrario a blocchi (block cipher) vs cifrario a flusso (stream cipher)
- dimensione del blocco
- lunghezza delle chiavi (128, 192, 256 bit)
- quantum resistance
- il concetto di cifrario a sostituzione e permutazione
- crittografia asimmetrica
- chiave pubblica e chiave privata
- l’asimmetria nella derivazione di una chiave dall’altra
- confidenzialità: cifrare un messaggio con la chiave pubblica a decifrare lo stesso messaggio con la chiave privata
- autenticazione del mittente: firmare un messaggio con la propria chiave privata e verificare lo stesso messaggio con la chiave pubblica associata
- cenni al problema della fattorizzazione: fattori primi come chiave privata, prodotto di tali fattori come chiave pubblica
- scambiare un messaggio attraverso un canale di comunicazione potenzialmente non sicuro
- usare la cifratura asimmetrica per concordare una chiave segreta da utilizzare, poi, per continuare a cifrare la comunicazione con un cifrario simmetrico
Fondamenti di reti
- il modello OSI
- la struttura a strati
- la comunicazione tra gli strati
- la ragione di una struttura a strati
- il livello fisico (livello 1)
- servizi offerti
- connessioni wired e connessioni wireless
- il livello di collegamento (livello 2)
- i servizi offerti: framing, gestione dell’accesso, controllo di errore, controllo di flusso
- il frame
- il protocollo Ethernet
- l’indirizzo Ethernet/MAC
- la struttura del frame Ethernet
- header e payload
- il checksum
- assenza di autenticazione per gli indirizzi MAC: MAC randomization
- il livello di rete (livello 3)
- i servizi offerti: forwarding, routing
- il pacchetto
- Il protocollo IPv4
- l’indirizzo IPv4
- lunghezza di un indirizzo IPv4
- rappresentazone di un indirizzo IPv4: notazione decimale puntata
- il problema della saturazione di IPv4
- indirizzi IP riservati: i blocchi per gli indirizzi privati
- indirizzi IP riservati: indirizzo di rete, indirizzo di broadcast, indirizzo di loopback
- tecnica NAT (Network Address Translation)
- indirizzi privati e indirizzi pubblici
- come NAT risolve la saturazione di IPv4
- Il protocollo IPv6
- l’indirizzo IPv6
- lunghezza di un indirizzo IPv6
- rappresentazone di un indirizzo IPv6
- come IPv6 risolve la saturazione di IPv4
- distribuzione degli indirizzi IP: ICANN, RIR, ISP, router
- possibile distribuzione decentralizzata degli indirizzi IPv6
- VPN (Virtual Private Network): come funzionano, a cosa servono
- dato un dispositivo, quali nodi conoscono il suo indirizzo IP e quali conoscono il suo indirizzo MAC
- il livello di trasporto (livello 4)
- i servizi offerti: connessione, corretto ordine di consegna, affidablità, controllo di flusso, controllo di errore, controllo di congestione, multiplazione
- le porte
- i segmenti
- i servizi del protocollo TCP
- i servizi del protocollo UDP
- confronto tra i servizi di TCP e di UDP
- il socket
- il livello applicativo (livello 7)
- Tor
- a cosa serve
- come funziona
- nodi entry, relay, exit
- costruzione di un circuito nella rete Tor
- il protocollo DNS
- nomi di dominio
- domini di primo livello (TLD)
- domini di secondo livello (SLD)
- DNS resolver
- root name server
- TLD name server
- authoritative name server
- DNS zone
- record DNS
- domain name registrar
- il protocollo HTTP
- le principali versioni del protocollo
- l’architettura client/server
- protocollo stateless
- le porte usate per HTTP/HTTPS
- Uniform Resource Locator (URI)
- i metodi di richiesta HTTP: GET, HEAD, POST, PUT, DELETE
- i codici di stato HTTP