Índice:
- O que é criptografia?
- Mudanças no pirulito
- Problemas de desempenho
- A criptografia não é obrigatória (e você precisa disso?)
Há muitas informações disponíveis sobre a criptografia de disco completo (FDE) "padrão" do Android 5.0 Lollipop. Algumas delas são boas informações, outras ruins, e muitas são apenas trechos repetidos de especulação. Embora isso traga uma boa conversa - e o FDE é algo que vale a pena falar -, queríamos dividir os pontos mais delicados em uma discussão fácil de ler.
Este não é o documento completo sobre criptografia Android. O Google já postou esse. Vamos abordar as questões orientadas ao consumidor que continuamos ouvindo. Como sempre, use os comentários para discussão, para que todos possamos aprender um pouco.
O que é criptografia?
Criptografia é o processo de proteção de dados usando uma chave de criptografia. Pense em uma senha como uma chave e a criptografia é um bloqueio muito seguro. Você precisa da chave para entrar para fazer alguma coisa. E embora seja possível entrar sem a chave certa, não é muito provável. (Sim, todo e qualquer sistema de criptografia pode - pelo menos teoricamente - ser derrotado por pacientes e indivíduos astutos.)
Nos nossos Androids, todos os dados do usuário em um dispositivo (desde o Android 3.0) podem ser criptografados. Os dados são realmente criptografados em tempo real, antes de serem gravados em disco. Por sua vez, os dados são descriptografados antes de serem retornados a qualquer programa que solicite isso. Tudo que você precisa é a chave correta, que é baseada em senha, usando a senha mestre do dispositivo.
Mudanças no pirulito
Embora o FDE esteja disponível no Android desde o infeliz Android 3.x Honeycomb, o Android 5.0 traz algumas grandes mudanças e melhorias na forma como tudo funciona.
No Lollipop, o FDE é feito com um recurso do kernel que atua diretamente na camada de bloco do armazenamento. Isso significa que a criptografia pode funcionar em dispositivos flash como o armazenamento eMMC - que não possuem recursos de criptografia nativos - porque eles se apresentam ao kernel como um dispositivo de bloco padrão. A criptografia não é possível em sistemas de arquivos que falam diretamente com o armazenamento (como o YAFFS). As pessoas que criaram seu telefone ou tablet podem ter incluído um método para criptografar o armazenamento externo (como o cartão SD), mas o Android AOSP lida principalmente com o armazenamento interno. O algoritmo usado é o AES de 128 bits com CBC e um vetor de inicialização do setor de sal criptografado usando a função de hash SHA256. A chave mestra também usa chamadas para a biblioteca OpenSSL.
Em outras palavras, é muito seguro.
Na primeira inicialização do Android, o dispositivo cria uma chave mestra aleatória de 128 bits, faz a hash e a armazena nos metadados criptográficos. Esses dados são desbloqueados pela senha do usuário. (E lembre-se, pessoal, não use senhas fracas.) O hash resultante também é assinado por meio de suporte de hardware, como recursos baseados em TEE (que é o Trusted Execution Environment), como o TrustZone. Antes do Android 5.0, a chave mestra era criptografada com base apenas na senha do usuário, que podia ser vulnerável a ataques externos pelo ADB.
Curiosamente, o Google não está usando o mecanismo criptográfico de hardware da Qualcomm no AOSP ou no Nexus 6. Isso é ineficiente, pois força a criptografia e descriptografia com base na CPU durante a E / S do disco (provavelmente a cada intervalo de 512 bytes) em comparação ao uso do hardware da Qualcomm recursos de desempenho. Não vamos adivinhar por que isso é feito, mas sabemos que os OEMs são livres para implementá-lo como quiserem. Nós esperamos que eles façam.
O Google fez muito para tornar segura a criptografia de disco completa no Android. Em suma, eles fizeram um bom trabalho.
Problemas de desempenho
Você provavelmente já ouviu falar sobre um desempenho ruim na leitura e gravação em disco em dispositivos Nexus com a criptografia ativada. É verdade - quando você precisar criptografar e descriptografar em tempo real, as velocidades de E / S do disco sofrerão. Como mencionado acima, o Google não está usando os recursos de kernel baseados em hardware da Qualcomm no Nexus 6, o que faz com que sofra ainda mais. Mas quão ruim é isso?
A E / S de disco no Lollipop é várias vezes mais rápida do que no KitKat e nas versões anteriores do Android. A otimização do software e o código específico do dispositivo significa que o Android pode ler e gravar no armazenamento mais rápido do que nunca. Isso é muito bom, principalmente negado pelos tempos de E / S mais lentos devido à criptografia.
Se você precisar usar o FDE (ou forçado a usá-lo porque comprou um Nexus novo e não deseja instalar um firmware personalizado), seu desempenho ainda será melhor (no papel) do que teria sido no KitKat. Simplesmente não será tão bom quanto poderia ser sem criptografia. No uso no mundo real, a maioria dos usuários com quem conversamos não percebe nenhum atraso no dispositivo devido à E / S lenta. Sua experiência pode ser diferente.
Se você deseja ou precisa da FDE, a troca provavelmente vale a pena.
A criptografia não é obrigatória (e você precisa disso?)
Qualquer pessoa com um telefone que já tenha a atualização do Lollipop pode dizer que o Lollipop não o força a usar criptografia. Embora o Nexus 6 e o Nexus 9 (e possivelmente todos os futuros dispositivos Nexus) sejam enviados com ele habilitado e não seja uma maneira fácil de desativá-lo, os telefones que foram atualizados para o Lollipop - como o Galaxy Note 4 - não têm automaticamente a criptografia de disco completa ativada.
O mesmo vale para novos dispositivos fornecidos com o Android 5.x, como o LG G Flex 2. A opção está lá, você deve habilitá-lo, mas por padrão a criptografia completa está desativada. Isso nos leva a uma escolha - precisamos de criptografia de disco completa?
Muitos de nós acharão útil a criptografia completa do disco. Se você possui informações confidenciais que nunca deseja cair nas mãos erradas do telefone, a FDE é uma dádiva de Deus. Para alguém entrar nos seus dados, eles devem saber a senha do seu dispositivo. Nenhuma quantidade de mexer em uma ligação os deixará entrar, e desde que você tenha usado uma senha forte, seus dados estarão seguros porque, após algumas tentativas erradas, tudo fica bloqueado.
Para outros, apenas a segurança padrão da tela de bloqueio será suficiente. Se perdermos um telefone, podemos limpá-lo remotamente via Android Device Manager ou outro utilitário, e se alguém puder ficar offline antes que possamos limpá-lo, tenha a sorte de ignorar a senha da tela de bloqueio (isso pode acontecer), todos eles get são algumas fotos e acesso à Conta do Google nas quais podemos alterar rapidamente uma senha.
Há também toda a questão da espionagem do governo em que pensar. Embora a maioria de nós não tenha motivos para temer consequências pelo que armazenamos em nossos telefones, ainda merecemos um pouco de privacidade e proteção quando nossos dados pessoais estão em causa. A criptografia completa do disco nos aproxima de manter nossos dados protegidos por agências governamentais que acham que precisam vê-los.
Somente você sabe se precisa de criptografia completa do dispositivo.