Stronghold è una collezione di librerie multiuso per la gestione sicura di password, dati personali e chiavi private.

Repository Ufficiale: https://github.com/iotaledger/stronghold.rs

Internet può essere un luogo pericoloso ed il 2020 sembra un anno in cui tutto può accadere.
Che si tratti di deep-fakes, attacchi DDoS, ransomware, leak di notizie, l’insicurezze di Zoom oppure il browser fingerprinting – questi rischi sono quotidianamente presenti per ognuna delle nostre “vite digitali” .
Alla IOTA Foundation siamo dolorosamente consapevoli della misura in cui le dipendenze di terze parti possano introdurre rischi.

Ciò che abbiamo imparato dagli attacchi perpetui al nostro ecosistema è che la sicurezza deve essere un principio guida nelle Distributed Ledger Technologies, non un ripensamento futuro.
Dobbiamo essere vigili su tutto il nostro stack e le nostre operazioni. Il mindset della “sicurezza prima di tutto” deve influenzare non solo le nostre pratiche, ma anche indirizzare e guidare le nostre decisioni di progettazione del software.

In qualità di fondazione impegnata, secondo lo statuto, a contribuire all’open source ed alla formazione continua, siamo moralmente obbligati a canalizzare le nostre energie nel migliorare il bene superiore – non solo i nostri interessi.

Nel contesto di essere dei “buoni cittadini digitali”, la cosa migliore che possiamo fare è offrire mezzi per potenziare la sicurezza di tutti i tipi di software, comprese le cryptocurrencies, le Distributed Ledger Technologies e persino le infrastrutture finanziarie come gli exchange ed i wallet. In particolare, cerchiamo di rafforzare l’ambiente di lavoro per gli sviluppatori, di migliorare la sicurezza delle applicazioni e di offrire a tutti migliori opzioni per archiviare ed utilizzare in modo sicuro i segreti digitali di alto valore.

La gestione sicura di segreti digitali come password, codici di accesso ai veicoli e seeds del wallet comporta molte sfide:

  • I segreti di alto valore come le chiavi private devono essere criptati a riposo, utilizzando algoritmi moderni e sicuri
  • Tali segreti devono essere eliminati dalla memoria del dispositivo immediatamente dopo l’uso
  • Gli utenti devono essere in grado di configurare i sistemi in base alle loro esigenze di sicurezza
  • Le applicazioni devono funzionare su qualsiasi tipo di hardware, dai telefoni alle auto, sfruttando ambienti di esecuzione affidabili ove possibile
  • Devono essere estensibili con sicurezze hardware come Yubikey e Ledger Nano
  • Deve utilizzare il minor numero possibile di dipendenze esterne
  • Deve essere sottoposto ad una verifica completa da parte di professionisti della sicurezza di terze parti
  • Le biblioteche sottostanti devono essere gestite da un manutentore affidabile ed attivo

Abbiamo passato diverso tempo a studiare i progetti esistenti, ma purtroppo non siamo riusciti a spuntare tutte le caselle e abbiamo deciso di andare avanti e costruire Stronghold per mettere al sicuro quanto appena elencato.

Stronghold, in poche parole

Stronghold è un’implementazione software sicura che ha il solo scopo di isolare i segreti digitali dall’esposizione agli hacker e dai leak accidentali. Utilizza snapshot versionati basati su file con doppia cifratura, che possono essere facilmente sottoposti a backup e condivisi in modo sicuro tra i dispositivi. Scritto in Rust, ha forti garanzie sulla sicurezza della memoria e sull’integrità del processo. Le librerie di alto livello, adatte agli sviluppatori, integrano il protocollo IOTA e servono come implementazione di riferimento per chiunque sia alla ricerca di ispirazione o di strumenti migliori in questa categoria. Le librerie di basso livello non hanno alcuna nozione di criptovaluta incorporata al loro interno e possono essere utilizzate nella loro interezza senza le librerie di alto livello. In altre parole, chiunque, di qualsiasi settore industriale, può utilizzarle.

Inizieremo a lanciare IOTA Stronghold per rendere sicuro il nuovo wallet. Nella prossima fase, avremo una forte integrazione con IOTA Identity. Non vediamo l’ora di lavorare con gli exchange per scoprire nuovi modelli di utilizzo per Stronghold e siamo anche entusiasti delle molte possibilità che porta al nostro lavoro con gli smart contracts.

Per i Tecnici Professionisti

Il compito primario di Stronghold è quello di isolare l’attività delle funzioni “privilegiate” dagli altri programmi. Per esempio, un obiettivo primario è quello di creare un’enclave software in cui le chiavi private vengono utilizzate per firmare i messaggi senza rivelare quelle chiavi ad altre funzioni. Nel prossimo futuro, ci aspettiamo di spostare lo stack Stronghold nelle Trusted Execution Environments (TEE) e di integrarlo in un hardware personalizzato.

Si basa su una suite di librerie di basso livello note come Stronghold Engine che forniscono strumenti ed algoritmi per costruire sistemi sicuri in Rust in un modo che può essere incorporato e distribuito su dispositivi indipendentemente dall’architettura e dal sistema operativo. Questa raccolta di librerie si occupa dell’offuscamento, della crittografia, dell’uso e della condivisione di segreti tra i dispositivi. È stata oggetto di ricerca e sviluppo negli ultimi 8 mesi – partendo dal sito https://ionary.dev – ed è culminata in una sovvenzione del Fondo per lo Sviluppo dell’Ecosistema IOTA, che è stata completata con successo. Il suo codice può essere rivisto qui su GitHub e il suo autore principale, Tensor, ha preparato sia una retrospettiva sul suo sviluppo che un video introduttivo.

Stronghold è scritto in un Rust stabile e ha quattro componenti primari:

  • librerie modulari di basso livello per la costruzione di una blackbox sicura di dati versionati con un livello di persistenza file-backed snapshot-oriented che permette agli utenti di condividere i loro dati in modo sicuro tra i dispositivi (qualità beta)
  • librerie di alto livello che integrano IOTA con le librerie di basso livello e le espongono in modo intuitivo (pre-alpha, attualmente in sviluppo attivo)
  • un’interfaccia attore-modello per applicazioni focalizzate sulla sicurezza che utilizzano Rust (pre-alpha, attualmente in sviluppo attivo)
  • Collegamenti FFI ad altri linguaggi di programmazione come C, Java e Node.js (disponibile a breve)

Cosa farai con Stronghold?

Per via della sua compostabilità, ci sono molte applicazioni interessanti che possono essere costruite utilizzando Stronghold – non solo i portafogli di criptovaluta. Il suo motore di basso livello è totalmente agnostico e così flessibile che gli algoritmi di crittografia possono essere sostituiti a piacere, composti in modi nuovi ed estesi con altre parti di qualsiasi stack. Le librerie di alto livello saranno così solide che potrete affidare loro il compito di fare le cose nel modo giusto.

Wallet

Il portafoglio IOTA di Alice è protetto da Stronghold, che può essere configurato (come si vede nell’immagine sopra) per sorvegliare l’attività nel suo portafoglio ed evitare che si verifichino eventi pericolosi.

Exchanges

Alice la day-trader ed i suoi exchange possono utilizzare in modo collaborativo la generazione distribuita di chiavi Stronghold e le firme di soglia BLS per migliorare la verificabilità dei trasferimenti di Token IOTA ad alto volume.


Strumenti di gestione delle Password

La cancellazione sicura della memoria dopo l’uso di una password è una vulnerabilità comune nei gestori di password. Stronghold aiuterà Alice ad essere più sicura.

Centro multimediale

Alice noleggia un film usando il suo telefono per la riproduzione sulla sua Smart TV. Il film viene inviato alla TV come flusso criptato e una chiave di decodifica viene sincronizzata con la Stronghold del suo dispositivo. Dopo 48 ore la chiave viene cancellata dal suo Stronghold dal servizio e il video non può più essere riprodotto.

Processori dati e controller GDPR

Invece di memorizzare le informazioni di identificazione personale in un database centralizzato che può essere rubato in un colpo solo, Alice può scegliere di condividere e revocare l’accesso ai suoi dati direttamente dalla sua applicazione alimentata da Stronghold.

Agenzie di Viaggio

Alice condivide in modo sicuro i dati del suo passaporto con la sua agenzia di viaggi e, grazie al modo in cui gli Strongholds si sincronizzano tra loro, quando l’agenzia di viaggi non ha più bisogno dei dati del passaporto, può rimuovere il suo accesso ad essi.

Sviluppatori di software

L’utilizzo dell’interfaccia a riga di comando di Stronghold o del daemon system come sistema di recupero e segreto locale migliora la sicurezza operativa di Alice e aiuta a prevenire la divulgazione accidentale.

Il Futuro

Stronghold non è ancora stata sottoposta a una verifica formale delle vulnerabilità di sicurezza e si sta muovendo verso la prossima fase di coinvolgimento della comunità pubblica. Stiamo rendendo pubblico questo lavoro, nella speranza che le comunità open-source e di sicurezza trovino l’opportunità di rivedere la progettazione e l’implementazione. In ogni caso, alla fine dell’autunno 2020, Stronghold sarà sottoposta a un audit di sicurezza esterno completo. Dopo la conclusione dell’audit e le rispettive revisioni, dichiareremo il progetto sufficientemente maturo per essere utilizzato nei vostri progetti.

Il primissimo test interno di Stronghold sarà nella sua integrazione con il prossimo wallet ufficiale costruito per Chrysalis (che sarà sottoposto a un audit esterno prima del rilascio). Sarà il meccanismo di stoccaggio per mettere al sicuro i seeds e le informazioni di identificazione personale. Stronghold permetterà inoltre agli utenti di migliorare la sicurezza del loro wallet con la conservazione sicura del Ledger e l’accesso a Yubikey.

Repository ufficiale: https://github.com/iotaledger/stronghold.rs

Video introduttivo low-level: https://youtu.be/pd-XWaGLIck

Come sempre, potete unirvi al nostro Discord per fornire feedback, commenti e partecipare alla discussione.

Per ulteriori informazioni in italiano o tedesco trovate i miei contatti a questa pagina.
Se avete trovato utile la mia libera traduzione, accetto volentieri delle donazioni 😉

IOTA:
DNYPTKSCIBUTMHQDZYFVS9RNCPNMOGWJAFSEXUB9TDOVKDTPEQPVWRRULUPHGAWUMNMNCQJWATRXBGPPWD9LVBYXZC
Non garantisco nulla e mi libero da ogni responsabilità.