Come si ottiene un indirizzo .onion specifico per il servizio nascosto?

49

Gli indirizzi onion normalmente dovrebbero essere fatti di una stringa base32 dei primi 80 bit dell'hash SHA1 della chiave privata del server (si veda specifica indirizzo.onion ).

Oggi mi sono imbattuto in un servizio che chiaramente non ha un indirizzo arbitrario: link

In che modo funziona ed è sicuro?

    
posta Perseids 27.01.2013 - 21:33
fonte

5 risposte

59

Shallot è un programma più vecchio, ora ci sono nuove alternative disponibili:

Scallion - utilizza l'hashing GPU, ha bisogno di .NET o Mono: link

Eschalot - utilizza la ricerca di liste di vocaboli, ha bisogno di Unix o Linux: link

Eschalot può trovare nomi più leggibili dall'uomo come seedneedgoldcf6m.onion, hostbathdarkviph.onion, ecc.

Il grafico delle prestazioni sopra riportato è un po 'obsoleto ora, le parole di 8-10 caratteri sono abbastanza facili da trovare.

C'è stata una discussione nel corso della giornata, quando lo scalogno è emerso per la prima volta, se i nomi personalizzati per i servizi nascosti sono cattivi o meno.

Problema numero uno: le chiavi generate hanno un esponente pubblico molto più ampio rispetto alle chiavi standard prodotte da TOR, che mette un carico leggermente superiore sui relè TOR.

Risposta: si è concluso che la differenza è trascurabile rispetto alle altre attività di crittografia che i relè eseguono costantemente. In eschalot, il più grande esponente pubblico è limitato a 4294967295 (4 byte).

Problema numero due: gli sviluppatori TOR possono decidere di filtrare e bloccare tutti i nomi personalizzati.

Risposta: sì, possono, ma non hanno ancora e non c'è davvero alcuna ragione per farlo. Possono altrettanto facilmente cambiare lo standard per i nomi casuali e causare il caos e l'esodo di massa sulla rete.

Problema numero tre: i nomi generati sono facilmente falsificati, poiché il visitatore che fa clic su un link da qualche parte là fuori può essere ingannato dal prefisso onionon apparentemente corretto senza controllare l'intera faccenda. Per dimostrare, qual è il vero SilkRoad?

silkroada7bc3kld.onion
silkroadqksl72eb.onion
silkroadcqgi4von.onion
silkroady3c2vzwt.onion
silkroadf3drdfun.onion
silkroadbdcmw7rj.onion

Risposta: nessuno dei due, ho generato tutti loro per dimostrare il problema. Se hai riconosciuto che erano tutti falsi, probabilmente trascorri più tempo su SilkRoad di quanto mi interessi sapere:).

Per essere giusti, gli indirizzi completamente casuali sono anche peggiori: se qualcuno modifica uno dei collegamenti alle porzioni di cipolla e sostituisce un indirizzo casuale con un altro, il visitatore occasionale che usa quel wiki non conoscerebbe la differenza.

Soluzione: dipende essenzialmente dalla persona che presta attenzione al sito che sta effettivamente visitando, ma il proprietario del sito può creare un indirizzo leggibile dall'uomo che è più facile da ricordare, anche se è un linguaggio senza senso completamente casuale. Finché è lungo e facile da memorizzare e identificare. Alcuni esempi:

fledarmyusertvmu.onion
wifefeelkillwovk.onion
ladyfirehikehs66.onion
woodcubabitenem2.onion

Non ho speso il tempo per generare intenzionalmente dei buoni nomi, ne ho scelti alcuni dalla lista che avevo lasciato dopo aver testato eschalot. Con un vocabolario (molto) di grandi dimensioni, i nomi dall'aspetto unico sono facili da generare, ma ci vorrà del tempo per passare i risultati e individua manualmente quelli che sono decenti.

Bene, questa era la mia opinione e potrebbe essere sbagliato.

- Hiro

    
risposta data 03.03.2013 - 07:38
fonte
9

Puoi usare la forza bruta per trovare una chiave che corrisponda in parte all'hash che desideri. Uno strumento per questo è Scalogno . Il readme di Shallot dice questo sulla sicurezza:

It is sometimes claimed that private keys generated by Shallot are less secure than those generated by Tor. This is false. Although Shallot generates a keypair with an unusually large public exponent e, it performs all of the sanity checks specified by PKCS #1 v2.1 (directly in sane_key), and then performs all of the sanity checks that Tor does when it generates an RSA keypair (by calling the OpenSSL function RSA_check_key).

Per avere un'idea del tempo necessario per generare con Shallot, anche dal readme:

Time to Generate a .onion with a Given Number of Initial Characters on a 1.5Ghz Processor:

characters | time to generate (approx.)
-------------------------------------------------------------------    
1   | less than 1 second    
2   | less than 1 second    
3   | less than 1 second   
4   | 2 seconds    
5   | 1 minute    
6   | 30 minutes    
7   | 1 day    
8   | 25 days  
9   | 2.5 years  
10 | 40 years  
11 | 640 years  
12 | 10 millenia  
13 | 160 millenia  
14 | 2.6 million years
    
risposta data 28.01.2013 - 09:25
fonte
2

Aggiunta alla risposta di Johan Nilsson (dato che non posso pubblicare commenti): Sembra che siano stati creati anche 13 caratteri di URL .onion, un commento su questa voce del blog Tor menziona un URL cipolla di 13 caratteri: deeproadworksbwj.onion (non connettersi ad esso, non so cosa sia o se è buono)

    
risposta data 27.01.2014 - 18:34
fonte
1

Suppongo che semplicemente forza-bruta la generazione della chiave privata, scartando quelle che non hanno le proprietà desiderate.

Dal momento che sono solo 7 caratteri all'inizio che immagino volessero, non possono essere troppo computazionalmente costosi?

    
risposta data 27.01.2013 - 22:31
fonte
1

Questi link per eschalot sono attuali come di questo post:

Il collegamento originale sembra morto (come confermato anche dalla seconda fonte eschalot). Se preferisci fare la ricerca da solo:

risposta data 30.12.2015 - 11:23
fonte

Leggi altre domande sui tag