Jak wygenerować adres .onion na Tor
W Internecie, ponieważ większość ludzi go używa, nazwa domeny (np. Expressvpn.com) jest rejestrowana za pośrednictwem rejestratora. Zwykle płacisz za to opłatę.
Część po kropce po prawej stronie domeny, np. „.Com” lub „.ca”, nazywana jest domeną najwyższego poziomu. Często jest to kod kraju, ale istnieją również ogólne domeny najwyższego poziomu, takie jak „.website”. Ostatnio firmy były nawet w stanie zarejestrować własne domeny najwyższego poziomu, takie jak „.apple”.
Te domeny najwyższego poziomu są przypisywane przez Internet Corporation dla przypisanych nazw i numerów (ICANN). Jeśli chcesz utworzyć własną domenę najwyższego poziomu, musisz przesłać swoją propozycję i prawdopodobnie zapłacisz za nią dużo pieniędzy.
Część przed kropką, po lewej stronie domeny, jest poddomeną. Kupując nazwę domeny, taką jak twoja nazwa.com, możesz swobodnie tworzyć subdomeny i kierować je na osobne serwery (np. Blog.nazwa.com lub chat.twoja nazwa.com).
Po zarejestrowaniu własnej domeny u rejestratora (lub nawet domeny najwyższego poziomu w ICANN) możesz wskazać tę domenę na adres IP swojej witryny za pomocą serwera nazw.
W przypadku bezpłatnego i otwartego internetu stwarza to różne problemy.
Jeśli z jakiegokolwiek powodu ICANN nie polubi Cię, może po prostu zabrać Twoją domenę i przekazać ją komuś innemu.
Osoba atakująca może uzyskać dostęp do konta u rejestratora i skierować je na własny serwer. Mogą to wykorzystać do wyłudzenia haseł i innych uprzywilejowanych informacji od użytkowników. Twój serwer jest zawsze łatwo identyfikowalny za pośrednictwem Twojej domeny, co ułatwia cenzurę lub konfiskatę usługi.
.Usługi cebulowe rozwiązują wszystkie te problemy za pomocą sprytnej kryptografii i kilku sztuczek.
Hash klucza publicznego
.witryny z cebulą, takie jak tp7q4m5ln4yhk5os.onion, nie są zarejestrowane. Zamiast tego są skrótem klucza publicznego.
Mówiąc ściślej, są one pierwszą połową skrótu SHA-1 klucza publicznego zakodowanego w base32, z 1024-bitowej pary kluczy RSA z sufiksem „.onion”.
W rezultacie nazwa domeny .onion będzie miała 16 znaków i może zawierać tylko małe litery od a do z oraz cyfry od 2 do 7.
Gdy wpiszesz adres .onion w przeglądarce Tor, w przeciwieństwie do zwykłej domeny, nie będziesz szukał adresu IP na serwerze DNS. Zamiast tego pytasz o katalog usługi ukrytej, który każdy może zgłosić na ochotnika.
Jeśli żądany katalog ukrytych usług wie, jak znaleźć serwer, którego szukasz, zostaniesz przekierowany na stronę internetową, bez ujawnienia jego lokalizacji (dowiedz się więcej o tym, jak Tor działa tutaj).
.rozpoznawanie cebuli od rejestratorów internetowych
Ponieważ ta funkcja działa tylko w sieci Tor, będziesz mógł wyszukiwać witryny .onion tylko w przeglądarce Tor. Gdyby ICANN kiedykolwiek wydał domeny z końcówką .onion, mogłoby to spowodować wiele zamieszania, ponieważ ukryte usługi i witryny w zwykłej sieci rozwiązałyby ten sam adres na dwa różne sposoby, prowadząc do dwóch różnych witryn.
Nie jest to jednak bardzo prawdopodobne, ponieważ ICANN prawdopodobnie rozpozna szerokie zastosowanie i wykorzystanie sieci Tora, i z pewnością chciałby uniknąć nieporozumień w całym systemie nazw domen.
Grupa Robocza ds. Inżynierii Internetowej, IETF, która opracowuje i utrzymuje standardy internetowe, takie jak TCP / IP, już oficjalnie uznała domenę .onion, co zostało uznane za przełomową decyzję w 2015 r. Decyzja ta została podjęta po intensywnym lobbingu w ramach projektu Tor i podjęła ją możliwe, aby Facebook otrzymał cyfrowy certyfikat TLS.
TLS nie jest potrzebny w sieci Tor do szyfrowania, ponieważ połączenie jest już szyfrowane od końca do końca między serwerem .onion a użytkownikiem. Certyfikat ułatwia jednak użytkownikowi sprawdzenie, czy łączy się z właściwym serwerem i stanowi dodatkową barierę dla atakującego.
Zdobycie próżnego adresu .onion
Po wygenerowaniu adresu .onion będzie on wyglądał raczej losowo, jak w przypadku każdego skrótu. Jednak statystycznie rzecz biorąc, jeśli utworzysz wystarczającą liczbę takich adresów, raz na jakiś czas natkniesz się na taki, który jest rzeczywiście czytelny.
Dla każdej pozycji istnieje 32 możliwych znaków. Jeśli chcesz znaleźć adres zaczynający się od e, musisz zgadywać około 16 razy. Jeśli chcesz adres zaczynający się od ex, musisz już zgadywać (32 * 32) / 2 = 512 razy. Na exp potrzeba ponad 16 000 zgadnięć.
Nowoczesny komputer może przy pomocy skryptu łatwo odgadnąć około 1-2 milionów takich adresów na sekundę. Stąd możemy łatwo oszacować, ile czasu zajęłoby nam znalezienie żądanej nazwy domeny. Możemy użyć tego samego procesu, aby spróbować złamać czyjś adres .onion, ale poniższe wykresy pokazują, że nie byłoby to wykonalne.
Aby wygenerować dobry, łatwy do zapamiętania i estetyczny adres .onion, nie ograniczysz się do patrzenia na pierwsze postacie. Za pomocą wyrażeń regularnych można tworzyć wzorce, które są łatwe do odczytania i zapamiętania.
Aby wygenerować domenę .onion facebookcorewwwi.onion, Facebook wybrał nowe centrum danych i użył ponad 500 000 rdzeni do generowania domen w kółko, dopóki nie znalazł takiego, który im się podoba.
Utworzenie domeny .onion zajęło Facebookowi ponad tydzień, a moc obliczeniowa kosztowałaby około 100 000 USD energii elektrycznej.
Nik Cubrilovic, który skonfigurował usługę ukrytą dla Blockchain, twierdzi, że wymyślenie domeny (blockchainbdgpzk.onion) zajęło im tylko 200-300 USD i około 24 godziny przy użyciu instancji AWS G1 i klastra sześciu kart ATi.
ExpressVPN używał tylko jednego komputera ze świeżo zainstalowanym systemem operacyjnym. Komputer nie był podłączony do Internetu, aby ograniczyć ryzyko zdobycia kluczy przez osobę trzecią. Generowanie expressobutiolem.onion oraz kilku innych, mniej ładnych domen zajęło około dwóch tygodni.
.bezpieczeństwo adresu cebuli
Chociaż nie byłbyś w stanie złamać klucza .onion za pomocą laptopa lub nawet tysiąca laptopów, możesz to zrobić, jeśli znajdziesz milion komputerów, z których każdy ma około 10.000 razy więcej mocy obliczeniowej niż twój laptop.
Nawet wtedy może to potrwać kilka lat, ale to, co dziś brzmi niesamowicie drogo, może wkrótce dotrzeć do dobrze finansowanej i zmotywowanej trzyliterowej agencji.
W przyszłości adresy .onion będą musiały zostać zaktualizowane lub trzeba będzie znaleźć nowy schemat. Przynajmniej klucz RSA będzie musiał zostać rozszerzony (ExpressVPN używa już kluczy RSA o długości 4096 bitów do usługi VPN), a algorytm mieszający można zaktualizować do algorytmu SHA-2.
Na przykład adresy Bitcoin są tworzone bardzo podobnie do adresów .onion, ale Bitcoin używa krzywej eliptycznej ECDSA do generowania kluczy 256 bitów i stosuje funkcję haszującą SHA-256 dwa razy w celu uzyskania adresu.
Gdzie dalej dla Tor i .onion?
Nie wiemy, co przyniesie przyszłość dla .onion adresów certyfikatów TLS. Ponieważ adresy .onion są trudne do obliczenia, istnieje małe ryzyko, że zostaną skopiowane, ale użytkownicy nadal mogą zostać oszukiwani, aby podążać za podobnym adresem i zostać wyłudzonym. Aby tego uniknąć, użytkownik musi sprawdzić integralność całej domeny, a nie tylko kilku pierwszych pasujących znaków.
Certyfikaty TLS potencjalnie ułatwiają ten proces, ale wymaga również od posiadacza klucza .onion ujawnienia ich prawdziwej tożsamości, co podważyłoby sam cel usługi ukrytej.
Jedną z możliwości byłoby użycie usług mapowania, takich jak Namecoin lub Blockstack, w celu stworzenia zdecentralizowanej wymiany DNS. Nie jest jednak jasne, jak taki system poradziłby sobie z kucaniem nazw i phishingiem. W końcu przyszłość może nawet należeć do prostych kombinacji długich skrótów kryptograficznych i zwykłych książek adresowych.
Masz własne teorie na temat przyszłości domen .onion? Podziel się swoimi przemyśleniami w komentarzach poniżej!