Se você tem alguma dúvida sobre segurança da informação (antivírus, invasões, cibercrime, roubo de dados etc.) vá até o fim da reportagem e utilize o espaço de comentários ou envie um e-mail para [email protected]. A coluna responde perguntas deixadas por leitores no pacotão, às quintas-feiras.
>>> Como funciona a blockchain?
Altieres, gostaria que você explicasse o que é blockchain.
Até hoje, entendo blockchain como uma forma de registro de transações em que que todo o histórico das transações fica arquivado para consulta futura, sem possibilidade desse registro ser alterado. É isso ou estou equivocado?
Obrigado!
Marcelo Pinto
Seu entendimento não está equivocado, Marcelo. A blockchain, tecnologia usada pelas criptomoedas, é um conceito até simples, embora matematicamente complicado.
Essas moedas só registram transações, não saldos. Para saber o saldo de uma carteira, você soma todos os recebimentos e desconta os envios. Na prática, porém, o Bitcoin em si não calcula saldos. Toda transação precisa referenciar a moeda específica a ser usada para que a rede possa verificar se aquela moeda pertence a quem está tentando utilizá-la. Se a moeda já foi gasta, isso é detectado por meio de uma análise de todos os registros anteriores e a transação é invalidada.
Isso também significa que uma transação de Bitcoin às vezes precisa fazer referência a vários "recebimentos". Se você quiser enviar 2 Bitcoins para alguém, e recebeu 1, 0,5 e 0,5 Bitcoin em três ocasiões, sua transação terá que marcar esses três recebimentos para somar os 2 BTC que você quer enviar. O "troco" gera um novo recebimento: se você quisesse enviar apenas 1,8 Bitcoin usando esse total de 2, você faria uma transação para si mesmo de 0,2 Bitcoin para poder usar no futuro e, se o programa não colocar essa "devolução", a diferença vai para o minerador como taxa de transação.
Entender a blockchain em si é mais fácil se você separá-la do resto do Bitcoin. Imagine que você esteja fazendo uma "blockchain" de documentos. Você cria o primeiro documento e depois, no início do segundo documento, você coloca as primeiras letras de cada linha do primeiro documento. No terceiro documento, você usa as iniciais do segundo (inclusive da linha com as inicias do primeiro) e assim por diante.
1. Conteúdo
2. Linhas iniciais de 1 + conteúdo
3. Linhas iniciais de 2 + conteúdo
...
Quando você tiver o décimo documento em mãos, por exemplo, você pode identificar a legitimidade do nono documento checando as iniciais contidas no décimo, e assim prosseguindo até conferir a legitimidade de todos os arquivos de documento nessa "corrente", chegando até o primeiro documento e, portanto, ao início da "história" que dará sentido ao conteúdo do último documento.
Isso é blockchain: uma série de arquivos em que cada um referencia o arquivo anterior para armazenar algo em partes.
SAIBA MAIS
O Bitcoin desperdiça mesmo energia? Veja perguntas e respostas
Blockchain é usada por criptomoedas como o Bitcoin para armazenar o histórico de todas as transações já realizadas, sem calcular 'saldos'. (Foto: Leszek Soltys/Freeimages.com)
Talvez você tenha notado um problema com o exemplo. Embora dê para saber que um documento está ligado a outro nessa série, alterar o conteúdo das frases sem alterar a primeira letra é muito simples (uma frase que começa com "A casa" poderia virar "Aquele apartamento", por exemplo). Logo, nossa "blockchain" ficaria vulnerável à manipulação. É por isso que as blockchains mais seguras fazem uso de um mecanismo bem mais inteligente para criar as referências e a verificação de integridade: o "hashing".
Hashing é um tipo de fórmula matemática que gera um número (muitas vezes de tamanho fixo) para qualquer quantidade de dados. O hashing leva em conta todos os dados de um arquivo, de modo que não adianta apenas manter um ou outro trecho intacto para preservar o hash. Qualquer mudança, em qualquer lugar do arquivo, modificará completamente o resultado, evidenciando a manipulação.
O hashing é que cria a complexidade matemática da blockchain, mas ele não foi criado pelo Bitcoin: essas fórmulas são usadas para verificar a integridade de arquivos e downloads, para localizar dados (caso dos links "magnet" da rede BitTorrent), para substituir o armazenamento de senhas (a fórmula de hashing é irreversível) e também é uma peça importante de processos criptográficos.
Com cada arquivo fazendo referência ao hash do arquivo anterior e ao seu próprio conteúdo, isso cria uma proteção contra alterações de dados - já que você precisa de modificações que satisfaçam todos esses cálculos - e cria a ligação entre os arquivos.
É claro que o hashing não é perfeito. Como o resultado do hashing tem tamanho inferior aos dados processados, situações em que dois arquivos geram o mesmo resultado são inevitáveis. Imagine ter que representar o alfabeto inteiro, que tem 26 letras, só com os números 0 a 10 -- você vai ter que repetir números. Esse é o desafio das fórmulas de hashing, mas elas usam números gigantescos para representar megabytes, gigabytes ou até terabytes de informação.
Essas repetições (ou "colisões") são previstas, mas, em fórmulas seguras, elas não são úteis. Por exemplo: se estamos criando uma blockchain de documentos, pouco importa se nosso documento tiver uma colisão com uma foto ou um vídeo - você vai saber que se trata de um formato diferente, então não faz parte da série. Fórmulas usadas em hashing não são fáceis de serem criadas por causa desse objetivo de impedir a criação de colisões intencionais: não deve ser possível olhar a fórmula e dizer "se eu alterar isso no conteúdo, preservo o resultado".
É isso que permite a "mágica" da Blockchain, mas ataques bem-sucedidos contra a fórmula usada poderiam ser catastróficos.
>>> Sincronização de senhas no LastPass
Encontrei a sua publicação, postada no G1 em 05-11-2016 sob o título "Gerenciador de senhas LastPass adiciona sincronia gratuita de senhas" e diante de sua afirmativa de sincronização gratuita hoje baixei o LastPass, mas não consegui identificar o caminho de configuração para essa funcionalidade, nada obstante a instalação regular no Windows seja "Premium trial".
Assim, caso possível, gostaria de sua ajuda para efetivar a aludida sincronização gratuita desse aplicativo.
João Bosco Peres
Ao instalar o LastPass, o programa solicitará que você crie uma conta com uma "senha mestra". Basta entrar com a mesma conta do LastPass em outros dispositivos e as suas senhas devem ser automaticamente sincronizadas entre eles. Ou seja, basta passar da configuração inicial e você verá todas as senhas que foram cadastradas no outro dispositivo onde você usa o programa.
O "premium" do LastPass é automático pelos primeiros 30 dias. Depois disso, você poderá continuar usando o programa, mas com algumas limitações e, possivelmente, anúncios publicitários.
Em geral, programas gerenciadores de senhas usam "cofres" locais, não contas on-line, e, portanto, não há sincronização dos dados. Alguns podem incluir sincronização do "cofre" com serviços de armazenamento em nuvem, mas o cofre ainda continua sendo usado de forma local pelo programa ou aplicativo.
Como o LastPass funciona com uma conta on-line, a sincronização faz parte do próprio modelo de operação do aplicativo e por isso você não vê a sincronização como uma opção adicional.
Esse modelo tem vantagens e desvantagens. Suas senhas ainda estão protegidas remotamente pela senha mestra, mas você envia sua senha mestra para o LastPass quando faz login, por exemplo. Se a empresa sofrer um ataque hacker grave, há uma grande chance de suas senhas ficarem expostas.
Como todos os outros gerenciadores de senhas, o LastPass fica vulnerável a vírus que roubem a senha mestra e seus dados. Se você precisa apenas de um aplicativo para consultar senhas e não esquecer, o ideal é que o utilize no Android ou no iOS, não no Windows, já que sistemas de celular possuem proteções contra captura de dados digitados e de dados de outros aplicativos -- proteções que sistemas de desktop como Windows, macOS e Linux, não possuem.
O pacotão da coluna Segurança Digital vai ficando por aqui. Não se esqueça de deixar sua dúvida na área de comentários, logo abaixo, ou enviar um e-mail para [email protected]. Você também pode seguir a coluna no Twitter em @g1seguranca. Até a próxima!