Pular para o conteúdo

Escolha o que o site pode guardar no seu navegador. Só o item necessário vem ligado. Política de cookies

CyberArmor

A chave pública que assina a âncora de auditoria

A trilha de auditoria da plataforma CyberArmor é encadeada por cliente. A cada 15 minutos em que a trilha anda, uma âncora resume todas as cadeias, recebe uma assinatura Ed25519 e é publicada num armazenamento separado, fora do banco de dados. Esta página é o segundo canal da chave pública que confere essa assinatura. O primeiro canal é o registro de chaves versionado no repositório da plataforma.

Chaves publicadas

Chaves de assinatura da âncora

Os nomes de campo entre parênteses são os do registro versionado, para comparar os dois canais campo a campo.

Chaves públicas da âncora de auditoria, uma coluna por chave
Camposandbox
Identificador (kid)ancora-236d32c2977f62d1
Ambiente (ambiente)sandbox
Algoritmo (alg)Ed25519
Chave pública em Base64 (chave_publica)it2htylaKLJ/5Yxdp+7wzveoQGPUUNKb9P/SQBTXN6U=
Válida desde (valida_desde)
Revogada em (revogada_em)Não revogada

Hoje existe só a chave do ambiente sandbox. A chave de produção entra nesta tabela quando a produção começar a operar. Nenhuma chave sai da tabela: a que for aposentada recebe a data de revogação, e objeto assinado depois dessa data reprova na conferência.

No sandbox, a chave privada fica no mesmo servidor do banco de dados. Ali a assinatura prova a origem da âncora, mas não resiste a um servidor comprometido.

O kid é derivado da chave: "ancora-" seguido dos 16 primeiros caracteres hexadecimais do SHA-256 dos 32 bytes da chave pública. Datas e horas em UTC.

Para o auditor

Como o auditor confere a âncora

A conferência roda na máquina do auditor e não precisa de acesso ao banco depois que os arquivos foram baixados.

  • Compare a chave nos dois canais

    Confira se a chave desta página é a mesma do registro de chaves versionado (docs/auditoria/chaves-da-ancora.json). Se os dois canais mostrarem chaves diferentes, pare e trate como incidente.

  • Baixe a cópia publicada das âncoras

    O operador da plataforma entrega uma credencial só de leitura do armazenamento das âncoras, ou faz o download na sua presença. Baixe desde a primeira âncora e não abra os arquivos em editor que reformate JSON: um espaço a mais reprova a conferência.

  • Rode o verificador

    O verificador é um script Python curto, que depende só do pacote cryptography. Para cada âncora ele confere forma, nome do arquivo, assinatura, hash e encadeamento com a anterior, e termina com saída 0 quando tudo confere.

  • Compare com o banco

    Peça ao DBA, na sua frente, o hash da última âncora gravada no banco e informe esse valor ao verificador. Assim a cópia externa é comparada com o que o banco diz hoje.

O repositório da plataforma é privado. O verificador e o procedimento escrito, com os códigos de falha e o que fazer em cada um, são entregues ao auditor a pedido, pelo e-mail dpo@cyberarmor.com.br, com o assunto começando por [SEGURANCA].

Limites da conferência

O procedimento entregue ao auditor declara estes limites, e eles valem aqui também.

  • Janela antes da publicação

    Quem tiver superusuário no banco e a chave privada da âncora consegue forjar o que ainda não foi publicado, numa janela de até 15 minutos, e o que vier depois. A conferência acusa a reescrita do que já estava publicado.

  • Evento fora da cadeia

    Um evento que nunca entrou na trilha encadeada não aparece em âncora nenhuma.

  • Inclusão de um cliente específico

    A âncora atual (versão 1) resume todas as cadeias numa raiz só. O verificador desta versão não confere a raiz contra o banco nem a presença de um cliente específico nela.

  • Carimbo de tempo de terceiro

    O carimbo de tempo RFC 3161 ainda não é conferido pela versão atual do verificador.

Setas do teclado ou arrastar trocam a tela. Pinça ou duplo toque ampliam. Esc fecha.