Post on 10-Nov-2018
PR-REITORIA DE PESQUISA E PS-GRADUAO
ESPECIALIZAO EM SEGURANA DA
INFORMAO EM REDES DE COMPUTADORES E
SISTEMAS
ANLISE E IMPLEMENTAO DE SEGURANA APLICADA
COMUNICAO DE MENSAGENS DE TEXTO EM TELEFONIA
MVEL
Marcelo Giusti Tiziano
Presidente Prudente SP
2006
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
PR-REITORIA DE PESQUISA E PS-GRADUAO
ESPECIALIZAO EM SEGURANA DA
INFORMAO EM REDES DE COMPUTADORES E
SISTEMAS
ANLISE E IMPLEMENTAO DE SEGURANA APLICADA
COMUNICAO DE MENSAGENS DE TEXTO EM TELEFONIA
MVEL
Marcelo Giusti Tiziano
Trabalho monogrfico apresentado nocurso de ps-graduao,especializao em Segurana daInformao em Redes deComputadores e Sistemas, comorequisito parcial para sua concluso.rea de concentrao: Cincia daComputao.
Orientador: Prof. Dr. Adilson EduardoGuelfi
Presidente Prudente SP
2006
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
621.385 Tiziano, MarceloANLISE E IMPLEMENTAO DE
SEGURANA APLICADA COMUNICAODE MENSAGENS DE TEXTO EM TELEFONIAMVEL / Marcelo Giusti Tiziano - PresidentePrudente: Unoeste, 2006.
81p.:il.
Monografia (Ps Graduao)Bibliografia
1- Telefone - Medidas de segurana2- Telefonia celular.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
MARCELO GIUSTI TIZIANO
Anlise e Implementao de Segurana Aplicada Comunicao de Mensagens de Texto em Telefonia Mvel
Dissertao apresentada a Pr-Reitoria de Pesquisa e Ps-Graduao, Universidade do OestePaulista, como parte dos requisitosobteno do ttulo de Especialistaem.Segurana da Informao emRedes de Computadores e Sistemas.
PRESIDENTE PRUDENTE, __ DE ________2006.
BANCA EXAMINADORA
___________________________________Prof. Dr. Adilson Eduardo Guelfi.UNOESTE.
________________________________Prof. MSC. Emerson Silas Doria.UNOESTE.________________________________Prof. MSC. Kleber Manrique Trevizani.UNOESTE.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
DEDICATRIA
Dedico este trabalho primeiramente a DEUS que sempre esteve ao meu
lado, aos meus pais Mercedes Giusti Tiziano e Mauro Jos Tiziano, meus avs
maternos Luigi Giusti e Rosa Giusti e meus avs paternos Virginio Tiziano Neto
e Izabel Pavo Tiziano que nunca mediram esforos para que eu pudesse
vencer.
A Camila Pirondi Krasucki, pelo seu amor, carinho, pacincia,
compreenso e apoio.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
AGRADECIMENTOS
Agradeo a meu orientador, sendo um verdadeiro mestre, que no abriu uma
porta e sim vrias, que foi de essencial importncia para realizao deste
trabalho. Aos meus colegas de trabalho, Ricardo Koji Ushizaki, Osmar Tonon,
Gustavo Tadao Okida, e Rafael Shoji que sempre me incentivaram dando
sugestes e criticas construtivas para que o trabalho se realizasse.
Agradeo a todos que contriburam de alguma forma para a realizao deste
trabalho.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
EPGRAFE
No cruze os braos para os obstculos do mundo, pois o maior homem do
mundo morreu de braos abertos.
(Autor Desconhecido)
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
RESUMO
A crescente utilizao da telefonia mvel entre as pessoas para a
comunicao de informaes, desde texto, imagem, som e at informaes
sensveis, torna necessria a utilizao de mecanismos que possibilitem que o
trfego de informaes nessa rede esteja protegido do ponto de vista da
segurana. Para prover a segurana na troca de dados, uma das opes o
uso de mtodos criptogrficos simtricos. Este trabalho tem como objetivo
realizar uma anlise sobre a utilizao de mtodos criptogrficos simtricos na
comunicao segura de mensagens de texto trocadas entre telefones mveis,
mais especificamente os celulares. Os dados trocados so cifrados antes de
serem enviados e decifrados quando recebidos. Foram realizados testes onde
foi verificado o desempenho do programa desenvolvido, e a confidencialidade
das informaes cifradas.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
ABSTRACT
The increasing use of mobile telephone systems among people to
communication, including text, image, sound and secret information, makes
necessary the use of mechanisms that can guarantee the security of
information, and make sure that it will not be violated. To provide security in
data exchanging, the option would be the use of symmetrical cryptographic
methods. The goal of this work is carry out an analysis of the use of
symmetrical cryptographic methods applied to provide a secure text message
communication among mobile telephones. The exchanged data are encrypted
before sending and decrypting when received. Some tests have been made
showing the performance of the implemented program and the confidentiality of
the encrypted information.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
SUMRIO1 INTRODUO............................................................................................ 4
1.1 Motivaes e Justificativas .................................................................. 41.2 Objetivo do Trabalho............................................................................ 51.3 Metodologia ......................................................................................... 51.4 Estruturao do Texto.......................................................................... 6
2 CRIPTOGRAFIA......................................................................................... 72.1 Classificao da Criptografia ............................................................... 8
2.1.1 Criptografia Simtrica ou Convencional...................................... 102.1.2 Criptografia Assimtrica ou de Chave Pblica............................ 152.1.3 Funes Hash............................................................................. 23
2.2 Assinatura Digital ............................................................................... 243 TELEFONIA MVEL ................................................................................ 26
3.1 Telefones Mveis de Primeira Gerao:............................................ 263.2 Telefones Mveis de Segunda Gerao:........................................... 273.3 Telefones Mveis de Terceira Gerao: ............................................ 273.4 Padro TDMA .................................................................................... 28
3.4.1 Integridade e autenticao.......................................................... 283.5 Padro CDMA.................................................................................... 303.6 Padro GSM ...................................................................................... 30
3.6.1 SIM mdulo de identificao do cliente ................................... 313.6.2 Centro de autenticao (AuC) .................................................... 323.6.3 Autenticao............................................................................... 323.6.4 Criptografia ................................................................................. 33
3.7 SMS (Short Message Service)........................................................... 333.8 Sistemas operacionais para dispositivos portteis:............................ 34
3.8.1 Windows Mobile / CE:................................................................. 343.8.2 Symbian:..................................................................................... 363.8.3 PalmOS: ..................................................................................... 39
4 DESCRIO DO PROJETO .................................................................... 414.1 Metodologia do projeto ...................................................................... 414.2 Tecnologias Utilizadas ....................................................................... 41
4.2.1 Java: ........................................................................................... 414.2.2 BOUNCY CASTLE ..................................................................... 44
4.3 Especificao do Projeto ................................................................... 474.3.1 Estrutura das classes utilizadas no projeto................................. 494.3.2 Funcionamento do LRIEncrypt ................................................... 53
4.4 Testes ................................................................................................ 604.4.1 Descrio da metodologia usada................................................ 604.4.2 Detalhes sobre ambiente de testes ............................................ 604.4.3 Funcionamento da aplicao de testes ...................................... 604.4.4 Medidas ...................................................................................... 61
5 CONCLUSO........................................................................................... 64REFERENCIAS BIBLIOGRAFICAS................................................................ 65BIBLIOGRAFIA RECOMENDADA.................................................................. 67
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
ANEXO 1 MTODO GRAVAREGISTRO ..................................................... 68ANEXO 2 MTODO LEREGISTRO.............................................................. 69ANEXO 3 MTODO CIFRAMENSAGEM..................................................... 70ANEXO 4 MTODO DECIFRAMENSAGEM................................................ 70ANEXO 4 MTODO DECIFRAMENSAGEM................................................ 71
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
Lista de Figuras e TabelasFigura 1. Esquema de Funcionamento da Criptografia. Fonte GUELFI (2005).. 8
Figura 2. Esquema de Criptografia Simtrica. Fonte GUELFI (2005). ............... 9
Figura 3 . Esquema de Criptografia Assimtrica. Fonte GUELFI (2005).......... 10
Figura 4. Modelo de Criptografia Convencional. Fonte GUELFI (2005)........... 11
Figura 5. Problema da Distribuio de Chaves em Criptografia Convencional.
Fonte GUELFI (2005)....................................................................................... 12
Figura 6, Mecanismo de Cifragem. Fonte MARGRAVE................................... 14
Figura 7, Mecanismo de Autenticao. Fonte MARGRAVE............................. 15
Figura 8, Mecanismo de gerao de chave. Fonte MARGRAVE..................... 15
Figura 9. Modelo de Criptografia de Chave Pblica. Fonte GUELFI (2005)..... 16
Figura 10. Uso da Criptografia de Chave Pblica para Confidencialidade. Fonte
GUELFI (2005)................................................................................................. 17
Figura 11. Uso da Criptografia de Chave Pblica para Autenticao. Fonte
GUELFI (2005)................................................................................................. 18
Figura 12. Uso da Criptografia de Chave Pblica para Confidencialidade e
Autenticao. Fonte GUELFI (2005). ............................................................... 19
Figura 13 , Sistema AMPS. Fonte ALENCAR (2004)....................................... 26
Figura 14, SIM Card......................................................................................... 31
Figura 15. Autenticao GSM. ......................................................................... 33
Figura 16. SMSC.............................................................................................. 34
Figura 17. Arquitetura de servios criptogrficos do Windows Mobile. Fonte
Microsoft........................................................................................................... 35
Tabela 1: Algoritmos Simtricos suportados pela CryptoAPI. .......................... 36
Tabela 2: Algoritmos hash suportados pela CryptoAPI. ................................... 36
Figura 18. Hierarquia de gerenciamento de certificados no symbian 8.0......... 37
Figura 19. Arquitetura de segurana do symbian 8.0....................................... 38
Figura 20. Vrias edies do Java, Fonte: MUCHOW. .................................... 42
Tabela 3 : Mtodos BlockCipher. ..................................................................... 45
Tabela 4 : Mtodos DESEngine. ...................................................................... 45
Tabela 5: Mtodos BufferedBlockCipher.......................................................... 46
Tabela 6: Mtodos PaddedBufferedBlockCipher. ............................................ 46
Tabela 7: Mtodos Digest. ............................................................................... 47
Tabela 8: Mtodos MD5Digest......................................................................... 47
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
Figura 21. Funcionamento LRIEncrypt............................................................. 48
Figura 22: Protocolo utilizado no projeto.......................................................... 49
Figura 23, Estrutura das classes...................................................................... 49
Figura 24, Modelagem UML do pacote lri.manipula......................................... 50
Figura 25, Modelagem UML do pacote lri.visual. ............................................. 52
Figura 26, Modelagem UML do pacote lri.teste................................................ 53
Figura 27, tela de apresentao. Fazer para todas as telas ............................ 54
Figura 28. Menu principal................................................................................. 54
Figura 29, Nova mensagem. ............................................................................ 55
Figura 30, Alerta de erro de senha................................................................... 55
Figura 31, Alerta de envio de mensagem......................................................... 55
Figura 32, Caixa de Entrada. ........................................................................... 56
Figura 33, Caixa de Sada................................................................................ 56
Figura 34, Informe a senha. ............................................................................. 56
Figura 35, Alerta de senha invlida.................................................................. 57
Figura 36, Alerta Integridade Tamanho Hash Diferente................................... 57
Figura 37, Alerta Integridade Hash Diferente. .................................................. 57
Figura 38, Visualizao de mensagem. ........................................................... 58
Figura 39, Configuraes. ................................................................................ 58
Figura 40, Alerta de configuraes salvas. ...................................................... 59
Figura 41, Desempenho................................................................................... 59
Tabela 9: caractersticas do motorola v185 e tecnologias utilizadas................ 60
Figura 42, Grfico com o 1 Teste de cifragem de mensagem. ....................... 61
Figura 43, Grfico com o 2 Teste de cifragem de mensagem. ....................... 61
Figura 44, Grfico com o 3 Teste de cifragem de mensagem. ....................... 62
Figura 45, Grfico com a mdia de tempo para cifrar mensagens................... 62
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
4
1 INTRODUO
Com o uso cada vez mais freqente de celulares, torna-se necessria a
utilizao de mecanismos que forneam a troca de informaes de maneira segura.
O sistema telefnico tradicional no ser capaz de atender a demanda do
novo mercado, que so os usurios de telefonia mvel. Hoje j so feitas ligaes
de avies, piscinas, do parque, sendo utilizado a telefonia mvel. Mas este mercado
est crescendo constantemente onde no inicio da telefonia celular utilizava-se o
celular apenas para efetuar chamadas telefnicas, e hoje, alm da utilizao do
celular para chamadas telefnicas utiliza-se tambm para jogos, como agenda
telefnica, despertador, tocador de MP3, enviar mensagens instantneas (SMS),
mensagens de voz, navegar na internet e at transaes bancrias, o que ir exigir
cada vez mais um sistema telefnico muito rpido, robusto e seguro. (Tanenbaum,
2003).
Este crescente mercado foi umas das principais motivaes para a escolha
deste tema, bem como, a segurana foi algo que me motivou o desenvolvimento do
trabalho.
1.1 Motivaes e Justificativas
A motivao deste trabalho deve-se ao fato do crescimento da utilizao de
dispositivos mveis no Brasil e no mundo. Segundo a GSM Association em
novembro de 2006 2,1 bilhes o nmero de dispositivos mveis da tencologia GSM
no mundo. Com a grande utilizao de dispositivos moveis, surge tambm a
necessidade que se utilizem mecanismos de segurana onde este trabalho focou o
estudo de mecanismos de segurana em dispositivos mveis, mais especificamente
a troca de mensagens curtas mais conhecidas como SMS (Short Message Service)
entre dispositivos mveis, que um dos diversos servios oferecidos pela telefonia
celular.
Com a maior utilizao da telefonia mvel as aplicaes que envolvem o
trfego, manipulao e acesso a informaes confidenciais, como por exemplo, o
mobile banking, motivou-me ainda mais a realizao deste trabalho onde foi feita
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
5
uma analise da tecnologia de telefonia celular e uma implementao de um sistema
de troca de mensagens SMS cifradas entre duas entidades adicionando assim um
nvel maior de segurana na telefonia mvel.
1.2 Objetivo do Trabalho
Esse projeto tem como objetivo realizar uma anlise da tecnologia de
telefonia celular e a implementao de um sistema com troca de mensagens SMS
(Short Message Service) protegidas por algoritmos de criptografia simtrica e a
utilizao de algoritmos hash para validar a integridade da mensagem, visando
proporcionar a segurana na comunicao entre duas entidades, para isto foi
necessrio o desenvolvimento de um protocolo para a troca de informaes entre as
duas entidades. Para o desenvolvimento foi necessrio adotar a arquitetura Java,
mais especificamente o J2ME.
1.3 Metodologia
A metodologia de desenvolvimento foi realizada em fases:
Para o desenvolvimento inicial deste trabalho foi necessrio o estudo e a
utilizao de ferramentas que fornea mecanismos para que fosse
desenvolvido um sistema de troca de mensagens SMS cifradas, como a
linguagem Java e algumas de suas arquiteturas como J2SE, J2ME, tambm
foi necessrio o estudo e utilizao da biblioteca de criptografia Bouncy
Castle, alm de emuladores e o programa de transferncia de aplicativos
Java para celulares da motorola conhecido como MIDWay, para que fossem
realizados testes na aplicao.
Foi desenvolvido um programa de troca de mensagem SMS com criptografia
simtrica e funes hash, como uma implementao desde estudo.
Foram realizados testes de desempenho do programa desenvolvido em uma
ambiente real, que no caso foi utilizado um celular motorola v185.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
6
1.4 Estruturao do Texto
Este trabalho est estruturado da seguinte maneira:
Criptografia: So apresentados os conceitos bsicos de criptografia simtrica,
criptografia assimtrica, algoritmos hash, assinatura digital e algoritmos
simtricos utilizados na telefonia mvel.
Telefonia Mvel: este captulo ser discutido uma introduo telefonia
mvel, sua evoluo e tecnologias existentes.
Especificao da Arquitetura para Comunicao Segura entre Dispositivos
Mveis
Descrio do Projeto: Neste capitulo abordado assuntos sobre as
tecnologias de telefonia mvel, como por exemplo, Sistemas Operacionais
utilizados na telefonia mvel, linguagens de programao e bibliotecas de
criptografia.
Concluso: Por fim neste capitulo foi descrito os resultados obtidos com as
tecnologias utilizadas no projeto, desempenho da implementao realizada e
futuras implementaes.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
7
2 CRIPTOGRAFIA
Um dos mtodos que ajudam a garantir a segurana dos dados a
criptografia, que a cincia que estuda manerias de escrever informaes em forma
de cdigo secreto.
A criptografia j estava presente no sistema de escrita hieroglfica dos
egpcios. Desde ento vem sendo muito utilizada, principalmente para fins militares
e diplomticos. No mbito da computao importante para que se possa garantir a
segurana em todo o ambiente computacional que necessite de sigilo em relao s
informaes que manipula. Pode ser usada para codificar dados e mensagens antes
que esses sejam enviados por vias de comunicao, para que mesmo que sejam
interceptados, dificilmente podero ser decodificados, garantindo a privacidade.
Os conceitos discutidos no captulo 2 foram sintetizados a partir da referncia
GUELFI (2005).
Sistemas criptogrficos consistem em um grupo de tecnologias que auxiliam
na implementao dos seguintes servios de segurana:
Confidencialidade;
Integridade;
Autenticao (usurio e parceiro);
Autoria;
Irretratabilidade ou no repudio;
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
8
O esquema de funcionamento da criptografia bastante simples, e est
ilustrado na Figura 1. A criptografia representa um processo de transformao, por
meio de um algoritmo e uma chave criptogrfica, tornando uma informao legvel
(plaintext), em uma informao ilegvel, conhecida tambm como criptograma
(ciphertext), ou seja, um criptograma. A chave criptogrfica deve ter um carter
secreto, portanto, somente os indivduos que conhecem tal chave podem ter a
capacidade de decifrar o criptograma e recriar a mensagem original. O processo de
decifrao consiste exatamente no inverso da criptografia, ou seja, por meio de um
algoritmo e chave criptogrfica, consegue-se transformar o criptograma em uma
mensagem legvel.
A maior dificuldade em decifrar um criptograma para obter a mensagem
original reside em descobrir a chave criptogrfica secreta, e no em manter secretas
as tcnicas usadas (algoritmo de criptografia).
Mensagem
Algoritmo deCriptografia
Criptograma
Criptograma
Algoritmo deDecifrao
Mensagem
Chave
Chave
v Decifrao
v Criptografia
Figura 1. Esquema de Funcionamento da Criptografia. Fonte GUELFI (2005).
A mensagem corresponde informao em um formato legvel, sendo, como
por exemplo, textos, programas fontes, programas executveis, imagens, dados etc.
E o criptograma corresponde informao em um formato ilegvel, sendo
representada tambm por uma seqncia de bits nos sistemas de computao.
Abaixo ser discutida a classificao da criptografia, como criptografia
simtrica, criptografia assimtrica, funes hash e assinatura digital.
2.1 Classificao da Criptografia
A criptografia pode ser classificada segundo dois critrios:
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
9
Nmero de chaves utilizadas.
Forma de processamento.
Quanto ao critrio do nmero de chaves utilizadas, a criptografia pode ser
classificada em:
Criptografia Simtrica ou Convencional: neste caso, a mesma chave
criptogrfica usada para cifrar e decifrar a mensagem;
Criptografia Assimtrica ou de Chave Pblica: neste caso, duas chaves (um
par) so usadas, sendo uma para cifrar e a respectiva chave parceira
obrigatoriamente para decifrar a mensagem.
Conforme ilustrado na Figura 2, a criptografia simtrica utiliza uma nica
chave secreta que deve ser compartilhada e de conhecimento somente pelos
parceiros de comunicao, ou seja, ningum mais deve conhecer a chave
criptogrfica K, pois caso isso ocorra est informao poder estar comprometida.
MM
A B
MMESES
K
CCDSDS
K
Chave compartilhadaFigura 2. Esquema de Criptografia Simtrica. Fonte GUELFI (2005).
Conforme ilustrado na Figura 3 , a criptografia de chave pblica ou
assimtrica utiliza duas chaves, cifrando uma mensagem M com a chave1 e
decifrando com a chave2, e vice-versa. Com relao s chaves assimtricas,
normalmente adota-se as seguintes convenes:
Uma das chaves denominada de Chave Privada, a qual deve ter um
carter secreto, estar associada a somente uma dada entidade, e ser de
conhecimento apenas pelo dono da chave;
A outra chave denominada de Chave Pblica, a qual deve ter um carter
pblico, estar tambm associada a somente uma dada entidade por meio da
respectiva chave privada, e ser de conhecimento de todas as outras
entidades.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
10
MM
A B
MMEAEA
Chave1
CCDADA
Chave2
Par de Chaves CriptogrficasFigura 3 . Esquema de Criptografia Assimtrica. Fonte GUELFI (2005).
O critrio da forma de processamento, a criptografia pode ser classificada em
dois tipos:
Por bloco: neste caso, um bloco de bits processado por vez pelo algoritmo
criptogrfico, produzindo assim um bloco de criptograma correspondente;
Stream (fluxo contnuo de informao): neste caso, o algoritmo criptogrfico
processa os elementos da mensagem de forma contnua (bit a bit, ou byte a
byte).
Os algoritmos criptogrficos que processam a mensagem por stream so
mais eficientes em termos de desempenho (velocidade), e costumam ser mais
indicados para a comunicao entre entidades.
2.1.1 Criptografia Simtrica ou Convencional
Mesmo os computadores terem mudado o campo da criptografia, seus
princpios fundamentais permaneceram os mesmos; as mensagens eram
codificadas com uma chave secreta ou compartilhadas e eram decodificadas com a
mesma chave. Esse mtodo, conhecido como criptografia tradicional, ou criptografia
com chave simtrica, funciona bem em aplicaes limitadas, como as militares, em
que o emissor e o receptor podem se preparar antecipadamente para trocar a chave.
Conforme ilustrado na Figura 4, o modelo de criptografia convencional
envolve o compartilhamento da chave K entre as entidades comunicantes (A e B).
Assim, quando a entidade A deseja enviar uma mensagem M confidencial para B,
A deve primeiro gerar a chave K e depois pass-la de forma segura para B (canal
seguro). Somente depois que ambas as entidades comunicantes A e B possuam
a mesma chave criptogrfica K que a mensagem M pode ser enviada com sigilo.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
11
MM
A B
MMEE DD
Canal SeguroK
CC
Figura 4. Modelo de Criptografia Convencional. Fonte GUELFI (2005).
O principal problema da criptografia convencional esta relacionado troca de
chave entre as entidades comunicantes, suponha que uma entidade A esteja
geograficamente localizada na cidade de So Paulo e uma entidade B esteja em
Presidente Prudente interior do estado de So Paulo e estas duas entidade A e B
necessitam se comunicar utilizando mecanismos de sigilo, e o mecanismo escolhido
entre as entidades a criptografia convencional. A entidade A poderia enviar a
chave criptogrfica K para a entidade B por e-mail, telefone ou correio normal,
entretanto, nenhuma destas sugestes suficientemente segura. Uma maneira mais
segura de se trocar chave criptogrfica K seria a entidade A entregar
pessoalmente para a entidade B. No entanto, esta maneira no to atraente, pois
geraria um custo financeiro ainda maior.
Deste modo, pode-se constatar que o principal problema da criptografia
convencional denominado de Problema da Distribuio de Chaves, pois no
existe um meio seguro entre as entidades que se comunicam, de tal forma que a
chave secreta K possa ser transmitida com proteo da origem para o destinatrio.
Conforme ilustrado na Figura 5, um oponente poderia observar, ou mesmo
interceptar, a chave K durante a transmisso de uma entidade A para uma
entidade B, caso isso ocorra o oponente decifraria o criptograma C, tendo assim a
mensagem M trocada entre a entidade A e B.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
12
Oponente
MM
A B
MMEncriptador
(E)Encriptador
(E)Decifrador
(D)Decifrador
(D)
Canal SeguroK
CC
Figura 5. Problema da Distribuio de Chaves em Criptografia Convencional. Fonte
GUELFI (2005).
2.1.1.1 Os algoritmos de chave simtrica
Abaixo ser descrito algoritmos de criptografia simtrica utilizados na
implementa deste projeto e os utilizados na tecnologia GSM.
2.1.1.1.1 DES
O algoritmo DES (Data Encryption Standard) representou o primeiro padro
de criptografia para entidades do governo federal dos EUA. Tal algoritmo foi definido
pelo NIST (National Institute of Standards and Technologies) e pode ser
referenciado nos seguintes documentos:
FIPS 46-3 DES.
FIPS 74 Guia de implementao e uso do DES.
FIPS 81 DES modes of operation.
Atualmente, o algoritmo DES considerado extremamente inseguro, no
sendo recomendado principalmente para transaes financeiras.
O algoritmo TripleDES (TDES) suporta dois tipos de implementao:
Tamanho de chave criptogrfica igual a 168 bits, correspondendo a trs
chaves DES de 56 bits;
Tamanho de chave criptogrfica igual a 112 bits, correspondendo a duas
chaves DES de 56 bits.
O algoritmo TDES com chave criptogrfica de 112 bits permite manter a
compatibilidade com o DES simples, bastando para isto igualar as duas chaves DES
simples (K1 = K2).
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
13
2.1.1.1.2 AES
Segundo GUELFI (2005), o AES (Advanced Encryption Standard), o padro
atual de criptografia utilizado pelas entidades federais dos EUA, substituindo o
padro anterior que era o DES.
Para a escolha de um novo padro foi feito um concurso para escolha de um
novo algoritmo de criptografia simtrica que substitui-se o DES, onde o algoritmo de
criptografia simtrica Rijandael foi o vencedor, que um algoritmo de criptografia
simtrica de bloco, onde este algoritmo processa blocos de dados de 128 bits,
usando chaves com tamanho de 128, 192, 256 bits. Este padro encontra se
referenciado no documento FIPS 197 (NIST, 2001).
2.1.1.1.3 IDEA (International Data Encryption Algorithm)
Criado por X. Lai e J. Massey e um algoritmo com chave simtrica de 128 bits
e processa blocos de dados de 64 bits. Foi projetado para ser eficiente em
implementaes por software. IDEA possui uma estrutura semelhante ao DES,
possuindo um nmero fixo de iteraes (rounds) de uma mesma funo que utiliza
subchaves distintas, e o mesmo algoritmo serve para criptografar e decriptografar
alterando-se apenas a forma de gerao das subchaves. (Tereda, 1999).
De acordo com SCHNEIER, o IDEA significantemente mais seguro que o
DES e como no caso do DES existe uma variante do IDEA que o triplo IDEA.
2.1.1.1.4 RC6
O RC6 foi um dos cinco candidatos finalista do padro AES. Criado por R.
Rivest, M.J.B. Robshaw, R. Sidney, e Y.L. Yin. O RC6 uma variante do RC5, que
foi alterado para concorrer ao padro AES. Na criao do RC6 os autores quiseram
torn-lo mais seguro contra criptoanlise e mais veloz que o RC5, e o RC6 possuem
uma diferena com relao ao esquema de chaves, que gerada mais derivaes
do que no RC5, estas derivaes so chamadas de subchaves. Como o RC5, RC6
foi projetado para qualquer computador de 16 ou 32 ou 64 bits. Possui tambm uma
descrio compacta e adequado para implementaes em software ou hardware.
(RSA Laboratorics, 1998).
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
14
2.1.1.1.5 Algoritmo A5
Segundo SCHNEIER, A5 um algoritmo de criptografia usada para cifrar e
decifrar voz e dados na tecnologia GSM (Global System Mobile). usado cifrar a
ligao do telefone estao base. Originalmente pensou-se que a criptografia da
tecnologia GSM proibiria a exportao dos telefones a alguns pases. Agora esto
discutindo se A5 pde prejudicar vendas de exportao.
A5 consiste em trs LFSRs (Linear Feedback Shift Register), os
comprimentos do registro so 19, 22, e 23. O resultado de sada um XOR dos trs
registros LFSRs. Conforme mostra a Figura 6 utilizado o algoritmo A5 para o
trafego de voz e dados entre o dispositivo mvel e a estao base.
Figura 6, Mecanismo de Cifragem. Fonte MARGRAVE
2.1.1.1.6 Algoritmo A3
O algoritmo A3 utilizado para autenticar o dispositivo mvel na rede de
telefonia celular. A segurana desse algoritmo baseada numa chave privada que
fica armazenada dentro do dispositivo mvel que geralmente tem o comprimento de
128 bits (BARKAN; BIHAM; KELLER).
De acordo com Alencar (2004), o algoritmo A3 usa dois parmetros de
entrada, sendo o primeiro a chave privada do dispositivo mvel (Ki) de 128 bits e o
segundo um nmero aleatrio (RAND) de 128 bits, gerando como sada uma
resposta sinalizada, mais conhecida como SRES, est resposta calculada pela tupla
SRES = (Ki, RAND), onde SRES tem o tamanho de 32 bits. Aps o SRES ser
calculado o dispositivo mvel envia o SRES para a rede, que calcula sua integridade
comparando o SRES gerado no dispositivo mvel com o SRES gerado pelo centro
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
15
de autenticao. A Figura 7 ilustra o processo de autenticao entre o dispositivo
mvel e a rede de telefonia celular.
Figura 7, Mecanismo de Autenticao. Fonte MARGRAVE
2.1.1.1.7 Algoritmo A8
O Algoritmo A8 utilizado para gerar chaves de sesso, como mostra a
Figura 8, onde a chave de sesso calculada pela seguinte tupla Kc = (Ki, RAND),
sendo Ki a chave privada do dispositivo mvel de 128 bits e RAND um nmero
aleatrio de 128 bits, onde Kc tem 64 bits. Note que o algoritmo A8 calculado de
maneira similar ao A3, sendo que no algoritmo A8 gerada uma chave (Kc) de 64
bits e no algoritmo A3 gerado um SRES de 32 bits. (BARKAN; BIHAM; KELLER).
Figura 8, Mecanismo de gerao de chave. Fonte MARGRAVE
2.1.2 Criptografia Assimtrica ou de Chave Pblica
Segundo GUELFI (2005), criptografia assimtrica conhecida tambm por
criptografia de chave publica utiliza duas chaves criptogrficas por cada entidade,
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
16
sendo uma para cifrar e outra para decifrar como ilustrado na Figura 9. Neste caso,
a regra geral do modelo de criptografia de chave pblica estabelece que, se uma
mensagem M for cifrada com uma chave, a nica chave que permite restaurar a
mensagem original a chave parceira, ou seja, caso tenha cifrado uma mensagem
M com a chave privada de uma entidade A, ser necessrio utilizar a chave publica
da entidade A para restaurar a mensagem M, ou vice-versa.
Assim, conforme mostra a Figura 9, cada entidade possui um par de chaves
sendo uma a chave pblica e a outra a chave privada. A chave pblica pode ser de
conhecimento de todos, enquanto que a chave privada deve ser mantida de forma
secreta pela entidade. (GUELFI, 2005).
MM
KPRIBKPRIA
EAEAMM
DADA
KPUBBKPUBA? ?
A BCC
Figura 9. Modelo de Criptografia de Chave Pblica. Fonte GUELFI (2005).
2.1.2.1 Uso da Criptografia de Chave Pblica
A criptografia de chave pblica pode ser utilizada para trs casos:
Confidencialidade
Autenticao
Confidencialidade e Autenticao
2.1.2.2 Confidencialidade
De acordo com GUELFI (2005), ao usar a criptografia de chave pblica para
obter confidencialidade, uma dada entidade tem como objetivo manter o sigilo da
informao em trnsito. Conforme ilustrado na Figura 10, usando criptografia de
chave pblica, uma mensagem M pode ser transmitida de forma confidencial por
meio do seguinte esquema de funcionamento:
O remetente A criptografa a mensagem M utilizando a chave pblica do
destinatrio B;
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
17
O destinatrio B decifra o criptograma C utilizando sua chave privada.
MM
KPRIB
ARemetente
BDestinatrio
KPUBB
EAEA
CC MMDADA
Figura 10. Uso da Criptografia de Chave Pblica para Confidencialidade. Fonte
GUELFI (2005).
Conforme ilustrado na Figura 10 acima se pode observar que para obter
confidencialidade em uma comunicao usando criptografia de chave pblica, basta
o remetente cifrar a mensagem M com a chave pblica do destinatrio. Assim, como
somente o destinatrio conhece sua chave privada, apenas o destinatrio
conseguir restaurar a Mensagem M utilizando sua chave privada, conseguindo
assim obter o nvel de sigilo desejado. (GUELFI, 2005).
2.1.2.3 Autenticao
Segundo GUELFI (2005), ao usar a criptografia de chave pblica para obter
autenticao, uma dada entidade tem como objetivo saber ou identificar o autor de
uma determinada informao recebida.
Conforme ilustrado na Figura 11, usando criptografia de chave pblica, uma
mensagem M pode ser transmitida com autenticao por meio do seguinte esquema
de funcionamento:
O remetente A criptografa a mensagem M com sua chave privada;
A decifrao do criptograma C pode ser realizada por qualquer outra
entidade utilizando a chave pblica do remetente A.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
18
ARemetente
BDestinatrio
KPUBAKPRIA
MM
EAEA
CC MM
DADA
Figura 11. Uso da Criptografia de Chave Pblica para Autenticao. Fonte GUELFI
(2005).
De acordo com GUELFI (2005) Com relao ao nvel de autenticao obtido
no esquema da Figura 11, a autoria da mensagem pode ser admitida se
considerarmos que somente o remetente possui sua chave privada de forma
secreta, ou seja, a chave privada do remetente est associada somente a ele, e no
compartilhada com qualquer outra entidade. Alm disso, o criptograma C no pode
ter sido gerado por outra chave (entidade), pois somente o remetente possui a chave
privada associada chave pblica de decifrao.
O esquema de autenticao da Figura 11 no prov confidencialidade, uma
vez que qualquer entidade pode decifrar a mensagem M original com a chave
pblica do remetente. Este esquema pode ser utilizado para a autenticao de uma
entidade, onde este esquema iria garantir a autenticidade da entidade, como por
exemplo, um sistema de internet baking que enviado a chave publica para o
usurio, sendo assim o usurio poder garantir que est no sistema de internet
banking desejado.
Em resumo, para obter autenticao de uma mensagem transmitida usando
criptografia de chave pblica, basta o remetente cifrar a mensagem M com sua
prpria chave privada.
2.1.2.4 Confidencialidade e Autenticao
Segundo GUELFI (2005), ao usar a criptografia de chave pblica para obter
confidencialidade e autenticao, uma dada entidade tem como objetivo manter
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
19
secreta uma informao em trnsito, e tambm permitir ao destinatrio saber ou
identificar a autoria da informao recebida. Conforme ilustrado na Figura 12,
usando criptografia de chave pblica, uma mensagem M pode ser transmitida com
confidencialidade e autenticao por meio do seguinte esquema de funcionamento:
O remetente A criptografa a mensagem M inicialmente com sua chave
privada e, em seguida, com a chave pblica do destinatrio B;
O destinatrio B decifra o criptograma C2 primeiro com sua chave
privada e, em seguida, o criptograma C1 com a chave pblica do
remetente A;
Este esquema representa uma juno dos dois anteriores.
MM
KPRIB
ARemetente
BDestinatrio
KPUBB
EAEA
C2C2C1C1 C1C1 MM
KPUBAKPRIA
EAEA DADA DADA
Figura 12. Uso da Criptografia de Chave Pblica para Confidencialidade e
Autenticao. Fonte GUELFI (2005).
A confidencialidade obtida na primeira decifrao, pois somente o
destinatrio B pode decifrar o criptograma C2 com sua chave privada, obtendo como
resultado o criptograma intermedirio C1. Por sua vez, a autenticao obtida na
segunda decifrao (C1), pois o destinatrio B pode admitir a autoria da mensagem
por parte entidade A, visto que somente o remetente A poderia ter criptografado a
mensagem M com sua chave privada. (GUELFI, 2005).
2.1.2.5 Criptografia de Chave Pblica - Caractersticas
De acordo com GUELFI (2005), com relao flexibilidade, a criptografia de
chave pblica torna-se bastante interessante devido existncia de duas chaves
criptogrficas, sendo que uma delas pode se tornar pblica, enquanto que a outra se
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
20
mantm secreta, de posse de sua entidade proprietria, sem necessitar de qualquer
aspecto de compartilhamento. Tal caracterstica fundamental para alguns servios,
como por exemplo, a autenticao.
Quanto ao custo computacional, a criptografia de chave pblica
razoavelmente mais lenta do que a criptografia convencional. Em software, a
criptografia de chave pblica cerca de 100 vezes mais lenta do que a criptografia
convencional. Esta diferena aumenta ainda mais quando consideramos criptografia
de chave pblica em hardware, sendo cerca de 1000 vezes mais lenta do que a
criptografia convencional nas mesmas condies. (GUELFI, 2005).
A criptografia de chave pblica radicalmente distinta com relao
criptografia simtrica ou convencional. Entretanto, apesar de todas as vantagens e
servios de segurana que podem ser implementados com a criptografia de chave
pblica, no vivel considerar a criptografia convencional obsoleta por causa de
seu custo computacional mais eficiente.
Quanto ao Problema da Distribuio de Chaves Criptogrficas apresentado
pela criptografia convencional, a criptografia de chave pblica no sofre desta
deficincia em seu esquema.
Portanto, ao utilizar os dois esquemas de criptografia at ento conhecidos
(simtrica e assimtrica), pode-se concluir que a criptografia de chave pblica
consegue resolver o Problema da Distribuio de Chaves Criptogrficas
Convencionais, pois a confidencialidade (canal seguro) na distribuio da chave
secreta K de criptografia simtrica poderia ser obtida por meio da criptografia de K
usando a chave assimtrica pblica do parceiro de comunicao (destinatrio). Este
caso ser visto com maiores detalhes na seo que trata dos algoritmos de troca de
chaves.
Apesar de todas as caractersticas at ento apontadas, os esquemas de
criptografia simtrica e assimtrica ainda no conseguem resolver o problema da
autenticao de entidades. A autenticao de entidades est diretamente vinculada
autenticao da chave pblica, necessitando para isto criar uma ligao legal que
une ou atribui chave pblica a sua respectiva entidade.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
21
2.1.2.6 RSA
O algoritmo de criptografia assimtrica RSA foi inventado por Ron Rivest, Adi
Shamir e Len Adleman em 1978 onde na poca eram professores do Instituto MIT
(Massachusetts Institute of Technology), fundadores da atual empresa RSA Data
Security, Inc., onde o RSA a implementao de algoritmo considerada mais bem
sucedida de sistemas de criptografia assimtrica. considerado tambm um dos
mais seguros, j que foram realizadas vrias tentativas mal sucedidas que
demonstrassem uma falha em seu algoritmo desde sua criao em 1978. Foi
tambm o primeiro algoritmo a possibilitar a assinatura digital, e uma das grandes
inovaes em criptografia de chave pblica. (RSA Laboratory, 2006).
Em traos gerais, so gerados dois pares de nmeros as chaves de tal
forma que uma mensagem cifrada com o primeiro par possa ser apenas decifrada
com o segundo par; mais, o segundo nmero no pode ser derivado do primeiro.
Esta propriedade assegura que o primeiro nmero possa ser divulgado a algum
que pretenda enviar uma mensagem cifrada ao detentor do segundo nmero, j que
apenas essa pessoa pode decifrada a mensagem. O primeiro par designado como
chave pblica, e o segundo como chave secreta. (RSA Laboratory, 2006).
O algoritmo RSA baseia-se no fato de que, se bem que encontrar um nmero
primo aleatrio de grandes dimenses computacionalmente fcil, conseguir fatorar
o produto de tais dois nmeros considerado computacionalmente difcil. De fato,
este algoritmo mostra-se computacionalmente inquebrvel com nmeros de tais
dimenses, e a sua fora geralmente quantificada com o nmero de bits utilizados
para descrever tais nmeros. Implementaes atuais superam os 1024 bits e mesmo
os 2048 bits que so padres adotados pelo ITI (Instituto Nacional de Tecnologia Da
Informao). (ITI, 2006)
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
22
2.1.2.7 IBE
STANFORD, em 1984 A. Samir criou um novo esquema de criptografia de
chaves publicas onde pode ser resumido em quatro etapas:
Gerar a chave pblica com os parmetros, essa chave publica pode ser uma
combinao de dados da entidade como o seu e-mail, ou o e-mail mais uma
data.
Gerar a chave privada correspondente extraindo as informaes da chave
publica.
Cifrar as mensagens com a chave pblica.
Decifrar a mensagem com a chave privada correspondente.
Pode-se observar neste momento que a maior diferena a chave publica
onde ela pode ser construda por parmetros como um e-mail, e essa a maior
vantagem do esquema IBE, pois no necessrio gerar uma chave publica como
uma seqncia de bits e sim algum dado conhecido, com isso simplificando o
gerenciamento de chaves pblicas. Pode se utilizar o esquema de IBE inclusive para
dar validade s chaves, por exemplo, gerar a chave publica com o e-mail mais uma
data de expirao da mesma. O esquema IBE utiliza curvas elpticas para garantir a
segurana, onde G1 X G1 G2 onde G1, G2 so nmeros grandes e considerados
fortes. A utilizao de curvas elpticas deve-se ao caso de que h um mapeamento
bi linear computvel, em um determinado ponto da curva h apenas outro
correspondente.
Vamos denotar que o par de chaves publica/privada seja (R, s), onde R G1,
s Fq e P um ponto fixo em G1 de conhecimento pblico, tambm so utilizados
Hashing sendo H1: {0,1} * G1; H2: {0,1} * Fq; H3: G2 {0,1} *. Funes Hash
sero vista no prximo tpico.
Na IBE tambm utilizado uma Autoridade Certificadora de confiana, com
sua respectiva chave publica/privada (RTA, sTA).
Agora vamos ver um exemplo de cifrar um texto utilizando IBE. Iremos utilizar
a Alice e Bob como entidades que querem trocar uma mensagem.
Para Alice enviar uma mensagem para Bob ela tem algumas informaes
publicas e necessita fazer alguns clculos, como descritos abaixo:
Informaes Publicas:
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
23
o P, que um ponto fixo em G1;
o RTA, que a chave publica da CA;
o QBob, que a chave pblica de Bob, que pode ser Bob@unoeste.br.
Alice calcularia:
o U = rP, sendo r um elemento aleatrio de Fq;
o V = m H3(t(RTA, QBob)).
o ciphertext seria ento o (U, V).
Para decifrar a mensagem Bob faria o seguinte calculo:
o M = V H3(t(U, sBob)).
2.1.3 Funes Hash
Uma funo hash uma equao matemtica que utiliza texto (tal como uma
mensagem de e-mail) para criar um cdigo chamado message digest (resumo de
mensagem). Alguns exemplos conhecidos de funes hash: MD4 (MD significa
message digest), MD4, MD5, SHA e SHA1. Uma funo hash utilizada para
autenticao digital deve ter certas propriedades que a tornem segura para uso
criptogrfico. Especificamente, deve ser impraticvel encontrar texto conhecido seu
hash, ou seja, mesmo que voc conhea o message digest, no conseguir decifrar
a mensagem. Duas mensagens distintas que do um hash ao mesmo valor. A
capacidade de descobrir uma mensagem que d um hash a um dado valor
possibilita a um agressor substituir uma mensagem falsa por uma mensagem real
que foi assinada. Permite ainda que algum rejeite de forma desleal uma
mensagem, alegando que, na realidade, ele ou ela assinou uma mensagem
diferente, dando um hash ao mesmo valor e violando assim a propriedade de no-
repdio ou no rejeio das assinaturas digitais.
A capacidade de descobrir duas mensagens distintas que dem um hash ao
mesmo valor possibilita um tipo de ataque no qual algum induzido a assinar uma
mensagem que d um hash ao mesmo valor como sendo outra mensagem com um
contedo totalmente diferente (OIKAWA, 2003).
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
24
2.2 Assinatura Digital
Ter duas chaves separadas proporciona outro benefcio a assinatura digital.
Imagine como seria usar o sistema de forma invertida. Em vez de Bob cifrar a
mensagem com a chave pblica de Alice, ele utiliza sua prpria chave privada. Mas
espere, voc deve estar pensando agora todo mundo pode ler a mensagem, ela
deixou de ser secreta. Isso verdade, mas tambm verdade que apenas Bob
poderia ter escrito a mensagem. Ele a nica pessoa capaz de criar mensagens
que possam ser lidas com sua chave pblica, pressupondo-se, obviamente, que Bob
no tenha compartilhado sua chave privada com ningum mais e que a chave seja
realmente secreta (BERNSTEIN, 1997).
Por exemplo, Bob quer enviar uma mensagem para todos os seus contatos.
Bob no se importa em quem ir ler a mensagem, Bob apenas quer garantir aos
seus contatos que a mensagem realmente sua.
A seqncia a seguir atinge esse objetivo.
1. Bob escreve a mensagem e a cifra utilizando sua chave privada.
2. Bob envia a mensagem a seus contatos atravs da Internet.
3. Os contatos recebem a mensagem e a decifra utilizando a chave pblica
de Bob.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
25
O fato de a chave pblica de Bob ter decifrado a mensagem garante aos
contatos que a mensagem realmente dele. Qualquer mensagem decifrada com a
chave pblica de Bob s poderia ter sido criada com a chave privada. Isso muito
importante. Na criptografia com chave pblica, cada par de chaves nico. S
existe apenas uma chave pblica para cada chave privada e vice-versa. Se isso no
fosse verdade, a assinatura digital no seria possvel; um impostor poderia utilizar
outra chave privada para criar uma mensagem que pudesse ser lida pela chave
pblica fornecida.
A assinatura digital implementa os objetivos de segurana da integridade e do
no-repdio. Como foi visto, a assinatura digital assegura aos contatos que a
mensagem no foi alterada (integridade) e que ela veio de Bob (autenticidade). Alm
disso, Bob no pode negar que tenha enviado a mensagem (no-repdio), pois o
nico com acesso a sua chave privada.
Por exemplo, Bob quer enviar uma mensagem para Alice e quer que apenas
ela leia a mensagem, com isso Bob ir precisar fazer uma assinatura digital para
garantir que a mensagem dele e que s Alice pode ler a mensagem. Por exemplo:
1. Bob escreve a mensagem e a cifra utilizando sua chave privada (ele
assina a mensagem).
2. Em seguida, ele decifra a mensagem com a chave pblica de Alice
(tornando-a privada).
3. Bob envia a mensagem duplamente cifrada para Alice atravs da Internet.
4. Alice Recebe a mensagem.
5. Ela decifra a mensagem duas vezes. Primeiro, ela utiliza sua chave
privada e, depois, a chave pblica de Bob. Observe que ela est
invertendo os passos que Bob executou para criar a mensagem.
6. Alice agora pode ler a mensagem e tem certeza de que ela secreta e
veio de Bob. Ela tambm tem certeza de que a mensagem no foi
modificada; para alter-la, o invasor teria de acessar a chave privada de
Bob.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
26
3 Telefonia Mvel
Basicamente h duas variedades bsicas de telefones sem fio: os telefones
sem fio propriamente ditos, que utilizam uma linha telefnica comum e os telefones
mveis que so os celulares. Os telefones sem fio de linha comum no sero
analisados no escopo deste trabalho, pois no esto relacionados com a
transmisso de redes de telefonia celular.
Existem trs geraes de telefones celulares, sendo:
1. Gerao: Voz analgica.
2. Gerao: Voz digital.
3. Gerao: Voz digital e dados (Internet, correio eletrnico, etc.).
3.1 Telefones Mveis de Primeira Gerao:
Por volta de 1960, o Sistema IMTS (Improved Mbile Telefone System
sistema de telefonia mvel aperfeioado) foi utilizado. Onde ele utilizava duas
freqncias sendo uma de transmisso e outra para recepo.
Em 1982, surgiu o Sistema AMPS (Advanced Mbile Phone System)
elaborado pelo Bell Labs, que trabalhava de forma diferente ao IMTS e utilizava
clulas, como se fosse uma colmia, onde cada clula atingia uma rea de 10 km
com vrias camadas de freqncia. A Figura 13 ilustra o sistema AMPS em forma de
clulas.
Figura 13 , Sistema AMPS. Fonte ALENCAR (2004).
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
27
No centro de cada clula h uma estao base que recebe as informaes. A
estao base nada mais do que um computador e um receptor/transmissor ligados
a uma antena. Alm disso, as estaes so conectadas a uma estao de
comutao de telefonia mvel MTSO (Mbile Telephone Switching), para conectar
todas as clulas a uma rede central, alm de conectar as clulas o MTSO tambm
as monitoram.
3.2 Telefones Mveis de Segunda Gerao:
Nos telefones mveis de 2 gerao, existem tecnologias diferentes entre os
celulares como o CDMA e o GSM que so os dois tipos de tecnologias utilizadas no
Brasil.
O sistema global para comunicaes mveis GSM (Global System for Mbile
Communications) empregado a mutiplexao por diviso de freqncia,
transmitindo e recebendo numa freqncia de 55MHz.
O sistema CDMA de comutao de telefonia mvel (Code Division Multiple
Access) funciona de modo completamente diferente do GSM, pois ao em vez de
dividir a faixa de freqncia permitida em algumas centenas de canais estreitos, os
CDMA permitem que cada estao transmita sobre todo o espectro de freqncia
durante todo o tempo.
Os padres CDMA e GSM so discutidos mais profundamente nas sees 3.5
e 3.6 respectivamente.
3.3 Telefones Mveis de Terceira Gerao:
Est gerao utilizada no Brasil h pouco tempo e h uma expectativa muito
grande por parte dos especialistas, contribuindo com o trafego de dados em
conjunto com o trafego de voz.
Em 1992 a Organizao ITU (International Mbile Telecommunications) onde
o mesmo apresentou um projeto a ser alcanado. Pode - se resumir os servios
bsicos da proposta em:
Transmisso de voz de alta qualidade;
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
28
Servio de mensagens (substituindo correio eletrnico, fax, SMS, bate-papo
etc.).
Multimdia (reproduo de msica, exibio de vdeos, filmes televiso, etc.).
Acesso internet (navegao web, incluindo pginas com udio e vdeo).
O W-CDMA (Wideband CDMA), que uma nova proposta para telefonia
GSM, funciona em uma largura de banda de 5MHz e interage com redes GSM.
Foi proposto CDMA2000, que tambm trabalha com banda de 5 MHz, mas
no interage com redes GSM.
Abaixo ser descrito os trs padres utilizados no mercado atual que o
TDMA, o CDMA e o padro GSM, como tambm o servio de mensagens curtas,
mais conhecidas como SMS (Short Message Service).
3.4 Padro TDMA
Este padro corresponde ao antigo sistema AMPS, como citado na seo 3.1,
que como o sistema AMPS estava saturado por volta da dcada de oitenta, foi
proposto um novo padro do sistema AMPS chamado de IS-54 (nterim Standard),
que visava as seguintes evolues:
Aumento da capacidade de 10 vezes em relao ao sistema analgico;
Compatibilidade com o sistema analgico;
Evoluo suave entre os sistemas analgico e digital;
Mas apenas o primeiro item proposto inicialmente no foi concretizado, pois
sua capacidade aumentou trs vezes, e no dez vezes como na proposta inicial.
O padro TDMA utiliza mecanismos para fornecer certo nvel de segurana,
fornecendo mecanismos de integridade e autenticao de dispositivos mveis na
rede de telefonia celular.
3.4.1 Integridade e autenticao
O padro TDMA utiliza alguns mecanismos para fornecer integridade da
transmisso e autenticao entre dispositivos mveis e a rede de telefonia celular
TDMA.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
29
3.4.1.1 Integridade
O padro IS-54/136 utiliza alguns mecanismos para garantir a integridade dos
dados durante a transmisso que so:
Nmero de identificao do mvel: Nmero de identificao do dispositivo
mvel;
Numero de srie eletrnico (Electronic Serial number): Nmero serial que
identifica uma dispositivo mvel, o mesmo pode ser trocado o que
normalmente no disponvel para usurios;
Classe da estao: Nmero que identifica a potncia, banda e classe de
transmisso da dispositivo mvel;
Memria de localizao de rea: Utilizado para identificar mudanas de
localizao na dispositivo mvel;
Primeiro canal de paging: Utilizado para identificar o canal de paging;
Identificao de sistema local: Utilizado para identificar o sistema local do
dispositivo mvel;
Opo de controle: Utilizado para habilitar e desabilitar a opo de controle
local;
Seleo de sistema preferencial: Utilizado para indicar o sistema preferencial
entre bandas;
3.4.1.2 Autenticao
O padro IS-54/136 utiliza alguns mecanismos para fornecer autenticao
como descrito abaixo:
Nmero de identificao pessoal: Cada dispositivo mvel contm uma
identificao nica, administrada pelas operadoras do usurio, sendo o
mesmo verificado a cada conexo com o sistema.
Mensagem RANDS (RANDS, Random Challenge Global Action Message): um
valor que armazenado no dispositivo mvel que adicionado a uma
seqncia de overhead na mensagem;
Parmetro de Histrico de Chamada (COUNTS): atualizada pelo dispositivo
mvel toda vez que recebe uma Ordem de Atualizao de parmetros;
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
30
3.5 Padro CDMA
Com a crescente utilizao de dispositivos mveis a Associao Cellular
Telecommunications Industry Association (CTIA), dos Estados Unidos, publicou um
documento chamado de Users Performance Requirements (UPR), especificando
requisitos bsicos da tecnologia digital, que so:
Aumento da capacidade de 10 vezes em relao ao sistema analgico;
Longa vida e um crescimento adequado da tecnologia de segunda gerao;
Capacidade de introduo de novas funcionalidades;
Melhoria na qualidade;
Privacidade;
Facilidade de transio e compatibilidade com o sistema analgico existente;
Disponibilidade, a baixos custos, de rdios e clulas que operam nos dois
sistemas;
Arquitetura de rede aberta;
3.6 Padro GSM
No inicio da dcada de 1980 a organizao Conference of European Postal
and Telecommunications (CEPT) criou o Groupe Spciale Mbile com o objetivo de
desenvolver um sistema pan-europeu, mas aps alguns anos verificou que seu
alcance seria global.
Em 1991 foi proposta uma padronizao do sistema GSM, que sua evoluo
seria dividida em fases para que fossem adicionados novos servio gradativamente.
Segundo Alencar (2004), apud Yacoub o Sistema GSM tem um conjunto de
objetivos ambiciosos que so:
Roaming internacional;
Arquitetura aberta;
Alto grau de flexibilidade;
Fcil instalao;
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
31
Operao integrada com RDSI (Rede digital de servios integrados), CSPDN
(Rede de dados pblica com comutao de circuitos), PSPDN (Rede de
dados com comutao de pacotes) e PSTN (Rede telefonia pblica
comutada);
Oferecimento de sinais de alta qualidade e garantia de integridade do enlace;
Eficincia espectral de baixo custo;
Infra-estrutura de baixo custo;
Terminais pequenos, de baixo custo;
Caractersticas de segurana;
O padro GSM contm alguns mecanismos que fornecem um nvel de
segurana, como criptografia, autenticao de dispositivos mveis, um centro de
autenticao, onde o dispositivo necessita se autenticar para integrar-se a rede de
telefonia mvel, e o SIM card. que uma caracterstica encontrada apenas na
tecnologia GSM.
3.6.1 SIM mdulo de identificao do cliente
Segundo Alencar (2004), O Mdulo de Identificao do Cliente (Subscribe
Identity Modulo - SIM) fornece uma identificao do dispositivo mvel, que sem o
SIM o dispositivo fica inoperante (exceto para chamadas de emergncia
dependendo do modelo do dispositivo mvel). O SIM um carto inteligente que
contm um processador e memria, onde ficam armazenados dados do usurio. A
Figura 14 ilustra um carto inteligente SIM, tambm conhecido como SIM Card.
Figura 14, SIM Card.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
32
Para se acessar as informaes contidas no carto SIM existe um recurso de
segurana para proteger as informaes contidas do SIM, que conhecida como
PIN (Nmero de Identificao Pessoal), o nmero do PIN tem o comprimento mnimo
de 4 dgitos e mximo de 8 dgitos, caso o usurio fornea errado o nmero do PIN e
trs vezes seguidas o carto fica bloqueado, e para desbloquear o mesmo
necessrio informar o PUK (Chave de Desbloqueamento Pessoal) que tem
comprimento mnimo de 4 dgitos e mximo de 8 dgitos.
3.6.2 Centro de autenticao (AuC)
Segundo Alencar (2004), o centro de autenticao (AuC) utilizado por
razes de segurana. O AuC tem como funcionalidade fornecer trs parmetros
para a autenticao sendo eles:
Resposta Sinalizada (SRES): Mensagem gerada atraves da tupla (Kc,RAND);
Nmero aleatrio (RAND): Nmero aleatrio gerada pelo AuC e enviado ao
dispositivo mvel para que ele possa gerar um SRES;
parmetro Kc: Chave utilizada para autenticar o usurio, onde a chave est
armazanada no SIMCard e no AuC;
3.6.3 Autenticao
O procedimento de autenticao verifica a identidade dos assinantes e se
eles tm permisso para usar uma rede em particular. A autenticao baseada no
algoritmo A3, que armazenado no carto SIM e no centro de autenticao (AuC)
(Alencar, 2004, p.365).
O Algoritmo A3 utiliza dois parmetros de entrada. A Figura 15 ilustra este
processo onde o primeiro parmetro uma chave que armazenada no SIM e na
rede, o segundo parmetro um nmero aleatrio gerado no AuC e transmitido para
o dispositivo mvel. Ao receber o nmero aleatrio o dispositivo utiliza este nmero
como parmetro de entrada para o algoritmo A3, o algoritmo A3 gera o SRES e
envia de volta para a rede onde a mesma compara se o SRES recebido do
dispositivo mvel o mesmo que foi valor gerado no centro de autenticao
(Alencar, 2004, p.366).
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
33
Figura 15. Autenticao GSM.
3.6.4 Criptografia
Segundo Alencar (2004), a criptografia usada para proteger dados de
sinalizao e informao do usurio. Ela realizada aps a codificao dos
diferentes canais lgicos, independente de o canal ser de sinalizao ou de trfego.
De acordo com Alencar (2004, p.384), A proteo da mensagem e realizada
em duas etapas. Primeiro, uma chave criptografada gerada usando o algoritmo A8
junto com a chave do usurio e o RAND enviado pela rede. Segundo um nmero de
114 bits produzido com a chave criptografada, um algoritmo chamado A5 e o
nmero do quadro TDMA. feita uma operao do tipo XOR entre essa seqncia
de bits e dois blocos de dados de 57 bits includos em um burst normal..
3.7 SMS (Short Message Service)
SMS (Sort Message Service) um servio utilizado para envio de mensagens
curtas de no mximo 160 caracteres. Inicialmente o servio foi criado para a
finalidade de enviar mensagens de alerta aos usurios de dispositivos mveis, como
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
34
por exemplo, mensagem de alerta de mensagem sobre a existncia de mensagens
na caixa de correio de voz. A primeira mensagem SMS enviada foi em meados de
1992 no Reino Unido.
As mensagens so enviadas atravs do servio SMSC (Sort Message Service
Central) que uma central de envio de mensagens SMS, tambm possvel enviar
pela internet utilizando o protocolo SMPP (short message peer-to-peer protocol) que
o protocolo utilizado para enviar mensagem SMS rede de telefonia mvel. A
Figura 16 ilustra o envio de uma mensagem SMS utilizando SMSC, (WIKIPEDIA,
2006).
Figura 16. SMSC.
3.8 Sistemas operacionais para dispositivos portteis:
Assim como para desktop e Mainframes existe tambm sistemas operacionais
especficos para dispositivos portteis tais como o Windows CE, Symbian, PalmOS,
PocketOS, entre outros. Neste trabalho ser descrito resumidamente os trs
primeiros.
3.8.1 Windows Mobile / CE:
O Windows CE um novo sistema operacional da Microsoft que tem a
mesma aparncia e caractersticas do Windows 95, e utilizado pelos Handhelds e
Palmtops.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
35
O Windows Mobile / CE suporta diversas linguagens como C, C++, C# ,Visual
Basic, entre outras.
Esse Sistema Operacional utiliza um conjunto de bibliotecas criptogrficas
CryptoAPI, a mesma utilizadas em outras verses do Windows.
A CryptoAPI um conjunto de bibliotecas que permitem ao desenvolvedor
invocar funes que cifrem e decifrem informaes e ainda utilizem de certificados
digitais. A CriptoAPI funciona basicamente da seguinte maneira. A Aplicao
comunica com o Sistema Operacional utilizando a CryptoAPI e o Sistema
Operacional comunica com o CSP (cryptographic service providers) utilizando a
interface de servios criptogrficos CSPI como se pode observar na Figura 17.
Figura 17. Arquitetura de servios criptogrficos do Windows Mobile. Fonte
Microsoft.
Os CSPs da do Windows CE/Mobile suportam:
RSA Base Provider: Suporte assinatura digital e sigilo de dados;
RSA Enhanced Provider: Suporta a chaves de 128-bits;
Diffie-Hellman CSP: Suporte ao Diffie-Hellman, SHA Hashing, assinatura de
dados e verificao de assinatura;
Smart Card CSP: Suporta smart cards para Windows;
A Tabela 1 exibe alguns algoritmos criptogrficos simtricos suportados pelas
CSPs:
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
36
Algoritmos Criptogrficos Simtricos
3DES
3DES COM DUAS CHAVES
DES
RC2
RC4
RC5
Tabela 1: Algoritmos Simtricos suportados pela CryptoAPI.
A Tabela 2 exibe alguns algoritmos de hash suportados pelas CSPs:
Algoritmos de hash
MD2
MD4
MD5
SHA
SHA1
Tabela 2: Algoritmos hash suportados pela CryptoAPI.
3.8.2 Symbian:
Symbian um produto que foi desenvolvido por algumas empresas na rea
de telefonia mvel, como Nokia, Motorola, Panasonic, Sony Ericsson, Psion e
Siemens.
O Symbian suporta algumas linguagens de programao como C, C++, Java,
Assembler, Java Script WMLScript, OPL.
O Symbian tambm suporta servios de segurana como autenticao,
integridade, confidencialidade e irretratabilidade. Para isso as APIs fornecem
algoritmos criptogrficos, hash, gerao de chaves, gerao de nmeros randmicos
e gerao de certificados.
O symbian suporta o gerenciamento de certificados que inclui as seguintes
funcionalidades.
Armazenamento e recuperao dos certificados;
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
37
Construo e validao do certificado;
Verificao do status do certificado;
As APIs de gerenciamento de certificados tm uma hierarquia como mostra a
Figura 18:
Figura 18. Hierarquia de gerenciamento de certificados no symbian 8.0.
As APIs do suporte a infra-estrutura de chaves pblicas, Certificados
Digitais e assinaturas Digitais. A Figura 19 ilustra a arquitetura de segurana do
sistema Symbian v8.0;
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
38
Figura 19. Arquitetura de segurana do symbian 8.0.
O symbian suporta o protocolo SSL (Security Socket Layer) vamos descrever
algumas funes deste protocolo implementado no Symbian. H a classe principal
chamada de CSecEngine, onde outras classes so derivadas dela. Inicialmente
deve-se efetuar a conexo atravs do da funo Connect(), especificando servidor,
porta, e o destino HTTP caso seja uma conexo HTTPS. Aps a chamada a funo
Connect() a CSecEngine inicia um estado de espera no dispositivo onde fica
aguardando uma requisio de resposta. Aps a resposta a CSecEngine executa a
funo RunL() agora necessrio executar mais alguns passos para que a conexo
seja estabelecida com sucesso, esse processo chamado de handshake.
MakeSecureConnectionL(): criar um objeto CSecureSocket, e inicializar com a
propriedade SecureSocket::StartClientHandshake();
MakePageRequestL() enviar o um pedido ao servidor utilizando a funo
CSecureSocket::Send();
GetServerResponseL(): nesta funo negociado o SSL nas verses 1.0, 2.0
3.0 ou TSL, atravs da funo CSecureSocket::Protocol(), aps isso necessrio
estabelecer o algoritmo criptogrfico que ser utilizado na comunicao
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
39
CSecureSocket::CurrentCipherSuite() e requisitar o certificado do servidor utilizando
a funo CSecureSocket::ServerCert(), agora necessrio ficar esperando a
resposta do servidor atravs da funo CSecureSocket::Recv()
ReadServerResponseL(): examina a resposta do servidor e j inicia a
conexo onde agora cliente/servidor podem trocar informaes atravs de um tnel
seguro criado pela conexo SSL.
ConnectionClosed(): utilizado para fechar a conexo com o servidor.
Para enviar uma mensagem SMS ou SMPT no caso de um e-mail h uma API
especifica onde implementada a classe CsendAs, onde necessrio criar um
objeto no menu da aplicao e informar o assunto, os recipientes da mensagem,
corpo da mensagem e anexos.
CSender::SenderCascadeMenuL(): adiciona ao menu da aplicao um objeto
para que possa enviar a mensagem.
CSender::CreateMessageL(): Cria mensagem especificando o tipo da mensagem
(SMTP, SMS), corpo da mensagem, assunto, anexo, e recipientes da mensagem.
3.8.3 PalmOS:
O PalmOS um sistema operacional para dispositivos moveis mais utilizados
nos dias atuais com cerca de 38 milhes de dispositivos sendo utilizados no mundo,
ele um produto da Palm Powered.
O PalmOS tambm d suporte a diversas linguagens como C, C++, Java,
Basic entre outras.
O Palm OS tambm suporta o protocolo SSL/TSL, onde so utilizando
algumas chamadas as funes primeiramente as negociaes (Handshake) e
posteriormente as trocas de informaes.
Inicialmente necessrio criar um objeto do tipo SSL lib, depois atribuirmos a
ele o contexto atravs da chamada de funo SslContextSet_Socket(). Agora
necessrio escolher o SSL que ir trabalhar verses 1.0, 2.0 3.0 ou TSL utilizando a
funo SslContextSet_Mode().
Utilizando a funo SslContextSet_InfoCallback() para verificar informaes
sobre o socket indicando que o socket ficar em aguardo enquanto a conexo no
efetuada. A funo SslContextGet_HsState() retorna o estado do handshake, e
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
40
posteriormente utilizada a funo SslContextSet_VerifyCallback() para verificao
do handshake. Aps a negociao efetuada com xito utilizado a funo
SSLReceive para receber informaes e SSLSend para enviar informaes.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
41
4 DESCRIO DO PROJETO
Para realizao deste projeto foi implementado um sistema de troca de
mensagens SMS protegidas. O sistema utilizou tecnologia J2ME para cifrar e
decifrar as mensagens SMS.
4.1 Metodologia do projeto
A metodologia usada neste projeto consiste no estudo e utilizao de
ferramentas que depois foram utilizadas na implementao e anlise de um sistema
de troca de mensagem SMS cifradas com chave simtrica.
Para comunicao e implementao no sistema operacional do dispositivo
mvel foi realizado um estudo e implementao utilizando a linguagem de
programao Java sendo utilizado a arquitetura J2ME e para os servios
criptogrficos foi estudado a biblioteca Bouncy Castle.
A seguir sero descritas a arquitetura J2ME, principais caractersticas de
segurana da biblioteca Bouncy Castle e depois a especificao do sistema de troca
de mensagens SMS.
4.2 Tecnologias Utilizadas
Abaixo ser discutido sobre as tecnologias utilizadas neste projeto que so a
tecnologia J2ME com suas caractersticas e limitaes, e a biblioteca Bouncy Castle
com suas funes criptografias utilizadas no projeto.
4.2.1 Java:
A tecnologia Java uma linguagem orientada a objeto de plataforma
independente e com ambiente de programao multithreading. Ele pode ser utilizado
para web, servios de rede, aplicaes, plataformas independentes, robos e outros
dispositivos, como os dispositivos de pequeno porte que o foco desta pesquisa.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
42
Conforme ilustra a Figura 20, atualmente existem trs edies da tecnologia
Java, que so o J2SE( Java 2 Platform, Standard Edition) que prov um
desenvolvimento para desktop e servidores. J2EE (Java Platform, Enterprise Edition)
que um padro para desenvolvimento de aplicativos robustos e escalveis, sendo
o J2EE uma extenso do J2SE, implementando algumas funcionalidades adicionais,
como web services, gerenciamento de aplicaes, servios orientados a arquitetura
(SOA) e aplicaes web. O J2ME uma edio do J2SE reduzido por causa das
limitaes de dispositivos de pequeno porte, sendo o J2ME a tecnologia utilizada
neste projeto.
Figura 20. Vrias edies do Java, Fonte: MUCHOW.
4.2.1.1 J2ME:
O J2ME uma derivao da tecnologia J2SE, que a especificao padro
da tecnologia Java, pois a J2ME foi projetada para dispositivos de pequeno porte,
com memria, processamento e vdeo limitados. Os recursos dentro do J2ME
podem variar muito, pois h diferenas entre os dispositivos mveis de pequeno
porte, tanto configuraes de vdeo, como memria e processamento.
Como em desktops, ou servidores h a necessidade da criao de uma
maquina virtual Java. Est maquina virtual, tambm conhecida como JVM (Java
Virtual Machine) uma configurao introduzida pela sun para uma ampla variedade
de dispositivos, ou seja, nela que so definidos os recursos e as bibliotecas
bsicas para uma configurao em particular.
Basicamente o J2ME uma verso reduzida do J2SE, onde por questo de
eficincia foram removidos vrios componentes para ser mantido a eficincia. Um
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
43
exemplo que muitos dispositivos moveis no tem os recursos de tela para fornecer
componentes avanados com janelas sobrepostas e menus suspensos.
O J2ME tem algumas configuraes e perfis que influenciam na
implementao desta tecnologia, pois ir depender da configurao do dispositivo
mvel e de seu perfil para que o mesmo suporte ou no funcionalidades do J2ME.
4.2.1.1.1 CDC (CONFIGURAO DE DISPOSITIVO CONECTADO)
Para esta configurao, necessrio pelo menos 512 Kb de memria para
execuo do Java, e 256 Kb de memria para alocao em tempo de execuo e
largura do canal de trafego de informaes persistente e alta.
4.2.1.1.2 CLDC (CONFIGURAO DE DISPOSITIVO CONECTADO LIMITADO)
Para est configurao necessrio 128 Kb para executar o Java, 32 Kb para
alocao em tempo de execuo, interface restrita ao usurio, normalmente com o
dispositivo mvel alimentado por bateria e com largura do canal de trafego de
informaes baixa e so intermitentes. medida que a tecnologia de dispositivos de
pequeno porte for evoluindo, evoluir tambm a tecnologia Java para esses
dispositivos, o que j ocorreu, a CLDC evoluiu da verso 1.0 para a verso 1.1 e a
MIDP passou de 1.0 para 2.0, como veremos a seguir.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
44
4.2.1.1.3 MIDP (Mobile Information Device Profile) 1.0 e MIDP (Mobile Information
Device Profile) 2.0:
Como foi discutido anteriormente, houve uma necessidade de ser criado uma
JVM para dispositivos de pequeno porte, denominada KVM, que uma
implementao da Sun de uma JVM que atende as especificaes CLDC.
Os recursos considerados no MIDP 2.0 podem incluir HTTPS, sockets e
datagramas, extenses para interface de baixo nvel e um analisador XML.
A tecnologia MIDP evolui conforme o hardware para esses dispositivos
evoluem tambm e a especificaes onde a Sun discute com a comunidade as
necessidades que podem/devem ser implementadas nas prximas verses,
teoricamente qualquer um pode dar sugestes para novas implementaes, basta
apenas se cadastrar no site da sun e ir lista de discusses.
4.2.2 BOUNCY CASTLE
A biblioteca Bouncy Castle um pacote de implementao de algoritmos de
criptografia. Este pacote fornece suporte apropriado as APIs para o ambiente que
ser utilizado (J2ME) que foi desenvolvido seguindo as especificaes do framework
JCE (Java Cryptography Extension).
Com as bibliotecas Bouncy Castle possvel implementar atribuio de
certificados, PCKS12, SMINE e OpenPGP.
Neste trabalho foram utilizadas apenas algumas funcionalidades de muitas
existentes na biblioteca Bouncy Castle, mais especificamente algumas
funcionalidades de criptografia simtrica e algumas de hash. Abaixo ser descrito as
funcionalidades utilizadas.
o Interface BlockCipher: Interface que utilizada por outras classes que
implementam cifras de bloco, a Tabela 3 descreve os mtodos da
interface BlockCipher.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
45
Mtodo Descrio
getAlgorithmName Retorna uma String com nome do algoritmo de
cifra que implementou esta classe
getBlockSize Retorna um inteiro com o tamanho do bloco para
a cifra implementada
Init Inicializa a cifragem ou decifragem
processBlock Processa um bloco de entrada retornando um
bloco como sada.
Reset Reinicializa a cifra
Tabela 3 : Mtodos BlockCipher.
o Classe CBCBlockCipher: Implementa o modo de cifra de corrente de
bloco (Cipher-Block-Chaining) mais conhecida como CBC:
A classe CBCBlockCipher contm apenas os mtodos que da interface
BlockCipher j que a classe CBCBlockCipher implementa a interface
BlockCipher.
o Classe DESEngine: Esta classe implementa o algoritmo DES, ela tambm
implementa a interface BlockCipher, sendo assim ela contm os mtodos
da interface BlockCipher mais os mtodos descritos na Tabela 4.
Mtodo Descrio
desFunc Retorna um array de byte com o resultado da
cifragem.
generateWorkingKey Gera uma chave baseada na chave secret.
Tabela 4 : Mtodos DESEngine.
o Classe AESEngine: Esta classe implementa o algoritmo AES (Rijndael),
ela tambm implementa a interface BlockCipher;
o Classe IDEAEngine: Esta classe implementa o algoritmo IDEA (Algoritmo
Internacional de Encriptao de Dados), ela tambm implementa a
interface BlockCipher;
o Classe RC6Engine: Esta classe implementa o algoritmo RC6, ela tambm
implementa a interface BlockCipher;
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
46
o Classe BufferedBlockCipher: Esta classe permite que as cifras do bloco
sejam usadas processar dados, ela implementa os mtodos da interface
BlockCipher alm de conter os seguintes mtodos descritos na Tabela 5:
Mtodo Descrio
doFinal Finaliza o processamento de cifragem do
bloco.
getOutputSize Retorna o tamanho do buffer necessrio para
gerar uma sada.
getUnderlyingCipher Retorna a cifra utilizada
getUpdateOutputSize Retorna o tamanho do buffer necessrio para
gerar uma sada a partir de um buffer de
entrada
Tabela 5: Mtodos BufferedBlockCipher.
o Classe PaddedBufferedBlockCipher: uma subclasse da classe
BufferedBlockCipher, herdando os mtodos getBlockSize,
getUnderlyingCipher e reset, e sendo implementado os mtodos doFinal,
getOutputSize, getUpdateOutputSize e getUpdateOutputSize, contendo
tambm os mtodos descritos na Tabela 6:
Mtodo Descrio
processByte Processa um nico byte, gerando de retorno um array
de byte caso necessrio.
processBytes Processa um array de byte, gerando de retorno um
array de byte caso necessrio.
Tabela 6: Mtodos PaddedBufferedBlockCipher.
o Interface Digest: Esta interface utilizada por outras classes que utilizam
algoritmos hash e contm os seguintes mtodos descritos na Tabela 7:
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
http://www.pdfpdf.com/0.htm
47
Mtodo Descrio
doFinal Finaliza o processamento do hash.
getAlgorithmName Retorna o al