81
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

PDF Creator - PDF4Free v2.0 ://cic.unb.br/~pedro/trabs/Tiziano.pdf · de troca de mensagem SMS cifradas com chave simétrica. Para comunicação e implementação no sistema operacional

Embed Size (px)

Citation preview

  • 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 [email protected].

    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