Uwaga: Instrukcje te mają na celu weryfikację kodu źródłowego tor. Postępuj zgodnie z odpowiednimi instrukcjami, aby zweryfikować podpis Tor Browser

Podpis cyfrowy to proces zapewniający, że dany pakiet został wygenerowany przez jego twórców i nie został naruszony. Poniżej wyjaśniamy, dlaczego jest to ważne i jak sprawdzić, czy pobierany kod źródłowy tor jest tym, który stworzyliśmy i nie został zmodyfikowany przez jakiegoś atakującego.

Każdemu plikowi na naszej stronie pobierania towarzyszą dwa pliki oznaczone jako „suma kontrolna” i „podpis” o tej samej nazwie co pakiet i rozszerzeniu odpowiednio „.sha256sum” i „.sha256sum.asc”.

Plik .asc zweryfikuje, czy plik .sha256sum (zawierający sumę kontrolną pakietu) nie został naruszony. Po zweryfikowaniu podpisu (zobacz poniżej, jak to zrobić), integralność pakietu można zweryfikować za pomocą:

$ sha256sum -c *.sha256sum

Pliki te pozwalają zweryfikować, czy pobrany plik jest dokładnie tym, który zamierzaliśmy pobrać. Będzie się to różnić w zależności od przeglądarki internetowej, ale ogólnie można pobrać ten plik, klikając prawym przyciskiem myszy link „podpis” i „suma kontrolna” i wybierając opcję „zapisz plik jako”.

Na przykład, tor-0.4.6.7.tar.gz towarzyszy tor-0.4.6.7.tar.gz.sha256sum.asc. Są to przykładowe nazwy plików, i nie będą one dokładnie odzwierciedlały nazwy pliku który pobrałeś.

Teraz pokażemy ci jak możesz zweryfikować cyfrowy podpis pobranego pliku na różnych systemach operacyjnych. Proszę zwróć uwagę, że podpis jest datą kiedy pakiet został podpisany. Dlatego za każdym razem, gdy nowy plik jest przesyłany, generowany jest nowy podpis z inną datą. Dopóki weryfikujesz podpis, nie powinieneś się martwić, że podana data może się różnić.

Instalowanie GnuPG

Po pierwsze musisz mieć zainstalowane GnuPG żeby mieć możliwość weryfikowania podpisów.

Dla użytkowników Windowsa:

Jeśli używasz systemu Windows, pobierz Gpg4win i uruchom instalator.

Aby zweryfikować podpis musisz wpisać kilka poleceń w wierszu poleceń windows, cmd.exe.

Dla użytkowników macOS:

Jeśli używasz systemu macOS, możesz zainstalować GPGTools.

Aby zweryfikować podpis musisz wpisać kilka poleceń w Terminalu (okno "Aplikacje").

Dla użytkowników GNU/Linux:

Jeśli używasz GNU/Linux, to prawdopodobnie masz już GnuPG w swoim systemie, ponieważ większość dystrybucji GNU/Linux ma go zainstalowanego domyślnie.

Aby zweryfikować podpis, należy wpisać kilka poleceń w oknie terminala. Sposób wykonania tej czynności będzię się różnił w zależności od dystrybucji.

Pobieranie klucza Tor Developers

Następujące klucze mogą podpisać tarball. Nie oczekuj ich wszystkich, może się to różnić w zależności od tego, kto jest dostępny do wydania.

Możesz pobrać klucz za pomocą linków podanych powyżej lub za pomocą:

$ 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

To powinno pokazać coś takiego (dla 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]

Jeśli otrzymasz wiadomość o błędzie, coś poszło nie tak i nie możesz kontynuować, dopóki nie dowiesz się dlaczego to się stało. Zamiast tego możesz być w stanie zaimportować klucz za pomocą sekcji Obejście (przy użyciu klucza publicznego).

Po zaimportowaniu klucza, możesz zapisać go do pliku (identyfikując go poprzez jego "odcisk palca" tutaj):

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

Ta komenda zapisuje klucz do pliku o ścieżce ./tor.keyring, np. w aktualnym folderze. Jeśli ./tor.keyring nie został utworzony po wpisaniu komendy, coś poszło nie tak i nie możesz kontynuować dopóki nie rozwiążesz tego problemu.

Weryfikowanie podpisu

Aby zweryfikować podpis pobranego pakietu, należy pobrać odpowiedni plik podpisu .sha256sum.asc i sam plik .sha256sum, a następnie zweryfikować go za pomocą polecenia, które prosi GnuPG o zweryfikowanie pobranego pliku.

Przykład poniżej zakłada że pobrałeś te dwa pliki do folderu "Downloads". Zwróć uwagę, że komendy używają przykładowych nazw plików i twoje będą inne: będziesz miał pobraną wersję różną od 9.0 i możesz mieć inny język aniżeli Angielski (en-US).

Dla użytkowników Windowsa:

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

Dla użytkowników macOS:

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

Dla użytkowników 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

Wynik polecenia powinien wyglądać następująco (w zależności od tego, który klucz został podpisany):

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>"

Jeśli otrzymujesz komunikaty o błędach zawierające 'No such file or directory', coś poszło nie tak w poprzednich krokach, lub zapomniałeś, że te komendy zawierają przykładowe nazwy plików i Twoje będą nieco inne.

Możesz również chcieć dowiedzieć się więcej o GnuPG.

Weryfikacja sumy kontrolnej

Gdy już zweryfikowaliśmy podpisy sumy kontrolnej, musimy zweryfikować integralność pakietu.

Dla użytkowników Windowsa:

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

Dla użytkowników macOS:

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

Dla użytkowników BSD/Linux:

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