GH GambleHub

Gerenciamento de chaves e rotação

As chaves são as raízes da plataforma. Um sistema de gerenciamento de chaves confiável (KMS/HSM + processos + telemetria) transforma a criptografia em uma única integração em uma operação diária: as chaves são atualizadas regularmente, são utilizadas de forma transparente, os compromissos são localizados e os clientes passam por uma mudança de chave sem downthame.

1) Objetivos e princípios

Crypto agility: possibilidade de alterar algoritmo/comprimento de chave sem grandes migrações.
Least exposure: as chaves privadas não deixam o KMS/HSM; operações de assinatura/decifração - removidas.
Short-lived arts: token/chaves de sessão vive minutos-relógio, não semanas.
Dual-key/Dual-cert janelas: rotações sem custo.
Regional & tenant isolation: as chaves estão divididas por região e locatário.
Full auditability: registro de operações imutável, avaliação HSM, controle de acesso.

2) Classificação das chaves

Raiz (Root CA/Master Key): Uso muito raro, mantido no HSM, usado para o lançamento de chaves intermediárias ou de dados-key.
Operação: assinatura JWT/eventos, TLS, assinatura de webhooks, criptografia de configurs/PII.
Sessão/horário: DPoP, mTLS-binding, ECDH para canal/diálogo.
As chaves de integração (públicas) e os segredos do HMAC.
Data Keys (DEK): usam criptografia envelope sob KEK, não são armazenados de forma explícita.

3) Identificação de chaves e política de uso

Cada chave tem 'kid' (a chave é identificada em tokens/cabeçalhos):
yaml key:
kid: "eu-core-es256-2025-10"
alg: "ES256"         # или EdDSA, RSA-PSS, AES-GCM, XChaCha20-Poly1305 purpose: ["jwt-sign","webhook-sign"]
scope: ["tenant:brand_eu","region:EE"]
status: "active"       # active      next      retiring      revoked created_at: "2025-10-15T08:00:00Z"
valid_to:  "2026-01-15T08:00:00Z"

Regras: «Um objetivo é uma chave» (mínimo de sharing), campos e prazos claros.

4) Ciclo de vida da chave (KMS/HSM)

1. Generate: no HSM/KMS, com política de exportação = proibido.
2. Publish: para assimetria - JWKS/certificado com 'kid'.
3. Use: operações remotas (sign/decrypt) com IAM controlado.
4. Rotate: iniciar a chave 'next' e ativar dual-accept.
5. Retire: Traduza o antigo para 'retiring', depois 'revoked'.
6. Destroy: destruir o material (com o protocolo purge) após a janela de discussões.

5) Rotação: estratégias

Scheduled: calendário (por exemplo, cada 1 a 3 meses para assinar JWT, 6 a 12 m para sertões TLS).
Rolling: mudança gradual dos consumidores (JWKS já contém uma nova chave; o emissor começa a assinar o novo após o aquecimento dos cajus).
Forted (segurança): rotação imediata para comprometimento; uma janela dual-accept curta e agressiva de artefatos.
Staggered per region/tenant: para não «bater» o mundo ao mesmo tempo.

Regra de ouro, primeiro a publicação, depois a assinatura nova, e só depois de expirado, a crítica do antigo.

6) Janela dual-key (câmbio)

Publicamos o JWKS com o antigo e novo 'kid'.
Os verificadores aceitam os dois.
O emissor começa a assinar em N/h.
Monitor a taxa de verificação do antigo/novo 'kid'.
Quando a meta é atingida, o retairim é antigo.

yaml jwks:
keys:
- kid: "eu-core-es256-2025-10" # new alg: "ES256"
use: "sig"
crv: "P-256"
x: "<...>"; y: "<...>"
- kid: "eu-core-es256-2025-07" # old alg: "ES256"
use: "sig"
...

7) Políticas de assinatura e validação

Algoritmos padrão: ES256/EdDSA para assinatura; O RSA-PSS está onde é necessário.
Proibir 'none '/algoritmos fracos; whitelisting do lado da verificação.
Clock skew: Permeamos £300 c, logando desvios.
Key pinning (serviços internos) e curto TTL JWKS-kesha (30-60 s).

8) Criptografia Envelope e KDF

Guarde os dados assim:

ciphertext = AEAD_Encrypt(DEK, plaintext, AAD=tenant    region    table    row_id)
DEK = KMS. Decrypt (KEK, EncryptedDEK )//on access
EncryptedDEK = KMS. Encrypt (KEK, DEK )//on write

O KEK é armazenado no KMS/HSM, rotativo regularmente.
O DEK é criado para objeto/partição; quando o KEK é rotativo, executamos re-wrap (rapidamente, sem criptografia de dados).
Para os fluxos - ECDH + HKDF para a saída de chaves de canal de curta duração.

9) Regionalidade e multi-tenente

As chaves e JWKS são regimentais: 'eu-core', 'latam-core' - conjuntos diferentes de chaves.
Divisão IAM/auditoria por tenant/region; as chaves não são «arrastadas» entre os residentes.
'kid' codifique com prefixo de domínio de confiança 'eu-core-es256-2025-10'.

10) Segredos de integração (HMAC, API-chaves)

Armazenar em KMS-backed Secret Store, a emissão através de short-lived clientes secret (rotation policy ≤ 90 dias).
Suporte a dois segredos ativos (dual-secret) na rotatividade.

Para webhooks - timestamp + HMAC assinatura do corpo; janela de tempo ≤ 5 minutos

11) Controle de acesso e processos

Matriz IAM: quem pode 'generate', 'sign', 'decrypt',' rotate ',' destroy '(mínimo de papéis).
Uma cirurgia sensível de 4 olhos requer duas confirmações.
Mudança windows: janelas de inclusão de nova chave e regiões de teste de canários.
Runbooks: modelos de procedimentos para rotações scheduled e forced.

12) Observação e auditoria

Métricas:
  • `sign_p95_ms`, `decrypt_p95_ms`, `jwks_skew_ms`,
  • consumo por 'kid', 'old _ kid _ usage _ ratio',
  • `invalid_signature_rate`, `decrypt_failure_rate`.
Logi/Auditoria:
  • Cada operação de assinatura/transcrição: 'who/what/when/where/kid/purpose'.
  • Histórico de chaves e pedidos de rotação/recall.
  • Avaliação HSM, registros de acesso a materiais-chave.

13) Playbooks (incidentes)

1. Comprometer chave de assinatura

Revoke imediatamente o antigo 'kid' (ou tradução para 'retiring' com janela mínima), publicação do novo JWKS, TTL de toquins reduzidos, força-logout/deficiência RT, comunicações a proprietários de integração, auditoria retrô.

2. Massa 'INVALID _ SINAL' após rotatividade

Verifique o cachê JWKS/clock skew, devolva o dual-aceitt, estenda a janela, envia aos clientes.

3. Aumento da latência KMS/HSM

Não é possível ativar o dinheiro local de assinaturas; em vez disso, batch/queue no emissor, autoscaling HSM proxy, priorizar os fluxos críticos.

4. Rejeição de uma região

Ativar os procedimentos de isolamento regional; não «puxar» chaves de outras regiões; degradar funções atribuídas a assinaturas em uma região tombada.

14) Testes

Contract: correto JWKS, correto 'kid '/alg/use, compatibilidade de clientes.
Negative: assinatura falsa, «kid» obsoleto, alg incorreto, clock skew.
Chaos: rotação instantânea, indisponibilidade do KMS, «deriva» do tempo.
Load: pico de assinaturas (JWT/webhooks), pico de transcrição (PII/pagamento).
E2E: janela dual-key: lançamento - verificação - transferência de tráfego - remoção do antigo.

15) Exemplo de configuração (YAML)

yaml crypto:
regions:
- id: "eu-core"
jwks_url: "https://sts. eu/.well-known/jwks. json"
rotation:
jwt_sign: { interval_days: 30, window_dual: "48h" }
webhook: { interval_days: 60, window_dual: "72h" }
kek:   { interval_days: 90, action: "rewrap" }
alg_policy:
sign: ["ES256","EdDSA"]
tls: ["TLS1. 2+","ECDSA_P256"]
publish:
jwks_cache_ttl: "60s"
audit:
hsm_attestation_required: true two_person_rule: true

16) Exemplo de JWKS e marcadores em artefatos

Fragmento de heder JWT:
json
{ "alg":"ES256", "kid":"eu-core-es256-2025-10", "typ":"JWT" }
JWKS (parte pública):
json
{ "keys":[
{"kty":"EC","use":"sig","crv":"P-256","kid":"eu-core-es256-2025-10","x":"...","y":"..."},
{"kty":"EC","use":"sig","crv":"P-256","kid":"eu-core-es256-2025-07","x":"...","y":"..."}
]}

17) Anti-pattern

Chaves de longa duração «anos» e comuns a todas as regiões.
Rotação «em um momento» sem dual-accept.
Exportar chaves privadas do KMS/HSM «para rapidez».
Mistura de tarefas: assinar JWT com uma única chave e criptografar dados.
Nenhum registro/avaliação HSM ou limite IAM.
Não há nenhum mecanismo de ré-wrap para DEK na rotação KEK.
Os «segredos» manuais em ev em vez da Secret Store.

18) Folha de cheque antes de vender

  • Todas as chaves privadas no KMS/HSM; Matriz IAM e princípio de quatro olhos configurados.
  • Políticas de algoritmos, comprimento de chaves e prazo de vida foram aprovados.
  • Processo dual-key ativado com monitoramento de participação por 'kid'.
  • O JWKS é publicado com um TTL curto e aquecido; os clientes aceitam ≥2 chaves.
  • Criptografia Envelope: KEK rotável, DEK re-wrap sem interrupção.
  • Isolamento regional e conjuntos separados de chaves por tenentes.
  • Playbooks de comprometimento/rolling/rotação de força; Testes de treino.
  • Métricas ('old _ kid _ usage _ ratio', 'invalid _ indicação _ rate') e alertas estão ativadas.
  • O conjunto de testes contracto/negativo/chaos/load/E2E foi concluído.
  • Documentação para integrações: como processar a mudança 'kid', quais janelas e códigos de erro.

Conclusão

O controle de chaves é uma disciplina operacional: KMS/HSM como fonte de verdade, rotações regulares e seguras com dual-key, isolamento regional e tenente, criptografia envelope e observabilidade. Seguindo estas regras, você recebe criptocontos que são escalados, resistentes a incidentes e facilmente explicáveis para o auditor - e desenvolvedores e integradores passam por qualquer mudança sem dor.

Contact

Entrar em contacto

Contacte-nos para qualquer questão ou necessidade de apoio.Estamos sempre prontos para ajudar!

Iniciar integração

O Email é obrigatório. Telegram ou WhatsApp — opcionais.

O seu nome opcional
Email opcional
Assunto opcional
Mensagem opcional
Telegram opcional
@
Se indicar Telegram — responderemos também por lá.
WhatsApp opcional
Formato: +indicativo e número (ex.: +351XXXXXXXXX).

Ao clicar, concorda com o tratamento dos seus dados.