Skip to main content
Una questione di fiducia

Una questione di fiducia

| Davide Vaghetti | Servizi alla comunità

Articolo letto 792 volte

La stampante ad aghi fa bella mostra di sé in mezzo alla piccola sala riunioni della sede di SUNET a Stoccolma.

“Ci sono voluti tre giorni per trovare la carta tabulare a modulo continuo” mi dice con un certo orgoglio Björn Mattsson, mentre mi mostra tutto il repertorio di strumenti che saranno utilizzati nella cerimonia di creazione della nuova chiave crittografica di eduGAIN.

Il termine “cerimonia” non compare con molta frequenza nei processi informatici, ma in questo caso descrive perfettamente quanto succederà. La creazione di una chiave crittografica per servizi fidati ha infatti due aspetti: da una parte segue un processo tecnico ben definito, dall’altra è basata sulla partecipazione di persone che hanno precisi ruoli e compiti.

La chiave di eduGAIN serve a conferire autenticità ed integrità ai metadata scambiati dalle federazioni di identità di tutto il mondo

Come in tutte le cerimonie, servono dei testimoni che possano attestare che tutto sia avvenuto come previsto e soprattutto che non ci siano ragioni per dubitare della buona fede di tutti i partecipanti. I testimoni della nostra cerimonia sono Nicole Harris (GÉANT), una delle fondatrici di eduGAIN, Pål Axelsson (SUNET), responsabile della Federazione d’identità svedese SWAMID ed il sottoscritto in qualità di eduGAIN Service Owner. Partecipano anche altre tre persone di SUNET: Leif Johansonn, esperto di crittografia ed attuale CTO di SUNET, Kushal Das, un collega indiano recentemente assunto e Björn Mattsson, operatore di federazione.

Björn prosegue nella descrizione di tutto l’equipaggiamento: un single board computer, tre confezioni di memorie USB sigillate, due Yubikey intonse, un modulo USB per la generazione di numeri casuali, un numero imprecisato di buste monouso antieffrazione ed un cavo seriale (RS232) sdoppiato. Una terminazione del cavo seriale è collegata al single board computer, mentre l’altra è collegata alla stampante. Il cavo serve sia a dare comandi computer, sia ad inviare i comandi e l’output risultante alla stampante. Il single board computer monta una distribuzione di Linux compilata da scratch, che contiene solo i comandi e le librerie necessarie per creare la chiave crittografica.

Ci sono voluti diversi incontri per definire e affinare il processo che utilizzeremo per creare la chiave. La chiave di eduGAIN ha uno scopo ben preciso, serve a conferire autenticità ed integrità ai metadata scambiati dalle federazioni di identità di tutto il mondo. Per ogni aspetto rilevante abbiamo discusso pro e contro fino a quando non abbiamo trovato una base sufficientemente ampia di consenso per poter definire un processo da condividere con la comunità.

Accendiamo il single board computer che utilizzeremo per la creazione della chiave e subito ci accorgiamo di un problema: la stampa dell’output del processo di avvio fa così tanto rumore che a malapena ci sentiamo tra di noi, figuriamoci cosa sentiranno gli operatori di federazione che assisteranno da remoto. Stabiliamo che avvieremo il computer con un po’ di anticipo rispetto all’ora di inizio e terremo l’audio muto fino al termine della stampa dell’output dell’avvio. Nel frattempo anche gli altri due testimoni, Nicole Harris e Pål Axelsson, sono arrivati. È tempo di prenotare la cena, domani sarà una giornata impegnativa.

La creazione di chiavi crittografiche pone sempre un problema: come fare copie di sicurezza mantenendo la necessaria riservatezza? Uno dei metodi utilizzati più di frequente consiste nel proteggere la chiave con un segreto, comunemente chiamato “passphrase”. A sua volta la “passphrase” andrà custodita.

Un’altra opzione consiste nell’utilizzare uno schema a soglia, come il sistema di condivisione di segreti di Shamir, una tecnica che permette di suddividere una chiave crittografica in più parti e ricostruirla con un numero di parti inferiore al totale. Ad esempio si può suddividere una chiave in 6 parti e ricostruirla completamente con solo 3 parti. Il sistema di condivisione di segreti di Shamir è perfetto quando si vuole massimizzare il grado di sicurezza in ambienti con fiducia paritaria tra tutti gli attori.

Nel caso di eduGAIN il grado di fiducia non è uniforme: è molto elevato verso gli operatori del servizio (la terza parte fidata), mentre è relativamente basso tra i partecipanti. Per questo motivo abbiamo deciso di utilizzare la replica delle chiavi protette da “passphrase” con affidamento agli attuali operatori del servizio.

Arriviamo nella sede di SUNET in pochi minuti, l’albergo infatti si trova dall’altra parte della strada. Nell’ora che precede l’inizio della diretta facciamo un breve riepilogo delle operazioni. In primo luogo i ruoli. Leif Johansonn si occuperà di raccontare in tempo reale tutto quanto a chi ci segue in remoto. Björn Mattsson sarà l’operatore che impartirà i comandi al single board computer tramite il suo portatile connesso via seriale. Io sarò addetto all’inserimento e all’estrazione delle varie periferiche USB (Yubikey, memorie, generatore di numeri primi). Nicole Harris e Pål Axelsson si occuperanno delle comunicazioni attraverso il canale Slack.

Alcuni momenti della cerimonia di creazione della nuova chiave di eduGAIN

L’aspetto principale di una cerimonia di generazione della chiave è sicuramente la trasparenza. Non ci sono angoli bui: ogni strumento, ogni azione e ogni partecipante ha una funzione chiara e definita. Non solo, ogni azione genera delle prove che possono essere verificate dai membri della comunità. Tutto questo serve a creare il necessario grado di fiducia nel processo e di conseguenza nel servizio.

È ora di cominciare. Al termine del processo di avvio del single board computer la testina della stampante ad aghi finalmente tace. Abilitiamo l’audio e Leif dà il benvenuto a tutti i partecipanti remoti. Procediamo con la verifica del generatore di numeri casuali. Generiamo la “passphrase” con cui cifreremo la chiave e la salviamo nelle due Yubikey. Passiamo alla generazione della coppia di chiave e del certificato, anzi delle coppie: una coppia RSA con chiave a 4096 bit ed una coppia ECC con chiave a 384 bit. Entrambe le chiavi vengono cifrate direttamente al momento della creazione con la passphrase contenuta nella Yubikey. Verifichiamo chiavi e certificati e mostriamo a schermo i relativi fingerprint (sha256). Infine copiamo le chiavi nelle memorie USB. È il momento delle buste antieffrazione. Le due coppie di memorie USB e Yubikey vanno in due buste distinte che vengono consegnate a me e a Nicole Harris. Il single board computer, che contiene una copia cifrata della chiave in memoria, viene infilato in un’altra busta antieffrazione. La prima parte della cerimonia è terminata.

Quando abbiamo deciso quale modalità utilizzare per replicare la nuova chiave di eduGAIN abbiamo naturalmente considerato anche le funzionalità di generazione e copia di chiavi messe a disposizione dall’apparato di firma remota utilizzato da SUNET. Come è possibile immaginare, si tratta di un apparato di tutto rispetto, e quindi con caratteristiche più che accettabili dal punto di vista della sicurezza. Ciononostante non abbiamo pensato nemmeno per un attimo di utilizzarlo per la generazione delle chiavi. Il motivo è semplice e si chiama vendor lock-in. Una chiave generata su un HSM non può essere esportata, l’unico modo per avere una copia di sicurezza consiste nell’utilizzare i protocolli proprietari del fornitore per fare una copia su di un apparato gemello. Condizioni per noi inaccettabili, perché avrebbero comportato di non poter cambiare l’apparato HSM. L’unica scelta possibile per garantire la libertà e l’integrità del processo era, e rimane, il software libero. Ciò non toglie che l’apparato HSM, come vedremo, sarebbe stato utilizzato nel processo, ma alle nostre condizioni.

Per la seconda fase della cerimonia ci trasferiamo al piano di sotto della piccola palazzina della sede di SUNET, dove si trova il data center che ospita l’HSM. Una volta estratto il single board computer dalla busta antieffrazione, lo colleghiamo all’HSM con un cavo ethernet diretto. Decifriamo la chiave con la Yubikey e il processo di installazione può cominciare. Terminate le operazioni sull’HSM, da Varsavia Tomasz Wolniewicz (eduGAIN Operations) comincia subito i test di firma e ci dà le prime conferme che tutto sta funzionando come ci aspettavamo.

Alcuni momenti della cerimonia di creazione della nuova chiave di eduGAIN

Siamo arrivati all’ultimo atto. Il pomeriggio stesso della cerimonia, Nicole Harris parte per Amsterdam, dove la busta con la copia della chiave di eduGAIN sarà conservata nella cassaforte della sede di GÉANT. L’altra busta con il medesimo contenuto è stata affidata a me. Il giorno successivo parto quindi per Roma per portare la busta nella sede GARR, dove finalmente la depositerò nella cassaforte della stanza del direttore.

Al mio arrivo in sede mi aspettano il direttore Federico Ruggieri, la vicedirettrice Claudia Battista e la responsabile dell’amministrazione Claudia Santi. Anche il deposito nella cassaforte di GARR è una piccola cerimonia con ruoli ben definiti. Claudia Santi insieme a Federico Ruggieri è a conoscenza della combinazione ed apre la cassaforte, io consegno il pacchetto e faccio un paio di fotografie di prova prima di richiudere lo sportello.

La cerimonia di creazione della nuova chiave di eduGAIN è stata un’esperienza molto utile. Dimostra che la comunità della ricerca e dell’istruzione ha i mezzi e le conoscenze tecniche per progettare ed eseguire processi che richiedono un elevato grado di riservatezza e autorevolezza. Dimostra anche che la fiducia della comunità è un aspetto fondamentale di questa costruzione, a riprova del fatto che il modello partecipativo, aperto e democratico di gestione ed erogazione dei servizi permette di superare molte delle costrizioni imposte da modelli commerciali obsoleti.

Ti è piaciuto questo articolo? Faccelo sapere!
Dai un voto da 1 a 5, ne terremo conto per scrivere i prossimi articoli.

Voto attuale:

Ultimi articoli in rubrica