Índice:
Recentemente, tivemos algumas perguntas sobre criptografia. Falamos sobre como o Android incorpora a criptografia e as mudanças que o Nougat traz e, para aproveitar ao máximo essas discussões, é essencial ter um conhecimento básico. Vamos falar um pouco sobre o básico.
O que exatamente é criptografia?
No seu sentido mais simples, a criptografia está alterando a maneira como as informações são exibidas, para que sejam mascaradas, e a única maneira de visualizar sua verdadeira forma é com um conjunto claro de instruções.
Você está usando criptografia todos os dias e talvez não saiba porque pode ser transparente.
Existem várias maneiras de fazer isso, especialmente quando essas informações são digitais e armazenadas em um computador ou telefone. Se você já recebeu um arquivo zip ou documento do Microsoft Office que precisava de uma senha para visualizá-la, ele foi criptografado. Os dados que você queria ver foram colocados dentro de um contêiner (pense nele como uma pasta no seu telefone ou computador) e o contêiner foi protegido por senha. Esse método pode ser ampliado, inclusive para incluir um disco ou partição inteira. Para acessar qualquer coisa na partição criptografada, é necessário desbloqueá-la com uma senha.
Outra maneira de criptografar dados é alterar fisicamente o que é exibido quando você os visualiza, a menos que possa decodificá-los. Pense em um aplicativo no qual você possa digitar uma frase e ele converterá todas as letras em números de 1 a 26. Você digitaria uma frase e o que veria seria um monte de números.
Mas o aplicativo sabe que 1 é igual a, que nenhum número maior que 26 é válido e tem acesso ao dicionário do sistema operacional para verificar a ortografia porque 11 pode ser igual a "aa" ou "k", dependendo da palavra em que é usado. Quando alguém Caso contrário, use o aplicativo para ler o que você digitou, parece normal.
Na sua essência, a criptografia é projetada para dificultar a leitura, a menos que você saiba como analisá-la.
Agora imagine se a ordem dos números fosse invertida, 13 fosse adicionado aos números entre 11 e 15, o espaço em branco entre as palavras fosse excluído e os dados aleatórios que não serão lidos seriam inseridos a cada poucas letras. Seria impossível ler o arquivo sem usar o aplicativo, ao contrário do primeiro exemplo que pode ser descoberto se alguém quiser tentar. É isso que um algoritmo de criptografia faz. Ajuda um programa a transformar dados de qualquer tipo em uma bagunça confusa que pode ser facilmente decodificada pelo próprio algoritmo, mas levaria muito esforço e tempo para quebrar sem ele.
Os algoritmos de computador podem fazer coisas que são muito mais complicadas do que o meu exemplo simples e levar muito menos tempo do que para contar nos dedos. Criptografar uma pasta ou um disco inteiro é um exemplo de um contêiner criptografado, e dados criptografados como o nosso exemplo acima também podem ser colocados dentro de um contêiner criptografado.
Pegar nossos dados e criptografá-los e garantir que os aplicativos e serviços que precisam ter acesso possam descriptografar e usá-los são extremamente complicados. Felizmente, essas peças complicadas são tratadas pelo hardware e pelo sistema operacional e tudo o que precisamos fazer é ter a senha certa ou usar o serviço certo.
Criptografia e Android
O Android suporta criptografia em nível de arquivo e contêiner (disco completo). Como plataforma de aplicativo, também pode suportar métodos de criptografia de terceiros para pastas como pastas seguras ou mensagens e e-mails criptografados. O Android também suporta criptografia suportada por hardware. Isso significa que existe um componente dentro do SoC (System on Chip - onde a CPU e a GPU vivem) que existe para ajudar a criptografar e descriptografar dados em tempo real. A chave real para descriptografar os arquivos é armazenada neste dispositivo e qualquer interação do usuário - uma senha, uma impressão digital, um dispositivo confiável etc. - usada para acessar dados criptografados está realmente solicitando que o Elemento Seguro no hardware faça o trabalho. Desde o Android 6.0 Marshmallow, todas as funções criptográficas podem ser executadas usando esse Elemento seguro e a chave privada (o token usado para criptografar e descriptografar dados) nunca é exposta ao software. Isso significa que, sem um token para apresentar ao hardware, os dados permanecem criptografados.
O Android é desenvolvido com a criptografia em mente e seus dados podem ser seguros e inacessíveis a qualquer pessoa, exceto você.
Nas suas configurações do Android, você também poderá manter o sistema criptografado toda vez que ele inicializar até que uma senha seja digitada. Ter um telefone em execução preenchido com dados criptografados é bastante seguro, mas interromper o processo de inicialização até que uma senha seja digitada impede o acesso aos arquivos e atua como uma camada dupla de proteção. De qualquer forma, sua senha de login (ou PIN, padrão ou impressão digital) ainda acessa dados através do elemento seguro e você não tem como obter a chave de criptografia privada real, que é a única coisa que sabe exatamente como os dados foram codificados e como montá-lo novamente.
Suas mensagens e navegação na web também podem ser criptografadas. Você provavelmente já viu muitos sites em seu navegador usarem o cabeçalho HTTPS se HTTP. HTTP significa Hypertext Transfer Protocol e é o protocolo (think rules) usado para enviar e receber dados pela Internet. HTTPS significa HTTP sobre SSL (Secure Sockets Layer), que adiciona um padrão de criptografia ao protocolo. Tudo o que você digita no navegador da Web é "embaralhado" com uma chave pública que você baixou do site quando chegou lá, e somente a chave privada - que o servidor da Web possui - pode decifrá-la.
Sempre que você digitar alguma informação que considere particular na Web, verifique se possui uma conexão HTTPS segura.
Os dados enviados a você são embaralhados de uma maneira que somente sua versão exclusiva da chave pública pode ser embaralhada. Você não precisa fazer nada, exceto visitar uma página segura que tenha o cabeçalho HTTPS. O telefone garante que o servidor realmente seja quem afirma ser, usando um certificado, criptografa e descriptografa os dados por conta própria através do aplicativo do navegador.
As mensagens criptografadas geralmente exigem um aplicativo que você precisa baixar do Google Play. Aplicativos como Signal ou What'sApp oferecem criptografia de ponta a ponta, o que significa que o aplicativo atribui chaves para contatos ou grupos individuais e apenas a pessoa a quem ele é endereçado pode ler uma mensagem. O BlackBerry Messenger é considerado seguro por muitos, mas como existe apenas uma chave global e cada dispositivo BlackBerry possui, há um debate sobre a segurança. O BBM Protected está disponível para grupos que exigem criptografia mais alta ou de ponta a ponta. O iMessage da Apple também é criptografado de ponta a ponta, mas apenas quando todos estão usando um iPhone.
Você usa esses aplicativos como faria com qualquer outro mensageiro - adicione um contato e envie mensagens. A única diferença é que essas mensagens podem ser criptografadas para que apenas as duas partes envolvidas possam lê-las.
A criptografia está ruim?
A criptografia não faz nada por si só. É o usuário que o torna "perigoso".
Algumas pessoas em alguns governos afirmam que a tecnologia de criptografia disponível para o usuário final (seria você e eu) é perigosa porque torna impossível monitorar as comunicações de "pessoas de interesse". O argumento pode parecer convincente quando nos dizem que os terroristas se comunicam por meses usando um serviço como o Facebook ou o WhatsApp. Mas a criptografia em si não é um perigo para nada e sem ela, nenhuma de nossas transações on-line seria segura e não teríamos garantia de que nossos bate-papos fossem privados. Ao mesmo tempo, todas as informações privadas em nossos telefones seriam facilmente acessíveis por qualquer pessoa com as ferramentas e a motivação certas.
Se desistirmos de qualquer direito de criptografia, abriremos mão de nossa privacidade. A privacidade é assustadora para o governo, porque eles querem saber quando não estamos cumprindo completamente a lei. A noção de que criminosos em potencial podem ser capturados e alguns crimes evitados é grande, mas exige que os cidadãos cumpridores da lei que queiram fazer algo tão simples quanto comprar na Amazon também renunciem a esse direito.
Somente você pode decidir se acha que a criptografia deve ser retirada do setor privado para um bem maior, mas você precisa saber que a própria tecnologia não faz mal. Como a maioria das coisas, ele pode ser abusado pelo usuário.
Isso realmente apenas arranha a superfície do que é a criptografia e como ela funciona. existem muitos recursos online detalhados com todos os detalhes técnicos. Mas isso deve lhe dar uma compreensão básica de tudo, e da próxima vez que vir alguém falando sobre os méritos da criptografia de ponta a ponta ou as vantagens de uma plataforma específica, você poderá entender e participar.
Atualização: fevereiro de 2018: esta postagem foi verificada quanto à atualização e atualizada para que pessoas com perguntas sobre os conceitos básicos de criptografia possam começar a entender.