Alura > Cursos de DevOps > Cursos de Segurança > Conteúdos de Segurança > Primeiras aulas do curso Criptografia: Fundamentos, algoritmos e tecnologias emergentes

Criptografia: Fundamentos, algoritmos e tecnologias emergentes

Introdução à criptografia - Apresentação

Apresentando o curso de Introdução à Criptografia

Olá! Bem-vindos ao curso de Introdução à Criptografia. Durante as próximas aulas, vamos explorar este tópico, compreendendo seu contexto histórico, suas aplicações, as falhas descobertas ao longo do tempo nos algoritmos criptográficos, como eles são utilizados e como não devem ser utilizados. Também discutiremos a criptografia do futuro, como será no mundo pós-quântico, o que devemos fazer para nos proteger, o que não precisamos nos preocupar no momento, entre outros aspectos.

Vamos abordar também vertentes de vulnerabilidade e ataque, buscando entender de forma simples o uso dessa tecnologia e quando aplicá-la.

Apresentando a instrutora Thalita Rodrigues

Meu nome é Thalita Rodrigues e sou criptógrafa aplicada.

Audiodescrição: Thalita é uma mulher cis, de pele marrom clara e cabelo cacheado com pontas rosa. Ela está no estúdio da Alura, com uma parede colorida ao fundo e uma estante com itens de decoração.

Atualmente, trabalho como criptógrafa aplicada, desenvolvendo uma plataforma onde os dados serão compartilhados e os usuários poderão obter insights, realizar consultas e buscas sem conhecer o conteúdo real dos dados. Esta tecnologia ainda está em desenvolvimento e é amplamente pesquisada na academia. Trabalho em uma empresa que busca trazer este conceito acadêmico para o mundo real, aplicando-o em problemas reais para solucionar desafios de vazamento de dados, onde os dados são compartilhados de forma indevida e acabam sendo expostos. Chamamos isso de criptografias computáveis, que é o meu ramo de pesquisa, e vamos explorar essa ideia ao longo do curso.

Defendendo a criação de ferramentas acessíveis

Além disso, acredito na criação de ferramentas acessíveis. Não é porque utilizamos no prompt de comando ou porque é uma ferramenta de back-end que não devemos pensar na usabilidade. Acredito que não é necessário ser especialista em criptografia ou segurança da informação para usar adequadamente uma ferramenta ou biblioteca criptográfica. Portanto, defendo a construção de ferramentas acessíveis e intuitivas para nossos usuários.

Explicando a importância da criptografia

Imagine que estamos em uma multidão e precisamos contar um segredo para um amigo que está ao nosso lado. No entanto, não há espaço para garantir que ninguém ao redor ouça, mas é essencial comunicar essa informação. A criptografia é um mecanismo que resolve esse problema. Ela funciona como se criássemos uma linguagem que apenas nós e nosso amigo entendemos. Assim, na multidão, apenas nós dois compreenderemos a mensagem que queremos transmitir. A criptografia fornece mecanismos para que isso aconteça.

Por que precisamos disso? Proteger segredos é o principal objetivo da criptografia, além de garantir a privacidade dos dados e controlar o acesso às informações. A criptografia oferece mecanismos para assegurar o segredo, a privacidade e o controle de acessos.

Explorando aplicações práticas da criptografia

A criptografia é amplamente utilizada hoje em dia. Em aplicativos de mensagem, ela garante que a mensagem chegue apenas ao destinatário correto. Nos bancos, é aplicada em transações financeiras e no armazenamento seguro de informações, como dados de cartão de crédito. Também é usada no armazenamento de senhas, seja em cofres de senhas ou em sites que exigem login e senha, garantindo que sejam armazenadas de forma segura. No computador pessoal, a criptografia pode ser habilitada no disco rígido. Além disso, é utilizada em mecanismos de tokens para login, como em autenticação de dois fatores, onde recebemos um token a cada login.

Concluindo com os objetivos do curso

Nos próximos vídeos e aulas, nosso objetivo é entender a origem da criptografia, sua aplicação e falhas passadas. Vamos explorar o que compõe um mecanismo criptográfico, os diferentes tipos de criptografia, suas aplicações e usos indevidos, além dos erros comuns ao utilizar ferramentas criptográficas. No final, discutiremos o futuro dessa tecnologia e o que esperar dos próximos passos na criptografia.

Esperamos que aproveitem e compreendam o conteúdo, e que ao final do curso, possamos falar com propriedade sobre onde, como e quando usar cada componente criptográfico ao longo de nossa carreira.

Introdução à criptografia - Historia da criptografia

Discutindo a história da criptografia

Vamos começar discutindo a história da criptografia. Ao longo da história, encontramos alguns algoritmos que, embora não fossem chamados assim na época, eram, em essência, algoritmos criptográficos. Vamos entender como eles funcionam, a teoria por trás deles e, em alguns casos, como foram quebrados.

Um dos métodos mais antigos de esconder mensagens envolvia um rei e um comandante. O rei tatuava a mensagem no couro cabeludo do mensageiro, esperava o cabelo crescer e enviava a mensagem. Esse método garantia que a mensagem não era visível a olho nu, pois, embora estivesse escrita em texto claro na cabeça do mensageiro, sua localização era um segredo. Apesar de não ser um método rápido, devido ao tempo necessário para o crescimento do cabelo, podemos considerá-lo um dos primeiros mecanismos criptográficos registrados.

Explorando cifras históricas

Outro modelo histórico é a cítala espartana, da época dos espartanos, que é uma cifra de transposição. Uma cifra de transposição altera a ordem das letras na mensagem. Na cítala espartana, utilizavam-se cilindros de diversos diâmetros. Quando uma fita com letras era enrolada no cilindro correto, a mensagem podia ser lida. Apenas aqueles com o diâmetro exato conseguiam entender a mensagem, como o rei e o comandante. Outros cilindros de diâmetros semelhantes não permitiam a leitura correta.

Uma cifra muito famosa é a cifra de César, do tempo dos Césares. Ela é uma cifra de substituição, que substitui letras por outras usando um mecanismo acordado entre as partes. Na cifra de César, utiliza-se o mesmo alfabeto, decidindo quantos passos dar no alfabeto para substituir as letras. Por exemplo, se andarmos do A até o T, quando o comandante recebe a mensagem, ele sabe que A significa T, B significa U, e assim por diante. Ao decodificar, ele usa esse mecanismo, andando o número de passos pré-definido entre ele e o rei, para saber qual letra substituir na mensagem recebida. Assim funciona a cifra de César, uma cifra de substituição que, ao descobrir o número correto de passos, revela a mensagem original.

Analisando a vulnerabilidade das cifras antigas

Considerando que os alfabetos são limitados, temos um número pequeno de possibilidades de passos. Portanto, é extremamente fácil decifrar e descobrir a mensagem original, mas esse é um mecanismo histórico. Avançando para a modernidade, temos a máquina Enigma, famosa durante as grandes guerras. A máquina Enigma também era uma cifra de substituição. O que acontecia? Para cada letra dita, era criada uma nova cifra escolhida. Usando a cifra de César como exemplo, o rei e o comandante predefiniam o número de passos. Eles sabiam que todas as letras avançariam 20 casas ou algo semelhante. Na máquina Enigma, para cada letra, era definido, naquele momento, o número de passos que ela avançaria no alfabeto. Claro, eram mecanismos mais complexos, mas, em essência, era isso. Cada letra era substituída por outra, seguindo um mecanismo específico.

Por que era tão difícil quebrar a máquina Enigma? Devido à entropia gerada. Havia um número de variáveis e possibilidades. Se a cada nova letra digitada, uma nova cifra era escolhida, o número de possibilidades era muito maior. Na cifra de César, por exemplo, seria fácil substituir, pois tínhamos um número de passos fixo. Na máquina Enigma, isso era exponencialmente mais difícil, devido à maior entropia dentro desse mecanismo. Chamamos isso de poliafabeto, pois temos, basicamente, um alfabeto para cada letra.

Quebrando a máquina Enigma

A máquina Enigma foi quebrada, como muitos sabem, especialmente quem assistiu ao filme. O principal fator para isso foi o fator humano: falhas, padrões previsíveis definidos nas máquinas, manuais e livros decodificadores perdidos ou roubados. Tudo isso fornecia informações aos atacantes e decifradores sobre como o aparato criptográfico funcionava. Todas as cifras garantiam a segurança dos dados através do quão seguro era o conhecimento sobre o funcionamento do mecanismo. A partir do momento em que sabemos como o mecanismo funciona, podemos desvendar a mensagem criptografada.

Hoje em dia, entendemos que, se a segurança de uma mensagem criptografada depende do segredo de como o algoritmo criptográfico funciona, ele não é seguro. Não devemos nos basear no segredo do funcionamento do mecanismo, pois esse segredo pode ser revelado. A máquina Enigma é um exemplo disso. Através dessas informações, foram criados mecanismos para realizar engenharia reversa, até que as automações, como as vistas no filme de Alan Turing, conseguiram quebrar as mensagens da máquina Enigma, baseando-se nessas informações obtidas e nas falhas por padrões repetitivos.

Refletindo sobre a evolução da criptografia

Historicamente, esses são alguns dos pontos sobre a criptografia. É interessante entender que a criptografia é uma tecnologia que existe muito antes de qualquer aparato digital, pois a necessidade de privacidade e de guardar informações e segredos existe há muito tempo. Qualquer mecanismo que tenta prever o segredo pode ser considerado criptográfico.

Introdução à criptografia - Confidencialidade

Introduzindo a tríade da segurança na criptografia

Agora que entendemos um pouco sobre o contexto histórico, vamos falar sobre a tríade da segurança, ou a tríade no caso da criptografia. Ao longo deste vídeo e dos próximos dois vídeos, vamos tratar desses três pontos. O primeiro deles é a confidencialidade.

Explicando o conceito de confidencialidade

Temos a nossa tríade que vamos preencher, e o primeiro ponto é a confidencialidade. Quando enviamos uma mensagem, queremos garantir que apenas o destinatário seja capaz de lê-la. Essa garantia é a confidencialidade. É como se colocássemos a mensagem dentro de um envelope e escrevêssemos "confidencial".

Aquilo indica que apenas o destinatário deve ler a mensagem. A criptografia busca garantir isso sem se basear no fator humano, ou seja, sem depender de que as pessoas respeitem e não leiam a mensagem se não for destinada a elas. Para isso, a criptografia prevê mecanismos que asseguram que apenas o receptor é capaz de transformar um texto cifrado em um texto legível. Isso é essencialmente como a criptografia garante a confidencialidade.

Garantindo a confidencialidade através da criptografia

Transformando textos em algo cifrado, que não pode ser lido sem uma chave, a criptografia garante acesso restrito a essa chave. Além disso, assegura que, caso a mensagem seja interceptada, não será possível torná-la legível sem a chave adequada. Com esses mecanismos, os componentes criptográficos garantem a confidencialidade.

Sobre o curso Criptografia: Fundamentos, algoritmos e tecnologias emergentes

O curso Criptografia: Fundamentos, algoritmos e tecnologias emergentes possui 414 minutos de vídeos, em um total de 84 atividades. Gostou? Conheça nossos outros cursos de Segurança em DevOps, ou leia nossos artigos de DevOps.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Escolha a duração do seu plano e aproveite até 44% OFF

Conheça os Planos para Empresas