Documente Academic
Documente Profesional
Documente Cultură
No contexto em que Bob envia uma mensagem a Alice, a Figura 9.16 apresenta um
resumo do procedimento operacional para a criao de uma assinatura digital. Bob
processa sua mensagem longa original por meio de uma funo de hash para criar um
resumo de mensagem. Ento, ele criptografa o resumo de mensagem com sua prpria
chave privada. A mensagem original (em texto aberto) e o resumo de mensagem
digitalmente assinado (daqui em diante denominado assinatura digital) so, ento, enviados
a Alice. A Figura 9.17 mostra um resumo do procedimento operacional de verificao da
integridade da mensagem. Alice aplica a chave pblica do remetente mensagem para
recuperar o resumo de mensagem. Ela tambm aplica a funo de hash ao texto aberto da
mensagem para obter um segundo resumo de mensagem. Se os dois resumos coincidirem,
ento Alice poder ter certeza quanto integridade e ao autor da mensagem.
234
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
claro que, para efeito de segurana, precisaremos de uma funo de hash muito mais
poderosa do que a soma de verificao.
O algoritmo de resumo de mensagem MD5 de Ron Rivest amplamente usado hoje.
Ele processa um resumo de mensagem de 128 bits por meio de um processo de quatro
estgios, constitudo de um estgio de recheio (adio de um um seguido de zeros
suficientes, de modo que o comprimento da mensagem satisfaa a determinadas condies),
um estgio de anexao (anexao de uma representao de 64 bits do comprimento da
mensagem antes do recheio), uma inicializao de um acumulador e um estgio final de
looping, no qual os blocos de 16 palavras da mensagem so processados (destroados) em
quatro rodadas de processamento. No se sabe se o MD5 de fato satisfaz s exigncias
citadas anteriormente. O autor do MD5 declara: Conjectura-se que a dificuldade de
produzir duas mensagens que tenham o mesmo resumo da ordem de 264 operaes e que a
dificuldade de produzir qualquer mensagem que tenha um dado resumo de mensagem da
ordem de 2128 operaes. Ningum contestou essas declaraes. Para uma descrio do
MD5 (incluindo uma implementao em cdigo de fonte C), consulte o RFC 1321.
Aspectos computacionais do MD5 so discutidos no RFC 1810.
235
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
Veremos que a KDC pode ser usada para obter as chaves compartilhadas necessrias para uma
comunicao segura com todas as outras entidades de rede, evitando algumas das armadilhas
que identificamos na Seo 9.3. No caso da criptografia de chaves pblicas, o intermedirio de
confiana chamado de autoridade certificadora (Certification Authority CA). Uma CA
certifica que uma chave pblica pertence a uma determinada entidade (uma pessoa ou uma
rede). No caso de uma chave pblica certificada, se a confiana depositada na CA que
certificou a chave for absoluta, poderemos ter certeza quanto a quem pertence a chave pblica.
Uma vez que uma chave pblica certificada, ela pode ser distribuda de qualquer lugar,
incluindo um servidor de chave pblica, uma pgina Web pessoal ou um disquete.
9.5.1 KDC (central de distribuio de chaves)
Suponha novamente que Bob e Alice queiram se comunicar usando criptografia de
chaves simtricas. Eles nunca se encontraram (talvez tenham se conhecido em uma sala de
bate-papo on-line) e, assim, no combinaram uma chave secreta. Como possvel, ento,
que eles combinem uma chave secreta, dado que s podem se comunicar um com o outro
pela rede? Uma soluo freqentemente adotada na prtica usar uma KDC.
A KDC um servidor que compartilha uma chave simtrica secreta diferente com
cada um de seus usurios registrados. Essa chave pode ser instalada manualmente no
servidor quando o usurio se registrar pela primeira vez. A KDC conhece a chave secreta
de cada usurio, e cada um deles pode se comunicar com segurana com a KDC usando
essa chave. Vejamos como o conhecimento dessa nica chave permite que um usurio
obtenha uma chave para se comunicar com qualquer outro usurio registrado. Suponha que
Alice e Bob sejam usurios da KDC; eles conhecem apenas suas prprias chaves
individuais, KAKDC e KBKDC, respectivamente, para se comunicar com segurana com a
KDC. Alice d o primeiro passo, e eles continuam como ilustrado na Figura 9.19.
Figura 9.19 Estabelecimento de uma chave de sesso nica usando uma KDC.
1. Usando KAKDC para codificar sua comunicao com a KDC, Alice envia uma
mensagem KDC dizendo que ela (A) quer se comunicar com Bob (B). Denominamos
essa mensagem de KAKDC(A, B).
2. A KDC, como conhece KAKDC, decriptografa KAKDC(A, B). Em seguida, ela gera um
nmero aleatrio R1. Esse o valor da chave compartilhada que Alice e Bob usaro
para realizar criptografia simtrica quando se comunicarem mutuamente. Essa chave
chamada de chave de sesso nica, pois Alice e Bob a utilizaro apenas durante essa
nica sesso que esto estabelecendo no momento. A KDC agora precisa informar
Alice e Bob do valor de R1. Assim, ela devolve a mesma mensagem a Alice,
criptografada usando KAKDC, contendo o seguinte:
236
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
R1, a chave de sesso nica que Alice e Bob vo usar para se comunicarem.
Um par de valores: A e R1, criptografados pela KDC usando a chave de Bob, KB
KDC. Chamamos esse valor de KBKDC(A, R1). importante notar que a KDC est
enviando Alice no somente o valor de R1 para seu uso, mas tambm uma verso
criptografada de R1 e do nome de Alice, criptografados usando a chave de Bob.
Alice no pode decifrar esse par de valores da mensagem (ela no conhece a chave
criptogrfica de Bob), mas, na verdade, ela no precisa faz-lo. Veremos em breve
que Alice simplesmente repassa o par de valores criptografados para Bob (que pode
decifr-los).
Esses itens so colocados na mensagem e criptografados usando a chave
compartilhada de Alice. A mensagem da KDC para Alice , portanto, KAKDC(R1, KB
KDC(R1)).
237
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
238
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
verdade, criada por Bob. Este ficar muito surpreso quando o entregador aparecer em sua
casa com uma pizza, com tudo acertado!
Figura 9.20 Trudy se passa por Bob usando a criptografia de chaves pblicas.
Por esse exemplo, vemos que, para que a criptografia de chaves pblicas seja til, as
entidades (usurios, browsers, roteadores) precisam ter certeza de que possuem a chave
pblica da entidade com a qual esto se comunicando. Por exemplo, quando Alice estiver
se comunicando com Bob usando criptografia de chaves pblicas, ela precisa saber, com
certeza, que a chave pblica, que supostamente de Bob, de fato dele. Tnhamos
preocupaes semelhantes em nossos protocolos de autenticao apresentados na
Figura 9.12 e na Figura 9.13.
A vinculao de uma chave pblica a uma entidade particular feita, tipicamente, por
uma autoridade certiticadora (certification authority CA), cuja tarefa validar identidades
e emitir certificados. A CA tem as seguintes incumbncias:
1. A CA verifica se uma entidade (pessoa, roteador e assim por diante) quem se diz ser.
No h procedimentos obrigatrios quanto ao modo como deve ser feita a certificao.
Ao tratarmos com uma CA, devemos confiar que ela tenha realizado uma verificao
rigorosa da entidade. Por exemplo, se Trudy conseguisse entrar na autoridade
certificadora Fly-by-night, e simplesmente declarasse Eu sou Alice e recebesse
certificados associados identidade Alice, ento no se deveria dar muita
credibilidade s chaves pblicas certificadas pela autoridade certificadora Fly-by-night.
Por outro lado, seria mais sensato (ou no!) estar inclinado a confiar em uma CA que
faz parte de um programa federal ou estadual. O grau de confiana que se tem na
identidade associada a uma chave pblica equivale apenas ao grau de confiana
depositada na CA e em suas tcnicas de verificao de identidades. Em que rede
emaranhada estamos enredados!
2. Assim que a CA verifica a identidade da entidade, ela cria um certificado que vincula a
chave pblica da entidade identidade. O certificado contm a chave pblica e a
informao exclusiva que identifica mundialmente a chave pblica do proprietrio (por
exemplo, o nome de algum ou um endereo IP). Esses passos so mostrados na
Figura 9.21.
239
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
Vejamos, agora, como os certificados podem ser usados para combater os espertinhos
das pizzas, como Trudy e outros indesejveis. Quando Alice recebe o pedido de Bob, ela
pega o certificado de Bob, que pode estar na pgina Web dele, em uma mensagem de e-mail
ou em um servidor de certificados. Alice usa a chave pblica da CA para verificar se a
chave pblica do certificado de Bob , de fato, de Bob. Supomos que a chave pblica da
CA seja conhecida de todos (por exemplo, poderia ser divulgada em um local conhecido e
de confiana, como no jornal The New York Times, de modo que todos a conheam e que
no possa ser falsificada) e que Alice ento possa ter certeza de que est realmente tratando
com Bob. A Figura 9.21 ilustra os passos envolvidos na criptografia de chaves pblicas
mediada por uma CA.
Tanto a International Telecommunication Union (ITU) quanto a IETF desenvolveram
padres para autoridades certificadoras. Na recomendao ITU X.509, encontramos
especificado um servio de autenticao, bem como uma sintaxe prpria para os
certificados. O RFC 1422 descreve um gerenciamento de chaves baseado em CA para uso
com o e-mail seguro pela Internet. Essa recomendao compatvel com a X.509, mas vai
alm desta, pois estabelece procedimentos e convenes para uma arquitetura de
gerenciamento de chaves. A Tabela 9.1 apresenta alguns campos importantes de um
certificado.
Nome do Campo Descrio
Verso Nmero da verso da especificao X.509
Nmero de Srie Identificador exclusivo emitido pela CA para um certificado
Assinatura Especifica o algoritmo usado pela CA para assinar esse certificado
Identidade da CA que emitiu o certificadom no formato chamado de nome distinto (DN)
Nome do Emissor
especificado no RFC 2253
Perodo de Validade Inicio e fim do perodo de validade de um certificado
Nome do Sujeito Identidade da entidade cuja chave pblica est associada a esse certificado, em formato DN
A chave pblica do sujeito, bem como uma indicao do algoritmo de chave pblica (e
Chave Pblica do Sujeito
parmetros do algoritmo) a ser usado com essa chave
Tabela 9.1 Campos selecionados de um certificado de chave pblica X.509 e RFC 1422.
240
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
241
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
exemplo malicioso apresentado na Seo 9.1 o caso de amor entre Alice e Bob. Nesse
contexto, Alice quer enviar uma mensagem de e-mail para Bob e Trudy quer bisbilhotar a
mensagem.
Antes de avanarmos e projetarmos um sistema de e-mail seguro para Alice e Bob,
devemos considerar quais caractersticas de segurana seriam as mais desejveis para eles.
A primeira caracterstica, e a mais importante, o sigilo. Como foi discutido na Seo 9.1,
nem Alice nem Bob querem que Trudy leia a mensagem de e-mail de Alice. A segunda
caracterstica que Alice e Bob provavelmente gostariam de ver no sistema de e-mail seguro
a autenticao do remetente. Em particular, quando Bob receber a seguinte mensagem de
Alice Eu no o amo mais. Nunca mais quero v-lo. Da anteriormente sua, Alice, ele
naturalmente vai querer ter certeza de que a mensagem veio de Alice, e no de Trudy.
Outra caracterstica de segurana que os dois amantes gostariam de dispor a integridade
de mensagem, isto , a certeza de que a mensagem que Alice enviar no ser modificada no
trajeto at Bob. Por fim, o sistema de e-mail deve fornecer autenticao do receptor, isto ,
Alice quer ter certeza de que ela de fato est mandando a mensagem para Bob, e no para
outra pessoa (por exemplo, Trudy) que possa estar se passando por Bob.
Assim, vamos comear abordando a primeira preocupao de Alice e Bob, ou seja, o
sigilo. A maneira mais direta de consegui-lo Alice criptografar a mensagem por
tecnologia de chaves simtricas (como o DES) e Bob decifrar a mensagem ao receb-la.
Como discutido na Seo 9.2, se a chave simtrica for suficientemente longa e se somente
Alice e Bob possurem a chave, ento ser reduzidssima a possibilidade de algum
(incluindo Trudy) ler a mensagem. Embora essa seja uma abordagem direta, ela apresenta
a dificuldade fundamental que discutimos na Seo 9.2 difcil distribuir chaves
simtricas de modo que apenas Bob e Alice tenham cpias delas. Assim, a criptografia de
chaves pblicas (usando, por exemplo, RSA) , naturalmente, uma ferramenta alternativa.
Na abordagem de chave pblica, Bob disponibiliza publicamente sua chave pblica (por
exemplo, em um servidor de chaves pblicas ou em sua pgina Web pessoal) e Alice
criptografa a mensagem com a chave pblica de Bob, enviando a mensagem cifrada para o
endereo de e-mail de Bob. (A mensagem codificada encapsulada com cabealhos Mime
e enviada sobre SMTP comum.) Quando Bob recebe a mensagem, ele simplesmente a
decifra com sua chave privada. Supondo que Alice tenha certeza de que a chave pblica
que usou a de Bob (e de que esta suficientemente longa), ento essa abordagem um
meio excelente de fornecer o desejado sigilo. Um problema, contudo, que a criptografia
de chaves pblicas relativamente ineficiente, sobretudo para as mensagens longas.
(Mensagens de e-mail longas agora so muito comuns na Internet, devido ao crescimento
do uso de anexos, imagens, udio e vdeo.)
Para superarmos o problema da eficincia, vamos fazer uso de uma chave de sesso
(discutida na Seo 9.5). Em particular, Alice (1) escolhe uma chave simtrica, KS,
aleatoriamente, (2) criptografa sua mensagem m com a chave simtrica KS, (3) criptografa a
chave simtrica com a chave pblica de Bob, eB, (4) concatena a mensagem cifrada e a
chave simtrica cifrada de modo que formem um pacote e (5) envia o pacote ao endereo
de e-mail de Bob. Os passos esto ilustrados na Figura 9.22. (Nessa figura e nas
subseqentes, o sinal + representa a concatenao e o sinal , a desconcatenao.)
Quando Bob receber o pacote, ele vai (1) usar sua chave privada dB para obter a chave
simtrica KS e (2) utilizar a chave simtrica KS para decifrar a mensagem m.
242
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
Agora que projetamos um sistema de e-mail seguro que fornece sigilo, vamos
desenvolver um outro sistema que fornea a autenticao do remetente e a integridade da
mensagem. Vamos supor, no momento, que Alice e Bob no estejam mais preocupados
com o sigilo (querem compartilhar seus sentimentos com todos!) e que estejam somente
preocupados com a autenticao do remetente e com a integridade da mensagem. Para
realizarmos essa tarefa, faremos uso de assinaturas digitais e resumos de mensagem, como
descrito na Seo 9.4. Especificamente, Alice (1) aplica uma funo de hash H (por
exemplo, MD5) sua mensagem m, para obter um resumo de mensagem, (2) criptografa o
resultado da funo de hash com sua chave privada dA, para criar uma assinatura digital, (3)
concatena o original (mensagem no codificada) com a assinatura para criar um pacote e
(4) envia o pacote ao endereo de e-mail de Bob. Quando Bob recebe o pacote, ele (1)
aplica a chave pblica de Alice, eA, ao resumo de mensagem assinado e (2) compara o
resultado dessa operao com o prprio hash H da mensagem. Os passos so ilustrados na
Figura 7.25. Como discutimos na Seo 9.5, se os dois resultados forem os mesmos, Bob
poder estar certo de que a mensagem veio de Alice e no foi alterada.
243
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
pblicas duas vezes: uma vez com sua chave privada e uma vez com a chave pblica de
Bob. De maneira semelhante, Bob aplica a criptografia de chave pblica duas vezes uma
vez com sua chave privada e uma vez com a chave pblica de Alice.
O projeto de e-mail seguro ilustrado na Figura 9.24 provavelmente fornece segurana
satisfatria para os usurios de e-mail na maioria das ocasies. Mas ainda resta uma
questo importante a ser abordada. O projeto da Figura 9.24 requer que Alice obtenha a
chave pblica de Bob e que Bob obtenha a chave pblica de Alice. A distribuio dessas
chaves um problema incomum. Por exemplo, Trudy poderia se disfarar de Bob e dar a
Alice sua chave, dizendo que a chave pblica de Bob. Como aprendemos na Seo 9.5,
uma abordagem popular para distribuir chaves pblicas com segurana certific-las.
Figura 9.24 Alice usa vrias tcnicas para enviar uma mensagem.
244
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
A Figura 9.26 mostra uma mensagem PGP secreta. Essa mensagem tambm aparece
aps o cabealho Mime. claro que a mensagem em texto aberto no est includa na
mensagem de e-mail secreta. Quando um remetente (como Alice) quer no apenas o sigilo,
mas tambm a integridade, o PGP contm uma mensagem como a da Figura 9.26 dentro da
mensagem da Figura 9.25.
245
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
Chamamos de comrcio pela Internet a compra de bens pela Internet. Nesse contexto,
consideramos o termo bens em um sentido muito amplo, que engloba desde livros, CDs,
hardwares, softwares e passagens areas at aes e ttulos, servios de consultoria e assim por
diante. Durante a dcada de 90, muitos sistemas foram projetados para o comrcio pela
Internet, alguns oferecendo nveis mnimos de segurana e outros fornecendo altos nveis de
segurana, acompanhados do anonimato do cliente semelhante ao anonimato oferecido pelas
transaes comerciais pessoais comuns, feitas em dinheiro. No final da dcada de 90, no
entanto, houve uma grande mudana de cenrio, pois apenas alguns desses sistemas foram
amplamente implementados em browsers e servidores. Dois sistemas se firmaram: a SSL, que
correntemente usada na grande maioria das transaes pela Internet, e a SET, a qual se acredita
que concorrer com a SSL nos prximos anos.
O comrcio pela Internet, seja com SSL ou com SET, faz uso extensivo da infra-estrutura
de cartes de pagamento (de crdito e de dbito) que os consumidores, comerciantes e
instituies financeiras usam h muitos anos. H trs participantes importantes nessa infra-
estrutura: o cliente que est comprando um produto, o comerciante que est vendendo o produto
e o banco comercial, que autoriza a compra. Veremos, em nossa discusso a seguir, que o
comrcio pela Internet com a SSL fornece segurana para as comunicaes entre os dois
primeiros participantes (isto , entre o cliente e o comerciante), ao passo que a SET oferece
segurana para as comunicaes entre os trs participantes.
9.7.1 Comrcio pela Internet usando SSL
Vamos considerar um cenrio tpico de comrcio pela Internet. Bob est navegando
pela Web e encontra o site Alice Incorporated, que vende bens durveis. Esse site apresenta
um formulrio no qual Bob deve informar a quantidade desejada, seu endereo e o nmero
do seu carto de pagamento. Bob registra essas informaes, clica em apresentar e,
ento, aguarda o recebimento (digamos, pelo correio convencional) do bem adquirido; ele
tambm espera receber a cobrana da mercadoria na prxima fatura de seu carto de
crdito. Isso tudo parece ser muito bom, mas, se no forem tomadas medidas de
segurana como criptografia ou autenticao Bob poder ter algumas surpresas:
246