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?