Un approccio diverso a PKI

24

Dopo ancora un altro fallimento dell'infrastruttura a chiave pubblica, stavo pensando a come è rotto il tutto. Questo lavoro di associare innegabilmente un'identità a una chiave pubblica, e tutto il lavoro che mettiamo nel realizzarlo, comincia a sentirsi come un pattinaggio su una collina. Perdonami, per lo più sto solo pensando ad alta voce qui.

Ho iniziato a pensare al ToR Hidden Service Protocol e al loro metodo per risolverlo. Il " nome del servizio nascosto " (che viene digitato nella barra degli indirizzi come qualsiasi altro URL) è in realtà derivato dalla chiave pubblica, quindi finisci per visitare siti come kpvz7ki2v5agwt35.onion , ma non hai bisogno per i certificati o PKI, la chiave pubblica e il dominio da solo sono sufficienti informazioni per dimostrare che appartengono insieme (finché non si è in grado di generare collisioni, ma questa è un'altra storia). Ora chiaramente c'è un problema con questo - l'intero punto del DNS è di fornire una mappatura leggibile agli indirizzi IP.

Il che mi porta al mio suggerimento finale, forse errato; perché non usiamo un indirizzo IP che viene generato da una chiave pubblica? (Al contrario, all'inizio sembra più conveniente, ma non può funzionare per ovvi motivi di crittografia).

Abbiamo uno spazio di indirizzi ENORME con IPv6. Si ritiene che una coppia di chiavi RSA a 1024 bit abbia al massimo 80 bit di entropia. Quindi, perché non dividere un segmento a 80 bit e mappare le chiavi RSA pubbliche in indirizzi IP in questo segmento?

Alcuni lati negativi della parte superiore della mia testa;

  • Quindi un utente malintenzionato può generare una coppia di chiavi e sapere immediatamente su quale server verrà utilizzata la coppia di chiavi, se tale server esiste. Forse lo spazio a 80 bit potrebbe essere espanso per usare chiavi RSA a 4096 bit, che si ritiene abbiano un'entità massima di 256 bit, rendendo così impossibile la ricerca (vorremmo purtroppo richiedere IPv7 + con un indirizzo bit 512 o così per adattarsi comunque). Anche questo attacco non è as cattivo come potrebbe al primo suono, in quanto non è mirato. Questo attacco potrebbe essere mitigato includendo un sale nel processo IP key- > che il server invia ai client quando si connettono. Questo sale rende unico il processo IP di ogni server chiave - >
  • Un utente malintenzionato potrebbe potenzialmente forzare lo spazio chiave utilizzando un sale noto fino a quando non corrispondono a un IP scelto. Questo è un attacco mirato, quindi è un po 'più spaventoso. Tuttavia, l'utilizzo di un algoritmo lento (1-3 secondi) per rendere la mappatura dalla chiave pubblica all'IP potrebbe attenuarlo. L'uso di sale significa anche che tale forza bruta si applica solo a un singolo IP e dovrebbe essere ripetuta per IP di destinazione.

Per provare per fermare le mod che chiudono questo, farò del mio meglio per trasformarlo in una domanda; Questa idea è completamente viziata in qualche modo? È stato tentato in passato? Sto solo vagando?

    
posta lynks 04.01.2013 - 15:18
fonte

3 risposte

24

Mappare la chiave pubblica in un indirizzo IP è facile (basta cancellarlo e conservare i primi 80 bit) e hai elencato i modi per renderlo in qualche modo robusto (cioè trasformare la lenta ). Ha lo svantaggio che non risolve affatto il problema : lo sposta semplicemente.

Il problema consiste nel legare l'accesso protetto da crittografia (vale a dire la chiave pubblica del server) alla nozione di identità che l'utente umano comprende . Gli utenti umani comprendono nomi di dominio . Non li farai convalidare indirizzi IPv6 generati da hash ...

Ovviamente è un sistema distribuito che mappa nomi a dati tecnici come gli indirizzi IP; questo è il DNS . È possibile estenderlo per associare i nomi di dominio ai token di verifica delle chiavi pubbliche (ad esempio, inserire l'hash della chiave pubblica da qualche parte nel DNS) o anche la chiave pubblica stessa. Se si utilizza il DNS per trasferire i binding della chiave del nome sensibili alla sicurezza, il DNS diventa un obiettivo valido, pertanto è necessario aggiungere sicurezza al DNS stesso. A quel punto, hai DNSSEC , che è una proposta in corso per la sostituzione del PKI X.509 per il sito Web HTTPS. Se DNSSEC farebbe meglio di CA esistente non è chiaro; questo è il cambio di attori, ma il business della certificazione concettuale sarebbe ancora in agguato qui.

Gli umani vogliono nomi leggibili dall'uomo e le chiavi pubbliche non sono leggibili. Tutte le soluzioni basate su certificati (che siano X.509 o DNSSEC o qualsiasi altra cosa) cercano di associare una chiave pubblica a un nome scelto arbitrariamente. Un altro metodo distinto sarebbe rendere leggibile la chiave pubblica . Stranamente, ci sono protocolli crittografici per questo: crittografia basata su ID . Usano alcuni strumenti matematici piuttosto tortuosi (accoppiamenti su curve ellittiche). Non cambiano il concetto di base (in realtà, a un certo punto, qualcuno deve fare il collegamento tra un'identità sociale, come "Google", e il mondo dei computer) ma cambiano le dinamiche . In un sistema basato su ID per SSL, ogni server avrebbe chiavi private di durata molto breve e un'autorità centrale emetterebbe ogni server una nuova chiave privata ogni giorno, facendo corrispondere il suo nome. L'effetto netto sarebbe come un PKI X.509 dove la revoca funziona in modo intrinseco , quindi il contenimento dei danni sarebbe efficace.

Un'altra svolta sarebbe sostituire la nozione di identità. Dal momento che gli umani non possono leggere le chiavi pubbliche, quindi, accettarle: non le leggeranno. Invece, rintraccia gli attacchi attivi con entità specializzate, che fanno sanno come leggere le chiavi. Questo è l'intero punto dei "notai" in Convergence . I notai tengono traccia di quale chiave pubblica viene utilizzata da quale sito, e urlano e calciano ogni volta che vedono qualcosa di sospetto.

Ad ogni modo , il sistema corrente è non rotto - non in un modo economicamente rilevante. La violazione a cui stai collegando si unirà ai contrattempi Comodo e DigiNotar; questa è una breve lista. Tali problemi si verificano raramente fino a comparire sul radar finanziario: se si sommano i costi di tutte le frodi che hanno utilizzato un certificato falso del server ottenuto da una "CA attendibile", si otterrà un importo che è ridicolmente piccolo per quanto riguarda i miliardi di dollari da più banali frodi con carte di credito. Dal punto di vista di banche e commercianti e persone che fanno commercio su Internet, X.509 PKI funziona . Non c'è alcun incentivo per loro a promuovere una sostituzione. Se esistesse un falso certificato Google ogni giorno , usato per rubare effettivamente denaro alle persone, la situazione sarebbe diversa. Al momento, siamo intorno a un evento all'anno .

    
risposta data 04.01.2013 - 15:50
fonte
12

Il primo grande difetto della tua idea è che in realtà non risolve molto. Una volta che vuoi nomi significativi come sono attualmente in uso, hai bisogno di DNS o di un sistema simile. Quindi il tuo punto di errore è tornato, tranne che ora è DNS e non CA.

L'inserimento dell'impronta digitale nell'IP offre uno scarso vantaggio nel metterlo in DNS a fianco dell'IP, ma ha il rovescio della medaglia che il routing diventa più complicato e costoso.

C'è un sistema che mette le impronte digitali chiave in DNSSEC, si chiama DANE . Chrome di recente ha aggiunto il supporto per questo.

C'è un sistema chiamato cjdns che mette le impronte digitali in IP. Utilizza 120 bit dell'IP e 8 bit da una struttura di rinforzo, per ottenere l'equivalente di impronte digitali a 128 bit. Tieni presente che a causa di attacchi con più target il livello di sicurezza effettivo è inferiore alla dimensione dell'impronta digitale.

Stai anche sovrastimando il livello di errore PKI. I potenti avversari occasionalmente lo spezzano, ma di solito un criminale normale no. La distribuzione di un sistema come Trasparenza certificato porterà anche a una rapida individuazione di tali errori, quindi un utente malintenzionato brucia i suoi preziosi certificati molto più veloci.

Tutti i sistemi di risoluzione dei nomi si trovano nel triangolo di Zooko . Se vuoi nomi globali e significativi, avrai bisogno di una sorta di registro centrale di fiducia.
Namecoin arriva il più vicino alla rottura il triangolo di Zooko, ma ha anche la sua parte di problemi. Il più grande IMO è che, poiché i marchi non possono essere applicati, il proprietario di google.bit probabilmente non sarà la società ben nota.

Dovresti anche leggere saggio di Zooko su questo argomento.

    
risposta data 04.01.2013 - 15:50
fonte
2

Penso che la chiave più grande sia quella di migliorare il modo in cui vengono revocate le CA radice affidabili di PKI. L'esposizione potrebbe essere limitata se esistesse un elenco di revoca principale per le CA radice, quindi solo una CA radice compromessa sarebbe davvero importante e quella potrebbe essere protetta come Fort Knox. Se mai è stato compromesso, è possibile applicare le attuali modalità di correzione delle patch.

Un'altra possibilità è legare le credenziali SSL al record DNS. Un dato TLD dovrebbe essere in grado di risolvere quale certificato SSL è valido per dire che è la sua identità. Ciò richiederebbe che entrambi i DNS vengano falsificati e che una CA radice venga compromessa, entrambi senza rilevamento per attivare una revoca. Ad esempio, se una CA radice è stata compromessa e ho fatto un certificato dicendo che ero Google.com, semplicemente facendo un controllo sul record DNS di google.com potrebbe indicare che il certificato non corrisponde e non è autentico. In effetti, anziché affidarci esclusivamente alla terza parte, richiederemmo alla terza parte e alla prima parte di concordare su due canali diversi.

Mi rendo conto che non aiuta ancora le situazioni in cui un MITM ha sia una CA radice compromessa che la capacità di alterare i risultati DNS, ma limita strongmente i possibili scenari di attacco utili di una CA compromessa. (Al contrario di essere attualmente in grado di far credere alla maggior parte degli utenti che www.gaggle.com sia un nuovo servizio di Google con cui devono accedere con il proprio Google Wallet.

    
risposta data 04.01.2013 - 16:04
fonte

Leggi altre domande sui tag