O que é criptografia, como funciona e por que é importante?
Se você ao clicar em “esqueci minha senha” em qualquer site que requer autenticação, ainda enviam a senha originalmente fornecida, por e-mail, esqueça desse site! Ele não tem nem os mais básicos cuidados com segurança e não merece sua visitação e muito menos sua confiança.
Os administradores por trás dele, não devem saber o que é criptografia e sua importância no mundo moderno.
Não e nosso propósito ser um guia completo ou mesmo resumidíssimo do assunto, o qual é vastíssimo, mas se você não quer cair no mesmo erro de guardar qualquer informação de valor, sem criptografá-la adequadamente, precisa ler esse artigo.
O que é criptografia?
Consiste em um algoritmo ao qual são submetidos dados quaisquer e um segredo ou uma chave e que produz uma profunda alteração nesses dados de forma a tornar os dados ilegíveis por parte de alguém que não tenha acesso ao segredo ou chave necessários para reverter os dados ao seu formato original.
Esse tipo de criptografia, a qual requer a mesma chave ou segredo para reverter o conteúdo ao seu estado inicial, é chamada criptográfica simétrica.
Quando se usa uma outra chave diferente da usada para cifrar ou codificar os dados, para decriptá-los ou decodificá-los, denomina-se criptográfica assimétrica.
Algoritmo por sua vez, é um conjunto de ações ou passos que devem ser adotados em cima de um dado, para produzir um resultado ou uma saída e que no caso, é o “embaralhamento” desses dados com o objetivo de torná-los indecifráveis por parte de terceiros.
Criptografia não é algo novo e não nasceu com a Internet ou com a transformação digital. Provavelmente o relato histórico mais antigo que se tem, é atribuído aos romanos e foi usado pelo ditador Caio Júlio César, nascido em 100 a.C. e que por essa razão recebeu o nome de cifra de César.
É um método bastante simples e consiste em avançar 3 posições no alfabeto latino – a chave ou o segredo – as letras usadas, de tal forma que a palavra “César”, usando esse rudimentar método, seria “Fhvdu”.
Para a época, prestou-se muito bem, quando seu criador via a necessidade de transmitir mensagens secretas e que se fossem interceptadas por inimigos, não se descobrisse o seu teor.
Os chamados métodos ou algoritmos de substituição, como a cifra de César e outros derivados e que usam elementos para complicar a substituição simples, como por exemplo, a cifra de Vigenère, em que há deslocamentos variáveis com base em palavras-chaves, podem ser facilmente decodificados usando métodos de força bruta e/ou análise de frequência.
Para casos mais simples, nem mesmo computadores e sistemas dedicados são necessários. Basta lápis, papel e algum tempo.
Matemática, estatística e criptanálise também são ferramentas úteis na decriptação e o seu conhecimento torna a quebra de técnicas de criptação mais simples, algo razoavelmente rápido.
Uma prova dessa afirmação, veio do matemático inglês Alan Turing, que na Segunda Guerra Mundial, criou um equipamento eletromecânico que decifrava as mensagens codificadas pelos alemães por meio de uma máquina chamada de Enigma e que se baseava em uma sofisticação do método de substituição.
A máquina de criptografia dos alemães não era ruim. Pode-se afirmar que o conhecimento que Turing tinha e que foi utilizado na análise da cifragem usada, foi decisivo para eliminar possibilidades e reduzir drasticamente o tempo necessário para decifrar as mensagens alemãs que foram interceptadas, usando a máquina que ele criou.
Como funciona a criptografia?
A criptografia moderna transforma por meio de aplicação de conceitos matemáticos avançados e mesmo alguns mais básicos, como números binários e hexadecimais, dados legíveis e conhecidos, em dados cifrados que não tenham um padrão reconhecível e decodificável e, portanto, compreensíveis àqueles que não tem autorização para acesso.
É importante ressaltar que em muitos casos, ter conhecimento ou decifrar o conteúdo original, não é necessário, como no caso de senhas. É o que se chama de criptografia unidirecional. Ela não é reversível.
Quando você informa uma senha qualquer ao logar no seu serviço de e-mail gratuito, o sistema não compara sua senha real com a que está armazenada no banco de dados, mas o resultado da cifragem de ambas, de forma que mesmo que o banco de dados seja invadido, a sua utilização não seja possível.
O objetivo de boas técnica de encriptação, é produzir resultados únicos para cada dado fornecido e codificado e que ele não seja descoberto sem a devida chave de decodificação ou decriptação, quando for o caso.
Além disso, não deve haver padrões ou correlações reconhecíveis entre a informação original e a cifrada, como no exemplo da cifra de César.
Para tanto, usam-se métodos, tecnologias e algoritmos diversos como RSA, Diffie-Hellman, curva elíptica, GUID, PBKDF2, entre outros, às vezes combinando-os e aplicando-os sucessivas vezes de forma a fortalecer o resultado e diminuir próximo de zero as chances de sua quebra por sistemas computacionais suficientemente poderosos.
Você não precisa saber o que são todos esses conceitos citados (Diffie-Hellman ou curva elíptica), mas saber o que se pretende ao empregá-los e se for o caso, há bastante literatura técnica a respeito.
O que é criptografia na Internet?
Criptografia na Internet, é a submissão de dados que trafegam na rede ou são armazenados nos servidores e que são considerados sensíveis ou que precisam de sigilo, a um conjunto de algoritmos que tornam tais dados ilegíveis se forem obtidos por terceiros sem autorização para seu uso ou acesso.
A criptografia é um dos principais pilares da segurança no mundo digital.
O acesso aos sistemas bancários, os softwares que você instala no seu notebook ou os apps do smartphone, as compras que faz nos sites de e-commerce, a autenticação para acesso às suas redes sociais ou ao serviço de e-mail e mais uma extensa lista de serviços e recursos que usamos, fazem uso da criptografia para fortalecer a segurança.
Assim, quando você acessa um site que faz uso do protocolo de internet HTTPS, o “S” acrescido ao protocolo HTTP, indica que há um certificado SSL instalado no site e que entre outras coisas, faz com que todo dado trocado entre seu dispositivo (smartphone ou notebook) e o servidor no qual o site está hospedado, seja criptografado.
Isso se faz necessário, para que se um hacker – na verdade um cracker – interceptar a comunicação entre os pontos, ele não seja capaz de saber as informações trafegadas e que em um dado momento podem ser seu usuário e senha de acesso, ou os dados do cartão de crédito ou qualquer outro dado que deve ser mantido secreto.
Para tanto, entre muitas tecnologias, usa-se a criptografia assimétrica já mencionada.
Assim, mesmo que você não tenha nenhum recurso de encriptação na sua máquina, por exemplo, ao enviar os dados do formulário de login do site, a chave pública atrelada ao SSL, é usada para cifrar ou embaralhar as informações antes do envio, cuja leitura e identificação só é possível mediante a chave privada (o segredo), a qual só o site e o sistema por trás dele têm acesso.
Essa é uma explicação bastante resumida e simplificada do que acontece.
Na prática, há uma série de algoritmos que fazem uso de conceitos de matemática avançada, a fim de que os resultados obtidos sejam inviáveis de serem descobertos.
Trabalha-se com probabilidades. Partindo-se desse princípio, o que se busca é tornar a descoberta da informação cifrada, dependente de elevados investimentos em tecnologia computacional e tempo, o que pode ajudar a coibir tentativas.
Em outras palavras, teoricamente a criptografia usada atualmente não é 100% a prova de quebra, mas exigiria muito hardware especializado, chamado por exemplo no segmento de criptomoedas de ASICs (Application Specific Integrated Circuit), como o Antminer S19, além de tempo para decifrar o que um eventual invasor tem interesse.
Resumidamente, o poder computacional hoje disponível e o tempo inviabilizam a tarefa.
Mas o que já foi no passado considerado seguro, hoje já não é.
Como por exemplo, o DES (Data Encryption Standard) criado pela IBM e usado pelo governo norte-americano como padrão de encriptação na década de 70 e que baseava-se em uma chave de 56 bits, resultando em mais de 72 quadrilhões de chaves possíveis.
Somou-se a isso o que se chamou de caixas de substituição, para eliminar qualquer correlação ou relacionamento estatístico entre o dado original e o cifrado, vetores de inicialização para alterar o conteúdo original e outros malabarismos matemáticos.
Mas não foi suficiente!
O DES já foi quebrado pelo poder computacional hoje disponível...
O que se cogita é que computadores quânticos quando viáveis, tornem o que hoje parece impossível, ou pelo menos muito difícil, algo possível.
Em que situações se usa criptografia?
A criptografia está presente em quase todos os sites que acessamos, no download e instalação do sistema operacional do notebook ou smartphone, por meio dos hashes de verificação, nos softwares que instalamos, no armazenamento de muitas informações que mantemos em serviços diversos.
Ou seja, sempre que há necessidade de comunicação sigilosa, transações financeiras, dados de clientes resguardados, segredos industriais, faz-se uso dela.
Ao usar SSH para acesso ao seu servidor VPS ou mesmo uma conta de hospedagem compartilhada, você não precisa usar os tradicionais usuário e senha. Usando-se o keygen, é gerado um par de chaves – uma pública e uma privada – para autenticação e consequente acesso SSH.
A chave privada é armazenada no servidor em uma partição com privilégios estritos e nem o administrador root tem acesso.
Muitos fabricantes de software geram e informam hashes, que são mecanismos de cifragem unidirecional, ou que não podem ser revertidos para seu original.
Como os algoritmos mais sofisticados – como o SHA-2 – geram resultados diferentes para qualquer mínima alteração nos dados originais, ao gerar localmente um hash de algum conteúdo independente das fontes de download e compará-lo com o hash fornecido pelo fabricante, sabe-se se ele foi modificado ou adulterado.
Se você tem um certificado digital de uma entidade de classe (ex: CREA, OAB, CRM, etc), ele usa cifragem para autenticação toda vez que o cartão é usado em um leitor e também para armazenar dados confidenciais associados ao cadastro do profissional junto ao órgão expedidor.
As APIs e os sistemas por trás dos gateways de pagamento, seja nas lojas virtuais em que você compra ou mesmo nas maquininhas das lojas físicas, fazem uso extensivo de criptografia para comunicação com os bancos ou serviço de pagamento.
Ao usar o Telegram, WhatsApp ou Signal, utiliza-se o que se conhece por criptografia de ponta-a-ponta, o que na prática significa que ninguém além das pessoas envolvidas na comunicação consegue ler as mensagens trocadas ou compreender o áudio, enviado, fazendo uso de criptografia assimétrica.
Dispositivos bluetooth fazem cifragem simétrica para pareamento e comunicação. Aqui cabe um alerta, visto que algumas versões do protocolo têm um bug que permite a substituição da chave por outra fornecida pelo invasor e, portanto, vulnerabiliza a segurança permitindo um tipo de ataque conhecido como “man in the middle”.
DRM ou Digital Rights Management, que em português é gerenciamento de direitos digitais, utiliza a cifragem do conteúdo de tal maneira que ele só pode ser reproduzido a partir da mídia original e por um software com a chave de acesso, impedindo a pirataria.
As criptomoedas e a rede blockchain, tem na criptografia suas bases de funcionamento e segurança. E se você tem uma carteira de criptomoeda ou tem chaves privadas relativas aos seus bitcoins, ela também é usada.
Por que é importante criptografia?
Em tempos em que a informação tem tanto valor e em que o sigilo e privacidade dos dados, têm tanta relevância, instituir camadas de segurança e diminuir ao máximo as probabilidades de uso indevido, deve ser a maior preocupação de toda empresa que lida com dados de terceiros.
Em segurança, não se deve supor se haverá uma brecha que permitirá o roubo de dados, mas quando isso acontecerá. Exemplos de vazamentos de grandes empresas existem aos montes para provar essa afirmação.
Partindo desse premissa básica, o trabalho dos responsáveis pela segurança da informação, é postergar ao máximo esse evento e quando ele ocorrer, tornar o trabalho do invasor tão difícil quanto for possível.
Conclusão
A criptografia é uma necessidade do mundo moderno em que tanta informação valiosa e sensível circula pelos meios digitais, como forma de garantir níveis crescente e satisfatórios de segurança aos usuários e aos detentores dessa informação circulante.