Recomendo regularmente que as pessoas usem algum tipo de sistema de gestão de senhas que lhes permita definir senhas difíceis de quebrar (sejam curtas e complicadas ou longas e fáceis de lembrar) exclusivamente para cada site e serviço, e também lhes permita preencher essas senhas em qualquer lugar que precisem.
Lowell Nelson me mandou um e-mail há algumas semanas me perguntando por que estou tão interessado em opções de terceiros, como 1Password, Dashlane e LastPass, quando a Apple tem uma solução robusta e multiplataforma própria que inclui sincronização: Keychain. (O Keychain descreve mais especificamente a parte do OS X, enquanto o iCloud Keychain permite sincronização entre dispositivos e uso com iOS.)
É uma pergunta fantástica, e prefiro não dizer às pessoas para comprarem um serviço pago (seja uma taxa única ou uma assinatura) a menos que o utilitário desse utilitário seja tão alto que ultrapasse o custo.
Vejamos os detalhes. Desde que eu testei e estudei 1Password e LastPass extensivamente, eu as uso como base de comparação. Você deve ser capaz de encontrar respostas para cada um dos pontos abaixo nas FAQs ou descrições de recursos para qualquer alternativa suficientemente robusta.
Embora o Keychain da Apple, 1Password, e LastPass possam armazenar outros tipos de dados com segurança, as senhas são o elemento mais confiável que pode ser usado em todo um ecossistema e entre plataformas.
Quão seguros são os seus dados?
Uma senha “segura” precisa manter as senhas, bem, seguras, em três áreas principais:
-
Dados em repouso em um dispositivo. As senhas devem ser seguras em um dispositivo contra qualquer pessoa, exceto o proprietário que tenha acesso.
-
Dados armazenados em servidores. Deve ser difícil ou impossível para um atacante acessar e decodificar senhas armazenadas na nuvem.
-
Dados em trânsito enquanto estiver sincronizado ou de e para acesso baseado na Web. Uma criptografia forte deve impedir que um bisbilhoteiro descriptografe novas entradas, recuperações e atualizações, assim como sessões interativas.
Keychain e iCloud Keychain são bastante robustos nestes aspectos. OS X e iOS têm de ser desbloqueados para preencher as entradas do Keychain, e o aplicativo Keychain Access do OS X requer uma senha administrativa ou de usuário para desbloquear e visualizar as senhas. Com Touch ID ou uma senha no iOS e FileVault 2 no OS X, as senhas também são altamente seguras quando você é desligado (OS X) ou bloqueado (iOS). iCloud Keychain usa criptografia baseada em dispositivo que impede que a Apple possa (ou seja obrigada a) descriptografar suas senhas.
1Password e LastPass utilizam um método de encriptação de palavras-passe “caro” para as suas bases de dados armazenadas localmente, de modo a que mesmo que alguém as consiga obter, um cracker só possa forçar tentativas de palavras-passe a um ritmo muito, muito lento. O LastPass testou isso involuntariamente após um hack: não surgiram relatórios de nenhum cofre de senha sendo desbloqueado.
LastPass sincroniza tudo através de seus servidores, mas criptografa com chaves conhecidas apenas pelos usuários. 1Password sincroniza tudo através do Dropbox e outros serviços baseados na nuvem (confiando nos seus métodos de segurança e encriptação-em-estoque), bem como através das suas subscrições add-on para partilha com familiares ou membros da equipa, mas bloqueia tudo com chaves próprias do utilizador.
LastPass e as opções da equipa ou família para 1Password também lhe dão acesso através de um navegador Web, e usa desencriptação baseada no navegador em vez de software cliente nativo; as empresas não possuem as suas chaves. No entanto, há um ponto fraco em confiar no navegador. Malwares e outras explorações baseadas em navegadores tornam os navegadores muito mais vulneráveis em relação ao nível de segurança disponível através de aplicativos nativos e sincronização em nuvem. As falhas do Safari no iOS e OS X são descobertas regularmente (embora muito poucas sejam vistas na natureza), e você pode ser tentado a acessar suas senhas de uma máquina desconhecida rodando outro OS.
Quão fácil é o sistema de usar?
Um sistema de senhas tem que ser facilmente invocável. Se não for, você não o usará de forma consistente, porque isso é a natureza humana. Pior, se estiver a instalá-lo para alguém melhorar a sua segurança, pode ser improvável que o use de todo se não for um lembrete constante e extremamente simples.
Keychain é usado em grande parte pela Apple como uma forma de lembrar senhas para campos específicos em páginas web, e para armazenar senhas para uma recuperação e desvio automático em seu software (como o AirPort Admin no OS) ou com software de terceiros que usa os ganchos do Keychain da Apple. No Safari móvel e de mesa, o Keychain funciona muito bem, desde sugerir uma senha forte, até armazená-la, até tornar possível puxá-la para cima ou usar outras alternativas armazenadas.
Mas enquanto é amplamente útil no OS X, como mais desenvolvedores adotaram e há o Keychain Access para busca e recuperação direta, no iOS você tem que detalhar até Configurações > Safari > Senhas para ver, editar ou (deslizar até o fundo) adicionar senhas. Além disso, você não pode invocar o Keychain nos diálogos de login não Web da Apple, tornando-o inútil para fins comuns. E enquanto você pode inventar uma senha quando precisa, é estranho chegar e só pode ser recuperada facilmente em uma página web correspondente.
A adição de extensões começando no iOS 8 permite que 1Password, LastPass, e outras ferramentas sejam invocadas no Safari e em outras aplicações. Muitas aplicações iOS que eu uso estão vinculadas diretamente na API do 1Password que permite a invocação direta. No pior caso, eu posso mudar para LastPass ou 1Password para encontrar a senha, copiá-la, e então voltar para a aplicação e colá-la em.
Você também pode usar a aplicação para criar senhas fortes que são mantidas na criação, sincronizadas automaticamente, e copiadas para a área de transferência para usar em outras aplicações.
A situação de cross-platform é muito pior. A Apple não torna o iCloud Keychain disponível fora dos seus próprios sistemas operativos. 1Senha e LastPass (e outros aplicativos) estão disponíveis em uma grande variedade de plataformas principais, além de terem acesso baseado em navegador (por padrão com LastPass e como opção de assinatura com 1Senha).
iCloud Keychain não tem mecanismo de compartilhamento com outras pessoas – parte da narrativa em andamento que venho discutindo há anos sobre como a Apple não projeta seus sistemas a partir do zero para reconhecer que as pessoas trabalham em grupos e como famílias. (Não vamos começar com as questões do Family Sharing.)
A maioria dos sistemas de senha tem algum mecanismo para compartilhar segredos com outras pessoas que têm contas. 1Senha permite a transmissão direta sem assinatura ou, mais recentemente, acesso compartilhado seletivamente entre membros de empresas e grupos familiares. LastPass, porque os itens são armazenados de forma centralizada, oferece isso há anos.
Escolha entre eles
Se você estiver usando quase inteiramente senhas apenas em websites, usando apenas iOS e OS X, e não se importa de memorizar e digitar senhas exigidas pela Apple para seus serviços, Keychain com iCloud Keychain se encaixa na conta. Se nem todas essas condições coincidirem, um sistema de gerenciamento de senhas vale o investimento.
Update: Uma versão anterior desta história dizia que o iOS não fornecia acesso a senhas armazenadas ou uma forma de criar novas senhas. Ele fornece; está apenas enterrado em Settings.