Discussioni sulla computer security
 

tls senza ca

S2TM 6 Ott 2017 10:09
il problema delle ca è che sono centralizzate. possiamo fare un sistema
tls dove il certificato di un sito è "self signed" dal proprietario del
dominio, e chi ci si collega può essere sicuro che sia quello giusto,
senza coinvolgere una terza parte di cui dobbiamo fidarci?

problema:
alice ha un dominio e vuole esporre un sito. bob vuole collegarsi al
dominio di alice, e essere sicuro che sia il suo e non quello di
qualcun'altro.

cosa abbiamo adesso:
google ha messo su certificate transparency, dove le ca che emettono dei
certificati per domini loggano il certificato emesso in un ct log. poi
ci sono i ct monitor, che monitorano i log e guardano che le ca non
abbiano emesso dei certificati strani.
mettiamoli da parte.

soluzione?:
creo un applicativo server che chiunque può hostare per i cavoli suoi,
nel quale il proprietario di un dominio può scrivere, dopo che
l'applicativo abbia verificato in modo automatizzato che quello che sta
scrivendo sia effettivamente il proprietario del dominio, un checksum.
una roba tipo
31337.it - 29:CE:20:07:EB:EB:3E:B3:27:FB:C4:D2:FE:10:26:24:F5:60:C9:B0

questo applicativo che ho messo su un server chiamiamolo dCA -
distributed CA.

ora il browser, quando bob si collega al dominio di alice, fa il solito
TLS client Hello e si tira giù il certificato del sito di alice
(31337.it). ne verifica il checksum, e si collega sul dCA per verificare
che il checksum sia quello.

siccome bob (o il browser di bob) si fida del dCA, nella ui del browser
appare un bellissimo lucchetto, e bob sa che è effettivamente collegato
al sito di alice e che nessuno può vedere o modificare i dati che si
scambia con esso.

dove sta il problema in questo ipotetico sistema? che se sono il dCA,
nessuno mi obbliga a verificare che sia effettivamente alice a scrivere
il checksum nel mio log, e quindi se sono compromesso e qualcuno vuole
impersonare alice, può scrivere un checksum di un certificato che non
sia quello di alice ma di un terzo che vuole intercettare la comunicazione.
possiamo risolvere questo bug?
se alice invece di scrivere il suo checksum SOLO nel mio dCA, lo
scrivesse in altri 5 o 6 dCA, o 10 dCA, il problema non si porrebbe più:
il browser potrebbe contenere al suo interno 3 dCA, e alice potrebbe
scrivere il suo checksum in questi 3 dCA. a questo punto il browser,
quando bob si collega a 31337.it, verifica il checksum che gli manda
31337.it, verifica il checksum nelle 3 dCA che conosce, e se combacia:
lucchetto verde, altrimenti errore di connessione non sicura.

cosa ne pensate?

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Discussioni sulla computer security | Tutti i gruppi | it.comp.sicurezza.varie | Notizie e discussioni sicurezza varie | Sicurezza varie Mobile | Servizio di consultazione news.