Nuovo sistema di autenticazione proposto per i sviluppatori Linux – ecco i dettagli
Nello spirito delle parole del cantautore Pete Townshend “Chi sei tu? Sono curioso di saperlo!”, i custodi del kernel Linux si trovano a chiedersi: chi sono i loro programmatori e come possono essere certi che il codice che questi inviano sia davvero opera di chi dichiara di averlo prodotto?
Nel 2011, hacker riuscirono a violare il sito principale di sviluppo Linux, kernel.org. Per evitare situazioni simili in futuro, la comunità del kernel decise di “avviare” esplicitamente il web di fiducia PGP durante una sessione faccia-a-faccia per la firma di chiavi a Kernel Summit 2011.
Più recentemente, un utente malintenzionato ha compromesso l’utilità xz, quasi causando l’infezione del sistema Linux con malware.
La loro nuova proposta, che chiamerò Linux ID, è stata presentata questa settimana da Daniela Barbosa e Hart Montgomery della Fondazione Linux Decentralized Trust e dal CEO di Affinidi, Glenn Gore, una società di fiducia digitale aperta.
Linux ID mira a fornire alla comunità del kernel un modo più flessibile per dimostrare chi sono le persone e chi non lo sono, senza dover fare ricorso a conferenze di firma di chiavi o chiamate video improvvisate.
Al centro di Linux ID ci sono “prove di persona” criptografiche basate su standard moderni di identità digitale piuttosto che sull’approccio PGP. Il sistema emette e scambia certificati di identità verificabili, come “questa persona è un individuo reale”, “questo sviluppatore lavora per tale società” o “questo custode del kernel ha riconosciuto quest’altra persona”.
Questi certificati possono essere basati su ID digitali governativi quando disponibili; verificatori di identità terzi, simili a centri di domande di visto; datori di lavoro; o la Fondazione Linux stessa come emittente.
Il modello è intenzionalmente indipendente dall’emittente e componibile: se due sviluppatori condividono fiducia in differenti emittenti, possono ancora trovare percorsi di fiducia sovrapposti, rendendo il sistema più robusto a misura che aumentano gli emittenti indipendenti.
Per quanto riguarda la tecnica, Linux ID è basato su identificatori decentralizzati (DIDs) e utilizza un tessuto di messaggistica decentralizzato. Questo permette ai partecipanti di stabilire relazioni e scambiare certificati senza rivelare la loro topologia di rete.
Durante una dimostrazione live, Gore ha mostrato come uno sviluppatore nuovo possa creare un’identità, iscriversi alla comunità Linux Foundation e poi stabilire una relazione con un altro partecipante utilizzando DIDs a due facce. Una volta stabilita questa relazione, i due possono scambiarsi certificati verificabili più ricchi che registrano fatti come il livello di fiducia della relazione o la validità del certificato.
Per i custodi del kernel, l’idea è che questi certificati sostengano le identità alle quali sono associati i codici firmati: invece di fare affidamento solo su una chiave PGP confermata anni fa, i custodi possono controllare un insieme di certificati freschi che provano che la chiave vista appartiene a quella persona riconosciuta dalla Fondazione Linux o da altri emittenti fidati.
Il sistema non garantisce che attacchi come quello subito dal xz non si ripetano, ma sostengono che lo rende molto più difficile.
L’implementazione spinge verso certificazioni a breve termine e registri di revoca affidabili, dando alla comunità strumenti per reagire rapidamente in caso di compromissione.
La stessa tecnologia che permette ai custodi di vouchare per i programmatori umani può delegare autorità limitata a agenti AI con certificati separati. Questo potrebbe facilitare l’uso di strumenti automatici come integrazioni continue o test di patch in modo sicuro.
Linux ID non è ancora implementato, ma la Fondazione Linux intende avviarne le discussioni entro un anno e adottarlo gradualmente per rendere il codice Linux più sicuro che mai.
