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 programa 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 con el mismo nombre que el paquete y la extensión ".asc". Estos archivos .asc son firmas GPG. Te permiten verificar que el archivo que has descargado es exactamente el que intentamos que obtengas. Por ejemplo, torbrowser-install-8.0.8_en-US.exe está acompañado por torbrowser-install-8.0.8_en-US.exe.asc. Por una lista de cuál desarrollador firma qué paquete, mira nuestra página de llaves de firmado.

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.

Windows

En primer lugar, necesitas tener GnuPG instalado antes de verificar firmas. Descárgalo de https://gpg4win.org/download.html.

Una vez instalado, usa GnuPG para importar la llave que firmó tu paquete. A fin de verificar la firma, necesitarás escribir unos pocos comandos en la utilidad de línea de comandos de Windows, cmd.exe.

El equipo del Navegador Tor firma los lanzamientos del mismo. Importa su llave (0x4E2C6E8793298290) ejecutando cmd.exe y escribiendo:

gpg.exe --keyserver pool.sks-keyservers.net --recv-keys 0x4E2C6E8793298290

Después de importar la clave, puedes verificar que la huella de validación ('fingerprint') de la clave sea correcta:

gpg.exe --fingerprint 0x4E2C6E8793298290

Deberías ver:

pub   rsa4096/0x4E2C6E8793298290 2014-12-15 [C] [expires: 2020-08-24]
      Key fingerprint = EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
uid                   [ unknown] Tor Browser Developers (signing key) <torbrowser&at;torproject.org>
sub   rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
      Key fingerprint = 1107 75B5 D101 FB36 BC6C  911B EB77 4491 D9FF 06E2

Para verificar la firma del archivo que has descargado, necesitarás descargar también el fichero ".asc". Asumiendo que hayas descargado el paquete y su firma en el escritorio, ejecuta:

gpg.exe --verify C:\\Users\\Alice\\Desktop\\torbrowser-install-win64-8.0.8_en-US.exe.asc C:\\Users\\Alice\\Desktop\\torbrowser-install-8.0.8_en-US.exe

Cambia "Alice" por tu nombre de usuario.

La salida debería decir "Good signature" (firma correcta):

gpg: Signature made Tue 12 Feb 2019 08:27:41 AM EST
gpg:                using RSA key EB774491D9FF06E2
gpg: Good signature from "Tor Browser Developers (signing key) <torbrowser@torproject.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
     Subkey fingerprint: 1107 75B5 D101 FB36 BC6C  911B EB77 4491 D9FF 06E2

Las huellas digitales de subllaves actualmente válidas son:

1107 75B5 D101 FB36 BC6C  911B EB77 4491 D9FF 06E2

Ten en cuenta que aparece una advertencia porque no has asignado confianza a esta persona. Esto significa que GnuPG verificó que la llave efectuó esa firma, pero es cosa tuya decidir si la llave realmente pertenece al desarrollador. El mejor método es reunirse con el desarrollador en persona e intercambiar huellas digitales de la llave.

macOS y Linux

Necesitas tener GnuPG instalado antes que puedas verificar firmas. Si estás usando macOS, puedes instalarlo desde https://www.gpgtools.org/. Si estás usando Linux, probablemente ya tengass GnuPG en tu sistema, ya que la mayoría de las distribuciones Linux vienen con él preinstalado.

El siguiente paso es usar GnuPG para importar la llave que firmó tu paquete. El equipo del Navegador Tor firma los lanzamientos del mismo. Importa su llave (0x4E2C6E8793298290) ejecutando la terminal (bajo "Aplicaciones" en macOS) y escribiendo:

gpg --keyserver pool.sks-keyservers.net --recv-keys 0x4E2C6E8793298290

Después de importar la clave, puedes verificar que la huella de validación ('fingerprint') de la clave sea correcta:

gpg --fingerprint 0x4E2C6E8793298290

Deberías ver:

pub   rsa4096/0x4E2C6E8793298290 2014-12-15 [C] [expires: 2020-08-24]
      Key fingerprint = EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
uid                   [ unknown] Tor Browser Developers (signing key) <torbrowser&at;torproject.org>
sub   rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
      Key fingerprint = 1107 75B5 D101 FB36 BC6C  911B EB77 4491 D9FF 06E2

Para verificar la firma del archivo que has descargado, necesitarás descargar también el fichero ".asc". Asumiendo que hayas descargado el paquete y su firma a tu carpeta Descargas, ejecuta:

Para usuarios macOS:

gpg --verify ~/Downloads/TorBrowser-8.0.8-osx64_en-US.dmg{.asc,}

Para usuarios Linux (cambiar 64 a 32 si tienes el paquete de 32-bit):

gpg --verify tor-browser-linux64-8.0.8_en-US.tar.xz{.asc,}

La salida debería decir "Good signature" (firma correcta):

gpg: Signature made Wed 15 Nov 2017 05:52:38 PM CET
gpg:                using RSA key 0xD1483FA6C3C07136
gpg: Good signature from "Tor Browser Developers (signing key) <torbrowser&at;torproject.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
     Subkey fingerprint: A430 0A6B C93C 0877 A445  1486 D148 3FA6 C3C0 7136

Las huellas digitales de subllaves actualmente válidas son:

1107 75B5 D101 FB36 BC6C  911B EB77 4491 D9FF 06E2

Ten en cuenta que aparece una advertencia porque no has asignado confianza a esta persona. Esto significa que GnuPG verificó que la llave efectuó esa firma, pero es cosa tuya decidir si la llave realmente pertenece al desarrollador. El mejor método es reunirse con el desarrollador en persona e intercambiar huellas digitales de la llave.

Mira https://www.gnupg.org/documentation/ para aprender más acerca de GnuPG.