Pinning de certificado ou chave reduz risco de MITM em apps sensíveis. Planeje rotação e expiração dos pins; suporte pins de backup. Equilibre segurança e carga operacional. Use junto com TLS 1.2+ e HSTS.
O que o pinning faz
- MITM: Sem pinning, o cliente confia em qualquer cert que encadeie a uma CA confiável. Um atacante com uma CA (ou rede comprometida) pode apresentar um cert falso e interceptar tráfego. Pinning restringe o cliente a aceitar apenas cert(s) ou chave(s) pública(s) específicos.
- Onde: Apps móveis (iOS/Android) e às vezes clientes de API. Navegadores em geral não suportam pinning (HPKP foi descontinuado). Use para app-to-backend ou API-to-API quando você controla ambos os lados.
- O que fixar: Pin de certificado (hash do cert) ou pin de chave pública (hash da chave pública). Pin de chave sobrevive à renovação do cert com a mesma chave; pin de cert muda quando você rotaciona o cert. Pin de backup permite um segundo cert/chave confiável para rotação.
Rotação e fallback
- Expiração: Pins expiram ou você rotaciona certs. Se o app tiver só um pin e o cert mudar, o app falhará até você enviar uma atualização com o novo pin. Tenha sempre pelo menos um pin de backup.
- Rollout: Antes de rotacionar: adicione o novo cert/chave e fixe no app (backup pin). Envie atualização do app. Após adoção suficiente, torne o novo pin primário e remova o antigo. Depois rotacione o cert no servidor.
- Carga operacional: Pinning amarra releases do app ao ciclo de vida do cert. Planeje calendário de rotação e teste em staging.
Boas práticas
- TLS 1.2+: Use TLS forte e desabilite cifras fracas. Pinning não substitui TLS; adiciona uma segunda verificação.
- HSTS: No servidor, ative HSTS. Para mobile/API, pinning é a camada extra.
- Escopo: Fixe apenas o(s) host(s) que você precisa. Não fixe APIs de terceiros que você não controla.
- Falha: Se a verificação do pin falhar, não faça fallback silencioso para sem pinning. Falhe fechado ou mostre erro claro.
Resumo
Pinning de certificado ou chave reduz risco de MITM. Planeje rotação e expiração; suporte pins de backup. Equilibre segurança e carga operacional. Use com TLS 1.2+ e HSTS.




