Você está na página 1de 5

Criptografia, Chaves Pblicas e Assinatura Digital

para Leigos
Por Joel Guilherme

Conceitos Bsicos

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.

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 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 isolada-
mente. requerido um canal seguro que permita a um usurio transmitir a chave ao seu interlo-
cutor (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

Joel Guilherme Pgina 1 05/10/2017


cifrada para Alice, tendo antes que enviar a chave que vai utilizar, secretamente, para Alice.

Chave Canal Seguro Chave


K K

Bob Criptograma Alice


(...)
Mensagem Cifrar Decifrar Mensagem
(abcdef...z) (abcdef...z)
Canal Inseguro
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 (KSecreta).

Chave Canal Pblico Chave


KPblica KSecreta

Bob Criptograma Alice


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

Criptograma
Joel Guilherme (...)
Pgina 2 05/10/2017
Mensagem Cifrar Decifrar Mensagem
(abcdef...z) (abcdef...z)
Canal Inseguro
Figura 3: Uso de misto de algoritmo criptogrfico assimtrico e simtrico.

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. 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.
Bob Alice
Canal Inseguro

Chave Chave
KSecreta KPblica
?
(Bob) (Bob)

Cifrar Decifrar
Canal Inseguro
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
Joel Guilherme Pgina 3 05/10/2017
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.

A operao de assinatura utilizando hashing feita ento da seguinte forma, como


ilustrado na figura 4:

Bob Canal Inseguro Alice

D D

Hashing Hashing

h'

Chave Chave
KSecreta KPblica
?
(Bob) (Bob)
h A h
Cifrar Decifrar
Canal Inseguro
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

Joel Guilherme Pgina 4 05/10/2017


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.

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 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.

-x-x-x-

Joel Guilherme Pgina 5 05/10/2017

Você também pode gostar