O que é criptografia? Como os algoritmos mantêm as informações em segredo e seguros

Views: 564
0 0
Read Time:11 Minute, 43 Second

Definição de criptografia

Criptografia é a ciência de manter as informações seguras, transformando-as em forma que os destinatários não intencionais não conseguem entender. Na criptografia, uma mensagem original de leitura humana, referida como texto simples, é alterada por meio de um algoritmo, ou série de operações matemáticas, em algo que para um observador desinformado pareceria uma bobagem; este jargão é chamado de texto cifrado.

Os sistemas criptográficos exigem algum método para que o destinatário pretendido seja capaz de fazer uso da mensagem criptografada — geralmente, embora nem sempre, transformando o texto cifrado de volta em texto simples.

Criptografia vs. Encriptografia

Criptografia é o que chamamos de processo de transformar texto simples em texto cifrado. (Crypt pode fazer você pensar em tumbas, mas vem de uma palavra grega que significa “escondido” ou “secreto”). A criptografia é uma parte importante da criptografia, mas não abrange toda a ciência. Seu oposto é a decodificação.

Um aspecto importante do processo de criptografia é que ele quase sempre envolve um algoritmo e uma chave. Uma chave é apenas mais uma informação, quase sempre um número, que especifica como o algoritmo é aplicado ao texto simples, a fim de criptografá-lo. Mesmo que você saiba o método pelo qual alguma mensagem é criptografada, é difícil ou impossível descriptografar sem essa chave.Liderança CIO ao vivo com Brad Clay, Diretor de Informação e Conformidade, Lexmarkhttps://imasdk.googleapis.com/js/core/bridge3.416.2_en.html#goog_81894805Volume 0% 

História da criptografia

Isso tudo é muito abstrato, e uma boa maneira de entender as especificidades do que estamos falando é olhar para uma das primeiras formas conhecidas de criptografia. É conhecido como a cifra de César, porque Júlio César a usou para sua correspondência confidencial; como seu biógrafo Suetônio descreveu, “se ele tinha algo confidencial a dizer, ele escreveu em cifra, isto é, mudando assim a ordem das letras do alfabeto … Se alguém quiser decifrá-los, e chegar ao seu significado, ele deve substituir a quarta letra do alfabeto, ou seja, D, por A, e assim com os outros.”

A descrição de Suetonius pode ser dividida nos dois elementos criptográficos que discutimos, o algoritmo e a chave. O algoritmo aqui é simples: cada letra é substituída por outra letra de mais tarde no alfabeto. A chave é quantas letras mais tarde no alfabeto você precisa ir para criar seu texto cifrado. São três na versão da cifra que Suetônio descreve, mas obviamente outras variações são possíveis – com uma chave de quatro, A se tornaria E, por exemplo.

Algumas coisas devem ser claras a partir deste exemplo. Criptografia como esta oferece uma maneira bastante simples de enviar secretamente qualquer mensagem que você gosta. Contraste isso com um sistema de frases de código onde, digamos, “Vamos pedir pizza” significa “Eu vou invadir a Gália” Para traduzir esse tipo de código, as pessoas em ambas as extremidades da cadeia de comunicação precisariam de um livro de frases de código, e você não teria como codificar novas frases que você não tinha pensado com antecedência. Com a cifra de César, você pode criptografar qualquer mensagem que você possa pensar. A parte complicada é que todos que se comunicam precisam conhecer o algoritmo e a chave com antecedência, embora seja muito mais fácil passar com segurança e manter essa informação com segurança do que seria com um livro de códigos complexo.

A cifra de César é o que é conhecido como uma cifra de substituição, porque cada letra é substituída por outra; outras variações sobre isso, então, substituiria blocos de letras ou palavras inteiras. Durante a maior parte da história, a criptografia consistia em várias cifras de substituição implantadas para manter as comunicações governamentais e militares seguras. Matemáticos árabes medievais impulsionaram a ciência, particularmente a arte da descriptografia – uma vez que os pesquisadores perceberam que certas letras em uma determinada língua são mais comuns do que outras, torna-se mais fácil reconhecer padrões, por exemplo. Mas a maioria da criptografia pré-moderna é incrivelmente simples para os padrões modernos, pela razão óbvia de que, antes do advento dos computadores, era difícil realizar transformações matemáticas rapidamente o suficiente para fazer a criptografia ou a descriptografia valessem a pena.

Na verdade, o desenvolvimento de computadores e os avanços na criptografia andam lado a lado. Charles Babbage, cuja ideia para o Mecanismo de Diferença presunciou computadores modernos, também estava interessado em criptografia. Durante a Segunda Guerra Mundial, os alemães usaram a máquina Enigma eletromecânica para criptografar mensagens — e, famosamente, Alan Turing liderou uma equipe na Grã-Bretanha que desenvolveu uma máquina semelhante para quebrar o código, no processo estabelecendo algumas das bases para os primeiros computadores modernos. A criptografia ficou radicalmente mais complexa à medida que os computadores se tornaram disponíveis, mas permaneceram na província de espiões e generais por mais algumas décadas. No entanto, isso começou a mudar na década de 1960.

Criptografia na segurança da rede

Foi a formação das primeiras redes de computadores que começaram os civis a pensar na importância da criptografia. Os computadores conversavam entre si pela rede aberta, não apenas por conexões diretas entre si; esse tipo de rede foi transformador de muitas maneiras, mas também tornou trivialmente fácil bisbilhotar dados viajando pela rede. E com os serviços financeiros sendo um caso de uso precoce para comunicação de computador, era necessário encontrar uma maneira de manter as informações em segredo.

A IBM liderou o caminho no final da década de 1960 com um método de criptografia conhecido como “Lúcifer”,que acabou sendo codificado pelo National Bureau of Standards dos EUA como o primeiro Padrão de Criptografia de Dados (DES). À medida que a internet começou a crescer em importância, mais e melhor criptografia era necessária, e hoje uma parte significativa dos dados voando ao redor do mundo é criptografada usando técnicas variadas que discutiremos com mais detalhes em um momento.

Para que a criptografia é usada?

Já discutimos algumas das aplicações específicas da criptografia, desde manter segredos militares até transmitir dados financeiros com segurança pela internet. No quadro geral, porém, existem alguns objetivos amplos de segurança cibernética que usamos criptografia para nos ajudar a alcançar, como explica o consultor de segurança cibernética Gary Kessler. Usando técnicas criptográficas, os profissionais de segurança podem:

  • Mantenha o conteúdo dos dados confidencial
  • Autenticar a identidade do remetente e receptor de uma mensagem
  • Certifique-se da integridade dos dados, mostrando que eles não foram alterados
  • Demonstre que o suposto remetente realmente enviou esta mensagem, um princípio conhecido como não-repúdio

Você pode reconhecer alguns desses princípios a partir de variações da tríade da CIA. O primeiro desses usos é o óbvio — você pode manter os dados em segredo criptografando-os. Os outros têm um pouco de explicação, que vamos entrar como descrevemos os diferentes tipos de criptografia.

Tipos de criptografia

Existem inúmeros algoritmos criptográficos em uso, mas em geral eles podem ser divididos em três categorias: criptografia de chave secreta, criptografia de chave pública e funções hash. Cada um tem seu próprio papel a desempenhar dentro do cenário criptográfico.

Criptografia secreta. A cifra de César que discutimos acima é um grande exemplo de criptografia secreta. No exemplo que usamos, se mensagens criptografadas estivessem sendo trocadas entre César e um de seus centuriões, ambas as partes teriam que saber a chave — neste caso, quantas letras para frente ou para trás no alfabeto você precisa mover para transformar texto simples em texto cifrado ou vice-versa. Mas a chave precisa ser um segredo entre os dois. Você não poderia enviar a chave junto com a mensagem, por exemplo, porque se ambos caíssem nas mãos inimigas a mensagem seria fácil para eles decifrarem, derrotando todo o propósito de criptografá-la em primeiro lugar. César e seu centurião provavelmente teriam que discutir a chave quando se viam pessoalmente, embora obviamente isso seja menos do que o ideal quando guerras estão sendo travadas por longas distâncias.

A criptografia secreta, às vezes também chamada de chave simétrica, é amplamente usada para manter os dados confidenciais. Pode ser muito útil para manter um disco rígido local privado, por exemplo; uma vez que o mesmo usuário está geralmente criptografando e descriptografando os dados protegidos, compartilhar a chave secreta não é um problema. A criptografia secreta também pode ser usada para manter as mensagens transmitidas pela internet confidenciais; no entanto, para fazer isso acontecer com sucesso, você precisa implantar nossa próxima forma de criptografia em conjunto com ele.

Criptografia de chave pública. César pode ter sido capaz de conferir com seus centuriões pessoalmente, mas você não quer entrar no seu banco e falar com o caixa apenas para saber qual é a chave privada para criptografar sua comunicação eletrônica com o banco – que iria derrotar o propósito do banco on-line. Em geral, para funcionar com segurança, a internet precisa de uma maneira de comunicar as partes para estabelecer um canal de comunicação seguro enquanto conversam apenas entre si através de uma rede inerentemente insegura. A forma como isso funciona é através da criptografia de chave pública.

Na criptografia de chave pública, às vezes também chamada de chave assimétrica,cada participante tem duas chaves. Um deles é público, e é enviado para qualquer um com quem o partido deseja se comunicar. Essa é a chave usada para criptografar mensagens. Mas a outra chave é privada, compartilhada com ninguém, e é necessário decifrar essas mensagens. Para usar uma metáfora: pense na chave pública como abrir um slot em uma caixa de correio apenas larga o suficiente para deixar cair uma carta. Você dá essas dimensões para qualquer um que você acha que pode enviar-lhe uma carta. A chave privada é o que você usa para abrir a caixa de correio para que você possa obter as cartas para fora.

A matemática de como você pode usar uma chave para criptografar uma mensagem e outra para descriptografá-la são muito menos intuitivas do que a maneira como a chave para a cifra de César funciona. O Instituto Infosec tem um mergulho profundo se você estiver interessado. O princípio central que faz o processo funcionar é que as duas chaves estão realmente relacionadas uma com a outra matematicamente, de modo que é fácil derivar a chave pública da chave privada, mas não vice-versa. Por exemplo, a chave privada pode ser dois números primos muito grandes, que você multiplicaria juntos para obter a chave pública.

Os cálculos necessários para a criptografia de chave pública são muito mais complexos e intensivos em recursos que aqueles por trás da infraestrutura secreta. Felizmente, você não precisa usá-lo para proteger cada mensagem que você envia online. Em vez disso, o que geralmente acontece é que uma das partes usará criptografia de chave pública para criptografar uma mensagem contendo mais uma chave criptográfica. Esta chave, tendo sido transmitida com segurança através da internet insegura, se tornará então a chave privada que codifica uma sessão de comunicações muito mais longa criptografada através de criptografia secreta de chaves.

Dessa forma, a criptografia de chave pública auxilia na causa da confidencialidade. Mas essas chaves públicas também fazem parte de um conjunto maior de funções conhecidas como infraestrutura de chaves públicasou PKI. O PKI fornece maneiras de ter certeza de que qualquer chave pública está associada a uma pessoa ou instituição específica. Uma mensagem criptografada com uma chave pública confirma assim a identidade do remetente, estabelecendo autenticação e não repúdio.

Funções hash. Algoritmos criptográficos de chaves públicas e privadas envolvem transformar textos simples em texto cifrado e, em seguida, voltar para o texto simples. Em contraste, uma função hash é um algoritmo de criptografia unidirecionário: uma vez que você tenha criptografado seu texto simples, você nunca pode recuperá-lo do texto cifrado resultante (referido como um hash).

Isso pode fazer com que as funções de hash pareçam um exercício um tanto inútil. Mas a chave para sua utilidade é que, para qualquer função hash, nenhum texto simples produzirá o mesmo hash. (Matematicamente, isso não é muito correto, mas para qualquer função hash realmente em uso, as chances de acontecer são geralmente desaparecendo pequenas e podem ser ignoradas com segurança.)

Isso torna os algoritmos de hashing uma ótima ferramenta para garantir a integridade dos dados. Por exemplo, uma mensagem pode ser enviada junto com seu próprio hash. Ao receber a mensagem, você pode executar o mesmo algoritmo de hashing no texto da mensagem; se o hash que você produz for diferente daquele que acompanha a mensagem, você sabe que a mensagem foi modificada no trânsito.

Hashing também é usado para garantir a confidencialidade das senhas. Armazenar senhas como texto simples é um grande não de segurança, porque isso torna os usuários propensos a roubo de contas e identidade na esteira de violações de dados (o que infelizmente não impede os grandes jogadores de fazê-lo). Se, em vez disso, você armazenar uma versão hashed da senha de um usuário, os hackers não serão capazes de descriptografá-la e usá-la em outro lugar, mesmo que eles consigam violar suas defesas. Quando um usuário legítimo faz login com sua senha, você pode simplesmente hash-lo e verificar contra o hash que você tem no arquivo.

Exemplos e técnicas de criptografia

Existem inúmeras técnicas e algoritmos que implementam cada um dos três tipos de criptografia discutidos acima. Eles são geralmente bastante complexos e além do escopo deste artigo; incluímos links aqui onde você pode aprender mais sobre alguns dos exemplos mais usados.

Criptografia secreta de chaves:

Criptografia de chaves públicas:

Funções hash:

Há uma ampla gama de funções hash com diferentes propósitos especializados. A lista na Wikipédia é um bom lugar para começar.

FONTE: CSO ONLINE

POSTS RELACIONADOS