Todos os posts

11 min de leitura

Como a CardanoWall armazena sua identidade

A CardanoWall armazena sua identidade como texto cifrado em um cofre, nunca sementes em texto claro. Veja exatamente o que o servidor guarda, o que apenas sua passkey consegue abrir e por que sua semente é o verdadeiro backup.

A CardanoWall nunca armazena seu Identity Seed em texto claro. O servidor guarda um cofre cifrado que apenas suas próprias passkeys conseguem abrir, além dos dados públicos e não secretos necessários para operar sua conta. A semente em si — aquilo que é sua identidade — fica do seu lado.

Eis o modelo mental em uma linha: seu Identity Seed é a identidade portátil e o verdadeiro backup; o cofre hospedado é uma camada de conveniência desbloqueada por passkey, não custódia.

Este artigo percorre o que a CardanoWall armazena, o que ela deliberadamente não consegue ler e o que isso significa quando algo dá errado.

O que é um Identity Seed e por que ele importa?

Uma identidade CardanoWall é construída a partir de um único Identity Seed de 32 bytes. A partir dessa semente, a derivação determinística de chaves produz as chaves que você realmente usa: uma chave Ed25519 que assina registros e chaves baseadas em X25519 que recebem arquivos selados. Os mesmos 32 bytes sempre reconstroem a mesma identidade, em qualquer lugar — o site, a ferramenta de linha de comando, os SDKs ou qualquer outro software que siga as regras de derivação do padrão aberto Label 309.

Essa é a propriedade importante: a semente é portátil e determina tudo. As chaves são derivadas dela. Então a única questão que importa para o armazenamento é onde a semente fica.

A resposta é: com você. A CardanoWall pode manter uma cópia cifrada por conveniência, mas armazena texto cifrado, não sementes legíveis.

O que a CardanoWall realmente armazena?

A CardanoWall armazena os dados de serviço necessários para operar sua conta. Isso inclui:

  • o estado de login da sua conta;
  • registros de cobrança e saldo;
  • suas chaves públicas de identidade;
  • registros públicos de prova e referências de transações Cardano;
  • o texto cifrado do cofre de identidade;
  • chaves de API, mantidas apenas como hashes;
  • configurações do produto, como o estado de ciclo de vida de cada identidade;
  • suas entradas na agenda de contatos e preferências da Inbox.

Repare no que não está nessa lista. Seu Identity Seed, sua chave privada de assinatura derivada, suas chaves privadas de recebimento derivadas e quaisquer arquivos selados já decifrados são todos segredos do lado do cliente. Eles nunca são armazenados em uma coluna legível do servidor. O cofre cifrado é o único lugar onde o servidor guarda algo relacionado à semente, e o guarda como texto cifrado que não consegue abrir.

Para o panorama completo do que fica visível para o serviço versus o que permanece no seu dispositivo, veja o que a CardanoWall consegue ver.

O que é o cofre de identidade?

O cofre de identidade é um único pacote cifrado que guarda os segredos das identidades da sua conta.

Dentro do texto claro do cofre, cada entrada contém a semente de 32 bytes de uma identidade e o rótulo de exibição privado que você escolheu para ela — "Pessoal", "Equipe de Imprensa", o que quer que você tenha digitado. (Uma conta pode conter várias identidades; cada uma recebe sua própria entrada.) O rótulo fica dentro da criptografia também, então nunca é exposto no servidor.

Antes de qualquer coisa disso ser armazenada, ela é cifrada. A CardanoWall mantém o resultado como uma linha de cofre atual por conta, no formato age v1. O servidor pode guardar esse texto cifrado e devolvê-lo a você, mas não possui o material de chave necessário para abri-lo.

É exatamente esse o ponto: o cofre não é custódia. Ele é um cache de conveniência cifrado. O artefato canônico e portátil continua sendo a semente.

O que desbloqueia o cofre?

Sua passkey registrada o desbloqueia — e nada mais consegue.

O cofre é cifrado exclusivamente para fatores de passkey WebAuthn compatíveis com a extensão PRF (pseudo-random function), com uma stanza de destinatário por passkey. Não existe, deliberadamente, nenhuma stanza derivada de senha nem nenhuma stanza de chave pública no cofre hospedado. Durante um desbloqueio, seu autenticador realiza a verificação do usuário e libera material de chave derivado de PRF para o navegador; esse material abre o cofre localmente.

O servidor da CardanoWall nunca recebe a semente em texto claro, o cofre decifrado nem qualquer chave privada derivada da semente. Do lado do servidor, tudo o que ele sabe é que uma conta está autenticada e que pode devolver um blob de texto cifrado. Quem abre o cofre é o seu navegador, conduzido pela cerimônia da sua passkey.

Para entender como as passkeys fornecem esse bloqueio e os compromissos de recuperação dos diferentes tipos de passkey, veja como as passkeys protegem seu cofre de identidade.

Por que não simplesmente armazenar a semente no servidor?

Porque isso transformaria a CardanoWall em um custodiante da sua identidade — e a custódia é justamente o modo de falha que o design evita.

Se um serviço armazenasse sementes em texto claro, ou sementes que ele próprio pudesse decifrar, então uma invasão do servidor poderia se tornar uma invasão das chaves dos usuários. Um atacante que roubasse o banco de dados ou as chaves do servidor talvez conseguisse assinar como usuários ou decifrar seus registros selados. Esse é um único ponto de falha catastrófica.

A CardanoWall é construída em torno de uma promessa diferente: um vazamento do banco de dados não deve revelar Identity Seeds, porque o servidor nunca possui o material que os abre. O design pretende tornar uma hipotética invasão séria, mas não catastrófica para suas chaves.

A escolha de cifrar apenas para passkeys tem duas consequências específicas que vale nomear. Como não há stanza derivada de senha, um cofre roubado não tem nada para forçar por tentativa e erro — não existe uma frase secreta escolhida por humano para quebrar. E como não há stanza de chave pública, não existe alvo assimétrico para um futuro ataque quântico (no estilo Shor) mirar; as chaves que protegem o cofre são valores simétricos de 256 bits mantidos dentro dos seus autenticadores, onde a ameaça quântica relevante é a busca no estilo Grover, deixando uma margem de segurança efetiva de cerca de 128 bits.

Isso não faz todos os riscos desaparecerem. Significa que o segredo mais importante não está numa coluna legível do servidor esperando para ser copiado.

O cofre é um backup?

Não é o backup de último recurso. O verdadeiro backup portátil é o Identity Seed.

Se você tem a semente, pode reconstruir a mesma identidade na CardanoWall, na ferramenta de linha de comando, nos SDKs, no aplicativo de desktop ou em qualquer software Label 309 futuro que siga as mesmas regras de derivação. A semente é a única coisa que viaja para todos os lugares.

O cofre hospedado ajuda você a evitar redigitar a semente todos os dias. Ele também pode ajudar a migrar para outro dispositivo conectado quando seu provedor de passkey sincroniza a passkey entre seus dispositivos. Mas o cofre pertence à camada de serviço. Ele pode ser excluído, ficar indisponível ou ser removido quando você remove sua última passkey. A semente é o que deve ser salvo. Por que o Identity Seed ainda importa aprofunda esse tema.

O que acontece no navegador quando você desbloqueia?

Quando você desbloqueia uma identidade, o navegador precisa de acesso temporário ao material de chave privada. Isso é inevitável: para assinar um registro, o cliente precisa deter a chave de assinatura; para decifrar um arquivo selado, ele precisa deter a chave de recebimento. Essas chaves são derivadas da semente no navegador, depois que você desbloqueia.

O design mantém os segredos fora do armazenamento persistente comum do navegador. O cache local do navegador (IndexedDB) pode guardar o texto cifrado do cofre — os mesmos bytes que o servidor tem — para que um recarregamento de página precise apenas de um toque na passkey em vez de uma ida e volta à rede. Ele nunca armazena em cache a semente em texto claro. As chaves privadas ativas ficam na memória da sessão, mantidas fora do estado da interface da aplicação, e são zeradas no bloqueio ou na saída, na medida do possível.

Este é um modelo de web crypto, não isolamento por hardware, e ele é honesto sobre seus limites. Uma extensão de navegador maliciosa, um dispositivo comprometido ou um script malicioso ativo rodando durante uma sessão desbloqueada conseguem ler o que está na memória enquanto você está desbloqueado. Uma content-security policy rígida, scripts mínimos e o desbloqueio apenas mediante ação explícita reduzem essa superfície, mas não conseguem eliminá-la. A CardanoWall remove o risco de custódia no servidor; ela não consegue tornar seguro um dispositivo não confiável. A mecânica é abordada em armazenamento no navegador e chaves de sessão, e o princípio mais amplo em por que as chaves nunca saem do dispositivo.

O que acontece quando você remove uma passkey?

O cofre é reconstruído sem aquele fator.

Quando você remove uma passkey, o cofre atual é recifrado para os fatores restantes e gravado como uma nova linha única, substituindo o texto cifrado antigo no lugar. A passkey removida não consegue mais abrir o cofre que existe. O serviço chega a impor isso na fronteira de armazenamento: um cofre nunca pode ser gravado envolvido em uma credencial que a conta já removeu.

Isso é revogação real para o cofre hospedado atual. É controle na camada de serviço, não viagem no tempo. Se uma passkey foi usada indevidamente enquanto ainda era válida — por exemplo, usada para abrir o cofre e ler a semente lá dentro durante uma sessão ativa — então o atacante talvez já detenha a semente, e recifrar o cofre depois não recupera isso. Nesse caso, a resposta certa não é uma redefinição, mas um recomeço: crie uma nova identidade, desative a antiga e publique as novas chaves públicas onde as pessoas esperam encontrá-las.

O que acontece se você remover uma passkey percorre a sequência exata.

E se a CardanoWall desaparecer?

Suas provas publicadas continuam verificáveis.

Uma prova Label 309 foi projetada para ser verificável de forma autônoma. Verificar uma delas depende de dados públicos da Cardano, de armazenamento público endereçado por conteúdo quando o registro aponta para ele, e da cópia que o próprio verificador tem do conteúdo original ou do material de decifração. Uma prova válida não exige que a CardanoWall permaneça online — qualquer pessoa com a referência da transação e um explorador público da Cardano pode verificá-la.

Sua identidade também sobrevive se você salvou a semente. Os mesmos 32 bytes reconstroem a mesma identidade em qualquer ferramenta compatível.

O que você perde sem a semente é o uso futuro daquela identidade: produzir novas assinaturas e decifrar registros selados endereçados a ela. As provas que você já publicou permanecem verificáveis para sempre, mas você não consegue mais agir como aquela identidade. Essa assimetria — provas publicadas são permanentes, o uso futuro depende de deter a semente — é o preço deliberado de não ter custodiante.

O que você deve realmente fazer?

Salve o Identity Seed primeiro.

Guarde-o em algum lugar de sua confiança para segredos de alto valor: um gerenciador de senhas, um local seguro offline ou qualquer modelo que você use para coisas que não pode se dar ao luxo de perder. Depois, adicione uma passkey para a conveniência do dia a dia.

Para o uso comum, essa combinação é um equilíbrio forte: a semente permanece portátil e a passkey mantém o acesso cotidiano fluido. Para identidades de alto risco, adicione controles operacionais — uma chave de segurança de hardware, um dispositivo dedicado e uma identidade separada reservada para trabalho sensível.

Mais uma coisa para deixar clara: uma semente perdida (sem nenhum fator de desbloqueio restante) significa que o uso futuro da identidade acabou, mas suas provas continuam verificáveis. Uma semente roubada é o comprometimento total da identidade, e a resposta é uma nova identidade mais a desativação da antiga — nunca uma redefinição de senha, porque não há senha para redefinir.

A versão curta

A CardanoWall armazena o texto cifrado de um cofre, não Identity Seeds em texto claro.

Sua semente é a identidade. Sua passkey desbloqueia o cofre cifrado. O navegador usa as chaves privadas apenas depois que você desbloqueia, e as limpa no bloqueio. O servidor pode ajudar você a publicar, sincronizar e recuperar o acesso de forma conveniente — mas, por design, ele não consegue ler nem recriar sua identidade.

Salve a semente. Use a passkey. Saiba a diferença.

Leitura complementar

securityidentitypasskeys