Descriptografar arquivos e e-mails criptografados do lado do cliente e exportados

Se sua organização usa a criptografia do lado do cliente (CSE) do Google Workspace, você pode usar o utilitário descriptografador para descriptografar arquivos e mensagens de e-mail criptografados do lado do cliente e exportados com a ferramenta de exportação de dados ou o Google Vault. Execute o utilitário em uma linha de comando.

Ao executar o descriptografador, você usará as flags de linha de comando para especificar as informações de autenticação do provedor de identidade (IdP), o local dos arquivos criptografados, o local de saída dos arquivos descriptografados e outras opções. Também é possível criar um arquivo de configuração para salvar as flags do utilitário que você usa com frequência.

Antes de começar

  • Quando um arquivo do Google Docs, Sheets ou Slides é descriptografado, o nome dele termina com .gdoczip ou semelhante. Depois da descriptografia, você pode converter esses arquivos para o formato do Microsoft Office usando a ferramenta de conversão de arquivos. Para mais informações, acesse Converter arquivos do Google exportados e descriptografados em arquivos do Microsoft Office.
  • Se você exportar mensagens da CSE do Gmail a partir do Google Vault, você deve exportar no formato MBOX. O descriptografador não processa exportações no formato PST.
  • O utilitário descriptografador pode descriptografar qualquer mensagem criptografada com certificados S/MIME. Ele também pode descriptografar mensagens criptografadas sem certificados S/MIME, ou seja, mensagens que usam a criptografia de ponta a ponta (E2EE) do Gmail, se os usuários criptografam as mensagens ou a mensagem original nas conversas.
  • O utilitário descriptografador não descriptografa mensagens (incluindo todas as mensagens em uma conversa) criptografadas sem certificados S/MIME (E2EE do Gmail) em outra organização.

Requisitos do sistema

  • Microsoft Windows versão 10 ou 11 de 64 bits
  • macOS 12 (Monterey) ou mais recente. Os processadores da Apple e da Intel são compatíveis.
  • Linux x86_64

Fazer o download do descriptografador

Abra o arquivo ou volume e extraia o executável do descriptografador para um diretório ou pasta local.

Configurar o acesso ao serviço de chaves

O descriptografador envia consultas ao seu serviço de chaves de criptografia, também chamado de serviço de lista de controle de acesso a chaves (KACLS, na sigla em inglês), que protege cada arquivo ou mensagem criptografada na exportação. Peça credenciais aceitas pelo KACLS para o administrador do provedor de identidade (IdP) e ao administrador do serviço de chaves de criptografia. Caso contrário, o KACLS rejeitará as tentativas do descriptografador de descriptografar o conteúdo exportado.

O que é necessário

Para configurar o acesso ao KACLS, verifique se você tem:

  • Um ID do cliente OAuth que aplicativos instalados podem usar. O ID do cliente do descriptografador precisa ser um ID que possa ser usado por softwares instalados para computador e específico para o utilitário de descriptografia. Esse ID do cliente precisa ser diferente dos IDs definidos no Google Admin Console para os aplicativos da web, de computador e para dispositivos móveis da CSE.
  • A chave secreta do cliente OAuth associada ao ID do cliente, se o IdP for o Google. Não é necessário ter a chave secreta do cliente se você estiver usando um IdP de terceiros.
  • O endereço de e-mail da conta de usuário que faz a autenticação no KACLS para descriptografia de exportação. Pode ser sua própria conta ou uma conta especial configurada pelos administradores. Você precisa fazer login como esse usuário ao executar o utilitário descriptografador, então, provavelmente precisará da senha da conta.

Endpoints do KACLS

A configuração do KACLS precisa permitir que a conta de usuário e o ID do cliente chamem endpoints usados para descriptografia de exportação. O administrador do KACLS geralmente pode configurar isso para você. O endpoint do KACLS chamado pelo descriptografador depende do tipo de conteúdo criptografado:

  • CSE do Agenda: privilegedunwrap
  • CSE do Documentos, CSE do Planilhas, CSE do Apresentações: privilegedunwrap
  • CSE do Drive: privilegedunwrap
  • CSE do Gmail (com certificados S/MIME): privilegedprivatekeydecrypt
  • CSE do Gmail (sem certificados S/MIME): privilegedunwrap

Configurar o acesso ao S/MIME do Gmail (opcional)

Se você estiver descriptografando mensagens do Gmail com criptografia do lado do cliente que usam S/MIME do Google Vault, o descriptografador precisará chamar a API pública do Gmail para fazer o download de dados adicionais. As exportações do Google Vault não incluem os certificados S/MIME de cada usuário. Por isso, o descriptografador os busca automaticamente no Gmail conforme necessário.

Para permitir que o descriptografador solicite os certificados S/MIME de qualquer usuário na organização, transmita uma credencial de conta de serviço de todo o domínio para o descriptografador. Para detalhes sobre como configurar essa conta de serviço e criar um arquivo JSON com a credencial particular, acesse Somente Gmail: configurar o S/MIME para usar a criptografia do lado do cliente.

Observação:essa configuração não é necessária se você estiver descriptografando mensagens criptografadas do lado do cliente com a ferramenta de exportação de dados ou mensagens criptografadas do Vault que não têm certificados S/MIME.

O descriptografador não busca os certificados S/MIME de um usuário e, portanto, não pode descriptografar mensagens criptografadas do lado do cliente que usam S/MIME se alguma das seguintes condições for verdadeira:

Para garantir a descriptografia de mensagens criptografadas do lado do cliente com certificados S/MIME, você pode:

  • Descriptografar imediatamente as mensagens exportadas do Vault enquanto os certificados estiverem disponíveis.
  • Usar a ferramenta de exportação de dados para exportar mensagens (essas exportações incluem os certificados de cada usuário).

Criar um arquivo de configuração

O descriptografador usa o OAuth e o IdP para adquirir uma credencial de autenticação que inclui em todas as solicitações privilegedunwrap e privilegedprivatekeydecrypt do KACLS. A configuração do OAuth não muda com frequência, então você pode criar um arquivo de configuração com as definições do OAuth para não precisar configurá-las toda vez que executar o descriptografador. Para saber mais sobre as flags do arquivo de configuração, acesse Flags de criação de configuração e Flags de atualização de configuração abaixo.

Observação: embora essa etapa de configuração seja opcional, recomendamos que você a faça para simplificar o uso do utilitário descriptografador. Se você não criar um arquivo de configuração, poderá transmitir as flags do OAuth na linha de comando para cada execução do descriptografador. Se você fizer as duas coisas, os valores de flag transmitidos na linha de comando substituirão os valores lidos do arquivo de configuração.

Exemplo: crie uma configuração para o IdP do Google

No Windows

No macOS ou Linux

Agora, atualize o arquivo de configuração para adicionar a chave secreta do cliente OAuth ao fluxo de concessão de código de autorização.

No Windows

No macOS ou Linux

Se o IdP não for o Google:não adicione a chave secreta do cliente, que é necessária apenas para o IdP do Google. Muitos outros IdPs rejeitam solicitações de autenticação quando a chave secreta do cliente está presente.

Descriptografar arquivos e e-mails com CSE

O utilitário descriptografador funciona em arquivos de exportação descompactados.

  1. Depois de criar uma exportação na ferramenta de exportação de dados ou no Google Vault, faça o download dos arquivos ZIP para o computador local.
  2. Descompacte os arquivos em um diretório ou pasta local.
  3. Execute o descriptografador nos arquivos descompactados e salve os arquivos de texto simples descriptografados em outro diretório.

Exemplo: usar um arquivo de configuração preparado sem a credencial da conta de serviço

No Windows

No macOS ou Linux

Exemplo: usar um arquivo de configuração preparado com uma credencial de conta de serviço

No Windows

No macOS ou Linux

Exemplo: não usando um arquivo de configuração nem uma credencial de conta de serviço

No Windows

No macOS ou Linux

Flags de descriptografia

A flag do utilitário pode incluir um ou dois hifens iniciais. Por exemplo, a flag para exibição de informações de ajuda pode ter dois formatos:

-help

--help

Observação:só é possível usar hifens para flags, e não barras (/).

As flags para argumentos de string podem incluir um sinal de igual ou um espaço para especificar o argumento. Por exemplo, estas flags são equivalentes:

-action=decrypt

-action decrypt

Flags de ajuda

Flag Descrição
-version Mostra a string da versão. Se você entrar em contato com o suporte, informe a versão do descriptografador que está usando.
-help Mostra uma tela de todas as flags para referência.
-logfile Especifica o arquivo de saída em que os registros de execução serão gravados. O texto [TIMESTAMP] no nome do arquivo é substituído pelo horário de início da execução.

Flags de descriptografia

Flag Descrição
-action decrypt Opcional. Especifica o modo do utilitário que descriptografa arquivos com a CSE. Esse é o modo padrão.
-email <email_address> Opcional. O endereço de e-mail que pode ser preenchido automaticamente na tela de autenticação do IdP aberta no navegador.
-issuer <uri> Obrigatório, a menos que esteja no arquivo de configuração. O URI de descoberta do emissor de OAuth do IdP, como https://accounts.google.com. Veja mais detalhes em Conectar-se ao provedor de identidade para usar a criptografia do lado do cliente.
-client_id <oauth_client_id> Obrigatório, a menos que esteja no arquivo de configuração. Um ID do cliente OAuth do IdP especificado na -issuer flag. Para mais detalhes, acesse Conectar-se ao provedor de identidade para usar a criptografia do lado do cliente.
-client_secret <oauth_client_secret> Opcional, embora alguns IdPs possam exigir. A parte da chave secreta do cliente OAuth correspondente ao ID do cliente especificado na flag -client_id.
-pkce
-nopkce
Ative ou desative a chave de prova para troca de código (PKCE) no fluxo de concessão de código de autorização. Se nenhuma flag for especificada, o descriptografador será ativado por padrão.
-input <directory_or_file>

Obrigatório. O diretório de entrada ou o arquivo de exportação.

Se você especificar um diretório, o descriptografador verificará toda a árvore do diretório de maneira recorrente para encontrar os arquivos com CSE exportados. Use esta opção para descriptografar todos os arquivos exportados em massa de um arquivo expandido.

Se você especificar um arquivo com CSE exportado, o utilitário vai descriptografar apenas esse arquivo. Se não for um arquivo com CSE, o descriptografador vai pedir para você autenticar no IdP, mas não vai descriptografar nenhum arquivo.

-output <directory> Obrigatório. O diretório onde os arquivos descriptografados vão ser salvos.
-overwrite
-nooverwrite
Ativa ou desativa a substituição dos arquivos de saída de texto descriptografados. Quando a flag está desativada (por padrão), o decodificador pula a descriptografia de arquivos de texto criptografado se já houver um texto não criptografado.
-workers <integer>

Opcional. O número de workers de descriptografia paralelos. Se você não usar essa flag, o utilitário vai usar como padrão o número de núcleos de processador e os hyperthreads informados pelo sistema operacional.

Se o computador tiver problemas de desempenho ou ocorrer um erro de multiprocessamento durante a descriptografia dos arquivos, defina essa flag como "1" para desativar o processamento paralelo.

-config <file>

Opcional. Um arquivo de configuração que contém valores de flag armazenados. Use um arquivo de configuração para não colar as mesmas flags de linha de comando sempre que descriptografar arquivos. Para mais informações, acesse Flags de criação de configuração e Flags de atualização de configuração abaixo.

Os valores das flags definidos na linha de comando têm prioridade em relação aos do arquivo de configuração.

Observação: se você especificar um arquivo na configuração e ele não for encontrado, uma mensagem de erro vai ser exibida.

-credential <file> Opcional. Especifique um arquivo JSON com uma chave privada de conta de serviço. Quando especificada, a descriptografia das mensagens com CSE do Gmail consulta a API Gmail para acessar os certificados S/MIME e metadados do serviço da lista de controle de chaves (KACLS, na sigla em inglês) de cada usuário.

Flags de criação do arquivo de configuração

Use estas flags para salvar as flags de linha de comando de descriptografia usadas com frequência em um arquivo de configuração para reutilização. Um arquivo de configuração é formatado em JSON, que contém texto legível.

Flag Descrição
-action createconfig Obrigatório. Modifica o modo de execução padrão para executar o modo de criação do arquivo de configuração.
-config file Obrigatório. Especifique o nome do arquivo de saída em que você quer salvar a configuração. Se o arquivo já existir, ele vai ser substituído sem aviso.
-email <email_address>
-discovery_uri <uri>
-client_id <oauth_client_id>
-client_secret <oauth_client_secret>
-pkce
-nopkce
Opcional. Todos os valores de flag especificados são salvos no arquivo de configuração para reutilização.

Flags de atualização do arquivo de configuração

Use estas flags para atualizar os valores de flag em um arquivo de configuração.

Flag Descrição
-action updateconfig Obrigatório. Modifica o modo de execução padrão para executar o modo de atualização do arquivo de configuração.
-config file Obrigatório. O arquivo de configuração que você quer atualizar. Se o arquivo não existir, uma mensagem de erro vai ser exibida.
-email <email_address>
-discovery_uri <uri>
-client_id <oauth_client_id>
-client_secret <oauth_client_secret>
-pkce
-nopkce

Tudo opcional. Os valores dos sinalizadores especificados na linha de comando são substituídos, e todos os outros valores de sinalizações na configuração são preservados. Para desativar uma flag armazenada, especifique um valor em branco.

Observação: se uma edição corromper o formato JSON, provavelmente vai ocorrer um erro se você usar o arquivo de configuração no utilitário de descriptografia.

Flags informativas

Use essas flags para imprimir informações legíveis sobre arquivos CSE.

Flag Descrição
-action info (Obrigatório) Modifica o modo de execução padrão para ser executado no modo informativo
-input directory_or_file

(Obrigatório) Especifica o diretório de entrada ou o arquivo de exportação

Se você especificar um diretório, o utilitário verificará a árvore de diretórios de modo recursivo, procurando todos os arquivos de exportação do CSE. Se você especificar um arquivo, o utilitário fornecerá informações apenas para esse arquivo.

Repita essa flag para especificar arquivos ou diretórios de entrada adicionais. Exemplo:

$ decrypter -action=info -input=file1.gcse -input=file2.gcse -input=file3.gcse