View
238
Download
5
Category
Preview:
Citation preview
Nguessan Desire
Um Modelo de Gerencia de Seguranca para
Middleware Baseado em Tuple para
Ambientes Difusos e Nomades
Sao Paulo
2010
Nguessan Desire
Um Modelo de Gerencia de Seguranca paraMiddleware Baseado em Tuple para Ambientes
Difusos e Nomades
Tese apresentada a Escola Politecnica da Universi-
dade de Sao Paulo para obtencao do tıtulo de Doutor
em Engenharia Eletrica
Area de Concentracao: Sistemas Digitais
Orientador: Prof. Dr. Jose Sidnei Colombo Martini
Sao Paulo
2010
Nguessan Desire
Um Modelo de Gerencia de Seguranca paraMiddleware Baseado em Tuple para Ambientes
Difusos e Nomades
Tese apresentada a Escola Politecnica da Universi-
dade de Sao Paulo para obtencao do tıtulo de Doutor
em Engenharia Eletrica
Area de Concentracao: Sistemas Digitais
Orientador: Prof. Dr. Jose Sidnei Colombo Martini
Sao Paulo
2010
Dedicatoria
A minha querida famılia, em especial a Ex-Lieutenant
Yoffoua Yaba Georgette (in memorian).
Agradecimentos
Esta tese e o fruto de mais de quatro anos de incansavel esforco, e tambem de trocas
beneficas e frutıferas colaboracoes. Ela nao poderia ser concluıda sem a preciosa e gen-
erosa participacao de pessoas que compartilham a mesma paixao pela pesquisa cientifica
e tecnologica.
Dirijo, em primeiro lugar, meus sinceros agradecimentos ao meu orientador, prof.
Dr. Jose Sidnei Colombo Martini, pela confianca ao longo desta caminhada. Alem da
paciencia, gentileza e espırito de convivencia (sem esquecer as broncas por vezes merecidas)
que demonstrou ao me orientar, proporcionando-me, em nossos encontros, importantes
trocas de experiencias e ideias tanto na area academica, quanto fora dela.
Agradeco ao professor Dr. Moacyr Martucci Junior, em primeiro lugar, por ter me
apresentado ao meu orientador e pela honra de ter acompanhado o processo de desen-
volvimento dessa tese, alem de suas pertinentes observacoes nas versoes preliminares.
Agradeco a professora Dra. Graca Bressan pelo acompanhamento, discussoes e obser-
vacoes importantes a minha pesquisa.
Agradeco, naturalmente, ao professor Dr. Carlos Becker Westphall da Universidade
Federal de Santa Catarina (UFSC) pela honra de ter sido seu orientando durante o
mestrado, pelo seu incentivo a producao cientıfica e tecnologica, pelo apoio do Labo-
ratorio de Gerencia de Rede do INE/UFSC - Departamento de Informatica e Estatıstica
da UFSC, onde nasceu a ideia dessa tese.
Agradeco aos professores do PCS, em especial aqueles do LSA-Laboratorio de Sistemas
Abertos da Escola Politecnica Departamento de Engenharia de Computacao e Sistemas
Digitais da Universidade de Sao Paulo, por me atenderem e me ajudarem a todo instante.
Meus agradecimentos ao Marcio de Almeida que me ajudou na implementacao da tese.
Agradeco ao professor Dr. Geraldo da Silva, Diretor da FATEC-Sul - Faculdade de
Tecnologia da Zona Sul (Sao Paulo) e membro do Conselho Deliberativo do Centro Paula
Souza, pelas sugestoes pertinentes e construtivas durante a elaboracao deste trabalho e
por ter aceitado o convite para ser membro da banca examinadora.
Agradeco aos colegas professores, funcionarios e, em especial, a professora Dra. Adri-
ane M. Fontana, Diretora da FATEC–SCS (Faculdade de Tecnologia de Sao Caetano do
Sul, que me apoiaram e incentivaram nesta caminhada. Agradeco tambem aos meus
alunos do curso de ASTI (Analise de Sistemas e Tecnologia da Informacao) que me com-
preenderam nos momentos difıceis.
Agradeco a minha famılia, em especial a Gilmari Ana Conte e Madeleine Conte Ngues-
san que me incentivaram e me deram todo o apoio e carinho necessarios a conclusao desse
trabalho.
Agradecer pessoas especiais, exemplos de talento, dignidade, credibilidade, seriedade,
honestidade, competencia, irreverencia, perseveranca e tantos outros bons adjetivos e
praticamente impossıvel. Caso fosse possıvel, faria como Dr. Frederick Frankenstein, me
reconstruiria com um pedaco de cada um de voces. Mestre, espero ter aprendido as licoes
e estar apto a repassa-las. Buscarei incansavelmente este objetivo.
Adriane Fontana, Boni Yavo, Carlos Becker Westphall, Emmanuel Kayembe, Geraldo
da Silva, Gilmari Ana Conte, Gnagna Madeleine, Graca Bressan, Ignace Djokouri (in
memorian), Jose Sidnei Martini, Marcio Ribeiro Galvao, Moacyr Martucci Junior, Nelso
Conte, Nguessan Yoffoua Esaie (in memorian), Rafael do Espirito Santo, Ricardo Shitsuka,
Sandra Moraes, Vilma M. Conte, Yoffoua Amani Catherine, Yoffoua Rosalie, Yoffoua Yaba
Georgette (in memorian) OBRIGADO !
Finalmente agradeco a Deus, pois sem ele, nada disso seria possıvel.
Resumo
Este trabalho explora a gerencia de seguranca e cooperacao de aplicacoes em sistemas
distribuıdos moveis. Neste contexto, e feito um estudo sobre os diferentes middlewares
para ambientes moveis (mobile middlewares): suas capacidades de enfrentar os desafios
da mobilidade e da seguranca. As analises do estudo mostram que esses middlewares de-
vem possuir caracterısticas que lhes permitam uma melhor adaptacao as necessidades das
aplicacoes e a natureza dos ambientes moveis. Os middlewares existentes pouco abordam
a questao da seguranca. A seguranca ainda e um problema complexo que deve ser gerido
em todos os nıveis de um sistema distribuıdo movel, incluindo novos mecanismos. Com
base nessa analise, foi desenvolvido um modelo de gerencia de seguranca que implementa
um mecanismo de autenticacao mutua, confidencialidade, deteccao de intruso e controle
de acesso em ambientes moveis. O objetivo e garantir a confiabilidade, a disponibilidade
de servicos e a privacidade do usuario atraves da tecnologia PET - Privacy-Enhancing
Tecnologies. A ideia e fundamentada em agentes interceptadores e autoridades de segu-
ranca que distribuem tıquetes de seguranca e controlam o acesso a recursos e espacos de
tuple do ambiente. O estudo de caso apresentou resultados satisfatorios que permitem
julgar a pertinencia do modelo desenvolvido. O modelo sera integrado a um sistema de
e-saude.
Palavras-chave: Computacao difusa, computacao nomade, gerencia de seguranca e pri-
vacidade, middleware movel, espaco tuple, agente movel, tecnologia PET.
Abstract
The work exploits the security management and the cooperation of applications in
mobile distributed systems. In this context a study of different mobile middlewares is
made. The study examines their capacities to face the challenges of mobility and security
issues. The analysis shows that the existing middlewares have very few approaches on
security problems; security is still a complex issue to be managed in all the levels of mobile
distributed system including new mechanisms. Based on this analysis, a security man-
agement model is developed that implements a mechanism for mutual authentication,
confidentiality, intrusion detection, access control of mobile agents in mobile environ-
ments, ensures services availability and user privacy, through technology PET (Privacy-
Enhancing Technologies). The idea is based on interceptor agents and security authorities
that distribute security tickets and control the access to resources and Tuple spaces in
mobile environment. The model presents good performance and is integrated to an e-
health system: Relationship Management with Chronic Patient GRPC.
Keywords: Pervasive computing, nomadic computing, privacy and security manage-
ment, mobile middleware, tuple space, PET technology, mobile agent.
Lista de Figuras
2.1 Modelo Geral a, b: interacoes do usuario humano com o espaco de infor-
macao - c: sondagem do ambiente real – d: controle do ambiente real – e:
interacoes fısicas do usuario humano com o ambiente real [BANATRE et
al, 2007]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2 Um exemplo de arquitetura totalmente replicada: as etapas 1, 2 e 3 acon-
tecem no dispositivo portatil movel [BANATRE et al, 2007]. . . . . . . . 34
2.3 Um exemplo de arquitetura com sistema de informacao remoto: a etapa 2
acontece em um servidor centralizado [BANATRE et al, 2007]. . . . . . . 35
3.1 Arquitetura de Mobilidade dos Terminais em CORBA [OMG, 2005]. . . . 49
3.2 Fila de espera no modelo peer to peer [KADDOUR, 2006b]. . . . . . . . . 52
3.3 Modelo Publish/Subscribe: as mensagens depositadas em um topic sao
fornecidas somente as aplicacoes subscritas ao topic [KADDOUR, 2006b]. 53
3.4 Arquitetura de um Sistema JMS [KADDOUR, 2006b]. . . . . . . . . . . . 54
3.5 Arquitetura geral do Ibus//Mobile [SOFTWIRED, 2007]. . . . . . . . . . 57
3.6 Arquitetura do WebSphere Everyplace [DAVE; LINDAMAYL, 2002]. . . . 58
3.7 Overview da arquitetura do Pronto – modelo centralizado [PRONTO, 2003]. 59
3.8 Um exemplo de aplicacao do Steam. A comunicacao entre as entidades do
sistema e feita atraves de eventos de propagacao baseados em aproximacao
dentro de um perımetro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.9 Overview da arquitetura STEAM [RENE; VINNY, 2003]. . . . . . . . . . . 61
3.10 Espacos de Tuple Temporariamente compartilhados onde cada esfera rep-
resenta um agente associado a um espaco de tuple local (ITS). . . . . . . . 63
3.11 FTS: Espacos de Tuple Global – Federated Tuple Space onde cada host ou
dispositivo e associado a um conjunto de ITSs chamado de Host – Level
Tuple Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.12 Arquitetura Geral do Proem [KOERTUEM, et al ]. . . . . . . . . . . . . . 66
4.1 Topologia de uma rede 802.11 - onde BSS1 e BSS2 constituem a topologia
modo infraestrutura e a IBSS em pontilhado o modo ad hoc. . . . . . . . 70
4.2 Estrutura de uma rede celular. . . . . . . . . . . . . . . . . . . . . . . . . 72
6.1 Arquitetura do Modelo de Gerencia de Seguranca EM – Entidade Movel;
EE – Entidade Embarcada (cliente proxy); GRSec – Gerenciador Remoto
de Seguranca; AC – Agente de Controle de Acesso; SMIB (Security Man-
agement Information Base); AA – Agente de Autenticacao; SI – Sistema
de Informacao; DT – Distribuicao de Tıquete. PET - Privacy-Enhancing
Tecnologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.2 Diagrama de Sequencia da Autenticacao e Distribuicao de Tıquete. E - funcao
de Criptografia Simetrica; Ka – Chave mestre de A; Kb – Chave mestre de B;
IDA – Identidade de A; IDB – Identidade de B; N1 uma marca de controle; Ts –
Tıquete de Sessao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.3 Diagrama de contexto derivado do modelo de caso de uso de negocio do SecMo-
bileAgent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.4 Diagrama de Atividades (DA) do caso de uso Configurar perfil. . . . . . . . . . 101
6.5 Diagrama de Atividades (DA) do caso de uso Selecionar Algoritmo. . . . . . . 102
6.6 Diagrama de Atividades (DA) dos casos de uso Gerenciar autenticacao e Dis-
tribuir tıquete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.7 Diagrama de Atividades (DA) dos casos de uso Gerenciar Identidades. . . . . . 105
6.8 Diagrama de Sequencia (DS) do caso de uso Configur perfil. . . . . . . . . . . 106
6.9 Diagrama de classe do LocalMobileAgent. . . . . . . . . . . . . . . . . . . . 108
6.10 Diagrama de classes de Criptografia. . . . . . . . . . . . . . . . . . . . . . . 108
6.11 Interfaces graficas para executar os servicos de seguranca implementados. . . . 111
6.12 Tempo de resposta na mobilidade de agente em rede WIFI AD HOC. . . . . . . 116
6.13 Tempo de resposta na mobilidade de agente em rede de celulares 3G com modem
da CLARO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Lista de Tabelas
3.1 Propriedades dos diferentes tipos de middlewares para Ambientes Moveis. . 68
4.1 Evolucao das redes celulares [IC2, 2007a]. . . . . . . . . . . . . . . . . . . . . 71
6.1 Resumo do escopo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.2 Principais limites do SecMobileAgent. . . . . . . . . . . . . . . . . . . . . . 96
6.3 Benefıcios esperados do produto. . . . . . . . . . . . . . . . . . . . . . . . 97
6.4 Descricao sumaria dos casos de uso do SecMobileAgent. . . . . . . . . . . . 98
6.5 Descricao dos Atores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.6 Elementos do ambiente de teste. . . . . . . . . . . . . . . . . . . . . . . . . 110
6.7 Tempo de resposta e tamanho em KB do SecMobileAgent. . . . . . . . . . 117
Lista de Siglas
AA Agente de Autenticacao
AC Agente de Controle de Acesso
Ad Hoc Temporario / sem Infraestrutura
AH Authentication Header
AO Application Objects
AP Access Point
API Application Programming Interface
AS Associacao Segura - Security Association
CCS Change Cipher Spec Protocol
CORBA Common Object Request Broker Architecture
CV comunicacao por vizinhanca
DHCP Dynamic Host Configuration Protocol
DoS Denial of Service
DT Distribuicao de Tıquete
EAI Enterprise Application Integration - Integracao de Aplicacao de Empresa
EAP Extensible Authentication Protocol
EE Entidade Embarcada
EE Entidade autonoma Embarcada
Ei Entidade i
EM Entidade Movel
EMi Entidade Movel i
EPC Electronic Product Code
EPFL Escola Politecnica de Lausane
ESB Enterprise Service Bus - Canal de Servico de Empresa
ESP Encapsulation Security Payload
FTS Federal Tuple Space
GIOP General Inter ORB Protocol
GPRS General Packet Radio Service - Servico de Radio de Pacote Geral
GPS Global Positioning System
GRSec Gerenciadores Remotos de Seguranca
GSM Global System for Mobile Communications
HLA Home Location Agent
IBM International Business Machine
ID Identity
IDEMIX Identity Mixer
IDL Interface Definition Language
IKE Internet Key Exchange
IEEE 802 Institute of Electrical and Electronics Engineers
IETF International Engineering Task Force
IIOP Internet, Inter - ORB protocol
IP Internet Protocol
IPSec Internet Protocol Security
IPv6 Internet Protocol version 6
ITS Interface Tuples Space - Interface do Espaco Tuples
JMS Java Message Service
JSP Java Server Pages
LDAP Lightweight Directory Access Protocol
Lime Linda in a Mobile Environment
LS Servico de localizacao
LSA Laboratorio de Sistemas Abertos
MOM Message Oriented Middleware
M2M Machine to Machine
MANET Mobile Ad - Hoc Network
MGCP Mıdia Gateway Control Protocol
OFTA Observatoire Francais des Techniques Avancees
OMA Object Management Architecture
OMG Object Management Group
ONU Organizacao das Nacoes Unidas
ORB Object Request Broker
P2P Peer to Peer
PCS Departamento de Engenharia de Computacao e Sistemas Digitais
PDA Personal Digital Assistant
PET Privacy- Enhancing Technologies
PKI Public Key Infrastructure
QoS Qualidade de Servicos
RA Realidade Aumentada - Augmented Reality
RFID Radio Frequency Identification
RM Enhanced Reality - Realidade Virtual Melhorada
RMI Remote Invocation
RTP Real Time Protocol
RV Realidade Virtual
SAD Security Association Database
SAMU Servico de Atendimento Movel de Urgencia
SDK Software Development Kit
SFTP Secure File Transfer Protocol
SIP Session Initiation Protocol
SMIB Security Management Information Base
SMS Short Message Service
SPD Sistema Puramente Difuso
SPD Security Policy Database
SPI Security Parameter Index
SSH Secure Shell
SSH-AUTH Secure Shell Authentication
SSH-CONN Secure Shell Connection
SSH-TRANS Secure Shell Transport
SSL Secure Socket Layer
SSL/TLS Security Socket Layer/ Transport Layer Security
SSO Single Sign On
TCP/IP Transmission Control Protocol/Internet Protocol
TLS Transport Layer Security
UDP User Data Protocol
URI Uniform Resource Identifier
VPN Virtual Private Network
WAP Wireless Application Protocol
Web World Wide Web
XACML eXtensible Access Control Markup Language
XML eXtensible Markup Language
ZC Zona de Comunicacao
Sumario
1 Introducao 21
1.1 Contexto da Tese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.4 Linha de Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.5 Estruturacao do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2 Computacao Difusa e Nomade 28
2.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2 Principais conceitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.1 Modelo Geral da Computacao Difusa . . . . . . . . . . . . . . . . . 29
2.2.2 Arquiteturas Virtualmente Difusas . . . . . . . . . . . . . . . . . . 33
2.2.3 Arquiteturas Puramente Difusas . . . . . . . . . . . . . . . . . . . 36
2.2.4 Computacao Nomade . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3 Aplicacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3.1 Aplicacoes no Mundo dos Transportes . . . . . . . . . . . . . . . . 39
2.3.2 Aplicacao Movel no Mundo de Producao Audiovisual . . . . . . . . 41
2.3.3 Aplicacoes Maquina-Maquina (M2M) . . . . . . . . . . . . . . . . . 42
2.3.4 Aplicacoes em Gestao de Frota . . . . . . . . . . . . . . . . . . . . 44
2.3.5 Aplicacoes em Telemanutencao e Acompanhamento de Bens . . . . 44
2.4 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3 Middlewares para Ambientes Moveis (Mobile Middleware) 47
3.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2 Middlewares Orientados a Objetos
para Ambientes Moveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.1 CORBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3 MOM - Message Oriented Middleware . . . . . . . . . . . . . . . . . . . . 50
3.3.1 Especificacao JMS . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3.2 Ibus//mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3.3 WebSphere EveryPlace . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.4 Pronto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.5 Steam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4 Middlewares Baseados em Tuples . . . . . . . . . . . . . . . . . . . . . . . 61
3.4.1 Lime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.5 Middlewares Peer to Peer - P2P . . . . . . . . . . . . . . . . . . . . . . . . 65
3.5.1 Proem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.6 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4 Tecnologia sem Fio e Movel 69
4.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 Rede WLAN: 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3 Redes Celulares Moveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3.1 Elementos das Redes Celulares . . . . . . . . . . . . . . . . . . . . 71
4.4 Analise das Solucoes de Seguranca Existentes . . . . . . . . . . . . . . . . 73
4.4.1 Protocolo SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4.2 Protocolo SSL/TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.3 Protocolo IPSec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.5 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5 Seguranca em Computacao Difusa e Nomade 79
5.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2 Seguranca Relacionada a Confidencialidade e Integridade . . . . . . . . . . 80
5.3 Protecao da Privacidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.4 Disponibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.5 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6 Modelo Proposto: SecMobileAgent 87
6.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.1.1 Motivacoes para a Proposta . . . . . . . . . . . . . . . . . . . . . . 87
6.1.2 Notacao Ontologica . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.2 Arquitetura do Modelo Proposto . . . . . . . . . . . . . . . . . . . . . . . 89
6.2.1 Servicos Fornecidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.3 Visao de Requisitos e Visao de Analise
do SecMobileAgent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.3.1 Visao de Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.3.2 Visao de Analise . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.4 Implementacao e Prototipo . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.5 Testes e Resultados Obtidos . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7 Conclusoes Gerais 118
7.1 Contribuicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
7.2 Proposta de Continuidade . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8 Referencias Bibliograficas 121
21
1 Introducao
1.1 Contexto da Tese
Nos ultimos anos, em funcao das novas tecnologias que vem surgindo e a necessidade
de se obter uma qualidade e quantidade de informacoes indispensaveis a realizacao de
diversos servicos, tornou-se necessaria a criacao de ambientes de processamento de in-
formacoes distribuıdos. Esses ambientes oferecem e viabilizam o acesso local e remoto
as informacoes de forma transparente e homogenea para o usuario. Com isso, surgiram
problemas de distribuicao e comunicacao dificultando a interoperabilidade e a interconec-
tividade na integracao dos sistemas distribuıdos. A interconexao dos sistemas e das redes
cresceu tornando os sistemas potencialmente acessıveis por um numero de usuarios cada
vez maior e com novos perfis, possibilitando a necessidade de novos paradigmas e novos
conceitos. A computacao movel e um dos novos conceitos. Ela resulta dos avancos das
tecnologias em redes sem fio e do surgimento dos dispositivos e terminais moveis cada
vez mais populares. Um dispositivo movel e um computador de mao ou bolso tambem
conhecido como palmtop ou handhelp, por exemplo, PDA - Personal Digital Assistant,
e Smartphone: uma especie de celular acoplado a um PDA (celular inteligente). Ele
apresenta as propriedades de portabilidade, interatividade e sensibilidade ao contexto e
geralmente e dotado de varias formas de conectividade (infravermelho, bluetooth, wifi,
GSM, 3G etc. . . ). Os dispositivos moveis, alem da capacidade de comunicacao com ambi-
entes externos, podem acompanhar seus usuarios ao longo de seu percurso, (mobilidade).
As tecnologias das redes sem fio vao desde as redes de telecomunicacoes de celulares ate as
redes 802.11 sem fio: modo infraestrutura e Ad Hoc. Nos ultimos anos, essas tecnologias
e servicos moveis adquiriram maturidade, o que favorece sua adocao pelo grande publico
e mundo profissional. Essas tecnologias permitem aos usuarios, independentemente de
suas localizacoes, terem acesso as infraestruturas compartilhadas e distribuıdas. A com-
putacao movel constitui uma verdadeira revolucao que mudou a maneira dos usuarios
empregarem a ferramenta informatica. A maquina do usuario deixou de ser um simples
1.1 Contexto da Tese 22
espaco confinado e estatico destinado a execucao de algumas aplicacoes; atualmente e um
verdadeiro portal para um espaco de aplicacoes e dados globalizados, em outras palavras,
um terminal ambulante interligado pela Web. O usuario, em locomocao permanente, tem
possibilidade de acessar dinamicamente os novos recursos, carregar novas aplicacoes e com-
partilhar informacoes de forma implıcita; o que pode expor a sua privacidade. Entretanto,
baseada em um conjunto de conceitos e tecnologias relativamente estaveis que permitiram
o desenvolvimento de aplicacoes inovadoras, a computacao movel, apesar da sua recente
historia, ainda apresenta muitos desafios. As solucoes dos problemas nao evoluıram e
permanecem constantes. Os problemas fundamentais sao inerentes a natureza fısica dos
ambientes moveis onde os terminais moveis possuem poucos recursos de processamento
e memoria; alem disso, devem comunicar e operar em ambientes incertos caracterizados
por uma banda passante variavel e com riscos de desconexoes. Esses desafios levaram os
pesquisadores a buscar as solucoes em diferentes domınios como: redes de computacao,
sistemas operacionais, sistemas distribuıdos e bancos de dados. Das pesquisas sobre rede,
por exemplo, derivaram novos mecanismos de enderecamento, roteamento, difusao e de
gerencia de transparencia de mobilidade. Contudo, a gerencia de seguranca ainda nao
evoluiu como deveria. Muitas pesquisas nesta area estao em andamento, mas poucos sao
os resultados obtidos.
Em sua concepcao, as redes moveis e sem fio apresentam, por natureza, dois grandes
problemas: o primeiro deles e devido a distribuicao e compartilhamento dos suportes de
transmissao, permitindo assim ameacas e possibilidade de ataques de diversos generos: in-
terrupcao de servico, interceptacao, deturpacao e remocao de informacao. O intruso pode
injetar informacoes para saturar ou danificar os dispositivos da rede. A segunda prob-
lematica e a mobilidade oferecida por essas redes, que implica em novas ameacas contra
a protecao das informacoes ligadas a arquitetura sem fio. Por exemplo, em um sistema
e-saude em ambiente movel - cenario de validacao da nossa proposta - uma colaboracao
eficiente entre medicos paramedicos e pacientes e imprescindıvel para o sucesso de uma
operacao de socorro ou resgate de vıtima. O requisito central para uma colaboracao efi-
ciente e uma comunicacao confiavel e um compartilhamento seguro dos dados e recursos.
A comunicacao Wireless precisa ser protegida contra intruso ou ameaca de Man-In-The-
Middle, para evitar a fabrica de falsos dados. Os mecanismos de seguranca destinados
as redes moveis devem considerar a mobilidade dos usuarios sem fio sem prejudicar a
qualidade de servico e o desempenho da rede. A maioria das redes moveis nao aplica em
seus mecanismos de seguranca a autenticacao mutua entre seus dispositivos. Isso permite
abertura para ataques do tipo Man-In-The-Middle. A ausencia da integridade dos dados
1.1 Contexto da Tese 23
durante a fase de assinatura permite ataques do tipo DoS (Denial of Service). Nos ul-
timos anos muitos trabalhos e esforcos foram feitos para alcancar solucoes de seguranca
para redes com infraestrutura fixa. Apesar da diversidade dessas solucoes, elas ainda sao
limitadas ou genericas e respondem de forma insuficiente as necessidades especıficas das
aplicacoes de comunicacao em ambientes moveis.
Os middlewares destinados aos ambientes moveis tais como: Wireless CORBA [OMG,
2008] [PALIVAN; DINU, 2005], Ibus//Mobile [SOFTWIRED. 2007], Pronto [YONEKI;
BACON, 2006 ] [PRONTO, 2003], WebSphere EveryPlace [WEBSPHERE, 2007], Steam
[RENE; VINNY, 2003], Lime [MURFPHY et al, 2007 ] e tantos outros abordados no
capıtulo 3 permitem uma melhor adaptacao a natureza dos ambientes moveis e as neces-
sidades das aplicacoes. Entretanto, estes middlewares preocupados com a certeza do seu
funcionamento e seu desempenho pouco abordam, a questao da seguranca ou a deixam em
segundo plano. Esta constatacao feita por PAROUX e DEMEURE (2007) nos motivou a
propor uma solucao de seguranca flexıvel.
Certa antipatia frente as novas tecnologias se desenvolve em grande parte do publico
e usuarios da computacao movel, principalmente pelo temor de ataques a privacidade. E
preciso entao levar em conta essa preocupacao na concepcao de novas aplicacoes integrando
de forma eficiente tecnologias de protecao da privacidade (PET,Privacy-Enchancing Tech-
nologies). Particularmente, quando se trata da computacao difusa essa inquietacao e
verdadeira em razao da multiplicacao de dispositivos contendo importantes informacoes
pessoais. Com base nessa preocupacao, o modelo de gerencia de seguranca proposto nesta
tese foca esse assunto, empregando tecnicas de gestao de identidades virtuais, comunicacao
e acesso anonimos a servicos. A literatura em geral comenta a protecao da privacidade
[CDFUE, 2000] [ONU, 1998] [CHAUM, 1998]. [ISMS2003, 2003] [ISO/IEC15408, 2005],
mas a sua implementacao em sistemas de informacao para ambiente movel ainda nao e
conclusiva.
Os sistemas de computacao movel envolvendo mobilidade, tecnologias heterogeneas
e contextos dos usuarios oferecem um amplo tema de pesquisa na area da seguranca. A
seguranca e a disponibilidade de aplicacoes e servicos sao condicoes necessarias a aceitabil-
idade da computacao movel pelo grande publico. Como pretendemos validar os conceitos
do modelo de gerencia de seguranca proposto em uma aplicacao de e-saude, e importante
ressaltar a necessidade de ambientes eletronicos confiaveis e seguros. As organizacoes
de saude, com o desenvolvimento das tecnologias da informacao e de comunicacao, es-
tao interessadas em utilizar essas novas tecnologias para apoiar, expandir ou aumentar a
1.1 Contexto da Tese 24
qualidade dos cuidados e servicos aos pacientes [CELLER; LOVELL; BASILAKIS, 2003;
CHAU; HU, 2004]. As principais aplicacoes incluem a e-saude. A e-saude e uma disciplina
emergente que envolve o uso da informatica medica e das redes de telecomunicacoes. Ela
busca fornecer infraestruturas eletronicas de saude publica para reforcar a colaboracao
entre os profissionais medicos e associados envolvidos. Num amplo sentido, a e-saude nao
caracteriza apenas o apoio da tecnologia, mas tambem um estado de espırito, uma atitude
para a solucao de problema da saude publica atraves de uma aproximacao global, via rede,
com o uso de plataformas integradas de colaboracao em nıveis locais regionais e mundiais
[OFTA, 2007]. Os benefıcios da e-saude segundo [EYSENBACH, 2006] podem ser:
• Eficacia nos tratamentos: aumentar a eficiencia reduzindo custos, isso e, re-
duzir a duplicacao dos atos durante o diagnostico, compartilhar de forma eficiente
a informacao colocando o paciente no centro do processo;
• Melhor qualidade dos tratamentos: alem da reducao de custos, uma melhor
colaboracao e utilizacao das tecnologias podem melhorar a qualidade do tratamento;
• Paciente melhor informado: colocar a disposicao do paciente e seus proximos o
banco de dados medical, os resultados de seus exames e os diagnosticos de seus medi-
cos, permitindo uma melhor escolha da terapia (metodos, medicos, centro hospitalar
etc...);
• Nova relacao entre paciente e servico de saude: onde as decisoes sao tomadas
de forma conveniada e bilateral;
• Ampliacao da esfera dos servicos da saude: eliminando os problemas de dis-
tancia e escassez de profissionais especializados.
Alem desses benefıcios, sao necessarias para o respeito e garantia da privacidade e
a qualidade de servico: infraestruturas seguras e confiaveis que preservem a integridade
e confidencialidade na transacao de informacao do paciente. Um sistema de saude, por
exemplo, SUS - Sistema Unico de Saude, e muito sensıvel a fraudes, comportamentos
discriminatorios em relacao aos pacientes, e nao respeito a privacidade. As informacoes
medicas sao extremamente sensıveis, portanto elas devem ser protegidas. No contexto
distribuıdo (rede de comunicacao ad hoc) essa protecao se torna muito mais importante.
O modelo de gerencia de seguranca proposto e uma resposta a essa exigencia e demonstra
o carater social da nossa motivacao.
1.2 Objetivos 25
Os middlewares moveis existentes quase nao tratam da questao de seguranca; muitos
deles estao em fase experimental ou pesquisas universitarias, sendo assim, a questao da
seguranca e um campo de pesquisa de muitos desafios.
1.2 Objetivos
Com base nas motivacoes apresentadas na secao 1.1, o objetivo geral desse trabalho e
propor - no ambito da gerencia de seguranca e cooperacao de aplicacoes em sistemas dis-
tribuıdos moveis - um modelo de gerencia de seguranca para middlewares moveis baseados
em tuple que implementa um mecanismo de autenticacao mutua, de deteccao de intruso,
controle de acesso a recursos compartilhados; garantir a preservacao da privacidade atraves
de anonimato e pseudonimo e, sobretudo, assegurar a disponibilidade de servicos. Essa
proposta busca ter as seguintes caracterısticas:
i. Facil de implementar e operar;
ii. Flexıvel;
iii. Leve, devido a escassez de recursos dos dispositivos moveis.
Na famılia dos middlewares moveis baseados em tuple, o modelo Lime [MURFPHY
et al, 2007]; e uma referencia; ele fornece mecanismo de alto nıvel para desenvolvimento
de aplicacoes caracterizadas pela mobilidade logica e fısica. No atual estagio do seu
desenvolvimento, o Lime e vulneravel. Os dispositivos e agentes que usam esse middleware
sao sujeitos a ameacas de intruso e malicioso. Faltam mecanismos de tolerancia a falha
e de gerencia de seguranca. O modelo de seguranca proposto neste trabalho tem como
objetivos especıficos:
a. Suprir parte da vulnerabilidade detectada no Lime;
b. Implementar mecanismos adicionais: PET (Privacy-Enhancing Technologies) para
a protecao da privacidade dos usuarios do ambiente movel;
c. Alem do PET, procurou-se acrescentar servicos opcionais de gerencia de segu-
ranca para sistemas e-saude. Essas opcoes nao transgridem as especificacoes iniciais
definidas no modelo Lime;
d. Integrar o modelo proposto a um sistema e-saude em ambiente nomade e difuso.
1.3 Metodologia 26
1.3 Metodologia
Para alcancar estes objetivos foi aplicada a seguinte metodologia:
• Estudo da computacao nomade e difusa: dois paradigmas emergentes que
tem como principal objetivo assistir aos usuarios em suas vidas cotidianas.
Fornecer aos usuarios moveis acesso sem fio aos sistemas existentes em
infraestruturas fixas permitindo a integracao e cooperacao dos objetos e
dispositivos moveis para uma computacao onipresente, livre e intuitiva.
Este estudo busca entender o paradigma emergente da computacao difusa
e situar o contexto da nossa pesquisa dentro de um ambiente movel com
aplicacoes de carater implıcito e espontaneo.
• Estudo dos diferentes middlewares para ambientes moveis existentes, suas
capacidades de enfrentar o desafio da mobilidade e seguranca. O obje-
tivo deste estudo e definir a abrangencia e o escopo do trabalho, buscar
uma referencia solida para a nossa proposta. Tambem justificar que um
middleware distribuıdo, alem das funcionalidades classicas e das solucoes
que ele proporciona aos problemas da comunicacao, da mobilidade dos
usuarios e dos recursos limitados das maquinas deve se preocupar com a
gerencia de seguranca.
• Analise e consideracoes sobre as solucoes de seguranca existentes fo-
cando os protocolos: SSH – Secure Shell ; SSL/TLS – Secure Socket
Layer/Transport Layer Security e IPSec – Internet Protocol Security, o
modelo de seguranca Java, as especificacoes de seguranca definidas pelo
OMG (Object Management Group) e a questao da seguranca relacionada
a computacao nomade e difusa.
• Verificar a viabilidade da aplicacao das proposicoes atraves da validacao
do modelo proposto em um sistema e-saude em ambiente nomade e difuso.
1.4 Linha de Pesquisa
O Laboratorio de Sistemas Abertos (LSA) possui interesse, dentre outros assuntos,
em seguranca de sistemas distribuıdos. Este assunto e bastante relevante no contexto
atual da convergencia e Qualidade de Servicos (QoS) em sistemas distribuıdos moveis
e heterogeneos. A seguranca e a privacidade tornam-se um requisito imprescindıvel em
1.5 Estruturacao do Trabalho 27
todos os tipos de aplicacoes. O trabalho descrito nessa tese esta dentro de um novo
escopo abordando a questao da seguranca e integra-se com as atividades do laboratorio
e do curso de Pos-Graduacao do PCS (Departamento de Engenharia de Computacao e
Sistemas Digitais).
A contribuicao deste trabalho e: i. Suprir uma parte do problema de seguranca
observado no modelo Lime (um middleware de referencia caracterizado pela mobilidade
logica e fısica), ii. Adicionar ao modelo Lime um mecanismo de protecao a privacidade
(estado da arte da seguranca em ambiente movel), iii. Acrescentar ao modelo servicos
opcionais de gerencia de seguranca para sistemas e-saude.
1.5 Estruturacao do Trabalho
Este trabalho e dividido em sete capıtulos. O capıtulo 1 apresenta a introducao onde
sao explicados a motivacao e os objetivos do trabalho. No capıtulo 2 e apresentada a
computacao difusa (traducao do termo ubiquitous computing) e a computacao nomade
(nomadic computing), sua contribuicao na vida cotidiana de seus usuarios, as razoes da
sua emergencia, os principais conceitos: a nocao do contexto, do implıcito e a relacao
entre o real e o virtual. Tambem e abordada a questao da seguranca relacionada a
computacao difusa. O objetivo deste capıtulo e permitir a compreensao do contexto
do trabalho. O capıtulo 3 apresenta uma visao geral das tecnologias de middlewares
para ambientes moveis focando as solucoes e os objetivos a serem alcancados. O estudo
classifica esses middlewares em funcao de suas arquiteturas e os modelos de distribuicao
adotados (invocacao de objeto remoto, passagem de mensagens, tuple e peer to peer).
Nos capıtulos 4 e 5 sao abordados os conceitos fundamentais das tecnologias moveis e sem
fio, o estado da arte das pesquisas e solucoes de seguranca adaptadas as redes moveis,
a seguranca em computacao difusa especificamente a confidencialidade, integridade e a
protecao da privacidade. O capıtulo 6 trata do modelo de gerencia de seguranca proposto:
a arquitetura, a descricao dos servicos, a visao de requisitos e analise, a implementacao e
os resultados obtidos. E por fim, o capıtulo 7 apresenta as conclusoes e as propostas de
continuidade.
28
2 Computacao Difusa e Nomade
2.1 Introducao
A computacao movel e um termo difıcil de ser definido. Ela pode ser representada
como um novo paradigma computacional que permite ao usuario o acesso a servicos e
aplicativos independentemente de sua localizacao, podendo, inclusive, estar em movi-
mento. As possibilidades oferecidas pelas tecnologias da computacao movel permitiram
o surgimento de dois novos conceitos [OFTA, 2007] [MEDJI, 2006]: computacao di-
fusa (traducao do termo ubiquitous computing) e a computacao nomade (nomadic
computing).
A computacao difusa foi introduzida no inıcio dos anos 90 por Mark Weiser, como
sendo a emergente da terceira geracao dos sistemas computacionais. E um paradigma
centrado no usuario que tem como principal objetivo fornecer ao usuario, da forma mais
natural, de qualquer lugar e a todo instante (all the time everywhere) o acesso a in-
formacao e servicos informaticos [WEISER, 1993]. Em outras palavras, a computacao
difusa vem para ajudar no nosso cotidiano, em nossas atividades profissionais e privadas.
E uma combinacao de nocoes de interfaces inteligentes, da informatica e redes ubıquas,
onde as interfaces inteligentes permitem uma interacao natural e amigavel o usuario com
os equipamentos digitais, considerando suas preferencias e seu ambiente. As nocoes de
informatica e de redes ubıquas referem-se a presenca oportuna e discreta dos sistemas
informaticos em toda parte da nossa vida, como por exemplo: nos lares, em espacos
publicos, nos automoveis e no trabalho. Essas nocoes sao baseadas no formalismo da
computacao movel. Diferentes tecnologias como os computadores de bolso sem fio, os
telefones inteligentes e as redes sem fio constituem a base da realizacao da computacao
difusa. A computacao difusa apresenta inumeros desafios cientıficos e tecnologicos, entre
eles: como garantir funcionamento dos sistemas, como proporcionar solucoes relativas a
mobilidade do usuario, integrar os dispositivos logicos e fısicos cada vez mais heteroge-
neos e diversificados e fornecer interfaces inteligentes. Essas exigencias mostram o carater
2.2 Principais conceitos 29
altamente dinamico da computacao difusa, o que aumenta os desafios. Os sistemas da
computacao difusa devem adaptar-se a mobilidade e contextos dos usuarios, ser confiaveis
e, sobretudo, garantir a privacidade de seus usuarios. A garantia de seguranca e o en-
foque deste trabalho. O desenvolvimento de tais sistemas resultou em diferentes pesquisas
que permitiram o acesso a varias tecnologias emergentes. Apesar dos arduos trabalhos
da comunidade cientıfica tecnologica nesta area, a maioria dos problemas referentes a
computacao difusa ainda nao tem solucoes conclusivas, deve-se isto a sua natureza multi-
disciplinar que combina diferentes domınios de estudo: engenharia de software, sistemas
distribuıdos, em particular os middlewares, da interacao homem – maquina, maquina -
maquina e das redes de comunicacao [BANATRE et al, 2007]. A Computacao difusa
ainda esta longe de atingir o objetivo definido por Mark Weiser que consiste em permi-
tir ao grande publico beneficiar-se, de forma mais natural possıvel, das tecnologias de
informacao e de comunicacao.
A computacao nomade implica no uso de dispositivos portateis em conjunto com as
tecnologias de comunicacoes moveis viabilizando ao usuario o acesso aos seus dados e
informacoes, remotamente, a partir de qualquer lugar que esteja visitando. Neste caso, o
usuario se fixa em algum ponto para acessar aplicativos ou servicos de maneira remota,
permanecendo desconectado enquanto esta em transito [KARAM, 2006]. O slogan da com-
putacao nomade e anytime anywhere (de qualquer lugar a qualquer momento) que nao
deve ser confundido com all the time everywhere (de qualquer lugar a todo instante). E
importante diferenciar a computacao nomade da computacao movel. A diferenca acontece
no provimento do servico ou aplicacao durante o transito do usuario: no caso da com-
putacao movel o provimento e ininterrupto, o que nao acontece na computacao nomade.
A seguir, apresentamos de forma mais detalhada os principais conceitos da computacao
difusa.
2.2 Principais conceitos
2.2.1 Modelo Geral da Computacao Difusa
Segundo Banatre et al (2007), no seu livro Computacao difusa: conceitos e realidade,
computacao difusa e constituıda de tres principais componentes:
• Mundo real: corresponde as entidades do mundo real tais como: dispositivos, pessoas
e localizacoes;
2.2 Principais conceitos 30
• Ambiente virtual ou digital: constituıdo por sistemas de informacao tais como, Web,
programas e base de dados;
• Conjunto de interfaces: estabelece a ligacao entre o ambiente real e o ambiente
virtual.
A Figura 2.1 ilustra esses componentes. O sistema de informacao (SI) reconhece o
estado do mundo real atraves da sondagem do ambiente virtual (c) que pode ser a posicao
de uma pessoa obtida por um sistema de GPS (Global Positioning System), informacoes
meteorologicas proporcionadas por sensores, o funcionamento de um dispositivo, etc. As
interfaces agem sobre o mundo real atraves do ambiente virtual (d), por exemplo, fechar
as janelas de uma casa ou subir automaticamente os vidros de um carro assim que comecar
a chover. No ambiente da computacao difusa, o usuario acessa o sistema de informacao
de maneira implıcita (b), via um computador pessoal. Considerando o carater implıcito
e o acesso a informacoes e servicos de forma natural e transparente da computacao di-
fusa, a fusao dos sistemas de informacao com o mundo real e feita atraves de interfaces
implıcitas de usuario, formando assim, um sistema implıcito de informacao.
Figura 2.1: Modelo Geral a, b: interacoes do usuario humano com o espaco de informacao
- c: sondagem do ambiente real – d: controle do ambiente real – e: interacoes fısicas do
usuario humano com o ambiente real [BANATRE et al, 2007].
a) Interfaces implıcitas de usuario: A integracao do ambiente real com o ambiente
2.2 Principais conceitos 31
virtual (mundo digital) pode ser feita atraves de tres formas [FEINER et al, 1997]:
– Realidade virtual (RV): o usuario e totalmente imerso num mundo virtual que
simula um mundo real. Seus sentidos (visao, audicao, tato etc...) sao conec-
tados a dispositivos tais como: luva digital, oculos estereoscopicos, capacete
de imersao e computador, que convertem em sinais reais o mundo virtual de-
scrito no ambiente digital ou vice versa. Esta solucao e muito usada em jogos
e simulacoes militares;
– Integracao de computadores no ambiente: Neste caso, computadores especial-
izados e em miniatura sao embarcados nos objetos do mundo real (ambulancia,
radares, relogios, livros objetos domesticos). O usuario, atraves de um PDA,
interage com este mundo. Os computadores embarcados nos objetos tornam
transparentes e ricas as interacoes do usuario com o mundo real;
– Realidade Aumentada e Melhorada: Associa a realidade virtual com a inte-
gracao de computadores embarcados no ambiente. Ela consiste em estender e
melhorar as capacidades naturais do usuario a fim de facilitar sua interacao com
o ambiente fısico, de forma mais implıcita. A Realidade Virtual Aumentada
(RA, Augmented Reality) e Realidade Virtual Melhorada (RM, Enhanced Real-
ity) sao duas areas da RV que utilizam tecnologias especıficas para aumentar o
desempenho humano na realizacao de tarefas. A RA permite combinar imagens
geradas no mundo virtual com imagens do mundo real por meio de um capacete
parcialmente transparente provido de sensores. O objetivo e suplementar um
cenario real com informacoes geradas pelo computador. Os sistemas de RA
devem registrar as imagens com precisao, de forma a levar o usuario a crer que
os mundos: real e virtual ocupam o mesmo espaco [BAJURA; NEUMANN,
2005]. Um dos pontos mais importantes do uso de mundos virtuais nao e para
substituir o mundo real, mas sim completar a visao do usuario no mundo real
[ALBUQUERQUE, 99]. Um sistema de RA gera uma imagem resultante da
combinacao de uma cena real com uma cena virtual gerada por computador,
para enriquecer a cena final com informacao adicional. Nas diferentes apli-
cacoes possıveis, a RA apresentada ao usuario pode melhorar seu desempenho
na execucao de tarefas, por estender sua percepcao do mundo que ele observa
[ALBUQUERQUE, 99].
b) Sistema Implıcito de Informacao: Num sistema implıcito de informacao, as in-
formacoes sao obtidas automaticamente a partir das interacoes implıcitas das enti-
2.2 Principais conceitos 32
dades do mundo real. O sistema e baseado em um conjunto de computadores moveis
capazes de trocar informacoes quando estiverem em areas proximas. O princıpio
fundamental consiste em explorar as propriedades ou atributos mensuraveis das en-
tidades existentes no mundo real como a posicao e a proximidade fısica. Em outras
palavras, o sistema de informacao implıcita consiste em medir a sensibilidade do
contexto. A sensibilidade do contexto permite saber, a partir de um conjunto de
metadados (dados que descrevem outros dados), a situacao fısica das entidades que
participam no funcionamento do sistema. Ela se baseia nas seguintes questoes:
– Onde? Indica as informacoes relativas ao espaco fısico (informacoes espaciais),
a posicao de uma entidade e um importante elemento indicador do contexto
[SCHILIT et al ]. Obter a posicao pode ocorrer por localizacao cartesiana,
topologia ou localizacao via satelite (GPS), mensurando a longitude, latitude
e altitude [RODDEN et al, 1998];
– Quando? Permite obter as informacoes relativas ao tempo (informacoes tem-
porais) tais como data, hora;
– O que/para que? E a atividade ou o estado corrente de um usuario ou de
uma entidade representada pelas caracterısticas mensuraveis que podem ser
exploradas pelo sistema. A atividade depende do tipo de entidade que pode
ser um ambiente, um usuario humano ou um dispositivo.
O contexto e uma nocao importante na computacao difusa, e atraves dele que os
aplicativos ou os sistemas percebem o estado do mundo real e, em particular a
mobilidade fısica. Pode-se definir o contexto como uma situacao da representacao do
mundo real. Existem quatro possıveis formas de exploracao do contexto [NAGAO;
REKIMOTO, 1996; RODDEN et al, 1998]:
– Adaptacao contextual [MANN, 1996]: Explora o contexto para adaptar as
restricoes ou exigencias dos ambientes moveis e facilitar a integracao de um
sistema computacional no ambiente real;
– Programacao contextual [SCHILIT et al, 1993]: sincroniza as acoes ou as ativi-
dades em funcao do contexto, ou seja, associa o contexto com as acoes a serem
disparadas;
– Pesquisa contextual de informacao: explora o contexto para buscar, selecionar
ou filtrar as informacoes. Como exemplos temos os sistemas ParcTab [SCHILIT
et al, 1995 ], Cyber GUIDE [ABOWD et al, 1997] , WebWatcher [ARM-
STRONG et al, 2005];
2.2 Principais conceitos 33
– Anotacao contextual: completa a informacao por indicacoes contextuais para
facilitar uma proxima operacao de pesquisa. A indicacao pode ser a posicao
geografica, hora, identificacao da vizinhanca, por exemplo, temos o sistema
Pascoe [PASCOE, 1998].
Nos sistemas difusos existem duas famılias de arquiteturas consideradas como princi-
pais: Arquiteturas virtualmente difusas e arquiteturas puramente difusas [BANATRE
et al, 2007].
2.2.2 Arquiteturas Virtualmente Difusas
Consiste em criar um modelo logico de realidade interpretado por um sistema de
informacao. O sistema de informacao efetua entao os tratamentos associados as inter-
acoes fısicas. Por exemplo, se um sistema de navegacao deve alertar um motorista da
proximidade de um radar, nao e a presenca fısica do objeto radar que e detectada, mas
uma presenca virtual registrada no sistema de informacao do navegador. Isso quer dizer
que o sistema trabalha com um mapa virtual (base cartografica) com os objetos fısicos
previamente definidos. Distinguem-se varias vertentes desse tipo de arquitetura:
• Arquitetura de replicacao total: em todos os nos ou dispositivos moveis autonomos
o sistema de informacao e replicado. Neste caso o acesso as informacoes e facil e nao
necessita de outras infraestruturas. A base de informacao e estatica e limitada a
capacidade de armazenamento do dispositivo ou maquina embarcada. A Figura 2.2
ilustra essa situacao: cada veıculo dispoe de um dispositivo portatil movel (PDA)
que contem o sistema de informacao (ambiente virtual),
2.2 Principais conceitos 34
Figura 2.2: Um exemplo de arquitetura totalmente replicada: as etapas 1, 2 e 3 acontecem
no dispositivo portatil movel [BANATRE et al, 2007].
inclusive um mapa geografico da area de movimentacao. As requisicoes de servicos,
o processamento de dados e visualizacao dos resultados sao feitos localmente no
PDA embarcado no veiculo;
• Arquitetura com sistema de informacao centralizado: Neste caso, o sistema
de informacao e remoto e nao esta integrado ou embarcado nos dispositivos moveis.
Os dispositivos acessam o sistema de informacao atraves de uma infraestrutura de
rede sem fio.
2.2 Principais conceitos 35
Figura 2.3: Um exemplo de arquitetura com sistema de informacao remoto: a etapa 2
acontece em um servidor centralizado [BANATRE et al, 2007].
Por exemplo, na Figura 2.3, o veıculo em movimento consulta o sistema de infor-
macao em um servidor remoto. O processamento acontece no servidor e os resultados
encaminhados para o veıculo por meio de uma rede sem fio. Existe uma transparen-
cia de localizacao;
• Arquitetura contextual distribuıda: O sistema de informacao e fragmentado
e distribuıdo geograficamente em funcao do contexto. Por exemplo, no caso de
navegadores funcionando em telefones celulares, os celulares utilizam o sistema de
informacao de suas respectivas operadoras; o banco de dados da filial de uma em-
presa fica no servidor da filial e nao na matriz. Desta forma, o sistema de informacao
pode conter informacoes especıficas relacionadas as determinadas regioes. Existem
arquiteturas hıbridas que combinam a replicacao total com um sistema de infor-
macao remoto. Nesta situacao, e explorada localmente uma memoria cache com
dados atualizados, temporariamente, a partir de um servidor remoto. No caso da
informacao nao ser encontrada localmente, ela e solicitada ao servidor remoto. As
figuras 2.2 e 2.3 mostram os dois ambientes (real e virtual) e a mobilidade que
envolve os sistemas de computacao difusa. Nao foram apresentadas as tecnologias
de comunicacao nem o conceito de mobilidade que envolve a computacao difusa.
2.2 Principais conceitos 36
Contudo, e bom ressaltar a definicao do conceito de mobilidade. Segundo ITU (In-
ternational Telecommunication Union, 2004), a mobilidade inclui a capacidade de
usar uma determinada aplicacao ou servico, sem a sua interrupcao, atraves de varias
tecnologias, permitindo o movimento entre ponto de acesso com ou sem fio.
2.2.3 Arquiteturas Puramente Difusas
O princıpio dessas arquiteturas e integrar as caracterısticas dos objetos com os pro-
cedimentos fısicos existentes, como por exemplo, o arranjo espacial dos objetos, ou suas
mobilidades fısicas, para controlar diretamente um sistema de informacao. O funciona-
mento de uma arquitetura puramente difusa depende unicamente dos objetos engajados
nas interacoes. Por exemplo, supondo um carrinho de supermercado inteligente, com a
capacidade de se comunicar com as mercadorias contidas nele (atraves de RFID: Radio
Frequency Identification), calcular automaticamente a soma e informar o preco total ao
cliente (por PDA) ou ao caixa. Neste exemplo, os objetos engajados sao o carrinho e os
produtos do supermercado. O carrinho e equipado com um sistema de percepcao capaz de
ler os precos dos produtos. O fato de colocar um produto no carrinho e sincronizado como
uma operacao de adicao e a retirada de um produto como uma operacao de subtracao. Em
sistemas com arquitetura puramente difusa, os objetos engajados na interacao se comu-
nicam quando estiverem fisicamente proximos. Estes objetos, tambem conhecidos como
entidades moveis,podem ser um robo, uma ambulancia, um humano ou qualquer objeto
do mundo real capaz de ser acoplado a um processador. Pode-se conceituar, atraves de
formula matematica (teoria dos conjuntos), associado a nocao de comunicacao por vizin-
hanca, um sistema puramente difuso como [BANATRE et al, 2007]: Seja Ei uma entidade
movel entao Ei pode ser definida como um par (EEi, EMi) onde:
• EMi: caracteriza a parte mecanica da Ei que permite a locomocao, por exemplo um
usuario humano, um automovel;
• EEi: Entidade autonoma Embarcada, e a parte de Ei que realiza a comunicacao, o
processamento e armazenamento de informacao de Ei, por exemplo um PDA, um
smart phone, notebook e netbook.
Uma EEi troca informacoes com seu EMi a partir de uma interface local. A interface
implantada na EEi define uma area de comunicacao denominada ZC(EEi). O tamanho
desta area depende da tecnologia de comunicacao: alguns metros para Bluetooth, dezenas
de metros para WiFi.
2.2 Principais conceitos 37
A comunicacao por vizinhanca e o mecanismo usado para que entidades possam se
detectar e se comunicar quando elas estiverem em uma area comum. Sejam EEi e EE j,
(i 6= j)EEi detecta a presenca e se comunica com EE j quando ela estiver na zona de
comunicacao ZC(EEi), reciprocamente EE j detecta a presenca e comunica com EEi quando
ela estiver na zona de comunicacao ZC(EEi). A comunicacao por vizinhanca so existe se
EEi e EE j estiverem na interseccao ZC(EEi) e ZC(EE j). A comunicacao e dinamica em
funcao do tempo e pode ser mantida ou rompida em funcao do deslocamento de EMi e
EM j. Podemos definir uma comunicacao por vizinhanca como: CV(EEi, EE j, ti) o que
implica que no instante ti, EEi ∈ ZC(EE j) ∧EE j ∈ ZC(EEi); onde: CV(EEi, EE j, ti) e
o predicado que caracteriza a comunicacao por vizinhanca de EEi, EE j no instante ti(tempo local de EEi), assim para uma comunicacao bidirecional temos: CV(EEi, EE j,
ti)⇔ CV (EE j, EEi, ti). Uma EEi pode em um determinado instante ti manter varias
comunicacoes de vizinhancas, originando entao a criacao dinamica de um sistema de
informacao denominado SPD ou Sistema Puramente Difuso. Assim, um SPD pode ser
definido como:
SPD(EEi, ti) = {EE j/∀ j, i 6= j,CV (EEi, EE j, ti)}.
A composicao de um SPD evolui dinamicamente com o tempo, em funcao dos deslo-
camentos respectivos das entidades que o compoem. Essas entidades podem entrar e sair
do SPD, desta forma, observa-se relacoes do tipo:
SPD(EEi, ti + dti)= SPD(EEi, ti)∪{EEi} ou
SPD(EEi, ti + dti)= SPD(EEi, ti) - {EEk}
Um SPD(EEi, ti) pode desaparecer quando nao existir mais elementos de comunicacao.
O sistema de informacao de um SPD levanta a questao da gerencia de cooperacao,
seguranca de informacao e privacidade das entidades moveis envolvidas. Como controlar
o acesso as informacoes locais de uma EEi, garantir a migracao segura de uma EEi e asse-
gurar uma comunicacao confiavel entre os EEis? Este formalismo matematico do sistema
puramente difuso abre caminho para o desenvolvimento de algoritmos para protocolos de
descoberta de vizinhos e gerencia de cooperacao entre as entidades moveis, esta tese nao
aborda este assunto.
Nesta secao, foram apresentados os conceitos essenciais da computacao difusa. Foram
distinguidas duas abordagens fundamentalmente diferentes: os sistemas virtualmente di-
2.3 Aplicacoes 38
fusos e os sistemas puramente difusos. Em um sistema virtualmente difuso, seu funciona-
mento nao e feito diretamente sobre as atividades reais, mas atraves de parametros ou
informacoes fornecidas por sensores. Ao contrario do sistema virtualmente difuso, em
um sistema puramente difuso os objetos ou entidades que participam do sistema sao in-
struıdos para que os procedimentos fısicos das atividades suportem automaticamente um
procedimento computacional. As arquiteturas puramente difusas permitem desenvolver
sistemas de informacao de carater implıcito e espontaneo.
2.2.4 Computacao Nomade
Os ambientes nomades sao compostos de uma parte de rede sem fio e uma parte de
rede fixa [MEDJI, 2006]. A parte sem fio e geralmente constituıda das redes de telecomu-
nicacao celular e redes locais sem fio (WLAN) como as tecnologias 802.11, Bluetooth. Elas
fornecem acesso as estacoes fixas. O slogan da computacao nomade e anytime anywhere
(em qualquer lugar a qualquer momento). Contrarios aos ambientes difusos baseados em
redes ad hoc sem fio os ambientes nomades necessitam da presenca ou acesso a uma in-
fraestrutura fixa, a natureza dos ambientes nomades pode ser adaptada a redes celulares
[MEDJI, 2006]. A mobilidade do usuario apresenta diversos desafios. O usuario durante a
mobilidade pode se encontrar fora da zona de cobertura, as conexoes podem ser perdidas
na passagem de uma celula para outra, consequentemente, as infraestruturas necessitam
de mecanismos para seguir e localizar a todo instante o usuario.
2.3 Aplicacoes
Nesta secao, apresenta-se o potencial espectro da aplicacao da computacao difusa e
nomade em varios setores da sociedade como, por exemplo: no transporte, mundo profis-
sional, industrial e domestico. Sao aplicacoes inovadoras que exploram as nocoes do con-
texto de usuario, mobilidade, as redes de comunicacao, as tecnologias WiFi e bluetooth.
Elas tem um objetivo em comum: proporcionar ao usuario servicos em qualquer lugar
e a qualquer instante. O objetivo dessa secao e ilustrar o contexto da tese, enfatizando
as aplicacoes dos principais conceitos e mostrar atraves de estudos de casos a multidisci-
plinaridade e o carater altamente dinamico da computacao difusa, e principalmente o risco
a respeito da privacidade do usuario, nisso implica a necessidade de solucoes de seguranca.
2.3 Aplicacoes 39
2.3.1 Aplicacoes no Mundo dos Transportes
O “Ponto de informacao do Futuro e Servicos Moveis Contextuais para Estacao de
Trens” e um projeto do Service National de Chemin de Fer) da Franca [OFTA, 2007]. Este
projeto foi iniciado no perıodo em que chegaram ao mercado os primeiros equipamentos
Bluetooth, WiFi e da popularizacao das agendas eletronicas pessoais palmtop e pocketPC.
A ideia inicial era tirar proveito destas tecnologias no mercado para melhor servir os
clientes das estacoes de trens. O sistema consiste em um terminal de multi-interfaces
composto por:
• Um telao para a difusao de informacoes genericas tais como: tabelas de chegada e
partida dos trens, anuncios na forma textual, propagandas ao publico da estacao;
• Um monitor sensıvel ao toque (touch screen) para consulta individual das infor-
macoes sobre os trens: horarios de saıda e chegada, mapas e servicos da estacao,
acesso as linhas de metros, onibus, taxis, estacionamentos, restaurantes e hoteis
nas imediacoes da estacao, informacoes sobre a cidade: mapa das ruas, transporte
publico e dos pontos turısticos e outras informacoes praticas como meteorologia,
links de paginas, internet;
• Um sistema de videoconferencia: permite ao usuario do terminal comunicar-se re-
motamente com um funcionario da estacao para tirar duvidas ou pedir informacoes.
• Um ponto de acesso WiFi/Bluetooth, para acesso sem fio ao sistema de informacao
do SNCF, para usuarios equipados de terminais moveis.
Descricao Funcional
Uma plataforma baseada em tecnicas de geolocalizacao WiFi e servicos inteligentes,
contextualizados e personalizados atraves de programa cliente instalado no computador
de mao do usuario nomade que permite conectar-se automaticamente a plataforma de
servicos, quando ele esta na zona de cobertura. Os servicos aparecem automaticamente
na sua tela, prontos para serem usados. Os servicos variam em funcao do perfil do usuario
(viajante, agente da estacao, deficiente fısico), do local da estacao onde ele se encontra, da
data, da hora e do dia. Alguns exemplos desses servicos sao: servico de recepcao person-
alizada: detecta a chegada de um cliente na estacao, deseja-lhe as boas vindas de forma
personalizada, por exemplo, “bom dia fulano de tal” informando a hora de partida do seu
trem preferido; notificacao de presenca geolocalizada: permite enviar aos recepcionistas e
2.3 Aplicacoes 40
guardas da estacao mensagens de alerta ou de ajuda aos usuarios em caso de agressao, mal
estar, presenca de pessoa deficiente ;procura geolocalizada de servicos ou lojas: apresenta
com precisao, atraves de representacao grafica, em funcao da posicao atual do usuario, a
localizacao de um servico ou uma loja dentro da estacao. Uma aplicacao guia o usuario de
forma interativa ate o local em questao. Durante a viagem, outros servicos sao oferecidos
tais como: jogos interativos on-line e relacionamento entre os viajantes.
Consideracoes
As conclusoes relativas a este projeto mostram que o deslocamento dos clientes nas es-
tacoes ate os guiches de atendimento para buscar as informacoes ou orientacoes nao sera
mais necessario. Com o ponto de informacao do futuro, e a informacao que vai ate o
usuario atraves do seu terminal movel e nao mais o usuario que vai em busca da in-
formacao; trata-se do conceito de hotspot WiFi. Este projeto demonstra um alto grau
tecnico de difusao da informacao. O conteudo da informacao e especıfico e adaptado
ao seu usuario. Isso implica a necessidade de mecanismos capazes de adaptar as infor-
macoes as caracterısticas do dispositivo movel do usuario como, por exemplo: formato
do monitor, capacidade de processamento, resolucao de imagem, entre outras. O projeto
permite demonstrar a pertinencia da utilizacao de mecanismos de localizacao automatica
de servicos, de forma inteligente e simples, sem a necessidade do usuario precisar config-
urar seu dispositivo movel. O numero de terminais nomades cresce a cada dia e sao cada
vez mais usados. Eles se tornam interfaces “faz tudo” para os usuarios. Na comunidade
cientıfica, fala-se de “companheiro movel” ou de “porteiro virtual”; isso sao atributos que
descrevem os equipamentos que vao interagir com os elementos presentes no ambiente do
usuario a fim de facilitar-lhe a vida. A diversidade e heterogeneidade dos dispositivos
geram problemas de inconsistencia e incompatibilidade, o que resulta na necessidade de
redes hıbridas e a coexistencia de varias e diferentes tecnologias de acesso ou padroniza-
cao das tecnologias utilizadas. A possibilidade de propor aos usuarios das estacoes uma
opcao de videoconferencia com um operador distante e julgada muito importante, princi-
palmente no caso de pequenas estacoes que nao dispoem de recursos humanos suficientes.
E uma forma paradoxal de humanizar os terminais de informacoes, gracas a introducao de
interface homem-homem atraves da maquina. Essas aplicacoes demonstram a necessidade
de considerar o contexto (textualizacao) e o perfil (personalizacao) do usuario a fim de
lhe fornecer servicos inteligentes e diferenciados. A ideia e proporcionar servicos que se
adaptam as necessidades e realidades do usuario. Em outras palavras, servicos centrados
2.3 Aplicacoes 41
no usuario.
Entretanto, a contextualizacao e personalizacao apresentam um risco social: o risco
de ultrapassar os limites do respeito da privacidade, para isso sao necessarios modelos de
seguranca mais abrangentes onde sera imprescindıvel explicar ao usuario de que formas
suas informacoes pessoais serao utilizadas e como elas serao protegidas. Essa situacao
levanta a questao da seguranca da informacao (confidencialidade e integridade) em ambi-
entes moveis. A geolocalizacao WiFi e um parametro pertinente nas aplicacoes moveis,
porem ela ainda nao esta muito precisa. Em ambientes muito dinamicos como nas estacoes
muito movimentadas, o raio de alcance cai, o que nao permite a realizacao de aplicacoes
de alta definicao como, por exemplo, guiar um deficiente visual. Portanto, e necessario
o desenvolvimento de novas tecnicas de geolocalizacao. A computacao difusa nao deve
concentrar-se apenas em usuarios humanos. A maior revolucao deve vir das interacoes
diretas entre as maquinas cada vez mais inteligentes.
2.3.2 Aplicacao Movel no Mundo de Producao Audiovisual
As novas tecnologias de compressao, distribuicao de dados e de terminais graficos
com mais recursos de processamento, tornam possıvel a popularizacao da TV de alta
definicao (Hight Definition), a TV movel e seus usos nomades. O Brasil esta nesta nova
era buscando padroes e novas tecnologias para levar a TV digital a milhares de lares. A
mutacao implica uma progressiva aproximacao da industria de conteudo, da teledifusao
e dos operadores de telecomunicacao. O desenvolvimento de infraestruturas Internet de
alta velocidade e o acesso progressivo dos usuarios tornam possıvel a transmissao de con-
teudos multimıdia (integracao de imagem, audio, vıdeo e texto) na internet e oferece uma
perspectiva da TV e cinema digital. Os consumidores de aplicacoes audiovisuais apreciam
os produtos com mais valores interativos, melhor resolucao de imagem. Ha possibilidade
de acesso ao conteudo a partir do seu terminal fixo ou movel e de transferir, de maneira
transparente e segura, os conteudos de um terminal para outro. Essa exigencia do con-
sumidor final tem um impacto na linha de producao do fornecedor. Varias empresas, como
Thompson e Sony, trabalham com tecnologias inovadoras e apostam na computacao difusa
para producao e gestao de conteudo audiovisual. Por exemplo, a producao audiovisual
em um ambiente movel: o evento e a cena sao capturados onde eles estao ou onde esta
acontecendo, mas analisados e tratados (aperfeicoamento, efeito especiais, transformacao
de objeto) de forma distante a partir de outro ambiente. Uma ilustracao e o acompan-
hamento e analise automatica de um evento esportivo: jogo de futebol. Os objetivos sao
2.3 Aplicacoes 42
diversos, por exemplo, analisar a cena para melhorar a qualidade das imagens. Revelar as
posicoes dos jogadores e produzir resultados estatısticos que podem ajudar nas tomadas de
decisoes em tempo real. Um segundo exemplo e a producao audiovisual para um mundo
movel. Neste caso, trata-se de transmitir um unico conteudo audiovisual a um parque
de terminais nomades em constante movimento e heterogeneos em termos de tamanho de
memoria, resolucao e capacidade de visualizacao, entretanto, a adaptacao automatica do
conteudo a esses terminais e imprescindıvel para poder alcancar um grande numero de
usuarios. Porem, a questao mais preocupante e desafiadora e a seguranca. Sera que o
conteudo audiovisual que chega ao usuario final e autentico, nao sofreu nenhuma alteracao
de um intruso malicioso? Na tele medicina uma imagem medica violada por um malicioso
pode provocar um diagnostico errado, comprometendo a vida do paciente.
Consideracoes
Diante da mobilidade de uma producao audiovisual ininterrupta, do desafio da mobilidade
de distribuicao de conteudos em grande escala e do publico alvo cada vez maior; os sistemas
de producoes audiovisuais devem proporcionar: mecanismos de armazenamento eficientes,
ferramentas de manipulacao e atualizacao de conteudo em tempo real, infraestruturas de
comunicacao que permitam a manipulacao remota dos conteudos, mecanismos de busca,
monitoramento e controle de acesso eficiente.
Outros grandes desafios sao: tolerancia a falha: em caso de falha, o sistema como
todo deve continuar funcionado mesmo em modo degradado. Isto e, o conjunto dos ele-
mentos da infraestrutura do sistema deve autoconfigurar-se para assegurar a continuidade
dos servicos; controle de acesso: perante o valor e a sensibilidade da informacao, seu
acesso durante a producao, a manipulacao e a difusao devem ser restritos a usuarios iden-
tificados e autenticados, o que implica mecanismo de seguranca, servicos de integridade e
confidencialidade de dados.
2.3.3 Aplicacoes Maquina-Maquina (M2M)
M2M (Machine to Machine) e a associacao das tecnologias de computacao e da comu-
nicacao, atraves de objetos inteligentes e comunicantes que interagem sem a intervencao
humana, com o sistema de informacao de uma empresa ou uma organizacao. [NABET;
RIZCALLAH; KAPLAN, 2006] A disciplina M2M pode ser aplicada em varias areas, se-
gundo [NAB 06] existem seis principais categorias de aplicacao: gestao de frotas, gestao de
cadeia de producao e fornecimento (suply chain management), televigia ou telemonitora-
2.3 Aplicacoes 43
mento, monitoramento de pessoas e seus patrimonios, telepagamento automatico, gestao
automatizada aplicada a habitacao, para conforto e seguranca. Os monitoramentos sao
baseados em telemetria. A M2M e uma area promissora com a perspectiva de conectar
mais de um trilhao de maquinas [TROELSEN; SECCHI, 2008] um numero um pouco
exagerado, mas que merece atencao. Essa meta exige novos paradigmas e novos protoco-
los de comunicacao como, o IPV6 (Internet Protocolo Version 6 ). Atualmente, estamos
evoluindo progressivamente para uma convergencia das tecnologias de telecomunicacoes
muito heterogeneas.
Em um sistema M2M e possıvel encontrar dispositivo de telecomando para o usuario
humano interagir localmente ou remotamente com a maquina. Os principais elementos de
uma maquina comunicante sao: sensores ou detectores e acionadores. A principal funcao
do sensor e informar o sistema das interacoes da maquina com seu ambiente.
A arquitetura geral de um sistema de aplicacoes M2M e composta de maquinas ou
objetos a gerenciar ou a fazer interagir entre si, atraves de uma infraestrutura de comu-
nicacao associada a um sistema de informacao que coleta, processa e apresenta dados aos
usuarios.
Consideracoes
O mercado de sensores autonomos sem fio esta crescendo rapidamente. O crescimento
anual repartido nas aplicacoes comerciais pode ser visualizado da seguinte forma [NA-
BET; RIZCALLAH, 2006]: 26% nos automoveis, 17% nas estruturas de avioes, navios,
edifıcios, 28% na industria, 12% na eletronica de massa e 17% na medicina e outros se-
tores. O sistema M2M e muito aplicado em carros onde em media 100 sensores sao usados
por veıculo.
As redes de sensores exigem confiabilidade e seguranca. As maquinas podem se comu-
nicar por RFID ou via satelite. A mobilidade e os ambientes de acesso imprevisıvel das
maquinas fazem de suas identificacoes e autenticacoes um problema de difıcil solucao. A
universalizacao da identificacao das maquinas nomades e um problema mundial; existem
varios paradigmas para solucionar o problema. Um deles e a identificacao universal onde
cada maquina ou objeto recebe uma matrıcula de identificacao unica em nıvel mundial:
EPC (Electronic Product Code). O segundo paradigma e o enderecamento atraves do
IPV6. O sistema IPV6 define uma identificacao para as maquinas conectadas a internet.
O T-engine Forum propoe uma arquitetura de sistemas embarcados, framework de segu-
ranca (e-TRON) e um sistema de identificacao universal (ubiquitous ID center), com o
2.3 Aplicacoes 44
objetivo de abordar as questoes de identificacao de localizacao e de autenticacao. Uma
aplicacao M2M pode ser implementada de diversas maneiras, em funcao dos criterios a
otimizar, das condicoes de exploracao e da maturidade das tecnologias empregadas.
2.3.4 Aplicacoes em Gestao de Frota
Tem como objetivo controlar, regular ou tracar e planejar a frota de veıculos de uma
empresa. Os meios de comunicacao usados sao satelite, GSM (Global System for Mobile
Communications - Sistema Global para Comunicacoes Moveis) ou RFID, como exemplos
temos:
• Tacografo para frota de caminhoes de empresa de transporte [FRANCE;
TELECOM, 2005]: O sistema funciona com chips de identificacao dos motoristas.
Os parametros de velocidade, tempo de percurso etc, sao armazenados na caixa
preta (tacografo). Um controle do caminhao e feito a cada 3 meses. Por obrigacao
legal, um modulo de GPRS (General Packet Radio Service - Servico de Radio de
Pacote Geral) permite encaminhar os dados da caixa preta para diferentes servidores
a disposicao dos responsaveis e fiscais. O objetivo da aplicacao e controlar nas
estradas de todo o territorio europeu a conduta dos motoristas.
• Gestao de frota de taxis dos aeroportos de Paris [ORANGE, 2006]: O sistema
usa Tags RFID similares aos utilizados nos pedagios rodoviarios. Uma zona de
espera chamada zona tampao e criada a uma distancia do terminal de embarque
dos clientes. Detectores controlam a chegada dos taxis nestas zonas e controlam
a passagem dos taxis da zona tampao para o terminal de embarque. O objetivo e
regular o fluxo de utilizacao da zona de tampao a fim de evitar os engarrafamentos
nas plataformas de taxi dos aeroportos.
2.3.5 Aplicacoes em Telemanutencao e Acompanhamento de Bens
Tem como objetivo o monitoramento e controle de bens atraves de sensores e Modem
de redes de celulares; como ilustracoes tem:
• Manutencao apos venda de aquecedores [ORANGE, 2006]: os aquecedores sao
dotados de um modulo de diagnostico e de GPRS. O modulo de diagnostico pode
enviar informacoes sobre o estado da maquina ou receber comandos do fabricante.
O objetivo e informar o profissional de manutencao em tempo real dos incidentes e
2.4 Conclusao 45
eventuais manutencoes remotas. Se ha necessidade de deslocamento do profissional,
entao ele sabe o problema e as pecas de reposicao necessarias. Isso poupa o cliente de
solicitar manutencoes e preocupacoes de quebras inesperadas. O cliente nao precisa
mais ter essa preocupacao. O proprio produto faz de forma implıcita ao usuario, a
solicitacao de manutencao.
• Manutencao de motores de bombas em uma central nuclear [AUTOMA-
TION, 2000]: uma rede de sensores de temperaturas que funciona com a tecnologia
IEEE 802.15.4 efetua medidas que sao enviadas a um servidor que avisa os tecnicos
sobre comportamentos anormais dos motores. O objetivo e evitar a paralisia total
de um motor, proporcionando manutencoes antecipadas.
2.4 Conclusao
A visao da computacao difusa e de uma computacao onipresente e transparente (pre-
sente em todo lugar, sempre disponıvel e invisıvel para o usuario). Sua missao e simplificar
a vida do usuario atraves de um acesso a servicos, informacoes e dados de maneira mais
inteligente e personalizados. Isso se torna possıvel atraves de uma interacao mais simples
do usuario com o resto do mundo, simplificar as interacoes implica em desenvolvimento
de mecanismos, protocolos, redes para multitecnologias, novos terminais e IHM (Inter-
face Homem - Maquinas). Uma melhor consideracao do contexto do usuario (localidade,
data, hora, geolocalizacao precisa), implica dispor de rede de captadores e interacao entre
as maquinas. A computacao difusa nao deve concentrar-se unicamente em usuarios hu-
manos. A maior revolucao deve vir das interacoes diretas entre as maquinas cada vez mais
inteligentes. O carater implıcito, a transparencia das diversas tecnologias envolvidas, a
contextualizacao e personalizacao contribuem com um risco social para o usuario: o risco
de ultrapassar os limites do respeito da privacidade do usuario.
Sao necessarias tecnologias de middleware para enfrentar esses desafios. Neste capı-
tulo, apresentamos o que e a computacao nomade e difusa, sua contribuicao na vida
cotidiana dos seus usuarios, as razoes da sua emergencia, os principais conceitos: a nocao
do contexto, do implıcito e a relacao entre o real e o virtual. A questao da seguranca e um
grande desafio; nos estudos de caso apresentados neste capıtulo, os autores nao tratam
desta questao. A seguranca foi relegada a um segundo plano. O sistema de computacao
difusa levanta a questao da gerencia de cooperacao, seguranca de informacao e privacidade
das entidades moveis envolvidas. Como controlar o acesso as informacoes locais de uma
2.4 Conclusao 46
EEi, garantir a migracao segura de uma EEi e assegurar uma comunicacao confiavel entre
os EEis? Nesta tese, propomos um modelo de gerencia de seguranca que proporciona
seguranca e privacidade nos ambientes nomade e difuso.
47
3 Middlewares para AmbientesMoveis (Mobile Middleware)
3.1 Introducao
Um middleware e uma camada de programas situada entre o sistema operacional e
os aplicativos de usuarios. O objetivo principal dessa camada e mascarar a heterogenei-
dade do sistema distribuıdo, permitir disponibilidade de recursos de forma transparente e
fornecer ao programador um modelo de programacao conveniente [COULOURIS; DOL-
LIMORE; KINDBERG, 2007, NGUESSAN, 2000]. O middleware e representado por
processos ou objetos interagindo entre si. Os objetos ou processos implementam servicos
de comunicacao e suporte de compartilhamento de recursos para aplicativos distribuıdos.
Esses servicos sao importantes, especialmente para integrar os ambientes heterogeneos
tornando o sistema distribuıdo coerente e homogeneo de forma transparente aos usuarios.
Os middlewares para ambientes moveis sao modernos, alem das funcionalidades clas-
sicas dos middlewares fixos fornecem a solucao dos problemas especıficos relacionados a
variacao da qualidade de servico (QoS) da rede, a mobilidade dos usuarios e dos recursos
limitados das maquinas. Enfrentam tambem os desafios ligados as topologias totalmente
dinamicas descentralizadas das redes e fornecem as aplicacoes uma visao mais detalhada
dos nıveis das camadas mais baixas, permitindo assim as aplicacoes tomar decisoes e
modificar seus comportamentos em funcao do contexto de execucao. Os middlewares
moveis sao classificados em quatro tipos [MEDJI, 2006]: middleware orientado a objetos,
middleware orientado a mensagens, middleware baseado em tuples e middleware ponto a
ponto (P2P – Peer to Peer). As tecnologias middlewares revelam-se cada vez mais como
ingredientes indispensaveis para os sistemas moveis. Elas devem considerar os problemas
especıficos dos ambientes moveis.
Este capıtulo apresenta uma visao geral das tecnologias de middlewares para ambi-
entes moveis focando as solucoes e os objetivos a serem alcancados. O estudo classifica
3.2 Middlewares Orientados a Objetospara Ambientes Moveis 48
esses middlewares em funcao de suas arquiteturas e os modelos de reparticao adotados
(invocacao de objeto remoto, passagem de mensagens, tuple e peer to peer).
3.2 Middlewares Orientados a Objetos
para Ambientes Moveis
Mascaram os problemas de distribuicao e heterogeneidade das plataformas, facilitam o
desenvolvimento das aplicacoes assim os desenvolvedores de aplicacoes podem se dedicar
mais especificamente a funcionalidade das aplicacoes e nao aos problemas de comuni-
cacao e interoperabilidade. Os middlewares orientados a objetos se caracterizam pela
riqueza da sua funcionalidade e da forte integracao com as linguagens de programacao.
O principal interesse em utiliza-los em ambientes moveis e poder reutilizar o patrimonio
de aplicacoes existentes e integrar os terminais moveis com as plataformas fixas. Muitos
trabalhos [MASCOLO et al, 2002] tiveram como objetivo adaptar os middlewares orien-
tados a objetos, aos ambientes moveis, particularmente em ambiente nomade. O objetivo
e buscar mobilidade. Existem trabalhos que visam incluir nos middlewares um paradigma
de interacao semi- assıncrono. Esses middlewares melhoram as invocacoes remotas usando
memoria cache para temporariamente armazenar as mensagens durante as desconexoes
[JOSEPH; TAUBER; KAASHOEK, 1997; SCHILL et al, 1995].
3.2.1 CORBA
O CORBA (Common Object Request Broker Archietcture) e a arquitetura de refer-
encia dos middlewares orientados a objeto. Ele e um conjunto de padroes e conceitos
definidos pela OMG (Object Management Group) [OMG, 1998]. Nesta Arquitetura os
metodos dos objetos remotos sao invocados de maneira transparente atraves do ORB
(Object Request Broker). O ORB e responsavel, em caso de requisicao, de todas as
operacoes (preparacao de invocacao, transporte e a recepcao). As interfaces sao comple-
tamente independentes da localizacao do objeto, da linguagem de implementacao [HAG-
GERTY; SEETHARAMAN, 2000; JEAN; CHRISTOPHE; PHILLIPE, 1997]. As inter-
faces CORBA sao delimitadas pela linguagem IDL (Interface Definition Linguage). Para
garantir a interoperabilidade entre os ORB’s que aderem ao CORBA, a OMG definiu
o protocolo GIOP (General Inter ORB Protocol). O protocolo especifica uma sintaxe
para a transferencia das mensagens. O GIOP se adapta a qualquer tipo de protocolo
de transporte orientado a conexao. O protocolo IIOP (Internet, Inter-ORB protocol)
3.2 Middlewares Orientados a Objetospara Ambientes Moveis 49
e uma instancia do GIOP para a internet. Ele especifica o modo como as mensagens
GIOP sao trocadas, usando conexoes TCP/IP. As especificacoes iniciais do CORBA nao
tratam dos sistemas embarcados ou moveis, pois os ORBs consomem um importante es-
paco de memoria. Para adaptar o padrao CORBA ao ambiente movel a OMG definiu um
subconjunto ou extensoes de CORBA:
• Protocolo Miop [OMG, 1999c]: proporciona o acesso aos protocolos de transporte
multicast;
• Minimum CORBA [OMG 2002]: fornece uma versao leve de padrao CORBA
destinada aos terminais de recursos reduzidos;
• Wireless CORBA [OMG, 2005; PALIVAN; DINU, 2005] : trata da gestao de
acesso de terminais moveis atraves de redes sem fio.
Figura 3.1: Arquitetura de Mobilidade dos Terminais em CORBA [OMG, 2005].
A arquitetura do Wireless CORBA e constituıda de tres componentes:
• Home Domain: e o Home administrativo do terminal movel. Tem como princi-
pal componente o Home Location Agent (HLA). O Home Location Agent fornece
operacoes para consulta e atualizacao dos terminais moveis sob sua jurisdicao. O
HLA tambem fornece operacoes para obtencao de referencias CORBA para servicos
disponıveis no Home Domain. Alguns terminais nao estao associados a um Home
Domain e sao conhecidos por terminais homeless;
• Teminal Domain: consiste em tudo que esta no terminal movel e tem como inter-
face o Terminal Bridge. Todas as invocacoes originadas ou destinadas a um terminal
3.3 MOM - Message Oriented Middleware 50
movel passam pelo Terminal Bridge que se comunica com sua parte similar na rede
fixa atraves de um protocolo especıfico. O Terminal Domain alem, de fornecer
notificacoes de eventos relacionados a movimentacao do terminal para quem tiver
interesse, tambem pode permitir handoff do terminal movel;
• Visitated Domain: e localizado na rede fixa. Tem como principal componente os
Access Bridge que sao as contrapartes do Terminal Bridge nos terminais moveis. O
Access Bridge encapsula ou desencapsula as mensagens GIOP enviadas ou recebidas
do Terminal Bridge, usando um protocolo de tunelamento. O Visitated Domain
possui operacoes de suporte a handoff dos terminais moveis e notificacao de eventos
relacionados a movimentacao dos terminais.
Consideracoes
Os middlewares orientados a objetos nao sao as melhores solucoes para os ambientes
moveis. Estes middlewares foram desenvolvidos na hipotese de que os terminais sao
imoveis, conectados a redes fixas e tem mais recursos computacionais. Seus paradig-
mas de interacao sıncrona suportam uma conectividade permanente e a disponibilidade
simultanea das entidades comunicantes, o que nao acontece sempre em ambientes moveis.
Os cenarios previstos para estes middlewares sao aqueles onde as plataformas fixas ofer-
ecem servicos para os usuarios moveis. Nos casos onde os terminais moveis tem que
fornecer servicos, os middlewares orientados a objetos nao sao adequados e se mostram
ineficientes.
3.3 MOM - Message Oriented Middleware
Os Midllewares Orientados a Mensagens sao sistemas que oferecem servico ponto a
ponto [KADDOUR, 2006b]. Sua funcao e integrar o envio e recepcao de mensagens entre
diferentes tipos de aplicacoes. A comunicacao entre as aplicacoes e totalmente assıncrona:
emissora e receptora nao precisam estar conectadas simultaneamente para se comunicar. O
modo de envio de mensagens e baseado no mecanismo store and forward, onde a mensagem
e primeiramente estocada e depois enviada ao seu destinatario. Os termos frequentemente
utilizados em MOM sao:
• Provider ou broker: e a entidade que fornece servico de envio/recepcao das men-
sagens em modo assıncrono;
3.3 MOM - Message Oriented Middleware 51
• Mensagem: sao informacoes trocadas entre duas aplicacoes. A mensagem e com-
posta de tres partes:
– Dados da mensagem ou carga util (payload): podem ser do tipo texto
objeto, dados serializados;
– Cabecalho: contem informacoes como data de deposito, de expiracao da men-
sagem, nome da fila do destinatario;
– Propriedades: sao caracterısticas funcionais da mensagem que trazem infor-
macoes complementares sobre a precisao da mensagem.
• Fila de espera: e uma estrutura de estocagem de mensagens, no modelo ponto a
ponto ou peer to peer, a mensagem depositada numa fila de espera e consumida por
uma unica aplicacao;
• Topic: e uma fila de espera especıfica destinada a receber mensagens no modo
Publish/Subscribe. Uma mesma mensagem e recebida por varios clientes;
• Queue manager: e um conjunto de filas gerenciadas por uma ou varias instancias
do MOM, e o equivalente a uma base de dados no mundo dos SGBD (Sistema de
Gerenciamento de Banco de Dados);
• No: na comunicacao entre dois gestores de filas via um canal, fala-se de comunicacao
entre dois nos. Um gestor representa um no;
• Roteamento: quando uma mensagem destinada a um MOM situado em uma rede
R1 passa pelo no do MOM situado em outra rede R2, fala-se de roteamento. A
mensagem e transferida para o Middleware orientado a Mensagem da rede R1, de
forma transparente para a aplicacao emissora. O roteamento de uma mensagem
para outro no e feito com base nas informacoes especificadas no seu cabecalho.
Para o seu funcionamento o MOM utiliza filas de espera onde transitam as mensagens,
como ilustra a Figura 3.2
3.3 MOM - Message Oriented Middleware 52
Figura 3.2: Fila de espera no modelo peer to peer [KADDOUR, 2006b].
Quando uma aplicacao envia uma mensagem para outra, ela se conecta ao provider
(correio de mensagens) para quem ela entrega a mensagem informando o identificador
da fila de espera. Quando a aplicacao destinataria se conecta ao agente gerenciador das
mensagens, a mensagem e fornecida. As mensagens tambem podem ser consultadas sem
ser lidas. Isso e chamado de modo browser. Alem dos servicos de envio, recepcao, ar-
mazenamento e busca de mensagens, os MOM oferecem servicos mais evoluıdos tais como:
escalar prioridades nas filas de mensagens, comprimir dados, definir prazo de validade de
uma mensagem em determinada data, alertar quando uma mensagem estiver numa fila
de espera. A compressao de dados nao e implementada em todos os MOM, por exemplo,
MQ Series requer que a aplicacao seja responsavel pela compressao.
3.3 MOM - Message Oriented Middleware 53
Figura 3.3: Modelo Publish/Subscribe: as mensagens depositadas em um topic sao forneci-
das somente as aplicacoes subscritas ao topic [KADDOUR, 2006b].
Os MOM sao muito utilizados em EAI (Enterprise Aplication Integration - Integracao
de Aplicacao de Empresa), assim como em ESB (Enterprise Service Bus - Canal de Servico
de Empresa). Outros setores de utilizacao incluem, por exemplo, o Data warehouse.
Atualmente o MOM e muito usado na difusao de informacoes.
As aplicacoes destinatarias das mensagens na comunicacao em modo de mensagem
atraves do MOM nao precisam estar em funcionamento permanente, so o MOM pre-
cisa estar ativo. Cada aplicacao, para se comunicar com o servidor de mensagens utiliza
sempre os API’s do servidor; isso evita programar servico especıfico para cada tipo de
comunicacao. Os MOMs suportam varios sistemas operacionais, propoe APIs para varias
linguagens, o que facilita sua conexao com aplicacoes heterogeneas executadas em difer-
entes sistemas operacionais. Os MOMs sao insensıveis a indisponibilidade das aplicacoes.
Isto e, uma vez enviada uma mensagem ao MOM, a aplicacao pode parar de funcionar,
pois a conexao entre o MOM e a aplicacao somente e requisitada durante a troca de
mensagem. Uma das principais crıticas ao MOM e que ele nao e um padrao. Esta crıtica
pode ser repensada, pois a maioria dos MOMs atuais implementam interface JMS - Java
Message Service - que e o padrao de comunicacao, via mensagem, para tecnologia Java.
3.3 MOM - Message Oriented Middleware 54
3.3.1 Especificacao JMS
O JMS [HAPNER et al, 2002] e um conjunto de APIs que permite o desenvolvimento
de aplicativos baseados em troca de mensagens. A primeira especificacao do JMS foi feita
em 1998 para solucionar os problemas de incompatibilidade entre produtos MOM. Hoje
ela agrega varias funcoes. A arquitetura de um sistema JMS e baseada no paradigma
Clientes/Servidor. Um sistema JMS e composto das seguintes partes:
• Fornecedor JMS: e o sistema de caixa de mensagens que implementa as interfaces
JMS que fornecem os mecanismos para o controle e administracao do sistema;
• Clientes JMS: sao os aplicativos escritos em linguagem Java que produzem e
consomem as mensagens;
• Objetos administrados: sao servicos pre-definidos para o uso dos clientes;
• Clientes nativos: sao aplicativos que usam API que nao sao do tipo JSM. Neste
caso, JMS oferece passarelas que traduzem as requisicoes destes aplicativos no
padrao JMS. A Figura 3.4 ilustra estes elementos.
Figura 3.4: Arquitetura de um Sistema JMS [KADDOUR, 2006b].
Alguns Objetos da API JMS definidos na especificacao sao:
3.3 MOM - Message Oriented Middleware 55
• Fabrica de conexao: o cliente utiliza este objeto para criar uma conexao com um
fornecedor, encapsulando um conjunto de parametros de configuracoes;
• Destinacao: o cliente utiliza este objeto para especificar o destino das mensagens
produzidas;
• Conexao: encapsula uma conexao virtual com o fornecedor JMS, pode representar,
por exemplo, uma conexao socket TCP/IP;
• Sessao: representa o contexto para a producao e consumo de mensagens. As sessoes
sao utilizadas para criar os produtores e consumidores de mensagens;
• Produtor de mensagens: e criado por uma sessao e usado para o envio de men-
sagem ao destinatario;
• Consumidor de mensagens: e criado por uma sessao e usado para o recebimento
de mensagem a partir de um remetente;
• Selecao de mensagens: E usada para filtrar mensagens recebidas em funcao de
algumas propriedades e informacoes contidas nos cabecalhos.
Certos mecanismos permitem garantir alguns tipos de servicos de seguranca ao sistema
JMS, tais como a permanencia da mensagem em suportes confiaveis, persistencia no envio
e recebimento da mensagem e seu prazo de expiracao.
• Persistencia de Mensagens: Dois modos sao definidos:
– Persistencia por default: o fornecedor JMS garante que a mensagem nao sera
perdida em caso de falha, a mensagem e armazenada em suporte estavel;
– Nao persistencia: o sistema nao garante o recebimento da mensagem. Neste
caso, a mensagem nao e armazenada em suporte estavel.
• Prioridade das Mensagens: nıveis de prioridades de 0 a 9 sao definidos para cada
mensagem. 9 e a prioridade maxima e 4 e a prioridade default;
• Prazo de expiracao da mensagem: usado para garantir a permanencia da men-
sagem na fila de espera. Por default, uma mensagem pode permanecer por tempo
indeterminado antes de ser enviada ao seu destinatario; caso contrario, a sua per-
manencia na fila de espera e vigente ao seu prazo de expiracao.
3.3 MOM - Message Oriented Middleware 56
Os MOMs representam um paradigma de comunicacao emergente e servem de base
para as aplicacoes moveis. Uma das principais vantagens e permitir que entidades troquem
informacoes sem ter conhecimento preciso do endereco do destino da notificacao. Varios
middlewares orientados a mensagens foram desenvolvidos para ambientes moveis. Seguem
abaixo alguns middlewares comerciais ou em fase experimental.
3.3.2 Ibus//mobile
Ibus//mobile [SOFTWIRED, 2007] e uma implementacao JMS destinada a terminais
moveis interconectados por uma rede sem fio, de grande escala. Um sistema Ibus//mobile
e composto por 3 entidades: clientes moveis JMS, uma passarela JMS e um fornecedor
JMS cliente. JMS sao concebidos em funcao do tipo de terminal movel (programavel
ou nao programavel). O cliente JMS se comunica por meio de um sistema de comuni-
cacao padrao (WAP - Wireless Application Protocol , SMS - Short Message Service). Nos
terminais programaveis dotados de J2ME, o cliente JMS se comunica atraves de uma im-
plementacao leve baseada em API JMS. O elemento chave da arquitetura de Ibus//Mobile
e a passarela JMS, conhecida como core of the iBus//Mobile. A passarela funciona como
uma estacao de base (um gateway e um provedor JMS conforme ilustrada na Figura 3.5)
para conectar na rede todos os terminais moveis de uma determinada zona geografica
[MAFFEIS, 2006].
3.3 MOM - Message Oriented Middleware 57
Figura 3.5: Arquitetura geral do Ibus//Mobile [SOFTWIRED, 2007].
Do ponto de vista do fornecedor JMS, esta passarela e um cliente JMS padrao. Do
ponto de vista do cliente JMS, a passarela e um no onde transitam as mensagens e sao
feitas as conversoes dos formatos das mensagens.
3.3.3 WebSphere EveryPlace
Websphere EveryPlace [WEBSPHERE, 2007] e uma plataforma da IBM que permite
aos usuarios moveis acesso a dados remotos das empresas. Essa plataforma e uma extensao
da aplicacao websphere baseada na especificacao JMS, como mostra a Figura 3.6. O
websphere usa os protocolos de comunicacao: GRPS - General Packet Radio Service -,
SMS - Short Messaging Service, WAP - Wireless Application Protocol , Wifi e Bluetooth.
Um gerente de sincronizacao permite aos usuarios moveis operar em modo desconectado
e sincronizar o resultado de suas atividades com a base de dados do servidor.
3.3 MOM - Message Oriented Middleware 58
Figura 3.6: Arquitetura do WebSphere Everyplace [DAVE; LINDAMAYL, 2002].
Ele fornece os servicos necessarios para a conexao de dispositivos moveis ao sistema de
informacao da empresa. O WebSphere EveryPlace suporta modelos de aplicacao contendo
servlets, JSP e Java. Para mais informacoes, consulte [DAVE; LINDAMAYL, 2002].
3.3.4 Pronto
Pronto [YONEKI; BACON, 2006; PRONTO, 2003]: e um middleware JMS destinado
aos ambientes moveis. Ele apresenta tres componentes essenciais: 1- cliente MobileJMS
baseado em Servico de Mensagem Java (JMS). 2- gateway, para oferecer uma transmissao
eficiente e confiavel entre os dispositivos moveis e o servidor. Existem dois tipos de
gateway : gateway local e gateway remoto e 3- Serverless JMS: um servidor baseado em
IP multicast, suporta rede Ad Hoc. A Figura 3.7 apresenta uma visao geral do modelo
centralizado da arquitetura do Ponto.
3.3 MOM - Message Oriented Middleware 59
Figura 3.7: Overview da arquitetura do Pronto – modelo centralizado [PRONTO, 2003].
As mensagens transitam por uma passarela que assume as funcoes como: compressao
e codificacao de dados. A passarela pode estar no terminal do cliente ou em uma maquina
da rede. Neste ultimo caso, a comunicacao e baseada em Java/RMI [CAMPADELLO
et al, 2000]. Um mecanismo de cache e usado para gerenciar a desconexao e reduzir o
trafego entre fornecedor JMS e a passarela. Quando um cliente se desconecta, a passarela
continua recebendo as mensagens, quando volta a se conectar, ele recupera os dados
armazenados atraves de uma sincronizacao com o cache. Pronto tambem propoe um
modo descentralizado onde as mensagens sao transmitidas diretamente aos destinatarios
(sem presenca de fornecedor). A Figura 3.7 ilustra um modelo descentralizado usando
gateway em cascata e memoria cache.
3.3.5 Steam
Steam [RENE; VINNY, 2003] e um middleware para aplicacoes moveis que explora a
nocao de proximidade. Permite gerenciar entidades representadas por objetos reais que
se comunicam atraves de redes sem fio Ad Hoc. Muitas destas entidades representam
objetos moveis, como carro. Outras entidades podem representar objetos fixos como,
por exemplo, farois de transito; veja Figura 3.8. Essas entidades interagem usando uma
comunicacao baseada em eventos para trocar informacoes sobre o estado atual do trafego,
por exemplo, um farol de transito pode propagar para os carros que se aproximam uma
notificacao de reducao de velocidade em funcao do estado do asfalto. Uma ambulancia ou
viatura da polıcia pode difundir sua aproximacao para os carros vizinhos a fim de ceder
3.3 MOM - Message Oriented Middleware 60
passagem. As notificacoes sao validas em determinado perımetro geografico em torno do
produtor e receptor da mensagem que chamamos de zona de comunicacao. Esta restricao
tem a vantagem de reduzir as retransmissoes de mensagens e alto consumo de recurso de
maquina e rede.
Figura 3.8: Um exemplo de aplicacao do Steam. A comunicacao entre as entidades do
sistema e feita atraves de eventos de propagacao baseados em aproximacao dentro de um
perımetro.
A arquitetura do Steam, como mostra a Figura 3.9, inclui: Servico de localizacao
(LS) baseado em dados sensoriais via GPS; nucleos de servicos de evento; servico de
descoberta de aproximacao e servico de comunicacao para redes ad hoc e padrao IEEE
802.11b. O Steam e um modelo baseado em evento que proporciona a possibilidade de
filtragem dos eventos: a entidade consumidora subscrever -se a em determinados eventos.
O Steam explora um servico de comunicacao baseado na aproximacao, para que as en-
tidades possam se descobrir e integrar ou interagir quando elas estiverem numa mesma
zona geografica. Tres tipos de filtragem de eventos sao propostos: sujeito, proximidade e
conteudo. Um evento propagado e composto de um nome e um conjunto de parametros.
O nome representa o tipo de evento:
• Filtro de sujeito: descreve o tipo de eventos do consumidor;
• Filtro de proximidade: descreve a zona geografica na qual um evento de um
determinado tipo e validado;
• Filtro de conteudo: filtra os eventos de acordo com os valores dos parametros,
usando uma expressao logica.
Os filtros de sujeitos e de proximidade sao aplicados no nıvel do produtor, enquanto o filtro
de conteudo e aplicado no nıvel do consumidor. A pratica de filtro tem como vantagem
reduzir o trafego na rede e melhor dividir as tarefas entre produtor e consumidor.
3.4 Middlewares Baseados em Tuples 61
Figura 3.9: Overview da arquitetura STEAM [RENE; VINNY, 2003].
A abordagem de Steam e adaptavel a ambientes difusos, pois ela permite interacoes
espontaneas baseadas na vizinhanca fısica. A contribuicao essencial do Steam e seu mecan-
ismo de filtragem que permite prevenir e evitar a propagacao inutil de mensagens a fim
de melhor utilizar a largura de banda da rede. Porem, Steam nao preve a gerencia da
mobilidade, a propagacao dos eventos, a grande escala e seguir os deslocamentos dos
consumidores. O uso do Steam e destinado as redes ad hoc.
Consideracoes:
A principal vantagem dos middlewares orientados a mensagens e seu modo de interacao
assıncrono. Este tipo de interacao permite melhor gerenciar os problemas de desconexao,
de mobilidade e melhor utilizar os recursos da rede. Eles se adaptam muito bem aos
sistemas distribuıdos de larga escala, porem estes middlewares nao se integram bem aos
conceitos de programacao orientada a objetos, pois existem incompatibilidades funda-
mentais entre as nocoes de objetos e eventos. As aplicacoes baseadas em eventos nao
conseguem explorar totalmente as possibilidades da orientacao a objetos como fazem as
aplicacoes CORBA. Os modelos de arquitetura estudados nao apresentam ou pouco men-
cionam a questao da seguranca. Eles nao proporcionam mecanismos de seguranca para
confidencialidade e garantia de preservacao da privacidade dos usuarios.
3.4 Middlewares Baseados em Tuples
O conceito de Tuples foi introduzido por Linda [GELERNTER, 2005]. O Tuple define
uma linguagem de coordenacao para a programacao concorrente. Um espaco de Tuples
e um espaco de memoria associativo e compartilhado que permite a varios processos se
3.4 Middlewares Baseados em Tuples 62
comunicarem entre si. Este espaco e apresentado na forma de um deposito de dados es-
truturados. Em middleware, o Tuple, e um elemento que forma a base da comunicacao. E
criado e mantido por um processo de tal forma, que seja usado de maneira concorrente aos
outros processos. Os Tuples sao anonimos, suas selecoes sao feitas por correspondencia
de atributos, nao pela identidade de seus autores, assim a correspondencia entre as enti-
dades comunicantes e feita por anonimato. A comunicacao e desacoplada no tempo e no
espaco, pois as entidades comunicantes nao precisam estar simultaneamente conectadas.
A duracao de vida dos Tuples e independente do processo que os criou. Na troca de dados
nao e necessario o conhecimento mutuo do endereco de cada entidade comunicante, pois
a troca e feita atraves do espaco global compartilhado. Estas caracterısticas fazem dos
middlewares baseados em Tuples um importante pretendente para a gestao dos problemas
de ambientes moveis.
As propriedades destes ambientes tais como o estilo de comunicacao desacoplado, fa-
vorecem a continuacao dos tratamentos em caso de desconexao da rede, permite tambem
as entidades comunicarem entre si de maneira oportuna (as entidades sao dinamicas e de-
sconhecidas previamente). Os ambientes difusos nem sempre tem acesso a uma infraestru-
tura centralizada. Alguns trabalhos de pesquisa abordam a representacao e a integracao
dos Tuples fisicamente distribuıdos: as solucoes diferem dependentemente da abordagem
do problema. Entre as plataformas desenvolvidas podemos citar Tspace [WYCKOFF et
al, 1998], JavaSpace [WALDO, 1998] e Lime [MURFPHY et al, 2007 ].
3.4.1 Lime
Lime (Linda in a Mobile Environment) e um middleware baseado em tuple que fornece
mecanismos de alto nıvel para desenvolvimento de aplicacoes caracterizadas pela mobili-
dade fısica (terminais) ou pela mobilidade logica (agente1). Na sua arquitetura o espaco
de tuples persistente, originalmente definido no modelo Linda e substituıdo por um espaco
volatil: uma especie de memoria temporaria compartilhada (Transiently shared space tu-
ple), situada em cada terminal ou agente movel. Este e tambem conhecido como ITS (In-
terface Tuples Space - Interface do Espaco Tuples). Figura 3.10. A associacao coordenada
de diferentes ITS constitui um espaco global (FTS - Federal Tuple Space) compartilhavel
por diversos terminais ou agentes.
1Na terminologia LIME por causa da mobilidade logica processos sao tambem chamados de agentes.Cada processo e associado a um host ou terminal movel.
3.4 Middlewares Baseados em Tuples 63
Figura 3.10: Espacos de Tuple Temporariamente compartilhados onde cada esfera repre-
senta um agente associado a um espaco de tuple local (ITS).
O acesso ao contexto global por um agente e feito atraves do seu ITS associado de
maneira permanente e exclusiva. ITS e transferido juntamente com o agente quando
ocorre um movimento de migracao. O conceito fundamental do modelo Lime e a nocao
de espaco de tuple compartilhado transitoriamente. A figura 3.10 apresenta um host com
tres agentes e seus respectivos ITS. Cada ITS contem informacoes relacionadas a um
agente; por exemplo, a localizacao geografica ou a identificacao do PDA de um medico em
movimento. Ele tem duas principais funcoes: disponibilizar um agente a outros agentes,
acessar dados de outros agentes presentes na comunidade FTS. Assim, o conteudo do
espaco global evolui dinamicamente em funcao das unidades de agentes presentes. Na
entrada de um novo agente na comunidade, o conteudo do ITS de cada agente e reavaliado
em funcao dos dados do novo agente. Os tuples ITS do novo agente, por sua vez, se juntam
com o conteudo do espaco anterior compartilhado. O resultado e a formacao de um espaco
de tuple global (FTS - Federated Tuple Space) acessıvel pelo ITS de todos os agentes
presentes. Esta sequencia de operacoes e chamada de engajamento. Quando acontece
a saıda de um agente do FTS, o conteudo de seu ITS e retirado, de forma atomica, do
espaco global (desengajamento). A Figura 3.11 mostra as duas principais caracterısticas
do modelo Lime: mobilidade logica e fısica e associacao de espacos de tuple. Diversos
dispositivos distintos e remotos podem compartilhar um mesmo espaco formado por seus
ITS. O objetivo da migracao de um agente para outros dispositivos e poder ter acesso a
3.4 Middlewares Baseados em Tuples 64
servicos remotos ou efetuar determinadas tarefas nos dispositivos receptores.
Figura 3.11: FTS: Espacos de Tuple Global – Federated Tuple Space onde cada host ou
dispositivo e associado a um conjunto de ITSs chamado de Host – Level Tuple Space .
O espaco de dados definido pelo Lime oculta os detalhes da mobilidade e da reparticao,
gerenciando automaticamente a localizacao dos tuples. Entretanto, a aplicacao as vezes
precisa ter um controle explıcito sobre a porcao de espaco que ela deseja acessar. Este
controle pode ser feito atraves da introducao de parametros de identificacao de terminais
moveis. O modelo Lime e uma interessante solucao para o problema de comunicacao
e coordenacao em ambiente difuso, ele permite uma gestao transparente de troca de
informacao em perımetro local e uma sensibilidade ao contexto atraves da supervisao das
entidades presentes na vizinhanca. Porem, faltam no estagio atual de seu desenvolvimento
mecanismos de tolerancia a falhas e de seguranca.
Consideracoes
Os middlewares baseados em tuples adotam o modo de interacao assıncrona e explo-
ram a natureza desacoplada do espaco de tuples, isto e: as operacoes podem funcionar
em modo desconectado. O ponto forte desses middlewares e a possibilidade de fusao dos
espacos de dados que permite reunir objetos pertencendo a entidades diferentes em um
unico espaco logico. Os dados que residem em diferentes nos podem ser compartilhados e
acessados de forma transparente. Os espacos de tuples permitem introduzir mecanismos
de persistencia avancado e oferecem ferramentas evoluıdas de busca e indexacao de dados.
3.5 Middlewares Peer to Peer - P2P 65
Estes middlewares formam uma solida base para a concepcao de aplicacoes em ambientes
moveis.
3.5 Middlewares Peer to Peer - P2P
Um sistema P2P e descrito como um conjunto de relacoes entre pares, onde os pares2
sao autonomos e interagem de igual para igual [BOLCER al et, 2007]. Nesta relacao de
par, um par pode colaborar com os outros pares oferecendo funcoes complementares. Os
sistemas P2P foram inicialmente desenvolvidos para as infraestruturas fixas. Hoje eles
fazem grande sucesso e sao muito utilizados na Internet. Os sistemas P2P moveis sao
uma combinacao de terminais moveis com as redes Ad hoc. Um sistema movel e um
sistema distribuıdo formado de hosts que mudam continuamente de localizacoes fısicas
e estabelecem entre si a relacao de proximidade. Os sistemas P2P moveis diferem dos
sistemas P2P fixos pelos seguintes aspectos:
• Os pares nao sao sempre conectados;
• As ligacoes sao breves e temporarias (efemeras): as desconexoes e reconexoes sao
frequentes e imprevisıveis;
• A topologia do sistema muda frequentemente.
Na concepcao de middlewares para sistemas P2P moveis, alem das funcoes tradi-
cionais dos middlewares fixos e necessario implementar os aspectos da mobilidade acima
mencionados. Alguns middlewares que tratam desses aspectos sao relacionados abaixo.
3.5.1 Proem
Proem [KOERTUEM, et al] e um middleware aberto destinado a sistemas moveis
difusos. Ele fornece uma solucao para o desenvolvimento e execucao de aplicacoes P2P
e ferramentas para essas aplicacoes tais como API, ambiente de execucao, e protocolo de
comunicacao. Sua arquitetura se articula em torno de quatro entidades: o par, o usuario,
o espaco de dados e a comunidade. O par e um terminal movel autonomo relacionado
a outro. O usuario e uma pessoa que utiliza um ou varios pares. O espaco de dados e
uma colecao de objetos de dados que compartilham e gerem um conjunto de pares. Uma
2hosts autonomos, considerados como os nos de uma rede MANET(Mobile Ad hoc NETwork)
3.5 Middlewares Peer to Peer - P2P 66
comunidade e um conjunto de entidades (pares usuarios e espaco de dados). Em cada
comunidade sao definidos direito de acesso e funcionalidades para que ela represente um
domınio de confianca. Para um par provar que pertence a uma comunidade, ele deve
fornecer um certificado criptografado e assinado por uma autoridade certificadora. As en-
tidades sao 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 atraves 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 comunicacao que oferecem servico de transporte, definem a sintaxe e a semantica das
mensagens trocadas entre os pares, conforme mostra a Figura 3.12 estes protocolos sao:
• Protocolo de transporte: baixo nıvel, permite o transporte assıncrono de dados
de um par para o outro de forma atomica;
• Protocolo de presenca: anuncia presenca de um par;
• Protocolo de dados: permite a troca e sincronizacao de dados entre os pares;
• Protocolo de comunidade: oferece servicos a comunidade como, por exemplo,
verificar se um par pertence ou nao a comunidade.
Figura 3.12: Arquitetura Geral do Proem [KOERTUEM, et al ].
3.6 Conclusao 67
O ambiente aplicativo do Proem e composto de um kit (SDK- Software Development
Kit) de desenvolvimento dos peerlets e um sistema de execucao (Runtime Environment
ou Peerlet Engine). Os peerlets sao aplicativos peer to peer simples, adotam o modelo
de programacao baseado em eventos. O sistema de execucao e constituıdo de tres compo-
nentes: uma pilha de protocolo, um executivo dos peerlets e um conjunto de servicos que
possibilitam a funcionalidade dos peerlets (servico de nome, gestao de dados, registro de
eventos etc.). O modo de interacao adotado e assıncrono. O Proem implementa o con-
ceito de comunidade muito utilizado nos sistemas peer to peer baseado em uma relacao
de confianca. Proem apresenta um protocolo de localizacao de servico, mas nao especifica
como acessar esses servicos. O compartilhamento de dados entre os pares tambem nao e
definido.
Os middlewares Peer to Peer apresentam uma arquitetura que se adaptam perfeita-
mente aos ambientes difusos. Eles permitem criar interacoes espontaneas e compartilhar
recursos e dados sem recorrer a um servidor centralizado. Os middlewares Peer to Peer
devem constituir no futuro a base de interacao entre as aplicacoes e os usuarios moveis,
, porem os middlewares peer to peer tratam pouco da questao da seguranca. O Proem,
por exemplo, se restringe a verificar se um par pertence ou nao a uma comunidade.
3.6 Conclusao
O estudo feito neste capıtulo permite constatar que os middlewares para ambientes
moveis devem possuir algumas caracterısticas comuns independente de seu tipo. Essas
propriedades comuns permitem uma melhor adaptacao a natureza dos ambientes moveis e
as necessidades das aplicacoes. A tabela 3.1 apresenta essas caracterısticas. Nela observa-
se que: Interacao assıncrona e o modo mais adaptado aos ambientes moveis, fornece
uma solucao aos problemas de desconexao, mudanca de endereco, localizacao na rede e
latencias que sao caracterısticas das redes sem fio; Interoperabilidade e a integracao em
termos de recursos e servicos. Um middleware para ambiente movel deve ser capaz de
interagir com servicos de diversos tipos (orientado a objetos, baseado em eventos, espaco
de tuple etc). Leve: devido ao limite de recursos internos dos dispositivos moveis, os
middlewares moveis devem ser otimizados para oferecer mais servicos e consumir menos
recursos computacionais. Gerencia de mobilidade: e ligada ao problema de desconexao,
as limitacoes dos dispositivos (memoria e bateria), perda de pacote, variacao de largura
de banda e localidade geografica.
3.6 Conclusao 68
Caracterısticas Orientado Orientado Tuple P2P
a objetos a mensagens
Interacao assıncrona nao sim sim sim
Integracao a programacao sim nao nao nao
Orientada a Objetos
Integracao a programacao nao 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 Computacao sim sim sim sim
nomade
Adaptabilidade a Computacao nao sim sim
difusa
Leve (exigencia de menos nao sim sim sim
recurso computacional)
Gerencia de Seguranca e pouco pouco pouco pouco
Privacidade falado falado falado falado
Tabela 3.1: Propriedades dos diferentes tipos de middlewares para Ambientes Moveis.
As analises mostram tambem que os middlewares existentes quase nao abordam os
problemas da seguranca e privacidade; muitas das solucoes existentes sao implementadas
na camada de aplicacao o que as tornam especıficas, proprietarias e vulneraveis. A se-
guranca ainda e um problema que deve ser gerido em todos os nıveis de um sistema
distribuıdo, associando criptografia, autenticacao, auditoria e novos mecanismos como,
por exemplo, deteccao de intrusos, anonimato e gerencia de identidades virtuais. A segu-
ranca e um campo de pesquisa cheio de desafios. Como contexto para o desenvolvimento
e aplicacao da nossa proposta foi escolhida a classe dos middlewares baseados em tuple,
pois eles tem um bom gerenciamento de mobilidade e se adaptam melhor a computacao
nomade e difusa.
69
4 Tecnologia sem Fio e Movel
4.1 Introducao
A computacao movel esta em pleno desenvolvimento e uma das maiores necessidades
e a seguranca. Para isso, e necessario integrar mecanismos e protocolos de seguranca sem
prejudicar a qualidade do servico, a mobilidade e os recursos limitados das maquinas.
Neste capıtulo, apresentamos algumas tecnologias sem fio e moveis especificadas pelas
normas IEEE 802.11 e ITU (International Telecommunication Union), alem de uma
analise e algumas consideracoes sobre as solucoes de seguranca existentes, focando os
tres protocolos mais utilizados no momento: SSH – Secure Shell ; SSL/TLS – Secure
Socket Layer/Transport Layer Security e IPSec – Internet Protocol Security.
4.2 Rede WLAN: 802.11
O surgimento de varias normas de comunicacao sem fio e o preco dos equipamentos
sem fio, cada vez mais atraentes contribuem para o sucesso dessas tecnologias como, por
exemplo, a WiFi (Wireless Fidelity). A norma IEEE 802.11 descreve as caracterısticas
de rede local sem fio (WLAN – Wireless Local Area Network), ela define nessa categoria
dois tipos de topologias:
• Modo com infraestrutura: uma rede 800.11 e um conjunto de celulas de base
BSS (Basic Set Service) onde cada BSS e composto de um ponto de acesso (AP-
Access Point) materializado por um dispositivo de emissao e recepcao. As celulas
sao ligadas a uma infraestrutura de comunicacao estatica e interconectadas por um
sistema de distribuicao formando assim um ESS (Extended Service Set), Figura 4.1
ilustra a topologia de uma rede 800.11, essa infraestrutura pode servir de interface
a uma rede local.
4.2 Rede WLAN: 802.11 70
Figura 4.1: Topologia de uma rede 802.11 - onde BSS1 e BSS2 constituem a topologia
modo infraestrutura e a IBSS em pontilhado o modo ad hoc.
• Modo ad hoc: conhecido como modo sem infraestrutura, neste caso a rede e
composta de um conjunto de estacoes 802.11 sem fio que se comunicam entre si
sem a necessidade de AP conectado a uma rede cabeada [LABROD, 2008]. Cada
estacao pode estabelecer uma comunicacao com qualquer outra estacao de uma
celula independente chamada IBSS (Independent BSS ). A celula do meio da figura
4.1 ilustra essa situacao.
Tanto no modo infraestrutura, como no modo ad hoc, cada rede e identificada por
meio de um SSID (Service Set IDentity) em consequencia toda estacao que deseja se
conectar a rede deve previamente conhecer o valor do SSID.
Consideracoes
As redes 802.11 sem fio sao muito usadas nos ambientes nomades e difusos. Existem
varias outras tecnologias baseadas nas normas IEEE 802 [IC2, 2007a; IC2, 2007b]. Elas
necessitam de novos mecanismos de seguranca, contudo a falta de protecao fısica dos APs
e a transmissao de dados via sinal de radio sao as principais causas da vulnerabilidade
das redes 802.11. Os servicos fornecidos por essas redes sao expostos a diversos problemas
de seguranca. As redes 802.11 sem fio sao sensıveis a varios ataques e apresentam varias
falhas de seguranca.
4.3 Redes Celulares Moveis 71
4.3 Redes Celulares Moveis
ITU desenvolveu um conjunto de normas para o sistema de telecomunicacao movel
de terceira geracao (3G) denominado IMT-2000 (International Mobile Telecommunication
system for the year 2000 ); elas sao especificadas para funcionar em bandas de frequencias
aproximadas a 2GHZ e oferecer velocidade que pode atingir 2 Mbps. As redes IMT-
2000 tem como objetivos: oferecer servicos de alta velocidade com transmissao de mıdia
vıdeo, utilizar um unico terminal (movel) em varias redes sem fio (mobilidade vertical),
tornar os servicos fixos e moveis compatıveis e transparentes ao usuario. Essas redes
oferecem tambem uma mobilidade global que inclui a mobilidade do terminal, do usuario
e dos servicos. A quarta geracao de redes moveis (4G) esta por vir e podera ser baseada
em mecanismos das redes celulares ou rede sem fio IEEE ou uma combinacao dos dois
mecanismos. A ITU atualmente especifica que sua velocidade pode atingir 1Gbps em
posicao estatica e 100Mbps em movimento. A figura 4.2 mostra a evolucao das normas
das redes celulares. Apesar da diversidade, elas apresentam o mesmo objetivo: construir
uma rede capaz de transportar voz e dados, respeitando as imposicoes de QoS (Quality
of Service) e Seguranca, sobretudo com baixo custo, para os usuarios e operadores.
Tecnologias 1G 2G 3G 3.5G 4GCT01 GSM CDMA HSDPA ?AMPS PCS UMTS MIMONMT PDCTACS
Frequencia 450MHz a 900MHz a 2GHz >2GHz900MHz 1900MHz
Servicos voz voz e dados multimidia multimidia multimidiatempo real
Velocidade ate 10Kps 9.6 - 64Kps 364 - 2Mbps 380 -20Mbps 100 ate1Gbps
Tabela 4.1: Evolucao das redes celulares [IC2, 2007a].
4.3.1 Elementos das Redes Celulares
Uma rede celular baseia-se em emissoras de baixa potencia (proxima a 100W). Em
funcao dessa baixa potencia, uma area geografica e divida em areas menores chamadas
de celulas. Cada celula dispoe do seu proprio emissor/receptor (antena) sob o controle de
uma estacao de base. Para evitar as interferencias, cada celula dispoe de uma faixa de
4.3 Redes Celulares Moveis 72
frequencias. As celulas adjacentes nao usam as mesmas frequencias. Uma rede celular e
composta em geral de estacoes radio base (BS – Base Station) e de centrais de comutacao
celular (MTSO – Mobile Telephone Switching Office).
• Estacao Radio Base: composta de uma antena no centro da celula, um controlador
e varios emissores/receptores. Ela permite a comunicacao nos canais associadas a
uma celula. O controlador gerencia o procedimento de chamada entre um movel e
o resto da rede. A BS e conectada a uma central de comutacao de terminais. Dois
tipos de canais sao estabelecidos entre o movel e a BS: canais de controle e canais
de trafego. Os canais de controle servem para estabelecer e manter a conexao do
movel com a BS mais proximo. Os canais de trafego servem para a transmissao de
voz e dados do usuario;
• Central de comutacao celular: E o coracao de um sistema celular, responsavel
pela validacao dos assinantes, processamento de chamadas, interface com a rede
fixa de telefonia, interface com outras MTSOs sejam elas de outra operadora ou
nao, geracao de bilhetes das chamadas, gerenciamento de hand-off (passagem do
terminal movel de uma celula para outra), monitoracao de alarmes das estacoes
radio base , entre muitas outras funcoes. A quantidade de estacoes que uma MTSO
pode gerenciar e o numero de assinantes maximo dependem muito da filosofia de
operacao de cada empresa no que diz respeito a qualidade dos seus servicos.
Figura 4.2: Estrutura de uma rede celular.
4.4 Analise das Solucoes de Seguranca Existentes 73
Consideracoes
O mundo se torna cada vez mais conectado e comunicante. Os sistemas de teleco-
municacoes constituem uma interface crucial de interconexao dos sistemas de informacao
modernos. A democratizacao das tecnologias de informacao e das comunicacoes, ma-
terializada pela interconexao de diversos sistemas tornam a protecao das informacoes e
infra-estruturas mais complexas. Os sistemas de telecomunicacoes sao hoje considerados
infraestruturas crıticas, suas protecoes se tornam uma preocupacao polıtica, comercial e
pessoal [CONSEIL, 2007] (consultado 2009). A seguranca e um processo determinante que
deve acompanhar o desenvolvimento dos sistemas de comunicacao. A seguir analisamos
algumas solucoes de seguranca existentes. Isoladas, elas nao se tornam eficientes.
4.4 Analise das Solucoes de Seguranca Existentes
4.4.1 Protocolo SSH
O SSH ou Shell Seguro tem como objetivo tornar segura a comunicacao remota entre
cliente e servidor Unix. A sua primeira versao apresentou varias falhas, desde entao o
IETF (International Engineering Task Force) desenvolveu uma nova versao denominada
SSH-2 com novos algoritmos e servicos como transferencia de arquivos (SFTP) e tunela-
mento.
Arquitetura
SSH utiliza uma arquitetura cliente/servidor para proporcionar a autenticacao, a crip-
tografia e a integridade dos dados trafegados na rede. A versao 2 deste protocolo especifica
uma arquitetura de tres camadas:
• Camada de transporte SSH (SSH-TRANS): fornece a autenticacao do servi-
dor, a confidencialidade e integridade dos dados. Ela permite ao cliente saber se
esta se comunicando de forma segura com um servidor autentico. A comunicacao e
criptografada atraves de um algoritmo de criptografia simetrica;
• Camada de autenticacao SSH (SSH-AUTH) permite garantir ao servidor a
identificacao do cliente e provar que o cliente e realmente quem ele diz ser. Esta
garantia e feita atraves da chave de criptografia criada na camada de transporte.
Apos a autenticacao, o cliente entra em conexao segura e pode ter acesso aos servicos
do servidor (por exemplo: sessao Shell interativo, aplicacoes X11, portas TCP/IP
4.4 Analise das Solucoes de Seguranca Existentes 74
tuneladas);
• Camada de conexao SSH (SSH-CONN): esta camada se apoia na camada
de autenticacao oferecendo uma variedade de servicos: multiplexacao de fluxos ou
canais, a gestao de transferencias de portas TCP, gestao de agentes de autenticacao,
execucao de programas remotos, controle de fluxo, gestao dos terminais, entre outros
servicos.
Consideracoes
O SSH constitui uma pratica de protecao das comunicacoes em uma rede de computa-
dores. Atraves de seu mecanismo de autenticacao, permite efetuar a partir de um tunel
seguro, conexoes remotas, transferencia de arquivos e outras importantes funcionalidades
como, por exemplo, o servico de Single Sign On (SSO). Com o SSO, o cliente e identi-
ficado e autenticado uma unica vez no sistema na sua primeira conexao com o servidor
SSH. A partir daı, qualquer abertura de sessao com outro servidor SSH e transparente ao
cliente, assim o cliente nao precisa se identificar uma segunda vez.
Apesar da pratica de seguranca e da facilidade de uso, o SSH e vulneravel a ataques
de repudio de servicos, analise e desvio de trafego. Uma falsa recepcao da chave publica
enviada para o servidor SSH pode permitir a um malicioso desviar a comunicacao e enviar
uma falsa chave durante a primeira conexao com o servidor SSH. Os caracteres das senhas
do cliente SSH sao enviados diretamente por pacotes IP. Um intruso pode observar e,
atraves de metodos markovianos baseados no tempo e frequencia, quebrar a senha do
cliente. A autenticacao por delegacao de confianca atraves do Single Sign On nao e
segura.
4.4.2 Protocolo SSL/TLS
E um protocolo modular. Seu objetivo e proporcionar seguranca as transacoes na
Internet entre clientes e servidores. Ele atua como uma camada complementar acima do
TCP, garantindo assim os servicos de autenticacao, de confidencialidade e de integridade.
A implementacao nativa da ultima versao pelos atuais navegadores e servidores Web do
mercado faz do HTTPS (HTTP sobre SSL/TLS) o padrao de fato de seguranca das apli-
cacoes Web. SSL/TLS hoje e macicamente utilizado no e-commerce (comercio eletronico)
para cifrar a comunicacao e autenticar os servidores atraves de certificados X.509 porem
pouco usado na autenticacao do cliente devido as pesadas operacoes de criptografia para
verificar os certificados.
4.4 Analise das Solucoes de Seguranca Existentes 75
Arquitetura
O SSL/TLS e constituıdo de duas camadas de protocolos:
• Record protocol ou camada de registro: fornece os servicos basicos de seguranca,
como por exemplo: encapsular os dados e os encaminhar para as camadas superiores
do protocolo TCP; fragmentar os dados recebidos de diversos protocolos de nıveis
superiores; efetuar a criptografia; acrescentar um cabecalho e transmitir a unidade
resultante a um segmento da rede TCP.
• A segunda camada e composta de tres protocolos:
– Handshake protocol ou protocolo de aperto de mao – permite autenticar as
partes envolvidas em uma transacao e garantir um mecanismo seguro para
gestao das chaves. Ele opera de duas formas: o Handshake completo estabelece
uma conexao completa com a negociacao explıcita dos parametros de seguranca
ou o Handshake abreviado, onde ao inves de negociar uma nova conexao o
protocolo utiliza uma antiga sessao SSL/TLS ja negociada;
– CCS (Change Cipher Spec Protocol) ou protocolo de troca de especificacoes
de criptografia - seu unico objetivo e ativar para a sessao SSL corrente os
algoritmos, as chaves e os numeros aleatorios negociados durante a fase de
inicializacao do Handshake protocol;
– Alert protocol ou protocolo de alerta – ele especifica as mensagens de alerta
enviadas entre os clientes e servidores. As mensagens sao de dois tipos: fatal
error ou warning error quando o erro e fatal a conexao e interrompida e nao
sao permitidas novas conexoes.
Consideracoes
O SSL/TLS e um protocolo de seguranca que garante transacoes confiaveis entre um
cliente e um servidor SSL/TLS. Suas principais vantagens sao a forte preservacao da inte-
gridade das mensagens, a interoperabilidade e facilidade de uso. Ele e compatıvel com a
grande maioria dos navegadores web inclusive Internet Explorer da Microsoft e Netscape.
O SSL/TLS e operavel em varios servidores Web. Muitos sistemas operacionais integram
os servidores LDAP (Lightweight Directory Access Protocol).
4.4 Analise das Solucoes de Seguranca Existentes 76
Apesar dessas inumeras vantagens, o protocolo SSL/TLS, como qualquer tecnologia
inovadora, apresenta alguns problemas. Esses problemas sao relacionados aos navegadores
e residem na verificacao automatica da validade dos certificados, nas listas de renovacoes
e restricoes de exportacao e na conservacao das chaves privadas em lugares seguros. A
autoridade certificadora, que emite o certificado para os clientes ou os sites, pode revoga-
los sem consulta previa dos usuarios. Quando um certificado expira, o usuario deve obter
manualmente um novo certificado, o que nao e trivial para os usuarios comuns.
Existem tambem problemas ligados a implementacao da criptografia: recentemente
os pesquisadores da EPFL (Escola Politecnica de Lausanne), da universidade de Stanford
e da universidade de Praga encontraram falhas relacionadas a interceptacao de senhas,
tempo de criptografia e descriptografia. Teoricamente o SSL/TLS e vulneravel a ataques
por forca bruta: se a chave de criptografia utilizada for de 40 bits, portanto, recomenda-se
o uso de uma chave de 128 bits. O SSL/TLS exige um canal confiavel para os aplicativos
que usam o protocolo UDP, pois nao foi projetado para estes tipos de aplicativos. Quando
ele foi desenvolvido, esta limitacao nao era considerada necessaria, pois a grande maioria
dos aplicativos utilizava o protocolo TCP. Hoje, esta situacao mudou. Durante os ultimos
anos um numero crescente de protocolos da camada de aplicacao como, por exemplo, (SIP
– Session Initiation Protocol) (RTP – Real Time Protocol) , (MGCP – Mıdia Gateway
Control Protocol) e uma variedade de protocolos de jogos foram desenvolvidos para utilizar
o UDP. Infelizmente o SSL/TLS e incapaz de oferecer servicos de seguranca para estes
tipos de aplicacoes.
4.4.3 Protocolo IPSec
O IPSec e um conjunto de protocolos desenvolvidos pelo IETF para proteger o trafego
IP. Inicialmente, foi concebido com a filosofia IPv6 (Internet Protocol version 6). Devido
a atual e urgente necessidade de seguranca na Internet e Intranet o protocolo IPSec e
tambem utilizado sobre IPv4 (Internet Protocol version 4). Uma maneira de conseguir
a compatibilidade com IPv4 sem precisar modificar as suas especificacoes e considera-lo
como um protocolo independente e implementavel como um modulo adicional na forma
de um Software ou Hardware.
Arquitetura
Um sistema IPSec e composto de: SPD (security Policy Database). Cada entrada
SPD e identificada por um unico SPI (Security Parameter Index ). Uma comunicacao
4.5 Conclusao 77
protegida por IPSec e chamada de SA (Security Association). Cada SA e identificada de
maneira unica por um SPI, um endereco IP de destinacao e um protocolo AH (Autentica-
tion Header) ou ESP (Encapsulation Security Payload). Os SA ativos sao agrupados em
um SAD (Security Association Database). Para processar um datagrama o SPD sempre e
consultado, e pode ocorrer: uma rejeicao ou uma aceitacao sem tratamento IPsec ou com
aplicacao IPSec. A presenca de mecanismo de criptografia assimetrico implica na gestao
de chaves e as suas distribuicoes no sistema. O protocolo IKE (Internet Key Exchange)
foi definido como protocolo default para a gestao e distribuicao das chaves.
Consideracoes
O IPSec apresenta um nıvel de seguranca maior do que as outras solucoes de segu-
ranca apresentadas na camada de aplicacao. Ele e uma otima solucao de protecao da
infraestrutura da rede contra o controle e a analise nao autorizada do trafego, usurpacao
de endereco IP, escuta e alteracao de pacotes. IPSec tem a vantagem de ser transparente
nas aplicacoes. Sua utilizacao nao implica mudancas nos sistemas ou servidores que o
usam. Os VPN IPSec sao os mais seguros e mais utilizados pelas empresas para interligar
suas redes internas com a Internet. Os problemas do IPSec sao relacionados a redundancia
de suas funcionalidades, pois diferentes camadas tem as mesmas funcoes.
4.5 Conclusao
Atualmente, os protocolos SSH, SSL/TLS e IPSec sao as tres solucoes de seguranca
mais utilizadas . Constata - se que o SSH nao e aplicavel a novos ambientes, portanto,
e incapaz de satisfazer as novas necessidades das aplicacoes e usuarios moveis. O pro-
tocolo SSL/TLS e atualmente o unico protocolo usado em grande escala na maioria das
plataformas seguras da Web, tanto em nıvel dos servidores, como dos clientes. Ele e adap-
tado as aplicacoes transacionais da Internet e se integra facilmente a outros ambientes.
E utilizado pelo consorcio WAP (Wireless Application Protocol) para as comunicacoes
radiofonicas do tipo GSM e pelo protocolo EAP de ambientes sem fio (WI-FI 8002.11)
[GAST, 2002; KENT; ATKINSON, 1998; ABOBA; SIMON, 1999]. Para a computacao
nomade e difusa o protocolo SSL/TLS apresenta um grande interesse e uma contribuicao
no desenvolvimento de novas solucoes de seguranca mais confiaveis. Ele merece um estudo
mais detalhado voltado para a computacao movel. O protocolo IPSec e seus subproto-
colos associados oferecem uma solucao padrao e confiavel para a implementacao de redes
privadas seguras (VPN’s) e proporciona aos outros protocolos um complemento de segu-
4.5 Conclusao 78
ranca; porem, e confrontado a alguns problemas de incompatibilidade ligados a arquitetura
e concepcao das redes sem fio.
79
5 Seguranca em ComputacaoDifusa e Nomade
5.1 Introducao
O desafio da seguranca dos sistemas de informacao numa forma mais abrangente
refere-se a protecao das informacoes, dos recursos materiais e da privacidade dos seus
usuarios [OFTA, 2007]. Nos sistemas difusos e nomades a nocao de transparencia de tec-
nologias e a confianca sao imprescindıveis, assim os sistemas de seguranca devem permitir
as entidades que cooperam estabelecer um nıvel de confianca mutua. Pode-se, de forma
geral, decompor a seguranca em tres principais aspectos [OFTA , 2007]:
• Confidencialidade e integridade nas transacoes de dados e migracao de agentes;
• Nao desvio e deturpacao de dados ıntimos, o que significa a preservacao da privaci-
dade;
• Nao repudio ou negacao de servicos, o que implica disponibilidade de servicos.
Alem dessas preocupacoes, existe o desafio as ameacas de seguranca de funcionamento
causadas por deterioracao dos dispositivos fısicos que conduz a uma degradacao progres-
siva do funcionamento, interferencia, limitacao do raio de cobertura e eventuais obstaculos
(parede, predio, chuva) na comunicacao sem fio, diversidades e heterogeneidade dos dis-
positivos e tecnologias, incompreensoes e erros ligados a interacao homem-sistema. A
possibilidade de ataques e uso indevido de dispositivos em ambiente de comunicacao sem
fio nao seguros constituem tambem outra preocupacao. Os ataques classicos (intercep-
tacao, interposicao em uma comunicacao sem fio, e nao cooperacao de dispositivos) sao
os mesmos praticados nos sistemas de computacao tradicional, tal como a Internet e
ja sao objetos de varias pesquisas. Porem, novos ataques ameacam a privacidade dos
usuarios da computacao difusa; por exemplo, os roubos, perdas frequentes de aparelhos,
5.2 Seguranca Relacionada a Confidencialidade e Integridade 80
transmissao de vırus no uso de dispositivos de identificacao a distancia (etiqueta RFID:
Radio Frequency Identification) [RIEBACK et al, 2006] e quebra de sigilo no servico de
geolocalizacao contextual. Para deter essas ameacas - tanto as classicas como as novas,
e proporcionar seguranca, as tecnologias e aplicacoes da computacao difusa enfrentam as
restricoes inerentes a dispositivos moveis. A limitacao de recurso de energia, largura de
banda e capacidade de processamento inviabilizam o uso de criptografias mais eficientes
e dificultam o desenvolvimento de algoritmos adequados a seguranca. A essas limitacoes
acrescentam-se outras dificuldades como o dinamismo (mobilidade, variacao do numero
de dispositivos), deteccao de falhas, perda de comunicacao na mobilidade e a hetero-
geneidade funcional dos dispositivos. Sobretudo, nao podemos nos esquecer de que o
usuario final da computacao difusa nem sempre e guru da tecnologia, o que constitui um
desafio complementar para sua sensibilizacao sobre as ameacas e a eficacia das solucoes
implementadas.
5.2 Seguranca Relacionada a Confidencialidade e In-
tegridade
O uso generalizado das comunicacoes sem fio na computacao difusa multiplica os
ataques passivos (analise de trafego, escuta da comunicacao) e ativos (modificacao de
mensagens transmitidas). Esses ataques comprometem a integridade e confidencialidade
dos dados e transacoes. Para isso, e necessario estabelecer associacoes seguras e confiaveis.
• Estabelecimento de Associacoes Seguras: a seguranca de utilizacao de tecnolo-
gias na computacao difusa envolve a seguranca da comunicacao e interacao entre
os dispositivos, assim, e imprescindıvel o estabelecimento de associacoes seguras en-
tre entidade fısica manipulada e entidade logica (materializada por uma chave ou
senha). A garantia de uma comunicacao segura nao e evidente; em muitas situacoes
o usuario humano nao se convence de que o dispositivo que usa ou manipula esta
realmente associado a entidade logica ou fısica com a qual ele pensa interagir. O
dispositivo e aquele que ele realmente usa. Por exemplo, como um usuario pode ter
a garantia de que seu smartphone esta realmente ligado a AP (Acess Point) da rede
privada sem fio da sua casa, e nao ao AP da rede do vizinho? As fotos que ele esta
descarregando do seu smartphone para a sua TV nao estao tambem aparecendo no
televisor do apartamento ao lado? A mıdia que ele esta transferindo por Bluetooth
para um destinatario legıtimo nao esta indo tambem para intrusos infiltrados no
5.2 Seguranca Relacionada a Confidencialidade e Integridade 81
meio? Para responder a essas duvidas, varias solucoes sao propostas, mas elas ap-
resentam falhas ou limitacoes e dependem da evolucao dos aparelhos e da aceitacao
dos usuarios, por exemplo, o protocolo de estabelecimento de chaves de Diffie e
Hellman [DIFFIE; HELLMAN, 2006]. Este protocolo e baseado em uma tecnica
que consiste em construir uma chave compartilhada para autenticar todas as partes
envolvidas na comunicacao, mas essa solucao exige muitos calculos o que se torna
muito pesado para o dispositivo movel. Tambem ele e vulneravel aos ataques Man
In The Middle, isso e o intruso infiltrado no meio da comunicacao pode se identi-
ficar no lugar da entidade esperada. Balfanz et al [BALFANZ et al, 2002], propoem
um mecanismo de comunicacao com duas fases: na primeira fase uma chave sec-
reta e gerada e compartilhada entre o par de dispositivos comunicantes usando um
canal de comunicacao infravermelho, na segunda fase os dispositivos se identificam
e autenticam atraves da chave gerada na fase anterior e depois comecam a comuni-
cacao sem fio, via radio. Essa solucao tambem e vulneravel a ataque Man In The
Middle e exige que as portas infravermelhas estejam em linha reta sem obstaculos,
com melhor visibilidade. Essas abordagens permitem garantir ao usuario um canal
seguro com o dispositivo conhecido e designado pelo usuario, mas nao prova que o
dispositivo designado contem a entidade logica com a qual o dispositivo pessoal se
comunica. Os protocolos de verificacao de proximidade (distance bounding proto-
cols) [BRANDS; CHAUM, 2003] sao uma abordagem para resolver o problema de
confianca, ela e baseada na velocidade de propagacao da mensagem e na estimativa
de tempo de envio e recebimento de uma resposta de desafio a entidade detentora
da chave secreta. Esses protocolos permitem reduzir a probabilidade de sucesso
dos ataques Man In The Middle, mas nao constituem solucoes definitivas. Outras
abordagens para o estabelecimento de associacao segura entre entidade fısica e log-
ica, baseadas em prova de proximidade existem [CLULOW et al, 2006; HANCKE;
KUHN, 2005; JUELS, 2006; SASTRY, 2003; WATERS; FELTEN, 2003], mas nao
resolvem o problema da preservacao da privacidade do usuario.
• Estabelecimento de confianca: A seguranca tradicional associa a confianca em
uma entidade com a sua autenticacao, isso e provar que a entidade e realmente
quem ela diz ser. Estabelecer a confianca consiste em reconhecer uma entidade
atraves de seus atributos como, por exemplo, sua identidade, localizacao e seus
vizinhos. As infraestruturas de chaves publicas PKI (Public Key Infrastructure)
fornecem mecanismos onde autoridades centralizadas ou distribuıdas avaliam a con-
fianca. Nos sistemas difusos, o estabelecimento de confianca pode ser feito de tres
5.2 Seguranca Relacionada a Confidencialidade e Integridade 82
formas: atraves de provas de contexto ambiente, avaliacao de cooperacao e avaliacao
de comportamento [OFTA, 2007].
– Confianca Baseada em Provas do Contexto Ambiente: O contexto ambiente
sao as variaveis pertinentes relacionadas a uma entidade ou dispositivo do am-
biente. A maioria dos mecanismos de estabelecimento de confianca na com-
putacao difusa baseia-se em obter prova atraves do contexto ambiente. A
avaliacao pode ser de forma indireta, sem o conhecimento da identidade da
entidade, mas usando outros atributos como, por exemplo, a sua localizacao,
horario de acesso e nos vizinhos. A confianca baseada em provas contextu-
ais caminha para uma abordagem de controle de acesso baseado em atributos
diferentes da identidade [COVINGTON et al, 2002; YAO et al, 2005]. Os
raciocınios sobre o contexto apoiam-se na utilizacao de descricoes semanticas
de criterios da avaliacao de regras XACML(eXtensible Access Control Markup
Language) [GOMEZ et al, 2005]. Semelhante ao caso do PKI, para verificar a
veracidade ou autenticidade das varaveis e o gerenciamento dos privilegios de
acesso, sao necessarias autoridades que fazem uso de credencial. O mecanismo
de recolhimento de provas de contexto deve garantir que as mesmas nao sejam
transferidas para um terceiro nao autorizado. A localizacao e uma importante
variavel na definicao de um contexto ambiente, geralmente isso e feito atraves
de GPS (Global Positioning System). Porem, a sua utilizacao exige alguns
cuidados, pois os GPS podem sofrer ataques [JOHNSTON; WARNERJ, 2003].
– Confianca Baseada em Avaliacao de Cooperacao: Os ataques chamados ataques
por egoısmo sao frequentes na computacao difusa: um no da infraestrutura
tende a monopolizar um recurso colaborador sem contribuir, por exemplo, um
no para economizar seu recurso de energia pode deixar de encaminhar aos seus
vizinhos os pacotes que transitam por ele. A cooperacao constitui um requisito
importante para garantir o funcionamento de uma infraestrutura em ambiente
distribuıdo. Distinguem-se dois mecanismos principais para avaliar a cooper-
acao: pela reputacao (boa ou ruim) [MARTI et al, 2005, MICHIARDI et al,
2002], e a remuneracao (preco ou credito) [BUSSARD, 2005]. A tecnica por
reputacao e mais simples de ser implementada e muito usada nas redes moveis
Ad hoc para garantir o roteamento de pacotes. A remuneracao e uma abor-
dagem que necessita de muito mais precisao. Nesta situacao, e determinado
para cada servico um credito ou um preco suficiente para a sua realizacao. Por
exemplo, para garantir o encaminhamento de um pacote em uma rede movel:
5.3 Protecao da Privacidade 83
o envio do pacote pressupoe avaliar a distancia a ser percorrida a fim de lhe
fornecer creditos suficientes para garantir o encaminhamento de no a no, ate o
destino previsto. As implementacoes desta abordagem podem ser encontradas
em [BUSSARD, 2005; CHAUM, 2002].
– Confianca Baseada na Avaliacao de Comportamento: consiste em observar e
avaliar o comportamento do usuario ou dos seus dispositivos. A confianca de-
pende de um perfil padrao, por exemplo, vigiar um pessoa em um local implica
em observar todos os seus gestos ou levantar informacoes comportamentais.
Entretanto, as abordagens de associacao segura e confiavel levantam a questao da protecao
da privacidade.
5.3 Protecao da Privacidade
O direito ao respeito da privacidade e considerado pela ONU (Organizacao das Nacoes
Unidas) na declaracao universal dos direitos humanos como um direito fundamental do
indivıduo [CDFUE, 2000; ONU, 1998]. Infelizmente, as novas tecnologias representam
uma ameaca a esse direito, por exemplo, as tecnicas de autenticacao e de auditoria na
preocupacao de garantir a legitimidade ou nao, poem em risco a privacidade dos usuarios.
E necessario desenvolver mecanismos que permitam garantir a protecao dos dados pes-
soais. A protecao da privacidade exige quatro criterios [ISO/IEC15408, 2005]: Anonimato
(anonymity), possibilidade de agir com um pseudonimo (pseudonomity), impossibilidade
de estabelecer uma ligacao ou traco (unlinkability) e nao observabilidade (unobservabil-
ity). Essas exigencias constituem a base das tecnologias de protecao da privacidade PET
(Privacy-Enhancing Tecnologies). Nos princıpios fundamentais e importante considerar
que os dados pessoais pertencem a quem com eles se relacionam, e nao ao proprietario
do sistema que os armazena ou os manipula. So podem ser divulgados os dados estri-
tamente necessarios para a execucao da tarefa exigida ou aceita, fala-se do princıpio de
minimizacao de dados pessoais. Na divulgacao de dados, a terceiros para realizar uma
tarefa, devem-se respeitar as exigencias impostas pelo proprietario dos dados: guardar de
forma confidencial e apaga-los apos a execucao da tarefa, isso e o princıpio de soberania.
Varias abordagens sao utilizadas na computacao difusa para proteger a privacidade, entre
elas podemos citar: gestao de identidades virtuais, comunicacao anonima, acesso anonimo
a servicos:
5.3 Protecao da Privacidade 84
• Gestao de Identidades Virtuais: para que uma pessoa possa proteger sua pri-
vacidade, e importante ocultar ou reduzir o maximo possıvel suas ligacoes com suas
acoes e dados correspondentes, deixar o mınimo de rastro possıvel, por exemplo, o
endereco IP fixo de um internauta pode estabelecer uma ligacao com diferentes acoes
desse internauta na rede mundial. A identidade e definida como a representacao de
uma pessoa por um servico. Se a pessoa acessa varios servicos sob a mesma identi-
dade, e possıvel estabelecer uma relacao com seus acessos; nesse caso, e recomendavel
ter multiplas identidades virtuais (pseudonimos) para acessar os servicos, selecionar
qual identidade usar para cada servico e poder gerenciar suas validades. A veri-
ficacao das identidades deve ser relacionada a sensibilidade dos servicos, ou seja,
nao e necessaria a autenticacao para acessar um servico nao sensıvel, isso e, um
servico que nao armazena nem gera dados pessoais, porem uma autenticacao forte
e indispensavel para servicos sensıveis para impedir quaisquer usurpacoes de iden-
tidade. As tecnologias da computacao difusa devem ser utilizadas para desenvolver
dispositivos pessoais que permitam a qualquer usuario gerenciar facilmente suas
identidades virtuais [ISMS2003, 2003].
• Comunicacao anonima: a analise de trafego nas redes como, por exemplo, a inter-
net e uma importante ameaca a privacidade, mesmo se o conteudo da comunicacao
for criptografado. A observacao dos enderecos de origem e de destino dos pacotes IP
pode revelar informacoes sensıveis. O endereco IP pode ser utilizado para identificar
e localizar geograficamente uma pessoa; este risco e maior na computacao difusa,
pois as comunicacoes sem fio sao faceis de captar. Para evitar a escuta passiva da
comunicacao, David Chaum apresenta um protocolo que utiliza roteadores chama-
dos MIX [CHAUM, 2001] que ocultam a relacao entre as mensagens que entram e
saem deste roteador, embaralha as mensagens recebidas antes de transmiti-las em
uma ordem aleatoria. Neste caso, por exemplo, se Alice quer se comunicar com Bob
de forma anonima, ela criptografa sua mensagem com a chave do MIX e a envia para
o MIX. O MIX entao se carrega de localizar Bob e lhe encaminha a mensagem crip-
tografada. Desta forma, um malicioso escutando e analisando a comunicacao nao
consegue diferenciar Alice das outras pessoas que enviam mensagens para o MIX,
nem Bob dos demais destinatarios de mensagens vindos do MIX. Outras abordagens
de comunicacao anonima sao baseadas em alocacao dinamica de endereco IP atraves
de servidores DHCP [CHAUM, 1998].
• Acesso anonimo a servico: a comunicacao anonima nao e suficiente para ter um
acesso anonimo a um servico. As mensagens de solicitacao de servicos enviadas ao
5.4 Disponibilidade 85
fornecedor podem conter informacoes identificadoras que revelam a privacidade, por-
tanto, elas devem ser transformadas por um proxy, uma autoridade intermediaria,
antes de serem transmitidas ao fornecedor de servico. Esta transformacao depende
da semantica da mensagem (significado do seu conteudo). Uma transformacao ex-
agerada pode distorcer ou perder o significado original da mensagem, portanto e
necessario um cuidado especial o que nao e uma tarefa facil. O acesso a um servico
depende de autorizacao de privilegios, e deve tambem manter a privacidade do
usuario, para isso e necessario separar a autorizacao da autenticacao: nem sempre
se pode exigir provar a identidade para obter privilegios de acesso. Simplesmente
poderia ser usada uma garantia anonima (anonymous credencial) [DEMORACSKI,
2005]. Esta abordagem e conhecida como autorizacao anonima, cuja implementacao
pratica e o IDEMIX (Identity Mixer) [CAMENISCH; HERREWEGHEN, 2002]. A
ideia e baseada em pseudonimo, garantia e prova criptografada chamada assinaturas
de grupo. Com a assinatura, os membros de um grupo podem ter acesso ao servico
de um servidor, sem revelar suas identidades.
E desejavel que a gestao de tais garantias anonimas seja integrada nos dispositivos
pessoais dos usuarios: implementar em chips algoritmos de criptografia que permitam
autenticar os atributos secretos dos usuarios nos seus proprios dispositivos. Esses dispos-
itivos deveriam integrar as tecnologias de autenticacao por biometria, para impedir que
eles sejam usados por terceiros em caso de perda e roubo, garantindo assim a “intransferi-
bilidade”.
5.4 Disponibilidade
A computacao difusa e nomade, apesar dos problemas de consumo de energia [FEENEY,
2002] [OLSEN; NARAYANASWAMI, 2006], a fragilidade, a interferencia na transmissao
sem fio [COVINGTON et al, 2002] e falhas nos dispositivos, precisam garantir a seus
usuarios o acesso a informacoes e utilizacao de servicos do sistema. Para isso, devem-se
implementar tecnicas de tolerancia a falhas similares dos sistemas distribuıdos, baseadas
em duplicacao e replicacao de dados e servidor de servicos [ABBADI, 1985; GIANUZZI,
2004; HARA; MADRIA, 2006].
5.5 Conclusao 86
5.5 Conclusao
A integracao da informatica nos dispositivos fısicos, a mobilidade destes dispositivos,
dos servicos que eles contem e a onipresenca da comunicacao sem fio aumentam o desafio
da seguranca das interacoes, protecao da privacidade e disponibilidade de servicos. Para a
seguranca das interacoes sao necessarias as tecnicas de criptografias associadas as provas
de proximidade ou a autenticacao de identidade para proporcionar o estabelecimento de
associacoes seguras e de confianca. Varias abordagens foram apresentadas, mas suas
adocoes dependem da evolucao dos aparelhos moveis e da sua aceitacao pelos usuarios.
O estabelecimento de associacao segura e confiavel e necessario para a protecao das
aplicacoes e dispositivos do sistema difuso e nomade. A multiplicacao dos dispositivos
pessoais e do grande volume de informacoes sensıveis sobre o perfil do usuario exigem uma
preocupacao. E conveniente desenvolver tecnologia de protecao da privacidade do usuario
PET (Privacy-Enhancing Technologies). A seguranca e a disponibilidade de aplicacoes e
servicos sao condicoes necessarias para a aceitabilidade da computacao difusa pelo grande
publico.
87
6 Modelo Proposto:SecMobileAgent
6.1 Introducao
Este capıtulo contem o modelo de gerencia de Seguranca desenvolvido. Inicialmente,
sao colocados topicos que servem para justificar a escolha do tema, em seguida, e ap-
resentado o modelo em si e sua relevancia com relacao a outras pesquisas na area do
tema.
6.1.1 Motivacoes para a Proposta
No capıtulo 3, diferentes middlewares para ambientes moveis foram analisados. E
dentro desses middlewares abordados, observou-se que os middlewares baseados em tuple
apresentam uma melhor estrutura para a concepcao de aplicacoes em ambientes moveis:
eles adotam o modo de interacao assıncrona, exploram a natureza desacoplada do es-
paco de tuples, permitem a fusao de espacos de dados para reunir objetos pertencendo
a diferentes entidades em um unico espaco logico. Os dados que residem em diferentes
nos podem ser compartilhados e acessados de forma transparente. Os espacos de tuples
introduzem mecanismos que favorecem o gerenciamento de mobilidade e facilidade de de-
senvolvimento de aplicacao movel. Portanto, esses middlewares constituem uma solucao
interessante para os problemas dos ambientes moveis e particularmente para os ambientes
nomades e difusos. Contudo, as analises mostram que esses middlewares quase nao abor-
dam a questao da seguranca. Na famılia dos middlewares moveis baseados em tuple, o
modelo Lime e uma referencia, mas no atual estagio do seu desenvolvimento, o Lime ainda
e muito vulneravel. O espaco de tuple compartilhado nao e seguro, os agentes e recursos
estao sujeitos a ameacas, pois faltam mecanismos de seguranca.
Para resolver os problemas relacionados a seguranca, foi implementado um framework
de gerencia de seguranca denomidado SecMobileAgent [NGUESSAN; MARTINI, 2008]
6.1 Introducao 88
que oferece servicos de seguranca para middlewares de ambientes moveis baseados em
tuple. Este capıtulo trata essencialmente do estudo deste framework e da sua implemen-
tacao. A ontologia utilizada para a sua especificacao formal foi a UML (Unified Modeling
Language) mantida como padrao pelo OMG.
6.1.2 Notacao Ontologica
A ontologia e definida como uma especificacao formal de alto nıvel de um determi-
nado domınio de conhecimento: ou seja, uma especificacao formal e explicita de uma
conceituacao compartilhada por um grupo [GRUNINGER; LEE, 2002] A conceituacao
de um domınio e uma visao particular e abstrata de eventos e entidades reais e seus rela-
cionamentos. Formal significa o fato de uma ontologia ser uma forma de representacao
de conhecimento e possuir uma especificacao formal de software para representar tais
conceituacoes, uma ontologia podera ser especificada e codificada numa determinada lin-
guagem formal Explıcita significa que todos os tipos de primitivas, conceitos e restricoes
usadas na especificacao da ontologia estao definidos explicitamente. Finalmente, com-
partilhada significa que o conhecimento definido nas ontologias e consensual, ou seja, nao
esta associado apenas a um indivıduo, mas aceita por um grupo. Em termo de engenharia,
a notacao ontologica e uma maneira de representar um sistema. Ela trata da construcao
e operacoes do sistema: seus elementos, suas respectivas interacoes e a manifestacao da
construcao no curso do tempo. Com base na definicao ontologica, um sistema existe se
ele tem as seguintes propriedades [KARAM, 2006]: composicao - conjunto de elementos
da mesma categoria fısica, social e outras -, ambiente - conjunto de elementos da mesma
categoria que nao sao os de composicao - producao elemento que juntos produzem bens
e servicos que sao entregues para outros elementos no ambiente - e estrutura - um con-
junto de interacoes dos elementos de composicao e entre estes os elementos do ambiente -.
Um vocabulario ontologico definido atraves de uma linguagem formal nao ambıgua pode
servir de suporte a gerencia dos requisitos ao longo do processo de desenvolvimento de um
software. A ontologia e util no apoio a especificacao e implementacao de um sistema de
computacao complexo. Ela pode ajudar os envolvidos a alcancar um consenso no entendi-
mento sobre determinada area de conhecimento. O nosso objetivo nao e construir uma
ontologia nem uma taxonomia de termos para um modelo de gerencia de seguranca. Para
mais conhecimento sobre a ontologia sugere-se [GRUBER, 1993; GRUNINGER; LEE,
2002; GRUNINGER; FOX, 1995] . Para a descricao do SecMobileAgent foi usada a
UML (Unified Modeling Language) mantida como padrao pelo OMG. As secoes a seguir
apresentam a descricao dos requisitos e uma visao de analise do SecMobileAgent.
6.2 Arquitetura do Modelo Proposto 89
6.2 Arquitetura do Modelo Proposto
A nossa proposta explora a gerencia de seguranca e cooperacao de aplicacoes em sis-
temas distribuıdos moveis. Um mecanismo de confianca baseado em prova de contexto do
ambiente, deteccao de intruso, confidencialidade e controle de acesso e implementado. A
proposta e baseada em arquitetura com comunicacao totalmente assıncrona. A abordagem
e direcionada aos middlewares peer to peer baseados em tuple. Focamos a questao da se-
guranca detectada em Lime (Linda in Mobile Environment). Os servicos de seguranca sao
implementados por agentes e interceptadores de seguranca. Um agente de seguranca local,
uma entidade autonoma embarcada no dispositivo movel (EE – Entidade Embarcada) e
responsavel pela aplicacao da polıtica estabelecida e do controle de acesso ao espaco local
(Host level tuple space). Em caso de acesso a servicos ou recursos remotos envolvendo
pares de entidades moveis, sao necessarios Gerenciadores Remotos de Seguranca denomi-
nado GRSec. Os servicos de seguranca sao configurados e executados pelos GRSec. Esses
gerenciadores sao distribuıdos no ambiente movel, e fornecem ponto a ponto servico de
autenticacao mutua, distribuicao de tıquetes, confidencialidade, disponibilidade, controle
de acesso e uma SMIB (Security Management Information Base). Na fase de autenti-
cacao, uma autoridade de distribuicao de tıquetes gera tıquetes criptografados que sao
usados pelos EM’s (Entidade Movel) como chave de sessao, estabelecendo assim uma as-
sociacao segura entre entidade fısica manipulada e entidade logica (materializada por uma
chave). O tıquete gerado e distribuıdo para uso temporario entre partes comunicantes. O
sistema de distribuicao de tıquetes no nosso mecanismo atende a duas principais exigen-
cias da seguranca nos sistemas difusos que sao: o estabelecimento de associacao segura
e estabelecimento de confianca. O mecanismo de controle de acesso e implıcito: quando
uma entidade movel invoca um servico do sistema de informacao, uma autoridade de se-
guranca do GRSec chamada de IS (Interceptador de Seguranca) intercepta a requisicao,
aplica uma funcao de seguranca antes de encaminha-la para uma autoridade de controle
de acesso (AC – Agente de controle de acesso); com esse procedimento, alem de verificar
as acoes e direitos de acesso aos servicos e possıvel garantir a protecao a privacidade do
usuario atraves de anonimato e pseudonimo.
A Figura 6.16.1 apresenta a arquitetura geral do modelo com os componentes do GR-
Sec. O SI representa o sistema de informacao compartilhada do ambiente. As funcoes de
seguranca sao executadas por agentes repartidos em dois nıveis: domınio local e domınio
remoto. No domınio local, a seguranca e proporcionada pela autoridade local denom-
inada SecLocalAgent-Agente Local de Seguranca e no domınio remoto, pelo GRSec
6.2 Arquitetura do Modelo Proposto 90
atraves de suas entidades de seguranca AA (Agente de Autenticacao), DT (Distribuicao
de Tıquete), AC (Agente de Controle de Acesso) e o motor de criptografia. O GRSec
fornece o servico de confidencialidade, autenticacao, distribuicao de tıquete, integridade,
controle de acesso, uma base de informacoes SMIB (Security Management Information
Base) e uma PET (Privacy-Enhancing Tecnologies) para a protecao a privacidade dos
usuarios do ambiente movel. A distribuicao de tıquetes e um servico muito importante
nesse modelo, pois os tıquetes alem de contribuir para a autenticacao e controle de acesso,
eles ocultam as identidades dos usuarios o que pode preservar a privacidade dos usuarios.
No mecanismo de distribuicao de tıquete tambem e feita uma troca de marcas de controle
que sao numeros aleatorios exclusivos, essas marcas sao usadas para detectar intrusos. A
seguir apresentamos, com detalhes, os servicos fornecido pelo modelo.
Figura 6.1: Arquitetura do Modelo de Gerencia de Seguranca EM – Entidade Movel; EE
– Entidade Embarcada (cliente proxy); GRSec – Gerenciador Remoto de Seguranca; AC
– Agente de Controle de Acesso; SMIB (Security Management Information Base); AA
– Agente de Autenticacao; SI – Sistema de Informacao; DT – Distribuicao de Tıquete.
PET - Privacy-Enhancing Tecnologies.
6.2 Arquitetura do Modelo Proposto 91
6.2.1 Servicos Fornecidos
Distribuicao de Chaves - Suponhamos que uma entidade movel A queira estab-
elecer uma conexao ou uma migracao logica para uma entidade movel B. Um tıquete de
uso temporario e exigido para proteger os dados transmitidos entre A e B. A tem uma
chave-mestra Ka conhecida apenas por ela mesma e pelo GRSec; de modo semelhante B
compartilha a chave-mestra Kb com GRSec. Ocorrem as seguintes fases como ilustra a
Figura 6.2: A emite uma solicitacao de conexao, um servico de seguranca local no dispos-
itivo A salva a solicitacao de A em um buffer e pede permissao para o GRSec (fase 01).
A comunicacao entre o dispositivo A e o GRSec e criptografada, usando a chave mestra
compartilhada pelos dois. Se GRSec aprova a solicitacao de conexao, entao ele gera um
tıquete criptografado e o entrega respectivamente para A e B, legıtimo par envolvido na
conexao (fase 2a e 2b). O tıquete e entregue criptografado usando uma chave exclusiva
para cada (Ka, para A e Kb para B), inicialmente conhecida por A e B. Neste ponto,
um tıquete foi entregue com seguranca. A conexao solicitada e estabelecida, e a comu-
nicacao entre A e B e feita de forma segura (fase 03 e 04), usando o tıquete distribuıdo
para criptografa-la. O tıquete gerado - na nossa implementacao e composto do ID do
dispositivo emissor, uma chave obtida aleatoriamente e um prazo de validade - e apenas
conhecido por A e B, portanto somente A e B podem decifrar o conteudo da comunicacao.
Nas fases 03 e 04 ocorre uma autenticacao implıcita de A e B antes do inıcio da comuni-
cacao. O mecanismo de distribuicao de tıquete propriamente dito ocorre nas fases: 1, 2a
e 2b, conforme a Figura 6.2. No caso de uma migracao logica de A para B, A usa esse
tıquete para criptografar seu bytecode (codigo executavel).
6.2 Arquitetura do Modelo Proposto 92
Figura 6.2: Diagrama de Sequencia da Autenticacao e Distribuicao de Tıquete. E - funcao de
Criptografia Simetrica; Ka – Chave mestre de A; Kb – Chave mestre de B; IDA – Identidade de
A; IDB – Identidade de B; N1 uma marca de controle; Ts – Tıquete de Sessao.
Autenticacao – O servico de autenticacao garante a autenticidade da comunicacao.
No caso de uma unica mensagem, como um sinal de alarme, a funcao do servico de
autenticacao e garantir que o emissor seja realmente quem ele diz ser. No caso de uma
interacao de mensagens, como por exemplo, a conexao do terminal de um medico ou
paramedico a uma estacao do sistema e-saude, dois aspectos sao considerados. No inıcio
da conexao, o servico deve garantir que as duas entidades (emissora e a receptora) sejam
realmente quem elas dizem ser. O segundo aspecto e que o servico deve assegurar que
uma terceira entidade indesejavel nao esteja se mascarando e se fazendo passar por uma
das duas entidades legıtimas. A nossa proposta implementa os dois casos mencionados
acima. No caso de uma unica mensagem, o GRSec garante que a parte envolvida e
realmente quem ela diz ser. No segundo caso, o GRSec assegura que as partes emissoras
e receptoras sao autenticas e que um intruso nao esta se passando por uma das partes
legıtimas. As fases 2b, 3 e 4 da Figura 6.2 mostram isso. A emite para o GRSec uma
mensagem E(Ka, [IDA || IDB || N1]) de solicitacao de conexao com B, GRSec identifica
o remetente A e comunica a identidade de A para B atraves da mensagem E(Kb, [Ks ||IDA]). B comprova a identidade de A enviando para A a mensagem E(Ts, N2), A responde
com E(Ts, f(N2)). Essa etapa, alem de comprovar a autenticidade da identidade de A
garante a B que a mensagem original que ele recebeu nao e uma repeticao, comprovando
6.2 Arquitetura do Modelo Proposto 93
uma autenticacao mutua. Sendo assim, o esquema formal da mensagem e composto pelos
seguintes itens:
• E: uma funcao de criptografia;
• Ka a chave de criptografia do dispositivo A;
• IDA a identidade do dispositivo emissor A e IDB a identidade do dispositivo desti-
natario B;
• N1 uma marca de controle: numero aleatorio exclusivo.
Confidencialidade - O servico de confidencialidade permite proteger dados contra
ataques passivos (exibicao de conteudo). Esse servico pode ser total ou parcial. O servico
parcial e um refinamento do servico total; ele protege uma unica mensagem ou um campo
especıfico da mensagem. Outro aspecto da implementacao da confidencialidade e a nao
observabilidade: protecao do fluxo de trafego impedindo o intruso de analisar o trafego, ou
seja, impedir que ele observe a origem, o destino, a frequencia das mensagens e outras car-
acterısticas do trafego. O terceiro aspecto tratado no modelo e a protecao da privacidade
do usuario atraves de anonimato e pseudonimo. Boa parte desse servico e implementado
atraves da criptografia e uma marca (numero aleatorio exclusivo) para impedir a exibicao
de conteudo e analise de trafego. Assim, o GRSec e o unico que pode ler, com sucesso, a
mensagem de solicitacao do dispositivo A.
No servico de distribuicao de tıquetes, os tıquetes sao entregues criptografados, per-
mitindo suas protecoes contra interceptacao por parte de intruso. O uso do tıquete pro-
porciona a confidencialidade, pois somente as partes que possuem o tıquete distribuıdo
com seguranca podem decifrar o conteudo das mensagens trocadas. Outra ideia da dis-
tribuicao de tıquete e ocultar as identidades das partes envolvidas na comunicacao, de
modo a preservar suas identidades, atraves de anonimato.
Integridade – Como o servico de confidencialidade, o servico de Integridade pode
ser total ou parcial. Esse servico garante que as mensagens sejam recebidas do jeito
que elas foram enviadas, sem duplicacao, alteracao, reordenacao e atraso. A recuperacao
de dados destruıdos tambem pode ser tratada pelo servico de integridade, mas a nossa
proposta nao aborda este aspecto. Quando o servico e parcial, geralmente ele protege
somente as mensagens contra a alteracao. O servico de integridade trata dos ataques
ativos, consequentemente, ele detecta, mas nao previne contra ataques. Quando uma
violacao da integridade e detectada, o servico notifica ou relata a ocorrencia. O servico
6.2 Arquitetura do Modelo Proposto 94
de integridade implementado no nosso modelo e parcial. Por exemplo, quando A emite
uma solicitacao de conexao para o GRSec, a mensagem de solicitacao criptografada E(Ka,
[IDA || IDB || N1]) inclui a identidade de A e B e um identificador exclusivo N1 : um
numero aleatorio. O requisito mınimo e que ele seja diferente a cada solicitacao, assim
dificultara que um oponente ou intruso descubra a sua sequencia. O GRSec responde com
uma mensagem criptografada com a chave Ka E(Ka, [ Ts || IDA || IDB || N1]), assim A e o
unico que pode ler essa mensagem. A mensagem inclui a mensagem de solicitacao original
e N1, para que A combine essa resposta com a solicitacao apropriada. Desse modo, A
pode verificar, atraves do N1, que sua solicitacao original nao foi alterada antes do seu
recebimento, e que essa nao e uma repeticao de alguma solicitacao anterior, impedindo
tambem ataques por repeticao. O servico de integridade foi usado para implementar a
deteccao de intruso.
Nao repudio – A nossa proposta implementa um mecanismo que impede a enti-
dade emissora e a entidade receptora negar, respectivamente, a emissao e a recepcao de
mensagens. Quando uma mensagem e enviada, a receptora pode provar (atraves de uma
chave compartilhada por ambas as partes) que a mensagem foi, de fato, enviada por uma
emissora declarada. Similarmente, quando uma mensagem e recebida, a emissora pode
reciprocamente provar que ela foi recebida por uma receptora declarada.
Disponibilidade – Ataques a seguranca podem resultar em perda total ou reducao da
disponibilidade dos elementos do sistema distribuıdo. Alguns desses ataques sao corrigidos
por medidas como a autenticacao e a criptografia. Mas outros requerem acoes fısicas que
nao sao tratadas pela proposta.
Protecao da privacidade – A protecao da privacidade exige quatro criterios: Anoni-
mato (anonymity), possibilidade de agir com um pseudonimo (pseudonomity), impossibil-
idade de estabelecer uma ligacao ou traco (unlinkability), nao observabilidade (unobserv-
ability). Essas exigencias constituem a base das tecnologias de protecao da privacidade
PET (Privacy-Enhancing Tecnologies). Nos princıpios fundamentais, e importante con-
siderar que os dados pessoais pertencem a quem com eles se relaciona, e nao ao proprietario
do sistema que os armazena ou os manipula; so podem ser divulgados os unicos dados
estritamente necessarios para a execucao da tarefa exigida ou aceita; fala-se do princıpio
de minimizacao de dados pessoais. Na divulgacao de dados a terceiros para realizar uma
tarefa, devem-se respeitar as exigencias impostas pelo proprietario dos dados: guardar de
forma confidencial e apaga-los apos a execucao da tarefa, isso e o princıpio de soberania.
Para obedecer a esses princıpios utilizamos, na nossa proposta, a abordagem da gestao
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 95
de identidades virtuais atraves da distribuicao de tıquete e comunicacao anonima para
acesso a dados e recursos compartilhados.
6.3 Visao de Requisitos e Visao de Analise
do SecMobileAgent
Essa secao descreve a visao de requisitos e analise do problema a ser resolvido pela
implementacao do SecMobileAgent. A visao dos requisitos especifica o escopo definindo
a missao, os limites e benefıcios esperados do SecMobileAgent. Por sua vez, a visao
de analise descreve os elementos de modelagem, as estruturas conceituais do problema,
mostrando como esses elementos interagem para realizar as funcoes representadas pelos
casos de uso, obedecendo assim aos requisitos estipulados. [WILSON; PAULO, 2009 ] O
conteudo desta secao segue as organizacoes recomendadas pelas normas IEEE-830.
6.3.1 Visao de Requisitos
A visao de requisitos do SecMobileAgent e apresentada nas tabelas a seguir. A tabela
6.1 define a missao e os principais componentes. O SecMobileAgent e composto de dois
importantes elementos: um componente cliente denominado SecLocalAgent e um compo-
nente servidor chamado GRSec. A tabela 6.2 e tabela 6.3 especificam, respectivamente,
os limites e os principais benefıcios esperados do SecMobileAgent.
Nome do produto SecMobileAgent
Componentes principais 1-SecLocalAgent: componente cliente
2-GRSec: componente servidor
Missao Proporcionar servicos de seguranca
para uma cooperacao segura entre
aplicacoes em sistemas distribuıdos
moveis.
Tabela 6.1: Resumo do escopo.
As limitacoes especificadas na tabela 6.2 podem ser convenientes para evitar falsas
expectativas. No atual estagio, o SecMobileAgent e limitado a ambiente nomade e difuso –
onde o ambiente nomade e configurado como uma rede celular 3G e ambiente difuso como
uma rede ad hoc sem fio 802.11 - e se destina exclusivamente a classe de middlewares para
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 96
ambientes moveis baseados em tuple. Na tabela 6.2, sao representadas algumas restricoes
impostas no desenvolvimento do modelo de gerencia de seguranca.
Numero Limite
1 SecMobileAgent destina-se exclusivamente a classe
de middlewares moveis baseados em tuple
2 Adapta-se ao modelo LIME - Linda Mobile Environment
3 Trata exclusivamente de agentes ou objetos, processos,
e aplicacoes definidos conforme o paradigma de Orientacao
a Objetos e eventos.
4 Trabalha melhor em ambientes nomades e pode ser
aplicado tambem em ambientes difusos.
5 Suporta a comunicacao sıncrona e assıncrona.
6 Ambiente de execucao: notebook, desktop, PDA
com tecnologia java
7 A infra-estrutura de rede para comunicacao
suportada e cabeada, sem fio (WIFI 802.11) e 3G.
8 Protocolos de interoperabilidade exigidos sao TCP e UDP.
9 Nao trata de tolerancia falha e QoS.
10 No momento, a seguranca tratada se limita a:
controle de acesso, configuracao dinamica de perfis
criptografia, gerenciamento de identidades
e distribuicao de tiquetes.
11 O tique gerado pelo GRSec e de uso temporario
ele comporta uma identidade, uma chave e um prazo de validade
12 Nao trata de auditoria ou emissao de relatorios,
mas oferece suporte.
Tabela 6.2: Principais limites do SecMobileAgent.
A tabela 6.3 apresenta os principais benefıcios esperados do SecMobileAgent. Os
valores desses benefıcios para o usuario sao divididos em tres categorias, seguindo as
especificacoes no [WILSON; PAULO, 2009 ]: essencial - o produto nao se justifica se nao
oferecer esse beneficio - , desejavel - a ausencia do benefıcio traz grande perda de valor –,
opcional - a ausencia do benefıcio traz menor perda de valor.
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 97
No. Benefıcio Valor para
o usuario
1 Facilidades de seguranca: proporcionam objetos e Essencial
metodos de seguranca para desenvolvedores de
aplicacoes distribuıdas
2 Agilidade no desenvolvimento de aplicacoes Essencial
seguras
3 Relacao de confianca entre agentes comunicantes Essencial
e moveis
4 Mobilidade logica e fısica segura Essencial
5 Preservacao de privacidade Essencial
6 Preservacao de integridade e confidencialidade Essencial
7 Anonimato e pseudonimo Essencial
8 Nao repudio Opcional
9 Disponibilidade Essencial
10 Auditoria Opcional
Tabela 6.3: Benefıcios esperados do produto.
Na modelagem dos requisitos funcionais, os casos de uso sao utilizados como repre-
sentacoes das funcoes especificadas, enquanto os atores representam os usuarios e outros
sistemas que interagem com o produto. As visoes mais abstratas das funcoes do produto
sao providas por diagramas de casos de uso que mostram os relacionamentos entre casos de
uso e atores, e dos casos de uso entre si [WILSON; PAULO, 2009 ]. Ao analisar os modelos
de casos de uso de negocio e a arquitetura dos processos de negocio do SecMobilAgent,
formularam-se as funcoes resumidas na Tabela 6.4.
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 98
Caso de uso Descricao
Gestao de Perfil de Cria e gerencia dinamicamente os perfis dos
Agente (PerfilTable) agentes atraves de uma tabela hash.
Gestao do espaco de Controla o acesso ao espaco compartilhado do
tuple (LocalSecAgent) dispositivo movel host level tuple space
Motor de criptografia Proporciona servicos de criptografia e
(GRSec) decriptografia atraves de algoritmos de
criptografia simetrica com chave de 32 a 448
bits Blowfish – DES.
Distribuicao de tiquetes Cria e distribui tıquetes para os agentes
(GRSec)
Autenticacao Garante a autenticidade da comunicacao:
(GRsec) assegura que as partes emissoras e receptoras
sao autenticas e que um intruso nao esta se
passando por uma das partes legıtimas.
Garantia de Garante a nao observabilidade, protecao do
Confidencialidade fluxo de trafego impedindo o intruso de analisar
(GRSec) o trafego (origem, o destino, frequencia das
mensagens e outras caracterısticas do trafego).
Gestao de identidade o tıquete oculta a identidade do usuario o que
(GRSec) garante o seu anonimato
Garantia de Integridade Garante a integridade do agente na sua
(GRSec) mobilidade logica – o bytecode do agente deve
ser recebido do jeito que ele foi enviado -
Tabela 6.4: Descricao sumaria dos casos de uso do SecMobileAgent.
A tabela 6.5 inclui os principais atores. Eles representam os usuarios e outros sistemas
que interagem com o SecMobilAgent. Os atores modelam os papeis dos usuarios e nao a
pessoa do usuario. Ao analisar os modelos de casos de uso de negocio e a arquitetura dos
processos de negocio do SecMobilAgent, formularam–se os atores resumidos na Tabela
6.5.
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 99
No. Ator Definicao
1 Programador Desenvolvedor usuario das facilidades do
SecMobileAgent
2 Proprietario do Proprietario pode configurar o perfil do agente
dispositivo a polıtica de acesso ao espaco compartilhado do
seu dispositivo movel: Host Level Tuple Space
3 Gerente Funcionario responsavel pela distribuicao
de senha ou administrador do sistema
responsavel pela polıtica de seguranca
4 Sistema Interceptador do sistema deinformacao,
responsavel pela interceptacao das
requisicoes do agente
Tabela 6.5: Descricao dos Atores.
O diagrama da figura 6.3 apresenta uma perspectiva do modelo SecMobileAgent,
mostrando as interfaces do SecMobileAgent com seu ambiente de aplicacao, inclusive os
seus diferentes usuarios e outros sistemas com os quais ele deve interagir. Os usuarios sao
representados por atores, e os casos de uso, por possıveis funcoes do SecMobileAgent que
podem ser invocadas pelos atores.
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 100
Figura 6.3: Diagrama de contexto derivado do modelo de caso de uso de negocio do SecMo-
bileAgent.
6.3.2 Visao de Analise
Esta secao mostra como os elementos de modelagem das estruturas conceituais inter-
agem para realizar as funcoes representadas pelos casos de uso. Foram apresentados os
seguintes casos de uso: Configurar perfil, Selecionar algoritmo de criptografia, Gerenciar
autenticacao e Distribuir tıquete. O modelo conceitual apresentado nessa visao de analise
e composto de diagrama de atividades, de sequencia e de classes, como mostram as figuras:
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 101
Figura 6.3,Figura 6.4, Figura 6.5, Figura 6.6 e Figura 6.7.
Figura 6.4: Diagrama de Atividades (DA) do caso de uso Configurar perfil.
O diagrama de atividades e usado para representar o comportamento do caso de
uso. A Figura 6.4 mostra o fluxo principal do caso de uso Configurar perfil, onde foram
representados os papeis dos usuarios (proprietario do dispositivo e sistema). Do lado
proprietario do dispositivo os papeis sao: Selecionar o agente, definir chave, permitir
acesso ao espaco compartilhado, definir comportamentos. Do lado sistema, os papeis sao:
exibir tela, carregar acoes e gravar no repositorio de perfis. O Configurar perfil proporciona
o servico de controle de acesso e a garantia da privacidade do usuario.
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 102
Figura 6.5: Diagrama de Atividades (DA) do caso de uso Selecionar Algoritmo.
O caso de uso Selecionar Algoritmo de Criptografia proporciona o servico de confi-
dencialidade: o usuario pode selecionar junto com o motor de criptografia (implementado
pelas classes Blowfish e CriptoDes) um algoritmo para criptografar a migracao logica de
um objeto do seu dispositivo para um dispositivo remoto, ou criptografar a comunicacao
entre dispositivos. Foram implementados dois algoritmos de criptografia com chave var-
iando de 32 a 448 bits (Blowfish e DES), considerados bom para ambientes moveis. A
Figura 6.4 ilustra o fluxo do caso de uso Selecionar Algoritmo de Criptografia. Os pa-
peis do sistema sao: Exibir tela, Habilitar campos e Carregar na memoria. Os papeis
do usuario sao: Selecionar modo de protecao, selecionar algoritmo e fornecer a chave de
criptografia.
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 103
Os casos de uso Gerenciar autenticacao e Distribuir tıquete sao ilustrados na Figura
6.6. Os diferentes papeis sao: Exibir tela, solicitar conexao, salvar no buffer uma copia da
solicitacao, autenticar ID, gerar tıquete, salvar uma copia do tıquete, criptografar tiquete
e entregar tıquete criptografado ao usuario. Caso, o ID do usuario nao for autenticado,
uma mensagem de erro e emitida. O tıquete gerado e formado do ID, uma chave e um
prazo de validade. O Gerenciar autenticacao garante a autenticidade da comunicacao,
assegurando que as partes emissoras e receptoras sao autenticas e que um intruso nao esta
se passando por uma das partes legıtimas. O Distribuir tıquete permite uma gestao de
identidades virtuais, ocultando a identidade do usuario. Quando o usuario acessa varios
servicos sob a mesma identidade, e possıvel estabelecer uma relacao com seus acessos,
expondo assim a sua privacidade. Nesse caso, e recomendavel ter multiplas identidades
virtuais para acessar os servicos. Na nossa abordagem, os tiques ocultam a identidade do
usuario. Um usuario pode ter mais de um tıquete, ou seja, multiplas identidades, o que
permite ao usuario deixar o mınimo possıvel de rastro.A Figura 6.7 apresenta o diagrama
de atividade do caso de Gestao de identidades.
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 104
Figura 6.6: Diagrama de Atividades (DA) dos casos de uso Gerenciar autenticacao e Distribuir
tıquete.
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 105
Figura 6.7: Diagrama de Atividades (DA) dos casos de uso Gerenciar Identidades.
Nesta visao de analise, foram apresentados os diagramas de atividades e de sequencia
dos principais casos de uso. A analise completa pode ser encontrada na documentacao a
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 106
ser anexada.
Figura 6.8: Diagrama de Sequencia (DS) do caso de uso Configur perfil.
A Figura 6.7 mostra com clareza a sequencia (ordem temporal) das mensagens tro-
cadas entre os objetos do Configurar perfil, um caso de uso importante que permite ao
usuario configurar e controlar o acesso ao seu dispositivo movel. A figura pode ser lida
da seguinte forma:
1 O usuario envia uma mensagem para uma instancia da classe SecMobileAgent.
1.1 O objeto SecMobileAgent envia a mensagem getPerfil para uma instancia da classe
LocalAgent.
1.1.1 O objeto LocalAgent envia a mensagem getAcoes para um objeto da PerfilTable.
Os objetos destinatarios retornam, respectivamente, os resultados das mensagens a
seus respectivos remetentes.
O usuario fornece a chave de identificacao, permite ou nao o acesso ao espaco de
tuple do seu dispositivo (HTS) e define o comportamento desejado do agente.
2 O usuario envia uma mensagem para uma instancia do SecMobileAgent.
2.1 O objeto SecMobileAgent envia a mensagem getPerfil para uma instancia da classe
LocalAgent.
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 107
2.1.1 O objeto LocalAgent envia a mensagem addProfile para uma instancia da Per-
filTable. Os objetos destinatarios retornam, respectivamente, os resultados das
mensagens a seus respectivos remetentes, finalizando a configuracao do perfil.
O Diagrama de Classes (DC) da Figura 6.8 e composto da classe MobileAgentSec que
fornece uma interface grafica (UI) e de duas classes PerfilTable e LocalAgentSec que re-
spectivamente criam e configuram o perfil do agente movel. O DC Criptografia apresenta
duas classes Blowfish e CriptoDes que definem os algoritmos de criptografia com chave
de criptografia simetrica de 32 a 448 bits a serem utilizados conforme a necessidade do
usuario. Essas classes modelam e implementam um conjunto de objetos de seguranca que
apresentam caracterısticas em comum, representadas por um conjunto de estados e com-
portamentos. Os estados sao os atributos ou variaveis de seguranca, e os comportamentos
sao os metodos ou funcoes de seguranca. Por exemplos, na classe CryptoDes temos os
atributos: texto e chave com tipo de valor Object, temos tambem os metodos getChave()
e setChave(); eles permitem configurar a chave de criptografia. Os metodos encrypt()
e decrypt() permitem, respectivamente, criptografar e decriptografar uma mensagem do
tipo String. Os diagramas de classes apresentadas nessa visao de analise mostram algumas
das funcoes implementadas nesse framework de gerencia de seguranca.
Os diagramas de classes da Figura 6.8 e Figura 6.9 mostram com detalhe, as funcoes
usadas para implementar a funcionalidade dos casos de uso: Configurar Perfil e Selecionar
Algoritmo de Criptografia. Esses metodos, definem o comportamento dos agentes de segu-
ranca do LocalSecAgent. Nesta secao foram especificados o escopo, definindo a missao, os
limites e benefıcios esperados do modelo de seguranca proposto. Foram tambem descritos
os elementos de modelagem, as estruturas conceituais, mostrando como esses elementos
interagem para realizar as funcoes do modelo, obedecendo assim os requisitos estipulados
6.3 Visao de Requisitos e Visao de Analisedo SecMobileAgent 108
Figura 6.9: Diagrama de classe do LocalMobileAgent.
Figura 6.10: Diagrama de classes de Criptografia.
6.4 Implementacao e Prototipo 109
6.4 Implementacao e Prototipo
O SecMobileAgent e implementado em dois modulos: LocalSecAgent e GRSec. Cada
um deles fornece servico de seguranca. O LocalSecAgent e o modulo cliente responsavel
pela configuracao e controle de acesso ao espaco compartilhado do dispositivo movel. A
Figura 6.8 e Figura 6.9 mostram respectivamente, o diagrama de classes, a interface do
modulo cliente, onde o proprio usuario pode configurar o perfil dos agentes moveis, permi-
tir acesso ou nao ao espaco compartilhado do seu dispositivo e selecionar o comportamento
do agente. O GRSec e o modulo servidor, ele age como uma base de servicos de seguranca,
proporcionando um canal seguro de migracao e de comunicacao, ou seja, uma relacao de
confianca entre as entidades moveis.
LocalSecAgent e GRSec foram implementados em Java, tem portabilidade e sao in-
dependentes de sistemas operacionais.
Para validar o modelo de gerencia de seguranca proposto foram criadas aplicacoes de
teste (prototipos). Figura 6.11 mostra as interfaces graficas da configuracao do perfil do
comportamento de agente movel, o controle de acesso ao espaco local compartilhado do
host, a solicitacao do servico de confidencialidade e de autenticacao.
6.5 Testes e Resultados Obtidos
Apos desenvolver o SecMobileAgent, foram realizados dois tipos de testes: o primeiro
para validar os conceitos e a funcionalidade do modelo proposto e o segundo para avaliar
o tempo de resposta. A plataforma e o ambiente adotados para os testes sao resumidos
na tabela 6.6. Com esses elementos foram montadas uma rede ad hoc sem fio (802.11)
simulando um ambiente difuso e uma rede de celulares com a tecnologia 3G simulando
um ambiente nomade. A figura 6.11 mostra as interfaces graficas do prototipo para a
validacao. O usuario, atraves dessas interfaces, pode configurar seu dispositivo definindo
condicoes de acesso ao espaco compartilhado do seu host, especificar um perfil
6.5 Testes e Resultados Obtidos 110
Qtde. Dispositivo
1 Modem de Banda Larga DSL NET
1 Modem 3G, 512kbps, provedor CLARO
1 Roteador sem fio: SIEMENS Gigaset SE551
com 5 portas
1 Um computador desk top core 2 duo 2Gb de RAM
monitor de 17pol. com Windows XP.
1 Notebook Toshiba com tecnologia sem fio 1GB de
RAM , processador celeron com Windows XP.
1 Ambiente de execucao: notebook, desktop, PDA
com tecnologia java
1 Notebook HP com tecnologia sem fio processador
core 2 dual, memoria RAM 2G,com Windows
Vista.
1 NoteBook ITAUTEC, com tecnologia sem fio com
Windows Vista , RAM 2G.
1 Impressora HP 2400 .
1 Linguagem de programacao Java 2ME /Java2EE .
Tabela 6.6: Elementos do ambiente de teste.
aos agentes moveis que chegam no seu dispositivo, usar os servicos de criptografia e
de autenticacao do SecMobileAgent, migrar de forma segura um agente do seu dispos-
itivo para um dispositivo remoto. A autenticacao, distribuicao de tıquetes e gestao de
identidade sao transparentes aos usuarios.
6.5 Testes e Resultados Obtidos 111
Figura 6.11: Interfaces graficas para executar os servicos de seguranca implementados.
Teste de Funcionalidade
Para validar a funcionalidade, foram criados sete agentes (pequenos programas es-
critos em Java com autonomia propria) moveis representando pacientes distribuıdos em
dispositivos remotos do ambiente. Cada agente apresenta os seguintes dados: ID (iden-
tidade), posicao geografica (latitude, longitude e altitude) e dados medicos (altura, peso
e temperatura). Os agentes tambem tem estados e comportamentos, neste teste os com-
portamentos implementados sao:
(a) getID(): retorna a identidade do paciente;
(b) getHealthData(): retorna os dados medicos do paciente;
(c) getPosition(): retorna a posicao geografica do paciente;
(d) run(): retorna a identidade, dados medicos e posicao geografica do paciente.
Os usuarios dos dispositivos moveis (na simulacao usando notebooks) representam os
medicos em movimento no ambiente. O medico pode configurar seu dispositivo para rece-
ber a migracao dos agentes, controlar o acesso ao espaco compartilhado de seu dispositivo
e executar o comportamento dos agentes. Os agentes podem migrar no modo seguro, isto
e, criptografado. Neste contexto as funcoes que foram avaliadas sao:
(a) Migracao logica do agente: verificar a mobilidade logica, isso e, mover um agente de
um dispositivo para outro.
6.5 Testes e Resultados Obtidos 112
(b) Garantia da confidencialidade: verificar a nao observabilidade, protecao do fluxo de
trafego, impedindo o intruso de analisar o trafego (origem, destino, frequencia das
mensagens e outras caracterısticas do trafego). Verificar se os agentes conseguem
migrar de forma segura. Neste caso foi usado o motor de criptografia para crip-
tografar o bytecode (codigo executavel) do agente, migrar o agente para um outro
dispositivo e depois ser decriptografado no dispositivo de destino com a finalidade
de ser executado.
(c) Motor de criptografia: verificar a funcionalidade dos algoritmos de criptografia im-
plementos, ou seja, criptografar e decriptografar o bytecode de um agente.
(d) Distribuicao de tıquete: Criar e distribuir tıquete criptografado contendo a identi-
dade do agente.
(e) Autenticacao do agente: verificar a veracidade da identidade de uma agente.
(f) Gestao de perfil: Criar e gerenciar dinamicamente os perfis do usuario.
(g) Gestao do espaco do tuple: verificar o controle de acesso ao espaco compartilhado
do dispositivo movel (host level tuple space).
(h) Gestao de identidade: verificar a validade do tıquete, associar a identidade oculta a
um determinado usuario.
A Figura 6.12 ilustra os resultados dos testes. Nestes testes pode se observar a mi-
gracao de dois agentes: agente01 e agente02. O agente01 foi migrado sem criptografia
e o agente02 com criptografia garantindo a sua confidencialidade. Os numeros hexadec-
imais traduzem a criptografia do bytecode (codigo executavel) do agente. Ao chegar no
dispositivo remoto, o bytecode criptografado e descriptografado e em seguida, executado
conforme o perfil estabelecido no dispositivo remoto: permitir ou negar acesso do agente
ao class Space (espaco compartilhado do dispositivo movel conhecido tambem como host
level tuple space), permitir ou negar a execucao dos metodos (getID(), getHealthData(),
getPosition() e run() ) do agente mesmo tendo acesso ao class space. Estes metodos im-
plementam o comportamento do agente. Por default, quando nao ha perfil definido, o
agente nao e executado no dispositivo remoto.
mucode: Servidor de seguranca ativo
br.usp.pcs.dn.cliente.Agente01
Migrando para ...
6.5 Testes e Resultados Obtidos 113
Migrac~ao OK...
br.usp.pcs.dn.cliente.Agente02
Migrando para ...
MIGRAC~AO CRIPTOGRAFADA
1E:13:7E:00:57:FF:8D:E7:AA:78:74:1B:A2:C6:F5:E5:EB:12:4D:78:45:B2:9C:D2:36:
56:19:24:50:21:3A:8E:DD:CB:F1:22:01:FA:E5:F1:03:F8:62:D5:1A:F7:0C:34:EE:8C:
38:2D:E2:72:72:F5:D7:1E:CD:F1:24:44:AA:B8:C4:E8:6D:C3:EC:0D:28:3E:6F:80:4E:
F4:76:5D:7A:BF:18:3D:53:51:E5:98:FB:7A:2E:64:0F:4A:D8:5C:03:51:F5:4C:15:E3:
CE:10:F4:EE:96:D1:24:82:74:0C:FF:F7:46:28:1A:9C:AC:F2:FA:30:F0:C9:3F:5B:ED:
BD:01:1F:4C:04:28:FD:78:81:11:09:3D:99:11:71:D7:99:D4:44:01:12:8A:9B:1D:BA:
63:4F:48:C8:54:47:B0:B7:4C:F0:DB:FC:DE:7B:F4:AE:66:F1:4E:0C:14:97:28:7C:15:
A0:3E:A8:7B:88:B1:04:BF:67:AF:D9:70:2E:8D:34:E1:E1:6D:12:80:4C:1E:E7:7D:C8:
42:FD:B7:9D:A8:D0:93:05:D8:6B:5C:7E:91:A7:48:B9:2E:3F:91:E4:C5:2B:F8:C2:F6:
6F:A7:4C:07:48:08:0B:AC:E9:5B:20:DB:5B:3F:86:8F:45:79:04:28:AD:C0:70:56:DF:
59:47:D9:CF:60:D6:2A:04:68:59:DB:22:E6:DD:18:20:98:A3:91:35:30:A6:4E:C2:F8:
8A:BB:A6:6C:24:57:E6:35:D0:FD:C1:26:D7:AD:4D:B5:44:83:FE:9E:7C:D1:A6:9B:18:
FA:A0:E6:CD:DA:C2:44:F1:A7:08:C5:B4:D6:4B:66:38:
...
:02:BC:A9:B0:13:CC:7B:B1:10:9E:12:E5:C7:FC:2A:87:5C
Recebido com exito
Migrac~ao OK...
DESCRIPTOGRAFADO:
CA:FE:BA:BE:00:00:00:32:00:82:0A:00:2D:00:4C:08:00:4D:09:00:2C:00:4E:08:00:
4F:09:00:2C:00:50:08:00:51:09:00:2C:00:52:06:40:3F:40:00:00:00:00:00:0A:00:
53:00:54:09:00:2C:00:55:06:3F:FA:B8:51:EB:85:1E:B8:09:00:2C:00:56:06:40:4C:
80:00:00:00:00:00:09:00:2C:00:57:06:40:42:00:00:00:00:00:00:09:00:2C:00:58:
0A:00:2D:00:59:09:00:5A:00:5B:08:00:5C:0A:00:5D:00:5E:08:00:5F:07:00:60:0A:
00:1A:00:4C:08:00:61:0A:00:1A:00:62:0A:00:1A:00:63:08:00:64:08:00:65:0A:00:
1A:00:66:08:00:67:08:00:68:0A:00:1A:00:69:08:00:6A:08:00:6B:0A:00:2C:00:6C:
0A:00:2C:00:6D:0A:00:2C:00:6E:07:00:6F:08:00:70:07:00:71:07:00:72:01:00:02:
49:44:01:00:12:4C:6A:61:76:61:2F:6C:61:6E:67:2F:53:74:72:69:6E:67:3B:01:00:
08:6C:61:74:69:74:75:64:65:01:00:09:6C:6F:6E:67:69:74:75:64:65:01:00:08:61:
6C:74:69:74:75:64:65:01:00:12:4C:6A:61:76:61:2F:6C:61:6E:67:2F:44:6F:75:62:
6C:65:3B:01:00:06:61:6C:74:75:72:61:01:00:01:44:01:00:04:70:65:73:6F:01:00:
6.5 Testes e Resultados Obtidos 114
0B:74:65:6D:70:65:72:61:74:75:72:61:01:00:06:3C:6
...
:3D:00:3E:00:00:00:48:00:00:00:07:00:02:4F:07:00:49:08:00:01:00:4A:00:00:00:
02:00:4B
Perfil:
Nao ha perfil definido!
Perfil:
Nao ha perfil definido!
Perfil:
Nao ha perfil definido!
Perfil:
Pode entrar no classe Space!
getID pode ser executado!
Perfil:
Nao ha perfil definido!
Perfil:
Pode entrar no classe Space!
getID pode ser executado!
Identidade:
JAIMIR CONTE
Perfil:
Pode entrar no classe Space!
getHealthData n~ao pode ser executado!
Perfil:
Pode entrar no classe Space!
run n~ao pode ser executado!
6.5 Testes e Resultados Obtidos 115
Perfil:
Pode entrar no classe Space!
run pode ser executado!
Identidade:
MARIA DE FATIMA
Posic~ao geografica:
Latitude: 27o 3548S
Longitude: 48o 3257O
Altitude: 1000.0
Dados de saude:
Peso: 57.0
Altura: 1.67
Temperatura: 36.0
Figura 6.12 : Resultados do teste de funcionalidade.
Teste do tempo de resposta
Para avaliar o tempo de resposta foram utilizados os mesmos agentes e a mesma plataforma
descrita no teste de funcionalidade. Os testes foram efetuados em duas infra estruturas
de rede sem fio: Ad hoc sem fio (WIFI 802.11, simulando um ambiente difuso) e WLAN
(rede de celulares 3G modem da CLARO provedor de telefonia celular, simulando um
ambiente nomade). Foram medidos os tempos de migracao logica de um agente de um
dispositivo A para um dispositivo B. Os resultados foram:
(a) Em rede de celulares 3G com modem da CLARO, com uma distancia de 23,1
quilometros separando A e B, a media de tempo foi de 243,44 milissegundos.
(b) Em rede Ad hoc sem fio com a distancia entre os dois nos A e B variando de 120
cm a 387 cm, os tempos de resposta sao muito proximos com uma media de 3.5
milissegundos.
A Figura 6.12 e Figura 6.13 ilustram os tempos de resposta na mobilidade logica dos
agentes, obtidos respectivamente em rede WIFI AD HOC e redes celulares 3G com modem
6.5 Testes e Resultados Obtidos 116
da CLARO. Observa-se que o tempo de resposta sofre uma oscilacao e e proporcional a
distancia. Em redes celulares com distancia maior, o tempo tambem e mais demorado. A
oscilacao se deve a instabilidade da largura da banda que caracteriza os ambientes moveis.
Figura 6.12: Tempo de resposta na mobilidade de agente em rede WIFI AD HOC.
Figura 6.13: Tempo de resposta na mobilidade de agente em rede de celulares 3G com modem
da CLARO.
A Tabela 6.7 resume os dados obtidos do teste de tempo de resposta e o tamanho em
Kilobytes do SecMobileAgent. Os resultados obtidos sao muito satisfatorios e estao dentro
do padrao de qualidade recomendado pela norma IEEE-830 que e no maximo 10 segundos
para o tempo de resposta. O tamanho tambem e considerado bom, pois a memoria dos
dispositivos moveis o comporta. Esse bom desempenho se deve ao uso de:
• Algoritmos eficientes de programacao distribuıda: os programas sao fragmentados
em processos de menores complexidades e executados em multithreading.
• Algoritmo de compressao de dados: os dados e processos sao comprimidos usando
o GZIP (GNU zip), um Software Livre de compressao sem perda de dados.
6.5 Testes e Resultados Obtidos 117
Ambiente Nomade (Rede de Ambiente difuso (Rede AD HOC
telefonia Celular - 3G ) 802-11 PAN)
Tempo de resposta 243,4 3,6
(Milissegundos)
Tamanho (KBytes) 580 580
Tabela 6.7: Tempo de resposta e tamanho em KB do SecMobileAgent.
Os resultados obtidos nos testes de funcionalidade e de tempo de resposta permitem
julgar a pertinencia do modelo proposto.
118
7 Conclusoes Gerais
O mundo esta cada vez mais conectado e comunicante. A democratizacao das tecnolo-
gias de informacao e das comunicacoes materializadas pela interconexao de diversos sis-
temas: telecomunicacao, internet, redes sem fio e dispositivos moveis tornam os sistemas
potencialmente acessıveis por um numero de usuarios cada vez maior, possibilitando a
necessidade de novos paradigmas e novos conceitos da computacao. Um dos principais
objetivos dessa nova geracao de sistemas computacionais e fornecer a seu usuario acesso a
servicos de qualquer lugar e a todo instante, ou interagir, de forma mais natural, com os
recursos disponıveis na sua vizinhanca. Este novo paradigma da computacao movel torna
a protecao das informacoes e a privacidade dos usuarios mais complexas, colocando em
evidencia a questao da seguranca.
Neste contexto, os middlewares para ambientes moveis podem contribuir para re-
solver a questao da seguranca e da privacidade. Neste sentido, iniciou-se nessa tese uma
serie de estudos sobre os middlewares para ambientes moveis (Mobile middlewares). Os
estudos feitos permitem constatar que os middlewares moveis devem possuir algumas car-
acterısticas comuns, independente de seu tipo. Essas propriedades comuns permitem uma
melhor adaptacao a natureza dos ambientes moveis e as necessidades das aplicacoes. Um
middleware movel deve ser capaz de interagir com diversos tipos de servicos e deve ser
leve devido ao limite de recursos internos dos dispositivos moveis. Os middlewares para
ambientes moveis tambem devem ser otimizados para oferecer mais servicos e consumir
menos recursos computacionais. As analises mostram tambem que os middlewares exis-
tentes [OMG, 2008; PALIVAN; DINU, 2005; Ibus//Mobile [SOFTWIRED. 2007], Pronto
[YONEKI; BACON, 2006 ] [PRONTO, 2003], WebSphere EveryPlace [WEBSPHERE,
2007], Steam [RENE; VINNY, 2003], Lime [MURFPHY et al, 2007] e muitos outros ap-
resentados no capıtulo 3 quase nao abordam os problemas da seguranca e privacidade.
Muitas das solucoes existentes sao implementadas na camada de aplicacao o que as tor-
nam especıficas, proprietarias e vulneraveis. A seguranca ainda e um problema que deve
ser gerido em todos os nıveis de um sistema distribuıdo, associando criptografia, autenti-
7.1 Contribuicao 119
cacao, auditoria e novos mecanismos como, por exemplo, configuracao dinamica de perfil,
anonimato e gerencia de identidades virtuais. Como contexto para o desenvolvimento e
aplicacao da nossa proposta a classe dos middlewares baseados em tuple (Linda, Lime)
foi escolhida, pois eles tem um bom gerenciamento de mobilidade e se adaptam melhor a
computacao nomade e difusa.
Para resolver os problemas relacionados a seguranca em ambientes moveis, foi imple-
mentado um framework de gerencia de seguranca SecMobileAgent que oferece servicos de
seguranca para middlewares de ambientes moveis baseados em tuple.
7.1 Contribuicao
Ao longo desse trabalho foi demonstrado que os middlewares baseados em tuple for-
mam uma solida base para a concepcao de aplicacoes em ambientes moveis, entretanto, o
modelo Linda [GELERNTER, 2005] e muitos dos seus sucessores tal como Lime (Linda
in a mobile Environment ) nao abordam a questao da seguranca. Sendo assim, as apli-
cacoes desenvolvidas nos ambientes moveis baseados em tuple sao vulneraveis e sujeitas as
ameacas. Poucos sistemas propoem solucoes de seguranca para o modelo original Linda e
as solucoes propostas sao limitadas. Os exemplos: KLAIM (Kernel Language for Agents
Interaction and Mobility), SecOS e DAgents citados no artigo [HANDOREAN et al, 2007]
propoem solucoes com abordagens baseadas na criptografia simetrica e assimetrica, mas
nao se adaptam a sistemas distribuıdos de larga escala e nao apresentam mecanismos de
autenticacao mutua e preservacao da privacidade dos usuarios. O modelo Limone [MAR-
TIN; DEMERE, 2006] apresenta uma solucao semelhante a nossa proposta, mas no estagio
atual do seu desenvolvimento faltam alguns servicos e nao e totalmente compatıvel com
o modelo Linda que e a referencia dos middlewares baseados em tuple. A nossa proposta
e muito mais abrangente, pois aborda a questao da privacidade, se adapta perfeitamente
ao modelo Linda e aos middlewares baseados em tuple: o espaco de tuple nao foi alterado
e nenhum banco de dados foi utilizado o que poderia comprometer o desempenho e o host
tuple space. Ela aborda alem da questao da confidencialidade e controle de acesso a re-
cursos protegidos ou compartilhados - tratada pela maioria dos sistemas existentes - trata
tambem o problema da deteccao de intruso, protecao da privacidade dos usuarios atraves
de anonimatos e configuracao dinamica de perfis. Os servicos de seguranca sao imple-
mentados como agentes da arquitetura Linda, repartidos em dois nıveis: domınio local e
domınio remoto. No domınio remoto os servicos sao proporcionados pelo GRSec (principal
classe da implementacao) e no domınio local por um agente local LocalSecAgent. Dentro
7.2 Proposta de Continuidade 120
do contexto apresentado no capıtulo 2 (sistemas distribuıdos em ambientes moveis) e com
os resultados dos testes obtidos podemos assumir que a definicao do modelo proposto e
realizavel e pratico. A seguranca proporcionada pelo modelo herda alguns mecanismos de
seguranca da tecnologia Java o que facilitou a sua implementacao. Os testes realizados
em rede celular 3G e rede ad hoc 802.11 apresentam resultados satisfatorios que permitem
julgar a pertinencia do modelo proposto.
7.2 Proposta de Continuidade
A arquitetura do framework desenvolvido apresenta uma facilidade de expansao (es-
calabilidade), a sua implementacao usa o paradigma de Orientacao a Objeto, portanto,
novos servicos de seguranca podem ser desenvolvidos e acrescidos futuramente. Pode se
pensar em algumas facilidades especificas para sistemas e-saude como preve a OMG no
modelo CORBA. O servico de privacidade implementado neste trabalho e limitado a uma
gerencia de tıquetes distribuıdos pelo GRSec. Poderia se pensar em uma garantia de
privacidade muito mais abrangente.
121
8 Referencias Bibliograficas
ABBADI, E. A. et al. An Efficient Fault Tolerant Protocol for Replicated Data
Management. In 4th ACM SIGACT-SIGMOD Symp. On Principle of Database
Systems, Portland, OR, USA, pp. 215-28, ACM, 1985.
ABOBA, B.; SIMON, D. PPP EAP TLS Authentication Protocol. IETF RFC No.
2716, October 1999.
ABOWD, G. D., et al. Cyberguide: a Mobile Context-Aware Tour Guide. AM
Wireless Networks, vol. 3, pp. 421- 433, 1997.
ALBUQUERQUE, A. L. P. Cenarios virtuais com um estudo de sincronismo de
camera, 95 pp., Dissertacao (Mestrado), Departamento de Informatica, PUC- RIO,
1999.
ALEXANDRE, V. M. Gerencia de Seguranca em Aplicacoes de Banco de Dados na
Web. Dissertacao (Mestrado), CPGCC/UFSC. Marco, 2000.
ARMSTRONG, R. et al. WebWatcher: A learning Apprendice for the World Wide
Web. AAAI Spring Symposium on International Gathering, 2005.
ANDRE, M. B. da Gerencia Distribuıda de Redes Utilizando SNMP, Java, WWW
e CORBA, Dissertacao (Mestrado), CPGCC/UFSC Florianopolis, abril 2000.
AUTOMATION World, article, 2004.
BAJURA, M.; NEUMANN, U. Dynamic registration correction in video-based aug-
mented reality systems. IEEE Computer Graphics and Application, n. 9, September,
2005.
BALFANZ, D.; SMETTERS, D.; STEWART, P.; WONG, H. Talking to Strangers:
Authentication in Ad-Hoc Wireless Network. In Symp on Network and Distributed
Systems Security, San Dieogo, CA USA , 2002.
8 Referencias Bibliograficas 122
BANATRE, M. et al. Ubiquitous computing to help blind People in public Transport.
Mobile HCI 2004, p310-314,2004.
BANATRE, M. ; BRYCE, C. ; COUDERC, P. ; WEIS, F. Informatique diffuse: des
concepts a la realite. Collection informatique, Brmes Sciences, paris 2007.
BELLOVIN, S.; MERRITT. Limitation of Kerberos Authentication System. in
Processings of Winter 1991 Usenix Conference, January 1991. Disponivel em:
<ftp://research.att.com/dist/internetsecurity/kerblimt.usenix.ps> .Acessoabril2009
BLUETOOTH. bluetooth.com, BLUETOOTH. Disponıvel em : <www.bluetooth.com>.
Acesso em julho 2006
BOLCER, G. A. et al. Peer to peer Architectures and the Magi Open Source. Infra
– structure. Acesso novembro 2007
BONNEAU, V. Machine –to– Machine, forte croissnc Du wireless et impact Du
RFID. M36105, IDATE, 2005.
BRANDS, S.; CHAUM, D. Distance Bounding Protocols. in EUROCRYPT 2003
LINCS765, PP 23-27, Springer, 2003.
BRENNAN, R.; JENNINGS, B.; MCARDLE, C, et al. Teletec Irland, Evolutionary
Trends in Intelligent Networks. IEEE Communications Magazine, June 2000.
BUSSARD, L.; MOLVA, R. One Time Capabilities for Authorizations Without
Trust. In 2nd IEEE int. conf. on Pervasive Computing and Communication, Per-
Com04, Orlando FL, USA,pp 351-55,2005.
CAMPADELLO, S.; KOSKIMIES, O.; RAATIKAINEN, K.; HELIN H. Wireless
Java RMI. Enterprise Distributed Object Computing Conference. EDOC 2000.
Fourth International Sept. 2000.
CAMENISCH, J. HERREWEGHEN. Design and implementation of the IDEMIX
Anonymous Credential System. In 9th ACM conf. On Computer and Communica-
tion Security, CCS02, Washington, DC, USA, pp.21-30, ACM,2002
CDFUE. Charte des Droits Fondamentaux de LUnion Europeenne, articles 7 et 8.
Journal officiel des communautes Europeennes 2000/C 364/01-22, decembre 2000.
8 Referencias Bibliograficas 123
CELLER, B. G.; LOVELL, N. H.; BASILAKIS J. Using information technology to
improve the management of chronic disease. Medical journal Australian, (s. 1), v.
179 no. 5 , pp. 242 – 246, September, 2003.
CHAU P. Y. K.; HU P. J. H. Technology Implementation for Telemedicine Programs.
Communication of ACM, new York, v 47, n. 2, p. 87-92, February 2004.
CHAUM, D. Untraceable Electronic mail Return Addresses and Digital Pseudonyms.
Communications of ACM, vol. 24, pp. 84-88 , 2001.
CHAUM, D. Blind Signatures for Untraceable Payments. in Crypto02, pp199-203,
Plenum Press, 2002.
CHAUM, D. The Dining Cryptographers Problems : Unconditional Sender and Re-
cipient Intractability. Journal of Cryptology, vol. 1, pp 65-75,1988.
CHENG – WEI, et al. Support and Optimization of Java RMI over Wireless Envi-
ronments. National Tsing Hua University, disponivel em: http://parallel.iis.sinica.edu.tw/cthpc2003/papers/CTHPC2003-
13.pdf. Aacesso em: setembro 2006.
CLULOW, J. et al. So Near and yet So Far: Distance Bounding Atacks in Wireless
Networks. in European Workshop on Security na Privacity in Ad- Hoc and Sensor,
ESAS 2006, lncs ,4357, pp 83-97, 2006.
CORBA; VERHOEVEN, R. Wireless CORBA. Disponıvel em: em <http://kotisivu.mtv3.fi/ashar/software/miwco>.
Acesso em: setembro 2006.
Conseil de l Europe, convention sur Le Cybercrime, 23 novembre 2001 , disponivel
em <http://www.internet.gouv.fr/information/information/dossiers/cybercriminalite-
politique-du-gouvernement/convention-sur-cybercriminalite-29.html>. Acesso em :
2009.
COULOURIS, G.; DOLLIMORE, J.; KINDBERG, T. Sistemas distribuidos: Con-
ceitos e projeto, 4ed, Porto Alegre: Bookman, 2007.
COVINGTON, M. J. et al. A Context -A ware Security Architecture for Emerging
Applications. In 18th Annual Computer Security Applications Conference, AC-
SAC02, Las Vegas, NV, USA, pp249,2002.
DAVE, B.; LINDAMAY, P. WebSphere Everyplace Access: Extending enterprise
applications to mobile users. IBM Corporation Somers, NY 10589 U.S.A, Julho
2002.
8 Referencias Bibliograficas 124
DEMORACSKI, L. Fault-tolerant beacom Vetor Rounting for Mobile Ad Hoc Net-
work. in 19th IEEE Int. Conf. On Parallel and Distributed Processing Symposium,
IPDPS05, pp 279 , IEEE, 2005.
DIFFIE, W.; HELLMAN, M. E. New Directions in Cryptography. IEEE Transac-
tions on Information Theory , vol IT-22, no. 6, pp 644 - 54. 2006.
EIKO, Y.; BACON J. Pronto: MobileGateway with Publish-Subscribe Paradigm
over Wireless Network. University of Cambridge Computer Laboratory. Disponivel
em : <http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-559.pdf>. Acesso em
junho 2007
EYSENBACH G. What is e-health? J. Med. Internet Res. vol 3, no. 2 pp. 50-53,
2006.
FEENEY, L. M. A QoS Aware Power Save protocol for Wireless Ad Hoc Networks.
in 1th Mediterranean Workshop on Ad Hoc Networks, Med-Hoc Net 2002, Sardenga,
Italy, 2002.
FEINER, S.; MACINTIRE, B.; HOLLERER, T.; WESTER, A. A touring machine:
prototyping 3D Mobile Augmented Reality Systems for Exploring the Urban Environ-
ment. International Symposium on Wearable Computing, Cambridge, MA, Estados
Unidos, IEEE, Otubro 1997.
FRANCE TELECOM. Eclairer l’avenir, no. 23, 2005.
GAST, M. S. 802.11 Wireless Networks: The Definition Guide. O’Reilly, 2002
GELERNTER, D. Generative Communication. In LINDA. ACM Transactions on
Programming Language and Systems, 7(1), pp. 80-112, 2005
GIANUZZI, V. Data Replication Effectiveness in Mobile Ad Hoc Networks. In 1th
ACM, int. Workshop on Performance Evaluation of Wireless Ad Hoc and Ubiquitous
Networks, Venice, Italy, pp. 17-22, ACM, 2004. [] GOMEZ, L. et al. Using Sensor
and Location Information for Context Aware Access Control. In int. Conf. On
Computer as Tool EUROCON2005, Belgrade, Serbia Montenegro, 2005.
GONG, L.; SCHEMERS, R.; SIGNING. Sealing and Guarding Java Objects in Mo-
bile Agents and Security. Springer-Verlag. Editor G. Vigna. LNCS 1419. Pp.
206-216. Berlim. 1998.
8 Referencias Bibliograficas 125
GUTTMAN, B.; BAGWILL, R. Internet Security Policy: A Technical Guide. NIST
special publication number 800-XX.Gaithersburg. July, 1997. Disponivel em: <http://csrc.nist.gov/isptg/html/>.
Acesso em: junho 2008.
GRUBER, T. R. A translation approach to portable ontology specifications. Knowl-
edge Acquisition – 5, pp. 199-200, 1993.
GRUNINGER, M.; FOX, M. S. Methodology for design and evaluation of ontology.
Proceedings of workshop on basic ontological issues in knowledge sharing , Canada,
1995.
GRUNINGER, M.; LEE, J. Ontology application and design. Communication ACM,
February, 2002.
HAGGERTY, P.; SEETHARAMAN, K. The Benefits of CORBA-Based Network
Management. IEEE Communications of the ACM. vol. 41, pp. 73-79, 2000.
HAHN, J. H.; LEE, K. H.; RYOU, J. C. A Model of Security Platform Within TINA-
based Management System. APNOMS, 16-18, Sendai, Japan, September 1998
HANCKE, P. G.; KUHN, G. An RFID Distance Bounding Protocol. in 1st int.
Conf. On Security and Privacity for Emerging Areas on Communications Networks,
Athens Greece, pp 67-73, IEEE, 2005.
HANDOREAN, R.; PAYTON, J.; JULIEN, C.; ROMAN, G. C. Coordination Mid-
dleware Supporting Rapid Deployment of Ad Hoc Mobile Systems. Proceedings of
The ICDCS Workshops, International Workshop on Mobile Computing Middleware
(MCM 2003), pp. 363-368, May 2007.
HAPNER, M. et al. Java Message Service Especification. Sun Microsystems, Abril
2002.
HARA, T.; MADRIA, S. K. Data Replication for Improving Data Accessibility in
Ad Hoc Networks. IEEE Transactions on Mobile Computing, vol. 5, no. 11, pp.
1515-32. 2006.
IC2. La Securite dans les Reseaux sans Fil e Mobiles 1: Concepts Fondadamentaux
.Technologies du Marche. ed. Lavoisier Hermes Science, 2007.
IC2. La Securite dans les Reseaux sans Fil e Mobiles 2 : Concepts Fondadamentaux.
Technologies du Marche,. ed. Lavoisier Hermes Science, 2007.
8 Referencias Bibliograficas 126
ISMS2003. Identity Management Systems IMS: Identification and Comparison Study.
Independent Center For Privacity Protection - ICPP, 2003.
ISO/IEC15408-2-2005. Technologies de linformation - Techniques de Securite- Criteres
devaluation pour la Securite TI - Partie 2 : Exigence fonctionelles de Securite.
Norme International, ISO/IEC 15405-2-2005.
ITO, M. Um modelo de gestao de paciente cronico baseado nos conceitos de rela-
cionamento com cliente. 2006. 140 f. tese (Doutorado) - Escola Politecnica, Uni-
versidade de Sao Paulo, Sao Paulo, 2006.
ITU 2004 International Telecommunication Union Year 2001, General Overview of
NGN, 2004.
JEAN, M. G.; CHRISTOPHE, G.; PHILLIPE, M. CORBA: des Concepts a la
Pratique . Collection Inter Editions. Edition Maison. Paris. France.1997.
JOHNSTON, R. G; WARNERJ. S. Think GPS Cargo Tracking = High Security?
Think Again. Transport Security World, 2003.
JOSE, E. L. Arquitetura de Seguranca para Rede Aplicada a Sistemas de Gerencia,
Dissertacao (Mestrado). CPGCC/UFSC BU/DPT 0-239-131-6. 2000.
JOSEPH, D. A.; TAUBER, A.J.; KAASHOEK, F. M, Mobile Computing with the
Rover toolkit. IEEE Transaction Computing. 46 (3), pp. 337-352, 1997.
JUELS, A. RFID Security and Privacity: A research Survey. IEEE Journal on
Slected Areas in Communication, vol. 24, no 2 pp318-94,2006.
KADDOUR M, P. L. Towards an Adaptable Message OrientedMiddleware for Mobile
Environments. novembro 2006.
KADDOUR, M. PAULET, L. Une Approche Cooperative de l’Adaptabilite des Appli-
cations Mobiles basees sur MobileJMS. Disponivel em : http://www.infres.enst.fr/ pautet/papers/pautet04mobilejms.pdf.
Acesso em: outubro 2006.
KARAM, D. J. Modelo de negocio para mobilidade e interatividade em ambientes
convergentes heterogeneos. 2006, 80p tese (Doutorado) - Escola Politecnica, Univer-
sidade de Sao Paulo, Sao Paulo, 2006.
KENT; ATKINSON, 1998] KENT, S.; ATKINSON, R. IP Authentication Header
(AH). IETF RFC No. 2402, November 1998.
8 Referencias Bibliograficas 127
KOERTUEM, et al, When Peer-to-Peer comes Face-to-Face: Collaborative Peer-to-
Peer Computing in Mobile Ad Hoc Networks, Proceeding 2001 International Con-
ference on Peer-to-Peer Computing, Sueca, 2001
LABROD H. and HFIFI H., de Bluetooth a WiFi, Hermes Sciences, 2008
LANSFORD, J. HomeRF: Bringing wireless connectivity. Disponivel em: Home.grouper.ieee.org/groups/8002/11/tutorial/90548S-
WPAN-HomeRF- Tutorial.pdf>. Acesso em: novembro 2008..
MAFFEIS, S. Wireless IRELESS JMS Introduction a Wireless JMS. Disponıvel em:
<http://www.softwired-inc.com/company/wjms.html>. Acesso: outubro 2006.
MAMPAEY, M.; COUTIRIER, A. A. Using TINA Concepts for Evolution. IEEE
Communications Magazine, June 2000.
MANN, S. Smart Clothing: The Shift to Wearable Computing. Communication of
ACM, vol. 39, no. 8, pp. 23-24, 1996.
MARTI, S. et al. Mitigating Routing Misbehavior in Mobile Ad-Hoc Networks. in 6th
conf. On Mobile Computing and Networking, Boston, MA, USA, pp 110-24,2005.
MARTIN, L. ; DEMERE, I. Bibliographical Survey of Data Sharing System for
Mobile Ad-hoc Networks. ENST-France Telecom, 2006
MASCOLO et al. Middleware for Mobile Computing. in Advanced Lectures on
Networking: Networking 2002 tutorials, Pisa, Italy. Volume 2497 of LNCS, pp.20-
55, Springer Verlag, may 2002
MEDJI, K. Conception et realisation d’une plateforme de repartition dediee aux en-
vironnements nomades. 2006. 176 f. These ( Doctorat). Ecole Nationale Superieure
des Telecommunications de Paris, France. Acesso em : novembro 2006.
MICHIARDI, P. MOLVA, R. CORE: A collaboration Reputation Mechanism To
Enforce Node Cooperation in Mobile Networks. in 6th IFIP, Portorosz , Slovenia,
pp 107-21,2002.
MOM: middleware oriented message. Disponıvel em: <http://pyfourmond.free.fr/mom.htm>.
Acesso em: novembro 2006.
MURFPHY, A. L.; PICO, G. P.; ROMAN, G. C. Lime: A Middleware for Phys-
ical and logical Mobility. In Proceedings of the 21st International Conference on
Distribuited Computing System ICDCS-21, Maio 2007.
8 Referencias Bibliograficas 128
NABET, D.; RIZCALLAH, D. K. Livre blanc Machine to Machine. Fing/Syntec/Orange,
marco 2006.
NAGAO, K.; REKIMOTO, J. Agent Augmented Reality: A Software Agent Meets
the Real World. second International Conference on Multiagent Systems, 1996.
NETSCAPE white paper. The SSL Protocol, Cipher Used with SSL and the SSL
Handshake. Disponivel em: <http://developer.netscape.com/doc/manuals/security/sslin/contents.htm>.
Acesso em: 2007
NGUESSAN, D. A Model of security Menagement for Distribued Objects. Master
Thesis, UFSC-CPGCC, Florianopolis, April 2000.
NGUESSAN, D. Estudo comparativo de modelos de seguranca para computacao grid:
globus e grid 5000. PCS5732 Poli USP, Sao Paulo setembro 2006.
NGUESSAN, D.; MARTINI, J. S. C. Study and Implementation of a Solution to
Security Management for Mobile Environments Based on Tuple. icycs, 2008 The
9th International Conference for Young Computer Scientists, pp.2014-2020, 2008.
OFTA - Observatoire Francais des Techniques Avancee. Informatique Diffuse, Paris,
mai 2007
OLSEN, C. M.; NARAYANASWAMI, C. Powernap: Na Efficient Power Manage-
ment Scheme for mobile Devices. IEEE Transactions on Mobile Computing, vol. 5,
no. 7, pp. 816-28, 2006.
OMG. Wireless and Terminal Mobility in CORBA. v1.1. disponıvel em: <www.omg.org/cgi-
bin/doc?formal/2004-04-02 >, acesso em 2008.
OMG, MINIMUM. Disponivel em: <www.omg.org/cgi-bin/doc?formal/02-03-01>,
2002. Acesso em: junho 2007.
OMG Document, number 98-12-09. Security Service Specification, in CORBAser-
vices. Common Object Services Specification. 1998, disponıvel em: http://www.omg.org/.
acesso em: 2008.
OMG. Unreliable Multicast Inter-ORB protocol Request For Proposal Document
orbs/99-11-14, n]ovember 1999.
ONU217A Organisation des Nations Unies, ONU , Declaration Universelle des
Droits de lhomme, Resolution 217 A, Paris, decembre 1998
8 Referencias Bibliograficas 129
ORANGE – Syntec – Fing, Livre blanc do M2M, 2006.
ORFALI, R.; HARKEY D; EDWARDS, J. The Essential Distributed Object-Survival
Guide. John Wiley Sons, Inc, 1996.
ORFALI, R.; HARKEY, D.; EDWARDS, J. Client/Server Programming. John
Wiley Sons, Inc, 1996.
PASCOE, M. J., Adding generic Contextual Capabilities to Wearable Computers.
ISWC98, Proceeding of second IEEE International Symposium on Wearable Com-
puters, Washington, DC, Estados Unidos, IEEE Computer Society, pp. 92-99, 1998.
PALIVAN, O.; DINU, A. Incursion dans WIRELESS CORBA. Fiche ISAR mai
2005. Acesso em : setembro 2006.
PAROUX, G.; DEMEURE, I BARUCH, D. A. Survey of Middleware for Mobile
Ad-hoc Networks. Ecole Nationale superieure des Telecommunications , ENST –
France Telecom RD, 2007.
PATRICK et al. Network Security it’s Time to Take Seriously. IEEE Communica-
tions Magazine, February 1997.
PRONTO. What PRONTO offers?. Acesso em: outubro 2007.
RENE, M.; VINNY, C. Location-Aware Event-Based Middleware: A Paradigm for
Collaborative Mobile Applications. Trinity College Dublin, Ireland, 2003.
RIEBACK et al, Is your Cat infected with a Computer Virus? in 4th Annual IEEE
Int. Conf. on Pervasive Computing and Communication, PerCom 2006, Pisa, Italy
. pp. 169-179, 2006.
RAY, I. Securing Pervasive Computing Applications. TrustCom08, china, 2008.
RODDEN, T.; CHEVERSTK.d. K.; DIX A. Exploiting Context in HCI Design for
Mobile System. In Proceeding of the Workshop on Human Computer Interaction
with Mobile Devices, maio 1998.
SAMFAT, D. Achitecture de securite pour les reseaux mobiles. These de doctorat
LENST, janvier 2008.
SASTRY, N, et al. Secure Verification of location claims. in ACM Workshop on
Wireless Security, WiSe, pp, 1-10, 2003.
8 Referencias Bibliograficas 130
SATYANARAYANAN, M. Pervasive Computing : Vision and Challenges. in IEEE
Personal Communication, 2001.
SCHILIT et al The ParcTab Mobile Computing System. Proceedings of the Fourth
Workshop on Workstation Operating Systems. p. 34-39, otubro 1993.
SCHILL et al System Support for Mobile Distributed Applications. 2nd. Interna-
tional Workshop on Service in Distributed and Network Environments, Whistle,
British Columbia, June 1995.
SEKKAKI, A.; NGUESSAN, D.; MULLER M. D,; WESSTPHALL, C. B. Security
within TINA accounting architecture management. ICC 2001 – IEEE international
Conference on Communications no. 1, pp 199-203June 2001.
SOFTWIRED. Disponıvel em: <Ibus//mobile. http://www.softwired-inc.com/products/mobile/mobile.html>.
Acesso em: junho 2007.
TARI et al. Towards Cooperative Databases: The DOK Approach. Proceeding of the
International Conference on Parallel and Distributed Computing Systems. Dijon.
France. pp. 595-600, 1996.
TROELSEN, B.; SECCHI, R. Market Analysis Machine – to – Machine. Commu-
nication. in western Europe, IDC, April, 2006.
WALLACH et al. Extensible Security Architectures for Java. Proceeding of the
16th Symposium on Operating Systems Principles. Saint-Malo, pp. 116-128,1997.
WALDO, J. JavaSpace Specifications 1,0: Technical Report. Sun Microsystems.
Maco 1998.
WANT, R. System Challenges for Ubiquitous and Pervasive Computing. in Pro-
ceeding of the 27th International Conference on Software Engineering, ICSE 2005
WATERS, B.; FELTEN, E. Secure private Proofs of location. Princeton University,
Technical Report TR - 667-03, January 2003
WEBSPHERE Everyplace. Acesso em: 2007.
WEISER, M. The Computer for the Twenty-First Century. In Scientific American,
September 1991.
WEISER, M. Some Computer Science Issues in Ubiquitous Computing. In Com-
munications of ACM, july 1993.
8 Referencias Bibliograficas 131
WESTPHALL, C. M. Esquemas de Autorizacao para a Programacao Distribuıda
Combinando os Modelos de Seguranca /CORBA/Web. Monografia ( exame de
Qualificacao), UFSC-LCM Florianopolis, julho de 1998. Certificado de Registro
n. 165.663, Livro 277, Folha 4 da Fundacao Biblioteca Nacional, Ministerio da
Cultura, Escritorio de Direitos Autorais, Rio de Janeiro, 1998.
WILIAM. S. Cryptography and Networks Security Principals and Practices. IEEE
Communication magazine, july 2000.
WILLIAM S. Ciptografia e Seguranca de Rade, Princıpios e Praticas. 4a. Ed. Sao
Paulo, Pearson Prentice Hall, 2008.
WILSON D. P.; PAULO F. Engenharia de Software: Fundamentos Metodos e
Padroes. 3. Ed. Rio de janeiro, LTC, 2009.
WIRELESS. Java RMI. XU Wei et LI Zhengmao – Fiche ISAR, mai 2005, disponıvel
em : <www.infres.enst.fr/ demeure/ISAR/FICHE1/WirelessCORBA>. acesso em:
julho 2006
WYCKOFFet al T Space. Ibm systems Journal, 37(3):454-474, 1998.
YAO, D. et al. On improving the performance of Role Based Cascaded Delega-
tion. in 1st int. Conf. On Security and Privacy for Emerging Areas on IEEE
Communications Networks, Athens Greece, pp 157-70, 2005.
YONEKI, E.; BACON. J. PRONTO: Rapport technique sur Pronto. disponivel em:
< http://www.cl.cam.ac.uk/TechReports/UCAM-CL-TR-559.pdf> . Acesso em :
outubro 2006.
Recommended