Как сгенерировать адрес .onion на Tor
В Интернете, как его использует большинство людей, доменное имя (например, expressvpn.com) регистрируется через регистратора. Вы обычно платите за это.
Часть после точки справа от домена, например «.com» или «.ca», называется доменом верхнего уровня. Часто это код страны, но существуют также некоторые общие домены верхнего уровня, такие как .website. Недавно компании даже смогли зарегистрировать свои собственные домены верхнего уровня, например, «.apple»..
Эти домены верхнего уровня назначаются Интернет-корпорация по присвоению имен и номеров (ICANN). Если вы хотите создать свой собственный домен верхнего уровня, вам придется подать свое предложение и, вероятно, заплатит за него много денег..
Часть перед точкой, слева от домена, является поддоменом. Когда вы покупаете доменное имя, например yourname.com, вы можете создавать субдомены и указывать их на отдельных серверах (например, blog.yourname.com или chat.yourname.com)..
После того как вы зарегистрировали свой собственный домен у регистратора (или даже домена верхнего уровня в ICANN), вы можете указать этот домен на IP-адрес вашего веб-сайта с помощью сервера имен..
Для свободного и открытого интернета это создает различные проблемы.
Если ICANN по какой-либо причине вам не понравится, они могут просто забрать ваш домен и передать его кому-то другому..
Злоумышленник может получить доступ к вашей учетной записи у регистратора и указать ее на своем сервере. Они могут использовать это для фишинга паролей и другой конфиденциальной информации от ваших пользователей. Ваш сервер всегда легко идентифицируется через ваш домен, что облегчает цензуру или конфискацию вашего сервиса.
.луковые сервисы решают все эти проблемы с помощью хитрой криптографии и нескольких хитростей.
Хеш открытого ключа
.Луковые сайты, такие как tp7q4m5ln4yhk5os.onion, не зарегистрированы. Вместо этого они являются хешем открытого ключа..
Если быть точным, они представляют собой первую половину хешированного SHA-1 открытого ключа в кодировке base32 из 1024-битной пары ключей RSA с суффиксом «.onion»..
В результате доменное имя .onion будет иметь длину 16 символов и может содержать только строчные буквы от a до z и цифры от 2 до 7.
Когда вы вводите адрес .onion в браузер Tor, в отличие от обычного домена, вы не ищете IP-адрес на DNS-сервере. Вместо этого вы запрашиваете каталог скрытых сервисов, который любой может добровольно запустить.
Если запрашиваемый вами каталог скрытой службы знает, как найти сервер, который вы ищете, вы будете перенаправлены на веб-сайт без указания местоположения (подробнее о работе Tor здесь).
.распознавание лука от интернет-регистраторов
Поскольку эта функция работает только в сети Tor, вы сможете просматривать веб-сайты .onion только через браузер Tor. Однако если бы ICANN когда-либо выдавала домены с окончанием .onion, это могло бы создать большую путаницу, поскольку скрытые службы и сайты в обычной сети разрешали бы один и тот же адрес двумя разными способами, что приводило к двум разным сайтам..
Однако это маловероятно, так как ICANN, вероятно, признает широкое внедрение и использование сети Tor и, безусловно, хотела бы избежать путаницы в системе доменных имен..
Инженерная рабочая группа по Интернету, IETF, которая разрабатывает и поддерживает интернет-стандарты, такие как TCP / IP, уже официально признала домен .onion в том, что было признано знаковым решением в 2015 году. Это решение было принято после интенсивного лоббирования со стороны проекта Tor и сделало его Facebook может получить цифровой сертификат TLS.
Протокол TLS не требуется в сети Tor для шифрования, поскольку соединение между сервером .onion и пользователем уже полностью зашифровано. Сертификат, однако, облегчает пользователю проверку его подключения к нужному серверу и создает дополнительный барьер для злоумышленника..
Получение тщеславия .onion адрес
Когда вы генерируете адрес .onion, он будет выглядеть довольно случайным, как и в случае с любым хешем. Однако, если говорить статистически, если вы создадите достаточно таких адресов, то время от времени вы случайно натолкнетесь на тот, который действительно читается.
Для каждой позиции есть 32 возможных символа. Если вы хотите найти адрес, начинающийся с e, вам придется угадывать примерно 16 раз. Если вам нужен адрес, начинающийся с ex, вам уже нужно угадать (32 * 32) / 2 = 512 раз. Для опыта требуется более 16 000 догадок.
Современный компьютер может с помощью сценария легко угадать около 1-2 миллионов таких адресов в секунду. Отсюда мы можем легко оценить, сколько времени нам потребуется, чтобы найти доменное имя, которое мы хотим. Мы могли бы использовать тот же процесс, чтобы попытаться взломать чужой адрес .onion, но следующие диаграммы показывают, что это невозможно.
Чтобы создать хороший, запоминающийся и эстетичный адрес .onion, вы не ограничитесь простым просмотром первых символов. Вы можете использовать регулярные выражения для создания шаблонов, которые легко читать и запоминать.
Для создания своего домена .onion facebookcorewwwi.onion Facebook взял новый центр обработки данных и использовал более 500 000 ядер для создания доменов снова и снова, пока не нашел тот, который им понравился..
Facebook потребовалось более недели, чтобы создать домен .onion, а вычислительная мощность потребовала бы около 100 000 долларов США на электроэнергию..
Ник Кубрилович, который создал скрытый сервис для Blockchain, говорит, что им понадобилось всего 200-300 долларов США и около 24 часов, чтобы создать свой домен (blockchainbdgpzk.onion), используя экземпляр AWS G1 и кластер из шести карт ATi..
ExpressVPN использовал только один компьютер с только что установленной операционной системой. Компьютер не был подключен к Интернету, чтобы ограничить риск получения ключей третьим лицом. Генерация файла expressobutiolem.onion заняла около двух недель, а также несколько других, менее привлекательных доменов..
.адресная безопасность лука
Хотя вы не сможете взломать ключ .onion на своем ноутбуке или даже на тысяче ноутбуков, вы можете это сделать, если найдете миллион компьютеров, каждый из которых в 10 000 раз превосходит вычислительную мощность вашего ноутбука сегодня..
Даже тогда это может занять несколько лет, но то, что сегодня звучит невероятно дорого, скоро может оказаться в пределах досягаемости хорошо финансируемого и мотивированного агентства из трех букв..
В будущем адреса .onion должны быть обновлены, или будет найдена новая схема. По крайней мере, ключ RSA должен быть расширен (ExpressVPN уже использует ключи RSA длиной 4096 бит для своей службы VPN), а алгоритм хеширования может быть обновлен до алгоритма SHA-2..
Адреса биткойнов, например, создаются очень похоже на адреса .onion, но биткойн использует эллиптическую кривую ECDSA для генерации ключей из 256 битов и дважды использует функцию хеширования SHA-256 для получения адреса.
Где дальше для Tor и .onion?
Мы не знаем, что будет в будущем для сертификатов TLS с адресом .onion. Поскольку адреса .onion сложно вычислить, существует небольшой риск их копирования, но пользователи все равно могут быть обмануты, следуя подобному адресу и получая фишинг. Чтобы избежать этого, пользователь должен проверить целостность всего домена, а не только первые несколько совпадающих символов.
Сертификаты TLS потенциально могут упростить этот процесс, но также требуют, чтобы владелец ключа .onion раскрыл их подлинную личность. Это подорвало бы саму цель скрытого сервиса.
Одной из альтернатив будет использование картографических сервисов, таких как Namecoin или Blockstack, для создания децентрализованной замены DNS. Тем не менее, неясно, как такая система может справиться с приседанием и фишингом имен. В конце концов, будущее может даже принадлежать простым комбинациям длинных криптографических хешей и обычных адресных книг.
Есть свои теории о будущем доменов .onion? Поделитесь своими мыслями в комментариях ниже!