Secretbox Overview-V1

31
SECRETBOX Concept Proof

Transcript of Secretbox Overview-V1

Page 1: Secretbox Overview-V1

SECRETBOX Concept Proof

Page 2: Secretbox Overview-V1

COSA E' SECRETBOX?

E’ un sistema hardware/software che permette l'invio/ricezione di messaggi (con allegati) tra due o più interlocutori. Garantisce la totale indecifrabilità dei

messaggi da parte di malintenzionati nel caso di intercettazione.

PC Client PC Client

Server Secretbox

Server Secretbox

Page 3: Secretbox Overview-V1

USO HTTPS, SSH, VPN, CERTIFICATI PER LE CONNESSIONI... SONO AL SICURO!

No, non sei al sicuro. La compromissione di quei sistemi crittografici è già stata eseguita in passato e continuerà ad esserlo in futuro. Leggi

articolo

HT

TP

S

VPN

CO

NN

ESSIO

NI

SICU

RE

CONNESSIONI CERTIFICATE

SSH

Page 4: Secretbox Overview-V1

USO HTTPS, SSH, VPN, CERTIFICATI PER LE CONNESSIONI... SONO AL SICURO!

Sono sistemi che devono servire la massa degli utenti su Internet. Per loro natura introducono compromessi tra facilità d'uso e sicurezza,quindi sono vulnerabili.

La SB NON SCENDE A COMPROMESSI MA PUNTA TUTTO SULLA SICUREZZA. Anche se la VPN fosse in sé affidabile (e non lo è! ) il sistema operativo

sul quale funziona e gli altri programmi non lo sono. La sicurezza può essere vista come una catena composta da anelli di ferro (gli

elementi insicuri) con ai due capi due anelli d'oro (gli elementi sicuri, rappresentati dalle due SB).

LA SB NASCE PER FARE UNA SOLA COSA: scambiare messaggi comprensivi di allegati in modo matematicamente indecifrabile. UNA SOLA COSA MA FATTA BENE.

LEGGI ARTICOLO

Page 5: Secretbox Overview-V1

PERCHÉ LA SB E' DIVERSA DAGLI ALTRI SISTEMI CITATI?

Gli attuali sistemi di crittografia per lo scambio di messaggi riservati si basano sul concetto di chiave asimmetrica e sono "abbastanza" sicuri ma non TOTALMENTE sicuri

Si leggano i seguenti articoli

SB si basa su un meccanismo di chiave simmetrica OTP (One

Time Pad): questo la rende TOTALMENTE sicura perché si basa sul fatto che la chiave di cifratura è diversa per “ogni” messaggio. Questo la pone al riparo da sistemi di criptoanalisi: matematicamente, il sistema è PERFETTO.

LEGGI ARTICOLO

LEGGI ARTICOLO

Page 6: Secretbox Overview-V1

PERCHÉ LA SB E' DIVERSA DAGLI ALTRI SISTEMI CITATI?

La SB non è un hardware o un software, ma un HARDWARE E UN SOFTWARE.

Il sistema è composto da UNA CHIAVE USB che contiene il

“core” software da usare sul PC CLIENT (es: il vostro laptop) e un SERVER (un apparato poco più grande di un pacchetto di sigarette) che si occupa delle attività di invio/ricezione vere e proprie.

Questo dualismo separa fisicamente il client da

internet rendendolo perciò irraggiungibile da attacchi via Rete.

Page 7: Secretbox Overview-V1

DIMMI DI PIU' SULLA PARTE TECNICA

Le comunicazioni riservate possono subire vari tipi di attacco:

A. criptoanalisi B. analisi dell'algoritmo di criptazione C. attacco a forza bruta D. attacco “legale”

Vediamole nel dettaglio.

Page 8: Secretbox Overview-V1

DIMMI DI PIU' SULLA PARTE TECNICA

A. CRIPTOANALISI L'analisi criptografica, o brevemente, crittoanalisi è lo studio di molti messaggi scambiati tra le parti allo

scopo di cercare pattern (cioè ripetizioni di sequenza numeriche) che, opportunamente studiate, portano alla decifrazione della chiave e alla forzatura di tutti i messaggi passati e futuri.

SB è immune da questo tipo di attacco in

quanto ogni messaggio è crittografato con una chiave diversa vanificando la ricorrenza di "pattern".

LEGGI ARTICOLO

Page 9: Secretbox Overview-V1

DIMMI DI PIU' SULLA PARTE TECNICA

B. ANALISI DELL’ALGORITMO La disponibilità dei sorgenti dei programmi consente l'analisi

dell'algoritmo di crittografia, cosa che porta a scoprire le vulnerabilità del software. Algoritmi inizialmente ritenuti robusti (il WEP per le comunicazioni wireless) si sono poi dimostrati molto deboli e in grado di essere forzati in pochi minuti.

Il programma sorgente è uno dei pilastri del nostro prodotto e quindi non è di pubblico dominio. Tenere il programma nascosto non renderebbe credibile la nostra proposta in quanto noi stessi potremmo aver nascosto una “backdoor” nel codice e tramite essa spiare i nostri clienti.

Anche se ciò fosse possibile, l'architettura stessa del sistema lo impedisce: la chiave è presente SOLO sul CLIENT, il quale comunica UNICAMENTE col SERVER. Se quest'ultimo fosse compromesso e obbligato a inviare messaggi ad altri destinatari oltre a quello legittimo, l'attaccante che ricevesse una copia del messaggio sarebbe sempre e comunque sprovvisto della chiave, cosa che rende il messaggio una sequenza di bit indecifrabili.

Page 10: Secretbox Overview-V1

DIMMI DI PIU' SULLA PARTE TECNICA

C. ATTACCO A “FORZA BRUTA” L'attacco a forza bruta è, per definizione, un tipo di attacco che ha

SEMPRE successo, indipendentemente dal tempo necessario per arrivare a compimento.

L’attacco è di natura probabilistica: più la dimensione della chiave è ampia, maggiore è il tempo necessario per decifrarla. Un attaccante particolarmente fortunato potrebbe, teoricamente, “indovinare al primo colpo”.

L’ALGORITMO ADOTTATO SULLA SB E’ INATTACCABILE: OGNI MESSAGGIO E’ CODIFICATO DA UNA SUA PROPRIA CHIAVE.

Prendiamo come esempio il seguente messaggio: “Compra subito le FIAT Privilegiate!”. L'attaccante vedrebbe una sequenza di 35 caratteri crittografati. L’aggressore dovrebbe generare il risultato decrittato con tutte le combinazione di testo che vanno da “aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa” a “ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ”.

Page 11: Secretbox Overview-V1

DIMMI DI PIU' SULLA PARTE TECNICA

C. ATTACCO A “FORZA BRUTA” Una tastiera, contiene circa 95 caratteri. Il numero dei caratteri

usati nell'esempio è 35, se ne deduce che le possibili chiavi di decifrazione sono 95^35=1660833839876074270516899051993130769862684825784526765346527099609375.

Tutti i computer del mondo non riuscirebbero ad affrontate questo compito in tempi accettabili. Poniamo per assurdo l'attaccante disponga di risorse in grado di eseguire il lavoro: é solo l'inizio, dopo deve scartare tutte le combinazioni non ammissibili. Alla fine resterebbero TUTTE le frasi di 35 caratteri che sono ugualmente ammissibili, cioè l'attaccante non può sapere quale sia la frase realmente inviata.

Abbiamo fatto un esempio con soli 35 caratteri: ogni volta che si aggiunge un singolo carattere, aumenta di oltre 90 volte la complessità del lavoro per l'aggressore.

Page 12: Secretbox Overview-V1

DIMMI DI PIU' SULLA PARTE TECNICA

D. ATTACCO “LEGALE” Nel 2013 un servizio di mail “forte” ( ) è stato

interrotto perché il suo gestore è stato minacciato dal governo degli Stati Uniti che gli ha imposto di “aprire” le mail dei suoi clienti alle ispezioni governative.

A tale minaccia, il gestore del servizio ha preferito chiudere

piuttosto che tradire la fiducia che i clienti avevano riposto in lui.

Questo tipo di attacco non può essere applicato nel nostro caso in quanto NON esiste un server centralizzato da noi amministrato ma ogni utente dispone del proprio sistema di comunicazione personale.

LEGGI ARTICOLO

Page 13: Secretbox Overview-V1

ESISTE UNA VERSIONE DI SB USABILE TRAMITE WINDOWS/ANDROID/OSX/IOS?

No e non esisterà MAI Non perché non possiamo farla, ma perché NON VOGLIAMO FARLA. Usare sistemi operativi non affidabili è come aggiungere un anello di

ferro (insicuro) a monte di uno degli anelli d'oro (sicuri), questo annulla l'intera catena di sicurezza.

Sistemi operativi come Windows, Ios, Android, ecc. sono per definizione INSICURI ED INAFFIDABILI per coloro che vogliono la privacy assoluta nelle proprie comunicazioni.

Apparati di rete come router, modem, ripetitori wireless ecc. sono tutti strumenti contenenti software "opacizzato" e quindi non affidabile. Ognuno di questi elementi (sistema operativo, modem, router, ecc) rappresenta uno degli “anelli di ferro” della catena ai cui due capi sono poste le due SB, rappresentanti i due “anelli d'oro”.

Il messaggio DEVE essere crittografato PRIMA DI ENTRARE in contatto con uno elemento insicuro e de-crittografato DOPO ESSERE USCITO dalla catena di elementi insicuri: QUESTO E’ IL SOLO ED UNICO MODO PER GRANTIRE LA SICUREZZA.

Page 14: Secretbox Overview-V1

NON MI POSSO FIDARE DEL SISTEMA OPERATIVO, MA ANCHE LA SB NE HA UNO!

Non ci si può fidare dei sistemi operativi commerciali (Windows, MAC OSX, ecc), noi sul server usiamo un sistema operativo minimale (basato su kernel linux).

Una versione “tirata all'osso” eliminando tutto ciò che non è strettamente indispensabile, riducendo al minimo il rischio di compromissione. Anche la parte utente si limita a consentire solo la connessione a SB e null'altro.

Ogni utente dispone di DUE META’ composte da CLIENT e SERVER, il primo è inutile senza il secondo e viceversa.

Un attaccante da Internet potrebbe al massimo vedere il server ma non il client. E quindi debolezze presenti sul CLIENT non potrebbero venire sfruttate da aggressori remoti in quanto il CLIENT NON E' raggiungibile da Internet dato che il SERVER LO SEPARA fisicamente da Internet.

Page 15: Secretbox Overview-V1

CHI HA LE CHIAVI DI CRITTOGRAFIA?

Generiamo le chiavi crittografiche in un modo tale da garantire la loro massima casualità; una attività che richiede tempo, quindi noi generiamo le chiavi e le pre-carichiamo nel CLIENT.

Tuttavia, non dovreste fidarvi di nessuno e quindi NEMMENO DI NOI. Potremmo essere tentati di “giocare contro di voi” . Potremmo essere costretti da terzi a conservare una copia delle chiavi e quindi

compromettere la sicurezza delle vostre comunicazioni.

Lo scopo è rendere il sistema inattaccabile sia dall'esterno (Internet), sia da chi lo ha progettato (noi stessi), in modo da mettere il controllo unicamente nelle mani dell'utente finale.

La cosa migliore è preparare le SB alla presenza dell'acquirente: Introdurre codice con variabili scelte a caso al momento della compilazione da

parte del cliente stesso (e quindi sconosciute persino al nostro operatore) è la massima garanzia che possiamo fornire

Conclusa l'attività nulla resterebbe nelle mani del nostro personale (nemmeno il computer usato per preparare le SB).

Non potremmo in alcun caso nuocere alla privacy delle comunicazioni dell'utente finale né di nostra volontà né dietro pressione di terzi.

Page 16: Secretbox Overview-V1

QUALI SONO I VINCOLI?

A. CLIENT e SERVER devono rimanere custoditi in posti sicuri.

B. CLIENT e SERVER devono essere veicolati tramite un canale sicuro, quindi idealmente consegnati a mano da un interlocutore all'altro (niente corrieri, poste, ecc).

C. LA PASSWORD E’ “A SCALARE”, cioè si consuma nel tempo: questo fatto garantisce: la robustezza delle comunicazioni; ogni parte della chiave è usata una volta sola e poi “buttata via”; la password ha una dimensione tale per cui anche inviare

l'equivalente di duecento cartelle dattilografate al giorno (un libro di medie dimensioni) richiederebbe più di 100 anni per esaurire la chiave che può considerarsi “infinita”.

Page 17: Secretbox Overview-V1

DEVO SCAMBIARE ALLEGATI DI GROSSE DIMENSIONI: SI PUO' FARE?

SI

Il sistema è strutturato per messaggi con allegati dalle dimensioni moderate, ma nulla vieta di utilizzare chiavi crittografiche tali da consentire lo scambio di decine/centinaia di GigaByte, proprio in risposta a questo tipo di esigenza.

Page 18: Secretbox Overview-V1

LE SB DEI VARI CLIENTI SONO IDENTICHE?

SI e NO.

SI: ogni gruppo di SB è unico. Tutte le SB di quel gruppo devono poter parlare tra di loro, quindi sono identiche dal punto di vista della comunicazione.

NO: le SB di un gruppo non possono parlare con le SB di un altro gruppo. In altre parole, oltre al fatto che le chiavi crittografiche sono univoche per il singolo gruppo, è anche diverso il programma che gestisce la comunicazione: in tal modo, un utente che volesse usare la propria SB per tentare di compromettere le comunicazioni di un altro utente si ritroverebbe nell'impossibilità di farlo.

Page 19: Secretbox Overview-V1

QUINDI POSSO COMUNICARE IN MODO INDECIFRABILE E ANONIMO?

SB nasce per garantire l'indecifrabilità dei messaggi e l'invio degli stessi nel modo più anonimo possibile.

Invio e Ricezione sono affidati ad un hardware che NON dispone delle chiavi di de-crittazione: questo pone al riparo da attacchi che “bucano” i server, attività difficile ma teoricamente possibile.

Un attaccante preparato potrebbe capire che “i due sistemi fanno qualcosa” e registrare le loro comunicazioni, non riuscendo nel proprio intento perché: in assenza delle chiavi la massa di messaggi registrati risultano

come una serie di dati indecifrabili; nemmeno dallo studio più intenso (criptoanalisi) si può risalire con

certezza al contenuto dei messaggi.

Page 20: Secretbox Overview-V1

POSSO TENERE MEMORIZZATI I DATI INVIATI E RICEVUTI?

Pur essendo tecnicamente possibile, tale caratteristica è stata volutamente tralasciata in fase di progettazione.

Con le SB nessun messaggio viene conservato sul CLIENT come “posta inviata” o “posta ricevuta”. Ciò garantisce che se un eventuale attaccante entrasse fisicamente in possesso di un CLIENT non possa accedere allo storico delle comunicazioni: NON C‘E’ UNO STORICO.

E’ comprensibile la necessità di spostare altrove allegati di grosse dimensioni come filmati, foto, documenti pdf, ecc. L'utente ha la facoltà tecnica di salvare i messaggi e gli allegati ricevuti su una memoria di massa locale (chiavetta/disco usb) indipendente dal CLIENT.

Page 21: Secretbox Overview-V1

QUINDI IL SERVER CONSERVA I MESSAGGI!!!

SI e NO. Il SERVER che invia il messaggio lo conserva il tempo minimo

indispensabile per ricevere dal SERVER di destinazione la conferma dell'avvenuta ricezione, dopodiché lo distrugge in modo irrecuperabile.

Il messaggio crittografato si trova ora sul SERVER di destinazione in attesa che il relativo CLIENT lo prelevi.

Appena in client del ricevente scarica il messaggio, il server del ricevente lo distrugge.

NULLA viene salvato su memoria di massa (memorie uSD, dischi fissi, chiavette usb, etc) né da parte dei CLIENT né da parte dei SERVER.

Tutti i messaggi sono gestiti tramite RAM: spento il CLIENT, qualunque mail inviata o ricevuta è persa per sempre.

Page 23: Secretbox Overview-V1

COSA SUCCEDE SE UN SERVER VIENE COMPROMESSO?

Il manifestarsi di questa eventualità renderebbe l'attaccante ipoteticamente in grado di copiare tutti i messaggi in entrata e uscita, ma tali messaggi sono inutilizzabili in mancanza della chiave di de-crittazione presente sui CLIENT.

Page 24: Secretbox Overview-V1

COSA SUCCEDE SE UN CLIENT VIENE COMPROMESSO?

E' come se duplicassero le chiavi di casa: automaticamente la porta non sarebbe più affidabile.

La sicurezza dei CLIENT è fondamentale, la sua compromissione rende insicura tutta la catena di comunicazione.

Essendo le due CHIAVI-CLIENT identiche ma uniche (ogni coppia differisce dalle altre coppie sia per la chiave crittografica che per il software che per il “codice di attivazione”) non siamo in grado di fornire dei duplicati: esse andranno cambiate entrambe con una nuova coppia.

Page 25: Secretbox Overview-V1

TEMO MI ABBIANO DUPLICATO SIA IL SERVER CHE IL CLIENT: CHE FACCIO?

La duplicazione di entrambi CLIENT e SERVER non garantisce più la segretezza dei messaggi.

Per l'attaccante sarà molto difficile, se non impossibile, inviare messaggi spacciandosi per voi: non basta infatti che l'attaccante abbia una copia identica del sistema CLIENT/SERVER (o addirittura gli originali).

E’ necessario che l'attaccante sappia ANCHE altre cose sul COME usarli: queste informazioni sono rivelate SOLO agli acquirenti del sistema.

Page 26: Secretbox Overview-V1

E' POSSIBILE AVERE UNA COMUNICAZIONE TRA PIU' DI DUE SISTEMI?

SI

La configurazione minima è ovviamente quella “uno a uno”, ma sono disponibili le modalità “uno-a-molti” o di “molti-a-molti”.

Page 27: Secretbox Overview-V1

IN UNA COMUNICAZIONE MOLTI-A-MOLTI COSA SUCCEDE SE UN NODO VIENE COMPROMESSO?

Ipotizziamo ci siano 6 SB che comunicano tra di loro.

Ogni SB è un “nodo” della rete.

Se uno dei nodi viene compromesso (furto, clonazione ecc), la comunicazione di quel nodo con gli altri è compromessa.

I nodi restanti possono continuare a comunicare in sicurezza tra di loro.

Page 28: Secretbox Overview-V1

QUANTO PUO' ESSERE GRANDE UN MESSAGGIO?

Il server ha una capacità di circa 500MB, questa è la quantità massima di dati inviabile alla volta.

Attenzione che se il messaggio viene inviato a più destinatari CONTEMPORANEAMENTE, allora OGNI copia del messaggio conta nel conteggio degli ingombri totali.

E’ possibile spedire un messaggio da 100MB a non più di 5 destinatari CONTEMPORANEAMENTE: se il messaggio fosse di 150MB, dovrà essere spedito due volte:

prima a tre destinatari (150*3=450MB) e poi agli altri due (150*2=300) in modo da non occupare mai più

di 500MB alla volta nella memoria del server.

Page 29: Secretbox Overview-V1

SONO SEMPRE IN VIAGGIO: COME GESTIRE L'INVIO/RICEZIONE DELLE MAIL?

Ogni membro della rete possiede il proprio server: ciò implica che questo DEBBA ESSERE ACCESO per inviare e/o ricevere messaggi.

Per l'invio non e' un problema, visto che state inviando voi il messaggio, si presuppone che il server lo abbiate acceso. Viceversa, se dovete ricevere un messaggio questo arriverà solo quando il server “dall'altra parte” verificherà l'attivazione del vostro.

I server del mittente e destinatario devono essere accesi nello stesso momento per potersi scambiare un messaggio seguendo la stessa logica di una telefonata su skype: bisogna essere in linea entrambi.

Page 30: Secretbox Overview-V1

E' POSSIBILE CENTRALIZZARE IL SERVIZIO?

E' possibile creare un server “centrale” che faccia da “smistatore” delle mail di tutti. Il dispositivo DEVE ESSERE in una postazione controllata, ad esempio la sala server aziendale.

Un server centralizzato elimina la necessità per due corrispondenti di essere in linea nello stesso momento, ma a quel punto il server centrale diventa il punto debole della catena perché se venisse spento, si interromperebbe la comunicazione tra tutti.

Una soluzione che prende il meglio delle due alternative e' quella di consentire ENTRAMBE le opzioni cioè permettere, a scelta dell'utente, l'invio diretto e/o l'utilizzo del server centrale.

Page 31: Secretbox Overview-V1

QUESTE SB MI PIACCIONO, SI POSSONO USARE PER...?

Il sistema è personalizzabile: contattateci esponendo la vostra esigenza e vi diremo se è tecnicamente realizzabile.

Info, FAQ e info: [email protected]