• Nenhum resultado encontrado

Um sistema P2P ´e descrito como um conjunto de rela¸c˜oes entre pares, onde os pares2 s˜ao autˆonomos e interagem de igual para igual [BOLCER al et, 2007]. Nesta rela¸c˜ao de par, um par pode colaborar com os outros pares oferecendo fun¸c˜oes complementares. Os sistemas P2P foram inicialmente desenvolvidos para as infraestruturas fixas. Hoje eles fazem grande sucesso e s˜ao muito utilizados na Internet. Os sistemas P2P m´oveis s˜ao uma combina¸c˜ao de terminais m´oveis com as redes Ad hoc. Um sistema m´ovel ´e um sistema distribu´ıdo formado de hosts que mudam continuamente de localiza¸c˜oes f´ısicas e estabelecem entre si a rela¸c˜ao de proximidade. Os sistemas P2P m´oveis diferem dos sistemas P2P fixos pelos seguintes aspectos:

• Os pares n˜ao s˜ao sempre conectados;

• As liga¸c˜oes s˜ao breves e tempor´arias (efˆemeras): as desconex˜oes e reconex˜oes s˜ao frequentes e imprevis´ıveis;

• A topologia do sistema muda frequentemente.

Na concep¸c˜ao de middlewares para sistemas P2P m´oveis, al´em das fun¸c˜oes tradi- cionais dos middlewares fixos ´e necess´ario implementar os aspectos da mobilidade acima mencionados. Alguns middlewares que tratam desses aspectos s˜ao relacionados abaixo.

3.5.1

Proem

Proem [KOERTUEM, et al] ´e um middleware aberto destinado a sistemas m´oveis difusos. Ele fornece uma solu¸c˜ao para o desenvolvimento e execu¸c˜ao de aplica¸c˜oes P2P e ferramentas para essas aplica¸c˜oes tais como API, ambiente de execu¸c˜ao, e protocolo de comunica¸c˜ao. Sua arquitetura se articula em torno de quatro entidades: o par, o usu´ario, o espa¸co de dados e a comunidade. O par ´e um terminal m´ovel autˆonomo relacionado a outro. O usu´ario ´e uma pessoa que utiliza um ou v´arios pares. O espa¸co de dados ´e uma cole¸c˜ao de objetos de dados que compartilham e gerem um conjunto de pares. Uma

3.5 Middlewares Peer to Peer - P2P 66

comunidade ´e um conjunto de entidades (pares usu´arios e espa¸co de dados). Em cada comunidade s˜ao definidos direito de acesso e funcionalidades para que ela represente um dom´ınio de confian¸ca. Para um par provar que pertence a uma comunidade, ele deve fornecer um certificado criptografado e assinado por uma autoridade certificadora. As en- tidades s˜ao identificadas por nomes expressos na forma de URI (Uniform Resource Iden- tifier ). O Proem fornece um meio complementar para referenciar as entidades definindo perfis, isso ´e feito atrav´es do profile manager. Um perfil ´e uma estrutura de dados baseados em XML, para descrever a entidade. O Proem ´e composto de um conjunto de protocolos de comunica¸c˜ao que oferecem servi¸co de transporte, definem a sintaxe e a semˆantica das mensagens trocadas entre os pares, conforme mostra a Figura 3.12 estes protocolos s˜ao:

• Protocolo de transporte: baixo n´ıvel, permite o transporte ass´ıncrono de dados de um par para o outro de forma atˆomica;

• Protocolo de presen¸ca: anuncia presen¸ca de um par;

• Protocolo de dados: permite a troca e sincroniza¸c˜ao de dados entre os pares;

• Protocolo de comunidade: oferece servi¸cos `a comunidade como, por exemplo, verificar se um par pertence ou n˜ao `a comunidade.

O ambiente aplicativo do Proem ´e composto de um kit (SDK- Software Development Kit ) de desenvolvimento dos peerlets e um sistema de execu¸c˜ao (Runtime Environment ou Peerlet Engine). Os peerlets s˜ao aplicativos peer to peer simples, adotam o modelo de programa¸c˜ao baseado em eventos. O sistema de execu¸c˜ao ´e constitu´ıdo de trˆes compo- nentes: uma pilha de protocolo, um executivo dos peerlets e um conjunto de servi¸cos que possibilitam a funcionalidade dos peerlets (servi¸co de nome, gest˜ao de dados, registro de eventos etc.). O modo de intera¸c˜ao adotado ´e ass´ıncrono. O Proem implementa o con- ceito de comunidade muito utilizado nos sistemas peer to peer baseado em uma rela¸c˜ao de confian¸ca. Proem apresenta um protocolo de localiza¸c˜ao de servi¸co, mas n˜ao especifica como acessar esses servi¸cos. O compartilhamento de dados entre os pares tamb´em n˜ao ´e definido.

Os middlewares Peer to Peer apresentam uma arquitetura que se adaptam perfeita- mente aos ambientes difusos. Eles permitem criar intera¸c˜oes espontˆaneas e compartilhar recursos e dados sem recorrer a um servidor centralizado. Os middlewares Peer to Peer devem constituir no futuro a base de intera¸c˜ao entre as aplica¸c˜oes e os usu´arios m´oveis, , por´em os middlewares peer to peer tratam pouco da quest˜ao da seguran¸ca. O Proem, por exemplo, se restringe a verificar se um par pertence ou n˜ao a uma comunidade.

3.6

Conclus˜ao

O estudo feito neste cap´ıtulo permite constatar que os middlewares para ambientes m´oveis devem possuir algumas caracter´ısticas comuns independente de seu tipo. Essas propriedades comuns permitem uma melhor adapta¸c˜ao `a natureza dos ambientes m´oveis e `

as necessidades das aplica¸c˜oes. A tabela 3.1 apresenta essas caracter´ısticas. Nela observa- se que: Intera¸c˜ao ass´ıncrona ´e o modo mais adaptado aos ambientes m´oveis, fornece uma solu¸c˜ao aos problemas de desconex˜ao, mudan¸ca de endere¸co, localiza¸c˜ao na rede e latˆencias que s˜ao caracter´ısticas das redes sem fio; Interoperabilidade ´e a integra¸c˜ao em termos de recursos e servi¸cos. Um middleware para ambiente m´ovel deve ser capaz de interagir com servi¸cos de diversos tipos (orientado a objetos, baseado em eventos, espa¸co de tuple etc). Leve: devido ao limite de recursos internos dos dispositivos m´oveis, os middlewares m´oveis devem ser otimizados para oferecer mais servi¸cos e consumir menos recursos computacionais. Gerˆencia de mobilidade: ´e ligada ao problema de desconex˜ao, `

as limita¸c˜oes dos dispositivos (mem´oria e bateria), perda de pacote, varia¸c˜ao de largura de banda e localidade geogr´afica.

3.6 Conclus˜ao 68

Caracter´ısticas Orientado Orientado Tuple P2P a objetos a mensagens

Intera¸c˜ao ass´ıncrona n˜ao sim sim sim Integra¸c˜ao a programa¸c˜ao sim n˜ao n˜ao n˜ao Orientada a Objetos

Integra¸c˜ao a programa¸c˜ao n˜ao sim sim sim Orientada a Eventos

Interoperabilidade sim sim sim sim Gerenciamento de mobilidade bom bom excelente Adaptabilidade a sistemas menor maior menor menor distribu´ıdos de larga escala

Adaptabilidade a Computa¸c˜ao sim sim sim sim nˆomade

Adaptabilidade a Computa¸c˜ao n˜ao sim sim difusa

Leve (exigˆencia de menos n˜ao sim sim sim recurso computacional)

Gerˆencia de Seguran¸ca e pouco pouco pouco pouco Privacidade falado falado falado falado Tabela 3.1: Propriedades dos diferentes tipos de middlewares para Ambientes M´oveis.

As an´alises mostram tamb´em que os middlewares existentes quase n˜ao abordam os problemas da seguran¸ca e privacidade; muitas das solu¸c˜oes existentes s˜ao implementadas na camada de aplica¸c˜ao o que as tornam espec´ıficas, propriet´arias e vulner´aveis. A se- guran¸ca ainda ´e um problema que deve ser gerido em todos os n´ıveis de um sistema distribu´ıdo, associando criptografia, autentica¸c˜ao, auditoria e novos mecanismos como, por exemplo, detec¸c˜ao de intrusos, anonimato e gerˆencia de identidades virtuais. A segu- ran¸ca ´e um campo de pesquisa cheio de desafios. Como contexto para o desenvolvimento e aplica¸c˜ao da nossa proposta foi escolhida a classe dos middlewares baseados em tuple, pois eles tˆem um bom gerenciamento de mobilidade e se adaptam melhor `a computa¸c˜ao nˆomade e difusa.

4

Tecnologia sem Fio e M´ovel

4.1

Introdu¸c˜ao

A computa¸c˜ao m´ovel est´a em pleno desenvolvimento e uma das maiores necessidades ´e a seguran¸ca. Para isso, ´e necess´ario integrar mecanismos e protocolos de seguran¸ca sem prejudicar a qualidade do servi¸co, a mobilidade e os recursos limitados das m´aquinas. Neste cap´ıtulo, apresentamos algumas tecnologias sem fio e m´oveis especificadas pelas normas IEEE 802.11 e ITU (International Telecommunication Union), al´em de uma an´alise e algumas considera¸c˜oes sobre as solu¸c˜oes de seguran¸ca existentes, focando os trˆes protocolos mais utilizados no momento: SSH – Secure Shell ; SSL/TLS – Secure Socket Layer/Transport Layer Security e IPSec – Internet Protocol Security.