Atenção: Estas instruções são para verificar o código-fonte do tor. Siga as instruções corretas para verificar a assinatura do Navegador Tor.

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 isso é importante e como verificar se o código-fonte do tor que você baixou é aquele que criamos e não foi modificado por algum invasor .

Cada arquivo em nossa página de download é acompanhado por dois arquivos rotulados como "checksum" e "sig" com o mesmo nome do pacote e a extensão ". sha256sum" e ".sha256sum.asc" respectivamente.

O arquivo .asc irá verificar se o arquivo .sha256sum (contendo a soma de verificação do pacote) não foi adulterado. Uma vez validada a assinatura (veja abaixo como fazer isso), a integridade do pacote pode ser validada com:

$ sha256sum -c *.sha256sum

Esses arquivos permitem que você verifique se o arquivo baixado é exatamente aquele que pretendíamos que você obtivesse. Isso varia de acordo com o navegador da web, mas geralmente você pode baixar esse arquivo clicando com o botão direito do mouse no link “sig” e “checksum” e selecionando a opção “salvar arquivo como”.

Por exemplo, tor-0.4.6.7.tar.gz é acompanhado por tor-0.4.6.7.tar.gz.sha256sum.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 em uma janela de terminal. Como fazer isso irá variar dependendo da sua distribuição.

Buscando a chave de desenvolvedores do Tor

As seguintes chaves podem assinar o tarball. Não espere todos, isso pode variar dependendo de quem está disponível para fazer o lançamento.

Você pode buscar a chave com os links fornecidos acima ou com:

$ gpg --auto-key-locate nodefault,wkd --locate-keys [email protected]
$ gpg --auto-key-locate nodefault,wkd --locate-keys [email protected]
$ gpg --auto-key-locate nodefault,wkd --locate-keys [email protected]

Isso deve mostrar algo como (para nickm):

gpg: key FE43009C4607B1FB: public key "Nick Mathewson <[email protected]>" imported
gpg: Número total processado: 1
gpg:               importado: 1
pub   rsa4096 2016-09-21 [C] [expires: 2025-10-04]
      2133BC600AB133E1D826D173FE43009C4607B1FB
uid           [ unknown] Nick Mathewson <[email protected]>
sub   rsa4096 2016-09-23 [S] [expires: 2025-10-04]
sub   rsa4096 2016-09-23 [E] [expires: 2025-10-04]

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 0x2133BC600AB133E1D826D173FE43009C4607B1FB

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 que você baixou, você precisará baixar o arquivo de assinatura .sha256sum.asc correspondente e o próprio arquivo .sha256sum, e verificá-lo com um comando que pede ao GnuPG para verificar o arquivo que você baixou .

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\tor-0.4.6.10.tar.gz.sha256sum.asc Downloads\tor-0.4.6.10.tar.gz.sha256sum

Para usuários do macOS:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

Para usuários BSD/Linux:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

O resultado do comando deve produzir algo assim (dependendo de qual chave o assinou):

gpgv: Signature made Mon 16 Aug 2021 04:44:27 PM -03
gpgv:                using RSA key 7A02B3521DC75C542BA015456AFEE6D49E92B601
gpgv: Good signature from "Nick Mathewson <[email protected]>"

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.

Você também pode aprender mais sobre GnuPG.

Verificando soma de verificação

Agora que validamos as assinaturas do checksum, precisamos verificar a integridade do pacote.

Para quem usa Windows:

certUtil -hashfile tor-0.4.6.10.tar.gz.sha256sum SHA256

Para usuários do macOS:

shasum -a 256 tor-0.4.6.10.tar.gz.sha256sum

Para usuários BSD/Linux:

sha256sum -c tor-0.4.6.10.tar.gz.sha256sum