Assinatura Digital

A assinatura digital é utilizada para provar a legitimidade dos dados enviados, usando técnicas de hash e algoritmo de chave assimétrica.

Categoria de Tecnologia

Postado em 07 junho 2022

Atualizado em 07 junho 2022

Palavras-chave: assinatura,digital,segurança,security,hash,chave,assimetrica,assimétrica,asymmetric

Visualizações: 1174



O avanço da tecnologia trouxe grande aperfeiçoamento para a área de segurança da informação.

Hoje podemos autenticar os usuários de forma precisa, protegendo a confidencialidade e integridade dos dados transferidos através da internet.

Esse alto nível de segurança também possibilita a transferência de dados de grande importância, como transações de dinheiro, compra de produtos e gerenciamento de contratos.

Esse tipo de dado exige a autenticidade legítima no remetente para funcionar na prática. O que torna isso possível é a assinatura digital.

O que é a assinatura digital?

A assinatura digital é uma técnica usada para autentificar a legitimidade de uma mensagem. Além disso, também comprova a integridade dos dados, prevenindo adulterações de uma mensagem durante o caminho.

Onde a assinatura digital é usada?

É utilizada em processos que necessitam de um nível a mais de segurança. Exemplos são:

  • Email
  • Documentos digitais
  • Transações de cartões de crédito
  • Pagamentos de softwares

Além da segurança, a assinatura digital pode ser reconhecida como uma assinatura legal se tiver de acordo com os termos determinados por lei.

Como funciona a assinatura digital?

A assinatura digital é criada no dispositivo do remetente, que irá anexar essa assinatura junto com os dados. Após a anexação, esses dados serão criptografados e enviados.

O destinatário recebe os dados e descriptografa com a chave pública do remetente para verificar a assinatura.

No processo de criação de uma assinatura digital, duas técnicas são combinadas:

  1. Hash
  2. Chave assimétrica

Hash

O hash é uma técnica de criptografação unidirecional. Dado que encriptamos uma mensagem com um hash, jamais conseguiremos desencriptar essa mensagem de volta.

Chave assimétrica

A chave assimétrica utiliza a chave pública do destinatário para criptografar a mensagem a ser enviada. Quando a mensagem chegar ao seu destino, o destinatário irá descriptografar a mensagem com a chave privada.

Na assinatura digital a chave assimétrica pode funcionar um pouco diferente. Ao invés de utilizar a chave pública do destinatário, o remetente utiliza a própria chave privada para criptografação.

Processo da geração de assinatura digital

Usando um exemplo de criptografia com chave assimétrica, temos o gráfico abaixo:
assinatura digital

  1. O remetente termina de escrever a mensagem
  2. A mensagem é encriptada de modo unidirecional com o algoritmo hash
  3. A mensagem é mais uma vez encriptada, dessa vez com a chave privada do remetente
  4. A mensagem e a assinatura digital são enviados para o destinatário
  5. O destinatário encripta a mensagem recebida com o algortimo hash e descriptografa a assinatura com a chave pública do remetente
  6. A mensagem recebida encriptada é comparada com a assinatura digital que foi desencriptada com a chave pública

Caso o resultado seja dois hashs diferentes, a mensagem é considerada adulterada.

Conclusão

A assinatura digital é utilizada para provar a legitimidade dos dados enviados, usando técnicas de hash e algoritmo de chave assimétrica.

Ela traz mais segurança, principalmente em questão de integridade, comprovando que os dados não foram adulterados por terceiros durante o trajeto.

Projetos práticos

Desenvolvendo um jogo de quebra blocos em javascript

Programando um jogo clássico de arcade usando javascript e p5.js. O usuário deve quebrar os blocos utilizando uma bola ao mesmo tempo que evita que a bola saia pela parte inferior da tela

Criando um sistema de integração contínua (CI/CD)

Fazendo a integração contínua de Jenkins, Sonatype Nexus, Sonatype, JUnit e Gradle para automatizar processos repetitivos. Prática bastante usada em tecnologias de DevOps.

Integrando Laravel com o protocolo MQTT para comunicação entre dispositivos

Projeto de comunicação entre dois dispositivos ESP8266 e Raspberrypi4. Laravel irá funcionar como servidor e receptor de dados de temperatura e umidade coletados com o DHT11.

Desenvolvendo o campo de visão de um personagem em um plano 2D

Detectando objetos que entram dentro do campo de visão do personagem. Útil para servir de "gatilho" para eventos em um jogo.

Usando dados fornecidos pelo TSE para simular o gráfico das eleições presidenciais de 2022

Simulação dos gráficos do segundo turno das eleições presidenciais, utilizando python e ferramentas de análise de dados, pandas e jupyter.

Veja também

Antigamente, as linguagens de programação não tinham um modo tão flexível de escrever como hoje

A linguagem de programação orientada a objetos revolucionou o mundo da programação, sendo o tipo de linguagem mais utilizada na atualidade

Um algoritmo não pode ser composto por instruções ambíguas, isso pode trazer resultados inesperados

Os algoritmos na ciência da computação são o principal meio para o desenvolvedor poder escrever instruções para o computador, operando a sua maneira

Governança de TI

Responsável por tratar de assuntos envolvendo tecnologia da informação com o alto escalão para gerar valores na área de TI

Spyware

Spyware é um malware, que registra as atividades do usuário, podendo monitorar tudo que o foi digitado no teclado ou clicado na tela do computador.

Digitalização

A digitalização é a transformação de informação analógica em dados binários, facilitando a cópia, edição e processamento desses dados.

Tríade CIA

Para um sistema realizar os requerimentos mínimos de segurança, este deve estar de acordo com os três pilares da segurança de informação(CIA).