in

HASH – conceitos e como essa função garante a Segurança dos Dados

Marilande Silvia Ribeiro de Moraes*

INTRODUÇÃO

Muito se tem falado de Blockchain, Smarts Contracts (contratos inteligentes), Real Digital, dentre muitos outros assuntos. Mas e o termo HASH, o que seria e o que tem a ver essas aplicações? 

Como veremos, o Hash tem a função primordial de assegurar que os dados de uma cadeia de informações circulantes em um smart contract, dentre tantas outras tecnologias, estejam seguras de forma a se evitar fraudes e a quebra da segurança dos dados. 

Então, vale a pena entender o que significa, como é gerado e porque se garante essa segurança.

O que seria HASH?

Na verdade, falamos que o Hash é uma ‘função hash’, pois em termos de segurança de dados ele desempenha um papel fundamental na segurança, na integridade e verificação de dados em tecnologias como: blockchain, smart contracts, nas áreas financeiras e empresariais, tais como em documentos digitais, e em assinaturas eletrônicas/digitais (vejam artigo publicado sobre assinatura eletrônica), dentre outros.

Podemos afirmar que o HASH é a “Impressão Digital de um Dado”, mas por quê?

Essa função hash é necessariamente um algoritmo matemático e a sua função é receber um input (que são propriamente os dados) e transformá-los em um output (o denominado ‘HASH’), cuja particularidade desse Hash é ter um tamanho fixo, pois ele gera uma sequência alfanumérica única nesta transformação dos dados recebidos, representando-os como uma ‘impressão digital’ desses dados originais. 

Veja quão fantástico isto representa, pois ele transforma diversos dados ora recebidos em um dado único e imutável (não sendo possível reverter o processo de hashing para obter os dados originais, por isso denominado como um processo unidirecional).

PRINCIPAIS CARACTERÍSTICAS DO HASH

Podemos citar algumas das principais funções de hash que são utilizadas em segurança de dados, tais como:

1Resistência a Colisões – significa dizer que é extremamente improvável que 2 inputs diferentes produzam um mesmo hash. Pois, se houver a ocorrência de duas entradas diferentes, isso não gerará um hash, mas sim, será dado como uma falha na função de hash, conhecida então como ‘colisão de hash’, o que evita alteração de qualquer dado.

2 Determinísticas – ou seja, para qualquer input de dados, a sua saída será sempre a mesma.

3Alta Performance – o cálculo gerado desse hash deve ser computacionalmente eficiente, ou seja, ele deve ser capaz de executar o cálculo de forma rápida e com baixo consumo de recursos computacionais, proporcionando um desempenho elevado.

4 Função Direcional – essa função direcional refere-se a uma função hash criptográfica, ou seja, a partir do hash gerado não é possível determinar o tamanho, formato ou mesmo o conteúdo do input original, o que contribui para a segurança e integridade dos dados protegidos pelo hash.

5Tamanho Fixo – como mencionado, o tamanho da saída do hash é sempre o mesmo (output), independentemente do tamanho do input (dados).

6Desvinculadas – mesmo que uma pequena alteração no input ocorra ele resultará sempre em um hash completamente diferente e imprevisível. Por isso, é extremamente difícil se conseguir alteração no hash gerado.

HÁ DIVERSAS APLICAÇÕES QUE UTILIZAM A TECNOLOGIA HASH, COMO:

– Moedas Digitais – como as criptomoedas;

– Em Registro de Propriedade;

– Comprovar Autoria e Propriedade Intelectual;

– Em Contratos Automatizados ou Contratos Inteligentes (smart contract);

– Remessa Intelectual de valores;

– Emissão de Títulos Privados;

– Organização descentralizada autônoma;

– Em software – por exemplo: jogos de computadores;

– Em Armazenamento em Nuvem – neste caso, a armazenagem na nuvem ocorre de forma descentralizada, pois os documentos se dividem em centenas de pedaços criptografados, o que garante ainda mais a segurança e dificulta a modificação dos dados.

Quanto às funções de hash no contexto de Blockchain, como uso das moedas digitais e da criação do Real Digital, como exemplos, eles vão desempenhar a função de manter a integridade dos dados, uma vez que nessas transações os dados são agrupados em blocos, e cada bloco é associado a um hash que representa o conteúdo do bloco anterior. Cria-se assim uma cadeia de blocos, em que qualquer tentativa de alteração em um bloco subsequente resultará em uma mudança no hash do bloco anterior, evidenciando que houve uma tentativa de manipulação de dados. 

É totalmente complexa essa cadeia o que torna difícil qualquer modificação, por isso que afirmam que quanto mais longa a cadeia mais difícil será a sua modificação.

Da mesma forma ocorre em um contrato inteligente, visto que ao armazenar apenas o hash de um arquivo em um contrato, qualquer pessoa pode comparar o hash do arquivo original com o hash registrado anteriormente, garantindo que o arquivo não tenha sido modificado.

TIPOS DE ALGORITMOS DE HASH MAIS UTILIZADOS.

Atualmente, podemos dizer que os algoritmos mais utilizados (mas existem outros – como Blake e Whirlpool) são:

MD5 (Message-Digest Algorithm 5) – considerados menos seguro (por isso, não recomendado para uso em aplicações criptografadas);

SHA-1 (Secure Hash Algorithm 1) – considerado menos seguro, como acima;

SHA-256 (Secure Hash Algorithm 256) – considerado com propriedade mais segura;

SHA-512 (Secure Hash Algorithm 512) – considerado com propriedade mais segura.

ESPECIFICIDADES DO ALGORITMO HASH SHA-256 (Secure Hash Algorithm 256 bits)

Esse algoritmo é muito seguro e amplamente utilizado em criptografias, incluindo também segurança de rede, autenticação de senhas e verificação de integridade de arquivos. 

É considerado seguro, porque computacionalmente é impraticável encontrar dois conjuntos diferentes de dados que produzem o mesmo valor de hash. Portanto, é usado justamente para verificar a integridade dos dados sem revelar informações confidenciais sobre eles. 

E QUAIS SÃO OS PRINCIPAIS USOS DO SHA-256:

1 – Nas Assinaturas Digitais 

O SHA-256 é usado para criar as assinaturas digitais e garantir a autenticidade e integridade nos documentos eletrônicos. 

Assim, é muito utilizada para atestar a validade dos documentos eletrônicos, como mensagens de e-mail, dentre outros arquivos digitais, pois com o hash SHA-256, ele vai transformar o documento em um único número (denominado HASH) e na tentativa de modificá-lo se transformará em um outro hash.

Outra função importantíssima no sistema de assinatura contratado é a adoção de medidas adicionais para garantir a integridade dos documentos, como o registro de logs contendo informações relevantes, tais como: número do documento, endereço de IP, horários, marca d’água para identificação das cópias impressas etc. Ao final, haverá um ‘Certificado’ desse documento (contendo todas as informações relevantes).

Por isso, é importante pesquisar se a empresa de assinatura contratada possui essas tecnologias integradas a seu sistema, uma vez que ela vai proporcionar uma camada de segurança na verificação da origem dos dados e dar a garantia de que os dados não foram manipulados/alterados.

2 – Na Segurança em Blockchain 

O SHA-256 é amplamente utilizado nas transações de Bitcoin e do Ethereum como garantia da segurança e da integridade.

3 – Hashing de Senhas 

A utilização de hashing de senhas é uma prática recomendada para proteger as informações de autenticação dos usuários, pois em um servidor de website, as senhas dos usuários são convertidas em um valor de hash usando o SHA-256, antes mesmo de serem armazenados no servidor.

Nesse processo, quando o usuário digita a sua senha ela será comparada com o valor armazenado no banco de dados para validação. Dessa forma, é extremamente difícil nesse processo que um atacante obtenha as senhas originais. 

Além do que o uso de algoritmos de hash criptográficos, como o SHA-256 (que converte a senha em um valor de hash de tamanho fixo de 256 bits (32 bytes)), ajudará a proteger contra ataques de ‘força bruta’ (quando um atacante tenta adivinhar a senha testando várias combinações), aumentando então a segurança geral das senhas armazenadas.

4 – Verificação de Integridade 

Essa verificação de integridade é um processo importante para garantia da integridade dos dados ao fazer o upload e download de arquivos em um website. 

Essa verificação é realizada por meio do cálculo e comparação de valores de hash, sendo uma prática comum para garantir que os arquivos não tenham sido alterados durante a transferência. 

E existem algumas ferramentas disponíveis para verificar a integridade de arquivos usando valores de hash (por exemplo: PowerSheell e Gerador de hash).

5 – Verificação de Arquivos 

Esta verificação se dá por meio do uso de impressões digitais conhecidas como hashes. No contexto do Git e de antivírus, o SHA-256 é um dos algoritmos utilizados para gerar essas impressões digitais. Para essa verificação, existem várias maneiras, dependendo do sistema operacional que se está usando, como no caso do Windows, em que se utiliza o PowerShell para verificação de hash de um arquivo.

Como se verifica, esse algoritmo SHA-256 é um dos mais utilizados e em diversas aplicações, porque é considerado altamente resistente a ataques de força bruta, garantindo-se então a integridade dos dados e contra as modificações não autorizadas.

CONCLUSÃO

Observa-se, então, que a tecnologia Hash desempenha um papel fundamental na segurança de dados, oferecendo integridade e imutabilidade. Ela é usada para criptografar informações, verificar a integridade dos dados e proteger senhas, sendo que os algoritmos garantem que os dados sejam resumidos em valores únicos e fixos, independentemente do tamanho dos dados de entrada.

Em geral, diversas tecnologias como o Blockchain, contratos inteligentes, criptomoedas e até mesmo o Real Digital (que está em fase inicial de testes), utilizam a tecnologia para garantir segurança e dificultar a alteração dos dados.

Para compreendermos melhor cada um desses termos, como o funcionamento dos contratos inteligentes, a tecnologia Blockchain e outras aplicações, abordaremos esses assuntos em artigos futuros. Acompanhem-me!

Leia mais artigos da autora:

IDENTIDADE DIGITAL – saiba o que é e como fica a segurança dos dados e o acesso

NÃO REPÚDIO: saiba o que é e como garante que as transações eletrônicas sejam seguras

Sistema eletrônico de registros públicos

Aplicações práticas do ChatGPT no direito e negócios


Marilande Silvia Ribeiro de Moraes: Advogada e Consultora na Advocacia Privada. Graduada pela Pontifícia Universidade Católica e Especialista em Direito Digital. Como entusiasta da Tecnologia e da Inovação, iniciou seus estudos como iniciante na Programação (programmer). Graduada Técnica em Administração de Empresas, aplicando seus conceitos como Empreendedora de Negócios. Contato: https://marilande.github.io/portfolio-2.0/

compliance na saúde

A  importância do compliance no setor da saúde

alertas de segurança

Por que negligenciar alertas de segurança pode ser fatal?