Criptografia
Por: Ezequiel Santos • 28/11/2016 • Projeto de pesquisa • 1.635 Palavras (7 Páginas) • 319 Visualizações
3. Criptografia
A criptografia é um termo formado pelas palavras gregas kryptós, “escondido”, e gráphein, “escrever” [Shannon, 1949]. É um conjunto de técnicas para codificar informações, com a finalidade de evitar que pessoas indesejadas tenham acesso a elas. O ato de codificar dados em informações aparentemente sem sentido, para que pessoas não consigam ter acesso às informações que foram cifradas. Há vários usos para a criptografia em nosso dia-a-dia: proteger documentos secretos, transmitir informações confidenciais pela Internet ou por uma rede local, etc.
O método de criptografia mais difundido utiliza a técnica de chave pública e chave privada. A criptografia é uma fórmula matemática, fórmula essa que gera duas chaves, uma pública e outra privada (ou secreta). A chave pública, que qualquer pessoa pode saber, é usada para criptografar os dados. Já a chave privada, que só o destinatário dos dados conhece, é usada para decriptografar os dados, ou seja, "abrir" os dados que ficaram aparentemente sem sentido. O interessante dessa jogada é que a partir da chave pública é impossível decriptografar os dados nem deduzir qual é a chave privada.
3.1. Problemas de segurança
Os problemas de segurança geralmente referem-se ao sigilo e a identidade. O sigilo diz respeito a quais informações estarão disponíveis para quais usuários. Isto pode ser feito através de atribuições de direitos para cada usuário. A identificação consiste em verificar a autenticidade deste usuário. Se um usuário envia um pedido, por exemplo, de um relatório a uma máquina, esta deve então, de alguma forma, "saber" quem é este usuário (identidade) e, ainda, se este usuário, sendo quem é, tem direitos de requerer este relatório (permissão) [Berry, Michael J. A 1997].
Ao tratarmos de uma rede, podemos considerar usuários como máquinas e aplicarmos os mesmos conceitos descritos acima. Quando uma máquina envia um pacote à outra, junto a este pacote vai um identificador de sua origem, o seu endereço, por exemplo. Com esta informação a máquina de destino saberá qual é a máquina que enviou este pacote e pode então, fornecer ou não as informações requeridas, dependendo dos direitos atribuídos a máquina origem.
3.2. Técnicas de Criptografia
As técnicas de criptografia evoluíram bastante nos últimos tempos, com o uso de chaves, um texto claro para ser transformado em criptografado e decriptografado é necessário uso de métodos de chaves de criptografia. 5
3.2.1. Criptografia Simétrica
Na criptografia simétrica a chave para criptografar é a mesma usada para decriptografar, este método tem um desempenho muito melhor que a assimétrica, porém existe um grande problema na divulgação das chaves aos membros, pois, apresenta um risco real de algum intruso captar esta chave e ter acesso as mensagens, e ler todas que forem endereçadas a algum membro. Existe normalmente uma chave para cada dois membros, por isso o número de chaves cresce muito com aumento de participante da comunicação. Os algoritmos mais conhecidos nessa categoria são [Barbosa, L.A. 2003]:
Algoritmo DES: É um algoritmo que foi desenvolvido pela IBM e foi adotado pelo governo dos Estados Unidos da América, como padrão, para codificar suas mensagens, Data Encryption Standard (DES), ele é muito rápido por isso que ele é o mais usado, por ser um algoritmo que tem uma codificação em bloco de 64bits com chave de 56 bits e tem (19) dezenove estágios diferentes. No primeiro estágio é feita transposição de bits no bloco de dados da mensagem, depois é repetido (16) dezesseis vezes, sendo que a chave alterada de um estágio para outro é feita a permutação [IBM 1976]. Ele tem uma desvantagem, não é seguro.
Algoritmo AES: É um algoritmo de criptografia que usa uma chave criptografada e blocos, ambos de tamanhos de 128, 192 ou 256 bits. Que o governo dos estados Unidos da América usa hoje para criptografar suas mensagens, por ser mais eficiente no sistema de segurança este algoritmo substituiu o que era usado anteriormente o DES, que tinha uma codificação em bloco de 64bits [NIST 2001].
Algoritmo Blowfish: É um algoritmo simétrico conhecido pela sua velocidade e possui diversos tamanhos de chaves, 32 e 448bits, é feita uma função de 16bits, tem uma grande eficiência com os microprocessadores atuais, a cifra do texto é feita em blocos de 64bits ou 128bits no blowfish os bits não são feitos separadamente, mais sim, em grupos, distintos de 32bits desse jeito aumenta a sua eficiência na função dos microprocessadores atuais. Ele se divide em duas partes, uma com a criptografia dos dados e faz uma transformação da chave em subchave com um total de 4168bits, e consiste em uma transformação de 16 fases em cada uma dessas é feita uma permutação dependente da chave e uma substitui dependente da chave dos dados [Bruce Schneier 1993]. Ele é mais rápido do que o DES ou IDEA, também possuem chaves fracas é uma classe de chaves que podem ser detectadas - mas não "quebradas", por possuirem tamanhos diferentes, por isso que até hoje nunca foi quebrada.
3.2.2. Criptografia Assimétrica
É um tipo de criptografia onde é usado um par de chaves distintas, onde uma é usada para criptografar e a outra é para decriptografar, este método é também conhecido como criptografia de chaves públicas, apesar da criptografia assimétrica possuir um desempenho muito inferior com relação à criptografia simétrica, ela resolve dois problemas muito importantes, é problema de distribuição das chaves, cada membro do grupo possui um par de chaves, onde a chave publica é divulgada para todos do grupo sem que haja qualquer risco na confidencialidade, o outro é que não cresce o número de chaves com o aumento de membros do grupo. 6
3.2.3. Assinatura digital
É uma técnica que é feita por meio de criptografia, consistem numa mistura de dados inteligíveis onde é necessário o uso de duas chaves, a pública e a privada, para que ele possa se tornar legível. É como se fosse um cofre forte que somente quem tem o segredo é que tem acesso. Essa assinatura digital é formada por uma série de letras, números e símbolos e é feita em duas etapas. Primeiramente o autor, através de um software que contém um algoritmo próprio, realiza uma operação e fez um tipo de resumo dos dados do documento que quer enviar, também chamado de função hash. Após essa operação ele usa a chave privada que vai encriptar este resumo e o resultado desse processo é a assinatura digital. É por isso que a assinatura digital ou assinatura eletrônica, diferentemente da assinatura real, se modifica a cada arquivo transformado em documento e o seu autor não poderá repeti-la como faz com as assinaturas nos documentos.
...