A criptografia de ponta a ponta está no centro do Proton Drive. É ela que mantém seus arquivos privados, para que somente você e as pessoas que você escolher possam acessá-los — nem mesmo nós. Como cada operação de arquivo é protegida dessa forma em nossos aplicativos de armazenamento em nuvem, o desempenho criptográfico tem um impacto direto em quão rápidos parecem os envios e downloads.

Após as nossas melhorias de desempenho anteriores do SDK em envios e downloads, esta atualização mais recente se baseia nesse trabalho, tornando a camada de criptografia principal do Proton Drive ainda mais eficiente.

O Proton Drive usa o padrão OpenPGP para criptografar o conteúdo dos arquivos, e agora adotamos um avanço criptográfico introduzido em uma atualização do padrão. Uma grande parte do desenvolvimento do SDK ao longo deste ano foi mover as operações de arquivo do Drive para uma base compartilhada, tornando os aplicativos mais rápidos e fluidos em todas as plataformas. O resultado é um aumento de até 4x no desempenho para envios de arquivos. Isso também estabelece as bases para a próxima geração de recursos do Drive.

Impacto no desempenho

A criptografia tem um grande impacto na fluidez do aplicativo durante o uso diário, portanto, reduzir esse custo em até 4x faz com que os envios de arquivos pareçam muito mais rápidos, especialmente nos dispositivos onde o desempenho é mais importante:

  • Em dispositivos móveis, nossos testes mostram que a criptografia de um arquivo de 4 MB que costumava levar 97 ms agora leva 32 ms.
  • Em processadores mais potentes, a mesma operação que costumava levar 12 ms agora leva 3 ms.

Criptografar um filme em HD ou 1.000 fotos de alta resolução costumava levar cerca de um minuto e meio no seu celular, ou cerca de 12 segundos em um computador rápido. Com esta atualização, o mesmo trabalho é concluído em cerca de 30 segundos no celular e em cerca de 3 segundos no computador.

Como o Proton Drive ficou mais rápido

A estrutura que o Proton Drive usa é um de arquivo, que pode ter muitas revisões, cada uma representando uma versão do arquivo. O conteúdo é então dividido em blocos. O nó contém material criptográfico que é usado para criptografar os blocos. Esse material criptográfico no nó de arquivo consiste na chave do nó (uma chave privada PGP bloqueada) e em um pacote de chave de conteúdo (um PKESK criptografado com a chave do nó).

Um diagrama explicando a atualização criptográfica do Proton Drive

As mensagens PGP que o Proton Drive usa para o conteúdo dos arquivos consistem em dois pacotes:

  • Uma chave de sessão criptografada por chave pública (PKESK): este é o pacote de chave de conteúdo do nó, compartilhado por todos os blocos.
  • Um pacote de dados protegido por integridade e criptografado simetricamente (SEIPD): este é o conteúdo criptografado do bloco.

O novo esquema de criptografia

Antes desta atualização de criptografia, os arquivos enviados usavam um PKESK v3 e um SEIPD v1. Agora, o algoritmo de criptografia exige um PKESK v6 e um SEIPD v2. A criptografia simétrica usada para o conteúdo é a AES-GCM, que aproveita ao máximo a criptografia de hardware na maioria dos dispositivos modernos.

Como a chave de sessão é compartilhada entre as revisões quando os arquivos são atualizados, todas as revisões de um arquivo devem corresponder ao esquema de criptografia usado pela primeira versão. Isso significa que os clientes devem ser atualizados para levar em consideração a versão do PKESK ao fazer uma alteração em um arquivo e enviar uma nova revisão. Os clientes desenvolvidos com base no SDK do Proton Drive lidarão com isso automaticamente, pois a informação é transmitida na chave de sessão. A chave é gerada aqui(nova janela) e usada ao criptografar os blocos(nova janela).

Para evitar problemas com a descriptografia mais tarde, as revisões enviadas com a versão incorreta serão rejeitadas. Isso significa que os clientes que não suportam o recurso não poderão atualizar os arquivos enviados após essa alteração entrar em vigor. Certifique-se de atualizar seus clientes do Proton Drive para obter todos os benefícios de desempenho.

O que vem por aí

Este é um grande passo na evolução do modelo de núcleo compartilhado do Proton Drive em direção a um armazenamento em nuvem mais eficiente e de maior capacidade, protegido por criptografia de ponta a ponta. O SDK oferece a cada cliente do Drive um núcleo criptográfico compartilhado, tornando possíveis alterações desse escopo — e nos ajudando a avançar mais rápido no que vem por aí. Fique ligado para mais melhorias este ano.

Obrigado pelo seu apoio contínuo,

A equipe de engenharia do Proton Drive