Criptografia: quando, onde e como não errar
Três estados
Em trânsito. Sempre criptografado, incluindo entre serviços internos. Uma rede interna não é uma zona segura.
Em repouso. Discos, backups e armazenamento de objetos. Na maioria dos serviços de cloud, é uma configuração, não um projeto.
No nível do campo. Para dados especialmente sensíveis, de modo que nem o acesso ao banco de dados os expõe. O preço: não dá para buscar facilmente por eles.
O gerenciamento de chaves é o mais importante
A chave fica em um serviço de gerenciamento de chaves, não ao lado dos dados. Permissões explícitas, rotação periódica e log de acesso. Criptografia com uma chave no mesmo servidor acrescenta pouco contra um atacante que chegou ao servidor.
Erros comuns
Modos de criptografia desatualizados, reutilização de um valor aleatório, comparar strings secretas de um jeito que vaza timing e um hash rápido para senhas. Todos se evitam usando interfaces de alto nível em vez de primitivos.
Indo mais fundo
Documente por tipo de dado: se está criptografado, em qual camada, quem pode descriptografar e por quanto tempo é guardado. Esse documento é necessário em qualquer auditoria, e costuma revelar também dois lugares em que ninguém tinha pensado.