Você está na página 1de 74

CENTRO EDUCACIONAL DA FUNDAO SALVADOR ARENA

FACULDADE DE TECNOLOGIA TERMOMECANICA


PROTOCOLOS CRIPTOGRFICOS

SO BERNARDO DO CAMPO, 2008
OUTRAS APOSTILAS EM:
www.projetoderedes.com.br


1
CENTRO EDUCACIONAL DA FUNDAO SALVADOR ARENA
FACULDADE DE TECNOLOGIA TERMOMECANICA
PROTOCOLOS CRIPTOGRFICOS
Trabalho de Concluso de Curso
apresentado pelos alunos Dinarde
Almeida Bezerra e Gustavo Magno de
Sousa, sob orientao da Prof Ms.
Samris Ramiro Pereira, como parte das
exigncias para obteno do grau de
Tecnlogo em Anlise e Desenvolvimento
de Sistemas.



SO BERNARDO DO CAMPO, 2008


2
Catalogao elaborada na fonte pela Biblioteca da Faculdade de Tecnologia
Termomecanica
Bibliotecria: Miriam da Silva Nascimento CRB 8/5347















Tecnlogo em Anlise e Desenvolvimento de Sistemas

Banca Examinadora:
Prof. Francisco J os Martins (presidente, FTT)
Prof. Ms. Fbio Henrique Cabrini (mestre, FTT)

Aprovado em 21/06/2008


Dinarde Almeida Bezerra
e-mail: dinarde@gmail.com

Gustavo Magno de Sousa
e-mail: gusmags@hotmail.com

Bezerra, Dinarde Almeida
Protocolos criptogrficos. Dinarde Almeida Bezerra;
Gustavo Magno de Sousa. So Paulo: FTT, 2008.
74 p. : il. ; 30 cm.

Orientador: Samris Ramiro Pereira
Trabalho de Concluso de Curso Faculdade de
Tecnologia Termomecanica, FTT, Tecnologia em Anlise e
Desenvolvimento de Sistemas, 2008

1. Protocolo criptogrfico. 2. Criptografia. 3. Certificao
digital. I. Pereira, Samris Ramiro. II. Faculdade de
Tecnologia Termomecanica, FTT, Curso de Tecnologia em
Anlise e Desenvolvimento de Sistemas. III. Ttulo







3
DEDICATRIA





















Dedicamos esse trabalho nossa orientadora
Samris Ramiro Pereira que contribuiu
intelectualmente e emocionalmente para que
concretizssemos esse TCC.


4
AGRADECIMENTOS

Agradecemos primeiramente a Deus que nos permitiu chegar at aqui.
Tambm aos nossos pais, familiares, amigos, educadores, colegas de sala, a
nossa orientadora e a todos que contriburam diretamente ou indiretamente.
Agradecemos a toda a estrutura da Fundao Salvador Arena que colaborou
para que alcanssemos o diploma de nvel superior.
Agradecemos, sinceramente, a todos.






5
SUMRIO

1 INTRODUO ................................................................................................................................... 12
1.1 OBJ ETIVOS .............................................................................................................................................. 12
1.2 MOTIVAO ............................................................................................................................................. 12
1.3 PLANO DE TRABALHO ............................................................................................................................... 13
1.4 REFERENCIAL TERICO ........................................................................................................................... 13
2 SEGURANA DA INFORMAO .................................................................................................... 15
2.1 IMPORTNCIA .......................................................................................................................................... 15
2.2 CONCEITOS ............................................................................................................................................. 16
2.3 OBJ ETIVOS .............................................................................................................................................. 18
3 CRIPTOLOGIA................................................................................................................................... 20
3.1 CONCEITOS ............................................................................................................................................. 20
3.2 CIFRAMENTO E DECIFRAMENTO .............................................................................................................. 21
3.3 PANORAMA HISTRICO ........................................................................................................................... 22
3.4 CRIPTOGRAFIA SIMTRICA E PBLICA .................................................................................................... 24
3.4.1 Criptografia simtrica ...................................................................................................................... 25
3.4.2 Tipos de algoritmos de chave simtrica ...................................................................................... 25
3.5 GERADOR DE NMEROS ALEATRIOS .................................................................................................... 30
3.6 CRIPTOGRAFIA DE CHAVES PBLICAS..................................................................................................... 30
3.7 O QUE A CRIPTOGRAFIA NO PODE FAZER ............................................................................................. 33
4 CERTIFICAO DIGITAL ................................................................................................................. 34
4.1 ASSINATURA DIGITAL ............................................................................................................................... 34
4.1.1 Propriedades da assinatura digital ............................................................................................... 35
4.1.2 Verificao da assinatura digital ................................................................................................... 35
4.1.3 Validade jurdica da assinatura digital ......................................................................................... 36
4.2 INFRA-ESTRUTURA DE CHAVES PBLICAS .............................................................................................. 36
4.2.1 ICP-Brasil ......................................................................................................................................... 36
4.2.2 Autoridade Certificadora e Registradora ..................................................................................... 37
4.3 CERTIFICADO DIGITAL ............................................................................................................................. 38
4.3.1 Padro X.509 ................................................................................................................................... 39
4.3.2 Estrutura de um certificado digital ................................................................................................ 39
4.3.3 Aplicaes da certificao digital .................................................................................................. 40
5 PROTOCOLOS CRIPTOGRFICOS ................................................................................................ 42
5.1 PROTOCOLO SSL.................................................................................................................................... 42
5.1.1 Objetivos........................................................................................................................................... 43


6
5.1.2 SSL e a pilha de protocolos TCP/IP ............................................................................................. 44
5.1.3 Protocolo Handshake ..................................................................................................................... 45
5.1.4 Protocolo Change Cipher Spec .................................................................................................... 45
5.1.5 Protocolo de Alerta ......................................................................................................................... 46
5.1.6 Camada de Registro ....................................................................................................................... 47
5.1.7 Como funciona o incio da conexo ............................................................................................. 48
5.1.8 Identificando um stio com SSL .................................................................................................... 50
5.1.9 Certificado gerado pelo OpenSSL ................................................................................................ 51
5.2 IPSEC ...................................................................................................................................................... 51
5.2.1 Security Association ....................................................................................................................... 53
5.2.2 Protocolos ........................................................................................................................................ 53
5.2.3 Funcionamento do protocolo ......................................................................................................... 55
5.2.4 Tecnologias de Criptografia........................................................................................................... 56
5.3 SET ......................................................................................................................................................... 56
5.3.1 Requisitos de negcio .................................................................................................................... 57
5.3.2 Recursos do protocolo ................................................................................................................... 57
5.3.3 Entidades do protocolo .................................................................................................................. 58
5.3.4 Assinatura dupla ............................................................................................................................. 59
5.3.5 Certificados ...................................................................................................................................... 59
6 CONCLUSES .................................................................................................................................. 61
REFERNCIAS ..................................................................................................................................... 63
APNDICE A - TUTORIAL DE INSTALAO E CONFIGURAO APACHE+SSL EM AMBIENTE
WINDOWS ..................................................................................................................................... 68
A.1 INTRODUO ........................................................................................................................................... 68
A.2 INSTALAO ............................................................................................................................................ 68
A.3 CRIANDO CERTIFICADO SSL DE TESTE .................................................................................................. 70
A.4 CONFIGURANDO APACHE PARA SUPORTAR O SSL ................................................................................ 71
A.5 TESTANDO O SERVIDOR APACHE+SSL .................................................................................................. 71



7
LISTA DE FIGURAS

FIGURA 1 - ESQUEMA DE TIPOS DE ATAQUES. ..................................................................................... 19
FIGURA 2 - ESQUEMA DE CIFRAMENTO E DECIFRAMENTO. ................................................................... 23
FIGURA 3 - TELEGRAMA CRIPTOGRAFADO DE ZIMMERMANN. ............................................................... 25
FIGURA 4 - ESQUEMA DE CRIPTOGRAFIA SIMTRICA. ........................................................................... 26
FIGURA 5 - ESQUEMA DE CIFRAMENTO EM BLOCO. .............................................................................. 28
FIGURA 6 - ESQUEMA DE CIFRAMENTO DE FLUXO. ............................................................................... 28
FIGURA 7 - ESQUEMA DE CRIPTOGRAFIA ASSIMTRICA. ....................................................................... 32
FIGURA 8 - ESQUEMA DE ASSINATURA DIGITAL. ................................................................................... 35
FIGURA 9 - ESTRUTURA HIERRQUICA DA AC DO BRASIL. ................................................................... 39
FIGURA 10 - TOKEN E SMARTCARD. ................................................................................................... 40
FIGURA 11 - CERTIFICADO DIGITAL. ................................................................................................... 41
FIGURA 12 - ESQUEMA SEM E COM SSL. ............................................................................................ 43
FIGURA 13 - SSL E A PILHA DE PROTOCOLOS TCP/IP. ........................................................................ 45
FIGURA 14 - CONEXO INICIAL SSL. .................................................................................................. 50
FIGURA 15 - BARRA DE ENDEREOS COM SSL. .................................................................................. 51
FIGURA 16 - BARRA DE STATUS COM SSL. ......................................................................................... 51
FIGURA 17 - PROPRIEDADES DE SEGURANA DE UM STIO. ................................................................. 52
FIGURA 18 - CERTIFICADO GERADO A PARTIR DO SSL. ....................................................................... 53
FIGURA 19 - LOCALIZAO DO IPSEC NA PILHA DE PROTOCOLO TCP/IP. ............................................. 53
FIGURA 20 - PROTOCOLO AH. .......................................................................................................... 55
FIGURA 21 - PROTOCOLO ESP. ........................................................................................................ 55
FIGURA 22 - SA'S CRIADAS EM CONEXO IPSEC. ................................................................................ 56
FIGURA 23 - FORMAS DE FUNCIONAMENTO DO IPSEC. ........................................................................ 56
FIGURA 24 - INTERAO SET. ........................................................................................................... 59
FIGURA 25 - HIERARQUIA DE CERTIFICADOS. ...................................................................................... 60
FIGURA 26 - TELA DE CONFIGURAO INICIAL DO SERVIDOR. ............................................................... 70
FIGURA 27 - ALERTA DE CERTIFICADO DESCONHECIDO. ....................................................................... 73
FIGURA 28 - CERTIFICADO GERADO PARA O SERVIDOR APACHE. .......................................................... 73
FIGURA 29 - ERRO DE VERIFICAO DE DOMNIO. ................................................................................ 74


8
LISTA DE SIGLAS

AC - Autoridade Certificadora
AC-J US - Autoridade Certificadora do J udicirio
AES - Advanced Encryption Algorithm
AR - Autoridade Registradora
CN - Common Name
DES - Data Encryption Standard
DLP - Discrete Logarithm Problem
DoS - Denial of Service
ECDLP - Elliptic Curve Discrete Logarithm Problem
e-NF - Nota Fiscal Eletrnica
HMAC - Keyed-Hashing for Message Authentication Code
HTTP - Hypertext Transfer Protocol
HTTPS- Hypertext Transfer Protocol Secure
ICP - Infra-estrutura de chaves pblicas
IDEA - International Data Encryption Algorithm
IETF - Internet Engineering Task Force
IFP - Integer Factorization Problem
IKE - Internet Key Exchange
INSS - Instituto Nacional de Seguridade Social
IP - Internet Protocol
IPSec - Internet Protocol Security
ITI - Instituto Nacional de Tecnologia da Informao
MAC - Message Authentication Code
MD5 - Message-Digest algorithm 5
MIT - Massachusetts Institute of Technology
MP - Medida Provisria
NIST - National Institute of Standards and Technology
PGP - Pretty Good Privacy
PKI - Public key infrastructure
PKP - Public Key Partners
PRNG - Pseudo-Random Number Generator


9
ProUni - Programa Universidade para Todos
RC4 - Rivest Chipher 4
RC6 - Rivest Chipher 6
RFC - Request For Comments
RNG - Random Number Generator
RSA - Rivest, Shamir e Adleman
SA - Security Association
SET - Secure Electronic Transaction
SHA - Secure Hash Algorithm
SPB - Sistema de Pagamentos Brasileiros
SSL - Secure Sockets Layer
TCP - Transmission Control Protocol
TLS - Transport Layer Security
USC - University of Southern California
XOR - EXclusive OR



10
RESUMO

A internet revolucionou o mundo das comunicaes. Hoje, virtualmente, de
forma segura, podem-se compartilhar documentos, realizar compras, transaes
bancrias, entre uma infinidade de servios. Mas para possibilitar a utilizao correta
destes servios, o homem precisa manter informaes em sigilo, e desta forma a
criptografia ganhou e est continuamente ampliando seu espao. Mas a criptografia
isolada no proporciona um ambiente seguro em um meio inseguro como a internet,
o que fez com que surgissem e se aprimorassem rapidamente os protocolos
criptogrficos. Essa produo acadmica, aps apresentar um breve panorama da
segurana da informao, apresenta os protocolos criptogrficos SSL, IPSec e SET,
visto que estes so uma ferramenta fundamental de segurana, possibilitando a
implementao de tecnologias como assinatura e certificao digital. Para
possibilitar uma viso completa, so apresentados desde conceitos como o de
criptografia, tipos de chave criptogrfica, a infra-estrutura de chaves pblicas e sua
validade jurdica, at um tutorial de instalao e configurao de um servidor seguro
em ambiente Windows atravs das ferramentas Apache e SSL.

Palavras-chave: Protocolo Criptogrfico. Criptografia. Assinatura Digital.
Certificao Digital. SSL. IPSec. SET. Apache.


11
ABSTRACT

The internet has revolutionized the world communications. Today, virtually, in
a safe way, they can be shared documents, to accomplish purchases, bank
transactions, among an infinity of services. But to make possible the correct use of
these services, men need to maintain information in secrecy, and this way the
cryptography won and it is continually enlarging his space. But the isolated
cryptography doesn't provide a safe environment in an insecure way as the internet,
what did with that they appeared and if they perfected the cryptographic protocols
quickly. That academic production, after presenting an abbreviation panorama of the
safety of the information, presents the cryptographic protocols SSL, IPSec and SET,
because these are a fundamental tool of safety, making possible the implementation
of technologies as signature and digital certification. To make possible a complete
vision, they are presented from concepts as the one of cryptography, cryptographic
key types, the infrastructure of public keys and her juridical validity, until an
installation tutorial and configuration of a safe servant in environment windows
through the APACHE tools and SSL.

Keywords: Cryptographic Protocol. Cryptography. Digital Signatures. Digital
Certification. SSL. IPSec. SET. Apache.



12

CAPTULO 1

1 INTRODUO

Com a popularizao dos servios oferecidos na internet, cresceu tambm
nmero de crimes digitais. A necessidade de aumentar a segurana dos servios e
documentos que esto na rede mundial de computadores, fez da infra-estrutura de
segurana da informao e em particular da criptografia, uma obrigao nas
transaes realizadas virtualmente.

1.1 Objetivos

Prover material que possibilite o entendimento de protocolos criptogrficos,
partindo da estrutura de chave simtrica e assimtrica, algoritmo criptogrfico,
assinatura e certificado digital, autoridade certificadora e concluindo com
funcionamento, caractersticas, vantagens, desvantagens e evolues de alguns
protocolos criptogrficos que utilizam tcnicas de segurana e garante integridade
na comunicao on-line.

1.2 Motivao

O nmero de usurios da internet cresce a cada dia. No mesmo ritmo, cresce
o nmero de servios oferecido pela rede mundial de computadores, como
transaes bancrias e servios de compra e venda. Mas como garantir a segurana
nessas aes? No existe uma forma precisa e nica para se garantir a segurana
na internet. Essa assegurada por um conjunto de procedimentos e tecnologias
adequadas a determinada situao. Desta forma, este trabalho foi desenvolvido
visando apresentar meios para tornar o trfego de dados na rede mundial de
computadores mais seguros.




13

1.3 Plano de trabalho

O mtodo utilizado para o desenvolvimento desta pesquisa foi o monogrfico,
tendo como objetivo descrever de forma detalhada o tema, partindo dos conceitos
da criptografia, passando por outros conceitos envolvidos e chegando aos
protocolos criptogrficos atualmente em uso para prover uma conexo segura na
internet e apresentando exemplos prticos.
Para tal, foram realizadas pesquisas em materiais tericos relacionados ao
tema assim como a participao em alguns cursos on-line oferecidos pela Next
Generation Center com o apoio da Intel [15].

O plano de trabalho seguiu os tpicos abaixo:
Levantamento e seleo bibliogrfica, buscando livros, revistas tcnicas,
artigos e trabalhos acadmicos sobre o tema.
Desenvolvimento, com base nas pesquisas realizadas, partindo dos
conceitos iniciais at os mais especficos.
Apresentao de aplicaes.
Concluses do tema, sintetizando a proposta conforme o objetivo.

1.4 Referencial terico

As referncias do trabalho ficaram baseadas em:
Livros tcnicos: Livros renomados da rea como do Burnett e Painel
Criptografia e segurana - O guia oficial RSA, Stephen Thomas SSL and
TLS essencials entre outros;
Produes acadmicas: Diversos trabalhos acadmicos de faculdades
conceituadas como: UNB, UFSC, UFRJ , USP, etc., agregando valor ao
trabalho;
Material corporativo: Materiais de empresas do ramo de segurana da
informao, unindo prtica e teoria, voltada ao meio comercial;
rgos governamentais: Material de stios governamentais na internet, de
rgos que gerenciam a tecnologia da informao brasileira;


14
Curso on-line: Foram realizados dois cursos de Certificao digital e
Segurana da Informao, promovidos pela Intel, no seu programa de
treinamentos Next Generation;
Outros artigos publicados em stios da internet.


15
CAPTULO 2

2 SEGURANA DA INFORMAO

2.1 Importncia

Segurana da Informao um assunto de interesse geral. Burnett e Paine
[5] citam no livro Criptografia e segurana o guia oficial RSA que se algum diz:
No preciso de segurana. No tenho nenhum segredo, nada a ocultar, uma boa
resposta seria OK, deixe-me ver seu pronturio mdico. Que tal seu contracheque,
saldo bancrio, planilha de investimento e faturas de carto de crdito? Deixe-me
anotar seu nmero de CPF, nmeros de carto de crdito e nmeros da conta
bancria? Qual a senha do seu carto bancrio e do seu carto de crdito? Qual
sua senha para conectar-se rede no trabalho? Onde voc mantm a chave
sobressalente da sua casa?.
O fato que toda pessoa tem informaes que quer manter em segredo. s
vezes, a razo simplesmente o desejo de privacidade. Ningum se sente
confortvel tornando pblico detalhes sobre o seu perfil mdico ou financeiro. Outra
boa razo autoproteo - ladres poderiam utilizar informaes confidenciais de
determinada vtima para assalt-la. Em outras palavras, os motivos para uma
pessoa manter um segredo no so necessariamente de m f.
Empresas tambm tm segredos informaes estratgicas, previses de
vendas, detalhes tcnicos sobre produtos, resultados de pesquisas, arquivos
pessoais e assim por diante. Embora empresas desonestas talvez tentem ocultar do
pblico as suas atividades ilcitas, a maioria das organizaes quer proteger suas
informaes valiosas de pessoas que podem estar trabalhando para concorrentes,
hackers e crackers
1

1
Hackers: Pessoas que violam sistemas de forma tica. Visam melhoria e a resoluo de
problemas dos mesmos.
Crackers: Pessoas que violam sistemas a fim de prejudic-los e obter benefcios prprios. Roubam
informaes, como senha bancria.

ou mesmo funcionrios.
Os motivos para invaso de um computador domstico so inmeros [7]:


16
Utilizar o computador em alguma atividade ilcita, para esconder a real
identidade e localizao do invasor;
Utilizar o computador para lanar ataques contra outros computadores;
Utilizar o disco rgido como repositrio de dados;
Destruir informaes (vandalismo);
Disseminar mensagens alarmantes e falsas;
Ler e enviar e-mails em nome de seu real proprietrio;
Propagar vrus de computador;
Furtar nmeros de cartes de crdito e senhas bancrias;
Furtar a senha da conta de provedor do equipamento invadido, para
acessar a Internet se fazendo passar pelo seu usurio;
Furtar dados do computador, como por exemplo, informaes de imposto
de renda.

Os motivos para invaso em uma rede corporativa so inmeros:
Obter informaes sigilosas da empresa;
Acessar e-mails internos da empresa;
Sobrecarregar a rede;
Propagar vrus de computador;
Deixar fora do ar servios providos pela empresa;
Modificar dados empresariais;
Utilizar recursos da empresa para benefcio de terceiros;
Obter dados de funcionrios.

2.2 Conceitos

Segundo FILHO, A. M. S., informao compreende qualquer contedo que
possa ser armazenado ou transferido de algum modo, servindo a determinado
propsito e sendo de utilidade ao ser humano. Trata-se de tudo aquilo que permite a
aquisio de conhecimento. Nesse sentido, a informao digital um dos principais,
seno o mais importante, produto da era atual. Ela pode ser manipulada e
visualizada de diversas maneiras. Assim, medida que a informao digital circula
pelos mais variados ambientes, percorrendo diversos fluxos de trabalho, ela pode


17
ser armazenada para os mais variados fins, possibilitando ela ser lida, modificada ou
at mesmo apagada [10].
A segurana da informao a proteo dos sistemas de informao contra a
negao de servio a usurios autorizados, assim como contra a intruso
2
, e a
modificao no-autorizada de dados ou informaes, armazenados, em
processamento ou em trnsito, abrangendo a segurana dos recursos humanos, da
documentao e do material, das reas e instalaes das comunicaes e
computacional, assim como as destinadas a prevenir, detectar, deter e documentar
eventuais ameaas a seu desenvolvimento [19].
Considera-se ameaa, toda possibilidade de explorao de fragilidades de
sistemas, de forma intencional ou no, podendo ser uma ameaa interna (um
funcionrio que pode explorar os sistemas internos da corporao) ou uma ameaa
externa (algum de fora tentando comprometer os dados da corporao).
J um ataque
1.
, a tentativa, bem ou mal sucedida, de acesso ou uso no
autorizado a um programa ou computador. Tambm so considerados ataques as
tentativas de negao de servio [7].
Classificam-se em:
Ataque ativo
1.1
: informaes so modificadas. Podem ser de vrios tipos, tais
como:
Interrupo
1.2
: O atacante sobrecarrega o sistema, causando lentido e
indisponibilidade dele;
Modificao
1.3
: O atacante obtm dados e os modifica;
Falsidade

: O atacante faz se passar por outra pessoa.
2. Ataque passivo
A figura 1 representa a classificao acima:
: informaes no sofrem modificao, sendo somente
copiadas. Caracteriza-se pela interceptao.

2
Intruso: Acesso no autorizado ao sistema, a fim de compromet-lo ou simplesmente obter
informaes.


18

Figura 1 Esquema de tipos de ataques. Fonte: O autor.

2.3 Objetivos

A segurana da informao tem por objetivo, assegurar uma ou mais, das
seguintes propriedades [23]:
1. Confidencialidade: assegura o sigilo de determinada informao;
2. Integridade: garante que a informao no seja manipulada sem
autorizao. Por manipulao entendem-se incluses, excluses ou modificaes de
dados;
3. Disponibilidade: garante o acesso informao quando esta for requerida
por um usurio legtimo;
4. Autenticao: a idia de autenticao est associada identificao e inclui
autenticao de entidade e de dados. A autenticao de entidade o processo que
associa o indivduo a uma identificao nica, ou seja, a forma pela qual o usurio
prova que quem alega ser, estabelecendo a validao de sua identidade. A
autenticao de dados o processo que identifica como legtimas as informaes
sobre os dados tais como: origem, data de origem, hora de envio, contedo;
5. No repdio: garante que o emissor de uma mensagem ou a pessoa que
executou determinada transao de forma eletrnica, no poder posteriormente


19
negar sua autoria, visto que somente sua chave privada poderia ter gerado aquela
assinatura digital. Deste modo, a menos que haja um uso indevido do certificado
digital, fato que no exime de responsabilidade, o autor no pode negar a autoria da
transao.
6. Legalidade: Outra propriedade que tem sido objetivo da segurana da
informao a legalidade envolvida na situao em questo. Tm-se como
exemplos, que a criptografia proibida em alguns pases, a certificao digital no
reconhecida mundialmente, apresentando regras especificas conforme a
localizao, assim como determinada invaso pode ser crime em um pas e em
outro no.


20
CAPTULO 3

3 CRIPTOLOGIA

3.1 Conceitos

A palavra criptologia deriva da palavra grega kryptos (oculto) e logos (estudo).
Este campo de estudo engloba criptografia e a criptoanlise.
Criptologia: a cincia de estuda as cifras.
Uma cifra no um cdigo. Um cdigo um sistema pr-estabelecido de
substituio de palavras ou de pargrafos. Um idioma estrangeiro, por exemplo,
como um cdigo secreto onde cada palavra em portugus possui uma equivalente
nele. Assim, "oi" em portugus equivale a "hola" em espanhol ou "hi" em ingls. A
maioria dos cdigos funciona com um "livro de cdigos" onde as palavras esto
relacionadas a equivalncias, como se fosse um dicionrio [36].
A palavra cifra vem do hebraico saphar, que significa "dar nmero". As
maiorias dos ciframentos so intrinsecamente sistemticos, freqentemente
baseados em tcnicas de sistemas numricos.
A cifra pode ser visualizada por qualquer pessoa. Porm, a mensagem a ser
transmitida s poder ser decifrada pela pessoa autorizada. Caso a mensagem ou
cifra estivesse oculta, estaria sendo utilizada a tcnica de esteganografia.
Esteganografia: o estudo das tcnicas de ocultao de mensagens dentro
de outras, diferentemente da criptografia, que altera a mensagem de forma a tornar
seu significado original ininteligvel [18].
A esteganografia no considerada parte da criptologia, uma tecnologia de
segurana de informao paralela, sendo usualmente estudada em contextos
semelhantes aos da criptografia e pelos mesmos pesquisadores.
Criptografia: Formada a partir da concatenao do termo grego kryptos
(escondido, oculto) e grapho (grafia, escrita), a criptografia apresenta-se como a
cincia de escrever em cifras, ou seja, a cincia que prov meios atravs de
tcnicas matemticas, para se transformar um texto em claro (inteligvel) em um
texto cifrado (ininteligvel).


21
Criptoanlise: o processo de examinar informaes criptografadas para
tentar determinar qual a mensagem cifrada ou qual a chave que criptografou a
mensagem (que, evidentemente, leva prpria mensagem) [33].
Para muitos autores o grande compromisso da criptografia seria o provimento
da privacidade das comunicaes. De fato, a proteo de comunicaes sensveis
tem sido a nfase da criptografia ao longo de toda histria.
Dentro da criptologia, a cincia da criptografia tem como seu objeto de
estudos os processos de ciframento.
Ciframento: a transformao dos dados em uma forma que torna impossvel
a sua leitura sem o apropriado conhecimento da chave. O seu principal propsito
assegurar privacidade da informao protegendo o entendimento da mensagem
oculta de qualquer um a qual ela no seja destinada [36].
Deciframento: O deciframento o processo inverso do ciframento; a
transformao de dados cifrados novamente em uma forma legvel.
Texto simples: qualquer informao que est escrita de maneira legvel.
Texto cifrado: resultado de um texto simples que passou pelo processo de
ciframento.
Chave:
3.2 Ciframento e deciframento
A chave um cdigo secreto utilizado por algoritmos de ciframento
para criar verses nicas do texto codificado; isto faz com que uma mensagem, ao
ser cifrado com chaves diferentes, apresente textos codificados diferentes [27].


O ciframento e o deciframento so realizados por programas de computador
chamados de cifradores e decifradores. Um programa cifrador ou decifrador, alm
de receber a informao a ser cifrada ou decifrada, recebe um nmero chave que
utilizado para definir como o programa ir se comportar (figura 2). Os cifradores e
decifradores se comportam de maneira diferente para cada valor da chave. Sem o
conhecimento da chave correta no possvel decifrar um texto cifrado. Assim, para
manter uma informao secreta, basta cifrar a informao atravs de um algoritmo
criptogrfico reconhecido pela comunidade tcnica, mantendo todos os cuidados
tcnicos especificados e manter em sigilo a chave [16].



22

Figura 2 - Esquema de ciframento e deciframento. Fonte: [9].

3.3 Panorama Histrico

A criptografia to antiga quanto prpria escrita. J estava presente no
sistema de escrita hieroglfica dos egpcios. Os romanos utilizavam cdigos secretos
para comunicar planos de batalha. O mais interessante que a tecnologia de
criptografia no mudou muito at meados deste sculo [11].
A histria da criptografia da era moderna foi marcada pelo seu uso militar. Em
situaes de guerra nenhum comandante deseja que seus inimigos conheam suas
estratgias caso viesse interceptar uma mensagem.
Em 17 de janeiro de 1917, por exemplo, o servio de Inteligncia Naval
Britnica interceptou, decodificou e entregou aos Estados Unidos uma mensagem
que havia sido enviada ao embaixador alemo na Cidade do Mxico pelo governo
germnico. Na mesma se autorizava ao diplomata a negociar um acordo com o
Mxico para entrar a favor da Alemanha na Primeira Guerra Mundial, com o
propsito de deixar os Estados Unidos neutralizados durante a guerra e tambm ele
propunha ao Mxico convidar o J apo para participar do plano. Em troca, os
mexicanos iriam receber um grande valor financeiro e os territrios de Novo Mxico,
Arizona e Texas caso resultassem vencedores. O texto conhecido como Telegrama
de Zimmermann (figura 3), levou os norte-americanos trocarem sua poltica neutra
pela guerra, o que prova o poder da criptoanlise. Se o telegrama no tivesse sido


23
interceptado e os planos contra os Estados Unidos tivessem dado certo a histria
atual poderia ter sido bem diferente [32] [36].
Na Segunda Guerra Mundial os cdigos da mquina Enigma (mquina
eletromecnica de criptografia com rotores), utilizada pelos alemes, foram
quebrados pelos analistas norte-americanos, o mesmo se dando com os cdigos
utilizados pelos japoneses. Os alemes, na Primeira Guerra venceram os russos
facilmente, por conta disso. Os Estados Unidos conseguiram no perder do J apo
na Segunda Guerra por possurem os cdigos de transmisso deste. Os alemes,
por sua vez, no conseguiram invadir a Inglaterra pelo mesmo motivo. Rommel deve
sua fama de raposa do deserto em parte ao fato de que conseguiu capturar uma
transmisso americana detalhando como era o modo de operao dos britnicos no
deserto [36].
O advento dos computadores, e a capacidade de processamento de dados
sempre crescente, fizeram com que a criptografia se fizesse agora de forma digital.
Em 1976, a IBM desenvolveu um sistema criptogrfico denominado Data
Encryption Standard (DES), que logo foi aprovado pelos rgos de normatizao do
governo americano. O DES baseia-se em elaborados sistemas matemticos de
substituio e transposio os quais fazem com que seja particularmente difcil de
ser rompido um ciframento [36].
O DES um exemplo clssico de criptografia simtrica e o RSA um padro
mundial de criptografia assimtrica ou pblica.
O RSA um sistema criptogrfico de chave pblica amplamente aceito e
divulgado, desenvolvido em abril de 1977, pelos professores do Massachusetts
Institute of Technology (MIT) Ronald Rivest e Adi Shamir e pelo professor da
University of Southern California (USC) Leonard Adleman, batizado com as iniciais
de seus nomes. Mais tarde a patente do RSA foi registrada pelo MIT que a cedem a
um grupo denominado Public Key Partners (PKP) para uso domstico. Esta patente
foi expirada por completo em setembro de 2000 [23].
Em 1991, o programador Phil Zimmermann autorizou a publicao em
boletins eletrnicos e grupos de notcias de um programa por ele desenvolvido e
batizado como Pretty Good Privacy (PGP). O PGP tem como base entre outros o
algoritmo do RSA. Quando Zimmermann publicou o PGP se viu em problemas com
o departamento de estado norte-americano que abriu uma investigao para
determinar se ele havia violado as restries de exportao de criptografia ao


24
autorizar a divulgao do cdigo fonte do PGP na internet. Apesar do mesmo ter se
comprometido a deter seu desenvolvimento, diversos programadores em vrias
partes do mundo continuaram adiante, portando-o para distintas plataformas e
assegurando sua expanso. Stale Schumacher, um programador noruegus, tem se
encarregado das verses internacionais do PGP, que so totalmente compatveis
com sua contraparte norte americana apenas observando o objetivo da legalidade
[36].



Figura 3 - Telegrama criptografado de Zimmermann. Fonte: [32].

Nos dias atuais, com o aumento do comrcio e de transaes eletrnicas que
requerem algum tipo de segurana, a criptografia tornou-se uma ferramenta
fundamental para a utilizao da internet.

3.4 Criptografia Simtrica e Pblica

Existem dois tipos de criptografia conforme a sua chave: Criptografia simtrica
e a criptografia assimtrica ou de chave pblica.



25
3.4.1 Criptografia simtrica

A criptografia de chave simtrica, representada na figura 4, utiliza a mesma
chave para ciframento e deciframento. Dessa forma, a chave deve ser conhecida
tanto pelo remetente quanto pelo destinatrio da mensagem. Nesse fato, reside a
maior dificuldade do mtodo: a distribuio segura das chaves.
Segundo Burnett e Painel em um sistema criptogrfico de chave simtrica, a
chave apenas um nmero qualquer que tenha um tamanho correto e que o
selecione aleatoriamente. Sero detalhadas ainda neste captulo as tcnicas
utilizadas para a gerao de nmeros aleatrios [5].
Se uma pessoa quer se comunicar com outra com segurana, ela deve
passar primeiramente a chave utilizada para cifrar a mensagem. Este processo
chamado de distribuio de chaves, e como a chave o principal elemento de
segurana para o algoritmo, ela deve ser transmitida por um meio seguro.




Figura 4 - Esquema de criptografia simtrica. Fonte: O autor.

3.4.2 Tipos de algoritmos de chave simtrica

H duas formas de se cifrar dados. Atravs de ciframento de bloco ou de
fluxo.


26
Ciframento de bloco

Quando definido para o algoritmo um tamanho de fragmento de dado para
cifrar ou decifrar, ele divide o texto simples em blocos e opera de maneira
independente [5].
Suponha que um texto tenha 227 bytes e utilizado uma ciframento que
opera com blocos de 16 bytes. O algoritmo ir utilizar os 16 primeiros bytes, cifrar,
depois os prximos 16 bytes e assim por diante. Ele realizar esse procedimento 14
vezes sobrando apenas 3 bytes. Contudo, ele s opera com 16 bytes. Ento para
cifrar os ltimos 3 bytes, ser adicionado bytes extras no ltimo bloco para torn-lo
completo. O algoritmo de deciframento dos dados deve ser capaz de reconhecer e
ignorar esse preenchimento.
O esquema mais popular de efetuar esse preenchimento identificar o
nmero de bytes que deve ser preenchido e repetir esse valor at o final dos dados.
No caso acima, ele repetir o byte 13 em cada um dos 13 bytes de preenchimento.
A figura 5 apresenta o esquema de ciframento do exemplo.

Ciframento de fluxo

Na ciframento de fluxo, os dados vo sendo criptografados bit a bit, conforme
as informaes vo chegando. Estes algoritmos so teis quando o transmissor
precisa enviar para o receptor um fluxo contnuo de dados criptografados [38].
Uma operao matemtica L realizada com cada bit da mensagem
separadamente de forma a alterar-lhe o valor, cifrando-a. Essa operao pode ser a
funo XOR ou OU Exclusivo
3

3
XOR ou OU Exclusivo: Operador lgico muito til na criptografia, visto que em 50% dos casos o
resultado 1 e os outros 50% igual a 0. A operao com bits iguais igual a 0 e com bits diferentes
igual a 1: 0 XOR 0 =0 e 0 XOR 1 =1 e 1 XOR 0 =1 e 1 XOR 1 =0 [5].
.
A chave de ciframento deve ser constituda de bits que variam no tempo. Ela
deve ser do mesmo tamanho da mensagem. Na deciframento o processo
semelhante ao de ciframento, bastando apenas aplicar a operao inversa Linv. Na
figura 6 pode ser visualisado o esquema de ciframento e deciframento de fluxo.



27

Figura 5 Esquema de ciframento em bloco. Fonte: O autor.



Figura 6 Esquema de ciframento de fluxo. Fonte: O autor.





28
Ciframento de bloco X ciframento de fluxo

A ciframento de fluxo quase sempre mais rpida e geralmente utiliza bem
menos cdigo do que as de bloco [5].
Por outro lado, com a ciframento de blocos, voc pode reutilizar as chaves.
No ciframento de fluxo utilizar-se a chave apenas uma vez, o que torna o
gerenciamento dessas chaves difcil.
Nenhum tipo melhor que o outro. Se for preciso reutilizar as chaves, o
ciframento de blocos mais adequado. Se for preciso velocidade no precisando
reutilizar a chave, o ciframento de fluxo provavelmente mais indicado.
Na tabela 1, podem-se verificar exemplos dos tipos de ciframento de bloco ou
fluxo, conforme a aplicao.
A criptografia simtrica atinge ao objetivo de confidencialidade, mantendo os
dados seguros, e suas principais vantagens sobre a criptografia de chave pblica [3]:
a) velocidade, pois os algoritmos so muito rpidos, permitindo cifrar uma
grande quantidade de dados em pouco tempo;
b) as chaves so relativamente pequenas e relativamente simples, permitindo
gerar cifradores extremamente robustos;

Enquanto desvantagens podem-se citar [3]:
a) a chave secreta deve ser compartilhada entre emissor e receptor, o que
dificulta o gerenciamento de chaves;
b) no permite autenticao do remetente, uma vez que qualquer pessoa
poder enviar uma mensagem criptografada com qualquer chave que esteja em seu
domnio;
c) no permite o no-repdio do remetente, o que decorrncia direta do item
anterior.

Os principais algoritmos desta classe so [3]:
a) Data Encryption Standard (DES): o algoritmo simtrico mais difundido no
mundo. Criado pela IBM em 1977, com um tamanho de chave de 56 bits,
relativamente pequeno para os padres atuais, por fora bruta em 1997;




29
Aplicao/Tipo de ciframento Exemplo
Banco de dados/Bloco A interoperabilidade com outro software no
uma questo, mas ser preciso reutilizar as
chaves.
E-mail/Bloco (AES) Embora cada mensagem de e-mail tenha sua
prpria chave e possa ser utilizado um ciframento
de fluxo, h um ganho de interoperabilidade em
todos os pacotes de e-mail utilizando o AES
padro.
SSL em conexes Web
4
/Fluxo
(RC4
5
A velocidade extremamente importante, cada
conexo pode ter uma nova chave e
praticamente todos os navegadores e servidores
Web utilizam o algoritmo criptogrfico simtrico
RC4.
)
Ciframento de Arquivos/Bloco
A interoperabilidade no uma questo, porm
pode-se cifrar cada arquivo com a mesma chave
e ento proteger essa chave.

Tabela 1: Utilizao do ciframento de bloco ou fluxo em algoritmos de chave
simtrica. Fonte: [5].

b) Triple DES: Uma variao do DES que utiliza trs ciframentos em
seqncia, empregando chaves com tamanho de 112 ou 168 bits, sendo
recomendado no lugar do DES desde 1993;
c) International Data Encryption Algorithm (IDEA): Criado em 1991, segue as
mesmas idias do DES, mas tem execuo mais rpida que o mesmo.
d) Advanced Encryption Standard (AES): o padro atual para ciframento
recomendado pelo National Institute of Standards and Technology (NIST).
Trabalham com chaves de 128, 192 e 256 bits, que adotou o cifrador Rijndael aps a
avaliao de vrios outros;

4
Web Termo usado para referir-se rede mundial de computadores
5
RC4 um algoritmo de ciframento de fluxo para chave simtrica desenvolvido por Ron Rivest [35].


30
e) RC6 (Rivest Chipher 6): A ltima verso de uma srie de cifradores (RC2,
RC3, RC4, RC5) desenvolvidos por Rivest. Concorreu adoo pelo padro AES.

3.5 Gerador de nmeros aleatrios

Como pode ser visto anteriormente, a chave um nmero gerado
aleatoriamente. Mas como so gerados esses nmeros? Existem duas formas de
ger-los:

Random Number Generator (RNG): So dispositivos que agrupam nmeros
de diferentes tipos de entradas imprevisveis como a medio da desintegrao
espontnea de radioatividade, o exame das condies atmosfricas na vizinhana
ou o clculo de minsculas varincias na corrente eltrica. Esses nmeros passam
por teste de aleatoriedade [5].

Pseudo-Random Number Generator (PRNG): So algoritmos que recebem
sementes
6
3.6 Criptografia de chaves pblicas
para gerar nmeros estatisticamente aleatrios. O que torna esses
nmeros pseudo-aleatrios e no aleatrios a possibilidade de serem repetidos [5].


A criptografia de chaves pblicas, tambm conhecida por criptografia
assimtrica, baseada no uso de pares de chaves para cifrar/decifrar mensagens
[3].
As duas chaves so relacionadas atravs de um processo matemtico,
usando funes unidirecionais com segredo para a codificao da informao. Uma
das chaves, chamada de chave pblica, como o nome j diz, qualquer um pode
conhecer e ter acesso, utilizada para cifrar, enquanto a outra, chamada chave
privada (secreta), utilizada para decifrar (figura 7).

6
Semente: Valor retirado de um sistema do computador que utilizado para alimentar a entrada do
PRNG tais como: hora do dia em milissegundos, estado do computador, nmero de processos,
coordenadas do cursor do mouse entre outros [5].


31
Uma mensagem cifrada com uma chave pblica somente poder ser
decifrada com o uso da chave privada com a qual est relacionada.
Segue a tabela 2:

Funo da Chave Qual Chave? De Quem?
Cifrar os dados para um destinatrio Chave Pblica Do Destinatrio
Assinar a mensagem Chave Privada Do Signatrio
Decifrar os dados para ler a mensagem Chave Privada Do Destinatrio
Verificar a assinatura da mensagem Chave Pblica Do Signatrio

Tabela 2 - Resumo do uso de chaves pblicas e privadas na criptografia
assimtrica. Fonte: [3].



Figura 7 - Esquema de criptografia assimtrica. Fonte: O autor.

Os sistemas criptogrficos de chave assimtrica baseiam-se na dificuldade
que existe em se calcular a operao inversa de determinadas operaes
matemticas. Atualmente existem trs categorias de problemas matemticos a partir
dos quais so construdos os algoritmos de chaves pblicas [3]:
a) fatorao inteira (IFP - Integer Factorization Problem): Dado um nmero n
resultado da multiplicao de dois nmeros primos p e q, a dificuldade consiste em


32
encontrar p e q tendo-se somente n, sendo, todos, nmeros inteiros positivos. Para
nmeros pequenos, um ataque de fora bruta pode facilmente encontrar a soluo,
mas para valores maiores de n (da ordem de 1024 bits), encontrar a soluo no
computacionalmente tratvel. Um dos algoritmos criptogrficos baseados neste
problema o RSA;
b) problema logaritmo discreto (DLP - Discrete Logarithm Problem): Dada a
equao y =g x mod p, onde g um nmero inteiro positivo e p um nmero primo,
ambos conhecidos, a dificuldade dado o valor de y calcular o valor de x. Da
mesma forma que a fatorao inteira, para valores grandes de p; x; y e g, da ordem
de centenas de bits, este clculo torna-se muito difcil. Os esquemas criptogrficos
ElGamal e Diffie-Hellman so baseados neste problema;
c) problema logaritmo discreto sobre curvas elpticas (ECDLP - Elliptic Curve
Discrete Logarithm Problem). Dada a equao Q = l.P mod n, onde P um ponto
sobre a curva elptica E, n a ordem do ponto P, e l um inteiro no intervalo 0 l n -1,
a dificuldade est em se encontrar l sabendo-se P e Q. Basicamente os mesmos
algoritmos desenvolvidos para DLP, podem ser aplicados sobre curvas elpticas.

As principais vantagens da criptografia de chave pblica sobre a simtrica so
[3]:
a) a chave secreta no compartilhada, uma vez que basta a chave pblica
de conhecimento geral para a troca segura de mensagens;
b) prov autenticao, j que possvel validar assinatura com a chave
privada atravs da chave pblica, partindo-se do princpio que a chave privada no
foi distribuda (uma vez que isso no necessrio) para ningum;
c) permite o no-repdio, pois possvel verificar as chaves;
d) escalvel, possibilitando que exista uma hierarquia de controle e
distribuio de chaves, que pode ser facilmente ampliada.

Em contrapartida, existem pelo menos duas grandes desvantagens [3]:
a) lenta, pois os algoritmos, pela sua natureza matemtica, apresentam auto
custo de processamento;
b) requer uma autoridade de certificao, para que se possa garantir a
identidade e ter-se chaves pblicas confiveis.



33
A criptografia assimtrica no substitui a criptografia simtrica. importante
reconhecer e identificar as limitaes de cada mtodo, de forma a utilizar os dois
tipos de maneira complementar para prover a segurana necessria s partes
envolvidas.
A distribuio de chaves pblicas feita atravs de uma infra-estrutura de
chaves pblicas, que ser apresentada a frente.

3.7 O que a criptografia no pode fazer

A criptografia tem um papel importante na segurana da informao, porm
alguns fatores fazem com que ela torne-se vulnervel, tais como [2]:
1. A criptografia no protege arquivos no-criptografados:
2.
Mesmo que se
tenha um servidor Web configurado para utilizar uma forte criptografia no trfego dos
dados, se os arquivos originais armazenados no servidor no estiverem
criptografados, os mesmos se tornam vulnerveis.
A criptografia no pode proteger contra chaves criptogrficas roubadas:
3.

preciso ter uma infra-estrutura segura para a armazenagem da chave criptogrfica,
pois se o atacante tiver acesso chave e conhecer qual foi o algoritmo utilizado na
ciframento, ele pode facilmente decifrar um dado.
A criptografia no pode proteger contra ataques ao servio: Mesmo os
dados estando criptografados, o atacante pode ter outro objetivo do que o de roubar
dados. Ele pode ter como objetivo lanar ataques do tipo de DoS
7
4.
, a fim de deixar o
acesso ao servio, por exemplo, de um banco, indisponvel.
A criptografia no pode proteger de programas modificados:

7
Denial of Service (DoS) ou ataque de negao de servios, consistem em tentativas de impedir
usurios legtimos de utilizarem um determinado servio de um computador [1].
Um atacante
pode modificar programas utilizados em um sistema criptogrfico para produzir
resultados de seu conhecimento. Por exemplo: a Universidade da Califrnia em
Berkeley desenvolveu um ataque onde o Internet Explorer foi modificado para
sempre gerar a mesma chave criptogrfica.


34
CAPTULO 4

4 CERTIFICAO DIGITAL

A Certificao Digital um conjunto de tcnicas e processos que propiciam
mais segurana s comunicaes e transaes eletrnicas, permitindo tambm a
guarda segura de documentos [17].

4.1 Assinatura digital

O mesmo mtodo de autenticao dos algoritmos de criptografia de chave
pblica operando em conjunto com um resumo da mensagem, tambm conhecido
como funo de hash
8
, chamado de assinatura digital (figura 8) [16].
O resumo criptogrfico o resultado retornado por uma funo de hash. Este
pode ser comparado a uma impresso digital, pois cada documento possui um valor
nico de resumo e at mesmo uma pequena alterao no documento, como a
insero de um espao em branco, resulta em um resumo completamente diferente.



Figura 8 - Esquema de assinatura digital. Fonte: [16].


A vantagem da utilizao de resumos criptogrficos no processo de
autenticao o aumento de desempenho, pois os algoritmos de criptografia

8
A funo de hash uma funo que recebe um conjunto de bits que pode ter tamanho variado e
devolve um conjunto de bits de tamanho fixo [37].


35
assimtrica so muito lentos. A submisso de resumos criptogrficos ao processo de
ciframento com a chave privada reduz o tempo de operao para gerar uma
assinatura por serem os resumos, em geral, muito menores que os documentos em
si. Assim, consomem um tempo baixo e uniforme, independente do tamanho do
documento a ser assinado.
Na assinatura digital, o documento no sofre qualquer alterao e o hash
cifrado com a chave privada anexado ao documento.

4.1.1 Propriedades da assinatura digital

So propriedades da assinatura digital [25].
1. A assinatura autntica:
2.
quando um usurio usa a chave pblica de A
para verificar uma mensagem, ele confirma que foi A e somente A quem assinou a
mensagem;
A assinatura no pode ser forjada:
3.
somente A conhece sua chave secreta;
O documento assinado no pode ser alterado:
4.
se houver qualquer
alterao no texto criptografado este no poder ser restaurado com o uso da chave
pblica de A;
A assinatura no reutilizvel:
5.
a assinatura uma funo do documento
signatrio e no pode ser transferida para outro documento;
A assinatura no pode ser repudiada:

o usurio B no precisa de
nenhuma ajuda de A para verificar sua assinatura e A no pode negar ter assinado o
documento.
4.1.2 Verificao da assinatura digital

Para comprovar uma assinatura digital necessrio realizar duas operaes:
calcular o resumo da mensagem do documento e verificar a assinatura com a chave
pblica do signatrio. Se forem iguais, a assinatura est correta, o que significa que
foi gerada pela chave privada corresponde chave pblica utilizada na verificao e
que o documento est ntegro. Caso sejam diferentes, a assinatura est incorreta, o
que significa que pode ter havido alteraes no documento ou na assinatura pblica
[16].



36
4.1.3 Validade jurdica da assinatura digital

A tcnica de assinatura digital uma forma eficaz de garantir autoria de
documentos eletrnicos. Em agosto de 2001, a Medida Provisria (MP) 2.200
garantiu no Brasil a validade jurdica de documentos eletrnicos e a utilizao de
certificados digitais para atribuir autenticidade e integridade aos documentos. Este
fato tornou a assinatura digital um instrumento vlido juridicamente [16].

4.2 Infra-estrutura de chaves pblicas

Infra-estrutura de chaves pblicas (ICP) ou Public Key Infrastructures (PKI)
um ambiente para prover aos negcios eletrnicos condies de viabilidade a fim de
que tenham os mesmos resultados daqueles conferidos aos contratos fora da rede.
Tal recurso viabiliza a autenticao oficial e a integridade do documento, assim
como sua elaborao e a confidencialidade nas operaes e na assinatura digital,
garantindo o valor jurdico e precavendo os envolvidos nas negociaes da recusa
do que foi firmado anteriormente. Alm dos requisitos de segurana, a ICP conta
com leis e decretos elaborados pelo governo federal que possibilitam a legitimidade
do negcio digital, quebrando definitivamente o paradigma do uso da Internet para
transaes financeiras entre empresas e/ou pessoas fsicas [31].

4.2.1 ICP-Brasil

o rgo que regula um conjunto de entidades governamentais ou de
iniciativa privada que so responsveis por assegurar que determinado par de
chaves, privada e pblica, pertence ao indivduo correto [37].
A ICP-Brasil foi instituda pela MP 2.200-2, de 24 de agosto de 2001, que cria
o Comit Gestor da ICP-Brasil, a Autoridade Certificadora (AC) Raiz Brasileira e
define as demais entidades que compem sua estrutura. A partir dessa MP foram
elaborados os regulamentos que regem as atividades das entidades integrantes da
ICP-Brasil: so as Resolues do Comit Gestor da ICP-Brasil, as Instrues
Normativas e outros documentos, que podem ser consultados em legislao [13].


37
A utilizao da tecnologia de assinatura de digital e chave assimtrica pode
ser utilizada sem a necessidade certificao, mas juridicamente ela s valida com
a certificao de uma AC.

4.2.2 Autoridade Certificadora e Registradora

Uma AC uma entidade, pblica ou privada, que estabelece previamente a
identidade do futuro portador do certificado digital (pessoa fsica ou jurdica), por
meio dos documentos necessrios, e emite esse certificado. No mbito do Governo
Federal, a AC, para ter seus certificados legalmente reconhecidos, o que
obrigatrio para transaes com rgos pblicos, tem de ter sido certificada pela AC
Raiz, ou seja, pelo Instituto Nacional de Tecnologia da Informao (ITI), que a
autoridade responsvel por credenciar as demais ACs, supervisionar e fazer
auditoria dos processos para garantir o cumprimento das exigncias de segurana.
O estabelecimento prvio da identidade da pessoa e a aprovao da
solicitao de certificado so feitos por uma Autoridade Registradora (AR),
credenciada por uma AC. Cabe AC estabelecer e fazer cumprir, pelas ARs a ela
vinculadas, as polticas de segurana necessrias para garantir a autenticidade da
identificao feita, bem como emitir os certificados e public-los em repositrio
pblico, ou ainda, renov-los e revog-los, conforme seja o caso [14].

4.2.3 Estrutura hierrquica da AC do Brasil

No topo da estrutura hierrquica encontra-se a AC Raiz (AC Raiz) e, abaixo
dela, as diversas entidades (ACs de primeiro e segundo nvel e AR). Na ICP-Brasil,
a AC Raiz o ITI, que responsvel tambm pela emisso de seu prprio par de
chaves e pela superviso de todos os processos que envolvem a certificao (figura
9) [29].
Atualmente, a ICP Brasil tem credenciadas oito Autoridades Certificadoras de
primeiro nvel (Presidncia da Repblica, Secretaria da Receita Federal, Serpro,
Caixa Econmica Federal, AC J us, Certisign, Imprensa Oficial de So Paulo - Imesp
e Serasa).


38


Figura 9 Estrutura Hierrquica da AC do Brasil. Fonte: [29].

4.3 Certificado digital

O certificado digital um arquivo eletrnico que contm dados de uma
pessoa ou instituio, utilizados para comprovar sua identidade. Este arquivo pode
estar armazenado em um computador ou em outra mdia, como um token ou um
smartcard (figura 10) [7].
Um certificado digital tem dois objetivos: estabelece a identidade do
proprietrio e torna disponvel a chave pblica do proprietrio [12].



39


Figura 10 - Token e Smartcard. Fonte: [6].

4.3.1 Padro X.509

Na certificao digital, os certificados seguem um padro internacional. A
especificao X.509 um padro internacional que especifica o formato dos
certificados digitais, de tal maneira que se possa amarrar firmemente um nome a
uma chave pblica. Na ICP-Brasil utiliza-se certificados no padro X.509 v3 [7].

4.3.2 Estrutura de um certificado digital

Um certificado digital normalmente apresenta as seguintes informaes [16]:
Nome da pessoa ou entidade a ser associada chave pblica;
Perodo de validade do certificado;
Chave pblica;
Nome e assinatura da entidade que assinou o certificado e
Nmero de srie.

A figura 11 apresenta a estrutura de um certificado digital:



40


Figura 11 - Certificado Digital. Fonte: O autor.

4.3.3 Aplicaes da certificao digital


Um exemplo do uso de certificados digitais o servio bancrio provido via
internet. Os bancos possuem certificado para autenticar-se perante o cliente,
assegurando que o acesso est realmente ocorrendo com o servidor do banco. E o
cliente, ao solicitar um servio, como por exemplo, acesso ao saldo da conta
corrente, pode utilizar o seu certificado para autenticar-se perante o banco.
As dez mais populares aplicaes da certificao digital atualmente so [15]:
1 - A Receita Federal permite que o contribuinte acompanhe o andamento da
declarao de Imposto de Renda pela rede, bem como verifique e regularize a
situao fiscal, via web.
2 - Alguns cartrios brasileiros, por meio do sistema de certificao digital,
permitem a solicitao remota de ofcios, certides de escrituras de imveis,
contratos registrados, certides de nascimento, de casamento ou bito, garantindo a
autenticidade, a integridade, a segurana e a eficcia jurdica de todos eles.


41
3 - Vrios bancos utilizam os certificados digitais para garantir mais segurana
aos clientes e usurios dos servios.
4 - Diversas empresas e rgos pblicos usam certificados digitais para
garantir que o stio que o internauta est acessando realmente o buscado,
evitando, por exemplo, que o interessado negocie em um stio clonado.
5 - Com o uso do certificado, pode-se assinar digitalmente mensagem de e-
mail, garantindo ao destinatrio a autoria do remetente e que o contedo no foi
adulterado entre o envio e o recebimento.
6 - Processos judiciais foram acelerados com a criao da Autoridade
Certificadora do J udicirio (AC-J US), que facilitou a utilizao da certificao digital
nos tribunais, conferindo segurana e agilidade aos processos.
7 - O Sistema de Pagamentos Brasileiros (SPB) usa a certificao digital da
ICP-Brasil.
8 - A Nota Fiscal Eletrnica (e-NF) j nasceu atrelada certificao digital.
Essa iniciativa est sendo testada em grandes empresas e dever ser estendida a
todas s pessoas jurdicas. Com isso, haver maior segurana na arrecadao,
reduo de custos em todo o processo, alm da enorme economia de papel.
9 - No ProUni (Programa Universidade para Todos), cada entidade
participante digitalmente autenticada.
10 - O INSS (Instituto Nacional de Seguridade Social), em novembro de 2006,
anunciou que vai usar certificao digital nos escritrios para evitar fraudes.


42
CAPTULO 5

5 PROTOCOLOS CRIPTOGRFICOS

Qualquer sistema criptogrfico quando utilizado apenas para ciframento e
deciframento tem uma utilidade limitada. Para obter uma soluo completa, deve
haver a unio da tecnologia criptogrfica com outras que possibilite soluo para
algum tipo de problema (como envio de mensagens com segurana, autenticao de
usurios, etc.) [34]. Surgiu ento a necessidade de serem criados protocolos que
solucionassem esses problemas. Um protocolo, na cincia da computao, nada
mais que uma padronizao de procedimentos computacionais para haja uma
comunicao entre dois ou mais computadores.
Entende-se por protocolos criptogrficos, aqueles protocolos que se utilizam
de criptografia em um ou mais de seus passos [34]. Tm por objetivo satisfazer
requisitos de segurana e permitir que dois ou mais usurios possam trocar
contedo eletrnico, sem que algum deles possa ter alguma vantagem ilegtima
sobre os demais ou que terceiros consigam acessar indevidamente as informaes
transmitidas entre as entidades [26].

5.1 Protocolo SSL

Secure Sockets Layer (SSL) um protocolo de comunicao que fornece
confidencialidade e integridade na comunicao entre um cliente e um servidor,
atravs do uso de criptografia [7].

Figura 12 Esquema sem e com SSL. Fonte: [35].


43
A Netscape Communications foi a desenvolvedora do SSL a verso inicial foi
lanada em julho de 1994. Distribudo junto os navegadores Netscape e Internet
Explorer e os servidores web mais comuns Apache, NCSA HTTPD, IIS, Netscape
Server etc. [21].
O SSL um protocolo proprietrio, ou seja, seu cdigo fonte restrito ao
desenvolvedor, por isso em 1997 foi criado um grupo de trabalho na internet
Engineering Task Force (IETF), que uma organizao que desenvolve os padres
da Internet, para construir um padro, aberto, que garanta conexes seguras na
internet. Foi padronizado pela RFC2246 e RFC4346. O nome escolhido para esta
verso foi Transport Layer Security (TLS) e baseado no SSL v3 da Netscape, a
seguir algumas diferenas entre os protocolos [8]:
TLS usa o algoritmo keyed-Hashing for Message Authentication Code
(HMAC) enquanto o SSL apenas Message Authentication Code (MAC). O
algoritmo HMAC produz hashes mais seguros que o algoritmo MAC;
No TLS nem sempre necessrio recorrer raiz de uma AC para usar
uma certificao. Pode ser usada uma autoridade intermediria;
O TLS apresenta novas mensagens de alerta [8];
SSL ser o termo utilizado na continuao deste trabalho e aplicado
para ambos os protocolos, exceto se comparados.

5.1.1 Objeti vos

Os objetivos do protocolo SSL, em ordem de prioridade, so [8]:
1. Segurana com criptografia: SSL deve ser usado para estabelecer uma
conexo segura entre duas entidades.
2. Interoperabilidade: Programadores independentes devem conseguir
desenvolver aplicaes utilizando SSL que possam trocar parmetros criptogrficos
sem um conhecer o cdigo do outro.
3. Extensibilidade: SSL busca o fornecimento de uma estrutura (framework),
em que novos mtodos de criptografia simtrica e assimtrica podem ser
adicionados, sem a necessidade da implementao de uma nova biblioteca de
segurana.
4. Eficincia Relativa: Operaes de criptografia, principalmente de chave
pblica, exigem um alto processamento. Sendo assim, o protocolo SSL incorporou


44
um mecanismo de armazenamento para evitar que toda conexo ao ser
estabelecida no precise processar operaes de criptografia. Com isso, reduz-se
tambm a atividade da rede.

5.1.2 SSL e a pilha de protocolos TCP/IP

Como o prprio nome indica (Camada de Soquete Seguro), conexes SSL
agem como soquetes conectados por TCP. Portanto, pode-se pensar a conexo
SSL como conexes TCP seguras desde que o lugar do SSL na pilha de protocolos
imediatamente acima do TCP e logo abaixo da camada de aplicao, como mostra
a figura 13 [30].



Figura 13 - SSL e a pilha de protocolos TCP/IP. Fonte: [20].


O TLS/SSL possui trs subprotocolos que permitem s partes chegarem a um
acordo sobre os parmetros de segurana que sero utilizados na camada de
registro para autenticao, comunicao e para reportar condies de erro entre as
partes.




45
5.1.3 Protocolo Handshake

O protocolo de Handshake responsvel pelos seguintes itens [8]:
Identificador da sesso: uma seqncia de bytes escolhida pelo servidor
para identificar uma sesso ativa ou uma sesso reinicivel.
Mtodo de compresso: qual o mtodo de compresso que ser utilizado
antes da criptografia dos dados.
Cipher Spec: especifica qual o algoritmo de criptografia vai ser utilizado,
por exemplo, DES. Qual algoritmo de MAC (MD5, SHA) que vai ser utilizado.
E define alguns atributos criptogrficos como, por exemplo, o tamanho do
hash.
Chave Mestre (master key): chave secreta de 48 bytes que ser
compartilhada entre o cliente e o servidor.
Is Resumable: semforo que indica se a sesso pode ser utilizada para
iniciar novas conexes.
Com os itens acima so criados os parmetros de segurana para serem
usados pela Camada de Registro para proteger os dados. Muitas conexes
podem ser retomadas usando a mesma sesso, caso essa caracterstica seja
suportada pela mesma. Isso evita que todos os parmetros de segurana
tenham que ser novamente negociados.

5.1.4 Protocolo Change Cipher Spec

O protocolo Change Cipher Spec existe para sinalizar mudanas nas
estratgias de criptografia que estavam sendo utilizadas. Este protocolo formado
por apenas uma mensagem, a qual cifrada e comprimida com os parmetros que
estavam previamente estabelecidos [8].
A mensagem Change Cipher Spec enviada por ambos, cliente e servidor,
para que cada um deles passe a usar as novas regras de criptografia que foram
negociadas.
Um cuidado deve ser tomado ao fazer as alteraes nas estratgias de
criptografia, pois existe a possibilidade de que o primeiro a receber a mensagem de
troca de estratgia possa ainda estar computando uma mensagem que recebeu


46
anteriormente, j que os algoritmos de chave pblica demandam muito
processamento. Para resolver isso, deve ser esperado um tempo antes de mandar
essa mensagem para garantir que o outro lado no perder informaes.

5.1.5 Protocolo de Alerta

Um dos tipos de contedo suportado pela camada de registros do SSL o
contedo de alerta [8].
As mensagens de alerta transportam a importncia do alerta e a descrio do
alerta. Mensagens com importncia denominada fatal resultam imediatamente no
encerramento da conexo. Nesse caso outras conexes correspondendo mesma
sesso podem continuar, mas o identificador da sesso deve ser invalidado,
prevenindo que essa sesso seja utilizada posteriormente para estabelecer novas
conexes.
Assim como as outras mensagens do SSL os alertas tambm so cifrados e
comprimidos de acordo com os parmetros de segurana que esto ativos no
momento em que a mensagem enviada.
Tipos de mensagem de alerta:
1. Alertas de Encerramento: So utilizados para informar s partes que a
conexo ser encerrada, evitando assim ataques por truncamento. Todos os dados
recebidos aps o recebimento de uma mensagem de encerramento so
descartados.
2. Alertas de Erro: O tratamento de erros pelo SSL Handshake Protocol
muito simples. Quando um erro detectado, quem detectou o erro envia um alerta
para o outro lado. Se for um alerta fatal, imediatamente ambos terminam a conexo.
Clientes e servidores devem esquecer quaisquer identificadores de sesses e
chaves secretas associados com uma conexo que falhou. Por conseguinte
qualquer conexo que tenha sido encerrada por um alerta fatal no pode ser
restabelecida.
Exemplos de mensagem de erro so [5]:
unexpected_message

: fatal, indica o recebimento de uma mensagem fora de
ordem;
close_ warning, sinaliza o fechamento de uma conexo SSL;


47
bad_record_mac

: fatal, indica que a verificao do MAC da mensagem
recebida no coincidiu;
decompression_failure

: fatal, indica que o processo de descompactao
resultou num bloco maior que 214 bytes;
handshake_failure

: fatal, indica algum problema na negociao das
informaes de segurana;
no_certificate

: indica que o cliente no possui nenhum certificado que
coincida com os tipos pedidos;
bad_certificate

: indica que o certificado recebido possui uma assinatura no
vlida;
unsupported_certificate

: indica recepo de certificado no suportado;
certificate_revoked

: indica que o certificado foi revogado por quem o assinou;
certificate_expired

: indica que a data de validez do certificado expirou ou, de
que este ainda no esta vlido;
certificate_unknown

: indica qualquer outro problema relacionado com falhas
no certificado;
illegal_parameter

: fatal, indica que algum campo de alguma mensagem
trafegada durante o handshake est fora do seu intervalo ou incoerente com
outro campo.
5.1.6 Camada de Registro

O SSL utiliza esta camada para encapsular todas as mensagens dos demais
protocolos das camadas superiores, explicando a sua independncia com os
protocolos de aplicao, facilitando o desenvolvimento de aplicaes que
necessitam de conexes seguras [8]. Enquanto os protocolos handshaking realizam
a negociao de parmetros de segurana, o protocolo de Registro quem
realmente efetua as operaes necessrias para garantir a segurana da conexo.
O protocolo de Registro recebe as mensagens para serem transmitidas, fragmenta
os dados em blocos, opcionalmente realiza a compresso dos dados, aplica o MAC,
cifra e transmite o resultado. Logicamente, com os dados recebidos, o protocolo de
Registro realiza a decriptao, verificao da integridade, realiza descompresso,
reagrupa os blocos e os entrega para as camadas superiores.


48
5.1.7 Como funciona o incio da conexo

O cliente envia uma hello message (figura 14) para a qual o servidor deve
responder com uma outra hello message, caso contrrio um erro fatal ocorrer e a
conexo falhar. O hello do cliente e o do servidor utilizado para estabelecer
capacidades de segurana entre o cliente e o servidor [30].
Esses hello's estabelecem os seguintes atributos: verso do protocolo,
identificao da sesso, conjunto de cifras e mtodos de compresso.
Adicionalmente, dois valores randmicos so gerados e trocados:
ClientHello.random e ServerHello.random.
A seguir, o servidor enviar o seu certificado, se este for autenticado.
Adicionalmente, uma mensagem de trocas de chave do servidor pode ser enviada,
se necessrio (por exemplo, se o servidor no possuir certificado ou se o seu
certificado for apenas para assinatura). Se o servidor est autenticado, ele pode
solicitar um certificado do cliente.
Agora o servidor enviar uma mensagem hello concludo, indicando que a
fase hello message do handshake est completa. O servidor ir, ento, esperar por
uma resposta do cliente.
Se o servidor tiver enviado uma mensagem de solicitao de certificado, o
cliente deve enviar o seu certificado ou uma mensagem de alerta de que no h
certificado (no_certificate alert). A mensagem de troca de chaves do cliente , ento,
enviada, e o contedo desta mensagem depender do algoritmo assimtrico
escolhido durante o hello do cliente e o hello do servidor. Se o cliente enviou um
certificado com possibilidade de assinatura, uma mensagem de verificao digital do
certificado (digitally-signed cerfiticate verify message) enviada para verificar,
explicitamente, o certificado.
Nesse momento, uma mensagem de mudana de especificao da cifra
enviada pelo cliente, e o cliente copia a Especificao de Cifra (Cipher Spec) da cifra
pendente na Especificao atual. O cliente envia, ento, imediatamente a
mensagem de finalizao, juntamente com os novos algoritmos, chaves e segredos.




49


Figura 14 - Conexo Inicial SSL. Fonte: [20].


Em resposta, o servidor enviar sua mensagem de mudana de Cipher Spec,
transferindo a cifra pendente para a Especificao atual e envia sua mensagem de
finalizao juntamente com a nova Cipher Spec.


50
Nesse momento, o handshake est completo e o cliente e o servidor podem
comear a trocar dados na camada de aplicao.

5.1.8 Identificando um stio com SSL

Existem pelo menos dois itens que podem ser visualizados na janela do seu
navegador, e que significam que os dados transmitidos entre o navegador e o stio
visitado esto dentro de uma sesso segura:
Na parte superior, na barra de endereos, pode se observar que o
endereo digitado comea com HTTPS
9
Na parte inferior, na barra de status, deve aparecer o cadeado (figura 16);
ao invs do HTTP (figura 15);
Nos Browsers atuais, existem mais elementos que mostram o acesso a um
stio seguro como a mudana de cor e a presena do cadeado na barra de
endereos.



Figura 15 Barra de endereos com SSL. Fonte: O autor



Figura 16 Barra de status com SSL. Fonte: O autor

Ao clicar sobre o cadeado possvel visualizar as propriedades de
segurana: identidade do stio, tipo de criptografia utilizada e o certificado de
segurana (figura 17).


9
HTTPS a combinao do protocolo HTTP com o SSL. a maneira mais comum atualmente de
trafegar documentos via HTTP de maneira segura. Prov cifragem de dados, autenticao de
servidor, integridade de mensagem e autenticao de cliente [22].


51


Figura 17 Propriedades de segurana de um stio. Fonte: O autor

5.1.9 Certificado gerado pelo OpenSSL

O OpenSSL um kit de ferramentas que implementa os protocolos SSL e o
TLS, alm de prover diversas ferramentas de criptografia. Apndice A apresenta
como gerar certificados no OpenSSL.
Na figura 18, apresentado um exemplo de um certificado criado no
OpenSSL.

5.2 IPSec

O Internet Protocol Security (IPSec) define um conjunto de protocolos para
implementao de servios de segurana na camada de rede. A figura 19 mostra a
localizao deste protocolo na pilha do TCP/IP.




52


Figura 18 - Certificado gerado a partir do SSL. Fonte: O autor

HTTP POP FTP
TCP
IP/IPSEC

Figura 19 Localizao do IPSec na pilha de protocolo TCP/IP. Fonte: O
autor.

Baseado em padres desenvolvidos pela IETF o IPSec busca garantir
confidencialidade, integridade e autenticidade na comunicao entre dois


53
computadores, mesmo que as informaes trafeguem por um meio no seguro,
como por exemplo, a internet [5].

5.2.1 Security Association

Para transferncias dos dados entre a origem e o destino, o IPSec trabalha
com o conceito de Security Association (SA), trata-se de um tnel no qual sero
enviadas as informaes entre os computadores ou gateways. As SA's so limitadas
a um protocolo por conexo, logo no processo de comunicao entre duas entidades
pode ter mais de uma SA.
Para estabelecer as SA's o IPsec utiliza o protocolo Internet Key Exchange
(IKE), que realiza a negociao entre as entidades e a troca das chaves
criptogrficas, que sero utilizadas nas transaes.

5.2.2 Protocolos

Os servios de segurana oferecido pelo IPSec atravs de seus protocolos
so:
Estabelecer a conexo segura entre origem e destino;
Controle de acesso;
Autenticao da origem dos dados;
No aceita pacotes repetidos;
Criptografia dos pacotes.

Alm do protocolo IKE citado no item de SA, tem-se:

Protocolo AH

Authentication Header (AH) implementa os servios de integridade e
autenticao dos dados, usando algoritmos de chave publica como MD5 e o SHA-1,
com isso ataques do tipo homem-ao-meio
10

10 Homem-ao-Meio O atacante se coloca entre as duas entidades recebendo e falsificando a
mensagens.
so evitados. Uma desvantagem do


54
AH que ele no realiza a cifragem dos dados, essa desvantagem pode ser
corrigida com o uso de outro protocolo o ESP. A figura 20 mostra os campos do AH
[5].


Prximo Cabealho Tamanho do contedo AH Reservado
Parmetros de Segurana
Nmero de seqncia
Dados de Autenticao

Figura 20 Protocolo AH. Fonte: O autor.

Protocolo ESP

Encapsulating Security Payload (ESP) implementa o servio de cifragem dos
dados, confidencialidade, o que garante que somente o destinatrio ter acesso ao
contedo da mensagem, porm o protocolo ESP no verifica a integridade do
cabealho do pacote, j o protocolo AH faz essa checagem. A figura 21 mostra os
campos do ESP.

Parmetros de Segurana
Nmero de seqncia
Dados de Carga
Enchimento
Tamanho do enchimento Prximo Cabealho
Dados de Autenticao

Figura 21 Protocolo ESP. Fonte: O autor.

Para estabelecer uma conexo IPSec com maior segurana, pode-se
implementar os dois protocolos, AH e ESP, mas como as SA's so simplex, ou seja,
os dados s so transferidos em um sentido e suportando, apenas um protocolo, por


55
isso, deve ter uma SA para cada protocolo. Segue a figura 22 com uma ilustrao
das SA's criadas em uma conexo IPSec.

5.2.3 Funcionamento do protocolo

O IPSec opera de duas formas: Transporte e Tnel. A diferena entre os
modos de trabalho que, no modo transporte a SA estabelecida de host
11
para
host, j o modo tnel a SA estabelecida entre os Gateways
12
de cada host. A
figura 23 ilustra o funcionamento do IPSec das duas formas [4].



Figura 22 SA's criadas em conexo IPSec. Fonte: O autor


Figura 23 Formas de funcionamento do IPSec. Fonte: O autor

11
Host Computador conectado a rede.
12
Gateway Equipamento que interliga duas redes.


56
No modo de transporte, a mensagem cifrada, mas o cabealho IP no. A
vantagem que como os dispositivos da rede pblica tem acesso nas informaes
de origem e destino do pacote, processamentos sobre o pacote que viso melhorar
o desempenho do trfego, podem ser implementados. A desvantagem que nesse
modo um atacante pode analisar o trfego, mesmo ela estando cifrada.
No modo de tnel todo o datagrama
13
5.2.4 Tecnologias de Criptografia
, mensagem e cabealho so cifrados.
O que permite que um dispositivo de rede, o gateway de origem, implemente a
segurana do IPSec nos pacotes, realizando a cifragem no lugar dos hosts, e
enviando, atravs da SA, ao gateway de destino que decifra e repassa ao host. A
primeira vantagem que as entidades de destino no precisam ser modificadas para
suportar o IPSec e a segunda proteger contra a anlise de trfego [28].


So tecnologias empregadas pelo IPSec para garantir a segurana [28]:
Mecanismo de troca de chaves de Diffie-Hellman;
Criptografia de chave pblica para assinar as trocas de chave de Diffie-
Hellman, garantindo assim a identidade das duas partes e evitando ataques
do tipo homen-ao-meio;
Algoritmos simtricos para cifragem para grandes volumes de dados, como o
DES;
Algoritmos para clculo de hash com utilizao de chaves, com o HMAC,
combinado com os algoritmos de hash tradicionais como o MD5 ou SHA,
autenticando os pacotes;
Certificados digitais assinados por uma autoridade certificadora, que agem
como identidades digitais.

5.3 SET

O protocolo Secure Eletronic Transaction (SET), que em portugus significa
transaes eletrnicas seguras, foi desenvolvido por um conjunto de empresa,

13
Datagrama bloco de informaes que trafega em uma rede.


57
dentre elas, Visa, Mastercard, IBM e Microsoft. Este protocolo oferece uma estrutura
para proteger as transaes do comercio eletrnico, pois autentica os donos de
cartes de crdito, comerciantes e bancos, define os protocolos e algoritmos para
garantir a integridade e confidencialidade dos dados [24] [5].
O protocolo SET de fcil implementao e no demanda muitas alteraes
nos sistemas das operadoras, bancos e clientes, o que facilita a aceitao no
mercado [24].

5.3.1 Requisitos de negcio

Fornecer confidencialidade para as informaes de pagamento e pedido;
Garantir a integridade dos dados transmitidos;
Autenticar que o usurio do carto realmente dono da conta vinculada a ele;
Montar a estrutura de autenticao entre o comerciante e a sua instituio
financeira, para que o vendedor possa aceitar a transao de pagamento do
cliente, via carto de crdito;
Garantir o uso das melhores prticas e tcnicas de sistemas que protejam as
transaes;
Desenvolver um protocolo que no dependa de segurana no nvel de
transporte e nem evite a utilizao;
Facilitar e incentivar a interoperabilidade para adaptao de softwares e da
rede de comunicao.

5.3.2 Recursos do protocolo

Os recursos necessrios para garantir os requisitos citados acima so:
Confidencialidade garantida com o uso do algoritmo DES;
Integridade garantida com uso de assinaturas digitais utilizando o algoritmo
RSA;
Autenticao do portador do carto realizada com assinaturas digitais e
certificados X.509 v3;
Interoperabilidade permite a utilizao do SET em diversas plataformas de
hardware e software.


58
5.3.3 Entidades do protocolo

Emissor: Instituio financeira que fornece o carto para cliente, ele
responsvel por realizar o pagamento das compras.
Cliente: Pessoa autorizada a utilizar o carto, o protocolo SET fornece os
servios de confidencialidade para as transaes on-line como os comerciantes.
Comerciante: Qualquer entidade que venda produtos e ou servios via
internet e para aceitar o pagamento eletrnico, o comerciante precisa de um banco.
Banco do comerciante: Fornece os servios de processamentos dos
pagamentos para o comerciante, de forma resumida, o banco paga o comerciante e
o emissor paga o banco.
Portal de Pagamento: Processam as mensagens de pagamento do
comerciante, este papel pode ser desempenhado por um terceiro, porm em algum
momento dever existir a interao entre o comerciante e seu banco [5].
A figura 24 ilustra as interaes das entidades do protocolo SET.



Figura 24 Interao SET. Fonte: O autor.




59
5.3.4 Assinatura dupla

Este conceito, tambm conhecido como assinatura dual, foi introduzido pelo
protocolo SET, este tipo de assinatura permite que duas informaes sejam
enviadas para duas entidades diferentes em uma mesma mensagem. Essa tcnica
aplicada quando o cliente envia o pedido para o comerciante, junto com o pedido o
cliente envia tambm as informaes de pagamento, que so destinadas ao portal
de pagamento. Com isso o cliente no pode negar que fez um pedido e nem
comerciante pode cobrar por produtos que no foram solicitados.

5.3.5 Certificados

Os certificados do SET so privados e apenas os sistemas que compatveis
com SET podem interpret-los. Todas as entidades possuem um certificado, para
utilizarem nas transaes. O SET define tambm que os certificados devem ser
gerenciados por uma hierarquia, ilustrada na figura 25. Desta forma, as entidades
podem checar os certificados entre si, utilizando para isso, a chave pblica emitida
pela certificadora de raiz.

Autoridade Certificadora de Raiz



Figura 25 Hierarquia de certificados. Fonte: [5].



60
Com o SET as transaes on-line de compra pela internet ficaram mais
seguras, pois a arquitetura utilizada implementa duas solues importantssimas:
1. Todas as mensagens do processo de compra entre as entidades esto
criptografas, o que impede o acesso informao por elementos que no
faam parte do processo.
2. Implementar a confiana na transao, ou seja, uma entidade ao receber uma
informao pode confirmar a veracidade da mesma, graas ao esquema de
assinaturas digitais.


61
CAPTULO 6

6 CONCLUSES

Ao longo da histria, o homem sempre necessitou ocultar informaes. Um
exemplo so as guerras, onde as informaes no podem cair em mos inimigas.
Surgiu-se ento a necessidade de garantir a segurana da informao. Uma
tecnologia utilizada para este fim a criptografia, que transforma uma informao
legvel a qualquer interessado, em uma informao cifrada.
Com o surgimento dos computadores, desenvolveu-se a criptografia
computacional, tendo em vista manter seguro as informaes geradas e
armazenadas em computadores e assim possibilitar que os objetivos da segurana
da informao sejam alcanados.
A internet e a capacidade de processamento sempre crescente fizeram com
que, a criptografia isoladamente no resolvesse todos os problemas com a
segurana da informao. Impulsionado por esse problema, surgiram ento os
protocolos criptogrficos. Assim, a internet tornou-se um canal seguro para uma
diversa gama de servios.
A certificao digital veio para garantir a autenticidade dos usurios na
Internet e fez com que os protocolos precisassem de adequaes, tornando-os cada
vez mais seguros.
A criptografia um elemento essencial nos protocolos criptogrficos para
garantir a confidencialidade dos dados durante o trfego na rede, sendo utilizada
tanto a criptografia de chave pblica como a simtrica, assim como as funes de
hash criptogrficos.
H uma infinidade de protocolos criptogrficos. No h um melhor que o
outro. Deve ser levada em considerao a aplicao a ser processada sobre ele.
Nesse trabalho foram abordados os protocolos: SSL, IPSec e SET. Os trs,
basicamente, tm o mesmo conceito, mas diferem em alguns aspectos mais
especficos, tais como: O SSL situa-se entre a camada de aplicao e a de
transporte e um software faz a sua implementao, j o IPSec est situado sob a
camada de rede, ele permite o trfego de alguns tipos de dados que o SSL no
permite e sua implementao realizada pelo sistema operacional.


62
No exemplo prtico apresentado nesta monografia, foi adotado o protocolo
SSL, pois ele largamente utilizado por stios na internet. Foi utilizado a ferramenta
OpenSSL para implementar o protocolo e o servidor web mais utilizado do mundo, o
Apache. O Apndice A orienta na instalao e a configurao do Apache para
suportar o SSL, visando apresentar uma maneira de ser instalado e configurado um
servidor seguro para hospedar um stio seguro.
O objetivo desse trabalho foi demonstrar como a internet, que um meio
inseguro, pode tornar-se um ambiente seguro, o que possvel graas ao
surgimento e aperfeioamento contnuo dos protocolos criptogrficos.
Este trabalho teve uma limitao de aprofundamento tcnico devido
complexidade do tema em relao ao curto espao de tempo disponvel e pela
dificuldade de se encontrar exemplos reais e atuais de uso dos protocolos
criptogrficos, devido confidencialidade que as empresas adotam em suas
polticas de segurana da informao. Trabalhos futuros podero fazer uma
abordagem mais prtica de determinado protocolo, a partir deste, no necessitando
abordar toda a teoria envolvida e podendo assim se focar, por exemplo, em uma
implementao em linguagem de programao, como: J ava, PHP ou .NET.













63
REFERNCIAS

[1] ALECRIM, Emerson. Ataques DoS (Denial of Service) e DDoS (Distributed
DoS). Disponvel em: <http://www.infowester.com/col091004.php>. Acesso em: 15
mai. 2008.

[2] ALMEIDA, Andr L. de Souza; SILVA, J ussara R. Freitas. Chave de segurana.
Trabalho de Concluso de Curso (Ps Graduao em Projeto, Suporte e
Administrao de Rede de Computadores) Centro Universitrio de Volta Redonda,
Volta Redonda.

[3] AMARO, George. Criptografia simtrica e criptografia de chave pblica:
Vantagens e desvantagens. Disponvel em:
<http://publica.fesppr.br/index.php/rnti/article/viewFile/33/20>. Acesso em: 06 mar.
2008.

[4] ASSIS, J oo Mrio de. Implementando VPN em Linux. 2003. 76 f. Monografia
(Ps-graduao em Informtica) Universidade Federal de Lavras, Lavras, 2003.

[5] BURNETT, S.; PAINE, S. Criptografia e segurana O guia oficial RSA. 1. ed.
Rio de J aneiro: Campus, 2002.

[6] CERTISIGN. E-CPF. Disponvel em: <www.certisign.com.br>. Acesso em: 29
mar. 2008.

[7] CGI.BR. Cartilha de Segurana para Internet. Disponvel em:
<http://cartilha.cert.br>. Acesso em: 22 mar. 2008.

[8] COUTINHO, Gustavo Lacerda; SILVA, Renan G. Machado e. SSL e TLS.
Disponvel em: <http://gta.ufrj.br/grad/06_1/ssl/>. Acesso em: 20 abr.2008.



64
[9] Criptografia baseada em identidade. Disponvel em:
<http://www.linux.ime.usp.br/~cef/mac499-
04/monografias/rec/cesarse/monografia.html>. Acesso em: 25 fev. 2008.

[10] FILHO, Antonio M. da Silva. Segurana da Informao: Sobre a necessidade de
proteo de Sistemas de Informaes. Revista Espao Acadmico. n 42, nov. 2004.

[11] Histria e aplicao da Criptografia. Disponvel em:
<http://www.absoluta.org/cripty/cripty_h.htm>. Acesso em: 14 mar. 2008.

[12] IBM. Certificados digitais. Disponvel em:
<http://publib.boulder.ibm.com/tividd/td/TRM/GC32-1323-
00/pt_BR/HTML/admin230.htm>. Acesso em: 15 mai. 2008.

[13] ICP-Brasil (Brasil). Apresentao. Disponvel em:
<https://www.icpbrasil.gov.br/apresentacao>. Acesso em: 28 mar. 2008.

[14] ______. O que uma autoridade certificadora. Disponvel em:
<https://www.icpbrasil.gov.br/duvidas/faq/o-que-e-uma-autoridade-certificadora>.
Acesso em: 28 mar. 2008.

[15] INTEL. Curso on-line de Certificao digital. Disponvel em:
<http://www.nextg.com.br>. Acesso em: 31 mar. 2008.

[16] ITI (Brasil). O que certificao digital? Disponvel em:
<http://www.iti.br/twiki/pub/Certificacao/CartilhasCd/brochura01.pdf>. Acesso em: 28
fev. 2008.

[17] ______. Certificao digital.
<acraiz.gov.br/twiki/pub/Certificacao/CartilhasCd/CertificacaoDigital.pdf>. Acesso
em: 19 fev. 2008.

[18] KUNZ, Leonardo. Esteganografia em imagens usando codificao de Huffman.
Disponvel em: <http://www.inf.ufrgs.br/~lkunz/cpd/>Acesso em: 29 fev. 2008.


65

[19] LAUREANO, Marcos A. Pchek. Gesto de Segurana da Informao.
Disponvel em:
<http://www.mlaureano.org/aulas_material/gst/apostila_versao_20.pdf>. Acesso em:
22 mar. 2008.

[20] MAJ , Artur. Apache 2 with SSL/TLS: Step-by-Step, Part 1. Disponvel em:
<http://www.securityfocus.com/infocus/1818&h=778&w=576&sz=64&hl=pt-
BR&start=2&um=1&tbnid=gJ YubZb34HfZeM:&tbnh=142>. Acesso em: 01 mai. 2008.

[21] MENDES, Hammurabi das Chagas. Uma implementao livre do protocolo
SSL. 2003. Trabalho da disciplina Segurana de dados Universidade de Braslia,
Braslia, 2003.

[22] PASTORE, Pablo. HTTPS. Disponvel em:
<http://www.gta.ufrj.br/grad/03_1/http/https.html>. Acesso em: 03 mai. 2008.

[23] PEREIRA, Samris Ramiro. O Sistema criptogrfico de Chave Pblica RSA.
2008. 222 f. Dissertao (Mestrado em Informtica) Universidade Catlica de
Santos, Santos, 2008.

[24] PETRY, Hel. Protocolo SET: Uma soluo para segurana em comrcio
eletrnico. Departamento de Informtica e estatistica Universidade Federal de
Santa Catarina, Florianpolis.

[25] PISTELLI, Daniela. Criptografia. Disponvel em: <www.geekbrasil.com.br>.
Acesso: 8 fev. 2008.

[26] PIVA, Fabio; DAHAB, Ricardo. Verificao formal de protocolos. Disponvel em:
<http://www.prp.unicamp.br/pibic/congressos/xiiicongresso/paineis/016013.pdf>.
Acesso em: 30 mai. 2008.



66
[27] RAPOPORT, Eduardo. VPN Conceitos. Disponvel em:
<http://www.gta.ufrj.br/~rezende/cursos/eel879/trabalhos/vpn/conceitos.html>.
Acesso em: 28 fev. 2008.

[28] ______. IPSec Protocolo de segurana IP. Departamento de Engenharia
Eletrnica e de Computao (DEL) - Escola Politcnica/Universidade Federal do Rio
de J aneiro, Rio de J aneiro, 2003.

[29] RIBEIRO, Gisele. Como funciona o certificado digital? Disponvel em:
<http://informatica.hsw.uol.com.br/certificado-digital3.htm>. Acesso em: 13 abr.
2008.

[30] SILVA, Andr T. Souza. Uma implementao SSL utilizando J SSE. 2004.
Trabalho da disciplina Segurana de dados Universidade de Braslia, Braslia,
2004.

[31] SILVA, Lino Sarlo da. Public Key Infrastructure PKI. Novatec, 2004.

[32] SINGH, Simn. Los cdigos secretos El arte y la cincia de la criptografia,
desde el antiguo Egipto a la era Internet. Disponvel em:
<personal.telefonica.terra.es/web/jms32/cifra/codsecretos>. Acesso em: 22 mar.
2008.

[33] STREBE, Matthew; PERKINS, Charles. Firewall. 1. ed. So Paulo: Makron
Books, 2002. 411 p.

[34] TAROUCO, Liane M. Rockenbach. Protocolos. Disponvel em:
<http://penta.ufrgs.br/gere96/segur2/protocol.htm>. Acesso em: 02 mai. 2008.

[35] THOMAS, Stephen, SSL and TLS Essencials Securing the Web. Estados
Unidos da Amrica: Wiley, 2000.



67
[36] VELOSO, Caio J . Martins. Criptologia Uma cincia fundamental para
tratamento de informaes sigilosas. Disponvel em:
<http://www.modulo.com.br/index.jsp?page=3&catid=17&objid=23&pagenumber=0&i
diom=0>. Acesso em: 14 fev. 2008.

[37] VERISSIMO, Fernando. Um estudo sobre a ICP-Brasil. Rio de J aneiro, 2002.
Disponvel em: <http://www.abc.org.br/~verissimo/textos/icpbrasil.pdf>. Acesso em:
26 mar. 2008.

[38] VILLELA, S. M.; CARVALHO, L. A. V. O resfriamento simulado no projeto timo
de autmatos celulares para a gerao de chaves criptogrficas de fluxo. Disponvel
em: <http://www.cos.ufrj.br/~ines/enia07_html/pdf/27815.pdf> Acesso em: 23 mar.
2008.



68
APNDICE A - Tutorial de instalao e configurao
Apache+SSL em ambiente Windows

A.1 Introduo

Esse tutorial visa mostrar a configurao do servidor Apache, o qual o
servidor HTTP mais utilizado no mundo, para trabalhar com o protocolo SSL.
Para realizar a configurao, ser necessrio fazer o download dos arquivos
de instalao do servidor Apache, OpenSSL, para gerar o certificado e as chaves
que sero utilizadas e o mdulo SSL utilizado no Apache.

A.2 Instalao
Links para download:

apache_2.2.8-win32-x86-no_ssl -
http://ftp.unicamp.br/pub/apache/httpd/binaries/win32/apache_2.2.8-win32-x86-
no_ssl.msi

Win32OpenSSL-0_9_8g.exe -
http://www.slproweb.com/download/Win32OpenSSL-0_9_8g.exe

mod_ssl.so - http://conteudo.imasters.com.br/3465/mod_ssl.so


Servidor Apache

Aps realizado os downloads, o prximo passo ser instalar o Apache.
1. Execute o arquivo de instalao do Apache;
2. Leia e caso concorde com o termo de uso o aceite;
3. A seguir a um breve resumo sobre o Apache, avance para o prximo
passo;
4. Configurar os parmetros iniciais do Apache (figura 26).
Network Domain: Domnio do stio (Ex.: apache.org);


69
Server Name: Nome do servidor (Ex.: www.apache.org);
Administrators E-mail Address: E-mail do administrador do stio (Ex.:
admin@apache.org).



Figura 26 Tela de configurao inicial do servidor. Fonte: O autor


5. Escolha instalao tpica (instalao padro);
6. Escolha o diretrio a ser instalado;
7. Clique em instalar e aguarde o trmino.

OpenSSL

Da mesma forma aps realizado o download execute o arquivo de instalao
do OpenSSL e siga os passos:
1. Leia e caso concorde com o termo de uso aceite-o;
2. Escolha o diretrio onde ser instalado;
3. Criao do atalho no menu iniciar, avance;
4. Clique em instalar e aguarde o trmino.






70
A.3 Criando Certificado SSL de teste

Antes de comear a configurao do SSL no Apache, necessrio criar um
certificado de teste para a sesso segura. Este certificado no tem juridicamente
nenhuma validade, pois ele no gerado por uma AC. Para ter validade ser
necessrio adquirir um certificado SSL para servidor com uma AC.
Abra o Prompt de comando, execute o comando para ir at o diretrio do
OpenSSL: C:\Documents and Settings\Administrador>cd c:\OpenSSL\bin.
Em seguida, crie o certificado que ser utilizado no servidor com seguinte
comando: openssl req -config openssl.cnf -new -out cert_tcc.csr. O cert_tcc.csr
pode ser substitudo pelo nome que voc deseja dar ao certificado. Aps a execuo
do comando, ser gerada a chave privada. Em seguida ser pedida a criao de
uma senha e a confirmao dela. O programa ir verificar e entrar
automaticamente no prximo passo que o preenchimento das propriedades do
certificado:
Nome do pas (2 letras): BR;
Nome do estado (nome completo): So Paulo;
Nome da cidade: So Bernardo do Campo;
Nome da organizao: TCC Protocolo Criptogrfico;
Nome da unidade organizacional: Tutorial SSL;
Nome comum: www.tccpc.com.br;
Endereo de e-mail: admin@tccpc.com.br;
Atributos extras: challenge pass: segredo;
Nome opcional da companhia: tcc.
Depois de gerado o certificado v at o diretrio /bin do OpenSSL, e apague
um arquivo .rnd, porque tem a semente que foi utilizado para gerar a chave.
Retornando ao prompt, execute o comando: openssl rsa -in privkey.pem -out
tccpc.key, para remover a senha da chave (tccpc.key o nome da sua chave para
o servidor, pode ser usado qualquer nome). Ser pedido a senha que foi utilizada na
gerao da chave privada.
Agora execute o comando: openssl x509 -in cert_tcc.csr -out cert_tcc.cert -
req -signkey tccpc.key -days 365. Esse comando assina o certificado e configura o
tempo de validade do certificado.


71
Aps esse comando, v na pasta /bin do OpenSSL e copie os arquivos
tccpc.key e cert_tcc.cert para o diretrio /conf do Apache.

A.4 Configurando Apache para suportar o SSL

Aps gerar o certificado SSL de teste para o servidor, necessrio configurar
o Apache para suportar o SSL.
Antes de abrir o arquivo de configurao, copie para /modules do Apache o
mdulo SSL mod_ssl.so que foi baixado.
Abra o arquivo de configurao do Apache httpd.conf, que est dentro da
pasta /Apache2.2/conf. Localize as linha #LoadModule ssl_module
modules/mod_ssl.so e #Include conf/extra/httpd-ssl.conf e descomente as linha,
ou seja, retire o caractere # no inicio das linhas. Verifique se no arquivo h o bloco
de PRNG abaixo:
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

Salve o arquivo e v at o diretrio /conf/extra/ e abra o arquivo httpd-
ssl.conf.
Localize a linha SSLCertificateFile e troque o certificado padro pelo gerado
anteriormente cert_tcc.cert".
Localize a linha SSLCertificateKeyFile e troque a chave padro pela a
gerada tccpc.key.
Aps essa configurao salve o arquivo e reinicie o servio do Apache (utilize
o Apache Service Monitor).

A.5 Testando o servidor Apache+SSL

Para testar se o servio foi configurado corretamente, abra o seu navegador e
na barra de endereos digite: https://localhost.


72
Se o servidor estiver funcionando, ele dever abrir uma janela de Certificado
de uma AC desconhecida (figura 27), j que o certificado gerado no tem valor
legal.
Nessa tela, tem a opo de visualizar o certificado antes de aceit-lo ou
recus-lo. Clique em Examinar certificado. Dever aparecer o certificado conforme
foi configurado na gerao dele (figura 28).



Figura 27 Alerta de certificado desconhecido. Fonte: O autor.




Figura 28 Certificado gerado para o servidor Apache. Fonte: O autor.


73
Voltando a tela de Certificado desconhecido, h as seguintes opes:
Aceitar permanentemente, aceitar temporariamente e no aceitar o certificado.
Escolha uma das opes de aceite, para iniciar a sesso segura.
Dever aparecer em seguida outra janela de erro (figura 29). Esse erro
devido ao Common Name (CN) ser diferente ao domnio do stio (www.tccpc.com.br
diferente de localhost), clique em OK.



Figura 29 Erro de verificao de domnio. Fonte: O autor


Dever exibir a pgina padro do Apache com a mensagem It works.
Pronto! O servidor Apache+SSL est funcionando e pronto para hospedar stios para
operar em ambiente seguro.

Você também pode gostar