Monografia apresentada ao Departamento de Ciên- cia da ...

124
MARIANE MOREIRA DE SOUZA SISCOMPM: UMA PROPOSTA DE COMUNICAÇÃO ENTRE COPOM E VIATURAS POLICIAIS MILITARES UTILIZANDO COMUNICAÇÃO WIRELESS Monografia apresentada ao Departamento de Ciên- cia da Computação da Universidade Federal de La- vras como parte das exigências do Curso de Ciência da Computação para obter o título de Bacharel em Ciência da Computação Orientador Prof. André Luiz Zambalde Lavras Minas Gerais - Brasil 2005

Transcript of Monografia apresentada ao Departamento de Ciên- cia da ...

Page 1: Monografia apresentada ao Departamento de Ciên- cia da ...

M ARIANE M OREIRA DE SOUZA

SISCOM PM: U MA PROPOSTA DE COMUNICAÇÃO ENTRE COPOM E

VIATURAS POLICIAIS MILITARES UTILIZANDO COMUNICAÇÃO WIRELESS

Monografia apresentada ao Departamento de Ciên-cia da Computação da Universidade Federal de La-vras como parte das exigências do Curso de Ciênciada Computação para obter o título de Bacharel emCiência da Computação

OrientadorProf. André Luiz Zambalde

LavrasMinas Gerais - Brasil

2005

Page 2: Monografia apresentada ao Departamento de Ciên- cia da ...
Page 3: Monografia apresentada ao Departamento de Ciên- cia da ...

M ARIANE M OREIRA DE SOUZA

SISCOM PM: U MA PROPOSTA DE COMUNICAÇÃO ENTRE COPOM E

VIATURAS POLICIAIS MILITARES UTILIZANDO COMUNICAÇÃO WIRELESS

Monografia apresentada ao Departamento de Ciên-cia da Computação da Universidade Federal de La-vras como parte das exigências do Curso de Ciênciada Computação para obter o título de Bacharel emCiência da Computação

Aprovada em17 de Janeiro de 2005

Cap.PM Antônio Claret dos Santos

Prof. André Luiz Zambalde(Orientador)

LavrasMinas Gerais - Brasil

Page 4: Monografia apresentada ao Departamento de Ciên- cia da ...
Page 5: Monografia apresentada ao Departamento de Ciên- cia da ...

Sumário

1 Introdução 11.1 Considerações Iniciais . . . . . . . . . . . . . . . . . . . . . . . 11.2 Justificativas e Objetivos . . . . . . . . . . . . . . . . . . . . . . 21.3 Escopo do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Revisão Bibliográfica 52.1 A revolução da Computação Móvel . . . . . . . . . . . . . . . . 52.2 Visão geral sobre ComunicaçãoWireless. . . . . . . . . . . . . . 82.3 Tecnologias de TransmissãoWireless. . . . . . . . . . . . . . . . 102.4 Segurança em Sistemas de Comunicação Militar . . . . . . . . . . 142.5 Segurança em RedesWireless. . . . . . . . . . . . . . . . . . . . 15

2.5.1 Criptografia por Chave Privada . . . . . . . . . . . . . . . 182.5.2 Criptografia por Chave Pública . . . . . . . . . . . . . . . 202.5.3 Assinatura Digital . . . . . . . . . . . . . . . . . . . . . 212.5.4 O protocoloWTLS . . . . . . . . . . . . . . . . . . . . . 232.5.5 O ProtocoloWEP - A segurança dasWLANSdo padrão

80211 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.6 Linguagens de Programação paraPDAs . . . . . . . . . . . . . . 242.7 A TecnologiaJava . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.7.1 A Linguagem de ProgramaçãoJava . . . . . . . . . . . . 302.7.2 A Plataforma de DesenvolvimentoJava . . . . . . . . . . 32

2.8 A TecnologiaWaba . . . . . . . . . . . . . . . . . . . . . . . . . 332.8.1 Definição da tecnologiaWaba . . . . . . . . . . . . . . . 342.8.2 Características doWaba . . . . . . . . . . . . . . . . . . 342.8.3 Vantagens da tecnologiaWaba . . . . . . . . . . . . . . . 36

2.9 A TecnologiaSuperWaba. . . . . . . . . . . . . . . . . . . . . . 372.9.1 Como surgiu oSuperWaba. . . . . . . . . . . . . . . . . 37

v

Page 6: Monografia apresentada ao Departamento de Ciên- cia da ...

2.9.2 Diferenças entre oWabae oSuperWaba. . . . . . . . . . 392.9.3 Diferenças entre oJ2MEe oSuperWaba . . . . . . . . . 39

3 Metodologia 433.1 Pesquisa-Ação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.2 Ambiente de Desenvolvimento . . . . . . . . . . . . . . . . . . . 433.3 Rede de Comunicação, Plataformas e Tecnologias . . . . . . . . . 44

4 Resultados e Discussão 474.1 Modelagem do Sistema . . . . . . . . . . . . . . . . . . . . . . . 474.2 O Sistema SisComPM . . . . . . . . . . . . . . . . . . . . . . . 624.3 Adoção das tecnologiasJavaeSuperWabae do SGBD SQLServer 784.4 O Pacote de ComunicaçãoPDA/SGBDcom utilização de Cripto-

grafia por Chave Privada . . . . . . . . . . . . . . . . . . . . . . 844.5 Testes e Resultados Aplicados . . . . . . . . . . . . . . . . . . . 86

5 Conclusões 935.1 Alcance dos Objetivos e Dificuldades . . . . . . . . . . . . . . . 935.2 Propostas de trabalhos futuros . . . . . . . . . . . . . . . . . . . 94

vi

Page 7: Monografia apresentada ao Departamento de Ciên- cia da ...

Lista de Figuras

1.1 Troca básica de mensagens entre COPOM e viaturas - Fonte:Pro-jeto SisComPM - Sistema de Comunicação Segura entre 190 e vi-aturas PM[SISCOMPM (2004)] . . . . . . . . . . . . . . . . . . 3

1.2 Funcionamento básico do sistema: acionamento de viaturas e re-torno de informações referentes a esse acionamento - Fonte:Pro-jeto SisComPM - Sistema de Comunicação Segura entre 190 e vi-aturas PM[SISCOMPM (2004)] . . . . . . . . . . . . . . . . . . 3

2.1 Exemplos de dispositivos móveis encontrados no mercado - Fonte:Programming Mobile Devices[MOBILE (2004)] . . . . . . . . . 6

2.2 Evolução do mercado de dispositivos móveis - Fonte:InfotechTrends[INFOTECH (2003)] . . . . . . . . . . . . . . . . . . . . 7

2.3 Visão de aplicações em Computação Móvel - Fonte:Comunicaçãosem fio e Computação Móvel: Tecnologias, Desafios e Oportuni-dades[LOUREIRO, et.Al. (2003)] . . . . . . . . . . . . . . . . . 7

2.4 Exemplo de vários tipos de redes de comunicaçãowireless- Fonte:Redes sem fio IEEE 802.11[TOSO et.Al. (2004)] . . . . . . . . . 9

2.5 Gráfico doFHSS- Fonte: Adaptado deBluetooth - Promessas deuma nova tecnologia[MAIA (2003)] . . . . . . . . . . . . . . . . 11

2.6 Gráfico doDSSS- Fonte: Bluetooth - Promessas de uma novatecnologia[MAIA (2003)] . . . . . . . . . . . . . . . . . . . . . 11

2.7 Esquema Bluetooth - Fonte:Bluetooth.org - The Official BluetoothMembership Site[BLUETOOTH (2004)] . . . . . . . . . . . . . 12

2.8 Topologia básica de uma rede localWi-Fi - Fonte:Redes sem fioIEEE 802.11[TOSO et.Al. (2004)] . . . . . . . . . . . . . . . . . 13

2.9 TécnicasECM - Electronic CounterMeasuring- Fonte: WirelessChannel Security Tutorial[RUSSEL (1997)] . . . . . . . . . . . . 15

vii

Page 8: Monografia apresentada ao Departamento de Ciên- cia da ...

2.10 Segurança em vários tipos de redes de informação - Fonte:Wire-less Channel Security Tutorial[RUSSEL (1997)] . . . . . . . . . 16

2.11 Encriptando e Decriptando mensagens utilizando o método de crip-tografia por chave privada - Fonte:Internet and Mobile Business:How To Program, Cap 6 Security[DEITEL (2002)] . . . . . . . . 19

2.12 Esquema de distribuição de chaves utilizando criptografia por chaveprivada - Fonte:Internet and Mobile Business: How To Program,Cap 6 Security[DEITEL (2002)] . . . . . . . . . . . . . . . . . . 20

2.13 Encriptando e Decriptando uma mensagem utilizando o método decriptografia por chave pública - Fonte:Internet and Mobile Busi-ness: How To Program, Cap 6 Security[DEITEL (2002)] . . . . . 21

2.14 Autenticação do Transmissor e Receptor utilizando o método decriptografia por chave pública - Fonte:Internet and Mobile Busi-ness: How To Program, Cap 6 Security[DEITEL (2002)] . . . . . 22

2.15 Processo de compilação e interpretação de um programa desen-volvido na linguagem de programaçãoJava- Fonte:Avaliação datecnologia J2ME no contexto de desenvolvimento de jogos multi-players para celulares[ASSIS (2003)] . . . . . . . . . . . . . . 31

2.16 Portabilidade apresentada pela linguagemJava - Fonte: Avalia-ção da tecnologia J2ME no contexto de desenvolvimento de jogosmultiplayers para celulares[ASSIS (2003)] . . . . . . . . . . . . 32

2.17 Versões da linguagemJavae seus respectivos alvos de aplicação -Fonte:Avaliação da tecnologia J2ME no contexto de desenvolvi-mento de jogos multiplayers para celulares[ASSIS (2003)] . . . . 33

2.18 Executando uma aplicaçãoWabaem máquinas virtuaisJava- Fonte:The WabaSoft Development Kit[WABA (2003b)] . . . . . . . . . 35

2.19 Executando uma aplicaçãoWabanaWabaVM- Fonte:The Waba-Soft Development Kit[WABA (2003b)] . . . . . . . . . . . . . . 36

2.20 Comparação entreSuperWabae J2ME - Fonte:SuperWaba - Su-perWaba X Outras Plataformas[SW (2004b)] . . . . . . . . . . . 41

4.1 Diagrama de Caso de Uso - Esquema Geral - Fonte: Documenta-ção do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.2 Diagrama de Caso de Uso - Efetuar Logon no Sistema do COPOM- Fonte: Documentação do Sistema . . . . . . . . . . . . . . . . . 49

4.3 Diagrama de Caso de Uso - Efetuar Logon no Sistema da Viatura- Fonte: Documentação do Sistema . . . . . . . . . . . . . . . . . 49

viii

Page 9: Monografia apresentada ao Departamento de Ciên- cia da ...

4.4 Diagrama de Caso de Uso - Efetuar Logoff no Sistema da Viatura- Fonte: Documentação do Sistema . . . . . . . . . . . . . . . . . 50

4.5 Diagrama de Caso de Uso - Efetuar Logoff no Sistema do COPOM- Fonte: Documentação do Sistema . . . . . . . . . . . . . . . . . 50

4.6 Diagrama de Caso de Uso - Acionar Viatura - Fonte: Documenta-ção do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.7 Diagrama de Caso de Uso - Ler Informações sobre o Acionamento- Fonte: Documentação do Sistema . . . . . . . . . . . . . . . . . 51

4.8 Diagrama de Caso de Uso - Indicar Partida da Viatura - Fonte:Documentação do Sistema . . . . . . . . . . . . . . . . . . . . . 52

4.9 Diagrama de Caso de Uso - Ler Informações sobre a Partida daViatura - Fonte: Documentação do Sistema . . . . . . . . . . . . 53

4.10 Diagrama de Caso de Uso - Indicar Chegada da Viatura - Fonte:Documentação do Sistema . . . . . . . . . . . . . . . . . . . . . 54

4.11 Diagrama de Caso de Uso - Ler Informações sobre a Chegada daViatura - Fonte: Documentação do Sistema . . . . . . . . . . . . 55

4.12 Diagrama de Caso de Uso - Encerrar Ocorrência - Fonte: Docu-mentação do Sistema . . . . . . . . . . . . . . . . . . . . . . . . 56

4.13 Diagrama de Caso de Uso - Ler Informações sobre o Encerramentoda Ocorrência - Fonte: Documentação do Sistema . . . . . . . . . 57

4.14 Diagrama de Caso de Uso - Enviar Mensagem para o COPOM -Fonte: Documentação do Sistema . . . . . . . . . . . . . . . . . 58

4.15 Diagrama de Caso de Uso - Enviar Mensagem para a Viatura -Fonte: Documentação do Sistema . . . . . . . . . . . . . . . . . 58

4.16 Diagrama de Caso de Uso - Ler Mensagem enviada pela Viatura -Fonte: Documentação do Sistema . . . . . . . . . . . . . . . . . 59

4.17 Diagrama de Caso de Uso - Ler Mensagem enviada pelo COPOM- Fonte: Documentação do Sistema . . . . . . . . . . . . . . . . . 59

4.18 Diagrama de Classes do Pacotebr.ufla.comp.siscompm.bean- Fonte:Documentação do Sistema . . . . . . . . . . . . . . . . . . . . . 60

4.19 Pacotes do Sistema Servidor - Fonte: Documentação do Sistema . 604.20 Modelo Relacional - Banco de Dados SisCompm - Fonte: Docu-

mentação do Sistema . . . . . . . . . . . . . . . . . . . . . . . . 614.21 Sistema do COPOM - Tela de Logon - Fonte: Execução do Sistema 624.22 Sistema do COPOM - Tela inicial - Fonte: Execução do Sistema

[SISCOMPM (2004)] . . . . . . . . . . . . . . . . . . . . . . . . 63

ix

Page 10: Monografia apresentada ao Departamento de Ciên- cia da ...

4.23 Sistema da Viatura - Tela delogon - Fonte: Execução do SistemaSisComPM [SISCOMPM (2004)] . . . . . . . . . . . . . . . . . 64

4.24 SisComPM - Viatura Não Acionada, aguardando acionamento -Fonte: Execução do Sistema SisComPM [SISCOMPM (2004)] . . 65

4.25 SisComPM - Viatura Acionada, aguardando partida para o localda ocorrência - Fonte: Execução do Sistema [SISCOMPM (2004)] 65

4.26 SisComPM - Viatura Acionada, partindo para o local da ocorrência- Fonte: Execução do Sistema SisComPM [SISCOMPM (2004)] . 66

4.27 SisComPM - Viatura Acionada, no local da ocorrência - Fonte:Execução do Sistema SisComPM [SISCOMPM (2004)] . . . . . . 66

4.28 SisComPM - Informações sobre viaturas conectadas ao sistema -Fonte: Execução do Sistema SisComPM [SISCOMPM (2004)] . . 67

4.29 SisComPM - Acionamento da Viatura - Fonte: Execução do Sis-tema SisComPM [SISCOMPM (2004)] . . . . . . . . . . . . . . 68

4.30 SisComPM - Informações sobre o acionamento recebidas pelo Sis-tema da Viatura - Fonte: Execução do Sistema[SISCOMPM (2004)] 68

4.31 SisComPM - Informações sobre o local de partida da viatura parao atendimento da ocorrência enviadas pelo Sistema da Viatura -Fonte: Execução do Sistema SisComPM [SISCOMPM (2004)] . . 69

4.32 SisComPM - Informações sobre o local de partida da viatura parao atendimento da ocorrência recebidas pelo Sistema do COPOM -Fonte: Execução do Sistema SisComPM [SISCOMPM (2004)] . . 69

4.33 SisComPM - Informações sobre a chegada da viatura ao local daocorrência enviadas pelo Sistema da Viatura - Fonte: Execução doSistema SisComPM [SISCOMPM (2004)] . . . . . . . . . . . . . 70

4.34 SisComPM - Informações sobre a chegada da viatura ao local daocorrência recebidas pelo Sistema do COPOM - Fonte: Execuçãodo Sistema SisComPM [SISCOMPM (2004)] . . . . . . . . . . . 70

4.35 SisComPM - Informações sobre as providências tomadas no en-cerramento da ocorrência enviadas pelo Sistema da Viatura - Fonte:Execução do Sistema SisComPM [SISCOMPM (2004)] . . . . . . 71

4.36 SisComPM - Informações sobre as providências tomadas no en-cerramento da ocorrência recebidas pelo Sistema do COPOM -Fonte: Execução do Sistema SisComPM [SISCOMPM (2004)] . . 71

4.37 SisComPM - Aviso de novo acionamento recebido pelo Sistemada Viatura - Fonte: Execução do Sistema [SISCOMPM (2004)] . . 72

x

Page 11: Monografia apresentada ao Departamento de Ciên- cia da ...

4.38 SisComPM - Mensagem enviada pelo Sistema da Viatura - Fonte:Execução do Sistema SisComPM [SISCOMPM (2004)] . . . . . . 74

4.39 SisComPM - Aviso de nova mensagem recebida pelo Sistema doCOPOM - Fonte: Execução do Sistema [SISCOMPM (2004)] . . 75

4.40 SisComPM - Nova mensagem recebida pelo Sistema do COPOM- Fonte: Execução do Sistema SisComPM [SISCOMPM (2004)] . 75

4.41 SisComPM - Mensagem enviada pelo Sistema do COPOM - Fonte:Execução do Sistema SisComPM [SISCOMPM (2004)] . . . . . . 76

4.42 SisComPM - Aviso de nova mensagem recebida pelo Sistema daViatura - Fonte: Execução do Sistema [SISCOMPM (2004)] . . . 76

4.43 Nova Mensagem recebida pelo Sistema da Viatura - Fonte: Exe-cução do Sistema SisComPM [SISCOMPM (2004)] . . . . . . . . 77

4.44 Diagrama de Rede do projeto SisComPM - Fonte:Projeto Sis-ComPM - Sistema de Comunicação Segura entre 190 e viaturasPM [SISCOMPM (2004)] . . . . . . . . . . . . . . . . . . . . . 77

4.45 Vantagens doSuperWabaem relação a outras plataformas de de-senvolvimento - Fonte:SuperWaba - SuperWaba X Outras Plata-formas[SW (2004b)] . . . . . . . . . . . . . . . . . . . . . . . . 81

4.46 Características doSuperWabacom relação à Máquina Virtual -Fonte:SuperWaba - Características da Plataforma[SW (2004a)] 82

4.47 Características doSuperWabacom relação a Bibliotecas de Exten-são - Fonte:SuperWaba-Características da Plataforma[SW (2004a)] 83

4.48 Características doSuperWabacom relação a Entrada e Saída -Fonte:SuperWaba - Características da Plataforma[SW (2004a)] 83

4.49 Características doSuperWabacom relação a Interface com o usuá-rio - Fonte:SuperWaba - Características da Plataforma[SW (2004a)] 83

4.50 Transmissão de Informações entre Sistema Servidor e Sistema daViatura utilizando Criptografia por Chave Privada - Fonte:ProjetoSisComPM - Sistema de Comunicação Segura entre 190 e viaturasPM [SISCOMPM (2004)] . . . . . . . . . . . . . . . . . . . . . 86

4.51 HP Jornada 560 - Fonte:InfoSync Norge[INFOSYNC (2004)] . . 874.52 Palm Tungsten C - Fonte:ARC Organisers[ARC (2004)] . . . . . 874.53 Ponto de acesso sem fios G - Fonte:Lynksys[LINKSYS (2004)] . 91

xi

Page 12: Monografia apresentada ao Departamento de Ciên- cia da ...

xii

Page 13: Monografia apresentada ao Departamento de Ciên- cia da ...

Lista de Tabelas

2.1 Elementos de uma comunicação segura - Fonte:Wireless ChannelSecurity Tutorial[RUSSEL (1997)] . . . . . . . . . . . . . . . . 17

2.2 Comparação entre oWabae o SuperWaba- Fonte: SuperWaba -SuperWaba X Outras Plataformas[SW (2004b)] . . . . . . . . . 40

4.1 PDAs compatíveis com a tecnologiaSuperWabae seus preços -Fonte:Pesquisa realizada na internet nos sites oficiais dos vende-dores[PALM (2004)], [HP (2004)], [CASIO (2004)] . . . . . . . 90

xiii

Page 14: Monografia apresentada ao Departamento de Ciên- cia da ...

xiv

Page 15: Monografia apresentada ao Departamento de Ciên- cia da ...

Aos meus pais Dario e Rita e à minha avó Marli Coimbra de Souza (inmemoriam)

xv

Page 16: Monografia apresentada ao Departamento de Ciên- cia da ...

xvi

Page 17: Monografia apresentada ao Departamento de Ciên- cia da ...

Agradecimentos

À Deus, por tudo que sempre realizou e realiza em minha vida, aosmeus pais Dario e Rita, por todo o apoio, carinho e incentivo, ao meunamorado Humberto por todo o amor, amizade, paciência e ajuda nashoras mais difíceis, aos meus professores por tudo que aprendi, aosmeus colegas pela amizade e companhia durante todos esses anos.

xvii

Page 18: Monografia apresentada ao Departamento de Ciên- cia da ...

xviii

Page 19: Monografia apresentada ao Departamento de Ciên- cia da ...

SisComPM: Uma proposta de comunicação entreCOPOM e viaturas policiais militares utilizando

comunicação wireless

Resumo

Há muito tempo a preocupação com a segurança na troca de informa-ções tem despertado a atenção de pesquisadores e profissionais daárea de segurança. Essa preocupação é ainda maior com relação àprestação de serviços à comunidade por parte de órgãos que promo-vem segurança pública, como a Polícia Militar, de modo que o sigilodas informações trocadas entre os membros da equipe é crucial paraa garantia da eficiência no momento do atendimento de ocorrências.Baseando-se em registros históricos e em fatos que comprovam a vul-nerabilidade do sistema de comunicação via rádio utilizado pela Polí-cia Militar de Minas Gerais (PMMG), este trabalho tem por objetivoprincipal apresentar uma proposta de desenvolvimento de um novosistema de comunicação entre o Centro de Operações Policial Mili-tar (COPOM) e viaturas policiais militares pertencentes ao estado deMinas Gerais, utilizando-se comunicação em redes wireless.

Palavras-Chave

Polícia Militar, Segurança Pública, Tecnologia da Informação, Comu-nicaçãoWireless, Tecnologia Móvel

xix

Page 20: Monografia apresentada ao Departamento de Ciên- cia da ...

xx

Page 21: Monografia apresentada ao Departamento de Ciên- cia da ...

SisComPM: a communication proposal between MilitaryPolice Operation Center (COPOM) and military police

cars, using wireless communication

Abstract

Since a long time the concern about security in information exchangehas called the attention of researchers and professionals in securityarea. This concern is still bigger when it deals with rendering of com-munitarian services by organizations that promote public security, likeMilitary Police, in way that the exchanged informationt’s secrecy iscrucial to guarantee the efficiency in occurrence attendance. Basedin historical registers and facts that prove the vulnerability of RadioCommunication used by Minas Gerais Military Police, the main pur-pose of this work is to present a new communication system develop-ment proposal between Military Police Operation Center (COPOM)and military police cars from Minas Gerais, using wireless communi-cation.

Keywords

Military Police, Public Security, Information Technology, WirelessCommunication, Mobile Technology

xxi

Page 22: Monografia apresentada ao Departamento de Ciên- cia da ...

xxii

Page 23: Monografia apresentada ao Departamento de Ciên- cia da ...

Capítulo 1

Introdução

1.1 Considerações Iniciais

Atualmente existe uma grande preocupação com a segurança da informação com-partilhada pelos meios de comunicação. Essa preocupação não é recente, e come-çou a se evidenciar nas épocas da Primeira e Segunda Guerra Mundial. Nestaépoca especialistas em segurança costumavam trabalhar sobre intensa pressão,tanto para garantir o sigilo da comunicação entre os aliados, como para quebraro sigilo de informações inimigas, o que muitas vezes acabavam por decidir o des-fecho da guerra. Também nessa época, expandia-se a pesquisa e utilização da co-municação via frequências de rádio, e desde então, a vulnerabilidade deste estilode comunicação começou a ser notada.

Com o surgimento e popularização da Internet, aliados ao grande avanço tec-nológico na área da informática, surgem novas alternativas de comunicação bas-tante eficientes, como a comunicaçãowirelessque garante suporte ao paradigmada computação móvel, permitindo a troca de informações entre pessoas em todae qualquer parte do mundo, de uma maneira mais rápida, independente do lugaronde estejam, com um maior grau de mobilidade.

Porém, à medida que surgem novos estilos de comunicação, surgem tambémnovas preocupações relacionadas ao desenvolvimento de mecanismos de segu-rança que garantam da melhor forma possível o sigilo de informações compar-tilhadas, uma vez que é cada vez mais comum que atividades cotidianas sejamintermediadas pelo uso da tecnologia, e portanto, cada vez mais sucetíveis à faltade segurança apresentada pela rede.

1

Page 24: Monografia apresentada ao Departamento de Ciên- cia da ...

1.2 Justificativas e Objetivos

Com base em registros históricos e no atendimento de uma ocorrência na cidade dePoços de Caldas, Minas Gerais, verificou-se uma grande vulnerabilidade apresen-tada pelo sistema de comunicação via rádio utilizado pela Polícia Militar de MinasGerais. Nesta ocasião, durante um assalto a um condomínio fechado, a PolíciaMilitar descobriu que sua rede de rádio estava sendo monitorada pela quadrilha deassaltantes.

Neste sentido, o presente trabalho tem por objetivo descrever uma proposta dedesenvolvimento de um novo sistema de comunicação entre o Centro de OperaçõesPolicial Militar (COPOM) e viaturas policiais militares que são empregadas diari-amente no policiamento ostensivo, utilizando-se comunicação em redeswireless,visando uma maior segurança no processo de atendimento a ocorrências.

O sistema proposto será composto por três partes:

• Sistema do COPOM: sistema que o policial militar acessará de um compu-tadordesktopcomum.

• Sistema da Viatura: sistema que o policial militar terá acesso por meio dautilização de um dispositivo móvel (palmtop).

• Sistema Servidor: sistema responsável pela comunicação entre o Sistema daViatura e Servidor de Banco de Dados.

Visando atender requisitos de uma comunicação segura, além da criptogra-fia apresentada pelos protocolos de segurança em redeswireless, as informaçõestransmitidas e recebidas pelo Sistema da Viatura também serão codificadas utili-zando criptografia antes de serem compartilhadas pela rede. Os métodos de crip-tografia serão descritos com detalhes no capítulo 2, e o método adotado será espe-cificado na seção 4.4.

As propostas básicas para o sistema têm duas funcionalidades:

• Troca básica de mensagens entre o policial de plantão no COPOM e o poli-cial de plantão na viatura, e entre policiais nas viaturas (figura 1.1).

• Acionamento de viaturas e retorno de informações referentes ao atendi-mento da ocorrência tais como partida da viatura, chegada da viatura nolocal e encerramento da ocorrência (figura 1.2).

2

Page 25: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 1.1: Troca básica de mensagens entre COPOM e viaturas - Fonte:Pro-jeto SisComPM - Sistema de Comunicação Segura entre 190 e viaturas PM[SISCOMPM (2004)]

Figura 1.2: Funcionamento básico do sistema: acionamento de viaturas e retornode informações referentes a esse acionamento - Fonte:Projeto SisComPM - Sis-tema de Comunicação Segura entre 190 e viaturas PM[SISCOMPM (2004)]

Todas as informações trocadas pelos policiais serão capturadas pelo sistema,e armazenadas em um banco de dados, possibilitando a geração de informaçãohistórica relacionada ao processo de atendimento de ocorrência, para posteriorgeração de relatórios viaweb, possibilitando um controle de estatísticas do sistema.

É importante destacar que este novo sistema não pretende substituir a rede decomunicação via rádioVHF utilizada pela Polícia Militar, mas ser um comple-

3

Page 26: Monografia apresentada ao Departamento de Ciên- cia da ...

mento à mesma, disponibilizando uma alternativa segura de comunicação, no casodo atendimento de ocorrências de alta complexidade.

1.3 Escopo do Trabalho

No capítulo 2 serão apresentados vários conceitos fundamentais para o entendi-mento do trabalho: na seção 2.1 serão introduzidos conceitos básicos sobre Com-putação Móvel; nas seções 2.2 e 2.3 será dada uma visão geral sobre comunicaçãowireless, bem como serão apresentadas suas principais tecnologias de transmis-são; na seção 2.4 será apresentada uma análise relativa à segurança em sistemas decomunicação militar; na seção 2.5 serão apresentados vários conceitos referentesà segurança em redes de comunicaçãowireless; nas seções 2.6 a 2.9 serão apre-sentadas algumas tecnologias pesquisadas para o desenvolvimento do projeto. Nocapítulo 3 será apresentada a Metodologia utilizada no desenvolvimento do tra-balho, o ambiente de desenvolvimento e as tecnologias adotadas. No capítulo 4serão apresentados a modelagem do sistema, suas principais características e fun-cionamento, as justificativas relacionadas às tecnologias adotadas, os resultadosalcançados e os testes realizados. No capítulo 5 será apresentada uma conclusãosobre o trabalho.

4

Page 27: Monografia apresentada ao Departamento de Ciên- cia da ...

Capítulo 2

Revisão Bibliográfica

O objetivo deste capítulo é apresentar os conceitos necessários ao completo en-tendimento do presente trabalho. As três primeiras seções introduzem o leitor aonovo ambiente da computação móvel e comunicaçãowireless, adotados no pro-jeto. As duas seções seguintes apresentam uma análise referente à segurança emsistemas de comunicação militar, e em redes de comunicaçãowireless, que é oprincipal motivo do desenvolvimento deste trabalho. Por fim serão apresentadasas principais tecnologias relacionadas ao desenvolvimento do projeto, mostrandovantagens e desvantagens de cada uma delas.

2.1 A revolução da Computação Móvel

A Computação Móvel representa um novo paradigma computacional que temcomo objetivo principal prover ao usuário acesso permanente a uma rede fixa oumóvel independente de sua posição física. É a capacidade de acessar informaçõesem qualquer lugar e a qualquer momento [LOUREIRO, et.Al. (2003)].

Esse novo paradigma surge como uma quarta revolução na computação, ante-cedida pelos grandes centros de processamento de dados da década de sessenta, osurgimento dos terminais nos anos setenta, e as redes de computadores na décadade oitenta [MATEUS, et.Al. (1998)].

Segundo Loureiro [LOUREIRO, et.Al. (2003)], a Computação Móvel está setornando uma área madura e parece destinada a se tornar uma tecnologia domi-nante no futuro. O mercado de dispositivos móveis, genericamente chamados dehandhelds, que englobam telefones celulares,palms, PDAs (Personal Digital As-sistants), etc, está crescendo continuamente, sendo usado em aplicações que en-

5

Page 28: Monografia apresentada ao Departamento de Ciên- cia da ...

volvem negócios, indústrias, escolas, hospitais, lazer, enfim, é uma tecnologia jábastante difundida atualmente. A figura 2.1 ilustra alguns exemplos de dispositi-vos móveis encontrados no mercado, e a figura 2.2 mostra a evolução do mercadodesses dispositivos bem como sua previsão para os próximos anos.

Uma diferença importante entre o novo paradigma da Computação Móvel eos anteriores, é a interação entre o mesmo e as diversas áreas da Computaçãocomo Sistemas Digitais, Arquitetura de Computadores, Linguagens de Programa-ção, Engenharia deSoftware, Interface Homem- Máquina, Compiladores, Bancode Dados, e outras áreas tais como Psicologia e Sociologia, que possuem o pa-pel importante de definir novas formas de uso da tecnologia de processamento ecomunicação de dados [LOUREIRO, et.Al. (2003)].

A figura 2.3 mostra as diversas aplicações da Computação Móvel no contextodo relacionamento com as diversas áreas descritas anteriormente.

Figura 2.1: Exemplos de dispositivos móveis encontrados no mercado - Fonte:Programming Mobile Devices[MOBILE (2004)]

6

Page 29: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 2.2: Evolução do mercado de dispositivos móveis - Fonte:Infotech Trends[INFOTECH (2003)]

Figura 2.3: Visão de aplicações em Computação Móvel - Fonte:Comunica-ção sem fio e Computação Móvel: Tecnologias, Desafios e Oportunidades[LOUREIRO, et.Al. (2003)]

Como mencionado por Mateus [MATEUS, et.Al. (1998)], a principal carac-terística desse novo paradigma, que é permitir mudanças de localização de seususuários, ou seja, garantir a mobilidade dos mesmos no momento em que estes

7

Page 30: Monografia apresentada ao Departamento de Ciên- cia da ...

usufruem seus serviços, é possível graças ao suporte oferecido pela comunicaçãosem fio (wireless) que elimina a necessidade do usuário manter-se conectado auma infra-estrutura fixa e, em geral, estática.

Porém, os principais problemas relacionados à computação móvel se devemprincipalmente a essa mobilidade oferecida por esse novo paradigma, que in-troduz restrições inexistentes na computação tradicional formada por computa-dores estáticos. Alguns dos principais problemas são: localização de estações(antenas), gerência de localização e rastreamento de unidades móveis (celulares,palms, etc), interferências na propagação do sinal, alocação de freqüências, ge-renciamento de energia do aparelho, gerência de dados, segurança, dentre outros[MATEUS, et.Al. (1998)].

2.2 Visão geral sobre ComunicaçãoWireless

A ComunicaçãoWirelesspode ser definida simplesmente como todo e qualquertipo de comunicação que não utiliza fios (ou qualquer outro sistema físico) parase propagar. É o estilo de comunicação que dá suporte à Computação Móvel,permitindo à mesma garantir uma maior mobilidade aos seus usuários.

Segundo a empresa Sun Microsystems [SUN (2003b)], a comunicaçãowire-lessé um tipo de comunicação que está crescendo rapidamente e seu campo deatuação é enorme, sendo utilizada em transmissões de rádio e televisão,pagers,telefones celulares e em comunicações via satélite.

Outro segmento que se encontra em grande crescimento é o segmento das redeslocais de comunicaçãowireless(LANs Wireless). Segundo Maia [MAIA (2003)],em ambientes corporativos, por exemplo, essas redes funcionam como uma boaopção, permitindo aos usuários o acesso a informações em tempo real de qual-quer lugar dentro da organização. Esta mobilidade permite maior produtividade eoportunidades de serviço que não são possíveis em uma rede com fios.

As redes sem fio não dependem das conexões a cabo pois usam sinais eletro-magnéticos (rádio e infravermelho) para transmitir os dados, usando o ar comomeio de transmissão. Segundo Maia [MAIA (2003)], os dados a serem transmi-tidos são modulados em freqüências de rádio para serem enviadas de um trans-missor (antena) para um receptor (outra antena ou qualquer outro dispositivo semfio). Vários dados podem estar sendo transmitidos e recebidos ao mesmo temposem interferirem uns nos outros, desde que suas freqüências de modulação sejamdiferentes.

Os protocolos utilizados na comunicaçãowirelessdevem ser aptos à detecção

8

Page 31: Monografia apresentada ao Departamento de Ciên- cia da ...

de colisões e roteamento de dados entre uma rede cabeada, se este for o caso, e arede sem fio. A pilha de protocolos mais conhecida e utilizada é oTCP/IP, sendoeste também utilizado amplamente em redes cabeadas.

Outras características importantes a definir seriam a taxa de transferência dedados e o alcance em redes sem fio. Segundo Alves [ALVES (2002)], quantomaior a distância entre os pontos de transmissão, menor a taxa de transferência.Para distâncias de 5.5 Km, por exemplo, tem-se uma taxa de transmissão de 11Mbps, enquanto que para distâncias de 15.8 Km, tem-se uma taxa de 1Mbps.O alcance em redes sem fio é geralmente pequeno, podendo variar desde poucosmetros até cerca de 70 Km.

Tratando-se de uma tecnologia avançada em relação a outras, geralmente seuscustos também são bem maiores que os custos das redes cabeadas, porém, paraMateus [MATEUS, et.Al. (1998)], os benefícios da comunicação sem fio compen-sam os maiores gastos atribuídos à mesma.

A figura 2.4 mostra um exemplo da utilização de vários tipos de redes de co-municaçãowireless.

Figura 2.4: Exemplo de vários tipos de redes de comunicaçãowireless- Fonte:Redes sem fio IEEE 802.11[TOSO et.Al. (2004)]

9

Page 32: Monografia apresentada ao Departamento de Ciên- cia da ...

2.3 Tecnologias de TransmissãoWireless

Em ambienteswirelessexistem vários tipos de tecnologias de transmissão. Emuma camada mais baixa, as mais utilizadas são transmissões por freqüências derádio e transmissões por Infravermelho, enquanto que em camadas mais altas essastécnicas são aplicadas nos padrõesBluetootheWi-fi.

A tecnologia de transmissão por freqüências de rádio é a tecnologia mais utili-zada, devido ao fato de ser menos sensível a interferências do meio que as demais,além de possuir uma grande largura de banda passante.

Porém, a eficiência de transmissão via rádio depende, dentre outros fatores, daantena utilizada, potência de transmissão, e existência de relevo ou meios interfe-rentes [MATEUS, et.Al. (1998)].

Essa tecnologia de transmissão, também conhecida comospread spectrum,exige que o receptor saiba a frequência exata do sinal para poder reconhecê-lo;caso ele não esteja sintonizado na frequência certa, o sinal é escutado como umainterferência (ruído). A tecnologiaspread spectrumse divide em dois tipos prin-cipais [MAIA (2003)]:

• FHSS (Frequency Hooping Spread Spectrum)Espectro de FrequênciaEspalhada em Saltos: transmissão de sinal aleatório de frequências de rá-dio. Os sistemasFHSStransmitem sinais em faixas de frequência bem es-treitas, porém eles superam interferências potenciais, fazendo a frequênciasaltar de um valor para outro dentro de uma largura de faixa maior.

• DSSS (Direct Sequence Spread Spectrum)Espectro de Frequência Es-palhada em Sequência Direta: Em uma camada mais alta é conhecidatambém comoCDMA - Code-Division Multiple Access, uma tecnologia detransmissão amplamente utilizada em sistemas de telefonia celular. O trans-missorDSSSconverte dados em símbolos que representam, cada um, umconjunto debits. Essa informação é convertida em um sinal que alimentao transmissor, que também produz um sinal. O receptor utiliza um correla-tor baseado no código de difusão e remove osbits, recuperando os dados.Esta técnica supera ameaças de interferências de sinal ao transmitir os dadosatravés de várias freqüências para que os receptores façam a recomposiçãodo sinal. É a técnica mais utilizada em redes de comunicaçãowireless.

As figuras 2.5 e 2.6 ilustram os gráficos representativos de cada uma dessastécnicas.

10

Page 33: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 2.5: Gráfico doFHSS- Fonte: Adaptado deBluetooth - Promessas de umanova tecnologia[MAIA (2003)]

Figura 2.6: Gráfico doDSSS- Fonte:Bluetooth - Promessas de uma nova tecno-logia [MAIA (2003)]

As redeswirelessbaseadas emIR (Infra-Red)ou Infravermelho utilizam amesma tecnologia apresentada em produtos como controles remotos de aparelhos

11

Page 34: Monografia apresentada ao Departamento de Ciên- cia da ...

de televisão. Segundo Maia [MAIA (2003)], os sinais deIR não conseguem pene-trar em objetos opacos e podem ser facilmente obstruídos, e por isso sua utilizaçãoexige visada direta entre dois pontos a serem conectados, ou a utilização de trans-missão por difusão (reflexão). Além disso, a distância da transmissão direcionadaé muito pequena (poucos metros) e seu uso é restrito a Redes Pessoais (PANs) ealgumas aplicações específicas em Redes Locais sem fio (WLANs).

Bluetoothé um padrão proposto peloBluetooth SIG (Special Interest Group),que é um consórcio das maiores empresas de telecomunicações e computação domundo. O padrão opera na faixa de 2,4GHz e tem como princípio propor umatecnologia de baixo custo, para conectividade sem fio [BLUETOOTH (2004)].

A estrutura básica de comunicação doBluetoothé chamada depiconet. Pico-neté uma rede onde um nodo central (mestre) se comunica em forma de topologiaestrela com os demais nodos (escravos) da rede, com no máximo sete elementos[LOUREIRO, et.Al. (2003)].

O pequeno alcance de comunicação dos dispositivos (alcance máximo de cercade 10 metros) faz com que essas piconets possuam a característica de formarem pe-quenas redes pessoais conhecidas comoWPAN - Wireless Personal Area Network[LOUREIRO, et.Al. (2003)].

Em uma camada mais baixa a tecnologiaBluetoothutiliza tanto a transmissãopor ondas de rádio como por Infravermelho.

A figura 2.7 mostra um esquema da tecnologiaBluetooth.

Figura 2.7: Esquema Bluetooth - Fonte:Bluetooth.org - The Official BluetoothMembership Site[BLUETOOTH (2004)]

O Wi-Fi (Wireless Fidelity)também conhecido comoWLAN (Wireless LocalArea Network), é uma tecnologia de redes locaiswirelessque se estendem por

12

Page 35: Monografia apresentada ao Departamento de Ciên- cia da ...

uma pequena área, e que utilizam altas freqüências de ondas de rádio, ao invés defios, para a comunicação entre dispositivos móveis.[DEITEL (2002)]

É uma tecnologia que, apesar de possuir pequenos alcances, permite acessoem banda larga, e está implementada sobre o padrãoIEE 80211, que opera emfreqüências que variam entre 2,4GHz e 5 GHz, e que fornece aos seus usuárioso acesso a redes públicas e privadas de uma forma simples e cômoda, possibili-tando alta mobilidade, flexibilidade e conveniência no acesso à informação, alémda facilidade de montagem e manutenção [TOSO et.Al. (2004)].

A tecnologiaWi-Fi pode ser constituída de várias formas dependendo do tipode rede em que ela se situa [TOSO et.Al. (2004)]:

• Rede Local: utilização deAccess-Points, que são consideradosswitchesdeuma rede sem fio, e adaptadoresWi-Fi simples.

• Rede Metropolitana: utilização de antenas e adaptadoresWi-Fi compigtails.

• Rede Ampla: utilização de antenas, amplificadores, adaptadoresWi-Fi compigtails.

A figura 2.8 mostra a topologia básica de uma rede localWi-Fi.

Figura 2.8: Topologia básica de uma rede localWi-Fi - Fonte:Redes sem fio IEEE802.11[TOSO et.Al. (2004)]

No processo de implementação de redesWi-Fi, volta-se atenção para locaisestratégicos também chamados deHot-Spots, que são locais freqüentados por pro-fissionais em viagem, como por exemplo, hotéis, aeroportos, centros de reuniões,

13

Page 36: Monografia apresentada ao Departamento de Ciên- cia da ...

zonas comerciais, ou estádios de futebol, onde parece ser necessário se ter acessoà Internet.

2.4 Segurança em Sistemas de Comunicação Militar

O sistema de comunicação à rádio utilizado pelos militares, e vigente até os diasde hoje, começou a ser utilizado há algum tempo atrás. Como mencionado porMateus [MATEUS, et.Al. (1998)], em 1939, durante a Segunda Guerra Mundial,foi quando se expandiu intensamente a pesquisa e uso da comunicação via rádio.

Segundo o Departamento Americano do Estado [US.DEP (2003)], a comunica-ção via rádio consiste na utilização de ondas eletromagnéticas em uma faixa defreqüência de rádio, para transmitir ou receber sinais elétricos sem a existência defios conectando o emissor e receptor.

Um repetidor de rádio recebe o sinal de rádio a uma freqüência e retransmiteo sinal em uma outra freqüência e/ou nível [US.DEP (2003)].

A principal vantagem da utilização da comunicação via rádio, no contexto mi-litar é a de que o contato via rádio é ideal para a disseminação rápida da informaçãodurante situações de emergência. Obroadcast, envio de mensagens para todos osparticipantes do sistema, da comunicação à rádio, provém uma imediata e simultâ-nea comunicação com múltiplos participantes do sistema [US.DEP (2003)]. Esteé o principal motivo pelo qual esse tipo de comunicação é utilizado até nos diasde hoje não só por militares, policiais, bombeiros e outros agentes do Sistema deDefesa Social, mas também por outros sistemas comerciais, hospitais, sistemasaéreos, frotas de táxi etc [MATEUS, et.Al. (1998)].

Porém, o maior problema encontrado em sistemas de comunicação via rádio,seria a falta de segurança apresentada pelo mesmo. Segundo a companhia CesCommunication, [CES (2003)], é um tipo de comunicação naturalmente inseguro,pois uma vez que se trata de uma tecnologia debroadcast, qualquer um dentro dafaixa de freqüência de recepção, tem acesso ao sinal do transmissor, cabendo aoinvasor apenas sintonizar a freqüência desejada.

Na época das guerras, em que este sistema foi bastante utilizado, o inimigoempregava várias técnicas eletrônicas para detectar a presença dos sinais de rádiocom o intuito de interrompê-los de chegar ao seu destino, ou mesmo explorá-los. Essas técnicas são conhecidas comoECM (Electronic CounterMeasuring)[RUSSEL (1997)].

Os sinais podem ser interrompidos por técnicas dejamming, que consiste emobstruir o sinal provocando uma interferência deliberativa, impedindo o sucesso

14

Page 37: Monografia apresentada ao Departamento de Ciên- cia da ...

da comunicação. Os sinais podem também serem localizados com o intuito dedestruí-los completamente [CES (2003)], [RUSSEL (1997)].

Por outro lado, para explorar o sinal, é necessário utilizar outras técnicas. Umadessas técnicas é ospoofing, que consiste na imitação dos sinais de rádio, como intuito de se transmitir uma informação falsa. Em sistemas mais complexos,com uma maior segurança, a técnica deRDF (Radio Direction Finding)ou mo-nitoração de posição pode ser aplicada para encontrar fontes de interferência emqualquer forma de transmissão eletrônicawireless, podendo ser utilizada para en-contrar a localização do rádio transmissor [RUSSEL (1997)]. A figura 2.9 mostraas principais técnicasECM.

Figura 2.9: TécnicasECM - Electronic CounterMeasuring- Fonte: WirelessChannel Security Tutorial[RUSSEL (1997)]

Para tentar evitar esses tipos de problemas, algumas técnicas podem ser empre-gadas, como por exemplo oscrambling, que é empregada em sistemas que utilizamtransmissõesFHSS (Frequency Hopping Spread Spectrum), já mencionado na se-ção 2.3, que consiste na manipulação do sinal da fala, geralmente provocando a suainversão em torno de uma freqüência particular, com o intuito de que a mensagemse torne inteligível para o inimigo [CES (2003)].

2.5 Segurança em RedesWireless

Nos dias de hoje, com a ampla popularização daInternet, indivíduos normais egrandes organizações têm se preocupado muito com a segurança das suas informa-ções dispostas pela rede.

15

Page 38: Monografia apresentada ao Departamento de Ciên- cia da ...

Com a ampla comercialização de dispositivos móveis e a grande utilização dacomunicaçãowirelessnos mais diversos segmentos, a preocupação é ainda maior,uma vez que mensagens transmitidas via wireless, pelo ar, são mais fáceis de in-terceptar do que mensagens transmitidas por meio de cabos. A tecnologiawirelessestá avançando mais rápido do que questões de segurança relacionados à mesma,resultando em potenciais ataques parahackers[DEITEL (2002)].

O nível mais alto da rede de informaçãowirelessé mostrado na figura 2.10.A rede pública de informação (rede telefônica eInternet) e redes privadas comode universidades, são usualmente não seguras, enquanto redes privadas como deindústrias, provedor de serviçoswirelesse redes locais privadas são usualmente se-guras. A figura mostra também, a implantação de mecanismos de segurança comofirewalls, nessas redes consideradas seguras [RUSSEL (1997)]. O mecanismo desegurança denominadofirewall será explicado na seção 2.5.

Figura 2.10: Segurança em vários tipos de redes de informação - Fonte:WirelessChannel Security Tutorial[RUSSEL (1997)]

16

Page 39: Monografia apresentada ao Departamento de Ciên- cia da ...

Como já mencionado, a tecnologia implementada na comunicaçãowireless,mostrada em vermelho na figura 2.10, não é segura, exceto quando existe utiliza-ção de métodos de criptografia de dados, autenticação, e implementaçõesspreadspectrum, que fornecem segurança a tentativas elementares dejamming, spoofinge intercepção, definidos na seção 2.4 [RUSSEL (1997)].

Os principais problemas relacionados com a segurança em ambienteswireless,bem como seus correspondentes meios de combate, são agrupados em categorias,como mostra a tabela 2.1 [RUSSEL (1997)].

ECM Utilização ECCMDetecção Determinação de presença e ati-

vidade do sinalAnti-Intercepção

Localização Monitoramento e rastreamentode posições

Anti-Intercepção

Danificação de Ser-viço

Rompimento ou danificação dosinal

Anti-Jam

Falsificação Roubo de serviços Autenticação Crip-tografada

Decodificação Obtenção de informações Criptografia de Da-dos

Spoofing Fornecimento de informaçãofalsa

Segurança contraSpoofing

Tabela 2.1: Elementos de uma comunicação segura - Fonte:Wireless Channel Se-curity Tutorial [RUSSEL (1997)]

Em redes de comunicação em geral, existem quatro princípios básicos a seanalisar para garantir a segurança do sistema [DEITEL (2002)]:

• Privacidade: Como ter certeza de que a informação transmitida ao longo darede não foi capturada ou passada por um terceiro ponto desconhecido?

• Integridade: Como ter certeza de que a informação transmitida ou recebidanão foi alterada?

• Autenticação: Como o emissor e o receptor da mensagem provam suas iden-tidades para cada um?

• Não-repudiação: Como provar legalmente que a mensagem foi enviada ourecebida?

17

Page 40: Monografia apresentada ao Departamento de Ciên- cia da ...

Baseando-se nesses princípios, várias maneiras de se prover segurança em co-municações em rede têm sido criadas e utilizadas.

Uma das ferramentas mais básicas de segurança conhecidas é ofirewall1. Se-gundo Spangler [SPANGLER (2000)], utilizar umfirewall, é provavelmente a ma-neira mais eficiente e fácil de se garantir segurança a uma pequena rede.

Outro meio bastante utilizado para garantir segurança na rede, é a utilização desistemas de detecção de intrusão, que trabalham procurando detectar um invasorque conseguiu passar pela segurança dofirewall, registrandologsdessas invasões[DEITEL (2002)].

Atualmente, a utilização de métodos de criptografia é considerada um dosmeios mais seguros para garantir segurança na troca de mensagens, além da utiliza-ção de protocolos de segurança baseados nesses métodos.

A criptografia transforma a mensagem utilizando uma cifra ou sistema crip-tográfico, que encriptam (codificam) a mensagem de modo que a mesma se torneincompreensível. Desta maneira, existe uma chave (key), que funciona como umasenha para a cifra, que torna a mensagem incompreensível para todos menos parao emissor e receptor daquela mensagem, que terão acesso a essa chave e poderãodecriptar (decodificar) aquela mensagem [DEITEL (2002)].

Para garantir uma maior segurança na execução de transações na rede, existemos protocolos de segurança em transaçõeswireless, que fornecem segurança emtransações para dispositivos móveis em rede [DEITEL (2002)].

Nas próximas seções serão apresentados os métodos de criptografia por chaveprivada ou simétrica, criptografia por chave pública, assinatura digital e os pro-tocolos de segurança em transaçõeswireless WTLS (Wireless Transport SecurityLayer) e WEP (Wired Equivalet Privacy).

2.5.1 Criptografia por Chave Privada

A criptografia por chave privada2 ou simétrica é uma técnica de segurança quefunciona da seguinte maneira: o transmissor encripta a mensagem com uma chavesimétrica e envia a mensagem criptografada para o receptor, que a decodifica uti-lizando a mesma chave simétrica [DEITEL (2002)]. Esse esquema é mostrado nafigura 2.11.

1Firewall é um sistema colocado entre uma rede privativa e aInternetpara controlar a entrada esaída de dados, e tem como objetivo básico proteger essa rede privativa (LAN) contra intrusos foradesta rede

2Chave privada ou simétrica é uma chave à qual têm acesso somente os participantes (transmis-sor/receptor) da comunicação, não sendo liberada aos demais usuários da rede

18

Page 41: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 2.11: Encriptando e Decriptando mensagens utilizando o método de cripto-grafia por chave privada - Fonte:Internet and Mobile Business: How To Program,Cap 6 Security[DEITEL (2002)]

É importante destacar que esse método não garante a privacidade e integridadeda mensagem se a mesma for interceptada. Além disso como o emissor e receptorutilizam a mesma chave, não existe meio para autenticação. Um outro ponto é quepara cada par transmissor-receptor uma nova chave precisa ser criada, tornandoinviável a utilização desse método por causa da manutenção de um grande númerode chaves simétricas. Uma tentativa para resolver esse problema consiste na cria-ção de um centro de distribuição de chaves (KDC - Key Distribution Center), quecria uma chave secreta para uma sessão entre transmissor e receptor. Depois, eledistribui essa chave para o emissor e receptor em questão, encriptada com a chaveprivada simétrica compartilhada por cada um deles com oKDC [DEITEL (2002)].A figura 2.12 mostra esse esquema.

Como mencionado por Deitel [DEITEL (2002)], os dois algoritmos principaisque utilizam criptografia por chave privada é oDES (Data Encryption Standard)eo AES (Advanced Encryption Standard).

19

Page 42: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 2.12: Esquema de distribuição de chaves utilizando criptografia por chaveprivada - Fonte:Internet and Mobile Business: How To Program, Cap 6 Security[DEITEL (2002)]

2.5.2 Criptografia por Chave Pública

Segundo Deitel [DEITEL (2002)], um outro método de criptografia é o chamadocriptografia por chave pública, que não utiliza chaves simétricas, mas sim doistipos de chave: uma pública e uma privada relacionadas para cada um dos partici-pantes (transmissor e receptor).

A chave privada é mantida secreta pelo seu dono, enquanto a chave pública,todos da rede têm acesso à mesma. Se a chave pública é utilizada para encriptara mensagem, somente a sua chave privada correspondente pode funcionar paradecriptá-la.

Para transmitir a mensagem de forma segura, o transmissor utiliza a chavepública do receptor, a qual tem acesso, para encriptar a mensagem. O receptorentão decripta a mensagem com sua chave privada única [DEITEL (2002)].

Segundo Deitel [DEITEL (2002)], esse sistema garante a privacidade da men-sagem, uma vez que não é possível se deduzir uma chave privada a partir de umachave pública correspondente, impedindo que outro ponto tenha acesso a mensa-gem encriptada por esse esquema, ilustrado na figura 2.13.

20

Page 43: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 2.13: Encriptando e Decriptando uma mensagem utilizando o método decriptografia por chave pública - Fonte:Internet and Mobile Business: How ToProgram, Cap 6 Security[DEITEL (2002)]

Esse esquema garante ainda a autenticação tanto do receptor, quando a chaveutilizada para decriptar a mensagem é a chave privada do mesmo e para encrip-tar é a chave pública do mesmo, como do transmissor, quando a chave utilizadapara decriptar a mensagem é a chave pública do mesmo e a chave utilizada paraencriptar é a chave privada do mesmo. A utilização dos dois métodos em conjuntogarante total autenticação, esquema ilustrado na figura 2.14 [DEITEL (2002)].

Como mencionado em DEITEL (2002), os dois algoritmos baseados em crip-tografia por chave pública, mais comuns são: oRSA, que é um algoritmo criadoem 1977 por professores doMIT (Massachussets Institute Technology)e o PGP(Pretty Good Privacy), utilizado na criptografia de arquivos e mensagens de email.

2.5.3 Assinatura Digital

Assinatura Digital é outro método utilizado para auxiliar no processo de crip-tografia por chave pública, resolvendo problemas de autenticação e integridade[DEITEL (2002)].

Primeiramente, o transmissor submete a mensagem a uma função chamadahash, que gera um código único correspondente àquela mensagem (message di-gest).

21

Page 44: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 2.14: Autenticação do Transmissor e Receptor utilizando o método de crip-tografia por chave pública - Fonte:Internet and Mobile Business: How To Pro-gram, Cap 6 Security[DEITEL (2002)]

Depois disso, o transmissor utiliza a sua chave privada para encriptar o códigogerado (message digest). A partir daí está criada a assinatura digital, autenticandoo transmissor. A mensagem original, encriptada pela chave pública do receptor,a assinatura digital e a funçãohashsão enviadas para o receptor dentro de umenvelope digital.

Ao receber o envelope, o receptor utiliza a chave pública do emissor para deci-frar a assinatura original, revelando omessage digest. O receptor utiliza então suachave privada para decifrar a mensagem original. Finalmente, o receptor aplicaa funçãohashà mensagem original. Se o valor for igual ao domessage digestexiste uma integridade de mensagem, indicando que a mesma não foi alterada[DEITEL (2002)].

Para Deitel [DEITEL (2002)], assinaturas digitais, diferentes das assinaturasmanuscritas tradicionais, não são únicas, e a cada novo documento gerado, umanova assinatura é criada, com base neste documento, e atribuída ao mesmo, difi-cultando ainda mais a sua decodificação por um invasor.

22

Page 45: Monografia apresentada ao Departamento de Ciên- cia da ...

2.5.4 O protocoloWTLS

Wireless Transport Layer Securityé um protocolo que garante segurança na cone-xão entre dispositivoswirelesse servidores de aplicação. Ele provém uma tecno-logia wirelesscom integridade dos dados, privacidade, autenticação e segurançacontradenial-of-service3 [WAP (2000)].

O protocoloWTLSencripta os dados que são enviados entre o dispositivo mó-vel com o padrão de comunicaçãoWAP (Wireless Application Protocol), e umgateway WAP. Nogateway, as transações são decriptadas do protocoloWTLSe en-criptadas em um outro protocolo de segurança chamadoSSL (Secure Socket Layer)[DEITEL (2002)].

DispositivosWAPque utilizam o protocoloWTLSsó possuem segurança emsuas transações antes de chegar nogateway, momento em que as mesmas sãocolocadas na rede cabeada. Apesar disso, ainda não foram encontrados problemasefetivos de ataque devido a esse momento de insegurança, também chamado deWAP gap, apresentado no protocoloWTLS[DEITEL (2002)].

Para contornar esse problema, existe uma técnica chamadaWTLS tunning, queconsiste na existência de um túnel nogateway, permitindo que os dados criptogra-fados passem do dispositivowirelessatravés dogateway, até chegar no servidorsem serem decriptados. Ao passar do protocoloWTLSpara oSSL, o servidor en-via uma chaveWTLSde 128bitspara o dispositivo móvel, encriptada com a chavepública desse dispositivo. A chaveWTLSé então utilizada para encriptar dadosdas transações em todo o resto do processo [DEITEL (2002)].

2.5.5 O ProtocoloWEP - A segurança dasWLANSdo padrão 80211

Wired Equivalent Privacy (WEP)é o protocolo de segurança das redes locais(LANs) wireless, também conhecidas comoWi-Fi, pertencentes ao padrãoIEEE80211[DEITEL (2002)].

Segundo Deitel [DEITEL (2002)], os serviços oferecidos pelo protocoloWEPoferecem às redesWi-Fi, procedimentos de checagem de integridade e criptografiados dados.

Em comunicações seguras via protocoloWEP, o transmissor primeiro aplicauma checagem de integridade à mensagem, garantindo que a mesma não foi alte-rada durante a transmissão. O resultado dessa checagem é anexado à mensagem.A partir deste ponto, todo o pacote é criptografado com esquema criptográfico de

3Denial-of-servicesão ataques que visam impedir que usuários legítimos de um determinadoserviço na rede possam usufruir do mesmo

23

Page 46: Monografia apresentada ao Departamento de Ciên- cia da ...

40bits(inseguro) [NELSON (2001)]. Depois disso, o pacote é enviado ao receptorpor meio de um sistemawireless.

Segundo Deitel [DEITEL (2002)], por causa da insegurança no processo detransmissão, agravado ainda mais pelo compartilhamento de chaves simétricas narede, muitas melhoras estão sendo feitas em cima do protocoloWEP. O protocoloWEP2, sucessor do protocoloWEP, possui um esquema criptográfico de 128bitse um vetor de inicialização de chaves diferentes para cada sessão, também em umesquema de 128bits, garantindo uma maior variabilidade e maior tamanho daschaves geradas.

Segundo Garcia [GARCIA (2001)], visando uma maior segurança das redesde seu padrão, aIEEE pretende utilizar um sistema de gerenciamento de chaveschamadoEnhanced Security Network (ESN), que implementa o 128-bit Advan-ced Encryption Standard (AES), um esquema de criptografia que promove umamaior segurança, sem a utilização de muita memória ou poder de processamento.Adicionalmente, serão utilizados os métodos deKerberos, um forte sistema deautenticação na rede, que lidará com os assuntos de autenticação e acesso à rede.

2.6 Linguagens de Programação paraPDAs

Um PDA (Personal Digital Assistent)pode ser visto como um computador de mão,com diversas funcionalidades equivalentes às de um computadordesktop, com avantagem adicional de possibilitar mobilidade ao usuário. Está inserido na catego-ria dos dispositivos móveis ouhandheldsque engloba ainda telefones celulares epalms.

Apesar do desenvolvimento de sistemas para dispositivosPDAs ser um camporecente, até mesmo pelo fato de estes dispositivos serem recentes, muitas lingua-gens e ferramentas de programação já estão disponíveis para realizar este trabalho.Esta seção irá apresentar as linguagens mais conhecidas, descrevendo as suas prin-cipais características, sistemas operacionais para os quais elas se aplicam, vanta-gens e desvantagens.

Atualmente, os principais sistemas operacionais existentes paraPDAs são oPalmOSe o Windows CE(também distribuído na versãoPocket PC). Assim, asferramentas apresentadas nesta seção são quase todas direcionadas para o desen-volvimento nestas plataformas. Além destes, existem o sistema operacionalNew-tone algumas variações do sistema operacionalLinux.

Antes de iniciar a apresentação das linguagens e ferramentas mais conheci-das, dois conceitos básicos que ajudarão na avaliação das ferramentas disponíveis,

24

Page 47: Monografia apresentada ao Departamento de Ciên- cia da ...

devem ser apresentados. Estes conceitos são:

• PDB: É o banco de dados nativo do sistema operacionalPalmOS. Tambémpode ser utilizado em outros sistemas operacionais, uma vez que seu for-mato é conhecido. A linguagem de programação deve ser capaz de pro-ver acesso aos dados deste banco de dados de maneira fácil e eficiente[BERNSTEIN (2001)].

• PRC: PRCé a extensão do aplicativo desenvolvido para rodar no sistemaoperacionalPalmOS. Em linguagem simplificada, é equivalente aoEXE tãofamoso no ambienteWindows[BERNSTEIN (2001)]. No caso do sistemaoperacionalWindows CE, também gera-se arquivosEXE, mas estes são dife-rentes dos gerados para os sistemas operacionaisWindowsversõesdesktop.

Algumas ferramentas simplesmente geram umPRCou umEXE, após o pro-cesso de compilação, que pode ser instalado diretamente no dispositivo. Outrastrabalham comruntime, ou seja, em modo interpretado. Geralmente oruntimeé instalado no aparelho durante o processo de instalação da própria ferramenta.Neste caso, ao se desenvolver aplicações na ferramenta estas não irão funcionardiretamente no aparelho. Para que elas funcionem devem ser executadas sobre ointerpretador ou oruntime, pois os arquivos gerados pelas ferramentas só são reco-nhecidos por eles. Ao ser executado, o runtime aciona o aplicativo, interpretandoos comandos e executando-o [BERNSTEIN (2001)].

Assim, pode-se começar a avaliar as ferramentas existentes pela eficiência queelas provêem no acesso a banco de dados e também com relação ao formato dearquivos que elas geram, ou seja, arquivos nativos para uma plataforma específicaou arquivos em um formato intermediário que são reconhecidos por um ambientederuntime.

De acordo com Bernstein [BERNSTEIN (2001)], pode-se separar as ferramen-tas de desenvolvimento em categorias, onde os principais termos de comparaçãosão a flexibilidade contra a facilidade e rapidez de desenvolvimento:

• NSBasic[NSBASIC (2003)]

Descrição: De acordo com Alexandroni [ALEXANDRONI (2001a)], oNS-Basicé uma ferramenta simples e poderosa para o desenvolvimento de aplica-ções para osPDAs. Apesar de ser uma ferramenta baseada na linguagemBasic, ela não é obsoleta ou indicada a novatos. Além de muitas funçõescontidas na linguagem, oNSBasicpermite a utilização deShared Libraries

25

Page 48: Monografia apresentada ao Departamento de Ciên- cia da ...

escritas emC, acesso às rotinas daAPI doPalmOSe também que se adicionenovas funções à linguagem, inclusive escritas emC.

Sistema Operacional:PalmOS, Windows CEeApple Newton.

Custo: Uma versão demo do produto pode ser adquirida com validade por30 dias. A versão registrada custa 99.95 dólares.

Características: As aplicações podem ser distribuídas para executar em umruntimede aproximadamente 85K, mas estas têm uma performance muitoboa e não há custo para distribuição desteruntime. É possível também gerarexecutáveis nativos, onde oruntimeé adicionado ao executável. Isto é idealpara o caso de se estiver distribuindo uma aplicação comercialmente, masquando se estiver rodando duas ou mais aplicações desenvolvidas com oNSBasicé melhor instalar oruntimepara que ele seja compartilhado pelasduas aplicações. Outra característica importante é que o desenvolvimentode programas noNSBasicé baseado em um ambiente visual.

• PDA ToolBox[PDA (2003)]

Descrição: OPDA Toolboxproporciona uma flexibilidade muito pequena,mas tem o poder de desenvolver aplicativos simples e funcionais.

Sistema Operacional:PalmOS.

Custo: É gratuito, mas possui uma versão paga com maiores recursos.

Características: As aplicações desenvolvidas apresentam executáveis extre-mamente pequenos e rápido. O desenvolvimento é realizado em um ambi-ente visual, ou seja, não é necessário escrever nenhuma linha de código paraobter bons resultados.

• PocketStudio[POCKET (2003)]

Descrição: Esta ferramenta estava sendo desenvolvida desde 1999 e em2001 foi finalmente lançada. Tornou-se muito aguardada pelos desenvol-vedores paraPalmOSe também muito utilizada por eles. É semelhante aoambiente de desenvolvimento da linguagemDelphi, compartilhando assimsemelhanças também com a linguagemPascal. Construída pelaPocket-Technologies, uma empresa localizada no Estado deMinnesotanos EstadosUnidos e formada por desenvolvedores experientes e muito profissionais, oPocketStudioé muito mais que uma simplesIDE, conta com um compiladorpoderosíssimo e rápido, que gera aplicações nativasPalmOScom velocidadee tamanho comparáveis às geradas por compiladoresC e sem a necessidade

26

Page 49: Monografia apresentada ao Departamento de Ciên- cia da ...

de runtime. Possui suporte aos mais diversos periféricos e equipamentoscomo impressoras, equipamentosSymbolcom leitor de códigos de barras ecelulares.

Sistema Operacional:PalmOS.

Custo: A versão mais completa é vendida por 249.99 dólares, enquanto amais simples pode ser comprada por 69.99 dólares.

Características: É uma ferramenta poderosa, produtiva e principalmente fá-cil de utilizar. De acordo com Alexandroni [ALEXANDRONI (2003c)],suas principais características são:

1. Acesso a todaAPI do Sistema OperacionalPalmOS.

2. Gera executáveis nativosPalmOSsem necessidade deruntime.

3. Permite instruçõesassemblerno meio do código (inline assembler).

4. Suporte aPalmOS2.0 a 5.0.

5. Suporte aHandEra, Kyocera, HandSpring, Symbol, Sony, etc.

6. Acesso Bancos de Dados móveis como oOracle Litee IBM DB2.

7. Suporte a impressoras de qualquer tipo através do acesso aos geren-ciadores de impressão mais poderosos do mercado, como oIRPrint,PrintBoyePalmPrint.

8. PSLibrary, interface de acesso à objetos visuais do formulário e tam-bém à bancos de dados.

9. Database Wizard, cria uma aplicação básica de entrada de dados emsegundos, com criação visual do banco de dados.

10. Aceitapluginsno IDE para expansão das características da ferramenta.

11. Conduit Wizard, auxilia na criação dosconduitspara seus bancos dedados.Conduitssão aplicações que permitem a sincronização de dadosdos sistemasPalmOScom o computadordesktop.

12. Web Update, atualização da ferramenta diretamente pelaInternet.

13. Integração com o emulador doPalmOS, inclusive para depuração daaplicação.

14. Ambiente similar ao doDelphi.

15. Depuração passo-a-passo.

16. Editor de texto que destaca a sintaxe da linguagem.

27

Page 50: Monografia apresentada ao Departamento de Ciên- cia da ...

• Satellite Forms MobileApp Designer[SATELLITE (2003)]

Descrição: Os aplicativos desenvolvidos por esta ferramenta criada pelaPu-matechsão baseados emruntime. Para o desenvolvimento de aplicaçõespara o mercado corporativo, oSattelite Formstem ganhado muito destaque.Este destaque ocorreu devido ao fato de ele ser uma ferramenta de desen-volvimento rápido (RAD), com várias extensões que podem ser adquiridaspara estender a sua funcionalidade e com suporte aos mais famosos siste-mas operacionais paraPDAs, ou seja,PalmOSe Windows CE. Os códigospossuem semelhança com oVisual Basic.

Sistema operacional:PalmOSePocket PC2002

Custo: A versão completa pode ser adquirida por 1450 dólares.

Características: De acordo com a empresa Satellite [SATELLITE (2003)],o Satellite Formsé uma ferramenta visual, com recursosdrag-and-drop, deutilização muito fácil e curva de aprendizagem rápida. Possui bibliotecaspara a criação de interfaces avançadas.

• A linguagemC, o CodeWarrior, o PRC Tools

Descrição: A linguagemC, apesar de parecer complicada e assustadora paramuitos, na verdade tem as mesmas estruturas de controle de qualquer ou-tra linguagem de programação. O que a diferencia das outras, e talvez omotivo da sua fama de linguagem de baixo nível, é o uso de ponteiros ealgumas estruturas mais complexas. Com ela pode-se ter acesso a todo opoder do sistema operacionalPalmOS(através do acesso aAPI completa),executáveis menores e mais rápidos, semruntimese pagamentos de licenças[ALEXANDRONI (2001b)].

De acordo com Alexandroni [ALEXANDRONI (2001b)], para desenvolveremC, existem alguns caminhos que podem ser seguidos: utilizar uma ferra-menta comercial, oCodeWarrior[CODEWARRIOR (2003)], que tem com-pilador próprio, ou oPRC Toolscom aIDE Falch.net[FALCH (2003)].

Sistema operacional:PalmOS.

Custo: OCodeWarriorcusta 499 dólares, enquanto oPRC Toolsé de livredistribuição, mas aIDE Falch.netcusta 249 dólares.

Características: OCodeWarrioré o ambiente de desenvolvimento oficial daPalme é o mais famoso ambiente integrado (IDE) para a linguagemC.

28

Page 51: Monografia apresentada ao Departamento de Ciên- cia da ...

O PRC Tools, integra várias ferramentas como oGCC(compilador), oGDB(depurador),PilRC (compilador de recursos), entre outros. Porém, ele nãodisponibilizava uma maneira fácil de utilizar estas ferramentas, era tudo re-alizado manualmente. Assim, surgiram algumasIDEs como oVFDIDE,PilotMag e o Falch.net.

• Embedded Visual Tools

Descrição: Conjunto de ferramentas distribuídas gratuitamente pelaMicro-softpara o desenvolvimento de aplicações completas para dispositivos base-ados emWindows CE.

Sistema operacional:Windows CEe variações.

Custo: Gratuito.

Características: OEmbedded Visual Toolsprovê duas ferramentas para o de-senvolvimento das aplicações: oEmbedded Visual C++, baseado noVisualC++ paradesktops, e o Embedded Visual Basic, baseado noVisual Basicparadesktops. Além destas, também são disponibilizados emuladores parao teste de aplicações.

• Tecnologias baseadas emJava

Descrição: Para o desenvolvimento utilizando as ferramentas daSun Mi-crosystems(criadora doJava), temos oPersonal JavaparaWindows CEe oJ2ME MIDP/CLDCparaPalmOS. Outra tecnologia baseada emJava, masnão relacionada com aSun, é oSuperWaba, que pode ser utilizado tanto noWindows CE, quanto noPalmOS.

As características e vantagens das tecnologias baseadas emJavaserão des-critas com maiores detalhes nas próximas seções.

Além das ferramentas e linguagens de programação citadas anteriormente,existem várias outras menos famosas e que não chegaram a ser avaliadas pro-fundamente. Para o desenvolvimento emPalmOS, por exemplo, a empresaPalm[PALMOS (2003)] apresenta todas as ferramentas existentes. Para o desenvolvi-mento em dispositivos baseados emWindows CEe suas variações, as principaisferramentas já foram citadas, sendo a principal delas oEmbedded Visual Tools.

As próximas seções discutem as tecnologias realmente utilizadas no projeto,começando pela tecnologiaJava, utilizada no desenvolvimento de quase todos ossistemas criados.

29

Page 52: Monografia apresentada ao Departamento de Ciên- cia da ...

2.7 A TecnologiaJava

Esta seção apresenta uma das mais importantes tecnologias escolhidas para se uti-lizar neste projeto, a tecnologiaJavadaSun Microsystems

A tecnologiaJavasurgiu como um produto indireto de um pequeno projeto,conhecido porGreen Project, iniciado porPatrick Naughton, Mike SheridaneJames GoslingdaSun Microsystemsem 1991 [BYOUS (2002)],[SUN (2003b)].

É curioso o fato de as pessoas se referirem à tecnologiaJava, como se a mesmase tratasse apenas de uma linguagem de programação. Neste sentido, é importantedestacar queJava não se trata apenas de uma linguagem de programação, mastambém de uma plataforma poderosa de desenvolvimento. Essa característica seráevidenciada ao longo das próximas seções.

O objetivo desta seção é apresentar os conceitos básicos da tecnologiaJava, osquais serão necessários para a compreensão dos sistemas desenvolvidos no projeto.A tecnologiaSuperWabaserá apresentada na seção 2.9.

2.7.1 A Linguagem de ProgramaçãoJava

A linguagem de programaçãoJavaé uma linguagem de alto nível que pode sercaracterizada por ser uma linguagem: simples, segura, dinâmica, robusta, portável,orientada a objetos e de alta performance [GOSLING (1996)].

Para executar os programas desenvolvidos em Java, o processo é feito em duasetapas:

• Na primeira etapa, o programa é compilado, traduzindo-se o código fonteem uma linguagem intermediária (bytecodes).

• Na segunda etapa, obytecodes, que é independente da máquina em que foigerado, é passado para o interpretador da máquina

Esse processo é ilustrado na figura 2.15.

30

Page 53: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 2.15: Processo de compilação e interpretação de um programa desen-volvido na linguagem de programaçãoJava - Fonte: Avaliação da tecnolo-gia J2ME no contexto de desenvolvimento de jogos multiplayers para celulares[ASSIS (2003)]

Pode-se perceber que a alta portabilidade da linguagemJavase deve a esseprocesso de compilação e interpretação dos programas. Porém, este processo temtambém uma desvantagem que é uma certa lentidão quando comparado com lin-guagens de programação que possuem compiladores que geram códigos nativos,isto é, códigos para uma plataforma específica. Porém, isso tem sido melhoradocom a geração de interpretadores através de tecnologiasjust-in-time compilers4,que melhoram sua performance, sem perder a portabilidade, que é uma de suascaracterísticas principais, como mostra a figura 2.16.

4just-in-time compilerssão tecnologias empregadas durante a implementação de interpretado-res que visam melhorar a performance dos mesmos. No caso da plataformaJava, essas técnicassão capazes de traduzir em tempo de execução obytecode Java, para código de máquina de umadeterminada CPU

31

Page 54: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 2.16: Portabilidade apresentada pela linguagemJava - Fonte: Avaliaçãoda tecnologia J2ME no contexto de desenvolvimento de jogos multiplayers paracelulares[ASSIS (2003)]

2.7.2 A Plataforma de DesenvolvimentoJava

Como mencionado no início desta seção, a tecnologiaJava, mais do que uma lin-guagem de programação, se trata de uma grande plataforma de desenvolvimento.

A plataformaJava, diferente das plataformas comuns dispostas emhardwaree software, é uma plataforma unicamente desoftware, que inclui duas partes prin-cipais [CAMPIONE (2002)]:

• Java Virtual Machine (JVM): responsável pela portabilidade da tecnologia,é ela quem realiza a tradução do código criado pelo programador num có-digo compatível com a arquitetura em que o programa será executado. Temfunções de gerência de memória, segurança, alternância de várias linhas deprocessamento em execução, dentre outras.

• Java API (Java Application Programming Interface): grande coleção decomponentes desoftware, que provê várias funcionalidades ao programa-dor como interface gráfica, criptografia, conexões,etc.

Dentre as várias versões desenvolvidas desta plataforma, destaca-se a versãoJava 2, a partir da qual se criou uma divisão da plataforma em três diferentesedições:

• Java 2 Platform, Standard Edition (J2SE)[J2SE (2002)], voltada para o de-senvolvimento de aplicações para computadoresdesktopconvencionais;

32

Page 55: Monografia apresentada ao Departamento de Ciên- cia da ...

• Java 2 Platform, Enterprise Edition (J2EE)[J2EE (2002)], com ênfase nodesenvolvimento de aplicações servidoras para empresas com necessidadede servir seus consumidores, fornecedores e empregados com soluções só-lidas e completas de negócios. Ela é um superconjunto daJ2SEe adicionaAPIspara a computação do lado do servidor.

• Java 2 Platform, Micro Edition (J2ME)[J2ME (2002)], é um conjunto detecnologias e especificações desenvolvidas para pequenos dispositivos comosmart cards, pagerse telefones celulares. Ela usa um subconjunto dos com-ponentesJ2SE, tais como subconjuntos das máquinas virtuais eAPIsmaisfracas. Representa um retorno às origens doJava.

A Figura 2.17 ilustra a relação entre essas edições bem como o alvo de aplica-ção para cada uma delas.

Figura 2.17: Versões da linguagemJavae seus respectivos alvos de aplicação -Fonte: Avaliação da tecnologia J2ME no contexto de desenvolvimento de jogosmultiplayers para celulares[ASSIS (2003)]

2.8 A TecnologiaWaba

O objetivo desta seção é apresentar a tecnologiaWaba, que tem como principalvariação a tecnologiaSuperWabaquer será analisada na próxima seção.

Esta seção proporciona um conhecimento mais profundo da tecnologiaWaba,definindo suas principais características, vantagens e desvantagens.

33

Page 56: Monografia apresentada ao Departamento de Ciên- cia da ...

2.8.1 Definição da tecnologiaWaba

A tecnologiaWaba[WABA (2003a)], desenvolvida inicialmente porRick WilddaempresaWabasoft, é voltada para o desenvolvimento de sistemas para pequenosdispositivos. Ela é constituída de uma linguagem de programação e uma plata-forma de programação, baseadas na linguagem e plataforma definidas pela tecno-logiaJava. Assim, o formato de escrita de códigos é semelhante ao deJava, sendoum subconjunto desta linguagem, e também se utiliza a idéia de máquina virtualpara ganhar portabilidade entre os mais diversos tipos dePDAs. O formato dosby-tecodes Wabatambém está relacionado com o formato utilizado peloJava. Wabaé freqüentemente comparada à plataformaJ2ME por possuírem quase o mesmoescopo de campo de atuação.

Por causa da maneira como oWabafoi projetado, desenvolvedores podem usarferramentas de desenvolvimentoJavapara desenvolver programasWaba. Entre-tanto, Wabanão é derivado deJava e não possui nenhuma ligação com aSunMicrosystems, proprietária da marcaJava.

Assim como na plataformaJ2ME, a linguagem de programação, a máquinavirtual e aAPI Wabaforam otimizadas para o uso em pequenos dispositivos. Al-gumas classes que foram incluídas naAPI Wabapermitem que programas escritosnesta plataforma possam executar em qualquer máquina virtualJava, comoap-pletsou aplicações normais. Com uma máquina virtualWabanativa, o mesmoprograma pode executar em um pequeno dispositivo, como umPalmPilotou Poc-ketPC.

2.8.2 Características doWaba

Esta subseção faz um resumo das principais características da tecnologiaWabaetambém apresenta as suas especificações.

As características principais doWabasão:

• Similaridade com a tecnologiaJava: A estrutura da tecnologiaWabaé simi-lar a deJava, masWabanão éJava. Cada uma possui uma máquina virtual,um conjunto deAPIs e uma linguagem de programação próprios.

• Execução em máquinas virtuaisJava: Um programa feito em Waba pode serexecutado em qualquer máquina virtualJava, inclusive comoapplets. Isto éfeito através de classes que servem como pontes entre asAPIs Java e Waba.Esta característica permite o desenvolvimento de programas nodesktopcomposterior instalação no dispositivo móvel.

34

Page 57: Monografia apresentada ao Departamento de Ciên- cia da ...

• Custo baixo: as máquinas virtuaisWabasão gratuitas, bem como okit dedesenvolvimento de sistemas. Todo estesoftwareé gerenciado pela licençaGNU, a mesma do sistema operacionalLinux.

• Flexibilidade: como o código fonte da máquina virtualWabaé livre, pode-se adicionar qualquer característica a ela. Uma das possibilidades é a adiçãode suporte a funções nativas dos dispositivos desejados.

As especificações Waba são:

• Waba Virtual Machine.

• Waba Class Library.

• Waba Software Development Kit.

A Waba Virtual Machine(em português, Máquina VirtualWaba) ou simples-menteWabaVMfoi projetada de maneira a executar um subconjunto das instruçõesbytecodesdefinidas pela especificação da máquina virtualJava, que está definidaem [LINDHOLM (1999)], por Lindholm.

A Waba Class Library(em português, Biblioteca de ClassesWaba) foi proje-tada de maneira a possibilitar uma programação simples, mas isso não significa quenão seja possível construir programas avançados. Foram incluídas classes básicasresponsáveis porI/O, rede, interface com o usuário e manipulação de gráficos.

O Waba Software Development Kit(em português, Conjunto de Ferramentaspara o Desenvolvimento emWaba) ou simplesmenteWabaSDK, consiste em umadocumentação de referência, um conjunto de classesJavae algumas ferramentasque são utilizadas para a compilação do código criado.

As classesJavaque vem em conjunto com oWabaSDKsão chamadas de pon-tes pelo fato delas implementarem as classes daAPI Wabade modo que elas pos-sam ser executadas em uma máquina virtualJava. A Figura 2.18 ilustra de umamaneira mais adequada esta relação.

Figura 2.18: Executando uma aplicaçãoWabaem máquinas virtuaisJava- Fonte:The WabaSoft Development Kit[WABA (2003b)]

35

Page 58: Monografia apresentada ao Departamento de Ciên- cia da ...

Assim, as classes que vêm em conjunto com aWabaVMe o WabaSDKsãodiferentes. As classes naWabaVMchamam métodos nativos do dispositivo, en-quanto que as doWabaSDKsão direcionadas para o desenvolvimento em compu-tadores com máquinas virtuaisJava. A figura 2.19 ilustra a estrutura de classesquando se está executando uma aplicaçãoWabanaWabaVM.

As classesWabanativas e as doWabaSDKpossuem a mesmaAPI. Assim,pode-se escrever um programa nodesktope executá-lo através doWabaSDKpara,em seguida, colocá-lo em funcionamento em um dispositivo com aWabaVMins-talada sem nenhuma modificação.

Figura 2.19: Executando uma aplicaçãoWabanaWabaVM- Fonte:The WabaSoftDevelopment Kit[WABA (2003b)]

2.8.3 Vantagens da tecnologiaWaba

Segundo informações pesquisadas no site da própria empresaWabasoft, algunstópicos que podem levar a escolha doWabacomo uma ferramenta para o desen-volvimento de aplicações para dispositivos móveis são:

• Mobilidade:Wabafoi projetado para dispositivos pequenos, geralmente mó-veis. A máquina virtual Waba possui menos de 64KB de memória (incluindoasAPIs) e executa programas em menos de 10KB de memória.

• Funcionalidade:Wabapermite o desenvolvimento rápido de programas paraqualquer plataforma através de ferramentas de desenvolvimento baratas, fa-miliares e fáceis de usar. A linguagemWabaé orientada a objetos e incluialgumas características importantes, como o coletor de lixo automático.

• Confiança: como oWabautiliza coletor de lixo automático, programas es-critos nesta linguagem raramente ocasionam o travamento do dispositivo.

• Portabilidade: com oWabapode-se escrever um programa e executar depoisnoPalmPilot, Windows CEou qualquer outra plataforma que suporteJava.

36

Page 59: Monografia apresentada ao Departamento de Ciên- cia da ...

2.9 A TecnologiaSuperWaba

A tecnologiaSuperWabaé uma variação da tecnologiaWaba. Esta seção seráresponsável por apresentar todas as suas características e um pouco de sua história.

2.9.1 Como surgiu oSuperWaba

No início de 2000 existiam duas linguagens, ambas em versãobeta, para o desen-volvimento de aplicações em sistemasPalmOS. Estas linguagens eram oKVM, daSun Microsystemse participante da plataformaJ2ME, e o Waba. Nesta mesmaépoca, um brasileiro chamado Guilherme Campos Hazan desejava desenvolveraplicações para seuhandheld. Guilherme experimentou então oKVM, mas poucotempo depois se deparou com oWaba, que segundo ele, era muito simples de tra-balhar, afirmando que ao final de uma tarde, já tinha seu primeiro programaPalmrodando em seuPalmProfessional. [HAZAN (2002)]. Como Guilherme Hazanhavia gostado doWaba, propôs a si mesmo o desenvolvimento de um programafinanceiro utilizando-o. O resultado foi que não era possível realizar tal tarefa de-vido a simplicidade exagerada da tecnologia: Não havia, por exemplo, como inse-rir um registro no meio do banco de dados, mas somente no final [HAZAN (2002)].Utilizando seus conhecimentos avançados de computação e aproveitando do fatode o código doWabaser livre, Guilherme começou a adicionar algumas funçõesà versão original e, querendo dividir estas melhorias com outros usuários, criouo SuperWaba. Guilherme desejava, na verdade, queRick Wild, criador doWaba,fundisse as duas versões, mas isso nunca ocorreu [HAZAN (2002)].

O SuperWabacomeçou a ser aprimorado para oPalmOS, pois esta era a plata-forma que Guilherme desejava dominar. Segundo ele, até a versão 1.21, oSu-perWabaera apenas uma versão melhorada doWaba, com uns poucos métodosnativos a mais e algumas classes, como a classeWindow(no Wabaoriginal nãohaviam janelaspopup). O SuperWabafoi portado para oWindows CEatravés daajuda de uma pessoa ligada a comunidade criada por Guilherme [HAZAN (2002)].

Durante oito meses de trabalho, Guilherme foi capaz de incluir várias me-lhorias noSuperWabacom relação a versão original, algumas delas de grandeimportância [HAZAN (2002)]. Estas melhorias foram:

• Suporte a tons de 4 cores de cinza.

• Suporte a inúmeras funções gráficas que não existiam noPalmOSoriginal.

• Adição de efeitos3d aos controles originais doPalmOS.

37

Page 60: Monografia apresentada ao Departamento de Ciên- cia da ...

• Suporte a precisão de 64bits (tiposdoublee long).

• Suporte a bibliotecas emC e emJava(até então, a única forma de se adicio-nar bibliotecas nativas era mudando a máquina virtual e, conseqüentemente,tornando-a incompatível com a versão oficial).

• Fontes customizáveis.

• Diterização automática de imagens coloridas.

• Suporte aspritee detecção de colisão (para jogos).

• Janelaspopupe arrastáveis.

• Suporte athreads.

• Velocidade de execução dobrada.

• Melhorias propostas e enviadas por membros da comunidade, como suporteaUSBe IR, e aos modelos deScannerdaSymbol Technologies.

Em Outubro de 2001, Guilherme tomou a importante decisão de se dedicarexclusivamente aoSuperWaba, deixando o seu emprego atual na época. Isto pro-vocou uma melhora incrível à tecnologia. Um novo gerenciador de memória comcoletor de lixo disponibilizava aos programas toda a memória doPalm (SegundoGuilherme Hazan [HAZAN (2002)], o Waba original tinha 16kb de memória dis-poníveis e oSuperWaba, antes do novo gerenciador, 50kb). Foi também adicio-nado suporte aExceptions.

Segundo Guilherme, o objetivo doSuperWabaé, após sua concretização nomercado dehandhelds, atingir as plataformas de telefonia celular.

Em abril de 2002, oSuperWabaestava com mais de 3000 usuários cadastrados,em mais de 100 países. Estudantes, empresas de pequeno e grande porte são osmaiores utilizadores doSuperWaba. O interessante, dentre estes clientes, é quenem sempre a empresa é uma empresa de informática, mas sim de serviços oualimentação, que criaram pequenas equipes de informática para tentar resolverseus problemas, e com oSuperWabaconseguiram [HAZAN (2002)].

Vale lembrar que oSuperWabaé distribuído sob a licençaLesser General Pu-blic License(LGPL) e, sendo assim, vem com o código fonte junto e éROYALTEEFREE, ou seja, a empresa não paga nada para distribuir produtos feitos sob a plata-forma [HAZAN (2002)]. Na verdade, a partir de Dezembro de 2004, com a versão5.0, oSuperWabapassa a ter dois pacotes de desenvolvimento:

38

Page 61: Monografia apresentada ao Departamento de Ciên- cia da ...

• Pacote Comunitário: Distribuído gratuitamente para a criação de protóti-pos de aplicativos mais complexos, implementação de soluções abertas oupesquisas de universidades, com algumas limitações de bibliotecas da ferra-menta.

• Pacote Profissional: Versão completa da ferramenta, distribuída por meio deuma licença de 1350 reais a ser paga anualmente para desenvolvimento deaplicativos proprietários.

2.9.2 Diferenças entre oWabae oSuperWaba

Desde que a versãoWaba1.0bfoi lançada, em 14 de fevereiro de 2000, ele nuncamais foi modificado porRick Wild, seu criador. Existem algumas pessoas quemelhoraram um pouco a versão 1.0b, através de um projeto nosourceforgecomo codinomewaba, mas segundo informações do site doWaba[WABA (2003c)],eles também não a modificam desde maio de 2001. OSuperWaba, por sua vez,desde a versão 1.0G até a versão atual (versão 5.0) sofreu mais de 31 lançamentos.Da versão 1.0G, de julho de 2002, até a versão atual foram mais de um lançamentopor mês.

Com relação aos programasWarp (Waba Resource Packager) e Exegen5, exis-tentes na tecnologiaWaba, estes se tornaram programasJavanormais, ou seja,necessitam do interpretadorjava.exeinstalado na máquina para serem executados.Esta mudança torna o desenvolvimento emSuperWabamultiplataforma. Outramudança está no fato de não existir mais os arquivosWRP(espécie de arquivo zipcom todos os elementos utilizados na aplicação) paraWindows CEexistente naplataformawaba, deve-se usar o mesmo arquivoPDButilizado peloPalmOS.

Para terminar, a tabela 2.2 apresenta uma comparação entre oSuperWabae oWabaem relação a diversas categorias.

2.9.3 Diferenças entre oJ2ME e oSuperWaba

O objetivo doSuperWabaé prover uma plataforma para o desenvolvimento deaplicações emPDAs, que são dispositivos com grandes restrições de recursos. Oobjetivo doJ2ME também é proporcionar uma plataforma de desenvolvimento

5Warp e Exegensão ferramentas utilizadas para geração de arquivos de um determinado pro-grama para serem executados noPDA. O Warpcaptura, a partir da classe principal, todas as classese imagens que são utilizadas por ela e se encontram na definição do caminho da classe (classpath) eos armazena no arquivoPDB. O Exegengera o arquivoPRC, que guardará o ícone e algumas outrasinformações, como proteção contra cópia e versão do seu produto

39

Page 62: Monografia apresentada ao Departamento de Ciên- cia da ...

Descrição Waba SuperWabaNúmero de pacotes (exceto ojava.lang, waba.applet e pacotesde extensão).

36 69

Tamanho (classes + VM). 72.3Kb 293KbComparação de tempo de exe-cução(executando o programaBench).

390860ms 162900ms

Memória disponível para pro-gramas em PalmOS.

32kb Ilimitado

Suporte a exceções. Não SimSuporte a cores. Não(presente na

versão do source-forge)

Tons de cinza e co-res em todos os dis-positivos

Suporte a tipos double/long (pre-cisão de 64 bits)

Não Sim

Interface com o usuário. Extremamentesimples

Muito completo

Tabela 2.2: Comparação entre oWabae oSuperWaba- Fonte: SuperWaba - Su-perWaba X Outras Plataformas[SW (2004b)]

para estes dispositivos, mas de uma maneira diferente. OJ2ME não define umaespecificação única, pois isto é impossível no seu mercado alvo. São várias asespecificações definidas, cada uma voltada para um certo grupo de dispositivosque compartilham características em comum.

Para resumir, oJ2MEdefine configurações eprofiles. Uma configuração defineumaAPI básica e uma máquina virtual para um grupo grande de dispositivos. Umprofile é um perfil construído sobre uma configuração e visa limitar o grupo dedispositivos em que ela pode atuar através do acréscimo de certas característicasparticulares a um grupo menor de dispositivos. Assim, para desenvolver emJ2ME,basta escolher a configuração e oprofile cujas características melhor se adequamao aparelho alvo.

Para o desenvolvimento emPDAs, deve-se utilizar a configuraçãoCLDC, queimplementa aKVM como máquina virtual, e oprofile MIDP 1.0. Mas esteprofilenão foi desenvolvido visando o mercado dePDAs, mas sim o de celulares. Assim,como os celulares possuem restrições de recursos bem maiores que osPDAs, ao

40

Page 63: Monografia apresentada ao Departamento de Ciên- cia da ...

se desenvolver para umPDA não se utiliza todo o potencial possível do aparelho.A Figura 2.20 compara as duas plataformas.

Figura 2.20: Comparação entreSuperWabae J2ME - Fonte: SuperWaba - Su-perWaba X Outras Plataformas[SW (2004b)]

41

Page 64: Monografia apresentada ao Departamento de Ciên- cia da ...

42

Page 65: Monografia apresentada ao Departamento de Ciên- cia da ...

Capítulo 3

Metodologia

Neste capítulo será apresentada a metodologia empregada no desenvolvimentodeste trabalho, bem como o ambiente de desenvolvimento, a rede de comunica-ção em que o sistema está inserido e as tecnologias e plataformas adotadas.

3.1 Pesquisa-Ação

O presente trabalho trata-se de um desenvolvimento experimental de umsoftware,baseando-se nas linhas de estudo e pesquisa de tecnologia da informãção aplicadaà Segurança Pública.

O método utilizado baseia-se na pesquisa-ação, com abordagem qualitativa,com o objetivo de aumentar a compreensão do caso em estudo.

Segundo Thiollent [THIOLLENT (1997)], na pesquisa-ação aplicada em sis-temas de informação, o pesquisador participa da implementação de um sistema e,simultaneamente, realiza intervenções de ordem técnica. No contexto da informa-ção a pesquisa-ação tem sido pensada como instrumento adaptado ao estudo, emsituação real, das mudanças organizacionais que acompanham a introdução de no-vas tecnologias, principalmente as baseadas na informática. Com ela pretende-sefacilitar a implementação e a assimilação das novas técnicas.

3.2 Ambiente de Desenvolvimento

O presente trabalho foi desenvolvido no Núcleo de Desenvolvimento de Proje-tos da Sexta Região da Polícia Militar, que tem sede na cidade de Lavras/MG eabrange uma totalidade de 141 cidades e 9 Distritos. A Sexta Região de Polícia

43

Page 66: Monografia apresentada ao Departamento de Ciên- cia da ...

Militar é dividida em seis comandos de Unidades Operacionais, sendo estes: oOitavo Batalhão com sede em Lavras, o Vigésimo Batalhão com sede em PousoAlegre, o Vigésimo Quarto Batalhão com sede em Varginha, o Vigésimo NonoBatalhão com sede em Poços de Caldas, a Quinta Companhia Independente comsede em Itajubá e a Décima Quarta Companhia Independente com sede em SãoLourenço.

Para o desenvolvimento do trabalho, contou-se com a seguinte infraestrutura:

• Computadoresdesktoppara o desenvolvimento de todas as partes do sistema(COPOM, servidor e viatura).

• PDAs para testes relacionados com o sistema das viaturas.

• Acesso à redewirelessUFLA.

• Disponibilização de viaturas por parte da PMMG, para realização de testesrelativos ao sistema.

• Apoio teórico dos professores do Departamento de Ciência da Computação(DCC) da Universidade Federal de Lavras (UFLA) e do Chefe do Núcleo deDesenvolvimento de Projetos da Sexta Região de Polícia Militar.

3.3 Rede de Comunicação, Plataformas e Tecnologias

O ambiente de comunicação do sistema é o da redewirelessdo provedorUFLA-Net com o padrão de tecnologiaWi-Fi (Wireless Fidelity), que são redes locaispertencente ao padrãoIEEE 80211de redes sem fio, que utilizam transmissão porFHSS e DSSS, definidos com detalhes na seção 2.3. A redewirelessdaUFLANeté composta pelos seguintes elementos:

• Para a transmissão de sinais: Duas antenas omni-direcionais, que são ante-nas capazes de transmitir sinais de um único ponto para vários outros pon-tos simultaneamente. Essas antenas estão localizadas na Serra da Bocaina eZona Norte da cidade de Lavras, Minas Gerais.

• Para a conexão de clientes: uma antena direcional, que concentra o sinal emuma única direção e um adaptadorWi-Fi compigtail. No caso específico dautilização dePDAs pode-se utilizar tanto o adpatorWi-Fi compigtail comocartõeswirelessembutidos no aparelho que realizam conexão direta, alémde um ponto de acesso sem fio (bridgeouacess-point).

44

Page 67: Monografia apresentada ao Departamento de Ciên- cia da ...

O alcance da rede é de cerca de mais ou menos 40 Km, provendo acesso rá-pido com links que, por meio de testes realizados, já chegaram até 11 Mbps. Comomecanismo de segurança, a rede implementa o protocolo de segurançaWired Equi-valent Privacy(WEP), definido na seção 2.5.5.

O desenvolvimento do sistema foi feito em computadoresdesktopcom a pla-taformaWindows XP, e osPDAs utilizados nos testes durante o desenvolvimentoforam os da plataformaWindows CEePalmOS 5.

As tecnologias adotadas no desenvolvimento dos sistemas foram as seguintes:

• Sistema do COPOM: tecnologiaJava,( J2SE - Java 2 Plataform, StandardEdition).

• Sistema das viaturas: tecnologiaSuperWaba, padrão de desenvolvimento deaplicações para dispositivos móveis, baseado emJava.

• Sistema Servidor : tecnologiaJava( J2EE - Java 2 Plataform, EnterpriseEdition).

• SGBD para armazenamento e gerenciamento de informações compartilha-das pelos sistemas:SGBD Microsoft SQLServer2000.

Para a implementação dos três sistemas utilizou-se a ferramentaNetBeansdaempresaSun Microsystems[NETBEANS (2004)], própria para o desenvolvimentode aplicativos da plataformaJava.

Inicialmente, o sistema foi documentado na linguagemUnified Modeling Lan-guage(UML)[UML (2003)] utilizando-se a ferramentaRational Rose EnterpriseEdition. A modelagem da interface do sistema foi feita utilizando-se a ferra-mentaMicrosoft Visio[VISIO (2003)], e a modelagem do banco de dados foi feitautilizando-se a ferramentaERwin[ERWIN (2004)].

45

Page 68: Monografia apresentada ao Departamento de Ciên- cia da ...

46

Page 69: Monografia apresentada ao Departamento de Ciên- cia da ...

Capítulo 4

Resultados e Discussão

Este capítulo tem por objetivo descrever maiores detalhes sobre o projeto. A seção4.1 apresenta a modelagem do sistema, criada e utilizada durante o desenvolvi-mento do mesmo. A seção 4.2, descreve todas as características e funcionalidadesdo sistema. As seções 4.3 e 4.4 apresentam uma discussão sobre as tecnologiasadotadas no desenvolvimento do sistema. A seção 4.5 apresenta os testes realiza-dos e os resultados obtidos.

4.1 Modelagem do Sistema

Para que o desenvolvimento do projeto fosse feito de maneira simples e com maiorqualidade optou-se pela documentação do mesmo antes do início de sua implemen-tação propriamente dita.

Na primeira fase da documentação, com o objetivo de conhecer melhor oescopo do projeto, foi criado o Documento de Requisitos SisComPM, identifi-cando em alto nível suas principais funcionalidades, divididas em requisitos dosistema. Esses requisitos descrevem aquilo que o sistema deve fazer e em que con-dições. O documento de requisitos pode ser encontrado no site oficial do sistema[SISCOMPM (2004)].

Depois de aprovado, o documento de requisitos foi utilizado como base para acriação da modelagem do sistema, com o objetivo principal de facilitar a posteriormanutenção do mesmo, prevendo, antes do início da implementação, os princi-pais problemas que poderiam ocorrer, buscando soluções para os mesmos. A mo-delagem foi feita utilizando-se a linguagemUnified Modeling Language(UML)[UML (2003)], que é uma linguagem padrão para modelagem de sistemas. Foram

47

Page 70: Monografia apresentada ao Departamento de Ciên- cia da ...

criados diagramas de caso de uso, que indicam em um nível mais alto o comporta-mento do sistema, descrendo determinada funcionalidade. Geralmente existe umacorrespondência de 1 para 1, entre os diagramas de caso de uso e os requisitos doprojeto constantes no Documento de Requisitos. Foram criados também os dia-gramas de classe que indicam em um nível mais baixo, a organização do sistemaem pacotes e classes, segundo o paradigma de Orientação a Objetos.

Os diagramas de caso de uso do sistema estão ilustrados nas figuras 4.1, 4.2,4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 4.10, 4.11, 4.12, 4.13, 4.14, 4.15, 4.16, 4.17.

Figura 4.1: Diagrama de Caso de Uso - Esquema Geral - Fonte: Documentaçãodo Sistema

48

Page 71: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.2: Diagrama de Caso de Uso - Efetuar Logon no Sistema do COPOM -Fonte: Documentação do Sistema

Figura 4.3: Diagrama de Caso de Uso - Efetuar Logon no Sistema da Viatura -Fonte: Documentação do Sistema

49

Page 72: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.4: Diagrama de Caso de Uso - Efetuar Logoff no Sistema da Viatura -Fonte: Documentação do Sistema

Figura 4.5: Diagrama de Caso de Uso - Efetuar Logoff no Sistema do COPOM -Fonte: Documentação do Sistema

50

Page 73: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.6: Diagrama de Caso de Uso - Acionar Viatura - Fonte: Documentaçãodo Sistema

Figura 4.7: Diagrama de Caso de Uso - Ler Informações sobre o Acionamento -Fonte: Documentação do Sistema

51

Page 74: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.8: Diagrama de Caso de Uso - Indicar Partida da Viatura - Fonte: Docu-mentação do Sistema

52

Page 75: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.9: Diagrama de Caso de Uso - Ler Informações sobre a Partida da Viatura- Fonte: Documentação do Sistema

53

Page 76: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.10: Diagrama de Caso de Uso - Indicar Chegada da Viatura - Fonte: Do-cumentação do Sistema

54

Page 77: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.11: Diagrama de Caso de Uso - Ler Informações sobre a Chegada daViatura - Fonte: Documentação do Sistema

55

Page 78: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.12: Diagrama de Caso de Uso - Encerrar Ocorrência - Fonte: Documen-tação do Sistema

56

Page 79: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.13: Diagrama de Caso de Uso - Ler Informações sobre o Encerramentoda Ocorrência - Fonte: Documentação do Sistema

57

Page 80: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.14: Diagrama de Caso de Uso - Enviar Mensagem para o COPOM -Fonte: Documentação do Sistema

Figura 4.15: Diagrama de Caso de Uso - Enviar Mensagem para a Viatura - Fonte:Documentação do Sistema

58

Page 81: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.16: Diagrama de Caso de Uso - Ler Mensagem enviada pela Viatura -Fonte: Documentação do Sistema

Figura 4.17: Diagrama de Caso de Uso - Ler Mensagem enviada pelo COPOM -Fonte: Documentação do Sistema

59

Page 82: Monografia apresentada ao Departamento de Ciên- cia da ...

Parte dos diagramas de classe do Sistema está ilustrada na figura 4.18. Afigura 4.19 ilustra os pacotes que formam o Sistema Servidor e sua dependênciaem relação aos pacotes do Sistema da Viatura.

Figura 4.18: Diagrama de Classes do Pacotebr.ufla.comp.siscompm.bean- Fonte:Documentação do Sistema

Figura 4.19: Pacotes do Sistema Servidor - Fonte: Documentação do Sistema

60

Page 83: Monografia apresentada ao Departamento de Ciên- cia da ...

A base de dados do sistema também foi modelada, e a partir dessa modelagemfoi possível a criação automática das tabelas que compõem atualmente o banco dedados do sistema. O modelo relacional do banco de dados SisComPM, com suasrespectivas tabelas e relacionamentos está ilustrado na figura 4.20.

Figura 4.20: Modelo Relacional - Banco de Dados SisCompm - Fonte: Documen-tação do Sistema

61

Page 84: Monografia apresentada ao Departamento de Ciên- cia da ...

4.2 O Sistema SisComPM

O SisComPM é um sistema de comunicação em redeswireless, que tem comoobjetivo principal prover uma maior segurança na comunicação entre o Centro deOperações Policial Militar (COPOM) e viaturas policiais militares no momento doatendimento de ocorrências.

A comunicação ocorre entre dois sistemas:

• Sistema do COPOM: sistema acessado através de um computadordesktoppelo policial de plantão no COPOM, responsável pelo acionamento de vi-aturas para o atendimento de ocorrências. As figuras 4.21 e 4.22 ilustramrespectivamente a tela delogone a tela inicial do Sistema do COPOM.

• Sistema da Viatura: sistema acessado através de um dispositivo móvel (PDA)pelo policial na viatura, responsável pelo atendimento da ocorrência. A fi-gura 4.23 representa a tela delogondo Sistema da Viatura.

Figura 4.21: Sistema do COPOM - Tela de Logon - Fonte: Execução do Sistema

62

Page 85: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.22: Sistema do COPOM - Tela inicial - Fonte: Execução do Sistema[SISCOMPM (2004)]

63

Page 86: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.23: Sistema da Viatura - Tela delogon - Fonte: Execução do SistemaSisComPM [SISCOMPM (2004)]

No sistema, uma viatura pode apresentar diferentes estados:

• Viatura Não Acionada, aguardando acionamento (figura 4.24).

• Viatura Acionada, aguardando partida para o local da ocorrência (figura4.25).

• Viatura Acionada, partindo para o local da ocorrência (figura 4.26)

• Viatura Acionada, no local da ocorrência (figura 4.27).

64

Page 87: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.24: SisComPM - Viatura Não Acionada, aguardando acionamento -Fonte: Execução do Sistema SisComPM [SISCOMPM (2004)]

Figura 4.25: SisComPM - Viatura Acionada, aguardando partida para o local daocorrência - Fonte: Execução do Sistema [SISCOMPM (2004)]

65

Page 88: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.26: SisComPM - Viatura Acionada, partindo para o local da ocorrência -Fonte: Execução do Sistema SisComPM [SISCOMPM (2004)]

Figura 4.27: SisComPM - Viatura Acionada, no local da ocorrência - Fonte: Exe-cução do Sistema SisComPM [SISCOMPM (2004)]

Durante a transição de um estado para o próximo, o Sistema da Viatura envia

66

Page 89: Monografia apresentada ao Departamento de Ciên- cia da ...

para o Sistema do COPOM as informações obtidas durante o estado anterior, quesão armazenadas no banco de dados. As principais informações compartilhadaspelos dois sistemas são:

• Informações sobre as viaturas conectadas naquele momento (figura 4.28).

• Informações sobre o acionamento enviadas pelo COPOM à viatura tais comonome do solicitante, local da ocorrência, etc (figuras 4.30 e 4.29).

• Informações sobre o local de onde a viatura partiu para o atendimento daocorrência. Essa informação pode ser útil para prever o tempo que a viaturapoderá levar para chegar ao local da ocorrência, no caso de situações deemergência (figuras 4.31 e 4.32).

• Informações sobre a chegada da viatura no local da ocorrência tal comolocalização do solicitante e do local da ocorrência (figuras 4.33 e 4.34).

• Informações sobre as providências tomadas no encerramento da ocorrênciatais como apreensão de armas, drogas, etc (figuras 4.35 e 4.36).

Figura 4.28: SisComPM - Informações sobre viaturas conectadas ao sistema -Fonte: Execução do Sistema SisComPM [SISCOMPM (2004)]

67

Page 90: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.29: SisComPM - Acionamento da Viatura - Fonte: Execução do SistemaSisComPM [SISCOMPM (2004)]

Figura 4.30: SisComPM - Informações sobre o acionamento recebidas pelo Sis-tema da Viatura - Fonte: Execução do Sistema[SISCOMPM (2004)]

68

Page 91: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.31: SisComPM - Informações sobre o local de partida da viatura para oatendimento da ocorrência enviadas pelo Sistema da Viatura - Fonte: Execução doSistema SisComPM [SISCOMPM (2004)]

Figura 4.32: SisComPM - Informações sobre o local de partida da viatura para oatendimento da ocorrência recebidas pelo Sistema do COPOM - Fonte: Execuçãodo Sistema SisComPM [SISCOMPM (2004)]

69

Page 92: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.33: SisComPM - Informações sobre a chegada da viatura ao local da ocor-rência enviadas pelo Sistema da Viatura - Fonte: Execução do Sistema SisComPM[SISCOMPM (2004)]

Figura 4.34: SisComPM - Informações sobre a chegada da viatura ao local daocorrência recebidas pelo Sistema do COPOM - Fonte: Execução do Sistema Sis-ComPM [SISCOMPM (2004)]

70

Page 93: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.35: SisComPM - Informações sobre as providências tomadas no encer-ramento da ocorrência enviadas pelo Sistema da Viatura - Fonte: Execução doSistema SisComPM [SISCOMPM (2004)]

Figura 4.36: SisComPM - Informações sobre as providências tomadas no encer-ramento da ocorrência recebidas pelo Sistema do COPOM - Fonte: Execução doSistema SisComPM [SISCOMPM (2004)]

71

Page 94: Monografia apresentada ao Departamento de Ciên- cia da ...

Desta maneira, é possível obter um histórico de todas as ocorrências atendi-das pelas viaturas em um determinado período, tornando possível, por exemplo, aidentificação de áreas com grandes índices de criminalidade na cidade, a partir daanálise de dados estatísticos do sistema.

O sistema funciona da seguinte maneira:

• Uma pessoa realiza uma chamada por telefone ao COPOM, especificando aocorrência.

• O policial de plantão no COPOM, uma vez conectado ao sistema, visualizaas viaturas conectadas ao mesmo, escolhe uma das viaturas que estejamdisponíveis e realiza o acionamento (figura 4.29).

• O policial na viatura recebe um aviso de que sua viatura foi acionada, for-nece uma resposta e parte para o atendimento da ocorrência (figura 4.37).

Figura 4.37: SisComPM - Aviso de novo acionamento recebido pelo Sistema daViatura - Fonte: Execução do Sistema [SISCOMPM (2004)]

Tanto durante o atendimento de uma ocorrência quanto durante o período emque a viatura aguarda um acionamento, é possível que mensagens sejam trocadaspelos operantes dos sistemas do COPOM e da Viatura. As figuras 4.38, 4.39, 4.40,4.41, 4.42 e 4.43 ilustram uma troca de mensagem entre os sistemas.

72

Page 95: Monografia apresentada ao Departamento de Ciên- cia da ...

A rede de comunicação em que o sistema está inserido é ilustrada na figura4.44.

O Sistema do COPOM e o Sistema da Viatura não se comunicam diretamente.A comunicação entre os mesmos é intermediada pelo banco de dados, por meioda utilização deStored Procedures1. Essa arquitetura permite que as informaçõestrocadas pelo sistema estejam centralizadas, facilitando sua posterior recuperação.

A tecnologia utilizada no Sistema do COPOM, especificada na seção 2.7, per-mite que o mesmo tenha acesso direto ao banco de dados por meio da rede privativada Polícia Militar. Já a tecnologia utilizada no Sistema da Viatura, especificada naseção 2.9, não permite o acesso direto ao banco de dados, de maneira que foi ne-cessário a criação de um terceiro sistema (Sistema Servidor ou ponteHTTP(HyperText Transfer Protocol)2) responsável por esse acesso. Maiores informações sobreeste sistema são encontradas na seção 4.4.

As informações trocadas entre o Sistema da Viatura e o Sistema Servidor, emambos os sentidos, serão criptografadas. O método de criptografia utilizado estádefinido na seção 4.4. A utilização da criptografia dos dados entre o Sistema da Vi-atura e o Sistema Servidor é necessária, pois existe a possibilidade de um simplesnavegadorWEBinteragir com o sistema, capturando dados do banco de dados atra-vés do Sistema Servidor. Com a utilização da criptografia essa interação se tornaimpraticável.

As principais vantagens desse novo sistema de comunicação sobre o sistemade comunicação via rádio, vigente atualmente, é a possibilidade de transmissãode informação de uma maneira mais segura e a possibilidade de armazenamentodas informações trocadas para posterior geração de relatórios. Apesar disso, éimportante dizer que o novo sistema proposto não foi feito para substituir total-mente o sistema de comunicação à rádio utilizado atualmente, mesmo porque emmomentos em que é necessário uma maior agilidade e rapidez na transmissão, osistema via rádio é mais vantajoso. O novo sistema de comunicação deve ser utili-zado juntamente com o sistema atual quando existir a necessidade de se transmitirinformações confidenciais que não deveriam ser captadas por nenhum tipo de in-vasor.

Além das funcionalidades básicas do sistema, existem ainda algumas tarefasrelacionadas à implementação de sistemas celulares, que são executadas implici-tamente pelos sistemas. Essas tarefas são:

1Stored Proceduresou Procedimentos Armazenados são conjuntos de comandosSQL, que re-alizam uma determinada operação. É um programa na linguagemSQLcompilado, que pode serexecutado manualmente ou por outros programas

2HTTPé um protocolo utilizado para transmissão de dados na rede

73

Page 96: Monografia apresentada ao Departamento de Ciên- cia da ...

• Verificação de novos acionamentos e novas mensagens.

• Verificação e atualização de usuários inativos nos sistemas aos quais não foipossível informar ao sistema a desconexão.

• Gerenciamento delogons(acesso ao sistema) de mesmo usuário.

Figura 4.38: SisComPM - Mensagem enviada pelo Sistema da Viatura - Fonte:Execução do Sistema SisComPM [SISCOMPM (2004)]

74

Page 97: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.39: SisComPM - Aviso de nova mensagem recebida pelo Sistema do CO-POM - Fonte: Execução do Sistema [SISCOMPM (2004)]

Figura 4.40: SisComPM - Nova mensagem recebida pelo Sistema do COPOM -Fonte: Execução do Sistema SisComPM [SISCOMPM (2004)]

75

Page 98: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.41: SisComPM - Mensagem enviada pelo Sistema do COPOM - Fonte:Execução do Sistema SisComPM [SISCOMPM (2004)]

Figura 4.42: SisComPM - Aviso de nova mensagem recebida pelo Sistema da Vi-atura - Fonte: Execução do Sistema [SISCOMPM (2004)]

76

Page 99: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.43: Nova Mensagem recebida pelo Sistema da Viatura - Fonte: Execuçãodo Sistema SisComPM [SISCOMPM (2004)]

Figura 4.44: Diagrama de Rede do projeto SisComPM - Fonte:Projeto SisComPM- Sistema de Comunicação Segura entre 190 e viaturas PM[SISCOMPM (2004)]

77

Page 100: Monografia apresentada ao Departamento de Ciên- cia da ...

4.3 Adoção das tecnologiasJavaeSuperWabae do SGBDSQLServer

A tecnologiaJavafoi a tecnologia escolhida para ser utilizada no Sistema do CO-POM (J2SE), no Sistema Servidor (J2EE) e indiretamente no Sistema da Viatura,com a adoção da tecnologiaSuperWaba. Essa tecnologia foi adotada devido a suaalta portabilidade (vide seção 2.7), permitindo a utilização do sistema em diversasplataformas.

Outro motivo foi a facilidade de programação oferecida pela linguagem, de-vido à total Orientação a Objetos3 apresentada pela mesma e por se tratar nãoapenas de uma linguagem de programação, mas de um padrão de tecnologia quese encontra em constante melhoria, com um número cada vez maior de desenvol-vedores.

Outro fator importante foi o fato de ser uma plataforma livre, ou seja, não énecessário o pagamento de nenhum tipo de licença para utilizá-la, de maneira queeste fato colocou a plataformaJavacomo uma das principais candidatas à adoçãono projeto, permanecendo acima de outras linguagens comoDelphi, Visual Basic,tecnologias.NET, dentre outras, que são ferramentas de ótima qualidade, porémpagas.

Para a escolha da tecnologia a ser utilizada no sistema dosPDAs nas viaturas,diversas outras foram analisadas. Cada uma dessas tecnologias está definida naseção 2.6.

O formato de arquivos gerados pela ferramenta foi fundamental para a suaescolha ou eliminação do projeto. Como exemplo, imagine uma ferramenta quegere apenas aplicações em um formato nativo para um sistema operacional comoo PalmOS, mas os aparelhos disponíveis para o projeto são baseados apenas emWindows CE, esta ferramenta seria eliminada, por mais poderosa que fosse. Agora,imagine que para o projeto estão disponíveisPDAs com três tipos de sistemasoperacionais. Uma ferramenta que gere arquivos em um formato intermediário eque possua oruntime (vide seção 2.6) para os três sistemas operacionais seria amais adequada.

Antes de escolher, Bernstein [BERNSTEIN (2001)] propõe que a análise doprojeto como um todo deve ser realizada pensando em todos os parâmetros possí-

3Orientação a Objetos é um paradigma de programação que pressupõe uma organização desoft-wareem termos de coleção de objetos discretos incorporando estrutura e comportamento próprios.Este paradigma garante uma maior independência entre diferentes partes do sistema, permitindouma maior reusabilidade de suas funcionalidades

78

Page 101: Monografia apresentada ao Departamento de Ciên- cia da ...

veis. Alguns destes parâmetros, são:

• Tamanho e performance do aplicativo X Facilidade e rapidez de desen-volvimento: aplicativos desenvolvidos na linguagemC terão um tamanhobem menor do que os demais. Quando bem escrito, sua performance poderáser bem diferenciada. Entretanto, o desenvolvimento emC requer tempoe habilidade. Caso se preencha estes dois pré-requisitos, o resultado finalcom certeza será bem melhor. Se o programador conseguir montar uma bi-blioteca de funções, o problema do tempo será reduzido. A flexibilidade dalinguagemC proporciona um poder muito grande, como o acesso a todasas funções nativas do sistema operacional, no caso doPalmOS. O desenvol-vedor deve estar bem consciente nessa escolha, pois o nível de dificuldadeé bem maior comparado aos das ferramentasRAD (Rapid Application De-velopment), o que implica no fator tempo, que é tão importante na hora dedimensionar o prazo de um projeto para um cliente.

Assim, deve-se verificar com o cliente o tempo disponível para o desenvolvi-mento do projeto e então definir se a ferramenta a utilizar será mais flexível,mas de desenvolvimento lento ou uma ferramentaRAD. Caso se exija per-formance a escolha mais adequada é por ferramentas flexíveis, mas o fatortempo ainda deve ser considerado.

• Runtime: avaliar o espaço ocupado e se a empresa cobra um custo porrun-time, ou seja, se ao desenvolver um projeto ainda deverá se pagar um custode distribuição porPDA que executará o programa. Deve-se avaliar a realnecessidade deruntime.

• Preço das ferramentas: avaliar o preço da ferramenta a ser utilizada, toman-do como parâmetros o número de desenvolvedores (instalações) na empresae, caso tenharuntime, o custo de cada um instalado nosPDAs de seus clien-tes. Ficar também atento à licença de uso por tempo determinado, além dapolítica deupgrades.

Analisando-se as ferramentas propostas na seção 2.6 de acordo com os crité-rios definidos acima, estão listadas abaixo cada uma das ferramentas, bem comoos motivos pelos quais as mesmas não foram adotadas no projeto.

• NSBasic[NSBASIC (2003)]: apesar de ser uma ferramenta poderosa e comcaracterísticas mais que adequadas para o projeto, inclusive por seu carátermultiplataforma, não pode ser utilizada devido o seu custo, considerado altopara o projeto.

79

Page 102: Monografia apresentada ao Departamento de Ciên- cia da ...

• PDA ToolBox [PDA (2003)]: a sua utilização foi descartada pelo fato deapresentar suporte apenas aoPalmOS.

• PocketStudio[POCKET (2003)]: sua utilização no projeto não foi aprovadadevido ao fato de apresentar suporte apenas aoPalmOSe pelo seu alto custo.

• Satellite Forms MobileApp Designer[SATELLITE (2003)]: o custo foi oque tornou a escolha desta ferramenta inadequada para a utilização no pro-jeto.

• A linguagem C, o CodeWarrior, o PRC Tools: o custo e o caráter de plata-forma única destas ferramentas impediu o seu uso no projeto.

• Embedded Visual Tools: o fato de estar disponível apenas para o desenvol-vimento emWindows CEnão permitiu a sua escolha.

• Tecnologias baseadas em Java (J2ME): o fato de não existir uma máquinavirtual gratuita para o sistema operacionalWindows CEnão permitiu sua es-colha, uma vez que no início do projeto osPDAs disponíveis tinham apenasesse sistema operacional.

A tecnologiaSuperwaba(vide seção 2.9) foi escolhida para ser utilizada nesteprojeto, na implementação do sistema para osPDAs nas viaturas, devido ao fatode ser totalmente gratuita, muito poderosa, com uma interface gráfica completa emultiplataforma.

A figura 4.45 mostra as vantagens e desvantagens doSuperWabaem relação aoutras plataformas de desenvolvimento.

80

Page 103: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.45: Vantagens doSuperWabaem relação a outras plataformas de desen-volvimento - Fonte:SuperWaba - SuperWaba X Outras Plataformas[SW (2004b)]

Outras características que levaram à escolha doSuperWabacomo plataformade desenvolvimento do sistema dosPDAs nas viaturas, foram [SW (2004c)]:

• O SuperWabaé uma comunidade crescente de usuários: mais de 1300 novosusuários por mês.

• Em 2003, oSuperWaba SDKteve cerca de 25000downloadse o site recebeumais de 250.000 visitas.

• Uma comunidade que contribui gratuitamente: por volta de 60 por cento doSDK foram contribuições de seus membros.

• Várias novas versões por ano e inúmeras melhorias e correções.

• A plataforma é disponibilizada sob a licençaGNU Lesser General PublicLicense (LGPL), que permite o desenvolvimento de aplicações comerciais,ao mesmo tempo que protege a plataforma de ser fechada.

• Portabilidade: aplicações desenvolvidas são executadas em todos osPDAssuportados nas várias plataformas sem requererem quaisquer modificaçõesou especializações.

81

Page 104: Monografia apresentada ao Departamento de Ciên- cia da ...

• Bibliotecas poderosas e fáceis de usar, focadas no desenvolvimento rápidode aplicações, com um baixo uso de memória.

• Baixo custo de propriedade, livre de licenças (royalty free) até a versão 4 ederivadas.

• Acesso ao código fonte, permite customizações para necessidades específi-cas, além de permitir a verificação, por questões de segurança ou estratégi-cas.

• Baixo risco de descontinuidade: O projetoSuperWabapode ser mantidopela própria comunidade e não está nas mãos de apenas uma companhia.

As figuras 4.46, 4.47, 4.48 e 4.49, mostram outras características importantesdessa plataforma, com relação a quatro categorias: Máquina Virtual, Bibliotecasde Extensão, Entrada e Saída e Interface com o usuário.

Figura 4.46: Características doSuperWabacom relação à Máquina Virtual - Fonte:SuperWaba - Características da Plataforma[SW (2004a)]

82

Page 105: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.47: Características doSuperWabacom relação a Bibliotecas de Extensão- Fonte:SuperWaba-Características da Plataforma[SW (2004a)]

Figura 4.48: Características doSuperWabacom relação a Entrada e Saída - Fonte:SuperWaba - Características da Plataforma[SW (2004a)]

Figura 4.49: Características doSuperWabacom relação a Interface com o usuário- Fonte:SuperWaba - Características da Plataforma[SW (2004a)]

O banco de dados escolhido para armazenamento e gerenciamento dos dadosrelacionados ao sistema de comunicação foi oMicrosoft SQLServer2000.

83

Page 106: Monografia apresentada ao Departamento de Ciên- cia da ...

O Microsoft SQLServer2000 é uma ferramenta proprietária poderosa de ar-mazenamento e gerenciamento de dados, criada pela Microsoft.

EsteSGBD(Sistema Gerenciador de Banco de Dados) foi escolhido para oprojeto pelos seguintes motivos [SQL (2000)]:

• Alta capacidade de armazenamento de informações.

• Maior segurança dos dados.

• Ferramentas gráficas que facilitam a manipulação de registros e tabelas.

• Possibilidade de utilização de procedimentos armazenados (Stored Proce-dures).

No desenvolvimento do projeto optou-se pela utilização deStored Procedures.Essa escolha foi devido à independência da parte lógica do sistema em relaçãoao banco de dados fornecida, permitindo que alterações relacionadas a este sejamtotalmente independentes do código do sistema, não sendo necessário recompilá-lonovamente, garantindo assim, uma maior portabilidade do sistema desenvolvido.

4.4 O Pacote de ComunicaçãoPDA/SGBDcom utilizaçãode Criptografia por Chave Privada

Durante o desenvolvimento do sistema foi descoberto um problema grave: A tec-nologia adotada para implementação do sistema dosPDAs nas viaturas não pos-suia umaAPI (Applicatino Interface Protocol)4 nativa de conexão com um SGBDqualquer. Para o sistema a ser desenvolvido isso era essencial, uma vez que umdos objetivos do mesmo era armazenar todas as informações trocadas pelo sistemade maneira centralizada de modo a facilitar sua recuperação para elaboração derelatórios. Sem o acesso a um SGBD essa funcionalidade estaria prejudicada, eos dados seriam armazenados localmente no banco de dadosPDB do PDA (videseção 2.6). Para resolver este problema, foi desenvolvido um pacote genérico decomunicação entre umPDA e um SGBD quaisquer. Este pacote é formado pelosseguinte elementos:

• Um Sistema Servidor que representa a ponteHTTP, responsável pelo acessodo Sistema da Viatura ao SGBD.

4API é um conjunto normalizado de rotinas e chamadas desoftwareque podem ser referenciadaspor um programa aplicativo para acessar serviços essenciais de uma rede

84

Page 107: Monografia apresentada ao Departamento de Ciên- cia da ...

• Uma classe de formatação de texto denominadaMyResultSet, que organizatodas as informações na forma de um vetor de registros a serem armaze-nados no banco de dados (no caso de informações transmitidas no sentidoPDA/SGBD) ou registros retornados de uma consulta ao banco de dados (nosentidoSGBD/PDA).

Uma vez desenvolvido o pacote de comunicação, outro problema, desta vez re-lacionado à segurança do sistema foi observado: Devido à transmissão de informa-ções entre o Sistema da Viatura e o Sistema Servidor ocorrer via protocoloHTTP,existe a possibilidade de uma interação com o sistema por outras vias que nãoseja o próprio sistema, como um navegadorWEBcomum, no qual um intruso teriaacesso facilmente a informações confidenciais da polícia.

Neste sentido, observou-se a necessidade de utilização de métodos de cripto-grafia para codificar informações que fossem trocadas entre o Sistema da Viaturae o Sistema Servidor antes que as mesmas fossem enviadas via protocoloHTTP.Sendo assim, um possível invasor poderia acessar a informação por meio de umnavegadorWEB, porém, ele teria acesso à mensagem codificada, sem nenhum tipode significado associado, e esta seria decodificada ao alcançar seu destinatário.

O método de criptografia escolhido para implementação no sistema foi o mé-todo de Criptografia por Chave Privada (vide seção 2.5.1). Esse método foi es-colhido pela maior facilidade de implementação e maior rapidez no processo deencriptar e decriptar mensagens, apesar da necessidade de criação de uma chaveprivada ou simétrica para cada par transmissor/receptor. Uma idéia proposta parafuturos trabalhos seria a implementação de um Centro de Distribuição de Chaves,especificado na seção 2.5.1, que ameniza o problema da privacidade e distribuiçãoda chave simétrica ou ainda a implementação do método de Criptografia por ChavePública (vide seção 2.5.2), visando aumentar ainda mais a segurança do sistema.

De acordo com a figura 4.50, a transmissão de dados entre o Sistema da Viaturae o Sistema Servidor utilizando o método de Criptografia por Chave Privada seráfeita da seguinte maneira:

• Inicialmente têm-se uma mensagem (informação) a ser transmitida por qual-quer um dos sistemas (Viatura ou Servidor)

• A mensagem é criptografada pelo sistema com uma determinada chave si-métrica e enviada via ponteHTTPpelaInternet.

• Ao chegar ao sistema destinatário, a mensagem é decriptografada utilizando-se a mesma chave simétrica do transmissor, que também é conhecida peloreceptor.

85

Page 108: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.50: Transmissão de Informações entre Sistema Servidor e Sistema da Vi-atura utilizando Criptografia por Chave Privada - Fonte:Projeto SisComPM - Sis-tema de Comunicação Segura entre 190 e viaturas PM[SISCOMPM (2004)]

4.5 Testes e Resultados Aplicados

Durante o desenvolvimento do sistema foram realizados vários testes. Os tes-tes relacionados ao Sistema do COPOM e Sistema Servidor foram realizados emcomputadoresdesktop, e os testes relacionados com o Sistema da Viatura foramrealizados tanto no simulador doPDA presente nos computadoresdesktop, comono próprioPDA, o que facilitou bastante a visualização de detalhes de interface.

A configuração dos equipamentos utilizados na realização dos testes de desen-volvimento é a seguinte:

• Computadoresdesktoppara testes com o Sistema do COPOM e SistemaServidor:Pentium4, 1.2GHz, 512MB de memória, na plataformaMicrosoftWindows XP.

• PDAs para testes com o Sistema da Viatura:Pocket PCcom processadorARM, 16 MB de memória, na plataformaPocket PC(Windows CE) (figura4.51);Palm Tungsten Ccom processadorARM, 32MB de memória na pla-taformaPalmOS 5.2.1, com teclado aclopado (figura 4.52).

86

Page 109: Monografia apresentada ao Departamento de Ciên- cia da ...

Figura 4.51: HP Jornada 560 - Fonte:InfoSync Norge[INFOSYNC (2004)]

Figura 4.52: Palm Tungsten C - Fonte:ARC Organisers[ARC (2004)]

É importante destacar que como a tecnologia utilizada no desenvolvimentodo Sistema da Viatura é multiplataforma (vide seção 2.9), existem outrosPDAs,de custos mais acessíveis, que também podem ser utilizados na implantação dosistema. A tecnologiaSuperWabafunciona na maioria dosPDAs com o sistemaoperacionalPalmOSeWindows CE/PocketPC/Windows Mobilepara modelos comWindows CE2.11 ou superior. De acordo com informações do site doSuperWaba,os seguintes aparelhos suportam a plataforma:

• Aparelhos com sistema operacional PalmOS:

– AlphaSmart: Dana, Dana.wireless

– Handspring:

∗ Treo180, 270, 600

∗ Visor Pro(PalmOS3.5)

∗ Visor Platinum

∗ Visor Prism

– Palm:

∗ Professional, III, IIIx, IIIc, IIIe, V, Vx

87

Page 110: Monografia apresentada ao Departamento de Ciên- cia da ...

∗ M105, M500, M505, M515, M125, M130

∗ Zire, Zire 31,Zire 71,Zire 21,Zire 72

∗ TungstenC, TungstenW, TungstenT, TungstenT2, TungstenT3,TungstenE

– Samsung: SPH-I330, SPH-i500

– Kyocera: 6035, 7135

– Sony CLIE: S300, T-615, S360, TG50, N770C/E, NX70V, NX60, SJ30,SL10, SJ33, SJ20, TJ27

– Symbol: SPT 1500, 1550 e 1700

• Aparelhos com sistema operacional Windows CE/PocketPC:

– Acer: n10

– Casio: Cassiopeia

– Compaq: iPaq 3670, iPaq H3970, iPaq 3900, iPaq 2210, iPaq 1910,iPaq1915,iPaq1930,Pocket PC Aero1550,iPaqh1940/1945

– Dell: AximA5, AximX3i, AximX30

– Fujitsu-Siemens: LOOX720

– HHP: Dolphin9550 (ARM XScalePXA255)Pocket PC4.20.0

– HP: Jornada 540 (SH3), Jornada 680/690

– HTC: Falcon, Harrier

– O2: XDA II

– Samsung: Nexio Wireless Hand PC(S160)

– Siemens: SIMpadSL4

– Symbol: PDT8100 (Pocket PC3.0), PDT8146 (Pocket PC2002)

– Toshiba: e350Intel PXA

– Vandem: Clio(HPC 2.11)

– ViewSonic: V35, V37

– Yakumo: 300 GPS

– Psion: WorkAbout Pro

• Plataforma Windows 32 bits que funcionam os emuladores:

– Windows98

88

Page 111: Monografia apresentada ao Departamento de Ciên- cia da ...

– Windows2000

– WindowsXP

• Plataforma Linux que funcionam os emuladores:

– WINE - Windows Emulator

• Plataforma Symbian que funcionam os emuladores:

– P800

Ainda segundo informações do site doSuperWaba, até a versão 4.1 da plata-forma, os seguintes PDAs não a suportam:

• Visor comPalmOS3.1H1.

• SonyNR70Japanese Version

A tabela 4.1 apresenta alguns dosPDAs compatíveis com o sistema desenvol-vido na plataformaSuperWaba,com seus respectivos preços.

Os testes realizados durante o desenvolvimento dos sistemas foram feitos deforma separada para cada um dos mesmos, procurando identificar possíveis falhasde implementação. Para isso os principais testes realizados foram:

• Testes de conexão com banco de dados (Sistema do COPOM e Sistema daViatura).

• Testes para verificar a corretude de comandos SQL implementados na formadeStored Procedures, incluindo consultas, inserções e deleções.

• Testes de Lógica, procurando certificar se a lógica do sistema estava sendoobedecida. Ex: No Sistema do COPOM, ao realizar o acionamento, certi-ficar que as viaturas disponíveis estão conectadas ao sistema, impedindo aocorrência de acionamentos inválidos;

• Testes de Interface, procurando identificar a melhor forma de interação como usuário, facilitando o uso da ferramenta. Esses testes foram importantesprincipalmente na implementação da interface do Sistema da Viatura, pelaexistência de limitações do próprioPDA.

89

Page 112: Monografia apresentada ao Departamento de Ciên- cia da ...

PDA Sistema Operacional PreçoPalm TungstenC (Wi-Fiintegrado)

PalmOS 5.2.1 1864 reais

HP Jornada 560 Microsoft Pocket PC 1800 reaisCasioE-125 Microsoft Pocket PC 1399 reaisCompaq IpaqH3650 Microsoft Pocket PC 1499 reaisCompaq IpaqH3670 Microsoft Pocket PC 1799 reaisPalm TungstenT5 PalmOS 5.4 1736 reaisHP IPAQ rx3715 MobileMedia(Wi-Fi integrado)

Microsoft Windows Mo-bile 2003

1931 reais

HP IPAQ rx3115 MobileMedia(Wi-Fi integrado)

Microsoft Windows Mo-bile 2003

1499 reais

HP IPAQ hx2415 PocketPC (Wi-Fi integrado)

Microsoft Windows Mo-bile 2003

1349,97 reais

HP IPAQ h4355 PocketPC(Wi-Fi integrado + te-clado acoplado)

Microsoft Windows Mo-bile 2003 Premium

1800,97 reais

Tabela 4.1:PDAs compatíveis com a tecnologiaSuperWabae seus preços - Fonte:Pesquisa realizada na internet nos sites oficiais dos vendedores[PALM (2004)],[HP (2004)], [CASIO (2004)]

Após o desenvolvimento do sistema foram realizados outros testes visandocertificar seu real funcionamento em uma redewireless. Esses testes foram reali-zados noCIN-UFLA (Centro de Informática da Universidade Federal de Lavras),em uma ambiente de redeWi-Fi do padrãoIEEE 802.11de redeswireless. Para arealização destes testes foram utilizados os seguintes equipamentos:

• Um computadorNotebookpara o funcionamento do Sistema do COPOM.

• Um PDA para o funcionamento do Sistema da Viatura. Neste caso foi utili-zado oPalm Tungsten C.

• Um ponto de acesso sem fios (Access Point) utilizado para permitir a cone-xão doPDAà redewirelesseficientemente (figura 4.53). Neste caso, não foinecessário a utilização de um adaptadorWi-Fi, pois oPDA utilizado possuium cartão para conexãowirelessembutido.

• Um computadordesktoplocalizado no Núcleo de Desenvolvimento de Pro-

90

Page 113: Monografia apresentada ao Departamento de Ciên- cia da ...

jetos da 6 RPM, configurado na rede daUFLANetpara o funcionamento doSistema Servidor.

Figura 4.53: Ponto de acesso sem fios G - Fonte:Lynksys[LINKSYS (2004)]

Para a implantação do sistema será necessário a utilização dos equipamentosdefinidos acima, além de uma antena direcional em cada viatura para aumentar oalcance do sinal, visando uma transmissão de dados mais eficiente.

O ponto de acesso sem fios a ser utilizado possui duas antenas rosqueadaspara permitir a conexão do mesmo à antena direcional da viatura. A instalação doponto de acesso sem fios é feita diretamente na viatura, utilizando-se um conectorque fornece ao aparelho a energia necessária para seu funcionamento, a partir dabateria do carro policial.

Com a realização dos testes posteriores ao desenvolvimento, que incluíram tes-tes de funcionamento do sistema integrado, simulando o acionamento de viaturase uma rápida troca de mensagens entre os sistemas, foram obtidos bons resulta-dos mostrando uma grande eficiência de comunicação entre os mesmos, poréma velocidade de execução foi prejudicada devido ao grande número de operaçõesrealizadas implicitamente durante a execução do programa e as limitações de re-cursos de memória e processamento do dispositivo móvel.

91

Page 114: Monografia apresentada ao Departamento de Ciên- cia da ...

92

Page 115: Monografia apresentada ao Departamento de Ciên- cia da ...

Capítulo 5

Conclusões

Este capítulo apresenta as principais conclusões do trabalho. A seção 5.1 apresentaas principais dificuldades encontradas e os principais conhecimentos adquiridosdurante o desenvolvimento do projeto. A seção 5.2 apresenta algumas propostaspara trabalhos futuros.

5.1 Alcance dos Objetivos e Dificuldades

O desenvolvimento de aplicativos para dispositivos móveis foi considerada umatarefa árdua e complexa, uma vez que neste tipo de desenvolvimento existem mui-tas restrições impostas pelas limitações do próprio aparelho e pelo ambiente deredes móveis em que o mesmo se encontra. No caso do sistema desenvolvido, al-gumas restrições da plataforma adotada também dificultaram o desenvolvimento.As principais dificuldades encontradas foram:

• Uso restrito de recursos de memória e processamento, prejudicando a imple-mentação da execução concorrente de algumas tarefas do sistema de maneiramais eficiente. Neste caso, a inexistência dethreadspreemptivas1 na pla-taformaSuperWabacontribuiu para a perda de velocidade e eficiência noprocessamento do sistema doPDA.

• Falta de umaAPI para acesso a umSGBDpor parte da plataformaSu-perWaba, resultando na implementação de um terceiro sistema (Sistema

1Threadssão linhas de processamento criadas para diferentes tarefas que devem ser executadasde maneira concorrente em um sistema.Threadspreemptivas realizam alternância entre tarefasconcorrentes, simulando o paralelismo na execução das mesmas

93

Page 116: Monografia apresentada ao Departamento de Ciên- cia da ...

Servidor), que realizasse essa tarefa.

• As limitações referentes à dimensão da tela do dispositivo móvel dificulta-ram a criação de uma interface amigável para o sistema doPDA.

Apesar das dificuldades, muitas foram as vantagens oferecidas pelas platafor-mas adotadas para o desenvolvimento do projeto:

• Pelo fato dos sistemas terem sido desenvolvidos em plataformas livres (Javae SuperWaba), muitas dúvidas puderam ser resolvidas através de listas dediscussão com outros desenvolvedores.

• O desenvolvimento também foi facilitado pela extensa documentação ofe-recida pelas plataformasJavae SuperWaba, que foram muito úteis durantetoda a implementação dos sistemas, especialmente na implementação de es-truturas gráficas.

• Pela característica multiplataforma da tecnologiaSuperWaba, foi possívela utilização de umPDA com um determinado sistema operacional durantetodo o desenvolvimento do sistema e a utilização deste em outrosPDAs comsistemas operacionais diferentes sem a necessidade de mudanças bruscas.

• A implementação de métodos de criptografia foi facilitada pela existênciade estruturas próprias para essa aplicação nas plataformas adotadas (ja-vax.crypto, javax.security).

• A existência de um padrão para desenvolvimento de aplicações servidoras(J2EE) na plataformaJavapossibilitou a criação do Sistema Servidor tam-bém nessa plataforma, padronizando assim a utilização da tecnologiaJavaem todo o projeto.

5.2 Propostas de trabalhos futuros

O objetivo básico deste projeto foi a criação de um sistema de comunicação demaior segurança entre COPOM e viaturas policiais militares, possibilitando a trocae o registro de informações referentes ao atendimento de ocorrências, tornandopossível a geração de relatórios. Com o objetivo de conferir uma melhoria aosistema desenvolvido, algumas propostas para trabalhos futuros são sugeridas:

94

Page 117: Monografia apresentada ao Departamento de Ciên- cia da ...

• Implementação do método de criptografia por Chave Pública, visando umamaior segurança na transmissão de dados no sistema.

• Integração do sistema SisComPM com o sistemaWebda Polícia Militar(Portal da Sexta Região de Polícia Militar), possibilitando a visualização derelatórios detalhados sobre as ocorrências atendidas.

• Integração do sistema SisComPM com o projeto de GeoProcessamento pos-sibilitando um monitoramento das viaturas em tempo real. Esta integra-ção faria com que os policiais deixassem de cadastrar o local de de par-tida da viatura, simplificando o sistema SisComPM. Além da integraçãocom o sistema implementado neste trabalho, isso possibilitaria uma indica-ção do melhor caminho a ser percorrido pela viatura, até o local de aten-dimento, através do algoritmo do caminho mínimo em grafos de Dijkstra[CARVALHO (2003)].

• Implantação de Câmeras de Vídeo, visando a captura de imagens pelo poli-cial militar de serviço na viatura, e o envio dessas imagens a um banco dedados de pessoas presas, para análise, comparação e pesquisa.

95

Page 118: Monografia apresentada ao Departamento de Ciên- cia da ...

96

Page 119: Monografia apresentada ao Departamento de Ciên- cia da ...

Referências Bibliográficas

[ALEXANDRONI (2001a)] Alexandroni, M.,Introdução ao NSBasic., URL:http://www.clubepalm.com.br, Artigo pesquisado em 25 de Abril de2001.

[ALEXANDRONI (2001b)] Alexandroni, M.,Tutorial de Programação em C,Parte 1 ,Introdução., URL: http://www.clubepalm.com.br, Tutorialpesquisado em 16 de Outubro de 2001.

[ALEXANDRONI (2003c)] Alexandroni, M.,PocketStudio: Poder, Produtivi-dade e Facilidade de Uso., URL: http://www.clubepalm.com.br, Ar-tigo pesquisado em 15 de Março de 2003.

[ALVES (2002)] Alves, S.T.;Sistema para configuração e anãlise DE Redes wi-reless para clientes em ambientes Linux, Monografia de Conclu-são do Curso de Bacharelado em Ciência da Computação - Uni-versidade Federal de Lavras, 2002.

[ARC (2004)] ARC Organisers Palm Tungsten C., URL:http://www.arc.be/docs/fiches/organisers/nl/palm/palmtungstenc.htm

[ASSIS (2003)] Assis, W.M.Avaliação da tecnologia J2ME no contexto de de-senvolvimento de jogos multiplayers para celularesMonografia deConclusão do Curso de Bacharelado em Ciência da Computação -Universidade Federal de Lavras, 2002.

[BERNSTEIN (2001)] Bernstein, Ricardo Gruber.,Iniciando o Desenvolvimentona Plataforma PalmOS., URL: http://www.clubepalm.com.br, Ar-tigo pesquisado em 20 de Janeiro de 2001.

97

Page 120: Monografia apresentada ao Departamento de Ciên- cia da ...

[BLUETOOTH (2004)] Bluetooth.org - The Official Bluetooth MembershipSite., URL: http://www.bluetooth.org, Pesquisado em 05 de Junhode 2004.

[BYOUS (2002)] Byous, Jon.,Java Technology: an early history., URL:http://java.sun.com/features/1998/05/birthday.html, Artigo pesqui-sado em 07 de Junho de 2002.

[CAMPIONE (2002)] Campione, Mary; Walrath, Kathy.,About the Java Technology., URL:http://developer.java.sun.com/developer/onlineTraining/new2java-/overview.html, Pesquisado 13 de Maio de 2002.

[CARVALHO (2003)] Carvalho, Bruno M. P. S.Algoritmo de Dijkstra, Departa-mento de Engenharia Informática Universidade de Coimbra, Por-tugal, 2003.

[CASIO (2004)] Casio Net, URL: www.casionet.com, Pesquisado em 21 de De-zembro de 2004.

[CES (2003)] CES Communications LTDA., SecurityRisks of Radio Communications., URL:http://www.cescomm.co.nz/about/radiosecurity.html, Pesquisadoem 21 de Março de 2004.

[CODEWARRIOR (2003)] CodeWarrior, Metrowerks., URL:http://www.metrowerks.com/, Pesquisado em 05 de Maio de2003.

[DEITEL (2002)] Deitel e Deitel.,Internet and Mobile Business: How To Pro-gram, Cap 6 Security., 2002.

[ERWIN (2004)] AllFusion ERwin Data Modeler , URL: http://www.ca.com/,Pesquisado em 20 de Dezembro de 2004.

[FALCH (2003)] Falch.net., URL: http://www.falch.net/, Pesquisado em 05 deMaio de 2003.

[GARCIA (2001)] Garcia, A.,Revista eweek,26 de Março de 2001.,Wep remainsvulnerable., 2001.

98

Page 121: Monografia apresentada ao Departamento de Ciên- cia da ...

[GOSLING (1996)] Gosling, James; McGilton, Henry., The JavaLanguage Environment. A White Paper., URL:http://java.sun.com/docs/white/langenv/index.html, Artigo pesqui-sado em Maio de 2002.

[HAZAN (2002)] Hazan, Guilherme C.,SuperWaba , Uma máquina Virtual bra-sileira., URL: http://www.clubepalm.com.br, Artigo pesquisado em23 de Abril de 2002.

[HP (2004)] HP Online Shopping, URL: www.hpshopping.com, Pesquisado em21 de Dezembro de 2004.

[INFOTECH (2003)] Infotech trendsWorldwide sales of PDAs to reach 35million units by 2005URL: www.infotechtrends.com/ pdaanaly-sis.htm, Pesquisado em 05 de Março de 2003.

[INFOSYNC (2004)] Infosync., URL: http://www.infosync.no/no/news/n/260.html, 20 de Dezembro de 2004.

[J2EE (2002)] Java 2 Enterprise Edition., URL: http://java.sun.com/j2ee/, 05 deMarço de 2002.

[J2ME (2002)] Java 2 Micro Edition., URL: http://java.sun.com/j2me/, 05 deMarço de 2002.

[J2SE (2002)] Java 2 Standard Edition., URL: http://java.sun.com/j2se/, 05 deMarço de 2002.

[LINDHOLM (1999)] Lindholm, Tim; Yellin, Frank.,The Java Virtual MachineSpecification. Second Edition.,1999.

[LINKSYS (2004)] LinksysWAP54G. URL: http://http://www.linksys.com, 20de Dezembro de 2004.

[LOUREIRO, et.Al. (2003)] Loureiro, A.A.F.; Sadok D.F.H.; Mateus G.R., No-gueira J.M.S.; Kelner J.Comunicação sem fio e Computação Mó-vel: Tecnologias, Desafios e Oportunidades., Artigo publicadono Congresso da Sociedade Brasileira da Computação (SBC), emCampinas - SP, 2003.

99

Page 122: Monografia apresentada ao Departamento de Ciên- cia da ...

[MAIA (2003)] Maia, R.M.F.; Bluetooth - Promessas de uma nova tecnologia,Monografia de Conclusão do Curso de Bacharelado em SistemasDe Informação - Faculdade Integrada do Recife, 2003.

[MATEUS, et.Al. (1998)] Mateus G.R; Loureiro, A.A.F.,Introdução à Compu-tação Móvel; Livro publicado pelo Núcleo de Computação Eletrô-nica da Universidade Federal do Rio de Janeiro - URFJ, 1998.

[MOBILE (2004)] Programming Mobile Devices. URL:http://daveandal.net/alshed/mobiledevices/mobiledevices.jpgPesquisado em 20 de Dezembro de 2004

[NELSON (2001)] Nelson, M., Revista Information Week,05 de Feve-reiro de 2001., Untethered doesnt’t mean insecure.,URL:http://www.informationweek.com.

[NETBEANS (2004)] NETBeans., URL: http://www.netbeans.org, Site oficial daferramenta - Pesquisado em 20 de Dezembro de 2004.

[NSBASIC (2003)] NSBasic., URL: http://www.nsbasic.com, Site oficial da fer-ramenta - Pesquisado em 05 de Maio de 2003.

[PALM (2004)] PalmOne, URL: www.palmone.com, Pesquisado em 21 de De-zembro de 2004.

[PALMOS (2003)] PalmOS,PalmSource, Palm OS Tools e Downloads., URL:http://www.palmos.com/dev/tools, Pesquisado em 05 de Maio de2003.

[PDA (2003)] PDA Toolbox., URL: www.pdatoolbox.com, Pesquisado em 05 deMaio de 2003.

[POCKET (2003)] PocketStudio, Pocket-Technologies., URL:http://www.pocket-technologies.com/, Pesquisado em 05 deMaio de 2003.

[RUSSEL (1997)] Russel, S. F.,Wireless Channel Security Tutorial., URL:http://www.public.iastate.edu/ sfr/wireless/wtut1.html, Pesquisadoem 22 de Março de 2003.

100

Page 123: Monografia apresentada ao Departamento de Ciên- cia da ...

[SASSE (2001)] Sasse, Erick., Satellite Forms., URL:http://www.clubepalm.com.br, Pesquisado em 09 de Fevereirode 2002.

[SATELLITE (2003)] Satellite Forms., URL: http://www.pumatech.com, Pesqui-sado em 05 de Maio de 2003.

[SISCOMPM (2004)]Projeto SisComPM - Sistema de Comunicação Seguraentre 190 e viaturas PM., URL: http://www.comp.ufla.br/ hum-berto/projetos/siscompm/index.htm

[SPANGLER (2000)] Sprangler, T.,Revista Interactive Week,10 de Abril de 2000,pags. 28 a 34.,Home is Where the Hack is.,2000.

[SQL (2000)] The SQLServer Home., URL: http://www.microsoft.com/sql, Pes-quisado em 20 de Dezembro de 2004.

[SUN (2002a)] Sun Microsystems.,A Brief History of the Green Project., URL:http://java.sun.com/people/jag/green/, Artigo pesquisado em 28 deNovembro de 2002.

[SUN (2003b)] Sun MicrosystemsIntroduction to Wireless Java R Technology,URL: http://wireless.java.sun.com/getstart/, Pesquisado em 04 deFevereiro de 2003.

[SW (2004a)] SuperWaba - Características da Plataforma, URL:www.superwaba.com.br/pt/vantagens.asp., Pesquisado em 16de Maio de 2004.

[SW (2004b)] SuperWaba - SuperWaba X Outras Plataformas, URL:http://www.superwaba.com.br/pt/swxj2me.asp, Pesquisado em16 de Maio de 2004.

[SW (2004c)] SuperWaba - Develop portable handheld applicationsURL:http://www.superwaba.org/etc/SuperWabaFolderEn.pdf, Pesqui-sado em 20 de Maio de 2004.

[THIOLLENT (1997)] M. São Paulo, AtlasPesquisa-Ação nas organiza-ções,1997.

101

Page 124: Monografia apresentada ao Departamento de Ciên- cia da ...

[TOSO et.Al. (2004)] Toso, R. F.; Andrade, C.E.; Nogueira,F.L.B., Redes sem fio IEEE 802.11., URL:http://www.comp.ufla.br/ rtoso/docs/Wireless.pdf, Pesquisadoem 02 de Junho de 2004.

[US.DEP (2003)] US. Departament of State Foreign Affairs.,Hand-Book Volume 5 - HandBook 2 - Telecomunicações -Managing Radio Networks, Communications., URL:http://foia.state.gov/masterdocs/05fah02/tel0710.pdf, Artigopesquisado em 14 de Novembro de 2003.

[UML (2003)] UML Resource PageURL: http://www.uml.org., Pesquisado em20 de Dezembro de 2004.

[VISIO (2003)] Microsoft Office Online - Visio Home Page URL:http://office.microsoft.com/pt-br/FX010857981046.aspx, Pes-quisado em 20 de Dezembro de 2004.

[WABA (2003a)] WabaSoft., URL: http://www.wabasoft.com., Pesquisado em 20de Julho de 2002.

[WABA (2003b)] The WabaSoft Development Kit ., URL:http://www.wabasoft.com/specsdk.shtml., Pesquisado em 20de Julho de 2002.

[WABA (2003c)] Sourceforge projeto Waba., URL: http://waba.sourceforge.net,Pesquisado em 02 de Maio de 2003.

[WAP (2000)] Wap Forum.,Wireless Application Protocol White Paper.,2000.

102