Identidade de dispositivo como serviço

Você integra um SDK no navegador. O dispositivo ganha um identificador provável por criptografia. Quando uma ação sensível acontece, o seu backend pergunta ao Atestus se ela pode prosseguir — e recebe uma resposta com o nível de garantia que aquele dispositivo realmente tem.

Como funciona

  1. Registro. O SDK gera no navegador um par de chaves não exportável e registra a chave pública. O identificador do dispositivo é o thumbprint (RFC 7638) dessa chave pública, e nada mais: nenhum sinal de navegador entra no cálculo, então ele não muda porque o usuário atualizou o sistema.
  2. Intent. O seu backend cria uma intent com o hash canônico (JCS, RFC 8785) do payload que está prestes a aprovar. O navegador assina o desafio daquela intent — um desafio por intent, consumido uma única vez.
  3. Veredito. O seu backend lê o veredito com a chave secreta. O veredito nunca passa pelo navegador, e a assinatura é conferida contra o hash do payload: a trilha de auditoria afirma exatamente o que foi aprovado.

Dois níveis de garantia, e a diferença importa

Declarado

Prova: Que as requisicoes de hoje vem do mesmo navegador, no mesmo perfil, que registrou a chave. A chave privada e gerada como nao exportavel e nao sai dali.

Não prova: Nao prova hardware. Nao prova que o aparelho e o mesmo aparelho fisico, nem que a pessoa e a mesma pessoa. Limpar o perfil do navegador descarta a chave, e o dispositivo vira outro. Um navegador comprometido pode usar a chave sem exporta-la.

Atestado

Prova: Que a credencial foi criada dentro de um autenticador reconhecido e verificado contra uma raiz (FIDO MDS3 na web, App Attest no iOS, Key Attestation no Android), e que ela esta presa aquele aparelho.

Não prova: Nao prova quem esta usando o aparelho. Credencial sincronizavel nao e atestada, porque a chave privada pode existir em outro aparelho: se o backup passar a valer, a garantia cai. E depende de o aparelho e o navegador do usuario suportarem atestacao.

Os dois níveis em detalhe, com as limitações de cada um.

O que o Atestus não é

Cada cliente recebe dois ambientes

live e sandbox, com chaves separadas e dados separados. Não é uma conta de teste à parte que você precisa lembrar de criar: os dois nascem juntos no cadastro, e o isolamento entre eles é imposto por IAM, não por um parâmetro que o código pode errar.

Ver preço · Ler a documentação