¿Cómo puedo verificar el código fuente de tor?
Atención: Estas instrucciones son para verificar el código fuente de tor. Por favor sigue las instrucciones correctas para verificar la firma del Navegador Tor.
La firma digital es un proceso que asegura que un cierto paquete fue generado por sus desarrolladores y no ha sido alterado. Debajo explicamos por qué es importante y cómo verificar que el código fuente de tor que descargas es el que hemos creado y no ha sido modificado por algún atacante.
Cada archivo en nuestra página de descarga está acompañado por un archivo etiquetado "sig" con el mismo nombre que el paquete y la extensión ".asc". Estos archivos .asc son firmas OpenPGP. Te permiten verificar que el archivo que has descargado es exactamente el que intentamos que obtengas. Esto variará con cada explorador web, pero generalmente puedes descargar este archivo haciendo clic con el botón derecho en el vínculo "sig", y seleccionando la opción "guardar archivo como".
Por ejemplo, tor-0.4.6.7.tar.gz
está acompañado por tor-0.4.6.7.tar.gz.asc
.
Estos son nombres de archivos de ejemplo y no coincidirán exactamente con los nombres de los archivos que descargues.
Ahora mostramos cómo puedes verificar la firma digital de los archivos descargados en diferentes sistemas operativos. Por favor ten en cuenta que una firma es fechada en el momento en que el paquete ha sido firmado. Por lo tanto, cada vez que se sube un archivo nuevo, se genera una nueva firma con una fecha distinta. En la medida en que hayas verificado la firma, no deberías preocuparte si la fecha reportada varía con la del ejemplo.
Instalar GnuPG
En primer lugar, necesitas tener GnuPG instalado antes de verificar firmas.
Para usuarios de Windows:
Si usas Windows, descarga Gpg4win y ejecuta el instalador.
A fin de verificar la firma, necesitarás escribir unos pocos comandos en la utilidad de línea de comandos de Windows, cmd.exe
.
Para usuarios macOS:
Si estás usando macOS, puedes instalar GPGTools.
Para comprobar la validez de la firma digital, debes escribir unos cuantos comandos en el Terminal (está en "Aplicaciones").
Para usuarios GNU/Linux:
Si usas GNU/Linux, probablemente ya tengas instalado GnuPG, la mayoría de distribuciones lo incluyen.
Con el objeto de verificar la firma, necesitarás tipear unos pocos comandos en una ventana de terminal. Cómo hacer esto variará dependiendo de tu distribución.
Obteniendo la clave de los desarrolladores de Tor
Roger Dingledine (0xEB5A896A28988BF5 y 0xC218525819F78451), Nick Mathewson (0xFE43009C4607B1FB) fiman los tarballs del código fuente de Tor.
Obteniendo la clave más reciente de Nick Mathewson:
$ gpg --auto-key-locate nodefault,wkd --locate-keys nickm@torproject.org
Esto debería de mostrar algo parecido a:
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]
Si obtienes un mensaje de error, algo ha salido mal, y no puedes continuar hasta que te hayas dado cuenta de por qué esto no funcionó. Podrías ser capaz de importar la clave usando en vez la sección Alternativa (usando una clave pública).
Después de importar la clave, puedes guardarla en un archivo (identificado aquí por su huella digital):
$ gpg --output ./tor.keyring --export 0x2133BC600AB133E1D826D173FE43009C4607B1FB
Este comando tiene como resultado que la clave sea guardada a un archivo que se encuentra en la ruta ./tor.keyring
, por ejemplo, en la carpeta actual.
Si ./tor.keyring
no existe después de ejecutar este comando, algo ha salido mal y no puedes continuar hasta que hayas averiguado por qué no funcionó esto.
Comprobar la firma
Para comprobar la firma digital del paquete que has descargado, tienes que descargar el archivo ".asc" correspondiente, además del instalador propiamente dicho, y verificarla con un comando que usa GnuPG para ello.
Los siguientes ejemplos asumen que has descargado estos dos archivos en la carpeta "Descargas". Ten en cuenta que estos comandos usan nombres de archivos de ejemplo y los tuyos serán diferentes: habrás de descargar una versión diferente de la 9.0, y puede que no hayas elegido la versión en Inglés (en-US).
Para usuarios de Windows:
gpgv --keyring .\tor.keyring Downloads\tor-0.4.6.7.tar.gz.asc Downloads\tor-0.4.6.7.tar.gz
Para usuarios macOS:
gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.7.tar.gz.asc ~/Downloads/tor-0.4.6.7.tar.gz
Para usuarios GNU/Linux:
gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.7.tar.gz.asc ~/Downloads/tor-0.4.6.7.tar.gz
El resultado del comando debería ser algo como:
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>"
Si te aparecen mensajes de error conteniendo 'No existe el archivo o directorio', o bien aldo salió mal con uno de los pasos previos, u olvidaste que estos comandos usan nombres de archivos de ejemplo, y los tuyos serán un poco diferentes.
Método alternativo (usando una clave pública)
Si encuentras errores que no puedes solucionar, sientete libre de descargar y usar esta clave pública. Alternativamete, puedes usar el siguiente comando:
$ curl -s https://openpgpkey.torproject.org/.well-known/openpgpkey/torproject.org/hu/kounek7zrdx745qydx6p59t9mqjpuhdf |gpg --import -
La clave de Nick Mathewson también está disponible en keys.openpgp.org y puede ser descargada desde https://keys.openpgp.org/vks/v1/by-fingerprint/2133BC600AB133E1D826D173FE43009C4607B1FB.
Si estás usando macOS o GNU/Linux, la clave también puede ser obtenida ejecutando el siguiente comando:
$ gpg --keyserver keys.openpgp.org --search-keys nickm@torproject.org
Es posible que quieras saber más sobre GnuPG.