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, explicamos por que ele é importante e como verificar se o navegador Tor que você baixou é o que criamos e não foi modificado por algum invasor.

Cada arquivo em nossa página de download é acompanhado por um arquivo rotulado "assinatura" com o mesmo nome do pacote e a extensão ".asc". Estes arquivos .asc são assinaturas do OpenPGP. Eles permitem que você verifique se o documento baixado é exatamente aquele que pretendíamos que você baixasse. Isto varia de acordo com o navegador, mas geralmente você pode baixar este arquivo clicando com o botão direito do mouse no link "assinatura" e selecionando a opção "salvar arquivo como".

Por exemplo, torbrowser-install-win64-12.5_ALL.exe é acompanhado por torbrowser-install-win64-12.5_ALL.exe.asc. Estes são exemplos de nomes de arquivos e não irão corresponder exatamente aos nomes dos arquivos que você baixou.

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.

Buscando a chave de desenvolvedores do Tor

A equipe do Navegador Tor assina os lançamentos do Navegador Tor. Importar a assinatura chave do Navegador Tor (0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290):

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

Isso deverá exibir algo como:

gpg: chave 4E2C6E8793298290: chave pública "Tor Browser Developers (signing key) <torbrowser@torproject.org>" importada
gpg: Número total processado: 1
gpg:               importado: 1
pub   rsa4096 2014-12-15 [C] [expires: 2025-07-21]
      EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
uid           [ unknown] Tor Browser Developers (signing key) <torbrowser@torproject.org>
sub   rsa4096 2018-05-26 [S] [expires: 2020-12-19]

Se você receber uma mensagem de erro, algo deu errado e você não poderá continuar até descobrir por que isso não funcionou. Você pode importar a chave usando a seção Solução alternativa (usando uma chave pública) .

Após importar a chave, você pode salvá-la em um arquivo (identificando-o através dessa impressão digital):

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

Este comando resulta em salvar a chave em um arquivo encontrado no caminho ./tor.keyring, ou seja, no diretório atual. Se ./tor.keyring não existe após a execução deste comando, algo deu errado e você não pode continuar até descobrir por que isso não funcionou.

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". Observe que estes comandos usam exemplos de nomes de documentos e os seus serão diferentes: você terá baixado uma versão diferente da 9.0 e você pode não ter escolhido a versão em Inglês (en-US).

Para quem usa Windows:

gpgv --keyring .\tor.keyring Downloads\torbrowser-install-win64-12.5_ALL.exe.asc Downloads\torbrowser-install-win64-12.5_ALL.exe

Para usuários do macOS:

gpgv --keyring ./tor.keyring ~/Downloads/TorBrowser-12.5-macos_ALL.dmg.asc ~/Downloads/TorBrowser-12.5-macos_ALL.dmg.dmg

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-12.5_ALL.tar.xz.asc ~/Downloads/tor-browser-linux64-12.0.7_ALL.tar.xz

O resultado do comando deve conter:

gpgv: Good signature from "Tor Browser Developers (signing key) <torbrowser@torproject.org>"

Se você receber mensagens de erro contendo 'Nenhum arquivo ou diretório', algo deu errado com uma das etapas anteriores ou você esqueceu que esses comandos usam nomes de arquivo de exemplo e o seu será um pouco diferente.

Atualizando a chave PGP

Execute o seguinte comando para atualizar a chave de assinatura do Tor Browser Developers em seu chaveiro local do servidor de chaves. Isso também irá buscar as novas subchaves.

gpg --refresh-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290

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 -

A chave de desenvolvedores do navegador Tor também está disponível em keys.openpgp.org e pode ser baixado de https://keys.openpgp.org/vks/v1/by-fingerprint/EF6E286DDA85EA2A4BA7DE684E2C6E8793298290. Se você estiver usando MacOS ou GNU/Linux, a chave também pode ser obtida executando o seguinte comando:

gpg --keyserver keys.openpgp.org --search-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290

Você também pode aprender mais sobre GnuPG.