Casa > Q > Qual É A Melhor Maneira De Criptografar Os Dados Do Aplicativo Android Antes De Enviá-Los Ao Servidor?

Qual é a melhor maneira de criptografar os dados do aplicativo Android antes de enviá-los ao servidor?

Assumindo que eu entendi a pergunta corretamente, você normalmente apenas encriptaria durante o trânsito usando TLS .

Porquê? Um par de razões:

  1. para garantir que você está falando com o host correto, você provavelmente usaria TLS de qualquer forma. se você não o fizer (qualquer depende puramente dos resultados do DNS) não há nenhuma maneira de ter certeza de que você está falando com o endpoint certo.
  2. Seguir a partir de #1, você estaria implementando a criptografia dentro do seu próprio código ao invés de utilizar uma capacidade padrão através de plataformas. Isso aumenta o risco de errar e, portanto, impactar seu modelo de segurança>li>li> Você também precisaria considerar como as coisas são descriptografadas na outra ponta também, o que poderia potencialmente levá-lo a uma maior confusão com o gerenciamento de chaves.
    1. Dependente do tamanho da carga útil, você possivelmente teria que implementar alguma criptografia simétrica - como você sincronizaria chaves entre todos os seus clientes e servidores (não, a resposta não é hardcode algumas chaves!!!)
    2. li>Even se você pudesse escapar com chaves assimétricas (por exemplo, pares de chaves públicas/privadas), você ainda teria algumas considerações sobre gerenciamento de chaves, E você ainda estaria (provavelmente) utilizando TLS. Você está sendo atingido duas vezes no desempenho. Mais uma vez, não é bom

Espero que isto explique porque é que normalmente se encripta em trânsito, mas talvez tenha alguns requisitos especiais que o forcem a encriptar antes de enviar o TLS.

.

De Mazonson Vetsch

Qual é a diferença entre encriptação em repouso e encriptação em trânsito? :: Por que é tão difícil diminuir a luneta dos smartphones? O que está debaixo dela?