Увага: ці інструкції призначені для перевірки вихідного коду 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 і запустіть встановлювач.

Щоб перевірити підпис, вам потрібно буде ввести кілька команд у командному рядку Windows cmd.exe.

Для користувачів macOS:

Якщо ви використовуєте macOS, ви можете встановити GPGTools.

Щоб перевірити підпис, вам потрібно буде ввести кілька команд у терміналі (у розділі «Програми»).

Для користувачів GNU/Linux:

Якщо ви використовуєте GNU/Linux, то, ймовірно, у вас уже є GnuPG у вашій системі, оскільки більшість дистрибутивів GNU/Linux поставляються з попередньо встановленим GnuPG.

Щоб перевірити підпис, вам потрібно буде ввести кілька команд у вікні терміналу. Як це зробити, залежить від вашого дистрибутиву.

Отримання ключа розробників Tor

Наступні ключі можуть підписувати tar-архів. Не очікуйте їх усіх, це може відрізнятися в залежності від того, хто доступний для даного релізу.

Ви можете отримати ключ за наведеними вище посиланнями або за допомогою:

$ 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 перевірити завантажений файл.

Наведені нижче приклади припускають, що ви завантажили ці два файли до папки Завантаження. Зауважте, що ці команди використовують приклади назв файлів. У вашому випадку імена файлів відрізнятимуться, оскільки ви завантажили не версію 9.0, та й можливо, обрали не англійську (en-US) версію.

Для користувачів 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