Внимание: Эти инструкции для проверки исходного кода Tor. Пожалуйста, следуйте правильным инструкциям, чтобы проверить подпись Tor Browser.

Цифровая подпись подтверждает, что конкретный файл был создан его разработчиками и не был никем модифицирован. Ниже мы объясняем, почему это важно, и как убедиться, что загружаемый вами исходный код Tor создан нами и не был изменен каким-либо злоумышленником.

Каждый файл на нашей странице загрузки сопровождается двумя файлами с пометками "Контрольная сумма" и "Подпись" с тем же именем, что и у пакета, и расширением ".sha256sum" и ".sha256sum.asc" соответственно.

Файл .asc проверит, что файл .sha256sum (содержащий контрольную сумму пакета) не был подделан. После проверки подписи (см. ниже о том, как это сделать), целостность пакета может быть проверена с помощью:

$ sha256sum -c *.sha256sum

Эти файлы позволяют вам удостовериться, что загруженный вами файл является именно тем, который вы должны были получить. Это зависит от веб-браузера, но обычно вы можете скачать этот файл, щелкнув правой кнопкой мыши ссылки «Подп.» и «Контрольная сумма» и выбрав опцию «Сохранить файл как».

Например, tor-0.4.6.7.tar.gz сопровождается tor-0.4.6.7.tar.gz.sha256sum.asc. Эти имена файлов выбраны для примера. Они не будут в точности совпадать с именами файлов, которые скачиваете вы.

Давайте посмотрим, как проверить цифровую подпись скачанного файла в разных операционных системах. Пожалуйста, учтите, что подпись датируется тем числом, когда файл был подписан. Для каждого нового файла, размещенного на сайте, существует отдельная подпись со своей датой. Если вы уже проверили подпись, на даты можно не обращать внимание.

Установка GnuPG

Для проверки подписей сначала нужно установить программу GnuPG.

Для пользователей Windows:

Если вы пользователь Windows, скачайте Gpg4win и запустите программу установки.

Чтобы проверить подпись, понадобится набрать несколько команд в командной строке (cmd.exe).

Для пользователей macOS:

Если вы пользуетесь macOS, можете установить GPGTools.

Чтобы проверить подпись, понадобится набрать несколько команд в Терминале (найдите его среди приложений).

Для пользователей GNU/Linux:

Если вы пользуетесь GNU/Linux, вероятно, программа GnuPG у вас уже установлена. Большинство сборок GNU/Linux включают GnuPG по умолчанию.

Чтобы проверить подпись, вам нужно будет ввести несколько команд в терминале. Как это делается, будет зависеть от вашего дистрибутива.

Получение ключа разработчиков Tor

Следующие ключи могут подписывать архивный файл. Не ожидайте их всех, это может варьироваться в зависимости от того, кто доступен для выпуска.

Вы можете получить ключ по ссылкам, указанным выше, или с помощью:

$ gpg --auto-key-locate nodefault,wkd --locate-keys ahf@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys dgoulet@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys nickm@torproject.org

Должно отобразиться что-то такое (для nickm):

gpg: key FE43009C4607B1FB: public key "Nick Mathewson <nickm@torproject.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
pub   rsa4096 2016-09-21 [C] [expires: 2025-10-04]
      2133BC600AB133E1D826D173FE43009C4607B1FB
uid           [ unknown] Nick Mathewson <nickm@torproject.org>
sub   rsa4096 2016-09-23 [S] [expires: 2025-10-04]
sub   rsa4096 2016-09-23 [E] [expires: 2025-10-04]

Если вы получили сообщение об ошибке, что-то пошло не так - вы не сможете продолжить, пока не выясните, что именно не так. Вместо этого можно импортировать ключ с помощью раздела Временное решение (с использованием открытого ключа).

После того, как ключ импортирован, вы можете сохранить его в файл (для идентификации служит отпечаток):

$ gpg --output ./tor.keyring --export 0x2133BC600AB133E1D826D173FE43009C4607B1FB

В результате ключ будет сохранён в файле в папке ./tor.keyring, то есть, в текущей папке. Если после выполнения этой команды не появится ./tor.keyring, значит, что-то пошло не так. Вы не сможете продолжить, пока не выясните причину.

Проверка подписи

Чтобы проверить подпись скачанного вами пакета, потребуется загрузить соответствующий файл подписи .sha256sum.asc и сам файл .sha256sum, а также проверить его с помощью команды, которая попросит GnuPG проверить скачанный файл.

В следующих примерах мы предполагаем, что вы уже скачали эти два файла (сам пакет и подпись) в папку "Загрузки" ("Downloads"). Внимание: эти команды используют в качестве имен файлов примеры. Ваши файлы будут иметь другие имена (ваша версия Tor Browser будет новее, и, вероятно, вы выберете русский язык).

Для пользователей Windows:

gpgv --keyring .\tor.keyring Downloads\tor-0.4.6.10.tar.gz.sha256sum.asc Downloads\tor-0.4.6.10.tar.gz.sha256sum

Для пользователей macOS:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

Для пользователей BSD/Linux:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

Результат использования команды должен дать что-то вроде этого (в зависимости от того, каким ключом она была подписана):

gpgv: Signature made Mon 16 Aug 2021 04:44:27 PM -03
gpgv:                using RSA key 7A02B3521DC75C542BA015456AFEE6D49E92B601
gpgv: Good signature from "Nick Mathewson <nickm@torproject.org>"

Если увидите сообщение об ошибке вроде "Нет такого файла или папки", значит, что-то пошло не так на одном из предыдущих шагов. Другая причина: вы использовали названия файлов из примеров (ваши реальные названия другие).

Подробнее о GnuPG можно почитать здесь.

Проверка контрольной суммы

Теперь, когда мы проверили подписи контрольной суммы, нам нужно проверить целостность пакета.

Для пользователей Windows:

certUtil -hashfile tor-0.4.6.10.tar.gz.sha256sum SHA256

Для пользователей macOS:

shasum -a 256 tor-0.4.6.10.tar.gz.sha256sum

Для пользователей BSD/Linux:

sha256sum -c tor-0.4.6.10.tar.gz.sha256sum