A solução de custódia do Google Cloud: por que dizem que a chave privada “nunca aparece inteira”?
Nesta semana, a carteira quente de uma corretora foi invadida. Na mesma semana, fui ler um documento de produto do Google Cloud: Multi-party Compute (custódia com computação multipartidária), voltado à gestão de chaves privadas usadas para assinar transações de ativos digitais. A ideia, em uma frase: dividir uma chave em várias partes, guardá-las separadamente e não juntá-las nem mesmo na hora de assinar.
Segundo o documento oficial, funciona assim:
1. O problema do método antigo: guardar a chave privada completa em um único módulo de segurança de hardware cria um ponto único de falha. Copiá-la para vários módulos, em diferentes regiões, aumenta a disponibilidade, mas cada cópia contém a chave privada completa — é como abrir várias portas que podem ser arrombadas.
2. Como funciona: assinatura de limiar (o documento descreve uma extensão reforçada do protocolo DKLS23). Várias partes independentes geram e guardam, cada uma, um “fragmento da chave”. Na hora de assinar, todas calculam juntas uma assinatura válida, sem que nenhuma delas reúna a chave privada completa.
3. Limites de segurança: se o número de participantes comprometidos for menor que o limiar, não será possível falsificar uma assinatura nem reconstruir a chave privada. Se alguns participantes ficarem indisponíveis ou forem danificados permanentemente, ainda será possível assinar, desde que os restantes atinjam o limiar.
4. Exemplo (em outras palavras, conforme o documento): três pessoas da equipe financeira guardam um fragmento cada; são necessárias duas para aprovar uma assinatura.
5. Compatibilidade: curva secp256k1, usada pelo Bitcoin, Ethereum e pelas redes EVM; Ed25519 (Solana) aparece como “em breve”. O produto está atualmente em versão de prévia (Pre-GA).
Algumas observações francas:
· Há um ponto muito honesto no documento: as regras de transação (como limites e listas de permissões) apenas recomendam “permitir” ou “recusar”. Se um número suficiente de signatários aprovar, a transação recusada pela política ainda poderá ser executada. O esquema de limiar protege contra “um ponto ser comprometido”, mas não contra “gente suficiente ser enganada ao mesmo tempo”.
· Dividir a chave não significa que o dinheiro está seguro. Se os signatários caírem em golpes de phishing ou se o processo de aprovação virar mera formalidade, problemas ainda podem acontecer.
· Ainda não foi divulgado um relatório técnico completo sobre o que falhou no caso do roubo desta semana. Não vou presumir que tenha sido um problema que o MPC resolveria, nem dizer que “com ele, não teria havido roubo”.
· Pessoas comuns não precisam de custódia institucional, mas o princípio vale para todos: não guarde sua frase-semente em um único lugar e não fotografe a frase inteira para armazená-la na nuvem.
E a sua frase-semente: está “guardada em um só lugar” ou “copiada para vários lugares”?
#MPC #钱包安全 #科普
Nesta semana, a carteira quente de uma corretora foi invadida. Na mesma semana, fui ler um documento de produto do Google Cloud: Multi-party Compute (custódia com computação multipartidária), voltado à gestão de chaves privadas usadas para assinar transações de ativos digitais. A ideia, em uma frase: dividir uma chave em várias partes, guardá-las separadamente e não juntá-las nem mesmo na hora de assinar.
Segundo o documento oficial, funciona assim:
1. O problema do método antigo: guardar a chave privada completa em um único módulo de segurança de hardware cria um ponto único de falha. Copiá-la para vários módulos, em diferentes regiões, aumenta a disponibilidade, mas cada cópia contém a chave privada completa — é como abrir várias portas que podem ser arrombadas.
2. Como funciona: assinatura de limiar (o documento descreve uma extensão reforçada do protocolo DKLS23). Várias partes independentes geram e guardam, cada uma, um “fragmento da chave”. Na hora de assinar, todas calculam juntas uma assinatura válida, sem que nenhuma delas reúna a chave privada completa.
3. Limites de segurança: se o número de participantes comprometidos for menor que o limiar, não será possível falsificar uma assinatura nem reconstruir a chave privada. Se alguns participantes ficarem indisponíveis ou forem danificados permanentemente, ainda será possível assinar, desde que os restantes atinjam o limiar.
4. Exemplo (em outras palavras, conforme o documento): três pessoas da equipe financeira guardam um fragmento cada; são necessárias duas para aprovar uma assinatura.
5. Compatibilidade: curva secp256k1, usada pelo Bitcoin, Ethereum e pelas redes EVM; Ed25519 (Solana) aparece como “em breve”. O produto está atualmente em versão de prévia (Pre-GA).
Algumas observações francas:
· Há um ponto muito honesto no documento: as regras de transação (como limites e listas de permissões) apenas recomendam “permitir” ou “recusar”. Se um número suficiente de signatários aprovar, a transação recusada pela política ainda poderá ser executada. O esquema de limiar protege contra “um ponto ser comprometido”, mas não contra “gente suficiente ser enganada ao mesmo tempo”.
· Dividir a chave não significa que o dinheiro está seguro. Se os signatários caírem em golpes de phishing ou se o processo de aprovação virar mera formalidade, problemas ainda podem acontecer.
· Ainda não foi divulgado um relatório técnico completo sobre o que falhou no caso do roubo desta semana. Não vou presumir que tenha sido um problema que o MPC resolveria, nem dizer que “com ele, não teria havido roubo”.
· Pessoas comuns não precisam de custódia institucional, mas o princípio vale para todos: não guarde sua frase-semente em um único lugar e não fotografe a frase inteira para armazená-la na nuvem.
E a sua frase-semente: está “guardada em um só lugar” ou “copiada para vários lugares”?
#MPC #钱包安全 #科普
