Você está na página 1de 37

03/07/2021 Ead.

br

CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL


CRIPTOGRAFIA ASSIMÉTRICA E
REDES PRIVADAS VIRTUAIS
Autor: Me. Luciano Freire
Revisor: Douglas Melman

INICIAR

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 1/37
03/07/2021 Ead.br

introdução
Introdução

A criptografia simétrica é uma evolução das técnicas dos algoritmos clássicos


de criptografia implementadas por um software e proporciona um alto nível
de segurança para a proteção de dados em computadores, celulares etc.
Entretanto, quando há a necessidade da utilização na troca de mensagens, a
chave privada precisa ser compartilhada de forma segura entre o emissor e
receptor.

Essa é uma fragilidade dos algoritmos de criptografia simétrica, pois quanto


mais a chave é compartilhada, maior o risco de ser capturada/descoberta por
terceiros. Se isso ocorrer, todas as mensagens cifradas com esta criptografia
estarão comprometidas. Nesse contexto, os algoritmos de criptografia
assimétrica são uma alternativa.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 2/37
03/07/2021 Ead.br

Criptografia Assimétrica

A Criptografia Simétrica é muito eficiente na proteção de informações. As


implementações dessa técnica, como o DES (Data Encryption Standard -
Padrão de Criptografia de Dados), AES (Advanced Encryption Standard -
Padrão Avançado de Criptografia) e IDEA (International Data Encryption
Algorithm - Algoritmo Internacional de Criptografia de Dados), possuem uma
boa performance, sendo capazes de cifrar rapidamente uma grande
quantidade de informações (partições de um disco rígido, arquivos em disco,
dados armazenados em banco de dados etc.).

Entretanto, esse modelo de criptografia baseia-se na confidencialidade da


chave utilizada para criptografar as informações e isso gera uma fragilidade
no modelo. Uma vez descoberta a chave e conhecido o algoritmo utilizado,
todas as informações cifradas com esta chave estão comprometidas, ou seja,
se um invasor de sistemas tiver acesso à chave e conhecer o algoritmo ele
poderá, por exemplo, ter acesso a todos os arquivos criptografados em um
computador.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 3/37
03/07/2021 Ead.br

Essa fragilidade se torna mais crítica quando os algoritmos de criptografia


simétrica passam a ser utilizadas na comunicação. Por exemplo, na troca de
e-mails criptografados entre duas pessoas. Neste caso, para que o receptor
consiga ler a mensagem, este precisa ter acesso à chave privada. Assim, o
emissor precisa compartilhar a chave com o receptor. Se nesse processo a
chave privada for acessada de forma não autorizada por um terceiro, por
exemplo, toda a privacidade da comunicação estará comprometida. Se essa
chave for compartilhada com um grande número de usuários, maior será a
chance de a chave ser descoberta por terceiros que não deveriam conhecê-la.

Neste contexto, a criptografia assimétrica é uma alternativa para prover um


meio de comunicação seguro utilizando a criptografia devido ao uso de duas
chaves. Sendo que uma delas pode ser divulgada publicamente e a outra é
mantida em segredo, ou seja, somente o proprietário do par de chaves deve
conhecer a chave privada, enquanto que a pública poderá ser distribuída.  

Conceitos sobre Criptografia Assimétrica


A criptografia assimétrica define um modelo que utiliza um par de chaves
(chamadas de chave pública e chave privada) para cifrar e decifrar uma
mensagem (STALLINGS, 2015). A chave pública é utilizada para cifrar a
mensagem, enquanto a chave privada é utilizada para decifrá-la (SCHNEIER,
1996). A chave pública recebe esse nome porque poderá ser divulgada sem
risco de comprometer a segurança dos dados cifrados. A chave privada
deverá ser mantida em segredo porque ela é utilizada para decifrar as
mensagens cifradas com a respectiva chave pública.

A criptografia assimétrica é muito utilizada para prover a comunicação entre


duas entidades. Por exemplo, um emissor A deseja enviar uma mensagem
para um destinatário B. Para isso, A solicita a chave pública de B, a qual pode
ser enviada sem requisitos adicionais de segurança (como anexo em uma
mensagem de e-mail). Utilizando a chave pública de B, A cifra a mensagem e a
envia para B. Ao receber a mensagem, B utiliza a chave privada para decifrá-
la. Como B é o único que tem acesso à chave privada, somente ele será capaz
de decifrar a mensagem (SCHNEIER, 1996).  

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 4/37
03/07/2021 Ead.br

Os algoritmos assimétricos garantem a confidencialidade dos dados e a


autenticação do destinatário, diferentemente dos algoritmos de criptografia
simétricos, que só garantem a confidencialidade. Isso ocorre porque o
proprietário da chave privada, associado à chave pública, será o único a
conseguir decifrar a mensagem (no caso dos algoritmos simétricos, qualquer
pessoa com acesso à chave privada poderia cifrar e decifrar os dados). Como
exemplos de algoritmos assimétricos pode-se citar o RSA, o Diffie-Hellman e o
ElGamal (SCHNEIER, 1996).

Figura 2.1 - Funcionamento do algoritmo de criptografia assimétrica

Fonte: Adaptado de Schneier (1996).

Para que duas pessoas consigam se comunicar utilizando algoritmos de


criptografia assimétrica, existe a necessidade de utilizar alguma forma de
troca de chaves públicas. Como essa pode ser divulgada, é possível utilizar um
e-mail para o envio da chave ou disponibilizá-la em um site. A Figura 2.2
ilustra o processo de comunicação utilizando um Algoritmo de Criptografia
Assimétrico. Considere que os dois personagens do exemplo, João e Rodrigo,
já possuem um respectivo par de chaves pública e privada.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 5/37
03/07/2021 Ead.br

Figura 2.2 - Modelo de comunicação utilizando a troca de chaves e um


algoritmo de chave assimétrica

Fonte: Elaborada pelo autor.

O processo de comunicação descrito na Figura 2.2 baseia-se na existência de


um par de chaves. A mensagem é sempre criptografada com a chave pública
dos destinatários. Como ela pode ser divulgada, não há riscos de
comprometimento do algoritmo porque as mensagens somente serão
decifradas pela chave privada, a qual não é divulgada na comunicação. Os
usuários precisam acordar uma forma para a troca de chaves públicas. A
comunicação ocorre com a troca de mensagens cifradas.  

Performance dos Algoritmos de Chave Assimétrica


Os algoritmos de chave pública produzem um par de chaves (pública e
privada) que são utilizados na criptografia e decifragem de mensagens. O
texto cifrado com a chave pública será decifrado em texto claro utilizando a
chave privada, da mesma forma que um texto cifrado com a chave privada
será decifrado em texto claro utilizando a chave pública. Logo, existe um
relacionamento entre as chaves. Essa característica é utilizada em esquemas
de assinatura digital, que serão abordados posteriormente.

Diferentemente dos algoritmos de criptografia simétricos que possuem uma


única chave e fazem operações de substituição e permutação para gerar o

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 6/37
03/07/2021 Ead.br

texto cifrado, os algoritmos assimétricos utilizam técnicas matemáticas


complexas como: fatoração de números inteiros, logaritmo discreto e
logaritmo discreto sobre curvas elípticas (AMARO, 2019).

Além disto, o tamanho das chaves não pode ser limitado a poucos bits. Caso
contrário, seria possível descobrir a chave a partir das operações matemáticas
usadas com certa facilidade. Esses aspectos impactam a performance dos
algoritmos assimétricos. Há um esforço computacional grande para a geração
do par de chaves, de centenas de bits, e a aplicação dessas para a geração do
texto cifrado, que também requer um esforço computacional considerável.
Dessa forma, os algoritmos de chave assimétrica possuem uma performance
inferior aos algoritmos de chave simétrica. Existem vários estudos
comparando a performance entre algoritmos de chave simétrica e
assimétrica. Para se entender a ordem de grandeza entre a performance e os
dois tipos de criptografia, pode-se recorrer ao trabalho de Mohammed Nazeh
Abdul Wahid (WAHID, 2019).

No referido artigo, o autor compara o tempo necessário para cifrar um texto,


de vários tamanhos, utilizando os algoritmos DES e AES (implementações da
criptografia simétrica) versus o algoritmo assimétrico RSA (que será abordado
no decorrer desta unidade). Para um texto claro de 3 megabytes, o algoritmo
de criptografia assimétrico (RSA) obteve a pior performance em relação ao
simétrico. O tempo para o RSA cifrar o texto foi de aproximadamente 2000
milissegundos, enquanto que o AES levou entre 500 e 1000 milissegundos, e o
DES ficou abaixo de 1500 milissegundos (WAHID, 2019). Logo, pode-se afirmar
que os algoritmos de chave assimétrica, nesse experimento, são bem mais
lentos que os de chave simétrica.  

Vantagens dos Algoritmos de Chave Assimétrica


Apesar do desempenho inferior dos algoritmos assimétricos em relação aos
simétricos, esses são essenciais para prover uma comunicação confiável em
ambientes como a Internet. Entretanto, os algoritmos assimétricos não
substituem os simétricos. Na verdade, esses atendem um determinado
conjunto de aplicações (como modelos de comunicação seguros, assinaturas
digitais etc.) que não são atendidos pelas características dos algoritmos

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 7/37
03/07/2021 Ead.br

simétricos. Logo, abre-se mão de uma performance melhor por um nível


maior de segurança em determinadas aplicações. Segundo AMARO (2019), os
algoritmos assimétricos possuem as seguintes vantagens:

1. A chave privada não é compartilhada. Quando se deseja utilizar o


algoritmo em uma comunicação, divulga-se a chave pública para
executar a cifragem e a chave privada permanece secreta;  
2. Garante-se que somente o proprietário da chave privada será capaz
de decifrar as mensagens. Essa característica está relacionada ao
conceito de autenticação que será abordado no final da disciplina.
Para isso, o proprietário deve manter a chave privada em segredo.
Caso contrário, toda a segurança do algoritmo será comprometida.
Se o proprietário não armazena a chave privada de forma segura,
todas as mensagens cifradas poderão ser decifradas por terceiros;
3. Um par de chaves deve estar associado a um único indivíduo ou a
uma única organização. Assim, é possível garantir a associação
desses com as mensagens cifradas geradas. Isso caracteriza o
conceito de não-repúdio, que também será abordado no final da
disciplina;
4. O modelo é escalável, visto que se pode criar uma estrutura de
distribuição de chaves públicas. Tal aspecto será estudado durante a
discussão sobre certificados digitais. O referido modelo implementa
uma estrutura de distribuição de chaves públicas e a associação
dessas a indivíduos e organizações.

Apesar das vantagens citadas, existem desvantagens do uso de algoritmos de


criptografia assimétrica. Isso será apresentado na próxima seção.

Desvantagens dos Algoritmos de Chave Assimétrica


Os algoritmos de Chave Assimétrica, apesar de suas vantagens, possuem
algumas desvantagens que precisam ser consideradas (AMARO, 2019):

1. São algoritmos mais lentos devido à natureza das aplicações


matemáticas executadas. Esse fator dificulta a aplicação destes na
cifragem de grande quantidade de dados;  

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 8/37
03/07/2021 Ead.br

2. Não há uma forma de garantir a associação de um par de chaves a


um indivíduo ou entidade sem envolver uma entidade externa. Essa
entidade é responsável pela emissão das chaves e associação entre
pessoas físicas e jurídicas. Como será visto no decorrer da disciplina,
esse papel será desempenhado pelos certificados digitais e pelas
empresas responsáveis pela emissão destes.  

Os Algoritmos Assimétricos são amplamente utilizados em protocolos de


comunicação, apesar das desvantagens. Sua utilização em combinação com
algoritmos simétricos e certificados digitais (que serão abordados na próxima
unidade) compensa as limitações citadas.

praticar
Vamos Praticar
A criptografia é responsável por garantir a segurança das informações armazenadas
em computadores, dispositivos móveis e trafegadas na Internet. Os algoritmos de
criptografia simétricos e assimétricos representam os dois principais tipos de
algoritmos. Sobre estes, é correto afirmar que:

a) Os algoritmos simétricos utilizam a chave privada para criptografar a


mensagem e a chave pública para decifrá-la, já o assimétrico utiliza uma
única chave privada para as duas ações.
Feedback: alternativa incorreta, pois houve uma inversão dos conceitos.
Chaves pública e privada são utilizadas nos algoritmos assimétricos e
chave única é utilizada nos algoritmos simétricos.
b) Os algoritmos simétricos utilizam uma única chave para cifrar e decifrar o
texto, enquanto os assimétricos utilizam uma chave pública para criptografar
e uma chave privada para decifrar o texto.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 9/37
03/07/2021 Ead.br

Feedback: alternativa correta, pois o algoritmo simétrico possui apenas


uma chave para cifrar e decifrar o texto, enquanto o assimétrico possui
duas chaves. A chave pública para cifrar o texto e a privada para decifrar.
c) Os algoritmos assimétricos utilizam uma única chave para cifrar e decifrar
o texto, enquanto os simétricos utilizam uma chave pública para criptografar
e uma chave privada para decifrar o texto.
Feedback: alternativa incorreta, pois, novamente, há uma inversão do
conceito citando que o simétrico utiliza duas chaves e o assimétrico uma.
d) O algoritmo simétrico utiliza uma chave única para todo o processo
chamada de chave privada. Diferentemente, o algoritmo de criptografia
assimétrico utiliza uma chave privada para cifrar e uma chave pública para
decifrar o texto.
Feedback: alternativa incorreta, pois, apesar da definição do algoritmo
simétrico estar correta, há uma inversão na definição do algoritmo
assimétrico. A chave privada é usada para decifrar e não para cifrar a
mensagem.
e) O algoritmo simétrico não utiliza uma chave devido à necessidade de este
obter uma boa performance na cifragem de grandes volumes de texto.
Assim, esse apenas faz permutações no texto e o assimétrico utiliza um par
de chaves.
Feedback: alternativa incorreta, pois os algoritmos que não utilizavam
chaves de criptografia eram os algoritmos clássicos e não o algoritmo
simétrico. Além disso, os algoritmos simétricos possuem uma boa
performance, mesmo com o uso de uma chave.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 10/37
03/07/2021 Ead.br

Exemplos de Implementações de
Algoritmos Assimétricos

Os conceitos de algoritmos de criptografia assimétricos são implementados


em softwares que realizam as operações de geração de chaves, cifragem e
decifragem. A implementação dos algoritmos utiliza técnicas matemáticas.
Como exemplos serão estudados os algoritmos RSA e Diffie-Hellman.

Diffie-Hellman
O Diffie-Hellman foi o primeiro algoritmo de criptografia assimétrico a ser
inventado. Foi publicado em um artigo em 1976 pelos autores Whitfield Diffie
e Martin Hellman (STALLINGS, 2015) e desenvolvido para propiciar a troca de
chaves de segurança, como uma chave privada, que poderia ser usada
posteriormente para criptografia de mensagens (SCHNEIER, 1996). A
segurança do algoritmo encontra-se na dificuldade de se calcular logaritmos
discretos.

Para explicar o uso do algoritmo, considere que dois usuários desejam


negociar uma chave. Conforme o algoritmo Diffie-Hellman, para que essas
trocas ocorram, devem executar os seguintes passos (STALLINGS, 2015):

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 11/37
03/07/2021 Ead.br

1. Definem-se dois elementos públicos globais. Um número primo


denominado q e um α, sendo que α < q e α é uma raiz primitiva de
q. Uma raiz primitiva de um número primo p é aquele cujas
potências módulo p, ou seja, as potências a mod p, a2 modp,
a modp e assim por diante, geram todos os números inteiros de 1
3

até p - 1 (STALLINGS, 2015).  Esses elementos podem ser divulgados


sem o risco de comprometer o algoritmo;
2. Geração da chave do usuário A. O usuário seleciona um valor XA
onde XA < q. XA é a chave privada da comunicação. A chave pública
YA é calculada da seguinte forma YA  = αX A mod q;

3. Geração da chave do usuário B. O usuário seleciona um valor XB


onde XB < q. XB é a chave privada da comunicação. A chave pública
YB é calculada da seguinte forma YB  = $\alpha $XB mod q;

4. Cálculo da chave secreta pelo usuário A. Esta é calculada usando a


seguinte fórmula: K = (YB )XA modq . Para isso, o usuário B
forneceu a chave pública  (Y )B);  
5. Cálculo da chave secreta pelo usuário B. De forma similar, esta é
calculada usando a seguinte fórmula: K = (YA )XB modq. Para
isso, o usuário A forneceu a chave pública  (YA ).  

É importante destacar que a chave gerada pelos usuários A e B, no caso K, é


idêntica e pode ser utilizada, por exemplo, em um algoritmo simétrico para
troca de mensagens. A vantagem deste algoritmo é que esta chave secreta
não foi divulgada por um canal de comunicação que poderia ser
comprometido.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 12/37
03/07/2021 Ead.br

saiba mais
Saiba mais
Para um detalhamento dos fundamentos matemáticos utilizados pelos algoritmos
de chave assimétrica, recomenda-se a leitura do Capítulo 8 do livro Criptografia e
segurança de redes: princípios e práticas, de Williams Stallings, disponível na
biblioteca virtual. Acesso em: 04 fev. 2020.

Fonte: Elaborado pelo Autor.

ACESSAR

RSA
Após o artigo de Diffie-Hellman, surgiram outras propostas de algoritmos de
criptografia de chave pública. Dentre as diversas propostas, a mais
promissora foi a RSA, justamente pela sua facilidade de implementação
(SCHNEIER, 1996). O nome do algoritmo é uma abreviação dos nomes de seus
autores Ron Rivest, Adi Shamir, e Leonard Adleman. (STALLINGS, 2015).

A segurança do RSA decorre da dificuldade de fatoração de números primos


extremamente grandes (100, 200 dígitos ou maiores) (SCHNEIER, 1996).

O funcionamento do algoritmo RSA pode ser dividido em: geração de chaves,


criptografia e decifragem. Essas três partes são realizadas da seguinte forma
(OLIVEIRA, 2019; STALLINGS, 2015): 

1. Geração de chaves

a. Escolhe-se dois números p e q ambos primos e  p ≠ q;

b. Calcula-se n =  p  ∗  q;

c. Calcula-se φ (n)   =   (p − 1) (q − 1) sendo que φ é a função


totiente de Euler;

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 13/37
03/07/2021 Ead.br

d. Seleciona-se um inteiro e tal que 1 < e < φ (n) e


mdc (φ (n) ,  e)   =  1 ;

e. Na sequência calcula-se um valor chamado d da seguinte forma:


 (mod φ (n)) ;

−1
d  ≡ e

f. A chave pública (PU) é  o par de números P U   =   {e, n} ;

g. A chave privada (PR) é o par de números P R  =   {d,  n} ;

2. Critografia

a. O texto claro precisa ser convertido em números. Pode-se, então,


associar a cada caractere um número, por exemplo, de dois dígitos;

b. Quebra-se a mensagem em blocos (M) de tal forma que M   <  n;

c. Para se obter o texto cifrado (C), aplica-se a seguinte fórmula:


C  =  M  mod n;
e

3. Decifragem

a. A partir do texto cifrado (C), utiliza-se o seguinte cálculo para se


obter o texto claro (M) : M   .
d
=  C  mod n

Além do Algoritmo RSA e do Diffie-Hellman, existem outras implementações


de algoritmos assimétricos, tais como o Pohlig-Hellman, Rabin, ElGamal,
dentre outros. Todos implementam um modelo de chave pública e privada. A
diferença é o modelo matemático utilizado para a geração das chaves e
cifragem das mensagens (SCHNEIER, 1996).

praticar
Vamos Praticar
O algoritmo RSA pode ser usado para prover uma comunicação segura entre dois
usuários na Internet, garantindo a confidencialidade dos dados trafegados e a
autenticação. Em relação ao processo de cifrar e decifrar, é correto afirmar que esse
utiliza:

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 14/37
03/07/2021 Ead.br

a) Uma única chave privada.


b) Uma chave pública e outra privada.
Feedback: alternativa correta, pois este utiliza um par de chaves. Sendo a
chave pública usada na cifragem e a chave privada na decifragem da
mensagem.
c) Duas chaves privadas.
d) Duas chaves públicas.
e) Um código aleatório.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 15/37
03/07/2021 Ead.br

Funções de Hash

São funções matemáticas que, para uma cadeia digital de qualquer tamanho,
calculam um identificador digital confiável de tamanho fixo (VICECONTI, 1999).
No contexto da criptografia, uma função de hash pode ser aplicada em um
texto claro, de tamanho variável, para produzir um código (código hash) de
tamanho fixo (STALLINGS, 2015). Esse código gerado é único para o texto
claro, ou seja, nenhum outro texto claro irá gerar o mesmo código numérico
para uma determinada função de hash. As funções hash devem possuir as
seguintes propriedades (STALLINGS, 2015):

1. A função hash é aplicada a qualquer tamanho de bloco de dados, ou


seja, para um texto claro a função é aplicada para todo o texto. Além
disso, não há limitação para o tamanho do texto claro;
2. O código hash gerado terá tamanho fixo;
3. A função hash é irreversível, ou seja, a partir do código hash gerado
não é possível obter o dado original;
4. Qualquer modificação no dado original, por menor que seja, irá gerar
um código hash diferente.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 16/37
03/07/2021 Ead.br

A Figura 2.3 ilustra o funcionamento de uma função hash.

Figura 2.3 -  Funcionamento de uma função de hash

Fonte: Adaptado de Stallings (2015).

Como ilustrado na Figura 2.3, a partir de um texto claro aplica-se uma função
de hash. A função irá processar o texto e ao final do processo irá gerar um
código único associado ao texto claro (código hash).

Aplicações das Funções de Hash


Os códigos hash são utilizados para detectar alterações em uma mensagem
ou conteúdo transmitido. Por exemplo, em uma comunicação pela Internet,
um remetente envia uma mensagem para um destinatário. Essa mensagem
irá trafegar por vários computadores na Internet até chegar ao ponto de
 destino. Nesse percurso, a mensagem poderia ser capturada por um invasor
de sistemas, alterada e reencaminhada ao destinatário. O destinatário,
somente analisando o conteúdo da mensagem, não possui nenhuma
informação adicional que permita verificar a integridade da mensagem, ou
seja, se essa sofreu alguma alteração não autorizada de seu conteúdo original
durante a transmissão (o conceito de integridade será discutido nas próximas
unidades deste curso).

Nesse contexto, se fosse utilizada uma função hash para gerar um código
associado à mensagem e esse fosse transmitido junto com a mensagem, o
destinatário poderia verificar se a mensagem sofreu alguma alteração
durante a sua transmissão. Para isso, o remetente e o destinatário precisam
acordar antecipadamente qual a função hash utilizada. A validação é feita da
seguinte forma: o destinatário, ao receber a mensagem, aplica a função hash
sobre a mensagem recebida. Isso irá gerar um código hash para a mensagem

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 17/37
03/07/2021 Ead.br

recebida. Na sequência, esse código hash gerado é comparado ao código


hash recebido junto com a mensagem. Se os dois forem iguais, a mensagem
não foi alterada. Se os códigos forem diferentes, a mensagem foi alterada
durante a transmissão. A Figura 2.4 ilustra o exemplo descrito.

Figura 2.4 - Geração e validação de um código hash para uma troca de


mensagens

Fonte: Elaborada pelo autor.

Esta técnica também pode ser utilizada para validar a transferência de


grandes volumes de dados de um site, por exemplo, no caso de downloads de
softwares de diversos gigabytes como sistemas operacionais. Nesse caso,
junto com o link para o download do software é fornecido um código hash
gerado por um algoritmo de hash chamado MD5 (Message Digest 5). Após do
download do arquivo, o usuário gera novamente o código hash para o
arquivo com o MD5 e compara o código disponível no site com o gerado. Se
forem iguais, não houve erro durante o download do arquivo.

Uma fragilidade deste modelo é a possibilidade de alteração do código hash


da mensagem pelo por um invasor de sistemas. Se ele souber o algoritmo
hash utilizado, poderá gerar um código hash válido para a mensagem
alterada. Dessa forma, para o destinatário, a mensagem parecerá inalterada.

A solução para essa fragilidade é a criptografia do código hash a partir da


utilização de um algoritmo simétrico. O código hash criptografado recebe o
nome de MAC (Message Authentication Code - Código de Autenticação de
Mensagens). No exemplo citado, o emissor e o destinatário definem uma

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 18/37
03/07/2021 Ead.br

chave privada e um algoritmo simétrico para cifrar o código hash. Nesse


modelo, o código fica protegido contra alteração porque será capaz de
modificar a mensagem, mas não de gerar o código e criptografá-lo
corretamente. Isso torna evidente para o destinatário que a mensagem foi
alterada durante o envio.

Além dos algoritmos de criptografia simétrica, os de criptografia assimétrica


também podem ser usados neste exemplo. A utilização desses gera um
modelo chamado Assinatura Digital, que será estudado em detalhes na
próxima unidade.

praticar
Vamos Praticar
Um aluno da disciplina de Criptografia e Certificados Digitais implementou o código
de uma função hash em um programa de computador. O programa recebe como
entrada um texto e gera um código hash correspondente. Ao digitar a palavra
SEGURANÇA foi gerado o seguinte código em hexadecimal: 2B5F17A. Se o aluno
digitar a mesma palavra novamente, o código hash gerado será igual a:

a) 3E721EF.
Feedback: alternativa incorreta, pois uma função hash irá sempre gerar o
mesmo código hash para um determinado dado de entrada. Assim, a
reaplicação da função hash para o dado original não gera o valor 3E721EF.
b) 2B5F17B.
Feedback: alternativa incorreta, o número utilizado indica que há um
incremento no valor do código hash quando reaplicada a palavra

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 19/37
03/07/2021 Ead.br

SEGURANÇA. Isso não ocorre, pois, para uma mesma mensagem de


entrada será gerado, obrigatoriamente, o mesmo código hash.
c) 2B5F17A.
Feedback: alternativa correta, pois a reaplicação da função para a mesma
mensagem de entrada irá gerar o mesmo código hash.
d) 56BE2F6.
Feedback: alternativa incorreta, pois indica que será gerado um novo
código hash se a função for reaplicada ao texto digitado. Isso está
incorreto. Para a mesma mensagem de entrada, SEGURANÇA, será gerado
o mesmo código.
e) SEGURANÇA.
Feedback: alternativa incorreta, porque indica que a reaplicação da
função hash não gera um código, mas sim retorna o texto original, o que
está errado. A função irá sempre gerar um código hash e se o texto
digitado for repetido, um código hash idêntico ao anterior será gerado.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 20/37
03/07/2021 Ead.br

VPN (Virtual Private Network)

Todas as empresas, independentemente do ramo de negócios ou do


tamanho, dependem de uma infraestrutura computacional formada, na
maioria dos casos, por uma rede local contendo um conjunto de
computadores (estações de trabalho e servidores). Os servidores são
computadores de maior poder computacional que disponibilizam serviços
para as estações de trabalho dos funcionários, como Sistemas Integrados de
Gestão, Banco de dados, Compartilhamento de Arquivos, Impressoras, etc.
Essa rede local utiliza os mesmos protocolos que a Internet e é chamada de
Intranet.

A Intranet provê alguns serviços para a rede externa, por meio da Internet,
como acesso a página web da empresa, envio e recebimento de e-mails,
dentre outros. Entretanto, alguns serviços são restritos à Intranet, como
acesso a banco de dados de clientes e fornecedores, acesso ao sistema de
gestão, pastas compartilhadas.

À medida que a empresa cresce e se expande geograficamente com a


abertura de filiais, novas Intranets são criadas. Isso gera uma dificuldade de

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 21/37
03/07/2021 Ead.br

gestão da empresa, pois os dados sobre faturamento, despesas, clientes


passam a ser divididos em duas ou mais redes distintas e não concentrados
como anteriormente. Além disso, tanto a Intranet da matriz quanto a Intranet
da filial disponibilizam os mesmos serviços para os funcionários, tais como
envio e recebimento de e-mails, compartilhamento de arquivos, etc. Em uma
rede única, alguns destes serviços poderiam ser concentrados, gerando
economia para a empresa. Esses aspectos, principalmente a distribuição dos
dados da empresa, geram a necessidade de integração dessas redes, mesmo
que geograficamente separadas.

A primeira alternativa para essa integração é a aquisição de linhas privadas de


comunicação por meio de operadoras de telefonia. Consiste em um
cabeamento privado ou link de transmissão sem fio, instalado/disponibilizado
pela empresa de telefonia, que irá conectar fisicamente a Intranet da matriz
com a Intranet da filial. O problema dessa solução é o alto custo envolvido,
pois é criada uma infraestrutura de comunicação exclusiva (rede privada)
interligando a matriz com a filial (SILVA, 2019).

Para algumas empresas esse custo de instalação e manutenção acaba sendo


proibitivo. Nesse caso, uma segunda opção é utilizar uma rede pública, como
a Internet, para prover a comunicação. O problema com a utilização da
Internet para interligar as redes de uma matriz com sua filial é que as
informações trafegadas por estas não estão protegidas, ou seja, todos os
dados sigilosos, como balanços financeiros, cadastro de clientes, arquivos de
projetos etc., podem ser capturados durante a transmissão entre as Intranets
pelos computadores da Internet que são utilizados para encaminhar as
informações até o ponto de destino (SILVA, 2019).

Como explicado anteriormente, os dados trafegados pela Internet não são


protegidos contra o acesso não autorizado e podem ser capturados por
softwares maliciosos. A Figura 2.5 ilustra a comunicação entre duas redes
privadas (Intranet) utilizando uma rede pública (Internet).

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 22/37
03/07/2021 Ead.br

Figura 2.5 - Comunicação entre dois computadores (navegador e servidor


web) por meio da Internet

Fonte: Elaborada pelo autor.

No exemplo da Figura 2.5, os dados são trafegados em um computador da


filial (utilizando um navegador web) para um servidor na rede da matriz
(servidor web). Os dados trafegam pela rede Internet passando por
roteadores e outros computadores utilizados para a transmissão de dados. Se
uma dessas máquinas estiver comprometida por um invasor de sistemas,
este terá acesso a todos os dados, visto que o TCP/IP não os criptografa.

Visando possibilitar a utilização de redes públicas, como a Internet, para


interligar redes de uma mesma empresa ou entre empresas e parceiros de
negócios com segurança, surge como alternativa a utilização de Redes
Privadas Virtuais (Virtual Private Network - VPN).

Uma VPN transforma uma rede pública em uma rede privada sem a
necessidade de utilizar uma infraestrutura dedicada, como linhas privadas de
comunicação por meio de operadoras de telefonia (SILVA, 2019). Para isso, a
VPN usa algoritmos de criptografia para cifrar todas a comunicação entre as

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 23/37
03/07/2021 Ead.br

redes que estão sendo interligadas, criando um túnel virtual que interliga as
redes.

Formalmente, uma VPN é uma forma de simular uma rede privada sobre uma
rede pública onde as conexões são virtuais, ou seja, são temporárias e criadas
via software utilizando a infraestrutura da rede pública (SCOTT, 1999). A
Figura 2.6 ilustra a criação de uma VPN interligando duas redes por meio da
Internet.

Figura 2.6 - VPN conectando duas Intranets por meio de uma rede pública
(Internet)

Fonte: Elaborada pelo autor.

A Figura 2.6 apresenta a criação de túnel virtual que protege, por meio da
criptografia, os dados trafegados. A VPN irá permitir o acesso seguro a
recursos como Banco de Dados, Sistemas de Gestão, pastas compartilhadas
sem os riscos do acesso feito diretamente pela Internet. As informações
trafegadas entre as redes pela internet estão criptografadas e, mesmo que
sejam capturadas, não será possível decodificar os dados. Para os usuários, o

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 24/37
03/07/2021 Ead.br

acesso aos recursos da outra rede é similar ao acesso a serviços na própria


Intranet, exceto pela necessidade de utilizar algum recurso de autenticação, a
exemplo do usuário e da senha, para acessar os recursos protegidos pela
VPN.

Em relação ao hardware/software, a Figura 2.6 apresenta uma VPN


implementada nos roteadores das respectivas Intranets. Nesse caso, todo o
tráfego entre as duas redes passa pela VPN. Além dessa configuração, pode-
se utilizar um computador, com um software cliente de VPN instalado (rede
de origem), e um servidor de VPN, em um computador na Intranet que se
deseja acessar, para criar a VPN.

O cliente é responsável por encaminhar os dados de uma Intranet para outra


criptografando e transmitindo as informações pelo canal virtual através da
Internet ao servidor da VPN. Ao receber as informações pelo canal virtual, o
servidor fará a decifragem do tráfego e encaminhará a informação ao
respectivo computador da Intranet (CRIST; KEIJSER, 2015). Nesse segundo
modelo, somente os dados trafegados entre o cliente da VPN e o servidor da
VPN são protegidos. A Figura 2.7 ilustra essa configuração.

Figura 2.7 - Comunicação entre um cliente de uma VPN (Intranet Filial) e seu
respectivo servidor na Intranet da Matriz

Fonte: Elaborada pelo autor.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 25/37
03/07/2021 Ead.br

A Figura 2.7 apresenta uma VPN configurada entre um cliente e o respectivo


servidor da VPN. Nessa configuração, o túnel virtual fica restrito à
comunicação entre essas duas máquinas e o servidor da VPN fica responsável
por encaminhar o dado ou disponibilizar o acesso ao respectivo serviço na
Intranet da Matriz.

Além da interligação de redes privadas (Intranets) de uma empresa, pode-se


utilizar uma VPN, por exemplo, nas seguintes aplicações (CRIST; KEIJSER,
2015):

1. Os caixas eletrônicos podem utilizar uma VPN para se conectar de


forma mais segura aos sistemas dos bancos;
2. Os usuários podem usar uma VPN para proteger os dados trafegados
quando usam redes sem fio gratuitas em shoppings e outros
estabelecimentos;
3. Em regimes totalitários onde todo o tráfego é monitorado e com
determinadas informações censuradas, os usuários podem utilizar
uma VPN para burlar o mecanismo de bloqueio;
4. Interligação entre redes de empresas distintas, por exemplo, entre
uma Montadora de Automóveis e empresas fornecedoras de peças.
Nesse caso, o acesso é restrito a uma parte dos sistemas.

Tipos de VPN
As VPNs diferem entre si de acordo com a tecnologia utilizada para criar a
conexão virtual entre as redes. Segundo Crist e Keijser (2015), as VPNs podem
ser divididas em três categorias:

1. VPNs que utilizam o protocolo PPTP (Point-to-Point Tunneling


Protocol - Protocolo de Tunelamento ponto a ponto): essa foi uma
das  primeiras tecnologias utilizadas para a criação de redes privadas.
Foi desenvolvida pela Microsoft. Nos dias atuais, seu uso não é mais
recomendado porque a criptografia utilizada para cifrar as senhas
dos usuários é fraca e suscetível a ataques de força bruta. Utiliza dois

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 26/37
03/07/2021 Ead.br

canais para configuração da VPN: um é utilizado para estabelecer a


comunicação (túnel virtual) e o outro para o envio de dados;    
2. VPNs que utilizam o protocolo IPSec (IP Security): o IPSec é um
protocolo de segurança que está sendo adotado na arquitetura de
protocolos TCP/IP, os quais são responsáveis pelo funcionamento da
Internet. Provê recursos para criptografia dos dados transmitidos,
mecanismos de autenticação dos emissores e receptores do pacote
além do controle de integridade. Esses conceitos serão relacionados
com os algoritmos de criptografia, que opera em dois modos: pode
criar um túnel virtual utilizando, como no PPTP, onde o usuário onde
o usuário necessita se autenticar para usar a VPN ou nativamente e
de forma transparente para o usuário criptografando todos os dados
enviados diretamente pelo protocolo. Esse protocolo, como o
anterior utiliza dois canais de comunicação. Um para estabelecer
configurar a conexão e outro para o envio dos dados.
Adicionalmente, o IPSec suporta o uso de Certificados Digitais, tema
da próxima unidade. Um certificado digital permite associar a uma
pessoa, entidade ou a um equipamento (como um servidor de rede)
um par de chaves público-privadas. Isso possibilita que as chaves
sejam validadas como pertencentes a uma determinada pessoa ou
organização no momento em que são recebidas e antes de serem
utilizadas. Dessa forma, garante-se a identidade do emissor e do
destinatário;
3. VPNs que utilizam o protocolo SSL/TLS (Secure Socket Layer /
Transport Layer Security): são os protocolos utilizados para
garantir a segurança do protocolo HTTPS (para proteger os dados
trafegados em um navegador web e em um servidor web durante o
acesso a website). Eles criptografam toda a comunicação trafegada
entre o navegador (Chrome, Microsoft Edge, Firefox etc.) e o servidor
web. Como a VPN é construída diretamente sobre a arquitetura de
protocolos TCP/IP, pode funcionar diretamente pelo navegador e não
necessita de um cliente próprio (software) para a utilização da VPN. A
autenticação dos usuários pode ser feita por uma conta de usuário e
senha ou por Certificados Digitais. Diferentemente das redes
anteriores, não há dois canais para a configuração da rede virtual e

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 27/37
03/07/2021 Ead.br

depois para o envio de dados. O protocolo SSL/TLS estabelece a


conexão virtual, realiza a autenticação do usuário na VPN, criptografa
os dados e entrega para a camada de transporte do protocolo TCP/IP
fazer o envio como se fosse um pacote convencional.  

Independentemente da categoria de VPN utilizada, todas fazem uso


algoritmos de chave simétrica e assimétrica na construção da rede virtual. A
criptografia assimétrica é usada para realizar trocas de mensagens que irão
gerar uma chave de sessão e determinar um algoritmo simétrico a ser
empregado. Após definida a chave de sessão, esta será utilizada como chave
privada para cifrar todas as informações trafegadas entre os equipamentos
nos extremos da VPN. Esse processo será visto detalhadamente na próxima
unidade.

reflita
Reflita
As VPNs proporcionam a segurança das comunicações em uma rede pública como a
Internet. Outra forma de se garantir a segurança da comunicação em redes públicas
(como a Internet) é utilizar protocolos criptográficos como o SSL/TLS, os quais serão
abordados na próxima unidade.

ti
https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 28/37
03/07/2021 Ead.br

praticar
Vamos Praticar
Utiliza um conjunto de softwares, protocolos e algoritmos de criptografia e
autenticação que possibilitam a comunicação segura entre duas redes por meios de
uma rede pública insegura (como a Internet). A definição apresentada descreve
uma:

a) Intranet.
b) VPN.
c) Protocolo IP.
d) Rede Local.
e) Roteador.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 29/37
03/07/2021 Ead.br

in dica ções
Material Complementar

LIVRO

Criptografia e Teoria dos Números


Framilson José Ferreira Carneiro

Editora: Ciência Moderna

ISBN: 978-8539908202

Comentário: O livro apresenta um embasamento


matemático sobre as técnicas de criptografia e
algoritmos, da criptografia clássica à criptografia
assimétrica. O texto foca nos conceitos matemáticos
necessários ao entendimento do RSA, em como o
algoritmo gera as chaves e analisa a segurança deste.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 30/37
03/07/2021 Ead.br

FILME

Caçada Virtual
Ano: 2000

Comentário: O filme retrata a captura de Kevin Mitnick


após a invasão de sistemas e roubo de informações de
Tsutomu Shimomura, um renomado especialista em
segurança da informação. Apesar de ser antigo, o filme
aborda os principais problemas de segurança da
Internet e a utilização de criptografia para proteção de
informações. Acesso em: 04 fev. 2020.

TRAILER

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 31/37
03/07/2021 Ead.br

con clusã o
Conclusão

A criptografia assimétrica possui um desempenho inferior quando


comparado com a criptografia simétrica, no que se refere à cifragem de
grandes quantidades de informação. Entretanto, possibilita a proteção de
dados na comunicação entre usuários em redes públicas como a Internet.

Além disso, a criptografia assimétrica utiliza técnicas matemáticas mais


sofisticadas, como fatoração de números inteiros, ao invés de permutação e
substituições de bloco de dados. Isso gera a diferença de performance entre
as duas categorias de algoritmos de criptografia.

Na próxima unidade será discutida a união da criptografia simétrica com a


assimétrica, o que irá possibilitar o desenvolvimento dos protocolos de
criptografia como o SSL/TLS e as VPNs abordadas nesta unidade. As funções
de hash também serão essenciais para o desenvolvimento das assinaturas
digitais. Esse tópico que será abordado na última unidade desta disciplina.

referên cias
Referências Bibliográficas

AMARO, G. Criptografia Simétrica e Criptografia de Chaves Públicas:


vantagens e desvantagens. Faculdade de Educação Superior do Paraná.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 32/37
03/07/2021 Ead.br

Disponível em: http://publica.fesppr.br/index.php/rnti/issue/download/4/33.


Acesso em: 21 dez. 2019.

OLIVEIRA, P. E. R; ANDRADE, P. T. E; D’OLIVEIRA, R. L. G. RSA. Instituto de


Matemática e Estatística da Unicamp. Disponível em:
https://www.ime.unicamp.br/~ftorres/ENSINO/MONOGRAFIAS/oliv_RSA.pdf.
Acesso em: 24 dez. 2019.

SCHNEIER, B. Applied Cryptography. Second Edition. New Jersey: John Wiley


& Sons, 1996.

SILVA, L. S. Virtual Private Network - VPN: aprenda a construir redes


privadas virtuais em plataformas Linux e Windows. Novatec Editora LTDA.
Disponível em:
http://www.martinsfontespaulista.com.br/anexos/produtos/capitulos/143139.pdf.
Acesso em: 26 dez. 2019.

SCOTT, C.; WOLFE. P.; ENWIN, M. Virtual Private Networks. O’Reilly, 1999.

CRIST, E. F.; KEIJSER, J. J. Mastering OpenVPN: Master building and integrating


secure private networks using OpenVPN. Birmingham: Packt Publishing, 2015.

STALLINGS, W. Criptografia e segurança de redes: princípios e práticas. 6.


ed. Tradução Daniel Vieira. São Paulo: Pearson Education do Brasil, 2015.
Disponível em: https://www.docdroid.net/BebtXZO/criptografia-e-seguranca-
de-redes-6a-ed-2014.pdf#page=6. Acesso em: 04 fev. 2020.

VICECONTI, A. C. Tecnologias Disponíveis para Implementação de


Sistemas Seguros e Auditáveis. São José dos Campos: Simpósio Sobre
Segurança em Informática, 1999.

WAHID, M. N. A.; ALI, A.; ESPARHAM, B.; MARWAN, M. A Comparison of


Cryptographic Algorithms: DES, 3DES, AES, RSA and Blowfish for Guessing
Attacks Prevention. Journal   of Computer Science Applications and
Information Technology.   Disponível em:
https://symbiosisonlinepublishing.com/computer-science-

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 33/37
03/07/2021 Ead.br

technology/computerscience-information-technology32.pdf. Acesso em: 24


dez. 2019.

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 34/37
03/07/2021 Ead.br

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 35/37
03/07/2021 Ead.br

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 36/37
03/07/2021 Ead.br

https://ibmr.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667057_1&P… 37/37

Você também pode gostar