Skip to content

Shamir's Secret Sharing e o modelo híbrido de Drop ​

Como uma carteira protege sua chave parece uma escolha técnica. É também uma escolha sobre pessoas: quem pode mover seu dinheiro, quem pode perdê-lo e em quem você precisa confiar. Decisões técnicas são decisões morais.

A página Modelo de Segurança descreve como Drop protege sua chave. Esta página trata de uma decisão por trás disso: por que não usamos o Shamir's Secret Sharing, a forma mais comum de dividir uma chave, e quanto essa escolha custa.

Shamir's Secret Sharing em resumo ​

O Shamir's Secret Sharing (SSS) divide uma chave privada em pedaços chamados partes e deixa você escolher quantas são necessárias para reconstruí-la, por exemplo quaisquer 2 de 3. Quem tiver menos não descobre nada sobre a chave, e uma parte pode ser perdida sem que a chave se perca. O método é de 1979 e é usado em todo o setor.

Uma carteira SSS típica mantém uma parte no seu dispositivo, uma com o provedor e uma parte de recuperação que você mesmo guarda.

Drop, em vez disso, divide a chave em duas partes, e as duas são sempre necessárias. Não existe uma parte extra capaz de reconstruir a chave privada, como no SSS.

Três decisões ​

Quem guarda a parte reserva? ​

Com SSS, você. Poder perder uma parte é seu principal atrativo, e isso depende de uma reserva guardada em algum lugar: um arquivo, um serviço de nuvem, um código impresso. É mais uma coisa que você pode perder ou que pode vazar.

Com Drop, não há parte reserva nem nada a mais para você guardar.

O custo: perder uma parte não é uma opção, então manter backups cabe a nós e ao seu segundo dispositivo.

A quem se pergunta quando algo é roubado? ​

Com SSS, possivelmente a ninguém. Se a parte de recuperação acabar ao lado da parte do dispositivo, no mesmo celular, na mesma conta de nuvem ou no mesmo backup do notebook, quem entrar nesse único lugar tem a chave inteira. Não há etapa de aprovação, limite nem alerta, porque duas partes bastam.

Com Drop, um arquivo copiado ou um backup roubado nunca bastam. Com uma passkey compatível, a parte do seu lado é inútil sem essa passkey, e nosso serviço só libera a outra parte para uma requisição aprovada pela sua passkey.

Quanto pode dar errado na aritmética? ​

Com SSS, mais do que se esperaria. Ele depende de uma aritmética que deixa espaço para erros que os testes comuns não pegam. Uma auditoria independente da biblioteca de código aberto da Privy, construída com cuidado e amplamente usada, constatou que em alguns casos menos partes do que o previsto podiam recuperar parte de um segredo. A Privy corrigiu o problema e escreveu abertamente sobre ele. O SSS também não consegue saber que uma parte está errada: combinar uma parte ruim produz uma chave diferente, sem aviso.

Com Drop, as duas partes são combinadas da forma mais simples que existe. Isso mantém a propriedade pela qual o SSS é valorizado, a de que uma parte sozinha não revela nada, com muito menos a dar errado. Drop também verifica se a chave reconstruída corresponde ao endereço da sua carteira antes de usá-la.

O custo: flexibilidade. "Quaisquer 2 de 3" é exatamente o que a aritmética extra compra.

Como cobrimos o custo ​

  • Três cópias de backup do nosso lado. Por enquanto mantemos três cópias de backup das partes criptografadas do lado do servidor e podemos ampliar para mais réplicas: uma em um banco de dados de backup, uma em um banco de dados em uma conta AWS separada e isolada, e uma em hardware offline
  • Um segundo dispositivo do seu lado. Pareie um com o Backup de Passkey, para que perder um dispositivo não deixe você sem acesso
  • Uma saída. Você pode exportar sua chave privada a qualquer momento. A partir daí, proteger essa cópia cabe só a você

Relacionado ​