fbpx

Introdução à Criptografia

É quase impossível falar de segurança da informação e não vir à cabeça assuntos relacionados a criptografia, isso se deve ao fato da importância em possuir sistemas com criptografia na confidencialidade das informações, e é por este motivo, que preparamos esta matéria abordando os principais conceitos e fundamentos da criptografia.

O Que é Criptografia?

A palavra criptografia vem do grego, mais especificamente das palavras Kryptós(escondido/oculto) e graphéin(escrita). É uma técnica utilizada para a proteção de uma determinada informação, onde a informação é transformada através da utilização de um algoritmo criptográfico, de modo que se torna incompreensível, assim somente as partes autorizadas conseguem ter acesso ao real conteúdo desta informação.

Por exemplo:

Você quer enviar uma mensagem para uma determinada pessoa, mas por um determinado motivo, você não quer que outras pessoas saibam o conteúdo desta comunicação, então você utiliza uma técnica criptográfica nesta mensagem, assim, se qualquer pessoa não autorizada obter acesso à esta informação, esta pessoa não entenderá o conteúdo apresentado, logo, ela não conseguirá saber o conteúdo verdadeiro desta mensagem mantendo a confidencialidade desta comunicação.

A imagem abaixo detalha este processo.

Neste processo da imagem acima, um algoritmo criptográfico é aplicado nos bits de uma determinada informação, gerando o processo de criptografia ou também chamada de cifragem. Deste modo a saída obtida foi a mensagem criptografada, sendo totalmente diferente da original.

Para o que o processo reverso ocorra, neste mesmo caso, é necessário a utilização do mesmo algoritmo criptográfico utilizado no processo de cifragem, permitindo assim, que a descriptografia ou também chamada de decifragem, ocorra com sucesso.

Computacionalmente Segura

Pode-se dizer que a criptografia é considerada computacionalmente segura à partir de dois fatores:

Custo – Quando o custo para quebrar uma criptografia excede o valor da informação criptografada, significa que a criptografia foi bem sucedida, pois cada informação possui um determinado valor para quem a possui e para quem está tentando possuí-la. Deste modo, se o gasto para uma quebra de criptografia for mais elevado do que o custo da informação a ser obtida, todo este esforço se torna inviável financeiramente.

Tempo – Cada criptografia possui um determinado tempo à ser investido até que seja quebrada, e quando o tempo para quebrar a cifragem excede a vida útil da informação, isto também significa que ela foi bem sucedida, pois quando o atacante conseguir quebrar esta criptografia, a informação obtida já não possui mais valor ou então se tornou obsoleta e inútil.

Sendo assim, ao aplicar um processo de criptografia é de extrema importância escolher algoritmos criptográficos capazes de atender ao menos um destes requisitos, de acordo com a cada informação a ser protegida.

Propriedades de Segurança

A criptografia é aplicada para fornecer garantias referentes a determinadas propriedades da segurança da informação:

CONFIDENCIALIDADE

Garantir que somente as partes autorizadas possuem acesso ao conteúdo destinado a estas partes, isto está relacionado à proteção das informações contra divulgação a terceiros não autorizados.

AUTENTICIDADE

Associar um conteúdo a uma parte e ter certeza que o conteúdo ou a parte é quem realmente diz ser.

INTEGRIDADE

Ser capaz de identificar alterações do estado original de uma determinada informação, seja pela remoção ou acréscimo de bits nestes dados. No entanto, a integridade não serve para evitar uma alteração, apenas identifica quando uma alteração ocorreu em um ou mais dados.

NÃO REPÚDIO

Associar uma parte a uma ação de modo que essa parte não possa negar a autoria da ação. Para garantir o não repúdio é necessário que haja uma forma de vincular algo a apenas uma única parte. Uma chave privada realiza muito bem esta função e você entenderá logo a seguir.

É importante entender que a criptografia não garante todas estas propriedades, cada propriedade é garantida de acordo com o processo criptográfico aplicado, juntamente com as propriedades que cada informação necessita garantir.

Cifras de Transposição x Substituição

Transposição

No método de criptografia com cifras de transposição, os conteúdos da mensagem original e da mensagem criptografada são exatamente os mesmos, porém com as letras são postas em uma ordem diferente.

Neste exemplo de cifra de transposição, note que a palavra criptografada possui exatamente as mesmas letras da palavra original, sem que haja o decréscimo ou acréscimo de novas letras.

Para reverter este processo, a chave é o valor de posição de cada letra na palavra original.

Substituição

Neste procedimento de substituição, cada letra ou grupo de letras da mensagem é substituída de acordo com uma tabela de substituição sem que a posição desta letra seja alterada. Ou seja, diferente de uma cifra de transposição, cada letra se mantém no seu lugar, porém é substituída por uma nova letra que não necessariamente precisa estar presente no conjunto de letras da palavra original.

Esta alteração pode ser feita não somente por outras letras, mas também por símbolos, figuras ou outras combinações com um sistema definido e uma chave.

O melhor exemplo de uma cifra de substituição é a famosa cifra de César, que veremos em seguida.

Chaves Criptográficas

A segurança dos serviços criptográficos é baseada no segredo da chave criptográfica, que nada mais são, do que um conjunto de bits baseados em um determinado algoritmo matemática que permite executar os processos de criptografia e descriptografia.

Na imagem acima, o método criptográfico aplicado é a chamada cifra de César, este é o modelo mais básico de aplicação de uma chave criptográfica.

Esta cifra trabalha com uma chave relacionada a um valor fixo de saltos nas posições das letras do alfabeto, neste exemplo apresentado o valor do salto é 2 (a letra A se torna a letra C, a letra B se torna a letra D, e assim por diante). Para o processo reverso, utiliza-se esta mesma chave de valor 2, decrementando as letras em suas posições no alfabeto (letra D volta a ser a letra C, letra C se torna a letra A novamente).

Deste modo, com uma chave de valor 2, a palavra HACKER passa a ser JCEMGT, e com a mesma chave de valor 2 no processo reverso, volta a ser HACKER.

Existem 2 tipos de chaves criptográfica, chaves simétricas e chaves assimétricas. Na criptografia simétrica a chave é única e compartilhada que necessita ser enviada por um canal seguro, ou seja, um meio escolhido entre as partes para a troca  desta chave. Este modo utiliza a mesma chave para cifragem e decifragem da mensagem, então não é aconselhado enviar a chave pela rede de dados, pois caso seja interceptada a confidencialidade da mensagem poderá ser quebrada.

Já na criptografia assimétrica utiliza-se um par de chaves chamadas de chave pública e chave privada, deste modo, uma chave é utilizada para criptografar e a outra para descriptografar as mensagens. Estas chaves pública e privada são relacionadas entre si, garantindo que ao realizar a ação com uma destas chaves, esta ação só pode ser revertida com a utilização da outra chave daquele mesmo par.

A chave pública deve ser compartilhada, deste modo não há problema de ir para a rede de dados, apenas a chave privada deve se manter em posse exclusiva de proprietário, pois é esta chave que será utilizada para realizar a descriptografia. Veja o exemplo abaixo.

Esta imagem, representa uma comunicação entre Alice e Bob utilizando um par de chaves de uma criptografia assimétrica.

Bob necessita enviar uma mensagem para Alice, e para isso Bob não precisa utilizar nenhuma de suas chaves, somente a chave pública da Alice.

1º passo – Bob aplica um algoritmo criptográfico com a chave pública da Alice, gerando uma saída com a mensagem criptografada.

2º passo – Alice recebe a mensagem de Bob e utiliza sua chave privada para descriptografar a mensagem.

Caso Alice optar por responder a mensagem, Bob necessitará gerar seu par de chaves e disponibilizar sua chave pública para Alice, para que Alice possa realizar o processo de criptografia com a chave pública de Bob que posteriormente receberá esta mensagem e irá utilizar sua chave privada para realizar a descriptografia.

Notem, que não é possível utilizar uma chave privada para criptografar e garantir confidencialidade, pois qualquer pessoa em posse da chave pública deste par de chaves pode quebrar esta criptografia e juntamente quebrar sua confidencialidade e eficácia do sistema criptográfico.

Agora que você possui maior conhecimento dos principais fundamentos de criptográficas, pode ser uma boa hora para aprender mais sobre Ransomware, o malware que sequestra dados por meio de criptografia, e advinha, nós podemos te ajudar com isso também.

Então confira nosso Curso de Análise de Malware, onde você realiza esta análise na prática.