La sicurezza di rete
Nella pagina dedicata alle applicazioni e al web abbiamo raggiunto l'ultimo piano della pila e abbiamo visto i programmi parlarsi con dialoghi di richieste e risposte, per tradurre un nome, recapitare una lettera oppure consegnare una pagina. A ogni piano del percorso, dal cavo condiviso di Ethernet agli annunci dei router, dalle domande al servizio dei nomi alla posta, abbiamo incontrato lo stesso avvertimento, e cioè che la rete è stata progettata da poche centinaia di ricercatori che si conoscevano per nome e si fidavano l'uno dell'altro, cosicché i suoi protocolli originari trasmettono tutto in chiaro e prendono per buona l'identità che ciascuno dichiara.
Quella rete di colleghi è diventata l'infrastruttura su cui miliardi di persone affidano i propri risparmi, la propria corrispondenza e la propria vita privata, attraversata da malintenzionati di ogni specie, e la sicurezza ha dovuto esservi aggiunta a posteriori, strato dopo strato. Quest'ultima pagina della sezione racconta come ciò sia avvenuto, seguendo l'ottavo capitolo del libro Reti di calcolatori di Andrew S. Tanenbaum e David Wetherall insieme al capitolo sulla sicurezza di Modern Operating Systems dello stesso Tanenbaum e di Herbert Bos, ed è anche la pagina che fa da ponte verso il resto di Tutanum, il cui scopo dichiarato è appunto restituire alle persone il controllo delle proprie comunicazioni.
Conviene cominciare dando un nome preciso a ciò che vogliamo proteggere, perché la parola sicurezza ne nasconde almeno quattro. La riservatezza chiede che un messaggio possa essere letto soltanto dal destinatario; l'integrità chiede che esso arrivi identico a come è partito, oppure che ogni alterazione venga scoperta; l'autenticazione chiede di sapere con certezza chi sta all'altro capo; il non ripudio chiede che chi ha inviato un messaggio non possa in seguito negare di averlo fatto, come accade con una firma in calce a un contratto. A queste si aggiunge la disponibilità, cioè la garanzia che un servizio resti raggiungibile anche quando qualcuno tenta di soffocarlo.
Altrettanto utile è immaginare l'avversario, che gli studiosi dividono in due tipi. L'avversario passivo si limita ad ascoltare, come chi origlia dietro una porta, e contro di lui serve la riservatezza; l'avversario attivo può anche intercettare i messaggi, modificarli, cancellarli oppure fabbricarne di falsi, e contro di lui servono integrità e autenticazione. Nel ragionare su un sistema si suppone per prudenza il peggio, cioè che l'avversario controlli per intero il canale, e l'esperienza ha mostrato che l'ipotesi è realistica, dato che i nostri pacchetti attraversano decine di apparecchi appartenenti a sconosciuti.
Lo strumento con cui si affrontano quasi tutti questi problemi è la crittografia, l'arte di trasformare un messaggio in modo che risulti incomprensibile a chi non possiede un segreto. Il messaggio originale si chiama testo in chiaro, il risultato della trasformazione testo cifrato, e il procedimento, detto cifrario, dipende da un parametro chiamato chiave, cosicché lo stesso cifrario con chiavi diverse produce testi cifrati diversi. Un principio enunciato nell'Ottocento dall'olandese Auguste Kerckhoffs, e mai smentito, stabilisce che la sicurezza deve risiedere per intero nella segretezza della chiave, mentre il cifrario va considerato noto a tutti; i cifrari tenuti segreti, privati dell'esame di migliaia di studiosi, si sono rivelati regolarmente più deboli di quelli pubblici.
I cifrari antichi sono un buon terreno per impratichirsi, e quello attribuito a Giulio Cesare sostituisce ogni lettera con quella che la segue di tre posti nell'alfabeto, e ha soltanto venticinque chiavi possibili, che un ragazzo prova tutte in pochi minuti; la sua generalizzazione, in cui ogni lettera viene sostituita da un'altra secondo una tabella arbitraria, possiede un numero di chiavi astronomico e cade ugualmente, perché in ogni lingua alcune lettere ricorrono più di altre, e contando le frequenze dei simboli nel testo cifrato si riconoscono in fretta le vocali più comuni e da lì il resto. Una seconda famiglia, quella dei cifrari a trasposizione, lascia intatte le lettere e ne rimescola l'ordine secondo uno schema concordato.
Esiste un cifrario che si può dimostrare inviolabile, chiamato blocco monouso, nel quale la chiave è una sequenza di bit del tutto casuale, lunga quanto il messaggio, che viene combinata con esso bit per bit tramite la porta XOR e poi distrutta. Poiché ogni possibile testo in chiaro della stessa lunghezza corrisponde a una qualche chiave, il testo cifrato non rivela nulla, e nessuna potenza di calcolo potrà mai cambiare questo fatto; il rovescio sta nella chiave, che deve essere consegnata in anticipo al destinatario per una via sicura, deve essere lunga quanto tutto ciò che si vorrà dire e non può mai essere riusata, vincoli che ne limitano l'impiego a pochi casi eccezionali.
I cifrari moderni rinunciano alla perfezione teorica in cambio della praticità, e si accontentano di chiavi brevi rendendo la ricerca della chiave giusta un'impresa fuori dalla portata di qualunque calcolatore. Quelli della prima famiglia si dicono simmetrici, perché la stessa chiave serve per cifrare e per decifrare, e lavorano di solito su blocchi di lunghezza fissa, ai quali applicano molti giri consecutivi di sostituzioni e rimescolamenti, guidati ciascuno da una porzione della chiave, finché ogni bit dell'uscita dipende in modo intricato da ogni bit dell'ingresso e della chiave.
Il primo cifrario di questo genere adottato come norma pubblica fu il DES, del 1977, la cui chiave di cinquantasei bit, giudicata corta fin dall'inizio, fu violata vent'anni dopo da una macchina costruita allo scopo che provava tutte le chiavi in pochi giorni. Il suo successore fu scelto con un concorso internazionale aperto, vinto nel 2001 dal cifrario di due crittografi belgi, e porta il nome di AES; lavora su blocchi di centoventotto bit con chiavi di centoventotto, centonovantadue oppure duecentocinquantasei bit, ed è oggi realizzato direttamente nei circuiti dei processori, che lo eseguono a velocità tali da cifrare un intero disco senza che l'utente se ne accorga. Una chiave di centoventotto bit ammette un numero di combinazioni che si scrive con trentanove cifre, e provarle tutte richiederebbe più energia di quanta il Sole ne emetta in miliardi di anni.
Un cifrario a blocchi, da solo, sa cifrare un blocco, e per i messaggi più lunghi occorre stabilire come concatenare i blocchi, scelta che prende il nome di modo di funzionamento e che è tutt'altro che un dettaglio. Cifrare ogni blocco per conto proprio è il modo più ingenuo e il più pericoloso, perché blocchi in chiaro uguali producono blocchi cifrati uguali, e un'immagine cifrata così lascia trasparire la propria sagoma; i modi sicuri fanno dipendere ogni blocco cifrato anche dalla sua posizione oppure dai blocchi precedenti, partendo da un valore iniziale diverso per ogni messaggio, e quelli oggi preferiti producono insieme al testo cifrato un sigillo che permette al destinatario di accorgersi di qualunque manomissione.
I cifrari simmetrici sono rapidi e robusti, e lasciano irrisolto un problema antico quanto la crittografia, cioè come far arrivare la chiave al destinatario. Due persone che non si sono mai incontrate, e che comunicano attraverso un canale ascoltato dall'avversario, non hanno modo di accordarsi su un segreto senza che anche l'avversario lo apprenda, e per millenni la soluzione è stata affidare le chiavi a corrieri fidati; su una rete con miliardi di utenti, in cui ciascuno vuole parlare in privato con negozi, banche e conoscenti mai visti di persona, l'idea dei corrieri è improponibile.
La via d'uscita fu trovata nel 1976 da Whitfield Diffie e Martin Hellman, con un procedimento che permette a due persone di costruire un segreto comune parlando in pubblico, e che si lascia raccontare con i colori. Immaginiamo che Alice e Bruno concordino ad alta voce un colore di base, per esempio il giallo, e che ciascuno scelga in segreto un proprio colore; ognuno mescola il proprio colore segreto con il giallo e spedisce all'altro la miscela, sotto gli occhi di tutti, dopodiché ciascuno aggiunge il proprio colore segreto alla miscela ricevuta. Entrambi ottengono la stessa tinta, composta dal giallo e dai due segreti, mentre chi ha osservato lo scambio possiede soltanto le due miscele e non riesce a separarne i componenti, perché mescolare i colori è facile e risalire agli ingredienti è proibitivo.
Nella versione vera i colori sono numeri enormi e la mescolanza è un'operazione aritmetica che si calcola in fretta in un verso e che nessuno sa invertire in tempi ragionevoli, e da questa asimmetria è nata l'intera crittografia a chiave pubblica. In essa ogni persona possiede due chiavi legate fra loro, una pubblica, che può stampare sul biglietto da visita, e una privata, che custodisce gelosamente; ciò che viene cifrato con la chiave pubblica può essere decifrato soltanto con la privata corrispondente, cosicché chiunque può scriverti in segreto senza aver mai concordato nulla con te, come chiunque può imbucare una lettera in una cassetta di cui tu solo possiedi la chiave.
Il sistema più celebre di questo tipo, pubblicato nel 1978, porta le iniziali dei suoi tre inventori, Rivest, Shamir e Adleman, e fonda la propria sicurezza su un fatto aritmetico elementare. Moltiplicare due numeri primi di trecento cifre ciascuno è un lavoro che un calcolatore svolge in un istante, mentre ritrovare i due fattori conoscendo soltanto il prodotto è un problema per il quale, dopo secoli di studi, non si conosce alcun metodo praticabile; la chiave pubblica contiene il prodotto, la chiave privata si ricava dai due fattori, e chi volesse dedurre la seconda dalla prima dovrebbe compiere proprio quella scomposizione. Sistemi più recenti ottengono la stessa sicurezza con chiavi assai più corte sfruttando l'aritmetica di certe curve, e sono quelli che il tuo browser usa più spesso.
Le operazioni a chiave pubblica sono migliaia di volte più lente di quelle simmetriche, e nella pratica i due mondi collaborano secondo uno schema detto ibrido. All'inizio di una conversazione le due parti usano la crittografia a chiave pubblica soltanto per accordarsi su una chiave simmetrica nuova di zecca, valida per quella sola sessione, e da lì in poi cifrano tutto con AES oppure con un cifrario equivalente; se la chiave di sessione nasce da uno scambio alla maniera di Diffie e Hellman con segreti generati al momento e poi distrutti, si ottiene una proprietà preziosa, chiamata segretezza in avanti, per la quale nemmeno chi in futuro rubasse le chiavi private a lungo termine potrebbe decifrare le conversazioni registrate in passato.
Accanto ai cifrari lavora un secondo attrezzo, la funzione di impronta, in inglese hash, che riduce un messaggio di qualunque lunghezza a una stringa breve e di lunghezza fissa, per esempio duecentocinquantasei bit. Una buona funzione di questo tipo ha tre proprietà, cioè si calcola in fretta, non permette di risalire dall'impronta al messaggio, e rende impraticabile trovare due messaggi diversi con la stessa impronta, cosicché basta cambiare una virgola per ottenere un'impronta del tutto diversa. La famiglia oggi in uso si chiama SHA, e le sue applicazioni sono innumerevoli, dalla verifica che un archivio scaricato sia identico all'originale alla custodia delle parole d'ordine, che i sistemi ben fatti conservano soltanto sotto forma di impronta, calcolata insieme a un valore casuale diverso per ogni utente. Quel valore casuale, che i tecnici chiamano sale, impedisce a chi rubasse l'archivio di preparare in anticipo un dizionario di impronte valido per tutti, e le funzioni usate a questo scopo sono rese volutamente lente e avide di memoria, in modo che ogni tentativo costi all'aggressore una frazione di secondo e che provarne miliardi diventi un'impresa.
Combinando l'impronta con la chiave pubblica si ottiene la firma digitale, che è il rovescio della cifratura. Chi vuole firmare un documento ne calcola l'impronta e la trasforma con la propria chiave privata, allegando il risultato; chiunque può applicare al risultato la chiave pubblica del firmatario, ricalcolare per conto proprio l'impronta del documento e confrontare i due valori, e se coincidono ha la prova che il documento proviene dal possessore della chiave privata e che non è stato toccato, poiché nessun altro avrebbe potuto produrre quella firma. Si ottengono così in un colpo solo l'autenticazione, l'integrità e il non ripudio, e quando due parti condividono già una chiave simmetrica si usa un parente più leggero, un sigillo calcolato dall'impronta del messaggio insieme alla chiave.
Rimane un anello debole, che l'avversario attivo sa sfruttare con una manovra detta uomo nel mezzo. Se Alice chiede a Bruno la sua chiave pubblica e l'avversario intercetta la risposta sostituendo la chiave di Bruno con la propria, Alice cifrerà i messaggi per l'avversario, che li leggerà, li cifrerà di nuovo con la vera chiave di Bruno e li inoltrerà, senza che nessuno dei due sospetti nulla. La crittografia a chiave pubblica ha dunque spostato il problema dalla segretezza delle chiavi alla loro autenticità, e occorre un modo per sapere che una certa chiave appartiene davvero a chi dice di possederla.
La risposta adottata dal web è il certificato, un documento che riporta il nome di un sito e la sua chiave pubblica, firmato da un ente terzo chiamato autorità di certificazione, la quale prima di firmare verifica che il richiedente controlli davvero quel nome. Il browser e il sistema operativo contengono fin dalla fabbrica le chiavi pubbliche di un centinaio di autorità di cui i produttori si fidano, e poiché ciascuna può a sua volta certificare autorità subordinate, si forma una catena di firme che dal certificato del sito risale fino a una di quelle radici. Il sistema funziona e ha un limite strutturale, dato che ogni autorità dell'elenco può certificare qualunque nome, e basta che una sola venga ingannata oppure costretta perché un impostore ottenga un certificato valido; per questo esistono registri pubblici in cui ogni certificato emesso viene annotato, a disposizione di chiunque voglia sorvegliare il proprio nome.
Tutti questi pezzi si incastrano nel protocollo TLS, lo strato che trasforma http in https e che protegge anche la posta e molti altri servizi. All'apertura, il browser invia l'elenco dei cifrari che conosce insieme alla propria metà di uno scambio alla Diffie e Hellman; il servitore risponde con la propria metà, con il certificato e con una firma, apposta con la chiave privata corrispondente, su tutto ciò che è stato scambiato fino a quel momento. Il browser verifica la catena del certificato, controlla che il nome coincida con quello richiesto, verifica la firma, e da quell'istante le due parti possiedono una chiave di sessione con cui cifrano e sigillano ogni dato, il tutto, nella versione più recente del protocollo, al costo di un solo giro di andata e ritorno.
Lo stesso schema, con una diversa soluzione al problema dell'autenticità, regge il protocollo SSH, con cui si amministrano i calcolatori a distanza. Qui non esistono autorità, e la prima volta che ti colleghi a una macchina il programma ti mostra l'impronta della sua chiave pubblica e ti chiede se fidarti, ricordando poi la risposta e avvertendoti con allarme se in futuro la chiave dovesse cambiare, approccio che gli inglesi chiamano fiducia al primo uso. Anche l'utente può farsi riconoscere con una coppia di chiavi anziché con una parola d'ordine, depositando la chiave pubblica sul servitore e dimostrando a ogni accesso di possedere la privata, pratica che le guide di Tutanum adottano e raccomandano.
Conviene distinguere con cura due modi di collocare la cifratura, perché la differenza decide chi può leggere. Lo strato TLS protegge il tratto fra il tuo programma e il servitore, e la posta che spedisci viaggia cifrata da un servitore all'altro pur restando leggibile su ciascuno di essi, come una lettera che i postini trasportano in un furgone blindato e che ogni ufficio apre per smistarla; la cifratura da capo a capo avviene invece sul calcolatore del mittente con la chiave pubblica del destinatario, e soltanto quest'ultimo può aprire il messaggio, qualunque servitore lo abbia custodito nel frattempo. Per la posta lo strumento storico è PGP, pubblicato nel 1991 da Phil Zimmermann, nel quale l'autenticità delle chiavi è garantita dagli utenti stessi, che firmano le chiavi delle persone di cui hanno verificato l'identità formando una ragnatela di fiducia priva di autorità centrali, e le applicazioni di messaggistica più serie applicano lo stesso principio rinnovando le chiavi a ogni messaggio.
La cifratura può essere collocata anche più in basso nella pila, al livello dei pacchetti, e allora protegge in blocco tutto il traffico fra due punti, qualunque applicazione lo generi. È l'idea della rete privata virtuale, nota con la sigla VPN, che riprende la galleria incontrata parlando di instradamento, perché ogni pacchetto viene cifrato per intero, intestazione compresa, e chiuso dentro un altro pacchetto diretto all'altro capo della galleria, dove viene estratto e immesso nella rete di destinazione. Nata per collegare le sedi di un'azienda attraverso la rete pubblica, la tecnica serve anche al singolo per raggiungere da fuori la rete di casa, e conviene ricordare che una galleria verso un fornitore commerciale sposta la fiducia dal proprio fornitore di accesso a quello della galleria, senza eliminarla.
Un attrezzo di natura diversa è il firewall, parola inglese che indica il muro tagliafuoco, il quale sta sul confine fra una rete e l'altra ed esamina ogni pacchetto in transito, lasciandolo passare oppure scartandolo secondo un elenco di regole. Le regole guardano gli indirizzi, il protocollo e le porte, e i filtri moderni ricordano inoltre le conversazioni in corso, cosicché si può stabilire che dall'interno si possa aprire qualunque connessione verso l'esterno e che dall'esterno entrino soltanto le risposte a conversazioni già avviate, più le poche porte dei servizi che si desidera offrire. La regola d'oro vuole che tutto ciò che non è espressamente permesso sia vietato, ed è il criterio con cui sono scritte le configurazioni di esempio che trovi nella documentazione di Tutanum.
Conoscere gli attacchi più comuni aiuta a capire a che cosa servano le difese. L'ascolto del traffico è banale su una rete senza fili aperta, dove chiunque capta le trame di tutti; la falsificazione dell'indirizzo del mittente è possibile perché, come sappiamo, i router guardano soltanto la destinazione; sulla rete locale un apparecchio può rispondere alle domande del protocollo ARP al posto del router, facendosi consegnare il traffico di tutti e diventando così un uomo nel mezzo; una risposta falsa del servizio dei nomi può dirottare gli utenti verso un sito contraffatto. Contro tutte queste manovre la difesa è la stessa, cioè cifrare e autenticare da capo a capo, in modo che chi controlla il canale possa al più interromperlo.
Un attacco di tutt'altra specie mira alla disponibilità, e consiste nel sommergere un servizio di richieste fino a impedirgli di rispondere agli utenti legittimi. Quando le richieste provengono da migliaia di calcolatori sparsi per il mondo, infettati all'insaputa dei proprietari e comandati a distanza, l'attacco si dice distribuito, e difendersene richiede di assorbire o filtrare il traffico a monte, compito alla portata dei soli grandi operatori. Va infine ricordato che l'anello più fragile è quasi sempre la persona, e che la maggior parte delle intrusioni comincia con un messaggio ingannevole che induce qualcuno a rivelare una parola d'ordine oppure ad aprire un allegato, raggiro contro cui nessun cifrario può nulla e che si contrasta con l'abitudine a verificare, con parole d'ordine diverse per ogni servizio e con un secondo fattore di conferma.
La cifratura nasconde il contenuto di una conversazione e lascia visibile chi parla con chi, quando e quanto a lungo, informazioni che gli studiosi chiamano metadati e che spesso bastano a ricostruire la vita di una persona. Per nascondere anche queste sono nate le reti anonime, e la più diffusa, Tor, si basa su un'idea chiamata instradamento a cipolla. Il programma dell'utente sceglie tre nodi volontari fra le migliaia disponibili, concorda una chiave con ciascuno e avvolge il messaggio in tre strati di cifratura, uno dentro l'altro; il primo nodo toglie lo strato esterno e scopre soltanto a chi inoltrare, il secondo fa lo stesso, il terzo toglie l'ultimo strato e consegna alla destinazione, cosicché il primo conosce il mittente e ignora la destinazione, l'ultimo conosce la destinazione e ignora il mittente, e nessuno possiede il quadro intero.
Tor permette inoltre di offrire servizi il cui indirizzo resta nascosto, raggiungibili soltanto attraverso la rete stessa e individuati da un nome ricavato dalla chiave pubblica del servizio, il che rende superflui sia un indirizzo pubblico sia un certificato. Una rete affine, I2P, costruisce gallerie a senso unico e raggruppa più messaggi nello stesso involucro, ed è pensata soprattutto per i servizi interni alla rete. Su queste due reti poggia l'intero progetto Tutanum, e la documentazione che segue questa sezione le esamina con il dettaglio che qui abbiamo soltanto sfiorato.
Uno sguardo al futuro completa il quadro, perché i sistemi a chiave pubblica oggi in uso si fondano su problemi aritmetici che un calcolatore quantistico di dimensioni adeguate, macchina ancora da costruire, saprebbe risolvere in fretta, e poiché un avversario paziente può registrare oggi il traffico cifrato per decifrarlo quando quella macchina esisterà, la comunità si è mossa in anticipo. Nuovi sistemi fondati su problemi di natura diversa, ritenuti resistenti anche a quel genere di calcolo, sono stati normati di recente e vengono già affiancati a quelli classici nelle strette di mano dei browser e di SSH, mentre i cifrari simmetrici e le funzioni di impronta, con chiavi abbastanza lunghe, restano al riparo.
Il senso d'insieme di questa pagina, e in fondo dell'intera sezione, sta in un rovesciamento. La rete fisica è e resterà un luogo pubblico, attraversato da sconosciuti, e la sicurezza si ottiene costruendo sopra di essa, con l'aritmetica, canali privati che nessun intermediario può aprire, a patto di custodire le chiavi con cura e di verificare a chi appartengono quelle altrui. Chi ha compreso i cifrari, le impronte, le firme e i certificati sa leggere che cosa promette davvero un servizio e che cosa lascia scoperto, e sa scegliere con cognizione di causa a chi affidare la propria fiducia.
Veniamo all'ultima serie di esperimenti, e per il primo apri nel browser un sito qualunque, premi sul lucchetto accanto all'indirizzo e cerca la voce che mostra il certificato; leggi il nome a cui è intestato, le date di validità, l'autorità che lo ha firmato e, risalendo la catena, l'autorità radice, poi cerca nelle impostazioni del browser l'elenco delle autorità considerate fidate e scorrilo, rendendoti conto di quante organizzazioni sparse per il mondo abbiano il potere di garantire per qualunque sito.
Per il secondo esperimento osserva la stretta di mano dal terminale con il comando openssl s_client -connect seguito dal nome di un sito e dalla porta quattrocentoquarantatré, uniti dal
segno dei due punti come indica il manuale. Nell'uscita troverai la catena dei certificati, la versione
del protocollo e il cifrario concordato, nel cui nome riconoscerai le sigle incontrate in questa pagina,
e una volta stabilita la connessione potrai scrivere a mano una richiesta del web come hai fatto nella
pagina precedente, con la differenza che questa volta ogni carattere viaggia cifrato.
Per il terzo esperimento prendi confidenza con le impronte, cioè crea un file di testo con una frase
e calcola sha256sum seguito dal nome del file, ottenendo sessantaquattro cifre esadecimali;
cambia una sola lettera, ripeti e confronta, constatando che le due impronte non hanno nulla in comune.
Scarica poi l'immagine di installazione di un sistema operativo libero, calcolane l'impronta e
confrontala con quella pubblicata sul sito del progetto, che è il modo corretto di accertarsi che
l'archivio non sia stato alterato lungo la strada.
Per il quarto esperimento cifra un file con una parola d'ordine, usando gpg -c seguito
dal nome del file, che produce accanto all'originale una copia cifrata con AES; prova ad aprirla con un
editor di testo per vedere che aspetto ha un testo cifrato, poi decifrala con gpg -d e
verifica con sha256sum che il risultato coincida con l'originale. Rifletti sul fatto che la
robustezza dell'insieme dipende ora per intero dalla parola d'ordine, e che una frase di cinque o sei
parole scelte a caso resiste assai meglio di una parola breve infarcita di simboli.
Per il quinto esperimento genera la tua prima coppia di chiavi con ssh-keygen -t ed25519, accettando la posizione proposta e proteggendo la chiave privata con una frase. Nella
cartella nascosta .ssh della tua casa troverai due file, e quello che termina con
.pub è la chiave pubblica, una sola riga di testo che puoi mostrare a chiunque; con
ssh-keygen -l -f seguito dal nome di quel file ne ottieni l'impronta, che è il valore da
confrontare a voce con chi deve fidarsi della tua chiave, e se disponi di una seconda macchina copia la
chiave pubblica su di essa con ssh-copy-id e collegati senza più digitare la parola
d'ordine.
Per il sesto esperimento guarda le regole del firewall, e sulla tua macchina Linux scrivi sudo nft list ruleset e osserva se esistono regole e quale sia il comportamento predefinito per i
pacchetti in ingresso, poi entra nella pagina di amministrazione del router e cerca le sezioni dedicate
al firewall e all'inoltro di porta, verificando che nessuna porta sia aperta verso l'interno senza che
tu lo abbia deciso; confronta infine ciò che vedi con l'elenco delle porte in ascolto ottenuto nella
pagina sul trasporto, perché una porta in ascolto e priva di filtro è una porta esposta.
Per il settimo e ultimo esperimento, se la curiosità ti ha portato fin qui, installa il browser del progetto Tor, visita un sito che mostri l'indirizzo da cui arrivi e confrontalo con quello visto nella pagina sulla rete internet. Premi poi sull'icona che mostra il circuito e leggi i tre nodi attraverso cui la tua richiesta è passata, ciascuno in un paese diverso, e richiedi un circuito nuovo per vedere l'indirizzo cambiare; avrai così toccato con mano l'instradamento a cipolla, che è il fondamento di tutto ciò che Tutanum costruisce.
Il modulo attinge al libro Reti di calcolatori di Andrew S. Tanenbaum e David Wetherall, e in particolare al capitolo ottavo sulla sicurezza delle reti, da cui provengono i principi della crittografia, i cifrari simmetrici e a chiave pubblica, le firme digitali, la gestione delle chiavi pubbliche con i certificati, la sicurezza delle comunicazioni con le reti private virtuali e i firewall, i protocolli di autenticazione e la sicurezza della posta e del web, e al capitolo nono di Modern Operating Systems di Andrew S. Tanenbaum e Herbert Bos per le basi della crittografia, la custodia delle parole d'ordine e la tipologia degli attacchi, integrati per Tor, I2P e i sistemi resistenti al calcolo quantistico dalla documentazione pubblica dei rispettivi progetti.
Con questa pagina il percorso didattico arriva al suo termine provvisorio, dopo aver risalito l'intera scala che va dalla materia e dai campi ai transistor, dalle porte logiche al processore, dal sistema operativo ai programmi e infine alla rete e alla sua protezione, in attesa dei nuovi argomenti che verranno ad arricchirlo. Hai ora le conoscenze per leggere con profitto il resto di Tutanum, dove tutto ciò che hai imparato viene messo al lavoro per costruire in casa un nodo capace di offrire servizi attraverso le reti anonime, e ti invitiamo a proseguire verso la discussione del progetto, che comincia esattamente dal punto in cui questa pagina si ferma.