Bluesky, Mastodon, Telegram e RSS

O que garante a criptografia?

Estava lendo sobre o app Journal que deve ser disponibilizado no iOS 17.2, e o texto menciona que o conteúdo nesse aplicativo será criptografado de ponta a ponta.
Não somente sobre esse app, mas sobre apps e serviços que prometem essa forma de segurança, trago a pergunta:
O que garante que apps que dizem ter criptografia de ponta a ponta sejam de fato seguros e que essas empresas não tenham acesso aos dados?

9 comentários

9 comentários

  1. Olha, auditorias de terceiros, especialmente aquelas que exploram a forma de implementação dessa criptografia, e código-aberto, que também é uma garantia de transparência.

    Se um software promete criptografia de ponta a ponta, mas não atende a esses critérios, ou a sua auditoria foi pouco transparente, ou, ainda, não abordou a forma de implementação da criptografia, deve ser visto com bastante ceticismo sempre. É o caso de empresas como a MEGA, que já mostrou ter erros básicos de implementação.

  2. Eu não confio em nenhuma dessas Big Techs quando o assunto é “criptografia de ponta-ponta”

  3. A criptografia, usualmente, é baseada num par de chaves (uma privada e outra pública) que são usadas pra ler/gravar os dados. A sua chave publica é que é armazenada no servidor e usada pra criptografar os dados nele. A sua chave privada é a que está no dispositivo e é usada para decriptar o conteúdo que vem do servidor. Teoricamente, apenas alguém de possa das duas chaves seria capaz de ler as suas mensagens, por exemplo. A questão em relação às empresas é se elas tem acesso ao seu dispositivo de modo que sejam capazes de ler/capturar a sua chave privada. Idealmente, não existe esse acesso (seria um backdoor, eu acredito). Mas nada impede, dentro de um código fechado, de termos mecanismos para decriptar mensagens com uma chave intermediária em caso de necessidade. Mas acho isso improvável pelo custo computacional. Uma chave criptográfica simples (RSA) usa um modelo de números primos (que não existe um algoritmo de previsão/geração; se alguém sabe um, pode ganhar 1M de dólares, porque assim terá a prova/demonstração da Hipotese de Riemann) [1].

    Essa é uma explicação MUITO simples.

    Em relação à Apple, eles mantém um bom paper sobre o modo que eles criptografam os volumes no macOS.

    Acredito que a Apple tenha uma criptografia bastante robusta, principalmente por conta do Secure Enclave, que é o subsistema usados nos chips SoC (T1, T2 e série M). A explicação da documentação da Apple é bem completa sobre esse subsistema.

    Agora, a questão sua parece residir na confiança que temos se essas empresas são mesmo incapazes de ler nossos dados. Eu diria que em um sistema fechado, isso é um ato de fé que se fortalece com a confiança na reputação da empresa na área de privacidade. Hoje em dia, acredito que a empresa que mais tem essa reputação ainda seja a Apple.

    [1]: em 2018 o Michael Atiyah disse que tinha a prova dessa hípotese. Ele foi ouvido porque ele já era conhecido no meio (detentor de uma medallha Fields). Mas nunca mais se falou direito sobre o assunto. Em 2018 ainda, esse caso teve ampla repercussão no mundo matemático.

  4. 2 coisas:

    aplicativo ser de código aberto, permitindo qualquer um verificar o mesmo;
    confiança, confiar que ele criptografa tudo e que não tem acesso. a mullvad (vpn) falou uma vez que a polícia bateu no escritório deles pedindo os doados, no conseguiram levar pq ao tinham acesso, polícia saiu sem nada.

  5. Garantir, garantir, acho que não tem como. Só se o usuário tivesse acesso direto aos servidores da empresa, o que não é possível.

    Mesmo se os dados do aplicativo forem criptografados localmente, a empresa tem, em tese, acesso a chave que poderia descriptografar esses arquivos (ou não?). É tipo confiar que uma empresa guarda a senha de sua conta criptografada, e não em texto puro.

    Acho que uma analogia seria a de confiar que um restaurante prepara sua refeição de maneira higiênica e com alimentos de qualidade, com a diferença que você não poderia visitar a cozinha (ainda assim, creio que pouca gente já tenha visitado uma, e mesmo quem já o fez, não é um hábito). Infelizmente, nos dois casos, o que acaba quebrando essa confiança é a ocorrência de algum incidente que prejudica o consumidor.

    1. Na analogia do restaurante, vc tem a Vigilância Sanitária para fiscalizar se o restaurante está seguindo as normas. No caso dos SaaS, vc não tem nem isso.
      A única forma, ao meu ver, de ter certeza que um serviço é realmente privado, é sendo dono do servidor e ter acesso ao código fonte do software que ele está rodando. De outra forma, é necessário que vc confie no fornecedor do serviço.

      1. bom, existem auditorias externas, mas é bem menos abrangente que um órgão governamental.
        Pra mim a garantia é que seria um caos para a empresa ser pega mentindo algo assim, não acho que compensa tentar enganar o usuário nesse nível.

      2. Como o João falou, sobre a equivalência da Vigilância Sanitária, existem as auditorias que são feitas por terceiros, que podem verificar a criptografia. Mas até onde eu sei, tá longe de ser algo obrigatório ou regulamentado.

        Sobre verificar o código fonte, é uma possibilidade que não tinha pensado, seria o equivalente mais próximo a “visitar o restaurante” que a gente tem. Só uma ressalva é que a gente também precisa garantir que o código usado no servidor é o mesmo do código fonte. Aí acaba caindo no primeiro problema do usuário ter acesso ao servidor.