Publicidade

O Evangelho de Satoshi Nakamoto – Cap. 19 vers. 11

Por Leonardo Broering Jahn

Daí meus amigos, boa noite!

CONTINUA APÓS A PUBLICIDADE

Estamos de volta. No versículo anterior apresentamos a décima parte da tradução de “Formalizing and Securing Relationships on Public Networks”, hoje continuamos com a décima primeira.

 

Proteção de Chaves

CONTINUA APÓS A PUBLICIDADE

Até então, assumimos que as partes como Alice e Bob são monolíticas. Mas no mundo dos contratos inteligentes, eles usarão agentes de software baseados em computador e cartões inteligentes para fazer seus lances eletrônicos. As chaves não estão necessariamente vinculadas a identidades, e a tarefa de realizar essa ligação acaba sendo mais difícil do que à primeira vista. Depois que as chaves são vinculadas, elas precisam estar bem protegidas, mas as conexões de rede de longa distância são notoriamente vulneráveis a ataques de hackers.

Se assumirmos que o atacante tem a capacidade de interceptar e redirecionar quaisquer mensagens no protocolo de rede, como é o caso de redes de longa distância como a Internet, então também devemos assumir, para praticamente todos os sistemas operacionais comerciais, que eles também sejam capaz de invadir o cliente, se não os computadores dos comerciantes, e encontrar as chaves no disco.

Não há solução completamente satisfatória para a segurança de operações de terminais a partir de ataques baseados em rede, mas aqui está uma estratégia para praticamente eliminar esse problema para sistemas baseados em chave pública:

CONTINUA APÓS A PUBLICIDADE

Toda a operação de chave pública pode ser executada dentro de uma placa de hardware ilegível ou cartão inteligente em uma máquina com uma conexão de linha serial muito estreita (isto é, ela carrega apenas um protocolo simples de uso único com segurança bem verificada) para um firewall dedicado. Isso é econômico para servidores de alto tráfego, mas pode ser menos prático para usuários individuais. Além de melhor segurança, tem a vantagem adicional de que o hardware acelera os cálculos das chaves públicas.

Se a capacidade de Mallet¹ é fisicamente apoderar-se da máquina, uma forma mais fraca de proteção de chave será suficiente. O truque é manter as chaves na memória volátil. Isso torna o PC à prova de ataques físicos – tudo o que é necessário para destruir as chaves é desligar o PC. Se os backups de chave puderem ser escondidos em um local físico diferente e seguro, isso permitirá que o usuário criptografe grandes quantidades de dados, tanto no próprio computador quanto em redes públicas de computadores, sem medo de que ataques físicos contra o PC comprometam o computador. Os dados ainda são vulneráveis a um “ataque de mangueira de borracha” (Rubber Hose Attack), onde o proprietário é coagido a revelar as chaves ocultas.

Capacidades

CONTINUA APÓS A PUBLICIDADE

A segurança orientada a objetos, ou capacidade, é uma área profunda e promissora, mas está além do escopo deste artigo. As capacidades podem potencialmente simplificar o design de muitos protocolos de segurança distribuídos. Em vez de desenvolver um protocolo criptográfico novo ou modificado para cada problema de contratação, as capacidades podem nos permitir projetar uma grande variedade de protocolos de segurança distribuídos em uma estrutura criptográfica comum.

Para mais informações, consulte Introdução à Segurança Baseada em Capacidade (Introduction to Capability Based Security).

Quorum

CONTINUA APÓS A PUBLICIDADE

A distribuição de quorum de desempenho ou controle sobre recursos pode ser baseada no compartilhamento secreto de chaves necessárias para executar ou controlar um recurso. Estes também são conhecidos como técnicas de limiar (threshold techniques). São métodos de dividir uma chave (e, portanto, controlar qualquer objeto criptografado com essa chave) em N partes, das quais apenas M são necessárias para recriar a chave, mas menos de M das partes não fornecem nenhuma informação sobre a chave. O compartilhamento secreto é uma ferramenta potente para distribuir o controle sobre os objetos entre os principais.

Markus Jacobsson criou um quórum de ‘casas de moeda’ para assinar moedas digitais, por exemplo. O quórum estabelece uma “conspiração necessária” de M de N para desempenhar uma função, oferecendo uma opção para proteção mais forte do que as típicas 2 de N usadas na segregação de funções e maior confiança na segurança subjacente à segregação.

Logs de Transações Não-Falsificáveis Posteriormente

Tradicionalmente, os auditores têm entrado em contato com as contrapartes para verificar se a transação realmente ocorreu (o “princípio da conspiração requerida” no trabalho novamente). Com registros não-falsificáveis posteriormente, por meio de um sistema hierárquico de funções hash unidirecionais, uma parte pode se comprometer publicamente com transações à medida que são concluídas, publicando hashes cumulativos assinados do fluxo de transações. A confidencialidade da transação é mantida integralmente até que um auditor questione (“ping”) a transação para determinar sua natureza atual. A identidade da contraparte pode permanecer confidencial, porque não é necessária para estabelecer os outros fatos da transação. O único ataque é forjar transações em tempo real, na hora em que ocorre a transação, o que na maioria dos casos práticos é inviável. A maioria das fraudes contábeis envolve a análise de conjuntos de transações concluídas e, em seguida, forjá-las para que sejam computadas com um resultado contrafactual desejado.

 

¹[nota minha] Mallet: codinome que representa um atacante na ciência da computação.

 

Terminamos aqui mais um versículo, amanhã voltamos com o próximo. Ricas Bençãos!

Compartilhe este artigo
@leonardobjahn Natural de Florianópolis, SC 27 anos Evangelista Bitcoin Graduando Administração na UFSC Professor particular e tradutor de Inglês
Sair da versão mobile