Jak zweryfikować kod źródłowy
Podpis cyfrowy to proces, który gwarantuje, że pobrany kod źródłowy sieci Tor został stworzony przez twórców sieci Tor i nie został zmieniony. Poniżej wyjaśniamy, dlaczego jest to ważne i jak sprawdzić, czy pobrany program Tor jest tym, który stworzyliśmy, i nie został zmodyfikowany przez atakującego.
Uwaga: Instrukcje te mają na celu weryfikację kodu źródłowego tor. Postępuj zgodnie z instrukcjami, aby zweryfikować podpis przeglądarki Tor.
Pobieranie plików z podpisami
Pliki źródłowe Tor na naszej stronie pobierania zawierają dwa pliki oznaczone jako „checksum” i „sig”, 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ś.
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. Jeśli używasz systemu Windows, pobierz Gpg4win i uruchom instalator.
Aby zweryfikować podpis musisz wpisać kilka poleceń w wierszu poleceń windows, cmd.exe.
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.
- Alexander Færøy: 514102454D0A87DB0767A1EBBE6A0531C18A9179
- David Goulet: B74417EDDF22AC9F9E90F49142E86A2A11F48D36
- Nick Mathewson: 2133BC600AB133E1D826D173FE43009C4607B1FB
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).
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.
certUtil -hashfile tor-0.4.6.10.tar.gz.sha256sum SHA256
Uwaga: Instrukcje te mają na celu weryfikację kodu źródłowego tor. Postępuj zgodnie z instrukcjami, aby zweryfikować podpis przeglądarki Tor.
Pobieranie plików z podpisami
Pliki źródłowe Tor na naszej stronie pobierania zawierają dwa pliki oznaczone jako „checksum” i „sig”, 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ś.
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
Jeśli używasz systemu macOS, możesz zainstalować GPGTools.
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.
- Alexander Færøy: 514102454D0A87DB0767A1EBBE6A0531C18A9179
- David Goulet: B74417EDDF22AC9F9E90F49142E86A2A11F48D36
- Nick Mathewson: 2133BC600AB133E1D826D173FE43009C4607B1FB
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 macOS:
gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum
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.
shasum -a 256 tor-0.4.6.10.tar.gz.sha256sum
Uwaga: Instrukcje te mają na celu weryfikację kodu źródłowego tor. Postępuj zgodnie z instrukcjami, aby zweryfikować podpis przeglądarki Tor.
Pobieranie plików z podpisami
Pliki źródłowe Tor na naszej stronie pobierania zawierają dwa pliki oznaczone jako „checksum” i „sig”, 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ś.
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.
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.
- Alexander Færøy: 514102454D0A87DB0767A1EBBE6A0531C18A9179
- David Goulet: B74417EDDF22AC9F9E90F49142E86A2A11F48D36
- Nick Mathewson: 2133BC600AB133E1D826D173FE43009C4607B1FB
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).
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.
sha256sum -c tor-0.4.6.10.tar.gz.sha256sum