O que é criptografia de dados em repouso e em trânsito?

Atualizado em: agosto de 2026

Criptografia em repouso é um controle que torna dados armazenados ilegíveis sem as chaves; a criptografia em trânsito protege os dados que cruzam a rede. Dados vivem em três estados — em repouso no armazenamento, em trânsito no fio e em uso na memória — e os dois primeiros são a obrigação de base de toda aplicação: AES-256 para o que fica parado, TLS para o que se move. O terceiro estado (protegido por ambientes de execução confiáveis e, na fronteira, por criptografia homomórfica) é real, mas, para a maioria dos times de aplicação, é a camada de outra pessoa.

Principais pontos

PerguntaResposta
Em repousoAES-256 em discos, bancos, backups — contra mídia roubada
Em trânsitoTLS 1.2+ em toda conexão — contra grampos e MITM
O ponto cegoNenhuma das duas barra um app comprometido — criptografia não é controle de acesso
O problema de verdadeGestão de chaves — chave guardada ao lado do dado é teatro
A confusão a aposentarSenhas recebem hash (bcrypt/argon2), nunca criptografia

As duas proteções — e o que cada uma barra de fato

A tabela honesta que as páginas do ranking omitem — incluindo a coluna que mais importa:

              Padrão            Cobre                    Barra                     NÃO barra
Em trânsito   TLS 1.2+/HTTPS    todo trecho de rede      grampos, MITM,            endpoints comprometidos —
                                                         bisbilhotice de wi-fi     o servidor lê numa boa
Em repouso    AES-256 (GCM)     discos, BDs, backups     drives roubados, backups  credenciais roubadas,
                                                         vazados, buckets abertos  SQL injection, bugs do app
Em uso        TEEs              RAM durante o            raspagem de memória       — preocupação de plataforma,
                                processamento                                        na maior parte

Nenhuma barra um atacante em quem o próprio app confia. O app guarda as chaves e
descriptografa sob demanda — criptografia complementa controle de acesso, nunca o substitui.

Como os padrões seguros aparecem no código da aplicação:

// JavaScript / Node.js — Back4app JS SDK
// Every SDK call rides TLS — and passwords are HASHED, never stored readable
const user = new Parse.User();
await user.signUp({ username: 'ada', password: secret });
// On the wire: TLS 1.2+ (the https serverURL is the whole config)
// At rest: bcrypt hash — even the database never holds the password itself

// Extra-sensitive fields: encrypt server-side in a Cloud Code beforeSave
// so plaintext never reaches storage — AES-256-GCM, key in env, not in code

Como o TLS funciona, em um parágrafo

O truque elegante: a criptografia assimétrica é lenta, mas não precisa de segredo compartilhado; a simétrica é rápida, mas precisa de um. Então o handshake do TLS usa a primeira para estabelecer a segunda — o cliente verifica o certificado do servidor (a checagem de identidade que torna a interceptação detectável), os dois lados combinam uma chave de sessão nova via troca de chaves assimétrica, e tudo dali em diante viaja em criptografia simétrica rápida. O TLS 1.3 apertou tudo isso: uma ida e volta em vez de duas, cifras legadas e troca de chaves RSA removidas, forward secrecy obrigatório — assim, tráfego gravado não pode ser descriptografado depois, mesmo que a chave de longo prazo do servidor vaze. Adendo mobile que as páginas do ranking pulam: apps podem adicionalmente fazer pinning dos certificados esperados, trocando resiliência contra autoridades certificadoras desonestas por cuidado operacional na hora da rotação.

As camadas em repouso: disco vs. banco vs. campo vs. aplicação

“Criptografado em repouso” abrange quatro promessas bem diferentes — cada uma derrotando um atacante diferente:

CamadaComoDerrotaNão toca
Disco inteiro (LUKS/dm-crypt)O SO criptografa o volumeHardware roubado/descartadoQualquer um no sistema em execução
Transparente (TDE)O banco criptografa os arquivos ao gravarArquivos de dados e backups roubadosQualquer um com credenciais do banco
Campo/colunaColunas específicas criptografadas, chaves no appDBAs curiosos, invasões mais amplas do bancoComprometimento do próprio app
Nível de aplicaçãoCriptografado antes de chegar ao armazenamentoTudo abaixo do appO app e seu cofre de chaves
Envelope encryption mantendo as chaves separadas dos dadosOs dados da aplicação são criptografados com uma chave de dados. A chave de dados é, por sua vez, criptografada por uma chave de criptografia de chaves guardada em um serviço de gestão de chaves ou em um módulo de segurança de hardware, de modo que um banco de dados roubado contém ciphertext e chaves embrulhadas, mas nada que descriptografe sem o serviço de chaves guardado separadamente.

AES-256-GCM

criptografa

embrulha

guarda

leva ciphertext +
chaves embrulhadas — nada abre

Dados

Ciphertext
no banco de dados

Chave de dados (DEK)

Chave de criptografia de chaves (KEK)

Serviço de chaves / HSM
sistema separado, auditado

Ladrão com o banco

Os dados da aplicação são criptografados com uma chave de dados. A chave de dados é, por sua vez, criptografada por uma chave de criptografia de chaves guardada em um serviço de gestão de chaves ou em um módulo de segurança de hardware, de modo que um banco de dados roubado contém ciphertext e chaves embrulhadas, mas nada que descriptografe sem o serviço de chaves guardado separadamente.

A regra que atravessa a tabela inteira: camadas mais altas protegem contra mais, custam mais. Criptografia em nível de campo é a troca honesta — colunas criptografadas não podem ser indexadas nem pesquisadas normalmente (criptografia determinística devolve buscas por igualdade ao custo de algum vazamento) — e por isso fica reservada ao genuinamente sensível: dados de saúde, documentos de identidade, segredos. E a falha clássica de auditoria mora aqui: o banco criptografado cujos backups saem sem criptografia.

Criptografia de ponta a ponta é outra promessa

TLS em todo lugar ainda significa que o servidor lê tudo — ele descriptografa cada conexão por design. A criptografia de ponta a ponta move as chaves para os usuários: só remetente e destinatário conseguem descriptografar, e o operador serve um ciphertext que não consegue abrir. Isso é uma decisão de produto diferente, não uma configuração mais forte: E2EE significa nenhuma busca no servidor, nenhuma moderação de conteúdo, nenhuma recuperação se os usuários perderem as chaves. Os modelos de ameaça se encaixam de forma limpa — TLS defende o caminho, em repouso defende o armazenamento, E2EE defende contra o próprio serviço — e a maioria das aplicações corretamente para nas duas primeiras, enquanto mensageiros e cofres de senhas justificam a terceira.

Hashing vs. criptografia

CriptografiaHashing
ReversívelSim — com a chaveNão — por design
Certa paraDados que você precisa ler de voltaSenhas, checagens de integridade
PadrõesAES-256-GCMbcrypt, scrypt, argon2 (lentos + salt)
A falhaPerder ou vazar chavesHashes rápidos sem salt (MD5, SHA-256 puro)

Um destaque aposenta uma confusão disseminada: senhas recebem hash, nunca criptografia. Ninguém — incluindo o servidor — deveria conseguir recuperar uma senha; o login compara hashes. Criptografar senhas significa que existe uma chave que descriptografa todas — exatamente a catástrofe que o hashing existe para impedir.

Casos de uso comuns

  • Todo app web e mobile — TLS em todas as conexões e armazenamento criptografado são o piso, não features.
  • Dados regulados — a GDPR nomeia a criptografia como medida técnica apropriada (com alívio na notificação de violações), regras de saúde a exigem para dados de pacientes, e padrões de pagamento exigem números de cartão ilegíveis em repouso e criptografia forte em trânsito.
  • Backups e descomissionamento — backups criptografados e crypto-shredding (destrua a chave, o dado morre em todo lugar) encerram o capítulo da cópia roubada.
  • Proteção de campos com PII — criptografia em nível de aplicação para as colunas cujo vazamento é manchete, não incidente.
  • Clientes mobile em redes hostis — TLS mais validação de certificado como a defesa que viaja com o usuário.

De qual camada você precisa? Matriz de decisão

SituaçãoUse
Qualquer dado, qualquer appTLS em todo lugar + criptografia em repouso da plataforma — o piso
Pesadelo do backup roubadoBackups criptografados + chaves guardadas em outro lugar
Colunas sensíveis (saúde, documentos)Criptografia de campo/aplicação, chaves em env ou KMS
”Nem nós deveríamos ler”Criptografia de ponta a ponta — aceite os custos de produto
SenhasHashing (bcrypt/argon2) — nunca criptografia
Preocupação com acesso, não com rouboACLs e segurança em nível de linha — criptografia não vai ajudar

Limitações e trade-offs

  • Criptografia não é controle de acesso. O argumento da segurança em camadas em uma linha: a criptografia em repouso é transparente para o app em execução, então as permissões — ACLs, CLPs, políticas de linha — continuam sendo a defesa contra todo atacante com credenciais.
  • Gestão de chaves é o projeto de verdade. A orientação do NIST existe porque geração, separação, rotação e revogação — não a escolha do algoritmo — são onde as implantações falham.
  • Criptografia em nível de campo briga com o banco. Sem índices, sem consultas LIKE, migrações cuidadosas; criptografe os campos que precisam, não o schema.
  • O TLS termina no terminador. Proxies e load balancers que descriptografam no meio do caminho recriam trechos em texto claro; o tráfego interno precisa da mesma disciplina da borda.
  • Compliance ≠ segurança. Criptografia de checkbox com as chaves ao lado dos dados satisfaz auditores e mais ninguém; a coluna do modelo de ameaça é a que se projeta contra.

Criptografia no Back4app

O Back4app é uma plataforma open-source de Backend as a Service (BaaS) que combina banco de dados gerenciado, APIs REST e GraphQL geradas automaticamente, autenticação, armazenamento de arquivos e funções serverless com Cloud Code. O piso vem da plataforma: toda conexão REST, GraphQL e Live Query viaja sobre TLS, e dados e backups são criptografados em repouso — as duas camadas de base chegam como padrão, não como projeto. A parte que sobra para o desenvolvedor é exatamente o que as abas de código esboçam: senhas recebem hash bcrypt do Back4app de fábrica (nunca armazenadas, nunca recuperáveis — a regra do hashing imposta estruturalmente); campos genuinamente sensíveis ganham criptografia em nível de aplicação em um beforeSave do Cloud Code, com a chave na configuração do servidor e não no código, para que o texto claro nunca chegue ao armazenamento; e segredos ficam fora de logs, URLs e bundles de cliente — a disciplina de chaves de API aplicada aos dados. E então a peça que a criptografia não faz: ACLs e permissões em nível de classe governam quem lê o quê, porque o controle que barra um atacante com credenciais nunca foi a criptografia — sempre foi a autorização.

Perguntas frequentes

O que é criptografia em repouso?

Criptografar dados armazenados — discos, bancos de dados, backups, object storage — para que quem obtiver a mídia de armazenamento sem as chaves fique só com ciphertext. O padrão é AES-256; a proteção é contra hardware roubado, backups vazados e camadas de armazenamento invadidas.

O que é criptografia em trânsito?

Criptografar os dados enquanto cruzam redes, para que tráfego interceptado seja ilegível — o trabalho do TLS, que é o que o S do HTTPS entrega. Protege contra escuta e ataques man-in-the-middle em qualquer trecho entre cliente e servidor.

Qual a diferença entre criptografia em repouso e em trânsito?

Estados de dados diferentes, ameaças diferentes. Em repouso, defende cópias armazenadas contra roubo de mídia e de backups; em trânsito, defende dados em movimento contra grampo. São complementos, não alternativas — todo framework de segurança sério espera as duas, porque cada uma barra ataques que a outra não enxerga.

HTTPS é o mesmo que TLS?

HTTPS é o HTTP transportado sobre TLS, o protocolo criptográfico que protege a conexão. O TLS 1.3 é o atual — handshakes mais rápidos, cifras fracas removidas, forward secrecy obrigatório; as versões 1.0 e 1.1 estão formalmente descontinuadas e devem ficar desabilitadas.

Qual a diferença entre criptografia simétrica e assimétrica?

A simétrica usa uma chave compartilhada para os dois sentidos — rápida, certa para dados em volume (AES). A assimétrica usa um par de chaves pública/privada — mais lenta, certa para troca de chaves, certificados e assinaturas. O TLS usa as duas: um handshake assimétrico combina uma chave de sessão simétrica, que criptografa o tráfego de fato.

Qual a diferença entre criptografia de ponta a ponta e em trânsito?

O escopo da confiança. O TLS protege cada trecho, mas o servidor descriptografa e pode ler tudo. Criptografia de ponta a ponta significa que só os usuários que se comunicam têm as chaves — o próprio operador do serviço não consegue ler o conteúdo. E2EE protege contra o servidor; TLS protege o caminho até ele.

Criptografia em repouso protege contra hackers?

Só contra um tipo específico: os que obtêm o armazenamento — drives roubados, backups vazados, buckets mal configurados. Um atacante que compromete a aplicação ou rouba credenciais lê os dados livremente, porque o app descriptografa de forma legítima. Criptografia não é controle de acesso; ela complementa ACLs, nunca as substitui.

Qual a diferença entre hashing e criptografia?

Criptografia é reversível com uma chave; hashing é deliberadamente de mão única. Senhas devem receber hash — com algoritmos lentos e com salt, como bcrypt ou argon2 — e nunca ser criptografadas, porque ninguém, incluindo o servidor, deveria jamais conseguir recuperá-las.

Termos relacionados

Compare com

Leitura adicional

Pronto para construir seu backend?

Comece seu projeto no Back4app em minutos — banco de dados, autenticação, APIs e Cloud Code incluídos. Sem cartão de crédito.

Escrito e revisado por Back4app Engineering, Back4app Engineering · Publicado em 2026-08-21