Assinatura digital é um processo que certifica que um determinado pacote foi gerado pelas pessoas que o desenvolveram e que não sofreram nenhuma alteração. Abaixo nós explicamos por que é importante e como verificar que o software Tor que você baixou é aquele que nós criamos e que ele não foi alterado em um ataque.

Cada arquivo em nossa página de download é acompanhado por um arquivo de mesmo nome de pacote e a extensão ".asc", que são assinaturas OpenPGP. Eles permitem que você verifique se o documento baixado é exatamente aquele que pretendíamos que você baixasse.

Por exemplo, torbrowser-install-8.0.8_en-US.exe vem acompanhado de torbrowser-install-8.0.8_en-US.exe.asc.

Agora vamos lhe mostrar como você pode verificar a assinatura digital de cada documento baixado em vários sistemas operacionais. Por favor, lembre que a assinatura é datada do momento em que o pacote foi assinado. Assim, todas as vezes que um novo documento for carregado, uma nova assinatura é gerada com a nova data. Se você tiver verificado a assinatura, não se preocupe com a mudança das datas.

Instalando GnuPG

Primeiro de tudo você precisa ter o GnuPG instalado antes de verificar as assinaturas.

Para quem usa Windows:

Se você utiliza Windows, baixe o Gpg4win e execute o instalador.

Para verificar a assinatura, você precisará digitar alguns comandos na linha de comando do Windows, cmd.exe.

Para usuários do macOS:

Se você estiver utilizando macOS, pode instalar o GPGTools.

Para verificar a assinatura, você precisará digitar alguns comandos no Prompt de Comando do Windows (ver "Aplicações").

Para quem usa GNU/Linux:

Se você está usando GNU/Linux, então provavelmente já tem o GnuPG em seu sistema, já que a maioria das distribuições Linux já o possui pré-instalado.

Para verificar a assinatura, você precisará digitar alguns comandos no Terminal. A maneira de fazê-lo dependerá da distribuição utilizada.

Fetching the Tor Developers key

A equipe do Tor Browser assina os lançamentos do Tor Browser. Import the Tor Browser Developers signing key (0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290):

gpg --auto-key-locate nodefault,wkd --locate-keys torbrowser@torproject.org

Isso deverá exibir algo como:

gpg: key 4E2C6E8793298290: public key "Tor Browser Developers (signing key) <torbrowser@torproject.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
pub   rsa4096 2014-12-15 [C] [expires: 2020-08-24]
      EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
uid           [ unknown] Tor Browser Developers (signing key) <torbrowser@torproject.org>
sub   rsa4096 2018-05-26 [S] [expires: 2020-09-12]

After importing the key, you can save it to a file (identifying it by fingerprint here):

gpg --output ./tor.keyring --export 0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290

Verificando a assinatura

Para verificar a assinatura do pacote baixado, é necessário fazer o download do arquivo de assinatura ".asc" correspondente, bem como do próprio arquivo de instalação. Então, a partir de um comando, será solicitado ao GnuPG que verifique o arquivo baixado.

Os exemplos abaixo consideram que você tenha baixado estes dois arquivos para a pasta "Downloads".

Para quem usa Windows:

gpgv --keyring .\tor.keyring Downloads\torbrowser-install-win64-9.0_en-US.exe.asc Downloads\torbrowser-install-win64-9.0_en-US.exe

Para usuários do macOS:

gpgv --keyring ./tor.keyring ~/Downloads/TorBrowser-9.0-osx64_en-US.dmg{.asc,}

Para quem usa GNU/Linux (mude de 64 para 32 se você possui o pacote de 32-bit):

gpgv --keyring ./tor.keyring ~/Downloads/tor-browser-linux64-9.0_en-US.tar.xz{.asc,}

O uso do comando deve resultar em algo deste tipo:

gpgv: Signature made 07/08/19 04:03:49 Pacific Daylight Time
gpgv:                using RSA key EB774491D9FF06E2
gpgv: Good signature from "Tor Browser Developers (signing key) <torbrowser@torproject.org>"

Alternativa (usando uma chave pública)

Caso encontre erros que não possam ser resolvidos, sinta-se à vontade para baixar e usar essa chave pública. Como alternativa, também é possível utilizar o seguinte comando:

curl -s https://openpgpkey.torproject.org/.well-known/openpgpkey/torproject.org/hu/kounek7zrdx745qydx6p59t9mqjpuhdf |gpg --import -

Você também pode aprender mais sobre GnuPG.