v2.0

Google Cloud KMS

A camada de gerenciamento de chaves do browserMate: como a chave mestra é protegida e por que nem o próprio servidor tem acesso direto a ela.

O que é o KMS

O browserMate usa o Google Cloud Key Management Service (KMS) para a camada mais segura de proteção de credenciais. O KMS é o serviço de gerenciamento de chaves criptográficas do Google Cloud.

Todos os valores do Cofre de Senhas e os campos sensíveis de conectores passam por essa camada.

Como funciona

O KMS usa um modelo de criptografia de envelope:

  1. Uma Chave de Criptografia de Chave (KEK) fica armazenada e gerenciada exclusivamente pelo Google Cloud KMS, e ela nunca sai do serviço.
  2. Quando você salva uma credencial, o servidor gera um vetor de inicialização (IV) aleatório e chama o KMS para cifrar o valor usando AES-256-GCM.
  3. O resultado é armazenado no banco como: kms:v1:<ciphertext_em_base64>
  4. Para decifrar, o servidor chama o KMS novamente, sem nunca tocar na chave mestra diretamente.
Por que isso importa Mesmo em um cenário extremo de vazamento completo do banco de dados, os valores cifrados são inúteis sem acesso ao KMS, e o acesso ao KMS é controlado por IAM do Google Cloud, com auditoria de cada operação.

Proteção adicional com AAD

O browserMate usa Additional Authenticated Data (AAD) na criptografia: o token do dono da credencial é incorporado ao processo de cifragem. Isso significa que um ciphertext criado por um usuário não pode ser usado por outro usuário, mesmo que tenha acesso ao banco de dados.

Formato de armazenamento

kms:v1:<base64(ciphertext)>

O prefixo kms:v1: identifica que o valor está criptografado com KMS versão 1. Futuros algoritmos usariam kms:v2:, etc., permitindo migração gradual sem quebrar dados existentes.

Criptografia em Conectores

O Connector Crypto é o sistema que cifra automaticamente campos sensíveis ao salvar conectores:

O runtime nunca vê a chave

A arquitetura garante que a decifragem acontece somente no servidor (server-side):