You are on page 1of 6

SEGURANA DA INFORMAO

CRIPTOGRAFIA E VULNERABILIDADES
Conceitos Bsicos

1. CRIPTOGRAFIA:

Suponha que algum deseja enviar uma mensagem a voc e quer ter a certeza de que
mais ningum poder ler a mesma. Independente das medidas que se tome, existe
sempre a possibilidade de que alguma outra pessoa possa abrir a correspondncia (papel
ou eletrnica), para dela tomar conhecimento. Para alcanarmos uma condio de sigilo
da mensagem, podemos contar com as ferramentas da Criptografia (a cincia que trata
deste tipo de problema) para embaralhar a mensagem de tal forma que somente o
destinatrio autorizado possa recuper-la.
Na terminologia da Criptografia a mensagem original chamada "texto claro",
ou simplesmente "mensagem". O processo de embaralhar a mensagem de forma a
ocultar seu contedo de outrem denominado "cifrao", se constituindo de
transformaes matemticas adequadas sobre a mensagem. A mensagem embaralhada,
ou seja, cifrada, denominada "texto cifrado" ou "criptograma". Claro que devemos ter
o processo inverso de recuperar a mensagem a partir do criptograma, e este processo
denominado "decifrao". Os processos de cifrao e decifrao se utilizam de um
algoritmo (o processo de codificao/embaralhamento) e de um parmetro de controle
denominado "chave criptogrfica", de forma que a decifrao, em princpio, somente
possvel conhecendo-se a chave apropriada para decifrar, mesmo que se conhea o
algoritmo utilizado.
Enquanto a Criptografia trata de manter mensagens secretas, por outro lado
existe tambm a "Criptoanlise", que a arte de "quebrar" os criptogramas,
recuperando-se as mensagens, mesmo sem se conhecer a chave apropriada para a
decifrao. Por isto, os algoritmos criptogrficos devem satisfazer a uma srie de
critrios de forma a garantir, no maior grau possvel, que seja impraticvel quebrar o
sistema.
A Criptografia trata no apenas dos problemas estritos de sigilo de mensagens,
como tambm de problemas de autenticao, assinatura digital (eletrnica), dinheiro
eletrnico, e outras aplicaes.

1. O que criptografia? E qual a sua finalidade?
2. Quais os componentes principais da criptografia?
3. Qual a diferena entre criptografia e criptoanlise?

2. Algoritmos Criptogrficos

Existem duas classes de algoritmos criptogrficos: simtricos (ou de chave-
secreta) e assimtricos (ou de chave-pblica). Os algoritmos simtricos utilizam uma
mesma chave tanto para cifrar como para decifrar (ou pelo menos a chave de decifrao
pode ser obtida trivialmente a partir da chave de cifrao), ou seja, a mesma chave
utilizada para fechar o cadeado utilizada para abrir o cadeado. Nos algoritmos
assimtricos temos chaves distintas, uma para cifrar e outra para decifrar e, alm disso,
a chave de decifrao no pode ser obtida a partir do conhecimento da chave de cifrao

Professores: Soraya Christiane /Tadeu Ferreira - http://sorayachristiane.blogspot.com
Disciplina de Redes de Computadores
Curso Tcnico Integrado de Informtica

apenas. Aqui, uma chave utilizada para fechar e outra chave, diferente, mas
relacionada primeira, tem que ser utilizada para abrir. Por isso, nos algoritmos
assimtricos, as chaves so sempre geradas aos pares: uma para cifrar e a sua
correspondente para decifrar.
Pela sua caracterstica no uso da chave, os algoritmos simtricos exigem que a
chave seja mantida secreta, do conhecimento exclusivo dos dois interlocutores. Este fato
traz complexidade ao manuseio destas chaves, o que dificulta um pouco a utilizao
destes algoritmos isoladamente. requerido um canal seguro que permita a um usurio
transmitir a chave ao seu interlocutor (um canal seguro pode ser, por exemplo, um
portador de confiana). A figura 1 ilustra a forma de operao de uma algoritmo
criptogrfico simtrico, onde Bob envia uma mensagem cifrada para Alice, tendo antes
que enviar a chave que vai utilizar, secretamente, para Alice.









Figura 1: Uso de algoritmo criptogrfico simtrico (chave secreta).

Os algoritmos assimtricos permitem que a chave de cifrao possa ser
tornada pblica, por exemplo, disponibilizando-a em um repositrio de acesso pblico
(canal pblico), e por isso denominada chave-pblica, retirando aquele problema
existente nos algoritmos simtricos. Qualquer um pode cifrar mensagens com uma dada
chave-pblica, contudo somente o destinatrio, detentor da correspondente chave de
decifrao (denominada chave-privada, ou secreta), poder decifr-la. A chave-
privada no precisa e nem deve ser dada a conhecer a ningum, devendo ser guardada
em segredo pelo seu detentor apenas, que deve tambm ter sido o responsvel pela
gerao do seu par de chaves, enquanto a chave-pblica pode ser publicada livremente.
Na figura 2 temos uma ilustrao da operao de um algoritmo assimtrico. Aqui, Alice
gera seu par de chaves, e envia (publica) sua chave-pblica para Bob. Este cifra a
mensagem com a chave-pblica de Alice (K
Pblica
), a qual, e somente ela, ser capaz de
decifr-la, utilizando sua chave-privada (K
Secreta
).









Figura 2: Uso de algoritmo criptogrfico assimtrico (chave pblica).

Geralmente os algoritmos simtricos so mais eficientes computacionalmente
que os assimtricos, podendo ser bastante rpidos em sua execuo, permitindo altas

Cifrar

Decifrar
Canal Seguro
Canal Inseguro
Mensagem
(abcdef...z)
Mensagem
(abcdef...z)
Criptograma
(o|_oc|...,)
Chave
K
Chave
K
Bob
Alice

Cifrar

Decifrar
Canal Pblico
Canal Inseguro
Mensagem
(abcdef...z)
Mensagem
(abcdef...z)
Criptograma
(o|_oc|...,)
Chave
K
Pblica

Chave
K
Secreta

Bob
Alice
taxas de cifrao (at da ordem de gigabits/s 10
9
bits/s). Os algoritmos assimtricos
so geralmente menos eficientes, e normalmente a tendncia a utilizao dos dois
tipos de algoritmos em conjunto, tal que um algoritmo de chave-pblica utilizado para
cifrar uma chave criptogrfica, gerada aleatoriamente, para ser ento utilizada para
cifrar a mensagem atravs de um algoritmo simtrico. O destinatrio ento primeiro
decifra a chave simtrica utilizando sua chave-privada no sistema de chave-pblica, e
aps decifra a mensagem utilizando a chave recuperada no sistema simtrico. Desta
forma no h o problema de "compartilhar o segredo da chave" com ningum. A cada
nova mensagem pode-se sempre repetir todo o processo. Nesta situao, se Bob deseja
enviar uma mensagem para Alice, ele primeiro escolhe uma chave K, e a envia atravs
do algoritmo de chave-pblica cifrada com a K
Pblica
de Alice. Esta recupera K
decifrando o criptograma recebido com sua chave privada K
Secreta
. Agora Bob pode
enviar a mensagem real atravs do algoritmo simtrico, mais eficiente para isto,
cifrando-a com a chave K, que Alice j dispe, e enviada a ela de forma segura.


















Figura 3: Uso de misto de algoritmo criptogrfico assimtrico e simtrico.


3. Qual a diferena em relao a chave entre os algoritmos simtricos e
assimtricos?
4. Qual a principal dificuldade dos algoritmos simtricos?
5. Qual dos dois tipos de algoritmos de criptografia mais rpido no processo de
execuo e por que?

3. Assinaturas Digitais

Alguns algoritmos criptogrficos de chave-pblica permitem que estes sejam
utilizados para gerar o que se denomina de assinaturas digitais. Estes algoritmos tm a
caracterstica de, alm da operao normal de cifrar com a chave-pblica e decifrar com
a chave-privada, eles permitem tambm que, cifrando-se com a chave-privada, a
decifrao com a chave-pblica resulta na recuperao da mensagem. Obviamente
esta forma de uso no assegura o sigilo da mensagem, uma vez que qualquer um pode
decifrar o criptograma, dado que a chave-pblica de conhecimento pblico.

Cifrar

Decifrar
Canal Pblico
Canal Inseguro
Mensagem
(K)
Mensagem
(K)
Criptograma
(+)
Chave
K
Pblica

Chave
K
Secreta

Bob
Alice

Cifrar

Decifrar
Canal Inseguro
Mensagem
(abcdef...z)
Mensagem
(abcdef...z)
Criptograma
(o|_oc|...,)
Chave
K
Chave
K
Entretanto, se esta operao resulta na mensagem esperada podemos ter a certeza de
que somente o detentor da correspondente chave-privada poderia ter realizado a
operao de cifrao. Assim, uma assinatura digital o criptograma resultante da
cifrao de um determinado bloco de dados (documento) pela utilizao da chave-
privada de quem assina em um algoritmo assimtrico. A verificao da assinatura feita
decifrando-se o criptograma (assinatura) com a suposta chave-pblica
correspondente. Se o resultado for vlido, a assinatura considerada vlida, ou seja,
autntica, uma vez que apenas o detentor da chave-privativa, par da chave-pblica
utilizada, poderia ter gerado aquele criptograma. Na figura 4 ilustramos este
procedimento.











Figura 3: Gerao de Assinatura Digital de um documento.

Aqui, Bob assina um documento, cifrando-o com sua chave-privada e
enviando tanto o documento original quanto a assinatura para Alice. Esta verifica a
assinatura decifrando-a com a chave-pblica de Bob (de conhecimento pblico), e
comparando o resultado com o documento recebido. Se estiverem de acordo, a
assinatura confere, caso contrrio a assinatura considerada invlida, significando
que ou no foi Bob quem assinou, ou o documento foi adulterado aps a assinatura.
Observe-se que este procedimento capaz de garantir tanto a origem (autenticao do
emissor), tendo em vista que supostamente somente Bob conhece sua chave-privada e
portanto somente ele capaz de gerar uma assinatura que possa ser verificada com sua
chave-pblica, como tambm a integridade do documento, j que, se o mesmo for
alterado, a verificao da assinatura ir indicar isto, caso tenha vindo efetivamente do
pretenso emissor.

Usualmente, face ineficincia computacional dos algoritmos simtricos, os
mtodos para assinatura digital empregados na prtica no assinam o documento que se
deseja autenticar em si, mas uma smula deste, obtida pelo seu processamento atravs
do que se denomina uma funo de Hashing. Uma funo de hashing uma funo
criptogrfica que gera uma sada de tamanho fixo (geralmente 128 a 256 bits)
independentemente do tamanho da entrada. A esta sada se denomina de hash da
mensagem (ou documento ou o que quer que seja a entrada). Para ter utilidade
criptogrfica, a funo de hashing deve ser tal que
a) simples (eficiente, rpido) se computar o hash de dada mensagem;
b) impraticvel se determinar a entrada a partir de seu hash;
c) impraticvel se determinar uma outra entrada que resulte no mesmo hash de
uma dada entrada;
d) os valores de hash possveis so estatisticamente equiprovveis.


Cifrar

Decifrar
Canal Inseguro
Chave
K
Pblica

(Bob)
Chave
K
Secreta

(Bob)
?
Bob Alice
Canal Inseguro
A operao de assinatura utilizando hashing feita ento da seguinte forma,
como ilustrado na figura 4:



D D







h





h h


figura 4: Assinatura utilizando funes de hashing.

i. Bob computa o hash do documento D que deseja assinar, obtendo h;
ii. Bob assina o hash obtido, cifrando-o com sua chave-privada, obtendo A;
iii. Bob envia o documento original, D, e sua assinatura, A, para Alice;
iv. Alice recalcula o hash do documento recebido, D, ( fcil fazer este clculo e a
funo de hashing de domnio pblico), obtendo h;
v. Alice decifra a assinatura recebida com a chave pblica de Bob, obtendo h;
vi. Se h h, ento a assinatura confere e, com elevadssimo grau de certeza,
Alice sabe que foi Bob que enviou o documento, e o documento recebido
cpia fiel do original. Caso contrrio, ou no foi Bob que o enviou (assinou), ou
o documento foi adulterado aps a assinatura, ou ambos.

6. Qual a principal finalidade da assinatura digital?
7. O que garante a assinatura digital?
8. O que uma funo Hash?

4. Certificados Digitais e Autoridades Certificadoras

Resta um problema em relao s chaves pblicas: como confiar que
determinada chave efetivamente pertence ao seu suposto proprietrio? Para
resolver este problema, foi criada uma aplicao especial para as assinaturas digitais
os Certificados Digitais.
Um certificado digital nada mais que um documento (eletrnico) contendo a
chave pblica de um usurio (ou processo) e dados de identificao do mesmo. Este
documento deve ser assinado por uma autoridade confivel, a Autoridade
Certificadora, atestando sua integridade e origem. Usualmente, certificados digitais so
utilizados para garantir a integridade e origem de chaves pblicas depositadas em bases

Cifrar

Decifrar
Canal Inseguro
Chave
K
Pblica

(Bob)
Chave
K
Secreta

(Bob)
?
Bob Alice
A.
Hashing

Hashing
A
Canal Inseguro
de dados de acesso pblico. O padro mais comumente utilizado para certificados
digitais o denominado X-509, o qual prev, entre outras informaes possveis, os
seguintes dados de identificao:

- chave pblica do usurio;
- nome do usurio proprietrio da chave;
- nome da organizao associada;
- data de emisso do certificado;
- perodo de validade da chave.

Desta forma, obtendo-se uma chave pblica de um usurio associada a um tal
certificado, confiando-se na autoridade certificadora e verificando-se sua assinatura no
certificado, pode-se ter certeza de que a chave realmente pertence ao alegado usurio, e
que, pretensamente, somente ele dispe da correspondente chave secreta que o capacita
a decifrar mensagens cifradas com aquela chave pblica, ou assinar documentos com a
correspondente chave secreta.
Certificados Digitais so a resposta tecnolgica atual para o problema de
autenticao de usurios na crescente demanda por segurana nos servios oferecidos
via Internet, desde home banking, passando por compras on-line, indo at servios de
informao por assinatura. Eles podem ser vistos como um Passaporte Eletrnico, onde
esto contidas as informaes e garantias necessrias sobre a identidade do portador,
alm de sua chave pblica.

9. O que um certificado digital e uma autoridade certificadora?
10. O que garante o certificado digital?
11. Quais os principais itens encontrado em um certificado?